JP4420183B2 - 印刷制御装置、印刷制御方法および印刷制御プログラム - Google Patents

印刷制御装置、印刷制御方法および印刷制御プログラム Download PDF

Info

Publication number
JP4420183B2
JP4420183B2 JP2003291676A JP2003291676A JP4420183B2 JP 4420183 B2 JP4420183 B2 JP 4420183B2 JP 2003291676 A JP2003291676 A JP 2003291676A JP 2003291676 A JP2003291676 A JP 2003291676A JP 4420183 B2 JP4420183 B2 JP 4420183B2
Authority
JP
Japan
Prior art keywords
printing
settable range
item
condition
print
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
JP2003291676A
Other languages
English (en)
Other versions
JP2005063114A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003291676A priority Critical patent/JP4420183B2/ja
Priority to US10/917,238 priority patent/US20050094196A1/en
Publication of JP2005063114A publication Critical patent/JP2005063114A/ja
Application granted granted Critical
Publication of JP4420183B2 publication Critical patent/JP4420183B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/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/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/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

Description

本発明は、印刷制御装置、印刷制御方法および印刷制御プログラムに関する。
印刷装置など、コンピュータの周辺機器を駆動するためには通常ドライバと呼ばれる制御プログラムが利用される。このドライバにおいては周辺機器を駆動するための駆動条件の設定を受け付け、この設定に従って周辺機器を駆動する。ここで、ディスプレイ等にUI(User Interface)を表示し、このUIを通じて利用者に駆動条件を設定させるのが一般的である(例えば、特許文献1)。
特願2002−252769号
上述した従来の技術において、周辺機器を駆動するためには一般に複数の駆動条件を設定する必要があるが、駆動条件の中には互いに依存関係を有し、依存関係のある駆動条件同士では、一方の設定値が異なると他方の設定可能範囲が変動する。しかも、この設定可能範囲は周辺機器の駆動環境によって異なる。従って、駆動環境の変化によって変動する設定可能範囲を的確に把握することが望まれていた。特に、上記UIとしてアプリケーションソフトウェアに特有のUIを表示する際に、駆動環境の変化によって変動する設定可能範囲を的確に取得する必要があった。
本発明は、上記課題にかんがみてなされたもので、周辺機器の駆動環境が変動した場合であっても的確に設定可能範囲を取得可能な印刷制御装置、印刷制御方法および印刷制御プログラムの提供を目的とする。
上記目的を達成するため本発明では、コンピュータに接続される周辺機器(印刷装置)を駆動する際に設定を要する駆動条件(印刷条件)の設定可能範囲を抽出する際に、上記周辺機器(印刷装置)に対して駆動条件(印刷条件)を設定し、この設定における他の駆動条件(印刷条件)の設定可能範囲を取得可能な駆動条件設定手段(印刷条件設定手段)と、各駆動条件(印刷条件)について他の駆動条件(印刷条件)に応じて変動する設定可能範囲を示す依存関係データを記憶する依存関係データ記憶手段と、上記駆動条件(印刷条件)の設定可能範囲を示す設定可能範囲データであって、上記周辺機器(印刷装置)の機種と上記駆動条件設定手段(印刷条件設定手段)の更新の有無と上記周辺機器(印刷装置)の構成部品と上記コンピュータでのロケール情報との少なくとも1つによって特定される駆動環境を特定する駆動環境データを含む設定可能範囲データを記憶可能な設定可能範囲データ記憶手段と、上記設定可能範囲データ記憶手段に現在の周辺機器(印刷装置)の駆動環境に一致する駆動環境データを含む設定可能範囲データが記録されていないときに、上記駆動条件設定手段(印刷条件設定手段)によって特定の駆動条件(印刷条件)に対して設定可能な設定値を順に設定させつつ上記依存関係データを参照して当該特定の駆動条件(印刷条件)に応じて変動する他の駆動条件(印刷条件)の設定可能範囲を取得し、当該設定可能範囲を示す設定可能範囲データを所定の記憶媒体に記憶する設定可能範囲取得手段とを具備する構成としてある。
すなわち、周辺機器の駆動環境毎に設定可能範囲データを記憶する構成において、既に記憶されている設定可能範囲データが示す駆動環境と現在の駆動環境とが一致していないとき、あるいは設定可能範囲データが記憶されていないときに、現在の周辺機器の駆動環境に対応した設定可能範囲データを作成する。このために、設定可能範囲取得手段においては、設定可能範囲データ記憶手段に現在の周辺機器の駆動環境に一致する駆動環境データを含む設定可能範囲データが記録されていないときに設定可能範囲の取得処理を行う。設定可能範囲の取得処理は依存関係データを参照しつつ駆動条件設定手段によって特定の駆動条件を特定の設定値に設定させ、当該特定の駆動条件に依存する他の駆動条件の設定可能範囲を取得する。
すなわち、周辺機器の駆動環境が異なることによって設定可能範囲が異なる状況において、現在の周辺機器の環境に対応した設定可能範囲データを作成する。従って、周辺機器を駆動する際に、適正な設定可能範囲データを利用することが可能になる。特に、コンピュータの基本ソフトウェアであるOSに標準のUIを利用することなく、アプリケーションソフトウェアに固有のUIを利用して周辺機器の駆動条件を設定する構成においては、そのUI毎に表示対象となる駆動条件が異なるし、依存関係のある駆動条件については一方の設定値によって他方の設定可能範囲が変動しうる。本発明においては、駆動環境毎に適正な設定可能範囲データを所定の記憶媒体に記憶しているため、当該他方の駆動条件について適正な設定可能範囲を容易に取得することができる。
上述のように駆動条件設定手段においても設定可能範囲を取得することが可能であるが、駆動条件設定手段においては実際に周辺機器に対して駆動条件を設定した上で他の駆動条件の設定可能範囲を取得するものであり、その好適な構成例は周辺機器を駆動するためのドライバ等が有する機能を利用して駆動条件設定手段を構成したものである。すなわち、ドライバはコンピュータ上のプログラム実行環境によって実行され、周辺機器に対して各種駆動条件を設定しながら駆動を制御するプログラムであり、このドライバにおいてある駆動条件をある設定値に設定すると、他の駆動条件についてある設定値に設定できないような状況が発生する。
そこで、ソフトウェアインタフェースによってドライバに対して各種指示および問い合わせを実施可能に構成し、ドライバにおいてある駆動条件をある設定値に設定し、この状態で他の駆動条件について各設定値を設定可能であるか否かを判別すれば設定可能範囲を取得することができる。すなわち、コンピュータにおいて周辺機器を駆動するドライバがインストールされた状態でドライバに対して駆動条件の設定と設定可能範囲の取得を実施可能に構成すれば、設定可能範囲取得手段において依存関係データによって判明する依存関係に従って必要な駆動条件の設定可能範囲を問い合わせるのみで容易に設定可能範囲を取得することができる。
かかる構成の駆動条件設定手段においては、周辺機器に対して駆動条件を設定する処理動作とその設定後に他の駆動条件の設定可能範囲を問い合わせる処理動作を行う必要があるし、複数の駆動条件について設定可能範囲を取得しようとすれば、逐一設定動作を繰り返した上で設定可能範囲を取得する動作も繰り返す必要があって処理に時間を要する。一方、本発明によれば設定可能範囲データが所定の記憶媒体に記憶され、上記所定の記憶媒体に記憶されている設定可能範囲データを参照するのみで設定可能範囲を取得できるように構成することができ、高速に設定可能範囲取得動作を行うことができる。そこで、本発明では、周辺機器の駆動環境が異なることによって設定可能範囲が異なる状況において、予め設定可能範囲データを作成することとした。
尚、上記固有のUIにおいては、UIに対して表示する駆動条件を周辺機器を制御する際の目的に応じて適宜選択すればよい。例えば、はがきや伝票など特定の印刷媒体に対して印刷を実行するためのアプリケーションソフトウェアであれば駆動条件として印刷媒体サイズを選択するためのUIを表示させる必要はないし、高画質のカラー画像を印刷するためのアプリケーションソフトウェアであれば駆動条件としてモノクロあるいはカラーの選択をするためのUIを表示する必要はない。むろん、UI上に表示する駆動条件の項目を必要最小限にするとしても、詳細な設定を行いたい利用者のためにオプションとして他の駆動条件を設定可能に構成しておいてもよい。
また、上記駆動条件は周辺機器を駆動する際に設定を要する各種の条件であり、周辺機器を駆動する際に利用者の選択やコンピュータによる自動設定等によって設定されるべきものである。例えば、プリンタにおける印刷解像度,印刷媒体の種類やサイズ等である。ほとんどの駆動条件については選択の幅があり、その幅が設定可能範囲となる。また、駆動環境は周辺機器がおかれた状況、周辺機器の設備、機材等であって、周辺機器の駆動前にその周辺機器やコンピュータ等の状況から客観的に特定されるべきものである。
また、複数の駆動条件において駆動条件同士が複雑に依存するが、この依存関係は予め依存関係データに記述されているので、この依存関係データを参照することにより、特定の駆動条件の設定値が変動した場合にいずれの駆動条件の設定範囲が変動するのかを把握することができ、複雑な依存関係を加味した上で設定可能範囲を取得することができる。むろん、周辺機器の駆動環境によって依存関係が変動しうる場合には、周辺機器の駆動環境毎に予め異なる依存関係データを作成するとともに駆動環境データを当該依存関係データに含むように構成し、設定可能範囲取得手段にて現在の駆動環境に一致する駆動環境データを含む依存関係データを参照するように構成すればよい。
ここで、周辺機器としては、コンピュータに接続されて駆動される機器であればよく、種々の機器がこの周辺機器に該当する。例えば、コンピュータに接続されて画像の出力動作を行うプリンタやディスプレイ,プロジェクタ等の出力機器や、コンピュータに接続されて画像の入力動作を行うスキャナやデジタルカメラ等の入力機器や、コンピュータに接続されたデータの記録動作を行うハードディスクドライブ等の記録機器等、種々の機器が周辺機器となり得る。
依存関係データにおいては、特定の駆動条件の設定値が異なると他の駆動条件にて設定可能な設定値の範囲が変動する場合に依存関係がある駆動条件同士を特定することができればよい。すなわち、この依存関係データによって駆動条件同士の依存関係を把握することにより、依存関係のある駆動条件について設定可能範囲を取得することができ、依存関係のない駆動条件についてまで設定可能範囲を取得する処理を実行することを防止し、必要最低限の処理工程で設定可能範囲データを作成することができる。
また、設定可能範囲データは、周辺機器に対して駆動条件を設定するためのUIを表示する際に利用することができればよく、各駆動条件について設定可能な設定値の範囲を示すことができればよい。むろん、特定の駆動条件と他の駆動条件とに依存関係が存在する場合には、特定の駆動条件の設定値を特定するデータとその設定値であるときの他の駆動条件の設定可能範囲を特定するデータとによって設定可能範囲データを構成する。また、ここで、駆動条件の設定値といっても、その値が各条件に対応していればよく、数値のみには限られない。すなわち、駆動条件を文字列で特定する場合も含む。但し、コンピュータにて扱う機器においては各条件を数値に対応付け、数値によって駆動条件を指定する構成が好ましい。尚、文字列によって設定可能範囲を記述するデータにおいては、駆動条件の選択肢をUI上に示すに際して、設定可能範囲が変動することによってUI上の文字列も変更することが可能である。
設定可能範囲データ記憶手段は、設定可能範囲データを記憶可能であればよいので、設定可能範囲データが記憶済みであることが必須ではない。すなわち、設定可能範囲データが記憶されていなければ、設定可能範囲取得手段は現在の周辺機器の駆動環境に一致する駆動環境データを含む設定可能範囲データが記録されていないとして設定可能範囲を取得する。むろん、記憶済みであれば、記憶済みの設定可能範囲データの駆動環境データが現在の周辺機器の駆動環境に一致するか否かを判断すればよい。
駆動環境データは周辺機器の駆動環境を特定することができればよく、駆動環境は周辺機器がおかれた状況、周辺機器の設備、機材等を示すデータを設定可能範囲データの一部として記述すればよい。駆動環境としては種々のものを採用可能である。例えば、周辺機器の設備として周辺機器の機種を示すデータを駆動環境データとして採用することが可能である。すなわち、周辺機器の機種が異なる場合にはその駆動条件の依存関係および設定可能範囲が異なり得るので、周辺機器の機種を示す駆動環境データを設定可能範囲データに記述することにより、設定可能範囲取得手段において機種毎の設定可能範囲データを作成することが可能になる。
周辺機器がおかれた状況としては、駆動条件設定手段の更新の有無やコンピュータでのロケール情報等が挙げられる。すなわち、駆動条件設定手段は上述のようにドライバ等によって形成可能であり、ドライバは機能改善やデバッグ等によってバージョンアップされることがある。このバージョンアップによって駆動条件の依存関係および設定可能範囲が異なり得る。そこで、駆動環境データとして駆動条件設定手段の更新の有無を示すデータ、例えば、ドライバのバージョンを示すデータを駆動環境データとして採用することが可能である。この結果、設定可能範囲取得手段においてドライバ毎の設定可能範囲データを作成することが可能になる。
コンピュータでのロケールを示すデータを駆動環境データとして採用するのは、設定可能範囲データを当該コンピュータで利用することを考慮したものである。すなわち、ロケール情報はコンピュータの使用国,言語等を示す情報であり、ロケール情報が異なれば、上記UI上に表示する文字列も異なる。従って、ロケール情報を駆動環境データとすることにより、ロケール情報が異なる場合に異なる設定可能範囲データを作成することが可能になる。この結果、コンピュータでの標準使用言語を変更等した場合にその言語に対応した設定可能範囲データを作成することが可能になり、上記UI上でその言語に対応した適切な設定可能範囲データを参照することができる。
さらに、周辺機器の設備、機材を示すデータとしては、周辺機器の構成部品を示すデータが挙げられる。すなわち、周辺機器を構成する部品、例えば、例えば、プリンタにおけるインクの変更,カッター等の付属品の装着やスキャナにおける光源部品の交換、透過原稿スキャンユニットの着脱等により依存関係および設定可能範囲が変動しうる。そこで、これら周辺機器の構成部品を示すデータを駆動環境データとして採用することにより、周辺機器の構成部品が異なる場合に、設定可能範囲取得手段よって構成部品毎に異なる設定可能範囲データを作成することが可能になる。
上述のように、設定可能範囲取得手段では設定可能範囲データ記憶手段に現在の周辺機器の駆動環境に一致する駆動環境データを含む設定可能範囲データが記録されているか否かを判定することができればよい。この判定のために、現在の周辺機器の駆動環境を取得するための構成例としては、周辺機器の駆動環境の指定を受け付ける駆動環境受付部を備え、当該指定を受け付ける際に上記現在の周辺機器の駆動環境を判断する構成を採用すればよい。
すなわち、周辺機器をコンピュータに接続して使用可能にする際には、周辺機器を駆動するにあたり、前もって所定のUIにて周辺機器の機種など駆動環境の一部あるいは全部をユーザに指定させることが多い。周辺機器を駆動する直前にUIにて駆動環境を指定させる構成においては、この指定時に周辺機器の駆動環境が確定し、この駆動環境にて周辺機器を駆動することになるので、このタイミングで駆動環境を取得することによって現在の駆動環境かつ周辺機器を駆動する実際の駆動環境を取得することが可能になる。
尚、駆動環境を指定する駆動環境受付部においてはデフォルトとして指定された駆動環境を受け付けても良いし、利用者が指定した駆動環境を受け付けても良い。より具体的には、コンピュータに対してプリンタやスキャナ等が複数接続されている場合であって、これらのプリンタやスキャナ等を使用する際にUIにて駆動条件を指定する可能であるとともにプリンタやスキャナの機種名を指定して駆動を行うような場合が相当する。このように駆動環境について指定を受け付けたときに現在の駆動環境を把握すれば、当該指定と現在の駆動環境とが合致しているか否かあるいは当該指定通りの駆動環境を実現できるか否かを判定し、合致していあるいは実現できない場合にエラー表示等を実施することが可能になる。
さらに、現在の周辺機器の駆動環境を判断するための他の構成例として、コンピュータが起動されているとき、所定のタイミングで上記現在の周辺機器の駆動環境を判断してもよい。すなわち、かかる構成によれば、駆動環境の変更後、利用者が上記UI等によって明示的に駆動環境の変化を指定することがなかったとしても現在の駆動環境を判断することができる。所定のタイミングとしては、予め決められたタイミングであればよく、定期的であってもよいし、周辺機器を駆動するためのUIの表示を開始したタイミングであってもよく、種々のタイミングを採用可能である。
駆動環境を判断する際には、上記駆動環境データと現在の駆動環境とを比較することができればよく、駆動環境を判断するための構成としては種々のものを採用可能である。例えば、周辺機器と通信を実施可能に構成し、当該通信によって周辺機器の機種および周辺機器の構成部品を示すデータを取得するように構成しても良い。かかる構成によれば、周辺機器の構成部品を交換したことを利用者が明示的に示さなくても現在の駆動環境を判断することができる。上述のようにUIを表示する際に設定可能範囲データを参照する構成においては、利用者が明示的に周辺機器の構成部品交換、例えば、インクセットの変更等を指示しなくても、UIにおいては、そのインクセットを反映した設定可能範囲を提示することが可能になる。
むろん、コンピュータにおいては周辺機器を駆動するために、上述のようにドライバを利用し、当該ドライバは周辺機器の機種に対応しているので、当該ドライバの利用するデータとして機種名を示すデータを記憶させておき、機種名の問い合わせに対して当該データを参照するとともに機種名を返信するような構成を採用しても良い。また、同様の構成において、ドライバのバージョンを返信する構成を採用しても良い。すなわち、ドライバのバージョンを示すデータを記憶させておき、問い合わせに対して当該データを参照する構成を採用可能である。さらに、上述のロケール情報はOSの設定であることが一般的であるため、OSの設定を参照したり、OSが所定の記憶媒体に記録したロケール情報を参照する構成等により、当該ロケール情報を取得する構成にすることができる。
さらに、本発明の好ましい構成例として、設定可能範囲データを所定の記憶媒体に記憶するにあたり、記憶済みの設定可能範囲データを更新せずに保持する構成を採用可能である。すなわち、本発明では既存の駆動環境データが現在の駆動環境と一致していないとき、あるいは現在の駆動環境と一致する駆動環境データの設定可能範囲データが存在しないときに現在の駆動環境に合致した設定可能範囲データを作成するが、駆動環境が以前のものに戻る場合もある。そこで、既存の設定可能範囲データを消去するのではなく、保持することにより、駆動環境が以前のものに戻った場合に再度設定可能範囲データを作成することなく以前の設定可能範囲データを利用することが可能になる。
上述のように、現在の駆動環境に応じた設定可能範囲データを作成する手法は必ずしも実体のある装置に限られるものではなく、請求項7に記載した発明のように方法の発明としても有効である。また、上述の装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としては、各種の態様を含むものである。また、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
発明の思想の具現化例として駆動条件取得装置のソフトウェアとなる場合には、かかるソフトウェアも本発明に相当する。その一例として、印刷制御プログラムとして発明を特定している。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。さらに、これらの印刷制御方法、印刷制御プログラムにおいて上記請求項〜請求項6に対応した構成にすることも可能である。
さらに、現在の駆動環境に応じた設定可能範囲データを作成し、この設定可能範囲データを参照してUIを表示する発明としても良い。また、周辺機器として印刷装置を採用した場合に、上述のUIによって駆動条件としての印刷条件を設定し、印刷を実行する構成においても依存関係データを参照して設定可能範囲データを作成することができる。むろん、これらの発明においても上記請求項〜請求項6に対応した構成にすることも可能である。
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)本発明の構成:
(1−1)UI制御モジュールの構成:
(2)プリンタDBの構成:
(3)リソースDBの構成:
(4)印刷制御処理およびUI表示例:
(5)リソースDBの構築処理:
(6)他の実施形態:
(1)本発明の構成:
図1は本発明にかかる印刷制御装置となるコンピュータの概略構成を示すブロック図である。コンピュータ10は演算処理の中枢をなす図示しないCPUや記憶媒体としてのROMやRAM14等を備えており、HDD15等の周辺機器を利用しながら所定のプログラムを実行することができる。コンピュータ10にはシリアル通信用I/O19aを介してキーボードやマウス等の操作用入力機器が接続されており、ディスプレイ用I/O19cを介して表示用のディスプレイも接続されている。さらに、プリンタ40とはUSB用I/O19bを介して接続されている。図1においては、コンピュータ10に複数のプリンタ40a〜40n(符号に併記するnは任意の複数を採用可能であることを示す。以下同じ)が接続されている状態を示している。
本実施形態におけるプリンタ40は複数色のインクを充填するインクカートリッジを色毎に着脱可能な機構を備えており、この機構にCMYKlclmG(シアン,マゼンタ,イエロー,ブラック,ライトシアン,ライトマゼンタ,グレー)の各インクのカートリッジを搭載可能である。また、本実施形態におけるプリンタ40は、Kインクとして光沢紙および普通紙で使用するフォトブラックとマット紙での画質を優先したマットブラックとの2種類のKインクを使用可能である。
プリンタ40においては、各Kインクのいずれかを利用することもできるし、Gインクの代わりにマットブラックのインクカートリッジを2本搭載して使用することもできる。尚、Gインクは溶媒内に黒色の色剤が含まれるインクであるが、Kインクと比較して色剤の濃度が小さいため、Gインクを使用することにより、高精度の階調変化を表現することが可能である。プリンタ40では各インクを組み合わせて多数の色を形成可能であり、これにより印刷媒体上に画像を形成する。
むろん、プリンタ40で使用可能にするインク色は一例であり、他にもダークイエローインクを利用可能にしてもよいし、レッドインクやバイオレットインク等を利用可能にしてもよいし、光沢感を調整する無色インクを利用可能にしてもよい。また、色数としても7色に限られないし、色の組み合わせとしても上述の組み合わせには限られない。本実施形態におけるプリンタ40は、いわゆるインクジェット方式のプリンタであり、各インクが充填されたヘッドの内部でインクに対して力を作用させ各インクを吐出する。このとき、ピエゾ素子に対して電圧を印加してインクに対して吐出力を作用させてもよいし、ヘッド内でバブルを形成してインクに対して吐出力を作用させてもよい。また、インクジェット方式の他にもレーザー方式等、種々のプリンタに対して本発明を適用可能である。
本コンピュータ10の構成は簡略化して説明しているが、パーソナルコンピュータとして一般的な構成を有するものを採用することができる。むろん、本発明が適用されるコンピュータはパーソナルコンピュータに限定されるものではない。また、コンピュータ10とプリンタ40の接続インタフェースも上述のものに限る必要はなくパラレルインタフェースやSCSI接続,無線接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
さらに、本実施形態においてはコンピュータ10によって印刷制御装置を構成しているが、プリンタ40に搭載するプログラム実行環境によって本発明にかかる印刷制御処理を実施可能に構成し、プリンタ40に対して直接的に接続されるデジタルカメラから画像データを取得して印刷制御処理を行ってもよい。UIはプリンタ40に搭載する小型の液晶ディスプレイに表示しても良いし、デジタルカメラに搭載する液晶ディスプレイに表示しても良い。むろん、同様の構成においてデジタルカメラにて印刷制御処理を実施してもよいし、他にも分散処理によって本発明にかかる印刷制御処理を実施するなど種々の構成を採用可能である。画像を取り込むスキャナと画像を印刷するプリンタとが一体となったいわゆる複合機において本発明にかかる印刷制御処理を行ってもよい。
本実施形態にかかるコンピュータ10では、プリンタドライバ(PRTDRV)21と入力機器ドライバ(DRV)22とディスプレイドライバ(DRV)23とがOS20に組み込まれている。ディスプレイDRV23はディスプレイにおける画像データ等の表示を制御するドライバであり、入力機器DRV22はシリアル通信用I/O19aを介して入力される上記キーボードやマウスからのコード信号を受信して所定の入力操作を受け付けるドライバである。
APL25は、カラー画像のレタッチ等を実行可能なアプリケーションプログラムであり、利用者は当該APL25の実行下において上記操作用入力機器を操作して当該カラー画像をプリンタ40にて印刷させることができる。すなわち、APL25の画像処理部25aは利用者の指示によりHDD15に記録された画像データ15aをRAM14に読み出して、ディスプレイDRV23を介して当該画像データ15aに基づく画像をディスプレイ上に表示させる。利用者が上記入力機器を操作するとその操作内容が入力機器DRV22を介して取得されて内容が解釈されるようになっており、画像処理部25aはその操作内容に応じてコントラスト調整等種々の画像処理を行う。
上記画像データ15aはRGB(レッド,グリーン,ブルー)の各色成分を階調表現して各画素の色を規定したドットマトリクス状のデータであり、本実施形態では各色256階調であり、sRGB規格に従った表色系を採用した画像データである。本実施形態においてはこの画像データ15aを例にして説明するが、YCbCr表色系を採用したJPEG画像データやCMYK表色系を採用した画像データ等、種々のデータを採用可能である。むろん、Exif2.2規格(Exifは社団法人電子情報技術産業協会の登録商標)に準拠したデータ、Print Image Matching(PIM:PIMはセイコーエプソン株式会社の登録商標)に対応したデータ等について本発明を適用することもできる。
APL25においては、画像処理部25aにおける画像処理後の画像等についてプリンタ40で印刷を実行させることが可能であり、印刷に際しては利用者に対して印刷条件項目の設定を行わせるUIを表示し、UIでの指示に従って印刷を実行させる。このためにAPL25はUI表示制御部25bと印刷実行部25cとを備えており、UI表示制御部25bでは印刷条件項目を設定するUIを表示するためのデータをディスプレイDRV23に対して出力する。また、UI上で表示すべき印刷条件項目の設定可能範囲および項目間の依存関係を示すデータであって、現在の印刷装置の駆動環境に合致したデータをUI制御モジュール30から取得する。
印刷条件項目は、印刷を実行するために必要な複数の条件の項目であり、印刷解像度,インクの種類(カラー、モノクロの選択やインクセット(インク色の組み合わせ)の選択),印刷媒体の種類やサイズ,印刷時のレイアウト,縁なし印刷の可否,印刷品質(きれい、はやい等),カラーマネジメントの種類(自動調整の可否やディスプレイの色域を超えた色の使用可否等),双方向印刷の可否,ドライバによる画像処理の可否等、PRTDRV21に対して設定可能な種々の印刷条件項目がある。尚、本実施形態においては、上述のように印刷解像度やインクの種類など、項目毎に印刷条件を設定するようになっているため異なる印刷条件を項目として区別する。また、各印刷条件の設定内容はその内容に対応した数値(設定値)で特定するようになっており、この数値を項目値と呼ぶ。
また、UI表示制御部25bでは、上述のUIをディスプレイ上に表示し、このUIに従って利用者が行う操作入力内容を上記入力機器DRV22を介して取得し、操作入力によって指定された各印刷条件項目の項目値を取得する。ここで取得した項目値は仮設定値として保持しておく。尚、前回の印刷実行時における印刷条件項目の項目値は所定の記憶媒体に保持されており、UIを表示する際にこの項目値が表示される。従って、利用者が設定を行わない印刷条件項目については前回の項目値がそのまま設定されることになる。
印刷条件項目において設定可能な項目値は他の印刷条件項目の項目値に依存している場合があり、この場合、ある項目値を設定したことによって他の印刷条件項目で設定可能な項目値の範囲が変動する。さらに、この依存関係および設定可能な項目値の範囲は印刷を実行する際の印刷装置の駆動環境によって変動する。本実施形態におけるUI表示制御部25bはUI制御モジュール30から上述のように現在の駆動条件に合致した設定可能範囲および項目間の依存関係を示すデータを取得し、このデータを参照して、ある項目値を設定したことによって設定可能範囲に影響がある他の印刷条件項目についてUIの表示を更新する。この結果、UI表示上の設定可能範囲は他の印刷条件項目の設定値および現在の駆動条件に対応した適切な範囲となる。
尚、本実施形態にかかるUIでは、後述するように、一画面で少数の印刷条件項目を表示させ、その項目について入力を実施したときには画面を切り替えて他の印刷条件項目を表示させる構成としている。従って、ある画面である印刷条件項目値を設定して次の画面に進んだ場合とある画面で他の印刷条件項目値を設定して次の画面に進んだ場合とではUI上の選択可能範囲が異なり得る。印刷条件項目の項目値や上記現在の駆動環境に応じて設定可能範囲がなくなる場合には、その印刷条件項目を設定させるUIは表示させない。従って、画面を切り換えて印刷条件項目を表示させる本実施形態において、ある駆動環境では表示され、ある駆動環境では表示されないUI画面が生じうる。
むろん、一画面で表示されている複数の印刷条件項目について依存関係があるときには、ある印刷条件項目の設定や駆動環境によって他の印刷条件項目の設定範囲が変化し得るので、この場合、選択不可能な印刷条件項目の項目値を選択肢として表示せず、選択可能な印刷条件項目の項目値を選択肢として表示する。また、一画面で多数の印刷条件項目を表示させる場合も同様であり、ある印刷条件項目の設定によって他の印刷条件項目の設定範囲が変化した場合には、選択不可能な印刷条件項目の項目値を選択肢として表示させず、選択可能な項目値を選択肢として表示する。
さらに、UI表示制御部25bでは非常に多くの印刷条件項目の中で、APL25による印刷に必要な印刷条件項目のみを変更可能なUIを表示するようになっており、UI表示されていない印刷条件項目については所定の記憶媒体に保持されたデフォルトの項目値が使用される。例えば、はがき印刷に特化したAPLであればはがきサイズ以外の印刷用紙を選択する必要がないので、印刷条件項目としての印刷媒体のサイズをはがきサイズで固定するなどの構成が採用可能である。かかる構成により、APLの作成者がUIに表示する印刷条件項目を予め決めておくことができ、必要以上に煩雑なUIを表示せず、利用者にわかりやすいインタフェースを提供することが可能になる。
また、このUIにおいては印刷実行指示を行うことが可能であり、UI表示制御部25bがUI上の操作内容に基づいて当該印刷実行指示を検出したときに印刷実行部25cでの処理が開始される。印刷実行部25cは上述のようにして仮設定値として保持された各印刷条件項目の項目値を印刷条件としてPRTDRV21に設定させ、印刷対象の画像データをPRTDRV21に受け渡す。PRTDRV21は、解像度変換や色変換,ハーフトーン処理等の処理を行う図示しないモジュールを備えており、各モジュールによって印刷対象の画像データに対して印刷条件項目の項目値に応じた処理が実施され、印刷データが生成される。生成された印刷データはUSB用I/O19bを介してプリンタ40に出力され、プリンタ40は当該印刷データに基づいて印刷を実行する。尚、PRTDRV21は各プリンタ40a〜40nに専用のモジュールであり、図1においては各機種用にPRTDRV21a〜21nがインストールされている状態を示している。
(1−1)UI制御モジュールの構成:
上記UI制御モジュール30は、上記UI表示制御部25bに対してUI表示に必要な印刷条件項目の設定可能範囲と依存関係および印刷条件項目の項目値を示す適切なデータを受け渡す処理を司っており、本実施形態においてはこのモジュールによって複雑な依存関係のある印刷条件項目について項目値の変更に応じて高速に表示を変更可能にしている。また、現在の駆動環境に的確に対応した設定可能範囲を表示するようにしている。このために、UI制御モジュール30は、項目値仮設定部31と項目値取得部32と項目値設定可能範囲取得部33とリソースDB作成部34と項目値設定部35とを備えている。
UI制御モジュール30は、UI表示制御部25bにおいて駆動環境毎の印刷条件項目の設定可能範囲と依存関係を高速に取得できるようにするため、上記UI上で選択された各印刷条件項目の項目値を仮設定として保持し、予め駆動環境毎に作成されたデータベースを参照してこの仮設定がなされた場合の設定可能範囲および依存関係をUI表示制御部25bに返すように構成されている。このために、少なくともUI制御の開始前にはHDD15にプリンタDB15b1〜15bnとリソースDB15c1〜15cnとが記録されているようにしてある。ここで、プリンタDB15b〜15bnのそれぞれは上記プリンタ40a〜40nの各機種に対応したデータベースであり、リソースDB15c1〜15cnのそれぞれは上記プリンタ40a〜40nの各機種に対応したデータベースである。
本実施形態において、プリンタDB15b1〜15bnは各印刷条件項目間の依存関係を記述したデータベースであり、PRTDRV21のインストール時にHDD15に記録される。リソースDB15c1〜15cnには、各印刷条件項目の上位項目およびその上位項目の各項目値での印刷条件項目値が記録されている。従って、ある印刷条件項目の項目値が変更されたとき、この項目を上位項目とする印刷条件項目が取り得る項目値を取得することができ、設定可能範囲を取得することができると言える。尚、上位項目はある印刷条件項目と他の印刷条件項目とにおいて、ある印刷条件項目の項目値が決定すると他の印刷条件項目の項目値の設定可能範囲が決定するという関係にある場合の前者である。
また、プリンタの機種が異なると印刷条件の依存関係および設定可能範囲が異なり得るため、本実施形態においてはプリンタ毎のプリンタDB15b1〜15bnおよびリソースDB15c1〜15cnを利用してプリンタの機種毎に依存関係データおよび設定可能範囲データを参照できるようにしている。本実施形態においては、さらに駆動環境を特定する情報としてPRTDRV21a〜21nのバージョンとインクセットとを示す情報を参照できるようにしてあり、同じプリンタであってもPRTDRV21a〜21nのバージョンが異なれば異なるリソースDBが作成されるし、インクセットが異なれば異なるリソースDBが作成され、予めHDD15に記録される。
UI制御モジュール30のリソースDB作成部34は当該リソースDBの作成を司っており、ソフトウェアI/F27を利用し、上記プリンタDB15b1〜15bnを参照してリソースDB15c1〜15cnを作成する。すなわち、ソフトウェアI/F27はPRTDRV21とデータの授受を行い、各項目値の取得、設定可能範囲の取得、各項目値の設定、現在の駆動環境データの取得を実施可能に構成されており、リソースDB作成部34はソフトウェアI/F27を介して各項目値を設定しながら依存関係のある項目値について設定可能範囲を取得する。
印刷条件は上述のように依存関係があるが、ソフトウェアI/F27によって特定の印刷条件項目の上位項目値を固定した状態で当該特定の印刷条件項目の設定可能範囲を取得することができる。従って、上位項目について値を設定し、設定可能範囲を取得する作業を上位項目が取り得る総ての項目値について繰り返せば、特定の印刷条件項目についての設定可能範囲および依存関係を取得することができる。むろん、依存関係のない印刷条件項目について繰り返し作業をする必要はない。
このソフトウェアI/F27においては、所定の処理時間を要するものの、当該繰り返し作業によって設定可能範囲を取得することができる。そこで、この依存関係および設定可能範囲を示すデータを作成してリソースDB15c1〜15cnとすることができる。むろん、上記依存関係のない印刷条件項目についてもリソースDB15c1〜15cnに対して設定可能範囲を記録しておく。
本実施形態においては、リソースDBを作成するにあたり、現在の駆動環境に一致する駆動環境データを含むリソースDBがHDD15に記録されているか否かを判別する。すなわち、UI表示制御部25bにてUIを表示する前には現在の駆動環境における設定可能範囲データを示すリソースDBをHDD15に記録しておくようにするため、リソースDB作成部34は現在の駆動環境を示すデータを取得する。このためにPRTDRV21a〜21nは通信部(図1ではPRTDRV21aについてのみ通信部21a1として示している)を備えており、プリンタ40a〜40nはそのメモリ内に自身の機種名およびインクセットを示すデータを保持している。
上記通信部21a1等はUSB用I/O19bを介してプリンタと通信を実施し、上記プリンタの機種名およびインクセットを示すデータを取得可能である。さらに、ソフトウェアI/F27はPRTDRV21a〜21nに対して問い合わせを行い、上記通信部が取得したプリンタの機種名およびインクセットを示すデータおよび各PRTDRV21a〜21nのバージョンを示すデータを取得可能である。そこで、リソースDB作成部34はソフトウェアI/F27を介して上記プリンタの機種名およびインクセットを示すデータおよび各PRTDRV21a〜21nのバージョンを示すデータを取得する。このデータは、同データを取得した時点での駆動環境、すなわち現在の駆動環境を示すデータに相当する。
各リソースDB15c1〜15cnには、それぞれのリソースDB15c1〜15cnに記述した設定可能範囲を適用すべき駆動環境を示す駆動環境データが記述されている。従って、上記リソースDB作成部34は、HDD15に記録済みのリソースDBを参照し、上記現在の駆動環境を示すデータと比較することで、現在の駆動環境に一致する駆動環境データを含むリソースDBがHDD15に記録されているか否かを判別することができる。このとき、現在の駆動環境に一致する駆動環境データを含むリソースDBがHDD15に記録されていると判別されれば、リソースDB作成部34においてリソースDBを作成する動作は実施しないし、記録されていると判別されなければリソースDB作成部34においてリソースDBを作成する動作を実施する。
この結果、本実施形態においては、コンピュータ10においてあるプリンタの機種が初めて印刷に使用されるときにその機種に対応したリソースDBが作成される。また、PRTDRV21a〜21nのバージョンが更新された後、そのドライバで初めてプリンタを制御するときにそのドライバに対応したリソースDBが作成される。さらに、プリンタ40において使用するインクを変更したときに変更後のインクで初めて印刷を実行するときにそのインクセットに対応したリソースDBが作成される。一旦作成された後にはHDD15に保持される。従って、同じリソースDBを重複して作成することはない。尚、リソースDB15c1〜15cnの作成および各データベースの内容については後に詳述する。
UI表示制御部25bがUIを作成する際には、項目値設定可能範囲取得部33がリソースDB15c1〜15cnあるいはプリンタDB15b1〜15bnを参照し、UI表示対象の印刷条件項目についてその設定可能範囲を示すデータをUI表示制御部25bに受け渡す。また、項目値取得部32は、印刷条件項目について現在の項目値を取得する。従って、UI表示制御部25bは各印刷条件項目について上述の設定可能範囲を選択肢として表示するとともに、現在の項目値をデフォルトとして選択した状態のUIを形成し、表示することが可能になる。
ここで、現在の項目値は、項目値取得部32が処理を行う時点での項目値であり、画像印刷のためにUIを表示する初期においてはソフトウェアI/F27を介して前回の印刷実行時における印刷条件項目の項目値を取得する。上記項目値取得部32によって取得された前回の項目値はUI表示制御部25bに現項目値として受け渡されるとともに、仮設定値14aとしてRAM14に記録される。
UIが表示されてから印刷が実行されるまでに一度でもUI上で項目値を変更した場合に、項目値取得部32はソフトウェアI/F27を介して項目値を取得することなく仮設定値14aが示す項目値を現項目値としてUI表示制御部25bに出力する。従って、UI表示制御部25bによってUIを表示する際に、ソフトウェアI/F27を介してPRTDRV21とデータの授受を実行する必要が無く、高速に現項目値を取得することができる。
項目値仮設定部31は、上記UI表示制御部25bによって項目値の変更が受け付けられたときに、その項目値を仮設定値として取得し、ソフトウェアI/F27を介して当該仮設定値をPRTDRV21に対して設定することなく仮設定値14aとしてRAM14に記録する。従って、UI上で変更がなされた項目値についてはRAM14の仮設定値14aが更新され、この段階でPRTDRV21に対して項目値の更新は行われない。
仮設定値14aが更新されてから上記項目値取得部32で仮設定値14aを取得し、項目値設定可能範囲取得部33が設定可能範囲を取得すれば、UI表示制御部25bにおいて項目値の更新に応じて適宜設定可能範囲を変更したUIを表示させることができる。すなわち、項目値が更新されたことによって依存関係のある項目の設定可能範囲が変動したとしても、その都度項目値設定可能範囲取得部33がリソースDB15c1〜15cnを参照することによって適正な設定可能範囲とすることができる。むろん、ここでは現在の駆動環境に対応したリソースDBを参照するので、現在の駆動環境において適切な選択可能範囲を選択肢としてUIを表示することができる。尚、UI表示の更新については後に詳述する。
UIでの印刷条件項目値の設定は仮設定値14aとして保持され、実際にはPRTDRV21に設定されていないが、利用者がUIによって印刷条件項目の項目値を決定し、印刷実行指示を行ったときには、項目値設定部35がソフトウェアI/F27を介して項目値の設定を行う。項目値設定部35は、ソフトウェアI/F27を介してPRTDRV21に印刷条件を指定するためのデータフォーマットを解釈するとともに当該データフォーマットに応じながらPRTDRV21に対して各印刷条件項目の項目値を設定させることが可能である。
すなわち、RAM14の仮設定値14aを参照し、各印刷条件項目の項目値を仮設定値14aが示す値とするように上記フォーマットのデータを作成する。そして、ソフトウェアI/F27に当該データを受け渡すと、PRTDRV21においては当該データに記述された通りに各印刷条件項目の項目値を設定する。尚、ソフトウェアI/F27を介して所定フォーマットのデータにて印刷条件を設定する構成は、印刷条件を指定するための構成がOS毎に異なっているところ、これを吸収して少なくともAPL25においてはOSによる差異を意識することなくUI表示のためのデータ処理を実施するための構成である。
すなわち、各種OSにおいて一般的にはPRTDRV21に対して印刷条件項目の項目値を設定するための機能を備えているが、印刷条件の設定手法はOS毎に異なっている。そこで、本実施形態においてはUI制御モジュール30によってOSに依存しない手法で高速にUI表示を制御可能な構成を採用し、実際に印刷を実行するに際しては項目値設定部35において印刷条件の設定手法を判別しつつ印刷条件を設定するようにした。この結果、APL25およびその印刷時のUIを提供するアプリケーション制作者が、OSの差異を意識することなく共通の手法で印刷条件項目の項目値を指定し、また、PRTDRV21を制御するためのプログラムを作成することができる。
尚、本発明において、現在の駆動環境に対応した設定可能範囲を適切に表示し、また、APL作成者所望のUIを提供するという意味では、リソースDB15c1〜15cnと項目値仮設定部31と項目値取得部32と項目値設定可能範囲取得部33とを備えていればよく、ソフトウェアI/F27によってOSの差異を吸収する構成は必須とはならない。例えば、ソフトウェアI/F27を介して印刷条件項目の項目値設定等をするのではなく、UI制御モジュール30が各PRTDRV21に対して直接的に印刷条件項目の項目値設定等を行う構成を採用してもよい。
(2)プリンタDBの構成:
次に、本実施形態におけるプリンタDB15b1〜15bnの構成を詳説する。図2はプリンタDB15b1〜15bnのデータ記述例を示す図である。同図に示すようにプリンタDB15b1〜15bnには、駆動環境データとしてプリンタ名、ドライババージョン、インクセット、依存関係を示すデータが記述されている。プリンタ名はプリンタの機種名(図2では”PM−****”)を指定するデータである。印刷条件項目および依存関係が駆動環境の一部としてのプリンタ機種に依存するので、本実施形態ではプリンタDB15b1〜15bnがいずれの機種のプリンタに使用されるのかを記述している。この記述は、コンピュータ10に対して複数のプリンタを接続し、各プリンタに応じた複数のPRTDRVをインストールすることにより複数のプリンタを使用可能にした場合に、いずれのプリンタに対して記述されたプリンタDBであるのかを識別するために利用される。
ドライババージョンはプリンタドライバのバージョン(図2ではバージョン5.3e)を指定するデータである。プリンタドライバのバージョンによって新機能が追加され、上記依存関係が変更されることや
エラーの修正等によってバージョンが変わることがあり得るので、本実施形態ではプリンタDB15b1〜15bnがいずれのドライババージョン用であるのかを記述している。この記述は、コンピュータ10の利用者がバージョンアップしたPRTDRV21を入手し、インストールする場合に、いずれのドライババージョンに対して使用されるべきプリンタDBであるのかを識別するために利用される。後述するように、リソースDB15c1〜15cnがHDD15に記録されていたとしても、プリンタDB15b1〜15bnに記述されたドライババージョン用のリソースDB15cがHDD15に記録されていなければリソースDB15cを再構築し直すので、ドライババージョンの変更によって新機能が追加し、依存関係が変更されたとしても変更後の依存関係に対応することができる。
インクセットはプリンタ40に搭載される上記インクカートリッジの組み合わせおよび種類(図2では顔料系のインクであってCMYKlclmGインクのセット)を一義的に指定するデータである。使用するインク色の組み合わせによってカラーマネジメントや画像処理の可否が異なり、上記依存関係が変更されることがあり得るので、本実施形態ではプリンタDB15b1〜15bnがいずれのインクセット用であるのかを記述している。この記述は、コンピュータ10の利用者がプリンタ40に搭載するインク色の組み合わせを変更した場合に、いずれのインクセットに対して使用されるべきプリンタDBであるのかを識別するために利用される。本実施形態においては、現在の駆動条件に対応したインクセット用のリソースDB15c1〜15cnがHDD15に記録されていない状態になっていれば当該リソースDB15c1〜15cnを再構築し直すので、インクセット変更後の依存関係に対応することができる。
依存関係は、依存関係を規定する対象の印刷条件項目(対象項目)とその上位項目とを対応づけながら列記することによって規定しており、本実施形態においては”対象項目n,上位項目の項目数m,上位項目n1,,,上位項目nm”を示すデータを順に記述することによって依存関係を規定している。ここで、n,mは0もしくは自然数であり、n個の対象項目のそれぞれについてm個の上位項目が存在し、各上位項目を列記する。上位項目が存在しない対象項目についてはmを0として上位項目は記述しない。対象項目や上位項目についてはその項目自体を特定することができればよく、例えば、対象項目が印刷品質であり、上位項目が印刷媒体の種類であって上位項目数が一つの場合、”印刷品質,1,印刷媒体の種類”と記述することになる。
本実施形態において、プリンタDB15b1〜15bnはリソースDB15c1〜15cnを作成するために参照されるので、このためには、上述の駆動環境データおよび依存関係を示すデータが記述されていればよいが、本実施形態においては、さらに利便性を高めるために、設定可能範囲を記述できるようにしてある。設定可能範囲は図2の下部に示してあり、”対象項目x,上位項目の項目数l,上位項目x1およびその値,,,上位項目xlおよびその値,設定可能範囲”を示すデータを順に記述する書式となっている。
すなわち、ある対象項目xについてその上位項目数と上位項目とを記述することによって依存関係を示すことは上記依存関係の書式と共通であるが、設定可能範囲の書式においては上位項目の項目値を特定し、最後に上位項目がその項目値であるときの対象項目値を記述する。これにより、上位依存関係にある項目値が特定の値であるときの対象項目の設定可能範囲を特定することができる。かかる書式は後述するリソースDB15c1〜15cnに記述する設定可能範囲の書式と共通である。リソースDB15c1〜15cnはプリンタDB15b1〜15bnに記述された依存関係によって作成されるが、この作成時にPRTDRV21のエラー等に起因して設定可能範囲が適切に取得できない場合があり、この場合には適切な設定可能範囲をリソースDB15c1〜15cnに記述できない。
そこで、PRTDRV21の作成後に適切な設定可能範囲をプリンタDB15b1〜15bnに記述し、上記リソースDB作成部34によってリソースDB15c1〜15cnを作成する際にまずプリンタDB15b1〜15bnを参照し、プリンタDB15bに設定可能範囲が記述されているときには当該プリンタDB15b1〜15bnの記述内容を取得するようにしている。かかる構成により、PRTDRV21のエラー等に起因して設定可能範囲が適切に取得できない場合が生じても容易に適切な設定可能範囲を項目値設定可能範囲取得部33に伝えることが可能になる。また、総ての項目について設定可能範囲をリソースDB15c1〜15cnに登録すると、非常に時間がかかってしまう場合、一部の設定可能範囲データをリソースDB15c1〜15cnに記述するように構成することが可能である。かかる構成においてUI表示を行う場合、リソースDB15c1〜15cnには設定可能範囲データが記述されていないので、プリンタDB15b1〜15bnを参照して設定可能範囲データを取得することになる。
(3)リソースDBの構成:
次に、本実施形態におけるリソースDB15c1〜15cnの構成を詳説する。図3はリソースDB15c1〜15cnのデータ記述例を示す図である。同図に示すようにリソースDB15c1〜15cnには駆動環境データとしてプリンタ名、ドライババージョン、インクセット、設定可能範囲を示すデータが記述されている。設定可能範囲は”対象項目n,上位項目の項目数m,上位項目n1およびその値,,,上位項目mlおよびその値,設定可能範囲”を示すデータを順に記述する書式となっている。
これにより、上位依存関係にある項目値が特定の値であるときの対象項目の設定可能範囲を特定しており、例えば、対象項目が印刷品質、上位項目が印刷媒体の種類、上位項目数が一つの場合であって印刷媒体の種類の項目値が”1”のときに印刷品質の項目値が”2,3”である場合、”印刷品質,1,印刷媒体の種類=1,2,3”と記述することになる。尚、ここでも依存関係のない対象項目は上位項目の項目数が”0”とされ、上位項目およびその値を記述することなく上位項目の項目数の直後に設定可能範囲を記述する。また、リソースDBに駆動環境データを記述することにより、各リソースDBがどのような駆動環境で使用されるべきかを判断することができる。
リソースDB15c1〜15cnに記述する対象項目数は、全項目数X個のうちX−1個について既述するなど各種調整を行うことができる。PRTDRV21の印刷条件項目として存在する項目すべてについて記述してもよいし、リソースDB15c1〜15cnの作成に非常に多くの時間が費やされることを防止するため、上位項目の項目数が所定の数以下(例えば4以下)の対象項目のみ記述するようにしてもよい。他にもUI上で利用頻度が低い印刷条件項目を予め把握しておき、利用頻度が低い項目やUI上に現れない印刷条件項目(印刷を実行するために設定が必要であるが、ユーザが決定するのではなくAPLが決定する印刷条件等)についてはリソースDB15c1〜15cnに記述しないように構成してもよい。
以上のように、プリンタDB15b1〜15bnおよびリソースDB15c1〜15cnにおいては、各印刷条件項目の項目値を数値で指定するようになっており、各数値が意味するところが予め決められている。例えば、印刷媒体の種類=1は”普通紙”などと予め決められている。従って、本明細書では各印刷条件項目について印刷条件を指定することを項目値を決定すると呼んでいるが、むろん、本発明においては印刷条件を指定することができればよいので、数値によって印刷条件を特定することが必須というわけではなく、文字列で指定するなど種々の構成を採用可能である。
また、プリンタDB15b1〜15bn,リソースDB15c1〜15cnのいずれにおいてもプリンタ名や対象項目等、上述の各種情報を示すデータを記述していればよく、データの記述形式は上述の書式に限られない。むろん、データを記述しておくという意味では各種情報を示していればよく、コンピュータ10においてテキスト形式を採用してもよいし、バイナリ形式を採用してもよく、種々の構成を採用可能である。
図4は、以上のようにして決定される設定可能範囲を依存関係とともに示す例である。同図においてA〜Hは印刷条件項目を示し、依存関係を矢印によって示している。矢印が指す先端に位置する印刷条件項目は下位項目であり、逆側の端部に示す印刷条件項目が上位項目である。例えば、印刷条件項目Aは印刷条件項目B,Dの上位項目である。尚、依存関係においてある項目に対して上位項目と下位項目が一対一である関係、すなわち図4に示すB,Cのような依存関係を独立ツリーと呼び、ある項目に対して下位項目や上位項目が複数ある場合、すなわち図4に示す印刷条件項目F(上位項目がDとE)のような項目を非独立ツリーと呼ぶ。
各印刷条件項目の依存関係を示す上記プリンタDB15b1〜15bnにおいては、独立ツリーであっても非独立ツリーであっても記述することができ、非常に簡易な書式で複雑な依存関係を記述することができる。すなわち、独立ツリーの場合は、例えば印刷条件項目Cの上位項目として印刷条件項目Bを示せばよいし、非独立ツリーの場合であっても、例えば印刷条件項目Fの上位項目数が2つであるとして印刷条件項目D,Eを示せばよい。
さらに、設定可能範囲を示す上記リソースDB15c1〜15cnにおいては、上位項目と当該上位項目の具体的な項目値を示しつつ対象項目の設定可能範囲を示すので、図4に示すような複雑な依存関係および設定可能範囲を容易に記述することができる。同図においては、各印刷条件項目について、上位項目の項目値と当該項目値における対象項目の項目値を示している。例えば、印刷条件項目Bにおいては、上位項目Aの項目値が”1”のとき、項目Bの設定可能範囲が”1,2”であることを示し、上位項目Aの項目値が”2”のとき、項目Bの設定可能範囲が”3”であることを示している。
図4に示す印刷条件項目Fにおいては、同図に示すように上位項目Eが”2”であるときに項目Fが”1”、上位項目Eが”1”かつ上位項目Dが”1”であるときに項目Fが”2”、これ以外のとき項目Fが”1,2”となっている。このように、上位項目が特定の項目値であるときに項目Fの項目値が上位項目に依存するという複雑な依存関係になっている。しかし、このような依存関係であっても、リソースDB15c1〜15cnにおける簡易な書式にて容易に記述することができる。すなわち、上記E=2の場合、E=1かつD=1の場合を含めて総ての場合について上位項目の値および項目Fの値をリソースDB15c1〜15cnに記述すればよい。
印刷条件項目Gのように、さらに複雑な依存関係になっても同様である。印刷条件項目Gでは、上位項目Fが”1,2”で切り換え可能ならGは”1,2”、切り換え不可能なら項目Fが”1”のとき項目Gが”2”,項目Fが”2”のとき項目Gが”1”という条件になっている。すなわち、項目Gにおいては項目Fが切り換え可能か否かという条件と項目Fの項目値とに依存している。項目Fが切り換え可能か否かという条件については項目Fと項目Gとの依存関係のみで規定することはできないが、項目Fの上位項目である項目D,Eをも利用すれば項目Gの設定可能範囲を規定することができる。
従って、この場合項目D,E,Fが項目Gの上位項目となり、項目D,E,Fの項目値を規定した上で項目Gの設定可能範囲を記述することによって、上述のように項目Fの切り換え可否を含む複雑な条件を規定することができる。具体的には、図4の右下に示すように、切り換え不可とは項目Fの設定可能範囲に任意性がなく、項目値が”1”のみあるいは”2”のみであるということであり、項目Fが”1”のみであるのは上述のようにE=2のときである。従って、この場合、項目Gの上位項目を項目E,D,Fとし、項目Eの項目値を”2”、項目Dの項目値を”1,2”、項目Fの項目値を”1”とし、項目Gの設定可能範囲を”2”としてリソースDB15c1〜15cnに記述する。
項目Fが”2”のみである場合については項目Gの上位項目を項目E,D,Fとし、それぞれの項目値を”1”,”1”,”2”とし、項目Gの設定可能範囲を”1”としてリソースDB15c1〜15cnに記述する。切り換え可能な場合については上述の上位項目D,E,Fの項目値を上記例以外の値として項目Gの設定可能範囲を”1,2”としたデータを列記すればよい。以上、本実施形態においてリソースDB15c1〜15cnに上位項目およびその値を記述する書式を採用していることにより、複雑な依存関係であっても容易に記述してリソースDB15c1〜15cnを作成することができる。
(4)印刷制御処理およびUI表示例:
次に、上記構成における印刷制御処理およびUI表示例を説明する。印刷制御処理は図5に示すフローに従って実施され、図6はこのときに表示されるUIの例を示している。利用者は、APL25の実行中にレタッチ対象の画像等について印刷指示を行うことができ、画像処理部25aが印刷指示を受け付けると(ステップS100))、UI表示制御部25bはUI制御モジュール30と連携してUI表示を制御する。このとき、リソースDB作成部34は、この時点でのコンピュータ10におけるプリンタの駆動環境を示すデータ、すなわち、使用プリンタ名を示すデータと当該プリンタを制御するPRTDRV21のバージョンとインクセットを示すデータを取得する(ステップS105)。
ここで、本実施形態においては、通常使用されるプリンタの機種としてOS20に設定されている機種のプリンタが実際に接続されていることを確認するようになっており、リソースDB作成部34はソフトウェアI/F27を介してPRTDRV21a〜21nとデータを授受してプリンタの機種名を取得する。そして、上記通常使用されるプリンタとして設定されているプリンタの機種名が取得できないときは、UI表示制御部25bにてエラーとしてプリンタ機種の再設定を促す。通常使用されるプリンタの機種名を示すデータを取得できたときには、この機種名を示すデータを現在の駆動環境におけるプリンタ名とする。すなわち、OS20のデフォルトあるいは利用者によるプリンタの指定を受け付ける様になっており、これにあわせて現在の駆動環境を示すデータを取得する。尚、現在の駆動環境を示すデータは、本実施形態のように印刷指示を受け付けた後に実施する構成の他、定期的に取得して保持するなど種々の構成を採用可能である。
ステップS105において現在の駆動環境を示すデータを取得したら、リソースDB作成部34はステップS110においてHDD15を参照し、当該データと一致する駆動環境データが記述されたリソースDBがHDD15に保存されているか否か判別する。同ステップS110にて現在の駆動環境を示すデータに一致する駆動環境データが記述されたリソースDBがHDD15に保存されていると判定されないときには、リソースDB作成部34がステップS115にて現在の駆動環境に合致したプリンタDBを参照しリソースDBを構築するための処理を実行する。ステップS110にてリソースDBが既に保存されていると判定されたときには、ステップS115をスキップする。
以上の処理により、PRTDRV21をインストール、バージョンアップあるいはインクセットを変更した後初めての印刷ではリソースDBが構築され、2回目以降の印刷では以前のリソースDBを流用し、構築処理を実施することなく処理を進めることになる。尚、リソースDB15c1〜15cnの構築に際してはある程度の時間を要するため、ディスプレイ上にはプログレスバーを表示するなどして利用者に処理中であることを示す構成を採用することが好ましい。
ステップS120以降の処理では、UI表示制御部25bが所定のUIを表示するため、UI表示対象の各印刷条件項目について設定可能範囲を取得する。この処理では、現在の駆動環境に一致する駆動環境データが記述されたプリンタDB,リソースを選択して処理対象とする。まずステップS120においては、項目値設定可能範囲取得部33がリソースDB,プリンタDBをこの順に検索し、ステップS125では現在の駆動環境に一致する駆動環境データが記述されたリソースDB,プリンタDBにおいて、UI表示対象の印刷条件項目が上記対象項目として記述されているか否かを判別する。
同ステップS125にてUI表示対象の印刷条件項目が上記対象項目として記述されていると判別されないときには、リソースDB作成部34がステップS130にてPRTDRV21に対して実際に項目値を設定して設定可能範囲を取得する。すなわち、プリンタDBを参照してUI表示対象の印刷条件項目について上位項目があるか否かを判別し、上位項目が存在する場合にはその上位項目についてソフトウェアI/F27を介して現在の駆動環境で使用されるプリンタに対応したPRTDRVに項目値を設定し、このように上位項目の項目値を設定した状態でUI表示対象の印刷条件項目がとり得る設定可能範囲を取得する。
このとき上位項目の項目値については当該上位項目が取りうる項目値のすべてについて逐次設定し、上位項目の各項目値についてUI表示対象の印刷条件項目の設定可能範囲を取得する。UI表示対象の印刷条件項目に対して上位項目が存在しない場合にはUI表示対象の印刷条件項目以外の項目値を設定することなく、ソフトウェアI/F27を介して当該印刷条件項目の設定可能範囲を取得する。また、取得した設定可能範囲は、リソースDBに記述する。従って、UI表示対象の印刷条件項目についてリソースDBおよびプリンタDBに記述されていないとされたことがあったとしても、次回の印刷時には記述されていないと判別されることがない。
このステップS130については実際にPRTDRV21に対して項目値を設定した上で設定可能範囲を取得する処理を行うので、ある程度の時間がかかる処理である。しかし、UI表示対象の印刷条件項目がリソースDBに記述されていないという状況が起こり得るのは、上述のようにリソースDBの作成に非常に多くの時間が費やされることを防止するためなど、特定の場合に限られ、UI表示を実施するために必要な項目のほとんどは予めリソースDBに記述されている。従って、実際はステップS130が実施されることはまれである。
ステップS135においては、項目値設定可能範囲取得部33が上記ステップS120でプリンタDB、リソースDBに記述されていると検出した印刷条件項目、あるいはステップS130にてリソースDBに記述した印刷条件項目について設定可能範囲を取得する。ステップS138では当該印刷条件項目の設定可能範囲が”なし”であるか否か、すなわち何らかの項目値が選択可能であるか否かを判別する。
同ステップS138で設定可能範囲が”なし”であると判別されたときにはステップS139にてUI表示対象の印刷条件項目を切り換えてステップS120以降の処理を繰り返す。この処理により、設定可能な項目値が存在しない印刷条件項目についてはUI表示を行わないことになる。ステップS138で設定可能範囲が”なし”であると判別されないときには、ステップS140にて項目値取得部32がRAM14の仮設定値14aを参照し、あるいはソフトウェアI/F27を介して現在の項目値を取得する。
すなわち、ステップS120以降のループ処理において初回の処理であればソフトウェアI/F27を介して前回の印刷実行時における印刷条件項目の項目値を取得し、UI表示制御部25bに現項目値として受け渡す。このとき、現項目値を仮設定値14aとしてRAM14に記録する。また、ステップS120以降のループ処理において2回目以降の処理であれば仮設定値14aを参照してUI表示制御部25bに現項目値として受け渡す。
ステップS145においては、上記ステップS135で取得した設定可能範囲を選択可能な選択肢にするとともに、上記ステップS140で取得した仮設定値が仮に設定された状態でUIを表示する。さらに、ステップS150ではUI表示制御部25bが項目値の変更を受け付けたか否かを判別し、項目値の変更を受け付けたと判別されたときには、ステップS155にて項目値仮設定部31が変更後の項目値を仮設定値として取得し、RAM14の仮設定値14aを更新してステップS120以降の処理を繰り返す。
この繰り返し処理においては、ステップS155の項目値の変更によってUI表示対象の印刷条件項目の依存関係が変動したとしても、ステップS135の処理により適切な設定可能範囲が取得され、ステップS140のUI表示では選択不能の印刷条件項目を選択可能に表示させることなくUIを更新することができる。また、繰り返し処理においてステップS140にて現項目値を取得する際にはソフトウェアI/F27を介してPRTDRV21に対して項目値を設定することが無い。従って、UIが表示されてから印刷が実行されるまでに一度でもUI上で項目値を変更した場合には、高速にUI表示を切り替えることができる。
本実施形態にかかるUIでは、利用者に選択を促す全印刷条件項目のうち一部のみを一画面に表示し、一画面で少数の印刷条件項目を入力しながら画面を逐次切り替えて最終的に印刷実行指示を受け付けるようにしている。そこで、ステップS160では、UI表示制御部25bが画面の切替指示を受け付けたか否かを判別し、画面の切替指示を受け付けたと判別したときにはステップS165にてUI画面を切り替える。そして、切り替え後のUI表示対象の印刷条件項目について適切な表示をするため、ステップS120以降を繰り返す。
ステップS160にて画面の切替指示を受け付けたと判別しないときには、ステップS170にてUI表示制御部25bが印刷実行指示を受け付けたか否かを判別する。そして、印刷実行指示を受け付けたと判別したときには、ステップS175にて印刷実行部25cが印刷対象の画像データをPRTDRV21に対して出力するとともに、項目値仮設定部31に対して印刷条件を設定するように指示を出す。また、項目値仮設定部31がソフトウェアI/F27にアクセスし、PRTDRV21に対して仮設定値14aに記録されている印刷条件項目値を設定する。この結果、PRTDRV21は画像データに対して印刷条件に従った画像処理を施すとともに印刷条件に従って印刷を実行するための印刷データを作成し、プリンタ40に出力し、印刷を実行する。
図6は、本実施形態におけるUI画面が切り替わる様子を示している。本実施形態にかかるUIでは、利用者に選択を促す全印刷条件項目のうち一部のみを一画面に表示し、一画面で少数の印刷条件項目を入力しながら画面を逐次切り替えて最終的に印刷実行指示を受け付けるようにしている。図6に示す例においては縁なし印刷を実行可能なプリンタ(図6では機種名PM−****)と縁なし印刷を実行不能なプリンタ(図6では機種名CL−****)とについてUI画面の例を示している。
機種名PM−****においては、縁なし印刷を実行可能であるので、印刷条件項目としての設定可能範囲は他の印刷条件項目との依存関係によって”縁なし”,”縁あり”の双方またはいずれかとなる。一方、機種名CL−****においては、縁なし印刷を実行不能であるので、印刷条件項目としての設定可能範囲は”なし”であり、設定可能範囲としての選択肢は存在しない。本実施形態においては、このような駆動環境(図6ではプリンタ機種)によって印刷条件項目の設定可能範囲が変動するときに、不必要な画面や設定可能範囲を表示させないようになっており、現在の駆動環境に的確に対応したUI画面を表示するようになっている。
図6においては、印刷媒体のレイアウトを選択するUIをUI11,UI21と示している。UI11は機種名PM−****のUI画面であり、UI21は機種名CL−****のUI画面である。また、UI11,UI21においては左側に印刷条件項目としての印刷媒体サイズを選択するフレーム1aを表示し、右側に印刷条件項目としてのレイアウトを選択するフレーム1bを表示している。また、図6のUI0は縁なし印刷(媒体の四辺に余白を設けない印刷)を実施するか否かを選択するUIである。
尚、各UIにおいてはラジオボタンやアイコンのクリックによって各印刷条件項目を指定するようになっており、画面右下の「戻る」ボタンによって一つ前のUI画面に戻り、「次へ」ボタンによって次のUI画面に進むようになっており、最後のUIにおいては印刷実行指示ボタンによって印刷実行指示を実施できるようになっている。この例において、レイアウトは印刷媒体上での画像配置を規定しており、印刷媒体サイズはレイアウトの上位項目である。また、機種名PM−****のプリンタにおいては縁なし印刷を実施可能な印刷媒体のサイズが限られており、この意味で縁なし印刷の可否は印刷媒体の上位項目である。
図6の例では、機種名PM−****のプリンタではがき,L版,2L版,A3〜A6の各印刷媒体サイズで印刷を実行可能であり、このうち、はがき,L版,2L版,A3,A4の各印刷媒体サイズで縁なし印刷を実施可能である。従って、上記UI表示制御部25bにてUI表示対象項目として縁なし印刷の選択肢を表示するように上記APL25が作成されており、機種名PM−****が現在の使用プリンタである場合に上記ステップS138の判別を経てステップS140を実施する。この結果、縁なし印刷について縁なしあるいは縁ありを選択するUI0を表示する。
一方、UI表示対象項目として縁なし印刷の選択肢を表示するように上記APL25が作成されている場合であっても、機種名CL−****が現在の使用プリンタである場合には、上記ステップS138の判別を経てステップS139,S120を実施するので、縁なし印刷の選択を行うUI0は表示されない。UI0はスキップされ、レイアウト表示を実施するUI21が表示される。
また、上記機種名PM−****が現在の使用プリンタである場合に、UI0において設定可能範囲として縁ありと縁なしを表示し、項目値として縁なしを選択しつつ次のUI1に進んだときには、フレーム1aにおいて選択可能範囲としてはがき,L版,2L版,A3,A4を表示する。UI0において項目値として縁ありを選択しつつ次のUI1に進んだときには、フレーム1aとして選択可能範囲としてはがき,L版,2L版,A3〜A6を表示する。
また、UI1のフレーム1aにて印刷媒体サイズが選択されたときには、フレーム1bにてレイアウトが自動的に更新され、当該選択中の印刷媒体サイズにて印刷実行可能なレイアウトのみが設定可能範囲として提示される。むろん、機種名CL−****において印刷媒体サイズがUI21以前のUI画面で設定された印刷条件項目に依存している場合には、その項目値によって印刷媒体サイズの選択肢が変動し得る。
以上のように、本実施形態にかかるUIにおいてはAPL25の制作者が所望の印刷条件項目を選択し、UIの表示対象として設定しておくのみで、各項目値の設定可能範囲はUI制御モジュール30が取得し、現在の駆動環境に応じた適切な表示のみを行うことができ、容易かつ高速に画面を表示可能であり、かつ表示対象の任意性が高いUI表示を実施することができる。
尚、本実施形態にかかるUIにおいて、印刷条件項目に依存関係が存在することから、より上位にある印刷条件項目から選択するように逐次画面を切り替える構成を採用するのが好ましい。また、ある項目の上位項目が複数あるのであれば、これら上位項目は同じUI画面上で選択されるのが好ましい。さらに、一画面で多数の印刷条件項目を表示させるUIを構成してもよく、ある印刷条件項目の設定によって他の印刷条件項目の設定可能範囲が変化した場合には、選択不可能な項目値を選択肢として表示させず、選択可能な項目値を選択肢として表示する。むろん、UIの構成は種々の構成が可能であり、選択不可能な項目値をグレーアウトさせる構成を採用してもよい。
(5)リソースDBの構築処理:
次に、上記ステップS115に示すリソースDBの構築処理について説明する。図7〜図9はこの構築処理を示すフローチャートであり、図10は図4に示す依存関係のリソースDBを構築する際の処理例を説明する説明図である。以降、図10に示す例に沿って図7〜図9のフローチャートを説明する。尚、リソースDBの構築処理においては、RAM14をワークエリアとし、印刷条件項目のリストを示すデータをバッファリングしながら処理を進めており、バッファリングの目的とループによって適宜リストを切り換えながらリソースDBを作成する。
上記図5のステップS110にて現在の駆動環境を示すデータに一致する駆動環境データが記述されたリソースDBがHDD15に保存されていると判定されないときには、リソースDB作成部34がステップS115の処理を実行して図7のステップS200以降を開始する。ステップS200では、まず、上記ステップS105で取得した現在の駆動環境を示すデータをリソースDBに登録する。ステップS205では、現在の駆動環境を示すデータが記述されたプリンタDBから全項目を抽出し、リストL1nに登録する。尚、このリストL1nは、設定可能範囲が未確定である未確定項目を登録するリストである。また、図7〜図9の処理において番号nは自然数であって初期値は”1”であり、この番号nによって異なるリストをバッファし、ループの段階によって使い分ける。
ステップS210では、リストL1nの中で上位項目および下位項目を有していない項目(独立項目)を抽出し、ステップS215で上記ソフトウェアI/F27を介してPRTDRV21に独立項目の設定可能範囲を問い合わせ、取得した設定可能範囲をリソースDBに登録する。図4に示す例では印刷条件項目Hが上位項目および下位項目を有していないので、設定可能範囲(図4では”1,2,3”)を取得し、リソースDBに登録する。
以上のようにしてリソースDBに登録した独立項目は未確定項目ではなくなるので、ステップS220にてリストL1nから削除する。ステップS225以降では、依存関係のある項目についてより上位の項目から項目値を決定し、上位の項目がその項目値であるときの下位項目の設定可能範囲を取得するようにして処理を進める。このため、ステップS225ではリストL1nからある項目Nを抽出し、ステップS230では現在の駆動環境を示すデータが記述されたプリンタDBを参照し、当該項目Nの上位項目を抽出する。
ステップS235では、当該抽出した上位項目が総て確定しているか否かを判別し(項目Nの上位項目がリストL1nに存在すれば未確定と判別)、総て確定していると判別されなければステップS240にて項目Nを変更するとともにステップS230以降の処理を繰り返す。すなわち、このループにより、上位項目のない、最上位の項目を項目Nとして処理を進めることになる。尚、図10では、図4に示す依存関係についてステップS220以降にてバッファリングされるリストの例を上から下に向けて時系列的に並べて示している。この段階で番号nは初期値であってリストL1nはリストL11であり、同図(a)に示すようにリストL11=ABCDEFGである。また、同(a)では、項目Nとして項目Aを抽出した例を示している。
ステップS235にて上位項目が総て確定していると判別されると、ステップS245にて項目Nの設定可能範囲データを現在の駆動環境を示すデータが記述されたプリンタDB,作成中のリソースDBの順に検索し、ステップS250において項目Nの設定可能範囲データが当該プリンタDB,リソースDBに存在しているか否かを判別する。ステップS250にて項目Nの設定可能範囲データが存在すると判別されたときにはステップS255をスキップし、ステップS260にて当該設定可能範囲データを作成中のリソースDBに登録する。
ステップS250にて項目Nの設定可能範囲データが存在すると判別されないときには、ステップS255にてソフトウェアI/F27を介してPRTDRV21に上位項目の項目値を設定し、項目Nの設定可能範囲を取得する。そして、ステップS260にて当該設定可能範囲データを作成中のリソースDBに登録する。尚、ステップS245にてプリンタDBを優先するのは、上述のようにエラー等に起因してPRTDRV21から設定可能範囲が適切に取得できない場合があり、この場合には適切な設定可能範囲をプリンタDBに記述することにしているので、まずプリンタDBを検索することとしたものである。
次にリソースDBを検索するのは、PRTDRV21に対する重複した設定を防止するためであり、既に設定可能範囲データがリソースDBに存在する場合はPRTDRV21に対する設定をすることなくリソースDBから設定可能範囲を取得することとしている。すなわち、本実施形態における処理においては、上位の項目について項目値を決定し、その下位の項目について設定可能範囲を取得する処理を上位から下位に向けて逐次実施するので、項目Nより2つ上位の階層(階層Mとする)の項目値が異なっていても、項目Nより1つ上位の階層(階層M+1)の項目値が共通の値であれば、項目Nの設定可能範囲は共通である。
従って、ステップS245の処理において項目Nの設定可能範囲について既に記述された設定可能範囲データを検出する場合もあり、この場合はステップS255をスキップする。このように、まずプリンタDBとリソースDBとを検索すれば、検索によって設定可能範囲データを発見したときにPRTDRV21への設定をする必要がなく、HDD15を参照するのみで設定可能範囲を取得することができる。従って、ソフトウェアI/F27を介してPRTDRV21に対して上位項目を設定させ、その下位項目の設定可能範囲を取得するよりも高速に設定可能範囲を取得することができる。
図10の(a)に示す項目値N=Aの処理においては、処理の最初であって作成中のリソースDBに項目Aの設定可能範囲が保存されていないため、ステップS245,S250の処理を経てステップS255にてPRTDRV21を介して設定可能範囲データ(A=1,2)を取得する。この例において項目Aには上位項目がないのでステップS255にて上位項目を設定することなく項目Aの設定可能範囲データを取得することができる。
ステップS265ではプリンタDBを参照し、項目Nより下位の項目を抽出してリストL2nに登録する。すなわち、リストL2nは項目Nに依存する下位の項目を列記したリストである。従って、図10の(a)に示す例では項目N=Aに依存しない項目Eを除く下位項目の総てが番号n=1のリストL2nに登録され、リストL21=BCDFGとなる。ステップS265での処理の後には図8のステップS300にてリストL2nの項目総てについて設定可能範囲が確定しているか否かを判別する。
同ステップS300にてリストL2nの全項目について設定可能範囲が確定していると判別されたときには、ステップS305にてリストL1nから項目Nを削除して上記図7のステップS270以降の処理を行う。ステップS300にてリストL2nの全項目について設定可能範囲が確定していると判別されないときには、ステップS310にてリストL1nをリストL3nにコピーし、リストL3nから項目Nを削除する。すなわち、リストL2nの項目は項目Nの下位項目であるため、ステップS300でこれらの下位項目が確定していると判別されたときには、項目Nおよびその下位項目が確定しているので未確定項目リストL1nから項目Nを削除して、さらに残りの未確定項目について処理を進める。
ステップS300で項目Nの下位項目が確定していると判別されないときには、当該下位項目を確定させるため、未確定項目のうち項目Nを除いてリストL3nとし、処理を進める。この意味でリストL3nは未確定項目の一部を登録するリストである。また、リストL3nは各ループで処理を行う未確定項目の一部を一時的に登録するリストである。図10の(a)に示す例では、リストL21の項目BCDFGが確定していないため、ステップS300の判別を経てステップS310にてL31=BCDEFGとする。
ステップS315では、リストL2nの各項目が上述の独立ツリーであるか否かを判別する。同ステップS315でリストL2nの各項目が独立ツリーであると判別されたときには、ステップS320でリストL3nをリストL2nで置き換える。すなわち、独立ツリーの下位項目をループ内での処理対象としてリストL3nに登録する。ステップS315でリストL2nの各項目が独立ツリーであると判別されないときにはステップS320をスキップする。図10の(a)に示す例ではステップS320がスキップされる。
ステップS325では、項目Nの項目値を仮設定する。すなわち、項目Nを特定の値にした状態で下位項目の設定可能範囲を決定するため、項目Nの項目値を特定の値に仮設定する。尚、同じ項目Nに対してこのステップS325が繰り返しによって再度実行されるときには、仮設定する項目値を前回の処理と異なる値とする。ステップS330では、番号nをインクリメントし、リストL1nにリストL3(n−1)をコピーする。すなわち、未確定項目に前回の番号(n−1)におけるループでの未確定項目をコピーする。
そして、ステップS270にて当該リストL1nに項目が存在しているか否かを判別し、項目が存在しているときには未確定項目が存在するので、ステップS225以降の処理を繰り返す。ステップS270にてリストL1nに項目が存在していると判別されないときには、図9に示すステップS400以降の処理を実行する。図10の(b)に示す例では項目N=AであってステップS325にてA=1を仮設定した例を示しており、ステップS330以降では番号nが”2”となるので、リストL12=BCDEFGとなる。
同図に示す例ではリストL12=BCDEFGであり、ステップS270においてリストL12に項目が存在するので、ステップS225で新たな項目Nを設定する。図10の(b)では新たな項目Nが項目Bであり、この項目Bの上位項目Aの設定可能範囲が総て確定しているのでステップS235の判別を経てステップS245〜S255の処理を行う。このとき、項目Bの設定可能範囲は現在の駆動環境を示すデータが記述されたプリンタDBおよび作成中のリソースDBに登録されていないので、ステップS255にてPRTDRV21に上記仮設定された項目A=1を設定し、項目Bの設定可能範囲B=1,2を取得する。この結果、ステップS260では項目Bの設定可能範囲データとしてA=1のとき、B=1,2をリソースDBに登録する。
さらに処理を続行し、ステップS265ではリストL22=Cとし、ステップS310ではリストL32=CDEFGとし、ステップS320ではリストL32=Cとする。そして、ステップS325では項目Bの下位項目Cについて処理を行うため、項目B=1を仮設定し、ステップS330でリストL13=Cとする。さらに、ステップS270に戻ると、リストL13に項目Cが存在することからステップS225以降の処理を繰り返し、項目N=Cについて処理を行う(図10(c))。ステップS245〜S260の処理では項目Cの設定可能データとしてB=1のとき、C=1,2をリソースDBに登録する。
さらに、ステップS265では項目N=Cより下位が存在しないことから、L23を空とし、ステップS300でL23の項目が空であることによって総て確定していると判別し、ステップS305にてリストL13を空にしてステップS270の判別を行う。このとき、リストL13が空であることによって図9のステップS400の処理を行う。ステップS400では、項目Nの上位項目について全項目値を設定済みであるか否かを判別し、項目Nの上位項目について全項目値を設定済みであると判別しないときには、ステップS402にて番号nをデクリメントしてステップS325以降の処理を繰り返す。ステップS400にて項目Nの上位項目について全項目値を設定済みであると判別したときには、ステップS403にて番号nをデクリメントしてステップS405以降の処理を実施する。
図10に示す例では、項目N=Cの上位項目Bについて項目値2を設定していないので、ステップS325の処理にて項目Bに項目値2を設定する(図10(d))。そして、ステップS330ではリストL13にリストL32をコピーしてリストL13=Cとする。これ以後ステップS270,S225〜ステップS260にて上記と同様の処理を行い、項目Cの設定可能データとしてB=2のとき、C=2,3,4をリソースDBに登録する。この結果、項目B,Cについては設定可能範囲が確定したことになる。
この場合のステップS265〜S305,S270でも上記B=1の場合と同様に判別を行うが、ステップS400では項目Cの上位Bについて全項目値を設定済みであると判別するので、ステップS403以降の処理を実施する。ステップS405ではリストL1nから項目Nの上位項目を削除し、ステップS410ではリストL1nからリストL3nの項目を削除する。図10に示す例では、ステップS405にてリストL12から項目Cの上位項目Bを削除する。この結果、リストL12=CDEFGとなる。さらに、ステップS410では、リストL12からリストL32の項目を削除する。この結果リストL12=DEFGとなる(図10(e))。
ステップS420では現在の駆動環境を示すデータが記述されたプリンタDBに記述された全項目について設定可能範囲データの登録が終了したか否かを判別し、終了したと判別されるまでステップS270以降の処理を繰り返す。図10(e)に示す例では、リストL12=DEFGの段階でこれらの項目が未確定であるので、番号n=2でステップS270以降の処理を繰り返す。図10(e)では、この番号n=2、リストL12=DEFGとなっているときに、ステップS225にて項目N=Dとした場合の例を示している。この場合、上述のように項目A=1のとき項目B=1,2と決定した処理と同様の処理を経て、ステップS260では項目Dの設定可能範囲データとしてA=1のとき、D=1,2をリソースDBに登録する。
そして、ステップS265にてリストL22=FGとし、ステップS300の判別を経てステップS310にてリストL31=EFGとする。リストL22のFGは独立ツリーではないため、ステップS315の判別を経てステップS320をスキップし、ステップS325にて項目D=1を仮設定してステップS330以後の処理を続ける。以後、図7〜図9に示すフローチャートに従って、図10(f)に示すようにまず項目D=1として項目Eの設定可能範囲データを登録し、さらに図10(g)に示すように項目D=1,E=1として項目Fの設定可能範囲データを登録し、さらに、図10(h)に示すように項目D=1,E=1,F=2として項目Gの設定可能範囲データを登録する。
この場合の項目Gについて設定可能範囲データを登録したらさらに項目D=1,E=2を設定して項目F,項目Gの設定可能範囲データを登録する処理を行う。すなわち、図7〜図9に示すフローチャートに従って処理を行うことにより、上位項目から逐次項目値を設定し、その項目値での設定可能範囲データを登録しつつ徐々に下位項目を設定していく。これにより、依存関係のある総ての場合について上位項目値を設定し、その下位の項目について設定可能範囲データを登録する処理を行うことができる。従って、上記図4に示すような印刷条件項目F,Gのように複雑な依存関係を有する項目間の設定可能範囲データを容易に規定することができ、現在の駆動環境に対応したリソースDBを作成することができる。
(6)他の実施形態:
本発明においては、周辺機器の駆動条件の依存関係および設定可能範囲を参照し、現在の駆動環境に応じた設定可能範囲内でUIを表示しつつ利用者に駆動条件を設定させることができればよく、上記実施形態の他にも種々の構成を採用可能である。例えば、上述の実施形態においては、コンピュータ10において少なくともUIでの印刷条件設定の前に、HDD15に記録されたプリンタDBを参照してリソースDBを作成する構成を採用していたが、むろん、予めコンピュータ10以外のコンピュータにてリソースDBを作成し、HDD15に記録するようにしても良い。
すなわち、プリンタ40を提供するプリンタメーカーがそのプリンタやドライババージョン等、駆動環境に応じたリソースDBを予め作成し、PRTDRV21のプログラムとリソースDBのデータを記録した媒体をコンピュータ10の利用者に提供し、PRTDRV21のインストール時にリソースDBをHDD15に記録する構成を採用しても良い。かかる構成によれば、コンピュータ10にてリソースDBを作成するためにプリンタDBを備える必要がないので、HDD15に必要とされるデータ容量を抑えることができる。また、利用者がコンピュータ10を操作しているときにリソースDBを作成する必要がないので、作成のための時間を必要とせず、UI表示の初回から利用者を待たせることがない。
一方、HDD15に記録されたプリンタDBを参照してリソースDBを作成する上記構成においては、上述のようにドライバのバージョンやインクセットの変更等、駆動環境がどのように変更したとしても容易にリソースDBを再構築することができるので、状況の変更に容易に対応することができる。また、上述のようにエラー等に起因してPRTDRV21から設定可能範囲が適切に取得できない場合であってもプリンタDBに適切な設定可能範囲データを記録すればよいため、エラーが生じた場合にも容易に修正をすることができる。
また、リソースDB15c1〜15cnに設定可能範囲データを登録するのは、上記ステップS115における構築時、ステップS130における設定可能範囲の学習時に限られず、例えば、印刷実行後に所定の設定可能範囲データを登録しても良い。すなわち、印刷領域の設定など、UI上でのプレビュー時に利用される場合には正確な値が必要なく、印刷時には正確な値が必要な類のデータであれば、印刷時にPRTDRV21に印刷領域を設定する際にその設定可能範囲を取得し、リソースDB15c1〜15cnに登録しても良い。かかる構成によれば、UI表示の際にPRTDRV21に対して設定することを防止してUI表示処理を高速に実施することが可能であり、一旦リソースDB15c1〜15cnに設定可能範囲データを登録した後には、高速に正確な値を使用することができる。
さらに、上記リソースDBの作成フローチャートは一例であり、上位項目の項目値を決定した上でその下位項目の設定可能範囲を取得する作業を逐次上位から下位に向けて実施できればよく、他にも種々のフローを採用可能である。上述の各リストを利用することも必須ではなく、種々の手法でバッファリングを行いながら処理を進めればよい。また、上記図5のステップS140において現在の項目値を取得する際に、初回のループ処理ではソフトウェアI/F27を介してPRTDRV21に項目値を問い合わせる構成を採用していたが、むろん、UI設定の終了後に、必要に応じて不揮発性メモリに転送するなどして仮設定値14aを保持しておき、初回のループ処理ではこの仮設定値を参照すれば、PRTDRV21に対する問い合わせを行わない構成にすることができる。
さらに、上述のようにリソースDBにおいて印刷条件項目の設定可能範囲として、項目値と併せて項目値に対応した文字列を記録することにすれば、設定可能範囲をUI表示する際にその項目値を文字によって明示することが可能になり、よりわかりやすいUIを提供することが可能になる。むろん、UIでの表示態様は種々のものを採用可能であり、上述のように駆動環境に応じてUI画面を表示する場合と表示しない場合とを生じさせる構成の他、表示内容を変更するように構成することも可能である。例えば、インクセットが変更された場合に、そのインクセットがどのようなものであるかの表示、例えば、インク色や顔料/染料等の表示を切り換える構成等を採用可能である。かかる構成により、利用者がインクセットを変更した場合に自動で適切なUI表示を実施するようにすることができる。
さらに、上記実施形態においては、コンピュータに接続される周辺機器としてのプリンタに本発明を適用していたが、むろん、UIによって駆動条件を設定可能な総ての周辺機器について本発明を適用することができる。例えば、ディスプレイ,プロジェクタ,スキャナ,デジタルカメラ,ハードディスクドライブ等に対して本発明を適用可能である。本発明においては、複雑に依存する駆動条件について駆動環境に応じた適切な設定可能範囲を特定するので、多数の駆動条件が存在し、また、多くの依存関係を有する周辺機器について本発明を適用するのが好ましい。この意味で、スキャナ等が好適な適用例であるし、スキャナとプリンタとコピーやfaxが一つの機体に構成された複合機なども好適な適用例である。
さらに、駆動環境を示すデータとしては、上述のようにプリンタの機種やドライバのバージョンやインクセットを示すデータに限定されるわけではなく、他にも種々の駆動環境を採用可能である。例えば、ロケール情報が異なる場合に駆動環境が異なることにしても良い。すなわち、ロケール情報は上記図1にロケール情報24に示すように、OS20において参照可能なデータとして記録されており、これにより、コンピュータ10が使用される国や言語を特定可能である。
そこで、駆動環境データとしてこのロケール情報を含むように構成すれば、OS20における国や言語の設定が異なる場合に異なるリソースDBを作成するようにすることができる。この結果、UIにおいては、国や言語の設定に応じた表示を実施することが可能になる。特に、設定可能範囲データとして文字列データを含める場合に好適であり、この場合、UIの表示言語に対応することができ、どのような言語であっても適切に設定可能範囲が表示されるようになる。
さらに、上述の実施形態においては、現在の駆動環境を示すデータとリソースDBに記述された駆動環境データとが異なる場合にリソースDBを構築するようにしていたが、両者が異なる場合に必ずリソースDBを再構築するのではなく、両者が一致しているか否かを判別する際にある程度の許容性を持たせても良い。例えば、上記プリンタDBに対してドライババージョンの適用範囲を示すデータを記述しておき、現在の駆動環境として取得したドライババージョンを示すデータが当該プリンタDBに記述されたドライババージョンの適用範囲内にないときにリソースDBを構築するような構成を採用可能である。すなわち、ドライババージョンが更新されることによって設定可能範囲が変動しないのであれば、その更新によってリソースDBを構築しないように更新後のバージョンを適用範囲内にする。かかる構成により、リソースDBを構築するか否かをより柔軟に決定することができる。
印刷制御装置の概略構成を示すブロック図である。 プリンタDBのデータ記述例を示す図である。 リソースDBのデータ記述例を示す図である。 設定可能範囲を依存関係とともに示す図である。 印刷制御処理のフローチャートである。 UIの表示例を示す図である。 リソースDBの構築処理を示すフローチャートである。 リソースDBの構築処理を示すフローチャートである。 リソースDBの構築処理を示すフローチャートである。 リソースDBを構築する際の処理例を説明する説明図である。
符号の説明
10…コンピュータ、14…RAM、14a…仮設定値、15…HDD、15a…画像データ、15b1〜15bn…プリンタDB、15c1〜15cn…リソースDB、20…OS、21…PRTDRV、21a…通信部、22…入力機器DRV、23…ディスプレイDRV、25…APL、25a…画像処理部、25b…UI表示制御部、25c…印刷実行部、30…UI制御モジュール、31…項目値仮設定部、32…項目値取得部、33…項目値設定可能範囲取得部、34…リソースDB作成部、35…項目値設定部、40a〜40n…プリンタ

