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

本文实例为大家分享了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文件转换成纯文本文件,没有任何格式。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python多图片合并PDF的方法

    python多图片合并pdf 起因 一个做美工的朋友需要将多个图片jpg .png 合并起来,PS操作太慢了所以用了python进行完成这个任务 代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @File : 2.py # @Author: huifer # @Date : 2018/12/20 from PIL import Image import os def rea(pdf_name): file_list = os.listdir(

  • python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总结了三种遍历目录的方法,分别如下. 2.1.调用glob 遍历指定目录下的所有文件和文件夹,不递归遍历,需要手动完成递归遍历功能. import glob as gb path = gb.glob('d:\\2\\*') for path in path: print path 2.2.调用os.w

  • python基于pdfminer库提取pdf文字代码实例

    安装pdfminer 库 windows 下安装pdfminer3k pip install pdfminer3k Liunx 下安装pdfminer pip install pdfminer 代码 from pdfminer.pdfparser import PDFParser, PDFDocument from pdfminer.converter import PDFPageAggregator from pdfminer.layout import LAParams, LTTextBox

  • python word转pdf代码实例

    原理 使用python win32 库 调用word底层vba,将word转成pdf 安装pywin32 pip install pywin32 python代码 from win32com.client import gencache from win32com.client import constants, gencache def createPdf(wordPath, pdfPath): """ word转pdf :param wordPath: word文件路径

  • python实现word 2007文档转换为pdf文件

    在开发过程中,会遇到在命令行下将DOC文档(或者是其他Office文档)转换为PDF的要求.比如在项目中如果手册是DOC格式的,在项目发布时希望将其转换为PDF格式,并且保留DOC中的书签,链接等.将该过程整合到构建过程中就要求命令行下进行转换. Michael Suodenjoki展示了使用Office的COM接口进行命令行下的转换.但其导出的PDF文档没有书签.在Office 2007 SP2中,微软加入了该功能,对应的接口是ExportAsFixedFormat.该方法不仅适用于Word,

  • 对Python中gensim库word2vec的使用详解

    pip install gensim安装好库后,即可导入使用: 1.训练模型定义 from gensim.models import Word2Vec model = Word2Vec(sentences, sg=1, size=100, window=5, min_count=5, negative=3, sample=0.001, hs=1, workers=4) 参数解释: 1.sg=1是skip-gram算法,对低频词敏感:默认sg=0为CBOW算法. 2.size是输出词向量的维数,值

  • python-docx修改已存在的Word文档的表格的字体格式方法

    搞了好几天的表格字体格式,一直想找一种能直接一次性修改表格所有字体格式的方法(函数),但是无论用什么方法都无法修改表格字体的格式,原因应该是已存在的文档本身就具有某种格式限制,制约着里面表格里面字体格式的更改,直接用类似:table.style.font.name='Arial',table.style.font.size = 120000-.之类的函数是不能更改表格的字体格式的(PS:可能该功能在开发中,也可能我没找到对应直接修改整个表格里面字体的方法) 但是后来发现表格里面用run = ad

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

    本文实例为大家分享了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

  • Python实现pdf文档转txt的方法示例

    本文实例讲述了Python实现pdf文档转txt的方法.分享给大家供大家参考,具体如下: 首先,这是一个比较粗糙的版本,因为已经够用了,而且对pdf的格式不熟悉,所以暂时没有进一步优化. 还有,这是转成txt的,所以如果是有图片的pdf是无法保存图片的. 至于本来就是图片的文本,这里是无法分析出来的.那些图片的pdf,估计要用图形匹配的方式来处理,类似于超速拍摄的车牌识别. 不过这样的程度,已经不是文本处理了.扯远了... 转出来的文字,好像按照pdf里面的所展示的来换行了,看不到有什么规则还原

  • python将文本转换成图片输出的方法

    本文实例讲述了python将文本转换成图片输出的方法.分享给大家供大家参考.具体实现方法如下: #-*- coding:utf-8 -*- from PIL import Image,ImageFont,ImageDraw text = u'欢迎访问我们,http://www.jb51.net' font = ImageFont.truetype("msyh.ttf",18) lines = [] line ='' for word in text.split(): print wor

  • python将字符串转换成json的方法小结

    最近在工作中遇到了一个小问题,如果要将字符串型的数据转换成dict类型,我第一时间就想到了使用json函数.但是里面出现了一些问题 1.通过json来转换: In [1]: import json In [2]: mes = '{"InsId": 2, "name": "lege-happy", "CreationTime": "2019-04-23T03:18:02Z"}' In [3]: mes_to_

  • Python 将pdf转成图片的方法

    本篇文章记录如何使用python将pdf文件切分成一张一张图片,包括环境配置.版本兼容问题. 环境配置(mac) 安装ImageMagick brew install imagemagick 这里有个坑,brew安装都是7.x版本,使用wand时会出错,需要你安装6.x版本. 解决办法: 1.安装6.x版本 brew install imagemagick@6 2.取消链接7.x版本 brew unlink imagemagick Unlinking /usr/local/Cellar/imag

  • 使用python把xmind转换成excel测试用例的实现代码

    前言 因为写好了测试xmind脑图后,然后再编写测试用例,实在是太麻烦了,所以我写了一点测试用例后,就网上百度了下,怎么直接把xmind脑图转换成excel测试用例,纯个人学习笔记 本文参考: https://www.cnblogs.com/xu-xu/articles/11999960.html https://www.cnblogs.com/xu-xu/articles/12000205.html 提示:以下是本篇文章正文内容,下面可供参考 一.确定好自己的xmind的用例格式 因为xmin

  • python将字符串转换成数组的方法

    python将字符串转换成数组的方法.分享给大家供大家参考.具体实现方法如下: #----------------------------------------- # Name: string_to_array.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This Python script demonstrates # how to modify a string by # converting it

  • php实现将HTML页面转换成word并且保存的方法

    本文实例讲述了php实现将HTML页面转换成word并且保存的方法.分享给大家供大家参考,具体如下: 这里用使用到一个PHP的工具叫:PHPWord. 生成Word的原理是,将堆规定好了的xml压缩成一个zip包,并且把后缀名改成doc或者docx即可. 所以使用PHPWord,需要你的PHP环境安装zip.dll压缩扩展,我写了一个demo. 功能说明: 20150507 - HTML中的<p>标签和<ol>列表标签的获取 20150508 - 新增获取文章中的图片功能 2015

  • Python实现列表转换成字典数据结构的方法

    本文实例讲述了Python实现列表转换成字典数据结构的方法.分享给大家供大家参考,具体如下: ''' [ {'symbol': 101, 'sort': 1, 'name': 'aaaa'}, {'symbol': 102, 'sort': 2, 'name': 'bbbb'}, {'symbol': 103, 'sort': 3, 'name': 'cccc'}, {'symbol': 104, 'sort': 4, 'name': 'dddd'}, {'symbol': 105, 'sort

  • 利用python将图片转换成excel文档格式

    前言 本文主要介绍了关于利用python将图片转换成excel文档的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 实现步骤 读取图像,获取图像每个像素点的RGB值: 根据每个像素点的RGB值设置excel每个方格的颜色值: 根据像素点的坐标,写入excel文件: 保存退出: 示例代码 from PIL import Image import numpy as np import time import matplotlib.pyplot as plt import

随机推荐