Previous | Contents | Index |
The printing system can produce both job separation pages (job burst pages, job flag pages, and job trailer pages) and file separation pages. The system manager can define the job separation pages and default file separation pages for the queue. Users cannot affect the job separation pages, but can control whether to print file separation pages.
Files in a print job can be separated by:
You can control the inclusion of file flag pages using the following PRINT command qualifiers:
You can specify the default file separation behavior for all files in a print job by placing the /[NO]BURST, /[NO]FLAG, and /[NO]TRAILER qualifiers between the PRINT command and the first file specification.
For example, the following command will print a file burst page before each file:
$ PRINT /BURST FIRST.TXT, SECOND.TXT |
If you do not specify the behavior for a type of file separation page (for example, the above command does not specify flag or trailer pages), the default behavior is as specified by the queue's /DEFAULT qualifier. If /DEFAULT does not specify a particular type of separation page, then none is generated.
The negated qualifiers (for example, /NOTRAILER), are useful in
overriding a queue's default qualifier (for example, /DEFAULT=TRAILER).
14.2 Controlling File Separation Pages for Individual Files
You can alter the default file separation page behavior for individual files within a print job by placing the qualifiers after the corresponding file specifications.
For example, you can use the following command to override a queue's /DEFAULT=BURST qualifier and instead print file flag pages for all but the second file in a job:
$ PRINT /NOBURST /FLAG FIRST.TXT, SECOND /NOFLAG, THIRD |
To see the default separation pages for a queue, enter the following command:
$ SHOW QUEUE /FULL PS20$A14 |
Printer queue PS20$A14, on STAR::LPS, mounted form DCPS$DEFAULT (stock=DEFAULT) /BASE_PRIORITY=4 /DEFAULT=(FLAG,FORM=DCPS$DEFAULT (stock=DEFAULT)) /NOENABLE_GENERIC /LIBRARY=DCPS_LIB Lowercase /OWNER=[SYS,SYSTEM] /PROCESSOR=DCPS$SMB /PROTECTION=(S:E,O:RD,G,W:W) /SCHEDULE=(NOSIZE) /SEPARATE=(BURST,TRAILER) |
This display shows that the job burst pages and job trailer pages are
printed for print jobs sent to this queue (/SEPARATE=(BURST,TRAILER)).
File flag pages are printed by default, as indicated by /DEFAULT=FLAG,
but can be overridden by PRINT command qualifiers.
14.4 Job Log and Trailer Pages Sent to Default Tray On Error
The job log and job trailer pages, if any, are normally directed to the output tray you specified with the OUTPUT_TRAY parameter. However, if DCPS reports a NOOUTTRAY, OUTTRAYNOTAVL, or OUTTRAYMISMATCH error when initially attempting to select the specified output tray, the job log and trailer pages are instead directed to the printer's default output tray so that you get an indication of the problem.
Some printers have a finisher, often sold as an option, that can punch
or staple your output. This chapter describes how to select these
printer features from DCPS.
15.1 Punching
DCPS can punch your job if the printer has a puncher installed. Punching with DCPS is supported on the following printers:
GENICOM Intelliprint mL450
GENICOM LN45
Lexmark Optra W810
Lexmark W820
Punching is specified with the PRINT parameter PUNCH.
$ PRINT /PARAMETERS=(..., [ PUNCH | NOPUNCH ] ,...) file_name |
There are no values to the PUNCH parameter. The position of the punched
holes is determined by the orientation of the paper in the printer, and
the number and spacing of holes is determined by the printer. When
NOPUNCH is specified, the job is printed without punching, overriding
the printer's default punch setting.
15.2 Stapling
DCPS can staple your job if the printer has a stapler installed. Stapling with DCPS is supported on the following printers:
Compaq Laser Printer LN32
Compaq Laser Printer LNM40
GENICOM Intelliprint mL450
GENICOM LN45
GENICOM LNM40
GENICOM microLaser 320
GENICOM microLaser 401
HP LaserJet 4200
HP LaserJet 4300
HP LaserJet 8000
HP LaserJet 8100
HP LaserJet 8150
HP LaserJet 9000
HP LaserJet 9000 MFP
Lexmark W820
Stapling is specified with the PRINT parameter STAPLE.
$ PRINT /PARAMETERS=(..., STAPLE = [ LEFT_CENTER | TOP_CENTER | TOP_LEFT | TOP_RIGHT | NONE ] ,...) file_name |
These values specify the position of the staple with respect to the
orientation of the image on the paper. When NONE is specified, the job
is printed without stapling, overriding the printer's default staple
setting.
15.2.2 Stapling Positions
Some of the values for the STAPLE parameter are not always possible, depending on the direction in which the paper is fed through the printer. See Table 15-1 for possible stapling positions depending on your job's page orientation and the printer's paper feed direction. In the table, "Port" and "Land" refer to portrait and landscape page orientation, and "LEF" and "SEF" refer to long-edge-feed and short-edge feed direction of paper in the printer.
Staple Position and Image Orientation | ||||||||
---|---|---|---|---|---|---|---|---|
TOP_LEFT | TOP_CENTER | TOP_RIGHT | LEFT_CENTER | |||||
Printer Brand | Port | Land | Port | Land | Port | Land | Port | Land |
Compaq, GENICOM, Lexmark, Xerox | LEF, SEF | LEF, SEF | SEF | LEF | SEF | LEF | LEF | SEF |
HP LaserJet 4200, 4300 | SEF | SEF | ||||||
HP LaserJet 8000, 8100, 8150, 9000 | LEF, SEF | SEF | LEF | LEF | LEF | SEF |
If you specify an unsupported staple position, DCPS issues the error
message STPPOSNOSUP and does not print the job.
15.2.3 Output Trays
Stapled output can only be delivered to the output trays attached to the finisher. Table 15-2 lists the supported output trays for each printer.
Printer Brand | Output Trays |
---|---|
Compaq, GENICOM, Xerox | STACKER / BIN_1 |
BIN_2 | |
BIN_3 | |
HP, Lexmark | STACKER / BIN_2 |
If you specify a tray not supported for stapling, or do not specify a
tray but the printer's default output tray is not supported for
stapling, DCPS issues the error message STPOUTTRAY and does not print
the job.
15.2.4 Paper Sizes
Printers do not support stapling on every paper size and feed direction. In general, envelope sizes are not supported for stapling.
If you specify a size that cannot be stapled, DCPS issues the error
message STPSIZENOSUP and does not print the job.
15.2.5 Stapling Details
Please note the following details when using stapling with DCPS:
Figure 15-1 Effects of NUMBER_UP on Stapling
The device control library includes an error handler to help debug
PostScript programs. The error handler prints the last partial page of
output, as well as information to help identify the error.
16.1 Including the Error Handler in a Print Job
The error handler is not automatically included each time a job prints (unless your system manager has changed this default). Therefore, you must explicitly invoke it, as follows:
$ PRINT/SETUP=LPS$ERRORHANDLER filename |
The error handler returns PostScript messages. You can send these messages to a file or printer by using the /PARAMETERS=MESSAGES qualifier as described in Chapter 17. For example:
$ PRINT/QUEUE=PS40$A10/PARAMETERS=MESSAGES=KEEP FILE.PS |
If you are developing PostScript applications, you can make the error
handler easier to access by defining a form to include the error
handling setup module, as described in Chapter 12.
16.2 How the Error Handler Affects the PostScript Environment
The error handler references operators from the dictionary systemdict, rather than using definitions that may have been modified by the user program.
In some cases, a program can behave differently when the error handler
is loaded. For example, executing the exit operator
outside a looping context causes an invalidexit error
if the error handler is not loaded. However, if the error handler is
loaded, the program exits without generating an error.
16.3 Error Handler Example
The sample log file in Example 16-1 is for the following PostScript program:
[/1st-level [/2nd-level [/3rd-level [/4th-level 56 ] ] ] (end)] /myproc { [ 8 8 ] 0 0 div setdash } def 100 200 moveto myproc |
The following command includes the error handler and causes a log file to be generated:
$ PRINT/PARAMETERS=MESSAGES=KEEP/SETUP=LPS$ERRORHANDLER filename |
Example 16-1 shows the error handler output that is appended to the log file when the program executes.
Example 16-1 Sample Error Handler Log File |
---|
ERROR: undefinedresult (1) OFFENDING COMMAND: div (2) OPERAND STACK: (3) 0 0 [ 8 8 ] [/1st-level [/2nd-level [/3rd-level -array- ] ] (end) ] EXECUTION STACK: (4) { setdash } GRAPHICS STATE: (5) Current Matrix: [ 4.16667 0.0 0.0 -4.16667 0.0 3298.0 ] Color: 0.0 Current position: x = 100.0, y = 200.0 Line width: 1.0 Line cap: 0 Line join: 0 Flatness: 1.0 Miter limit: 10.0 Dash pattern: [ ] 0.0 |
The array defined at the start of the example file is expanded three
levels deep. The innermost version of the array is represented simply
as --array--.
16.4 Reading Error Handler Output
When an error occurs, the error handler executes a showpage command to print the last partial page of output (see Example 16-1). It also gives the following information:
Current transformation matrix
Color (a currentgray value)
Current position
Line width
Line cap
Line join
Flatness
Miter limit
Dash pattern
When you find an error in the PostScript code, you should modify the
application that produced the file, or inform the applications
programmer of the problem.
16.5 PostScript Data Output Format
PostScript data is easily identifiable, usually in the way the data appears in a PostScript source file. The error handler represents PostScript data as follows:
--array-- for normal arrays
--proc-- for executable arrays
--packedarray-- for packed arrays
--packedproc-- for packed executable arrays
The PostScript language may be extended to include new data formats
that are unknown to the error handler. Data in unknown formats is
represented as two question marks followed by the name of the unknown
data format.
16.6 Determining Where the Error Occurred
It may be impossible to determine exactly where in the PostScript stream the error occurred, because the execution stack may not uniquely identify the context. In this case, you can add diagnostics information to the PostScript file. For example, if the error appears to be related to a showpage definition, modify your PostScript code as follows:
/myshowpage { (At the top of my showpage\n) print flush % some PostScript code (Just before real showpage call\n) print flush showpage } def |
Previous | Next | Contents | Index |