python实现读取pdf格式文档
文章目录
- 一、 准备工作
- 二、部分变量的含义
- 三、PDFMiner类之间的关系
- 四、代码实现
python实现读取pdf格式文档
一、 准备工作
安装对应的库pip install pdfminer3kpip install pdfminer.six
二、部分变量的含义
PDFDocument(pdf文档对象)
PDFPageInterpreter(解释器)
PDFParser(pdf文档分析器)
PDFResourceManager(资源管理器)
PDFPageAggregator(聚合器)
LAParams(参数分析器)
三、PDFMiner类之间的关系

PDFMiner的相关文档(点击跳转)
四、代码实现
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# datetime:2021/3/17 12:12
# software: PyCharm
# version: python 3.9.2def changePdfToText(filePath):"""解析pdf 文本,保存到同名txt文件中param:filePath: 需要读取的pdf文档的目录introduced module:from pdfminer.pdfpage import PDFPagefrom pdfminer.pdfparser import PDFParserfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterfrom pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LAParamsfrom pdfminer.pdfdocument import PDFDocument, PDFTextExtractionNotAllowedimport os.path"""file = open(filePath, 'rb') # 以二进制读模式打开# 用文件对象来创建一个pdf文档分析器praser = PDFParser(file)# 创建一个PDF文档doc = PDFDocument(praser, '') # praser :上面创建的pdf文档分析器 ,第二个参数是密码,设置为空就好了# 连接分析器 与文档对象praser.set_document(doc)# 检测文档是否提供txt转换,不提供就忽略if not doc.is_extractable:raise PDFTextExtractionNotAllowed# 创建PDf 资源管理器 来管理共享资源rsrcmgr = PDFResourceManager()# 创建一个PDF设备对象laparams = LAParams()device = PDFPageAggregator(rsrcmgr, laparams=laparams)# 创建一个PDF解释器对象interpreter = PDFPageInterpreter(rsrcmgr, device)result = [] # 内容列表# 循环遍历列表,每次处理一个page的内容for page in PDFPage.create_pages(doc):interpreter.process_page(page)# 接受该页面的LTPage对象layout = device.get_result()for x in layout:if hasattr(x, "get_text"):result.append(x.get_text())fileNames = os.path.splitext(filePath) # 分割# 以追加的方式打开文件with open(fileNames[0] + '.txt', 'a', encoding="utf-8") as f:results = x.get_text()# print(results) 这个句可以取消注释就可以在控制台将所有内容输出了f.write(results) # 写入文件# 调用示例 :# path = u'E:\\1.pdf'
# changePdfToText(path)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
