Ir al contenido
Otras versiones

Cargando…

Creación de plantillas de LibreOffice

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 la relación entre el campo del formulario de la plantilla y el grupo de propiedades, debe nombrarlos siguiendo una convención de nomenclatura: sustituya “:” y “.” por “_”. A continuación puede ver la correspondencia entre ambos campos:

Nombre del campo de metadatos Nombre del campo de la plantilla Valor del campo de la plantilla
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!}

Para crear una plantilla en OpenOffice.org, vaya a View > Toolbars > Form Controls.

Aparecerá un nuevo cuadro de diálogo y podrá 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 mediante la notación estándar de expresiones de 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 sobrecargar el diseño. Por ello, JODReports ofrece una forma alternativa de insertar campos. Puede insertar un campo visual en OpenOffice.org Writer desde el menú Insert / Fields / Other… (o simplemente pulsando Ctrl+F2), a continuación haga clic en la pestaña Functions y seleccione Input field. Cambie la Reference del campo a JOOScript. En el campo Content siguiente, introduzca el nombre de la variable (por ejemplo, “$name”). Writer suele mostrar este campo como un rectángulo gris con el nombre de la variable, y al pasar el ratón sobre él se mostrará la referencia del campo.

Este es el documento de OpenOffice.org utilizado en este ejemplo: tpl.odt.

Consulte información sobre las plantillas de OpenOffice.org en JODReports.

JODReports utiliza FreeMarker internamente, por lo que puede aprovechar las funciones de formato de FreeMarker. Por ejemplo, puede establecer el formato de fecha de la siguiente manera:

${okp_tpl_birth_date?string("yyyy-MM-dd")}

Si la fecha puede ser nula, debe comprobarlo (en el caso de las plantillas ODT debe utilizar #if entre “[” y “]”):

[#if okp_tpl_birth_date??]${okp_tpl_birth_date?string("yyyy-MM-dd")}[/#if]

Obtenga más información sobre el formato en FreeMarker en Built-in Reference.

Incluso puede utilizar la función de plantillas para generar tablas dinámicas. Veamos un ejemplo.

En la captura de pantalla puede ver un documento con una tabla. La cabecera tiene un fondo de color y además está en negrita. El script muestra las opciones para generar las cabeceras de la tabla.

Este es el documento de OpenOffice.org utilizado en este ejemplo: dynamic_table.odt

Obtenga más información sobre esta función en:

  • Suba el fichero tpl.odt a /okm:templates/documents
  • Registre la definición de metadatos okg:tpl en Administration > Metadata
  • Habilite los metadatos desde Profiles en Administration > Profiles
  • Añada el grupo de metadatos okg:tpl al fichero tpl.odt.