BlazingDocs is a free website to generate documents dynamically from CSV, JSON, XML files. Here it can generate day to day documents such as notices, invoices, reports from DOC/DOCX templates in PDF format. You just have to make a simple API call to retrieve a document. Basically it uses mail merge like fields in the template file and fill them using the CSV/JSON/XML data that you supply. The resulting file is PDF and you are free to share that wherever you want.
I have covered something similar to BlazingDocs before for images, and you can read about that here. But BlazingDocs is more like meant to be a tool to be used in automation workflows. Since it works via API, so you can integrate this in your apps. Or, you can create web apps or some other applications around it. To make an API call, you can use an HTTP client like cURL or Postman. The API returns a JSON response in which you can find the link to the generated PDF file. The way how it works in shown in the image below.
How to Generate Documents Dynamically from CSV, JSON, XML using BlazingDocs?
First, you need to go to the homepage of BlazingDocs and sign up for a free account. After that, you need to copy the API key that it generates for you. Copy it and keep it somewhere safe, as you will need it to make the API requests to generate documents.
Next thing you have to do is go to the BlazingDocs documentation page. Here you can see everything that you need to make the APU call. Also, on the main website, you can upload the template files that you want to use.
Now, just open a terminal window and then use the following syntax to make the API calls. The website calls this a merge operation. Here it takes the values for the merge variables that you have defined in the template. You can either specify a local DOCX or DOC file or ID of the template which you have uploaded to BlazingDocs.
curl --location --request POST 'https://api.blazingdocs.com/operation/merge' \
--header 'X-API-Key: XXXXXXXXXXXXX' \
--form 'Data="JSON/CSV/XML Data as String"' \
--form 'OutputName="output.pdf"' \
--form 'MergeParameters="{\"sequence\":false, \"dataSourceType\":\"json\", \"strict\":true}"' \
--form 'Template=@"/home/ilfs/Downloads/PO-Template.docx"'
After you issue the command, it will show you a JSON response. In that response, you can find the link to the generated PDF file. Use the link to download the final merged document, and then you are free to do whatever you want with it.
In this way, you can use BlazingDocs to generate documents dynamically. Just create whatever template you want to fill and then use the API to merge data quickly. You can make the API calls from anywhere and also tweak the commands to make it generate the documents in bulk.
Final words:
If you are looking for an online tool to generate documents dynamically, then you are at the right place. Use BlazingDocs to generate almost any kind of documents that you need often such as invoices, reports, and more. The process is simple and you only have to carefully draft the template files for proper rendering. If you have used mail merge before, then you can easily create those templates and use them to generate docs dynamically.