文章目录
- 一、前期准备
- 二、pdf2docx功能
- 三、限制
- 四、案例
一、前期准备
可将 PDF 转换成 docx 文件的 Python 库。该项目通过 PyMuPDF
库提取 PDF 文件中的数据,然后采用 python-docx
库解析内容的布局、段落、图片、表格等,最后自动生成 docx 文件。
第一步,下载 PyMuPDF
包:
pip install PyMuPDF
第二步,下载 python-docx
包:
pip install python-docx
第三步,下载 pdf2docx
包:
pip install pdf2docx
二、pdf2docx功能
- 解析和创建页面布局
(1)页边距
(2)章节和分栏 (目前最多支持两栏布局)
(3)页眉和页脚 [TODO]
- 解析和创建段落
(1)OCR 文本 [TODO]
(2)水平(从左到右)或竖直(自底向上)方向文本
(3)字体样式例如字体、字号、粗/斜体、颜色
(4)文本样式例如高亮、下划线和删除线
(5)列表样式 [TODO]
(6)外部超链接
(7)段落水平对齐方式 (左/右/居中/分散对齐)及前后间距
- 解析和创建图片
(1)内联图片
(2)灰度/RGB/CMYK等颜色空间图片
(3)带有透明通道图片
(4)浮动图片(衬于文字下方)
- 解析和创建表格
(1)边框样式例如宽度和颜色
(2)单元格背景色
(3)合并单元格
(4)单元格垂直文本
(5)隐藏部分边框线的表格
(6)嵌套表格
- 支持多进程转换
pdf2docx
同时解析出了表格内容和样式,因此也可以作为一个表格内容提取工具。
三、限制
- 目前暂不支持扫描PDF文字识别
- 仅支持从左向右书写的语言(因此不支持阿拉伯语)
- 不支持旋转的文字
- 基于规则的解析无法保证100%还原PDF样式
四、案例
我们有这样一篇PDF:
代码如下:
from pdf2docx import parse
pdf_file = './ResNet.pdf'
docx_file = './resnet.docx'
# convert pdf to docx
parse(pdf_file, docx_file)
输出结果为:
效果还可以,不过会缺失一部分数据!