Xerox DocuPrint Network Printer Series Guide to Using Page Description Languages Version 7.
Xerox Corporation 701 S. Aviation Boulevard El Segundo, CA 90245 ©1997, 1998, 1999, 2000 by Xerox Corporation. All rights reserved. Copyright protection claimed includes all forms and matters of copyrightable material and information now allowed by statutory or judicial law or hereinafter granted, including without limitation, material generated from the software programs which are displayed on the screen, such as icons, screen displays, looks, etc. Printed in the United States of America.
Laser safety ! Warning: Adjustments, use of controls, or performance of procedures other than those specified herein may result in hazardous light exposure. The Xerox DocuPrint printers are certified to comply with the performance standards of the U.S. Department of Health, Education, and Welfare for Class 1 laser products. Class 1 laser products do not emit hazardous radiation.
Warning: Improper connection of the equipment grounding conductor may result in risk of electrical shock. ! • Never use a ground adapter plug to connect equipment to an electrical outlet that lacks a ground connection terminal. • Always place equipment on a solid support surface with adequate strength for its weight. • Always use materials and supplies specifically designed for your Xerox equipment. Use of unsuitable materials may result in poor performance and may create a hazardous situation.
Table of contents Laser safety iii Ozone information iii Operation safety iii Introduction ix About this guide 1.
TABLE OF CONTENTS 2.
TABLE OF CONTENTS Curved shapes 2-20 Images 2-20 Image quality 2-21 Rendering of color and gray values: transfer function 2-22 PostScript printer description (PPD) files 2-23 Implementation limits 2-23 File operators and standard devices 2-24 Path limits 2-25 PostScript VM limits 2-25 SetCacheDevice 2-25 Device orientation and setscreen operator 2-25 PostScript storage object size limits 2-26 Obsolete operators—banddevice, framedevice, renderbands 2-26 Arc to Bezier conversion—pat
TABLE OF CONTENTS viii XEROX DOCUPRINT NPS GUIDE TO USING PAGE DESCRIPTION LANGUAGES
Introduction The Xerox DocuPrint Network Printing Series Guide to Using PDL describes how the PostScript, HP PCL 5, and VIPP (formerly XGF) page description languages (PDLs) are implemented on the Xerox DocuPrint NPS printers. About this guide This document is for users who will be submitting PostScript, HP PCL 5, Decomposition Service, and VIPP jobs to the DocuPrint printers. These users should be familiar with the applications they are using to generate print jobs.
INTRODUCTION • Bold—Within procedures, text and numbers that you enter are shown in bold (for example, enter privilege operator). • “Enter”—Within procedures, the two-step process of keying in data and pressing (for example, enter y). • Italics—Document and library names are shown in italics (for example, the Xerox DocuPrint Publishing Series Guide to Performing Routine Maintenance). • Quotes—Keywords you can enter as arguments appear in quotes (for example, “USLetter”).
INTRODUCTION Related publications The Xerox DocuPrint Network Printer Series includes the following documents: Decomposition Service and Tools Guide Guide to Configuring and Managing the System Guide to Managing Print Jobs Guide to Performing Routine Maintenance Guide to Submitting Jobs from the Client Guide to Using Page Description Language Installation Planning Guide Messages Guide System Overview Guide Troubleshooting Guide Glossary Master Index Customer Information Quick Reference Card Printer Control
INTRODUCTION • PostScript Language Reference Manual, second edition, Addison-Wesley, January 1991, Adobe Systems, Incorporated. (This document defines both PostScript Level 1 and Level 2.
1. 1PCL 5 The DocuPrint NPS system supports the following functions for source documents: • On monochrome systems, printing of PCL 5e masters containing PCL commands, HP-GL/2 commands, fonts, and data to be printed. • On highlight color models, printing of PCL 5e monochrome or PCL 5c color masters containing PCL commands, HP-GL/2 commands, fonts, and data to be printed.
PCL 5 Note: For PCL jobs, DocuPrint NPS supports 300 and 600 dpi printing only. To obtain the best image quality on the DocuPrint NPS, choose the correct printer setup attributes when generating a document on your personal computer. Refer to the “Appearance Consistency” section in the “PostScript” chapter for more information on resolution. The following table shows the recommended printer settings in order of preference: • The recommended choice is listed in the 300 dpi vector graphics settings column.
PCL 5 density settings and line placement on the page, Xerox cannot guarantee the quality of these single-pixel lines. Specific questions regarding single-pixel line printing for your application should be directed to your Xerox service engineer. PCL 5 media support Acceptable sizes for DocuPrint Models 4050, 4090, 4850, 4890, or 92C are “USLetter,” “USLegal,” “A4,” and “nxn.” Acceptable sizes for DocuPrint Model 96, 4635, and 180 are “USLetter,” “USLegal,” “USLedger,” “Tabloid,” “A3,” “A4,” and “B4.
PCL 5 System chapter on “MICR Printing” for more information. Refer also to the Generic MICR Fundamentals Guide. Note: Fonts installed using the “Install PCL Fonts from Floppy” command cannot be selected by font ID. They must be selected by characteristics. Only fonts installed using this command can be deleted using the Delete Fonts command. PCL fonts installed with the system software cannot be deleted.
PCL 5 PCL command support The following sections explain the differences in processing and how DocuPrint NPS interprets various PCL commands. PJL commands DocuPrint NPS does not support Printer Job Language (PJL) commands embedded within a job. When PJL commands are embedded within a PCL job, the job prints but the PJL commands are ignored. Note: PJL commands specifying the resolution of the job are ignored. This can cause a PCL job to be printed at an incorrect resolution.
PCL 5 Table 1-3.
PCL 5 Table 1-4.
PCL 5 *DocuPrint implements the Paper Source command by corresponding the number specified in the command to the correlating media in the media list of the Media document attribute. Therefore, the "Feed from upper tray" command specifies the first media in a media list in the document attribute and the "Feed from lower tray" command specifies the fourth media in a media list in the document attribute. Refer to the “PCL Paper Source command” section for more information.
PCL 5 • Use DocuPrint NPS facilities for offsetting at the print job level. Do not rely on the use of the Job Separation command at the end of every PCL job. Although this is the HP recommendation, a consistent offsetting of print jobs cannot be guaranteed. For example, actions such as resetting the HP LaserJet IIISi at the printer change the output tray offset. The printer does not keep track of the offset tray position under all conditions.
PCL 5 These numbers map directly to the media list set for the Media document attribute on the virtual printer or in the job submission so that if: Media List: A4::blue,A4::white,A4::green,A4::yellow then: Esc&l1H selects Esc&l2H selects Esc&l3H selects Esc&l4H selects A4:: blue A4:: white A4:: green A4:: yellow “Media list” is the list of media assigned to the Media document attribute.
PCL 5 If a given page has only a Page Size specification, it is used to identify the required medium in the media list. If no exact match is available, the medium closest in size is used. If there is more than one medium of the chosen size (differing in color or weight), the one appearing first in the media list is used. If a given page contains only a Paper Source specification, this determines the medium for the page.
PCL 5 printers even though the PCL interpreter is emulating a simplex PCL printer. There are no switches that control how the image is shifted, because the DocuPrint sequencer does not perform image shifting on a page-by-page basis, but only on a job-by-job basis. PCL 5 coding recommendations When creating PCL 5 jobs, there are some general recommendations for optimal performance: • Use PCL Fill Rectangle Area for horizontal and vertical lines and rectangles.
PCL 5 User-defined dither patterns are ignored. The default highlight color dither pattern is used instead. PCL 5c coding recommendations When creating PCL 5c jobs, there are some color-related commands you should be aware of for optimal performance and print quality. • Use the Simple Color command whenever possible; when greater color palette control is required, use Configure Image Data (short form) with either Device RGB or Device CMY color space.
PCL 5 Driver recommendations for PCL 5c This section identifies drivers that are recommended for the Windows 95 and the Windows NT 4.0 environments. For Windows 95, the HP Color LaserJet 5/5M PCL 5C driver, version vF2.2 is recommended. For the driver’s Color Setup option, select Manual mode with the No Adjustment option to allow using device RGB Color Space in the document. An alternative driver for this environment is the Xerox DocuPrint C55 driver. For Windows NT 4.
2. 2PostScript This chapter provides an overview of standard PostScript operations and guidelines for ensuring consistent printer output. Implementation-dependent operations The following operations are implementation-dependent. Floating-point arithmetic and math operators All PostScript floating-point arithmetic and math operators are implementation-dependent if you use very large or very small floating-point numbers.
POSTSCRIPT Fonts DocuPrint NPS contains 51 PostScript Type 1 fonts listed in the following table. These fonts are standard Type 1 fonts licensed through Adobe Systems, Inc. However, because DocuPrint NPS may contain different versions of fonts than other PostScript devices, there could be slight differences in shapes of characters and the character sets of certain fonts. Table 2-1.
POSTSCRIPT see the Generic MICR Fundamentals Guide and the “MICR printing”” chapter in the Guide to Configuring and Managing the System. DocuPrint NPS is capable of processing any legal Type 0, Type 1, or Type 3 font. Fonts of any of these types may be included in a document when it is sent to DocuPrint. Type 0, Type 1 and Type 3 fonts may also be installed on the system using the font installation utility. Note: Only Type 0 OCF fonts are supported. Type 0 CID fonts are not supported, even when downloaded.
POSTSCRIPT Type 1 fonts Type 1 fonts are base fonts with character shapes defined by using specially encoded PostScript procedures. Because characters are drawn by PostScript procedures, many visual elements that are not associated with fonts can be represented as characters in a Type 1 font. The multiple master font format is an extension of the Adobe Type 1 font format and is supported by DocuPrint NPS.
POSTSCRIPT • Font characters are cached so that multiple uses of a visual element in a document are rendered quicker if the elements are taken from a font than if they are read from supplementary files. • Including graphic images is easier when creating the document. Producing Type 1 fonts for use with DocuPrint Third-party software for font editing and creation is available for most popular personal computing systems.
POSTSCRIPT PostScript with embedded PJL commands PostScript files created for some Hewlett-Packard printers and other compatible printers include PJL commands that specify the use of a PostScript interpreter. DocuPrint NPS can recognize a file as PostScript if it starts with code similar to the following: ^[%-12345X@PJL ENTER LANGUAGE=POSTSCRIPT Other PJL commands can be included at the start of the job, but will be ignored.
POSTSCRIPT masters using cexec. Usage of cexec is typically hidden by the encryption of eexec. LaserWriter defines other entries in the System Dictionary that are specific to its device characteristics, such as extra operators that deal with the hard disk. Such operators are not part of the standard as defined in the PostScript Language Reference Manual, second edition, and are not implemented on DocuPrint NPS.
POSTSCRIPT Server Dictionary entries that contain defined values and routines to mimic the LaserWriter, but are not used by DocuPrint, include: baud25 baud9 execjob parity25 parity9 secretdict setrealdevice No other Server Dictionary operators defined in the LaserWriter are implemented in DocuPrint 1.5 and higher.
POSTSCRIPT Printer Dictionary Printer Dictionary ($printerdict) entries that are implemented include: framelimit height mtx width xoffset yoffset The following $printerdict print command operators are defined with null functionality. DocuPrint implements print-level commands as provided by the DocuPrint Client print commands. PostScript-level print commands are ignored.
POSTSCRIPT Examples of nonstandard definitions The following two dictionaries and their operators are examples of nonstandard (product-specific) definitions.
POSTSCRIPT image output on a 300 dpi printer. The 600 dpi image appears larger and in a different position on the page. Figure 2-1. 300 and 600 dpi image output 300 dpi image printed on a 300 dpi printer 600 dpi image printed on a 300 dpi printer In Figure 2-2, the 600 dpi halftone is distorted and only a portion of the image appears. Figure 2-2. 300 dpi image output Figure 2-3.
POSTSCRIPT To preserve image quality when printing on 300 dpi printers, regenerate the bitmaps at 300 dpi. The 600 dpi printers can accept jobs with resources in either 300 or 600 dpi. See “Maintaining image quality” in the “PCL5e” chapter for information about the recommended attribute settings to use when generating a document on your system. Some manufacturers have added hardware imaging enhancements to 300 by 300 dpi printers that effectively boost the apparent dpi by micro-controlling the laser beam.
POSTSCRIPT • Image data at output device resolution—PostScript image data that has a resolution matching the output device is typically transferred directly to the frame buffer with no modification. These images appear light on certain write-white printers. • Black lines on a color background print white—PostScript (or PCL) jobs that have black lines on a color background will print the lines with white borders. This is a characteristic of writewhite printing.
POSTSCRIPT Control-D as binary data and end-of-job The fact that control-D can be a valid PostScript end-of-file (EOF) delimiter in one communications protocol and invalid in another creates a paradox for PostScript printers that must accept jobs created for either communications mode without any indication of which communications mode was used. The recommended solution is described in “Solution to control-Z and control-D problems.
POSTSCRIPT Solution to control-Z and control-D problems The recommended solution for the problems induced by control-D and control-Z is to include the following PostScript definitions. They can be loaded permanently, or prepended to jobs that have these problems. These definitions catch illegal uses of these control characters and also allow the legal uses (binary data) to pass through untouched.
POSTSCRIPT • Illegal characters adjacent to legal characters.
POSTSCRIPT DocuPrint NPS implementation of PostScript Level 2 DocuPrint NPS implements the PostScript Level 2 operators; it conforms to the PostScript Language as defined in the PostScript Language reference manuals. DocuPrint does not support the following device-specific operators: banddevice, framedevice, and renderbands (device setup and output operators). These operators are device-specific.
POSTSCRIPT Printer Controller operations The DocuPrint NPS Printer Controller operates as follows: • PostScript stdout messages are printed on the “JOB MESSAGES AND ERRORS” page. DocuPrint PostScript prints error messages directed to %stderr on the “JOB MESSAGES AND ERRORS” page as well. • PostScript font substitution error messages appear on the “JOB MESSAGES AND ERRORS” page only when the requested font is not present and is not one of the DocuPrint base 51 font set.
POSTSCRIPT Figure 2-4. Stroke function The top illustration above shows four columns of three pixels on the printing device. The dashed lines intersect at the center points of the device pixels or dots. The columns from left to right are designated as columns 1, 2, 3, and 4. The lower illustration builds on the top illustration by adding two vertical line segments that will be stroked. The sides of the line to be stroked are indicated with solid bold lines.
POSTSCRIPT Zero-width lines (strokes) Zero-width lines are lines that have a line width set to zero by the PostScript master. These lines may not image. The best method is to specify the sizes of the hairline you want, such as .24 setlinewidth instead of 0 setlinewidth. Figure 2-5. Example illustrating fill function Thickness of Line Center Points of Pixels This illustration shows four rows of five pixels on the output device.
POSTSCRIPT — • The resolution of the source image (sample image) is lower than the device space, and the scaling of source-image-todevice space is an integer multiple and rotation is in multiples of 90 degrees. Scan Conversion paints any pixel whose square region intersects the shape if the resolution of the source image is lower than that of device space, and the scaling between source image and device space is not an integer multiple.
POSTSCRIPT Rendering of color and gray values: transfer function PostScript devices approximate source color values by a sampling and halftoning technique. These values can be modified by changing the output transfer function. The transfer function permits the correction of color (including gray) values to compensate for nonlinear color (and gray) level response in both an output device and the human eye.
POSTSCRIPT PostScript printer description (PPD) files PostScript printer description files (PPD files) are readable text files that provide information about the special features of your printing device to the application program running on your host system. PPD files include information about page sizes, finishing features, and fonts, among other items. PPD files are stored on a client workstation or PC where they can be parsed by applications.
POSTSCRIPT Table 2-2. Quantity Limit integer Largest: 231-1 Smallest: -2 real Implementation limits Description _ 31 Largest: 1038 Actual values are slightly less than 10 38 and slightly more than -1038.
POSTSCRIPT status and bytesavail return different results when output is compared among different implementations of PostScript, due to differences in the implementation of file I/O. Path limits The LaserWriter has a limit of 1500 path segments that can be defined in the current path. Any master that exceeds this limit generates a limitcheck error. DocuPrint NPS uses a different scheme for representing paths in its internal memory than that used by the LaserWriter.
POSTSCRIPT Figure 2-7. Typical desktop printer device coordinate PostScript storage object size limits The two main PostScript storage objects are the font cache and virtual memory (VM), which stores composite PostScript data structures such as the user and system dictionaries. The font cache, VM, and data structures in VM do not have standard sizes. Therefore, test masters that print out these object sizes are useless for testing consistency across different PostScript printers.
POSTSCRIPT Creating the necessary PostScript CCITT Group 3 and 4 You can embed an image that is compressed to CCITT group 4 specifications in the PostScript. You need to add several standard PostScript statements before the embedded image to provide the image parameters, and to properly use the FaxDecode filter. Images use the PostScript image, imagemask, and filter (CCITTFaxDecode filter) operators.
POSTSCRIPT For any image, there are eight such sequences (four scan origin possibilities, with either a row or a column order choice for each). Any of these sequences may be used in a PostScript program as long as the image-to-user coordinate transformation matrix is prepared correctly. Purpose There is one sequence in each case that enables the fastest processing on DocuPrint NPS. You should know why there is a difference in speed depending on the order chosen, and how to choose the optimum order.
POSTSCRIPT Figure 2-9. Image orientation mismatch B Printer’s paper orientation Image Output A Slow Slow Rotated A A Fast Output without rotation Output with rotation The scan order of an image relative to the content of the image is not important. It is important that the scan order of the image in the desired orientation is relative to the scan order of the page.
POSTSCRIPT Figure 2-10.
POSTSCRIPT Considerations The scan order of an image relative to the content of the image is not important. It is important that the scan order of the image in the desired orientation is relative to the scan order of the page.
POSTSCRIPT the image relative to the PostScript default image and user coordinate systems. Scan resolution and scaling Just as rotation of an image is often required to produce correct output, scaling is also often required. To reduce imaging time, present the data so that scaling is not required; supply data for 300 dots per inch of output size in both dimensions.
POSTSCRIPT Figure 2-12. PostScript with embedded image: normal scan order %!PS - Adobe - 3.0 % G4.example.ps % Example using embedded CCITT group 4 (G4) data. % Example using data in "normal" scan order, which has the fast scan % direction left-to-right, and the slow scan direction top-to-bottom. % Page size is roughly 8.5x11 (slightly clipped). % Data has resolution of 300 spots per inch. % Fast scan direction for the image is left-to-right across the page.
POSTSCRIPT Figure 2-13. PostScript with embedded image: reordered data for optimum scan example %! PS-Adobe-3.0 % G4.example.ps % Example using embedded CCITT group 4 (G4) data. % % % % For optimal printing speeds, the scan data should be aligned with the printing orientation, which scans the long edge of the page. Fast scan direction for the image is bottom-to-top across the page. Slow scan direction for the image is left-to-right down the page.
POSTSCRIPT Figure 2-14. Actual PostScript print %!PS-Adobe-3.0 %%Emulation: ccitt %%LanguageLevel: 2 %%Requirements: duplex (off) %%Requirements: numcopies (1) %%Requirements: staples(none) %%DocumentMedia: letter 612 792 75 white () %%DocumentMedia: white 612 792 75 white () %%EndComments %%BeginSetup << /Duplex false /NumCopies 1 /PageSize [612.00 792.00] >> setpagedevice %%EndSetup %%Page: 1 1 save 0.0000 792.0000 translate 612.4800 -792.
POSTSCRIPT 2-36 XEROX DOCUPRINT NPS GUIDE TO USING PAGE DESCRIPTION LANGUAGES
3. 3VIPP Variable Data Intelligent PostScript PrintWare, or VIPP, (formerly XGF) provides a facility for the easy integration of data, forms, and images from host applications to the PostScript environment. VIPP offers the following benefits: • Allows imaging and data processing applications to produce an easy-to-implement data stream that is PostScript-compliant. • • Provides access to optimal performance.
VIPP Functionality In native mode, an application program uses the following operators to control how data is placed on a page: • • • • • • • Orientation (P, L, I, J) • Image merge (including TIFF header interpretation, scaling, rotation, and CCITT Group 3 and 4). • Decomposition Service forms merge.
VIPP VIPP line mode extension (XGFNub) The VIPP line mode extension (formerly called XGFNub) is a DocuPrint NPS (Version 1.4 and higher) extension that enables users to execute VIPP commands at the start of any VIPP document. Multiple sets of commands may be enabled by the DocumentFormat attribute. To invoke a command set named xxx, just set the DocumentFormat attribute to “XGF/xxx.” The following is an example of the extension used to execute the VIPP command (job1.
VIPP 3-4 XEROX DOCUPRINT NPS GUIDE TO USING PAGE DESCRIPTION LANGUAGES
Index Symbols #copies operator, 2-7 %stdin, 2-24–2-25 .
INDEX E G EBCDIC, 3-1 eexec operator, 2-6 embedding images, 2-27, 2-33 engine write-black, 2-12–2-13, 2-21 write-white, 2-12–2-13 enhancement, resolution, 2-10–2-13 EOF delimiters, 2-14–2-16 error limitcheck, 2-25 undefined command, 2-14 Execution Dictionary operators, 2-9 exitserver operator, 2-16, 2-18 extensions, proprietary PostScript, 2-13 graphics bitmap, 2-4, 2-12 raster, 1-2 vector, 1-2 gray values, rendering, 2-22 F I fast scan direction, 2-27, 2-28, 2-30 fax resolution, 2-27 features, devic
INDEX path, 2-25 storage object size, 2-26 virtual memory, 2-25 limitcheck error, 2-25 line mode, 3-1, 3-2 line mode extension, 3-3 lines, zero-width, 2-20 loading fonts, 2-3, 2-5 logos, 2-4 SetCacheDevice, 2-25 setfileposition, 2-17 setflat, 2-20 setgray, 2-22 setlinewidth, 2-18, 2-20 setscreen, 2-25–2-26 stroke, 2-18–2-19 optimized scaling, 2-32 orientation, 2-25–2-26, 2-28 ozone, iii M P mapping user coordinates, 2-1 master, PostScript, 2-21 math operators, 2-1 media selection precedence, PCL, 1-10
INDEX PPD files, 2-23 specifications, 2-23 pre-enhancement, 2-12 print engine write-black, 2-12–2-13, 2-21 write-white, 2-12–2-13 resolution, recommended, 1-2 speed, 2-27 Printer Control Language, see PCL Printer Controller operations, 2-18 Printer Dictionary operators, 2-9 Printer Job Language, see PJL printing duplex, 1-6 R raster graphics, 1-2 rendering color, 2-22 gray, 2-22 image, 2-29 resolution, 2-20 enhancement, 2-10–2-13 fax, 2-27 PCL 5, 1-2 restore context, bypassing, 2-7 rotate operator, 2-29, 2
INDEX X x axis, 2-28 Xerox Generic Format, see VIPP XGF, see VIPP XGFNub.
INDEX INDEX-6 XEROX DOCUPRINT NPS GUIDE TO USING PAGE DESCRIPTION LANGUAGES