JSON (JavaScript Object Notation) is a data exchange format that is easy for humans to read and write and for machines to parse (analyze data structures) and generate.

General JSON structure for the BlockSettings

  • { The content, consisting of name and value is enclosed in curly brackets }
    (= open and close)

  • The name is defined by the corresponding attribute, e.g. block-disable-interactions
    (see also BlockAttributes)

  • A value can be an object, an array, a string, a number or one of the expressions truefalse or null. If multiple values are set, they are listed comma-separated, e.g. "move,resize"

  • "name" and "value" ware each enclosed in quotes, unless the value is an expression (true/false) or a number

  • A colon is placed between the name and value, e.g. "block-actions": "move"

  • if multiple "name": "value" combinations are listed, they are also comma separated

  • Structures can be interlaced. If so the name and value are each placed in curly brackets again.

  • An empty string prohibits all possible editing options, e.g. "block-actions": ""

Example JSON content of a BlockSettings attribute

    "block-actions": "move,resize",
    "text-write": false,
    "text-format": "",
    "text-font-size": {
        "min": 5
    "block-size-max": {
        "width": 50,
        "height": 50

(1) open
(2) the block may be moved and scaled,
(3) the text content may not be changed,
(4) the font size and color may be changed,
(5) font size (interlacing): open
(6) at least 5 pt
(7) close,
(8) at least 5 pt (interlacing): open
(9) width = 50 pt,
(10) height = 50 pt
(11) close
(12) close

BlockSettings and BlockRestrictions Generator

In printformer it is possible to automatically generate the JSON content of a BlockSettings or -Restrictions attribute.
Depending on the block type (general, text, asset or shape), the possible limitations or restrictions can be selected, and the value generated below for the attribute can be copied (and assigned to the tag in the IDML file).