Create multi-page ISO reports (Swift)
For reports printed on ISO and JIS-sized pages, you can configure the output to print several logical pages per physical page.
The Swift report application tells the report engine to render several report pages onto a
physical page. This is completed with these C APIs:
selectLogicalPageMapping()
- Configures the mapping from logical pages to physical pages. For the purpose of
creating a multi-page ISO report, this will be set to
multipage
. configureMultipageOutput()
- Defines the configuration of the logical pages on the physical page, the size of the ISO page, and the orientation of the logical page.
These functions should be included after calling the selectDevice()
function
but before calling the createContentHandler()
function.
This example modifies the OrderReportSwift.swift file, which you can find
in the
OrderReportSwift
demo project, to output multiple report pages onto a
physical page.
let rcPtr = createRuntimeConfiguration(designFile)
setOutputFileName(rcPtr, outputFilename)
selectDevice (rcPtr, PDF)
selectLogicalPageMapping(rcPtr,multipage)
configureMultipageOutput(rcPtr,2,4,TRUE)
configureDistributedProcessing(rcPtr, "127.0.0.1", 7000)
Specifically:- The
selectLogicalPageMapping
function tells the output that there will be several logical pages on a physical page. - The
configureMultipageOutput
function details the configuration of the logical pages on the physical page, the size of the ISO page, and the orientation of the logical page. In our example:- The second parameter specfies the number of logical pages to print, but is provided as an index of two. In our example, 2 * 2 = 4 logical pages will print on each physical page. If it had been set to three, then 2 * 2 * 2 = 8 logical pages would have been printed on each physical page.
- The third parameter specifies the ISO number. In our example, 4 refers to ISOA4.
- The fourth and final parameter specifies whether the logical page orientation should
be portrait (
TRUE
) or landscape (FALSE
).
For the full list of available functions, refer to the Genero Report Writer C API documentation.