因為工作需要,需要把HTML的網(wǎng)頁轉(zhuǎn)換成可以被郵件發(fā)送的圖片或者PDF.
在網(wǎng)上一通亂找,找到了一個工具,wkhtmltox.
官網(wǎng)地址:https://wkhtmltopdf.org/ 官網(wǎng)上介紹了它大致的作用和使用方法.光看不動手體會不到工具的效果,開始動手,采坑.
在https://wkhtmltopdf.org/downloads.html 下載工具所需要的插件如下圖.目前開發(fā)環(huán)境在Windows上,我下載的是Windows版本.

下載完畢后打開插件查看目錄結(jié)構(gòu)如下圖.

開始上代碼實現(xiàn)功能:
import imgkit
if __name__ =='__main__':
path_wkimg =r'wkhtmltox\bin\wkhtmltoimage.exe' # 工具路徑
cfg = imgkit.config(wkhtmltoimage=path_wkimg)
option = {
'--javascript-delay':'2000',
'--enable-local-file-access':None,
'--enable-plugins':None,
'--enable-Javascript':None
}
url ='http://www.itdecent.cn/'
# 2、從url獲取html,再轉(zhuǎn)為圖片
image_path ='test.jpg'
imgkit.from_url(url, image_path, options=option, config=cfg)
運行后結(jié)果

算是成功生成了圖片,生成PDF也大同小異.
這個工具處理靜態(tài)HTML網(wǎng)頁挺nice的,但之后嘗試了許多動態(tài)的網(wǎng)站,如Echart圖標(biāo)等網(wǎng)站,有些網(wǎng)址無法生成圖片,會有空白或者頁面缺少元素的情況,感覺這個工具不是很完美.
經(jīng)過一番折騰,也參考了官方文檔:
https://wkhtmltopdf.org/libwkhtmltox/pagesettings.html#pageImageGlobal
https://wkhtmltopdf.org/usage/wkhtmltopdf.txt
設(shè)置生成圖片時候的參數(shù),都沒有達到預(yù)期的效果,如果有小伙伴有幸完美使用了這個工具,通過這個工具可以把任何網(wǎng)站展示內(nèi)容變?yōu)閳D片求告訴用法.
此工具實現(xiàn)動態(tài)加載的網(wǎng)頁效果有偏差,之后使用selenium截圖的方式替代了.(http://www.itdecent.cn/p/ba6565530696 是我對selenium截圖的方式的實踐)