python中将pdf内容显示出来的方法
这篇文章主要介绍python中将pdf内容显示出来的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
python读取pdf文件需要使用pdfminer库,安装pdfminer库的命令如下:
pipinstallpdfminer
python读取pdf的文件如下:
#coding=utf-8importsysreload(sys)sys.setdefaultencoding('utf-8')importtimetime1=time.time()importos.pathfrompdfminer.pdfparserimportPDFParser,PDFDocumentfrompdfminer.pdfinterpimportPDFResourceManager,PDFPageInterpreterfrompdfminer.converterimportPDFPageAggregatorfrompdfminer.layoutimportLTTextBoxHorizontal,LAParamsfrompdfminer.pdfinterpimportPDFTextExtractionNotAllowedresult=[]classCPdf2TxtManager():def__init__(self):'''''Constructor'''defchangePdfToText(self,filePath):file=open(path,'rb')#以二进制读模式打开#用文件对象来创建一个pdf文档分析器praser=PDFParser(file)#创建一个PDF文档doc=PDFDocument()#连接分析器与文档对象praser.set_document(doc)doc.set_parser(praser)#提供初始化密码#如果没有密码就创建一个空的字符串doc.initialize()#检测文档是否提供txt转换,不提供就忽略ifnotdoc.is_extractable:raisePDFTextExtractionNotAllowed#创建PDf资源管理器来管理共享资源rsrcmgr=PDFResourceManager()#创建一个PDF设备对象laparams=LAParams()device=PDFPageAggregator(rsrcmgr,laparams=laparams)#创建一个PDF解释器对象interpreter=PDFPageInterpreter(rsrcmgr,device)pdfStr=''#循环遍历列表,每次处理一个page的内容forpageindoc.get_pages():#doc.get_pages()获取page列表interpreter.process_page(page)#接受该页面的LTPage对象layout=device.get_result()forxinlayout:ifhasattr(x,"get_text"):#printx.get_text()result.append(x.get_text())fileNames=os.path.splitext(filePath)withopen(fileNames[0]+'.txt','wb')asf:results=x.get_text()print(results)f.write(results+'\n')if__name__=='__main__':'''''解析pdf文本,保存到txt文件中'''path=u'C:/data3.pdf'pdf2TxtManager=CPdf2TxtManager()pdf2TxtManager.changePdfToText(path)#printresult[0]time2=time.time()printu'ok,解析pdf结束!'printu'总共耗时:'+str(time2-time1)+'s'
pdf文件如下:
python读取结果如下:
以上是python中将pdf内容显示出来的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。