Python將Word文檔轉為PDF的兩種方法
將word轉pdf,只能使用辦公工具,但是這些工具大都是收費。因此想用python 將word轉pdf,發(fā)現很好用特此記錄下。
方法一:使用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 環(huán)境下使用,并且需要安裝 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內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用Spire.XLS進行插入,修改和刪除迷你圖
這篇文章主要為大家詳細介紹如何使用 Spire.XLS for Python 在 Excel 中插入、修改和刪除迷你圖,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2025-08-08
pytorch實現特殊的Module--Sqeuential三種寫法
今天小編就為大家分享一篇pytorch實現特殊的Module--Sqeuential三種寫法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

