(57)【特許請求の範囲】
【請求項１】
ジョブの実行内容を示すスクリプトに従って画像処理を実行することが可能な画像処理装置であって、
スクリプトを実行する実行手段と、
スクリプトを、前記実行手段が実行することが可能であるか否かを含む複数の種類に分類する分類手段と、
スクリプトの内容を補正する補正手段と、
前記実行手段がスクリプトを実行することができないことを前記画像処理装置のユーザに通知する通知手段と、
前記実行手段が実行することができないスクリプトであると前記分類手段によって分類された場合、前記通知手段による通知を行うか、前記通知手段による通知を行わずに前記補正手段に前記スクリプトの内容を補正させて前記実行手段に補正されたスクリプトを実行させるかを、前記スクリプトの内容と前記画像処理装置が備える機能とに基づいて決定する決定手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記スクリプトの内容に含まれる第１の機能が前記画像処理装置が実行することのできない機能であり、かつ、前記スクリプトには前記第１の機能を使用しないことを指定する情報が含まれている場合、前記補正手段は前記第１の機能に関する内容を無効するよう前記スクリプトを補正し、
前記決定手段は、前記通知手段による通知を行わずに前記補正手段に前記スクリプトの内容を補正させて前記実行手段に補正されたスクリプトを実行させることを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置は複数種類のジョブを実行可能であり、
前記スクリプトは、前記ジョブの種類を示す情報と、前記ジョブの設定項目を示す情報を、前記ジョブの設定項目に関する設定値とを含み、
前記分類手段は前記ジョブの種類を示す情報と前記設定項目を示す情報と前記設定値のそれぞれについて前記画像処理装置が備える機能と照合することで前記スクリプトを分類することを特徴とする、請求項１または２に記載の画像処理装置。
【請求項４】
前記決定手段が前記通知手段による通知を行わずに前記補正手段に前記スクリプトの内容を補正させて前記実行手段に補正されたスクリプトを実行させることを決定した場合、前記補正手段は前記スクリプトに含まれる設定値を所定の値、または前記画像処理装置の初期値に補正することを特徴とする、請求項３に記載の画像処理装置。
【請求項５】
ジョブの実行内容を記述したスクリプトに従って画像処理を実行する実行手段を備える画像処理装置におけるスクリプト補正方法であって、
スクリプトを、前記実行手段が実行することが可能であるか否かを含む複数の種類に分類する分類工程と、
スクリプトの記述内容を補正する補正工程と、
前記実行手段がスクリプトを実行することができないことを前記画像処理装置のユーザに通知する通知工程と、
前記実行手段が実行することができないスクリプトであると前記分類工程において分類された場合、前記通知工程において通知を行うか、前記通知工程において通知を行わずに前記補正工程で前記スクリプトの内容を補正して前記実行手段に補正されたスクリプトを実行させるかを、前記スクリプトの記述内容と前記画像処理装置が備える機能とに基づいて決定する決定工程と、を備えることを特徴とするスクリプト補正方法。
【請求項６】
請求項５のスクリプト補正方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクリプトを実行可能な画像処理装置に関する。
【背景技術】
【０００２】
近年、ジョブの実行内容をあらかじめ定義したスクリプトを複合機に実行させることが行われている。ジョブの設定内容を予めスクリプトに定義し、複合機に登録することによって、ユーザは操作パネルでスクリプトを選択するだけで複雑な設定を行うことなくジョブを実行させることが可能になる。
【０００３】
更に、複合機の外部、たとえば他の複合機や情報処理装置で作成したスクリプトをインポートして実行するということも行われている。この場合、インポートしたスクリプトを実行する複合機では実行できない処理が定義されていることもある。そこで、スクリプトを生成した情報処理装置で、そのスクリプトに従ったジョブを実行することのできる複合機を、自動的に選択するということが考えられている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２７８１４３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、ジョブを実行可能な複合機を見つけられない可能性があり、その場合クライアント端末で複合機の能力を考慮しながらスクリプトを修正しなくてはならず、利便性に欠ける。
【０００６】
また、スクリプトを複合機で修正するとしても、常にスクリプトに厳密に従った形でジョブを実行しなければならないわけではない。しかし、従来は複合機でスクリプトを修正する必要がある場合には常にユーザに対して通知を行うことしか考えられておらず、無駄な通知を行わないようにすることは考えられていなかった。
【課題を解決するための手段】
【０００７】
本発明は上述の課題の少なくとも１つを解決することを目的とし、本発明の画像処理装置は、ジョブの実行内容を示すスクリプトに従って画像処理を実行することが可能な画像処理装置であって、スクリプトを実行する実行手段と、スクリプトを、前記実行手段が実行することが可能であるか否かを含む複数の種類に分類する分類手段と、スクリプトの内容を補正する補正手段と、前記実行手段がスクリプトを実行することができないことを前記画像処理装置のユーザに通知する通知手段と、前記実行手段が実行することができないスクリプトであると前記分類手段によって分類された場合、前記通知手段による通知を行うか、前記通知手段による通知を行わずに前記補正手段に前記スクリプトの内容を補正させて前記実行手段に補正されたスクリプトを実行させるかを、前記スクリプトの内容と前記画像処理装置が備える機能とに基づいて決定する決定手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、スクリプトを補正する場合にユーザに対して無駄な通知を行わないようにすることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の画像処理装置を含むシステム構成の一例を示す図である。
【図２】複合機のハードウェア構成の一例を示す図である。
【図３】本実施形態の複合機のソフトウェア構成の一例を示す図である。
【図４】ユーザインターフェースモジュール３００が操作部２３０に表示する操作画面の一例を示す図である。
【図５】複合機がスクリプトを実行または編集する際の処理の一例を示すフローチャートである。
【図６】本実施形態における、スクリプトの一例を示す図である。
【図７】スクリプト内のジョブ種に関する記述を補正する処理の手順の一例を示すフローチャートである。
【図８】スクリプト内の機能名に関する記述を補正する処理の手順の一例を示すフローチャートである。
【図９】スクリプト内の設定項目名に関する記述を補正する処理の手順の一例を示すフローチャートである。本発明に関わるスクリプトの設定項目部に対する補正処理の流れを説明するためのフローチャートである。
【図１０】スクリプト内の設定値を補正する処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。図１は、本実施形態の画像処理装置を含むシステム構成の一例を示す図である。
【００１１】
本実施形態における画像処理装置の一例としての複合機１０１は、クライアントＰＣ１０２、複合機１０３と共にＬＡＮ１１０に接続可能であり、互いに通信可能な状態となっている。複合機１０１、１０３はコピー、プリント、スキャン、ＦＡＸ送受信、ネットワークを介した画像送受信といった複数種類の機能を備えている。複合機１０１、１０３はハードディスク（ＨＤＤ）などのストレージ（記憶装置）を備えており、その中に様々なスクリプトを記憶することが可能である。
【００１２】
スクリプトは、複合機１０１、１０３に実行させる１つ、あるいは複数のジョブの実行内容を記述したものである。スクリプトとしては例えば、原稿をスキャンしてストレージに格納するボックススキャンジョブ、予めストレージに格納されている文書を印刷するボックスプリントジョブ、あるいは送信、コピーなどのジョブを定義したスクリプトがある。さらには、前述した複数のジョブを組み合わせてワークフローのような構成をとるスクリプトもある。
【００１３】
これらスクリプトは、複合機１０１で作成され、複合機１０１が備えるストレージに格納される。複合機１０１で作成されたスクリプトは、ＬＡＮ１１０を介して複合機１０３のストレージに格納することも可能である。複合機１０３においても、スクリプトの作成が可能である。以下、特に断りのない限り、複合機１０１についての説明は複合機１０３にも当てはまるものとする。
【００１４】
情報処理装置の一例であるクライアントＰＣ１０２はスクリプトを作成する機能を備えており、複合機１０１、１０３はクライアントＰＣ１０２が作成したスクリプトをインポートしてストレージに格納したり実行することが可能である。
【００１５】
複合機１０１、１０３は、各々が備える操作部が受け付ける実行要求に応じて、ストレージから該当スクリプトを呼び出して実行する。
【００１６】
本実施形態では、複合機１０１や複合機１０３が備えるストレージにスクリプトを格納するが、別の構成でもかまわない。例えば、ＬＡＭ１１０上にスクリプトを蓄積するサーバ装置が接続されていて、複合機１０１やクライアントマシン１０２で作成されたスクリプトをサーバーマシンで一元管理する構成でもよい。
【００１７】
また、本実施形態では、複合機１０１や複合機１０３が備えるストレージからスクリプトを呼び出して実行するが、別の構成でもかまわない。例えば、クライアントマシン１０２や上述のサーバ装置に格納されたスクリプトを呼び出して実行する構成でもかまわない。
【００１８】
図２は、本実施形態の複合機１０１、１０３のハードウェア構成の一例を示す図である。
【００１９】
リーダー装置２０１は、原稿画像を光学的に読み取り、電子的なデータである画像データを生成する。リーダー装置２０１は、原稿を読取るための機能を持つスキャナユニット２０２と、原稿をスキャナユニット２０２へ搬送するための機能を持つ原稿給紙ユニット２０３とで構成される。機器構成によっては、原稿給紙ユニット２０３を持たないものもある。この場合はユーザが原稿をプラテンガラスに置く。
【００２０】
プリンタ部２２０は、記録紙を搬送し、その上に画像データを可視画像として印字する。プリンタ部２２０は複数種の記録紙カセットを持つ給紙ユニット２２３と、画像データを記録紙に転写、定着させるプリンタエンジン２２１、印字された記録紙をソートしたりステイプルする機能を備える排紙ユニット２２２とで構成される。なお、排紙ユニットは複合機１０１、１０３がオプションとして備えるものであってもよい。
【００２１】
制御装置２１０は複合機１０１全体の制御を司る。制御装置２１０内部のバス２５２には、ストレージ２４０、ＣＰＵ２４２、ＲＡＭ２４４、ＲＯＭ２４６、スキャナインターフェース（スキャナＩ／Ｆ）２４８、プリンタインターフェース（プリンタＩ／Ｆ）２５０、モデム２５４が接続されている。ＣＰＵ２４２はＲＯＭ２４６やストレージ２４０に格納されたプログラムを実行して複合機１０１の制御を行う。ＲＡＭ２４４はＣＰＵ２４２のワーク領域を提供する。ＲＯＭ２４６はＣＰＵ２４２が実行するプログラムを記憶する。ストレージ２４０はＣＰＵ２４２が実行するプログラムや、画像データや後述するスクリプトを記憶する。本実施形態ではストレージ２４０としてハードディスク（ＨＤＤ）を用いるが、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を用いてもよい。スキャナＩ／Ｆ２４８はスキャナユニット２０３とのインターフェースである。プリンタＩ／Ｆ２５０はプリンタエンジン２５１とのインターフェースである。モデム２５４は複合機１０１がファクシミリ送受信を行うための装置であり、画像データを変調して不図示の公衆回線へ送出したり公衆回線から受信したデータを復調する。なお、本実施形態の複合機１０１はファクシミリ機能をオプションとして備えるものとし、モデム２５４がバス２５２に接続されることによりファクシミリ機能が利用可能になる。ネットワークインターフェース２５８はＬＡＮ１１０とのインターフェースである。操作部インターフェース（操作部Ｉ／Ｆ）２６０は操作部２３０とのインターフェースである。
【００２２】
制御装置２１０は、リーダー部２０１を制御して、原稿を読みとって画像データを生成し、プリンタ部２２０を制御して画像データを記録用紙に印刷することで複合機１０１のコピー機能を提供する。また、リーダー部２０１が生成した画像データをコードデータに変換し、ＬＡＮ１１０を介してホストコンピュータへ送信するネットワークスキャナ機能を提供する。また、リーダー部２０１が生成した画像データをストレージ２４０に備えるストレージサービスを提供する記憶領域（これをボックスという）に登録するボックススキャン機能を提供する。また、ボックスに記憶されている画像データをプリンタ部２２０が印刷出力するボックスプリント機能を提供する。さらには、クライアントＰＣ１０２からＬＡＮ１１０を介して受信したＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）などのコードデータを画像データに変換し、プリンタ部２２０に出力するプリンタ機能を提供する。
【００２３】
操作部２３０はユーザが様々な操作を行うためのユーザＩ／Ｆを提供する。操作部２３０は液晶表示部と液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーとを備える。液晶表示部は複合機１０１の操作画面を表示し、タッチパネル入力装置やハードキーはユーザによる操作入力を受け付ける。タッチパネル入力装置やハードキーにより入力された信号は操作部Ｉ／Ｆ２６０を介して制御装置２１０に伝えられ、液晶表示部は制御装置２１０から送られてきた表示データを表示する。
【００２４】
図３は、本実施形態の複合機１０１、１０３のソフトウェア構成の一例を示す図である。図３に示す各モジュールソフトウェア（プログラム）としてストレージ２４０に記憶されており、これらソフトウェアはＲＡＭ２４４に読み出され、ＣＰＵ２４２が実行する。
【００２５】
ユーザインターフェースモジュール３００は操作部２３０に操作画面を表示し、操作部２３０を介してユーザからの指示を受け付ける。本実施形態では、ユーザインターフェースモジュール３００はストレージ２４０に記憶されたスクリプトを操作部２３０に一覧表示させるための指示やスクリプトの実行指示を受け付ける。また、ユーザインターフェースモジュール３００は指定されたスクリプトの定義内容を操作部２３０に表示して、スクリプト編集するための表示指示を受け付ける。スクリプト取得モジュール３１０は、ユーザインターフェースモジュール３００が受け付けた指示に従ってスクリプトの一覧を示す情報をストレージ２４０から読み出し、ＲＡＭ２４４へ一時的に記憶させ、操作部２３０にスクリプトの一覧表示を行う。このとき、ストレージ２４０に記憶されているスクリプトが暗号化されていれば、暗号化／復号化モジュール３６０が復号化を行った上で、ＲＡＭ２４４に記憶する。スクリプト実行モジュール３３０は、ユーザインターフェースモジュール３００が受け付けた実行指示に従ってＲＡＭ２４４に記憶されている復号化済みスクリプトデータに定義されている通りに機能を呼び出し、これにより複合機１０１にジョブを実行させる。非サポート機能チェックモジュール３４０は、スクリプトを実行もしくは編集する際、スクリプトの記述内にスクリプトを実行する複合機１０１で実行できないジョブ種、機能、設定項目、設定値がないかをチェックする。スクリプト補正モジュール３４１は、非サポート機能チェックモジュール３４０が検出したスクリプト内の記述に対して必要に応じて補正を行い、一時的にＲＡＭ２４４に記憶させる。スクリプト受信モジュール３５０は、ＬＡＮ１１０上に接続されている複合機１０３やクライアントマシン１０２からスクリプトを受信し、受信したスクリプトをストレージ２４０に格納するする。データ管理モジュール３４２は、スクリプトを構成するジョブ種、機能、設定項目、設定値を、補正方法別に分類して管理する。スクリプト補正モジュール３４１は、このデータ管理モジュール３４２で管理されている補正方法に従って、スクリプトに記述されたジョブ種、機能、設定項目、設定値の補正を行う。
【００２６】
図４はユーザインターフェースモジュール３００が操作部２３０に表示する操作画面の一例を示す図である。
【００２７】
操作部２３０は、一覧画面４０１として、複合機１０１に記憶されたスクリプトの一覧を表示する。登録されたスクリプト１つにつき、それに対応したスクリプト呼び出しボタン４０２が一つ表示される。
【００２８】
このボタンをユーザが押下することで、ユーザインターフェースモジュール３００はスクリプトの実行の指示として当該押下を受け付ける。また、編集モード切替ボタン４０３によって編集モードに切り替えた場合は、ユーザがスクリプト呼び出しボタン４０２を押下することで、操作部２３０にスクリプトの内容を表示し編集可能な状態となる。
【００２９】
図６は、本実施形態における、スクリプトの一例を示す図である。
本実施形態ではスクリプトはＸＭＬで記述されている。
ジョブ種６０１は、属性値としてジョブ種別と実行順序を持つ。ジョブ種別とは、コピー、ボックススキャン、ボックスプリント、ＦＡＸ送信などといった、複合機１０１のジョブの種類を定義したものである。実行順序とは、複数のジョブを実行する順番を定義したものである。
【００３０】
機能名６０２は、属性値として機能名を持つ。機能名とは、各ジョブを実行する際に必要な様々な機能を特定するためのものである。例えば、ボックススキャンジョブに必要な機能としては、原稿読取モードや濃度、読取サイズ、倍率などがある。また、ボックスプリントジョブに必要な機能としては、記録紙サイズや部数、ステイプルなどの仕上げ機能などがある。送信ジョブに必要な機能としては、送信ファイル名やＴＩＦＦ／ＰＤＦなどの送信ファイル形式、送信宛先などがある。
【００３１】
設定項目名６０３は属性値として設定項目名を持つ。設定項目名とは、各機能を構成する設定項目と特定するためのものである。例えば倍率という機能を構成する設定項目としては、Ｘ方向倍率やＹ方向倍率などがある。更に設定項目名６０３は、値として各設定項目に対する設定値６０４が定義される。例えは、Ｘ方向倍率に対する設定値としては、１００（単位％）などの数値が定義される。
【００３２】
本実施例におけるスクリプトは、これらジョブ種６０１、機能名６０２、設定項目名６０３、設定値６０４の組合せで構成され、設定項目は一つの設定値を有し、機能は少なくとも一つ以上の設定項目からなり、ジョブは少なくとも一つ以上の機能からなる。そして、スクリプトは少なくとも一つ以上のジョブ種からなる。
【００３３】
スクリプト実行手段は図６に示すようなスクリプトの記述内容を解釈し、スクリプトに記述された機能、をスクリプトに記述された実行順に実行する。
【００３４】
図５は、本実施形態における、複合機がスクリプトを実行または編集する際の処理の一例を示すフローチャートである。
本フローチャートは複合機１０１のＣＰＵ２４２が実行する。なお、本実施形態ではフローチャートの説明において、ステップを「Ｓ」と表記する。
操作部２３０に図４のようなスクリプト一覧画面が表示された状態で本フローチャートは実行を開始する。
【００３５】
Ｓ５０１では、検知フラグの初期化を行う。検知フラグとは、非サポート機能チェック手段３４０がスクリプト内に複合機１０１で実行できないジョブ種６０１、機能名６０２、設定項目名６０３、設定値６０４のいずれかを検知したことを示すフラグである。Ｓ５０１では検知フラグを非検知（ＯＦＦ）にセットする。検知フラグはＲＡＭ２４４内の所定の領域に設けられる。
【００３６】
Ｓ５０２では、ユーザインターフェースモジュール３００が受け付けたスクリプト実行指示もしくは編集指示に従って、指定されたスクリプトをＲＡＭ２４４へ一時的に記憶させる。
【００３７】
Ｓ５０３において、非サポート機能チェックモジュール３４０は、ＲＡＭ２４４に記憶されているスクリプト内のジョブ種６０１、機能名６０２、設定項目名６０３、設定値６０４のうち、複合機１０１で実行できないもの（以下、非サポート要素という）がないかをチェックする。具体的には、スクリプト内のジョブ種６０１、機能名６０２、設定項目名６０３、設定値６０４のそれぞれについて複合機１０１が備える機能とを照合して、これら各要素を複合機１０１が実行可能であるか否かを判断する。ここで、非サポート要素を検知した場合、前述した検知フラグを検知（ＯＮ）の状態にする。
【００３８】
Ｓ５０４で、スクリプト補正モジュール３４１はＳ５０３で検知された非サポート要素に対して補正を行い、ＲＡＭ２４４に補正後のスクリプトを一時的に記憶させる。本実施形態ではＳ５０３とＳ５０４をシーケンシャルに処理する。つまり、複数のスクリプトに対してＳ５０３の処理を実行した後にＳ５０４の処理を実行する。そうではなく、１つのスクリプトに対して非サポート機能をチェックする度に補正を行うというようにＳ５０３とＳ５０４とをスクリプトの数だけループしてもよい。
【００３９】
Ｓ５０５では、検知フラグの状態を判別する。検知フラグがＯＦＦの状態であれば、Ｓ５２０へ進みＲＡＭ２４４に保存されているスクリプトの定義内容通りにスクリプトを実行する、もしくは操作部２３０に表示して編集可能状態にする。検知フラグがＯＮの状態であれば、Ｓ５０６へ進む。
【００４０】
Ｓ５０６では、現在の処理が、スクリプトの実行なのか、スクリプトの編集なのかを判別し、スクリプト実行であればＳ５０８へ、スクリプト編集であればＳ５０７へ進む。
【００４１】
Ｓ５０７では、非サポート要素がスクリプト内に含まれていることをユーザに伝えるための警告メッセージを操作部２３０に表示する。この警告メッセージは、ユーザからの指示により、ユーザーインターフェース手段３００を通して非表示にすることができる。
【００４２】
Ｓ５０８では、補正スイッチ（ＳＷ）の状態を判断し、補正せずにスクリプトの実行を中止するか、補正して実行するかを決定する。この補正ＳＷは、予めユーザが操作部２３０から指示してＲＡＭ２４４に登録されたものでもよいし、スクリプト内に予め記述されているものであってもよい。補正ＳＷの状態が、「補正せずに処理を中止する」設定である場合にはＳ５０９へ進む。Ｓ５０９では非サポート要素がスクリプト内に含まれているため、処理を継続できない旨のエラーメッセージを操作部２３０に表示する。そしてステップ５１０では、スクリプトの実行を中止する。そして本フローチャートを終了する。
【００４３】
一方、補正ＳＷの状態が、「補正して実行する」設定である場合にはＳ５１１へ進む。Ｓ５１１ではメッセージフラグの状態を判断する。メッセージフラグとは、実行されるスクリプトの内容が補正される、すなわちユーザが作成したままのものとは内容の異なるものが実行されることを、ユーザに対して通知するか否かを指定したものである。メッセージフラグは、予め操作部２３０から指示してＲＡＭ２４４に登録されたものでもよいし、スクリプト内に予め記述されていてもよい。メッセージフラグがＯＦＦである場合、確認メッセージを表示せずに、スクリプトを補正してＳ５２０へ進み、補正されたスクリプトを実行する。一方、Ｓ５１１でメッセージフラグがＯＮである場合、Ｓ５１２に進み、確認メッセージを表示し、スクリプトを補正して実行しても良いか、スクリプトの実行を中止するかの確認をユーザに促す。Ｓ５１３では、Ｓ５１２で受け付けたユーザの指示に応じて、処理を分岐する。ユーザの指示が「処理を中止する」だった場合、Ｓ５０９へ遷移し、処理を中止する旨のメッセージを操作部２３０に表示したうえで、Ｓ５１０へ進み処理を中止する。一方、ユーザの指示が「補正して実行」だった場合Ｓ５１４に進む。Ｓ５１４では、補正後のスクリプトがスクリプトとして必要最低限の構成になっているかどうかのチェックを行う。必要最低限の構成になっていることとは、スクリプトに画像データの入力工程と画像データの出力工程がそれぞれ少なくとも一つ以上定義されていることである。入力工程とは、原稿スキャンやボックス文書を選択するといった機能を用いた工程である。出力工程とは、送信やプリントといった機能を用いた工程である。入力工程もしくは出力工程のいずれか一方でも存在しない場合は、Ｓ５０９、５１０へ進み処理を中止する。入力工程および出力工程ともに存在する場合は、ＲＡＭ２４４に一時的に記憶されている補正後のスクリプトに従って、スクリプト実行手段３３０がスクリプトを実行する。
【００４４】
本実施形態では、処理の前半で非サポート機能チェックと補正を完了させることとしたが、ユーザへの通知を早く行うために、非サポート機能を最初に検知した時点で、Ｓ５０６へ進めてもよい。この場合、現在の処理がスクリプト編集指示によるものであれば、非サポート機能チェックと補正処理を継続し、スクリプト実行指示によるものであれば、Ｓ５１３でユーザからの補正指示があった場合のみ、非サポート機能チェックと補正処理を継続する。
【００４５】
次に図５のＳ５０４の処理の詳細について説明する。Ｓ５０４におけるスクリプトを補正する処理は、ジョブ種６０１を補正する処理（図７）、機能名６０２を補正する処理（図８）、設定項目名６０３を補正する処理（図９）、設定値６０４を補正する処理（図１０）の４つの処理からなる。本実施形態では、図７、図８、図９、図１０の処理を順次実行するものとする。
【００４６】
図７は、本実施形態におけるスクリプト内のジョブ種に関する記述を補正する処理の一例を示すフローチャートである。本フローチャートは図５のＳ５０４の処理の一部を示すものであり、スクリプト内のジョブ種６０１を補正する処理である。
【００４７】
ここで、データ管理モジュール３４２が管理するジョブ種の分類について説明する。データ管理モジュールはスクリプトに記述されているジョブ種６０１を、「実行可能」、「条件付実行可能」、「実行不可」に分類する。
【００４８】
「実行可能」に分類されたジョブは、複合機１０１が無条件で実行可能な（無条件サポート）ジョブである。「実行可能」に分類されたジョブは複合機１０１が工場出荷の状態で実行可能であり、特にスクリプトの補正を行う必要は無い。
【００４９】
「条件付実行可能」に分類されたジョブは、複合機１０１が条件付きで実行可能な（条件付サポート）ジョブである。条件とは、適切なオプションが備わっていることである。
【００５０】
「実行不可」に分類されたジョブは複合機１０１では実行できないジョブである。「実行不可」のジョブは複合機１０１にどのようなオプションを装着しても実行できない。「実行不可」のジョブであることが検知された場合には検知フラグは「検知」（ＯＮ）になる。
【００５１】
Ｓ７０１では、Ｓ５０３におけるチェック結果に基づき、ＲＡＭ２４４に記憶されているスクリプト内のジョブ種６０１が、データ管理モジュール３４２でどのタイプに分類されているかをチェックする。Ｓ７０１でジョブ種６０１が「実行可能」であると判定した場合そのまま図７のフローチャートを終了する。Ｓ７０１で「条件付実行可能」であると判定した場合、Ｓ７０２へ進む。Ｓ７０２では、現在のスクリプトを複合機１０１で実行するために必要なオプションなどの条件をチェックし、条件が満たされていれば（Ｓ７０２でＹＥＳ）そのまま図７のフローチャートを終了する。一方、条件が満たされていなければ（Ｓ７０２でＮＯ）、Ｓ７０３へ進む。Ｓ７０１でジョブ種６０１が「実行不可」であると判定した場合にはＳ７０３へ進む。
【００５２】
Ｓ７０３では、検知フラグを検知（ＯＮ）の状態にする。そして、Ｓ７０４では、現在チェック中スクリプトに含まれるジョブ種６０１をスクリプトから削除する。そして、ジョブ種６０１に関連する機能名６０２、設定項目名６０３、設定値６０４の要素と値もスクリプトから削除する。例えば、ＦＡＸ送信というジョブ種の場合、モデムなどのハード資源の有無をチェックし、備わっていなければ、ＦＡＸ送信に関する全ての定義をスクリプトデータ内から削除する。図７のフローチャートにより、スクリプトに含まれるジョブ種を３つのタイプに分類し、スクリプトに含まれる実行できない種類のジョブに関する記述を削除（無効化）することが可能になる。
【００５３】
図８は、本実施形態における、スクリプト内の機能名に関する記述を補正する処理の手順の一例を示すフローチャートである。本フローチャートは図５のＳ５０４の処理の一部を示すものであり、スクリプト内の機能名６０２を補正する処理である。  ここで、データ管理モジュール３４２が管理する機能名の分類について説明する。データ管理モジュール３４２はスクリプトに記述されている機能名６０２を、「実行可能」、「条件付実行可能」、「実行不可（１）」「実行不可（２）」に分類する。
【００５４】
「実行可能」に分類された機能名は、複合機で無条件に実行可能な（無条件にサポートしている）種類の機能名である。「実行可能」に分類された機能名は複合機１０１が工場出荷の状態で実行可能であり、特にスクリプトの補正を行う必要は無い。
【００５５】
「条件付実行可能」に分類された機能名は、複合機１０１が条件付きで実行可能な（条件付サポート）機能名である。条件とは、適切なオプションが備わっていることである。
【００５６】
「実行不可（１）」に分類された機能名は複合機１０１では実行できない（サポートしていない）種類の機能名である。「実行不可（１）」に分類された機能名は複合機１０１にどのようなオプションを装着してもその機能名が設定されたジョブを実行することができない。「実行不可（１）」に分類された機能名であることが検知された場合には検知フラグは「検知」（ＯＮ）になる。
【００５７】
「実行不可（２）」に分類された機能名も「実行不可（１）」に分類された機能名と同様に複合機１０１では実行できない種類の機能名である。ただし、「実行不可（１）」の機能名とは異なり、複合機１０１が実行できない機能名であることが検知されても検知フラグは「非検知」（ＯＦＦ）のままである。
【００５８】
なお、本実施形態では、データ管理モジュール３４２は複合機１０１で実行できない機能名を「実行不可（１）」と「実行不可（２）」に細かく分類して管理するようにしているが、必ずしもこのような分類を行わなければいけないというものではない。
【００５９】
Ｓ８０１では、Ｓ５０３におけるチェック結果に基づきＲＡＭ２４４に記憶されているスクリプトに記述されている機能名６０２が、データ管理モジュール３４２でどのタイプに分類しているかをチェックする。Ｓ７０１で機能名６０２が「実行可能」に分類された場合、そのまま図８のフローチャートを終了する。
【００６０】
Ｓ８０１で機能名６０２が「条件付実行可能」に分類された場合、Ｓ８０２へ進む。
【００６１】
Ｓ８０２では、機能名６０２を複合機１０１で機能名６０２を実行するために必要なオプションなどの条件をチェックし、条件が満たされていれば（Ｓ８０２でＹＥＳ）本フローチャートを終了し、条件が満たされていなければ（Ｓ８０２でＮｏ）、Ｓ８０３へ進む。
【００６２】
Ｓ８０１で、機能名６０２が「実行不可（１）」に分類された場合、Ｓ８０３へ進む。
【００６３】
Ｓ８０３では、検知フラグを「検知」（ＯＮ）の状態にする。そしてＳ８０４へ進み、機能名６０２は複合機１０１で実行できない機能であるため、スクリプから削除する。そして、この機能名に関連する設定項目名６０３、設定値６０４の要素と値を削除する。
【００６４】
例えば、ボックスプリントというジョブ種において、印刷物の加工方法を指定するためのフィニッシングという機能名があった場合を考える。この場合、複合機１０１がフィニッシャーなどのオプションを備えているか否かをチェックし、備わっていなければ、ボックスプリントジョブに関する定義の内、フィニッシング機能に関する設定項目およびその設定値を、スクリプトデータ内から削除する。
【００６５】
Ｓ８０１で、機能名６０２が「実行不可（２）」に分類された場合、Ｓ８０４に進む。即ち、非サポート要素を含むスクリプトであるが、警告メッセージを出すことなくＳ８０４の処理を実行する。
【００６６】
例えば、カラー複合機には、コピーやスキャンというジョブ種に含まれる機能名として、ＲＧＢのそれぞれの色に対して調整値を指定可能な画質調整機能があるが、モノクロ複合機にはそのような機能名は存在せず、実行することはできない。画質調整機能がスクリプトデータ内に定義されたスクリプトをモノクロ複合機が実行しようとする場合、Ｓ８０１で画質調整機能を「実行不可（１）」に分類しても良い。しかし、スクリプトを実行する複合機としてユーザがモノクロ複合機を選択したのであれば、原稿は白黒でスキャンされることを承知しているはずである。このようなケースでスクリプトが補正されることをユーザに通知すると、ユーザはかえって混乱してしまう可能性がある。従って、このような場合のために画質調整機能を「実行不可（２）」に分類することで、ユーザには不必要な通知せずにスクリプトの記述補正することが可能になる。Ｓ８０４を実行したら本フローチャートを終了する。
【００６７】
図９は、本実施形態におけるスクリプト内の設定項目名に関する記述を補正する処理の手順の一例を示すフローチャートである。本フローチャートは図５のＳ５０４の処理の一部を示すものであり、スクリプト内の設定項目名６０３を補正する処理である。
【００６８】
ここで、データ管理モジュール３４２が管理する設定項目名の分類について説明する。データ管理モジュールはスクリプトに記述されている設定項目名６０３を、「実行可能」、「条件付実行可能」、「実行不可（１）」、「実行不可（２）」、「実行不可（３）」に分類する。
【００６９】
「実行可能」に分類された設定項目名は、複合機１０１が無条件で実行可能な（無条件サポート）設定項目名である。「実行可能」に分類された設定項目名は複合機１０１が工場出荷の状態で実行可能であり、特にスクリプトの補正を行う必要は無い。
【００７０】
「条件付実行可能」に分類された設定項目名は、複合機１０１が条件付きで実行可能な（条件付サポート）設定項目名である。条件とは、適切なオプションが備わっていることである。
【００７１】
「実行不可（１）」に分類された設定項目名は複合機１０１では実行できない設定項目名である。「実行不可（１）」の設定項目名は複合機１０１にどのようなオプションを装着してもその設定項目が選択された機能名が設定されたジョブを実行できない。「実行不可」の設定項目名であることが検知された場合には検知フラグは「検知」（ＯＮ）になる。
【００７２】
「実行不可（２）」に分類された設定項目名も「実行不可（１）」に分類された設定項目名と同様に複合機１０１では実行できない種類の設定項目名である。ただし、「実行不可（１）」の設定項目名とは異なり、複合機１０１が実行できない設定項目名であることが検知されても検知フラグは「非検知」（ＯＦＦ）のままである。
【００７３】
「実行不可（３）」に分類された設定項目名も「実行不可（２）」に分類された設定項目名と同様に複合機１０１では実行できない種類の設定項目名であり、複合機１０１が実行できない設定項目名であることが検知されても検知フラグは「非検知」（ＯＦＦ）のままである。ただし、「実行不可（２）」に分類された設定項目名と異なる点は、「実行不可（３）」の設定項目名は、設定値としてｂｏｏｌｅａｎ型の値を持つという点である。
【００７４】
Ｓ９０１では、Ｓ５０３でのチェック結果に基づき、ＲＡＭ２４４に記憶されているスクリプトに記述されている設定項目名６０３が、データ管理モジュール３４２でどの分類として管理されているかをチェックする。Ｓ９０１で設定項目名６０３が「実行可能」に分類された場合、そのまま図９のフローチャートを終了する。
【００７５】
Ｓ９０１で設定項目名６０３が「条件付実行可能」に分類された場合、Ｓ９０２に進む。
【００７６】
Ｓ９０２では、設定項目名６０３を複合機１０１で実行するために必要なオプションなどの条件をチェックし、条件が満たされていれば（Ｓ９０２でＹＥＳ）本フローチャートを終了し、条件が満たされていなければ（Ｓ９００２でＮＯ）、Ｓ９０３へ進む。
【００７７】
Ｓ８０１で設定項目名６０３が「実行不可（１）」に分類された場合、Ｓ９０３へ進む。Ｓ９０３では検知フラグを「検知」（ＯＮ）の状態にする。そしてＳ９０４へ進み、設定項目６０３が複合機１０１で実行できないなものであるため、スクリプトから削除する。そして、この設定項目に関連する設定値も削除する。
【００７８】
Ｓ９０１で設定項目名６０３が「実行不可（２）」に分類された場合、Ｓ９０４へ進む。
Ｓ９０１で設定項目名６０３が「実行不可（３）」に分類された場合、Ｓ９０５へ進む。Ｓ９０５では設定項目名６０３が含む設定値６０４をチェックする。Ｓ９０５で設定値６０４がｔｒｕｅであればＳ９０３へ、設定値６０４がｆａｌｓｅであればＳ９０４へ遷移する。つまり、設定値６０４がｔｒｕｅであれば、非サポート要素を検知したことをユーザへ通知し、設定値６０４がｆａｌｓｅであればそのような通知をしない。設定項目名６０３に対する設定値６０４がｆａｌｓｅということは、その設定項目名６０４をＯＦＦ（使用しない）することを意味するため、スクリプトを補正する必要が無く、ユーザに対して警告する必要がない。
【００７９】
図１０は、本実施形態における、スクリプト内の設定値６０４を補正する処理の手順の一例を示すフローチャートである。本フローチャートは図５のＳ５０４の処理の一部を示すものであり、スクリプト内の設定値６０４を補正する処理である。
【００８０】
ここで、データ管理モジュール３４２が管理する設定値の分類について説明する。データ管理モジュール３４２はスクリプトに記述されている設定値６０４を、「実行可能」、「条件付実行可能」、「実行不可（１）」「実行不可（４）」に分類する。
【００８１】
「実行可能」に分類された設定値は、複合機で無条件に実行可能な（無条件にサポートしている）設定値である。「実行可能」に分類された設定値は複合機１０１が工場出荷の状態で実行可能であり、特にスクリプトの補正を行う必要は無い。
【００８２】
「条件付実行可能」に分類された設定値は、複合機１０１が条件付きで実行可能な（条件付サポート）設定値である。条件とは、適切なオプションが備わっていることである。
【００８３】
「実行不可（１）」に分類された設定値は複合機１０１では実行できない（サポートしていない）設定値である。「実行不可（１）」に分類された機能名は複合機１０１にどのようなオプションを装着してもその機能名が設定されたジョブを実行することができない。「実行不可（１）」に分類された機能名であることが検知された場合には検知フラグは「検知」（ＯＮ）になる。
【００８４】
「実行不可（４）」に分類された設定値も「実行不可（１）」に分類された設定値と同様に複合機１０１では実行できない設定値である。ただし、「実行不可（１）」の設定値とは異なり、複合機１０１が実行できない設定値であることが検知されても検知フラグは「非検知」（ＯＦＦ）のままである。また、「実行不可（４）」に分類された設定値を検知した場合、あらかじめ定められた設定値への変換を行う。
【００８５】
Ｓ１００１では、Ｓ５０３でのチェック結果に基づき、ＲＡＭ２４４に記憶されているスクリプトに記述されている設定値６０４が、データ管理モジュール３４２でどの分類として管理されているかをチェックする。Ｓ１００１で設定値６０４が「実行可能」に分類された場合、そのまま図１０のフローチャートを終了する。
【００８６】
Ｓ１００１で設定値６０４が「条件付実行可能」に分類された場合、Ｓ１００２に進む。Ｓ１００２では、設定値６０４を複合機１０１で実行するために必要なオプションなどの条件をチェックし、条件が満たされていれば（Ｓ１００２でＹＥＳ）本フローチャートを終了し、条件が満たされていなければ（Ｓ１００２でＮＯ）、Ｓ１００３へ進む。
【００８７】
Ｓ１００１で設定値６０４が「実行不可（１）」に分類された場合、Ｓ１００３に進む。Ｓ１００３では検知フラグを「検知」（ＯＮ）の状態にする。そしてＳ９０４へ進む。
【００８８】
Ｓ１００４では、設定値６０４を複合機１０１が工場出荷時状態でサポートしている初期値に変換（補正）する。
【００８９】
また、設定値６０４が有効範囲を持つ数値の場合は、Ｓ１００１では有効範囲内かどうかをチェックし、有効範囲外であればステップ１００３へ進み、有効範囲内であれば分「実行可能」であると判定し、本フローチャートを終了する。
【００９０】
Ｓ１００１で、設定値６０４が「実行不可（４）」に分類された場合、Ｓ１００５へ進む。Ｓ１００５では、設定値６０４を予め定められた特定の値に変換する。そして本フローチャートを終了する。
【００９１】
Ｓ１００５では、設定値６０４が必ずしも複合機１０１の初期値に変換されるわけではない、という点でＳ１００４と異なる。また、「実行不可（４）」に分類された場合では、検知フラグは「非検知」のままである。例えば、カラー複合機ではれば、原稿をスキャンする際のカラーモードという機能名および設定項目名を有している。そして、その設定値としては、自動的にカラーモードを切り替えるような自動カラー選択という設定値、あるいは明示的にカラーモードを指定したフルカラースキャン、モノクロスキャンといった設定値をサポートしている。これに対し、モノクロ複合機ではモノクロスキャンしかサポートしていない。カラー複合機で作成された自動カラー選択のスクリプトを、モノクロ複合機で実行しようとした場合、常にモノクロスキャンされる事はユーザーも承知しているはずなので、補正の警告メッセージを表示したり、処理を中止したりしては、かえって利便性に欠ける。従って、このような場合には、「実行不可（４）」とすることで、ユーザには通知せずに補正するといったことを実現する。
【００９２】
以上、図７〜図１０のフローチャートによれば、スクリプトに記述されたジョブ種６０１、機能名６０２、設定項目名６０３、設定値６０４それぞれに対して、複合機１０１が実行可能か条件付実行可能か、実行不可かに分類する。そして、分類した結果に応じてスクリプトの補正を行ったり、ユーザに対して確認メッセージを表示させることが可能になる。また、スクリプトの補正を行った場合、ユーザに対してスクリプトの補正を行ったことを通知する／しないの選択的な制御を適切に実行することが可能になる。
【符号の説明】
【００９３】
１０１、１０３  複合機
１０２  クライアントＰＣ
２０４  ストレージ
３３０  スクリプト実行モジュール
３４０  非サポート機能チェックモジュール
３４１  スクリプト補正モジュール
３４２  データ管理モジュール
【図１】
0005419631.tif 000002
【図２】
0005419631.tif 000003
【図３】
0005419631.tif 000004
【図４】
0005419631.tif 000005
【図５】
0005419631.tif 000006
【図６】
0005419631.tif 000007
【図７】
0005419631.tif 000008
【図８】
0005419631.tif 000009
【図９】
0005419631.tif 000010
【図１０】
0005419631.tif 000011