JavaScript imposition - object definitions
In the convenience functions, or when creating an imposition runlist using nothing but JavaScript objects directly, the following objects can be used.
The "sheet_defs" array
A collection of all defined sheets and its slots, either from the sheet config or dynamic sheets. The "sheet_defs" array can contain sheet definition objects. A sheet definition object can contain the following properties:
"id"
-
"id": String ID, can be used to reference a sheet definition by name. This property is required.
"rect"
-
"rect": A rectangle that defines the size of the sheet. See "rect" object.
trim_box
-
"trim_box": A trimbox object that defines the trimbox to be defined on the imposed sheets.
"slots"
-
"slots"is an array of slot objects.
"sheet_defs":
[
{
"id": "",
"rect": { },
"slots":
[
{ }
]
}
],
The "sheets" array
A collection of all generated sheets including their placements. The "sheets" array contains sheet objects. A sheet object can contain the following properties:
"sheet_def"
-
"sheet_def": Index or string id of reference sheet definition.
"placements"
-
"placements": An array of "placements" objects.
Example
"sheets":
[
{
"sheet_def": 0,
"placements":
[
{ }
]
}
]
The "defaults" object
The "defaults" object is optional. If certain properties are defined here, they will be used if no specifications have been made in the "sheet_defs" array. The "defaults" object can contain the following objects:
"unit"
-
The default unit for the imposition configuration. All possible
"unit"values are listed here. Default: "pt".
"slots"
-
An array with slot definitions. All
"slots"properties are listed here.
"shingling"
-
Default settings for automatic shingling. Depending on the values specified in the shingling object the engine calculates the value for the shingling automatically. The
"shingling"object can contain the following properties: -
"unit": see Unit. Default: inherited, "pt" -
"method": String, one of"shift","scale","scale_proportional". Default: "scale". -
"direction": String, one of"inwards","outwards","both". Default: "inwards" -
"increment": Number. Default: 0 -
"book_size": Integer. Default: 0 -
"staple_size": Integer. Default: 0
Note: A more detailed explanation of the shingling parameters can be found in this article.
"defaults":
{
"unit": "mm",
"slots":
{ },
"shingling": {
"unit" : "mm",
"method" : "scale",
"direction" : "inwards",
"increment" : 0.12,
"book_size" : 16,
"staple_size" : 4
}
},
Common objects and strings
"rect" object
Definition of a rectangle. It can be part of the "sheet_defs" array and of a slot object. The "rect" object contains the following properties:
-
"unit": see Unit. The unit for all other measurements. Optional. Default: inherited, "pt". -
"left": Number. The left hand side of the rectangle. Default: 0. -
"bottom": Number. The bottom side of the rectangle. Default: 0. -
"right": Number. The right hand side of the rectangle. Default: 0. -
"top": Number. The top side of the rectangle. Default: 0. -
"width": Number. Optional. Overwrites"right"with"left + width"if present. -
"height": Number. Optional. Overwrites"top"with"bottom + height"if present.
Example
"rect" :
{
"bottom" : 28.5,
"height" : 114,
"left" : 552.5,
"width" : 171
},
"trim_box" object
Definition of an optional rectangle. It can be part of the "sheet_defs" array only. The "trim_box" object contains the following properties:
-
"unit": see Unit. The unit for all other measurements. Optional. Default: inherited, "pt". -
"left": Number. The left hand side of the rectangle. Default: 0. -
"bottom": Number. The bottom side of the rectangle. Default: 0. -
"right": Number. The right hand side of the rectangle. Default: 0. -
"top": Number. The top side of the rectangle. Default: 0. -
"width": Number. Optional. Overwrites"right"with"left + width"if present. -
"height": Number. Optional. Overwrites"top"with"bottom + height"if present.
Example
"trim_box" :
{
"left":3,
"bottom":3,
"width": 297,
"height": 210
},
"crop_marks" object
The "crop_marks" object can be part of a slot object. It can contain the following properties:
-
"unit": see Unit. Default: inherited, "pt" -
"left_bottom": see Crop Mark Direction. Default: "N". -
"left_top": see Crop Mark Direction. Default: "N". -
"right_bottom": see Crop Mark Direction. Default: "N". -
"right_top": see Crop Mark Direction. Default: "N". -
"length": Number. Default: 10 -
"gap": Number. Default: 3 -
"width": Number. Default: 1 -
"color_space": see Color Space. Default: "ALL" -
"spot_name": Name of the spot color -
"color_components": Array of doubles (in percent). Default: [0,0,0,100] -
"tint_value": double [0,100]. Default: 100
Example
"crop_marks":
{
"unit": "pt"
"left_bottom": "N",
"right_bottom": "N",
"right_top": "N",
"left_top": "N",
"length": 10,
"width": 0.04,
"gap": 2,
"color_space": "SPOT",
"spot_name": "Green",
"color_components": [100,0,100,0],
"tint_value": 100
},
"text" object
The "Text" object can be part of a slot object. It can contain the following properties:
-
"unit": see Unit. Default: inherited, “pt” -
"font": String. Default: "Helvetica" -
"size": Number. Default: "12" -
"color_space": see Color Space. Default: "ALL" -
"color_components": Array of doubles (in percent). Default: [0,0,0,100] -
"spot_name": Name of the spot color (if "color_space": "SPOT") -
"tint_value": double [0,100]. Default: 100
Example
"text" :
{
"color_components" : [0,0,0,100],
"color_space" : "ALL",
"font" : "Helvetica",
"size" : 8,
"unit" : "pt"
},
"bleed" object
The definition of where (and how much) bleed is required for a Rectangle. The "bleed" object can be part of a slot object. It can contain the following properties:
-
"unit": see Unit. The unit for all other measurements. Optional. Default: inherited, "pt". -
"left": Number. Bleed required on the left. Default: 0. -
"bottom": Number. Bleed required at the bottom. Default: 0. -
"right": Number. Bleed required on the right. Default: 0. -
"top": Number. Bleed required at the top. Default: 0.
Example
"bleed" :
{
"bottom" : 2.5,
"left" : 2.5,
"right" : 2.5,
"top" : 2.5
},
"clip_mode" string
Defines how imposed pages are clipped. The "clip_mode" string can be part of a slot object. It can contain the following values:
-
"S": Slot. Imposed pages are clipped at the slot boundaries -
"P": Positioned page. Imposed pages are clipped according to their TrimBox plus bleed as set up in the slot.
Default: "P"
Example
"clip_mode": "P",
"rotation" string
Page rotates anti-clockwise (value, basic unit of measurement: degrees). The "rotation" string can be part of a slot object. It can have the following values: 0, 90, 180, 270
Example
"rotation" : 270,
"scale" object
The "scale" object can be part of a slot object. It can be a number or it can contain the following properties:
-
"horizontal": Double -
"vertical": Double
Example 1
"scale": {"horizontal": -1, "vertical":-1 },
// the page is scaled proportionally to fit the slot
// default if no "scale" object is set
Example 2
"scale": 25,
// affects the corresponding scaling
Example 3
"scale": 100,
// no scaling
Example 4
"scale" : 0,
// the page is scaled unproportionally to fill the slot
"binding_margin" string
Binding margin defines the edge on which the creep should be equalized. It is required if shingling shall be applied to a slot and must be set to a value other than "N" in this case.
The "binding_margin" string can be part of a slot object. It can have the following values:
-
"L": Left -
"R": Right -
"T": Top -
"B": Bottom -
"N": None
Example
"binding_margin": "N",
"placement" string
Direction of the margin. The "placement" string can be part of a slot object. It can have the following values:
-
"LB": align left bottom -
"LC": align left center -
"LT": align left top -
"CT": align center top -
"RT": align right top -
"RC": align right center -
"RB": align right bottom -
"CB": align center bottom -
"CC": align center, i.e. both vertically and horizontally
Example
"placement": "CC",
Slot object
A slot object is used in the "sheet_defs" array and in the "defaults" object (optional). It can contain the following properties:
-
"id": String. -
"isolated": Boolean -
"rect": see "rect" -
"crop_marks": see "crop_marks" -
"text": see "text" -
"bleed": see "bleed" -
"clip_mode": see "clip_mode" -
"rotation": see "rotation" -
"scale": see "scale" -
"binding_margin": see "binding_margin" -
"bleed_shingling": Boolean -
"placement": see "placement"
Example
{
"id": "left",
"isolated": true,
"rect" : {
"bottom" : 274,
"height" : 226,
"left" : 5.2999999999999998,
"width" : 5
},
"bleed": {
"left": 0,
"bottom": 0,
"right": 0,
"top": 0
},
"crop_marks" : {
"color_components" : [ 100, 0, 100, 0 ],
"color_space" : "SPOT",
"gap" : 2,
"left_bottom" : "B",
"left_top" : "N",
"length" : 5,
"right_bottom" : "RB",
"right_top" : "R",
"tint_value" : 100,
"unit" : "mm"
},
"text" :
{
"font" : "Helvetica",
"size" : 8,
"unit" : "pt"
},
"scale" : 100,
"rotation": 0,
"clip_mode": "P",
"placement": "CC",
"bleed_shingling": false,
"binding_margin": "N"
},
Placements object
"placements" is an array of placements objects. It is used in the "sheets" array. A placements object can contain the following properties:
-
"slot": String or number. Id or index of slot to be used for placement. -
"page": Number, zero based. Page index to be placed in slot. -
"text": A text to be placed in the slot. Sring. -
"shingling": see Shingling. If a"value"property is defined automatic shingling is disabled and value is used directly.
Example
{
"slot": "middle",
"page": 0,
"text": "This is text",
"shingling":
{
"unit": "mm",
"value": 5
}
},
Shingling object
The "shingling" object can be part of the "placements" object. It can contain the following properties:
-
"unit": see Unit. Default: inherited, "pt" -
"value": Number. If a value is defined, the automatic shingling is disabled. Default: 0
Example
"shingling":
{
"unit": "mm",
"value": 5
}
Possible values
Unit
A string used to identify the unit of a number:
- one of:
"mm","cm","m","in","ft","pt"or"pc"
Crop Mark Directions
- String. One of:
-
"N": None -
"L": Left -
"R": Right -
"T": Top -
"B": Bottom -
"LT": Left and Top -
"LB": Left and Bottom -
"RT": Right and Top -
"RB": Right and Bottom
-
Color Space
- String. One of:
"ALL","CMYK","RGB","GRAY","SPOT"