実現したいこと
PDFファイルの全ページを画像ファイル(png又はjpeg)に変換したいです。
解決方法をお知りの方がいらっしゃいましたらよろしくお願いいたします。
発生しているエラーメッセージ
TypeError: 'PngImageFile' object is not iterable
該当のソースコード
python3
1from pdf2image import convert_from_path 2from PIL import Image 3 4images = convert_from_path(pdf_path= '~.pdf',poppler_path='/usr/local/Cellar/poppler/0.79.0/bin') 5for image in images: 6 image.save('~.png', 'png') #ここでエラー発生
試したこと
'PngImageFile' object is not iterable と言われているので、jpegに変換しようとしても同じエラーが出ました。また、for文でなく、以下の通りenumerateでトライしてみましたが同じエラーが出ました(参考にしたサイト1)。formatは省略可能のようなので入れる意味はないかもしれません(参考にしたサイト2)。
for idx, page in enumerate(images): page.save('~.jpg'.format(idx+1), 'JPEG')
参考にしたサイト:
0. https://teratail.com/questions/164621(こちらの環境はwindowsです。)
0. https://water2litter.net/rum/post/python_pil_anime_file/
補足情報(FW/ツールのバージョンなど)
以下のシンプルなコードですと、最初のページしか画像に変換できないことを確認してしています。
python3
1from pdf2image import convert_from_path 2from PIL import Image 3 4images = convert_from_path(pdf_path= '~.pdf',poppler_path='/usr/local/Cellar/poppler/0.79.0/bin') 5images.save('~png', 'png')
環境
- Python 3.7.3
- macOS 10.14.6
回答1件
あなたの回答
tips
プレビュー