Populate Template with Data Online
In this article, you will learn how to populate a Mail Merge or mustache template with data online. You can download the SDK of your favorite language and start programming in the smartest way. You can send both template file and mail merge data file in the request body and the API returns populated document in API response. This API represents a controller for executing a mail merge.
The following is a description of the most important parameters:
Parameter Name | Description |
---|---|
withRegions | Merge with regions or not. False by default. Flag ‘withRegions’ can be omitted, in this case, a simple mail merge will be executed. If the flag is present and value is ‘true’ - mail merge with regions will be executed. |
cleanup | If the cleanup parameter is omitted, cleanup options will be None. |
useWholeParagraphAsRegion | Specifies a value indicating whether a paragraph with TableStart or TableEnd field should be fully included in the mail merge region or particular range between TableStart and TableEnd fields. The default value is true. |
The cleanup options parameter can contain a list of values from below, separated by “,":
Value | Description |
---|---|
None | Without any cleanup. |
EmptyParagraphs | Specifies whether paragraphs that contained mail merge fields with no data should be removed from the document. |
UnusedRegions | Specifies whether unused mail merge regions should be removed from the document. |
UnusedFields | Specifies whether unused merge fields should be removed from the document. |
ContainingFields | Specifies whether fields that contain merge fields (for example, IFs) should be removed from the document if the nested merge fields are removed. |
RemoveTitleRow | Removes title row of the table if this table doesn’t contain any rows except title row. It does not remove title rows in nested tables. |
RemoveTitleRowInInnerTables | Enable “RemoveTitleRow " for nested tables. |
RemoveStaticFields | Specifies whether static fields should be removed from the document. Static fields are fields, which results remain the same upon any document change. Fields, which do not store their results in a document and are calculated on the fly (like Aspose.Words.Fields.FieldType.FieldListNum, Aspose.Words.Fields.FieldType.FieldSymbol, etc.) are not considered to be static. |
Data Formats
Both JSON and XML data formats are supported. Choosing the appropriate data format makes a difference in flexibility, scalability and performance speed of your application. XML and JSON have much in common with their own strengths and drawbacks. You need to determine which one is the most preferred for your purposes.
Usage examples with cURL and Postman
You can carry out REST API interactions using cURL
and Postman
. Please read these instructions to receive a personal JWT_TOKEN
for authorization.
Case 1: MailMerge Template
Download sample SampleMailMergeTemplate.docx, SampleMailMergeTemplateData.xml and output TestPostDocumentExecuteMailMerge.docx files for testing purposes.
Case 2: Mustache Template
Download sample TestExecuteTemplate.doc, TestExecuteTemplateData.xml and output TestPostExecuteTemplate.docx files for testing purposes.
Aspose.Words Cloud SDK Family
Using SDK is the best way to speed up the development. Our Cloud SDKs take care of low-level details and let you focus on your primary tasks.
Please check out the GitHub repository for a complete list of Aspose.Words SDKs.
Usage examples in Python, Java, C#, etc.
The following code samples show how to interact with the REST API using almost any mainstream programming language.
You can find a lot of other examples in Python, Java, C#, JavaScript, PHP, C++, Golang, Ruby, Swift, Dart on GitHub. All codes are thoroughly tested and ready for production use.