(57)【要約】【課題】  意図しない印刷を防止することができる情報処理装置、画像形成装置及びそれらの制御方法、コンピュータプログラムを提供する。【解決手段】  第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、第１描画データを第２描画データへ変換して、第２プリンタドライバへ出力する処理経路であるか否かを判定する。判定の結果、その処理経路であると判定された場合、印刷データの印刷処理をキャンセルする。【選択図】  図９
2008139912.tif 000002
【特許請求の範囲】
【請求項１】
第１アプリケーションからの印刷指示に応じて、第１プリンタドライバが処理可能な第１描画データを生成する第１描画部と、第２アプリケーションからの印刷指示に応じて、第２プリンタドライバが処理可能な第２描画データを生成する第２描画部とが動作する情報処理装置であって、
前記第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であるか否かを判定する第１判定手段と、
前記第１判定手段の判定の結果、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であると判定された場合、前記印刷データの印刷処理をキャンセルするキャンセル手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１判定手段の判定の結果、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であると判定された場合、前記印刷データの印刷先として指定されている画像形成装置から、印刷制限設定情報を取得する取得手段と、
前記取得手段で取得した印刷制限設定情報に基づいて、前記画像形成装置に前記第１判定手段の判定結果に基づく印刷制限が設定されているか否かを判定する第２判定手段とを更に備え、
前記キャンセル手段は、前記第２判定手段の判定の結果、前記印刷制限が設定されていると判定された場合、前記印刷データの印刷処理をキャンセルする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１判定手段の判定の結果、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であると判定された場合、前記印刷データの印刷処理をキャンセルするための印刷制限の設定を行う設定手段と、
前記第１判定手段の判定の結果、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であると判定された場合、前記設定手段による印刷制限が設定されているか否かを判定する第３判定手段とを更に備え、
前記キャンセル手段は、前記第３判定手段の判定の結果、前記印刷制限が設定されていると判定された場合、前記印刷データの印刷処理をキャンセルする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１判定手段は、印刷データの出力要求元のアプリケーションと、出力先として指定されたプリンタドライバとの組み合わせが、第１アプリケーションと第１プリンタドライバの組み合わせであるか否かを判定し、当該組み合わせでないと判定された場合、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であると判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記キャンセル手段によるキャンセルした旨を通知する通知情報を出力する出力手段を更に備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
第１アプリケーションからの印刷指示に応じて、第１プリンタドライバが処理可能な第１描画データを生成する第１描画部と、第２アプリケーションからの印刷指示に応じて、第２プリンタドライバが処理可能な第２描画データを生成する第２描画部とが動作する情報処理装置で生成された印刷データを受信して、印刷を行う画像形成装置であって、
前記第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路である場合に、該印刷データの処理に係る設定を行う設定手段と、
前記設定手段で設定した設定情報を記憶する記憶手段と、
前記情報処理装置へ、前記記憶手段に記憶した設定情報を出力する出力手段と
を備えることを特徴とする画像形成装置。
【請求項７】
前記設定手段は、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路である場合に、前記印刷データの印刷処理をキャンセルするためのキャンセル設定項目を含む
ことを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記設定手段は、処理対象の印刷データが、電子署名情報が付加されている印刷データである場合に、前記印刷データの印刷を許可する署名人を設定するための署名人設定項目を更に含む
ことを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記情報処理装置が前記設定情報に基づいて処理対象の印刷データの印刷処理をキャンセルした場合に、その旨を通知する通知情報を受信する受信手段を更に備える
ことを特徴とする請求項６に記載の画像形成装置。
【請求項１０】
第１アプリケーションからの印刷指示に応じて、第１プリンタドライバが処理可能な第１描画データを生成する第１描画部と、第２アプリケーションからの印刷指示に応じて、第２プリンタドライバが処理可能な第２描画データを生成する第２描画部とが動作する情報処理装置の制御方法であって、
前記第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であるか否かを判定する第１判定工程と、
前記第１判定工程の判定の結果、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であると判定された場合、前記印刷データの印刷処理をキャンセルするキャンセル工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１１】
第１アプリケーションからの印刷指示に応じて、第１プリンタドライバが処理可能な第１描画データを生成する第１描画部と、第２アプリケーションからの印刷指示に応じて、第２プリンタドライバが処理可能な第２描画データを生成する第２描画部とが動作する情報処理装置で生成された印刷データを受信して、印刷を行う画像形成装置の制御方法であって、
前記第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路である場合に、該印刷データの処理に係る設定を行う設定工程と、
前記設定工程で設定した設定情報を記憶媒体に記憶する記憶工程と、
前記情報処理装置へ、前記記憶媒体に記憶した設定情報を出力する出力工程と
を備えることを特徴とする画像形成装置の制御方法。
【請求項１２】
第１アプリケーションからの印刷指示に応じて、第１プリンタドライバが処理可能な第１描画データを生成する第１描画部と、第２アプリケーションからの印刷指示に応じて、第２プリンタドライバが処理可能な第２描画データを生成する第２描画部とが動作する情報処理装置の制御をコンピュータに実行させるためのコンピュータプログラムであって、
前記第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であるか否かを判定する第１判定工程と、
前記第１判定工程の判定の結果、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であると判定された場合、前記印刷データの印刷処理をキャンセルするキャンセル工程と
をコンピュータに実行させるためのコンピュータプログラム。
【請求項１３】
第１アプリケーションからの印刷指示に応じて、第１プリンタドライバが処理可能な第１描画データを生成する第１描画部と、第２アプリケーションからの印刷指示に応じて、第２プリンタドライバが処理可能な第２描画データを生成する第２描画部とが動作する情報処理装置で生成された印刷データを受信して、印刷を行う画像形成装置の制御をコンピュータに実行させるためのコンピュータプログラムであって、
前記第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路である場合に、該印刷データの処理に係る設定を行う設定工程と、
前記設定工程で設定した設定情報を記憶媒体に記憶する記憶工程と、
前記情報処理装置へ、前記記憶媒体に記憶した設定情報を出力する出力工程と
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを生成する情報処理装置、及びその印刷データの印刷を行う画像形成装置及びそれらの制御方法、コンピュータプログラムに関するものである。
【背景技術】
【０００２】
ホストコンピュータ上のアプリケーションから画像やテキストを印刷装置にて印刷する際には、図１に示すような構成が一般的である。
【０００３】
即ち、ホストコンピュータ３０００上のアプリケーション１０１は、グラフィクスエンジン１０３に対して描画データを渡し、その描画データはグラフィクスエンジン１０３にて加工されてからプリンタドライバ１０４に渡される。次に、プリンタドライバ１０４は、プリンタ１５００が解釈可能な印刷データ（例えば、ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を生成し、その印刷データはスプーラ１０５に格納された後、プリンタ１５００に送られるという構成である。
【０００４】
特に、グラフィクスエンジン１０３は、アプリケーション１０１で作成された描画データの解像度を変換したり、プリンタドライバ１０４の処理能力に合わせてシミュレート処理等の描画データの加工を行う。これによって、アプリケーション１０１とプリンタドライバ１０４が互いに非依存な関係で動作することができる。このグラフィクスエンジン１０３は、通常、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０２の一部として提供される。
【０００５】
一方、このグラフィクスエンジンは必ずしも一つであるとは限らず、二つ以上のグラフィクスエンジンが共存する構成が存在する。
【０００６】
例えば、２００５年米国シアトルにてＷｉｎＨＥＣ  ２００５というハードウェアエンジニアリングカンファレンスがＭｉｃｒｏｓｏｆｔ社によって開催された。この場にて、Ｍｉｃｒｏｓｏｆｔ社の新しいＯＳ（Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａ）が図２に示すような２つのグラフィクスエンジン（ＧＤＩ２０２、ＷＰＦ２１２）が共存する構成になることが紹介されている（非特許文献１）。尚、ＷＰＦとは、Ｗｉｎｄｏｗｓ（登録商標）  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎの略称である。
【０００７】
従来のＭｉｃｒｏｓｏｆｔ社の印刷処理システムは、Ｗｉｎ３２  ＡＰＩというＡＰＩを使用するアプリケーションからＧＤＩと呼ばれるグラフィクスエンジンを活用して、ＧＤＩから呼び出されるプリンタドライバにて描画データから印刷データを作成する。本願では、この印刷処理フローを、ＧＤＩプリントパスと称している。
【０００８】
ここで、ＡＰＩは、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅの略称である。また、ＧＤＩは、Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅの略称である。また、以下では、Ｗｉｎ３２  ＡＰＩを使用するアプリケーションを、Ｗｉｎ３２アプリケーション２０１と略称する。また、ＧＤＩから呼び出されるプリンタドライバを、ＧＤＩプリンタドライバ２０３と略称する。
【０００９】
一方、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａでは、従来のＧＤＩプリントパスに加え、ＸＰＳプリントパスという新しい印刷処理フローが追加される。ＸＰＳプリントパスとは、ＷｉｎＦｘ  ＡＰＩを使用するアプリケーションからＷＰＦと呼ばれるグラフィクスエンジンを活用して、ＸＰＳ形式の描画データをプリンタドライバにて印刷データに変換する印刷処理フローである。
【００１０】
ここで、ＸＰＳは、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎの略称である。また、以下では、ＷｉｎＦｘ  ＡＰＩを使用するアプリケーションを、ＷｉｎＦｘアプリケーション２１１と略称する。また、ＷＰＦから呼び出されるプリンタドライバを、ＸＰＳプリンタドライバ２１３と略称する。
【００１１】
このように、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａにおいて、アプリケーションは、Ｗｉｎ３２アプリケーション２０１とＷｉｎＦｘアプリケーション２１１の２種類に区別される。また、グラフィクスエンジンはＧＤＩ２０２とＷＰＦ２１２の２つがＯＳ１０２上に存在する。
【００１２】
ここで、Ｗｉｎ３２アプリケーション２０１はＧＤＩ２０２に対して描画データを渡し、ＷｉｎＦＸアプリケーション２１１はＷＰＦ２１２に対して描画データを渡す。また、プリンタドライバは、ＧＤＩプリンタドライバ２０３とＸＰＳプリンタドライバ２１３の２種類に区別される。ＧＤＩプリンタドライバ２０３は、ＧＤＩ２０２から描画データを受け取りプリンタ１５００に対する印刷データに変更する。また、ＸＰＳプリンタドライバ２１３は、ＷＰＦ２１２から描画データを受け取りプリンタ１５００に対する印刷データに変更する。そして、プリンタドライバで作成された印刷データはスプーラ１０５を経てプリンタ１５００に送信される。
【００１３】
更に、このＧＤＩ２０２とＷＰＦ２１２といったグラフィクスエンジンは、互いに連携することができる。そして、この連携により、Ｗｉｎ３２アプリケーション２０１からＸＰＳプリンタドライバ２１３に描画データを渡すことができる。一方で、ＷｉｎＦｘアプリケーション２１１からＧＤＩプリンタドライバ２０３に描画データを渡すことができる。
【００１４】
図３Ａにて、Ｗｉｎｄｏｗｓ（登録商標）  ＶＩＳＴＡにおける２つのグラフィクスエンジンの連携の仕組みを説明する。
【００１５】
印刷処理フロー（１）は、従来のＧＤＩプリントパスを示している。Ｗｉｎ３２アプリケーション２０１から渡される描画データは、ＧＤＩ２０２にてＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉｌｅ）形式でＥＭＦスプールファイル３０１として格納される。その後、ＧＤＩプリンタドライバ２０３が、ＥＭＦスプールファイルを印刷データへ変換する。
【００１６】
印刷処理フロー（４）は、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａで追加されるＸＰＳプリントパスを示している。ＷｉｎＦｘアプリケーション２１１から渡される描画データは、ＷＰＦ２１２にてＸＰＳスプールファイル３１１として格納される。その後、ＸＰＳプリンタドライバ２１３は、ＸＰＳスプールファイルを印刷データへ変換する。
【００１７】
印刷処理フロー（３）は、ＷｉｎＦｘアプリケーション２１１からＧＤＩプリンタドライバ２０３を経由して印刷する印刷処理フローを示している。ＷｉｎＦｘアプリケーション２１１から渡される描画データは、ＷＰＦ２１２を経由してＸＰＳ→ＧＤＩ変換モジュール３１２にて、ＥＭＦ形式の描画データに変換され、ＥＭＦスプールファイル３０１として格納される。その後、ＧＤＩプリンタドライバ２０３が印刷データへ変換する。
【００１８】
印刷処理フロー（２）は、Ｗｉｎ３２アプリケーション２０１からＸＰＳプリンタドライバ２１３を経由して印刷する印刷処理フローを示している。Ｗｉｎ３２アプリケーション２０１から渡される描画データは、ＧＤＩ２０２を経由してＧＤＩ→ＸＰＳ変換モジュール３０２にてＸＰＳ形式の描画データに変換され、ＸＰＳスプールファイル３１１として格納される。その後、ＸＰＳプリンタドライバ２１３が印刷データへ変換する。
【００１９】
このように、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａにおいては、４つの印刷処理フローが用意されている。また、プリンタに対するプリンタドライバは、ＧＤＩプリンタドライバ２０３あるいはＸＰＳプリンタドライバ２１３の一方を用意することで、Ｗｉｎ３２アプリケーション２０１及びＷｉｎＦｘアプリケーション２１１の両方からの印刷処理に対応できる。
【００２０】
一方、ＸＰＳ形式そのものに注目すると、その特徴の一つとして、セキュリティ機能を持たせられる点があげられる。一例として、ＸＰＳ形式の文書データに電子署名を付加し、文書データの改ざんを検知することが可能である。この電子署名付加機能を利用すると、プリンタと連携したセキュリティソリューションが考えられる。
【００２１】
例えば、プリンタに電子署名検証機能を持たせ、プリンタが受信したＸＰＳ文書に付加された電子署名を検証し、文書が改ざんされていないと判定された場合のみ印刷を実行するような印刷システムを構築することが可能となる。
【００２２】
また、特許文献１では、印刷データが出力禁止物かどうかを判断するプログラムをプリンタからホストコンピュータにロードして、ホストコンピュータ側で禁止物と判断された印刷データはホストコンピュータ側で正常印刷を中止する技術が提案されている。
【非特許文献１】http://www.microsoft.com/whdc/device/print/default.mspx （Advances in Windows Printing : TWPR05001_WinHEC05.ppt）
【特許文献１】特開２００１−１４１２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
しかしながら、ＸＰＳ形式とＥＭＦ形式は異なるため、図３Ａの印刷処理フロー（２）及び印刷処理フロー（３）のように、描画データの変換を伴う印刷処理フローを介する印刷処理では、印刷品質や機能面、印刷速度への課題が存在する。
【００２４】
印刷機能面では、例えば、印刷処理フロー（２）において、ＥＭＦ形式でサポートされている論理演算を含む描画データは、ＸＰＳ形式ではサポートされていない。そのため、米国マイクロソフト社が決定する仕様によっては、そのような論理演算を含む描画データに対しては、ＧＤＩ→ＸＰＳ変換モジュール３０２で変換する際に論理演算情報が削除されてしまう。そのため、ＸＰＳプリンタドライバ２１３には論理演算情報が削除された描画データが渡され、Ｗｉｎ３２アプリケーション２０１において意図された出力結果をＸＰＳプリンタドライバ２１３で作成することができなくなる。
【００２５】
また、逆に、印刷処理フロー（３）において、ＸＰＳ形式においてサポートされている高度なグラフィクス描画データは、ＥＭＦ形式においてサポートされていない。そのため、そのような描画データに対してはＸＰＳ→ＧＤＩ変換モジュール３１２で変換する際に、Ｆｌａｔｔｅｒｉｎｇと呼ばれる局所的なＢｉｔｍａｐ化が行われる。その場合、グラフィクスデータがＢｉｔｍａｐデータに変換されてしまうことにより、ＧＤＩプリンタドライバ２０３では元のオブジェクト属性が判断できなくなってしまい、最適な出力結果を作成することができない。
【００２６】
セキュリティ面においては、例えば、印刷処理フロー（３）において、ＸＰＳ形式においてサポートされる電子署名情報は、ＥＭＦ形式においてはサポートされていない。あるいは印刷処理フロー（２）において、ＥＭＦ形式においてサポートされるアプリケーションからの情報を直接、ＧＤＩプリンタドライバ２０３に伝える処理は、ＸＰＳ形式においてはサポートされていない。そのため、そのため、印刷処理フロー（１）や（４）では対応できる機能をアプリケーションが使用しても、印刷処理フロー（２）や（３）では実現することはできない。
【００２７】
印刷速度に関しては、印刷処理フロー（２）や（３）においてＧＤＩ→ＸＰＳ変換やＸＰＳ→ＧＤＩ変換等の処理が発生してしまうことにより、印刷処理フロー（１）や（４）に較べると印刷処理速度が低下してしまう。
【００２８】
そのため、印刷処理フロー（２）や（３）を避けることが望ましい。しかしながら、仮に、同じ印刷装置に対するＸＰＳプリンタドライバとＧＤＩプリンタドライバの両者を登録しておいても、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａにおけるグラフィクスエンジンは動的に印刷処理フロー（１）や（４）を優先するように切り替えを行わない。また、ユーザは基本的にアプリケーションがＷｉｎ３２アプリケーションなのかＷｉｎＦｘアプリケーションなのかを意識したり、印刷処理フローが４本あることを認識していないため、印刷処理フロー（２）や（３）を避けることは困難である。
【００２９】
本発明は、上記の複数の課題の内、特に、印刷処理フロー（３）に注目し、ＸＰＳ形式ではサポートされていた機能及び性能によって付加される情報が、ＥＭＦ形式でサポートされないことに由来する情報欠落を防止することを対象としている。
【００３０】
例えば、印刷処理フロー（４）においては、ＷＰＦ２１２経由の電子署名情報つきＸＰＳスプールファイル３１１はそのままＸＰＳプリンタドライバ２１３で処理され、電子署名情報を付加した状態のままプリンタに描画データを送信することが可能である。
【００３１】
これにより、プリンタ側において電子署名情報の有無を考慮した印刷制御を行うことでセキュリティ機能を高めることができる。しかしながら、それらのセキュリティを考慮したプリンタであっても、印刷処理フロー（３）を使用する場合には、電子署名情報が削除されてしまうために、これらのセキュリティ機能は働かなくなってしまうという課題がある。
【００３２】
本発明は上記の課題を解決するためになされたものであり、意図しない印刷を防止することができる情報処理装置、画像形成装置及びそれらの制御方法、コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３３】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
第１アプリケーションからの印刷指示に応じて、第１プリンタドライバが処理可能な第１描画データを生成する第１描画部と、第２アプリケーションからの印刷指示に応じて、第２プリンタドライバが処理可能な第２描画データを生成する第２描画部とが動作する情報処理装置であって、
前記第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であるか否かを判定する第１判定手段と、
前記第１判定手段の判定の結果、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路であると判定された場合、前記印刷データの印刷処理をキャンセルするキャンセル手段と
を備える。
【００３４】
上記の目的を達成するための本発明による画像形成装置は以下の構成を備える。即ち、
第１アプリケーションからの印刷指示に応じて、第１プリンタドライバが処理可能な第１描画データを生成する第１描画部と、第２アプリケーションからの印刷指示に応じて、第２プリンタドライバが処理可能な第２描画データを生成する第２描画部とが動作する情報処理装置で生成された印刷データを受信して、印刷を行う画像形成装置であって、
前記第１アプリケーションによって生成された印刷対象である印刷データの処理経路が、前記第１描画データを前記第２描画データへ変換して、前記第２プリンタドライバへ出力する処理経路である場合に、該印刷データの処理に係る設定を行う設定手段と、
前記設定手段で設定した設定情報を記憶する記憶手段と、
前記情報処理装置へ、前記記憶手段に記憶した設定情報を出力する出力手段と
を備える。
【発明の効果】
【００３５】
本発明によれば、意図しない印刷を防止することができる情報処理装置、画像形成装置及びそれらの制御方法、コンピュータプログラムを提供できる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００３７】
まず、上述のＷｉｎｄｏｗｓ（登録商標）  ＶＩＳＴＡにおける２つのグラフィクスエンジンの連携の仕組みについて、図２及び図３Ａを用いて補足する。
【００３８】
図２、図３Ａでは、情報処理装置であるホストコンピュータ３０００は、第１アプリケーションであるＷｉｎ３２アプリケーション２０１と第１プリンタドライバであるＧＤＩプリンタドライバ２０３を備える。また、情報処理装置は、第２アプリケーションであるＷｉｎＦＸアプリケーション２１１と第２プリンタドライバであるＸＰＳプリンタドライバ２１３を備える。
【００３９】
また、グラフィクスエンジンは、第１描画変換部であるＧＤＩ２０２と第２描画変換部であるＷＰＦ２１２の２つがＯＳ１０２上に存在する。Ｗｉｎ３２アプリケーションは、ＧＤＩ２０２に対して第１描画データであるＧＤＩ関数を渡し、ＷｉｎＦｘアプリケーション２１１はＷＰＦ２１２に対して第２描画データであるＷＰＦ  ＡＰＩ形式データを渡す。
【００４０】
ＧＤＩプリンタドライバ２０３はＧＤＩ２０２から描画データを受け取り印刷装置であるプリンタ１５００に対する印刷データに変換する。ＸＰＳプリンタドライバ２１３はＷＰＦ２１２から描画データを受け取りプリンタ１５００に対する印刷データに変換する。プリンタドライバ（ＧＤＩプリンタドライバ２０３あるいはＸＰＳプリンタドライバ２１３）で作成された印刷データは、スプーラ１０５を経てプリンタ１５００に送信される。
【００４１】
次に、ＸＰＳプリンタドライバ２１３の構成について、図３Ｂを用いて説明する。
【００４２】
図３Ｂは本発明の実施形態のＸＰＳプリンタドライバの構成を示す図である。
【００４３】
図３Ａに示す環境において、ＧＤＩプリントパスではＤｅｖＭｏｄｅ構造体と呼ばれるデータ構造で印刷設定データを持っている。一方、ＸＰＳプリントパスではＰｒｉｎｔＴｉｃｋｅｔと呼ばれるＸＭＬ形式のデータ構造になる。ここで、ＧＤＩからＸＰＳもしくはＸＰＳからＧＤＩに変換する際にＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへ、ＰｒｉｎｔＴｉｃｋｅｔからＤｅｖＭｏｄｅに変換する処理が必要となる。
【００４４】
そして、描画データ同様に、ＤｅｖＭｏｄｅで表現できる範囲とＰｒｉｎｔＴｉｃｋｅｔで表現できる範囲も異なる。そこで、この処理は、オペレーティングシステムが自動で行うのではなく、プリンタドライバ自身が拡張されたアーキテクチャを用いて行うようになっている。
【００４５】
ＸＰＳプリンタドライバ２１３は、プリントチケットプロバイダ２１３ａ、ＵＩドライバモジュール（ＸＰＳ）２１３ｂを保持している。ＵＩドライバモジュール（ＸＰＳ）２１３ｂは、ＤｅｖＭｏｄｅベースであり、アプリケーションから呼び出されることによって印刷設定情報を設定するためのＵＩを表示する。また、プリントチケットプロバイダ２１３ａは、ＰｒｉｎｔＴｉｃｋｅｔ（プリントチケット）からＤｅｖＭｏｄｅ、または、ＤｅｖＭｏｄｅからプリントチケットへの変換処理を行う。
【００４６】
図３Ｂでは、Ｗｉｎ３２アプリケーション２０１が、印刷設定を行うためにＤｅｖＭｏｄｅを要求する場合、ＸＰＳプリンタドライバ２１３は、ＤｅｖＭｏｄｅベースのため、変換処理の必要が生じない。よって、Ｗｉｎ３２アプリケーション２０１が、ＸＰＳプリンタドライバ２１３を用いて印刷処理を行う場合、プリントチケットプロバイダ２１３ａは、変換処理を行う必要がない。
【００４７】
一方、ＷｉｎＦｘアプリケーション２１１は、印刷設定を行うためにプリントチケットを要求する。ＸＰＳプリンタドライバ２１３は、プリントチケットを保持していないため、プリントチケットプロバイダ２１３ａは、プリントチケットからＤｅｖＭｏｄｅへの変換処理を実行する。
【００４８】
ここで、ＸＰＳプリンタドライバ２１３は、プリントチケットプロバイダ２１３ａの変換処理を認識することができる。そのため、印刷対象のデータを受け付けた時に、プリントチケットプロバイダ２１３ａによる、プリントチケットからＤｅｖＭｏｄｅへの変換処理が行われた場合には、印刷設定の要求元をＷｉｎＦＸアプリケーション２１１であると判定する。一方、印刷対象のデータを受け付けた時に、プリントチケットプロバイダ２１３ａによる変換処理が行われていない場合には、印刷設定の要求元をＷｉｎ３２アプリケーション２０１と判定する。
【００４９】
このように、ＸＰＳプリンタドライバ２１３は、印刷対象のデータの処理経路及び、印刷設定の要求元のアプリケーションを判定することができる。
【００５０】
次に、ＧＤＩプリンタドライバ２０３について説明する。
【００５１】
ＧＤＩプリンタドライバ２０３の構造は、ＸＰＳプリンタドライバ２１３と同様であるが、ＵＩドライバモジュール（ＸＰＳ）２１３ｂに相当するものとして、ＵＩドライバモジュール（ＧＤＩ）が構成されることになる。
【００５２】
また、ＧＤＩプリンタドライバ２０３も、ＸＰＳプリンタドライバ２１３と同様に、プリントチケットプロバイダ２１３ａの変換処理を認識することができる。そのため、印刷対象のデータの処理経路及び、印刷設定の要求元のアプリケーションを判定することができる。
【００５３】
また、ＵＩドライバモジュール（ＧＤＩ）も、Ｄｅｖｍｏｄｅベースであり、アプリケーションから呼び出されることによって印刷設定情報を設定するためのＵＩを表示する。ここで、プリントチケットプロバイダは、図３Ｂと同様の処理を行うため詳細な説明は省略する。
【００５４】
Ｗｉｎ３２アプリケーション２０１が、印刷設定を行うためにＤｅｖｍｏｄｅを要求する場合、ＸＰＳプリンタドライバ２１３はＤｅｖｍｏｄｅベースのため変換処理が生じない。
【００５５】
一方、ＷｉｎＦＸアプリケーション２１１は、印刷設定を行うためにプリントチケットを要求する。ＸＰＳドライバ２１３は、プリントチケットを保持していないため、プリントチケットプロバイダ２１３ａは、プリントチケットからＤｅｖｍｏｄｅへの変換処理を実行する。
【００５６】
ここで、ＧＤＩプリンタドライバ２０３は、プリントチケットプロバイダ２１３ａの変換処理を認識することができる。そのため、印刷対象のデータを受け付けた時に、プリントチケットプロバイダ２１３ａによる、プリントチケットからＤｅｖＭｏｄｅへの変換処理が行われた場合には、印刷設定の要求元をＷｉｎＦＸアプリケーション２１１であると判定する。一方、印刷対象のデータを受け付けた時に、プリントチケットプロバイダ２１３ａによる変換処理が行われていない場合には、印刷設定の要求元をＷｉｎ３２アプリケーション２０１と判定する。
【００５７】
次に、本発明の実施形態のプリンタ制御システムの構成について、図４を用いて説明する。
【００５８】
図４は本発明の実施形態のコンピュータを含むプリンタ制御システムの構成を説明するブロック図である。
【００５９】
尚、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても本発明を適用できることは言うまでもない。更には、ＬＡＮ、ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
【００６０】
図４において、３０００はホストコンピュータであり、ＣＰＵ１を備える。ＣＰＵ１は、ＲＯＭ３のプログラム用ＲＯＭ３ｂあるいは外部メモリ１１に記憶された文書処理プログラム（アプリケーションプログラム）等のプログラムに基づいて、図形、イメージ、文字、表（表計算等を含む）等の構成要素が混在した文書処理を実行する。更に、ＣＰＵ１は、ホストコンピュータ本体２０００内のシステムバス４に接続される各デバイスを総括的に制御する。
【００６１】
また、このＲＯＭ３のプログラム用ＲＯＭ３ｂあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下、ＯＳ）等のプログラムも記憶している。また、ＲＯＭ３のフォント用ＲＯＭ３ａあるいは外部メモリ１１には、上記文書処理の際に使用するフォントデータ等のデータを記憶している。また、ＲＯＭ３のデータ用ＲＯＭ３ｃあるいは外部メモリ１１には、上記文書処理等の各種処理を行う際に使用する各種データを記憶する。
【００６２】
２はＲＡＭであり、ＣＰＵ１の主メモリ、ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）９やポインティングデバイス（不図示）からのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。尚、ＣＲＴコントローラ６及びＣＲＴディスプレイ１０の代りに、ＬＣＤコントローラ及びＬＣＤを用いても良い。
【００６３】
７はディスクコントローラ（ＤＫＣ）であり、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等の外部メモリ１１とのアクセスを制御する。さらに、ＤＫＣ７は、印刷制御コマンド生成プログラム（以下、プリンタドライバ）等の各種データを記憶する、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１とのアクセスも制御する。
【００６４】
８はプリンタコントローラ（ＰＲＴＣ）であり、所定の双方向性インタフェース２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。双方向性インタフェースの例には、ＵＳＢインタフェース、ＩＥＥＥ１３９４インタフェース、無線ＬＡＮインタフェース等がある。
【００６５】
尚、ＣＰＵ１は、例えば、ＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行してＧＵＩを提供することで、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上のマウスカーソル（不図示）等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは、印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷方法の設定を行える。
【００６６】
プリンタ１５００において、１２はプリンタＣＰＵであり、プリンタＣＰＵ１２は、プリンタ制御部１０００内のシステムバス１５に接続される各デバイスを総括的に制御する。また、プリンタＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭ１３ｂあるいは外部メモリ１４に記憶された制御プログラム等のプログラムに基づいて、システムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００６７】
また、このＲＯＭ１３のプログラム用ＲＯＭ１３ｂには、プリンタＣＰＵ１２の制御プログラム等のプログラムを記憶している。また、ＲＯＭ１３のフォント用ＲＯＭ１３ａには、上記出力情報を生成する際に使用するフォントデータ等のデータを記憶している。また、ハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４がないプリンタの場合には、ＲＯＭ１３のデータ用ＲＯＭ１３ｃには、ホストコンピュータ３０００上で利用される情報等を記憶している。
【００６８】
プリンタＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、プリンタ１５００内のステータス情報等の各種情報をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭである。このＲＡＭ１９は、増設ポート（不図示）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００６９】
尚、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスが制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等のデータを記憶する。また、１５０１は操作部であり、プリンタ１５００に対する各種操作を実現するための操作パネルやスイッチ、ＬＥＤ表示器等が構成されている。
【００７０】
また、外部メモリ１４は１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。さらに、ＮＶＲＡＭ（不図示）を有し、操作部１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００７１】
また、プリンタ１５００には、１個以上のＰＤＬ装置（ＰＤＬボード）を接続し、ＣＰＵ１２からＰＤＬ装置を制御可能とする。ＰＤＬ装置は、ホストコンピュータ３０００から受信した印刷データ（ＰＤＬ）を解釈し、印刷部１７が印刷可能なビットマップデータに変換する機能を有する画像形成部である。このＰＤＬ装置は、標準として１個以上接続されているが、後から追加することも可能である。また、プラグアンドプレイで使用されるＩＥＥＥ１２８４規定のデバイス情報は、このＰＤＬ装置が保持している。
【００７２】
尚、本実施形態の情報処理装置は、プリンタドライバを介して、プリンタが解釈可能な印刷データ（印刷ジョブ）を生成できる。
【００７３】
また、通常、プリンタ１５００は、標準ＰＤＬ装置としてＰＤＬ１を備えており、オプションＰＤＬ装置としてＰＤＬ２等の他の種類のＰＤＬを追加拡張可能であるものとする。
【００７４】
この拡張は、専用のＰＤＬ装置を搭載する拡張ボードを物理的にプリンタ１５００に追加する構成であっても良い。あるいは、ＰＤＬ装置がプログラムによって実現される場合には、プログラム用ＲＯＭ１３ｂに対応するプログラムを追加する構成であっても良い。更には、予め複数種類のＰＤＬ装置それぞれに対応するプログラムをプログラム用ＲＯＭ１３ｂに記憶しておき、それらから必要なＰＤＬ装置を、ユーザ操作によって入力されたライセンスキーによって有効にすることで追加する構成であっても良い。
【００７５】
また、ＰＤＬの一例としては、ＬＩＰＳ、ＰｏｓｔＳｃｒｉｐｔ、ＰＣＬ等がある。
【００７６】
また、本実施形態に適用するプリンタ１５００には、レーザビームプリンタ及びインクジェットプリンタ等の他の各種印刷方式の印刷装置（画像形成装置）を使用することが可能である。また、複数種類の機能を有するＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：マルチファンクション周辺機器）であっても良い。
【００７７】
ここで、ＭＦＰは、自装置内部に複数のジョブを記憶可能なハードディスク等の記憶装置を具備している。また、例えば、スキャナ部から出力されたジョブに対し、その記憶装置を介してプリンタ部でプリント可能にするコピー機能を具備している。また、ＰＣ（パーソナルコンピュータ）等の外部装置から出力されたジョブに対し記憶装置を介してプリンタ部でプリント可能にするプリント機能を具備している。このように、ＭＦＰは、これらの機能を含む複数の機能を具備している。
【００７８】
ＭＦＰには、フルカラー機器とモノクロ機器があり、色処理機能や内部データ等を除いて、基本的な部分においては、フルカラー機器がモノクロ機器の構成を包含することが多い。そのため、ここでは、フルカラー機器に絞って説明し、必要に応じて随時モノクロ機器の説明を加えることとする。
【００７９】
また、本実施形態で説明するシステムは、複数の機能を具備した複合機能型の画像形成装置（印刷装置）でも、プリント機能のみを具備した単一機能型の画像形成装置（印刷装置）であるＳＦＰを具備する構成でも良い。いずれにしても、本実施形態の制御が実現可能な構成であればよい。
【００８０】
尚、ＳＦＰとは、Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：単一機能周辺機器の略称である。
【００８１】
次に、本実施形態のホストコンピュータ３０００上とプリンタ１５００間のデータ処理例について、図５を用いて説明する。
【００８２】
図５は本発明の実施形態のホストコンピュータ上とプリンタ間のデータ処理例を示す図である。
【００８３】
ＷｉｎＦＸアプリケーション２１１からプリンタ１５００へデータが渡る際にＧＤＩプリンタドライバ２０３またはＸＰＳプリンタドライバ２１３を経由する２種類のプリントパス（処理経路）が存在することは前述のとおりである。
【００８４】
ここで、ＷｉｎＦＸアプリケーション２１１において、電子署名情報が付加された印刷ジョブを発行する状況を想定する。
【００８５】
ＸＰＳプリンタドライバ２１３を経由するプリントパスでは電子署名情報付きの描画データ３２３は、ＸＰＳプリンタドライバ２１３によって処理される。そして、ＸＰＳプリンタドライバ２１３により変換されたＰＤＬデータと共に電子署名情報３２５がプリンタ１５００へ送信される。
【００８６】
一方、ＧＤＩプリンタドライバ２０３を経由するプリントパスでは、ＸＰＳ→ＧＤＩ変換モジュール３１２によってＧＤＩに変換される際に電子署名情報を失い、電子署名情報なしの描画データ３２２が生成される。そして、この電子署名情報なしの描画データ３２２は、ＧＤＩプリンタドライバ２０３によって処理される。その結果、電子署名情報のないスプールファイル（ＰＤＬデータ）３２４となってプリンタ１５００へ送信される。
【００８７】
このような現象は、あるプリンタ１５００に対してプリンタメーカーがＧＤＩプリンタドライバ２０３、ＸＰＳプリンタドライバ２１３の両方を用意した場合に問題が起こりうる。電子署名情報付きの印刷ジョブは、ユーザがどちらのプリンタドライバを選択するかによって、ＷｉｎＦＸアプリケーションにおいて設定した電子署名情報の有無が異なる現象が起こる。
【００８８】
そこで、本実施形態では、この電子署名情報が失われる可能性がある印刷環境において、その印刷処理の禁止／実行を適応的に制御するためのセキュリティ機能を実現する。
【００８９】
このセキュリティ機能を実現するにあたり、本実施形態では、ホストコンピュータ上で生成された印刷ジョブが生成された処理経路に基づいて、印刷処理の禁止／実行を設定するための構成を実現している。そこで、この構成を実現するためのセキュリティ設定画面について、図６を用いて説明する。
【００９０】
図６は本発明の実施形態における画像形成装置のセキュリティ設定画面の一例を示す図である。
【００９１】
このセキュリティ設定画面５０１は、操作部１５０１上に表示され、プリンタ１５００の管理者が設定を行う。このセキュリティ設定画面５０１は、ホストコンピュータ３０００から送信される印刷ジョブに電子署名情報が含まれていることを前提としている。
【００９２】
セキュリティ設定画面５０１には、５０２、５０３及び５０５のチェックボックスが構成されていて、各チェックボックスを用いることで、それに対応付けられているセキュリティ機能のセキュリティ設定を行うことができる。
【００９３】
チェックボックス５０２がチェックされることで、「デジタル署名のないジョブを削除する」ための設定を行うことができる。チェックボックス５０３がチェックされることで、「印刷許可する署名人を設定する」ための設定を行うことができる。チェックボックス５０５は、「デジタル署名された後、改ざんされたジョブを削除する」ための設定を行うことができる。このように、チェックボックス５０２、５０３及び５０５によって、印刷ジョブ内の電子署名情報の有無やその内容に応じたセキュリティ設定を行うことができる。
【００９４】
また、チェックボックス５０３をチェックした際には、署名人設定ボタン５０４により署名人を特定する設定も行うことができる。これによって、例えば、印刷ジョブを発行した人物の上司の電子署名情報がないと印刷できない等との設定が可能となる。
【００９５】
そして、ＯＫボタン５０６を操作すると、ＣＰＵ１２は、セキュリティ設定画面５０１の各設定項目の内容をセキュリティ設定情報としてＲＡＭ１９に記憶する。
【００９６】
尚、電子署名情報を用いたセキュリティ設定は、図６に示す構成に限定されず、例えば、印刷ジョブに電子署名情報が付加されていた場合には付加した本人からの印刷ジョブしか受け付けないようにする等の別のセキュリティ設定を構成することも可能である。このように、ＸＰＳの登場によりＧＤＩ経由のプリントパスでは行うことのできなかった電子署名情報の有無によるセキュリティ設定が可能となる。但し、これらのセキュリティ設定が完全に機能するのは、図５におけるＸＰＳプリンタドライバ２１３を経由するＸＰＳプリントパスのみである。上述のように、ＧＤＩプリンタドライバ２０３を経由するＧＤＩプリントパスにおいては電子署名情報が欠落するためこれらの機能が働かない。
【００９７】
そこで、本実施形態では、このセキュリティホールを回避するため、ＧＤＩプリンタドライバ２０３において、ＷｉｎＦＸアプリケーション２１１からの印刷ジョブを自動でキャンセルするセキュリティ機能を実現する。
【００９８】
特に、本実施形態では、プリンタ１５００で実現するセキュリティ機能として、ＷｉｎＦＸアプリケーション２１１からの印刷ジョブを自動でキャンセルするキャンセル処理について説明するが、これに限定されない。つまり、プリンタ１５００側にセキュリティ機能（キャンセル処理）を構成している必要はなく、ホストコンピュータ３０００のＧＤＩプリンタドライバ２０３にセキュリティ機能（キャンセル処理）を構成することも可能である。
【００９９】
このキャンセル処理を実現するにあたっては、ＧＤＩプリンタドライバ２０３が印刷ジョブの実行時に、その印刷ジョブがＷｉｎ３２アプリケーション２０１からのものかＷｉｎＦＸアプリケーション２１１からのものかを判別する必要がある。
【０１００】
これは、上述のように、図３Ａにおいて、ＷｉｎＦＸアプリケーション２１１からＧＤＩプリンタドライバ２０３に渡される印刷ジョブの内、描画データに関しては、ＯＳ１０２によってＸＰＳ→ＧＤＩ変換モジュール３１２が自動で変換を行う。そのため、ＧＤＩプリンタドライバ２０３は、その変換が行われたことを感知することができない。
【０１０１】
一方、ステイプル処理等の印刷設定データに対しては、ＯＳ１０２が自動で変換を行うことができない。そのため、ＷｉｎＦＸアプリケーション２１１から渡されるＰｒｉｎｔＴｉｃｋｅｔを、ＧＤＩプリンタドライバ２０３の理解できる表現であるＤｅｖＭｏｄｅに変換する作業をＧＤＩプリンタドライバ２０３のＵＩドライバモジュールが行う。
【０１０２】
以下、このＧＤＩプリンタドライバ２０３によるＰｒｉｎｔＴｉｃｋｅｔ→ＤｅｖＭｏｄｅ変換処理について、図７を用いて説明する。
【０１０３】
図７は本実施形態のＧＤＩプリンタドライバによるＰｒｉｎｔＴｉｃｋｅｔ→ＤｅｖＭｏｄｅ変換処理を示すフローチャートである。
【０１０４】
まず、ＯＳ１０２は描画データを自動で変換する際に、印刷設定の変換をＧＤＩプリンタドライバ２０３に依頼するためにＰｒｉｎｔＴｉｃｋｅｔをＧＤＩプリンタドライバ２０３が有するＵＩドライバモジュールに対して引き渡す。これにより、ＧＤＩプリンタドライバ２０３は、ＯＳ１０２からＰｒｉｎｔＴｉｃｋｅｔを取得する（ステップＳ４０２）。
【０１０５】
次に、ＧＤＩプリンタドライバ２０３は、与えられたＸＭＬ形式のＰｒｉｎｔＴｉｃｋｅｔ情報をＤｅｖＭｏｄｅに変換する（ステップＳ４０３）。この際に、ＧＤＩプリンタドライバ２０３が有するＵＩドライバモジュールが、ＸＰＳ→ＧＤＩ変換モジュール３１２の変換が行われたということを示すＸＰＳ→ＧＤＩ変換フラグをＤｅｖＭｏｄｅの内部に設定する（ステップＳ４０４）。
【０１０６】
この処理結果の具体例について、図８を用いて説明する。
【０１０７】
図８は本発明の実施形態のＰｒｉｎｔＴｉｃｋｅｔからＤｅｖＭｏｄｅへの変換が行われたことを示す変換フラグを設定する様子を説明するための図である。
【０１０８】
６００は、ＯＳ１０２からＧＤＩプリンタドライバ２０３のＵＩドライバモジュールに渡されるＰｒｉｎｔＴｉｃｋｅｔを示している。ＰｒｉｎｔＴｉｃｋｅｔ６００は、ＸＭＬ形式で表現され、用紙サイズや両面印刷の有無等の印刷設定に関わる情報を保持している。
【０１０９】
一方、ＰｒｉｎｔＴｉｃｋｅｔ６００の変換後の情報が、ＤｅｖＭｏｄｅ７００である。ＤｅｖＭｏｄｅ７００は、ＧＤＩプリンタドライバ２０３で使用される印刷設定であり、ＰｒｉｎｔＴｉｃｋｅｔ６００と同様に用紙サイズや両面印刷の有無等が示されている。
【０１１０】
ここで、ＸＰＳ→ＧＤＩ変換モジュール３１２による変換を示すＸＰＳ→ＧＤＩ変換フラグが、ｄｍＣｏｎｖｅｒｔＦｌａｇ７０１である。これは、変換時にＤＭ＿ＣＮＶ＿ＰＴＴＯＤｅｖＭｏｄｅを指定することで、ＧＤＩプリンタドライバ２０３のＵＩドライバモジュール２１３ｂは、ＸＰＳ→ＧＤＩ変換が行われたものであることを記録している。尚、ＸＰＳ→ＧＤＩ変換の行われていないＤｅｖＭｏｄｅは、ＤＭ＿ＣＮＶ＿ＮＯＮＥが指定されることになる。
【０１１１】
このように、このＸＰＳ→ＧＤＩ変換フラグの内容を参照することで、ＤｅｖＭｏｄｅがＸＰＳ→ＧＤＩ変換を経てきたものか、そうでないものかを判別することができる。
【０１１２】
次に、ＧＤＩプリンタドライバ２０３が、プリンタ１５００と連携して実際に印刷ジョブをキャンセルする場合のキャンセル処理について、図９を用いて説明する。
【０１１３】
図９は本発明の実施形態のＧＤＩプリンタドライバが実行するキャンセル処理を示すフローチャートである。
【０１１４】
印刷時には、アプリケーションから印刷データを受け取ったＯＳ１０２が、印刷データ中の印刷設定データであるＤｅｖＭｏｄｅをＧＤＩプリンタドライバ２０３に対して送信する。
【０１１５】
ＧＤＩプリンタドライバ２０３は、この時点で、受信したＤｅｖＭｏｄｅがＷｉｎ３２アプリケーション２０１からのものか、ＸＰＳ→ＧＤＩ変換がなされたものかわからない。そのため、ＧＤＩプリンタドライバ２０３は、ＤｅｖＭｏｄｅの内容を確認する（ステップＳ４１２）。この内容の確認によって、ＧＤＩプリンタドライバは、印刷ジョブのプリントパスを判定することができる。
【０１１６】
確認結果に基づいて、ＧＤＩプリンタドライバ２０３は、ＤｅｖＭｏｄｅ中に、ＸＰＳ→ＧＤＩ変換フラグが設定されているか否かを判定する（ステップＳ４１３）。ＸＰＳ→ＧＤＩ変換フラグが設定されていない場合（ステップＳ４１３でＮＯ）、即ち、Ｗｉｎ３２アプリケーション２０１からの印刷ジョブであるとみなせる場合、その印刷ジョブはもともと電子署名情報を含んでいなかったと判断する。そこで、セキュリティの問題はないということで、ＧＤＩプリンタドライバ２０３は、通常通り、印刷ジョブを生成し、プリンタ１５００に対して出力する（ステップＳ４１８）。
【０１１７】
一方、ＸＰＳ→ＧＤＩ変換フラグが設定されている場合（ステップＳ４１３でＹＥＳ）、ＧＤＩプリンタドライバ２０３は、実行中の印刷ジョブがＷｉｎＦＸアプリケーション２１１からの印刷ジョブとみなすことができる。この場合、ＷｉｎＦＸアプリケーション２１１から発行された印刷ジョブということで、もともと付加されていた電子署名情報がＸＰＳ→ＧＤＩ変換時に失われてしまった可能性がある。
【０１１８】
そこで、その印刷ジョブがＷｉｎＦＸアプリケーション２１１からの印刷ジョブと判定したら、ＧＤＩプリンタドライバ２０３は、プリンタ１５００に対して、電子署名情報によるセキュリティ機能が動作中であるか否かを問い合わせる。つまり、ＧＤＩプリンタドライバ２０３は、プリンタ１５００から現在実行中のセキュリティ設定情報を取得する（ステップＳ４１４）。これにより、セキュリティ機能が動作中かどうかを問い合わせする。
【０１１９】
尚、本実施形態においては、このタイミングでセキュリティ設定情報を取得しているが、これに限定されない。例えば、あらかじめプリンタ１５００からセキュリティ設定情報を取得しておいて、そのセキュリティ設定情報に基づいて、電子署名情報を利用したセキュリティ機能が動作中であるか否かを判定しても良い。
【０１２０】
また、本実施形態では、セキュリティ設定情報をプリンタ１５００から取得する例を挙げているが、ＧＤＩプリンタドライバ２０３自体がセキュリティ機能を持っていて、ステップＳ４１４で、その設定がなされているかどうかを判定する構成としても良い。
【０１２１】
さらに、図９では、ＧＤＩプリンタドライバ２０３が、ＸＰＳ→ＧＤＩ変換フラグが設定されていると判定した場合（ステップＳ４１３でＹＥＳ）、ステップＳ４１４の取得処理とステップＳ４１５の判定処理を実行している。しかしながら、ＸＰＳ→ＧＤＩ変換フラグが設定されていると判定した場合、ＧＤＩプリンタドライバ２０３が、ステップＳ４１４及びステップＳ４１５の処理を実行することなく印刷ジョブをキャンセルしても構わない。しかしながら、ステップＳ４１５の判定処理を行ったほうが、よりユーザの意向を反映した印刷処理を実現できる。
【０１２２】
ここで、ＧＤＩプリンタドライバ２０３自体がセキュリティ機能を持っている場合に、ＧＤＩプリンタドライバ２０３が実現するセキュリティ設定画面について、図１０を用いて説明する。
【０１２３】
図１０は本発明の実施形態におけるＧＤＩプリンタドライバのセキュリティ設定画面の一例を示す図である。
【０１２４】
このセキュリティ設定画面５１１は、ホストコンピュータ３０００上で動作するＧＤＩプリンタドライバ２０３の一部として機能する。
【０１２５】
セキュリティ設定画面５１１には、チェックボックス５１２が構成されていて、これを用いることで、それに対応付けられているセキュリティ機能のセキュリティ設定を行うことができる。
【０１２６】
チェックボックス５１２は、チェックすることで、「ＷｉｎＦＸアプリケーションからのジョブをキャンセルする」ための設定を行うことができる。これにより、ＧＤＩプリンタドライバ２０３において、ＷｉｎＦＸアプリケーション２１１からの印刷ジョブを自動でキャンセルすることができる。
【０１２７】
尚、セキュリティを重視するような環境においては、ユーザが自由にチェックをはずすことで印刷制限を回避できないように、管理者権限のあるユーザしかこれらの設定をできないようにすることが望ましい。さらに、複数のＰＣがネットワーク接続されている環境においては、ネットワーク上のプリンタドライバに対して一括してこれらの設定ができるようにするシステムを用いることで、管理者の負担を軽減することができる。
【０１２８】
図９の説明に戻る。
【０１２９】
プリンタ１５００から取得したセキュリティ設定情報を参照して、ＧＤＩプリンタドライバ２０３は、プリンタ１５００に印刷ジョブ内の電子署名情報を利用したセキュリティ機能が設定されているか否かを判定する（ステップＳ４１５）。電子署名情報を利用したセキュリティ機能が設定されていない場合（ステップＳ４１５でＮＯ）、ＧＤＩプリンタドライバ２０３は、ＷｉｎＦＸアプリケーション２１１からＧＤＩプリンタドライバ２０３経由の処理経路での印刷ジョブ実行が問題ないと判定する。この場合、ＧＤＩプリンタドライバ２０３は、通常通り、印刷ジョブを生成し、プリンタ１５００に対して出力する（ステップＳ４１８）。
【０１３０】
一方、プリンタ１５００に電子署名情報を利用したセキュリティ機能が設定されている場合（ステップＳ４１５でＹＥＳ）、ＧＤＩプリンタドライバ２０３は、実行中の印刷ジョブをキャンセルする（ステップＳ４１６）。そして、そのキャンセルしたこと示す通知情報を出力する（ステップＳ４１７）。尚、ここでの出力先は、ホストコンピュータ３０００のＣＲＴ１０及びプリンタ１５００の操作部１５０１の少なくとも一方である。
【０１３１】
この通知情報の一例について、図１１及び図１２を用いて説明する。
【０１３２】
図１１及び図１２は本発明の実施形態の通知情報の一例を示す図である。
【０１３３】
この通知情報は、ユーザが実際にＷｉｎＦＸアプリケーション２１１からＧＤＩプリンタドライバ２０３経由のプリントパスを用いて印刷を要求した際の印刷ジョブをキャンセルする場合に出力するメッセージを示すＵＩ画面である。
【０１３４】
図１１は、プリンタ１５００側に電子署名情報を利用したセキュリティ機能が設定されていた場合の通知画面５２１である。通知画面５２１では、通知内容５２２が表示されている。また、ＯＫボタン５２３が操作されると、通知画面５２１の表示を消去する。また、ヘルプボタン５２４が操作されると、ヘルプ画面を表示する。
【０１３５】
図１２は、ＧＤＩプリンタドライバ２０３側にＷｉｎＦＸアプリケーション２１１からの印刷ジョブをキャンセルする設定がなされていた場合の通知画面５３１である。通知画面５３１では、通知内容５３２が表示されている。また、ＯＫボタン５３３が操作されると、通知画面５３１の表示を消去する。また、ヘルプボタン５３４が操作されると、ヘルプ画面を表示する。
【０１３６】
以上説明したように、本実施形態によれば、ＸＰＳ→ＧＤＩ変換により印刷ジョブ中の電子署名情報が失われてしまった時におこるセキュリティホールを、プリンタドライバでの処理の段階で、印刷ジョブをキャンセルすることによって回避することができる。
【０１３７】
尚、本実施形態においては、ＸＰＳ→ＧＤＩ変換により失われる情報として、電子署名情報を使用したセキュリティ設定を代表例として挙げて説明している。しかしながら、本発明は、セキュリティのための印刷制限だけでなく、より柔軟な印刷制限機能に対応させることが可能である。
【０１３８】
例えば、ＸＰＳ→ＧＤＩ経由のプリントパスにおいて画質が落ちてしまうケースを懸念した以下のような制限が考えられる。
【０１３９】
・ＸＰＳ→ＧＤＩ変換が行われた印刷ジョブにおいて、特定のアプリケーション（高性能グラフィックアプリケーション等）からの印刷ジョブはキャンセルする。一方、当該特定のアプリケーション以外（画質が低下しても多大な影響を与えないようなアプリケーション）からの印刷ジョブは実行する。
【０１４０】
・ＸＰＳ→ＧＤＩ変換が行われた印刷ジョブにおいて、特定のアプリケーション（帳票等）からの印刷ジョブ以外はキャンセルする。
【０１４１】
・ＸＰＳ→ＧＤＩ変換が行われた印刷ジョブにおいて、特定のカラー処理（ＣＭＳ処理）を行った印刷ジョブはキャンセルする。
【０１４２】
本発明は、このような状況における印刷制限機能に対しても同様に適用することができる。
【０１４３】
つまり、本発明では、プリンタ１５００においては、図６に示すセキュリティ設定画面に代えて、セキュリティ設定情報を含む印刷制限設定情報を設定するための印刷制限設定画面を構成することが可能である。そして、この印刷制限設定画面によって印刷制限設定情報を設定することができる。
【０１４４】
そして、ホストコンピュータ３０００は、この印刷制限設定情報を用いて、プリンタ１５００の印刷制限機能の設定状況を判定して、その判定結果に基づいて、印刷ジョブの印刷処理をキャンセルするか否かを制御することが可能である。
【０１４５】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１４６】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１４７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１４９】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１５０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１５１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１５２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１５３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１５４】
【図１】一般的な印刷処理フロー及び印刷処理に対するコンポーネントを示す図である。
【図２】複数のグラフィクスエンジンが共存する、Ｗｉｎｄｏｗｓ（登録商標）  ＶＩＳＴＡにおける印刷処理フロー及び印刷処理に対するコンポーネントを示す図である。
【図３Ａ】Ｗｉｎｄｏｗｓ（登録商標）  ＶＩＳＴＡにおける、２つのグラフィクスエンジン共存の仕組みを示す図である。
【図３Ｂ】本発明の実施形態のＸＰＳプリンタドライバの構成を示す図である。
【図４】本発明の実施形態のコンピュータを含むプリンタ制御システムの構成を説明するブロック図である。
【図５】本発明の実施形態のホストコンピュータ上とプリンタ間のデータ処理例を示す図である。
【図６】本発明の実施形態における画像形成装置のセキュリティ設定画面の一例を示す図である。
【図７】本実施形態のＧＤＩプリンタドライバによるＰｒｉｎｔＴｉｃｋｅｔ→ＤｅｖＭｏｄｅ変換処理を示すフローチャートである。
【図８】本発明の実施形態のＰｒｉｎｔＴｉｃｋｅｔからＤｅｖＭｏｄｅへの変換の際に変換が行われたことを示す変換フラグを設定する様子を説明するための図である。
【図９】本発明の実施形態のＧＤＩプリンタドライバが実行するキャンセル処理を示すフローチャートである。
【図１０】本発明の実施形態におけるＧＤＩプリンタドライバのセキュリティ設定画面の一例を示す図である。
【図１１】本発明の実施形態の通知情報の一例を示す図である。
【図１２】本発明の実施形態の通知情報の一例を示す図である。
【符号の説明】
【０１５５】
３０００  ホストコンピュータ
１０２  ＯＳ
２０１  Ｗｉｎ３２アプリケーション
２０２  ＧＤＩ
２０３  ＧＤＩプリンタドライバ
２１１  ＷｉｎＦＸアプリケーション
２１２  ＷＰＦ
２１３  ＸＰＳプリンタドライバ
１０５  スプーラ
１５００  プリンタ
【図１】
2008139912.tif 000003
【図２】
2008139912.tif 000004
【図３Ａ】
2008139912.tif 000005
【図３Ｂ】
2008139912.tif 000006
【図４】
2008139912.tif 000007
【図５】
2008139912.tif 000008
【図６】
2008139912.tif 000009
【図７】
2008139912.tif 000010
【図８】
2008139912.tif 000011
【図９】
2008139912.tif 000012
【図１０】
2008139912.tif 000013
【図１１】
2008139912.tif 000014
【図１２】
2008139912.tif 000015