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)文章
Python使用Pandas處理測試數(shù)據(jù)的方法
Pandas是一個功能極其強大的數(shù)據(jù)分析庫,可以高效地操作各種數(shù)據(jù)集,這篇文章主要介紹了Python自動化測試-使用Pandas來高效處理測試數(shù)據(jù),需要的朋友可以參考下2023-02-02python提取包含關(guān)鍵字的整行數(shù)據(jù)方法
今天小編就為大家分享一篇python提取包含關(guān)鍵字的整行數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12解決redis與Python交互取出來的是bytes類型的問題
這篇文章主要介紹了解決redis與Python交互取出來的是bytes類型的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07Django數(shù)據(jù)庫如何在原有表中添加新字段
這篇文章主要介紹了Django數(shù)據(jù)庫如何在原有表中添加新字段問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09Python詳解argparse參數(shù)模塊之命令行參數(shù)
這篇文章主要介紹了Python詳解argparse參數(shù)模塊之命令行參數(shù),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考下面文章詳解2022-07-07