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

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

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

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

第一步,下载安装

打开官网:https://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 : pydocsimport 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入门到精通大专栏

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

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

  1. 如何优雅地在公众号输入数学公式?推荐几款神器

    " 本文推荐微信公众号的数学公式排版的几款神器,非常适合学术类的公众号文章排版." 最近研究如何在公众号使用数学公式,公众号不支持markdown格式,非常麻烦,经过研究,发现了几 ...

  2. 推荐一款神器,不用写函数的“Excel”,统计数据比透视表还牛!

    做业务分析.做业务报表的人都离不开和数据打交道.一般我们要做一次统计分析报告,比如月底的销售业绩汇报,可能就要提前向IT部门提需求,让他们把我们需要的数据取数来,然后他们会写SQL把数据遍历出来,然后 ...

  3. 强烈推荐这款神器,一行命令将网页转PDF!

    作者 | 派森酱 来源 | Python技术 在日常工作生活中,我们常常会遇到一个需求:将网页保存为PDF. 比如,我比较喜欢某个公众号的文章,为了防止文章被删除,我想把这个公众号的历史文章保存为 P ...

  4. 推荐几款适用于手机做直播的提词器,快来收藏

    从事自媒体的小伙伴们或许都会使用一些提词器来帮助自己,提词器的使用不仅能够在拍摄视频时为我们提示台词,节省我们记忆台词的时间,还能够使得我们在拍摄时自信.流畅地进行口播,顺利地完成视频的拍摄,避免忘词 ...

  5. 网站漏洞扫描工具_如何实现免费网站漏洞扫描?推荐一款神器给你

    网站漏洞想必有网站的人都比较了解,想要了解网站漏洞,最好的办法就是给网站做一次漏洞扫描,网站漏扫产品比较多,费用也从几十/次到几千/次不等,但是对于我这种小企业来说,几千一次也是非常贵的,因此在我的努 ...

  6. 【推荐两款神器】不限速下载、追剧神器

    不废话!直接上神器! speedpan-你家宽带有多宽,它就有多快! 登陆我的网盘,可下载自己的资源(下载其他资源无需登录) 搜索百度网盘资源,随时下载 下载分享的资源 来看一下速度如何 我家宽带比较 ...

  7. 推荐一款神器:在浏览器中运行 vscode,随时随地写代码

    目录 瞎比比 什么都别说,先上图 需要什么配置条件? 如何配置? 关于 vscode 的插件 配置一个 python 开发环境 遇到的错误 瞎比比 最近看到 iPadOS 出来了,各种牛逼的操作真的很 ...

  8. 推荐一款神器:在浏览器中运行 VS Code,随时随地写代码

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 目录 发现 什么都别说,先上图 需要什么配置条件? 如何配置? 关于 vscode 的插件 配置一个 pyth ...

  9. 推荐5款图片素材网站!各个都超级奶思!总有你喜欢的那一个!

    1. 闪萌 http://www.weshineapp.com/ 全球最大的中文GIF动图搜索引擎!以搜索各种搞笑动图,用户也可以上传自己的动图作品,帮你轻松撩到漂亮小姐姐! 2. 无限图 http: ...

最新文章

  1. 域名注册商标_科技述说:一起了解网络域名的由来
  2. 生成模型与判别模型区别
  3. php分布式微服务开发_分布式微服务架构
  4. C语言函数不能返回局部变量的地址
  5. 2.2. 3.调度算法的评价指标
  6. mysql 8.0 postgresql_PostgreSQL8.0的安装和配置- -
  7. webpack对脚本和样式的处理
  8. ceph搭建_如何一键搭建并管理Filecoin集群节点 | Gamma OS新功能上线
  9. myisam为什么比innodb查询快_mysql存储引擎之MyISAM 和 InnoDB的比较
  10. windows 系统配置多网关win添加静态路由
  11. vue项目 构建 打包 发布 三部曲
  12. Thread中的静态代理
  13. 实现带有拉普拉斯修正的朴素贝叶斯_数据科学 | 算法工程师必备的机器学习贝叶斯分类器...
  14. 2021五一杯数学建模B题 消防救援问题
  15. 【百度之星程序设计大赛】2020年初赛第三场第四题Intersection
  16. Java输入/输出(I/O)流
  17. matlab中if语句的条件,matlabif条件语句
  18. python数学建模(三)插值常用库和模块
  19. Symbian 应用程序签名指南 和 Symbian Signed 认证指南
  20. 01背包问题(动态规划)

热门文章

  1. 华为联合强势“双非”深圳大学培养硕士,将根据需求确定生源!
  2. QCC51XX---Ellisys Bluetooth Analyzer 抓取步骤
  3. ashx接收ajax的数组,js 和C# ashx之间数组参数传递问题
  4. 学的计算机专业要购怎样的笔记本电脑,参考:上大学了买电脑吗?大学新生笔记本电脑购置全攻略...
  5. 有向图的必经点,支配树
  6. 关于spyder闪退打不开的解决方法
  7. AUTO占位符在C++中的作用
  8. php 仓储系统,一库仓储,PHP开源进销存系统 v2.8
  9. 月入10k的软件测试学习之路
  10. Python数据分析之Matplotlib(保姆级教程)