1.5

Table Of Contents
values
if (boundaries.getVariable("lastBand")!=null) {
if ( zeBand[0]!=boundaries.getVariable("lastBand")
|| zeYear[0]!=boundaries.getVariable("lastYear") )
{
boundaries.set();
}
}
boundaries.setVariable("lastBand",zeBand[0]);
boundaries.setVariable("lastYear",zeYear[0]);
Note
We're using the exact same code we as used for CSV files, with the exception of parameters
expected by the createRegion() method. The API methods adapts to their context and therefore
expect different parameters to be passed in order to achieve the same thing. Since a text file does not
contain column names as a CSV does, the API expects the text regions to be defined using physical
coordinates. In this instance: (Left, Top, Right, Bottom).
You can try this code as well. Paste the data into the text editor of your choice and save the file
to Albums.txt. Then create a new DataMapper configuration and load this TXT as your data file.
In the Data Input Settings, specify On lines as the Page delimiter type with the number of lines
set to 1 so you can process the file line per line (i.e. triggering the event on each line). Then, set
the boundary Trigger to On script and paste the above code in the JavaScript expression and
click the Apply button to see the result.
Note
The PDF context also expects physical coordinates, just like the Text context does, but since PDF
pages do not have a grid concept of lines and columns, the above parameters would instead be
specified in millimeters relative to the upper left corner of each page. So for instance, to create a
region for the Year, the code might look like this:
region.createRegion(190,20,210,25)
which would create a region located near the upper right corner of the page.
That's the only similarity, though, since the script for a PDF would have to look through the entire
Page 221