Skip to main content

Pages

A Typograph document lays its pages out in spreads. A spread is the container: it holds one or more page records side by side, and every element on those pages, in one coordinate space. A single page is a spread with one page record; a facing pair is a spread with two. See Elements for element-level detail.

{
"spreads": [
{
"uuid": "0141645a-d2e7-4fa8-94a0-6d89be96b900",
"name": "Front",
"allow_page_shuffle": true,
"is_active": true,
"is_locked": false,
"bleed": 3,
"fill_swatch_uuid": "PAPER",
"fill_tint": 1,
"stroke_swatch_uuid": "BLACK",
"stroke_tint": 1,
"pages": [
{
"x": 0, "y": 0, "width": 210, "height": 297,
"left_margin": 10, "top_margin": 10, "right_margin": 10, "bottom_margin": 10,
"name": ""
}
],
"elements": [ ... ]
}
]
}

Spreads​

Identity and Behaviour​

PropertyDescription
uuidUUID, stable across edits
nameUser-visible name shown in the editor: the name of the spread's first page
is_activeWhether this spread is part of the active export range
is_lockedWhether the spread is locked in the editor
allow_page_shuffleWhen false, the spread's pages stay together and the page bar does not reshuffle them
is_covertrue when the spread is a cover wrap: back cover, spine and front cover as three page records. A cover sits outside the document's page count.
spine_directionWhich way the spine text of a cover runs: top_to_bottom (default) or bottom_to_top
user_dataFree-form data of your own; Typograph stores it and does not read it

Bleed​

PropertyDescription
bleedPrint bleed extending beyond the trim edge, in mm
bleed_left, bleed_top, bleed_right, bleed_bottomBleed per side, when the sides differ

Fill, Stroke & Gradient​

Spreads reference swatches the same way elements do (see Styles):

  • fill_swatch_uuid, fill_tint — solid fill
  • stroke_swatch_uuid, stroke_tint — border stroke
  • native_gradient_fill_start, native_gradient_fill_length, gradient_fill_angle — gradient fill
  • native_gradient_stroke_start, native_gradient_stroke_length, gradient_stroke_angle — gradient stroke

Page Records​

Each entry in a spread's pages array is one page: its bounds and position in the spread, its margins, and its layout aids. A spread holds at least one.

PropertyDescription
x, yPosition of the page within the spread (top-left origin), in mm
width, heightPage dimensions, in mm
left_margin, top_margin, right_margin, bottom_marginContent safe-area margins, stored as four independent fields
namePage label within the spread ("" when unnamed)
fill_swatch_uuid, fill_tintThe page's own background colour. Absent: the page takes its spread's colour.
user_dataThe page's own free-form data. Absent: its spread's user_data applies.

Layout Aids​

Purely editorial — they don't render on output but help during editing:

  • guides — user-drawn ruler guides on the page, each with is_visible
  • columns — the column layout
  • grid — layout grids

Elements​

The actual content lives in the spread's elements array — text blocks, images, shapes, tables, groups and so on — positioned in the spread's coordinate space. See Elements for the element model.