前言

近期有些文档是在网站上的,量非常大。加之对于纸质书的喜爱,想把他们整合到一个PDF文档中,然后交由拼多多的老熟人打印店给打一下。

但是这个网站网页转PDF有很多在线网站可以用,不过只能转一个页面。鸡肋!

找了半天找到一个还凑活的方法。用Python实现的。(虽说是凑活,但已经是可以找到的最好方法了!)

1 下载 wkhtmltopdf

官方下载地址: wkhtmltopdf

一个开源的命令行工具,功能是HTML转PDF。用C语言实现。也是目前比较知名的一个转换开源项目。

下载完成后,将它添加到环境目录中。因为是命令行工具,添加到环境变量中的path中可以让cmd快速的找到这个程序,否则命令行怎么知道这个程序在哪?

1.1 尝试初次转换

image

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可不可以转。这是一个测试的方向。