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

Previous | Contents | Index

# Chapter 6
Printing DDIF Image Files Using the Image Interpreter

DCPS software replaces DEC Image Print-PLUS Client Services, 1 and allows you to print DDIF bitonal image files on the PrintServer 17, turbo PrintServer 20, and PrintServer 32 printers using the Image interpreter.

Note The Image interpreter is not used if PostScript Level 2 is present.

If your print job includes one of the following parameters, the Image interpreter is not used to print the document:

    /PARAMETERS=LAYUP_DEFINITION
    /PARAMETERS=NUMBER_UP

Instead, the file is translated to PostScript for printing to provide the feature specified by the parameter value.

Note #### 1 The DECprint Supervisor product, versions 1.1 and later, is incompatible with all versions of DEC Image Print-PLUS Client Services.

# 6.1 Improvements to Image Printing

Two factors make printing images a relatively slow process in a standard network environment:

1. Because a PrintServer printer in a standard environment handles only PostScript files, the files must be converted to PostScript format at the user's node, and then processed at the PrintServer printer by the PostScript interpreter software.
2. Because PostScript Level 1 image files are large, it is time-consuming to send them across the network to the printer.

The DCPS software provides faster image printing capability because it:

- Enables an image-capable printer to print DDIF bitonal images, eliminating the need for conversion to PostScript Level 1 and processing by the PostScript interpreter.
- Makes use of decompression hardware built into the printer.
- Allows compressed data to be transmitted across the network. The compressed data reaches the printer faster.

# 6.2 Examples of Printing Image Files

The following print command sends the files directly to the printer for printing:

    $ PRINT/QUEUE=queue/NOTIFY file.DDIF

The following print command translates the file to PostScript for printing:

    $ PRINT/QUEUE=queue/NOTIFY/PARAMETERS=NUMBER_UP=1 file.DDIF

# Chapter 7
Printing PCL Files

# 7.1 How PCL Files Are Printed

PCL files are printed in either of two ways:

1. PCL Translator
   DCPS includes a translator for files containing PCL4 data, as supported by the HP LaserJet IID printer. DCPS does not translate the PCL5, PCL6, or HPGL printing languages. If the DECprint Supervisor software does not automatically detect your PCL files, you can explicitly specify the PCL data type using the DATA_TYPE parameter. For example:

       $ PRINT /PARAMETERS=DATA_TYPE=PCL MYFILE.PRN

2. Native PCL Mode
   Some PostScript printers have a PCL mode that can be used by the DCPS software. Your job is automatically printed in PCL mode if the printer supports PCL and you do not specify parameters that require translation of your file to PostScript. This is referred to as "native PCL" mode.
   If your printer provides native PCL5 support, you can send HPGL files to your printer if they are surrounded by the appropriate PCL5 escape sequence.

Figure 7-1 shows how DCPS software processes PCL files.

Figure 7-1 How DCPS Processes PCL Files

# 7.2 Processing Files in Native PCL Mode

To take advantage of native PCL mode without jeopardizing any of its own functions, the DCPS software does the following:

1. Prints the initial information about the print job (including the job and file flag pages) in PostScript mode.
2. Sends a control sequence to the printer that changes the printer to PCL mode.
3. Sends the PCL file directly to the printer and prints it.
4. Switches the printer back to PostScript mode and prints the trailer page, if any.

You can include both PostScript and PCL setup modules with your print job, but the effects may vary from what you would get with a translated print job. Most of the settings in a PostScript setup module do not affect PCL printing. The settings in a PCL setup module affect the printed output as if they were included in the print job file.

Setup modules can be invoked explicitly by using /SETUP, or implicitly by using /FORM or queue defaults.

Most printers supported by DCPS have a native PCL interpreter. Refer to the DCPS Software Product Description (SPD) for a complete list of the printers that are supported in native PCL mode.

## 7.2.1 PRINT Parameters that Prevent Native PCL Usage

If you are printing a PCL file on a printer supported in native PCL mode, your file is sent directly to the printer unless the print job requires special PostScript processing. You cannot print PCL files directly to the printer in native PCL mode if your print job includes one or more of the following PRINT parameters:

> `/PARAMETERS=LAYUP_DEFINITION`
> `/PARAMETERS=NUMBER_UP`
> `/PARAMETERS=SHEET_COUNT` (for values greater than 1)
> `/PARAMETERS=PAGE_LIMIT` (if starting page greater than 1, or ending page specified)

# 7.3 Processing Files with the PCL Translator

You can emulate the front panel settings of the Hewlett-Packard LaserJet printer, using the following methods:

- PRINT command parameters--- See Section 7.3.1
- Escape sequences--- See Section 7.3.2

## 7.3.1 Using Print Parameters to Modify PCL Print Jobs

Table 7-1 shows the PRINT parameters you can use to modify PCL print jobs.

Table 7-1 PRINT Parameters that Emulate PCL Front Panel Settings
LaserJet IID Front Panel Selection | PRINT Parameter | Reference
--- | --- | ---
#copies | /PARAMETERS=SHEET_COUNT | Section 1.5
duplex | /PARAMETERS=SIDES 1 | Section 1.3
orientation | /PARAMETERS=PAGE_ORIENTATION 1 | Section 1.4
tray selection | /PARAMETERS=INPUT_TRAY | Section 3.1
paper size | /PARAMETERS=SHEET_SIZE | Section 10.4
manual feed | /PARAMETERS=INPUT_TRAY | Section 3.1

1Instructions in the data file can override this PRINT parameter.

### 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 System Manager's GuideSystem 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, HP 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.

Previous | Next | Contents | Index