terah/wkhtml-wrapper

A fluent interface to the wkhtmltopdf utility


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

A simple class to provide a fluent interface to the wkhtmltopdf utility

Install

Get the wkhtmltopdf binary from http://wkhtmltopdf.org/

Get this library via Composer

$ composer require terah/wkhtml-wrapper

Usage


$pdf = new Terah\Wkhtml\Wkhtml('/path/to/wkhtmltopdf', '/path/to/xvfb-run', '--server-args="-screen 0, 1024x768x24"', new Psr\Log\NullLogger());


Super basic usage

This will fetch http://google.com, generate a pdf and save it to your system tmp directory.


$pdf->fromUri('http://google.com/')->generate();


Input Options - URI, file path or html string

Generate pdfs from uri, file or html string and save to your tmp directory.


$pdf->fromUri('http://google.com/')->generate();

$pdf->fromFile('/path/to/html/report.html')->generate();

$pdf->fromString('<html>...</html>')->generate();


Output Options - File, Browser or pdf string

Create a pdf of http://google.com and save it to a file location.

$pdf->fromUri('http://google.com/')->toFile('/path/to/save/file/to.pdf');

Create a pdf from /path/to/html/report.html and output to the browser with a name of my-fancy-report.pdf

$pdf->fromFile('/path/to/html/report.html')->toBrowser('my-fancy-report.pdf');

Generate a pdf from http://google.com/ and return it to the $myPdfString variable

$myPdfString = $pdf->fromUri('http://google.com/')->toString();

Other options - Orientation and temp file locations


$pdf->fromUri('http://google.com/')

	// With landscape orientation;
	->orienation('Landscape')
	// Set the path to xvfb-run
	->xvfbBinary('/path/to/xvfb-run')
	// Set the args for xvfb-run
	->xvfbArgs('--server-args="-screen 0, 1024x768x24"')
	// Ship it to the browser
	->toBrowser('my-report-name.pdf');


Testing

$ bin/tester tests/

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email terry@terah.com.au instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.