hp DECprint Supervisor (DCPS) for hp OpenVMS
System Manager's Guide


Previous Contents Index

6.4 Adding a System Message to Separator Pages

You can add a system message to the top of job and file burst, flag, and trailer pages for all jobs printed on your system. The following example shows you how:


$ DEFINE /EXECUTIVE_MODE /SYSTEM PSM$ANNOUNCE "Computer Services Group"

The example shows that the logical name PSM$ANNOUNCE is now "Computer Services Group".

Note

The PSM$ANNOUNCE logical is used by other print symbionts (for example, LATSYM) as well as by the DCPS symbiont. Your definition of PSM$ANNOUNCE will also affect these other symbionts.

6.5 Extended File Specifications

DCPS provides default support for systems with Extended File Specifications, including ODS-5 volumes and deep directories.

Any file in any directory on an ODS-5 volume can be printed. Since files on ODS-5 volumes may have long directory and file names, the name may be truncated on file separator pages and in the heading when printing with the LIST translator. If the file name is truncated, it is so indicated with an ellipsis (...).

6.6 Requesting Job Log Pages

A job log page is an optional sheet with information about the print job and any messages that occurred during the print job. Use the MESSAGES=PRINT parameter in the PRINT command to print a job log page. When printed, the job log page precedes the job trailer page. If you are not printing job trailer pages, the job log page is the last page of a job.

6.7 The File Error Page

If the software cannot access the print file when the print job starts printing, a file error page is printed and the software continues with the next file in the print job (if any).

The file error page contains the following information:


Chapter 7
Creating Setup Modules and Device Control Libraries

7.1 What Is a Setup Module?

A setup module is a file containing instructions that modify the appearance of a print job or redefine the instructions in the print job.

You can include a setup module in a print job with the PRINT command's /SETUP qualifier. The following example uses a setup module that specifies 600 dots-per-inch (DPI) resolution:


$ PRINT/QUEUE=LPS32$2SIDES/SETUP=RES_600X600 IMAGE.PS

You can also implicitly include setup modules in a print job through the use of a form (see Chapter 8).

7.2 Locating Setup Modules

DCPS ships with various setup modules, which are located in the following device control library:

SYS$LIBRARY:DCPS$DEVCTL.TLB

To list the setup modules, use the following command:


$ LIBRARY/LIST SYS$LIBRARY:DCPS$DEVCTL.TLB

The list of setup modules displays, similar to the following:


DCW1000_DISPLAY 
DCW1000_ENHANCED 
DCW1000_HIGHRES 
LPS$$APPLE360_INITPSDEVICE 
LPS$$APPLE360_SETINPUTTRAY 
RES_1200X1200 
RES_1200X600 

Note

Do not modify any of the setup modules or the device control library.

Some setup modules are created only for certain printers. Those setup modules have the printer name as part of their file name. For instance, the setup module DL3500_RET_DARK is intended for the DEClaser 3500 printer.

Note

Do not change the contents of the standard supplied device control library.

7.2.1 Locating Custom Setup Modules

Custom setup modules go in special device control libraries, which are required to be .TLB (text library) files located in SYS$LIBRARY. The following command lists all of the text libraries in SYS$LIBRARY. To determine what subset of these are special device control libraries used with DCPS, correlate the .TLB file names with the libraries and library search lists associated with the /LIBRARY qualifier for your system's DCPS print queues.


$ DIRECTORY SYS$LIBRARY:*.TLB

7.2.2 Displaying the Contents of a Setup Module

To see the instructions that a setup module contains, do the following:

  1. Extract the setup module from the device control library. The following example extracts the setup module DI_ON from DCPS$DEVCTL.TLB and renames it MYSETUP.TXT in the user's directory:


    $ LIBRARY/EXTRACT=(DI_ON)/OUT=MYSETUP SYS$LIBRARY:DCPS$DEVCTL.TLB
    

  2. Type or edit the setup module to display its contents:


    $ TYPE MYSETUP.TXT
    

    The setup module DI_ON enables DECimage, and contains the following instructions:


    %! 
    % ~~~~~~~~~~ DI_on ~~~~~~~~~~ 
    statusdict begin false setDECimage end 
    systemdict /languagelevel known {languagelevel} {1} ifelse 
    2 ge {currentpagedevice /Install get exec} if 
    statusdict begin true setDECimage end 
    % ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    

    Note

    Some setup modules contain escape sequences or graphics, which cannot be displayed when you type the file. For such modules, you may wish to use the DUMP/RECORD command on the extracted file.

7.3 Creating Custom Setup Modules

You can create setup modules that affect print jobs with different data types. Some setup modules manipulate ANSI print jobs, while others affect PostScript jobs. You can create setup modules for any data type you support.

Notes:

7.4 Creating Device Control Libraries

