Python自動化辦公之Word轉(zhuǎn)PDF的實(shí)現(xiàn)
該章節(jié)我們將要學(xué)習(xí)如何將 word 文件轉(zhuǎn)為 PDF文件,其實(shí)網(wǎng)上有很多種生成 PDF 的教程,不過絕大多數(shù)都是以 windows 為主的,并且兼容有很多的問題。windows、mac、linux 同時兼容的情況比較少,所以今天的章節(jié)我們就來學(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測試文件.html', 'html測試文件.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文件有可能是我們本地開發(fā)生成的,也有可能是通過 “網(wǎng)頁另存為” 的方式存儲在本地的。所以 網(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>你好,這是一個html字符串轉(zhuǎn)為pdf的測試文件</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 格式(會生成一個 html 的字符串對象)
將 生成的 html 字符串 寫入到一個 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('簡歷1.docx') f = open('簡歷1.html', 'w') f.write(html) f.close() #pdfkit.from_file('html1.html', 'test3.pdf') pdfkit.from_string(html, '簡歷1.pdf')
運(yùn)行結(jié)果如下:
到此這篇關(guān)于Python自動化辦公之Word轉(zhuǎn)PDF的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python Word轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python編寫一個監(jiān)控CPU的應(yīng)用系統(tǒng)
在使用電腦辦公時,有時候不知道哪些軟件或進(jìn)程會占用大量的資源,導(dǎo)致進(jìn)行其他任務(wù)時出現(xiàn)變慢、卡頓等現(xiàn)象。因此,實(shí)時監(jiān)控系統(tǒng)的資源就變得非常重要。本文用Python編寫了一款超治愈的RunCat監(jiān)控應(yīng)用系統(tǒng),需要的可以參考一下2022-06-06Python導(dǎo)入oracle數(shù)據(jù)的方法
這篇文章主要介紹了Python導(dǎo)入oracle數(shù)據(jù)的方法,涉及Python讀取csv文件信息再插入到Oracle數(shù)據(jù)庫的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07python給指定csv表格中的聯(lián)系人群發(fā)郵件(帶附件的郵件)
這篇文章主要介紹了python給指定csv表格中的聯(lián)系人群發(fā)郵件,本文通過代碼講解的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12python3使用smtplib實(shí)現(xiàn)發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了python3使用smtplib實(shí)現(xiàn)發(fā)送郵件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05如何實(shí)現(xiàn)在jupyter notebook中播放視頻(不停地展示圖片)
這篇文章主要介紹了如何實(shí)現(xiàn)在jupyter notebook中播放視頻(不停地展示圖片),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04對python中assert、isinstance的用法詳解
今天小編就為的就分享一篇對python中assert、isinstance的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11