Generate InDesign Based QR Codes

To Generate Web Hyperlink QR Codes:

Create an empty picture frame, then show the ‘Script Label’ panel (from the Window > Utilities menu). Change the ‘URL’ to be the name of the field containing the URL you want to link to.  Once you’ve entered that, you’ll need to click off the frame so that InDesign […]

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 “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 necessary […]

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 […]

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 By default, Windows Error Reporting (WER) will not produce a crash dump so a change […]

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 […]

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.

How do I change the key field used and relink the fields in my document?

Occasionally it is necessary to change the key field configuration used in your data source: if, for example, the wrong key field was chosen when the data source was originally created. Fields in the document are linked by key field value, so changing the key field can break the links in your documents. However, there […]

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:   (more…)

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

Windows Only On Windows 64bit versions of Server you’ll need to register a DLL to activate the software. The installer from the link below will install and register the required component: Download Server Registration Component Registering EasyCatalog Server Serial license To register a license, call the register method on the easycatalogObject:

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 […]

What is your EU VAT ID for purchases made on the Webstore?

When purchasing through the web store, you actually purchase from an American company called ‘eSellerate’. eSellerate are a US-based company who are registered for VAT in the EU, and their VAT ID is shown on the bottom of your order confirmation with an ‘IE’ prefix. Business customers should enter their EU VAT ID during the […]

Can EasyCatalog search in sub-folders for images?

EasyCatalog will only search 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: SELECT * FROM customers WHERE name LIKE ‘%{{Name}}%’ LIMIT {{No Of Records}} This will create two parameters that user can change: “Name” and “No Of Records”.  Up […]

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?

EasyCatalog supports EAN13 and EAN8 barcodes through the use of a free barcode font. EasyCatalog that can take the 7/8 or 12/13 character EAN code and convert it into the necessary glyphs for the font, using a custom field: Right click in the centre of the panel Use the “New Custom Field” menu option Give […]

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…

Edit multiple field options

To edit multiple fields Alt-click in the column headers to select the fields then right click and use “Field Options…”….

Removing empty fields

Removing these empty fields can be done in one of three ways – here’s a typical example…