In this article, you will learn
- how to create variables in callas pdfToolbox,
- how to assign a type in the XML to the various variables, and
- how to structure the XML file so that Fixups with variables can be used within the Workflow.
1. Introduction
Fixups are a fundamental component in the Workflow. They allow data to be automatically corrected and prepared for printing. Additionally, the user can create custom Fixups with user-defined variables, giving users the flexibility to create Fixups tailored to their specific needs and apply them within the Workflow.
2. Variables in «callas pdfToolbox»
Before the available XML types can be assigned to the variable, it must first be defined in callas pdfToolbox for the respective correction option in the KFPX file.
The key
[1] defined here will later be needed for type assignment. Therefore, the key
should be named in a clear and understandable way. The desired type can only be assigned in an XML file if the callas pdfToolbox allows the respective value type. Ensure that the assigned type in the XML is compatible with the value type [2] in the pdfToolbox.
Figure 1: Dialog for creating a variable in pdfToolbox with the value type «String»
Working with callas pdfToolbox
Familiarity with callas pdfToolbox is required to create custom Fixups. Find a detailed description of the callas pdfToolbox in the callas user manual.
Using the KFXP file for versions lower than 14
For creating the KFPX file, we worked with the callas pdfToolbox 14. Note that the sample KFPX files from callas pdfToolbox lower than version 14.0 cannot be imported in versions prior to 14.0. Versions higher than 14.0 can import the sample KFPX files at any time!
The KFPX files can only be uploaded in Workflow versions 1.14.0 and higher. They cannot be used in earlier versions, such as Workflow 1.13.x, 1.12.x or 1.11.x.
3. Available XML Types
After creating a Fixup in callas pdfToolbox and assigning the desired values, a type can be assigned to the variables in the XML file. The different types allow various options to be displayed in the user interface, such as an input field, a checkbox or a slider.
The user can refer to the following types:
-
STRING
– this creates an input field. Allowed entries include numbers, letters, and special characters. -
PATTERN_STRING
– this is equivalent to theSTRING
type. By selecting this type, an input field with Variable Content can be created by inserting a placeholder (database field or user-defined field), from which the value for the content should be retrieved. -
DOUBLE
– this creates an input field. Allowed entries include positive and negative numbers, with or without decimal points. -
PATTERN_DOUBLE
– this is equivalent to theDOUBLE
type. By choosing this type, an input field with Variable Content can be created by inserting a placeholder (database field or user-defined field), from which the value for the content should be retrieved. -
INTEGER
– this creates an input field. Allowed entries include positive and negative numbers, as well as 0, but without decimal points. -
PATTERN_INTEGER
– this is equivalent to theINTEGER
type. By choosing this type, an input field with Variable Content can be created by inserting a placeholder (database field or user-defined field), from which the value for the content should be retrieved. -
BOOLEAN
– this creates a checkbox to activate or deactivate the option. -
PATTERN_BOOLEAN
– this is equivalent to theBOOLEAN
type. By selecting this type, an input field with Variable Content can be created by inserting a placeholder (database field or user-defined field), from which the value for the content should be retrieved. -
SLIDER_INTEGER
– this displays a slider with values ranging from 0% to 100%. -
COLOR_PICKER
– this creates an input area for entering CMYK values with a color preview area. -
MOTIF_SPOTCOLORS_ALL_SINGLE_CMYK
– this allows selecting a single Spot Color or Technical Color from the Print Item. -
MOTIF_SPOTCOLORS_ALL_MULTI
– this allows selecting multiple Spot Colors or Technical Colors from the Print Item. -
MOTIF_SPOTCOLORS_TEC_SINGLE_CMYK
– this allows selecting a single Technical Color from the Print Item. -
MOTIF_SPOTCOLORS_TEC_MULTI
– this allows selecting multiple Technical Colors from the Print Item. -
SYSTEM_SPOTCOLORS_ALL_SINGLE_CMYK
– this allows selecting a single Spot Color or Technical Color from the system. -
SYSTEM_SPOTCOLORS_TEC_SINGLE_CMYK
– this allows selecting a single Technical Color from the system. -
SYSTEM_SPOTCOLORS_OAS_SINGLE_CMYK
– this allows selecting a single Technical Color that is output system-wide as a Separation. -
SYSTEM_SPOTCOLORS_TEC_AUTO
– this excludes system-wide defined Technical Colors from the Fixup. -
SYSTEM_SPOTCOLORS_OAS_AUTO
– this exclude system-wide defined Spot Colors that are output as a Separation from the Fixup. -
SYSTEM_SPOTCOLORS_TEC_OAS_AUTO
– this excludes system-wide defined Technical Colors and Spot Colors that are output as Separations from the Fixup. -
MOTIF_LAYERS_ALL_SINGLE
– this allows selecting a layer that is created within the file. -
MOTIF_LAYERS_ALL_MULTI
– this allows selecting multiple layers that are created within the file. -
MOTIF_LAYERS_VISIBLE_MULTI
– this allows selecting multiple visible layers. -
MOTIF_LAYERS_INVISIBLE_MULTI
– this allows selecting multiple invisible layers. -
PAGE_SELECTION_PATTERN
– this creates an input field for page selection with an info box displaying the calls split schema.
3.1. Create Fixup with Variable of Type "STRING"
To create an input field where a string of characters can be entered, the type STRING
must be used. Characters that are available in a STRING
include letters, numbers, symbols, or tabs. This allows creating input fields where any text can be entered.
Examples include:
- Input field for labels as well as for generating Barcode and QR code content.
- Input field for searching for a specific text or entering text to be used.
- Input field for specifying the value to search for Barcodes or QR codes.
- Input field for defining a page range, e.g., 1 - 5.
3.1.1. Input Field in the KFPX
For illustration, we provide the Fixup PLACE_TEXT_STRING_MANUAL.kfpx. The custom Fixup PLACE_TEXT_STRING_MANUAL includes:
- The variable
SAMPLE_String
with - The value type
String
The goal of the Fixup is to place a defined text centrally in the center of the media frame (MediaBox) of the Print Item. The text has a size of 12 pt., and the color of the text is 100% CMYK black. In the input field, the user can enter the text to be placed.
3.1.2. Input Field in XML
Once the KFPX file has been exported, the corresponding XML file must be created, and the previously defined variable SAMPLE_String
must be assigned the type STRING
within it. The Fixup can only be applied to the Workflow if the KFPX and XML files match.
Figure 2: Left: Excerpt from the XML file where the type «String» has been assigned to the variable; Right: Dialog of the Fixup Sample for a String in the Workflow
To define an input field as a String in the XML, proceed as follows:
- First, create the basic structure of the XML file. For details on how this shouls look, refer to the article Creating Fixups without a Variable.
- In the
<fixup>
...</fixup>
element, insert the sub-element<variables>
…</variables>
and within this, add the element<variable>
…</variable>
. The structure is illustrated in Figure 2. - Finally, assign the attributes for the element
<variable>
…</variable>
. The following attributes should be assigned for aSTRING
type:-
name
[4] – enter thekey
[1] (Figure 1) of the variable that was defined in pdfToolbox. -
type
[3] – assign the typeSTRING
here to create an input field for allowed letters, numbers and special characters. -
defaultValue
[6] – enter the value that should be displayed by default in the input field. This attribute is optional but recommended to give the user an indication as to what type of content is expected in the field. -
displayVariable
[7] – set the value totrue
so that the variable will be displayed in the dialog. -
description
[5] – enter a description for the input field so that the user understands its purpose. This description can be translated into all languages available in the Workflow. The English translation is mandatory. The Fixup will only work when it is available. If a language is not translated, the English translation will be displayed.
-
For illustration purposes, we provide the corresponding XML file PLACE_TEXT_STRING_MANUAL.xml for download. In this file, the variable is defined as a STRING
type.
3.1.3. Input Field «PATTERN_STRING» in the XML
In addition to the option of creating an input field using STRING
, the same input field can also be provided with a placeholder to define Variable Content. For this, the PATTERN_STRING
type is required. The assignment of the type and the definition of the attributes work in the same way as with the STRING
type. By setting the PATTERN_STRING
entry in the type
attribute, it allows the user to select Variable Content [8] within the Workflow.
You do not need to make any structural changes in either the KFPX file or the XML file. All that is required is changing the type designation in the XML file to PATTERN_STRING.
For illustration purposes, we provide the corresponding XML file PLACE_TEXT_STRING_VARIABLE_CONTENT.xml for download, where the variable is defined with the PATTERN_STRING
type.
Figure 3: Fixup dialog Sample with a String with type «PATTERN_STRING»

