(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理装置であって、
用いるプリンタドライバに関する情報を取得する取得手段と、
取得した前記プリンタドライバに関する情報をもとに、印刷設定および印刷処理を前記第１の実行環境で実行するか、第２の実行環境で実行するか決定する決定手段と、
前記第２の実行環境で実行すると決定した場合には、前記第２の実行環境上で動作する第２のアプリケーションにより前記プリンタドライバにおいて印刷設定を行うためのユーザインターフェースを表示させる表示手段と、
前記第２のアプリケーションに印刷対象の文書データを送信して印刷出力を実行させる手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記取得手段により取得する前記プリンタドライバに関する情報は、前記プリンタドライバのバージョンを含み、
前記決定手段は、前記取得手段により取得した前記プリンタドライバのバージョンに基づいて、当該プリンタドライバの印刷設定データの形式に対応した前記第１の実行環境または前記第２の実行環境を、印刷設定および印刷処理を実行する実行環境として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のアプリケーションは、印刷出力実行時に、前記第１のアプリケーションにユーザインターフェースを表示させる手段を有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第２のアプリケーションは、前記プリンタドライバからイベントの通知を受信すると、該通知を前記第１のアプリケーションに通知することを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理装置であって、
用いるプリンタドライバに関する情報を取得する取得手段と、
取得した前記プリンタドライバに関する情報をもとに、印刷設定および印刷処理を前記第１の実行環境で実行するか、第２の実行環境で実行するか決定する決定手段と、
前記第２の実行環境で実行すると決定した場合には、前記第２の実行環境上で動作する第２のアプリケーションにより前記プリンタドライバの印刷機能の情報を取得させて該印刷機能の情報に基づいて印刷設定を行うためのユーザインターフェースを表示する表示手段と、
前記第２のアプリケーションに印刷対象の文書データと印刷設定とを送信して、当該印刷設定に応じた印刷出力を実行させる手段と
を有することを特徴とする情報処理装置。
【請求項６】
前記取得手段により取得する前記プリンタドライバに関する情報は、前記プリンタドライバのバージョンを含み、
前記決定手段は、前記取得手段により取得した前記プリンタドライバのバージョンに基づいて、当該プリンタドライバの印刷設定データの形式に対応した前記第１の実行環境または前記第２の実行環境を、印刷設定および印刷処理を実行する実行環境として決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理装置であって、
用いるプリンタドライバのバージョンを第２の実行環境で動作する第２のアプリケーションにより取得させて、該バージョンに基づいて優先する印刷設定データの形式を決定する決定手段と、
前記決定手段により判定された形式で前記プリンタドライバの印刷機能に関する情報を前記第２のアプリケーションによりプリンタから取得させる取得手段と、
前記取得手段により取得した前記印刷機能に関する情報に基づいて、印刷設定を行うためのユーザインターフェースを表示する表示手段と、
前記優先する印刷設定データが前記第２の実行環境に対応した形式であれば、前記第２のアプリケーションに印刷対象の文書データと印刷設定とを送信して当該印刷設定に応じた印刷出力を実行させ、前記優先する印刷設定データが前記第１の実行環境に対応した形式であれば、前記第２のアプリケーションに印刷対象の文書データを送信して印刷出力を実行させる手段と
を有することを特徴とする情報処理装置。
【請求項８】
前記取得手段は、前記印刷機能の情報を前記第１及び第２の実行環境それぞれに対応した形式で取得し、該情報に含まれた機能の数が多いほうの形式を、優先する印刷データの形式であると決定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う情報処理装置としてコンピュータを機能させるための、第１の実行環境で動作する第１のアプリケーションプログラムであって、
用いるプリンタドライバに関する情報を取得する取得手段と、
取得した前記プリンタドライバに関する情報をもとに、印刷設定および印刷処理を前記第１の実行環境で実行するか、第２の実行環境で実行するか決定する決定手段と、
前記第２の実行環境で実行すると決定した場合には、前記第２の実行環境上で動作する第２のアプリケーションにより前記プリンタドライバにおいて印刷設定を行うためのユーザインターフェースを表示させる表示手段と、
前記第２のアプリケーションに印刷対象の文書データを送信して印刷出力を実行させる手段と
してコンピュータを機能させるための第１のアプリケーションプログラム。
【請求項１０】
前記取得手段により取得する前記プリンタドライバに関する情報は、前記プリンタドライバのバージョンを含み、
前記決定手段は、前記取得手段により取得した前記プリンタドライバのバージョンに基づいて、当該プリンタドライバの印刷設定データの形式に対応した前記第１の実行環境または前記第２の実行環境を、印刷設定および印刷処理を実行する実行環境として決定することを特徴とする請求項９に記載の第１のアプリケーションプログラム。
【請求項１１】
前記第２のアプリケーションによる印刷出力実行の通知に応じて、ユーザインターフェースを表示する手段としてさらに機能することを特徴とする請求項９または１０に記載の第１のアプリケーションプログラム。
【請求項１２】
前記第２のアプリケーションから、前記プリンタドライバから前記第２のアプリケーションに通知されたイベントの通知を受信することを特徴とする請求項９乃至１１のいずれか一項に記載の第１のアプリケーションプログラム。
【請求項１３】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う情報処理装置としてコンピュータを機能させるための、第１の実行環境で動作する第１のアプリケーションプログラムであって、
用いるプリンタドライバに関する情報を取得する取得手段と、
取得した前記プリンタドライバに関する情報をもとに、印刷設定および印刷処理を前記第１の実行環境で実行するか、第２の実行環境で実行するか決定する決定手段と、
前記第２の実行環境で実行すると決定した場合には、前記第２の実行環境上で動作する第２のアプリケーションにより前記プリンタドライバの印刷機能の情報を取得させて該印刷機能の情報に基づいて印刷設定を行うためのユーザインターフェースを表示する表示手段と、
前記第２のアプリケーションに印刷対象の文書データと印刷設定とを送信して、当該印刷設定に応じた印刷出力を実行させる手段と
してコンピュータを機能させるための第１のアプリケーションプログラム。
【請求項１４】
前記取得手段により取得する前記プリンタドライバに関する情報は、前記プリンタドライバのバージョンを含み、
前記決定手段は、前記取得手段により取得した前記プリンタドライバのバージョンに基づいて、当該プリンタドライバの印刷設定データの形式に対応した前記第１の実行環境または前記第２の実行環境を、印刷設定および印刷処理を実行する実行環境として決定することを特徴とする請求項１３に記載の第１のアプリケーションプログラム。
【請求項１５】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う情報処理装置としてコンピュータを機能させるための、第１の実行環境で動作する第１のアプリケーションプログラムであって、
用いるプリンタドライバのバージョンを第２の実行環境で動作する第２のアプリケーションにより取得させて、該バージョンに基づいて優先する印刷設定データの形式を決定する決定手段と、
前記決定手段により判定された形式で前記プリンタドライバの印刷機能に関する情報を前記第２のアプリケーションによりプリンタから取得させる取得手段と、
前記取得手段により取得した前記印刷機能に関する情報に基づいて、印刷設定を行うためのユーザインターフェースを表示する表示手段と、
前記優先する印刷設定データが前記第２の実行環境に対応した形式であれば、前記第２のアプリケーションに印刷対象の文書データと印刷設定とを送信して当該印刷設定に応じた印刷出力を実行させ、前記優先する印刷設定データが前記第１の実行環境に対応した形式であれば、前記第２のアプリケーションに印刷対象の文書データを送信して印刷出力を実行させる手段と
してコンピュータを機能させるための第１のアプリケーションプログラム。
【請求項１６】
前記取得手段は、前記印刷機能の情報を前記第１及び第２の実行環境それぞれに対応した形式で取得し、該情報に含まれた機能の数が多いほうの形式を、優先する印刷データの形式であると決定することを特徴とする請求項１５に記載の第１のアプリケーションプログラム。
【請求項１７】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理方法であって、
前記第１のアプリケーションの取得手段が、用いるプリンタドライバに関する情報を取得する取得工程と、
前記第１のアプリケーションの決定手段が、取得した前記プリンタドライバに関する情報をもとに、印刷設定および印刷処理を前記第１の実行環境で実行するか、第２の実行環境で実行するか決定する決定工程と、
前記第１のアプリケーションの表示手段が、前記第２の実行環境で実行すると決定した場合には、前記第２の実行環境上で動作する第２のアプリケーションにより前記プリンタドライバにおいて印刷設定を行うためのユーザインターフェースを表示させる表示工程と、
前記第１のアプリケーションの実行手段が、前記第２のアプリケーションに印刷対象の文書データを送信して印刷出力を実行させる工程と
を有することを特徴とする情報処理方法。
【請求項１８】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理方法であって、
前記第１のアプリケーションの取得手段が、用いるプリンタドライバに関する情報を取得する取得工程と、
前記第１のアプリケーションの決定手段が、取得した前記プリンタドライバに関する情報をもとに、印刷設定および印刷処理を前記第１の実行環境で実行するか、第２の実行環境で実行するか決定する決定工程と、
前記第１のアプリケーションの表示手段が、前記第２の実行環境で実行すると決定した場合には、前記第２の実行環境上で動作する第２のアプリケーションにより前記プリンタドライバの印刷機能の情報を取得させて該印刷機能の情報に基づいて印刷設定を行うためのユーザインターフェースを表示する表示工程と、
前記第１のアプリケーションの実行手段が、前記第２のアプリケーションに印刷対象の文書データと印刷設定とを送信して、当該印刷設定に応じた印刷出力を実行させる工程と
を有することを特徴とする情報処理方法。
【請求項１９】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理方法であって、
前記第１のアプリケーションの決定手段が、用いるプリンタドライバのバージョンを第２の実行環境で動作する第２のアプリケーションにより取得させて、該バージョンに基づいて優先する印刷設定データの形式を決定する決定工程と、
前記第１のアプリケーションの取得手段が、前記決定工程により判定された形式で前記プリンタドライバの印刷機能に関する情報を前記第２のアプリケーションによりプリンタから取得させる取得工程と、
前記第１のアプリケーションの表示手段が、前記取得工程により取得した前記印刷機能に関する情報に基づいて、印刷設定を行うためのユーザインターフェースを表示する表示工程と、
前記第１のアプリケーションの実行手段が、前記優先する印刷設定データが第２の実行環境に対応した形式であれば、前記第２のアプリケーションに印刷対象の文書データと印刷設定とを送信して当該印刷設定に応じた印刷出力を実行させ、前記優先する印刷設定データが前記第１の実行環境に対応した形式であれば、前記第２のアプリケーションに印刷対象の文書データを送信して印刷出力を実行させる工程と
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば複数の印刷装置による印刷出力を制御する情報処理装置、情報処理方法とプログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションから電子ドキュメントの印刷を行う際にプリンタドライバが提供するユーザーインタフェース（UI）を表示して詳細な印刷設定を行っていた。また近年、タッチパネルしか持たない携帯電話やタブレットなどのデバイス向けに操作性の高い新しいUIを提供するオペレーティングシステムが開発されている。
【０００３】
このような新たなＯＳ（新ＯＳと呼ぶ）の採用に伴い、新ＯＳに対応したアプリケーションから、新ＯＳに対応したプリンタドライバを呼び出す呼び出し方法も新たな方法となる。なおここで「対応」と呼ぶのは、当該新ＯＳの下で実行するために作成され、それ以前の旧ＯＳ下では実行できないことをいい、「ネイティブ」などと称することもある。しかしたとえばマイクロソフト（登録商標）社が提供するＷｉｎｄｏｗｓ（登録商標）ＯＳなど、普及したオペレーティングシステムでは、ソフトウエア資産の継承のため、バージョンアップされた新ＯＳは通常、過去の資産との互換性、たとえば従来のＯＳ（これを旧ＯＳと呼ぶことにする。）対応のドライバなどとの互換性を維持するための仕組みを持っている。そのため、新ＯＳでは、アプリケーションから従来の呼び出し方法に適した旧ＯＳ対応のプリンタドライバを利用することが可能であり、また、そのような旧ＯＳ対応のプリンタドライバを利用せざるを得ないプリンタもあり得る。これはプリンタ以外のデバイスについても同様である。さらに、旧ＯＳ対応のプリンタドライバと、アプリケーションから新たな呼び出し方法に適した新ＯＳ対応のプリンタドライバという、属性の異なる複数種類のプリンタドライバがひとつのデバイスについて存在することもあり得る。なお、ここでは、旧ＯＳ対応のソフトウエアが新ＯＳ下で実行できることを互換であると呼ぶことにする。
【０００４】
呼び出し方法の変更と併せて、印刷設定のデータ構造も変更されることがある。たとえば、マイクロソフト（登録商標）社のＷｉｎｄｏｗｓ（登録商標）においては、従来、Ｗｉｎ３２と呼ばれるアプリケーションインターフェース（ＡＰＩ）を介してアプリケーションからオペレーティングシステム（ドライバを含む）を呼び出しており、Devmodeとよばれるバイナリデータを印刷設定用のデータとして使用していた。ところが、Ｗｉｎｄｏｗｓ８と呼ばれる新たなＯＳでは、ＷｉｎＲＴと呼ばれるアプリケーションインターフェース（ＡＰＩ）を介してアプリケーションからオペレーティングシステム（ドライバを含む）を呼び出しており、PrintTicketと呼ばれるXMLデータが印刷設定用のデータとして追加されている。とはいえ、上述のように、従来のＷｉｎｄｏｗｓＯＳとの互換性を維持するために、Ｗｉｎｄｏｗｓ８においても、Ｗｉｎ３２ＡＰＩは提供されており、Ｗｉｎ３２対応のアプリケーションを実行でき、それによりDevmodeを用いる従来のＯＳ対応のドライバも実行可能である。また、ＷｉｎＲＴ  ＡＰＩを介してＷｉｎ３２対応のDevmodeを用いるドライバを利用することもできる。そのため、１つのデバイスについて２種類のドライバ、すなわち２種類の印刷設定用のデータ形式（たとえばDevmodeとPrintTicket）に適したドライバが混在することがある。なおＷｉｎｄｏｗｓの例では、Ｗｉｎ３２対応のアプリケーションをデスクトップアプリと呼び、ＷｉｎＲＴ対応のアプリケーションをメトロアプリと呼ぶ。また、Ｗｉｎ３２対応であって例えばDevmodeを用いるプリンタドライバをＶ３ドライバと呼び、ＷｉｎＲＴ対応であってPrintTicketを用いるプリンタドライバをＶ４ドライバと呼ぶことにする。
【０００５】
上述のようにＷｉｎｄｏｗｓ８においては、Ｖ３ドライバは、メトロアプリからもデスクトップアプリからも呼び出すことができる。このため、一つのプリンタデバイスに対してＶ３ドライバとＶ４ドライバの両方が提供されている場合、メトロアプリはどちらでも利用でき、いずれかひとつのドライバを選択してそれを利用することになる。
【０００６】
このようなＷｉｎｄｏｗｓ８の場合に限らず、ひとつのデバイスを複数の経路から利用可能な場合にいずれかを選択する技術のひとつとして、属性として異なる印刷データコマンドを複数保持する画像処理装置に対してユーザの画質優先や速度優先などの印刷要求に応じて適した印刷データコマンドを自動選択する技術が特許文献１で開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平7-261958号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、あるプリントデバイスのために提供された旧ＯＳ対応のプリンタドライバを用いる場合、それを旧ＯＳ対応のアプリケーションから呼び出した場合（これをネイティブモードと呼ぶことにする。）と、新ＯＳ対応のアプリケーションから呼び出した場合（これを互換モードと呼ぶことにする。）とで、同一の機能を利用できるとは限らない。ＷＩｎｄｏｗｓ８の例でいえば、ひとつのＶ３プリンタドライバを、デスクトップアプリからネイティブモードで呼び出す場合とメトロアプリから互換モードで呼び出す場合とでは、利用可能な機能が相違することがあり得る。これは、メトロアプリとＶ３プリンタドライバとの互換性は、オペレーティングシステムがDevmodeにおける印刷設定の定義を知っていることで維持されており、プリンタドライバが独自に定義した印刷設定はオペレーティングシステムでは知りえず、またプリンタドライバが独自にアクセスしてオペレーティングシステムに引き渡すこともできないためである。このため、プリンタドライバが独自に定義した印刷設定は、Ｗｉｎｄｏｗｓ８ではＵＩ（これをメトロスタイルＵＩと呼ぶ）に表示できず、もちろん設定もできないため利用できない。これに対して、同じプリンタドライバをデスクトップアプリからＷｉｎ３２経由で用いると、拡張機能についても設定でき、利用できる。
【０００９】
このように、たとえば従来の呼び出し方法に適した旧ＯＳ対応のドライバを、新たな呼び出し方法に適した新ＯＳ対応のアプリケーションから新たな呼び出し方法で利用する場合、ドライバが独自にサポートしている拡張機能を利用することができないことがあった。このため、特許文献１に記載された発明を用いて、新ＯＳから旧ＯＳ対応のドライバを優先的に利用することができるし、また旧ＯＳ対応のドライバしかなければそれを利用することもできるが、そのドライバが旧ＯＳの下で実行された場合に提供する機能すべてを新ＯＳの下で利用できるとは限らなかった。
【００１０】
本発明は上記従来例に鑑みてなされたもので、旧ＯＳ対応のドライバを、新ＯＳ対応のアプリケーションから利用する場合にも、当該ドライバが独自にサポートしている拡張機能を利用することを可能ならしめる情報処理装置、情報処理方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は以下の構成を有する。
【００１２】
アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理装置であって、前記第１のアプリケーションは、
用いるプリンタドライバに関する情報を取得する取得手段と、
取得した前記プリンタドライバに関する情報をもとに、印刷設定および印刷処理を前記第１の実行環境で実行するか、第２の実行環境で実行するか決定する決定手段と、
前記第２の実行環境で実行すると決定した場合には、前記第２の実行環境上で動作する第２のアプリケーションにより前記プリンタドライバにおいて印刷設定を行うためのユーザインターフェースを表示させる表示手段と、
前記第２のアプリケーションに印刷対象の文書データを送信して印刷出力を実行させる手段とを有する。
【００１３】
また他の側面によれば、アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理装置であって、前記第１のアプリケーションは、
用いるプリンタドライバに関する情報を取得する取得手段と、
取得した前記プリンタドライバに関する情報をもとに、印刷設定および印刷処理を前記第１の実行環境で実行するか、第２の実行環境で実行するか決定する決定手段と、
前記第２の実行環境で実行すると決定した場合には、前記第２の実行環境上で動作する第２のアプリケーションにより前記プリンタドライバの印刷機能の情報を取得させて該印刷機能の情報に基づいて印刷設定を行うためのユーザインターフェースを表示する表示手段と、
前記第２のアプリケーションに印刷対象の文書データと印刷設定とを送信して、当該印刷設定に応じた印刷出力を実行させる手段とを有する。
【００１４】
また他の側面によれば、アプリケーションプログラムのための複数の異なる実行環境を提供するオペレーティングシステムにより管理され、前記実行環境ごとに対応した印刷設定データの形式があらかじめ定められたプリンタドライバを用いて印刷を行う、第１の実行環境で動作する第１のアプリケーションを実行する情報処理装置であって、
用いるプリンタドライバのバージョンを第２の実行環境で動作する第２のアプリケーションにより取得させて、該バージョンに基づいて優先する印刷設定データの形式を決定する決定手段と、
前記決定手段により判定された形式で前記プリンタドライバの印刷機能に関する情報を前記第２のアプリケーションによりプリンタから取得させる取得手段と、
前記取得手段により取得した前記印刷機能に関する情報に基づいて、印刷設定を行うためのユーザインターフェースを表示する表示手段と、
前記優先する印刷設定データが前記第２の実行環境に対応した形式であれば、前記第２のアプリケーションに印刷対象の文書データと印刷設定とを送信して当該印刷設定に応じた印刷出力を実行させ、前記優先する印刷設定データが前記第１の実行環境に対応した形式であれば、前記第２のアプリケーションに印刷対象の文書データを送信して印刷出力を実行させる手段とを有する。
【発明の効果】
【００１５】
本発明によれば、あるＯＳの下で印刷設定および出力を行う際に、プリンタドライバを互換モードで実行していても、それをネイティブモードで実行した場合とほぼ同様の機能を提供することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】ホストコンピュータとプリンタのハードウェア構成例を示す図である。
【図２】印刷出力システムのソフトウェアの構成例を示す図である。
【図３】第１の環境用のアプリケーションのソフトウェアの構成例を示す図である。
【図４】第１の環境用のアプリケーションのソフトウェアの構成例を示す図である。
【図５】第１の環境用のアプリケーションのユーザインターフェースの例を示した図である。
【図６】実施例１の印刷設定および出力時の処理手順を示したフローチャートである。
【図７】印刷実行後のステータス通知時の処理を示したフローチャートである。
【図８】第１の環境用のアプリケーションの印刷設定用のユーザインターフェースの例を示した図である。
【図９】第２の環境用のアプリケーションの印刷設定用のユーザインターフェースの例を示した図である。
【図１０】実施例２の印刷設定および出力時の処理手順を示したフローチャートである。
【図１１】第１の環境用のアプリケーションの印刷設定用のユーザインターフェースの例を示した図である。
【図１２】実施例３の印刷設定および出力時の処理手順を示したフローチャートである。
【発明を実施するための形態】
【００１７】
（実施例１）
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものではなく、また本実施形態で説明されている特徴を組み合わせたものすべてが本発明の解決手段に必須のものとは限らない。
【００１８】
［ハードウェア構成］
図１は、本実施例の印刷制御システムのハードウェア構成例を示すブロック図である。ホストコンピュータ１はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３、システムバス１４、キーボードコントローラ１５を備える。また、ホストコンピュータ１はさらに、ディスプレイコントローラ１６、ディスクコントローラ１７、プリンタコントローラ１８、キーボード１９、ディスプレイ２０、外部メモリ２１を備える。ＣＰＵ１１は、ＲＯＭ１３に含まれるプログラム用ＲＯＭ又は外部メモリ２１に記憶された文書処理プログラム等に基づいて、文書処理と、該文書処理に基づく印刷処理の実行を制御する。また、ＣＰＵ１１はオペレーティングシステムを実行し、デバイスごとに与えられているデバイスドライバを実行する。ここで、文書処理とは、例えば、図形、イメージ、文字、表（表計算等を含む）等が混在した文書の処理を示す。ＣＰＵ１１は、システムバス１４に接続されている各デバイスを制御する。ＲＡＭ１２は、ＣＰＵ１１の主メモリ、ワークエリア等として機能する。オペレーティングシステムとしてはたとえばＷｉｎｄｏｗｓ８などが含まれ、ドライバとしてはプリンタドライバがある。
【００１９】
ＲＯＭ１３は、プログラム用ＲＯＭ、フォント用ＲＯＭ、及びデータ用ＲＯＭを備える。ＲＯＭ１３内のプログラム用ＲＯＭ、又は、外部メモリ２１には、ＣＰＵ１１の制御プログラムであるオペレーティングシステム（ＯＳ）プログラム等が記憶されている。また、ＲＯＭ１３内のフォント用ＲＯＭ、又は、外部メモリ２１には、文書処理に用いられる文書ファイルやフォントデータ等が記憶されている。更に、ＲＯＭ１３内のデータ用ＲＯＭ、又は、外部メモリ２１には、文書処理等を行う際に用いられる各種データが記憶されている。システムバス１４には、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、キーボードコントローラ１５、ディスプレイコントローラ１６、ディスクコントローラ１７、プリンタコントローラ１８が接続されている。
【００２０】
キーボードコントローラ１５は、キーボード１９、又は図示を省略するポインティングデバイスからのキー入力を制御する。ディスプレイコントローラ１６は、ディスプレイ２０による表示を制御する。ディスクコントローラ１７は、外部メモリ２１とのアクセスを制御する。ここで、外部メモリ２１として、例えばブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、文書ファイル、プリンタ制御コマンド生成プログラム等を記憶するハードディスク、フロッピ（登録商標）ディスクが用いられる。プリンタコントローラ１８は、ネットワーク７を介して、プリンタ３に接続されており、プリンタ３との通信制御処理を実行する。なお、ＣＰＵ１１は、ディスプレイ１０上の図示を省略するマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウなどのユーザインターフェースを表示し、種々のデータ処理を実行する。ユーザは、アプリケーションを起動してユーザインターフェースを表示し、印刷の設定に関するウィンドウを開き、プリンタの設定をして、印刷の実行をすることが可能である。
【００２１】
画像処理装置（あるいは画像形成装置）としてのプリンタ３は、ＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、システムバス３４、入出力部３５、印刷部インターフェース３６、メモリコントローラ３７、印刷部３８、操作部３９、外部メモリ４０を備える。ＣＰＵ３１は、プリンタ３全体を制御する。ＣＰＵ３１は、ＲＯＭ３３又は外部メモリ４０に記憶された制御プログラム等に基づいて、印刷部インターフェース３６を介して、印刷部３８に印刷出力情報としての画像信号を入力する。以下、印刷部３８をプリンタエンジンとも記述する。
【００２２】
ＲＡＭ３２は、ＣＰＵ３２の主メモリや、ワークエリア等として機能する。また、図示を省略する増設ポートに接続されるオプションＲＡＭにより、メモリ容量を拡張することができる。なお、ＲＡＭ３２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等に用いられる。ＲＯＭ３３は、フォント用ＲＯＭ、プログラム用ＲＯＭ、データ用ＲＯＭを備える。ＲＯＭ３３のフォント用ＲＯＭには、印刷出力情報を生成する際に用いられるフォントデータ等が記憶されている。ＲＯＭ３３のプログラム用ＲＯＭには、ＣＰＵ３１の制御プログラム等が記憶されている。また、ハードディスク等の外部メモリ４４がないプリンタの場合には、ＲＯＭ３３のデータ用ＲＯＭには、プリンタ３の動作処理で用いられる種々の情報等が記憶されている。
【００２３】
システムバス３４には、ＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、入出力部３５、印刷部インターフェース３６、メモリコントローラ３７、操作部３９が接続されている。
【００２４】
入出力部３５は、ネットワークカード等である。ＣＰＵ３１は、入出力部３５及びネットワーク７を介して、プリンタ３とホストコンピュータ１との間におけるデータの送受信を行う。これによって、プリンタ３内の情報等が、ホストコンピュータ１に通知される。印刷部インターフェース３６は、ＣＰＵ３１と印刷部３８との間のインターフェースである。メモリコントローラ３７は、外部メモリ４０へのアクセスを制御する。印刷部３８は、ＣＰＵ３１から印刷部インターフェース３６を介して入力された画像信号に基づいて画像を形成し、用紙に対して定着器を用いて定着させ、出力画像とする。
【００２５】
操作部３９は、ユーザの操作に応じた処理を行なう。操作部３９は、例えば、操作パネルであって、ユーザによる操作のためのスイッチ、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）表示器等を備える。また、本実施例において、プリンタ３が、図示を省略するＮＶＲＡＭを備え、ＮＶＲＡＭが操作部２２から入力されたプリンタモード設定情報を記憶するようにしてもよい。外部メモリ４０は、ハードディスクやＩＣカード等である。外部メモリ４０は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【００２６】
［ソフトウェア構成］
図２は、本実施形態のプロセスが実行されるソフトウェア実行環境である、ＯＳの構成の一例である。以下ではＯＳがウインドウズ８である場合に、各構成要素に対応する名称をかっこ書きで示す。さて、オペレーティングシステムには基礎となるＯＳのカーネル層２０１が存在し、その上に第１の実行環境となるアプリケーション実行環境の実行基本ソフトウェア２０２（以下、第１環境用実行基本ソフトウェアと呼ぶ。）と、第２の実行環境となるアプリケーション実行環境の実行基本ソフトウェア２０３（以下、第２環境用実行基本ソフトウェアと呼ぶ。）が並列に存在している。第１の環境は主に携帯電話などのモバイル機器やタブレットなどのタッチパネルを想定している。第１および第２環境用実行基本ソフトウェアは、たとえばウインドウズ８ＯＳでいえばそれぞれＷｉｎＲＴおよびＷｉｎ３２に相当する。そのため、第１環境用実行基本ソフトウェア２０２は、タッチパネル上で動作するアプリケーションに必要な基本的な機能（たとえば、タッチパネルに表示するためのユーザインターフェースを表示する）を持つ。さらに、第１環境用実行基本ソフトウェア２０２は、第１環境用アプリケーション（第１のアプリケーションあるいは第１のアプリケーションプログラムとも呼ぶ）に対してオペレーティングシステムとのインターフェースであるＡＰＩを提供している。ウインドウズ８ＯＳにおいては、第１環境用アプリケーションはメトロアプリに、ＯＳが提供するアプリケーションとのインターフェースはＷｉｎＲＴ  ＡＰＩに相当する。このＡＰＩは、プリンタドライバやアプリケーションなど、ＯＳに登録されたソフトウェアをタッチパネル環境で動作させるうえで必要な基本的な情報の取得やユーザインターフェースの表示などを行うためのインターフェースである。
【００２７】
一方第２の環境では、従来のコンピュータの画面を想定している。そのため、第２環境用実行基本ソフトウェア２０３は、従来のコンピュータの画面上で動作するアプリケーションに必要な機能（たとえば、詳細な設定を行うためのユーザインターフェースを表示する）を持つ。さらに第２環境用実行基本ソフトウェア２０３は、第２環境用アプリケーションに対してオペレーティングシステムとのインターフェースであるＡＰＩを提供している。ウインドウズ８ＯＳにおいては、第２環境用アプリケーション（第２のアプリケーションあるいは第２のアプリケーションプログラムとも呼ぶ）はデスクトップアプリに、ＯＳが提供するアプリケーションとのインターフェースはＷｉｎ３２  ＡＰＩに相当する。このＡＰＩは、プリンタドライバやアプリケーションなど、ＯＳに登録されたソフトウェアの詳細な情報の取得やユーザインターフェースの表示などを行うためのインターフェースである。
【００２８】
それらのうえで、第１環境用アプリケーション２０４（たとえばメトロアプリ）と第２環境用アプリケーション２０５（たとえばデスクトップアプリ）がそれぞれ実行可能となっている。本実施形態で示す各アプリケーションは、第１または第２環境用実行基本ソフトウエア２０２、２０３を通してカーネル２０１とも情報のやりとりをおこないながら、第１または第２環境用アプリケーション２０４、２０５の層で実行されるアプリケーションとなっている。また、本発明に係る第１環境用アプリケーション２０４はたとえば、ＷｉｎＲＴ対応の文書処理プログラムであり、たとえば文書データを印刷する印刷機能を有する。他のアプリケーションでももちろんよい。第２環境用アプリケーション２０５は、本実施形態では、第２環境用プリンタドライバ２０７の印刷設定データを取得し、ユーザインタフェースを表示し、印刷データを設定するための特定のプログラムであり、第２環境で実行可能な一般的なアプリケーションを指しているのではない。このプログラムを本実施形態ではたとえば第２環境用ＵＩアプリケーションと呼ぶこともある。
【００２９】
プリンタドライバは、ＯＳに登録することで利用可能となり、アプリケーションは、いずれかの実行基本ソフトウェアを通してプリンタドライバと通信することが可能である。つまり、第１環境用アプリケーション２０４は、第１環境用実行基本ソフトウェア２０２を通してプリンタドライバとの通信を行い、第２環境用アプリケーション２０５は、第２環境用実行基本ソフトウェア２０３を通してプリンタドライバとの通信を行う。
【００３０】
第１環境用プリンタドライバ２０６は、第１環境用実行基本ソフトウェア２０２上で動作する第１環境用アプリケーション２０４からの呼び出しに適したプリンタドライバである。ウインドウズ８では、第１環境用プリンタドライバ２０６は、本実施形態においてＷｉｎＲＴプリンタドライバあるいはＶ４プリンタドライバと呼ぶものに相当する。第１環境用実行基本ソフトウェア２０２は、第１環境用アプリケーション２０４がプリンタドライバと通信するためのインターフェースを提供する。そして、第１環境用プリンタドライバ２０６は、前述の実行基本ソフトウェア２０２により提供されるインターフェースの少なくとも必須と定められた一部に対応する必要がある。前述の実行基本ソフトウェア２０２により提供されるインターフェースの少なくとも必須と定められた一部に対応しているプリンタドライバには、一定以上の数値のバージョン番号が付与される。また、第１環境用プリンタドライバ２０６のバージョンは、第２環境用プリンタドライバ２０７のそれよりも大きな値となる。本実施形態ではバージョンを用いてプリンタドライバが第１環境用か第２環境用かを判定しているため、第１環境用と第２環境用のプリンタドライバは異なるバージョンを持つことが前提となっている。なおウインドウズ８では、第２環境用プリンタドライバ２０７は、本実施形態においてＷｉｎ３２プリンタドライバあるいはＶ３プリンタドライバと呼ぶものに相当する。
【００３１】
そのため、第１環境用アプリケーション２０４は、第１環境用実行基本ソフトウェア２０２が提供するインターフェースを通じて第１環境用プリンタドライバ２０６の機能を利用することが可能である。たとえば、第１環境用アプリケーション２０４は、第１環境用実行基本ソフトウェア２０２を通じて第１環境用プリンタドライバ２０６の提供する詳細な印刷設定用のユーザインターフェースを表示することが可能である。
【００３２】
ただし、第１環境用実行基本ソフトウェア２０２が提供するプリンタドライバに対する機能やインターフェースは、タッチパネルでの操作に必要な基本的なものに限定されるため、取得できる情報も基本的なものとなる。たとえば、ＯＳに登録されているプリンタドライバの名称などに限定され、プリンタドライバのバージョンやプリンタドライバが保持する機能の情報などは取得できない。
【００３３】
また、第１環境用プリンタドライバ２０６は、第１環境用実行基本ソフトウェア２０２が提供するインターフェースにより定義されたXML形式の印刷設定データ（たとえばＷｉｎｄｏｗｓ（登録商標）８ではPrint Ticket）に対応している。すなわち、XML形式の印刷設定データをオペレーティングシステムとの間で交換できる。第２環境用アプリケーション２０５は第２環境用実行基本ソフトウェア２０３を通して、第１環境用プリンタドライバ２０６に関する詳細な情報を取得することが可能である。たとえば、第２環境用アプリケーション２０５は、第１環境用プリンタドライバ２０６のバージョンの取得が可能である。また、XML形式の印刷設定データは、第２環境用実行基本ソフトウェア２０３が提供するインターフェースによってもサポートされており、第２環境用アプリケーション２０５は、第１環境用プリンタドライバ２０６の保持する機能の情報をXML形式(たとえばＷｉｎｄｏｗｓ（登録商標）８では、Print Capability)で取得することが可能である。
【００３４】
しかし、第２環境用実行基本ソフトウェア２０３が提供するインターフェースにより定義されたバイナリ形式の印刷設定データ（たとえばWindows（登録商標）ではDEVMODE）については、第１環境用プリンタドライバ２０６は対応していない。そのため、第２環境用アプリケーション２０５は、バイナリ形式で（すなわちDEVMODEそのものとして）第１環境用プリンタドライバ２０６の詳細な機能の情報を取得することはできない。
【００３５】
一方、第２環境用プリンタドライバ２０７は、第２環境用実行基本ソフトウェア２０３上で動作する第２環境用アプリケーション２０５からの呼び出しに適したプリンタドライバである。第２環境用実行基本ソフトウェア２０３は、第２環境用アプリケーション２０５がプリンタドライバと通信するためのインターフェースを提供する。そして、第２環境用プリンタドライバ２０７は、第２環境用実行基本ソフトウェア２０３により提供されるインターフェースの少なくとも必須と定められた一部に対応する。しかし、第２環境用プリンタドライバ２０７は、第１環境用実行基本ソフトウェア２０２が提供するインターフェースには対応していない。
【００３６】
前述したように、バージョン番号の一般的な付与規則からして、プリンタドライバのバージョンが一定以上の数値となるためには、実行基本ソフトウェア２０２により提供されるインターフェースの、少なくとも必須と定められた一部に対応する必要がある。つまり、第２環境用プリンタドライバ２０７のバージョンは一定値未満となる。このため、第１環境用プリンタドライバ２０６のバージョンと第２環境用プリンタドライバ２０７のバージョンとは相違する。また、そのため、第１の環境用のアプリケーション２０４は、第１環境用実行基本ソフトウェア２０２が提供するインターフェースを通じて第２環境用プリンタドライバ２０７の機能のすべてを利用することができないことがある。
【００３７】
たとえば、第１環境用アプリケーション２０４は、第１環境用実行基本ソフトウェア２０２を通じて第２環境用プリンタドライバ２０７の印刷設定用のユーザインターフェースを表示することできない。第１環境用アプリケーション２０４は、第１環境用実行基本ソフトウェア２０２が提供する簡易的な（すなわち一部の設定項目についてのみ）印刷設定用のユーザインターフェースを表示する。そのため、第１環境用アプリケーション２０４は、第２環境用プリンタドライバ２０７の持つすべての機能を使用することができない。たとえば、Ｗｉｎ３２プリンタドライバが独自に提供し、オペレーティングシステムにより定義されていない機能に係る印刷設定については、ドライバがDEVMODEに直接アクセスできない限り設定できず、機能の提供もできない。このため、メトロアプリがＷｉｎＲＴ  ＡＰＩを介してＷｉｎ３２プリンタドライバを使用する場合、DEVMODE中でＯＳによって定義された印刷設定についてはＷｉｎＲＴにより表示するユーザインタフェース（このＵＩをウィンドウズ８ではメトロスタイルと呼ぶ。）により表示し、ユーザに設定させることができる。しかしＷｉｎ３２プリンタドライバが独自に定義している印刷設定に関してはＷｉｎＲＴではその内容を知りえないため、表示もしないしもちろんユーザが設定することもできない。
【００３８】
これに対して第２環境用プリンタドライバ２０７は、第２環境用実行基本ソフトウェア２０３が提供するインターフェースを通じて第１及び第２環境用プリンタドライバが可能な機能を提供することが可能である。そのため、第２環境用アプリケーション２０５は、第２環境用実行基本ソフトウェア２０３を通して、第２環境用プリンタドライバ２０７の提供する詳細な印刷設定用のユーザインターフェースを表示することが可能である（このＵＩをウィンドウズ８ではデスクトップスタイルと呼ぶ）。
【００３９】
また、第２環境用プリンタドライバ２０７は、第２環境用実行基本ソフトウェア２０３が提供するインターフェースにより定義されたバイナリ形式の印刷設定データに対応する。第２環境用アプリケーション２０５は、第２環境用実行基本ソフトウェア２０３を通して第２環境用プリンタドライバ２０７に関する詳細な情報を取得することが可能である。たとえば、第２環境用アプリケーション２０５は、第２環境用プリンタドライバ２０７のバージョンの取得が可能である。また、第２環境用プリンタドライバ２０７の保持する機能の情報をバイナリ形式として取得することが可能である。しかし、第２環境用実行基本ソフトウェア２０３が提供するインターフェースにより定義されたXML形式の印刷設定データについては、第２環境用プリンタドライバ２０７は必ずしも対応していない。そのため、第２環境用アプリケーション２０５はXML形式の印刷設定データとして、より第１環境用プリンタドライバ２０６の詳細な機能の情報を取得することは必ずしもできない。
【００４０】
各コンポーネントは、図１に示す外部メモリ２１に保存されたファイルとして存在する。これらは、実行される場合にそのモジュールを利用するモジュールによってＲＡＭ１２にロードされて実行される。ここで「カーネル」とは、階層型に設計されたOSの中核となる部分を示しており、コンピューターのハードウェアとソフトウェアコンポーネントのやりとりを管理する。特に、CPU、メモリ、入出力のハードウェア等を抽象化し、ハードウェアとソフトウェアがやり取りできるインターフェースを提供する役割を担っている。
【００４１】
なお、本実施形態では図２のように、２つの実行環境が１つのコンピューター上に存在する例を記載しているが、３つ以上の複数の実行環境がある場合でも同様に実施可能である。
【００４２】
＜第１環境用アプリケーション２０４の構成＞
図３は、第１環境用アプリケーション２０４の構成の一例を示す図である。第１環境用アプリケーション２０４は、たとえば、外部メモリ２１に存在する文書ファイルをOSのファイルシステムを通じて読みこむことが可能である。読み込まれた文書ファイルの内容を表示したり、印刷することが可能となる。なお、参照時には、文書ファイルはRAM１２にロードされる。UI管理部３０１は、第1環境用実行基本ソフトウェア２０２の提供するインターフェースを用いて、ディスプレイ２０上に図５のユーザインターフェース５０１などを表示する制御や、ユーザからの入力（たとえばユーザインターフェースを介したポインティングデバイスによる入力やキーボードの入力）の制御を行う。
【００４３】
印刷制御部３０２は、第１環境用実行基本ソフトウェア２０２の提供するインターフェースを用いて、印刷出力の制御を行う。通信部３０３は、第２の環境用のアプリケーション２０５との通信制御を行う。
【００４４】
＜第２環境用アプリケーション２０５の構成＞
図４は、本実施形態にかかる第２環境用アプリケーション２０５の構成の一例を示す図である。本実施形態にかかる第２環境用アプリケーション２０５とは、一般的なアプリケーションプログラムではなく、本発明に係る特定のプログラムを指すことに注意すべきである。第２環境用アプリケーション２０５は、第１環境用アプリケーション２０４から受け渡された文書ファイルを読むこむことが可能である。読み込まれた文書ファイルを印刷することが可能でなる。なお、参照時には、文書ファイルはRAM１２にロードされる。UI管理部４０１は、第２環境用実行基本ソフトウェア２０３により定義されたインターフェースを用いて、ディスプレイ２０上に図９のユーザインターフェース９０１や９５１などを表示する制御やユーザからの入力（たとえばキーボードの入力）の制御を行う。
【００４５】
印刷制御部４０２は、第２環境用実行基本ソフトウェア２０３により定義されたインターフェースを用いて、プリンタドライバのバージョンなどの情報や機能の情報の取得や印刷の設定、印刷出力の制御を行う。図２で前述したように、第２環境用実行基本ソフトウェア２０３には、XML形式およびバイナリ形式のいずれもプリンタドライバとの通信のためのインターフェースとして定義されているため、第１環境用プリンタドライバ２０６および第２環境用プリンタドライバ２０７のいずれの機能の情報も取得することが可能である。通信部３０３は、第１の環境用のアプリケーション２０４との通信制御を行う。
【００４６】
＜ソフトウエア構成まとめ＞
上述した本実施形態にかかる情報処理装置のソフトウエア構成における特徴をまとめると以下のとおりである。
（１）第１環境用アプリケーション２０４、第２環境用アプリケーション２０５はそれぞれ、第１環境用実行基本ソフトウエア２０２、第２環境用実行基本ソフトウエア２０３を介して、オペレーティングシステムが提供する機能を利用する。
（２）オペレーティングシステムが提供する機能には、第１環境用プリンタドライバ２０６および第２環境用プリンタドライバ２０７が提供する機能を含む。
（３）第１環境用プリンタドライバ２０６はＸＭＬ形式の印刷設定データに対応している。一方第２環境用プリンタドライバ２０７はバイナリ形式の印刷設定データに対応している。
（４）第１環境用実行基本ソフトウエア２０２は、扱う印刷設定データの形式としてＸＭＬ形式をサポートしている。一方第２環境用実行基本ソフトウエア２０３は、扱う印刷設定データの形式としてバイナリ形式およびＸＭＬ形式をサポートしている。
（５）第１環境用実行基本ソフトウエア２０２は、第２環境用プリンタドライバ２０７用のバイナリ形式の印刷設定データにもアクセス可能であるが、第２環境用プリンタドライバ２０７用に独自に拡張された項目に関しては表示も設定も行うことができない。
（６）第２環境用実行基本ソフトウエア２０３は、第１環境用プリンタドライバ２０６用のＸＭＬ形式の印刷設定データにも、第２環境用プリンタドライバ２０７用のバイナリ形式の印刷設定データにもアクセス可能である。
（７）第１及び第２環境用実行基本ソフトウエア２０２，２０３は、印刷設定データを、それぞれのユーザインタフェース形式で表示し、ユーザに設定させることができる。
【００４７】
上記まとめは一般的なオペレーティングシステムについてのものであるが、ウインドウズ８を例にとれば以下のように言い替えることができる。
（１）メトロアプリケーション（たとえば文書処理プログラム）、デスクトップアプリケーション（たとえば第２環境用ＵＩアプリケーション）はそれぞれ、ＷｉｎＲＴ、Ｗｉｎ３２を介して、ウインドウズ８オペレーティングシステムが提供する機能を利用する。
（２）オペレーティングシステムが提供する機能には、ＷｉｎＲＴプリンタドライバおよびＷｉｎ３２プリンタドライバが提供する機能を含む。
（３）ＷｉｎＲＴプリンタドライバは印刷設定データとしてPrintTicketに対応している。一方Ｗｉｎ３２プリンタドライバ２０７は印刷設定データとしてDEVMODEに対応している。
（４）ＷｉｎＲＴは、扱う印刷設定データの形式としてPrintTicketをサポートしている。一方Ｗｉｎ３２は、扱う印刷設定データの形式としてDEVMODEおよびPrintTicketをサポートしている。
（５）ＷｉｎＲＴは、Ｗｉｎ３２プリンタドライバ用のDEVMODEにアクセス可能であるが、Ｗｉｎ３２プリンタドライバ用に独自に拡張された項目に関しては表示も設定も行うことができない。
（６）Ｗｉｎ３２は、ＷｉｎＲＴプリンタドライバ用のPrintTicketにも、Ｗｉｎ３２プリンタドライバ用のDEVMODEにもアクセス可能である。
（７）ＷｉｎＲＴ及びＷｉｎ３２は、印刷設定データを、それぞれのユーザインタフェース形式であるメトロスタイルＵＩおよびデスクトップスタイルＵＩで表示し、ユーザに設定させることができる。
【００４８】
以上のとおりである。このため、第１環境用アプリケーションからは、第２環境用プリンタドライバの印刷設定すべてを扱えず、扱えない印刷設定にかかる機能を実行できない場合がある。
【００４９】
［印刷出力の処理の流れ］
図５、図６、図７、図８、図９を用いて、本実施形態における印刷出力の処理の流れを説明する。図５は、第１環境用アプリケーション２０４のユーザインタフェースの一例を示す図である。本例では第１環境用アプリケーション２０４は文書処理プログラムであり、ユーザインタフェース５０１は、メイン画面を示している。ページ５０２には、現在参照している文書ファイルの中身が表示されている。コントロール５０３は、印刷するプリンタドライバが選択可能となっている。ボタン５０４は、押下されることで印刷出力に関する処理が開始される。
【００５０】
図６は、本実施形態における第１環境用アプリケーション２０４による印刷出力の処理のフローチャートである。ユーザインタフェース５０１のボタン５０４が押下されることで本処理が開始される。ステップS６０１では、通信部３０３は、第２環境用アプリケーション６０１の起動を行う。なお、第２環境用アプリケーション２０５の起動については、OSの起動時や第１環境用アプリケーション２０４の起動時に行ってもよく、その場合は、ステップS６０１では、すでに起動しているかを判定し、起動していない場合のみ起動するようにしてもよい。
【００５１】
ステップS６０２では、通信部３０３は、現在コントロール５０３で選択されているプリンタドライバの名称を取得し、第２環境用アプリケーション２０５の通信部４０３に対して通知を行う。次に、ステップS６０３では、通信部３０３は、通信部４０３に対して、現在ユーザにより選択されているプリンタドライバに関する情報の取得を依頼する。ドライバ情報の取得依頼を受けた第２環境用アプリケーション２０５の通信部４０３は、受信したプリンタドライバの名称を参照し、印刷制御部４０２を通して該当するプリンタドライバに関する情報を取得する。情報の取得要求は、本実施形態では、第２環境用アプリケーション２０５から第２環境用実行基本ソフトウエア２０３に対して出され、名称に対応した第１環境用プリンタドライバ２０６または第２環境用プリンタドライバ２０７に関する情報が第２環境用実行基本ソフトウエア２０３から取得される。プリンタドライバに関する情報には、たとえば、プリンタドライバのバージョン情報を含む。そして、通信部４０３は取得したプリンタドライバの情報を第１環境用アプリケーション２０４の通信部３０３に通知し、受信した通信部３０３はプリンタドライバ情報を印刷制御部３０２に渡す。
【００５２】
ステップS６０４では、印刷制御部３０２は、プリンタドライバ情報を参照し、第１環境でプリンタドライバの印刷設定UIが表示可能かを判定する。可能な場合は、ステップS６０５に進み、不可能な場合は、ステップS６０８に進む。ステップＳ６０４の判定はたとえば、参照するプリンタドライバ情報からドライバのバージョン情報を取得し、バージョンが一定以上か否かを判定し、一定以上であれば表示可能と判断し、一定未満のときに表示不可能と判定する。本実施形態においては、第１環境用プリンタドライバ２０６が選択されていた場合は、バージョンが一定以上となり、第１環境プリンタドライバ２０６については印刷設定UIが第１環境で表示可能であると判断される。また、第２環境用プリンタドライバ２０７が選択されていた場合は、バージョンが一定未満となり、第２環境プリンタドライバ２０７については印刷設定UIが第１環境では表示不可能であると判断される。より具体的には、ＷｉｎＲＴプリンタドライバはメジャーバージョンがたとえば４であり、Ｗｉｎ３２プリンタドライバはメジャーバージョンがたとえば３である。したがってステップＳ６０４ではバージョンが閾値である４以上か否かで判定し、４以上ならＷｉｎＲＴ対応であり、メトロスタイルＵＩで表示でき、そうでなければ表示できないと判定する。上述したように、バージョンが４未満でも、ＯＳと互換な印刷設定についてはメトロスタイルＵＩでも表示できる。ただしドライバ固有の印刷設定に関しては表示できないため、ステップＳ６０４ではバージョンが４未満であれば表示できないものと判定している。なお、Ｓ６０４における印刷設定可能とは、第１環境で拡張機能に関する印刷設定を行えるか否かの判定とも言える。なぜなら、簡易的な印刷設定のみであれば、ＯＳが提供する印刷設定ＵＩでも設定可能だからである。
【００５３】
ステップS６０５では、UI管理部３０１は、第１環境用プリンタドライバ２０６の保持する図８の印刷設定用のユーザインターフェース８０１を表示する。ボタン８０２は、押下されると、不図示の第１環境用プリンタドライバ２０６の詳細な印刷設定が可能な印刷設定用のUIが表示される。ボタン８０３は、押下されると印刷出力の実行が開始される。ステップS６０６では、UI管理部３０１は、ユーザにより印刷出力の実行が指示された（ボタン８０３が押下された）か否かを判定する。印刷出力の実行が指示された場合には、ステップS６０７に進み、印刷出力以外の操作が実行された場合には、操作に対応した処理を行う。ステップS６０７では、印刷制御部３０２は、第１の環境用のアプリケーション２０４が読み込んでいる印刷対象の文書ファイルを用いて印刷処理を実行する。そして、第１環境用プリンタドライバ２０６は印刷用データを受取り、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ネットワーク７経由でプリンタ３へ印刷データとして出力される。
【００５４】
ステップS６０８では、通信部３０３は、通信部４０３に対して、印刷用UIの表示を依頼する。そして、印刷用UIの表示の依頼を受けた通信部４０３は、UI管理部４０１を通じて図９の第２の環境での印刷用UI９０１の表示を行う。ここで第２環境用アプリケーション２０５は、第２環境用実行基本ソフトウエアを介して第２環境用プリンタドライバ２０７により第２環境用のＵＩを表示することができる。しかも第２環境用プリンタドライバ２０７は、本実施形態ではバイナリ形式の印刷設定データにアクセスして、プリンタ固有の機能に関する項目を含めてすべての印刷設定を表示することができる。たとえば、Ｗｉｎ３２プリンタドライバは印刷設定データをDEVMODEで保持するため、DEVMODEで定義した印刷設定を、ドライバ固有の設定も含めてデスクトップスタイルのＵＩで表示できる。ボタン９０２は、押下されると、第２環境用プリンタドライバ２０７の保持する印刷設定用のUI９５１が表示される。印刷詳定用のUI９５１では、用紙サイズやページレイアウト、フィニッシングの設定などの印刷時の詳細な機能の設定が可能となっている。ボタン９０３が押下されると、印刷出力の処理が開始される。ボタン９０４が押下されると、印刷処理が中止される。
【００５５】
ステップS６０９では、UI管理部４０１は、ユーザにより印刷出力の実行が指示された（ボタン９０３が押下された）か否かを判定する。印刷出力の実行が指示された場合には、ステップS６１０に進み、印刷出力以外の操作が実行された場合には、操作に対応した処理を行う。ステップS６１０では、通信部４０３は、通信部３０３を通して第１の環境用のアプリケーション２０４が読み込んでいる印刷対象の文書ファイルの取得をする。ステップS６１１では、通信部４０３は、通信部３０３に対して、印刷出力実行が開始されたことを通知する。印刷開始の通知を受信した通信部３０３は、UI管理部３０１を通じてユーザインタフェース５０１を表示することで第１環境用アプリケーション２０４のユーザインタフェースにフォーカスを移す。すなわち第２環境用アプリケーションが第１環境用アプリケーションに対してフォーカスを移すきっかけを与える。なおフォーカスとは、たとえばウインドウズ８のデスクトップスタイルでは複数のウィンドウが表示可能であり、複数のウィンドウが表示された状態で、そのうちのひとつを操作対象とすることである。これにより第１環境用アプリケーション２０４のユーザインタフェースが操作可能となる。ここでは、さらに、印刷が開始されたことを表示してもよい。
【００５６】
ステップS６１２では、印刷制御部４０２は、ステップS６１０で取得した印刷対象の文書ファイルを用いて印刷処理を実行する。そして、第２環境用プリンタドライバ２０７は印刷用データを受取り、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ネットワーク７経由でプリンタ３へ印刷データとして出力される。なお、通信部３０４と通信部４０３の通信の方法については特に限定はなく、たとえば特定のフォルダに存在するファイルをお互いに監視することで情報の送受信を行うような方法でもよい。
【００５７】
［印刷処理イベント通知処理］
図７は、ステップS６１２により、第１環境用アプリケーション２０４が読み込んだ文書ファイルを第２環境用アプリケーション２０５を通して印刷出力を行った場合に、印刷の完了や失敗の状態変更が発生した場合の処理の流れである。印刷出力は第２環境用アプリケーション２０５から行われているため、状態変更のイベント発生の通知は第２環境用アプリケーション２０５に対して行われる。ステップS４０１では、イベント発生を通知する情報を受け取った通信部４０３は、通信部３０３に対して受け取った情報の通知を行う。ステップS４０２では、通信部３０３は、受け取った通知内容に従って、UI管理部３０１を通じて通知内容を表示する。UI管理部３０１は、第1環境用実行基本ソフトウェア２０２を用いて通知内容を表示する。本処理により、印刷の実行を行った第１の環境用のアプリケーション２０４に、印刷状況を表示することが可能となる。
【００５８】
以上の構成及び手順により、第１環境用アプリケーションから第２環境用プリンタドライバを用いて印刷を行う際に、そのことを事前に判定し、第２環境用アプリケーション（第２環境用ＵＩアプリケーション）を起動する。この第２環境用アプリケーションにより第２環境用実行基本ソフトウエアを介して第２環境用プリンタドライバの提供するＵＩを表示させることができる。このため、第２環境用プリンタドライバが固有に提供する機能も含めて印刷設定を行うことができ、当該機能を利用することができる。
【００５９】
さらに、印刷処理において生じるイベントの通知を第２環境用アプリケーションを介して第１環境用アプリケーションに引き渡すことにより、印刷処理をオペレーティングシステムに対して要求している第２環境用アプリケーションではなく、印刷処理の要求の実際上のソースである第１環境用アプリケーションにそのイベント通知が渡される。これにより、ユーザに第１環境用アプリケーションの存在を意識させることなく、第２環境用プリンタドライバを利用できる。
【００６０】
［第２実施形態］
第１実施形態では、ステップS６０４で、印刷設定が不可能な場合に、印刷設定を第２の環境用のアプリケーション２０５を通してプリンタドライバのUIを用いて行っていた。本実施形態では、印刷設定のためのUIを第１の環境用のアプリケーション２０４が表示するフローとなっている。以下では第１実施形態との差分である、ステップS１００１〜ステップS１００５の動作について説明する。そのほかは第１実施形態と共通であるので省略する。
【００６１】
ステップS１００１では、第１環境用アプリケーション２０４の通信部３０３は、第２環境用アプリケーション２０５の通信部４０３に第２の環境用プリンタドライバ２０７の機能の情報の取得を依頼する。取得依頼とともにプリンタドライバの名称も引き渡される。第２環境用プリンタドライバ２０７の機能の情報取得依頼を受けた通信部４０３は、印刷制御部４０２を通して、受信したプリンタドライバの名称を参照し、名称と関連付けられている第２環境用プリンタドライバ２０７の機能の情報（すなわち印刷機能の情報）を取得する。この際、印刷制御部４０２は、第２環境用実行基本ソフトウェア２０３の提供するインターフェースにより定義されたバイナリ形式の印刷設定用データ（たとえばDEVMODE）を用いて機能の情報の取得を行う。しかし、第２環境用プリンタドライバ２０７についての機能の情報の取得については、第２環境用実行基本ソフトウェア２０３の提供するインタフェースにより定義されているXML形式の印刷設定用データ（たとえばPrintTicket）を用いての取得が可能であれば、XML形式の印刷設定用データの取得も合わせて行ってもよい。この場合取得できた情報がより多いものを使用してもよい。なお、ここでいう機能の情報とは、印刷時に使用できる機能のことである。たとえば、選択可能な用紙の種類や、製本印刷および中綴じ（冊子の出力）印刷が可能か否かといった情報を含んでいる。そして、機能情報を受信した通信部４０３は、取得した機能の情報を通信部３０３に通知する。
【００６２】
ステップＳ１００２では、第２環境用プリンタドライバ２０７の機能の情報を取得した第１環境用アプリケーション２０４の通信部３０３は、UI管理部３０１に機能の情報を渡し、UI管理部は、機能の情報を参照して図１１の印刷設定用のUI１１０１を構築し、表示する。印刷設定用のUI１１０１では、用紙サイズやページレイアウト、フィニッシングの設定などの印刷時の詳細な機能の設定が可能となっている。ボタン１１０２が押下されると、印刷出力の処理が開始される。
【００６３】
ステップS１００３では、UI管理部３０１は、ユーザにより印刷出力の実行が指示された（ボタン１１０２が押下された）か否かを判定する。印刷出力の実行が指示された場合には、ステップS１００４に進み、印刷出力以外の操作が実行された場合には、操作に対応した処理を行う。ステップS１００４では、通信部３０３は、第１の環境用のアプリケーション２０４が読み込んでいる印刷対象の文書ファイルおよびUI１１０１を用いてユーザにより設定された印刷設定を反映した印刷設定用データを第２環境用アプリケーション２０５の通信部４０３に送信する。
【００６４】
ステップS１００５では、第２環境用アプリケーション２０５の印刷制御部４０２は、ステップS１００４で送信された印刷対象の文書ファイルおよび印刷設定用データを用いて印刷処理を実行する。そして、第２環境用実行基本ソフトウエア２０３を介して第２環境用プリンタドライバ２０６は印刷用データを受取り、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ネットワーク７経由でプリンタ３へ印刷データとして出力される。
【００６５】
ここで印刷設定用データに関してはDEVMODEに反映されていないので、第２環境用プリンタドライバがその印刷設定を印刷に反映できるよう、第１環境用アプリケーションと第２環境用アプリケーションとの間において、あらかじめ印刷設定の定義に関する合意がある。そして印刷データおよび印刷設定データを受信した第２環境用アプリケーション２０５は、たとえばDEVMODEに直接的あるいは間接的にアクセスして印刷設定を反映し、その後に印刷データをオペレーティングシステムを介して第２環境用プリンタドライバに引き渡して印刷を実行する。
【００６６】
以上の手順により、第２環境用プリンタドライバ２０７により第１環境用アプリケーション２０４にドライバの能力を提供して、それを表示して設定させ、第２環境用アプリケーション２０５が印刷データと印刷設定とを用いて第２環境用プリンタドライバ２０７により印刷実行させる。このため、第２環境用プリンタドライバが提供する機能を第１環境用アプリケーションから利用することができる。なお、第１実施形態と同じく図７の手順を第２環境用アプリケーションが実行することで、状態の変化やエラーなどのイベントを第１環境用アプリケーション２０４により表示することができる。
【００６７】
［第３実施形態］
第２実施形態においては、ステップS６０４において第１環境用プリンタドライバ２０６と判定された場合、第１環境用プリンタドライバ２０６により印刷設定用のUIを表示することが可能なため、ステップS６０５に進む。しかし、第１環境用実行基本ソフトウェア２０２の提供するインターフェースを用いて第１環境用プリンタドライバ２０６の詳細な機能の情報を取得することができないため、第１環境用プリンタドライバ２０６の機能を設定するためのUIを第１環境用アプリケーション２０４が構築し、表示することができない。そこで、ステップS６０４の判定をせずに、常にステップS１００１へ進むことで、第２環境用実行基本ソフトウェア２０３の提供するインターフェースを用いて、第１環境用プリンタドライバ２０６の機能の情報を取得することが可能となる。図１２のフローチャートを用いて実施例２との差分である、ステップS１２０１〜ステップS１２０４の動作について説明する。
【００６８】
ステップS１２０１では、通信部３０３は、通信部４０３にユーザにより選択されているプリンタドライバの名称に基づいてプリンタドライバ２０７の機能の情報の取得を依頼する。
【００６９】
ステップS１２０２では、ステップS１２０１で依頼を受けた通信部４０３は、印刷制御部４０２を通して、プリンタドライバから印刷設定用データとして取得する形式を決定する。両形式に対応するプリンタドライバもあるため、ここで決定する形式は優先する方の形式である。たとえば、プリンタドライバ情報を取得し、バージョンを参照し、バージョンが一定以上か否かを判定し、一定以上であればXML形式と判断し、一定未満のときにバイナリ形式と判定する。バージョンが一定以上か否かは、第１実施形態のステップS６０４と同じ基準で判定できる。
【００７０】
バイナリ形式と決定した場合には、ステップS１２０３に進み、XML形式と決定した場合にはステップS１２０４に進む。印刷設定データの形式は、第１環境用のプリンタドライバ２０６では、第１環境用実行基本ソフトウェア２０２の提供するインターフェースにより定義されたXML形式となる。第２環境用プリンタドライバ２０７では、第２環境用実行基本ソフトウェア２０３の提供するインターフェースにより定義されたバイナリ形式となる。ここで、第２環境用のプリンタドライバ２０７では、第２実施形態と同様、第２環境用実行基本ソフトウェア２０３の提供するインターフェースにより定義されているXML形式の印刷設定用データを用いての取得も可能であれば、両形式で取得し、取得できた情報がより多いものを使用すると決定してもよい。
【００７１】
ステップS１２０３では、印刷制御部４０２がバイナリ形式で取得したプリンタドライバの機能の情報を通信部４０３は通信部３０３に通知する。ステップS１２０４では、印刷制御部４０２がXML形式で取得したプリンタドライバの機能の情報を通信部４０３は通信部３０３に通知する。Ｓ１００２以下は第２実施形態と同様である。
【００７２】
本実施形態の構成にすることで、第２実施形態の効果に加えて、プリンタドライバによらず第１環境用アプリケーション２０５が自由に印刷設定用のUIの構築及び表示が可能となる。
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005924992.tif 000002
【図２】
0005924992.tif 000003
【図３】
0005924992.tif 000004
【図４】
0005924992.tif 000005
【図５】
0005924992.tif 000006
【図６】
0005924992.tif 000007
【図７】
0005924992.tif 000008
【図８】
0005924992.tif 000009
【図９】
0005924992.tif 000010
【図１０】
0005924992.tif 000011
【図１１】
0005924992.tif 000012
【図１２】
0005924992.tif 000013