Introduction to dynamic print layouts

Learn the basics of print customization in Ninox



The pricing page (section on Essentials) offers info on how many renders per month are available in your subscription.

Any time a dynamic print layout is created (either with or without the use of a function), 1 render is dedicated from the monthly quota.

How print customization works in Ninox

Ninox uses a third-party integration,, to find all markers {} in a document (.xlsx, .odt, .docx, ...) and replace these markers with Ninox data.

According to the syntax of your markers, the following operations can be performed:

  • replacing a field

  • formatting data

  • repeating a document portion (a table row or anything else)

  • looping on unlimited nested arrays

  • conditionally displaying a data based on a test expression

The syntax is similar to using a JSON Array or Object in JavaScript. Combined with features of, for example, Microsoft Word or LibreOffice, you can create documents with:

  • graphics

  • headers, footers

  • automatically repeated table header across pages

  • insert computed field

  • page count


Supported file formats


  • .xhtml

  • .odt

  • .ods

  • .odp

  • .docx

  • .xlsx

  • .pptx

  • .odg


  • .pdf

Supported fonts

Google Fonts are pre-installed. If a font is not rendering into documents, verify that font is available on Google Fonts.

Supported functions

Functions for standard printing

These functions work with the Blank and Auto print layout options.

Functions for dynamic printing

These functions work only with the Dynamic print layout option.

  • printRecord(nid, templateLayoutName, data)

    • prints dynamic report with your custom layout

  • printAndSaveRecord(nid, templateLayoutName, data)

    • prints dynamic report with your custom layout and returns the link

Last updated