本文实例为大家分享了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 ubuntu word txt 转pdf,python实现pdf转换成word/txt纯文本文件相关推荐

  1. 电脑word在哪_怎么将图片转换成Word?学会这3种方法,轻松将图片转文字!

    怎么将图片转换成Word文字?相信很多朋友都有这样的困惑,大多数人都会选择将图片里面的内容一个字一个字的录入到Word里面,这样的话会浪费我们大量的时间,这里笔者给大家介绍几种方法,不管哪一种都能够轻 ...

  2. OFD怎么转换成PDF? OFD文件转换成Word方法推荐

    随着当前办公系统的不断优化,也衍生出很多特殊的文件格式.像之前我们聊过的caj文件,是针对论文打造的特殊文件格式,即对文件有了强大的安全系数保护,又可以满足用户的阅读需求.这一次我们要为广大用户们带来 ...

  3. 如何利用PDF转换器将WPS转换成word

    WPS怎么转换成word?相信使用电脑办公的人都使用过WPS和word两个文档,作为工作中常用的文档.不过在编辑文件内容的时候大概都会使用到word文档,需要将保存的WPS文件转换为word再进行编辑 ...

  4. PDF文件如何快速转换成Word文件?两个方法教你搞定

    PDF是一种广泛使用的文档格式,其被设计为与各种操作系统和软件平台兼容,使其成为在许多行业中共享文档的标准.但有时候,我们需要将PDF文档转换为Word文件,以方便编辑和修改.本文将介绍两种简单的方法 ...

  5. PDF怎么用免费软件转换成word?推荐个高性价比转换方法

    PDF文件是一种在现代办公中广泛使用的文档格式.然而,在某些情况下,我们需要将PDF文件转换为Word文档以方便编辑和处理.虽然市场上有许多付费的PDF转换工具,但是,有些人可能正在寻找一个完全免费的 ...

  6. PDF怎么完整的转换成Word格式?两个方法帮你实现

    PDF文档是一种非常常见的电子文档格式,但在某些情况下,我们需要将PDF文档转换为Word格式,例如需要编辑PDF文档或将其内容复制到Word文档中.在本文中,我们将介绍两种方法来完整地将PDF文档转 ...

  7. PDF文件加密怎么转换成word

    1.将文档拖入Chrome浏览器 2. 3.右上角打印,然后会提示 另存为本地,然后再用word或者福昕套件转换就行

  8. LinkPdf转换器-PDF转换成Word使用教程

    PDF文件是一款常用的文件格式,但是怎样编辑一直是个问题.大多数人会选择将PDF转换成Word,来解决PDF无法编辑的难题.可PDF文件怎样快速转换成Word文档? 目前,能够快速将PDF转换成Wor ...

  9. 如何把pdf转换成word转换器在线

    如何把pdf转换成word转换器在线 虽然PDF文档的规范性让很多浏览者在阅读上方便了许多,不过由于PDF文件无法进行文本编辑,这种定位属性给我们提取PDF文本资料带来了麻烦,这时我们就需要PDF文档 ...

  10. PDF转换成word免费

    PDF文档如何转换成Word格式的?大家多多少少都会遇到这样的问题,比如在网上下载论文资料.电子书等文件时,会发现资料都是PDF格式的.下载后却不能复制编辑,这种情况太让人沮丧了吧!PDF格式的文件在 ...

最新文章

  1. MongoDB整库备份与还原以及单个collection备份、恢复方法
  2. 二叉树常用方法(一)
  3. 21行代码AC——例题5-2 Ducci序列(Ducci Sequence,UVa1594)——解题报告
  4. java数组按照大小排列_Java怎么让数组中元素按照牌值从小到大的顺序排列
  5. uva 10120——Gift?!
  6. 案例:隐秘而低调的内存泄露(OOM)
  7. 利用数组实现栈java,用java编写出来:用数组实现一个栈
  8. DelayQueue用例
  9. 0xc0000225无法进系统_手把手研习win10系统出现0xc0000225无法进入系统的方法
  10. 计算机网络里ping是什么意思,Ping命令有什么作用,Ping通后显示的数据是什么意思?...
  11. Android之——流量管理程序示例
  12. 如何创建一个原始Mac OS镜像
  13. 拉链表断链、交叉链判断及处理方式
  14. 为什么大厂们 一边裁员,一边招人。。
  15. 数据库常用函数-基础
  16. Data Analysis
  17. IIS6.0+Tomcat整合(java,C++等教程免费下载)
  18. 清明服务器维护,清明游戏服务器
  19. Intel Realsense D435iL515 驱动安装
  20. 良知VS野心,苹果为何要翻新手机?

热门文章

  1. Hadoop完全分布式安装步骤
  2. mac Word中设置下划线之后文字后面不显示的问题解决
  3. 如何将两个笔记本电脑进行相互投屏
  4. DGL | 基于深度图学习框架DGL的分子图初探
  5. 让linux程序在后台运行
  6. 网络营销推广怎么做 自媒体如何让商品消失不见
  7. 客户询价,怎么回最妙!
  8. Android studio期末大作业APP 掌上图书馆
  9. android开发 dts、各种接口porting----不错
  10. lammps基础命令及教程