3.2. Creating Fixups with Variable Type "DOUBLE"
To create an input field where numbers can be entered, the type DOUBLE
must be used. Positive and negative numbers, as well as numbers with decimal places, are allowed as valid entries.
Examples of use include:
- Input field for defining a lenght unit – e.g. width, height, length, etc.
- Input field for specifying color values
- Input field for specifying an angle
- Input field for specifying a line width
- Input field for specifying an offset
3.2.1. Input Field in the KFPX
For illustration, we provide the Fixup PLACE_TEXT_DOUBLE_MANUAL.kfpx. The custom Fixup PLACE_TEXT_DOUBLE_MANUAL includes:
- The variable
SAMPLE_Double
with - The value type
FLOAT
The goal of this Fixup is to position a defined text in the center of the media frame (MediaBox) of the Print Item. Using the input field, the text can be shifted along the X-axis to the left (negative values «-») or to the right (positive values «+»).
3.2.2. Input Field in XML
Once the KFPX file has been exported, the corresponding XML file must still be created, and the previously defined variable SAMPLE_Double
must be assigned the type DOUBLE
. The Fixup can only be applied to the Workflow if the KFPX and XML files match.
Figure 4: Left: Excerpt of the XML file, where the variable has been assigned the type DOUBLE; Right: The dialog of the Fixup Sample for a Double in the Workflow
To define an input field as DOUBLE
in the XML, proceed as follows:
- First, create the basic structure of the XML file. You can learn how to do this in the article Creating Fixups without a Variable.
- In the element
<fixup>
…</fixup>
, insert the sub-element<variables>
…</variables>
and add the element<variable>
…</variable>
. The structure is shown in Figure 4. - Assign the following attributes to the element
<variable>
…</variable>
. The following attributes should be assigned for aDOUBLE
:-
name
[10] – enter the key [1] (Figure 1) of the variable that was defined in pdfToolbox. -
type
[9] – assign the typeDOUBLE
here to create an input field for entering valid numbers. -
min/max
[12] – specify the value range for this variable. In this example, the value range is from -1000.0 to +1000.0. If a user attempts to enter a value of 1001, a warning will appear. -
defaultValue
[13] – provide a default value that should appear in the input field. This attribute is not mandatory but should still used to give users an indication about the type of input expected. -
modelUnit
[15] – specify the unit of measurement for calculations. In this case, it is millimeters. -
displayVariable
[14] – set this value totrue
so that the variable is displayed in the dialog. -
description
[11] – provide a description for the input field so that users know its purpose. This description can be translated into all languages available in the Workflow. The English translation is mandatory. Fixups only work when the English translation is available. If no translation is available for a language, the English version will be shown.
-
For illustration purposes, we provide the corresponding XML file PLACE_TEXT_DOUBLE_MANUAL.xml for download. In this file, the variable is defined as type DOUBLE
.
3.2.3. Input Field “PATTERN_DOUBLE” in the XML
In addition to the option of creating an input field using a DOUBLE, the same input field can be equipped with a placeholder to define a Variable Content. For this, the type PATTERN_DOUBLE
is required. The assignment of the type and the definition of the attributes work in the same way as with the type DOUBLE
. By using PATTERN_DOUBLE
in the type
attribute, it allows selecting a Variable Content [16] in the Workflow.
You do not need to make any structural changes to the KFPX file or the XML file. You only need to change the type designation to PATTERN_DOUBLE
in the XML file.
For illustration purposes, we provide the corresponding XML file PLACE_TEXT_DOUBLE_VARIABLE_CONTENT.xml for download. In this file, the variable is defined as PATTERN_DOUBLE
.
Figure 5: Fixup dialog with the type PATTERN_DOUBLE

