(57)【要約】【課題】印刷実行時に、常にプリンタドライバ経由で印刷を行うことによる不要な処理やＰＣのＣＰＵの占有を防止し、また、常にダイレクト印刷を行うことによる機能の不足を解消する。【解決手段】ダイレクト印刷機能を持つプリンタを利用する際には、印刷ジョブ毎に設定された印刷設定に従って、プリンタドライバ経由で印刷するか、ダイレクト印刷を行うかの判定を行い、印刷を行う。その際に、設定された機能のうちドライバで実現される機能を判定し（Ｓ５０４）、そうであってもダイレクト印刷を優先するか判定し（Ｓ５０５）、そうでない場合に初めてドライバを用い、そうでなければダイレクト印刷とする。【選択図】図５
2010165261.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムにより生成された印刷用データ及び該印刷用データのための印刷設定データを用いて印刷装置を制御する印刷制御装置であって、
前記印刷装置はダイレクト印刷の可能な印刷装置であるか否か判定する第１の判定手段と、
前記第１の判定手段により前記印刷装置がダイレクト印刷の可能な印刷装置であると判定された場合、前記印刷設定データに、プリンタドライバの処理を必要とする設定が含まれているか否かを判定する第２の判定手段と、
前記第２の判定手段による判定の結果、前記プリンタドライバの処理を必要とする設定が含まれていないと判定された場合、前記印刷用データを前記印刷装置に直接に送信できる旨を前記アプリケーションプログラムに通知し、そうでない場合には、前記印刷用データを前記印刷装置に直接に送信できない旨を前記アプリケーションプログラムに通知する通知手段と
を備えることを特徴とする印刷制御装置。
【請求項２】
前記印刷設定データに含まれた前記プリンタドライバの処理を必要とする設定を無視するか否か判定する第３の判定手段を更に備え、
前記通知手段は、前記第２の判定手段による判定の結果、前記プリンタドライバの処理を必要とする設定が含まれていないと判定された場合、または、前記第３の判定手段による判定の結果、前記印刷設定データに含まれた前記プリンタドライバの処理を必要とする設定を無視すると判定された場合には、前記印刷用データを前記印刷装置に直接に送信できる旨を前記アプリケーションプログラムに通知し、そうでない場合には、前記印刷用データを前記印刷装置に直接に送信できない旨を前記アプリケーションプログラムに通知することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記アプリケーションプログラムに対して、前記通知手段により前記印刷装置に直接に送信できない旨を通知した場合に、前記印刷用データを前記アプリケーションプログラムから取得して、前記印刷設定データに含まれる印刷設定に従って前記印刷用データを加工する加工手段と、
前記印刷装置がダイレクト印刷の可能な印刷装置であれば、前記印刷用データを前記印刷装置に送信し、ダイレクト印刷の可能な印刷装置でなければ、前記印刷装置が処理可能な形式に前記印刷用データを変換して変換済みの印刷用データを前記印刷装置に送信する送信手段と
を更に備えることを特徴とする請求項１または２に記載の印刷制御装置。
【請求項４】
前記アプリケーションプログラムは、前記通知手段により通知された通知内容に基づいて、前記印刷用データを前記印刷装置に直接に送信できる旨が通知された場合には、前記印刷用データをそのまま前記印刷装置に送信し、前記印刷用データを前記印刷装置に直接に送信できない旨が通知された場合には、前記加工手段に前記印刷用データを引き渡すことを特徴とする請求項３に記載の印刷制御装置。
【請求項５】
アプリケーションプログラムにより生成された印刷用データ及び該印刷用データのための印刷設定データを用いて、前記アプリケーションから出力される印刷用データを解釈できる印刷装置を制御する印刷制御装置であって、
前記印刷設定データに、プリンタドライバの処理を必要とする設定が含まれているか否かを判定する第２の判定手段と、
前記第２の判定手段による判定の結果、前記プリンタドライバの処理を必要とする設定が含まれていないと判定された場合、前記印刷用データを前記印刷装置に直接に送信できる旨を前記アプリケーションプログラムに通知し、そうでない場合には、前記印刷用データを前記印刷装置に直接に送信できない旨を前記アプリケーションプログラムに通知する通知手段とを備えることを特徴とする印刷制御装置。
【請求項６】
アプリケーションプログラムにより生成された印刷用データ及び該印刷用データのための印刷設定データを用いて印刷装置を制御する、第１の判定手段と第２の判定手段と通知手段とを備えた印刷制御装置により実行される印刷制御方法であって、
前記第１の判定手段が、前記印刷装置はダイレクト印刷の可能な印刷装置であるか否か判定する第１の判定工程と、
前記第２の判定手段が、前記第１の判定工程により前記印刷装置がダイレクト印刷の可能な印刷装置であると判定された場合、前記印刷設定データに、プリンタドライバの処理を必要とする設定が含まれているか否かを判定する第２の判定工程と、
前記通知手段が、前記第２の判定工程による判定の結果、前記プリンタドライバの処理を必要とする設定が含まれていないと判定された場合、前記印刷用データを前記印刷装置に直接に送信できる旨を前記アプリケーションプログラムに通知し、そうでない場合には、前記印刷用データを前記印刷装置に直接に送信できない旨を前記アプリケーションプログラムに通知する通知工程と
を有することを特徴とする印刷制御方法。
【請求項７】
前記印刷制御装置は第３の判定手段を更に備え、
前記第３の判定手段が、前記印刷設定データに含まれた前記プリンタドライバの処理を必要とする設定を無視するか否か判定する第３の判定工程を更に有し、
前記通知工程では、前記第２の判定工程による判定の結果、前記プリンタドライバの処理を必要とする設定が含まれていないと判定された場合、または、前記第３の判定工程でによる判定の結果、前記印刷設定データに含まれた前記プリンタドライバの処理を必要とする設定を無視すると判定された場合には、前記印刷用データを前記印刷装置に直接に送信できる旨を前記アプリケーションプログラムに通知し、そうでない場合には、前記印刷用データを前記印刷装置に直接に送信できない旨を前記アプリケーションプログラムに通知することを特徴とする請求項６に記載の印刷制御方法。
【請求項８】
前記印刷制御装置は加工手段と送信手段とを更に備え、
前記加工手段が、前記アプリケーションプログラムに対して、前記通知工程により前記印刷装置に直接に送信できない旨を通知した場合に、前記印刷用データを前記アプリケーションプログラムから取得して、前記印刷設定データに含まれる印刷設定に従って前記印刷用データを加工する加工工程と、
前記送信手段が、前記印刷装置がダイレクト印刷の可能な印刷装置であれば、前記印刷用データを前記印刷装置に送信し、ダイレクト印刷の可能な印刷装置でなければ、前記印刷装置が処理可能な形式に前記印刷用データを変換して変換済みの印刷用データを前記印刷装置に送信する送信工程と
を更に有することを特徴とする請求項６または７に記載の印刷制御方法。
【請求項９】
前記アプリケーションプログラムは、前記通知工程により通知された通知内容に基づいて、前記印刷用データを前記印刷装置に直接に送信できる旨が通知された場合には、前記印刷用データをそのまま前記印刷装置に送信し、前記印刷用データを前記印刷装置に直接に送信できない旨が通知された場合には、前記加工工程に前記印刷用データを引き渡すことを特徴とする請求項８に記載の印刷制御方法。
【請求項１０】
アプリケーションプログラムにより生成された印刷用データ及び該印刷用データのための印刷設定データを用いて、前記アプリケーションから出力される印刷用データを解釈できる印刷装置を制御する印刷制御装置による印刷制御方法であって、
前記印刷制御装置の第２の判定手段が、前記印刷設定データに、プリンタドライバの処理を必要とする設定が含まれているか否かを判定する第２の判定工程と、
前記印刷制御装置の通知手段が、前記第２の判定工程による判定の結果、前記プリンタドライバの処理を必要とする設定が含まれていないと判定された場合、前記印刷用データを前記印刷装置に直接に送信できる旨を前記アプリケーションプログラムに通知し、そうでない場合には、前記印刷用データを前記印刷装置に直接に送信できない旨を前記アプリケーションプログラムに通知する通知工程と
を有することを特徴とする印刷制御方法。
【請求項１１】
請求項１乃至５のいずれか１項に記載した印刷制御装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷制御装置および印刷制御方法に関する。詳しくは、パーソナルコンピュータ（以下ＰＣ）等の情報処理装置とプリンタなどの印刷装置を有して構成されるシステムにおける印刷制御装置及び印刷制御方法に関する。
【背景技術】
【０００２】
従来、印刷実行時には、ＰＣ等のコンピュータでプリンタドライバが実行される。プリンタドライバは、アプリケーション及びＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ(登録商標)などのオペレーティングシステム(以下ＯＳ)により作成された印刷用データを、プリンタにて処理可能な印刷データ（ＰＤＬやイメージなど）に変換する。そしてその変換後の印刷データをプリンタに転送し、印刷を行っている。このため、プリンタドライバを経由することで、プリンタドライバが持つ多数の機能を印刷実行時に利用することが可能となる。しかしながら、この形態では、ＯＳに依存した処理やプリンタドライバでの処理が発生するため、ＰＣ側のＣＰＵを占有してしまうなどといった問題が存在する。さらに、プリンタドライバではＰＤＬやイメージなどといったプリンタが処理可能な言語に変換を行うため、プリンタに送信した印刷データを再取得し、再編集するといった再利用処理は困難であった。
【０００３】
そこで、別の印刷システムの形態としてアプリケーションが作成した印刷用データを、ＰＤＬやイメージなどに変換することなく、直接にプリンタに送信し、プリンタ側で印刷用データの解釈を行い、印刷を実現する形態が存在する。このように、アプリケーションにより作成された印刷用データを直接プリンタへ転送する印刷形態はダイレクト印刷と呼ばれる。例えばＡｄｏｂｅ社のＰＤＦ(Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ)をアプリケーションが作成し、直接プリンタへ送信することが行われている。
【０００４】
また、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ Ｖｉｓｔａ（登録商標）で導入されたＸＰＳドライバという印刷システムは、ＸＰＳというデータ形式に変換されたアプリケーションデータをＰＤＬに変換して送信する。あるいは印刷システムは、そのままＸＰＳというデータ形式にて印刷用データをプリンタに送信して印刷を行うことが可能になっている。
【０００５】
従来の技術には、アプリケーションプログラムにより作成され保存されたファイルをアプリケーションで読み込むことなく、プリンタドライバがスプーラへ直接変換処理して転送し、直接印刷出力するものがあった（例えば特許文献１参照。）また、プリンタドライバ（ＰＣ）とプリンタのどちらで処理をしたほうが効率的かを判断し、印刷出力を行うものがあった（たとえば特許文献２参照。）さらに、プリンタドライバでの処理を行うか否かをアプリケーションが指定することにより、プリンタドライバを経由した印刷をする、あるいは直接プリンタに送信して印刷することを切り替えるものがあった（例えば非特許文献１参照。）
【特許文献１】特開2000-207148号公報
【特許文献２】特開2000-222145号公報
【非特許文献１】マイクロソフトコーポレーション、「XPSDrv_FilterPipe.docx」（特に第１２ページ図５等））、［オンライン］、平成２０年２月７日更新、［平成２０年８月２５日検索］、インターネット、＜ＵＲＬ：http://www.microsoft.com/whdc/device/print/XPSDrv_FilterPip.mspx＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のダイレクト印刷においては、指定された印刷設定において、プリンタドライバ（ＰＣ）での処理が必要であるかどうかの判定を行うことができず、直接プリンタへ印刷用データを送信してしまう。そのため、設定された機能が実現されないことがあるといった課題が存在する。例えば、印刷実行時に、プリンタドライバがダイアログを表示する機能が存在する。ダイアログにてユーザー名やパスワードなどの入力をユーザーに促し、入力された内容を基に、印刷の許可・禁止を行うことが行われている。しかし、上記のようにダイレクト印刷が行われた場合、プリンタドライバを経由しないためダイアログの表示が行えず、プリンタへ印刷用データが送信されることで印刷の許可・禁止が行えないといった課題がある。また、特許文献１に開示されている発明では、特定のアプリケーションの読み込みが不要になっているため、ＰＣでの処理が軽減はしている。しかし、プリンタドライバが、印刷設定によらず、アプリケーションからの印刷用データをイメージまたはＰＤＬへの変換するため、プリンタに送信した印刷データの再取得や再編集等の処理は困難であり、ＰＣのＣＰＵを占有してしまう問題も解決できていない。特許文献２に開示されている発明では、プリンタドライバ（ＰＣ）とプリンタでより効率的なハードにて処理が実施されることとなり、プリンタドライバでの処理と判定された場合には、印刷設定によらず常にプリンタドライバ（ＰＣ）側で動作する。このため、ＰＣ側のＣＰＵを占有してしまう問題が解決できていない。また、プリンタ側での処理と判定された場合には、印刷設定によらず直接プリンタへ印刷用データを送信してしまうため、機能の一部が実現されないという問題を解決できていない。
【０００７】
本発明は上記従来例に鑑みて成されたもので、上記問題を解決することを目的とする。より詳しくは、実行しようとする印刷ジョブについて、プリンタドライバでの処理が必要であるかどうかを印刷設定データに従って判定し、この判定結果に従い印刷を行う。その結果、プリンタドライバでの処理が不要なときにはそのまま印刷装置へ印刷用データが送信され、そうでなければプリンタドライバを経由して印刷を行う。こうすることで、印刷処理によるＰＣのＣＰＵ占有率を減少させ、不要な処理を削減することができ、あわせて、印刷設定に設定された機能が抜けることなく適切に印刷を行うことも可能となる。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は以下の構成を備える。
【０００９】
アプリケーションプログラムにより生成された印刷用データ及び該印刷用データのための印刷設定データを用いて印刷装置を制御する印刷制御装置であって、
前記印刷装置はダイレクト印刷の可能な印刷装置であるか否か判定する第１の判定手段と、
前記第１の判定手段により前記印刷装置がダイレクト印刷の可能な印刷装置であると判定された場合、前記印刷設定データに、プリンタドライバの処理を必要とする設定が含まれているか否かを判定する第２の判定手段と、
前記第２の判定手段による判定の結果、前記プリンタドライバの処理を必要とする設定が含まれていないと判定された場合、前記印刷用データを前記印刷装置に直接に送信できる旨を前記アプリケーションプログラムに通知し、そうでない場合には、前記印刷用データを前記印刷装置に直接に送信できない旨を前記アプリケーションプログラムに通知する通知手段とを備えることを特徴とする印刷制御装置。
【００１０】
また他の観点によれば、本発明は、アプリケーションプログラムにより生成された印刷用データ及び該印刷用データのための印刷設定データを用いて、前記アプリケーションから出力される印刷用データを解釈できる印刷装置を制御する印刷制御装置であって、
前記印刷設定データに、プリンタドライバの処理を必要とする設定が含まれているか否かを判定する第２の判定手段と、
前記第２の判定手段による判定の結果、前記プリンタドライバの処理を必要とする設定が含まれていないと判定された場合、前記印刷用データを前記印刷装置に直接に送信できる旨を前記アプリケーションプログラムに通知し、そうでない場合には、前記印刷用データを前記印刷装置に直接に送信できない旨を前記アプリケーションプログラムに通知する通知手段とを備える。
【発明の効果】
【００１１】
本発明によれば、プリンタドライバの処理が必要な印刷設定が指定された印刷処理についてはプリンタドライバを経由して印刷処理を実行する。一方、プリンタドライバの処理が不要な印刷設定が指定された印刷処理についてはダイレクトプリントを許可できる。そのため、ＰＣのＣＰＵ占有率を減少させ、不要な処理を削減することができ、あわせて、印刷設定に設定された機能が抜けることなく適切に印刷を行うことも可能となる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１３】
＜システムの構成＞
図１は、本発明の実施形態に係る印刷システムの構成を示すブロック図である。本実施形態において、図１に示すシステムは、単体の機器、又は、複数の機器から構成されるシステムであっても良い。又は、ＬＡＮ、ＷＡＮ等のネットワークを介して接続されて処理が行われるシステムであっても良い。図１に示すように、ホストコンピュータ（印刷制御装置）３０００は、ＣＰＵ１を含んでいる。ＣＰＵ１は、ＲＯＭ３に含まれるプログラム用ＲＯＭ、又は、外部メモリ１１に記憶された文書処理プログラム等に基づいて、文書処理及びそれに基づく印刷処理の実行を制御する。ここで、文書処理とは、各実施形態における処理を含む、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を示す。ＣＰＵ１は、システムバス４に接続されている各デバイスを制御する。また、ＲＯＭ３に含まれるプログラム用ＲＯＭ、又は、外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（ＯＳ）等が記憶されている。また、ＲＯＭ３のフォント用ＲＯＭ、又は、外部メモリ１１には、文書処理に用いられるフォントデータ等が記憶されている。更に、ＲＯＭ３のデータ用ＲＯＭ、又は、外部メモリ１１には、文書処理等を行う際に用いられる各種データが記憶されている。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。キーボードコントローラ５は、キーボード９や図示されていないポインティングデバイスからのキー入力を制御する。ディスプレイコントローラ６は、ディスプレイ１０による表示を制御する。ディスクコントローラ７は、外部メモリ１１とのアクセスを制御する。ここで、外部メモリ１１には、例えば、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム等を記憶するハードディスク、フロッピー(登録商標)ディスクが用いられる。プリンタコントローラ８は、双方向性インターフェース２１を介して、プリンタ１５００に接続されていて、プリンタ１５００との通信制御処理を実行する。なお、ＣＰＵ１は、ディスプレイ１０上の図示されていないマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザーは、印刷を実行する際に、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択等、印刷処理方法における設定を行うことができる。
【００１４】
プリンタ１５００は、ＣＰＵ１２によって制御される。ＣＰＵ１２は、ＲＯＭ１３に記憶された制御プログラム等、又は、外部メモリ１４に記憶された制御プログラム等に基づいて、印刷部インターフェース１６を介して、システムバス１５に接続される印刷部１７に印刷出力情報としての画像信号を出力する。以下、印刷部１７をプリンタエンジンともいう。また、このＲＯＭ１３のプログラム用ＲＯＭには、ＣＰＵ１２の制御プログラム等が記憶されている。また、ＲＯＭ１３のフォント用ＲＯＭには、印刷出力情報を生成する際に用いられるフォントデータ等が記憶されている。また、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、コンピュータ上で用いられる情報等が記憶されている。ＣＰＵ１２は、入力部１８を介して、ホストコンピュータ３０００との通信処理を行うことができ、プリンタ１５００内の情報等が、ホストコンピュータ３０００に通知される。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能する。また、図示されていない増設ポートに接続されるオプションＲＡＭにより、メモリ容量を拡張することができる。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。ハードディスクやＩＣカード等である外部メモリ１４は、メモリコントローラ２０によりアクセスを制御されている。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶している。また、操作部２２は、例えば、操作パネルであって、ユーザーによる操作のためのスイッチ、ＬＥＤ表示器等を含んでいる。また、本実施形態において、プリンタ１５００が図示されていないＮＶＲＡＭを含み、操作部２２から入力されたプリンタモード設定情報を記憶するようにしても良い。本実施形態において、印刷部１７は、電子写真方式のプリンタエンジンであるが、電子写真方式でない他の印刷方式が用いられても良い。
【００１５】
図２は、図１に示したコンピュータ３０００における印刷処理のための一構成を示す図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたプログラムファイルとして存在する。そして、これらは、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされて実行されるプログラムモジュールである。
【００１６】
また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部メモリ１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行される。このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００１７】
グラフィックエンジン２０２は、プリンタなどの印刷装置ごとに用意されたプリンタドライバ２０３を外部メモリ１１からＲＡＭ２にロードする。また、グラフィックエンジン２０２はアプリケーション２０１から印刷設定もしくは印刷用データを受け取り、プリンタドライバ２０３へ出力する。プリンタドライバ２０３のＵＩコンポーネント２０５は、グラフィックエンジン２０２から印刷設定を受取り、印刷設定の表示や変更などを行い、グラフィックエンジンを通してアプリケーションに返却する。プリンタドライバ２０３のグラフィックコンポーネント２０６はグラフィックエンジン２０２から印刷用データを受取り、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインターフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００１８】
＜ダイレクト印刷に関する設定＞
図６及び図７を用いてプリンタドライバ２０３が保持するダイレクト印刷の設定情報について説明する。図６は本発明でプリンタドライバ２０３が保持する、ダイレクト印刷に関わる設定情報を示す図である。図７は本発明における、プリンタドライバ２０３が保持するダイレクト印刷に関する設定を行うためのユーザーインターフェースの一例を示す図である。
【００１９】
図６において、６００はプリンタドライバ２０３が保持するダイレクト印刷に関わる設定情報である。設定情報６００は、保持する場所としてはレジストリの形態やファイルの形態としてハードディスク（ＨＤ）等の外部メモリ１１でも良いし、プログラムで保持しても構わない。設定情報６００には、６０１〜６０４の各項目が含まれている。
【００２０】
ドライバ機能リスト６０１には、本実施形態の印刷システムで実現可能な全機能のうち、プリンタ１５００にて実現できる機能を除いた機能の一覧情報が格納されている。つまり、実現のためにはプリンタドライバ２０３が動作する必要のある機能の一覧が格納されている。本情報に記載されている機能は、一般的にはプリンタ１５００の種類や状態によって異なる。ダイレクト印刷を優先する設定になっているときには、プリンタドライバは印刷時に受信した印刷用データ３０３をＰＤＬやイメージなどに変換することなく、印刷用データ３０３を、スプーラ２０４を経てプリンタ１５００へ送信する。ダイレクト印刷を優先しない設定になっているときには、プリンタドライバは、従来通り、印刷用データをＰＤＬやイメージなどの印刷データ３０５に変換し、印刷データ３０５を、スプーラ２０４を経てプリンタ１５００へ転送する。印刷システムで実現可能な機能は、本実施形態では、印刷ジョブを定義したジョブチケットに記述することで、印刷設定に含めることができる。ダイレクト印刷実行設定６０２は、ダイレクト印刷を行うか否かを示す設定項目である。ダイレクト印刷実行設定６０２にダイレクト印刷を行う旨が設定されている場合、ダイレクト印刷推奨機能リスト６０３には、印刷実行時に設定されていた場合にダイレクト印刷を行う機能の一覧が格納されている。ダイレクト印刷優先機能リスト６０４は、本来プリンタドライバで実現する機能の中で、ダイレクト印刷を優先し、プリンタドライバの処理を不要とする機能の一覧が格納されている。ダイレクト印刷優先機能リスト６０４にて、ダイレクト印刷が優先に設定された機能は、プリンタドライバ２０３はプリンタドライバ２０３での処理は不要と判断する。この処理については印刷処理の中でフローチャート図４，５を用いて後述する。
【００２１】
７００はダイレクト印刷に関わる設定情報６００を設定するためのダイアログの一例である。７００は、プリンタドライバ２０３により提供されるユーザーインターフェースの一部（タブ）として構成されている。アプリケーション２０１やＯＳのユーザーインターフェースを通じて、ダイアログ７００が表示される。印刷設定のラジオボタン７０１、７０２及び７０３は、このうちのどれかを選択する形となっている。ラジオボタン７０１が選択されることにより、ダイレクト実行設定６０２はダイレクト印刷を行うことが設定される。ラジオボタン７０２が選択されると、ダイレクト実行設定６０２はダイレクト印刷を行わないことが設定され、ＰＤＬ・イメージ変換印刷を行う設定となる。ラジオボタン７０３が選択されると、リストボックス７０４にてダイレクト印刷を行う機能の選択を行うことが可能となる。リストボックス７０４にて選択された機能はダイレクト印刷実行機能リスト６０３に追加される。このリストで選択されている機能が、印刷実行時の印刷設定に含まれる場合にはダイレクト印刷が行われる。図７の例ではモノクロ印刷が選択状態になっており、モノクロ印刷が設定されたデータはダイレクト印刷の対象となる。
【００２２】
チェックボックス欄７０５、７０６、７０７にはプリンタドライバ２０３での処理が必要な機能がそれぞれ、カテゴライズされて記載されている。各機能のチェックボックスを外すことで、ダイレクト印刷優先機能リスト６０４に該当機能が格納される。例えば、図７では表示された全機能がチェックされているので、これらの機能のいずれもダイレクト印刷優先機能として登録されることはない。ある機能がダイレクト印刷優先機能として登録されている場合、当該機能を用いる指示が印刷設定に含まれていると、当該印刷ジョブはダイレクト印刷の対象となる。例えば、図７に「ドライバ製本」のチェックが外されており、かつ、印刷設定に「ドライバ製本」が含まれていた場合、当該印刷設定を伴う印刷用データはダイレクト印刷の対象となる。ＯＫボタン７０８が押下されることでダイレクト印刷情報格納部３２５は、現在の設定をダイレクト印刷に関わる設定情報６００へ適用し、プリンタドライバユーザインターフェース７００を閉じる。すなわち、設定情報６００を更新し、保存する。キャンセルボタン７０９が押下されることで現在の設定を適用せずプリンタドライバユーザインターフェース７００を閉じる。適用ボタン７１０が押下されることで現在の設定をダイレクト印刷に関わる設定情報６００へ適用する。ヘルプボタン７１１を押下することでプリンタドライバ２０３のヘルプを表示する。
【００２３】
＜印刷処理＞
本発明の、実施形態における印刷処理のフローについて図を参照しながら説明する。図３は本実施形態の印刷実行時におけるシステムの、データフローを伴う構成図である。図３を参照しながら本発明の印刷実行時における詳細なシステムの構成及びデータフローを説明する。
【００２４】
印刷設定３０１はアプリケーション２０１の印刷設定作成部３１１が設定したデータである。印刷設定３０１は、たとえばジョブチケットであり、特定のプリンタが解釈実行可能な形式（本例ではＸＰＳ互換プリンタが解釈実行可能なＸＰＳ形式）で記述されている。印刷設定３０１は印刷設定データとも呼ぶ。印刷設定３０１は、印刷設定問い合わせ部３１２によりＵＩコンポーネント２０５の印刷設定部３２１に渡される。その後、印刷設定部３２１において、受信した印刷設定３０１に禁則処理部３２２にて禁則処理を施し、ＵＩ表示部３２４に渡して表示する。ドライバ機能判定部３２３は、禁則処理された印刷設定を実現する上において、ドライバ機能の要・不要の判定処理を行う。その後、ユーザーは、必要に応じて、ＵＩ表示部３２４は図示されていないプリンタドライバの設定画面（ＵＩ）を用いて、印刷設定の変更を行い、加工された処理済印刷設定３０２をアプリケーション２０１に返信する。ダイレクト印刷情報格納部３２５は、ダイレクト印刷に関する設定情報６００の格納を行う。アプリケーション２０１は、印刷の描画に関するデータと、印刷設定３０２とに基づいて、印刷用データ３０３、もしくは３０４を作成する。ドライバ・ダイレクト判定部３１３は処理済印刷設定３０２を用いてドライバ経由の印刷を行うか、ダイレクト印刷を行うかの判定を行う。印刷用データ送信部３１４は印刷用データ３０３もしくは３０４の送信を行う。
【００２５】
ダイレクト判定部３３１はプリンタドライバグラフィックコンポーネント２０６が受信した印刷用データ３０３を用いてダイレクト印刷するかの判定を行う。機能実現部３３２はプリンタドライバ２０３が実現すべき機能に関する処理を行う。レンダリング部（ＰＤＬ変換部）３３３は印刷用データ３０３を、例えばＰＤＬ等のプリンタが認識可能な制御コマンドに変換する。スプーラ転送部３３４は、システムスプーラ２０４に印刷データ３０５を送信する。その後、システムスプーラ２０４を介して、プリンタ１５００において出力する。印刷データ３０５はプリンタ１５００へ送信されるデータである。プリンタ設定情報３０６はプリンタの設定情報であり、プリンタ１５００に備えられている機器（例えば、フィニッシャーなど）、設定（例えば、機能の状態など）、能力（例えば、カラー印刷が可能か）などが格納されている。本設定情報はプリンタドライバ２０３のインストール時に一意に作成、保持してもよいし、プリンタ１５００の設定が変更されたときにプリンタ１５００と通信を行い、更新することも可能である。本実施形態においては３０６の内部にはダイレクト印刷が可能かどうかの情報が含まれている。
【００２６】
図４は、本実施形態における印刷処理の手順を示すフローチャートである。なお、本願のフローチャートの各ステップは、ＣＰＵ１が関連するプログラムを読み込んで実行することにより実現される。
図１０は一般的なアプリケーションが表示するプリントダイアログのユーザーインターフェースの一例を示す図である。図４を参照しながら印刷処理の基本フローについて説明する。ステップＳ４０１，４０２，４０６，４０７はアプリケーションプログラム２０１により実行される。ステップＳ４０３〜Ｓ４０５はプリンタドライバＵＩコンポーネント２０５により実行される。ステップＳ４０８はプリンタドライバグラフィックコンポーネント２０６により実行される。ステップＳ４１０はプリンタ１５００により実行される。
【００２７】
ユーザーが、アプリケーションの画面を介して印刷を指示すると、図４の印刷の処理が開始される。まず、ステップＳ４０１において、印刷設定作成部３１１は印刷設定３０１の作成を行い、図１０に示す画面１０００のようなユーザーインターフェースを表示することが可能である。ここで、印刷設定３０１は、印刷処理が指示される前にアプリケーション２０１があらかじめ保持しておくことも可能である。図１０のプリンタ選択欄１００１は現在選択されているプリンタを表示している。印刷ボタン１００３が押下されると、ステップS４０２へ進み、印刷設定問い合わせ部３１２は印刷設定３０１をプリンタドライバＵＩコンポーネント２０５へ渡し、処理を依頼する。
【００２８】
ステップＳ４０３では、印刷設定部３２１が受信した印刷設定３０１に対して禁則処理部３２２が禁則処理を行う。ステップＳ４０４では、ドライバ機能判定部３２３が禁則処理済印刷設定に対して、ドライバ機能が必要かどうかの判定を行い、処理済印刷設定３０２を作成する。本ステップの処理の詳細については、図５を用いて後述する。ステップＳ４０５では、印刷設定部３２１が、処理済印刷設定３０２をアプリケーション２０１の印刷設定問い合わせ部３１２に返却する。
【００２９】
なお図１０のボタン１００２を押下することで、プリンタドライバＵＩコンポーネント２０５へ印刷設定３０１が送信され、プリンタドライバは、処理およびＵＩ表示部３２４にプリンタドライバの設定画面を表示できる。この処理にて、ボタン１００３が押下される前に、ステップＳ４０２〜Ｓ４０５に該当する処理を行うことも可能である。
【００３０】
さて、ステップＳ４０６では、ドライバ・ダイレクト判定部３１３は印刷設定問い合わせ部３１２が受信した処理済印刷設定３０２に記載されている、ダイレクト印刷が可能か否かを示す情報を取得する。続けて、プリンタドライバ経由の印刷を行うか、ダイレクトで印刷が可能かの判定が行われる。すなわち、アプリケーションは、プリンタドライバからのダイレクト印刷が可能か否かを示す通知を受け、その通知内容に従ってドライバ処理が必要か否かを判定する。プリンタドライバ経由の印刷設定と判定された場合にはステップＳ４０７へ進む。ダイレクト印刷を判定された場合にはステップＳ４１１へ進む。ステップＳ４０７では、印刷用データ送信部３１４は、グラフィックエンジン２０２を介してプリンタドライバグラフィックコンポーネント２０６に印刷用データ３０３を送信する。
【００３１】
ステップＳ４０１〜４０７のように処理することで、アプリケーション２０１は印刷設定によって、プリンタドライバグラフィックコンポーネント２０６の処理の要・不要を判断することが可能となる。そして、判定結果にしたがって、不要なときには無駄なＰＣでの処理を省くことができ、必要なときには、機能を適切に実現することが可能となっている。
【００３２】
ステップＳ４０８では、プリンタドライバグラフィックコンポーネント２０６は印刷用データ３０３を受信し、必要な機能の処理を行い、印刷データ３０５の作成を行う。本ステップの詳細については、図８を用いて後述する。なお、印刷データ３０５はプリンタ１５００が処理可能な形式である。ステップＳ４０９では、スプーラ転送部３３４が、印刷データ３０５をシステムスプーラ２０４へ転送する。印刷データ３０５には、印刷設定３０２が含まれるか或いは印刷設定３０２と合わせて転送される。
【００３３】
ステップＳ４１０では、プリンタ１５００が受信した印刷データ３０５の出力を行い、印刷処理を終了する。
【００３４】
ステップＳ４１１では、印刷用データ送信部３１４が、印刷用データ３０４をシステムスプーラ２０４へ転送する。印刷用データ３０４には、印刷設定３０２が含まれるか或いは印刷設定３０２と合わせて出力される。
【００３５】
以上の手順によって、処理対象の印刷ジョブをプリンタドライバを介してプリンタに送信するか、それともアプリケーションから直接プリンタに送信するかが決定される。そして決定に従って、印刷ジョブを記述した印刷設定データ及び印刷用データがプリンタに送信される。
【００３６】
＜プリンタドライバ・ダイレクト判定処理＞
図５は、本実施形態のプリンタドライバ２０３で処理を行うか否かを判定する処理（ステップＳ４０４）の詳細を示すフローチャートである。
【００３７】
まず、ステップＳ５０１では、ドライバ機能判定部３２３は、現在処理対象となっているプリンタ１５００のプリンタ設定情報３０６を参照し、プリンタ１５００によりダイレクト印刷が可能かどうかの判定を行う。判定の結果ダイレクト印刷が可能であると判定された場合にはステップＳ５０２へ進み、不可と判定された場合にはステップＳ５０５へ進む。例えば、本実施形態ではプリンタ１５００がＸＰＳ互換プリンタであるか判定され、そうであればダイレクト印刷可能であると判定される。その他の判定方法として、プリンタ１５００がダイレクト印刷機能を備えるか否かの機能情報を使って判定しても良い。この判定が第１の判定であり、第１の判定手段に相当する。つまり、プリンタ１５００は、前記アプリケーションから出力される印刷用データを解釈できる。
【００３８】
ステップＳ５０２では、ドライバ機能判定部３２３は、ダイレクト印刷に関わる設定情報６００を取得する。ステップＳ５０３では、ドライバ機能判定部３２３は、ステップＳ４０３で作成された禁則処理済の印刷設定から、１つの機能を取得する。ステップＳ５０４では、ドライバ機能判定部３２３は、ステップＳ５０３で取得した機能が、ドライバ機能リスト６０１に含まれているかの判定を行う。含まれていた場合にはステップＳ５０５へ進み、含まれていなかった場合にはステップＳ５０６へ進む。ステップＳ５０４の判定は、ダイレクト印刷の可能なプリンタの場合、印刷設定に、プリンタでは実現できない設定（プリンタドライバの処理を必要とする設定）が含まれているか否かを判定する第２の判定手段に相当する。
【００３９】
ステップＳ５０５では、ドライバ機能判定部３２３は、ステップＳ５０３で取得した機能が、ダイレクト印刷優先機能リスト６０４に含まれているかの判定を行う。含まれていた場合にはステップＳ５０６へ進み、含まれていなかった場合にはステップＳ５０７へ進む。換言すれば、このステップは、印刷設定に含まれた、プリンタでは実現できない設定（機能）を無視するか否か判定するものであり、これが第３の判定手段に相当する。
【００４０】
ステップＳ５０６では、ドライバ機能判定部３２３は、印刷設定に記載されたすべての機能の処理を終えたかどうかを判定する。
【００４１】
ステップＳ５０７では、ドライバ機能判定部３２３は、禁則処理済の印刷設定に対して、プリンタドライバ２０３での処理が不要であることについて記載された処理済印刷設定３０２を作成する。
【００４２】
ステップＳ５０８では、ドライバ機能判定部３２３は、禁則処理済の印刷設定に対して、プリンタドライバ２０３での処理が必要であることについて記載された処理済印刷設定３０２を作成する。
【００４３】
以上の手順によって、処理済み印刷設定３０２に、当該印刷設定の実現のためにプリンタドライバによる処理を行うか否かが書き込まれる。この書き込まれた判定結果が、図４のステップＳ４０６による判定の対象となる。
【００４４】
なお本実施形態では、ステップＳ５０５の判定を行っているが、例えばステップＳ５０４の判定の結果、ドライバ機能と判定されれば、そのままステップＳ５０８へ分岐するよう処理を構成しても良い。その場合には、ダイレクト印刷優先機能の設定は不要となり、ドライバで提供する機能であっても、ダイレクト印刷を優先してその機能（あるいは設定値）無視することはできなくなる。
【００４５】
＜プリンタドライバ印刷実行時の処理＞
図８は印刷実行時にプリンタドライバ２０３で行うステップＳ４０８の処理のフローチャートを示した図である。また図９はプリンタドライバ２０３でダイレクト印刷を行うか否かの判定を行う図８のステップＳ８０６の処理のフローチャートである。図８及び９を参照しながら印刷実行時のプリンタドライバ２０３の処理について説明する。
【００４６】
ステップＳ８０１では、プリンタドライバグラフィックコンポーネント２０６は印刷用データ３０３を取得する。
【００４７】
ステップＳ８０２では、プリンタドライバグラフィックコンポーネント２０６は印刷用データ３０３に含まれる印刷設定３０１の取得を行う。
【００４８】
ステップＳ８０３ではプリンタドライバグラフィックコンポーネント２０６は、プリンタドライバＵＩコンポーネント２０５と通信を行い、ステップ８０２で取得した印刷設定を印刷設定部３２１に渡し、処理を依頼する。続いて禁則処理部３２２が受信した印刷設定に対して禁則処理を行い、禁則処理済の印刷設定を作成する。
【００４９】
ステップＳ８０４では、ドライバ機能判定部３２３は、プリンタドライバ２０３で実現する機能が存在するかの判定を行い、処理済印刷設定を作成する。ドライバ機能判定部３２３でのドライバ機能の判定処理の詳細はステップS４０４と同一であり、図５を用いてステップＳ５０１〜５０８にて前述したとおりである。ステップＳ８０４のように、プリンタドライバグラフィックコンポーネント２０６により処理が行われるときには、既にプリンタドライバは起動しているため、ステップＳ５０５のダイレクト優先機能の判定は行わなくても構わない。この場合、プリンタドライバ２０３で実現する機能は全て実行されることになる。また、プリンタドライバ２０３で実現するべき機能が存在しないと判定された場合には、直ちにダイレクト印刷を実行することも可能である。また、ステップＳ５０７，５０８により判定結果を印刷設定に書き戻す処理はは不要である。
【００５０】
続いて、ステップＳ８０６において、ダイレクト判定部３３１が、処理済印刷設定を用いて、プリンタドライバ２０３で実現するべき機能があるかの判定を行う。プリンタドライバ２０３で、実現する機能が存在する場合にはステップＳ８０５に進み、存在しない場合にはステップＳ８０６に進む。
【００５１】
ステップＳ８０５では、機能実現部３３２は印刷設定に応じて、レイアウトを施し、付加描画などを行う。
【００５２】
ステップＳ８０６では、ダイレクト判定部３３１はプリンタドライバグラフィックコンポーネント２０６が受信した印刷用データ３０３の形式のままダイレクトで印刷を行うか、ＰＤＬやイメージへの返還を行うかの判定を行う。ダイレクト印刷と判定された場合には（Ｓ８０７−Ｙｅｓ）、そのまま処理を終了し、ＰＤＬやイメージへの変換を行うと判定された場合には（Ｓ８０７−Ｎｏ）、ステップＳ８０８へ進む。ステップＳ８０６における判定処理の詳細は図９を用いて後述する。
【００５３】
ステップＳ８０８では、レンダリング部（ＰＤＬ変換部）３３３は、印刷用データ３０３をＰＤＬやイメージへと変換処理を行い、処理を終了する。変換済みの印刷用データは、この後、システムスプーラを介してプリンタ１５００に送信される（ステップＳ４０９）。
【００５４】
このようにプリンタドライバ２０３のダイレクト判定部３３１がダイレクトの判定処理を行うことで、本実施形態では、アプリケーション２０１がドライバ・ダイレクト判定部３１３を具備しない実施形態を取ることも可能となる。プリンタドライバ２０３にて無駄なＰＣでの処理を省きつつ、適切に機能を実現し、元データの形式のままダイレクト印刷することが可能となる。
【００５５】
図９を参照しながら、ステップＳ８０６のダイレクト判定処理の詳細について説明する。ステップＳ９０１では、ダイレクト判定部３３１は現在処理対象となっているプリンタでダイレクト印刷が可能かどうかの判定を行う。判定の結果ダイレクト印刷が可能となった場合にはステップＳ９０２へ進み、不可となった場合にはステップＳ９０８へ進む。
【００５６】
ステップＳ９０２では、ダイレクト判定部３３１は、ダイレクト印刷に関わる設定情報６００の取得を行う。
【００５７】
ステップＳ９０３では、ダイレクト判定部３３１は、ダイレクト印刷実行設定６０２を取得し、ダイレクト印刷の印刷が優先されているかどうかを判定する。優先されているときにはステップS９０８へ進み、優先されていないときにはステップＳ９０４へ進む。
【００５８】
ステップＳ９０４では、ダイレクト判定部３３１は、ダイレクト印刷実行機能リスト６０３の取得を行う。
【００５９】
ステップＳ９０５では、ダイレクト判定部３３１は、禁則処理済の印刷設定から、１つ機能を取得する。
【００６０】
ステップＳ９０６では、ダイレクト判定部３３１は、ステップＳ９０５で取得した機能が、ダイレクト印刷実行機能リスト６０３に含まれているかの判定を行う。含まれていた場合にはステップＳ９０８へ進み、含まれていなかった場合にはステップＳ９０７へ進む。
【００６１】
ステップＳ９０７では、ダイレクト判定部３３１は、印刷設定に記載されたすべての機能の処理を終えたかどうかを判定する。終了していればステップＳ９０９へ分岐する。終了していなければステップＳ９０５へと戻る。
【００６２】
ステップＳ９０８では、ダイレクト判定部３３１は、ダイレクト印刷を行うことを決定し、処理を終了する。決定した内容はステップＳ８０７の判定のために保存される。
【００６３】
ステップＳ９０９では、ダイレクト判定部３３１は、ＰＤＬ／イメージ変換印刷を行うことを決定し、処理を終了する。
【００６４】
＜印刷設定のダイレクト・プリンタドライバ印刷の判定結果の記載＞
図１１はアプリケーションが作成した印刷設定の一例を示す図である。図１２はプリンタドライバが処理を施しダイレクト印刷と判定した印刷設定の一例を示す図である。図１３はプリンタドライバが処理を施しプリンタドライバ経由の印刷と判定した印刷設定の一例を示す図である。図１１〜１３を参照しながら、印刷設定のダイレクト・プリンタドライバ印刷の判定結果の記載について説明する。
【００６５】
図１１に示される印刷設定は、本実施形態では二つの部分に分けられる。１つ目が、機能としてアプリケーションが指定する印刷設定記述部分であり、２つ目がダイレクト印刷・プリンタドライバ経由印刷のダイレクト印刷判定結果記述部分である。図１１で示される印刷設定では、印刷設定記述部分にて用紙方向やコレートなどの設定が記載されている。さらに、図１１ではセキュアプリントという機能が設定されている。本図に示すセキュアプリントとは、プリンタドライバ２０３の設定画面を使って、ユーザー名やドキュメント名、パスワード名をユーザーに入力させることにより、実現される。すなわち、セキュアプリントを実行する場合には、プリンタドライバを介した印刷が必要となる。図１１のダイレクト印刷判定結果記述部分にはＡｕｔｏと記述されており、これは、プリンタドライバによってダイレクト印刷するか否かを決定することを意味している。
【００６６】
なお、アプリケーションは、プリンタドライバの機能情報を取得しプリンタドライバの機能を設定することもできる。そのため、例えば、アプリケーションが、プリンタドライバが「セキュアプリント」機能を備えることを示す情報を取得し、アプリケーションの設定画面にセキュアプリント機能を表示する。    
そして、ユーザーがこのアプリケーションの設定画面を使ってセキュアプリント機能を選択することで、アプリケーションが指定する印刷設定記述部分に「セキュアプリント」が記載される。
【００６７】
図１３で示される印刷設定は図１１で示される印刷設定にプリンタドライバ２０３の処理が適用された処理済印刷設定である。前述したとおり、図１１で示される印刷設定はセキュアプリントというプリンタドライバ２０３での処理を必要とする。そのため、プリンタドライバ２０３は、プリンタドライバ経由での印刷が必要であると判定し、ダイレクト印刷・プリンタドライバ経由印刷の判定結果記述部分に設定値としてＯｆｆを記載する。これによってプリンタドライバ経由であることが示されている。これは図５のステップＳ５０７または図９のステップＳ９０９で記述される。
【００６８】
図１１で示される印刷設定からセキュアプリントを行わないように変えた印刷設定にプリンタドライバ２０３の処理が適用された処理済印刷設定である。プリンタドライバ２０３は、プリンタドライバ経由での印刷が不要であると判定し、ダイレクト印刷・プリンタドライバ経由印刷の判定結果記述部分に設定値としてＯｎを記載する。これによってプリンタドライバ経由でないことが示されている。これは図５のステップＳ５０８または図９のステップＳ９０８で記述される。
【００６９】
また、図１２で示される印刷設定は図１１で示される印刷設定にプリンタドライバ２０３の処理が適用された処理済印刷設定である。例えば、本願の図７を用いて「セキュアプリント」のチェックが外されていた場合、プリンタドライバ２０３は、セキュアプリントが指定されていてもダイレクト印刷すると判定する。そのため、図１２に示すようにダイレクト印刷・プリンタドライバ経由印刷の判定結果記述部分に設定値としてＯｎが記載される。
【００７０】
以上のようにして本実施形態によれば、ダイレクト印刷を行うか否かを、プリンタの機能や印刷設定に従って決定することができる。その決定の基準として、プリンタドライバによって実現される機能の重要性と処理効率とを考量して、ダイレクト印刷を行うか否かを決定できる。たとえば、使用対象のプリンタでは実現できない機能があっても、ダイレクト印刷を優先すること、すなわち設定された機能を無視するなどの設定を行うこともできる。この結果、印刷処理によるＰＣのＣＰＵ占有率を減少させ、不要な処理を削減することができ、あわせて、印刷設定に設定された機能が抜けることなく適切に印刷を行うことも可能となる。
【００７１】
［他の実施形態］
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体およびプログラムを記憶した記憶媒体は本発明を構成することになる。
【００７２】
また、本発明には、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。 
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態に係る印刷システムの構成を示すブロック図である。
【図２】図１に示すホストコンピュータの構成の一例を示す図である。
【図３】本実施形態における印刷設定及び印刷実行時におけるシステムの構成を示す図である。
【図４】本実施形態におけるダイレクト・プリンタドライバ切り替え印刷処理の手順を示すフローチャートである。
【図５】図４に示すフローチャートのダイレクト印刷の判定処理の詳細を示す図である。
【図６】プリンタドライバが保持するダイレクト印刷の設定情報を示す図である。
【図７】プリンタドライバにダイレクト印刷の設定情報を設定するための画面の一例を示す図である
【図８】印刷実行時のプリンタドライバの処理の手順を示すフローチャートである。
【図９】図８に示すフローチャートの詳細を示すフローチャートである。
【図１０】アプリケーションが印刷実行時に表示する画面の一例を示す図である。
【図１１】アプリケーションが作成した印刷設定の一例を示す図である。
【図１２】プリンタドライバが処理を施しダイレクト印刷と判定した印刷設定の一例を示す図である。
【図１３】プリンタドライバが処理を施しプリンタドライバ経由の印刷と判定した印刷設定の一例を示す図である。
【符号の説明】
【００７４】
１、１２  ＣＰＵ
２、１９  ＲＡＭ
３、１３  ＲＯＭ
４、１５  システムバス
【図１】
2010165261.tif 000003
【図２】
2010165261.tif 000004
【図３】
2010165261.tif 000005
【図４】
2010165261.tif 000006
【図５】
2010165261.tif 000007
【図６】
2010165261.tif 000008
【図７】
2010165261.tif 000009
【図８】
2010165261.tif 000010
【図９】
2010165261.tif 000011
【図１０】
2010165261.tif 000012
【図１１】
2010165261.tif 000013
【図１２】
2010165261.tif 000014
【図１３】
2010165261.tif 000015