(57)【特許請求の範囲】
【請求項１】
プリンタデバイスにおいてプリンタジョブ言語（ＰＪＬ：Printer Job Language）コマンドを一時的にディスエーブルする方法であって、
プリンタデバイスにおいて、ＰＪＬコマンドが埋め込まれている電子的にフォーマット化されたプリントジョブを取り込むステップと、
前記プリントジョブに包含される第１ＰＪＬコマンドを区別するステップと、
前記第１ＰＪＬコマンドの、一区切りのデータであるエンベロープに包含されるＰＪＬディスエーブルコマンドの前記エンベロープを区別するステップと、
前記ＰＪＬディスエーブルコマンドに応答し、前記第１ＰＪＬコマンドを一時的に無視しながら、前記プリントジョブを自動的に処理するステップとを含むことを特徴とする方法。
【請求項２】
前記第１ＰＪＬコマンドを区別するステップは、ＥＮＴＥＲ、ＩＮＩＴＩＡＬＩＺＥ、ＲＥＳＥＴ、ＳＥＴ、ＪＯＢ、ＤＥＦＡＵＬＴ、ＥＣＨＯ、ＩＮＦＯ、ＩＮＱＵＩＲＥ及びＥＮＤ−ＯＦ−ＪＯＢ（ＥＯＪ）の各コマンドから成る群から選択されたＰＪＬコマンドを区別することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１ＰＪＬコマンドの前記エンベロープに包含される前記ＰＪＬディスエーブルコマンドの前記エンベロープを区別するステップは、前記プリンタデバイスにより保持される設定であり前記プリントジョブを構成するプリントファイル内に埋め込まれた前記ＰＪＬコマンドにより設定されるグローバルジョブ設定の前記エンベロープ内に埋め込まれた前記ＰＪＬディスエーブルコマンドを区別するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記ＰＪＬディスエーブルコマンドに応答し、前記第１ＰＪＬコマンドを一時的に無視する際、選択的にエンゲージ可能なＰＪＬディスエーブルコマンドに応答し、前記第１ＰＪＬコマンドを無視することを特徴とする請求項１に記載の方法。
【請求項５】
前記第１ＰＪＬコマンドを無視しながら前記プリントジョブを自動的に処理するステップは、
前記第１ＰＪＬコマンドと第１ＰＪＬ機能とをクロスレファレンスするステップと、
前記第１ＰＪＬ機能をヌル値化するステップと、
第１ＰＪＬヌル機能を処理するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記第１ＰＪＬコマンドと前記第１ＰＪＬ機能とをクロスレファレンスするステップは、
前記第１ＰＪＬ機能を含むイネーブルインデックスを使用するステップと、
前記第１ＰＪＬヌル機能を含むディスエーブルインデックスを使用するステップとを含み、
前記第１ＰＪＬ機能をヌル値化するステップは、前記ＰＪＬディスエーブルコマンドに応答し、前記ディスエーブルインデックスを選択することを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記第１ＰＪＬコマンドを区別するステップは、前記プリントジョブを解析し、前記第１ＰＪＬコマンドと第２ＰＪＬコマンドとを区別するステップを含み、
前記第１ＰＪＬコマンドを無視しながら前記プリントジョブを自動的に処理するステップは、前記第２ＰＪＬコマンドに応答し、前記プリントジョブを自動的に処理するステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記第１ＰＪＬコマンドと前記第２ＰＪＬコマンドとを区別するステップは、
前記プリントジョブに包含される前記第１ＰＪＬコマンドが後に続く、同じく前記プリントジョブに包含される前記第２ＰＪＬコマンドを区別するステップを含み、
前記第１ＰＪＬコマンドの前記エンベロープに包含される前記ＰＪＬディスエーブルコマンドの前記エンベロープを区別するステップは、前記第１ＰＪＬコマンドの前記エンベロープに包含されるが、前記第２ＰＪＬコマンドの前記エンベロープに包含されない、前記ＰＪＬディスエーブルコマンドの前記エンベロープを区別するステップを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記第２ＰＪＬコマンドに応答して前記プリントジョブを自動的に処理するステップを含む前記第１ＰＪＬコマンドを無視しながら前記プリントジョブを自動的に処理するステップは、
前記第１ＰＪＬコマンドと第１ＰＪＬ機能とをクロスレファレンスし、前記第２ＰＪＬコマンドと第２ＰＪＬ機能とをクロスレファレンスするステップと、
前記第１ＰＪＬ機能をヌル値化するステップと、
第１ＰＪＬヌル機能を処理するステップとを含むことを特徴とする請求項７に記載の方法。
【請求項１０】
前記クロスレファレンスするステップは、
前記第１ＰＪＬ機能及び前記第２ＰＪＬ機能を含むイネーブルインデックスを使用するステップと、
前記第１ＰＪＬヌル機能及び前記第２ＰＪＬヌル機能を含むディスエーブルインデックスを使用するステップとを含み、
前記第１ＰＪＬ機能をヌル値化するステップは、前記ＰＪＬディスエーブルコマンドに応答し、前記ディスエーブルインデックスを選択することを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記第１ＰＪＬコマンドを区別するステップは、第１群と第２群とを含む複数のＰＪＬコマンドを区別するステップを含み、
前記第１ＰＪＬコマンドと前記第１ＰＪＬ機能とをクロスレファレンスするステップは、
前記複数のＰＪＬコマンドに対応する複数のＰＪＬ機能を含むイネーブルインデックスを使用するステップと、
前記ＰＪＬコマンドの第１群に対応するＰＪＬヌル機能の第１群を含む第１ディスエーブルインデックス及び前記ＰＪＬコマンドの第２群に関連するＰＪＬヌル機能の第２群を含む第２ディスエーブルインデックスを使用するステップを含み、
前記第１ＰＪＬ機能をヌル値化するステップは、
前記ＰＪＬディスエーブルコマンドに応答し、前記第１ディスエーブルインデックスと前記第２ディスエーブルインデックスから成る群から、ディスエーブルインデックスを選択することを特徴とする請求項５に記載の方法。
【請求項１２】
前記ＰＪＬディスエーブルコマンドの前記エンベロープを区別するステップは、
前記プリントジョブのソース及び前記プリントジョブのタイプから成る群から選択された基準に基づき、第１プリントジョブを認識するステップと、
前記第１ＰＪＬコマンドに先立ち、前記ＰＪＬディスエーブルコマンドを第１プリントジョブヘッダに挿入するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
プリンタジョブ言語（ＰＪＬ：Printer Job Language）コマンドを一時的にディスエーブルするためのプリンタアプリケーションのグラフィカルユーザインタフェース（ＧＵＩ:Graphical User Interface）を制御するＧＵＩ制御装置であって、
電子的にフォーマット化された、ＰＪＬコマンドが埋め込まれたプリントジョブを選択するための第１グラフィカルアイコンと、
ＰＪＬディスエーブルコマンドの、一区切りのデータであるエンベロープが前記第１ＰＪＬコマンドの前記エンベロープに包含されるよう前記プリントジョブ内に前記ＰＪＬディスエーブルコマンドを埋め込み、前記第１ＰＪＬコマンドを一時的に無視しながら、前記プリントジョブを処理させるための第２グラフィカルアイコンとを含むことを特徴とするＧＵＩ制御装置。
【請求項１４】
前記第２グラフィカルアイコンは、前記プリンタデバイスにより保持される設定であり前記プリントジョブを構成するプリントファイル内に埋め込まれた前記ＰＪＬコマンドにより設定されるグローバルジョブ設定の前記エンベロープ内に、前記ＰＪＬディスエーブルコマンドを埋め込むことを特徴とする請求項１３に記載のＧＵＩ制御装置。
【請求項１５】
前記第２グラフィカルアイコンは、選択的にエンゲージ可能であることを特徴とする請求項１３に記載のＧＵＩ制御装置。
【請求項１６】
前記第１グラフィカルアイコンは、第１ＰＪＬコマンドを包含するプリントジョブを選択し、
前記第２グラフィカルアイコンは、
前記第１ＰＪＬコマンドに対応する第１ＰＪＬ機能を含むイネーブルインデックスグラフィックと、
前記第１ＰＪＬコマンドに対応する第１ＰＪＬヌル機能を含むディスエーブルインデックスグラフィックと、
インデックス選択アイコンとを提供することを特徴とする請求項１３に記載のＧＵＩ制御装置。
【請求項１７】
前記第１グラフィカルアイコンは、前記第１ＰＪＬコマンド及び第２ＰＪＬコマンドが埋め込まれたプリントジョブを選択し、
前記第２グラフィカルアイコンは、
前記第１ＰＪＬコマンドに対応する第１ＰＪＬ機能と前記第２ＰＪＬコマンドに対応する第２ＰＪＬ機能とを含むイネーブルインデックスグラフィックと、
前記第１ＰＪＬコマンドに対応する第１ＰＪＬヌル機能と前記第２ＰＪＬ機能とを含むディスエーブルインデックスグラフィックと、
インデックス選択アイコンとを提供することを特徴とする請求項１６に記載のＧＵＩ制御装置。
【請求項１８】
前記第１グラフィカルアイコンは、第１群及び第２群を含む複数のＰＪＬコマンドが埋め込まれたプリントジョブを選択し、
前記第２グラフィカルアイコンは、
前記ＰＪＬコマンドの第１群に対応するＰＪＬ機能の第１群と前記ＰＪＬコマンドの第２群に対応するＰＪＬ機能の第２群とを含むイネーブルインデックスグラフィックと、
前記１ＰＪＬコマンドの第１群に対応する第１ＰＪＬヌル機能の第１群と前記ＰＪＬ機能の第２群とを含む第１ディスエーブルインデックスグラフィックと、
前記ＰＪＬ機能の第１の群と、前記ＰＪＬ機能の第２の群に対応するＰＪＬヌル機能の第２群とを含む第２ディスエーブルインデックスグラフィックと、
インデックス選択アイコンとを提供することを特徴とする請求項１７に記載のＧＵＩ制御装置。
【請求項１９】
ＰＪＬ（ＰＪＬ：Printer Job Language）コマンドが埋め込まれている電子的にフォーマット化されたプリントジョブを取り込むステップと、
前記プリントジョブを解析し、第１ＰＪＬコマンドを区別するステップと、
前記第１ＰＪＬコマンドの、一区切りのデータであるエンベロープに包含されるＰＪＬディスエーブルコマンドの前記エンベロープを区別するステップと、
前記ＰＪＬディスエーブルコマンドに応答し、前記第１ＰＪＬコマンドを一時的に無視しながら前記プリントジョブを自動的に処理するステップとを含む、前記プリンタジョブ言語コマンドを一時的にディスエーブルするための命令を記憶しているマシン読取可能な媒体。
【請求項２０】
前記ＰＪＬディスエーブルコマンドに応答し、前記第１ＰＪＬコマンドを一時的に無視する際、選択的にエンゲージ可能なＰＪＬディスエーブルコマンドに応答し、前記第１ＰＪＬコマンドを無視することを特徴とする請求項１９に記載のマシン読取可能な媒体。
【請求項２１】
前記命令において、
プリンタジョブヘッダ内のＰＪＬコマンドを解析し、前記ＰＪＬディスエーブルコマンドをディスカバするステップと、
前記プリントジョブのソース及び前記プリントジョブのタイプから成る群から選択された基準に基づき、前記プリントジョブを認識し、前記ＰＪＬディスエーブルコマンドを前記プリントジョブヘッダに挿入するステップとから成る群から選択されたプロセスに応答して、前記ＰＪＬディスエーブルコマンドが区別されることを特徴とする請求項１９に記載のマシン読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、プリンタに関連するソフトウェアに関し、より詳細には、プリントジョブにおいてプリンタジョブ言語（ＰＪＬ：Printer Job Language）コマンドを一時的にディスエーブルするための方法に関する。
【背景技術】
【０００２】
ＰＪＬは、ヒューレット・パッカード社(Hewlett-Packerd)が開発し仕様を公開している印刷用のコマンド言語である（非特許文献１参照）。今日、ほとんどのプリントレディファイルは、何らかの形でＰＪＬコマンドを含んでいる。これらＰＪＬコマンドは、プリンタドライバによって生成され、プリントデータが複合機（ＭＦＰ）またはプリンタへ送られる前に、プリントデータに添付される。ＰＪＬコマンドは、ジョブレベルの制御（例えばプリンタ言語の切り換えやジョブの分離、環境、ステータスのリードバック、デバイスの有無及びファイルシステムコマンド等）を追加する。ＰＪＬコマンドは、一般に他の全てのプリンタ言語よりも上位に位置しており、プリントジョブが処理される際に、最初に解析（Parse）すべきものとなっている。ＰＪＬコマンドは広く普及しており、ほとんどのＭＦＰ及びプリンタによってサポートされているが、ＰＪＬコマンドの追加されていない、生のプリントデータ（raw print data）の処理を必要とするアプリケーションも多く存在する。
【０００３】
Ｕｎｉｘ（登録商標）やＷｅｂ  Ｓｅｒｖｉｃｅ等のオープンシステムを発信元（source）とするプリントジョブは、プリントジョブ内部のＰＪＬコマンドによってオープンシステムのプリントジョブ設定が上書きされることのないように、ＰＪＬコマンドなしの、生のプリントデータのみを含むことが理想的である。しかしながら、多くのプリントレディファイルは既にＰＪＬコマンドを含んでいるので、オープンシステムアプリケーションを使用してプリントジョブを送信する際に元のプリントコンテント（print content）からＰＪＬデータを除去する方法が必要となる。
【０００４】
プリントファイルからＰＪＬコマンドを除去する方法の１つに、元のプリントファイルを解析するユーティリティを用いて、ファイルから全てのＰＪＬコマンドを特定して（identify）抽出する方法がある。この方法は、一般に、ＭＦＰにプリントデータが送信される前にホストコンピュータで実行されるが、ＭＦＰへ全ファイルを転送した後にＭＦＰ側で実行されることもある。しかしながら、上述の方法にはいくらか問題がある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ヒューレット・パッカード社、“プリンタジョブ言語テクニカルレファレンスマニュアル”、［online］、［平成２１年２月６日検索］、インターネット＜http://lprng.sourceforge.net/DISTRIB/RESOURCES/DOCS/pjltkref.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
元のプリントファイルからＰＪＬコマンドを除去する処理は、侵襲的（invasive）処理である。それゆえ元のプリントコンテントは変更されるので、プリントデータの完全性（integrity）が失われる。このようなプリントコンテントの変更は、高度なセキュリティを必要とするプリントファイル（security-sensitive print file）には望ましくない場合がある。また、上述の方法では、ＰＪＬコマンドを抽出するためにプリントファイル全体を解析する必要があり、これを行うと、プリント性能に対して望ましくないオーバヘッドが生じてしまう。更に、この解析は、ファイル全体を受信した後でしか行うことができないため、プリント処理を遅らせオーバヘッドを増加させることに繋がる。
【０００７】
ＭＦＰやプリンタが、選択されたプリントジョブ内のＰＪＬコマンドを一時的に無視できれば、有利となろう。
【課題を解決するための手段】
【０００８】
本明細書には、プリントジョブからＰＪＬコマンドを除去するのと同等な結果を、元のプリントコンテントまたはプリント性能に影響を及ぼさずに得られる方法が示されている。この方法では、ＭＦＰがプリントジョブ内のＰＪＬコマンドを無視するような結果を生じさせる制御コマンドを、プリントストリームの先頭に追加して使用している。ＰＪＬコマンドは、プリンタによって認識され解析されるが、ＰＪＬコマンドの実際の処理はバイパスされる。ＰＪＬコマンドを無視することは、ＰＪＬコマンドを持たないことと同じ効果がある。また、この方法によれば、ＰＪＬコマンド除去のための解析は不要であり、ホストコンピュータで追加して行わなければならない処理もない。さらに、プリントジョブに別のオーバヘッドが生じることもない。この方法は、プリントジョブごとにＰＪＬをダイナミックにディスエーブルするものである。更に、この方法は、全てのＰＪＬコマンドをディスエーブルするか、またはＰＪＬコマンドのサブセットのみディスエーブルするように使用できる。
【０００９】
従って、本発明により、プリンタデバイスにおいてＰＪＬコマンドを一時的にディスエーブルする方法が提供される。プリンタデバイスでは、ＰＪＬコマンドが埋め込まれた（embedded）電子的にフォーマットされたプリントジョブが取り込まれる。上記の方法では、プリントジョブを解析し、その際にプリントジョブに包含される（enveloping）第１ＰＪＬコマンド第１ＰＪＬコマンドを区別し（differentiate）、第１ＰＪＬコマンドの、一区切りのデータであるエンベロープ（envelope）に包含されるＰＪＬディスエーブルコマンドのエンベロープを区別する。プリントジョブは、ＰＪＬディスエーブルコマンドに応答し第１ＰＪＬコマンドを一時的に無視しながら、自動的に（従来通り）処理される。
また、この方法は、第１ＰＪＬコマンドと、第１ＰＪＬ機能とをクロスレファレンスし、第１ＰＪＬ機能をヌル値化し、第１ＰＪＬヌル機能を処理することにより、第１ＰＪＬコマンドを無視しながらのプリントジョブの処理を実行する。第１ＰＪＬコマンドと第１ＰＪＬ機能とのクロスレファレンスは、具体的には、例えば、第１ＰＪＬ機能を含むイネーブルインデックスと第１ＰＪＬヌル機能を含むディスエーブルインデックスとを用いて行われる。また、第１ＰＪＬ機能をヌル値化することは、ＰＪＬディスエーブルコマンドに応答しディスエーブルインデックスを選択することを含む。
【００１０】
上記方法の更なる細部、グラフィカルユーザインタフェース及び関連するマシンが読み取りできる媒体については後述する。
【図面の簡単な説明】
【００１１】
【図１】プリンタに送信するプリントジョブを選択するためのシステムを示す図である。
【図２Ａ】ＰＪＬコマンドを一時的にディスエーブルするためのＧＵＩの一例を示す図である。
【図２Ｂ】ＰＪＬコマンドを一時的にディスエーブルするためのＧＵＩの一例を示す図である。
【図２Ｃ】ＰＪＬコマンドを一時的にディスエーブルするためのＧＵＩの一例を示す図である。
【図２Ｄ】ＰＪＬコマンドを一時的にディスエーブルするためのＧＵＩの一例を示す図である。
【図２Ｅ】ＰＪＬコマンドを一時的にディスエーブルするためのＧＵＩの一例を示す図である。
【図３】ＰＪＬプロセッサインタフェースを示す図である。
【図４】ＰＪＬディスエーブルコマンドを含むように変更されたプリントジョブを示す図である。
【図５】プリンタデバイスにおいてＰＪＬコマンドを一時的にディスエーブルするための方法を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照し、種々の実施形態について説明する。以下では、本発明の１つ以上の特徴を完全に理解できるように、多くの具体例を記載する。しかしながら、かかる実施形態は、これら具体例でなくても実施できることは明らかであろう。また、これら実施形態の説明を容易にするため、周知の構造及びデバイスを、ブロック図として示す。
【００１３】
本明細書で使用する、「プロセッサ」、「処理デバイス」、「コンポーネント」、「モジュール」、「システム」などは、コンピュータに関連するエンティティ、すなわちハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかを意味するものである。例えばコンポーネントはプロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行可能な命令、実行中のスレッド、プログラム及び／またはコンピュータとすることができる。しかし、これらだけに限定されるものではなく、例えば、計算デバイスで実行中のアプリケーションと当該計算デバイスの双方を、コンポーネントとすることができる。なお、１以上のコンポーネントがプロセス及び／または実行スレッド内に常駐（reside）していてもよいし、また、１つのコンポーネントを１つのコンピュータにローカライズしてもよいし、及び／または１つのコンポーネントを２以上のコンピュータの間に分散させてもよい。更にこれらコンポーネントは、種々のデータ構造を記憶している、種々のコンピュータ読み取り可能なメディアから実行することもできる。これらコンポーネントは、例えば、１以上のデータパケット（例えば、ローカルシステム及び／若しくは分散システム内の別のコンポーネントと相互作用する１つのコンポーネントからのデータ、並びに／またはインターネットのようなネットワークを通して信号により他のシステムと相互作用する１つのコンポーネントからのデータ）を有する信号に従い、ローカルプロセス及び／またはリモートプロセスにより通信できる。
【００１４】
また、以下では、種々の実施形態について、多数のコンポーネント、モジュールなどを含むことができるシステムとして説明する。これらシステムは、当然のことながら、別のコンポーネント、モジュールなどを含むことができるし、及び／または図面を参照して説明するコンポーネント、モジュールなどの全てを含まなくてもよい。これらアプローチの組み合わせも使用できる。
【００１５】
本明細書で例示する種々の論理ブロック、モジュール及び回路は、汎用プロセッサ、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Purpose Processor）、ＦＰＧＡ（Field Programmable Gate Array）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、または本明細書に説明する機能を実行するようになっているこれらの任意の組み合わせによって構成または実行される。汎用プロセッサは、マイクロプロセッサとすることができるし、別の例では、任意の従来のプロセッサ、コントローラ、マイクロコントローラまたはステートマシンとすることもできる。プロセッサは、出力デバイスの組み合わせ（例えばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと組み合わせた１以上のマイクロプロセッサ、または他の任意のこのような構成）とすることができる。
【００１６】
本明細書に開示する実施形態を参照して説明される方法及びアルゴリズムは、ハードウェアに直接組み込まれてもよいし、プロセッサによって実行されるソフトウェアモジュールに組み込まれてもよいし、これらの両方に組み込まれてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭまたは当技術分野で知られている他の任意の形態の記憶メディアに常駐できる。記憶メディアは、プロセッサが当該記憶メディアとの間で情報の書き込み／読み出しをできるように、当該プロセッサに結合されているとよい。別の例では、記憶メディアはプロセッサと一体的にすることができる。また、プロセッサと記憶メディアとはＡＳＩＣ内に存在してもよい。ＡＳＩＣは、ノード内または他の場所に存在していてもよい。別の例では、プロセッサと記憶メディアは、ノード内のこれらディスクリートコンポーネントまたはアクセスネットワーク内の他の場所のディスクリートコンポーネントとして存在することができる。
【００１７】
図１は、プリンタに送信するプリントジョブを選択するためのシステムを示す図である。点線で示されているように、グラフィカルユーザインタフェース（ＧＵＩ）制御装置１００は、例えば、プリンタ１０４に接続されたクライアントデバイス１０２内またはプリンタ１０４内に組み込まれる。このＧＵＩ制御装置１００は、ディスプレイ１０６及びディスプレイされたＧＵＩ画像にユーザが相互対話または応答できるようにするインタフェース手段１０８としてイネーブルされる（enabled）。インタフェース手段１０８を、例えばキーボード、マウスまたはタッチスクリーンとすることができる。
【００１８】
ＧＵＩは、グラフィカルアイコン、ビジュアルインジケータ、またはウィジェットと称される特別なグラフィカル要素を示す。アイコンは、利用可能（実行可能）な情報及びアクションをフルにユーザに示すように、テキスト、ラベルまたはテキストナビゲーションと組み合わせて使用されることもある。しかしながら、通常、テキストメニューだけを提供したり、またはコマンドのタイプ入力を求めたりする代わりに、アクションはグラフィカル要素の直接操作により実行される。
【００１９】
相互対話のＷＩＭＰ（Window, Icon, Meny, Pointing device）パラダイムは、カーソルの位置を制御するために物理入力デバイスを使用し、また、ウィンドウ内で構成されアイコンと共に示された情報を表示する。利用可能なコマンドは一緒にコンパイルされメニューに示され、ポィンティングデバイスにより選択される。一般に、ユーザは、ホールドされているデータのタイプに対して適切な相互対話を可能にするヴィジュアルウィジェットを操作することにより、情報と相互対話する。良好に設計されたインタフェースのウィジェットは、機能的にはアプリケーションの機能から独立しており、間接的にアプリケーションの機能にリンクされているので、ＧＵＩを容易に変更できる。
【００２０】
アプリケーションの可視的グラフィカルインタフェースの特性は、しばしば「クローム（chrome）」とも称される。ウィンドウのような大きいウィジェットは、通常、主要な表示コンテント、例えばウェブページ、ｅメールメッセージまたは描画のためのフレームまたはコンテナを提供する。小さいウィジェットは通常、ユーザの入力ツールとして働く。
【００２１】
図２Ａ〜図２Ｅは、ＰＪＬコマンドを一時的にディスエーブルするためのＧＵＩの一例を示す図である。図２Ａに示されるように、第１グラフィカルアイコン２００は、電子的にフォーマットされたプリントジョブを選択するために使用される。図２Ｂに示す第２グラフィカルアイコン２０２は、プリントジョブ内にＰＪＬディスエーブルコマンドを埋め込んで、ＰＪＬコマンドを一時的に無視しながらのプリントジョブの処理を行わせるために使用される。１例では、第１グラフィカルアイコン２００を使用してドキュメントを選択した後に、第２グラフィカルアイコン２０２が現れる。図には示していないが、同じスクリーンにこれらのアイコンが現れてもよい。当然のことながら、第２グラフィカルアイコンは選択的にエンゲージ可能である（engagable）。例えば第１グラフィカルアイコンは第２グラフィカルアイコン（ＰＪＬディスエーブルメニュー）を選択するためのボタンを示し、第２グラフィカルアイコンは、キャンセルしてメインメニューに戻るための「ボタン」を含む。
【００２２】
ＰＪＬコマンドの例として、ＥＮＴＥＲ、ＩＮＩＴＩＡＬＩＺＥ、ＲＥＳＥＴ、ＳＥＴ、ＪＯＢ、ＤＥＦＡＵＬＴ、ＥＣＨＯ、ＩＮＦＯ、ＩＮＱＵＩＲＥ及びＥＮＤ−ＯＦ−ＪＯＢ（ＥＯＪ）のコマンドが挙げられる。これらコマンドは当技術分野で周知のものである。
【００２３】
１例では、第１グラフィカルアイコン２００は、第１ＰＪＬコマンドを包含する（enveloped with）プリントジョブを選択する。例えば、第１ＰＪＬコマンドはプリントドライバによりプリントジョブ内に挿入される。この例では、第２グラフィカルアイコン２０２は、ディスエーブルＰＪＬコマンドのエンベロープ（一区切りのデータ、データの集合）が第１ＰＪＬコマンドのエンベロープに包含されるようにする（ディスエーブルＰＪＬコマンドのエンベロープで第１ＰＪＬコマンドのエンベロープをエンベロープする）。例えば第２グラフィカルアイコンは、後述のグローバルジョブ設定のエンベロープ内にＰＪＬディスエーブルコマンドを埋め込むことができる。これらエンベロープのプロセスは、後述の図４に示されている。この例では、単一の「ボタン」を使用して、プリントジョブ内の全てのＰＪＬコマンドをディスエーブルできる。
【００２４】
図２Ｃは、ＰＪＬコマンドのディスエーブル化を許可する、第２グラフィカルアイコンＰＪＬディスエーブルメニュー２０２の第１変形例を示す。例えばアイコン２０２は、第１ＰＪＬコマンドに対応する第１ＰＪＬ機能を含むイネーブルインデックスグラフィック２０４を含む。図には、第１ＰＪＬコマンドに対応する第１ＰＪＬヌル機能を含むディスエーブルインデックスグラフィック２０６も示されている。このヌル機能（null function）は、ユーザには「ディスエーブル」として表示される。すなわちディスエーブルインデックスグラフィックが選択されると、第１ＰＪＬコマンドがディスエーブルされる。また、図には、マウスに通常関連付けられている矢印のようなインデックス選択アイコン２０８も示されている。例えばイネーブルインデックス選択「ボタン」上でマウスの矢印を左クリックすると、第１ＰＪＬコマンドがイネーブルされるのに対し、ディスエーブルインデックス選択ボタンを選択すると、第１グラフィカルアイコンによって選択されたプリントジョブのための第１ＰＪＬコマンドがディスエーブルされる。上述とは異なり、イネーブル及びディスエーブルのボタンをキーボードを使って選択することもできる。
【００２５】
図２Ｄは、ＰＪＬコマンドの選択的ディスエーブル化を許可する、第２グラフィックアイコンＰＪＬディスエーブルメニュー２０２の第２変形例を示す。図には、第１ＰＪＬコマンド及び第２ＰＪＬコマンドにそれぞれ対応する第１ＰＪＬ機能及び第２ＰＪＬ機能を含むイネーブルインデックスグラフィック２１０が示されている。第１ディスエーブルインデックスグラフィック２１２は、第１ＰＪＬコマンドに対応する（「ディスエーブル」として表示される）第１ＰＪＬヌル機能と、上記第２ＰＪＬ機能とを含む。図には、インデックス選択アイコン２０８も示されている。イネーブルインデックスグラフィック２１０を選択することにより、双方のＰＪＬコマンドがイネーブルされる。第１ディスエーブルインデックスグラフィック２１２を選択することにより、第１ＰＪＬコマンドはディスエーブルされるが、第２ＰＪＬコマンドはディスエーブルされない。
【００２６】
図２Ｅは、ＰＪＬコマンドグループの選択的ディスエーブル化を許可する、第２グラフィックアイコンＰＪＬディスエーブルメニュー２０２の第３変形例を示す。イネーブルインデックスグラフィック２１４は、ＰＪＬコマンドの第１グループ（群）に対応するＰＪＬ機能の第１グループと、ＰＪＬコマンドの第２グループ（群）に対応するＰＪＬ機能の第２グループとを含む。第１ディスエーブルインデックスグラフィック２１６は、ＰＪＬコマンドの第１グループに対応する（「ディスエーブル」として表示される）ＰＪＬヌル機能の第１グループと、上記ＰＪＬ機能の第２グループとを含む。図には、上述のＰＪＬ機能の第１グループと、ＰＪＬコマンドの第２グループに対応する（「ディスエーブル」として表示される）ＰＪＬヌル機能の第２グループとを含む第２ディスエーブルインデックスグラフィック２１８も示されている。
【００２７】
インデックス選択アイコン（マウスカーソル）２０８でイネーブルインデックスグラフィック２１４を選択することにより、第１及び第２のグループのＰＪＬコマンドがイネーブルされる。第１ディスエーブルインデックスグラフィック２１６を選択することにより、第１グループのＰＪＬコマンド（第１〜第３ＰＪＬコマンド）がディスエーブルに、第２グループのＰＪＬコマンド（第４及び第５ＰＪＬコマンド）がイネーブルに、一括設定される。第２ディスエーブルインデックスグラフィック２１８を選択することにより、第１グループのＰＪＬコマンド（第１〜第３ＰＪＬコマンド）がイネーブルに、第２グループのＰＪＬコマンド（第４及び第５ＰＪＬコマンド）がディスエーブルに、一括設定される。これにより、ＰＪＬコマンド毎にディスエーブル又はイネーブルを指定しなくてもよくなり、操作性が向上する。
十分なディスエーブルインデックスグラフィックがあれば、イネーブルするＰＪＬコマンドとディスエーブルするＰＪＬコマンドとのあらゆる組み合わせを選択できる。
【００２８】
なお、図２Ｅは、プリンタ機器でサポートされる種々のＰＪＬ処理モードをグラフィック表示したものとも言える。各モードは、いずれのＰＪＬコマンドのグループをイネーブルまたはディスエーブルするかのリストで示される。これらのリストは、ＧＵＩに表示するために動的に取得される、あるいは、後の表示のために電源投入時にディスカバされる。ユーザは、ＰＪＬコマンドのグループの一つを選ぶことにより、所望のモードを選択することができる。
【００２９】
また、上述のイネーブルインデックスグラフィック及びディスエーブルインデックスグラフィックはそれぞれ、イネーブルインデックス及びディスエーブルインデックスをグラフィック描画したものである。また、イネーブルインデックスグラフィック及びディスエーブルインデックスグラフィックの選択はそれぞれ、イネーブルインデックス及びディスエーブルインデックスの選択を示す。
【００３０】
当然のことながら、一時的にディスエーブルできるＰＪＬコマンドまたはＰＪＬコマンドのセットは、プリントジョブが設定されているプリンタの特定の設定（configuration）に依存する。ディスエーブルされるＰＪＬコマンドまたはＰＪＬコマンドグループは、クライアントデバイスメモリ内に事前設定（preconfigure）されるか、またはクライアントデバイスとプリンタとの間のセットアップ通信における初期化中にディスカバされる。当然のことながら、異なるプリンタが、異なるディスエーブルされるＰＪＬコマンドまたはＰＪＬコマンドのセットを許可できる。
【００３１】
特別に示されていないが、別の例では、全ての可能なＰＪＬコマンドのグラフィックが示され、これらＰＪＬコマンドはデフォルトによって自動的に選択されており、ユーザがディスエーブルすべきＰＪＬコマンドまたはＰＪＬコマンドのグループを単に選択するようになっている。これとは異なり、認証されたＰＪＬコマンドをデフォルトによってディスエーブルし、ユーザがイネーブルすべきＰＪＬコマンドを選択してもよい。別の方法として、コマンドラインインタフェース（ＣＬＩ）を使って、プリントジョブ内にＰＪＬディスエーブルコマンドを挿入する方法がある。ただし、これを行うには、キーボードでコマンドをタイプする必要がある。また、別の例として、所定タイプのプリントジョブの処理中に、ＭＦＰまたはプリンタデバイスによりＰＪＬディスエーブルコマンドが加えられるようにしてもよい。
【００３２】
機能の説明
上記ＧＵＩ及び下記のプリンタ側での方法は、元のプリントコンテントが傷つけられない点、普通のＰＪＬ処理が影響されない点、プリントファイルを解析しＰＪＬコマンドを除去するときのオーバヘッドによって全体の性能が影響されないという点で、不要なＰＪＬコマンドを除去する現行の方法よりも優れている。また、本発明の方法は、一部のアプリケーションがＰＪＬコマンドの除去を必要とするプリントジョブを調達する場合に、多数のファイルフォーマットをサポートする能力を有するプリントアプリケーションにおいて使用できる。
【００３３】
例えば、第１のベンダのプリンタに対して生成されるが、実際には第２のベンダのプリンタでプリントされるＰＲＮファイルを処理する際に、ＰＪＬコマンドの保留（suspension）が有効となり得る。これら埋め込まれたファイルは、めんどうなジョブパラメータをセットすることが時々ある。例えばテキストファイルが２００ページのドキュメントを１０部コピーすることがある。一般にこれらのファイルは、周知のテキストエディタでは変更が困難であるので、埋め込まれたＰＪＬジョブパラメータを無効にすることが有効である。本発明の方法によれば、短いＰＪＬラッパ（PJL wrapper）で現行のＰＲＮファイルを囲むことで、埋め込まれたジョブパラメータを無効にすることができる。
【００３４】
一般に、プリントファイルは、あるプリントアプリケーションを通してＭＦＰまたはプリンタへ送られる。これらプリントファイルは、ホストまたはクライアントコンピュータ上のアプリケーションによりＭＦＰへ「プッシュされる（pushed）」か、またはＭＦＰの内部にあるアプリケーションにより「プル（pull）される」。図２Ａ〜２Ｅは、プリントジョブのプッシュまたはプルのいずれかに対して使用できるＧＵＩを示す。「プルされた」場合、イネーブルされたプリンタ側のアプリケーションは、特別なＰＪＬコマンドを添付する。この特別なＰＪＬコマンドは、プリントファイルがＭＦＰ上の内部プリントパイプラインに入る前に、そのプリントジョブ内のＰＪＬコマンドが更に処理されるのをディスエーブルするようになっている。プリントファイルは通常のプリントパイプラインを使ってまだ処理されているが、そのプリントジョブ内の全ての（または一部の）ＰＪＬコマンドは無視される。ＰＪＬ処理は、各ジョブの開始時に通常のステートに戻る。
【００３５】
一例では、ＭＦＰは２つのインタフェース、すなわち全てのＰＪＬコマンドをイネーブルするためのインタフェースと、全てのＰＪＬコマンドをディスエーブルするためのインタフェースを保持する。別の例では、ＭＦＰは個々のＰＪＬコマンドをイネーブルしたりディスエーブルするための複数のインタフェースを保持してもよい。例えば、ＭＦＰ上のイネーブルされたプリントコンポーネントが、ファイルをプリントするリクエストを受信する。ＰＪＬコマンドは、プリントストリームの開始点に添付されており、その結果、ＭＦＰがそのジョブ内の残りのＰＪＬコマンドを無視するようになっている。変更されたファイルは、ＰＪＬコマンドがなくてもプリントジョブが処理されるように、外部サーバからリクエストされパイプラインへ送られる。
【００３６】
また一例では、ＭＦＰ内のＰＪＬインタープリタは、２つのコンポーネント、すなわちＰＪＬコマンドを解析（パース）するコンポーネント（パーサ）と、ＰＪＬコマンドを処理する別のコンポーネント（プロセッサ）と、を有する。パーサ及びプロセッサは、ＰＪＬコマンドをＰＪＬ機能にマッピングするためのインタフェースを利用する。ＰＪＬパーサにより解析されるどのＰＪＬコマンドも、実際のコマンドを処理するＰＪＬプロセッサ内の機能と等価な機能を有する。
【００３７】
図３は、ＰＪＬプロセッサインタフェースを示す図である。ＭＦＰはＰＪＬプロセッサに対する２つの別個のインタフェースを内部に維持する。一方のインタフェースは通常のＰＪＬコマンド機能を含み、別のインタフェースはヌル機能を含む。この２つのインタフェースの切り換えを行うために、ＰＪＬコマンド、すなわちＰＪＬＭＯＤＥが提供される。このＰＪＬＭＯＤＥがＤＩＳＡＢＬＥにセットされた場合、ＭＦＰは、ＮＵＬＬ（ヌル）機能ポインタを含むディスエーブルモードに関連するＰＪＬインタフェースを使用するように、内部で切り換える。ＮＵＬＬ機能ポインタは、コマンドがバックボーンを有していないことを意味する。ＰＪＬコマンドは、まだＭＦＰによって認識されるが、そのときのプリントジョブに影響するものは何もない。ＰＪＬＭＯＤＥがないか、またはイネーブルにセットされた場合、ＭＦＰは実際のＰＪＬコマンド機能ポインタを含む、標準的なＰＪＬインタフェースを使用する。
【００３８】
ＰＪＬＭＯＤＥは、グローバルジョブ設定の一部に含められ得る。どのジョブのスタート時においても、ジョブ設定はそのときのデフォルトにリセットされ、そのときのデフォルトは、一般にＰＪＬＭＯＤＥをＥＮＡＢＬＥにセットする。この例では、ＰＪＬＭＯＤＥは、プリントストリーム内のＰＪＬコマンドによりＤＩＳＡＢＬＥに明確に（explicitly）セットされるようになっており、どのジョブに対してもダイナミックに変更できる。ＤＩＳＡＢＬＥテーブルは、任意の数のＰＪＬコマンドをディスエーブルしたり、または全てのコマンドをディスエーブルしたりするように、カスタム化され得る。
【００３９】
図４は、ＰＪＬディスエーブルコマンドを含むように変更されたプリントジョブを示す図である。上記のように、ＭＦＰは、２つのインタフェース、すなわち全てのＰＪＬコマンドをイネーブルするためのインタフェースと、全てのＰＪＬコマンドをディスエーブルするためのインタフェースを保持できる。ここに図示されていない別の例では（図２Ｅ参照）、ＭＦＰは、個々のＰＪＬコマンドをイネーブルしたりディスエーブルするための複数のインタフェースを保持できる。図４から分かるように、プリントジョブヘッダ内のＰＪＬ  ＳＥＴの後で、ＰＪＬディスエーブルコマンド（ＰＪＬ  ＳＥＴ  ＰＪＬＭＯＤＥ＝ＤＩＳＡＢＬＥ）が生じる。その後、プリントファイルに関連するＰＪＬコマンド（例えばＰＪＬ  ＲＥＳＥＴ）の全てが無視される。各プリントジョブの開始時において、ＰＪＬプロセッサは、標準的なＰＪＬインタフェースすなわちＥＮＡＢＬＥ  ＰＪＬプロセッサインタフェースを用いるデフォルト状態に戻される。図示されているような１例では、グローバル設定において、ＰＪＬディスエーブルコマンドがディスカバされ、プリンタによりプリントジョブヘッダに挿入されている。この図は、ＰＪＬディスエーブルコマンドのエンベロープがＰＪＬコマンドのエンベロープに包含されるようにすること（the envelopment of PJL commands by a PJL disable command）の例を示している。
【００４０】
図４は、典型的なプリントジョブの一例であり、図の左側はプリントジョブの中身を示し、右側はそれに対応するプリンタデバイスでのＰＪＬ処理を示している。図の例では、プリントジョブには、ＰＪＬ処理を無効にするために、ＰＪＬディスエーブルコマンド（ＰＪＬ  ＳＥＴ  ＰＪＬＭＯＤＥ＝ＤＩＳＡＢＬＥ）が含まれている。ＰＪＬディスエーブルコマンドの後すなわちＰＪＬモードがＤＩＳＡＢＬＥにセットされると、プリンタは、全ＰＪＬ機能がヌル値化されたディスエーブルインデックスに関連するＰＪＬコマンドテーブルを使うよう、内部で切り換える。これによりＰＪＬ処理を避けることができる。
【００４１】
図５は、プリンタデバイスにおいてＰＪＬコマンドを一時的にディスエーブルするための方法を示すフローチャートである。明瞭にするために、この方法は番号のついたステップのシーケンスとして示されているが、番号は必ずしもステップの順序を示すものではない。当然のことながら、これらステップの一部については、スキップしたり、並列に実行したり、厳密な順序のシーケンスを維持しないで実行したりできる。この方法は、ステップ５００からスタートする。
【００４２】
プリンタデバイスでは、ステップ５０２は、ＰＪＬコマンドが埋め込まれている、電子的にフォーマット化されたプリントジョブを取り込む。ステップ５０４は、プリントジョブを解析し、第１ＰＪＬコマンドとＰＪＬディスエーブルコマンドとを区別する。なお、ＰＪＬコマンドの一部の例として、ＥＮＴＥＲ、ＩＮＩＴＩＡＬＩＺＥ、ＲＥＳＥＴ、ＳＥＴ、ＪＯＢ、ＤＥＦＡＵＬＴ、ＥＣＨＯ、ＩＮＦＯ、ＩＮＱＵＩＲＥ及びＥＮＤ−ＯＦ−ＪＯＢ（ＥＯＪ）コマンドを挙げることができる。上述のＰＪＬディスエーブルコマンドに応答し、ステップ５０６は、第１ＰＪＬコマンドを一時的に無視しながらプリントジョブを自動的に処理する。ＰＪＬディスエーブルコマンドは選択的にエンゲージ可能である。
【００４３】
１例では、ステップ５０４で第１ＰＪＬコマンドとＰＪＬディスエーブルコマンドを区別することは、サブステップを含む。ステップ５０４ａは、プリントジョブに包含される（プリントジョブをエンベロープする）第１ＰＪＬコマンドを区別し、ステップ５０４ｂは、第１ＰＪＬコマンドのエンベロープに包含されるＰＪＬディスエーブルコマンドを区別する。換言すれば、ステップ５０４は、グローバルジョブ設定のエンベロープ内に埋め込まれているＰＪＬディスエーブルコマンドを区別する。
【００４４】
また、１例では、ステップ５０６で第１ＰＪＬコマンドを一時的に無視しながらプリントジョブを自動的に処理することは、サブステップを含む。ステップ５０６ａは、第１ＰＪＬコマンドを第１ＰＪＬ機能にクロスレファレンスし、ステップ５０６ｂは、第１ＰＪＬ機能をヌル値化し、ステップ５０６ｃは、第１ＰＪＬヌル機能を処理する。別の例では、ステップ５０６ａにおいて第１ＰＪＬコマンドを第１ＰＪＬ機能にクロスレファレンスすることは、サブステップを含む。ステップ５０６ａ１は、第１ＰＪＬ機能を含むイネーブルインデックスを使用し、ステップ５０６ａ２は、第１ＰＪＬヌル機能を含むディスエーブルインデックスを使用する。そして、この例では、ステップ５０６ｂにおいて第１ＰＪＬ機能をヌル値化することは、ＰＪＬディスエーブルコマンドに応答してディスエーブルインデックスを選択することを含む。
【００４５】
また、別の例では、ステップ５０４は、第１ＰＪＬコマンドと第２ＰＪＬコマンドを区別するように、プリントジョブを解析し、ステップ５０６は、第２ＰＪＬコマンドに応答し、プリントジョブを自動的に処理することを更に含む。より明瞭に説明すれば、ステップ５０４ａは、第１ＰＪＬコマンドとその後に続く第２ＰＪＬコマンドを区別でき（双方のコマンドはプリントジョブに包含される）、ステップ５０４ｂは、第１ＰＪＬコマンドのエンベロープに包含されるが第２ＰＪＬコマンドに包含されないＰＪＬディスエーブルコマンドを区別する。
【００４６】
この例では、さらに、ステップ５０６ａは、第１ＰＪＬコマンドと第１ＰＪＬ機能とをクロスレファレンスし、かつ第２ＰＪＬコマンドと第２ＰＪＬ機能とをクロスレファレンスする。ステップ５０６ｂは、第１ＰＪＬ機能をヌル値化し、ステップ５０６ｃは、第１ＰＪＬヌル機能と第２ＰＪＬ機能とを処理する。関連する変形例では、ステップ５０６ａ１は、第１ＰＪＬ機能及び第２ＰＪＬ機能を含むイネーブルインデックスを使用し、ステップ５０６ａ２は、第１ＰＪＬヌル機能及び第２ＰＪＬ機能とを含むディスエーブルインデックスを使用し、次に、ステップ５０６ｂは、ＰＪＬディスエーブルコマンドに応答し、ディスエーブルインデックスを選択する。
【００４７】
別の関連する例では、ステップ５０６ａ１は、複数のＰＪＬコマンドに対応する複数のＰＪＬ機能を含むイネーブルインデックスを使用し、ステップ５０６ａ２は、ＰＪＬコマンドの第１グループに対応するＰＪＬヌル機能の第１グループを含む第１ディスエーブルインデックスと、ＰＪＬコマンドの第２グループに関連するＰＪＬヌル機能の第２グループを含む第２ディスエーブルインデックスとを使用する。次に、ステップ５０６ｂは、第１ディスエーブルインデックスまたは第２ディスエーブルインデックスのいずれかを選択する。
【００４８】
本方法の別の例では、ステップ５０４におけるＰＪＬディスエーブルコマンドを区別することは、第１ＰＪＬコマンドに先立ち（in prior to）、ＰＪＬディスエーブルコマンドを第１プリントジョブヘッダに挿入することを含む。別の変形例では、プリントジョブソース及びプリントジョブタイプのような基準に基づき、第１プリントジョブを認識することにより、ステップ５０４がイネーブルされる。例えばオープンシステムまたはウェブサービスソースからのプリントジョブを区別できる。かかるソースは、ネットワークを通して相互に作動可能なマシン対マシン相互対話をサポートできる。ウェブサービスはウェブのアプリケーションプログラミングインタフェース（ＡＰＩ：Application Programming Interface）でよく、このインタフェースは、インターネットのようなネットワークを通してアクセスし、リクエストされたサービスのホストをするリモートシステムで実行できる。例えば、条件（term）は、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ：Simple Object Access Protocol）規格に従うＸＭＬメッセージを使用して通信するクライアント及びサーバを参照できる。ウェブサービス記述言語（ＷＳＤＬ：Web Service Description Language）で記載された、サーバによってサポートされるオペレーションの、マシン読み取り可能な記述も存在するとの仮定が、フィールド及び用語の双方に共通する。ＰＪＬディスエーブルコマンドを必要とするような、ステップ５０４で区別できるプリントジョブタイプのいくつかの例として、コピージョブ、キュープリントジョブ、ファクシミリジョブ及び記憶されたプリントジョブを挙げることができる。
【００４９】
上記フローチャートは、ＰＪＬコマンドを一時的にディスエーブルするための命令を記憶している、マシン読み取り可能なメディアの表現として解釈することもできる。この例では、命令が上記のようにステップ５０２〜５０６をイネーブルする。
【００５０】
なお、上述したＥＮＴＥＲ、ＩＮＩＴＩＡＬＩＺＥ、ＲＥＳＥＴ、ＳＥＴ、ＪＯＢ、ＤＥＦＡＵＬＴ、ＥＣＨＯ、ＩＮＦＯ、ＩＮＱＵＩＲＥ等は、非特許文献１に記載のように、ヒューレット・パッカード社の業界標準のＰＪＬコマンドの例である。ＥＮＴＥＲは、現在のジョブを処理する際のプリンタ言語を選択するＰＪＬコマンドであり、ＩＮＩＴＩＡＬＩＺＥは、現在またはデフォルトのＰＪＬ変数を工場出荷時の設定に戻すものであり、ＲＥＳＥＴは、現在のＰＪＬ変数をデフォルトの変数に再設定するものであり、ＳＥＴは、ＰＪＬジョブの間の環境変数を設定するものである。また、ＪＯＢは、プリントジョブの開始をプリンタに知らせ、ページカウント（ページ数）をリセットし、ジョブに対する名前付けを可能とするＰＪＬコマンドであり、これによって、プリンタに渡されたプリントジョブのうちの一部のページのみを印刷するモードであるノンプリントモード（non-printing mode）がサポートされるものである。また、ＤＥＦＡＵＬＴは、環境変数のデフォルト値を設定するＰＪＬコマンドであり、ＥＣＨＯは、ホストコンピュータに特定のメッセージを返すようプリンタに促すものであり、ＩＮＦＯは、プリンタステータスやプリンタモデルナンバ等のプリンタに関する情報を要求するものであり、ＩＮＱＵＩＲＥは、環境変数の現在の値を要求するものである。
【００５１】
また、上述したグローバルジョブ設定は、プリンタにより保持される（maintained）設定であり、プリントファイル内に埋め込まれたＰＪＬコマンドにより設定されるものである。グローバルジョブ設定は、プリントジョブのあるパラメータを特定するために用いられる。例えば、グローバルジョブ設定の一つに、印刷部数（number of COPIES）が含まれることがある。プリンタが、印刷部数に関するデフォルトの設定（例えば、１部）を保持していた場合、この設定は、プリントファイル内に埋め込まれたＰＪＬ ＳＥＴ ＣＯＰＩＥＳ＝４というコマンドにより修正される。プリンタに送られた全てのプリントジョブそれぞれについて、プリンタは、当該プリントジョブのグローバルジョブ設定を保持する。
【００５２】
以上で、ＰＪＬコマンドを一時的にディスエーブルするか、または一時停止するためのシステム及び方法について説明した。本発明を説明するために、明示的なインタフェース及びプロセスのステップの例を使用した。しかしながら、本発明はこれらの例だけに限定されるものでなく、当業者には本発明の別の変形例及び実施例も想到できよう。
【符号の説明】
【００５３】
１００…ＧＵＩ制御装置、１０２…クライアントデバイス、１０４…プリンタ、１０６…ディスプレイ、１０８…インタフェース手段。
【図１】
0004759065.tif 000002
【図２Ａ】
0004759065.tif 000003
【図２Ｂ】
0004759065.tif 000004
【図２Ｃ】
0004759065.tif 000005
【図２Ｄ】
0004759065.tif 000006
【図２Ｅ】
0004759065.tif 000007
【図３】
0004759065.tif 000008
【図４】
0004759065.tif 000009
【図５】
0004759065.tif 000010