JP6690448B2 - 禁則関係検出装置および禁則関係検出装置の制御プログラム - Google Patents

禁則関係検出装置および禁則関係検出装置の制御プログラム Download PDF

Info

Publication number
JP6690448B2
JP6690448B2 JP2016136880A JP2016136880A JP6690448B2 JP 6690448 B2 JP6690448 B2 JP 6690448B2 JP 2016136880 A JP2016136880 A JP 2016136880A JP 2016136880 A JP2016136880 A JP 2016136880A JP 6690448 B2 JP6690448 B2 JP 6690448B2
Authority
JP
Japan
Prior art keywords
prohibition
pjl
value
relation
setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016136880A
Other languages
English (en)
Other versions
JP2018010354A (ja
Inventor
純 真野
純 真野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2016136880A priority Critical patent/JP6690448B2/ja
Priority to US15/645,815 priority patent/US10133520B2/en
Publication of JP2018010354A publication Critical patent/JP2018010354A/ja
Application granted granted Critical
Publication of JP6690448B2 publication Critical patent/JP6690448B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1255Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • H04N1/00238Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer using an image reproducing device as a local output from a computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/0048Indicating an illegal or impossible operation or selection to the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)

Description

本発明は、禁則関係検出装置および禁則関係検出装置の制御プログラムに関する。より特定的には、本発明は、利便性を向上することのできる禁則関係検出装置および禁則関係検出装置の制御プログラムに関する。
電子写真式の画像形成装置には、スキャナー機能、ファクシミリ機能、複写機能、プリンターとしての機能、データ通信機能、およびサーバー機能を備えたMFP(Multi Function Peripheral)、ファクシミリ装置、複写機、プリンターなどがある。
画像形成装置の性能が向上することに伴い、画像形成装置に処理を実行させる際に設定すべき項目が増加している。また、1つの項目について設定できる値の範囲または選択肢が増加している。
これらの増加に伴い、ジョブに関する条件として、ある値を一方の項目に設定し、ある値を他方の項目に設定することが禁止されることがある。3つ以上の設定について、特定の値を設定することが禁止されることもある。設定が禁止される値の関係は禁則関係と呼ばれている。
下記特許文献1には、禁則関係に関する技術が開示されている。この技術では、画像形成装置は、設定変更中の機能と禁則関係にある機能を判断し、禁則関係の機能がある場合は、警告エラーと共に禁則関係となっている機能を表示することで、ユーザーに禁則関係の機能があることを示してその解決を促す。そして、禁則関係が解決されたなら、その設定を印刷に適用する。
特開2014−232503号公報
従来において、画像形成装置で実行するジョブの設定を端末装置において行う構成では、端末装置は、画像形成装置の禁則仕様(エンジン禁則表)に基づいてドライバの禁則表を生成し、ドライバの禁則表に基づいてジョブに含まれる設定値の禁則関係の有無を検出していた。
しかし、画像形成装置の禁則仕様は通常、PJL(Printer Job Language)などの画像形成装置側で使用する言語で規定されているため、従来の構成では、端末装置は、ジョブに含まれる設定値をそのような言語に変換した後(PJL生成処理の後)で禁則関係の検出を行う必要があった。このため、ジョブの設定を行ってから禁則関係を検出するまでに時間を要し、ジョブの設定を行うユーザーの利便性が低かった。
本発明は、上記課題を解決するためのものであり、その目的は、利便性を向上することのできる禁則関係検出装置および禁則関係検出装置の制御プログラムを提供することである。
本発明の一の局面に従う禁則関係検出装置は、ジョブを実行する装置において同時に適用することが禁止されている関係であって、ジョブの条件に関する複数の設定値の関係である禁則関係を検出する禁則関係検出装置であって、禁則関係検出装置において設定値の入力を受け付ける複数の設定項目を、複数の分解テーブルに分類するインデックステーブルを記憶する第1の記憶手段と、禁則関係検出装置において入力を受け付ける設定値と、ジョブを実行する装置側で使用される言語で示したジョブ言語設定値との関係を示す複数の分解テーブルを記憶する第2の記憶手段と、禁則関係検出装置において入力を受け付ける設定値の組合せであって、禁則関係となる設定値の組合せを示す禁則テーブルを記憶する第3の記憶手段と、ジョブの条件に関する設定値の変更を受け付ける受付手段と、受付手段にて変更を受け付けた場合に、インデックステーブル、分解テーブル、および禁則テーブルに基づいて、受付手段にて変更を受け付けた設定値と、禁則関係検出装置において設定されている他の設定値との禁則関係の有無を検出する検出手段とを備える。
上記禁則関係検出装置において好ましくは、禁則関係となる設定値のジョブ言語設定値が、複数の固定値の中から値が選択される固定値選択型である場合、禁則テーブルは、禁則関係となる設定値に関する分解テーブルを特定する情報である分解テーブルIDと、分解テーブルにおける禁則関係となる設定値に対応する分解テーブル内インデックスとを含む。
上記禁則関係検出装置において好ましくは、検出手段は、受付手段にて変更を受け付けた設定値が、固定値選択型である場合に、インデックステーブルに基づいて、受付手段にて変更を受け付けた設定値に関する分解テーブルIDおよび分解テーブル内インデックスを特定する第1の特定手段と、第1の特定手段にて特定した分解テーブルIDおよび分解テーブル内インデックスと禁則関係を有する分解テーブル内インデックスおよび設定値を禁則テーブルから抽出する第1の抽出手段と、第1の抽出手段にて抽出した分解テーブル内インデックスおよび設定値と他の設定値とを比較することにより、禁則関係の有無を検出する第1の比較検出手段とを含む。
上記禁則関係検出装置において好ましくは、禁則関係となる設定値のジョブ言語設定値が、数値または文字列である可変型である場合、禁則テーブルは、禁則関係となる設定値に関する分解テーブルを特定する情報である分解テーブルIDと、分解テーブルにおける禁則関係となる設定値に対応する分解テーブル内インデックスと、禁則関係となる設定値のジョブ言語設定値とを含む。
上記禁則関係検出装置において好ましくは、検出手段は、受付手段にて変更を受け付けた設定値が、可変型である場合に、インデックステーブルに基づいて、受付手段にて変更を受け付けた設定値に関する分解テーブルIDおよび分解テーブル内インデックスを特定する第2の特定手段と、第2の特定手段にて特定した分解テーブルIDおよび分解テーブル内インデックスに基づいて、受付手段にて変更を受け付けた設定値をジョブ言語設定値に変換する変換手段と、第2の特定手段にて特定した分解テーブルIDおよび分解テーブル内インデックス、ならびに変換手段にて変換したジョブ言語設定値と禁則関係を有する分解テーブル内インデックスおよび設定値を禁則テーブルから抽出する第2の抽出手段と、第2の抽出手段にて抽出した分解テーブル内インデックスおよび設定値と他の設定値とを比較することにより、禁則関係の有無を検出する第2の比較検出手段とを含む。
上記禁則関係検出装置において好ましくは、ジョブを実行する装置から禁則関係の情報を取得する取得手段と、取得手段にて取得した情報と、分解テーブルとに基づいて、禁則テーブルを生成する生成手段とをさらに備える。
上記禁則関係検出装置において好ましくは、生成手段は、受付手段にて変更を受け付ける前に禁則テーブルを生成する。
上記禁則関係検出装置において好ましくは、生成手段は、受付手段にて変更を受け付けた後で禁則テーブルを生成する。
上記禁則関係検出装置において好ましくは、禁則関係検出装置において設定値の入力を受け付ける複数の設定項目の各々の優先度を記載した優先度辞書テーブルと、禁則関係検出装置において設定値の入力を受け付ける複数の設定項目の各々の属性を記載した属性テーブルと、コントロールタイプに応じた禁則関係を回避するための処理を記載した禁則処理テーブルとに基づいて、禁則関係を回避するための条件を規定した禁則回避条件式を生成する式生成手段と、検出手段にて禁則関係を検出した場合に、禁則回避条件式に従って禁則関係検出装置においておいて設定されている設定値を変更することにより、禁則関係を回避する回避手段とをさらに備える。
本発明の他の局面に従う禁則関係検出装置の制御プログラムは、ジョブを実行する装置において同時に適用することが禁止されている関係であって、ジョブの条件に関する複数の設定値の関係である禁則関係を検出する禁則関係検出装置の制御プログラムであって、禁則関係検出装置は、禁則関係検出装置において設定値の入力を受け付ける複数の設定項目を、複数の分解テーブルに分類するインデックステーブルを記憶する第1の記憶手段と、禁則関係検出装置において入力を受け付ける設定値と、ジョブを実行する装置側で使用される言語で示したジョブ言語設定値との関係を示す複数の分解テーブルを記憶する第2の記憶手段と、禁則関係検出装置において入力を受け付ける設定値の組合せであって、禁則関係となる設定値の組合せを示す禁則テーブルを記憶する第3の記憶手段とを備え、制御プログラムは、ジョブの条件に関する設定値の変更を受け付ける受付ステップと、受付ステップにて変更を受け付けた場合に、インデックステーブル、分解テーブル、および禁則テーブルに基づいて、受付ステップにて変更を受け付けた設定値と、禁則関係検出装置において設定されている他の設定値との禁則関係の有無を検出する検出手段とをコンピューターに実行させる。
本発明によれば、利便性を向上することのできる禁則関係検出装置および禁則関係検出装置の制御プログラムを提供することができる。
プリントシステム4の全体的な構成の例を示す図である。 画像形成装置1のハードウェア構成の例を示す図である。 端末装置2のハードウェア構成の例を示す図である。 端末装置2のネットワークプリントジョブに関する機能的構成の例を示す図である。 ダイアログボックス1071の例を示す図である。 PJLインデックステーブル1051の例を示す図である。 分解PJLテーブル1521の例を示す図である。 分解PJLテーブル1522の例を示す図である。 分解PJLテーブル1523の例を示す図である。 分解PJLテーブル1524の例を示す図である。 分解PJLテーブル1525の例を示す図である。 分解PJLテーブル1526の例を示す図である。 設定項目分解処理の流れの例を説明するフローチャートである。 PJLデータ生成処理の流れの例を説明するフローチャートである。 PJL決定処理の流れの例を説明するフローチャートである。 クライアントにおけるネットワークプリントジョブの全体的な処理の流れの例を説明するフローチャートである。 端末装置2の禁則組合せ情報の生成に関する機能的構成の例を示す図である。 本体禁則テーブルの例を示す図である。 固定値選択型PJLテーブル間禁則情報の生成処理を示すフローチャートである。 可変型PJLテーブル間禁則情報の生成処理を示すフローチャートである。 分解PJLテーブル間禁則テーブルの例を示す図である。 端末装置2が実行する禁則組合せ情報の生成処理の全体的な処理の流れの例を説明するフローチャートである。 端末装置2の禁則関係の検出に関する機能的構成の例を示す図である。 固定型選択型禁則検出処理を示すフローチャートである。 可変型禁則検出処理を示すフローチャートである。 端末装置2が実行する禁則関係の検出処理の全体的な処理の流れの例を説明するフローチャートである。 端末装置2の禁則関係の回避に関する機能的構成の例を示す図である。 禁則グループテーブル3141の例を示す図である。 優先度辞書テーブル3142の例を示す図である。 属性辞書テーブル3143の例を示す図である。 コントロールの例を示す図である。 第1の禁則処理テーブル3144の例を示す図である。 第2の禁則処理テーブル3145の例を示す図である。 条件式生成処理の流れの例を説明するフローチャートである。 禁則回避条件式の生成の全体的な処理の流れの例を説明するフローチャートである。 ダイアログ画面3061および3062の例を示す図である。
以下、本発明の一実施の形態について、図面に基づいて説明する。
[プリントシステムの構成]
始めに、プリントシステムの構成について説明する。
図1は、プリントシステム4の全体的な構成の例を示す図である。図2は、画像形成装置1のハードウェア構成の例を示す図である。図3は、端末装置2のハードウェア構成の例を示す図である。
図1に示すように、プリントシステム4は、画像形成装置1、1台または複数台の端末装置2、および通信回線3などによって構成される。
プリントシステム4によると、ユーザーは、端末装置2(禁則関係検出装置の一例)にデータが用意されたドキュメントを画像形成装置1(ジョブを実行する装置の一例)で用紙に印刷することによって、印刷物を生成することができる。
画像形成装置1および各端末装置2は、通信回線3を介して互いに接続されている。通信回線3として、LAN(Local Area Network)回線、インターネット、公衆回線、または専用線などが用いられる。
画像形成装置1は、コピー、ネットワークプリント、ファックス、スキャン、およびボックスなどの機能を集約した装置である。一般に、「複合機」または「MFP」などと呼ばれることがある。
ネットワークプリントの機能は、端末装置2から受信した画像データに基づいて画像を用紙に印刷する機能である。「ネットワークプリンティング」または「PCプリント」などと呼ばれることもある。
ボックスの機能は、ユーザーごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザーが自分の記憶領域によって画像データなどを保存し管理するためのサービスである。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
画像形成装置1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、補助記憶装置10d、タッチパネルディスプレイ10e、操作キーパネル10f、NIC(Network Interface Card)10g、モデム10h、スキャンユニット10i、プリントユニット10j、およびフィニッシャ10kなどによって構成される。
タッチパネルディスプレイ10eは、ユーザーに対するメッセージを示す画面、ユーザーがコマンドまたは情報を入力するための画面、およびCPU10aが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10eは、タッチされた位置を示す信号をCPU10aへ送る。
操作キーパネル10fは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
NIC10gは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルによって端末装置2と通信する。
モデム10hは、ファックス端末との間でG3などのプロトコルで画像データをやり取りする。
スキャンユニット10iは、プラテンガラスの上にセットされたシートに記されている画像を読み取って画像データを生成する。
プリントユニット10jは、スキャンユニット10iによって読み取られた画像を印刷する。さらに、端末装置2からNIC10gによって受信されたデータに基づいて画像を用紙に印刷する。そのほか、ファックス端末からモデム10hによって受信されたデータに基づいて画像を用紙に印刷する。
フィニッシャ10kは、プリントユニット10jによってドキュメントが印刷された用紙すなわち印刷物に対して仕上げの処理を行う。
具体的には、フィニッシャ10kは、ステープル装置、パンチ装置、および紙折り装置などによって構成される。そして、仕上げの処理として、印刷物をステープル装置で綴じる処理、用紙にパンチ穴を開ける処理、および用紙を折り曲げる処理のうちのいずれか1つまたは複数を行う。
ROM10cまたは補助記憶装置10dには、上述の機能を提供するためのプログラムが記憶されている。これらのプログラムは、必要に応じてRAM10bにロードされ、CPU10aによって実行される。補助記憶装置10dとして、ハードディスクまたはSSD(Solid State Drive)などが用いられる。
端末装置2は、ドキュメントを印刷するサービスをユーザーが画像形成装置1から受けるためのクライアントである。端末装置2として、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどが用いられる。以下、端末装置2としてパーソナルコンピュータが用いられる場合を例に説明する。
端末装置2は、図3に示すように、CPU20a、RAM20b、ROM20c、補助記憶装置20d、液晶ディスプレイ20e、NIC20f、キーボード20g、およびポインティングデバイス20hなどによって構成される。
液晶ディスプレイ20eには、印刷の対象であるドキュメントおよび印刷の指令のための画面などが表示される。
NIC20fは、画像形成装置1などとTCP/IPなどのプロトコルによって通信する。
キーボード20gおよびポインティングデバイス20hは、ユーザーが情報およびコマンドを入力するために用いられる。
ROM20cまたは補助記憶装置20dには、オペレーティングシステムおよび種々のアプリケーションが記憶されている。これらのプログラムは、必要に応じてRAM20bにロードされ、CPU20aによって実行される。補助記憶装置20dとして、ハードディスクまたはSSDなどが用いられる。
[ネットワークプリントジョブを行う際の端末装置の動作]
続いて、ネットワークプリントジョブを行う際の端末装置2の動作について説明する。
図4は、端末装置2のネットワークプリントジョブに関する機能的構成の例を示す図である。
図4を参照して、プリンタドライバ1020Pは、ROM20cまたは補助記憶装置20dに記憶されている。プリンタドライバ1020Pは、ネットワークプリントジョブを画像形成装置1に行わせるためのプログラムである。ネットワークプリントジョブは、端末装置2にデータが用意されたドキュメントを用紙に印刷し、それによって得られた印刷物に対して適宜、仕上げの処理を施すジョブである。
プリンタドライバ1020Pによると、図4に示すジョブ条件受付部1201、PJLインデックステーブル記憶部1202、分解PJLテーブル記憶部1203、項目置換部1204、直積分解部1205、値変換部1206、およびジョブ指令部1207などの機能が端末装置2に実現される。プリンタドライバ1020Pは、RAM20bにロードされ、CPU20aによって実行される。
以下、ジョブ条件受付部1201ないしジョブ指令部1207について、説明する。併せてユーザーによる端末装置2の操作についても説明する。
図5は、ダイアログボックス1071の例を示す図である。図6は、PJLインデックステーブル1051の例を示す図である。図7は、分解PJLテーブル1521の例を示す図である。図8は、分解PJLテーブル1522の例を示す図である。図9は、分解PJLテーブル1523の例を示す図である。図10は、分解PJLテーブル1524の例を示す図である。図11は、分解PJLテーブル1525の例を示す図である。図12は、分解PJLテーブル1526の例を示す図である。図13は、設定項目分解処理の流れの例を説明するフローチャートである。図14は、PJLデータ生成処理の流れの例を説明するフローチャートである。図15は、PJL決定処理の流れの例を説明するフローチャートである。
ジョブ条件受付部1201は、ネットワークプリントジョブの条件を取得する処理を例えば次のように実行する。
ユーザーは、印刷したいドキュメントのファイル1061を端末装置2に用意する。ワープロソフトまたは描画ソフトなどによってドキュメントを作成することによって用意してもよいし、インターネットからドキュメントのファイルをダウンロードし、このファイルをファイル1061として用いてもよい。
そして、ユーザーは、ファイル1061をアプリケーションによって開いた状態で、所定のコマンドを端末装置2に入力する。
すると、ジョブ条件受付部1201は、図5のようなダイアログボックス1071を液晶ディスプレイ20eに表示させる。ダイアログボックス1071は、ネットワークプリントジョブの種々の設定項目についての設定値(条件の値)を設定するための画面である。ダイアログボックス1071において何も操作が行われていない状態では、デフォルトの設定値が設定されている。
図5に例示する状態においては、ユーザーは、一部の項目についてのみ、条件の値を設定することができる。残りの項目については、タブをタップして切換えを行うことによって、設定することができる。
ここで、ユーザーは、ダイアログボックス1071に対して操作を行うことによって、項目それぞれについての条件の値を設定する。
すると、ジョブ条件受付部1201は、設定された値を受け付ける。以下、受け付けられた値を「設定値」と記載する。ネットワークプリントジョブについて設定する項目を「設定項目」と記載する。また、各設定項目の設定値を「B1」、「B2」、「B3」、・・・と区別して記載することがある。
ジョブ条件受付部1201によって得られた、各設定項目の設定値を、直積によって表わすことができる。例えば、設定項目がn個ある場合は、B1×B2×・・・×Bn、という直積によって表わすことができる。
設定値は、一次元の値であることもあれば、多次元の値であることもある。例えば、設定項目が「用紙サイズ」(ドキュメントを印刷する用紙のサイズ)である場合は、設定値として、「A3サイズ」、「B4サイズ」、または「A4サイズ」などの一次元の値を取る。
または、複数の設定項目についてページごとに異なる条件値(設定値)を設定できるプリンタドライバには、「ページ単位設定」という大きな設定項目(詳細な複数の設定項目を纏めたグループ型の設定項目)が用意されている場合がある。この場合は、
のような行列が設定値として用いられる。なお、各行の成分は、左から順に、ページ範囲、印刷種類、給紙トレイ、用紙サイズ、およびステープルそれぞれの詳細な設定項目の設定値(条件)である。なお、大きな設定項目を構成する詳細な設定項目を「構成項目」と記載することがある。
例えば、1行目の「1−4 両面 トレイ1 A4 ON」は、ドキュメントの第1ページから第4ページまでを、トレイ1に格納されているA4サイズの用紙に両面印刷し、これらの用紙をステープルで綴じる、という条件を示している。
また、2行目の「5−10 片面 トレイ3 A3 OFF」は、ドキュメントの第5ページから第10ページまでを、トレイ3に格納されているA3サイズの用紙に片面印刷し、これらの用紙をステープルで綴じない、という条件を示している。
PJLインデックステーブル記憶部1202は、PJLインデックステーブル1051(インデックステーブルの一例)を記憶する。
PJLインデックステーブル1051は、端末装置2において設定値の入力を受け付ける複数の設定項目を、複数の分解PJLテーブル1052(分解テーブルの一例)に分類するものである。PJLインデックステーブル1051には、上述の直積すなわちB1×B2×・・・を構成する設定値のうちの少なくとも1つの設定値からなる直積(以下、「部分直積」と記載する。)ごとのインデックスデータ1051aが格納されている。
例えば、B1×B2×・・・×B9のためのPJLインデックステーブル1051として、図6のようなPJLインデックステーブル1051がPJLインデックステーブル記憶部1202に記憶されている。
PJLインデックステーブル1051は、主に、直積を複数の部分直積に分解するために使用される。これについては、後述する。
インデックスデータ1051aには、それに対応する部分直積を構成する設定項目(アイテムとも呼ぶ)が「SetItem1」、「SetItem2」、・・・として示される。またインデックスデータ1051aは、各アイテムのデータタイプが示されている。データタイプとしては、値選択、数値、文字列(string)、または二値などがある。
さらに、インデックスデータ1051aには、その部分直積をPJLにおける値に変換するために使用される分解PJLテーブル1052を特定する識別子が示される。以下、PJLにおける値を「PJL値」と記載し、分解PJLテーブル1052の識別子を「分解PJLテーブルID」と記載する。
PJLインデックステーブル1051の内容は、プリンタドライバ1020PおよびPJLそれぞれの仕様に応じて開発者によって決められる。また、画像形成装置1の仕様の変更またはメンテナンスなどに応じて、管理者または開発者などによって適宜、PJLインデックステーブル1051が更新される。
分解PJLテーブル記憶部1203には、図7〜図12に示すような複数の分解PJLテーブル1052が記憶されている。以下、各分解PJLテーブル1052を「分解PJLテーブル1521」、「分解PJLテーブル1522」、・・・と区別して記載することがある。
分解PJLテーブル1052は、端末装置2において入力を受け付ける設定値と、端末装置2において入力を受け付ける設定値をPJLで示したPJL値との関係を示すものである。分解PJLテーブル1052は、部分直積をPJL値に変換するために使用される。また分解PJLテーブルは、本体禁則テーブルに基づいて分解PJLテーブル間禁則テーブルを作成する際にも使用される。これらの使用の仕方は、後述する。
分解PJLテーブル1052には、分解PJLテーブルID(分解テーブルIDの一例)、分解PJLテーブル内インデックス(分解テーブル内インデックスの一例)、テーブルタイプ、およびPJL算出方法が示される。分解PJLテーブルIDは、上述の通り、分解PJLテーブル1052の識別子である。
分解PJLテーブル内インデックスは、分解PJLテーブルに含まれる各設定値に対応する識別子である。
テーブルタイプは、分解PJLテーブル1052の種類である。テーブルタイプとして、「一次元変換タイプ」および「インデックス付きタイプ」のいずれかが示される。
一次元変換タイプは、一次元の値(1つの値または1×tの行列)をPJL値に変換するために用いられることを意味する。一方、インデックス付きタイプは、s×tの行列である設定値をPJL値に変換するために用いられることを意味する。なお、「s」および「t」は、ともに、2以上の整数である。分解PJLテーブル1052の設定項目の中に1つでもs×tの行列である設定値の設定項目があれば、インデックス付きテーブルタイプとなる。
PJL算出方法は、設定値をPJL値に変換する方法である。PJL算出方法として、「マッピング」および「演算」のいずれかが示される。
マッピングは、選択肢として用意された複数の値の中から設定値に対応するものを選出することによって、PJL値に変換する方法である。
一方、演算は、用意された数式(関数)に設定値を代入して演算することによって、PJL値に変換する方法である。
さらに、分解PJLテーブル1052には、入力情報および出力情報が示される。入力情報は、設定値またはそれを算出するための、1組または複数組の設定アイテム情報が含まれる。
一方、出力情報は、PJL値またはそれを算出するための、1組または複数組のPJLアイテム情報が含まれる。
この入力情報とこの出力情報とは、互いに対応している。すなわち、この入力情報およびこの出力情報は、同じ条件値を示し、または、近似している。
分解PJLテーブル1052は、PJL算出方法としてマッピングを示す場合は、入力情報に、SetItem_xおよびSetItem_x_Valueの組合せを複数有する設定アイテム情報が少なくとも1組、含まれている。この組合せは、「SetItem_xの値がSetItem_x_Valueである」という要件を示している。「x」は、シーケンス番号であって、設定アイテム情報ごとに「1」、「2」、・・・の値を取る。
一方、出力情報には、PJL_Item_yおよびPJL_Item_y_Valueの組合せを複数有するPJLアイテム情報が少なくとも1組、含まれている。この組合せは、同じ行の上述の要件を満たす場合に、PJL_Item_yがPJL_Item_y_Valueになることを示している。設定アイテム情報が複数ある場合は、同じ行のすべての要件を満たす場合に、PJL_Item_yがPJL_Item_y_Valueになる。なお、PJL_Item_yは、PJLの項目のPJL値である。「y」は、シーケンス番号であって、PJLアイテム情報ごとに「1」、「2」、・・・の値を取る。
このように、同じ行にあるすべての設定アイテム情報それぞれが示す設定値の組合せとすべてのPJLアイテム情報それぞれが示す設定値の組合せとが、対応している。すなわち、同じ条件値であり、または、近似している。
例えば、分解PJLテーブル1521(図7参照)においては、2組の設定アイテム情報が入力情報に含まれ、1組のPJLアイテム情報が出力情報に含まれている。そして、2つの行がある。
1行目は、B1が「b11」であり、かつ、B2が「b21」であれば、A1が「a11」に相当する(等しい、または、近似する)ことを意味する。なお、A1は、PJLにおける所定の項目の値(PJL値)である。後述するA2、A3、A4_1、A4_2、・・・についても同様である。
同様に、2行目は、B1が「b12」であり、かつ、B2が「b22」であれば、A1が「a12」に相当することを意味する。
または、分解PJLテーブル1525(図11参照)においては、2組の設定アイテム情報が入力情報に含まれ、2組のPJLアイテム情報が出力情報に含まれている。そして、3つの行がある。
1行目は、B7_2が「b71」であり、かつ、B9が「b91」であれば、A5_1が「a51」に相当し、A5_2が「a53」に相当することを意味する。2行目は、B7_2が「b72」であり、かつ、B9が「b92」であれば、A5_1が「a52」に相当し、A5_2が「a53」に相当することを意味する。3行目は、B7_2が「b73」であり、かつ、B9が「b93」であれば、A5_1が「a51」に相当し、A5_2が「a54」に相当することを意味する。
または、分解PJLテーブル1052は、PJL算出方法として演算を示す場合は、入力情報に、SetItem_xおよびデータタイプの組合せを有する設定アイテム情報が少なくとも1組、含まれている。または、SetItem_x、データタイプ、値条件の組合せを有する設定アイテム情報が少なくとも1組、含まれている。
データタイプは、SetItem_xのタイプである。PJL算出方法が演算である場合は、データタイプとして、数値、文字列、または二値などが示される。なお、PJL算出方法がマッピングである場合は、「値選択」が示されている。
値条件は、SetItem_xを含む条件であって、後述するように、出力情報とともに用いられる。
一方、出力情報には、PJL_Item_yおよびPJL_Item_y_Valueの組合せを1つまたは複数有するPJLアイテム情報が少なくとも1組、含まれている。この組合せの意味は、マッピングの場合と基本的に同様である。ただし、PJL_Item_y_Valueには、固定的な値ではなく、SetItem_xを変数とする数式が示される。すなわち、PJL_Item_yおよびPJL_Item_y_Valueによって、SetItem_xを変数とする、PJL_Item_y=PJL_Item_y_Value、という関数が示される。
1つの出力情報において、1つのPJL_Item_yについて複数のPJL_Item_y_Valueが複数示されることがある。この場合は、入力情報のいずれかの設定アイテム情報に、同じ個数の値条件が示される。そして、これらの値条件のうちの満足しているものに対応する(同じ行にある)PJL_Item_y_ValueがPJL値を求めるために用いられる。
例えば、分解PJLテーブル1522(図8参照)においては、3組の設定アイテム情報が入力情報に含まれ、1組のPJLアイテム情報が出力情報に含まれている。いずれの設定アイテム情報にも値条件がない。そして、PJLアイテム情報には、PJL_Item_y_Valueとして、3組の設定アイテム情報それぞれに含まれるSetItem_x(B4、B5、およびB3)を変数とする関数(A2=B4*B5*B3)が1つだけ示されている。
または、分解PJLテーブル1523(図9参照)においては、2組の設定アイテム情報が入力情報に含まれ、1組のPJLアイテム情報が出力情報に含まれている。1つの設定アイテム情報に、2つの値条件が示される。そして、PJLアイテム情報には、PJL_Item_y_Valueとして、2つの値条件それぞれに応じた関数(A3=B6*B8、および、A3=B6*B8*2)が示される。各関数は、2組の設定アイテム情報それぞれに含まれるSetItem_x(B6、B8)の少なくとも1つを変数として用いている。
各分解PJLテーブル1052の内容は、プリンタドライバ1020PおよびPJLそれぞれの仕様に応じて開発者によって決められる。また、画像形成装置1の仕様の変更またはメンテナンスなどに応じて、管理者または開発者などによって適宜、分解PJLテーブル1052が更新される。
ところで、設定値がs×tの行列である場合は、この設定値の各行に対して1行目から順に1,2,…,sというインデックスを付けることができる。例えば、Bkがこのような行列に該当し、かつ、1つの行にk’個の成分を有する場合において、インデックスの集合を、Ik=(1,2,…) ・・・ (2)と表わせば、Bkを、Bk=Ik×(Bk_1×Bk_2×…×Bk_k’) ・・・ (3)と表わすことができる。
例えば、Baの設定項目が上述のページ単位設定である場合は、k’は「5」であり、かつ、Ba=Ia×(Ba_1×Ba_2×…×Ba_5) ・・・ (4)である。Ba_1、Ba_2、Ba_3、Ba_4、およびBa_5は、ページ範囲、印刷種類、給紙トレイ、用紙サイズ、およびステープルそれぞれの設定値である。
項目置換部1204は、ジョブ条件受付部1201によって得られた各設定項目の設定値の集合を表わす直積(以下、「入力直積」と記載する。)のうちの複数の行を有する設定値を、上に示した式(3)の右辺の形式に置換する。
例えば、入力直積が、B1×B2×B3×B4×B5×B6×B7×B8×B9、であり、かつ、B7が3つの成分からなる複数の行によって構成される(つまり、s×3の行列である)場合は、項目置換部1204は、この入力直積を、
B1×B2×B3×B4×B5×B6×B7×B8×B9=B1×B2×B3×B4×B5×B6×(I7×B7_1×B7_2×B7_3)×B8×B9 ・・・ (5)のように、一部の設定項目の設定値を複数の構成項目の設定値に置換する。
このように、項目置換部1204によると、一部の設定項目の設定値(例えば、B7)が複数の設定値に分割される。どの設定値を変換するのかは、プリンタドライバ1020PおよびPJLそれぞれの仕様に基づいて開発者によって予め決められている。なお、項目置換部1204は、1×tの行列である設定値を式(3)の形式に置換する場合もある。
直積分解部1205は、PJLインデックステーブル記憶部1202に記憶されているPJLインデックステーブル1051(図6参照)に基づいて、図13に示す手順で、入力直積を複数の部分直積に分解する。
直積分解部1205は、PJLインデックステーブル1051に格納されている1つ目のインデックスデータ1051aを参照する(#1701、#1702)。
そして、直積分解部1205は、参照したインデックスデータ1051aに示されるSetItem1、SetItem2、・・・の各アイテムに対応する設定値を入力直積から抽出し、抽出した設定値からなる集合を部分直積として取得する(#1703)。さらに、そのインデックスデータ1051aに示されるテーブルIDを取得する(#1704)。
直積分解部1205は、2つ目以降のインデックスデータ1051aについても同様に、それを参照し、それに基づいて入力直積から部分直積を取得し、テーブルIDを取得する(#1706、#1702〜#1704)。
ただし、項目置換部1204によって置換の処理がこの入力直積に行われた場合は、ステップ#1703において、置換後の入力直積から部分直積を取得する。
例えば、上記の式(5)の通りに入力直積が項目置換部1204によって置換され、かつ、PJLインデックステーブル1051の内容が図6に示す通りである場合は、直積分解部1205は、B1×B2、B4×B5×B3、B6×B8、B7_1×B7_2×B9、B7_2×B7_3×B8、の5つの部分直積に分解する。
このように入力直積から複数の部分直積を取得することによって、入力直積が複数の部分直積に分解される。
値変換部1206は、分解PJLテーブル記憶部1203に記憶されている分解PJLテーブル1052に基づいて、直積分解部1205によって得られた複数の部分直積それぞれの設定値をPJL値に変換する処理を行う。
ここで、ある1つの部分直積に注目し、その部分直積の設定値をPJL値に変換する処理の流れを、図14を参照しながら説明する。以下、注目した部分直積を「注目部分直積」と記載する。
値変換部1206は、注目部分直積とともに直積分解部1205によって取得されたテーブルIDに対応する分解PJLテーブル1052を分解PJLテーブル記憶部1203から読み出す(#1711)。以下、読み出した分解PJLテーブル1052を「注目分解PJLテーブル」と記載する。
値変換部1206は、注目分解PJLテーブルに示されるテーブルタイプをチェックする(#1712)。
テーブルタイプが一次元変換タイプである場合は(#1713でYes)、値変換部1206は、図15に示す手順で注目部分直積の設定値をPJL値に変換する(#1714)。なお、この場合は、注目部分直積は、一次元である。つまり、1つの値であり、または、1×tの行列である。
値変換部1206は、注目分解PJLテーブルに示されるPJL算出方法をチェックする(図15の#1721)。
PJL算出方法がマッピングである場合は(#1722でYes)、注目分解PJLテーブルに示される複数の行の中から、注目部分直積の設定値としてSetItem_x_Valueとして示す行を選出し、その行のPJL_Item_y_ValueをPJL_Item_yの値(つまり、PJL値)として抽出する(#1723)。
例えば、注目分解PJLテーブルが分解PJLテーブル1521(図7参照)であり、注目部分直積がB1×B2であり、B1およびB2それぞれが「b12」および「b22」である場合は、値変換部1206は、2行目を選出する。そして、A1として「a12」を抽出する。つまり、これにより、A1=a12、と決定し、注目部分直積が「a12」に変換される。
または、PJL算出方法が演算である場合は(#1722でNo)、値変換部1206は、注目分解PJLテーブルの各設定アイテム情報の値条件をチェックする(#1724)。
そして、値変換部1206は、いずれの設定アイテム情報にも値条件として条件式が示されない場合は(#1725でNo)、注目分解PJLテーブルに示されるPJL_Item_y_Valueへ設定アイテム情報それぞれのSetItem_x_Valueを代入することによって、PJL_Item_yを演算する(#1726)。
例えば、注目分解PJLテーブルが分解PJLテーブル1522(図8参照)であり、注目部分直積がB4×B5×B3であり、B4、B5、およびB3それぞれが「b49」、「b59」、および「b3」であり、PJL_Item_y_Valueが、B4*B5*B3、である場合は、値変換部1206は、「b49」、「b59」、および「b3」をPJL_Item_y_Valueに代入し、b49*b59*b39、を演算することによって、PJL値を得る。これにより、注目部分直積がb49*b59*b39の演算結果に変換される。
少なくとも1つの設定アイテム情報に値条件として条件式が示される場合は(#1725でYes)、値変換部1206は、これらの条件式のうち満足するほうの条件式と同じ行に示されるPJL_Item_y_Valueへ設定アイテム情報それぞれのSetItem_x_Valueを代入することによって、PJL_Item_yを演算する(#1727)。
例えば、注目分解PJLテーブルが分解PJLテーブル1523(図9参照)であり、注目部分直積がB6×B8であり、B6およびB8それぞれが「97」および「b89」であり、値条件が「B6<100」のときのPJL_Item_y_Valueが「B6*B8」であり、値条件が「B6≧100」のときのPJL_Item_y_Valueが「B6*B8*2」である場合は、値変換部1206は、「97」および「b89」を、B6*B8、に代入し、b97*b89、を演算することによって、PJL値を得る。これにより、注目部分直積がb97*b89の演算結果に変換される。
または、「B6」が「102」である場合は、「102」および「b89」を、B6*B8*2、に代入し、b97*b89*2、を演算することによって、PJL値を得る。これにより、注目部分直積がb97*b89*2の演算結果に変換される。
なお、PJLアイテム情報が注目分解PJLテーブルに複数含まれる場合は、値変換部1206は、ステップ#1723、#1726、#1727において、PJLアイテム情報それぞれのPJL_Item_y(PJL_Item_1、PJL_Item_2、…)についてPJL値を求める。
図14に戻って、テーブルタイプがインデックス付きタイプである場合は(#1713でNo)、値変換部1206は、注目部分直積を構成する複数の行を上から1つずつ順に注目し、図15に示した処理を実行する(#1715〜#1717)。
例えば、注目分解PJLテーブルが分解PJLテーブル1525(図7参照)であり、注目部分直積がB7_2×B9であり、かつ、
である場合は、値変換部1206は、1行目のPJL_Item_1のPJL_Item_1_Value(つまり、A5_1のPJL値)および2行目のPJL_Item_2のPJL_Item_2_Value(つまり、A5_2のPJL値)として、それぞれ、「a52」および「a53」を抽出する。さらに、2行目のA5_1のPJL値およびA5_2のPJL値として、それぞれ、「a51」および「a54」を抽出する。
つまり、注目部分直積が
に変換される。
値変換部1206は、直積分解部1205によって得られた複数の部分直積を1つずつ、以上の処理によってPJL値に変換する。
ジョブ条件受付部1201ないし値変換部1206の以上の処理によって、PJLにおける各項目のPJL値が得られる。例えば、B1×B2×…×B9、の入力直積から、A1×A2×A2×A3×A4_1×A4_2×A5_1×A5_2×A6、という直積で表わすことができるPJL値が得られる。
ジョブ指令部1207は、これらの部分直積が直積分解部1205によってPJL値に変換されたら、これらのPJL値を示す印刷データ1053をファイル1061を用いて生成し、ネットワークプリントジョブの指令とともに画像形成装置1へ送信する。なお、印刷データ1053は、PJLによって記述される。
そして、画像形成装置1は、印刷データ1053およびネットワークプリントジョブの指令を受信すると、印刷データ1053に基づいてネットワークプリントジョブを実行する。
図16は、クライアントにおけるネットワークプリントジョブの全体的な処理の流れの例を説明するフローチャートである。
次に、端末装置2がネットワークプリントジョブを画像形成装置1に実行させる際の全体的な処理の流れの例を、フローチャートを参照しながら説明する。
端末装置2は、図16に示す手順で処理を行う。なお、この処理は、プリンタドライバ1020Pに基づいて行われる。
端末装置2は、ファイル1061をアプリケーションによって開いた状態でユーザーが所定のコマンドを入力すると、ダイアログボックス1071(図5参照)を表示し、ユーザーがダイアログボックス1071に対して行った操作に応じて設定値を受け付ける(#1011)。ユーザーが設定値を入力しなかった設定項目については、デフォルト値で補えばよい。すべての設定項目の設定値は、直積によって表わされる。この直積が、入力直積である。
端末装置2は、入力直積を、それを構成する一部の設定値を複数の構成項目の設定値に置換する(#1012)。例えば、式(5)のように、B1×B2×…×B7×B8×B9、という入力直積を、B1×B2×…×(I7×B7_1×B7_2×B7_3)×B8×B9、に変換する。
さらに、端末装置2は、この入力直積を複数の部分直積に分解する(#1013)。分解の方法は、前に図6で説明した通りである。
端末装置2は、複数の部分直積を前から順に1つずつ注目し、注目した部分直積(注目部分直積)に対応するPJL値を算出する(#1014〜#1018)。つまり、注目部分直積をPJL値に変換する。PJL値を算出(変換)する方法は、前に図14および図16で説明した通りである。
そして、端末装置2は、算出されたPJL値およびファイル1061を用いて印刷データ1053を生成し(#1019)、ネットワークプリントジョブの指令とともに画像形成装置1へ送信する(#1020)。
[禁則組合せ情報の生成方法]
続いて、禁則組合せ情報の生成方法について説明する。
画像形成装置1は、上述の機能が使用される際に、種々の項目(アイテム)に関して設定がなされる。例えば、印刷に関する設定として、用紙のサイズの設定、用紙の向きの設定などが、なされる。また、印刷物の仕上げに関する設定として、ステープル綴じに使用するフィニッシャ10kの選択、ステープル綴じを行うか否かの設定、パンチ穴を開けるか否かの設定、パンチ穴の位置の設定、パンチ穴の個数の設定、折りを行うか否かおよび行う場合の折りの種類の設定、仕分けを行うか否かの設定、および仕分け先の設定が、なされる。
しかし、これらの設定を自由に行うことができるとは限らない。つまり、ある値(条件)をある1つの項目に設定した場合に、他の項目に設定できる値が制限されることがある。このように、ジョブを実行する装置において同時に適用することが禁止されている関係であって、ジョブについての複数の設定値の関係を「禁則関係」と記載する。
禁則関係を有する組合せは、2つの項目の値に限られない。3つ以上の項目の値が禁則関係を有する場合もある。
以下、禁則関係にある複数の項目の各値からなるグループを「禁則グループ」と記載する。禁則関係を有するグループの通りに値を設定することは、禁止される。
画像形成装置1には、多くの禁則グループが存在する。画像形成装置1は、PJL禁則組合せ情報を記憶している。PJL禁則組合せ情報とは、禁則関係となるPJLアイテム情報の組合せを示すものである。
端末装置2は、画像形成装置1が記憶するPJL禁則組合せ情報に基づいて、禁則組合せ情報を生成する。禁則組合せ情報は、端末装置2側で入力を受け付ける設定値における禁則関係となる組合せを示すものである。端末装置2は、禁則組合せ情報を生成するためのプログラムとして、禁則関係生成プログラム2020Pを補助記憶装置20dに記憶している。
図17は、端末装置2の禁則組合せ情報の生成に関する機能的構成の例を示す図である。図18は、本体禁則テーブルの例を示す図である。図19は、固定値選択型PJLテーブル間禁則情報の生成処理を示すフローチャートである。図20は、可変型PJLテーブル間禁則情報の生成処理を示すフローチャートである。図21は、分解PJLテーブル間禁則テーブルの例を示す図である。図22は、端末装置2が実行する禁則組合せ情報の生成処理の全体的な処理の流れの例を説明するフローチャートである。
禁則関係生成プログラム2020Pによると、図17に示すように、禁則情報取得部2201、データタイプ判別部2202、第1の禁則情報生成部2203、第2の禁則情報生成部2204、および禁則テーブル記憶部2205などの機能が端末装置2に実現される。禁則関係生成プログラム2020Pも、他のプログラムと同様に、上述の通り、RAM20bにロードされ、CPU20aによって実行される。
なお、PJLインデックステーブル記憶部1202には、図6に示すPJLインデックステーブル1051が記憶されている。分解PJLテーブル記憶部1203には、図7〜図12に示す分解PJLテーブル1052が記憶されている。
禁則情報取得部2201は、画像形成装置1(本体)から、本体禁則テーブル2151に記載されたPJL禁則組合せ情報2051を取得する。なお、禁則情報取得部2201は、PJL禁則組合せ情報の代わりに画像形成装置1の仕様書などを取得してもよい。
画像形成装置1の補助記憶装置10dには、図18に示す本体禁則テーブル2151が記憶されている。本体禁則テーブル2151は、画像形成装置1側(本体側)の仕様としてPJL(ジョブを実行する装置側で使用される言語の一例)で規定された禁則グループ(禁則仕様)を記載したテーブルであり、複数のPJL禁則組合せ情報2051を含んでいる。禁則関係の情報であり、禁則関係にある複数のPJLアイテム情報を含んでいる。各PJLアイテム情報は、「PJLの設定項目」(図18中「PJL_Item」)、「PJL値のデータタイプ」(図18中「PJLデータタイプ」)、および「PJL値」(図18中「PJL_Item_Value」)を含んでいる。
PJL値のデータタイプには、「固定値型」、「可変型数値」、および「可変型文字列」が存在する。「固定値型」には、値選択または二値などが含まれる。「可変型数値」には数値が含まれる。「可変型文字列」には文字列が含まれる。PJLのデータタイプは、PJL値に対応するテーブルタイプが「一次元変換タイプ」および「インデックス付きタイプ」のいずれのタイプであるかという観点でさらに区分されていてもよい。
なお、PJL禁則組合せ情報2051は、禁則関係となる3つ以上のPJLアイテム情報の組合せを示すものであってもよい。
具体的には、1行目のPJL禁則組合せ情報2051aは、PJLの設定項目が「A1」であり、PJL値のデータタイプが「固定値」であり、PJL値が「a11」であるPJLアイテム情報と、PJLの設定項目が「A6」であり、PJL値のデータタイプが「固定値」であり、PJL値が「a61」であるPJLアイテム情報とが禁則関係を有することを示している。
2行目のPJL禁則組合せ情報2051bは、PJLの設定項目が「A2」であり、PJL値のデータタイプが「可変型数値」であり、PJL値が「P3(A2)」(P3は関数)であるPJLアイテム情報と、PJLの設定項目が「A3」であり、PJL値のデータタイプが「可変型数値」であり、PJL値が「P5(A3)」(P5は関数)であるPJLアイテム情報とが禁則関係を有することを示している。
3行目のPJL禁則組合せ情報2051cは、PJLの設定項目が「A4_1」であり、PJL値のデータタイプが「可変型文字列」であり、PJL値が任意(任意の文字列)であるPJLアイテム情報と、PJLの設定項目が「A1」であり、PJLのデータタイプが「固定値型」であり、PJL値が「a12」であるPJLアイテム情報とが禁則関係を有することを示している。
データタイプ判別部2202は、禁則情報取得部2201にて取得したPJL禁則組合せ情報2051に含まれるPJL値のデータタイプが固定値選択型であるか可変型であるかを判別する。なお、PJL値のデータタイプが1つでも可変型であれば、データタイプ判別部2202はPJL値のデータタイプが可変型であると判別する。
具体的には、PJL禁則組合せ情報2051aは、PJL値のデータタイプが固定値選択型であると判別される。PJL禁則組合せ情報2051bおよび2051cは、PJL値のデータタイプが可変型であると判別される。
第1の禁則情報生成部2203は、PJL値のデータタイプが可変型であるとデータタイプ判別部2403にて判別した場合に、図19に示す手順で、そのPJL禁則組合せ情報2051と、分解PJLテーブル1052とに基づいて禁則組合せ情報2052を生成する。
第1の禁則情報生成部2203は、PJL禁則組合せ情報2051に記載されているPJLの設定項目およびPJL値の両方と一致する分解PJLテーブルIDおよび分解PJLテーブル内インデックスの情報の組合せを、分解PJLテーブル1052から抽出する(#2101)。この組合せは、禁則組合せ情報2052となる。
例えば、PJL禁則組合せ情報2051aには、「A1」というPJLの設定項目と「a11」というPJL値とで規定される情報と、「A6」というPJLの設定項目と「a61」というPJL値とで規定される情報とが記載されている。この場合、第1の禁則情報生成部2203は、「A1」および「a11」の両方と一致する情報である「T1」という分解PJLテーブルIDおよび「T11」という分解PJLテーブル内インデックスで規定される設定値の情報と、「A6」および「a61」の両方と一致する情報である「T6」という分解PJLテーブルIDおよび「T61」という分解PJLテーブル内インデックスで規定される設定値の情報との組合せを、分解PJLテーブル1521(図7)および1526(図12)の各々から抽出する。この組合せは、禁則組合せ情報2052aとなる。
同様に、第1の禁則情報生成部2203は、「A1」および「a11」の両方と一致する情報である「T1」という分解PJLテーブルIDおよび「T11」という分解PJLテーブル内インデックスで規定される設定値の情報と、「A6」および「a61」の両方と一致する情報である「T6」という分解PJLテーブルIDおよび「T63」という分解PJLテーブル内インデックスで規定される設定値の情報との組合せを、分解PJLテーブル1521(図7)および1526(図12)の各々から抽出する。この組合せは、禁則組合せ情報2052bとなる。
続いて、第1の禁則情報生成部2203は、抽出した情報を禁則組合せ情報2052として分解PJLテーブル間禁則テーブル2152(図21)(禁則テーブルの一例)に書き込む(#2102)。
第2の禁則情報生成部2204は、PJL値のデータタイプが可変型であるとデータタイプ判別部2202にて判別した場合に、図20に示す手順で、そのPJL禁則組合せ情報2051と、分解PJLテーブル1052とに基づいて禁則組合せ情報2052を生成する。
第2の禁則情報生成部2204は、PJL禁則組合せ情報2051に記載されているPJLの設定項目と一致する分解PJLテーブルIDおよび分解PJLテーブル内インデックスの情報の組合せを、分解PJLテーブル1052から抽出する(#2201)。ステップ#2201の処理では、第2の禁則情報生成部2204は、PJL値を参照しない。この組合せは、禁則組合せ情報2052となる。
例えば、PJL禁則組合せ情報2051bには、「A2」というPJLの設定項目と「P3(A2)」というPJL値とで規定される情報と、「A3」というPJLの設定項目と「P5(A3)」というPJL値とで規定される情報とで規定される情報とが記載されている。この場合、第2の禁則情報生成部2204は、「A2」と一致する情報である「T2」という分解PJLテーブルIDおよび「T21」という分解PJLテーブル内インデックスで規定される設定値の情報と、「A3」と一致する情報である「T3」という分解PJLテーブルIDおよび「T31」という分解PJLテーブル内インデックスで規定される設定値の情報との組合せを、分解PJLテーブル1522(図8)および1523(図9)の各々から抽出する。この組合せは、禁則組合せ情報2052cとなる。
同様に、第2の禁則情報生成部2204は、「A2」と一致する情報である「T2」という分解PJLテーブルIDおよび「T21」という分解PJLテーブル内インデックスで規定される設定値の情報と、「A3」と一致する情報である「T3」という分解PJLテーブルIDおよび「T32」という分解PJLテーブル内インデックスで規定される設定値の情報との組合せを、分解PJLテーブル1522(図8)および1523(図9)の各々から抽出する。この組合せは、禁則組合せ情報2052dとなる。
また、PJL禁則組合せ情報2051cには、「A4_1」というPJLの設定項目で規定される情報と、「A1」というPJLの設定項目と「a12」というPJL値とで規定される情報とが記載されている。この場合、第2の禁則情報生成部2204は、「A4_1」と一致する情報である「T4」という分解PJLテーブルIDおよび「T41」という分解PJLテーブル内インデックスで規定される設定値の情報と、「A1」および「a12」の両方と一致する情報である「T1」という分解PJLテーブルIDおよび「T12」という分解PJLテーブル内インデックスで規定される設定値の情報との組合せを、分解PJLテーブル1524(図10)および1521(図7)の各々から抽出する。この組合せは、禁則組合せ情報2052eとなる。
同様に、第2の禁則情報生成部2204は、「A4_1」と一致する情報である「T4」という分解PJLテーブルIDおよび「T42」という分解PJLテーブル内インデックスで規定される設定値の情報と、「A1」および「a12」の両方と一致する情報である「T1」という分解PJLテーブルIDおよび「T12」という分解PJLテーブル内インデックスで規定される設定値の情報との組合せを、分解PJLテーブル1524(図10)および1521(図7)の各々から抽出する。この組合せは、禁則組合せ情報2052fとなる。
続いて、第2の禁則情報生成部2204は、抽出した情報を禁則組合せ情報2052として分解PJLテーブル間禁則テーブル2152に書き込む(#2202)。ステップ#2202において、第2の禁則情報生成部2204は、PJL禁則組合せ情報2051のPJL値のデータタイプが可変型である場合には、抽出した禁則組合せ情報2052に含まれるそのPJL値を付加して、分解PJLテーブル間禁則テーブル2152(図21)に書き込む。
例えば、PJL禁則組合せ情報2051bにおける2つのPJLアイテム情報は、それぞれ「P3(A2)」および「P5(A3)」というPJL値を含んでいる。この場合、禁則組合せ情報2052cおよび2052dの各々は、これらのPJL値が付加されて、分解PJLテーブル間禁則テーブル2152に書き込まれる。
また、PJL禁則組合せ情報2051cにおける一方のPJLアイテム情報は、PJL値が任意の文字列となっている。この場合、禁則組合せ情報2052eおよび2052fの各々は、このPJL値が付加されて、分解PJLテーブル間禁則テーブル2152に書き込まれる。
禁則テーブル記憶部2205には、図21に示す分解PJLテーブル間禁則テーブル2152が記憶されている。分解PJLテーブル間禁則テーブル2152は、端末装置2において入力を受け付ける設定値の組合せであって、禁則関係となる設定値の組合せを示すものであり、複数の禁則組合せ情報2052を含んでいる。禁則組合せ情報2052に含まれる設定値に対応するPJL値が固定値のデータタイプである場合、禁則組合せ情報2052は、禁則関係となる設定値に関する分解PJLテーブル1052を特定する情報である分解PJLテーブルIDと、分解PJLテーブル1052における禁則関係となる設定値に対応する分解PJLテーブル内インデックス(図21中「分解PJL内Index」)とを含んでいる。禁則組合せ情報2052に含まれる設定値に対応するPJL値が可変型のデータタイプである場合、禁則組合せ情報2052は、禁則関係となる設定値のPJL値の条件(図21中「PJL valueの条件」)をさらに含んでいる。
なお、禁則組合せ情報2052は、禁則関係となる3つ以上の設定値の組合せを示すものであってもよい。
具体的には、禁則組合せ情報2052aは、「T1」という分解PJLテーブルIDおよび「T11」という分解PJLテーブル内インデックスで規定される設定値と、「T6」という分解PJLテーブルIDおよび「T61」という分解PJLテーブル内インデックスで規定される設定値とが禁則関係にあることを示している。
また禁則組合せ情報2052cは、「T2」という分解PJLテーブルIDおよび「T21」という分解PJLテーブル内インデックスで規定されるPJL値が「P3(A2)」というPJL値の条件を満たし、かつ「T3」という分解PJLテーブルIDおよび「T31」という分解PJLテーブル内インデックスで規定されるPJL値が「P5(A3)」というPJL値の条件を満たす場合、これらの設定値は禁則関係にあることを示している。
さらに禁則組合せ情報2052eは、「T4」という分解PJLテーブルIDおよび「T41」という分解PJLテーブル内インデックスで規定されるPJL値が任意の値(文字列)である設定値と、「T1」という分解PJLテーブルIDおよび「T12」という分解PJLテーブル内インデックスで規定される設定値とが禁則関係にあることを示している。
次に、端末装置2が実行する禁則組合せ情報の生成処理を行う際の全体的な処理の流れの例を、図22に示すフローチャートを参照しながら説明する。なお、この処理は、禁則関係生成プログラム2020Pに基づいて行われる。
端末装置2は、画像形成装置1との接続が確立された場合などの任意のタイミングで、本体禁則テーブル2151に記載されたPJL禁則組合せ情報2051を取得する(#2001)。
次に端末装置2は、取得したPJL禁則組合せ情報2051のPJL値のデータタイプが固定値選択型であるか可変型であるかを判別する(#2002)。
ステップ#2002において、取得したPJL禁則組合せ情報2051のPJL値のデータタイプが固定値選択型であると判別した場合(#2002で「固定値選択型」)、端末装置2は、固定値選択型PJLテーブル間禁則情報生成処理(図19)を行うことにより、禁則組合せ情報を生成し(#2003)、ステップ#2005の処理へ進む。
ステップ#2002において、取得したPJL禁則組合せ情報2051のPJL値のデータタイプが可変型であると判別した場合(#2002で「可変型」)、端末装置2は、可変型PJLテーブル間禁則情報生成処理(図20)を行うことにより、禁則組合せ情報を生成し(#2004)、ステップ#2005の処理へ進む。
ステップ#2005において、端末装置2は、本体禁則テーブル2151に記載された全てのPJL禁則組合せ情報2051についての禁則組合せ情報を生成したか否かを判別する(#2005)。
ステップ#2005において、本体禁則テーブル2151に記載された全てのPJL禁則組合せ情報2051についての禁則組合せ情報を生成しないと判別した場合(#2005でNO)、端末装置2は、ステップ#2001の処理へ進み、本体禁則テーブル2151に記載された別のPJL禁則組合せ情報2051を取得する。
ステップ#2005において、本体禁則テーブル2151に記載された全てのPJL禁則組合せ情報2051についての禁則組合せ情報を生成したと判別した場合(#2005でYES)、端末装置2は処理を終了する。
[禁則関係の検出方法]
続いて、禁則関係の検出方法について説明する。
端末装置2は、ダイアログボックス1071(図5)において、少なくとも1つの設定値の変更を受け付けた場合に、PJLインデックステーブル1051、分解PJLテーブル1052、および分解PJLテーブル間禁則テーブル2152(図21)に基づいて、変更を受け付けた設定値と、端末装置2において設定されている他の設定値との禁則関係の有無を検出する。端末装置2は、禁則関係を検出するためのプログラムとして、禁則関係検出プログラム2030Pを補助記憶装置20dに記憶している。
図23は、端末装置2の禁則関係の検出に関する機能的構成の例を示す図である。図24は、固定型選択型禁則検出処理を示すフローチャートである。図25は、可変型禁則検出処理を示すフローチャートである。図26は、端末装置2が実行する禁則関係の検出処理の全体的な処理の流れの例を説明するフローチャートである。
禁則関係検出プログラム2030Pによると、図23に示すように、設定受付部2401、分解PJLテーブルID検索部2402、データタイプ判別部2403、第1の禁則検出部2404、第2の禁則検出部2405、および禁則関係出力部2406などが端末装置2に実現される。禁則関係検出プログラム2030Pも、他のプログラムと同様に、上述の通り、RAM20bにロードされ、CPU20aによって実行される。
なお、PJLインデックステーブル記憶部1202には、図6に示すPJLインデックステーブル1051が記憶されている。分解PJLテーブル記憶部1203には、図7〜図12に示す分解PJLテーブル1052が記憶されている。禁則テーブル記憶部2205には、図21に示す分解PJLテーブル間禁則テーブル2152が記憶されている。
設定受付部2401は、ダイアログボックス1071(図5)において設定値の変更2450を受け付ける。
ここでは、「B1」という設定項目(図7)の設定値が「b11」から「b12」に変更された場合(ケース1と記す)、および「B6」という設定項目(図9)の設定値が「90」に変更された場合(ケース2と記す)とを例に挙げて説明する。
分解PJLテーブルID検索部2402は、PJLインデックステーブル1051を参照し、設定値が変更された設定項目に対応する分解PJLテーブルIDを検索する。検索の結果、1つの設定項目に対して複数の分解PJLテーブルが抽出されてもよい。
具体的には、ケース1では、「B1」に対応する「T1」という分解PJLテーブルIDが抽出(特定)される。ケース2では、「B6」に対応する「T3」という分解PJLテーブルIDが抽出される。
データタイプ判別部2403は、抽出した分解PJLテーブルIDを有する分解PJLテーブル1052を参照して、PJLインデックステーブル1051における変更された設定値のデータタイプが固定値選択型であるか、あるいは可変型であるかを判別する。固定値選択型とは、複数の固定値の中から値が選択されるデータタイプであり、値選択または二値などである。可変型とは、数値または文字列(string)などである。
具体的には、ケース1では、「T1」という分解PJLテーブルIDを有する分解PJLテーブル1521(図7)を参照し、「b11」という設定値のデータタイプが固定値選択型であると判別される。ケース2では、「T3」という分解PJLテーブルIDを有する分解PJLテーブル1523(図9)を参照し、「90」という設定値のデータタイプが可変型であると判別される。
第1の禁則検出部2404は、変更された設定値のデータタイプが固定値選択型であるとデータタイプ判別部2403にて判別した場合に、図24に示す手順で、変更後の設定値と他の設定値とが禁則関係にあるか否かを検出する(固定値選択型禁則検出処理)。
第1の禁則検出部2404は、分解PJLテーブルID検索部2402にて抽出した分解PJLテーブルIDを有する分解PJLテーブル1052の中から、変更された設定値を含む分解PJLテーブル内インデックスを検索(特定)する(#2401および#2402)。検索の結果、1つの変更された設定値に対して複数の分解PJLテーブル内インデックスが特定されてもよい。
具体的には、ケース1では、「T1」という分解PJLテーブルIDを有する分解PJLテーブル1521(図7)の中から、「b11」という設定値を含む「T11」という分解PJLテーブル内インデックスが特定される。
次に、第1の禁則検出部2404は、分解PJLテーブル間禁則テーブル2152から、特定した分解PJLテーブル内インデックスと禁則関係を有する分解PJLテーブル内インデックスを抽出する(#2403および#2404)。検索の結果、抽出される分解PJLテーブル内インデックスの数は任意であり、ゼロであってもよい。
具体的には、ケース1では、{T11,T61}という分解PJLテーブル内インデックスの組合せを含む禁則組合せ情報2052aから、「T61」という分解PJLテーブル内インデックスが抽出され、{T11,T63}という分解PJLテーブル内インデックスの組合せを含む禁則組合せ情報2052bから「T63」という分解PJLテーブル内インデックスが抽出される。
次に、第1の禁則検出部2404は、禁則関係を有する分解PJLテーブル内インデックスから設定値を抽出する。第1の禁則検出部2404は、抽出した設定値がAND条件となるような条件を規定し、現在の設定値と比較する(#2405)。
第1の禁則検出部2404は、比較の結果、規定した条件の設定値と現在の設定値とが一致すれば、現在の設定値は禁則関係にあることを検出し(#2406)、一致しなければ禁則関係を検出しない。禁則関係を有する分解PJLテーブル内インデックスが複数抽出された場合には、全ての禁則関係を有する分解PJLテーブル内インデックスについて比較を繰り返す。
具体的には、ケース1では、「T11」というPJLテーブル内インデックス(図7)から「B1」という設定項目の「b11」という設定値(B1=b11)および「B2」という設定項目の「b21」という設定値(B2=b21)が抽出され、「T61」というPJLテーブル内インデックス(図12)から「B7_3」という設定項目の「b74」という設定値(B7_3=b74)が抽出される。そして、抽出した設定値から「B1=b11、B2=b21、かつB7_3=b74」という条件が規定され、この条件の設定値と、現在の設定値(現在のダイアログボックス1071(図5)において設定されている設定値)とが比較される。
第1の禁則検出部2404は、抽出した禁則組合せ情報2052に含まれる分解PJLテーブル内インデックスの中に、インデックス付きタイプのテーブルタイプのもの(s×tの行列である設定値を含むもの)が含まれている場合には(#2407でYES)、分解PJLテーブル内インデックスの設定値のインデックスを1増やして、分解PJLテーブル内インデックスの次の設定と現在の設定値とを比較する。第1の禁則検出部2404は、設定値のインデックスが最大値を超えるまで(全ての設定値の比較を終えるまで)、上記の比較を繰り返す(#2408および#2409)。
第2の禁則検出部2405は、変更された設定値のデータタイプが可変型であるとデータタイプ判別部2403にて判別した場合に、図25に示す手順で、変更後の設定値と他の設定値とが禁則関係にあるか否かを検出する(可変型禁則検出処理)。
第2の禁則検出部2405は、分解PJLテーブルID検索部2402にて抽出した分解PJLテーブルIDを有する分解PJLテーブルの中から、変更された設定値と合致する値条件列を有する分解PJLテーブル内インデックスを検索(特定)する(#2501および#2502)。検索の結果、1つの変更された設定値に対して複数の分解PJLテーブル内インデックスが特定されてもよい。
具体的には、ケース2では、「T3」という分解PJLテーブルIDを有する分解PJLテーブル1523(図9)の中から、「B6=90」という変更された設定値と合致する値条件列(「B6<100」)を有する「T31」という分解PJLテーブル内インデックスが特定される。「T32」という分解PJLテーブル内インデックスは、値条件列が合致しないので特定されない。
次に、第2の禁則検出部2405は、特定した分解PJLテーブル内インデックスに含まれる関数で、変更された設定値を用いて演算を行うことにより、変更された設定値をPJL値に変換する(#2503)。演算の種類には、設定値が数値の場合は関数を用いた演算などがあり、設定値が文字列の場合は文字列の分割、結合、または文字列長の取得などがある。
具体的には、ケース2では、「T31」という分解PJLテーブル内インデックスの「B6*B8」という関数に「B6=90」を代入して演算を行う。
次に、第2の禁則検出部2405は、禁則組合せ情報2052のPJL値の条件を演算結果が満たしている場合には、分解PJLテーブル間禁則テーブル2152の中から、特定した分解PJLテーブルIDおよび分解PJLテーブル内インデックス、ならびに演算結果(PJL値)と禁則関係を有する分解PJLテーブル内インデックスを抽出する(#2504および#2505)。検索の結果、抽出される分解PJLテーブル内インデックスの数は任意であり、ゼロであってもよい。
具体的には、ケース2では、演算結果が「P5(A3)」というPJL値の条件を満たしている場合には、{T21,T31}という分解PJLテーブル内インデックスの組合せを含む禁則組合せ情報2052cから、「T21」という分解PJLテーブル内インデックスが抽出される。
次に、第2の禁則検出部2405は、禁則関係を有する分解PJLテーブル内インデックスから設定値を抽出する。第2の禁則検出部2405は、抽出した設定値と現在の設定値と比較する(#2506)。
禁則組合せ情報2052において、抽出した分解PJLテーブル内インデックスがPJL値の条件(図21中「PJL valueの条件」)を含んでいる場合、ステップ#2506において、第2の禁則検出部2405は、その分解PJLテーブル内インデックスの現在の設定値を用いてPJL値を算出し、算出したPJL値とPJL値の条件とを比較する。
第2の禁則検出部2405は、抽出した設定値と現在の設定値とが一致する場合(抽出した分解PJLテーブル内インデックスがPJL値の条件を含んでいる場合には、算出したPJL値がPJL値の条件を満たしているときは)、現在の設定値が禁則関係にあることを検出し(#2507)、そうでない場合には禁則関係を検出しない。禁則関係を有する分解PJLテーブル内インデックスが複数抽出された場合には、全ての禁則関係を有する分解PJLテーブル内インデックスについて比較を繰り返す。
具体的には、ケース2では、関連する禁則組合せ情報2052cにおいて、「T21」という禁則関係を有する分解PJLテーブル内インデックスが「P3(A2)」というPJL値の条件を含んでいる。このため、禁則関係を有する分解PJLテーブル内インデックスの現在の設定値を用いて「B4*B5*B3」という関数でPJL値が算出され、算出したPJL値と、「P3(A2)」というPJL値の条件とが比較される。
第2の禁則検出部2405は、抽出した禁則組合せ情報2052に含まれる分解PJLテーブル内インデックスの中に、インデックス付きテーブルタイプのもの(s×tの行列である設定値を含むもの)が含まれている場合には(#2508でYES)、分解PJLテーブル内インデックスの設定値のインデックスを1増やして、分解PJLテーブル内インデックスの次の設定値と現在の設定値とを比較する。第2の禁則検出部2405は、設定値のインデックスが最大値を超えるまで(全ての設定値の比較を終えるまで)、上記の比較を繰り返す(#2509および#2510)。
禁則関係出力部2406は、第1の禁則検出部2404または第2の禁則検出部2405による禁則関係の検出結果2451を出力する。
次に、端末装置2が禁則関係の検出出理を行う際の全体的な処理の流れの例を、図26に示すフローチャートを参照しながら説明する。なお、この処理は、禁則関係検出プログラム2030Pに基づいて行われる。
端末装置2は、ダイアログボックス1071(図5)において設定値の変更2450を受け付ける(#2301)と、PJLインデックステーブル1051を参照し、変更された設定値に対応する設定項目を含む分解PJLテーブルIDを検索する(#2302)。続いて端末装置2は、変更された設定値に対応する設定項目を含む分解PJLテーブルIDのうち、未処理の(#2305または#2306の処理を経ていない)分解PJLテーブルIDがあるか否かを判別する(#2303)。
ステップ#2303において、未処理の分解PJLテーブルIDがあると判別した場合(#2303でYES)、端末装置2は、未処理の分解PJLテーブルIDの分解PJLテーブル1052を参照し、変更された設定値のデータタイプが固定値選択型であるか可変型であるかを判別する(#2304)。
ステップ#2304において、変更された設定値のデータタイプが固定値選択型であると判別した場合(#2304で「固定値選択型」)、端末装置2は、固定値選択型禁則検出処理(図24)を行うことにより、現在の設定値の禁則関係を検出し(#2305)、ステップ#2302の処理へ進む。
ステップ#2304において、変更された設定値のデータタイプが可変型であると判別した場合(#2304で「可変型」)、端末装置2は、可変型禁則検出処理(図25)を行うことにより、現在の設定値の禁則関係を検出し(#2306)、ステップ#2302の処理へ進む。
ステップ#2303において、未処理の分解PJLテーブルIDが無いと判別した場合(#2303でNO)、端末装置2は、後述する禁則関係情報受信部3105に対して禁則関係の検出結果2451を出力し、処理を終了する。
[禁則関係の回避方法]
続いて、禁則関係が検出された場合の禁則関係の回避方法について説明する。
図27は、端末装置2の禁則関係の回避に関する機能的構成の例を示す図である。図28は、禁則グループテーブル3141の例を示す図である。図29は、優先度辞書テーブル3142の例を示す図である。図30は、属性辞書テーブル3143の例を示す図である。図31は、コントロールの例を示す図である。図32は、第1の禁則処理テーブル3144の例を示す図である。図33は、第2の禁則処理テーブル3145の例を示す図である。
禁則回避条件式生成プログラム3020Pによると、図27に示すように、禁則グループテーブル生成部3100、禁則グループ検索部3101、項目ソート部3102、第1の条件式生成部3103、第2の条件式生成部3104、禁則関係情報受信部3105、ダイアログ表示部3106、設定画面表示部3107、禁則グループテーブル記憶部3131、辞書テーブル記憶部3132、および禁則処理テーブル記憶部3134などが実現される。禁則回避条件式生成プログラム3020Pも、他のプログラムと同様に、上述の通り、RAM20bにロードされ、CPU20aによって実行される。
禁則グループテーブル生成部3100は、禁則組合せ情報2052に基づいて、禁則グループテーブル3141を作成する。
禁則グループテーブル記憶部3131には、禁則グループテーブル3141が記憶される。禁則グループテーブル3141は、複数の項目の値同士のグループごとの、禁則関係の有無を示すテーブルである。図28には、パンチ穴を開ける仕上げに関する設定のための禁則グループテーブル3141が示されている。
禁則グループテーブル3141には、4つの項目「用紙サイズ」、「原稿方向」、「パンチ穴数」、および「パンチ位置」が示される。
用紙サイズは、パンチ穴を開ける対象である印刷物のサイズである。この項目は、「A3」および「A4」のいずれかの値を取り得る。「A3」は、A3サイズを意味し、「A4」は、A4サイズを意味する。パンチ穴数は、印刷物に開けるパンチ穴の数である。パンチ位置は、印刷物における、パンチ穴を開ける位置である。
原稿方向は、印刷物の向きである。この項目は、「縦」および「横」のいずれかの値を取り得る。「縦」は、縦長(portrait)であることを意味し、「横」は、横長(landscape)であることを意味する。
図27に戻って、辞書テーブル記憶部3132には、優先度辞書テーブル3142および属性辞書テーブル3143が記憶される。
優先度辞書テーブル3142には、図29のように、項目ごとの優先度が示される。「優先度」は、禁則関係の回避において他の項目よりも優先的にその項目の値が維持される度合である。つまり、優先度が低い項目ほど、禁則関係の回避のために別の値に変更されるなどの処理が施される。また、優先度は、「重要度」と言うことができる。他の項目よりも優先的に設定されることが望ましい項目に対して、より高い優先度が設定される。なお、優先度は、「1」、「2」、・・・の順に高い。
属性辞書テーブル3143には、図30のように、項目ごとの属性データ3050が格納されている。以下、各属性データ3050を「属性データ3051」、「属性データ3052」、「属性データ3053」、「属性データ3054」、「属性データ3055」、「属性データ3056」・・・と区別して記載することがある。
属性データ3050において、「設定値」は、その項目に対して設定することができる値である。
「RecoverValue」は、各設定値を禁則関係にならないように変更する際の候補の値である。つまり、禁則関係から正常な状態への回復のための候補の値である。RecoverValueを1つだけ有する設定値もあれば、複数有する設定値もある。1つの場合は、候補の値が「RecoverValue1」に示される。複数の場合は、優先的に用いられる候補の値から順に「RecoverValue1」、「RecoverValue2」、・・・に示される。
「コントロールタイプ」は、その項目に対して値を設定するために用いられるコントロールのタイプである。
なお、「コントロール」は、情報または指令の入力を受け付けるための表示用の要素(オブジェクト)である。1つの項目の設定のために複数のコントロールが組み合わせて使用される場合もある。
「ComboBox」、「CheckBox」、「RadioButton」、および「Button」は、それぞれ、公知の、例えばHTML(Hypertext Markup Language)におけるコンボボックス、チェックボックス、ラジオボタン、およびボタンがコントロールとして用いられることを意味する。
「ペアとなるCheckBox」は、コントロールタイプがCheckBoxと他のコントロールとの組合せ(ペア)である場合における、このCheckBoxの識別子である。
例えば、Foldingの項目のコントロールタイプは、「CheckBox+ComboBox」である。これは、チェックボックスおよびコンボボックスが組み合わされてコントロールとして用いられることを意味する。例えば、図31(A)のようにチェックボックス3041とコンボボックス3042とがコントロールとして用いられる。そして、チェックボックス3041に「CheckFold」という識別子が付されていれば、属性データ3051の通り、「CheckFold」が、ペアとなるCheckBoxとして設定される。なお、チェックボックス3041が「On」に切り換えられ、三角のボタンが選択されると、図31(B)のように「中折り」および「三つ折り」の値を選択肢と示すドロップダウンリストが表われる。
なお、優先度辞書テーブル3142には、図29に示した各項目の優先度のほか、用紙サイズ、パンチ穴数、およびパンチ位置それぞれの優先度が示される。同様に、属性辞書テーブル3143には、図30に示した各項目の属性データ3050のほか、用紙サイズ、パンチ穴数、およびパンチ位置それぞれの属性データ3050が格納されている。
図27に戻って、禁則処理テーブル記憶部3134には、第1の禁則処理テーブル3144および第2の禁則処理テーブル3145が記憶される。
第1の禁則処理テーブル3144には、図32のように、コントロールタイプに応じて、どのような処理を禁則処理(禁則関係を回避するための処理)として実行するのか、および、その処理を識別する番号(コマンドタイプ番号)が示される。
第2の禁則処理テーブル3145にも、図33のように、コントロールタイプごとの禁則処理およびコマンドタイプ番号が示される。
優先度辞書テーブル3142、属性辞書テーブル3143、第1の禁則処理テーブル3144、および第2の禁則処理テーブル3145は、画像形成装置1の開発者などによって予め用意される。
続いて、禁則回避条件式の生成方法について説明する。
図34は、条件式生成処理の流れの例を説明するフローチャートである。
禁則グループ検索部3101は、禁則グループテーブル3141(図28参照)に示されるグループの中から禁則グループ(禁則関係にあるグループ、つまり「×」のペア)を検索する。
項目ソート部3102は、禁則グループが禁則グループ検索部3101によって見つかると、その禁則グループを構成する項目を、優先度辞書テーブル3142(図29参照)に示される優先度の高い順に並べる。
例えば、禁則グループテーブル3141において太枠で示す右から3列目、上から2行目の「×」に係る禁則グループが見つかった場合は、用紙サイズ、原稿方向、パンチ穴数、およびパンチ位置を、それぞれの優先度の高い順に、用紙サイズ、パンチ穴数、パンチ位置、および原稿方向の順に並べる。なお、優先度が等しい複数の項目は、任意に並べればよい。
そして、項目ソート部3102は、優先度が高い順に各項目に「1」、「2」、・・・の優先順位を付ける。ただし、優先度が等しい項目については、同じ優先順位を付ける。したがって、上述の例の場合は、用紙サイズおよびパンチ穴数の優先度が等しいので、用紙サイズ、パンチ穴数、パンチ位置、および原稿方向のそれぞれに、「1」、「1」、「3」、および「4」の優先順位を付ける。
第1の条件式生成部3103および第2の条件式生成部3104は、項目ソート部3102による結果に応じて、禁則グループ検索部3101によって見つかった禁則グループの禁則回避条件式を生成する。
ところで、禁則回避条件式は、次の(6)式のフォーマットを有する。
左辺の要素は、次の内容を示す。<Item1>は、トリガアイテムである。<Index>は、禁則回避条件式を識別する番号(例えば、1,2,3,・・・のようなシーケンス番号)である。
なお、「トリガアイテム」は、禁則グループの項目のうちの、値を設定しようとしている項目である。また、後に記載する「ターゲットアイテム」は、この禁則グループの項目のうちの、トリガアイテムよりも先に設定が行われている項目である。
右辺の要素は、次の内容を示す。<Item2>、・・・、<Item(m+n)>は、いずれも、禁則グループの項目のうちの、トリガアイテム以外の項目であって、左(先頭)から順に優先度の高い項目を示す。
<ItemK-value>は、<ItemK>の値である。ただし、1≦K≦(m+n)である。例えば、<Item2-value>は、<Item2>の値である。「m+n」は、次元数である。禁則グループテーブル3141(図28参照)の場合は、「4」である。
つまり、<Item1>に<Item1-Value>が設定されると、<Item1-value>、<Item2-value>、・・・、<Item(m+n)-value>のグループに禁則関係が生じる。
<Type>は、上に述べた禁則処理のコマンドタイプ番号である。ただし、<Type>は禁則回避条件式に含まれない場合がある。
<ItemL-Recover value>は、この禁則グループから禁則関係を回避することができる、<ItemL>の値である。ただし、2≦L≦(m+n)である。すなわち、<ItemL-value>を<ItemL-Recover value>に変更すれば、禁則関係が回避される。ただし、すべての<ItemL>に<ItemL-Recover value>があるとは、限らない。1つもない場合もある。
第1の条件式生成部3103は、禁則グループ検索部3101によって見つかった禁則グループの中の優先度が最も低い項目が1つだけであった際に、この項目がトリガアイテムであり残りの項目がターゲットアイテムである場合の禁則回避条件式を次のように生成する。
第1の条件式生成部3103は、(6)式の左辺の<Item1>へこの項目(トリガアイテム)の識別子(例えば、項目名)を代入し、未だ発行されていない番号のうち最も小さい番号を<Index>へ代入する。
さらに、第1の条件式生成部3103は、(6)式の右辺の<Type>を削除する。または、禁則処理を行わないことを示す番号を<Type>へ代入してもよい。<Item2>、・・・、<Item(m+n)>へ、トリガアイテム以外の項目(残りの項目)の項目名を、優先順位の高い順に代入する。<Item2-Recover value>、・・・、<Item(m+n)-Recover value>を削除する。
例えば、上述の項目「用紙サイズ」の値「A3」、項目「原稿方向」の値「横」、項目「パンチ穴数」の値「3穴」、および項目「パンチ位置」の値「上」(図28の太枠の禁則グループ)は、項目ソート部3102によって、優先度の高い順に「用紙サイズ」の値「A3」、項目「パンチ穴数」の値「3穴」、項目「パンチ位置」の値「上」、および項目「原稿方向」の値「横」と並べられる。しかも、原稿方向は、この禁則グループの中で優先度が単独で最も低い項目である。
したがって、第1の条件式生成部3103による上述の処理によって、禁則回避条件式として次の(7)式が生成される。
原稿方向,1=横,用紙サイズ,A3,パンチ穴数,3穴,パンチ位置,上・・・ (7)
このように、優先度が単独で最も低い項目がトリガアイテムであり残りの項目がターゲットアイテムである場合の禁則回避条件式は、禁則処理に関する条件が何も示されない。したがって、後述するように、禁則関係を回避するには、ユーザーは、このトリガアイテムを別の値に設定しなければならない。
第2の条件式生成部3104は、禁則グループ検索部3101によって見つかった禁則グループの中の優先度が単独で最も低い項目以外の各項目がトリガアイテムであり残りの項目がターゲットアイテムである場合の禁則回避条件式を生成する。生成の手順は、図34に示す通りである。
図34において、第2の条件式生成部3104は、優先順位が最も低い項目に注目する(#3701)。注目した項目(以下、「注目項目」と記載する。)の属性データ3050を属性辞書テーブル3143(図30参照)から読み出し、この禁則グループにおける注目項目の値を、読み出した属性データ3050に示されるRecoverValue1に置き換える(#3702)。
例えば、注目項目が「原稿方向」でありその値が「横」である場合は、第2の条件式生成部3104は、属性データ3054を読み出す。属性データ3054によると、「横」のRecoverValue1は「縦」である。よって、第2の条件式生成部3104は、注目項目の値を「縦」に置き換える。
そして、第2の条件式生成部3104は、ステップ#3702の置換の処理によってこの禁則グループから禁則関係がなくなるか否かを判別する(#3703)。判別は、禁則グループテーブル3141(図28参照)に基づいて行うことができる。
例えば、上述の項目「用紙サイズ」の値「A3」、項目「原稿方向」の値「横」、項目「パンチ穴数」の値「3穴」、および項目「パンチ位置」の値「上」からなるグループ(図28の太枠参照)は、ステップ#3702によって原稿方向の値が「縦」に変わる。すると、太枠の1つ上のセルに示される通り、置換後のグループには、禁則関係がない。よって、第2の条件式生成部3104は、禁則関係がなくなると、判別する。
置換によって禁則関係がなくなった場合は(#3704でNo)、第2の条件式生成部3104は、置換後の値の組合せにするための条件式を禁則回避条件式として生成する(#3710〜#3712)。これについては、後述する。
置換後も禁則関係がある場合は(#3704でYes)、読み出した属性データ3050に他のRecoverValueが示されていれば(#3705でYes)、第2の条件式生成部3104は、注目項目の値を他のRecoverValueに置き換える(#3706)。そして、ステップ#3703に戻ってこの禁則グループから禁則関係がなくなるか否かを判別する。なお、他のRecoverValueが複数ある場合は、RecoverValue2、RecoverValue3、・・・の順に優先的に置き換える。
注目項目の値をいずれのRecoverValueに置き換えても禁則関係がある場合は(#3704でYes、#3705でNo)、第2の条件式生成部3104は、優先順位が1つ上の項目を注目する(#3707)。なお、置換した値は、元に戻しておく。また、優先順位が同じである未注目の項目がある場合は、この項目を注目する。
そして、第2の条件式生成部3104は、ステップ#3702〜#3706の処理を適宜、実行する。つまり、新たな注目項目の値を、禁則関係がなくなるまでRecoverValue1、RecoverValue2、・・・に置き換える。
第2の条件式生成部3104は、ステップ#3702〜#3706の処理を、禁則関係がなくなるまで続ける。これにより、優先順位が1つずつ上の項目が注目されて行く。
トリガアイテムである項目と優先順位が同じである項目に注目し、ステップ#3702〜#3706の処理を実行してもなお、禁則関係がなくならない場合は(#3708でNo)、第2の条件式生成部3104は、第1の条件式生成部3103と同様の方法で、禁則回避条件式を生成する(#3709)。
すなわち、第2の条件式生成部3104は、(6)式の左辺の<Item1>へこの項目(トリガアイテム)の識別子を代入し、未だ発行されていない番号のうち最も小さい番号を<Index>へ代入する。(6)式の右辺の<Type>を削除し、または、禁則処理を行わないことを示す番号を<Type>へ代入する。<Item2>、・・・、<Item(m+n)>へ、トリガアイテム以外の項目(残りの項目)の項目名を、優先度の高い順に代入する。そして、<Item2-Recover value>、・・・、<Item(m+n)-Recover value>を削除する。
一方、注目項目の値をあるRecoverValueに置き換えると禁則関係がなくなる場合は(#3704でNo)、第2の条件式生成部3104は、次のように禁則回避条件式を生成する。
第2の条件式生成部3104は、注目項目の属性データ3050の中からコントロールタイプを検索する(#3710)。これにより、例えば、注目項目の属性データ3050が属性データ3054である場合は、「RadioButton」がヒットする。
第2の条件式生成部3104は、第1の禁則処理テーブル3144(図32参照)または第2の禁則処理テーブル3145(図33参照)から、ヒットしたコントロールタイプに対応するコマンドタイプ番号を読み出す(#3711)。具体的には、トリガアイテムの優先度と注目項目の優先度が同じである場合は、第1の禁則処理テーブル3144からコマンドタイプ番号を読み出す。異なる場合は、第2の禁則処理テーブル3145からコマンドタイプ番号を読み出す。
そして、第2の条件式生成部3104は、注目項目の置換後の値および読み出したコマンドタイプ番号などを、次のように(6)式へ代入することによって、禁則回避条件式を生成する(#3712)。
(6)式の左辺へは、上述と同様に、<Item1>へトリガアイテムの識別子を代入し、未だ発行されていない番号のうち最も小さい番号を<Index>へ代入する。右辺の<Item2>、・・・、<Item(m+n)>へも上述と同様に、トリガアイテム以外の項目(残りの項目)の項目名を、優先度の高い順に代入する。
さらに、右辺の<Type>へ、読み出したコマンドタイプ番号を代入する。<Item2-Recover value>、・・・、<Item(m+n)-Recover value>のうちの注目項目に係るものへ、置換後の値(禁則関係がなくなる値)を代入し、残りを削除する。
上述の項目「用紙サイズ」の値「A3」、項目「原稿方向」の値「横」、項目「パンチ穴数」の値「3穴」、および項目「パンチ位置」の値「上」の例において、既に禁則回避条件式を1つ生成しており、コマンドタイプ番号が「5」であり、かつ、注目項目がパンチ位置である場合は、図34の処理によって、(8)式の禁則回避条件式が生成される。
パンチ位置,2=5,上,パンチ穴数,3穴,用紙サイズ,A3,原稿方向,横,縦・・・ (8)
以上のように、第1の条件式生成部3103によると、禁則グループの中の優先度が単独で最も低い項目の禁則回避条件式が生成される。そして、第2の条件式生成部3104によると、残りの項目の禁則回避条件式が生成される。
禁則回避条件式が第1の条件式生成部3103または第2の条件式生成部3104によって生成されると、その禁則回避条件式を示す条件式データ3060が条件式記憶部3150に記憶される。
図35は、禁則回避条件式の生成の全体的な処理の流れの例を説明するフローチャートである。
次に、端末装置2が禁則回避条件式生成プログラム3020Pに基づいて実行する全体的な処理の流れを、図35を参照しながら説明する。
禁則回避条件式生成プログラム3020Pによると、端末装置2は、図35に示す手順で禁則回避条件式の生成の処理を実行する。
端末装置2は、禁則グループテーブル3141(図28参照)の中から禁則グループを検索する(#3011)。禁則グループが見つかったら、この禁則グループを構成する項目を、優先度の高い順に並べる(#3012)。なお、各項目の優先度は、優先度辞書テーブル3142(図29参照)に基づく。
端末装置2は、この禁則グループの中の優先順位が最も低い項目を選出する(#3013)。そして、選出した項目がトリガアイテムであり他の項目がターゲットアイテムである場合の禁則回避条件式を次のように生成する。なお、「Z」は禁則グループの次元数であり、禁則グループテーブル3141の場合は「4」である。
選出した項目が単独で最下位である場合は(#3014でNo)、端末装置2は、コマンドタイプ番号およびRecoverValueを含まない禁則回避条件式を生成する(#3015)。この式の例は、前述の(7)式である。
一方、選出した項目と優先度が同じである項目がある場合は(#3014でYes)、端末装置2は、コマンドタイプ番号およびRecoverValueを含む禁則回避条件式の生成を試みる(#3016)。生成の手順は、前に図34で説明した通りである。この式の例は、前述の(8)式である。ステップ#3016の結果、これらを含まない禁則回避条件式が生成されることもある。
そして、端末装置2は、この禁則グループの中の次に優先順位の高い項目を選出し(#3017)、新たに選出した項目がトリガアイテムであり他の項目がターゲットアイテムである場合の禁則回避条件式を生成する(#3016)。
以上の処理を繰り返すことによって、端末装置2は、この禁則グループの中の各項目がトリガアイテムであり他の項目がターゲットアイテムである場合の禁則回避条件式を生成する。
そして、端末装置2は、生成された各禁則回避条件式を示すデータを条件式データ3060として条件式記憶部3150に記憶させる(#3019)。
次に、禁則回避条件式の使用方法について説明する。
図36は、ダイアログ画面3061および3062の例を示す図である。
端末装置2は、禁則回避条件式生成プログラム3020Pによって生成した禁則回避条件式を次のように使用する。
禁則関係情報受信部3105が現在の設定値に禁則関係がある旨の検出結果2451を禁則関係出力部2406から受信した場合、ダイアログ表示部3106は、その禁則関係に関する条件式データ3060を条件式記憶部3150から読み出し、その禁則回避条件式に基づいて次のような画面をタッチパネルディスプレイ10eに表示させる。
その禁則回避条件式にコマンドタイプ番号もRecoverValueも示されない場合、つまり、上述の(7)式のような禁則回避条件式である場合は、ダイアログ表示部3106は、図36(A)のようなダイアログ画面3061を表示させる。
ダイアログ画面3061には、このグループ(禁則グループ)のメンバのほか、これらを同時に設定することができない旨のメッセージが示される。そして、今回の入力が拒否される。つまり、ユーザーは、今回入力した値を設定することができない。
一方、その禁則回避条件式にコマンドタイプ番号およびRecoverValueが示される場合、つまり、上述の(8)式のような禁則回避条件式である場合は、ダイアログ表示部3106は、図36(B)のようなダイアログ画面3062を表示させる。
ダイアログ画面3062には、ダイアログ画面3061と同様に、このグループのメンバのほか、これらを同時に設定することができない旨のメッセージが示される。さらに、ダイアログ画面3062には、禁則関係を回避するための変更を提案するメッセージが示される。このメッセージは、RecoverValueおよびそれに係る項目に基づいている。(8)式の例の場合は、右辺の「・・・,原稿方向,横,縦」のうちの「縦」がRecoverValueであり「原稿方向」が項目である。
そして、OKボタン3621が選択されると、今回の入力が受け付けられて設定される。さらに、提案の通りに、すなわち、その禁則回避条件式に従って、設定済の値が設定し直される(変更される)。例えば、(8)式の場合は、原稿方向の値が「縦」に設定し直される。これは、禁則処理の1つである。
さらに、コマンドタイプ番号に対応する他の禁則処理があれば、これが実行される。例えば、禁則処理がコントロールのグレーアウトの処理である場合は、設定画面表示部3107は、値を設定し直した項目のコントロールをグレーアウト(選択できない形態で表示)させて、設定用の画面を表示する。これにより、ユーザーは、その項目を設定し直すことができなくなる。そのほか、コントロールタイプに応じて、設定画面表示部3107は、禁則グループに係る値の選択肢を非表示にするなどの処理を禁則処理として実行する。禁則処理の内容は、図32の第1の禁則処理テーブル3144または図33の第2の禁則処理テーブル3145に記載される通りである。
または、キャンセルボタン3622が選択されると、今回の入力は、拒否される。値の再設定および禁則処理は、行われない。
[実施の形態の効果]
本実施の形態によれば、端末装置において入力を受け付ける設定値の禁則関係を示す分解PJLテーブル間禁則テーブルに基づいて禁則関係が検出されるので、ユーザーが端末装置において設定を行ったタイミングで禁則関係を検出することができる。PJLの生成処理をする前に禁則関係を検出することができ、利便性が向上する。また、市場からの要望で禁則の仕様変更を行う場合、画像形成装置側(本体側)の禁則情報を更新すれば、端末装置側(ドライバ側)の分解PJLテーブル間禁則テーブルの内容は自動的に更新されるため、端末装置2側の更新作業が不要になる。
[その他]
上述の禁則組合せ情報の生成処理は、ダイアログボックス1071(図5)において設定値の変更を受け付ける前に行われてもよいし、設定値の変更を受け付けた後で行われてもよい。
上述の実施の形態における処理は、ソフトウェアにより行っても、ハードウェア回路を用いて行ってもよい。また、上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをCD−ROM、フレキシブルディスク、ハードディスク、ROM、RAM、メモリカードなどの記録媒体に記録してユーザーに提供することにしてもよい。プログラムは、CPUなどのコンピューターにより実行される。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
上述の実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 画像形成装置
2 端末装置
3 通信回線
4 プリントシステム
10a,20a CPU(Central Processing Unit)
10b,20b RAM(Random Access Memory)
10c,20c ROM(Read Only Memory)
10d,20d 補助記憶装置
10e タッチパネルディスプレイ
10f 操作キーパネル
10g,20f NIC(Network Interface Card)
10h モデム
10i スキャンユニット
10j プリントユニット
10k フィニッシャ
20e 液晶ディスプレイ
20g キーボード
20h ポインティングデバイス
1020P プリンタドライバ
1051 PJL(Printer Job Language)インデックステーブル(インデックステーブルの一例)
1051a インデックスデータ
1052,1521〜1526 分解PJLテーブル(分解テーブルの一例)
1053 印刷データ
1061 ファイル
1071 ダイアログボックス
1201 ジョブ条件受付部
1202 PJLインデックステーブル記憶部
1203 分解PJLテーブル記憶部
1204 項目置換部
1205 直積分解部
1206 値変換部
1207 ジョブ指令部
2020P 禁則関係生成プログラム
2030P 禁則関係検出プログラム
2051,2051a,2051b,2051c PJL禁則組合せ情報
2052,2052a,2052b,2052c,2052d,2052e,2052f 禁則組合せ情報
2151 本体禁則テーブル
2152 分解PJLテーブル間禁則テーブル(禁則テーブルの一例)
2201 禁則情報取得部
2202,2403 データタイプ判別部
2203 第1の禁則情報生成部
2204 第2の禁則情報生成部
2205 禁則テーブル記憶部
2401 設定受付部
2402 分解PJLテーブルID検索部
2403 データタイプ判別部
2404 第1の禁則検出部
2405 第2の禁則検出部
2406 禁則関係出力部
2450 設定値の変更
2451 禁則関係の検出結果
3020P 禁則回避条件式生成プログラム
3041 チェックボックス
3042 コンボボックス
3050〜3056 属性データ
3060 条件式データ
3061,3062 ダイアログ画面
3100 禁則グループテーブル生成部
3101 禁則グループ検索部
3102 項目ソート部
3103 第1の条件式生成部
3104 第2の条件式生成部
3105 禁則関係情報受信部
3106 ダイアログ表示部
3107 設定画面表示部
3131 禁則グループテーブル記憶部
3132 辞書テーブル記憶部
3134 禁則処理テーブル記憶部
3141 禁則グループテーブル
3142 優先度辞書テーブル
3143 属性辞書テーブル
3144 第1の禁則処理テーブル
3145 第2の禁則処理テーブル
3150 条件式記憶部
3621,3622 ボタン

Claims (10)

  1. ジョブを実行する装置において同時に適用することが禁止されている関係であって、前記ジョブの条件に関する複数の設定値の関係である禁則関係を検出する禁則関係検出装置であって、
    前記禁則関係検出装置において設定値の入力を受け付ける複数の設定項目を、複数の分解テーブルに分類するインデックステーブルを記憶する第1の記憶手段と、
    前記禁則関係検出装置において入力を受け付ける設定値と、前記ジョブを実行する装置側で使用される言語で示したジョブ言語設定値との関係を示す前記複数の分解テーブルを記憶する第2の記憶手段と、
    前記禁則関係検出装置において入力を受け付ける設定値の組合せであって、禁則関係となる設定値の組合せを示す禁則テーブルを記憶する第3の記憶手段と、
    前記ジョブの条件に関する設定値の変更を受け付ける受付手段と、
    前記受付手段にて変更を受け付けた場合に、前記インデックステーブル、前記分解テーブル、および前記禁則テーブルに基づいて、前記受付手段にて変更を受け付けた設定値と、前記禁則関係検出装置において設定されている他の設定値との禁則関係の有無を検出する検出手段とを備えた、禁則関係検出装置。
  2. 禁則関係となる設定値の前記ジョブ言語設定値が、複数の固定値の中から値が選択される固定値選択型である場合、前記禁則テーブルは、禁則関係となる設定値に関する分解テーブルを特定する情報である分解テーブルIDと、前記分解テーブルにおける禁則関係となる設定値に対応する分解テーブル内インデックスとを含む、請求項1に記載の禁則関係検出装置。
  3. 前記検出手段は、
    前記受付手段にて変更を受け付けた設定値が、前記固定値選択型である場合に、前記インデックステーブルに基づいて、前記受付手段にて変更を受け付けた設定値に関する前記分解テーブルIDおよび前記分解テーブル内インデックスを特定する第1の特定手段と、
    前記第1の特定手段にて特定した前記分解テーブルIDおよび前記分解テーブル内インデックスと禁則関係を有する前記分解テーブル内インデックスおよび設定値を前記禁則テーブルから抽出する第1の抽出手段と、
    前記第1の抽出手段にて抽出した分解テーブル内インデックスおよび設定値と前記他の設定値とを比較することにより、禁則関係の有無を検出する第1の比較検出手段とを含む、請求項2に記載の禁則関係検出装置。
  4. 禁則関係となる設定値の前記ジョブ言語設定値が、数値または文字列である可変型である場合、前記禁則テーブルは、禁則関係となる設定値に関する分解テーブルを特定する情報である分解テーブルIDと、前記分解テーブルにおける禁則関係となる設定値に対応する分解テーブル内インデックスと、禁則関係となる設定値の前記ジョブ言語設定値とを含む、請求項1〜3のいずれかに記載の禁則関係検出装置。
  5. 前記検出手段は、
    前記受付手段にて変更を受け付けた設定値が、前記可変型である場合に、前記インデックステーブルに基づいて、前記受付手段にて変更を受け付けた設定値に関する前記分解テーブルIDおよび前記分解テーブル内インデックスを特定する第2の特定手段と、
    前記第2の特定手段にて特定した前記分解テーブルIDおよび前記分解テーブル内インデックスに基づいて、前記受付手段にて変更を受け付けた設定値を前記ジョブ言語設定値に変換する変換手段と、
    前記第2の特定手段にて特定した前記分解テーブルIDおよび前記分解テーブル内インデックス、ならびに前記変換手段にて変換した前記ジョブ言語設定値と禁則関係を有する前記分解テーブル内インデックスおよび設定値を前記禁則テーブルから抽出する第2の抽出手段と、
    前記第2の抽出手段にて抽出した分解テーブル内インデックスおよび設定値と前記他の設定値とを比較することにより、禁則関係の有無を検出する第2の比較検出手段とを含む、請求項4に記載の禁則関係検出装置。
  6. 前記ジョブを実行する装置から禁則関係の情報を取得する取得手段と、
    前記取得手段にて取得した情報と、前記分解テーブルとに基づいて、前記禁則テーブルを生成する生成手段とをさらに備えた、請求項1〜5のいずれかに記載の禁則関係検出装置。
  7. 前記生成手段は、前記受付手段にて変更を受け付ける前に前記禁則テーブルを生成する、請求項6に記載の禁則関係検出装置。
  8. 前記生成手段は、前記受付手段にて変更を受け付けた後で前記禁則テーブルを生成する、請求項6に記載の禁則関係検出装置。
  9. 前記禁則関係検出装置において設定値の入力を受け付ける複数の設定項目の各々の優先度を記載した優先度辞書テーブルと、前記禁則関係検出装置において設定値の入力を受け付ける複数の設定項目の各々の属性を記載した属性テーブルと、コントロールタイプに応じた禁則関係を回避するための処理を記載した禁則処理テーブルとに基づいて、禁則関係を回避するための条件を規定した禁則回避条件式を生成する式生成手段と、
    前記検出手段にて禁則関係を検出した場合に、前記禁則回避条件式に従って前記禁則関係検出装置においておいて設定されている設定値を変更することにより、禁則関係を回避する回避手段とをさらに備えた、請求項1〜8のいずれかに記載の禁則関係検出装置。
  10. ジョブを実行する装置において同時に適用することが禁止されている関係であって、前記ジョブの条件に関する複数の設定値の関係である禁則関係を検出する禁則関係検出装置の制御プログラムであって、
    前記禁則関係検出装置は、
    前記禁則関係検出装置において設定値の入力を受け付ける複数の設定項目を、複数の分解テーブルに分類するインデックステーブルを記憶する第1の記憶手段と、
    前記禁則関係検出装置において入力を受け付ける設定値と、前記ジョブを実行する装置側で使用される言語で示したジョブ言語設定値との関係を示す前記複数の分解テーブルを記憶する第2の記憶手段と、
    前記禁則関係検出装置において入力を受け付ける設定値の組合せであって、禁則関係となる設定値の組合せを示す禁則テーブルを記憶する第3の記憶手段とを備え、
    前記制御プログラムは、
    前記ジョブの条件に関する設定値の変更を受け付ける受付ステップと、
    前記受付ステップにて変更を受け付けた場合に、前記インデックステーブル、前記分解テーブル、および前記禁則テーブルに基づいて、前記受付ステップにて変更を受け付けた設定値と、前記禁則関係検出装置において設定されている他の設定値との禁則関係の有無を検出する検出手段とをコンピューターに実行させる、禁則関係検出装置の制御プログラム。
JP2016136880A 2016-07-11 2016-07-11 禁則関係検出装置および禁則関係検出装置の制御プログラム Active JP6690448B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016136880A JP6690448B2 (ja) 2016-07-11 2016-07-11 禁則関係検出装置および禁則関係検出装置の制御プログラム
US15/645,815 US10133520B2 (en) 2016-07-11 2017-07-10 Detection device for prohibited relationship among setting values

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016136880A JP6690448B2 (ja) 2016-07-11 2016-07-11 禁則関係検出装置および禁則関係検出装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2018010354A JP2018010354A (ja) 2018-01-18
JP6690448B2 true JP6690448B2 (ja) 2020-04-28

Family

ID=60910368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016136880A Active JP6690448B2 (ja) 2016-07-11 2016-07-11 禁則関係検出装置および禁則関係検出装置の制御プログラム

Country Status (2)

Country Link
US (1) US10133520B2 (ja)
JP (1) JP6690448B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7207896B2 (ja) * 2018-08-10 2023-01-18 キヤノン株式会社 印刷装置、制御方法及びプログラム
WO2021021091A1 (en) * 2019-07-26 2021-02-04 Hewlett-Packard Development Company, L.P. Configuring localizations based on peripheral device localization settings

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4315191B2 (ja) * 2006-12-12 2009-08-19 セイコーエプソン株式会社 印刷制御装置、印刷制御方法、印刷制御プログラム、印刷装置、印刷方法、印刷プログラム、及び記録媒体
US8570603B2 (en) * 2009-11-30 2013-10-29 Kyocera Mita Corporation Print job management system for managing prohibition information
JP5573142B2 (ja) * 2009-12-11 2014-08-20 富士ゼロックス株式会社 禁則管理装置及びプログラム
JP2012030449A (ja) * 2010-07-29 2012-02-16 Canon Inc 画像処理装置、処理方法、及びそのプログラム
JP5678927B2 (ja) * 2012-07-18 2015-03-04 コニカミノルタ株式会社 情報処理装置およびプログラム
JP6064604B2 (ja) * 2013-01-11 2017-01-25 株式会社リコー 情報処理装置、プログラム、および印刷設定方法
JP6142675B2 (ja) 2013-05-30 2017-06-07 コニカミノルタ株式会社 画像形成装置の制御装置、画像形成装置の制御方法、および画像形成装置の制御プログラム
JP6115515B2 (ja) * 2014-05-08 2017-04-19 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理方法

Also Published As

Publication number Publication date
US20180011665A1 (en) 2018-01-11
US10133520B2 (en) 2018-11-20
JP2018010354A (ja) 2018-01-18

Similar Documents

Publication Publication Date Title
US11200011B2 (en) Printer and server
JP4825170B2 (ja) 画像形成装置
US20060239708A1 (en) Image forming system, information processing apparatus and its control method
JP2008236016A (ja) 情報処理装置、情報処理方法、およびそのプログラム
JP7112278B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP6690448B2 (ja) 禁則関係検出装置および禁則関係検出装置の制御プログラム
US8782512B2 (en) Controller, method, and program product for controlling job information display, and recording medium
JP2016110633A (ja) 情報処理装置、情報処理方法、プログラム、および記憶媒体
US11694458B2 (en) Image processing apparatus that sets metadata of image data, method of controlling same, and storage medium
US20130057884A1 (en) Information processing apparatus, computer program, and control method
US9336467B2 (en) Information processing apparatus, information processing system, and recording medium
US20190230242A1 (en) Image processing apparatus, format conversion method, and computer program
US9529557B2 (en) Apparatus and method for determining restriction avoidance processing, and computer-readable storage medium for computer program
JP6390453B2 (ja) 情報処理装置、情報処理方法、プログラム
JP5802706B2 (ja) データ作成装置、方法及びプログラム
JP2012252510A (ja) 印刷ジョブ表示プログラムおよび印刷ジョブ表示装置
JP2020149092A (ja) 情報処理装置及びプログラム
US10915280B2 (en) Control apparatus,executing printing of a print job,control method,and non-transitory computer-readable storage medium storing program
JP6048535B2 (ja) サーバ、プリンタ、及び、サーバのためのコンピュータプログラム
JP2019160213A (ja) 情報処理システム、情報処理方法及びプログラム
JP7439553B2 (ja) 制御プログラム、情報処理装置
JP2009272990A (ja) ワークフロー実行制御方法、画像処理装置、およびコンピュータプログラム
JP2017111700A (ja) 印刷制御装置、印刷制御方法、およびコンピュータプログラム
JP4238827B2 (ja) 出力形態決定システムおよび出力形態決定プログラム
JP5726786B2 (ja) 画像形成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200323

R150 Certificate of patent or registration of utility model

Ref document number: 6690448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150