Variable Data (VDP)

Variable Data (VDP)

 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.

What format should the data file be in?

* 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.