作者:启航
关键词:pdf2docx、PDF、Word
客户想要把网页上面下载下来的PDF文件转为Word文件进行保存留档。
目前影刀没有特定的PDF转Word指令,但是我们可以写一个。
使用pdf2docx库可以处理包含复杂布局和格式的PDF文件,并保留原始的字体、颜色、大小和格式等属性,将PDF文件转换成可编辑的Word文档。
pdf2docx简介:
●基于PyMuPDF提取文本、图片、矢量等原始数据
●基于规则解析章节、段落、表格、图片、文本等布局及样式
●基于 python-docx 创建Word文档
from pdf2docx import Converter
# 例1 转换所有页面
# pdf_file:需要转换的PDF路径;docx_file:转换后word路径
def pdf_docx(pdf_file,docx_file):
#将pdf转换为word
cv = Converter(pdf_file)
cv.convert(docx_file)
cv.close()
pdf_docx(r"C:\Users\25569\Desktop\test.pdf",r'C:\Users\25569\Desktop\test.docx')
# 例2 转换指定页面
def pdf_docx(pdf_file,docx_file):
#将pdf转换为word
cv = Converter(pdf_file)
# 从第二页转换到末尾
cv.convert(docx_file, start=1)
#从第一页(默认情况下)转换到第三页(end=3,排除)
cv.convert(docx_file,end=3)
#从第二页和第三页转换(指定开始页数和结束页数)
cv.convert(docx_file,start=1,end=3)
cv.close()
pdf_docx(r"C:\Users\25569\Desktop\test.pdf",r'C:\Users\25569\Desktop\test.docx')
# 例3 转换加密的pdf
# password:PDF密码
def pdf_docx(pdf_file,docx_file,password):
cv = Converter(pdf_file, password)
cv.convert(docx_file)
cv.close()
pdf_docx(r"C:\Users\25569\Desktop\test.pdf",r'C:\Users\25569\Desktop\test.docx','1234')
from pdf2docx import Converter
# pdf_file:需要转换的PDF路径;docx_file:转换后word路径
def pdf_docx(pdf_file,docx_file):
#将pdf转换为word
cv = Converter(pdf_file)
cv.convert(docx_file)
cv.close()

左边PDF右边转换的Word

1.目前暂不支持扫描PDF文字识别
2.仅支持从左向右书写的语言(因此不支持阿拉伯语)
3.不支持旋转的文字
4.基于规则的解析无法保证100%还原PDF样式
使用的时候可能会出现如下报错,这不是错误,只是报告没有具有该名称的字体。使用一种内置字体,例如“helv”(Helvetica)即可

1.找到流程文件所在的文件夹

2.返回到文件夹路径的上一级:

3.搜索constants.py(也可以直接根据路径去找\venv\Lib\site-packages\pdf2docx\common)

4.点击constants.py文件,使用记事本打开(也可使用其他方式打开)

5.文件最下面加上DEFAULT_FONT_NAME = 'helv',保存关闭
