首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HTML转PDF工具Wkhtmltopdf安装使用

HTML转PDF工具Wkhtmltopdf安装使用

作者头像
后场技术
发布2020-09-03 14:51:35
发布2020-09-03 14:51:35
3.3K0
举报
文章被收录于专栏:后场技术后场技术

空心菜

读完需要

5

分钟

速读仅需 2 分钟

在这里推荐一款比较好用的 HTML 转换为 PDF 的工具 Wkhtmltopdf,安装使用介绍如下。

1

Centos7 下安装

系统信息:

系统: Centos7.6 CPU架构: X86 系统架构: 64位

在版本0.12.4官方是有通用的 x86 下面的编译好的安装包,解压即可用的,但是新版没有构建,但是没有关系,有 Centos7 下的 RPM 包。

下载安装包:

代码语言:javascript
复制
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm

包依赖安装:

代码语言:javascript
复制
$ yum -y install fontconfig libX11 libXext libXrender xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

安装:

代码语言:javascript
复制
$ rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm 
准备中...                          ################################# [100%]
安装... wkhtmltox-1:0.12.5-1.centos7     ################################# [100%]

默认就可以用了:

代码语言:javascript
复制
$ /usr/local/bin/wkhtmltopdf -V
wkhtmltopdf 0.12.5 (with patched qt)

如果生成的字符都是方块,那么你需要安装standard PostScript fonts:

代码语言:javascript
复制
$ yum -y install urw-fonts openssl-devel

Tips: 如果中文不显示,则需要将windows下的字体,例如simsun.ttc、msyh.ttf或者msyhbd.ttf复制到Linux系统/usr/share/fonts目录下。

2

Arm 架构下 UOS20 下编译安装

系统信息:

系统: Uos20 CPU架构: ARM 系统架构: 64位

下载源码:

代码语言:javascript
复制
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/archive/0.12.5.tar.gz

安装依赖:

代码语言:javascript
复制
$ apt-get install qt5-default qtcreator  libqtwebkit-dev libqt5webkit5-dev qt5-qmake  libqt5svg5* libqt5xml5 libqt5xmlpatterns5 libqt5xmlpatterns5-dev -y

$ ln -s /usr/lib/aarch64-linux-gnu/qt5/bin/qmake /usr/bin/qmake

编译:

代码语言:javascript
复制
tar zxf wkhtmltopdf-0.12.5.tar.gz
cd wkhtmltopdf-0.12.5
mkdir /data/app/wkhtmltopdf

qmake PREFIX=/data/app/wkhtmltopdf
make
make install

3

使用测试

代码语言:javascript
复制
$ /data/app/wkhtmltopdf/bin/wkhtmltopdf https://www.baidu.com ./baidu.pdf
Loading page (1/2)
QNetworkReplyHttpImplPrivate::_q_startOperation was called more than once QUrl("https://www.baidu.com/")
Printing pages (2/2)
Done
                                                        
$ /data/app/wkhtmltopdf/bin/wkhtmltoimage https://www.baidu.com ./baidu.png
Loading page (1/2)
QNetworkReplyHttpImplPrivate::_q_startOperation was called more than once QUrl("https://www.baidu.com/")
Rendering (2/2)
Done

结果:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后场技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档