Compaq DECprint Supervisor (DCPS) for OpenVMS
User's Guide


Previous Contents Index

Part II
Advanced Printing Techniques

The following chapters explain advanced techniques you can use to produce custom documents.
This Chapter ... Explains How To ...
Chapter 5 Print PostScript files
Chapter 6 Print ANSI files
Chapter 7 Print DDIF image files
Chapter 8 Print PCL files
Chapter 9 Print Proprinter files
Chapter 10 Print with the LIST data type
Chapter 11 Use advanced page layouts
Chapter 12 Use layup
Chapter 13 Use forms
Chapter 14 Use setup modules
Chapter 15 Specify file separation pages
Chapter 16 Staple output
Chapter 17 Use error handler to debug problems
Chapter 18 Troubleshoot printing errors


Chapter 5
Printing PostScript Files

5.1 Printing Jobs with Multiple PostScript Files

The PostScript file generated 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.

5.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 generates ANSI text, and that message includes a PostScript file, you can print the file without specifying the data type.

5.3 Generating Printer-Specific PostScript Files

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 3.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.

5.4 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 5.5).
  2. If you must print the PostScript file that fails, see Section 5.6 for information about modifying the print job.

5.5 Creating Portable PostScript Documents

To generate 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 DECprint Supervisor for OpenVMS software. Use option settings to ensure that your PostScript document is as portable as possible.

To ensure that your application generates documents that are printable on the widest variety of printers:

  1. Select a type of printer without duplex printing or multiple input trays.
  2. Choose the feature in your application that allows you to print to a file.
  3. When prompted, enter a file name for the PostScript file, including a specific device and directory. This helps you find the file for reprinting after you adjust the Print Setup and the PRINT parameters.

5.5.1 Printing with the Microsoft Windows PSCRPT Driver

To ensure sucessful printing from a Microsoft Windows application with the Microsoft PSCRPT.DRV driver, use the following procedure:

  1. Before printing the PostScript document, enter the following variables into your WIN.INI file for each [printer, port] combination:


    LandscapeOrient=270 
    CtrlD=0 
    

  2. Set the following options in the Advanced Options Print Setup dialog box:

This procedure helps you create PostScript documents that are printable on many printers.

5.5.2 Printing with the Adobe Windows Printer Driver

To avoid wrap problems when printing PostScript output from the Adobe Windows printer driver, follow these steps:

  1. Enter the PS Options menu from the driver Set-up Window.
  2. Change the Protocol Options item to None (AppleTalk).
  3. Disable the Send Binary Data feature.

5.6 Using Example Files to Suppress PostScript Operators

The DECprint Supervisor for OpenVMS software provides example files that show how to suppress many commonly used PostScript extension operators.

5.6.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 DECprint Supervisor for OpenVMS 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 DECprint Supervisor for OpenVMS System Manager's Guide for more information about setup modules.

5.6.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 6
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.

6.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.

6.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 6-1 to enhance your printed document.

Table 6-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 6.3).
Fonts available for printing /PARAMETERS=FONTS_USED Specify one or more SoftFont modules that include software fonts that emulate font cartridges (see Section 6.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 13 for more information.

6.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 13 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.

6.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 from Compaq separately and then install them in the font library. To list the font modules that have been installed on your system, use the following command:


$ LIBRARY/LIST SYS$LIBRARY:CPS$ANSI_FONTS.TLB


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.

6.5 Using PostScript Operators to Change Trays

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

The DECprint Supervisor for OpenVMS 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 6-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 6-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 6-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

6.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 6-3. Replace the sp value in the table with a blank character space in your ANSI file.

Table 6-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

6.7 The LIST Data Type and Translator

The LIST data type feature employs a special text-to-PostScript translator (see Chapter 10). 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.


Previous Next Contents Index