(57)【要約】【課題】一方の印刷装置へのジョブを他方の印刷装置へのジョブに自動変換することができる情報処理装置、情報処理システム、プログラム及びプリンタドライバを提供する。【解決手段】制御部１３が、各プリンタの機能、当該機能に関する選択肢又は値の範囲、及び選択肢又は値の範囲に対応するコマンドを含むコマンド情報をプリンタ毎に取得し、その取得されたプリンタ毎のコマンド情報に基づいて、一方のプリンタ用のコマンドを他方のプリンタ用の命令に変換するフィルタ（即ちＡtoＢフィルタ又はＢtoＡフィルタ）を作成し、当該作成されたフィルタを用いて、一方のプリンタへのジョブに含まれるコマンドを他方のプリンタへのジョブに含まれるコマンドに変換する。よって、一方のプリンタへのジョブは他方のプリンタへのジョブに自動変換される。【選択図】図４
2010204777.tif 000002
【特許請求の範囲】
【請求項１】
各印刷装置の機能、当該機能に関する設定、及び前記設定に対応する命令を含む命令情報を印刷装置毎に取得する取得手段と、
前記取得された印刷装置毎の命令情報に基づいて、一方の印刷装置用の命令を他方の印刷装置用の命令に変換するフィルタを作成し、当該作成されたフィルタを用いて、前記一方の印刷装置へのジョブに含まれる命令を前記他方の印刷装置へのジョブに含まれる命令に変換する変換手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記命令情報に含まれる各印刷装置の機能、及び当該機能に関する設定を入力する入力手段を備え、
前記他方の印刷装置の命令情報に含まれる命令が不明であり、前記他方の印刷装置の機能、及び当該機能に関する設定が入力された場合に、前記変換手段は、前記他方の印刷装置の機能に関する設定が同一である第１ジョブ及び第２ジョブの発行並びに当該第１ジョブ及び第２ジョブの設定と異なる設定を含む第３ジョブの発行を前記他方の印刷装置用のドライバに要請し、前記第１ジョブ及び第２ジョブの第１差分と前記第１ジョブ及び第３ジョブの第２差分とを抽出し、前記第２差分から前記第１差分に対応するデータ部分を除外することにより、前記他方の印刷装置の命令情報に含まれる命令を決定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記変換手段は、前記フィルタを用いたジョブの変換前に、前記一方の印刷装置へのジョブのサイズ変換処理又は分割処理を実行することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記フィルタは、前記他方の印刷装置が有していない前記一方の印刷装置の機能に対応する前記一方の印刷装置用の命令を前記他方の印刷装置用の空命令に変換することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記フィルタは、前記他方の印刷装置が有していない前記一方の印刷装置の機能に関する設定に対応する前記一方の印刷装置用の命令を、前記他方の印刷装置の同一機能に関する別の設定に対応する前記他方の印刷装置用の命令に変換することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記フィルタは、前記一方の印刷装置の前記機能、当該機能に関する設定、及び前記設定に対応する命令が前記他方の印刷装置のものと同一である場合は、前記一方の印刷装置用の命令を前記他方の印刷装置用の命令に変換しないことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
さらに、前記命令情報を編集する編集手段を備えていることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
各印刷装置の機能、当該機能に関する設定、及び前記設定に対応する命令を含む命令情報を印刷装置毎に取得する取得手段と、
前記取得された印刷装置毎の命令情報に基づいて、一方の印刷装置用の命令を他方の印刷装置用の命令に変換するフィルタを作成し、当該作成されたフィルタを用いて、前記一方の印刷装置へのジョブに含まれる命令を前記他方の印刷装置へのジョブに含まれる命令に変換する変換手段と
をサーバ及びクライアントのいずれか一方が含むことを特徴とする情報処理システム。
【請求項９】
コンピュータを、
各印刷装置の機能、当該機能に関する設定、及び前記設定に対応する命令を含む命令情報を印刷装置毎に取得する取得手段、及び
前記取得された印刷装置毎の命令情報に基づいて、一方の印刷装置用の命令を他方の印刷装置用の命令に変換するフィルタを作成し、当該作成されたフィルタを用いて、前記一方の印刷装置へのジョブに含まれる命令を前記他方の印刷装置へのジョブに含まれる命令に変換する変換手段として機能させることを特徴とするプログラム。
【請求項１０】
コンピュータを、
各印刷装置の機能、当該機能に関する設定、及び前記設定に対応する命令を含む命令情報を印刷装置毎に取得する取得手段として機能させることを特徴とするプリンタドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、プログラム及びプリンタドライバに関する。
【背景技術】
【０００２】
従来より、コマンドを、企図された動作を印刷装置に行わせる１つ以上のコマンドに変換する変換モジュールを有する印刷装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１４６６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、一方の印刷装置へのジョブを他方の印刷装置へのジョブに自動変換することができる情報処理装置、情報処理システム、プログラム及びプリンタドライバを提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、請求項１の情報処理装置は、各印刷装置の機能、当該機能に関する設定、及び前記設定に対応する命令を含む命令情報を印刷装置毎に取得する取得手段と、前記取得された印刷装置毎の命令情報に基づいて、一方の印刷装置用の命令を他方の印刷装置用の命令に変換するフィルタを作成し、当該作成されたフィルタを用いて、前記一方の印刷装置へのジョブに含まれる命令を前記他方の印刷装置へのジョブに含まれる命令に変換する変換手段とを備えることを特徴とする。
【０００６】
請求項２の情報処理装置は、請求項１記載の情報処理装置において、前記命令情報に含まれる各印刷装置の機能、及び当該機能に関する設定を入力する入力手段を備え、前記他方の印刷装置の命令情報に含まれる命令が不明であり、前記他方の印刷装置の機能、及び当該機能に関する設定が入力された場合に、前記変換手段は、前記他方の印刷装置の機能に関する設定が同一である第１ジョブ及び第２ジョブの発行並びに当該第１ジョブ及び第２ジョブの設定と異なる設定を含む第３ジョブの発行を前記他方の印刷装置用のドライバに要請し、前記第１ジョブ及び第２ジョブの第１差分と前記第１ジョブ及び第３ジョブの第２差分とを抽出し、前記第２差分から前記第１差分に対応するデータ部分を除外することにより、前記他方の印刷装置の命令情報に含まれる命令を決定することを特徴とする。
【０００７】
請求項３の情報処理装置は、請求項１又は２に記載の情報処理装置において、前記変換手段は、前記フィルタを用いたジョブの変換前に、前記一方の印刷装置へのジョブのサイズ変換処理又は分割処理を実行することを特徴とする。
【０００８】
請求項４の情報処理装置は、請求項１乃至３のいずれか１項に記載の情報処理装置において、前記フィルタは、前記他方の印刷装置が有していない前記一方の印刷装置の機能に対応する前記一方の印刷装置用の命令を前記他方の印刷装置用の空命令に変換することを特徴とする。
【０００９】
請求項５の情報処理装置は、請求項１乃至４のいずれか１項に記載の情報処理装置において、前記フィルタは、前記他方の印刷装置が有していない前記一方の印刷装置の機能に関する設定に対応する前記一方の印刷装置用の命令を、前記他方の印刷装置の同一機能に関する別の設定に対応する前記他方の印刷装置用の命令に変換することを特徴とする。
【００１０】
請求項６の情報処理装置は、請求項１乃至５のいずれか１項に記載の情報処理装置において、前記フィルタは、前記一方の印刷装置の前記機能、当該機能に関する設定、及び前記設定に対応する命令が前記他方の印刷装置のものと同一である場合は、前記一方の印刷装置用の命令を前記他方の印刷装置用の命令に変換しないことを特徴とする。
【００１１】
請求項７の情報処理装置は、請求項１乃至６のいずれか１項に記載の情報処理装置において、さらに、前記命令情報を編集する編集手段を備えていることを特徴とする。
【００１２】
請求項８の情報処理システムは、各印刷装置の機能、当該機能に関する設定、及び前記設定に対応する命令を含む命令情報を印刷装置毎に取得する取得手段と、前記取得された印刷装置毎の命令情報に基づいて、一方の印刷装置用の命令を他方の印刷装置用の命令に変換するフィルタを作成し、当該作成されたフィルタを用いて、前記一方の印刷装置へのジョブに含まれる命令を前記他方の印刷装置へのジョブに含まれる命令に変換する変換手段とをサーバ及びクライアントのいずれか一方が含むことを特徴とする。
【００１３】
請求項９のプログラムは、コンピュータを、各印刷装置の機能、当該機能に関する設定、及び前記設定に対応する命令を含む命令情報を印刷装置毎に取得する取得手段、及び前記取得された印刷装置毎の命令情報に基づいて、一方の印刷装置用の命令を他方の印刷装置用の命令に変換するフィルタを作成し、当該作成されたフィルタを用いて、前記一方の印刷装置へのジョブに含まれる命令を前記他方の印刷装置へのジョブに含まれる命令に変換する変換手段として機能させることを特徴とする。
【００１４】
請求項１０のプリンタドライバは、コンピュータを、各印刷装置の機能、当該機能に関する設定、及び前記設定に対応する命令を含む命令情報を印刷装置毎に取得する取得手段として機能させることを特徴とする。
【発明の効果】
【００１５】
請求項１の発明によれば、一方の印刷装置へのジョブを他方の印刷装置へのジョブに自動変換することができる。
【００１６】
請求項２の発明によれば、印刷装置の命令情報に含まれる命令が不明である場合でも、当該印刷装置の命令情報を決定することができる。
【００１７】
請求項３の発明によれば、他方の印刷装置で処理できないジョブを処理できるジョブに変更することができる。
【００１８】
請求項４の発明によれば、他方の印刷装置が有していない機能に対応する命令が他方の印刷装置に送信されることを回避することができる。
【００１９】
請求項５の発明によれば、他方の印刷装置が有していない機能に関する設定に対応する命令を、他方の印刷装置の同一機能に関する別の設定に変換することができる。
【００２０】
請求項６の発明によれば、不要な変換処理を削減することができる。
【００２１】
請求項７の発明によれば、ユーザが自由に命令情報を編集することができる。
【００２２】
請求項８の発明によれば、一方の印刷装置へのジョブを他方の印刷装置へのジョブに自動変換することができる。
【００２３】
請求項９の発明によれば、一方の印刷装置へのジョブを他方の印刷装置へのジョブに自動変換することができる。
【００２４】
請求項１０の発明によれば、一方の印刷装置へのジョブを他方の印刷装置へのジョブに自動変換するフィルタを作成するために必要な命令情報を各印刷装置から取得することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施の形態に係る情報処理装置を含む情報処理システムの構成を示すブロック図である。
【図２】サーバ１及びクライアント２，３のハードウエア構成を示すブロック図である。
【図３】（Ａ）は、プリンタ４の各機能、各機能に設定可能な選択肢又は値の範囲、及びその選択肢又は値の範囲に対応するコマンドを含むコマンド情報の一例を示す図であり、（Ｂ）は、プリンタ５の各機能、各機能に設定可能な選択肢又は値の範囲、及びその選択肢又は値の範囲に対応するコマンドを含むコマンド情報の一例を示す図である。
【図４】ＡtoＢフィルタの作成方法を示すフローチャートである。
【図５】制御部１３により作成されたＡtoＢフィルタの一例を示す図である。
【図６】（Ａ），（Ｂ）は、第２の実施の形態にかかるプリンタ５のコマンド情報の一例を示す図である。
【図７】プリンタ５のコマンド情報を作成する処理を示すフローチャートである。
【図８】ジョブＡ、ジョブＢ、及びジョブＣの構造の対応関係を示す図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２７】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る情報処理装置を含む情報処理システムの構成を示すブロック図である。
【００２８】
図１の情報処理システムは、コンピュータで構成されるサーバ１及びクライアント２，３とプリンタ４，５とを備えている。サーバ１は、クライアント２，３とプリンタ４，５との間に接続されている。
【００２９】
クライアント２にはプリンタ５用のドライバＢがインストールされており、クライアント３には、プリンタ４用のドライバＡがインストールされている。プリンタ４は、ドライバＡからのジョブを印刷し、プリンタ５はドライバＢからのジョブを印刷する。
【００３０】
サーバ１は、記憶部１１、入力部１２（入力手段、編集手段）及び制御部１３（取得手段、変換手段）を備えている。制御部１３は、記憶部１１及び入力部１２に接続されている。
【００３１】
記憶部１１には、ドライバＡ及びドライバＢがインストールされている。制御部１３は、プリンタ４へのジョブをプリンタ５へのジョブに変換するＡtoＢフィルタ及びプリンタ５へのジョブをプリンタ４へのジョブに変換するＢtoＡフィルタを作成する。尚、ＡtoＢフィルタ及びＢtoＡフィルタの作成方法は、後述する。また、制御部１３は、ＡtoＢフィルタを使ってプリンタ４へのジョブをプリンタ５へのジョブに変換すると共にＢtoＡフィルタを使ってプリンタ５へのジョブをプリンタ４へのジョブに変換する。入力部１２は、データ、情報又はコマンドを入力する若しくは制御部１３に対する指示を入力する。
【００３２】
例えば、プリンタ５へのジョブがクライアント２から入力される場合には、当該ジョブはプリンタ５用のドライバＢから出力されているので、制御部１３は、当該ジョブの変換を実行しない。一方、プリンタ４へのジョブがクライアント２から入力される場合には、当該ジョブはプリンタ５用のドライバＢから出力されているので、制御部１３は、ＢtoＡフィルタを使ってプリンタ５へのジョブをプリンタ４へのジョブに変換する。これにより、プリンタ４へのジョブがプリンタ４で印刷される。
【００３３】
図２は、サーバ１及びクライアント２，３のハードウエア構成を示すブロック図である。
【００３４】
サーバ１のハードウエア構成は、クライアント２，３の各々のハードウエア構成と同一であるので、ここではサーバ１のハードウエア構成について説明する。尚、図２において、１０１〜１０９番の符号は、サーバ１の構成要素を示し、２０１〜２０９番の符号は、クライアント２の構成要素を示し、３０１〜３０９番の符号は、クライアント３の構成要素を示す。
【００３５】
サーバ１は、装置全体を制御するＣＰＵ１０１、制御プログラムを備えるＲＯＭ１０２、ワーキングエリアとして機能するＲＡＭ１０３、各種の情報やプログラムを備えるハードディスクドライブ（ＨＤＤ）１０４、マウス及びキーボードを接続するＰＳ／２インターフェース１０５、他のコンピュータと接続するためのネットワークインタフェース１０６、表示装置を接続するためのビデオインターフェース１０７、及び不図示のＵＳＢ機器と接続するためのＵＳＢ（universal serial bus）インタフェース１０８を備えている。ＣＰＵ１０１は、システムバス１０９を介してＲＯＭ１０２、ＲＡＭ１０３、ハードディスクドライブ（ＨＤＤ）１０４、ＰＳ／２インターフェース１０５、ネットワークインターフェース１０６、ビデオインターフェース１０７及びＵＳＢインターフェース１０８に接続されている。
【００３６】
記憶部１１はＨＤＤ１０４に対応し、入力部１２はＰＳ／２インターフェース１０５に対応する。制御部１３は、制御プログラムを実行するために必要なＣＰＵ１０１、ＲＯＭ１０２及びＲＡＭ１０３、並びにクライアント２，３及びプリンタ４，５に接続するためのネットワークインターフェース１０６で構成される。
【００３７】
図３（Ａ）は、プリンタ４の各機能、各機能に設定可能な選択肢又は値の範囲、及びその選択肢又は値の範囲に対応するコマンドを含むコマンド情報の一例を示す図であり、図３（Ｂ）は、プリンタ５の各機能、各機能に設定可能な選択肢又は値の範囲、及びその選択肢又は値の範囲に対応するコマンドを含むコマンド情報の一例を示す図である。
【００３８】
プリンタ４及びプリンタ５のコマンド情報は、記憶部１１にドライバＡ，Ｂがインストールされるときに、同時に記憶部１１にインストールされる。または、制御部１３が、ドライバＡ，Ｂを記憶部１１から読み出し、入力部１２から入力されるプリンタ４，５の各機能及び各機能に設定可能な選択肢又は値の範囲に基づいて、ドライバＡ，Ｂから出力されるコマンドを取得し、プリンタ４及びプリンタ５のコマンド情報を作成してもよい。作成されたコマンド情報は、記憶部１１又は制御部１３に保存される。
【００３９】
ユーザは、入力部１２を介して、コマンド情報に含まれる機能、選択肢又は値の範囲、及びコマンドを編集してもよい。
【００４０】
尚、ドライバＡは、プリンタ４の各機能及び各機能に設定可能な選択肢又は値の範囲が入力されたときに、出力されるコマンドを有しており、ドライバＢは、プリンタ５の各機能及び各機能に設定可能な選択肢又は値の範囲が入力されたときに、出力されるコマンドを有している。
【００４１】
以下、制御部１３が、プリンタ４及びプリンタ５のコマンド情報に基づいて、ＡtoＢフィルタを作成する方法を説明する。尚、ＢtoＡフィルタの作成方法は、ＡtoＢフィルタの作成方法を流用できるので、その説明は省略する。
【００４２】
図４は、ＡtoＢフィルタの作成方法を示すフローチャートであり、図５は、制御部１３により作成されたＡtoＢフィルタの一例を示す図である。
【００４３】
まず、制御部１３は、プリンタ４のコマンド情報をプリンタ５のコマンド情報と比較する（ステップＳ１）。
【００４４】
次いで、制御部１３は、プリンタ５がサポートしていないプリンタ４の機能があるか否かを判別する（ステップＳ２）。ステップＳ２でＹＥＳの場合には、制御部１３は、プリンタ５がサポートしていないプリンタ４の機能に対応するプリンタ４のコマンドを空コマンドに変換し（ステップＳ３）、ステップＳ１に戻る。例えば、図３（Ａ），（Ｂ）で示すように、プリンタ４はステイプルの機能を有するが、プリンタ５はステイプルの機能を有していない。この場合、制御部１３は、図５のＡtoＢフィルタの入力欄にステイプルの機能に対応するコマンド（即ち、@H=0,H=1）を入力し、ＡtoＢフィルタの出力欄に空コマンド（即ち、null）を入力する。
【００４５】
ステップＳ２でＮＯの場合には、制御部１３は、プリンタ５がサポートしていないプリンタ４の選択肢又は値の範囲があるか否かを判別する（ステップＳ４）。ステップＳ４でＹＥＳの場合には、制御部１３は、プリンタ５がサポートしていないプリンタ４の選択肢又は値の範囲に対応するコマンドに、同一の機能に含まれる別の選択肢又は値の範囲に対応するコマンドを割り当て（ステップＳ５）、ステップＳ１に戻る。
【００４６】
例えば、図３（Ａ），（Ｂ）で示すように、プリンタ４は両面印刷の機能に短辺綴じの選択肢を有するが、プリンタ５は短辺綴じの選択肢を有していない。この場合、制御部１３は、図５のＡtoＢフィルタの入力欄に短辺綴じの選択肢に対応するコマンド（即ち、@D=2）を入力し、ＡtoＢフィルタの出力欄に片面の選択肢に対応するコマンド（即ち、@D=0）を入力する。ここでは、制御部１３は、ＡtoＢフィルタの出力欄に片面の選択肢に対応するコマンドを入力しているが、ＡtoＢフィルタの出力欄に入力される選択肢は、片面又は長編綴じのいずれでもよい。また、制御部１３は、入力部１２を介してユーザに、ＡtoＢフィルタの出力欄に入力される選択肢を選択させてもよい。
【００４７】
ステップＳ４でＮＯの場合には、制御部１３は、プリンタ４，５の機能及び選択肢又は値の範囲が同一である場合に、プリンタ４，５のコマンドが同一であるか否かを判別する（ステップＳ６）。ステップＳ６でＹＥＳの場合には、制御部１３は、ＡtoＢフィルタの入力欄と出力欄に同一のコマンドを入力し（ステップＳ７）、ステップＳ１に戻る。例えば、図５に示すように、制御部１３は、ＡtoＢフィルタの入力欄及び出力欄に画質機能に含まれる「標準」の選択肢に対応するコマンド（即ち、@Q=1）を入力する。
【００４８】
ステップＳ６でＮＯの場合には、制御部１３は、プリンタ４のコマンドをプリンタ５の対応するコマンドに変換し（ステップＳ８）、ステップＳ１に戻る。例えば、図５に示すように、制御部１３は、ＡtoＢフィルタの入力欄に画質機能に含まれる「高画質」の選択肢に対応するコマンド（即ち、@Q=2）を入力し、ＡtoＢフィルタの出力欄に画質機能に含まれる「高画質」の選択肢に対応するコマンド（即ち、@Q=3）を入力する。
【００４９】
上記ＡtoＢフィルタの作成方法では、プリンタ４は、用紙サイズの機能に含まれる「Ａ３」の選択肢を有するが、プリンタ５は、「Ａ３」の選択肢を有しない。この場合、制御部１３は、「Ａ３」の選択肢に対応するコマンドを含むジョブ（例えば画像）を、「Ａ４」サイズ又は「Ｂ４」サイズに縮小するサイズ変換処理を実行し、当該「Ａ３」の選択肢に対応するコマンドに、プリンタ５の「Ａ４」又は「Ｂ４」の選択肢に対応するコマンドを割り当ててもよい。また、制御部１３は、「Ａ３」の選択肢に対応するコマンドを含むジョブ（例えば画像）を、「Ａ４」サイズの２つのジョブに分割し、当該「Ａ３」の選択肢に対応するコマンドに、プリンタ５の「Ａ４」の選択肢に対応する２つのコマンドを割り当ててもよい。
【００５０】
図３（Ａ），（Ｂ）によれば、プリンタ４は、最大１００部まで設定できるが、プリンタＢは最大１０部までしか設定できない。プリンタＢは最大印刷部数（ここでは１０部）を超えるジョブが入力されたときに、制御部１３は、当該ジョブを複数のジョブに分割し、プリンタ４の「部数」の選択肢に対応するコマンドに、プリンタ５の「部数」の選択肢に対応する複数のコマンドを割り当ててもよい。
【００５１】
このように、制御部１３は、予め決められたプリンタ４のコマンド（例えば、「Ａ３」の選択肢に対応するコマンドや「部数」の選択肢に対応するコマンド）に、サイズ変換処理や分割処理のような特殊処理を実行してもよい。
【００５２】
以上説明したように、本実施の形態によれば、制御部１３が、各プリンタの機能、当該機能に関する選択肢又は値の範囲、及び選択肢又は値の範囲に対応するコマンドを含むコマンド情報をプリンタ毎に取得し、その取得されたプリンタ毎のコマンド情報に基づいて、一方のプリンタ用のコマンドを他方のプリンタ用の命令に変換するフィルタ（即ちＡtoＢフィルタ又はＢtoＡフィルタ）を作成し、当該作成されたフィルタを用いて、一方のプリンタへのジョブに含まれるコマンドを他方のプリンタへのジョブに含まれるコマンドに変換する。よって、一方のプリンタへのジョブは他方のプリンタへのジョブに自動変換される。
【００５３】
また、本実施の形態では、サーバ１で一方のプリンタへのジョブを他方のプリンタへのジョブへ変換するので、ジョブの変換モジュールを有しないプリンタもジョブの印刷が可能である。さらに、本実施の形態では、サーバやクライアントの全てに適合するドライバを開発する必要がないので、プリントドライバの開発コストが低減される。
【００５４】
（第２の実施の形態）
第１の実施の形態では、プリンタ５のコマンド情報が予め記憶部１１に記憶されている、又は制御部１３が入力部１２から入力されるプリンタ５の各機能及び各機能に設定可能な選択肢又は値の範囲に基づいて、ドライバＢから出力されるコマンドを取得し、プリンタ５のコマンド情報を作成した。本実施の形態では、プリンタ５のコマンド情報が不明な場合を想定する。
【００５５】
尚、情報処理システム、サーバ１、クライアント２，３及びプリンタ４，５の構成は、第１の実施の形態のそれらの構成と同一である。
【００５６】
図６（Ａ），（Ｂ）は、第２の実施の形態にかかるプリンタ５のコマンド情報の一例を示す図である。
【００５７】
図６（Ａ）に示すように、プリンタ５のコマンド情報のうち、各機能及び各機能に設定可能な選択肢又は値の範囲は、ユーザによって入力部１２から入力される、又は制御部１３がドライバＢのユーザインターフェース（不図示）を自動操作することによって入力される。このとき、各選択肢又は値の範囲に対応するコマンドは不明である。
【００５８】
図７は、プリンタ５のコマンド情報を作成する処理を示すフローチャートである。
【００５９】
まず、入力部１２又は制御部１３がプリンタ５のコマンド情報の各機能及び各機能に設定可能な選択肢又は値の範囲を入力する（ステップＳ１１）。
【００６０】
次いで、制御部１３は、複数のジョブの発行をドライバＢに要請し、ドライバＢから受信した複数のジョブを蓄積する（ステップＳ１２）。例えば、図６（Ａ）では、「標準」及び「高画質」の選択肢に対応するコマンドが不明なので、制御部１３は、画質機能を「標準」に設定した２つのジョブ（以下ジョブＡ、ジョブＢという）の発行、及び画質機能を「高画質」に設定した１つのジョブ（以下ジョブＣという）の発行をドライバＢに要請し、ドライバＢから受信した複数のジョブ（即ち、ジョブＡ〜Ｃ）を蓄積する。
【００６１】
次に、制御部１３は、同一設定の２つのジョブ（ジョブＡ、ジョブＢ）の第１の差分を抽出する（ステップＳ１３）。ここで、図８に、ジョブＡ、ジョブＢ、及びジョブＣの構造の対応関係を示す。ステップＳ１３で抽出された第１の差分は、「標準」及び「高画質」の選択肢に対応するコマンドと関係がないデータ（例えば、図８に示すような、ジョブＡ及びジョブＢの発行時刻を示すデータ）である。
【００６２】
次いで、制御部１３は、上記同一設定のいずれか１つのジョブ（例えばジョブＡ）と異なる設定のジョブ（例えばジョブＣ）との第２の差分を抽出し、当該第２の差分から上記第１の差分に対応するデータ部分を除外する（ステップＳ１４）。これにより、制御部１３は、ジョブＡとジョブＢとの間で共通で且つジョブＢのみが異なるデータ、即ち、図８に示すような、「標準」及び「高画質」の選択肢に対応するコマンドを取得する。
【００６３】
制御部１３は、ステップＳ１１で入力された選択肢又は値の範囲に対応する全てのコマンドを取得したか否かを判別する（ステップＳ１５）。ステップＳ１５でＮＯの場合には、ステップＳ１２に戻る。ステップＳ１２〜ステップ１５のループ処理により、制御部１３は、他の機能の選択肢又は値の範囲に対応するコマンドの取得を繰り返す。例えば、例えば、図６（Ａ）では、「部数」の選択肢に対応するコマンドも不明である。制御部１３は、部数を「１」に設定した２つのジョブの発行、及び部数を「１０」に設定した１つのジョブの発行をドライバＢに要請し、ステップＳ１２〜ステップ１５の処理を実行することで、「部数」の選択肢に対応するコマンドを取得する。
【００６４】
ステップＳ１５でＹＥＳの場合には、本処理を終了する。このとき、図６（Ｂ）に示すように、プリンタ５のコマンド情報は決定しているので、制御部１３は、図４に示すような方法を使って、ＡtoＢフィルタ又はＢtoＡフィルタを作成してもよい。
【００６５】
以上説明したように、本実施の形態によれば、プリンタ５のコマンド情報に含まれるコマンドが不明であり、プリンタ５の機能、及び当該機能に関する選択肢又は値の範囲が入力された場合に、制御部１３は、プリンタ５の機能に関する選択肢又は値の範囲が同一であるジョブＡ及びジョブＢの発行並びにジョブＡ及びジョブＢの選択肢又は値の範囲と異なる選択肢又は値の範囲を含むジョブＣの発行をプリンタ５用のドライバＢに要請し、ジョブＡ及びジョブＢの第１差分とジョブＡ及びジョブＣの第２差分とを抽出し、第２差分から第１差分に対応するデータ部分を除外することにより、プリンタ５のコマンド情報に含まれるコマンドを決定する。よって、プリンタ５のコマンド情報に含まれるコマンドが不明である場合でも、当該プリンタ５のコマンド情報は決定される。
【００６６】
第１及び第２の実施の形態では、サーバ１がジョブの変換を実行しているが、クライアント２又は３が、記憶部１１、入力部１２、及び制御部１３を備え、ジョブの変換を実行するようにしてもよい。この場合、クライアント２又は３は、直接又はサーバ１を介してプリンタ４又は５に接続される。
【００６７】
サーバ１又はクライアント２，３の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、サーバ１又はクライアント２，３に供給し、ＣＰＵ１０１，２０１又は３０１が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、又はＳＤカードなどがある。
【００６８】
また、サーバ１のＣＰＵ１０１又はクライアント２，３のＣＰＵ２０１，３０１が、サーバ１又はクライアント２，３の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。
【００６９】
なお、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【００７０】
１  サーバ
２，３  クライアント
４，５  プリンタ
１１  記憶部
１２  入力部
１３  制御部
１０１，２０１，３０１  ＣＰＵ
１０２，２０２，３０２  ＲＯＭ
１０３，２０３，３０３  ＲＡＭ
１０４，２０４，３０４  ハードディスクドライブ（ＨＤＤ）
１０５，２０５，３０５  ＰＳ／２インターフェース
１０６，２０６，３０６  ネットワークインターフェース
１０７，２０７，３０７  ビデオインターフェース
１０８，２０８，３０８  ＵＳＢインターフェース
【図１】
2010204777.tif 000003
【図２】
2010204777.tif 000004
【図３】
2010204777.tif 000005
【図４】
2010204777.tif 000006
【図５】
2010204777.tif 000007
【図６】
2010204777.tif 000008
【図７】
2010204777.tif 000009
【図８】
2010204777.tif 000010