Using ImageLink to download and cache images

EasyCatalog 2024 and later can now integrate with ImageLink to manage the download and caching of images retrieved from a URI. The main advantage of this is that ImageLink will periodically check — provided the server supports it — whether the image has been updated and flag it as such in the Links and EasyCatalog […]

EasyCatalog 2024 Release Notes

EasyCatalog 19.0.1 2 November, 2023 The latest version of EasyCatatalog can be downloaded from our downloads page. Beta Enhancements The following enhancements have been made to EasyCatalog and are available in the latest release on our web site. Maintenance customers can receive a version of EasyCatalog containing these modifications for an earlier version of InDesign […]

Creating an Enterprise Data Provider Script For JSON data

JSON itself is a data interchange format that represents structured data as a collection of key-value pairs. It doesn’t inherently have the concept of records and field sets like you might find in a database. However, you can transform JSON data into a structure that EasyCatalog can import via a simple script. You essentially break […]

What’s New In 2024

Here’s a list of the major new features in the 2024 compared to the 2023 version of EasyCatalog: Enhancements to Containers Improved Container stability and functionality, including enhancements like Auto-Fit and the ability to apply named master pages for Container-based pagination. Further information can be found here Better JSON support This update also introduces a […]

Building Data Sheets Using Containers (2024)

This example outlines the steps involved to paginate and build data sheets using Containers. It illustrates how each area of a template can accommodate data, using both Data and Content threading, and flow to subsequent pages as needed. The Example The example files can be download here – Data Sheet Example Data To install the data […]

Containers (2024) – Overview

Prerequisites Requires the  Pagination Module. Sample Data A sample workspace and document is available from link below. Containers Sample Files Import the Data Source using File->New->EasyCatalog Panel->Import Data Source.  This contains images and will open with the correct grouping for pagination (Category 1 > Category 2 > Category 3).The sample defines a number of Parent Pages […]

Tabular Fields and the JSON Content Type

When a tabular field is set to the JSON content type, EasyCatalog automatically converts the JSON field content into a tabular field. Certain assumptions are made based on the structure of the JSON: For an array of objects, each object is as a row and the properties are columns. For an array of values, each […]

Using the ‘monitorFolder’ method

The Scripting Module now provides a mechanism to automatically execute an ExtendScript file when a specific ‘trigger’ file is dropped into a monitored folder. Starting monitoring The ‘monitorFolder’ method should be called on the EasyCatalog object to begin polling a specific folder – e.g.

Four folders are required for the monitoring process: An ‘in‘ […]

Using a barcode font to generate barcodes

EasyCatalog supports EAN13 and EAN8 barcodes through the use of a free barcode font. The latest version of EasyCatalog now offers a barcode field type, which is now the preferred method for generating barcodes. EasyCatalog that can take the 7/8 or 12/13 character EAN code and convert it into the necessary glyphs for the font, […]

EasyCatalog and EasyCatalog Lite End User License Agreement (EULA)


EasyCatalog and EasyCatalog Lite Licensing FAQs

EasyCatalog Licensing FAQs How is EasyCatalog licensed? EasyCatalog, and the optional modules, are licensed per user. Where can I find the End User License Agreement (EULA)? The license agreement is displayed, and must be accepted, during the installation of the software.  A copy of the agreement can be found here. What happens when Adobe release […]

EasyCatalog 18.0.1 Release Notes

  EasyCatalog 18.0.1 Enhancements The following enhancements have been made to EasyCatalog and are available in the latest release on our web site. Maintenance customers can receive a version of EasyCatalog containing these modifications for an earlier version of InDesign by contacting us via the web site. Please be aware though that its not always […]

ODBC Data Provider no longer connects after upgrading to macOS X Ventura 13.3

After upgrading to macOS X Ventura 13.3, the ODBC Data Provider will no longer be able to connect to the database, reporting a message such as ‘Driver’s SQLAllocEnv() failed’.  This is due to a change to security permissions in macOS, and should now be fixed in the 18.0.1 version of EasyCatalog for Adobe InDesign 2023.  […]

Hiding Code in Advanced Custom Fields

In some cases it may be desirable to obfuscate the code in Lua scripts and Advanced custom fields and prevent them from being edited.  In order to do this, drop a menu.lua script in the data sources Scripts folder, When you next open InDesign this adds a menu option to the data panels pop-out menu […]

EasyCatalog High-Level Overview

Benefits of EasyCatalog 1. Streamlines data management 2. Reduces manual copy-pasting 3. Facilitates real-time data updates 4. Enhances document automation 5. Improves data accuracy 6. Increases productivity 7. Saves time and resources 8. Supports dynamic publishing 9. Improves document consistency 10. Supports large amounts of data. How EasyCatalog can help with Database Publishing Database publishing […]

EasyCatalog 18.0.0 Release Notes

  EasyCatalog 18.0.0 Enhancements The following enhancements have been made to EasyCatalog and are available in the latest release on our web site. Maintenance customers can receive a version of EasyCatalog containing these modifications for an earlier version of InDesign by contacting us via the web site. Please be aware though that its not always […]

Excluding Fields Which are Never Required

Data may contains fields which aren’t required.  These make working with the data harder and require extra resources to maintain. To exclude a field or set of fields permanently from an already established data source,  press the info button on the panel, then the icon at the top left. This presents a dialog box similar […]

What’s New In 2023

