In this section: |
PDF (Adobe Acrobat Portable Document Format) is most often used to distribute and share electronic documents through the web. It is especially useful if you want a report to maintain its presentation and layout regardless of a browser or printer type. For details, see Using PDF Display Format.
PS (PostScript format), a print-oriented page description language, is most often used to send a report directly to a printer. While used less frequently as an online display format, you can display PS report output on your monitor before printing it. For details, see Using PostScript (PS) Display Format.
With the exception of drill-downs, all of the report formatting features that are supported for PDF are also supported for PostScript output.
You can specify that a report display as a PDF or PS document when you run the report. You can use either:
You can combine multiple styled reports into a single PDF or PS file. For details, see Laying Out the Report Page.
PDF and PS reports, including compound reports, can be distributed using ReportCaster. See the ReportCaster documentation for details.
How to: |
You can display a report as a PDF document. PDF (Adobe Acrobat Portable Document Format) supports most StyleSheet attributes, allowing for full report formatting. The wide range of StyleSheet features supported for PDF are described throughout this documentation.
PDF prints and displays a document consistently, regardless of the application software, hardware, and operating system used to create or display the document.
The report opens in Adobe Acrobat or Acrobat Reader within a Web browser. To display a PDF report, a computer must have Adobe Acrobat Reader installed. For free downloads of Acrobat Reader, go to http://www.adobe.com.
Limit: Adobe Acrobat PDF format limits the number of pages, hyperlinks, and images in a document. For information about what limits this creates for a WebFOCUS report in PDF format, see Saving and Reusing Your Report Output.
Other print-oriented display formats. You can also display a report as a PostScript document. For more information, see Using PostScript (PS) Display Format.
File compression can be used to minimize the physical size of the PDF output file. Using this PDF-specific feature, you can generate smaller PDF files, making them easier to store and distribute, while having no visible effect on the formatting or content of the reports they contain.
SET FILECOMPRESS = {ON|OFF}
where:
This command applies to PDF output only. It is ignored by all other output formats, such as HTML and Excel.
How to: |
You can display a report as a PostScript document. PostScript (format PS) is a print-oriented page description language. As a display format, it may be helpful if you wish to see report output on your monitor before printing it using PostScript.
To display a PostScript report, a computer must have a third-party PostScript application installed, such as GSview (a graphical interface for Ghostscript).
If you are sending a PS report to a printer from WebFOCUS or from ReportCaster , you can select the size of the paper on which to print the output. The PostScript code that is generated works on PS printers that support Language Level 2 or above. It is ignored, without harmful effects, on Level 1 printers. For details, see How to Select Paper Size in a PostScript (PS) Report. This capability is only supported for the PostScript format.
Other print-oriented display formats. You can also display a report as a PDF document. For more information, see Using PDF Display Format.
PAGESIZE and ORIENTATION are two WebFOCUS StyleSheet options that are used to display a report. You can enable these features in printed documents using the SET parameter PSPAGESETUP. You can then select the size of the paper on which to print a PostScript report by selecting a PAGESIZE option.
Complete these steps:
SET PSPAGESETUP= ON
or
ON TABLE SET PSPAGESETUP ON
OFF is the default setting.
SET PAGESIZE= option
or
ON TABLE SET PAGESIZE option
or
PAGESIZE=option, $
where:
Note: If you send a job to a printer that does not have the requested paper size loaded, the printer may stop and instruct its operator to load the specified paper. To ensure control over your printing, it is best to set paper size in individual requests (rather than as an installation-wide default) so that you can load paper as required.
This example automatically prints a document on legal paper as specified in the two SET commands that precede the report request. The referenced printer is a PostScript Level 2 or higher printer, which will automatically select legal paper and print the document in landscape mode.
SET PSPAGESETUP=ON
SET PAGESIZE=LEGALSET ORIENTATION=LANDSCAPE
SET PAGE-NUM=OFF
TABLE FILE CENTORD
HEADING
"Sales Report"
" "
SUM LINEPRICE
BY PRODCAT
ON TABLE SET STYLE *
TYPE=HEADING, SIZE=18, $
ENDSTYLE
ON TABLE HOLD FORMAT PS
END
-RUN
DOS COPY HOLD.PS \\IBIPRINTA\28C2
This request automatically prints a document on legal paper based on the paper size and orientation specifications in the StyleSheet declaration. The referenced printer is a PostScript Level 2 or higher printer, which will automatically select legal paper and print the document in landscape mode.
SET PSPAGESETUP=ON TABLE FILE CAR SUM RC DC SALES BY COUNTRY BY CAR BY MODEL ON TABLE HOLD FORMAT PS ON TABLE SET STYLE * UNITS=IN, PAGESIZE='Legal', LEFTMARGIN=1.000000, RIGHTMARGIN=0.500000, TOPMARGIN=1.500000, BOTTOMMARGIN=0.500000, SQUEEZE=ON, ORIENTATION=LANDSCAPE,$ GRAPHTYPE=DATA, COLUMN=RC, GRAPHPATTERN=EMPTY, $ GRAPHTYPE=DATA, COLUMN=DC, GRAPHPATTERN=SLANT, $ GRAPHTYPE=DATA, COLUMN=SALES, GRAPHPATTERN=HORIZONTAL, $ ENDSTYLE END -RUN DOS COPY HOLD.PS \\IBIPRINTA\28C2
In this section:
Reference: |
You can add and configure PostScript Type 1 fonts to significantly expand your options for displaying and printing PS and PDF reports, beyond those provided by the basic set of fonts distributed with Adobe Reader. Thousands of PostScript fonts are available to make your reports more stylish and useful, including some that support symbols and bar codes.
The font map files for Type 1 fonts are stored as XML files (fontmap.xml and fontuser.xml). All font mappings in these files are used for both PDF and PostScript report output.
You can also add and configure a set of TrueType fonts to be embedded in PDF output files on Windows.
To use the Symbol font, specify font=symbol in your WebFOCUS StyleSheet:
WebFOCUS generates a PDF or PS document from scratch. In order to do that, it must physically embed all the objects it displays or prints, including images and fonts, in the document itself.
When you execute a report and specify one of these formats as your display format, the WebFOCUS Reporting Server retrieves the data and begins to format the report. Fonts and images specified in the StyleSheet must be available to the Reporting Server to create the output file. It reads the font information from the font files and embeds that information into the document. The font itself is stored on the Reporting Server.
To ensure that the Reporting Server can locate the required information, you must define and map it in the following files:
Note: A Printer Font Metrics (PFM) file is also available. This file is used by applications such as Adobe Reader for laying out text, however it is not supported by WebFOCUS . You must use the AFM file.
TYPE=REPORT, FONT=HELVETICA, STYLE=ITALIC, $
There are two files WebFOCUS uses for mapping fonts, both in an XML-based format:
The user font map is searched before the default font map, so font definitions in the user map will override definitions of the same font in the default map.
You can also use a variety of utilities to convert Windows True Type fonts (such as Arial and Tahoma) into Type 1 fonts. Verify that you are licensed for this type of font use. Then, after you convert them, you can define and map these fonts for use by WebFOCUS .
One such utility is TTF2PT1.
For information about the Windows version, go to:
http://gnuwin32.sourceforge.net/packages/ttf2pt1.htm
For information about UNIX versions, go to: http://ttf2pt1.sourceforge.net/download.html
This section describes how to add PostScript type 1 fonts to the fontuser.xml file.
Locate the necessary font files (AFM and PFB or PFA). These files should be available in the location where the fonts were originally installed. You will be copying these files to a location from which they can be accessed by the WebFOCUS Reporting Server.
Tip:
After you have located the font files you wish to add, you can set up WebFOCUS to use one or more Type 1 fonts.
drive:\ibi\srv80\wfs\etc
where:
Is your WebFOCUS configuration directory (it may have a different name depending on installation options, but should always be a directory directly under drive:\ibi\srv80). Note that home is the other directory directly under drive:\ibi\srv80.
Under Unix, the location is /ibi/srv80/wfs/etc, assuming that the WebFOCUS server was installed in /ibi/srv80.
Keeping user font files in this directory allows user font files to remain separate from the default font files (under \ibi\srv80\home) so they can be easily preserved if WebFOCUS is updated to a new release.
After you copy these files, you can rename them to any descriptive name.
After you have located the font files you wish to add, you can configure WebFOCUS to use one or more Type 1 fonts.
Note: If the Windows font file names contain underscore characters or are longer than eight characters, you must rename them, since these are not valid for z/OS member names.
This PDS should be created with the following DCB attributes:
RECFM: VB LRECL: 1028 BLKSIZE: 27998
The member name in this PDS should match the fontfile name in the font map file.
If you copy the PFB font file into the PDS using FTP, you must use BINARY mode. The member name of the PFB file in this PDS will match the fontfile value in the font map file.
RECFM: VB LRECL: 2044 BLKSIZE: 27998
The member name in this PDS should match the fontfile value in the font map file. Note that you can use PFB and PFA files simultaneously. The fonttype attribute in the font map file (PFB or PFA) tells WebFOCUS which PDS to search for the specified member name.
The Type 1 PostScript fonts used with the PostScript and PDF output formats use separate font files for each variant of the font: normal, bold, italic, and bold-italic. This grouping of related fonts is called a font family. The example will use the family name Garamond.
The XML font map syntax uses two XML tags, <family> and <font>, to represent this structure. For example:
<family name="garamond"> <font style="normal" metricsfile="gdrg" fontfile="gdrg" fonttype="PFB" /> <font style="bold" metricsfile="gdb" fontfile="gdb" fonttype="PFB" /> <font style="italic" metricsfile="gdi" fontfile="gdi" fonttype="PFB" /> <font style="bold+italic" metricsfile="gdbi" fontfile="gdbi" fonttype="PFB" /> </family>
The basics of the XML syntax are:
<!-- This is a comment -->
A more complete description of XML syntax can be found here:
http://en.wikipedia.org/wiki/Xml
The family element
The family element specifies the name of a font family. This family name, specified in the name attribute of the family element, is the name by which the font will be referenced in a StyleSheet. It corresponds to the value of the FONT attribute in the StyleSheet. The end-tag </family> closes the family element, and any number of additional family elements may follow.
Font family names should be composed of letters (A-Z, a-z), digits, and limited special characters, such as a minus sign (-), underscore (_), and blank. Font family names should have a maximum length of 40 characters. Since the font name is only a reference to a mapping in the font map, it does not need to be related to the actual name of the font (which WebFOCUS obtains from the mapped AFM file) or the file name of the font.
Font elements
Nested within each family element are one or more font elements that specify the font files for each font in the family. For example, there may be one font element for the font Garamond Regular (normal), one for Garamond Italic (italic). Since a font element has no child elements, it is closed with "/>".
The actual name of the font as used in the PDF or PostScript document is taken from the font metric file.
Fonts defined in the user font file (fontuser.xml) can override default font definitions in fontmap.xml. Thus, you should be careful to choose family names that do not conflict with existing definitions, unless you actually wish to override these definitions (which should generally not be done).
Each font element contains the following attributes:
<font style="bold+italic" metricsfile="gdbi" fontfile="gdbi" fonttype="PFB" />
could be referenced in the StyleSheet like this:
TYPE=REPORT, FONT=GARAMOND, STYLE=BOLD+ITALIC, $
Although most fonts have a font file for each of the four styles, some specialized fonts such as bar code fonts might only have a single style (usually "normal"). Only the styles that exist for a particular font need to be specified in the font map file.
The actual names of the fonts may vary. Some fonts may be called "oblique" rather than "italic", or "heavy" rather than "bold". However, the font map and StyleSheet always use the keywords "normal", "bold", "italic" and "bold+italic".
File names should be composed of letters and numbers, and should not contain blanks. On Windows and UNIX systems, the file names may also contain underscore characters. On UNIX systems, the file names should not contain uppercase letters. Since the files must be located in specific directories, no directory paths or drive letters are allowed.
Additional items of XML syntax include the XML header on the first line of the file and the <fontmap> and <when> elements that enclose all of the family elements. The <when> tag allows the same font mappings to be used for both PDF and PostScript reports across output formats. These can include PDF, PS, and DHTML. PPT format will use fonts specified for DHTML. If no <when> is specified, the font will be available for all formats.
The following is a complete example of a user font map:
<?xml version="1.0" encoding="UTF-8" ?> <!-- Example of a user font map file with two font families. --> <fontmap version="1"> <when format="PDF PS"> <family name="garamond"> <font style="normal" metricsfile="gdrg" fontfile="gdrg" fonttype="PFB" /> <font style="bold" metricsfile="gdb" fontfile="gdb" fonttype="PFB" /> <font style="italic" metricsfile="gdi" fontfile="gdi" fonttype="PFB" /> <font style="bold+italic" metricsfile="gdbi" fontfile="gdbi" fonttype="PFB" /> </family> <!-- This font only has a "normal" style, others omitted. --> <family name="ocra"> <font style="normal" metricsfile="ocra" fontfile="ocra" fonttype="PFB" /> </family> </when> </fontmap>
Once the font map files have been set up, the newly mapped fonts can be used in a WebFOCUS StyleSheet. For example, to use the Garamond fonts:
ON TABLE SET STYLE * type=report, font=garamond, size=12, $ type=title, font=garamond, style=bold, color=blue, $ ENDSTYLE
Since the style attribute has been omitted for the report font in the StyleSheet, it defaults to normal. Attributes such as size and color can also be applied.
There is a byte order mark (BOM) at the beginning of the user font map file (fontuser.xml), which must be preserved for this file to be read correctly.
If you are using a Unicode-aware editor such as Notepad on Windows to edit the file, the BOM will not be visible, but you can preserve it by making sure that you select an encoding of "UTF-8" in the Save-As dialog. In most other editors, such as vi on UNIX or the ISPF editor under z/OS, the BOM will display as three or four strange-looking characters at the beginning of the file. As long as you do not delete or modify these characters, the BOM will be preserved.
Since the user font map is searched before the WebFOCUS default font map, font definitions in the user font map file will override mappings of the same font in the default font map file. Since you usually would not want to override existing font mappings, you can check which font names are already used by WebFOCUS by examining the default font map file.
On Windows platforms, it can be found in
drive:\ibi\srv80\home\nls\fontmap.xml
On UNIX, it can be found in a similarly named directory.
On z/OS with PDS deployment, it is in the FONTMAP member of the prefix.P.HOME.ERR partitioned data set. Unlike the user font map file, this file has separate sections containing definitions for PS, PDF, and DHTML formats. (The DHTML mappings are used for the DHTML and PowerPoint output formats, which do not support user-added fonts.)
Since the font mappings in the default font map file are for fonts that are already assumed to exist on the user machines (for example, built-in Adobe Reader fonts, standard PostScript printer fonts, or standard Windows fonts), they do not reference font files, only font metrics files. Fonts provided by the user should reference both font files and metrics files.
AFM files for the default fonts can be found in drive:\ibi\srv80\home\etc (or members of prefix.P.HOME.ERR with z/OS under PDS deployment).
You can have WebFOCUS embed the following TrueType fonts into PDF output files generated in Windows:
drive:\ibi\srv80\wfs\etc
where:
Is the drive on which the Reporting Server is installed.
Is your WebFOCUS configuration directory (it may have a different name depending on installation options, but should always be a directory directly under drive:\ibi\srv80). Note that home is the other directory directly under drive:\ibi\srv80.
For each of the supported fonts, you will need to copy the following font files. You will also need to know the metricsfile name associated with each font file:
Courier New
Style | Metrics File Name | Font File Name |
---|---|---|
Normal | pdconu | cour.ttf |
Bold | pdconub | courbd.ttf |
Italic | pdconui | couri.ttf |
Bold Italic | pdconubi | courbi.ttf |
Trebuchet MS
Style | Metrics File Name | Font File Name |
---|---|---|
Normal | pdtrbu | trebuc.ttf |
Bold | pdtrbub | trebucbd.ttf |
Italic | pdtrbui | trebucit.ttf |
Bold Italic | pdtrbubi | trebucbi.ttf |
Times New Roman
Style | Metrics File Name | Font File Name |
---|---|---|
Normal | pdtimu | times.ttf |
Bold | pdtimub | timesbd.ttf |
Italic | pdtimui | timesi.ttf |
Bold Italic | pdtimubi | timesbi.ttf |
Tahoma
Style | Metrics File Name | Font File Name |
---|---|---|
Normal | pdtaho | tahoma.ttf |
Bold | pdtahob | tahomabd.ttf |
Lucida Sans Unicode
Style | Metrics File Name | Font File Name |
---|---|---|
Normal | pdlusu | l_10646.ttf |
You can drag or copy and paste the font files from the fonts directory to the Reporting Server configuration directory. You can also open a command window and issue the copy command.
For example, if your Reporting Server is installed on drive C, to copy the normal style Courier New font file, issue the following command:
copy c:\Windows\fonts\cour.ttf c:\ibi\srv80\wfs\etc
The fontuser.xml file has a sample family tag. Copy the sample family tag between <when format="PDF PS"> and </when>, then edit it for the font you are adding.
The following shows a user font map file with the Courier New font added:
<?xml version="1.0" encoding="UTF-8" ?> <!-- Example of a user font map file with two font families. --> <fontmap version="1"> <when format="PDF PS"> <family name="Courier New"> <font style="normal" metricsfile="pdconu" fontfile="cour" fonttype="TTF" /> <font style="bold" metricsfile="pdconub" fontfile="courbd" fonttype="TTF" /> <font style="italic" metricsfile="pdconui" fontfile="couri" fonttype="TTF" /> <font style="bold+italic" metricsfile="pdconubi" fontfile="courbi" fonttype="TTF" /> </family> </when> </fontmap>
Note that the font file name does not include the extension. The extension, TTF, is entered as the fonttype attribute.
The font files trebuc.ttf, trebudbd.ttf, trebucit.ttf, trebucbi.ttf, tahoma.ttf, and tahomabd.ttf have been copied to the Reporting Server configuration directory, drive:\ibi\srv80\wfs\etc. In addition, the Trebuchet MS and Tahoma fonts have been added to the fontuser.xml file:
<fontmap version="1"> <when format="PDF PS"> <!-- family/font tags should be added here --> <family name="Trebuchet MS"> <font style="normal" metricsfile="pdtrbu" fontfile="trebuc" fonttype="TTF" /> <font style="bold" metricsfile="pdtrbub" fontfile="trebucbd" fonttype="TTF" /> <font style="italic" metricsfile="pdtrbui" fontfile="trebucit" fonttype="TTF" /> <font style="bold+italic" metricsfile="pdtrbubi" fontfile="trebucbi" fonttype="TTF" /> </family> <family name="Tahoma"> <font style="normal" metricsfile="pdtaho" fontfile="tahoma" fonttype="TTF" /> <font style="bold" metricsfile="pdtahob" fontfile="tahomabd" fonttype="TTF" /> </family> </when> </fontmap>
The following request against the GGSALES data source specifies the Trebuchet MS font for the column headings and the bold style of Tahoma for the data in the PDF report output:
TABLE FILE GGSALES SUM DOLLARS UNITS BY REGION ON TABLE PCHOLD FORMAT PDF ON TABLE SET PAGE NOPAGE ON TABLE SET STYLE * TYPE = TITLE, FONT='Trebuchet MS',$ TYPE = DATA, FONT='Tahoma', style=bold, size=10, color=blue, $ END
The output is:
How to: Reference: |
PDF files created with HOLD FORMAT PDF present a challenge if you work in a z/OS environment and use UNIX-based systems as the server for Adobe or as an intermediate transfer point.
The end of each PDF file has a table containing the byte offset, including line termination characters, of each PDF object in the file. The offsets indicate that each line is terminated by two characters, a carriage return and a line feed, which is the standard Windows text file format. However, records in a UNIX text file are terminated by one character, a line feed only. When using default settings, the offsets in a PDF file will be incorrect, causing an error when Acrobat attempts to open the file. If the file is then transferred in BINARY mode to Windows, it cannot be opened in Acrobat for Windows, as the carriage-return character was not inserted.
One solution has been to transfer the file to the UNIX system in text mode and then transfer in text mode to the Windows system, as the carriage return is added by the transfer facility when transferring to Windows.
If that is not possible or desirable, you can use the SET PDFLINETERM=SPACE command to facilitate binary transfer to Windows from an ASCII-based UNIX system. This command causes an extra space character to be appended to each record of the PDF output file. This extra space acts as a placeholder for the expected carriage return character and makes the object offsets in the file correct when it is transferred from z/OS to a UNIX system. This enables a UNIX server to open a PDF file in that environment.
Note: A text mode transfer is always required when transferring a text file from a mainframe to any other environment (Windows, ASCII Unix, or EBCDIC Unix).
In a profile, a FOCEXEC, or from the command line, issue the following command:
SET PDFLINETERM={STANDARD|SPACE}
In a TABLE request, issue the following command
ON TABLE SET PDFLINETERM {STANDARD|SPACE}
where:
Creates a PDF file without any extra characters. This file will be a valid PDF file if transferred in text mode to a Windows machine, but not to a UNIX machine. If subsequently transferred from a UNIX machine to a Windows machine in text mode, it will be a valid PDF file on the Windows machine.
Creates a PDF file with an extra space character appended to each record. This file will be a valid PDF file if transferred in text mode to a UNIX machine, but not to a Windows machine. If subsequently transferred from an ASCII UNIX machine to a Windows machine in binary mode, it will be a valid PDF file on the Windows machine.
The following chart will assist you in determining the correct setting to use, based on your environment:
Transferring from z/OS to: |
SET PDFLINETERM= |
---|---|
EBCDIC UNIX (text transfer) |
SPACE |
ASCII UNIX (text transfer) |
SPACE |
ASCII UNIX (text); then to Windows (binary) |
SPACE |
UNIX (text); then to Windows (text) |
STANDARD |
Directly to Windows (text) |
STANDARD |
WebFOCUS |