IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python PDF文件转Word格式,只需要3秒(附打包) -> 正文阅读

[Python知识库]Python PDF文件转Word格式,只需要3秒(附打包)

PDF文档遵循一定的规范,例如精确定位了每个字符出现在页面上的坐标、根据坐标绘制的各种形状(线、矩形、曲线等)。所以,用PDF格式传输和打印文档可以保证格式的一致性,不会像Word那样因为渲染引擎的不同而出现格式错乱、多页少页等问题。

Word文档则是一种流式布局,元素之间的相对距离决定了其呈现在页面上的最终位置。因此适合编辑内容,前文内容的修改自动促发后续文档布局的更新。

PDF转Word是一个古老的话题,其难点在于建立从PDF基于元素位置的格式到Word基于内容的格式的映射。

PDF文档实际并不存在段落、表格的概念,PDF转Word要做的就是将PDF文档中“横、竖线条围绕着文本”解析为Word的“表格”,将“文本及下方的一条横线”解析为“文本下划线”,等等。

pdf2docx支持Windows和Linux平台,要求Python版本>=3.6。

pdf2docx安装方式:

pip?install?pdf2docx

图片

pdf2docx使用

from?pdf2docx?import?Converter

思路如下

  1. 获取pdf文件路径。

  2. 过滤出当前文件夹中所有的pdf文件。

  3. 提取pdf文件名和后缀名。

  4. 文件名+'docx'拼接重组word文件(改变格式不变文件名)。

  5. 使用pdf2docx进行文件转换。

源码

代码很简单,源码奉上,思路都在注释里已经说明

import?os
from?pdf2docx?import?Converter

def?pdf_docx():
????#?获取当前工作目录
????file_path?=?os.getcwd()

????#?遍历所有文件
????for?file?in?os.listdir(file_path):
????????#?获取文件后缀
????????suff_name?=?os.path.splitext(file)[1]

????????#?过滤非pdf格式文件
????????if?suff_name?!=?'.pdf':
????????????continue
????????#?获取文件名称
????????file_name?=?os.path.splitext(file)[0]
????????#?pdf文件名称
????????pdf_name?=?os.getcwd()?+?'\\'?+?file
????????#?要转换的docx文件名称
????????docx_name?=?os.getcwd()?+?'\\'?+?file_name?+?'.docx'
????????#?加载pdf文档
????????cv?=?Converter(pdf_name)
????????cv.convert(docx_name)
????????cv.close()

测试

我们准备的pdf文档有格式,有图片。先来进行测试

图片

控制台信息打印如下,0.17秒完成了3页pdf->docx文件的转换

[INFO]?Start?to?convert?E:\Python\pycharm++\GOGO数据\卢本伟.pdf
[INFO]?[1/4]?Opening?document...
[INFO]?[2/4]?Analyzing?document...
[WARNING]?Replace?font?"MicrosoftYaHeiUI"?with?"Times?New?Roman"?due?to?lack?of?data.
Deprecation:?'getText'?removed?from?class?'Page'?after?v1.19.0?-?use?'get_text'.
Deprecation:?'getImageList'?removed?from?class?'Page'?after?v1.19.0?-?use?'get_images'.
Deprecation:?'getImageBbox'?removed?from?class?'Page'?after?v1.19.0?-?use?'get_image_bbox'.
Deprecation:?'getPNGData'?removed?from?class?'Pixmap'?after?v1.19.0?-?use?'tobytes'.
Deprecation:?'getDrawings'?removed?from?class?'Page'?after?v1.19.0?-?use?'get_drawings'.
Deprecation:?'getLinks'?removed?from?class?'Page'?after?v1.19.0?-?use?'get_links'.
Deprecation:?'getArea'?removed?from?class?'Rect'?after?v1.19.0?-?use?'get_area'.
[INFO]?[3/4]?Parsing?pages...
[INFO]?(1/3)?Page?1
[INFO]?(2/3)?Page?2
[INFO]?(3/3)?Page?3
[INFO]?[4/4]?Creating?pages...
[INFO]?(1/3)?Page?1
[INFO]?(2/3)?Page?2
[INFO]?(3/3)?Page?3
[INFO]?Terminated?in?0.17s.

转换完成后的docx文件格式如下:

图片

现在我们已经完成了pdf转word的操作,这样的局限性太大了,万一我的pc没有python环境怎么搞?

接下来我们对文件进行打包,让你随时随地可以转换文档

python 上常见的打包方式目是通过?pyinstaller?来实现的。

pip?install?pyinstaller?

图片

详细步骤

pyinstaller 是一个命令行工具,下面是详细步骤

1、cmd 切换到 python 文件的目录

2、执行命令?pyinstall -F pdfToword.py

图片


执行完毕会发现生成了 3 个文件夹

图片

其中 dist 文件夹就有我们已经打包完成的 exe 文件。

图片

3、双击 exe 就可以运行成功了。一键抓换pdf-word

够方便的吧~~

图片

今天的分享就到此结束啦,

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:26:19  更:2021-11-09 19:26:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:55:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码