日常中我们总是需要将一些网页转换成pdf格式使用,尽管可以使用浏览器自带的功能实现,但面对批量转换时就显的有点力不从心了;或者需要在项目中调用该项功能实现转换。
今天,就给大家介绍一款好用的开3源项目-wkhtmltopdf,只需要一行命令就可以实现上述功能,配合各种语言,能实现程序内的自由调用,非常容易实现批量化操作。
简介
wkhtmltopdf一个使用 WebKit 网页渲染引擎开发的用来将 HTML 文档转成 PDF 文档的工具,可以跟多种脚本语言进行集成来转换文档,适用于Windows,Macos,Linux,在GitHub上有12.5k Star。
基础使用
以Windows为例
为了能让软件在任何目录下都能运行,在安装好软件后,需要将其添加到系统变量中
运行命令行代码:
wkhtmltopdf http://www.cxy521.com d:/pdf/cxy521.pdf
批量处理
对于有多个html需要转换的,可以将它们转换到一个pdf文件中
wkhtmltopdf http://www.cxy521.comhttp://www.baidu.com d:/pdf/cxy+baidu.pdf
或则通过批处理单独转换成一个个pdf文件
@echo off
title html to pdf
rem 遍历当前目录下所有 .html 文件,转换成pdf文件存放在当前目录
for %%i in ( *.html) do wkhtmltopdf toc %%i %%~ni.pdf
pause
注意:html文件名称含有中文时,可能会存在无法转换的问题。
集成使用
以Python为例
在Pycharm中,下载安装pdfkit
输入代码:
import pdfkit
# pdfkit是python对wkhtmltopdf调用的封装,支持URL,本地文件,文本内容到PDF的转换
# 设置环境变量,如果有设置可省略
path_wkthmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
# 将对应网页转换为pdf格式,并保存在当前目录下
pdfkit.from_url('http://www.baidu.com', 'out.pdf', configuration=config)
写在最后
以上只是简单的对wkhtmltopdf功能的介绍,实际上该软件功能十分强大,可以通过 wkhtmltopdf -h
查看详细的命令,动手试试;另外,还有一个能将网页转换成图片的功能-wkhtmltoimage
,有兴趣的朋友可以试试效果哦!