Ir al contenido
Otras versiones

Cargando…

Creación de plantillas Word

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 relacionar el marcador de la plantilla con el grupo de propiedades, hay que nombrarlos siguiendo una convención: sustituir “:” y “.” por “_”. Esta es la correspondencia entre ambos campos:

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

Abra Microsoft Word y escriba los marcadores directamente en el documento como texto normal:

Nombre: ${okp_tpl_name}
Fecha de nacimiento: ${okp_tpl_birth_date}
Lenguaje: ${okp_tpl_language}

Este es el documento Word usado en este ejemplo: tpl.docx.

Los marcadores se sustituyen en el cuerpo del documento, las tablas (incluidas las tablas anidadas), las cabeceras, los pies de página, las notas al pie y las notas al final. Un mismo marcador se puede usar tantas veces como haga falta.

Internamente, Word divide el texto en varios fragmentos por la corrección ortográfica, las revisiones o el formato parcial. Esto no afecta a los marcadores, pero el valor sustituido toma el formato del primer carácter del marcador (el signo $). Para dar formato a un valor (negrita, color, tamaño de letra, etc.), aplíquelo al marcador completo.

Un marcador puede usar estos built-ins de FreeMarker y el operador de valor por defecto, con la misma sintaxis y el mismo resultado que en FreeMarker:

Marcador Resultado
${okp_tpl_name?upper_case} Valor en mayúsculas: JOHN SMITH
${okp_tpl_name?lower_case} Valor en minúsculas: john smith
${okp_tpl_name?cap_first} Primera letra en mayúscula: John smith
${okp_tpl_name?capitalize} Primera letra de cada palabra en mayúscula y el resto en minúscula: John Smith
${okp_tpl_name?trim} Valor sin espacios al principio ni al final
${okp_tpl_birth_date?string("dd/MM/yyyy")} Fecha con el formato indicado: 17/05/1990
${okp_tpl_birth_date?string("d 'de' MMMM 'de' yyyy")} Fecha con el nombre del mes: 17 de mayo de 1990
${okp_tpl_name!} Valor, o texto vacío si no hay valor
${okp_tpl_name!"Desconocido"} Valor, o Desconocido si no hay valor
${(okp_tpl_name!"Desconocido")?upper_case} Valor o DESCONOCIDO, en mayúsculas

Notas:

  • Los built-ins se pueden encadenar: ${okp_tpl_name?trim?upper_case}.
  • El formato de fecha usa los patrones de Java SimpleDateFormat. Los nombres de meses y días salen en el idioma del servidor.
  • Igual que en FreeMarker, los built-ins escritos después de un valor por defecto solo se aplican a ese valor por defecto: en ${okp_tpl_name!"Desconocido"?upper_case} solo se convierte Desconocido. Para convertir ambos, use paréntesis: ${(okp_tpl_name!"Desconocido")?upper_case}.
  • Un campo de metadatos vacío se trata como un campo sin valor: se usa el valor por defecto y los built-ins devuelven un texto vacío.
  • ?string("...") solo se puede aplicar a campos de fecha, y el resto de built-ins solo a campos de texto.

Cada tipo de campo de metadatos se escribe en el documento de esta forma:

Tipo de campo de metadatos Valor en el documento
Input text, Suggestbox El texto tal cual.
Input date La fecha en formato yyyy-MM-dd (por ejemplo 2026-10-05).
Textarea El texto; cada salto de línea se mantiene como salto de línea en el documento.
Checkbox true o false.
Select simple La etiqueta de la opción seleccionada (no su valor).
Select multiple Las etiquetas de las opciones seleccionadas separadas por ;.

Un marcador sin valor, o que no corresponde a ningún campo de metadatos, se sustituye por un texto vacío.

Los valores se insertan siempre como texto literal: los caracteres especiales como &, < o las comillas se muestran tal cual, y un valor que contenga un marcador (por ejemplo ${okp_tpl_name}) no se vuelve a sustituir.

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

Al crear un documento a partir de la plantilla, elija si el documento generado se guarda como DOCX o se convierte a PDF.