Skip to content

Variable-data documents

Some documents are not one page of prose but the same small design printed many times with different content: a sheet of product labels, a run of name badges, numbered tickets, coupons with a different code on each.

A grid is that design. You draw one cell — text, images, rules, a barcode — and point it at a list. Twelve products in the data, twelve labels on the sheet.

Set Columns and Cell height, and the cell width follows from the frame you drew. Cells fill left to right, then top to bottom, one per entry in the list. When the list is longer than the sheet, the grid continues onto the next page like any other flowing content.

Two settings exist for the physical reality of label stock:

  • Start at leaves a number of cells blank before the first item, so you can finish a part-used sheet instead of throwing it away.
  • Same position as page 1 makes every continuation page start its rows at the same offset as the first, so the labels line up with the die-cut on every sheet rather than creeping upward.

The cell is edited once, in Cell layout, and previewed with the first row of your data so you can see a real value in a real box. Everything inside the cell reads that row: a text box bound to {{item.name}}, an image whose source comes from the row, a barcode whose value is the row’s code.

A barcode is placed like any other element, with its value bound to the data. Supported symbologies:

Symbology Typical use
QR URLs, payment codes, anything scanned by phone
Code 128 Internal item and carton codes
EAN-13 / JAN Retail product codes
GS1-128 Logistics: batch, expiry, quantity in one code
Japan Post customer barcode Addressed mail in Japan

They are drawn as vector artwork, not as a rasterised picture, so they stay sharp at any size and print cleanly at any resolution. For QR you can pick the error-correction level; a quiet zone is included by default.

Use a table when the repeating thing is a row across shared columns — an invoice’s line items, a statement. Use a grid when the repeating thing is a self-contained little page — a label, a badge, a card. Both take the same kind of list from the payload; they differ in what one entry becomes.

  • One list per grid. A grid draws one cell per entry of a single array.
  • A cell holds simple elements — text, images, shapes, rules, barcodes and vector artwork. A table or another grid inside a cell is rejected: a cell is a small fixed design, not a page of its own.
  • Cells are a fixed size. The cell height is what you set; a cell whose content is too tall is not grown to fit, because a label sheet’s geometry is decided by the stock, not by the data.
  • Rows move whole. A row of cells that does not fit on the page moves to the next page rather than being cut.