【发布时间】:2016-07-11 22:41:58
【问题描述】:
我正在尝试提取 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 在'wb' 模式下以pageNum_imgNum 格式为每个图像写入一个文件,或者在'a' 模式下每页写入一个图像。我尝试了许多文件扩展名,但都没有成功。
我研究过的资源:
http://denis.papathanasiou.org/posts/2010.08.04.post.html(过时的 pdfminer 版本) http://nedbatchelder.com/blog/200712/extracting_jpgs_from_pdfs.html
【问题讨论】:
标签: python-2.7 pdfminer