• 依赖包:pdfminer3k
可以通过pip安装;也可以到官网https://pypi.python.org/pypi/pdfminer3k下载,解压,进入文件夹,输入命令setup.py install安装软件。
  • 源代码
#!/usr/bin/python
# -*- coding: utf-8 -*-import sys
import importlib
importlib.reload(sys)from pdfminer.pdfparser import PDFParser,PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import *
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed'''
解析pdf文件,获取文件中包含的各种对象
'''# 解析pdf文件函数
def parse(pdf_path):fp = open(pdf_path, 'rb')  # 以二进制读模式打开# 用文件对象来创建一个pdf文档分析器parser = PDFParser(fp)# 创建一个PDF文档doc = PDFDocument()# 连接分析器 与文档对象parser.set_document(doc)doc.set_parser(parser)# 提供初始化密码# 如果没有密码 就创建一个空的字符串doc.initialize()# 检测文档是否提供txt转换,不提供就忽略if not doc.is_extractable:raise PDFTextExtractionNotAllowedelse:# 创建PDf 资源管理器 来管理共享资源rsrcmgr = PDFResourceManager()# 创建一个PDF设备对象laparams = LAParams()device = PDFPageAggregator(rsrcmgr, laparams=laparams)# 创建一个PDF解释器对象interpreter = PDFPageInterpreter(rsrcmgr, device)# 用来计数页面,图片,曲线,figure,水平文本框等对象的数量num_page, num_image, num_curve, num_figure, num_TextBoxHorizontal = 0, 0, 0, 0, 0# 循环遍历列表,每次处理一个page的内容for page in doc.get_pages(): # doc.get_pages() 获取page列表num_page += 1  # 页面增一interpreter.process_page(page)# 接受该页面的LTPage对象layout = device.get_result()for x in layout:if isinstance(x,LTImage):  # 图片对象num_image += 1if isinstance(x,LTCurve):  # 曲线对象num_curve += 1if isinstance(x,LTFigure):  # figure对象num_figure += 1if isinstance(x, LTTextBoxHorizontal):  # 获取文本内容num_TextBoxHorizontal += 1  # 水平文本框对象增一# 保存文本内容with open(r'test.doc', 'a',encoding='utf-8') as f:    #生成doc文件的文件名及路径results = x.get_text()f.write(results)f.write('\n')print('对象数量:\n','页面数:%s\n'%num_page,'图片数:%s\n'%num_image,'曲线数:%s\n'%num_curve,'水平文本框:%s\n'%num_TextBoxHorizontal)if __name__ == '__main__':pdf_path = r'test.pdf'  #pdf文件路径及文件名parse(pdf_path)

**此脚本只能将pdf文件转换成纯文本文件,没有任何格式。

python实现pdf转word/txt相关推荐

  1. python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...

    在日常工作或学习中,经常会遇到这样的无奈: "小任,你把这个PDF中的文件码出来发我" 倒霉,2M的PDF12点也完不了啊! 很多时候在学习时发现许多文档都是PDF格式,PDF格式 ...

  2. Python办公自动化(八)|使用Python转换PDF,Word/Excel/PPT/md/HTML都能转

    Word转PDF Word转PDF应该是最常见的需求了,毕竟使用PDF格式可以更方便展示文档,虽然在Word中可以直接导出为PDF格式,但是使用Python可以批量转换,更加高效. 目前在Python ...

  3. 用Python把PDF转为Word方法总结

    先讲一下为啥要写这个文章,网上其实很多这种PDF转化的代码和软件.我一直想用Python做,但是网上搜到的代码很多都不能用,很多是2.7版本的代码,再就是PDF需要用到的库在导入的时候,很多的报错,解 ...

  4. pdf转word python_【python】python实现PDF转word

    又是美好的一天,如果大家因为PDF转word而烦恼的话可以尝试用用Python的PDFMiner3K,这是一个非常好用的库,下面是把任意PDF读成字符串,然后用stingio转化成文件对象: #!/u ...

  5. 6行代码!用Python将PDF转为word

    pdf转word应该算是一个很常见的需求了网上有些免费的转换工具,一方面不安全,有文件泄露风险,另一方面有免费转换的次数限制. 今天向大家分享一个很好用的工具:pdf2docx 安装 $ pip in ...

  6. 文末福利|使用Python转换PDF,Word/Excel/PPT/md/HTML都能转!

    往期精选 Python办公自动化|从Word到Excel Python办公自动化|从Excel到Word Python办公自动化|对比文件,光速完成 Python办公自动化|Excel表格,自动更新 ...

  7. python读取pdf内容转word_【python】python实现PDF转word

    又是美好的一天,如果大家因为PDF转word而烦恼的话可以尝试用用Python的PDFMiner3K,这是一个非常好用的库,下面是把任意PDF读成字符串,然后用stingio转化成文件对象: #!/u ...

  8. 使用Python转换PDF,Word/Excel/PPT/md/HTML都能转!

    同一个操作执行两次,就要考虑自动化! 大家好,又到了Python办公自动化专题. 今天讲的是各位一定会接触到的PDF转换,关于各种格式的文件转换为PDF有很多第三方工具与网站可以实现,但是使用Pyth ...

  9. python把excel变成ppt_【转】使用Python转换PDF,Word/Excel/PPT/md/HTML都能转!

    今天讲的是各位一定会接触到的PDF转换,关于各种格式的文件转换为PDF有很多第三方工具与网站可以实现,但是使用Python的好处不仅可以批量转换,同时一旦脚本写完了以后就可以一键执行,彻底解放双手,那 ...

最新文章

  1. Android Studio下的目录结构
  2. 【音视频安卓开发 (四)】AndroidStudio项目配置权限、jni库路径、ABI
  3. 外点罚函数matlab程序_关于图像轮廓识别的程序实现
  4. (模电笔记二 By Multisim)波特图(Bode Plotter)幅频特性相频特性详解
  5. 如何注册谷歌账号、邮箱(22.8.23亲测可用)
  6. UVALive 4670 Dominating Patterns(AC自动机)
  7. How to make seperate debuginfo file
  8. 谈谈B端、C端、G端的产品区别
  9. 前端websockt可重连功能的插件
  10. JavaScript学习(十八)--鼠标事件(鼠标点击松开移动效果)
  11. 基于撮合交易的物流产业信息化
  12. angularjs学习总结 详细教程(转载)
  13. 如何在.NET程序崩溃时自动创建Dump?
  14. 纯javascript实现赛车小游戏
  15. qq2009显ip复活版_Excel复活节日期和IP地址
  16. C语言 软件测试,C语言运算符 - 软件测试网 _领测软件测试网站-中国软件测试技术第一门户...
  17. iOS中,系统相册的那些事
  18. 从618看京东即时零售的野心
  19. 脱壳练习(2)-最新免费版梆梆加固脱壳笔记
  20. Python学习笔记(一):Pandas中的数据结构

热门文章

  1. 什么是最好的Golang IDE?
  2. Linux源码的目录结构和Linux文件系统的目录结构
  3. 使用MyBatis实现增删改查遇到的异常解决方法
  4. 跟着官方帮助文档学ICEM网格划分(附视频教程)
  5. CMake中使用vcpkg
  6. PHP爬取汽车品牌数据《三》
  7. IDEA中上传Java项目到Gitee中
  8. 传统PCNN算法python实现
  9. RK3399平台开发系列讲解(内核入门篇)1.46、RTC驱动开发
  10. win7 家庭组连接 使用用户账号和密码连接到其他计算机,win7密码正确不能加入家庭组...