今天开会提到一个需求,将url对应的web界面转储为jpg或者pdf文件,google一番后发现了phpwkhtmltox() ,废话少说,安装步骤如下
我所用的机器php环境是同事提供安装的,安装路径:/opt/app/php5-fastcgi/,请自行参考自己的安装环境
1.首先下载wkhtmltopdf,要注意自己linux版本是64位还是32位,下载相应的版本,否则编译会出错,版本选择我下载的版本,具体命令:
-
file /sbin/init
-
/sbin/init: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
2.安装libwkhtmltox
-
mkdir libwkhtmltox
-
cd libwkhtmltox
-
wget http://wkhtmltopdf.googlecode.com/files/libwkhtmltox-0.10.0_rc2-amd64.tar.bz2
-
tar xjvf libwkhtmltox-0.10.0_rc2-amd64.tar.bz2
-
cp -v lib/libwkhtmltox.so /usr/local/lib
-
cp -Rv include/wkhtmltox/ /usr/local/include/
3.下载php-wkhtmltox
-
cd /opt/app/php5-fastcgi/bin
-
wget https://codeload.github.com/mreiferson/php-wkhtmltox/zip/3309e6e0cafd60a772e3f32741b144f89f6993da
-
unzip php-wkhtmltox-master.zip
-
cd php-wkhtmltox-master
-
../phpize
-
./configure
/*在生成makefile的时候,会报错,大概意思是需要php-config 文件,指定路径即可 */
locate php-config (最好先updatedb)
./configure --with-php-config=/opt/app/php5-fastcgi/bin/php-config CFLAGS='-L/usr/local/lib' LDFLAGS='-L/usr/local/lib'
//此处如果提示你需要更高级的版本,检查当前目录下的config.log 找到出错的地方,如果出现这个错误:
//usr/local/lib/libwkhtmltox.so: undefined reference to `FcFreeTypeQueryFace',解决方法如下:
-
wget http://fontconfig.org/release/fontconfig-2.4.2.tar.gz
-
tar xzvf fontconfig-2.4.2.tar.gz
-
cd fontconfig-2.4.2
-
./configure
-
make
-
make install
-
vim /etc/ld.so.conf
-
//添加一行
-
/usr/local/lib
-
ldconfig
-
//如上问题解决以后重新编译
-
./configure --with-php-config=/opt/app/php5-fastcgi/bin/php-config CFLAGS='-L/usr/local/lib' LDFLAGS='-L/usr/local/lib'
-
make
-
make install
-
vim /opt/app/php5-fastcgi/lib/php.ini
-
//添加一行
-
//extension="phpwkhtmltox.so"
-
/opt/app/php5-fastcgi/sbin/php-fpm reload
-
php -m | grep phpwkhtmltox
-
//有返回表示已经成功安装了
-
4.测试效果
-
cd /opt/app/php5-fastcgi/bin/php-wkhtmltox-master
-
php test_image.php
-
//下载图片结果,发现中文显示问题,运行如下命令解决
-
yum groupinstall chinese-support
再次测试,如无差错,应该显示正常,ok~
测试结果:因为工作需要,需要将url 生成pdf,原先使用的是php扩展库,使用下来发现页面排版混乱,google了API ,调试半天未果,实在不行下载了一个widows平台的版本,运行一下结果就正常了,如再有显示问题,可能是自己的css 有问题,感叹下不是啥都要集成的好,有时候就是要曲线救国~
阅读(5681) | 评论(0) | 转发(0) |