Products   Support   Download   Contact

CHANGING LINES-PER-PAGE AND SCALING IN PCL DOCUMENTS

revised: 12-Aug-2002

Contents | Index | About the Icons

The PCL escape sequences which control these attributes are given in the following table:

Attribute

Escape Sequence

Value(#)

pitch <ESC>(s#H characters/inch - fixed spacing font
line spacing <ESC>&l#D lines/inch (1, 2, 3, 4, 6, 8, 12, 16, 24, 48)
orientation <ESC>&l#O 0=portrait, 1=landscape, 2=reverse portrait, 3=reverse landscape
lines per page <ESC>&l#F lines/page

The success of injecting the appropriate sequence into the job stream depends largely on whether or not the job stream already contains sequences which set these attributes. Workstation printer drivers, especially when used with an inappropriate PPD, may produce a job stream which cannot be modified as described below.

ScriptServer® PAN Printing System

The escape sequences can be defined in resources. The Windows printer driver supplied with ScriptServer PAN is late-binding, and the functionality provided by PPDs is superseded by the resources selected based on the particular form and queue.

ScriptServer® for OpenVMS

Affecting LINES-PER-PAGE and font SCALING is not directly supported with ScriptServer® for OpenVMS V5.0. However, if you know the PCL escape sequences that affect these variables, it is possible, through the use of SETUP MODULES and VMS FORMS, to manipulate them and other formatting elements that are not currently supported.

1)

Using your favorite text editor, create a text file containing the necessary escape sequences. This will be your SETUP MODULE.

NOTES: The <ESC> character is best entered using the ASCII value 027. This can be done in EDT with the sequence PF1 27 PF1 KP3 (keypad3).
The first character following the ampersand (&) in the last three above is the letter "L" in lowercase, not the number one (1).
The pound sign (#) above indicates where you should put the desired value (as described in the third column above) within the escape sequence.

For example, a file setting the page to landscape mode with 64 lines-per-page would contain the following escape sequences:

  <ESC>&l1O
  <ESC>&l64F

NOTE: You can name the file anything you want, however, for the purposes of this document we will call the file PCL_SEQUENCES.TXT

2)

Make a copy of the ScriptServer Device Control Library with the command:

  $ COPY SYS$LIBRARY:SSV$DEVCTL.TLB *.*

3)

Insert the SETUP MODULE into the ScriptServer device control library with the command:

  $ LIB/INSERT SYS$LIBRARY:SSV$DEVCTL.TLB PCL_SEQUENCES.TXT

4)

Define an OpenVMS form associated with the SETUP MODULE. You must choose a unique form name and number (you can see what forms are already defined with what form numbers by typing SHOW QUEUE/FORM at the command line prompt). In this example, we are defining a form called LINES_PER_PAGE with form number 17.

  $ DEFINE/FORM/STOCK=DEFAULT/SETUP=PCL_SEQUENCES -
  _$ LINES_PER_PAGE 17

NOTE: The new copy of the Device Control Library containing the appropriate SETUP MODULE will be accessed by all ScriptServer queues once they have been stopped and restarted. So be sure to STOP and START any ScriptServer queue to which you want to print using this SETUP MODULE or subsequently defined VMS FORM.

5)

To print the PCL file with the setup module and thus manipulate the LINES-PER-PAGE and font SCALING, use the command:

  $ PRINT/QUEUE=queue-name/FORM=LINES_PER_PAGE file.pcl

NOTE: You can include as many valid PCL escape sequences as you want within the SETUP MODULE, each of which will be added to the front of the file as it is sent to the printer.

© 2020 GrayMatter Software Corporation