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"