2

У меня есть один из старых принтеров 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 ответ1

0

Вы говорите, 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .