(57)【要約】【課題】ユーザの操作順に基づいて禁則処理に使用する印刷設定項目の優先順位を設定し、適切な禁則処理を行う情報処理装置を提供すること。【解決手段】情報処理装置は、複数の印刷設定項目間において共存できない印刷設定値を解消する禁則処理を、複数の印刷設定項目の優先度に従って実行し、複数の印刷設定項目に対する操作順に従って複数の印刷設定項目に優先度を設定し、第１の印刷設定項目の印刷設定値が第２の印刷設定項目の印刷設定値よりも先に変更された場合、第１の印刷設定項目に第２の印刷設定項目よりも高い優先度を設定し、第２の印刷設定項目の印刷設定値が第１の印刷設定項目の印刷設定値よりも先に変更された場合、第２の印刷設定項目に第１の印刷設定項目よりも高い優先度を設定する。【選択図】図６
2014092897.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷設定間において共存できない印刷設定値を解消する禁則処理を、前記複数の印刷設定の優先度に従って実行する実行手段と、
前記複数の印刷設定に対する操作順に従って前記複数の印刷設定に前記優先度を設定する設定手段を有し、
前記設定手段は、第１の印刷設定の印刷設定値が第２の印刷設定の印刷設定値よりも先に変更された場合、前記第１の印刷設定に前記第２の印刷設定よりも高い優先度を設定し、前記第２の印刷設定の印刷設定値が前記第１の印刷設定の印刷設定値よりも先に変更された場合、前記第２の印刷設定に前記第１の印刷設定よりも高い優先度を設定する
ことを特徴とする情報処理装置。
【請求項２】
前記実行手段は、前記第１の印刷設定と前記第２の印刷設定との間で共存できない印刷設定値があるかを判断し、前記共存できない印刷設定値がある場合に、前記第１の印刷設定と前記第２の印刷設定のうち、低い優先度が設定された印刷設定の印刷設定値を、高い優先度が設定された印刷設定との間で共存できる他の印刷設定値に変更する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷設定の優先度と前記印刷設定が取り得る印刷設定値の情報とを含む、前記印刷設定の変数情報を作成する作成手段をさらに備え、
前記設定手段は、前記作成された変数情報が含む優先度を前記印刷設定に対する操作順に応じた優先度で更新することで、該印刷設定に優先度を設定し、
前記実行手段は、前記第１の印刷設定と前記第２の印刷設定との間で共存できない印刷設定値がある場合に、前記第１、第２の印刷設定のうち、低い優先度が設定された印刷設定の前記変数情報を参照して、該印刷設定の印刷設定値を、前記共存できない印刷設定値から、前記印刷設定が取り得る他の印刷設定値に変更する
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記作成手段は、前記実行手段によって、変更された前記印刷設定値が前記共存できる印刷設定値であると判断された場合に、前記変更された印刷設定値を持つ前記印刷設定の新たな変数情報を生成し、変更前の変数情報を削除する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記設定手段は、前記実行手段によって、前記印刷設定の印刷設定値が、前記共存できない印刷設定値から前記印刷設定が取り得る唯一の印刷設定値に変更された場合に、前記印刷設定値の変更を前記印刷設定に対する操作による変更として、前記変更された印刷設定値を持つ前記印刷設定の優先度を前記印刷設定に対する操作順に従った優先度に更新する
ことを特徴とする請求項３または請求項４に記載の情報処理装置。
【請求項６】
前記実行手段は、前記優先度が設定された印刷設定値が前記共存できる印刷設定値であると判断した場合に、前記印刷設定値を持つ印刷設定に対する操作入力を禁止する制御を行う
ことを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
印刷設定間において共存できない印刷設定値の組み合わせに関する禁則情報が予め記憶された記憶手段を備え、
前記実行手段は、前記記憶手段が記憶する前記禁則情報に基づいて、前記第１の印刷設定と前記第２の印刷設定との間で共存できない印刷設定値があるかを判断する
ことを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記禁則情報は、さらに、第１の印刷設定の印刷設定値が変更されたときに、共存できる第２の印刷設定の印刷設定値を変更された前記印刷設定値と対応する印刷設定値に変更することを指示する制御情報を含んでおり、
前記実行手段は、操作によって前記第１の印刷設定の印刷設定値が変更された場合に、前記制御情報にしたがって、前記第２の印刷設定の優先度が前記第１の印刷設定の優先度より低いことを条件として、前記第２の印刷設定の印刷設定値を前記対応する印刷設定値に変更する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記印刷設定に対する操作を行う画面を表示する表示手段をさらに備え、
前記表示手段は、前記画面に、前記実行手段によって前記共存できる印刷設定値であると判断された印刷設定を示す情報と、該印刷設定の優先度とを、該印刷設定に対する操作入力が禁止された態様で表示する
ことを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項１０】
情報処理装置の制御方法であって、
複数の印刷設定間において共存できない印刷設定値を解消する禁則処理を、前記複数の印刷設定の優先度に従って実行する実行工程と、
前記複数の印刷設定に対する操作順に従って前記複数の印刷設定に前記優先度を設定する設定工程を有し、
前記設定工程では、第１の印刷設定の印刷設定値が第２の印刷設定の印刷設定値よりも先に変更された場合、前記第１の印刷設定に前記第２の印刷設定よりも高い優先度が設定され、前記第２の印刷設定の印刷設定値が前記第１の印刷設定の印刷設定値よりも先に変更された場合、前記第２の印刷設定に前記第１の印刷設定よりも高い優先度が設定される
ことを特徴とする制御方法。
【請求項１１】
請求項１０に記載の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
コンピュータなどの情報処理装置を用いて作成された文書や図といったファイルを印刷する際に、ユーザが用紙の種類や両面、カラー、給紙段といった印刷に関する設定を指定できる情報処理装置が提案されている。ユーザは、アプリケーションソフトおよびプリンタドライバで提供されるユーザインタフェースを通して印刷設定を行い、設定された印刷設定に関するデータは、プリンタコマンドとしてプリンタに送信される。
【０００３】
また、数百に及ぶ印刷設定を持つアプリケーションソフトやプリンタドライバも提供されている。そのような印刷設定の中には、「はがき」と「ステイプル」、「ＯＨＰフィルム」と「両面」など、プリンタでエラーが起こる、印刷設定の組み合わせも多数存在する。ユーザが印刷設定の際に、エラーが生じる設定の組み合わせを選択しないよう、プリンタドライバは、禁則処理（コンフリクト処理）を行う機能を有する。特許文献１は、印刷設定項目間の優先度を設定し、印刷設定項目の内容がユーザにより変更された際に、禁則処理と優先度とに基づいて印刷設定項目の変更内容に対する禁則処理を行う情報処理装置を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２２６７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された情報処理装置では、ユーザが予め優先度を設定しなければならない。そして、情報処理装置は、ユーザが設定した優先度に従って印刷設定の内容を設定する必要があった。本発明は、ユーザの操作順に基づいて禁則処理に使用する印刷設定項目の優先順位を設定し、適切な禁則処理を行う情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一実施形態の情報処理装置は、複数の印刷設定項目間において共存できない印刷設定値を解消する禁則処理を、前記複数の印刷設定項目の優先度に従って実行する実行手段と、前記複数の印刷設定項目に対する操作順に従って前記複数の印刷設定項目に前記優先度を設定する設定手段を有し、前記設定手段は、第１の印刷設定項目の印刷設定値が第２の印刷設定項目の印刷設定値よりも先に変更された場合、前記第１の印刷設定項目に前記第２の印刷設定項目よりも高い優先度を設定し、前記第２の印刷設定項目の印刷設定値が前記第１の印刷設定項目の印刷設定値よりも先に変更された場合、前記第２の印刷設定項目に前記第１の印刷設定項目よりも高い優先度を設定する。
【発明の効果】
【０００７】
本発明の情報処理装置によれば、ユーザの操作順に基づいて禁則処理に使用する印刷設定項目の優先順位を設定し、適切な禁則処理を行うことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェアとソフトウェアのブロック構成図である。
【図２】コンフィギュレーションモジュールのブロック構成図である
【図３】状態変数に含まれるメンバとその値を示す。
【図４】機種依存ファイルに含まれるＸＭＬファイルのフォーマットの一部である。
【図５】禁則ファイルに含まれるＸＭＬファイルのフォーマットの一部である。
【図６】コンフィギュレーションモジュールの禁則処理のフローチャートである。
【図７】実施形態１におけるユーザインタフェース画面の一部である。
【図８】実施形態２におけるユーザインタフェース画面の一部である。
【発明を実施するための形態】
【０００９】
（実施形態１）
実施形態１は、一人のオペレータが最適な印刷設定を模索し、組み立てるときに使用する実施形態を説明する。図１は本発明の一実施形態を示す印刷処理システムのブロック構成図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明が適応できるものとする。
【００１０】
図１において、本発明の情報処理装置として機能するコンピュータのブロック構成図を示す。ＣＰＵ１０１は、ＲＯＭ１０２、ＲＡＭ１０３または外部記憶装置１０５に格納されたプログラムに従って装置全体の制御をおこなう。ＣＰＵ１０１はＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称であり、ＲＯＭ１０２はＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称であり、ＲＡＭ１０３はＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。ＲＡＭ１０３は、ＣＰＵ１０１が各種処理をおこなう際のワークエリアとしても使用される。外部記憶装置１０５は、アプリケーション１０５１、印刷関係プログラム１０５２、プリンタドライバ１０５３、オペレーティングシステム（ＯＳ）１０５４等を記録する。キーボード１０８やマウス（不図示）などの入力機器は、入力Ｉ／Ｆ１０４を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０６は、データを外部に出力するためのインタフェースであり、モニタ１１０やプリンタ１１１に対してデータを出力する。プリンタ１１１とは直接接続されるローカルＩ／Ｏのみならず、ＬＡＮやＷＡＮといったネットワークを通して無線接続されていてもよい。また、システムバス１０７は共通データバスであり、各装置は、システムバス１０７を介してデータのやりとりをおこなう。
【００１１】
図２は、コンフィギュレーションモジュール２０１のブロック図を示す。コンフィギュレーションモジュール２０１は、アプリケーションプログラムＩ／Ｆ２０２、ユーザＩ／Ｆ２０３、コンフリクトエンジン２０４を備える。また、コンフリクトエンジン２０４はデータファイルパーサー２０５、禁則エンジン２０６を備える。コンフィギュレーションモジュール２０１は、プリンタドライバやプリンタドライバ相当モジュールの一部であり、印刷設定機能を担う。コンフィギュレーションモジュール２０１はそれぞれのプリンタの機種に依存した情報を持つ機種依存ファイル２０７を読み込んで動作する。このようにすることで、コンフィギュレーションモジュール２０１はすべてのプリンタで共通のモジュールであっても、それぞれの機種に特化した動作をおこなうことができる。
【００１２】
モジュール２０１は、図１に示す外部記憶装置１０５にプリンタドライバ１０５３として記憶されており、ＣＰＵ１０１がＲＡＭ１０３に展開してモジュール２０１を実行する。ここで、図２に示すモジュールは、必ずしもプリンタドライバ１０５３に含まれている必要はなく、アプリケーション１０５１や印刷関係プログラム１０５２の中に含まれていても良い。その場合、プリンタドライバ１０５３の内部モジュールが、アプリケーション１０５１や印刷関係プログラム１０５２に流用されている場合もある。
【００１３】
印刷処理は、プリンタドライバやプリンタドライバに相当するモジュールを介し、プリンタの選択、印刷設定の作成、描画データの変換と３つの処理を順番におこなうことで実行される。まず、ユーザは、印刷したいプリンタの選択をする。これは、印刷を実行するプリンタに対応したプリンタドライバを選択することと同義である。
【００１４】
次に、ユーザは、印刷設定を作成する。アプリケーション１０５１が印刷設定用のメモリを確保し、次いでアプリケーション１０５１かプリンタドライバ１０５３のコンフィギュレーションモジュール２０１が、機種依存ファイル２０７を利用して設定データを埋めるという形でおこなわれる。Ｗｉｎ３２アプリケーションプログラムでは印刷設定データとしてバイナリのＤＥＶＭＯＤＥ２１４を用いる。ＷＰＦアプリケーションプログラムではマークアップ言語のＸＭＬで記載されたＰｒｉｎｔＴｉｃｋｅｔ２１５を用いる。ＤＥＶＭＯＤＥ構造体２１４またはＰｒｉｎｔＴｉｃｋｅｔ２１５が保持する印刷設定を、アプリケーション１０５１が直接書き換えることで印刷設定を変更する。プリンタに依存した専用の設定は、コンフィギュレーションモジュール２０１が持つユーザＩ／Ｆ２０３を表示し、ユーザがユーザＩ／Ｆ２０３を操作することでおこなう。コンフィギュレーションモジュール２０１は、ユーザインタフェースの設定に従い、ＤＥＶＭＯＤＥ構造体２１４もしくはＰｒｉｎｔＴｉｃｋｅｔ２１５のプリンタに依存した設定を変更する。
【００１５】
印刷設定とは具体的に、出力する用紙サイズを「Ａ４」にする、両面印刷をおこなう、カラーとモノクロを切り替える、給紙段を指定するなどといった設定を指す。印刷設定作成の後、描画モジュールが、印刷設定に基づいてプリントデータを描画する処理をおこなうが、公知技術のため説明を省略する。
【００１６】
機種依存ファイル２０７は、実際の機種データが記述されたＸＭＬデータファイル２０８、もしくはバイナリデータファイル２０９を有する。ＸＭＬデータファイル２０８であれば、コンフィギュレーションモジュール２０１はＸＭＬデータを、コンフリクトエンジン２０４のデータファイルパーサー２０５で解釈して読み込む。データファイルパーサー２０５は、ＸＭＬデータファイル２０８を読み込み、印刷設定情報を有する状態変数２１３を作成する。
【００１７】
図３にデータファイルパーサー２０５が変数情報として作成する状態変数２１３の一例を示す。作成される状態変数２１３は、機能の名前、他の機能との優先順位、設定値リスト、現在値、デフォルト値、ステータスを持つ、メモリ上に展開されるオブジェクトである。図３に示す状態変数２１３は、「プリンタで使用できる用紙サイズ」という機能に関する状態変数の例である。状態変数２１３は構造体の形式をもっており、図３に示す例のように、用紙サイズの状態変数２１３であれば機能名に「ＭｅｄｉａＳｉｚｅ」という名前を持つ（３０１）。また、状態変数２１３は、設定値リストとして、「Ａ４」「Ｌｅｔｔｅｒ」「Ｂ５」「ＰｏｓｔＣａｒｄ」などプリンタで使用できる用紙サイズを列挙する（３０３）。この例では、デフォルトは「Ａ４」だが（３０５）、現在は「Ｌｅｔｔｅｒ」が選択されている（３０４）状態を示す。
【００１８】
また、状態変数２１３はステータスを持ち、その値が現在の設定画面でａｖａｉｌａｂｌｅか、ｎｏｔａｖａｉｌａｂｌｅか、すなわち利用可能かどうかを示すことができる。図の例では「Ｂ５」が現在の設定では利用できないことを表している（３０６）。状態変数２１３のステータスには、他にもサポート不可（ｎｏｔｓｕｐｐｏｒｔｅｄ）、権限不可（ｎｏｔｐｅｒｍｉｓｓｉｏｎ）などの値が考えられるが、本実施形態では説明を割愛する。用紙サイズが選択できないような状況では、ステータスの値の変更ではなく、用紙サイズの機能、つまり状態変数自体を消去して良い。他の機能の例として、印刷の向きを指定する機能「Ｏｒｉｅｎｔａｔｉｏｎ」、カラーを指定する機能「ＯｕｔｐｕｔＣｏｌｏｒ」、給紙段を指定する機能「ＩｎｐｕｔＢｉｎ」が、同じメンバを有する構造体で表されてよい。メンバは、例えば、図３に示す優先順位や設定値リストを意味する。もちろん、データファイルパーサー２０５は、上述した機能以外の状態変数を任意に作成してよい。状態変数２１３は、値リストの代わりに設定値として、数値や文字列を含むこともできる。状態変数２１３の優先度３０２は、現在値３０４と同様、設定をおこなう度に更新される。なお、初期値は最低の値として９９９が設定される。優先度３０２の詳細な使い方に関しては、禁則エンジンによる禁則処理の説明と共に明らかにする。
【００１９】
図４は、ＸＭＬ形式で記載された機種依存情報の一例を示す。機種依存ファイル２０７の例では、機能「Ｂｉｎｄｉｎｇ」、「ＢｉｎｄｉｎＧｕｔｔｅｒ」、「Ｄｕｐｌｅｘ」、「ＭｅｄｉａＳｉｚｅ」に関しての機種依存情報が記述されている。この機種依存ファイル２０７からは上記４つの状態変数２１３が作られる。「Ｂｉｎｄｉｎｇ」に対しては、「ＢｉｎｄＬｅｆｔ」（デフォルト値）、「ＢｉｎｄＴｏｐ」、「ＢｉｎｄＲｉｇｈｔ」、「ＢｉｎｄＢｏｔｔｏｍ」という４つの綴じ方向に関する設定値リスト３０３をメンバにもつ状態変数２１３が作られる。別の機能「ＢｉｎｄｉｎｇＧｕｔｔｅｒ」に対しては、最小値０と最大値５００００という綴じ幅をもつ設定値と、０というデフォルト値３０５のメンバをもつ状態変数２１３が作られる。
【００２０】
禁則エンジン２０６は、禁則ファイル２１０を用いて、前述の状態変数２１３と、ＸＭＬデータファイル２１１もしくはバイナリデータファイル２１２に記載された禁則関係を比較して禁則処理、すなわち、状態変数２１３の現在値の変更をおこなう。禁則ファイル２１０は、印刷設定間において共存できない印刷設定値の組み合わせに関する禁則情報が予め記憶された記憶手段として機能する。また、禁則関係とは、印刷設定において競合する組み合わせのことであり、例えば禁則ファイル２１０には、両面機能の「ＯＮ」とＯＨＰ印刷機能の「ＯＮ」という、競合する印刷設定値の組み合わせが書かれる。図５は、ＸＭＬデータファイル２１１の一例であり、競合する印刷設定値の組み合わせを示す。ＸＭＬデータファイル２１１の例：
<Conflict>
<Condition name=”Booklet” value=”Device”/>
<Condition name=”Duplex” value=”OneSided”/>
</Conflict>
は、「Ｂｏｏｋｌｅｔ」という、製本印刷機能の「Ｄｅｖｉｃｅ」という現在値３０４と、「Ｄｕｐｌｅｘ」という、両面設定機能の「ＯｎｅＳｉｄｅｄ」という現在値３０４が競合する禁則関係にあることを記している。実際の禁則処理では、禁則エンジン２０６は、禁則関係のみならず、状態変数２１３の優先度３０２も参照して、処理を開始する。仮に、「Ｂｏｏｋｌｅｔ」の優先度が１０で、「Ｄｕｐｌｅｘ」の優先度がそれよりも低い２０とすると、禁則エンジン２０６は、禁則関係に基づき、「Ｄｕｐｌｅｘ」を「ＯｎｅＳｉｄｅｄ」から「ＴｗｏＳｉｄｅｄ」へ現在値を変更する。もし、デフォルト値が選択可能であるならば、現在値をデフォルト値に優先的に変更する。図５の例を見ると、「Ｂｏｏｋｌｅｔ」の「Ｄｅｖｉｃｅ」という現在値３０４と、「Ｓｔａｐｌｅ」の「Ｏｆｆ」という現在値３０４にも禁則関係が存在するので、禁則エンジン２０６は競合する組み合わせが全てなくなるまで、禁則処理を繰り返する。
【００２１】
コンフィギュレーションモジュール２０１は、印刷設定を、ＤＥＶＭＯＤＥ２１４やＰｒｉｎｔＴｉｃｋｅｔ２１５という形で、アプリケーションプログラムＩ／Ｆ（以下、ＡＰＩと略す）２０２を通じてアプリケーションソフトウェアと入出力することができる。コンフィギュレーションモジュール２０１は、ＤＥＶＭＯＤＥ２１４やＰｒｉｎｔＴｉｃｋｅｔ２１５を、状態変数２１３の現在値３０４を全て集めて全体の印刷設定として作成し、アプリケーションソフトウェアに出力する。
【００２２】
コンフィギュレーションモジュール２０１は、ユーザＩ／Ｆ２０３を介してユーザに印刷設定画面を提供する。コンフィギュレーションモジュール２０１は、ユーザＩ／Ｆ２０３上に状態変数２１３の現在の値が反映された、例えば図７に示す画面を表示する。ユーザが、例えば図７に示す出力用紙サイズなどの印刷設定を変更する。すると、コンフィギュレーションモジュール２０１は、変更された印刷設定が有する値を状態変数２１３にセットし、コンフリクトエンジン２０４を使用して禁則処理をおこなう。コンフィギュレーションモジュール２０１は、禁則処理の結果、状態変数２１３の現在値３０４が新しい値に変更されると、またユーザインタフェース２０３上に禁則処理後の状態変数２１３の現在値が反映された画面を表示する。ユーザインタフェース２０３は、状態変数２１３のステータス３０６に応じてコントロールの表示を変更する。コンフィギュレーションモジュール２０１は、印刷設定が利用可のときは通常の表示をおこなうが、利用不可のときはコントロールや選択肢の一部をグレーアウト（図７では破線で表示）して選択できないようにする。
【００２３】
次に、コンフィギュレーションモジュール２０１の禁則処理のロジックを、図６のフローチャートに沿って説明する。このフローは、ユーザの操作順に従って各項目の優先度を設定することで、ユーザの意図しない禁則処理を起こさないようにするものである。なお、ユーザがユーザＩ／Ｆ２０３を通して、一つ印刷設定値を変更する度に、このフローは実行される。以下では、ユーザが「Ｂｏｏｋｌｅｔ」という製本印刷設定を行った場合を例に説明する。
【００２４】
まずは、コンフィギュレーションモジュール２０１は、ユーザＩ／Ｆ２０３を介してユーザが設定した印刷設定をコンフリクトエンジン２０４に入力する。コンフリクトエンジン２０４は、データファイルパーサー２０５を使用して、入力された印刷設定を元に新しい状態変数２１３を作る（ステップ６０１、ステップ６０２）。ステップ６０３では、コンフリクトエンジン２０４は、ユーザが設定した印刷設定項目に対して、使用されていない最高の優先度を割り当てる。本実施形態における特徴として、ユーザが未入力の状態変数２１３、すなわち、初期状態の状態変数２１３においては、優先度３０２が９９９である。そして、コンフリクトエンジン２０５は、ユーザが印刷設定をおこない、それが状態変数２１３に反映されるときには、優先度３０２を１から順に番号を振っていく。
【００２５】
つまり、コンフリクトエンジン２０５は、第１の印刷設定項目が第２の印刷設定項目よりも先に変更された場合、第１の印刷設定項目に第２の印刷設定項目よりも高い優先度を設定する。一方、第２の印刷設定項目が第１の印刷設定項目よりも先に変更された場合、第２の印刷設定項目に第１の印刷設定項目よりも高い優先度を設定する。これにより、ユーザの操作順に従って印刷設定が行われた後に、ユーザが違う項目の設定をして、既に設定された印刷設定が覆されない。なお、ここで指示される優先度３０２は、一度の印刷設定に関してのみ有効であり、印刷が終われば、状態変数２１３が作り直されるので、優先度３０２はまた９９９に戻る。
【００２６】
ステップ６０４では、禁則エンジン２０６は、印刷設定項目間において共存できない印刷設定値を解消する禁則処理を実行するため以下の処理を行う。禁則エンジン２０６は、禁則ファイル２１０を参照し、設定された印刷設定よりも低い優先度の印刷設定のうち、競合する印刷設定の組み合わせが存在するかを確認する。禁則エンジン２０６は、「Ｄｕｐｌｅｘ」、「ＯｎｅＳｉｄｅｄ」が競合する印刷設定の組み合わせだと判断する。そして、禁則エンジン２０６は、ステップ６０５で優先度３０２の低い方の状態変数２１３が有する現在値３０４を他の値に変更できるか、すなわちａｖａｉｌａｂｌｅの選択肢が他にあるかを確認する。ここでは、禁則エンジン２０６は、「ＴｗｏＳｉｄｅｄ」がａｖａｉｌａｂｌｅの設定値がある場合は、ａｖａｉｌａｂｌｅの設定値を状態変数２１３の現在値３０４に設定する。そして、禁則エンジン２０６は、競合していた設定値、つまり「ＯｎｅＳｉｄｅｄ」をｎｏｔａｖａｉｌａｂｌｅに変更する（ステップ６０６、ステップ６０７）。すなわち、禁則エンジン２０６は、共存できない印刷設定値がある場合に、低い優先度が設定された印刷設定の変数情報を参照して、該印刷設定の印刷設定値を共存できない印刷設定値から、印刷設定が取り得る他の印刷設定値に変更する。これにより、ユーザの操作順に応じて適切な禁則処理が実行される。
【００２７】
ここで、優先度３０２の低い状態変数２１３の値が他の値に変更できない、すなわちａｖａｉｌａｂｌｅの設定値が他にない場合は、最後にユーザがおこなった印刷設定が設定不可である。例えば、「ＴｗｏＳｉｄｅｄ」がｎｏｔａｖａｉｌａｂｌｅの場合、「ＯｎｅＳｉｄｅｄ」がａｖａｉｌａｂｌｅであっても製本印刷は実行できない。この場合、コンフィギュレーションモジュール２０１はエラーをユーザＩ／Ｆ２０３に表示し、状態変数２１３の優先度３０２や現在値３０４、ステータス３０６などのメンバの変更を本フロー開始前の状態に戻す（ステップ６１１、ステップ６１２）。
【００２８】
ステップ６０７の後のステップ６０８では、コンフリクトエンジン２０５は、ユーザが選択していない他の機能に関する状態変数２１３が、自動的に決定していないかどうかを調べる。印刷設定を進める度に禁則処理によって、ステータス３０６がｎｏｔａｖａｉｌａｂｌｅの設定値は増えていく。唯一の選択肢を残して、全てｎｏｔａｖａｉｌａｂｌｅになったとき、その機能は、ユーザが明示的に意図を示していないが、暗示的にその機能の特定の設定値を指定していることになる。そのため、該当状態変数２１３には優先度３０２を新たに書き換える。つまり、コンフリクトエンジン２０５は、優先度が設定された印刷設定の印刷設定値が共存できる印刷設定値であっても当該印刷設定に対するユーザによる操作入力を禁止する制御を行う。フロー６０３からフロー６０７の操作を繰り返す。
【００２９】
別の例として、ユーザが中綴じ設定の現在値３０４を「ＯＮ」にすると、コンフリクトエンジン２０５は、禁則エンジン２０６の禁則処理の結果、ステイプル設定の現在値３０４を自動的に「ＯＮ」に変更する。ステイプル設定の優先度３０２には、中綴じ設定の次の順位が付与される。例えば、中綴じ設定の優先度が「１」の場合、ステイプル設定の優先度には「２」が付与される。その後、ユーザがユーザＩ／Ｆで変更した機能に関しては、状態変数が２つ存在する状態なので、本フローで新しく生成した状態変数を使用するため、変更前の旧状態変数を削除する（ステップ６０９）。新しく生成した状態変数は、印刷が完了するまでコンフリクトエンジン２０５が管理してもよく、機種依存ファイル２０７など任意の場所で管理してもよい。コンフィギュレーションモジュール２０１は、禁則処理をおこなった後に、暗示的に状態変数２１３の値が決定したものをユーザＩ／Ｆ２０３上に反映させる。そして、コンフィギュレーションモジュール２０１は、このフローで一意に決定された設定に関しては、コントロールを変更できないようにコントロールを表示する（ステップ６１０）。一度設定した項目を変更できたとすると、これまで禁則処理によってｎｏｔａｖａｉｌａｂｌｅにされていたものが、ａｖａｉｌａｂｌｅになる。従って、上述の処理により、ユーザに混乱をきたす状況を防止することが可能となる。
【００３０】
図７では、本実施形態のユーザＩ／Ｆ２０３の一例を示した。図７に示す画面では、仕上がりサイズ、出力用紙サイズ、両面設定、ステイプル設定、中綴じ印刷設定、製本綴じしろ、ドブ幅、給紙口などの機能が印刷設定項目（以下、コントロールとも呼ぶ）として表示される。ユーザがコントロールを、マウスやキーボードを使用して押下すると、新しい画面で、値リストの選択肢の中から、値を選択できるものである。印刷設定は数十項目あり、ユーザが「前ページ」や「次ページ」などの表示項目によって、別の印刷設定の表示に切り替えることができる。
【００３１】
例えば、ユーザが中綴じ印刷設定を指示すると、中綴じ印刷用の新しい画面が別途表示され、「ＯＮ」か「ＯＦＦ」が選択できる、という画面遷移を起こす。コンフィギュレーションモジュール２０１は、一度設定した項目に関しては、コントロールをグレーに変え、変更できないように設定する。本実施形態ではグレー表示する例としたが、ユーザが変更できないように表示する表示方法は、これに限定されるものではなく任意の表示方法が採用されてよい。
【００３２】
また、ユーザが明示的、または暗示的に指定した設定に関して、コントロールの右下に優先度３０２の数値を表示することで、現在、どのような優先度３０２で、禁則処理が施されたのかをユーザに提供している。ユーザが一度設定入力を施した印刷設定に関して、コンフィギュレーションモジュール２０１は操作入力が禁止された態様で表示し、ユーザが設定完了した箇所と完了していない箇所を明らかにすることができる。これにより、一度設定した機能が覆されることがなくなるが、その代わりに設定のやり直しがきかなくなる。そこで、図７に示す画面には、設定を保存する「一時保存」コントロールと、保存した時点まで戻れる「前の状態に戻す」コントロールを画面に設ける。これにより、コンフィギュレーションモジュール２０１は、ユーザの意図する時点まで、設定を戻し、再設定を促す画面を表示することが可能となる。
【００３３】
また、コンフィギュレーションモジュール２０１が、「一時保存」コントロールを表示させることで、ユーザは必須の印刷設定のみ優先事項として設定を終えたあと、設定を保存してから、トライアンドエラーで最適工程の印刷設定を試すことができる。また、状態変数２１３の全設定値をデフォルト値３０５に戻し、優先度３０２を９９９に戻す、「初期値に戻す」コントロールも表示する。これにより、ユーザは設定画面を立ち上げ直す手間を省くことができ、ユーザビリティーが向上する。なお、この実施形態ではユーザが一度指示した印刷設定が禁則処理によって覆らない。上述の処理により、本実施形態の情報処理装置は、ユーザの操作順に基づいて禁則処理に使用する印刷設定項目の優先順位を設定し、適切な禁則処理を行うことが可能となる。
【００３４】
（実施形態２）
実施形態２は、基本的な装置の構成やデータの構成は変わらない。実施形態２は、注文を指示するエンドユーザと一人以上のオペレータのうち、２人以上が関わって印刷設定を組み立てるときに使用する装置の実施形態である。
【００３５】
図８は、エンドユーザからの印刷設定を反映し、残りの印刷設定の一部をあるオペレータが済ませ、それを２人目のオペレータが引き継いだときのユーザＩ／Ｆ２０３のサンプルである。図７は一人で印刷設定をおこなうことを前提に作られた画面例であったが、図８は複数人で印刷設定作業をおこなうことを想定して作った画面例である。図７に示す画面と異なり、コンフィギュレーションモジュール２０１は、実施形態１の印刷設定を「一時保存」する手段を応用した「設定を出力」コントロールを表示する。そして、コンフィギュレーションモジュール２０１は、状態変数がもつ機能名３０１、優先順位３０２、設定値リスト３０３、現在値３０４、デフォルト値３０５、ステータス３０６を、全てファイル出力する。Ｐｒｉｎｔ  Ｔｉｃｋｅｔ２１５として外部に印刷設定を出力することで、それを印刷設定アプリケーションが再度開いたときには、印刷設定を引き継ぐことができる。
【００３６】
図８では、「設定を引き継ぐ」コントロールがファイル入力の手段となっている。「仕上がりサイズ」と「中綴じ印刷」には、優先度として１が表示されているが、これは最初の印刷ユーザ、すなわちエンドユーザの指示した設定である。エンドユーザが任意の範囲の印刷設定を完了し、出力手段を用いて、設定を出力したときに、コンフィギュレーションモジュール２０１は、設定済み状態変数２１３の全ての優先度３０２を１に変更する。こうすることによって、エンドユーザのおこなった印刷設定を覆せないだけでなく、特定の一人が印刷設定をおこなった範囲が明確になる。そして、１人目のオペレータがアプリケーションを開き、「設定を引き継ぐ」コントロールによって、設定を引き継ぐと、前者の印刷設定によって既に禁則処理が済んだ状態で、自身の管轄内の印刷設定のみを前者同様におこなうことができる。
【００３７】
コンフィギュレーションモジュール２０１は、出力手段を用いて、印刷設定を出力すると、１人目のオペレータが設定した状態変数２１３の優先度を２に変更する。２人目のオペレータは、印刷設定を引き継いだときに、エンドユーザと１人目のオペレータの印刷設定によって禁則処理が施された状態で、印刷設定を開始することができる。図８の例では、１人目のオペレータがプリンタに関する印刷設定をおこなっているので、２人目のオペレータ、すなわちこの画面のユーザは、「ドブ幅」、「製本綴じしろ」といった、製本機に関係する印刷設定のみを担当することができる。実質、印刷設定ユーザは何人控えていても良い。また、この例では、ユーザが印刷設定を終える度に、優先度を設定者の順番に置き換えているが、当然、優先度の数値を変更せずに、次のユーザに引き渡しても良い。上述の処理により、複数の利用者が印刷設定を組み立てたとしても、本実施形態の情報処理装置は適切な優先度設定と禁則処理を行うことが可能となる。
【００３８】
なお、実施形態１、２で使用する、禁則データファイルに関しては、競合する組み合わせの記述ではなく、ある設定をおこなったときに他の状態変数の現在値を変更する、という内容の記述でもよい。例えば、部単位ソートをおこなう状態変数「Ｃｏｌｌａｔｅ」と製本印刷をおこなう状態変数「Ｂｏｏｋｌｅｔ」の禁則処理を考えてみる。製本印刷をおこなうときは必ず部単位ソートをおこなわなければならない。従って、禁則エンジン２０６は、禁則関係を有さず共存できる印刷設定でも、一方の印刷設定の印刷設定値が変更されたときに、他方の印刷設定の印刷設定値を変更された印刷設定値に対応する印刷設定値に変更する。この場合、禁則データには、「機能「Ｂｏｏｋｌｅｔ」が「ＯＮ」であるなら、機能「Ｃｏｌｌａｔｅ」は競合する組み合わせではないが、禁則処理として、「ＯＮ」にする」という形で制御情報を持たせる。この記述方法では、被禁則処理項目の優先度の方が低いことを条件として、禁則処理を実行する、というフローを加える。このように、禁則データの記述方法や保持のやり方が異なる場合でも、本発明は適用されるものである。
【００３９】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００４０】
２０１  コンフィギュレーションモジュール
２０４  コンフリクトエンジン
２０５  データファイルパーサー
２０６  禁則エンジン２０６
【図１】
2014092897.tif 000003
【図２】
2014092897.tif 000004
【図３】
2014092897.tif 000005
【図４】
2014092897.tif 000006
【図５】
2014092897.tif 000007
【図６】
2014092897.tif 000008
【図７】
2014092897.tif 000009
【図８】
2014092897.tif 000010