侧边栏壁纸
  • 累计撰写 26 篇文章
  • 累计创建 35 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

wkhtmltopdf 安装

Honesty
2022-03-15 / 0 评论 / 0 点赞 / 221 阅读 / 745 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-05-13,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

wkhtmltopdf

“wkhtmltopdf",是一个能够把网页/文件转换成PDF的工具。工具全名叫 “wkhtmltopdf” ; 是一个使用 Qt WebKit 引擎做渲染的,能够把html 文档转换成 pdf 文档 或 图片(image) 的**“命令行工具”**。

支持多个平台,可在win,linux,os x 等系统下运行。

安装

​ 通过文章底部的下载连接选择适合的版本注意系统版本 此处按照liunx版本来讲解

​ liunx版本的安装相对比较简单直接解压即可 解压后目录为use,重命名为wkhtmltopdf(强迫症)。 目录结构

/wkhtmltopdf/local/bin/

image-20220315221954582

  • wkhtmltopdf 把一个文件或网页转成pdf

  • wkhtmltoimage 把一个文件或网页转成图片

妥妥的见名知意

使用

把一个html文件转换成PDF

命令格式 :wkhtmltopdf xxx.html xxx.pdf

wkhtmltopdf 1.html 1.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

当你看到类似上面的内容时,说转换已经完成了,去打开转换好的pdf文档慢慢研究吧。

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

命令格式 : wkhtmltopdf url xxx.pdf

wkhtmltopdf www.yioks.com yioks.pdf
Loading pages (1/6)
QFont::setPixelSize: Pixel size <= 0 (0)                     ] 55%
Counting pages (2/6)
QFont::setPixelSize: Pixel size <= 0 (0)=====================] Object 1 of 1
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

当你看到如上信息时代表转换成功,是不是很酷。

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

命令格式 :

wkhtmltoimage xxx.html xxx.jpg
wkhtmltoimage url xxx.jpg    

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

使用过程中的问题

  • liunx环境下中文乱码
  • 部分liunx服务器缺少依赖lib

**中文乱码 **

liunx中缺少中文(宋体)字体文件,

(下载字体文件)

放置服务器中 /usr/share/fonts目录下

image-20220315222814244

缺少lib

libjpeg.so.62 的解决方案

image-20220315222900570

执行如下命令下载依赖

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 虽说慢至少样式还行

下载链接

【官网】:【http://wkhtmltopdf.org/】

【下载列表】

(详细使用)

0

评论区