Block Types
Choose the right content, layout, logic, and page blocks for your document.
Block Types
The Epistola editor builds a template from blocks. Choose a block based on the result you want, then configure its content, data expression, or layout in the inspector.
Add content
| Block | Use it for |
|---|---|
| Text | Fixed wording, headings, rich formatting, and inline expression chips such as customer.name. |
| Image | A managed static image or an image resolved from template data. Set its size and alignment in the inspector. |
| QR Code | A QR code whose value comes from a data expression. |
| Separator | A horizontal rule between sections. Configure its width, thickness, color, and style. |
Arrange content
| Block | Use it for |
|---|---|
| Container | Group child blocks so they can share layout, styling, or conditional visibility. |
| Columns | Place child blocks side by side with configurable column widths. |
| Table | Present structured content in columns. Cells support rich text and expressions, and column widths can be adjusted. |
| Stencil | Insert a reusable fragment maintained in the stencil library, such as a signature or legal text. |
Repeat or conditionally show content
| Block | Use it for |
|---|---|
| Conditional | Show or hide child blocks when an expression evaluates to true or false. |
| Loop | Repeat child blocks for every item in a data array. Use an item variable inside the repeated content. |
| Data List | Render an array as a repeated list. Choose bullets, numbers, letters, Roman numerals, or no marker, and design one item template. |
The Table and Data List blocks serve different purposes: use a table for column-based records, and a data list when each array item should repeat as a list entry.
Control the page
| Block | Use it for |
|---|---|
| Page Break | Force a new page at a specific position in the document. |
| Page Header | Add content that repeats at the top of each page. |
| Page Footer | Add content that repeats at the bottom of each page. You can hide it on the first page. |
| Address Block | Position recipient information for a window envelope, with additional content flowing alongside it. |
Choosing a block
Start with Text for fixed content and add expression chips when part of the wording comes from data. Use Conditional, Loop, and Data List only when the template data requires dynamic visibility or repetition. Keep reusable fragments in Stencils, and use page blocks only for content whose position or repetition is tied to the PDF page.
Documentation
Guided tour
Interactive training