Python将Word文档转为PDF的两种方法
将word转pdf,只能使用办公工具,但是这些工具大都是收费。因此想用python 将word转pdf,发现很好用特此记录下。
方法一:使用docx2pdf模块将docx文件转为pdf
要实现这样的功能,需要用到的就是 docx2pdf 这个python第三方库。对于docx2pdf 库的安装,可以利用下述的pip命令进行安装。
pip install docx2pdf
安装完之后就可以使用了,如下:
from docx2pdf import convert #文件路径必须是全局的 file="D:\Test\Python\Pytest\AI\招标参数.docx" #获取文件名称 filename=file.split(".docx")[0] #将 docx文档转换为 PDF convert(file,f"{filename}.pdf")
注意:
1,文件路径必须是完整的,否则会报错”找不到文件xxx“;
2,docx2pdf只支持将后缀为docx转为pdf,不支持doc格式的
方法二: 使用win32com模块对doc和docx文件转为pdf
win32com 模块主要为 Python 提供调用 windows 底层组件对 word 、Excel、PPT 等进行操作的功能,只能在 Windows 环境下使用,并且需要安装 office 相关软件才行(WPS也行)。
使用 win32com 模块主要是因为 Python 针对 word 文档操作的第三方库相对较少并且功能较弱,Python 有针对 .docx 后缀文件的第三方库如 python-docx、pydocx等等,但是没有针对 .doc 和 .wps 的第三方库,所以这里就只能使用 win32com 模块。对而言 Python 针对 Excel文档操作的第三方库就非常友好。
要实现这样的功能,需要用到的就是 pywin32库。对于pywin32库的安装,可以利用下述的pip命令进行安装。
pip install pywin32
安装完之后就可以使用了,如下将doc文档转换为pdf:
from win32com import client def doc2pdf(file): word = client.Dispatch("Word.Application") # 打开word应用程序 # for file in files: doc = word.Documents.Open(file) # 打开word文件 doc.SaveAs("{}.pdf".format(file[:-4]), 17) # -4指的是将doc后缀的文档另存为后缀为".pdf"的文件,txt=4, html=10, docx=16, pdf=17 doc.Close() # 关闭原来word文件 word.Quit()
进阶使用一
针对批量转换的可以使用如下函数封装
for file in filelist: filpath=filelist+"\\"+file doc2pdf(filepath)
进阶使用二
其中上述方法也支持将docx格式文档转换为pdf,因此针对上述方法做了一个兼容,如下:
from win32com import client #转换doc,docx为pdf def doc2pdf(file,n): word = client.Dispatch("Word.Application") # 打开word应用程序 # for file in files: doc = word.Documents.Open(file) # 打开word文件 """ 1;txt=4, html=10, docx=16, pdf=17, 2:n=-4,转换doc格式文档为pdf;n=-5转换docx格式文档为pdf """ doc.SaveAs("{}.pdf".format(file[:n]), 17) # 另存为后缀为".pdf"的文件, doc.Close() # 关闭原来word文件 word.Quit()
总结
到此这篇关于Python将Word文档转为PDF的两种方法的文章就介绍到这了,更多相关Python将Word文档转PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Matlab中的mat数据转成python中使用的npy数据遇到的坑及解决
这篇文章主要介绍了Matlab中的mat数据转成python中使用的npy数据遇到的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-12-12
最新评论