type
status
date
urlname
summary
tags
category
icon
password
catalog
sort

wkhtmltopdf

“wkhtmltopdf",是一个能够把网页/文件转换成PDF的工具。工具全名叫 "wkhtmltopdf" ; 是一个使用 Qt WebKit 引擎做渲染的,能够把html 文档转换成 pdf 文档 或 图片(image) 的**“命令行工具”**。
支持多个平台,可在win,linux,os x 等系统下运行。

安装

通过文章底部的下载连接选择适合的版本注意系统版本 此处按照liunx版本来讲解
liunx版本的安装相对比较简单直接解压即可 解压后目录为use,重命名为wkhtmltopdf(强迫症)。 目录结构
/wkhtmltopdf/local/bin/
notion image
  • wkhtmltopdf 把一个文件或网页转成pdf
  • wkhtmltoimage 把一个文件或网页转成图片
妥妥的见名知意

使用

把一个html文件转换成PDF

命令格式 :wkhtmltopdf xxx.html xxx.pdf
当你看到类似上面的内容时,说转换已经完成了,去打开转换好的pdf文档慢慢研究吧。

把一个 url 指向的网页转换成PDF

命令格式 : wkhtmltopdf url xxx.pdf
当你看到如上信息时代表转换成功,是不是很酷。

把html文件 和 url指向的网页 转换成图片

命令格式 :
其实和转pdf时的参数是一样的,只是命令和输出文件的扩展名变了。上的命令格式中,我是把图片保存成了 jpg 格式,当然,如果你愿意也可以保存成其他图片格式(如:png),但文件可能会变大很多倍。在我的测试中,jpg格式文件是最小的。

使用过程中的问题

  • liunx环境下中文乱码
  • 部分liunx服务器缺少依赖lib
  • *中文乱码 **
liunx中缺少中文(宋体)字体文件,
放置服务器中 /usr/share/fonts目录下
notion image
缺少lib
libjpeg.so.62 的解决方案
notion image
执行如下命令下载依赖
yum install fontconfig freetype libpng libjpeg libX11 libXext libXrender xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi

其他的html转pdf方案

  • itextpdf.html2pdf 可转换样式简单的html使用简单速度快,对CSS样式支持不是很好。在contract中的实现为 PdfGeneratorIText
  • lowagie.itext 可转换较复杂的html,但对格式极其严苛。速度快
也有其他几款转换工具但都有或多或少的缺陷,wkhtmltopdf 虽说慢至少样式还行

下载链接

 
wkhtmltopdf详细使用Mysql数据结构&锁
  • Giscus