Sometimes you'd want to add your own code to the rendering routines; for example, you could want to make your own watermarks, count pages in the multiple-document batch, add digital signature to the generated PDF file or perform any other actions requiring low-level access to PDF file at the certain moments. Now you may do this using HTML2PS events. Pipeline object will fire events at predefined moments while rendering PDF file; you may catch them and do something useful.
The code below illustrates installation of a simple callback to be called immediately after new page was rendered. (If you're using PHP 5, you can write this way more elegant, but we're keeping PHP 4 compatibility here)
$dispatcher =& $pipeline->get_dispatcher(); $dispatcher->add_observer('after-page', 'my_watermark_callback_func');
A single parameter is passed to the callback function: an associative array containing information related to event.
Following events are available:
Name | Fired… | Event information |
---|---|---|
after-batch | after all documents in current batch were rendered | pipeline: reference to current pipeline object |
after-document | after all pages in a current document were rendered | pipeline: reference to current pipeline object; document: reference to the body box object |
after-page | after all elements were rendered on current page, but before new page is added. | pipeline: reference to current pipeline object; document: reference to the body box object; pageno: current page number (1-based) |
before-batch | before new document batch starts rendering | pipeline: reference to current pipeline object |
before-document | before new document in a batch starts rendering | pipeline: reference to current pipeline object; document: reference to the body box object |
before-page | after new blank page is added to the PDF document but before any elements are rendered | pipeline: reference to current pipeline object; document: reference to the body box object; pageno: current page number (1-based) |