和word文档一样,pdf文件也拥有强大的排版功能。对于pdf的编程操作而言,分为读和写两大类,其中读是相对简单的一种,比如读出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·
一个只分享干货的
生信公众号