(57)【要約】【課題】  ＰＳインタプリタを搭載した情報処理装置において、Ｓｕｐｅｒｅｘｅｃオペレータを実行できるか否かを設定できるような仕組みを提供することを目的とする。【解決手段】  本発明の情報処理装置は、外部装置と通信可能な情報処理装置であって、前記外部装置からＰｏｓｔＳｃｒｉｐｔで記述されたデータを受信する受信手段と、前記受信手段が受信した前記データに記述された命令に従って処理を実行する実行手段と、前記処理の実行に関する所定の設定を行う設定手段と、Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられた命令が記述されたデータを前記受信手段が受信した場合、前記所定の設定に従って前記実行手段が前記命令に従って前記処理を実行するか否かを決定する決定手段を有することを特徴とする。【選択図】  図６
2019207737.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信可能な情報処理装置であって、
前記外部装置からＰｏｓｔＳｃｒｉｐｔで記述されたデータを受信する受信手段と、
前記受信手段が受信した前記データに記述された命令に従って処理を実行する実行手段と、
前記処理の実行に関する所定の設定を行う設定手段と、
Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられた命令が記述されたデータを前記受信手段が受信した場合、前記所定の設定に従って前記実行手段が前記命令に従って前記処理を実行するか否かを決定する決定手段を有することを特徴とする情報処理装置。
【請求項２】
前記所定の設定は管理者権限でログインしたユーザによるパスワードの設定であって、前記設定手段により前記パスワードが設定されている場合であって、前記Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられた前記命令が記述された前記データを前記受信手段が受信した場合、前記決定手段は前記実行手段が前記命令に従って前記処理を実行しないように決定し、
前記設定手段により前記パスワードが設定されていない場合であって、前記Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられた前記命令が記述された前記データを前記受信手段が受信した場合、前記決定手段は前記実行手段が前記命令に従って前記処理を実行するように決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理者権限でログインしたユーザによる前記パスワードの入力を受け付ける受け付け手段を更に有し、
前記設定手段は、前記受け付け手段が受け付けた前記パスワードを設定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所定の設定は管理者権限でログインしたユーザによる前記Ｓｕｐｅｒｅｘｅｃオペレータを無効化するか否かの設定であって、
前記設定手段により前記Ｓｕｐｅｒｅｘｅｃオペレータを無効化すると設定されている場合であって、前記Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられた前記命令が記述された前記データを前記受信手段が受信した場合、前記決定手段は前記実行手段が前記命令に従って前記処理を実行しないように決定し、
前記設定手段により前記Ｓｕｐｅｒｅｘｅｃオペレータを無効化しないと設定されている場合であって、前記Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられた前記命令が記述された前記データを前記受信手段が受信した場合、前記決定手段は前記実行手段が前記命令に従って前記処理を実行するように決定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記管理者権限でログインしたユーザによって前記Ｓｕｐｅｒｅｘｅｃオペレータを無効化するか否かの指示を受け付ける受け付け手段を更に有し、
前記設定手段は、前記受け付け手段が受け付けた前記指示に従って前記Ｓｕｐｅｒｅｘｅｃオペレータを無効化するか否かを設定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられていない前記命令が記述された前記データを前記受信手段が受信した場合であって、前記命令に含まれるパスワードと前記設定手段により設定されている前記パスワードが同一である場合、前記決定手段は前記実行手段が前記命令に従って前記処理を実行するように決定することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記実行手段が前記命令に従って前記処理を実行しないように前記決定手段が決定した場合は、前記決定手段は前記命令以降に記述されている命令に従った処理も実行しないように決定することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項８】
前記データに基づいて印刷する印刷手段を更に有し、
前記実行手段が前記命令に従って前記処理を実行しないように前記決定手段が決定した場合であって、前記データに対して留め置き印刷の設定がされている場合、前記印刷手段は前記データに基づいて印刷を行わないことを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項９】
前記命令は少なくとも制御オペレータを含むことを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
外部装置と通信可能な情報処理装置の制御方法であって、
前記外部装置からＰｏｓｔＳｃｒｉｐｔで記述されたデータを受信する受信ステップと、
前記受信ステップで受信した前記データに記述された命令に従って処理を実行する実行ステップと、
前記処理の実行に関する所定の設定を行う設定ステップと、
Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられた命令が記述されたデータを前記受信ステップで受信した場合、前記所定の設定に従って前記実行ステップで前記命令に従って前記処理を実行するか否かを決定する決定ステップを有することを特徴とする情報処理装置の制御方法。
【請求項１１】
請求項１乃至９の何れか１項に記載の情報処理装置の各手段をコンピュータで実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来の複合機等の情報処理装置には、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ページ記述言語）で記述された描画命令を情報処理装置が理解できる言語に解釈するＰＤＬインタプリタが搭載されているものがある（特許文献１）。そのＰＤＬインタプリタの１つであるＰｏｓｔＳｃｒｉｐｔ（登録商標）インタプリタにおいて、制御オペレータ（制御命令）を実行することでＰＳ（ＰｏｓｔＳｃｒｉｐｔ）インタプリタの動作を制御するための様々なパラメータを設定することができる。ＰＣ等の外部装置のユーザが制御オペレータを指定し、ＰＳで記述された制御オペレータを外部装置から送信することで、ＰＳインタプリタに制御オペレータを実行させることができる。例えばパラメータの一例としては、フォントキャッシュに使用するメモリ量を設定するための「ＭａｘＦｏｎｔＣａｃｈｅ」などがある。
【０００３】
例えば、ＰＳインタプリタの「ＭａｘＦｏｎｔＣａｃｈｅ」の値を３５０００００バイトへ変更するためには以下の制御オペレータをＰＳインタプリタに実行させる必要がある。
＜＜  ／ＭａｘＦｏｎｔＣａｃｈｅ  ３５０００００  ／Ｐａｓｓｗｏｒｄ  （ｘｘｘｘ）＞＞  ｓｅｔｓｙｓｔｅｍｐａｒａｍｓ
【０００４】
ＰＳの言語仕様として、ＰＳインタプリタにパスワードが設定されている場合は、ＰＳインタプリタのパラメータの変更時にパスワードの指定が必要になる。例えばＰＳインタプリタにパスワードが設定されている場合に「ＭａｘＦｏｎｔＣａｃｈｅ」等の値を変更するためには、上述の例のように、制御オペレータ内に「／Ｐａｓｓｗｏｒｄ」でＰＳインタプリタのパスワードを指定する必要がある。ここで指定されたパスワードがＰＳインタプリタに設定されているパスワードと異なる場合、ＰＳインタプリタは制御オペレータを実行しない。
【０００５】
一方で、ＰＳの言語仕様にはＰＳインタプリタにパスワードが設定されていても、パスワードを指定することなくパラメータの値を変更可能なオペレータであるＳｕｐｅｒｅｘｅｃオペレータが存在する。例えば、ＰＳインタプリタにそのＳｕｐｅｒｅｘｅｃオペレータに対応づいた制御オペレータを実行させることで、パスワードの指定を必要とせずにＰＳインタプリタのＭａｘＦｏｎｔＣａｃｈｅの値を変更することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１４０１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＰＳインタプリタを搭載した情報処理装置に管理者権限でログインしたユーザがＰＳインタプリタのパスワードを設定可能な場合、そのユーザが設定したパスワードはＳｕｐｅｒｅｘｅｃオペレータにより無効化される。つまり、そのユーザがＰＳインタプリタのパスワードを設定している場合であっても、パスワードを知りえない第３者がＳｕｐｅｒｅｘｅｃオペレータを使うことで、パスワードの指定がなくてもＰＳインタプリタに制御オペレータを実行させることができてしまう。
【０００８】
本発明は上記の課題を鑑みてなされたものであり、ＰＳインタプリタを搭載した情報処理装置において、Ｓｕｐｅｒｅｘｅｃオペレータを実行できるか否かを設定できるような仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、外部装置と通信可能な情報処理装置であって、前記外部装置からＰｏｓｔＳｃｒｉｐｔで記述されたデータを受信する受信手段と、前記受信手段が受信した前記データに記述された命令に従って処理を実行する実行手段と、前記処理の実行に関する所定の設定を行う設定手段と、Ｓｕｐｅｒｅｘｅｃオペレータに対応づけられた命令が記述されたデータを前記受信手段が受信した場合、前記所定の設定に従って前記実行手段が前記命令に従って前記処理を実行するか否かを決定する決定手段を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ＰＳインタプリタを搭載した情報処理装置において、Ｓｕｐｅｒｅｘｅｃオペレータを実行できるか否かを設定できるような仕組みを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】ＭＦＰ１０１を用いたシステムの一例を示す図
【図２】ＭＦＰ１０１のハードウェア構成を示す図
【図３】ＭＦＰ１０１のソフトウェア構成の一例を示す図
【図４】管理者用の画面における、ＰＳパスワード設定変更処理のフローチャートの一例を示す図
【図５】ＰＳパスワード設定画面の一例を示す図
【図６】ＭＦＰ１０１がＰＳジョブを実行する際にＳｕｐｅｒｅｘｅｃオペレータを無効化する処理の一例を示すフローチャート
【図７】ＰＳジョブ７００の一例を示す図
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施例において示す構成は一例であり本発明は図示された構成に限定されるものではない。
【実施例】
【００１３】
図１は本発明に係るＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）を用いたシステムの一例を示す図である。
【００１４】
図１のシステムは情報処理装置であるＭＦＰ１０１、外部装置であるクライアントＰＣ１０２、クライアントＰＣ１０３により構成されている。ＭＦＰ１０１とクライアントＰＣ１０２、クライアントＰＣ１０３はネットワーク１０４で互いに接続され、通信可能である。
【００１５】
本実施例の情報処理装置はＭＦＰ１０１を例に挙げて説明するが、これに限るものではない。例えば、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等の単機能のものであってもよいし、外付けコントローラ等の印刷制御装置であってもよい。
【００１６】
本実施例の外部装置は、クライアントＰＣ１０２、クライアントＰＣ１０３を例に挙げて説明するが、これに限るものではなく、スマートフォンやタブレット等の携帯端末であってもよい。また、本実施例では外部装置としてクライアントＰＣ１０２を例として説明に用いるが、クライアントＰＣ１０３においても同様の処理を行うことができる。
【００１７】
クライアントＰＣ１０２は、ネットワーク１０４を介してＭＦＰ１０１に対してページ記述言語（ＰＤＬ）で記載されたＰＤＬジョブを送信する。
【００１８】
ネットワーク１０４はＥｔｈｅｒｎｅｔ（登録商標）のような有線ＬＡＮ（ＬｏｃａｌＡｒｅａ  Ｎｅｔｗｏｒｋ）で構成されていてもよいし、無線ＬＡＮで構成されていてもよい。また、ネットワーク１０４はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルで構成されていてもよい。
【００１９】
図２はＭＦＰ１０１のハードウェア構成を示す図である。ＭＦＰ１０１は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、操作部２０５、プリンタ２０６、スキャナ２０７、ネットワークＩＦ（Ｉｎｔｅｒｆａｃｅ）２０８を備える。
【００２０】
ＣＰＵ２０１はＭＦＰ１０１を構成する各種ハードウェア２０４〜２０８の制御を行うことで、ＭＦＰ１０１が備える各機能を実現する。なお、ＣＰＵ２０１はバスラインにより各種ハードウェアに信号を送り、他のハードウェアと相互にデータ通信を行うことを実現する。
【００２１】
またＭＦＰ１０１のＣＰＵ２０１は、ＭＦＰ１０１内の制御プログラムに従ってＭＦＰ１０１の動作を制御する。より詳細には、ＭＦＰ１０１の制御を行うオペレーティングシステム（ＯＳ）と、ハードウェアを制御するためのドライバプログラムをＣＰＵ２０１が実行する。そしてＯＳ上に配置されたアプリケーションプログラムらが相互に動作することにより、ユーザの所望する機能の動作、制御が行われる。これらのＯＳや各種プログラムはＨＤＤ２０４に記憶され、ＲＡＭ２０２において読み出されることで実行される。
【００２２】
ＲＡＭ２０２は、プログラムや、ＣＰＵ２０１が演算に用いるデータを一時的に記憶するためのワークメモリである。ＲＯＭ２０３はＣＰＵ２０１が使用するプログラムや各種データを記憶するためのメモリである。ＨＤＤ２０４は、各種データや各種プログラム等を記憶する記憶装置である。
【００２３】
操作部２０５は、例えばタッチパネル等のＭＦＰ１０１をユーザが利用するためのユーザインタフェースであり、ユーザによる操作や入力を受け付ける。また、操作部２０５はＭＦＰ１０１の情報を表示する表示部としても使用することができる。
【００２４】
プリンタ２０６は、印刷機能を実現するユニットであって、例えばネットワーク１０４に接続されたクライアントＰＣ１０２からＰＤＬのうちの１つであるＰｏｓｔＳｃｒｉｐｔで記載された命令に従って画像を用紙に印刷する処理を行う。なお、本実施例では、ＭＦＰ１０１に対する命令がＰｏｓｔＳｃｒｉｐｔ（以下ＰＳ）で記載されたＰＤＬジョブをＰＳジョブと呼ぶ。ここで、ＰＳジョブの一例を図７に示す。
【００２５】
図７はＰＳジョブ７００の一例を示す図である。
【００２６】
ＰＳジョブ７００に記述されている命令は、制御オペレータ７０１と描画オペレータ７０４で構成されている。
【００２７】
制御オペレータ７０１は後述するＰＳインタプリタのパラメータ等を変更するためのオペレータである。
【００２８】
図７のｓｅｔｓｙｓｔｅｍｐａｒａｍａｓオペレータ７０２はフォントキャッシュがメモリを占有できる最大サイズを設定するためのパラメータであるＭａｘＦｏｎｔＣａｃｈｅの値を指定する。ここでは、４行目において、／ｍｙＭａｘＦｏｎｔＣａｃｈｅが２２２００１１に定義されているため、ＭａｘＦｏｎｔＣａｃｈｅの値は２２２００１１となる。
【００２９】
Ｓｕｐｅｒｅｘｅｃオペレータ７０３は、後述するＰＳインタプリタのパスワードを制御オペレータ中で指定していなくても、ＰＳインタプリタに制御オペレータを実行させる特殊オペレータである。例えば、図７のようにＳｕｐｅｒｅｘｅｃオペレータ７０３をｓｅｔｓｙｓｔｅｍｐａｒａｍａｓオペレータ７０２に対応づけて記述することで、パスワードを指定せずに、ｓｅｔｓｙｓｔｅｍｐａｒａｍａｓオペレータ７０２を実行させることができる。なお、ＰＳインタプリタのパスワードについても後で説明する。
【００３０】
描画オペレータ７０４は文字や図等の描画を指示するためのオペレータである。
【００３１】
図７のｓｅｔｐａｇｅｄｅｖｉｃｅオペレータ７０５は、描画されるページのサイズを指示する。ここでは、横が５９５ピクセル、縦が８４２ピクセルであるＡ４サイズを指定している。
【００３２】
ｓｅｔｃｍｙｋｃｏｌｏｒオペレータ７０６は、描画されるページの色をＣＭＹＫで指定するためのオペレータである。
【００３３】
ｒｅｃｔｆｉｌｌオペレータ７０７は、四角を描画するためのオペレータである。
【００３４】
スキャナ２０７はスキャン機能を実現するユニットであって、スキャナ部にセットされた原稿を光学的に読み取り、画像データに変換する処理を行う。
【００３５】
ネットワークＩＦ２０８は、例えばＥｔｈｅｒｎｅｔ（登録商標）のような有線ＬＡＮ通信を行うためのネットワークＩＦである。なお、このネットワークＩＦ２０８は無線ＬＡＮ通信を行うためのネットワークＩＦであっても良いし、ＵＳＢ−ＬＡＮＩＦ等でもよい。
【００３６】
図３はＭＦＰ１０１のソフトウェア構成の一例を示す図である。
【００３７】
ＭＦＰ１０１はプラットフォーム上で動作するソフトウェアとして、例えば、コピー３０１、スキャン３０２、プリント３０３、ログイン機能３０４、ユーザＤＢ３０５を備える。
【００３８】
また、ＭＦＰ１０１はＰＳインタプリタ３０６、中間データ生成部３０７、ラスタ画像生成部３０８、ＰＳパスワード設定部３０９を備える。各々のソフトウェアモジュールはＨＤＤ２０４からＲＡＭ２０２に読み出され、ＣＰＵ２０１が実行する。
【００３９】
ＣＰＵ２０１はコピー３０１、スキャン３０２、プリント３０３を実行することで、各機能に対応した、ユーザが操作可能なユーザインタフェースを提供する。
【００４０】
ＣＰＵ２０１はログイン機能３０４を実行することで、ユーザがＭＦＰ１０１にログインするための機能を提供する。また、新規ユーザ登録、ユーザ情報の変更等のログインユーザの管理はユーザＤＢ３０５を用いて行う。
【００４１】
ＣＰＵ２０１はＰＳインタプリタ３０６を実行することで、クライアントＰＣ１０２上の印刷アプリケーションから受信したＰＳジョブに含まれる制御オペレータに従って描画オペレータを解釈し、内部表現形式であるオブジェクト描画命令に変換する。具体的には、ＣＰＵ２０１はＰＳインタプリタ３０６を実行することで、ＰＳジョブ中の制御命令である制御オペレータに従ってＰＳインタプリタ３０６のパラメータを変更する。パラメータの一例として、ＭａｘＦｏｎｔＣａｃｈｅ、ＦａｃｔｏｒｙＤｅｆａｕｌｔｓがある。ＭａｘＦｏｎｔＣａｃｈｅはフォントキャッシュがメモリを占有できる最大サイズを設定するためのパラメータである。ＦａｃｔｏｒｙＤｅｆａｕｌｔｓはＰＳインタプリタ３０６に設定されたパラメータのうち、不揮発性メモリに記憶されているパラメータをすべて工場出荷時の値にリセットするためのパラメータである。
【００４２】
また、ＣＰＵ２０１はＰＳインタプリタ３０６を実行することで、ＰＳインタプリタ３０６に設定されているパラメータに従って、ＰＳジョブ中の描画命令である描画オペレータをオブジェクト描画命令に変換する。描画オペレータの一例としてｓｔｒｏｋｅオペレータやｒｅｃｔｆｉｌｌオペレータ等がある。ｓｔｒｏｋｅオペレータはラインを描画するためのオペレータであり、ｒｅｃｔｆｉｌｌオペレータは四角形を描画するためのオペレータである。
【００４３】
ＰＳインタプリタ３０６のパスワードには以下の２つのパスワードを設定することができる。パラメータの変更やｓｔａｒｔｊｏｂオペレータの実行を許可するためのパスワードであるＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄとｓｔａｒｔｊｏｂオペレータの実行を許可するためのパスワードであるＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄがある。
【００４４】
ここで、ｓｔａｒｔｊｏｂオペレータとは、仮想メモリをリセットして、新しいジョブを開始するためのオペレータである。
【００４５】
ＰＳインタプリタ３０６のパラメータを変更する場合は、制御オペレータ中にＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄを記載し、その制御オペレータをＰＳインタプリタ３０６に実行させる必要がある。例えば、以下のオペレータをＰＳインタプリタ３０６に実行させると、ＭａｘＦｏｎｔｃａｃｈｅの定義を３５０００００に変更する処理を実行可能である。
＜＜／ＭａｘＦｏｎｔｃａｃｈｅ  ３５０００００  ／ＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄ＞＞ｓｅｔｓｙｓｔｅｍｐａｒａｍｓ
【００４６】
ＰＳジョブにおいて、ｓｔａｒｔｊｏｂオペレータを実行するためには、ＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄもしくはＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄを制御オペレータ中に記載し、ＰＳインタプリタ３０６に実行させる必要がある。
【００４７】
また、ＰＳインタプリタ３０６のパスワードを設定するためには、現在設定されているパスワードと新しいパスワードを制御オペレータ中に記載し、その制御オペレータをＰＳインタプリタ３０６に実行させる必要がある。例えば、以下のようなオペレータを含んだＰＳジョブをＰＳインタプリタ３０６に実行させると、ＰＳインタプリタ３０６のＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄを変更することができる。ＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄにおいても同様な記載を含んだＰＳジョブをＰＳインタプリタ３０６に実行させることで、ＰＳインタプリタ３０６のＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄを変更することができる。
＜＜  ／Ｐａｓｓｗｏｒｄ（ｏｌｄｐａｓｓｗｏｒｄ）  ／ＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄ（ｎｅｗｐａｓｓｗｏｒｄ）  ＞＞ｓｅｔｓｙｓｔｅｍｐａｒａｍｓ
【００４８】
なお、ＰＳジョブに含まれる制御オペレータにより設定されたパスワードはＲＡＭ２０２に記憶される。
【００４９】
ＣＰＵ２０１は中間データ生成部３０７を実行することで、オブジェクト描画命令から所定単位毎の中間データを生成して出力する。なお、所定単位とは、例えば、ページ単位、特定の領域（所定サイズの幅、所定サイズのブロック）単位が挙げられる。中間データとは、画像を表す画像データと、画像における各オブジェクトの色を特定するための色情報と、画像における各オブジェクトのエッジを特定するためのエッジ情報とを含むものであり、ラスタ画像生成部３０８で処理できるフォーマットデータである。
【００５０】
ＣＰＵ２０１はラスタ画像生成部３０８を実行することで中間データ内に記述された情報に基づいてラスタ画像を生成する。これにより、ＰＳで記述されたデータからラスタ画像を生成することができる。なお、本実施例ではソフトウェアであるラスタ画像生成部３０８をＣＰＵ２０１が実行することで中間データからラスタ画像が生成されるが、これに限るものではない。例えば、ＭＦＰ１０１に搭載されたハードウェアモジュールのＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）が中間データからラスタ画像が生成してもよい。
【００５１】
ＣＰＵ２０１はＰＳパスワード設定部３０９を実行することによって、操作部２０５に表示される管理者用の画面の一例であるＰＳパスワード設定画面において、ＰＳパスワードの設定を受け付ける。管理者用の画面とは、ユーザが管理者権限でログインした場合に表示される画面であり、ログイン機能３０４において管理者用のユーザＩＤとパスワードを用いてＭＦＰ１０１にログインした場合に操作部２０５に表示される画面である。
【００５２】
その処理の詳細を図４のフローチャートで説明し、その処理を実行する際に表示される画面の例を図５に示す。
【００５３】
図４は管理者用の画面における、ＰＳパスワード設定変更処理のフローチャートの一例を示す図である。ＣＰＵ２０１がＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０２に読み出し、実行することで図４のフローチャートの処理は実現される。
【００５４】
ＭＦＰ１０１のユーザが操作部２０５に表示された管理者用の画面でＰＳパスワードを変更するために、非図示のＰＳパスワード設定画面表示ボタンを選択すると、本フローチャートが開始される。
【００５５】
まず、Ｓ４０１においてＣＰＵ２０１は、ＰＳパスワード設定画面の一例として図５のＰＳパスワード設定画面５００を操作部２０５に表示する。
【００５６】
図５はＰＳパスワード設定画面の一例を示す図である。
【００５７】
ＰＳパスワード設定画面５００はＭＦＰ１０１のユーザが管理者用のユーザＩＤとパスワードを用いてログインした時に操作部２０５に表示可能な管理者用の画面である。また、ＰＳパスワード設定画面５００は図３で説明したＰＳインタプリタ３０６のＰＳパスワードとは別に管理されるＰＳパスワードの設定を受け付けるための画面である。
【００５８】
本実施例のＭＦＰ１０１のＰＳインタプリタ３０６にはＰＳジョブの制御オペレータにより設定されるＰＳパスワードと、ＰＳパスワード設定画面５００でユーザにより入力されたＰＳパスワードの二種類のＰＳパスワードを設定できる。なお、ここからはＰＳジョブの制御オペレータにより設定されるＰＳパスワードをＰＳパスワード、ＰＳパスワード設定画面５００でユーザにより入力されたＰＳパスワードは画面ＰＳパスワードと呼ぶ。ＰＳパスワードはＲＡＭ２０２で記憶され、画面ＰＳパスワードがＨＤＤ２０４で記憶される。
【００５９】
入力欄５０１は、ユーザがＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄを入力するための入力欄である。
【００６０】
入力欄５０２は、ユーザがＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄを入力するための入力欄である。
【００６１】
ＯＫボタン５０３は、入力されたパスワードを設定するためのボタンであり、ユーザにより選択されることでＣＰＵ２０１は入力欄５０１と入力欄５０２に入力された文字列をパスワードとして不揮発性メモリであるＨＤＤ２０４に記憶する。なお、入力欄５０１に何も入力されていない状態でＯＫボタン５０３が選択された場合は、ＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄの値はＮＵＬＬとしてＨＤＤ２０４に記憶される。入力欄５０２の場合も同様に、何も入力されていない状態でＯＫボタン５０３が選択された場合は、ＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄの値はＮＵＬＬとしてＨＤＤ２０４に記憶される。また、ＯＫボタン５０３が選択されると、ＣＰＵ２０１はＰＳパスワード設定画面５００を閉じる。
【００６２】
キャンセルボタン５０４は、パスワードの入力を中止するためのボタンである。キャンセルボタン５０４はユーザにより選択されることでＣＰＵ２０１は入力欄５０１と入力欄５０２に入力された文字列をＨＤＤ２０４に記憶せずにＰＳパスワード設定画面５００を閉じる。
【００６３】
Ｓ４０２において、ＣＰＵ２０１はユーザにより図５のＯＫボタン５０３が選択されたかどうかを判定する。選択されたと判定された場合、Ｓ４０３に進む。そうでない場合、Ｓ４０２に戻る。
【００６４】
Ｓ４０３において、ＣＰＵ２０１は入力欄５０１に入力されている文字列が、ＨＤＤ２０４に記憶されているＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄと同一であるかどうかを判定する。同一であると判定された場合、Ｓ４０５に進む。そうでない場合は、Ｓ４０３に進む。ここで、入力欄５０１に何も入力されていない場合は、ＨＤＤ２０４に記憶されているＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄが「ＮＵＬＬ」であるかどうかを判定する。「ＮＵＬＬ」である場合は、Ｓ４０５に進む。そうでない場合は、Ｓ４０３に進む。
【００６５】
Ｓ４０４において、ＣＰＵ２０１は入力欄５０１に入力された文字列を新しいＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄとして不揮発性メモリであるＨＤＤ２０４に記憶する。なお、入力欄５０１に何も入力されていない場合は、「ＮＵＬＬ」を新しいＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄとして不揮発性メモリであるＨＤＤ２０４に記憶する。
【００６６】
Ｓ４０５において、ＣＰＵ２０１は入力欄５０２に入力された文字列がＨＤＤ２０４に記憶されているＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄと同一であるかどうかを判定する。同一であると判定された場合、Ｓ４０７に進む。そうでない場合は、Ｓ４０６に進む。ここで、入力欄５０２に何も入力されていない場合は、ＨＤＤ２０４に記憶されているＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄが「ＮＵＬＬ」であるかどうかを判定する。「ＮＵＬＬ」である場合は、Ｓ４０７に進む。そうでない場合は、Ｓ４０６に進む。
【００６７】
Ｓ４０６において、ＣＰＵ２０１は入力欄５０２に入力された文字列を新しいＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄとしてＨＤＤ２０４に記憶する。なお、入力欄５０２に何も入力されていない場合は、「ＮＵＬＬ」を新しいＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄとして不揮発性メモリであるＨＤＤ２０４に記憶する。
【００６８】
Ｓ４０７において、ＣＰＵ２０１はＲＡＭ２０２のＰＳパスワードが記憶されている領域に「ＮＵＬＬ」を書き込み、処理を終了する。ここで、「ＮＵＬＬ」を書き込むのは、ＲＡＭ２０２のＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄが記憶されている領域とＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄが記憶されている領域の両方である。なお、ＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄとＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄのうち更新されたものに対応するＰＳパスワードが記憶されている領域であってもよい。
【００６９】
本実施例のＭＦＰ１０１では、画面ＰＳパスワードの設定が変更された場合、ＲＡＭ２０２のＰＳパスワードが記憶されている領域に「ＮＵＬＬ」を書き込む。その理由を以下で説明する。
【００７０】
本実施例のＭＦＰ１０１では、画面ＰＳパスワードが設定されている場合、画面ＰＳパスワードを優先的にＰＳインタプリタ３０６のパスワードとして使用する。ＰＳパスワードがＰＳインタプリタ３０６のパスワードとして使われる場合は、画面ＰＳパスワードが設定されていない場合、つまりＨＤＤ２０４に画面ＰＳパスワードとして「ＮＵＬＬ」が記憶されている場合である。
【００７１】
例えば、ユーザが制御オペレータにＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄを入力することなく、ＰＳインタプリタ３０６にその制御オペレータを実行させたい場合は、入力欄５０１に何も入力せずにＯＫボタン５０３を選択する。そうすると、ＨＤＤ２０４のＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄが記憶されている領域に「ＮＵＬＬ」が書き込まれる。
【００７２】
ところが、ＲＡＭ２０２にＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄとして、例えば「ｘｘｘｘ」が記憶されている場合、ＰＳインタプリタ３０６のＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄとして使われるのは、「ｘｘｘｘ」である。つまり、ＰＳパスワードが設定されている場合、ユーザが画面ＰＳパスワードを「ＮＵＬＬ」に設定しても、ＰＳインタプリタ３０６により「ＮＵＬＬ」をパスワードとして使用されない。
【００７３】
そこで画面ＰＳパスワードが設定された後にＲＡＭ２０２のＰＳパスワードが記憶されている領域に「ＮＵＬＬ」を書き込むことで、ＰＳパスワードは画面ＰＳパスワードと同じ「ＮＵＬＬ」となる。よって、本実施例のＭＦＰ１０１では画面ＰＳパスワードの設定が変更された場合、ＲＡＭ２０２のＰＳパスワードが記憶されている領域に「ＮＵＬＬ」を書き込む。
【００７４】
本実施例では、画面ＰＳパスワードの設定が変更された場合に、ＲＡＭ２０２のＰＳパスワードが記憶されている領域に「ＮＵＬＬ」を書き込むが、これに限るものではない。例えば、ＭＦＰ１０１の再起動を行うことによりＲＡＭ２０２をクリアしてもいい。
【００７５】
本実施例においては、ＰＳパスワード設定画面５００は操作部２０５に表示可能であると説明したが、これに限るものではない。例えば、ＭＦＰ１０１のＷＥＢサーバ機能を使い、ＰＳパスワード設定画面５００をＷＥＢページとしてクライアントＰＣ１０２に送信してもよい。それにより、クライアントＰＣ１０２がＷＥＢブラウザを用いることでＰＳパスワード設定画面５００を表示することができる。
【００７６】
以上のように画面ＰＳパスワードが設定されている場合、画面ＰＳパスワードを優先的に使用することで、ＲＡＭ２０２等の揮発性メモリに記憶されているＰＳパスワードを、ＭＦＰ１０１の起動時に再設定する必要がない。また、上記の処理を行うことで、ＭＦＰ１０１の起動時は、ＰＳパスワードはリセットされているため、パスワードを入力せずにＰＳの制御オペレータをＰＳインタプリタ３０６に実行させることができるという脆弱性を修正することができる。
【００７７】
しかし、図７のようにＰＳの特殊オペレータであるＳｕｐｅｒｅｘｅｃオペレータを制御オペレータに対応づけることで、ＰＳパスワードや画面ＰＳパスワードを設定しても、パスワードなしで制御オペレータをＰＳインタプリタ３０６に実行させることができる。
【００７８】
つまり、ユーザがＰＳインタプリタ３０６のパスワードを設定している場合であっても、パスワードを知りえない第３者が特殊オペレータを使うことで、パスワードを指定することなくＰＳインタプリタ３０６に制御オペレータを実行させることができてしまう。
【００７９】
この課題に対して、以下の処理を行うことでＰＳインタプリタ３０６を搭載したＭＦＰ１０１において、ＰＳインタプリタ３０６のパスワードを知りえない第３者がＰＳインタプリタ３０６に制御オペレータを実行させることができないようにすることができる。
【００８０】
図６は本実施例のＭＦＰ１０１がＰＳジョブを実行する際にＳｕｐｅｒｅｘｅｃオペレータを無効化する処理の一例を示すフローチャートである。ＣＰＵ２０１がＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０２に読み出し、実行することで図６のフローチャートの処理は実現される。
【００８１】
まず、Ｓ６０１においてＣＰＵ２０１はネットワーク１０４を介してＰＳジョブを受信したかどうかを判定する。ＰＳジョブを受信したと判定した場合、Ｓ６０２に進む。そうでない場合は、Ｓ６０１に戻る。
【００８２】
Ｓ６０２において、ＣＰＵ２０１は画面ＰＳパスワードが設定されているかどうかを判定する。具体的には、ＨＤＤ２０４内の画面ＰＳパスワードが記憶されている領域を確認し、その領域内の値がＮＵＬＬかどうかを判定する。ＮＵＬＬでない場合、画面ＰＳパスワードが設定されていると判定でき、ＮＵＬＬである場合、画面ＰＳパスワードが設定されていないと判定することができる。設定されていると判定された場合は、Ｓ６０３に進む。そうでない場合は、Ｓ６０５に進む。
【００８３】
Ｓ６０３において、ＣＰＵ２０１はＨＤＤ２０４に記憶されている画面ＰＳパスワードを、ＲＡＭ２０２のＰＳパスワードが記憶されている領域に書き込む。例えば、ＰＳパスワード設定画面５００で画面ＰＳパスワードを「ｘｘｘｘ」に設定され、制御オペレータによりＰＳパスワードが設定されている場合、ＲＡＭ２０２に記憶されているＰＳパスワードを画面ＰＳパスワードの「ｘｘｘｘ」に置き換える。この際、置き換えるパスワードはＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄとＳｔａｒｔＪｏｂＰａｓｓｗｏｒｄの両方であってもいいし、ＳｙｓｔｅｍＰａｒａｍｓＰａｓｓｗｏｒｄだけであってもいい。
【００８４】
Ｓ６０４において、ＣＰＵ２０１は特殊オペレータであるＳｕｐｅｒｅｘｅｃオペレータを無効化するフラグをオンにする。つまりＳｕｐｅｒｅｘｅｃオペレータを無効化すると決定する。このフラグはＲＡＭ２０２に一時的に記憶される。
【００８５】
なお、Ｓ６０２〜Ｓ６０４の処理は、本実施例のようにＰＳジョブを受信した後に開始してもいいし、例えば、ＭＦＰ１０１の起動時や図４のＳ４０４、Ｓ４０６のように画面ＰＳパスワードの更新時に開始してもよい。その場合、ＣＰＵ２０１はＳ６０２で設定されていないと判定された後、もしくはＳ６０４の処理の後にＳ６０１のＰＳジョブを受信したかどうかを判定する処理を行う。
【００８６】
Ｓ６０５において、ＣＰＵ２０１はＰＳジョブに記載されているオペレータが制御オペレータかどうかを判定する。この判定においては、ＣＰＵ２０１はＰＳジョブの先頭から文字列を一行単位で解釈し、それが制御オペレータであるかどうかを判定する。制御オペレータであると判定された場合、Ｓ６０６に進む。そうでない場合、Ｓ６１０に進む。
【００８７】
Ｓ６０６において、ＣＰＵ２０１は制御オペレータであると解釈した文字列に、Ｓｕｐｅｒｅｘｅｃオペレータが対応づけて記載されているかを判定する。例えば、ＣＰＵ２０１は以下のように制御オペレータとともにＳｕｐｅｒｅｘｅｃオペレータが記載されているかどうかを判定する。
｛
＜＜  ／ＭａｘＦｏｎｔＣａｃｈｅ  ３５０００００  ＞＞  ｓｅｔｓｙｓｔｅｍｐａｒａｍｓ
｝  １１８３６１５８６９  ｉｎｔｅｒｎａｌｄｉｃｔ  ／ｓｕｐｅｒｅｘｅｃ  ｇｅｔｅｘｅｃ
【００８８】
上記のように、Ｓｕｐｅｒｅｘｅｃオペレータが記載されていると判定された場合、Ｓ６０７に進む。そうでない場合、Ｓ６２０に進む。
【００８９】
ここで、Ｓ６０５に説明を戻し、Ｓ６０５で制御オペレータでないと判定された場合について説明する。Ｓ６１０において、ＣＰＵ２０１は制御オペレータ以外のオペレータを実行する。制御オペレータ以外のオペレータとは、ラインを描画するためのｓｔｒｏｋｅオペレータや四角形を描画するためのｆｉｌｌオペレータ等の描画オペレータである。
【００９０】
Ｓ６０７において、ＣＰＵ２０１はＳｕｐｅｒｅｘｅｃオペレータを無効化するフラグがオンになっているかどうかを判定する。ここでは、ＣＰＵ２０１はＲＡＭ２０２のＳｕｐｅｒｅｘｅｃオペレータを無効化するフラグが記憶されている領域から値を取り出し、オンであるかオフであるかを判定する。オンになっていると判定された場合、Ｓ６０８に進む。そうでない場合、Ｓ６０９に進む。
【００９１】
Ｓ６２０において、ＣＰＵ２０１は制御オペレータとともに記載されたパスワードが、ＲＡＭ２０２に記憶されているＰＳパスワードと一致するかどうかを判定する。一致すると判定された場合は、Ｓ６０８に進む。そうでない場合は、Ｓ６０９に進む。
【００９２】
Ｓ６０８において、ＣＰＵ２０１は制御オペレータを実行する。
【００９３】
Ｓ６０９において、ＣＰＵ２０１は解釈した文字列がＰＳジョブの終端であるかを判定する。ＰＳの終端であるかを判定するためには、例えば解釈した文字列が「％ＥＯＦ」であるかどうかを判定する。終端である場合には、処理を終了する。そうでない場合は、解釈する対象の文字列を次の行に移し、Ｓ６０５に戻る。
【００９４】
なお本実施例では、管理者の画面において、画面ＰＳパスワードが設定されている場合に、Ｓｕｐｅｒｅｘｅｃオペレータを無効化する処理を行うが、これに限るものではない。例えば、画面ＰＳパスワードが設定されていなくても（画面ＰＳパスワードが「ＮＵＬＬ」であっても）Ｓｕｐｅｒｅｘｅｃオペレータを無効化してもよいし、常にＳｕｐｅｒｅｘｅｃオペレータを無効化するようにしてもよい。
【００９５】
また、本実施例では、Ｓｕｐｅｒｅｘｅｃオペレータを無効化するために、ＣＰＵ２０１が、画面ＰＳパスワードが設定されているかどうかを判定し、自動的に無効化するが、これに限るものではない。例えば、ユーザによりＳｕｐｅｒｅｘｅｃオペレータを無効化するかしないかの設定を受け付けることにより、Ｓｕｐｅｒｅｘｅｃオペレータを無効化してもよい。その際、ユーザによる設定は操作部２０５に表示される画面で受け付けてもよいし、ＭＦＰ１０１のＷＥＢサーバ機能で生成されたＷＥＢページを受信したクライアントＰＣ１０２のＷＥＢブラウザで受け付けてもよい。
【００９６】
また、ＭＦＰ１０１の受信したＰＳジョブにユーザによって留め置き印刷の設定がされている場合に、ＣＰＵ２０１はそのＰＳジョブにＳｕｐｅｒｅｘｅｃオペレータが記述されている時は、そのＰＳジョブを実行しないようにしてもいい。つまりＣＰＵ２０１は留め置き印刷の設定がされてＰＳジョブに基づいてプリンタ２０６が印刷を行わないようにする。そのＰＳジョブを削除してもいい。
【００９７】
本実施のＭＦＰ１０１では、Ｓｕｐｅｒｅｘｅｃオペレータとともに記載されているオペレータの実行を無効化する例を示したが、これに限るものではない。例えば、ＣＰＵ２０１がＰＳジョブ中にＳｕｐｅｒｅｘｅｃオペレータが記載されていると判定した時点で、その制御オペレータ以降（制御命令以降）に記述されている制御オペレータの実行や描画オペレータの解釈を中止するようにしてもよい。
【００９８】
以上のように本実施例のＭＦＰ１０１はＳｕｐｅｒｅｘｅｃオペレータを実行できるか否かを設定できるような仕組みを提供することができる。
【００９９】
なお、本実施例では情報処理装置をＭＦＰ１０１として説明したが、ＰＳインタプリタを搭載したＰＣ等であってもよい。情報処理装置がＰＣである場合、ＰＣのＣＰＵがＰＳインタプリタを実行し、実行後に生成されたデータを画像形成装置であるＭＦＰ１０１に送信する構成をとる。
【０１００】
＜その他の実施形態＞
なお、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施の形態の機能を実現するプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に記憶されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードは本発明を構成することになる。
【０１０１】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【符号の説明】
【０１０２】
１０１  ＭＦＰ
１０２  １０３  クライアントＰＣ
１０４  ネットワーク
３０６  ＰＳインタプリタ
【図１】
2019207737.tif 000003
【図２】
2019207737.tif 000004
【図３】
2019207737.tif 000005
【図４】
2019207737.tif 000006
【図５】
2019207737.tif 000007
【図６】
2019207737.tif 000008
【図７】
2019207737.tif 000009