Printer forms is a mechanism for informing OpenVMS of different paper sizes and/or formats that are loaded into a printer. By creating forms, the printer symbiont knows how the margins are defined so that it starts and ends a line properly and ejects a sheet or skips over a gutter when the sheet is full.
First, the form characteristics must be defined. Multiple forms may be defined, and they are not printer-specific but logically attached to a printer later. Forms are defined once and the information kept in the queue manager's database. An example command to create a form called MEMO on 8 1/2-by-4-inch paper stock called MEMO_FORM is as follows:
$ DEFINE/FORM MEMO /STOCK=MEMO_FORM - _$ /MARGIN=(TOP=2,BOTTOM=2,LEFT=6) _$ /WIDTH=80/LENGTH=20/TRUNCATE - _$ /DESCRIPTION="LN03 indented memo format"
The database of defined forms and their characteristics is displayed with the command:
$ SHOW QUEUE/FORM/FULL MEMO Form name Number Description --------- ------ ---------- MEMO (stock=MEMO ) 110 LN03 indented memo format /LENGTH=20 /MARGIN=(TOP=2,BOTTOM=2,LEFT=6) /STOCK=MEMO_FORM /TRUNCATE /WIDTH=80
The form can be associated with a given queue when that queue is created as shown:
$ INITIALIZE/QUEUE/FORM_MOUNTED=MEMO LN03_1
This setup is confirmed with the following command:
$ SHOW QUEUE/FULL LN03_1 Printer queue LN03_1, idle, on BAY::TTA3:, mounted form MEMO_FORM <Queue for printer in Jean's office> /BASE_PRIORITY=4 /DEFAULT=(FEED,FORM=MEMO (stock=MEMO_FORM)) /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:R)
The way a user requests a particular form is to submit a print job similar to the following command. Notice that this command changes forms.
$ PRINT/FORM=MEMO/QUEUE=LN03_1 SET.TXT
If the queue is initialized with some other, incompatible form, however, the print job would be delayed. Thus, the PRINT command will appear in the LNO3_1 queue as follows:
$ SHOW ENTRY 133/FULL Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 133 SET RANDOM 74 Pending (stock type mismatch) On idle printer queue LN03_1 Submitted 21-JAN-2000 16:14 /FORM=MEMO (stock=MEMO_FORM) /PRIORITY=100 File: _$5$DUA1:[RANDOM]SET.TXT;5
At this point, the operator would change the paper form in the printer and issue the following command. This would permit the job (and all others waiting for that form) to print.
$ SET QUEUE/FORM_MOUNTED=MEMO