3.3. Creating Fixups with Variable Type "INTEGER"
To create an input field in which only whole numbers (Integers) can be entered, the type INTEGER
must be used. Allowed inputs include positive and negative whole numbers. Unlike the type DOUBLE
, numbers with decimal places are not allowed.
Examples of this could be:
- Input field for defining a page number
- Input field for specifying the number of rows
- Input field for specifying the number of columns
- Input field for defining image resolution
- Input field for specifying the number of copies
3.3.1. Input Field in the KFPX
For illustration purpose, we provide the Fixup PLACE_TEXT_INTEGER_MANUAL.kfpx. The custom Fixup PLACE_TEXT_INTEGER_MANUAL includes:
- The variable
SAMPLE_INTEGER
with - The value type
FLOAT
The purpose of this Fixup is to place a defined text at the center of the media frame (MediaBox) of the image. Using the input field, the text can be shifted along the Y-axis, either downward (using negative values «-» that move the text down) or upward (using positive values «+» that move the text up).
3.3.2. Input Field in XML
Once the KFPX file has been exported, the corresponding XML file must to be created, in which the previously defined variable SAMPLE_Integer
is assigned the type Integer.
The Fixup can only be applied to the Workflow when the KFPX and XML files match.
Figure 6: Left: Excerpt of the XML file where the variable is assigned the type INTEGER; Right: The Fixup dialog Sample for an Integer in the Workflow
To define an input field as INTEGER
in the XML, proceed as follows:
- First, create the basic structure of the XML file. The required structure can be found in the article Creating Fixups without a Variable.
- In the element
<fixup>
…</fixup>
, insert the sub-element<variables>
…</variables>
and add the element<variable>
…</variable>
element within it. The structure is shown in Figure 6. - Assign the following attributes for the
<variable>
...</variable>
element. The following attributes should be assigned for aINTEGER
:-
name
[18] – enter thekey
[1] (Figure 1) of the variable that was defined in the pdfToolbox. -
type
[17] – assign the typeINTEGER
to create an input field for entering whole numbers. -
min/max
[20] – specify the value range for this variable. In this example, the value range is from -1000 to +1000. If a user attempts to enter a value outside this range (e.g., 1001), a warning will be diplayed. -
defaultValue
[21] – enter the value that should be displayed by default in the input field. This attribute is not mandatory but should be used to provide guidance to the user on what type of content is expected in the input field. -
modelUnit
[23] – specify the unit of measurement that is needed by default for the calculation. In this case, it is millimeters. -
displayVariable
[22] – set this attribute totrue
to display the variable in the dialog box. -
description
[19] – provide a description for the input field so that the user understands its purpose. This description can be translated into all languages supported by the Workflow. The English translation is mandatory. Fixups only work when the English translation is available. If a language is not translated, the English version will be displayed.
-
For illustration purposes, we provide the corresponding XML file PLACE_TEXT_INTEGER_MANUAL.xml for download. This file defines the variable as type INTEGER.
3.3.3. Input Field “PATTERN_INTEGER” in XML
In addition to the ability to create an input field using an INTEGER, the same input field can also be equipped with a placeholder for defining a Variable Content. For this, the type PATTERN_INTEGER
is required. The assignment of the type and the definition of the attributes function in the same way as for the INTEGER type. By specifying PATTERN_INTEGER
in the type attribute, the option to select a Variable Content [24] in the Workflow is enabled.
No structural changes need to be made in the KFPX file or the XML file. You only need to change the type designation to PATTERN_INTEGER
in the XML file.
For illustration purposes, we provide the corresponding XML file PLACE_TEXT_INTEGER_VARIABLE_CONTENT.xml for download. In this file, the variable is defined as PATTERN_INTEGER
.
Figure 7: Dialog of the custom Fixup of type PATTERN_INTEGER

3.4. Create Fixup with Check Boxes
To create a checkbox that allows options to be activated or deactivated, the type BOOLEAN
must be used. This enables the user to toogle a checkbox on or off, thereby activating or deactivating the corresponding option.
3.4.1. Check Box in KFPX
To illustrate this functionality, we provide the Fixup PLACE_TEXT_BOOLEAN_MANUAL.kfpx Fixup. The custom Fixup PLACE_TEXT_BOOLEAN_MANUAL includes:
- The variable
SAMPLE_Boolean
with - The value type
BOOLEAN
The purpose of this Fixup is to place a predefined text string centered within the media frame (MediaBox) of the Print Item. The text is set in 12 pt and uses 100% CMYK black. An optional checkbox allows the user to add a white background behind the text.
3.4.2. BOOLEAN Check Box in XML
Once the KFPX file has been exported, the XML file must be created and the previously defined variable SAMPLE_Boolean
must be assigned the type BOOLEAN
. The Fixup can only be applied to the Workflow if the KFPX and XML files are consistent and correctly aligned.
Figure 8: Left: Excerpt from the XML file showing the variable assigned the Boolean type; Right: The Fixup dialog within the Workflow
To define a checkbox using a BOOLEAN
variable in an XML, follow the steps below:
- First create the basic structure of the XML file. Instructions for this can be found in the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element, and then add the<variable>
…</variable>
element inside it. Figure 8 illustrates the correct structure. - Assign the attributes to the
<variable>
…</variable>
element. The following attributes should be defined when using aBOOLEAN
type:-
name
[26] – enter theKey
[1] (Figure 1) of the variable as defined in pdfToolbox. -
type
[25] – set the value toBOOLEAN
to define the variable as a checkbox. -
defaultValue
[28] – enter the valuetrue
if the checkbox should be selected by default. This attribute is optional but recommended. -
displayVariable
[29] – set totrue
to ensure the checkbox is visible in the dialog. -
description
[27] – provide a name for the checkbox to indicate its purpose to the user. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. The Fixup will only work when the English translation is available. If a translation for the current language is not available, the English version will be displayed by default.
-
For reference, we provide the matching XML file PLACE_TEXT_BOOLEAN_MANUAL.xml for download. This file contains a properly defined BOOLEAN
variable for illustration purposes.
3.4.3. «PATTERN_BOOLEAN» Check Box in the XML
In addition to defining a checkbox using the BOOLEAN type, the same checkbox can be extended with a placeholder to allow the definition of Variable Content. To achieve this, the type PATTERN_BOOLEAN
is required. The assignment of the type and the definition of the attributes follow the same structure as for the BOOLEAN type. The PATTERN_BOOLEAN
entry in the type
attribute offers the option of selecting a Variable Content [30] in the Workflow.
No structural changes are required in either the KFPX file or the XML file. You only need to change the type name to PATTERN_BOOLEAN
in the XML file.
For illustration purposes, we provide the matching XML file PLACE_TEXT_BOOLEAN_VARIABLE_CONTENT.xml for download. In this file, the variable is defined as PATTERN_BOOLEAN
.
Figure 9: Dialog for the user-defined Fixup of the type PATTERN_BOOLEAN

