Solaris のシステム管理 (第 2 巻)

新しい印刷フィルタを作成する方法

  1. プリンタサーバーにスーパーユーザーまたは lp としてログインします。

  2. 印刷フィルタプログラムを作成します。

    印刷フィルタプログラムの概要については、「印刷フィルタプログラムの作成」を参照してください。印刷フィルタ定義はテキストファイルに保存する必要があります。使用しやすいように、通常、フィルタ定義は /usr/lib/lp/postscript ディレクトリに入っています。作成したプログラムは、選択したディレクトリ内の /usr/lib/lp の下に入れる必要があります。

  3. 印刷フィルタ定義を作成します。

    印刷フィルタ定義の概要については、「印刷フィルタ定義の作成」を参照してください。印刷フィルタ定義はテキストファイルに保存する必要があります。使用しやすいように、通常、フィルタ定義は /etc/lp/fd ディレクトリに入っており、接尾辞 .fd で識別されます。

  4. 印刷フィルタをプリンタサーバーに追加します。

    詳細は、「印刷フィルタを追加する方法」を参照してください。

例 - 新しい印刷フィルタを作成する

次の例は、N37 または Nlpsimple に変換する印刷フィルタ定義を示します。


Input types: N37, Nlp, simple
Output types: simple
Command: /usr/bin/col
Options: MODES expand = -x
Options: INPUT simple = -p -f

次の例で、印刷フィルタプログラム名は col です。新しい印刷フィルタをプリンタサーバーに追加すると、ユーザーの印刷要求は次のように処理されます。


$ lp -y expand report.doc

印刷プログラムは次の引数を使用して実行され、ファイルが変換されます。


/usr/bin/col -x -p -f

$ lp -T N37 -y expand report.doc

印刷プログラムは次の引数を使用して実行され、ファイルが変換されます。


/usr/bin/col -x

次の例は、troff から PostScript に変換する印刷フィルタ定義を示します。


Input types: troff

Output types: postscript

Printer types: PS

Filter type: slow

Command: /usr/lib/lp/postscript/dpost

Options: LENGTH * = -l*

Options: MODES port = -pp, MODES land = -pl
Options: MODES group ¥=¥([1-9]¥) = -n¥l

次の例で、フィルタプログラム名は dpost です。このプログラムは入力タイプ troff をとり、postscript 出力を生成し、タイプ PS (PostScript) のプリンタに機能します。ユーザーは、用紙方向を縦モードにするか横モードにするかを尋ねるプロンプトが表示されたときに、それぞれの省略形 port または land を指定するだけですみます。これらのオプションは LP 印刷サービスに固有ではないので、ユーザーは lp -y コマンドを使用して指定しなければなりません。

新しい印刷フィルタをプリンタサーバーに追加すると、印刷要求は次のように処理されます。


$ lp -T troff -o length=60 -y land -d luna ch1.doc

印刷フィルタプログラム dpost は、次の引数を使用して実行され、ファイルが変換されます。


/usr/lib/lp/postscript/dpost -l60 -pl luna ch1.doc

$ lp -T troff -y group=4 -d luna ch1.doc

次の引数が指定された印刷フィルタプログラム dpost コマンドは、ファイルを変換します。


/usr/lib/lp/postscript/dpost -n4