# hp DECprint Supervisor (DCPS) for hp OpenVMS
User's Guide

Previous | Contents | Index

# Chapter 4
Printing PostScript Files

# 4.1 Printing Jobs with Multiple PostScript Files

The PostScript file created by your application modifies the state of the PostScript interpreter in the printer. The DECprint Supervisor software resets the printer state for each new print job, but not for each file in the print job. Therefore, files that are meant to be printed together, such as a data file with an application prologue or a font, will print successfully. But in a print job with a set of unrelated files, the state of the printer after completing printing of a file may adversely affect the printing of subsequent files.

This can cause PostScript errors and unexpected changes in the appearance of the printed documents. If you need to print multiple PostScript files, or multiple copies of a PostScript file, submit them using separate print jobs.

# 4.2 Printing Files that Contain Text and PostScript

DECprint Supervisor software can detect PostScript data after the text at the beginning of the file. This is useful for printing PostScript files sent to you by an electronic messaging system that places text in front of the PostScript file.

For example, if you receive a message in a software utility that creates ANSI text, and that message includes a PostScript file, you can print the file without specifying the data type.

# 4.3 Printing Files Created on Other Operating Systems

When creating PostScript files on systems running other operating systems for eventual printing through DECprint Supervisor for OpenVMS software, you should keep the following points in mind:

1. Use of Printer-Specific Code
   Windows and Macintosh printer drivers often create PostScript code that is specific to a printer and to the set of printer options for which you configured the driver (for example, printer brand and model, trays available, whether the printer can perform duplex printing, how much memory is available in the printer, etc.). If you later attempt to print such a file on a different type of printer or a printer with a different set of options, the file may not print correctly.
   Try to create a file that is specific to the printer and printer options that you ultimately intend to use. Alternatively, attempt to select a generic printer, optimized for portability, with few options, to increase your chances of being able to print the file on multiple printer configurations. (Also see Section 4.5.)
2. Use of Feature-Specific PostScript Code
   Windows and Macintosh applications and printer drivers often create PostScript code that is specific to a set of printer features that you select when you create the file (for example, which tray to use, the number of uncollated copies, simplex or duplex, etc.). When your PostScript file contains explicit requests for such features, the corresponding DCPS parameters (for example, INPUT_TRAY, OUTPUT_TRAY, SHEET_COUNT, SIDES, etc.) have no impact on your print job.
   If your application and printer driver allow you to default certain settings (for example, the input tray) to the current printer setting, do so and then specify the desired setting using a DCPS parameter. Otherwise, use your application or driver to specify the feature and omit the corresponding DCPS parameter.
3. Assumptions about Printer-Specific Setup
   The physical setup of a printer can vary from printer to printer, and over time. For example, you might create a PostScript file to print to the top input tray because you know that the top tray on your printer contains yellow paper and you want to print on yellow paper. However, if you then send the file to another printer of the same brand and model, or even the same printer at a later date, the top tray may contain other media.
   For printer features that DCPS does not allow you to specify and that your application and printer driver also do not allow you to specify (for example, media type), verify that the physical setup of the target printer is as you desire before sending your file to it. If not, you may have to recreate the file for the reasons given in items number 1 and 2 above.

# 4.4 Creating Printer-Specific PostScript Documents

Each model of PostScript printer recognizes some unique operators that are not part of the standard PostScript language. The PostScript extensions for each PostScript printer may be described in the printer owner's manual.

Many commercial applications, and printer drivers on PC and Macintosh systems, allow you to specify printer features that depend on printer-specific extensions (see Section 4.3). For example, you can create a PostScript file that requires the use of the top input tray on a particular printer. If you try to print the file on another type of printer, the file may print from a different tray, or may even fail to print.

# 4.5 Creating Portable PostScript Documents

To create documents that are independent of printer type, make sure the application that you use to create the PostScript file has printer setup options that do not conflict with the PRINT parameters that you specify with the DCPS software. Use option settings to ensure that your PostScript document is as portable as possible.

To ensure that your application creates documents that are printable on the widest variety of printers, select "printer's default" for all printer-specific options such as input and output trays. Or, select a generic printer or one without duplex printing or multiple input trays. Then, choose the feature in your application that allows you to print to a file.

# 4.6 Resolving Unrecognized PostScript Operator Errors

If you try to print a file that contains a PostScript extension operator that is not defined in your printer, you get the following error message:

    %DCPS-W-UNDEF, undefined: Name not known - offending command is operator

Operator is the PostScript extension operator that is not recognized by the printer.

You may be able to resolve this problem by doing the following:

1. Re-create the PostScript file from the application. Examine the print setup options and disable any options that are not generic to all PostScript printers (see Section 4.5).
2. If you must print the PostScript file that fails, see Section 4.7 for information about modifying the print job.

