← Zurück zu LayoutBridge Light

Werkzeugreferenz


Alle 77 Werkzeuge, die LayoutBridge Light Ihrer KI-Anwendung zur Verfügung stellt – nach Aufgabenbereich geordnet, mit Beschreibung und Parametern.

Die Beschreibungen sind der Wortlaut, den der Server an die KI-Anwendung liefert (Stand 30.10.2026, ausgelesen aus dem Paket layoutbridge-light). Sie sind englisch, weil die KI sie liest; Ihre Anfragen an die KI stellen Sie in Ihrer Sprache. In Claude Desktop tragen die Werkzeuge das Präfix layoutbridge-light:. Maße sind Millimeter ab der linken oberen Ecke der Seite (wahlweise des Druckbogens); jedes Werkzeug antwortet mit ok, Warnungen und – im Fehlerfall – einer Fehlerart mit Klartext. Werkzeuge mit der Kennzeichnung nur lesend ändern das Dokument nicht. Was LayoutBridge Light gegenüber LayoutBridge (123 Werkzeuge) nicht enthält, steht auf der Produktseite.

Anwendung und Dokumente12 Werkzeuge

get_app_versionInDesign® versionnur lesend

Return the version string of the running InDesign application. Use it as a sign of life before anything else. Fails with app_not_available when InDesign is not running or not ready yet. Read-only.

Keine Parameter.

list_documentsList open documentsnur lesend

List every open document, not just the frontmost one. Returns document_id (stable for this session), name, saved, path (empty when never saved), page_count, is_active and managed_story_count (stories linked to an editorial workflow such as InCopy; null when unreadable). Read-only. Note: saved true is no reliable sign that there is nothing to save.

Keine Parameter.

open_documentOpen a document

Open an existing .indd, .indt or .idml file. Returns document_id, name, page_count, facing_pages (Doppelseiten) already_open, which is true when the file was open already – it is never opened twice – and managed_story_count (stories linked to an editorial workflow such as InCopy). Because InDesign dialogs are suppressed, missing links (fehlende Verknuepfungen), out of date links and missing fonts (fehlende Schriften) come back as warnings; that is the only signal you get.

Parameter (3)
pathstringPflicht
Real file path on the machine running InDesign. (min. 1 chars)
open_copyboolean
Open an untitled copy and leave the file untouched. Default for .indt templates.
show_windowboolean
Show the document window. Default true. Without a window the document is never the active one.

close_documentClose a document

Close a document. save_changes is required and has no default, because InDesign save dialogs are suppressed. Pass path to save under a new name; it is required for a document that has never been saved when save_changes is "yes". Returns saved_to, had_unsaved_changes and the remaining document ids. Note: merely opening a document can already set had_unsaved_changes true.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
save_changesstringPflicht
Required. "yes" saves before closing, "no" discards unsaved changes. (Werte: "yes", "no")
pathstring
Save-as target path. Required when save_changes is "yes" and the document was never saved. (min. 1 chars)

create_documentCreate a document

Create a new document. Page size from preset (A4, Letter, Legal, Tabloid) or width_mm/height_mm, orientation portrait or landscape, pages (default 1), facing_pages (Doppelseiten, default true). margins_mm is required: { top, bottom, left, right } or { top, bottom, inside, outside } – for facing pages InDesign treats left as the inside margin (Bundsteg) and right as the outside margin. columns { count, gutter_mm } sets the column guides (Spaltenhilfslinien). Returns document_id and page_ids plus the page size InDesign actually set. The document is untitled until save_document. Note: if this call times out, the document may still have been created – check list_documents before repeating.

Parameter (8)
presetstring
Page size preset. Alternative to width_mm/height_mm. (Werte: "A4", "Letter", "Legal", "Tabloid")
width_mmnumber
Page width in millimetres. Overrides the preset width. (> 0)
height_mmnumber
Page height in millimetres. Overrides the preset height. (> 0)
orientationstring
Swaps width and height when they do not match. Default portrait. (Werte: "portrait", "landscape")
pagesinteger
Number of pages. Default 1. (≥ 1, ≤ 9999)
facing_pagesboolean
Facing pages (Doppelseiten). Default true.
margins_mmobjectPflicht
Required. Margins (Stege) in millimetres: top/bottom plus left/right or inside/outside.
topnumberPflicht
(≥ 0)
bottomnumberPflicht
(≥ 0)
leftnumber
(≥ 0)
rightnumber
(≥ 0)
insidenumber
(≥ 0)
outsidenumber
(≥ 0)
columnsobject
Column guides: count and gutter (Spaltenabstand) in millimetres.
countintegerPflicht
(≥ 1, ≤ 40)
gutter_mmnumber
(≥ 0)

save_documentSave a document

Save the document. With path it is a save-as (Speichern unter); without path the document is saved in place. A document that has never been saved needs path, otherwise the call fails with io_error. Returns path as InDesign reports it afterwards. A document with managed stories (editorial workflow, see list_stories lock_state) is saved with a warning: saving the layout does not save or check in those stories in the editorial system.

Parameter (2)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
pathstring
Target file path for save-as. Required for a document that has never been saved. (min. 1 chars)

save_document_asSave a copy or switch file

Write the document to another file: mode copy (default) saves a copy (Kopie speichern) and the open document keeps its own file – the way to start the next issue from the current one; mode switch saves under the new name and the open document continues there (Speichern unter). template true writes an .indt. An existing file needs overwrite true. Returns path, bytes, overwritten, name and document_path of the open document afterwards. save_document is for saving in place. With managed stories (editorial workflow) both modes warn: the new file links to the same story files but is not bound to the editorial workflow.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
pathstringPflicht
Target file path, ending in .indd or .indt, in an existing folder. (min. 1 chars)
modestring
copy (default) or switch. (Werte: "copy", "switch")
templateboolean
Write as template (.indt / stationery). Default false.
overwriteboolean
Replace an existing file. Default false.

export_pdfExport as PDF

Export the document (or a page_range) as PDF to path (the target file path – not output_path). Preset chain: preset (without it the localized built-in "High Quality Print" preset); when the result exceeds fallback_over_bytes it is exported again with fallback_preset (without both there is no second pass); a preset that does not exist falls back to the localized "High Quality Print" preset, then to the current export preferences, each with a warning. A spread preset turns single pages into spreads – check exported_page_count. The server configuration can hold default values for the three preset parameters; a parameter in the call always wins. page_range uses the printed page names as shown in InDesign ("6-8", "1, 3-5"; "+3" is the third page regardless of its name). Returns path, exported_page_count and document_page_count (page_count equals exported_page_count), bytes, preset_used and page_range_used. Pass fallback_over_bytes 0 or fallback_preset "" to disable the second pass. use_document_bleed true exports with the document bleed (Anschnitt, see set_document_bleed) for this call only, without changing the preset – needed for print-on-demand and any bleeding image, because built-in presets such as [PDF/X-1a:2001] export without bleed; false exports without bleed; omitted = as the preset says. Also returned: document_bleed_used (true/false, null if unknown) and document_bleed_mm {top, bottom, inside_or_left, outside_or_right}. InDesign writes anywhere on the machine, also outside shared folders. Can take minutes on a full issue. For an e-book use export_epub.

Parameter (7)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
pathstringPflicht
Required. Target .pdf path on the machine running InDesign. (min. 1 chars)
page_rangestring
Pages to export, by printed page name, e.g. "6-8" or "1, 3-5". Default all.
presetstring
PDF export preset name (exact, as listed in InDesign). Default: the configured preset, otherwise the localized "High Quality Print".
fallback_presetstring
Preset for the second pass when the file exceeds fallback_over_bytes. Default: the configured preset, otherwise none. "" disables the second pass.
fallback_over_bytesinteger
Size threshold in bytes for the second pass. Default: the configured value, otherwise 0 = no second pass. (≥ 0)
use_document_bleedboolean
true: export with the document bleed (Anschnitt) for this call only, the preset stays unchanged; false: without bleed. Default: as the preset says.

export_page_imageExport pages as images

Export document pages as PNG or JPEG images, one file per page (for proofs, correction mails, the website or a measuring run without PDF). Select pages with page_ids (from list_pages) or page_range like export_pdf ("6-8", "1, 3-5", "+2"; printed page names). path is the target file; with several pages the page name is inserted before the extension (Seite.png → Seite_8.png). format png (default) or jpeg, dpi 36–600 (default 150), quality low/medium/high (default)/maximum, color_space rgb (default), gray or cmyk (jpeg only), transparent_background (png), use_bleed (include the bleed), anti_alias (default true). Master pages cannot be exported. The export preferences are set for this call only and restored. Returns format, dpi, count and files[] {page_id, page_name, path, bytes}. Read the files with an image tool of the client to check a layout visually. A timed-out call may still have written files – check the folder before repeating. For an e-book use export_epub.

Parameter (11)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
pathstringPflicht
Target file on the InDesign machine, e.g. /Users/.../Seite.png; the page name is inserted before the extension when several pages are exported. (min. 1 chars)
page_idsarray of integer
Pages to export, from list_pages. Alternative to page_range. (min. 1 Einträge, max. 48 Einträge)
page_rangestring
Page range against the printed page names, like export_pdf. Alternative to page_ids. (min. 1 chars)
formatstring
Image format. Default png. (Werte: "png", "jpeg")
dpinumber
Resolution in dpi. Default 150. (≥ 36, ≤ 600)
qualitystring
Compression quality. Default high. (Werte: "low", "medium", "high", "maximum")
color_spacestring
rgb (default), gray, or cmyk (jpeg only). (Werte: "rgb", "gray", "cmyk")
transparent_backgroundboolean
PNG only: transparent instead of white background. Default false.
use_bleedboolean
Include the document bleed (Anschnitt). Default false.
anti_aliasboolean
Smooth edges. Default true.

document_text_defaultsDocument text defaults

Read or set the document's text defaults (Textvorgaben) – the font, style, size and paragraph style every new text frame inherits and that set_text writes as local formatting. Without parameters it is read-only. Each setter works on its own; a failing one lands in problems[] without aborting the others. font takes a family name as InDesign shows it or "Family\tStyle" with a tab; font_style the style name ("Bold"); point_size 0–1296; paragraph_style the style name (not style_name). Returns the values after the change: font, font_style, point_size, paragraph_style, character_style, changed_fields[] and problems[].

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
fontstring
Font family, or "Family\tStyle" with a tab character. (min. 1 chars)
font_stylestring
Font style name, e.g. "Regular", "Bold". (min. 1 chars)
point_sizenumber
Size in points. (> 0, ≤ 1296)
paragraph_stylestring
Paragraph style name to use as default. (min. 1 chars)

set_document_setupChange document setup

Change the document setup (Dokument einrichten) of an existing document: page size via preset (A4, Letter, Legal, Tabloid) or width_mm/height_mm, orientation (swaps width and height), facing_pages, pages (page count – a lower count deletes the last pages with their contents and needs allow_page_removal true), start_page_number. At least one parameter. Margins and bleed are set with set_layout_grid and set_document_bleed. Objects are not adjusted to a new page size – unless InDesign's own layout adjustment is active (Adjust Layout, or a liquid layout rule such as scale on a page or parent page): then InDesign moves or stretches them. adjust_layout false switches both off for this call only (rules and setting are restored afterwards), so objects keep their size; true switches Adjust Layout on for this call; omitted leaves InDesign's settings as they are and warns when a page size change met an active adjustment. To widen the inside margin (Bundsteg) without stretching frames use set_layout_grid with move_objects. Returns setup (read back), previous, pages_added, pages_removed, changed and layout_adjustment {requested, active_before[], layout_rules_suspended}; warns when the page size or facing pages changed.

Parameter (10)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
presetstring
Page size preset. (Werte: "A4", "Letter", "Legal", "Tabloid")
width_mmnumber
Page width in mm. (> 0)
height_mmnumber
Page height in mm. (> 0)
orientationstring
Swaps width and height when they do not match. (Werte: "portrait", "landscape")
facing_pagesboolean
Facing pages (Doppelseiten) on or off.
pagesinteger
Page count. Fewer than now deletes pages (allow_page_removal). (≥ 1, ≤ 9999)
allow_page_removalboolean
Confirm that a lower page count may delete pages with their contents.
start_page_numberinteger
Number of the first page (document preference; sections may override it). (≥ 1)
adjust_layoutboolean
false: no layout adjustment for this call (Adjust Layout and liquid layout rules off, restored afterwards); true: Adjust Layout on for this call. Default: as set in InDesign.

set_document_bleedSet bleed and slug

Set the document bleed (Anschnitt) and slug (Infobereich). bleed_mm and slug_mm each take a number (0–50, all edges) or an object with top/left/bottom/right; edges you leave out keep their value. Returns bleed_mm and slug_mm per edge plus bleed_uniform and slug_uniform. Independent of the bleed setting inside a PDF export preset. Read the current values with get_layout_grid.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
bleed_mmeine der Formen
Bleed in millimetres: one number for all edges or { top, left, bottom, right }.
number
(≥ 0, ≤ 50)
object
topnumber
(≥ 0, ≤ 50)
leftnumber
(≥ 0, ≤ 50)
bottomnumber
(≥ 0, ≤ 50)
rightnumber
(≥ 0, ≤ 50)
slug_mmeine der Formen
Slug in millimetres: one number for all edges or { top, left, bottom, right }.
number
(≥ 0, ≤ 50)
object
topnumber
(≥ 0, ≤ 50)
leftnumber
(≥ 0, ≤ 50)
bottomnumber
(≥ 0, ≤ 50)
rightnumber
(≥ 0, ≤ 50)

↑ Nach oben

Seiten, Musterseiten, Abschnitte10 Werkzeuge

list_pagesList pagesnur lesend

List the document pages. Per page: page_id, index (0-based), side (LEFT_HAND, RIGHT_HAND or SINGLE_SIDED), parent (the applied master page, "[None]" when there is none) and name, which is the printed page number. Read-only. Master pages themselves are listed by list_parent_pages.

Parameter (1)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.

get_page_stateSnapshot of one pagenur lesend

Snapshot of one page: page_bounds_mm and every object on it with id, type (text, image, rectangle, ellipse, polygon, line, group, other), bounds_mm, paragraph_style when the whole frame uses one, a text_snippet of up to 200 characters, child_count, parent_group_id and layer_name (Ebene). Nothing is skipped silently; unknown kinds come back as "other". Works for master pages too – take the page_id from list_parent_pages, the answer then carries is_parent_page true. All coordinates are millimetres from the top left corner of that page. Read-only. Careful: an object bleeding over the edge to the neighbouring page can show up with x = 210 instead of 0 – do not judge by coordinates alone, measure in the exported PDF. Returns coordinate_space "page": every bounds_mm is relative to the top left corner of this page and can be passed back to set_frame_bounds together with page_id.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idintegerPflicht
Page to look at, from list_pages or list_parent_pages.
include_group_childrenboolean
Also list the objects inside groups, each with parent_group_id. Default true.

add_pageAdd a page

Add a page at "start", at "end" (default) or relative to a page: { after_page_id } or { before_page_id } – not position or at_index. Returns page_id, index, name and spread_page_count of the spread (Druckbogen) the page landed on, with a warning when that spread now has more than two pages (with "allow pages to shuffle" off InDesign appends to the existing spread). New pages do not inherit a master page – call apply_parent_to_page. The layout window keeps its view (keep_view, default true); pass keep_view false to let InDesign show the new page.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
ateine der Formen
"start", "end", { after_page_id } or { before_page_id }. Default "end".
string
(Werte: "start", "end")
object
after_page_idintegerPflicht
object
before_page_idintegerPflicht
keep_viewboolean
Restore the previous view (page and zoom of the layout window) afterwards – InDesign otherwise jumps to the new page. Default true; false lets the view move. The answer carries view_restored (null when the document has no window).

delete_pageDelete a page

