What is Variable Data?
Variable Data refers to the ability to dynamically insert personalized or changing content (e.g., names, images, barcodes) into templates at print time.
How do I create a template with variable data?
1. Open the Editor.
2. Draw PlaceHolders where dynamic content should appear.
3. Insert keywords inside text boxes (e.g., `$Name$`, `$#1:FileName$`).
4. Save the document as a `.st3` template file.
What are PlaceHolders?
PlaceHolders are visual containers used in a template to receive dynamic content like images or PDFs. Each PlaceHolder has a unique ID.
What are keywords and how are they used?
Keywords are text placeholders formatted with dollar signs, like `$Name$`.
They are replaced at runtime with values from:
* A text file (via Combine)
* Document metadata (`$:Keyword$`)
* PlaceHolder content (`$#ID:Keyword$`)
How does the Combine function work?
Combine merges a template with a data file. Each row in the file corresponds to one set of values and results in one copy of the full template.
* UTF-8 encoded plain text
* Tab-separated columns
* First row defines keywords
* Each row after the first provides data for one document instance
How many documents are generated?
Each row of the data file generates one instance of the full template. For a 2-page template with 3 data rows, you get 6 pages.
What does the @ symbol do in a keyword?
@ introduces special formatting:
* `@Code128` → Barcode
* `@QR10mm` → QR code, 10mm size
* `@%2f` → Number with 2 decimal places
Can I use QR codes in my template?
Yes. Use a keyword like `$URL@QR10mm$` in a text box. The QR bitmap will replace the keyword.
What won’t work in the Editor?
Some system-specific keywords like the RIP Queue name will not resolve inside the Editor but will work in the RIP.
How do I test my setup?
* Use a small test file with 2–3 records
* Confirm PlaceHolder IDs and keyword names match
* Preview output using Combine before RIP stage
How is variable data applied in the RIP?
Select your `.st3` template in *Queue Settings > Layout*
Variable data is injected as part of the RIP process using the linked data source.