Python3實現(xiàn)網(wǎng)頁內容轉換成PDF文檔和圖片
1、引言
小魚:小屌絲,你這是干啥呢?
小屌絲:我的女神想要這個網(wǎng)頁的內容。
小魚:那你也不能這一點點的復制粘貼啊,
小屌絲:為了我的女神,再辛苦我都愿意…
小魚:咱能不能man一點,你直接把網(wǎng)頁內容爬下來不就完事了,
小屌絲:我的女神還要把這些內容轉換成PDF,
小魚:你的女神事可真多…
小屌絲:魚哥,你有什么好的法子嗎?
小魚:嗯,辦法嘛,確實有
小屌絲:我懂。
小魚:…上道這么快,果然為了你的女神,你什么都舍得,我也不磨嘰了,直接上教程。
2、代碼實戰(zhàn)
關于網(wǎng)頁的內容轉換成PDF,通常思路:
- 爬取網(wǎng)頁內容
- 保存到本地
- 轉換成PDF文檔
這種方法, 確實可以實現(xiàn),但是,很麻煩,需要轉兩次。
而今天,小魚給大家分享的方法,就3行代碼,一次搞定。
2.1 模塊介紹
2.1.1 pdfkit
pdfkit 是把 HTML+CSS 格式的文件轉換成 PDF 的一種工具,它是 wkhtmltopdf 這個工具包的 python 封裝。
2.2 安裝
pip install pdfkit
其它安裝方式,直接看這兩篇:
敲黑板:
pdfkit 是基于 wkhtmltopdf 的封裝,所以需要先安裝 wkhtmltopdf 。
2.3 代碼實例
2.3.1 URL 對應網(wǎng)頁轉 PDF
代碼示例:
# -*- coding:utf-8 -*- # @Time : 2022-06-12 # @Author : carl_DJ import pdfkit 'URL 對應網(wǎng)頁轉 PDF' #wkhtmltopdf.exe 為本地安裝的路徑 config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe") #調用pdfkit.from_url參數(shù),轉換PDF pdfkit.from_url(r'https://blog.csdn.net/wuyoudeyuer?type=blog', 'Carl_奕然.pdf', configuration=config)
運行結果:

2.3.2 HTML 文件轉 PDF
代碼示例:
# -*- coding:utf-8 -*- # @Time : 2022-06-12 # @Author : carl_DJ import pdfkit 'HTML 文件轉 PDF' config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe") #調用pdfkit.from_file參數(shù),轉換PDF pdfkit.from_file(r'D:\Carl_奕然的博客.html, 'Carl_奕然.pdf', configuration=config)
敲黑板
讀取html,需要調用pdfkit.from_file 參數(shù)。
2.3.3 字符串轉 PDF
代碼示例:
# -*- coding:utf-8 -*- # @Time : 2022-06-12 # @Author : carl_DJ import pdfkit '字符串轉 PDF' config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe") #調用pdfkit.from_file參數(shù),轉換PDF pdfkit.from_string(r'Ilike wangxinling, 'Carl_奕然.pdf', configuration=config)
運行結果

2.4 拓展
小屌絲:魚哥,如果我不想寫代碼,能不能一鍵轉換成PDF呢?
小魚:嗯,這個可以實現(xiàn),但是不能一鍵,必須一行代碼。
小屌絲:也行,能少些一行是一行。
2.4.1 網(wǎng)頁轉換PDF
開篇小魚也說過:pdfkit 是基于 wkhtmltopdf 的封裝,所以功能肯定也是基于 wkhtmltopdf 的。
于是乎,我們就能先到,直接用wkhtmltopdf 的功能,看看能否實現(xiàn)PDF轉換。
代碼示例
第一步、找到wkhtmltopdf的安裝路徑,以小魚的為例:
D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe
第二步、powershell打開,輸入命令
.\wkhtmltopdf.exe https://blog.csdn.net/wuyoudeyuer/category_9471191.html D:\carl.pdf
運行結果

解析
- .\wkhtmltopdf.exe :調用wkhtmltopdf.exe
- https://blog.csdn.net/wuyoudeyuer?type=blog:url地址
- D:\carl.pdf:保存的路徑
2.4.2 網(wǎng)頁轉換圖片
代碼示例
我們來試一下網(wǎng)頁轉換成圖片,
同樣,
第一步、打開powershell,進入到bin文件夾下
第二步、輸入命令:.\wkhtmltoimage.exe https://blog.csdn.net/wuyoudeyuer/category_9471191.html D:\carl.png
運行結果

3、總結
今天的分享,就到這里了。
是不是奇奇怪怪的姿勢,又增加了呢。
我們總結一下今天的內容:
pdfkit 可以可以實現(xiàn)的轉換:
- URL 對應網(wǎng)頁轉 PDF
- html文件轉 PDF
- 字符串轉 PDF
wkhtmltopdf.exe可以實現(xiàn)的轉換:
- 網(wǎng)頁轉圖片
- 網(wǎng)頁轉 PDF
到此這篇關于Python3實現(xiàn)網(wǎng)頁內容轉換成PDF文檔和圖片的文章就介紹到這了,更多相關Python網(wǎng)頁內容轉PDF 圖片內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python3.4 splinter(模擬填寫表單)使用方法
今天小編就為大家分享一篇Python3.4 splinter(模擬填寫表單)使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
django為Form生成的label標簽添加class方式
這篇文章主要介紹了django為Form生成的label標簽添加class方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
將Python中的數(shù)據(jù)存儲到系統(tǒng)本地的簡單方法
這篇文章主要介紹了將Python中的數(shù)據(jù)存儲到系統(tǒng)本地的簡單方法,主要使用了pickle模塊,需要的朋友可以參考下2015-04-04
python數(shù)據(jù)分析之如何刪除value=0的行
這篇文章主要給大家介紹了關于python數(shù)據(jù)分析之如何刪除value=0的行的相關資料,文中通過實例代碼以及圖文介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友可以參考下2022-12-12
PyCharm運行python測試,報錯“沒有發(fā)現(xiàn)測試”/“空套件”的解決
這篇文章主要介紹了PyCharm運行python測試,報錯“沒有發(fā)現(xiàn)測試”/“空套件”的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01

