This feature is available with PrimeCenter package
This article is intended for advanced users who want to automate their prepress workflow by integrating third-party systems (ERP, webshops, etc.) with PrimeCenter.
You can automate workflows in PrimeCenter by exchanging XML job tickets. Job tickets describe the input files, processing options, and layout results. They can be created externally and imported into PrimeCenter, or exported by PrimeCenter for reuse in other systems.
What is an XML job ticket?
An XML job ticket is a file generated by a third-party application upstream of PrimeCenter. It is linked to a print job and contains metadata such as:
- Customer ID
- Number of copies
- Job name or comment
- Preflight instructions
PrimeCenter uses this metadata to:
- Automate file renaming, organization, and filtering
- Apply recipes and check/fix profiles
- Export structured job and layout information downstream
Info
The XML ticket must follow the specific format defined by Caldera. The third-party application must generate tickets in this format.
Structure of an XML job ticket
An XML ticket is composed of two parts:
-
Job part: Contains input metadata about the job to be processed by PrimeCenter. This part is always present in input tickets and in output tickets per image.
-
Layout part: Contains metadata about the layout generated by PrimeCenter. This part is present in all output tickets (per image or per layout) but never in input tickets. You can update this part later on with information from other third-party applications such as a RIP or a cutter controller.
Ticket types
| Ticket type | Job part | Layout part | Notes |
|---|---|---|---|
| Input ticket | Yes | No | Submitted to PrimeCenter to process an image |
| Output ticket - per image | Yes | Yes | Generated for each image in a layout, includes job metadata and layout information |
| Output ticket - per layout | No | Yes | Generated for each layout, includes only layout information |
Good to know
- Choose which type of output ticket you want to generate in Export settings.
- Starting from PrimeCenter V4.3, output XML tickets can be generated even if no input ticket exists.
Input ticket
<ticket>
<job>
<process>...</process>
<info>...</info>
<file>...</file>
<media>...</media>
<recipe>...</recipe>
<gang>...</gang>
<preflight>...</preflight>
</job>
</ticket>
Output ticket per layout
<ticket>
<layout>
<info>...</info>
<stats>...</stats>
<cropped>...</cropped>
<format>...</format>
<cutGUID>...</cutGUID>
<fillRatio>...</fillRatio>
</layout>
</ticket>
Job part
The job part contains metadata about the job to be processed by PrimeCenter. It is present in input tickets and in output tickets per image.
📌 <job> tag
Mandatory. The root tag for each job. It includes the job creation timestamp.
<job creationTime="2022-03-18T15:27:54">
📌 <source> tag
Mandatory. Contains information about the job file:
-
<filespec>(mandatory): path of the job file. Can be:- Absolute path
- Relative path (relative to the folder where the ticket is placed)
-
HTTP link
HTTP link rules
- Must end with the file name and its extension.
- Must follow proper character encoding rules. You can use this tool to clean your link and generate a usable version.
Example
<!-- Relative path -->
<filespec>file://myfolder/myfile.pdf</filespec>
<!-- Absolute path -->
<filespec>file:///Users/john/myfolder/myfile.pdf</filespec>
<!-- Windows mapped network drive -->
<filespec>file://S:/PrimeCenter_Jobs/myfolder/myfile.pdf</filespec>
<!-- Windows UNC path -->
<filespec>file:////networkfolder/PrimeCenter_Jobs/myfolder/myfile.pdf</filespec>
<!-- HTTP link -->
<filespec>https://www.caldera.com/wp-content/uploads/2024/12/primecenter-slider-generic.png</filespec>
-
<pages>(optional): pages to process in a PDF file. By default, all pages (1–N) are used. Can be a list, interval, or both:
<pages>1,2,5</pages> <!-- list -->
<pages>1-4</pages> <!-- interval -->
<pages>(1,3-5,7-N)</pages> <!-- list + interval -->
-
<copies>(optional): number of copies per page:
<copies>5</copies>
-
<scale> / <width> / <height>(optional): influence the size of the printed job:-
Units for
<width>and<height>: mm (default), cm, or in -
<scale>unit: percentage (1–100%) -
Priority if multiple tags: scale → width → height
-
Examples
<scale>50</scale>
<width unit="in">20</width>
<height unit="cm">30</height>
📌 <media> tag
Optional. Overrides the media format defined in the recipe:
-
<formatName>(optional): name of the format to apply -
<width>/<height>(mandatory if overriding):- must include units
-
for rolls, set 0 for one dimension
Nesting direction tip for rolls
- Height = 0 → horizontal
- Width = 0 → vertical
-
<margins>(optional):- top, bottom, left, right
- defaults to 0 if omitted
Example
<media>
<formatName>Roll 1300</formatName>
<width unit="mm">1300</width>
<height>0</height>
<margins>
<top unit="mm">25.5</top>
<bottom unit="mm">15</bottom>
</margins>
</media>
📌 <process> tag
Optional. Defines processing instructions:
-
<recipe>(mandatory if using Global hotfolder with XML extraction): recipe to use -
<gang>(optional): gang ID or metadata for nesting
Examples
<process>
<recipe>Stickers</recipe>
<gang>2</gang> <!-- free ID -->
<gang by="orderID"/> <!-- metadata -->
</process>
📌 <info> tag
Mandatory. Contains job identifiers and metadata:
-
<jobID>(mandatory): unique job identityJob identification fallback starting from V4.3
- If
<jobID>is missing, PrimeCenter uses<jobName>. - If
<jobName>is missing, PrimeCenter uses the file name.
- If
-
<customerID>(optional): customer ID -
<orderID>(optional): order number -
<jobName>(optional): job name -
<comment>(optional): free comment -
<sequence>(optional): defines nesting order
Examples
<info>
<jobID>0014</jobID>
<customerID>Karl_Dera</customerID>
<orderID>0134</orderID>
<jobName>Rocket_blue</jobName>
<comment>Very Important Client</comment>
<sequence>4</sequence>
</info>
📌 <preflight> tag
Optional. Allows defining check/fix and variables for automated workflows. Export a template from the Input check/fix tool to see which variables to use for each profile.
Layout part
The layout part of the XML job ticket is automatically generated by PrimeCenter. It contains detailed information about the layouts created, which you can use if you want to integrate or analyze the data in another system.
📌 <layout> tag
The root tag for each layout. Attributes include:
- name: name of the layout in PrimeCenter
- lastEvent: last modification time (local time)
- lastEventGMT: last modification time (GMT)
Example
<layout name="Nest - Karl_Dera" lastEvent="2025-08-01T12:00:00" lastEventGMT="2025-08-01T10:00:00">
</layout>
📌 <cutGUID> tag
Indicates the printed barcode value for the layout, which can be used to track the cut or link with another system.
Example
<cutGUID>2BBD406B</cutGUID>
📌 <info> tag
Contains key metadata about the layout:
-
<fillRatio>: media coverage in percentage -
<stats>: layout area and media waste (added in V4.3) -
<mediaName>: media used for the layout -
<gang>: gang applied if any -
<width> / <height>: size of the layout in millimeters -
<linear meter>: layout height for roll formats (added in V4.3) -
<cropped>: indicates if the “Crop to data” option was applied (added in V4.3) -
<format>: information about the sheet or roll format used, including type, width, height, and name (added in V4.3)
Example
<info>
<fillRatio>29</fillRatio>
<stats>
<area unit="m2">0.417</area>
<waste unit="m2">1.023</waste>
</stats>
<mediaName>Carbon fibre prepreg</mediaName>
<gang>KarlDera</gang> <!-- metadata -->
<width>914.4</width>
<height>457.2</height>
<cropped>true</cropped>
<format type="Sheet">
<width unit="mm">1200</width>
<height unit="mm">1200</height>
<name>MyCustomFormat</name>
</format>
</info>
📌 <paths> tag
Lists the file paths generated by PrimeCenter:
-
<output>: print file path -
<cut>: cut file path (.zcc or .pdf)
Example
<paths>
<output timeStamp="2025-08-01T12:05:00" timeStampGMT="2025-08-01T10:05:00">file:///path/to/layout.pdf</output>
<cut timeStamp="2025-08-01T12:05:00" timeStampGMT="2025-08-01T10:05:00">file:///path/to/layout.zcc</cut>
</paths>
📌 <contents> tag
Lists all items included in the layout and their positions:
-
<job>: ID of the job and number of items -
<item>: position (x, y), size (w, h), page number, and rotation angle
Example
<contents>
<job id="0001" items="2">
<item page="1" x="100" y="50" w="200" h="300" angle="0"/>
<item page="2" x="150" y="70" w="200" h="300" angle="0"/>
</job>
</contents>
Full output XML ticket example
<ticket version="1" lastEvent="2025-08-01T15:27:54">
<job creationTime="2025-08-01T15:27:54">
<source>
<filespec>file:///path/to/file.pdf</filespec>
<pages>1-3</pages>
<copies>5</copies>
</source>
<media>
<formatName>Roll 1300</formatName>
<width unit="mm">1300</width>
<height>0</height>
</media>
<process>
<recipe>Stickers</recipe>
<gang>12</gang>
</process>
<info>
<jobID>0014</jobID>
<customerID>Karl_Dera</customerID>
<orderID>0134</orderID>
<jobName>Rocket_blue</jobName>
<comment>Very Important Client</comment>
<sequence>4</sequence>
</info>
<preflights>
<preflight1>
<profile>profileLocation</profile>
<variables>
<PC-Parameter1>xxx</PC-Parameter1>
</variables>
</preflight1>
</preflights>
</job>
<layout name="Nest - Karl_Dera" lastEvent="2025-08-01T18:00:00">
<info>
<fillRatio>29</fillRatio>
<stats>
<area unit="m2">0.417</area>
<waste unit="m2">1.023</waste>
</stats>
<mediaName>Carbon fibre prepreg</mediaName>
<gang>12</gang>
<width>914.400000</width>
<height>457.200000</height>
<cropped>true</cropped>
<format type="Sheet">
<width unit="mm">1200</width>
<height unit="mm">1200</height>
<name>MyCustomFormat</name>
</format>
</info>
<paths>
<output timeStamp="2025-08-01T18:00:00">file:///path/to/layout.pdf</output>
<cut timeStamp="2025-08-01T18:00:00">file:///path/to/layout.zcc</cut>
</paths>
<contents>
<job id="0014" items="2">
<item page="1" x="845.067979" y="65.194744" w="114.064345" h="510.416519"/>
<item page="2" x="845.067979" y="65.194744" w="114.064345" h="510.416519"/>
</job>
</contents>
</layout>
</ticket>