tobi812/phantom-pdf

There is no license information available for the latest version (dev-master) of this package.

dev-master 2016-03-29 10:14 UTC

This package is not auto-updated.

Last update: 2024-11-13 20:02:42 UTC


README

Build Status

Requirements

PHP 5.4

symfony/process: ~2.6.9

Installation

Download PhantomJS: http://phantomjs.org/download.html

Install via Composer

composer require tobi812/phantom-pdf

Basic Usage

<?php

use PhantomPdf/PdfGenerator;

$pdfGenerator = new PdfGenerator('/path/to/phantomjs-binary');

$htmlString = '<h1>Test Pdf</h1>';
$targetPath = '/path/to/target-file';

$pdfGenerator->renderFileFromHtml($htmlString, $targetPath);

Note: Right now it is only possible to build Pdf-Files from raw html-strings!

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);

Header & Footer

<?php

// Create a Header that appears on every page.
$options->setHeaderContent('<h1>Header</h1>');
$options->setHeaderHeight(3);

// Create a Footer for every page. 
$options->setFooterContent('<div>#pageNum / #totalPages</div>');
$options->setFooterHeight(2);

// Use custom Placeholder for PageNumber and TotalPageCount
$options->setPageNumPlaceholder('{{pageNum}}')
$options->setTotalPagesPlaceholder('{{totalPages}}')