强烈推荐这款神器,把网站转pdf还能编程高级定制!【建议收藏】

小知识,大挑战!本文正在参与「程序员必备小知识」创作活动
本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。

正式的Python专栏第8篇,同学站住,别错过这个从0开始的文章!

学委之前写过一篇把热榜保存为html文件的,这次利用上次写的部分代码继续拓展:生成pdf文件。

我们需要的就是这个软件: wkhtmltopdf

它做的事就一件很专注:网页html生成 pdf (或者图片)

在这里插入图片描述

第一步,下载安装

打开官网:wkhtmltopdf.org/

下载苹果电脑的pkg文件。

学委用的是苹果电脑,下载的是下面这个软件。
在这里插入图片描述
点击下一步一步的,默认设置就好。

第二步,验证一下,把百度生成pdf

打开任意一个终端,运行下面的脚本。

#这里雷学委直接把百度首页保持为pdf
wkhtmltopdf https://baidu.com baidu.pdf

#保持内容为图片
wkhtmltoimage https://baidu.com baidu.png
复制代码

如下图所示, wkhtmltopdf 这个软件不止生成pdf文件,还能生存图片。

在这里插入图片描述

随便找个文章链接就能保存为pdf

比如把学委的文章保存为pdf

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

保存的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')
复制代码

效果如下:

在这里插入图片描述

延伸

多数情况下,我们可以使用wkhtmltopdf来直接把链接直接保存为pdf文件。

pdf高级定制参考上面的代码。从上面的代码,我们可以看出,pdfkit可以根据任意的html代码来生成pdf。

对了,想要学习的现在立马点击链接加入打开学习Python全栈技术学习交流】:

所以只要去找一些好看的html网页模板,进行调整既可以生成各种款式的pdf文件。

喜欢Python的朋友,请关注学习 Python基础专栏 or Python入门到精通大专栏

持续学习持续开发,我是雷学委!
编程很有趣,关键是把技术搞透彻讲明白。
创作不易,请关注收藏点赞,或者留下评论打打气!

猜你喜欢

转载自juejin.im/post/7018952432466001957