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

 更新时间:2024年12月21日 10:20:31   作者:依米阳光08  
这篇文章主要介绍了两种将docx和doc文件转换为PDF的方法,方法一使用了docx2pdf模块,方法二使用了win32com模块,文中通过代码及图文介绍的非常详细,需要的朋友可以参考下

将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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python os模块和fnmatch模块的使用介绍

    python os模块和fnmatch模块的使用介绍

    这篇文章主要介绍了python os模块和fnmatch模块的使用介绍,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • 详解python异步编程之asyncio(百万并发)

    详解python异步编程之asyncio(百万并发)

    这篇文章主要介绍了详解python异步编程之asyncio(百万并发),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Python+OpenCV绘制灰度直方图详解

    Python+OpenCV绘制灰度直方图详解

    一幅图像由不同灰度值的像素组成,图像中灰度的分布情况是该图像的一个重要特征。图像的灰度直方图就描述了图像中灰度分布情况。本文将利用Python和OpenCV绘制灰度直方图,需要的可以参考一下
    2022-03-03
  • Python Opencv实现单目标检测的示例代码

    Python Opencv实现单目标检测的示例代码

    这篇文章主要介绍了Python Opencv实现单目标检测的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • windows7 32、64位下python爬虫框架scrapy环境的搭建方法

    windows7 32、64位下python爬虫框架scrapy环境的搭建方法

    这篇文章主要介绍了windows7 32、64位下python爬虫框架scrapy环境的搭建方法,需要的朋友可以参考下
    2018-11-11
  • Python的几种主动结束程序方式

    Python的几种主动结束程序方式

    这篇文章主要介绍了Python的几种主动结束程序方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • python异常处理和日志处理方式

    python异常处理和日志处理方式

    今天小编就为大家分享一篇python异常处理和日志处理方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python实现余弦相似度文本比较的示例

    python实现余弦相似度文本比较的示例

    这篇文章主要介绍了python实现余弦相似度文本比较的示例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • 使用 Python 处理 JSON 格式的数据

    使用 Python 处理 JSON 格式的数据

    JSON 是一个很好的选择。如果你对 Python 有所了解,就更加事半功倍了。下面就来介绍一下如何使用 Python 处理 JSON 数据。感兴趣的朋友跟随小编一起看看吧
    2019-07-07
  • 使用python Telnet远程登录执行程序的方法

    使用python Telnet远程登录执行程序的方法

    今天小编就为大家分享一篇使用python Telnet远程登录执行程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论