男女做暧暧试看网站,简单好看的版面设计图,动画制作软件ae,仿牌网站安全本文实例讲述了Python解析并读取PDF文件内容的方法。分享给大家供大家参考#xff0c;具体如下#xff1a;一、问题描述利用python#xff0c;去读取pdf文本内容。二、效果三、运行环境python2.7四、需要安装的库pip install pdfminer五、实现源代码代码1(win64)# codingutf…本文实例讲述了Python解析并读取PDF文件内容的方法。分享给大家供大家参考具体如下一、问题描述利用python去读取pdf文本内容。二、效果三、运行环境python2.7四、需要安装的库pip install pdfminer五、实现源代码代码1(win64)# codingutf-8import sysreload(sys)sys.setdefaultencoding(utf-8)import timetime1time.time()import os.pathfrom pdfminer.pdfparser import PDFParser,PDFDocumentfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterfrom pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LTTextBoxHorizontal,LAParamsfrom pdfminer.pdfinterp import PDFTextExtractionNotAllowedresult[]class CPdf2TxtManager():def __init__(self):Constructordef changePdfToText(self, filePath):file open(path, rb) # 以二进制读模式打开#用文件对象来创建一个pdf文档分析器praser PDFParser(file)# 创建一个PDF文档doc PDFDocument()# 连接分析器 与文档对象praser.set_document(doc)doc.set_parser(praser)# 提供初始化密码# 如果没有密码 就创建一个空的字符串doc.initialize()# 检测文档是否提供txt转换不提供就忽略if not doc.is_extractable:raise PDFTextExtractionNotAllowed# 创建PDf 资源管理器 来管理共享资源rsrcmgr PDFResourceManager()# 创建一个PDF设备对象laparams LAParams()device PDFPageAggregator(rsrcmgr, laparamslaparams)# 创建一个PDF解释器对象interpreter PDFPageInterpreter(rsrcmgr, device)pdfStr # 循环遍历列表每次处理一个page的内容for page in doc.get_pages(): # doc.get_pages() 获取page列表interpreter.process_page(page)# 接受该页面的LTPage对象layout device.get_result()for x in layout:if hasattr(x, get_text):# print x.get_text()result.append(x.get_text())fileNames os.path.splitext(filePath)with open(fileNames[0] .txt,wb) as f:results x.get_text()print(results)f.write(results \n)if __name__ __main__:解析pdf 文本保存到txt文件中path uC:/data3.pdfpdf2TxtManager CPdf2TxtManager()pdf2TxtManager.changePdfToText(path)# print result[0]time2 time.time()print uok,解析pdf结束!print u总共耗时 str(time2 - time1) s代码2(win32)# codingutf-8import sysreload(sys)sys.setdefaultencoding(utf-8)import timetime1time.time()import os.pathfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterfrom pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LAParamsfrom pdfminer.pdfpage import PDFTextExtractionNotAllowedfrom pdfminer.pdfparser import PDFParserfrom pdfminer.pdfdocument import PDFDocumentfrom pdfminer.pdfpage import PDFPageresult[]class CPdf2TxtManager():def __init__(self):Constructordef changePdfToText(self, filePath):file open(path, rb) # 以二进制读模式打开#用文件对象来创建一个pdf文档分析器praser PDFParser(file)# 创建一个PDF文档doc PDFDocument(praser)# 检测文档是否提供txt转换不提供就忽略if not doc.is_extractable:raise PDFTextExtractionNotAllowed# 创建PDf 资源管理器 来管理共享资源rsrcmgr PDFResourceManager()# 创建一个PDF设备对象laparams LAParams()device PDFPageAggregator(rsrcmgr, laparamslaparams)# 创建一个PDF解释器对象interpreter PDFPageInterpreter(rsrcmgr, device)pdfStr # 循环遍历列表每次处理一个page的内容for page in PDFPage.create_pages(doc): # doc.get_pages() 获取page列表interpreter.process_page(page)# 接受该页面的LTPage对象layout device.get_result()for x in layout:if hasattr(x, get_text):# print x.get_text()result.append(x.get_text())fileNames os.path.splitext(filePath)with open(fileNames[0] .txt,wb) as f:results x.get_text()print(results)f.write(results \n)if __name__ __main__:解析pdf 文本保存到txt文件中path uC:/36.pdfpdf2TxtManager CPdf2TxtManager()pdf2TxtManager.changePdfToText(path)# print result[0]time2 time.time()print uok,解析pdf结束!print u总共耗时 str(time2 - time1) s