Creación de plantillas Word
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 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} |
Creación de la plantilla
Sección titulada «Creación de la plantilla»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.
Formato de los valores
Sección titulada «Formato de los valores»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 convierteDesconocido. 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.
Valores
Sección titulada «Valores»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.
Configuración del ejemplo
Sección titulada «Configuración del ejemplo»- 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.