Руководство по администрированию UNIX System V

Добавление фильтра


Выбор add выводит на экран такую форму:

4 Add a New Filter ---------------------------------------------- New Filter Model Filter: default-filter

Система приходит с несколькими встроенными фильтрами. Нажмите CHOICES, чтобы вывести список возможных фильтров. Вы можете или выбрать один фильтр из списка, или покинуть список, набрать имя фильтра и нажать SAVE. Форма для указания фильтра выводится с установками для этого фильтра по умолчанию, уже введенными. Затем вы можете модифицировать эти установки, включая свой собственный фильтр, или вы можете просто запустить один из встроенных фильтров. Ваш ответ на New Filter (новый фильтр) - это ввод имени, которое вы будете использовать для ссылки к этому фильтру далее. Формат такой:

5 Add/Modify Filter <filter-name>

---------------------------------------------- Input types: simple Output types: simple Printer types: any Printers:any

Fast or slow filter: slow

Filter command:

New filter options? Yes

Input types - это список типов файлов, которые может обработать фильтр. Имя типа файла может включать до 14 символов (включая дефисы, но не символы подчеркивания); Output types - это список типов файлов, которые может дать фильтр как вывод. Имена типов вывода должны согласовываться с типами принтеров вашей системы или с типами вводов, обрабатываемых другими фильтрами. LP соберет фильтры вместе в программный канал shell, чтобы получить новый фильтр, если она считает, что некоторые проходы с помощью различных фильтров нуждаются в преобразовании файла; Printer types - это список типов принтеров, для которых фильтр может преобразовать файлы. Для большинства фильтров этот список совпадает со списком типов вывода, но может быть и другим. Если они одинаковые, оставьте эту часть определения фильтров незаполненной; Printers - фильтр должен быть в состоянии работать со всеми принтерами, принимающими вывод, который дает фильтр; Fast or Slow Filter - LP различает "быстрые" фильтры и "медленные" фильтры. Быстрые фильтры помечаются "fast", или потому, что предполагают минимальные дополнительные расходы при подготовке файла к печати, или потому, что они должны иметь доступ к принтеру, когда функционируют. Фильтры, которые выявляют сбои принтера, например, всегда - "быстрые" принтеры. Фильтры, которые требуют большого количества расходов при подготовке файла, и могут не иметь доступа к принтеру, следует пометить как "slow". LP прогоняет медленные фильтры в фоновом режиме без привлечения принтера; Filter Command - это полное имя программы фильтра, которая будет функционировать. Если есть какие-то устойчивые параметры, которые всегда будут нужны программе, вы можете включить их в имя; Filter Options: Templates - режимы и аспекты распечатки регистрируются в списке шаблонов. Templates-list - это список шаблонов, отделенных друг от друга запятыми и имеющими следующий формат:


keyword pattern = replacement

keyword помечает шаблон, который регистрирует конкретную характеристику распечатки. pattern - это или значение характеристики, или звездочка (*), которая ставится как обозначение структурного нуля "любое значение".

Характеристика keyword Possible patterns
Тип ввода INPUT content-type
Тип вывода OUTPUT content-type
Тип принтера TERM printer-type
Шаг расположения знаков CPI integer
Шаг строки LPI integer
Длина страницы LENGTH integer
Ширина страницы WIDTH integer
Страницы на печать PAGES page-list
Набор символов CHARSET character-set
Имя формата FORM form-name
Количество копий COPIES integer
Режимы MODES mode
Значения шаблонов INPUT и OUTPUT идут от типа файла, который необходимо преобразовать с помощью фильтра, и типа вывода, который соответственно необходимо получить. Каждый из них будет представлять собой тип, зарегистрированный фильтром.

Значение шаблона TERM - это тип принтера.

Значения шаблонов CPI, LPI, LENGTH и WIDTH идут от запроса пользователя, используемой формы или значений для принтера по умолчанию.

Значения шаблона PAGES - это список страниц, которые нужно распечатать. Обычно это список диапазона страниц - или пара чисел или одно число, каждый диапазон отделен от другого запятой (например, 1-5,6,8,10 для страниц с 1 по 5,6,8 и 10). В то же время, какое бы значение не было дано в параметре -P в запрос на распечатку, оно передается без изменений.

Значение шаблона CHARSET - это имя используемого набора символов.

Значение шаблона FORM - это имя распечатываемого формата, если таковой имеется.

Значение шаблона COPIES - это количество копий файла, которое необходимо сделать. Если фильтр использует этот шаблон, LP сократит количество копий отфильтрованного файла, который она будет распечатывать, до 1, так как эта "single copy" (одна копия) будет фактически множеством копий, получаемых с помощью фильтра.

Значение шаблона MODES идет от параметра -y команды lp, которая используется для предписания запроса на распечатку. В связи с тем, что пользователь может дать несколько параметров -y, они могут стать несколькими значениями шаблона MODE. Значения будут прилагаться в порядке слева направо, задаваемом пользователем.

Замена показывает как значение шаблона должно задаваться программе фильтрации. Обычно это бывает буквенный параметр, иногда со структурным нулем символом-заполнителем *, включенным для показа направления движения значения.

Примеры.

Программа фильтрации называется /usr/bin/npf. Она обрабатывает два типа ввода - nroff37 и X, дает тип вывода TX и будет работать с любым принтером типа TX. Программа принимает три параметра:
-Xb только для типа ввода X;
-l integer для длины страницы вывода;
-w integer для ширины страницы вывода.

Определение вывода будет выглядеть следующим образом:



Input types: X, nroff37 Output types: TX Printer types: TX Command: /usr/bin/npf Options: INPUT X = -Xb, LENGTH * = -1*, WIDTH * = -W*

Программа фильтрации называется /usr/bin/x9700. Она обрабатывает один тип ввода - troff, дает тип вывода 9700 и будет работать на принтере типа 9700. У программы есть один устойчивый параметр, -ib, и она принимает три других параметра:

-l integer для длины страницы вывода;
-s name для набора символов;
-o portrait или
-o landscape
для ориентации бумаги на портрет или пейзаж.
Вы решили, что ваши пользователи дают сокращения port и land, когда они запрашивают об ориентации бумаги. В связи с тем, что эти параметры не характерны для LP, пользователи будут указывать их, используя параметр -y команды lp.

Определение фильтра будет выглядеть следующим образом:

Input types: troff Output types: 9700 Printer types: 9700 Command: /usr/bin/x9700 -ib Options: LENGTH * = -l *, CHARSET * = -S *, MODES port = -o portrait, MODES land = -o landscape

(Последняя строка разделена на несколько строк в целях удобочитаемости; вы будете вводить ее как одну строку).

Примечание. Если значение характеристики или замена должны включать запятую или знак равенства (=) поставьте перед ними косую черту. Косая черта перед этими двумя символами будет удалена, когда значение характеристики или замена будут уже использоваться (все другие знаки косой черты останутся без изменений).


Содержание раздела