Claims (8)

  1. コンピュータに接続される印刷装置を駆動する際に設定を要する印刷条件をUIによって設定するとともに当該UIで設定された印刷条件で印刷装置を制御する印刷制御装置であって、
    上記印刷装置に対して印刷条件を設定し、この設定における他の印刷条件の設定可能範囲を取得可能な印刷条件設定手段と、
    上記印刷条件について他の印刷条件に応じて変動する設定可能範囲を示す依存関係データを記憶する依存関係データ記憶手段と、
    上記印刷条件の設定可能範囲を示す設定可能範囲データであって、上記印刷装置の機種と前記印刷条件設定手段の更新の有無と前記周辺機器の構成部品と前記コンピュータでのロケール情報との少なくとも1つによって特定される駆動環境を特定する駆動環境データを含む設定可能範囲データを記憶可能な設定可能範囲データ記憶手段と、
    上記設定可能範囲データ記憶手段に現在の印刷装置の駆動環境に一致する駆動環境データを含む設定可能範囲データが記録されていないときに、上記印刷条件設定手段によって特定の印刷条件に対して設定可能な設定値を順に設定させ、上記依存関係データを参照して当該特定の印刷条件に応じて変動する他の印刷条件の設定可能範囲を取得し、当該設定可能範囲を示す設定可能範囲データを所定の記憶媒体に記憶する設定可能範囲取得手段と、
    現在の印刷装置の駆動環境に一致する駆動環境データを含む設定可能範囲データを参照して上記印刷条件の設定可能範囲を取得し、所定の出力装置に対して当該設定可能範囲で印刷条件を設定するための選択肢を表示するとともに印刷条件の設定値の入力を受け付ける印刷条件入出力手段と、
    上記設定可能範囲データを参照して上記設定値の入力によって変更された印刷条件に応じて変動する印刷条件の設定可能範囲を取得し、所定の出力装置に対して当該変動する印刷条件の設定可能範囲を表示する印刷条件更新手段と、
    上記受け付けた設定値での印刷条件にて印刷を実行する指示を受け付ける印刷実行指示受付手段と、
    同印刷を実行する指示に応じて上記受け付けた設定値での印刷条件にて印刷装置を駆動し、画像を印刷させる印刷制御手段とを具備することを特徴とする印刷制御装置。
  2. 上記印刷条件は、上位の印刷条件が決定すると下位の印刷条件の設定値についての設定可能範囲が決定するという関係を有しており、
    上記設定可能範囲取得手段は、上記印刷条件設定手段によって特定の印刷条件に対して設定可能な設定値の総てを順に設定させつつ上記特定の印刷条件よりも下位の印刷条件の設定可能範囲を取得する上記請求項1に記載の印刷制御装置。
  3. 上記設定可能範囲取得手段は、上記印刷装置の駆動環境の指定を受け付ける駆動環境受付部を備え、当該指定を受け付ける際に上記現在の印刷装置の駆動環境を判断することを特徴とする上記請求項1または請求項2に記載の印刷制御装置。
  4. 上記設定可能範囲取得手段は、上記コンピュータが起動されているとき、所定のタイミングで上記現在の印刷装置の駆動環境を判断することを特徴とする上記請求項1または請求項2に記載の印刷制御装置。
  5. 上記設定可能範囲取得手段は、上記印刷装置と通信を行って当該印刷装置の機種および印刷装置の構成部品を示すデータを取得可能であることを特徴とする上記請求項1〜請求項4のいずれか1項に記載の印刷制御装置。
  6. 上記設定可能範囲取得手段は、上記設定可能範囲データを所定の記憶媒体に記憶するにあたり、記憶済みの設定可能範囲データを更新せずに保持することを特徴とする上記請求項1〜請求項5のいずれか1項に記載の印刷制御装置。
  7. コンピュータに接続される印刷装置を駆動する際に設定を要する印刷条件をUIによって設定するとともに当該UIで設定された印刷条件で印刷装置を制御する印刷制御方法であって、
    上記印刷装置に対して印刷条件を設定し、印刷装置を駆動する印刷装置制御部において、印刷条件を設定しこの設定における他の印刷条件の設定可能範囲を取得可能であり、
    上記印刷条件について他の印刷条件に応じて変動する設定可能範囲を示す依存関係データを所定の記憶媒体に記憶しておき、
    上記印刷条件の設定可能範囲を示す設定可能範囲データであって、上記印刷装置の機種と前記印刷条件設定手段の更新の有無と前記周辺機器の構成部品と前記コンピュータでのロケール情報との少なくとも1つによって特定される駆動環境を特定する駆動環境データを含む設定可能範囲データを所定の記憶媒体に記憶可能にしておき、
    上記所定の記憶媒体に現在の印刷装置の駆動環境に一致する駆動環境データを含む設定可能範囲データが記録されていないときに、上記印刷条件設定工程によって特定の印刷条件に対して設定可能な設定値を順に設定させ、上記依存関係データを参照して当該特定の印刷条件に応じて変動する他の印刷条件の設定可能範囲を取得し、当該設定可能範囲を示す設定可能範囲データを所定の記憶媒体に記憶する設定可能範囲取得工程と、
    現在の印刷装置の駆動環境に一致する駆動環境データを含む設定可能範囲データを参照して上記印刷条件の設定可能範囲を取得し、所定の出力装置に対して当該設定可能範囲で印刷条件を設定するための選択肢を表示するとともに印刷条件の設定値の入力を受け付ける印刷条件入出力工程と、
    上記設定可能範囲データを参照して上記設定値の入力によって変更された印刷条件に応じて変動する印刷条件の設定可能範囲を取得し、所定の出力装置に対して当該変動する印刷条件の設定可能範囲を表示する印刷条件更新工程と、
    上記受け付けた設定値での印刷条件にて印刷を実行する指示を受け付ける印刷実行指示受付工程と、
    同印刷を実行する指示に応じて上記受け付けた設定値での印刷条件にて印刷装置を駆動し、画像を印刷させる印刷制御工程とを具備することを特徴とする印刷制御方法。
  8. コンピュータに接続される印刷装置を駆動する際に設定を要する印刷条件をUIによって設定するとともに当該UIで設定された印刷条件で印刷装置を制御する印刷制御プログラムであって、
    上記印刷装置に対して印刷条件を設定し、この設定における他の印刷条件の設定可能範囲を取得可能な印刷条件設定機能と、
    上記印刷条件について他の印刷条件に応じて変動する設定可能範囲を示す依存関係データを所定の記憶媒体に記憶する依存関係データ記憶機能と、
    上記印刷条件の設定可能範囲を示す設定可能範囲データであって、上記印刷装置の機種と前記印刷条件設定手段の更新の有無と前記周辺機器の構成部品と前記コンピュータでのロケール情報との少なくとも1つによって特定される駆動環境を特定する駆動環境データを含む設定可能範囲データを所定の記憶媒体に記憶可能にする設定可能範囲データ記憶機能と、
    上記設定可能範囲データ記憶機能に現在の印刷装置の駆動環境に一致する駆動環境データを含む設定可能範囲データが記録されていないときに、上記印刷条件設定機能によって特定の印刷条件に対して設定可能な設定値を順に設定させ、上記依存関係データを参照して当該特定の印刷条件に応じて変動する他の印刷条件の設定可能範囲を取得し、当該設定可能範囲を示す設定可能範囲データを所定の記憶媒体に記憶する設定可能範囲取得機能と、
    現在の印刷装置の駆動環境に一致する駆動環境データを含む設定可能範囲データを参照して上記印刷条件の設定可能範囲を取得し、所定の出力装置に対して当該設定可能範囲で印刷条件を設定するための選択肢を表示するとともに印刷条件の設定値の入力を受け付ける印刷条件入出力機能と、
    上記設定可能範囲データを参照して上記設定値の入力によって変更された印刷条件に応じて変動する印刷条件の設定可能範囲を取得し、所定の出力装置に対して当該変動する印刷条件の設定可能範囲を表示する印刷条件更新機能と、
    上記受け付けた設定値での印刷条件にて印刷を実行する指示を受け付ける印刷実行指示受付機能と、
    同印刷を実行する指示に応じて上記受け付けた設定値での印刷条件にて印刷装置を駆動し、画像を印刷させる印刷制御機能とをコンピュータに実現させることを特徴とする印刷制御プログラム。
JP2003291676A 2003-08-11 2003-08-11 印刷制御装置、印刷制御方法および印刷制御プログラム Expired - Fee Related JP4420183B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003291676A JP4420183B2 (ja) 2003-08-11 2003-08-11 印刷制御装置、印刷制御方法および印刷制御プログラム
US10/917,238 US20050094196A1 (en) 2003-08-11 2004-08-11 Setting of driving conditions corresponding to driving environments of peripherals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003291676A JP4420183B2 (ja) 2003-08-11 2003-08-11 印刷制御装置、印刷制御方法および印刷制御プログラム

Publications (2)

Publication Number Publication Date
JP2005063114A JP2005063114A (ja) 2005-03-10
JP4420183B2 true JP4420183B2 (ja) 2010-02-24

Family

ID=34369289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003291676A Expired - Fee Related JP4420183B2 (ja) 2003-08-11 2003-08-11 印刷制御装置、印刷制御方法および印刷制御プログラム

Country Status (2)

Country Link
US (1) US20050094196A1 (ja)
JP (1) JP4420183B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7518749B2 (en) * 2004-11-12 2009-04-14 Microsoft Corporation Analysis alternates in context trees
JP5326119B2 (ja) * 2005-03-15 2013-10-30 大日本印刷株式会社 写真注文の実行のための注文セパレータ
JP2006338177A (ja) * 2005-05-31 2006-12-14 Sony Corp 階層構造メニューの表示方法、階層構造メニューの表示装置および階層構造メニュー表示プログラム
JP2007072534A (ja) * 2005-09-02 2007-03-22 Star Micronics Co Ltd 印刷システム、印刷システムの制御方法及びプログラム
JP4911692B2 (ja) * 2006-09-21 2012-04-04 株式会社沖データ 装置設定情報選択装置
JP5517833B2 (ja) * 2010-08-24 2014-06-11 キヤノン株式会社 画像処理装置および画像処理方法
JP5665429B2 (ja) * 2010-08-31 2015-02-04 キヤノン株式会社 情報処理装置、エラー表示方法、及びプログラム
CN103905852B (zh) * 2014-04-17 2017-11-10 珠海迈科智能科技股份有限公司 一种芯片模块适配系统和方法
JP6434775B2 (ja) * 2014-10-14 2018-12-05 キヤノン株式会社 画像形成装置およびその制御方法、並びにプログラム
CN111200578A (zh) * 2018-11-16 2020-05-26 华为技术有限公司 一种通信方法、客户端设备及服务端设备
JP7353926B2 (ja) 2018-11-29 2023-10-02 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161110A (en) * 1990-02-27 1992-11-03 Atlantic Richfield Company Hierarchical process control system and method
US5710635A (en) * 1995-12-06 1998-01-20 Xerox Corporation Generic assembly trees providing job control and mix and match of modules
US6327051B1 (en) * 1995-12-22 2001-12-04 Canon Kabushiki Kaisha Printing control apparatus and method
US5933646A (en) * 1996-05-10 1999-08-03 Apple Computer, Inc. Software manager for administration of a computer operating system
US6513073B1 (en) * 1998-01-30 2003-01-28 Brother Kogyo Kabushiki Kaisha Data output method and apparatus having stored parameters
EP0975145B1 (en) * 1998-07-22 2008-07-30 Canon Kabushiki Kaisha Information processing system and information processing method
US6158002A (en) * 1998-08-14 2000-12-05 Adaptec, Inc. Method and apparatus of boot device switching by a floppy disk
JP4392906B2 (ja) * 1998-08-28 2010-01-06 キヤノン株式会社 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品
JP2000148417A (ja) * 1998-09-07 2000-05-30 Fuji Xerox Co Ltd 印刷処理方法および装置
US6851068B2 (en) * 2001-01-17 2005-02-01 Sun Microsystems, Inc. System for remotely controlling power cycling of a peripheral expansion subsystem by a host
US7325235B2 (en) * 2001-10-23 2008-01-29 Canon Kabushiki Kaisha Data processing apparatus, data processing method, program, and storage medium
US7428559B2 (en) * 2001-12-13 2008-09-23 Microsoft Corporation Versioning model for software program development
US20030126316A1 (en) * 2001-12-27 2003-07-03 Abbie Parker System and method for print outcome notification

Also Published As

Publication number Publication date
JP2005063114A (ja) 2005-03-10
US20050094196A1 (en) 2005-05-05

Similar Documents

Publication Publication Date Title
JP4379577B2 (ja) 周辺機器制御装置、周辺機器制御方法および周辺機器制御プログラム
JP2006268752A (ja) 複数のバージョンに対応したモジュールの起動
US20080273215A1 (en) Printing system, printing system control method, program and storage medium
JP2006041940A (ja) 画像形成装置設定プログラム、画像形成装置設定装置、画像読取装置設定プログラム、および画像読取装置設定装置
JP4344921B2 (ja) Ui制御装置、ui制御方法、ui制御プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP5415836B2 (ja) 記録制御装置、制御方法、及びプログラム
JP4420183B2 (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
US7548938B2 (en) File management device, printer, and file management method
US20070146763A1 (en) Printing control device and printing control method
US20050254092A1 (en) Method for printing image in voluntary template paper, print management apparatus and print system using the same
JP4215987B2 (ja) 印刷制御方法
US20040239955A1 (en) Print job creation apparatus and print job creation method
US11055044B2 (en) Printing apparatus and method for setting and storing print job condition
WO2004021164A1 (ja) 印刷制御装置、印刷制御方法、印刷制御プログラム、印刷制御プログラムを記録した媒体、画像処理装置、画像処理コンピュータ
US8270014B2 (en) Printing method, recordable medium recorded with a program to execute the method and host apparatus
JP4774805B2 (ja) ファイル検索装置、印刷装置、ファイル検索方法及びそのプログラム
JP2005063111A (ja) Ui制御装置、ui制御方法、ui制御プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP2005063112A (ja) 駆動条件取得装置、駆動条件取得方法、駆動条件取得プログラム、印刷制御装置、印刷制御方法、印刷制御プログラムおよびデータ構造
US8310712B2 (en) Image forming controlling apparatus, image forming controlling method, and image forming controlling program embodied on computer readable recording medium
US8274689B2 (en) Image processing apparatus, computer-readable recording medium, and method for acquiring and outputting an image
US20050024653A1 (en) Print file editing method and apparatus and color image forming system employing the same
JP2005228202A (ja) 駆動条件設定装置、駆動条件設定方法、駆動条件設定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP2005258630A (ja) データ転送装置、データ転送方法、及びプログラム
JP2005125730A (ja) 画像処理装置及び印刷方法
JP2001301286A (ja) 印刷システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090401

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091124

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees