LaserJet 4000 и его худший интерпретатор PostScript
У меня есть один из старых принтеров 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.
Кто-нибудь может предложить общую тактику устранения неполадок для такого рода проблемы и / или способ переписать эту чертову штуку, чтобы она была менее требовательна к ее вводу?
1 ответ
Вы говорите, Ghostscript не имеет проблем с файлом? Хорошо, тогда попробуйте это:
Первый вариант:
- сначала преобразовать его в PDF, и
- затем распечатайте 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, проверьте, какие шрифты используются (и встроены они или нет).
Второй вариант:
- сначала преобразуйте проблемный файл в PCL, и
- затем распечатайте 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