Wkhtmltopdf Installation on Centos 7 Server

本文解决在CentOS7服务器上使用Flask应用时遇到的wkhtmltopdf库问题,包括连接X服务器错误及生成PDF文字显示为方块的情况。提供了解决方案,包括更新wkhtmltopdf版本及安装标准PostScript字体。

最近在Centos7 服务器上运行Flask应用,用到了把html转成pdf的功能,便使用了wkhtmltopdf库。但在部署上服务器后出现了无法运行该库,报错wkhtmltopdf: cannot connect to X server,并且生成的pdf文字为方块的问题。

问题出在CentOS的yum库里的wkhtmltopdf版本过旧,而新版的不再依赖X server。于是卸载旧wkhtmltopdf再从官网下载预编译版的。需要先安装yum库里的wkhtmltopdf。

wget http://download.gna.org/wkhtmltopdf/0.12/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
tar xvfJ wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
cd wkhtmltox/bin
sudo mv ./wkhtmltopdf /usr/bin/wkhtmltopdf
sudo chmod +x /usr/bin/wkhtmltopdf

(optional) 复制一份到/usr/local/bin

sudo cp /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf

运行命令测试:

wkhtmltopdf google.com ~/test.pdf

如果运行没问题且生成PDF正常,可以到此为止。
如果生成的字符都是方块,那么安装standard PostScript fonts:

sudo yum install urw-fonts libXext openssl-devel

收工。

参考资料:
https://github.com/pdfkit/pdfkit/issues/180
http://www.cnblogs.com/Jerryshome/p/5151664.html

### 在 CentOS 7 上安装 wkhtmltopdf 的指南 要在 CentOS 7 上成功安装 `wkhtmltopdf`,可以按照以下方法操作。以下是详细的说明: #### 方法一:通过官方 RPM 包安装 1. **更新系统软件包** 首先确保系统的软件包是最新的,可以通过运行以下命令来实现: ```bash sudo yum update -y ``` 2. **安装必要的依赖项** 安装一些必需的库和工具以支持 `wkhtmltopdf` 正常工作: ```bash sudo yum install -y gcc libXrender fontconfig xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 cups-libs mesa-libGL-devel ghostscript ``` 3. **下载并安装最新版本的 RPM 包** 访问 `wkhtmltopdf` 的发布页面获取最新的稳定版 RPM 文件链接[^2]。例如,对于版本 `0.12.6-1` 可执行如下命令: ```bash wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos7.x86_64.rpm ``` 4. **使用 rpm 命令完成安装** 使用 `rpm` 工具安装已下载的 `.rpm` 软件包: ```bash sudo rpm -Uvh wkhtmltox-0.12.6-1.centos7.x86_64.rpm ``` 5. **验证安装是否成功** 运行以下命令确认 `wkhtmltopdf` 是否正常安装以及其版本号: ```bash wkhtmltopdf --version ``` --- #### 方法二:手动编译源码安装 如果需要更灵活的方式或者特定配置需求,则可以选择从源代码构建。 1. **准备开发环境** 确保已经安装了 C++ 编译器和其他必要组件: ```bash sudo yum groupinstall "Development Tools" sudo yum install -y qtwebkit-devel glibc-static libstdc++-static openssl-devel zlib-devel libpng-devel libjpeg-turbo-devel freetype-devel lcms2-devel tiff-devel giflib-devel ``` 2. **克隆仓库或下载 tarball** 获取项目源码文件,推荐直接拉取 Git 存储库中的内容: ```bash git clone https://github.com/wkhtmltopdf/wkhtmltopdf.git cd wkhtmltopdf ``` 3. **编译与安装** 执行标准 GNU 构建过程进行本地化部署: ```bash mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` 4. **测试功能可用性** 同样可通过调用帮助选项查看程序状态: ```bash wkhtmltopdf --help ``` --- #### 注意事项 - 如果计划在无图形界面服务器环境中运行该应用,请额外注意可能存在的字体渲染问题[^1]。 - 对于某些特殊场景下的 PDF 输出样式调整,建议查阅相关文档了解 CSS 支持范围及其局限性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值