以下に添付図面を参照して、この発明にかかる情報処理装置、印刷設定方法、印刷設定プログラム及び記録媒体の一実施の形態を詳細に説明する。
図1は、本実施の形態に係る印刷システムの構成を例示する図である。同図に示されるように、印刷システムは、情報処理装置50と、プリンタ100とがケーブルで直接接続され又はネットワークを介して接続されて構成される。ネットワークとは、例えば、LAN(Local Area Network)、イントラネット、イーサネット(登録商標)又はインターネットなどである。情報処理装置50は、印刷条件を示し、画像の印刷を指示する印刷データをプリンタ100に送信する。プリンタ100は、情報処理装置50から送信された印刷データに基づいて印刷を行う。尚、プリンタ100は、このような印刷を行うプリンタ機能の他、コピー機能、ファクシミリ機能及びスキャナー機能のうち少なくとも1つを備えていても良い。また、同図では、プリンタ100は3つ図示されているが、少なくとも1つであれば良く、4つ以上であっても良い。
ここで、情報処理装置50のハードウェア構成について説明する。本実施の形態の情報処理装置50は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、情報処理装置50には、情報を表示する表示部と、ユーザの操作入力を受け付けるキーボードやマウス等の操作入力部と、外部装置の通信を制御する通信I/F(interface)とが有線又は無線により各々接続される。
次に、このようなハードウェア構成において、情報処理装置50の機能的構成について図2を用いて説明する。ここでは印刷に係る機能的構成を主に説明する。情報処理装置50は、アプリケーション51と、グラフィックエンジン52と 、プリンタドライバ53と 、スプーラ54と、印刷ジョブ管理モジュール55と、印刷中間ファイル記憶部62と、自動印刷設定情報記憶部63と、印刷設定履歴情報記憶部64とを有する。アプリケーション51と、グラフィックエンジン52と、プリンタドライバ53と 、スプーラ54と、印刷ジョブ管理モジュール55とは各々、情報処理装置50の有する主記憶部や補助記憶部に記憶されたプログラムであり、情報処理装置50の有するCPUによって実行されることにより、各種機能を実現させる。印刷中間ファイル記憶部62と、自動印刷設定情報記憶部63と、印刷設定履歴情報記憶部64とは各々、情報処理装置50の有する主記憶部や補助記憶部に確保される記憶領域である。自動印刷設定情報記憶部63は、集約印刷設定や印刷用紙サイズ設定等の印刷に係る印刷条件を決定するための後述の自動印刷設定情報を記憶する。印刷設定履歴情報記憶部64は、後述の印刷設定履歴情報を記憶する。
アプリケーション51は、例えば、文書を表す文書データを生成するワードプロセッサソフトや表計算ソフト等のアプリケーションプログラムである。アプリケーション51は、ユーザの操作入力により、文書データの印刷が指示されると、グラフィックエンジン52の関数を呼び出すことにより、アプリケーション固有の形式で表現された文書データを、アプリケーション非依存のデータ形式で表現されたデータ(以下、描画データという)へと変換させる。描画データは、例えば、EMF形式等で表現されたデータであり、文書を画像として表すデータである。描画データでは、印刷ジョブに関する各種ジョブ属性や、印刷条件が指定される。ジョブ属性としては、例えば、描画データでの画像のサイズに応じた原稿サイズや、ページ数がある。尚、本発明におけるページ数は、描画データのページ数のことであり、本発明では描画データのようにアプリケーションで作成される電子データ(印刷条件が反映されていない電子データ)に対するページ数と、実際に印刷用紙に出力される印刷用紙の枚数(印刷枚数)とを分けて取り扱う。このように表記を分けるのは、例えば両面印刷や集約印刷等の印刷条件に従って印刷を行うと一枚の印刷用紙に複数のページ数が印字されて出力され、ページ数と印刷枚数とが一致しない場合があるからである。本発明では、印刷条件の設定等の際にページ数と印刷枚数とをそれぞれ用いることがあるため、上述のように表記を分けてそれぞれの情報を取り扱う。印刷条件とは、例えば、印刷用紙サイズや、集約印刷の有無や、集約印刷時の集約枚数や、両面印刷の有無等を指定するものである。グラフィックエンジン52 は、プリンタ100や表示部として用いられるディスプレイ等の各種デバイスの種別による差違を吸収した描画用の関数インタフェースをアプリケーション51 に提供するモジュールである。グラフィックエンジン52は、アプリケーション51からの関数呼び出しに応じ、文書データを描画データに変換し、生成した描画データをプリンタドライバ53に出力する。なお、グラフィックエンジン52は、例えば、Windows(登録商標)環境においてはGDI(Graphics Device Interface)が相当する。
プリンタドライバ53は、基本的に、情報処理装置50に接続されているプリンタ100毎にインストールされ、グラフィックエンジン52より出力された描画データを、当該プリンタドライバ53が対応するプリンタ100に解釈可能な形式( 例えば、PDL(PageDescriptionLanguage))で表現された印刷データへ変換する。尚、本実施の形態におけるプリンタドライバ53は、描画データを印刷データに変換する過程において、印刷データの前段階の印刷中間データを生成し、当該印刷中間データを印刷中間ファイル記憶部62に記憶させる。印刷中間データは、印刷対象の画像や印刷条件やジョブ属性を識別できるものであれば、どのような形式で表現されても良い。プリンタドライバ53は、印刷中間データの印刷中間ファイル記憶部62への記憶が完了すると、その印刷中間データのファイル名(以下、印刷中間ファイル名という)等を引数として、印刷ジョブ管理モジュール55を起動して、印刷条件を確定させ、印刷ジョブ管理モジュール55から後述の印刷設定コマンドが付加されて印刷中間データが出力されると、当該印刷中間データを印刷データに変換して、スプーラ54に出力する。
印刷ジョブ管理モジュール55は、プリンタドライバ53から引数として渡されたファイル名の印刷中間データを印刷中間ファイル記憶部62から読み出し、当該印刷中間データに基づくプレビューイメージの表示や、印刷中間データに対する各種印刷条件の設定を行わせるためのGUI(Graphical User Interface)(印刷設定画面という)を提供し、印刷設定画面上における印刷条件の設定が完了すると、印刷中間データに対して当該印刷条件の設定を指示する印刷設定コマンドを付加して、プリンタドライバ53に出力する。スプーラ54は、プリンタドライバ53から出力された印刷データを一時的に蓄積して、プリンタ100に順次送信する。この結果、プリンタ100で印刷データが用いられて印刷が行われ、印刷物が得られる。
ここで、印刷ジョブ管理モジュール55の詳細な構成について説明する。印刷ジョブ管理モジュール55は、印刷設定モジュール56と、印刷設定画面生成モジュール57と、印刷中間データ管理モジュール58とを有する。印刷設定モジュール56は、後述の印刷中間データ管理モジュール58の指示に応じて、印刷中間データによって示される印刷条件及びジョブ属性の全部又は一部を示す印刷設定情報を取得する。また、取得した印刷設定情報と印刷中間データ管理モジュール58が読み出した自動印刷設定情報とに基づいた印刷設定情報を生成する。印刷設定画面生成モジュール57は、後述の印刷中間データ管理モジュール58の指示に応じて、印刷設定画面を生成したり変更したりする。
印刷中間データ管理モジュール58は、プリンタドライバ53から引数として渡されたファイル名の印刷中間データを印刷中間ファイル記憶部62から読み出し、これを印刷設定モジュール56に渡して、印刷設定情報の取得あるいは生成を指示したり、印刷設定情報及び自動印刷設定情報記憶部63に記憶された自動印刷設定情報を読み出したり、印刷設定モジュール56に印刷設定情報と自動印刷設定情報を用いた集約設定及び印刷用紙サイズ設定等の印刷条件の設定処理を指示したり、設定処理後の印刷条件を取得して、印刷条件に応じたプレビュー画像及び当該印刷条件の設定を表す印刷設定画面の生成を印刷設定画面生成モジュール57に指示してこれを表示部に表示させたり、印刷設定画面上における印刷条件の設定の変更に応じて、印刷設定画面の変更を印刷設定画面生成モジュール57に指示してこれを表示部に表示させたり、印刷設定画面上における印刷を指示する操作入力に応じて、印刷設定画面においてその設定が表される印刷条件を印刷に用いる印刷条件として確定したり、確定した印刷条件及びジョブ属性の全部又は一部を示す印刷設定情報を印刷設定履歴情報として印刷設定履歴情報記憶部64に記憶させたり、当該印刷設定履歴情報に応じて、自動印刷設定情報を変更したりする。印刷中間データ管理モジュール58は、このような機能を実現させるための機能として具体的に、プレビューイメージ生成部59と、自動印刷設定情報管理部60と、印刷設定履歴情報管理部61とを有する。
プレビューイメージ生成部59は、印刷中間ファイル記憶部62に記憶された印刷中間データを用いて、印刷中間データに基づいて印刷が指示される画像について、印刷条件に応じて、集約設定処理及び印刷用紙サイズ設定処理後の印刷条件に応じて、印刷設定画面において表示させるプレビュー画像を生成する。
自動印刷設定情報管理部60は、後述の自動印刷設定情報記憶部63に記憶された自動印刷設定情報を読み出したり、印刷設定履歴情報記憶部64に記憶された印刷設定履歴情報に応じて、自動印刷設定情報を更新(変更)したりする。自動印刷設定情報をどのように更新するかは後述する。
ここで、自動印刷設定情報について説明する。図3は、自動印刷設定情報の設定画面例である。自動印刷設定情報は、基本設定と例外設定とで構成される。基本設定とは印刷中間データの印刷条件を設定するための情報であり、図3では、集約印刷の設定内容と印刷用紙サイズの設定内容が設定されている。つまり、自動印刷設定情報が基本設定のみで構成されていた場合には、印刷中間データの印刷条件のうち、基本設定の設定項目(図3においては「集約」と「印刷用紙サイズ」が設定項目にあたる。)に該当する印刷条件については、基本設定における設定内容(図3においては集約ならば「2in1」、印刷用紙サイズならば「A4」が該当する。)が設定される。例えば、アプリケーション51において印刷指示の際に設定された印刷条件のうち「集約」の設定が「集約なし」となっていた場合には、印刷設定モジュール56によって「集約」の設定が「2in1」に変更される。印刷用紙サイズにおいても同様に、基本設定における設定内容が印刷指示の際に設定された印刷条件よりも優先される。このように、基本設定に従った印刷条件を適用することで、自由な印刷条件による印刷を抑制することができる。なお、アプリケーション51において印刷指示の際に設定された「集約」の設定が「4in1」や「8in1」となっていた場合には、基本設定における設定値「2in1」への変更を行なわないようにしてもよい。つまり、同じ印刷中間データに対して、集約の設定が「2in1」よりも「4in1」や「8in1」の方が消費する印刷用紙が少ないため「2in1」への変更を行なわない方が印刷用紙の消費を抑えられる。従って、基本設定よりも印刷用紙を消費する可能性のある設定値であった場合にのみ、設定を変更するように基本設定を適用することも可能である。なお、集約設定とは、集約印刷の際に少なくとも1枚の印刷用紙の面に面付けするページ数である。「2in1」であれば、2ページ分のページ数の印刷中間データが1枚の印刷用紙の1面(表面あるいは裏面)に印刷される。「4in1」であれば4ページ分の印刷中間データが印刷用紙の1面に、「8in1」であれば8ページ分の印刷中間データが印刷用紙の1面に印刷される。
例外設定とは、例外的に基本設定による印刷条件の設定ではなく例外設定による印刷条件の設定を優先させるための情報である。図3の例に基づいて説明すると、設定1では、印刷中間データの「印刷枚数」が「1枚」であれば、「集約」の設定は「集約なし」で設定され、集約処理の行われていない(1枚の用紙に1ページのデータを印字する)印刷中間データが出力されることとなる。ここで、印刷枚数とは、ジョブ属性のページ数と印刷条件のうち集約設定以外の印刷設定(印刷用紙1枚の表面と裏面の両面に印刷するか、片面のみに印刷するかの設定である両面印刷の有無に関する設定等)によって求めることができる。例えば、片面印刷が設定されていれば、印刷枚数はページ数と同じ枚数になるが、両面印刷が設定されていれば、印刷用紙の表面と裏面のそれぞれに1ページ分の印刷中間データが印刷されることとなるため、印刷枚数はページ数の半分になる(但し、奇数の場合は繰り上げた枚数になる)。このように、集約設定以外の印刷設定に従って印刷中間データを印刷用紙に印刷した場合に、必要とされる印刷用紙の枚数が印刷枚数である。印刷枚数が1枚であれば、印刷中間データを集約して出力した場合も集約しないで出力した場合も消費する印刷用紙は1枚であり、集約しないで出力した方が見やすいため、集約を行わないようにするのが設定1の例外設定である。設定2では、印刷中間データの原稿サイズが印刷用紙サイズよりも大きい時に、集約の設定を「4in1」にする例外設定である。設定3は、印刷中間データの印刷用紙サイズを基本設定で設定されている印刷用紙サイズに変更すること適用しない例外設定である。例外設定に関してはチェックボックス301が用意され、設定1及び設定2のようにチェックボックスがチェックされていれば例外設定を適用し、設定3のようにチェックボックスにチェックがされていなければ例外設定が適用されない。図3の例では、設定3が適用されないため、印刷用紙サイズについては基本設定が適用される。尚、基本設定および例外設定は上述した内容に限らず、印刷条件の設定に関する情報であれば適用が可能である。上述以外の例として、基本設定を「両面」にすることで、印刷指示の際の印刷中間データの印刷条件が片面印刷であった場合に両面印刷へと変更することや、印刷設定を両面に変更した場合には、集約設定の設定内容を緩和する(「2in1」の設定となるところを例外的に集約無しにする、また「4in1」の設定になるところを例外的に「2in1」にする、また「8in1」の設定になるところ「4in1」とする)等がある。また、自動印刷設定情報は、例えば、iniファイルの形式で設定され、自動印刷設定情報記憶部63に記憶されていてもよく、どのような方法や形式で記憶されるかによって本発明が限定されるものではない。
印刷設定履歴情報管理部61は、印刷設定画面上における印刷を指示する操作入力に応じて、確定された印刷条件及びジョブ属性の全部又は一部を示す印刷設定情報を印刷設定履歴情報として印刷設定履歴情報記憶部64に記憶させる。また、印刷設定履歴情報記憶部64に記憶されている印刷設定履歴情報から、条件に一致する印刷設定履歴情報を取得し、自動印刷設定情報管理部60に当該印刷設定履歴情報に基づく自動印刷設定情報の更新(変更)を要求する。
次に、本実施の形態にかかる情報処理装置50の行う印刷設定処理の手順について図4を用いて説明する。情報処理装置50は、アプリケーション51の機能により、例えばメニュー形式でプリンタダイアログを表示部に表示させ、印刷条件の設定等を行い、1つのプリンタ100を出力先として文書データ(印刷の対象となる印刷対象データ)の印刷を指示する操作入力が操作入力部を介してユーザにより行われると、上述したように、グラフィックエンジン52の機能により、アプリケーション51が生成した文書データを描画データに変換し、プリンタドライバ53の機能により、描画データを印刷データに変換する過程において、印刷中間データを生成し、印刷中間ファイル記憶部62に生成した当該印刷中間データを格納する。印刷中間データ管理モジュール58は印刷中間ファイル記憶部62に格納された印刷中間データを読み出し、印刷設定モジュール56に対して当該印刷中間データの印刷設定情報の取得あるいは生成を要求する。印刷設定モジュール56は印刷中間データによって示される印刷条件及びジョブ属性の全部又は一部を取得して印刷設定情報を生成する(ステップS1)。ここで、取得あるいは生成と表記したのは、印刷中間データによって示される印刷条件及びジョブ属性のなかに印刷設定情報が全て含まれていれば取得のみで済むが、全て含まれていない場合には取得した印刷条件及びジョブ属性を用いて含まれない印刷設定情報を生成する(算出する)処理が必要となるからである。取得のみで済むか、生成処理も必要となるかは、用いられる印刷条件、ジョブ属性及び印刷設定情報の内容によるが、いずれにしても印刷設定情報は、印刷中間データから取得可能な印刷条件及びジョブ属性に基づいて取得または生成することが可能な情報である。次に印刷中間データ管理モジュール58の自動印刷設定情報管理部60は自動印刷設定情報記憶部63に記憶された自動印刷設定情報を読み出す(ステップS2)。次に、印刷中間データ管理モジュール58は取得した自動印刷設定情報を印刷設定モジュール56に渡し、印刷設定モジュール56は、印刷設定情報及び自動印刷設定情報を用いて、印刷条件(印刷設定)の設定処理を行う(ステップS3)。
ここで、印刷条件の設定処理の詳細について説明する。この印刷条件の設定処理は自動印刷設定情報によって示される基本設定及び例外設定によって異なるが、ここでは図3に例示される自動印刷設定情報の場合について図5を用いて説明する。印刷条件の設定処理のフローは大きく基本設定に基づく設定処理(S20)と例外設定に基づく設定処理(S21)とに分けて考えることができる。印刷設定モジュール56は、自動印刷設定情報の基本設定によって示される設定内容について、印刷中間データの印刷設定情報が一致しているか否かを判定し、一致していない場合には、一致していない設定内容を基本設定の設定内容に変更し、一致していれば印刷中間データの印刷設定情報を変更せずに印刷設定情報(基本設定適用後の印刷設定情報)を作成する。具体的には、印刷中間データの集約設定が「2in1」であるか否かを判定し、「2in1」でなければ集約設定の設定内容を「2in1」に変更する。この時、上述したように集約設定が「4in1」や「8in1」のように、より印刷用紙の消費を抑制する設定であれば、変更をしないようにしてもよく、その場合には印刷中間データの集約設定が、基本設定の集約設定よりも印刷用紙1面に印刷するページ数の少ない設定となっているか否かを判定すればよい。次に印刷中間データの印刷用紙サイズが「A4」サイズで設定されているか否かを判定し、「A4」サイズでなければ印刷用紙サイズの設定内容を「A4」に変更する。こうして基本設定の内容が適用された印刷設定情報の一例が図6(b)の「基本設定適用」と記された印刷設定情報である。図6は、印刷設定情報の一例を示す図である。
次に、例外設定に基づく設定処理(S21)を行う。印刷設定モジュール56は例外設定の各設定を適用するか否かを判断すべく、適宜印刷条件に印刷設定情報が該当するか否かを判断し、例外設定で設定されている印刷条件に当該印刷設定情報を変更する。該当するか否かを判断する対象となる印刷設定情報を、印刷指示時の印刷設定情報(図6(a))とするか基本設定が適用された印刷設定情報(図6(b))とするかは任意に設定できるが、ここでは基本設定が適用された印刷設定情報に基づいて判断を行うものとする。設定1の印刷条件に基づいて、印刷設定モジュール56は印刷設定情報によって示される印刷枚数が「1」か否かを判断する。当該判断により印刷枚数が「1」であれば印刷設定モジュール56は、集約印刷をしないことを指定する印刷条件に適宜変更する。ページ数が「1」でない場合、印刷設定モジュール56は印刷設定情報を変更しないで次の例外設定(設定2)の判断に移行する。ここでは図6(b)の印刷設定情報に従い印刷枚数が「2」であるため、印刷設定情報の印刷条件(集約設定)は変更されずに次の判断に移行する。次に、設定2に基づいて印刷用紙サイズを基本設定に変更しないようにするか否かを判断するが、ここでは図3に従い設定2のチェックボックスはチェックされていないため(設定2を適用しない旨の設定がなされているため)当該判断はスキップされて、次の例外設定(設定3)の判断に移行する。印刷設定モジュール56は設定3に基づいて、印刷設定条件の原稿サイズが印刷用紙サイズより大きいか否かを判断する。当該判断により原稿サイズが印刷用紙サイズよりも大きい場合には、該当する印刷条件に印刷設定情報を変更し(図3では集約設定を「4in1」にする設定となっている。)、該当しなければ印刷設定条件を変更しない。ここでは図6(b)の印刷設定情報に従い原稿サイズ「A3」の方が印刷用紙サイズ「A4」よりも大きいため、集約設定は「4in1」に設定される。このように、例外設定で定められている各設定に従って印刷設定情報を変更したものが図6(c)となる。なお、例外設定における判断から、複数の設定を順次適用していった結果、片方の設定が適用されなくなってしまう場合が考えられる。例えば、印刷設定情報が設定1と設定3に該当した場合に、設定1では集約設定を「集約なし」に設定する旨が定められ、設定3では集約設定を「4in1」に設定する旨が定められているため、どちらかの集約設定しか設定を適用することができないため、意図しない印刷設定情報が設定される可能性がある。そのため、各例外設定に対して優先度を定め、優先度の高い設定内容を適用するような方法が考えられる。本発明では、図3を用いて便宜的に設定が上位にあるものを優先するような制御を行うものとするが、優先度の設定方法はこれに限らず、例えば別途優先度を設定するような設定画面を生成し、優先度を設定するようにしてもよい。
当該制御を説明するための例として、図7に基づいた自動印刷設定処理を図8の印刷設定情報に従って説明する。図7は、自動印刷設定情報の設定画面例を示す図である。図8は、印刷設定情報の一例を示す図である。
図8の印刷設定情報は、印刷指示時の印刷設定情報(図4S1において取得される印刷設定情報)として原稿サイズ「A3」、印刷枚数「1」、集約設定「集約なし」、印刷用紙サイズ「A3」が設定されている(図8の(A)の印刷設定情報)。また、S20における基本設定の適用までの処理は上述したものと変わらず、集約設定が「集約なし」から「2in1」に、印刷用紙サイズ「A3」が「A4」に変更されている(図8の(B)の印刷設定情報)。次に、印刷設定モジュール56は、例外設定の設定1に基づいて、印刷枚数が「1」か否かを判断し、ここでは印刷枚数が「1」であるため、印刷設定情報の集約設定を「集約なし」に設定する(図8の(C)の印刷設定情報)。この時、印刷設定情報の集約設定に関しては例外設定1が適用されたことを示すフラグが付される。図8の(C)では便宜上、集約設定の欄に「(設1)なし」と記すことで例外設定1が適用されて「集約なし」と設定されたことを表しているが、どのようにして印刷条件にどの例外設定が適用されたかの情報を管理するかの方法はこの例に限定されない。また、例外設定の適用によって設定される印刷条件が、例外設定の適用前と適用後で変更しない場合にも(例えば適用前が「集約なし」で適用後も「集約なし」の印刷条件だった場合)、例外設定が適用された(該当した)旨を表すためにフラグを付すようにする。このようにすることで、優先度の低い例外設定によって印刷条件が意図せず変更されてしまうことを防ぐことができる。次に例外設定の設定2に従って、原稿サイズが印刷用紙サイズよりも大きいか否かを判断し、ここでは原稿サイズの方が印刷用紙サイズよりも大きいと判断されるため、印刷設定モジュール56は設定2の印刷条件を適用して集約設定を「4in1」に設定する旨の判断を下すが、印刷条件の集約設定に付されているフラグから、例外設定1が適用され集約設定が設定されたと判断できるため、優先度の低い設定2を適用した集約設定「4in1」には設定されず、そのままの印刷設定情報となる(図8の(D)の印刷設定情報)。そして例外設定の設定3に従って、印刷用紙サイズを原稿サイズに設定する処理を行う。図8の(E)では印刷条件の印刷用紙サイズに対する設定が原稿サイズと同じ「A3」となっており、例外設定の設定3が適用されたことを記す「(設3)」が付されている。このように、例外設定の設定が複数項目あった場合にも、優先度に基づいた自動印刷設定処理が行われることで、柔軟かつ適切な印刷設定の変更処理を行うことができる。
図4の説明に戻る。印刷設定モジュール56は、以上のような印刷条件の設定処理を行った後、集約設定や印刷用紙サイズ設定等の印刷条件を印刷中間データ管理モジュールに渡し、印刷中間データ管理モジュール58のプレビューイメージ生成部59は受信した印刷条件に基づいたプレビュー画像を生成する(ステップS4)。次に生成したプレビュー画像を印刷設定画面生成モジュール57に渡し、当該プレビュー画像を受信した印刷設定画面生成モジュールは当該プレビュー画像及び当該プレビュー画像の印刷中間データに対する印刷条件の設定を受け付けるための印刷設定画面を生成してこれを表示部に表示させる(ステップS5)。
図9は、印刷設定画面を例示する図である。同図においては、プレビュー画像G1が表示されると共に、印刷設定モジュール56により設定された印刷条件に基づいて2in1の集約印刷を行うことが条件J1で指定され、印刷用紙サイズがA4であることが条件J2で指定されている。印刷条件においては、この他、印刷部数や、白黒印刷や、両面印刷や、ソート印刷等の当該印刷中間データに設定される各印刷設定が指定されている。このような印刷設定画面においては、図3の自動印刷設定情報によって印刷条件が自動的に設定され、さらに自動的に設定された印刷条件を反映したプレビュー画像が表示されているため、ユーザは出力される印刷物のイメージを視認することができ、かつTCO削減やユーザの利便性を考慮した印刷設定のための操作入力をいちいち行う必要がない。尚、このような印刷設定画面においてユーザは操作入力部を介し印刷条件の全部又は一部を変更する操作入力を行うことが可能である。印刷設定画面において印刷条件の全部又は一部を変更する操作入力があった場合(ステップS6:YES)、印刷設定画面生成モジュール57は、変更を受け付けた印刷条件を印刷中間データ管理モジュール58に送信し、印刷中間データ管理モジュール58のプレビューイメージ生成部59は受信した印刷条件に応じたプレビュー画像を生成して印刷設定画面生成モジュール57に当該プレビュー画像を送信し、印刷設定画面生成モジュール57は当該プレビュー画像及び変更された当該印刷条件の設定を表すよう印刷設定画面を変更してこれを表示部に表示させる(ステップS7)。このようにして印刷設定画面において印刷条件の設定が行われる。
その後、印刷設定画面において印刷を指示する操作入力があった場合(ステップS8:YES)、情報処理装置50は、印刷設定画面においてその設定が表される印刷条件を印刷に用いる印刷条件として確定する。そして、印刷設定画面生成モジュール57は受け付けた印刷指示を印刷中間データ管理モジュール58に送信し、印刷中間データ管理モジュール58は、確定した印刷条件の設定を指示する印刷設定コマンドを印刷中間データに付加してプリンタドライバ53に出力し、プリンタドライバ53は受信した当該印刷中間データおよび印刷条件に基づいて、当該印刷中間データを印刷データに変換して、これをスプーラ54に一時的に蓄積して、プリンタ100に順次送信する。この結果、プリンタ100で印刷データが用いられて印刷が行われ、印刷物が得られる。また、印刷中間データ管理モジュール58は、印刷設定画面生成モジュール57から印刷指示を受け付けた際の印刷設定情報(自動印刷設定処理後の印刷条件あるいは自動印刷設定処理の後に変更された印刷条件)を印刷設定履歴情報として印刷設定履歴情報記憶部64に記憶させる(ステップS9)。図10は、印刷設定履歴情報を例示する図である。同図の例では、印刷日時や、原稿サイズや、ページ数や、印刷枚数や、集約印刷の設定内容や、印刷用紙サイズの設定内容が印刷設定履歴情報によって示されている。
また、情報処理装置50は、印刷設定履歴情報記憶部64に記憶された印刷設定履歴情報を用いて、自動印刷設定情報記憶部63に記憶された自動印刷設定情報を適宜更新(変更)する処理を行う(ステップS10)。なお、自動印刷設定情報の更新処理のタイミングは、図4にあるような印刷処理の一連の処理フローに含まれている場合に限らず、所定のタイミングで実行されてもよい。
図11は、自動印刷設定情報の更新処理の手順を示すフローチャートである。図10の印刷設定履歴情報の例に基づいて、図11の自動印刷設定情報の更新フローを説明する。印刷設定履歴情報管理部61は印刷設定履歴情報記憶部64を参照し(S31)、自動印刷設定情報の更新を行なう条件となる更新条件に該当する印刷設定履歴情報が存在するか否かを判断する(S32)。判断の結果、更新条件が該当する印刷設定履歴情報が存在すれば、自動印刷設定情報管理部60に更新を要求し、該当する印刷設定履歴情報が存在しなければ更新は要求されずに更新処理フローは終了する。ここでは、印刷設定履歴情報の中に、2回以上連続して同じ内容の印刷設定履歴情報があった場合に、当該印刷設定履歴情報に基づいた自動印刷設定情報の更新処理を行うように更新条件が設定されているものとするが、更新条件についてはこれに限らない。例えば、印刷設定履歴情報記憶部64に記憶されている印刷設定履歴情報のうち最新のものから順に所定数の印刷設定履歴情報を参照し、同一の印刷設定履歴情報が所定数以上存在すれば、当該印刷設定履歴情報に基づく自動印刷設定情報の更新処理を実行するような更新条件を設定してもよい。つまり、更新条件は、印刷を利用する際の印刷条件あるいは印刷設定情報の傾向に基づいて、利用頻度の高い印刷条件あるいは印刷設定情報があれば、当該印刷条件をユーザの利用したい印刷条件であると判断して印刷設定情報の更新を行なう。このようにすることで、よりユーザの利便性を高めた自動印刷設定処理を行うことができるようになる。
図11の説明に戻る。図10の印刷設定履歴情報において、上から2番目と3番目の印刷設定履歴情報が同じ内容であるため(日時は除く)、印刷設定履歴情報管理部61は当該印刷設定履歴情報に基づく自動印刷設定情報の更新処理を自動印刷設定情報管理部60に要求する。つまり図10において、原稿サイズ「A3」、ページ数「2」、印刷枚数「1」、集約「2in1」、印刷用紙サイズ「A4」の印刷設定履歴情報に基づいて自動印刷設定情報の更新を要求する。自動印刷設定情報管理部60は、自動印刷設定情報の更新要求に応じて、当該印刷設定履歴情報に基づいた自動印刷設定情報の更新処理を行う。当該更新処理は、大きく例外設定に関する更新処理(ステップS33)と基本設定に関する更新処理(S34)に分けられる。
例外設定に関する更新処理は、例外設定が適用されている(チェックボックスが有効である)設定に対し、優先度の高い設定から順に更新の有無を判断する。ここでは例外設定および基本設定の設定内容は図7の設定を例にとって説明を進める。まず、例外設定の設定1の更新有無を判断するため、印刷設定履歴情報の印刷枚数が「1」であるか否かを判断する。印刷枚数が「1」以外であれば更新は不要と判断するが、ここでは印刷枚数が「1」のため設定1が適用されたものと判断し、設定1による印刷条件の設定内容項目にあたる集約設定の設定内容を参照する。集約設定の設定内容が「集約なし」であれば設定1の更新は不要と判断するが、ここでは「2in1」に設定されているため、自動印刷設定情報管理部60は例外設定の設定1の更新が必要と判断し、設定1のチェックボックスのチェックを外し、設定1を適用しない自動印刷設定情報に更新する。次に設定2の更新有無を判断するため、原稿サイズが印刷用紙サイズよりも大きいか否かを判断する。原稿サイズが印刷用紙サイズよりも大きくなければ、設定2の更新は不要と判断するが、ここでは原稿サイズ「A3」に対して印刷用紙サイズが「A4」であり、原稿サイズの方が大きいため、設定2による印刷条件の設定内容項目にあたる集約設定の設定内容を参照する。設定2による設定内容が「4in1」であるのに対し、印刷設定履歴情報の設定内容は「2in1」であるため、自動印刷設定情報管理部60は設定2の更新が必要と判断する。設定2は、設定1や設定3と異なり、集約設定の設定内容も設定することができるため、更新の方法として集約設定の設定内容を変更するか、設定2の適用を変更する(設定2を適用しないように変更する)かの二通りの方法が考えられるが、ここでは設定2の更新方法を決定するために、更に自動印刷設定情報に設定されている基本設定における集約設定の設定内容を参照する。参照の結果、基本設定における集約設定の設定内容と印刷設定履歴情報の集約設定の設定内容とが同じであれば、設定2を適用しないように例外設定を設定し、基本設定における集約設定の設定内容と印刷設定履歴情報の集約設定の設定内容とが異なっていれば、設定2の集約設定における設定内容を印刷設定履歴情報の集約設定における設定内容に設定する。ここでは、基本設定における集約設定と印刷設定履歴情報における集約設定の設定内容とが「2in1」で一致するため、例外設定の設定2を適用しないような更新処理を行う。なお、このような更新方法の判定は行わずに、自動的に設定2の集約設定の設定内容を変更するようにしてもよい。次に設定3の更新有無を判断するため、印刷用紙サイズが原稿サイズと同じか否かを判断する。印刷設定履歴情報の原稿サイズと印刷用紙サイズが同じであれば更新は不要と判断するが、ここでは原稿サイズが「A3」で印刷用紙サイズが「A4」のため、更新が必要と判断し、設定3を適用しないような更新処理を行う。このようにして例外設定に関する更新処理(ステップS33)が行われる。
例外設定に関する更新処理フローは図12のようにまとめて説明することができる。図12は、例外設定に関する更新処理の手順を示すフローチャートである。
まず、例外設定のうち適用されている各設定を特定し(S41)、特定された設定に対して優先度の順に更新の有無を判断する(S42)。各設定の更新有無の判断は、設定の内容から判断されるが、設定の内容について、印刷条件の設定を実行するにあたり印刷設定情報に基づいた判断が必要とされるもの(ここでは設定1および設定2が該当し、設定3は印刷設定情報の内容に依らずチェックボックスがチェックされていれば設定処理を実行するため該当しない。但し、ここでは設定前と設定後で設定内容が変わらない場合も含んで設定処理を実行するとしている。)に対しては、印刷設定履歴情報の内容が当該判断によって印刷条件の設定を実行するものか否かを判断する(S43)。そうでないものに対しては、判断をスキップして次の処理に進む(図12ではYESとみなして次の判断に進む)。例外設定の設定によって印刷条件の設定を実行しないような印刷設定履歴情報であった場合には更新処理は不要と判断され、他に適用している設定があれば(S48)、次に優先度の高い設定に対する更新処理に移行する(S49)。次にS43の処理でYESに進むと、印刷設定履歴情報の内容に従って印刷条件の設定が実行されるものと印刷設定履歴情報の内容に依らず印刷条件の設定が実行されるものとを含めて、実行される印刷条件の設定内容が印刷設定履歴情報の設定内容と一致するか否かを判断する(S44)。実行される印刷条件の設定内容が印刷設定履歴情報の設定内容と一致する場合には更新処理は不要と判断され、S48の処理に進む。一致しない場合には更新処理が必要であると判断されS45の処理に進む。例外設定のうち更新処理が必要とされる設定において、印刷条件の設定内容を変更できないもの(設定1は集約設定を「集約なし」に設定し、設定3は印刷用紙サイズを原稿サイズに設定する以外に印刷条件の設定内容を選択できないが、設定2は集約設定を「4in1」から「2in1」や「8in1」といった他の設定内容に選択できるため、ここでは設定1と設定3が該当する。)に対しては(S45でYES)、設定を適用しないような更新処理が行われる(S46)。一方、印刷条件の設定内容を変更できるもの(設定2が該当する。)に対しては(S45でNO)、設定を適用しないような更新を行うか、印刷条件の設定内容を変更するような更新を行なうかを基本設定の設定内容に基づいて判断し、当該判断に基づいて設定の更新を行う(S47)。更新処理が実行されるとS48に進み、他に適用されている設定があれば、次に優先度の高い設定を特定し(S49)、特定された設定に対してS43以下の処理を実行する。
例外設定に関する更新処理フロー(ステップS33)が終了すると、自動印刷設定情報管理部60は次に基本設定に関する更新処理を実行する(ステップS34)。図13は、基本設定に関する更新処理の手順を示すフローチャートである。
まず、更新処理後の例外設定を参照し(S51)、更新処理の反映後も適用されている設定で、かつ更新処理が実行された設定を特定する(S52)。更新処理が実行されたか否かに関しては、更新処理が実行された設定に対してフラグを立てておくことで認識することができる。次に、該当する例外設定において、設定の対象となっている印刷条件(ここでは集約設定と印刷用紙サイズのいずれかが対象となっているが自動印刷設定情報が設定できる印刷条件はこれに限らない。)を特定する(S53)。つまり、該当する例外設定が集約設定を設定するものであるか、印刷用紙サイズを設定するものであるかといったように、設定の対象となる印刷条件を特定する。次に、特定された印刷条件以外で、基本設定において設定の対象となる印刷条件を特定する(S54)。例えば、ここでは基本設定で集約設定および印刷用紙サイズの設定を行うことができるものとしているが、該当する例外設定が集約設定を設定するもののみであれば、集約設定以外で設定可能な印刷条件として印刷用紙サイズが特定される。次に特定された印刷条件と対応する印刷設定履歴情報の印刷条件の設定内容を参照する(S55)。そして、参照した印刷条件の設定内容に、基本設定の印刷条件の設定内容を更新する(S56)。このような処理を行うことで、印刷設定履歴情報に基づく更新処理において、例外設定では対応できない印刷条件の更新を基本設定において対応することができる。なお、S52で該当する例外設定がなければ、基本設定において設定可能な印刷条件の全てを対象にして、S55以下の処理が行われる。
図7の自動印刷設定情報に対して、図10の印刷設定履歴情報に基づいた更新処理を行った結果、自動印刷設定情報は図14のようになる。
上述したような処理により、印刷設定履歴情報に基づいた自動印刷設定情報の更新処理が行われるが、更新の方法はこれに限らない。例えば、例外設定の更新処理を行わずに基本設定において印刷条件の更新を行い、例外設定を適用しないような更新処理によって対応することも可能であるが、この場合、例外設定が適用されない状態になるため、本発明では上述したような更新処理フローを行った。また、ユーザが「集約なし」の集約設定や大きなサイズの印刷用紙での印刷を連続して行い、これが基本設定に反映されるとTCO削減を意識しないような基本設定となってしまう可能性があるため、基本設定に関しては更新を行わないようにすることもできる。この場合、図11のS33に記載するような例外設定の更新処理のみを実行した結果、自動設定される全ての印刷条件が印刷設定履歴情報を反映しない自動印刷設定情報となったとしても、そこで更新処理は終了することとする。
なお、自動印刷設定情報の更新を行う条件として、同じ印刷設定履歴情報が連続して2回以上行われた事を設定したが、これはユーザが印刷を実行するときに設定する印刷条件の頻度を観点として、頻度の高い印刷条件であれば印刷設定履歴情報を更新するようにしたものである。しかし、更新の条件は利用頻度の観点に限るものではなく、更に条件を付することも可能である。本発明はTCO削減を意識して自動的に印刷設定を変更あるいは設定することを目的の一つとしているが、例えば集約設定を「集約なし」に設定したり、ユーザがカラー印刷かモノクロ印刷かの設定を「カラー印刷」に設定したり、片面印刷か両面印刷かの設定を「片面印刷」に設定するなど、より印刷コストのかかる印刷条件の印刷設定履歴情報は更新処理の対象から外すように更新条件を設定することもできる。
そのように連続して2回以上行われた同一の印刷設定履歴情報(第1の更新条件を満たす印刷設定履歴情報)であっても印刷条件の内容(第2の更新条件)に従って更新処理の対象から外すような場合を、図15を用いて説明する。
図15の印刷設定履歴情報では、印刷設定履歴情報の項目として「日時」、「原稿サイズ」、「ページ数」、「印刷枚数」、「集約」、「印刷用紙サイズ」、「カラー/モノクロ」、「片面/両面」が存在し、各項目について実際に印刷が行われた印刷中間データの項目値が履歴として印刷設定履歴情報記憶部64に記憶されている。また、「日時」の異なる各印刷設定履歴情報に対して、上から数えて1番目と2番目の印刷設定履歴情報が「日時」を除く全ての項目の項目値が一致しており、3番目と4番目の印刷設定履歴情報が「日時」を除く全ての項目の項目値が一致しているため、連続して2回以上同一の印刷設定履歴情報が記録されている1番目と2番目の印刷設定履歴情報および3番目と4番目の印刷設定履歴情が第1の更新条件を満たしている(第1の更新条件では印刷設定履歴情報の各項目のうち「日時」の項目は除いて一致しているか否かを判断する。)。そこで、印刷設定履歴情報管理部61は第1の更新条件を満たした印刷設定履歴情報に対して、印刷条件の内容に基づき第2の更新条件を満たしているか否かの判断を行う。ここでは「カラー/モノクロ」の項目値が「カラー」であり(つまり、印刷条件の設定内容がカラー印刷である)、かつ「片面/両面」の項目値(設定内容)が「片面」である(つまり、印刷条件の設定内容が片面印刷である)印刷設定履歴情報を更新処理の対象から外すように第2の更新条件を設定する。ただし、第2の更新条件の設定はこれに限らず、例えば「集約なし」の項目値を加えたり(印刷条件の項目を増やす。)、また「カラー/モノクロ」の項目値が「カラー」であることのみを更新処理の対象から外す条件とする(1項目のみを判断材料とする)ことも可能である。そして第2の更新条件に従って、第1の更新条件を満たした各印刷設定履歴情報の印刷条件を参照することで、「カラー/モノクロ」の項目値が「カラー」であり、かつ「片面/両面」の項目値(設定内容)が「片面」である印刷設定履歴情報(1番目と2番目の印刷設定履歴情報)は更新処理の対象から外される。従って、印刷設定履歴情報管理部61は3番目と4番目の印刷設定履歴情報に基づいた自動印刷設定情報の更新処理を自走印刷設定情報管理部60に要求する。そして刷設定情報管理部60は、3番目と4番目の印刷設定履歴情報に基づいた自動印刷設定情報の更新処理を実行する。
以上のような構成によれば、集約印刷に係る最適な印刷条件を自動的に設定することができる。このため、ユーザの操作入力の手間を減らしつつ、ユーザの所望の集約印刷に係る印刷条件を設定することができる。この結果、集約印刷の頻度を高め、印刷に用いられる印刷用紙の枚数を低減させることで、TCO削減に貢献することができる。
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
上述した実施の形態において、情報処理装置50で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
上述した実施の形態において、自動印刷設定情報や印刷設定履歴情報は、上述の例に限らない。
上述した実施の形態において、情報処理装置50は、印刷条件に応じたプレビュー画像を生成して印刷設定画面において表示させるようにしたが、プレビュー画像を生成せず、印刷設定画面に表示させなくても良い。
上述した実施の形態において、情報処理装置50は、自動印刷設定情報によって設定される印刷条件やその設定内容は種々考えられる。図16はその一例を示す自動印刷設定情報の設定画面例である。基本設定には印刷条件として両面印刷に設定するかしないかの項目が増えており(ただし、両面印刷を設定しない基本設定であってもアプリケーションからの印刷指示時に既に両面印刷設定であれば両面印刷の設定を変えない。)、例外設定には「両面印刷であれば集約設定を1ランク緩和する」という内容の設定4が増えている。「両面印刷であれば集約設定を1ランク緩和する」というのは、例えば、集約設定が「集約なし」、「2in1」、「4in1」、「8in1」、「16in1」のような設定内容から選択される場合に、設定4を適用する前の集約設定が「4in1」である印刷中間データが両面印刷の設定となっていれば、集約設定を「2in1」とすることである。「16in1」で両面印刷の印刷中間データは設定4適用後に「8in1」となり、「8in1」で両面印刷の印刷中間データは設定4適用後に「4in1」となり、「2in1」で両面印刷の印刷中間データは設定4適用後に「集約なし」となり、「集約なし」で両面印刷の印刷中間データは設定4適用後に「集約なし」のままとなる。同じページ数の描画データを印刷用紙1面に1ページ印刷する場合において、両面印刷は片面印刷に比べると印刷用紙の消費が半分の枚数で済む(少数となる場合は繰り上げた印刷用紙枚数となる。)。そのため設定4では、片面印刷に比べて印刷用紙の消費を抑える設定である両面印刷の印刷中間データに対して、集約設定を緩和するような自動設定を行う。