(57)【特許請求の範囲】
【請求項１】
オプションを選択可能なドライバを実行する情報処理装置であって、
追加可能なオプションを収容する手段と、
前記収容された追加可能なオプションを当該ドライバ上で選択可能に表示させる手段と、
前記選択可能に表示されたオプションの選択を受け付ける手段と、
当該選択されたオプションにしたがってプリンタデータストリームへオプションを実行する手段であって、新たなプリンタデータストリームを出力する手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記オプションは、ヘルプテキストを含むヘルプウィンドウを使用できるようにする機能である、請求項１記載の情報処理装置。
【請求項３】
前記オプションは、プレビューアプリケーションを使用できるようにする機能である、請求項１記載の情報処理装置。
【請求項４】
前記オプションは、テキストエディタを使用できるようにする機能である、請求項１記載の情報処理装置。
【請求項５】
前記オプションは、印刷に関するオプションであり、
前記実行する手段は、前記選択された印刷に関するオプションにしたがって、印刷処理データを生成する手段であることを特徴とする、請求項１記載の情報処理装置。
【請求項６】
前記印刷に関するオプションは、印刷日付を印刷するオプションである、請求項５記載の情報処理装置。
【請求項７】
前記印刷に関するオプションは、用紙の１ページに文書の複数ページを入れるレイアウトで印刷するオプションである、請求項５記載の情報処理装置。
【請求項８】
コンピュータを、オプションを選択可能なドライバを実行する情報処理装置として機能させるコンピュータプログラムであって、前記コンピュータを
追加可能なオプションを収容する手段と、
前記収容された追加可能なオプションを当該ドライバ上で選択可能に表示させる手段と、
前記選択可能に表示されたオプションの選択を受け付ける手段と、
当該選択されたオプションにしたがってプリンタデータストリームへオプションを実行する手段であって、新たなプリンタデータストリームを出力する手段と、として機能させることを特徴とするコンピュータプログラム。
【請求項９】
前記オプションは、ヘルプテキストを含むヘルプウィンドウを使用できるようにする機能である、請求項８記載の情報処理装置。
【請求項１０】
前記オプションは、プレビューアプリケーションを使用できるようにする機能である、請求項８記載の情報処理装置。
【請求項１１】
前記オプションは、テキストエディタを使用できるようにする機能である、請求項８記載の情報処理装置。
【請求項１２】
前記オプションは、印刷に関するオプションであり、
前記実行する手段は、前記選択された印刷に関するオプションにしたがって、印刷処理データを生成する手段であることを特徴とする、請求項８記載の情報処理装置。
【請求項１３】
前記印刷に関するオプションは、印刷日付を印刷するオプションである、請求項１２記載の情報処理装置。
【請求項１４】
前記印刷に関するオプションは、用紙の１ページに文書の複数ページを入れるレイアウトで印刷するオプションである、請求項１２記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザ指定印刷ジョブを印刷することができるプリンタに係り、特に、ユーザ指定印刷ジョブを実行するため標準的なプリンタデータストリームをフィルタ処理するコンピュータプログラム製品に関する。
【０００２】
また、本発明は、コンピュータプログラム製品に包含されたグラフィック・ユーザ・インタフェースに関する。
【背景技術】
【０００３】
家庭、学校及び職場の環境におけるコンピュータ関連機器に関して増大する要求の一つは、多種多様なタスクを実行するためのフレキシビリティが増大することである。従来、プリンタは、レポート、ファクシミリ、書物、パンフレット、オーバーレイ、ラベル、グラフィックスなどを印刷するため利用される。上記の各項目は、ユーザにより決定されるような用紙及び／又は素材に固有のユーザ指定フォーマットで最良に提示される。
【０００４】
従来、各プリンタには、コンピュータにロードされるプリンタドライバが含まれる。コンピュータのユーザは、プリンタのプリンタドライバを用いて、選択された文書若しくはその他の項目を印刷することができる。しかし、プリンタ製造者は、拡大する市場のニーズを満たすため、常にプリンタドライバを更新することが要求され、その結果として、コストが上昇する。
【０００５】
さらに、特別のプリンタを使用するユーザは、印刷オプションの種類が制限される。たとえば、標準プリンタドライバは、横長フォーマット又は縦長フォーマットなどで印刷するため、ユーザが異なる用紙サイズに印刷することを許容する。したがって、標準プリンタドライバの場合に、ユーザはこれらのオプションに制限される。しかし、顧客は、多種多様な印刷ジョブを印刷することができるプリンタを要求する。従来、プリンタ製造者は、この要求を満たすために新しいプリンタドライバを時々開発する。
【０００６】
より詳細には、図１に、コンピュータ２と、ケーブル及び／又はネットワーク４を介して取り付けられたプリンタ６の従来のセットアップを示す図が示されている。プリンタ６は、ケーブル及び／又は他のネットワーク４をプリンタ６に取り付けるためコネクションポート７を含む。したがって、コンピュータ２を使用するユーザは、プリンタ６に印刷されるべき項目若しくは他の対象を選択することができる。
【０００７】
図２には、プリンタ６との間でインタフェース機能を実現する従来のアプリケーション１０のブロック図が示されている。従来のアプリケーション１０は、コンピュータ２に常駐するオペレーティングシステム１４に受け入れられる。ユーザがアプリケーション１０から印刷コマンドを発するとき、印刷されるべき文書若しくはその他の項目は、プリンタドライバ１２に通信される。プリンタドライバ１２は、プリンタ及びオペレーティングシステムに固有のソフトウェアインタフェースである。オペレーティングシステム１４は、プリンタドライバ１２からの命令に従って信号を、コネクション１６を介してプリンタポート及び／又はネットワークカード１８に送信し、印刷されるべき文書若しくは他の項目に対応した信号をプリンタ６に接続されたケーブル及び／又は他のネットワーク４に渡す。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上述の通り、ユーザが利用可能な印刷オプションは、コンピュータ２にロードされたプリンタドライバ１２を用いて供給される印刷オプションに制限される。したがって、ユーザがプリンタドライバ１２に含まれていない印刷オプションを要求する場合、ユーザは、所望の印刷オプションを有する新しいプリンタドライバを購入若しくは入手し、コンピュータ２にロードしなければならない。コンピュータ上のプリンタドライバの実装及び設定は煩わしく、時間を浪費し、かつ、一般的に特殊な命令及び／又は条件付きの技術を要するので、新しいプリンタドライバを入手してロードすることは問題である。
【０００９】
したがって、本発明の第１の目的は、上記従来技術の問題点を解決することである。
【００１０】
本発明の第２の目的は、複数のユーザ指定印刷ジョブを印刷し得るプリンタを提供することである。
【００１１】
本発明の第３の目的は、ユーザ指定印刷ジョブを実行するため標準プリンタデータストリームをフィルタ処理するコンピュータプログラム製品を提供することである。
【００１２】
本発明の第４の目的は、コンピュータプログラム製品と共に含まれるグラフィック・ユーザ・インタフェースを提供することである。
【００１３】
本発明の第５の目的は、ユーザ指定印刷ジョブを実行するため標準プリンタデータストリームをフィルタ処理するコンピュータプログラム製品を使用する印刷方法を提供することである。
【課題を解決するための手段】
【００１４】
上記の目的及びその他の目的を達成するため、本発明は、ユーザ指定印刷ジョブを実行するため標準プリンタデータストリームをフィルタ処理するフィルタを提案する。このフィルタは、典型的に、プリンタドライバから出力されたデータを受け取り、受け取られたデータを望ましい方法でフィルタ処理又は変換し、フィルタ処理又は変換されたデータストリームをプリンタに出力するコンピュータプログラムである。
【００１５】
本発明は、また、ユーザによるコンピュータプログラムの動作を支援するグラフィカル・ユーザ・インタフェースを提案する。特に、本発明によるグラフィカル・ユーザ・インタフェースは、コンピュータプログラムの動作を制御するため、種々のディスプレイ制御部を含む複数のポップアップメニューを含む。
【００１６】
本発明及び本発明の多数の効果は、添付図面を参照して以下の詳細な説明を読むことによってより良く理解されるであろう。
【発明を実施するための最良の形態】
【００１７】
本発明によれば、所望の印刷オプションに対応したフィルタを選択し、このフィルタに基づいて文書若しくはその他の項目を印刷することが可能である。フィルタは、典型的に、他のプログラム若しくはデータファイルにアクセスするコンピュータプログラムである。さらに、フィルタは、標準若しくは指定された入力を読み、入力を所望の方式で変換し、フィルタ処理若しくは変換された情報を出力するプログラム、又は、プログラム内の特徴の組である。たとえば、フィルタは、脚注として日付／時刻のスタンプを印刷し、本のページを印刷し、文書内の秘密語若しくは秘密節を隠し、タブロイドサイズの用紙に複数のページを印刷し、透明シートを用紙に挟み込み、デバッグ操作を行う等の処理をするため使用される。本発明によるフィルタによって制作される出力生成物の例は、後で詳述される図１３の（Ａ）〜（Ｆ）に示されている。
【００１８】
本発明によるフィルタは、これらのオプションに制限されず、多種多様なオプションを含み得るので、多種多様な文書、レイアウト、タイプ等を印刷する著しいフレキシビリティがユーザに与えられる。また、プリンタ製造者は、標準化されたプリンタドライバを作成し、プリンタドライバをユーザの要求及び市場の要望に従わせるための複数のフィルタを提供することできるので、恩恵を受ける。したがって、プリンタ製造者は、市場の要求を満たすためにプリンタドライバを常時更新し続ける必要が無くなる。
【００１９】
図面を参照するに、同じ参照番号は同一若しくは対応した部分を指定する。図３の（Ａ）は、本発明の一例を示す図であり、フィルタ２０は、プリンタドライバ１２から出力されたデータを受け取り、そのデータをフィルタ処理し、フィルタ処理されたデータを、オペレーティングシステム１４及びコネクション１６を介してネットワークカード１８に出力する。また、同図に示されたバイパスコネクション１３は、ユーザがフィルタ２０を用いることなく印刷できるようにする。すなわち、ユーザがアプリケーション１１によって印刷されるべき対象を選択し、フィルタ２０を使用しないことを選択したとき、プリンタドライバ１２は、バイパスコネクション１３を介してプリンタポート若しくはネットワークカード１８に直接的に信号を送信する。
【００２０】
図３の（Ｂ）は、フィルタ２０の別の例を示す図であり、フィルタ２０は、プリンタドライバ１７から出力されたデータを受け取り、データをフィルタ処理し、フィルタ処理されたデータストリームをプリンタドライバ１２に返す。プリンタドライバ１２は、オペレーティングシステム１４及びコネクションを介してネットワークカード１８にフィルタデータを送る。この例では、図３の（Ａ）に示されたバイパスコネクション１３は不要である。
【００２１】
フィルタ２０は、ＣＤ−ＲＯＭ、テープ、ディスク又はメモリチップ／カードのようなコンピュータ記憶媒体、インターネットサーバー、又は、その他の遠隔的なコンピュータ若しくは記憶装置を用いてコンピュータにロードされ、或いは、プリンタにネットワーク接続された複数のコンピュータを制御するサーバー上に常駐する実行可能プログラムである。フィルタ２０と、フィルタ２０を選択する動作については後述する。
【００２２】
図４は、プリンタドライバ１２から出力されたプリンタデータストリーム２２と、フィルタ２０によってフィルタ処理されたデータストリーム２４とを示す図である。図４には、説明の目的だけのために、連像した透明シートの間に用紙を挟み込むフィルタ２０が記載されている。透明シートと透明シートはくっつくことがなく、間に用紙が挟み込まれているので容易に分離される。また、印刷されるべき項目が、透明シートと挟み込まれた用紙の両方に印刷されるならば、ユーザは、プレゼンテーション中にオーバーヘッドディスプレイを用いて透かしシートを聴衆に提示し、挟み込まれた印刷用紙に印刷された項目を同時に見る。
【００２３】
図４に示されるごとく、プリンタデータストリーム２２は、コマンド”PRTR  X5”を含み、このコマンドは５枚の透明シートを印刷するプリンタ命令である。プリンタ命令”PRTR  X5”は、例示のためだけに使用される。すなわち、５枚の透明シートを印刷するための実際のPostScript命令は、非常に詳しく記述されるが、以下では、簡単のため省略されている。PostScriptは、プリンタと通信するため使用されるプリンタ記述言語(PDL)であることに注意する必要がある。Hewlett  Packardによって開発されたPCL6のような他のPDLを使用してよい。
【００２４】
フィルタ２０は、実行可能フィルタプログラムに従ってプリンタデータストリーム２２を受信し、フィルタ処理する。図４に示されるように、フィルタ処理されたデータストリーム２４は、プリンタコマンド”INT  5”が挟み込まれたプリンタデータストリーム２２を含む。プリンタコマンド”INT  5”は、透明シートの間に挟み込まれたページを印刷するようプリンタに命令するプリンタ命令である。このプリンタ命令”INT  5”も一例として使用されるに過ぎない。この場合、印刷されるべき文書若しくはその他の項目は、透明シートだけに印刷される。フィルタ処理されたデータストリーム２４はプリンタ６に送られ、プリンタ６は、たとえば、５枚の透明シートを印刷し、それらの間に用紙が挟み込まれる。フィルタ２０は、プリンタに透明シートと挟み込まれる用紙の両方に文書若しくはその他の項目を印刷させる命令をするため、プリンタデータストリーム２２をフィルタ処理する。換言すると、ユーザは、透明シートの間に、白紙ページの用紙又は複写ページの用紙のいずれかを挟み込むことを選択する。
【００２５】
図５は、フィルタによって実行されるステップを示すフローチャートである。特に、選択されたフィルタ２０は、対応したスクリプトファイルを読み出し、必要なパラメータ若しくは情報を全て獲得する（ステップ９４）。対応したスクリプトファイルは、後で詳細に説明される。対応したスクリプトファイルが正しく読み出せなかった場合（ステップ９６のNOの場合）、エラーダイアログがコンピュータ３のディスプレイにポップアップされ、ユーザにこのエラーを通知する（ステップ９８）。読み出し動作が成功した場合（ステップ９６のYESの場合）、選択されたフィルタ２０は、プリンタドライバ１２から出力されたプリントデータストリームを読み出し、保存する（ステップ１００）。プリンタ出力データがエラーを含まずに正しく読み出されたとき（ステップ１０２のYESの場合）、フィルタ２０は、対応した実行可能フィルタプログラム（すなわち、フィルタ）に従って、受信された出力データストリームをフィルタ処理する（ステップ１０４）。データが正しく読み出せなかった場合（ステップ１０２のNOの場合）、エラーダイアログがコンピュータ３のディスプレイにポップアップされ、ユーザにこのエラーが通知され（ステップ１１２）、動作が終了する。データがフィルタ２０によってフィルタ処理された後、フィルタ処理された出力データストリームは、オペレーティングシステム１４、コネクション１６、ネットワークカード１８及びネットワーク４を介してプリンタ６に送信される（ステップ１０８）。
【００２６】
データが正しく読み出されたかどうかは、たとえば、コンピュータプログラミング言語に設けられた標準入出力関数を用いて判定することが可能である。たとえば、Ｃ又はＣ＋＋プログラミング言語は、プリンタデータストリームを読むため使用される標準fread()関数を含む。このfread()関数中にエラーが発生した場合、エラー値０が、たとえば、返される。したがって、この返り値を使用することによって、データが正しく読み出されたかどうかを判定することが可能である。
【００２７】
さらに、フィルタ２０は、ユーザ指定プリント動作に対応した命令に基づいてデータストリームをフィルタ処理する。たとえば、図１３の（Ｆ）に示されたような文書を印刷するため、ユーザは、sandwitch.exeという名称のフィルタ２０を選択する。フィルタ２０は、丁合と重複のコマンド（たとえば、Postscriptコマンド）のため、保存されたデータストリームを走査する。フィルタ２０は、印刷されるべき総ページ数を獲得し、この総ページ数が、図１３の（Ｆ）に示されたsandwitch.exeフィルタ製品を実行するために十分であるかどうかを判定する。すなわち、総ページ数が、たとえば、３未満である場合、３ページを表紙と裏紙の間に挟むことは不可能である（すなわち、この場合、全部で少なくとも５ページが必要になる）。その他のエラー処理及び確認検査は、適当なコンピュータ命令によって容易に実現される。フィルタ２０が適当なエラー処理／確認検査を実行した後、フィルタ２０はプリンタデータストリームをフィルタ処理する。たとえば、非重複コピーモードの場合に、図１３の（Ｆ）に示された文書を獲得するため、フィルタ２０は、保存されたプリンタデータストリーム中のページ番号１の直後に、トレー番号１（たとえば、トレー番号１に対応したPostscriptコマンド）を挿入する。さらに、フィルタ２０は、保存されたプリンタデータストリーム中の２番目のページ番号の後に、トレー番号２（たとえば、トレー番号２に対応したPostscriptコマンド）を挿入する。最後に、フィルタ２０は、保存されたプリンタデータストリーム中の４番目のページ番号の後に、トレー番号３（たとえば、トレー番号３に対応したPostscriptコマンド）を挿入する。次に、フィルタ処理されたプリンタデータストリームはプリンタに送信され、第１のページ番号がトレー番号１から印刷され、第２及び第３のページ番号はトレー番号２から印刷され,第４のページがトレー番号３から印刷される。
【００２８】
また、上述のエラーダイアログ（すなわち、ステップ９８及びステップ１１２）は、発生した特定のエラーに関する情報を表示する。たとえば、プリンタドライバ１２からのデータストリームが正しく読み取れなかった場合、エラーダイアログは、ユーザがエラーを処理することができるテキストを含む。さらに、ユーザは、出力データストリームが適切にフィルタ処理され、プリンタに送信されたかどうかを判定するため、図８の（Ａ）に示されるようなプレビュー結果Preview  Resultプッシュボタン５２を選択できる。この詳細は後述する。
【００２９】
図６は、本発明に従ってファイルを印刷する方法に関する一般的な概観を示すフローチャートである。最初に、ユーザは、フィルタを選択し（ステップ３０）、次に、ファイルを印刷する（ステップ９０）。フィルタの選択は、図７〜１２を参照して詳細に説明する。
【００３０】
図７のステップ３２において、最初に、ユーザは図８に示されるようなプリンタプロパティダイアログを選択する。プリンタプロパティの選択は、たとえば、ウィンドウズ（登録商標）９５の動作環境のメインメニューバー上で、スタートStart、セッティングSettings、プリンタPrintersの表示領域を選択し、次に、所望のプリンタに対するプロパティPropertiesダイアログを（たとえば、所望のプリンタ上でマウス右ボタンをクリックすることにより）選択することによって行われる。プリンタプロパティダイアログ５０と従来のプリンタプロパティダイアログの相違点の一例は、フィルタタブ５８である。プロパティダイアログ５０は、ユーザがファイルを印刷することを決めたときに、コンピュータのディスプレイにポップアップされる。次に、ユーザは、プリンタプロパティダイアログ５０からフィルタタブ５８を選択する（ステップ３４）。
【００３１】
ユーザがフィルタタブ５８を選択した後、３種類の選択肢が存在する（ステップ３５のパスＡ、Ｂ及びＣ）。第１の選択肢（パスＡ）は、最後に選択されたフィルタのリスト若しくはデフォルトフィルタのリストのような、所定のフィルタのリストを識別する第１のフィルタ選択ボックス５１からフィルタを選択し（ステップ３６）。ユーザが第１のフィルタ選択ボックス５１内で識別されたフィルタの中の一つを使用したい場合には、ユーザは、マウス若しくはその他のポインティングデバイスを用いて所望のフィルタを強調させる（選択する）だけでよい。
【００３２】
次に、ユーザは、適用Applyブッシュボタン６０及び／又はハイOKブッシュボタン６４を選択する（ステップ４０）。Applyプッシュボタン６０、キャンセルCancelプッシュボタン６２、及び、OKプッシュボタン６４は、登録商標VISUAL  BASICの名前で販売されるウィンドウプログラムパッケージ、若しくは、その他のウィンドウシステムのようなウィンドウプログラミングパッケージによって提供されるデフォルトプッシュボタンである。
【００３３】
しかし、ユーザは、第１のフィルタ選択ボックス５１に含まれていないフィルタを選択したい場合、第２のフィルタ選択ボックス５６を選択する（ステップ３８）。第２のフィルタ選択ボックス５６によって、ユーザは所望のファイルを選択するためコンピュータ上のディレクトリを手動でナビゲートすることができる。ユーザが第２のフィルタ選択ボックス５６を選択した場合、図９に示されるような第１の選択ダイアログ７０がコンピュータ３のディスプレイ上にポップアップする。ユーザは、次に、フィルタウィンドウ７２に掲載された対応したフィルタの中から一つのフィルタを選択する（ステップ３９）。
【００３４】
ユーザは、第３のフィルタ選択ボックスを選択してもよい（ステップ３７）。この選択によって、図１０に示されるようなフィルタ選択ダイアログ８０がポップアップする。このフィルタ選択ダイアログ８０は利用可能な全てのフィルタを一覧する（ステップ４１）。次に、ユーザは、それぞれのフィルタを実行するため、図８、９及び１０に示されるようなApplyプッシュボタン６０及び／又はOKプッシュボタン６４を選択する。
【００３５】
また、図８を参照するに、第１、第２又は第３のフィルタ選択ボックス５１、５５及び５６が選択されたとき、「このフィルタは何か」”What’s  this  filter”プッシュボタン５４と、「フィルタスクリプト編集」”Edit  Filter  Script”プッシュボタン５３が可視化され、これらのプッシュボタンが選択可能であることが示される（図８では、プッシュボタン５４及び５３は強調されず、フィルタ選択ボックス５１及び５６は選択されていない）。”What’s  This  Filter”プッシュボタン５４が選択されたとき、ヘルプダイアログがディスプレイにポップアップし、ユーザに選択されたフィルタに関する一般的な情報を提供する。この処理については図１５のフローチャートに詳細に説明されている。”Edit  Filter  Script”プッシュボタン５３が選択されたとき、ユーザは、選択されたフィルタに関連したフィルタスクリプトファイルを変更することが可能である。この処理については、図１６のフローチャートを参照して詳述する。”Preview  Result”プッシュボタン５２は、ユーザがフィルタを選択し、フィルタを使用して文書若しくはその他の項目を印刷した後に可視化され、ユーザは、フィルタ処理され、プリンタに送信された印刷コマンドの結果をプレビューすることができる。したがって、ユーザは、特定の印刷動作のトラブルを処理し、デバッグすることができる。”Preview  Result”プッシュボタン５２のより詳細な説明は、図１４のフローチャートを参照して説明される。さらに、”What’s  This  Filter”プッシュボタン５４と、”Preview  Result”プッシュボタン５２と、”Edit  Filter  Script”プッシュボタン５３は、図８だけに示されているが、図９及び１０のダイアログ７０及び８０にも含まれる。
【００３６】
図８に示されたフィルタ選択ダイアログ７０について説明する。このダイアログからフィルタを選択するため、ユーザは、ディレクトリウィンドウ７４及びディスクドライブウィンドウ７６から適当なフォルダを選択し、コンピュータ３の特定のディレクトリ上で利用可能な全てのフィルタにアクセスする。フィルタウィンドウ７２に表示された利用可能なフィルタには、１）実行可能なdatetime.exeに対応した”Add  printing  data/time  stamp  as  footnote”（印刷日時スタンプを脚注として付加）、２）実行可能なbooklet.exeと対応した”Booklet  binding  output  stack”（小冊子装丁出力スタック）、３）実行可能なconfidential.exeと対応した”Cover  out  confidential  words/clauses”（秘密語／秘密節を隠す）、４）実行可能なtabloid.exeと対応した”Tabloid  size  duplex  4  page-up  signature”（タブロイドサイズ両面４ページアップ背丁）、５）実行可能なinterleave.exeと対応した”Transparency  with  paper  interleaving”（用紙が挟み込まれた透明シート）、６）実行可能なdebug-app.exeと対応した”Application  ABC  debugging”（アプリケーションＡＢＣデバッグ）と、７）実行可能なdebug-driver.exeと対応した”Debug  driver  detect  XYZ”（デバッグドライバ検出ＸＹＺ）とが含まれる。debug-app.exeフィルタは、たとえば、特定のアプリケーションを固定するパッチであり、debug-driver.exeフィルタは、特定のプリンタドライバデバッグを固定するパッチである。debug-app.exe及びdebug-driver.exeは、エンドユーザによって開発され、或いは、アプリケーションのベンダーによって供給される。デバッグアプリケーションの目的は、アプリケーション若しくはドライバが、正しくないコマンド或いはデバッグを必要とするコマンドをプリンタに送信したときに、問題点を処理することである。しかし、本発明はこのようなフィルタに限定されるものではない。すなわち、他のフィルタをこのディレクトリに収容し、ユーザが選択する際に利用できるようにすることができる。ヘルプhelpプッシュボタン７３は、フィルタウィンドウ７２内で強調されている特定のフィルタに関するヘルプ情報を調べるため選択される（すなわち、ヘルプダイアログがディスプレイにポップアップし、選択されたフィルタに関するヘルプテキストを提示する）。戻るBackプッシュボタン７５及び進むNextプッシュボタン７７は、それぞれ、ユーザが親ダイアログ（すなわち、図８に示されたプリンタプロパティダイアログ５０に戻るか、又は、子ダイアログ（図示しない）に進むかを切り替えることを可能にさせる。さらに、終了Exitトグルボタン７９は、ユーザがフィルタ実行可能ファイル選択ダイアログ７０から出られるようにする。
【００３７】
その上、ウィンドウ７２に表示されたフィルタは、コンピュータの指定されたディレクトリに常駐するフィルタである。しかし、フィルタは、たとえば、プリンタにネットワーク接続された複数のコンピュータを制御するサーバーに常駐する場合、或いは、実際のプリンタに常駐する場合がある。たとえば、所望のフィルタがサーバー上にある場合、ユーザはネットワークプッシュボタン８６を選択し、そのとき、フィルタ実行可能ファイル選択ウィンドウ（図示されないが、図９に示されたウィンドウと類似したもの）がディスプレイにポップアップする。したがって、この選択ウィンドウを用いることにより、ユーザはサーバー上にある特定のフィルタを選択する。同様に、ユーザは、プリンタのハードディスク（図示しない）上にある特定のフィルタを選択するため、プリンタプッシュボタン８８を選択する。また、同図には、OKプッシュボタン６４及びApplyプッシュボタン６０が示されている。これらのプッシュボタンは、図８に関して説明した方式と略同じ方式で動作する。
【００３８】
図１０には、ユーザが図８に示されるような第３のフィルタ選択ボックス５５を選択したときにディスプレイ上にポップアップするフィルタ選択ダイアログ８０が示されている。このフィルタ選択ダイアログ８０は、実行可能ファイル名に対応したフィルタ実行可能”filter  executable”ディスプレイ領域８１と、実行可能なフィルタのディレクトリパス名に対応したパス名”path  name”ディスプレイ領域８２と、ユーザが扱いやすフィルタ実行可能ファイル名に対応したフィルタ名”filter  name”ディスプレイ領域とを含む。ダイアログ８０は、コンピュータ上に常駐する利用可能な全てのフィルタを表示するが、プリンタ上、及び／又は、プリンタを制御するサーバー上に存在するフィルタを表示するように構成してもよい。図１０に示された例の場合に、利用可能な全てのフィルタは、ディレクトリ”C:\PrintApp\Filters”に置かれる。しかし、他のディレクトリにあるフィルタを探索するコンピュータプログラムが使用され、これらのフィルタがダイアログ８０に表示される場合がある。OKプッシュボタン６４、Cancelプッシュボタン６２及びApplyプッシュボタン６０は、既に説明した通りである。すなわち、ダイアログ８０に表示されたフィルタを選択するため、ユーザはフィルタを強調し、Applyプッシュボタン６０及びOKプッシュボタン６４を選択するだけでよい。
【００３９】
さらに、ある種の場合に、パラメータウィンドウ９０、９１（図１１及び１２を参照せよ）は、特定のフィルタが付加的なパラメータを必要とするならば、ユーザがフィルタを選択した後に、ディスプレイにポップアップする。たとえば、図１１のパラメータウィンドウ９０は、インターリーブ・トランスペアレンシー・フィルタに対応し、挟み込まれる用紙のため使用するトレー、透明シートのために使用するトレーのような付加的なパラメータをユーザに促す。この情報は、選択透明シートトレー”select  transparency  tray”ボックス９２と、選択分離用紙トレー”select  separation  paper  tray”ボックス９４によって入力される。キャンセルプッシュボタン９８及びOKプッシュボタン９６は、上述されたボタンと同じである。付加的な入力領域（図示しない）は、パラメータウィドウ９０に設けられ、ユーザは、透明シートと挟み込まれた用紙の両方に文書を印刷することができる。したがって、プレゼンテーション中に、たとえば、ユーザは、オーバーヘッドディスプレイを用いて透明シートを聴衆に提示し、同時に、挟み込まれた用紙上の文書を見ることができる。
【００４０】
他の一例として、図１２に示されたパラメータウィンドウ９１は、confidential.exeフィルタに対応し、印刷文書上でマスクされるべき語及び／又は節のような付加的なパラメータをユーザに促す。この情報は、入力テキストボックス９３を使用して入力される。キャンセルプッシュボタン９７及びOKプッシュボタン９５は、上述のボタンと類似している。本例の場合に、ユーザは、テキストボックス９３に列挙された単語がマスクされた文書を印刷し、不許可のユーザが機密語及び／又は機密節を読めないようにする。
【００４１】
図８乃至１２に記載されたダイアログによってユーザは、特定のフィルタを選択することができる。このダイアログは、グラフィック・ユーザ・インタフェース・パッケージ（たとえば、VISUAL  BASICやX-windows(登録商標)等）を用いて入力する公知の方式であるラジオボタン、プッシュボタン、ラジオボックス、トグルボタン等を含む。しかし、ユーザが特定の所望のフィルタを簡単に選択し、要求されたパラメータを入力することができるように、他の適当なレイアウトが使用してもよい。上述の通り、OKプッシュボタン６４、キャンセルプッシュボタン６２及び適用プッシュボタン６０は、一般的に知られている。”What’s  this  filter”プッシュボタン５４と、“Preview  Result”プッシュボタン５２と、“Edit  File  Script”プッシュボタン５３は、図１４乃至１６を参照して詳述される。また、第１、第２及び第３のフィルタ選択ボックス５１、５６及び５５は、所望のフィルタが検出された後、使用できなくなる。したがって、ユーザがフィルタを用いて文書を印刷しようとする都度、所望のフィルタが選択されるべきである。あるいは、所定のフィルタは、たとえば、最後に選択されたフィルタをメモリに保存することによって、常に使用できるように構成される。これは、特定のフィルタを用いて連続的に印刷をするユーザにとって有用である。
【００４２】
図１３の（Ａ）乃至（Ｆ）には、本発明による特定のフィルタに対応した印刷文書の例が示されている。特に、図１３の（Ａ）は、用紙の両面に４個のページ番号が付けられた印刷書物のページ１００を示す図である。ユーザは、たとえば、booklet.exeという名称のフィルタを選択し、図１３の（Ａ）に示されるように文書を印刷する。文書は、次に、書物に製本される。
【００４３】
図１３の（Ｂ）には、（たとえば、１１インチ×１７インチの）タブロイド用紙１０２が示され、タブロイド用紙の片面には、二つの文書が印刷されている。ユーザは、たとえば、tabloid.exeという名称のフィルタを選択し、図１３の（Ｂ）に示されるように文書を印刷する。更に、図１３の（Ｂ）は、ページの片面だけに文書が印刷されているが、両面に印刷してもよい（すなわち、両面複写）。また、ページの片面又は両面に三つ以上の文書を印刷してもよい。
【００４４】
図１３の（Ｃ）には、機密語（たとえば、人名）がマスクされた印刷文書１０４が示されている。ユーザは、たとえば、confidential.exeという名称のフィルタを選択し、図１３の（Ｃ）に示されるように文書を印刷する。秘匿されるべき機密語は、confidential.exe実行可能フィルタによって準備される補助ファイルに含まれる。補助ファイルは、マスクされるべき機密語のリストを含むテキストファイルである。あるいは、マスクされるべき機密語は、図１１に示され、既に説明したように、パラメータウィンドウ９１に入力されてもよい。
【００４５】
図１３の（Ｄ）は、脚注として日時を含む文書を示す。ユーザは、date-time.exeという名称のフィルタを選択し、図１３の（Ｄ）に示されるように、文書を印刷する。
【００４６】
図１３の（Ｅ）は、白紙１１０が挟み込まれた透明シート１０８を含む文書１０８を示す図である。これらの出力文書１０８は、たとえば、interleave-transparencies.exeという名称の選択されたフィルタに対応する。
【００４７】
図１３の（Ｆ）は、用紙トレー１から印刷された表紙１１２と、用紙トレー２から印刷された文書１１４と、用紙トレー３から印刷された文書１１６とを示す図である。本例の場合、文書１１２は表示であり、文書１１４はレポートの本文であり、文書１１６は裏紙である。さらに、文書１１２は、表紙１１２と裏紙１１６の間に挟み込まれた文書１１４とは異なる色でも構わない。印刷される用紙が取り出されるべき特定のトレーは、パラメータウィンドウに入力されるか、あるいは、補助ファイル若しくはスクリプトファイルに収容される。出力文書１１２、１１４及び１１６は、たとえば、sandwitch.exeという名称の選択されたフィルタに対応する。
【００４８】
上述の通り、フィルタ２０は実行可能プログラムである。実行可能プログラムは、Ｃ言語、Ｃ++言語、ＦＯＲＴＲＡＮ言語などの適当なプログラミング言語を用いて開発される。名前の付け方は、オペレーティングシステムのタイプに依存する。たとえば、Windows(登録商標)95によって使用されるようなオペレーティングシステム上のフィルタ実行可能ファイルは、booklet.exeという名称を有する。また、本発明によれば、実行可能フィルタファイルは、実行可能ファイルと同じベースファイル名と、実行可能ファイルとは異なる拡張子とを有するbooklet.ftrという名称の関連スクリプトファイルを含む。同様に上記の補助ファイルは、ファイル名mask-words.ftrを有する。付加パラメータ（たとえば、マスクされるべき機密語）が関連スクリプトファイルに含まれる場合、補助ファイルは無くてもよい。関連スクリプトファイルは平文テキストファイルであり、ユーザが図８における”What’s  this  filter”プッシュボタン５４、”Preview  Result”プッシュボタン５２又は”Edit  Filter  Script”プッシュボタン５３を選択したときに、対応したフィルタによって読み取られる。関連スクリプトファイルは、ユーザがマスクされるべき機密語のような付加パラメータを要求するフィルタを選択したとき、対応したフィルタによっても読み取られる。関連スクリプトファイルの一つの典型例は、以下に表１を参照して説明される。
【００４９】
【表１】
0004614993.tif 000002
フィルタスクリプトファイルの１番目のライン番号１は、フィルタのタイトルであり、好ましくは、たとえば、４０文字長のような所定の長さに制限される。２番目のライン番号２は、フィルタスクリプトファイルエディタを指定する。このエディタはテキストファイルを編集できるエディタであればよく、完全なパス名が収容される。フィルタスクリプトファイルエディタは、たとえば、Microsoft  WordPerfectアプリケーションであり、ユーザが図８において、”Edit  Filter  Script”プッシュボタン５３を選択したときに実行される。３番目のライン番号３は、図８において、ユーザが”Preview  Result”プッシュボタン５２を選択したときに使用できるようになるプレビューアプリケーションを指定し、完全なパス名を収容する。さらに、４番目のライン番号４からヘルプデリミッタ（たとえば、＃）の終わりまでは、ユーザが図８において、”What’s  this  filter”プッシュボタン５４を選択したときに表示されるヘルプテキストである。ヘルプデリミッタ＃の終わりからエンドオフファイル（EOF）までのライン番号は、マスクされるべき機密語のような付加パラメータを含み、フィルタが選択されたときに対応したフィルタによって読み出される。あるいは、既に説明したように、付加パラメータは、別個の補助ファイルに収容してもよく、あるいは、たとえば、図１１又は１２に示されるようにパラメータウィンドウ９６若しくは９１を表示することによって入力される。ヘルプテキストの長さがＮ行（Ｎ＝０，１，２．．．）であるならば、付加パラメータは、ライン番号Ｎ＋５から始まる。さらに、ＮがＮ＝０の値をとるとき、エンドヘルプデリミッタはスクリプトファイルのライン４に存在することを意味する。
【００５０】
図１４及び１５は、それぞれ、”Preview  Result”プッシュボタン５２及び”What’s  this  filter”プッシュボタン５２が図８において選択されたときに発生するプロセスを説明する。”Preview  Result”プッシュボタン５２が選択されたとき、対応したファイルスクリプトファイルが開かれる（図１４のステップ１２０）。ステップ１２２では、ファイルが正しく開かれたかどうかが判定される。ファイルが正しく開かれなかったとき（ステップ１２２でＮＯの場合）、このエラーをユーザに説明するエラーダイアログがディスプレイにポップアップされる（ステップ１３０）。ファイルが正しく開かれたかどうかの判定は、（上述のfread()関数と同様に）プログラミング言語が与えられた標準入出力ルーチンを使用することによって行われる。ファイルが正しく開かれた場合(ステップ１２２でＹＥＳの場合)、プレビューアプリケーションのディレクトリパス名を指定するスクリプトファイルの３番目のライン３が読み出される（ステップ１２４）。次に、ステップ１２６において、読み出し動作が正しいかどうかが判定される。読み出し動作が正しくない場合（ステップ１２６においてＮＯの場合）、エラーダイアログがポップアップされ、このエラーがユーザに説明される（ステップ１３２）。読み出し動作が正しく行われた場合（ステップ１２６においてＹＥＳの場合）、ライン番号３で識別されたプレビューアプリケーションが実行される（ステップ１２８）。プレビューアプリケーションは、ソフトウェアアプリケーションであり、ユーザがプリンタに送信されたフィルタ処理後のプリンタデータストリームを見ることができるようにする。したがって、ユーザは、特定の印刷動作をデバッグ若しくは問題解決することができる。プレビューアプリケーションは、一般的に、Windows（登録商標）95に組み込まれ、登録商標POSTSCRIPT  VIEWERの名称で販売されているようなウィンドウパッケージと統合される。
【００５１】
図１５は、図１５と類似しているが、図８において、”What’s  this  filter”プッシュボタン５４が選択されたときに行われる動作を示す図である。最初に、対応したフィルタスクリプトファイルが開かれ（ステップ１４０）、ステップ１４２で、ファイルオープン動作が正しく行われたかどうかが判定される。ファイルのオープンが正しく行われなかった場合（ステップ１４２でＮＯの場合）、このエラーをユーザに説明するエラーダイアログがポップアップされる（ステップ１５２）。ファイルが正しく開かれた場合（ステップ１４２でＹＥＳの場合）、ライン番号４からヘルプデリミッタ“＃”の終わりまでにヘルプテキストが存在するかどうかが判定される（ステップ１４４）。ヘルプテキストデータが存在しない場合（ステップ１４４でＮＯの場合）、ヘルプが利用できない旨をユーザに説明するエラーダイアログがポップアップされる（ステップ１５４）。ヘルプテキストを利用できる場合（ステップ１４４でＹＥＳの場合）、ヘルプテキストが読み出される（ステップ１４６）。次に、ステップ１４８において、ヘルプテキストの読み出し動作が正しく行われたかどうかが判定される。正しく動作しなかった場合（ステップ１４８でＮＯの場合）、正しく動作しなかったことをユーザに説明するエラーダイアログがポップアップされる（ステップ１５６）。読み出し動作が正しく行われた場合（ステップ１４８でＹＥＳの場合）、スクリプトファイルから読み出されたヘルプテキストを表示するヘルプダイアログがポップアップされる（ステップ１５０）。次に、ユーザは、ヘルプダイアログ上のキャンセル(Cancel)又はOKプッシュボタンを選択し、この動作が終了する。対応したスクリプトファイルが正しく開かれなかった場合に、ヘルプテキストが利用できるかどうかを判定してもよく、かつ、プログラミング言語に設けられた標準入出力関数を用いて読み出し動作が正しく行われたかどうかを判定してもよい。
【００５２】
図１６は、図８において、付加的な”Edit  Filter  Script”プッシュボタン５３が選択されたときに行われるプロセスを説明する図である。”Edit  Filter  Script”プッシュボタン５３が選択されたとき、対応したフィルタスクリプトファイルが開かれる（ステップ１６０）。ステップ１６２において、ファイルが正しく開かれたかどうかが、プログラミング言語に設けられた標準入出力ルーチンを使用して判定される。ファイルが正しく開かれなかった場合（ステップ１６２でＮＯの場合）、このエラーをユーザに説明するエラーダイアログがポップアップされる（ステップ１７０）。ファイルが正しく開かれた場合（ステップ１６２でＹＥＳの場合）、Microsoft  WordPerfectアプリケーションのようなフィルタスクリプトファイルエディタのパス名をそのまま指定するスクリプトファイルの２番目のライン２が読み出される（ステップ１６４）。次に、ステップ１６６において、読み出しが正しく行われたかどうかが判定される。読み出し動作が正しく行われなかった場合（ステップ１６６においてＮＯの場合）、このエラーをユーザに説明するエラーダイアログがポップアップされる（ステップ１７２）。読み出し動作が正しく行われた場合（ステップ１６６においてＹＥＳの場合）、ライン番号２で識別されたフィルタスクリプトファイルエディタが実行される（ステップ１６８）。したがって、”Edit  Filter  Script”プッシュボタン５３を選択することにより、ユーザは、たとえば、関連スクリプトファイルで識別されたパラメータを変更する。さらに、オープン動作及びリード動作がプログラミング言語に設けられた標準入出力関数を用いて正しく行われたかどうかが判定される。
【００５３】
本発明によるコンピュータプログラム製品（たとえば、メモリに記憶された実行可能フィルタプログラム、対応したグラフィック・ユーザ・インタフェース、関連スクリプトファイル、補助ファイル等）は、別々に販売され、あるいは、登録商標WORDPERFECTの名前で販売されているようなワード・プロセッシング・パッケージと一体化されて販売される。さらに、本発明によるフィルタは、プリンタドライバとは独立して販売され、あるいは、プリンタドライバを含むプリンタ・ソフトウェア・パッケージと一括して販売される。本発明の一つの重要な特徴は、フィルタがプリンタドライバソフトウェアとは別個のソフトウェア実行可能ファイルであり、ユーザ及びプリンタ製造者に非常に大きいフレキシビリティを提供することである。
【００５４】
本発明は、コンピュータ技術の当業者には明らかなように、本発明の教示にしたがってプログラムされた通常の汎用ディジタルコンピュータ又はマイクロプロセッサを使用して実現するのに好適である。適切なソフトウェアコーディングは、当業者に明らかなように、本発明の開示内容に基づいて熟練したプログラマによって容易に準備される。また、本発明は、当業者には明らかなように、通常のコンピュータ回路の適切なネットワークを相互接続することにより、特定用途集積回路の調整によって実現することも可能である。
【００５５】
汎用ディジタルコンピュータ若しくはマイクロプロセッサ上に実現された本発明の一部は、本発明のプロセスを実行するため、コンピュータをプログラムするのに使用され得る命令を格納する記憶媒体であるコンピュータプログラム製品を含む。記憶媒体には、たとえば、フロッピー（登録商標）ディスク、光ディスク、CD−ROM、及び、光磁気ディスクを含む任意のタイプのディスクと、ROM、RAM、EEPROM、磁気又は光カード、あるいは、電子命令を記憶するために適当なあらゆるタイプの媒体が含まれるが、これらの例に限定されるものではない。
【００５６】
明らかに、本発明の多数の変更及び変形は、上記の本発明の教示に関して実施可能である。したがって、特許請求項に記載された事項の範囲内で、本発明は、詳細な説明に記載された以外の態様で実施できることに注意する必要がある。
【図面の簡単な説明】
【００５７】
【図１】従来技術によるプリンタに接続されたコンピュータを示す図である。
【図２】従来技術による機能的コンポーネント、並びに、ソフトウェアアプリケーションとプリンタの間で受け渡されるデータを示す図である。
【図３】（Ａ）は本発明による機能的コンポーネント、並びに、ソフトウェアアプリケーションとプリンタの間で受け渡されるデータを示すブロック図であり、（Ｂ）は本発明による機能的コンポーネント、並びに、ソフトウェアアプリケーションとプリンタの間で受け渡されるデータを示す別のブロック図である。
【図４】本発明に従ってフィルタ処理されたプリンタデータストリームを示す図である。
【図５】本発明によるコンピュータプログラム製品によって実行されるステップを示すフローチャートである。
【図６】本発明によるファイル印刷のステップの概要を示すフローチャートである。
【図７】本発明によるファイル選択のステップを示すフローチャートである。
【図８】本発明によるプリンタプロパティダイアログを示す図である。
【図９】本発明によるフィルタ実行可能ファイル選択ダイアログを示す図である。
【図１０】本発明による別のフィルタ実行可能ファイル選択ダイアログを示す図である。
【図１１】本発明によるトランスペアレンシー・インターリーブ・コンピュータプログラム製品用のパラメータダイアログを示す図である。
【図１２】印刷された文書上で語／節をマスクする本発明によるコンピュータプログラム製品用のパラメータダイアログである。
【図１３】（Ａ）から（Ｆ）は、本発明によるコンピュータプログラム製品によって制作された出力文書の例を示す図である。
【図１４】ユーザが図８に示された「プレビュー結果”Preview  Results”」プッシュボタンを選択した後に実行されるステップを示すフローチャートである。
【図１５】ユーザが図８に示された「このフィルタはどういうフィルタか”What’s  this  filter”プッシュボタンを選択した後に実行されるステップを示すフローチャートである。
【図１６】ユーザが図８に示された「フィルタスクリプト編集”Edit  Filter  Script”」プッシュボタンを選択した後に実行されるステップを示すフローチャートである。
【符号の説明】
【００５８】
３    コンピュータ
６    プリンタ
１１    アプリケーション
１２    プリンタドライバ
１３    バイパスコネクション
１４    オペレーティングシステム
１６    コネクション
１８    ネットワークカード
２０    フィルタ
【図１】
0004614993.tif 000003
【図２】
0004614993.tif 000004
【図３】
0004614993.tif 000005
【図４】
0004614993.tif 000006
【図５】
0004614993.tif 000007
【図６】
0004614993.tif 000008
【図７】
0004614993.tif 000009
【図８】
0004614993.tif 000010
【図９】
0004614993.tif 000011
【図１０】
0004614993.tif 000012
【図１１】
0004614993.tif 000013
【図１２】
0004614993.tif 000014
【図１３】
0004614993.tif 000015
【図１４】
0004614993.tif 000016
【図１５】
0004614993.tif 000017
【図１６】
0004614993.tif 000018