# 4.7 Using Example Files to Suppress PostScript Operators

The DCPS software provides example files that show how to suppress many commonly used PostScript extension operators.

## 4.7.1 Suppressing PostScript Operators on Desktop Printers

If you are using a desktop printer, you can create a setup module to suppress the failing PostScript operator. The following example file is distributed with the DCPS software:

    SYS$COMMON:[SYSHLP.EXAMPLES.DCPS]LPS$STATUSDICT.PS

This file is an assortment of PostScript routines. You can edit the file and copy routines that solve problems with specific PostScript operators. The new file that you create can be specified as a setup module and printed with the file that failed.

See the DCPS System Manager's Guide for more information about setup modules.

## 4.7.2 Suppressing PostScript Operators on PrintServer Printers

The PS_SUPPLEMENT file can be loaded into the PrintServer printer so that many unrecognized PostScript extension operators are ignored. If you have PrintServer Software Version 4.2 or later, this file is automatically downloaded to your printer.

# Chapter 5
Printing ANSI Files

When you submit ANSI or ASCII text files for printing on PostScript printers, they are translated to PostScript. The DECprint Supervisor software recognizes the full range of ANSI escape sequences for all levels of the ANSI printing protocol. Refer to the Digital ANSI-Compliant Printing Protocol Level 3 Programming Reference Manual for more information about the DIGITAL ANSI-compliant printing protocol and the functions of the ANSI translator.

# 5.1 Printing Multiple ANSI Files in a Print Job

ANSI files are handled differently from other types of files. When you print more than one ANSI file in a print job, the printer commands in the first file are not passed on to the second file. You must use an ANSI setup module to pass printing attributes, or include the print attributes in each file.

# 5.2 Emulating ANSI Printers

If your site has changed the printing system from ANSI printers to PostScript printers, you can take advantage of the DECprint Supervisor software to print ANSI files that were created for ANSI printers on your new PostScript printers.

The DECprint Supervisor software automatically handles ANSI file printing in a way that emulates printing on ANSI printers. If you need to modify the way that ANSI files are printed, use any of the qualifiers in Table 5-1 to enhance your printed document.

Table 5-1 ANSI Print Qualifiers
To modify this aspect ... | Use this qualifier ... | To get this effect ...
--- | --- | ---
Form feeds, which are usually inserted into the ANSI document at the bottom of each page | /NOFEED | Suppress automatic form feed insertion.
Header lines on each page | /HEADER 1 | Print the file name, page number, and file creation date at the top of each page.
Margin, header, and tab processing | /PASSALL | Preserve the state of the file through printing without imposing margins, headers, or tab emulation on the printed document.
Single-spaced documents | /SPACE 1 | Insert a blank line after each text line, providing double-spaced output.
Expansion of tabs during processing | /PARAMETERS=[NO]TAB 1 | Control how tabs are processed (see Section 5.3).
Fonts available for printing | /PARAMETERS=FONTS_USED | Specify one or more SoftFont modules that include software fonts that emulate font cartridges (see Section 5.4).
Formatting of text by the default form specified for the queue | /FORM | Specify the form definition assumed for the print job.

1When you include this qualifier, the default form for the queue is applied to the print job. See Chapter 12 for more information.

# 5.3 Processing Tabs in ANSI Files

The [NO]TAB parameter allows you to emulate the ways in which the ANSI printer handles tab characters. When you include the TAB parameter in your print job, the action is equivalent to using the SET TERMINAL/TAB command on the ANSI printer.

The [NO]TAB parameter is useful when you are not printing 10 characters per inch, or when ANSI tabs are defined in inches, not by character position. If you change the character size, tab sizes do not change when you specify PARAMETERS=TAB. If you expect tabs to change size when characters change size, specify /PARAMETERS=NOTAB.

When you specify [NO]TAB, the software invokes the default form, DCPS$DEFAULT for your job. Refer to Chapter 12 for more information about the default form definition.

By default, the DECprint Supervisor software processes tab characters so that tab stops are set at every eight character positions (/PARAMETERS=NOTAB).

The system manager can change this operation as a queue default so that you do not have to specify it on the PRINT command line. Different settings of this parameter may be established as queue defaults for different generic queues driving the same printer. In this way, you can access either method of tab expansion when you submit print jobs from application programs that allow you to specify the queue name but not the print parameters.

# 5.4 Emulating Printer Font Cartridges

Your document may require font cartridges in order to print on ANSI printers. If you want to print the document on a PostScript printer, you can use the FONTS_USED parameter to emulate the ANSI printer font cartridges. The files must contain escape sequences that call the fonts.