3.5. Create Fixup with Selection Menu «dropdown»
To create a dropdown menu with predefined selectable options, the type STRING
must be used. In addition, the element <options layoutType="dropdown">
must be included. This element contains the individual options that will be displayed in the dropdown menu. As a result, the user can choose from a set of predefined values.
3.5.1. Selection Menu in the KFPX
Unlike the previously described types, a selection menu in pdfToolbox requires the input value to be limited to a specific value.
We provide the PLACE_TEXT_DROPDOWN_MANUAL.kfpx Fixup to illustrate this. The custom Fixup PLACE_TEXT_DROPDOWN_MANUAL includes:
- The variable
SAMPLE_Dropdown
with - The value type
PopUp
The input is restricted to the following values:
Bottom
Left
Right
Top
Center
The purpose of this Fixup is to place a predefined text element on the Print Item. The text is set in 12 pt and uses the text color 100% CMYK black. Using the dropdown menu, the user can choose where the text positioned. Available options include center, top center, right center, bottom center and left center.
3.5.2. Selection Menu in XML
Once the KFPX file has been exported, the corresponding XML file must be created. In this file, the previously defined variable SAMPLE_Dropdown
must be assigned the type String
and the layout type dropdown
. The Fixup can only be applied in the Workflow if the KFPX and XML files match exactly.
Figure 10: Left: Excerpt from the XML file showing the variable with type String and layout type dropdown assigned; Right: Fixup dialog as it appears in the Workflow
To define a selection menu (dropdown
) in the XML, proceed as follows:
- First, create the basic structure of the XML file. Detailed instructions can be found in the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element in it. Figure 10 shows what the structure looks like. - Assign the required attributes to the
<variable>
…</variable>
element. The following attributes should be set for aSTRING
:-
name
[32] – thekey
[1] (Figure 1) of the variable as defined in pdfToolbox. -
type
[31] – assign the typeSTRING
to create a selection menu that passes a string value. -
defaultValue
[37] – enter the value that should be selected by default in the selection menu. -
displayVariable
[38] – enter the valuetrue
so the variable is also displayed in the dialog. -
description
[33] – provide a name for the selection menu so users understand what the menu is for. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. The Fixup will only work if this is available. If a language is not translated, the English version will be shown by default.
-
- Within the
<variable>
…</variable>
element, insert the subordinate elements<options>
…</options>
. - Assign the attribute
layoutType="dropdown"
[34] for the<options>
…</options>
element. This creates the selection menu. - In the
<options>
…</options>
element, insert the subordinate elements<option>
...</option>
an element must be defined for each entry in the selection menu. - Assign the attributes for the
<option>
…</option>
element. The following attributes should be assigned for a dropdown:-
name
[35] – enter the name of the option here. This must match the respective pdfToolbox value. -
description
[36] – enter a name for the respective option here. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. Fixup will only work if this is present. If a language is not translated, the English translation will be displayed.
-
- Repeat steps 6 and 7 until all options have been described. Figure 10 shows the structure that this should have.
For illustration purposes, the matching XML file PLACE_TEXT_DROPDOWN_MANUAL.xml is available for download. In this file, the variable is defined as type STRING
with layout type dropdown
.
3.6. Create Fixup with Selection Menu "Radio Buttons"
To create radio buttons, where predefined options can be selected, the type String must be used. In addition, the element <options layoutType="radio">
must be included. This element defines the individual options that will be displayed. This allows the user to choose from a set of predefined options.
3.6.1. Radio Buttons in KFPX
As with the layout type dropdown
, the input values for radio buttons in pdfToolbox must be limited to predefined options.
We provide the PLACE_TEXT_RADIO_MANUAL.kfpx Fixup for illustration purposes. The PLACE_TEXT_DROPDOWN_MANUAL custom fixup contains
- The variable
SAMPLE_Radio
with - The value type
PopUp
The purpose of this Fixup is to place a predefined text in the center of media frame (MediaBox) of the Print Item. The text has a font size of 12 pt. The color of the text is 100% CMYK black. Using a radio button, the user can choose whether the text should be set to Overprint or Knockout.
3.6.2. Radio Buttons in XML
Once the KFPX file has been exported, the corresponding XML file must be created. In this XML file, the previously defined variable SAMPLE_Radio
must be assigned the type String
and the layout type radio
. The Fixup can only be applied to the Workflow if the KFPX and XML files match exactly.
Figure 11: Excerpt of the XML file in which radio buttons are defined for the variable
To define radio buttons in the XML, proceed as follows:
- First, create the basic structure of the XML file. For details on how this should look, refer to the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element. Refer to Figure 11 for an example of the structure. - Assign the necessary attributes to the
<variable>
…</variable>
element. The following attributes should be assigned for aSTRING
:-
name
[40] – thekey
[1] (Figure 1) of the variable as defined in pdfToolbox. -
type
[39] – assign the typeSTRING
to create a radio button. -
defaultValue
[45] – enter the value that should be selected by default in the selection menu. -
displayVariable
[46] – enter the value true to also display the variable in the dialog. -
description
[41] – provide a name for the radio button here so that the user understands what the menu is for. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. The Fixup will only work when the English translation is present. If a language is not translated, the English translation will be displayed.
-
- Inside the
<variable>
…</variable>
element, insert the<options>
…</options>
sub-element. - Assign the attribute
layoutType="radio"
[42] to the<options>
…</options>
element. This creates the radio buttons. - In the
<options>
…</options>
element, insert the <option>...</option> sub-element – an element must be defined for each selection. - Assign the attributes for the
<option>
…</option>
element. The following attributes should be assigned for a dropdown:-
name
[43] – enter the name of the option here. This must match the respective pdfToolbox value. -
description
[44] – enter a name for the respective option here. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. Fixup will only work if this is available. If a language is not translated, the English translation will be displayed.
-
- Repeat steps 6 and 7 until all options have been described. Figure 11 shows what the structure looks like.
For illustrative purposes, we provide the corresponding XML file PLACE_TEXT_RADIO_MANUAL.xml for download. In this file, the variable is defined as type STRING
with the layout type radio
.
3.7. Create Fixups with Slider
To create a slider that allows input from 0% to 100%, the type Slider_Integer must be used. Note that using a slider only makes sense when restricting input to percentage values. This can be particularly useful for adjusting parameters such as tonal value or the opacity of a color to a desired percentage level.
3.7.1. Slider in KFPX
We provide the Fixup CREATE_WHITE_SEPARATION_SLIDER_MANUAL.kfpx for illustration purposes. The CREATE_WHITE_SEPARATION_SLIDER_MANUAL custom Fixup contains
- The variable
SAMPLE_Slider
with - The value type
Integer
The purpose of this Fixup is to create an Overprint Spot Color Separation for white, in the size of the TrimBox. Using the slider, the opacity of the white separation can be adjusted as needed.
3.7.2. Slider in XML
Once the KFPX file has been exported, the corresponding XML file must be created. In this file, the previously defined variable SAMPLE_Slider
must be assigned the type SLIDER_INTEGER
. The Fixup can only be used with the Workflow if the KFPX and XML files are consistent and match in structure.
Figure 12: Left: Excerpt from the XML file where the variable is assigned the type SLIDER_INTEGER; Right: Dialog of the Fixup Sample for a Slider displayed in the Workflow
To define a SLIDER_INTEGER
in XML, proceed as follows:
- First, create the basic structure of the XML file. For guidance on this structure, refer to the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element in it. The structure is illustrated in Figure 12. - Assign the following attributes to the
<variable>
…</variable>
element. The following attributes should be assigned for aSLIDER_INTEGER
:-
name
[48] – thekey
[1] (Figure 1) of the variable as defined in pdfToolbox. -
type
[47] – assign the typeSLIDER_INTEGER
to create a slider. -
defaultValue
[50] – enter the value that should be displayed by default in the input field. This attribute is not mandatory but is recommended. -
modelUnit
[51] – define the unit of measurement that is required by default for the calculation. In this case, it is percent. -
viewUnit
[53] – define the unit of measurement that should be displayed in the dialog for this value in this case,percent
is the correct entry. If this differs from themodelUnit
, an internal conversion will occur. A typical example would be the conversion from mm to inch. -
displayVariable
[52] – set this value totrue
to display the variable in the dialog. -
description
[49] – provide a name for the slider, so the user understands what the slider is for. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. The Fixup will only work if this is present. If a translation is missing for a particular language, the English version will be shown.
-
For illustration purposes, we provide the corresponding XML file CREATE_WHITE_SEPARATION_SLIDER_MANUAL.xml for download. In this file, the variable is defined as type SLIDER_INTEGER
.
3.8. Create Fixup with CMYK Color Picker
To create a color selection using a color picker and allow users to define the desired CMYK values, the type Color_Picker
must be used. This enables the user, for example, to manually enter the CMYK values for a text and achieve the desired color.
3.8.1. Color Picker in KFPX
In pdfToolbox, a separate variable must be created for each color channel, i.e. Cyan, Magenta, Yellow and Black. In order to combine these four variables into a color picker, the following two conditions must be met:
- The first part of the
key
must be the same for all four variables. This ensures that a variable name can be defined. - The variable must end with the respective process color name in capital letters. For example, "_CYAN" [54].
For illustration, we provide the Fixup PLACE_TEXT_COLOR_PICKER_MANUAL.kfpx. The custom Fixup PLACE_TEXT_STRING_MANUAL contains:
- The variable
SAMPLE_Color_Picker_CYAN
for Cyan, - The variable
SAMPLE_Color_Picker_MAGENTA
for Magenta, - The variable
SAMPLE_Color_Picker_YELLOW
for Yellow, - The variable
SAMPLE_Color_Picker_BLACK
for Black with - The value type
Float
The aim of this Fixup is to place a defined text in the center of the media frame (MediaBox) of the Print Item. The text has a size of 12 pt. With the color picker, the user can define the CMYK values for the predefined text.
Figure 13: The dialog in pdfToolbox where the CMYK variables have been defined
3.8.2. Color Picker in XML
Once the KFPX file has been exported, the corresponding XML file must also be created. In this XML file, the previously defined variable SAMPLE_Color_Picker
must be assigned the type COLOR_PICKER
. The Fixup can only be applied in the Workflow if the KFPX and XML files match.
Figure 14: Left: Excerpt from the XML file where the variable has been assigned the type Color_Picker; Right: The dialog of the Fixup in the Workflow
To define a color selection using a color picker in the XML, proceed as follows:
- First, create the basic structure of the XML file. You can find how this should look like in the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element. Refer to Figure 14 for an example of the structure. - Assign the necessary attributes to the
<variable>
…</variable>
element. The following attributes should be set for aCOLOR PICKER
:-
name
[56] – theKey
[1] (Figure 1) of the variable as defined in pdfToolbox. In this case, use the shared portion of the key that is common to all four defined variables. -
type
[55] – assign the typeCOLOR_PICKER
to create a color picker. -
defaultValue
[58] – enter the value that should be selected by default. Use special characters in the XML to define which Color Space and which values should be entered. The following special characters must be entered for the definition:-
"spec":
"CMYK","value": [0,0,0,100]
-
-
displayVariable
[59] – set this totrue
so the variable is displayed in the dialog. -
description
[57] – a description is not generally required for the color picker in the user interface. However, it is still necessary to provice one for internal processing. This description will not be shown in the workflow, but it must be present for the Fixup to function properly.
-
For illustration purposes, we provide the corresponding XML file PLACE_TEXT_COLOR_PICKER_MANUAL.xml for download. In this file, the variable is defined with the type COLOR_PICKER
.
3.9. Select Print Items in Fixup by Spot Color
To select one or more Spot Colors or Technical Colors that are present in the Print Item, several types are available. The user can refer to the following types:
-
MOTIF_SPOTCOLORS_ALL_SINGLE_CMYK
– allows the selection of a single Spot Color or Technical Color from the Print Item. -
MOTIF_SPOTCOLORS_ALL_SINGLE_MULTI
– allows the selection of multiple Spot Colors or Technical Colors from the Print Item. -
MOTIF_SPOTCOLORS_TEC_SINGLE_CMYK
– allows the selection of a single Technical Color from the Print Item. -
MOTIF_SPOTCOLORS_ALL_TEC_MULTI
– allows the selection of multiple Technical Colors from the Print Item.
The application of the respective types works the same in both the KFPX and in XML files. Which type should ultimately be used depends on the purpose of the Fixup and how the Spot Color or Technical Color is required within the Fixup.
3.9.1. Select Print Item Spot Colors in KFPX
To illustrate this, the Fixup RENAME_MULTI_SPOTCOLOR_MANUAL.kfpx is provided. The user-defined Fixup RENAME_SINGLE_SPOTCOLOR_MANUAL includes:
- The variable name
SAMPLE_Multi_Spotcolor
with - The value type
String
The purpose of this Fixup is to set selected Spot Colors to Overprint. Using the selection menu, all Spot Colors present in the Print Item can be selected.
3.9.2. Spot Colors of the Print Item in the XML
Once the KFPX file has been exported, the corresponding XML file must also be created. In it, the previously defined variable SAMPLE_Multi_Spotcolor
must be assigned the type MOTIF_SPOTCOLORS_All_MULTI
. Only if the KFPX and XML files matches exactly can the Fixup be applied within the Workflow.
Using a Different Type
If you prefer to use a different type for selecting Spot Colors or Technical Colors in the Fixup, you only need to change the desired type in the XML file. The structure of the KFPX and XML files remains the same. Which type you ultimately use depends on the specific requirements of the Fixup.
Figure 15: Left: Section of the XML file in which the variable was assigned the type MOTIF_SPOTCOLORS_ALL_MULTI; Right: Fixup dialog in the Workflow
To define the selection of multiple Spot Colors in an XML file, proceed as follows:
- First, create the basic structure of the XML file. You can find details on how this structure should look like in the article Creating Fixups without a Variable.
- WithIn the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element in it. Refer to Figure 15 for a visual representation of this structure. - Assign the appropriate attributes to the
<variable>
…</variable>
element. The following attributes should be used for selecting multiple Spot Colors:-
name
[61] – enter thekey
[1] (Figure 1) of the variable as defined in pdfToolbox. -
type
[60] – assign the typeMOTIF_SPOTCOLORS_ALL_MULTI
, or the desired type that you want to use. -
displayVariable
[63] – set this value totrue
to ensure that the variable appears in the dialog. -
description
[62] – enter a name for the selection menu that clearly explains its purpose to the user. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. The Fixup will only work when the English translation is available. If no translation is available for a selected language, the English version will be displayed by default.
-
For reference, the corresponding XML file RENAME_MULTI_SPOTCOLOR_MANUAL.xml is available for download. In this file, the variable is defined as type MOTIF_SPOTCOLORS_ALL_MULTI
.
3.10. Select System-Wide Defined Spot Colors in Fixup
To select one or more Spot Colors or Technical Colors that have been previously defined system-wide, several types are available. The user can choose from the following types:
-
SYSTEM_SPOTCOLORS_ALL_SINGLE_CMYK
– allows the selection of a single Spot Color or Technical Color from the system. -
SYSTEM_SPOTCOLORS_TEC_SINGLE_CMYK
– allows the selection of a single Technical Color from the system. -
SYSTEM_SPOTCOLORS_OAS_SINGLE_CMYK
– allows the selection of a single Technical Color that is specifically defined to be output as a system-wide separation.
These types function identically in both the KFPX and and XML files. The appropriate type to use depends entirely on how the Spot Color or Technical Color is intended to be used within the Fixup.
3.10.1. Select System-Defined Spot Colors in KFPX
To allow the selection of a system-wide defined Spot Color, five variables must be defined within pdfToolbox. Similar to the color picker, one variable must be created for each of the four Process Colors (Cyan, Magenta, Yellow, Black). Additionally, since this involves a Spot Color, a separate variable for the Spot Color name must be defined. To ensure that a selection menu for a system-wide defined Spot Color is created, the following requirements must be met:
- The first part of the
key
must be the identical for each individual Process Color. - As with the color picker, the respective Process Color name must be added in capital letters at the end of the key. For example, ...
_CYAN
. - The first part of the
key
also matches thekey
of the variable for the Spot Color name. Only the Process Color suffix e.g...._CYAN
is appended for the color-specific variables.
To illustrate this, the Fixup file SAMPLE_CREATE_LINE_ON_TRIMBOX_MANUAL.kfpx is provided. The user-defined Fixup SAMPLE_CREATE_LINE_ON_TRIMBOX_MANUAL [64] contains the following:
- The variable
SAMPLE_System_Tec_Spot
for the Spot Color name with - The value type
String
, - The variable
SAMPLE_System_Tec_Spot_CYAN
for Cyan, - The variable
SAMPLE_System_Tec_Spot_MAGENTA
for Magenta, - The variable
SAMPLE_System_Tec_Spot_YELLOW
for Yellow, - The variable
SAMPLE_System_Tec_Spot_BLACK
for Black with - The value type
Float
The goal of this Fixup is to create an Overprinting Line in the size of the TrimBox of the document. Using the drop-down menu, the user can select a system-wide defined Spot Color that will be used to draw the line.
Figure 16: The dialog in pdfToolbox where the variables for the CMYK channels and the Spot Color name were defined
3.10.2. Select System-Defined Spot Colors in XML
Once the KFPX file has been exported, the corresponding XML file must be created, in which the previously defined variable SAMPLE_System_Tec_Spot
is assigned the type SYSTEM_SPOTCOLORS_TEC_SINGLE_CMYK
. The Fixup can only be applied in the Workflow when the KFPX and XML files match.
Using a Different Type
If you prefer to use a different type for selecting Spot Colors or Technical Colors in the Fixup, you only need to change the desired type in the XML file. The structure of both the KFPX and XML files remains the same. The choice of which type to use ultimately depends on the specific task in the Fixup.
Figure 17: Left: Section of the XML file where the variable is assigned the type SYSTEM_SPOTCOLORS_TEC_SINGLE_CMYK; Right: The Fixup dialog in the Workflow
To define the selection of a system-wide defined Technical Color in the XML, follow these steps:
- First, create the basic structure of the XML file. The structure can be found in the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element in it. You can refer to Figure 17 for the structure. - Assign the following attributes for the
<variable>
…</variable>
element. The following attributes should be assigned for a selection menu for system-wide defined Spot Colors:-
name
[66] – enter thekey
[1] (Figure 1) of the variable as defined in pdfToolbox. -
type
[65] – assign the typeSYSTEM_SPOTCOLORS_TEC_SINGLE_CMYK
or the type you want to use. -
displayVariable
[68] – set this value totrue
to ensure the variable is displayed in the dialog. -
description
[67] – provide the name for the selection menu so that the user understands what the selection menu is for. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. The Fixup will only work if this is available. If a language is not translated, the English translation will be displayed.
-
For illustration, we provide the corresponding XML file CREATE_DIELINE_ON_TRIMBOX_MANUAL.xml for download, in which the variable is defined with the type SYSTEM_SPOTCOLORS_TEC_SINGLE
.
3.11. Exclude System-Wide Defined Spot Colors from Fixup
In some cases, it is necessary to exclude Technical Colors or Spot Colors that are output as separations from the Fixup. One example application for this would be the generation of a Bleed. In this case, the objects of a Technical Color should not be used to create the Bleed, only the page objects themselves.
There are several types available for excluding a Technical Color from the Fixup. The following types are available to the user:
-
SYSTEM_SPOTCOLORS_TEC_AUTO
– Technical Colors that are defined system-wide are excluded from the Fixup. -
SYSTEM_SPOTCOLORS_OAS_AUTO
– System-wide Spot Colors that are output as a separation are excluded from the Fixup. -
SYSTEM_SPOTCOLORS_TEC_OAS_AUTO
– System-wide Technical Colors and Spot Colors that are output as a separation are excluded from the Fixup.
Only system-wide Spot Colors are excluded
Note: These types only allow exclusion of system-wide Technical Colors or system-wide Spot Colors that are output as a Separation. If a Technical Color within the file is not defined in the system, it will not be excluded.
3.11.1. Exclude System-Defined Spot Colors in KFPX
For illustration, we provide the Fixup CREATE_BLEED_MANUAL.kfpx. The user-defined Fixup CREATE_BLEED_MANUAL includes
- The variable
SAMPLE_Spot_auto
with - The value type
String
The aim of the Fixup is to add a Bleed of 5 mm from the TrimBox. Technical Colors are automatically excluded from the Fixup if the colors used are defined as Technical Colors in the system.
3.11.2. Exclude System-Wide Defined Spot Colors in XML
Once the KFPX file has been exported, the corresponsing XML file must be created, and the previously defined variable SAMPLE_Spot_auto
must be assigned the type SYSTEM_SPOTCOLOR_TEC_AUTO
. The Fixup can only be applied in the Workflow when the KFPX and XML files match.
Using a Different Type
If you prefer to use a different type to exclude system-wide defined Spot Colors in the Fixup, you simply need to modify the desired type in the XML file. The structure of both the KFPX and XML files is the same. The final type you choose depends on the functionality of the Fixup.
Figure 18: Left: Excerpt from the XML file where the variable is assigned the type SYSTEM_SPOTCOLORS_TEC_AUTO; Right: The Fixup dialog in the Workflow
To exclude a system-wide defined Spot Color from a Fixup in XML, follow these steps:
- First, create the basic structure of the XML file. The structure details can be found in the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element. Figure 18 shows what the structure looks like. - Assign the attributes for the
<variable>
…</variable>
element. The following attributes should be specified for excluding system-wide defined Spot Colors:-
name
[70] – enter thekey
[1] (Figure 1) of the variable defined in pdfToolbox. -
type
[69] – assign the typeSYSTEM_SPOTCOLORS_TEC_AUTO
or the type you want to use. -
defaultValue
[72] – enter the default value that you have also defined in pdfToolbox. This attribute is optional. -
displayVariable
[73] – set this attribute tofalse
, as the variable should not be displayed in the dialog. This ensures that the user cannot select a Spot Color, and the affected Color will be automatically excluded from the Fixup. -
description
[71] – in this case, only enter an internal description so that you can later understand why this variable was created. The addition not used indicates that this variable is not visible.
-
For illustration purposes, we provide the corresponding XML file CREATE_BLEED_MANUAL.xml for download. In this file, the variable is defined as type SYSTEM_SPOTCOLORS_TEC_AUTO.
3.12. Fixups with Layers
To select one or more Layers – whether they are visible or invisible – several types are available. The following types can be accessed by the user:
-
MOTIF_LAYERS_ALL_SINGLE
– this allows the selection of a single layer that has been created within the file. -
MOTIF_LAYERS_ALL_MULTI
– this allows the selection of multiple layers that have been created within the file. -
MOTIF_LAYERS_VISIBLE_MULTI
– this allows the selection of multiple visible layers. -
MOTIF_LAYERS_INVISIBLE_MULTI
– this allows the selection of multiple invisible layers.
The application of these types works the same in both the KFPX file and XML. The type to be used ultimately depends on which and how many layers are required for the Fixup.
3.12.1. Select Layers in KFPX
For illustration, we provide the Fixup DELETE_LAYERS_MANUAL.kfpx. The custom Fixup DELETE_LAYERS_MANUAL includes:
- The variable name
SAMPLE_Layers
with - The value type
String
The objective of this Fixup is to remove selected layers and all objects within those layers. Using the selection menu, the user can delete the desired layers.
Corresponds to Select RegEx Expression
Please note for layers, a regular expression (RegEx) is typically required in pdfToolbox. In this case, the setting must be made in pdfToolbox, so that the layer or layer name corresponds to the RegEx expression. An example of this can be found in Figure 19!
Figure 19: The dialog in pdfToolbox where the layer matches the RegEx expression, and the variable SAMPLE_Layers is defined for the RegEx
3.12.2. Select Layers in XML
Once the KFPX file has been exported, the corresponding XML file must also be created. In the XML file, the previously defined variable SAMPLE_Layers
must be assigned the type MOTIF_LAYERS_ALL_MULTI
. The Fixup can only be applied in the Workflow when the KFPX and XML files match.
Using a Different Type
If you prefer to use a different type for selecting layers in the Fixup, simply change the desired type in the XML file. The structure of the KFPX and XML files remains the same. The type you use will ultimately depend on the specific use case of the Fixup.
Figure 20: Left: Excerpt of the XML file where the variable is assigned the type MOTIF_LAYERS_ALL_MULTI; Right: The Fixup dialog in the Workflow
To define the selection of layers in the XML, proceed as follows:
- First, create the basic structure of the XML file. The required structure can be found in the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element. The structure is illustrated in Figure 20. - Assign the following attributes to the
<variable>
…</variable>
element. The following attributes should be assigned for a selection menu for system-wide defined Spot Colors:-
name
[75] – enter thekey
[1] (Figure 1) of the variable defined in pdfToolbox. -
type
[74] – assign the typeMOTIF_LAYERS_ALL_MULTI
or the type you want to use. -
displayVariable
[77] – set this totrue
to ensure the variable is displayed in the dialog. -
description
[76] – provide the name for the selection menu to help the user understand its purpose. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. The Fixup will only work when the English translation is available. If a language is not translated, the English translation will be displayed.
-
For illustration purposes, we provide the corresponding XML file DELETE_LAYERS.xml for download, where the variable is defined as type MOTIF_LAYERS_ALL_MULTI
.
3.13. Fixups with Page Selection and Info Box
When editing Multipage files, it is often necessary to work with only a selection of pages, rather than all pages of the file. This is exactly when a page selection is required. Anyone who already came into contact with pdfToolbox knows that callas pdfToolbox has its own splitting scheme. Therefore not everyone knows immediately which character string has to be entered in the input field so that the desired pages of the file can be edited.
Therefore, with the type PAGE_SELECTION_PATTERN
, an input field can be created along with an info box. The info box will provide a brief and clear description of the pdfToolbox splitting scheme.
3.13.1. Input field with Info Box in KFPX
To illustrate this functionality, we provide the Fixup DELETE_PAGE_MANUAL.kfpx. The custom Fixup DELETE_PAGE_MANUAL includes:
- The variable name
SAMPLE_Page
with - The value type
STRING
The aim of this Fixup is to delete selected pages from a Multipage file. To do this, a specific string must be entered in the input field. The allowed characters and syntax for this input are explained in the accompanying info box.
3.13.2. Input field with Info Box in XML
Once the KFPX file has been exported, the corresponding XML file must be created. In this file, the previously defined variable SAMPLE_Page
must be assigned the type PAGE_SELECTION_PATTERN
. The Fixup can only be applied within the Workflow if the KFPX and XML files match exactly.
Figure 21: Left: Excerpt from the XML file where the variable is assigned the type PATTERN_SELECTION_PATTERN; Right: The Fixup dialog in the Workflow
To define a page selection as a string with an info box in the XML, proceed as follows:
- First, create the basic structure of the XML file. You can find instructions on how to do this in the article Creating Fixups without a Variable.
- Within the
<fixup>
…</fixup>
element, insert the<variables>
…</variables>
sub-element and add the<variable>
…</variable>
element. The structure is shown in Figure 21. - Assign the following attributes for the
<variable>
…</variable>
element. The following attributes should be assigned for a page selection:-
name
[79] – enter theKey
[1] (Figure 1) of the variable as defined in pdfToolbox. -
type
[78] – assign the typePAGE_SELECTION_PATTERN
to create a page selection as an input field with an info box. -
defaultValue
[81] – enter the value that should be displayed by default in the input field. This attribute is not mandatory, but should still be used to give the user an indication of what kind of content is expected in the input field. -
displayVariable
[82] – set this totrue
to ensure the variable appears in the dialog. -
description
[80] – enter the name for the input field to inform the user of its purpose. This name can be translated into all languages offered in the Workflow. The English translation is mandatory. The Fixup only works if this is available. If a language is not translated, the English translation is displayed.
-
For illustration purposes, we provide the corresponding XML file DELETE_PAGE_MANUAL.xml for download. In this file, the variable is defined as type PAGE_SELECTION_PATTERN
.
Artikel update: Workflow 1.19.2 – 04/2025