Ir al contenido
Otras versiones

Cargando…

Crear 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 2.6//EN"
"http://www.openkm.com/dtd/property-groups-2.6.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 relacionar el campo de formulario de la plantilla con el grupo de propiedades, debe nombrarlos con la siguiente convención: sustituya “:” y “.” por “_”. Aquí puede ver algunos ejemplos de conversión:

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 etiquetas, cuadros de texto, casillas de verificación y otras herramientas.

El campo que se sustituirá por el valor de una variable recibida puede especificarse con la notación estándar de expresiones de FreeMarker, escribiendo el nombre de la variable en el documento de la siguiente forma:

Hi ${name}!

Sin embargo, mezclar instrucciones de procesamiento y texto normal en el documento puede resultar confuso y sobrecargar el diseño. Por eso 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), después hacer clic en la pestaña Functions y seleccionar Input field. Cambie la Reference del campo a JOOScript. En el campo Content introduzca el nombre de la variable (por ejemplo, “$name”). Writer mostrará normalmente este campo 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 OpenOffice.org utilizado en este ejemplo: tpl.odt.

Puede leer más sobre las plantillas de OpenOffice.org en JODReports.

JODReports utiliza FreeMarker, por lo que puede aprovechar la flexibilidad de formato de FreeMarker. Por ejemplo, puede establecer el formato de fecha de esta forma:

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

Si la fecha puede ser nula, debe utilizar lo siguiente (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]

Puede obtener más información sobre el formato de FreeMarker en: Built-in Reference.  

Incluso puede utilizar la funcionalidad 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 

Puede obtener más información sobre esta funcionalidad en:

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