1. Home
  2. Knowledge Base
  3. Editor
  4. Variable Data Printing (VDP)

Variable Data Printing (VDP)

The variable data process involves a template file, in which PlaceHolders and special keywords are defined. When Variable Data is used, these PlaceHolders and keywords will be replaced.

In the Editor, Variable data can be done by importing files in a document with PlaceHolders or by using File – Combine…

In the RIP, Variable data can be invoked by selecting a template file in the Queue Settings Layout tab.

To use PlaceHolders, simply draw them in the Editor, and save the file as a template file. You can specify this in the save-as dialog. When a PlaceHolder is drawn, it gets an ID. The ID can be changed with the PlaceHolder tool.

Keywords are (parts of) texts. A keyword is recognized by two dollar signs, one at the start and one at the end. If a text contains “$Name: $”, this complete text (including the dollar signs) will be replaced by the text which specifies “Name”.

When a keyword starts with ‘:’, the text which will replace the keyword will be obtained from the current document. “$:Name$” will get the replacement text for “Name” from the document.

When a keyword starts with ‘#’ this ‘#’ has to be followed by a PlaceHolder ID, which identifies the PlaceHolder from which to get the replacement text. After this ID, a ‘:’ must be used to separate the ID from the actual keyword. “$#3:Name$” will get the replacement text from the PlaceHolder content with ID 3.

In the Editor, it is also possible to have keywords without ‘:’or ‘#’. These keywords are defined in a user generated text file. When using the Combine function, this text file can be selected.

The are some extra settings, which allow you to do some special things like “after replacing the text, convert the text to a barcode”, or “only show the first two decimals of a fractional number”.

These settings are put in the last part of the keyword, starting with a ‘@’. Multiple settings can be added, by appending a ‘@’with the setting at the end of the keyword.

Some keywords will or will not work in the Editor, while others will not work in the RIP.

Obtaining the Queue name for example, is not possible in the Editor.

The text file that is used in the Combine function in the Editor is has to be a UTF8 encoded text file.

The first row in this file defines the used defined keywords. The keywords must be separated by a tab.

The number of keywords in the first line, define the number of columns.

In the lines that follow, the same number of columns must be used. If a column has no value, an empty entry must be added ( “” ).

Each line after the first one will generate a copy of all pages in the original template file. If the template file contains three pages, for each extra line of data in the text file three pages will be added to the document.


An example text file:

Name(tab)Adress(tab)Phone Number(tab)#6

Erik(tab)Main street 7(tab)xx31555666777(tab)(path1)

Martin(tab)SubSquare 5(tab)xx31555999888(tab) )(path2)

Paul(tab)Garden view 6(tab)xx32555111222(tab) )(path3)

Of course, each (tab) in this example must be replaced by a real tab in the actual text file.

In this example there are four user defined keywords:



Phone Number


When a template file of 2 pages is Combined with this text file, the resulting file will contain 6 pages.

Two pages for the Erik-line, two for the Martin-line and two for the Paul-line.

All keywords “$Name: $” will be replaced by “Erik” in the first two pages, by “Martin” in the next two pages and by “Paul” in the last two pages.

In this manner, also all “$Adress$” and “$Phone Number$” will be replaced.

The last keyword is a special one. It starts with a ‘#’, which means that the paths in this are used to fill the PlaceHolder with ID equal to 6. The paths can be full paths, or paths relative to the document (paths start with “./” ) .

The paths are used to fill the PlaceHolder. When a PlaceHolder is filled, it ‘knows’ things about its content. The PlaceHolder knows its file, the file size, the number of pages in the file, but also the EXIF data, if present.

This means that the template file can also contain keywords which get their replacement text from a specified PlaceHolder. “$#6:FileName$” will be replaced by the name of the file that has been placed in the PlaceHolder with ID 6.

Example 1

In the Editor, create a new document.

Draw a PlaceHolder, and set its Resize type to “Smallest”. Make sure the ID of the PlaceHolder is 1.

( Do not forget to click the Apply button )