Delete a page. There is no undo. Master page objects and empty frames do not block (they are reported and go with the page); frames with text or images and threaded frames (verkettete Rahmen) block – the call then fails with invalid_state and lists them, and only force true deletes anyway. The only page of a document and master pages are always protected. Objects on the pasteboard (Montagefläche) belong to the spread, not to the page: when the spread goes with the page (the page is the only one of its spread), its pasteboard objects are listed before anything happens. When InDesign regroups the spreads (facing pages with "allow pages to shuffle"), pasteboard objects stay but can end up beside other pages. on_pasteboard_items decides: "warn" (default) deletes them with the page and warns, "abort" fails with invalid_state and details.code "pasteboard_items_present" (nothing deleted), "move" first moves them to the pasteboard of the spread of pasteboard_target_page_id (same position beside the pages; right stays right). Returns page_id, name, former_index, items_deleted, boilerplate_ignored and item_summary[]; also on_pasteboard_items, pasteboard_items[] {frame_id, type, spread_index, bounds_mm (spread coordinates), link_name, link_path, text_snippet}, pasteboard_moved_ids[], pasteboard_lost_ids[] (checked after deleting; a warning names every loss) and pasteboard_relocated[] {frame_id, spread_page_ids_before, spread_page_ids, spread_page_names_before (names before deleting), spread_page_names, spread_index, bounds_mm_before, bounds_mm, on_pasteboard} for pasteboard objects that now lie beside other pages or elsewhere (a warning names them); changes.removed_page_ids. Read list_pages again afterwards.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idintegerPflicht
Page to delete, from list_pages.
forceboolean
Delete even when frames with content or threaded frames are on the page.
on_pasteboard_itemsstring
What happens to pasteboard objects of a spread that goes with the page: "warn" (default) delete and warn, "abort" fail with details.code pasteboard_items_present, "move" move them to the spread of pasteboard_target_page_id first. (Werte: "warn", "abort", "move")
pasteboard_target_page_idinteger
Document page whose spread receives the pasteboard objects with on_pasteboard_items "move"; must lie on a spread that stays.

list_parent_pagesList master pagesnur lesend

List the master spreads (Musterseiten): name ("A-Cover"), prefix, base_name, applied_to_page_ids[] and pages[] with page_id, index, side and item_count. Those page_ids make master pages readable and editable with get_page_state, set_text or find_replace (scope frame). Read-only.

Parameter (1)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.

create_parent_pageCreate a master page

Create a master spread (Musterseite) with base_name (1–60 characters) and name_prefix (one capital letter; InDesign picks the next free one when omitted). facing defaults to the document's facing-pages setting. page_count (1–10) sets the number of pages of the master spread directly – also in a single-sided document, where facing true alone still gives one page. based_on names an existing master (full name with prefix) the new one is based on (Musterseite basiert auf); "[None]" for none. Returns name, page_ids[], page_count and based_on ("[None]" when none). InDesign switches the layout window to the new master spread when it is created; keep_view (default true) puts the previous page and zoom back afterwards (view_restored) – pass keep_view false to stay on the master.

Parameter (7)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
base_namestringPflicht
Name without prefix, e.g. "Grundlayout". (min. 1 chars)
name_prefixstring
One capital letter. Default: next free letter.
facingboolean
Two-page master. Default: like the document.
page_countinteger
Pages of the master spread (1–10), also in a single-sided document. Overrides facing; a contradicting facing value is refused. (≥ 1, ≤ 10)
based_onstring
Full name of the master this one is based on, e.g. "A-Grundlayout"; "[None]" for none. Default: none. (min. 1 chars)
keep_viewboolean
Restore the previous view (page and zoom of the layout window) afterwards – InDesign otherwise jumps to the new page. Default true; false lets the view move. The answer carries view_restored (null when the document has no window).

apply_parent_to_pageApply a master page

Apply the master spread parent_name (full name with prefix, e.g. "A-Footer") to page_id. "[None]", "none" or "Ohne" detaches the page from its master – an ad page loses header, footer line and page number in one step. Returns page_id and parent_applied as InDesign reports it afterwards.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idintegerPflicht
Page from list_pages (or a master page from list_parent_pages).
parent_namestringPflicht
Full master name with prefix, or "[None]" to detach.

insert_page_number_markerInsert page number marker

Insert the automatic page number placeholder (Seitenzahl-Platzhalter) into text frame frame_id at position "start" or "end" (default end). Works on master page frames too. Returns frame_id and position.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Text frame to write into.
positionstring
Default "end". (Werte: "start", "end")

list_sectionsList sectionsnur lesend

List the sections (Abschnitte) of the document that control page numbering: sections[] {section_id, name, start_page_id, start_page_name, start_page_index, length, continue_numbering, page_number_start, page_number_style (arabic, upper_roman, lower_roman, upper_letters, lower_letters, or a custom list name), section_prefix, include_section_prefix, marker}, count, and pages[] {page_id, name} with the page names as they result. Read-only. Every document has a section on its first page.

Parameter (1)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.

set_sectionStart or change a section

Start a section on page_id or change the one starting there: page_number_start (sets continue_numbering false), continue_numbering, page_number_style (arabic, upper_roman, lower_roman, upper_letters, lower_letters), section_prefix (up to 8 characters), include_section_prefix, marker (text for the section marker), name. remove true deletes the section starting on page_id (never the first). Returns created, section (read back), previous, sections[] and pages[] {page_id, name} – page names change with the numbering, so re-read them before using page names in export_pdf ranges. Use it for an issue that starts at page 3, roman front matter, or a supplement with its own numbering.

Parameter (10)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idintegerPflicht
Document page on which the section starts (from list_pages).
page_number_startinteger
Page number of the first page of the section; implies continue_numbering false. (≥ 1)
continue_numberingboolean
true: continue from the previous section.
page_number_stylestring
Numbering style. (Werte: "arabic", "upper_roman", "lower_roman", "upper_letters", "lower_letters")
section_prefixstring
Prefix before the page number, up to 8 characters.
include_section_prefixboolean
Show the prefix in page numbers.
markerstring
Section marker text (Abschnittsmarke).
namestring
Section name.
removeboolean
Remove the section starting on page_id. Not combinable with other settings.

↑ Nach oben

Satzspiegel und Raster2 Werkzeuge

get_layout_gridLayout grid (Satzspiegel)nur lesend

Read the type area (Satzspiegel) of every document page and, by default, every master page, plus document-wide values. Per page: page_id, name, spread_index, spread_page_count, spread_position, page_offset_in_spread_mm, parent, margins_mm (top, bottom, left, right; for facing pages also inside = left and outside = right – InDesign stores the inside margin (Bundsteg) as "left"), column_count, column_gutter_mm, type_area_mm {x, y, width, height} measured from the top left corner of that page, column_width_mm, columns_positions_mm (from the left edge of the type area; a two-column grid with 5 mm gutter on 170 mm reads [0, 82.5, 87.5, 170]) and custom_column_positions. Document-wide: distinct_grids[] {margins_mm, columns, gutter_mm, page_ids}, is_uniform, baseline_grid {start_mm, increment_mm, increment_pt, relative_to (top_of_page, top_of_margin or unknown), relative_to_raw, shown, view_threshold}, baseline_grid_check {first_line_mm, starts_at_type_area_top, lines_in_type_area, last_line_mm, remainder_below_mm} for the first document page, bleed_mm {top, left, bottom, right, uniform} and slug_mm. Warnings: bleed 0, baseline grid does not fit the type area, relative_to unknown. Read-only.

Parameter (2)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
include_parent_pagesboolean
Also include master pages (Musterseiten). Default true.

set_layout_gridSet margins and columns

Set margins, column count and gutter on document pages and, by default, master pages, and redistribute the column guides evenly (relative to the type area). Whatever is omitted stays as it is. margins_mm takes top, left, bottom, right in mm – for facing pages "left" is the inside margin (Bundsteg) and "right" the outside margin. column_count 1–30, column_gutter_mm. page_ids[] limits the change to those pages (document or master pages); without it every page and the document defaults for new pages are changed – a client may block one call over all pages, so pass page_ids in blocks if needed. Optional baseline_grid {start_mm, increment_pt, relative_to: top_of_page | top_of_margin} sets the document baseline grid (Grundlinienraster). Moves only guides, never frames – unless move_objects is true: then every object on the changed pages keeps its size and moves with the inside (Bundsteg) and top margin (on a left-hand page of facing pages to the left when the inside margin grows), e.g. to widen the gutter for binding without stretching the type; locked objects, objects on locked layers and objects reaching beyond the page edge (bleeding images) stay and are listed in skipped_objects[] {item_id, page_id, reason}, moved ones in moved_objects[] {item_id, page_id, dx_mm, dy_mm}; changing the outside margin alone moves nothing. Returns changed_pages[] {page_id, name, margins_mm, column_count, column_gutter_mm, type_area_mm, column_width_mm, columns_positions_mm} read back from InDesign, with a warning per page whose column positions do not lie on the even grid. A timed-out call may still have completed in InDesign – check with get_layout_grid before repeating.

Parameter (8)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
margins_mmobject
Margins in mm; omitted edges stay.
topnumber
(≥ 0)
leftnumber
Inside margin (Bundsteg) on facing pages. (≥ 0)
bottomnumber
(≥ 0)
rightnumber
Outside margin on facing pages. (≥ 0)
column_countinteger
Number of columns, 1–30. (≥ 1, ≤ 30)
column_gutter_mmnumber
Gutter (Spaltenabstand) in mm. (≥ 0)
move_objectsboolean
true: move the objects on the changed pages with the inside and top margin instead of leaving them (no resizing). Default false.
page_idsarray of integer
Pages to change (document or master pages). Without it: all pages plus the document defaults. (min. 1 Einträge)
include_parent_pagesboolean
Also include master pages (Musterseiten). Default true.
baseline_gridobject
Document baseline grid (Grundlinienraster); document-wide, not per page.
start_mmnumber
Start of the baseline grid in mm. (≥ 0)
increment_ptnumber
Line increment in points, e.g. 12. (> 0)
relative_tostring
Where start_mm is measured from. (Werte: "top_of_page", "top_of_margin")

↑ Nach oben

Rahmen anlegen und verändern13 Werkzeuge

create_text_frameCreate a text frame

Create an empty text frame on page_id (document or master page) at bounds_mm {x, y, width, height}; x/y may be negative for bleed. initial_text is put in as one paragraph – "\n" becomes a forced line break, not a new paragraph; for real paragraphs create the frame empty and use set_text. The frame inherits the document text defaults, vertical justification and text wrap (Textumfluss): with wrap on, text frames underneath can be pushed into overset – pass text_wrap "none" to switch it off at creation, and vertical_justification "top" to pin the text to the top. Frame options (Textrahmenoptionen): first_baseline_offset sets the first baseline (Versatz erste Grundlinie: ascent, cap_height, leading, x_height, fixed, embox_top) with min_first_baseline_pt as the minimum in points; ignore_text_wrap true lets this frame ignore wrap of other objects (e.g. a caption over a picture with wrap); inset_mm sets the inset (Innenabstand) as one number or {top, left, bottom, right}. A one-line caption in a frame of exactly one grid line needs first_baseline_offset appropriate to the style (ascent or fixed) – otherwise it goes into overset. Returns frame_id, bounds_mm (read back, relative to the page it landed on), landed_on_page_id and landed_on_page_name (empty = pasteboard), and the frame options read back; a landing on another page is a warning, never a silent success. A timed-out call may still have created the frame – check get_page_state before repeating. Placeholders in the text become InDesign special characters (placeholders true, default): {{line_break}} (forced line break within the paragraph), {{nbsp}} (no-break space U+00A0), {{nbsp_fixed}} (fixed-width no-break space U+202F), {{thin_space}}, {{hair_space}}, {{soft_hyphen}} (discretionary hyphen), {{nb_hyphen}} (no-break hyphen), {{en_dash}}, {{em_dash}}, {{tab}}, {{column_break}}, {{frame_break}}, {{page_break}}. Unknown {{…}} stay as written with a warning; each placeholder is exactly one character in the story. Returns placeholders_replaced {name: count} and placeholders_unknown[].

Parameter (12)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idintegerPflicht
Page from list_pages or list_parent_pages.
bounds_mmobjectPflicht
Position and size in mm from the top left corner of the page (or spread with coordinate_space "spread").
xnumberPflicht
Left edge in mm; negative allowed for bleed (Anschnitt).
ynumberPflicht
Top edge in mm; negative allowed.
widthnumberPflicht
Width in mm, greater than 0. (> 0)
heightnumberPflicht
Height in mm, greater than 0. (> 0)
coordinate_spacestring
Reference for x/y: "page" (default) is the top left corner of page_id, identical on left and right pages; "spread" is the top left corner of the spread (Druckbogen) – the right page of a spread starts at x = page width. (Werte: "page", "spread")
initial_textstring
Text for the frame, one paragraph; "\n" is a line break. Placeholders such as {{nbsp}} are expanded.
placeholdersboolean
Expand {{…}} placeholders into special characters. Default true; false writes them literally.
text_wrapstring
"none" switches text wrap off for this frame. (Werte: "none")
vertical_justificationstring
Vertical alignment of the text inside the frame. (Werte: "top", "center", "bottom", "justify")
first_baseline_offsetstring
Position of the first baseline (Versatz erste Grundlinie). Default is the document default, usually ascent. (Werte: "ascent", "cap_height", "leading", "x_height", "fixed", "embox_top")
min_first_baseline_ptnumber
Minimum first baseline offset in points (Min. in the frame options). (≥ 0)
ignore_text_wrapboolean
true: this frame ignores text wrap of other objects (Textumfluss ignorieren).
inset_mmeine der Formen
Inset (Innenabstand) in mm: one number for all edges or {top, left, bottom, right}; missing edges are 0.
number
(≥ 0)
object
topnumber
(≥ 0)
leftnumber
(≥ 0)
bottomnumber
(≥ 0)
rightnumber
(≥ 0)

create_image_frameCreate an image frame

Create an empty graphic frame (Bildrahmen) on page_id at bounds_mm; x/y may be negative for bleed. By default fill and stroke are set to [None] and the stroke weight to 0 pt, so nothing prints around the picture (appearance_cleared true); keep_default_appearance true keeps the document defaults. The frame is set to fit a picture proportionally when place_image fills it later. Returns frame_id, bounds_mm, appearance_cleared, landed_on_page_id and landed_on_page_name; a landing on another page is a warning. If a 1 pt stroke still shows in an export, run set_frame_appearance with stroke_weight_pt 0. A timed-out call may still have created the frame – check get_page_state before repeating.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idintegerPflicht
Page from list_pages or list_parent_pages.
bounds_mmobjectPflicht
Position and size in mm from the top left corner of the page (or spread with coordinate_space "spread").
xnumberPflicht
Left edge in mm; negative allowed for bleed (Anschnitt).
ynumberPflicht
Top edge in mm; negative allowed.
widthnumberPflicht
Width in mm, greater than 0. (> 0)
heightnumberPflicht
Height in mm, greater than 0. (> 0)
coordinate_spacestring
Reference for x/y: "page" (default) is the top left corner of page_id, identical on left and right pages; "spread" is the top left corner of the spread (Druckbogen) – the right page of a spread starts at x = page width. (Werte: "page", "spread")
keep_default_appearanceboolean
true keeps the document default fill and stroke. Default false = fill and stroke [None], stroke 0 pt.

create_rectangleCreate a rectangle

Create a rectangle on page_id at bounds_mm (x/y may be negative) with optional fill_hex, stroke_hex, stroke_weight_pt (points), corner_radius_mm and corner_type, fill_tint_percent, stroke_tint_percent, gradient_fill_angle_deg, gradient_stroke_angle_deg, layer_name and name. Hex colours become RGB swatches named after the value ("#1A2B3C"), reused when they exist; their ids come back as swatch_ids. For print use the existing document swatches (CMYK) instead: fill_swatch_name / stroke_swatch_name take the exact name of an existing colour, tint or gradient swatch (see list_swatches); each excludes the corresponding hex parameter. Without fill_hex the fill is [None]; without stroke_hex and stroke_weight_pt the stroke is [None] with 0 pt. The rectangle inherits the document text wrap (Textumfluss) – pass text_wrap "none" to switch it off. Returns frame_id, page_id, swatch_ids, bounds_mm, fill_color, fill_kind (none, color, tint, gradient, mixed_ink), stroke_color, stroke_kind, tints, gradient angles, corner_type, corners, layer_name, landed_on_page_id and landed_on_page_name. A timed-out call may still have created the rectangle – check get_page_state before repeating.

