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

Previous | Contents | Index

### 7.3.1.1 Using the PAGE_SIZE Parameter

You can select the page size with the PAGE_SIZE parameter. The following page sizes are supported for PCL files:

- 7_envelope or Monarch
- A4
- A3
- Business_envelope or COM10
- C5_envelope
- DL_envelope
- Executive
- Letter (A)
- Legal
- Ledger (B)

If you specify an unsupported page size, the PCL translator selects a supported size that is closest to the size you specified.

Note Page size commands in the PCL file override the page size you specify in the PRINT parameter. You can create a PostScript setup module to be applied to the translated file that redefines the page size operators so that they are ignored when the file is printed. See Section 7.3.3 for information on creating setup modules.

### 7.3.1.2 Print Parameters Ignored for Native PCL

DCPS ignores the following print parameters when printing PCL files using the native PCL capability of a supported printer:

- INPUT_TRAY
- OUTPUT_TRAY
- PAGE_ORIENTATION
- PAGE_SIZE
- SHEET_SIZE
- SIDES

In these cases the default setting of the printer takes effect. You can manipulate PCL printer tray selection by inserting appropriate PCL escape sequences in the print file or in setup modules.

Alternatively, you can have these parameters affect your job by forcing translation to PostScript on the host. To force translation, use a DCPS feature that forces translation such as PAGE_LIMIT or NUMBER_UP.

## 7.3.2 Using Escape Sequences to Modify PCL Print Jobs

The format of the front panel mode escape sequence is:

