/ Search

Search Epistola

Find documentation, integration guides, tour steps, blog posts and pages.

DocsIntegrationsTourBlogPage
↑↓↵esc

Work in progress — The Learn section is being expanded; alpha, beta, and preview capabilities are labelled where relevant.
← Back to Learn

Edit in the visual editor

Build the document body, add reusable parts, fill it with example data, and preview the PDF.

authoringeditor

Edit the document

The visual editor is where the template becomes a document. You build it from blocks on a canvas, arrange the structure in a tree, and check the result in a PDF preview beside your work. The canvas shows your structure; the preview shows what the generated PDF will actually look like.

Steps

  1. Open the template and its draft, and choose an example with realistic data.
  2. Add the blocks you need from the palette.
  3. Insert fields where case information should appear.
  4. Arrange the document in the structure tree and style blocks in the inspector.
  5. Use stencils for standard fragments that many templates share.
  6. Preview the PDF, fix what looks wrong, and save.

The workspace

  • Block palette — add content, layout, logic, and page blocks.
  • Canvas — edit the content and formatting of the selected block.
  • Structure tree — review the document order and move blocks into place.
  • Inspector — set properties and styling for the selected block or table cell.
  • PDF preview — the rendered document, refreshing shortly after each change. Drag the divider to resize it, or close the panel while you work on the structure.

Blocks

Text and headings carry rich formatting: bold, italic, underline, strikethrough, and sub- and superscript (which exclude each other). Lists come in decimal, letter, and Roman-numeral formats, with disc, circle, square, or dash markers; Tab nests an item into a sub-list while Shift-Tab lifts it back out. Shift+Enter inserts a hard break inside a block instead of starting a new one.

Tables present column-based records; the insert dialog goes up to 50 rows and 20 columns, and you can add more rows or columns afterwards. Individual cells — or a selection of cells — can carry their own background, alignment, and borders. Images and QR codes are managed content rather than pasted screenshots, so they stay maintainable; a QR code can hold up to 2,500 bytes of data. Separators, containers, and columns handle visual grouping and page layout.

Conditional blocks show or hide their content based on an expression. Loops repeat content for every item in an array, and a Data List renders an array as a formatted list with the marker style you choose.

Page blocks work at the page level. A document can have up to two page headers — the first applies to page one, the second runs on later pages — and you can swap which is which by dragging them within the header zone. There is one footer, which can be hidden on the first page. The address block positions recipient information for a window envelope; there is at most one per document, and it belongs directly after the header, because content placed before it can overlap the window area.

Choosing the right block

Start with text for wording that never changes, and reach for a field only where the document pulls in case data. Use a table when the data is a set of column-based records, and a Data List when each item in an array should become one line in a list; the two look similar but solve different problems.

Conditional blocks, loops, and Data Lists exist for content whose visibility or repetition depends on the data. If nothing varies, ordinary blocks are simpler and easier to maintain.

Keep standard fragments in a stencil instead of copying them between templates, and reach for page blocks only when the position or repetition of content is tied to the printed page.

Keeping content together on the page

Most blocks have two page-flow options: keep a block together so it is not split across a page boundary, and keep it with the next block so no page break falls between them. A signature, a short table, or a heading that belongs to the block beneath it are the usual candidates. Both are set in the inspector, beside the block’s other properties. Blocks that cannot be split across a page — images, QR codes, and separators — do not offer them.

Bringing in the data

Fields and examples come from the data contract, which is configured outside the visual editor. The field picker offers the fields the contract declares, up to five levels deep; inside a loop the item’s fields are available through the loop’s alias, and page blocks can use the current page number and the total page count.

Expressions are written in JSONata, with a builder mode for selecting fields and a code mode for more advanced logic. The expression dialog previews the result against the example you selected.

Reusable parts

Stencils insert a maintained fragment — a signature, a legal paragraph, a branded footer — as an editable copy inside the document. Because the content becomes part of the template, a later stencil release never silently changes a version you already published. Stencils cannot be nested.

Saving and undo

Your work saves automatically while you edit, and Ctrl+S saves immediately. Undo and redo work separately for structural changes and for rich-text editing, so undoing a sentence does not undo the block you just moved. If you leave with unsaved changes, the browser warns you. Saving keeps a draft; publishing is a separate step, taken outside the editor once the document is approved.

If the selected example does not match the contract, the preview reports the problem instead of rendering.

Checks before you publish

  • Does the preview fit on the page?
  • Are long names, addresses, and repeated rows handled well?
  • Are optional paragraphs shown and hidden correctly?
  • Do blocks that must not split — a signature, a short table — keep together?
  • Are headers and footers right, including the first page?
  • Are standard fragments still current?
  • Does the document use the correct theme and font?

Do not publish until the preview is readable with the examples that matter most.

Try it yourself

Open the editor with a demo template

A free account is required. Here's how

More on this topic