From fc573b5e5298da938e009fa811615f4de0f0db8a Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Mon, 10 Aug 2026 23:00:05 +0530 Subject: [PATCH 01/47] documentation for V4 --- src/pages/guides/index.md | 1 + .../index.md | 803 ++++++++++++++++++ .../working-with-datamerge-api/index.md | 2 +- 3 files changed, 805 insertions(+), 1 deletion(-) create mode 100644 src/pages/guides/working-with-advanced-data-merge-api/index.md diff --git a/src/pages/guides/index.md b/src/pages/guides/index.md index 8c708f8..197027c 100644 --- a/src/pages/guides/index.md +++ b/src/pages/guides/index.md @@ -32,6 +32,7 @@ This guide covers advanced scripting techniques for automating InDesign tasks. - [Working with Custom Scripts API](./working-with-custom-scripts-api/index.md) - Advanced scripting techniques - [Writing Scripts for Custom Scripts API](./writing-scripts-for-custom-scripts-api/index.md) - Script development and logging - [Working with Data Merge API](./working-with-datamerge-api/index.md) - Data merge automation +- [Working with Advanced Data Merge API](./working-with-advanced-data-merge-api/index.md) - Advanced data merge techniques, Conditional Visibility, Styling, Copyfitting and more - [Working with Rendition API](./working-with-rendition-api/index.md) - Document rendering - [Tips for PDF to InDesign Conversion](./pdf-to-indesign-conversion-notes/index.md) - PDF To InDesign Points to note and limitations diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md new file mode 100644 index 0000000..abccc1e --- /dev/null +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -0,0 +1,803 @@ +--- +title: Working with Advanced Data Merge API +description: >- + Advanced Data Merge API techniques for InDesign automation + and document processing. +keywords: + - Adobe InDesign API + - InDesign automation + - document processing + - Data Merge API + - Rendition API + - Custom Scripts API + - Remap Links API + - REST API + - cloud services + - enterprise solutions + - design automation + - creative automation + - content delivery + - batch processing +og: + title: Working with Advanced Data Merge API + description: >- + Advanced Data Merge API techniques for InDesign automation + and document processing. +twitter: + card: summary + title: Working with Advanced Data Merge API + description: >- + Advanced Data Merge API techniques for InDesign automation + and document processing. +--- +# Working with Advanced Data Merge API + +This guide covers advanced techniques for the [Data Merge API](../../api/index.md), building on the basics from [Working with the Data Merge API](../working-with-datamerge-api/index.md), including conditional visibility, dynamic styling, copyfitting, zip output and pre-signed URL support in CSV. + +## Conditional Visibility & Dynamic Styling + +Make your Data Merge output react to your data. With a simple rules file, you can show or hide elements, restyle and recolor content, replace text, and resize or move frames — differently for every record — all from a single template and data file. + +### Overview + +Traditionally, Data Merge drops the text or image from each record into fixed placeholders in your template. The layout stays the same for everyone — only the placeholder content changes. + +This feature adds a third input to a merge job: a rules file (JSON) that travels alongside your template and data. + +``` +Template (.indd / .idml) + Data (.csv) + Rules (.json) → Output (INDD / PDF / PNG / JPEG) +``` + +For each record, the merge reads your rules and applies whichever actions match that record's data. The result is one job that produces genuinely different-looking documents per record — a VIP badge that appears only for VIP customers, a price that turns red when it exceeds a threshold, a promo layer that shows only for high-spend recipients, and so on. + +The feature is fully optional and backward compatible: if you don't provide a rules file, your merge behaves exactly as it does today. + +### What you can do + +| Capability | Description | +|---|---| +| Conditional visibility | Show or hide a layer, a frame, or a placeholder per record. | +| Dynamic styling | Apply a named character or paragraph style, or change fill/stroke color, per record. | +| Content replacement | Replace the text of a placeholder or tagged text range per record. | +| Geometry | Resize or move a frame per record. | +| Business logic | Combine conditions with AND / OR / NOT, ranges, and text matching to decide what happens. | + +All decisions are driven by the values in your CSV columns. + +### Getting started + +1. **Author your template** as you normally would for Data Merge, including your placeholders. Give the elements you want to control a name you can reference — a dataMerge placeholder name, an XML tag, or a layer name (see [Targets](#targets--what-a-rule-acts-on)). +2. **Prepare your CSV** as usual. Any column you want to test in a rule must exist in the CSV — even if that column isn't placed anywhere in the template. +3. **Write a rules file** (a `.json` file) describing your conditions and actions (see below). +4. **Submit the merge job** with the new `rulesFile` parameter pointing at your rules file: + +```json +{ + "params": { + "targetDocument": "template.indd", + "dataSource": "data.csv", + "rulesFile": "rules.json", + "outputMediaType": "application/pdf" + } +} +``` + +If `rulesFile` is omitted, the merge runs exactly as a standard Data Merge with no rules applied. + +### The rules file + +A rules file is a JSON document. At the top level it contains an optional `ruleSetName`, an optional `version`, and a list of **rules**. + +```json +{ + "version": "1.0", + "ruleSetName": "Campaign", + "rules": [ + { + "cases": [ + { + "condition": {}, + "then": [ + { "target": {}, "actions": [] } + ] + } + ], + "default": { + "then": [ { "target": {}, "actions": [] } ] + } + } + ] +} +``` + +- `version` — optional, defaults to the current version. +- `ruleSetName` — optional, a label shown in logs/reports. +- `rules` — required, one or more rules. Each rule contains an ordered list of `cases`. Each case has a `condition` (when this is true...) and a `then` list (...do this). A rule can also define a `default`, which runs only if no case matched. + +#### How a rule is evaluated, per record + +- Each rule contains an ordered list of **cases**. The engine tests each case's `condition` in order and runs the **first** one that is true — then stops looking at the remaining cases in that rule. +- If **no** case matches and a `default` is present, the `default` runs. If there's no `default`, the rule simply does nothing for that record. +- **At most one** case (or the default) fires per rule. + +**Multiple rules:** you can list several rules. Every rule is evaluated for every record, in order. Rules are **cumulative** — more than one can fire for the same record. Use `cases`/`default` when you want a single "pick one" outcome; use separate rules for independent effects that can happen together. If two rules change the *same* property of the *same* target, the **last one wins**. + +Each entry in a `then` list is a **clause**: one `target` plus an ordered list of `actions` to run on it. + +### Targets — what a rule acts on + +A target selects the object(s) an action runs on. It always resolves within the current record's page(s). + +| type | Selects by | Acts on | +|---|---|---| +| `layer` | Layer name | The items on that layer | +| `xmlTag` | XML tag name | A frame or a tagged text range | +| `dataMergeTag` | Placeholder name | A Data Merge placeholder (image, QR, or text) | + +```json +{ "type": "layer", "name": "premium_offer" } +``` + +#### Referencing a Data Merge placeholder by kind + +A `dataMergeTag` target chooses which kind of placeholder to act on using a name prefix: + +| Prefix | Kind | Example | +|---|---|---| +| `@` | Image placeholder | `"@hero"` → the image placeholder named `hero` | +| `#` | QR-code placeholder | `"#ticket"` → the QR placeholder named `ticket` | +| (none) | Text placeholder | `"title"` → the text placeholder named `title` | + +```json +{ "type": "dataMergeTag", "name": "@hero" } +``` + +### Actions — what a rule does + +Each clause runs an ordered list of actions on its target. Actions apply top-to-bottom; a later action overrides an earlier one on the same target. + +| Action `name` | Parameters | Effect | +|---|---|---| +| `show` | — | Make the target visible | +| `hide` | — | Make the target hidden | +| `replaceText` | `value` (string) | Replace the text content | +| `setCharacterStyle` | `styleName` (string) | Apply a named character style | +| `setParagraphStyle` | `styleName` (string) | Apply a named paragraph style | +| `setFillColor` | `color` (hex `#RRGGBB` or swatch name) | Change the fill color | +| `setStrokeColor` | `color` (hex `#RRGGBB` or swatch name) | Change the stroke color | +| `resizeFrame` | `width`, `height` | Resize the frame | +| `moveFrame` | `x`, `y` | Move the frame's top-left origin | + +```json +{ "name": "setFillColor", "color": "#D4AF37" } +``` + +**Notes** + +- **Styles and swatches must already exist** in your template. A rule can apply a named style or swatch, but it cannot create one. Referencing a hex color like `#D4AF37` is always fine. +- For `resizeFrame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that target unchanged** . +- `resizeFrame` and `moveFrame` apply to frames only. + +#### Which actions work on which targets + +| Action \ Target | `layer` | `xmlTag` | `dataMergeTag` | +|---|---|---|---| +| `show` / `hide` | ✓ | ✓ | ✓ | +| `replaceText` | — | ✓ | ✓ | +| `setCharacterStyle` | — | ✓ | ✓ | +| `setParagraphStyle` | — | ✓ | ✓ | +| `setFillColor` | — | ✓ | ✓ | +| `setStrokeColor` | — | ✓ | ✓ | +| `resizeFrame` | — | ✓ | ✓ | +| `moveFrame` | — | ✓ | ✓ | + +Using an action on a target that isn't marked ✓ is rejected when your rules file is checked (see [Errors & Warnings](#errors--warnings)). + +### Conditions — deciding when a rule applies + +A condition is a small JSON structure — never a text expression to be parsed — so column names with spaces or punctuation (e.g. `Life Time Spend`) are written verbatim with no escaping. + +There are three building blocks: + +- **Comparison** (a single test on one column) +- **Group** (`all` = AND, `any` = OR) +- **Not** (negates any condition) + +#### Comparison + +```json +{ + "column": "Life Time Spend", + "operator": ">", + "value": 10000, + "valueColumn": "cost", + "type": "number" +} +``` + +- `column` — required, the CSV column to test. +- `operator` — required, see the operator list below. +- `value` — the value to compare against, **or** +- `valueColumn` — another column (use exactly one of `value` / `valueColumn`). +- `type` — optional, force `number` | `string` | `boolean` comparison. + +**Operators** + +| Group | Operators | Notes | +|---|---|---| +| Comparison | `==`, `!=`, `>`, `>=`, `<`, `<=` | `>`, `>=`, `<`, `<=` are for numbers (or text, alphabetically) — not booleans | +| Set membership | `in`, `notIn` | `value` must be a non-empty array; `valueColumn` not allowed | +| Text matching | `contains`, `startsWith`, `endsWith` | String only, case-sensitive | + +**Right-hand side:** provide exactly one of: + +- `value` — a literal number, string, or boolean (or an array of literals for `in`/`notIn`), or +- `valueColumn` — the name of another CSV column, to compare column-against-column. + +**Value types & how comparisons are made** + +- Add `"type": "number"`, `"string"`, or `"boolean"` to force how both sides are compared. If you omit `type`, the type is inferred (a numeric or boolean literal makes the comparison numeric or boolean; otherwise text). +- **Numbers** must be plain decimals (an optional leading `-` is fine). Thousands separators, currency symbols, and locale decimal commas are **not** recognized — `"10,000"`, `"$10,000"`, and `"1.000,50"` will not parse as numbers. If a value can't be parsed as the required type, that comparison is treated as **false** (it won't stop your job). +- **Booleans** accept only `true`/`false` (any case). Anything else is treated as false. +- **Text** comparisons and text-matching operators are **case-sensitive**. Leading/trailing spaces are trimmed before comparing. + +#### Group — `all` (AND) and `any` (OR) + +```json +{ "all": [] } +{ "any": [] } +``` + +Groups can nest to any depth, and their children can be comparisons, other groups, or `not` blocks. + +#### Not (flipping condition) + +Wrap any single condition to negate it: + +```json +{ "not": { "column": "sku", "operator": "contains", "value": "PROMO" } } +``` + +This reads as "SKU does not contain PROMO." (For simple "is not one of a set" tests, the `notIn` operator is usually simpler.) + +#### Condition examples + +`tier` is `VIP`: + +```json +{ "column": "tier", "operator": "==", "value": "VIP" } +``` + +`Life Time Spend` greater than `10000`: + +```json +{ "column": "Life Time Spend", "operator": ">", "value": 10000, "type": "number" } +``` + +Compare two columns — `Life Time Spend` greater than `cost`: + +```json +{ "column": "Life Time Spend", "operator": ">", "valueColumn": "cost", "type": "number" } +``` + +`tier` is `VIP` AND `spend` over `10000`: + +```json +{ + "all": [ + { "column": "tier", "operator": "==", "value": "VIP" }, + { "column": "spend", "operator": ">", "value": 10000, "type": "number" } + ] +} +``` + +`region` is not EU or UK: + +```json +{ "column": "region", "operator": "notIn", "value": ["EU", "UK"] } +``` + +A nested example — VIP, in the US or UK, and not blocked: + +```json +{ + "all": [ + { "column": "tier", "operator": "==", "value": "VIP" }, + { "any": [ + { "column": "country", "operator": "==", "value": "US" }, + { "column": "country", "operator": "==", "value": "UK" } + ] }, + { "not": { "column": "status", "operator": "==", "value": "Blocked" } } + ] +} +``` + +### Worked examples + +#### Example 1 — Show a VIP badge only for VIP records + +```json +{ + "ruleSetName": "VIP Badge Display", + "rules": [ + { + "cases": [ + { + "condition": { "column": "tier", "operator": "==", "value": "VIP" }, + "then": [ + { "target": { "type": "dataMergeTag", "name": "vip_badge" }, + "actions": [ { "name": "show" } ] } + ] + } + ], + "default": { + "then": [ + { "target": { "type": "dataMergeTag", "name": "vip_badge" }, + "actions": [ { "name": "hide" } ] } + ] + } + } + ] +} +``` + +VIP records show the badge; everyone else hides it. + +#### Example 2 — Color a badge by tier (first match wins) + +```json +{ + "ruleSetName": "Badge tier", + "rules": [ + { + "cases": [ + { "condition": { "column": "tier", "operator": "==", "value": "VIP" }, + "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "actions": [ { "name": "setFillColor", "color": "#D4AF37" } ] } ] }, + + { "condition": { "column": "spend", "operator": ">", "value": 10000, "type": "number" }, + "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "actions": [ { "name": "setFillColor", "color": "#C0C0C0" } ] } ] }, + + { "condition": { "column": "spend", "operator": ">", "value": 1000, "type": "number" }, + "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "actions": [ { "name": "setFillColor", "color": "#CD7F32" } ] } ] } + ], + "default": { + "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "actions": [ { "name": "hide" } ] } ] + } + } + ] +} +``` + +Reads as: VIP → gold; else if spend > 10,000 → silver; else if spend > 1,000 → bronze; otherwise hide the badge. Cases are tested top-to-bottom and only the first match applies. + +#### Example 3 — Reveal a promo layer for high-spend records + +```json +{ + "ruleSetName": "Premium Offer", + "rules": [ + { + "cases": [ + { + "condition": { "column": "lifetime_spend", "operator": ">", "value": 10000, "type": "number" }, + "then": [ + { "target": { "type": "layer", "name": "premium_offer" }, + "actions": [ { "name": "show" } ] } + ] + } + ] + } + ] +} +``` + +This assumes the `premium_offer` layer is **hidden** in the template. It stays hidden by default and is shown only for records that match. If the layer were visible in the template instead, add a `default` with a `hide` action to switch it off for non-matching records. + +#### Example 4 — Swap disclaimer text by region using an `xmlTag` + +```json +{ + "ruleSetName": "Regional Disclaimer", + "rules": [ + { + "cases": [ + { + "condition": { "column": "region", "operator": "==", "value": "EU" }, + "then": [ + { "target": { "type": "xmlTag", "name": "disclaimer" }, + "actions": [ + { "name": "replaceText", "value": "This offer is subject to EU consumer protection regulations." }, + { "name": "setCharacterStyle", "styleName": "Legal-EU" } + ] } + ] + }, + { + "condition": { "column": "region", "operator": "==", "value": "US" }, + "then": [ + { "target": { "type": "xmlTag", "name": "disclaimer" }, + "actions": [ + { "name": "replaceText", "value": "Void where prohibited. See terms for details." }, + { "name": "setCharacterStyle", "styleName": "Legal-US" } + ] } + ] + } + ], + "default": { + "then": [ + { "target": { "type": "xmlTag", "name": "disclaimer" }, + "actions": [ { "name": "replaceText", "value": "Terms and conditions apply." } ] } + ] + } + } + ] +} +``` + +This targets the text range tagged `disclaimer` in the template. EU records get EU-specific wording and legal styling, US records get US-specific wording and styling, and every other region falls back to the generic disclaimer text in the `default` case. + +### Constraints + +- **Single record per page.** Rules are supported only when each page corresponds to one record — the standard Data Merge layout. Jobs configured for multiple records per page are not supported with rules and will be rejected before processing. +- **Columns must exist.** A rule can only reference CSV columns that are present in your data file. A missing column is reported when your rules file is checked. +- **Styles and swatches must exist** in the template before the merge; rules apply them but do not create them. +- **Layer visibility for non-layer targets.** An element renders only if its layer is visible. If you target a placeholder or XML tag that sits on a layer you authored as *hidden*, a `show` action will not make it appear — put rule-driven elements on a visible layer, or target the layer itself. +- **Record ranges.** Contiguous, ascending record ranges (for example `1-50`) are fully supported. Out-of-order or overlapping comma-separated ranges may be restricted; use ascending ranges for rule-driven jobs. +- **Numeric formatting.** Keep numeric columns as plain numbers (no currency symbols, thousands separators, or locale decimals) so numeric comparisons behave as expected. + +### Errors & Warnings + +The feature distinguishes two kinds of problems: + +**Problems that stop the job** (checked up front, before any output is produced). These are things that are wrong with the job setup or the rules file itself, so the whole job is rejected with a clear message and nothing is produced. Examples: + +- the rules file is missing, unreadable, or not valid JSON; +- an empty rules list; +- a malformed condition, or a rule/case that isn't shaped correctly; +- a condition that references a column not in the CSV; +- an invalid target type or action, or an action used on a target it doesn't support; +- a rules job submitted with a multiple-records-per-page layout. + +Fixing these means correcting the rules file (or the job configuration) and resubmitting. + +**Problems that are reported but don't stop the job** (per record). These are situations the engine can safely work around, so the batch continues and the issues are collected in the job's warnings: + +- a target name that can't be found for a record; +- a style or swatch named in an action that doesn't exist; +- an action that can't apply to the resolved object (for example, resizing something that isn't a frame); +- a value that can't be read as the required number or boolean — that single comparison is treated as false. + +Review the warnings after a run to catch typos in names or unexpected data. + +## Copyfitting + +The Data Merge API can automatically resize text that overflows its frame after a merge. When a merged record produces overset text, copyfitting reduces the font size - within limits you define - so that the text fits. Copyfitting runs only when you enable it and only when the merged document has overset present. + +### Example use cases + +Copyfitting is most useful when the length of merged content varies and cannot be predicted at design time: + +- **Multi-language data merge:** A single template is merged with a data source that contains rows in different languages, or a template designed for one language is merged with data that includes others. Translations in longer languages (for example, German or Finnish) often overflow frames sized for the original language. Copyfitting shrinks only the overset rows so each language fits, without redesigning the template or hand-editing records. + +- **Variable-length content at scale:** In catalogues, price lists, or personalized mailers, fields such as product names, descriptions, or addresses vary in length across thousands of records, and some overflow their frames. Copyfitting fits them automatically so more records export cleanly in a single job. + +### How it works + +Add a copyfittingSettings object inside params. It accepts the following fields: + +- **enabled** + - **Type:** boolean + - **Default:** `false` + - **Description:** Master on/off switch. Copyfitting runs only when set to `true`. If it is `false`, absent, or the whole `copyfittingSettings` block is omitted, copyfitting is off. +- **unresolvedOversetHandling** + - **Type:** string (enum) + - **Enum:** `"warn"`, `"omit_records"` + - **Default:** `"warn"` + - **Description:** What to do when text is still overset after copyfitting. See [Unresolved overset handling](#unresolved-overset-handling) below. +- **multiFrameSyncScope** + - **Type:** string (enum) + - **Enum:** `"paragraph_style"`, `"page"`, `"paragraph_style_and_page"`, `"document"` + - **Default:** none — omit the key to skip multi-frame sync + - **Description:** After fitting the overset frames, apply the same font-size reduction to matching non-overset frames for visual consistency. See [Multi-frame sync scopes](#multi-frame-sync-scopes) below. +- **scope.global.constraints.fontSize** + - **Type:** object — `{ "minPercent": number }` + - **Default:** `minPercent` 85 + - **Description:** Limits for font-size reduction, applied to all text in overset stories. `minPercent` is the floor (text never shrinks below this percentage of its original size; 100 means it never shrinks). Must be between 1 and 100; an out-of-range value fails the job. + +Copyfitting is applied after the merge, before export, once per output document. Threaded text across multiple frames is treated as a single story. + +### Example request + +Enable copyfitting by adding copyfittingSettings to params: + +```curl +curl --location --request POST https://indesign.adobe.io/v4/merge-data \ +--header "Authorization: Bearer {YOUR_OAUTH_TOKEN}" \ +--header "x-api-key: {YOUR_API_KEY}" \ +--header "Content-Type: application/json" \ +--data-raw '{ +"assets": [ + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "dataMergeTemplate.indd" + }, + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "FileNames.csv" + } +], +"params": { + "targetDocument": "dataMergeTemplate.indd", + "outputMediaType": "application/pdf", + "outputFolderPath": {OUTPUT_FOLDER_PATH}, + "outputFileBaseString": "merged", + "dataSource": "FileNames.csv", + "recordRange": "All", + "copyfittingSettings": { + "enabled": true, + "unresolvedOversetHandling": "warn", + "multiFrameSyncScope": "paragraph_style_and_page", + "scope": { + "global": { + "constraints": { + "fontSize": { "minPercent": 80} + } + } + } + } +} +}' +``` + +To enable copyfitting with default limits, the settings can be as small as "copyfittingSettings": { "enabled": true }. + +### Multi-frame sync scopes + +Multi-frame sync keeps related frames visually consistent by extending a reduction beyond just the overset frame. Only the font-size **reduction** by percentage is synced (not the absolute point size, and no other property). Omit multiFrameSyncScope to skip sync entirely - only the overset frames change. When present, it must be one of the following. + +- **paragraph_style** - Frames whose text uses the same paragraph style, across all pages, receive the largest reduction required by any of them. + - Example: A "Headline" paragraph style is used in frames throughout the document. If one headline must shrink 12 percent to fit, every frame using the "Headline" style - on every page - is reduced by 12 percent, so all headlines stay consistent. + +- **page** - Every text frame on the same page as an overset frame receives the same reduction; paragraph style is ignored. + - Example: On a product page, the description frame oversets and shrinks 10 percent. The other text frames on that page (title, price, footnote) are also reduced by 10 percent, keeping the page uniform. + +- **paragraph_style_and_page** - Like paragraph_style, but limited to the current page: only same-style frames on the same page are matched. + - Example: Two "Callout" frames on page 3 shrink together, but "Callout" frames on page 4 are unaffected. + +- **document** - Every text frame in the entire document receives the same reduction; paragraph style is ignored. + - Example: If any frame anywhere needs a 15 percent reduction to fit, all text frames across all pages are reduced by 15 percent, giving the whole piece one consistent size. + +**Conflict rule:** when frames in a group would need different reductions, the largest (most aggressive) reduction wins for the group, subject to the global minimum — no text shrinks below minPercent of its original size. + +### Unresolved overset handling + +If text is still overset after copyfitting has reduced text to minPercent of its original size, unresolvedOversetHandling controls the outcome: + +- **"warn"** (default) - the output file is still produced; affected records report warnings.oversetText. + +- **"omit_records"** - pages for the affected data records are removed from the output and the remaining records still export; affected records report warnings.omittedDataRecordNumbers (and not warnings.oversetText). If every record in the batch would be removed, no file is exported (outputs is empty) and omittedDataRecordNumbers lists the full range. + +### Copyfitting in the response + +Copyfitting adds no new top-level response field. Results appear per record, inside the existing warnings object. + +Still overset with "warn": +```json +"warnings": { + "oversetText": [ + { "page": "2", + "charactersInOverset": "142", + "wordsInOverset": "24", + "oversetText": "...overflowing text..." + } + ] +} +``` +Records omitted with "omit_records": +```json +"warnings": { "omittedDataRecordNumbers": "5,6" } +``` +If copyfitting hits a script or engine error, the whole job fails (no output for that job): + +```json +{ +"status": "FAILURE", +"errorCode": "capability_error", +"errorString": "Capability error: Copyfitting failed. " +} +``` + +## Zip output + +### Folder Structure and Zipped Output in Data Merge API + +The Data Merge API supports organizing your outputs in a structured folder hierarchy, and a zipped folder containing all the outputs that have been created from the successful data merge. + +How it works + +- Add a dedicated column in your input CSV for folder names. +- Prefix the column header with ~ (for example: ~FolderName). +- Each row value in this column will be used as the folder hierarchy for the output file of that record. +- Users can opt in for zipped output by setting `outputCompressMediaType`; only `ZIP` is supported for now. +- Add three input parameters: + - **outputCompressMediaType** + - **Type:** String + - **ENUM:** ["application/zip"] + - **Meaning:** The type of compression the user wants (e.g. ZIP, RAR, etc.). + - If the user opts for zipped output, the response contains only the zipped output, not individual assets and their links. + - If the user does not opt for zipped output, the response is unchanged except that the output path reflects the desired folder hierarchy. + - **outputCompressName** + - **Type:** String + - **Default:** `"Result"` + - **Meaning:** Use this value to name the resulting zip. + - **outputFolderBaseString** + - **Type:** String + - **Default:** `mergedFiles` + - **Meaning:** Specifies which folder merged files go into and the name of the merged folder; multi-record output files or outputs from empty CSV column values are placed in this folder. + +Note: +- Only one folder name column is allowed. If multiple columns have a ‘~’ prefix, the job will fail. +- Local or absolute paths (for example, `C:\F1\F2`) are not supported in the `~` column. Provide relative folder hierarchy values (for example, `F1` or `F1\F2`) only. The job will fail if a row uses a local or absolute path. + +#### Folder Name Constraints + +Certain special characters or words are not supported by the platform and are automatically normalized. + +- Consecutive unsupported characters (e.g., <, >, :, ", /, \, |, ?, *) are replaced with a single underscore (e.g., `Ab5<>;d` → `Ab5_d`) +- Windows reserved names (e.g., CON, PRN, AUX, NUL as well as device names like COM1–COM9 and LPT1–LPT9) are wrapped with underscores (e.g., `CON` → `_CON_`) +- File names (including extension) are limited to 255 characters, with longer names truncated automatically + +Here is a sample CSV file demonstrating a column header with prefix ‘~’. +![Records](./records-foldercsv.png) + +Example of input payload which is same as it is currently. + +```curl +curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ +--header 'Authorization: Bearer {YOUR_OAUTH_TOKEN}' \ +--header 'x-api-key: {YOUR_API_KEY}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "assets": [ + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "dataMergeTemplate.indd" + }, + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "FolderNames.csv" + } + ], + "params": { + "targetDocument": "dataMergeTemplate.indd", + "outputMediaType": "image/png", + "outputFolderPath": {OUTPUT_FOLDER_PATH}, + "outputFileBaseString": "merged", + "dataSource": "FolderNames.csv", + "recordRange": "All", + "outputCompressMediaType": "application/zip", + "outputCompressName": "Works only if outputCompressMediaType is provided", + "outputFolderBaseString": "Merged folder name; multi-record outputs and empty ~ values go here. Default: mergedFiles", + "hyphenationSettings": { + "afterFirst": 3, + "beforeLast": 3, + "wordsLongerThan": 6, + "ladderLimit": 2, + "zone": 0.15, + "capitalizedWords": false, + "lastWord": true, + "acrossColumns": false, + "dictionarySettings": [ + { + "language": "English: USA", + "wordList": ["~word1", "ex~word2"] + }, + { + "language": "English: UK", + "wordList": ["~word3", "~word4"] + } + ] + } + }, + "outputs": [ + { + "destination": { + "url": "{PUT-SIGNED_URL}" + }, + "source": "{OUTPUT_FOLDER_PATH}/{outputs}" + } + ] +}' +``` + +#### When folder structuring is not supported, and output files will move to ‘outputFolderBaseString’ +| outputMediaType | params | +|----------------------------------|--------| +| JPEG (image/jpeg) | allowMultipleRecordsPerPage set to true | +| PNG (image/png) | allowMultipleRecordsPerPage set to true | +| PDF (application/pdf) | recordsPerFile ≠ 1 and recordRange = "All" | +| | recordsPerFile ≠ 1 and recordRange = "1-2, 5" | +| | allowMultipleRecordsPerPage set to true | +| InDesign (application/x-indesign)| recordsPerFile ≠ 1 and recordRange = "All" | +| | recordsPerFile ≠ 1 and recordRange = "1-2, 5" | +| | allowMultipleRecordsPerPage set to true | + +**Why:** Folder structuring via the `~` column applies only when the merge job has a clear one-to-one mapping between each data row and its output. In that case, each row’s `~` value defines the folder hierarchy for that record’s output file. If `allowMultipleRecordsPerPage` is true, multiple records can share a page, so per-row folder paths are ambiguous. If `recordsPerFile` is not 1, records are combined into multi-page output documents, so many rows contribute to the same file and per-row folder paths are no longer meaningful. In those situations, folder structuring via the `~` column is not supported for the affected output types, and output files are placed under `outputFolderBaseString` instead. + +## Pre-signed URL Support + +The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/index.md#supported-storage-types) assets are supported. + +How it works + +- Pre-signed URLs of image assets can now be provided directly in the Image column (prefixed with @) of the input CSV, for each row +- In addition, providing pre-signed URLs of image assets in the input request continues to be supported as before; this feature does not remove or restrict that option. +- The image will be fetched from the pre-signed URL and made available for use in the data merge. +- If a URL cannot be fetched or has expired, that row's image asset will be reported in warnings as a failed download, and the rest of the merge will proceed unaffected. +- Add a new input parameter + - **preSignedURL** + - **Type:** Boolean + - **Meaning:** Whether the user wants to enable fetching image assets via pre-signed URLs provided in the CSV. + - If the user sets this to true, the Image column values in the CSV can be pre-signed URLs, and these will be fetched and used in the data merge. + - If the user doesn't set this (or sets it to false), there is no change in behavior — the Image column will be treated as before, and pre-signed URLs can still only be provided in the input request. + - If a pre-signed URL is included in the Image column but the preSignedURL parameter is not set to true, this enhancement will not take effect. The Image column value will be handled just as it always has been, without any change in behavior. Since the value is a URL and not a valid asset reference, the image for that record will show up as a missing link in the data merge. + +Example of input CSV having an Image column value (prefixed with ‘@’) containing a pre-signed URL +![Records](./records-urlcsv.png) + +Example of input payload +```curl +curl --location --request POST 'https://indesign.adobe.io/v3/merge-data' \ +--header 'Authorization: Bearer {YOUR_OAUTH_TOKEN}' \ +--header 'x-api-key: {YOUR_API_KEY}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "assets": [ + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "dataMergeTemplate.indd" + }, + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "Directory_Names.csv" + } + ], + "params": { + "targetDocument": "dataMergeTemplate.indd", + "outputMediaType": "application/x-indesign", + "outputFolderPath": {OUTPUT_FOLDER_PATH}, + "outputFileBaseString": "merged", + "dataSource": "Directory_Names.csv", + "preSignedURL": true + }, + "outputs": [ + { + "destination": { + "url": "{PUT-SIGNED_URL}" + }, + "source": "{OUTPUT_FOLDER_PATH}/merged-1.pdf" + } + ] +}' +``` diff --git a/src/pages/guides/working-with-datamerge-api/index.md b/src/pages/guides/working-with-datamerge-api/index.md index 1bd147d..361b4ca 100644 --- a/src/pages/guides/working-with-datamerge-api/index.md +++ b/src/pages/guides/working-with-datamerge-api/index.md @@ -37,7 +37,7 @@ twitter: Data merge generates variations of a template document from data in a provided CSV file. -The Data Merge API supports UTF-16BE encoding for CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. +The Data Merge API supports UTF-8 and UTF-16BE encoding for CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. The [Data Merge API](../../api/index.md) includes two components to complete the task: the data merge and the data merge tags. From dab080bf507411c25527dc2de4fef85916d58b5c Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Mon, 10 Aug 2026 23:39:37 +0530 Subject: [PATCH 02/47] more changes for V4 --- src/pages/getting-started/changelog/index.md | 15 +++++++++++++++ .../index.md | 14 ++++++-------- .../records-foldercsv.png | Bin 0 -> 62681 bytes .../records-urlcsv.png | Bin 0 -> 184855 bytes 4 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 src/pages/guides/working-with-advanced-data-merge-api/records-foldercsv.png create mode 100644 src/pages/guides/working-with-advanced-data-merge-api/records-urlcsv.png diff --git a/src/pages/getting-started/changelog/index.md b/src/pages/getting-started/changelog/index.md index 1117017..5c182f1 100644 --- a/src/pages/getting-started/changelog/index.md +++ b/src/pages/getting-started/changelog/index.md @@ -41,6 +41,17 @@ twitter: This page contains the release notes and version history for Adobe InDesign APIs. Stay updated with the latest features, improvements, and bug fixes. +## August 11, 2026 + +### New Features + +*Advanced Data Merge* + +- **Conditional Visibility & Dynamic Styling**: The `POST /v4/merge-data` endpoint now accepts a `rulesFile` parameter, letting a rules JSON file show/hide layers, frames, and placeholders, restyle and recolor content, replace text, and resize or move frames — differently per record. [Learn more about conditional visibility & dynamic styling.][16] +- **Copyfitting**: New `copyfittingSettings` object in `params` automatically reduces font size within defined limits to resolve overset text after a merge. [Learn more about copyfitting.][17] +- **Folder Structure & Zipped Output**: The `POST /v4/merge-data` endpoint supports organizing merge outputs into a folder hierarchy via a `~`-prefixed CSV column, plus optional zipped output using `outputCompressMediaType`. [Learn more about folder structure and zipped output.][18] +- **Pre-signed URL Support in CSV**: A new `preSignedURL` parameter allows image placeholder columns (prefixed with `@`) to contain pre-signed URLs directly in the CSV, fetched during the merge. [Learn more about pre-signed URL support.][19] + ## June 2, 2026 ### Enhancements @@ -145,3 +156,7 @@ This page contains the release notes and version history for Adobe InDesign APIs [13]: ../concepts/index.md#api-capability-naming-rules [14]: ../../guides/working-with-datamerge-api/index.md#variable-file-naming-support-in-data-merge-api [15]: ../usage/index.md#file-size-limits +[16]: ../../guides/working-with-advanced-data-merge-api/index.md#conditional-visibility--dynamic-styling +[17]: ../../guides/working-with-advanced-data-merge-api/index.md#copyfitting +[18]: ../../guides/working-with-advanced-data-merge-api/index.md#folder-structure-and-zipped-output +[19]: ../../guides/working-with-advanced-data-merge-api/index.md#pre-signed-url-support diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index abccc1e..578225f 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -175,7 +175,7 @@ Each clause runs an ordered list of actions on its target. Actions apply top-to- **Notes** - **Styles and swatches must already exist** in your template. A rule can apply a named style or swatch, but it cannot create one. Referencing a hex color like `#D4AF37` is always fine. -- For `resizeFrame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that target unchanged** . +- For `resizeFrame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that axis unchanged**. - `resizeFrame` and `moveFrame` apply to frames only. #### Which actions work on which targets @@ -616,9 +616,7 @@ If copyfitting hits a script or engine error, the whole job fails (no output for } ``` -## Zip output - -### Folder Structure and Zipped Output in Data Merge API +## Folder Structure and Zipped Output The Data Merge API supports organizing your outputs in a structured folder hierarchy, and a zipped folder containing all the outputs that have been created from the successful data merge. @@ -648,7 +646,7 @@ Note: - Only one folder name column is allowed. If multiple columns have a ‘~’ prefix, the job will fail. - Local or absolute paths (for example, `C:\F1\F2`) are not supported in the `~` column. Provide relative folder hierarchy values (for example, `F1` or `F1\F2`) only. The job will fail if a row uses a local or absolute path. -#### Folder Name Constraints +### Folder Name Constraints Certain special characters or words are not supported by the platform and are automatically normalized. @@ -725,7 +723,7 @@ curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ }' ``` -#### When folder structuring is not supported, and output files will move to ‘outputFolderBaseString’ +### When folder structuring is not supported, and output files will move to ‘outputFolderBaseString’ | outputMediaType | params | |----------------------------------|--------| | JPEG (image/jpeg) | allowMultipleRecordsPerPage set to true | @@ -741,7 +739,7 @@ curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ ## Pre-signed URL Support -The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/index.md#supported-storage-types) assets are supported. +The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/#supported-storage-types) assets are supported. How it works @@ -800,4 +798,4 @@ curl --location --request POST 'https://indesign.adobe.io/v3/merge-data' \ } ] }' -``` +``` \ No newline at end of file diff --git a/src/pages/guides/working-with-advanced-data-merge-api/records-foldercsv.png b/src/pages/guides/working-with-advanced-data-merge-api/records-foldercsv.png new file mode 100644 index 0000000000000000000000000000000000000000..a4a7b9b3ebd4addf6307c5fca500cfeafeb5a90f GIT binary patch literal 62681 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 QK)|1}g1UV9ebd1I0iIrvHUIzs literal 0 HcmV?d00001 diff --git a/src/pages/guides/working-with-advanced-data-merge-api/records-urlcsv.png b/src/pages/guides/working-with-advanced-data-merge-api/records-urlcsv.png new file mode 100644 index 0000000000000000000000000000000000000000..8e6e50d6e6128522858ebffd0475fd85024670fe GIT binary patch literal 184855 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 U9=&7hAqF7uboFyt=akR{01my0WdHyG literal 0 HcmV?d00001 From fa03c3ab737907501b161685cdad4f4df02092f8 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Mon, 10 Aug 2026 23:45:14 +0530 Subject: [PATCH 03/47] fixing linting error --- .../guides/working-with-advanced-data-merge-api/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index 578225f..1214cd2 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -503,7 +503,7 @@ Add a copyfittingSettings object inside params. It accepts the following fields: - **Default:** none — omit the key to skip multi-frame sync - **Description:** After fitting the overset frames, apply the same font-size reduction to matching non-overset frames for visual consistency. See [Multi-frame sync scopes](#multi-frame-sync-scopes) below. - **scope.global.constraints.fontSize** - - **Type:** object — `{ "minPercent": number }` + - **Type:** object with a numeric `minPercent` field - **Default:** `minPercent` 85 - **Description:** Limits for font-size reduction, applied to all text in overset stories. `minPercent` is the floor (text never shrinks below this percentage of its original size; 100 means it never shrinks). Must be between 1 and 100; an out-of-range value fails the job. @@ -558,7 +558,7 @@ curl --location --request POST https://indesign.adobe.io/v4/merge-data \ }' ``` -To enable copyfitting with default limits, the settings can be as small as "copyfittingSettings": { "enabled": true }. +To enable copyfitting with default limits, `copyfittingSettings` can be as small as setting `enabled` to `true` and omitting the rest. ### Multi-frame sync scopes @@ -739,7 +739,7 @@ curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ ## Pre-signed URL Support -The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/#supported-storage-types) assets are supported. +The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/index.md#supported-storage-types) assets are supported. How it works From 11d1433e8ff686e5ccb11727a6d5f2f9dd283523 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 10 Aug 2026 18:28:47 +0000 Subject: [PATCH 04/47] chore: auto-generate contributors --- src/pages/contributors.json | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index b47b291..fc94b91 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -1,7 +1,7 @@ { - "total": 13, + "total": 14, "offset": 0, - "limit": 13, + "limit": 14, "data": [ { "page": "/", @@ -46,7 +46,7 @@ "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "6/17/2026" + "lastUpdated": "8/10/2026" }, { "page": "/getting-started/concepts/", @@ -67,12 +67,12 @@ { "page": "/guides/", "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", - "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/51445330?v=4" ], - "lastUpdated": "3/26/2026" + "lastUpdated": "8/10/2026" }, { "page": "/guides/pdf-to-indesign-conversion-notes/", @@ -82,6 +82,13 @@ ], "lastUpdated": "3/26/2026" }, + { + "page": "/guides/working-with-advanced-data-merge-api/", + "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4" + ], + "lastUpdated": "8/10/2026" + }, { "page": "/guides/working-with-custom-scripts-api/", "avatars": [ @@ -96,12 +103,12 @@ { "page": "/guides/working-with-datamerge-api/", "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", - "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4" ], - "lastUpdated": "5/5/2026" + "lastUpdated": "8/10/2026" }, { "page": "/guides/working-with-rendition-api/", From fc4f291754853652ae84cb62925d47256023133d Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 00:19:31 +0530 Subject: [PATCH 05/47] minor fixes --- src/pages/config.md | 1 + static/indesignapi.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/config.md b/src/pages/config.md index 20be44e..2b2ce4f 100644 --- a/src/pages/config.md +++ b/src/pages/config.md @@ -33,6 +33,7 @@ - Guides header - [Working with Custom Scripts API](/guides/working-with-custom-scripts-api/index.md) - [Working with Data Merge API](/guides/working-with-datamerge-api/index.md) + - [Working with Advanced Data Merge API](/guides/working-with-advanced-data-merge-api/index.md) - [Working with Rendition API](/guides/working-with-rendition-api/index.md) - [Writing Scripts for Custom Scripts API](/guides/writing-scripts-for-custom-scripts-api/index.md) - [Tips for PDF to InDesign Conversion](/guides/pdf-to-indesign-conversion-notes/index.md) diff --git a/static/indesignapi.json b/static/indesignapi.json index 2ddee1c..ab89f76 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -23,7 +23,7 @@ "tags": [ { "name": "Data Merge", - "description": "Create document variations from CSV data and InDesign templates. Supports UTF-16BE encoding for CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." + "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." }, { "name": "Remap Links", From 1ef35d369b8231b5b53b8c465a5edf819125633d Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 11:26:57 +0530 Subject: [PATCH 06/47] Changes fo V4 --- static/indesignapi.json | 53 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index ab89f76..e444216 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -22,7 +22,11 @@ ], "tags": [ { - "name": "Data Merge", + "name": "Data Merge (V4)", + "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter." + }, + { + "name": "Data Merge (V3)", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." }, { @@ -51,13 +55,58 @@ } ], "paths": { + "/v4/merge-data": { + "post": { + "summary": "Perform advanced data merge", + "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter.", + "operationId": "dataMergeV4", + "tags": [ + "Data Merge (V4)" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MergeDataRequest" + } + } + }, + "description": "This job request object specifies parameters for merging the data with the given template.", + "required": true + }, + "responses": { + "202": { + "$ref": "#/components/responses/Accepted" + }, + "400": { + "$ref": "#/components/responses/BadParams" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + } + } + } + }, "/v3/merge-data": { "post": { "summary": "Perform a data merge", "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`).", "operationId": "dataMerge", "tags": [ - "Data Merge" + "Data Merge (V3)" ], "parameters": [], "requestBody": { From 5dab7d74e86a42fdc8896c5969468b5fd05027e4 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 13:31:45 +0530 Subject: [PATCH 07/47] More changes for V4 --- static/indesignapi.json | 274 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 272 insertions(+), 2 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index e444216..4fa7376 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -68,7 +68,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MergeDataRequest" + "$ref": "#/components/schemas/MergeDataRequestV4" } } }, @@ -151,7 +151,7 @@ "description": "Retrieves the data merge tags from a document.", "operationId": "dataMergeTags", "tags": [ - "Data Merge" + "Data Merge (V3)" ], "parameters": [], "requestBody": { @@ -1454,6 +1454,276 @@ } ] }, + "MergeDataRequestV4": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseJobRequestWithOutput" + }, + { + "description": "Inputs for the data merge request.", + "type": "object", + "required": [ + "params" + ], + "properties": { + "params": { + "type": "object", + "required": [ + "targetDocument", + "dataSource" + ], + "properties": { + "targetDocument": { + "description": "The tagged document to be used as the template for merging.", + "type": "string" + }, + "dataSource": { + "description": "The data source files to be used.", + "type": "string" + }, + "outputMediaType": { + "description": "The type of output.", + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "application/pdf", + "application/x-indesign" + ], + "default": "application/x-indesign" + }, + "rulesFile": { + "description": "The rule json file having all the conditions and actions.", + "type": "string" + }, + "exportSettings": { + "type": "object", + "description": "The settings corresponding to the output format.", + "properties": { + "jobOptionsFile": { + "type": "string", + "description": "File path reference to a `.joboptions` file (Adobe PDF preset file) containing custom PDF export settings. This file must be included as part of the input assets. It defines detailed PDF output configurations such as compression, color management, and security settings. When provided, this takes precedence over the `pdfPreset` attribute. Only applicable when generating PDF output.", + "default": "PDF preset `High Quality Print` will be used if not provided." + }, + "pdfPreset": { + "type": "string", + "description": "The PDF export style to be used. This is relevant if `outputMediaType` is `application/pdf`.", + "default": "High Quality Print", + "enum": [ + "High Quality Print", + "PDF/X-1a:2001", + "PDF/X-3:2002", + "PDF/X-4:2008", + "Press Quality", + "Smallest File Size" + ] + }, + "quality": { + "type": "string", + "description": "Defines the quality of the output for JPEG and PNG formats.", + "default": "medium", + "enum": [ + "low", + "medium", + "high", + "maximum" + ] + }, + "linkImages": { + "description": "If `true`, links images to the target document. If `false`, embeds linked images already referred in the target document. Only relevant if `outputMediaType` is `application/x-indesign`.", + "type": "boolean", + "default": false + } + } + }, + "recordRange": { + "description": "The ranges of records to process for this job. Value can be `All`, along with numeral ranges. For example, '1-2, 5'.", + "type": "string", + "default": "All" + }, + "allowMultipleRecordsPerPage": { + "description": "If `true`, will show as many records as will fit on a page.", + "type": "boolean", + "default": false + }, + "multipleRecordLayoutOptions": { + "description": "The options to be used when `allowMultipleRecordsPerPage` is set to `true`.", + "type": "object", + "properties": { + "arrangeBy": { + "description": "The order that records will be arranged in the target document.\n* `rows_first` - Arranges records by row.\n* `columns_first` - Arranges records by column.\n", + "type": "string", + "default": "rows_first", + "enum": [ + "rows_first", + "columns_first" + ] + }, + "bottomMargin": { + "description": "The offset value of the bottom margin in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "topMargin": { + "description": "The offset value of the top margin in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "leftMargin": { + "description": "The offset value of the left margin in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "rightMargin": { + "description": "The offset value of the right margin in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "columnSpacing": { + "description": "The amount of spacing between columns of records in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "rowSpacing": { + "description": "The amount of spacing between rows of records in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + } + } + }, + "imagePlacementOptions": { + "description": "These are the options for image placement which will be used while merging images in the document.", + "type": "object", + "properties": { + "centerImage": { + "description": "If true, this centers the image in the frame while preserving the frame size as content size and proportions. If the content is larger than the frame, content around the edges is obscured by the bounding box of the frame.

This won't work when `fittingOption` is `Content_Aware_Fit`.", + "type": "boolean", + "default": false + }, + "fittingOption": { + "description": "The method of fitting content in a frame.\n* `content_aware_fit` - Selects best crop region of the content for the frame based on Adobe Sensei. This preserves frame size but it might scale the content size. If this fitting is set, the `centerImage` property is turned-off.\n* `fill_proportional` - Resizes content to fill the frame while preserving the proportions of the content. If the content and frame have different proportions, some of the content is obscured by the bounding box of the frame.\n* `fit_content_to_frame` - Resizes content to fit the frame. Content that is a different size than the frame appears stretched or squeezed.\n* `fit_frame_to_content` - Resizes the frame so it fits the content.\n* `honor_existing_style` - Applies the frame fitting based on existing settings applied on the original frame.\n* `preserve_sizes` - Preserves the original sizes of the frame and the content. Content that is larger than the frame is obscured around the edges.\n* `proportional` - Resizes content to fit the frame while preserving content proportions. If the content and frame have different proportions, an empty space occurs in the frame.\n", + "type": "string", + "default": "proportional", + "enum": [ + "content_aware_fit", + "fill_proportional", + "fit_content_to_frame", + "fit_frame_to_content", + "honor_existing_style", + "preserve_sizes", + "proportional" + ] + }, + "linkImages": { + "description": "This applies to the images being brought in the document while merging. If true, this links images to the target document. If false, it embeds images in the target document.", + "type": "boolean", + "default": false + } + } + }, + "hyphenationSettings": { + "description": "Hyphenation settings to control word breaking and hyphenation behavior during merge.", + "type": "object", + "properties": { + "afterFirst": { + "type": "integer", + "description": "Minimum number of characters at the start of a word before a hyphen may be inserted." + }, + "beforeLast": { + "type": "integer", + "description": "Minimum number of characters at the end of a word after a hyphen." + }, + "wordsLongerThan": { + "type": "integer", + "description": "Minimum word length for hyphenation to apply." + }, + "ladderLimit": { + "type": "integer", + "description": "Maximum allowed consecutive hyphenated lines." + }, + "zone": { + "type": "number", + "description": "Whitespace ratio allowed at the end of a line before hyphenation begins (0\u20131)." + }, + "capitalizedWords": { + "type": "boolean", + "description": "If true, allows hyphenation of capitalized words." + }, + "lastWord": { + "type": "boolean", + "description": "If true, allows hyphenation of the last word in a paragraph." + }, + "acrossColumns": { + "type": "boolean", + "description": "If true, allows hyphenation across columns." + }, + "dictionarySettings": { + "type": "array", + "description": "Special hyphenation definitions by language.", + "items": { + "type": "object", + "required": [ + "language", + "wordList" + ], + "properties": { + "language": { + "$ref": "#/components/schemas/HyphenationLanguage" + }, + "wordList": { + "type": "array", + "description": "List of special hyphenation definitions (use `~` to mark break points, e.g., `Know~how`, `check~in`. Put `~` at the beginning of the word to exclude it from hyphenation, e.g., `~Wallstreet`, `~Starbucks`).", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "recordsPerFile": { + "description": "The maximum number of records per output file.", + "type": "integer", + "default": "By default this would not be applicable." + }, + "removeBlankLines": { + "description": "If true, removes blank lines caused by empty fields.", + "type": "boolean", + "default": false + }, + "convertUrlToHyperlink": { + "description": "If true, all URLs in the merged document are converted into hyperlinks.", + "type": "boolean", + "default": true + }, + "outputFileBaseString": { + "type": "string", + "description": "The name of the output file.", + "default": "It is derived from the original document filename." + }, + "outputFolderPath": { + "type": "string", + "description": "The path of the output folder.", + "default": "A unique temporary folder name would be created." + }, + "preSignedURL": { + "description": "If true, fetches images from pre-signed URLs in the datasource `Image` column.", + "type": "boolean", + "default": false + }, + "outputCompressMediaType": { + "type": "string", + "description": "The compression type for the output, if compressed output is desired.", + "enum": [ + "application/zip" + ] + }, + "outputCompressName": { + "type": "string", + "description": "The name of the resulting compressed output file.", + "default": "Result" + } + } + } + } + } + ] + }, "MergeDataRequest": { "allOf": [ { From ec2607cb093744abe1e52014ad4e7021927ebc90 Mon Sep 17 00:00:00 2001 From: Ayushi Swaroop Date: Tue, 11 Aug 2026 14:33:52 +0530 Subject: [PATCH 08/47] Update screenshot for v3 --- .../records-csv.png | Bin 31706 -> 64589 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/pages/guides/working-with-datamerge-api/records-csv.png b/src/pages/guides/working-with-datamerge-api/records-csv.png index 5fa3a2cc800da983d200c4549e7e195c50059521..b894a533a26aae3e6ac4e26b2dcb3f008dbc59ce 100644 GIT binary patch literal 64589 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:R)V20+26mcB;w#A zK8&ZRL%O`nJ120ys2E>r`Kl5F70o{rJ6sjJxjzsg?fsPhoE1N!eC>p~P@3MAA}2xv zcm|Q?&Kt_{#37y>X9O}F!~IWTF0XkWd<`@zuJ;smLnU!p7+b=Oy@BU!%jOn1o6XXJ z{}Kc@PR;U`qTfWWktlH)pF|9vrfdDqC%(E!t|b1#4Mx`=UBs_>Y~1pB1zH*1z}r7P zW;{+~&&Me7Y?u}4grin2v`()}n;rmCBBQcuVJ<({Isl=Sg8dc4NoDb$H$S#!kEP2L zVGgVGrE;f0efRZRw))1euyLhKc(Ql(Gr$yMrgzz1q=Ph`UQTxnyU4A#-xL@YG5 zNXC%K_wAgNh5j+>Qn5qA+dfs_gYWIu(F1nZ2{dR{2}`5vmB@|o#F!ebROVTPw4~qA zj$$o$Ak-yeesAw@`pXc82$k*(P7^}3`G!`vQ|!`lxvJ@e!YnKaBlD&k{Ohyj_EZ|d ze+sV^{=c0J*fPq6N^ynfY}TO6RvqxVs6jmkO8ea1;T4zYww%PFciULu-CE}AoB*+0 zMeX>O;PODw4xE@#jq1cFu7-{P2UBC|&oKGv1p-jL;b_#!*cb$igj8c-6*bD*{2gDo zq|w8W`_-C59_Kj9=)MGyCZ%I#9~k`Hz4Dn`{bpe*;2XKqHOrckX*3gBuMtODu#& zuLGr3Y*}*Qt$f9+2Cl}H)*s5#xO!qGw|L5;=~qC%jkms!0az!kCUQ=|U;cFNg}cY~ zbrDr_nv=i~dIu+jQZ1>Xw?!n=0>vQ-SI#B+Y)U{jqH6g})Kl*uqS=~pMnx6l@<$wZ z&4TtRhltt;dM*a;8xj3OpfxI~#p#770P4(J>?_Ljpa|g0KrK{IJW(mdvKs*+i54NTIX?y@8Jr?2Lvm7>Gb!?7DO6L1ohvo zBeBTqlAz1{12@19tV6{5M2G@prVJ@MzA^nXDW3c2-5W;(|E&A0jSdNgbpK#gA>|7e zO-DN{<_EFDN|^*sx8iTG;q0eDj1z-hA|mW~1VM3h_LKzjXw`-x8`8$*$BhT(D^71@ zk>4BRlXSK4<(hGi$z zYx*;mZ2tEi#vv<+OBY{}mpi06ZY3b~mvs6S zbQ*d;p>3XIb{-Xu@P;}$6a$}GXOCbP;2a6+ufqr}?F;jLAS@y6`*r)I9#s7;@+Si+ zaYm4zf*T(oK7JQCakHv&%yFtp=xmz-#$|CgiH@>FgX*O0LwQU$xuJyq1hMXYtGFNK zA46%JDYC7v!% zis`z6q^m#YI* zZWB=M`r#_PpCG(3v^HFNV(`*&bs);YFmxC;SyELb6Cl8zPB^?kcj~5NL>En>^NuPf z{z9^X+Ms+cw|TuJSp9eWrR4tIY|qDL;;>j}U4 z!V^l(V}Ad^`bJ#o)qUG?kQCba8NMxnG`l!Cs&PHi+a?aJKm(NiB7(ktvaa{j6#_%` z2+!~FUDLoSUQDM?6o8Pk;jFFo2uz<55vH4x7AgH8P%__6 zh7=qLJ>$gRNzO2k9f((XW5lmWmmg6~u9DNyD9|d>08YmU_W~3Ct$Xx~Hc*QbHkf~I zGwO(8%NI;sB+R@=2t;7IhAOYVF2Y%mXXjSU{_v1d7CNrqFsE;EQ^{=a|L}qZnVIh3 z1>^3TUli6wT$vZO=NLKYgjIyJq9($Wh1}v}*dF88F@djHKl@}ygB<%AhYa4P*Y3tUTjqmfAcNL8x6`?W_ z8pJ4t)r>18rN8yZk#tJVsg?qWAJe&`>fm~1>6e;yLE(oJ1_>s}5KEJF z>RY>9>uJ03;gs~D)wo4>6<)UCEM$uMc$f({6)ANQ92`v{Kajs>A-?%89!-f(u1v8Q zw1IH+UfeFeJlZ$n261DEKnLO|>LxbD4F zcne=lx)$di*5C>{ll4a|BJX8U@Ib0GYm-9$kt={D-9824*N9E)xX!;LZs(va+h~7O z9AEECGS*mPwD1?f;)I7E0v7!$#dvFd(zk=)(&fz4fdAsyXz#LX+9pu^!Fbd*VuA}LZ@?X>;L|NL}|evDu4ze!mu?O8KEP1(z zB0DU}^@^$WFm_TOcSzIgJ7^t>9XQix&$=3x-;RnWtRbh{iXRE+(!QfnM3Gr!@O)x! zOH)n~_2p5f9(CkbUUm;gU*Qd+?ZOvaGM%!w>aq|i{VF85y)o2*!m8ux9KWXXf!B=B zp>qJTqyGiJih*q#N#CkqbcxkrnKo3-7K_$RBRd)U9rn)0Bwi}L_1KGU6#Y3@Nt;5| zd=jN8T%YLVVOs=V2iWHb_FlqBY>VF`$_~W=p`7Bhqq>YK2Wb;54vcz{nS0=agj&Bq z;ea!SFBSF|FKa}1i8-xp9$VHUKY*iZ8(d|jsodWEw3=NoY}@#uwvT1eKekz?{MCuE zX)aOSRlr!$Im~Tc5DB|Loz`~E!cuc`IrUf4jzm+AlD*4IpLI0FP_@#F8=K}&EJm;F z7rN%Z8&L5ULR(QHyDy{^5{P{6X>7q^AExmKWCyK(c#I*^mx7ovleXYqy9}bOn=Ip_ zQA(EQ%;36FMjD3>DeN8U1m2T~$v0^`QtRLNscmsf{_mNi;tS6yAYDzNJF#VyUtd)4 zq};y_r71{tlvT28N+*nD^RH=pjkOS#3}qCOjD^e;#DKELV~{{(ZMx>G&>C9$k9{41 zG)yT?Nbp$`WtJXCT_3-$&^BsahEuO*(SC!v(%!WLt*wYvrzSz&jdQSWV@CJ_XL^0h ze3EW)IMz|y=f{?swwbDa%vAFK9zsmML=_hbkuXeEzSDWM$&y9Y_O1ZDb8M=}sqt z8DkIWo+nA17obsVlDiKm(q8!XCJsL(F*)H2(sk_m@S9^LsdS4t@-8y>IYmKt0D8nnbtkl*HGc0vrhcgr~xj8>q-9 zrr0(PEP~gxIe4AF1LgNv9mfIc5s(u3W6Ewa##qx<5iW?!+l4j$5bt*t!39e%434Mv zFIJ1E=73)7G*+Fp<`2D!Y0u}k-dZ^7vfNlGxz{{c75VZp@Y&E0!5vr@U7Gw7{XhRH zgvTmp!BuKZdi&%5@JE@&|BW{7?5d-f!jOIg_(@9PQffj!L_g0Kk~oXO7N&g_lN&ip zyj)6UQd10&Bd=-eFpE$Bfc2XZro|3Ldp6EUIwNKsyZrb!EcSv5O72$@T)F!SGpr9s z)n+dV*#%@)sPOCuTh(C;ALGJkm*lZ5)nPqWu*z-KAxC5KVM^_dkBzc#G!wu9r_JJ2 z6&1lD6&0^z==knKg( zKUFGCF&%612l`E|LTd%ua!G77d5-k16x_q6J6Mur71(3(!5)E$d_<7p}*qb z$1REHy^Y`gKwk5Qk1}bW>{n~S$Ci>Zz0bZSS}Ml&VQ({Um|+g+RX@iSeK23deRnRh)E1isP1KD!As69F*6vYJtCO9eG*hv>-B5kotzzMK83~GCMR{2NU zNTEJJj=xQ>Q(XfPK}Gh#;F{wC2$YsnL7O&PFTi$Pr7#I^arwbF&OG%_oS>1n&QQ02QFRzp zjOd*}tv(4#P?feB0>jhD7lR9;s&R4DhSp=yZMIAYOdk7sAHag$lpDBRc(&Q_gtpnE z3-zu+;hXFN$cWk_VSq%c_Cc`!A`X>EO}xbpC*h0-^%5ZRrhwNfEiOwVbk&-Eu88)w zz6KU5r~RJH`>4ijXyLpHOxbxofm?u6dK9XA;zXsXg#LYwd5*>%ncJ#=62e$gntVS* zC7A@oL+60>H&KU*w<=AB8cTi$EDQ$QZ0+YD&T>!vclsX2R|tjS8bzo0q_t;f!o!9B?76I-5i3xS3;NL*5Da&F@f12 z{(mSttGKAXH(t}B2m&JArKB{{N*f?Z=g=UafOL0Ar+_r52t#)xF|;( zRDGRp4KOBJ?jgH*ed9}jkVHkQT0H88g724!cFE`Gs8U#k`Bohtc$EK6{bCDE1*bEb zPwYn&svtJ#Ioa5H2_&t%Pm_<90AKj#9OO^WwYV8ykAC&skG+mOBj`s3R$Bt*vXPn> zhx-8dzWNc7SWw*Lh2Swvy9GeSDKwy1Hm7dA$qMUqn=3~WT5ec&KeCHmYD8D9vZHlO zMSOh44|K$T=D%FRmDahuK`}XBVU1Uhex&_7cTvF? zC=pZE&-un-xfDr{!cR1hb&SCl)}Q#QJY zCh9{N>P!iW$Uf63jSc$%h>XeSvS}1C#qZsxa^z#~^Zkqbqm&wBu4gGOpP=Z6(Udcw z-LkDYg1B+-z-O-)j3Tnn=bxSa=rf3z$AZrOXpp*r+>n9+{kla)9|{n~kS)lZ`11`i^O{Kxij-QL>|`@o9?bR9wOv25AX~!$GPP!I2kP z{_r2l4DLFRy_1lrrMi3N6Q9wXvX*(#cftx@B2dBMNdxNuxlF2mRaUK9`*;r&xxR0W z4voB$+4HFW9>sP6221{OqsXLh?fXyLE1xPKly~;`!nXT%>2@kvNE@^*#aH=$xu*M{ z$^8{be@Xey5x2*OuDRI6Vj_q~%@p!=?8i-W ze@V;fN-l-mN41L3c1D~88sh<{-ncAnWA97#0HUshALd#s40T} zpYH(rwa*Cz&SZf)O_Q83^%Vuy9N(OgH$6$yg@{Z?jr{CAjbz+f_aUjtJ!6wq)-?5r4t)tJ#`GU9D~hs~??ZyQa%2>XYf*0eZJzr8>aTj%A79s|^O@ zl9ra-AP$NT+fE}ukDDrtpxpPdK-2P2XPd>kyl=>v3_RC&-mQM!3Q|K;cm2j{o{~Q~ zGqI~K5+nm$req&6YXw`!@^w^oD4_rO#K#DvfXFAE$!xXR$ABFDW9Pg+sGy%wRVEH! zYoqTSP;flJHwwMcktbRFW>=|flO%c6j< z(^J5IwPVl4Af>g{bZqO0<%%Plhgr?R{d?4a@UoU&Ggrst8D)K`8}&Fjoo1 zQ$~7BKJnF#E`U|kVhGps*{Uylf*ZdB=^rhk`Jj^BL$YL>rR9%^dZ~y+Osm7oMbK+e zfwnXUYzy=Y9`F z#Y*&pPu~~B_t8e5081f+;cy<2&!#NlBU1kWNntcyG=Ehz`EzDzKutU0uw-H&686*t zp5ql{VO>7Om?XG{N|9ox^al42&^=F{HX}G*L2Fp!#0=V;mor%_TkKcMia;_PKD`=y z9-0}KZIr!y=e3B)`urNe5Lwz_ z{CPu$nm)zm?|76Qajj$?Fh%EQuDn!z&Iv6C*>@cL4rw$6^y-3o{pJ#6hM=FkR8>85 zFaBBM_~*CnjfylSR~-f6&WiLM!a-^eWpMo~!9CjG8^G_#+Vl7jQ|wsWs~M?mevJ!z ze2wQ0tPDb##Du*orw@)){hKSLFwt&7qr-S~Rg@Q2Nq)|QXJ@>v&ra81v4h&~m?TTQ7VaEQ(V7vxJZ`AR|>NGh&X_q*{)WNo);oUxJS ztg_3N+u3h+vF^vkGmkyKhR-2^L9nyNh7F^fID9Pk{5M(bBks$G1ko42+u(ukl+Zpe zyjS65J5va0(~bTUC6w1Il&tzSpc2r+!03(N_6 zkPklp8nwPY4-X=~wVCyi;;y9t($_VWlGf+`F*pZ2`FX6-3+Dx2ff~t`} z7KCQtU?YDqKOG?a6GzyePz{T4N%S3%7+#bW< z6yEt~^S*QJZE&((_)(OyM}W20k5A{mT`Of?y%KCcEwf`?fJ< z2R!X|-XPq@}n#+lO;szCxkV;j1lLwnmWZJ7$-xR$AHcvfLGfKLWYSu-4B5K8t zGgAhPXH}UUrxuGo;(DIlgs0?z9UFcCAQkmW#paOgWRa*~Kg0^~yQ}Al`D3PrBTgu; zf1lU$@uzphbk=LRN1=jJmS#JOUH{s|HS@B3`psE30?W}f z^!N^zpeZixS$Fyr`f-;jZyb+>gNHZCD(ksRPk^MS!PiOK$l!>&F|Yhfu~&0=Ze%Kf z!|5(*X%Yp#GaKXb?RN=$g7ri(Tuayv30gY3vBl;!)Jk#yeWcPGye!#X(AZBL%(;gq zW64jfE8(;!s#1{hOPF%@K+Pk+@QW8 z>nwnFnr#9HTo95FOZ||0UDZk_ZoO1w6_b1g)8JZzG6Pf z-N}+u&K&ZkJJp(_CW1Xmv}S4>-^cxRlCmjN_&kW7t`HJ-9&>$H-_WR zacu|FHcAOC@^(sG0TGAL!h=o+aZv^rcdoR2oGn9?J`I0Nn#PC0@(HY^32zV=*ibW0 zwB39S$?4SzA(Dgq73ybQuE}idwEYAI+ap9eWncnOvEs{*+DPOSRkx{H5bgia80Cv3)c-SF*A_@XRB45l!#GYmkh%m@h<>Yu!N$5VtUyvu=tp!#wI+Tk z|C6rJpmeHGz5?rzL1SiWjimUtk$(2L0+ed%5h(ZGzw+(bEsOTXUf1&gASCRKolb@-@U(##duJ%siPRJt;rZGc$IpBb z8NOUJ+PCdDv5_~tK#cK2-WpE5d|^l=bqUcd5zyYUenfz&Ftz_1F~ylL@DPthw_U`ELbq*x@H9wAf|0Kx_jthHMU8%xNXJ$! zqM~Gv<@uB?#>A6ILhVYt7Y4J*&++_da5}-yk?9_*v|sz}g;5aJSEKxsSBtT~ z*(I=ao<|_NWkTq{G!t`AXL6mqwI(m|PesaO+_q~)dvrR5x0?PnZDQeHV+wi7|9N=4 z>1uAkt5-56{n)17VBgju?q^uwi;UUsnhL!j@j9N?3g)cZrk(L{f$^J;#L?^P;jp4F zrtS&8xnq+$gbfShji)XBU_8T|z;Ycs;e&8{%gI#56=Cc!%}&>ym~l?n83)&i)ynnm z6t=w%J)fB;FH>f`LU??;cRkAD_jX&@XcMh5NCqQKb54lf z&(C{brT4{mBa=S@)=XU*@)nIVi=MR{7R2zsh4$qq%>W@xUH3Kcf0A!z%gmx4dduxK zaMizh^9r>RSHGb~?+`@~=&RvB)@JxlZMc;mS(qIl&H*v}YP=oq?-DOueD`PM{Reu3 z$hkMg8#=&&S>6iRmCsq>^o&$EI+&h?^he4!q)KRZ?xiM)!Dw#*W5t22$%Iq*A+Kq( zOztG~hw)av^Qo0C{gwQypIPz7t5!FjE(r^2Ry+0#`3;Us7vuCbrS;cORdCg3NzZl* z!EfEm@UJQR_4EeH@R;J)*eg#Dn65OvPS3e~<%h`GC+OdteOYgW9zgNkbFWYMiC$t% z?2^+2J4~A>RM0QOo-WjXh#UTFk2WD^9Ib{i!S{>cR$miBJJ3L1PWNMPl25@wV; zInhge9U`WZu$W_JhUm5p!4%Ao2{fIL5u8pftn`cRX8~dT6lCS41H9g>5bnLdZTvV} zg7+5IpDAe|Ggei#&?n^Z!pJ4yXsvlB{z4uO{P-TGm>B$;TcD*j^B>^L!iJ5fJ=Dd+t1&zE3cF}dt?oQX9sSLo96<^!93 zEBmWLe<94h9ISVE+H+#8ITY!JSSGPo7S}eqMFOqQ%n67jkN9A4tjPcSvvb!^)41 zD|xbaU3k~Aho=vW;hnyv7|`{{{YU9i5AH*Cqpj@NJq3F7ovMjQ1AW`pzD_2?w}YBG z%HUSIZJn;{+X_+X4hX%mb}BetpQAMOO>NW@>Vs#fv9?#>Y@xkd%<&rz7_?5Ac5nsd zYd>R5Sj-$;O3rce(M&y&9x5O-O>*g~KkmFjw2RHj<{~){$vp2_XR}?rgy{85{rq$5 zsJ(ndm4I&_kY?M~X$cqcUaFLQLM%#9{_u0f(aDO0OFzT$XVe@MFzoL7sB~$!jQM~` zdkhOIYd?-C4X^7>Klz25>&rQ@rdhW)=`;B#BI_EZ*B{wFGzwFkMQx#sXVBvtbvg$6 z8dI~G4h(>n9NJrh>rAsz?}PyTM`y;R37c1-Ja$g+lI=40*s8ck$;;qdRC5$DuCz_8 z%bS&Pzs{kgs@!;1KTQJf^*@(=^%}`VXtp)qpRu(+Yfp!$(p){a&epFnN_@lK@-`u? z$bx9}V7Kk=wp0?sK(>QZ{fyAQRLqPrG3858rz`roP)~S%ed^&6yV>=$N`-gFA|8!` z!}^r6u&-V>X3jp~(ZHP8x5t#G27BfOMNI#}*Fos*PHnvAZTU-UN!K`4M1>`(V-_ux zN1T>yNmc6Up`b}F#>1q&n!*HFG~wy4mTH1w-=CO7w^yFax_&bVEco(=TItAe6LJzY z3J;#BydgU#(kFAw{mlDvdV40)e}HUk2M0ywRsXjG)+vd3sp+W|ShOqt9>OQq>cFZO za=F0?!}wm#j}3R%=u$$spjq+h0V(zT3C#c*Nl$XTh~FkJ3(oz0$3IPYpD^Tkdmbbs zBDpHVKVBG+>DE}szExdGH}3Kq>d`-C&0myx*Yv3b;BG-;1;S*&@@)4&o7 z8|cRfsHt8|?-L1R=2Ii1lE%;jT@%wZl*4{c5`66zXEJd0&Vx?Hx%79r*C@o#e>*)g zx$H60xF#N*^SPK$j${^nbi7{3dNzLSoI?~vjPre)49Cb^NPlG6jM$=2buSCQ@ke;R z;gZcm$lJRzPe{GUi~h2RX13%WP_5j^Loeoe<1Ya=@4oLEfWie~)UcE+(0@}KtZT8T%LRTlpTuMJAA>N-SUt1X1Y zo$fR6%D5`|zLW8Lp}a*XedECXJ})n_ibL>4?B|QYqlhd znnYecy*XJ}q^n%-t+rNN39L=wj9uF-rP6k{8`x>CR5h(g@>nS-`SXBisWt91ugTP1&)aiKZsCvN=nxZYKx19mKJ zj%%7qQkQE|wA>8IpPwO!H=K*1U|XI|maz3jfIjIN^IL*9ancqXu~UQJEsvE+1q!y3 z8gMU@e{;1W@d^CmMt#oHkGOC|=xE<4l)ubTQL(5}5l9a`_hM^e4@1Q`w;=! z9^Gsa9jEpPo`taG9Y7m>M!ZPYo)&VwC!;%kFHk8901ICPrZ&HBg$Y@P!Uc2-ZzHA9 z;CN9_VFrKrFCF-1xt94S>tY|RD4xV8peE!k36aHQ5B@u5eOLaXkm&W?JDf~###%{ zCbM$SFA3%R(keov$ajUcnS%U%G8N`-`Ap@#Vl!7NMJ%n_+Q!%fd{kTiiqtshTpaZZ zzVKMrZdjQgD}5E}H2$rde^+_>jY|*zuF&ES7C#st>`CoDUskt_h4ifQ8E;c1x7r!w zKlFplwia9lXzx-peTDBe%JX&tsT5$jv({&`mt`_-b;pww{{vv-8>4zr1u3MRRh!-8 z+Ls+{TGPJS4}aKpx*ge+%?m3P-%HFP$58p3HvTHmV)<3i2RL-N@a#dHsWgA)gCH6n zK>`hTf=9#wkJoUbUv%Ajl8GNo%?y*qq~qmQAi>Nuuq!0GNc(Lb*K-#CN8@bmo>Gtf zD7)pRx%X3UiDC3^yoU|I47+~CzZr_@zWdy_(;Wg#(PB7gb6>3^cO|h7`yDJ~@Luq8 zsyYAZeeYd)4^t;>GrWT^TN&dV_QJWN+EH>KdE=L~KrY2^vDR=ecPa*}Mfc^Zb3Xxp zv?ARKNbCkv2w zhYM~Y8fA?)7|(7lG_S}Eb)VA&>nz7}O4%nwi26Sy&9UhEMd(j_^ulk51GjqKb+*Ab z#>@e2^dYGOg+{Ja8eV(kFGAGL8YNC69QWps2UXGvS(P}zm-x^fX0^HTY}5Vjdb}k{ zyDy*X?brR~=L+;?RcpWKR|{dQtSLGj(VykBbpIwJe@G~bpCi!dbyh=aK^?1+TQ`a_ z>S&4#kgKY(^*RyvdnnrfIQGzPj8@FBE<7P^iY1fu+qFzEI1f7|Gotj9<*lVt(7TpD zvwrIJT;JuIb|!w8Y4^=zqqP^kO#|YCYgyNcCO!PqV3GLRFNph5KGW>el-f-Zt>rYk zAH1fc86o$Yd34M3Nt39sO?mhpCoS7*V_>>Ay z$IzW`C2w{GPUUM`hitQuug5&O;v&Bo)Sr3OP8Yca!@B=v?y~!`PscL)wsm@%3}O{@wb!9SLMC3!*;$2fnl9@_E0wk9cTCjn;rX1cBV}K$@h=V z%m#ZM@fCaldeT28Dl$**xvd2))TLoe(2fi#O((4=K7cCfMI?D7$S?qW0yChXtRx9Q zC?y&Ly{WIROL=A<>Ik5Ve5j<8h2fA3xpKx-EKq*$)`dSX3lgPl3N%VDeJk=FVVfvS z!aK(EA5Ej$^dsn68E_o9fy&0>+$bocq&3Y%s%9)rt)|#|)Xl{wmRe_(5!bygU_Wa9 zapKbcrc%qgKJAc7}hUjwA$3K!nFTEC|1y?C@2J;y7IHR@t2`$L*UN>Pk`4% zFmY-zZ#CuR*zq^@%#_fb1kZ!UewQLop7HlHK69{rdLiM$9~EA2@7Hlo)w9F)$6fWQ z?ViE5v8x#@KKOCJdueK7`9Ja`P3=mSEE#YvS$y599xm^jvYfD0mCw}0GfCvNpbDdI z@-L>%!)RSor-90R4pVrv{P&q>k~!v2N@}$JDYM$B2M(5Y50&e*laWQjI_a~v50+|Q zh(7SAdbl9;YOlh+DQ?tj40e&u7^LmmL|7|ObD#ZRD!nu#JdzJJOLHSbj^1P=MO zn%WZVS25yp@$xJPMbJ>L5A*$n*?B~Bkp4*w6ftx zy#q(@1d;5hRG(1B_<#L-&l!LP{i#*+%k=;C6RUADgwRCWL(wkDEB>{jxKl|FLl(mH zM8I7Q_3^I@iUDXyOl-QAZ=>Kq_=AP3`>VZAuFjbs#613oT^%=4aN_>QL6LcJ*ma>e zs4fhZX%QyCK~WQ%S@A1h??)B=NEiVelzPc8b?)T7C*KXsxD#8XR}ju=*&I`ZRI^bqyv8nfTOE zzwLFfKu8_npx*tWEmHsBN2{)7T66LrL+7%g`CJFP0N_)&iTbbRKcYCOk4Tn%x&&}~ ztHwzZ{y#~mH1#^=>nv`cx{}&o$eOpz5!p5={~gs&T@c}jx=$5@6MeU#Sn5stP@oDq z`m18~Y98EhDUJHtvws(>Rahf(pZ?#E==4<-p+3@6km$Qpg!)L)Kg-C2zbYs`3*%R9 zVv@}EC$^_ZjdLgf761z-@WbQ(7YOus(U2HJLHYzrH3Ccs7KBdjojI90L6v7Fq_5@>LUhwrMDm1y#EhK=EN7fVg>9>)A1Oy;JrH z6l#s1&vOADC3)Z$e2W>7Y|*Cz%&RBE=X`qq#EkAFwI5FO%>g`mc(PIHO+x?|(!IU} zD_&bv5?C7WCd}2KkN-N&Ob01C(VZj!*$kQ* zk6_e8t8^ElCpUmnZ3euNtG#vVj1NeS6FFU$7X&(zv}oa(!cEuj07yOX`vy9lI?gCh zscoSZq0fQ%m_rif;erDO)Z7)M$#L|Z2%>m10tP<-n+*6BBXVtgCfCh|H#R%{KyjB$ zN@4N8(jO88=e^w5OBJ0@O-0dMo4Bo4L!ZQ&fcMHfuPOqV!ZlBTT4?TO*GgId)y+Bt zoEM^e9<{%gg!@0FI?{`$iuvr>8Vdj`SgfwsUd=4a{;TFqA7)3`BG(v5K-n-a2h9&} zS}0(-pJtCN9!pp~equgx*&icyy=ez1)xj*FIx}~b`NIVnqysfQ)fQ+Zhc#~aE;g@w zfbHkUa#kozD0I*WSc)1Kvj9Y8agII2_2g;4DN7sbP+Zo>6c!K*7g{`ko!al6FmyBQ zshatk2`#$uCdJqMNa_*I6bmwoo}rpoGxtC$RzuYCG)B@cS(&@MC3|Kis=w;01%P=B zUXx7=$w=^HwAkXzLt}vnyK1qXNyP)8Yko97WxQta+lQY-5{Ld?8@=$-<9~ah2dL7y zfNcgLE7igl3frn8^^){JjZe6W#8KB^;C}8gXs(+T5J!*WZa(brxUIfm3%?y#`Dae# zHPt!Sq$vcy&r{C;BtS<0E^}2s2Bwd?kv0<~gk=`??XG4=P*g{o}it{o6W{6Pf@y!fJQqsWE6^|7m)AQOoS4cvYE$urSb)in()S48qE{29uUhH-J=*0O@=Gsx8_<`i^Tx_;|=Fi~2AX$uw z&N_=Gj*YcGe{b-c&do1@jBOg-uBPG8S9Rqn^5w<}$eJ7O3&#(O;{oAzb5nCbW#2K& zj3m6ooRi+sh4+_&Zo+^8vCW*IW4EX1JElh_N!zrSD2_03*z>-*YY2B6-25+i<)2La zao-q}MR+G;_KIA{r)a5TM-k7kXOb5NOMh6Rd`y+7%K3B~NU9t3l&i;oBO_!1$yo5a zLv}t|&BAWCO$hdGJ5DYm$o!d&j>JkVUz6l2Zv~3!xvpd)oV4m~MU;Uk13mVL2RSHK zo-zoX)a4;%dtvP*HLba~i=y*tdzm8FwuGl3LAxL)>NN2?9FV&+C&6FJ47l#|9^R`b zoSiDETSzYfJ?;CgXL-dL8`W%fRj5-~;WKUo9;psH7DCo2)=CB=1aLFW{PFCST>ADt z0219FeS{tgAj`?=+%P&Z2?6fG-;I7vjaBKfFKC#f*4ZVN@u#W5{W`T5ad)0|(aeqj zf0AGr(aub^TNIekiB)egJ;%|UfI(=z4M9&Ry5ukM02b_0bMfgXoHp72REhxc#t7sn zeTugHEf?Bf{&9FjFzB|vi{$m1$AUxWgCMB|krr5#Nx+%Vq(S2J9@n2|#sCJVg@f(; z`HmHLfMxlmO$q=!>8~r$ux;?02(^U+gtN^8wRk!q$w4khbXG;MaiX7LC$8r;JF|5i z4hLyBVY8-R0yoHKBVX5IjZ-OUJrUCj?NrFUkAkel%3t!7RG0W_CIS8YE0?h!_O81m zSW|XRN6i{zLKg3@lqYcCt@DP?GpnUi=0paF{3{JNF~4YR(roG=5c8IuC3Fa}Du2Sn z_IPGf0jTc%<{t#2LLUE>`(AJT+_+Y4_l$8rrgwNhj;4+UbxhWzDn-S3-g;jT8{#Yd z?EKpfLw{-z4cn39Y)9P{VNcoo9*Y#|jL?o{%zjRsFHrfP%B2Nx!o2b);Fy z44POI`61ktGm*-c*r6*3ZWm@Eoko5tn_qB$ zvyxb)U&lwj z0qK`gV_cvM4@On)oA4@o5v2N2Hc{=3&Pe+3^nah9r13ciGj~FTS4`do^mUwgdMMs# z+z!~*t#Nh8fQHu^uwM$(g4}-AJ{sF_uXSHJ&c;g=R&aw$q zI}ou2pmNtnHhOb(-9sxBw|p^Oszc4xvjAp&9{w`y6gt_b^t0wY!C~$AV_HlW>0Q3-R?UO-)*w-JxumEVX_IkyrVE%-g&GLgeV4L*YR5@kfy#54B z^*sf~KDGntLg^9TEx#g?RbexJb`2R`ocbjx~qzgha4qcaMA>Mgi(6MlbKbY)jPwxZ@Xbg4$nqF7oWHd zfoo6AGLrd6CbPmt^eE4Gn$H(@^=(0G0&pf> z$f;R|?q06Ox^arG*nkOhXm@Egk)CsJFgU>ym{Etq8=shB_XaKxVnj#faADC^@y13v z++M-`jQTi?9lx9V)m&C!DqG?vJVzHdr6k#nmf?FW+O*-=Qrj+6g`<>3f7QXsA2_w~ z18T2g@<&gP6Q4IpqYb9fb&!OI_S z6E8oAEvl_)TXd&~4;GQepLW_~x(iO_M;r^f4#Rc3A1u=8#!m-GwcUZyAlg<&RBx}h z%7*}a^72dsHp!ppRLL?%Vw<$&*IJM8&Vx&zCSHuIWUco(%3C&}dHF|By}9M4n>R;%J(PEoz zW?sZ!lqz%RRs8VlPV6`!UwUDVZeI&7;D&vi^(fz~(j~rM)vI+cw4vQK&ab?F8gD61 z9R5*}x>_6LaT5J>zuCpwST4k}dEBcrneWSmad6XfBsDu{+=NPb17Bz&_f16#HwoY$ zBj|P-_}MCuU!)=~AG-_c4X^iGNU-wYT#XPdH;j`d%*_n)&fdMG?&g8Yt=0#hwW}Nj zk>zntM=$qbyXJO86T6PGR+0Men^VnTt>$32drY`rKMa0dx%$P8@wb~i*q#2vCrnBd z#^5IH5*pQ>5>qZq2hgH5um6+foxl>HnDjSLR?|J11n+e_sh>~ci~m?V7oIXByKk}&^6 zasJ~D210Sp)zwtF}&oHzZZ_u!Q$>Z zJL?eW%vMDjBG~(%*{jO=Hj~Tcp2t$Ird9%uU7~CNboBmWzU%WS~X^I>3 z+%j&%x@SVRhxVI7xfG0NhcbCXndUJuTEC~&8Us}wq#xBzAaMTSxW}CTYIGymKFPaW zwH{8VMGP?}#X9AUiny^E)!Ul!P9~fgWNzlu(uMmQv>gsngg+RI-F@}p)?j48K!q#! z!9!f7u3+w*)Jl}>3YlRnGUp)c78`;y^D@fXwwg9u!9t`csg>OzuEsl)5j62;Wm5@`}JfyU-aQKmSbn7&FDWVlQQWI2T=VBR9VgQ1aX$?Zs%mGnImXQYX`@bUi<)jWFm2gn4^7c1 zj;?4A+!dv^I+n)aoPpx2Y<%jhWiE&8Ii@!ChBp z5~P?Ddff%Sj89*lMw~;5%MUwbY)`2zh)PhEw*eYweM zSXaRVBy*M;qdj{07|fgoyy@)-(k%R4kfd03ghP_Y{0o|R#LZ|D9I!Ka28?e+36)Fc*8*)K$#$-lpS zmbeFRU;cn&4YGpKRFlagKhmYpBM2FOnh`~t%J^==) zuJefUj6*wn0@CBcCia1bkT7q))jXFyk=kPV|j-H7&v1kzWKX6X*l;QyAPeF z%d71bE-o@(EvnxT6=G3vy|cAk4X+pUx657|4-|J$x(ybjGm~2WcfYJYI!w;*r{|;0 zrH4{uKMqz}-by4N1wIHh>*J@@}-ib>($-!>-DeWANG45*QL5AG_UdS_|~UHBao+Sm^-QLPYz1@ zKknFIuE33~Fm=q7U{OL;;B8#VM6ioPpt$_jNNI+K=V?VtEdc7WgS%RdWbk->cVj6< zZ%x~y12i$6@c7Z<>l3b6;(G7tK)DPiG>q(o$Kb__R{o)%nwjWv5*#cIudLU3aG*$L zxM{l{Lj?ab^_K|)2GWpdav7xrN{=3YA(-^Vuy1kQ0My(6up~yk+-`^LHz|D` z|HV^&K7Z|a!SqLlxI&%f;GT1szTu$RZ$G1+{%-%8Y?bV^%zsH}Eq8p(KM8aY0$T)2 z_TSa&-b=Xsl^)&@uAm<}_(oDr2epXSTMTj(aNllhPp?pRF$O#Z2RRpH=u%rwcVvKdB(>|Sql3^m zoZ^$c(Mb5vm^+{2K&MwrH_X~+4(3cb@3u7nSxIp?mhom0iJ{*>WqQIP))efoVlRlUdGadJC;UQXWa=HOChxy1lo15? zw>s5sm9))D*;4rhRRiqyWu0DImooZJ<4s4CR(eN0rEg0IdGyCy_{<06( zwcm^HL(|@9&zm8%Be!+2bp(XtMUe5TE&)P33oAmk_kJ!FVma(m{W3CK)xTMJi>9P0 zi8fhpjaZu%Tz)>aOZ#v7MJ@BChuMZTH6xuH6PuHdxO&@U1$D)=sZXWvNzjj98B;Z1 zpzfvgq5f{#_vDYY%C~i#Bp((>0VP^#U~wfv0*>E zrF)-CL8M$5K8H-n!CUoe!_d<%Y&`a!sf$P7%%4(2`XcS|sB~ zDcv+JYF~SeV=MiwyPT|ypxFvOT{WlxAe_2#yV!y-4zh-)oNX$1=BppZ>$c-!G~4EZ zUh1YlKf$n%iRP-+W*DOl4rvpvlmb3fR`Rzt zm^gA}3zQNo6!cH^({e|0i{K`jXPKYPdg*o0+1!<+kD19jUsG_&wTn3qSx%@le=SKm z<23I1P*L~DRQi0{DqC`cuY_*Zci~aROXKd|!&vwX=x6@-Xb}fOd*2&~186km{hnY< zuvo6Y+oK_h&RaD}I(pWw=kd_Y|3YSc<(i_gC@k>n_`De)EJ45L z%p?Q}ckvf8db0gGRW#DWkjxSERbV>xNuMfE;OMOK$?f7CcL&9X_d3@by&X?7!OgV&i01THd>NyD8kX_wjZ`@&*Gu>DXgkYf5J@v z{;i<)kVcK%#4tE7Kc5$Qn(fxljuG64z!Eu*>j6y(3q1YdZ;kGCu|oD{kWUiLJ@|d=j%7AcUuhK2bTTv@-_q zI&U=Vu5XYKr@DF9&+K-Wr0;!o4X>b%1tm8aKkzgr4$R4FOMdZWXzwQyL3tZDneMbg z5v^H~*aN4epR2Vgu)+ISI3sZwel3;LF9 zKQsUKMdf8-g<~3Ae9N84V$~{nnc#+wsjqZPY$VUwhIL?C^JCK;N2_&ROHOxr#DF7_ zP^&7*jwrmLDItX$Ghfb8HP8tF`Rz z{d-_L`W@5Jfmi~@bJ%I5h=1E1B^os**BZ~H09*J=46H35qPkkh4gWGlLLlL?E4Qii zdjhPgJ()yv6NW@4$lJx7^MMK$Mq>AeS>WohzDJ7tF!+#@`no9X$9QVBr|)U-B{Z>m zHi44U2Fr+}K7}*isP1n~#E1^vGSF6pk^H*wc?aPZv7f=%KqGnu)+TfxcN;85pU|v^ zp-*TVIEH*X-M4BY(92f-seLDHBh}yELuaP{j&gYg+87LWxLX^^J?Z&VJ|IZ;*o6P7 z@p%21#>tryXXNE7EhN~59a{5zrw^GgY;GXr)K2)PTBuNNV3V}p8-}+`wQTDdxcBx4+Zn+CaCB*@S0u8&!=_-89w*2@atcSo3 z`+VstFXBu2V9{bHRiF2C}>Ar+@6UTfSKKy6`;Tx|zc4{R-iv$eFu;rfhEb z$NB+&ox^BZ&4k_+x4%%L$?byd{NIL3x!McmkI7Op8&dZ2E*K71oH=sN<1G|%UwdBF z_r!Q3t;`fT5`H`=xPH)izY=FKbk;hF9q})si{^wwEj^FZ2M4)=Ql(R;C3w}pER?tj z-!+kW6~){A0B<%h%NY35G8aI*w--|IR8yb&rQ3346s2rI_M_%qM&;$or)kjol`kPH zW)|;UA8mQu2?_Vmb&RL`3~^arZec;EV@RmK5j|gf*rN*N-X_@9*?nwWx4fXk#(hMP z*A``O5q<<{w}K|&6HfTg$_N=dvF(lmu33DaTf=YM-poWHOJDy7#ept3(yz4aU{Og%GFZii|Zw!Trx=*;#lD zT#~eYH%AhqviIZ^)2Hb6vbspGnQr%L#BsI?&A+4P7BWT`%_*;mzw$wFraQmf9XrK+ zOJG!@1h7!ck?o!CuKN7^^>yq=c;QbgtG5HFiA!I2PCthg({Dko&efBNX{*jTiX^n` zt5v_HiEH`eGM4ndm-fE`TR4f*f9x6v?r)P3GO%FHMSi82%Ih5QA=r%z_bfszkB~uK zcdX-w=f8NTP7PP>O0FtlMG-fUkvgbcq^;rMXYTkC{0-Z}y(;y_^{^zdp)|lNVDgo1 z-#NkZPng8oN_%j=$UZu%Fg4Nc6BPu)n8q6%F||ZFr%<6ezFk!9={eEMMj!r2 z{dlw3i>8w(?LWawpN}OQ77_Tc>nX*&o*$W@ZEF?6(e zJKANs19K$`jk#5#ujk+egeFw_4;nlDd7+uZ@xseDFb3I$KHt)0`E}b^hN}}_W;X*Q zpOU7^C0AnM_M}ZDMarq!p|XScX|d;OMDA^%_f2vk2cK9+rP(67qG!(%r`@*-tIMHS zF?|b~r~N&5hG*w~JEKMstVOM-{XZGawYmiF>eZ0>n4fZr;&hD^qLD@ujnX+^F@YG^#yXS zGLyQ_@0Ykhatxnx12oRi^i z@u8=ha@4Fqwwhf_m@<{G()|uJ>jppHXf~rUwwphBhDEU?#3+~c*9O>L9wSN`U$J#Q z3uzUKSMu$>ht|H}5+g(tibhmTdCV$9t50A}ZsPYS<+pe#8EqE!=>Xby`}|J?hW>(b ze)5ao$BDB{ymJm#r)tFHydb9S8$sUaC!hnMFZ3Kc)_1XYN;bROYou)7qFG(a&ybm| zJk5aYZaKL%gO38qXzUzeV&Fm&bQCI)cGv_G(mo&I>5TbOY*4bJ$yCe2IQPRW%CDoX z0^!VXyx?V@9DMuH!`AY~y^Am`{4;hwWb-LyR>$Xr&oKS#7tM7^l0A=wvCSSKu{{fT z6%V{&2!F9>p-X!@a#K#}5X(3CaE_lt&n)|bUOVNMJsFtfjg64M4$otLimZM+8{O|k zp=&a*Mc_W3t*jGR@WSo|fxS#^i49YdvVruBwC9S{?31D>M3Pzo`*lzVxsj+}Sf3Y| z9bEMz<5)>yPA|gToCmQ!PLaQZu_!ws+wOdGHtOg}-!@@Ek5-CA@A>GP_31$Db_c#j z#ve?i@+aA9!=o~}1zi76WoH={W!L^|8j%u^l5Pp9x3X+$R*m=8UrmcQ2C^o2Oyd+z%7Q$r=Jp^EL1;*a^Axh_5{Xq-gNT4Mh=19if zxT!I6SYTO2?pi21{CMNfa~ z?~8Ekami+JY=g|pR|PAb{ymMKXtrR+A=jDt%Wt)I?w>>2txC+ykp1PO3UG{U*{6u+ zmFiF~EWUBJ$;nWVY1B~hqQs}9fKa!uYTE{Y3=?bjR&IgV<&DF{UMBKYLIv7DWSM)- zG{or+jAJ<>{pA~nSBDX6VuMcZl_QgiP#DL#QQK?jJ_4A~9<`q2(rX?x7b%Fdw6X@w zSNG8NsNOm{ML5DR0{b3})Sb>d-vKJ7yBS0^iewJluHxYj?@wvoN#wL@12iR))lt}Z zIJz41KtI0cwuQ4v!%LKndrd6Vj$B&heHnZIZ{R$0BO5`g(`&vkLgJ2tVrl&xy=a=tZqh!4QawH=88tu7zvB34d54GyGsItde?84#Rf`YB;>9 zni$5=?PxODn&+nXz&q9z39aCa|Cc0FZ?Mpb1E3o(T(faP1T_F6kwfflD0A05ycKt} zj?E+2^}U7~WO8D9v+vZ#G@9 zYgzoQRuF0N5yDj4o6!K(ws@jkoS>d|*BSJP`q0o!`KdC$Kb?X>2)Sn*h`A&_d0jrU z^%p4ox)6u;g5@8AEc!+3w;>&r)~$x?Rm2#|BPSA^NKf5_r720*^n=3yI^rR6FjMu_ z`2GdN7C0+0Cje)9^FrQ6_2r@~na?0R9Ad)uzzr@XoUUiLKg zyqQz3rSTT^7HDI?GJsKG|94cByLJX4s8LD3P&67tL6^s?i5U;dP@_`T%wcRWa{5(- ze`XCx)@Cl$Y8d`AYbFh9&B7=MFtnIi;8zxa1|8LtIg4Wf^Ew(ETAM)4;ajKqNT^fW z)?X-ROM95&@-nbcfP1ZKhQMDB+bf56~v+KU8#-J2Tmn6XWrHk}cUJ4>+FM}HP#8sM4WjtPjU<%1CK;6#x=xMo{CJtu z!qa-TybhAra=bt=p`8ri>%=td`(aN>tsB!bfZJkyPzWI`Ht(6^HM>G@g-Qrb^#Ibg z(jfw^Zj@c-<4ti0=r5G10?8NTbESVT+itI&-hwR8`kUYb&q$GR{$AR*%DGm>tl0}| zEz@3q(u-LUqwiK|7Wf0MfJ>k6_S^2Kykp~}XbHsdpI^0GBS8H0<_LsF)$OiqHsG-S zT08Lo#j@0e>s^lznpwngbM=5HO9tQc`TP!)PP2d#SqG(__y(YoA9V7+G^|27{mAu< zh5^@CCV+B*ZcmisQJ8oxRp>-N?*+A@1yrc%n_6xuom_A}vg^3AXMx*$!;dm?D`blk zh5B5*7Z#aToD!`8MCt0LJ9oVerfGE$Bczc0)0V`~y9VtsfQr>m!A_KZW9rzjCTOQ@ z0a!!m%_U$|Q&GYxl*3C(m4b$E8<_O~68G$dZwdN8T0H8VpBU4F?(9>jtkx;K;GTh< zq$PA*+L(b00CHHit)5?_Op8;81ALjXmvKqWtZfq?iNRcU{+_|uLhg4GBT8HrUtfIX zkmjr+yyb|8Bs%!WBrj+Pgsfj!V| zrxW0ndu->Ux;S2SFmqIZ?f1(R|wTXxTPS z$mCNx1BfJ#&w$~4oHWvmc);W!OfQ~or@;fLP+y}m7ma*T>3bPIZf(N3dyQ+vN3_22 z>3;`KKwDsj=so}x1bl$XF$E>``+0kIlTF$3unNaNV_Y?kKr&ER z?%HTgYNIU8CnHI%!am?bnOP^&(~rvKO-WC7l(U5+zVmv&#^))QoBw3SjRcOJDZv4r z6~9p*OAfi-ejfL%>3HnpgaJz_v*yZnA^#iT=(Ah<(-fy(Surt%G44+BBQPD96$|yx ztn|VvQJy5@VY5dv9EDCzw&`u!u3_%o%w?TGp_cBuE|lq#MMl4agjwpzA6*(>K&{S= zr3Ib>gma#L9CaZ{20W4uKJ_7uUJN(x?n81tt-aVPwxaqIG=fs4AACo;%JTta>5H{NPqdrDnHr~+p)DhX`E=`y*!BaPXp@6 z+kWI$c4{-GwieFE2@vxrt1Pgqe-WY}y`|yRHs_id;qsw^0MUuDZRps*HUmn@f)~bp zfWgC&0?1n)HGIpP7kzs^uL{+cR*6a&_I3i|s3L7ky`0%ILaLX-`gjG>YKh@XuVfE@ zupHGYWO8JGn*$Aij#t{!`d_~=YzS&_Z2PWW%yE}BSLSp5y`JnN2H0S_GD;S5Jj-xQ z$v%@T?=xPNkzfpXWlTzsUr%t?8kO6;mSl$76a{ zC~=^XgswXZKQpdt;`E?4UgPI~1l%zDwU1wc-*KClYMMyw!hO^OZ z)Co#jXGP#BD=$RNqbOl=8Lxl*dJcc@a>7&RE|RxF+4SkL`!){m{Ghdng|ln%39*Z0 zU)1=n;eaWZkw=&{%E&%ifg!*%EKnsVP9(^12$?^{ht}B1cq!}~ zsBFP`OY}??xZHku`}CiI-90xcAQ1B=lH^seDwpOY_c>J}HZCnQt_lUCOQ>nMFmca($BaN2+(sV=Y0CcPQ=~ET|rq zWI4V#B-oG+P}2rp&+M|$?2l@&-&sAHbEi; zY@{?L+zY)DM9`t4P)}3a!dyX#D`s=Pb1T`)sq7iDb7MMFjParH%vyBuJYRyXBBeA8 z-FkG@&_+Pk66O@4FW&QTJ~6H;`-b-lxGnE1eA~N7BSZn6-sQ7eTN;Yc2h*nH(8#NK z0QaxgQZ71DZCT+G!adro)++kU?>R0#ckQ9Jy6??PE-kdRaM`DFYLkQqi8i1C8$Lln zzUW)l^@3HmAd9b|`XDN>rh?+jMRd)tTMAur$fb|%I531gEEeT5`>4d~|2**Lq<;Y; z@$XB(KK^tT!CmYMx&B$gnECFokC)Jg5|>Q^Kaiup%dOCwPpDYdqI5UO*j*nnZ#Xh4 zU<}}5N7Gyc&DwJ40q|p1X!^Vm6~$=He0~C!HZluMK}~{{%ZMZ=`|i(u_!tk;0s5NI zzsp(ug%55&p;IjPi~K;pRwe79>^=JA(VLagnON^5g0cXVD>b5C>b8MevAH1}4g6Te%;5!NMhN>1qF}ImxgU|4FFzrv=c7VAQ7GJ@DQy;crO~ zD(cvEMbKAe!shq&koc+=IfTsP>9NItRYcKbqz;l%c8|;JV)N41GS}dkvE51I(jqP$ zB(nz3;W#lbE5*_~#W_b<%&yMm>_!~>$(H`P=7!e-n_$DO7Tcu&P6=4sEHrtXl4YLB z=T`dMb(o^u95S(D@uVI`Rxg>ljVI{XXS1COVHoCh8XyaP*3i=*ekp37rpHb2;Q3OF z-%$rqVe{tJzzNM$PETg6P#|5UMdgF{0fTu0JyhivZ#EZc`YZ>=?Y-+0FN9A<>T&!R zt7zi^q=uQ_$g50j88$nK-g{jX7V?XP)6AE_p7hSaPi&)y`z*fiVZlkD9Ld;$XWH}= zlP0VZ*6)ur_(pz(hVlQ{8OHPasxpuFx|`vcq!6g}U}w!c4o=&le_ytuti1{E?DfWc z?Xig<_jZP(L(a#_{M_1U`{86=!7WAdTgJY}V{==gWS`J(e zi;*^w!i+A#h#_i$S+|0q-vQ%DMKwvYbz03;wYAQKF)em0^S?KzZ41(BsaW?rCrI68 z`QQ?*Pui=Lxylh*dy;UaE{?3Bi?tTOK0AoiQA~F`wBS zj7vhs4OTQhr3^mG5st@3V+-th`}7snTS_|6Ay&KCIxUS48w^x`l1#j9CUmI~$)acPB$T7&r^q5|sM9N6}7rWJT#BijCBu!_)b|oGJVD@}x?6PNU z*Q#9amm6wriIJ6E09oE*MD-8r$q_qX4}}+v7zc}SL6$dsksoY`r%L99W<4JiCp9xz zs|@3~0N*7`5iwv1CE2!zX_q@%;skO;(d}Lj(KF0W4U;rG)GvMHbs|XP|D1csFs9>1 zuXEG6j_-Uw+9+IiZ!5lYixrcJ`xo~bReD%j+e7AGUGf*8Psv5> z%MYLK`p(yM8sP`cW``>07+B_H?@AI~N=QV5_Xy<~vON+)U&+Z+iGZlKUF58bDuPG zJbd6J8a1#Y1K;#~&+jNif8@9Lts|K9R1BmNHs6^i)QtzXU4NvU7$DqcvJC(nY%XUy zkn0>J;=_C-)9ys6_@-`R3Vr-bwzCC{U9-a^2Ai8@R2lx;Ll!zzLOJ|>DfUTRl1Wz> z!zo%KQ#!b}JRkT;4fy+ZiS^j_S8hD7q!{%o&D}iJzyFv7#N?4wJmn0@Ro{C^tDkQ& z@&NbU2!8trUbm6VSVa$k{w%UfiMrgxCO5&nq#;2m<4<~QU{3I0BG+Cei++4-Uva;K zAcFl!^S;^vb))$Q3v_kQybZP8^JbxHOsO|dr@`{^t?y#xHav>;X|y-O+6v3ptnw8r z0PI!@ZZ9iiZst7}^e!n2efz)Dr4T`BYtfT4``Zl^%} zqIWA$XPy_@$IDk=uq&OgJqbjFDw5C<9Z@Mb>+~x*k?rY7j1U3I0>_M?uxnH@(l(nk zMpy-2e@OSUT&py~4sp0fBSM@Bp|DoiO%v4>>F_CD>?L)1RA1zkFEmoj_@x1>4_GfU z%x`sh^o^NVQ9_io2Hlr-LwNX^^HSIg!SoAp_aH@kWOwrf!%|Y#C5z2vD&FAl)jNC$ z#xL6HMy9FBloJuEL}+Go@<+t#Mxmbz1PPodpV5%?)sQ}<7r3{f{cZ(CJ$$Pc&~t5r zMW|5RQ%wKk;y@g#s_T^mw&|n#6}ZRIs;F!d;uJr)#BB-x6vX8mFxB|>#-8FMTYJ0? z>9NZ1*eQSo=o&Ca7&0S!jq-n$t&%zx#{9u>5EAt)a;*1_RUm;_)O^0AwW1^~ea*Gt zvBXOE0`r~F(H?w3#ussaWD%@P&3itulUfHkupKPi_g8jYWdD)jdn=6H-_ewX_kaSz zT`TvGR#VXHto^e~s=(+i>=Ge4e?U|>jlEA7kH+mS7AB>76>3Wt`{HqZ)b`Y*pSB9o zchi@je=}t{yi}f#<;!3+X6wr>zUr(aE}7cxlE-yG-_QL(#r|YJZ8*4U%W%T+J`i0! zaXY%N7G$)!;PySxwU7L!|NX%-lVaoK>o{2^`lz=3p4G;Fb8{}%NL-6{33jo=gFumR zJ*I;wP0>LArk8Q4E$q-p3>T)S6oXgM+s!MA!fA?IGq~e}AJKVT=yG$u(?ujTKa|6} z%o!&9_zoFOE^_moas+qWOx_}}>-%m&C^}^$DDpW9{mv4H73_ z&^W})Zqo!H+c@|FJdo+o6O+B?^@4-SB8WlmtXcGLN{{T*jJ3eA@{ zSn?Yrz@uoFm#%+ZOIo?;q#axrZgjrkbb(!7{QVOF=UEhb5^zp|wXN!c&ff`n;9*Uo zs{?k)baFce2m^5YYb2&vk6yk7p-XEvfG>0KMUM#n>f2DC`>|{MQ9r&z7{769o05sc zdIf`%Ou6NAGQ;%H0>g#2%}-=a1S%<<)eBVhJZc3d4Lh6p`Tp5iHYi)9t_q1%yLAYbAKw>O=y)~iQY zk9RP)E8mtpo2v5uR7}j>vQ+doS@dcb)2{zik$05R$T{%#=!Z-d>9?u3n@kkB=vd+)J)LRbjD6#K8S8Yg#mHym zfSa2KM2uPc>Hu^kxbO9$UF;)C2k!Y1?mXyDAKQAid3=*YY5Eb_(!&^eosjM&&52Uj zea+IzaE)?n5xp;?Lk_8;3z0EXFTyDCMF`6!SW`iVRz>&l=-)DJPOABr*(B%fEELlC z8?!S&DAQqd#S8rIIRS3gV7%TYw<^1Jb{m@9AK6Zw|I0qN+mMKESNmo2985A-{cf+6 zd@+E39L;|+EC8vWXRA8sj*FYTZ?s17+lkmdskn&JlGLpLzvS9C3F|Rc@H-Z`>M+M_ zSd0R}?8WBit3j-&_B$4x&rnS7?%K!-P~ee3fambHZp|LmhZ`9P1LNsHhiUh*aS@)i zf+SSOTiy09#IDSh4myMu#VyHg6!v+q>HTF^%tbEwwynX*rBak2S;hA(KbB@vp8ODY z?2_$6C25ddGh*4YP>f;s#;Waa7U0aPES~R-6AwNnD93?VKVc)d=-s>{&!f8_Y@I$0 z8jEZ(`P{rvZ`;pV9d+$g2W_oCRyJK9AS703P*SR^&{-3NM%JZe(2sC8TUN!v zU*uwBy3ad@u0~lgTGZhMTE@_!hQ{So%D49p1KsMAw6oC4C$W|)J0r|x8$pxo(S>^1 zJ|svK&2Cl<2D<)~xyJmCatx|8H50-DYGgYE3kLSS28zIwkl`#B%?v+4K1J;Xb;ZY#gu4-Tsgt3xl=c?06-cxFL1{JojUbP*y@k0uOA0 zx7yH+TrCbgbi3Ij^K-D`5amoifq2Z2Cy8p|LO_#lTPc#l1RFAHI%0J%887MWaC!TK zrT{3UgsXDrW6PK)4k0P-v*zlZqJun#cZA>7jG-#jZaXi)yFrZsms?NkUChXyj2Ymm zeQU^EyCr1o5a$gczdVQbG2=;Tn0XxCBgX-*OzWti7zUE~hr0sixBT29 z^>bl&^0Ec569jhO=4I}F=ylle(rv(-bp_qOoB1Q$v0UgA0+bH7PkyH6A|YMFpe=@+ z4z`0p!olWgpS1L{(g~^jeLl7eH$>zcYN9Bdc(^U&vGb8MKnU z>#NoNS%}|;FR1>#os&4?oV#fMXIR0syZDm?qYl_~`X$XZBV)20zuQBCdGP&kzg*pr z^p_!3LeilN{wjUozWLWj5cy+=u#qq~t+;m&8E%c{DiYc0{t z@5E`{w*8D&EHyupR=kCk z2=ADEOpBroD!+@CJqrv`LkSAKl%?|Fe7902{$;n#-7P(@yTi?15Y{uS){Gs%vuZcB7YR{BrupaC`0!2LH}qpkDD=_}I$y;>K&utog2Pl^eY?G9Ke_w4p$GTI4zH z>H9QXJd+-A=Ie6XDJ;%5_QTJw=?{0aWw4I9Sf+d`zro!GjwUj1=@T+VC5P~1t zzk{}P5=pMMZDYchyW$q-dZPA21+?Fsw7iLbVd!km!RXwNanhCLN*bI!AZ zkj2imrseW(EuDj)ep;(S6mC7R^VSM}PtMznjO-O7cpq*h-vd|a{nvINJ3xal+68+^}4)u*oEcbfT>U{j`!f)A#nB?G*K~J6{UMpxAhwNu=H>fPjsdK26 z4=%bsggWX*a}d3KX==ukH&`Z`~M$inC2A1U!32G(e^u;2Oz^`k8-nfvxRA|DZ6bxB^lyb&fCR4utxIO;jJ77(F*ZPKiE2I&Asf2-2&2N#6 z79;H6Ys-PYW$o%0$C7klFLj2va{n*)V(;P_jZblIG+xF1WWFt19h17%P>py~x~7Uu zI&BUF^Uc-5RDVIE;I2@tsz3X8cJ5h)tzdueNXnU-I8@778wXy_q>;D#X`VAa zU#PO8<=Ga8*n+!-01vCZc>*0Ki1e-XrQAD_xNiUKYc?(P<)V@q*E$<^tS2~=SCDtE zah>|Jjz`ugNuLQOThad~OrsTS`27^P8aOonsPY1S_%tbCnAsdn&tNu3;O;x-Jn%tAQNhAwD25p-?zs%q2s(DC+ZD1oK_6W*(#F>Cp1DkAb|jPt@{A8M745+M}}WD zMW@#~Z`2}d!k*RUj(MO!5ITXi)!1B{T8lVenuMSi>#y%so`n3?6&UOot|()L*LnTD zs>bN0>JA*5)wUz4KM!rY(?g03zESMeH$-ng6iO)cc3lb!3~=N(AWxxaZ<>8Gu-2it zPr#UkN5*XCqd_M?G5qKvp0*yteK=LkbJto#%_fE53xPjd$Vs1V1Yo7*c2Oz~()BZs zW$Jl_2&wrbKQ}&@#^FPy(Q%)@xXK~tfpOZITzWm9VyK8?9yOjsdjePZiU^GGqTRDs z6`IXoJ!)NCO-X&RUwyV5-qa_~PD>5{?vgIBg^Kr`GJhkhOjb-|*!)yI!)j!ixJW5n zpXYU?q6Lz8?1|nqHY~KP_q+0q4@|wO;s?>;0JX5%?Nm0x6EQNs>9N0PX5T|$k^RXd zz~{;((Sr){{v;LZeAB%P)ojPK!AJYNdJ6Shxq z9>mo%;|>X1?FmLZZ*TGpBJPJhfgc3jjQ8G|?Ty+cEp)s+T_8Ton~EM)amVhSlz!JE z$`8YJg&9AH*jdbP8hNs#y->P6)7VGV^uP{DuXSo=`Xei^#nd6+>{lD1s$Rj{-5H`E zlRvv4D}$4&Sz_?J3)Y6!0{C2qzu(p2jz%wBE#di=JJ$7Jh@3_#hkOVO z+wpFy#Vo4e9`7N7_NZb#kSwToe=4h!P$FQ%^TTx~4e0Tlie)5XUES}AQcx)@m`V!m zPG=gUr{8hP;i@ilf8|pVfPldIC;RFQe0B8czHuZ~lzNx8Rks)M*!U5fY=|MbzEmvE zZbqlNAJ0zq!KLPSe63$CjIs*Nd(Hbwo+s!HyvKrZgwJ|NR#+lsY+)@!5!i?x-T*4e zrR02vL(KD;mg^o2YM5S6WV*cQI9cz$-&DfWXR=+B4t4R=P0t4)Wp(V~3|=OM*T-R= zVDiG~gsn4LXos#X>l~;h(c>4gZma1br3`E76)wRK_V$jxKe$kT?np>JR%8!i3h$RY zCg8AlMciL-gGw_U zUcfW<)dB9Kkb6*Tw6}sYz7dq*EG2{#<$~2|#S2;++ef-ddSuw=;u*RN9g98EdTDM| z^e=Q$sCzWquXtdSmC2p@SIGlK7kRjeDWw5KOKDoQy|Jivhu#hr1aDY%H_ff6cu^!{ zz)k14ZqE|L+k_N^1-+qIhee+XyE7D4_$i+s0?sm}9mR#QzYakm)HDGIwp#SWh)8;qoen0=DaQ03oL%8A7YIlk zj3m5RHQ$>gyB8r%GuiE5p6^ISBiuhZDr3~h6qfoU2dKp4k%hmg{}sPkm7t?gt^ej8 zG*ZWEW)Y{7n|^WN9=g*=D^) zGC~B*jH<~>e-42QA-$G|Q3Ma)!iGGgRF)u2F9l(f-7t6yY@X#U1d3pnjwabyM~9hy1wG=?d_-jjq59Y zTpU~nnB(60C89h>SyhvPfr^Do8X_USFg z^3jeDmT8X93CLvUzobZ#;}tcH>Ufl=W)}m=-349imew3|e~;SRU(C(DbPGxSI_UX#F>`p>tQZ`~36-ZxLDq!-GmYb-6LM`vyx zz%D5cuMqgiG`oGu5yNf2!0iiwzokQ3Ax2B*Wa>2f$K`EDWxmHXdE)DZi{sPN#HoDg z&v#-kS>)ct)!$xSC&%7WzdhxA{x@=S%C%an^_s>LJlwQ6v`M?cV|jZ{Xg)Q_`Bu*< zz=zqjRr(H@&`|U%iMyuLzqEgvUH{SkW4#aj%Q|WJqv0RgeIOD=dB`(j z=v*cPwf>Jb^K`_}_+J_}=n@KXpdUx~zBQCKutB@d_}I>jQT3AI6ad-RgP$oaL9s;~ z%kI`zNb3*3vX3tH5dEZEm+atXOzWZII77od)n|L2kIQ0%pc8%$rF)l)oYGsl!gd< zr=_RG8oZ{p%F@r_useER9r-|xngqR65`T)@)D!`kv8Q_RyJicwP$Pj)7Fyj?@bk&C zlo4NF!iz#64YgtRBIvPMUFg;)N_t-7P%r`_fc>*>=kL|w1?@<>QdXv6-A4yGdJL#U zT{kD+(?E_wzD>k?v`)hFkRJ{c8d)zBFy&Fj5MW9;H;5HBp4di=L*s5m1`Zj? zWXF#944JoqKJJGZ@dU8(Bdp+DY`7Ew7&iK{S;FE)$*i@PFm~oFmsvmqI>cF4nzEUG zKgP@V=Lh5Lhjfz)PrF`pCGh>0e|Zvt-YWN!jE~Je zdQMVBDbeIOhyUO>kMQw;z~7IWKfAFh1p3w8>R^XfENKC(FnOk0!e36kc@cEmc9R^! zd}gz}&1YiX`wVu}W^EmGps;C^<)ik_io+KzK@_0aUUF5!hXwdS%VZ48Rp*n&{1~@6 zrwHzm-m2*o6J@g8s{bPxLb^G-@RPHd=Yl z=W3|L({OZN&UZc;sO}QPDH|r~>)sDqg@!xkw2IL=1?I;SOh%3LT2rz4FxuI%Y&c%u z*8gbUocFew8yZnkm#c#a;EzuUl2I@BuJ>Sfu&f0A!2eLF(RjAaKqDeKkd;w10OOCT z>j%Bso)!+OEu~4}!)81gKW(VRF5{Yq#(lno*olVmoMwK&g-g+ zI{;^A$y0z3v}&ru?5|ie=t=83LS3LScOMwNiyWsYBI?G| zmL@!vr!9x~KdR`b7)<#CFK6_}o;`*I5`yXyq|^f@^r;YvK`AvX52L!F^U#Y2GQ`{lf7w}d~03WN;91E0mM$2!#H0&%GJ*J z=K~ev-b=|Baw#bXhM_Zo`C6sNKcRK#*vz_p1(@Ea_c2UK_o&_DJ{YLHv`hB9^|}0n z7Hsk(2B^*3S_XRT4wWS$#*h{ji+}YI)zO~mwbS>&UXEp7q2^BPG}c|umpeF&WZ@H~ zfjCax%^AV|MrzqB6qA%y)x?omBVK8~SugH^pmCzNt^QnccNe*F_O0Qbc}WZGDD4m# zPvyPwjK~Ae&qjm;*3FI{%LG)g`Z;zdMmPr9A}fTq6KKUAd6UvVLXrUT7^2HY5=I$1;NSkhyqq7;r&emu@V1c)P1%+4kD|FbBtqhdCHicgPO|y^eD;Q*l zZNiSfd>N{#M>~tXriNjz9b>x9PAXMUN;lsFh4N`PM239AAXQ73q9SA|AIO%!?=uqv z4QoP9UmkDAp(sO=_kv z#iHZ*^gCxT2bDmv5$#VhGC6iIsyOoqtJ4&&3}v936@22uT6M4Y-N+=5Ty`RF>nAx? zwPw~o;ye>R8ZxTty2!*8!wM?H0#v#=Wg);ueYz#w+|)YNGu$XcpDLvREyK6PJI9od zGH8z<9=(nbmc|F(;>Dt@rMZvHbp=88W^ZRb%XgP9uo)}hSY*T}7WHuuPw)@p>3l?X zwCv1%C)RO~!ZgP;)HV@dwM-S@Oqn6xj11<%sUV-Ent_;yp)(S??C}}kuYf$CS?6mf1kadnw`3?!zRj!nE@<2qY&`h@!yQeK8-jfChiM# zlj+~BHTUem7}b8YqMIi%YjZnwAwRJl>POVLD*YNlgbCM_qM?y!s-xIQ8JuTf5FUDh z{CkQA95%TH39a@>O}uxq(CpT;jtcmt@;afLerxZuS-Jv!XAsU^i4COR3w-xpuCtO2)R}uJ63u#JY zc|ZEIBUh?;WdR%@C!#T<0)OtB42&WKx3bg7e)&-uL-(-Ema2oukl2k*b`w7KX`)6d z32ys;i{dK*>d%azW?LGJ7zjlfJOF*{045xnERJu$QjH;{{DX9QvhMZk!s^!2^X}tP zk%SrN8)IvL5=rRO&88TDPycA2Hu@Cxah0UGRwS!9KnU5nT>S|W0#T7$uzZZ1K2Kb$ zI>$_9h(!m~u98R+eCxB1ABlPiAsC%@-(P2+vED6`E70kn&(mVNhHMU`IS-Mh4ZB1hyK7W&GPXE#?rsDrUNd-I9`84 zs*=a}%ztDog-WGrZ~q(}DJ|t~^-p;fG~3l+LXYLJ*^CyRAp?<;(P3@9KODN-F`cqA zUM6tQ3LzIX2p()NEsj8w|+BO)9a*RqL4!t9}4ts@J=Ym?&N6P3QC1gO|pFnnLQ$xRXJ zLbIJR!Li6c;8SfN$r5ua-=Ya%&wROjC_%dKYuc5}$4iZGx&|btAmQj)$k=o8obIFI z63j8NeWiFciuv=Ali-sfg_k-sc->2G?6TUV6#E$7C)bwlt)4P6W|CiQIGrcbpOFhF zuMOmDuE!K8@ji1b8hl?1PRulSSVlq~SR(sX2>fO$LE=SmO(>OT4&>*6XNzB-M9Bf5 zPusO5~O^Ntg}I0d_8+UJBv_2i0NM|-Ct zh-%^`cIL z6c#D}Ur*j6Pf}YJVPyX|^y~~JBrGmCSXwaTOvm?wCdzk}|8s(XF~+{lS4{f2#y z)i?*oE1H&2OdvsYp@;9O;M5NOqo6m97>gc5Z9f||j6}G3!Wk^1Aw7BNCMV^Pz^4VQ zwymY$U$H%~@`t?d{z<%{kQc>|pdN(z2Y5GThTMzMI+&hko1>?wHj2^58OeC#y`@(9 z8lg(gJ=Iem)WfJ1t|PalwUS*s%28$V)y;JBY0q^r^W|c{aloK4ZQn&%H~C01b5D%SodRO5K(Z^#OY~c6_aF@7Kzsf#2-y48xI|sL|Gf&_(engKGzDe zCb8rFY>=_#^~frsEtdVs6fHEvm7{ICT_M>MFneAuo2_#__bNXB>(&YE%?;N~$rh>?e9hmEzv5t>OSmC|YE~TS#bQ_k!CS z@9NL}5y+5@^ZepZjNy=CP>LCF9oyNhe{1D@x6Uhvg#Qo4AmJT?NI-PMy;^~sz#D_) z;cuLm$=^9fqmiu!KY|91Exmr`Z8|Lw`H?LK-Y8ZNe_JclM=MIR=Kpy0+qD_b`u6&G zC5Xsx`ebU&lFwc0aelt;wDTqHc@Feu%C*_q_27@CWsS{0rr+V@w($Sa{-5rD^uL8a zgZ&SP!Gizc|1|RdHya_Sqz%Z@`S-K7^Fr%2rmtb52Pa0|Y;Hi3?q49driuOA(0f_g zt^RqKC&BlVk2kz5Ggn8m%eG_#1BIhhwvgh~>A|o|?d!{-va_f0hdcM>Z+zw=GrE^J z9B}GAapa-NLa(``?*onssPDve;=50P95HXB!u_usm%0IqZ!%Dw^M{%H zh-{xRfN#pbbojicMq2j|ye4FE_jm@@*Fio!GPgwL{*9W>+RhI}vlnI)1jkjKaUfR^ zoA+lgT)kKk1zBqczVRdAayJ5PMNGm-1auO?2GY}eoSO=6>w|bgCSp4_T(!=B!HQ#D z{!rfyQ$mi`=o&=KW+eG^G z#4sfA`M5jquQx8a`N?Um0q&=|eHZzBp`*hltn5D!^@TvU*ZJ8C8K zAg6;LR~Ine-D{EyFzYP|C5(nVI_f3fSROrQ_+!pyQ%qz)zs|FE?{2!0Lj+~SS;CVV zbpg>L-uwmF6RA?Mm6qSKzS7`p__t6O0?*GTXE+EVRLjvX96p=f2*{!V1D=qa$=O3B z_GlJ6{0pg~5*2W8?(t{>XSxv*aP1CzG{QT6ZIVt-H3Tq0c!y zCk!uWzRjk;c#$zZ!)!)yyp_^1R#r$SBRHxlJF-RN4R&t64>EHOC$r110$xtn zr-hW&ZO8b>Z%#elF$5^UymI$yB`C%*o)Ra{ytCuLJ**$HhWhq1%@A8R5_&>S$^-*t z9pH<`9QJ0-XcP{L`!4QZ*hUFb?RsdSRtU}*kGMOls@K?`YfgbM8GQKxHWRV$UIwNdfwvN-}VkD7AG& zNi;}7%rMMLqmdvI{RkShHy9znqmnF?nf7axz~z&~Rs$yR^p{ozR!&d#p9iY3GfYU{ zDOE`u=<^STD#Of1wBM{?mD@YjG$oqLAym=|p@VAqkxz zlutCn=+^Q7bAaBz#s207+1?+-P;mBKDs8o|G6e2%&1}vIkrWUG-lp~#_rDUv7{wuX zm$Zm9eP~Lsp1b&!(#&htmxp!B>(Rn%{j?x#yaF)yApp%;k-?my4@Ljd+weVKLI74s z+1(|DeKNg(mGCw0%#eE<%w4O0LfElfJTWO4{@ToRNxbn zCn(w18FAw4wR1!<5Ke9$Q}K{L6CG9RFXGF&-hb2Up2G1UqJG1o=X;hWK595sNbkQ2CW?BjE6E&fqwZbcauHC^dcmuvLJw(t%6`A-+HEEz>zMU?{@* z)7~g+4=}Pf@z3)ItQD1%6Gtq3dNiy1gjyEoT_OITTUxCa&wE(PG@b4z!mS1pn@^%j z&dqf2SVQstJ)w!GGBWl`)dg%Vw@&$ZV_aIBls-&*dghcz{N)KA8#79$ji>d zx3Epgg!!muVa##G37n*{&YkRJs{emzB}Ilz_VlAtyYFrdRtwS z<2Jf-e-4ABQ5k$AEi(kVQs=&Rvi2#9ei(OR!c`vq%r1X+EW+OHrSc4?*>3D26=z-D z2m!I4dwJeXm>da{Z~S8Zs)C=IOVhCM;-_Q3QVw>ZNXkEj+cw_F{x^n_?K(intG!9Oai8+cdLfXK^kEGxAVn#m{B=|=v6p`1%99U7K^Ds1F88# zL@}QO)x;O$;<&Um$C~cmOqH8iFh4`2e#iUSJQaD$2A<4a+`}#r1l=aZWuTd8zaz7o zFc%C_1^s9=oE{l?B?NY@z*6k_MgAli%;3N|F6Zf5=6z^3k=B4wA886*!t)G*G?6XoMdEzQZ@~AcnWvb0q@A1 zZol-cr@bY8Ax~j z;CCAqK-YeN#}{vq{pEhStyV_&W6sMIgoe^X)n_d2=KSp9;!o4Ec~6oSKQ}h4C?a^D z^jP735S5t;oG@hKzQTO^7(J(<7OGP#GvlNW^$~q5@Mnt3-u=VtY7gb#YN%t2WZ1K3 zU#AKZ==&}UuznS-WZl&){8tOmXdQ9Y{;Rrmfq0d-u2c;>+W$qOY0mv4_-WITyq(fclS+3vvGa6W(lXT#jK5DPCj5x7PVqTLEcKjW}jN>|JrCa^BZ#KGNc74`5&cR&pfZ76L5WbF>&N zl#fXS9d*z@(+n^p1+n<(N}9fXxn{7NAs)fe)v$0ZwCFGZ)D2c_vI~hAZu)ylwkBWq zOt?21qaNtz{uH{X*UiX|MAsMpxT+&<|DbbXa^>JXTFz4iPLO zg*wtm)m26JGb^D&mmH(3gNeYmwM6M@=AGl|P<$Y{G{~7|1_xMFkfRo8VpMk{iy|`i zVo1pMV^qx@P>RWq(6rLH=P&Z|l;#!rYDi^F%Xp{O2=-t}D33h!WO~B;C-=xBz5)Q7 zdR(ySaKDgDQ(eV#sa)biZG1AKB4UEKT*AC&#ORYLG07x%G%W+}q$3hplLTpwfpcDh zt!C03`q?>XG_;zfTFp3zZy}tZI?>x4b6UHIS0DHo9@#R`f+O~-9qmsxCKOp@=G`6( zA9%Ib-*phMJKB}@5=r^|&Fl|65>hJPPkh~pfjs-D(6eqXj6BJOv_S*F${>#qek3<> z5*l9!NbH5_Yp4irNNOu47%J22$`BhBDdFmx7OO z4P2NOnzwc6`w1sbI^AJ>waU;`0s`stwXv#+RS)ZZC74s3evSR8$flPDr$1pmO94hL z^{*BW?a<>_J-6Nw`m^SjI$^S9u|GC&aCD_3(b_9VG&AS-pE}~3&C6BdZ}+)Q$f5Tm zgh?K9#;NwbJXJeMG?7JFf8bJ<(R(7smUa*sk((-&fvP(l!CCojd(7V+FcSe!Nhw&m zJ3B;?nfpTwJlB`e?L|t52HBF~Reb3=`&EbfGsLK+{@O-uKyjk9`YPLS@Srt80+`XV zBPmwR;r2cnQF27s$R^G{WcL~?9$L|w>3qSgL|h_P_OSw;jnEAwWDr`F_X}|2tTvg# zlT7ia-oo}YdjRO95tm6xsu^6Vy@_wS;vNUOI0lN87B%2$pPTkppyPAXRY^ty`UXby zA62ZEm+^@43l>~+7&n6-=9p^xWN#Ra(J#ww4sNhX`Tvor8LmJ-ak_+Xh${(Wya9~N z#|m7&1ew}BTD*JE#|Bk1cD=hYWDZXZd?do(mri-#^L1lu;kC}u&yI!t^;3o*S8l@m zuil8-x4Uv3HAWcRZcgPS8=`^6_QwjE1ed&-Y1npf?r#%`fgR;qPkzT(YX0nw^fo-8 zICeP;;@l3dXUefaV-ZATV7>osA%G0H3JXUYTbvrZ$FI;{!tj8f{-3;FR`8CVaFT#8 z@=6ej4?7v6Q~KoD`!%Ln1oRbn}5vvR|c8x|75XFD8c?Q0uLy;yZ$5p zYwg|b{}0mtO#i3Hzdrx#UlX(OFE@ALt<2VhNKZ|H)~C*s*?q1~OpS}2FoJA$qp3Qg zQ3w;y@%N*~pl5trI~iJLHDVeKIG{qn&r#tm#*q_XH_(-$&9}-!aKY4Eh#vSTW+81_p-lq_{b48CGjDk^@E3BQ|ro_5Hgdo zP%9|F?sF1adk2pR8Q=JYn54bBOlxfu-_~>T@B3+(+UboyW4&UGFqshRgmV8Oe zUHu=P6OI;cE~Qdd=f0+_Bak_hMR;{dTYJJTaNbM-;NV)gHQxwB6>WEh2wL}X(x2i! zOv;-}8tu(jhGxV<@w46s1)A>2i)Wb6$hkDG@E7y)Y@s25O5$B$SzpUp#dJQr{kFa7 zf8uyP;%Iqaiu_VyP8sTl3rI#fm@@;5izkz>Ve+183oN_L)4N4Pk9HP!jK|wgF#t}{ z>OC#fG;Xt(=+mJ=r_uD92nZ)m=Ol=3rPhm!cCI{0SAb@6I2>OOjGlb^`AVx?1m_g* zE#KwcvxH&(Poi1X^RhI_pR0=C&T{VBu}|sjePBxv6w>-rR%l~1l`z5qE?|zyv{{GC zDa#P|kaP(DCWaTnFO%9m&2`g^y7r7c2q_hHMq^-8zE>a779qcbFo&p~r$hk;{;r}R;{Cv@GPG(6F|Dp~#Tn=&li?fTBcO{Qxkrp1V=Wg8- zqrVgbgGvj48k_QlDSM*CAa83AUT@_E-CBN04g}_{{V=X1g@#3 z4-nJs;Sd2(w;Rj#4S3-fgdBuPSSmri>Lm4Kny2aqt8Iutdm})g=wol#55wB^BNJq( z^K2C4FV!tGaNXc+#RxYnW%rrfZ{hLAFzXsa?&gpi&~vRFG8Pkjr>83Hy1s%1_^$Bj zbSFj+kb*LafBW^BBF~r=X4DDB@P24}K21`fySfiFR6_n7tgI3t{Xe0XF1U1!{hW$p zA@01M8OM4_hSO4-g&G4Jl1S@UFP3S}SMs(+A5)%r3WZrFY6v+6E8a>l>8jIqC3RlK z!=T?_4XTQJPgX=oz~vhZ(agN3w0~>vY2q8NW~{ig{)HOOCuk8aNv=Elo0*ss8By@# z0jrF(FXXd%3_p=QiKa34&_?x}tu)p}qIrf3H$R7?Ux44qfR#1@YA4=#XE}-k8ks-w ze(YiJE3XR%0Ol@ERLXCXZUqoAb+V8KKpLJVJ<6H#>e zB?%EyP~a6{)`1YQ`|{1#1XaQHMLI9A#z7kpicfV<@YkmgV}GgmzQoK6TZQwHzZ2F5ZgsZ|bYiM0)M0L-e`9e)NM7N3Me(1E&HV$bl!#4>-d>Ny^mp{&Og zi?^FtIz<_rQVR3R%&HO)xNFMvMJQ3rFUdPk9W$MuEAN=d6v@ZVpT@@6z_7{H&WJ(n zVxLy^9no0yAI0^W*eIPdJ$(|uBk-X_lRi?_*7`l(8Ob=l!^ikf%MFUOzn(RPW*!!6 zbaBSq_eipXJBx)`E~S63OZuD@V=ovF*ZTxn*S}@v>1Zz1|MgfHRfN$JIfw3MqC7Gz zEa)0jdxSi%d^}mZo=rIfC-5%#qqUw>0yG<_IkprqrL zv&N2IoltNhn$5W9UKa;6U$xHdNB>@6 zh-XhP%@N=bt@jW&b!L@*+6g(z9uk11R1*GjI$by><1n0@@*c;%-Dl+xgB(>dVIsRY zCnYEy!POyGm$n-A%h=#W&R$46JkhQhFh#*b5WLqIGQ31s?PhL$Xw1S&FifYOK#M}=7C5k zQ%z+v^NapmHmm^K>;=>H@l~A~=lVwM2~rdKE@^d1fSllP`ddZAU{U}Qolp)hCQ{s8 zBHU1!IH5#}JZE^K&=QZuF!Me~bR6A96{05g1AAOC)0v#meR}q{96dE@ywZv<_pQ~o zTHxCL6FP*&VI@V>NxFJn;wndk-+QdwX-8*TYw?E@PjS-2OgDXKH4 zdr^{Gw?l7A*T$X1CgB6t;{{>;NdXg-qLDc)O3dIbSMI#%L z$j|vp8wI#lKkqE6HvdGxs{J?JI79#NzTL+)GSZZL~BXnIAx=4{UF zhWwqronNHUSZ{l+QpGFWdQEy?OFvr)cg*jAD(fDSkpT=6hZUnHzC6DvfO{&B7y&iZ zS`UVphVBzO6%2ly8+9$2yi%GG4G*ZiTg*EO+DP#)Txt%izJ*3adS?0JIhZ{v!4gjX}bGNI&tV)q_j-0*YH(1~WRr*83B}_qU&KY;m2A*xP@V z0_P8gIX1-D!_Jorm8|M1=00DZw3>7%K+DwLAp6bezd5R)Sis3xC1itou2S;e{RP9P zjG-^b%pC-HK*^Q8bU0?1b=0H8aX!!^98K9&eG{EBRs=uOnh0>xQzxtv+fKeaA)u=S zl?s8k$_q4#U$3g$#QCKz#jc@p05^fQ^p>%0Ne~YE?Ne$5krLa3Z!!=PefomxZf~QhsA?JIBC(c3*c(%n zK}L*}k?P(0DG^R!xZPgp-|3TbKN-Gj;`CS5G5Rhn15Hq)QE57c2XuhG*C#xA>Zs!j zsRn|v!rX85d+>oI!fNNNx#BN>7wK|owZ<$Bp$qnx|aFvC7Cl116r0EOqhjiVJ^UH8WT~C)KiHb;_*t@uNtYJoU3^QHh1}{&o>-4K|vDnFQfKcl6O~bx++bM=$lhInqX*`w!onuwUgl8#QtCRji9hi?U1_ z22le7v^lw`=xv_KwY#Hjh1^5#*q-WZef7=n22kDg+~b4%;=x|f*8arFbkeF-Q7lJ^ z^z&=d&Jeh#ofi*MfBmtQh53xv#A7uQDA=-yPd!5owP!*NO@h=Pqz*447 zaa|@&W%s4BWG8wri<;l5nD;#B?eY~?7n1hUyVV-?5u%i{j6-cVpU}9>IB%4V&q-B- zBWD#nbLp#kG3)z5#iaauRi_$ksZUz0zkho@vzTAVn|el}@ppoU%P*MG;O}@P;dy|Q z0Yn_Rp!7siKPZ3%&>v`?f5%fUTHhUVt!V_<_dGfDK9E7}OL~vrWBH3)4b}%T?43B7 zk0xgS<%2xEVh&jAswyYOv|@ZhA#Q+0p{QWLcYE8LUBb)15c7S%rq#~g;f1l9=~%7f zShVT8VhfIxZoz9kn3Ex$Fl@k`aj9v7ik-8aj>R{;PTG$8lQQ>%$&Vk(0S*UKU}{Km z-mV&A_J!i7PQdFP0+W9`DIo# zq_E!RGaQBO2vu%M(|(O9>n`D%fHsV>RG`@f+SP`||XA(C-j90{{bWQrqwJL?>zjN-|k2Y>l^4{ zdm9`nD4xvD9ZU-dWA%P~tvI8sUOZT+;cC40;mo&z;-Mmw(#8d>mG&TGz>*XwoKC^R zouGd4h)6eS672aPK^;z;Y$1Qn#?S*ZeJ8v1G#%3504;gC0wByX!{{BOSB>Ne?h zKv3!MzdyOMXv!u{%zxr}rcdBB+bCwn{C(d6S)iO7xZ6pB&~}m(L-_};dP|J7D<8sX z<5YiP^*vT!AlU&^_5USccYI#4C21^lPsa4@P}fH z{S&IqfiG_ftFest;3zE6u)YXi=n_}q`gCe0AGh+$z|0_lj?5K(iQuK=>qyZ(S$QJ# zbY@WbVaQ(%WPd3KbkuFUIeVJEx+?X)L1iHh-a|Z?i+UgY0;@9E5*3&egts z#8CiW!0W5}srO}lzN;vWdiN>kzUfSxeIf8>XdsWtb=3ZD%e7ELN-3M7)qX+Up$ay7 zLQ*tn3Qz&TWZ+TG1Dp@e4gyf5N#$VCV9|E#Xw=Xfruo%rseE_RM#XFt$a9B|&Z(#r zM_(k5#8F>&I2AAnZ-6zxE*nOC)Zh0(odiMdTFtnlirjc!uxi5oAC=OD+oJsO5GRxg z^8Z920}%UpzNh*2+Gzbvbj}~$Y0W*}-4{o*pz>`cEyTZi%0N{#f69 z%jnUPn0>`f#6aNT=bi-5pN^K}!h&>OgM|BQQ#dpaK*dz)BBsaCF;e5Vz zOzJX$Jrf#9Ga^XUQV8P>g;dzSdiIAooS)NzXIWTBYj3cHE{=IFU2aB?|4d76CU^dz zgOnBjT)Bvsf9#F_?`20Fv$)5+YwS$VhmcP`G=R(Q@wjq_Vu5FxrNqKXu4?ajL4;le zzh}(T_XB$iucjnYZrG8Eb16{`YR5qp#ASZ%7+{35^5(_%$j0&V_8Ksee9=L;_7kI7#KUfxHp;JOUGuz2tM z_sd_NJom&WY#nM;&1Lhte0Fy=_Rkq|`jSpQ-Vz}V3_dG<|H=?E)ZNGVso#8jIfCWz zAxy$&boJ^vOs_1)W+elM?FS>Ln9*?Z z_VqZN{K1L0Ir62euLqS}_H1;{CHB+V)nexWa^O*uC+8U+_}*bi>Dmyv@=~me&o$gs zcPf^EnW>@r*SbR9X8u4=HRLG-Bbnau!Ws!&)lc}$9%U1{J$)2lsZ=1lFJG>p=&qO5 zr$KIUA6OJ{+`7t#g}0n|lB&tzl73KN{F#)^p_|+wS`DF{;9HaRmEpn{^{OYb!~!0w zlIA$B^L!$8eHHRzVJ(mZFz+l@+Ix4eLg$-9u3w|;-M?hzuxAg6Lwx!v&vUlSq?U`- zDyH)CdsY?=>AmJm%te^e54Xn+XE1=}RYCb`ZjyoKxK;r$F_;6)8cmdRgPY0laaI#1 zC@T%!l`3Xfl1@z#gNatv5o_J{WJv3q?O#?BWrr7|yad(77kJ?7uz~8yF*0PkJ~7Gn z&JIT4_e8(&hZv8ItywxGuOlipkaV+#iKt0*v=^a@HyRPc*7BKV?iHhhb3nNDaBi+^ z?(V|wud6q^tuc^qglsjb|#4WE4!pC z88Woqw%Rc^UHkK4n5r%JaZUCUHiI{x7t3oDy%l=b)8G8xwE$Y1cavY(2lLK~DR!i{ zzUM@I@`=cNM_`7B468tpow-1-R4m%e-0sl9amRbi*Jat?J@S)5)~S3|PmL^e`F!EI zfi(B1U|9n{F3DqZ5}-}YpqUK3sIWLe3HJYjvmiS&AYM5DyIn?R#83di* zJ;luy6BbnQNkUWFsGD3fm_j`kHRt7qUVRSNa;SE=Ovu+IF#4^gFD*xpi0@u{xA5J` zFk8&++tC+C8a$zh+5R6e)g4jm2dq>)Fee2(18og@IeL8@e34zN`Twh|uMCQ->AHpB z!JRNj2!SBM5;C}JaJRuBFaZt@!QC}D!7UKnW(Ena0Rjvj1`8G(LU0S0=Xt;PySM6A zSDinnyQX({o$5VnueJJS`0x{~!bPfklpfYoI)Obd!20`GDU}wEDlw4h-76$4o2;98 z1(mt=RPp;17J9N$7&6HrEUB8svti+;@1kX{kr`RmbteA$X)Z|)l9lX_>~fs+?y~I{ z^b*|?uxgO5mi40%&8^{T=?TX}>L%hMt`AZb;EEmKQbWK+Z)D2uKl$)| z98Qd2=zYVh5Htx;v{@a7TG4ue6zM6oI> zXbgj~xi~7MnqADn{iRBxPZLuK9-V5rjHDShmwX*Fqau3KuB=>H!)2*em~oCx1~O8s!54u4Q{8e?2;k#nH|QZYsgc-l%TDHc*5S-nF%D(}A2%ElJ} z#JdJ?Y~!KUl*fSx6tAl-5~1BbNP{XU)Bb!EM(Qrc6O33bFeI>9XKLfo7?pygFjGd- zD{otc#^qo!flja$hxu9Ls$QVX{i5X(G z_u(Y5u)50@n@RYY()v=Z2k(zKqWZWTD`89`3!=Y7Jq#$IRt?mmv89u6HlV|$l1?|zTa zlz!_CDZ;_u*#qm+Qv{2!U5TfsceD+`j@=jj`VUBUDU!8l?WZ-jwNANWm{K5pEP96x z{4LbUVtW=UC}{?o4cG4yd3u4r`;vkpzj=aL-k})1w8c(F+49}TZ6u?3#TFw{udy@_ zo7pDFAYJcd0xVWbxZWG;4d55XM|eoMEG-CXD8uz7)fqM3A94~s$gWA{me0%0Hy}_D zb&iLw_5~+4@PSs+F2x;%gRQ-HEAd|yl#weYn+|4TbeG2Gqx-n*LpAAU3d-7fUI@IA z+dODvUEPdyjtSGBbqMjhpJ~T&US!4VF-lZHGOR7jTAcg?wNLAhpq7muiZHU9oIY`q zn$<$9A)(wXn|gTA+OkBJGvxji6*frl32tx~b>}6=uTZ4kFK3iwj+hK&;aOk1`Mu?% z87llAC2yTQO5L9Tko-Inzb?wpYHmU`kKYnplQA_qm$U%H?0CFhU0W3iu@p+pMO`Fy zUnZQa)AX-9cjOH&z2!`+2|M-S2e~=mjT#MrMAmq9hBxbj`~u@NDTQP)_bHnPF_@x; zCRj#5CTED!wkX?$7D56ESB3hOZY(vegiyk5i-)prR_DrQFA?I+esFE~kRjgUT*sX)ki zt?}ZSDB%hf1@j6}=JQT#wL4=O3ZkW2*HRL;e&% zBN)}^Y)-v~a?}FGWg*TJEW7N|+bTV9|Vl~JE|*OF5XMSa_Pv-@{mKHb%1bJ?=`1AS#^Gk5TPhUOO{K7 zLd-7OOeq=*g>ujfcKtt%46tCk1!UoSFG|45k)%kqYeV!c_|c>9051NINNLK{Izf#v zd40H4T{3@l7%g=2fat=j#@37)$!hCYLB8}El?5fI(0(BX?dsdmLxVsj+BD=oyuR!m zPkr^|OzCiWA1Y9Vddg7f#P645_f^n(Vpgx*G)%kgFrJ)T=3foac37KiS)3&v+yz``vW!P4`lT3EQ8TFVpga$L&$A;vrQqFRUj%S}-{@o~=e_#=hYYn` zjp8l@=BOoA*L#^^^eV8?J$<4jN4+*OfMu(tRu_T~uzQI>@$oc5p`j07f)o#K@E$F& zqgBXdV)~%DC;;5Q+i!5qr+t~^gvPc_yZEgTQ)5)9-u4>=Nmx!sn|W?CzH-E3z;1Zn zi2?XCXoVx_y<(>2!rGxC+Y#dUzysuk4fPovgzScuT|Gd>Ll~E~KT!OrWOUej2;>wG zfk20O_)1#&QG{(1cDy0BUj4z^YSzc|Q1`aV_T$T-(*Q)=6DJYSLPFwm|JM^HNY!^n zPoNO4l_J#cgw|pr_(SeBx{p9|e~?`$kyfpPI(Aey69z$H-LybC0uiZG40QYXllDJw zorhA8vqwzfsVrtJEYI!ad9~odxp{PVwNlwT&=P|b(-|t_B0`Fa^~|?BUa$m@bPt|l!2o!40F5eUTBwSY?R0fkinO9vPnm^;8oSIXjz@GBd>V#&S#yb+@jQ-4nqF@_T|ZasgbwzoZ^U zPuK==tqN|ll(>oO=5 zFEXcwxj3aA9WbZE2Y)o=b+E4-wO*3t?1KO3Va`9PszDnJJVq|#?L3exr6y^#;{8xg(QY4?Ge-ffldLxL&hPm1F zn}F{4DW~Cwu|zgGhyKt7GE`qbQe;j`g7; zx7Tv-j0f$-N;<>9QT0FdMN8h}0Byv;b|jtb!UzD6WEpJ>jhP_8$06u&Jz^Z@n(A=y zcdTUA!qevfaKnlU_^v;vO0FeWZ(E6gwm6q~{^8Xrj|G3nnNgkPXoWf-(>MYP{%gv0b4R8C%&lu=ACwTD?SGDIR;g{M+< zL8I~`>!}Ld+%Z?|L9ev1AsxuC=WUh>e)s&(8l^2kpU$x??_N; zl}mK{kj;|lzkoK$>=MOyQ z;giMT*0p3;!78M6+Kr4uvL2S2!RErEnYSO~o#BxYt?@60!UoQ%7lXkjReGL+503^N zMQpxhAu}2B?YoIRrnGR=TkWf?)63Ne;zB}Z!gvO>>cN`)zu1#9ty-V|U@*?12geM( z5<2(cyT?He@Bt}*WcUuszn$pd1iI^j8gM?iT0cXlymzcV3|VbmJ=V!l6Nfw`yOk)C z)HMg~LAaa`5Vkjx4O0NkkR{i;eQU5Tq!CaPwzlsjd!u24*5jf}L$wi3J1mO2+dkL$ zz!(nBEb5N_@@G(6H{0&DK@j_RODwoeqw0oNQ2IzJyB^%5sYL5W7-^H;4=pBRN0F%A zFDpSnCi0w0Uy~vV$vXDbZ~sWa3JoTRn@uexeRBKpcQ;})AWPM)0%MfK`BHRLv)=?e zONSlZG;xYoWuSZKXfJ(O1|oT6Jp02Gx{_-`3Cb?rFVNH7eZEvvPYmem1Qu&>Qbg5K za5?upROsHt8K6ZD%@90gNyQ47&ySJxPClu30qlkE>T`r^RI8zsre@|}h=E|!x9n((K?*?E6B zRw|QSUz8?-4XCKZY%^28#lD}_JaSRTI^u*bh$evBd3BanEx){$^!_#?hn~z3v#N{n zHv=Peta7cQ;wk2>oUUhl1kY)V-XRMt`W`q%^GU z@r-mh3!1&;RT`cm7CRD{^G_5dt z{H4K`UaKDB@5wXX@^?}tAATa|1-`Co>@*PzfPq$O7$kPUo4d#Lq;ufrM9Gkv4{*ps zGNJA0k~3ZNh{UGnyKVS)w1m zKmF(ZJ=`wz4`hh!@qXCf@+up%ScF&Z@ZJxKli{M#3UDk!;-M_Y!$|sts#?q#7P68Y zcj^LtT~nOZtZeij+|m&0yLKK7^)+3of0)pJ+JW)}c=eay;e``JWk*r&ifd!^Q_ibY^RwiIFf z5Ln{0Bhby@FXh2)diH3}5!AL-vHkwtN$*ttN)@OZg{rC^eRzPn|L3%eMKLm9i zul&E58C z!AGBsS02hh!uruqaCpjVRi_F@SKPqHn-3%WNYxr?h!)ibZIt{nNDa;to>QEO4OG`kC2 z;>Qc>T@FKb(7T|(#oWE*3SkoY!L>Xcx((K69J;^%j(fF==#x;Uxt!CTC&pt$d@RxL zI3#+u+Z!*iv^wsk9#ECPE}|52F%fZup)r~b&pv!WIDW3mc}lH_Y6cFneP@H${<`Kz zNndeT^9bdAha}GhFB%UuHO8?hU?BND-gcL2`lzE~|vmQenu zKu*~vk)))j)=d@hGBe0Xj|u;bp|g*mO3sL_HWSg&giL?K9vMja?Z;Fs!gd$-3RRG8 zS;cUA-*NOkH7uS|n)ti%iT6zUng&gwDn~yYnGXBWrb_f~plr3akdP4TC@8YI@pQA$ zoTBy2In}c>7UBK@?Kezr!PI#m+0i^XclpJF%Fu@<<(wSW3^NEk`Us$tNCek`juaiS za7L0-oZA;VFP=GQN*9)#$r*UxM7r-xI?GU3@%XYdE^7fsx4)gt7kHpL zs=L#Q2b8{y;CoE>xibz-BRWL7)bF-E=q&P$iiY*U>knroc)Lyz zC6A zDHVh-I6c2};sEB~T|6rgdqwdzSdKSWT*$DF`}wB9Ufz{TPHaDFg)NCF1S<}!{RL0V z{7xGcYHX!AIb}+V@!}1Ps|YU&on~yj_+afIO_+4?B33Pk8qWbbsUsI68p|Ax9eLPM3`iEM&DSCXCm~`0>7?=H&!fcn=F^p@XFxUPnpsi%OVdFz-0ZBDY{mUuD z)gOjO)VSl~8jJ8gtq!`N4I*HGBkXiY>i4OUrC%G)PU0bqFTU*)MRw8ld!-6PwFRdA zF@cr(1ZQAU{7U*lCmYjL?zj9`QBB7q>M{ODW~K^jihIv?0URK~ z$inutS=7}+mM~9rpHR&>Hlsel6q^jVzFpOYMLUHfs=*4HgGz6LF%ssiUi6m@*@EoJ zJ>*nB4!P4#zvLFgno7Z$Xnq1?8pjp`c{_-1t|(+%DLiG;SQ@JUcjJ^}(MP7fJjX$@ zVq~w=u5+eGWzEzm#I74n<0cf;Q4$r~F82IFyE$iAp-^>UbrgD&FU=Unnm-psGK-MB&e) z)jg;wn#*X6G^+r2Z)wQ3cH2eGE~E&Bv`oMVL1xSSM4^a zA_Tit_)vbDcQ#!$OgPW1|8dshz6UpIdl;|xId)O?7la)NVQnSYIy_SfVp1OCJJ?9j zUO8TWT1SBT#+m}PcO;!CwX<;@j-B|W6tQFx0?s6}xy@dHe*MIhTQK_EW>x_*%Bnk1 z=r!Er;>wF>mP5LbyX!I^L9=Pu!8jpk_&sFC63`#QP;1XOPs7PhwVFWx`*?Phrk|Jg zbE)zMn}xx!FvG41ESLS+FD)7FA6*$pjYUF8w&M#as)M-NA4WeMN`d5$ZMdS2s0LnVQfKLu zvEUFn3+A0V)8S^$dy!BM`!sQ9(u7TrL|AyEX*?eU6P$#;l87c%*d<4qKRnwvZdOQvxYk1*MvIj_hREgc*#UxUPnQ_iC4%>0t-+`L$;|GqU)Gbl zI@^hR(cMOoJqem|3gw5%1jQ+PJjET(8S_Swupud*Ga&oscVMsu zFFdX|m`D&jcD(l`^W~L6oGyfbI+U>VS$ZAwJ|9~{{S&Rtj|dbKd}}4Pl}iIy^Nm%y zr+g4)qZ^R!QU8cyw<{wLAL#0;kL6_HuiKNFQBQ>6V+R7n;ixxXQe7CoNn35MxNfY` zFgwyp31JkW)Ea5=ALvof*0VH$A9@DaL0bWp;^ZqcwoPiJhK%|ovakbR6^>&2EU|d7 z)d(}}vv;0Z*I!$mpAyw52ctexISxO~3O$8%*@FU~+tW=Lm>|O8k{6{|7izP=5bw!Q z-&p>DfNUBY$lJ|UPcJR2Gyn7_dFk!#C1Cp?00p_SrF?q;XXl?MsN1n)B67!6eKo@H z{F60#Uwj>8OpU8hz0OyZH{Oc#WfQEj%Qj^gb1LEVFuhp6pZYY8R?dKVF#&4`B9r^yUMjQvuH-nB#amGnxSHpPX=0n*wpHEbD+YFz&h6Zp?{tGdemE3z zbekX09ACbR>8wV>z2v8ic z2p(#{T&s@do_MBo3TL%jgwXN)Z4;B-t(tztr69`uZ*u6A6;MWNFH=lIuCF%B@pP9< z5)xgAhe~~SD~NJl`qYNg(lu&<4{h9-Mn?SQtE-B+5H1Y*3w@WMU9h7$RP6#e*g<=X zSM5Dhs&{0hfB9xc-tuyf5ay3nr2Oug`(iA*fy>4SpimQL8rHx0(!;|~$8K= zj{p_IsF1B@G1iYld|}5?w!Cg@2}dNH*u!QXj>&Wx4q1gyKR!v0u4n@&=HiW66IgWp zk9!JKM~Eb{7dNkJ49krcW`b~x^%Nb=C?JHHSQ2!P#Hbe#>Ra%8%UDh^FC~abu762S|0kfEgTU!!S7sm3#1x~+${&;_xNM54C3a=s1EKRcGjEi#C9|X~f<5_WUS`T5e zD!@(t$&!Gan-9p+FlD{C393QEnkG-Hx%WEB`YQ`N$1Tzmn&+nr)hz z%TbPngj-3t>xCJal-)dqgl>wI9yrqxXErqJi>zHQWawwD)|^ODWGgh%e0~G~<|nVj zE>|QrYsQsNanL8DqWZKiDAj~WpLc`rjT&TEdCI}a9)=p(u6_!Q%?`qRBfI`wtTkhn zKU^q+aN{Gk1x$F1qA_EJaDWc9O#-Vk6s*bc?f8>6V9miKW<0+)*>W;pLRukszL5IC zFU=sk(NyOf%hyBofFTBw&vfp0mNQfpJp7Cghnpy(h0^|OG}s6uyMWblT-3C4tQEn( zx#U&#lPkU=7(?_p7Pfa;WU!!Of6s;*3vV1_occH_3s=Q};=Tzj^b|Oj21yhVzJ45j z5*4Bpx-7RqT!Co)Gq7+MF0E~k?|;*1&AWVFW=?0HUGud7>x32I<8Mr4UZw$0-Yc#L zUp&zo_Fb0DHnJwmwH3E-3=_8Ljpy&duLp0v$845{p}+HsT4HDpFxD9tytl3*1o1>wqO15W7~fX8BH#eaHC-d!b91&)S- zr^a}Y5u44Y*H$V0?y%!rsF1qM!oY6<_jvGy9l7KhLs5!)#R8eFqC)U%ijzthSbcxE z|L4|5WJSy1Y(!pMdY;A34q9xAB~#3g_UVezl9s%mlM7G%tpqVicjC*f<32gsyPX=i zQo+i_O0q+9l5AbiHFZ9-W6fv?{ z$@X$nxxj#sz(J=zC}1w;w-^lk5F^I)n6uf1{Xi>X@5$s`A(z1S+`Y6Pb$%K|mN67K zbZ=|sem&VkA!q?LMxbiceK#*XQ6am2>h&A~9G!%DL8thrMXSA+bjL`Gt-R(4lua6! zNqpn$0K`}}j(+r1;Qnx9KQdvwqyg_$Wl^55^=G$&C}uElHyFpDyraxtY6|4u3ERI0Sc z7O$FmjJ>Pj;jVBwBY!b(TB+w6`?B3LOFgYGW6_#&zWIyw%s-CFLQ#lRR=l6pnprTH zkYhD6F7Wcc<$pAT_Npn3oBLz62)>64&QHxng3SOny0C%5wd9Wcp1b|*%wBCVU3=xg z5b#kjR7Sg&+_<8mhrXsBYAIBsjXx&C^F8WgF5WBSP9r)=Ey_Ucka{6~^st;b&*E;;TqdB{Bd z=-bll9^Cxa{F0Gzi0?TN+LN2-xX+eoUoaH@__fSMXS8?ntc~AaRTu(`6U@1q$~5g8 z5&o5U^{I^SUk!wQ2Y#;SA4w5pl*(B!C<(g=U40U@vBiB-sJc)N4G@XrL7m`83iQ2G zPT~~6uW9X^A$YIEO<(lwY^x3~)wh?H`n}vEt34vfiMh{`|anv~c?$^q43O_SPs9Pv3eOFK1e*FMtaHvHZA)UD%`KKk}N~ zXZbyBA-@=L>Em}-A6FC^HTW*EaTi6V#!5}#Xi=K^G>1kW%XkW|Eb=qzq7x` z?q3}0j~bNNoz)t3>o{0`hWC>JEew$?TeD`_(hJ^!j41FysYlim()G7tK@jP6tv%Fj zK?iaUg{U6 z?Yp|r@216E{K#3{Bv|15SOnsmJ58fV-x@?vCX4M8d+fAcA=e=QQ*yO!od*yeKpZ$J zqPu()?ckHsMX^RALW28@U%E`Q&e-!Phdne_IH2djnXWdTgd%oS!{>=&2ppQf^X5I# zZ0`AS0yUAxJwMYgDOd|FaQyaU^7kCLcJ`Nx=M?esPnvQInygtDs=LpcClqToH(pyA zFP0szO`EQh5br}POXJ^)S2|VjxaFcPpW4cIC}alTkT;NuO>_1J|CJo z_W9mC~;5FNZn6`HUN<0fqO^Ogjb_IB&0m#=Z(8Gg9e z0?p-S|86{N2bLKVp9JhGuPgbLJFFw~I|GLE7$o?9Os#JbHa-whtL#B6$_!bop${ff z=0`IpIRnt;H;{_n7Vn5pd|C=Rd{?xXW7Cc>0N#j+cwo`lJ9#j>N+eKS0%k9Svf zf+FA_=AndvTrU@`2S_l7ws4Rr@n?Q9b;TpLC5^7P8xQ@AANn=_c#mms--rO)+u!&i z5cmHON&jho8BkTT|3gpxFHLpA2Iqg-t9thT@=*WbqW(Mee?i;-%=Uqa`hQ10EX)72 z{{;Q-?Dg!|1AH{^vB$9Ur%@tzeh$NXTh<{SM1eU| zTY&-pV>0pUD+itWS*_-J*|SoI$=(OpA0cwO`;8z(=$h)d!d&3X4b3gx^H z%v?EFw!-D2u9XX68{xjGFF-q)^S{nl0f7l@KZ5O?)jNcb#T$AG@W+_v6nhvk-u0!^ z5mIovZ!{1ydXm~=;W%9U@tdV|69$0jkMXaSqWElE!4)?|cjd&d;C+GAa|3;KsA&88 za=g*iIh0&Cns)JAE5YJ(USIYrN(D}lV+xgPN5Ai_6E6;#+VJZH;9yZGv(D-%K5U5X zcaV#d>`?229(OTmLXcc-EIjdWlYLwGmk@H`HdHNwyiLsoL;?1cefCZP{nbkeg<%H~ zBx77Lz!w5eRC{$)5dXsK_iY?>>W$-1{_78NplG=neD*tZ*pAWF6R7qR*M!aAGKO#D zGB~tnpg}1Dcxhcz6Xn!*OVFDmFsdk}tY>WyN}k03;}l`m%lLQ@m5KiCZf9iOAewbL zafxHthi^OxjKHXu89gh=ST+~(b_xRrNl4~vAtb;t9+^g_IXLjc8#uUdARB6B;AATc zdcKrxw7HB8I4IC_mlzZT3dMmWK@W= zI84q>b>XD1Ha`q}Ses)&R}e0y%+|V$4y(`qfqKfksSE>0bFFyfScF{J+CD-Jzv)Oc z=csISyNNeqw-5NK2osaE$AG1s6aw|%6yjcyBe9dy;UTrXg4sqgHgX^~311V4kVqn8 zTfbm*TY9$0C771_EjegmDH0)7O~~*eL^-VqdQ#Wu+IY5mha8xEDkz2r{BVI$g#P7` z{7zVKF!h3^=@irorh0qh>oblK8S!3R}rj;>@UYTnukNX00E#tozOE*Dv^GfVV zxO8-vjk%R$2bfrgA}}cqR2&H*&IAH~vBAPy!QPF>tYA?B1JLM*S2&ZO7mTMZP@e9! z)3^%gh*`3wuP0D~Osh>vW>DKc29|m#;0@YVsJU(84unu;TooU42}#3W&P0ZfO1M|h zRg%XvqmM@LRPNUXkoDb8<+-}lZH7dJsxIa3CO!p9JfHp0nTt8!@I03ISrM@K3RUy?K3HfCfN}wnm zF%Hbo=*6pjzx3nEOKeEGKITG&%^>L_OV;c^=DvRJ%{Zj(f5qy)w-)E=>}3mio#oi` z_1VgVT!3jFP8;z?>!a)S?l!~eRiX&I-NMj88%po6^PcbLj?SFay-=eovhv2pBSS;yax{!oS$t)lvu?buwU`rz?aU!5D zAZXrt`)6-y0~Q55ZaakGuwXAA5ntKM!*ro94H0i53V$8Cvv#hFDMHBa`ZcXTVDLh= zXE~iV*^98yLN3r0M?Srf(~11=8`u>{Ykx5UNyIi~(};c^rlD)qr`;=IS88(&3J@v6 z@M&Wn9kj-mB1^CbE1>LF-zBP@Fp+9Cx7BBCtz%pktGuB2%{QBlK}FImUwWx(f5{08 z=Og)$(=)`ebWHSeSw3RPCa+P#@)$($b-bFbqDGfQ&`d^!JLqFP^sOvIXlNG0Gwv;Q&51 zL)lMM?9*Jv&acC@LkOCL8*Pz9L(NP`n;%l)W|PJL22XLy7)rIPIEL;8}Pe$H9O1rA=? zgNREFScISTv5;nTmv5rUaGoob3OVA|40uK%0+4IOg{stb9X}Us3lD~amAHOR$$*l< z-PKQXzq!61l1H=YktjS;(ZH8C?qJF^4FX#Ou4T*`E!UJC5Bcc?89}o9K{3)Mp7KNL z+GSD(EVKoT0mT5#{L#9>bBV6xy83Bt78Bv`+IYavdyJ1{RVci3SC@jMolhnHYHbV4 znV=~c9Sb;x13sg}`v<+ehlQ$oBy%4jA|Tw~qV|wYY#*R5h#xM;M)zAFEdhWqoKQon@5n~tSs+Lfgr>&C zf>jE{G_1d>%lm77HeQ)9Vq{lYB+qBn!ceRDi{G@EW1Z852g&k%u7ym-PU z52hEY?PGvdzn_a{OjG+s@>qhcXFdW03JD}bIaBH)gu(_+kb0w%pm*=B=XbrKU;9vA zr?c!^&Ean|VbL>JD_y9F7kPRuygrh`^yIs^R0~B!pNDp_6n=r zk)CbCsKYSC3TL2T%3;|ya|a?pP?b{|l6G@c$0)rJuy+q;rYTk7?CB+z%qA~*&IOJV z$i9(sI}AZsQ$p2heA!{DJ-AGc%IFnq!0`O1v-m153oPl4ax)1mz)al!D<)764cqTH z1T4bXU#M}*EaWi1sYxwyP@|o!KRP%->hZr>Pgx50$tQ(XYaa z7!Shj2>2DFde3q5WiO#>eM7zvjlAUJ=@v%Yw6{9GYg-sdgnFcFeV-J>#XYeN>J*8n z;!naGUZ42Wy;X1!a~az1Rd-BzyRicH_}f9uRc8Th;{Vg(DR zd@U-N)pPxna0rLcTfqK=xda~{Xx-i~E5|`nb)_B#F62;cb{nCb&4&Gs7|j8h6MxEw z^2&6Ao?sKx61T0}*H^^9oH6QfSBQZx_8>*idAPFOn#<)T6;#>WAk+%m0X$}g0aUk3 zSp4qTACb`15LD4)Ns~@df(l%s&RKF@MDHXD2r~v0K`FaGxh?jzkr8t5MXS2iOvCgG zfvQ(wZ*XW6EQ$B*K>~eNz|exh0!eyl15u!ia14Z@e|{LoTD~ptc7JsU z-w_4Y8$FcFH4J=dl>y0Ue|gTlV$?b4$^i;oq0Ujw4M1d@UtfaBa#1L*V`v zIn6IHqMzRs|13GoCSOJes7OuGfwuw9D5~_K)q(p#tDKa*gOht1u=MtqEC9WRuk4Cf z+L57x_SD+P?~r)bbaK%#=3@k~SQNm`)z)RbZO-iz7PoO$9_mHYl zs-<%e;7U+_IacDkjMCkUSXy1vBwZa$iUVD&7uNV{(ejqmRQO!{0jzPz_wOP^T;V=V{|SGN5P@_BRxJvfY_2gzOdW zVeoibX>V{?X7Mw^BTL{*4U6Gm5%=my1ZRsOQu++X-=tiTxRJDOIlGkWy?<(71jrEd zY-=ac9e}DnpO@}GT*vAgL`Jx&dAu_$vTcCheEt~~O0)K0vt3URXXYp>)sI^_SSR~q zyt)aj|vq#%W+BH-D%&^sg95wAst3Uj(321jpE?;iETK|UJ z806K2qlO~ZN-@b7MLn87rdnGSjiVMJL;7*=I`G=tWgOP}Y}W$+M1{q?u6^$<*Qk8 zBBud+Tyz5=UvESKw`4baw@@o*_ z?zPrz4*CohZ=5H^IUzq z()@W(z}_U4ZQK%o2V<&TEkSLnRd#T&EHX>i!+-geLYPZ9Rjj9sa4Pj36yMVJhq9=r z_t~>&kbFAIcS&Qut&QUl!=rzfj~Uyq*5+2vBkb^UWzTHN)dvd}Z+a8*_SecI!07Q7 znk{bUFGI*@l2_(bQu-7UMZuFG^urUf3U92Tcu_6^EDBPVOfpFuq0mm+;9;1Jc^fBp{{pUDgYG@*neM8%fs-gOIjK z);46F zkt~p>5^n&nU6g~Qw|l$x-&8pL3A?<7ba297`=fnNk}wN4Q67#4S?*~zQgYSPyZni} zo+7t|S4gRr(A0YAKlSx8#8VVs4V5F}+&eTfXV35E=$^W3* zX6QUCJn%@+g!kxOV!&42JjkvnQ8tGR>JN6H@4~=$NsTidsv=CPBVdPTVPM(^Khj@O z;Bu{wZ#{@Te_e2*!^A*cGzkhiEe{v4j^q9$+{xubSO$X=m ttV}c>F@PO%>%)Yi3Ha-bo}=<)DazV(DDTJ~?&C&#E2kz~BW)h?e*koHDf0jT From 84b2640b7e457184d2d176ae874f6813c29afcdd Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 14:43:07 +0530 Subject: [PATCH 09/47] copyfitting changes --- static/indesignapi.json | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/static/indesignapi.json b/static/indesignapi.json index 4fa7376..52e3dd9 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -1496,6 +1496,62 @@ "description": "The rule json file having all the conditions and actions.", "type": "string" }, + "copyfittingSettings": { + "type": "object", + "description": "Enables automatic copyfitting (font-size reduction) to resolve overset text after a merge. Copyfitting runs only when `enabled` is true; if the object is omitted, copyfitting is off.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Master switch. Copyfitting runs only when true. If false, absent, or the object is omitted, copyfitting is off. Required to turn the feature on.", + "default": false + }, + "unresolvedOversetHandling": { + "type": "string", + "description": "Behavior when text is still overset after copyfitting. One of: `warn`, `omit_records`.", + "default": "warn", + "enum": [ + "warn", + "omit_records" + ] + }, + "multiFrameSyncScope": { + "type": "string", + "description": "Applies the same font-size reduction to matching non-overset frames. One of: `paragraph_style`, `page`, `paragraph_style_and_page`, `document`. Omit to skip multi-frame sync.", + "enum": [ + "paragraph_style", + "page", + "paragraph_style_and_page", + "document" + ] + }, + "scope": { + "type": "object", + "properties": { + "global": { + "type": "object", + "properties": { + "constraints": { + "type": "object", + "properties": { + "fontSize": { + "type": "object", + "properties": { + "minPercent": { + "type": "number", + "description": "Floor for font-size reduction, as a percentage of the original size. Must be between 1 and 100; 100 means the text never shrinks.", + "default": 85 + } + } + } + } + } + } + } + } + } + } + }, + "exportSettings": { "type": "object", "description": "The settings corresponding to the output format.", From 30daf452942dc5a150c4b6922fafed7e4f26c5fc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 11 Aug 2026 09:19:30 +0000 Subject: [PATCH 10/47] chore: auto-generate contributors --- src/pages/contributors.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index fc94b91..36e0138 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -26,10 +26,11 @@ { "page": "/config", "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "5/4/2026" + "lastUpdated": "8/10/2026" }, { "page": "/getting-started/", From 0df464cd015e4c1e19d079d401ec69789ecdc435 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 16:52:52 +0530 Subject: [PATCH 11/47] More V4 changes --- static/indesignapi.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index 52e3dd9..8501b4b 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -22,11 +22,11 @@ ], "tags": [ { - "name": "Data Merge (V4)", + "name": "Data Merge Advanced", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter." }, { - "name": "Data Merge (V3)", + "name": "Data Merge", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." }, { @@ -61,7 +61,7 @@ "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter.", "operationId": "dataMergeV4", "tags": [ - "Data Merge (V4)" + "Data Merge Advanced" ], "parameters": [], "requestBody": { @@ -106,7 +106,7 @@ "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`).", "operationId": "dataMerge", "tags": [ - "Data Merge (V3)" + "Data Merge" ], "parameters": [], "requestBody": { @@ -151,7 +151,7 @@ "description": "Retrieves the data merge tags from a document.", "operationId": "dataMergeTags", "tags": [ - "Data Merge (V3)" + "Data Merge" ], "parameters": [], "requestBody": { From 83e1bb02c0645edb5a4f649dc925144f402bfdfa Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Wed, 12 Aug 2026 12:58:36 +0530 Subject: [PATCH 12/47] Bringing V4 change back --- static/indesignapi.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index 8501b4b..52e3dd9 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -22,11 +22,11 @@ ], "tags": [ { - "name": "Data Merge Advanced", + "name": "Data Merge (V4)", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter." }, { - "name": "Data Merge", + "name": "Data Merge (V3)", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." }, { @@ -61,7 +61,7 @@ "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter.", "operationId": "dataMergeV4", "tags": [ - "Data Merge Advanced" + "Data Merge (V4)" ], "parameters": [], "requestBody": { @@ -106,7 +106,7 @@ "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`).", "operationId": "dataMerge", "tags": [ - "Data Merge" + "Data Merge (V3)" ], "parameters": [], "requestBody": { @@ -151,7 +151,7 @@ "description": "Retrieves the data merge tags from a document.", "operationId": "dataMergeTags", "tags": [ - "Data Merge" + "Data Merge (V3)" ], "parameters": [], "requestBody": { From c9f19bf80fb33592b9f37b1cb20b1b94c28defb6 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Fri, 14 Aug 2026 09:46:51 +0530 Subject: [PATCH 13/47] Changes as per styleguide --- .../index.md | 96 +++++++++---------- static/indesignapi.json | 9 +- 2 files changed, 54 insertions(+), 51 deletions(-) diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index 1214cd2..9952a79 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -131,8 +131,8 @@ A target selects the object(s) an action runs on. It always resolves within the | type | Selects by | Acts on | |---|---|---| | `layer` | Layer name | The items on that layer | -| `xmlTag` | XML tag name | A frame or a tagged text range | -| `dataMergeTag` | Placeholder name | A Data Merge placeholder (image, QR, or text) | +| `xml_tag` | XML tag name | A frame or a tagged text range | +| `data_merge_tag` | Placeholder name | A Data Merge placeholder (image, QR, or text) | ```json { "type": "layer", "name": "premium_offer" } @@ -140,7 +140,7 @@ A target selects the object(s) an action runs on. It always resolves within the #### Referencing a Data Merge placeholder by kind -A `dataMergeTag` target chooses which kind of placeholder to act on using a name prefix: +A `data_merge_tag` target chooses which kind of placeholder to act on using a name prefix: | Prefix | Kind | Example | |---|---|---| @@ -149,7 +149,7 @@ A `dataMergeTag` target chooses which kind of placeholder to act on using a name | (none) | Text placeholder | `"title"` → the text placeholder named `title` | ```json -{ "type": "dataMergeTag", "name": "@hero" } +{ "type": "data_merge_tag", "name": "@hero" } ``` ### Actions — what a rule does @@ -160,36 +160,36 @@ Each clause runs an ordered list of actions on its target. Actions apply top-to- |---|---|---| | `show` | — | Make the target visible | | `hide` | — | Make the target hidden | -| `replaceText` | `value` (string) | Replace the text content | -| `setCharacterStyle` | `styleName` (string) | Apply a named character style | -| `setParagraphStyle` | `styleName` (string) | Apply a named paragraph style | -| `setFillColor` | `color` (hex `#RRGGBB` or swatch name) | Change the fill color | -| `setStrokeColor` | `color` (hex `#RRGGBB` or swatch name) | Change the stroke color | -| `resizeFrame` | `width`, `height` | Resize the frame | -| `moveFrame` | `x`, `y` | Move the frame's top-left origin | +| `replace_text` | `value` (string) | Replace the text content | +| `set_character_style` | `styleName` (string) | Apply a named character style | +| `set_paragraph_style` | `styleName` (string) | Apply a named paragraph style | +| `set_fill_color` | `color` (hex `#RRGGBB` or swatch name) | Change the fill color | +| `set_stroke_color` | `color` (hex `#RRGGBB` or swatch name) | Change the stroke color | +| `resize_frame` | `width`, `height` | Resize the frame | +| `move_frame` | `x`, `y` | Move the frame's top-left origin | ```json -{ "name": "setFillColor", "color": "#D4AF37" } +{ "name": "set_fill_color", "color": "#D4AF37" } ``` **Notes** - **Styles and swatches must already exist** in your template. A rule can apply a named style or swatch, but it cannot create one. Referencing a hex color like `#D4AF37` is always fine. -- For `resizeFrame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that axis unchanged**. -- `resizeFrame` and `moveFrame` apply to frames only. +- For `resize_frame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that axis unchanged**. +- `resize_frame` and `move_frame` apply to frames only. #### Which actions work on which targets -| Action \ Target | `layer` | `xmlTag` | `dataMergeTag` | +| Action \ Target | `layer` | `xml_tag` | `data_merge_tag` | |---|---|---|---| | `show` / `hide` | ✓ | ✓ | ✓ | -| `replaceText` | — | ✓ | ✓ | -| `setCharacterStyle` | — | ✓ | ✓ | -| `setParagraphStyle` | — | ✓ | ✓ | -| `setFillColor` | — | ✓ | ✓ | -| `setStrokeColor` | — | ✓ | ✓ | -| `resizeFrame` | — | ✓ | ✓ | -| `moveFrame` | — | ✓ | ✓ | +| `replace_text` | — | ✓ | ✓ | +| `set_character_style` | — | ✓ | ✓ | +| `set_paragraph_style` | — | ✓ | ✓ | +| `set_fill_color` | — | ✓ | ✓ | +| `set_stroke_color` | — | ✓ | ✓ | +| `resize_frame` | — | ✓ | ✓ | +| `move_frame` | — | ✓ | ✓ | Using an action on a target that isn't marked ✓ is rejected when your rules file is checked (see [Errors & Warnings](#errors--warnings)). @@ -226,12 +226,12 @@ There are three building blocks: | Group | Operators | Notes | |---|---|---| | Comparison | `==`, `!=`, `>`, `>=`, `<`, `<=` | `>`, `>=`, `<`, `<=` are for numbers (or text, alphabetically) — not booleans | -| Set membership | `in`, `notIn` | `value` must be a non-empty array; `valueColumn` not allowed | -| Text matching | `contains`, `startsWith`, `endsWith` | String only, case-sensitive | +| Set membership | `in`, `not_in` | `value` must be a non-empty array; `valueColumn` not allowed | +| Text matching | `contains`, `starts_with`, `ends_with` | String only, case-sensitive | **Right-hand side:** provide exactly one of: -- `value` — a literal number, string, or boolean (or an array of literals for `in`/`notIn`), or +- `value` — a literal number, string, or boolean (or an array of literals for `in`/`not_in`), or - `valueColumn` — the name of another CSV column, to compare column-against-column. **Value types & how comparisons are made** @@ -258,7 +258,7 @@ Wrap any single condition to negate it: { "not": { "column": "sku", "operator": "contains", "value": "PROMO" } } ``` -This reads as "SKU does not contain PROMO." (For simple "is not one of a set" tests, the `notIn` operator is usually simpler.) +This reads as "SKU does not contain PROMO." (For simple "is not one of a set" tests, the `not_in` operator is usually simpler.) #### Condition examples @@ -294,7 +294,7 @@ Compare two columns — `Life Time Spend` greater than `cost`: `region` is not EU or UK: ```json -{ "column": "region", "operator": "notIn", "value": ["EU", "UK"] } +{ "column": "region", "operator": "not_in", "value": ["EU", "UK"] } ``` A nested example — VIP, in the US or UK, and not blocked: @@ -325,14 +325,14 @@ A nested example — VIP, in the US or UK, and not blocked: { "condition": { "column": "tier", "operator": "==", "value": "VIP" }, "then": [ - { "target": { "type": "dataMergeTag", "name": "vip_badge" }, + { "target": { "type": "data_merge_tag", "name": "vip_badge" }, "actions": [ { "name": "show" } ] } ] } ], "default": { "then": [ - { "target": { "type": "dataMergeTag", "name": "vip_badge" }, + { "target": { "type": "data_merge_tag", "name": "vip_badge" }, "actions": [ { "name": "hide" } ] } ] } @@ -352,19 +352,19 @@ VIP records show the badge; everyone else hides it. { "cases": [ { "condition": { "column": "tier", "operator": "==", "value": "VIP" }, - "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, - "actions": [ { "name": "setFillColor", "color": "#D4AF37" } ] } ] }, + "then": [ { "target": { "type": "data_merge_tag", "name": "badge" }, + "actions": [ { "name": "set_fill_color", "color": "#D4AF37" } ] } ] }, { "condition": { "column": "spend", "operator": ">", "value": 10000, "type": "number" }, - "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, - "actions": [ { "name": "setFillColor", "color": "#C0C0C0" } ] } ] }, + "then": [ { "target": { "type": "data_merge_tag", "name": "badge" }, + "actions": [ { "name": "set_fill_color", "color": "#C0C0C0" } ] } ] }, { "condition": { "column": "spend", "operator": ">", "value": 1000, "type": "number" }, - "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, - "actions": [ { "name": "setFillColor", "color": "#CD7F32" } ] } ] } + "then": [ { "target": { "type": "data_merge_tag", "name": "badge" }, + "actions": [ { "name": "set_fill_color", "color": "#CD7F32" } ] } ] } ], "default": { - "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "then": [ { "target": { "type": "data_merge_tag", "name": "badge" }, "actions": [ { "name": "hide" } ] } ] } } @@ -397,7 +397,7 @@ Reads as: VIP → gold; else if spend > 10,000 → silver; else if spend > 1,000 This assumes the `premium_offer` layer is **hidden** in the template. It stays hidden by default and is shown only for records that match. If the layer were visible in the template instead, add a `default` with a `hide` action to switch it off for non-matching records. -#### Example 4 — Swap disclaimer text by region using an `xmlTag` +#### Example 4 — Swap disclaimer text by region using an `xml_tag` ```json { @@ -408,28 +408,28 @@ This assumes the `premium_offer` layer is **hidden** in the template. It stays h { "condition": { "column": "region", "operator": "==", "value": "EU" }, "then": [ - { "target": { "type": "xmlTag", "name": "disclaimer" }, + { "target": { "type": "xml_tag", "name": "disclaimer" }, "actions": [ - { "name": "replaceText", "value": "This offer is subject to EU consumer protection regulations." }, - { "name": "setCharacterStyle", "styleName": "Legal-EU" } + { "name": "replace_text", "value": "This offer is subject to EU consumer protection regulations." }, + { "name": "set_character_style", "styleName": "Legal-EU" } ] } ] }, { "condition": { "column": "region", "operator": "==", "value": "US" }, "then": [ - { "target": { "type": "xmlTag", "name": "disclaimer" }, + { "target": { "type": "xml_tag", "name": "disclaimer" }, "actions": [ - { "name": "replaceText", "value": "Void where prohibited. See terms for details." }, - { "name": "setCharacterStyle", "styleName": "Legal-US" } + { "name": "replace_text", "value": "Void where prohibited. See terms for details." }, + { "name": "set_character_style", "styleName": "Legal-US" } ] } ] } ], "default": { "then": [ - { "target": { "type": "xmlTag", "name": "disclaimer" }, - "actions": [ { "name": "replaceText", "value": "Terms and conditions apply." } ] } + { "target": { "type": "xml_tag", "name": "disclaimer" }, + "actions": [ { "name": "replace_text", "value": "Terms and conditions apply." } ] } ] } } @@ -748,12 +748,12 @@ How it works - The image will be fetched from the pre-signed URL and made available for use in the data merge. - If a URL cannot be fetched or has expired, that row's image asset will be reported in warnings as a failed download, and the rest of the merge will proceed unaffected. - Add a new input parameter - - **preSignedURL** + - **presignedUrlsInDataSource** - **Type:** Boolean - **Meaning:** Whether the user wants to enable fetching image assets via pre-signed URLs provided in the CSV. - If the user sets this to true, the Image column values in the CSV can be pre-signed URLs, and these will be fetched and used in the data merge. - If the user doesn't set this (or sets it to false), there is no change in behavior — the Image column will be treated as before, and pre-signed URLs can still only be provided in the input request. - - If a pre-signed URL is included in the Image column but the preSignedURL parameter is not set to true, this enhancement will not take effect. The Image column value will be handled just as it always has been, without any change in behavior. Since the value is a URL and not a valid asset reference, the image for that record will show up as a missing link in the data merge. + - If a pre-signed URL is included in the Image column but the presignedUrlsInDataSource parameter is not set to true, this enhancement will not take effect. The Image column value will be handled just as it always has been, without any change in behavior. Since the value is a URL and not a valid asset reference, the image for that record will show up as a missing link in the data merge. Example of input CSV having an Image column value (prefixed with ‘@’) containing a pre-signed URL ![Records](./records-urlcsv.png) @@ -787,7 +787,7 @@ curl --location --request POST 'https://indesign.adobe.io/v3/merge-data' \ "outputFolderPath": {OUTPUT_FOLDER_PATH}, "outputFileBaseString": "merged", "dataSource": "Directory_Names.csv", - "preSignedURL": true + "presignedUrlsInDataSource": true }, "outputs": [ { diff --git a/static/indesignapi.json b/static/indesignapi.json index 52e3dd9..2ffed98 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -23,7 +23,7 @@ "tags": [ { "name": "Data Merge (V4)", - "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter." + "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `presignedUrlsInDataSource` parameter." }, { "name": "Data Merge (V3)", @@ -58,7 +58,7 @@ "/v4/merge-data": { "post": { "summary": "Perform advanced data merge", - "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter.", + "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `presignedUrlsInDataSource` parameter.", "operationId": "dataMergeV4", "tags": [ "Data Merge (V4)" @@ -1498,6 +1498,9 @@ }, "copyfittingSettings": { "type": "object", + "required": [ + "enabled" + ], "description": "Enables automatic copyfitting (font-size reduction) to resolve overset text after a merge. Copyfitting runs only when `enabled` is true; if the object is omitted, copyfitting is off.", "properties": { "enabled": { @@ -1757,7 +1760,7 @@ "description": "The path of the output folder.", "default": "A unique temporary folder name would be created." }, - "preSignedURL": { + "presignedUrlsInDataSource": { "description": "If true, fetches images from pre-signed URLs in the datasource `Image` column.", "type": "boolean", "default": false From 0f406753f14f83ea273e2becc8bacc8ec0f7560e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 14 Aug 2026 04:21:34 +0000 Subject: [PATCH 14/47] chore: auto-generate contributors --- src/pages/contributors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index 36e0138..e1c9ca3 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -88,7 +88,7 @@ "avatars": [ "https://avatars.githubusercontent.com/u/66052604?v=4" ], - "lastUpdated": "8/10/2026" + "lastUpdated": "8/14/2026" }, { "page": "/guides/working-with-custom-scripts-api/", From 4a1da3dfed187b09e29a1af94a5632111f3bdb85 Mon Sep 17 00:00:00 2001 From: Rhythm Jain Date: Mon, 17 Aug 2026 15:26:26 +0530 Subject: [PATCH 15/47] fix: correct pageRange/exportingSpread description in rendition API spec The spec incorrectly stated that pageRange represents spread indices when exportingSpread is true. In practice, pageRange always refers to the absolute page range in the document, and exportingSpread only controls whether pages are exported individually or as spreads. --- static/indesignapi.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index 2ddee1c..0e227ba 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -2008,12 +2008,12 @@ "exportingSpread": { "type": "boolean", "default": false, - "description": "Specify `true` if you consider range as spread numbers. Use `false` if you treat range as pages." + "description": "Specify `true` to export pages as spreads. Use `false` to export pages individually. This does not change how `pageRange` is interpreted." }, "pageRange": { "type": "string", "default": "All", - "description": "The page ranges, based on the index of the page within the document. The value can be 'All', as well as numeral ranges. If `exportingSpread` is true, this range would represent spread indices in the document." + "description": "The page ranges, based on the index of the page within the document. The value can be 'All', as well as numeral ranges. This always refers to the absolute page range in the document, regardless of the value of `exportingSpread`." }, "quality": { "type": "string", From fc207dd135976fe7a32c221459210b5ea6e19e97 Mon Sep 17 00:00:00 2001 From: Rhythm Jain Date: Thu, 27 Aug 2026 12:17:31 +0530 Subject: [PATCH 16/47] docs: document output file naming convention for multi-file exports Rendition and Data Merge multi-file outputs (per-page or per-record) use InDesign's native sequential naming, not an underscore-delimited scheme, which integrators have misread when predicting outputs[].source values. Document the rule once in Key Concepts and cross-link it from both guides, including a caution about base strings ending in a digit. --- src/pages/getting-started/concepts/index.md | 21 +++++++++++++++++++ .../working-with-datamerge-api/index.md | 4 +++- .../working-with-rendition-api/index.md | 7 ++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/pages/getting-started/concepts/index.md b/src/pages/getting-started/concepts/index.md index f5075fa..a0b7f85 100644 --- a/src/pages/getting-started/concepts/index.md +++ b/src/pages/getting-started/concepts/index.md @@ -92,6 +92,25 @@ platform can upload. You can provide this information in the `outputs` array wit Each storage provider may have its own requirements for creating PUT or POST pre-signed URLs. Please follow the documentation from the individual storage provider creating these URLs. +## Output file naming convention + +When a request produces more than one output file from a single base name (for example, one file per page in the [Rendition API][10], or one file per record in the [Data Merge API][11]), the file names follow InDesign's own native sequential-export naming convention — not an underscore- or hyphen-delimited scheme: + +- The first file uses the base name as-is: `{outputFileBaseString}.{ext}` +- Each subsequent file appends its index directly after the base name, with no separator: `{outputFileBaseString}{index}.{ext}` +- `{ext}` is derived from the requested `outputMediaType` (for example, `image/png` → `.png`, `image/jpeg` → `.jpg`). + +For example, with `outputFileBaseString` set to `banner`: + +- `banner.png` +- `banner2.png` +- `banner3.png` +- ... + +**Caution:** Because there is no separator, a base string that ends in a digit makes the generated file names ambiguous to parse back into base + index without already knowing the base string. For example, base string `hero9` at index 10 produces `hero910.png`, which is indistinguishable from base string `hero91` at index 0. Avoid base strings that end in a digit if your integration needs to derive the page or record index from the file name, or track expected file names by position/index rather than by parsing the generated name. + +If you register per-file destinations using the `outputs` array (see [Output assets](#output-assets)), predict each file's name using this convention when setting its `source` field — a mismatched `source` means that file silently fails to upload to your registered destination. + ## About custom script bundles To create a script to use with the Custom Scripts API, you'll need to prepare a script bundle, a ZIP file with a predefined structure. @@ -436,3 +455,5 @@ Once validation is complete, update your production scripts to use the new app v [7]: https://learn.microsoft.com/en-us/azure/ai-services/translator/document-translation/how-to-guides/create-sas-tokens?tabs=Containers [8]: ../../guides/writing-scripts-for-custom-scripts-api/index.md [9]: https://developer.adobe.com/events/docs/guides/using/indesign-apis/indesign-apis-events-data-stream-setup/ +[10]: ../../guides/working-with-rendition-api/index.md +[11]: ../../guides/working-with-datamerge-api/index.md diff --git a/src/pages/guides/working-with-datamerge-api/index.md b/src/pages/guides/working-with-datamerge-api/index.md index 361b4ca..2ec160a 100644 --- a/src/pages/guides/working-with-datamerge-api/index.md +++ b/src/pages/guides/working-with-datamerge-api/index.md @@ -116,7 +116,7 @@ parts: - **assets** - Input assets for the request. - **params** - Information about what to do with the input assets. - **outputs** - Specify locations where the output assets are uploaded. Without an `outputs` parameter, the output assets are stored in a temporary -repository, and a [pre-signed URL](../../getting-started/concepts/index.md#pre-signed-urls) will be shared for those assets, which will be valid for 24hrs. +repository, and a [pre-signed URL](../../getting-started/concepts/index.md#pre-signed-urls) will be shared for those assets, which will be valid for 24hrs. For multi-record PNG/JPEG output, see [Output Path Variations in Data Merge API](#output-path-variations-in-data-merge-api) below to predict each file's name when setting `source`. Consult this skeleton [cURL request](https://developer.adobe.com/commerce/webapi/get-started/gs-curl/) for more details. @@ -269,6 +269,8 @@ When you upload this UTF-8 encoded CSV to the Data Merge API, the merged documen When using the Data Merge API, the output file paths are determined by the `outputFolderPath` and `outputFileBaseString` parameters in the request. Here are the different scenarios and their corresponding output paths: +For PNG/JPEG outputs, the per-record file names below follow the platform's [output file naming convention](../../getting-started/concepts/index.md#output-file-naming-convention). + #### Case 1: Both Parameters Missing When neither `outputFolderPath` nor `outputFileBaseString` is provided: diff --git a/src/pages/guides/working-with-rendition-api/index.md b/src/pages/guides/working-with-rendition-api/index.md index 24c50d3..35083c9 100644 --- a/src/pages/guides/working-with-rendition-api/index.md +++ b/src/pages/guides/working-with-rendition-api/index.md @@ -75,10 +75,15 @@ parts: - **assets** - Input assets for the request. - **params** - Information about what to do with the input assets. - **outputs** - Specify locations where the output assets are uploaded. Without an `outputs` parameter, the output assets are stored in a temporary -repository, and a [pre-signed URL][2] will be shared for those assets, which will be valid for 24hrs. +repository, and a [pre-signed URL][2] will be shared for those assets, which will be valid for 24hrs. For multi-page exports, see [Output file naming for multi-page renditions](#output-file-naming-for-multi-page-renditions) below to predict each page's file name when setting `source`. Consult this skeleton [cURL request][3] for more details. +### Output file naming for multi-page renditions + +When `pageRange` spans more than one page or spread (for example, with `createSeparateFiles: true`), the Rendition API generates one output file per page, following the platform's [output file naming convention][4]. + [1]: ../../getting-started/concepts/index.md#Pre-signed-URLs [2]: ../../getting-started/concepts/index.md#Pre-signed-URLs [3]: https://developer.adobe.com/commerce/webapi/get-started/gs-curl/ +[4]: ../../getting-started/concepts/index.md#output-file-naming-convention From 96814be1a50ee5409f921d6d7f25d6b47c52a339 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 1 Sep 2026 05:49:30 +0000 Subject: [PATCH 17/47] chore: auto-generate contributors --- src/pages/contributors.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index e1c9ca3..05474b3 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -52,10 +52,11 @@ { "page": "/getting-started/concepts/", "avatars": [ + "https://avatars.githubusercontent.com/u/175690214?v=4", "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "3/20/2026" + "lastUpdated": "8/27/2026" }, { "page": "/getting-started/usage/", @@ -104,20 +105,22 @@ { "page": "/guides/working-with-datamerge-api/", "avatars": [ + "https://avatars.githubusercontent.com/u/175690214?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4" ], - "lastUpdated": "8/10/2026" + "lastUpdated": "8/27/2026" }, { "page": "/guides/working-with-rendition-api/", "avatars": [ + "https://avatars.githubusercontent.com/u/175690214?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4" ], - "lastUpdated": "2/25/2026" + "lastUpdated": "8/27/2026" }, { "page": "/guides/writing-scripts-for-custom-scripts-api/", From 8331cac33573e80d3021e97dc5a65e300d2e2720 Mon Sep 17 00:00:00 2001 From: swaroop2512 Date: Tue, 15 Sep 2026 21:36:44 +0530 Subject: [PATCH 18/47] Adding Review (#71) * Output Path Variations, add info about 'failedAssets' key * chore: auto-generate contributors * adding review * chore: auto-generate contributors * adding copyfitting note * chore: auto-generate contributors --- src/pages/contributors.json | 7 +- src/pages/getting-started/changelog/index.md | 4 + .../index.md | 139 +++++++++++++++++- 3 files changed, 146 insertions(+), 4 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index 05474b3..e37ad81 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -42,12 +42,13 @@ { "page": "/getting-started/changelog/", "avatars": [ + "https://avatars.githubusercontent.com/u/160902380?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "8/10/2026" + "lastUpdated": "9/7/2026" }, { "page": "/getting-started/concepts/", @@ -87,9 +88,11 @@ { "page": "/guides/working-with-advanced-data-merge-api/", "avatars": [ + "https://avatars.githubusercontent.com/u/274493592?v=4", + "https://avatars.githubusercontent.com/u/160902380?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4" ], - "lastUpdated": "8/14/2026" + "lastUpdated": "9/15/2026" }, { "page": "/guides/working-with-custom-scripts-api/", diff --git a/src/pages/getting-started/changelog/index.md b/src/pages/getting-started/changelog/index.md index 5c182f1..1433190 100644 --- a/src/pages/getting-started/changelog/index.md +++ b/src/pages/getting-started/changelog/index.md @@ -47,6 +47,8 @@ This page contains the release notes and version history for Adobe InDesign APIs *Advanced Data Merge* +- **Output Path Structure**: The `POST /v4/merge-data` endpoint no longer nests outputs into `rangeN` batch subfolders. Every output file is written directly into the resolved output folder, and naming collisions between batches or records are resolved with a `(n)` suffix on the filename instead. [Learn more about output path variations.][20] +- **Parameter Name Change**: The `pagesPerDocument` parameter from the base Data Merge API has been renamed to `recordsPerFile` in the `POST /v4/merge-data` endpoint. The underlying behavior is unchanged. [Learn more about the parameter name change.][21] - **Conditional Visibility & Dynamic Styling**: The `POST /v4/merge-data` endpoint now accepts a `rulesFile` parameter, letting a rules JSON file show/hide layers, frames, and placeholders, restyle and recolor content, replace text, and resize or move frames — differently per record. [Learn more about conditional visibility & dynamic styling.][16] - **Copyfitting**: New `copyfittingSettings` object in `params` automatically reduces font size within defined limits to resolve overset text after a merge. [Learn more about copyfitting.][17] - **Folder Structure & Zipped Output**: The `POST /v4/merge-data` endpoint supports organizing merge outputs into a folder hierarchy via a `~`-prefixed CSV column, plus optional zipped output using `outputCompressMediaType`. [Learn more about folder structure and zipped output.][18] @@ -160,3 +162,5 @@ This page contains the release notes and version history for Adobe InDesign APIs [17]: ../../guides/working-with-advanced-data-merge-api/index.md#copyfitting [18]: ../../guides/working-with-advanced-data-merge-api/index.md#folder-structure-and-zipped-output [19]: ../../guides/working-with-advanced-data-merge-api/index.md#pre-signed-url-support +[20]: ../../guides/working-with-advanced-data-merge-api/index.md#output-path-variations-in-advanced-data-merge-api +[21]: ../../guides/working-with-advanced-data-merge-api/index.md#parameter-name-change-in-advanced-data-merge-api diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index 9952a79..7700581 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -32,7 +32,139 @@ twitter: --- # Working with Advanced Data Merge API -This guide covers advanced techniques for the [Data Merge API](../../api/index.md), building on the basics from [Working with the Data Merge API](../working-with-datamerge-api/index.md), including conditional visibility, dynamic styling, copyfitting, zip output and pre-signed URL support in CSV. +This guide covers advanced techniques for the [Data Merge API](../../api/index.md), building on the basics from [Working with the Data Merge API](../working-with-datamerge-api/index.md), including output path variations, conditional visibility, dynamic styling, copyfitting, zip output and pre-signed URL support in CSV. + +## Output Path Variations in Advanced Data Merge API + +This section explains where the Advanced Data Merge API writes its output files, and how that location and filename change depending on whether you provide the `outputFolderPath` and `outputFileBaseString` parameters in the request. There are four possible combinations of these two parameters; the table below summarizes all four before the detailed cases and examples that follow. + +| | `outputFileBaseString` omitted | `outputFileBaseString` provided | +|---|---|---| +| **`outputFolderPath` omitted** | [Case 1](#case-1-both-parameters-missing): temporary folder, filename from source document | [Case 2](#case-2-only-outputfilebasestring-provided): temporary folder, filename from base string | +| **`outputFolderPath` provided** | [Case 3](#case-3-only-outputfolderpath-provided): `outputFolderPath`, filename from source document | [Case 4](#case-4-both-parameters-provided): `outputFolderPath`, filename from base string | + +Unlike the base [Data Merge API](../working-with-datamerge-api/index.md#output-path-variations-in-data-merge-api), the Advanced Data Merge API does **not** nest outputs into `range1`, `range2`, ... subfolders. Every output file for a job is written directly into the resolved output folder (temporary or `outputFolderPath`); any naming collision — between batches or between records — is resolved with a `(n)` suffix on the filename itself instead of a subfolder. + +#### Comparing v3 and v4 output structure + +To see that difference concretely, here is the same job — `outputFolderPath`: `"ResultFolder"`, `outputFileBaseString`: `"MergedOutput"`, output split into two batches — under each API version: + +Base API (v3): +- `ResultFolder/range1/MergedOutput.pdf` +- `ResultFolder/range2/MergedOutput.pdf` + +Advanced Data Merge API (v4): +- `ResultFolder/MergedOutput.pdf` +- `ResultFolder/MergedOutput(1).pdf` + +v3 gives each batch its own `rangeN` folder and reuses the same filename inside each one; v4 writes every batch into the same flat folder and disambiguates them with a `(n)` suffix on the filename instead. + +#### Case 1: Both Parameters Missing + +When neither `outputFolderPath` nor `outputFileBaseString` is provided: + +- Output is created in a temporary folder with a random number prefix (e.g. tmp0696) +- The output filename is derived from the original document filename + +Example: + +- Source: `Template.indd` +- Output: `tmp0696/Template.indd` +- In case of multiple output documents/pdf (e.g. `recordsPerFile` splits the merge into more than one batch): + - `tmp0696/Template.indd` + - `tmp0696/Template(1).indd` + - `tmp0696/Template.pdf` + - `tmp0696/Template(1).pdf` +- For PNG/JPEG outputs (one image per record): + - `tmp0696/Template.png` + - `tmp0696/Template(1).png` + - `tmp0696/Template(2).png` + +#### Case 2: Only outputFileBaseString Provided + +When only `outputFileBaseString` is specified: + +- Output is created in a temporary folder with a random number prefix (e.g. tmp0696) +- Filename uses the provided base string + +Example: + +- Source: `Template.indd` +- `outputFileBaseString`: "MergedOutput" +- Output: `tmp0696/MergedOutput.indd` +- In case of multiple output documents/pdf: + - `tmp0696/MergedOutput.indd` + - `tmp0696/MergedOutput(1).indd` + - `tmp0696/MergedOutput.pdf` + - `tmp0696/MergedOutput(1).pdf` +- For PNG/JPEG outputs: + - `tmp0696/MergedOutput.png` + - `tmp0696/MergedOutput(1).png` + - `tmp0696/MergedOutput(2).png` + +#### Case 3: Only outputFolderPath Provided + +When only `outputFolderPath` is specified: + +- Output is created in the specified folder +- Filename is derived from the original template + +Example: + +- Source: `Template.indd` +- `outputFolderPath`: "ResultFolder" +- Output: `ResultFolder/Template.indd` +- In case of multiple output documents/pdf: + - `ResultFolder/Template.indd` + - `ResultFolder/Template(1).indd` + - `ResultFolder/Template.pdf` + - `ResultFolder/Template(1).pdf` +- For PNG/JPEG outputs: + - `ResultFolder/Template.png` + - `ResultFolder/Template(1).png` + - `ResultFolder/Template(2).png` + +#### Case 4: Both Parameters Provided + +When both parameters are specified: + +- Output is created in the specified folder +- Filename uses the provided base string + +Example: + +- Source: `Template.indd` +- `outputFileBaseString`: "MergedOutput" +- `outputFolderPath`: "ResultFolder" +- Output: `ResultFolder/MergedOutput.indd` +- In case of multiple output documents/pdf: + - `ResultFolder/MergedOutput.indd` + - `ResultFolder/MergedOutput(1).indd` + - `ResultFolder/MergedOutput.pdf` + - `ResultFolder/MergedOutput(1).pdf` +- For PNG/JPEG outputs: + - `ResultFolder/MergedOutput.png` + - `ResultFolder/MergedOutput(1).png` + - `ResultFolder/MergedOutput(2).png` + +#### Note: + +- Advanced Data Merge API (v4) never creates a `rangeX` subfolder for batching. All output files for a job are written directly into the resolved output folder — there is no per-batch nesting. +- Missing-link and overset reports are no longer split per `rangeX` batch folder either. Instead of a separate `MissingLinkReport.txt`/`OversetReport.txt` pair inside each `rangeX` folder, Advanced Data Merge API (v4) writes a single `MissingLinkReport.txt` and a single `OversetReport.txt` at the root of the output folder, with each batch's findings appended as its own "Record Range: ..." section — one global report pair for the whole job instead of one pair per range. +- Batching is still controlled by `recordsPerFile` (the v4 equivalent of the base API's `pagesPerDocument`): for example, if `recordsPerFile` is 10 and the total record count is 20, the merge still runs as two batches, but both batches write into the same folder. The second (and any later) batch's file is disambiguated with a `(1)`, `(2)`, ... suffix on the base filename — e.g. `Template.pdf`, `Template(1).pdf` — instead of a `range2` folder. +- For output types where each record maps 1:1 to its own file — PNG, JPEG, PDF with `createSeparateFiles` enabled, or InDesign with `recordsPerFile` set to `1` — every record's output file is named from `outputFileBaseString` (or its resolved `&` filename, when the CSV provides one), and any duplicate names are disambiguated the same way with a `(n)` suffix. This means even a plain CSV with no special columns produces per-record names like `MergedOutput.png`, `MergedOutput(1).png`, `MergedOutput(2).png` — not the sequential `MergedOutput2.png`, `MergedOutput3.png` style used by the base API. +- If a single record spans multiple pages, an additional `-` suffix is inserted before the `(n)` de-duplication suffix for pages after the first — e.g. `MergedOutput.png`, `MergedOutput-2.png` (page 2 of the first record), `MergedOutput(1).png`, `MergedOutput-2(1).png` (page 2 of the second record). +- For output types where multiple records are combined into one file (multi-record PDF/InDesign documents, or `allowMultipleRecordsPerPage`), there is no per-record naming — the whole batch's file uses the base filename, disambiguated per batch with a `(n)` suffix only when more than one batch is produced. + +## Parameter Name Change in Advanced Data Merge API + +The `pagesPerDocument` parameter from the base [Data Merge API](../working-with-datamerge-api/index.md) has been renamed to `recordsPerFile` in the Advanced Data Merge API. The name changed, but the underlying behavior — controlling how many records are merged into each output document/batch — is the same. + +- `recordsPerFile` omitted or set to the total record count: All records are merged into a single output document/batch. No batching occurs. + +- `recordsPerFile` set to a value smaller than the total record count: Records are split across multiple batches, each containing up to `recordsPerFile` records. For example, with 20 total records and `recordsPerFile` set to 10, the merge produces two batches of 10 records each. As described in [Output Path Variations](#output-path-variations-in-advanced-data-merge-api), each additional batch's file is disambiguated with a `(1)`, `(2)`, ... suffix on the base filename rather than being written into a separate `rangeX` subfolder. + +- `recordsPerFile` set to `1`: Each record produces its own output document/batch, one record per file. This is also the mode used to get one file per record for InDesign output; PNG and JPEG outputs always behave this way regardless of `recordsPerFile`. ## Conditional Visibility & Dynamic Styling @@ -509,6 +641,8 @@ Add a copyfittingSettings object inside params. It accepts the following fields: Copyfitting is applied after the merge, before export, once per output document. Threaded text across multiple frames is treated as a single story. +> **Note:** Missing template fonts are automatically replaced with the default font, and output generation continues normally. However, copyfitting calculations are then based on the substitute font, not the original, so the output may not appear as expected. + ### Example request Enable copyfitting by adding copyfittingSettings to params: @@ -737,7 +871,7 @@ curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ **Why:** Folder structuring via the `~` column applies only when the merge job has a clear one-to-one mapping between each data row and its output. In that case, each row’s `~` value defines the folder hierarchy for that record’s output file. If `allowMultipleRecordsPerPage` is true, multiple records can share a page, so per-row folder paths are ambiguous. If `recordsPerFile` is not 1, records are combined into multi-page output documents, so many rows contribute to the same file and per-row folder paths are no longer meaningful. In those situations, folder structuring via the `~` column is not supported for the affected output types, and output files are placed under `outputFolderBaseString` instead. -## Pre-signed URL Support +## Pre-signed URL Support in CSV The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/index.md#supported-storage-types) assets are supported. @@ -747,6 +881,7 @@ How it works - In addition, providing pre-signed URLs of image assets in the input request continues to be supported as before; this feature does not remove or restrict that option. - The image will be fetched from the pre-signed URL and made available for use in the data merge. - If a URL cannot be fetched or has expired, that row's image asset will be reported in warnings as a failed download, and the rest of the merge will proceed unaffected. + - These failures are reported under a `failedAssets` key in the response's `warnings` object — an array of `{ columnIndex, rows: [{ row, url }, ...] }` entries, one per Image column that had at least one invalid pre-signed URL, listing every affected row number and the URL that failed. - Add a new input parameter - **presignedUrlsInDataSource** - **Type:** Boolean From dfb5faa052b6d458379a2ab6b9cf1bc06ca4d770 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 28 Sep 2026 11:34:32 +0000 Subject: [PATCH 19/47] chore: auto-generate contributors --- src/pages/contributors.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index e37ad81..dfb2883 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -42,13 +42,12 @@ { "page": "/getting-started/changelog/", "avatars": [ - "https://avatars.githubusercontent.com/u/160902380?v=4", - "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "9/7/2026" + "lastUpdated": "9/15/2026" }, { "page": "/getting-started/concepts/", @@ -89,7 +88,6 @@ "page": "/guides/working-with-advanced-data-merge-api/", "avatars": [ "https://avatars.githubusercontent.com/u/274493592?v=4", - "https://avatars.githubusercontent.com/u/160902380?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4" ], "lastUpdated": "9/15/2026" From 34f91398982c2e895516d29e8632b19f66a419be Mon Sep 17 00:00:00 2001 From: rhythmjain18-adobe Date: Tue, 27 Oct 2026 11:16:58 +0530 Subject: [PATCH 20/47] Merge pull request #80 from AdobeDocs/users-rhythmj-production-api-rate-limits Update index.md for new rate limit of 250. --- src/pages/getting-started/usage/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pages/getting-started/usage/index.md b/src/pages/getting-started/usage/index.md index a0252f4..9e34d87 100644 --- a/src/pages/getting-started/usage/index.md +++ b/src/pages/getting-started/usage/index.md @@ -34,15 +34,19 @@ For the latest updates, new features, and bug fixes, [check InDesign's changelog To maintain API stability and fair usage across clients, the following limits are enforced: -* Soft limit: 250 requests per minute across all endpoints. Once this limit is crossed, you may experience slower responses. +* General API requests: A hard limit of 250 requests per minute (RPM) applies across all endpoints except the Status API. You can send all 250 requests at once. Once the limit is reached, additional requests within the same one-minute window are throttled. -* Hard limit: 350 requests per minute. Requests beyond this limit are rejected. +* Status API requests: These do not count toward the 250 RPM limit and have a separate rate limit of 1,000 RPM. ### File size limits * Assets: Maximum supported size is 2GB per asset. * Custom Scripts API: Maximum allowed size for a Custom Script ZIP upload is 5MB. +### Payload size limit + +The total request payload size must not exceed 1 MB. + ### Assets The number of assets (input + output) that can be passed in a single payload is 1000. From 97d3d24e447b44fd49ecb0df91342ac2fcf47836 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 27 Oct 2026 05:47:41 +0000 Subject: [PATCH 21/47] chore: auto-generate contributors --- src/pages/contributors.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index b47b291..5481958 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -59,10 +59,11 @@ { "page": "/getting-started/usage/", "avatars": [ + "https://avatars.githubusercontent.com/u/175690214?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "6/17/2026" + "lastUpdated": "10/27/2026" }, { "page": "/guides/", From f59f72c411c5135c8d32a958e421a5260f27bcfa Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Mon, 10 Aug 2026 23:00:05 +0530 Subject: [PATCH 22/47] documentation for V4 --- src/pages/guides/index.md | 1 + .../index.md | 803 ++++++++++++++++++ .../working-with-datamerge-api/index.md | 2 +- 3 files changed, 805 insertions(+), 1 deletion(-) create mode 100644 src/pages/guides/working-with-advanced-data-merge-api/index.md diff --git a/src/pages/guides/index.md b/src/pages/guides/index.md index 8c708f8..197027c 100644 --- a/src/pages/guides/index.md +++ b/src/pages/guides/index.md @@ -32,6 +32,7 @@ This guide covers advanced scripting techniques for automating InDesign tasks. - [Working with Custom Scripts API](./working-with-custom-scripts-api/index.md) - Advanced scripting techniques - [Writing Scripts for Custom Scripts API](./writing-scripts-for-custom-scripts-api/index.md) - Script development and logging - [Working with Data Merge API](./working-with-datamerge-api/index.md) - Data merge automation +- [Working with Advanced Data Merge API](./working-with-advanced-data-merge-api/index.md) - Advanced data merge techniques, Conditional Visibility, Styling, Copyfitting and more - [Working with Rendition API](./working-with-rendition-api/index.md) - Document rendering - [Tips for PDF to InDesign Conversion](./pdf-to-indesign-conversion-notes/index.md) - PDF To InDesign Points to note and limitations diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md new file mode 100644 index 0000000..abccc1e --- /dev/null +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -0,0 +1,803 @@ +--- +title: Working with Advanced Data Merge API +description: >- + Advanced Data Merge API techniques for InDesign automation + and document processing. +keywords: + - Adobe InDesign API + - InDesign automation + - document processing + - Data Merge API + - Rendition API + - Custom Scripts API + - Remap Links API + - REST API + - cloud services + - enterprise solutions + - design automation + - creative automation + - content delivery + - batch processing +og: + title: Working with Advanced Data Merge API + description: >- + Advanced Data Merge API techniques for InDesign automation + and document processing. +twitter: + card: summary + title: Working with Advanced Data Merge API + description: >- + Advanced Data Merge API techniques for InDesign automation + and document processing. +--- +# Working with Advanced Data Merge API + +This guide covers advanced techniques for the [Data Merge API](../../api/index.md), building on the basics from [Working with the Data Merge API](../working-with-datamerge-api/index.md), including conditional visibility, dynamic styling, copyfitting, zip output and pre-signed URL support in CSV. + +## Conditional Visibility & Dynamic Styling + +Make your Data Merge output react to your data. With a simple rules file, you can show or hide elements, restyle and recolor content, replace text, and resize or move frames — differently for every record — all from a single template and data file. + +### Overview + +Traditionally, Data Merge drops the text or image from each record into fixed placeholders in your template. The layout stays the same for everyone — only the placeholder content changes. + +This feature adds a third input to a merge job: a rules file (JSON) that travels alongside your template and data. + +``` +Template (.indd / .idml) + Data (.csv) + Rules (.json) → Output (INDD / PDF / PNG / JPEG) +``` + +For each record, the merge reads your rules and applies whichever actions match that record's data. The result is one job that produces genuinely different-looking documents per record — a VIP badge that appears only for VIP customers, a price that turns red when it exceeds a threshold, a promo layer that shows only for high-spend recipients, and so on. + +The feature is fully optional and backward compatible: if you don't provide a rules file, your merge behaves exactly as it does today. + +### What you can do + +| Capability | Description | +|---|---| +| Conditional visibility | Show or hide a layer, a frame, or a placeholder per record. | +| Dynamic styling | Apply a named character or paragraph style, or change fill/stroke color, per record. | +| Content replacement | Replace the text of a placeholder or tagged text range per record. | +| Geometry | Resize or move a frame per record. | +| Business logic | Combine conditions with AND / OR / NOT, ranges, and text matching to decide what happens. | + +All decisions are driven by the values in your CSV columns. + +### Getting started + +1. **Author your template** as you normally would for Data Merge, including your placeholders. Give the elements you want to control a name you can reference — a dataMerge placeholder name, an XML tag, or a layer name (see [Targets](#targets--what-a-rule-acts-on)). +2. **Prepare your CSV** as usual. Any column you want to test in a rule must exist in the CSV — even if that column isn't placed anywhere in the template. +3. **Write a rules file** (a `.json` file) describing your conditions and actions (see below). +4. **Submit the merge job** with the new `rulesFile` parameter pointing at your rules file: + +```json +{ + "params": { + "targetDocument": "template.indd", + "dataSource": "data.csv", + "rulesFile": "rules.json", + "outputMediaType": "application/pdf" + } +} +``` + +If `rulesFile` is omitted, the merge runs exactly as a standard Data Merge with no rules applied. + +### The rules file + +A rules file is a JSON document. At the top level it contains an optional `ruleSetName`, an optional `version`, and a list of **rules**. + +```json +{ + "version": "1.0", + "ruleSetName": "Campaign", + "rules": [ + { + "cases": [ + { + "condition": {}, + "then": [ + { "target": {}, "actions": [] } + ] + } + ], + "default": { + "then": [ { "target": {}, "actions": [] } ] + } + } + ] +} +``` + +- `version` — optional, defaults to the current version. +- `ruleSetName` — optional, a label shown in logs/reports. +- `rules` — required, one or more rules. Each rule contains an ordered list of `cases`. Each case has a `condition` (when this is true...) and a `then` list (...do this). A rule can also define a `default`, which runs only if no case matched. + +#### How a rule is evaluated, per record + +- Each rule contains an ordered list of **cases**. The engine tests each case's `condition` in order and runs the **first** one that is true — then stops looking at the remaining cases in that rule. +- If **no** case matches and a `default` is present, the `default` runs. If there's no `default`, the rule simply does nothing for that record. +- **At most one** case (or the default) fires per rule. + +**Multiple rules:** you can list several rules. Every rule is evaluated for every record, in order. Rules are **cumulative** — more than one can fire for the same record. Use `cases`/`default` when you want a single "pick one" outcome; use separate rules for independent effects that can happen together. If two rules change the *same* property of the *same* target, the **last one wins**. + +Each entry in a `then` list is a **clause**: one `target` plus an ordered list of `actions` to run on it. + +### Targets — what a rule acts on + +A target selects the object(s) an action runs on. It always resolves within the current record's page(s). + +| type | Selects by | Acts on | +|---|---|---| +| `layer` | Layer name | The items on that layer | +| `xmlTag` | XML tag name | A frame or a tagged text range | +| `dataMergeTag` | Placeholder name | A Data Merge placeholder (image, QR, or text) | + +```json +{ "type": "layer", "name": "premium_offer" } +``` + +#### Referencing a Data Merge placeholder by kind + +A `dataMergeTag` target chooses which kind of placeholder to act on using a name prefix: + +| Prefix | Kind | Example | +|---|---|---| +| `@` | Image placeholder | `"@hero"` → the image placeholder named `hero` | +| `#` | QR-code placeholder | `"#ticket"` → the QR placeholder named `ticket` | +| (none) | Text placeholder | `"title"` → the text placeholder named `title` | + +```json +{ "type": "dataMergeTag", "name": "@hero" } +``` + +### Actions — what a rule does + +Each clause runs an ordered list of actions on its target. Actions apply top-to-bottom; a later action overrides an earlier one on the same target. + +| Action `name` | Parameters | Effect | +|---|---|---| +| `show` | — | Make the target visible | +| `hide` | — | Make the target hidden | +| `replaceText` | `value` (string) | Replace the text content | +| `setCharacterStyle` | `styleName` (string) | Apply a named character style | +| `setParagraphStyle` | `styleName` (string) | Apply a named paragraph style | +| `setFillColor` | `color` (hex `#RRGGBB` or swatch name) | Change the fill color | +| `setStrokeColor` | `color` (hex `#RRGGBB` or swatch name) | Change the stroke color | +| `resizeFrame` | `width`, `height` | Resize the frame | +| `moveFrame` | `x`, `y` | Move the frame's top-left origin | + +```json +{ "name": "setFillColor", "color": "#D4AF37" } +``` + +**Notes** + +- **Styles and swatches must already exist** in your template. A rule can apply a named style or swatch, but it cannot create one. Referencing a hex color like `#D4AF37` is always fine. +- For `resizeFrame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that target unchanged** . +- `resizeFrame` and `moveFrame` apply to frames only. + +#### Which actions work on which targets + +| Action \ Target | `layer` | `xmlTag` | `dataMergeTag` | +|---|---|---|---| +| `show` / `hide` | ✓ | ✓ | ✓ | +| `replaceText` | — | ✓ | ✓ | +| `setCharacterStyle` | — | ✓ | ✓ | +| `setParagraphStyle` | — | ✓ | ✓ | +| `setFillColor` | — | ✓ | ✓ | +| `setStrokeColor` | — | ✓ | ✓ | +| `resizeFrame` | — | ✓ | ✓ | +| `moveFrame` | — | ✓ | ✓ | + +Using an action on a target that isn't marked ✓ is rejected when your rules file is checked (see [Errors & Warnings](#errors--warnings)). + +### Conditions — deciding when a rule applies + +A condition is a small JSON structure — never a text expression to be parsed — so column names with spaces or punctuation (e.g. `Life Time Spend`) are written verbatim with no escaping. + +There are three building blocks: + +- **Comparison** (a single test on one column) +- **Group** (`all` = AND, `any` = OR) +- **Not** (negates any condition) + +#### Comparison + +```json +{ + "column": "Life Time Spend", + "operator": ">", + "value": 10000, + "valueColumn": "cost", + "type": "number" +} +``` + +- `column` — required, the CSV column to test. +- `operator` — required, see the operator list below. +- `value` — the value to compare against, **or** +- `valueColumn` — another column (use exactly one of `value` / `valueColumn`). +- `type` — optional, force `number` | `string` | `boolean` comparison. + +**Operators** + +| Group | Operators | Notes | +|---|---|---| +| Comparison | `==`, `!=`, `>`, `>=`, `<`, `<=` | `>`, `>=`, `<`, `<=` are for numbers (or text, alphabetically) — not booleans | +| Set membership | `in`, `notIn` | `value` must be a non-empty array; `valueColumn` not allowed | +| Text matching | `contains`, `startsWith`, `endsWith` | String only, case-sensitive | + +**Right-hand side:** provide exactly one of: + +- `value` — a literal number, string, or boolean (or an array of literals for `in`/`notIn`), or +- `valueColumn` — the name of another CSV column, to compare column-against-column. + +**Value types & how comparisons are made** + +- Add `"type": "number"`, `"string"`, or `"boolean"` to force how both sides are compared. If you omit `type`, the type is inferred (a numeric or boolean literal makes the comparison numeric or boolean; otherwise text). +- **Numbers** must be plain decimals (an optional leading `-` is fine). Thousands separators, currency symbols, and locale decimal commas are **not** recognized — `"10,000"`, `"$10,000"`, and `"1.000,50"` will not parse as numbers. If a value can't be parsed as the required type, that comparison is treated as **false** (it won't stop your job). +- **Booleans** accept only `true`/`false` (any case). Anything else is treated as false. +- **Text** comparisons and text-matching operators are **case-sensitive**. Leading/trailing spaces are trimmed before comparing. + +#### Group — `all` (AND) and `any` (OR) + +```json +{ "all": [] } +{ "any": [] } +``` + +Groups can nest to any depth, and their children can be comparisons, other groups, or `not` blocks. + +#### Not (flipping condition) + +Wrap any single condition to negate it: + +```json +{ "not": { "column": "sku", "operator": "contains", "value": "PROMO" } } +``` + +This reads as "SKU does not contain PROMO." (For simple "is not one of a set" tests, the `notIn` operator is usually simpler.) + +#### Condition examples + +`tier` is `VIP`: + +```json +{ "column": "tier", "operator": "==", "value": "VIP" } +``` + +`Life Time Spend` greater than `10000`: + +```json +{ "column": "Life Time Spend", "operator": ">", "value": 10000, "type": "number" } +``` + +Compare two columns — `Life Time Spend` greater than `cost`: + +```json +{ "column": "Life Time Spend", "operator": ">", "valueColumn": "cost", "type": "number" } +``` + +`tier` is `VIP` AND `spend` over `10000`: + +```json +{ + "all": [ + { "column": "tier", "operator": "==", "value": "VIP" }, + { "column": "spend", "operator": ">", "value": 10000, "type": "number" } + ] +} +``` + +`region` is not EU or UK: + +```json +{ "column": "region", "operator": "notIn", "value": ["EU", "UK"] } +``` + +A nested example — VIP, in the US or UK, and not blocked: + +```json +{ + "all": [ + { "column": "tier", "operator": "==", "value": "VIP" }, + { "any": [ + { "column": "country", "operator": "==", "value": "US" }, + { "column": "country", "operator": "==", "value": "UK" } + ] }, + { "not": { "column": "status", "operator": "==", "value": "Blocked" } } + ] +} +``` + +### Worked examples + +#### Example 1 — Show a VIP badge only for VIP records + +```json +{ + "ruleSetName": "VIP Badge Display", + "rules": [ + { + "cases": [ + { + "condition": { "column": "tier", "operator": "==", "value": "VIP" }, + "then": [ + { "target": { "type": "dataMergeTag", "name": "vip_badge" }, + "actions": [ { "name": "show" } ] } + ] + } + ], + "default": { + "then": [ + { "target": { "type": "dataMergeTag", "name": "vip_badge" }, + "actions": [ { "name": "hide" } ] } + ] + } + } + ] +} +``` + +VIP records show the badge; everyone else hides it. + +#### Example 2 — Color a badge by tier (first match wins) + +```json +{ + "ruleSetName": "Badge tier", + "rules": [ + { + "cases": [ + { "condition": { "column": "tier", "operator": "==", "value": "VIP" }, + "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "actions": [ { "name": "setFillColor", "color": "#D4AF37" } ] } ] }, + + { "condition": { "column": "spend", "operator": ">", "value": 10000, "type": "number" }, + "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "actions": [ { "name": "setFillColor", "color": "#C0C0C0" } ] } ] }, + + { "condition": { "column": "spend", "operator": ">", "value": 1000, "type": "number" }, + "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "actions": [ { "name": "setFillColor", "color": "#CD7F32" } ] } ] } + ], + "default": { + "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "actions": [ { "name": "hide" } ] } ] + } + } + ] +} +``` + +Reads as: VIP → gold; else if spend > 10,000 → silver; else if spend > 1,000 → bronze; otherwise hide the badge. Cases are tested top-to-bottom and only the first match applies. + +#### Example 3 — Reveal a promo layer for high-spend records + +```json +{ + "ruleSetName": "Premium Offer", + "rules": [ + { + "cases": [ + { + "condition": { "column": "lifetime_spend", "operator": ">", "value": 10000, "type": "number" }, + "then": [ + { "target": { "type": "layer", "name": "premium_offer" }, + "actions": [ { "name": "show" } ] } + ] + } + ] + } + ] +} +``` + +This assumes the `premium_offer` layer is **hidden** in the template. It stays hidden by default and is shown only for records that match. If the layer were visible in the template instead, add a `default` with a `hide` action to switch it off for non-matching records. + +#### Example 4 — Swap disclaimer text by region using an `xmlTag` + +```json +{ + "ruleSetName": "Regional Disclaimer", + "rules": [ + { + "cases": [ + { + "condition": { "column": "region", "operator": "==", "value": "EU" }, + "then": [ + { "target": { "type": "xmlTag", "name": "disclaimer" }, + "actions": [ + { "name": "replaceText", "value": "This offer is subject to EU consumer protection regulations." }, + { "name": "setCharacterStyle", "styleName": "Legal-EU" } + ] } + ] + }, + { + "condition": { "column": "region", "operator": "==", "value": "US" }, + "then": [ + { "target": { "type": "xmlTag", "name": "disclaimer" }, + "actions": [ + { "name": "replaceText", "value": "Void where prohibited. See terms for details." }, + { "name": "setCharacterStyle", "styleName": "Legal-US" } + ] } + ] + } + ], + "default": { + "then": [ + { "target": { "type": "xmlTag", "name": "disclaimer" }, + "actions": [ { "name": "replaceText", "value": "Terms and conditions apply." } ] } + ] + } + } + ] +} +``` + +This targets the text range tagged `disclaimer` in the template. EU records get EU-specific wording and legal styling, US records get US-specific wording and styling, and every other region falls back to the generic disclaimer text in the `default` case. + +### Constraints + +- **Single record per page.** Rules are supported only when each page corresponds to one record — the standard Data Merge layout. Jobs configured for multiple records per page are not supported with rules and will be rejected before processing. +- **Columns must exist.** A rule can only reference CSV columns that are present in your data file. A missing column is reported when your rules file is checked. +- **Styles and swatches must exist** in the template before the merge; rules apply them but do not create them. +- **Layer visibility for non-layer targets.** An element renders only if its layer is visible. If you target a placeholder or XML tag that sits on a layer you authored as *hidden*, a `show` action will not make it appear — put rule-driven elements on a visible layer, or target the layer itself. +- **Record ranges.** Contiguous, ascending record ranges (for example `1-50`) are fully supported. Out-of-order or overlapping comma-separated ranges may be restricted; use ascending ranges for rule-driven jobs. +- **Numeric formatting.** Keep numeric columns as plain numbers (no currency symbols, thousands separators, or locale decimals) so numeric comparisons behave as expected. + +### Errors & Warnings + +The feature distinguishes two kinds of problems: + +**Problems that stop the job** (checked up front, before any output is produced). These are things that are wrong with the job setup or the rules file itself, so the whole job is rejected with a clear message and nothing is produced. Examples: + +- the rules file is missing, unreadable, or not valid JSON; +- an empty rules list; +- a malformed condition, or a rule/case that isn't shaped correctly; +- a condition that references a column not in the CSV; +- an invalid target type or action, or an action used on a target it doesn't support; +- a rules job submitted with a multiple-records-per-page layout. + +Fixing these means correcting the rules file (or the job configuration) and resubmitting. + +**Problems that are reported but don't stop the job** (per record). These are situations the engine can safely work around, so the batch continues and the issues are collected in the job's warnings: + +- a target name that can't be found for a record; +- a style or swatch named in an action that doesn't exist; +- an action that can't apply to the resolved object (for example, resizing something that isn't a frame); +- a value that can't be read as the required number or boolean — that single comparison is treated as false. + +Review the warnings after a run to catch typos in names or unexpected data. + +## Copyfitting + +The Data Merge API can automatically resize text that overflows its frame after a merge. When a merged record produces overset text, copyfitting reduces the font size - within limits you define - so that the text fits. Copyfitting runs only when you enable it and only when the merged document has overset present. + +### Example use cases + +Copyfitting is most useful when the length of merged content varies and cannot be predicted at design time: + +- **Multi-language data merge:** A single template is merged with a data source that contains rows in different languages, or a template designed for one language is merged with data that includes others. Translations in longer languages (for example, German or Finnish) often overflow frames sized for the original language. Copyfitting shrinks only the overset rows so each language fits, without redesigning the template or hand-editing records. + +- **Variable-length content at scale:** In catalogues, price lists, or personalized mailers, fields such as product names, descriptions, or addresses vary in length across thousands of records, and some overflow their frames. Copyfitting fits them automatically so more records export cleanly in a single job. + +### How it works + +Add a copyfittingSettings object inside params. It accepts the following fields: + +- **enabled** + - **Type:** boolean + - **Default:** `false` + - **Description:** Master on/off switch. Copyfitting runs only when set to `true`. If it is `false`, absent, or the whole `copyfittingSettings` block is omitted, copyfitting is off. +- **unresolvedOversetHandling** + - **Type:** string (enum) + - **Enum:** `"warn"`, `"omit_records"` + - **Default:** `"warn"` + - **Description:** What to do when text is still overset after copyfitting. See [Unresolved overset handling](#unresolved-overset-handling) below. +- **multiFrameSyncScope** + - **Type:** string (enum) + - **Enum:** `"paragraph_style"`, `"page"`, `"paragraph_style_and_page"`, `"document"` + - **Default:** none — omit the key to skip multi-frame sync + - **Description:** After fitting the overset frames, apply the same font-size reduction to matching non-overset frames for visual consistency. See [Multi-frame sync scopes](#multi-frame-sync-scopes) below. +- **scope.global.constraints.fontSize** + - **Type:** object — `{ "minPercent": number }` + - **Default:** `minPercent` 85 + - **Description:** Limits for font-size reduction, applied to all text in overset stories. `minPercent` is the floor (text never shrinks below this percentage of its original size; 100 means it never shrinks). Must be between 1 and 100; an out-of-range value fails the job. + +Copyfitting is applied after the merge, before export, once per output document. Threaded text across multiple frames is treated as a single story. + +### Example request + +Enable copyfitting by adding copyfittingSettings to params: + +```curl +curl --location --request POST https://indesign.adobe.io/v4/merge-data \ +--header "Authorization: Bearer {YOUR_OAUTH_TOKEN}" \ +--header "x-api-key: {YOUR_API_KEY}" \ +--header "Content-Type: application/json" \ +--data-raw '{ +"assets": [ + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "dataMergeTemplate.indd" + }, + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "FileNames.csv" + } +], +"params": { + "targetDocument": "dataMergeTemplate.indd", + "outputMediaType": "application/pdf", + "outputFolderPath": {OUTPUT_FOLDER_PATH}, + "outputFileBaseString": "merged", + "dataSource": "FileNames.csv", + "recordRange": "All", + "copyfittingSettings": { + "enabled": true, + "unresolvedOversetHandling": "warn", + "multiFrameSyncScope": "paragraph_style_and_page", + "scope": { + "global": { + "constraints": { + "fontSize": { "minPercent": 80} + } + } + } + } +} +}' +``` + +To enable copyfitting with default limits, the settings can be as small as "copyfittingSettings": { "enabled": true }. + +### Multi-frame sync scopes + +Multi-frame sync keeps related frames visually consistent by extending a reduction beyond just the overset frame. Only the font-size **reduction** by percentage is synced (not the absolute point size, and no other property). Omit multiFrameSyncScope to skip sync entirely - only the overset frames change. When present, it must be one of the following. + +- **paragraph_style** - Frames whose text uses the same paragraph style, across all pages, receive the largest reduction required by any of them. + - Example: A "Headline" paragraph style is used in frames throughout the document. If one headline must shrink 12 percent to fit, every frame using the "Headline" style - on every page - is reduced by 12 percent, so all headlines stay consistent. + +- **page** - Every text frame on the same page as an overset frame receives the same reduction; paragraph style is ignored. + - Example: On a product page, the description frame oversets and shrinks 10 percent. The other text frames on that page (title, price, footnote) are also reduced by 10 percent, keeping the page uniform. + +- **paragraph_style_and_page** - Like paragraph_style, but limited to the current page: only same-style frames on the same page are matched. + - Example: Two "Callout" frames on page 3 shrink together, but "Callout" frames on page 4 are unaffected. + +- **document** - Every text frame in the entire document receives the same reduction; paragraph style is ignored. + - Example: If any frame anywhere needs a 15 percent reduction to fit, all text frames across all pages are reduced by 15 percent, giving the whole piece one consistent size. + +**Conflict rule:** when frames in a group would need different reductions, the largest (most aggressive) reduction wins for the group, subject to the global minimum — no text shrinks below minPercent of its original size. + +### Unresolved overset handling + +If text is still overset after copyfitting has reduced text to minPercent of its original size, unresolvedOversetHandling controls the outcome: + +- **"warn"** (default) - the output file is still produced; affected records report warnings.oversetText. + +- **"omit_records"** - pages for the affected data records are removed from the output and the remaining records still export; affected records report warnings.omittedDataRecordNumbers (and not warnings.oversetText). If every record in the batch would be removed, no file is exported (outputs is empty) and omittedDataRecordNumbers lists the full range. + +### Copyfitting in the response + +Copyfitting adds no new top-level response field. Results appear per record, inside the existing warnings object. + +Still overset with "warn": +```json +"warnings": { + "oversetText": [ + { "page": "2", + "charactersInOverset": "142", + "wordsInOverset": "24", + "oversetText": "...overflowing text..." + } + ] +} +``` +Records omitted with "omit_records": +```json +"warnings": { "omittedDataRecordNumbers": "5,6" } +``` +If copyfitting hits a script or engine error, the whole job fails (no output for that job): + +```json +{ +"status": "FAILURE", +"errorCode": "capability_error", +"errorString": "Capability error: Copyfitting failed. " +} +``` + +## Zip output + +### Folder Structure and Zipped Output in Data Merge API + +The Data Merge API supports organizing your outputs in a structured folder hierarchy, and a zipped folder containing all the outputs that have been created from the successful data merge. + +How it works + +- Add a dedicated column in your input CSV for folder names. +- Prefix the column header with ~ (for example: ~FolderName). +- Each row value in this column will be used as the folder hierarchy for the output file of that record. +- Users can opt in for zipped output by setting `outputCompressMediaType`; only `ZIP` is supported for now. +- Add three input parameters: + - **outputCompressMediaType** + - **Type:** String + - **ENUM:** ["application/zip"] + - **Meaning:** The type of compression the user wants (e.g. ZIP, RAR, etc.). + - If the user opts for zipped output, the response contains only the zipped output, not individual assets and their links. + - If the user does not opt for zipped output, the response is unchanged except that the output path reflects the desired folder hierarchy. + - **outputCompressName** + - **Type:** String + - **Default:** `"Result"` + - **Meaning:** Use this value to name the resulting zip. + - **outputFolderBaseString** + - **Type:** String + - **Default:** `mergedFiles` + - **Meaning:** Specifies which folder merged files go into and the name of the merged folder; multi-record output files or outputs from empty CSV column values are placed in this folder. + +Note: +- Only one folder name column is allowed. If multiple columns have a ‘~’ prefix, the job will fail. +- Local or absolute paths (for example, `C:\F1\F2`) are not supported in the `~` column. Provide relative folder hierarchy values (for example, `F1` or `F1\F2`) only. The job will fail if a row uses a local or absolute path. + +#### Folder Name Constraints + +Certain special characters or words are not supported by the platform and are automatically normalized. + +- Consecutive unsupported characters (e.g., <, >, :, ", /, \, |, ?, *) are replaced with a single underscore (e.g., `Ab5<>;d` → `Ab5_d`) +- Windows reserved names (e.g., CON, PRN, AUX, NUL as well as device names like COM1–COM9 and LPT1–LPT9) are wrapped with underscores (e.g., `CON` → `_CON_`) +- File names (including extension) are limited to 255 characters, with longer names truncated automatically + +Here is a sample CSV file demonstrating a column header with prefix ‘~’. +![Records](./records-foldercsv.png) + +Example of input payload which is same as it is currently. + +```curl +curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ +--header 'Authorization: Bearer {YOUR_OAUTH_TOKEN}' \ +--header 'x-api-key: {YOUR_API_KEY}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "assets": [ + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "dataMergeTemplate.indd" + }, + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "FolderNames.csv" + } + ], + "params": { + "targetDocument": "dataMergeTemplate.indd", + "outputMediaType": "image/png", + "outputFolderPath": {OUTPUT_FOLDER_PATH}, + "outputFileBaseString": "merged", + "dataSource": "FolderNames.csv", + "recordRange": "All", + "outputCompressMediaType": "application/zip", + "outputCompressName": "Works only if outputCompressMediaType is provided", + "outputFolderBaseString": "Merged folder name; multi-record outputs and empty ~ values go here. Default: mergedFiles", + "hyphenationSettings": { + "afterFirst": 3, + "beforeLast": 3, + "wordsLongerThan": 6, + "ladderLimit": 2, + "zone": 0.15, + "capitalizedWords": false, + "lastWord": true, + "acrossColumns": false, + "dictionarySettings": [ + { + "language": "English: USA", + "wordList": ["~word1", "ex~word2"] + }, + { + "language": "English: UK", + "wordList": ["~word3", "~word4"] + } + ] + } + }, + "outputs": [ + { + "destination": { + "url": "{PUT-SIGNED_URL}" + }, + "source": "{OUTPUT_FOLDER_PATH}/{outputs}" + } + ] +}' +``` + +#### When folder structuring is not supported, and output files will move to ‘outputFolderBaseString’ +| outputMediaType | params | +|----------------------------------|--------| +| JPEG (image/jpeg) | allowMultipleRecordsPerPage set to true | +| PNG (image/png) | allowMultipleRecordsPerPage set to true | +| PDF (application/pdf) | recordsPerFile ≠ 1 and recordRange = "All" | +| | recordsPerFile ≠ 1 and recordRange = "1-2, 5" | +| | allowMultipleRecordsPerPage set to true | +| InDesign (application/x-indesign)| recordsPerFile ≠ 1 and recordRange = "All" | +| | recordsPerFile ≠ 1 and recordRange = "1-2, 5" | +| | allowMultipleRecordsPerPage set to true | + +**Why:** Folder structuring via the `~` column applies only when the merge job has a clear one-to-one mapping between each data row and its output. In that case, each row’s `~` value defines the folder hierarchy for that record’s output file. If `allowMultipleRecordsPerPage` is true, multiple records can share a page, so per-row folder paths are ambiguous. If `recordsPerFile` is not 1, records are combined into multi-page output documents, so many rows contribute to the same file and per-row folder paths are no longer meaningful. In those situations, folder structuring via the `~` column is not supported for the affected output types, and output files are placed under `outputFolderBaseString` instead. + +## Pre-signed URL Support + +The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/index.md#supported-storage-types) assets are supported. + +How it works + +- Pre-signed URLs of image assets can now be provided directly in the Image column (prefixed with @) of the input CSV, for each row +- In addition, providing pre-signed URLs of image assets in the input request continues to be supported as before; this feature does not remove or restrict that option. +- The image will be fetched from the pre-signed URL and made available for use in the data merge. +- If a URL cannot be fetched or has expired, that row's image asset will be reported in warnings as a failed download, and the rest of the merge will proceed unaffected. +- Add a new input parameter + - **preSignedURL** + - **Type:** Boolean + - **Meaning:** Whether the user wants to enable fetching image assets via pre-signed URLs provided in the CSV. + - If the user sets this to true, the Image column values in the CSV can be pre-signed URLs, and these will be fetched and used in the data merge. + - If the user doesn't set this (or sets it to false), there is no change in behavior — the Image column will be treated as before, and pre-signed URLs can still only be provided in the input request. + - If a pre-signed URL is included in the Image column but the preSignedURL parameter is not set to true, this enhancement will not take effect. The Image column value will be handled just as it always has been, without any change in behavior. Since the value is a URL and not a valid asset reference, the image for that record will show up as a missing link in the data merge. + +Example of input CSV having an Image column value (prefixed with ‘@’) containing a pre-signed URL +![Records](./records-urlcsv.png) + +Example of input payload +```curl +curl --location --request POST 'https://indesign.adobe.io/v3/merge-data' \ +--header 'Authorization: Bearer {YOUR_OAUTH_TOKEN}' \ +--header 'x-api-key: {YOUR_API_KEY}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "assets": [ + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "dataMergeTemplate.indd" + }, + { + "source": { + "url": "{PRE-SIGNED_URL}", + "storageType": "Azure" + }, + "destination": "Directory_Names.csv" + } + ], + "params": { + "targetDocument": "dataMergeTemplate.indd", + "outputMediaType": "application/x-indesign", + "outputFolderPath": {OUTPUT_FOLDER_PATH}, + "outputFileBaseString": "merged", + "dataSource": "Directory_Names.csv", + "preSignedURL": true + }, + "outputs": [ + { + "destination": { + "url": "{PUT-SIGNED_URL}" + }, + "source": "{OUTPUT_FOLDER_PATH}/merged-1.pdf" + } + ] +}' +``` diff --git a/src/pages/guides/working-with-datamerge-api/index.md b/src/pages/guides/working-with-datamerge-api/index.md index 1bd147d..361b4ca 100644 --- a/src/pages/guides/working-with-datamerge-api/index.md +++ b/src/pages/guides/working-with-datamerge-api/index.md @@ -37,7 +37,7 @@ twitter: Data merge generates variations of a template document from data in a provided CSV file. -The Data Merge API supports UTF-16BE encoding for CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. +The Data Merge API supports UTF-8 and UTF-16BE encoding for CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. The [Data Merge API](../../api/index.md) includes two components to complete the task: the data merge and the data merge tags. From 479360ca4d13e68172598f2a83aebb19fa45815c Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Mon, 10 Aug 2026 23:39:37 +0530 Subject: [PATCH 23/47] more changes for V4 --- src/pages/getting-started/changelog/index.md | 15 +++++++++++++++ .../index.md | 14 ++++++-------- .../records-foldercsv.png | Bin 0 -> 62681 bytes .../records-urlcsv.png | Bin 0 -> 184855 bytes 4 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 src/pages/guides/working-with-advanced-data-merge-api/records-foldercsv.png create mode 100644 src/pages/guides/working-with-advanced-data-merge-api/records-urlcsv.png diff --git a/src/pages/getting-started/changelog/index.md b/src/pages/getting-started/changelog/index.md index 1117017..5c182f1 100644 --- a/src/pages/getting-started/changelog/index.md +++ b/src/pages/getting-started/changelog/index.md @@ -41,6 +41,17 @@ twitter: This page contains the release notes and version history for Adobe InDesign APIs. Stay updated with the latest features, improvements, and bug fixes. +## August 11, 2026 + +### New Features + +*Advanced Data Merge* + +- **Conditional Visibility & Dynamic Styling**: The `POST /v4/merge-data` endpoint now accepts a `rulesFile` parameter, letting a rules JSON file show/hide layers, frames, and placeholders, restyle and recolor content, replace text, and resize or move frames — differently per record. [Learn more about conditional visibility & dynamic styling.][16] +- **Copyfitting**: New `copyfittingSettings` object in `params` automatically reduces font size within defined limits to resolve overset text after a merge. [Learn more about copyfitting.][17] +- **Folder Structure & Zipped Output**: The `POST /v4/merge-data` endpoint supports organizing merge outputs into a folder hierarchy via a `~`-prefixed CSV column, plus optional zipped output using `outputCompressMediaType`. [Learn more about folder structure and zipped output.][18] +- **Pre-signed URL Support in CSV**: A new `preSignedURL` parameter allows image placeholder columns (prefixed with `@`) to contain pre-signed URLs directly in the CSV, fetched during the merge. [Learn more about pre-signed URL support.][19] + ## June 2, 2026 ### Enhancements @@ -145,3 +156,7 @@ This page contains the release notes and version history for Adobe InDesign APIs [13]: ../concepts/index.md#api-capability-naming-rules [14]: ../../guides/working-with-datamerge-api/index.md#variable-file-naming-support-in-data-merge-api [15]: ../usage/index.md#file-size-limits +[16]: ../../guides/working-with-advanced-data-merge-api/index.md#conditional-visibility--dynamic-styling +[17]: ../../guides/working-with-advanced-data-merge-api/index.md#copyfitting +[18]: ../../guides/working-with-advanced-data-merge-api/index.md#folder-structure-and-zipped-output +[19]: ../../guides/working-with-advanced-data-merge-api/index.md#pre-signed-url-support diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index abccc1e..578225f 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -175,7 +175,7 @@ Each clause runs an ordered list of actions on its target. Actions apply top-to- **Notes** - **Styles and swatches must already exist** in your template. A rule can apply a named style or swatch, but it cannot create one. Referencing a hex color like `#D4AF37` is always fine. -- For `resizeFrame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that target unchanged** . +- For `resizeFrame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that axis unchanged**. - `resizeFrame` and `moveFrame` apply to frames only. #### Which actions work on which targets @@ -616,9 +616,7 @@ If copyfitting hits a script or engine error, the whole job fails (no output for } ``` -## Zip output - -### Folder Structure and Zipped Output in Data Merge API +## Folder Structure and Zipped Output The Data Merge API supports organizing your outputs in a structured folder hierarchy, and a zipped folder containing all the outputs that have been created from the successful data merge. @@ -648,7 +646,7 @@ Note: - Only one folder name column is allowed. If multiple columns have a ‘~’ prefix, the job will fail. - Local or absolute paths (for example, `C:\F1\F2`) are not supported in the `~` column. Provide relative folder hierarchy values (for example, `F1` or `F1\F2`) only. The job will fail if a row uses a local or absolute path. -#### Folder Name Constraints +### Folder Name Constraints Certain special characters or words are not supported by the platform and are automatically normalized. @@ -725,7 +723,7 @@ curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ }' ``` -#### When folder structuring is not supported, and output files will move to ‘outputFolderBaseString’ +### When folder structuring is not supported, and output files will move to ‘outputFolderBaseString’ | outputMediaType | params | |----------------------------------|--------| | JPEG (image/jpeg) | allowMultipleRecordsPerPage set to true | @@ -741,7 +739,7 @@ curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ ## Pre-signed URL Support -The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/index.md#supported-storage-types) assets are supported. +The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/#supported-storage-types) assets are supported. How it works @@ -800,4 +798,4 @@ curl --location --request POST 'https://indesign.adobe.io/v3/merge-data' \ } ] }' -``` +``` \ No newline at end of file diff --git a/src/pages/guides/working-with-advanced-data-merge-api/records-foldercsv.png b/src/pages/guides/working-with-advanced-data-merge-api/records-foldercsv.png new file mode 100644 index 0000000000000000000000000000000000000000..a4a7b9b3ebd4addf6307c5fca500cfeafeb5a90f GIT binary patch literal 62681 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
8YGlnd;qQW2hj|OLG25GFm76_Sy&FIZm-;}v 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 QK)|1}g1UV9ebd1I0iIrvHUIzs literal 0 HcmV?d00001 diff --git a/src/pages/guides/working-with-advanced-data-merge-api/records-urlcsv.png b/src/pages/guides/working-with-advanced-data-merge-api/records-urlcsv.png new file mode 100644 index 0000000000000000000000000000000000000000..8e6e50d6e6128522858ebffd0475fd85024670fe GIT binary patch literal 184855 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 U9=&7hAqF7uboFyt=akR{01my0WdHyG literal 0 HcmV?d00001 From b8d38d781a8a093c1ba9dd25c778fed76a3f0757 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Mon, 10 Aug 2026 23:45:14 +0530 Subject: [PATCH 24/47] fixing linting error --- .../guides/working-with-advanced-data-merge-api/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index 578225f..1214cd2 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -503,7 +503,7 @@ Add a copyfittingSettings object inside params. It accepts the following fields: - **Default:** none — omit the key to skip multi-frame sync - **Description:** After fitting the overset frames, apply the same font-size reduction to matching non-overset frames for visual consistency. See [Multi-frame sync scopes](#multi-frame-sync-scopes) below. - **scope.global.constraints.fontSize** - - **Type:** object — `{ "minPercent": number }` + - **Type:** object with a numeric `minPercent` field - **Default:** `minPercent` 85 - **Description:** Limits for font-size reduction, applied to all text in overset stories. `minPercent` is the floor (text never shrinks below this percentage of its original size; 100 means it never shrinks). Must be between 1 and 100; an out-of-range value fails the job. @@ -558,7 +558,7 @@ curl --location --request POST https://indesign.adobe.io/v4/merge-data \ }' ``` -To enable copyfitting with default limits, the settings can be as small as "copyfittingSettings": { "enabled": true }. +To enable copyfitting with default limits, `copyfittingSettings` can be as small as setting `enabled` to `true` and omitting the rest. ### Multi-frame sync scopes @@ -739,7 +739,7 @@ curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ ## Pre-signed URL Support -The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/#supported-storage-types) assets are supported. +The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/index.md#supported-storage-types) assets are supported. How it works From 689c30c1b181030e852ee315126ee617da3aa59f Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 00:19:31 +0530 Subject: [PATCH 25/47] minor fixes --- src/pages/config.md | 1 + static/indesignapi.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/config.md b/src/pages/config.md index 20be44e..2b2ce4f 100644 --- a/src/pages/config.md +++ b/src/pages/config.md @@ -33,6 +33,7 @@ - Guides header - [Working with Custom Scripts API](/guides/working-with-custom-scripts-api/index.md) - [Working with Data Merge API](/guides/working-with-datamerge-api/index.md) + - [Working with Advanced Data Merge API](/guides/working-with-advanced-data-merge-api/index.md) - [Working with Rendition API](/guides/working-with-rendition-api/index.md) - [Writing Scripts for Custom Scripts API](/guides/writing-scripts-for-custom-scripts-api/index.md) - [Tips for PDF to InDesign Conversion](/guides/pdf-to-indesign-conversion-notes/index.md) diff --git a/static/indesignapi.json b/static/indesignapi.json index 0e227ba..f467608 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -23,7 +23,7 @@ "tags": [ { "name": "Data Merge", - "description": "Create document variations from CSV data and InDesign templates. Supports UTF-16BE encoding for CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." + "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." }, { "name": "Remap Links", From 78a4f90857f10adfcc7d1a7bf66da0b6e6d64eb6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 10 Aug 2026 18:28:47 +0000 Subject: [PATCH 26/47] chore: auto-generate contributors --- src/pages/contributors.json | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index 5481958..73c0573 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -1,7 +1,7 @@ { - "total": 13, + "total": 14, "offset": 0, - "limit": 13, + "limit": 14, "data": [ { "page": "/", @@ -46,7 +46,7 @@ "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "6/17/2026" + "lastUpdated": "8/10/2026" }, { "page": "/getting-started/concepts/", @@ -68,12 +68,12 @@ { "page": "/guides/", "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", - "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/51445330?v=4" ], - "lastUpdated": "3/26/2026" + "lastUpdated": "8/10/2026" }, { "page": "/guides/pdf-to-indesign-conversion-notes/", @@ -83,6 +83,13 @@ ], "lastUpdated": "3/26/2026" }, + { + "page": "/guides/working-with-advanced-data-merge-api/", + "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4" + ], + "lastUpdated": "8/10/2026" + }, { "page": "/guides/working-with-custom-scripts-api/", "avatars": [ @@ -97,12 +104,12 @@ { "page": "/guides/working-with-datamerge-api/", "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", - "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4" ], - "lastUpdated": "5/5/2026" + "lastUpdated": "8/10/2026" }, { "page": "/guides/working-with-rendition-api/", From 7157f83fdb5163632967ecf39abb6ee69e4eeda9 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 11:26:57 +0530 Subject: [PATCH 27/47] Changes fo V4 --- static/indesignapi.json | 53 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index f467608..17d75a4 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -22,7 +22,11 @@ ], "tags": [ { - "name": "Data Merge", + "name": "Data Merge (V4)", + "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter." + }, + { + "name": "Data Merge (V3)", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." }, { @@ -51,13 +55,58 @@ } ], "paths": { + "/v4/merge-data": { + "post": { + "summary": "Perform advanced data merge", + "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter.", + "operationId": "dataMergeV4", + "tags": [ + "Data Merge (V4)" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MergeDataRequest" + } + } + }, + "description": "This job request object specifies parameters for merging the data with the given template.", + "required": true + }, + "responses": { + "202": { + "$ref": "#/components/responses/Accepted" + }, + "400": { + "$ref": "#/components/responses/BadParams" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + } + } + } + }, "/v3/merge-data": { "post": { "summary": "Perform a data merge", "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`).", "operationId": "dataMerge", "tags": [ - "Data Merge" + "Data Merge (V3)" ], "parameters": [], "requestBody": { From c0e942ce567da3ae33f4869fbbc3499caaca009b Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 13:31:45 +0530 Subject: [PATCH 28/47] More changes for V4 --- static/indesignapi.json | 274 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 272 insertions(+), 2 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index 17d75a4..07e61dd 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -68,7 +68,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MergeDataRequest" + "$ref": "#/components/schemas/MergeDataRequestV4" } } }, @@ -151,7 +151,7 @@ "description": "Retrieves the data merge tags from a document.", "operationId": "dataMergeTags", "tags": [ - "Data Merge" + "Data Merge (V3)" ], "parameters": [], "requestBody": { @@ -1454,6 +1454,276 @@ } ] }, + "MergeDataRequestV4": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseJobRequestWithOutput" + }, + { + "description": "Inputs for the data merge request.", + "type": "object", + "required": [ + "params" + ], + "properties": { + "params": { + "type": "object", + "required": [ + "targetDocument", + "dataSource" + ], + "properties": { + "targetDocument": { + "description": "The tagged document to be used as the template for merging.", + "type": "string" + }, + "dataSource": { + "description": "The data source files to be used.", + "type": "string" + }, + "outputMediaType": { + "description": "The type of output.", + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "application/pdf", + "application/x-indesign" + ], + "default": "application/x-indesign" + }, + "rulesFile": { + "description": "The rule json file having all the conditions and actions.", + "type": "string" + }, + "exportSettings": { + "type": "object", + "description": "The settings corresponding to the output format.", + "properties": { + "jobOptionsFile": { + "type": "string", + "description": "File path reference to a `.joboptions` file (Adobe PDF preset file) containing custom PDF export settings. This file must be included as part of the input assets. It defines detailed PDF output configurations such as compression, color management, and security settings. When provided, this takes precedence over the `pdfPreset` attribute. Only applicable when generating PDF output.", + "default": "PDF preset `High Quality Print` will be used if not provided." + }, + "pdfPreset": { + "type": "string", + "description": "The PDF export style to be used. This is relevant if `outputMediaType` is `application/pdf`.", + "default": "High Quality Print", + "enum": [ + "High Quality Print", + "PDF/X-1a:2001", + "PDF/X-3:2002", + "PDF/X-4:2008", + "Press Quality", + "Smallest File Size" + ] + }, + "quality": { + "type": "string", + "description": "Defines the quality of the output for JPEG and PNG formats.", + "default": "medium", + "enum": [ + "low", + "medium", + "high", + "maximum" + ] + }, + "linkImages": { + "description": "If `true`, links images to the target document. If `false`, embeds linked images already referred in the target document. Only relevant if `outputMediaType` is `application/x-indesign`.", + "type": "boolean", + "default": false + } + } + }, + "recordRange": { + "description": "The ranges of records to process for this job. Value can be `All`, along with numeral ranges. For example, '1-2, 5'.", + "type": "string", + "default": "All" + }, + "allowMultipleRecordsPerPage": { + "description": "If `true`, will show as many records as will fit on a page.", + "type": "boolean", + "default": false + }, + "multipleRecordLayoutOptions": { + "description": "The options to be used when `allowMultipleRecordsPerPage` is set to `true`.", + "type": "object", + "properties": { + "arrangeBy": { + "description": "The order that records will be arranged in the target document.\n* `rows_first` - Arranges records by row.\n* `columns_first` - Arranges records by column.\n", + "type": "string", + "default": "rows_first", + "enum": [ + "rows_first", + "columns_first" + ] + }, + "bottomMargin": { + "description": "The offset value of the bottom margin in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "topMargin": { + "description": "The offset value of the top margin in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "leftMargin": { + "description": "The offset value of the left margin in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "rightMargin": { + "description": "The offset value of the right margin in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "columnSpacing": { + "description": "The amount of spacing between columns of records in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + }, + "rowSpacing": { + "description": "The amount of spacing between rows of records in the target document. The values can be specified like `1 pt`, `1 pica`, `1`, etc. If a number is mentioned in the string, it will be used as a value in pica.", + "type": "string" + } + } + }, + "imagePlacementOptions": { + "description": "These are the options for image placement which will be used while merging images in the document.", + "type": "object", + "properties": { + "centerImage": { + "description": "If true, this centers the image in the frame while preserving the frame size as content size and proportions. If the content is larger than the frame, content around the edges is obscured by the bounding box of the frame.

This won't work when `fittingOption` is `Content_Aware_Fit`.", + "type": "boolean", + "default": false + }, + "fittingOption": { + "description": "The method of fitting content in a frame.\n* `content_aware_fit` - Selects best crop region of the content for the frame based on Adobe Sensei. This preserves frame size but it might scale the content size. If this fitting is set, the `centerImage` property is turned-off.\n* `fill_proportional` - Resizes content to fill the frame while preserving the proportions of the content. If the content and frame have different proportions, some of the content is obscured by the bounding box of the frame.\n* `fit_content_to_frame` - Resizes content to fit the frame. Content that is a different size than the frame appears stretched or squeezed.\n* `fit_frame_to_content` - Resizes the frame so it fits the content.\n* `honor_existing_style` - Applies the frame fitting based on existing settings applied on the original frame.\n* `preserve_sizes` - Preserves the original sizes of the frame and the content. Content that is larger than the frame is obscured around the edges.\n* `proportional` - Resizes content to fit the frame while preserving content proportions. If the content and frame have different proportions, an empty space occurs in the frame.\n", + "type": "string", + "default": "proportional", + "enum": [ + "content_aware_fit", + "fill_proportional", + "fit_content_to_frame", + "fit_frame_to_content", + "honor_existing_style", + "preserve_sizes", + "proportional" + ] + }, + "linkImages": { + "description": "This applies to the images being brought in the document while merging. If true, this links images to the target document. If false, it embeds images in the target document.", + "type": "boolean", + "default": false + } + } + }, + "hyphenationSettings": { + "description": "Hyphenation settings to control word breaking and hyphenation behavior during merge.", + "type": "object", + "properties": { + "afterFirst": { + "type": "integer", + "description": "Minimum number of characters at the start of a word before a hyphen may be inserted." + }, + "beforeLast": { + "type": "integer", + "description": "Minimum number of characters at the end of a word after a hyphen." + }, + "wordsLongerThan": { + "type": "integer", + "description": "Minimum word length for hyphenation to apply." + }, + "ladderLimit": { + "type": "integer", + "description": "Maximum allowed consecutive hyphenated lines." + }, + "zone": { + "type": "number", + "description": "Whitespace ratio allowed at the end of a line before hyphenation begins (0\u20131)." + }, + "capitalizedWords": { + "type": "boolean", + "description": "If true, allows hyphenation of capitalized words." + }, + "lastWord": { + "type": "boolean", + "description": "If true, allows hyphenation of the last word in a paragraph." + }, + "acrossColumns": { + "type": "boolean", + "description": "If true, allows hyphenation across columns." + }, + "dictionarySettings": { + "type": "array", + "description": "Special hyphenation definitions by language.", + "items": { + "type": "object", + "required": [ + "language", + "wordList" + ], + "properties": { + "language": { + "$ref": "#/components/schemas/HyphenationLanguage" + }, + "wordList": { + "type": "array", + "description": "List of special hyphenation definitions (use `~` to mark break points, e.g., `Know~how`, `check~in`. Put `~` at the beginning of the word to exclude it from hyphenation, e.g., `~Wallstreet`, `~Starbucks`).", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "recordsPerFile": { + "description": "The maximum number of records per output file.", + "type": "integer", + "default": "By default this would not be applicable." + }, + "removeBlankLines": { + "description": "If true, removes blank lines caused by empty fields.", + "type": "boolean", + "default": false + }, + "convertUrlToHyperlink": { + "description": "If true, all URLs in the merged document are converted into hyperlinks.", + "type": "boolean", + "default": true + }, + "outputFileBaseString": { + "type": "string", + "description": "The name of the output file.", + "default": "It is derived from the original document filename." + }, + "outputFolderPath": { + "type": "string", + "description": "The path of the output folder.", + "default": "A unique temporary folder name would be created." + }, + "preSignedURL": { + "description": "If true, fetches images from pre-signed URLs in the datasource `Image` column.", + "type": "boolean", + "default": false + }, + "outputCompressMediaType": { + "type": "string", + "description": "The compression type for the output, if compressed output is desired.", + "enum": [ + "application/zip" + ] + }, + "outputCompressName": { + "type": "string", + "description": "The name of the resulting compressed output file.", + "default": "Result" + } + } + } + } + } + ] + }, "MergeDataRequest": { "allOf": [ { From bcca32e2eb5e94398999cfba002d4e4ec3b12cc7 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 14:43:07 +0530 Subject: [PATCH 29/47] copyfitting changes --- static/indesignapi.json | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/static/indesignapi.json b/static/indesignapi.json index 07e61dd..a49cbc0 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -1496,6 +1496,62 @@ "description": "The rule json file having all the conditions and actions.", "type": "string" }, + "copyfittingSettings": { + "type": "object", + "description": "Enables automatic copyfitting (font-size reduction) to resolve overset text after a merge. Copyfitting runs only when `enabled` is true; if the object is omitted, copyfitting is off.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Master switch. Copyfitting runs only when true. If false, absent, or the object is omitted, copyfitting is off. Required to turn the feature on.", + "default": false + }, + "unresolvedOversetHandling": { + "type": "string", + "description": "Behavior when text is still overset after copyfitting. One of: `warn`, `omit_records`.", + "default": "warn", + "enum": [ + "warn", + "omit_records" + ] + }, + "multiFrameSyncScope": { + "type": "string", + "description": "Applies the same font-size reduction to matching non-overset frames. One of: `paragraph_style`, `page`, `paragraph_style_and_page`, `document`. Omit to skip multi-frame sync.", + "enum": [ + "paragraph_style", + "page", + "paragraph_style_and_page", + "document" + ] + }, + "scope": { + "type": "object", + "properties": { + "global": { + "type": "object", + "properties": { + "constraints": { + "type": "object", + "properties": { + "fontSize": { + "type": "object", + "properties": { + "minPercent": { + "type": "number", + "description": "Floor for font-size reduction, as a percentage of the original size. Must be between 1 and 100; 100 means the text never shrinks.", + "default": 85 + } + } + } + } + } + } + } + } + } + } + }, + "exportSettings": { "type": "object", "description": "The settings corresponding to the output format.", From b8e445c6df3483adeb0d2ac04cbd5db2c0f72728 Mon Sep 17 00:00:00 2001 From: Ayushi Swaroop Date: Tue, 11 Aug 2026 14:33:52 +0530 Subject: [PATCH 30/47] Update screenshot for v3 --- .../records-csv.png | Bin 31706 -> 64589 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/pages/guides/working-with-datamerge-api/records-csv.png b/src/pages/guides/working-with-datamerge-api/records-csv.png index 5fa3a2cc800da983d200c4549e7e195c50059521..b894a533a26aae3e6ac4e26b2dcb3f008dbc59ce 100644 GIT binary patch literal 64589 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:R)V20+26mcB;w#A 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 From 6e1c6787adc2714b7b2c23f58aa7257754c3a46f Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Tue, 11 Aug 2026 16:52:52 +0530 Subject: [PATCH 31/47] More V4 changes --- static/indesignapi.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index a49cbc0..36e29be 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -22,11 +22,11 @@ ], "tags": [ { - "name": "Data Merge (V4)", + "name": "Data Merge Advanced", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter." }, { - "name": "Data Merge (V3)", + "name": "Data Merge", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." }, { @@ -61,7 +61,7 @@ "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter.", "operationId": "dataMergeV4", "tags": [ - "Data Merge (V4)" + "Data Merge Advanced" ], "parameters": [], "requestBody": { @@ -106,7 +106,7 @@ "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`).", "operationId": "dataMerge", "tags": [ - "Data Merge (V3)" + "Data Merge" ], "parameters": [], "requestBody": { @@ -151,7 +151,7 @@ "description": "Retrieves the data merge tags from a document.", "operationId": "dataMergeTags", "tags": [ - "Data Merge (V3)" + "Data Merge" ], "parameters": [], "requestBody": { From 7b30f6f2d54133bba86abcfb9ec670c0d251090a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 11 Aug 2026 09:19:30 +0000 Subject: [PATCH 32/47] chore: auto-generate contributors --- src/pages/contributors.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index 73c0573..a44e1d2 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -26,10 +26,11 @@ { "page": "/config", "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "5/4/2026" + "lastUpdated": "8/10/2026" }, { "page": "/getting-started/", From a377fb95ba486ce0264bc1018ba06729bc5ff757 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Wed, 12 Aug 2026 12:58:36 +0530 Subject: [PATCH 33/47] Bringing V4 change back --- static/indesignapi.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/indesignapi.json b/static/indesignapi.json index 36e29be..a49cbc0 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -22,11 +22,11 @@ ], "tags": [ { - "name": "Data Merge Advanced", + "name": "Data Merge (V4)", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter." }, { - "name": "Data Merge", + "name": "Data Merge (V3)", "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding." }, { @@ -61,7 +61,7 @@ "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter.", "operationId": "dataMergeV4", "tags": [ - "Data Merge Advanced" + "Data Merge (V4)" ], "parameters": [], "requestBody": { @@ -106,7 +106,7 @@ "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`).", "operationId": "dataMerge", "tags": [ - "Data Merge" + "Data Merge (V3)" ], "parameters": [], "requestBody": { @@ -151,7 +151,7 @@ "description": "Retrieves the data merge tags from a document.", "operationId": "dataMergeTags", "tags": [ - "Data Merge" + "Data Merge (V3)" ], "parameters": [], "requestBody": { From 9a9cdd530e59e81b642f6970cea12a72456348e0 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Fri, 14 Aug 2026 09:46:51 +0530 Subject: [PATCH 34/47] Changes as per styleguide --- .../index.md | 96 +++++++++---------- static/indesignapi.json | 9 +- 2 files changed, 54 insertions(+), 51 deletions(-) diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index 1214cd2..9952a79 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -131,8 +131,8 @@ A target selects the object(s) an action runs on. It always resolves within the | type | Selects by | Acts on | |---|---|---| | `layer` | Layer name | The items on that layer | -| `xmlTag` | XML tag name | A frame or a tagged text range | -| `dataMergeTag` | Placeholder name | A Data Merge placeholder (image, QR, or text) | +| `xml_tag` | XML tag name | A frame or a tagged text range | +| `data_merge_tag` | Placeholder name | A Data Merge placeholder (image, QR, or text) | ```json { "type": "layer", "name": "premium_offer" } @@ -140,7 +140,7 @@ A target selects the object(s) an action runs on. It always resolves within the #### Referencing a Data Merge placeholder by kind -A `dataMergeTag` target chooses which kind of placeholder to act on using a name prefix: +A `data_merge_tag` target chooses which kind of placeholder to act on using a name prefix: | Prefix | Kind | Example | |---|---|---| @@ -149,7 +149,7 @@ A `dataMergeTag` target chooses which kind of placeholder to act on using a name | (none) | Text placeholder | `"title"` → the text placeholder named `title` | ```json -{ "type": "dataMergeTag", "name": "@hero" } +{ "type": "data_merge_tag", "name": "@hero" } ``` ### Actions — what a rule does @@ -160,36 +160,36 @@ Each clause runs an ordered list of actions on its target. Actions apply top-to- |---|---|---| | `show` | — | Make the target visible | | `hide` | — | Make the target hidden | -| `replaceText` | `value` (string) | Replace the text content | -| `setCharacterStyle` | `styleName` (string) | Apply a named character style | -| `setParagraphStyle` | `styleName` (string) | Apply a named paragraph style | -| `setFillColor` | `color` (hex `#RRGGBB` or swatch name) | Change the fill color | -| `setStrokeColor` | `color` (hex `#RRGGBB` or swatch name) | Change the stroke color | -| `resizeFrame` | `width`, `height` | Resize the frame | -| `moveFrame` | `x`, `y` | Move the frame's top-left origin | +| `replace_text` | `value` (string) | Replace the text content | +| `set_character_style` | `styleName` (string) | Apply a named character style | +| `set_paragraph_style` | `styleName` (string) | Apply a named paragraph style | +| `set_fill_color` | `color` (hex `#RRGGBB` or swatch name) | Change the fill color | +| `set_stroke_color` | `color` (hex `#RRGGBB` or swatch name) | Change the stroke color | +| `resize_frame` | `width`, `height` | Resize the frame | +| `move_frame` | `x`, `y` | Move the frame's top-left origin | ```json -{ "name": "setFillColor", "color": "#D4AF37" } +{ "name": "set_fill_color", "color": "#D4AF37" } ``` **Notes** - **Styles and swatches must already exist** in your template. A rule can apply a named style or swatch, but it cannot create one. Referencing a hex color like `#D4AF37` is always fine. -- For `resizeFrame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that axis unchanged**. -- `resizeFrame` and `moveFrame` apply to frames only. +- For `resize_frame`, values must be **non-negative**. Passing `0` for `width` or `height` leaves **that axis unchanged**. +- `resize_frame` and `move_frame` apply to frames only. #### Which actions work on which targets -| Action \ Target | `layer` | `xmlTag` | `dataMergeTag` | +| Action \ Target | `layer` | `xml_tag` | `data_merge_tag` | |---|---|---|---| | `show` / `hide` | ✓ | ✓ | ✓ | -| `replaceText` | — | ✓ | ✓ | -| `setCharacterStyle` | — | ✓ | ✓ | -| `setParagraphStyle` | — | ✓ | ✓ | -| `setFillColor` | — | ✓ | ✓ | -| `setStrokeColor` | — | ✓ | ✓ | -| `resizeFrame` | — | ✓ | ✓ | -| `moveFrame` | — | ✓ | ✓ | +| `replace_text` | — | ✓ | ✓ | +| `set_character_style` | — | ✓ | ✓ | +| `set_paragraph_style` | — | ✓ | ✓ | +| `set_fill_color` | — | ✓ | ✓ | +| `set_stroke_color` | — | ✓ | ✓ | +| `resize_frame` | — | ✓ | ✓ | +| `move_frame` | — | ✓ | ✓ | Using an action on a target that isn't marked ✓ is rejected when your rules file is checked (see [Errors & Warnings](#errors--warnings)). @@ -226,12 +226,12 @@ There are three building blocks: | Group | Operators | Notes | |---|---|---| | Comparison | `==`, `!=`, `>`, `>=`, `<`, `<=` | `>`, `>=`, `<`, `<=` are for numbers (or text, alphabetically) — not booleans | -| Set membership | `in`, `notIn` | `value` must be a non-empty array; `valueColumn` not allowed | -| Text matching | `contains`, `startsWith`, `endsWith` | String only, case-sensitive | +| Set membership | `in`, `not_in` | `value` must be a non-empty array; `valueColumn` not allowed | +| Text matching | `contains`, `starts_with`, `ends_with` | String only, case-sensitive | **Right-hand side:** provide exactly one of: -- `value` — a literal number, string, or boolean (or an array of literals for `in`/`notIn`), or +- `value` — a literal number, string, or boolean (or an array of literals for `in`/`not_in`), or - `valueColumn` — the name of another CSV column, to compare column-against-column. **Value types & how comparisons are made** @@ -258,7 +258,7 @@ Wrap any single condition to negate it: { "not": { "column": "sku", "operator": "contains", "value": "PROMO" } } ``` -This reads as "SKU does not contain PROMO." (For simple "is not one of a set" tests, the `notIn` operator is usually simpler.) +This reads as "SKU does not contain PROMO." (For simple "is not one of a set" tests, the `not_in` operator is usually simpler.) #### Condition examples @@ -294,7 +294,7 @@ Compare two columns — `Life Time Spend` greater than `cost`: `region` is not EU or UK: ```json -{ "column": "region", "operator": "notIn", "value": ["EU", "UK"] } +{ "column": "region", "operator": "not_in", "value": ["EU", "UK"] } ``` A nested example — VIP, in the US or UK, and not blocked: @@ -325,14 +325,14 @@ A nested example — VIP, in the US or UK, and not blocked: { "condition": { "column": "tier", "operator": "==", "value": "VIP" }, "then": [ - { "target": { "type": "dataMergeTag", "name": "vip_badge" }, + { "target": { "type": "data_merge_tag", "name": "vip_badge" }, "actions": [ { "name": "show" } ] } ] } ], "default": { "then": [ - { "target": { "type": "dataMergeTag", "name": "vip_badge" }, + { "target": { "type": "data_merge_tag", "name": "vip_badge" }, "actions": [ { "name": "hide" } ] } ] } @@ -352,19 +352,19 @@ VIP records show the badge; everyone else hides it. { "cases": [ { "condition": { "column": "tier", "operator": "==", "value": "VIP" }, - "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, - "actions": [ { "name": "setFillColor", "color": "#D4AF37" } ] } ] }, + "then": [ { "target": { "type": "data_merge_tag", "name": "badge" }, + "actions": [ { "name": "set_fill_color", "color": "#D4AF37" } ] } ] }, { "condition": { "column": "spend", "operator": ">", "value": 10000, "type": "number" }, - "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, - "actions": [ { "name": "setFillColor", "color": "#C0C0C0" } ] } ] }, + "then": [ { "target": { "type": "data_merge_tag", "name": "badge" }, + "actions": [ { "name": "set_fill_color", "color": "#C0C0C0" } ] } ] }, { "condition": { "column": "spend", "operator": ">", "value": 1000, "type": "number" }, - "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, - "actions": [ { "name": "setFillColor", "color": "#CD7F32" } ] } ] } + "then": [ { "target": { "type": "data_merge_tag", "name": "badge" }, + "actions": [ { "name": "set_fill_color", "color": "#CD7F32" } ] } ] } ], "default": { - "then": [ { "target": { "type": "dataMergeTag", "name": "badge" }, + "then": [ { "target": { "type": "data_merge_tag", "name": "badge" }, "actions": [ { "name": "hide" } ] } ] } } @@ -397,7 +397,7 @@ Reads as: VIP → gold; else if spend > 10,000 → silver; else if spend > 1,000 This assumes the `premium_offer` layer is **hidden** in the template. It stays hidden by default and is shown only for records that match. If the layer were visible in the template instead, add a `default` with a `hide` action to switch it off for non-matching records. -#### Example 4 — Swap disclaimer text by region using an `xmlTag` +#### Example 4 — Swap disclaimer text by region using an `xml_tag` ```json { @@ -408,28 +408,28 @@ This assumes the `premium_offer` layer is **hidden** in the template. It stays h { "condition": { "column": "region", "operator": "==", "value": "EU" }, "then": [ - { "target": { "type": "xmlTag", "name": "disclaimer" }, + { "target": { "type": "xml_tag", "name": "disclaimer" }, "actions": [ - { "name": "replaceText", "value": "This offer is subject to EU consumer protection regulations." }, - { "name": "setCharacterStyle", "styleName": "Legal-EU" } + { "name": "replace_text", "value": "This offer is subject to EU consumer protection regulations." }, + { "name": "set_character_style", "styleName": "Legal-EU" } ] } ] }, { "condition": { "column": "region", "operator": "==", "value": "US" }, "then": [ - { "target": { "type": "xmlTag", "name": "disclaimer" }, + { "target": { "type": "xml_tag", "name": "disclaimer" }, "actions": [ - { "name": "replaceText", "value": "Void where prohibited. See terms for details." }, - { "name": "setCharacterStyle", "styleName": "Legal-US" } + { "name": "replace_text", "value": "Void where prohibited. See terms for details." }, + { "name": "set_character_style", "styleName": "Legal-US" } ] } ] } ], "default": { "then": [ - { "target": { "type": "xmlTag", "name": "disclaimer" }, - "actions": [ { "name": "replaceText", "value": "Terms and conditions apply." } ] } + { "target": { "type": "xml_tag", "name": "disclaimer" }, + "actions": [ { "name": "replace_text", "value": "Terms and conditions apply." } ] } ] } } @@ -748,12 +748,12 @@ How it works - The image will be fetched from the pre-signed URL and made available for use in the data merge. - If a URL cannot be fetched or has expired, that row's image asset will be reported in warnings as a failed download, and the rest of the merge will proceed unaffected. - Add a new input parameter - - **preSignedURL** + - **presignedUrlsInDataSource** - **Type:** Boolean - **Meaning:** Whether the user wants to enable fetching image assets via pre-signed URLs provided in the CSV. - If the user sets this to true, the Image column values in the CSV can be pre-signed URLs, and these will be fetched and used in the data merge. - If the user doesn't set this (or sets it to false), there is no change in behavior — the Image column will be treated as before, and pre-signed URLs can still only be provided in the input request. - - If a pre-signed URL is included in the Image column but the preSignedURL parameter is not set to true, this enhancement will not take effect. The Image column value will be handled just as it always has been, without any change in behavior. Since the value is a URL and not a valid asset reference, the image for that record will show up as a missing link in the data merge. + - If a pre-signed URL is included in the Image column but the presignedUrlsInDataSource parameter is not set to true, this enhancement will not take effect. The Image column value will be handled just as it always has been, without any change in behavior. Since the value is a URL and not a valid asset reference, the image for that record will show up as a missing link in the data merge. Example of input CSV having an Image column value (prefixed with ‘@’) containing a pre-signed URL ![Records](./records-urlcsv.png) @@ -787,7 +787,7 @@ curl --location --request POST 'https://indesign.adobe.io/v3/merge-data' \ "outputFolderPath": {OUTPUT_FOLDER_PATH}, "outputFileBaseString": "merged", "dataSource": "Directory_Names.csv", - "preSignedURL": true + "presignedUrlsInDataSource": true }, "outputs": [ { diff --git a/static/indesignapi.json b/static/indesignapi.json index a49cbc0..c2ac029 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -23,7 +23,7 @@ "tags": [ { "name": "Data Merge (V4)", - "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter." + "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `presignedUrlsInDataSource` parameter." }, { "name": "Data Merge (V3)", @@ -58,7 +58,7 @@ "/v4/merge-data": { "post": { "summary": "Perform advanced data merge", - "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `preSignedURL` parameter.", + "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `presignedUrlsInDataSource` parameter.", "operationId": "dataMergeV4", "tags": [ "Data Merge (V4)" @@ -1498,6 +1498,9 @@ }, "copyfittingSettings": { "type": "object", + "required": [ + "enabled" + ], "description": "Enables automatic copyfitting (font-size reduction) to resolve overset text after a merge. Copyfitting runs only when `enabled` is true; if the object is omitted, copyfitting is off.", "properties": { "enabled": { @@ -1757,7 +1760,7 @@ "description": "The path of the output folder.", "default": "A unique temporary folder name would be created." }, - "preSignedURL": { + "presignedUrlsInDataSource": { "description": "If true, fetches images from pre-signed URLs in the datasource `Image` column.", "type": "boolean", "default": false From 68415c00479e674d6dd36980afb083ae805db686 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 14 Aug 2026 04:21:34 +0000 Subject: [PATCH 35/47] chore: auto-generate contributors --- src/pages/contributors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index a44e1d2..a8877af 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -89,7 +89,7 @@ "avatars": [ "https://avatars.githubusercontent.com/u/66052604?v=4" ], - "lastUpdated": "8/10/2026" + "lastUpdated": "8/14/2026" }, { "page": "/guides/working-with-custom-scripts-api/", From 0b87205185e301c7981330175166a330246552a2 Mon Sep 17 00:00:00 2001 From: Rhythm Jain Date: Thu, 27 Aug 2026 12:17:31 +0530 Subject: [PATCH 36/47] docs: document output file naming convention for multi-file exports Rendition and Data Merge multi-file outputs (per-page or per-record) use InDesign's native sequential naming, not an underscore-delimited scheme, which integrators have misread when predicting outputs[].source values. Document the rule once in Key Concepts and cross-link it from both guides, including a caution about base strings ending in a digit. --- src/pages/getting-started/concepts/index.md | 21 +++++++++++++++++++ .../working-with-datamerge-api/index.md | 4 +++- .../working-with-rendition-api/index.md | 7 ++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/pages/getting-started/concepts/index.md b/src/pages/getting-started/concepts/index.md index f5075fa..a0b7f85 100644 --- a/src/pages/getting-started/concepts/index.md +++ b/src/pages/getting-started/concepts/index.md @@ -92,6 +92,25 @@ platform can upload. You can provide this information in the `outputs` array wit Each storage provider may have its own requirements for creating PUT or POST pre-signed URLs. Please follow the documentation from the individual storage provider creating these URLs. +## Output file naming convention + +When a request produces more than one output file from a single base name (for example, one file per page in the [Rendition API][10], or one file per record in the [Data Merge API][11]), the file names follow InDesign's own native sequential-export naming convention — not an underscore- or hyphen-delimited scheme: + +- The first file uses the base name as-is: `{outputFileBaseString}.{ext}` +- Each subsequent file appends its index directly after the base name, with no separator: `{outputFileBaseString}{index}.{ext}` +- `{ext}` is derived from the requested `outputMediaType` (for example, `image/png` → `.png`, `image/jpeg` → `.jpg`). + +For example, with `outputFileBaseString` set to `banner`: + +- `banner.png` +- `banner2.png` +- `banner3.png` +- ... + +**Caution:** Because there is no separator, a base string that ends in a digit makes the generated file names ambiguous to parse back into base + index without already knowing the base string. For example, base string `hero9` at index 10 produces `hero910.png`, which is indistinguishable from base string `hero91` at index 0. Avoid base strings that end in a digit if your integration needs to derive the page or record index from the file name, or track expected file names by position/index rather than by parsing the generated name. + +If you register per-file destinations using the `outputs` array (see [Output assets](#output-assets)), predict each file's name using this convention when setting its `source` field — a mismatched `source` means that file silently fails to upload to your registered destination. + ## About custom script bundles To create a script to use with the Custom Scripts API, you'll need to prepare a script bundle, a ZIP file with a predefined structure. @@ -436,3 +455,5 @@ Once validation is complete, update your production scripts to use the new app v [7]: https://learn.microsoft.com/en-us/azure/ai-services/translator/document-translation/how-to-guides/create-sas-tokens?tabs=Containers [8]: ../../guides/writing-scripts-for-custom-scripts-api/index.md [9]: https://developer.adobe.com/events/docs/guides/using/indesign-apis/indesign-apis-events-data-stream-setup/ +[10]: ../../guides/working-with-rendition-api/index.md +[11]: ../../guides/working-with-datamerge-api/index.md diff --git a/src/pages/guides/working-with-datamerge-api/index.md b/src/pages/guides/working-with-datamerge-api/index.md index 361b4ca..2ec160a 100644 --- a/src/pages/guides/working-with-datamerge-api/index.md +++ b/src/pages/guides/working-with-datamerge-api/index.md @@ -116,7 +116,7 @@ parts: - **assets** - Input assets for the request. - **params** - Information about what to do with the input assets. - **outputs** - Specify locations where the output assets are uploaded. Without an `outputs` parameter, the output assets are stored in a temporary -repository, and a [pre-signed URL](../../getting-started/concepts/index.md#pre-signed-urls) will be shared for those assets, which will be valid for 24hrs. +repository, and a [pre-signed URL](../../getting-started/concepts/index.md#pre-signed-urls) will be shared for those assets, which will be valid for 24hrs. For multi-record PNG/JPEG output, see [Output Path Variations in Data Merge API](#output-path-variations-in-data-merge-api) below to predict each file's name when setting `source`. Consult this skeleton [cURL request](https://developer.adobe.com/commerce/webapi/get-started/gs-curl/) for more details. @@ -269,6 +269,8 @@ When you upload this UTF-8 encoded CSV to the Data Merge API, the merged documen When using the Data Merge API, the output file paths are determined by the `outputFolderPath` and `outputFileBaseString` parameters in the request. Here are the different scenarios and their corresponding output paths: +For PNG/JPEG outputs, the per-record file names below follow the platform's [output file naming convention](../../getting-started/concepts/index.md#output-file-naming-convention). + #### Case 1: Both Parameters Missing When neither `outputFolderPath` nor `outputFileBaseString` is provided: diff --git a/src/pages/guides/working-with-rendition-api/index.md b/src/pages/guides/working-with-rendition-api/index.md index 24c50d3..35083c9 100644 --- a/src/pages/guides/working-with-rendition-api/index.md +++ b/src/pages/guides/working-with-rendition-api/index.md @@ -75,10 +75,15 @@ parts: - **assets** - Input assets for the request. - **params** - Information about what to do with the input assets. - **outputs** - Specify locations where the output assets are uploaded. Without an `outputs` parameter, the output assets are stored in a temporary -repository, and a [pre-signed URL][2] will be shared for those assets, which will be valid for 24hrs. +repository, and a [pre-signed URL][2] will be shared for those assets, which will be valid for 24hrs. For multi-page exports, see [Output file naming for multi-page renditions](#output-file-naming-for-multi-page-renditions) below to predict each page's file name when setting `source`. Consult this skeleton [cURL request][3] for more details. +### Output file naming for multi-page renditions + +When `pageRange` spans more than one page or spread (for example, with `createSeparateFiles: true`), the Rendition API generates one output file per page, following the platform's [output file naming convention][4]. + [1]: ../../getting-started/concepts/index.md#Pre-signed-URLs [2]: ../../getting-started/concepts/index.md#Pre-signed-URLs [3]: https://developer.adobe.com/commerce/webapi/get-started/gs-curl/ +[4]: ../../getting-started/concepts/index.md#output-file-naming-convention From 0e779dd2e8fcf12c5bd539f96cf764dc3971b416 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 1 Sep 2026 05:49:30 +0000 Subject: [PATCH 37/47] chore: auto-generate contributors --- src/pages/contributors.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index a8877af..f398a64 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -52,10 +52,11 @@ { "page": "/getting-started/concepts/", "avatars": [ + "https://avatars.githubusercontent.com/u/175690214?v=4", "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "3/20/2026" + "lastUpdated": "8/27/2026" }, { "page": "/getting-started/usage/", @@ -105,20 +106,22 @@ { "page": "/guides/working-with-datamerge-api/", "avatars": [ + "https://avatars.githubusercontent.com/u/175690214?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4" ], - "lastUpdated": "8/10/2026" + "lastUpdated": "8/27/2026" }, { "page": "/guides/working-with-rendition-api/", "avatars": [ + "https://avatars.githubusercontent.com/u/175690214?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4" ], - "lastUpdated": "2/25/2026" + "lastUpdated": "8/27/2026" }, { "page": "/guides/writing-scripts-for-custom-scripts-api/", From 4f6c399a0c9f2fe7e9dbe5c343e1a278ae8568cd Mon Sep 17 00:00:00 2001 From: swaroop2512 Date: Tue, 15 Sep 2026 21:36:44 +0530 Subject: [PATCH 38/47] Adding Review (#71) * Output Path Variations, add info about 'failedAssets' key * chore: auto-generate contributors * adding review * chore: auto-generate contributors * adding copyfitting note * chore: auto-generate contributors --- src/pages/contributors.json | 7 +- src/pages/getting-started/changelog/index.md | 4 + .../index.md | 139 +++++++++++++++++- 3 files changed, 146 insertions(+), 4 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index f398a64..369fd2b 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -42,12 +42,13 @@ { "page": "/getting-started/changelog/", "avatars": [ + "https://avatars.githubusercontent.com/u/160902380?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "8/10/2026" + "lastUpdated": "9/7/2026" }, { "page": "/getting-started/concepts/", @@ -88,9 +89,11 @@ { "page": "/guides/working-with-advanced-data-merge-api/", "avatars": [ + "https://avatars.githubusercontent.com/u/274493592?v=4", + "https://avatars.githubusercontent.com/u/160902380?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4" ], - "lastUpdated": "8/14/2026" + "lastUpdated": "9/15/2026" }, { "page": "/guides/working-with-custom-scripts-api/", diff --git a/src/pages/getting-started/changelog/index.md b/src/pages/getting-started/changelog/index.md index 5c182f1..1433190 100644 --- a/src/pages/getting-started/changelog/index.md +++ b/src/pages/getting-started/changelog/index.md @@ -47,6 +47,8 @@ This page contains the release notes and version history for Adobe InDesign APIs *Advanced Data Merge* +- **Output Path Structure**: The `POST /v4/merge-data` endpoint no longer nests outputs into `rangeN` batch subfolders. Every output file is written directly into the resolved output folder, and naming collisions between batches or records are resolved with a `(n)` suffix on the filename instead. [Learn more about output path variations.][20] +- **Parameter Name Change**: The `pagesPerDocument` parameter from the base Data Merge API has been renamed to `recordsPerFile` in the `POST /v4/merge-data` endpoint. The underlying behavior is unchanged. [Learn more about the parameter name change.][21] - **Conditional Visibility & Dynamic Styling**: The `POST /v4/merge-data` endpoint now accepts a `rulesFile` parameter, letting a rules JSON file show/hide layers, frames, and placeholders, restyle and recolor content, replace text, and resize or move frames — differently per record. [Learn more about conditional visibility & dynamic styling.][16] - **Copyfitting**: New `copyfittingSettings` object in `params` automatically reduces font size within defined limits to resolve overset text after a merge. [Learn more about copyfitting.][17] - **Folder Structure & Zipped Output**: The `POST /v4/merge-data` endpoint supports organizing merge outputs into a folder hierarchy via a `~`-prefixed CSV column, plus optional zipped output using `outputCompressMediaType`. [Learn more about folder structure and zipped output.][18] @@ -160,3 +162,5 @@ This page contains the release notes and version history for Adobe InDesign APIs [17]: ../../guides/working-with-advanced-data-merge-api/index.md#copyfitting [18]: ../../guides/working-with-advanced-data-merge-api/index.md#folder-structure-and-zipped-output [19]: ../../guides/working-with-advanced-data-merge-api/index.md#pre-signed-url-support +[20]: ../../guides/working-with-advanced-data-merge-api/index.md#output-path-variations-in-advanced-data-merge-api +[21]: ../../guides/working-with-advanced-data-merge-api/index.md#parameter-name-change-in-advanced-data-merge-api diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index 9952a79..7700581 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -32,7 +32,139 @@ twitter: --- # Working with Advanced Data Merge API -This guide covers advanced techniques for the [Data Merge API](../../api/index.md), building on the basics from [Working with the Data Merge API](../working-with-datamerge-api/index.md), including conditional visibility, dynamic styling, copyfitting, zip output and pre-signed URL support in CSV. +This guide covers advanced techniques for the [Data Merge API](../../api/index.md), building on the basics from [Working with the Data Merge API](../working-with-datamerge-api/index.md), including output path variations, conditional visibility, dynamic styling, copyfitting, zip output and pre-signed URL support in CSV. + +## Output Path Variations in Advanced Data Merge API + +This section explains where the Advanced Data Merge API writes its output files, and how that location and filename change depending on whether you provide the `outputFolderPath` and `outputFileBaseString` parameters in the request. There are four possible combinations of these two parameters; the table below summarizes all four before the detailed cases and examples that follow. + +| | `outputFileBaseString` omitted | `outputFileBaseString` provided | +|---|---|---| +| **`outputFolderPath` omitted** | [Case 1](#case-1-both-parameters-missing): temporary folder, filename from source document | [Case 2](#case-2-only-outputfilebasestring-provided): temporary folder, filename from base string | +| **`outputFolderPath` provided** | [Case 3](#case-3-only-outputfolderpath-provided): `outputFolderPath`, filename from source document | [Case 4](#case-4-both-parameters-provided): `outputFolderPath`, filename from base string | + +Unlike the base [Data Merge API](../working-with-datamerge-api/index.md#output-path-variations-in-data-merge-api), the Advanced Data Merge API does **not** nest outputs into `range1`, `range2`, ... subfolders. Every output file for a job is written directly into the resolved output folder (temporary or `outputFolderPath`); any naming collision — between batches or between records — is resolved with a `(n)` suffix on the filename itself instead of a subfolder. + +#### Comparing v3 and v4 output structure + +To see that difference concretely, here is the same job — `outputFolderPath`: `"ResultFolder"`, `outputFileBaseString`: `"MergedOutput"`, output split into two batches — under each API version: + +Base API (v3): +- `ResultFolder/range1/MergedOutput.pdf` +- `ResultFolder/range2/MergedOutput.pdf` + +Advanced Data Merge API (v4): +- `ResultFolder/MergedOutput.pdf` +- `ResultFolder/MergedOutput(1).pdf` + +v3 gives each batch its own `rangeN` folder and reuses the same filename inside each one; v4 writes every batch into the same flat folder and disambiguates them with a `(n)` suffix on the filename instead. + +#### Case 1: Both Parameters Missing + +When neither `outputFolderPath` nor `outputFileBaseString` is provided: + +- Output is created in a temporary folder with a random number prefix (e.g. tmp0696) +- The output filename is derived from the original document filename + +Example: + +- Source: `Template.indd` +- Output: `tmp0696/Template.indd` +- In case of multiple output documents/pdf (e.g. `recordsPerFile` splits the merge into more than one batch): + - `tmp0696/Template.indd` + - `tmp0696/Template(1).indd` + - `tmp0696/Template.pdf` + - `tmp0696/Template(1).pdf` +- For PNG/JPEG outputs (one image per record): + - `tmp0696/Template.png` + - `tmp0696/Template(1).png` + - `tmp0696/Template(2).png` + +#### Case 2: Only outputFileBaseString Provided + +When only `outputFileBaseString` is specified: + +- Output is created in a temporary folder with a random number prefix (e.g. tmp0696) +- Filename uses the provided base string + +Example: + +- Source: `Template.indd` +- `outputFileBaseString`: "MergedOutput" +- Output: `tmp0696/MergedOutput.indd` +- In case of multiple output documents/pdf: + - `tmp0696/MergedOutput.indd` + - `tmp0696/MergedOutput(1).indd` + - `tmp0696/MergedOutput.pdf` + - `tmp0696/MergedOutput(1).pdf` +- For PNG/JPEG outputs: + - `tmp0696/MergedOutput.png` + - `tmp0696/MergedOutput(1).png` + - `tmp0696/MergedOutput(2).png` + +#### Case 3: Only outputFolderPath Provided + +When only `outputFolderPath` is specified: + +- Output is created in the specified folder +- Filename is derived from the original template + +Example: + +- Source: `Template.indd` +- `outputFolderPath`: "ResultFolder" +- Output: `ResultFolder/Template.indd` +- In case of multiple output documents/pdf: + - `ResultFolder/Template.indd` + - `ResultFolder/Template(1).indd` + - `ResultFolder/Template.pdf` + - `ResultFolder/Template(1).pdf` +- For PNG/JPEG outputs: + - `ResultFolder/Template.png` + - `ResultFolder/Template(1).png` + - `ResultFolder/Template(2).png` + +#### Case 4: Both Parameters Provided + +When both parameters are specified: + +- Output is created in the specified folder +- Filename uses the provided base string + +Example: + +- Source: `Template.indd` +- `outputFileBaseString`: "MergedOutput" +- `outputFolderPath`: "ResultFolder" +- Output: `ResultFolder/MergedOutput.indd` +- In case of multiple output documents/pdf: + - `ResultFolder/MergedOutput.indd` + - `ResultFolder/MergedOutput(1).indd` + - `ResultFolder/MergedOutput.pdf` + - `ResultFolder/MergedOutput(1).pdf` +- For PNG/JPEG outputs: + - `ResultFolder/MergedOutput.png` + - `ResultFolder/MergedOutput(1).png` + - `ResultFolder/MergedOutput(2).png` + +#### Note: + +- Advanced Data Merge API (v4) never creates a `rangeX` subfolder for batching. All output files for a job are written directly into the resolved output folder — there is no per-batch nesting. +- Missing-link and overset reports are no longer split per `rangeX` batch folder either. Instead of a separate `MissingLinkReport.txt`/`OversetReport.txt` pair inside each `rangeX` folder, Advanced Data Merge API (v4) writes a single `MissingLinkReport.txt` and a single `OversetReport.txt` at the root of the output folder, with each batch's findings appended as its own "Record Range: ..." section — one global report pair for the whole job instead of one pair per range. +- Batching is still controlled by `recordsPerFile` (the v4 equivalent of the base API's `pagesPerDocument`): for example, if `recordsPerFile` is 10 and the total record count is 20, the merge still runs as two batches, but both batches write into the same folder. The second (and any later) batch's file is disambiguated with a `(1)`, `(2)`, ... suffix on the base filename — e.g. `Template.pdf`, `Template(1).pdf` — instead of a `range2` folder. +- For output types where each record maps 1:1 to its own file — PNG, JPEG, PDF with `createSeparateFiles` enabled, or InDesign with `recordsPerFile` set to `1` — every record's output file is named from `outputFileBaseString` (or its resolved `&` filename, when the CSV provides one), and any duplicate names are disambiguated the same way with a `(n)` suffix. This means even a plain CSV with no special columns produces per-record names like `MergedOutput.png`, `MergedOutput(1).png`, `MergedOutput(2).png` — not the sequential `MergedOutput2.png`, `MergedOutput3.png` style used by the base API. +- If a single record spans multiple pages, an additional `-` suffix is inserted before the `(n)` de-duplication suffix for pages after the first — e.g. `MergedOutput.png`, `MergedOutput-2.png` (page 2 of the first record), `MergedOutput(1).png`, `MergedOutput-2(1).png` (page 2 of the second record). +- For output types where multiple records are combined into one file (multi-record PDF/InDesign documents, or `allowMultipleRecordsPerPage`), there is no per-record naming — the whole batch's file uses the base filename, disambiguated per batch with a `(n)` suffix only when more than one batch is produced. + +## Parameter Name Change in Advanced Data Merge API + +The `pagesPerDocument` parameter from the base [Data Merge API](../working-with-datamerge-api/index.md) has been renamed to `recordsPerFile` in the Advanced Data Merge API. The name changed, but the underlying behavior — controlling how many records are merged into each output document/batch — is the same. + +- `recordsPerFile` omitted or set to the total record count: All records are merged into a single output document/batch. No batching occurs. + +- `recordsPerFile` set to a value smaller than the total record count: Records are split across multiple batches, each containing up to `recordsPerFile` records. For example, with 20 total records and `recordsPerFile` set to 10, the merge produces two batches of 10 records each. As described in [Output Path Variations](#output-path-variations-in-advanced-data-merge-api), each additional batch's file is disambiguated with a `(1)`, `(2)`, ... suffix on the base filename rather than being written into a separate `rangeX` subfolder. + +- `recordsPerFile` set to `1`: Each record produces its own output document/batch, one record per file. This is also the mode used to get one file per record for InDesign output; PNG and JPEG outputs always behave this way regardless of `recordsPerFile`. ## Conditional Visibility & Dynamic Styling @@ -509,6 +641,8 @@ Add a copyfittingSettings object inside params. It accepts the following fields: Copyfitting is applied after the merge, before export, once per output document. Threaded text across multiple frames is treated as a single story. +> **Note:** Missing template fonts are automatically replaced with the default font, and output generation continues normally. However, copyfitting calculations are then based on the substitute font, not the original, so the output may not appear as expected. + ### Example request Enable copyfitting by adding copyfittingSettings to params: @@ -737,7 +871,7 @@ curl --location --request POST 'https://indesign.adobe.io/v4/merge-data' \ **Why:** Folder structuring via the `~` column applies only when the merge job has a clear one-to-one mapping between each data row and its output. In that case, each row’s `~` value defines the folder hierarchy for that record’s output file. If `allowMultipleRecordsPerPage` is true, multiple records can share a page, so per-row folder paths are ambiguous. If `recordsPerFile` is not 1, records are combined into multi-page output documents, so many rows contribute to the same file and per-row folder paths are no longer meaningful. In those situations, folder structuring via the `~` column is not supported for the affected output types, and output files are placed under `outputFolderBaseString` instead. -## Pre-signed URL Support +## Pre-signed URL Support in CSV The Data Merge API now supports pre-signed URLs for image assets directly in the CSV, instead of requiring them in the input request. In the Image column (prefixed with "@"), a pre-signed URL of the image asset can be provided for each row; the images will be fetched from the URL and made available for use. Only existing [DAM](../../getting-started/usage/index.md#supported-storage-types) assets are supported. @@ -747,6 +881,7 @@ How it works - In addition, providing pre-signed URLs of image assets in the input request continues to be supported as before; this feature does not remove or restrict that option. - The image will be fetched from the pre-signed URL and made available for use in the data merge. - If a URL cannot be fetched or has expired, that row's image asset will be reported in warnings as a failed download, and the rest of the merge will proceed unaffected. + - These failures are reported under a `failedAssets` key in the response's `warnings` object — an array of `{ columnIndex, rows: [{ row, url }, ...] }` entries, one per Image column that had at least one invalid pre-signed URL, listing every affected row number and the URL that failed. - Add a new input parameter - **presignedUrlsInDataSource** - **Type:** Boolean From 0c1ae7d3f060cce6b0ff4e8f6201cf554f30546b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 28 Sep 2026 11:34:32 +0000 Subject: [PATCH 39/47] chore: auto-generate contributors --- src/pages/contributors.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index 369fd2b..c4b2cac 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -42,13 +42,12 @@ { "page": "/getting-started/changelog/", "avatars": [ - "https://avatars.githubusercontent.com/u/160902380?v=4", - "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "9/7/2026" + "lastUpdated": "9/15/2026" }, { "page": "/getting-started/concepts/", @@ -90,7 +89,6 @@ "page": "/guides/working-with-advanced-data-merge-api/", "avatars": [ "https://avatars.githubusercontent.com/u/274493592?v=4", - "https://avatars.githubusercontent.com/u/160902380?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4" ], "lastUpdated": "9/15/2026" From 560a6e9b417abf304f05a40b302dc1278210fa27 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Sun, 1 Nov 2026 23:42:52 +0530 Subject: [PATCH 40/47] feedback changes --- .../index.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/pages/guides/working-with-advanced-data-merge-api/index.md b/src/pages/guides/working-with-advanced-data-merge-api/index.md index 7700581..5e29d5e 100644 --- a/src/pages/guides/working-with-advanced-data-merge-api/index.md +++ b/src/pages/guides/working-with-advanced-data-merge-api/index.md @@ -168,11 +168,11 @@ The `pagesPerDocument` parameter from the base [Data Merge API](../working-with- ## Conditional Visibility & Dynamic Styling -Make your Data Merge output react to your data. With a simple rules file, you can show or hide elements, restyle and recolor content, replace text, and resize or move frames — differently for every record — all from a single template and data file. +Make your Data Merge output react to your data. With a simple rules file, you can show or hide elements, restyle and recolor content, replace text, and resize or move frames, differently for every record, all from a single template and data file. ### Overview -Traditionally, Data Merge drops the text or image from each record into fixed placeholders in your template. The layout stays the same for everyone — only the placeholder content changes. +Traditionally, Data Merge drops the text or image from each record into fixed placeholders in your template. The layout stays the same for everyone. Only the placeholder content changes. This feature adds a third input to a merge job: a rules file (JSON) that travels alongside your template and data. @@ -180,9 +180,9 @@ This feature adds a third input to a merge job: a rules file (JSON) that travels Template (.indd / .idml) + Data (.csv) + Rules (.json) → Output (INDD / PDF / PNG / JPEG) ``` -For each record, the merge reads your rules and applies whichever actions match that record's data. The result is one job that produces genuinely different-looking documents per record — a VIP badge that appears only for VIP customers, a price that turns red when it exceeds a threshold, a promo layer that shows only for high-spend recipients, and so on. +For each record, the merge reads your rules and applies whichever actions match that record's data. The result is one job that produces genuinely different-looking documents per record: a VIP badge that appears only for VIP customers, a price that turns red when it exceeds a threshold, a promo layer that shows only for high-spend recipients, and so on. -The feature is fully optional and backward compatible: if you don't provide a rules file, your merge behaves exactly as it does today. +This feature is optional omitting a rules file leaves merge behavior unchanged from a standard Data Merge job. ### What you can do @@ -198,10 +198,10 @@ All decisions are driven by the values in your CSV columns. ### Getting started -1. **Author your template** as you normally would for Data Merge, including your placeholders. Give the elements you want to control a name you can reference — a dataMerge placeholder name, an XML tag, or a layer name (see [Targets](#targets--what-a-rule-acts-on)). -2. **Prepare your CSV** as usual. Any column you want to test in a rule must exist in the CSV — even if that column isn't placed anywhere in the template. -3. **Write a rules file** (a `.json` file) describing your conditions and actions (see below). -4. **Submit the merge job** with the new `rulesFile` parameter pointing at your rules file: +1. **Author your template.** Create the Data Merge template, including placeholders. Assign each element you intend to control a reference name: a Data Merge placeholder name, an XML tag, or a layer name (see [Targets](#targets--what-a-rule-acts-on)). +2. **Prepare your CSV.** Ensure every column referenced by a rule exists in the CSV, even if that column is not placed anywhere in the template. +3. **Write a rules file.** Define the conditions and actions in a `.json` file (see below). +4. **Submit the merge job.** Include the `rulesFile` parameter, pointing to the rules file: ```json { @@ -242,17 +242,17 @@ A rules file is a JSON document. At the top level it contains an optional `ruleS } ``` -- `version` — optional, defaults to the current version. -- `ruleSetName` — optional, a label shown in logs/reports. -- `rules` — required, one or more rules. Each rule contains an ordered list of `cases`. Each case has a `condition` (when this is true...) and a `then` list (...do this). A rule can also define a `default`, which runs only if no case matched. +- `version`: optional, defaults to the current version. +- `ruleSetName`: optional, a label shown in logs/reports. +- `rules`: required, one or more rules. Each rule contains an ordered list of `cases`. Each case has a `condition` (when this is true...) and a `then` list (...do this). A rule can also define a `default`, which runs only if no case matched. #### How a rule is evaluated, per record -- Each rule contains an ordered list of **cases**. The engine tests each case's `condition` in order and runs the **first** one that is true — then stops looking at the remaining cases in that rule. +- Each rule contains an ordered list of **cases**. The engine tests each case's `condition` in order and runs the **first** one that is true, then stops looking at the remaining cases in that rule. - If **no** case matches and a `default` is present, the `default` runs. If there's no `default`, the rule simply does nothing for that record. - **At most one** case (or the default) fires per rule. -**Multiple rules:** you can list several rules. Every rule is evaluated for every record, in order. Rules are **cumulative** — more than one can fire for the same record. Use `cases`/`default` when you want a single "pick one" outcome; use separate rules for independent effects that can happen together. If two rules change the *same* property of the *same* target, the **last one wins**. +**Multiple rules:** you can list several rules. Every rule is evaluated for every record, in order. Rules are **cumulative**: more than one can fire for the same record. Use `cases`/`default` when you want a single "pick one" outcome; use separate rules for independent effects that can happen together. If two rules change the *same* property of the *same* target, the **last one wins**. Each entry in a `then` list is a **clause**: one `target` plus an ordered list of `actions` to run on it. @@ -327,7 +327,7 @@ Using an action on a target that isn't marked ✓ is rejected when your rules fi ### Conditions — deciding when a rule applies -A condition is a small JSON structure — never a text expression to be parsed — so column names with spaces or punctuation (e.g. `Life Time Spend`) are written verbatim with no escaping. +A condition is a small JSON structure, never a text expression to be parsed, so column names with spaces or punctuation (e.g. `Life Time Spend`) are written verbatim with no escaping. There are three building blocks: @@ -347,29 +347,29 @@ There are three building blocks: } ``` -- `column` — required, the CSV column to test. -- `operator` — required, see the operator list below. -- `value` — the value to compare against, **or** -- `valueColumn` — another column (use exactly one of `value` / `valueColumn`). -- `type` — optional, force `number` | `string` | `boolean` comparison. +- `column`: required, the CSV column to test. +- `operator`: required, see the operator list below. +- `value`: the value to compare against, **or** +- `valueColumn`: another column (use exactly one of `value` / `valueColumn`). +- `type`: optional, force `number` | `string` | `boolean` comparison. **Operators** | Group | Operators | Notes | |---|---|---| -| Comparison | `==`, `!=`, `>`, `>=`, `<`, `<=` | `>`, `>=`, `<`, `<=` are for numbers (or text, alphabetically) — not booleans | +| Comparison | `==`, `!=`, `>`, `>=`, `<`, `<=` | `>`, `>=`, `<`, `<=` are for numbers (or text, alphabetically), not booleans | | Set membership | `in`, `not_in` | `value` must be a non-empty array; `valueColumn` not allowed | | Text matching | `contains`, `starts_with`, `ends_with` | String only, case-sensitive | **Right-hand side:** provide exactly one of: -- `value` — a literal number, string, or boolean (or an array of literals for `in`/`not_in`), or -- `valueColumn` — the name of another CSV column, to compare column-against-column. +- `value`: a literal number, string, or boolean (or an array of literals for `in`/`not_in`), or +- `valueColumn`: the name of another CSV column, to compare column-against-column. **Value types & how comparisons are made** - Add `"type": "number"`, `"string"`, or `"boolean"` to force how both sides are compared. If you omit `type`, the type is inferred (a numeric or boolean literal makes the comparison numeric or boolean; otherwise text). -- **Numbers** must be plain decimals (an optional leading `-` is fine). Thousands separators, currency symbols, and locale decimal commas are **not** recognized — `"10,000"`, `"$10,000"`, and `"1.000,50"` will not parse as numbers. If a value can't be parsed as the required type, that comparison is treated as **false** (it won't stop your job). +- **Numbers** must be plain decimals (an optional leading `-` is fine). Thousands separators, currency symbols, and locale decimal commas are **not** recognized: `"10,000"`, `"$10,000"`, and `"1.000,50"` will not parse as numbers. If a value can't be parsed as the required type, that comparison is treated as **false** (it won't stop your job). - **Booleans** accept only `true`/`false` (any case). Anything else is treated as false. - **Text** comparisons and text-matching operators are **case-sensitive**. Leading/trailing spaces are trimmed before comparing. @@ -406,7 +406,7 @@ This reads as "SKU does not contain PROMO." (For simple "is not one of a set" te { "column": "Life Time Spend", "operator": ">", "value": 10000, "type": "number" } ``` -Compare two columns — `Life Time Spend` greater than `cost`: +Compare `Life Time Spend` to `cost`: ```json { "column": "Life Time Spend", "operator": ">", "valueColumn": "cost", "type": "number" } @@ -429,7 +429,7 @@ Compare two columns — `Life Time Spend` greater than `cost`: { "column": "region", "operator": "not_in", "value": ["EU", "UK"] } ``` -A nested example — VIP, in the US or UK, and not blocked: +A nested example combining VIP status, US or UK region, and not blocked: ```json { @@ -573,10 +573,10 @@ This targets the text range tagged `disclaimer` in the template. EU records get ### Constraints -- **Single record per page.** Rules are supported only when each page corresponds to one record — the standard Data Merge layout. Jobs configured for multiple records per page are not supported with rules and will be rejected before processing. +- **Single record per page.** Rules are supported only when each page corresponds to one record (the standard Data Merge layout). Jobs configured for multiple records per page are not supported with rules and will be rejected before processing. - **Columns must exist.** A rule can only reference CSV columns that are present in your data file. A missing column is reported when your rules file is checked. - **Styles and swatches must exist** in the template before the merge; rules apply them but do not create them. -- **Layer visibility for non-layer targets.** An element renders only if its layer is visible. If you target a placeholder or XML tag that sits on a layer you authored as *hidden*, a `show` action will not make it appear — put rule-driven elements on a visible layer, or target the layer itself. +- **Layer visibility for non-layer targets.** An element renders only if its layer is visible. If you target a placeholder or XML tag that sits on a layer you authored as *hidden*, a `show` action will not make it appear. Put rule-driven elements on a visible layer, or target the layer itself. - **Record ranges.** Contiguous, ascending record ranges (for example `1-50`) are fully supported. Out-of-order or overlapping comma-separated ranges may be restricted; use ascending ranges for rule-driven jobs. - **Numeric formatting.** Keep numeric columns as plain numbers (no currency symbols, thousands separators, or locale decimals) so numeric comparisons behave as expected. @@ -600,7 +600,7 @@ Fixing these means correcting the rules file (or the job configuration) and resu - a target name that can't be found for a record; - a style or swatch named in an action that doesn't exist; - an action that can't apply to the resolved object (for example, resizing something that isn't a frame); -- a value that can't be read as the required number or boolean — that single comparison is treated as false. +- a value that can't be read as the required number or boolean; that single comparison is treated as false. Review the warnings after a run to catch typos in names or unexpected data. @@ -632,7 +632,7 @@ Add a copyfittingSettings object inside params. It accepts the following fields: - **multiFrameSyncScope** - **Type:** string (enum) - **Enum:** `"paragraph_style"`, `"page"`, `"paragraph_style_and_page"`, `"document"` - - **Default:** none — omit the key to skip multi-frame sync + - **Default:** none (omit the key to skip multi-frame sync) - **Description:** After fitting the overset frames, apply the same font-size reduction to matching non-overset frames for visual consistency. See [Multi-frame sync scopes](#multi-frame-sync-scopes) below. - **scope.global.constraints.fontSize** - **Type:** object with a numeric `minPercent` field @@ -710,7 +710,7 @@ Multi-frame sync keeps related frames visually consistent by extending a reducti - **document** - Every text frame in the entire document receives the same reduction; paragraph style is ignored. - Example: If any frame anywhere needs a 15 percent reduction to fit, all text frames across all pages are reduced by 15 percent, giving the whole piece one consistent size. -**Conflict rule:** when frames in a group would need different reductions, the largest (most aggressive) reduction wins for the group, subject to the global minimum — no text shrinks below minPercent of its original size. +**Conflict rule:** when frames in a group would need different reductions, the largest (most aggressive) reduction wins for the group, subject to the global minimum: no text shrinks below minPercent of its original size. ### Unresolved overset handling @@ -887,7 +887,7 @@ How it works - **Type:** Boolean - **Meaning:** Whether the user wants to enable fetching image assets via pre-signed URLs provided in the CSV. - If the user sets this to true, the Image column values in the CSV can be pre-signed URLs, and these will be fetched and used in the data merge. - - If the user doesn't set this (or sets it to false), there is no change in behavior — the Image column will be treated as before, and pre-signed URLs can still only be provided in the input request. + - If the user doesn't set this (or sets it to false), there is no change in behavior. The Image column will be treated as before, and pre-signed URLs can still only be provided in the input request. - If a pre-signed URL is included in the Image column but the presignedUrlsInDataSource parameter is not set to true, this enhancement will not take effect. The Image column value will be handled just as it always has been, without any change in behavior. Since the value is a URL and not a valid asset reference, the image for that record will show up as a missing link in the data merge. Example of input CSV having an Image column value (prefixed with ‘@’) containing a pre-signed URL From f91aa2b1d274efe0196376e28c6d97194716a20f Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Mon, 2 Nov 2026 00:20:34 +0530 Subject: [PATCH 41/47] Adobe fonts documentation --- src/pages/config.md | 1 + src/pages/guides/index.md | 2 + src/pages/guides/using-adobe-fonts/index.md | 170 ++++++++++++++++++++ static/indesignapi.json | 13 +- 4 files changed, 184 insertions(+), 2 deletions(-) create mode 100644 src/pages/guides/using-adobe-fonts/index.md diff --git a/src/pages/config.md b/src/pages/config.md index 2b2ce4f..c6b84a8 100644 --- a/src/pages/config.md +++ b/src/pages/config.md @@ -37,3 +37,4 @@ - [Working with Rendition API](/guides/working-with-rendition-api/index.md) - [Writing Scripts for Custom Scripts API](/guides/writing-scripts-for-custom-scripts-api/index.md) - [Tips for PDF to InDesign Conversion](/guides/pdf-to-indesign-conversion-notes/index.md) + - [Using Adobe Fonts](/guides/using-adobe-fonts/index.md) diff --git a/src/pages/guides/index.md b/src/pages/guides/index.md index 197027c..37660cf 100644 --- a/src/pages/guides/index.md +++ b/src/pages/guides/index.md @@ -35,6 +35,8 @@ This guide covers advanced scripting techniques for automating InDesign tasks. - [Working with Advanced Data Merge API](./working-with-advanced-data-merge-api/index.md) - Advanced data merge techniques, Conditional Visibility, Styling, Copyfitting and more - [Working with Rendition API](./working-with-rendition-api/index.md) - Document rendering - [Tips for PDF to InDesign Conversion](./pdf-to-indesign-conversion-notes/index.md) - PDF To InDesign Points to note and limitations +- [Using Adobe Fonts(Free) with InDesign API](./using-adobe-fonts/index.md) - Enable Free Adobe Fonts + diff --git a/src/pages/guides/using-adobe-fonts/index.md b/src/pages/guides/using-adobe-fonts/index.md new file mode 100644 index 0000000..1edf9af --- /dev/null +++ b/src/pages/guides/using-adobe-fonts/index.md @@ -0,0 +1,170 @@ +--- +title: Using Adobe Fonts with InDesign API +description: Use fonts from the Adobe Fonts Free library with InDesign API without uploading or hosting font files. +keywords: + - Adobe InDesign API + - Adobe Fonts + - fonts + - missing fonts + - missingFontStrategy + - Admin Console + - product profile + - custom fonts +hideBreadcrumbNav: true +--- + +# Using Adobe Fonts with InDesign API + +InDesign API supports rendering documents that use fonts from the Adobe Fonts Free library. Fonts used in your InDesign documents are resolved automatically through your Adobe entitlement, so you do not need to upload or host those font files yourself. + + + +**Note:** This feature supports only fonts in the [Adobe Fonts Free library](https://fonts.adobe.com/fonts?library=basic). To use any other font, provide the font file as an asset using a pre-signed URL. + +## Prerequisites + +- A valid Firefly Services API key and access token. See [Authentication](../../getting-started/index.md). +- An Adobe entitlement that includes Adobe Fonts access. +- A font from the [Adobe Fonts Free library](https://fonts.adobe.com/fonts?library=basic). +- A Fonts product profile configured in the Adobe Admin Console and added to your credential in the Adobe Developer Console. + + +## Admin Console setup + +Before you can use fonts from the Free library of Adobe Fonts in API calls, your organization must have a Fonts service enabled on a product profile in the Adobe Admin Console, and that profile must be associated with your API credential. + +### Step 1: Create a product profile with Fonts enabled + +1. Sign in to the [Adobe Admin Console](https://adminconsole.adobe.com/). +2. Go to **Products** and select **Firefly Creative Production for Enterprise**. +3. Click **New profile** and follow the setup steps. +4. On the **Enable services** step, ensure the **Fonts** toggle is turned on. +5. Click **Save**. + +For detailed instructions on creating product profiles, see [Create product profiles](https://helpx.adobe.com/business/enterprise/products-entitlements/manage-product-profiles/create-product-profiles.html). + +### Step 2: Add the product profile to your project in Developer Console + +1. Sign in to the [Adobe Developer Console](https://developer.adobe.com/console). +2. Open your project. You will land on the project overview page showing your products and credentials. +3. Under **Products & services**, click the **InDesign API - Firefly Services** title to open the API detail page. +4. On the API detail page, click **Edit product profiles**. +5. Add the Fonts-enabled profile you created in Step 1 and save. + +Once the profile is linked to your project, API calls made with that credential will have access to the fonts in the Adobe Fonts Free library. + +## How it works + +When InDesign API opens a document, it looks for every font used in the document. Fonts that are not supplied as assets (for example, in a `Document Fonts` folder or a configured font directory) are resolved through Adobe Fonts at processing time. No font file URL is required. + +Only fonts from the [Adobe Fonts Free library](https://fonts.adobe.com/fonts?library=basic) can be resolved. If a font cannot be resolved because it is not in the Adobe Fonts Free library, or because it is not provided as input asset, the job will either fail or fallback to a default font, depending on your `missingFontStrategy` setting. + +## Request structure + +No additional parameters are needed to use Adobe Fonts. Use the `generalSettings.fonts` object in `params` to control how missing fonts are handled. + +```json +{ + "assets": [ + { + "source": { + "url": "" + }, + "destination": "Document.indd" + } + ], + "params": { + "generalSettings": { + "fonts": { + "missingFontStrategy": "fail" + } + }, + "targetDocuments": [ + "Document.indd" + ], + "outputMediaType": "application/pdf" + } +} +``` + +## fonts reference + +| Property | Type | Description | +| --- | --- | --- | +| `missingFontStrategy` | string | Strategy to use when a font cannot be found. One of `fallback` or `fail`. Defaults to `fallback`. | + + +## Submitting a request + +Submit the job: + +```curl +curl -X POST "https://indesign.adobe.io/v3/create-rendition" \ + -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ + -H "x-api-key: YOUR_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "assets": [ + { + "source": { + "url": "" + }, + "destination": "Document.indd" + } + ], + "params": { + "targetDocuments": [ + "Document.indd" + ], + "outputMediaType": "application/pdf", + "generalSettings": { + "fonts": { + "missingFontStrategy": "fail" + } + } + } + }' +``` + +A successful submission returns a `202` response with a `jobId` and `statusUrl`: + +```json +{ + "jobId": "9b9d00c5-8659-4766-8430-ed0a1c9bd87d", + "statusUrl": "https://indesign.adobe.io/v3/status/9b9d00c5-8659-4766-8430-ed0a1c9bd87d" +} +``` + + +## Error handling + +| Scenario | `missingFontStrategy` | Result | +| --- | --- | --- | +| Font is not in the Adobe Fonts Free library and not supplied as an asset | `fallback` | The job completes using a default font. The font is reported under `warnings.missingFonts` in the job status. | +| Font is not in the Adobe Fonts Free library and not supplied as an asset | `fail` | The job fails. | +| Fonts product profile is not added to your credential | `fallback` / `fail` | Adobe Fonts are not used to resolve any missing fonts. | + +## Using custom fonts + +If you need a font that is not in the Adobe Fonts Free library, including any Adobe Fonts that are in the Paid library, supply it as an asset. The font file must be accessible via a [pre-signed URL](../../getting-started/concepts/index.md#Pre-signed-URLs). Place it in a `Document Fonts` folder parallel to the document so it is found by default. + +```json +{ + "assets": [ + { + "source": { + "url": "" + }, + "destination": "Document.indd" + }, + { + "source": { + "url": "" + }, + "destination": "Document Fonts/CustomFont-Regular.otf" + } + ] +} +``` + +For more details, see [Using custom fonts](../../getting-started/concepts/index.md#using-custom-fonts). diff --git a/static/indesignapi.json b/static/indesignapi.json index c2ac029..c1d66ec 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -23,7 +23,7 @@ "tags": [ { "name": "Data Merge (V4)", - "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame geometry per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `presignedUrlsInDataSource` parameter." + "description": "Create document variations from CSV data and InDesign templates. Supports UTF-8 and UTF-16BE encoded CSV files, which is necessary for languages or characters requiring multi-byte representation. For plain English characters, the CSV will function correctly even without this encoding. Adds advanced capabilities on top of standard data merge: a rules file (`rulesFile`) for conditional visibility, dynamic styling, content replacement, and frame size per record; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `presignedUrlsInDataSource` parameter." }, { "name": "Data Merge (V3)", @@ -58,7 +58,7 @@ "/v4/merge-data": { "post": { "summary": "Perform advanced data merge", - "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame geometry; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `presignedUrlsInDataSource` parameter.", + "description": "Creates InDesign documents or PDFs by merging CSV data with InDesign templates. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), PDF (`application/pdf`), and InDesign (`application/x-indesign`). Adds advanced capabilities on top of standard data merge: a `rulesFile` for per-record conditional visibility, dynamic styling, content replacement, and frame size; `copyfittingSettings` to automatically shrink overset text within defined limits; folder structure and zipped output via a `~`-prefixed CSV column and `outputCompressMediaType`; and pre-signed image URLs supplied directly in the CSV via the `presignedUrlsInDataSource` parameter.", "operationId": "dataMergeV4", "tags": [ "Data Merge (V4)" @@ -1336,6 +1336,15 @@ "type": "string", "description": "This provides a path to a directory relative to a temporary base directory (working directory) where the fonts can be found. It cannot go up using '..' or '/'. Should be a valid path. For specifying a working directory, mention '.'." } + }, + "missingFontStrategy": { + "description": "This specifies the strategy to be used when a font is missing. One of: `fallback`, `fail`. Defaults to `fallback`.", + "type": "string", + "enum": [ + "fallback", + "fail" + ], + "default": "fallback" } } }, From 35da6b0d9f3f227573a8efae8448126d9c217b1d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 1 Nov 2026 18:53:36 +0000 Subject: [PATCH 42/47] chore: auto-generate contributors --- src/pages/contributors.json | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index c4b2cac..b9ea3ec 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -1,7 +1,7 @@ { - "total": 14, + "total": 15, "offset": 0, - "limit": 14, + "limit": 15, "data": [ { "page": "/", @@ -30,7 +30,7 @@ "https://avatars.githubusercontent.com/u/195011431?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "8/10/2026" + "lastUpdated": "11/1/2026" }, { "page": "/getting-started/", @@ -75,7 +75,7 @@ "https://avatars.githubusercontent.com/u/41382203?v=4", "https://avatars.githubusercontent.com/u/51445330?v=4" ], - "lastUpdated": "8/10/2026" + "lastUpdated": "11/1/2026" }, { "page": "/guides/pdf-to-indesign-conversion-notes/", @@ -86,12 +86,19 @@ "lastUpdated": "3/26/2026" }, { - "page": "/guides/working-with-advanced-data-merge-api/", + "page": "/guides/using-adobe-fonts/", "avatars": [ - "https://avatars.githubusercontent.com/u/274493592?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4" ], - "lastUpdated": "9/15/2026" + "lastUpdated": "11/1/2026" + }, + { + "page": "/guides/working-with-advanced-data-merge-api/", + "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4", + "https://avatars.githubusercontent.com/u/274493592?v=4" + ], + "lastUpdated": "11/1/2026" }, { "page": "/guides/working-with-custom-scripts-api/", From bcd7a761f6f28adc281c9d86fbf8a686fb51dc68 Mon Sep 17 00:00:00 2001 From: Shreya Gupta Date: Mon, 2 Nov 2026 10:35:26 +0530 Subject: [PATCH 43/47] Convert to idml prod with V4 Change (#83) * documentation update * update * update * resolved comments * name change * update name * Update indesignapi.json * resolved comments * update endpoint name * update --- src/pages/api/index.md | 1 + src/pages/config.md | 1 + src/pages/getting-started/changelog/index.md | 9 +- src/pages/guides/index.md | 2 + .../index.md | 54 +++++ src/pages/index.md | 7 + static/indesignapi.json | 216 ++++++++++++++++++ 7 files changed, 289 insertions(+), 1 deletion(-) create mode 100644 src/pages/guides/working-with-convert-indesign-to-idml-api/index.md diff --git a/src/pages/api/index.md b/src/pages/api/index.md index 6cc047d..c382e80 100644 --- a/src/pages/api/index.md +++ b/src/pages/api/index.md @@ -13,6 +13,7 @@ keywords: - Remap Links API - Document Info API - Convert PDF to InDesign API + - Convert InDesign to IDML API - REST API - cloud services - enterprise solutions diff --git a/src/pages/config.md b/src/pages/config.md index c6b84a8..cbf86da 100644 --- a/src/pages/config.md +++ b/src/pages/config.md @@ -35,6 +35,7 @@ - [Working with Data Merge API](/guides/working-with-datamerge-api/index.md) - [Working with Advanced Data Merge API](/guides/working-with-advanced-data-merge-api/index.md) - [Working with Rendition API](/guides/working-with-rendition-api/index.md) + - [Working with the Convert InDesign to IDML API](/guides/working-with-convert-indesign-to-idml-api/index.md) - [Writing Scripts for Custom Scripts API](/guides/writing-scripts-for-custom-scripts-api/index.md) - [Tips for PDF to InDesign Conversion](/guides/pdf-to-indesign-conversion-notes/index.md) - [Using Adobe Fonts](/guides/using-adobe-fonts/index.md) diff --git a/src/pages/getting-started/changelog/index.md b/src/pages/getting-started/changelog/index.md index 1433190..2349e4f 100644 --- a/src/pages/getting-started/changelog/index.md +++ b/src/pages/getting-started/changelog/index.md @@ -13,6 +13,7 @@ keywords: - Custom Scripts API - Remap Links API - Convert PDF to InDesign API + - Convert InDesign to IDML API - PDF to InDesign - REST API - cloud services @@ -41,10 +42,14 @@ twitter: This page contains the release notes and version history for Adobe InDesign APIs. Stay updated with the latest features, improvements, and bug fixes. -## August 11, 2026 +## November 2, 2026 ### New Features +*Convert InDesign to IDML API* + +- **Convert an InDesign document to IDML:** New `POST /v3/convert-indesign-to-idml` endpoint converts an INDD file to IDML. [View endpoint documentation][22]. See [Working with the Convert InDesign to IDML API][23] for a quickstart. + *Advanced Data Merge* - **Output Path Structure**: The `POST /v4/merge-data` endpoint no longer nests outputs into `rangeN` batch subfolders. Every output file is written directly into the resolved output folder, and naming collisions between batches or records are resolved with a `(n)` suffix on the filename instead. [Learn more about output path variations.][20] @@ -164,3 +169,5 @@ This page contains the release notes and version history for Adobe InDesign APIs [19]: ../../guides/working-with-advanced-data-merge-api/index.md#pre-signed-url-support [20]: ../../guides/working-with-advanced-data-merge-api/index.md#output-path-variations-in-advanced-data-merge-api [21]: ../../guides/working-with-advanced-data-merge-api/index.md#parameter-name-change-in-advanced-data-merge-api +[22]: ../../api/index.md#tag/Convert-InDesign-to-IDML +[23]: ../../guides/working-with-convert-indesign-to-idml-api/index.md diff --git a/src/pages/guides/index.md b/src/pages/guides/index.md index 37660cf..cf37267 100644 --- a/src/pages/guides/index.md +++ b/src/pages/guides/index.md @@ -8,6 +8,7 @@ keywords: - document processing - Data Merge API - Rendition API + - Convert InDesign to IDML API - Custom Scripts API - Remap Links API - REST API @@ -34,6 +35,7 @@ This guide covers advanced scripting techniques for automating InDesign tasks. - [Working with Data Merge API](./working-with-datamerge-api/index.md) - Data merge automation - [Working with Advanced Data Merge API](./working-with-advanced-data-merge-api/index.md) - Advanced data merge techniques, Conditional Visibility, Styling, Copyfitting and more - [Working with Rendition API](./working-with-rendition-api/index.md) - Document rendering +- [Working with the Convert InDesign to IDML API](./working-with-convert-indesign-to-idml-api/index.md) - Convert an InDesign document to IDML - [Tips for PDF to InDesign Conversion](./pdf-to-indesign-conversion-notes/index.md) - PDF To InDesign Points to note and limitations - [Using Adobe Fonts(Free) with InDesign API](./using-adobe-fonts/index.md) - Enable Free Adobe Fonts diff --git a/src/pages/guides/working-with-convert-indesign-to-idml-api/index.md b/src/pages/guides/working-with-convert-indesign-to-idml-api/index.md new file mode 100644 index 0000000..1259d4b --- /dev/null +++ b/src/pages/guides/working-with-convert-indesign-to-idml-api/index.md @@ -0,0 +1,54 @@ +--- +title: Working with the Convert InDesign to IDML API +description: Convert an InDesign document to IDML using the Convert InDesign to IDML API. +keywords: + - Adobe InDesign API + - Convert InDesign to IDML API + - IDML + - INDD + - document conversion +--- + +# Working with the Convert InDesign to IDML API + +Use the Convert InDesign to IDML API to convert an INDD file to IDML. + +## Submit a conversion + +Send a `POST` request to `/v3/convert-indesign-to-idml`. Include a pre-signed URL for the document and its destination file name. Currently, only one document can be converted per request. + +The output file takes the name from the input asset's `destination`, replacing its extension with `.idml`. For example, `example.indd` produces `example.idml`. + +```curl +curl --request POST \ + --url https://indesign.adobe.io/v3/convert-indesign-to-idml \ + --header 'Authorization: Bearer {YOUR_OAUTH_TOKEN}' \ + --header 'x-api-key: {YOUR_API_KEY}' \ + --header 'Content-Type: application/json' \ + --data-raw '{ + "assets": [ + { + "source": { + "url": "{PRESIGNED_URL}" + }, + "destination": "example.indd" + } + ], + "params": { + "targetDocuments": ["example.indd"] + } + }' +``` + +An accepted request returns a `jobId` and `statusUrl`. Poll the status endpoint using the job ID to retrieve the conversion status and output. + +```json +{ + "jobId": "{JOB_ID}", + "statusUrl": "https://indesign.adobe.io/v3/status/{JOB_ID}" +} +``` + +## Links and fonts + +If linked assets in the document are not included with the request, they are reported as missing links. Fonts unavailable are reported as missing fonts unless supplied using a pre-signed URL. diff --git a/src/pages/index.md b/src/pages/index.md index 9b7e2b0..fa00606 100644 --- a/src/pages/index.md +++ b/src/pages/index.md @@ -56,9 +56,16 @@ Retrieve information from INDD / IDML documents including layers, links and font Convert PDF documents to editable InDesign format. Output includes all converted files and assets in a ZIP archive. + + +[Convert InDesign to IDML API][7] + +Convert an INDD document to IDML. + [1]: /api/#tag/Data-Merge [2]: /api/#tag/Rendition [3]: /api/#tag/Custom-Scripts [4]: /api/#tag/Job-Status [5]: /api/#tag/Document-Info [6]: /api/#tag/Convert-PDF-to-InDesign +[7]: /api/#tag/Convert-InDesign-to-IDML diff --git a/static/indesignapi.json b/static/indesignapi.json index c1d66ec..e7d32aa 100644 --- a/static/indesignapi.json +++ b/static/indesignapi.json @@ -49,6 +49,10 @@ "name": "Convert PDF to InDesign", "description": "Convert PDF documents to InDesign (INDD or IDML) format. The output is a ZIP file containing the converted documents and all associated assets." }, + { + "name": "Convert InDesign to IDML", + "description": "Convert an InDesign (INDD) document to IDML." + }, { "name": "Job Status", "description": "Track job execution status and lifecycle events. Retrieves the most recent status event for jobs across different execution stages: `not_started` (job creation), `running` (execution begins), `succeeded` (complete), `partial_success` (complete with non-critical errors), `failed` (execution failure)." @@ -1088,6 +1092,100 @@ } } }, + "/v3/convert-indesign-to-idml": { + "post": { + "summary": "Convert InDesign to IDML", + "description": "Converts an INDD document to IDML. The completed job's status includes a download URL for the converted document and any warnings.", + "operationId": "convertIndesignToIdml", + "tags": [ + "Convert InDesign to IDML" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConvertIndesignToIdmlRequest" + } + } + }, + "required": true + }, + "responses": { + "202": { + "$ref": "#/components/responses/Accepted" + }, + "400": { + "$ref": "#/components/responses/BadParams" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + } + } + } + }, + "/v3/status/{convert-indesign-to-idml_job_id}": { + "get": { + "operationId": "getConvertIndesignToIdmlJobStatus", + "summary": "Get status - Convert InDesign to IDML API", + "description": "Returns the latest status of a Convert InDesign to IDML job.", + "tags": [ + "Convert InDesign to IDML" + ], + "parameters": [ + { + "name": "convert-indesign-to-idml_job_id", + "in": "path", + "description": "The job ID returned by the Convert InDesign to IDML request.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The current job status, including any output details or warnings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConvertIndesignToIdmlJobStatus" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadParams" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + } + } + } + }, "/v3/status/{id}": { "get": { "operationId": "getJobStatus", @@ -2252,6 +2350,124 @@ } ] }, + "ConvertIndesignToIdmlRequest": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseJobRequestWithOutput" + }, + { + "description": "Inputs for converting an InDesign document to IDML.", + "type": "object", + "required": [ + "params" + ], + "properties": { + "params": { + "type": "object", + "required": [ + "targetDocuments" + ], + "properties": { + "targetDocuments": { + "type": "array", + "description": "The InDesign document to convert to IDML. Provide exactly one document in the array.", + "items": { + "type": "string" + }, + "minItems": 1, + "maxItems": 1 + } + } + } + } + } + ] + }, + "ConvertIndesignToIdmlJobStatus": { + "type": "object", + "description": "Status and output details for a Convert InDesign to IDML job.", + "properties": { + "jobId": { + "type": "string", + "description": "The unique job identifier." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the job reached this status." + }, + "status": { + "type": "string", + "enum": [ + "not_started", + "running", + "succeeded", + "partial_success", + "failed" + ] + }, + "outputs": { + "type": "array", + "description": "The result for the input document.", + "items": { + "type": "object", + "properties": { + "input": { + "type": "string", + "description": "The submitted input file name." + }, + "output": { + "type": "object", + "description": "The generated IDML file location.", + "properties": { + "url": { + "type": "string", + "description": "A pre-signed URL to download the IDML file." + } + } + }, + "warnings": { + "type": "object", + "properties": { + "missingLinks": { + "type": "array", + "items": { + "type": "string" + } + }, + "missingFonts": { + "type": "array", + "items": { + "type": "string" + } + }, + "otherWarnings": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "error_code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + } + }, "ConvertToInDesignRequest": { "allOf": [ { From efbef13cd46e5c0b6bd98f333213518e89b1c2ff Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 2 Nov 2026 05:08:12 +0000 Subject: [PATCH 44/47] chore: auto-generate contributors --- src/pages/contributors.json | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index b9ea3ec..4de220b 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -1,36 +1,39 @@ { - "total": 15, + "total": 16, "offset": 0, - "limit": 15, + "limit": 16, "data": [ { "page": "/", "avatars": [ + "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/51445330?v=4", "https://avatars.githubusercontent.com/u/175690214?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4" ], - "lastUpdated": "3/12/2026" + "lastUpdated": "11/2/2026" }, { "page": "/api/", "avatars": [ + "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/51445330?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "2/27/2026" + "lastUpdated": "11/2/2026" }, { "page": "/config", "avatars": [ + "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "11/1/2026" + "lastUpdated": "11/2/2026" }, { "page": "/getting-started/", @@ -42,12 +45,12 @@ { "page": "/getting-started/changelog/", "avatars": [ + "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", - "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], - "lastUpdated": "9/15/2026" + "lastUpdated": "11/2/2026" }, { "page": "/getting-started/concepts/", @@ -70,12 +73,13 @@ { "page": "/guides/", "avatars": [ + "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/195011431?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4", "https://avatars.githubusercontent.com/u/51445330?v=4" ], - "lastUpdated": "11/1/2026" + "lastUpdated": "11/2/2026" }, { "page": "/guides/pdf-to-indesign-conversion-notes/", @@ -100,6 +104,13 @@ ], "lastUpdated": "11/1/2026" }, + { + "page": "/guides/working-with-convert-indesign-to-idml-api/", + "avatars": [ + "https://avatars.githubusercontent.com/u/264675027?v=4" + ], + "lastUpdated": "11/2/2026" + }, { "page": "/guides/working-with-custom-scripts-api/", "avatars": [ From cb1f54b2005b269240114ea420c5065ffd1affea Mon Sep 17 00:00:00 2001 From: Shreya Gupta Date: Mon, 2 Nov 2026 10:55:42 +0530 Subject: [PATCH 45/47] update --- src/pages/getting-started/changelog/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/getting-started/changelog/index.md b/src/pages/getting-started/changelog/index.md index 1433190..e82695a 100644 --- a/src/pages/getting-started/changelog/index.md +++ b/src/pages/getting-started/changelog/index.md @@ -161,6 +161,6 @@ This page contains the release notes and version history for Adobe InDesign APIs [16]: ../../guides/working-with-advanced-data-merge-api/index.md#conditional-visibility--dynamic-styling [17]: ../../guides/working-with-advanced-data-merge-api/index.md#copyfitting [18]: ../../guides/working-with-advanced-data-merge-api/index.md#folder-structure-and-zipped-output -[19]: ../../guides/working-with-advanced-data-merge-api/index.md#pre-signed-url-support +[19]: ../../guides/working-with-advanced-data-merge-api/index.md#pre-signed-url-support-in-csv [20]: ../../guides/working-with-advanced-data-merge-api/index.md#output-path-variations-in-advanced-data-merge-api [21]: ../../guides/working-with-advanced-data-merge-api/index.md#parameter-name-change-in-advanced-data-merge-api From 4cf3291691b40079ad75e265054140c7603510f7 Mon Sep 17 00:00:00 2001 From: "Sumit Garg." Date: Mon, 2 Nov 2026 13:44:56 +0530 Subject: [PATCH 46/47] Update in change log for fonts --- src/pages/getting-started/changelog/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/pages/getting-started/changelog/index.md b/src/pages/getting-started/changelog/index.md index 56bae69..6a3142d 100644 --- a/src/pages/getting-started/changelog/index.md +++ b/src/pages/getting-started/changelog/index.md @@ -59,6 +59,10 @@ This page contains the release notes and version history for Adobe InDesign APIs - **Folder Structure & Zipped Output**: The `POST /v4/merge-data` endpoint supports organizing merge outputs into a folder hierarchy via a `~`-prefixed CSV column, plus optional zipped output using `outputCompressMediaType`. [Learn more about folder structure and zipped output.][18] - **Pre-signed URL Support in CSV**: A new `preSignedURL` parameter allows image placeholder columns (prefixed with `@`) to contain pre-signed URLs directly in the CSV, fetched during the merge. [Learn more about pre-signed URL support.][19] +*Adobe Fonts Enablement* + +- **Adobe Fonts Free library support**: InDesign API can now resolve fonts from the [Adobe Fonts Free library](https://fonts.adobe.com/fonts?library=basic) automatically through your Adobe entitlement, so you no longer need to upload or host those font files. To enable this feature, add a Fonts-enabled product profile to your API credential. [Learn more about using Adobe Fonts.][24] + ## June 2, 2026 ### Enhancements @@ -171,3 +175,4 @@ This page contains the release notes and version history for Adobe InDesign APIs [21]: ../../guides/working-with-advanced-data-merge-api/index.md#parameter-name-change-in-advanced-data-merge-api [22]: ../../api/index.md#tag/Convert-InDesign-to-IDML [23]: ../../guides/working-with-convert-indesign-to-idml-api/index.md +[24]: ../../guides/using-adobe-fonts/index.md From 6a5bd622e447587045adbb43115c5c13da90a4fa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 2 Nov 2026 08:16:42 +0000 Subject: [PATCH 47/47] chore: auto-generate contributors --- src/pages/contributors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/contributors.json b/src/pages/contributors.json index 4de220b..b28d602 100644 --- a/src/pages/contributors.json +++ b/src/pages/contributors.json @@ -45,9 +45,9 @@ { "page": "/getting-started/changelog/", "avatars": [ + "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/264675027?v=4", "https://avatars.githubusercontent.com/u/274493592?v=4", - "https://avatars.githubusercontent.com/u/66052604?v=4", "https://avatars.githubusercontent.com/u/41382203?v=4" ], "lastUpdated": "11/2/2026"