12.8 Generating PostScript Output

Table 12-10 shows the cross-platform deployment scenario where the destination format is PostScript.

Table 12-10 Cross Platform Deployment - Scenario 3

Development Platform Deployment Platform Destination Format

Windows

UNIX

PostScript


This section discusses designing and deploying a report for PostScript output in the following subsections:

12.8.1 Designing Your Report

To prepare your report before you deploy it on a UNIX platform:

  1. Create a new report.

  2. Use only those fonts in your report that:

    • Are available on UNIX. All font files that are available on Windows (TTF files) may not be available on UNIX (AFM or TFM files). If you have the correct AFM or TFM font file available on the UNIX platform, you can continue to use it (AFM for PostScript and TFM for PCL).

      Note:

      AFM support is extended only to single-byte PostScript file generation, with the exception of Japanese encoding.

      The encoding schemes supported for the AFM files are:

      • AdobeStandardEncoding

      • ExtJIS12-88-CFEncoding

      • FontSpecific

      • HRoman

      • ISOLatinHebrew

      • JIS12-88-CFEncoding

      • JIS12e-88-CFEncoding

    • Can scale well. For example, MS Sans Serif does not scale well to a different size, whereas Tahoma does. This is because MS Sans Serif is a raster font that does not scale well to any size and usually has rounding issues. On the other hand, Tahoma is a TrueType font that is very similar in visual appearance to MS Sans Serif. Additionally, Tahoma is a vector font that can be scaled to any size and rotated to any angle.

    • Do not include Unicode characters. Oracle Reports does not support Unicode character sets in Post Script output on the UNIX platform. As an alternative, you can use either of the following:

  3. To have the PostScript output look same on the design platform (Windows) and deployment platform (Unix), the paper size should be same on both the platforms. On Windows, if you want to change the default paper size from Letter to any other size (for example, A4), perform the following steps:

    1. Choose Settings > Control Panel > Printers.

    2. Right-click the default printer and select Properties.

    3. Click Printing Preferences in the General tab.

    4. Click Advanced in the Paper/Quality tab.

    5. Select the Paper Size and click OK.

    6. Click OK until the main dialog box displays to set the default paper size.

12.8.2 Deploying Your Report

For fonts with AFM files not readily available on UNIX, or if you encounter any font issues in the report output such as text misalignment, you can convert and generate an AFM file from the Windows TTF file using freely available third party utilities, such as ttf2pt1. Do not attempt to convert to a TFM file, as this may not produce reliable results.

To deploy your report on a UNIX platform:

  1. Locate the TTF files corresponding to the fonts used in your report. Convert these TTF files to AFM to ensure that you will have the AFM files for the fonts used in your report.

    Use a True Type to Type 1 font converter utility to convert the TTF files to AFM files. For example, ttf2pt1.

  2. Post-conversion, remove the .afm extension in the AFM file name. For example:

    Table 12-11 Post Conversion Font File Names

    Before Converting After Converting After Renaming

    arial.ttf

    arial.afm

    Arial


  3. Copy the AFM file to the $ORACLE_HOME/guicommon/tk/admin/AFM directory.

  4. Ensure that the TK_PRINTER environment variable or the PRINTER environment variable is set to the default printer name. For example, printer1.

  5. Ensure that uiprint.txt has the entry for the appropriate PPD file in the format, printer name: PostScript:2:test:ppd file. In this example:

    printer1:PostScript:2:test:hpljet42.ppd
    
  6. Edit the file hpljet42.ppd using any text editor. Specifically, edit the DefaultPageSize, DefaultPageRegion, and DefaultPaperDimension to change the default paper from Letter to A4, in the following way:

    …..
    *DefaultPageSize: A4
    …..
    *DefaultPageRegion: A4
    …..
    *DefaultPaperDimension: A4
    ….
    

    Note:

    Copy the PPD file from ORACLE_HOME/guicommon/tk/admin /PPD to the following location:

    $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD

  7. Ensure that the PPD file used contains an entry for each AFM file that you use in your report.

    Navigate to the Font Information section and add the necessary entries for the new AFM files in the following order:

    *FONTNAME:ENCODING:VERSION:LOCATION
    

    For example:

    *Font Arial: Standard "(Version 2.76)" Standard ROM
    
  8. Run the report to printer and verify that it is printed to A4 Paper.

    http://mywebserver.com:reports/rwservlet?server=myserver+report="c:\test.rdf"+a
    uthid=hr/hr@mydb+desformat=postscript+destype=cache
    

12.8.3 Frequently Asked Questions

This section contains frequently asked questions (FAQs) pertaining to deploying a report to PostScript output.

Question

Does Oracle Reports support Unicode PostScript file generation?

Answer

Currently, Oracle Reports supports Unicode character sets in PostScript output only on the Windows platform. On UNIX platforms, you can use either of the following:

Question

Does Oracle Reports embed the font in the PostScript output file?

Answer

Oracle Reports does not embed the font in the PostScript output file. It writes the font name and the metrics that were calculated using AFM files. Therefore, for the report to appear without any font alignment issues, ensure that the necessary fonts are installed on the printer.

Question

The page count of my report varies when run on different installations of UNIX. How can I ensure that the page count of my report is the same regardless of the installation?

Answer

In UNIX, Oracle Reports uses the PPD/HPD file of the default printer in the installation for formatting. The resolution and list of fonts will be picked up from this PPD/HPD files. Beginning with Oracle Reports 10g Release 1 (9.0.4), if there is no default printer setup in the installation, then screenprinter.ppd will be used. This PPD file emulates the screen. Earlier versions of Oracle Reports used the DISPLAY environment variable instead. Ensure that the two installations use the same AFM/TFM files and font files, so that the number of pages of PDF output will be the same.