Ubuntu12.04编译wkhtml2pdf

Ubuntu上直接下载wkhtmltopdf,解压后执行命令操作确实可以实现截屏,但存在从html直接转为pdf时的部分样式、字体、的错位和色差。

由于mac osx上使用wkhtmltopdf需要编译qt,所以老老实实的阅读了README_WKHTMLTOPDF,并按照官方的操作步骤走了一遍(详见osx10.8编译wkhtmltopdf),发现木有Ubuntu上之前的那些个失真现象,所以在Ubuntu上试了下qt的整套编译,发现编译了qt以后再本地编译生成wkhtmltopdf也不会出现失真现象,Nice!

详细编译步骤如下:

1)编译环境:X11, gcc, git, openssl;Ubuntu下还需要openssl build-essential xorg libssl-dev libxrender-dev(否则之后的会报各种bug, warning,编译失败)
1
sudo apt-get install openssl build-essential xorg git-core git-doc libssl-dev [..]
2)安装qt相关的依赖
1
sudo apt-get build-dep libqt4-gui libqt4-network libqt4-webkit
3)下载qt
1
git clone git://gitorious.org/+wkhtml2pdf/qt/wkhtmltopdf-qt.git wkhtmltopdf-qt
4)编译qt
1
2
3
4
5
6
7
cd wkhtmltopdf-qt
QTDIR=. ./bin/syncqt  ##这个我也不确定有没有用,因为中途编译失败过,就不晓得这个参数有没有起效
cat ../wkhtmltopdf/static_qt_conf_base ../wkhtmltopdf/static_qt_conf_linux | sed -re 's/#.*//'
./configure -nomake tools,examples,demos,docs,translations -opensource -prefix ../wkqt
make -j3
make install
cd ..

5)如果上一步成功的话,当前目录下会有一个wkqt文件夹,否则表示编译失败(原因可能是qt编译相关的依赖没有安装,请按步骤1检查下自己的安装环境)。wkqt成功生成以后,接下来开始编译wkhtmltopdf

1
2
3
4
git clone git://github.com/antialize/wkhtmltopdf.git wkhtmltopdf
cd wkhtmltopdf
../wkqt/bin/qmake
make -j3
6)编译成功以后,可以检查下wkhtmltopdf和wkhtmltoimage命令是否生成
1
2
wkhtmltopdf --version
wkhtmltoimage --version

 

参考https://github.com/antialize/wkhtmltopdf 中 README_WKHTMLTOPDF(Row435附近)
原文地址:https://www.cnblogs.com/timelyxyz/p/2835343.html