Using Job Tickets

Usually, a Job of a Server needs incoming files in the specified "In" folder to start processing as defined in the respective Job settings.
The "Job Ticket mode" makes it possible to put just a ".jobticket"-file into the input hotfolder of the Server (instead of a PDF), which contains all necessary information about the file to be processed as well as optionally additional parameters like e.g. a Profile, additional CLI parameters or variables and their values.

When setting up a Job, just select "Job Ticket mode" instead of a Profil.
Using this mode, the Server will only process files with the extension ".jobticket" in the input folder of this Job. All other files will remain in the input folder and will not be processed.

The ".jobticket" file has to be formatted in JSON, containing all needed information for processing a file.

Job Ticket for Profile-based processing

As already mentioned, instead of placing an input file, which will be processed based on the fixed settings of a Job, the way a file is processed in a "Job Ticket"-Job is completely flexible - and there is no need to place the input file into the input folder as well.
All required components (like the input file, the Profile and maybe ressources referenced by Variables) can remain in their original location and have to be just referenced in the Job Ticket.

{
	"type": "jobticket",
		"params":
		[
			”/Settings/Profiles/Place text.kfpx",
			“/volumes/Production/Incoming/0815/DummyPDF.pdf",
			"—setvariable=placetext:Text for DummyPDF",
			"--report=xml",
			"--report=template=overview,path=/0815/report“
		]
}
Click to copy

Each Job Ticket has to start with the "type", which must be "jobticket".
Within the "params" section, almost all CLI parameters of pdfToolbox can be used.

Minimum content:

  • As the Job itself does not define a Profile, a valid path to a Profile must be defined.
  • Path to the file to be processed

All other parameters are optional.

Reports have to be defined in the .jobticket file, as they can not become set in the Job.
By default, the report will be saved into the folder of the respective severity of each process (Error, Warning, Info or Success).
However, the path to a report can also be defined in the .jobticket-file.

Job Ticket for Actions

When an Action (e.g. Save as image, ReDistill, Impose) shall be performed, the syntax of the .jobticket-file is quite similar.
Instead of defining a path to a Profile, the respective Action command and the needed options have to be defined:

{
 	"type": "jobticket",
	"params":
	[
		"--saveasimg",
		"E:\\Job2\\in\\Testfile.pdf",
		"--imgformat=jpeg",
		"--colorspace=CMYK",
		"--resolution=150“
	]
}
Click to copy
{
	"type": "jobticket",
	"params":
	[
		"--mergepdf",
		"E:/Job_4711/in/file_001.pdf",
		"E:/Job_4711/in/file_002.pdf",
		"E:/Job_4711/in/file_003.pdf",
		"E:/Job_4711/in/file_004.pdf“
	]
}
Click to copy

How to test a Job Tickets

To test the behavior of a .jobticket-file, they can be used with pdfToolbox on the command line:

pdfToolbox --jobticket <input.jobticket>

Syntax issues to be considered

Be aware of JSON-related typological issue and other implementation-based issues:

  • Don't use (“) - but use (")
  • Escape (\) on Windows → (\\)
    or use a normal slash (/) instead
  • Escape Quotes (") → (\") when used as string
  • Spaces ( ) must not be escaped

Limitations

The following output options are not supported:

  • Outputfile
  • Outputfolder
  • Overwrite

Other currently not supported options:

  • Cachefolder
  • All kinds of distributed processing options
  • Timeout settings

Everything from 'How to' to 'Do's and Dont's' of Job tickets in this video: