我正在尝试从 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()
我正在阅读一些评论并浏览链接,发现此问题已在此页面上解决上解决了。有人可以帮我实现吗?