(57)【要約】      （修正有）【課題】アプリケーションで設定されるパスワードの桁数と、デバイスドライバで設定されるパスワードの桁数の範囲が異なるように設定されていても、印刷装置でデバイスドライバで設定されたパスワードで印刷ジョブを印刷させる。【解決手段】印刷チケットを生成するアプリケーションが管理する第１の設定画面、あるいはデバイスアプリケーションが管理する第２の設定画面を用いて印刷属性を設定することが可能な印刷制御装置において、第１の設定画面と第２の設定画面とで共通する印刷属性に対して入力すべき情報に設定された桁数の範囲が異なる場合、前記第２の設定画面で入力された情報を前記第１の設定画面に設定される桁数の範囲に合わせて補正する。さらに、補正した補正情報を前記第２の設定画面で入力された情報に復元するための復元情報を作成する。そして、補正情報と復元情報とを含む印刷チケットを生成して前記アプリケーションに受け渡す。【選択図】図６
2015090667.tif 000002
【特許請求の範囲】
【請求項１】
印刷チケットを生成するアプリケーションが管理する第１の設定画面を用いて印刷属性を設定する第１の設定手段と、
デバイスアプリケーションが管理する第２の設定画面を用いて印刷属性を設定する第２の設定手段と、
前記第１の設定画面と第２の設定画面とで共通する印刷属性に対して入力すべき情報に設定された桁数の範囲が異なる場合、前記第２の設定画面で入力された情報を前記第１の設定画面に設定される桁数の範囲に合わせて補正する補正手段と、
前記補正手段により補正した補正情報を前記第２の設定画面で入力された情報に復元するための復元情報を作成する作成手段と、
前記補正情報と前記復元情報とを含む印刷チケットを生成して前記アプリケーションに受け渡す生成手段と、
を備えることを特徴とする印刷制御装置。
【請求項２】
前記アプリケーションは、前記第２の設定画面の表示から前記第１の設定画面の表示に遷移する際に、前記生成手段により受け渡される印刷チケットに基づいてデバイスドライバに受け渡す印刷チケットを生成することを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記アプリケーションが生成した印刷チケットを受け取り、前記第２の設定画面に対する入力で前記補正情報が設定され、かつ、受け付けた入力すべき情報が前記第１の設定画面に設定される桁数の範囲に収まるかどうかを判断する判断手段と、
前記第１の設定画面で前記補正情報が設定され、かつ、前記共通する印刷属性に対して入力すべき情報が前記第１の設定画面に設定される桁数の範囲に収まると判断した場合、前記補正情報を削除して前記アプリケーションに受け渡す削除手段と、を備えることを特徴とする請求項２記載の印刷制御装置。
【請求項４】
前記アプリケーションは、前記削除手段により前記補正情報が削除された印刷チケットを受け取り、デバイスドライバに出力すべき印刷チケットを再生成することを特徴とする請求項２記載の印刷制御装置。
【請求項５】
前記共通する印刷属性は、印刷装置で留め置きされる印刷ジョブを入力されるパスワードで照合して印刷処理を開始させるためのセキュア印刷要求に対応付けた属性であることを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御装置。
【請求項６】
前記補正手段は、第１の設定画面と第２の設定画面とで共通する印刷属性に対して入力すべき情報に設定された桁数の範囲が異なる場合、前記第２の設定画面で入力された情報を前記第１の設定画面に設定される桁数の範囲に合わせて桁数が追加するように、あるいは桁数が削除されるように補正することを特徴とする請求項１記載の印刷制御装置。
【請求項７】
前記復元情報は、前記第２の設定画面で入力された情報を前記第１の設定画面に設定される桁数の範囲に合わせて桁数が追加される場合は、桁数を削除させる情報であることを特徴とする請求項１記載の印刷制御装置。
【請求項８】
前記復元情報は、前記第２の設定画面で入力された情報を前記第１の設定画面に設定される桁数の範囲に合わせて桁数が削除される場合は、桁数を追加させる情報であることを特徴とする請求項１記載の印刷制御装置。
【請求項９】
印刷制御装置のデータ処理方法であって、
印刷チケットを生成するアプリケーションが管理する第１の設定画面を用いて印刷属性を設定する第１の設定工程と、
デバイスアプリケーションが管理する第２の設定画面を用いて印刷属性を設定する第２の設定工程と、
前記第１の設定画面と第２の設定画面とで共通する印刷属性に対して入力すべき情報に設定された桁数の範囲が異なる場合、前記第２の設定画面で入力された情報を前記第１の設定画面に設定される桁数の範囲に合わせて補正する補正工程と、
前記補正工程により補正した補正情報を前記第２の設定画面で入力された情報に復元するための復元情報を作成する作成工程と、
前記補正情報と前記復元情報とを含む印刷チケットを生成して前記アプリケーションに受け渡す生成工程と、
を備えることを特徴とする印刷制御装置のデータ処理方法。
【請求項１０】
請求項９に記載の印刷制御装置のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷制御装置のデータ処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年オフィスでは、ネットワークに接続されたＭＦＰ（Ｍｕｌｔｉ Ｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ）を共有プリンタとすることが多くなっている。複数の人でプリンタを共有する環境では、自分の出力した印刷物を他人に見られる懸念がある。このような懸念を軽減する方法として、セキュアプリント機能が用いられる。セキュアプリント機能とは、パスワードを付加した印刷ジョブをプリンタに送信するとプリンタで一旦溜め置かれ、プリンタの入力装置でジョブに付加されたパスワードを入力すると溜め置かれた印刷ジョブを出力できる機能である。この機能を使うことにより、印刷物を放置することを防ぎ、かつパスワードを知っている人のみ印刷物を出力することが可能になる。
セキュアプリント機能を使うためには、この機能に対応したプリンタおよびプリンタドライバ（以下、特に断らなければドライバと表記する）やアプリケーション（以下、アプリと表記する）などのソフトウェアを使う必要がある。
一般的にアプリで印刷する際に印刷属性を設定することが可能だが、セキュアプリントに対応したソフトウェアを使うと、印刷属性の１つとしてセキュアプリントのパスワードを設定できる。そして、印刷コマンドを実行すると、セキュアプリント印刷ジョブとしてプリンタに送信される。
【０００３】
セキュアプリントで使用可能なパスワードの制限は、プリンタによって異なる。パスワードに使用可能な文字は、０〜９の数値のみの場合が多いが、英字や記号文字が可能な場合もある。数値のみのパスワードはＰＩＮコードとも呼ばれる。また、所定の最小桁数よりも短い、もしくは所定の最大桁数よりも長いパスワードは使用できない。一方、アプリの印刷属性設定画面では、設定可能なパスワードの桁数（例えば、４〜８桁）が、出力先のプリンタで使用可能な桁数（例えば１〜９桁）よりも範囲が狭い場合がある。プリンタ毎のパスワードの桁数に対応することが困難であることや、短いパスワードによるセキュリティ低下を避けることなどが主な理由である。その場合、プリンタでは使用可能な桁数のパスワードをアプリでは設定できない。使いたいパスワードが短い場合には、ユーザが足りない桁数分「０」を前に付加して入力しなければいけなかった。特許文献１では、長いＩＤ番号の一部を入力すると足りない桁を「０」などの予め定められた数値で自動的に補完する集中検針装置が開示されており、長いＩＤ番号の入力の手間を省くことを可能にしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２２８１２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、セキュアプリントのパスワードを自動補完して桁数を変更した場合、ユーザはパスワードが変更されたことに気づかずに、自分が入力したパスワードをプリンタで入力してしまう。すると、印刷ジョブに付加されたパスワードと一致せず、ユーザは印刷ジョブを出力することができない。
【０００６】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、セキュア印刷ジョブを生成する際に、アプリケーションで設定されるパスワードの桁数と、デバイスドライバで設定されるパスワードの桁数の範囲が異なるように設定されても、印刷装置でデバイスドライバで設定されたパスワードで印刷ジョブを印刷させることができる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明の印刷制御装置は以下に示す構成を備える。
印刷チケットを生成するアプリケーションが管理する第１の設定画面を用いて印刷属性を設定する第１の設定手段と、デバイスアプリケーションが管理する第２の設定画面を用いて印刷属性を設定する第２の設定手段と、前記第１の設定画面と第２の設定画面とで共通する印刷属性に対して入力すべき情報に設定された桁数の範囲が異なる場合、前記第２の設定画面で入力された情報を前記第１の設定画面に設定される桁数の範囲に合わせて補正する補正手段と、前記補正手段により補正した補正情報を前記第２の設定画面で入力された情報に復元するための復元情報を作成する作成手段と、前記補正情報と前記復元情報とを含む印刷チケットを生成して前記アプリケーションに受け渡す生成手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、セキュア印刷ジョブを生成する際に、アプリケーションで設定されるパスワードの桁数と、デバイスドライバで設定されるパスワードの桁数の範囲が異なるように設定されても、印刷装置ではデバイスドライバで設定されたパスワードで印刷ジョブを印刷できる。
【図面の簡単な説明】
【０００９】
【図１】印刷システムの構成を示すブロック図である。
【図２】図１の印刷制御装置のモジュール構成の一例を示すブロック図である。
【図３】図１に示したモニタに表示されるＵＩ画面の一例を示す図である。
【図４】図１に示したモニタに表示されるＵＩ画面の一例を示す図である。
【図５】印刷制御装置のデータ処理方法を説明するフローチャートである。
【図６】印刷制御装置のデータ処理方法を説明するフローチャートである。
【図７】印刷制御装置で生成されるＰＴの一例を示す図である。
【図８】印刷制御装置のデータ処理方法を説明するフローチャートである。
【図９】印刷制御装置のデータ処理方法を説明するフローチャートである。
【図１０】印刷制御装置で生成されるＰＴの一例を示す図である。
【図１１】印刷制御装置のデータ処理方法を説明するフローチャートである。
【図１２】印刷制御装置のデータ処理方法を説明するフローチャートである。
【図１３】印刷システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示す印刷システムの構成を示すブロック図である。本実施形態は、印刷制御装置と印刷装置とが通信して印刷処理を行う印刷システムに対応する。ここで、印刷制御装置におけるオペレーティングシステム（ＯＳ）として、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）を例とする。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであってもよい。
【００１１】
図１の（Ａ）に示す印刷制御装置において、ＣＰＵ１０１は、主記憶装置１０２のＲＯＭ１０２１あるいはＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムに従って装置全体の制御を行う。ＲＡＭ１０２２は、ＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５は、アプリ１０５１やデバイスアプリ１０５２、デバイスドライバ１０５３、オペレーティングシステム（ＯＳ）１０５４等を記憶する。アプリ１０５１やデバイスアプリ１０５２、デバイス、ドライバ１０５３は、不図示のＣＤ−ＲＯＭやＵＳＢメモリ、あるいはネットワーク１１２を経由して補助記憶装置１０５に追加することが可能である。キーボード１０８やマウス・タッチパネルなどに代表されるポインティングデバイス１０９などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。
出力Ｉ／Ｆ１０４は、データを外部に出力するためのインタフェースであり、モニタ１１０やプリンタ１１１などの出力機器に対してデータを出力する。プリンタ１１１とは直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク１１２を通して接続されていてもよい。また、１０７は共通データシステムバスで、モジュール間でそれぞれのデータのやりとりを行う。
【００１２】
図１の（Ｂ）に示すプリンタ１１１において、プリンタＣＰＵ（ＣＰＵ）は、ＲＯＭ１２２のプログラム用ＲＯＭあるいは補助記憶装置１２９に記憶された制御プログラム等に基づいてシステムバス１２３に接続される印刷部Ｉ／Ｆ１２５を介して印刷部（プリンタエンジン）１２７に出力情報としての画像信号を出力する。また、このＲＯＭ１２２のプログラムＲＯＭにはＣＰＵ１２０の制御プログラム等を記憶する。ＲＯＭ１２２のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶する。
【００１３】
さらに、ＲＯＭ１２２のデータ用ＲＯＭには、ハードディスク等の補助記憶装置１２９を備えていないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶する。ＣＰＵ１２０は、入力Ｉ／Ｆ１２４を介してホストコンピュータとの通信処理が双方向に可能となっており、プリンタ１１１内の情報等をホストコンピュータに通知可能に構成されている。ここで、情報には、プリンタエンジンのステータスや、ネットワーク設定情報や、デバイス名、リソース名等が含まれる。ＲＡＭ１２１は、ＣＰＵ１２０の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１２１は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の補助記憶装置１２９は、外部メモリＩ／Ｆ１２６によりアクセスが制御される。補助記憶装置１２９は、オプションとして接続され、フォントデータ、エミュレーションプログラム等を記憶する。
【００１４】
なお、補助記憶装置１２９は１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作部１２８からのプリンタモード設定情報を記憶するようにしてもよい。操作部１２８は、操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００１５】
図２は、図１の印刷制御装置のモジュール構成の一例を示すブロック図である。
印刷システム２０１は、オペレーティングシステム１０５４のサブシステムである。印刷システム２０１は、プリンタ１１１ごとに用意されたデバイスアプリ（デバイスアプリケーション）１０５２とドライバ１０５３を補助記憶装置１０５からＲＡＭ１０２２にロードし、アプリケーション（アプリ）１０５１の出力先をデバイスアプリ１０５２とドライバ１０５３に設定する。印刷システム２０１は、アプリ１０５１からＰｒｉｎｔＴｉｃｋｅｔ（以下、ＰＴ印刷チケット）を受け取り、デバイスアプリ１０５２へ印刷属性データとして出力する。ＰＴは印刷属性をＸＭＬ形式のデータとして表現したものである。
【００１６】
また、印刷システム２０１は、アプリ１０５１から印刷能力取得リクエストを受け取り、ドライバ１０５３から取得したＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（以下、ＰＣ）をアプリ１０５１に返却する。ＰＣはプリンタ１１１の能力をＸＭＬ形式で表現したもので、プリンタ１１１において指定可能な印刷属性の項目や属性値が全て列挙されている。ＰＴは、ＰＣで列挙される設定項目や属性値のうち印刷に必要な現在の設定値のみを記載したもので、ＰＣがあればＰＴを生成できる。アプリ１０５１は、プリンタ１１１からＰＣを取得して解釈することによって、プリンタ１１１で指定可能な印刷属性を知ることができる。また、印刷システム２０１は、アプリ１０５１からＸＰＳデータを受け取り、ドライバ１０５３へ印刷データとして出力する。
【００１７】
ＸＰＳデータは文書データとしての利用も可能なＸＭＬベースの文書フォーマットで、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎの略である。Ｍｉｃｒｏｓｏｆｔ社が開発し、ＥＣＭＡ−３８８で標準化された文書フォーマットである。文書構造は、各々ジョブ／ドキュメント／ページを表す"Fixed Document Sequence（以下、ＦＤＳ）"、"Fixed Document（以下、ＦＤ）"、"Fixed Page（以下、ＦＰ）"の３階層のツリー構造をとる。ＦＰは更に、複数の描画オブジェクトから構成される。また、ＸＰＳデータは印刷属性であるＰＴを内部にもつことができ、ジョブ／ドキュメント／ページの単位で一部の印刷属性のみの指定が可能である。
アプリ１０５１は、補助記憶装置１０５からＲＡＭ１０２２にロードされて実行される。アプリ１０５１が印刷を行う際には、印刷システム２０１を利用して、出力先プリンタ選択画面（不図示）を表示して印刷先のプリンタ１１１を選択し、印刷属性の設定および出力（描画）を行う。
【００１８】
図３は、図１に示したモニタ１１０に表示されるＵＩ画面の一例を示す図である。本例は、印刷属性設定画面３００の一例である。
図３において、印刷属性設定画面３００には、戻るボタン３０１、各種属性設定コントロール３０２、セキュアプリント設定ボタン３０３、セキュアプリント設定値テキスト３０４、パスワード入力ボックス３０５、詳細設定リンク３０６、印刷ボタン３０７などが含まれる。
各種属性設定コントロール３０２、セキュアプリント設定ボタン３０３、セキュアプリント設定値テキスト３０４、パスワード入力ボックス３０５は、印刷システム２０１経由でドライバ１０５３から取得したＰＣを元に表示する。アプリ１０５１は取得したＰＣを解釈し、アプリの仕様として必要なＦｅａｔｕｒｅとそのＯｐｔｉｏｎなどを選択して、印刷属性設定画面３００上にコントロールとして配置する。
【００１９】
アプリ１０５１は、ドライバ１０５３のプライベートなキーワードは解釈できないので、パブリックなキーワードのみを選択する。本例では、用紙サイズや用紙方向などは、文書のページ情報として別途管理しているので、印刷属性設定画面３００上には、パブリックなＦｅａｔｕｒｅのうち、部数、Ｎｕｐ、両面印刷、セキュアプリントの印刷属性に対するコントロールを配置している。ユーザはこれらのコントロールをキーボード１０８やマウス１０９などで操作して、リストから項目を選択したり、入力ボックスに文字列を入力したりすることにより、印刷属性を設定する。
【００２０】
パスワードで照合して印刷処理を開始させるためのセキュア印刷要求に対応付けたセキュアプリント設定ボタン３０３は、トグルボタンで、マウス１０９でクリックされるとＯＮ／ＯＦＦを切り替え、その設定値をセキュアプリント設定値テキスト３０４に文字で表示する。また、セキュアプリント設定ボタン３０３がＯＮなら、パスワード入力ボックス３０５を入力可能にする。
【００２１】
パスワード入力ボックス３０５には、セキュアプリントジョブに付加するパスワード文字列を入力できるが、入力可能な文字と桁数を制限している。本例では、０〜９の数値のみ入力可能としている。また、４〜７桁のみ設定可能としており、３桁以下もしくは８桁以上である場合は、後述の印刷時の検証処理で無効な設定と判定される。
【００２２】
詳細設定リンク３０６が押されると、アプリ１０５１は現在設定されている印刷属性を反映したＰＴを生成し、生成したＰＴを印刷システム２０１経由でデバイスアプリ１０５２に出力して、印刷属性設定画面３００を閉じる。
デバイスアプリ１０５２がＰＴを受け取ると、図４において後述する詳細印刷属性設定画面４００をモニタ１１０に表示する。
詳細印刷属性設定画面４００で詳細な印刷属性を設定して画面が閉じられると、アプリ１０５１はデバイスアプリ１０５２が生成したＰＴを受け取り、ＲＡＭ１０２２に確保したワーク領域に格納し、印刷属性設定画面３００をモニタ１１０に再度表示するように遷移する。そして、受け取ったＰＴを解釈して、印刷属性設定画面３００の各コントロールの表示に反映する。更に印刷属性設定画面３００の設定を変更することもできる。詳細設定リンク３０６や後述の印刷ボタン３０７が押されるなどＰＴ生成が必要な際には、ＲＡＭ１０２２に確保したワーク領域に格納したＰＴをベースに現在設定されている印刷属性を反映することでＰＴを生成する。
【００２３】
印刷ボタン３０７が押されると、アプリ１０５１は印刷属性設定画面３００で現在設定されている印刷属性を反映したＰＴを生成し、生成したＰＴを検証する。ＰＴ検証処理の結果、全ての設定値が有効であると判定した場合、印刷システム２０１を利用して印刷処理を行い、印刷属性設定画面３００を閉じる。
一方、ＰＴ検証処理の結果、無効な設定値が存在すると判定した場合は、印刷処理は行わず、印刷属性設定画面３００を開いたままにしておく。ここで、有効ではない設定値を有効な設定値に変更したり、有効な設定値に変更した項目を認識しやすいようにマークを表示したりしてもよい。
【００２４】
アプリ１０５１におけるＰＴ検証処理は、まず印刷システム２０１経由でドライバ１０５３にＰＴの検証をリクエストする。ドライバ１０５３は、受け取ったＰＴの有効性を後述のＰＴ検証部２０５で検証して、無効な印刷属性値を有効な値に変更したＰＴを生成し、印刷システム２０１経由でアプリ１０５１に返却する。
アプリ１０５１は、ドライバ１０５３による検証結果のＰＴを受け取った後、更に独自のＰＴ検証処理を行い、全体の検証結果とする。検証処理後のＰＴと検証処理前のＰＴで属性値に差分があれば、その点が無効な属性値であると判定する。
また、印刷処理では、現在設定されている印刷属性を反映したＰＴをＦＤＳに関連付けたＸＰＳデータを作成し、印刷システム２０１を経てドライバ１０５３へ出力する。
【００２５】
戻るボタン３０１を押すと、印刷属性設定画面３００を閉じて、不図示の出力先プリンタ選択画面に戻る。出力先プリンタ選択画面もしくは印刷属性設定画面３００表示中にアプリ１０５１の表示画面上をマウス１０９でクリックすると、出力先プリンタ選択画面もしくは印刷属性設定画面３００を閉じる。
【００２６】
本例では印刷属性設定画面３００は、アプリ１０５１が表示、処理しているが、印刷システム２０１が持つ機能を使用して表示や処理を行うこともできる。
デバイスアプリ１０５２は、ドライバ１０５３と同様にプリンタ１１１に対応したソフトウェアで、ＰＴやＰＣのプライベートなキーワードも解釈できる。デバイスアプリ１０５２は、印刷設定表示部２０２とＰＴ生成部２０３を含む。印刷設定表示部２０２は、印刷属性設定画面３００の詳細設定リンク３０６が押されると、アプリ１０５１から印刷システム２０１を経てＰＴを受取り、解釈した印刷属性を詳細印刷属性設定画面４００に表示する。ＰＴ生成部２０３は、印刷設定表示部２０２から呼び出されて、受け取ったＰＴをベースに現在設定されている印刷属性を反映することでＰＴを生成する。
【００２７】
図４は、図１に示したモニタ１１０に表示されるＵＩ画面の一例を示す図である。本例は、詳細印刷属性設定画面４００の一例である。
図４において、詳細印刷属性設定画面４００には、各種属性設定コントロール４０２、セキュアプリントチェックボックス４０３、パスワード入力ボックス４０４などが含まれ、図３に示した印刷属性設定画面３００では設定できない属性も設定可能である。ユーザはこれらのコントロールをキーボード１０８やマウス１０９などで操作して、リストから項目を選択したり、入力ボックスに値を入力したりすることにより、詳細な印刷属性を設定する。
【００２８】
セキュアプリントチェックボックス４０３はトグルボタンで、マウス１０９でクリックされるとＯＮ／ＯＦＦを切り替える。セキュアプリントチェックボックス４０３がＯＮだと、パスワード入力ボックス４０４を入力可能にする。
【００２９】
パスワード入力ボックス４０４にはセキュアプリントジョブに付加するパスワード文字列を入力できるが、印刷属性設定画面３００のパスワード入力ボックス３０５とは入力可能な桁数が異なる。本例ではパスワード入力ボックス３０５には４〜７桁設定可能だが、パスワード入力ボックス４０４には１〜９桁設定可能である。パスワード入力ボックス３０５の入力値制限はアプリ１０５１の仕様であるが、パスワード入力ボックス４０４の入力値制限はプリンタ１１１の仕様に従っているため、一致しない場合がある。
【００３０】
戻るボタン４０１を押すと、印刷設定表示部２０２はＰＴ生成部２０３を呼び出し、現在設定されている印刷属性を反映したＰＴを生成する。印刷設定表示部２０２は、生成したＰＴに対して検証処理を実行して、全ての設定値が有効と判定すれば、印刷システム２０１を経てアプリ１０５１に渡し、詳細印刷属性設定画面４００を閉じて、デバイスアプリ１０５２は終了する。
本例では、ＰＴ検証処理の結果、有効ではない設定値が存在すると判定した場合、詳細印刷属性設定画面４００を開いたままにしておく。ここで、有効ではない設定値を有効な設定値に変更したり、有効な設定値に変更した項目を認識しやすいようにマークを表示したりしてもよい。
デバイスアプリ１０５２によるＰＴ検証処理は、アプリ１０５１の検証処理と同様に、印刷システム２０１経由でドライバ１０５３にＰＴ検証をリクエストし、検証結果のＰＴと検証前のＰＴで属性値に差分があるかどうかで判定する。
【００３１】
戻るボタン４０１を押して印刷属性設定画面３００に戻ると、各印刷属性に対する各コントロールが存在すれば設定値に反映される。例えば、パスワード入力ボックス４０４に１桁のパスワードが入力されていた場合は、パスワード入力ボックス３０５にも１桁のパスワードが設定されることになる。しかし、パスワード入力ボックス３０５は１桁のパスワードを受け付けることができないため、印刷時に無効な設定と判定され印刷できない。
そのため、ＰＴ生成部２０３はパスワード入力ボックス４０４に入力されたパスワードをパスワード入力ボックス３０５の設定可能な桁数に補正し、補正した文字列を表すプライベートなＰＴを追加する。追加したプライベートなＰＴは、ドライバ１０５３で解釈され、補正前のパスワードを復元して、プリンタ１１１へ出力する。詳細な処理の説明は後述する。
【００３２】
ドライバ１０５３は、印刷システム２０１からＸＰＳデータを受取り、プリンタ１１１が認識可能な制御コマンド、例えばページ記述言語（ＰＤＬ）に変換する。変換されたプリンタ制御コマンドは、オペレーティングシステム１０５４によってＲＡＭ１０２２にロードされたシステムスプーラ２１０を経て出力Ｉ／Ｆ１０４経由でプリンタ１１１へ印刷データとして送信される。ドライバ１０５３は、ＰＣ生成部２０４、ＰＴ検証部２０５、ＸＰＳ解析部２０６、出力データ生成部２０７、ＰＴ解析部２０８、セキュアプリントＰＴ解析部２０９を含む。
ＰＣ生成部２０４は、印刷システム２０１経由でリクエストされると、プリンタ１１１の能力に従ってＰＣを生成しリクエスト元に返却する。
【００３３】
ＰＴ検証部２０５は、受け取ったＰＴを読み取り解析し、ＰＴの全ての要素が有効な属性値であるか検証し、無効な属性値があると判断した場合、無効な属性値を有効な属性値に変更し、リクエスト元に返却する。ＰＴ検証処理は、印刷システム２０１、もしくは印刷システム２０１経由でアプリ１０５１からリクエストされたり、ドライバ１０５３内部から呼び出されたりする。
【００３４】
ＸＰＳ解析部２０６は、印刷システム２０１から受け取ったＸＰＳデータを読み取り解析し、文書構造（ＦＤＳ／ＦＤ／ＦＰ）に従って順次 出力データ生成部２０７を呼び出し、プリンタ制御コマンドを生成する。
【００３５】
出力データ生成部２０７は、ＸＰＳ解析部２０６から受け取ったＸＰＳデータに含まれる描画オブジェクトに従ってレンダリングを行い、ＰＴ解析部２０８を呼び出してＰＴを解析する。ＰＴを解析する際には、事前にＰＴ検証部２０５によってＰＴ検証処理を行って有効なＰＴに変更してからＰＴ解析部２０８を呼び出す。
【００３６】
ＰＴ解析部２０８は、出力データ生成部２０７から受け取ったＰＴを解析し、文書構造に従って印刷属性や描画属性を生成する。セキュアプリント関連のＰＴがあれば、セキュアプリントＰＴ解析部２０９を呼び出す。
セキュアプリントＰＴ解析部２０９は、ＰＴに従ってプリンタ１１１に対応したセキュアプリントコマンドを生成する。セキュアプリントＰＴ解析部２０９の詳細な処理の説明は後述する。
【００３７】
図５は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、図１に示した印刷制御装置におけるデバイスアプリ１０５２のＰＴ生成部２０３のＰＴ生成処理を説明するための全体のフローに対応する。なお、各ステップは、図１の（Ａ）に示したＣＰＵ１０１がＲＡＭ１０２２にロードする制御プログラム（図２に示したモジュール）を実行することで実現される。なお、以下の説明では、図２に示したモジュールを主体として説明する。
まず、ＰＴ生成部２０３は、ＲＡＭ１０２２に確保したワーク領域に生成したＰＴのヘッダ部分を書き込む（Ｓ５０１）。ＰＴはＸＭＬ文書なのでＸＭＬ宣言やルート要素がヘッダ部分に当たる。次に、デバイスアプリ１０５２が処理可能な印刷属性リストから順に次の処理対象の印刷属性を選択し（Ｓ５０２）、次の処理対象の印刷属性があるか判定する（Ｓ５０３）。例えば、本実施形態では原稿サイズ、出力用紙サイズ、部数、用紙方向、Ｎｕｐ、両面印刷、とじ方向、セキュアプリントの順で処理対象とする。
ここで、処理対象の印刷属性が残っているとデバイスアプリ１０５２が判断した場合、その種別を判定し（Ｓ５０４）、処理対象の印刷属性がセキュアプリントの印刷属性であると判断した場合、セキュアプリントＰＴ生成処理を行い（Ｓ５０５）、それ以外はその他の印刷属性のＰＴ生成処理を行い（Ｓ５０６）、Ｓ５０２へ戻る。
【００３８】
なお、各印刷属性のＰＴ生成は、ＰＣで列挙された印刷属性から処理対象の印刷属性に関する項目を取得し、詳細印刷属性設定画面４００における現在の設定値を指定したものを、ＲＡＭ１０２２に確保したワーク領域に追記することで可能である。Ｓ５０５，Ｓ５０６のそれぞれのＰＴ生成処理でＲＡＭ１０２２のワーク領域にＰＴを追記したら、Ｓ５０２に戻る。
一方、Ｓ５０３で処理対象の印刷属性が残っていないと判定した場合、ＰＴのクローズ処理を行い（Ｓ５０７）、本処理を終了する。ここで、ＰＴのクローズ処理とは、Ｓ５０１で書き込んだヘッダに対する終了タグを書き込むことである。
【００３９】
図６は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、Ｓ５０５に示したセキュアプリントＰＴ生成処理の詳細手順に対応する。
なお、各ステップは、図１の（Ａ）に示したＣＰＵ１０１がＲＡＭ１０２２にロードする制御プログラム（図２に示したモジュール）を実行することで実現される。なお、以下の説明では、図２に示したモジュールを主体として説明する。
まず、デバイスアプリ１０５２は、セキュアプリントチェックボックス４０３がＯＮであるか否かを判定し、セキュアプリントチェックボックス４０３がＯＦＦであると判定した場合、そのまま処理を抜ける。
一方、Ｓ６０１で、セキュアプリントチェックボックス４０３がＯＮであるとデバイスアプリ１０５２が判断した場合、ＲＡＭ１０２２に確保した変数ＳＩ（入力文字列）にパスワード入力ボックス４０４の入力文字列を格納する（Ｓ６０２）。
次に、デバイスアプリ１０５２は、ＳＩの文字列長（Ｌ）とアプリ１０５１で有効なパスワードの桁数とを比較して（Ｓ６０３）、Ｌが有効桁数の範囲内であるとデバイスアプリ１０５２が判断した場合、ＳＩを元にセキュアプリントＰＴを追加し（Ｓ６０４）、処理を抜ける。Ｓ６０３でＬ＜Ｍｉｎ（最小桁数）とデバイスアプリ１０５２が判断した場合、ＲＡＭ１０２２に確保した変数ＳＣ（補正文字列）に（Ｍｉｎ−Ｌ）桁分の'０'を格納する（Ｓ６０５）。
【００４０】
なお、補正に使う文字はパスワードとして使用可能な文字であれば、'０'以外の文字でも良い。そして、デバイスアプリ１０５２は、ＳＣとＳＩを連結した文字列（補正後文字列）を元にセキュアプリントＰＴを追加し（Ｓ６０６）、ＳＣを元に補正情報とすべくパスワード補正ＰＴを追加して（Ｓ６０７）、処理を抜ける。
一方、Ｓ６０３でＬ＞Ｍａｘ（最大桁数）であると判断した場合、ＲＡＭ１０２２に確保した変数ＳＣ（補正文字列）にＳＩの末尾（Ｌ−Ｍａｘ）桁分の文字列を格納する（Ｓ６０８）。なお、ＳＩの先頭（Ｌ−Ｍａｘ）桁分の文字列を格納しても良い。そして、デバイスアプリ１０５２は、ＳＩの末尾からＳＣを削除した文字列（補正後文字列）を元にセキュアプリントＰＴを追加し（Ｓ６０９）、ＳＣを元にパスワード補正ＰＴを追加して（Ｓ６０７）、再生成処理を抜ける。
【００４１】
図７は、本実施形態を示す印刷制御装置で生成されるＰＴの一例を示す図である。本例は、Ｓ５０５に示したパスワード入力ボックス４０４に"１"を入力した場合に、セキュアプリントＰＴ生成処理（Ｓ５０５）によって生成されるＰＴの一例である。
図５において、パブリックな "ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔ"と"ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔＳｔｒｉｎｇ"は、Ｓ６０６によって生成されたセキュアプリント属性である。このＰＴは、セキュアプリントＯＮ、パスワード（補正後）"０００１"であることを表す。プライベートな "ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔＣｏｒｒｅｃｔｉｎｇＳｔｒｉｎｇ"と"ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔＣｏｒｒｅｃｔｉｎｇＰｏｓｉｔｉｏｎ"は、Ｓ６０７によって生成されたパスワード補正ＰＴである。このＰＴは、パスワードの先頭に"０００"を付加したことを表す。デバイスアプリ１０５２が生成したＰＴは、印刷システム２０１を経てアプリ１０５１に渡され、印刷時にはＦＤＳのＰＴとしてＸＰＳデータに含ませて、印刷システム２０１を経てドライバ１０５３へ出力する。
【００４２】
アプリ１０５１はセキュアプリントＰＴを解釈でき、印刷属性設定画面３００のセキュアプリント設定ボタン３０３とセキュアプリント設定値テキスト３０４、パスワード入力ボックス３０５に反映する。しかし、アプリ１０５１はパスワード補正ＰＴを解釈できないので、印刷属性設定画面３００では表示、設定できない。
【００４３】
図８は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、ドライバ１０５３のセキュアプリントＰＴ解析部２０９のセキュアプリントＰＴ解析処理例である。なお、各ステップは、図１の（Ａ）に示したＣＰＵ１０１がＲＡＭ１０２２にロードする制御プログラム（図２に示したモジュール）を実行することで実現される。なお、以下の説明では、図２に示したモジュールを主体として説明する。
まず、セキュアプリントＰＴ解析部２０９は、受け取ったＰＴを解析してセキュアプリントＰＴを取得して、セキュアプリントＯＮか判定し（Ｓ８０１）、セキュアプリントＯＦＦであるとセキュアプリントＰＴ解析部２０９が判定した場合、そのまま処理を終了する。
一方、セキュアプリントＯＮであるとセキュアプリントＰＴ解析部２０９が判断した場合、セキュアプリントＰＴ解析部２０９は、ＲＡＭ１０２２に確保した変数ＳＰ（パスワード文字列）にセキュアプリントＰＴの文字列を格納し（Ｓ８０２）、パスワード補正ＰＴが存在するか判定する（Ｓ８０３）。
図７の例では、Ｓ８０１は"ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔ"ＦｅａｔｕｒｅのＯｐｔｉｏｎが"Ｏｎ"か否かで判定し、Ｓ８０３は"ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔＣｏｒｒｅｃｔｉｎｇＳｔｒｉｎｇ"Ｐａｒａｍｅｔｅｒの存在で判定する。ここで、パスワード補正ＰＴが存在すると判断した場合、セキュアプリントＰＴ解析部２０９は、パスワード補正ＰＴの補正位置を判定し（Ｓ８０４）、"先頭に追加"であるとセキュアプリントＰＴ解析部２０９が判断した場合はＳＰの先頭から、"末尾に追加"であるとセキュアプリントＰＴ解析部２０９が判断した場合はＳＰの末尾から、パスワード補正ＰＴの補正文字列（ＳＣ）を削除する（Ｓ８０５、Ｓ８０６）。
また、"先頭から削除"であると判断した場合、ＳＰの先頭にパスワード補正ＰＴの補正文字列（ＳＣ）を付加する（Ｓ８０７）。また、"末尾から削除"であると判断した場合はＳＰの末尾に、パスワード補正ＰＴの補正文字列（ＳＣ）を付加する（Ｓ８０８）。
図７の例では、Ｓ８０４は"ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔＣｏｒｒｅｃｔｉｎｇＰｏｓｉｔｉｏｎ"ＦｅａｔｕｒｅのＯｐｔｉｏｎで判定する。Ｓ８０３でパスワード補正ＰＴが存在しないと判定すれば、Ｓ８０４〜８０８はスキップする。そして、セキュアプリントＰＴ解析部２０９は、ＳＰを元にプリンタ１１１が処理可能なセキュアプリントコマンドを出力して（Ｓ８０９）、処理を終了する。
【００４４】
以上の工程によって、印刷属性設定画面３００で設定できない桁数のパスワードを詳細印刷属性設定画面４００で入力して印刷すると、デバイスアプリ１０５２が生成したプライベートなパスワード補正ＰＴを含むＸＰＳデータをアプリ１０５１が出力する。
そして、ドライバ１０５３が、パブリックなセキュアプリントＰＴとプライベートなパスワード補正ＰＴを用いてユーザが入力したパスワードを復元し、セキュアプリントジョブに付加してプリンタ１１１に出力する。印刷属性設定画面３００で設定できる桁数のパスワードを詳細印刷属性設定画面４００で入力して印刷した場合は、パスワード補正ＰＴは出力されず、パブリックなセキュアプリントＰＴのみ使用して、セキュアプリントジョブに付加する。その結果、詳細印刷属性設定画面４００で入力したパスワードがアプリ１０５１で設定できない桁数でも、プリンタ１１１でパスワードを入力して印刷ジョブが出力できる。
【００４５】
〔第２実施形態〕
第１実施形態では、補正文字列を表すプライベートなＰＴを用いる例について説明した。第２実施形態では、ユーザが入力した文字列を表すプライベートなＰＴを用いる例を説明する。
図９は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、デバイスアプリ１０５２のＰＴ生成部２０３のセキュアプリントＰＴ生成処理（Ｓ５０５）の詳細手順に対応する。なお、各ステップは、図１の（Ａ）に示したＣＰＵ１０１がＲＡＭ１０２２にロードする制御プログラム（図２に示したモジュール）を実行することで実現される。また、以下の説明では、図２に示したモジュールを主体として説明する。さらに、図６と同じステップ番号のものは第１実施形態と同じものを表し、説明は省略する。以下、詳細に説明する。
ＰＴ生成部２０３は、Ｓ６０６およびＳ６０９でセキュアプリントＰＴを追加後、ＳＩを元にパスワード入力値ＰＴを追加して（Ｓ９０１）、処理を抜ける。
【００４６】
図１０は、本実施形態を示す印刷制御装置で生成されるＰＴの一例を示す図である。本例は、パスワード入力ボックス４０４に"１"を入力した場合に、セキュアプリントＰＴ生成処理（Ｓ５０５）によって生成されたＰＴの一例である。
図１０において、プライベートなＰａｒａｍｅｔｅｒ"ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔＩｎｐｕｔＳｔｒｉｎｇ"が生成されており、ユーザの入力値が"１"であることを表す。
【００４７】
図１１は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、ドライバ１０５３のセキュアプリントＰＴ解析部２０９のセキュアプリントＰＴ解析処理例に対応する。なお、各ステップは、図１の（Ａ）に示したＣＰＵ１０１がＲＡＭ１０２２にロードする制御プログラム（図２に示したモジュール）を実行することで実現される。また、以下の説明では、図２に示したモジュールを主体として説明する。
セキュアプリントＰＴ解析部２０９は、Ｓ８０１でセキュアプリントＯＮと判定したら、パスワード入力値ＰＴが存在するか判定する（Ｓ１１０１）。図１０の例では、"ＪｏｂＳｅｃｕｒｅｄＰｒｉｎｔＩｎｐｕｔＳｔｒｉｎｇ"Ｐａｒａｍｅｔｅｒの存在で判定する。復元情報とすべくパスワード入力値ＰＴが存在するならば、ＲＡＭ１０２２に確保した変数ＳＰ（パスワード文字列）にパスワード入力値ＰＴの文字列を格納し（Ｓ１１０２）、パスワード入力値ＰＴが存在しないならば、セキュアプリントＰＴの文字列を格納する（Ｓ８０２）。そして、ＳＰを元にプリンタ１１１が処理可能なセキュアプリントコマンドを出力して（Ｓ８０７）、処理を終了する。
【００４８】
以上の工程によって、ユーザが入力した文字列を表すプライベートなＰＴを用いてユーザが入力したパスワードを復元し、セキュアプリントジョブに付加してプリンタ１１１に出力する。その結果、詳細印刷属性設定画面４００で入力したパスワードがアプリ１０５１で設定できない桁数でも、プリンタ１１１でパスワードを入力して印刷ジョブが出力できる。
【００４９】
〔第３実施形態〕
第１実施形態、第２実施形態において、詳細印刷属性設定画面４００でパスワードを設定して印刷属性設定画面３００に戻った後、パスワード入力ボックス３０５に設定されているパスワードを更に変更して印刷することができる。その場合、デバイスアプリ１０５２から受け取ったＰＴをベースに現在設定されている印刷属性を反映したＰＴを生成するが、パスワード補正ＰＴやパスワード入力値ＰＴがそのまま残っていると意図しないパスワードがデバイスに出力されてしまう場合がある。例えば、実施例１では、詳細印刷属性設定画面４００でパスワードに"１"を入力すると、補正文字列が"０００"のパスワード補正ＰＴが生成され、印刷属性設定画面３００に戻るとパスワードが"０００１"に設定されている。ただし、パスワード入力ボックス３０５は"＊＊＊＊"と伏字で表示されているので、ユーザは直接設定値を認識はしていない。
【００５０】
ここでパスワード入力ボックス３０５に"０００２"を再入力して印刷すると、パスワード補正ＰＴの影響でセキュアプリントジョブのパスワードは"２"となり、ユーザが入力した"０００２"をプリンタ１１１で入力しても印刷ジョブを出力できない。ユーザが入力した"０００２"をプリンタ１１１で入力して印刷ジョブを出力するためには、パスワード補正ＰＴを削除して印刷ジョブを生成しなければならない。
【００５１】
本実施形態では、印刷属性設定画面３００のセキュアプリント設定ボタン３０３もしくはパスワード入力ボックス３０５が何らかの変更をされたら、現在保持しているＰＴのパスワード補正ＰＴ（もしくはパスワード入力値ＰＴ）を削除する。
そのために、アプリ１０５１は保持しているＰＴのセキュアプリントＰＴをセキュアプリントＯＦＦに変更したＰＴを生成し、印刷システム２０１経由でドライバ１０５３に検証をリクエストする。ドライバ１０５３のＰＴ検証部２０５は、受け取ったＰＴを解析し、セキュアプリントＰＴがセキュアプリントＯＦＦであれば、セキュアプリントＰＴおよびパスワード補正ＰＴ（もしくはパスワード入力値ＰＴ）を削除して返却する。アプリ１０５１は、返却されたＰＴをＲＡＭ１０２２に確保したワーク領域に保持し、受け取ったＰＴをベースに現在設定されている印刷属性を反映することでＰＴを生成する。
【００５２】
図１２は、本実施形態を示す印刷制御装置のデータ処理方法を説明するフローチャートである。本例は、ＰＴ検証部２０５のセキュアプリントＰＴ検証処理例である。なお、各ステップは、図１の（Ａ）に示したＣＰＵ１０１がＲＡＭ１０２２にロードする制御プログラム（図２に示したモジュール）を実行することで実現される。また、以下の説明では、図２に示したモジュールを主体として説明する。また、本処理は、ＰＴ検証部２０５のＰＴ検証処理でセキュアプリントＰＴを検知してもしなくても実行される。
ＰＴ検証部２０５は、まずセキュアプリントＰＴが存在するか判定し（Ｓ１２０１）、存在しないと判断した場合、ＰＴ検証部２０５は、更にパスワード補正ＰＴが存在するか判定する（Ｓ１２０２）。ここで、パスワード補正ＰＴが存在するとＰＴ検証部２０５が判断した場合、ＰＴ検証部２０５は、パスワード補正ＰＴはあっても意味がないので削除し（Ｓ１２１３）、処理を抜ける。Ｓ１２０２でパスワード補正ＰＴが存在しないとＰＴ検証部２０５が判断した場合、そのまま処理を抜ける。
【００５３】
一方、Ｓ１２０１でセキュアプリントＰＴが存在すると判定した場合、ＰＴ検証部２０５は、セキュアプリントＰＴがセキュアプリントＯＮか判定する（Ｓ１２０３）。ここで、セキュアプリントがＯＦＦであると判断した場合、セキュアプリントＰＴもパスワード補正ＰＴも意味がないので、両方削除して（Ｓ１２０４，１２１３）、処理を抜ける。
一方、Ｓ１２０３でセキュアプリントＯＮとＰＴ検証部２０５が判断した場合、本実施形態では関係ないが、念のため説明する。
Ｓ１２０３でセキュアプリントＯＮとＰＴ検証部２０５が判定した場合、セキュアプリントＰＴのパスワード文字列がドライバ１０５３の有効桁数か検証する。
まず、ＰＴ検証部２０５は、ＲＡＭ１０２２に確保した変数ＳＰにセキュアプリントＰＴのパスワード文字列を格納し（Ｓ１２０５）、ＳＰの桁数（Ｌ）とドライバ１０５３のパスワードの有効桁数を比較する（Ｓ１２０６）。ここで、Ｌが大きいとＰＴ検証部２０５が判断した場合、ＰＴ検証部２０５は、セキュアプリントＰＴのパスワード文字列の最大有効桁数以降を削除し（Ｓ１２０７）、Ｌが小さいとＰＴ検証部２０５が判断した場合、ＰＴ検証部２０５は、セキュアプリントＰＴのパスワード文字列をドライバ１０５３のパスワード最小桁数分の'０'に設定する（Ｓ１２０８）。なお、Ｌが有効桁数の範囲内であると判断した場合は、なら何もしないでＳ１２０９へ進む。
【００５４】
次に、パスワード補正ＰＴがセキュアプリントＰＴと矛盾がないか検証する。まず、ＰＴ検証部２０５は、パスワード補正ＰＴが存在するか判定し（Ｓ１２０９）、存在しなければそのまま処理を抜ける。
例えば先ほど説明した、印刷属性設定画面３００に戻ることで入力された"０００１"をユーザが手動で"０００２"に入力した場合はパスワード補正ＰＴが削除されているためＳ１２０９ではＮＯと判定される。
ここで、パスワード補正ＰＴが存在すると判断した場合、Ｌとアプリ１０５１で有効なパスワードの最小桁数（Ｍｉｎ）を比較して（Ｓ１２１０）、ＰＴ検証部２０５がＬ＞＝Ｍｉｎであると判断した場合、ＰＴ検証部２０５は、ＳＩを元にセキュアプリントＰＴを追加する（Ｓ６０４）。
一方、Ｓ６０３でＬ＜Ｍｉｎであると判断した場合、ＲＡＭ１０２２に確保した変数ＳＣにパスワード補正ＰＴの補正文字列を格納する（Ｓ１２１１）。そして、ＰＴ検証部２０５は、ＳＰがパスワード補正ＰＴの補正位置にＳＣを含むか判定する（Ｓ１２１２）。具体的には、パスワード補正ＰＴの補正文字列が"０００"で補正位置が"ＡｐｐｅｎｄｉｎｇＴｏＴｏｐ"の場合、例えばＳＰが"０００２"なら含むと判定し、"００１２"や"１０００"なら含まないと判定する。
【００５５】
また、補正位置が"ＤｅｌｅｔｉｎｇＦｒｏｍＴｏｐ"もしくは"ＤｅｌｅｔｉｎｇＦｒｏｍＢｏｔｔｏｍ"の場合は含むと判定する。Ｓ１２１２で、ＳＰがＳＣを含まないと判定すれば、セキュアプリントＰＴとパスワード補正ＰＴは矛盾しているので、パスワード補正ＰＴを削除し（Ｓ１２１３）、処理を抜ける。
【００５６】
以上は、実施例１のパスワード補正ＰＴを使用する場合を説明したが、実施例２のパスワード入力値ＰＴを使用した場合は、Ｓ１２０９〜Ｓ１２１２のパスワード補正ＰＴの検証処理をパスワード入力値ＰＴの検証処理に変えればよい。
【００５７】
以上の工程によって、詳細印刷属性設定画面４００でパスワード設定後、印刷属性設定画面３００でパスワードを更に変更して印刷すると、プライベートなパスワード補正ＰＴ（もしくはパスワード入力値ＰＴ）がない印刷ジョブを生成することができる。その結果、印刷属性設定画面３００で再入力したパスワードをプリンタ１１１で入力して印刷ジョブが出力できる。
【００５８】
〔第４実施形態〕
第１実施形態〜第３実施形態では、アプリ１０５１が出力したＸＰＳデータをドライバ１０５３でＸＰＳデータを処理する例であったが、プリンタ１１１でＸＰＳデータを処理しても良い。
【００５９】
図１３は、本実施形態を示す印刷システムの構成を説明する図である。本例は、印刷制御装置と印刷装置とが備えるモジュール構成の一例に対応する。なお、図２と同じ番号のものは第１実施形態と同じものを表し、説明は省略する。以下、詳細に説明する。プリンタ１１１は、ＸＰＳ解析部２０６、ＰＴ解析部２０８、描画画像生成部１３０１、セキュアプリントＰＴ解析部２０９を含む。描画画像生成部１３０１は、図２の出力データ生成部２０７と同様に、ＸＰＳ解析部２０６から受け取ったＸＰＳデータに含まれる描画オブジェクトに従ってレンダリングを行い、ＰＴ解析部２０８を呼び出してＰＴを解析する。しかし、出力データ生成部２０７がＰＤＬを生成するのに対し、描画画像生成部１３０１はプリンタ１１１のエンジンが処理できる描画画像を生成する点が異なる。
【００６０】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００６１】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００６２】
１０１  ＣＰＵ
１０２  主記憶装置
【図１】
2015090667.tif 000003
【図２】
2015090667.tif 000004
【図３】
2015090667.tif 000005
【図４】
2015090667.tif 000006
【図５】
2015090667.tif 000007
【図６】
2015090667.tif 000008
【図７】
2015090667.tif 000009
【図８】
2015090667.tif 000010
【図９】
2015090667.tif 000011
【図１０】
2015090667.tif 000012
【図１１】
2015090667.tif 000013
【図１２】
2015090667.tif 000014
【図１３】
2015090667.tif 000015