Starting with version 5.5.0, XF Rendering Server (Ultrascale Edition) supports Variable Data Printing (or VDP).
What is VDP?
VDP attempts to preserve regions of a page that don't change (are static in nature) in a cache and reuse this information instead of drawing this static content over and over again.
For example, a document can have headers and footers that don't change from one page to another. In this case, the whole header can be stored in the cache as a resource. Instead of drawing the headers for each page, the rendering engine will draw the headers in a resource only once and the resource will be then invoked for each page (like a function call). All major printing output formats support this feature (PDF, AFP and Postscript).
In XF Rendering Server, when VDP is enabled for a document, the server will automatically place content in a page in 2 categories: static content and dynamic content.
Static content will be cached as a resource and every time an identical content is detected, the renderer will use this resource instead of drawing the identical content all over again.
The elements which are considered to be dynamic are:
| o | Intrinsically dynamic elements from XSL-FO like fo:page-number and fo:page-number-citation |
| o | Data from source XML when input is XFD + XML |
| o | Any other object with xf:vdp-variable set to true (see below). |
By default, all other formatting objects are assumed to be static.
To support VDP, the following extensions have been implemented in XF Ultrascale 2011 :
VDP Attributes
| • | xf:vdp-enable |
This attribute is placed on the root element (fo:root or xfd:document) and tells the engine to enable VDP processing of a document.
Its values can be true or false. The default value is false.
Example:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xf="http://www.ecrion.com/xf/1.0" xf:vdp-enable="true">
| • | xf:vdp-variable |
This attribute is used to override the VDP detection mechanism and specify explicitly whether an element is dynamic or static. Its values can be true or false. The default value is false.
Example:
<fo:block xf:vdp-variable="true">...</fo:block>
Note: For more information on VDP, see: http://en.wikipedia.org/wiki/Variable_data_printing