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 one or multiple records in the panel and use the Paginate… menu option, just hit OK.

In this case there are three distinct areas for data, each expands vertically to fit the data available.
Range Description
Fetures And Benefits
Data Table

Here’s an example of a populated layout, with the data table spanning two pages:


Formatting Rules

The first step is define the Formatting Rules used for each area.

Range Description
Contains an image and a text frame (which does not resize). The Rule has properties set on the Containers section of the Formatting Rule dialog, it uses “Text Threading” which links overset text and threads it inside the Container. In this case we want the text to continue under the image, so we define a Continuation Rule for this.

Range Description Continued
When the text frame in Range Description becomes overset, this is used to continue the text thread. It is placed underneath the previous rule, threaded and fits vertically. If there is too much text for a Container, it’s repeated to the next.

Features And Benefits
A text box with a “Fit Frame Height to Content Height” Pagination Rule. This is also uses Text Threading.

Data Table
Contains a table set to populate with a Tabular Field. The first column is set to Merge Vertically. A Pagination Rule allows it to resize vertically. Type is Fill and Repeat, which enables cell merging to split across Containers. (If a Text Threading was used the range of the merging would encompass the entire table).

Containers on a Parent Pages

Once these have been designed they can be assigned to areas on a Parent Page using the Container Tool. Here’s the page we paginate initially:

Edge Relationships between the Containers

To maintain layout flexibility, relationships between Container edges are defined using the Edge Relationship tool. So when Range Description resizes, Feature and Benefits is moved to maintain its edge relationships. In order to control the extent to which Containers grow, the bottom and top Containers have relationships to ‘achor’ frames on the layout.  They also have a maximum depth. EasyCatalog will always attempt to maintain edge relationships. For example, if you delete the Features and Benefits container, Data Table will inherit its child edge relationships and resize:

If Features and Benefits resizes and moves Data Table to a point where it cannot maintain its anchor point, it’s considered illegally positioned and get deleted as the page is populated. Here it has been resized, so Data Table can no longer maintain a legal relationship, which is then shown in red:

Creating Overset Parent Pages

Containers are populated in the order defined by their edge relationships. Range Description is populated first, then Features and Benefits, Data Table. After each container is populated, any illegally positioned Containers are removed. Once all containers are processed, the first overset container is linked to a new Parent page. This is defined by its Next Parent Container Panel Property (Only shown when a Container is on a Parent Page).

In this example Range Description, continues to Parent “D-Master Template”, which is the originally paginated Parent page.

Features And Benefits, continues to Parent E-Features Overflow. The important point here is that this doesn’t have a Range Description. This page is only used when Range Description has no more overset.

Data Table, continues to Parent B-Data Table Overflow, wish a single Container (since the others are complete by the time this page is needed).


To paginate, either “Container” or “Template Document” pagination types are supported. The latter looks for Containers on Parent pages and performs a “Container” type pagination. With Container based pagination the page range specified is repeated for every set of data. Any pages with containers are populated, so it’s possible to have multiple sets of Parent pages if required. Formatting Rules have a Configuration setting that can be used to apply grouping or sorting to the data prior to container population. This example paginates one Parent page per record, but this could easily have pages before and after if required.