For paper layout you can define things like margins and headers and footers. For this we have:
TYPE t_rec_printSetup IS RECORD( landscape BOOLEAN ,headerLeft VARCHAR2(500) ,headerCenter VARCHAR2(500) ,headerRight VARCHAR2(500) ,headerMargin NUMBER ,footerLeft VARCHAR2(500) ,footerCenter VARCHAR2(500) ,footerRight VARCHAR2(500) ,footerMargin NUMBER ,pageMarginTop NUMBER ,pageMarginBottom NUMBER ,pageMarginLeft NUMBER ,pageMarginRight NUMBER ,printTitle VARCHAR2(20) ,printArea VARCHAR2(20) ,fitToPage VARCHAR2(1) ,printGrid BOOLEAN ,printRowColHeadings BOOLEAN ,printBlackAndWhite BOOLEAN ,printDraftQuality BOOLEAN );
Margins are set in in cm. Within the file they are written as inch. So when you want to take measures from the source of an existing file then you have to multiply them by 2,54.
Header and footer are each divided into three parts - Left/Center/Right. Accordingly the text is aligned left, centered and right. To format the text there are defined variables and constants, other formattings are not supported at the moment. The length of the texts (including meta tags) is limited to about 800 characters.
Warning: this feature depends on the language settings of the OS. Currently only the German output works correctly.
Display page x from y bottom right
footerRight := 'Page '||xml_spreadsheet.c_mtPage|| '/'||xml_spreadsheet.c_mtPageTotal;
Title centered with bold and standard text, including line break
headerCenter := xml_spreadsheet.c_mtFontBold||'Bold text'||CHR(10)|| xml_spreadsheet.c_mtFontStandard||'with standard second line';