What’s covered
- Viewing or printing a PostScript error message
- Using the PostScript error message to start troubleshooting
- PostScript error types
- PostScript offending commands
Troubleshooting possible causes of a PostScript error
You may receive a PostScript error when sending a file to a PostScript interpreter (for example, a printer, Acrobat Distiller). A PostScript error occurs when the PostScript interpreter can’t read the file’s PostScript code, or if the file’s PostScript code exceeds one or more of the limits built into the PostScript page description language. If your PostScript interpreter appears to process data but then stops, a PostScript error may have occurred.
A PostScript error message includes a PostScript error type, defining what sort of error it is, and an offending command, which usually indicates the specific part of the PostScript code that the interpreter couldn’t read. The offending command usually indicates the command that caused the problem. Some PostScript errors will point you right to the cause of the problem, and some will get you looking in the right direction.
PostScript errors usually look like this:
%%[Error: ; OffendingCommand: ]%%
For example, the PostScript error %%[Error: dictfull; OffendingCommand: def ]%% contains the PostScript error type “dictfull” and the offending command “def.” The error type indicates that the dictionary contains the maximum number of entries; the offending command is the last command the PostScript interpreter tried to process, “def,” which defines a new word in the dictionary.
Viewing or printing a PostScript error message
If you think a PostScript error has occurred, but it doesn’t appear on-screen or in your printout, you may be able to view or print the error message by doing one or more of the following:
- Use an error handler utility. For example, Adobe PageMaker has the Include PostScript Error Handler option in the Print Options dialog box.
- In Windows, configure the printer to print the error message:
Note: In Windows NT, you cannot configure a printer to print an error message.
Windows XP or 2000:
- Choose Start > Settings > Printers.
- Right-click the target printer, and then choose Properties from the pop-up menu.
- Click Printing Preferences, and then click Advanced.
- Click PostScript Options, click Send PostScript Error Handler, and then choose Yes from the pop-up menu.
Note: If PostScript Options isn’t visible, double-click Document Options.
Windows Me or 98:
- Choose Start > Settings > Printers.
- Right-click your target printer, and then choose Properties from the pop-up menu.
- In the printer’s Properties dialog box, click the PostScript tab.
- Select the Print PostScript Error Information option, and then click OK.
- In Mac OS, configure the Apple LaserWriter 8 or Adobe PS printer driver to print the error message by doing one of the following in the Print dialog box:
- Choose either Job logging or Error Handling from the pop-up menu, click Options, select either Summarize on Screen or Print Detailed Report, and then click Print.
- Choose Background Printing from the pop-up menu, select Foreground, and then click Print.
Using the PostScript error message to start troubleshooting
After you identify a specific PostScript error message, you can begin troubleshooting the cause. To begin troubleshooting a PostScript error, locate the error type and offending command in the “PostScript Error Types” and the “PostScript Offending Commands” sections of this document. You can then try to repair the problem.
For example, you may receive the PostScript error “%%[Error: limitcheck; OffendingCommand: image ]%%.” Your first step is to locate “limitcheck” in the “PostScript Error Types” section. The “PostScript Error Types” section lists “limitcheck” under the heading “Exceeds printer’s memory or PostScript language limit.” The “PostScript Offending Command” lists “image” under the heading that indicates a problem with bitmap data. So you have bitmap data that exceeds the printer’s memory or PostScript language limit. The likeliest source of bitmap data is a graphic in your file. You can then check graphics in your file to see if one or more is causing the problem. If you find a likely culprit, you can delete the graphic, reimport it, save it in different format, or simplify it (for example, reduce its dpi). You can also try printing the file to a printer with more memory.
Some PostScript errors won’t help you determine a likely cause. For example, you may receive the PostScript error “%%[Error: undefined; OffendingCommand: ]%%.” The “PostScript Error Types” section lists “undefined” under the “Errors that indicate unintelligible PostScript code” heading. The “PostScript Offending Command” section lists “” under the heading that indicates a problem with any element or file. In this case, your file contains PostScript code the PostScript interpreter can’t recognize. See the “Troubleshooting Possible Causes for the PostScript Error” section to continue troubleshooting.
PostScript Error Types
This section lists common error types, grouped by general cause.
The following error types indicate that something exceeds the PostScript interpreter’s memory or a PostScript language limit:
- dictfull
- fatal system error at [various]
- limitcheck
- VMerror
The following error types indicate communication problems:
- interrupt
- ioerror (may also be caused by a disk problem on the printer’s hard disk, such as a bad sector)
- timeout
The following error types indicate the file contains unintelligible PostScript code:
- configurationerror
- dictstackoverflow
- dictstackunderflow
- execstackoverflow
- handleerror
- invalidaccess
- invalidexit
- invalidfileaccess
- invalidfont
- invalidrestore
- nocurrentpoint
- rangecheck
- stackoverflow
- stackunderflow
- syntaxerror
- typecheck
- undefined
- undefinedfilename
- undefinedresource
- undefinedresult
- unmatchedmark
- unregistered
PostScript Offending Commands
This section lists common offending commands, grouped by general cause.
The following offending commands indicate a problem with specific text or a font element:
- addglyph
- ashow
- awidthshow
- charpath
- definefont
- findfont
- imagemask
- kshow
- makefont
- removeglyphs
- selectfont
- show
- startdata
- stringwidth
- usefont
- widthshow
The following offending commands indicate a problem with specific masks (for example, clipping paths):
- clip
- eoclip
The following offending commands indicate a problem with fills and lines, often in imported object-oriented, or vector, graphics (for example, EPS, PICT):
- arc
- arcto
- currentpoint
- curveto
- eofill
- fill
- lineto
- moveto
- rcurveto
- rlineto
- setdash
- setlinecap
- setlinejoin
- shfill
- stroke
The following offending commands indicate a problem with bitmap data:
- colorimage
- image
- imagemask (associated with 1-bit image bitmap graphics and bitmap fonts)
The following offending commands indicate a problem with any element or graphic:
- array
- currentsmoothness
- currenttrapparams
- def
- dict
- exch
- get
- index
- itransform
- nostringval
- packedarray
- put
- restore
- save
- setcolor
- setgray
- setpageparams
- setsmoothness
- settrapparams
- settrapzone
- setscreen
- [random characters]
Troubleshooting Possible Causes of a PostScript Error
While many PostScript error messages readily indicate the source of a problem, you need to troubleshoot a problem further if you receive a non-specific PostScript error message, or if a PostScript error occurred without a message. To troubleshoot a PostScript error, isolate when the problem occurs to determine if it is a system-level, application-specific, file-specific, or element-specific problem. After you isolate when the problem occurs, you can eliminate likely causes until you solve the problem.
Isolating System-Level Printing Problems
Do you receive the error from more than one application? If the same problem occurs from more than one application, the cause is most likely a problem at the system level. System-level problems are commonly caused by damaged fonts, damaged system files, damaged printer drivers, insufficient hard disk space, network problems, or hardware problems. If the problem occurs only from one application, see the “Isolating Application-Specific Problems” section.
Make sure that you use an up-to-date PostScript device driver (for example, printer driver), or that you use the version of the driver required by the application. You also need plenty of free hard disk space when sending a file to a PostScript interpreter, especially when you print a large file. Make sure that free hard disk space is defragmented.
If you print to an external PostScript device, secure loose connectors (for example, cables, switch boxes) by unplugging and replugging them. You can easily tell if a connection to an external device is severed altogether: The device won’t receive any data, so nothing happens. But if a connection is loose, the symptoms of a problem may be unclear: the device might receive small jobs only, or its driver may appear only intermittently in a the Chooser in Mac OS.
If you print to an older PostScript printer or one that uses a PostScript emulator (for example, a LaserMaster or LexMark printer), it may not recognize newer PostScript code. Try printing the file to a printer or RIP that contains a more current version of Adobe-licensed PostScript.
Isolating Application-Specific Problems
Do you receive the error only from a single application, and in every file from that application? To determine if the error is being caused by the application or by a specific file, create a new file containing only a simple element, such as a rectangle or line. If the error doesn’t occur with this test file, the application itself isn’t causing the error, so you can move to the “Isolating File-Specific Problems” section. If this test file does cause the error, the application software may be damaged. Delete the application’s preferences file, and then reinstall the application from the original installation disks.
Isolating File-Specific Problems
Do you receive the error only with a specific file or files? If the error occurs only with a specific file, the file may have the wrong print settings selected for your PostScript interpreter, it may be damaged, or it may contain a problem element (for example, a damaged graphic). You can begin troubleshooting the file by using the same print settings as those of a file that doesn’t cause an error.
To determine if the file itself is damaged, copy the file’s contents into a new file, save the new file using the Save As command, and then see if the error occurs with the new file. If the error doesn’t occur, the original file is damaged. If the error does occur, run any built-in diagnostic routines your application offers.
Isolating Element-Specific Problems
Do you receive the error only with a specific page or elements on a page? After you rule out a damaged file as the cause, the error is likely caused by a damaged or incorrectly written element or font. It may also be caused by an element or combination of elements that requires more memory than is available. If the error occurs with a range of pages, look for common elements on those pages. If you can print all elements individually or in small groups, but not all at the same time, the combination of elements you print requires more memory than is available.
To isolate the element or elements that cause the problem, make a copy of the file. Then send groups of pages to the PostScript interpreter. If a group causes an error, print one page at a time from that group. Continue sending pages until you narrow down the problem page. You can then isolate the elements causing the problem by removing elements from each page. If you remove a page and the error doesn’t recur, the elements you just removed cause the problem.
If an element that causes the problem is text or an element you created in the application, re-create the element. For text elements, you can also try using a different font (for example, reformat the text using a different kind of font). If the error doesn’t recur with a different font, the previous font is damaged and you should reinstall it from the original media.
If the element causing the problem is an imported graphic, first try reimporting the graphic. If the error still occurs, open the graphic in the application in which it was created, resave itwith a different name, make sure that it prints from that application, and then reimport the graphic. If the imported graphic still causes the error, try resaving it in a different format, exporting it from a different application, or simplifying it so that it requires less memory. An imported graphic can cause a PostScript error if it contains damaged or incorrectly written information, or if it is too complex for the PostScript interpreter (for example, it requires more memory than is available).
If the file causes a PostScript error because it is too complex, simplify it and see if it will print. To begin simplifying a complex file, reduce the number of imported graphics, reduce the number of fonts that must be downloaded, reduce the number of text effects (for example, skewing, rotation), delete elements you don’t need, create paths using fewer points, or reimport bitmap images with ones that have been resampled at a lower resolution. Graphic formats such as EPS are updated periodically, so older applications may use an older graphic standard that newer PostScript interpreters may not understand.
Article entirely via Adobe