Creación de plantillas de DocumentBuilder
A la hora de obtener el PDF de un formulario, Webforms provee dos mecanismos: OneClickPdf y DocumentBuilder. Con OneClickPdf podremos obtener una versión en PDF de nuestro formulario a partir de la vista en HTML. Sin embargo, para un mayor grado de personalización de los PDF resultantes, podemos hacer uso de DocumentBuilder.
Con documentBuilder podemos crear una plantilla en formato .doc, .docx y .odt. en la que podremos definir diversos aspectos relacionados con la maquetación del PDF como, por ejemplo, la ubicación de cada elemento del formulario, la tipografía, etc.
Referenciar elementos del formulario en la plantilla.
Al generar un documento PDF, a partir de una plantilla, se sustituirán las referencias a los elementos del formulario por el valor que se haya introducido en el campo, es decir, su valor en el JSON Data.
Si en la plantilla se hiciera referencia a elementos que no existen, estos serán sustituidos por la cadena vacía.
Para referenciar elementos en una plantilla de DocumentBuilder será necesario escribir dos veces el símbolo de menor que "<<" seguido del id del elemento y dos símbolos de mayor que ">>".
Inputs y desplegables.
Podemos referenciar elementos de tipo input o desplegable mediante la siguiente sintaxis:
<<idElemento>>
Checkbox
Puesto que el valor de un checkbox es true o false, DocumentBuilder traducirá estos valores a "Sí" o "No":
<<IdChekcbox>>
No obstante, DocumentBuilder también ofrece la posibilidad de mostrar estos valores en forma de iconos: y
:
<<CHECK IdCheckbox>>
Radio
Para referenciar un radio podemos usar:
<<idRadio>>
Esta etiqueta será sustituida por el valor que hayamos seleccionado para el radio. No obstante, de forma similar a los checkbox, podemos definir en la plantilla un conjunto de opciones y mostrar los iconos y
.
<<CHECK idRadio.opcion1>>
<<CHECK idRadio.opcion2>>
Como podemos apreciar, usando esta sintaxis, debemos especificar, después del id del radio, el id de cada una de las opciones del radio que queramos sustituir por los iconos.
Tabla
Los elementos dentro de tablas requieren crear un elemento de tipo tabla en nuestro procesador de textos. En cada columna se deberá especificar el id del elemento siguiendo la sintaxis descrita en los apartados anteriores. DocumentBuilder creará automáticamente el número de filas necesarias.
Iterador
Los iteradores son similares a las tablas. Sin embargo, en este caso, en lugar de crear una columna por cada elemento, se creará una tabla con una única columna y dentro de esa columna se especificarán todos los elementos del iterador, siguiendo las pautas descritas en los puntos anteriores.
Añadir una plantilla a un formulario.
Por defecto, si no especificamos ninguna plantilla el formulario generará el PDF mediante OneClickPdf.
Para añadir una plantilla a un formulario, este debe encontrarse en estado borrador. Puede encontrar más información en Asignar plantillas de DocumentBuilder a formularios.
Recursos
Ejemplo de formulario con fragmento que hace uso de una plantilla de DocumentBuilder
- Descargar definición del formulario: Ejemplo_formulario_DocumentBuilder.json
- Descargar definición del fragmento: Ejemplo_fragmento_DocumentBuilder.json
- Descargar plantilla de DocumentBuilder: Ejemplo_plantilla_documentBuilder.odt
Ejemplo de formulario con fragmento con iteradores que hace uso de una plantilla de DocumentBuilder
- Descargar definición del formulario: Ejemplo_formulario_DocumentBuilder_Iterador_en_fragmento.json
- Descargar definición del fragmento: Ejemplo_fragmento_DocumentBuilder_Iterador_en_fragmento.json
- Descargar plantilla de DocumentBuilder: Ejemplo_plantilla_DocumentBuilder_iterador_en_fragmento.odt