Parameter (18)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idintegerPflicht
Page from list_pages or list_parent_pages.
bounds_mmobjectPflicht
Position and size in mm from the top left corner of the page (or spread with coordinate_space "spread").
xnumberPflicht
Left edge in mm; negative allowed for bleed (Anschnitt).
ynumberPflicht
Top edge in mm; negative allowed.
widthnumberPflicht
Width in mm, greater than 0. (> 0)
heightnumberPflicht
Height in mm, greater than 0. (> 0)
coordinate_spacestring
Reference for x/y: "page" (default) is the top left corner of page_id, identical on left and right pages; "spread" is the top left corner of the spread (Druckbogen) – the right page of a spread starts at x = page width. (Werte: "page", "spread")
fill_hexstring
Fill colour as hex, e.g. "#E30613". Creates an RGB swatch.
fill_swatch_namestring
Exact name of an existing swatch for the fill – colour, tint or gradient swatch (see list_swatches). Not together with fill_hex. (min. 1 chars)
stroke_hexstring
Stroke colour as hex. Creates an RGB swatch.
stroke_swatch_namestring
Exact name of an existing swatch for the stroke (colour, tint or gradient). Not together with stroke_hex. (min. 1 chars)
stroke_weight_ptnumber
Stroke weight in points (1 pt with a warning when a stroke colour is given without it). (≥ 0)
fill_tint_percentnumber
Tint of the fill swatch in percent (0–100). (≥ 0, ≤ 100)
stroke_tint_percentnumber
Tint of the stroke swatch in percent (0–100). (≥ 0, ≤ 100)
gradient_fill_angle_degnumber
Angle of a linear gradient fill in degrees (-180 to 180); only visible with a gradient swatch as fill. (≥ -180, ≤ 180)
gradient_stroke_angle_degnumber
Angle of a linear gradient stroke in degrees (-180 to 180); only visible with a gradient swatch as stroke. (≥ -180, ≤ 180)
text_wrapstring
Text wrap of the new object: none, bounding_box or object_shape. Without it the document default applies – pass "none" when text lies underneath. (Werte: "none", "bounding_box", "object_shape")
layer_namestring
Existing layer to create the object on. Default: the active layer. (min. 1 chars)
namestring
Object name (label), shown in InDesign's layers panel.
corner_radius_mmnumber
Corner radius in mm for all four corners. (≥ 0)
corner_typestring
Corner shape (Eckenoptionen) for all four corners: none, rounded, inverse_rounded, bevel, inset, fancy. Default rounded when corner_radius_mm is greater than 0, otherwise none. (Werte: "none", "rounded", "inverse_rounded", "bevel", "inset", "fancy")

delete_frameDelete an object

Delete a text frame, image frame, rectangle, line or group (as a whole) by frame_id. A threaded text frame (verketteter Rahmen) takes its own text portion with it; the rest of the story stays in the other frames. There is no undo. Returns frame_id, type, was_threaded, characters_removed and removed_frame_ids (group members included). characters_removed counts only the text portion taken out of a threaded chain; it is 0 for an unthreaded frame, whose story is deleted together with the frame. A frame holding a managed story (editorial workflow, also when locked) is deleted anyway, with a warning; the story file on disk stays.

Parameter (2)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object to delete, from get_page_state.

get_frame_optionsOptions of a framenur lesend

Read the options of an object as InDesign holds them: type (text, image, rectangle, ellipse, polygon, line, group, other), page_id/page_name (landing), bounds_mm, rotation_deg, text_wrap {mode, offset_mm}, appearance {fill_color, fill_kind, stroke_color, stroke_kind, stroke_weight_pt, fill_tint_percent, stroke_tint_percent, gradient_fill_angle_deg, gradient_stroke_angle_deg, gradient_fill_start_mm, gradient_fill_length_mm}, corners {top_left {type, radius_mm}, …, uniform} (null for lines and groups), effects {opacity_percent, blend_mode, drop_shadow, feather} of the object and has_effects {fill, stroke, text} (true where something deviates from normal / 100 %), parent_group_id, layer {layer_id, layer_name, visible, locked}, locked (Objekt > Sperren) and anchored {story_id, index, position} (null when the object is not anchored in text). For a text frame additionally text: columns {count, gutter_mm, type, fixed_width_mm}, inset_mm, vertical_justification, vertical_threshold_mm, first_baseline_offset (ascent, cap_height, leading, x_height, fixed, embox_top), min_first_baseline_pt, ignore_text_wrap, optical_margin_alignment and optical_margin_size_pt (story-wide, see set_story_options), threading {story_id, story_length, frame_index, frame_count, previous_frame_id, next_frame_id, overset, story_overset}, first_baseline_mm (baseline of the first line in mm from the top of the page – the direct check whether the first line sits on the baseline grid, if the layout uses one) and character_count. Read-only. Use it to copy the settings of an existing frame before rebuilding it with create_text_frame, set_frame_columns, set_frame_inset and set_text_wrap. Returns coordinate_space ("page" when the object lies on a page, "spread" on the pasteboard): bounds_mm is relative to page_id and can be passed back to set_frame_bounds together with page_id.

Parameter (2)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.

set_frame_boundsMove or resize an object

Move or resize an existing text frame, image frame, rectangle or line without rebuilding it: bounds_mm {x, y, width, height}. With page_id the values are relative to that page (x/y may be negative for bleed); without page_id they are spread coordinates (Druckbogen). Never changes the spread. Groups are refused (their graphics would stay behind). A rotated object takes the values in its rotated space. Resizing an image frame crops: the picture keeps its position and scale inside the frame, so a smaller frame shows less of it (the way to trim a bleed picture to the trim edge, or to crop a photo without rescaling) – use fit_frame when the picture should follow the new frame instead. Returns frame_id, bounds_mm as InDesign reports them, landed_on_page_id and landed_on_page_name; a landing on another page is a warning. Returns coordinate_space ("page" with page_id, otherwise "spread"); a page change without page_id is a warning, because page-relative values read elsewhere shift the object by one page width when passed as spread coordinates. When the object carries a text wrap, the document is recomposed afterwards and recomposed, overset_stories_before, overset_stories_after and overset_changed report whether the overset state of the document changed.

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
bounds_mmobjectPflicht
Position and size in mm from the top left corner of the page (or spread with coordinate_space "spread").
xnumberPflicht
Left edge in mm; negative allowed for bleed (Anschnitt).
ynumberPflicht
Top edge in mm; negative allowed.
widthnumberPflicht
Width in mm, greater than 0. (> 0)
heightnumberPflicht
Height in mm, greater than 0. (> 0)
page_idinteger
Page the coordinates refer to (same spread). Without it: spread coordinates.

set_frame_appearanceFill and stroke of an object

