(57)【特許請求の範囲】
【請求項１】
基本ソフトウェアからユーザ識別情報を取得するユーザ識別情報取得部と、
記録材に画像を形成する画像形成装置で印刷を行うための印刷設定情報を、ユーザ識別情報を含めて作成する設定情報作成部と、
前記印刷設定情報を含む印刷情報を作成する応用ソフトウェアに、当該印刷設定情報を受け渡す設定情報受渡部と、
前記応用ソフトウェアから前記印刷情報を受け取る情報受取部と、
前記印刷情報からユーザ識別情報を取り出し、取り出したユーザ識別情報が前記ユーザ識別情報取得部が取得したユーザ識別情報と一致したときに印刷を行うことを決定する決定部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記設定情報作成部は、前記ユーザ識別情報の他に、印刷の種別に応じて、当該印刷の種別および前記ユーザ識別情報以外のユーザに関する情報を加えて印刷設定情報を作成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定情報作成部は、前記ユーザ識別情報を暗号化することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記設定情報作成部は、前記ユーザ識別情報を暗号化するときに、復号を行う際のキーとして当該ユーザ識別情報を設定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ユーザ識別情報を暗号化する暗号化部を、前記設定情報作成部とは別モジュールで備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
基本ソフトウェアからユーザ識別情報を取得するユーザ識別情報取得部と、
予め定められた機器に関する設定情報を、ユーザ識別情報を含めて作成する設定情報作成部と、
前記設定情報を含む送信情報を作成する応用ソフトウェアに、当該設定情報を受け渡す設定情報受渡部と、
前記応用ソフトウェアから前記送信情報を受け取る情報受取部と、
前記送信情報からユーザ識別情報を取り出し、取り出したユーザ識別情報が前記ユーザ識別情報取得部が取得したユーザ識別情報と一致したときに当該送信情報を前記機器に送信することを決定する決定部と、
を備えることを特徴とする情報処理装置。
【請求項７】
記録材に画像を形成する画像形成装置と、
前記画像形成装置で印刷を行うためのプリントジョブを作成する端末装置と、
を備え、
前記端末装置は、
基本ソフトウェアからユーザ識別情報を取得するユーザ識別情報取得部と、
前記画像形成装置で印刷を行うための印刷設定情報を、ユーザ識別情報を含めて作成する設定情報作成部と、
前記印刷設定情報を含む印刷情報を作成する応用ソフトウェアに、当該印刷設定情報を受け渡す設定情報受渡部と、
前記応用ソフトウェアから前記印刷情報を受け取る情報受取部と、
前記印刷情報からユーザ識別情報を取り出し、取り出したユーザ識別情報が前記ユーザ識別情報取得部が取得したユーザ識別情報と一致したときに印刷を行うことを決定する決定部と、
前記決定部が印刷を行うと決定したときに前記プリントジョブを前記画像形成装置に送信するプリントジョブ送信部と、
を備えることを特徴とするプリントシステム。
【請求項８】
コンピュータに、
基本ソフトウェアからユーザ識別情報を取得するユーザ識別情報取得機能と、
記録材に画像を形成する画像形成装置で印刷を行うための印刷設定情報を、ユーザ識別情報を含めて作成する設定情報作成機能と、
前記印刷設定情報を含む印刷情報を作成する応用ソフトウェアに、当該印刷設定情報を受け渡す設定情報受渡機能と、
前記応用ソフトウェアから前記印刷情報を受け取る情報受取機能と、
前記印刷情報からユーザ識別情報を取り出し、取り出したユーザ識別情報が前記ユーザ識別情報取得機能において取得したユーザ識別情報と一致したときに印刷を行うことを決定する決定機能と、
を実現させるプログラム。
【請求項９】
前記設定情報作成機能は、難読化の処理を行った上で実装されることを特徴とする請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プリントシステム、プログラムに関する。
【背景技術】
【０００２】
端末装置から画像形成装置に対して印刷を行う際には、画像形成装置の動作を制御するソフトウェアとしてプリンタドライバを用いるのが一般的である。このプリンタドライバは、例えば、画像形成装置の機種毎に用意され、アプリケーションプログラムは、このプリンタドライバを使用することで種々の画像形成装置３０に対し印刷を行うことができる。
【０００３】
特許文献１には、ユーザー情報をユーザー権限とは異なる権限を使って取得できないように管理し、システム権限で印刷処理を制御する制御手段の権限を、システム権限から印刷処理を指示したユーザーのユーザー権限に変更することでユーザー情報を取得する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０９８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プリンタドライバとアプリケーションプログラムとが、印刷設定等をプリントチケット等の印刷設定情報を使用して交換することがある。またこの印刷設定情報にユーザに関する情報が格納されることがある。そして印刷設定情報がアプリケーションプログラムが扱う文書ファイル等に保存されることがある。
しかしながらこの文書ファイル等が、これを作成したユーザ以外の他のユーザに渡った場合、ユーザに関する情報が流用されるおそれがある。またプリントチケットは、解析可能であることや、後述するフィルタ類から参照可能であるため、ユーザに関する情報が漏洩するおそれもある。例えば、ユーザに関する情報としてプリントチケットにパスワードが含まれる場合、このパスワードが他のユーザにより使用されるおそれがある。
本発明は、印刷設定情報に含まれるユーザに関する情報が流用されたり漏洩するおそれが、より小さくなる情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、基本ソフトウェアからユーザ識別情報を取得するユーザ識別情報取得部と、記録材に画像を形成する画像形成装置で印刷を行うための印刷設定情報を、ユーザ識別情報を含めて作成する設定情報作成部と、前記印刷設定情報を含む印刷情報を作成する応用ソフトウェアに、当該印刷設定情報を受け渡す設定情報受渡部と、前記応用ソフトウェアから前記印刷情報を受け取る情報受取部と、前記印刷情報からユーザ識別情報を取り出し、取り出したユーザ識別情報が前記ユーザ識別情報取得部が取得したユーザ識別情報と一致したときに印刷を行うことを決定する決定部と、を備えることを特徴とする情報処理装置である。
請求項２に記載の発明は、前記設定情報作成部は、前記ユーザ識別情報の他に、印刷の種別に応じて、当該印刷の種別および前記ユーザ識別情報以外のユーザに関する情報を加えて印刷設定情報を作成することを特徴とする請求項１に記載の情報処理装置である。
請求項３に記載の発明は、前記設定情報作成部は、前記ユーザ識別情報を暗号化することを特徴とする請求項１または２に記載の情報処理装置である。
請求項４に記載の発明は、前記設定情報作成部は、前記ユーザ識別情報を暗号化するときに、復号を行う際のキーとして当該ユーザ識別情報を設定することを特徴とする請求項３に記載の情報処理装置である。
請求項５に記載の発明は、前記ユーザ識別情報を暗号化する暗号化部を、前記設定情報作成部とは別モジュールで備えることを特徴とする請求項１または２に記載の情報処理装置である。
請求項６に記載の発明は、基本ソフトウェアからユーザ識別情報を取得するユーザ識別情報取得部と、予め定められた機器に関する設定情報を、ユーザ識別情報を含めて作成する設定情報作成部と、前記設定情報を含む送信情報を作成する応用ソフトウェアに、当該設定情報を受け渡す設定情報受渡部と、前記応用ソフトウェアから前記送信情報を受け取る情報受取部と、前記送信情報からユーザ識別情報を取り出し、取り出したユーザ識別情報が前記ユーザ識別情報取得部が取得したユーザ識別情報と一致したときに当該送信情報を前記機器に送信することを決定する決定部と、を備えることを特徴とする情報処理装置である。
請求項７に記載の発明は、記録材に画像を形成する画像形成装置と、前記画像形成装置で印刷を行うためのプリントジョブを作成する端末装置と、を備え、前記端末装置は、基本ソフトウェアからユーザ識別情報を取得するユーザ識別情報取得部と、前記画像形成装置で印刷を行うための印刷設定情報を、ユーザ識別情報を含めて作成する設定情報作成部と、前記印刷設定情報を含む印刷情報を作成する応用ソフトウェアに、当該印刷設定情報を受け渡す設定情報受渡部と、前記応用ソフトウェアから前記印刷情報を受け取る情報受取部と、前記印刷情報からユーザ識別情報を取り出し、取り出したユーザ識別情報が前記ユーザ識別情報取得部が取得したユーザ識別情報と一致したときに印刷を行うことを決定する決定部と、前記決定部が印刷を行うと決定したときに前記プリントジョブを前記画像形成装置に送信するプリントジョブ送信部と、を備えることを特徴とするプリントシステムである。
請求項８に記載の発明は、コンピュータに、基本ソフトウェアからユーザ識別情報を取得するユーザ識別情報取得機能と、記録材に画像を形成する画像形成装置で印刷を行うための印刷設定情報を、ユーザ識別情報を含めて作成する設定情報作成機能と、前記印刷設定情報を含む印刷情報を作成する応用ソフトウェアに、当該印刷設定情報を受け渡す設定情報受渡機能と、前記応用ソフトウェアから前記印刷情報を受け取る情報受取機能と、前記印刷情報からユーザ識別情報を取り出し、取り出したユーザ識別情報が前記ユーザ識別情報取得機能において取得したユーザ識別情報と一致したときに印刷を行うことを決定する決定機能と、を実現させるプログラムである。
請求項９に記載の発明は、前記設定情報作成機能は、難読化の処理を行った上で実装されることを特徴とする請求項８に記載のプログラムである。
【発明の効果】
【０００７】
請求項１の発明によれば、ユーザ識別情報が一致したときに印刷を行うことをしない場合に比較して、印刷設定情報に含まれるユーザに関する情報が流用されたり漏洩するおそれが、より小さくなる情報処理装置を提供することができる。
請求項２の発明によれば、印刷の種別により必要なユーザに関する情報についても印刷設定情報に組み込むことができる。
請求項３の発明によれば、印刷設定情報に含まれるユーザに関する情報が流用されたり漏洩するおそれが、さらに小さくなる。
請求項４の発明によれば、キーの設定がより容易になる。
請求項５の発明によれば、暗号化したユーザ識別情報の解読がより困難になる。
請求項６の発明によれば、ユーザ識別情報が一致したときに送信情報を機器に送信することをしない場合に比較して、設定情報に含まれるユーザに関する情報が流用されたり漏洩するおそれが、より小さくなる。
請求項７の発明によれば、よりセキュアなプリントシステムを提供することができる。
請求項８の発明によれば、ユーザ識別情報が一致したときに印刷を行うことをしない場合に比較して、印刷設定情報に含まれるユーザに関する情報が流用されたり漏洩するおそれが、より小さくなる機能をコンピュータにより実現できる。
請求項９の発明によれば、暗号化したユーザ識別情報の解読がより困難になる。
【図面の簡単な説明】
【０００８】
【図１】本実施の形態が適用されるプリントシステムの全体構成例を示したものである。
【図２】端末装置のハードウェア構成例を示した図である。
【図３】画像形成装置のハードウェア構成例を示した図である。
【図４】本実施の形態のプリンタドライバの機能構成例を示したブロック図である。
【図５−１】端末装置の動作の第１の実施形態について示したフローチャートである。
【図５−２】端末装置の動作の第１の実施形態について示したフローチャートである。
【図５−３】端末装置の動作の第１の実施形態について示したフローチャートである。
【図６】端末装置の動作の第１の実施形態について示したシーケンス図である。
【図７】（ａ）〜（ｃ）は、このとき端末装置の表示機構に表示される画面を示した図である。
【図８−１】端末装置の動作の第２の実施形態について示したフローチャートである。
【図８−２】端末装置の動作の第２の実施形態について示したフローチャートである。
【図８−３】端末装置の動作の第２の実施形態について示したフローチャートである。
【図９】端末装置の動作の第２の実施形態について示したシーケンス図である。
【図１０−１】端末装置の動作の第３の実施形態について示したフローチャートである。
【図１０−２】端末装置の動作の第３の実施形態について示したフローチャートである。
【図１０−３】端末装置の動作の第３の実施形態について示したフローチャートである。
【図１１】端末装置の動作の第３の実施形態について示したシーケンス図である。
【発明を実施するための形態】
【０００９】
＜プリントシステムの全体構成の説明＞
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態が適用されるプリントシステムの全体構成例を示したものである。
図示するプリントシステムは、端末装置１０と、画像形成装置３０ａ、３０ｂ、３０ｃとがネットワーク９０に接続されることにより構成されている。また、ネットワーク９０は、例えば、図示しないゲイトウェイサーバを介して、ネットワーク７０に接続されており、ネットワーク７０には、プリントサーバ５０および画像形成装置３０ｄが接続されている。なおこのプリントシステムは、クラウドプリントシステムと呼ばれることもある。
尚、図では、画像形成装置３０ａ、３０ｂ、３０ｃ、３０ｄを示したが、これらを区別する必要がない場合は、画像形成装置３０と称する。また、図には、４つの画像形成装置３０しか示していないが、５つ以上の画像形成装置３０を設けてもよい。
【００１０】
端末装置１０は、画像形成装置３０で印刷を行うためのプリントジョブを生成するコンピュータ装置である。そして端末装置１０は、プリントサーバ５０を介して、または画像形成装置３０に直接プリントジョブを送信し、画像形成装置３０で印刷を行う。ここで、端末装置１０としては、ＰＣ（Personal Computer）、携帯端末、携帯電話等を用いるとよい。
【００１１】
画像形成装置３０は、記録媒体（記録材、用紙）に画像を形成し、印刷媒体として出力する装置である。ここで、画像形成装置３０としては、プリンタ機能のみを備えた装置を用いてもよいし、これに加えてスキャナ機能、ファクシミリ機能等の他の画像処理機能を備えた装置を用いてもよい。
【００１２】
プリントサーバ５０は、端末装置１０として様々なデバイスを用い、自宅、オフィス、公共の場所等に設置された画像形成装置３０で文書を印刷できるようにするサービスを提供するサーバコンピュータである。具体的には、プリントジョブを画像形成装置３０からプリントジョブの存在の問い合わせがあるまで蓄積しておき、問い合わせがあると、プリントジョブをその画像形成装置３０で処理可能な形式に変換して提供する。
なおここではプリントサーバ５０は、ネットワーク７０に接続されているが、ネットワーク９０に接続されるタイプのものであってもよい。
【００１３】
ネットワーク７０は、端末装置１０とプリントサーバ５０との間の情報通信や、画像形成装置３０とプリントサーバ５０との間の情報通信に用いられる通信手段であり、例えば、インターネットである。
ネットワーク９０は、端末装置１０と画像形成装置３０との間の情報通信に用いられる通信手段であり、例えば、ＬＡＮ（Local Area Network）である。
【００１４】
次に、端末装置１０のハードウェア構成について説明する。
図２は、端末装置１０のハードウェア構成例を示した図である。
図示するように、端末装置１０は、演算手段であるＣＰＵ（Central Processing Unit）１１と、記憶手段であるメインメモリ１２及びＨＤＤ（Hard Disk Drive）１３とを備える。ここで、ＣＰＵ１１は、ＯＳ（Operating System、基本ソフトウェア）やアプリケーションプログラム（応用ソフトウェア）等の各種ソフトウェアを実行する。また、メインメモリ１２は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、ＨＤＤ１３は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、端末装置１０は、外部との通信を行うための通信インタフェース（以下、「通信Ｉ／Ｆ」と表記する）１４と、ビデオメモリやディスプレイ等からなる表示機構１５と、キーボードやマウス等の入力デバイス１６とを備える。
【００１５】
なお図２は、プリントサーバ５０のハードウェア構成例を示した図として捉えることもできる。
【００１６】
図３は、画像形成装置３０のハードウェア構成例を示した図である。
図示するように、画像形成装置３０は、ＣＰＵ３１と、ＲＡＭ（Random Access Memory）３２と、ＲＯＭ（Read Only Memory）３３と、操作パネル３５と、画像読取部３６と、画像形成部３７と、通信インタフェース（以下、「通信Ｉ／Ｆ」と表記する）３８とを備える。
【００１７】
ＣＰＵ３１は、ＲＯＭ３３等に記憶された各種プログラムをＲＡＭ３２にロードして実行することにより、後述する各機能を実現する。
ＲＡＭ３２は、ＣＰＵ３１の作業用メモリ等として用いられるメモリである。
ＲＯＭ３３は、ＣＰＵ３１が実行する各種プログラム等を記憶するメモリである。
操作パネル３５は、各種情報の表示やユーザからの操作入力の受付を行う例えばタッチパネルである。
【００１８】
画像読取部３６は、紙等の記録媒体に記録された画像を読み取る。ここで、画像読取部３６は、例えばスキャナであり、光源から原稿に照射した光に対する反射光をレンズで縮小してＣＣＤ(Charge Coupled Devices)で受光するＣＣＤ方式や、ＬＥＤ光源から原稿に順に照射した光に対する反射光をＣＩＳ(Contact Image Sensor)で受光するＣＩＳ方式のものを用いるとよい。
【００１９】
画像形成部３７は、記録媒体に画像を形成する。ここで、画像形成部３７は、例えばプリンタであり、感光体に付着させたトナーを記録媒体に転写して像を形成する電子写真方式や、インクを記録媒体上に吐出して像を形成するインクジェット方式のものを用いるとよい。本実施の形態では、印刷データに基づき印刷を行なう印刷機構の一例として、画像形成部３７を設けている。
通信Ｉ／Ｆ３８は、ネットワークを介して他の装置との間で各種情報の送受信を行う。
【００２０】
＜プリンタドライバの説明＞
Microsoft Corporation（マイクロソフト社）が提供するＯＳとして、Microsoft Windows（登録商標）がある。このうちWindows8以降のバージョンでは、プリンタドライバを提供する際のアーキテクチャがｖ４と呼ばれるものが追加されている。ところがこのアーキテクチャに従い開発されたプリンタドライバ（以下、「ｖ４プリンタドライバ」と言うことがある）を使用した場合、以下に説明する問題が生ずることがある。
【００２１】
ｖ４プリンタドライバは、印刷設定を行うのに、詳しくは後述するデバイスアプリを使用する。デバイスアプリは、ｖ４プリンタドライバ内部に組み込まれるものではあるが、ｖ４プリンタドライバとは別モジュールで提供される。そのためｖ４プリンタドライバとアプリケーションプログラムとは、印刷設定をプリントチケットを使用して交換する。このプリントチケットは、後述する印刷設定情報の一例であり、ユーザに関する情報なども含まれる。ユーザに関する情報としては、例えば、セキュリティプリントで使用されるユーザＩＤやパスワード、あるいは親展ボックスプリントで使用される蓄積用ユーザＩＤや暗証番号などがある。
【００２２】
プリントチケットは、アプリケーションプログラムが扱う文書ファイル等に保存されることがある。このように、文書ファイル等に過去に印刷した際に使用したｖ４プリンタドライバへの印刷設定値を保管しておくことで、再び同じ文書ファイル等を印刷する際に、過去の印刷設定値をｖ４プリンタドライバへの設定に反映することができ、操作性が向上する。
【００２３】
しかしこの文書ファイル等がこれを作成したユーザ以外の他のユーザに渡った場合、ユーザに関する情報が流用されるおそれがある。またプリントチケットは、解析可能であることや、後述するフィルタ類から参照可能であるため、ユーザに関する情報が漏洩するおそれもある。
ユーザに関する情報の流用や漏洩が生じた場合、例えば、詳しくは後述するセキュリティプリントを行うときに、セキュリティプリントを行うのに必要なパスワードがわかってしまうため、セキュリティプリントを行うユーザ以外のユーザが印刷できてしまう。またユーザに関する情報は、課金処理や印刷機能の制限に使われるケースもあるため、ユーザに関する情報の流用や漏洩は問題である。
【００２４】
この問題を抑制するための従来技術では、例えば、ユーザに関する情報の管理手順は、ＯＳによるフィルタパイプラインマネージャの動作権限の制御(システム権限からユーザ権限への移行と逆方向への移行)を行うことが前提となっている。さらに従来技術では、これに加え、フィルタパイプラインマネージャによるフィルタ類からプロパティバッグ内にあるユーザに関する情報へのアクセスサービスの提供を行うことが前提になっている。 しかし、これらの処理をシステムに実装することができるのはＯＳベンダ（Microsoft Windowsの場合にはマイクロソフト社）だけであり、プリンタメーカー等のＩＳＶ（Independent Software Vendor）が、これらの処理をＯＳ上に実現することは困難である。
【００２５】
以下、本実施の形態のプリンタドライバについて説明を行う。なお以後は、説明を簡単にするため、プリントサーバ５０を介さず、画像形成装置３０に直接プリントジョブを送信して印刷を行う場合を例に採り説明を行う。
【００２６】
図４は、本実施の形態のプリンタドライバの機能構成例を示したブロック図である。
なお図４では、プリンタドライバ１００を構成するものではないが、アプリケーションプログラム２００を図示している。また同様にプリンタドライバ１００を構成するものではないが、スプーラ２１０と、ポートモニタ２２０と、ＯＳ２３０とを図示し、さらにプリントジョブの送信先である画像形成装置３０を図示している。
【００２７】
プリンタドライバ１００は、情報処理装置の一例であり、上述したｖ４プリンタドライバである。プリンタドライバ１００は、プリントダイアログ１１０と、デバイスアプリ１２０と、コンフィグモジュール１３０と、プリントフィルタパイプライン１４０とを備える。
【００２８】
プリントダイアログ１１０は、画像形成装置３０に関する情報をユーザに対し表示するモジュールである。表示は、表示機構１５を使用して行われる。ユーザは、プリントダイアログ１１０により表示された画面から印刷を行う画像形成装置３０を選択する。またユーザは、プリントダイアログ１１０により表示された画面を見ながら画像形成装置３０で印刷を行うための印刷設定を行う。そしてプリントダイアログ１１０は、これを基にプリントチケットを作成する。なお本実施の形態では、プリントチケットに、ユーザ識別情報としてユーザＩＤが含まれる。そしてプリントダイアログ１１０は、プリントチケットをアプリケーションプログラム２００に送る。
【００２９】
よってプリントダイアログ１１０は、画像形成装置３０で印刷を行うためのプリントチケット（印刷設定情報）を、ユーザＩＤを含めて作成する設定情報作成部の一例である。またプリントダイアログ１１０は、プリントチケットを、アプリケーションプログラムに受け渡す設定情報受渡部の一例である。
【００３０】
デバイスアプリ１２０は、ＯＳ２３０からユーザＩＤを取得するユーザ識別情報取得部の一例である。デバイスアプリ１２０は、標準のユーザインタフェースであるプリントダイアログ１１０で提供されない設定項目を提供する。つまり後述するフィルタ類の実行有無や実行形態を指定する設定項目は、ＯＳ２３０が提供するプリントダイアログ１１０により表示を行うことができる。しかしその他の設定項目は、デバイスアプリ１２０により提供される。この設定項目は、例えば、その画像形成装置３０に特有な機能に関するものである。デバイスアプリ１２０は、プリンタメーカーにより作成され、プリンタドライバ１００に組み込まれる。また本実施の形態では、デバイスアプリ１２０は、ＯＳ２３０からユーザＩＤを取得し、プリントダイアログ１１０に送る。
【００３１】
コンフィグモジュール１３０は、画像形成装置３０の能力とデフォルトのプリントチケットをプリントダイアログ１１０に渡す。またコンフィグモジュール１３０は、プリントチケットの印刷設定値の検証を行う。即ち、コンフィグモジュール１３０は、プリントチケットに含まれる印刷設定に含まれる機能上の矛盾を解消する処理を行う。例えば、画像形成装置３０が両面印刷機能を備えていたとしても、用紙として封筒用紙サイズが指定されている場合には、両面印刷ができないといった場合が存在する。この場合、コンフィグモジュール１３０は、印刷設定を片面印刷に変更する処理を行う。
【００３２】
ユーザから印刷指示があると、描画データ等がＸＰＳ（XML Paper Specification）形式で作成され、これがＸＰＳスプールファイルとして、アプリケーションプログラム２００からプリンタドライバ１００へ送られる。ＸＰＳスプールファイルは、アプリケーションプログラム２００により作成された印刷情報の一例であり、プリントチケットを含む。
【００３３】
プリンタドライバ１００では、レイアウトやレンダリングに関わる処理を行う複数のフィルタ処理を経ることでＸＰＳ形式のデータを出力先の画像形成装置３０が解釈可能なＰＤＬ（Page Description Language：ページ記述言語）やＰＪＬ（Printer Job Language：プリンタジョブ言語）へ翻訳し、プリントジョブを生成する。このフィルタ処理により画像形成装置３０で行う両面印刷、Ｎ−ｕｐ印刷、カラー制御、パンチ処理、ステイプル処理等の処理を行うことができるようになる。
プリントジョブは、スプーラ２１０とポートモニタ２２０とを経由して画像形成装置３０へ送られ、画像形成装置３０内で、ラスタライズ処理やスクリーン処理などの画像処理を経て印刷が行われる。このスプーラ２１０およびポートモニタ２２０は、プリントジョブを画像形成装置３０に送信するプリントジョブ送信部の一例である。
【００３４】
プリントフィルタパイプライン１４０は、フィルタ処理を行う機能部であり、前述したフィルタ類として、設定フィルタ１４１と、レイアウトフィルタ１４２と、レンダラフィルタ１４３とを備える。プリントフィルタパイプライン１４０では、ＸＰＳスプールファイルをこれらのフィルタにより順次加工する処理が行われる。
【００３５】
設定フィルタ１４１は、アプリケーションプログラム２００からＸＰＳスプールファイルを受け取る情報受取部の一例である。また設定フィルタ１４１は、プリントチケットを読み込んで、印刷に必要なデータをプリントチケットに書き込む。
【００３６】
また本実施の形態の設定フィルタ１４１は、ＸＰＳスプールファイルからユーザＩＤを取り出し、取り出したユーザＩＤがデバイスアプリ１２０が取得したユーザＩＤと一致したときに印刷を行うことを決定する決定部の一例である。つまり設定フィルタ１４１は、ＯＳ２３０からユーザＩＤを取得し、プリントチケットに含まれるユーザＩＤと比較を行う。そして双方のユーザＩＤが一致する場合、印刷を行う旨の決定をし、一致しない場合、印刷を行わない旨の決定をして印刷を中止する。
【００３７】
レイアウトフィルタ１４２は、倍率の変更や製本の面付けレイアウトやスタンプなどレイアウトに関する処理を行う。
【００３８】
レンダラフィルタ１４３は、ＸＰＳスプールファイルをレンダリングしてＰＤＬに変換する。またレンダラフィルタ１４３は、プリントチケットの印刷設定のデータを、ＰＪＬに変換する。
【００３９】
＜端末装置１０の動作の説明＞
次に端末装置１０の動作の説明を行う。
ここでは、まず端末装置１０の動作の第１の実施形態について説明を行う。
【００４０】
［第１の実施形態］
図５−１〜図５−３は、端末装置１０の動作の第１の実施形態について示したフローチャートである。また図６は、端末装置１０の動作の第１の実施形態について示したシーケンス図である。さらに図７（ａ）〜（ｃ）は、このとき端末装置１０の表示機構１５に表示される画面を示した図である。
まずユーザが、図７（ａ）に示したスタート画面に表示されたアプリケーションプログラムのタイル１５１をタップする（ステップ１０１）。タイル１５１がタップされた場合、ＯＳ２３０のシェルは、タップされたタイル１５１に対応するアプリケーションプログラム２００を起動する（ステップ１０２）。
【００４１】
ユーザは、アプリケーションプログラム２００で印刷したい文書を表示機構１５に表示する（ステップ１０３）。そしてユーザは、システムメニュー１５２を開き、デバイス１５３をタップする（ステップ１０４）。この操作を受けて、ＯＳ２３０のシェルは、アプリケーションプログラム２００に描画データを要求する（ステップ１０５）。アプリケーションプログラム２００が、描画データをＯＳ２３０に渡すと、ＯＳ２３０のプリントダイアログ１１０が起動される（ステップ１０６）。プリントダイアログ１１０は、ＯＳ２３０に登録されている印刷可能な画像形成装置３０を列挙して表示する（ステップ１０７）。
【００４２】
ユーザは列挙されている画像形成装置３０から、印刷に使用する画像形成装置３０のアイコンをタップして選択する（ステップ１０８）。プリントダイアログ１１０は、選択された画像形成装置３０の能力とデフォルトのプリントチケットを、プリンタドライバ１００のコンフィグモジュール１３０に要求する（ステップ１０９）。
【００４３】
プリンタドライバ１００のコンフィグモジュール１３０は、選択された画像形成装置３０の能力とデフォルトのプリントチケットをプリントダイアログ１１０に返す（ステップ１１０）。
【００４４】
プリントダイアログ１１０は、プリントチケットをアプリケーションプログラム２００に渡し、描画データのプレビュー画像の作成を要求する（ステップ１１１）。アプリケーションプログラム２００は、渡されたプリントチケットを読み込んで設定値を理解し、設定値に合わせたプレビュー画像を生成し、プリントダイアログ１１０に返す（ステップ１１２）。
【００４５】
このとき図７（ｂ）に示した画面が表示機構１５に表示される（ステップ１１３）。図７（ｂ）の画面は、印刷設定のうち標準領域の設定項目について選択するものである。このうち画面左側には、アプリケーションプログラム２００で印刷したい文書１５４が表示されている。また画面右側には、プリントダイアログ１１０が表示する画面が表示されている。この画面右側には、プレビュー画面１５５とともに、ユーザが印刷設定を行う画面であるコントロール１５６が表示される。ユーザは、入力デバイス１６を使用し、コントロール１５６から、印刷設定の入力を行う。具体的には、例えばユーザは、プルダウンメニューの中から項目を選択することで印刷の向きの入力を行ない、数字の入力を行なうことで印刷部数の入力を行う。
【００４６】
この状態からユーザが、「その他の設定」をタップすると、プリントダイアログ１１０は、プリンタドライバ１００のデバイスアプリ１２０を起動する（ステップ１１４）。
【００４７】
デバイスアプリ１２０は、「その他の設定」に対応する画像形成装置３０の能力とプリントチケットを、コンフィグモジュール１３０に要求する（ステップ１１５）。コンフィグモジュール１３０は、「その他の設定」に対応する画像形成装置３０の能力とプリントチケットをデバイスアプリ１２０に返す（ステップ１１６）。
【００４８】
このとき図７（ｃ）の画面が表示機構１５に表示される（ステップ１１７）。図７（ｃ）の画面は、印刷設定として標準領域の設定項目に加え拡張領域の設定項目について選択するものである。
アプリケーションプログラム２００の印刷する文書１５４は、図７（ｂ）と同じ位置である画面左側にそのまま表示される。一方、画面右側には、デバイスアプリ１２０が表示する画面が表示されている。この画面右側には、ユーザが印刷設定を行う画面であるコントロール１５７が表示される。コントロール１５７では、画像形成装置３０の能力に応じて、標準領域と拡張領域の印刷設定を変更できる。例えば、選択された画像形成装置３０がセキュリティプリントに対応している場合、セキュリティプリントに関するコントロール１５７が表示される。
【００４９】
ユーザは、図７（ｃ）の画面から、印刷設定を入力し、入力が完了した場合、戻るボタン１５８をタップして印刷設定の終了をデバイスアプリ１２０に通知する（ステップ１１８）。なおこれにより図７（ｂ）の画面に戻る。
【００５０】
次にデバイスアプリ１２０は、現在デバイスアプリ１２０を操作しているユーザＩＤをＯＳ２３０から取得する（ステップ１１９）。そしてデバイスアプリ１２０は、印刷設定やユーザＩＤをプリントチケットに格納する（ステップ１２０）。
【００５１】
印刷設定が完了したアプリケーションデータは、続けて印刷処理が行われる場合もあるが、いったんアプリケーションデータとして外部記憶装置に格納された上で印刷される場合もある。このとき印刷設定を行ったユーザと同じユーザにより印刷を行う場合もあるが、異なるユーザである場合もある。本実施の形態では、何れの場合も、プリントチケットに格納されているデータが印刷時の設定として用いられる。
【００５２】
続いて、印刷指示を行ってから印刷に至るまでのプロセスを説明する。
ユーザは、印刷の開始を指示する（ステップ１２１）。具体的には、ユーザは、ステップ１２０に続けて印刷を行う場合には、図７（ｂ）の画面の印刷ボタン１５９をタップして、印刷の開始を指示する。また保管してあるアプリケーションデータを印刷する場合には、ユーザは、アプリケーションプログラム２００を起動し、印刷データを選択した後、画像形成装置３０を選択して図７（ｂ）の画面を表示させる。そしてユーザは、印刷ボタン１５９をタップして、印刷の開始を指示する。
【００５３】
ユーザにより印刷指示がされると、ＯＳ２３０またはアプリケーションプログラム２００がＸＰＳスプールファイルを作成し、プリントフィルタパイプライン１４０の設定フィルタ１４１に渡す（ステップ１２２）。
【００５４】
設定フィルタ１４１は、まずＸＰＳスプールファイル内のプリントチケットに格納されているユーザＩＤを取り出す（ステップ１２３）。
次に設定フィルタ１４１は、ユーザＩＤをＯＳ２３０から取得する（ステップ１２４）。そしてプリントチケットから取り出したユーザＩＤとＯＳ２３０から取得したユーザＩＤとを比較し、一致するか否かを判断する（ステップ１２５）。
【００５５】
その結果、両者が一致した場合（ステップ１２５でＹｅｓ）、印刷処理を継続する（ステップ１２６）。対して両者が不一致の場合（ステップ１２５でＮｏ）、印刷処理を中止する（ステップ１２７）。
【００５６】
ステップ１２６の後は、レイアウトフィルタ１４２が、レイアウトに関する処理を行う（ステップ１２８）。さらにレンダラフィルタ１４３が、ＸＰＳスプールファイルをレンダリングしてＰＤＬに変換するとともに、プリントチケットの印刷設定のデータを、ＰＪＬに変換する（ステップ１２９）。
【００５７】
これによりプリントジョブが生成され、プリントジョブは、スプーラ２１０とポートモニタ２２０とを経由して画像形成装置３０に送られる（ステップ１３０）。
【００５８】
本実施の形態では、印刷設定を行う際に、ユーザＩＤをプリントチケットに格納する。そしてステップ１２５においてプリントチケットに格納されたユーザＩＤと印刷を行う際のユーザＩＤとの比較を行う。そしてユーザＩＤが一致したときは、印刷設定を行ったユーザと同じユーザにより印刷を行うときであり、この場合、印刷が行われる。対してユーザＩＤが一致しないときは、印刷設定を行ったユーザと異なるユーザにより印刷を行うときであり、この場合、印刷が中止される。これによりプリントチケットに含まれるユーザに関する情報が流用されるおそれが、より小さくなる。またユーザに関する情報が漏洩するおそれも、より小さくなる。その結果、ユーザに関する情報を保護することができる。
【００５９】
またユーザＩＤをＯＳ２３０から取得し、プリントチケットに格納するのは、プリンタメーカー等のＩＳＶが提供するデバイスアプリ１２０である。そしてユーザＩＤをプリントチケットから取り出し、ＯＳ２３０からユーザＩＤを取得して、両者を比較するのは、ＩＳＶが提供する設定フィルタ１４１である。つまりこれらの処理は、ＩＳＶがプリンタドライバ１００に実装でき、ＯＳベンダである必要はない。
【００６０】
［第２の実施形態］
次に端末装置１０の動作の第２の実施形態について説明を行う。
図８−１〜図８−３は、端末装置１０の動作の第２の実施形態について示したフローチャートである。また図９は、端末装置１０の動作の第２の実施形態について示したシーケンス図である。
【００６１】
第２の実施形態では、デバイスアプリ１２０は、印刷の種別に応じて、印刷の種別およびユーザＩＤ以外のユーザに関する情報を加えてプリントチケットを作成する。そして設定フィルタ１４１では、第１の実施形態と同様にユーザＩＤの比較を行う。さらに印刷を行う場合は、印刷の種別やユーザに関する情報についてもプリンタジョブに組み込まれ、画像形成装置３０に送られる。
【００６２】
印刷の種別は、例えば、セキュリティプリントや親展ボックスプリントである。
セキュリティプリントは、画像形成装置３０でユーザがユーザＩＤとパスワードを入力し、予め送られたユーザＩＤおよびパスワードと一致した場合は、印刷を行ない、一致しない場合は、印刷を行わない機能である。この場合、端末装置１０側から、ユーザに関する情報としてユーザＩＤの他にパスワードをプリントジョブに組み込んで画像形成装置３０に送る必要がある。
【００６３】
また親展ボックスプリントは、画像形成装置３０に各ユーザに対応した親展ボックスが設けられ、画像形成装置３０でユーザが親展ボックスを選択した後、暗証番号を入力し、予め送られた蓄積用ユーザＩＤおよび暗証番号が一致した場合は、親展ボックス内に保存されているプリントジョブを実行する機能である。この場合、端末装置１０側から、ユーザに関する情報としてユーザＩＤの他に蓄積用ユーザＩＤと暗証番号をプリントジョブに組み込んで画像形成装置３０に送る必要がある。なおユーザＩＤと蓄積用ユーザＩＤとは、同じものであっても、異なるものであってもよい。
【００６４】
第２の実施形態において、ステップ２０１〜ステップ２１７は、ステップ１０１〜ステップ１１７と同様であるので説明を省略する。
第２の実施形態では、次のステップ２１８において図７（ｃ）の画面から、パスワードなどのユーザに関する情報を入力する。
そしてステップ１１８〜ステップ１１９と同様のステップ２１９〜ステップ２２０の後、デバイスアプリ１２０は、印刷の種別、ユーザＩＤ等のユーザに関する情報、および印刷設定をプリントチケットに格納する（ステップ２２１）。
【００６５】
そしてステップ１２１〜ステップ１２２と同様のステップ２２２〜ステップ２２３の後、設定フィルタ１４１は、ＸＰＳスプールファイル内のプリントチケットに格納されている印刷の種別、およびユーザＩＤ等のユーザに関する情報を取り出す（ステップ２２４）。
またステップ２２５〜ステップ２３１は、ステップ１２４〜ステップ１３０と同様である。これにより印刷の種別、およびユーザに関する情報としてユーザＩＤやパスワードなどがプリントジョブに組み込まれ、画像形成装置３０に送られる。
【００６６】
本実施の形態では、印刷の種別により必要なユーザに関する情報をプリントチケットに組み込むことができる。
【００６７】
［第３の実施形態］
次に端末装置１０の動作の第３の実施形態について説明を行う。
図１０−１〜図１０−３は、端末装置１０の動作の第３の実施形態について示したフローチャートである。また図１１は、端末装置１０の動作の第３の実施形態について示したシーケンス図である。
【００６８】
第３の実施形態では、第２の実施形態と比較して、デバイスアプリ１２０は、ユーザＩＤ等のユーザに関する情報について暗号化を行う。また設定フィルタ１４１では、暗号の復号を行った上で、ユーザＩＤの比較を行う。
【００６９】
第３の実施形態において、ステップ３０１〜ステップ３１８は、ステップ２０１〜ステップ２１８と同様であるので説明を省略する。
第３の実施形態では、次にユーザＩＤ等のユーザに関する情報について暗号化を行う（ステップ３１９）。
そしてステップ２１９〜ステップ２２０と同様のステップ３２０〜ステップ３２１の後、デバイスアプリ１２０は、印刷の種別、暗号化後のユーザＩＤ等のユーザに関する情報、および印刷設定をプリントチケットに格納する（ステップ３２２）。
【００７０】
そしてステップ２２２〜ステップ２２３と同様のステップ３２３〜ステップ３２４の後、設定フィルタ１４１は、ユーザＩＤ等のユーザに関する情報について復号する（ステップ３２５）。
【００７１】
またステップ３２６〜ステップ３３３は、ステップ２２４〜ステップ２３１と同様である。
【００７２】
本実施の形態では、ユーザＩＤやパスワードなどのユーザに関する情報を暗号化することで、よりセキュアとなる。
【００７３】
［第４の実施形態］
第４の実施形態では、第３の実施形態と比較して、デバイスアプリ１２０は、ユーザＩＤ等のユーザに関する情報について暗号化するときに、復号を行う際のキーとしてユーザＩＤを設定する。
【００７４】
［第５の実施形態］
第５の実施形態では、デバイスアプリ１２０が、Ｊａｖａ（登録商標）等のスクリプト言語で記述されている場合、暗号化アルゴリズムがリバースエンジニアリングされ、暗号化したユーザＩＤが解読されることを抑制するため、デバイスアプリ１２０として難読化されたソフトウェアを使用する。つまりこの場合、デバイスアプリ１２０は、難読化の処理を行った上で実装される。
Ｊａｖａスクリプトを難読化する手法としては、Android SDKで使用されるProGuardや、Pre Emptive Solutions社から提供されるDashOなどのツールが知られる。これらのツールでは、Ｊａｖａスクリプト中で使用される変数や関数の名称の変更、制御フローの変更、文字列の暗号化などの処理を組み合わせて、コードの解析を困難にする。
【００７５】
［第６の実施形態］
第６の実施形態では、第５の実施形態と同様に、暗号化したユーザＩＤが解読されることを抑制するため、ユーザＩＤを暗号化する暗号化部を、デバイスアプリ１２０とは別モジュールで備える。この暗号化部は、解析（リバースエンジニアリング）が困難な言語により作成することが好ましい。解析困難な言語としては、Ｃ＋＋等が挙げられる。
ＪａｖａスクリプトからＣ＋＋で作成されたソフトウェアモジュールを呼び出す方法としては、ＪＮＡ（Java Native Access）、swing、ＪＮＩ（Java Native Interface）等の手法が知られている。これらの手法では、Ｊａｖａスクリプトで作成されたソフトウェアモジュールと、異なる言語で作成されたソフトウェアモジュールとの間でのインタフェースを可能にする手段を提供する。
【００７６】
なお上述した例では、プリントチケットは、画像形成装置３０で印刷を行うための印刷設定情報として使用したが、これに限られるものではない。例えば、画像形成装置がファクシミリ機能を有するときに、プリントチケットを予め定められた機器に関する設定情報として利用することが考えられる。この場合、プリントチケットは、ファクシミリを送信するための設定情報であり、上述した場合と同様にユーザＩＤが格納され、アプリケーションプログラム２００に渡される。そしてアプリケーションプログラム２００からファクシミリを行う際には、ＸＰＳスプールファイルが、プリントフィルタパイプライン１４０の設定フィルタ１４１に渡される。さらに設定フィルタ１４１では、上述した場合と同様にユーザＩＤの比較が行われ、一致したときにファクシミリを行うための送信情報を送信することが決定される。そしてファクシミリを行う場合には、この送信情報が画像形成装置３０に送られる。なお一致しないときは、設定フィルタ１４１は、送信情報を送信しないことを決定する。
【００７７】
＜プログラムの説明＞
なおプリンタドライバ１００が行う処理は、上述したように端末装置１０のＣＰＵ１１が各種ソフトウェアを実行することで実現される。よってプリンタドライバ１００は、コンピュータに、ＯＳ２３０からユーザＩＤを取得するユーザ識別情報取得機能と、記録材に画像を形成する画像形成装置３０で印刷を行うためのプリントチケットを、ユーザＩＤを含めて作成する設定情報作成機能と、プリントチケットを含むＸＰＳスプールファイルを作成するアプリケーションプログラム２００に、プリントチケットを受け渡す設定情報受渡機能と、アプリケーションプログラム２００からＸＰＳスプールファイルを受け取る情報受取機能と、ＸＰＳスプールファイルからユーザＩＤを取り出し、取り出したユーザＩＤがユーザ識別情報取得機能において取得したユーザＩＤと一致したときに印刷を行うことを決定する決定機能と、を実現させるプログラムとして捉えることもできる。
【符号の説明】
【００７８】
１０…端末装置、３０…画像形成装置、５０…プリントサーバ、１００…プリンタドライバ、１１０…プリントダイアログ、１２０…デバイスアプリ、１３０…コンフィグモジュール、１４０…プリントフィルタパイプライン、２００…アプリケーションプログラム、２１０…スプーラ、２２０…ポートモニタ、２３０…ＯＳ
【図１】
0006468135.tif 000002
【図２】
0006468135.tif 000003
【図３】
0006468135.tif 000004
【図４】
0006468135.tif 000005
【図５−１】
0006468135.tif 000006
【図５−２】
0006468135.tif 000007
【図５−３】
0006468135.tif 000008
【図６】
0006468135.tif 000009
【図７】
0006468135.tif 000010
【図８−１】
0006468135.tif 000011
【図８−２】
0006468135.tif 000012
【図８−３】
0006468135.tif 000013
【図９】
0006468135.tif 000014
【図１０−１】
0006468135.tif 000015
【図１０−２】
0006468135.tif 000016
【図１０−３】
0006468135.tif 000017
【図１１】
0006468135.tif 000018