質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

6079閲覧

PythonでPDFファイルの仕分けをしたい。

monopoly_man

総合スコア9

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/02/04 04:30

前提・実現したいこと

仮にA4、A3、その他のサイズで校正されている1つのPDFファイルがあったとして、
これを、A4モノクロ、A4カラー、A3モノクロ、A3カラー、その他モノクロ、その他カラーの6種のPDFに仕分けをしたいと考えております。

発生している問題・エラーメッセージ

そもそもPythonで可能なのか?ご教授願います。

エラーメッセージ

### 該当のソースコード ```ここに言語名を入力 ソースコード

試したこと

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

多分可能です。

まず、紙面サイズは以下のようにして取れました。

python3

1from PyPDF2.pdf import PdfFileReader 2 3template_path = r'C:\Users\xxx.pdf' # ファイルのパス 4reader = PdfFileReader(template_path) 5existing_page = reader.getPage(0) 6page_width = existing_page.mediaBox.getWidth() 7page_height = existing_page.mediaBox.getHeight() 8 9print(page_height, page_width) 10# 842 595.22

サイズの読み方は、下記など参考に。
[PDF] PDF形式のファイルの用紙サイズを調べる方法は?

色については、同様にColorSpaceの情報を取得すれば良いようですが、下記URLのdef getColorSpace(obj):の内容とかは参考になりそうです。
Improve Python3 compatibility and image extraction script
PDF詳しくないのであれですが、画像とかのオブジェクトごとに色空間を設定しているようですね。

全ページを取得する場合 追記6/1

python3

1with open(FILE_PATH, mode='rb') as f: 2 reader = PyPDF2.PdfFileReader(f) 3 for page in reader.pages: 4 # 処理

ディレクトリ内のPDFにすべて処理を行う場合
「python ディレクトリ ファイル ループ」とかでググると色々出ます。

python3

1for filename in os.listdir(dir_path): 2 if os.path.splitext(filename)[1] != ".pdf": 3 # 処理

投稿2020/02/04 05:29

編集2020/06/01 07:40
jeanbiego

総合スコア3966

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

monopoly_man

2020/06/01 07:26 編集

ぺん様 返信が遅れて申し訳ありません。 サイズは取得することができました。モノクロ/カラーに関しては難航していますが、 それ以前に、getPage()を使用すると1ページしかサイズを取得することが出来ません。 1ファイルに複数ページある場合やディレクトリ内にあるPDFファイル全てを対象に処理を行う場合は どのように対応すれば良いのでしょうか?本やサイトで調べましたがこれといった解決策が見つかりませんでした。 初歩的な質問で申し訳ありませんがご教授願います。
jeanbiego

2020/06/01 07:41

追記しました。 それぞれ試していただいてまた疑問点がありましたら、個別に質問立ててもらったほうが効率的かなと思います。
monopoly_man

2020/06/01 08:40

ぺん様 早々のご返答ありがとうございます。 解決出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問