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()

最新文章

  1. java 字符串判断是否相等
  2. 关于在Eclipse中运行java程序报出:The project:XXXX which is referenced by the classpath10
  3. Ali相关面试题
  4. 增量更新项目时的备份MyBak
  5. FIR系统的递归与非递归实现
  6. java中String类、StringBuilder类和StringBuffer类详解
  7. Inside of Jemalloc
  8. 也用 Log4Net 之将日志记录到数据库的后台实现 (二)
  9. ThreadPoolExecutor 线程池的实现
  10. linux下实现两人、三人无序对话功能
  11. Eclipse上运行Python,使用PyDev
  12. jQuery如何实现点击页面获得当前点击元素
  13. TCP札记
  14. 磊哥测评之数据库SaaS篇:腾讯云控制台、DMC和小程序
  15. Delphi 带星期几的日期格式化
  16. flume初识
  17. Python打印矩形、直角三角形、等腰三角形、菱形
  18. facebook api & oauth protocal
  19. 一个死去的网站shige.laiyo.com
  20. C/C++ -- Gui编程 -- Qt库的使用 -- Qt编码问题

热门文章

  1. php-fpm的执行方式 (进程管理模式)
  2. mysql 5.1.34
  3. Git009--分支管理&创建与合并分支
  4. Junit测试错误:### Error building SqlSession
  5. JDK动态代理和CGLIB动态代理编码
  6. Uncaught TypeError: Cannot set property onclick' of null
  7. Codeforces 1097D (DP+分解质因数)
  8. 在Eclipse的kepler中执行OSGIproject出错的解决方式
  9. mysql处理重复数据仅保留一条记录
  10. windows下安装oracle11g