A geração dinâmica de documentos é o processo de criação automática de um lote de documentos personalizados com dados dinâmicos provenientes de uma fonte. Por exemplo, uma fatura pode ser personalizada para endereçar cada destinatário pelo nome. A criação de documentos com dados dinâmicos requer uma fonte de dados, como uma lista, planilha, banco de dados, JSON ou matrizes. Os campos de mesclagem são espaços reservados em modelos predefinidos que são posteriormente substituídos por dados de uma das fontes de dados mencionadas acima ou de qualquer outra fonte de dados compatível.
A criação de uma fatura com dados dinâmicos exige a aplicação de técnicas como mala direta ou o uso de campos de mesclagem. Um dos métodos mais populares de geração de documentos dinâmicos envolve o uso da renderização Mustache , que é muito mais fácil na criação de modelos. Faturas personalizadas são baseadas em modelos de documentos criados usando Word ou outros criadores de formulários que possuem recursos de mesclagem de campos. Aqui, discutiremos o uso de modelos criados com a sintaxe Mustache - {{campo de espaço reservado}} - que posteriormente é substituída pelos dados dinâmicos.
A ação "Gerar Documento" do PDF4me em Make permite criar cenários para gerar documentos dinâmicos e automatizá-los. O processo de geração pode ser automatizado se você tiver o modelo e os dados dinâmicos prontos. O modelo pode ser um arquivo Word, HTML ou qualquer outro formato compatível. Os dados podem ser uma planilha, CSV, JSON, XML ou uma lista de dados.
Geração de uma fatura dinâmica
A geração de uma fatura com dados dinâmicos usando o Make requer que o modelo e os dados estejam armazenados em uma plataforma de armazenamento em nuvem. No mínimo, o modelo deve estar em um serviço de armazenamento em nuvem como o Dropbox, mas os dados podem ser inseridos diretamente em um campo de entrada de dados.
Vamos criar um exemplo de fatura como o abaixo, usando um cenário Make.
Em nosso caso de uso, espera-se que a seguinte amostra esteja disponível em um local do Dropbox.
Adicione um gatilho de monitoramento de arquivos para iniciar o cenário.
Crie um módulo do Dropbox para monitorar a chegada de modelos. Assim que um novo arquivo de modelo chegar à pasta, o cenário será acionado.

Adicionar uma ação de Download de arquivo do Dropbox
Assim que o arquivo de modelo for detectado na pasta de origem, o módulo do Dropbox com a ação "Baixar arquivo" passará o arquivo do armazenamento para a ação do PDF4me. Precisamos adicionar duas ações "Baixar arquivo".
Uma opção para baixar o modelo.

Outra opção para baixar os dados JSON.

Adicionar módulo PDF4me para ação de geração de documento
Em seguida, no cenário, precisamos adicionar o módulo PDF4me com a ação "Gerar Documento". Aqui, você precisa configurar o tipo de modelo, o tipo de saída e os dados de entrada. Os dados de entrada podem ser inseridos diretamente no campo ou, no nosso caso, configurados para obter os dados de um arquivo JSON.

Os dados para o campo de entrada devem ser semelhantes aos abaixo, para o modelo no caso de uso:
{ "Documentos": [ { "cabeçalho": { "tipoDoc": "Cópia Original" }, "corpo": { "Coluna1": "Quantidade", "Coluna2": "Descrição", "Coluna3": "Preço Unitário", "Coluna4": "Total", "Fatura": { "número": 14957, "data": "25-02-2022", "instruções": "Fatura de Instruções 1", "subtotal": 200150, "imposto": "18%", "dataDeVencimento": "25-03-2022", "frete": "200" }, "Cobrador": { "telefone": "989797", "fax": "998463", "e-mail": "[email protected]", "web": "www.doc1.com", "endereço": { "company": "Organization 1", "street": "Street 1", "city": "City 1", "zip": "123456" } }, "Receptient": { "name": "recepeint 1", "address": { "street": "testveien 3 ", "city": "City 1", "zipcode": "0555", "country": "Country 1" } }, "Product": [ { "quantity": 1, "description": "item 1", "unitPrice": 45, "totalPrice": 867 }, { "quantity": 2, "description": "item 2", "unitPrice": 123, "totalPrice": 3464 }, { "quantity": 3, "description": "item 3", "unitPrice": 323, "totalPrice": 6564 } ] }, "footer": { "phone": "phone123", "fax": "fax123", "email": "[email protected]", "web": "www.123.com" }
} ] }
Adicione um iterador para lidar com os múltiplos arquivos de saída.
Como é óbvio, a ação PDF4me irá gerar vários arquivos com base nos dados. Para lidar com isso, precisamos de um módulo Iterator Make para processar cada arquivo na próxima ação.
Adicione o módulo de upload do Dropbox para salvar os arquivos de saída.
Crie um módulo do Dropbox com a ação "Carregar arquivos" para salvar todos os arquivos na pasta desejada.

O resultado do nosso cenário deve ser semelhante ao documento abaixo.