Set fill, stroke colour and stroke weight of an object. fill and stroke take "#RRGGBB" (an RGB swatch is created or reused) or "none"; fill_swatch_name and stroke_swatch_name take the exact name of an existing colour, tint or gradient swatch instead (print: the document's CMYK swatches, see list_swatches) and each excludes the corresponding hex parameter. stroke_weight_pt is in points (0 or more). fill_tint_percent / stroke_tint_percent set the tint (0–100), gradient_fill_angle_deg / gradient_stroke_angle_deg the angle of a linear gradient (a warning when the swatch is no gradient). At least one parameter besides frame_id is required. Returns fill_kind and stroke_kind (none, color, tint, gradient, mixed_ink), the tints (null when none is set), the gradient angles and gradient_fill_start_mm / gradient_fill_length_mm as InDesign holds them. stroke "none" also sets the weight to 0, because [None] alone can resolve to black in localised documents – the reliable way to remove a stroke is stroke_weight_pt 0; check the export. Returns applied_fill, applied_stroke and applied_stroke_weight_pt read back from the object, plus swatch_ids of new swatches.

Parameter (11)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
fillstring
"#RRGGBB" or "none".
fill_swatch_namestring
Exact name of an existing swatch for the fill. Not together with fill. (min. 1 chars)
strokestring
"#RRGGBB" or "none" (also sets the weight to 0).
stroke_swatch_namestring
Exact name of an existing swatch for the stroke. Not together with stroke. (min. 1 chars)
stroke_weight_ptnumber
Stroke weight in points; 0 removes the stroke. (≥ 0)
fill_tint_percentnumber
Tint of the fill swatch in percent (0–100). (≥ 0, ≤ 100)
stroke_tint_percentnumber
Tint of the stroke swatch in percent (0–100). (≥ 0, ≤ 100)
gradient_fill_angle_degnumber
Angle of a linear gradient fill in degrees (-180 to 180); a warning when the fill is no gradient swatch. (≥ -180, ≤ 180)
gradient_stroke_angle_degnumber
Angle of a linear gradient stroke in degrees (-180 to 180); a warning when the stroke is no gradient swatch. (≥ -180, ≤ 180)

set_frame_columnsColumns inside a text frame

Set the number of columns inside a text frame (not the page grid): count (1 or more; the parameter is count, not column_count) and gutter_mm (Spaltenabstand; without it the frame keeps its current gutter – InDesign's own default for new frames is 1 pica = 4.233 mm). Returns frame_id, count and gutter_mm read back. Fails with invalid_state for anything but a text frame.

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
countintegerPflicht
Number of columns inside the frame. (≥ 1)
gutter_mmnumber
Gutter between the columns in mm. Without it the current gutter of the frame stays. (≥ 0)

set_frame_insetInset of a text frame

Set the inset spacing (Innenabstand) of a text frame: inset_mm {top, left, bottom, right}, all four required, 0 or more; and/or the vertical justification (vertikale Ausrichtung, Textrahmenoptionen): vertical_justification top, center, bottom or justify. At least one of the two; what is omitted stays. Returns frame_id, inset_mm and vertical_justification read back (get_frame_options reads both under text).

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
inset_mmobject
Inset in mm: { top, left, bottom, right }, all required. Optional when vertical_justification is given.
topnumberPflicht
(≥ 0)
leftnumberPflicht
(≥ 0)
bottomnumberPflicht
(≥ 0)
rightnumberPflicht
(≥ 0)
vertical_justificationstring
Vertical justification of the text in the frame (vertikale Ausrichtung). Without it the frame keeps its setting. (Werte: "top", "center", "bottom", "justify")

set_text_wrapText wrap of an object

Set the text wrap (Textumfluss) of an object: mode none, bounding_box, object_shape, jump_object or next_column, with an optional offset as offset_mm or offset_pt {top, left, bottom, right} (one of them, not both; object_shape uses only one distance). The reliable cure for text frames pushed into overset by a new frame is mode "none". Returns frame_id, mode and offset_mm read back. The document is recomposed afterwards; recomposed, overset_stories_before, overset_stories_after and overset_changed report whether the overset state of the document changed.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
modestringPflicht
Text wrap mode. (Werte: "none", "bounding_box", "object_shape", "jump_object", "next_column")
offset_mmobject
Wrap offset in mm.
topnumberPflicht
(≥ 0)
leftnumberPflicht
(≥ 0)
bottomnumberPflicht
(≥ 0)
rightnumberPflicht
(≥ 0)
offset_ptobject
Wrap offset in points.
topnumberPflicht
(≥ 0)
leftnumberPflicht
(≥ 0)
bottomnumberPflicht
(≥ 0)
rightnumberPflicht
(≥ 0)

thread_text_framesThread two text frames

Thread (verketten) two text frames into one story: the text of source_frame_id continues in target_frame_id. Already threaded to each other = no-op (already_threaded true). Text already in the target is merged into the story after the source text (warning). A source that already continues elsewhere, or a target that already continues another frame, is refused with invalid_state. Returns source_frame_id, target_frame_id, story_id and story_character_count.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
source_frame_idintegerPflicht
Frame whose text continues in the target.
target_frame_idintegerPflicht
Frame that receives the continuation.

fit_frameFit frame or content

InDesign's fitting commands (Anpassen) as one call. For a graphic frame: content_to_frame (distorts), fit_proportionally (whole picture visible, may leave space), fill_proportionally (frame filled, picture cropped), center_content, or frame_to_content (the frame takes the size of the picture, top left corner stays). For a text frame only frame_to_content: the frame shrinks or grows to its text (Rahmen an Inhalt anpassen) – InDesign fits width and height (the width to the longest line); keep_width true fits the height only and keeps the width (via auto-size height only, reference top left) – the usual choice for headlines and captions; if the layout uses a baseline grid, check the result against it. Returns frame_bounds_before_mm, frame_bounds_mm, frame_changed, and for pictures graphic_bounds_mm, fits_frame and effective_ppi (warning below min_ppi), for text overset. Fails on groups, lines, empty graphic frames and members of a group. Returns coordinate_space ("page", or "spread" on the pasteboard); when the object carries a text wrap the document is recomposed afterwards (recomposed, overset_stories_before, overset_stories_after, overset_changed).

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
modestringPflicht
Which fitting to apply. (Werte: "frame_to_content", "content_to_frame", "fit_proportionally", "fill_proportionally", "center_content")
keep_widthboolean
Text frames, frame_to_content: fit the height only and keep the width. Default false = InDesign behaviour (width and height).
min_ppinumber
Effective resolution in ppi below which a warning is given. Default: the configured value, otherwise 300 (the usual offset print value: twice the 150 lpi screen). (> 0)

anchor_frame_in_textAnchor object in text

Anchor a frame, picture, line or group at a text position (verankertes Objekt) so it moves with the text on reflow: target_frame_id names a frame of the story, index the character position (default: end of the story), position inline (on the baseline), above_line, or custom with offset_mm {x, y}, anchor_point, horizontal_reference (anchor_location, column_edge, text_frame, page_margins, page_edge), vertical_reference (line_baseline, line_xheight, line_ascent, cap_height, top_of_leading, embox_top, embox_middle, embox_bottom, column_edge, text_frame, page_margins, page_edge), horizontal_alignment (left, center, right, text), vertical_alignment (top, center, bottom), keep_within_frame, lock_position. For above_line, horizontal_alignment (left, center, right, text) aligns the object in the text column and space_before_mm/space_after_mm set the space before and after it (Abstand davor/danach). The object leaves its page and becomes part of the story (an U+FFFC character at index). Returns frame_id (read back; a new id is warned), story_id, index, story_length, settings (for above_line with space_before_mm, space_after_mm), bounds_mm, page_id (the page the anchored object stands on after the story is recomposed) and story_overset (warning). Fails on group members, already anchored objects, a frame of the target story, locked layers. An anchored object leaves its place on the page and follows the text on reflow – anchor deliberately (captions, marginalia, inline symbols) and leave objects that must keep their position unanchored.

Parameter (15)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
target_frame_idintegerPflicht
A text frame of the story to anchor into.
indexinteger
Character index in the story (0 = before the first character). Default: end of the story. (≥ 0)
positionstring
inline (default), above_line or custom. (Werte: "inline", "above_line", "custom")
offset_mmobject
custom only: offset in mm (x right, y down).
xnumber
ynumber
anchor_pointstring
custom only: reference point on the object. (Werte: "top_left", "top_center", "top_right", "left_center", "center", "right_center", "bottom_left", "bottom_center", "bottom_right")
horizontal_referencestring
custom only. (Werte: "anchor_location", "column_edge", "text_frame", "page_margins", "page_edge")
vertical_referencestring
custom only. (Werte: "line_baseline", "line_xheight", "line_ascent", "cap_height", "top_of_leading", "embox_top", "embox_middle", "embox_bottom", "column_edge", "text_frame", "page_margins", "page_edge")
horizontal_alignmentstring
custom and above_line (above_line: alignment in the text column). (Werte: "left", "center", "right", "text")
vertical_alignmentstring
custom only. (Werte: "top", "center", "bottom")
keep_within_frameboolean
custom only: keep the object within the top and bottom of the text frame (pin position).
lock_positionboolean
custom only: prevent manual dragging.
space_before_mmnumber
above_line only: space before the object (Abstand davor) in mm. (≥ -1000, ≤ 1000)
space_after_mmnumber
above_line only: space after the object (Abstand danach) in mm. (≥ -1000, ≤ 1000)

↑ Nach oben

Bilder und Verknüpfungen4 Werkzeuge

place_imagePlace an image or PDF

Place an image or PDF file (real path on the InDesign machine) into a graphic frame, replacing whatever it held (crop and scale are reset). fit: fill_proportionally, fit_proportionally, fit_content_to_frame or center_content; without it the frame fitting options of the frame apply. pdf_crop chooses the PDF page box: media (InDesign default – the whole sheet including printer marks, the usual reason for misplaced ads), crop, trim, bleed (for bleed ads), art or content; pdf_page picks the page (default 1). When the PDF has no such box (a QR code PDF without TrimBox, say), InDesign refuses – the tool then falls back to the next larger box (bleed → trim → crop → media) with a warning and reports pdf_crop_used; without pdf_crop the box preset in InDesign applies (the last choice of the place dialog, not always media) and the same fallback starts from that box; pdf_crop_fallback false turns that off and returns the io_error instead. The place preferences are set for this call only and restored. Returns frame_id, link_status, frame_bounds_mm, graphic_bounds_mm, pdf_crop_used and fits_frame (true when the graphic covers the frame within 0.2 mm; otherwise a warning); a warning when the effective resolution is below min_ppi. A changed CropBox of a PDF is ignored by InDesign; for asymmetric bleed derive a placement copy of the PDF. A timed-out call may still have placed – check get_page_state before repeating.

Parameter (8)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
image_pathstringPflicht
Real file path of the image or PDF on the machine running InDesign. (min. 1 chars)
fitstring
Fitting after placing. (Werte: "fill_proportionally", "fit_proportionally", "fit_content_to_frame", "center_content")
pdf_cropstring
PDF page box to import. InDesign default media. (Werte: "media", "crop", "trim", "bleed", "art", "content")
pdf_pageinteger
Page of a multi-page PDF. Default 1. (≥ 1)
pdf_crop_fallbackboolean
Fall back to the next larger PDF box with a warning when the requested box is missing. Default true.
min_ppinumber
Effective resolution in ppi below which a warning is given. Default: the configured value, otherwise 300 (the usual offset print value: twice the 150 lpi screen). (> 0)

position_image_in_framePosition a placed graphic

Move the graphic inside a frame without scaling it; the frame stays as it is (frame bounds, crop edges and page). align puts the graphic's reference point onto the same reference point of the frame (center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right – e.g. top_left: upper left corners meet, center: centred); offset_mm {x, y} then shifts it by x/y mm (positive = right/down). Pass align, offset_mm or both. Returns frame_id, graphic_id, align, offset_mm, moved_by_mm {x, y}, graphic_bounds_mm, graphic_bounds_before_mm and frame_bounds_mm (relative to page_id, coordinate_space "page"; "spread" on the pasteboard) and fits_frame – a warning when the graphic no longer covers the frame. To change the size use fit_frame.

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
alignstring
Reference point of graphic and frame that are brought together (one of nine). (Werte: "center", "top", "bottom", "left", "right", "top_left", "top_right", "bottom_left", "bottom_right")
offset_mmobject
Shift in mm after align (or from the current position): positive x to the right, positive y down.
xnumberPflicht
ynumberPflicht

↑ Nach oben

Text lesen und schreiben12 Werkzeuge

get_frame_textRead the text of a framenur lesend

Read the story of a text frame: story_id, story_length, paragraphs[] {index, start_index, end_index (exclusive, without the break), end_index_incl_break, paragraph_style, text, is_empty, break_type (paragraph, column, frame, page, odd_page, even_page or none for the last paragraph)} and overset for this frame. Column breaks count like paragraph marks; zero-width characters (U+FEFF) are returned as they are. For a threaded frame the whole story is returned, with frame_start_index and frame_end_index marking this frame's portion – pass only_frame_portion true to get only the paragraphs in this frame (text clipped at the frame boundaries, clipped_start/clipped_end mark the cut), and max_chars to cap the text returned (truncated true, paragraphs_omitted counts the rest). Indices always refer to the whole story, so they can be used with set_text_in_range and the *_to_range tools. Also lock_state of the story (none, unmanaged_story, checked_in_story, checked_out_story, locked_story, embedded_story, missing_lock_state, mixed_lock_state; null when unreadable) and managed_file (path of the editorial file for a managed story, home folder as ~; otherwise null) – writing tools refuse checked_in_story, locked_story, missing_lock_state and mixed_lock_state. Read-only. There is no include_overset parameter.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
only_frame_portionboolean
true: only the paragraphs shown in this frame, text clipped at its boundaries. Default false = whole story.
max_charsinteger
Budget for the text returned across all paragraphs; the rest is counted in paragraphs_omitted. (≥ 1)
show_placeholdersboolean
Show special characters in text as {{…}} placeholders (line_break, nbsp, nbsp_fixed, thin_space, hair_space, soft_hyphen, nb_hyphen, en_dash, em_dash, tab, column_break, frame_break, page_break). Default false. Indices stay story-wide; each placeholder stands for one character.

set_textReplace the text of a frame

Replace the whole story of a text frame (really replace, never append): text with real line breaks as paragraph marks ("\n" or "\r\n" in the parameter become paragraph returns; U+2028 stays a forced line break). "" empties the frame. The text takes the document text defaults as local formatting – apply a paragraph style afterwards with apply_paragraph_style_to_range over the whole story. For a threaded frame the entire story across all frames is replaced (warning). Returns frame_id, character_count read back and overset. Stories managed by an editorial workflow (InCopy) that are not checked out here (lock_state checked_in_story, locked_story, missing_lock_state or mixed_lock_state) are refused before anything is written: invalid_state with details.code "story_locked" (details: frame_id, story_id, lock_state, managed_file) – check the story out in the editorial system or in InCopy first. Placeholders in the text become InDesign special characters (placeholders true, default): {{line_break}} (forced line break within the paragraph), {{nbsp}} (no-break space U+00A0), {{nbsp_fixed}} (fixed-width no-break space U+202F), {{thin_space}}, {{hair_space}}, {{soft_hyphen}} (discretionary hyphen), {{nb_hyphen}} (no-break hyphen), {{en_dash}}, {{em_dash}}, {{tab}}, {{column_break}}, {{frame_break}}, {{page_break}}. Unknown {{…}} stay as written with a warning; each placeholder is exactly one character in the story. Returns placeholders_replaced {name: count} and placeholders_unknown[].

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
textstringPflicht
New text; line breaks become paragraph marks, {{line_break}} a forced line break; "" empties the frame.
placeholdersboolean
Expand {{…}} placeholders into special characters. Default true; false writes them literally.

set_text_in_rangeReplace a character range

Replace characters start_index (inclusive) to end_index (exclusive) of the story of a text frame with text; start == end inserts, text "" deletes the range. The new text keeps the formatting of the first replaced character up to its first paragraph mark (keep_format_of "start", default) – also when the range begins a paragraph that follows a paragraph with other formatting; every further new paragraph takes the formatting and paragraph style of the replaced paragraph at the same position (beyond the last one: of the last replaced paragraph). If the range begins with a paragraph mark, the paragraphs merge and the new text continues that paragraph in its formatting. The right way for formatted placeholders and for a full swap (0 to story_length). keep_format_of "before" leaves the choice to InDesign (the range is replaced in one step); "none" removes character style and local character formatting from the new text, so it shows its paragraph style. An insertion (start == end) takes InDesign's formatting of the insertion point unless keep_format_of is "none". An empty line is two line breaks. Indexes come from get_frame_text. Returns frame_id, replaced_chars, inserted_chars, story_length and keep_format_of. Stories managed by an editorial workflow (InCopy) that are not checked out here (lock_state checked_in_story, locked_story, missing_lock_state or mixed_lock_state) are refused before anything is written: invalid_state with details.code "story_locked" (details: frame_id, story_id, lock_state, managed_file) – check the story out in the editorial system or in InCopy first. Placeholders in the text become InDesign special characters (placeholders true, default): {{line_break}} (forced line break within the paragraph), {{nbsp}} (no-break space U+00A0), {{nbsp_fixed}} (fixed-width no-break space U+202F), {{thin_space}}, {{hair_space}}, {{soft_hyphen}} (discretionary hyphen), {{nb_hyphen}} (no-break hyphen), {{en_dash}}, {{em_dash}}, {{tab}}, {{column_break}}, {{frame_break}}, {{page_break}}. Unknown {{…}} stay as written with a warning; each placeholder is exactly one character in the story. Returns placeholders_replaced {name: count} and placeholders_unknown[].

Parameter (7)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
start_indexintegerPflicht
First character to replace (inclusive). (≥ 0)
end_indexintegerPflicht
End of the range (exclusive); equal to start_index inserts. (≥ 0)
textstringPflicht
Replacement text; "" deletes. Placeholders such as {{nbsp}} are expanded.
placeholdersboolean
Expand {{…}} placeholders into special characters. Default true; false writes them literally.
keep_format_ofstring
Formatting of the new text: "start" (default) the first replaced character up to the first new paragraph mark, then paragraph by paragraph the replaced paragraph at the same position; "before" whatever InDesign chooses; "none" the paragraph style without character style or local character formatting. (Werte: "start", "before", "none")

find_replaceFind and replace text

Find and replace text in the document or in one frame: find, replace, mode literal or grep (default literal), scope document or frame (frame needs frame_id), include_master_pages, include_hidden_layers, include_locked_layers (all default false), case_sensitive and whole_word (default false). dry_run true only counts and lists up to 200 matches with frame_id, page_name and index – use it before any name replacement. GREP metacharacters: ~M column break, ~R frame break, ~P page break, ~S non-breaking space (a literal U+00A0 is not found in literal mode); a straight " in GREP matches every quote, including typographic ones. Returns replacements, matches_found, scope, mode and master_pages_included. Locked managed stories (editorial workflow, lock_state as in get_frame_text) are never changed: their matches are left out of replacements and matches_found (also in dry_run) and listed in skipped_locked[] {story_id, frame_id, lock_state, managed_file, matches}, with a warning; without include_locked_layers InDesign does not search them, and a warning says how many there are. changes.modified_frame_ids lists the frames with replacements. No undo.

Parameter (12)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
findstringPflicht
Text or GREP pattern to find. (min. 1 chars)
replacestring
Replacement text; required unless dry_run is true. "" deletes the matches.
modestring
literal (default) or grep. (Werte: "literal", "grep")
scopestring
document (default) or frame (needs frame_id). (Werte: "document", "frame")
frame_idinteger
Frame for scope "frame".
include_master_pagesboolean
Also search master pages. Default false.
include_hidden_layersboolean
Also search hidden layers. Default false.
include_locked_layersboolean
Also search locked layers and stories. Default false. Matches in locked managed stories are reported in skipped_locked, never replaced.
case_sensitiveboolean
Literal mode: match case. Default false.
whole_wordboolean
Literal mode: whole words only. Default false.
dry_runboolean
true: count and list matches, change nothing.

place_text_filePlace a text file

Place a manuscript file (.docx, .doc, .rtf or .txt on the InDesign machine) into a text frame – the cheap way for long articles instead of passing the text as a string. mode replace (default) empties the story first; append adds at the end of the story. retain_formatting false (default) imports plain text (Word styles and local formatting removed) so that paragraph_style (applied to every placed paragraph, like apply_paragraph_style_to_range) gives the document's paragraph style; retain_formatting true keeps Word styles and local formatting and imports the Word paragraph styles (names that already exist in the document are used as they are). style_map {"Word style": "document style"} maps Word paragraph styles to existing document styles after the import (forces retain_formatting true) and removes the mapped Word styles again (styles_removed); every target style must exist. typographers_quotes (default true) converts straight quotes. page_breaks (.docx, .doc, .rtf) decides what becomes of page breaks in the Word file: none (default – they are dropped and the text runs on), page_break (InDesign page breaks, Seitenumbruch – e.g. for a front matter with title, imprint and dedication on pages of their own) or column_break; a Word break in an otherwise empty paragraph leaves that empty paragraph at the top of the next page. Footnotes and endnotes are imported, tables come in as InDesign tables, graphics, index and table of contents are not imported (build them in InDesign with create_toc and with add_index_entry plus generate_index). Returns placed_start_index, placed_end_index and inserted_chars (story indices for the *_to_range tools), story_length, paragraph_count, styles_added (paragraph styles the import created – remove or map them), styles_mapped and overset of the story. autoflow true (Sitzung 8) keeps adding pages after the page of the last frame – same parent page, a frame with the size and frame options of the last one (on facing pages placed into the type area of the new page when the last frame fills its type area, otherwise mirrored at the spine; placement type_area | mirrored | same per added frame) (columns, gutter, insets, vertical justification, first baseline – copied value by value), threaded – until the text fits or max_pages (default 20) is reached; the result carries autoflow {pages_added, frames_added[] {frame_id, page_id, bounds_mm, placement, frame_options_copied, frame_options_failed[], frame_options_skipped[] (values that do not apply, e.g. vertical_threshold without vertical justify), columns {count, gutter_mm}}, overset, stopped}. Without autoflow, thread frames with thread_text_frames; to continue the autoflow of a story already placed (overset after max_pages, later edits) use autoflow_story. Autoflow keeps the layout window where it was (keep_view, default true; view_restored in the answer) – pass keep_view false to follow the new pages. A timed-out call may still have placed – check get_frame_text before repeating. Stories managed by an editorial workflow (InCopy) that are not checked out here (lock_state checked_in_story, locked_story, missing_lock_state or mixed_lock_state) are refused before anything is written: invalid_state with details.code "story_locked" (details: frame_id, story_id, lock_state, managed_file) – check the story out in the editorial system or in InCopy first.

Parameter (12)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
file_pathstringPflicht
Real path of the .docx, .doc, .rtf or .txt file on the machine running InDesign. (min. 1 chars)
modestring
replace (default): empty the story first; append: add at the end of the story. (Werte: "replace", "append")
retain_formattingboolean
true keeps Word styles and local formatting. Default false = plain text.
paragraph_stylestring
Existing paragraph style applied to every placed paragraph. (min. 1 chars)
style_mapobject
Word paragraph style name → existing document style name; applied after the import.
typographers_quotesboolean
Convert straight quotes to typographic ones. Default true.
page_breaksstring
Word files: what page breaks become – none (default, dropped), page_break or column_break. The answer echoes it as page_breaks (null for .txt). (Werte: "none", "page_break", "column_break")
autoflowboolean
Add pages and threaded frames until the text fits. Default false.
max_pagesinteger
autoflow: at most this many pages. Default 20. (≥ 1, ≤ 2000)
keep_viewboolean
Restore the previous view (page and zoom of the layout window) afterwards – InDesign otherwise jumps to the new page. Default true; false lets the view move. The answer carries view_restored (null when the document has no window).

autoflow_storyAutoflow an existing story

Continue the autoflow of a story that is already in the document – no file needed: while the story overflows (Übersatz), add a page after the page of its last frame (same parent page) with a threaded frame of the size and frame options of the last frame, exactly as place_text_file with autoflow true does, until the text fits or max_pages (default 20, at most 2000) is reached. frame_id is any text frame of the story. A story that fits already is left as it is (pages_added [] and stopped "fits"). Returns frame_id, story_id, overset and autoflow {pages_added, frames_added[] {frame_id, page_id, bounds_mm, placement, frame_options_copied, frame_options_failed[], frame_options_skipped[], columns {count, gutter_mm}}, overset, stopped} – the same as place_text_file – and view_restored (keep_view, default true). A timed-out call may still have added pages – check list_pages before repeating. Stories managed by an editorial workflow (InCopy) that are not checked out here are refused before anything is written: invalid_state with details.code "story_locked".

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
max_pagesinteger
At most this many pages. Default 20. (≥ 1, ≤ 2000)
keep_viewboolean
Restore the previous view (page and zoom of the layout window) afterwards – InDesign otherwise jumps to the new page. Default true; false lets the view move. The answer carries view_restored (null when the document has no window).

list_storiesList storiesnur lesend

Overview of the stories (Textabschnitte) of the document: which frames belong to which story and in what order, and which story overflows. stories[] {story_id, frame_ids (chain order), frame_count, frames[] {frame_id, index, page_id, page_name, on_pasteboard, on_parent_page, bounds_mm}, character_count, paragraph_count, table_count, overset, on_parent_page, first_page_id, first_page_name, first_paragraph_style, snippet, lock_state, managed_file}, count, total_stories, overset_count (warning when above 0). Stories on parent pages are skipped unless include_parent_pages true; empty stories are listed unless include_empty false; page_id keeps only stories with a frame on that page. lock_state is the state of a story in an editorial workflow such as InCopy (none, unmanaged_story, checked_in_story, checked_out_story, locked_story, embedded_story, missing_lock_state, mixed_lock_state; null when unreadable); managed_file is the path of its editorial file (home folder as ~) for managed stories, otherwise null. Read-only. get_frame_text reads one story; thread_text_frames changes the chain.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idinteger
Only stories that have a frame on this page.
include_parent_pagesboolean
Also list stories on parent (master) pages. Default false.
include_emptyboolean
List stories without text. Default true.
snippet_charsinteger
Length of the text snippet per story. Default 80. (≥ 0, ≤ 2000)

get_frame_linesLines of a text frame (composition)nur lesend

Read the composed lines of a text frame directly from InDesign, per text column – the basis for widow/orphan checks (Hurenkind, Schusterjunge), hyphen ladders, empty lines and the comparison of column starts, without a PDF export. Returns frame_id, story_id, frame_index (position of the frame in the story), page_id, column_count, line_count, columns[] {column_index, bounds_mm (from frame, inset, column count and gutter), line_count, first_baseline_mm, last_baseline_mm (mm from the top of the page), starts_with_last_line_of_paragraph (widow suspicion), ends_with_first_line_of_paragraph (orphan suspicion), starts_with_empty_line, consecutive_hyphens_max, ends_with_single_word, single_word_last_lines[], lines[] {index (in the column), start_index, end_index (story indices, end exclusive – usable in the *_to_range tools), baseline_mm, ascent_pt, descent_pt, left_mm, right_mm, paragraph_index (0-based in the story), is_first_line_of_paragraph, is_last_line_of_paragraph, paragraph_line_count (story-wide, so a paragraph continuing in the next frame is still counted whole), ends_with_hyphen, is_empty, word_count, last_char, text (only with include_text)}}, overset and truncated. Pitfalls: only composed text has lines – overset text has none; an automatic hyphen is not part of the text, so ends_with_hyphen is inferred when a line ends and the next line of the same paragraph begins with a letter; the last line of a paragraph that continues in the next frame is the last visible line here, not the last line of the paragraph (compare paragraph_line_count); lines inside tables are not Line objects and are not listed. Read-only. Returns coordinate_space ("page" or "spread") for the coordinates reported.

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
include_textboolean
Also return the text of every line. Default false (figures only).
max_linesinteger
Cap for the lines returned over all columns. Default 500. (≥ 1, ≤ 5000)

set_story_optionsStory options (optical margin alignment)

Read or set story-wide options of the story a text frame belongs to (frame_id names any frame of the story): optical_margin_alignment (optischer Randausgleich / hängende Interpunktion – punctuation and letter edges hang slightly outside the column edge, which makes justified edges look straight) and optical_margin_size_pt (the point size the alignment is calculated for; usually the body text size, 0.1–1296). Without parameters it is read-only. Returns story_id, frame_ids[] of the story in threading order, the two values after the change, previous {…}, changed[] and overset of the story. Optical margin alignment recomposes every line of the story – check get_frame_lines afterwards. get_frame_options shows the two values under text as well.

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
optical_margin_alignmentboolean
Switch optical margin alignment on or off for the whole story.
optical_margin_size_ptnumber
Reference point size for the alignment, usually the body text size. (≥ 0.1, ≤ 1296)

list_text_variablesList text variablesnur lesend

List the text variables (Textvariablen) of the document: variables[] {name, type (custom_text, running_header_paragraph, running_header_character, file_name, output_date, creation_date, modification_date, last_page_number, chapter_number, or the raw type), options per type (text; paragraph_style/character_style, use first|last, text_before, text_after, delete_end_punctuation; include_extension, include_path; format), instance_count (instances in the stories)}, count. Read-only. Every document carries InDesign's default variables.

Parameter (1)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.

create_text_variableCreate or update a text variable

Create a text variable (Textvariable) or update the options of an existing one with the same name and type: type custom_text (text), running_header_paragraph (paragraph_style, use first|last, text_before, text_after, delete_end_punctuation), running_header_character (character_style, …), file_name (include_extension, include_path, text_before, text_after), output_date/creation_date/modification_date (date_format, text_before, text_after), last_page_number, chapter_number. remove true deletes the variable (and its instances in the text – warning). A running header from the headline style is the classic use on parent pages: create the variable, then insert_text_variable into a frame on the parent page.

Parameter (14)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
namestringPflicht
Name of the text variable, exact. (min. 1 chars)
typestring
Variable type; required unless remove. (Werte: "custom_text", "running_header_paragraph", "running_header_character", "file_name", "output_date", "creation_date", "modification_date", "last_page_number", "chapter_number")
textstring
custom_text: the text.
paragraph_stylestring
running_header_paragraph: paragraph style to pick the text from. (min. 1 chars)
character_stylestring
running_header_character: character style to pick the text from. (min. 1 chars)
usestring
Running headers: first or last occurrence on the page. Default first. (Werte: "first", "last")
text_beforestring
Text before the value.
text_afterstring
Text after the value.
delete_end_punctuationboolean
Running headers: drop end punctuation.
include_extensionboolean
file_name: include the extension.
include_pathboolean
file_name: include the folder path.
date_formatstring
Date variables: format string as in InDesign (e.g. dd.MM.yyyy).
removeboolean
Delete the variable named name.

insert_text_variableInsert a text variable

Insert an instance of a text variable at a text position: frame_id (a frame of the story, also on a parent page), name, index (default: end of the story). Returns instance_id, story_id, frame_id, index, result_text (what the variable shows there), story_length, overset. The instance counts as one character in the story.

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
namestringPflicht
Name of the text variable, exact. (min. 1 chars)
indexinteger
Character index in the story. Default: end. (≥ 0)

↑ Nach oben

Formate, Schriften, Farbfelder12 Werkzeuge

list_paragraph_stylesList paragraph and character stylesnur lesend

List the paragraph styles (Absatzformate) of the document, including those in style groups: styles[] {name, style_id, group ("" at top level, "Group/Subgroup" nested), based_on, font_family, font_style, point_size, leading_pt (null when automatic), leading_auto, fill_swatch, alignment, space_before_pt, space_after_pt, hyphenation, tracking, keep_options, hyphenation_options, justification_options, drop_cap {lines, characters, character_style}} and the character styles (Zeichenformate) as character_styles[] {name, style_id, group, based_on, font_family, font_style, point_size, fill_swatch, tracking – null for attributes the style does not set}. Internal styles whose name starts with "[" are excluded (internal_styles_excluded counts them). Read-only.

Parameter (1)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.

define_paragraph_styleDefine a paragraph style

Create a paragraph style (Absatzformat) with name and any of font_family, font_style (exact InDesign style name, e.g. "75 Bold"), size_pt, leading_pt (points or "auto"), alignment (left, center, right, justify = Blocksatz with the last line left), color_hex (creates an RGB swatch named after the hex value) or swatch_name (an existing swatch by exact name – the way to a CMYK or spot colour; not together with color_hex), space_before_pt, space_after_pt, tracking (Laufweite in 1/1000 em), hyphenation, and the option groups keep_options (Umbruchoptionen: keep_with_next, keep_first_lines, keep_last_lines, keep_lines_together, keep_all_lines_together, keep_with_previous, start_paragraph), hyphenation_options (Silbentrennungseinstellungen) and justification_options (Blocksatz-Abstände, composer). Indents in mm: left_indent_mm, first_line_indent_mm (negative for a hanging indent, never further left than the left indent), right_indent_mm, last_line_indent_mm. tab_stops[] {position_mm, alignment left|center|right|character, leader, align_on} replaces the whole tab list ([] clears it); language selects the dictionary by the name InDesign shows, its untranslated name or an ICU locale (de_DE, en_GB – the safest form). The answer reads them back under indents {left_indent_mm, first_line_indent_mm, right_indent_mm, last_line_indent_mm, tab_stops[], language {name, untranslated_name, icu_locale}}. drop_cap {lines (0 = off), characters, character_style} sets the drop cap (Initiale); an opening quotation mark counts as a character, so characters 2 drops it together with the first letter. based_on sets the parent style (Basierend auf), also from a group ("Group/Style" for an ambiguous name); group puts a new style into a style group (Formatgruppe), path "A/B" or ["A", "B"], creating missing groups. The answer adds based_on and group as read back, created_groups[] (paths of groups created by this call) and changes.created_group_ids. InDesign names a family with a format suffix such as "Source Sans 3 (OTF)" or "(TT)" when it knows the family in more than one format; pass the family with or without that suffix – the connector matches both and reads back the name InDesign uses. Strict keep options can produce overset or empty column ends – check overset and get_frame_lines afterwards. on_collision decides what happens when the name exists: error (default), update or version ("Name 2"). The font must be installed: InDesign rejects a font it does not have, even as family plus style (not_found with available_styles) – define such styles on the machine that has the font. Returns style_id, name (differs from the request with version), collision (none, updated, versioned), existed, applied[] and the definition read back (with keep_options, hyphenation_options and justification_options as InDesign holds them).

Parameter (26)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
namestringPflicht
Style name; must not start with "[". (min. 1 chars)
font_familystring
Font family, e.g. "Futura PT". (min. 1 chars)
font_stylestring
Exact style name, e.g. "Book" or "75 Bold" (see get_font_info_at_index). (min. 1 chars)
size_ptnumber
Point size (Schriftgrad). (> 0, ≤ 1296)
leading_pteine der Formen
Leading in points, or "auto".
number
(≥ 0)
string
alignmentstring
Alignment; justify = Blocksatz, last line left. (Werte: "left", "center", "right", "justify")
color_hexstring
Text colour as hex; an RGB swatch named after it is created if needed. Not together with swatch_name.
swatch_namestring
Text colour as an existing swatch by exact name (CMYK, spot, tint or gradient; see list_swatches). Not together with color_hex. (min. 1 chars)
space_before_ptnumber
Space before (Abstand davor) in points. (≥ 0)
space_after_ptnumber
Space after (Abstand danach) in points. (≥ 0)
trackingnumber
Tracking (Laufweite) in 1/1000 em; a character style with its own tracking replaces this value where it is applied. (≥ -1000, ≤ 10000)
hyphenationboolean
Hyphenation on or off (Silbentrennung).
keep_optionsobject
Keep options (Umbruchoptionen / Absatzkontrolle). Whatever is omitted stays.
keep_with_nextinteger
Lines of the next paragraph that stay with this one (0–5). A heading (Zwischentitel) usually keeps 2. (≥ 0, ≤ 5)
keep_first_linesinteger
Lines kept together at the start of the paragraph (Schusterjungen). InDesign default 2. Only effective with keep_lines_together true. (≥ 1, ≤ 100)
keep_last_linesinteger
Lines kept together at the end of the paragraph (Hurenkinder). InDesign default 2. Only effective with keep_lines_together true. (≥ 1, ≤ 100)
keep_lines_togetherboolean
Switch on the first/last line control.
keep_all_lines_togetherboolean
Keep the whole paragraph in one column.
keep_with_previousboolean
Keep with the previous paragraph (InDesign CC and later; invalid_state on older versions).
start_paragraphstring
Where the paragraph starts (Absatz beginnen). (Werte: "anywhere", "next_column", "next_frame", "next_page", "next_odd_page", "next_even_page")
hyphenation_optionsobject
Hyphenation settings (Silbentrennungseinstellungen). The plain hyphenation switch stays a separate parameter. Whatever is omitted stays.
words_longer_thaninteger
Minimum word length in characters. InDesign default 5. (≥ 3, ≤ 25)
after_firstinteger
Characters before the first hyphen. InDesign default 2. (≥ 1, ≤ 15)
before_lastinteger
Characters after the last hyphen. InDesign default 2. (≥ 1, ≤ 15)
ladder_limitinteger
Consecutive hyphenated lines allowed; 0 = unlimited. InDesign default 3 – the same limit Forssman/de Jong (Detailtypografie) give. (≥ 0, ≤ 25)
zone_mmnumber
Hyphenation zone in mm (ragged text only). (≥ 0, ≤ 300)
capitalized_wordsboolean
Hyphenate capitalized words (proper names).
last_wordboolean
Hyphenate the last word of a paragraph.
across_columnsboolean
Hyphenate across columns, frames and pages.
weightinteger
Better spacing (0) … fewer hyphens (10), the slider of the hyphenation dialog. InDesign default 5. (≥ 0, ≤ 10)
justification_optionsobject
Justification settings (Abstandseinstellungen für Blocksatz). Whatever is omitted stays. The paragraph composer recomposes the whole paragraph on every change – check get_frame_lines afterwards.
word_spacingobject
Word spacing (Wortabstand) in percent {min, desired, max}, each 0 to 1000; omitted members keep their value; min <= desired <= max must hold after merging. InDesign default 80/100/133.
minnumber
(≥ 0, ≤ 1000)
desirednumber
(≥ 0, ≤ 1000)
maxnumber
(≥ 0, ≤ 1000)
letter_spacingobject
Letter spacing (Zeichenabstand) in percent {min, desired, max}, each -100 to 500; omitted members keep their value; min <= desired <= max must hold after merging. InDesign default 0/0/0.
minnumber
(≥ -100, ≤ 500)
desirednumber
(≥ -100, ≤ 500)
maxnumber
(≥ -100, ≤ 500)
glyph_scalingobject
Glyph scaling (Glyphenskalierung) in percent {min, desired, max}, each 50 to 200; omitted members keep their value; min <= desired <= max must hold after merging. InDesign default 100/100/100.
minnumber
(≥ 50, ≤ 200)
desirednumber
(≥ 50, ≤ 200)
maxnumber
(≥ 50, ≤ 200)
single_word_justificationstring
Alignment of a line holding a single word (Einzelwortausrichtung). (Werte: "full", "left", "center", "right")
composerstring
Adobe Paragraph Composer or Single-line Composer (Absatzsetzer / Einzeilensetzer); set language-independently, read back as paragraph, single_line or other with composer_name. (Werte: "paragraph", "single_line")
auto_leading_percentnumber
Auto leading in percent of the point size. InDesign default 120. (≥ 0, ≤ 500)
left_indent_mmnumber
Left indent (Einzug links) in mm. (≥ 0, ≤ 3048)
first_line_indent_mmnumber
First-line indent (Einzug erste Zeile) in mm; negative = hanging indent, at most -left_indent_mm. (≥ -3048, ≤ 3048)
right_indent_mmnumber
Right indent (Einzug rechts) in mm. (≥ 0, ≤ 3048)
last_line_indent_mmnumber
Last-line right indent (Einzug letzte Zeile) in mm. (≥ -3048, ≤ 3048)
tab_stopsarray of object
Complete list of tab stops (Tabulatoren); replaces every existing tab stop, [] removes all. Text reaches a tab stop through {{tab}} in set_text.
Einträge
position_mmnumberPflicht
Tab position in mm from the left edge of the column. (≥ 0, ≤ 3048)
alignmentstring
Tab alignment. Default left. (Werte: "left", "center", "right", "character")
leaderstring
Leader (Füllzeichen), e.g. "." for a table of contents. Default none.
align_onstring
Character to align on (only with alignment character), e.g. ",". (min. 1 chars)
languagestring
Language of the text (Sprache, for hyphenation and spelling): the name InDesign shows (e.g. "Deutsch: 2006 Rechtschreibreform", "Englisch: Großbritannien"), its untranslated name as InDesign holds it ("English: UK", but "de_DE_2006" for German) or an ICU locale ("de_DE", "en_GB" – the safest form; where InDesign holds several dictionaries for one locale, the 2006 spelling reform is chosen and a warning names it); unknown names fail with not_found and the available list. (min. 1 chars)
drop_capobject
Drop cap (Initiale) {lines, characters, character_style}; the answer reads it back as drop_cap {lines, characters, character_style (null without style)}.
linesinteger
Height of the drop cap in lines (Initiale: Zeilen); 0 turns the drop cap off. (≥ 0, ≤ 25)
charactersinteger
Number of characters in the drop cap (Initiale: Zeichen); with lines above 0 and no characters given at least 1. An opening quotation mark at the start is a character of its own – pass 2 to drop the mark and the first letter together. (≥ 0, ≤ 150)
character_stylestring
Existing character style for the drop cap (see list_paragraph_styles, character_styles[]); "" or "[None]" removes it.
based_onstring
Parent style (Basierend auf) by exact name, also from a style group; "Group/Style" picks one of several styles with the same name. "[Basic Paragraph]" and "[No Paragraph Style]" name the built-in ones in every language. An unknown name fails with not_found (details.code "based_on_not_found"); a circular chain with invalid_state ("based_on_cycle"). Attributes passed in the same call stay set on this style; everything else follows the parent. (min. 1 chars)
groupeine der Formen
Style group (Formatgruppe) for a new style; missing groups along the path are created. With group, an existing style counts only in that group (another style of the same name elsewhere is no collision, a warning names it), and update never moves a style between groups. A group and a style of the same name cannot share a level in InDesign: invalid_state with details.code "style_group_name".
string
Group path, levels separated by "/", e.g. "Headings/Main"; "" means the top level.
array of string
Group path as a list of group names, top level first – for group names that contain "/"; [] means the top level.
on_collisionstring
What to do when the name exists: error (default) fails, update changes the existing one, version creates "Name 2". (Werte: "error", "update", "version")

define_character_styleDefine a character style

Create a character style (Zeichenformat) with name and at least one of font_family, font_style (exact InDesign style name), point_size, fill_hex (creates an RGB swatch) or swatch_name (an existing swatch by exact name; not together with fill_hex), and tracking (Laufweite in 1/1000 em, -1000 to 10000; where the style is applied it replaces the tracking of the paragraph style – see apply_character_style_to_range). on_collision: error (default), update or version. Returns style_id, name, collision (none, updated, versioned), existed, applied[] and the definition read back (null for attributes the style leaves untouched); based_on alone is enough for a new style. based_on sets the parent style (Basierend auf), also from a group ("Group/Style" for an ambiguous name); group puts a new style into a style group (Formatgruppe), path "A/B" or ["A", "B"], creating missing groups. The answer adds based_on and group as read back, created_groups[] (paths of groups created by this call) and changes.created_group_ids. InDesign names a family with a format suffix such as "Source Sans 3 (OTF)" or "(TT)" when it knows the family in more than one format; pass the family with or without that suffix – the connector matches both and reads back the name InDesign uses.

Parameter (11)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
namestringPflicht
Style name; must not start with "[". (min. 1 chars)
font_familystring
Font family. (min. 1 chars)
font_stylestring
Exact style name, e.g. "75 Bold". (min. 1 chars)
point_sizenumber
Point size. (> 0, ≤ 1296)
fill_hexstring
Text colour as hex; an RGB swatch is created if needed. Not together with swatch_name.
swatch_namestring
Text colour as an existing swatch by exact name (CMYK, spot, tint or gradient; see list_swatches). Not together with fill_hex. (min. 1 chars)
trackingnumber
Tracking (Laufweite) in 1/1000 em. (≥ -1000, ≤ 10000)
based_onstring
Parent style (Basierend auf) by exact name, also from a style group; "Group/Style" picks one of several styles with the same name. "[None]" names the built-in root in every language. An unknown name fails with not_found (details.code "based_on_not_found"); a circular chain with invalid_state ("based_on_cycle"). Attributes passed in the same call stay set on this style; everything else follows the parent. (min. 1 chars)
groupeine der Formen
Style group (Formatgruppe) for a new style; missing groups along the path are created. With group, an existing style counts only in that group (another style of the same name elsewhere is no collision, a warning names it), and update never moves a style between groups. A group and a style of the same name cannot share a level in InDesign: invalid_state with details.code "style_group_name".
string
Group path, levels separated by "/", e.g. "Headings/Main"; "" means the top level.
array of string
Group path as a list of group names, top level first – for group names that contain "/"; [] means the top level.
on_collisionstring
What to do when the name exists: error (default) fails, update changes the existing one, version creates "Name 2". (Werte: "error", "update", "version")

apply_paragraph_style_to_rangeApply a paragraph style to a range

Apply a paragraph style (Absatzformat) to every paragraph touched by the character range start_index (inclusive) to end_index (exclusive) of the story of a text frame. Clears paragraph overrides, character styles and local character formatting of those paragraphs; never changes text. Caveat: when start_index is the paragraph mark of the preceding paragraph, that paragraph is formatted too (warning) – start one character later. Recommended order: base style over the whole story first, then the special styles. One call is enough (it runs the clean-up twice internally). Returns frame_id, story_id, style_applied, affected_paragraphs, first_paragraph_start_index and last_paragraph_end_index. Stories managed by an editorial workflow (InCopy) that are not checked out here (lock_state checked_in_story, locked_story, missing_lock_state or mixed_lock_state) are refused before anything is written: invalid_state with details.code "story_locked" (details: frame_id, story_id, lock_state, managed_file) – check the story out in the editorial system or in InCopy first.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
style_namestringPflicht
Paragraph style name (see list_paragraph_styles). (min. 1 chars)
start_indexintegerPflicht
First character of the range (inclusive), a story index from get_frame_text. (≥ 0)
end_indexintegerPflicht
End of the range (exclusive); must be greater than start_index. (≥ 0)

apply_character_style_to_rangeApply a character style to a range

Apply an existing character style (Zeichenformat) to the characters start_index (inclusive) to end_index (exclusive) of the story of a text frame. The style must exist (define_character_style; list_paragraph_styles lists them). Never changes text. Returns frame_id, characters_affected, style_applied and tracking {effective, character_style, paragraph_style}: a character style that carries its own tracking replaces the tracking of the paragraph style for that range (it is not added) – a paragraph style with tracking 100 plus a character style with tracking 260 gives 260, visibly wider. effective is what InDesign uses at the first character of the range; character_style is null when the style leaves tracking alone. Stories managed by an editorial workflow (InCopy) that are not checked out here (lock_state checked_in_story, locked_story, missing_lock_state or mixed_lock_state) are refused before anything is written: invalid_state with details.code "story_locked" (details: frame_id, story_id, lock_state, managed_file) – check the story out in the editorial system or in InCopy first.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
character_style_namestringPflicht
Existing character style name. (min. 1 chars)
start_indexintegerPflicht
First character of the range (inclusive), a story index from get_frame_text. (≥ 0)
end_indexintegerPflicht
End of the range (exclusive); must be greater than start_index. (≥ 0)

apply_character_format_to_rangeFormat a range locally

Local character formatting without a style for the characters start_index (inclusive) to end_index (exclusive) of the story of a text frame: font_style (exact InDesign style name – fetch it with get_font_info_at_index first, "75 Bold" rather than "Bold"; optional font_family to switch the family), swatch_name (an existing swatch, exact name; built-ins are "Black", "Paper", "None"), superscript (true/false), tracking (Laufweite in 1/1000 em, -1000 to 10000; the server configuration can set a tolerance beyond which a warning is given), point_size (0–1296, the only way to a size without a paragraph style). At least one attribute. Never changes text. Returns applied[], point_size_applied, font_family, font_style and fill_color read back at the first character for a cross-check, plus characters_affected. Stories managed by an editorial workflow (InCopy) that are not checked out here (lock_state checked_in_story, locked_story, missing_lock_state or mixed_lock_state) are refused before anything is written: invalid_state with details.code "story_locked" (details: frame_id, story_id, lock_state, managed_file) – check the story out in the editorial system or in InCopy first.

Parameter (10)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
start_indexintegerPflicht
First character of the range (inclusive), a story index from get_frame_text. (≥ 0)
end_indexintegerPflicht
End of the range (exclusive); must be greater than start_index. (≥ 0)
font_familystring
Font family to switch to (optional; needs the font to be installed unless font_style is given too). (min. 1 chars)
font_stylestring
Exact style name within the family, e.g. "75 Bold". (min. 1 chars)
swatch_namestring
Existing swatch name for the text colour. (min. 1 chars)
superscriptboolean
true sets superscript, false resets to normal position.
trackingnumber
Tracking in 1/1000 em. (≥ -1000, ≤ 10000)
point_sizenumber
Point size. (> 0, ≤ 1296)

set_paragraph_optionsSet paragraph options (alignment, hyphenation, keep, justification)

Set paragraph options of a text frame: alignment (left, center, right, justify_left, justify_center, justify_right, justify_full), hyphenation (true/false – usually false for headlines), no_break (true/false, keeps the text of the paragraphs on one line), and the option groups keep_options (Umbruchoptionen: keep_with_next, keep_first_lines, keep_last_lines, keep_lines_together, keep_all_lines_together, keep_with_previous, start_paragraph), hyphenation_options (Silbentrennungseinstellungen: words_longer_than, after_first, before_last, ladder_limit, zone_mm, capitalized_words, last_word, across_columns, weight) and justification_options (word_spacing, letter_spacing, glyph_scaling, single_word_justification, composer, auto_leading_percent). Indents in mm: left_indent_mm, first_line_indent_mm (negative for a hanging indent, never further left than the left indent), right_indent_mm, last_line_indent_mm. tab_stops[] {position_mm, alignment left|center|right|character, leader, align_on} replaces the whole tab list ([] clears it); language selects the dictionary by the name InDesign shows, its untranslated name or an ICU locale (de_DE, en_GB – the safest form). The answer reads them back under indents {left_indent_mm, first_line_indent_mm, right_indent_mm, last_line_indent_mm, tab_stops[], language {name, untranslated_name, icu_locale}}. drop_cap {lines (0 = off), characters, character_style} sets the drop cap (Initiale); an opening quotation mark counts as a character, so characters 2 drops it together with the first letter. Without start_index/end_index every paragraph of the frame is changed; with them every paragraph the range touches. Returns paragraphs_changed, alignment, hyphenation, no_break, keep_options, hyphenation_options, justification_options, indents, drop_cap of the first paragraph read back after the change, and overset of the story – strict keep options can push text into overset or leave empty column ends; check get_frame_lines.

Parameter (17)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
alignmentstring
Paragraph alignment. (Werte: "left", "center", "right", "justify_left", "justify_center", "justify_right", "justify_full")
hyphenationboolean
Hyphenation on or off.
no_breakboolean
No-break for the paragraph text.
keep_optionsobject
Keep options (Umbruchoptionen / Absatzkontrolle). Whatever is omitted stays.
keep_with_nextinteger
Lines of the next paragraph that stay with this one (0–5). A heading (Zwischentitel) usually keeps 2. (≥ 0, ≤ 5)
keep_first_linesinteger
Lines kept together at the start of the paragraph (Schusterjungen). InDesign default 2. Only effective with keep_lines_together true. (≥ 1, ≤ 100)
keep_last_linesinteger
Lines kept together at the end of the paragraph (Hurenkinder). InDesign default 2. Only effective with keep_lines_together true. (≥ 1, ≤ 100)
keep_lines_togetherboolean
Switch on the first/last line control.
keep_all_lines_togetherboolean
Keep the whole paragraph in one column.
keep_with_previousboolean
Keep with the previous paragraph (InDesign CC and later; invalid_state on older versions).
start_paragraphstring
Where the paragraph starts (Absatz beginnen). (Werte: "anywhere", "next_column", "next_frame", "next_page", "next_odd_page", "next_even_page")
hyphenation_optionsobject
Hyphenation settings (Silbentrennungseinstellungen). The plain hyphenation switch stays a separate parameter. Whatever is omitted stays.
words_longer_thaninteger
Minimum word length in characters. InDesign default 5. (≥ 3, ≤ 25)
after_firstinteger
Characters before the first hyphen. InDesign default 2. (≥ 1, ≤ 15)
before_lastinteger
Characters after the last hyphen. InDesign default 2. (≥ 1, ≤ 15)
ladder_limitinteger
Consecutive hyphenated lines allowed; 0 = unlimited. InDesign default 3 – the same limit Forssman/de Jong (Detailtypografie) give. (≥ 0, ≤ 25)
zone_mmnumber
Hyphenation zone in mm (ragged text only). (≥ 0, ≤ 300)
capitalized_wordsboolean
Hyphenate capitalized words (proper names).
last_wordboolean
Hyphenate the last word of a paragraph.
across_columnsboolean
Hyphenate across columns, frames and pages.
weightinteger
Better spacing (0) … fewer hyphens (10), the slider of the hyphenation dialog. InDesign default 5. (≥ 0, ≤ 10)
justification_optionsobject
Justification settings (Abstandseinstellungen für Blocksatz). Whatever is omitted stays. The paragraph composer recomposes the whole paragraph on every change – check get_frame_lines afterwards.
word_spacingobject
Word spacing (Wortabstand) in percent {min, desired, max}, each 0 to 1000; omitted members keep their value; min <= desired <= max must hold after merging. InDesign default 80/100/133.
minnumber
(≥ 0, ≤ 1000)
desirednumber
(≥ 0, ≤ 1000)
maxnumber
(≥ 0, ≤ 1000)
letter_spacingobject
Letter spacing (Zeichenabstand) in percent {min, desired, max}, each -100 to 500; omitted members keep their value; min <= desired <= max must hold after merging. InDesign default 0/0/0.
minnumber
(≥ -100, ≤ 500)
desirednumber
(≥ -100, ≤ 500)
maxnumber
(≥ -100, ≤ 500)
glyph_scalingobject
Glyph scaling (Glyphenskalierung) in percent {min, desired, max}, each 50 to 200; omitted members keep their value; min <= desired <= max must hold after merging. InDesign default 100/100/100.
minnumber
(≥ 50, ≤ 200)
desirednumber
(≥ 50, ≤ 200)
maxnumber
(≥ 50, ≤ 200)
single_word_justificationstring
Alignment of a line holding a single word (Einzelwortausrichtung). (Werte: "full", "left", "center", "right")
composerstring
Adobe Paragraph Composer or Single-line Composer (Absatzsetzer / Einzeilensetzer); set language-independently, read back as paragraph, single_line or other with composer_name. (Werte: "paragraph", "single_line")
auto_leading_percentnumber
Auto leading in percent of the point size. InDesign default 120. (≥ 0, ≤ 500)
left_indent_mmnumber
Left indent (Einzug links) in mm. (≥ 0, ≤ 3048)
first_line_indent_mmnumber
First-line indent (Einzug erste Zeile) in mm; negative = hanging indent, at most -left_indent_mm. (≥ -3048, ≤ 3048)
right_indent_mmnumber
Right indent (Einzug rechts) in mm. (≥ 0, ≤ 3048)
last_line_indent_mmnumber
Last-line right indent (Einzug letzte Zeile) in mm. (≥ -3048, ≤ 3048)
tab_stopsarray of object
Complete list of tab stops (Tabulatoren); replaces every existing tab stop, [] removes all. Text reaches a tab stop through {{tab}} in set_text.
Einträge
position_mmnumberPflicht
Tab position in mm from the left edge of the column. (≥ 0, ≤ 3048)
alignmentstring
Tab alignment. Default left. (Werte: "left", "center", "right", "character")
leaderstring
Leader (Füllzeichen), e.g. "." for a table of contents. Default none.
align_onstring
Character to align on (only with alignment character), e.g. ",". (min. 1 chars)
languagestring
Language of the text (Sprache, for hyphenation and spelling): the name InDesign shows (e.g. "Deutsch: 2006 Rechtschreibreform", "Englisch: Großbritannien"), its untranslated name as InDesign holds it ("English: UK", but "de_DE_2006" for German) or an ICU locale ("de_DE", "en_GB" – the safest form; where InDesign holds several dictionaries for one locale, the 2006 spelling reform is chosen and a warning names it); unknown names fail with not_found and the available list. (min. 1 chars)
drop_capobject
Drop cap (Initiale) {lines, characters, character_style}; the answer reads it back as drop_cap {lines, characters, character_style (null without style)}.
linesinteger
Height of the drop cap in lines (Initiale: Zeilen); 0 turns the drop cap off. (≥ 0, ≤ 25)
charactersinteger
Number of characters in the drop cap (Initiale: Zeichen); with lines above 0 and no characters given at least 1. An opening quotation mark at the start is a character of its own – pass 2 to drop the mark and the first letter together. (≥ 0, ≤ 150)
character_stylestring
Existing character style for the drop cap (see list_paragraph_styles, character_styles[]); "" or "[None]" removes it.
start_indexinteger
Optional range start (inclusive); without it the whole frame. (≥ 0)
end_indexinteger
Optional range end (exclusive). (≥ 0)

get_font_info_at_indexFont at a characternur lesend

Read the font at story index of a text frame: font_family, font_style (the exact style name to use in apply_character_format_to_range or define_paragraph_style), font_status (installed, substituted, not_available), available_styles[] of that family as installed, point_size, paragraph_style, character_style (localized name) and character_style_is_none. Read-only.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
indexintegerPflicht
Story index of the character (from get_frame_text). (≥ 0)

find_font_usageWhere is a font usednur lesend

Find where fonts are used in the document. fonts_used[] {family, style, status (installed, substituted, not_available), occurrences, characters} is always complete; occurrences[] {family, style, status, story_id, frame_ids[], page_id, page_name, is_master, start_index, end_index, snippet} is filtered by font_family and font_style (exact names, case-insensitive – "Futura" does not match "Futura PT"), only_missing (status other than installed) and include_master_pages (default true). Runs of the same family and style are merged; at most 500 occurrences are listed. Read-only.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
font_familystring
Family to filter occurrences by (case-insensitive; a format suffix such as "(OTF)" may be left out). (min. 1 chars)
font_stylestring
Style to filter occurrences by (exact, case-insensitive). (min. 1 chars)
only_missingboolean
List only occurrences of fonts that are not installed. Default false.
include_master_pagesboolean
Include stories on master pages. Default true.

debug_inspect_runInspect formatting at a characternur lesend

Diagnosis only: the effective formatting at story index (default 0) of a text frame – point_size, leading_pt, applied_paragraph_style, applied_character_style (InDesign's own name, localized – "[Ohne]" in German) with character_style_is_none (true when no character style is applied, the language-independent check), fill_color, applied_font, font_style, tracking, horizontal_scale, vertical_scale, style_overridden (local formatting on top of the style), frame_scale {horizontal, vertical} of the frame and paragraph {index (0-based in the story), start_index (story index of its first character), alignment, hyphenation, keep_options, hyphenation_options, justification_options} of the paragraph holding the character. With style_name also style {found, kind, matches, duplicated, nested, groups[], definition} – whether the name occurs more than once or inside a group. The only way to see local formatting hiding behind a correct style name. Read-only.

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
frame_idintegerPflicht
Object id from get_page_state.
indexinteger
Story index to inspect. Default 0. (≥ 0)
style_namestring
Paragraph or character style name to look up. (min. 1 chars)

list_swatchesList swatchesnur lesend

List the swatches (Farbfelder) of the document: swatches[] {swatch_id, name, kind (none, color, tint, gradient, mixed_ink), space (RGB, CMYK, LAB, MIXED_INK), model (process, spot, registration), values (RGB 0–255 or CMYK percent; ink percentages for mixed inks), tint_percent and base_color for tints, stop_count, type (linear, radial) and stops[] {index, swatch_name, location, midpoint} for gradients, built_in}. include_built_in false hides None, Black, Paper and Registration. Read-only. Use the exact names for swatch_name parameters (create_rectangle, set_frame_appearance, apply_character_format_to_range); hex parameters create RGB swatches, which print differently from the CMYK swatches of the document.

Parameter (2)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
include_built_inboolean
Also list None, Black, Paper and Registration. Default true.

create_swatchCreate a colour swatch

Create a process colour swatch (Farbfeld) with the exact name (1–60 characters) from hex (RGB, "#1A2B3C") or cmyk ({c, m, y, k} in percent – for print production); exactly one of the two. on_collision: error (default), update (rewrites the values of the existing colour) or version ("Name 2"). Returns name, swatch_id, collision (none, updated, versioned), existed, space (rgb or cmyk) and values.

Parameter (5)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
namestringPflicht
Exact swatch name; must not start with "[". (min. 1 chars)
hexstring
RGB colour as hex.
cmykobject
CMYK values in percent.
cnumberPflicht
(≥ 0, ≤ 100)
mnumberPflicht
(≥ 0, ≤ 100)
ynumberPflicht
(≥ 0, ≤ 100)
knumberPflicht
(≥ 0, ≤ 100)
on_collisionstring
What to do when the name exists: error (default) fails, update changes the existing one, version creates "Name 2". (Werte: "error", "update", "version")

↑ Nach oben

Buchsatz: Inhaltsverzeichnis, Register, Print-on-Demand, E-Book10 Werkzeuge

list_toc_stylesList table of contents stylesnur lesend

List the table of contents styles (Inhaltsverzeichnisformate) of the document: toc_styles[] {name, title, title_style, include_hidden_layers, run_in, include_book_documents, create_bookmarks, entries[] {paragraph_style (the style whose paragraphs become entries), level, entry_style (paragraph style of the entry in the TOC), page_number_position after|before|none, separator, page_number_style, separator_style, sort_alphabetical}}, count, and toc_stories[] {story_id, frame_ids, page_ids, page_names, paragraph_count, length, overset} – the tables of contents already in the document. Every document carries InDesign's default style (localized name, e.g. "[Default]"). A style name shown in square brackets such as "[Same style]" means InDesign's default. Read-only.

Parameter (1)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.

define_toc_styleCreate or change a table of contents style

Create a table of contents style (Inhaltsverzeichnisformat) or change the one with the same name: title (heading of the TOC, "" for none), title_style, entries[] in TOC order – each {paragraph_style (paragraphs with this style become entries), level (1 = top, default 1), entry_style (paragraph style for the entry), page_number_position after (default) | before | none, separator (between entry text and page number, e.g. "^t" for a tab), page_number_style, separator_style, sort_alphabetical}. entries replaces all entries of an existing style; a new style needs entries. include_hidden_layers, run_in (lowest level on one line), create_bookmarks (PDF bookmarks). Every named style must exist (not_found; create them with define_paragraph_style / define_character_style). remove true deletes the style. Returns created, updated, removed and toc_style (as list_toc_styles). Then call create_toc.

Parameter (9)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
namestringPflicht
Name of the TOC style, exact. (min. 1 chars)
titlestring
Title above the TOC; "" for none.
title_stylestring
Paragraph style for the title. (min. 1 chars)
entriesarray of object
Entries in TOC order; replaces all entries of an existing style. (min. 1 Einträge, max. 50 Einträge)
Einträge
paragraph_stylestringPflicht
Paragraph style whose paragraphs become entries. (min. 1 chars)
levelinteger
Level in the TOC, 1 = top. Default 1. (≥ 1, ≤ 9)
entry_stylestring
Paragraph style of the entry in the TOC. (min. 1 chars)
page_number_positionstring
Page number after the entry (default), before it or none. (Werte: "after", "before", "none")
separatorstring
Characters between entry text and page number, InDesign metacharacters allowed (e.g. "^t" tab).
page_number_stylestring
Character style for the page number. (min. 1 chars)
separator_stylestring
Character style for the separator. (min. 1 chars)
sort_alphabeticalboolean
Sort the entries of this level alphabetically.
include_hidden_layersboolean
Include text on hidden layers.
run_inboolean
Run the lowest level into one paragraph.
create_bookmarksboolean
Create PDF bookmarks from the entries.
removeboolean
Delete the TOC style named name.

create_tocCreate or update a table of contents

Generate a table of contents (Inhaltsverzeichnis) from a TOC style (list_toc_styles, define_toc_style) into a new text frame on page_id – at position_mm (InDesign sizes the frame up to the margins) or exactly at bounds_mm. replace true updates the existing table of contents in its frame (after text or page changes) – page numbers are not live, so run it again after every change. include_overset also lists headings in overset text. Returns story_id, frame_id, frame_ids, page_id, page_name, page_ids, page_names, bounds_mm (of the first frame, relative to its page), paragraph_count, length, overset, replaced and lines[] {text, paragraph_style} (first 500 paragraphs; lines_truncated). Plus toc_style and entry_count (non-empty paragraphs except the title; null when lines_truncated). Warnings: no entries (no paragraph uses the styles), overset (enlarge or thread the frame), a second table of contents. The view of the layout window stays (keep_view, default true). Text placed with place_text_file brings no table of contents from Word – build it here.

Parameter (9)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
toc_stylestringPflicht
Name of the TOC style. (min. 1 chars)
page_idinteger
Document page that gets the new frame (from list_pages). Required unless replace.
position_mmobject
Top left corner of the new frame on page_id; InDesign chooses width and height. Default: top left margin corner.
xnumberPflicht
Left edge in mm from the page.
ynumberPflicht
Top edge in mm from the page.
bounds_mmobject
Exact position and size in mm on page_id, set after InDesign created the frame (overrides position_mm).
xnumberPflicht
Left edge in mm; negative allowed for bleed (Anschnitt).
ynumberPflicht
Top edge in mm; negative allowed.
widthnumberPflicht
Width in mm, greater than 0. (> 0)
heightnumberPflicht
Height in mm, greater than 0. (> 0)
layer_namestring
Layer (Ebene) for the new frame, exact name of an existing layer. Default: the active layer. (min. 1 chars)
replaceboolean
Update the existing one in its frame instead of creating another (default false). Without an existing one a new one is created (warning).
include_oversetboolean
Also read text in overset (Übersatz). Default false.
keep_viewboolean
Keep the layout window on its page (default true).

add_index_entryAdd an index entry

Add an index entry (Registereintrag): topic as a path of 1 to 4 levels (missing levels are created), sort_as (sort key per level). Where it points: a text range of a story (frame_id with start_index and optional end_index, indices as get_frame_text) or find_text – every occurrence in the document or, with frame_id, in that story (case_sensitive, whole_word, max_matches default 100; text of tables of contents and indexes is skipped). page_reference_type current_page (default), to_next_style_change, to_next_use_of_style (limit_paragraph_style), to_end_of_story, to_end_of_section, to_end_of_document, for_next_paragraphs or for_next_pages (limit_count), suppress_page_numbers; page_number_style overrides the character style of the page number. cross_reference {type see (default) | see_also | see_or_see_also | see_herein | see_also_herein | custom | custom_before | custom_after, topic (path, created if missing), custom_text} adds a "see" reference instead of or besides the page reference. A page reference inserts an invisible marker character before its source, so story indices behind it shift by one. Stories that are locked by an editorial workflow (lock_state) are refused (story_locked) or, with find_text, skipped (skipped_locked). Returns topic, index_created, created_topics[] (paths), page_references[] {page_reference_id, type, page_id, page_name, frame_id, story_id, index, in_overset}, page_reference_count, matches_found, skipped_locked, cross_reference. Then generate_index.

Parameter (15)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
topicarray of stringPflicht
Topic as a path of 1 to 4 levels, top level first, e.g. ["Fruit", "Apples"]. (min. 1 Einträge, max. 4 Einträge)
sort_asarray of string
Sort key per level ("" keeps the topic name). (max. 4 Einträge)
frame_idinteger
Text frame of the story: with start_index the range, with find_text limits the search to this story.
start_indexinteger
First character of the range in the story. (≥ 0)
end_indexinteger
End of the range (exclusive). Default start_index (a text position). (≥ 0)
find_textstring
Mark every occurrence of this text. (min. 1 chars)
case_sensitiveboolean
find_text: match case. Default false.
whole_wordboolean
find_text: whole words only. Default false.
max_matchesinteger
find_text: at most this many page references (default 100). (≥ 1, ≤ 1000)
page_reference_typestring
Page range of the reference. Default current_page. (Werte: "current_page", "to_next_style_change", "to_next_use_of_style", "to_end_of_story", "to_end_of_document", "to_end_of_section", "for_next_paragraphs", "for_next_pages", "suppress_page_numbers")
limit_paragraph_stylestring
to_next_use_of_style: the paragraph style that ends the range (default: the style of the entry paragraph). (min. 1 chars)
limit_countinteger
for_next_paragraphs / for_next_pages: number of paragraphs or pages. (≥ 1)
page_number_stylestring
Character style for this page number. (min. 1 chars)
cross_referenceobject
"See" reference from topic to another topic.
typestring
Default see. (Werte: "see", "see_also", "see_or_see_also", "see_herein", "see_also_herein", "custom", "custom_before", "custom_after")
topicarray of stringPflicht
Topic as a path of 1 to 4 levels, top level first, e.g. ["Fruit", "Apples"]. (min. 1 Einträge, max. 4 Einträge)
custom_textstring
Text for the custom types. (min. 1 chars)

list_indexList index topicsnur lesend

List the index (Register) of the document: index_exists, topics[] in tree order {path, level, name, sort_as, page_reference_count, cross_reference_count, page_references[] {page_reference_id, type, page_id, page_name, frame_id, story_id, index, in_overset}, cross_references[] {cross_reference_id, type, topic (path), custom_text}}, topic_count, page_reference_count, cross_reference_count and index_stories[] {story_id, frame_ids, page_ids, page_names, paragraph_count, length, overset} – generated indexes in the document. topic_contains filters by any level (case-insensitive; sub-topics of a match are only listed if they match too); include_references false leaves out the reference lists. Read-only.

Parameter (3)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
topic_containsstring
Only topics whose path contains this text. (min. 1 chars)
include_referencesboolean
List page and cross references per topic (default true).

generate_indexGenerate or update the index

Generate the index (Register) from the entries of add_index_entry into a new text frame on page_id – at position_mm or exactly at bounds_mm; autoflow true lets InDesign add frames and pages until it fits (pages_added). replace true updates the existing index in its frame. Options (InDesign keeps them in the document for the next run): title ("" for none), title_style, format nested (default) | run_in, include_section_headings (letters A–Z), include_empty_sections, include_hidden_layers, level_styles[] (paragraph styles for levels 1–4), section_heading_style, page_number_style, cross_reference_style, cross_reference_topic_style, separators {following_topic, between_entries, page_range, between_page_numbers, before_cross_reference, entry_end} (metacharacters allowed, e.g. "^=" en dash). Without level styles InDesign creates its own index paragraph styles (localized names). Returns story_id, frame_id, frame_ids, page_id, page_name, page_ids, page_names, bounds_mm (of the first frame, relative to its page), paragraph_count, length, overset, replaced and lines[] {text, paragraph_style} (first 500 paragraphs; lines_truncated). Plus pages_added. Text placed with place_text_file brings no index from Word – build it with add_index_entry.

Parameter (20)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
page_idinteger
Document page that gets the new frame (from list_pages). Required unless replace.
position_mmobject
Top left corner of the new frame on page_id; InDesign chooses width and height. Default: top left margin corner.
xnumberPflicht
Left edge in mm from the page.
ynumberPflicht
Top edge in mm from the page.
bounds_mmobject
Exact position and size in mm on page_id, set after InDesign created the frame (overrides position_mm).
xnumberPflicht
Left edge in mm; negative allowed for bleed (Anschnitt).
ynumberPflicht
Top edge in mm; negative allowed.
widthnumberPflicht
Width in mm, greater than 0. (> 0)
heightnumberPflicht
Height in mm, greater than 0. (> 0)
layer_namestring
Layer (Ebene) for the new frame, exact name of an existing layer. Default: the active layer. (min. 1 chars)
replaceboolean
Update the existing one in its frame instead of creating another (default false). Without an existing one a new one is created (warning).
include_oversetboolean
Also read text in overset (Übersatz). Default false.
autoflowboolean
Add frames and pages until the index fits (default false).
titlestring
Index title; "" for none.
title_stylestring
Paragraph style for the title. (min. 1 chars)
formatstring
Sub-topics on own lines (nested) or run in. (Werte: "nested", "run_in")
include_section_headingsboolean
Letter headings A–Z.
include_empty_sectionsboolean
Also letters without topics.
include_hidden_layersboolean
Include entries on hidden layers.
level_stylesarray of string
Paragraph styles for topic levels 1–4. (min. 1 Einträge, max. 4 Einträge)
section_heading_stylestring
Paragraph style for the letter headings. (min. 1 chars)
page_number_stylestring
Character style for page numbers. (min. 1 chars)
cross_reference_stylestring
Character style for "see" words. (min. 1 chars)
cross_reference_topic_stylestring
Character style for referenced topics. (min. 1 chars)
separatorsobject
Separators of the generated index.
following_topicstring
After each topic.
between_entriesstring
Between entries (run_in).
page_rangestring
In page ranges.
between_page_numbersstring
Between page numbers.
before_cross_referencestring
Before a cross reference.
entry_endstring
At the end of each entry.

check_print_on_demandCheck a book for print-on-demandnur lesend

Check the interior of a book (Innenteil) against the limits of a print-on-demand service before upload. Read-only. Each limit comes from the call or, when omitted, from the server configuration (print_on_demand); a check without a limit is reported as skipped – take the values from the printer's current specification. Checks[] {check, status pass|fail|skipped, required, actual, findings[]}: page_count (min_page_count, max_page_count, page_count_multiple); inside_margin (the inside margin, Bundsteg, of every page against the tier for the page count: inside_margin_tiers [{max_pages, min_mm}], the first tier whose max_pages is not below the page count); outside_margins (outside, top and bottom margin of every page against min_outside_margin_mm); bleed (on facing pages the inside bleed must be 0 – InDesign keeps it as left/inside –, top, bottom and outside equal bleed_mm within bleed_tolerance_mm (default 0.1), and objects reaching beyond the trim need bleed at all); objects_in_margin (objects that do not bleed but come closer to the trim than the minimum margins); objects_across_spine (facing pages: objects reaching over the spine into the facing page – cut off there when the inside bleed is 0); min_font_size (every text run, also on parent pages and in overset text, against min_font_size_pt); image_resolution (effective ppi of placed pixel images against min_ppi; placed PDF/EPS are skipped); fonts (every document font installed and allowed for PDF embedding – whether the fonts are really embedded only the exported PDF shows). Returns passed (no check failed), failed_checks[], skipped_checks[], page_count, facing_pages, page_size_mm, checks[], findings_total and findings_truncated (max_findings, default 200, over all checks). Export for upload with export_pdf and use_document_bleed true.

Parameter (11)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
min_page_countinteger
Fewest pages allowed. (≥ 1)
max_page_countinteger
Most pages allowed. (≥ 1)
page_count_multipleinteger
The page count must be a multiple of this (e.g. 2 for an even count). (≥ 1)
inside_margin_tiersarray of object
Inside margin (Bundsteg) per page-count tier, one entry per tier in any order. (min. 1 Einträge)
Einträge
max_pagesintegerPflicht
Upper page count of this tier. (≥ 1)
min_mmnumberPflicht
Smallest inside margin (Bundsteg) in mm for this tier. (≥ 0)
min_outside_margin_mmnumber
Smallest outside, top and bottom margin in mm. (≥ 0)
bleed_mmnumber
Required bleed at top, bottom and outside in mm. (≥ 0)
bleed_tolerance_mmnumber
Allowed difference to bleed_mm in mm. Default 0.1. (≥ 0, ≤ 5)
min_font_size_ptnumber
Smallest font size in pt. (≥ 0)
min_ppinumber
Lowest effective resolution of pixel images. Default: the configured min_ppi. (≥ 1)
max_findingsinteger
Cap for findings over all checks. Default 200. (≥ 1, ≤ 1000)

create_book_coverCreate a book cover document

Create a new document for the one-piece cover of a paperback (Umschlag: back cover, spine, front cover side by side) from the page_count of the interior, its trim size (trim_width_mm, trim_height_mm, Endformat) and the paper thickness per page as the printer states it (spine_per_page_mm or spine_per_page_in; the inch value wins when both are set): spine width = page_count × thickness, page width = 2 × trim width + spine, height = trim height. bleed_mm becomes the document bleed on all four sides (export with export_pdf and use_document_bleed true; the PDF then measures page size plus twice the bleed). safety_margin_mm sets the margins (Satzspiegel guides) on all sides. Vertical guides mark both spine folds; spine_safety_mm adds two guides inside the spine for spine text. barcode_area {width_mm, height_mm, offset_x_mm (from the spine fold), offset_y_mm (from the bottom trim)} reserves the space for the barcode on the back cover as a non-printing empty frame named barcode_area. Every value can come from the call or the server configuration (print_on_demand); take them from the printer's current specification. The new document is unsaved (save_document with path). Returns document_id, name, page_id, page_count, spine_width_mm, spine_width_in, trim_size and size_with_bleed {width/height in mm, pt and in}, bleed_mm, safety_margin_mm, back_cover_mm, spine_mm, front_cover_mm {x, width}, guides[] {guide_id, role, position_mm}, barcode_frame_id and barcode_area_mm.

Parameter (9)
page_countintegerPflicht
Required. Number of interior pages. (≥ 1)
trim_width_mmnumberPflicht
Required. Trim width of the book in mm. (> 0)
trim_height_mmnumberPflicht
Required. Trim height of the book in mm. (> 0)
spine_per_page_mmnumber
Paper thickness per page in mm. Default: the configured value. (> 0)
spine_per_page_innumber
Paper thickness per page in inches (wins over spine_per_page_mm). (> 0)
bleed_mmnumber
Bleed on all sides in mm. Default: the configured value, otherwise 0 with a warning. (≥ 0)
safety_margin_mmnumber
Margin on all sides in mm. Default: the configured value, otherwise 0. (≥ 0)
spine_safety_mmnumber
Distance of the spine text guides from each fold in mm. Default: the configured value, otherwise none. (≥ 0)
barcode_areaobject
Space for the barcode on the back cover. Default: the configured area, otherwise none.
width_mmnumberPflicht
(≥ 0)
height_mmnumberPflicht
(≥ 0)
offset_x_mmnumberPflicht
Distance from the spine fold. (≥ 0)
offset_y_mmnumberPflicht
Distance from the bottom trim. (≥ 0)

export_epubExport as EPUB

Export the document as an e-book (EPUB) to path (a .epub file; an existing file only with overwrite true, otherwise io_error with details.code file_exists). layout is required: reflowable (text reflows to the reader's screen and font size; for text-led books) or fixed_layout (every page keeps its layout; for picture books, comics, heavily designed pages). Options apply to this call only and are restored afterwards: epub_version 2 or 3 (reflowable; fixed layout is always EPUB 3), cover none | first_page | image (with cover_image_path, a JPEG, PNG or GIF that must exist), toc_style (an existing TOC style, see list_toc_styles and define_toc_style – it builds the EPUB navigation; without it the navigation lists only file names), image_resolution 72 | 96 | 150 | 300 ppi, image_format automatic | jpeg | png | gif, jpeg_quality low | medium | high | maximum; reflowable only: export_order layout | articles | xml, split_by_paragraph_style (start a new file at each paragraph of this style, e.g. chapter headings), embed_fonts; fixed layout only: page_range (printed page names like export_pdf), spread_control document | physical | synthetic | none, orientation portrait | landscape | auto (InDesign itself writes landscape even for upright pages, which locks reading apps to landscape; the server therefore sets the orientation in the finished file – by default from the page format – and returns orientation_set {value, previous, changed}). metadata {title, creator, publisher, description, subject, rights, date, identifier} goes into the package (an identifier such as urn:isbn:… is added next to InDesign's own unique id); the EPUB language comes from the document's default language (text defaults), not from a parameter. Returns path, bytes, overwritten, layout, settings_used (the values InDesign exported with), document_language, settings_changed_for_export and document_marked_modified – InDesign marks the document as modified whenever an export setting is set, although the settings are restored; close without saving if nothing else changed. warnings[] name missing title or creator, a missing default language, no TOC style, no cover, objects not anchored in the text flow (reflowable) and fonts that cannot be embedded. Check the document before with check_epub and the file after with check_epub path; for print use export_pdf, for page images export_page_image. Can take minutes on a long book.

Parameter (18)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
pathstringPflicht
Required. Target .epub path on the machine running InDesign. (min. 1 chars)
layoutstringPflicht
Required. reflowable or fixed_layout. (Werte: "reflowable", "fixed_layout")
overwriteboolean
Replace an existing file at path. Default false.
epub_versionstring
EPUB version for reflowable export. Default: as set in the document. (Werte: "2", "3")
coverstring
Cover inside the EPUB. Default: as set in the document. (Werte: "none", "first_page", "image")
cover_image_pathstring
Cover image file (JPEG, PNG or GIF) for cover image. (min. 1 chars)
toc_stylestring
Existing TOC style that builds the EPUB navigation. (min. 1 chars)
export_orderstring
Reflowable: content order – layout, Articles panel or XML structure. (Werte: "layout", "articles", "xml")
split_by_paragraph_stylestring
Reflowable: start a new content file at every paragraph of this paragraph style. (min. 1 chars)
embed_fontsboolean
Reflowable: embed the fonts.
page_rangestring
Fixed layout: pages to export by printed page name, e.g. "1-12". (min. 1 chars)
spread_controlstring
Fixed layout: spreads as in the document, physical, synthetic or none. (Werte: "document", "physical", "synthetic", "none")
orientationstring
Fixed layout: reading orientation written into the EPUB (rendition:orientation). Default: from the page format – portrait for upright pages, landscape for wide pages, auto for square pages. (Werte: "portrait", "landscape", "auto")
image_resolutionstring
Image resolution in ppi. (Werte: "72", "96", "150", "300")
image_formatstring
Image conversion. (Werte: "automatic", "jpeg", "png", "gif")
jpeg_qualitystring
JPEG quality. (Werte: "low", "medium", "high", "maximum")
metadataobject
Package metadata (Dublin Core).
titlestring
creatorstring
Author.
publisherstring
descriptionstring
subjectstring
rightsstring
datestring
Publication date, e.g. 2026-10-23.
identifierstring
E.g. urn:isbn:… – added as a second dc:identifier.

check_epubCheck a book for EPUBnur lesend

Check an e-book before and after export_epub. Read-only. Without path it checks the document in InDesign for the given layout (reflowable, default, or fixed_layout): document_language (an EPUB needs dc:language – error when the text defaults have no language), toc_style (error when the named toc_style does not exist; warning when no TOC style is set for the EPUB), metadata (warning without title or creator in the EPUB settings), and for reflowable unanchored_objects (graphics and groups on pages that are not anchored in the text flow – their place in the EPUB follows the export order; anchor_frame_in_text), parent_page_objects (content on parent pages, left out of a reflowable EPUB – fine for running heads and page numbers) and paragraph_styles (stories with basic paragraph styles), image_resolution against min_ppi (from the call or the server configuration epub.min_ppi; skipped without a limit) and fonts (not installed – an error for fixed layout, which needs embedded fonts). With path it checks the finished .epub file without InDesign: zip_structure (mimetype first and uncompressed), container (META-INF/container.xml and the package document), opf_metadata (version, dc:title, dc:language, dc:identifier matching unique-identifier; warning without dc:creator), manifest_files (every manifest file present, spine entries in the manifest), navigation (EPUB 3 nav with a toc, EPUB 2 NCX), references (src and href in the content files point to files in the archive) and cover (warning without a cover image). Returns passed (no error), checked document | file, checks_run[], errors, findings[] {check, severity error | warning, page_id, page_name, object_id or file, hint}, findings_total and findings_truncated (max_findings, default 200); with path also epub_version, layout, title, language, creators[], identifiers[], file_count, nav_document, nav_entries, ncx, cover_image, fonts[] and fonts_obfuscated. It does not replace EPUBCheck or the e-book shop's own preview tool.

Parameter (6)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
pathstring
An exported .epub file to check without InDesign. Without it the document is checked. (min. 1 chars)
layoutstring
Document check: the planned layout. Default reflowable. (Werte: "reflowable", "fixed_layout")
toc_stylestring
Document check: the TOC style planned for export_epub. (min. 1 chars)
min_ppinumber
Document check: lowest effective image resolution. Default: the configured epub.min_ppi, otherwise not checked. (≥ 1)
max_findingsinteger
Cap for findings. Default 200. (≥ 1, ≤ 1000)

↑ Nach oben

Prüfen2 Werkzeuge

preflight_documentRun InDesign® preflightnur lesend

Run InDesign's preflight (Preflight) with profile_name or, without it, the document's working profile (falls back to the first available profile when the working profile is invalid). Waits for the process, returns profile_used, summary ("None" when there are no errors), error_count and findings[] with category, description, page_name and item, capped by max_findings (1–500, default 100). With list_profiles_only true only profiles[] is returned. Read-only: the process is created, awaited and removed. Caveat: overset text (Übersatz) is not always reported with the right page – get_frame_text on the last frame of each story is the reliable check.

Parameter (4)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
profile_namestring
Preflight profile to use. Default: the document's working profile.
list_profiles_onlyboolean
Only list the available profiles, run nothing.
max_findingsinteger
Cap for findings[]. Default 100. (≥ 1, ≤ 500)

check_typographyCheck typography rules (read-only)nur lesend

Find violations of general typesetting rules and report them – never change anything. The rule catalogue is a data table in the package (rules/typography-rules.json): character rules run as InDesign GREP searches (double_space, space_before_punct, straight_quotes, apostrophe, hyphen_as_dash, dash_spacing, three_dots, number_unit_space, number_unit_missing_space, abbreviation_space, thousands_grouping, empty_paragraph, double_paragraph_break, tab_as_indent, trailing_space); line rules run on the composed lines of every text frame like get_frame_lines (widow – Hurenkind, error; orphan – Schusterjunge, warning; heading_at_column_end; single_word_last_line; hyphen_ladder with max_consecutive_hyphens, default 3; empty_line_at_column_start; column_first_baselines_differ, more than 0.1 mm). locale de (default), de-CH (guillemets) or en (curly quotes, closed em dash, no space before %). scope document (default), frame or story (both need frame_id). page_range limits the check to pages by printed page name like export_pdf ("6-8", "1, 3-5", "+3"): line rules read only frames on those pages, character findings elsewhere are left out (returned as page_range_used, "all" without it). Line rules read every line and take far longer than the character rules – on a long book check part of it per call with page_range; above 100 text frames in scope document without page_range a warning says so. rules[] limits to those ids, exclude_rules[] drops some; unknown ids are invalid_argument. Returns findings[] {rule_id, severity, category, message, story_id, frame_id, page_id, page_name, start_index, end_index (story indices for the *_to_range tools), snippet, suggestion (often a find_replace GREP pattern)}, counts per rule_id, rules_checked[], rules_failed[] (a GREP pattern InDesign rejected – warning, the rest runs), frames_checked, findings_dropped and truncated (max_findings caps only findings[]; every rule still runs and counts stays complete). Sources: Forssman/de Jong (Detailtypografie), Duden (Satz und Korrektur), DIN 5008, Bier (typokurz), Bringhurst (locale en). Not checked: spelling, grammar, content, text inside placed graphics; table cells are skipped in this version (warning tables_skipped). Read-only.

Parameter (13)
document_idinteger
Document to act on, from list_documents or open_document. Without it the frontmost document is used. A document opened with show_window false is never the active one and must always be addressed by id.
scopestring
document (default), frame (only the frame) or story (all frames of its story); frame and story need frame_id. (Werte: "document", "frame", "story")
frame_idinteger
Object id of a text frame for scope frame or story.
page_rangestring
Pages to check, by printed page name like export_pdf, e.g. "1-50" or "1, 3-5"; any number of pages. Default all.
localestring
Rule language: de (default), de-CH or en. (Werte: "de", "de-CH", "en")
rulesarray of string
Rule ids to check. Default: every rule of the locale. (max. 100 Einträge)
exclude_rulesarray of string
Rule ids to skip. (max. 100 Einträge)
include_master_pagesboolean
Also check master pages. Default false.
include_locked_layersboolean
Also check frames on locked layers. Default false.
max_findingsinteger
Cap for findings[]. Default 500. (≥ 1, ≤ 2000)
severity_minstring
Report only findings of this severity or above. Default info. (Werte: "info", "warning", "error")
max_consecutive_hyphensinteger
hyphen_ladder: allowed consecutive hyphenated lines. Default 3 (Forssman/de Jong). (≥ 1, ≤ 10)
min_last_line_charsinteger
single_word_last_line: also report last lines shorter than this many characters. Default 0 = single words only. (≥ 0, ≤ 100)

↑ Nach oben

Stand: November 2026.

Adobe® und InDesign® sind eingetragene Marken oder Marken von Adobe in den USA und/oder anderen Ländern („Adobe and InDesign are either registered trademarks or trademarks of Adobe in the United States and/or other countries.“). Mac®, macOS® und Apple Pay® sind Marken von Apple Inc. Microsoft, Windows® und PowerShell sind Marken der Microsoft-Unternehmensgruppe. Google Pay ist eine Marke von Google LLC. Amazon KDP ist eine Marke von Amazon.com, Inc. oder ihren verbundenen Unternehmen. Node.js ist eine Marke der OpenJS Foundation. Claude ist eine Bezeichnung von Anthropic. Cursor, Codex, Polar, npm und alle weiteren genannten Produkt- und Firmennamen sind Marken oder Bezeichnungen ihrer jeweiligen Inhaber. Alle Nennungen dienen allein der Beschreibung von Kompatibilität und Bezugswegen; es besteht keine Verbindung zu diesen Unternehmen und keine Unterstützung oder Empfehlung durch sie.