PDFTemplate Class Reference

Detailed Description

PDFTemplate is used to output pdf files based on a given pdf template.

PDFTemplate uses FPDI/FPDF. PDFPage instances are used to render data onto the template pages.

The following example shows the usage:

// example Controller method to show a pdf download dialog
// Page1 extends PDFPage and defines what is rendered onto the template
function doExecute()
{
$template = new PDFTemplate(new MyPDF());
// set the template
$template->setTemplate('include/pdf/wcmf.pdf');
// render Page1 on every second template page
$template->setPages([new Page1(), null], true);
// output the final page
$downloadfile = 'wcmf.pdf';
$response->setFile(new MemoryDocument($template->output($downloadfile, 'S'), 'application/pdf', true, $downloadfile));
}
Author
ingo herwig ingo@.nosp@m.wemo.nosp@m.ve.co.nosp@m.m

Definition at line 42 of file PDFTemplate.php.

Public Member Functions

 __construct ($pdf)
 
 setTemplate ($filename)
 
 setPages ($pages, $cycle=false, $data=null)
 
 output ($name='', $dest='')
 

Constructor & Destructor Documentation

◆ __construct()

__construct (   $pdf)

Constructor.

Parameters
$pdfThe PDF instance to render onto, defaults to PDF created with default constructor

Definition at line 54 of file PDFTemplate.php.

Member Function Documentation

◆ setTemplate()

setTemplate (   $filename)

Set the template filename.

Parameters
$filenameThe name of the file

Definition at line 67 of file PDFTemplate.php.

◆ setPages()

setPages (   $pages,
  $cycle = false,
  $data = null 
)

Set the PDFPage instances used to write the content to the template.

The page instances will be used one after another: The 1 instance writes to the first template page, the second to the second and so on. Use the cycle parameter to cycle the instances (e.g. if the same data should be written to every template page, put one instance into the pages array and set cycle to true)

Parameters
$pagesAn array of PDFPage instances
$cycleBoolean whether to cycle the PDFPage instances or not (default: false)
$dataAn optional data object, that will passed to the PDFPage::render method (default: null)

Definition at line 81 of file PDFTemplate.php.

◆ output()

output (   $name = '',
  $dest = '' 
)

Output the pdf.

Delegates to FPDF::Output()

See also
http://www.fpdf.de/funktionsreferenz/Output/
Parameters
$nameThe name of the pdf file
$destThe pdf destination ('I': browser inline, 'D': browser download, 'F': filesystem, 'S': string)
Returns
The document string in case of dest = 'S', nothing else

Definition at line 94 of file PDFTemplate.php.