You can get a PostScript error any time the printer cannot understand the print language emulation being sent to it.
Here are a few of many possible causes:
1) The print driver is selected to PCLXL (or PCL6: same thing), and the printer is selected to KPDL (or PostScript: same thing). Or vice versa. Or line printer, or one of many possible print emulations. The settings must match, or the printer must be set to “Auto” to self determine which emulation to use.
2) The print emulation data in the header of the print job is corrupt, so the printer cannot determine what language to use. This can be caused by a bad cable, a corrupt print driver, or possibly having multiple versions of the same print driver loaded on the same server.
3) The hardest one to narrow down is when the data coming to the printer is not really print data at all. It’s some other kind of data being sent to the printers IP address, usually from an automated source.