To make the setup module accessible to users, you must create a device control library and put the module in the library. Create a different library for setup modules of each data type. Do not include setup modules of different data types in the same library. You can create a library for ANSI, PCL, Proprinter, or PostScript files.

Note

Do not put your custom setup modules in the standard DCPS$DEVCTL library. Custom setup modules in DCPS$DEVCTL will be deleted if you upgrade DECprint Supervisor software.

To create a library for setup modules, use the following command format:


$ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]library-name.TLB

You supply the library-name, the name you give to the library.

The following command creates a new PostScript device control library, PS1, for your customized PostScript setup modules:


$ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]PS1.TLB

For more information, refer to the OpenVMS Command Definition, Librarian and Message Utilities Manual.

7.4.1 Putting Setup Modules in Libraries

To insert a setup module into a device control library, use the following command format:


$ LIBRARY/INSERT SYS$LIBRARY:library-name.TLB module-name

In the command line, you supply the following information:
library-name The name of the library
module-name The name of the setup module

The following command puts the PostScript setup module, CONFIDENTIAL.PS, into your PostScript device control library, PS1.TLB, and names the setup module CONFIDENTIAL:


$ LIBRARY/INSERT SYS$LIBRARY:PS1.TLB CONFIDENTIAL.PS

The following command puts the ANSI setup module, A4_PAGE.TXT, into your ANSI device control library, ANSI1.TLB, and names the setup module A4_PAGE:


$ LIBRARY/INSERT SYS$LIBRARY:ANSI1.TLB A4_PAGE.TXT

7.4.2 Specifying a Library Search List

If you have several device control libraries, you need to set up a search list of the libraries in SYS$STARTUP:DCPS$STARTUP.COM. The search list specifies which device control libraries to search, and the priority of the libraries.

Example 7-1 shows a search list of device control libraries.

Example 7-1 Search List for Device Control Libraries

$ DEFINE/SYSTEM/EXECUTIVE/NOLOG DCPS_LIB - 
         DCPS$DEVCTL,- 
         "PS1/DATA_TYPE=POSTSCRIPT",- 
         "ANSI1/DATA_TYPE=ANSI",- 
         PS2 

In Example 7-1, the software does the following:

  1. Looks in the standard device control library DCPS$DEVCTL for required setup modules and for any setup modules that have been specified with /SETUP or /FORM.
  2. Looks in the PostScript library PS1 for any specified setup modules not found in the standard device control library. (PostScript setup modules can be used with any type of file, so the PostScript device control library is always included in the search for a setup module.)
  3. If the print job is ANSI, looks in the library called ANSI1.
  4. If the print job is a data type other than ANSI, skips the ANSI1 library and looks for it in the PostScript library PS2.

To define your library logical name and search list, perform the following steps:

  1. Edit DCPS$STARTUP.COM and add the following command line:
    Command Line Example
    $ DEFINE/SYSTEM/EXECUTIVE/NOLOG -
    
    logical-name -
    search-list
    $ DEFINE/SYSTEM/EXECUTIVE/NOLOG DCPS_LIB -
    
    DCPS$DEVCTL,-
    "PS1/DATA_TYPE=POSTSCRIPT",-
    "ANSI1/DATA_TYPE=ANSI",-
    PS2

    In the command line, you supply the following information:
    logical-name: Use a logical name that expands to a list of library names. Make sure the logical name also appears in the execution queue definition (parameter p3). search-list: Add the list of libraries to be searched. Use the following guidelines as you add libraries:
  2. Stop and restart the execution queue to include your new library. (If you add a setup module to an existing library, you do not have to reinitialize the queue.)

7.4.3 Device Control Libraries Must Exist for Queue to Start

All device control libraries specified for a queue must exist for the queue to start. For example, if a queue is defined with the following logical, the libraries SYS$LIBRARY:DCPS$DEVCTL.TLB, SYS$LIBRARY:ANSI.TLB and SYS$LIBRARY:PS.TLB must all exist as text libraries:


  $ DEFINE/SYSTEM/EXECUTIVE DCPS_LIB - 
      DCPS$DEVCTL, - 
      "ANSI/DATA_TYPE=ANSI", - 
      "PS/DATA_TYPE=POSTSCRIPT" 

7.4.4 Preserving Custom Setup Modules During Upgrades

When you install DECprint Supervisor software, it creates a new version of the standard device control library (DCPS$DEVCTL.TLB). If you purged old files during the software installation, early copies of the device control library are deleted. (Refer to the Software Installation GuideSoftware Installation Guide for more information.)

When you add custom setup modules, create a new library and refer to it in the library search list. This preserves your custom setup modules when you upgrade your software.

Upgrading from DECprint Printing Services or PrintServer Client Software

