This page contains basic information about PostScript errors:
- What are they?
- What does the actual message look like?
- Is it possible to solve such an error?
- Why do PostScript errors even exist?
What is a PostScript error?
Every PostScript device contains a RIP (or Raster Image Processor). This is a computer that translates the pages you want to print from PostScript into a format that the PostScript device understands. If the RIP encounters an error while performing this translation, it returns a PostScript error message to the device that send the file. The error can be caused by bugs in the PostScript code itself, data corruption, limitations of the RIP and PostScript device processing the file, incompatibilities between different devices or applications, bad karma,…
What do PostScript errors look like?
A PostScript error has two parts: the error and the offending command. Take a look at a typical PostScript error:
%%[Error: limitcheck; Offending command: image ]%%
The error tells you exactly what problem the RIP encountered while processing your file. In the example, it is a limitcheck. Thankfully, there are a limited number of errors that can occur on PostScript devices. I think there are about 30 or so but I could be wrong. The offending command signals what specific PostScript command (or operator as they are called) was being processed by the RIP when the error occurred. In some cases, the offending command doesn’t really look like a command but it is a series of random characters. This means the RIP has encountered some information in your printfile that it considers to be a PostScript operator but is not. This can happen with corrupted images, bad network connections and so on.
Can PostScript errors be solved?
Well, this website wouldn’t make much sense if that wasn’t possible. Of course, it helps if you know the famous Adobe Red Book by heart. But knowledge of the PostScript language is no prerequisite for troubleshooting PostScript errors.
In reality, it is often a matter of luck. Errors caused by bugs in applications or drivers are sometimes well documented and easy to resolve. The same is true for errors caused by limitations or bugs in the software of the RIP itself. Errors caused by corrupted data can be tricky to troubleshoot. The same is true for PostScript errors caused by incompatibilities between different applications and RIPs.
Why do PostScript errors even exist?
In a perfect world, error messages wouldn’t exist. But unfortunately we are stuck in a real world and errors usually occur on big jobs that are already past their deadline. Much of the problems with PostScript are related to the fact that PostScript is really a programming language. There is no well defined way to describe in PostScript how a single character ‘A’ should be put on an A4 size page. There must be hundreds of way to achieve this in PostScript.
This freedom of expression allows every individual programmer of prepress applications to write PostScript his (or her) way. Of course this can only lead to misunderstandings between applications and RIPs.
Another source of errors is the mingling of PostScript data. Back in the days when PageMaker ruled (alongside dinosaurs I hear you think) PostScript data flowed straight from PageMaker to the trusty old LaserWriter. Nowadays encapsulated PostScript from PhotoShop is put in an Illustrator file. This is saved as an AI file, put on a QuarkXPress page, exported to PostScript again, put in an imposition application next to several other PostScript pages and then finally send to the RIP where a trapping module reprocesses the data before actually starting the interpretation process. Lots of applications, lots of places where errors can occur.