# Compaq TCP/IP Services for OpenVMS
User's Guide

Previous | Contents | Index

# Chapter 6
Printing Files Using LPR/LPD

The Line Printer/Line Printer Daemon (LPR/LPD) supports the DCL commands PRINT, LPQ, and LPRM for remote printing.

The LPR/LPD service allows you access to print queues on remote hosts and allows users on remote hosts to access print queues on your system.

The following table lists network printing services you can perform and the sections that explain how to use them.

Capability | Section
--- | ---
Send print jobs to a printer connected to a remote internet host. | 6.1
Display remote print queue status. | 6.2
Cancel print jobs. | 6.3
Receive on local (OpenVMS system) print queues print jobs initiated from a user on a UNIX system. | 6.4
Obtain online help. | 6.5

To use TCP/IP Services network printer services, you need the following:

- The name of the remote print queue
- Remote Print Server LPD protocol extensions software you need to use the PRINT /PARAMETERS command
- TCP/IP Services installed and LPR/LPD enabled on your OpenVMS system

Table 6-1 summarizes the commands that control printing features. (For complete command descriptions, see Section 6.6.)

Table 6-1 Network Printing Commands Summary
DCL Command | UNIX Command | Function
--- | --- | ---
PRINT | `lpr` | Prints files.
LPQ | `lpq` | Displays the status of a remote print queue.
LPRM | `lprm` | Removes jobs from a remote print queue.

# 6.1 Printing at Remote Print Queues

Your system manager can configure your system with LPR/LPD network services that allow you to use the DCL command PRINT to send print jobs to a print queue on a remote internet host. The remote host can be a UNIX system or another OpenVMS system running LPR/LPD.

You print a local file at a printer on a remote host by specifying the remote queue name defined on your local host (see your system manager for queue names). LPD copies the file to the appropriate remote printer's spool directory. A copy of the file to be printed remains in the spooling queue until the printer is ready to print it.

When you enter the DCL command PRINT to send a print job to a remote print queue, you use the /QUEUE qualifier to specify the queue name, plus any of the following qualifiers:

/AFTER | /BACKUP | /BEFORE
/BY_OWNER | /CONFIRM | /COPIES
/CREATED | /DELETE | /EXCLUDE
/EXPIRED | /FORM | /HEADER
/HOLD | /IDENTIFY | /JOB_COUNT
/MODIFIED | /NAME | /NOTE
/OPERATOR | /PARAMETERS | /PASSALL
/PRIORITY | /QUEUE | /SETUP
/SINCE | /USER | /WIDTH

Two of these qualifiers work differently with TCP/IP Services than they do in an OpenVMS environment without TCP/IP Services. These two qualifiers are:

- /FORM
- /PARAMETERS

The following sections discuss the unique features of these qualifiers when used for remote printing.

Note TCP/IP Services does not support layup definition files for print requests to remote print queues. A layup definition file sets up the layup features: borders, sheet margins, alternating margins, pages per sheet, first page, page order, and page grid.

## 6.1.1 PRINT /FORM Command

The DCL command PRINT /FORM customizes the look of the printed page. This qualifier associates a form other than the default with the print job.

To find out which forms are defined for your system, enter the following command:

    $ SHOW QUEUE /FORM

To find out the currently mounted form or the default form, enter the following command:

    $ SHOW QUEUE queue /FULL

If the form associated with a remote LPD queue specifies a /WIDTH value that is not the standard 132, LPD sends a "W" card in the job's control file with the width specified in the form.

## 6.1.2 PRINT /PARAMETERS Command

TCP/IP Services supports numerous options for the DCL command PRINT /PARAMETERS. For example, it supports the PAGE_SIZE option as follows:

    $ PRINT/PARAMETERS=(PAGE_SIZE=size) /QUEUE=queue_name filename

When you enter the PRINT /PARAMETERS=(option=value) command, enclose the following in quotation marks:

- Blanks
- Nonalphanumeric characters, including spaces and slashes

You can use the following /PARAMETERS options for both local printing (standard DCL PRINT) and remote printing (DCL PRINT with LPR/LPD network services).

DATA_TYPE | NUMBER_UP | PAGE_LIMIT
PAGE_ORIENTATION | PAGE_SIZE | SHEET_COUNT
SHEET_SIZE | SIDES |

For a full description of the options supported for DCL local and remote printing, enter the following command.

    $ HELP PRINT_PARAMETER

Note This help is available only if the DECprint Supervisor (DCPS) software is installed on your system. See your system manager for more information.

The following /PARAMETERS options are supported only for use with remote printing.

