当前位置: 代码网 > it编程>前端脚本>Python > Python将Word文档转为PDF的两种方法

Python将Word文档转为PDF的两种方法

2024年12月22日 Python 我要评论
将word转pdf,只能使用办公工具,但是这些工具大都是收费。因此想用python 将word转pdf,发现很好用特此记录下。方法一:使用docx2pdf模块将docx文件转为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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com