
信任许多人都遇到过,将PDF转换成Word文档的问题,都需要收费来进行转换。目前给大家分享一个超级简单的Python工具可以将PDF文档快速转换成Word文档。这种方式仅限于文档类型的PDF,对于图片扫描的PDF来讲,虽然也可以进行转换,但是转换完成的结果也是不可编辑的。
实践操作
在Python中想要实现从PDF文档向Word文档的转换可以使用pdf2docx库,这个库就是用来进行PDF到Word的转换操作的。要想使用该库,第一需要确保已经安装了该库。
pip install pdf2docx
然后可以通过如下的代码实现PDF到Word的转换。
from pdf2docx import Converter
def convert_pdf_to_word(pdf_file_path, word_file_path):
# 创建转换器对象
cv = Converter(pdf_file_path)
# 将 PDF 转换为 Word
cv.convert(word_file_path, start=0, end=None)
# 关闭转换器
cv.close()
# 调用函数并指定输入PDF文件路径和输出Word文件路径
convert_pdf_to_word('input.pdf', 'output.docx')
当然这个代码转换可以完成90%格式的转换,由于Word与PDF本身的文档差异,很难做到100%的转换。
其他方式
当然还有一种超级Low的操作,就是直接进行文档读取。这种方式不涉及格式的变化,用到PyMuPDF库,这个库可以直接对PDF中的内容进行提取,并且直接插入到Word文档中,对于一些文字类的可以使用这种方式来操作。
第一需要安装PyMuPDF库。
pip install pymupdf
代码实现如下所示。
import fitz # PyMuPDF
from docx import Document
def convert_pdf_to_word(pdf_file_path, word_file_path):
# 创建一个空的Word文档对象
doc = Document()
# 打开PDF文件
pdf_document = fitz.open(pdf_file_path)
# 遍历PDF中的每一页
for page_number in range(len(pdf_document)):
# 创建一个新的段落,并将PDF页面的文本插入到段落中
page_text = pdf_document[page_number].get_text()
doc.add_paragraph(page_text)
# 保存Word文档
doc.save(word_file_path)
# 调用函数并指定输入PDF文件路径和输出Word文件路径
convert_pdf_to_word('input.pdf', 'output.docx')
这段代码中,会将PDF文件中的每一页内容进行提取,并且插入到Word文档中,保持原始的格式。
总结
对于一些没有完全按照格式转换的文档,没有简单的Python库可以实现,由于PDF和Word的内部结构和样式信息有所不同,直接做到完全的格式转换是有必定的难度的,即使是一些商业软件都很难做到这一点。当然你也可以尝试使用商业软件,或许会比这种廉价的方式支持更高级的转换操作。
© 版权声明
文章版权归作者所有,未经允许请勿转载。





好啊有转Excel的代码没?
识别度不高
有txt转word的吗
缺少dLL库,生成不了
厉害了👍
💗感谢分享
收藏了,感谢分享