Skip to main content
You can use built-in and custom macros inside text when using the /pdf/edit/add endpoint or the Fill PDF and Add Text and Images to PDF modules in Zapier, Make, and other integrations. Macros may look like this: {{$$newLine}}, [[$$newLine]], or {{object.property}} (when referencing custom data from JSON).

Built-in Macros

Built-in macros always use the $$ prefix. Available built-in macros:
Inserts the current page number, starting from 1.

Special Macro Style: Square Brackets

Some automation platforms like n8n, Make.com and Zapier use {{ ... }} style macros for their own purposes. To avoid conflicts, you can use [[ ... ]] square brackets instead. Just add the command ##replaceSquareBracketsToCurlyBrackets## at the beginning of the text (once per text block). Example

Use This Format

##replaceSquareBracketsToCurlyBrackets##[[macro1]]

It Will Render As

{{macro1}}

Custom Macros

You can provide custom data as JSON in the templateData property. Then you can use data from this JSON as {{name}} or {{object.property}} macros (or as [[name]] or [[object.property]] if you enabled square brackets to curly conversion).
JSON loaded into templateData should be escaped (with JSON.stringify(dataObject) in JS). Escaping means every " is replaced with \" (most programming languages do this automatically).

Example Payload

To see the request size limits, please refer to the Request Size Limits.

Custom Pragma

You can disable HTML rendering support using a pragma at the beginning of the text.

Example Payload

To see the request size limits, please refer to the Request Size Limits.