InDesign File Guidelines

Back to Preview

Designer Guidelines for Theme Export

This document explains how to prepare InDesign files so the converter can turn them into theme-export JSON for photo book products. Every rule here maps directly to how the converter reads your file — follow these guidelines and the output will be correct.

1. File Packaging & Naming

File typeRecognized keywords in filename
Cover-cov-   cover   -hc
Interior pages-int-   interior   -bw
Example zip contents:
my-product-210x210-hc-cover.idml
my-product-210x210-bw-interior.idml

2. Document Setup

Page size (mm) → trim_px = page_mm × 300 / 25.4 Bleed (mm) → bleed_px = bleed_mm × 300 / 25.4 Template size → template_px = trim_px + 2 × bleed_px
Example: a 210×210 mm page with 3 mm bleed produces trim = 2480 px, bleed = 35 px, template = 2551 px.

3. Layers — The Core Concept

The table below is listed in priority order. When a layer name contains multiple keywords, the first match wins. For example, a layer named "fixed background design" contains both "background" and "fixed" — it is classified as Background because that keyword is checked before "fixed."

PriorityLayer name containsClassificationWhat happens
1 attribute Attribute Text becomes a product-attribute placeholder (auto-filled from product data); images treated as variable
2 variable or variabel Variable Element is user-editable: text becomes a text placeholder, image becomes a photo placeholder
3 background Background Image becomes the page background; text becomes fixed (non-editable) text; colored rectangles contribute to page background color
4 fixed or statisch Fixed Element is static decoration: text becomes fixed text, image becomes a non-editable illustration
5 Anything else Unrecognized Element is ignored entirely — useful for annotations, guides, or production-only content
Every text frame and image frame must be on a recognized layer to appear in the output. If something is missing from the converted theme, the first thing to check is its layer assignment.
Priority matters for compound names: A layer named "fixed background design" is classified as Background (priority 3), not Fixed (priority 4), because "background" is matched first. If you want content to be treated as fixed decoration, make sure the layer name does not also contain "attribute", "variable"/"variabel", or "background".
Recommended layer setup: Create layers with clear names like "variable text", "variable photos", "fixed background design", "attribute text", and "statisch". Dutch equivalents (variabel, statisch) work identically.

4. Text Elements

Layer typeOutputWhat the end user sees
Variable template_position_text An editable text field. The text you write becomes the placeholderText (the default value shown to the user before they type).
Attribute template_position_text + themevariant An auto-filled field linked to product data. The text content is used to generate the attribute tag (lowercased, spaces become underscores). E.g. "Name Child" → tag name_child.
Fixed object_text Static text that the user cannot edit. Appears exactly as designed.
Unrecognized Nothing Text frame is skipped entirely.

5. Image Elements

Layer typeOutputWhat it means
Variable template_position_photo A photo placeholder where the end user drops their own photo. The frame defines the position and size of the slot.
Background Page bgimage Becomes the page background image. See the Backgrounds section for details on tiling and cropping.
Fixed / Attribute object_photo A static illustration or design element that the user cannot change. The linked image is preserved in the output.
Unrecognized Nothing Image frame is skipped entirely.
Make sure all design images are placed on a recognized layer. An image on an unlabeled or annotation layer will not appear in the output.

6. Backgrounds (Color & Image)

Background Color

Background Image

Background-layer images are excluded from the regular object_photo processing. They only appear as the page bgimage.

7. Fonts & Typography

Alignment: Set horizontal text alignment via Justification in paragraph styles. Supported: LeftAlign, CenterAlign, RightAlign, LeftJustified, CenterJustified, RightJustified, FullyJustified.

8. Color Definitions

9. Cover Spreads & Variants

Multiple Cover Designs

Multi-variant zip contents:
my-product-hc-cover-design-01.idml
my-product-hc-cover-design-02.idml
my-product-hc-cover-design-03.idml
my-product-bw-interior.idml

Produces: my-product-design-01.json, my-product-design-02.json, my-product-design-03.json

10. Page & Template Naming

The Customizable/Fixed label is determined automatically after processing all elements on the page. You don't need to do anything special — just put elements on the right layers.

11. Photo Borders

If no border rectangle is found behind a photo placeholder, it will have no border (borderwidth = 0). Borders are entirely optional.

12. Multi-Language Themes

Example layer setup for NL + EN:

background — shared background (appears in both NL and EN)
variable — shared photo placeholders
NL:fixed — Dutch-only decorative text
EN:fixed — English-only decorative text
NL:variable — Dutch text placeholders
EN:variable — English text placeholders
Recommended approach: Put all language-independent elements (backgrounds, shared photos) on regular layers without a prefix. Only add locale prefixes to layers that contain language-specific content. This keeps your InDesign file clean and avoids duplicating shared elements.
The locale prefix must come before the colon and must not contain any layer classification keywords (attribute, variable, background, fixed, etc.). For example, NL:fixed is correct, but fixed:NL would not work as a locale prefix.

13. Automatically Filtered Content

PatternWhat it catches
Text containing orderidOrder tracking placeholders
Text starting with *Barcode placeholders
Cover annotation textMeasurement annotations (dimensions, "bleed", "wrap", "spine", etc.)
This filtering happens after layer classification. A text frame on an unrecognized layer is skipped before these filters even apply. These filters only affect text that would otherwise appear in the output.

14. Stacking Order & Z-Axis

15. Image Assets & Upload

16. Quick Checklist

ItemStatus
IDML export (not .indd)Required
Cover and interior files named with recognized keywordsRequired
Page dimensions and bleed set in Document SetupRequired
All elements placed on recognized layersRequired
Text frames on correct layers (variable / attribute / fixed)Required
Image frames on correct layers (variable / fixed / background)Required
Background images on layers containing "background"Required
CMYK swatches named C=X M=Y Y=Z K=WRequired
Fonts embedded in Document fonts/Required
Font properties set via Paragraph / Character StylesRecommended
Line height (auto_leading) set explicitlyRecommended
Text frames sized to fit contentRecommended
Element stacking order correctRecommended
Photo borders: uniform Paper rectangles behind photo framesOptional
Multiple cover variants with design-01 namingOptional
Multi-language layers with locale:layertype namingOptional