Add a text “$#1:Title$”, and save the file as a stationary ( .st3 in the Save as dialog )

Drop an image on the document. You will see the PlaceHolder gets filled with the image, and the text will be replaced by the title of the dropped file.

Example 2

In the previous example, also add the text “$#1:Title@Code128$”. Save as .st3.

When the image is dropped, this text will be replaced by the same text as “$#1:Title$”, but its font will change to a barcode font, and extra characters will be added to make the barcode Code128 compliant. (You can see the extra characters by changing the barcode font into a normal font)

Example 3

In the first example, also add the text “$#1:XResolution$” and the text “Resolution: $#1:XResolution@%2f$ dpi”

Example 4

If a QR code should be generated, part of the text can be replaced by a Bitmap, containing the code.

The bitmap is placed left top on the left top of the text. So to be able to place QR code bitmaps it is good practice to give them their own text object.

“The link to the file in QR format:” “$URL@QR”

The first text will remain the same, the second will be replaced by a QR code. ( when the table in the text file contains a column “URL” )

The link to the file in QR format:

If a size if added behind “QR”, the image will take on that size.

QR10mm will result in an image of 10 millimeters ( width and height are the same )


QR3cm ( centimeter )

Parameter list

Parameter Description
Code128 Standard barcode system
Code39 Standard barcode system
Ean13 Standard barcode system
Ean8 Standard barcode system
AddOn Standard barcode system
Code25I Standard barcode system
QR Standard barcode system
%d Format the result as an integer
%nf Format the result as a fractional number with n decimals
Keyword Description
Title The title of the file
Creator The Creator of the filr
Descriptor Description used in Document Info
Keywords Keywords set in Document info
UsedTime Time used
FileType Type of the file
FileSize Size of the file
PageCount Number of pages
PageWidth Width of the page
PageHeight Height of the page
XResolution Horizontal resolution
YResolution Vertical resolution
Panel Panel information
Tile Tiling information
Guide Information about guides
Annotation Information about the annotations
Grid Grid sizes
EXIF/ExposureTime ExposureTime from EXIF data
EXIF/Description Description from EXIF data
EXIF/Software Software from EXIF data
EXIF/Artist Artist from EXIF data
EXIF/Model Model from EXIF data
EXIF/Make Make from EXIF data
EXIF/XResolution XResolution from EXIF data
EXIF/YResolution YResolution from EXIF data
NAME Job name
QUEUE Queue name
USER User name
PRINTER Printer name
MEDIA Media name
MODE Mode name
DFP Profile name
QUEUETYPE Type of Queue
PFP Reference profile
REFERENCE Reference profile
CMYK CMYK profile name(s)
RGB RGB profile name(s)
GRAY Gray profile name(s)
LAB Lab profile name(s)
GRAYINTENT Gray intents
LABINTENT Lab intents
SCALE Scaling
IMAGEDPI Resolution of images
IMAGECOLOR ColorSpace of images
IMAGEPROFILE Images profile
SCREEN Screening type
FORMAT Input format
DRIVERSET Driversettings
SOLIDBLACK Solid Black setting
BLACKCOMP Blackpoint Compensation setting
PAPERCOLOR PaperColor compensation setting
EMBEDDEDPROFS Use embedded profiles setting
INPUTDIR Hotfolder path
TEMPLATE Template file used
WIDTHANDHEIGHT Output width and Height
DAL_MODE 1-bit mode
PREFERX3 Prefer PDF-X setting
CONVERTALLSPOT Convert all spotcolors setting
CONVERTCMYKSPOT Convert all spots to CMYK setting
PLATECURVECOMP 1-bit dotgain curve name
SUBSTRATESIM Substrate simulation name
MIRROR 1-bit Mirror setting
PUREHUE Pure Hue setting
FASTRIP Fast RIPping setting
DAL_NEGATIVE 1-bit negative setting
DEVLINK Devicelink profile name
EXIF Complete EXIF info (fixed set)
CERTIFICATION Certification result

Updated on May 19, 2022

Was this article helpful?

Related Articles