(57)【特許請求の範囲】
【請求項１】
ジョブ定義フォーマット（JDF）要素をプリンタのコマンド言語に変換する方法であって：
各エントリーがスキップされるべきJDF要素パス名を特定する複数のエントリーを含むスキップ・テーブルを用意する段階と；
各エントリーがJDF要素パス名を対応するコマンド言語ストリングおよび対応する優先度値に関連付ける複数のエントリーを含むJDF変換テーブルを用意する段階と；
JDF要素を受領し、ここで、各JDF要素はJDF要素パス名によって特定される、段階と；
受領されたJDF要素を変換する段階であって、コマンド言語ストリングを生成し、各コマンド言語ストリングは対応する優先度値に関連付けられる、段階と；
各コマンド言語ストリングに関連付けられた優先度値に基づいた順序で前記コマンド言語ストリングを出力する段階とを含み、
前記変換する段階がさらに：
前記受領されたJDF要素のそれぞれについて：
前記スキップ・テーブル中で、受領されたJDF要素パス名に合致するエントリーを検索する段階と；
前記スキップ・テーブル中で合致するエントリーを見出せないことに応答して、さらに：
前記JDF変換テーブル中で、受領されたJDF要素パス名に合致するエントリーを検索し；
前記エントリーを見出すのに応答して、その見出されたエントリーのコマンド言語ストリングおよび優先度値を保存することを実行する段階とを含み、
前記出力する段階がさらに、保存されたコマンド言語ストリングを、該保存されたコマンド言語ストリングに関連付けられている保存された優先度値に基づいて出力することを含む、
方法。
【請求項２】
ジョブ定義フォーマット（JDF）要素をプリンタのコマンド言語に変換する方法であって：
複数の出力ストリング・テーブルを生成する段階であって、各出力ストリング・テーブルは、コマンド言語出力ストリングに関連付けられることのできるある可能な優先度値に関連付けられる、段階と；
JDF要素を受領し、ここで、各JDF要素はJDF要素パス名によって特定される、段階と；
受領されたJDF要素を変換する段階であって、コマンド言語ストリングを生成し、各コマンド言語ストリングは対応する優先度値に関連付けられる、段階と；
各コマンド言語ストリングに関連付けられた優先度値に基づいた順序で前記コマンド言語ストリングを出力する段階とを含み；
前記変換する段階がさらに、前記各コマンド言語ストリングを、そのコマンド言語ストリングに対応する優先度値に関連付けられた出力ストリング・テーブル中に保存することを含み、
前記出力する段階がさらに、前記複数の出力ストリング・テーブルのそれぞれに関連付けられた優先度値に基づいた順序で、前記複数の出力ストリング・テーブルのそれぞれに保存されたコマンド言語ストリングを出力することを含む、
方法。
【請求項３】
印刷データの印刷に関連付けられたJDF要素を処理するコンピュータ・システムであって：
当該システムをホスト・システムに結合させるよう適応され、接続されたホスト・システムからJDF要素を受領するよう適応されたホスト・インターフェースを有し、各JDF要素はJDF要素パス名によって特定され；
当該システムはさらに、
各エントリーが対応するJDF要素パス名および対応するコマンド言語ストリングを含み、各エントリーが対応する優先度値に関連付けられているような複数のエントリーを含む変換テーブルと；
当該システムをプリンタに結合するよう適応され、接続されたプリンタにコマンド言語ストリングを出力するよう適応されたプリンタ・インターフェースと；
前記ホスト・インターフェースに結合され、前記プリンタ・インターフェースに結合され、受領されたJDF要素を処理してコマンド言語ストリングを生成するよう動作可能であり、各コマンド言語ストリングに優先度値を関連付けるよう動作可能であり、生成された各コマンド言語ストリングに関連付けられた優先度値に基づく順序で、生成されたコマンド言語ストリングを前記プリンタ・インターフェースを通じて接続されたプリンタに出力するよう動作可能であるJDF変換器と；
生成されたコマンド言語ストリングを記憶するためのメモリとを有しており、
前記JDF変換器が、前記受領されたJDF要素を、前記変換テーブル中で、その受領されたJDF要素のJDF要素パス名とのマッチを有するエントリーを検索することによって処理するよう動作可能であり、
前記JDF変換器が、見出されたエントリーに対応するコマンド言語ストリングおよび優先度値を前記メモリに保存するよう動作可能であり、
前記JDF変換器が、最後のJDF要素を処理するのに応答して、保存されたコマンド言語ストリングを、それぞれの保存されたコマンド言語ストリングに関連付けられている優先度値に基づいた順序で、前記プリンタ・インターフェースを介して、接続されたプリンタに出力するようさらに動作可能である、
システム。
【請求項４】
印刷データの印刷に関連付けられたJDF要素を処理するコンピュータ・システムであって：
当該システムをホスト・システムに結合させるよう適応され、接続されたホスト・システムからJDF要素を受領するよう適応されたホスト・インターフェースを有し、各JDF要素はJDF要素パス名によって特定され；
当該システムはさらに、
各エントリーが対応するJDF要素パス名を含む複数のエントリーを含むスキップ・テーブルと；
各エントリーが対応するJDF要素パス名および対応するコマンド言語ストリングを含み、各エントリーが対応する優先度値に関連付けられているような複数のエントリーを含む変換テーブルと；
当該システムをプリンタに結合するよう適応され、接続されたプリンタにコマンド言語ストリングを出力するよう適応されたプリンタ・インターフェースと；
前記ホスト・インターフェースに結合され、前記プリンタ・インターフェースに結合され、受領されたJDF要素を処理してコマンド言語ストリングを生成するよう動作可能であり、各コマンド言語ストリングに優先度値を関連付けるよう動作可能であり、生成された各コマンド言語ストリングに関連付けられた優先度値に基づく順序で、生成されたコマンド言語ストリングを前記プリンタ・インターフェースを通じて接続されたプリンタに出力するよう動作可能であるJDF変換器と；
生成されたコマンド言語ストリングを記憶するためのメモリとを有しており、
前記JDF変換器が、受領されたJDF要素を、前記スキップ・テーブル中で、その受領されたJDF要素のJDF要素パス名とのマッチを有するエントリーを検索することによって処理するよう動作可能であり、
前記スキップ・テーブル中で合致するエントリーを見出せないことに応答して、前記JDF変換器がさらに、前記変換テーブル中で、前記受領されたJDF要素のJDF要素パス名とのマッチを有するエントリーを検索するよう動作可能であり；
前記変換テーブル中で合致するエントリーを見出すのに応答して、前記JDF変換器がさらに、その見出されたエントリーに対応するコマンド言語ストリングおよび優先度値を前記メモリに保存するよう動作可能であり、
前記JDF変換器がさらに、保存されたコマンド言語ストリングを、それぞれの保存されたコマンド言語ストリングに関連付けられている保存された優先度値に基づく順序で、前記プリンタ・インターフェースを通じて、接続されたプリンタに出力するよう動作可能である、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的にはジョブ定義フィーマット（JDF:  Job  Definition  Format）情報の処理に関し、より詳細にはJDF情報をプリンタのためのコマンド言語に変換する方法などに関する。
【背景技術】
【０００２】
プリントショップ（大小の印刷業者）、プロダクション印刷およびさらに小規模なワークグループ環境を含む多くの印刷環境において、特定の印刷ジョブを印刷する処理を記述するJDF情報を生成することが一般に知られている。JDFは印刷ジョブの処理に関係する情報（印刷パラメータ）を与える広く採用されている標準規格である。JDF情報は典型的には「ジョブ・チケット」と称されるオブジェクト／ファイルに含まれ、ジョブ・チケット中のエントリーによってその印刷ジョブのための印刷データに関連付けられる。JDFジョブ・チケットは、特定のジョブの印刷に関連付けられる印刷パラメータを指定する任意の数のJDF要素（JDF  element）を含む。そのような印刷パラメータの例としては：一つまたは複数の印刷されるべき素材についての内容を特定するリソース位置指定子、印刷ジョブに関連付けられたさまざまな型のオブジェクトをレンダリングするオプションを示すレンダリング・パラメータ、割り付け印刷（n-up）、両面印刷およびその他の利用可能な印刷オプションなどを示すレイアウト・オプションなどがある。
【０００３】
JDF規格はCIP4（業界団体）によって公表されており、当該団体のサイトから簡単に入手可能である。一般に、JDF要素は階層的な木構造として編成され、さまざまなパラメータは、可能なパラメータおよびオプションの木構造の部分において、関連する論理的な枝にグループ化される。木構造は共通の根（ルート）および枝をもち、ジョブ・チケットを生成する際にユーザー／アプリケーションによって指定されうる関係するパラメータのある種の列挙されたグルーピング（groupings）に関連付けられる。今日のいくつかの印刷システムは、JDFジョブ・チケットを受け取って、そこで指定されているJDF要素を処理して印刷ジョブを直接制御するような印刷サーバーまたは他の印刷関係のコンピューティング・デバイスを含む。
【０００４】
JDF規格はJDF階層構造の論理的な枝を通じて分散されている多数の印刷パラメータを定義している。一部の印刷パラメータは、JDF階層構造の複数の枝で指定されてもよい。場合によっては、階層構造の前記複数の重複したJDF要素のうちの任意のものを使って、印刷パラメータが等価な形で指定されうる。それらの要素が重複することがあるのは、JDF規格の歴史的な進化に基づいて、またオフセット印刷業者のようなレガシー印刷環境（古い印刷環境）や、より最新のデジタル印刷アプリケーションへのJDF規格の適用にも基づいて、パラメータが木階層構造の種々の部分に論理的にグループ化されうるからである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
いくつかの印刷システム（たとえばより古いレガシー・システム）は、JDFジョブ・チケット情報を直接処理する機能を提供しない。たとえば、多数の既存の印刷システムは、ポストスクリプト（Postscript）、PCL等のような、一つまたは複数のページ記述言語（PDL：Page  Description  Language）をサポートするが、JDFジョブ・チケットを処理するための直接的なサポートは提供しない。そうした既存の印刷システムのいくつかは、もともとヒューレット・パッカードによって規定されたプリンタ・ジョブ言語（PJL:  Printer  Job  Language）のようないくつかのジョブ制御機能をサポートする。JDFジョブ・チケットの処理のための直接的なサポートを欠くそのような印刷システムについては、JDFはホスト・ベースのアプリケーション（すなわち、印刷サーバーJDFジョブ・チケット・プロセッサ）によって、特定のプリンタのための適切なコマンドに変換されなければならない。しかしながら、さまざまなベンダーによるさまざまなモデルのプリンタのために定義されたJDF要素の意味論的な多様さを考えると、ジョブ・チケットに含まれるJDF情報を効果的に処理することは継続的な課題である。カスタム・コードされた変換プロセスでは、新しいプリンタのニーズまたは新しいベンダーの定義に適応するよう変更するのが難しいことがありうる。
【課題を解決するための手段】
【０００６】
本発明は、JDFジョブ・チケット情報を、JDF要素の直接的な処理のサポートを欠く印刷システムによって、直接処理されうる対応するコマンド言語のストリングに効果的かつ柔軟に変換するための方法および関連する構造を提供することによって、上記およびその他の問題を解決し、それにより有用な現状技術を進歩させる。より具体的には、本発明の諸特徴および諸側面は、提供されるJDF要素（たとえばJDFジョブ・チケットに含まれる）の階層構造を、PJLおよび／またはPDLシーケンスのような対応するコマンド言語ストリングに変換することを提供する。
【０００７】
印刷パラメータがJDF階層構造の複数の部分で指定されうる場合には、JDF階層構造の所望の位置からのJDF値を使うように変換されたコマンド言語ストリングが生成されるよう、変換プロセスに優先度値が関連付けられる。本発明のある実施形態におけるテーブルを利用した変換プロセスは、JDFからコマンド言語への変換処理における柔軟性を改善する。テーブル・エントリーは、テキスト・ストリングとしてコードされてもよく、よって新しいプリンタおよび／またはベンダーのための新しいパラメータ定義を追加するよう、または既存の変換定義を修正するよう、簡単に変更できる。
【０００８】
さらに、変換プロセスにおける優先度フィールドの使用は、JDF階層構造の一つの領域におけるパラメータ定義を優先して、JDF階層構造の別の領域において重複している同じパラメータの別の定義をオーバーライドするという柔軟性を許容する。
【０００９】
本発明の一つの側面は、ジョブ定義フォーマット（JDF）要素をプリンタのコマンド言語に変換する方法を提供する。本方法は、JDF要素を受領することを含む。ここで、各JDF要素はJDF要素パス名によって特定される。本方法はさらに、受領されたJDF要素を変換してコマンド言語ストリングを生成することを含む。ここで、各コマンド言語ストリングは対応する優先度値に関連付けられる。本方法はさらに、各コマンド言語ストリングに関連付けられた優先度値に基づいた順序でコマンド言語ストリングを出力することを含む。
【００１０】
本発明のもう一つの側面は、印刷データの印刷に関連付けられたJDF要素を処理するためのコンピュータ・システムを提供する。本コンピュータ・システムは、当該システムをホスト・システムに結合させるよう適応され、接続されたホスト・システムからJDF要素を受領するよう適応されたホスト・インターフェースを含む。各JDF要素はJDF要素パス名によって特定される。本コンピュータ・システムはさらに、当該システムをプリンタに結合するよう適応され、接続されたプリンタにコマンド言語ストリングを出力するよう適応されたプリンタ・インターフェースを含む。本コンピュータ・システムはまた、前記ホスト・インターフェースに結合され、前記プリンタ・インターフェースに結合され、受領されたJDF要素を処理してコマンド言語ストリングを生成するよう動作可能なJDF変換器（JDF  translator）を含み、各コマンド言語ストリングに優先度値を関連付けるよう動作可能であり、生成された各コマンド言語ストリングに関連付けられた優先度値に基づく順序で、生成されたコマンド言語ストリングを前記プリンタ・インターフェースを通じて接続されたプリンタに出力するよう動作可能である。
【００１１】
本発明は、以下に記載される他の例示的な実施形態を含んでいてもよい。
【００１２】
同じ参照符号は、すべての図面で同じ要素または同じ型の要素を表す。
【図面の簡単な説明】
【００１３】
【図１】JDFを印刷システムのための対応するコマンド言語ストリングに変換するための本発明の諸特徴および諸側面を具現する例示的なシステムのブロック図である。
【図２】図１のJDF変換器の諸特徴の例示的なさらなる詳細を与えるブロック図である。
【図３】図２の変換テーブルの諸特徴の例示的なさらなる詳細を与えるブロック図である。
【図４】図３のスキップ・テーブルの諸特徴の例示的なさらなる詳細を与えるブロック図である。
【図５】図３のJDFからPJLへの変換テーブルの諸特徴の例示的なさらなる詳細を与えるブロック図である。
【図６】図３のJDFからPDLへの変換テーブルの諸特徴の例示的なさらなる詳細を与えるブロック図である。
【図７】図２の生成されたストリング・テーブルの諸特徴の例示的なさらなる詳細を与えるブロック図である。
【図８】図２の生成されたストリング・テーブルの諸特徴の例示的なさらなる詳細を与えるブロック図である。
【図９】本発明の諸特徴および諸側面に基づく、JDFからコマンド言語への変換の例示的な方法を記載するフローチャートである。
【図１０】JDF要素から対応するコマンド言語ストリングに変換する、図９のステップの例示的なさらなる詳細を記載するフローチャートである。
【図１１】記憶されている優先度値に基づく順序でコマンド言語ストリングを出力する、図９のステップの例示的なさらなる詳細を記載するフローチャートである。
【図１２】本発明の諸特徴および諸側面に基づく方法を具現するコンピュータ可読媒体を利用しうる例示的なコンピュータ・システムのブロック図である。
【発明を実施するための形態】
【００１４】
図１〜図１２および以下の記述は、本発明をいかに作成し利用するかを当業者に教示するために、本発明の個別的な実施例を記載する。この教示の目的のために、本発明のいくつかの通常の側面は簡略化または省略されている。当業者は、これらの実施形態から、本発明の範囲内にはいる諸変形を認識するであろう。当業者は、以下に記述される諸特徴をさまざまな仕方で組み合わせて本発明の複数の変形を形成できることを認識するであろう。結果として、本発明は、以下に記載される個別的な実施形態に限定されるものではなく、請求項およびその等価物によってのみ限定される。
【００１５】
図１は、本発明のJDF変換の諸特徴および諸側面が具現されうるシステム１００のブロック図である。システム１００は、たとえばワークステーション、パーソナル・コンピュータまたは他の任意の好適なサーバーもしくはクライアント・コンピューティング・ノードを含むいかなる好適なコンピューティング・システムであってもよい。システム１００は、一つまたは複数のホスト・システム（図示せず）に通信的に結合するホスト・インターフェース１０２を含んでいてもよい。ホスト・システムは、印刷されるべきジョブを定義するJDFジョブ・チケットを、経路１５０を介してホスト・インターフェース１０２に転送しうる。関連する印刷データは、ホスト・システムからホスト・インターフェース１０２に経路１５２を介して回送されうる。経路１５０および１５２は（よってホスト・インターフェース１０２も）、システム１００と一つまたは複数の接続されたホスト・システムとの間の情報交換のためのいかなる好適な通信媒体および／またはプロトコルを含んでいてもよい。ある例示的な実施形態では、システム１００は、印刷サービスを提供するサーバー・コンピュート・ノードであってもよく、ホスト・インターフェース１０２は、経路１５０および１５２によって表されるイーサネット（登録商標）または他のよく知られた商業的に利用可能なネットワーキング接続用の媒体およびプロトコルを通じて、一つまたは複数のホスト・システムへの結合を提供してもよい。
【００１６】
当業者は、本発明のJDF変換機能を実装するための多数の実施形態を認識するであろう。ある例示的な実施形態では、JDF変換器１０４は、ホスト・システムとプリンタとの間に結合されるサーバー・コンピューティング・ノードに統合されてもよい。サーバーは、所望される変換を実行し、PJL/PDL出力を印刷装置に回送する。もう一つの例示的な実施形態では、JDF変換器１０４は、PJL/PDL処理コントローラに結合されるか、PJL/PDL処理コントローラと統合されるかして、印刷装置自身の中に統合されてもよい。さらに別の例示的な実施形態では、JDF変換器１０４は、印刷アプリケーションが動作可能なホスト・システム内に統合されてもよい。JDF変換器１０４を実装し、それを印刷環境中の他のコンピュータ装置と統合するためのこれらおよびその他の構成は、当業者にはすぐ明白となるであろう。このように、図１は、JDF変換器１０４が、どこに具現され、どのように他のコンピューティング・ノードもしくは印刷システム・コンポーネントに統合されるかにかかわりなく、JDF変換器１０４のそのような例示的な実施形態のあらゆる任意のものを広く表すことが意図されている。
【００１７】
ホスト・インターフェース１０２を通じて受領されたJDFジョブ・チケット情報および任意の関連する印刷データは、次いで、経路１５４を介してJDF変換器１０４に加えられてもよい。通信経路１５４は、ホスト・インターフェース１０２とJDF変換器１０４が共通のコンピュート・ノード内で動作可能であるプロセス間通信などを含むいかなる好適な通信媒体およびプロトコルであってもよい。JDF変換器１０４は一般に、受領されたJDFジョブ・チケット内のJDF要素をPJLもしくはPDLのコマンド・ストリングのような対応するコマンド言語のストリングに変換するよう動作可能である。さらに、JDF要素の変換によって生成されたPDLコマンド・ストリングは、経路１５４を介してホスト・インターフェース１０２から受領された印刷データの諸部分にマージ（併合）および／またはアペンド（付加）されてもよい。JDF変換器１０４は次いで、生成されたコマンド言語ストリングを経路１５６を介してプリンタ・インターフェース１０６に加える。通信経路１５６も同様に、JDF変換器１０４とプリンタ・インターフェース１０６が共通のコンピュート・ノード内で動作可能であるプロセス間通信などを含むいかなる好適な通信媒体およびプロトコルであってもよい。
【００１８】
次いで、プリンタ・インターフェース１０６は生成されたコマンド言語ストリングを、経路１５８を介してそれに結合された印刷システムに転送しうる。通信経路１５８は、システム１００と接続された印刷システム（図示せず）との間の情報交換のためのいかなる好適な通信媒体および／またはプロトコルであってもよい。たとえば、通信経路１５８は、コンピュート・ノード１００を接続された印刷システムに結合するイーサネット（登録商標）・ネットワーク通信インターフェースを含んでいてもよい。代替では、JDF変換器１０４は単に、何らかの関連する印刷データに統合またはマージされた生成されたコマンド言語ストリングを記憶／スプールしておいて、記憶された情報がのちに適切な印刷システムへの適用のために利用されうるのでもよい。
【００１９】
一般に、JDF変換器１０４は、受領された各JDF要素を、PJLおよび／またはPDLコマンド言語ストリングなどを含む、一つまたは複数の対応するコマンド言語ストリングに変換するよう動作可能である。上記したように、JDF情報の階層的な性質およびベンダーがさまざまな印刷パラメータを定義できるようにする印刷パラメータの意味論的定義における柔軟性のため、各JDF要素の対応するコマンド言語ストリングへの変換に、優先度値が関連付けられてもよい。すると、生成されたコマンド言語ストリングは、生成された各コマンド言語ストリングに関連付けられたこの優先度値に基づく順序で適用されることができ、それによりJDFジョブ・チケットの複数のエントリーに現れる何らかの重複したJDF要素が適切なシーケンスでコマンド言語ストリング中に生成されることが保証される。
【００２０】
図２は、JDF変換器１０４のある実施形態の例示的なさらなる詳細を与えるブロック図である。具体的には、JDF変換器１０４は変換テーブル２００および生成済みコマンド・ストリング・メモリ２０２を利用してJDF変換を処理してもよい。変換テーブル２００は一つまたは複数のテーブルを含んでおり、そうしたテーブル中でJDF変換器１０４は受領された各JDF要素を位置特定しようと試みる。受領された各JDF要素は、JDF規格の規定されている階層構造に従って、その位置を表すJDF要素パス名によって特定される。当業者にはよく知られているように、JDF要素についてのパス名は、JDF規格によって定義されるJDF階層構造のルートからの絶対パス名（すなわち、"/JDF/…"）として指定されてもよいし、あるいはJDF階層構造の複数の位置において指定される複数の同様のパラメータ値に適用される部分的パス名または相対パス名（すなわち、"//DigitalPrintingParams/sides"）のみで指定されてもよい。
このように、変換テーブル２００中の各エントリーは、受領されたJDF要素のJDF要素パス名と照合する（match）ためにJDF変換器１０４によって使用されるコマンド言語ストリングを含む。照合のために使われる各テーブル・エントリー内のJDF要素パス名も、絶対的な（ルートに基づく）JDFパスまたは相対パスとして指定されうる。さらに、照合名前フィールド（matching  name  field）は、受領されたJDF要素パス名ストリングに対して照合するための正規表現ストリングとして指定されてもよい。変換テーブル２００内の各エントリーのさらなるフィールドが、前記JDF要素をプリンタのコマンド言語で表すために使われるべき対応するコマンド言語ストリングおよび関連付けられた優先度値を示してもよい。
【００２１】
生成されたコマンド言語ストリングがプリンタ・インターフェース１０６に加えられる（または他の仕方で印刷データとマージされ、スプールもしくは記憶される）ことを保証するため、JDF変換器１０４は、生成された各コマンド言語ストリングを、前記優先度値と関連付けて、生成済みコマンド・ストリング・メモリ２０２に記憶する。最後のJDF要素が受領され、処理されると、メモリ２０２内の生成済みストリングが、接続された印刷システムに加えられるべき印刷データに適切にアペンドまたはマージされてもよい（またはのちの印刷のために、好適な持続的メモリに記憶もしくはスプールされてもよい）。
【００２２】
図３は、図２において上記した変換テーブル２００のある実施形態の例示的なさらなる詳細を与えるブロック図である。変換テーブル２００は、任意的なスキップ・テーブル３００、JDFからPJLへのテーブル３０２およびJDFからPDLへのテーブル３０４を含んでいてもよい。受領された各JDF要素（JDF要素パス名によって特定される）について、JDF変換器１０４は、そのJDF要素パス名をスキップ・テーブル３００において位置特定しようと試みうる。多数のJDF要素は多くの印刷システムによってサポートされないので、スキップ・テーブル３００は、受領されたJDF要素がある特定のプリンタについてのいかなるコマンド言語ストリングにも対応しないことを迅速に判定するよう、高速のインデックス付けされたルックアップ・テーブルを与えうる。受領された要素についてのJDF要素パス名がスキップ・テーブル３００にみつからない場合、JDF変換器１０４は、テーブル３０２内の一つまたは複数の合致するエントリーを検索することによって、この受領されたJDF要素についてPJLコマンド・ストリングが定義されうるかどうかを判定しうる。同様にして、JDF変換器１０４は、この受領されたJDF要素についてPDLコマンド言語ストリングが定義されうるかどうかを判定するために、JDFからPDLへのテーブル３０４における一つまたは複数の合致するエントリーを位置特定しようと試みうる。テーブル３０２および／またはテーブル３０４におけるそれぞれの合致するエントリーについて、それぞれの合致するエントリー内のコマンド・ストリングが、それぞれの合致するエントリー内の関連付けられた優先度値とともに抽出され、記憶されてもよく、それにより、生成されたコマンド・ストリングが印刷されるべきジョブについての印刷データにアペンドおよび／またはマージされてもよい。たとえば、JDFからPJLへの変換テーブル３０２内の合致するエントリーから抽出されたストリングが、印刷ジョブのための受領された印刷データに埋め込まれていることがありうるPJLヘッダ・データにマージされてもよい。同様に、JDFからPDLへの変換テーブル３０４から抽出されたコマンド・ストリングが、印刷ジョブのための受領された印刷データ内のPDLコマンド・ストリングの適切な諸部分に追加またはマージされてもよい。
具体的には、PJLコマンド・ストリングは、優先度の低いものから高いものへの所定の順序で印刷ジョブの印刷データのPJLヘッダ部分に追加されてもよく、それにより優先度値がより高いコマンド言語ストリングが、対応するJDF要素について、そのようなコマンド・ストリングのうちPJLヘッダに現れる最後のものとなる。JDFからPDLへの変換テーブル３０４内に合致するエントリーがみつかった場合、PDLコマンド・ストリングは、その特定のPDLの要求に従って印刷ジョブの印刷データ内の他の関係するPDLコマンド・ストリングに追加またはマージされうる。当業者に知られているように、ポストスクリプト・コマンド・ストリングは好ましくは、印刷データ・ストリーム中で開始機能（"%%BeginFeature"）コメント・ヘッダと終了機能（"%%EndFeature"）コメント・ヘッダの間のコマンド・ストリングに追加またはマージされる。さらに当業者には知られているように、PCLコマンド・ストリングは好ましくは、開始セッションまたはPCL演算子の開始ページ・シーケンスのあとの他のコマンド・ストリングに追加またはマージされる。
【００２３】
図４、図５および図６は、それぞれスキップ・テーブル３００、JDFからPJLへの変換テーブル３０２およびJDFからPDLへの変換テーブル３０４の例示的なさらなる詳細を与える。図３に関連して一般的に上記したように、図４は、複数のエントリー４５０ないし４５２をもつスキップ・テーブル３００の例示的な構造を示す。各エントリーは、それぞれ対応するJDF要素パス名４００ないし４０２を含む。
上記したようなスキップ・テーブルの目的は、一般に、対応するコマンド言語ストリングへのサポートされた直接的な変換をもたない潜在的に大量のJDF要素への高速なインデックスを提供することである。こうして、さらなる処理を必要としないJDF要素を特定するためにエントリー４５０ないし４５２において与えられる必要があるのは、JDF要素パス名のみである。
【００２４】
図５は、先に図３で論じたJDFからPJLへのテーブル３０２についての例示的な構造を示している。各エントリー５５０ないし５５２は、それぞれのJDF要素パス名５００ないし５０２、それぞれのPJLコマンド言語ストリング５１０ないし５１２およびそれぞれの優先度値５２０ないし５２２を含んでいてもよい。
【００２５】
同様にして、図６は、複数のエントリー６５０ないし６５２をもつ例示的なJDFからPDLへの変換テーブル３０４を示している。各エントリー６５０ないし６５２は、それぞれのJDF要素パス名６００ないし６０２、それぞれのPDLコマンド言語ストリング６１０ないし６１２およびそれぞれの優先度値６２０ないし６２２を含んでいてもよい。
【００２６】
例示的なスキップ・テーブルは、XMLで、たとえば：
<JDFSKIP>
<JDFAttr  name="//AgentName"  />
<JDFAttr  name="//AgentVersion"  />
</JDFSKIP>
のようにエンコードされてもよい。
【００２７】
上の例示的なスキップ・テーブルにおいて、「Agent」または「AgentVersion」で終わるパス名をもつJDFジョブ・チケット内のすべてのJDF要素は――それがJDF階層構造のどこに現れるかに関わりなく――無視されることになる。
【００２８】
例示的なJDFからPJLへの変換テーブルはXMLで、たとえば
<JDF2PJL>
<Map  key="//DigitalPrintingParams/Sides=OneSidedFront"
value="@PJL  SET  DUPLEX=OFF"  
priority=1  />
<Map  key="//DigitalPrintingParams/Sides=TwoSidedFlipX"
value="@PJL  SET  DUPLEX=ON,  @PJL  SET  BINDING=SHORTEDGE"
priority=1  />
<Map  key="//DigitalPrintingParams/Sides=TwoSidedFlipX"
value="@PJL  SET  DUPLEX=ON,  @PJL  SET  BINDING=LONGEDGE"  
priority=1  />
<Map  key="//LayoutPreparationParams/Sides=OneSidedFront"
value="@PJL  SET  DUPLEX=OFF"  
priority=3  />
<Map  key="//LayoutPreparationParams/Sides=TwoSidedFlipX"
value="@PJL  SET  DUPLEX=OFF"  
priority=3  />
<Map  key="//LayoutPreparationParams/Sides=TwoSidedFlipX"
value="@PJL  SET  DUPLEX=OFF"
priority=3  />
</JDF2PJL>
のようにエンコードされてもよい。
【００２９】
上の例示的なJDFからPJLへの変換テーブルにおいて、JDFジョブ・チケット中でJDF階層の「DigitalPrintingParams」の部分の中にエンコードされている「Sides」パラメータに言及するJDF要素は対応するPJLディレクティブに変換されて、「DUPLEX」〔両面〕および「BINDING」〔綴じ〕のパラメータを設定する。これらの変換エントリーは優先度（priority）1をもつ。これに対し、同じ「Sides」パラメータが、JDFジョブ・チケット中でJDF階層の「LayoutPreparationParams」の部分でエンコードされているJDF要素によって指定されている場合には、すべて「DUPLEX」PJLパラメータをオフにするよう変換される。しかしながら、これらのマッピング／変換はそれぞれ、3というより低い優先度値をもつ。もし「Sides」パラメータがJDFジョブ・チケットにおいて、JDF階層の「DigitalPrintingParams」の部分とJDF階層の「LayoutPreparationParams」の部分に指定されている場合、より低い優先度のPJLディレクティブ（優先度＝3）が先に出力され、より高い優先度のPJLディレクティブが最後に出力される（優先度＝1）。こうして、両面設定について、より高い優先度の値が印刷システムに回送される最後のディレクティブとなり、よって、先のより低い優先度のPJLディレクティブをオーバーライドすることになる。当業者は、JDFからPDL（たとえばポストスクリプトまたはPCL）テーブルにおいてエントリーを指定するための同様のシンタックスを容易に認識するであろう。さらに、上記の例示的な変換テーブル・エントリーは単に、JDF要素パス名から関連付けられた優先度値を持つコマンド言語ストリングへの変換を指定する変換テーブル・ファイルにおける可能なシンタックス（構文）を示唆するものとして意図されている。本発明の諸特徴および諸側面の個別的な応用に有用な数多くの特定的なマッピングが当業者にはすぐ明白であろう。
【００３０】
当業者は、さまざまな例示的なテーブル３００、３０２および３０４のエントリーが、初期には、特定のプリンタまたは特定の印刷環境に付随する構成設定ファイルの内容からコンテンツを入れられてもよいことを容易に認識するであろう。さらに、テーブル・エントリーは、さまざまなスキップされるべきエントリー、JDFからPJLに変換されるべきエントリー、JDF要素にとって対応するPDLコマンド言語ストリングに変換されるべきエントリーを記述するテキスト・ファイルを作成することによって手動のオペレーター工程によって定義されてもよい。当業者は、たとえばスキップ・テーブルの省略、PJL変換テーブル３０２とPDL変換テーブル３０４のマージまたはすべてのさまざまなテーブル・エントリーをマージしてエントリーがスキップされるべきか、PJLコマンド言語ストリングを生成するために使われるべきか、あるいはPDLコマンド言語ストリングを生成するために使われるべきかを示す好適なフラグ値を追加することを含む数多くの等価な実施形態を容易に認識するであろう。そのような等価な追加的な構造は、議論の簡明のため、本稿では割愛する。
【００３１】
図７および図８は、生成されたストリングおよび関連付けられた優先度値を、印刷ジョブの印刷データの他のコマンド言語ストリングにのちにアペンドまたはマージするために記憶しておくために使用される、図２のメモリ２０２の諸実施形態の例示的なさらなる詳細を与える。図７は、複数のエントリー７５０ないし７５２を含む例示的な生成されたストリングのテーブル７００を示す。各エントリー７５０ないし７５２は、それぞれの対応する生成されたコマンド言語ストリング７１０ないし７１２およびそれぞれの関連付けられた優先度値７２０ないし７２２を記憶しうる。そのようなテーブル７００は、受領されるJDF要素が一つ処理され、それから生成された何らかのコマンド言語ストリングがテーブル７００に追加されるごとに成長しうる。テーブル７００のエントリー７５０ないし７５２は、それぞれのエントリー７５０ないし７５２の優先度値７２０ないし７２２に従ってソートその他の処理をされてもよい。
【００３２】
図８は、生成されたコマンド言語ストリングを記憶するためのメモリ２０２を表すテーブル８００のもう一つの例示的な実施形態を与える。図８の例示的な実施形態では、テーブル８００は、生成されたコマンド・ストリングを記憶するために複数のストリング・テーブル８０１、８０２および８０３を含みうる。ここで、各テーブルは、対応する優先度値に関連付けられたストリングを記憶する。換言すれば、優先度値1をもつPJLコマンド・ストリングはテーブル８０１のエントリー中に記憶され、優先度値2または3をもつPJLコマンド・ストリングはそれぞれテーブル８０２または８０３に記憶される。同様に、テーブル８１１、８１２および８１３は、それぞれ関連付けられた優先度値1、2または3をもつPDLコマンド言語ストリングを記憶するために使用されうる。当業者は、優先度値がいくつ定義されてもよく、よって利用される優先度値のそれぞれについて対応するテーブルが設けられてもよいことを容易に認識するであろう。生成されたコマンド言語ストリングおよびその関連付けられた優先度値の記憶を許容し、それにより生成された各ストリングの優先度値に基づく順序に従って生成されたストリングのその後の出力を許容する数多くの等価なデータ構造が当業者には容易に明白となるであろう。そのような追加的な等価な構造は、本稿では議論の簡明のため割愛する。
【００３３】
図９は、図１のシステム１００のようなシステムにおいて作用可能であってもよい本発明の諸特徴および諸側面に基づく例示的な方法を記述するフローチャートである。ステップ９００はJDFジョブ・チケットなどからJDF要素を受領する。ここで、各要素はJDF要素パス名によって特定される。そのようなJDF要素のシーケンスが、生成され、対応するプリンタに加えられるべき（および／または該対応するプリンタにのちに加えるためにスプールされるべき）印刷ジョブに関連付けられるジョブ・チケットをなしてもよい。次いで、ステップ９０２は受領されたJDF要素を変換して、対応するコマンド言語ストリングを生成する。ここで、各ストリングは、対応する優先度値に関連付けられている。次いでステップ９０４は、生成されたコマンド言語ストリングを、生成された各コマンド言語ストリングに関連付けられた対応する優先度値に基づいた順序で出力する。こうして、図９の方法は、JDFジョブ・チケットにおいて与えられるようなJDF要素を、受領されたJDF要素の意図された意味論、階層構造およびスコープを最も忠実に反映するよう、優先度値によって定義された順序の対応するコマンド言語ストリングに変換する。印刷ジョブへの適用の異なるスコープに対応して複数のJDF要素が指定されてもよい場合、生成されたコマンド言語ストリングがプリンタに適用される優先度順序が、そのような複数のJDF要素の意図への忠実を保証する助けとなる。
【００３４】
図１０は、受領されたJDF要素を変換することによってコマンド言語ストリングを生成する、図９のステップ９０２の処理の例示的なさらなる詳細を与えるフローチャートである。ステップ１０００はまず、図１０の方法の変換によって処理されるべき受領されたJDF要素がまだ残っているかどうかを判定する。残っていなければ、処理は完了し（ラベル「Ａ」）、上記した図９において継続される。残っていれば、ステップ１００２が次のJDF要素のJDF要素パス名を、スキップ・テーブルにおいて位置特定しようと試みる。上記したように、スキップ・テーブルの使用は任意的な改良であり、よってステップ１００２の処理も任意的である。ステップ１００４は次いでJDF要素パス名がスキップ・テーブル中に見つかったかどうかを判定する。見つかっていれば、このJDF要素の処理は完了し、本方法はステップ１０００にループで戻って、さらなる受領されたJDF要素を処理することに続く。JDF要素パス名がスキップ・テーブル中に見つからない場合、ステップ１００６はJDF要素パス名をJDFからPJLへの変換テーブル中で位置特定しようと試みる。ステップ１００８による判定でJDF要素パス名がJDFからPJLへの変換テーブル中に見つかった場合、ステップ１０１０は現在のJDF要素パス名を変換して対応するPJLコマンド言語ストリングを生成（見出されたテーブル・エントリーから抽出）し、生成されたコマンド・ストリングを、やはり見出されたエントリーのフィールドから決定されるその優先度値とともにメモリに保存する。図７および図８において上記したように、見出されたストリングおよび優先度値を記憶するメモリは、多様な等価なデータ構造のいずれを利用してもよい。次いで処理はステップ１０００にループで戻って、さらなる受領されたJDF要素を処理することに続く。ステップ１００８で現在のJDF要素パス名がJDFからPJLへの変換テーブル中に見つからなかったと判定された場合、ステップ１０１２が同様に、現在のJDF要素パス名をJDFからPDLへの変換テーブル中に見出そうと試みる。ステップ１０１４が現在のJDF要素パス名がJDFからPDLへの変換テーブル中に見つかったと判定する場合、ステップ１０１６はJDF要素パス名を変換して対応するPDLコマンド言語ストリングを生成（見出されたテーブル・エントリーから抽出）し、生成されたストリングを、その関連付けられた優先度値とともに好適なメモリに保存する。図７および図８において上記したように、見出されたストリングおよび優先度値を記憶するメモリは、多様な等価なデータ構造のいずれを利用してもよい。ステップ１０１４による判定で現在のJDF要素パス名がJDFからPDLへの変換テーブル中に見つからなかった場合、処理はステップ１０００にループで戻って続く。上記したように、スキップ・テーブルが設けられない、および／または様々な変換テーブルの一つまたは複数が単一のテーブルにマージされるといった、上記の様々なテーブルの代替的な実施形態においては、当業者は、変換テーブル構造におけるそのような代替に対応するための図１０の方法への小規模な修正を容易に認識するであろう。
【００３５】
図１１は、以前に生成され記憶されたコマンド言語ストリングを出力するための、図９のステップ９０４の処理の例示的なさらなる詳細を記述するフローチャートである。ここで、各コマンド言語ストリングは優先度値に関連付けられている。上記したように、生成されたストリングは、生成された各コマンド言語ストリングに関連付けられた優先度値に基づく順序で、プリンタに出力される（またはあとでプリンタに出力するためにスプールされる）。こうして、本システムで利用される可能な優先度値のそれぞれについて、ステップ１１００ないし１１０４が逐次的に作用可能である。ステップ１１００は、その優先度値に関連付けられた生成されたコマンド言語ストリングを出力するよう処理されるべき優先度値が、まだ残っているかどうかを判定する。残っていなければ、ステップ９０４の処理は完了である。残っていれば、ステップ１１０２がこの現在の優先度値に関連付けられている生成されたPJLコマンド言語ストリングを、印刷データにのちにマージされるよう、PJLストリングのリストにアペンドする。次いで、ステップ１１０４は、同様に生成されたPDLコマンド・ストリングを、のちに印刷データにマージされるよう、PDLストリングのリストにアペンドする。次いで処理はステップ１１００にループで戻って、さらなる優先度値を処理することに続く。すべての優先度が処理されてしまうと、ステップ１１０６がPJLストリングの最終的なリストおよびPDLストリングの最終的なリスト（いずれも優先度の順）を、印刷ジョブに関連付けられた印刷データの適切な部分にマージする。
【００３６】
当業者は、生成されたコマンド言語ストリングを、そのような生成されたストリングに関連付けられた優先度値に基づく順序で処理するための他の同様なまたは追加的な方法ステップを容易に認識するであろう。
【００３７】
本発明の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態またはハードウェアおよびソフトウェアの両方の要素を含む実施形態の形を取ることができる。ある実施形態では、本発明はソフトウェアで実装される。該ソフトウェアは、これに限られないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。図１２は、プログラムされた命令を実行し、コンピュータ可読記憶媒体１２１２に記憶されたデータにアクセスすることによって本発明の諸特徴および諸側面を提供するよう適応されたコンピュータ・システム１２００を描いたブロック図である。
【００３８】
さらに、本発明の実施形態は、コンピュータもしくは任意の命令実行システムによる使用またはコンピュータもしくは任意の命令実行システムと関連した使用のためのプログラム・コードを提供する、コンピュータによって使用可能またはコンピュータによって読み取り可能な媒体１２１２からアクセス可能なコンピュータ・プログラム・プロダクトの形を取ることができる。本記載のためには、コンピュータによって使用可能またはコンピュータによって読み取り可能な媒体は、命令実行システム、装置もしくはデバイスによる使用または命令実行システム、装置もしくはデバイスと関連した使用のためのプログラムを含む、記憶する、通信する、伝搬させるまたは転送することのできる任意の装置であることができる。
【００３９】
前記媒体は、電子的、磁気的、光学的、電磁的、赤外線または半導体システム（または装置またはデバイス）または伝搬媒体であることができる。コンピュータ可読媒体の例としては、半導体または固体メモリ、磁気テープ、リムーバブルなコンピュータ・ディスケット、ランダム・アクセス・メモリ（RAM）、読み出し専用メモリ（ROM）、剛性の磁気ディスクおよび光ディスクが含まれる。光ディスクの現在の例としては、コンパクト・ディスク‐読み出し専用メモリ（CD-ROM）、コンパクト・ディスク‐読み出し／書き込み（CD-R/W）およびDVDが含まれる。
【００４０】
プログラム・コードを記憶および／または実行するのに好適なコンピュータ・システム１２００は、システム・バス１２５０を通じてメモリ要素１２０４に直接または間接に結合された少なくとも一つのプロセッサ１２０２を含むであろう。メモリ要素１２０４は、プログラム・コードの実際の実行の間に用いられるローカルなメモリ、大容量記憶装置および実行の間に大容量記憶装置からコードを取得しなければならない回数を減らすために少なくとも一部のプログラム・コードの一時記憶を提供するキャッシュ・メモリを含むことができる。
【００４１】
入出力またはI/Oデバイス１２０６（これに限られないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）は、直接にまたは介在するI/Oコントローラを通じてシステムに結合されることができる。コンピュータ・システム１２００が他のデータ処理システムまたは記憶装置に、介在する私設または公共ネットワークを通じて結合されることができるようにするために、ネットワーク・アダプタ・インターフェース１２０８がシステムに結合されていてもよい。モデム、ケーブル・モデム、IBMチャネル（IBM  Channel）・アタッチメント、SCSI、ファイバー・チャネル（Fibre  Channel）およびイーサネット（登録商標）・カードは、ネットワークまたはホスト・インターフェース・アダプタの現在利用可能な型のほんのいくつかである。印刷システムおよびディスプレイのような、プロセッサ１２０２によって生成される呈示データの呈示のための一つまたは複数の呈示装置（presentation  device）とのインターフェースをもつために、呈示装置インターフェース１２１０がシステムに結合されてもよい。
【００４２】
本稿では個別的な実施形態が記載されたが、本発明の範囲はそのような個別的な実施形態に限定されるものではない。本発明の範囲は、以下の請求項およびその任意の等価物によって定義される。
【図１】
0005326784.tif 000002
【図２】
0005326784.tif 000003
【図３】
0005326784.tif 000004
【図４】
0005326784.tif 000005
【図５】
0005326784.tif 000006
【図６】
0005326784.tif 000007
【図７】
0005326784.tif 000008
【図８】
0005326784.tif 000009
【図９】
0005326784.tif 000010
【図１０】
0005326784.tif 000011
【図１１】
0005326784.tif 000012
【図１２】
0005326784.tif 000013