HOST | MAIL
NOFLAG | PRINTER

The options are described in more detail in the following sections.

### 6.1.2.1 HOST and PRINTER Options

Use the HOST and PRINTER options together to send a print job to any remote host and printer that do not have a specific print queue defined on the local system.

In conjunction with the HOST and PRINTER options, you must also specify the /QUEUE qualifier. The value of /QUEUE must be a local LPD print queue established for remote printing. This may be a generic LPD queue set up to handle all remote printing requests or a specific LPD queue for a particular remote printer.

For example, the following command specifies that the file PINS.LIS be sent to printer CT_LN05R on remote host BALT using the generic remote printing queue DPR_ANSI:

    $ PRINT/PARAMETERS=(HOST=BALT, PRINTER=CT_LN05R) /QUEUE=DPR_ANSI PINS.LIS

The HOST and PRINTER options allow you to use any available network printers without your system manager having to set up additional LPD remote queues for each of these printers.

Specify the remote host name either by the host name or by its fully qualified domain name (see Section 1.4).

### 6.1.2.2 /PARAMETERS Qualifier: MAIL Option

The MAIL option causes the remote host to notify you through SMTP mail when the print job completes. The following command specifies the MAIL option:

    $ PRINT/PARAMETERS=MAIL /QUEUE=DPR_ANSI PINS.LIS

### 6.1.2.3 /PARAMETERS Qualifier: NOFLAG Option

The NOFLAG option suppresses printing of a banner (flag) page at an LPD queue. For information about LPD queues, see the Compaq TCP/IP Services for OpenVMS Management manual.

The following command specifies the NOFLAG option:

    $ PRINT/PARAMETERS=NOFLAG /QUEUE=DPR_ANSI PINS.LIS

## 6.1.3 Remote Queue Printing Examples

The following examples show how to use the remote queue printing capabilities of TCP/IP Services.

1. This example sends local file PINS.LIS to the remote print queue defined locally as FAC3_ANSI and requests notification through SMTP when the job completes at the remote printer.

       $ PRINT /PARAMETERS=MAIL /QUEUE=FAC3_ANSI  PINS.LIS

2. This example shows how to send a local file to the remote print queue defined locally as OUR_PS for printing at a remote printer. The command specifies that text be printed on both sides of each sheet. The file name is ROUGH.TXT.

       $ PRINT /QUEUE=OUR_PS /PARAMETER=(SIDES=2) ROUGH.TXT

3. This command sends a print job to the remote queue defined locally as YOUR_PS.

       $ PRINT /QUEUE=YOUR_PS LET.LIS -
       _$ /PARAMETERS=(DATA_TYPE=POST,PAGE_ORIENTATION=LANDSCAPE,SIDE=2)

4. This example sends a print job to Internet host PACE.SATRN.COM to print on printer K1_PRINTER.

       $ PRINT /QUEUE=LPD_OUTQ USER$4:[GRANT.FINAN.SALES]ANNUAL.TXT -
       _$ /PARAMETERS=(HOST=PACE.SATRN.COM,PRINTER=K1_PRINTER)

# 6.2 Displaying the Status of Jobs in a Remote Print Queue

To display the status of jobs you send to a remote printer, use the LPQ command. The following information is displayed:

- Your name
- Current rank of job in the queue
- Names of the files in job
- Job identifier
- Total size of job in bytes

The following examples show how you can use the LPQ command.

1. This command displays all entries in the LPS40_QUE queue.

       $ LPQ LPS40_QUE

2. This command displays information about job 4 in the print queue named OFFICE_QUE.

       $ LPQ OFFICE_QUE /ENTRY=4

3. This command displays information about jobs 1, 2, and 3 in print queue PEACE_Q.

       $ LPQ PEACE_Q /ENTRY=(1,2,3)

4. This command displays information about user NELSON's jobs in the print queue FRONT_Q.

       $ LPQ FRONT_Q /USER=NELSON

# 6.3 Removing Jobs from the Print Queue

To remove your jobs from a remote print queue, use the LPRM command. The LPRM command lets you remove the following:

- All of your active jobs
- All jobs, if you have the required privileges
- Selected jobs

The following examples show how you can use the LPRM command.

1. This command deletes job 7 from print queue BASE_Q.

       $ LPRM BASE_Q /ENTRY=7

2. This command deletes jobs 555, 556, and 558 from queue BASE_Q.

       $ LPRM BASE_Q /ENTRY=(555,556,558)

3. In this example, the system manager, who has the required privileges, deletes all jobs from queue MAIN_QUE.

       $ LPRM /ALL MAIN_QUE

