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