Here’s a list of the major new features in the 2023 compared to the 2022 version of EasyCatalog: Edge Relationship Tool The new Edge Relationship Tool can be used to establish geometric relationships between parent and child frames. More Info… Container Tool A new major feature which enables the creation of Containers, which can be […]

Creating Custom JSON Data Providers

The JSON File Sample Data Provider illustrates how to select and parse a typical JSON file and load a set of records and fields into EasyCatalog. The sample file can be downloaded here: JSON Sample File


Building Data Sheets Using Containers

This example outlines the steps involved to paginate and build data sheets using Containers. It illustrates how each area of a template can accommodate data and flow onto subsequent pages as needed. The Example The example files can be download here Here To install the data source use File->New->EasyCatalog Panel->Import Data Source. To paginate, select […]

Replacing Fields

Introduction The “Replace Fields” dialog can be used to replace all instances of fields with a different fields from the same data source.  Using the “Field Group” functionality, found in on the Advanced Field Options, it is also possible to replace multiple fields in a single operation (for example, when changing a document from one […]


Hyperlinks EasyCatalog can insert hyperlinks into your document, which will then appear when exported as an interactive PDF. To insert a field as a hyperlink, change its type to be “Hyperlink” in the Field Options dialog. The dialog is split into two parts: the top part determines what will appear in the document; the bottom […]

Common Activation Errors

General information on activating EasyCatalog can be found in this support document. The serial number entered is for a product that has already been activated. The serial number you have entered is already being used on this machine – if you take a look in the “About EasyCatalog” dialog you should see the serial number […]

Containers – Fields With Multiple Values

Prerequisites Requires the Pagination Module. Sample Data A sample workspace and document is provided for reference. Import the data source using the File->New->EasyCatalog Panel->Import Data Source… menu option.  The data contains two fields shown below: Multiple Field Values Sample Each field has values separated with a comma. EasyCatalog requires them to be delimited with a […]

Containers – Tabular Fields

Prerequisites The Pagination module is required to for container functionality. Sample Data A sample workspace and document is provided and relates to the example below. Import the data source using the File->New->EasyCatalog Panel->Import Data Source… menu option.  This contains a simple tabular field formed with HTML content:

The sample document contains a series of […]

EasyCatalog 17.0.2 Release Notes

EasyCatalog 17.0.2 EasyCatalog 17.0.2 is now available for download from our main downloads page. Bug Fixes The following bugs have been fixed in this release of EasyCatalog. For clarity, the bug reports listed below show the original problem as reported. It is often not possible to detail the fix for each issue as they involve […]

Containers – Overview

Prerequisites Requires the  Pagination Module. Sample Data A sample workspace and document is available from link below. Import the data source using File->New->EasyCatalog Panel->Import Data Source.  This contains images and should open with the correct grouping for pagination (Category 1 > Category 2 > Category 3). Container Sample Files What are Containers? Containers can be used […]

Connecting to Perfion

EasyCatalog provides a direct connection to Perfion without the need to export data files. With the Enterprise Data Provider installed, the script which handles the connection can be installed from the File->New->EasyCatalog Panel->Manage Enterprise Data Providers… menu. After selecting this you should see Perfion API listed as one of the installable scripts. Select it and […]

EasyCatalog 17.0.1 Release Notes

EasyCatalog 17.0.1 Enhancements The following enhancements have been made to EasyCatalog and are available in the latest release on our web site. Maintenance customers can receive a version of EasyCatalog containing these modifications for an earlier version of InDesign by contacting us via the web site. Please be aware though that its not always possible […]

Edge Relationship Tool

The Edge Relationship Tool can be used to establish geometric relationships between parent and child frames. The Tool is shown in the InDesign Tool panel as  When the parent frame is moved or resized, the distance between the nominated edge remains the same. Here the bottom of the frame at the top is linked to […]

Automatic Language Translation

EasyCatalog supports the use of third party translation services. At the current time the only available service is provided by DeepL Once you have created an account, go to the EasyCatalog Advanced Preferences and configure the Language Translation Services section with the correct API URL and Authentication key. The service can be invoked using an […]

EasyCatalog 17.0.0 Release Notes

EasyCatalog 17.0.0 Enhancements The following enhancements have been made to EasyCatalog and are available in the latest release on our web site. Maintenance customers can receive a version of EasyCatalog containing these modifications for an earlier version of InDesign by contacting us via the web site. Please be aware though that its not always possible […]

Whats new in 2022

Here’s a list of the major new features in the 2022 compared to the 2021 version of EasyCatalog: Storage of Formatting Rules Formatting Rules can be stored externally in a Folder based structure within the EasyCatalog Workspace folder. URL Image Links Image size and modification date are now requested when “Download Latest” menu option is […]

Calculating the number of days between two dates

An Advanced custom field can be used to calculate the number of days between two dates. This example code reads two dates from fields called ‘date1’ and ‘date2’, and assumes that the source dates is in the format DD-MM-YYYY.

To create an Advanced custom field: right click in the EasyCatalog data panel and use […]

Scripting Support For Links

ecLink Class From 2022, an ecLink class has been added to the scripting module to enhance the scriptability in the creation, inspection and modification of links. This represents an EasyCatalog link, either text or frame based. An ecLinks collection exists on most InDesign layout objects. Basic Properties A link is described using 3 basic properties: […]

Showing the First and Last Entries on a Page Using Furniture

EasyCatalog’s Furniture features allow you to populate a box with data for the first or last item on a page after pagination.  Sometimes, however, it’s necessary to display both the first and last records in the same furniture box.  To do this, custom fields must be created to determine which records are on the page […]

Using Formatting Rules With ExtendScript

During placement of a Formatting Rule ‘Post Processing’ can be used to modify the contents of the Formatting Rule. In this example, a script creates a pie chart based on the values in a data source. This requires the scripting module as objects are passed to represent the data which is assigned to to the […]

Custom Formatting Of Numeric Values

A custom format allows the specification of how numeric values are formatted, for example:

Where the data contains values of a different types, each can be formatted independently. Take fields containing:

Each type has an identifier used to pick the correct formatting options. This contains a regular expression. When matched to the data, […]

Placing fields inside tabular fields

Tabular field cells normally contain text, which has limited formatting.  To overcome this fields can be assigned to individual cells:

For group tabular fields, the tableof method returns a table with fields automatically assigned. Take this data for example:

In this example, we’ll create a custom field to collect all the Images for each […]

Grouped Tabular Fields

  Grouped tabular fields allows the collation of records sharing common properties. Take this data for example: To create a custom field that collates records sharing the same PRICE, the following is configured: A simple script is used to pick out the ID column:

  Notice the Group Path: has been configured with the […]

Formatting Rules Combined With Tabular Fields

Tabular field cells can be inserted as links in a document. However when a parent field is inserted, EasyCatalog normally creates a table of individual fields for each cell. Specifying a Formatting Rule changes this behaviour. When the parent field is inserted,  a single link is created containing the populated formatting rule. All links are removed, […]

Formatting Rule Fields

The Formatting Rule field type enables a field to create content based on a stored Formatting Rule: When the field is inserted, the named rule is populated and inserted between text markers without any tags (tags within tags are not allowed). When Repeat For Each Line is enabled, the rule will be populated once for […]

Inserting Images as Anchored Frames

When a field contains the an image or multiple images, it’s possible to insert these as anchored items inside a text based link. To do this, enable the “Insert as inline” checkbox on the Picture Content section of the Field Options: To control the size and appearance of the frames, an Object Style can be […]

Formatting Rules – Duplicating a Frame for Each Cell of a Tabular Field

Sometimes is useful to break out things like colours into a tabular field and then populate these as a set of frames, one for each colour. The frames might contain a Swatch and a swatch name. The example below iterates though the Colour tabular field, duplicating the frame given the Script Label group. It then populates […]

Replacing Delimited Field Names With Field Content

The example below replaces field names delimited between { and } with the field content. E.g: “This is a field with another field {name} inside” The replaces “name” with the contents of field called “name”.


Combined Data Sources

Combined Data Sources in EasyCatalog allow you to combine data from separate data sources into a single panel. By specifying a series of simple rules that determine how data from one data source relates to data from another data source, you can quickly build complex data structures without having to write SQL. A Combined data […]

Table Filtering

EasyCatalog normally assigns one record to each row in a table. When populated, the table body rows will be altered to accommodate row per record.  The Table->Filter… menu sets a table level option to only populates with records matching a certain criteria. In this example you can see the top table has been populated without […]

Managing Enterprise Data Provider

EasyCatalog allows access to third party systems, such as PIM or DAM systems, via Custom Data Providers.  The Enterprise Data Provider allows these scripts to installed, updated or removed using the “File->EasyCatalog->Manage Enterprise Data Providers…” menu option. Publicly available scripts are hosted by us in a central location. To download and install a provider, click […]

Hilighting the Document Selection

EasyCatalog can hilight the selecting fields in a document using a blue outline in a data panel as shown: This is enabled via an “Advanced Preference”, available from the InDesign->Preferences->EasyCatalog dialog box. The Advanced button reveals the settings below: Hilight Document Selection can be found in the Miscellaneous section and should be set to true. This […]

What’s New In 2021

Here’s a list of the major new features in the 2021 compared to the 2020 version of EasyCatalog: Combined Data Sources Combined Data Sources in EasyCatalog allow you to combine data from separate data sources into a single panel. By specifying a series of simple rules that determine how data from one data source relates […]

Augmenting Datasources via “CreateContent.lua”

Manipulation of  incoming data is possible through the execution of a script right after EasyCatalog retrieves data from a data source, but before any subsequent processing takes place. The script, named ‘createcontent.lua‘, when placed in the data source’s scripts folder, is triggered as the last stage of the synchronise operation. Pressing the info button on […]

Developing an ImageLink Provider Script

This is intended to describe how to write a provider script. Overview The Plug-in enables connection to any DAM or online image resource via a provider script that manages interaction with its REST API. This is a single script containing a number of key callback functions, prefixed with cb_. Scripts are stored in locally in […]

What’s New In 2020

Here’s a list of the major new features in the 2020 version of EasyCatalog: Live URL Links Enables the direct link of URL based images within an InDesign 2020 document. If the original image changes size, the link can be refreshed to ensure the InDesign document includes the latest version. This is available as the […]

Upgrading to InDesign 2024

Licensing InDesign 2024 is a major new version of InDesign and so an upgrade fee may apply for EasyCatalog. The upgrade will be free of charge if you: have purchased a new license (not an upgrade) in the last twelve months have upgraded EasyCatalog in the last six months have a valid maintenance plan with […]

How Does Licensing Work with Creative Cloud Versions?

When purchasing a license for EasyCatalog you’re purchasing for a specific version of InDesign — e.g. InDesign CC 2018, InDesign CC 2019. With all new licenses you receive twelve months complimentary maintenance; if purchasing an upgrade you receive six months complimentary maintenance. So, if Adobe release another version during this maintenance period the upgrade will […]

EasyCatalog in Japanese

We have localised EasyCatalog into Japanese. This is included in the standard version which can be downloaded from our Website. For local support please contact or reseller:

How do a get an invoice?

For purchases made via our Webstore you can reprint the original invoice via our After-Purchase Services site 24 hours a day at Just log on using the email address from the order and the order ID, and the option to print the invoice will appear on the next page after logging on.

Preprocessing Field Options

Allows content to be processed before any additional formatting is applied. Once processed other options such as cleansing, prefix, suffix are applied. Only fields with content are processed. This option should only be used on fields that do not update back to a data source, because there is no way of reversing the process.  Ensure […]

Formatting Rule Regeneration Options

Regeneration options determine when the Formatting Rule is rebuilt. They can be rebuilt based on 3 options: When the rule changes. If the Formatting Rule has been updated since originally placed, it will be rebuilt. When the data changes. If any fields or records that make up the rule have been updated, it will be […]

Support for Custom Salsify Channels

For custom channels, EasyCatalog allows the creation of scripts that take channel data and turn into a record set which EasyCatalog can load.  Scripts are written in Lua. They take raw channel JSON and return a RECORDSET object. The name of the file should match the name of the channel, with a.lua extension. Scripts should […]

Use Formatting Rules Post Processing to Paginate Images

Fields Containing Multiple Images Fields may contain references to multiple images, each separated by a carriage return. For example: image1.png image2.png image3.png Here’s a simple post processing script that paginates these into the bounds of the formatting rule. The rule must have a graphic frame tagged with the field and a script label set to […]

The Enhanced HTML Parser

The enhanced HTML parser cleanses the field HTML prior to processing. Any unbalanced are corrected and the entire field is enclosed with an implied <body> node. As a general rule any tag which matches the name of character or paragraph style will apply that style. EasyCatalog Tags Supported The following tags and attributes are available: […]

Applying Table Cell Attributes

The Table->Cell Options dialog box includes the ability to Apply Cell Style Named In. This allows a field to be defined that contains the name of a cell style. In addition to this, the field content can be prefixed to apply a specific cell attribute: TINT: Apply a tint value to the cell SWATCH: Apply […]

Versions Panel

The Versions Panel aids the creation of multi-version content using InDesign Layers, typically for regionalised adverting or promotional material.  To use this functionality, data must contain a record for each version of a product. The related records need share common fields in order to identify them as a single ‘product’. Example Data page number position product version […]

EasyCatalog Product Activation

EasyCatalog uses online product activation to validate the serial numbers you have purchased. To activate EasyCatalog: Launch Adobe InDesign If you have unregistered modules, the “About EasyCatalog” dialog will automatically appear once InDesign has finished launching. For each of the serial numbers you received in your order confirmation email: Click the “Activate” button at the […]

Custom Data Providers

Overview Through optional modules EasyCatalog provides a number of data providers (ODBC, XML, Excel, CSV, Sqlite).  The Enterprise Data Provider also provides additional connections to a number of third party systems.  For connections to other systems, such as JSON or REST APIs, the Enterprise Data Provider enables the ability to create custom data providers. Creating […]

Custom Menus and Dialogs

Overview Lua scripts can be integrated with EasyCatalog to provide custom menus and dialog boxes. User Interface is provided by the the InDesign Scripting DOM, which offers dialog creation and control. Details on how to access this from Lua are here. Creating a Custom Menu Option Adding a custom menu option is a case of […]

Accessing the InDesign Scripting DOM via Lua

Overview The InDesign Scripting DOM provides full access to the creation and manipulation of all content within InDesign. By combining this the speed of Lua with the data access and control facilities of EasyCatalog, it’s possible to create data driven content in virtually any format. Accessing The InDesign Scripting DOM can be accessed via Lua […]

Batch Scripted Custom Fields

Use this option when a custom field has no computed content, and the content is provided exclusively using a Lua script. This is a special type, designed to prevent the editing of raw content and restricting the user interface to applicable field options. Any existing field content is cleared before the script is executed to […]

EasyCatalog Demonstration Files

If you’re recently requested assistance from 65bit, you may have received a number of files that demonstrate how to configure EasyCatalog. Here’s a run-through of what you may have received and what you should do with them: Data Source Folder This is typically sent over as a zip file, so unzip it before going into […]

Removing EasyCatalog’s License File

Occasionally it may be necessary to remove EasyCatalog’s licensing information from your installation.  Once complete, EasyCatalog will need to be re-activated on this machine. EasyCatalog stores your license information in one or both of the following locations: Macintosh Inside of the InDesign Package Quit InDesign Right click on the InDesign application icon and use the […]

Running a new version of InDesign?

The serial number you have entered is for EasyCatalog running under a  previous version of Adobe InDesign.  Each time Adobe release a new major version of InDesign, such as CC 2018, CC 2019, etc, your plug-ins will need to be upgraded. The upgrade will be free of charge if you: have purchased a new license […]

What is a Matrix Table?

A matrix table is a table that expands both horizontally and vertically. The amount of rows and columns is determined by the number of unique values in the specified fields. Matrix tables are generally ‘look up’ tables. In the following example, the two products are available in three ‘colours’, two ‘finishes’ (‘gloss’ and ‘matt’) and […]

Matrix Table Configuration Dialog

EasyCatalog provides the ability to a create a matrix table — a table that expands both horizontally and vertically, populating data at the intersection of each column and row. A new dialog is available on the Table menu (on the data panel’s pop-out menu) to specify the more common matrix table parameters. Additional parameters are […]

Custom Reports

The custom report option allows provides a mechanism to inspect data source or document related information and output it in virtually any format.   LuaSocket support is enabled for custom reports, which can be exported in a variety of ways, such as files, posted via HTTP or shown in a browser. The pencil icon provides access […]

Custom Adoption

The Adopt Fields->Custom menu facilitates the development of custom scripts to manipulate individual links in the current document. The dialog displays the active documents links on the left, and the links after processing by the script. Pressing the Test button will execute the code for each link and present the results in the right hand column. […]

Post Processing of Formatting Rules

Once a Formatting Rule has been populated with data, it can be processed before final placement using Lua code. Typical uses for this would be to position frames relative to one another,  position a series of images,  or incorporate other Formatting Rules to build a layout. It’s also possible to create the entire content via […]

Advanced Preferences

The EasyCatalog preference panel provides access to Advanced preferences. Relaunch InDesign To Apply Any Changes. EasyCatalog Workspace Multi User Workspace Defines the the default setting when the preferences are rebuilt. Cache Formatted Data  When true, EasyCatalog stores the ‘formatted’ content of a field for quicker data source loading. When it’s false, the formatted content is rebuilt […]

The “ENV” Custom Field Command

The “ENV” custom field command can be used to determine environmental properties of EasyCatalog, such as the version of InDesign that’s running or the platform (Mac/Windows) that EasyCatalog is running on.

The “ENV” command takes a single parameter, which the name of the attribute you would like to retrieve:

Running the Windows Installer Silently

The Windows installer can be run silently – without any user interface – from the command line using the /qn MSI command line switch: “EasyCatalog CC2018 Installer.exe” /qn As there is no user interface the installer will install EasyCatalog plus all of the default modules.  There are no command line options to change the modules […]

Applying CMYK or RGB values to a frame

The Apply Swatch Named in Field “Pagination Rule” can apply either a named swatch or an RGB or a CMYK value if that value is in a field. For RGB, the value should be: #RRGGBB Where each part is a 2 digit hexadecimal value. For CMYK the value should be: cNNNmNNNyNNNkNNN Where NNN is the decimal […]

Handling Nested HTML Tags in Formatted Fields

EasyCatalog attempts match the tag name to a character or paragraph stylesheet. In this example:

EasyCatalog attempts to apply a stylesheet called “ul” before performing the default behaviour. Since there is a nested <ul> inside a <li> tag, EasyCatalog attempts to apply a tag called “ul>ul” for a single level of nesting. For three […]

Creating a Calendar using LUA

This example code creates a calendar tabular field using data where each record is an event on a calendar. The data has fields contain the month and year.  GROUPSCRIPT is used to call the script for each month group. This data can then be paginated using Master based pagination.


Custom Image Import

For images that are sourced externally but are not URL or File based, the “Custom” option can be chosen in the picture location section of the field options. When this is set, EasyCatalog looks for a file called ‘CustomImageImport.jsx’ in the ‘Scripts’ folder of a data source. Here’s a simple example that displays the field […]

Specifying Defaults for the EasyCatalog Workspace Folder

Specifying defaults for the Workspace folder location The default location for your EasyCatalog workspace folder can be specified creating a preference file in your preferences folder, which on the Mac can be found at:

on Windows it can be found at (although it depends on the version of Windows):

The file should be […]

Generate InDesign Based QR Codes

Introduction The contents of a field can be output as a QR Code using InDesign’s QR Code functionality. EasyCatalog includes support for all of the QR Code types supported by InDesign, although some types require the use of a custom field to provide the content of the QR Code. As of version 18, EasyCatalog includes […]

Automatically tagging existing documents using a Regular Expression

EasyCatalog can automatically tag fields in existing documents by looking for patterns in the text defined by a regular expression. This feature – Auto Pickup – is designed to mark up documents that have already been created (either by hand or by another automation method) and is useful for updating prices, for example.  Auto Pickup […]

Specifying Defaults For Data Providers

Defaults for data providers can be specified by creating a preference file in your preferences folder, which on the Mac can be found at:

on Windows it can be found at (although it depends on the version of Windows):

The file should be created using a text editor (such as Notepad or TextEdit) […]

Converting XML tags to EasyCatalog Tags

EasyCatalog has the ability convert XML tags to EasyCatalog tags via a simple LUA script that maps tag attributes to the elements of a link (key, data source, field name). The .lua script should be placed inside a folder called “Adopt Fields” in the “Scripts” folder of a data source.  The file name of the […]

Can I automatically rename an InDesign form field during pagination?

EasyCatalog can automatically rename form field items during pagination using a configuration specified using InDesign’s Script Label panel. Show the “Script Label” panel from the “Window > Utilities” menu Select the button form field in the document Paste the following into the “Script Label” panel

Deselect the form field in the document (deselecting ‘writes’ […]

Custom Relinking of Fields

The standard “Adopt Fields” method of relinking assumes field names and key field values are consistent between the existing links and the new data.  It was designed to link fields from one data source to another, and as such is limited to changing the key element of a link. In some circumstances it may be […]

Date/Time Formatting Options

Full list of formatting codes, used in the input and output field options of a date/time field: %a Weekday as locale’s abbreviated name. Mon %A Weekday as locale’s full name. Monday %w Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. 1 %d Day of the month as a zero-padded decimal […]

Matrix Tables

EasyCatalog provides the ability to a create a matrix table — a table that expands both horizontally and vertically, populating data at the intersection of each column and row. Matrix tables are defined using commands in an XML format, specified using the Script Label panel with the table selected. There are three required nodes in […]

Specifying a time-out value for URL-based operations

You need to include a preference file in your preferences folder, which on the Mac can be found at:

on Windows it can be found at (although it depends on the version of Windows):

The content of the file should be:

Using LUA commands to create an index/glossary

  Consider a data source with the following data. This example creates a glossary of all the words in the ‘Glossary’ field, showing the pages they appear on. The words are sorted alphabetically and the pages are numerical within each word. The resulting output looks something like: big – p 13,14, bill – p 13, black […]

Working With Tabular Fields

Overview Fields can contain tabular data, where each cell is treated as an independent link.  Tabular field data can come from a number of sources, including delimited field content, other data sources, HTML, XML, or built from conditional logic. Example In this example the field “AttributeValues” contains the following XML snippet:

The first stage is configure the field as ‘Tabular’ […]

Accessing Guide Based Pagination Progress on InDesign Server

There is a script called “PaginationProgress.jsx” which you can place in the Data Sources “Scripts” folder. This is passed script arguments: “datasource”  : The Data Source Name “stepindex”  : Current Step Index “stepcount” :  Total Number of Steps “step message” : Related Message You can access them like this: var stepCount = Number(app.scriptArgs.getValue(“stepcount”));

EasyCatalog Server and Salsify

The Enterprise Data Provider supports direct connections to a Salsify Data Sources.  The normal login procedure uses OAuth based authentication, which uses a browser to login to Salsify. InDesign Server does not allow user interaction, so an alternative method method is supported where a static ‘access token‘ can be used as part of the data source […]

Configuring Cross Platform Picture Paths

Paths are represented differently on Macintosh and Windows machines.  This has an impact when working in a cross-platform environment as a picture import path configured on Macintosh would not work on Windows and vice-versa. To overcome this, a Custom Field command can be used to determine the platform that EasyCatalog is running on:

The […]

Cross Referencing Fields From Another Data Source

Using Custom Fields, it’s possible to import fields from another EasyCatalog data source. A Custom Field is a field that appears only in EasyCatalog (so it’s not present in the source data) and is populated using one of our inbuilt functions. The XREFFIELD custom field function can be used to import data from another data […]

Moving EasyCatalog to a new machine

Moving EasyCatalog to a new machine involves two steps: moving the configuration of your data sources and your licenses. Configuration Your EasyCatalog data sources are stored in your EasyCatalog Workspace folder.  The workspace folder contains configuration information about each of the data sources, but by default it does not contain information about how each panel is […]

Sending a Crash Report

Occasionally, in the event of EasyCatalog crashing, we may ask you to send us a crash dump file.  The dump file contains information showing what EasyCatalog was doing when InDesign crashed and will assist us with the debugging process. Windows It is vital to create the dump file while the InDesign application is still running, […]

Number formatting using custom fields

Custom field functions and field formatting options can be used to format numeric values in a variety of ways.  For example, here the data contains ‘value’ and ‘appearance’ is at it should be displayed: value appearance 636000 636,000 20000 20,000 1400000 1.4 Million 6200000 6.2 Million 473000000 473 Million 40000000 40 Million 45000000 45 Million […]

Changing URL-based image storage paths

When downloading an image from a URL, by default EasyCatalog will attempt to build a filename based on the format of the URL.  Sometimes, however, the filename used is not desirable: for example, the links shown in the Links panel in InDesign will sometimes be meaningless. EasyCatalog provides a feature to specify a file naming […]

Advanced Computed Fields Commands

‘Computed Fields’ have additional commands that allow behaviour based on the position of the field within a document: TAGPAGENUMBER() – Returns the page number the tag is on, or -1 for the pasteboard TAGPAGEX() – Returns the X position of the tag in points. TAGPAGEY() – Returns the Y position of the tag in points. TAGSPREADX() -Returns the X […]

Replacing a Unicode code point using cleansing

Using the field options, the ‘cleansing’ edit area can be used to replace a specific unicode code point for another character. For example: REGEXV2:[\x{2028}]=^n; This replaces the hexadecimal code point 2028 with a soft return. In this specific case, the code ‘Numbers’ uses as a soft return.

Adding user defined parameters to an ODBC data source

ODBC data sources normally use a hard-coded query to retrieve data.  However, EasyCatalog allows elements of the query to be user definable or ‘parameter’ based.  These parameters are shown on the ‘info’ dialog box, accessible from the binocular icon on the data panel.  Any changes made are applied the next time the data is synchronized. Parameters are […]

Advanced Conditional Processing Using Lua

EasyCatalog supports an embedded version of the Lua programming language.  When text is processed, any commands between  delimiters [[ and ]] are processed using Lua. EasyCatalog supplements Lua with functions to make data access easier. For example:

In this example, if the contents of the ‘new’ field are equal to ‘1’ the text NEW! will be output. […]

Reapplying Pagination Rules during Update Document

By default, Pagination Rules are not re-applied during an Update Document operation.  However,  holding down a keyboard modifier while selecting the ‘Update Document’ menu can force them to be reapplied: Shift key: if a box contains any field that has been updated its Pagination Rules will be reapplied Shift + Alt key: Pagination Rules will […]

Panel drawing on the Mac is slow after upgrading to Yosemite

The problem is actually InDesign drawing bold text in the user interface. The upgrade to Yosemite sometimes messes up the UI fonts used by InDesign. Launch your ‘Font Book’ application and look for Helvetica Nue. There should be a suggestion to fix problems relating to this font.

Importing XML Data that contains varying levels of grouping

XML data that contains categories and sub categories can be imported into EasyCatalog using the XML Data Provider module.  Sometimes, records may appear at different levels in the hierarchy of the XML (e.g. some products may be in a category > sub category > sub-sub category structure, others may be in at the category > […]

Using EasyCatalog to Create a Cross Table of XML Data

A common requirement is to construct a so-called Crosstab, in which multiple attributes are incorporated in a single table. For example, this data represents sets of trousers, with waist, length and price elements. XML Data:

The target layout involves a table with the distinct lengths horizontally, distinct waist sizes vertically and prices in each cell. This can […]

Fixing the links in a document created with the wrong key fields

When a document is created using incorrect key fields, this can be corrected using the keyboard shortcut called “Change Document Keys”. Steps involved changing keys are: 1. Create a data source with the NEW key setup and select any record in the panel. 2. Use the keyboard shortcut “Change Document Keys” 3. Enter a comma separated […]

Hyperlinking to another page in the document

EasyCatalog can insert hyperlinks that link to other pages in the document or, if the document is stored in an InDesign Book, to pages in other documents in the book.  The most common usage of this to produce contents or index pages that can link to the actual page in the document when the user […]

Working with images in a hierarchical folder structure

It’s possible for EasyCatalog to build a path to an image from the data, but this only works in there is a clear structure to the way the images are stored.  For example, if all the images beginning with ‘A’ are stored in a folder called ‘A’ then you can build a path using custom […]

Computed Fields and Complex Tables

The movie below shows an XML Fragment being used to populate a series of fields and an entire table. The data sources is created with just two fields – one for the “Product ID” and one to contain the contents of the “ProductAttributes” node structure. XML Example:

Variations on the following “Computed Field” command are used […]

Get the name of the selected data source

While you can get the selected panel (DSV) object. To get the name of the data source, the parent object needs to accessed:

Setting pagination options via a script

The options shown on the “Paginate” dialog can all be set using the ‘setPaginationOption‘ scripting method which is available on the datasource object.  This method takes two parameters: the name of the option to set and the value to set it to.

The value used for the ‘name‘ parameter can be determined by examining […]

Specifying faces for the < b > and < i > HTML tags

Some fonts have a variety of bold and italic faces, so it’s not easy and sometimes impossible to figure out which to use in any given scenario. To overcome this there are a number of attributes that can be specified on the <i> and <b> tags, namely:

For Example:

When the tag is […]

Using tags to apply paragraph and character styles inside a field

When a field is flagged as “Formatted” using field options, EasyCatalog will try to match any HTML style tag to the name of either a paragraph or a character stylesheet and apply it. For example, in the following text:

If a paragraph style called “bullets” exists, this is applied automatically. The default behaviour of […]

Customizing the EasyCatalog Panel Flyout Menu

User-interface elements of EasyCatalog can be suppressed (disabled) or hidden using a “SuppressedUI.xml” file in the root of the EasyCatalog workspace folder. The XML file must be well-formed, with a single SuppressedUI element at the root. The root element can contain any number of SuppressedMenu and SuppressedAction elements. SuppressedMenu elements have a menuName attribute, which […]

Referencing a field in a CALLSCRIPT script

Here’s an example CALLSCRIPT script that references record data passed to it:

Using a post image import script to manipulate an image

After EasyCatalog imports an image, it looks for a script called “PostImageImport.jsx” in both the Data Source->Scripts folder and the EasyCatalog Workspace Folder->Scripts folder. This can be used to manipulate an image after import. The example below applies the DETECT EDGES clipping path setting:

I only want to know which fields have content in a group

Custom Fields are fields that are created in EasyCatalog that are not present in the source data. Their content is created using one of our in-built functions, in a similar way to using functions in Excel. So, for example, it’s possible to create a custom field that summarises data from a collection of records. Custom […]

Is it possible to rename a panel after it is created?

If by panel you mean ‘data source’, then yes. Close all your existing panels using the “Windows->EasyCatalog Panels->Close All” menu option. Then locate your ‘EasyCatalog Workspace Folder’ via the Reveal button in the InDesign->Preferences->EasyCatalog section. Then just rename the appropriate folder in there and open them from File->New->EasyCatalog Panel

I’ve just updated my Mavericks and am receiving a -2003 error when I try to activate

The latest Mavericks update has changed some system file permissions that can sometimes cause a -2003 error when activating the software. This affects the Macintosh version of EasyCatalog only, and the latest version that is now available from our downloads page should fix this issue. After installation re-enter your existing license codes to activate.

Do you have an example URL based XML data source?

Here’s a link to some sample XML data which can be loaded into the XML data provider:

  Here are the data source configuration settings required to load this data:  

How do I populate a table using only a records key value

EasyCatalog can populate a table providing the table contains the key value of records in an associated data source. This is achieved using the ‘Auto Fill Tables’ keyboard shortcut. In this example, a table is populated using field names contained in the table header:

Registering the InDesign Server version of EasyCatalog

All versions To register a license, call the register method on the easycatalogObject:

InDesign Server 2020 or later, or for serial numbers ending ‘-0000’: EasyCatalog will now check with our activation server to ensure that the license can be installed. For the majority of users, activation will be automatic.  For users with a firewall […]

How much does support cost and how does it work?

All our support is free. You’re free to call us, although we prefer email as that gives us something to refer to if we need to support you in future, or if the person you’ve originally been working with isn’t available. If you have a specific project in mind for EasyCatalog, feel free to send […]

Change the colour of text that’s placed into a field specifier

The easiest way of doing this is to prefix the field with a formatting tag: e.g. <mystyle>text text text</mystyle> If you set the field to be ‘Formatted’ in its Field Options, you should find that the character style named ‘mystyle’ will be applied to the text in the example above.  If you have a field […]

Is EasyCatalog available for InDesign Server?

Yes, a version of EasyCatalog is available for InDesign Server.  It’s a version of EasyCatalog without a user interface, so a script is used to drive EasyCatalog.  When using EasyCatalog for Server, it’s typical to have least one desktop license as this is required to edit templates, libraries, etc. Multi-instance servers are also supported, data sources […]

What are Formatting Rules and Rule Sets?

Here’s a couple of quick videos that show the basic principles of the formatting rules functionality: This video shows the Rule and Rule Sets concepts: Rules are effectively the same as pagination library items in previous versions of EC. Instead of being stored in libraries, they are stored in the document as a snippet. You […]

What is a Custom Field?

A Custom Field is a field the exists in your EasyCatalog panel but not in the source data.  A custom field can be populated using one of our inbuilt functions, and are often used to manipulate the source data into a form more suitable for appearance on the page or to summarize group data. To […]

How do I specify multiple file extensions for images?

On the Field Options dialog provide a list of valid image file extensions, separated by a semi colon: EasyCatalog will attempt to import images using the list of file extensions in the order given in the list, so if you would prefer Photoshop images to be imported instead of JPEGs ensure that the .psd file […]

Why aren’t my images being placed?

The location of the images is determined by the Field Options: on the image box you will have tagged a Field Specifier, so take a look at the Field Options for that field. On the ‘Picture Content’ pane you should see the folder where EasyCatalog is looking for the images. Failing that, right click on […]

Why have I been charged VAT for an online purchase?

Your order was actually placed with our e-commerce provider who is based in the United States but registered for VAT within the EU (you should see that they have an ‘EU’ VAT ID shown at the bottom of the invoice). This is a special type of VAT registration that means they must charge VAT at […]

Can EasyCatalog search in sub-folders for images?

EasyCatalog will only look in the folder that you have specified in the Field Options for the field. This is mainly for performance reasons, as searching sub-folders each time an image is placed could adversely affect performance. However, if the path to the image can be determined using the content of other fields then custom […]

Is there any way to work with smaller sets of ODBC-based data?

ODBC Data Sources can be configured to accept parameters which are included as part of the data-retrieval SQL. Parameters should be placed in {{ braces }} for example:

This will create two parameters that user can change: “Name” and “No Of Records”.  Up to five can be specified. The values for these parameters will be […]

Does EasyCatalog support Unicode?

Yes, EasyCatalog supports both UTF-8 and UTF-16. If you’re seeing characters coming into EasyCatalog incorrectly check the data source configuration, and the ODBC driver configuration when using an ODBC data source.

Can EasyCatalog produce barcodes?

Supported Barcodes EasyCatalog includes support for all major barcode types: EAN5 EAN8 EAN13 EAN14 Code 39 Code 128 GS1-128 UPCA I2Of5 Data Matrix QR Code The following QR code types are supported: Text URL The following QR codes can also be inserted, but a custom field needs to be created first in order to collect […]

I’m seeing a duplicate keys error, what does that mean?

EasyCatalog requires that the values in the field(s) you have defined as being ‘key’ fields are unique. This is to enable it to uniquely identify each record in your source data so that if, for example, a record changes position in the data it can still be found. When loading data, EasyCatalog will check the […]

What is the maximum number of records and fields?

EasyCatalog has no upper limit on the number of records or fields. The only limit is physical memory. InDesign CC and above is a 64 bit application, so can handle very large data sets. Earlier versions of are 32bit and as such limited to addressing around 4GB of memory.

Why are fields shown in red?

Fields are red because the record they relate to cannot be identified. Normally the column ‘rowid’ use used to link the query result data back to original record, but in certain queries this isn’t possible – when using the DISTINCT clause for instance. In this case the field is marked in red and once placed […]

Loading XML into a field

EasyCatalog has the ability to load fragments of source XML into a field. This is specified using the “Load as XML Fragment” check box as shown on the “Field Configuration” dialog: When this is checked the entire XML structure at the specified location is loaded into a field. This can be used by the complex […]

Using a Relational Data Source in an XML Data Source

Data sources created with the Relational Module can be used as sources of XML Data. The heirarchy modelled in the relational data source is rendered into XML, which can then be used in a regular EasyCatalog panel via the XML data provider.

Field Markers are not visible in the document

The field markers in the document will not be visible if: ‘Hide Field Markers’ has been selected from the data panel’s pop-out menu.  This setting is stored with the document. To show the field markers, use the ‘Show Field Markers’ menu option from the panel’s pop-out menu. The document is in ‘Preview’ mode.  Switch back […]

Creating an index

The easiest way to achieve this is to use the ‘Update Panel->With Page Numbers’ option…