Creación de plantillas de LibreOffice
Preliminares
Sección titulada «Preliminares»Registre la definición del grupo de metadatos en Administration > Metadata.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 3.10//EN" "http://www.openkm.com/dtd/property-groups-3.10.dtd"><property-groups> <property-group label="Sample Template" name="okg:tpl"> <input label="Name" name="okp:tpl.name"/> <input label="Birth Date" name="okp:tpl.birth_date" type="date" /> <select label="Language" name="okp:tpl.language" type="simple"> <option label="Java" value="java"/> <option label="Python" value="python"/> <option label="PHP" value="php" /> </select> </property-group></property-groups>Para establecer una relación entre el campo del formulario de la plantilla y el grupo de metadatos, debe nombrarlos siguiendo una convención de nomenclatura: sustituya “:” y “.” por “_”. Aquí puede ver la correspondencia entre ambos campos:
| Metadata field name | Template field name | Template field value |
|---|---|---|
| okp:tpl.name | okp_tpl_name | ${okp_tpl_name!} |
| okp:tpl.birth_date | okp_tpl_birth_date | ${okp_tpl_birth_date!} |
| okp:tpl.language | okp_tpl_language | ${okp_tpl_language!} |
Creación de la plantilla
Sección titulada «Creación de la plantilla»Para crear una plantilla en LibreOffice vaya a View > Toolbars > Form Controls.
Aparecerá un nuevo cuadro de diálogo que le permitirá añadir elementos de formulario al documento. Este cuadro de diálogo contiene elementos como etiquetas, cuadros de texto, casillas de verificación, etc.
El campo que se sustituirá por el valor de una variable pasada puede especificarse usando la notación estándar de expresión FreeMarker, escribiendo el nombre de la variable en el documento de la siguiente manera:
Hi ${name}!Sin embargo, mezclar instrucciones de procesamiento y texto normal en el documento puede resultar confuso y desordenar el diseño. Por eso JODReports ofrece una forma alternativa de insertar campos. Puede insertar un campo visual en LibreOffice Writer desde el menú Insert / Fields / Other… (o simplemente pulse Ctrl+F2), luego haga clic en la pestaña Functions y seleccione Input field. Cambie la referencia del campo a JOOScript. En el campo Content, introduzca el nombre de la variable (p. ej. “$name”). Este campo normalmente se mostrará en Writer como un rectángulo gris con el nombre de la variable, y al pasar el ratón por encima se mostrará la referencia del campo.

Este es el documento de LibreOffice usado en este ejemplo tpl.odt.
Lea más sobre las plantillas de LibreOffice en JODReports.
Formato de fecha
Sección titulada «Formato de fecha»JODReports usa FreeMarker internamente, así que puede aprovechar la flexibilidad de formato de FreeMarker. Por ejemplo, puede establecer formatos de fecha de esta manera:
${okp_tpl_birth_date?string("yyyy-MM-dd")}Si la fecha puede ser nula, entonces debe comprobarlo (en el caso de las plantillas ODT debe usar #if entre “[” y “]”):
[#if okp_tpl_birth_date??]${okp_tpl_birth_date?string("yyyy-MM-dd")}[/#if]Aprenda más sobre el formato de FreeMarker en Built-in Reference.
Tablas dinámicas
Sección titulada «Tablas dinámicas»Incluso puede usar la funcionalidad de plantillas para generar tablas dinámicas. Veamos un ejemplo.

En la captura de pantalla puede ver un documento con una tabla. El encabezado tiene un fondo de color y también está en negrita. El script muestra las opciones para generar los encabezados de la tabla.
Este es el documento de LibreOffice usado en este ejemplo: dynamic_table.odt
Aprenda más sobre esta funcionalidad en: