JP3733290B2 - Print control apparatus, print control method, and storage medium - Google Patents

Print control apparatus, print control method, and storage medium Download PDF

Info

Publication number
JP3733290B2
JP3733290B2 JP2000401218A JP2000401218A JP3733290B2 JP 3733290 B2 JP3733290 B2 JP 3733290B2 JP 2000401218 A JP2000401218 A JP 2000401218A JP 2000401218 A JP2000401218 A JP 2000401218A JP 3733290 B2 JP3733290 B2 JP 3733290B2
Authority
JP
Japan
Prior art keywords
conflict
application
conflict processing
printing
processing rule
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.)
Expired - Fee Related
Application number
JP2000401218A
Other languages
Japanese (ja)
Other versions
JP2002202865A (en
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2000401218A priority Critical patent/JP3733290B2/en
Publication of JP2002202865A publication Critical patent/JP2002202865A/en
Application granted granted Critical
Publication of JP3733290B2 publication Critical patent/JP3733290B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、アプリケーションから印刷装置を制御する印刷処理関連プログラムに対して引き渡される異なる複数の設定値間のコンフリクト処理を実行する印刷制御装置および印刷制御方法および記憶媒体に関するものである。
【0002】
【従来の技術】
従来、コンピュータ上で動作するアプリケーションプログラムが、印刷を実行する場合には、印刷開始命令と共に、印刷に必要な各種設定をパラメータとして、プリンタドライバ等の印刷関連処理プログラムに引き渡すのが一般的な方法である。このように印刷に必要な各種設定をパラメータとしてプログラムよりプリンタドライバに渡すことで、プログラムが意図した印刷出力を得られるようになっている。
【0003】
【発明が解決しようとする課題】
しかしながら、意図した印刷出力を得るために指定可能な設定値の種類の範囲はいわゆるどのプリンタでもサポートが可能と思われる用紙の給紙口の指定や両面/片面印刷の指定等、非常に限られた範囲のものであり、プリンタまたはプリンタドライバが提供していても、アプリケーションプログラムより直接指定ができないその他の有用な機能については、プリンタドライバのユーザインタフェースを開いて、そこで指定をする必要があった。
【0004】
このため、企業の各種システムソフトウェアからの印刷出力に際して、プリンタドライバのユーザインタフェースを表示したがらないケースでは、プリンタまたはプリンタドライバの持つ機能が十分に利用できないという問題点があった。
【0005】
そのため、昨今ではプリンタまたはプリンタドライバをフルに生かせるように、プリンタやプリンタドライバへの機種に依存する設定についても、アプリケーションから利用可能な特別なインタフェースを設けて、このインタフェースを利用した場合には、プリンタドライバユーザインタフェースで設定する場合と同等な機能の設定が可能となるようなプリンタドライバが出現してきている。
【0006】
こうなると、このインタフェースを介したアプリケーションプログラムからの設定についても、プリンタドライバユーザインタフェースと同等のコンフリクト処理(複数の設定値間での設定の競合状態を解消して、いずれかの設定値の調整を行い、設定値間の整合性を取るための処理)を必要とするので、効率よく、漏れの少ない、そして、ユーザインタフェースで利用されているコンフリクト処理と同等のコンフリクト処理をユーザインタフェース以外の場面でも実現する必要が生じているわけである。
【0007】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、コンフリクト処理を、例えばコンフリクトマネージャなどプリンタドライバ側で実行し、該コンフリクト処理の結果をアプリケーションに通知できる印刷制御装置および印刷制御方法および記憶媒体を提供することである。
【0008】
本発明に係る第1の発明は、アプリケーションから印刷装置を制御するプリンタドライバに対して引き渡される、異なる複数の設定値間のコンフリクト処理を行なう印刷制御装置であって、前記プリンタドライバの2つ以上の設定値の間で成立する依存関係を示すコンフリクト処理ルールを記憶する記憶手段と、前記記憶手段に記憶されたコンフリクト処理ルールを読み込み、該読み込んだコンフリクト処理ルールに基づいて、補完的に成立するコンフリクト処理ルールを生成する生成手段と、前記プリンタドライバが有するコンフリクトマネージャプログラムを実行して、前記生成手段により生成されたコンフリクト処理ルールを用いて、前記印刷装置に対する印刷実行に必要な設定値の不整合を回避するコンフリクト処理を適用して当該設定値の変更を行なうコンフリクト処理手段と、前記コンフリクト処理手段によるコンフリクト処理の結果を、前記コンフリクトマネージャプログラムからアプリケーションに対して通知する通知手段とを備えることを特徴とする。
【0009】
本発明に係る第2の発明は、アプリケーションと、アプリケーションから入力される印刷実行に必要な設定値のコンフリクト処理を行なうコンフリクトマネージャプログラムを有するプリンタドライバを搭載した印刷制御装置において、アプリケーションから前記コンフリクトマネージャプログラムに対して印刷実行に必要な設定値を入力する入力手段と、前記入力手段が前記コンフリクトマネージャプログラムに対して入力した設定値の不整合を回避するコンフリクト処理ルールを適用するコンフリクト処理手段と、前記コンフリクト処理手段によるコンフリクト処理ルールの適用結果をコンフリクトマネージャプログラムから前記アプリケーションに対して通知する通知手段とを備えることを特徴とする。
【0010】
本発明に係る第3の発明は、前記コンフリクト処理手段がコンフリクト処理ルールを適用した結果を前記通知手段がアプリケーションへ通知した後、アプリケーションからの指示に基づく前記印刷に必要な設定値を取得する取得手段をさらに備えることを特徴とする。
【0011】
本発明に係る第4の発明は、前記アプリケーションは、前記通知手段から通知されてくるコンフリクト処理手段によるコンフリクト処理ルールの適用結果を取得して、当該処理内容に基づく設定を続行するか否かを確認する確認手段をさらに備えることを特徴とする。
【0012】
本発明に係る第5の発明は、前記コンフリクト処理手段は、コレート印刷を示す設定値とグループ印刷を示す設定値との競合、又は、ステープルを示す設定値と製本を示す設定値との競合のいずれかを回避するコンフリクト処理ルールを適用することを特徴とする。
【0013】
本発明に係る第6の発明は、前記通知手段は、前記アプリケーションが読み出し可能な記憶手段に対してコンフリクト処理ルールの適用結果を書き込むことにより、前記アプリケーションに対して当該適用結果を通知することを特徴とする。
【0014】
本発明に係る第7の発明は、前記コンフリクト処理ルールを補完するルールを生成する生成手段をさらに有することを特徴とする。
【0015】
本発明に係る第8の発明は、前記記憶手段から読み込んだコンフリクト処理ルールが保持する二値を取り得る状態変数において、逆側の関係にあるコンフリクト処理ルールを、補完的に成立するコンフリクト処理ルールとして前記生成手段が生成することを特徴とする。
【0016】
本発明に係る第9の発明は、前記記憶手段から読み込んだコンフリクト処理ルールが保持する状態変数の値と、前記生成手段が生成した補完的に成立するコンフリクト処理ルールが保持する状態変数の値とが、論理的に排他の関係にあることを特徴とする。
本発明に係る第10の発明は、アプリケーションと、プリンタドライバを搭載した印刷制御装置において、アプリケーションから前記プリンタドライバに対して印刷実行に必要な設定値を入力する入力手段と、アプリケーションから、前記入力手段により入力された設定値の不整合を回避するコンフリクト処理ルールを適用するコンフリクト処理手段と、前記コンフリクト処理手段によるコンフリクト処理ルールの適用結果を前記アプリケーションに対して通知する通知手段とを備えることを特徴とする。
本発明に係る第11の発明は、アプリケーションと、アプリケーションから入力される印刷実行に必要な設定値のコンフリクト処理を行なうコンフリクトマネージャプログラムを有するプリンタドライバを実行する印刷制御装置における方法おいて、アプリケーションから前記コンフリクトマネージャプログラムに対して印刷実行に必要な設定値を入力する入力ステップと、前記入力ステップが前記コンフリクトマネージャプログラムに対して入力した設定値の不整合を回避するコンフリクト処理ルールを適用するコンフリクト処理ステップと、前記コンフリクト処理ステップによるコンフリクト処理ルールの適用結果をコンフリクトマネージャプログラムから前記アプリケーションに対して通知する通知ステップとを印刷制御装置に実行させることを特徴とする。
本発明に係る第12の発明は、前記コンフリクト処理ステップがコンフリクト処理ルールを適用した結果を前記通知ステップがアプリケーションへ通知した後、アプリケーションからの指示に基づく前記印刷に必要な設定値を取得する取得ステップをさらに備えることを特徴とする。
本発明に係る第13の発明は、前記アプリケーションは、前記通知ステップから通知されてくるコンフリクト処理手段によるコンフリクト処理ルールの適用結果を取得して、当該処理内容に基づく設定を続行するか否かを確認する確認ステップをさらに備えることを特徴とする。
本発明に係る第14の発明は、前記コンフリクト処理ステップは、コレート印刷を示す設定値とグループ印刷を示す設定値との競合、又は、ステープルを示す設定値と製本を示す設定値との競合のいずれかを回避するコンフリクト処理ルールを適用することを特徴とする。
本発明に係る第15の発明は、前記通知ステップは、前記アプリケーションが読み出し可能な記憶手段に対してコンフリクト処理ルールの適用結果を書き込むことにより、前記アプリケーションに対して当該適用結果を通知することを特徴とする。
本発明に係る第16の発明は、前記コンフリクト処理ルールを補完するルールを生成する生成ステップをさらに有することを特徴とする。
本発明に係る第17の発明は、前記記憶手段から読み込んだコンフリクト処理ルールが保持する二値を取り得る状態変数において、逆側の関係にあるコンフリクト処理ルールを、補完的に成立するコンフリクト処理ルールとして前記生成ステップが生成することを特徴とする。
本発明に係る第18の発明は、前記記憶手段から読み込んだコンフリクト処理ルールが保持する状態変数の値と、前記生成ステップが生成した補完的に成立するコンフリクト処理ルールが保持する状態変数の値とが、論理的に排他の関係にあることを特徴とする。
本発明に係る第19の発明は、アプリケーションと、プリンタドライバを搭載した印刷制御装置における印刷制御方法において、アプリケーションから前記プリンタドライバに対して印刷実行に必要な設定値を入力する入力ステップと、アプリケーションから、前記入力ステップにより入力された設定値の不整合を回避するコンフリクト処理ルールを適用するコンフリクト処理ステップと、前記コンフリクト処理ステップによるコンフリクト処理ルールの適用結果を前記アプリケーションに対して通知する通知ステップとを備えることを特徴とする。
本発明に係る第20の発明は、第11または第19の発明の印刷制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能な記憶媒体に格納したことを特徴とする。
【0017】
【発明の実施の形態】
図1は、本発明の第1実施形態を示す印刷制御装置を適用可能な印刷処理システムの構成を説明するブロック図である。
【0018】
なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【0019】
図1において、3000はホストコンピュータで、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。
【0020】
また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶し、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データを記憶する。
【0021】
2はRAMで、CPU1の主メモリ、ワークエリア等として機能する。5はキーボードコントローラ(KBC)で、キーボード(KB)9や不図示のポインティングデバイスからのキー入力を制御する。
【0022】
6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ11とのアクセスを制御する。
【0023】
8はプリンタコントローラ(PRTC)で、所定の双方向性インターフェース(インターフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【0024】
プリンタ1500において、12はプリンタCPU(CPU)で、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。
【0025】
また、このROM13のプログラム用ROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM13のデータ用ROMにはハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
【0026】
CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。
【0027】
19は前記CPU12の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
【0028】
なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカードやフロッピーディスク(FD)等の外部メモリ14は、メモリコントローラ(DKC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【0029】
また、1501はた操作パネルで、操作のためのスイッチおよびLED表示器等が配されている。また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
【0030】
図2は、図1に示したRAM3のメモリマップの一例を示す図であり、本実施形態における印刷処理関連プログラムがホストコンピュータ3000上のRAM2にロードされ実行可能となった状態のメモリマップを示している。
【0031】
図2において、201はアプリケーションで、外部メモリ11からロードされたものであり、単数または複数のアプリケーションがロードされる。
【0032】
202は空きメモリで、CPU1のワークとして機能する。203は関連データで、アプリケーション201の実行に伴う各種の関連データがロードされる。
【0033】
204は印刷処理関連プログラムで、外部メモリ11からロードされる。205はOSで、アプリケーション201等の実行を制御する。206はBIOSで、各種のデバイスの入出力処理を規定する。
【0034】
図3は、図2に示した印刷処理関連プログラムにおけるコンフリクト処理制御部の内部処理の内容を説明するシステム概要図である。
【0035】
図3において、301はコンフリクト処理ルールで、コンフリクトマネージャ303により図1に示したRAM2上に読み込まれる。302は推論エンジンで、図3に例示してあるように表記されたコンフリクト処理ルール301をコンフリクトマネージャ303を介して、RAM2中に読み込んで補完ルールを生成する。
【0036】
304は状態変数リストで、各プリンタ機能名A,B,C(図4参照)が推論エンジン302により初期化される。コンフリクト処理ルール403の中に出現するプリンタ機能名A,B,Cのそれぞれについて同名の状態変数が存在する。
【0037】
305は内部構造体で、プリンタ機能名A,B,Cに対応するプリンタドライバ内部構造体401のメンバをそれぞれcA,cB,cCとして管理する。306はプリンタドライバ管理部で、コンフリクトマネージャ303を呼び出し、状態変数リスト304にあるLayoutの状態変数を更新する。307はアプリケーションである。
【0038】
図4は、本発明に係る印刷制御装置におけるコンフリクト処理における各モジュールで扱うデータの関連性を説明する図である。
【0039】
図4において、401はプリンタドライバの内部構造体で、図3に示したコンフリクトマネージャ303またはプリンタドライバ管理部306により読み出しあるいは書き込み可能に構成されている。402は状態変数リストで、図3に示した状態変数リストと同等であって、コンフリクトマネージャ303により読み出しあるいは書き込み可能に構成されている。なお、図中のRは読み出しを表し、Wは書き込みを表し、R/Wは読み出しあるいは書き込みを表す。
【0040】
図5は、本発明に係る印刷制御装置における補完処理前のコンフリクト処理ルールの例を示す図である。
【0041】
図5において、(1)〜(3)は補間処理前のコンフリクト処理ルール301の一例を示し、ルール(1)はプリンタドライバ内部構造体401のメンバとして存在するGroupに、ルール(2)はプリンタドライバ内部構造体401のメンバとして存在するStapleに、ルール(3)はプリンタドライバ内部構造体401のメンバとして存在するLayoutに対応する。
【0042】
図6は、本発明に係る印刷制御装置における補完処理後のコンフリクト処理ルールの例を示す図である。
【0043】
図6において、(1)〜(9)は補完処理後のコンフリクト処理ルール(ルール)であり、特に、ルール(6)〜(9)における_Aは推論エンジン302で使用される変数を示す。
【0044】
図7は、本発明に係る印刷制御装置における設定変更処理関数の一例を示す図であり、アプリケーションからプリンタドライバへ設定変更処理要求をする場合に利用する関数のインタフェース(I/F)の例である。
【0045】
図8は、本発明に係る印刷制御装置におけるデータ処理手順の一例を示すフローチャートであり、本実施形態におけるコンフリクト処理手順に対応する。なお、(501)〜(508)は各ステップを示す。
【0046】
先ず、本実施形態に示す印刷処理関連プログラム(いわゆるプリンタドライバ)の処理は、OS205管理の下で動作するアプリケーション201よりプリンタドライバの備える初期化処理が呼び出されると、OS205の管理の下、RAM2に図2に示した印刷処理関連プログラム204がロードされる。
【0047】
そして、印刷処理関連プログラム204がRAM2にロードされると、プリンタドライバ管理部306に備えられたプリンタドライバの初期化処理部が呼び出され、初期化処理が行われる。
【0048】
先ず、図3に示す推論エンジン302は、図5に例示してあるように表記されたコンフリクト処理ルール301をコンフリクトマネージャ303を介して、RAM2中に読み込む(501)。
【0049】
続いて、ステップ(501)で読み込んだコンフリクト処理ルール301を元に、2状態値(「ON」と「OFF」)を値として持つルールについては、補完ルールを生成する(502)。
【0050】
なお、同じプリンタ機能名について以下の例のように左辺に「ONまたはOFF」のどちらかだけが記述された場合、
A(ON)<-B(ON),C(OFF)……(1)
A(ON)<-D(V1). ……(2)
B(OFF)<-E(OFF). ……(3)
この場合には推論エンジン302がON/OFF逆側のルールを以下のように自動生成する。
【0051】
上記ルール(1),(2)に対しては、
A(OFF)<-not A(ON).……(4)
が生成され、上記(3)に対しては、
B(ON)<-not B(OFF).……(5)
が生成される。この自動生成されたルール(4),(5)は処理効率上最適化されて下記のルール(4)',(5) 'のように変形されるが、意味は全く同じとなる。
A(OFF)<-true. ……(4)'
B(ON)<-true. ……(5)'
なお、上記例のように逆側が自動生成された場合は、論理として考えた際に、A(ON)とA(OFF)は完全に排他な関系にある事を意味している。
【0052】
つまり、A(ON)とA(OFF)とでAについての集合空間が100%埋め尽くされる事を意味している。B(ON)とB(OFF)も同様である。
【0053】
ユーザがA(ON)とA(OFF)を混在して記述する場合にはルール(4),(4)’は自動生成されない。従って、この場合には全てのケースを網羅的に記述してAについての集合空間を100%埋め尽くすようにする必要がある。
【0054】
続いて、図4に示す状態変数リスト402とコンフリクト処理ルール403で使用されるプリンタ機能名の値の初期化に関するコンフリクト処理ルールを補完ルールとして自動生成する(ステップ503)。
【0055】
コンフリクト処理ルール403における全てのプリンタ機能名についてはコンフリクトマネージャ303の内部に、図4に示すような状態変数リスト402として、その状態変数を持っている。
【0056】
この状態変数の値はプリンタドライバで使用される内部構造体の対応するメンバの値と連動している。全てのプリンタ機能名の状態変数の初期値はその内部構造体305のメンバの値が初期値となる。
例えば以下のコンフリクト処理ルールを記述した場合、「A(ON)<-B(ON),C(OFF).」は、図4に示した状態変数リスト402に示すようにコンフリクト処理ルール403の中に出現するプリンタ機能名A,B,Cのそれぞれについて同名の状態変数が存在している。
【0057】
プリンタ機能名A,B,Cに対応するプリンタドライバ内部構造体401のメンバをそれぞれcA,cB,cCとする。
【0058】
なお、int cAの初期値は「0」なので、それに対応する状態変数Aの値は「OFF」となっている。
【0059】
従って、推論エンジン302内のプリンタ機能名Aの状態値の初期値もOFFとなっている。
【0060】
今、推論エンジン302でコンフリクトチェックの推論が行われて以下のルール「A(ON)<-B(ON),C(OFF).」が成立した場合、推論エンジン302は左辺のプリンタ機能名Aの状態変数値を「ON」に変更する。
【0061】
コンフリクトチェックの推論が終了した後、コンフリクトマネージャ303は変更された状態変数の値をプリンタドライバ内部構造体401の対応するメンバint cAに反映させる。
【0062】
つまり、int cAは上記ルールが成立した事によって「0」から「1」に変更される。
【0063】
推論エンジン302は、推論エンジンに組込まれている組込み関数status(a,_X)によってプリンタ機能名Aの状態変数値を推論エンジン302で使用される変数_Xに受ける事ができる。推論エンジン302は、コンフリクト処理ルールをロードした後、そのコンフリクト処理ルール中に出現する全てのルール名について、次のルールを自動的に生成する。
A(_X)<-status(A,_X).
B(_X)<-status(B,_X).
C(_X)<-status(C,_X).
これは他に適用するルールが存在しない場合には、プリンタドライバ内部構造体401の対応するメンバの値がそのプリンタ機能名の状態値となる事を意味する。
【0064】
プリンタ機能名Aについては、ルール「A(ON)<-B(ON),C(OFF).が成り立つのでプリンタ機能名Aの状態値はこれを受けて[ON]となる。プリンタ機能名Bがもし上記自動生成されたルール以外にルールが存在しないならば、ルール「B(_X)<-status(B,_X).が適用される。この自動生成ルールは必ず成り立つので、プリンタ機種名Bの状態変数の値「ON」が「_X」にユニファイされ、それがプリンタ機種名Bの状態値となる。
【0065】
つまり、ユーザ定義ルールが存在しないか、または存在していても成り立つものが無いプリンタ機能については、プリンタドライバ内部構造体401の対応するメンバに格納されている値がそのプリンタ機能の状態値という事になる。
【0066】
続いて、その他の初期化処理を行い、処理化処理を終了しアプリケーションに制御を戻す(ステップ504)。
【0067】
初期化処理終了後は、プリンタドライバ管理部306に備えられている図7に示す設定変更処理関数を呼び出してのアプリケーションからの設定変更処理を繰り返す(ステップ505〜507)。
【0068】
この関数で用いられている引数の中で、特に設定変更処理に関わるパラメータは、pDevModeInOutputと、pItemParam,dwItemIDである。それぞれのパラメータには以下のような情報がセットされる。
【0069】
パラメータdwItemIDには、変更を行いたいのはプリンタドライバ内部構造体401のどのメンバなのかを指定する。パラメータpItemParamには、パラメータdwItemIDで示したメンバのパラメータを指定する。また、パラメータpDevModeInOutputには、プリンタドライバ内部構造体401へのポインタを指定する。
【0070】
例えば、アプリケーションからの設定変更要求がPrint Styleを1−sided PrintinngからBooklet Printinngに変更するものであった場合を例にとると、上記の各々のパラメータには、
パラメータdwItemIDには、「DM_ITEM_LAYOUT」が、パラメータpItemParamには、「DM_PARAM_BOOKLET」が、パラメータpDevModeInOutputには、「pDevMode」がセットされた上で、DocumentPropertiesEx()が呼び出される。
【0071】
すると、図5のステップ(505)〜(507)に示すプリンタドライバの設定変更処理が開始されることとなる。
【0072】
まず、ステップ(505)で実行されるコンフリクト処理ルールの適用について説明する。
【0073】
上記の例を用いて説明すると、コンフリクト処理ルールの適用は、図5に示すコンフリクト処理ルール301の一部として読み込まれたルールと、ステップ(502)にて生成された補完ルールの一部である図6に示した(4),(5)とステップ(503)にて生成されたルールの一部である図6に示した(6)〜(9)に対して行われる。
【0074】
プリンタドライバ内部構造体401のメンバとして存在するCollate,Group,Staple,Layoutの各メンバのコンフリクト処理ルール適用前の値は、Collateは「OFF」で、Groupが「ON」で、Stapleが「OFF」で、Layoutが「1−Side」となる。
【0075】
そして、アプリケーションからの変更要求がLayoutをLayoutからBookletに変更するものであるので、Layoutのメンバの内容は、Collateは「OFF」で、Groupが「ON」で、Stapleが「OFF」で、Layoutが「Booklet」となる。
【0076】
次に、プリンタドライバ管理部306はコンフリクトマネージャ303を呼び出し、状態変数リスト304にあるLayoutの状態変数が更新され、続いて、推論エンジン302がコールされて、コンフリクト処理ルール301の適用が始まる。
【0077】
まず、図6に示したルール(6)〜(9)が適用され、推論エンジン302内の各プリンタ機能名が状態変数リスト302の各メンバの持つ値で初期化される。続いて、図6に示したルール(3)が適用され、Groupの値は「ON」から「OFF」へと変化する。
【0078】
これにより、Layoutのメンバの内容は、Collateは「OFF」で、Groupが「OFF」で、Stapleが「OFF」で、Layoutが「Booklet」となる。
【0079】
さらに、図6に示すルール(4)が適用され、Collateは「OFF」から「ON」へと変化する。
【0080】
これにより、Layoutのメンバの内容は、Collateは「ON」で、Groupが「OFF」で、Stapleが[OFF」で、Layoutが「Booklet」となる。
【0081】
他に、適用されるルールが存在しないので、以上で推論エンジン302でのコンフリクト処理ルールの適用が終了する。
【0082】
次のステップでは、コンフリクトマネージャ303が上記の最終状態を元に状態変数リスト304の更新(ステップ506)と、プリンタドライバ内部構造体の更新(ステップ507)を行う。
【0083】
本来であればアプリケーション自身の手により、このLayoutの設定関連するメンバであるGroupとCollateのメンバの値を調整する必要があるが、DocumentPropetitesExを利用することで、この例の場合、アプリケーションは、Layoutを「1−Side」から「Booklet」に変更する処理をプリンタドライバに依頼することによって、Groupが「ON」から「OFF」に、Collateが「OFF」から「ON」に更新されたプリンタドライバ内部構造体301を受け取ることができる。
【0084】
この後、ここで取得したプリンタドライバ内部構造体301をパラメータとして実際の印刷を開始すれば、アプリケーションが所望する印刷結果が簡便に得られることとなる。
【0085】
以上の処理は、アプリケーションによってプリンタドライバ管理部306に備えられた終了処理が呼び出されるまで、繰り返し実行される。アプリケーションよりプリンタドライバの終了処理が呼び出されると空きメモリ202に生成したコンフリクト処理ルール情報等を消去すると共にその他の終了処理を行う(ステップ508)。
【0086】
これにより処理は全て終了し、本実施形態における印刷処理関連プログラム204の処理も終了し、RAM2からはOS205の機能により消去される。
【0087】
なお、本実施形態においては、本印刷処理関連プログラム204を記録する媒体を外部メモリとしているが、外部メモリとしては、FD、HDドライブ、CD−ROMやICメモリカード等であってもよい。更に、本印刷プログラム単独、もしくはOSその他のホストコンピュータ上で動作するプログラムと共にROM3に記録しておき、これをメモリマップの一部となすように構成し、直接CPU1で実行することも可能である。
【0088】
〔第2実施形態〕
上記第1実施形態においては、プリンタドライバ内部構造体401の設定内容をコンフリクト処理を実施することで、自動的に最適な値に更新することとなるが、さらに、図9、図10に示すとおり、コンフリクトマネージャ303にコンフリクト処理結果リスト901を加え、状態変数リスト402が更新されるのと同時に、その中に状態変数の変更履歴を書きこむことで、コンフリクト処理を実行することにより、プリンタドライバ内部構造体のどのメンバが更新されたのかをアプリケーションが知ることができるようになる。
【0089】
図9は、本発明の第2実施形態を示す印刷制御装置におけるコンフリクト処理制御部の内部処理の内容を説明するシステム概要図であり、図3と同一のものには同一の符号を付してある。
【0090】
図10は、本発明に係る印刷制御装置におけるコンフリクト処理における各モジュールで扱うデータの関連性を説明する図であり、図4と同一のものには同一の符号を付してある。
【0091】
図11は、本発明に係る印刷制御装置における他の設定変更処理関数の一例を示す図である。
【0092】
図9に示すコンフリクト処理結果リストの例は、プリンタドライバ内部構造体401のメンバの内、コンフリクト処理ルールにて更新がされたメンバは1個ということが、ResultNumに保存され、そして、更新されたメンバのリストが後続のModified[]に保存され、この場合はResultNumが1であるので、リスト内のメンバも1つで、ID_ca、すなわち、プリンタドライバ内部構造体401のcAが更新されたことを表現している。
【0093】
アプリケーション307は、このコンフリクト処理結果リストへのポインタを図11に示すDocumePropertiesEx関数の戻り値として受け取ることで、その情報にアクセスできるようになる。
【0094】
上記実施形態を例にとれば、コンフリクト処理結果リスト901の内容としては、ID_GruopとID_Collateが含まれる。アプリケーション307は、このコンフリクト処理結果リスト901の内容を確認して、実際にその値が格納されているプリンタドライバ内部構造体401の該当するメンバ、Group,Collateの内容を確認し、その設定内容がアプリケーション307が望まない設定変更で合った場合には、Layoutを「1−Side」から「Booklet」への設定の変更を取り消すことも可能である。
【0095】
上記各実施形態によれば、プログラム開発者などが用意するコンフリクト条件を補完するコンフリクト条件を自動生成するので、より品質の高いコンフリクト処理を実現できる。
【0096】
さらに、コンフリクト処理が実行されることによって、設定が変更されたかどうかの情報を各設定値について取得できるので、この情報に基づいた処理、例えば、他の設定項目に影響を与える元となった設定変更の取り消しやユーザへのメッセージ出力等を容易に実装できる。
【0097】
以下、図12に示すメモリマップを参照して本発明に係る印刷制御装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【0098】
図12は、本発明に係る印刷制御装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0099】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0100】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0101】
本実施形態における図8に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0102】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0103】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0104】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
【0105】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0106】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0107】
【発明の効果】
以上説明したように、本発明によれば、コンフリクト処理を、例えばコンフリクトマネージャなどプリンタドライバ側で実行し、該コンフリクト処理の結果をアプリケーションに通知できる。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示す印刷制御装置を適用可能な印刷処理システムの構成を説明するブロック図である。
【図2】図1に示したRAMのメモリマップの一例を示す図である。
【図3】図2に示した印刷処理関連プログラムにおけるコンフリクト処理制御部の内部処理の内容を説明するシステム概要図である。
【図4】本発明に係る印刷制御装置におけるコンフリクト処理における各モジュールで扱うデータの関連性を説明する図である。
【図5】本発明に係る印刷制御装置における補完処理前のコンフリクト処理ルールの例を示す図である。
【図6】本発明に係る印刷制御装置における補完処理後のコンフリクト処理ルールの例を示す図である。
【図7】本発明に係る印刷制御装置における設定変更処理関数の一例を示す図である。
【図8】本発明に係る印刷制御装置におけるデータ処理手順の一例を示すフローチャートである。
【図9】本発明の第2実施形態を示す印刷制御装置におけるコンフリクト処理制御部の内部処理の内容を説明するシステム概要図である。
【図10】本発明に係る印刷制御装置におけるコンフリクト処理における各モジュールで扱うデータの関連性を説明する図である。
【図11】本発明に係る印刷制御装置における他の設定変更処理関数の一例を示す図である。
【図12】本発明に係る印刷制御装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
1 CPU
2 RAM
3 ROM
4 システムバス
12 CPU
13 ROM
19 RAM
3000 ホストコンピュータ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a print control apparatus, a print control method, and a storage medium that execute conflict processing between a plurality of different setting values delivered from an application to a print processing related program for controlling the printing apparatus.
[0002]
[Prior art]
Conventionally, when an application program running on a computer executes printing, it is a common method to deliver various settings necessary for printing together with a print start command to a printing-related processing program such as a printer driver. It is. As described above, by passing various settings necessary for printing as parameters to the printer driver from the program, the program can obtain the intended print output.
[0003]
[Problems to be solved by the invention]
However, the range of types of setting values that can be specified to obtain the intended print output is very limited, such as the paper feed port and double-sided / single-sided printing that can be supported by any printer. For other useful functions that cannot be specified directly from the application program even if they are provided by the printer or printer driver, the user interface of the printer driver must be opened and specified there. .
[0004]
For this reason, when the user does not want to display the user interface of the printer driver at the time of printing output from various company system software, there is a problem that the functions of the printer or the printer driver cannot be fully utilized.
[0005]
Therefore, in order to make full use of the printer or printer driver in recent years, a special interface that can be used from the application is provided for the settings depending on the model of the printer and printer driver, and when this interface is used, Printer drivers have emerged that make it possible to set functions equivalent to those set in the printer driver user interface.
[0006]
In this case, the settings from the application program via this interface are also the same as the printer driver user interface conflict processing (resolving the setting conflict between multiple setting values and adjusting any setting value) Process to ensure consistency between set values), conflict processing that is efficient, less leaky, and equivalent to the conflict processing used in the user interface can be used in situations other than the user interface. There is a need to realize it.
[0007]
The present invention has been made to solve the above-described problems, and an object of the present invention is to execute a conflict process on a printer driver side such as a conflict manager and notify the application of the result of the conflict process. A control device, a printing control method, and a storage medium are provided.
[0008]
According to a first aspect of the present invention, there is provided a print control apparatus for performing conflict processing between a plurality of different set values, which is delivered from an application to a printer driver that controls the print apparatus, and includes two or more of the printer drivers. A storage means for storing a conflict processing rule indicating a dependency relationship established between the set values, and a conflict processing rule stored in the storage means is read, and is complementarily established based on the read conflict processing rule. A generation unit that generates a conflict processing rule and a conflict manager program included in the printer driver are executed, and a setting value necessary for executing printing on the printing apparatus is determined using the conflict processing rule generated by the generation unit. Apply conflict processing to avoid alignment Conflict processing means for changing the value, the result of the conflict processing by the conflict processing means, characterized in that it comprises a notifying means for notifying the application from the conflict manager program.
[0009]
According to a second aspect of the present invention, there is provided a print control apparatus including a printer driver having a conflict manager program for performing conflict processing of an application and a setting value necessary for execution of printing input from the application. Input means for inputting setting values necessary for print execution to the program; conflict processing means for applying conflict processing rules for avoiding inconsistencies in the setting values input by the input means to the conflict manager program; And a notifying unit for notifying the application of a conflict processing rule application result by the conflict processing unit from a conflict manager program.
[0010]
According to a third aspect of the present invention, after the notification means notifies the application of a result of the conflict processing means applying the conflict processing rule, the setting value necessary for the printing based on an instruction from the application is acquired. The apparatus further comprises means.
[0011]
According to a fourth aspect of the present invention, the application acquires the result of applying the conflict processing rule by the conflict processing means notified from the notification means, and determines whether or not to continue the setting based on the processing content. It further comprises confirmation means for confirming.
[0012]
According to a fifth aspect of the present invention, the conflict processing means is configured such that a conflict between a setting value indicating collate printing and a setting value indicating group printing, or a conflict between a setting value indicating stapling and a setting value indicating bookbinding. A conflict processing rule that avoids any one of them is applied.
[0013]
According to a sixth aspect of the present invention, the notifying unit notifies the application result of the conflict processing rule by writing the application result of the conflict processing rule to a storage unit readable by the application. Features.
[0014]
The seventh invention according to the present invention is characterized by further comprising generation means for generating a rule that complements the conflict processing rule.
[0015]
According to an eighth aspect of the present invention, there is provided a conflict processing rule that complements a conflict processing rule having a reverse relationship in a state variable that can take a binary value held by the conflict processing rule read from the storage means. The generation means generates as follows.
[0016]
According to a ninth aspect of the present invention, the value of the state variable held by the conflict processing rule read from the storage means, and the value of the state variable held by the conflict processing rule established complementarily generated by the generation means, Is logically exclusive.
According to a tenth aspect of the present invention, in a print control apparatus equipped with an application and a printer driver, an input means for inputting a setting value necessary for print execution from the application to the printer driver; A conflict processing unit that applies a conflict processing rule that avoids inconsistencies in setting values input by the unit, and a notification unit that notifies the application of the result of the conflict processing rule by the conflict processing unit. Features.
According to an eleventh aspect of the present invention, there is provided a method in a print control apparatus for executing a printer driver having a conflict manager program for performing a conflict process of an application and a setting value necessary for execution of printing input from the application. An input step for inputting setting values necessary for execution of printing to the conflict manager program, and a conflict processing for applying a conflict processing rule for avoiding inconsistencies between the setting values input to the conflict manager program by the input step. And a notification step of notifying the application from the conflict manager program of the application result of the conflict processing rule in the conflict processing step. And wherein the Rukoto.
According to a twelfth aspect of the present invention, after the notification step notifies the application of a result of applying the conflict processing rule in the conflict processing step, the setting value necessary for the printing based on an instruction from the application is acquired. The method further includes a step.
In a thirteenth aspect of the present invention, the application obtains an application result of the conflict processing rule by the conflict processing means notified from the notification step, and determines whether to continue the setting based on the processing content. A confirmation step for confirming is further provided.
In a fourteenth aspect of the present invention, the conflict processing step includes a conflict between a setting value indicating collate printing and a setting value indicating group printing, or a conflict between a setting value indicating stapling and a setting value indicating bookbinding. A conflict processing rule that avoids any one of them is applied.
In a fifteenth aspect of the present invention, the notifying step notifies the application result of the conflict processing rule by writing the application result of the conflict processing rule to a storage means readable by the application. Features.
According to a sixteenth aspect of the present invention, the method further includes a generation step of generating a rule that complements the conflict processing rule.
According to a seventeenth aspect of the present invention, there is provided a conflict processing rule that complements a conflict processing rule having a reverse relationship in a state variable that can take a binary value held by the conflict processing rule read from the storage means. The generation step generates as follows.
According to an eighteenth aspect of the present invention, the value of the state variable held by the conflict processing rule read from the storage unit, and the value of the state variable held by the conflict processing rule established complementarily generated by the generation step, Is logically exclusive.
According to a nineteenth aspect of the present invention, in the print control method in the print control apparatus equipped with an application and a printer driver, an input step for inputting a setting value necessary for printing execution from the application to the printer driver A conflict processing step for applying a conflict processing rule for avoiding inconsistencies in the setting values input in the input step, and a notification step for notifying the application result of the conflict processing rule in the conflict processing step to the application. It is characterized by providing.
A twentieth aspect of the present invention is characterized in that a program for causing a computer to execute the printing control method of the eleventh or nineteenth aspect is stored in a computer-readable storage medium.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram illustrating the configuration of a print processing system to which the print control apparatus according to the first embodiment of the present invention can be applied.
[0018]
Unless otherwise specified, if the function of the present invention is executed, a single device or a system composed of a plurality of devices can be connected via a network such as a LAN or WAN. Needless to say, the present invention can be applied to a system in which processing is performed.
[0019]
In FIG. 1, reference numeral 3000 denotes a host computer, which is a document processing in which figures, images, characters, tables (including spreadsheets), etc. are mixed based on a document processing program stored in the ROM 3 program ROM or the external memory 11. The CPU 1 generally controls each device connected to the system bus 4.
[0020]
The ROM 3 program ROM or external memory 11 stores an operating system program (hereinafter referred to as OS) which is a control program of the CPU 1, and the ROM 3 font ROM or external memory 11 stores the above-mentioned document processing. Font data to be used is stored, and various data to be used when the document processing is performed is stored in the data ROM of the ROM 3 or the external memory 11.
[0021]
Reference numeral 2 denotes a RAM which functions as a main memory, work area, and the like for the CPU 1. A keyboard controller (KBC) 5 controls key input from a keyboard (KB) 9 or a pointing device (not shown).
[0022]
Reference numeral 6 denotes a CRT controller (CRTC) which controls display on a CRT display (CRT) 10. A disk controller (DKC) 7 is a hard disk (HD), floppy disk (FD), etc. for storing a boot program, various applications, font data, user files, edit files, a printer control command generation program (hereinafter referred to as a printer driver), etc. The access to the external memory 11 is controlled.
[0023]
A printer controller (PRTC) 8 is connected to the printer 1500 via a predetermined bidirectional interface (interface) 21 and executes communication control processing with the printer 1500. The CPU 1 executes, for example, an outline font rasterization process on the display information RAM set on the RAM 2 to enable WYSIWYG on the CRT 10. The CPU 1 opens various windows registered based on commands instructed by a mouse cursor (not shown) on the CRT 10 and executes various data processing. When executing printing, the user opens a window relating to print settings, and can set the print processing method for the printer driver including printer settings and print mode selection.
[0024]
In the printer 1500, reference numeral 12 denotes a printer CPU (CPU), which is a printing unit (printer) connected to the system bus 15 based on a control program stored in the program ROM of the ROM 13 or a control program stored in the external memory 14. The engine) outputs an image signal as output information.
[0025]
Further, a control program of the CPU 12 is stored in the program ROM of the ROM 13. The font ROM of the ROM 13 stores font data used when generating the output information, and the ROM 13 data ROM is used on the host computer in the case of a printer without the external memory 14 such as a hard disk. Information to be stored is stored.
[0026]
The CPU 12 can communicate with the host computer via the input unit 18 and is configured to notify the host computer 3000 of information in the printer.
[0027]
Reference numeral 19 denotes a RAM that functions as the main memory, work area, and the like of the CPU 12, and is configured such that the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown).
[0028]
The RAM 19 is used as an output information expansion area, environment data storage area, NVRAM, and the like. Access to the external memory 14 such as the hard disk (HD), IC card or floppy disk (FD) is controlled by a memory controller (DKC) 20. The external memory 14 is connected as an option and stores font data, an emulation program, form data, and the like.
[0029]
Reference numeral 1501 denotes an operation panel on which operation switches, an LED display, and the like are arranged. Further, the number of external memories is not limited to one, and at least one external memory is provided so that an optional font card and a plurality of external memories storing programs for interpreting printer control languages with different language systems can be connected in addition to built-in fonts. It may be configured. Furthermore, an NVRAM (not shown) may be provided to store printer mode setting information from the operation panel 1501.
[0030]
FIG. 2 is a diagram showing an example of a memory map of the RAM 3 shown in FIG. 1, and shows a memory map in a state in which the print processing related program in this embodiment is loaded into the RAM 2 on the host computer 3000 and can be executed. ing.
[0031]
In FIG. 2, reference numeral 201 denotes an application, which is loaded from the external memory 11, and one or a plurality of applications are loaded.
[0032]
A free memory 202 functions as a work of the CPU 1. Reference numeral 203 denotes related data, and various related data associated with the execution of the application 201 is loaded.
[0033]
A print processing related program 204 is loaded from the external memory 11. Reference numeral 205 denotes an OS which controls the execution of the application 201 and the like. A BIOS 206 defines input / output processing of various devices.
[0034]
FIG. 3 is a system outline diagram for explaining the contents of the internal processing of the conflict processing control unit in the print processing related program shown in FIG.
[0035]
In FIG. 3, reference numeral 301 denotes a conflict processing rule which is read by the conflict manager 303 onto the RAM 2 shown in FIG. Reference numeral 302 denotes an inference engine, which reads the conflict processing rule 301 expressed as illustrated in FIG. 3 into the RAM 2 via the conflict manager 303 and generates a complement rule.
[0036]
Reference numeral 304 denotes a state variable list, and the printer function names A, B, and C (see FIG. 4) are initialized by the inference engine 302. There is a status variable with the same name for each of the printer function names A, B, and C appearing in the conflict processing rule 403.
[0037]
An internal structure 305 manages members of the printer driver internal structure 401 corresponding to the printer function names A, B, and C as cA, cB, and cC, respectively. A printer driver management unit 306 calls the conflict manager 303 to update the layout state variable in the state variable list 304. Reference numeral 307 denotes an application.
[0038]
FIG. 4 is a diagram for explaining the relevance of data handled by each module in the conflict processing in the print control apparatus according to the present invention.
[0039]
In FIG. 4, reference numeral 401 denotes an internal structure of the printer driver, which can be read or written by the conflict manager 303 or the printer driver management unit 306 shown in FIG. A state variable list 402 is equivalent to the state variable list shown in FIG. 3 and is configured to be readable or writable by the conflict manager 303. In the figure, R represents reading, W represents writing, and R / W represents reading or writing.
[0040]
FIG. 5 is a diagram illustrating an example of a conflict processing rule before complement processing in the print control apparatus according to the present invention.
[0041]
In FIG. 5, (1) to (3) show an example of the conflict processing rule 301 before the interpolation processing, the rule (1) is a Group existing as a member of the printer driver internal structure 401, and the rule (2) is a printer. Rule (3) corresponds to a Layout that exists as a member of the driver internal structure 401, and Rule (3) corresponds to a Layout that exists as a member of the printer internal structure 401.
[0042]
FIG. 6 is a diagram illustrating an example of a conflict processing rule after complement processing in the print control apparatus according to the present invention.
[0043]
In FIG. 6, (1) to (9) are conflict processing rules (rules) after complement processing, and in particular, _A in rules (6) to (9) indicates a variable used in the inference engine 302.
[0044]
FIG. 7 is a diagram showing an example of a setting change processing function in the print control apparatus according to the present invention, which is an example of an interface (I / F) of a function used when a setting change processing request is made from an application to the printer driver. is there.
[0045]
FIG. 8 is a flowchart showing an example of a data processing procedure in the print control apparatus according to the present invention, and corresponds to the conflict processing procedure in the present embodiment. In addition, (501)-(508) shows each step.
[0046]
First, the process of the print processing related program (so-called printer driver) shown in the present embodiment is stored in the RAM 2 under the management of the OS 205 when the initialization process provided in the printer driver is called from the application 201 operating under the management of the OS 205. The print processing related program 204 shown in FIG. 2 is loaded.
[0047]
When the print processing related program 204 is loaded into the RAM 2, the printer driver initialization processing unit provided in the printer driver management unit 306 is called and initialization processing is performed.
[0048]
First, the inference engine 302 shown in FIG. 3 reads the conflict processing rule 301 expressed as illustrated in FIG. 5 into the RAM 2 via the conflict manager 303 (501).
[0049]
Subsequently, based on the conflict processing rule 301 read in step (501), a complementary rule is generated for a rule having two state values (“ON” and “OFF”) as values (502).
[0050]
If only “ON” or “OFF” is written on the left side of the same printer function name as shown in the example below,
A (ON) <-B (ON), C (OFF) (1)
A (ON) <-D (V1). (2)
B (OFF) <-E (OFF). ...... (3)
In this case, the inference engine 302 automatically generates an ON / OFF reverse rule as follows.
[0051]
For rules (1) and (2) above,
A (OFF) <-not A (ON). ...... (4)
Is generated, and for (3) above,
B (ON) <-not B (OFF). ...... (5)
Is generated. The automatically generated rules (4) and (5) are optimized in terms of processing efficiency and transformed into the following rules (4) ′ and (5) ′, but the meanings are exactly the same.
A (OFF) <-true. ...... (4) '
B (ON) <-true. ...... (5) '
When the reverse side is automatically generated as in the above example, it means that A (ON) and A (OFF) are in a completely exclusive relationship when considered as logic.
[0052]
That is, A (ON) and A (OFF) means that the collective space for A is completely filled. The same applies to B (ON) and B (OFF).
[0053]
When the user describes A (ON) and A (OFF) together, the rules (4) and (4) ′ are not automatically generated. Accordingly, in this case, it is necessary to exhaustively describe all cases so that the collective space for A is completely filled.
[0054]
Subsequently, the conflict processing rule relating to the initialization of the value of the printer function name used in the state variable list 402 and the conflict processing rule 403 shown in FIG. 4 is automatically generated as a complement rule (step 503).
[0055]
All the printer function names in the conflict processing rule 403 have their state variables as a state variable list 402 as shown in FIG.
[0056]
The value of this state variable is linked to the value of the corresponding member of the internal structure used by the printer driver. The initial values of the status variables of all printer function names are the initial values of the members of the internal structure 305.
For example, if the following conflict processing rule is described, “A (ON) <-B (ON), C (OFF). ", There is a status variable with the same name for each of the printer function names A, B, and C appearing in the conflict processing rule 403 as shown in the status variable list 402 shown in FIG.
[0057]
Assume that the members of the printer driver internal structure 401 corresponding to the printer function names A, B, and C are cA, cB, and cC, respectively.
[0058]
Since the initial value of int cA is “0”, the value of state variable A corresponding to it is “OFF”.
[0059]
Accordingly, the initial value of the status value of the printer function name A in the inference engine 302 is also OFF.
[0060]
Now, the inference engine 302 infers the conflict check, and the following rule “A (ON)” <-B (ON), C (OFF). Is established, the inference engine 302 changes the state variable value of the printer function name A on the left side to “ON”.
[0061]
After the conflict check inference is completed, the conflict manager 303 reflects the changed value of the state variable in the corresponding member int cA of the printer driver internal structure 401.
[0062]
That is, int cA is changed from “0” to “1” when the above rule is satisfied.
[0063]
The inference engine 302 can receive the state variable value of the printer function name A in the variable _X used in the inference engine 302 by the built-in function status (a, _X) incorporated in the inference engine. After loading the conflict processing rule, the inference engine 302 automatically generates the next rule for all rule names that appear in the conflict processing rule.
A (_X) <-status (A, _X).
B (_X) <-status (B, _X).
C (_X) <-status (C, _X).
This means that if there is no other rule to be applied, the value of the corresponding member of the printer driver internal structure 401 becomes the status value of the printer function name.
[0064]
For the printer function name A, the rule “A (ON) <-B (ON), C (OFF). Therefore, the status value of the printer function name A is [ON] in response to this. If the printer function name B has no rule other than the automatically generated rule, the rule “B (_X)” <-status (B, _X). Applies. Since this automatic generation rule always holds, the value “ON” of the status variable of the printer model name B is unified to “_X”, which becomes the status value of the printer model name B.
[0065]
That is, for a printer function that does not have a user-defined rule or does not hold even if it exists, the value stored in the corresponding member of the printer driver internal structure 401 is the status value of the printer function. become.
[0066]
Subsequently, other initialization processing is performed, the processing processing is terminated, and control is returned to the application (step 504).
[0067]
After completion of the initialization process, the setting change process from the application by calling the setting change process function shown in FIG. 7 provided in the printer driver management unit 306 is repeated (steps 505 to 507).
[0068]
Among the arguments used in this function, parameters relating to the setting change process are pDevModeInOutput, pItemParam, and dwItemID. The following information is set in each parameter.
[0069]
The parameter dwItemID specifies which member of the printer driver internal structure 401 is desired to be changed. The parameter pItemParam specifies the parameter of the member indicated by the parameter dwItemID. In addition, a pointer to the printer driver internal structure 401 is specified in the parameter pDevModeInOutput.
[0070]
For example, taking the case where the setting change request from the application is to change the Print Style from 1-sided Printing to Booklet Printing, the above parameters are as follows:
“DM_ITEM_LAYOUT” is set in the parameter dwItemID, “DM_PARAM_BOOKLET” is set in the parameter pItemParam, “pDevMode” is set in the parameter pDevModeInOutput, and then DocumentPropertiesEx () is called.
[0071]
Then, the printer driver setting change process shown in steps (505) to (507) in FIG. 5 is started.
[0072]
First, the application of the conflict processing rule executed in step (505) will be described.
[0073]
To explain using the above example, the application of the conflict processing rule is a rule read as a part of the conflict processing rule 301 shown in FIG. 5 and a part of the complement rule generated in step (502). This is performed for (6) to (9) shown in FIG. 6 which is a part of the rules generated in (4), (5) and step (503) shown in FIG.
[0074]
The values of Collate, Group, Staple, and Layout members existing as members of the printer driver internal structure 401 before applying the conflict processing rule are “OFF” for Collate, “ON” for Group, and “OFF” for Staple. Thus, Layout becomes “1-Side”.
[0075]
Since the change request from the application is to change Layout from Layout to Booklet, the contents of the members of Layout are “OFF” for Collate, “ON” for Group, “OFF” for Staple, and Layout. Becomes “Booklet”.
[0076]
Next, the printer driver management unit 306 calls the conflict manager 303, updates the state variable of Layout in the state variable list 304, subsequently calls the inference engine 302, and application of the conflict processing rule 301 starts.
[0077]
First, the rules (6) to (9) shown in FIG. 6 are applied, and the printer function names in the inference engine 302 are initialized with the values of the members of the state variable list 302. Subsequently, the rule (3) shown in FIG. 6 is applied, and the value of Group changes from “ON” to “OFF”.
[0078]
As a result, the contents of the members of Layout are “OFF” for Collate, “OFF” for Group, “OFF” for Staple, and “Booklet” for Layout.
[0079]
Furthermore, rule (4) shown in FIG. 6 is applied, and Collate changes from “OFF” to “ON”.
[0080]
As a result, the contents of the members of Layout are “ON” for Collate, “OFF” for Group, “OFF” for Staple, and “Booklet” for Layout.
[0081]
In addition, since there is no rule to be applied, the application of the conflict processing rule in the inference engine 302 is finished.
[0082]
In the next step, the conflict manager 303 updates the state variable list 304 based on the final state (step 506) and the printer driver internal structure (step 507).
[0083]
Normally, it is necessary to adjust the values of Group and Collate members, which are members related to the setting of Layout, by the hand of the application itself. However, in this example, by using DocumentPropertiesEx, the application can execute Layout. The printer driver is updated from “ON” to “OFF” and “Collate” is updated from “OFF” to “ON” by requesting the printer driver to change “1-Side” to “Booklet”. A structure 301 can be received.
[0084]
After that, if actual printing is started using the acquired printer driver internal structure 301 as a parameter, the printing result desired by the application can be easily obtained.
[0085]
The above processing is repeatedly executed until the end processing provided in the printer driver management unit 306 is called by the application. When the termination process of the printer driver is called from the application, the conflict processing rule information generated in the free memory 202 is deleted and other termination processes are performed (step 508).
[0086]
As a result, all the processing is completed, the processing of the print processing related program 204 in this embodiment is also completed, and the RAM 2 is erased by the function of the OS 205.
[0087]
In this embodiment, the medium for recording the print processing related program 204 is an external memory, but the external memory may be an FD, HD drive, CD-ROM, IC memory card, or the like. Further, it is possible to record the print program alone or together with the OS and other programs that run on the host computer in the ROM 3 so as to be a part of the memory map and to be directly executed by the CPU 1. .
[0088]
[Second Embodiment]
In the first embodiment, the setting content of the printer driver internal structure 401 is automatically updated to an optimum value by performing the conflict processing. Further, as shown in FIGS. When the conflict processing result list 901 is added to the conflict manager 303 and the state variable list 402 is updated, the state variable change history is written into the conflict information, thereby executing the conflict processing. The application can now know which member of the structure has been updated.
[0089]
FIG. 9 is a system outline diagram for explaining the contents of the internal processing of the conflict processing control unit in the print control apparatus showing the second embodiment of the present invention. The same components as those in FIG. is there.
[0090]
FIG. 10 is a diagram for explaining the relevance of data handled by each module in the conflict processing in the print control apparatus according to the present invention. The same components as those in FIG. 4 are denoted by the same reference numerals.
[0091]
FIG. 11 is a diagram showing an example of another setting change processing function in the print control apparatus according to the present invention.
[0092]
In the example of the conflict processing result list shown in FIG. 9, the fact that only one member of the printer driver internal structure 401 has been updated according to the conflict processing rule is stored in the ResultNum and updated. The list of members is stored in the subsequent Modified [], and in this case, ResultNum is 1, so that there is only one member in the list, and ID_ca, that is, cA of the printer driver internal structure 401 is updated. expressing.
[0093]
The application 307 can access the information by receiving the pointer to the conflict processing result list as a return value of the DocumentPropertiesEx function shown in FIG.
[0094]
Taking the above embodiment as an example, the content of the conflict processing result list 901 includes ID_Group and ID_Collate. The application 307 confirms the content of the conflict processing result list 901, confirms the content of the corresponding member, Group, and Collate of the printer driver internal structure 401 in which the value is actually stored, and the setting content is If the application 307 matches an undesired setting change, the setting change from “1-Side” to “Booklet” can be canceled.
[0095]
According to each of the above-described embodiments, the conflict condition that complements the conflict condition prepared by the program developer or the like is automatically generated, so that a conflict process with higher quality can be realized.
[0096]
Furthermore, by executing the conflict processing, it is possible to obtain information about whether or not the setting has been changed for each setting value. Therefore, the processing based on this information, for example, the setting that has influenced other setting items You can easily implement cancellation of changes and message output to the user.
[0097]
The configuration of a data processing program that can be read out by a printing system to which the printing control apparatus according to the present invention can be applied will be described below with reference to the memory map shown in FIG.
[0098]
FIG. 12 is a diagram illustrating a memory map of a storage medium that stores various data processing programs that can be read out by a printing system to which the printing control apparatus according to the present invention can be applied.
[0099]
Although not particularly illustrated, information for managing a program group stored in the storage medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.
[0100]
Further, data depending on various programs is also managed in the directory. In addition, a program for installing various programs in the computer, and a program for decompressing when the program to be installed is compressed may be stored.
[0101]
The functions shown in FIG. 8 in the present embodiment may be performed by the host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Is.
[0102]
As described above, a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium in the storage medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the programmed program code.
[0103]
In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.
[0104]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, an EEPROM, or the like is used. it can.
[0105]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0106]
Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0107]
【The invention's effect】
As described above, according to the present invention, the conflict processing can be executed on the printer driver side such as the conflict manager and the result of the conflict processing can be notified to the application.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a print processing system to which a print control apparatus according to a first embodiment of the invention can be applied.
FIG. 2 is a diagram showing an example of a memory map of a RAM shown in FIG.
FIG. 3 is a system outline diagram illustrating the contents of internal processing of a conflict processing control unit in the print processing related program shown in FIG. 2;
FIG. 4 is a diagram for explaining the relevance of data handled by each module in the conflict processing in the print control apparatus according to the present invention.
FIG. 5 is a diagram illustrating an example of a conflict processing rule before complement processing in the print control apparatus according to the present invention.
FIG. 6 is a diagram illustrating an example of a conflict processing rule after complement processing in the print control apparatus according to the present invention.
FIG. 7 is a diagram illustrating an example of a setting change processing function in the print control apparatus according to the present invention.
FIG. 8 is a flowchart illustrating an example of a data processing procedure in the print control apparatus according to the present invention.
FIG. 9 is a system outline diagram illustrating the contents of internal processing of a conflict processing control unit in a print control apparatus showing a second embodiment of the present invention.
FIG. 10 is a diagram for explaining the relevance of data handled by each module in the conflict processing in the print control apparatus according to the present invention.
FIG. 11 is a diagram illustrating an example of another setting change processing function in the print control apparatus according to the present invention.
FIG. 12 is a diagram illustrating a memory map of a storage medium that stores various data processing programs that can be read by a printing system to which the printing control apparatus according to the invention can be applied.
[Explanation of symbols]
1 CPU
2 RAM
3 ROM
4 System bus
12 CPU
13 ROM
19 RAM
3000 Host computer

Claims (20)

アプリケーションから印刷装置を制御するプリンタドライバに対して引き渡される、異なる複数の設定値間のコンフリクト処理を行なう印刷制御装置であって、
前記プリンタドライバの2つ以上の設定値の間で成立する依存関係を示すコンフリクト処理ルールを記憶する記憶手段と、
前記記憶手段に記憶されたコンフリクト処理ルールを読み込み、該読み込んだコンフリクト処理ルールにづいて、補完的に成立するコンフリクト処理ルールを生成する生成手段と、
前記プリンタドライバが有するコンフリクトマネージャプログラムを実行して、前記生成手段により生成されたコンフリクト処理ルールを用いて、前記印刷装置に対する印刷実行に必要な設定値の不整合を回避するコンフリクト処理を適用して当該設定値の変更を行なうコンフリクト処理手段と、
前記コンフリクト処理手段によるコンフリクト処理の結果を、前記コンフリクトマネージャプログラムからアプリケーションに対して通知する通知手段と、
を備えることを特徴とする印刷制御装置。
A print control apparatus that performs conflict processing between a plurality of different setting values that is delivered from an application to a printer driver that controls the printing apparatus.
Storage means for storing shown to co Nfurikuto processing rules dependency relationship established between two or more settings of the printer driver,
Load the co Nfurikuto processing rule stored in the storage means, based on the said read conflict processing rule, a generation unit for generating a conflict processing rule that complementarily established,
Run the conflict manager program the printer driver has, by using the I Ri production made the conflict resolution rule to the generation unit, the conflict processing to avoid inconsistencies required settings to the print execution for the printing device Conflict processing means for applying and changing the setting value ;
Notification means for notifying the application of the result of the conflict processing by the conflict processing means from the conflict manager program;
A printing control apparatus comprising:
アプリケーションと、アプリケーションから入力される印刷実行に必要な設定値のコンフリクト処理を行なうコンフリクトマネージャプログラムを有するプリンタドライバを搭載した印刷制御装置において、
アプリケーションから前記コンフリクトマネージャプログラムに対して印刷実行に必要な設定値を入力する入力手段と、
前記入力手段が前記コンフリクトマネージャプログラムに対して入力した設定値の不整合を回避するコンフリクト処理ルールを適用するコンフリクト処理手段と、
前記コンフリクト処理手段によるコンフリクト処理ルールの適用結果をコンフリクトマネージャプログラムから前記アプリケーションに対して通知する通知手段と、
を備えることを特徴とする印刷制御装置。
In a print control apparatus equipped with an application and a printer driver having a conflict manager program for performing conflict processing of setting values necessary for execution of printing input from the application,
An input means for inputting setting values necessary for printing execution from the application to the conflict manager program;
Conflict processing means for applying conflict processing rules for avoiding inconsistencies in the setting values input to the conflict manager program by the input means;
Notification means for notifying the application of the result of the conflict processing rule by the conflict processing means from the conflict manager program;
Print controller you comprising: a.
前記コンフリクト処理手段がコンフリクト処理ルールを適用した結果を前記通知手段がアプリケーションへ通知した後、アプリケーションからの指示に基づく前記印刷に必要な設定値を取得する取得手段をさらに備えることを特徴とする請求項に記載の印刷制御装置。 The information processing apparatus further includes an acquisition unit configured to acquire a setting value necessary for the printing based on an instruction from the application after the notification unit notifies the application of a result of the conflict processing rule being applied by the conflict processing unit. Item 3. The print control apparatus according to Item 2 . 前記アプリケーションは、前記通知手段から通知されてくるコンフリクト処理手段によるコンフリクト処理ルールの適用結果を取得して、当該処理内容に基づく設定を続行するか否かを確認する確認手段をさらに備えることを特徴とする請求項2又は3に記載の印刷制御装置。The application further includes confirmation means for acquiring a result of application of the conflict processing rule by the conflict processing means notified from the notification means and confirming whether or not to continue setting based on the processing content. The printing control apparatus according to claim 2 or 3 . 前記コンフリクト処理手段は、コレート印刷を示す設定値とグループ印刷を示す設定値との競合、又は、ステープルを示す設定値と製本を示す設定値との競合のいずれかを回避するコンフリクト処理ルールを適用することを特徴とする請求項1、又は、2乃至4のいずれかに記載の印刷制御装置。 The conflict processing means applies a conflict processing rule that avoids either a conflict between a setting value indicating collate printing and a setting value indicating group printing or a conflict between a setting value indicating staple and a setting value indicating bookbinding. The print control apparatus according to claim 1, or 2 to 4. 前記通知手段は、前記アプリケーションが読み出し可能な記憶手段に対してコンフリクト処理ルールの適用結果を書き込むことにより、前記アプリケーションに対して当該適用結果を通知することを特徴とする請求項2乃至5のいずれかに記載の印刷制御装置。6. The notification unit according to claim 2, wherein the application unit notifies the application result of the conflict processing rule by writing the application result of the conflict processing rule in a storage unit that can be read by the application. A printing control apparatus according to claim 1. 前記コンフリクト処理ルールを補完するルールを生成する生成手段をさらに有することを特徴とする請求項2乃至6のいずれかに記載の印刷制御装置。The print control apparatus according to claim 2, further comprising a generation unit configured to generate a rule that complements the conflict processing rule. 前記記憶手段から読み込んだコンフリクト処理ルールが保持する二値を取り得る状態変数において、逆側の関係にあるコンフリクト処理ルールを、補完的に成立するコンフリクト処理ルールとして前記生成手段が生成することを特徴とする請求項2又は7に記載の印刷制御装置。In the state variable that can take a binary value stored in the conflict processing rule read from the storage unit, the generation unit generates a conflict processing rule having a reverse relationship as a conflict processing rule that is complementarily established. The printing control apparatus according to claim 2 or 7. 前記記憶手段から読み込んだコンフリクト処理ルールが保持する状態変数の値と、前記生成手段が生成した補完的に成立するコンフリクト処理ルールが保持すThe state variable value held by the conflict processing rule read from the storage unit and the complementary conflict processing rule generated by the generation unit are held. る状態変数の値とが、論理的に排他の関係にあることを特徴とする請求項2又は7に記載の印刷制御装置。The print control apparatus according to claim 2, wherein the state variable value is logically exclusive. アプリケーションと、プリンタドライバを搭載した印刷制御装置において、
アプリケーションから前記プリンタドライバに対して印刷実行に必要な設定値を入力する入力手段と、
アプリケーションから、前記入力手段により入力された設定値の不整合を回避するコンフリクト処理ルールを適用するコンフリクト処理手段と、
前記コンフリクト処理手段によるコンフリクト処理ルールの適用結果を前記アプリケーションに対して通知する通知手段と、
を備えることを特徴とする印刷制御装置。
In the print control device with application and printer driver installed,
Input means for inputting a setting value necessary for execution of printing from the application to the printer driver;
Conflict processing means for applying a conflict processing rule for avoiding inconsistencies in setting values input by the input means from the application;
Notification means for notifying the application of the result of application of the conflict processing rule by the conflict processing means;
A printing control apparatus comprising:
アプリケーションと、アプリケーションから入力される印刷実行に必要な設定値のコンフリクト処理を行なうコンフリクトマネージャプログラムを有するプリンタドライバを実行する印刷制御装置における方法おいて、
アプリケーションから前記コンフリクトマネージャプログラムに対して印刷実行に必要な設定値を入力する入力ステップと、
前記入力ステップが前記コンフリクトマネージャプログラムに対して入力した設定値の不整合を回避するコンフリクト処理ルールを適用するコンフリクト処理ステップと、
前記コンフリクト処理ステップによるコンフリクト処理ルールの適用結果をコンフリクトマネージャプログラムから前記アプリケーションに対して通知する通知ステップと、
を印刷制御装置に実行させることを特徴とする印刷制御方法。
In a method for a print control apparatus that executes an application and a printer driver having a conflict manager program for performing conflict processing of setting values necessary for execution of printing input from the application,
An input step for inputting a setting value necessary for printing execution from the application to the conflict manager program;
A conflict processing step for applying a conflict processing rule for avoiding inconsistencies in setting values input to the conflict manager program in the input step;
A notification step of notifying the application of a conflict processing rule application result in the conflict processing step from the conflict manager program;
A print control method that causes a print control apparatus to execute the above.
前記コンフリクト処理ステップがコンフリクト処理ルールを適用した結果を前記通知ステップがアプリケーションへ通知した後、アプリケーションからの指示に基づく前記印刷に必要な設定値を取得する取得ステップをさらに備えることを特徴とする請求項9に記載の印刷制御方法。  The acquisition step of acquiring a setting value necessary for the printing based on an instruction from the application after the notification step notifies the application of a result of applying the conflict processing rule in the conflict processing step. Item 10. The print control method according to Item 9. 前記アプリケーションは、前記通知ステップから通知されてくるコンフリクト処理手段によるコンフリクト処理ルールの適用結果を取得して、当該処理内容に基づく設定を続行するか否かを確認する確認ステップをさらに備えることを特徴とする請求項11又は12に記載の印刷制御方法。  The application further includes a confirmation step of acquiring a result of applying the conflict processing rule by the conflict processing means notified from the notification step and confirming whether or not to continue the setting based on the processing content. The printing control method according to claim 11 or 12. 前記コンフリクト処理ステップは、コレート印刷を示す設定値とグループ印刷を示す設定値との競合、又は、ステープルを示す設定値と製本を示す設定値との競合のいずれかを回避するコンフリクト処理ルールを適用することを特徴とする請求項10乃至13のいずれかに記載の印刷制御方法。  The conflict processing step applies a conflict processing rule that avoids either a conflict between a setting value indicating collate printing and a setting value indicating group printing or a conflict between a setting value indicating stapling and a setting value indicating bookbinding. The print control method according to claim 10, wherein the print control method is performed. 前記通知ステップは、前記アプリケーションが読み出し可能な記憶手段に対してコンフリクト処理ルールの適用結果を書き込むことにより、前記アプリケーションに対して当該適用結果を通知することを特徴とする請求項11乃至14のいずれかに記載の印刷制御方法。  15. The notification step according to claim 11, wherein the application result is notified to the application by writing the application result of the conflict processing rule to a storage means readable by the application. The printing control method according to claim 1. 前記コンフリクト処理ルールを補完するルールを生成する生成ステップをさらに有することを特徴とする請求項11乃至15のいずれかに記載の印刷制御方法。  16. The printing control method according to claim 11, further comprising a generation step of generating a rule that complements the conflict processing rule. 前記記憶手段から読み込んだコンフリクト処理ルールが保持する二値を取り得る状態変数において、逆側の関係にあるコンフリクト処理ルールを、補完的に成立するコンフリクト処理ルールとして前記生成ステップが生成することを特徴とする請求項11又は16に記載の印刷制御方法。  In the state variable that can take a binary value held by the conflict processing rule read from the storage means, the generation step generates a conflict processing rule having an opposite relationship as a conflict processing rule that is complementarily established. The printing control method according to claim 11 or 16. 前記記憶手段から読み込んだコンフリクト処理ルールが保持する状態変数の値と、前記生成ステップが生成した補完的に成立するコンフリクト処理ルールが保持する状態変数の値とが、論理的に排他の関係にあることを特徴とする請求項11又は17に記載の印刷制御方法。  The value of the state variable held by the conflict processing rule read from the storage means and the value of the state variable held by the complementary conflict processing rule generated by the generation step are logically exclusive. The printing control method according to claim 11 or 17, アプリケーションと、プリンタドライバを搭載した印刷制御装置における印刷制御方法において、
アプリケーションから前記プリンタドライバに対して印刷実行に必要な設定値を入力する入力ステップと、
アプリケーションから、前記入力ステップにより入力された設定値の不整合を回避するコンフリクト処理ルールを適用するコンフリクト処理ステップと、
前記コンフリクト処理ステップによるコンフリクト処理ルールの適用結果を前記アプリケーションに対して通知する通知ステップと、
を備えることを特徴とする印刷制御方法。
In a print control method in an application and a print control device equipped with a printer driver,
An input step for inputting a setting value necessary for printing execution from the application to the printer driver;
A conflict processing step for applying a conflict processing rule for avoiding inconsistencies in the setting values input in the input step from the application;
A notification step of notifying the application of the application result of the conflict processing rule in the conflict processing step;
A printing control method comprising:
請求項11または19に記載の印刷制御方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。  A computer-readable storage medium storing a program for causing a computer to execute the printing control method according to claim 11.
JP2000401218A 2000-12-28 2000-12-28 Print control apparatus, print control method, and storage medium Expired - Fee Related JP3733290B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000401218A JP3733290B2 (en) 2000-12-28 2000-12-28 Print control apparatus, print control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000401218A JP3733290B2 (en) 2000-12-28 2000-12-28 Print control apparatus, print control method, and storage medium

Publications (2)

Publication Number Publication Date
JP2002202865A JP2002202865A (en) 2002-07-19
JP3733290B2 true JP3733290B2 (en) 2006-01-11

Family

ID=18865692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000401218A Expired - Fee Related JP3733290B2 (en) 2000-12-28 2000-12-28 Print control apparatus, print control method, and storage medium

Country Status (1)

Country Link
JP (1) JP3733290B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3697176B2 (en) * 2001-04-27 2005-09-21 キヤノン株式会社 User interface control apparatus and method
JP4350565B2 (en) 2003-03-27 2009-10-21 キヤノン株式会社 Information processing apparatus and method
JP4481800B2 (en) 2003-12-02 2010-06-16 キヤノン株式会社 Information processing apparatus, information processing method, and program
JP2006164240A (en) 2004-11-15 2006-06-22 Canon Inc Data processing apparatus, print setting processing method, storage medium storing computer-readable control program, and control program
CN100380309C (en) * 2004-11-15 2008-04-09 佳能株式会社 Data processing apparatus, print setting processing method, storing medium program therein, and program
JP4661465B2 (en) * 2005-09-06 2011-03-30 富士ゼロックス株式会社 Control device
JP5294639B2 (en) 2008-01-08 2013-09-18 キヤノン株式会社 Information processing apparatus, print setting control method, and computer program

