(57)【要約】      （修正有）【課題】汎用プリンタドライバでは実現できない高度な印刷機能を実現できる仕組みを提供する。【解決手段】外部Ｉ／Ｆ制御部４１１は、有線ＮＷ Ｉ／Ｆや無線ＮＷ Ｉ／Ｆを用いてサーバーと通信を行い、インターネット上に存在する、印刷装置ベンダーのＷｅｂサイトや、ＯＳベンダーのＷｅｂサイトなどへのアクセスを行う。また、外部Ｉ／Ｆ制御部４１１は、印刷装置へ出力するための印刷用ＰＤＬデータの送信も行う。ＵＩ制御部４１４は、表示部や入力部を介して、端末装置のユーザに情報提供を行う。また、端末装置のユーザからの指示を受け付ける。ＯＳ４１２は、ＲＯＭ・ＲＡＭ上に格納されて端末装置全体の動きを制御するオペレーティングシステムである。ＯＳ４１２は、端末装置上にある各ソフトウェアブロック間の情報交換や実行制御を行う。【選択図】図４
2020087062.tif 000002
【特許請求の範囲】
【請求項１】
印刷に用いるデータを生成するプリンタドライバと通信可能なアプリケーションプログラムであって、
端末装置のコンピュータに、
前記プリンタドライバからデータを受信する受信工程と、
前記アプリケーションプログラムとは異なる第２のアプリケーションプログラムがアクセス可能な領域にデータを格納する格納工程と、
前記第２のアプリケーションプログラムが前記コンピュータに実行されることによって前記格納したデータに対する処理が完了した後に、前記第２のアプリケーションプログラムにより処理されたデータを取得する取得工程と、
を実行させ、
前記取得工程で取得した、前記処理されたデータを含む印刷データが印刷装置に送信される
ことを特徴とするアプリケーションプログラム。
【請求項２】
前記受信工程で前記プリンタドライバから受信するデータには印刷データに関連付けられたプリントチケットが含まれており、
前記第２のアプリケーションプログラムは、前記格納されたデータに含まれるプリントチケットを編集する
ことを特徴とする請求項１に記載のアプリケーションプログラム。
【請求項３】
ユーザ認証を行うか否かを判断する判断工程を前記コンピュータに更に実行させる
ことを特徴とする請求項２に記載のアプリケーションプログラム。
【請求項４】
前記判断工程では、更に、前記認証の方式が、前記プリンタドライバによってユーザ認証を行う第１の方式であるか、前記第２のアプリケーションプログラムによりユーザ認証を行う第２の方式であるか、を判断する
ことを特徴とする請求項３に記載のアプリケーションプログラム。
【請求項５】
前記判断工程で前記にユーザ認証を行うと判断され、且つ、前記認証の方式が前記第２の方式であると判断されたことに従って、前記格納工程では、第２のアプリケーションプログラムがアクセス可能な領域に対して前記プリントチケットを含むデータを格納し、
前記認証の方式が第１の方式であると判断されたことに従っては、前記領域へのデータの格納が行われない
ことを特徴とする請求項４に記載のアプリケーションプログラム。
【請求項６】
前記認証の方式が第１の方式であると判断された場合、前記プリンタドライバにより、前記第１の方式によるユーザ認証が行われ、且つ、前記認証に成功したユーザに対応する印刷制限情報が外部装置から取得され、当該印刷制限情報を満たすように前記プリンタドライバが生成した前記プリントチケットが修正され、
前記認証の方式が第２の方式であると判断された場合、前記第２のアプリケーションプログラムが前記コンピュータに実行されることにより、前記第２の方式によるユーザ認証が行われ、且つ、前記認証に成功したユーザに対応する印刷制限情報が外部装置から取得され、当該印刷制限情報を満たすように、前記格納工程で格納されたプリントチケットが修正される
ことを特徴とする請求項５に記載のアプリケーションプログラム。
【請求項７】
前記第２の方式において、前記印刷制限情報の取得元となる外部装置は、サーバーである
ことを特徴とする請求項６に記載のアプリケーションプログラム。
【請求項８】
前記第２のアプリケーションプログラムが前記コンピュータにより実行されることで実現される前記格納したデータに対する処理は、前記データを暗号化する処理、又は、色材の消費を抑制する画像処理のいずれかが含まれる
ことを特徴とする請求項１に記載のアプリケーションプログラム。
【請求項９】
印刷に用いるデータを生成するプリンタドライバと、当該プリンタドライバと通信可能な第１のアプリケーションプログラムと、前記第１のアプリケーションプログラムと共有領域を介してデータを共有することが可能な第２のアプリケーションプログラムがインストールされた端末装置であって、
前記第１のアプリケーションプログラムは、
前記プリンタドライバからデータを受信する受信手段と、
第２のアプリケーションプログラムがアクセス可能な領域に第１のデータを格納する第１の格納手段と、
して機能し、
前記第２のアプリケーションプログラムは、
前記領域に格納された第１のデータを取得し、当該第１のデータに対する処理を実行する実行手段と、
前記実行手段による前記第１のデータに対する処理によって得られた第２のデータを前記領域に格納する第２の格納手段と、
として機能し、
前記プリンタドライバは、
印刷データを生成する生成手段と、
前記第２のデータと、前記生成手段により生成された印刷データを含む印刷ジョブを印刷装置に送信する送信手段と、
して機能する
ことを特徴とする端末装置。
【請求項１０】
前記端末装置は、パーソナルコンピュータであり、
前記プリンタドライバは、複数のベンダーの印刷装置に対応する汎用プリンタドライバであり、
前記第１のアプリケーションプログラムは、前記汎用プリンタドライバと関連付けられたＵｎｉｖｅｒｓａｌ  Ｗｉｎｄｏｗｓ  Ｐｌａｔｆｏｒｍの上で動作する、プリンタドライバを拡張するためのアプリケーションプログラムである
ことを特徴とする請求項９に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷に関するデータを処理するアプリケーションプログラム、及び端末装置に関するものである。
【背景技術】
【０００２】
従来、印刷装置の制御用ソフトウェアとして、ＰＣ（Personal Computer）などの端末装置にインストールされたプリンタドライバを利用し、端末装置に接続された印刷装置に対して印刷を行う印刷システムが一般に知られている。こうした印刷システムにおいて、端末装置には、基本ソフトウェアであるオペレーティングシステム（以下、「ＯＳ」という）がインストールされており、プリンタドライバはインストールされているＯＳの規定する仕様に従って構成される。そして、印刷装置を提供するベンダー（以下、「印刷装置ベンダー」という）は、印刷装置毎（機種毎）に対応するプリンタドライバをユーザに提供することにより、端末装置から自社の印刷装置を用いた印刷を行えるようにしている。
また、このようなプリンタドライバに、印刷システムの管理者がユーザ毎に印刷装置の使用条件を制限する機能を付加できるようにすることも従来から知られている（例えば、特許文献１を参照）。
【０００３】
また、近年、ＯＳを提供するベンダー（以下、「ＯＳベンダー」という）により、様々な印刷装置ベンダーが提供する印刷装置に対して印刷指示をすることができる、汎用プリンタドライバも提供されるようになってきている。ただし、一般的に、汎用プリンタドライバで、印刷装置ベンダー固有の各印刷装置（各機種）に特化した機能をサポートしておらず、基本的な印刷機能（例えば、両面印刷など）だけをサポートする仕組みになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２２０５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、汎用プリンタドライバの場合、様々な印刷装置ベンダーが提供する印刷装置（機種）に共通して対応可能して、様々な印刷装置毎（機種毎）に特化した機能をサポートすることは難しい。これは、すべての印刷装置ベンダーが提供するすべての印刷装置に対応する機能を汎用プリンタドライバに搭載すると、管理コストやプリンタドライバ自身のサイズが増大してしまう恐れがあり、現実的ではないためである。
【０００６】
また、ＩＰＰ（Internet Printing Protocol）のような、印刷装置（機種）に依存しない、業界標準のプロトコルを用いた汎用の印刷処理においても、印刷システムの管理者がユーザ毎に印刷装置の使用条件の制限を行うための仕組みが考えられている。しかし、ＩＰＰによる印刷機能においても、印刷装置ベンダーが提供する高度な使用条件の制限までは行うことができないといった課題がある。
【０００７】
本発明は、汎用プリンタドライバでは実現できない高度な印刷機能を、汎用プリンタドライバと連携して動作するアプリケーションプログラムを用いて実現できる仕組みを提供することを目的の１つとする。また、本発明の別の側面としては、汎用プリンタドライバを使用するユーザの利便性を高めることを目的の１つとする。
【課題を解決するための手段】
【０００８】
本発明は、印刷に用いるデータを生成するプリンタドライバと通信可能なアプリケーションプログラムであって、端末装置のコンピュータに、前記プリンタドライバからデータを受信する受信工程と、前記アプリケーションプログラムとは異なる第２のアプリケーションプログラムがアクセス可能な領域にデータを格納する格納工程と、前記第２のアプリケーションプログラムが前記コンピュータに実行されることによって前記格納したデータに対する処理が完了した後に、前記第２のアプリケーションプログラムにより処理されたデータを取得する取得工程と、を実行させ、前記取得工程で取得した、前記処理されたデータを含む印刷データが印刷装置に送信されることを特徴とする。
また、本発明は、印刷に用いるデータを生成するプリンタドライバと、当該プリンタドライバと通信可能な第１のアプリケーションプログラムと、前記第１のアプリケーションプログラムと共有領域を介してデータを共有することが可能な第２のアプリケーションプログラムがインストールされた端末装置であって、前記第１のアプリケーションプログラムは、前記プリンタドライバからデータを受信する受信手段と、第２のアプリケーションプログラムがアクセス可能な領域に第１のデータを格納する第１の格納手段と、して機能し、前記第２のアプリケーションプログラムは、前記領域に格納された第１のデータを取得し、当該第１のデータに対する処理を実行する実行手段と、前記実行手段による前記第１のデータに対する処理によって得られた第２のデータを前記領域に格納する第２の格納手段と、として機能し、前記プリンタドライバは、印刷データを生成する生成手段と、前記第２のデータと、前記生成手段により生成された印刷データを含む印刷ジョブを印刷装置に送信する送信手段と、して機能することを特徴とする。
【発明の効果】
【０００９】
本発明の１つの側面によれば、汎用プリンタドライバ内では実現できない高度な印刷機能を、汎用プリンタドライバと連携して動作するアプリケーションアプリケーションプログラムを用いて実現し、ユーザが所望する印刷機能を提供することができる。本発明の別の側面によれば、汎用プリンタドライバを使用するユーザの利便性を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】印刷システムの構成図である。
【図２】端末装置のブロック図である。
【図３】印刷装置のブロック図である。
【図４】端末装置及び印刷装置のソフトウェアブロック図である。
【図５】端末装置における、汎用プリンタドライバ、拡張アプリケーション、認証アプリケーションの連携図である。
【図６】印刷装置及び端末装置における処理を示すフローチャートである。
【図７】端末装置における印刷制御を示すフローチャートである（実施例１）。
【図８】端末装置における印刷制御を示すフローチャートである（実施例２）。
【図９】ロール情報の例である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らない。
【００１２】
＜印刷システム１００＞
はじめに、印刷システム１００の構成を説明する。
図１は、本実施形態に係る印刷システム１００の一例を示す。印刷システム１００において、端末装置１０４、印刷装置１０５、サーバー１０１などの各デバイスが、それぞれ、ルータ１０３を介して通信可能に接続されている。各デバイスの接続形態は、有線接続であってもよいし、無線接続であってもよい。なお、図１では、端末装置１０４や印刷装置１０５などは、それぞれ１つのみを図示しているが、これに限定されず、これらのデバイスは複数備えられていてもよい。
【００１３】
サーバー１０１は、企業内などのネットワーク環境を制御するためのサーバーである。本実施形態では、サーバー１０１は、インターネット１０２と企業内ネットワーク間の情報交換も行う機能も兼ねているものとする。
【００１４】
企業内のネットワーク環境に接続している端末装置１０４は、サーバー１０１を介してインターネット１０２上のリソースにアクセスすることができる。インターネット１０２上には、例えば、ＯＳベンダーのアプリケーション配信サーバーや、印刷装置ベンダーのアプリケーション配布サイトなどが存在する。
【００１５】
端末装置１０４は、印刷対象のデータに基づいて印刷ジョブを生成し、ネットワーク上の印刷装置１０５へ印刷ジョブを送信することができる。印刷装置１０５は、端末装置１０４などのクライアントコンピュータから送信された印刷ジョブを受信し、受信した印刷ジョブに基づいてシートに画像を印刷する機能を有する。
【００１６】
＜端末装置１０４のハードウェア＞
図２は、端末装置１０４のハードウェアブロック図の一例である。本実施形態では、端末装置１０４は、パーソナルコンピュータなどの端末を想定しているがこれに限定されるものではない。スマートフォンやタブレット端末に代表される携帯端末であってもよい。さらには、Ｈｏｌｏｌｅｎｓ（登録商標）などのウェアラブルコンピュータなどであってもよい。
メインボード２０１は端末装置１０４の制御基板である。
有線ＮＷ Ｉ／Ｆ２０２は、イーサネット（登録商標）に代表される通信ネットワークの通信の制御を行う。端末装置１０４は、有線ＮＷ Ｉ／Ｆ２０２を介して、企業内のネットワークやインターネット１０２上の装置と通信することができる。
【００１７】
無線ＮＷ Ｉ／Ｆ ２０３は、主にＩＥＥＥ８０２．１１シリーズに準拠する無線通信（Ｗｉ−Ｆｉ（登録商標）通信ともいう）の制御を行う。また、無線ＮＷ Ｉ／Ｆ２０３は、ＬＴＥや５Ｇなどの移動通信システムのインタフェースとしても機能する。端末装置１０４は、無線ＮＷ Ｉ／Ｆ２０３を介して、企業内のネットワークやインターネット１０２上の装置と通信することができる。さらに、移動通信システムの基地局を介して、インターネット１０２に直接アクセスすることもできる。
ＵＳＢ Ｉ／Ｆ２０４は、ＵＳＢ規格に準拠した周辺機器などを接続する。
システムバス２０５は、メインボード２０１上の各種ハードウェアブロック間の情報を相互に交換する。
【００１８】
ＣＰＵ２０６は、ＲＯＭ・ＲＡＭ２０７上に展開されたＯＳやアプリケーションプログラム（以下、「アプリケーション」という）などの制御プログラムを実行し、端末装置１０４全体の動作をコントロールする。
ＲＯＭ・ＲＡＭ２０７は、端末装置１０４の起動用プログラムの格納や、作業用プログラムの記憶をする領域として機能する。
【００１９】
メモリコントローラ２０８は、メインヒータ２０１と外部記憶装置２１０とのデータ送受信を制御する。
外部記憶装置２１０は、端末装置１０４のＲＯＭ・ＲＡＭ２０７の補助的な機能をする記憶領域であり、一般的にはハードディスクやＵＳＢメモリ、光学式メモリデバイスなどから構成される。外部記憶装置２１０には、ＯＳやアプリケーションなどのプログラムや、一時的なデータやファイルなどが記憶される。このように、ＣＰＵ２０６、ＲＯＭ・ＲＡＭ２０７、外部記憶装置２１０などのハードウェアは、いわゆるコンピュータを構成している。
【００２０】
なお、本実施形態では、１つのＣＰＵ２０６が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のプロセッサ、メモリ、ストレージなどが協働して、後述するフローチャートに示す各処理を実行するように構成することもできる。
【００２１】
操作部Ｉ／Ｆ２０９は、表示部２１１とメインボード２０１を接続する。また、操作部Ｉ／Ｆ２０９は、入力部２１２とメインボード２０１を接続する。
表示部２１１は、液晶パネルや有機ＥＬパネルなどから構成される表示デバイスであり、ユーザに情報を提示する表示手段として機能する。入力部２１２は、キーボードやマウス、表示部の上面に備えつけられたタッチパネルなどから構成されるデバイスであり、ユーザからの操作を受け付ける受付手段として機能する。
【００２２】
＜印刷装置１０５のハードウェア＞
図３は、印刷装置１０５のハードウェアブロック図の一例である。
印刷装置１０５は、外部から印刷データを受信し印刷する機能を有する。本実施形態では、印刷装置の一例として、単機能のＳＦＰ（Single Function Peripheral）である場合について説明するが、これに限定されるものではない。例えば、コピー機能、印刷機能、ＦＡＸ機能、画像読取機能などの複数の機能を有するＭＦＰ（Multi Function Peripheral）などであってもよい。
【００２３】
メインボード３０１は印刷装置１０５の制御基板である。
有線ＮＷ Ｉ／Ｆ３０２は、イーサネット（登録商標）に代表される有線通信ネットワークの通信の制御を行う。印刷装置１０５は、有線ＮＷ Ｉ／Ｆ３０２を介して、企業内のネットワークやインターネット１０２上の装置と通信することができる。
【００２４】
無線ＮＷ Ｉ／Ｆ３０３は、主にＩＥＥＥ８０２．１１シリーズに準拠する無線通信（「Ｗｉ−Ｆｉ（登録商標）通信）ともいう）の制御を行う。また、無線ＮＷ Ｉ／Ｆ３０３は、ＬＴＥや５Ｇなどの移動通信システムのインタフェースとしても機能する。印刷装置１０５は、無線ＮＷ Ｉ／Ｆ３０３を介して、企業内のネットワークやインターネット１０２上の装置と通信することができる。さらに、移動通信システムの基地局を介してインターネット１０２に直接アクセスすることもできる。
有線と無線のどちらを使ってインターネット１０２にアクセスするかは、印刷装置１０５に備えられている表示部３１３及び入力部３１４を介して設定して変更することができる。
【００２５】
ＵＳＢＩ／Ｆ３０４は，ＵＳＢ規格に準拠した端末機器などを接続する。
システムバス３０５は、メインボード３０１上の各種ハードウェアブロック間の情報を相互に交換する。
【００２６】
ＣＰＵ３０６は、ＲＯＭ・ＲＡＭ３０７上に展開されたＯＳやアプリケーションなどの制御プログラムを実行し、印刷装置１０５全体の動作をコントロールする。
ＲＯＭ・ＲＡＭ３０７は、印刷装置１０５の起動用プログラムの格納や、作業用プログラムの記憶をする領域として機能する。
【００２７】
メモリコントローラ３０８は、メインボード３０１と外部記憶装置３１２とのデータ送受信を制御する。
外部記憶装置３１２は、印刷装置１０５のＲＯＭ・ＲＡＭ３０７の補助的な働きをする記憶領域であり、一般的にはハードディスクやＵＳＢメモリ、光学式メモリデバイスなどから構成される。外部記憶装置３１２には、ＯＳやアプリケーションなどのプログラムや、一時的なデータやファイルなどが記憶される。
【００２８】
操作部Ｉ／Ｆ３０９は、表示部３１３とメインボード３０１を接続する。
表示部３１３は、液晶パネルや有機ＥＬパネルなどから構成される表示デバイスであり、ユーザに情報を提示する表示手段として機能する。入力部３１４は、キーボードや、表示部の上面に備えつけられたタッチパネルなどから構成されるデバイスでありユーザからの操作を受け付ける受付手段として機能する。
【００２９】
印刷部Ｉ／Ｆ３１０は、印刷部３１５へ印刷用画像データを引き渡す。
読取部Ｉ／Ｆ３１１は、読取部３１６から画像データを受け取る。
印刷部３１５は、いわゆるプリンタエンジンであり、電子写真方式やインクジェット方式など様々な印刷方式による印刷装置のことである。印刷部３１５には、複数種類の用紙を抱える給紙カセットや、両面印刷機構、白黒・カラー印刷機構、ステイプル機構、製本機構、トリム機構、複数の排紙トレイなども含まれている。
ここで、製本機構、トリム機構、折り機構、ステイプル機構について説明する。製本機構では、中央をステイプルで綴じる中綴じ製本や、印刷物を表紙でくるんで接着し無線綴じするくるみ製本などの製本処理を行うことができる。また、トリム機構では、シートの端部をトリムすることができる。折り機構では、シートにＺ折り、中央折り、３折り（Ｃ折り）、４つ折りなどの折り処理を行うことができる。ステイプル機構では、複数のシートを綴じるなどの綴じ処理を行うことができる。
【００３０】
読取部３１６は、スキャナであり、原稿台やイメージセンサーなどから構成される。自動的に読取用紙を給紙するフィーダーなども、読取部３１６に含まれる。
【００３１】
＜端末装置１０４及び印刷装置１０５のソフトウェア＞
次に、図４を用いて、端末装置１０４及び印刷装置１０５のソフトウェアブロック図について説明する。
図４（ａ）は、端末装置１０４のソフトウェアブロック図である。これらは、主にＲＯＭ・ＲＡＭ２０７上に格納されて動作する。
【００３２】
外部Ｉ／Ｆ制御部４１１は、有線ＮＷ Ｉ／Ｆ２０２や無線ＮＷ Ｉ／Ｆ２０３を用いてサーバー１０１と通信を行い、インターネット１０２上に存在する、印刷装置ベンダーのＷｅｂサイトや、ＯＳベンダーのＷｅｂサイトなどへのアクセスを行う。また、外部Ｉ／Ｆ制御部４１１は、印刷装置１０５へ出力するための印刷用ＰＤＬデータの送信も行う。
【００３３】
ＵＩ制御部４１４は、表示部２１１や入力部２１２を介して、端末装置１０４のユーザに情報提供を行い、また、端末装置１０４のユーザからの指示を受け付ける。
ＯＳ４１２は、ＲＯＭ・ＲＡＭ２０７上に格納されて端末装置１０４全体の動きを制御するオペレーティングシステムである。ＯＳ４１２は、端末装置１０４上にある各ソフトウェアブロック間の情報交換や実行制御を行う。
【００３４】
内部Ｉ／Ｆ制御部４１３は、端末装置１０４の外部記憶装置２１０にあるオペレーティングシステムやプリンタドライバ、各種アプリケーションプログラムなどの格納を行う。
印刷指示・制御部４１５は、各種アプリケーションプログラムなどが作成したデータを印刷装置１０５で印刷するように指示を行う。印刷装置１０５が印刷制御を実施していれば、認証制御管理部４１６と情報交換を行い、印刷データを印刷制御に従い変換して、印刷装置１０５に対して送信する。
認証制御管理部４１６は、印刷装置１０５に設定されている印刷制御のためのユーザ認証を制御し、印刷制御のための情報を管理する。
【００３５】
図４（ｂ）は、印刷装置１０５のソフトウェアブロック図である。これらは、主にＲＯＭ・ＲＡＭ３０７上に格納されて動作する。
【００３６】
印刷装置外部Ｉ／Ｆ制御部４２１は、有線ＮＷ Ｉ／Ｆ３０２や無線ＮＷ Ｉ／Ｆ３０３を介して、端末装置１０４から送信される印刷用ＰＤＬデータを受け取る。
印刷装置ＯＳ４２２は、ＲＯＭ・ＲＡＭ３０７上に格納されて、複合印刷装置１０５全体の動きを制御するオペレーティングシステムである。印刷装置ＯＳ４２２は、印刷装置１０５上にある各ソフトウェアブロック間の情報交換や実行制御を行う部分である。
【００３７】
印刷処理部４２３は、有線ＮＷ Ｉ／Ｆ３０２や無線ＮＷ Ｉ／Ｆ３０３やＵＳＢ Ｉ／Ｆ３０４を介して受信した印刷用ＰＤＬデータを印刷部４２４が解釈可能な形式に変換する。
印刷部４２４は、印刷処理部４２３から提供された印刷用データを印刷する。
【００３８】
印刷装置ＵＩ制御部４２５は、表示部３１４や入力部３１４を介して、印刷装置１０５のユーザに情報提供を行い、また、印刷装置１０５のユーザからの指示を受け付ける。
印刷装置認証制御管理部４２６は、印刷装置１０５側において印刷制御の設定を行う。また、印刷装置認証制御管理部４２６は、設定された印刷制御に関する情報を管理し、端末装置１０４からの問い合わせに応じて、印刷装置１０５のユーザ毎の印刷装置１０５の使用条件を規定した印刷制限情報を記録したロール情報（図９で後述）の返答を行う。
【００３９】
＜各アプリケーションの関係＞
図５は、端末装置１０４おける、汎用プリンタドライバ５０１、拡張アプリケーション５０２、ベンダー認証アプリケーション５０４の関係を説明する図である。
【００４０】
汎用プリンタドライバ５０１は、図４において内部Ｉ／Ｆ制御部４１３として示されているソフトウェアブロック内のソフトウェアである。汎用プリンタドライバ５０１は、ＲＯＭ・ＲＡＭ２０７上で動作するＯＳ４１２と共に、ＯＳベンダーが提供するプリンタドライバであり、どの印刷装置ベンダーが提供する印刷装置であっても印刷可能な形式の印刷用ＰＤＬデータを出力する。ただし、汎用プリンタドライバ５０１がサポートする機能は、一般的に、基本的な印刷機能だけであり、印刷装置毎（機種毎）に特化した機能はサポートされていない。
また、汎用プリンタドライバ５０１は、端末装置１０４から出力したＰＤＬデータを印刷することができる印刷装置１０５をネットワーク上で探索し、印刷装置１０５等のプリンタから当該プリンタがサポートする属性情報（能力情報とも呼ぶ）の取得も行う。
【００４１】
拡張アプリケーション５０２は、図４において印刷指示・制御部４１５として示されているソフトウェアブロック内のソフトウェアであり、印刷装置ベンダーが提供するアプリケーションの１つである。拡張アプリケーション５０２は、印刷装置ベンダーによりインターネット１０２上に提供され、印刷装置１０５に組み込み可能となっている。
拡張アプリケーション５０２は、汎用プリンタドライバ５０１が提供する印刷機能に加えて、付加的な印刷機能を有する。図５に示されるように、拡張アプリケーション５０２は汎用プリンタドライバ５０１と直接連携して、汎用プリンタドライバ５０１だけでは提供できない付加的な印刷機能を提供する。拡張アプリケーション５０２は、例えば、ＵＷＰ（Ｕｎｉｖｅｒｓａｌ  Ｗｉｎｄｏｗｓ  Ｐｌａｔｆｏｒｍ）などのサンドボックス環境上で動作するアプリケーションである。
【００４２】
汎用プリンタドライバ５０１は、ＯＳ４１２と協働して、ネットワーク上で探索した印刷装置１０５のベンダー情報に基づいて、対応する印刷装置ベンダーが提供する拡張アプリケーション５０２をインターネット１０２上から取得する。これにより、拡張アプリケーション５０２は端末装置１０４にインストールされる。これらのインストールは、例えば、印刷装置の初回利用時などに実行される。このように、拡張アプリケーション５０２は、汎用プリンタドライバ５０１の利用時に自動的にインストールされるよう構成されている。このため、拡張アプリケーション５０２は、印刷装置ベンダーが提供する印刷装置１０５において一般のユーザが頻繁に使用するような印刷機能にサポート機能を絞ることにより、インストールに伴い必要となるファイルサイズを削減することが好ましい。
また、本実施形態においては、印刷指示・制御部４１５はプリントチケットの編集も行う。
【００４３】
ベンダー認証アプリケーション５０４は、図４において認証制御管理部４１６として示されているソフトウェアブロック内のソフトウェアであり、ＲＯＭ・ＲＡＭ２０７上で動作するアプリケーションの１つである。
続けて、ベンダー認証アプリケーション５０４が提供する認証制御について説明する。例えば、印刷システム１００の運用形態によっては、拡張アプリケーション５０２や汎用プリンタドライバ５０１がサポートする機能に加えて、さらに付加的な独自の印刷機能を活用したいというニーズがある。ここで、独自の印刷機能とは、例えば、個人毎の印刷機能制限や、一定期間内の出力枚数制限などが挙げられる。このため、印刷装置ベンダーとしては、拡張アプリケーション５０２に加えて、独自の印刷機能を備えたベンダー認証アプリケーション５０４を提供することが考えられる。また、印刷装置ベンダーは、印刷システム１００の管理者毎のニーズに応じて、異なるベンダー認証アプリケーション５０４を提供することができる。
【００４４】
図５に示されるように、ベンダー認証アプリケーション５０４は、印刷装置１０５と直接の情報交換を行うことにより、印刷装置１０５を使用するユーザについての印刷制限情報の問い合わせを行い、ユーザ毎のロール情報の取得を行う。なお、ここでは取得元の一例として印刷装置１０５を例示しているがこれに限定されるものではない。例えばサーバー１０１などでユーザ毎のロール情報を集中管理するような運用形態を採用することもできる。この場合、ベンダー認証アプリケーション５０４は、サーバー１０１と通信を行い、ユーザ毎にカスタマイズされた印刷制限情報を取得する。ただし、ベンダー認証アプリケーション５０４は、拡張アプリケーション５０２とは異なり、汎用プリンタドライバ５０１とは直接連携していない。従って、共有領域５０３を介して、情報交換を行う。
また、本実施形態においては、ベンダー認証アプリケーション５０４はプリントチケットの編集も行う。
【００４５】
共有領域５０３は、アプリケーション５０４とアプリケーション５０２がファイルを共有するために用いる記憶領域である。例えば、Ｗｉｎｄｏｗｓ ＯＳなどの場合には、ＵＷＰ形式の拡張アプリケーション５０２のローカルディレクトリやローミングディレクトリなどを共有領域として用いるようにすればよい。共有領域５０３に対してプリントチケットやロール情報を示すデータ（ファイル）を読み書きすることで、拡張アプリケーション５０２及びベンダー認証アプリケーション５０４の間でデータを相互に受け渡すことが可能となる。
なお、本実施形態では、共有領域５０３の一例として、拡張アプリケーション５０２のローカルディレクトリやローミングディレクトリを使用する場合を例示したがこれに限定されるものではない。
【００４６】
＜初期設定処理＞
次に、図６を用いて、端末装置１０４及び印刷装置１０５で行われる初期設定処理について説明する。図６（ａ）は、端末装置１０４における初期設定処理を示すフローチャートである。また、図６（ｂ）は、印刷装置１０５における初期設定処理を示すフローチャートである。
【００４７】
図６（ａ）のフローチャートに示す各処理（ステップ）は、ＣＰＵ２０６が、記憶された各制御モジュールを実現するためのプログラムをメモリから読み出し、実行することにより実現される。
なお、各フローチャートに示す各処理は、ＣＰＵ２０６によって実行されるＯＳ、汎用プリンタドライバ、拡張アプリケーション、認証アプリケーションなどのモジュールやソフトウェアコンポーネントが協働して実現するものとする。また、データ送信、情報の入出力などの一部の処理は、各Ｉ／Ｆと協働して実現される。
また、以下においては、各処理を実現する主体となるプログラムやモジュールを明確にするため、ソフトウェアコンポーネントやアプリケーションなどを主語として記載するものとする。これについては、後述の図７や図８のフローチャートにおいても同様である。
【００４８】
図６（ａ）のフローチャートは、ベンダー認証アプリケーション５０４を端末装置１０４にインストールする際に実行するための処理を示している。
まず、Ｓ６０１において、ＯＳ４１２は、端末装置１０４の入力部２１２を介してユーザのログイン操作を受け付けて、端末装置１０４にユーザをログインさせる。
【００４９】
次に、Ｓ６０２において、ＯＳ４１２は、ベンダー認証アプリケーション５０４のインストール処理及び初期設定処理を行う。
まず、ＯＳ４１２は、入力部２１２を介して、ベンダー認証アプリケーション５０４をインストールするユーザ指示を検知すると、ベンダー認証アプリケーション５０４のインストール処理を実行する。ここで、インストールに必要となるインストーラーは、印刷装置１０５のベンダーが運営するＷｅｂサイトなどから予め取得されているものとする。
インストーラーを使用したベンダー認証アプリケーション５０４のインストールが完了すると、ベンダー認証アプリケーション５０４は、初期設定画面を表示する。ユーザは、初期設定画面を介してベンダー認証アプリケーション５０４の設定操作を行う。
【００５０】
初期設定画面における設定が完了すると、端末装置１０４にログインするすべてのユーザがベンダー認証アプリケーション５０４を利用可能であるという情報を外部記憶装置２１０に書き込む。
以上の一連のインストール処理により、ベンダー認証アプリケーション５０４は、ＯＳ４１２が起動される度に自動的にＲＯＭ・ＲＡＭ２０７にローディングされて起動されるようになる。また、その起動状態は、ベンダー認証アプリケーション５０４により共有領域５０３に書き込まれる。
【００５１】
Ｓ６０３において、ＯＳ４１２は、入力部２１２を介して端末装置１０４からログアウトする操作を受け付けると、端末装置１０４からユーザをログアウトさせ、一連のセットアップ処理を終了する。
【００５２】
このように、ベンダー認証アプリケーション５０４が端末装置１０４にインストールされると、汎用プリンタドライバ５０１が提供する印刷機能に加えて、さらにベンダー認証アプリケーション５０４によって提供される付加的な印刷機能が実行可能となる。付加的な印刷機能の具体例については、後述する。
【００５３】
続けて、印刷装置１０５側におけるベンダー認証機能に関する設定について説明する。図６（ｂ）のフローチャートに示す各処理（ステップ）は、ＣＰＵ３０６が記憶された各制御モジュールを実現するためのプログラムをメモリから読み出し、実行することにより実現される。なお、フローチャートで示す各処理は、印刷装置ＯＳ、印刷装置認証制御管理部などのモジュールやソフトウェアコンポーネントが協働して実現するものとする。また、データ送信、情報の入出力などの一部の処理は、各Ｉ／Ｆと協働して実現される。なお、以下においては、各処理を実現する主体となるプログラムを明確にするため、ソフトウェアコンポーネントやアプリケーションなどを主語として記載するものとする。
【００５４】
図６（ｂ）のフローチャートは、印刷装置１０５において、印刷装置１０５のユーザ毎の印刷制限情報の設定を行うための処理を示している。
まず、Ｓ６１１において、印刷装置ＯＳ４２２は、印刷装置１０５の入力部３１４を介して印刷システム１００の管理者のログイン操作を受け付けて、印刷装置１０５にユーザをログインさせる。
【００５５】
次に、Ｓ６１２において、印刷装置ＯＳ４２２は、ユーザ毎の印刷制限情報の設定を行う。さらに、印刷装置ＯＳ４２２は、印刷時に印刷装置１０５においてユーザ認証を要求するか否か、また、ユーザ認証を要求する場合、ＩＰＰ標準の認証（ＩＰＰ認証）を使うかベンダー固有の認証（ベンダー認証）を使うか、などの設定も行うものとする。これらの設定情報は外部記憶装置３１２に保存される。
【００５６】
図９（ａ）及び（ｂ）は、印刷装置１０５から端末装置１０４に送信される、ユーザ毎の印刷制限情報であるロール情報９０１及び９０２の一例を示す図である。
図９（ａ）は、ＩＰＰが提供する標準的な印刷制限機能を利用する際に参照されるロール情報の一例を示している。ＩＰＰ標準の印刷機能は、各印刷装置ベンダーが提供する印刷装置１０５の機種に依存することはない。ただし、ＩＰＰ標準の印刷機能は、図９（ａ）に示されるように、例えば、カラー／白黒、片面／両面、ページレイアウト、のような基本的な印刷設定項目から構成される。そして、本実施形態においては、ＩＰＰ標準の印刷制限機能は、汎用プリンタドライバ５０１により取得され、ユーザ毎の印刷制限制御に用いられる。例えば、「ＵｓｅｒＢ」は、モノクロ印刷、両面印刷、４ｉｎ１に制限されており、カラー印刷、片面印刷、２ｉｎ１以下のレイアウトの印刷を行えないよう制限される。
印刷システム１００の管理者は、図示省略の設定画面を介してユーザ毎に、印刷制限情報（ＩＰＰ印刷制限情報）を設定する（カスタマイズする）ことが可能である。
【００５７】
また、図９（ｂ）は、ベンダー認証アプリケーション５０４の印刷制限機能を用いる際に参照されるロール情報の一例を示している。ベンダー認証アプリケーション５０４は、各印刷装置ベンダーにより提供されるものである。そして、その印刷機能は印刷装置ベンダー毎に異なり、印刷装置１０５に依存するものである。本実施形態においては、ベンダー認証アプリケーション５０４の印刷機能は、図９（ｂ）に示されるように、ＩＰＰ標準の印刷機能において設定可能な印刷設定項目に加えて、裁断機能や綴じ機能などの付加的な印刷設定項目に対するロール情報を設定可能である。なお、付加的な印刷設定項目は一例であり、印刷装置の能力に応じてその他様々な項目を有していても良い。例えば、加飾ニスなどを用いた加飾設定や、折り筋を付けるクリース設定、特色トナーを用いた印刷に関する制限情報などを含んでいてもよい。さらに、月ごとの印刷可能枚数の制限や、印刷用紙サイズの制限（例えば、Ａ３は禁止するなどの制限）、用紙種別の制限（例えば、再生紙以外は禁止するなどの制限）を行うこともできる。
また、印刷システム１００の管理者は、図示省略の設定画面を介して、ユーザ毎に、印刷制限情報（ベンダー印刷制限情報）を設定する（カスタマイズする）ことが可能である。
【００５８】
これにより、印刷システム１００の管理者は、印刷装置１０５のユーザが、ＩＰＰを利用する場合と、ベンダー認証アプリケーション５０４を利用する場合のそれぞれにおいて、ユーザ毎に印刷機能の使用条件を定義する。そして、当該定義に基づきユーザ毎に印刷を制限することができる。
なお、図９に示される印刷設定項目は一例であり、これらの機能に限定されるものではない。
【００５９】
印刷制限設定が終了した後、Ｓ６１３において、印刷装置ＯＳ４２２は、入力部３１４を介して印刷システム１００の管理者ユーザのログアウト操作を受け付けると、印刷装置１０５からグアウトさせる。
【００６０】
＜印刷制御処理＞
＜実施例１＞
図７は、端末装置１０４において実行される印刷制御処理を示すフローチャートである。
図７のフローチャートに示す各処理（ステップ）は、ＣＰＵ３０６が、記憶された各制御モジュールを実現するためのプログラムをメモリから読み出し、実行することにより実現される。
【００６１】
まず、Ｓ７０１において、ＯＳ４１２は、端末装置１０４の入力部２１２を介してユーザのログイン操作を受け付けて、端末装置１０４にユーザをログインさせる。
Ｓ７０２において、汎用プリンタドライバ５０１は、ＯＳ４１２と協働して、汎用プリンタドライバ５０１を用いて印刷処理を行うことができる印刷装置を探索する。探索の方法は、例えば、ＷＳＤ（Web Services for Devices）やｍＤＮＳ（Multicast DNS）などの仕組みを用いることができる。
【００６２】
Ｓ７０３において、汎用プリンタドライバ５０１は、Ｓ７０２の探索結果として１台以上の印刷装置が見つかったか否かを判定する。
Ｓ７０３で１台以上の印刷装置が見つかった場合、汎用プリンタドライバ５０１は、ユーザに所望の印刷装置を選択させる選択画面を表示部２１１に表示する。さらに、選択画面から選択された印刷装置を出力先として指定し、Ｓ７０６へ進む。以下、ここで選択された印刷装置を「出力先の印刷装置（１０５）」と呼ぶものとする。
【００６３】
Ｓ７０３で印刷装置が見つからなかった場合、Ｓ７０４において、汎用プリンタドライバ５０１は、対応する印刷装置が見つからなかった旨を表示部２１１に表示する。
そして、Ｓ７０５において、ＯＳ４１２は、入力部２１２を介したユーザのログアウト操作を受け付けると、端末装置１０４からユーザをログアウトさせ、印刷処理を実行することなく、一連の処理を終了する。
【００６４】
次に、Ｓ７０３で印刷装置の探索に成功し、ユーザにより出力先の印刷装置が指定された場合の処理について説明する。
【００６５】
まず、Ｓ７０６において、汎用プリンタドライバ５０１は、ＯＳ４１２と協働して出力先の印刷装置１０５に対して、その印刷装置１０５が備える印刷能力を示す属性情報（「デバイスアトリビュート」ともいう）を問い合わせる。本実施形態では、ＩＰＰのＧｅｔ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓオペレーションを用いて問い合わせを行うものとする。なお、印刷能力の問い合わせには、印刷能力を問い合わせるための文字列に加えて、少なくともＧｅｔ−Ｕｓｅｒ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓをサポートしているか否かを問い合わせるための文字列が含まれているものとする。
【００６６】
汎用プリンタドライバ５０１は、Ｇｅｔ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓオペレーションに対する応答を受信すると、汎用プリンタドライバ５０１や拡張アプリケーション５０２からアクセス可能な領域に出力先の印刷装置１０５の属性情報を記憶する。ここで更新した属性情報は、印刷設定などのＵＩ表示に用いられる。
また、出力先の印刷装置１０５から取得する属性情報には、ＩＰＰが提供する印刷機能に加えて、ベンダー特有の設定や属性を格納するベンダー拡張情報が含まれている。本実施形態では、ベンダー拡張情報として、Ｓ６１２の処理で設定された、印刷時に印刷装置１０５においてユーザ認証を要求するか否か、また、ユーザ認証を要求する場合、ＩＰＰ認証を使うかベンダー認証を使うか、などの情報が含まれているものとする。
【００６７】
次に、Ｓ７０７において、端末装置１０４で動作するアプリケーションソフトウェアは、ユーザから印刷指示を受け付けると、ＯＳ４１２及び汎用プリンタドライバ５０１と協働して、印刷するべきデータ（ＰＤＬデータ）を作成する。また、アプリケーションソフトウェアは、ＯＳ４１２及び汎用プリンタドライバ５０１と協働して、ユーザ操作などを介して設定された印刷機能に基づいて、プリントチケットを生成する。プリントチケットには、両面印刷の設定や、カラー印刷などの印刷機能の設定が含まれている。また、プリントチケットは、端末装置１０４にログインしているユーザのＩＤなどを含んでもよい。
【００６８】
次に、Ｓ７０８において、ＯＳ４１２及び汎用プリンタドライバ５０１は、出力先の印刷装置１０５のベンダー情報に応じて、印刷装置ベンダーが提供する拡張アプリケーション５０２をインターネット１０２上から取得し、インストールする。インストールが完了すると、ＯＳ４１２は、拡張アプリケーション５０２を起動する。
なお、拡張アプリケーション５０２が端末装置１０４にすでにインストールされている場合、インストール処理は省略され、起動処理が実行される。また、ＯＳ４１２は、Ｓ７０９で生成したＰＤＬデータ、及び、生成されたＰＤＬデータに関連付けられたプリントチケットを拡張アプリケーション５０２に送信する。
【００６９】
次に、Ｓ７０９において、拡張アプリケーション５０２は、汎用プリンタドライバ５０１と連携して、印刷を実行するユーザの認証を要求する設定が出力先の印刷装置１０５においてなされているか否かを判断する。なお、拡張アプリケーション５０２は、Ｓ７０６で取得された属性情報に含まれる、印刷装置１０５が備える印刷能力に基づいて、ユーザ認証を要求するか否かの判断を行う。
ユーザ認証を要求していないと判断した場合、処理をＳ７１０に進める。一方、ユーザ認証を要求していると判断した場合、処理をＳ７１１に進める。
【００７０】
なお、本実施例では、汎用プリンタドライバ５０１が記憶する出力先の印刷装置１０５の印刷能力に基づいてユーザ認証を要求するか否かを判断する場合を示したが、これに限定されるものではない。例えば、拡張アプリケーション５０２が、出力先の印刷装置１０５と通信を行って取得したデバイス情報に基づいて判断を行うようにしてもよい。この場合、デバイス情報の取得には、ＭＩＢ（Management Information Base）などを採用することができる。また、その他の方式であっても構わないことは言うまでもない。
【００７１】
Ｓ７０９でユーザ認証を要求していないと判断した場合、Ｓ７１０において、拡張アプリケーション５０２は、拡張アプリケーション５０２が保持している印刷用のＰＤＬデータとプリントチケットを出力先の印刷装置１０５に送信する。送信されたデータを受信した出力先の印刷装置１０５は、受信したＰＤＬデータに基づいて印刷を実行する。
そして、印刷が終了すると、ＯＳ４１２は、端末装置１０４からユーザをログアウトさせる。
【００７２】
Ｓ７０９でユーザ認証を要求していると判断した場合、Ｓ７１１において、拡張アプリケーション５０２は、Ｓ７０６で取得された属性情報を参照する。そして、拡張アプリケーション５０２は、出力先の印刷装置１０５に設定されている認証方式が、ＩＰＰ認証であるのか、あるいは、ベンダー認証であるのか、を判断する。
ＩＰＰ認証であると判断した場合、Ｓ７１２に進む。一方、ベンダー認証であると判断した場合、Ｓ７１５に進む。なお、Ｓ７１２に進む場合、拡張アプリケーション５０２は、拡張アプリケーション５０２による処理が完了したことを汎用プリンタドライバ５０１に通知する。
【００７３】
Ｓ７１１で認証方式がＩＰＰ認証であると判断した場合、Ｓ７１２において、汎用プリンタドライバ５０１は、ＩＰＰ標準の認証手順に従って、出力先の印刷装置１０５にＩＰＰログインを行う。ここでは、Ｇｅｔ−Ｕｓｅｒ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓオペレーションによるユーザ認証を行う。認証方式としては、ＢＡＳＩＣ認証やＤＩＧＥＳＴ認証などを適宜採用することができる。認証が完了すると処理をＳ７１３に進める。
なお、ユーザ認証に失敗した場合、Ｓ７２１に進みエラーを表示するものとする。
【００７４】
Ｓ７１３において、汎用プリンタドライバ５０１は、ＩＰＰ標準の手順に従って、ログインしたユーザについてのロール情報９０１を出力先の印刷装置１０５から取得する。具体的には、汎用プリンタドライバ５０１は、認証に成功したユーザの識別情報を含むＧｅｔ−Ｕｓｅｒ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓリクエストを出力先の印刷装置１０５に送信する。
Ｇｅｔ−Ｕｓｅｒ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓリクエストを受信した印刷装置１０５は、そのリクエストに含まれる識別情報に基づいてユーザを特定する。そして、特定したユーザに対応付けられたロール情報９０１を含むプリンタ属性情報を、Ｇｅｔ−Ｕｓｅｒ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓリクエストに対する応答として、端末装置１０４に送信する。
【００７５】
Ｓ７１４において、汎用プリンタドライバ５０１は、取得したプリンタ属性情報に含まれるロール情報９０１に従ってプリントチケットの修正を行い、修正したプリントチケットを印刷用のＰＤＬデータと共に出力先の印刷装置１０５に送信する。
Ｓ７１４で送信されたデータを受信した出力先の印刷装置１０５は、受信した印刷データに基づいて印刷を実行する。そして、印刷が終了すると、ＯＳ４１２は、端末装置１０４からユーザをログアウトさせる。
【００７６】
ここで、プリントチケットの修正例を示す。図９（ａ）は、ＩＰＰ標準の印刷機能において設定可能な印刷設定項目の一例と、ユーザ毎のＩＰＰ印刷制限情報を記録したロール情報９０１の一例である。なお、ＩＰＰ標準の印刷機能において設定可能な印刷設定項目はこれらに限定されるものだけではないということに留意されたい。
図９（ａ）の例において、ユーザＢがカラー印刷を実施しようとして印刷を実行した場合、Ｓ７１３で取得したロール情報９０１には、ユーザＢはＢＷつまり白黒印刷しか許可されてないことが記録されている。この場合、Ｓ７１４において、カラー印刷と記述されているプリントチケットを白黒印刷に修正してから、印刷装置１０５に送信する。この結果、印刷物は白黒で印刷されることになる。
最後に、ベンダー認証アプリケーション５０４と連携して実行される高度な印刷設定についてＳ７１５以降のステップを用いて説明する。
【００７７】
Ｓ７１１で認証方式がベンダー認証であると判断した場合、Ｓ７１５において、拡張アプリケーション５０２は、ＯＳ４１２と協働して、ベンダー認証アプリケーション５０４がインストールされているか否かを判断する。なお、通常の場合、ベンダー認証アプリケーション５０４は、先に説明したＳ６０２の処理においてインストールされて設定されている。ベンダー認証アプリケーション５０４の存在の確認は、共有領域５０３にベンダー認証アプリケーション５０４に関する情報が格納されているかを確認することにより行われる。
ベンダー認証アプリケーション５０４が存在していると判断した場合、処理をＳ７１６に進める。一方、ベンダー認証アプリケーション５０４が存在していないと判断した場合、処理をＳ７２１に進める。
【００７８】
Ｓ７１５でベンダー認証アプリケーション５０４が存在していると判断した場合、Ｓ７１６において、拡張アプリケーション５０２は、ベンダー認証アプリケーション５０４に対して、ユーザ認証処理を実施するように指示を行う。この指示は、プリントチケットに記述されているユーザ情報と、ベンダー認証アプリケーション５０４に対する認証処理を指示する情報（認証指示情報）を、共有領域５０３に書き込むことにより行う。
【００７９】
次に、Ｓ７１７において、共有領域５０３を監視しているベンダー認証アプリケーション５０４は、共有領域５０３から取得したユーザ情報及び認証指示情報に基づいて印刷装置１０５に対して直接ログインを行う。そして、ベンダー認証アプリケーション５０４は、ユーザ毎のベンダー印刷制限情報を記録したロール情報９０２を取得する。
なお、ユーザ情報が提供されていない場合は、表示部２１１にポップアップ（非図示）などを表示させる。そして、ポップアップを介してユーザ情報を入力させ、入力されたユーザ情報に基づいてＳ７１７の処理を行うものとする。
【００８０】
次に、Ｓ７１８において、拡張アプリケーション５０２は、汎用プリンタドライバ５０１から取得したプリントチケットに最終書き込み者が拡張アプリケーション５０２自身であるという情報を付加して、共有領域５０３に格納する。ここで、ベンダー認証アプリケーション５０４は、共有領域５０３を監視しており、共有領域５０３にプリントチケットが格納されると、プリントチケットの修正依頼であるとして処理を行う。なお、ベンダー認証アプリケーション５０４にプリントチケットの修正依頼を行う方法は、これに限定されるものではない。
【００８１】
次に、Ｓ７１９において、ベンダー認証アプリケーション５０４は、Ｓ７１７で取得したロール情報９０２に基づいて、Ｓ７１８で取得したプリントチケットの修正を行う。修正が完了すると、ベンダー認証アプリケーション５０４は、修正済みのプリントチケットを共有領域５０３に格納する。ここで、格納するプリントチケットには、最終書き込み者がベンダー認証アプリケーション５０４であるという情報が含まれる。
【００８２】
次に、Ｓ７２０において、拡張アプリケーション５０２は、共有領域５０３にベンダー認証アプリケーション５０４が修正したプリントチケットが格納されると、プリントチケットの修正が完了したと判断する。そして、拡張アプリケーション５０２は、共有領域５０３に格納された修正済みのプリントチケットと、Ｓ７０６で生成されたＰＤＬデータを印刷データとして印刷装置１０５に送信する。
Ｓ７２０で送信された印刷データを受信した出力先の印刷装置１０５は、受信した印刷データに基づいて印刷を実行する。そして、印刷が終了すると、ＯＳ４１２は、端末装置１０４からユーザをログアウトさせる。
【００８３】
ここで、プリントチケットの修正例を示す。図９（ｂ）は、ベンダー認証アプリケーション５０４で設定可能な印刷設定項目の一例と、ユーザ毎のベンダー印刷制限情報を記録したロール情報９０２の一例である。なお、ベンダー認証アプリケーション５０４で設定可能な印刷設定項目は、これらに限定されるものということを示すものではないことに留意されたい。
図９（ｂ）の例において、ユーザＢがくるみ製本を実施しようとして印刷を実行した場合、Ｓ７１７で取得したロール情報９０２には、ユーザＢは綴じ処理不可、つまり、くるみ製本は許可されてないと記録されている。この場合、Ｓ７１９において、くるみ製本と記されているプリントチケットを製本なしに修正する。その結果、製本処理機能を使うことなく、印刷ジョブはそのまま印刷されることになる。
【００８４】
Ｓ７１５でベンダー認証アプリケーション５０４が存在していないと判断した場合、Ｓ７２１において、汎用プリンタドライバ５０１は、印刷時のユーザ認証に失敗したことを端末装置の表示部２１１に表示する。
【００８５】
以上のとおり、実施例１によれば、以下のような機能を実現することができる。
すなわち、本実施例の１つの側面によれば、汎用プリンタドライバ５０１では実現できない印刷機能を、拡張アプリケーション５０２と印刷装置ベンダーが提供する認証アプリケーション５０４を用いて実現することができる。すなわち、汎用プリンタドライバ５０１を使用するユーザであっても、印刷装置ベンダーが提供する各印刷装置（各機種）に特化した高度な印刷機能を利用することができる。
また、本実施例の別の側面によれば、汎用プリンタドライバ５０１単体で実現するＩＰＰの印刷機能と、ベンダーが提供する独自の印刷機能のいずれを使用するかを、印刷システム１００の管理者が印刷装置１０５側で設定することで切り替えることができる。
【００８６】
また、本実施例の別の側面によれば、印刷システム１００の管理者は、印刷装置１０５のユーザ毎に設定した印刷制限情報に基づいて、各ユーザが使用可能な印刷機能を制限することができる。印刷装置１０５に設定されている認証方式がＩＰＰ認証であるかベンダー認証であるかに応じて、それぞれについてユーザ毎に設定されて印刷制限情報に基づいて、印刷機能を制限する。
そして、認証方式がＩＰＰ認証である場合、汎用プリンタドライバ５０１は、ユーザ毎のＩＰＰ印刷制限情報を記録したロール情報９０１に基づいて、プリントチケットを修正する。一方、認証方式がベンダー認証である場合、ベンダー認証アプリケーション５０４は、ユーザ毎のベンダー印刷制限情報を記録したロール情報９０２に基づいて、プリントチケットを修正する。
【００８７】
＜実施例２＞
図８は、実施例２における、端末装置１０４において実行される印刷制御処理を示すフローチャートである。
図８のフローチャートは、Ｓ８０１及びＳ８０２の処理を除いて、図７のフローチャートと同様であるため、以下では、これら及びその前後の処理を中心に説明する。
【００８８】
Ｓ７１７において、共有領域５０３を監視しているベンダー認証アプリケーション５０４は、共有領域５０３から取得したユーザ情報及び認証指示情報に基づいて印刷装置１０５に対して直接ログインを行う。そして、ベンダー認証アプリケーション５０４は、ユーザ毎のベンダー印刷制限情報を記録したロール情報９０２を取得する。
なお、ユーザ情報が提供されていない場合は、表示部２１１にポップアップ（非図示）などを表示させる。そして、ポップアップを介してユーザ情報を入力させ、入力されたユーザ情報に基づいてＳ７１９の処理を行うものとする。
【００８９】
Ｓ８０１において、ベンダー認証アプリケーション５０４は、Ｓ７１７で取得したロール情報９０２を共有領域５０３に格納し、ベンダー認証アプリケーション５０４が格納したことも記録しておく。ここで、拡張アプリケーション５０２は、共有領域５０３を監視しており、共有領域５０３にベンダー認証アプリケーション５０４がロール情報９０２を格納したと判断したら、ロール情報９０２を取得する。
【００９０】
Ｓ８０２において、拡張アプリケーション５０２は、共有領域５０３から取得したロール情報９０２に従い、プリントチケットの修正を行う。その後、共有領域５０３にあるロール情報９０２には、拡張アプリケーション５０２で利用済みという情報を記録しておく。
【００９１】
Ｓ７２０において、拡張アプリケーション５０２は、修正済みのプリントチケットと、Ｓ７０６で生成されたＰＤＬデータを印刷装置１０５に送信する。
Ｓ７２０で送信されたデータを受信した出力先の印刷装置１０５は、受信した印刷データに基づいて印刷を実行する。そして、印刷が終了すると、ＯＳ４１２は、端末装置１０４からユーザをログアウトさせる。
【００９２】
ここで、プリントチケットの修正例を示す。図９（ｂ）は、ベンダー固有の印刷制限で設定可能な印刷設定項目の一例と、ユーザ毎の印刷制限情報を記録したロール情報９０２の一例である。なお、ベンダー固有の印刷制限で設定可能な印刷設定項目はこれに限定されるものということを示すものではないことに留意されたい。
例えば、ユーザＢがくるみ製本を実施しようとして印刷を実行した場合、Ｓ７１９で取得したロール情報９０２には、ユーザＢは綴じ処理不可、つまり、くるみ製本は許可されてないと記録されている。この場合、Ｓ７２１において、くるみ製本と記されているプリントチケットを製本なしに修正する。その結果、製本処理機能を使うことなく、印刷ジョブはそのまま印刷されることになる。
【００９３】
以上のとおり、実施例２によれば、実施例１と同様の機能を実現することができる。
ただし、本実施例においては、認証方式がベンダー認証である場合、拡張アプリケーション５０２は、ユーザ毎のベンダー印刷制限情報を記録したロール情報９０２に基づいて、プリントチケットを修正する。
【００９４】
＜その他の実施形態＞
上述の実施形態では、印刷を実行するタイミングでユーザのロール情報に基づいて印刷設定処理を行う場合を説明したが、これに限定されるものではない。さらに、印刷設定のためのＵＩを表示するタイミングで、ユーザ毎の印刷制限を行うこともできる。
さらに、上述の実施形態では、拡張アプリケーション５０２と、アプリケーション５０４とが連携して実現する付加的な印刷機能の一例としてユーザ毎に印刷設定を制限する機能を例示したがこれに限定されるものではない。例えば、印刷データ全体を暗号化するためのベンダーアプリケーションや、色材の消費を抑制するトナーセーブ機能を提供するベンダーアプリケーションなどと拡張アプリケーション５０２とを連携することもできる。この場合、拡張アプリケーション５０２は、プリントチケットに加えてＳ７０７で生成された印刷データを共有領域に格納する。この場合、各種ベンダーアプリケーションは、プリントチケットの修正に加えて、印刷データの変更処理を実行する。具体的には、印刷データ全体を暗号化する処理や、印刷データに対して色材消費量を削減する画像処理などを実行し、新たな印刷データを共有領域に格納することで印刷データに対する加工を行う。
また、上述の実施形態では、アプリケーション５０４をサーバーからダウンロードしたインストーラーを用い端末へインストールする場合を例示したがこれに限定されるものではない。例えば、拡張アプリケーション５０２の図示省略の設定画面などからベンダーアプリケーション５０４の追加インストールを行えるようにしてもよい。
【００９５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述の実施形態及びその変形例を組み合わせた構成もすべて本発明に含まれるものである。
【符号の説明】
【００９６】
１００      印刷システム
１０１      サーバー
１０４      端末装置
１０５      印刷装置
５０１      汎用プリンタドライバ
５０２      拡張アプリケーション
５０３      共有領域
５０４      ベンダー認証アプリケーション
【図１】
2020087062.tif 000003
【図２】
2020087062.tif 000004
【図３】
2020087062.tif 000005
【図４】
2020087062.tif 000006
【図５】
2020087062.tif 000007
【図６】
2020087062.tif 000008
【図７】
2020087062.tif 000009
【図８】
2020087062.tif 000010
【図９】
2020087062.tif 000011