A drag-and-drop canvas for placing content on top of the page canvas - the visual counterpart to hand-editing layout JSON. Open it from Project Files by tapping overlay.json (or any other layout partial file).

Before you start: Project Properties

Set up the page itself first - see Project Properties for choosing between a physical base.pdf and a generated blank canvas.

The canvas

Block properties

Tap a block to open its properties panel - every block gets position/size (in mm) and an optional condition (hide it unless an expression is true - see Scripting & Processing), plus whatever's specific to its type (text content, colors, image source, signature field, QR data, grid columns, and so on). Full reference: Block Types Reference.

A text block's content and a QR code's data both accept either plain static text, or a {...}-wrapped expression for anything dynamic - pulling in a submitted value, formatting it, building it from multiple fields. A grid's data works the same way but without the {...} wrapper (it's always a formula, never a mix of literal text and expressions). All of it is real JavaScript, evaluated when the PDF is generated. See Block Types Reference for the exact syntax and examples.

Saving

Limitations to know about