使用pdfminer提取PDF文件中的文字

和word文档一样,pdf文件也拥有强大的排版功能。对于pdf的编程操作而言,分为读和写两大类,其中读是相对简单的一种,比如读出pdf文件中的文字,写是比较难的,除了文字,图片等基本元素,最重要的是排版的样式控制,而编程还无法满足样式的灵活性。

本文主要介绍pdf读取操作中的一种应用,从PDF文件中提取文字,可以通过pdfminer模块来实现,安装方式如下

pip install pdfminer
该模块同时还提供了一种,命令行的脚本程序,可以方便的提取pdf中的文字,用法如下
python pdf2txt.py input.pdf

如果提取出文字之后,需要进一步操作,最好还是通过脚本对程序进行处理,在脚本中实现文字提取的代码如下

>>> from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
>>> from pdfminer.converter import TextConverter
>>> from pdfminer.pdfpage import PDFPage
>>> rsrcmgr = PDFResourceManager()
>>> outfp = open('pdf.text', 'w', encoding='utf-8')
>>> device = TextConverter(rsrcmgr, outfp)
>>> with open('input.pdf', 'rb') as fp:
...     interpreter = PDFPageInterpreter(rsrcmgr, device)
...     for page in PDFPage.get_pages(fp):
...         interpreter.process_page(page)
...
>>> device.close()
>>> outfp.close()

只需要简单的十几行代码,就可以提取出对应的文字,然后再根据需求进行后续处理,比如将提取出的文字, 利用python-docx模块输入到word文档中,从而实现pdf到word文档的转换,也可以提取pdf中的表格文字,写入到excel中。

·end·
(0)

相关推荐