我正在尝试提取 PDF 中的图像。我正在使用的文件是 2 页以上。第 1 页是文本,第 2-n 页是图像(每页一个,或者它可能是跨多个页面的单个图像;我无法控制原点)。
我能够从第 1 页解析出文本,但是当我尝试获取图像时,每个图像页面都会获得 3 个图像。我无法确定难以保存的图像类型。此外,尝试将每页 3 张图片保存为单个 img 不会提供任何结果(因为无法通过 OSX 上的 finder 打开)
样本:
fp = open('the_file.pdf', 'rb')
parser = PDFParser(fp)
document = PDFDocument(parser)
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in PDFPage.create_pages(document):
interpreter.process_page(page)
pdf_item = device.get_result()
for thing in pdf_item:
if isinstance(thing, LTImage):
save_image(thing)
if isinstance(thing, LTFigure):
find_images_in_thing(thing)
def find_images_in_thing(outer_layout):
for thing in outer_layout:
if isinstance(thing, LTImage):
save_image(thing)
save_image
pageNum_imgNum
在模式中以格式为每个图像写入一个文件,'wb'
或者在模式中为每页写入一个图像'a'
。我尝试了许多文件扩展名,但都没有成功。
我研究过的资源:
http://denis.papathanasiou.org/posts/2010.08.04.post.html(过时的 pdfminer 版本) http://nedbatchelder.com/blog/200712/extracting_jpgs_from_pdfs.html