私はPython/Djangoを使用しています。
私の現在のpdfを読むためのPyPDF2。
PyPDF2を使用してPdfオリエンテーションを取得する方法
私が保存したpdfを読んで、pdf内の1ページの向きを取得します。
ページが横向きか縦長かを判断できることを期待しています。
tempoutpdffilelocation = settings.TEMPLATES_ROOT + nameOfFinalPdf
pageOrientation = pageToEdit.mediaBox
pdfOrientation = PdfFileReader(file(temppdffilelocation, "rb"))
# tempPdfOrientationPage = pdfOrientation.getPage(numberOfPageToEdit).mediaBox
print("existing pdf width: ")
# print(existing_pdf.getPage(numberOfPageToEdit).getWidth)
# print("get page size with rotation")
# print(tempPdfOrientationPage.getPageSizeWithRotation)
existing_pdf = pdfOrientation.getPage(numberOfPageToEdit).mediaBox
# print(pageOrientation)
if pageOrientation.getUpperRight_x() - pageOrientation.getUpperLeft_x() > pageOrientation.getUpperRight_y() - pageOrientation.getLowerRight_y():
print('Landscape')
print(pageOrientation)
# print(pdfOrientation.getWidth())
else:
print('Portrait')
print(pageOrientation)
# print(pdfOrientation.getWidth())
# create a new PDF with Reportlab
can = canvas.Canvas(packet, pagesize=letter)
私は私の現在のPDFに基づいて決定したいページサイズ=レターを設定する最後の行。
そして、ここに私の輸入です:
from PyPDF2 import PdfFileWriter, PdfFileReader
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter, landscape
import urllib
私はpyPdf .mediaBoxを試みたが、それは常に期待されるファイルのサイズではなく、実際のサイズと同じ値を返します。そしてpyPdfは時代遅れです。 ご覧のとおり、getWidthとwithRotationも試してみました。
私は、PyPDF2 PdfFileReaderが選択したオブジェクトの向きを決定する簡単な方法があると思います。
何か助けていただければ幸いです。ありがとう。