4

PDFからすべての形式の画像を抽出しようとしています。グーグルで調べたところ、StackOverflowでこのページが見つかりました。このコードを試しましたが、次のエラーが発生します。

私はpython 3.xを使用しています。これが私が使用しているコードです。コメントを調べてみましたが、わかりませんでした。これを解決するのを手伝ってください。

サンプルPDFはこちら。

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()

私はいくつかのコメントを読んでリンクをたどっていましたが、この問題はこのページで解決されていることがわかりました。誰かがそれを実装するのを手伝ってもらえますか?

4

3 に答える 3