Proof of Concept tutorial
This is a barebones guide on getting HTML to PDF / HTML to Image conversion using Windows 7, PHP and Wkhtmltopdf. This is a POC only; this tutorial does not describe server installation or configuration (using a package like WAMP makes it easy anyway). I might add those in a later revision or an extended version of this guide.The steps
- Download wkhtmltopdf
- Installation step 1
- Installation step 2
- Installation step 3
- Start WampServer
- Open www-directory
- Create a test file
- Call the test file
- Examine generated
- Compare file contents
Download wkhtmltopdf
Installation step 1
Installation step 2
Installation step 3
Start your WWW Server
I use WAMP. It is very simple, easy to install, has sensible defaults but it's also very configurable.
Open www-directory
Create a test file
<?php
// Test correct and failed output
shell_exec('c:\wkhtmltopdf\wkhtmltopdf --asdasdsadsad 2>> err1.txt 1>> out1.txt');
shell_exec('c:\wkhtmltopdf\wkhtmltopdf --version 2>> err2.txt 1>> out2.txt');
?>
<html>
<head>
</head>
<body>
<p>Magical ponies!</p>
</body>
</html>
Here we are intentionally forcing an error with the bogus parameter -asdasddas so we can test that we indeed do get stderr output.
Call the test file
Examine generated
Compare file contents
shell_exec('c:\wkhtmltopdf\wkhtmltopdf --asdasdsadsad 2>> err1.txt 1>> out1.txt');
The second test generated the standard version output as expected and nothing to standard error output.
shell_exec('c:\wkhtmltopdf\wkhtmltopdf --version 2>> err2.txt 1>> out2.txt');
If this is not the case, you need to check that you are pointing to the right path when calling wkhtmltopdf and that your PHP server is configured correctly. If you get no errors, check that PHP error reporting is on and check what the Apache and PHP error logs say. If your WAMP is installed into C:\wamp, your Apache log will by default be at C:\wamp\logs\apache_error.log and your PHP log will be at C:\wamp\logs\php_error.log.