php-wkhtmltox

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.