本文实例讲述了Python2.7读取PDF文件的方法。分享给大家供大家参考,具体如下:
这篇文章示例代码采用的Python版本是2.7,需要下载的插件是PDFMiner,下载地址是http://www.unixuser.org/~euske/python/pdfminer/,地址里有安装方法,我就不再细说了,需要说明的是Python2只能使用PDFMiner,Python3不能使用,Python3可以使用PDFMiner3K,下载地址为https://pypi.python.org/pypi/pdfminer3k/。两种插件使用上大体相似,这里我以Python2为例,使用PDFMiner插件。代码如下:
#!/usr/bin/env python#-*- coding:utf-8 -*-from pdfminer.pdfparser import PDFParserfrom pdfminer.pdfdocument import PDFDocumentfrom pdfminer.pdfpage import PDFPagefrom pdfminer.pdfpage import PDFTextExtractionNotAllowedfrom pdfminer.pdfinterp import PDFResourceManagerfrom pdfminer.pdfinterp import PDFPageInterpreterfrom pdfminer.pdfdevice import PDFDevicefrom pdfminer.layout import LAParamsfrom pdfminer.converter import PDFPageAggregator#获取文档对象,你把algorithm.pdf换成你自己的文件名即可。fp=open("algorithm.pdf","rb")#创建一个与文档相关联的解释器parser=PDFParser(fp)#PDF文档对象doc=PDFDocument(parser)#链接解释器和文档对象parser.set_document(doc)#doc.set_paeser(parser)#初始化文档#doc.initialize("")#创建PDF资源管理器resource=PDFResourceManager()#参数分析器laparam=LAParams()#创建一个聚合器device=PDFPageAggregator(resource,laparams=laparam)#创建PDF页面解释器interpreter=PDFPageInterpreter(resource,device)#使用文档对象得到页面集合for page in PDFPage.create_pages(doc): #使用页面解释器来读取 interpreter.process_page(page) #使用聚合器来获取内容 layout=device.get_result() for out in layout: if hasattr(out, "get_text"): print out.get_text()
希望本文所述对大家Python程序设计有所帮助。
新闻热点
疑难解答