# 6.4 Printing Remote UNIX Files on Local Queues

Your system manager can set up a local print queue to handle print jobs for files sent from a remote UNIX host. To print UNIX files on an OpenVMS printer, the UNIX user enters the `lpr` command. (For more information, see the appropriate UNIX documentation.)

Local queues that are set up to receive UNIX print jobs support layup definition files. These are files supported only by Compaq and used to set the following layup features: borders, sheet margins, alternating sheet margins, pages per sheet, first page, page order, and page grid.

The following example sends UNIX file `/usr/stanton/recent.cnts` to OpenVMS print queue REMOTE_QUEUE4 and specifies the formatting defined in the layup file called `layup3` . The REMOTE_QUEUE4 print queue is set up as a remote queue in the printcap file by the system manager.

    % lpr -Llayup3 -Premote_queue4 /usr/stanton/recent.cnts

# 6.5 Obtaining Online Help

You can obtain online help for the LPR/LPD network printing services by entering the following commands:

    $ HELP TCPIP_SERVICES LPR_LPD
    $ HELP LPQ
    $ HELP LPRM

# 6.6 Command Descriptions

This section provides complete descriptions of the commands you can use to send a print job to a remote printer, monitor remote print jobs, and remove remote print jobs.

# LPQ

> Displays the status of your jobs in a remote print queue:
> - Current rank of your job in the queue
> - Names of your queued files
> - Job identifier
> - Size of jobs in bytes

## Format

> LPQ queue [ /ENTRY=n ]
> [ /HOST=host ]
> [ /PRINTER=remote_printer ]
> [ /USER=user_name ]

## Parameters

> ### queue

> Required.

> Queue for which you want status.

## Qualifiers

> ### /ENTRY=n

> Optional. Default: all jobs. You can specify a list of values.

> Displays status for the specified jobs.

> ### /HOST=host

> Optional. Default: host defined in the printcap file.

> Displays status for the jobs you sent to the specified host. This is the host you also specified in the PRINT /PARAMETERS=(HOST=host) command.

> ### /PRINTER=remote_printer

> Optional. Default: printer defined in the printcap file.

> Displays status for the jobs you sent to the specified remote printer. This is the queue you also specified in the PRINT /PARAMETERS=(PRINTER=queue) command.

> ### /USER=user

> Optional. Default: all users.

> Displays status for the jobs sent by the specified user. You can specify a list of values.

##

### Examples

#1
    $ LPQ LPS40_QUE

> Shows all entries in the LPS40_QUE queue.

#2
    $ LPQ MAIN_QUE /ENTRY=4

> Shows information about job 4 in the print queue named MAIN_QUE.

#3
    $ LPQ PEACE_8 /ENTRY=(1,2,3)

> Shows information about jobs 1, 2, and 3 in print queue PEACE_8.

#4
    $ LPQ 3RD_FLOOR_Q /USER=MILLER

> Shows information about user MILLER's jobs in the print queue called 3RD_FLOOR_Q.

# LPRM

> Removes one or more jobs from a remote print queue.

## Format

> LPRM queue {/ALL /ENTRY=n /USER=user_name}
> [/HOST=host]
> [/PRINTER=remote_printer]

## Parameters

> ### queue

> Required.

> Print queue with waiting jobs you want to delete.

## Qualifiers

> ### /ALL

> Required, unless you specify /ENTRY or /USER.

> Removes all jobs for all users from the specified queue. Requires SYSPRV, OPER, or BYPASS privilege. Comparable to the UNIX command `lprm -Pqueue -` when performed by the root user on the UNIX system.

> ### /ENTRY=n

> Required, unless you specify /ALL or /USER.

> Removes the specified job. Specify only your own jobs. You can specify a list of values.

> ### /USER=user

> Required, unless you specify /ALL or /ENTRY.

> Removes jobs by user name. You can specify a list of values.

> ### /HOST=host

> Optional. Default: host defined in the printcap file.

> Removes jobs by host for the host you specified in the PRINT /PARAMETERS=(HOST=host) command.

> ### /PRINTER=remote_printer

> Optional. Default: printer defined in the printcap file.

> Removes jobs from the remote printer you specified in the PRINT /PARAMETERS=(PRINTER=queue) command.

##

### Examples

#1
    $ LPRM BASE_Q /ENTRY=7

> Deletes job 7 from print queue BASE_Q.

#2
    $ LPRM FRONT_Q /ENTRY=(555,556,558)

> Deletes entries 555, 556, and 558 from queue FRONT_Q.

Previous | Next | Contents | Index