EasyCatalog
Enhanced Tabular Fields
Enhanced vs Regular Tabular Fields Advantages over regular tabular fields include: Field Options are supported. Most regular types can be used; ย Images, Hyperlinks, Barcodes, etc. Multiple level sorting. ย Sorting is a global property for each Tabular Field. Rather the relying on a ‘Computed Field’ command to determine linked content, the field name includes all the […]
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.4 Download The latest version of EasyCatalog can be downloaded from our main downloads page here. 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 […]
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 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, […]
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 […]
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 […]
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 […]
Hyperlinks
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:
1 2 3 4 5 6 7 | <table> <tr><th>Material</th><th>T. mรกx. (ยบC)</th><th>Aplicaciones</th></tr></thead><tbody><tr><td>Metal/Metal</td><td>>250</td><td>Altas temp./Baja estanqueidad</td></tr> <tr><td>EPDM (E)</td><td>120</td><td>รcidos y aceites no minerales</td></tr><tr><td>NBR (N)</td><td>120</td><td>Hidrocarburos, aceites y grasas</td></tr> <tr><td>FKM-FPM (V)</td><td>200</td><td>Servicio quรญmico/Altas temp.</td></tr> <tr><td>VMQ (S)</td><td>250</td><td>Industria alimentaria/Altas temp.</td></tr> <tr><td>PTFE (T)</td><td>250</td><td>Resistente a corrosiรณn</td></tr> </table> |
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 […]
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 […]
InDesign 2021 no longer starting without EasyCatalog errors
Adobe recently released version 16.3 of InDesign, which requires new EasyCatalog plug-ins. These can be downloaded from our main downloads page.
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 […]
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 […]
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 […]
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 […]
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 […]
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.
1 | ENV('platform') |
The “ENV” command takes a single parameter, which the name of the attribute you would like to retrieve:
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:
1 2 3 4 5 6 7 8 9 10 11 12 | <ul> <li>one</li> <ul> <li>one</li> <li>two</li> <li>three</li> <li>four</li> </ul> <li>two</li> <li>three</li> <li>four</li> </ul> |
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 […]
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:
1 | {home folder}:Library:Preferences:65bit Software:EasyCatalog Preferences.xml |
on Windows it can be found at (although it depends on the version of Windows):
1 | C:\Users\{user name}\AppData\Roaming\65bit Software\EasyCatalog Preferences.xml |
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:
1 | {home folder}:Library:Preferences:65bit Software:EasyCatalog Preferences.xml |
on Windows it can be found at (although it depends on the version of Windows):
1 | C:\Users\{user name}\AppData\Roaming\65bit Software\EasyCatalog Preferences.xml |
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 […]
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 […]
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:
1 | {home folder}:Library:Preferences:65bit Software |
on Windows it can be found at (although it depends on the version of Windows):
1 | C:\Users\{user name}\AppData\Roaming\65bit Software |
The content of the file should be:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <easycatalog> <preferences> <values> <!-- Contains the average transfer speed in bytes per second that the transfer should be below during CURLLowSpeedTimeout seconds for libcurl to consider it to be too slow and abort. --> <!-- https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_LIMIT.html --> <value key="CURLLowSpeed" value="1000"/> <!-- Contains the time in number seconds that the transfer speed should be below the kPreferencesURLLowSpeedLimitKey for the library to consider it too slow and abort. --> <!-- https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_TIME.html --> <value key="CURLLowSpeedTimeout" value="10"/> <!-- The maximum time in seconds that you allow the libcurl transfer operation to take. --> <!-- https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html --> <value key="CURLTimeout" value="60"/> </values> </preferences> </easycatalog> |
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:
1 2 3 4 5 6 7 8 9 10 11 | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AttributeValues> <AttributeValue attributeId = "quantity" orderNo = "10">68</AttributeValue> <AttributeValue attributeId = "order code" orderNo = "7">GF 33</AttributeValue> <AttributeValue attributeId = "id" orderNo = "9">116</AttributeValue> <AttributeValue attributeId = "description" languageId = "de" orderNo = "2"><p>AC99AFFF mit FG 50</p></AttributeValue> <AttributeValue attributeId = "width" orderNo = "13">4000</AttributeValue> <AttributeValue attributeId = "height" orderNo = "6">20</AttributeValue> <AttributeValue attributeId = "diameter" orderNo = "11">100</AttributeValue> <AttributeValue attributeId = "price" orderNo = "8">312,5</AttributeValue> </AttributeValues> |
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:
1 | IF(ENV(platform),=,Macintosh,'Macintosh HD:Images','C:\Images') |
The […]
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.
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:
1 | [[if (field('new') == '1') then;]]NEW![[end;]] |
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.
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <group> <record> <Product name="Yummy-Yeans" ArtNo="102" Beschreibung="fรผr Damen" /> <Langtext>Diese Yeans sprengt alle Grenzen des bisher Gekannten.</Langtext> <Merkmale> <Merkmal waist="28" length="30" price="129" /> <Merkmal waist="28" length="32" price="132" /> <Merkmal waist="28" length="34" price="134" /> <Merkmal waist="28" length="36" price="133" /> <Merkmal waist="28" length="38" price="133" /> <Merkmal waist="28" length="40" price="138" /> <Merkmal waist="28" length="42" price="140" /> <Merkmal waist="28" length="44" price="138" /> <Merkmal waist="30" length="32" price="139" /> <Merkmal waist="30" length="33" price="145" /> <Merkmal waist="30" length="34" price="152" /> <Merkmal waist="30" length="36" price="142" /> <Merkmal waist="30" length="38" price="144" /> <Merkmal waist="30" length="40" price="146" /> <Merkmal waist="30" length="42" price="147" /> <Merkmal waist="30" length="44" price="149" /> <Merkmal waist="32" length="28" price="150" /> <Merkmal waist="32" length="30" price="148" /> <Merkmal waist="32" length="32" price="152" /> <Merkmal waist="32" length="34" price="147" /> <Merkmal waist="32" length="36" price="153" /> <Merkmal waist="32" length="38" price="149" /> <Merkmal waist="32" length="40" price="148" /> <Merkmal waist="32" length="42" price="160" /> </Merkmale> </record> <record> <Product name="Yummy-Yeans" ArtNo="103" Beschreibung="fรผr Herren" /> <Langtext>Diese Yeans sprengt alle Grenzen des bisher Gekannten.</Langtext> <Merkmale> <Merkmal waist="28" length="30" price="29" /> <Merkmal waist="28" length="32" price="32" /> <Merkmal waist="28" length="34" price="34" /> <Merkmal waist="28" length="36" price="33" /> <Merkmal waist="28" length="32" price="33" /> <Merkmal waist="28" length="34" price="38" /> <Merkmal waist="28" length="36" price="40" /> <Merkmal waist="28" length="38" price="38" /> <Merkmal waist="30" length="32" price="39" /> <Merkmal waist="30" length="33" price="45" /> <Merkmal waist="30" length="34" price="52" /> <Merkmal waist="30" length="36" price="42" /> <Merkmal waist="30" length="38" price="44" /> <Merkmal waist="30" length="40" price="46" /> <Merkmal waist="30" length="42" price="47" /> <Merkmal waist="30" length="44" price="49" /> <Merkmal waist="32" length="28" price="50" /> <Merkmal waist="32" length="30" price="48" /> <Merkmal waist="32" length="32" price="52" /> <Merkmal waist="32" length="34" price="47" /> <Merkmal waist="32" length="36" price="53" /> <Merkmal waist="32" length="38" price="49" /> <Merkmal waist="32" length="40" price="48" /> <Merkmal waist="32" length="42" price="60" /> </Merkmale> </record> <record> <Product name="Yummy-Yeans" ArtNo="104" Beschreibung="Unisex" /> <Langtext>Diese Yeans sprengt alle Grenzen des bisher Gekannten.</Langtext> <Merkmale> <Merkmal waist="38" length="32" price="29" /> <Merkmal waist="38" length="33" price="32" /> <Merkmal waist="38" length="34" price="34" /> <Merkmal waist="38" length="36" price="33" /> <Merkmal waist="38" length="35" price="33" /> <Merkmal waist="38" length="34" price="38" /> <Merkmal waist="38" length="36" price="40" /> <Merkmal waist="38" length="38" price="38" /> <Merkmal waist="40" length="32" price="39" /> <Merkmal waist="40" length="33" price="45" /> <Merkmal waist="40" length="34" price="52" /> <Merkmal waist="40" length="36" price="42" /> <Merkmal waist="40" length="40" price="44" /> <Merkmal waist="40" length="40" price="46" /> <Merkmal waist="40" length="42" price="47" /> <Merkmal waist="40" length="44" price="49" /> <Merkmal waist="42" length="28" price="50" /> <Merkmal waist="42" length="30" price="48" /> <Merkmal waist="42" length="42" price="52" /> <Merkmal waist="42" length="34" price="47" /> <Merkmal waist="42" length="36" price="53" /> <Merkmal waist="42" length="38" price="49" /> <Merkmal waist="42" length="40" price="48" /> <Merkmal waist="42" length="42" price="60" /> </Merkmale> </record> </group> |
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:
1 2 3 4 5 6 7 8 9 10 | <Product> <SKU id="1234"/> <ProductAttributes> <Attribute Name="Height" Value="100"/> <Attribute Name="Width" Value="50"/> <Attribute Name="Length" Value="200"/> <Attribute Name="Pack Size" Value="5"/> <Attribute Name="Voltage" Value="240"/> </ProductAttributes> </Product> |
Variations on the following “Computed Field” command areย used […]
Is there a way for EasyCatalog to display any price below a dollar ie: โ.99โ as โ99โตโ?
Field options can be applied based on the value contained within. Here’s an example that will format prices over a dollar like this: $1.00 ..and under a dollar like this: 50โต To do this define a ‘custom’ format and enter: [PRECISION=2] [DECIMAL=.] [REMOVE=0.(
Can EasyCatalog be used to produce graphs?
Not directly, but it is possible. Here’s a reseller who has produced simple bar graphs using EasyCatalog… https://www.ozalto.com/en/bar-graphs-with-indesign-easycatalog/
How do I uninstall or remove EasyCatalog?
The easiest way to remove EasyCatalog is to delete the “EasyCatalog” folder from your InDesign->Plug-ins folder.
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:
1 2 3 4 | boldface plainface italicface bolditalicface |
For Example:
1 2 3 4 | <b boldface = "77 Bold Condensed" plainface = "47 Light Condensed" bolditalicface ="67 Medium Condensed Oblique"> <i boldface = "77 Bold Condensed" plainface = "47 Light Condensed" bolditalicface ="67 Medium Condensed Oblique"> <b boldface = "77 Bold Condensed" plainface = "47 Light Condensed" bolditalicface ="67 Medium Condensed Oblique"> </b boldface = "77 Bold Condensed" plainface = "47 Light Condensed"> |
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:
1 2 | <p><strong>Indeholder:</strong><br /><bullets>1 stk. Kin-ball indendรธrs.<br /> 1 stk. Kin-ball udendรธrs.<br />12 stk. Kin-ball veste โ sort/grรฅ/pink.<br />1 stk. blรฆser.<br />1 stk. pointtavle.</p> |
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:
1 2 3 4 5 6 7 8 9 10 11 | var myFieldContents = myRecord["Store List ID"]; var mySplitContents = myFieldContents.split(","); var myNbrOfChunks = mySplitContents.length; var myCodeList = "" for (thisChunk = 0;thisChunk < myNbrOfChunks;thisChunk++) { var myChunk = mySplitContents[thisChunk]; var myCode = String(myChunk.substring(myChunk.length - 2, myChunk.length)) var myCodeList = myCodeList + " " + myCode } myCodeList; |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | // Sample script to change the clipping path to detect edges // These can be used to extract the field name and content of the image field: //alert(app.scriptArgs.getValue("field")); //alert(app.scriptArgs.getValue("fieldContent")); // Get the internal ID of the container, passed in from EasyCatalog var myID = Number(app.scriptArgs.getValue("id")); // Get the frame var myFrame = app.activeDocument.pageItems.itemByID(myID) // Get the image var myImage = myFrame.allGraphics[0]; // Set the clipping path myImage.clippingPath.clippingType = ClippingPathType.DETECT_EDGES; // Re-fit the image myFrame.fit(FitOptions.proportionally); |
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
How do I ‘fix’ a column in the EasyCatalog panel so it doesn’t scroll from view?
Holding the shift key down while dragging the left margin will fix the left-most column in the panel view:
Making the decimal part of a price Superscript
This example uses a formatted field and cleansing to make the decimal part of a price Superscript:
How do I tag an untagged table with content?
The “Cell Finder” keyboard short can automatically tag existing table content based on the presence of key values in the table. Here’s a simple example of this in action:
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:
Is it possible to fill a table where the data fields are not in a row but in a column?
Select a cell in the table you can use the Table > Table Options menu from the data panel’s pop-out menu and set the ‘Expand’ pop-up to be ‘No Expansion’.
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 […]
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 stop the “About EasyCatalog” dialog box appearing when launching InDesign?
If any unregistered modules are installed, the dialog box will appear when launching InDesign. To prevent this, re-run the installer and select only the modules you have license codes for.
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 […]
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 […]
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.
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…
Detecting placed records outside of EasyCatalog
Placed records can be identified outside of EasyCatalog by updating the panel with Page Numbers,..
An error occurred reading the field definition file
The field definitions file is located in ‘EasyCatalog Workspace > DataSourceName > Data > Fields.xml’…
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…”….
Example XSL using a loop to populate a table
This example uses a loop to fill a table. Each product has a colour code, which is the column…
Exporting custom fields from EasyCatalog to the data source
Custom fields can be exported back to a data source by holding down SHIFT + ALT and selecting…
How to send your workspace folder
If you have contacted support and we need to recreate your configuration here, we will need…
Populate a table with multiple rows per record
When EasyCatalog sees a table in a Product Style, by default it will insert one row per record…
Resetting your InDesign preferences
If lots of data sources are open on start up and they are causing InDesign to become slow or…
Select items from an EasyCatalog panel prior to dragging from a library flagged as ‘EasyCatalog Library’
This is displayed when dragging an item to the page if you have the ‘EasyCatalog Library’ option checked…
What are the differences between the lite and full versions
EasyCatalog Lite is designed for simple ‘link and update’ tasks, so the user is responsible for…
Data cannot be loaded because blank field names were found
It could be that there is a populated cell somewhere off the right hand side of the spreadsheet…
Document edited without EasyCatalog loaded
This dialog warns that the document was edited without EasyCatalog being loaded, which is not recommended…
Fields no longer linked in the document
Each field in the document is linked to the source data using a combination of…
Removing empty fields
Removing these empty fields can be done in one of three ways – here’s a typical example…
Table population is missing the first record
The header row in the table is not defined as an InDesign header row…
Unable to write to the workspace folder
The EasyCatalog workspace folder is a folder on the computer that stores EasyCatalog’s configuration settings…
What is ‘Multiple Users Share This Workspace’?
Ordinarily the workspace folder which contains data source configurations and a snapshot of the source data — i.e….