Creating OpenOffice templates
In order to make a relation between the template form field and the property group, you have to name them following a naming convention: replace ":" and "." by "_". Here you can see the matching between both fields:
|PROPERTY GROUP NAME||TEMPLATE FIELD NAME||TEMPLATE FIELD VALUE|
To create a template in OpenOffice.org go to View > Toolbars > Form Controls. The a new dialog will appear and you will be able to add form elements to the document. This dialog contains form stuff such as Labels, Text Boxes, Check Boxes, etc.
A field that will be replaced with the value of a variable passed can be specified using the standard FreeMarker expression notation by typing the variable name into the document as follows:
However, mixing processing instructions and normal text into the document may become confusing and clutter the layout. So JODReports provides an alternative way of inserting fields. You can insert a visual field in OpenOffice.org Writer from the menu Insert / Fields / Other... (or just press Ctrl+F2), then click on the Functions tab and select Input field. Change the field Reference to JOOScript and in the following field Content enter the variable name (e.g. "$name"). This field will typically be displayed by Writer as a grayed rectangle with the variable name, while moving the mouse over it will reveal the field reference.
This is the OpenOffice.org document used in this sample: File:Tpl.odt.
Read about OpenOffice.org templates at JODReports.
JODReports uses FreeMarker inside, so you can take advantage of the FreeMarker formatting flexibilities. For example you can set date format by this way:
If date may be null, then you need to check this:
Learn more about FreeMarker formatting at Built-in Reference.
You can even use the template feature to generate dynamic tables. Lets see an example.
In the screenshot you can see an document with a table. The header has a colored background and also is bold. The script show is user to generate the table headers.
This is the OpenOffice.org document used in this sample: File:Dynamic table.odt.
Learn more about this feature at: