Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have one of HP's older LaserJet printers (specifically, model 4000). It's supposed to understand PostScript, but it will frequently refuse to print things that other printers, evince, and ghostscript are all perfectly happy with. I used to be able to work around this by running everything through ps2ps with the output language level forced to 1, but this week I have a document that even that's not good enough for; it prints two pages of 11 and gives up. If I manually feed the document to the printer on TCP port 9100 so I can see errors (rather than using a print spooler) I get this:

%%[ Error: undefined; OffendingCommand: ⬜ ]%%
%%[ Flushing: rest of job (to end of file) will be ignored ]%%

where that ⬜ should be the 'no such character in this font' dingbat. Needless to say, there are no non-ASCII characters anywhere in the file. The document that's immediately a problem is pdfTeX output, but I've also had these problems with printing from Firefox, Inkscape, and OpenOffice (all of which, IIRC, use cairo to generate PostScript, so perhaps that's not as big of a sample as one would think). This is not a print spooler issue, I get the same problems feeding the printer by hand with netcat.

Can anyone suggest general troubleshooting tactics for this kind of problem, and/or a way to rewire the damn thing so it is less finicky about its input?

share|improve this question

1 Answer 1

up vote 0 down vote accepted

You say Ghostscript has no problem with the file? Ok, then try this:

First Option:

  1. first convert it to PDF, and
  2. then print the PDF (the normal way via spooler).

Here's a Ghostscript commandline (for Windows) that will create a PDF:

gswin32c.exe ^
     -dBATCH ^
     -dNOPAUSE ^
     -sDEVICE=pdfwrite ^
     -dSAFER ^
     -r600x600 ^
     -dFIXEDMEDIA ^
     -sDEFAULTPAPERSIZE=a4 ^
     -dPDFSETTINGS=/printer ^
     -sOutputFile=problematic.pdf ^
     c:/path/to/your/problematic.ps

Check stdout and stderr output to see if Ghostscript gives any warnings or errors while converting. Once you have your PDF, check which fonts are used (and if they are embedded or not).

Second Option:

  1. first convert the problematic file to PCL, and
  2. then print the PCL (bypassing the spooler, using netcat).

Here's a Ghostscript commandline (for Windows) that will create a PCL:

gswin32c.exe ^
     -dBATCH ^
     -dNOPAUSE ^
     -sDEVICE=ljet4d ^
     -dSAFER ^
     -r600x600 ^
     -dFIXEDMEDIA ^
     -sDEFAULTPAPERSIZE=a4 ^
     -sOutputFile=problematic.pcl ^
     c:/path/to/your/problematic.ps
share|improve this answer
    
Thanks! I will try these things - probably not till the weekend, though. –  Zack Jul 28 '10 at 20:09
    
Converting the file to PCL manually worked, so I reconfigured my computer to send PCL instead of PostScript, and can now print the original PDF with no problems. Wish I'd thought of that ages ago. Thanks again. –  Zack Jul 29 '10 at 2:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.