python3安装pdfminer并使用
2024-09-02 07:38:57
1.python3不同与2版本不能使用pdfminer
pip install pdfminer3k
2.使用pdfminer解析相应文档并保存到相应的文件夹中
# encoding : udf-8 """
解析pdf文本保存到txt文件中
"""
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBoxHorizontal
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed, PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfparser import PDFDocument, PDFParser path = 'E:\\force.pdf' def parse():
fp = open(path, 'rb') # 以二进制读模式打开
praser = PDFParser(fp)
# 创建一个PDF文档
doc = PDFDocument()
# 连接分析器 与文档对象
praser.set_document(doc)
doc.set_parser(praser) # 提供初始化密码
# 如果没有密码 就创建一个空的字符串
doc.initialize() # 检测文档是否提供txt转换,不提供就忽略
if not doc.is_extractable:
raise PDFTextExtractionNotAllowed
else:
# 创建PDf 资源管理器 来管理共享资源
rsrcmgr = PDFResourceManager()
# 创建一个PDF设备对象
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
# 创建一个PDF解释器对象
interpreter = PDFPageInterpreter(rsrcmgr, device) # 循环遍历列表,每次处理一个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 isinstance(x, LTTextBoxHorizontal):
with open(r'E:\\pdf\1.txt', 'a') as f:
results = x.get_text()
print(results)
f.write(results + '\n') if __name__ == '__main__':
parse()
最新文章
- java 字符串判断是否相等
- 关于在Eclipse中运行java程序报出:The project:XXXX which is referenced by the classpath10
- Ali相关面试题
- 增量更新项目时的备份MyBak
- FIR系统的递归与非递归实现
- java中String类、StringBuilder类和StringBuffer类详解
- Inside of Jemalloc
- 也用 Log4Net 之将日志记录到数据库的后台实现 (二)
- ThreadPoolExecutor 线程池的实现
- linux下实现两人、三人无序对话功能
- Eclipse上运行Python,使用PyDev
- jQuery如何实现点击页面获得当前点击元素
- TCP札记
- 磊哥测评之数据库SaaS篇:腾讯云控制台、DMC和小程序
- Delphi 带星期几的日期格式化
- flume初识
- Python打印矩形、直角三角形、等腰三角形、菱形
- facebook api &; oauth protocal
- 一个死去的网站shige.laiyo.com
- C/C++ -- Gui编程 -- Qt库的使用 -- Qt编码问题
热门文章
- php-fpm的执行方式 (进程管理模式)
- mysql 5.1.34
- Git009--分支管理&;创建与合并分支
- Junit测试错误:### Error building SqlSession
- JDK动态代理和CGLIB动态代理编码
- Uncaught TypeError: Cannot set property onclick' of null
- Codeforces 1097D (DP+分解质因数)
- 在Eclipse的kepler中执行OSGIproject出错的解决方式
- mysql处理重复数据仅保留一条记录
- windows下安装oracle11g