1 前言
一日,欲将手头上的一份pdf文档转换成word文档。先试着用XX办公软件试了下,微信扫码登录后,在PDF转换界面,选中文档,点击“开始转换”,弹出提示对话框:免费的只给转换5页文档,可我这文档要350页,全部转换需开通会员,有点懵逼了。于是有了下文的pdf和word文档互转的python代码。
在介绍代码之前,先看一下pdf和word转换的效果截图:
2 环境准备
环境:Win10+VS Code1.74.1+Python3.10
在使用Python里的pdf和word互转功能之前,需要先安装pdf2docx和docx2pdf模块。以下是安装命令及截图。
安装pdf2docx
pip install pdf2docx
安装docx2pdf
pip install docx2pdf
3 python代码
转换代码很简洁,且易懂,这就是python之所以受欢迎的一个原因了吧。
pdf转docx
将以下代码编辑到文件pdf2word.py中。注意,如果代码中文件路径写绝对路径,建议使用正斜杠“/”,不用转义字符,因而简洁。
from docx2pdf import convert
#将word文档转换成pdf文档
convert("D:/test/test.doc", "D:/test/输出文档1.pdf")
docx转pdf
将以下代码编辑到文件word2pdf.py中。注意,下边代码中文件路径,使用了相对路径,而不是绝对路径,即在转换过程中,要确保“输出文档.pdf”与代码word2pdf.py在同一个路径下。
from pdf2docx import Converter
#初始化pdf文档对象
cv = Converter('输出文档.pdf')
#将pdf稳定对象转换成word文档对象
cv.convert('输出文档.docx', start=0, end=None)
#关闭资源
cv.close()
下边是笔者电脑上的测试代码、转换文档所在目录截图:
4 转换过程
以下分别是pdf转word、word转pdf的过程截图:
下边是转换350页pdf文档的过程截图,耗时838.27s,还是挺花费时间的,胜在免费。
5 注意问题
1、经测试,在将pdf转换成word文档时,输出文档后缀可以是.doc或.docx;但是将word转换成pdf文档时,源文件后缀只能是.docx,不能是.doc,否则会报错,如下截图:
2、本测试用例代码,仅支持单个文档文件转换,不支持批量文件转换。
3、Python代码所在路径尽量别用中文,否则可能转换过程会报错。比如笔者将代码文件放在D:/test目录下。但是word或pdf文件名称,可用中文。
6 参考
6行代码!用Python将PDF转为word - 腾讯云开发者社区-腾讯云
使用python将word文档转换为PDF文档 - 腾讯云开发者社区-腾讯云