Page tree
Skip to end of metadata
Go to start of metadata
WordTemplate can insert certain types of documents into docx files by adding the "document(format)" modifier to the merge field, where format is RTF, HTML, or DOCX (see below).
  • rtf - The binary data in the data source will be inserted as an rtf document, e.g. «Product.Doc(document(rtf))».
  • html - The binary data in the data source will be inserted as an html document, e.g. «Product.Webpage(document(html))».
  • docx (Introduced in 8.5) - The binary data in the data source will be inserted as an docx document, e.g. «Product.Doc(document(docx))»

To add the modifier:

  1. Create or open a WordWriter template (for instructions, see Creating a WordWriter Template).
  2. Add the "document(rtf)", "document(html)" or "document(docx)" modifier in parentheses to the merge field in which you want to insert the document. For example, change «Product.Doc» to «Product.Doc(document(rtf))»

Binding the data:

There are two types of data that can represent a document that can be imported with the document modifier:

  • byte array
  • Introduced in 9.1: A string representing a URI (file path or URL) to the document

Icon

If you are providing a file path or URL to the document modifier, you must set WordTemplate.AllowURIs to True.

This is because URIs can point to potentially malicious files and WordWriter does not have the ability to prevent those files from being embedded in new documents. By default, WordWriter will only allow byte arrays of files to be imported with the document modifier. If WordTemplate.AllowURIs is set to True then the document modifier will accept both byte arrays and URI strings.

 

Paragraphs

When inserting an embedded document, the document must go at the same level as the paragraphs, to align the template file with the output, document fields should be put in their own paragraph:

Will become:

If there is content on both sides, paragraph breaks will be inserted on either side of the document:

Will become:

Having only text before or only text after, will result in a blank paragraph on the other side, such as:

Will become:

Formatting

Rtf and html documents maintain their own formatting, so if there is some bold text, or a right-aligned paragraph in the document it will maintain that formatting. This includes the default font for the document, which may not match the default font of the template.

Restrictions

Like regular merge fields document fields can be in an if field's optional text to display, but, because WordTemplate does not parse the contents of the document, document fields in the comparison portion of if fields are not supported, when UpdateIfFields is set to true.
Because inserting an embedded document is not the same as inserting a character run, some formatting and document structures do not support document fields:

  • The displayed output of another field, however if it is in the field codes it will be handled like other fields.
  • Hyperlinks
  • Phonetic guides
  • Structured document tags (these are the items created when quick parts are inserted, and have the little tab, e.g. "Title").
  • No labels