天天看點

強烈推薦這款神器,把網站轉pdf還能程式設計進階定制!【建議收藏】第一步,下載下傳安裝第二步,驗證一下,把百度生成pdf第三步,進階定制。用python來定制生成pdf延伸

學委之前寫過一篇把熱榜儲存為html檔案的,這次利用上次寫的部分代碼繼續拓展:生成pdf檔案。

我們需要的就是這個軟體: wkhtmltopdf

它做的事就一件很專注:網頁html生成 pdf (或者圖檔)

強烈推薦這款神器,把網站轉pdf還能程式設計進階定制!【建議收藏】第一步,下載下傳安裝第二步,驗證一下,把百度生成pdf第三步,進階定制。用python來定制生成pdf延伸

第一步,下載下傳安裝

打開官網:

https://wkhtmltopdf.org/

下載下傳蘋果電腦的pkg檔案。

學委用的是蘋果電腦,下載下傳的是下面這個軟體。

強烈推薦這款神器,把網站轉pdf還能程式設計進階定制!【建議收藏】第一步,下載下傳安裝第二步,驗證一下,把百度生成pdf第三步,進階定制。用python來定制生成pdf延伸

點選下一步一步的,預設設定就好。

第二步,驗證一下,把百度生成pdf

打開任意一個終端,運作下面的腳本。

#這裡雷學委直接把百度首頁保持為pdf
wkhtmltopdf https://baidu.com baidu.pdf

#保持内容為圖檔
wkhtmltoimage https://baidu.com baidu.png
      

如下圖所示, wkhtmltopdf 這個軟體不止生成pdf檔案,還能生存圖檔。

強烈推薦這款神器,把網站轉pdf還能程式設計進階定制!【建議收藏】第一步,下載下傳安裝第二步,驗證一下,把百度生成pdf第三步,進階定制。用python來定制生成pdf延伸
強烈推薦這款神器,把網站轉pdf還能程式設計進階定制!【建議收藏】第一步,下載下傳安裝第二步,驗證一下,把百度生成pdf第三步,進階定制。用python來定制生成pdf延伸

随便找個文章連結就能儲存為pdf

比如把學委的文章儲存為pdf

wkhtmltopdf https://blog.csdn.net/geeklevin/article/details/120073157\?spm\=1001.2014.3001.5501 leixuewei.01.pdf

      

儲存的pdf檔案如下:

強烈推薦這款神器,把網站轉pdf還能程式設計進階定制!【建議收藏】第一步,下載下傳安裝第二步,驗證一下,把百度生成pdf第三步,進階定制。用python來定制生成pdf延伸

這個軟體就是直接把整個網頁變成pdf,原樣儲存。

第三步,進階定制。用python來定制生成pdf

這裡把前面文章

❤️爬蟲截熱榜長屏不友善閱讀!推薦dominate直接生成報告❤️

把裡面的report.py 複制一下。

1 先安裝下面的依賴

pdfkit
dominate
      

2 編寫下面的代碼定制網頁來實作pdf定制

然後編寫下面的代碼,調用report.py 生成表格頁面,儲存為html

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/9/4 8:38 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : pdf_demo.py
# @Project : pydocs


import pdfkit
import report 

# PDF中包含的文字
lxw_tuples = []
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_11143102.html?spm=1001.2014.3001.5482","雷學委趣味程式設計故事彙編"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_11235756.html","程式設計新手指南"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_10980215.html","Python從入門到精通"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_11159040.html","學會Python等于擁有整個世界!"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_11253201.html","沉住氣學習爬蟲"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_11099259.html","架構運維"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_10461966.html","雷學委之NodeJS愛好系列"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_10532880.html","雷學委的DevOps一條龍"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_11291617.html","LINUX程式員都要懂"))
lxw_tuples.append(("https://blog.csdn.net/geeklevin/category_10725914.html","[小白向Linux基操]"))

# 調用之前熱榜儲存為html文章的generate_html,根據專欄資料生成html頁面代碼
#https://blog.csdn.net/geeklevin/article/details/119657231?spm=1001.2014.3001.5501 内實作的report.py腳本的generate_html函數

html = report.generate_html(lxw_tuples)

# 這裡雷學委把html源代碼轉換為PDF
pdfkit.from_string(html, './leixuewei_zhuanlan.pdf')
      

效果如下:

強烈推薦這款神器,把網站轉pdf還能程式設計進階定制!【建議收藏】第一步,下載下傳安裝第二步,驗證一下,把百度生成pdf第三步,進階定制。用python來定制生成pdf延伸

延伸

多數情況下,我們可以使用wkhtmltopdf來直接把連結直接儲存為pdf檔案。

pdf進階定制參考上面的代碼。從上面的代碼,我們可以看出,pdfkit可以根據任意的html代碼來生成pdf。