(57)【要約】【課題】ＯＳが提供する標準プリンタドライバは、印刷装置のベンダーが提供するプリンタドライバでないため、印刷に使用する印刷装置に適合した禁則情報や禁則スクリプトを備えていない。よって、印刷に使用する印刷装置に適合した印刷データを作成できない。【解決手段】  オペレーティングシステムにおいて動作する印刷制御プログラムであって、接続されているプリンタから、当該プリンタの第１のプリンタ記述ファイルを取得し、その取得した前記第１のプリンタ記述ファイルと、前記印刷制御プログラムが有する第２のプリンタ記述ファイルとを合成する。こうして得られた第３のプリンタ記述ファイルを、前記プリンタと前記印刷制御プログラムとに関連付けて記憶する。そして、アプリケーションのからの指示に応じて、前記第３のプリンタ記述ファイルに従って前記プリンタに出力する印刷ジョブを生成する。【選択図】  図５
2020004273.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムにおいて動作する印刷制御プログラムであって、
接続されているプリンタから、当該プリンタの第１のプリンタ記述ファイルを取得する取得手段と、
前記取得手段が取得した前記第１のプリンタ記述ファイルと、前記印刷制御プログラムが有する第２のプリンタ記述ファイルとを合成する合成手段と、
前記合成手段により合成されて得られた第３のプリンタ記述ファイルを、前記プリンタと前記印刷制御プログラムとに関連付けて記憶する記憶手段と、
アプリケーションのからの指示に応じて、前記第３のプリンタ記述ファイルに従って前記プリンタに出力する印刷ジョブを生成する生成手段と、
を有することを特徴とする印刷制御プログラム。
【請求項２】
前記合成手段は、前記第１のプリンタ記述ファイルと前記第２のプリンタ記述ファイルとで重複する機能をマージし、前記第１のプリンタ記述ファイルと前記第２のプリンタ記述ファイルで固有の機能をそのまま記述することで前記第１のプリンタ記述ファイルと前記第２のプリンタ記述ファイルとを合成することを特徴とする請求項１に記載の印刷制御プログラム。
【請求項３】
前記取得手段が前記プリンタから前記第１のプリンタ記述ファイルを取得できなかった場合、前記生成手段は、前記記憶手段が前記第３のプリンタ記述ファイルを記憶していれば当該第３のプリンタ記述ファイルを使用し、前記記憶手段が前記第３のプリンタ記述ファイルを記憶していないときは前記第２のプリンタ記述ファイルを使用して前記プリンタに出力する印刷ジョブを生成することを特徴とする請求項１又は２に記載の印刷制御プログラム。
【請求項４】
前記第１のプリンタ記述ファイルは、前記プリンタが有する機能と、当該機能の組み合わせの禁則条件を示す情報を含むことを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御プログラム。
【請求項５】
前記記憶手段に記憶された前記第３のプリンタ記述ファイルに従って、印刷設定のユーザインタフェースを表示部に表示させる手段を、更に有することを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御プログラム。
【請求項６】
前記記憶手段は、前記オペレーティングシステムにおいてプリントキューが作成されることに応じて、当該プリントキューに紐づく前記第３のプリンタ記述ファイルを記憶することを特徴とする請求項１乃至５のいずれか１項に記載の印刷制御プログラム。
【請求項７】
オペレーティングシステム上で実行するアプリケーションプログラムを有する情報処理装置であって、
プリンタと接続するインタフェースと、
ユーザの操作を受け付けるユーザインタフェースと、
請求項１乃至６のいずれか１項に記載の印刷制御プログラムと、
を有することを特徴とする情報処理装置。
【請求項８】
オペレーティングシステムにおいて動作する印刷制御プログラムのプリンタ記述ファイルの更新方法であって、
接続されているプリンタから、当該プリンタの第１のプリンタ記述ファイルを取得する取得工程と、
前記取得工程で取得した前記第１のプリンタ記述ファイルと、前記印刷制御プログラムが有する第２のプリンタ記述ファイルとを合成する合成工程と、
前記合成工程により合成されて得られた第３のプリンタ記述ファイルを、前記プリンタと前記印刷制御プログラムとに関連付けて記憶する記憶工程と、
を有することを特徴とする更新方法。
【請求項９】
請求項１乃至６のいずれか１項に記載の印刷制御プログラムを記憶した、コンピュータにより読み取り可能な記憶媒体。
【請求項１０】
コンピュータに、請求項８に記載の更新方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御プログラムと、印刷制御プログラムのプリンタ記述ファイルの更新方法、情報処理装置、および記憶媒体に関する。
【背景技術】
【０００２】
ホストコンピュータ（ＰＣ）から印刷装置に印刷データ送信して印刷させる際、そのＰＣにインストールされたプリンタドライバを利用して印刷ジョブを生成し、その生成した印刷ジョブを印刷装置に送信して印刷を行う構成が一般的である。このようなＰＣには、基本ソフトウェアであるオペレーティングシステム（以下、ＯＳ）がインストールされており、プリンタドライバはそのＯＳが規定する仕様に従って構成される。一方、印刷装置を提供するベンダーは、その印刷装置に対応し、ＰＣにインストールされているＯＳの仕様に適合するプリンタドライバを提供することにより、そのＰＣから、その印刷装置に対して印刷ジョブを送信して印刷させることができる。このベンダーが提供するプリンタドライバは、その印刷装置の能力に適合しており、その印刷装置に適した禁則情報（印刷設定定義や禁則条件式）や禁則スクリプトを有している。従って、ＰＣのユーザは、そのＰＣからその印刷装置を使用して印刷を行うことにより、そのユーザの意図を反映した印刷物を取得することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２０９３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方、プリンタドライバには、印刷装置のベンダーが提供するプリンタドライバとは別に、ＯＳが提供する基本的な印刷機能のみ対応した標準プリンタドライバが存在する。このようなＯＳが提供する標準プリンタドライバは、印刷装置のベンダーが提供するプリンタドライバでないため、印刷に使用する印刷装置に適合した禁則情報や禁則スクリプトを備えていない。そのため、そのようなプリンタドライバを使用して印刷装置に印刷を実行させると、その印刷装置の機能に適合した印刷を実行できない可能性があるという課題がある。
【０００５】
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
【０００６】
本発明の目的は、ＯＳが提供するプリンタドライバを使用した場合でも、印刷に使用する印刷装置の機能に応じた印刷を実行できる技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の一態様に係る印刷制御プログラムは以下のような構成を備える。即ち、
オペレーティングシステムにおいて動作する印刷制御プログラムであって、
接続されているプリンタから、当該プリンタの第１のプリンタ記述ファイルを取得する取得手段と、
前記取得手段が取得した前記第１のプリンタ記述ファイルと、前記印刷制御プログラムが有する第２のプリンタ記述ファイルとを合成する合成手段と、
前記合成手段により合成されて得られた第３のプリンタ記述ファイルを、前記プリンタと前記印刷制御プログラムとに関連付けて記憶する記憶手段と、
アプリケーションのからの指示に応じて、前記第３のプリンタ記述ファイルに従って前記プリンタに出力する印刷ジョブを生成する生成手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＯＳが提供するプリンタドライバを使用した場合でも、印刷に使用する印刷装置の機能に応じた印刷を実行できるという効果がある。
【０００９】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１０】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】実施形態に係る印刷システムの概略構成を示す図。
【図２】実施形態に係るホストコンピュータとプリンタのハードウェア構成を説明するブロック図。
【図３】実施形態に係るホストコンピュータのソフトウェアの構成を説明するブロック図。
【図４】実施形態に係る印刷システムの印刷環境の一例を説明する図。
【図５】実施形態に係るホストコンピュータの標準プリンタドライバがプリンタからデバイス機能テキストファイルを取得し、自身のデバイス機能テキストファイルを更新する処理を説明するフローチャート。
【図６】実施形態に係るプリンタのデバイス機能テキストファイルの一例を示す図。
【図７】実施形態に係るホストコンピュータの標準プリンタドライバがデフォルト状態で有しているデバイス機能テキストファイルの一例を示す図。
【図８】図６と図７で示されたデバイス機能テキストファイルを合成した例を示す図。
【図９】実施形態に係るホストコンピュータで表示される、コンフィグレーションモジュールがデバイス機能テキストファイルを読み込むことで生成される印刷設定ＵＩの一例を示す図。
【図１０】実施形態に係るプリンティングシステムで保存される、デバイス機能テキストファイルとプリンタとを関連付ける情報の一例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
図１は、実施形態に係る印刷システムの概略構成を示す図である。
【００１３】
実施形態に係る印刷システムは、ホストコンピュータ１０１、サーバ１０４及びプリンタ（印刷装置）１０２を備える。ホストコンピュータ１０１は、情報処理装置の一例である。サーバ１０４は、ホストコンピュータ１０１に対してデータを配信する。プリンタ１０２は、ページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ、以下ＰＤＬ）形式の印刷データを受信すると、その印刷データに従って印刷を行う。これら装置は、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）を含むネットワーク１０３を通じて相互に通信可能である。尚、プリンタ１０２は、印刷機能のみを備える単一機能のプリンタであってもよく、例えば、印刷機能、スキャン機能、複写機能等を備える複合機であってもよい。また、ホストコンピュータ１０１は、ネットワーク１０３に複数台接続されていてもよい。
【００１４】
図２は、実施形態に係るホストコンピュータ１０１とプリンタ１０２のハードウェア構成を説明するブロック図である。
【００１５】
ホストコンピュータ１０１において、中央演算処理装置（ＣＰＵ）２０１は、ランダムアクセスメモリ（ＲＡＭ）２０２に展開されたプログラムに従って、システムバスに接続される各デバイスを制御する。尚、ここでホストコンピュータ１０１は、少なくとも１つのＣＰＵ２０１を備えるものとする。加えて、ＣＰＵ２０１が外部メモリ２０９に記憶されているプログラムをＲＡＭ２０２に展開して実行することによって、ホストコンピュータ１０１のソフトウェア構成（図３）及び後述するフローチャートの各ステップの処理が実現される。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。リードオンリーメモリ（ＲＯＭ）２０３は、ブートプログラムや基本入出力システム（ＢＩＯＳ）等の各種プログラムを記憶している。
【００１６】
操作部インタフェース（Ｉ／Ｆ）２０４は、キーボードやポインティングデバイスなどのタッチＵＩ（ユーザインタフェース）などの操作部２０５を制御するインタフェースである。操作部２０５は、ユーザからの操作を受け付ける受付部として機能する。表示部Ｉ／Ｆ２０６は、表示部２０７への表示を制御する。表示部２０７は、ユーザに対して情報を表示する表示部として機能する。外部メモリＩ／Ｆ２０８は、例えばハードディスク（ＨＤ）、ソリッドステートディスク（ＳＳＤ）等の外部メモリ２０９との間のアクセスを制御する。外部メモリ２０９は、オペレーティングシステム（ＯＳ）２１０をはじめ、アプリケーション実行環境２１３、タッチパネル、デスクトップそれぞれに対応した各種アプリケーション２１２や各種ファイル等を記憶している。外部メモリ２０９は、ホストコンピュータ１０１が読み取り可能な記憶媒体として機能する。ネットワークＩ／Ｆ２１４は、ネットワーク１０３を介してプリンタ１０２に接続され通信制御処理を行う。尚、サーバ１０４もホストコンピュータ１０１のハードウェア構成と同じ構成を内包しており、同様に動作する。プリンタドライバ（印刷制御プログラム）２１１は、ＯＳ２１０が提供するプリンタドライバである。
【００１７】
プリンタ１０２は、ＣＰＵ２２１により制御される。ＣＰＵ２２１は、ＲＯＭ２２３のプログラム用ＲＯＭ、或いは外部メモリ２２９に記憶された制御プログラム等に基づいて動作する。ＣＰＵ２２１は、印刷部Ｉ／Ｆ２２５を介して印刷部（プリンタエンジン）２２６に出力情報としての画像信号を出力する。またＲＯＭ２２３のプログラムＲＯＭには、ＣＰＵ２２１の制御プログラム等が記憶されている。ＲＯＭ２２３のフォント用ＲＯＭには、前述した出力情報を生成する際に使用するフォントデータ等が記憶される。プリンタ１０２がハードディスク等の外部メモリ２２９を有していないプリンタの場合、ＲＯＭ２２３のデータ用ＲＯＭには、ホストコンピュータ１０１で利用される情報等が記憶される。
【００１８】
ＣＰＵ２２１は、入力部２２４を介して、ネットワーク１０３経由で、ホストコンピュータ１０１との通信処理が可能となっており、プリンタ１０２の情報等をホストコンピュータ１０１に通知できる。操作パネル２２７は、ユーザが操作するためのスイッチ及び表示器等を有する。ＲＡＭ２２２は、ＣＰＵ２２１の主メモリや、ワークエリア等として機能する。また、ＲＡＭ２２２は、前述した出力情報の展開領域や、環境データの格納領域等としても用いられる。外部メモリ２２９は、オプションとしてプリンタ１０２に接続される。外部メモリ２２９は、フォントデータ、エミュレーションプログラム、フォームデータ、言語系の異なるプリンタ制御言語を解釈するプログラム、操作パネル２２７から入力されたプリンタモードの設定情報等を記憶する。また、このプリンタ１０２が有する機能の定義と、無効な機能の組み合わせを記述したデバイス機能テキストファイル（プリンタ記述ファイル）２３０を記憶している。外部メモリ２２９へのアクセスはメモリコントローラ（ＭＣ）２２８により制御される。外部メモリ２２９は１個に限らず、複数個であってもよい。
【００１９】
図３は、実施形態に係るホストコンピュータ１０１のソフトウェアの構成を説明するブロック図である。
【００２０】
ホストコンピュータ１０１のソフトウェアは、ＯＳ２１０、アプリケーション実行環境２１３とアプリケーション２１２の３つの層で構成されている。
【００２１】
次にＯＳ２１０の個々の要素について説明する。ＯＳ２１０は、大きくプリンティングシステム３２５、プリンタドライバ２１１とに大別される。プリンティングシステム３２５は以下の要素を含んでいる。プリントキュー３０３は、ネットワーク１０３に存在するプリンタを使用して印刷を行う際に、印刷ジョブを一時的に保存する領域である。実施形態では、プリンタ１０２のプリントキュー３０３が作成されているものとする。プリントキュー３０３が作成されると、プリンタドライバ２１１のデバイス機能テキストファイル３０７に記述されている一部の機能に基づいて、プリントキュー３０３に紐づく記憶領域３０２が生成される。この記憶領域３０２は、プリントキューごとに個別の設定や機能を記憶する。このように記憶領域３０２に特定の記述を記憶することにより、プリンタドライバ２１１のデバイス機能テキストファイル３０７の機能定義部に対して、ジョブ毎に切り替える印刷設定機能ではなく、プリントキュー毎に制御可能な機能を提供することができる。
【００２２】
スプーラ３０１は、アプリケーション２１２から受け取った印刷対象データであるＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）ファイルを一時的に保存及び管理するモジュールである。スプーラ３０１に保存されたＸＰＳファイルは、後述するフィルタパイプラインマネージャ３０５を通してＰＤＬに変換された後、スプーラ３０１を通じてプリンタ１０２へ送信される。
【００２３】
フィルタパイプラインマネージャ３０５は、ＯＳ２１０の一部として構成されている。プリンタドライバ２１１のフィルタ３０９は、後述するプリンタドライバ２１１を構成する要素の一つである。フィルタパイプラインマネージャ３０５は、プリンタドライバ２１１のフィルタコンフィグ３０８の定義に基づき、フィルタ３０９を、１或いは複数読み込み、スプーラ３０１に保存されているＸＰＳファイルをＰＤＬへ変換する。
【００２４】
コンフィグレーションモジュール３０４は、プリントチケットの生成、変更、及び不正な設定を訂正する禁則機能などを有するモジュールである。コンフィグレーションモジュール３０４のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を呼び出すことで、印刷設定情報であるプリントチケットや、デバイス能力情報であるプリントケーパビリティを取得できる。これらプリントチケットや、プリントケーパビリティは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述される。
【００２５】
プリンタドライバ２１１は、フィルタ３０９、フィルタコンフィグ３０８、スクリプトファイル３０６、デバイス機能テキストファイル３０７を有している。フィルタ３０９は、フィルタパイプラインマネージャ３０５によって呼び出されるモジュールであり、ＸＰＳファイルをＰＤＬに変換する役割を持っている。フィルタコンフィグ３０８は、フィルタパイプラインマネージャ３０５が参照する定義ファイルであり、フィルタ３０９を呼び出す順序を記述している。スクリプトファイル３０６と、デバイスの機能が記述されたデバイス機能テキストファイル３０７は、コンフィグレーションモジュール３０４の動作をカスタマイズするのに使用される。
【００２６】
次に、アプリケーション実行環境２１３が有する個々の要素について説明する。アプリケーション実行環境２１３は、タッチアプリ実行環境３２３及びデスクトップアプリ実行環境３２４を有している。タッチアプリ実行環境３２３は、アプリケーション２１２の一種であるタッチアプリ３２１を実行するためのＡＰＩ群を有し、それらを実行する際のメモリ管理なども行う。一方、デスクトップアプリ実行環境３２４は、アプリケーション２１２の一種であるデスクトップアプリ３２２を実行するためのＡＰＩ群を有し、それらを実行する際のメモリ管理などを行う。
【００２７】
次に、アプリケーション２１２が有する個々の要素について説明する。アプリケーション２１２は、タッチアプリ３２１及びデスクトップアプリ３２２の二種類のアプリケーションを含んでいる。タッチアプリ３２１は、アプリケーション２１２の一種で、タッチアプリ実行環境３２３の上で動作する。またタッチアプリ３２１は、インターネット上で公開されるアプリケーション配布システムを通じて、ユーザ自身が選択し、ホストコンピュータ１０１にインストールされる。デスクトップアプリ３２２は、メニュー画面などに表示されたアイコンなどをユーザが指示することにより動作し、その指示されたアイコンに対応する機能を起動する。
【００２８】
図４は、実施形態に係る印刷システムの印刷環境の一例を説明する図である。ここではプリンタ１０２に代わって、図４に示すＭＦＰ４０１，４０２がネットワーク１０３に接続されているものとする。
【００２９】
ホストコンピュータ１０１にインストールされるＭＦＰ４０１用のプリンタドライバは、複数種類存在し得る。例えば、機種別プリンタドライバ４１２は、ＭＦＰ４０２専用のプリンタドライバである。一方、標準プリンタドライバ４１１は、標準化された印刷方法を利用することで、１つのドライバで、複数ベンダのプリンタであるＭＦＰ４０１，４０２への印刷を可能にするプリンタドライバである。標準プリンタドライバ４１１は、ＯＳ２１０と共にＯＳ２１０のパッケージ内の機能の１つとして提供されており、これは前述のプリンタドライバ２１１に対応している。
【００３０】
このように、プリンタ１０２が利用可能なプリンタドライバは複数存在し、利用されるプリンタドライバは、インターネット接続状態やＯＳ２１０の種類、利用環境等に応じて異なる。通常、ＯＳ２１０は、プリンタドライバのバージョン情報等を参照して、利用可能なプリンタドライバの内、最も機能が高く、且つ新しいプリンタドライバを自動的に選定してインストールする。尚、プリンタドライバには、ハードウェアＩＤ（ＨＷＩＤ）や、Ｃｏｍｐａｔｉｂｌｅ  ＩＤと呼ばれる、装置を特定するための情報が含まれている。ホストコンピュータ１０１にプリンタが接続されると、ＯＳ２１０は、そのプリンタからこれらのＩＤ情報を取得し、該当するＩＤを有するプリンタドライバを探索してインストールする。
【００３１】
図４の例では、ＭＦＰ４０１のハードウェアＩＤは「ＭＦＰ１＿ａｂｃｄ」であり、ＭＦＰ４０２のハードウェアＩＤは「ＭＦＰ２＿ｉｊｋｌ」である。そしてＭＦＰ４０１の印刷データは、標準プリンタドライバ４１１により作成されてＭＦＰ４０１に送信される。一方、ＭＦＰ４０１の印刷データは、標準プリンタドライバ４１１或いは機種別プリンタドライバ４１２により作成されてＭＦＰ４０２に送信される。
【００３２】
図５は、実施形態に係るホストコンピュータ１０１のプリンタドライバ２１１がプリンタ１０２からデバイス機能テキストファイルを取得し、自身のデバイス機能テキストファイル３０７を更新する処理を説明するフローチャートである。尚、このフローチャートに示す各動作（ステップ）は、ＣＰＵ２０１が外部メモリ２０９に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをＲＡＭ２０２に展開して実行することにより達成される。以下、各制御モジュール、コンポーネント、アプリケーションによって提供される制御を説明する場合、ＣＰＵ２０１によって実現される機能部を主語として説明する。また、表示、ユーザ操作の受け付け、及びデータ送受信処理などの一部処理は、ＣＰＵ２０１、各Ｉ／Ｆ及び、Ｉ／Ｆに接続された入出力デバイスが協働して実現するものとする。このフローチャートで示す処理は、ユーザの指示により、アプリケーション２１２から印刷設定画面が起動されることに応じて開始される。
【００３３】
まずＳ５０１で、標準プリンタドライバであるプリンタドライバ２１１が、ネットワーク１０３経由で接続しているプリンタ１０２が有するデバイス機能テキストファイル２３０を取得するよう試みる。例えば、図４で示す印刷環境では、標準プリンタドライバ４１１がＭＦＰ４０１と接続されている。よって、タッチアプリ３２１もしくはデスクトップアプリ３２２からの印刷設定の表示指示が行われると、標準プリンタドライバ４１１は、ＭＦＰ４０１に対してデバイス機能テキストファイルの取得を要求する。即ち、標準プリンタドライバ４１１が、ＭＦＰ４０１が外部メモリ２２９に保存しているデバイス機能テキストファイル２３０をネットワーク１０３経由で取得しようとする。
【００３４】
前述したようにデバイス機能テキストファイル２３０は、そのプリンタが有する機能の定義と、機能の無効な組み合わせを記述したものである。またこれら機能には、優先順位を設けることができる。これら機能の優先順位は、数値の小さいものほど高く、数値が大きくなるにつれて優先順位が低くなる。そして、これら機能の組み合わせが無効である設定がなされたときは、優先順位が低い機能の選択肢が他の選択肢に丸められることで、正しい設定が作成される。無効な機能の組み合わせは、機能と、機能の選択肢の複数の組からなるリストとして定義する。ここでは一対一の機能の組み合わせだけでなく、複数の機能の組み合わせも定義することができ、その場合は、記述された全ての設定が一致するときに無効であることを意味する。またデバイス機能テキストファイル２３０には、プリンタ１０２の機能に適した記述がなされており、例えば、図６で示すようなテキストで記述されている。
【００３５】
図６は、実施形態に係るプリンタ１０２のデバイス機能テキストファイル２３０の一例を示す図である。
【００３６】
図６では、優先順位が「１００」、デフォルトの用紙サイズは「Ａ４」で、用紙サイズのオプションとして「Ａ４」「Ａ３」「カスタム（ユーザ設定）」が設定可能である。また両面印刷は「なし」となっている。更に、無効な機能組み合わせとして、６０２には、Ａ３サイズの縦型の用紙の右上と左下のステープルが無効となっている。更に、Ａ３サイズの横型の用紙の左上と右下のステープルが無効となっている。
【００３７】
次にＳ５０２に進みプリンタドライバ２１１は、Ｓ５０１でデバイス機能テキストファイル２３０を取得できたかどうか判定し、取得できたと判定した場合はＳ５０３に進み、そうでないときはＳ５０６に進む。Ｓ５０６でプリンタドライバ２１１は、プリンタ１０２用に合成されたデバイス機能ファイルがキャッシュとして記憶領域３０２に存在するか否か確認する。ここでキャッシュとして存在するか否かとは、後述するＳ５０４で合成したデバイス機能テキストファイルが記憶領域３０２に存在しており、かつ該当プリンタ１０２用のファイルであるか否かに基づいて判定する。Ｓ５０７でプリンタドライバ２１１は、そのプリンタ１０２用に合成されたデバイス機能ファイルが記憶されていると判定した場合はＳ５０８に進み、記憶領域３０２に記憶されているデバイス機能テキストファイルをプリンティングシステム３２５に通知して、この処理を終了する。一方、Ｓ５０７でそのプリンタ１０２用のデバイス機能ファイルが記憶されていないと判定した場合はＳ５０９に進み、基本的なデバイス機能テキストファイルをプリンティングシステム３２５に通知して、この処理を終了する。
【００３８】
一方、Ｓ５０２でデバイス機能テキストファイル２３０を取得できたときはＳ５０３に進みプリンタドライバ２１１は、標準プリンタドライバ４１１が有する基本的な機能の定義と、機能の無効な組み合わせが記述されたデバイス機能テキストファイル３０７を取得する。尚、ここでデバイス機能テキストファイル３０７は、デフォルト状態で標準プリンタドライバ４１１が有しているファイルであり、例えば、図７で示すようなテキストで記述されている。
【００３９】
図７は、実施形態に係るホストコンピュータ１０１の標準プリンタドライバ２１１がデフォルト状態で有しているデバイス機能テキストファイル３０７の一例を示す図である。
【００４０】
ここでは、優先順位が「１００」、デフォルトの用紙サイズは「Ａ４」で、用紙サイズのオプションとして「Ａ４」「カスタム（ユーザ設定）」が設定可能である。また用紙の向きの優先順位は「２００」で、デフォルトの向きは「縦」、オプションとして「縦」と「横」が設定できる。更に、ステープルの設定として、優先順位が「３００」、デフォルトオプションは「なし」、ステープル位置のオプションとして「左上」「左下」「右上」「右下」が設定可能である。
【００４１】
次にＳ５０４に進みプリンタドライバ２１１は、Ｓ５０１でプリンタ１０２から取得したデバイス機能テキストファイル２３０と、Ｓ５０３で標準プリンタドライバ２１１から取得したデバイス機能テキストファイル３０７とを合成し、新たなデバイス機能テキストファイルを生成する。
【００４２】
図８は、図６と図７で示されたデバイス機能テキストファイルを合成した例を示す図である。
【００４３】
図８では、機能の定義や、機能の無効な組み合わせで重複する記述はマージし、そのデバイス固有の記載については、追記や元の記述内容の削除等を行う。例えば、図６では「Ａ４」「Ａ３」「Ｃｕｓｔｏｍ」が、図７では「Ａ４」「Ｃｕｓｔｏｍ」が記載されており、これらが合成されることにより、図８の８０１では「Ａ４」「Ａ３」「Ｃｕｓｔｏｍ」が記述されている。また図６の６０２で示す禁則条件式についても同様に合成し、合成したデバイス機能テキストファイルでは、図８の８０２で示すような記述を行う。
【００４４】
尚、Ｓ５０４の時点では、新たなデバイス機能テキストファイルの保存は行わずに、次のＳ５０５の処理によって、ファイルの保存が行われる。Ｓ５０５でプリンタドライバ２１１は、Ｓ５０４で合成したデバイス機能テキストファイルをプリンティングシステム３２５に通知する。この通知は、合成したデバイス機能テキストファイルの内容と、その内容で禁則を行うプリンタ１０２の情報をプリンタドライバ２１１からプリンティングシステム３２５に受け渡すことである。
【００４５】
こうしてプリンタドライバ２１１からの通知を受けたプリンティングシステム３２５は、その合成されたデバイス機能テキストファイルを、ファイルとして記憶領域３０２に保存する。そして、その合成したデバイス機能テキストファイルと、プリンタ２０１とを関連付ける。関連付けの情報は、図１０に示すようにして記憶領域３０２に保存される。
【００４６】
図１０は、実施形態に係るプリンティングシステム３２５で保存される、デバイス機能テキストファイルとプリンタとを関連付ける情報の一例を示す図である。
【００４７】
ここでは例えば、ＭＦＰ４０１は、合成したデバイス機能テキストファイルＧＰＤ＿ＭＦＰ４０１と関連付けられており、その関連付けには、ＭＦＰ４０１のハードウェアＩＤ「ＭＦＰ１＿ａｂｃｄ」を用いていることを示す。尚、ＧＰＤは「generic printer description」の略で、プリンタの仕様を記述したプリンタ記述ファイルを示す。
【００４８】
プリンタドライバ２１１が禁則処理を行う場合、プリンティングシステム３２５経由でコンフィグレーションモジュール３０４を呼び出す。コンフィグレーションモジュール３０４は、例えば図１０に示す関連付けの情報を読み込み、その関連付けに従った禁則処理を行う。
【００４９】
例えば、図１０に示すような関連付けの情報の場合で、かつ、ホストホストコンピュータ１０１に接続されたプリンタ２０１の名称が「ＭＦＰ４０１」で、アプリケーションプログラムから印刷が指示された場合を想定する。この場合はＯＳ２１０のコンフィグレーションモジュール３０４は、記憶領域３０２に記憶されている「ＧＰＤ＿ＭＦＰ４０１」のデバイス機能テキストファイルを読み込むことで、そのプリンタ（ＭＦＰ４０１）に適合した印刷ジョブを生成することができる。
【００５０】
図９は、実施形態に係るホストコンピュータ１０１で表示される、コンフィグレーションモジュール３０４がデバイス機能テキストファイルを読み込むことで生成される印刷設定ＵＩの一例を示す図である。
【００５１】
図９（Ａ）は、図７に示す基本的なデバイス機能テキストファイル３０７を読み込んだ場合、図９（Ｂ）は、図８に示す合成したデバイス機能テキストファイルを読み込んだ場合の印刷設定ＵＩの例を示す。例えば、図９（Ｂ）では「両面印刷」機能が表示されており、また図９（Ｂ）では「用紙サイズ」に表示されている項目が、図６で記述されているＡ３サイズを含んでいる点が図９（Ａ）と相違している。
【００５２】
尚、この図５に示すフローチャートで示す処理は、前述したようにユーザの指示により、アプリケーション２１２から印刷設定画面が起動されることに応じて開始するとしたが本発明はこれに限らない。例えば、プリントキュー３０３の作成時や、プリントキュー３０３を初めて使用する場合などに実行されてもよい。
【００５３】
以上説明したように実施形態によれば、ＯＳ付属のプリンタドライバであっても、接続された印刷装置から取得した禁則情報に基づいて、その印刷装置に合わせた印刷処理を実行できるという効果がある。
【００５４】
なお、上記実施形態では、印刷装置から取得した禁則情報に基づいて、その印刷装置に合わせた禁則処理を実行する例で説明したが、本発明はこれに限らず、印刷装置から取得したプリンタの機能情報に基づいて、そのプリンタの機能を最大限使用できる印刷データを作成してプリンタに送信して印刷させる場合にも適用できることは勿論である。
【００５５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５６】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００５７】
１０１…ホストコンピュータ、１０２…プリンタ、２０１…ＣＰＵ、２１０…ＯＳ，２１１…プリンタドライバ、２３０…プリンタのデバイス機能テキストファイル、３０２…記憶領域、３０３…プリントキュー、３０７…ＯＳのデバイス機能テキストファイル
【図１】
2020004273.tif 000003
【図２】
2020004273.tif 000004
【図３】
2020004273.tif 000005
【図４】
2020004273.tif 000006
【図５】
2020004273.tif 000007
【図６】
2020004273.tif 000008
【図７】
2020004273.tif 000009
【図８】
2020004273.tif 000010
【図９】
2020004273.tif 000011
【図１０】
2020004273.tif 000012