How it works
During the generation process, XFRX takes each section – one by one – and tries to split into to individual lines. Then each line is added to the output, respecting the vertical position of the line on the paper and horizontal positions of individual objects. Vertically misaligned objects are moved down to the closest baseline, for example:
This report definition:
Will be split to three lines:
And the result would look like this:
If XFRX will not be able to create distinct lines or if objects would overlap one another, XFRX will try removing some of the objects.
will be converted as:
Horizontal lines can optionally be converted to a series of dashes. By default, this option is switched on. To suppress horizontal lines, call the setOtherParams method of XFRXSession object with two parameters: "PLAIN_SHOW_LINES" and .F., before calling processReport() method.
Characters per inch setting
To convert the object absolute positions to character positions, XFRX calculates the number of characters per line and the number of lines per page using horizontal and vertical character-per-inch values. By default, these values are 10 characters per horizontal inch and 5.2 characters per vertical inch, which results in approximately 80 characters x 55 lines on a letter size paper.
You may want to change the character density (e.g. when using a condensed font on a dot matrix printer). To do this, send PLAIN_CPI_HORIZONTAL or PLAIN_CPI_VERTICAL as the first parameter of the SetOtherParams() method and the actual value as the second parameter.