DECprint Printing Services software and PrintServer Client software have their own device control libraries (CPS$DEVCTL.TLB and LPS$DEVCTL.TLB). When you upgrade to DECprint Supervisor, the CPS$ and LPS$ device control libraries are no longer used. If you have custom setup modules in either of those libaries, insert the modules into a new library and specify the library in the device control library search list.

7.5 Including Setup Modules in Print Job

You can specify setup modules using the /SETUP qualifier in the PRINT command.

To include an ANSI setup module in a print job using the /SETUP qualifier, use the following command format:


$ PRINT/QUEUE=queue-name/SETUP=your-module-name print-file.TXT

If you enter the command wrong, the error is not detected until the file prints. To enable the software to detect the error immediately, you can include the setup module in a form. See Chapter 8 for instructions.

If users access a setup module frequently, you can associate the setup module with a queue, so that all print jobs submitted to that queue are printed with the setup module automatically. See Chapter 8 for instructions.

7.6 Persistently Loading PostScript Resources

Note

This feature applies only to desktop printers; PrintServer printers are loaded with persistent resources using the PrintServer software.

Downloading PostScript code with every print job can adversely affect printing performance. To resolve this problem, you can load a module that permanently resides in the printer.

The module LPS$PERSISTENT_RESOURCES loads persistently to desktop printers. To create a persistent PostScript module, follow these steps:

  1. Create a new device control library for site-specific PostScript setup modules, using the following command:


    $ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]library-name.TLB
    

  2. Edit the SYS$STARTUP:DCPS$STARTUP.COM file to include the new device control library in the search list. Use the following command in the DCPS startup file:


    $ DEFINE/SYSTEM/EXECUTIVE/NOLOG DCPS_LIB DCPS$DEVCTL, "library-name/DATA=POST"
    

  3. In the execution queue definition for each PostScript printer to which you want to load the setup module, ensure that the logical name DCPS_LIB is entered in parameter 3 as the device control search list logical name.
  4. Save the DCPS$STARTUP.COM file.
  5. Stop the queues for the printers affected by the change, using the STOP/QUEUE/RESET command for each queue.
  6. Execute the new DCPS$STARTUP.COM file.
  7. Test each print queue by sending two print jobs to the printer. The setup module is loaded with the first print job sent to the printer. The setting should be effective for the second print job, as well.

CAUTION

Problems can occur from the misuse of the persistent setup feature. Keep the following in mind when using this feature:
  • Only PostScript setup modules can be persistently loaded. Other data types cannot be persistently loaded.
  • A setup module can exceed the printer's virtual memory. Different models of printers have different capacities. For example, a setup module can overwhelm a printer with too many fonts.
  • A shared network printer can be used from several nodes in the network. Make sure the same setup module is loaded from all the nodes that access the printer to ensure consistent print results. If you required different setup modules load the setup module with each print job, using either the /SETUP or /FORM qualifier.
  • Improper PostScript coding in a persistently loaded setup module can cause unexpected results that are difficult to analyze. Also, because the code remains in the printer until the printer is turned off, users from different systems may have print jobs fail with unexpected results, but would not be able to determine the cause of the problem.

7.7 Changing the Default Character Set for PCL and Proprinter Print Jobs

The default character set for PCL files is Roman-8. The default character set for Proprinter files is code page 437, character set 1. To change the default character set, use the following procedure:

  1. Create one device control library for PCL setup modules, one for Proprinter modules, and another library for PostScript modules. Use the following commands:


    $ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]PCL_LIB
    $ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]PRO_LIB
    $ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]PS_LIB
    

  2. Edit DCPS$STARTUP.COM to include these libraries, as follows:


    DEFINE/SYSTEM/EXECUTIVE/NOLOG DCPS_LIB DCPS$DEVCTL, 
                                    "PCL_LIB/DATA=PCL", 
                                    "PRO_LIB/DATA=PRO", 
                                     PS_LIB) 
    

    The PostScript device control library (PS_LIB) must be last in the search list.

  3. Create the following setup modules:
  4. Put these modules in the appropriate device control libraries, using the LIBRARY command as shown in the following example:


    $ LIBRARY/INSERT/TEXT SYS$COMMON:[SYSLIB]PCL_LIB DEF_CHAR_SET.PCL
     
    $ LIBRARY/INSERT/TEXT SYS$COMMON:[SYSLIB]PRO_LIB DEF_CHAR_SET.PRO
     
    $ LIBRARY/INSERT/TEXT SYS$COMMON:[SYSLIB]PS_LIB DEF_CHAR_SET.PS
     
    

  5. Create a form definition that includes DEF_CHAR_SET as the setup module. You can associate this form with your printer execution queue as follows:


    $ DEFINE/FORM DEF_CHAR_SET form_number -   /SETUP=DEF_CHAR_SET/STOCK=DEFAULT
     
    

    To make this change to the queue permanent, specify this form in the execution queue definition in the DCPS$STARTUP.COM file.


Previous Next Contents Index