Note These font modules are not a standard part of the DECprint Supervisor software. Your system manager can obtain SoftFont kits separately and then install them in the font library. (The SoftFont kits have been retired and are no longer available from HP.) To list the font modules that have been installed on your system, use the following command:
    $ LIBRARY /LIST /TEXT SYS$LIBRARY:CPS$ANSI_FONTS
If this file does not exist, no font modules have been installed.

To include one or more font modules in your print job, use the /PARAMETERS=FONTS_USED qualifier in the PRINT command. For example, if you used to print your file on an ANSI printer with the ITC Souvenir cartridge installed, enter the following command to print it on a PostScript printer with the DECprint Supervisor software:

    $ PRINT /PARAMETERS=(FONTS_USED=ITC_SOUV_MCS) file-spec

Note If you include two or more cartridge names, be sure to place quotation marks around them. For example:
    $ PRINT /PARAMETERS="FONTS_USED=(ITC_SOUV_MCS,BARCODE)" file-spec

See Appendix D for a list of the available SoftFont kits.

# 5.5 Using PostScript Operators to Change Trays

With the DCPS software, you can print ANSI documents that were created for printing on media from a specific input tray.

The DCPS software recognizes escape sequences in ANSI files that select the printer input tray. If you print an ANSI file that is set up to select an input tray that does not exist on your printer, the print job fails and you receive the following error message:

    %DCPS-W-RANGECHK, rangecheck: Argument out of bounds -
    offending command is setpapertray.

If this happens, you can create a PostScript setup module to submit with the print job, and redefine the input tray settings. For example, you could create a PostScript setup module using the following PostScript operators:

    /settoptray {statusdict begin 2 setpapertray end} def

    /setbottomtray {statusdict begin 1 setpapertray end} def

This example selects the printer tray 2 for the top tray (settoptray), and tray 1 for the bottom tray (setbottomtray). When you create a PostScript setup module, use the operator listed in Table 5-2 that corresponds to the input tray specified in the ANSI file. Select a value for the setpapertray argument that corresponds to an input tray on your printer. Refer to your printer owner's manual for the input tray numbers supported by your printer.

Submit the setup module with your ANSI document using the PRINT command. For example, to use the setup module TRAYDEF.PS to print the file OVERHEAD.TXT, enter the following command:

    $ PRINT /NOTIFY /SETUP=TRAYDEF OVERHEAD.TXT

The ANSI input tray selection sequences and the PostScript operators associated with each of them are listed in Table 5-2. The translator uses the default setpapertray value if no other value has been defined. A setup module with a different value overrides the default value.

Table 5-2 Operators for Changing Input Trays
ANSI Sequence | User-Defined Operators | Default setpapertray Value
--- | --- | ---
CSI ! v | [none] | [none]
CSI 0 ! v | [none] | [none]
CSI 1 ! v | settoptray | 1
CSI 2 ! v | setbottomtray | 2
CSI 3 ! v | setlcittray | 3
CSI 4 ! v | setmanualfeedtray | 0
CSI 99 ! v | setmanualfeedtray | 0

# 5.6 Using ANSI Sequences to Print Duplex or Simplex

To specify one- or two-sided printing, add ANSI escape sequences to your file. The ANSI duplex sequences are listed in Table 5-3. Replace the sp value in the table with a blank character space in your ANSI file.

Table 5-3 ANSI Sequences for Printing Simplex or Duplex
ANSI Sequence | Duplex Operation
--- | ---
CSI 0 sp x | true simplex normal
CSI 1 sp x | true simplex normal
CSI 2 sp x | true simplex tumbled
CSI 3 sp x | true duplex normal
CSI 4 sp x | true duplex tumbled
CSI 5 sp x | duplex master normal
CSI 6 sp x | duplex master tumbled
CSI 7 sp x | simplex compressed normal
CSI 8 sp x | compressed tumbled

# 5.7 The LIST Data Type and Translator

The LIST data type feature employs a special text-to-PostScript translator (see Chapter 9). It translates 8-bit ASCII (ISO 8859-1) text to a convenient printable form, numbering the lines in the file and printing gray bars behind alternating groups of lines. The LIST translator is not an ANSI translator. It does not translate escape sequences, such as those defined by ANSI PPL3, HP-PCL, or any other printer protocol. You should continue to use the ANSI data type for printing jobs that include and require translation of DEC PPL3 data and control sequences.

# 5.8 Printing the Euro Symbol

The ISO Latin-9 (ISO 8859-15) character set is included with the DCPS ANSI translator. This character set includes the Euro symbol.

One way to print the Euro symbol is to include the following ANSI escape sequences in your ANSI file:

        <ESC>.b        selects ISO Latin-9 character set
        <ESC>n$        prints Euro symbol

Previous | Next | Contents | Index