файлам, которым нужна большая фильтрация перед
печатью. Вы метите фильтр как работающий только
с последними принтерами.
-15-55а-
В большинстве случаев фильтр должен иметь
возможность работы со всеми принтерами, которые
принимают выход, производимый фильтром, поэтому
вы можете оставить эту часть определения фильтра
пустой.
Тип фильтра обслуживание печати распознает быстрые фильтры и
медленные фильтры. Быстрые фильтры метятся fast
либо потому, что они имеют малые накладные рас-
ходы при подготовке файла к печати, либо
-15-56-
потому, что они должны иметь доступ к принтеру,
когда выполняются. Фильтр, который должен ре-
гистрировать сбои принтера,должен быть быстрым
принтером. Медленные фильтры являются прямой
противоположностью. Фильтры, имеющие небольшие
накладные расходы на подготовку файла и не имею-
щие доступ к принтеру, должны метиться как мед-
ленные. Обслуживание печати выполняет медленные
фильтры в фоне без привязки к принтеру. Это поз-
воляет пересылать вперед файлы, требующие быст-
рой фильтрации (или без фильтрации), принтеры не
простаивают, пока медленный фильтр работает с
файлом, если печатаются другие файлы.
Команда Это полное имя пути выполнения программы. Это
фильтр. Если имеются любые фиксированные возмож-
ности, которые необходимы программе, вы можете
включить их здесь.
Возможности Возможности, которые нужны программе фильтру,
зависящие от различных режимов и других аспектов
печати, которые могут быть зарегистрированы для
фильтра. Это обсуждается подробнее позднее.
После того, как вы собрали эту информацию о фильтре, вы
можете использовать ее как вход для эквивалента sysadmsh коман-
ды lpfilter(ADM). (В этом разделе не обсуждается строка команды
lpfilter).Вы можете захотеть сначала зарегистрировать эту ин-
формацию в вашем собственном файле для облегчения редактирова-
ния информации при ее вводе. Далее вы можете передать файл на
ввод. Однако при его вводе следует представить информацию сле-
дующим образом:
Input types: input-types-list
Output types: output-types-list
printer types: printer-type-list
Printers: printers-list
Filter type: fast or slow
Command: command
Options: template-list
1 - входные типы: вход-тип-список;
2 - выходные типы: выход-тип-список;
3 - типы принтера: принтер-тип-список;
4 - принтеры: принтер-список;
5 - тип фильтра: быстрый или медленный;
-15-56а-
6 - команда: простая команда;
7 - возможности: шаблон-список.
Информация может появиться в любом порядке. Не вся инфор-
мация должна приводиться. Таблица 15.5 содержит значения по
умолчанию, используемые для любой пропущенной информации.
-15-57-
Таблица 15.5
Элементы фильтра по умолчанию
Элемент По умолчанию
---------------------------------------------------------------------------
входные типы любой
выходные типы любой
типы принтера любой
принтеры любой
тип фильтра медленный
команда (нет умолчания)
возможности (нет)
Как вы можете видеть значения по умолчанию определяют
очень гибкий фильтр, так что вы вероятно должны обеспечить по
крайней мере входной и выходной тип (типы). Когда вы вводите
список, разделяйте элементы в списке пробелами или запятыми.
Шаблоны
Вся информация объяснена, кроме template-list (шаблон-спи-
сок). Далее следует информация о том, как регистрируются режимы
и аспекты печати.
Шаблон-список - это список шаблонов, разделенных запятыми,
он имеет следующий вид:
keyword pattern = replacement
keyword (ключевое слово) должно быть одним из перечисленных в
следующей таблице. Оно метит шаблон, как регистрирующий отдель-
ную характеристику печати. pattern (образец) - это либо значе-
ние характеристики, либо звездочка (*), которая имеет смысл
структурного нуля для любого значения.
-15-58-
Таблица 15.6
Ключевые слова шаблона
Характеристика Ключевое слово Возможные образцы
---------------------------------------------------------------------------
Тип содержимого INPUT Ъ1содержимое-тип Ъ 0
(вход)
Тип содержимого OUTPUT Ъ1содержимое-тип Ъ 0
(выход)
Тип принтера TERM Ъ1принтер-тип Ъ 0
Шаг символа CPI Ъ1целое Ъ 0
Длина страницы LENGTH Ъ1целое Ъ 0
Ширина страницы WIDTH целое
Страницы для печати PAGES страница-список
Набор символов CHARSET символ-набор
Имя формы FORM форма-имя
Число копий COPIES целое
Режимы MODES режим
Источником значений для этих шаблонов являются:
- значения шаблонов INPUT и OUTPUT определяются типом фай-
ла, который должен преобразовываться фильтром и выходным
типом, который должен формироваться соответственно. Каждое
из них будет иметь тип, зарегистрированный с фильтром.
- значением шаблона TERM является тип принтера.
- значения для шаблонов CPI, LPI, LEHGTH и WIDTH определя-
ются запросом пользователя, используемой формой или значе-
ниями по умолчанию для принтера.
- значением для шаблона PAGES является список страниц, ко-
торые должны печататься. Обычно - это список диапазонов
страниц, либо пара чисел, либо отдельное число, каждый ди-
апазон разделяется запятой (например 1-5, 6, 7 и 8). Одна-
ко значение, заданное в возможности -Р для печати запроса
передается неизменным.
- значение шаблона CHARSET - это имя используемого набора
символов.
- значение для шаблона FORM - это имя печатаемой формы,
если оно есть.
- значение шаблона COPIES - это число копий файла, которое
должно быть сделано. Если фильтр использует этот шаблон,
-15-59-
обслуживание печати уменьшает число копий фильтруемого
файла, которое он печатает до 1, так как эта "отдельная
копия" в действительности является множеством копий, про-
изводимых фильтром.
- значение шаблона MODES определяется возможностью -y ко-
манды lp, команды, которую пользователь использует для пе-
редачи запроса печати. Так как пользователь может задать
несколько возможностей -y, то для шаблона MODES может быть
несколько возможностей. Значения используются в порядке
слева направо, заданном пользователем.
Замена показывает, как значение шаблона задается для прог-
раммы-фильтра. Это обычно литеральная возможность иногда со
структурным нулем (*), включенным, чтобы показать, где присваи-
вается значение. Несколько примеров показывают, как это работа-
ет.
Пример 1
Программа фильтр называется /usr/bin/npf. Программа имеет
два входных типа nroff37 и X, производит выходной тип, называе-
мый ТХ и работает с любым принтером типа ТХ. Программа принима-
ет три возможности: -Xb Только для входного типа Х -l целое Для
длины выходной страницы. -w целое Для ширины выходной страницы.
Определение фильтра выглядит так:
Input types: nroff37 и X
Output types: ТХ
printer types: ТХ
Command: /usr/bin/npf
Options: INPUT X = -Xb, LENGTH * = -l*,
WIDTH * = -w*
1 - входные типы;
2 - выходные типы;
3 - типы принтера;
4 - команда;
5 - возможности.
Пользователь посылает файл типа nroff37 и запрашивает,
чтобы он печатался принтером с именем lp1 типа ТХ и запрашивает
длину страницы 72:
-15-59а-
lp -T nroff37 -d lp1 -o length=72
Этот фильтр вызывается обслуживанием печати для преобразо-
вания файла. Фильтр вызывается как:
/usr/bin/npf -l72
-15-60-
Пример 2
Другой пользователь посылает файл типа Х, который должен
печататься на том же принтере со значениями длины и ширины,
принимаемыми по умолчанию. Фильтр вызывается как:
/usr/bin/npf -Xb
Пример 3
Программа фильтр называется /usr/bin/Х9700. Она имеет один
входной тип, troff, производит выходной тип, называемый 9700 и
будет работать с любым принтером типа 9700. Программа имеет од-
ну фиксированную возможность -ib и принимает другие возможнос-
ти:
-l integer Для длины выходной страницы
-s name Для набора символов
-o portrait или
-o landscape для "портретной" или "рельефной" ориентации
бумаги.
Вы решили, что вашим пользователям нужно дать только сок-
ращения port и land ,когда они запрашивают ориентацию бумаги.
Так как эти возможности не свойственны обслуживанию печати,
пользователи задают их используя возможность -y команды lp.
Определение фильтра выглядит следующим образом:
Input types: troff
Output types: 9700
Рrinter types: 9700
Command: /usr/bin/x9700 -ib
Options: LENGTH * = -l *, CHARSET * = -s *,
MODES port = -o portrait, MODES land
= -o landscape
1 - входные типы;
2 - выходные типы;
3 - типы принтера;
4 - команда;
5 - возможности.
-15-60а-
(Последняя строка разбивается на три строки для облегчения чте-
ния этого документа. Она должна вводиться, как отдельная стро-
ка).
Пользователь посылает файл типа troff на печать для прин-
тера типа 9700 и запрашивает рельефную ориентацию, используя
готический набор символов:
lp -T troff -S gothic -y land
Этот фильтр вызывается обслуживанием печати для преобразо-
вания файла следующим образом:
-15-61-
/usr/bin/x9700 -ib -S gothic -o landscape
Примечание
Если образец или замещение должны включать запятую или знак
равенства (=), отметьте их специальным значением, поставив
перед ними обратную косую черту. Обратная косая черта перед
этими двумя символами удаляется, когда используются образец
или замещение. (Все другие обратные косые черты остаются).
Добавление фильтра
После завершения определения фильтра используйте одну из
следующих команд для добавления его в систему:
Ъ2 /usr/lib/lpfilter -f Ъ1filtername Ъ2-F filename
Ъ2 /usr/lib/lpfilter -f Ъ1filtername -
sysadmsh пользователи выбирают:
Printers-->Auxiliary-->Filter-->Change
(Принтеры-->Вспомогательное-->Фильтр-->Изменение)
Первая команда получает определение фильтра из файла, а
вторая команда получает определение фильтра от вас через стан-
дартный вход. filtername может быть любым по выбору длиной до
14 букв, цифр и символов подчеркивания.
Если вам нужно изменить фильтр, введите одну из этих же
команд. Вам необходимо лишь дать измененную информацию. Осталь-
ная информация остается неизменной.
Удаление фильтра
Обслуживание печати не имеет фиксированного предела на
число фильтров, которое вы можете определить. Однако имеет
смысл удалить ненужные более фильтры для устранения дополни-
тельной обработки обслуживанием печати, которое должно прове-
рить все фильтры для нахождения одного, который работает в дан-
ной ситуации.