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附近)