Python將Word文檔轉(zhuǎn)為PDF的兩種方法
將word轉(zhuǎn)pdf,只能使用辦公工具,但是這些工具大都是收費。因此想用python 將word轉(zhuǎn)pdf,發(fā)現(xiàn)很好用特此記錄下。
方法一:使用docx2pdf模塊將docx文件轉(zhuǎn)為pdf
要實現(xiàn)這樣的功能,需要用到的就是 docx2pdf 這個python第三方庫。對于docx2pdf 庫的安裝,可以利用下述的pip命令進行安裝。
pip install docx2pdf
安裝完之后就可以使用了,如下:
from docx2pdf import convert #文件路徑必須是全局的 file="D:\Test\Python\Pytest\AI\招標參數(shù).docx" #獲取文件名稱 filename=file.split(".docx")[0] #將 docx文檔轉(zhuǎn)換為 PDF convert(file,f"{filename}.pdf")
注意:
1,文件路徑必須是完整的,否則會報錯”找不到文件xxx“;
2,docx2pdf只支持將后綴為docx轉(zhuǎn)為pdf,不支持doc格式的
方法二: 使用win32com模塊對doc和docx文件轉(zhuǎn)為pdf
win32com 模塊主要為 Python 提供調(diào)用 windows 底層組件對 word 、Excel、PPT 等進行操作的功能,只能在 Windows 環(huán)境下使用,并且需要安裝 office 相關(guān)軟件才行(WPS也行)。
使用 win32com 模塊主要是因為 Python 針對 word 文檔操作的第三方庫相對較少并且功能較弱,Python 有針對 .docx 后綴文件的第三方庫如 python-docx、pydocx等等,但是沒有針對 .doc 和 .wps 的第三方庫,所以這里就只能使用 win32com 模塊。對而言 Python 針對 Excel文檔操作的第三方庫就非常友好。
要實現(xiàn)這樣的功能,需要用到的就是 pywin32庫。對于pywin32庫的安裝,可以利用下述的pip命令進行安裝。
pip install pywin32
安裝完之后就可以使用了,如下將doc文檔轉(zhuǎn)換為pdf:
from win32com import client def doc2pdf(file): word = client.Dispatch("Word.Application") # 打開word應(yīng)用程序 # 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() # 關(guān)閉原來word文件 word.Quit()
進階使用一
針對批量轉(zhuǎn)換的可以使用如下函數(shù)封裝
for file in filelist: filpath=filelist+"\\"+file doc2pdf(filepath)
進階使用二
其中上述方法也支持將docx格式文檔轉(zhuǎn)換為pdf,因此針對上述方法做了一個兼容,如下:
from win32com import client #轉(zhuǎn)換doc,docx為pdf def doc2pdf(file,n): word = client.Dispatch("Word.Application") # 打開word應(yīng)用程序 # for file in files: doc = word.Documents.Open(file) # 打開word文件 """ 1;txt=4, html=10, docx=16, pdf=17, 2:n=-4,轉(zhuǎn)換doc格式文檔為pdf;n=-5轉(zhuǎn)換docx格式文檔為pdf """ doc.SaveAs("{}.pdf".format(file[:n]), 17) # 另存為后綴為".pdf"的文件, doc.Close() # 關(guān)閉原來word文件 word.Quit()
總結(jié)
到此這篇關(guān)于Python將Word文檔轉(zhuǎn)為PDF的兩種方法的文章就介紹到這了,更多相關(guān)Python將Word文檔轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在django admin詳情表單顯示中添加自定義控件的實現(xiàn)
這篇文章主要介紹了在django admin詳情表單顯示中添加自定義控件的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03深度學習的MNIST手寫數(shù)字數(shù)據(jù)集識別方式(準確率99%,附代碼)
這篇文章主要介紹了深度學習的MNIST手寫數(shù)字數(shù)據(jù)集識別方式(準確率99%,附代碼),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06