(57)【要約】【課題】プリンタドライバを用いないアプリケーションからの印刷であってもプリンタドライバを用いる場合と同様の印刷設定を利用可能にする。【解決手段】ネットワークを介して接続する機器と通信する情報処理装置であって、印刷設定に対する設定値を指定させる第一の設定指定部と第二の設定指定部と、印刷設定に対する設定値として、どちらかにより指定させる制御部と、印刷設定と設定値とが紐付けて記憶される印刷設定情報記憶部と、印刷データを生成するデータ生成部と、印刷設定に対する設定値がどちらにより指定されたかを判定する判定部と、印刷設定と指定された設定値とを紐付けて印刷設定情報記憶部に書き込む書き込み部と、印刷設定に対応する設定値を印刷設定情報記憶部から読み出す読み出し部と、設定値を含む印刷設定に対応する印刷コマンドが追加された印刷データを機器へと送信する送信部と、を備える。【選択図】図１
2019164747.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続する機器と通信する情報処理装置であって、
印刷設定に対する設定値を指定させる第一の設定指定部と、
印刷設定に対する設定値を指定させる第二の設定指定部と、
印刷設定に対する設定値として、前記第一の設定指定部および前記第二の設定指定部のどちらかにより指定させる制御部と、
前記印刷設定と前記設定値とが紐付けて記憶される印刷設定情報記憶部と、
印刷データを生成するデータ生成部と、
前記印刷設定に対する前記設定値が前記第一の設定指定部および前記第二の設定指定部のどちらにより指定されたかを判定する判定部と、
前記印刷設定と前記第一の設定指定部または前記第二の設定指定部により指定された前記設定値とを紐付けて前記印刷設定情報記憶部に書き込む書き込み部と、
前記印刷設定に対応する前記設定値を前記印刷設定情報記憶部から読み出す読み出し部と、
前記設定値を含む前記印刷設定に対応する印刷コマンドが追加された前記印刷データを前記機器へと送信する送信部と、を備える、
情報処理装置。
【請求項２】
前記印刷設定情報記憶部に前記印刷設定に対して前記設定値が指定されずに印刷が実行されたことを示すフラグが立っているか否かを判定するフラグ判定部と、
前記印刷設定情報記憶部にフラグが立っていない場合には、前記書き込み部が前記印刷設定と前記設定値とを紐付けて前記印刷設定情報記憶部に書き込み、
前記印刷設定情報記憶部にフラグが立っている場合には、前記読み出し部が前記印刷設定に対応する前記設定値を前記印刷設定情報記憶部から読み出す、
請求項１に記載の情報処理装置。
【請求項３】
前記設定値はユーザ認証のための値である、
請求項１または請求項２に記載の情報処理装置。
【請求項４】
ネットワークを介して接続する機器と通信する情報処理装置で実行される印刷方法であって、
第一の設定指定部および第二の設定指定部が、印刷設定に対する設定値を指定させる設定指定ステップと、
データ生成部によって印刷データが生成されると、判定部が、前記印刷設定に対する前記設定値が前記第一の設定指定部および前記第二の設定指定部のどちらにより指定されたかを判定する判定ステップと、を有し、
前記印刷設定に対して前記設定値が指定されている場合には、書き込み部が、前記印刷設定と前記第一の設定指定部または前記第二の設定指定部により指定された前記設定値とを紐付けて印刷設定情報記憶部に書き込む書き込みステップを行い、
前記印刷設定に対して前記設定値が指定されていない場合には、読み出し部が、前記印刷設定に対応する前記設定値を前記印刷設定情報記憶部から読み出す読み出しステップを行う、
印刷方法。
【請求項５】
コンピュータに、
第一の設定指定部および第二の設定指定部により印刷設定に対する設定値を指定させる設定指定ステップと、
印刷データが生成されると、前記印刷設定に対する前記設定値が前記第一の設定指定部および前記第二の設定指定部のどちらにより指定されたかを判定する判定ステップと、を実行させ、
前記印刷設定に対して前記設定値が指定されている場合には、前記印刷設定と前記第一の設定指定部または前記第二の設定指定部により指定された前記設定値とを紐付けて印刷設定情報記憶部に書き込む書き込みステップを実行させ、
前記印刷設定に対して前記設定値が指定されていない場合には、前記印刷設定に対応する前記設定値を前記印刷設定情報記憶部から読み出す読み出しステップを実行させるための、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷方法、およびプログラムに関する。
【背景技術】
【０００２】
プリンタ等の画像形成装置において、部門による印刷の管理等のため、ユーザＩＤ及びパスワードを設定可能な技術が既に知られている。
【０００３】
このような画像形成装置での印刷時、プリンタ記述ファイルに記憶させたユーザＩＤ及びパスワードをプリンタドライバに読み出させ、ユーザＩＤ及びパスワードの再入力の手間を省く装置が知られている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、プリンタドライバを利用しないアプリケーションから印刷を行う場合には、ユーザＩＤ及びパスワードを読み出してユーザ認証することができない。このように、従来技術では、例えばユーザＩＤ及びパスワードのような、プリンタドライバを用いる場合であれば設定可能な印刷設定等を、プリンタドライバを用いないアプリケーションから印刷を行う場合には利用することができなかった。
【０００５】
本発明は、上述の課題に鑑みてなされたものであって、プリンタドライバを用いないアプリケーションからの印刷であってもプリンタドライバを用いる場合と同様の印刷設定を利用可能な情報処理装置、印刷方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介して接続する機器と通信する情報処理装置であって、印刷設定に対する設定値を指定させる第一の設定指定部と、印刷設定に対する設定値を指定させる第二の設定指定部と、印刷設定に対する設定値として、前記第一の設定指定部および前記第二の設定指定部のどちらかにより指定させる制御部と、前記印刷設定と前記設定値とが紐付けて記憶される印刷設定情報記憶部と、印刷データを生成するデータ生成部と、前記印刷設定に対する前記設定値が前記第一の設定指定部および前記第二の設定指定部のどちらにより指定されたかを判定する判定部と、前記印刷設定と前記第一の設定指定部または前記第二の設定指定部により指定された前記設定値とを紐付けて前記印刷設定情報記憶部に書き込む書き込み部と、前記印刷設定に対応する前記設定値を前記印刷設定情報記憶部から読み出す読み出し部と、前記設定値を含む前記印刷設定に対応する印刷コマンドが追加された前記印刷データを前記機器へと送信する送信部と、を備える。
【発明の効果】
【０００７】
本発明によれば、プリンタドライバを用いないアプリケーションからの印刷であってもプリンタドライバを用いる場合と同様の印刷設定を利用できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態にかかるシステムの構成の一例を示す図である。
【図２】図２は、実施形態にかかるプリンタのハードウェア構成を示すブロック図である。
【図３】図３は、実施形態にかかるクライアントＰＣのハードウェア構成の一例を示す図である。
【図４】図４は、実施形態にかかるクライアントＰＣの機能構成および動作の一例を示す図である。
【図５】図５は、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」の基本説明図である。
【図６】図６は、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効な場合に印刷ダイアログが表示する印刷設定の一例を示す図である。
【図７】図７は、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が無効な場合に印刷ダイアログが表示する印刷設定の一例を示す図である。
【図８】図８は、実施形態にかかるＤｒｉｖｅｒの機能構成の一例を示す図である。
【図９】図９は、実施形態にかかるクライアントＰＣのプリンタドライバを用いた印刷動作例を示すシーケンス図である。
【図１０】図１０は、ＵＩ設定判定部による判定処理のフローの一例を示す図である。
【図１１】図１１は、実施形態にかかる印刷設定の具体例を示す図である。
【図１２】図１２は、実施形態にかかるＰＰＤの印刷設定の具体例を示す図である。
【図１３】図１３は、実施形態にかかるクライアントＰＣの機能構成および動作の他の例を示す図である。
【図１４】図１４は、実施形態にかかるクライアントＰＣのプリンタドライバを用いない印刷動作例を示すシーケンス図である。
【図１５】図１５は、実施形態にかかるクライアントＰＣによる印刷処理の手順の一例を示すフロー図である。
【図１６】図１６は、実施形態の変形例にかかるＤｒｉｖｅｒの機能構成の一例を示す図である。
【図１７】図１７は、実施形態の変形例にかかるクライアントＰＣによる印刷処理の手順の一例を示すフロー図である。
【発明を実施するための形態】
【０００９】
以下に、図１〜図１７を参照しながら、本発明にかかる情報処理装置、印刷方法、およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１０】
（システムの全体構成）
図１は、実施形態にかかるシステム１の構成の一例を示す図である。実施形態にかかるシステム１が有する情報処理装置としてのクライアントＰＣ２００は、ネットワークを介して接続する機器としてのプリンタ１００と通信するクライアントＰＣ２００であって、印刷設定に対する設定値を指定させる設定指定部としての印刷ダイアログ２４０と、印刷設定と設定値とが紐付けて記憶される印刷設定情報記憶部としてのプリントキュー記憶部２１２と、印刷データを生成するデータ生成部としてのアプリケーション２５０ａ，２５０ｂと、印刷設定に対して設定値が指定されているか否かを判定する判定部としてのＵＩ設定判定部Ｄ２と、印刷設定と設定値とを紐付けてプリントキュー記憶部２１２に書き込む書き込み部としてのＰＰＤ書き込み部Ｄ１と、印刷設定に対応する設定値をプリントキュー記憶部２１２から読み出す読み出し部としてのＰＰＤ読み出し部Ｄ３と、設定値を含む印刷設定に対応する印刷コマンドが追加された印刷データを機器へと送信する送信部としての通信実行部２１６と、を備える。以下に、実施形態のシステム１の詳細について説明する。
【００１１】
図１に示すように、実施形態のシステム１は、クライアントＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）２００と、プリンタ１００とを備える。クライアントＰＣ２００とプリンタ１００とはネットワーク９０を介して互いに接続されている。ネットワーク９０は、例えば、企業のオフィスなどで用いられる社内ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の社内コンピュータネットワークである。
【００１２】
機器（より具体的には、画像形成装置）としてのプリンタ１００は、例えば印刷機能を有する。情報処理装置としてのクライアントＰＣ２００は、ネットワーク９０を介してプリンタ１００に画像データ等の印刷データ及び印刷設定を送信して印刷を実行させる。図１の例では、クライアントＰＣ２００及びプリンタ１００の台数が各１台である場合を例示しているが、これに限らず、クライアントＰＣ２００及びプリンタ１００の台数は任意である。
【００１３】
（プリンタのハードウェア構成）
図２は、実施形態にかかるプリンタ１００のハードウェア構成を示すブロック図である。図２に示すように、プリンタ１００は、コントローラ１１０とエンジン部（Ｅｎｇｉｎｅ）１６０とをＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）バスで接続した構成を有する。
【００１４】
エンジン部１６０は、ＰＣＩバスに接続可能なプリンタエンジンであり、例えば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタを有する。なお、このエンジン部１６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００１５】
コントローラ１１０は、プリンタ１００全体の制御と描画、通信、プリンタ１００が備える操作表示装置１２０からの入力を制御する。具体的には、コントローラ１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１と、ノースブリッジ（ＮＢ）１１３と、システムメモリ（ＭＥＭ−Ｐ）１１２と、サウスブリッジ（ＳＢ）１１４と、ローカルメモリ（ＭＥＭ−Ｃ）１１７と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１１６と、ハードディスクドライブ（ＨＤＤ）１０３とを有する。
【００１６】
ＣＰＵ１１１は、プリンタ１００の全体制御を行う。ＣＰＵ１１１は、ＮＢ１１３と、ＭＥＭ−Ｐ１１２と、ＳＢ１１４とからなるチップセットを介して他の機器と接続される。ＮＢ１１３とＡＳＩＣ１１６との間は、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）バス１１５で接続されている。ＡＳＩＣ１１６は、例えば、セントロニクスケーブルを介して、直接的にクライアントＰＣ２００に接続されてもよい。
【００１７】
ＮＢ１１３は、ＣＰＵ１１１とＭＥＭ−Ｐ１１２、ＳＢ１１４、ＡＧＰバス１１５とを接続するブリッジであり、ＭＥＭ−Ｐ１１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００１８】
ＳＢ１１４は、ＮＢ１１３とＰＣＩデバイス、周辺デバイスとを接続するブリッジである。ＳＢ１１４には、ＰＣＩバスを介してＮＢ１１３が接続されている。ＰＣＩバスには、クライアントＰＣ２００と相互通信するネットワークインターフェース（Ｉ／Ｆ）１７０なども接続される。
【００１９】
ＭＥＭ−Ｐ１１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタ１００の描画用メモリなどとして用いるシステムメモリである。ＭＥＭ−Ｐ１１２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１２ａと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２ｂとを有する。
【００２０】
ＲＯＭ１１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１１２ｂは、プログラムやデータの展開用メモリ、プリンタ１００の描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００２１】
ＡＳＩＣ１１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、ＡＧＰバス１１５、ＰＣＩバス、ＨＤＤ１０３およびＭＥＭ−Ｃ１１７をそれぞれ接続するブリッジの役割を有する。ＡＳＩＣ１１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１１７を制御するメモリコントローラと、複数のＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、ＰＣＩユニットとからなる。ＤＭＡＣは、ハードウェアロジックなどにより画像データの回転などを行う。ＰＣＩユニットは、エンジン部１６０との間でＰＣＩバスを介したデータ転送を行う。
【００２２】
ＡＳＩＣ１１６には、ＰＣＩバスを介してＦＣＵ（Ｆａｃｓｉｍｉｌｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１３０、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）１４０、ＩＥＥＥ１３９４（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ  １３９４）インターフェース１５０が接続される。操作表示装置１２０はＡＳＩＣ１１６に直接接続されている。
【００２３】
ＭＥＭ−Ｃ１１７は、コピー用画像バッファ、符号バッファとして用いられる。
【００２４】
ＨＤＤ１０３は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うストレージである。ＨＤＤ１０３は、プリンタ１００で実行されるアプリケーションのライセンスファイルを保存する。
【００２５】
ＡＧＰバス１１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースである。ＡＧＰバス１１５は、ＭＥＭ−Ｐ１１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
【００２６】
（クライアントＰＣのハードウェア構成）
図３は、実施形態にかかるクライアントＰＣ２００のハードウェア構成の一例を示す図である。図３に示すように、クライアントＰＣ２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、機器Ｉ／Ｆ２０５、ネットワークＩ／Ｆ２０８を有し、これらはシステムバスで互いに接続されている。機器Ｉ／Ｆ２０５には、表示部２０６及び操作部２０７が接続されている。
【００２７】
ＣＰＵ２０１は演算手段であり、クライアントＰＣ２００全体の動作を統括的に制御する。ＲＡＭ２０２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ２０１が情報を処理する際の作業領域として用いられる。ＲＯＭ２０３は、読み出し専用の不揮発性の記憶媒体であり、ファームウェア等のプログラムが格納されている。
【００２８】
ＨＤＤ２０４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーションプログラム等が格納される。ＨＤＤ２０４は、クライアントＰＣ２００の各種機能を実現するために必要なファイルやデータ等を格納する。
【００２９】
機器Ｉ／Ｆ２０５は、表示部２０６及び操作部２０７の各々をシステムバスに接続するインターフェースである。表示部２０６は、各種の情報を表示する視覚的ユーザインターフェースであり、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などで構成される。操作部２０７は、キーボードやマウス等、ユーザがクライアントＰＣ２００に対して各種の情報を入力することを可能にするユーザインタ−フェースである。
【００３０】
ネットワークＩ／Ｆ２０８は、クライアントＰＣ２００をネットワーク９０に接続するインターフェースである。
【００３１】
このようなハードウェア構成において、ＲＯＭ２０３に格納されたプログラムや、ＨＤＤ２０４又は図示しない光学ディスク等の記憶媒体からＲＡＭ２０２にロードされたプログラムに従ってＣＰＵ２０１が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、クライアントＰＣ２００の機能を実現する機能ブロックが構成される。
【００３２】
なお、クライアントＰＣ２００用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディア等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００３３】
（クライアントＰＣの機能構成）
図４は、実施形態にかかるクライアントＰＣ２００の機能構成および動作の一例を示す図である。図４に示すように、クライアントＰＣ２００は、ＯＳ２２０上に、ＰＤＥ（Ｐｒｉｎｔ  Ｄｉａｌｏｇ  Ｅｘｔｅｎｓｉｏｎ）２３０と、印刷ダイアログ２４０と、アプリケーション２５０ａ及び後述するアプリケーション２５０ｂと、印刷システム（ＣＵＰＳ：Ｃｏｍｍｏｎ  Ｕｎｉｘ（登録商標）  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）２１０とを有する。
【００３４】
印刷システム２１０は、生成部２１１と、プリントキュー記憶部（Ｃｏｎｆｉｇ  Ｆｉｌｅｓ）２１２と、スプーラ（ｃｕｐｓｄ）２１３と、変換情報記憶部（ｍｉｍｅ．ｃｏｎｖｓ，ｍｉｍｅ．ｔｙｐｅｓ）２１４と、変換部２１５と、通信実行部２１６とを有している。
【００３５】
生成部２１１は、Ａｕｔｏｓｅｔｕｐ  Ｔｏｏｌの一態様であり、プリントキューを作成するために、プリントキュー記憶部２１２を書き換えるプログラムである。生成部２１１は、例えば、プリントキューを生成する際に、接続先のプリンタ１００のＩＰアドレスを調べて、プリントキューにＩＰアドレスを対応付けた対応情報をプリントキュー記憶部２１２に保存する。なお、生成部２１１は、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのように、インターネットプロトコルではない印刷プロトコルの場合には、プリントキューにＩＰアドレスがないことを記述した対応情報をプリントキュー記憶部２１２に保存する。Ａｕｔｏｓｅｔｕｐ  Ｔｏｏｌは、一般的にプリンタベンダが開発して提供される。
【００３６】
印刷設定情報記憶部としてのプリントキュー記憶部２１２には、例えば、印刷システム２１０や、使用する印刷プロトコルとプロトコル上の接続先のアドレスとを含むプリンタの設定が保存されている。また、プリントキュー記憶部２１２は、ＰｏｓｔＳｃｒｉｐｔ（登録商標）プリンタの機種ごとの情報が記録されているプリンタ記述ファイル（ＰＰＤ：ＰｏｓｔＳｃｒｉｐｔ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）を保持している。ＰＰＤは、印刷時にＰｏｓｔＳｃｒｉｐｔプリンタのドライバが参照する。
【００３７】
スプーラ２１３は、ｃｕｐｓｄの一態様であり、印刷を実行した時に、アプリケーション２５０ａから受け取った印刷データの形式から、プリントキュー記憶部２１２に記載されたプリンタ１００に出力する印刷データの形式に変換するため、変換情報記憶部２１４を参照して、処理コストの低いフィルタパイプラインを形成し、印刷データをフィルタパイプラインに流す。「フィルタパイプラインを形成する」とは、印刷データを流すフィルタ（例えば変換部２１５のＦｉｌｔｅｒ、Ｄｒｉｖｅｒ、通信実行部２１６のＢａｃｋｅｎｄｓ）を順番に並べることを意味する。フィルタ（Ｆｉｌｔｅｒ）には、ドライバ（Ｄｒｉｖｅｒ）とバックエンド（Ｂａｃｋｅｎｄｓ）も含まれる。なお、処理コストの情報として、例えば、処理負荷、画質が劣化しない、処理効率が良いなどの項目が総合的に評価されて個々のフィルタに重み付け値が付与されており、この重み付け値が最小となるような順にフィルタを並べると処理コストの低いフィルタパイプラインを形成することができる。
【００３８】
変換情報記憶部２１４は、ｍｉｍｅ．ｃｏｎｖｓ、ｍｉｍｅ．ｔｙｐｅｓの一態様であり、フィルタパイプラインを形成するための情報として、印刷システム２１０により初めから保持されている。印刷システム２１０が有しているＦｉｌｔｅｒごとに、入力データ形式、出力データ形式、処理コストの情報などが保存されている。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合では、／ｕｓｒ／ｓｈａｒｅ／ｃｕｐｓ／ｍｉｍｅ／ａｐｐｌｅ．ｃｏｎｖｓと、／ｕｓｒ／ｓｈａｒｅ／ｃｕｐｓ／ｍｉｍｅ／ｍｉｍｅ．ｃｏｎｖｓとが、これに相当する。ｍｉｍｅ．ｔｙｐｅｓには、印刷データのファイルタイプを判別するための規則が定義されている。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合では、／ｕｓｒ／ｓｈａｒｅ／ｃｕｐｓ／ｍｉｍｅ／ａｐｐｌｅ．ｔｙｐｅｓと、／ｕｓｒ／ｓｈａｒｅ／ｃｕｐｓ／ｍｉｍｅ／ｍｉｍｅ．ｔｙｐｅｓとが、これに相当する。
【００３９】
変換部２１５は、Ｆｉｌｔｅｒ  Ａ〜Ｈと、Ｄｒｉｖｅｒ  ａ〜ｄとを有している。Ｆｉｌｔｅｒは、印刷データの形式を変換する。印刷システム２１０は、様々な入力形式と出力形式に対応するため、初めから様々なＦｉｌｔｅｒを有している。例えば、ＰＤＦデータからＰｏｓｔＳｃｒｉｐｔデータへ変換するＦｉｌｔｅｒ、ＰＤＦデータからＲａｓｔｅｒデータへ変換するＦｉｌｔｅｒ、Ｒａｓｔｅｒデータからｔｉｆｆデータに変換するＦｉｌｔｅｒなどである。例えば、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合、印刷システム２１０が、最初から有しているＦｉｌｔｅｒは、／ｕｓｒ／ｌｉｂｅｘｅｃ／ｃｕｐｓ／ｆｉｌｔｅｒ／に格納されている。
【００４０】
Ｄｒｉｖｅｒは、一般的にプリンタベンダにより提供され、Ｆｉｌｔｅｒによるデータ変換が終わった後に、プリンタベンダ独自の印刷データ形式に変換したり、プリンタベンダ独自の印刷コマンドを印刷データに付加したりするＦｉｌｔｅｒである。印刷する際に、どのＤｒｉｖｅｒを使うかはプリントキューの中に定義されている。
【００４１】
送信部としての通信実行部２１６は、複数のＢａｃｋｅｎｄｓから構成されている。図４の例では、通信実行部２１６は、Ｂａｃｋｅｎｄｓ  ＵＳＢ〜Ｂａｃｋｅｎｄｓ  ＳＭＢを含んでいる。通信実行部２１６に含まれる各Ｂａｃｋｅｎｄｓは、プリンタ１００との通信を行う通信モジュールの機能を有している。通信実行部２１６に含まれる各Ｂａｃｋｅｎｄｓは、それぞれが独立した実行ファイルである。また、通信実行部２１６に含まれる各Ｂａｃｋｅｎｄｓは、それぞれが各通信プロトコルに対応付いている。すなわち、１つの通信プロトコルには対応する１つのＢａｃｋｅｎｄｓがある。
【００４２】
データ生成部としてのアプリケーション２５０ａは、ＯＳ２２０にインストールされて用いられる一般的なアプリケーションである。アプリケーション２５０ａは、後述するアプリケーション２５０ｂと異なり、プリンタドライバを用いて印刷を実行する。
【００４３】
第一の設定指定部としての印刷ダイアログ２４０は、ＯＳ２２０により提供される。印刷ダイアログ２４０は、印刷設定である各種印刷設定項目（例えば両面印刷など）の設定値の入力等、ユーザが利用したいプリンタ機能を選択するためのユーザインターフェースを提供する。ユーザインターフェースとしては、基本的には、ＰＰＤに記載されている内容がＯＳ２２０により表示される。
【００４４】
ＰＤＥ２３０は、プリンタベンダが提供するプラグインモジュールであり、プリンタベンダが独自のユーザインターフェースを提供するためのモジュールである。ＰＤＥ２３０は、よりリッチなユーザインターフェースを提供する場合に、プラグインによって印刷ダイアログ２４０を拡張することで、印刷ダイアログ２４０の一部（第二の設定指定部）として表示される。ＰＤＥ２３０によりＰＰＤの設定を拡張することができる。例えば、一例としてユーザＩＤおよびパスワードなどによるユーザ認証がある。ユーザ認証の拡張は、情報の流出を抑制するためや、部門による印刷の管理等のために行われる。
【００４５】
ここで、図５〜図７を用いて、制御部によるアプリケーション２５０ａと印刷ダイアログ２４０とＰＤＥ２３０との制御の例を「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」を例に説明する。「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」は、セキュリティ強化を目的としたｍａｃＯＳが提供する仕組みであり、アプリ製作者がアプリに電子署名をする場合において有効に設定されるものである。
【００４６】
図５は、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」の基本説明図である。図５に示すようにアプリケーション２５０ａに対し「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効に設定されていると、そのアプリケーション２５０ａからは同じ署名のモジュールか、もしくはＡｐｐｌｅ社製のモジュールしか起動することができなくなる。図５に示す例では、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効なＡ社製のアプリケーション２５０ａから印刷ダイアログ２４０のようなＡｐｐｌｅ社製のモジュールは呼び出せるが、Ａ社の署名がないＢ社製のモジュールは呼び出せない。また、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効なＡ社製のアプリケーションから呼び出されたＡｐｐｌｅ社製のモジュールから、Ａ社の署名がないＣ社製のモジュール（例えばＰＤＥ２３０など）は呼び出せない。つまり、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効なアプリケーション２５０ａからは、ＰＤＥ２３０で拡張したユーザインタフェース（ＵＩ）を表示することができない。「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効な場合と無効な場合のそれぞれの印刷ダイアログ２４０における印刷設定の表示制御について次に示す。
【００４７】
図６は、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効な場合に印刷ダイアログ２４０が表示する印刷設定の一例を示す図である。印刷ダイアログ２４０は、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」の設定に関係なくＰＰＤを参照し、ＰＰＤの印刷設定である、一例としてＵｓｅｒＩＤ（ＰＰＤ）、両面、カラーなどの印刷設定項目を表示する。また、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効に設定されていることにより、印刷ダイアログ２４０はＰＤＥ２３０をロードすることができないため、ＰＰＤが提供する印刷設定項目のみを表示する。例えば、ＵｓｅｒＩＤには、ＰＰＤが提供するＵｓｅｒＩＤ（ＰＰＤ）を表示する。
【００４８】
図７は、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が無効な場合に印刷ダイアログ２４０が表示する印刷設定の一例を示す図である。印刷ダイアログ２４０は、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」の設定に関係なくＰＰＤを参照し、「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効な場合と同様に印刷ダイアログ２４０に印刷設定を表示する。また、ここでは「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が無効に設定されているため、印刷ダイアログ２４０は、ＰＤＥ２３０をロードする。このため、印刷ダイアログ２４０は、ＰＤＥ２３０の印刷設定も表示することができる。なお、そのままではＰＰＤとＰＤＥ２３０とから提供された同じ印刷設定項目について二つ表示されてしまうことになるので、ＰＤＥ２３０は印刷ダイアログ２４０のＰＰＤから提供された同じ印刷設定項目の値を非表示にする制御を行う。例えば、図７に示すように、ＵｓｅｒＩＤはＰＤＥ２３０から提供されるＵｓｅｒＩＤ（ＰＤＥ）とＰＰＤから提供されるＵｓｅｒＩＤ（ＰＰＤ）とで二つ表示されることになるため、ＰＤＥ２３０は印刷ダイアログ２４０のＵｓｅｒＩＤ（ＰＰＤ）を非表示にする制御を行う。その結果、ＵｓｅｒＩＤとして、ＰＤＥ２３０が提供するものだけが表示される。
【００４９】
ここで、図８を用い、変換部２１５が有するＤｒｉｖｅｒの構成例について説明する。
【００５０】
図８は、実施形態にかかるＤｒｉｖｅｒの機能構成の一例を示す図である。図８に示すように、各々のＤｒｉｖｅｒ  ａ〜ｄは、ＰＰＤ書き込み部Ｄ１、ＵＩ設定判定部Ｄ２、ＰＰＤ読み出し部Ｄ３、及びコマンド追加部Ｄ４を有する。
【００５１】
判定部としてのＵＩ設定判定部Ｄ２は、ユーザＩＤ、パスワード、両面印刷、用紙サイズなどの印刷設定（印刷設定項目）ごとに、ＯＳ２２０が提供する印刷ダイアログ２４０とＰＤＥ２３０とによって印刷設定（印刷設定項目）に設定値が指定されているかを判定する。
【００５２】
設定値が指定されていれば、ＵＩ設定判定部Ｄ２は、印刷設定をＰＰＤに書き込むよう、ＰＰＤ書き込み部Ｄ１に指示する。書き込み部としてのＰＰＤ書き込み部Ｄ１は、ＰＰＤに印刷設定を保存する。
【００５３】
設定値が指定されていなければ、ＵＩ設定判定部Ｄ２は、印刷設定をＰＰＤから読み出すよう、ＰＰＤ読み出し部Ｄ３に指示する。読み出し部としてのＰＰＤ読み出し部Ｄ３は、ＰＰＤから印刷設定を読み出し、読み出した印刷設定を現在の印刷設定、つまり、今回の印刷に使用する印刷設定に反映させる。
【００５４】
すべての印刷設定（印刷設定項目）に対して処理が終わると、ＵＩ設定判定部Ｄ２は、印刷設定（印刷設定項目）に対応する印刷コマンドの追加をコマンド追加部Ｄ４に指示する。追加部としてのコマンド追加部Ｄ４は、印刷設定（印刷設定項目）に対応する印刷コマンドを印刷データに追加し、通信実行部２１６のＢａｃｋｅｎｄｓへと送る。
【００５５】
（クライアントＰＣのプリンタドライバを用いた動作）
次に、図４および図９を用い、実施形態のクライアントＰＣ２００のプリンタドライバを用いた動作について説明する。図９は、実施形態にかかるクライアントＰＣ２００のプリンタドライバを用いた印刷動作例を示すシーケンス図である。
【００５６】
図４に示す一般的なアプリケーション２５０ａにおいて印刷が実行されると、印刷ダイアログ２４０及びＰＤＥ２３０が、順次、呼び出される（図９  １〜１．１）。なお、一例を挙げて説明した「Ｌｉｂｒａｒｙ  Ｖａｌｉｄａｔｉｏｎ」が有効な場合には、ＰＤＥ２３０の呼出しは行われないものとする。ＰＤＥ２３０は、ユーザインターフェースで設定されたユーザＩＤおよびパスワード等を含む設定値を印刷ダイアログ２４０へと返す。アプリケーション２５０ａでは、印刷データが生成される（図９  ２）。印刷設定と印刷データとは、スプーラ２１３へと送られる（図９  ３）。
【００５７】
スプーラ２１３は、フィルタパイプラインを形成する（図９  ３．１〜３．２）。印刷データは、変換部２１５のＦｉｌｔｅｒによりファイル形式を変換される（図９  ３．２．１〜３．２．２）。また、Ｄｒｉｖｅｒでは、独自の印刷データ形式に印刷データを変換する。
【００５８】
ＤｒｉｖｅｒのＵＩ設定判定部Ｄ２は、ユーザインターフェースでユーザＩＤおよびパスワード等の印刷設定が指定されたか否かを判定する（図９  ３．２．２．１）。より具体的には、ＵＩ設定判定部Ｄ２は、印刷ダイアログ２４０またはＰＤＥ２３０の印刷設定項目で印刷設定が指定されたか否かを判定する。この判定処理について、後に図１０を用いて説明する。プリンタドライバを用いて印刷を実行するアプリケーション２５０ａにおいては、ユーザインターフェースで設定されたユーザＩＤおよびパスワード等の設定値を含む印刷設定（図１１、図１２参照）が存在するため、ＰＰＤ書き込み部Ｄ１はかかる印刷設定（印刷設定項目の設定値）をＰＰＤに保存する（図９  ３．２．２．２）。コマンド追加部Ｄ４は、印刷データにコマンドを追加する（図９  ３．２．２．３）。Ｄｒｉｖｅｒは、全ての印刷設定（印刷設定項目）に対し、このシーケンスを繰り返す。
【００５９】
その後、印刷データは、通信実行部２１６に含まれるＢａｃｋｅｎｄｓによりプリンタ１００へと送信され印刷される（図９  ３．２．２．３．１）。
【００６０】
図１０は、ＵＩ設定判定部Ｄ２による判定処理のフローの一例を示す図である。ＵＩ設定判定部Ｄ２は、ＰＤＥ２３０から提供されたＵＩ（ＰＤＥ２３０）で印刷設定が指定されたかどうかを次のように判定する。
【００６１】
先ず、ステップＳ１１において、ＵＩ設定判定部Ｄ２は、受け取った引数を調べ、ｃｏｍ．ｒｉｃｏｈ．ｐｒｉｎｔｓｅｔｔｉｎｇｓ．１１ＡＵｓｅｒＩＤ（図１１参照）に値が設定されているかを判定する。ｃｏｍ．ｒｉｃｏｈ．ｐｒｉｎｔｓｅｔｔｉｎｇｓ．１１ＡＵｓｅｒＩＤに値が設定されている場合（Ｙｅｓ）、ＵＩ（ＰＤＥ２３０）で値が設定されたものとしてＵＩ設定判定部Ｄ２が判断し、この判定処理を終了する。
【００６２】
ｃｏｍ．ｒｉｃｏｈ．ｐｒｉｎｔｓｅｔｔｉｎｇｓ．１１ＡＵｓｅｒＩＤに値が設定されていない場合は（Ｎｏ）、ＰＤＥ２３０で値が設定されていない。従って、ステップＳ１２において、ＵＩ設定判定部Ｄ２は、ＲＩＵｓｅｒＩＤＳｔｒｉｎｇｓ（図１２参照）の値を調べ、ＰＰＤから提供されたＵＩ（ＰＰＤ）で値が設定されているかどうかを判定する。なお、ＲＩＵｓｅｒＩＤＳｔｒｉｎｇｓにはＰＰＤで指定された値が設定されるが、Ｕｓｅｒ  ＩＤのような文字列を入力するコントロールに対するＰＰＤの振る舞いとして、デフォルト値を空にすることができない。このため、「Ｎｏｎｅ」などをデフォルト値として設定している。つまり、ユーザがＵＩでＵｓｅｒ  ＩＤを指定していない場合にも、ＲＩＵｓｅｒＩＤＳｔｒｉｎｇｓの値は空にならずにデフォルト値を示す。そのため、ＵＩ設定判定部Ｄ２は、ＲＩＵｓｅｒＩＤＳｔｒｉｎｇｓの値がデフォルト値と等しくない場合に（Ｎｏ）、ＵＩ（ＰＰＤ）で値が設定されたものと判断し、この判定処理を終了する。また、ＵＩ設定判定部Ｄ２は、ＲＩＵｓｅｒＩＤの値がデフォルト値と等しい場合には（Ｙｅｓ）、ＵＩ（ＰＰＤ）で値が設定されていないものとして判断し、この判定処理を終了する。
【００６３】
ここで、図１１に、スプーラ２１３が、Ｆｉｌｔｅｒ、Ｄｒｉｖｅｒ、Ｂａｃｋｅｎｄｓへ渡す印刷設定の具体例を示す。図１１は、実施形態にかかる印刷設定の具体例を示す図である。Ｆｉｌｔｅｒ、Ｄｒｉｖｅｒ、Ｂａｃｋｅｎｄｓは、コマンドラインの引数として図１１に示す値をスプーラ２１３より受け取る。
【００６４】
「ａｒｇｖ[Ｎ]」のＮは、何番目の引数であるかに対応している。５番目の引数である「ａｒｇｖ[５]」には、ユーザインターフェースで指定された全ての印刷設定が列挙されている。最終行の「ｃｏｍ．ｒｉｃｏｈ．ｐｒｉｎｔｓｅｔｔｉｎｇｓ．１１ＡＵｓｅｒＩＤ＝ｕｓｅｒｉｄ」は、プリンタベンダであるリコー社が定義した「１１ＡＵｓｅｒＩＤ」というキーワードに対して「ｕｓｅｒｉｄ」という値が設定されていることを示す。「ｃｏｍ．ｒｉｃｏｈ．ｐｒｉｎｔｓｅｔｔｉｎｇｓ．１１ＡＵｓｅｒＩＤ」は、プラグインで指定する「ユーザＩＤ」という印刷設定（印刷設定項目）である。一方、「ＲＩＵｓｅｒＩＤ」はＰＰＤ側で指定する「ユーザＩＤ」である。
【００６５】
また、図１２に、印刷設定が保存されたＰＰＤを示す。図１２は、実施形態にかかるＰＰＤの印刷設定の具体例を示す図である。ＰＰＤは、プリンタ固有の情報が記載されたテキストファイルである。Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合では、／ｅｔｃ／ｃｕｐｓ／ｐｐｄのディレクトリにプリントキューに対応したＰＰＤが作成される。印刷設定の保存は、このプリントキューごとに紐付いたＰＰＤに対して行われる。
【００６６】
ＰＰＤの文法では、アスタリスク（＊）で始まる文字列はキーワードと呼ばれる。キーワードは、ＰＰＤ仕様として予め定義されたものと、プリンタベンダやユーザが一定のルールの下で自由に定義したものとがある。例えば、「＊ＰＰＤ−Ａｄｏｂｅ」は、ＰＰＤが準拠するＰＰＤ仕様のバージョンを示す。キーワードの後ろにコロン（：）を挟んで値を指定することで、キーワードに値を紐付けることができる。これを利用して、ＰＰＤに印刷設定が保存される。なお、「＊％」で始まる行はコメントとして無視される。
【００６７】
図１２の２行目「＊ＲＩＵｓｅｒＩＤＳｔｒｉｎｇ：  ｕｓｅｒｉｄ」は、印刷設定がＰＰＤに保存された例である。「＊ＲＩＵｓｅｒＩＤＳｔｒｉｎｇ」はユーザＩＤを意味するキーワードであり、「ｕｓｅｒｉｄ」はユーザＩＤとして指定された値である。
【００６８】
Ｄｒｉｖｅｒは、キーワードを介してＰＰＤから各々の印刷設定の値を読み書きすることができる。
【００６９】
（クライアントＰＣのプリンタドライバを用いない動作）
次に、図１３および図１４を用いて、実施形態にかかるクライアントＰＣ２００のプリンタドライバを用いない動作について説明する。図１３は、実施形態にかかるクライアントＰＣ２００の機能構成および動作の他の例を示す図である。図１４は、実施形態にかかるクライアントＰＣ２００のプリンタドライバを用いない印刷動作例を示すシーケンス図である。
【００７０】
図１２に示すデータ生成部としてのアプリケーション２５０ｂは、プリンタドライバを使用しないアプリケーションである。アプリケーション２５０ｂにおいて印刷が実行されると、印刷ダイアログ２４０を呼び出さずに、アプリケーション２５０ｂ自身が印刷設定および印刷データを、直接、スプーラ２１３へと送信する（図１４  １〜４）。この場合、印刷ダイアログ２４０を呼び出さないので、印刷ダイアログ２４０のプラグインで表示するプリンタドライバの機能は利用できない。つまり、アプリケーション２５０ｂからスプーラ２１３へと送信される印刷設定の中に、ユーザＩＤおよびパスワードなどの設定値は含まれない。なお、印刷ダイアログ２４０が呼び出されない代わりに、アプリケーション２５０ｂ自身が印刷設定を行う画面を表示する場合がある。
【００７１】
スプーラ２１３は、フィルタパイプラインを形成する（図１４  ４．１〜４．２）。印刷データは、変換部２１５のＦｉｌｔｅｒによりファイル形式を変換される（図１４  ４．２．１〜４．２．２）。また、Ｄｒｉｖｅｒでは、独自の印刷データ形式に印刷データを変換する。
【００７２】
ＤｒｉｖｅｒのＵＩ設定判定部Ｄ２は、ユーザインターフェースでユーザＩＤおよびパスワード等の印刷設定が指定されたか否かを判定する（図１４  ４．２．２．１）。プリンタドライバを用いず印刷を実行するアプリケーション２５０ｂにおいては、印刷設定が設定値を含まない場合、ＰＰＤ読み出し部Ｄ３はＰＰＤからユーザＩＤおよびパスワード等を含む印刷設定を読み出す（図１４  ４．２．２．２）。印刷設定が設定値を含む場合、ＰＰＤ書き込み部Ｄ１は、かかる印刷設定をＰＰＤに保存する。コマンド追加部Ｄ４は、印刷データにコマンドを追加する（図１４  ４．２．２．３）。Ｄｒｉｖｅｒは、全印刷設定に対し、このシーケンスを繰り返す。
【００７３】
その後、印刷データは、通信実行部２１６に含まれるＢａｃｋｅｎｄｓによりプリンタ１００へと送信され印刷される（図１４  ４．２．２．３．１）。
【００７４】
（クライアントＰＣによる印刷処理）
次に、図１５を用いて、実施形態のクライアントＰＣ２００による印刷処理の例について説明する。図１５は、実施形態にかかるクライアントＰＣ２００による印刷処理の手順の一例を示すフロー図である。
【００７５】
まず、アプリケーション２５０ａからの印刷処理について説明する。
【００７６】
図１５に示すように、ステップＳ１０１ａにおいて、アプリケーション２５０ａから印刷が実行されると、ステップＳ１０２ａにおいて、印刷ダイアログ２４０からユーザＩＤおよびパスワード設定を含めた印刷設定が行われる。ステップＳ１０３ａにおいて、アプリケーション２５０ａは印刷データを生成し、生成した印刷データをスプーラ２１３へと送る。
【００７７】
ステップＳ１０４において、スプーラ２１３は、アプリケーション２５０ａからの印刷データをＦｉｌｔｅｒへと渡す。ステップＳ１０５において、Ｆｉｌｔｅｒは、印刷データの形式を変換する。
【００７８】
ステップＳ１０６において、ＤｒｉｖｅｒのＵＩ設定判定部Ｄ２は、ユーザインターフェースで印刷設定が指定されたか否かを判定する。今回はアプリケーション２５０ａからの印刷であるので（Ｙｅｓ）、ステップＳ１０７において、ＰＰＤ書き込み部Ｄ１は、印刷設定をＰＰＤに保存する。ステップＳ１０９において、コマンド追加部Ｄ４は、印刷データにコマンドを追加する。Ｄｒｉｖｅｒは、全印刷設定に対し、ステップＳ１０６〜Ｓ１０９のステップを繰り返す。
【００７９】
ステップＳ１１０において、Ｄｒｉｖｅｒは、印刷データをＢａｃｋｅｎｄｓへと渡す。
【００８０】
ステップＳ１１１において、Ｂａｃｋｅｎｄｓは、印刷データをプリンタ１００へと送信する。以上により、アプリケーション２５０ａからの印刷処理が終了する。
【００８１】
次に、アプリケーション２５０ｂからの印刷処理について説明する。
【００８２】
引き続き図１５に示すように、ステップＳ１０１ｂにおいて、アプリケーション２５０ｂから印刷が実行されると、ステップＳ１０２ｂにおいて、例えば、アプリケーション２５０ｂにより提供される印刷ダイアログが表示され、印刷設定がなされる。かかる印刷設定には、ユーザＩＤおよびパスワード設定は含まれない。ステップＳ１０３ｂにおいて、アプリケーション２５０ｂは印刷データを生成し、生成した印刷データをスプーラ２１３へと送る。
【００８３】
ステップＳ１０４において、スプーラ２１３は、アプリケーション２５０ｂからの印刷データをＦｉｌｔｅｒへと渡す。ステップＳ１０５において、Ｆｉｌｔｅｒは、印刷データの形式を変換する。
【００８４】
ステップＳ１０６において、ＤｒｉｖｅｒのＵＩ設定判定部Ｄ２は、ユーザインターフェースで印刷設定が指定されたか否かを判定する。今回はアプリケーション２５０ｂからの印刷であり、印刷設定がされない場合があるので、この場合（Ｎｏ）、ステップＳ１０８において、ＰＰＤ読み出し部Ｄ３は、印刷設定をＰＰＤから読み出す。ステップＳ１０９において、コマンド追加部Ｄ４は、印刷データにコマンドを追加する。Ｄｒｉｖｅｒは、全印刷設定に対し、ステップＳ１０６〜Ｓ１０９のステップを繰り返す。
【００８５】
ステップＳ１１０において、Ｄｒｉｖｅｒは、印刷データをＢａｃｋｅｎｄｓへと渡す。
【００８６】
ステップＳ１１１において、Ｂａｃｋｅｎｄｓは、印刷データをプリンタ１００へと送信する。以上により、アプリケーション２５０ｂからの印刷処理が終了する。
【００８７】
例えば、特許文献１の情報処理装置においては、プリンタドライバでユーザＩＤとパスワードとが設定されると、これらをログインユーザの情報と関連付けてＰＰＤに保存する。次回の印刷からは、当該ログインユーザが印刷を行うときは、保存されたユーザＩＤとパスワードとをプリンタドライバが読み出して設定することで、これらを印刷のたびに毎回ユーザに設定させる手間を省く。しかしながら、プリンタドライバを使わないアプリケーションからの印刷の場合、プリンタドライバが呼び出されず、保存されたユーザＩＤとパスワードとを読み出すことはできない。
【００８８】
実施形態のクライアントＰＣ２００においては、Ｄｒｉｖｅｒがユーザインターフェースから印刷設定がされているか否かを判定し、されていない場合であっても、ＰＰＤから印刷設定を読み出し、これを現在の印刷設定に反映させる。これにより、プリンタドライバを利用しないアプリケーションからの印刷であってもユーザ認証を行うことができる。よって、ユーザが、より広く、かつ、容易に、ユーザ認証機能を利用することができる。
【００８９】
（変形例）
上述の実施形態では、ＤｒｉｖｅｒのＵＩ設定判定部Ｄ２が印刷設定の有無を判定していた。実施形態の変形例のクライアントＰＣにおいては、ＰＰＤにフラグが立っているか否かにより、ＰＰＤから印刷設定を読み出すか否かを判定する点が、上述の実施形態とは異なる。
【００９０】
実施形態の変形例のクライアントＰＣにおいては、プリンタドライバを使用しないアプリケーション２５０ｂから印刷が実行された場合、ＰＰＤにフラグが立つよう構成される。また、図１６に示すように、実施形態の変形例のＤｒｉｖｅｒは、例えば、ＵＩ設定判定部Ｄ２の代わりに、または、ＵＩ設定判定部Ｄ２に加えて、フラグ判定部としてのＰＰＤフラグ判定部Ｄ５を有する。
【００９１】
図１７のステップＳ２０６において、ＰＰＤフラグ判定部Ｄ５は、ＰＰＤにフラグが立っているか否かを判定する。ＰＰＤにフラグが立っていなければ（Ｎｏ）、プリンタドライバを用いるアプリケーション２５０ａからの印刷であり、ユーザインターフェースで印刷設定がされているものと判定する。そして、ＰＰＤ書き込み部Ｄ１が、かかる設定をＰＰＤに保存する。
【００９２】
ＰＰＤにフラグが立っていれば（Ｙｅｓ）、プリンタドライバを用いないアプリケーション２５０ｂからの印刷であり、ユーザインターフェースで印刷設定がされていないものと判定する。そして、ＰＰＤ読み出し部Ｄ３が、ＰＰＤから印刷設定を読み出す。
【００９３】
実施形態の変形例のクライアントＰＣにおいては、Ｄｒｉｖｅｒを用いたユーザ認証の機能を、例えば、隠し機能として利用することができる。
【００９４】
（その他の変形例）
上述の実施形態では、画像形成装置をプリンタ１００であるとしたが、これに限られない。画像形成装置は、例えば、複写機、スキャナ、ファクシミリ等であってもよく、あるいは、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有する複合機（ＭＦＰ：Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であってもよい。
【００９５】
上述の実施形態では、プリンタドライバを用いない場合にも利用可能な印刷設定として、主にユーザ認証に関する設定値を例に挙げたが、これに限られない。プリンタドライバ等のドライバを用いない場合にも利用可能な画像形成時（画像出力時）の設定としては、プリンタ１００等の画像形成装置において用いられうる設定が種々含まれる。
【００９６】
実施形態のコンピュータで実行されるプログラムは、ＲＯＭ等に予め組み込まれて提供される。また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供されてもよい。
【００９７】
さらに、実施形態で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【符号の説明】
【００９８】
１  システム
９０  ネットワーク
１００  プリンタ
１１０  コントローラ
１６０  エンジン部
２００  クライアントＰＣ
２１０  印刷システム
２１１  生成部
２１２  プリントキュー記憶部
２１３  スプーラ
２１４  変換情報記憶部
２１５  変換部
２１６  通信実行部
２２０  ＯＳ
２３０  ＰＤＥ
２４０  印刷ダイアログ
２５０ａ，２５０ｂ  アプリケーション
Ｄ１  ＰＰＤ書き込み部
Ｄ２  ＵＩ設定判定部
Ｄ３  ＰＰＤ読み出し部
Ｄ４  コマンド追加部
Ｄ５  ＰＰＤフラグ判定部
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２０１５−１１１３７６号公報
【図１】
2019164747.tif 000003
【図２】
2019164747.tif 000004
【図３】
2019164747.tif 000005
【図４】
2019164747.tif 000006
【図５】
2019164747.tif 000007
【図６】
2019164747.tif 000008
【図７】
2019164747.tif 000009
【図８】
2019164747.tif 000010
【図９】
2019164747.tif 000011
【図１０】
2019164747.tif 000012
【図１１】
2019164747.tif 000013
【図１２】
2019164747.tif 000014
【図１３】
2019164747.tif 000015
【図１４】
2019164747.tif 000016
【図１５】
2019164747.tif 000017
【図１６】
2019164747.tif 000018
【図１７】
2019164747.tif 000019