pdfからすべての画像形式を抽出しようとしています。私はいくつかのグーグルを行い、StackOverflowのthis pageを見つけました。私はこのコードを試してみましたが、私はこのエラーを取得しています:pythonでPDFから画像を抽出中にエラーが発生しました
私はPythonの3.xを使用し、ここで私が使用していたコードでいます。私はコメントを通そうとしましたが、理解できませんでした。これを解決するのを手伝ってください。ここで
import PyPDF2
from PIL import Image
if __name__ == '__main__':
input1 = PyPDF2.PdfFileReader(open("Aadhaar1.pdf", "rb"))
page0 = input1.getPage(0)
xObject = page0['/Resources']['/XObject'].getObject()
for obj in xObject:
if xObject[obj]['/Subtype'] == '/Image':
size = (xObject[obj]['/Width'], xObject[obj]['/Height'])
data = xObject[obj].getData()
if xObject[obj]['/ColorSpace'] == '/DeviceRGB':
mode = "RGB"
else:
mode = "P"
if xObject[obj]['/Filter'] == '/FlateDecode':
img = Image.frombytes(mode, size, data)
img.save(obj[1:] + ".png")
elif xObject[obj]['/Filter'] == '/DCTDecode':
img = open(obj[1:] + ".jpg", "wb")
img.write(data)
img.close()
elif xObject[obj]['/Filter'] == '/JPXDecode':
img = open(obj[1:] + ".jp2", "wb")
img.write(data)
img.close()
である私はいくつかのコメントを読んで、リンクを通過するとthis pageに解決し、この問題を発見しました。誰かがそれを実装するのを助けてくれますか?
入力PDFも入力できますか?使用しているコードやファイルで発生している問題を再現することができれば、はるかに簡単です。 – Gary02127
@ Gary02127遅く返事をして申し訳ありません。私の場所にあるGary.Networkはダウンしていました。私は複数のPDFを試してみましたが、同じエラーが発生しました。しかし、サンプルPDFで質問を編集しました。 – john
PDFが画像に使用しているフィルタは、使用しているライブラリ 'PyPDF2 'でサポートされていないようです。私は、このフィルターを含む他のPDFリーダーを認識していませんが、そこにいる可能性があります。私は専門家ではありません。 – physicalattraction