python实现pdf转换成word/txt纯文本文件


Posted in Python onJune 07, 2018

本文实例为大家分享了python实现pdf转word/txt,供大家参考,具体内容如下

依赖包:pdfminer3k

可以通过pip安装;也可以到官网下载,解压,进入文件夹,输入命令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 PDFTextExtractionNotAllowed 
  else: 
    # 创建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 += 1 
        if isinstance(x,LTCurve): # 曲线对象 
          num_curve += 1 
        if isinstance(x,LTFigure): # figure对象 
          num_figure += 1 
        if 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 相关文章推荐
Python入门篇之对象类型
Oct 17 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
Nov 11 Python
python中使用PIL制作并验证图片验证码
Mar 15 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
Jun 10 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
Python装饰器原理与基本用法分析
Jan 07 Python
python实现拼图小游戏
Feb 22 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
详解Python的爬虫框架 Scrapy
Aug 03 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 Python
Python实现调用另一个路径下py文件中的函数方法总结
Jun 07 #Python
python生成ppt的方法
Jun 07 #Python
python实现按长宽比缩放图片
Jun 07 #Python
python实现批量修改图片格式和尺寸
Jun 07 #Python
python实现批量图片格式转换
Jun 16 #Python
python脚本实现验证码识别
Jun 07 #Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 #Python
You might like
php is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
php构造函数实例讲解
2013/11/13 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
YUI的Tab切换实现代码
2010/04/11 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
Python正则表达式使用范例分享
2016/12/04 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
Python字典的核心底层原理讲解
2019/01/24 Python
python开发之anaconda以及win7下安装gensim的方法
2019/07/05 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
python 字符串常用函数详解
2019/09/11 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
比利时香水网上商店:NOTINO
2018/03/28 全球购物
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
会计系个人求职信范文分享
2013/12/20 职场文书
公司新员工的演讲稿注意事项
2014/01/01 职场文书
检察官就职演讲稿
2014/01/13 职场文书
关于期中考试的反思
2014/02/02 职场文书
信息合作协议书
2014/10/09 职场文书
学校师德师风整改方案
2014/10/28 职场文书
担保书范本
2015/01/20 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
环保宣传语大全
2015/07/13 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
您对思维方式了解多少?
2019/12/09 职场文书