(57)【特許請求の範囲】
【請求項１】
特定された印刷システムが印刷ジョブを実行するためのジョブ定義フォーマット（ＪＤＦ）ジョブチケットを生成する方法であって：
前記特定された印刷システムの利用できる機能をＪＤＦ要素に関連づけているプリンタ定義ファイルをプリンタドライバに提供するステップ；
前記プリンタ定義ファイルは、複数のエントリーを有し、各エントリーは、ポストスクリプトプリンタ定義ファイル（ＰＰＤ）又は一般プリンタ定義（ＧＰＤ）ファイルとして、前記特定された印刷システムの利用できる機能を特定する名前を含み、
前記各エントリーは、対応する印刷システムに利用できる対応する命名された機能を実現するために利用されるＪＤＦ印刷パラメータを示すＪＤＦ要素パス名文字列によって特定される対応するＪＤＦ要素を含み、
前記プリンタ定義ファイルから機能を選択する入力を受信するステップ；および
前記プリンタドライバから、前記選択された機能に関連づけられた前記ＪＤＦ要素を含むＪＤＦジョブチケットを出力するステップ；
を有する方法。
【請求項２】
グラフィカルユーザーインタフェース（ＧＵＩ）として前記プリンタ定義ファイルを提示するステップを更に有する方法であって、
前記入力を受信するステップは、前記ＧＵＩの提示に応答してユーザ入力を受信するステップを含む、
請求項１記載の方法。
【請求項３】
前記プリンタ定義ファイルにアクセスするための要求をアプリケーションプログラムから受信するステップ；および
前記要求の受信に応答して前記プリンタ定義ファイルのコンテンツを返すステップ；を更に有する方法であって、
前記入力を受信するステップは、前記プリンタ定義ファイルから機能を選ぶために、前記アプリケーションプログラムから更なる要求を受信するステップを含む、
請求項１記載の方法。
【請求項４】
前記ＪＤＦジョブチケットのパラメータに従って前記印刷ジョブの実行のために、前記ＪＤＦジョブチケットおよび前記印刷ジョブを印刷システムに送信するステップ、を更に有する請求項１ないし3のうちいずれか１項に記載の方法。
【請求項５】
提示された利用できる機能から、印刷パラメータを定義するユーザ入力を受信するステップ；
前記定義された印刷パラメータに対応する前記ＪＤＦ要素を表すツリー構造を生成するステップ；および
前記ツリー構造からＪＤＦジョブチケットを有するＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）出力を生成するステップ；
を有する請求項1ないし４のうちいずれか１項に記載の方法。
【請求項６】
ジョブ定義フォーマット（ＪＤＦ）ジョブチケットを生成するためのシステムであって、
複数のプリンタ定義ファイルを含むプリンタドライバであって、プリンタ定義ファイルの各々が対応する印刷システムに関連づけられ、プリンタ定義ファイルの各々が前記対応する印刷システムの機能にＪＤＦ要素を関連づけ、前記プリンタ定義ファイルは、複数のエントリーを有し、各エントリーは、ポストスクリプトプリンタ定義ファイル（ＰＰＤ）又は一般プリンタ定義（ＧＰＤ）ファイルとして、特定された印刷システムの利用できる機能を特定する名前を含み、前記各エントリーは、対応する印刷システムに利用できる対応する命名された機能を実現するために利用されるＪＤＦ印刷パラメータを示すＪＤＦ要素パス名文字列によって特定される対応するＪＤＦ要素を含む、プリンタドライバ；および
複数のプリンタ定義ファイルにアクセスするのに適合しているコンピュータシステム；
を有し、
前記コンピュータシステムは、前記複数のプリンタ定義ファイルからプリンタ定義ファイルを選択し、
前記コンピュータシステムは、前記選択されたプリンタ定義ファイルから、選択された機能の入力を受信し、かつ
前記コンピュータシステムは、前記選択された機能に関連する前記ＪＤＦ要素を含むＪＤＦジョブチケットを出力する、
システム。
【請求項７】
前記コンピュータシステムで実行できるアプリケーションプログラムを更に有するシステムであって、
前記アプリケーションプログラムは、前記プリンタ定義ファイルを選択し、前記利用できる機能を受け取り、かつ前記印刷パラメータを定義する、請求項６記載のシステム。
【請求項８】
コミュニケーション可能なように、前記コンピュータシステムに接続された表示装置；
ユーザ入力を受信するために、コミュニケーション可能なように、前記コンピュータシステムに接続されたユーザ入力デバイス；
前記表示装置および前記ユーザ入力デバイスにコミュニケーション可能なように接続された、前記コンピュータシステムで実行できるユーザインタフェース、
を更に有するシステムであって、
前記ユーザインタフェースは、ユーザ入力に応答して前記プリンタ定義ファイルを選択し、前記利用できる機能を表示装置上でユーザに提示し、かつユーザ入力に応答して前記印刷パラメータをＪＤＦ要素として定義する、
請求項６記載のシステム。
【請求項９】
特定された印刷システムで印刷ジョブを実行するためのジョブ定義フォーマット（ＪＤＦ）ジョブチケットを生成するプログラムであって：
前記特定された印刷システムの機能をＪＤＦ要素に関連させているプリンタ定義ファイルを提供する手順；
前記プリンタ定義ファイルは、複数のエントリーを有し、各エントリーは、ポストスクリプトプリンタ定義ファイル（ＰＰＤ）又は一般プリンタ定義（ＧＰＤ）ファイルとして、前記特定された印刷システムの利用できる機能を特定する名前を含み、
前記各エントリーは、対応する印刷システムに利用できる対応する命名された機能を実現するために利用されるＪＤＦ印刷パラメータを示すＪＤＦ要素パス名文字列によって特定される対応するＪＤＦ要素を含み、
前記プリンタ定義ファイルから機能を選択する入力を受信する手順；および
前記選択された機能と関連している前記ＪＤＦ要素を含むＪＤＦジョブチケットを出力する手順；
を有する命令をコンピュータに実行させるためのプログラム。
【請求項１０】
提示された利用できる機能から、印刷パラメータを定義するユーザ入力を受信する手順；および
定義された印刷パラメータおよび前記選択されたプリンタ定義ファイルの前記ＪＤＦ要素からＪＤＦジョブチケットを生成する手順；
を有する命令をコンピュータに実行させるための、請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ジョブ定義フォーマット（ＪＤＦ：Job  Definition  Format）情報を生成することに関する。より詳細には、プリンタ定義ファイルからＪＤＦジョブチケットを生成する方法および、システムおよびプログラムに関する。
【背景技術】
【０００２】
プリントショップ（大きいもの、小さいものを含む）、印刷工場、およびより小さなワークグループ環境を含む多くの印刷環境においては、特定の印刷ジョブを実行するために、必要な印刷処理を定めたＪＤＦ情報を作成することが一般に知られている。ＪＤＦは、印刷ジョブの処理に関する情報（印刷パラメータ）を提供するために広く採用されている規格である。ＪＤＦ情報は、通常は「ジョブチケット」と称するオブジェクトファイルに含まれている。ＪＤＦ情報は、ジョブチケットの記述によって、印刷ジョブのための印刷データと関連づけられている。ＪＤＦジョブチケットは、任意の数のＪＤＦ要素を含んでいる。ＪＤＦ要素は、印刷する特定のジョブに関する印刷パラメータを示すために必要となる。印刷パラメータの例としては、印刷されるべき素材のコンテンツを特定する１つ以上のリソースの場所、印刷ジョブに関係する様々なタイプの対象のレンダリングのためのオプションを示すレンダリングパラメータ、レイアウトオプション、例えば、ｎ−ｕｐ、両面、その他の利用できるプリントオプション、印刷のためのメディアパラメータ（例えば、サイズ、重さ、色等）が挙げられる。
【０００３】
ＪＤＦ標準は、ＣＩＰ４（業界団体）によって公表され、当業者に周知である。これは、業界団体のサイトから直ちに取得することができる。一般に、ＪＤＦ要素は階層的なツリー構造になっている。さまざまなパラメータが、木構造（ツリー）の論理的な枝に分類され、可能なパラメータおよびオプションが関連づけられている。木構造は共通の根（ルート）を有し、枝は、複数のグループ付けされたパラメータに関連づけられている。パラメータは、ジョブチケットを作成する際に、ユーザやアプリケーションによって指定してもよい。最近の一部の印刷システムは、プリントサーバまたは他の制御要素を有している。これらは、ＪＤＦジョブチケットを受け取り、ＪＤＦ要素によって指定された内容を処理し、印刷ジョブを直接コントロールする。
【０００４】
印刷システムにおいて発展した他の事実上の標準としては、アドビシステムズ社によって開発され標準化された、ポストスクリプトプリンタ定義（ＰＰＤ）がある。ＰＰＤファイルは、対応する印刷システムの機能および能力を記述したテキストファイルである。アドビシステムズ社によって定義されたＰＰＤファイルは、利用できる印刷システムの能力を特定することに加えて、印刷システムの対応する機能を実行するポストスクリプト・コマンド言語の文字列を提供する。初期においては、アドビシステムズによって定義されたものは、ポストスクリプトの機能を持つ印刷システムをサポートするものであったが、ＰＰＤファイル構造は、他のコマンド言語構造をサポートする他の印刷システムの能力および機能を定めるために拡張された。例えばヒューレットパッカード社のプリンタコマンド言語（ＰＣＬ：Ｐｒｉｎｔｅｒ  Ｃｏｍｍａｎｄ  Ｌａｎｇｕａｇｅ）およびプリンタジョブ言語（ＰＪＬ：Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）である。さらに、一般プリンタ定義（ＧＰＤ：Ｇｅｎｅｒａｌ  Ｐｒｉｎｔｅｒ  Ｄｅｆｉｎｉｔｉｏｎ）と呼ばれる類似したオープン・スタンダードが発展し、ＰＰＤ構造に類似したテキストベースの構造を提供している。ＧＰＤは、印刷システムの能力および機能を定義し、印刷システムの能力または機能を動作させるための対応するコマンド文字列を定義している。ＰＰＤおよびＧＰＤの構造は、目的および一般の構造において類似しているため、本願明細書においては、「プリンタ定義」ファイルとしてＰＰＤおよびＧＰＤファイルが含まれると理解されたい。
【０００５】
プリンタ定義ファイルは、オペレーティングシステムのプリンタドライバソフトウェアモジュールによって使われ、また、さまざまなアプリケーションプログラムによって直接使われる。印刷システム用のプリンタ定義ファイルの１つの一般的な用法としては（グラフィカルユーザインタフェースまたはその他のインターフェースで）、ユーザが選択できるように、オプション及び機能を提示することである。これによって、対応するプリンタに印刷すべきドキュメントの印刷データ出力が生成される。印刷デバイスの能力および機能、並びに可能な機能の設定は、文書を印刷するユーザに提示される。ユーザの入力は、所望の機能および／または能力を選び、パラメータ値を与え、その入力が適切であれば、文書の印刷のためのパラメータを特定することになる。その後、ドライバ・モジュールは、ユーザの選択したオプションに対応するコマンド言語文字列を生成し、そして、生成された文字列およびユーザの提供した印刷データを出力し、選択されたパラメータを使用してプリンタに文書を印刷させる。プリンタ定義ファイルは、同様に、アプリケーションプログラム・インタフェース（ＡＰＩ）を使用して、アプリケーションプログラムによってアクセスされてもよい。これによって、アプリケーションによって生成された文書の印刷のために、同様にオプションが選択される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
多くのユーザは、プリンタ定義ファイルを使用したシステムによって提供される典型的ユーザインタフェース（例えばグラフィカルユーザインタフェース）に精通している。マイクロソフトウインドウズを搭載したＰＣまたはアップル・マッキントッシュ・システムのPCにおいては、例えば、ユーザは、文書の印刷を要求し、選択された印刷システムのために利用できる機能が提示され、選択される。ユーザは、選択された印刷システムの利用できる機能を選択し入力する。これによって、その機能のためのパラメータ値が定められる。
【０００７】
多くの印刷環境（例えば上述のようなプリントショップ）は、プリンタ定義ファイルを使う手法よりはむしろ印刷パラメータを定めるために、ＪＤＦジョブチケットを利用する。例えば、プリントショップで、プリントショップの顧客は、プリントショップのコンピュータシステムのカスタマイズされたソフトウェアを利用して、印刷パラメータをＪＤＦジョブチケットとして定義できる。しかし、プリントショップの大部分の顧客はＪＤＦ標準の構造および構文、並びにこの種のカスタマイズされたソフトウェアをよく知らない。このように、この種の典型的な顧客にとっては、必要なＪＤＦジョブチケットを生成することは難しい。
【課題を解決するための手段】
【０００８】
本発明は上述の課題およびその他の課題を解決する。方法およびこれに関連する構造を提供することによって、プリンタ定義ファイル構造からＪＤＦ情報（例えばＪＤＦジョブチケット）を生成する。これによって、有用な技術の発展をもたらす。機能および特徴に係るプリンタ定義ファイルのテキストは、印刷システムの利用できる機能に係るＪＤＦ要素と関連している。関係するＪＤＦ要素は、ＪＤＦジョブチケットを定義するためにファイルへ出力してもよい。これは、印刷ジョブのための処理の印刷パラメータを表している。したがって、ＪＤＦジョブチケットを生成するために、ユーザになじみのある、プリンタ定義ファイルに係るユーザインタフェースまたはＡＰＩインターフェースを利用してもよい。加えて、プリンタ定義ファイル構造にアクセスするために、既に設計されているオペレーティングシステムの標準のドライバメカニズムが用いられてもよい。このため、オペレーティングシステムを変更する必要はない。
【０００９】
本願発明の１つの態様は、印刷ジョブを特定された印刷システムで印刷するためのジョブ定義フォーマット（ＪＤＦ）ジョブチケットを生成する方法を提供する。この方法は、特定された印刷システムのプリンタ定義ファイルの関連する機能をＪＤＦ要素に提供するステップ、およびプリンタ定義ファイルから入力した選択機能を受信するステップを有する。そして、方法は、選択された機能に関連するＪＤＦ要素を含むＪＤＦジョブチケットを出力する。
【００１０】
その他の態様は、印刷ジョブの実行をホストシステムにおいて使用できる方法を提供する。また、本方法は、一つ以上のページのイメージを生成するための一連のコマンド言語文字列を有する印刷ジョブを生成することを含む。方法は、更に、ポストスクリプトプリンタ定義（ＰＰＤ）ファイルおよび／または一般プリンタ定義（ＧＰＤ）ファイルを含む複数のプリンタ定義ファイルの中から、プリンタ定義ファイルを選ぶステップを有する。各々のプリンタ定義ファイルは、対応する印刷システムの利用できる機能を定義しており、利用できる機能のためのジョブ定義フォーマット（ＪＤＦ）の要素を特定している。本方法は、更に、選択されたプリンタ定義ファイルにおいて利用できる機能をユーザに提示するステップ、および提示された利用できる機能からパラメータを定めるユーザ入力を受信するステップを有する。そして、本方法は、定義された印刷パラメータおよび選択されたプリンタ定義ファイルのＪＤＦ要素からＪＤＦジョブチケットを生成して、選択された印刷システムのＪＤＦジョブチケットの印刷パラメータに従って印刷ジョブを実行するために、印刷ジョブおよびＪＤＦジョブチケットを、選択されたプリンタ定義ファイルに対応する選択された印刷システムに転送する。
【００１１】
さらに別の態様は、ジョブ定義フォーマット（ＪＤＦ）ジョブチケットを生成するシステムを提供する。システムは、複数のプリンタ定義ファイルを含む。複数のプリンタ定義ファイルは対応する印刷システムと関連する。各々のプリンタ定義ファイルは、複数のエントリーを含む。各々のエントリーは、対応する印刷システムの利用可能な機能および利用可能な機能に関連するＪＤＦ要素を定義している。本発明のシステムは、複数のプリンタ定義ファイルにアクセスするコンピュータシステムを有する。コンピュータシステムは、複数のプリンタ定義ファイルからプリンタ定義ファイルを選び、選択されたプリンタ定義ファイルの利用できる機能を提示する。更に、コンピュータシステムは、提示された利用できる機能に基づいて印刷パラメータをＪＤＦ要素として定義し、定義された印刷パラメータを表しているＪＤＦ要素を含むＪＤＦジョブチケットを出力する。
【００１２】
本発明は、以下に記載されている他の例示的実施形態を含んでもよい。
【００１３】
同じ参照番号は、全ての図面上の要素の同じ要素または同じタイプの要素を表す。
【図面の簡単な説明】
【００１４】
【図１】ＪＤＦプリンタ定義ファイルを使用してＪＤＦジョブチケットを生成するための機能および態様を実現するシステムを例示したブロック図である。
【００１５】
【図２】図１のＪＤＦ生成プリンタドライバの構造の付加的な詳細を例示したブロック図である。
【００１６】
【図３】選択されたＪＤＦプリンタ定義ファイルからの機能をユーザに提示するために利用できる例示的な表示画面を示した図である。
【００１７】
【図４】対応するＪＤＦジョブチケットを生成するためにユーザによって選択される典型的機能およびオプションの例示的な表示画面をその機能および態様に従って示した図である。
【００１８】
【図５】プリンタ定義ファイルを使用してＪＤＦジョブチケットを生成するための例示的な方法をその機能および態様に従って示したフローチャートである。
【図６】プリンタ定義ファイルを使用してＪＤＦジョブチケットを生成するための例示的な方法をその機能および態様に従って示したフローチャートである。
【図７】プリンタ定義ファイルを使用してＪＤＦジョブチケットを生成するための例示的な方法をその機能および態様に従って示したフローチャートである。
【００１９】
【図８】図５−図７の方法に従ってＪＤＦジョブチケットを生成するために使用する例示的なツリーデータ構造の図である。
【００２０】
【図９】方法を実施するための計算機可読の媒体を利用するコンピュータシステムをその機能および態様に従って示したブロック図である。
【発明を実施するための形態】
【００２１】
図１−図９および以下の説明において、当業者が本発明を作成し使用する方法を示すために、本発明の具体的な例示的実施形態を示す。説明を目的としているため、本発明のうち一部の従来の部分は、単純化しまたは省略している。当業者は、これらの実施例から、本発明の範囲内となるバリエーションを理解するであろう。当業者によって、下記に述べる特徴は、様々な形で組み合わされ、本願発明の複数のバリエーションを作ることができると理解される。したがって、本発明は、請求項およびそれらの均等物だけによって限定され、下記に示す特定の実施例によって限定されることはない。
【実施例】
【００２２】
図１に、プリンタ定義ファイルからＪＤＦジョブチケット情報を生成するドライバ１５０を使用することによって、ＪＤＦジョブチケット１１６を生成するシステム１００のブロック図を示す。システム１００は、印刷サブシステム１０８における複数のドライバの中からＪＤＦを生成するプリンタドライバを選択するコンピュータシステム１０４を含んでもよい。したがって、印刷サブシステム１０８は、対応するプリンタ定義ファイルを使用するプリンタドライバを選択するための標準のユーザインタフェースおよびアプリケーションプログラム・インタフェース（ＡＰＩ）を利用してもよい。このように、この機能および態様は、既存のオペレーティングシステムに統合することができる。この統合の際、既存のオペレーティングシステムの構成の印刷サブシステム１０８を適合させたり修正したりする必要はない。
【００２３】
印刷サブシステム１０８は、入出力装置１１２を通じてユーザと対話処理するためのユーザインタフェース１０６を有してもよい。この種の対話処理において、所望のドライバを選ぶことを含んでもよい。特に、ＪＤＦ生成プリンタドライバ１５０の選択を含んでもよい。サブシステム１０８は、プリンタ定義ファイル・パーサ１０２を含んでもよい。このプリンタ定義ファイル・パーサ１０２は、サブシステムにおいてプリンタ定義ファイルの標準のレイアウトおよびフォーマットを解析する。更に、本願明細書において以下述べるように、ＪＤＦ生成プリンタドライバ１５０と連動して使用する特定のプリンタ定義ファイルは、所望のＪＤＦジョブチケットを生成するためにパーサ１０２で解析してもよい。一般に、この種のプリンタ定義ファイルは、ＰＰＤ仕様またはＧＰＤ仕様によって定義してもよく、複数のエントリーを有し、各々のエントリーは対応する印刷システムに対して利用できる機能を特定する名前を含んでいる。更に、機能および態様に従って、各々のエントリーは、ＪＤＦ要素パス名文字列によって特定される、対応するＪＤＦ要素を含む。このＪＤＦ要素パス名文字列は、対応する印刷システムで利用できる対応する命名された機能を実行するために使用されるＪＤＦ印刷パラメータを示す
【００２４】
動作において、アプリケーションプログラム１１０は、印刷データ１１４を生成して、印刷データ１１４を印刷する際に使用されるプリントオプションを定めているＪＤＦジョブチケット１１６を生成するために、印刷サブシステム１０８を呼び出す。一般に、印刷データ１１４は、プリンタによって直接処理される、コマンド言語により生成された２進データまたは他のデータである。例えば、印刷データ１１４は、ポストスクリプトまたはＰＣＬファイルとしてフォーマット化され、プリンタ１１８によって直接処理される。アプリケーションプログラム１１０は、印刷サブシステム１０８を呼び出す。この呼び出しは、標準ＡＰＩ関数および／またはユーザとの対話処理のためのユーザインタフェース１０６を介して行われる。例えば、プリンタ・サブシステム１０８のユーザインタフェース１０６によって、利用できるプリンタドライバ（例えば利用できる印刷システム）を入出力装置１１２のディスプレイに表示してもよく、そして、入出力装置１１２の関連する入力装置によって、ユーザ入力を受け取ってもよい。典型的な入力装置としては、キーボード、ポインティングデバイス、タッチスクリーン、音声認識、その他が含まれてもよい。ユーザとの対話処理によって、所望のプリンタドライバ（例えばＪＤＦ生成プリンタドライバ１５０）が選択された後に、印刷サブシステム１０８は、関連づけられたＪＤＦ生成用のプリンタ定義ファイル（以下に詳しく述べる）を読み出してもよい。そして、更にユーザインタフェース１０６および入出力装置１１２を介してユーザと対話処理を行い、ユーザに対して、選択されたＪＤＦ生成プリンタドライバ１５０の利用できる機能を提示してもよい。例えば、特定のプリンタは、両面印刷の機能を提供してもよい。他のプリンタは、多数の紙媒体の供給源を提供してもよい。さらに他の印刷システムは種々の仕上げオプション、例えばページそろえ（collation）、ステープル留めを提供してもよい。プリンタドライバ１５０は、ユーザインタフェース１０６を介して、およびプリンタ定義ファイル・パーサ１０２を使用して、対応する印刷データファイル１１４を印刷する際に特定の機能を選択するために、ユーザと更に対話処理を行ってもよい。ドライバ１５０は、選択されたプリンタ定義ファイルの選択された機能に関連づけられたＪＤＦ要素パス名文字列を利用してＪＤＦジョブチケット１１６を生成する。最後に、生成されたＪＤＦジョブチケット１１６および印刷データファイル１１４は、統合され（１２０）、最終的に、選択された印刷システム１１８に転送され、定義された印刷ジョブが実行されてもよい。あるいは、生成されたＪＤＦジョブチケット１１６および関連づけられた印刷データファイル１１４は（別々に、または統合されて１２０）、単に保存するか、または後に選択された印刷システムによって印刷するためにスプールしてもよい。さらに、印刷データ１１４およびＪＤＦジョブチケット１１６は（別々に、または統合されて１２０）、適切なサーバノード（例えば印刷ジョブの更なる処理のためのプリントサーバ）に送信されてもよい。
【００２５】
図２は、図１のＪＤＦ生成プリンタドライバ１５０をさらに詳細に例示した図である。ドライバ１５０は、複数のＪＤＦ生成用のプリンタ定義ファイル(ＪＤＦ  ｇｅｎｅｒａｔｉｏｎ  ｐｒｉｎｔｅｒ  ｄｅｆｉｎｉｔｉｏｎ  ｆｉｌｅｓ)２０１、２０２および２０３を含み、これらは、各々特定のプリントデバイスに対応している。このように、各々のプリンタ定義ファイル２０１ないし２０３は、オペレーティングシステム（印刷サブシステム）の条件に従って標準のプリンタ定義ファイルとしてフォーマットされ、対応するプリンタ・モデルに利用できる機能を呼ぶために使用するＪＤＦ文字列を定義している。ＪＤＦ生成ロジック２００は、選択された機能からＪＤＦジョブチケットを生成するために、選択されたプリンタ定義ファイル２０１ないし２０３で提供される文字列からＪＤＦ指令（JDFコマンド）を生成するためのロジックを表している。ＪＤＦおよび印刷データパッケージングロジック２０４は、プリンタ（または印刷サーバノード）へ転送するため、このように生成されたＪＤＦジョブチケットおよびバイナリの印刷データを統合する。
【００２６】
図３は、上述した図１のシステム１００の例示的なユーザインタフェース表示画面３００を示している。表示画面３００は、ユーザによる文書の印刷要求に応答して、グラフィカルユーザインタフェースとしてユーザに表示してもよい。そして、文書を印刷するための適切なＪＤＦジョブチケットを生成する。表示画面３００は、プリンタ定義ファイルが利用できる印刷システムのリスト３０２を含む。この印刷ジョブのためのＪＤＦジョブチケットを生成するプリンタ定義ファイルは、機能および態様に応じて、利用できる「印刷システム」として選択されてもよい。ＪＤＦを生成するための一部のより単純な、標準の機能としては、例えば、コピーおよびページそろえに関連する情報３０６を含んでもよい。選択された印刷システムのその他の利用できる機能としては、他の関連した画面を介してアクセスされてもよい（例えばボタン３０４に係る「プロパティ」画面）。
【００２７】
図４は、例示的な表示画面４００を表す。ここには、ユーザによって選択された特定のプリンタ・モデルのＪＤＦ生成用のプリンタ定義ファイルに特有の追加機能を表示している。一般に知られているように、この種の追加機能は「Ｎ−Ｕｐ（集約）印刷」オプション４０２、「文書スタイル」オプション４０４（例えば両面オプション）および追加的な「ページ」４０６に分類されるさまざまな他の選択肢を含んでもよい。
【００２８】
図３および４の例示的な表示画面３００および４００は、文書を印刷する際、ユーザがオプションまたはパラメータを指定することができるマイクロソフトウインドウズ・オペレーティングシステムの周知のダイアログ・スクリーンと類似している。しかしながら、
図３の表示画面３００および図４の４００は、ユーザが単に選択されたプリントデバイスに対し、さらに生成された印刷データを指示するものではなく、むしろＪＤＦジョブチケットの生成のためのオプションを選択することを可能とするものである。したがって、画面３００および４００に表示される機能は、図３のフィールド３０２のユーザ入力によって選ばれるＪＤＦ生成用のプリンタ定義ファイルでプログラムされる標準の利用可能な機能に対応するものである。例示的な表示画面３００および４００は、単に二、三の共通の印刷パラメータ（利用できる機能）を例示することだけを目的とするものである。多数の追加的な機能は、当業者にとって直ちに明らかである。
【００２９】
図２のＪＤＦ生成用のプリンタ定義ファイル２０１ないし２０３は、上述のようにオペレーティングシステムの印刷サブシステムの標準に従って構成されるが、印刷データ・コマンド文字列よりむしろ生成されたＪＤＦ文字列を含むものである。このように、これらのプリンタ定義ファイルの使用は、以下に示すように印刷データを印刷する際の機能を選ぶためのＪＤＦジョブチケットを生成する。以下に示すＪＤＦ生成用のプリンタ定義ファイルの抜粋は、ＪＤＦジョブチケットを生成するためにプリンタ定義ファイルにおけるＪＤＦ要素のパス名を特定するための構文を例示している。この抜粋は、ユーザによって選ばれる「デフォルト」出力ビン・パラメータおよび「標準の」出力ビン・パラメータを特定する。「FoomaticRIP」用語体系は、Ｌｉｎｕｘプラットフォームのプリンタ定義ファイルにおいて使用されている標準の拡張テクニックであり、当業者に周知である。これは、機能の文字列名及び機能を呼び出したり設定したりするために使われる文字列を示す（ＪＤＦ要素パス名を強調するため、これらをイタリックの太文字で示す）。
【数１】
0005540558.tif 000002
【００３０】
当業者は、ＪＤＦジョブチケットを生成するために特定される多数の他の機能の適切なエンコーディングを直ちに認識する。したがって、上記の抜粋は、単に例示として可能な特徴を示したに過ぎない。更なる実例として、両面プリントオプションのＪＤＦ文字列への変換として例えば以下のようにしてもよい。
【数２】
0005540558.tif 000003
【００３１】
ユーザがＪＤＦジョブチケット生成印刷システム（プリンタ定義ファイル）を選択し、標準の出力ビンオプションおよび両面プリントオプションを選択した場合、上記の例示的な記載から対応するＪＤＦを生成するプリンタ定義ファイル指令の処理によって、以下のようにＪＤＦジョブチケットの一部を生成してもよい。
【数３】
0005540558.tif 000004
【００３２】
図５は、本願発明の機能および態様に従い、プリンタ定義ファイル（例えばＰＰＤおよび／またはＧＰＤファイル）でエンコードされた情報に基づいて、ＪＤＦジョブチケットを生成するための例示的方法を示している。図５の方法は印刷サブシステムによって実行されてもよい。または、適切なコンピュータシステムにおいて動作するドライバ・モジュールによって実行されてもよい（例えば、上述した図１のコンピュータシステム１０４のドライバ１５０）。第１のステップ５００において、適切なソースからプリンタ定義ファイルを提供する。前述のように、プリンタ定義ファイルは、方法を実行しているコンピュータシステムの中のローカルに保存されてもよい。または方法を実行しているシステムがアクセスできるネットワーク上の記憶装置に保存されてもよい。１つの例示的な実施形態において、ユーザに対して、適切な表示によって、全ての既知の印刷システムを示してもよい。この既知の印刷システムのうちで選択されたユーザ入力を受信してもよい。あるいは、適切なアプリケーションプログラムが、全ての既知の印刷システムに関して問い合わせを行い、選択された印刷装置システム用のプリンタ定義ファイルを読み出してもよい。ステップ５０２において、選択された印刷システムに関連づけられたＪＤＦ生成用のプリンタ定義ファイルから特定の機能を選択するための入力を受信する。上述したように、ユーザ入力により選択が行われた場合、ユーザは利用できる機能の中の特定の機能を選択し、選択された機能が生成されるＪＤＦジョブチケットに加えられる。加えて、ユーザ入力によって、利用できる機能のための適切なパラメータ値が提供されてもよい。さらに、上述の如く、アプリケーションプログラムは、ＪＤＦ生成用のプリンタ定義ファイルの利用できる機能の中から所望の印刷パラメータを選んで、値を選択された印刷パラメータに提供するために、適切なアプリケーションプログラム・インタフェース（ＡＰＩ）を利用してもよい。ステップ５０４は、選択されたＪＤＦ生成用のプリンタ定義ファイルから選択された利用できる機能に対応するＪＤＦ要素および値を有するＪＤＦジョブチケットを生成して、出力する。生成されたＪＤＦジョブチケットは、関連づけられた印刷データと共に、直接選択された印刷システムへ出力され、または、保存またはスプールされて適切な印刷システムに、その後転送される。プリンタ定義ファイルの文字列を使用してＪＤＦジョブチケットを生成する例示的なさらなる詳細は、本願明細書において以下説明する。
【００３３】
図６は、その機能および態様に従って他の例示的な方法を示したフローチャートであり、選択された印刷システムと関連するＪＤＦプリンタ定義ファイルに保存された情報からＪＤＦジョブチケットを生成する態様を示している。印刷データは、例えば、ポストスクリプト、ＰＣＬ、ＰＤＦ、その他を含むいかなる適切なページ記述言語によって生成されてもよい。第１のステップ６００は、対応する印刷システムに各々関連づけられた複数のプリンタ定義ファイルのうちの１つを選ぶ。選択プロセスにおいて、所望のプリンタ定義ファイルを選ぶために、適切な表示およびユーザ入力装置に対するユーザインタフェースをユーザとの対話処理のために利用してもよい。ステップ６０２において、選択されたプリンタ定義ファイルの全ての利用できる機能をユーザに提示する。上述の如く、対応するＪＤＦプリンタ定義ファイルによって示されるように、各々の印刷システムは利用できる異なる補足機能をサポートしてもよい。ステップ６０２においてユーザに対して全ての利用できる機能を提示した後、ステップ６０４において、ユーザは、生成された印刷ジョブを実行するためのＪＤＦジョブチケットに含みたいそれらの機能を選ぶ。そして、表示された利用できる機能の中からのユーザ入力を受け入れる。選択された利用できる機能に関連づけられたいかなる必要なパラメータ値も、同様にステップ６０４のユーザとの対話処理によって特定されてもよい。ステップ６０６において、ステップ６０４のユーザによって選択された機能およびオプションに従って適切な印刷システムに適用される印刷データを生成する。ステップ６０８において、ステップ６０４でユーザによって選択され定義された印刷パラメータから、ＪＤＦジョブチケットを生成する。選択された機能に関連づけられたＪＤＦ要素パス名文字列は、ジョブチケット情報を生成するために、適切なメモリに連結または追加されてもよい。ステップ６１０において、印刷ジョブの印刷データおよび生成されたＪＤＦジョブチケットが、選択されたプリンタ定義ファイルに対応する選択された印刷システムに送信される。上述の如く、印刷ジョブ・データおよび生成されたＪＤＦジョブチケットは直接印刷システムに送信されてもよい。なお、しばしばコンピュータ・ノードはＪＤＦジョブチケットを処理するプリントサーバ経由で送信されることがある。あるいは、印刷データおよびＪＤＦジョブチケットは、保存しまたは生成された印刷ジョブの後に実行されるためにスプールしてもよい。
図７は、図５または図６のステップ５０４または６０８の処理の例示的、付加的な詳細を示したフローチャートである。ＪＤＦジョブチケットは、ユーザ入力（またはＡＰＩからの指示）によってプリンタ定義ファイルに基づき選択されたＪＤＦ文字列から形成されるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅＭａｒｋｕｐ  Ｌａｎｇｕａｇｅ）記述として生成される。周知のように、ジョブチケットのＪＤＦ文字列は、対応する印刷ジョブを実行するために要求される機能に係る階層的なマッピングを表している名前を特定する。ＪＤＦジョブチケットのＸＭＬ記述を生成するために、ツリーデータ構造は、プリンタ定義ファイルからユーザ／アプリケーションによって選択されたＪＤＦ文字列の全ての指定された機能を表すために作成されてもよい。ステップ７００において、まず本方法を初期化する。この初期化において、全てのＪＤＦ文字列の「ＪＤＦ」ルートを表すツリー要素を作成する。このツリー要素は、ＪＤＦ生成プリンタ定義ファイルから選択されてもよい。要素７０２ないし７１２は、作成されたルートＪＤＦ要素構造からツリー要素を付加するために、プリンタ定義ファイルから選択された各々のＪＤＦ文字列に対して繰り返し実行される。ステップ７０２は、まず、全ての選択されたＪＤＦ文字列を処理したかどうかを判断する。その場合は、その後の処理は、ステップ７１４に続き、生成されたＪＤＦ要素ツリー構造に基づいてＪＤＦジョブチケットを表すＸＭＬファイルを生成する。当業者は、ツリー構造（木構造）を構成しかつＪＤＦ要素ツリーデータ構造から対応するＸＭＬタグを生成するための周知の技術を理解できる。もし、選択されたＪＤＦ文字列のうち処理されていないものが更に残っている場合、ステップ７０３において、「ＪＤＦルート要素（すなわちツリー構造でルートであるもの）」をポイントするように、現在のツリー要素へのポインタをリセットする。ステップ７０４において、次に選択されたＪＤＦ文字列がそのルートとしての「ＪＤＦ」名を示しているかまたはＪＤＦプレフィクスが省略されているかどうかを検査する。もし、命名基準よってＪＤＦ文字列が「ＪＤＦ」がそのルートを示している場合、ステップ７０６ないし７１２が、使用できる全ての階層的なレイヤーにわたって現在のＪＤＦ文字列を処理するために繰り返し実行可能である。ステップ７０６において、このＪＤＦ文字列が完全に処理されたかどうか、または、ツリー構造に入れられるべきＪＤＦ文字列のさらに「子」の部分が残っているかどうかを検査する。このＪＤＦ文字列の処理が終了している場合、処理はステップ７０２のループを続ける。さらに子の部分が、このＪＤＦ文字列において処理されるべきとして残っている場合、ステップ７０８において、上記次の子の部分がツリー構造にすでに入れられたかどうか検査する。そうでない場合には、ステップ７１０において、現在のポインタ値が指す現在のツリーの枝に追加される、この新しい子の部分を表すために、新規なＪＤＦ要素をツリー構造に追加する。いずれの場合においても、次のステップ７１２において、ＪＤＦ文字列の現在の子の部分を表しているツリー構造のＪＤＦ要素の現在のポインタを更新する。処理は、ステップ７０６へ戻りル���プを続け、現在のＪＤＦ文字列の更なる子の部分（もしある場合）を処理する。上述した図７の方法は、例示的なＪＤＦ文字列から生成された例示的なツリー構造を参照することにより理解できる。例えば、以下の文字列を取り上げて説明する。
【数４】
0005540558.tif 000005
【００３４】
図８は、取り上げたこれらの文字列から生成されるツリー構造８００を表す。
ルート要素８０２は、図７の方法の処理を始めるために作成される。この方法が次に第１の選択された文字列の子の部分「ResourcePool」を認識すると、要素８０４が作成される。この方法が第１の文字列の子の部分「DigitalPrintingParams」を認識すると、ツリー要素８０６が作成される。次に終端ノード「Outputbin=STANDARD」を認識すると、ツリー要素８０８が作成される。第２の文字列の処理で、カレントポインタは、ステップ７０３においてツリー（８００）のルートノードにリセットされる。文字列の子の部分「ResourcePool」および「DigitalPrintingParams」が認識されると、この方法は、以前に作成されたノード８０２、８０４および８０６を発見する。方法が、新たな子の部分「ID=IDDigitalPrintingParams」を認識すると、追加の終端ノード８１０を作成する。このようにして、第三の文字列の処理で、ノード８１２を作成し、その後、２つの終端ノード８１４および８１６を作成する。
【００３５】
この完了されたツリー構造全体を認識することによって、以下のように、ＸＭＬ  ＪＤＦジョブチケットが作成される。
【数５】
0005540558.tif 000006
【００３６】
当業者は、追加のＪＤＦ文字列が完全に正しいＪＤＦジョブチケットを定めるために提供されると直ちに認識する。なお、上述の抜粋は、単にＪＤＦジョブチケットを生成するためにこの方法の処理を理解するのを助ける実例を示すことだけを目的とする。
【００３７】
本発明の実施例は、完全にハードウェアによる実施例、完全にソフトウェアによる実施例、またはハードウェアおよびソフトウェア両方の要素を含んだ実施例の形式を取ることができる。一つの実施例において、本発明は、ソフトウェアで実行され、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これに限定されるものではない。図９は、プログラムされた命令を実行し、かつコンピュータ可読の記憶媒体９１２に保存されたデータにアクセスすることによって、その機能および態様を提供するのに適合したコンピュータシステム９００を示したブロック図である。
【００３８】
さらに、本発明の実施例は、コンピュータ・プログラム製品という形をとってもよい。コンピュータ・プログラム製品は、コンピュータまたは命令を実行するいかなるシステムの利用のためのまたは関連するプログラムコードを提供するコンピュータに利用可能なまたはコンピュータ可読の媒体９１２からアクセスできるものである。本願明細書において、コンピュータに利用可能なまたはコンピュータ可読の媒体は、プログラムを保持し、格納し、通信し、伝播し、または転送するいかなる装置であってもよい。プログラムは、命令の実行システム、装置またはデバイスに利用されるためのものまたは関連するものである。
【００３９】
媒体は、電子、磁気、光学、電磁気、赤外線または半導体系（または装置またはデバイス）または伝搬媒質であってもよい。コンピュータ可読媒体の実例としては、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、磁気ディスクおよび光ディスクが含まれる。光ディスクの現在の実例は、読取り専用コンパクトディスクメモリ（ＣＤ−ＲＯＭ）、読取り書込みコンパクトディスク（ＣＤ−Ｒ／Ｗ）、ＤＶＤとを含む。
【００４０】
プログラムコードを保存し、および／または実行することに適したコンピュータシステム９００は、システムバス９５０を介して記憶素子９０４に直接または間接的に接続された少なくとも一つのプロセッサ９０２を含む。記憶装置９０４は、プログラムコードの実際の実行の間利用されるローカル・メモリ、大容量記憶装置、キャッシュメモリを含む。キャッシュメモリは、複数のコードの実行の間、少なくとも一部のプログラムコードが大容量記憶装置から読み出されなければならない回数を減らすために使用される。
【００４１】
入出力すなわちＩ／Ｏデバイス９０６（キーボード、ディスプレイ、ポインティングデバイス、などを含むがこれに限定されない）は、直接またはＩ／Ｏコントローラを介してシステムに接続される。ネットワークアダプタ・インターフェース９０８は、同様に、システムに接続され、コンピュータシステム９００がプライベートまたは公共ネットワークを介して、他のデータ処理システムまたは記憶装置に接続することを可能にする。モデム、ケーブルモデム、ＩＢＭチャネルアタッチメント、ＳＣＳＩ、ファイバーチャネルおよびイーサネット(登録商標)・カードは、現在利用可能なネットワークまたはホストインタフェースアダプタのいくつかの例である。プレゼンテーションデバイスインタフェース９１０は、システムに接続され、一つ以上の提示装置、例えばプロセッサ９０２によって生成される表示データの表示のため、印刷システムおよびディスプレイとのインターフェースを司る。
【００４２】
特定の実施例が本願明細書において記載されているが、本発明の範囲はそれらの特定の実施例に限定されるわけではない。本発明の範囲は、以下の請求項およびそのあらゆる均等物によって定義される。
【符号の説明】
【００４３】
１００  システム
１０２  プリンタ定義ファイル・パーサ
１０４  コンピュータシステム
１０６  ユーザインタフェース
１０８  印刷サブシステム
１１０  アプリケーションプログラム
１１２  入出力装置
１１４  印刷データ
１１６  ＪＤＦジョブチケット
１１８  プリンタ
１５０  プリンタドライバ
２００  ＪＤＦ生成ロジック
２０１  プリンタ定義ファイル
２０４  ＪＤＦおよび印刷データパッケージングロジック
３００  表示画面
３０２  印刷システムのリスト
４００  表示画面
４０２  「Ｎ−Ｕｐ（集約）印刷」オプション
４０４  「文書スタイル」オプション
９００  コンピュータシステム
９０２  プロセッサ
９０４  プログラムおよびデータ記憶装置
９０６  Ｉ／Ｏデバイス
９０８  ネットワーク・インターフェース
９１０  プレゼンテーションデバイスインタフェース
９１２  記憶媒体
【図１】
0005540558.tif 000007
【図２】
0005540558.tif 000008
【図３】
0005540558.tif 000009
【図４】
0005540558.tif 000010
【図５】
0005540558.tif 000011
【図６】
0005540558.tif 000012
【図７】
0005540558.tif 000013
【図８】
0005540558.tif 000014
【図９】
0005540558.tif 000015