Escape Sequence Format

    ESC     !     `     value     P

Decimal Values

    027     033   096             080

Note This format shows spaces between the elements of the command for clarity. Do not include spaces in your actual command.

Specify front panel settings by following these steps:

1. Enable front panel mode by specifying the Front Panel Mode escape sequence with 1 for value.
2. Enter the PCL escape sequence to set the print attribute.
3. Disable front panel mode by specifying the Front Panel Mode escape sequence with 0 for value.

Front panel mode is also disabled by the PCL reset escape sequence (ESC E).

You can include PCL escape sequences for any of the following print attributes:

- Symbol set
- Spacing
- Pitch
- Height
- Style
- Stroke weight
- Typeface (Courier and Lineprinter only)
- Horizontal motion index
- Vertical motion index

PCL escape sequences allow you to specify both a primary and a secondary font. Escape sequences for both types of fonts can be included in the front panel mode escape sequence for selecting a default font.

For example, a PCL escape sequence that sets the pitch to 16.66 characters per inch (cpi) and ISO 17 Spanish symbol set is formatted as follows:

    ESC ! ` 1 P ESC (s16.66H ESC (2S ESC ! ` 0 P

Note This format shows spaces between the elements of the command for clarity. Do not include spaces in your actual command.

This command includes escape sequences that do the following:

- Enable front panel mode
- Set 16.66 cpi (ESC (s16.66H)
- Specify the ISO 17 symbol set (ESC (2S)
- Disable front panel mode

## 7.3.3 Using a Setup Module

To create a setup module, follow these steps:

1. Create a setup module that includes the necessary escape sequences or PostScript operators.
2. Ask your system manager to insert the setup module into a PCL device control library.
3. Print the file, specifying the setup module and the file. For example:

       $ PRINT /QUEUE=PS$A14 /PARAMETERS=DATA_TYPE=PCL /SETUP=module-name file.DAT

For example, the following PostScript setup module redefines the tray select escape sequence (a4tray). The PCL file contains a page size command to select A4 paper. If your printer does not support A4 paper, you must make the printing system ignore the page size command to print the file. You create a PostScript setup module that redefines the PostScript operator to select A4 paper, as follows:

    statusdict begin
    /a4tray {} def
    end

## 7.3.4 How the PCL Translator Differs from that in the LaserJet IID Printer

When producing a file to be printed using the PCL translator, choose the LaserJet IID printer from your application. There are incompatibilities among LaserJet printers; therefore, files created for a LaserJet model other than the LaserJet IID printer may not be printed as expected.

The PCL translator handles PCL files like the LaserJet IID printer, except in the following cases:

- If two files require the same font or macro, the font or macro is not preserved from one file in the print job to the next. Fonts and macros are preserved between setup modules and data files, so fonts and macros can be specified in a setup module. See Section 7.5.
- If the PCL file uses the Lineprinter typeface, the translator uses 8.5-point Courier in its place.
- If a final partial page is not ejected by the PCL stream, the translator ejects it.
- If the file contains a Font Control command that has the copy/assign font option of the Font Control command, the translator generates a userdata message.
- If the file contains commands to activate Display Functions mode, PCL commands and data are discarded. They are not displayed.

Documentation specifying the PCL language is available from Hewlett-Packard. The documentation specific to the LaserJet IID includes:

HP LaserJet IID Printer Technical Reference Manual | HP part number 33447 90905
HP LaserJet IID Printer User's Manual | HP part number 33447 90901

PCL files can be automatically recognized by the DECprint Supervisor software. Files that begin with the PCL reset escape sequence (ESC E) or have a file extension identified as a PCL data type are automatically recognized as PCL files.

# 7.4 Changing the Input Tray

A PCL file may contain instructions to select the printer input tray on a Hewlett-Packard LaserJet IID printer. When you print this file on a different type of printer, the print job will fail if the specified input tray is not available. You can modify the print job to redefine the input tray selection command, using a PostScript setup module. You can create a PostScript setup module to redefine the appropriate PostScript operators, changing the selected input tray. The following example shows a PostScript setup module to select PostScript tray 3 for the upper input tray, and PostScript tray 1 for the bottom input tray.

    /settoptray {statusdict begin 3 setpapertray end} def
    /setbottomtray {statusdict begin 1 setpapertray end} def

Input tray values are specific to the printer. Refer to the PostScript documentation for your printer to determine the numbers for the available trays.

The input tray selection commands, and the PostScript operators to which the PCL translator converts them, are listed in Table 7-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 7-2 PCL-to-PostScript Input Tray Command Mapping
PCL Commands | PostScript Extension Operator | Default setpapertray Value
--- | --- | ---
Upper tray | settoptray | 1
Manual input | setmanualfeedtray | 0
Manual envelope input | setmanualfeedtray | 0
Lower tray | setbottomtray | 2
Optional large tray | setlcittray | 3
Envelope feeder | setenvelopefeedertray | 3

# 7.5 Including Soft Fonts and Macros in PCL Print Jobs

If your PCL file requires soft fonts to be loaded in the printer, or macros for defining forms or raster graphics, you can download the font or macro using PCL setup modules.

It is not necessary to declare the fonts and macros permanent. You must declare fonts and macros permanent only if the setup module or file contains a reset escape sequence.

The system manager must create a device control library designated for PCL setup modules, and include that library in the search list in DCPS$STARTUP.COM, as described in the DECprint Supervisor for OpenVMS System Manager's Guide.

PCL setup modules from the PCL device control library are handled differently from ANSI and PostScript setup modules. Records from a PCL module are not appended with carriage-control characters (<CR><LF>), because PCL setup modules can include binary data, such as PCL fonts and raster graphics. If the PCL setup module contains lines of text that must be separated by carriage-control characters, you must explicitly specify them in the PCL setup module.

You can include a soft font or macro in a print job by:

- Using a setup module (see Section 7.5.1)
- Including the font or macro file in the print job (see Section 7.5.2)

## 7.5.1 Including Soft Fonts and Macros in PCL Setup Modules

To include a soft font or macro in a setup module, follow these steps:

1. Include the PCL escape sequence to give the font or macro an identifier at the beginning of the file.
2. Make sure the file is in a format acceptable to the OpenVMS Librarian Utility. The record format must be either Variable Length or Fixed Length.
3. Have your system manager insert the file into the PCL device control library using the following command:

       $ LIBRARY /INSERT /TEXT SYS$LIBRARY:pcl-library-name font-filename

To print the PCL file that requires the font or macro, use the following command:

    $ PRINT /QUEUE=queue-name /SETUP=font-filename data-filename.PCL

Your system manager can include the setup module in a form definition, which can be associated with a queue by default. With this setup, you need only specify the data file name and the queue name in your PRINT command.

## 7.5.2 Including Font and Macro Files in PCL Print Jobs

You can print files that require soft fonts or macros by having the application include the font or macro in the data file. Or you can create a file that contains the font or macro and the data file.

# 7.6 PC Driver Settings to Avoid Problems with PJL and TBCP

Two printing protocols may cause problems with DCPS. These are HP PJL (Print Job Language), and HP TBCP (Tagged Binary Communication Protocol). Documents created from a Windows application can have these protocols included in the files. These protocols can be quite useful in some environments, but sometimes cause problems for DCPS or for printers other than the type for which the document was created. A brief description of PJL and TBCP is included below, followed by instructions to prevent problems with DCPS.

## 7.6.1 Description of PJL and TBCP

PJL is a command language that allows job-level printer control. TBCP is a communications protocol for the serial, LAT, and parallel ports of a printer. It allows 8-bit binary data in files concurrent with the use of some control characters for communications and print job control. You cannot print TBCP to printers that do not support TBCP, or to ports other than the serial, LAT or parallel ports for printers. When an application is creating files for printing to printers that support PJL or TBCP, the files can include PJL and TBCP.

## 7.6.2 Steps to Prevent Problems with DECprint Supervisor

When printing files that include PJL, DCPS strips any PJL code from the file. This process allows DCPS to use PJL to switch print protocols in the printer, and enables the printing of these files on printers that do not support PJL.

If the interconnect to the printer is not serial or LAT, the file must not use the TBCP. DCPS does not remove TBCP characters.

### 7.6.2.1 Preventing problems with PostScript

When an application is generating PostScript output, use the following guidelines:

Whether printing to a printer or saving to a file, it is best to avoid both TBCP and PJL.

If the interconnect is serial or LAT then TBCP may be used. If the interconnect is raw TCP/IP or AppleTalk, then TBCP must be disabled. Because detailed information about the printer and queue may not be available to a Windows user, Compaq recommends that TBCP be disabled.

Disable the "Tagged Binary" item from the Advanced Options Menu of printer drivers that offer this option. This disables TBCP, and the TBCP introducer is not included in the file. Note that disabling the Performance item "Binary" in the PostScript Option menu is not sufficient. The file will not include binary data, but will include the TBCP introducer, which will cause PostScript errors.

### 7.6.2.2 Problems with PCL

DCPS removes all PJL commands from PCL files, which may result in problems when printing these files. Because drivers for PCL Level 5 printers use PJL to select advanced printing features such as the configuration of the Resolution Enhancement hardware (RET), page protection, and print resolution, the print job may not print as expected without the PJL commands.

Moreover, the PCL is sent to the printer only if DCPS supports printing PCL directly to the printer. Otherwise, the PCL (Level 4) translator is used.

If problems arise with PCL output, an alternative would be to generate PostScript output if the application allows for it.

# 7.7 Interaction Between Native PCL Printing and Automatic DATA_TYPE Detection

Jobs that use DATA_TYPE=AUTOMATIC=PCL may print with unexpected results. In particular, files printed as PCL which contain commands to switch to PostScript may be printed entirely as PCL. This result occurs if all of the following cases are true:

- DCPS does not detect the data type of the file by looking at the first few bytes of the file or by matching the file extension to a data type.
- The target printer can print PCL files as well as PostScript files.
- DCPS supports use of the PCL language interpreter in the printer.
- There are no other print qualifiers that require the file to be printed using the PCL translator (for example, NUMBER_UP or PAGE_LIMIT).

Under these circumstances, DCPS uses the PCL language interpreter in the printer, and does not look for a switch to PostScript. Also, the automatic language sensing feature of the printer is not used to detect the file's switch from the PCL language to the PostScript language because DCPS specifies the file's data type as PCL, which disables any auto language sensing by the printer. You can use one of the following workarounds:

1. Set up the print queue to use AUTOMATIC, but select ANSI as the default data type. Generally, the text part of files that include both text and PostScript is simple ACSII text that is handled properly by both the ANSI and PCL translators.
2. Ensure that the PCL translator is used for all PCL files, by setting up the print queue with a qualifier that requires the use of the PCL translator (include the PAGE_LIMIT parameter as a default queue parameter). Note, however, that the PCL translator interprets PCL level 4. The printers for which DCPS supports printing in native PCL mode have PCL level 5 language interpreters.

# 7.8 Native PCL Mode Concatenates Files

If the PCL language interpreter in a printer is used to print PCL files and a job includes multiple PCL files, the PCL files are concatenated. DCPS does not ensure that the files begin on new pages, or even that the last line of the first PCL file does not get printed over by the first line of the next PCL file. Concatenation can occur if:

- The files do not ensure that the page is ejected from the printer. To print PCL files correctly, Hewlett-Packard recommends that the files begin and end with the PCL reset sequence <ESC>E.
- Multiple files are specified and two or more files in sequence are PCL
- /COPIES is used on a PCL file
- /JOB_COUNT is used and two or more PCL files are printed in sequence

If concatenated PCL files are not acceptable, the following workarounds can be used:

- Create and use a PCL setup module to include the PCL reset sequence in the data stream before a file prints.
- Print using the PCL translator by specifying a parameter that forces DCPS to use the PCL translator (e.g, NUMBER_UP, or PAGE_LIMIT)
- Print the job and specify a file separation page between all files (PRINT/FLAG).

Previous | Next | Contents | Index