Also Published As

Publication number Publication date
JP2002202865A (en) 2002-07-19

Similar Documents

Publication Publication Date Title
US7228314B2 (en) Apparatus and method for controlling user interface
US6965953B2 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium storing program for realizing the method
US8085425B2 (en) Information processing apparatus
US8804172B2 (en) Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method
CN100561435C (en) Signal conditioning package and information processing method
US7808666B2 (en) Data processing device, print setting processing method, storage device for storing computer-readable program and program
US7817294B2 (en) Data processing apparatus, print setting processing method, storing medium storing computer-readable program therein, and program
JP4350565B2 (en) Information processing apparatus and method
US7600052B2 (en) Peripheral device control method, control program, and apparatus therefor
US20020161936A1 (en) User interface control apparatus and method
US20060103867A1 (en) Data processing apparatus, print setting adjusting method, recording medium storing computer-readable program therein, and program
JP2002163086A (en) Information processing device, distributed printing control method, storage medium, and program
KR20090101767A (en) Printing method to load a filter dynamically and recordable medium with a program to execute the printing method and host apparatus
KR20050053323A (en) Information processing system, print control method and program
JP3733290B2 (en) Print control apparatus, print control method, and storage medium
JP5025684B2 (en) Control apparatus and method, and program
JP5062932B2 (en) User interface control device and method, computer program, and storage medium
JP4366027B2 (en) User interface control apparatus and method
JP3833067B2 (en) User interface control apparatus and method, and storage medium
JP5106660B2 (en) Control apparatus and method, and program
JP2007207003A (en) Information processor, driver setting method, storage medium and program
JP3817500B2 (en) Information processing apparatus, control method, and control program
JP3817499B2 (en) Information processing apparatus, control method, and control program
US20060101448A1 (en) Printing device
JP4522398B2 (en) User interface control apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050725

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: 20051011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051017

R150 Certificate of patent or registration of utility model

Ref document number: 3733290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees