Problem PDF files

From CS Support Wiki
Revision as of 23:11, 3 February 2009 by Jpr9c (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Problem

There is a problem with some PDF files "wedging" our HP printers; this is due to a hardware bug in the HP JetDirect cards in our printers. The JetDirect cards have hardware PostScript interpreters, and apparently, when the PDF is rendered, it tickles a PS bug. The result is the generic:

Service Error: 49.xxxx

The 'xxxx' varies, depending on the PDF.

The only way to get the printer operative again is to power-cycle the printer. Unfortunately, the print server is generally waiting to re-start the exact same job, as soon as you do this, and after printing perhaps a few pages, the printer "wedges" again.

The Solution

Because this is a bug in the hardware interpreter, there is no firmware update or patch for the JetDirect cards we currently have in our printers. Newer printers with a new and different JetDirect card appear to be fixed. The fix is to replace the printer; unfortunately, we can't afford to replace all the printers in the department at once, particularly given...

The Workaround

If you have a PDF which is causing the printer to hang, please do not re-submit it to the print queue. Please cancel your own existing job so the queues will run for other users, before power-cycling the printer.

We have found that the open-source Aladdin GhostScript PDF-to-PostScript conversion program generates a PS version of these PDFs, which will reliably print on the affected JetDirect cards. This software is installed on all Solaris and Ubuntu systems in the department; the instructions given below are for converting these files on one of these systems. It is possible to generate a 'safe' PS file on Windows using the PS-FILE printer on \\kore, but you will still need to log onto a unix system (or know some cmd.exe and net.exe invocations) to get the PS printed. So, grab a shell on a *nix box and:

1. Save the PDF to some directory in your home directory:

jpr9c@cordelia:~$ cd work/stankovic
jpr9c@cordelia:~/work/stankovic$ ls -l
total 328
-rw-r--r-- 1 jpr9c staff 323455 2009-02-03 16:43 db.pdf

2. Use the "pdf2ps" binary (should be in your path) to convert:

jpr9c@cordelia:~/work/stankovic$ pdf2ps db.pdf
jpr9c@cordelia:~/work/stankovic$ ls -l
total 1712
-rw-r--r-- 1 jpr9c staff  323455 2009-02-03 16:43 db.pdf
-rw-r--r-- 1 jpr9c staff 1405027 2009-02-03 17:44

3. Send the nice, clean PS file off the printer - with lp or lpr:

jpr9c@cordelia:~/work/stankovic$ lp -d cs_bw1 
request id is cs_bw1-8099 (1 file(s))

4. Read your nice file.