Python自動(dòng)化辦公之Word轉(zhuǎn)PDF的實(shí)現(xiàn)
該章節(jié)我們將要學(xué)習(xí)如何將 word 文件轉(zhuǎn)為 PDF文件,其實(shí)網(wǎng)上有很多種生成 PDF 的教程,不過(guò)絕大多數(shù)都是以 windows 為主的,并且兼容有很多的問(wèn)題。windows、mac、linux 同時(shí)兼容的情況比較少,所以今天的章節(jié)我們就來(lái)學(xué)習(xí)一下如何在 windows、mac、linux 三種系統(tǒng)中都可以生成 PDF 的解決方案。
pdf 工具包 - pdfkit
pdfkit 包的安裝:
pip install pdfkit
依賴工具:
下載符合與自己當(dāng)前系統(tǒng)的安裝包安裝完成之后就可以達(dá)到兼容的效果了。
html 轉(zhuǎn) pdf
html 轉(zhuǎn) pdf 方法:
pdfkit.from_file(html文件, 保存路徑) 利用 pdfkit.from_file() 函數(shù)傳入 "html" 文件與 pdf 的保存路徑
代碼示例如下:
# coding:utf-8 import pdfkit # 需安裝 pdfkit 第三方包 "pip install pdfkit" 以及第三方依賴 "wkhtmltopdf" pdfkit.from_file('html測(cè)試文件.html', 'html測(cè)試文件.pdf')
運(yùn)行結(jié)果如下:
網(wǎng)址 轉(zhuǎn) pdf
網(wǎng)址 轉(zhuǎn) pdf 方法:
pdfkit.from_url(網(wǎng)址, 保存路徑) 利用 pdfkit.from_url() 函數(shù)傳入 "網(wǎng)址" 文件與 pdf 的保存路徑
“html” 文件與網(wǎng)址的區(qū)別在于實(shí)際上html文件有可能是我們本地開(kāi)發(fā)生成的,也有可能是通過(guò) “網(wǎng)頁(yè)另存為” 的方式存儲(chǔ)在本地的。所以 網(wǎng)址 與 html文件 還是有一點(diǎn)點(diǎn)區(qū)別的,但是它們的本質(zhì)其實(shí)是一樣的。
代碼示例如下:
# coding:utf-8 import pdfkit # 需安裝 pdfkit 第三方包 "pip install pdfkit" 以及第三方依賴 "wkhtmltopdf" pdfkit.from_url('https://www.163.com', 'test1.pdf')
運(yùn)行結(jié)果如下:
字符串生成pdf
網(wǎng)址 轉(zhuǎn) pdf 方法:
pdfkit.from_string(基于html的字符串, 保存路徑) 利用 pdfkit.from_string() 函數(shù)傳入 "網(wǎng)址" 文件與 pdf 的保存路徑
基于html的字符串 其實(shí)就是前端的一種超文本文件格式,以這種前端規(guī)范生成的字符串其實(shí)就是 html 的字符串了
# coding:utf-8 import pdfkit # 需安裝 pdfkit 第三方包 "pip install pdfkit" 以及第三方依賴 "wkhtmltopdf" html = """ <html> <head> <meta charset="utf-8" /> </head> <body> <p>你好,這是一個(gè)html字符串轉(zhuǎn)為pdf的測(cè)試文件</p> </body> </html> """ pdfkit.from_string(html, 'html_string_test.pdf')
運(yùn)行結(jié)果如下:
結(jié)合 pydocx 將 word 轉(zhuǎn) html 再轉(zhuǎn) pdf
首先需要安裝 pydocx 依賴包 —> pip install pydocx
導(dǎo)入 PyDocX 函數(shù) —> from pydocx import PyDocX
利用 PyDocX 將 word 文件轉(zhuǎn)換為 html 格式(會(huì)生成一個(gè) html 的字符串對(duì)象)
將 生成的 html 字符串 寫(xiě)入到一個(gè) html 文件中
然后利用 pdfkit 包的 pdfkit.from_file() 函數(shù)將其轉(zhuǎn)為 pdf 文件
代碼示例如下:
# coding:utf-8 import pdfkit # pip install pdfkit from pydocx import PyDocX # pip install pydocx html = PyDocX.to_html('簡(jiǎn)歷1.docx') f = open('簡(jiǎn)歷1.html', 'w') f.write(html) f.close() #pdfkit.from_file('html1.html', 'test3.pdf') pdfkit.from_string(html, '簡(jiǎn)歷1.pdf')
運(yùn)行結(jié)果如下:
到此這篇關(guān)于Python自動(dòng)化辦公之Word轉(zhuǎn)PDF的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python Word轉(zhuǎn)PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python編寫(xiě)一個(gè)監(jiān)控CPU的應(yīng)用系統(tǒng)
在使用電腦辦公時(shí),有時(shí)候不知道哪些軟件或進(jìn)程會(huì)占用大量的資源,導(dǎo)致進(jìn)行其他任務(wù)時(shí)出現(xiàn)變慢、卡頓等現(xiàn)象。因此,實(shí)時(shí)監(jiān)控系統(tǒng)的資源就變得非常重要。本文用Python編寫(xiě)了一款超治愈的RunCat監(jiān)控應(yīng)用系統(tǒng),需要的可以參考一下2022-06-06使用Atom支持基于Jupyter的Python開(kāi)教程詳解
這篇文章主要介紹了使用Atom支持基于Jupyter的Python開(kāi)發(fā),Vscode雖然說(shuō)也有連接Jupyter的工具,但是交互式的開(kāi)發(fā)Hydrogen體驗(yàn)更好,需要的朋友可以參考下2021-08-08Python導(dǎo)入oracle數(shù)據(jù)的方法
這篇文章主要介紹了Python導(dǎo)入oracle數(shù)據(jù)的方法,涉及Python讀取csv文件信息再插入到Oracle數(shù)據(jù)庫(kù)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Python多進(jìn)程與多線程的使用場(chǎng)景詳解
這篇文章主要給大家介紹了關(guān)于Python多進(jìn)程與多線程使用場(chǎng)景的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python給指定csv表格中的聯(lián)系人群發(fā)郵件(帶附件的郵件)
這篇文章主要介紹了python給指定csv表格中的聯(lián)系人群發(fā)郵件,本文通過(guò)代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12python3使用smtplib實(shí)現(xiàn)發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了python3使用smtplib實(shí)現(xiàn)發(fā)送郵件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05如何實(shí)現(xiàn)在jupyter notebook中播放視頻(不停地展示圖片)
這篇文章主要介紹了如何實(shí)現(xiàn)在jupyter notebook中播放視頻(不停地展示圖片),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04對(duì)python中assert、isinstance的用法詳解
今天小編就為的就分享一篇對(duì)python中assert、isinstance的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11