10.8 Removing DISPLAY and Printer Dependencies on UNIX

Prior to Oracle Reports 10g Release 1 (9.0.4) on UNIX, you had to set the DISPLAY environment variable in order for Reports Server to use the windowing system display surface for creating images and getting pixel resolution. This dependency is removed with Oracle Reports 10g.

Additionally, earlier releases required a valid printer on UNIX for fonts. When no valid printer was available, Oracle Reports Services used the screen fonts, which again required setting the DISPLAY environment variable. Now, Oracle Reports Services includes a default screen printer surface, ScreenPrinter, that emulates a screen or printer for fonts in the absence of an available printer. As a result, Oracle Reports Services no longer requires a printer on UNIX.

By default, the environment variable REPORTS_DEFAULT_DISPLAY is set to YES, which specifies that Oracle Reports Services should:

  • remove the dependency on the DISPLAY environment variable (UNIX only)

  • use ScreenPrinter for surface resolution for images and font information (UNIX only)

  • enable the Advanced Imaging Support (all platforms)

If you wish to revert to the dependency on the DISPLAY environment variable as in releases prior to 10g Release 1 (9.0.4), you can set REPORTS_DEFAULT_DISPLAY=NO.

10.8.1 ScreenPrinter

The PostScript printer driver screenprinter.ppd provides surface resolution for images and specifies font information. This driver is the first entry in uiscreenprint.txt. The file locations (UNIX only) are:

uiscreenprint.txt : ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin
screenprinter.ppd : ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD

Note:

Beginning in Oracle Reports 11g Release 1 (11.1.1), configuration of screenprinter.ppd should be done only through Oracle Enterprise Manager. Refer to Chapter 7, "Administering Oracle Reports Services Using Oracle Enterprise Manager", Section 7.9.1, "Configuring Fonts"for information about updating configuration settings through Oracle Enterprise Manager.

ScreenPrinter is used for:

  • Surface resolution when REPORTS_DEFAULT_DISPLAY=YES.

  • Removal of the printer dependency.

If, when generating report output, there is no valid printer queue available (not found from TK_PRINTER,ORACLE_PRINTER,PRINTER, or uiprint.txt), the surface based on screenprinter.ppd will be created and used to get font information. You can modify the Fonts section of screenprinter.ppd to include new fonts, and modify the DefaultResolution field to change the resolution (DefaultResolution is 96).

Note:

If you do add new fonts, ensure that the new AFM metrics files are placed in the AFM directory.

The font look up algorithm on UNIX is:

if a valid printer available then
  look up font information from the printer
else
 create a screenPrinter surface
 look up font information from ScreenPrinter
 if ScreenPrinter creation fails then 
    REP-1800 : Formatter Error if REPORTS_DEFAULT_DISPLAY is set
  else
    use Screen Fonts 

Note:

In certain multibyte languages like Chinese, you may want to use screen fonts. However, this would necessitate setting the DISPLAY variable for running the report.

To revert to DISPLAY and use screen fonts (old font look up algorithm):

  • Set REPORTS_DEFAULT_DISPLAY=NO

  • Remove the screenprinter.ppd entry in the uiscreenprint.txt file.

10.8.2 Advanced Imaging Support

The quality of images contributes considerably to the overall appearance of a report, particularly for a Web report. You may prefer different image formats in your report output depending on the needs of your project. For example, an aeronautical firm might prefer the higher quality of JPEG or PNG images in their Web reports instead of GIF images. On the other hand, if you are building a Web portal, you might prefer GIF images because of their smaller size and faster download. Similarly, you may wish to import images of these various formats into your report.

Depending on the format of your output, you may choose from a variety of formats for your images.

Table 10-6 Image Format Options by Output Type

Report Output Available Image Format Choices

HTML, HTMLCSS

PNG, JPEG, JPG, GIF

PDF

PNG, JPEG, JPG, GIF

RTF

PNG, JPEG, JPG, BMP


Note:

As you choose your image format, you should take into account the quality and size considerations. Typically, the higher the quality of the image format, the greater the size. For example, PNG and JPEG are higher quality than GIF, but they may also require more storage space.

To enable advanced imaging, you must set the REPORTS_DEFAULT_DISPLAY environment variable to YES. The REPORTS_OUTPUTIMAGEFORMAT environment variable lets you choose the default image type. Users can override the default choice for images with the OUTPUTIMAGEFORMAT command line keyword. For example:

rwclient server=my_rep_server report=images.rdf destype=file desformat=html
desname=images.html userid=scott/tiger outputimageformat=PNG

Enabling advanced imaging also enables you to import images of these same formats into your report.

Usage Notes

  • UNIX only: Enabling advanced imaging means that you can no longer use the old Computer Graphics Metafile (CGM) and Oracle Graphics Data (OGD) formats in HTML or HTMLCSS output. If you require these formats for input sources, you should set REPORTS_DEFAULT_DISPLAY=NO. This limitation does not apply on the Windows platform.

  • Running a report with JPEG images (REPORTS_OUTPUTIMAGEFORMAT=JPEG) to RTF output causes an increase in the RTF file size that is not directly proportionate to the image size. This occurs because the binary image stream is first converted to HEX characters and then written to RTF. This conversion increases the file size. This is consistent with the RTF specification and is expected behavior. However, an RTF file with JPEG images is of a smaller size when compared to an RTF file with BMP images.