网页转换为PDF的方法 Python
前言
近期有些文档是在网站上的,量非常大。加之对于纸质书的喜爱,想把他们整合到一个PDF文档中,然后交由拼多多的老熟人打印店给打一下。
但是这个网站网页转PDF有很多在线网站可以用,不过只能转一个页面。鸡肋!
找了半天找到一个还凑活的方法。用Python实现的。(虽说是凑活,但已经是可以找到的最好方法了!)
1 下载 wkhtmltopdf
官方下载地址: wkhtmltopdf
一个开源的命令行工具,功能是HTML转PDF。用C语言实现。也是目前比较知名的一个转换开源项目。
下载完成后,将它添加到环境目录中。因为是命令行工具,添加到环境变量中的path中可以让cmd快速的找到这个程序,否则命令行怎么知道这个程序在哪?
1.1 尝试初次转换

wkhtmltopdf https://baidu.com baidu.pdf
2 安装 Pdfkit
由于 wkhtmltopdf 命令行使用比较繁琐,需要很多的参数设置,所以就有人写了一个Python的包去简化它的使用。变成了几个函数。
pip install pdfkit
3 使用
import pdfkit
# one url to pdf
pdfkit.from_url('www.baidu.com','baidu.pdf')
# url's list to pdf
pdfkit.from_url(['www.qq.com', 'www.baidu.com'], 'bat.pdf')
print('Done!')
使用感受
PDFKIT确实简化了kmhtmltopdf的使用。
一个网页链接还好转,今天我直接弄了300个网址的链接作成列表,传进去转换直接 game over了。
又试了试两个url的列表,发现第一个链接转成的pdf是空白的。
pdfkit官方说,转不对劲了就看看单独使用kmh2p可不可以转。这是一个测试的方向。
网页转换为PDF的方法 Python的更多相关文章
- 使用Pechkin将HTML网页转换为PDF
Pechkin开源组件使用wkhtmlbox,可以解析CSS样式,将网页转换为PDF文件, 支持URL,或者HTML字符串 1, 从NuGet程序管理器中获得Pechkin GlobalConfig ...
- wkhtmltopdf 将网页转换为PDF和图片
wkhtmltopdf 是一个shell工具,它使用了WebKit渲染引擎和Qt,将网页html转换为pdf的强大工具,转换后的pdf也可以通过pdf工具进行复制.备注.修改 官网下载地址:http: ...
- Python爬虫实战:将网页转换为pdf电子书
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...
- 关于html转换为pdf案例的一些测试与思考
由于工作所需,最近花时间研究了html转换为pdf的功能.html转换为pdf的关键技术是如何处理网页中复杂的css样式,通过在网上收集资料,发现目前html 转换为pdf的解决方案主要分为三类: 客 ...
- 通过Pdf预览Excel或者word或者Powerpoint (C#将Office转换为PDF)
下面代码是Excel转换为PDF using System; using System.Collections.Generic; using System.Linq; using System.Web ...
- 在asp.net 中生成PDF的方法
近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsha ...
- 程序生成word与PDF文档的方法(python)
程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用free ...
- Python将HTML转换为PDF
Python将HTML转换为PDF 使用pdfkit库和wkhtmltopdf, pip install pdfkit wkhtmltopdflinux中一般需要添加sudo权限. Windows安装 ...
- Python下载网页的几种方法
get和post方式总结 get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在 ...
- C#实现office文档转换为PDF或xps的一些方法( 转)
源博客http://blog.csdn.net/kable999/article/details/4786654 代码支持任意office格式 需要安装office 2007 还有一个office20 ...
随机推荐
- pytorch不像TensorFlow那样有专用的文件存储格式真的是不足吗?pytorch该如何处理大量小文件的读取呢?
偶然发现前文: [转载] PyTorch下训练数据小文件转大文件读写(附有各种存储格式对比) 在谈论pytorch的文件读取问题,因为以前是搞TensorFlow的,后来由于编写效率和生态环境问题转为 ...
- SSH如何通过proxy进行服务器连接
openssh是什么这里不做解释,但凡是用过linux系统的一般都是会了解这个的,毕竟openssh都是系统自带的应用. openssh一般都是指linux上的客户端,很多linux系统自有客户端的s ...
- 使用tensorbaoardx报错——Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
运行代码报错: from tensorboardX import SummaryWriter 报错内容: 发生异常: TypeError Descriptors cannot not be creat ...
- Java中0.2减0.1 结果为什么不是0.1?
double 表示这种类型的数值精度是 float 类型的两倍(有人称之为双精度数值).绝大部 分应用程序都采用double 类型.在很多情况下,float 类型的精度很难满足需求.实际上,只 有很少 ...
- vite创建的react项目如何兼容低版本安卓,低版本安卓不支持es6语法
Vite 是一个现代化的前端构建工具,默认情况下,它会生成基于 ES6+ 的代码.这对于大多数现代浏览器来说是没有问题的,但对于一些较旧版本的安卓浏览器可能会遇到兼容性问题. 为了使 Vite 创建的 ...
- vba for excel 随笔
q1: excel 没有vba入口 1. 快捷键:Alt + F11 2.调出开发工具 1. 打开文件后,依次点击菜单项[文件]-[选项]: 2.在"Excel"选项界面中点击左侧 ...
- C语言编程-GCC编译过程
gcc编译 预处理 ->编译->汇编->链接 预处理 gcc -E helloworld.c -o helloworld.i 头文件展开:不检查语法错误,即可以展开任意文件: 宏定义 ...
- env 命令简介
env 命令在 Unix 和 Unix-like 操作系统中,是用来运行一个指定的程序/命令,在执行时可以修改环境变量的一个工具.使用 env 可以启动任何指定的指令,并在这个指令的执行过程中设置或者 ...
- AI图像放大工具,图片放大无所不能
AI图像放大工具,如ESRGAN,对于提高由Stable Diffusion生成的AI图像质量至关重要.它们被广泛使用,以至于许多Stable Diffusion的图形用户界面(GUI)都内置了支持. ...
- .NET 9 中 LINQ 新增的功能
LINQ介绍 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称.数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持.此外,需要针对每种 ...