LaserJet 4000 и его худший интерпретатор PostScript

531
zwol

У меня есть один из старых принтеров HP LaserJet (в частности, модель 4000). Предполагается, что он понимает PostScript, но часто отказывается печатать то, что другим принтерам, evince и ghostscript все совершенно нравится. Раньше я мог обойти это, выполнив все до конца ps2psс уровнем выходного языка, установленным на 1, но на этой неделе у меня есть документ, для которого даже этого недостаточно; он печатает две страницы по 11 и сдается. Если я вручную подаю документ на принтер через TCP-порт 9100, чтобы я мог видеть ошибки (вместо использования диспетчера очереди печати), я получаю это:

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

где это ⬜ должно быть дингбатом «нет такого символа в этом шрифте». Излишне говорить, что в файле нет символов не ASCII. Непосредственно проблемой является документ pdfTeX, но у меня также были такие проблемы с печатью из Firefox, Inkscape и OpenOffice (все из которых, IIRC, используют cairo для генерации PostScript, так что, возможно, это не такой большой пример, как можно подумать). Это не проблема диспетчера очереди печати, у меня возникают те же проблемы, что и при загрузке принтера вручную с помощью netcat.

Кто-нибудь может предложить общую тактику устранения неполадок для такого рода проблемы и / или способ переписать эту чертову штуку, чтобы она была менее требовательна к ее вводу?

2

1 ответ на вопрос

0
Kurt Pfeifle

Вы говорите, Ghostscript не имеет проблем с файлом? Хорошо, тогда попробуйте это:

Первый вариант :

  1. сначала преобразовать его в PDF, и
  2. затем распечатайте PDF (обычным способом через спулер).

Вот командная строка Ghostscript (для Windows), которая создаст PDF:

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

Проверьте вывод stdout и stderr, чтобы увидеть, выдает ли Ghostscript какие-либо предупреждения или ошибки при конвертации. Когда у вас есть PDF, проверьте, какие шрифты используются (и если они встроены или нет).

Второй вариант:

  1. сначала преобразовать проблемный файл в PCL, и
  2. затем распечатайте PCL (минуя спулер, используя netcat).

Вот командная строка Ghostscript (для Windows), которая создаст PCL:

gswin32c.exe ^ -dBATCH ^ -dNOPAUSE ^ -sDEVICE=ljet4d ^ -dSAFER ^ -r600x600 ^ -dFIXEDMEDIA ^ -sDEFAULTPAPERSIZE=a4 ^ -sOutputFile=problematic.pcl ^ c:/path/to/your/problematic.ps 
Thanks! I will try these things - probably not till the weekend, though. zwol 13 лет назад 0
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. zwol 13 лет назад 0