前提・実現したいこと
Pythonで、PDFファイルのサイズ(A0A3)を判定したいと思っています。elifを用いていますが、うまくいきません。
PDFファイルを読み込み、PDFの.mediaBox.upperRight を取得して、その情報によってサイズを判定させるために、
if
下記例で、.mediaBox.upperRight が (3370.4, 2383.94) の場合、「A0サイズです」と出て欲しいのですが、
「A1サイズです」 と出てしまいます。
.mediaBox.upperRightは問題なく取得されていますので、if~elif文の書き方が悪いのかどうかわかりません。
ご教示の程、お願い致します。
発生している問題・エラーメッセージ
runfile('C:/Users/1080045023/Desktop/pdf_spec - コピー.py', wdir='C:/Users/1080045023/Desktop')
(3370.4, 2383.94)
A1サイズです
*** 開始 ***
*** 終了 ***
該当のソースコード
#-- coding: utf-8 --
import sys
import PyPDF2
sys.stderr.write("*** 開始 ***\n")
file_in = 'C:/tmp/A0.pdf'
pdf_first = open(file_in,'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_first)
page_a = pdf_reader.getPage(0)
print(page_a.mediaBox.upperRight)
page_a.mediaBox.upperRight = (1683.78, 1190.56)
page_a.mediaBox.upperRight = (1190.56, 841.89)
page_a.mediaBox.upperRight = (841.89, 1190.56)
page_a.mediaBox.upperRight = (3370.4, 2383.94)
page_a.mediaBox.upperRight = (2383.94, 1683.78)
if page_a.mediaBox.upperRight == (1190.56, 841.89):
print("A3サイズです")
elif page_a.mediaBox.upperRight == (841.89, 1190.56):
print("A3サイズです")
elif page_a.mediaBox.upperRight == (1683.78, 1190.56):
print("A2サイズです")
elif page_a.mediaBox.upperRight == (2383.94, 1683.78):
print("A1サイズです")
elif page_a.mediaBox.upperRight == (3370.4, 2383.94):
print("A0サイズです")
pdf_first.close()
sys.stderr.write("*** 終了 ***\n")
補足情報(FW/ツールのバージョンなど)
python3、PyPDF2ライブラリを使ってPDF操作をしています。
回答1件
あなたの回答
tips
プレビュー