wkhtmltox is a great piece of kit to convert webpages to PDF format.
It is – however – an absolute Pita to install, as there are minimal resources on the net for installing this onto a Linux Server.
The first step is to download both the static library
libwxhtmltox
and the wkhtmltox static binary
wkhtmltopdf
Both of these can be downloaded from the Google Code repository found HERE Download the correct files for your server (i386 or amd64).
The will be packed in the unusal bunzip2 format, to exact type
bunzip2 #filename#
Then tar the file out with
tar xvf #filename#
copy the wkhtmltox directory to /usr/local/include
copy the lib/libwkhtmltox.so to /usr/local/lib/
unpack wkhtmltopdf and copy to a dir which is symlinked so you can use the CLI version from anywhere in your shell.
To add the PHP-extension requires a little more trickery.
Firstly download the source from HERE
unpack and run these commands
phpize
./configure
make test
make install
If the make test fails, it usually will mean that php was unable to load the library, so you need to add the following .
Go to
/etc/ld.so.conf.d/
and edit (or create if it doesn’t exist)
usr-local-lib.conf
add the following path
/usr/local/lib
then in your php.ini file add
extension=phpwkhtmltox.so
restart your web server, and check your phpinfo() to make sure the phpwkhtmltox extension has been loaded.
If you are installing on 32bit Centos 5.x you may have a very hard time trying to figure out why the phpize/configure fails. It usually means that you don’t have fontconfig installed, or it is an older version.
If you want to produce PDF’s from a site that is SSL enabled, you will fail… miserably… WKHTML 0.11 breaks UNLESS openssl-devel package has been installed… I lost 4 years of my life and now have a head full of grey hair. Hopefully this little tid bit of information helps some other poor soul.
You may also find that the rendered PDF’s have garbled boxes, you will need these fonts installed – on Centos
yum install urw-fonts
Comments are closed.