phantom-pdf
, (*1)
Requirements
PHP 5.4, (*2)
symfony/process: ~2.6.9, (*3)
Installation
Download PhantomJS: http://phantomjs.org/download.html, (*4)
Install via Composer, (*5)
composer require tobi812/phantom-pdf
Basic Usage
<?php
use PhantomPdf/PdfGenerator;
$pdfGenerator = new PdfGenerator('/path/to/phantomjs-binary');
$htmlString = '
Test Pdf
';
$targetPath = '/path/to/target-file';
$pdfGenerator->renderFileFromHtml($htmlString, $targetPath);
Note: Right now it is only possible to build Pdf-Files from raw html-strings!, (*6)
Advanced Usage
Page options:
<?php
use PhantomPdf/PdfGenerator;
$pdfGenerator = new PdfGenerator('/path/to/phantomjs-binary');
$options = new Options();
// Set margin (by default all widths are in cm)
$options->setMargin(1.5);
$options->setMargin(15, 'mm');
// Set orientation
$options->setOrientationPortrait();
// or
$options->setOrientationLandscape();
// Set Format
$options->setFormat('A5');
$pdfGenerator->renderFileFromHtml($htmlString, $targetPath, $options);
<?php
// Create a Header that appears on every page.
$options->setHeaderContent('
Header
');
$options->setHeaderHeight(3);
// Create a Footer for every page.
$options->setFooterContent('
#pageNum / #totalPages
');
$options->setFooterHeight(2);
// Use custom Placeholder for PageNumber and TotalPageCount
$options->setPageNumPlaceholder('{{pageNum}}')
$options->setTotalPagesPlaceholder('{{totalPages}}')