La generación dinámica de documentos es el proceso de crear automáticamente un lote de documentos personalizados con datos dinámicos provenientes de una fuente. Por ejemplo, una factura podría personalizarse para dirigirse a cada destinatario por su nombre. La creación de documentos con datos dinámicos requiere una fuente de datos, como una lista, una hoja de cálculo, una base de datos, JSON o matrices. Los campos de combinación son marcadores de posición en plantillas predefinidas que posteriormente se reemplazan con datos de alguna de las fuentes de datos mencionadas anteriormente o de cualquier otra fuente de datos compatible.
La creación de una factura con datos dinámicos requiere la aplicación de técnicas como la combinación de correspondencia o el uso de campos de combinación. Uno de los métodos más populares para la generación dinámica de documentos implica el uso de la representación Mustache , que facilita enormemente el diseño de plantillas. Las facturas personalizadas se basan en plantillas de documentos creadas con Word u otros creadores de formularios que admiten la combinación de campos. Aquí analizamos el uso de plantillas creadas con la sintaxis Mustache ( {{campo de marcador de posición}}) , que posteriormente se reemplaza con los datos dinámicos.
La acción Generar documento de PDF4me en Make permite crear escenarios para generar documentos dinámicos y automatizar el proceso. La generación se puede automatizar si se dispone de la plantilla y los datos dinámicos. La plantilla puede ser un archivo Word, HTML o cualquier otro formato compatible. Los datos pueden ser una hoja de cálculo, CSV, JSON, XML o una lista de datos.
Generación de una factura dinámica
Para generar una factura con datos dinámicos mediante Make, la plantilla y los datos deben estar almacenados en una plataforma de almacenamiento en la nube. Como mínimo, la plantilla debe estar en un servicio de almacenamiento en la nube como Dropbox, pero los datos pueden introducirse directamente en un campo de entrada.
Veamos cómo crear una factura de ejemplo como la que se muestra a continuación, utilizando un escenario Make.
En nuestro caso de uso, se espera que la siguiente muestra esté disponible en una ubicación de Dropbox.
Agregue un activador de vigilancia de archivos para iniciar el escenario.
Crea un módulo de Dropbox para monitorizar la llegada de las plantillas. En cuanto el nuevo archivo de plantilla llegue a la carpeta, se activará el escenario.

Agregar una acción de descarga de archivos de Dropbox
Una vez detectado el archivo de plantilla en la carpeta de origen, el módulo Dropbox con la acción Descargar archivo transferirá el archivo del almacenamiento a la acción PDF4me. Necesitamos agregar 2 acciones Descargar archivos.
Uno para descargar la plantilla.

Otro para descargar los datos JSON

Agregar módulo PDF4me para la acción Generar documento
A continuación, debemos agregar el módulo PDF4me con la acción Generar documento. Aquí, es necesario configurar el tipo de plantilla, el tipo de salida y los datos de entrada. Los datos de entrada pueden ingresarse directamente en el campo o, como en nuestro caso, configurarse para obtenerlos del archivo JSON.

Los datos del campo de entrada deben tener el siguiente aspecto para la plantilla en el caso de uso:
{ "Documentos": [ { "encabezado": { "docType": "Copia original" }, "cuerpo": { "Columna1": "Cantidad", "Columna2": "Descripción", "Columna3": "Precio unitario", "Columna4": "Total", "Factura": { "número": 14957, "fecha": "25-02-2022", "instrucciones": "Instrucción Factura 1", "subtotal": 200150, "impuesto": "18%", "fecha de vencimiento": "25-03-2022", "envío": "200" }, "Facturador": { "teléfono": "989797", "fax": "998463", "correo electrónico": "[email protected]", "web": "www.doc1.com", "dirección": { "empresa": "Organización 1", "calle": "Calle 1", "ciudad": "Ciudad 1", "código postal": "123456" } }, "Destinatario": { "nombre": "recibo 1", "dirección": { "calle": "testveien 3 ", "ciudad": "Ciudad 1", "código postal": "0555", "país": "País 1" } }, "Producto": [ { "cantidad": 1, "descripción": "artículo 1", "precio unitario": 45, "precio total": 867 }, { "cantidad": 2, "descripción": "artículo 2", "precio unitario": 123, "precio total": 3464 }, { "cantidad": 3, "descripción": "artículo 3", "precio unitario": 323, "precio total": 6564 } ] }, "pie de página": { "teléfono": "teléfono123", "fax": "fax123", "correo electrónico": "[email protected]", "web": "www.123.com" }
} ] }
Agregue un iterador para manejar los múltiples archivos de salida.
Como es evidente, la acción PDF4me generará varios archivos a partir de los datos. Para gestionar esto, necesitamos un módulo iterador Make que procese cada archivo para la siguiente acción.
Agregue el módulo Dropbox Upload para guardar los archivos de salida.
Crea un módulo de Dropbox con la acción "Subir archivos" para guardar todos los archivos en la carpeta deseada.

El resultado de nuestro escenario debería ser similar al documento que se muestra a continuación.
