Создание очереди, не обрабатывающей PostScript-данные
🕛 21.06.2009, 23:28
Если вы хотите использовать на клиентской машине драйвер, генерирующий информацию в формате, отличном от PostScript, вам надо создать в системе Linux очередь принтера, в которой не предпринимались бы попытки модифицировать данные, переданные на печать. Некоторые фильтры Linux распознают ряд языков и передают соответствующие данные принтеру в неизменном виде, поэтому не исключено, что вам удастся использовать обычную очередь печати. Если же задания, помещенные в такую очередь, исчезают или выводятся в искаженном виде, вам придется создать очередь без обработки (raw queue).Для создания очереди без обработки надо сформировать обычную очередь печати, а затем внести изменения в файл /etc/printcap (при условии, что на вашем компьютере используется система печати BSD или LPRng). В частности, вам надо удалить из описания очереди строку if= либо задать пустое значение if. Эта строка определяет фильтр печати Linux, и ее удаление приведет к тому, что задание будет передаваться из очереди на принтер в неизменном виде. Пример описания очереди приведен ниже.
Ip|hp4000|raw:\ :lp=/dev/lpO:\ :sd=/var/spool/lpd/lp:\ :mx#0:\ :sh:\ :if=:В данном примере указаны три имени принтера: lp, hp4000 и raw. Данные из этой очереди выводятся на устройство печати /dev/lpO, а в качестве каталога спулера используется /var/spool/lpd/lp. (Заметьте, что указанный здесь каталог отличается от каталога спулера Samba. Файл сначала располагается в каталоге спулера Samba, а затем перемещается в /var/spool/lpd/lp.) Опция тх#0 снимает ограничения на размер файла печати, a sh запрещает вывод страницы заголовка. Поскольку в строке if= не указан фильтр печати, данные передаются в неизменном виде.
Определяя разделяемый объект принтера для очереди без обработки, необходимо убедиться, что параметр postscript отсутствует. Если же этот параметр указан, для него должно быть установлено значение No. Идентификатор PostScript в составе задания на печать скорее всего нарушит работу принтера, не поддерживающего данный язык.