[第1の実施の形態]
以下、本発明の実施の形態について図面を用いて説明する。本発明は、例えば、図1に示すような印刷システム100に適用される。本実施の形態の印刷システム100は、パーソナルコンピュータ等で起動可能なアプリケーションにより作成された文書や画像等の印刷データを印刷装置102で用紙上に印刷出力する前に、印刷プレビューを表示装置104で表示するように構成されている。以下、本実施の形態の印刷システム100の構成及び動作について具体的に説明する。
<印刷システム100の全体構成>
印刷システム100は、図1に示すように、ホストコンピュータ101に対して、印刷装置102、ハードディスク装置103、表示装置104、データ入力装置105、メディア読取装置106、及び通信制御装置107がそれぞれ接続された構成としている。
ホストコンピュータ101は、所定のシステムプログラムを実行することで、印刷システム100全体の動作制御及び監視を行う。具体的には例えば、ホストコンピュータ101は、後述するような、システムボード上に配置されたCPU(Central processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等を備え、CPUが、内蔵メモリ又は外付けのハードディスク103等から所要の処理プログラムを適宜から読み出して実行することで、印刷システム100全体の動作制御を司る。ここでは一例として、ホストコンピュータ101が実行する各種プログラムの格納先をハードディスク103としており、このハードディスク103には、本実施の形態における動作を実現するための処理プログラムや、印刷対象データを生成するための各種アプリケーションおよび印刷データを生成するプリンタドライバ等が格納されている。
尚、本実施の形態における動作を実現するための処理プログラム(プログラムコード)の格納先は、ハードディスク103や内蔵メモリに限られることはなく、例えば、CD−ROMやフレキシブルディスク等の可搬性記録媒体に対して、当該処理プログラムをホストコンピュータ101が読取可能な形態で記録して流通させ、印刷システム100の構築時において、メディア読取装置106、或いは通信制御装置107を介して、ホストコンピュータ101が当該処理プログラムを読み取ってハードディスク103にインストールするようにしてもよい。また、本実施の形態では、ホストコンピュータ101のOS(オペレーティングシステム)として、例えば、Windows(登録商標)を用いるものとするが、これに限られることはない。
印刷装置102は、ホストコンピュータ101から印刷データ共に印刷設定等の情報を受信すると、所定の印刷プロセスを実行することで、当該印刷データを印刷用紙上に印刷出力(画像形成)する。
印刷装置102としては、例えば、シリアルプリンタや、ページプリンタ、或いはその他の電子写真型プリンタ等の様々なプリンタを適用可能である。印刷装置102に対してホストコンピュータ101から送信される印刷データは、印刷装置102が処理可能な形式を持つ。たとえばページ記述言語を解釈実行可能な印刷装置に対しては、ページ記述言語で既述された印刷データを送信するし、ビットマップデータのみを処理可能な印刷装置に対しては、ビットマップデータを印刷データとして送信する。本実施形態では、印刷装置102はビットマップ形式のデータを受信して印刷するインクジェットプリンタとしている。また、印刷装置102とホストコンピュータ101の接続形態についても、例えば、スタンドアロン接続やネットワーク接続等の様々な接続形態を適用可能である。
表示装置104は、ホストコンピュータ101からのシステムプログラムやアプリケーション等の実行による指示に呼応して、所定のダイアログウィンドウを表示する。また表示装置104は、ホストコンピュータ101からの指示に従って本実施の形態の特徴である印刷プレビューを表示する。
データ入力装置105は、キーボード、マウス及びその他のポインティングデバイス等を含み、利用者からの各種指示を受け付け、これをホストコンピュータ101に伝える。データ入力装置105は、利用者から入力された、印刷装置102に対する印刷設定や印刷プレビューの表示条件(以下、「プレビュー表示条件」と言う)を、ホストコンピュータ101に伝える。表示装置104に表示されるダイアログウインドウをデータ入力装置105とが協働することで、利用者に対して印刷設定変更等のユーザインターフェースを提供する。
メディア読取装置106は、CD−ROMドライブ及びフレキシブルディスク(FD)ドライブ等を含む装置であり、CD−ROMやFD等の記録媒体から読み取った情報をホストコンピュータ101に供給する。
通信制御装置107は、例えば、印刷システム100と外部のネットワークを通信可能に接続するための接続インタフェースである。印刷装置102は通信制御装置107およびネットワークを介してコンピュータ101と接続されていてもよい。
<印刷システム100の機能構成>
図2は、ホストコンピュータ101が所定の処理プログラムを実行することで実現される印刷システム100の機能のうち、特に、印刷制御機能に着目したブロック図である。ホストコンピュータ101による印刷制御機能は、図2に示すように、アプリケーション201、GDI(Graphics Device Interface)202、ユーザインタフェースドライバ203、EMFスプールファイル204、プリントプロセッサ205、プリンタグラフィックスドライバ206、プレビューア208、及びプレビューファイル209により実現される。図2においては、GDI202、EMFスプールファイルはオペレーティングシステムにより提供されるプログラムモジュールであり、アプリケーション201は画像や文書、図形等のデータ(これらをまとめて文書データと呼ぶ。また、文書データが印刷のために出力される場合、その出力される文書データを印刷対象データと呼ぶこともある。)を作成して印刷する機能を有するプログラム一般である。
まず、ホストコンピュータ101による印刷制御機能に含まれる主なる機能について説明する。ユーザインタフェースドライバ203は、GDI202を介して、印刷装置(プリンタ)102に対して印刷設定を設定する機能を有する。具体的には例えば、ユーザインタフェースドライバ203は、印刷出力に使用する用紙サイズや用紙の種類、印刷出力する用紙を給紙するための給紙方法、及びその他の印刷設定を設定する機能を有すると共に、印刷を実行する前に表示装置104で印刷プレビューを表示するか否かを設定する機能を有する。ここでは、ユーザインタフェースドライバ203により、印刷を実行する前に表示装置104で印刷プレビューを表示する設定がなされたものとする。ただし、本実施形態におけるプレビュー表示とともに印刷設定の内容を表示し、設定内容の変更を可能ならしめる機能はプレビューア208により提供される。
プリントプロセッサ205は、EMFスプールファイル204に格納された印刷対象データを1ページ単位で処理する機能、及びプレビューア208を起動する機能を有する。
プリンタグラフィックスドライバ206は、印刷対象データを印刷装置(プリンタ)102で印刷出力可能なビットマップデータ形式の印刷データに変換する機能を有する。
プレビューア208は、プレビューファイル209に格納された印刷プレビューのためのデータ(プレビュー画像データ)211を表示装置104で表示する機能、及び、印刷設定を変更する機能を有する。
プレビューファイル209は、印刷プレビューを表示装置104で表示するにあたり、一時的に作成されるファイルであり、印刷プレビューデータ(プレビュー画像データ)209b、印刷設定情報209a、及びプレビュー表示条件情報209c等を含む。
<プレビュー処理>
次に、ホストコンピュータ101による印刷制御機能の一連の動作について、図2及び図11を参照して説明する。以下かっこ内の数字は図11の参照符号である。なおGDIについては図11では省略した。
まず、アプリケーション201は、利用者からの操作指示に従って、任意の文書を作成し、当該文書データ(印刷対象データ)の印刷実行を指示する。これにより、GDI202は、ユーザインタフェースドライバ203に対して、印刷開始のイベントを通知する(1101)。ユーザインターフェースドライバ203は、印刷開始のイベント通知に応じて、あらかじめ利用者により設定された印刷装置(プリンタ)102での印刷設定情報(デフォルト設定を含む。)をスプールファイル204に格納する(1102)。
これに続いて、あるいは、これとは非同期に、アプリケーション201は、文書データ(印刷対象データ)をGDI202を介してEMFスプールファイル204に格納する(1103)。
プリントプロセッサ205は、EMFスプールファイル204から印刷設定情報及び印刷対象データを取得する(1104)。そして、取得した印刷設定情報に「プレビュー表示」を実行することを示す情報が含まれていればプレビューア208を起動する(1105)。プリントプロセッサ205は、起動したプレビューア208と通信することで、表示装置104で印刷プレビューを表示するページ番号、及び印刷プレビューの表示に使用するプレビュー画像の解像度等のプレビュー表示条件を取得する(1106)。ページ番号は利用者がプレビュー対象として指定したページ番号や、あるいはデフォルトのページ番号(たとえば1)である。プレビュー画像の解像度は、たとえば表示装置104の解像度である。表示装置104の解像度とプレビュー画像の解像度とを一致させれば印刷サイズのプレビュー画像を表示できる。
そして、プリントプロセッサ205は、取得したページ番号に対応する印刷設定情報をEMFスプールファイル204から取得し(1107)、これをプレビューファイル209に格納する(1108)。さらに、プリントプロセッサ205は、GDI202を経由して、プリンタグラフィックスドライバ206に対して、プレビューファイル209のファイル名(以下、「プレビューファイル名」と言う。)、印刷設定情報、及びプレビュー表示条件を通知する(1109)。その後、印刷対象データをEMFスプールファイル204から取得し(1110)、この印刷対象データから、取得ページ番号に対応する印刷対象データ(以下、「印刷対象ページデータ」と言う)を生成し、これをGDI202に供給する(1111)。GDI202は印刷対象ページデータからグラフィックス描画コマンドを生成してプリンタグラフィックドライバ206に供給する。またプリントプロセッサ205は、プレビューア208に対して、プレビューファイル名を通知する(1115)。
プリンタグラフィックスドライバ206は、GDI202により印刷対象ページデータに基づいて作成されたグラフィックス描画コマンド、及び事前に(符号1109において)プリントプロセッサ205から通知された印刷設定情報及びプレビュー表示条件に基づいて、プリントプロセッサ205から供給された印刷対象ページデータから、印刷プレビュー表示用のビットマップデータ(以下、「プレビュー画像データ」と言う。)を生成する(1112)。
なお、ここで印刷装置102により印刷を行う際には、プリンタグラフィックドライバ206は、プレビュー画像データの代わりに印刷用のビットマップデータ(以下、「印刷画像データ」と言う。)を生成する。プリンタグラフィックスドライバ206で印刷画像データが生成された場合、プリンタグラフィックスドライバ206は、当該印刷画像データを、データ送信部(不図示)を経由して印刷装置(プリンタ)102に供給する。プリンタ102は、プリンタグラフィックスドライバ206から供給された印刷画像データを用紙(210)上に印刷出力する。
一方、プリンタグラフィックスドライバ206でプレビュー画像データが生成された場合、プリンタグラフィックスドライバ206は、事前に(符号1109において)プリントプロセッサ205から通知されたプレビューファイル名により、当該プレビュー画像データ209bをプレビューファイル209に格納する(1114)。
プレビューア208は、上述のように、利用者からのプレビュー表示条件の設定を受け付けてプリントプロセッサ205に当該設定プレビュー表示条件に適したプレビューファイル209の作成を要求し(1106)、それに対して、プリントプロセッサ205からプレビューファイル209のプレビューファイル名の通知を受け取ると(1115)、プレビューファイル209からプレビュー画像データを取得して(1116)、取得したプレビュー表示条件209cに基づいて、当該プレビュー画像データによる印刷プレビュー(211)を表示装置104で表示する(1117)。
さらに、プレビューア208は、プレビューファイル209から印刷設定情報209aを取得して(1118)、印刷設定の内容を表示装置104で表示すると共に(1119)、取得した印刷設定情報をユーザインタフェースドライバ203に通知することによって、各印刷設定において利用者が設定可能な選択肢の一覧(以下、「選択肢一覧情報」と言う)をユーザインタフェースドライバ203に問い合わせる(1120)。
ユーザインタフェースドライバ203は、プレビューア208から選択肢一覧情報の問い合わせを受けると、通知された印刷設定情報を用いて、予め内部で保持している選択肢一覧情報テーブル203aを参照して、現在の印刷設定における選択肢一覧情報をプレビューア208に通知する(1121)。
プレビューア208は、ユーザインタフェースドライバ203から通知された選択肢一覧情報によって、各印刷設定において利用者が設定可能な選択肢の一覧を表示装置104に表示し、利用者からの印刷設定の変更を受け付ける(1122)。ここで、図11の符号1118〜1122におけるプレビューアによる処理手順は、図9を参照して後述する。
この後、印刷開始の指示がプレビューアの表示するユーザインターフェース画面で入力されると(1123)、たとえば以下の手順で印刷が行われる。プレビューア208は、印刷開始の指示とともに変更された印刷設定情報をプリントプロセッサ205に渡す(1124)。プリントプロセッサ205は変更された印刷設定情報をプリンタグラフィックドライバ206に渡す(1125)。プリンタグラフィックドライバ206は既に印刷設定情報を保持しているので(1109)、変更された部分について更新する。プリントプロセッサ205は、EMFスプールファイル204から印刷対象データを読み出して(1126)、印刷ページデータをプリンタグラフィックドライバ206に渡す(1127)。プリンタグラフィックドライバ206は印刷ページデータに基づいてプリンタコマンドを生成する(1127)。なお、プリンタグラフィックドライバ206に渡される印刷ページデータはGDIを介してグラフィックコマンドに変換されている。また、プリンタグラフィックドライバ206が生成するプリンタコマンドは、本実施形態では印刷用のビットマップデータである印刷画像データの形式を持つ。
<選択肢一覧テーブル>
図3は、ユーザインタフェースドライバ203が保持している選択肢一覧情報テーブル203aのうち、用紙の種類における選択肢一覧情報テーブルの一例を示した図である。
図3において、テーブル301は、印刷設定情報のうち「印刷の種類」項目の設定値が「等倍印刷」の場合に「用紙の種類」項目に設定可能な選択肢の一覧を示している。テーブル302は、「印刷の種類」項目の設定値が「フチなし全面印刷」の場合に「用紙の種類」項目に設定可能な選択肢の一覧を示している。テーブル303は、「印刷の種類」項目の設定値が「両面印刷」の場合に「用紙の種類」項目に設定可能な選択肢の一覧を示している。これら3つのテーブルは「印刷の種類」の各設定値「等倍印刷」「フチなし全面印刷」「両面印刷」にそれぞれ対応付けられて記憶される。なお、「印刷の種類」という項目は単独の項目でなく、複数の項目を組み合わせたものであっても良い。たとえば「両面/片面」と、「フチなし印刷」と、「拡大率」という3つの印刷設定項目を組み合わせて「印刷の種類」と総称するような場合でも、本発明は適用できる。
図3の例では、ユーザインターフェースドライバ203は、利用者が設定可能な選択肢一覧情報の問い合わせ(1120)を、印刷の種類を示す情報とともに受けると、受信した「印刷の種類」の設定値を参照し、その設定値が「等倍印刷」であればテーブル301を、「フチなし全面印刷」であればテーブル302を、「両面印刷」であればテーブル303を、プレビューア208に返す(1121)。
<印刷プレビュー表示画面の例>
図4は、プレビューア208により表示装置104で表示される印刷プレビュー(211)の画面400の一例を示した図である。図4の画面400において、表示欄401は、現在印刷プレビューを表示しているページを印刷出力する際に使用する用紙サイズを示している。設定欄402は、利用者に用紙の種類を設定させるための項目欄で、現在印刷プレビューを表示しているページを印刷出力する際に使用する用紙の種類を示している。設定欄403は、利用者に給紙方法を設定させるための項目欄で、現在印刷プレビューを表示しているページを印刷出力する際に使用する用紙を給紙するための給紙方法を示している。表示欄404は、現在印刷プレビューを表示しているページを印刷出力する際の印刷の種類を示している。このように、本実施形態のプレビューア208は、プレビュー画像420の表示にあわせて、印刷設定のうち、用紙の種類と給紙方法の変更を許している。
図5は、現在印刷プレビューを表示しているページについて設定されている印刷設定のうち、項目「印刷の種類」の設定値が「等倍印刷」である場合に、プレビューア208により表示装置104で表示される印刷プレビュー(211)の画面500の一例を示した図である。図5の画面500において、選択肢欄501は、プレビュー表示された文書のページに関する印刷設定のうち、印刷の種類が「等倍印刷」である場合に、用紙の種類において利用者が設定可能な選択肢の一覧を示している。図3のテーブル301に従い、普通紙〜封筒のいずれかが選択できる。
図6は、現在印刷プレビューを表示しているページについて設定されている印刷設定のうち、項目「印刷の種類」の設定値が「フチなし全面印刷」である場合に、プレビューア208により表示装置104で表示される印刷プレビュー(211)の画面600の一例を示した図である。図6の画面600において、選択肢欄601は、プレビュー表示された文書のページに関する印刷設定のうち、印刷の種類が「フチなし全面印刷」である場合に、用紙の種類において利用者が設定可能な選択肢の一覧を示している。図3のテーブル302に従い、プロフォトペーパー〜普通紙のいずれかが選択できる。
図7は、現在印刷プレビューを表示しているページについて設定されている印刷設定のうち、項目「印刷の種類」の設定値が「等倍印刷」かつ「両面印刷」である場合に、プレビューア208により表示装置104で表示される印刷プレビュー(211)の画面700の一例を示した図である。図7の画面700において、選択肢欄701は、プレビュー表示された文書のページに関する印刷設定のうち、印刷の種類が「等倍印刷」かつ「両面印刷」である場合に、用紙の種類において利用者が設定可能な選択肢の一覧を示している。この場合図3のテーブル301およびテーブル303に共通する内容に従い、普通紙またはスーパーフォトペーパーまたははがきのいずれかが選択できる。
図8は、現在印刷プレビューを表示しているページについて設定されている印刷設定のうち、項目「印刷の種類」が「フチなし全面印刷」かつ「両面印刷」である場合に、プレビューア208により表示装置104で表示される印刷プレビュー(211)の画面800の一例を示した図である。図8の画面800において、選択肢欄801は、プレビュー表示された文書のページに関する印刷設定のうち、印刷の種類が「フチなし全面印刷」かつ「両面印刷」である場合に、用紙の種類において利用者が設定可能な選択肢の一覧を示している。この場合図3のテーブル302およびテーブル303に共通する内容に従い、スーパーフォトペーパー両面またははがきまたは普通紙のいずれかが選択できる。
<印刷システム100の動作>
図9は、現在印刷プレビューを表示しているページにおいて、各印刷設定について利用者が設定可能な選択肢の一覧をプレビューア208が表示する際の動作をフローチャートにより示したものである。図9の処理は、たとえな図4の画面において選択肢欄402のプルダウンボタン(たとえば選択肢欄402に設けられている。)が選択された場合に実行される。ただし、表示の都度選択肢一覧情報テーブルを読み込まずに、表示に先立って選択肢一覧情報テーブルを読み込んでおき、表示時にそれを利用しても良い。なおこのフローチャートは図11の符号1120〜1122に相当する。図9の例では、プレビューア208が、図5〜図8に示した表示画面500〜800のいずれの表示を行うか判断する。
ステップS901:プレビューア208は、印刷の種類において「フチなし全面印刷」が設定されているか否かを判別する。この判別の結果、「フチなし全面印刷」が設定されている場合にはステップS902へ進み、そうでない場合にはステップS907へ進む。
ステップS902:プレビューア208は、印刷の種類が「フチなし全面印刷」である場合に、印刷の種類が「フチなし全面印刷」であることを示す情報をユーザインタフェースドライバ203に渡し、用紙の種類について設定可能な選択肢一覧すなわちテーブル302を取得する。
ステップS903:プレビューア208は、印刷の種類において「両面印刷」が設定されているか否かを判別する。この判別の結果、「両面印刷」が設定されている場合にはステップS904へ進み、そうでない場合にはステップS906へ進む。
ステップS904:プレビューア208は、印刷の種類が「両面印刷」である場合に、印刷の種類が「両面印刷」であることを示す情報をユーザインタフェースドライバ203に渡し、用紙の種類について設定可能な選択肢の一覧すなわちテーブル303を取得する。
ステップS905:プレビューア208は、ステップS902により取得した、印刷の種類が「フチなし全面印刷」である場合に設定可能な用紙の種類の選択肢一覧と、ステップS904により取得した、印刷の種類が「両面印刷」である場合に設定可能な用紙の種類の選択肢一覧とに共通に含まれる選択肢を抽出し、抽出した選択肢一覧を表示装置104に表示して(図8参照)本処理を終了する。
ステップS906:プレビューア208は、ステップS902により取得した印刷の種類が「フチなし全面印刷」である場合に設定可能な用紙の種類の選択肢一覧を表示装置104に表示して(図6参照)、本処理を終了する。
ステップS907:プレビューア208は、印刷の種類が「等倍印刷」である場合に、印刷の種類が「等倍印刷」であることを示す情報をユーザインタフェースドライバ203に渡し、用紙の種類について設定可能な選択肢一覧すなわちテーブル301を取得する。
ステップS908:プレビューア208は、「両面印刷」が設定されているか否かを判別する。この判別の結果、「両面印刷」が設定されている場合にはステップS909へ進み、そうでない場合にはステップS911へ進む。
ステップS909:プレビューア208は、印刷の種類が「両面印刷」である場合に、印刷の種類が「両面印刷」であることを示す情報をユーザインタフェースドライバ203に渡し、用紙の種類について設定可能な選択肢の一覧すなわちテーブル303を取得する。
ステップS910:プレビューア208は、ステップS907により取得した、印刷の種類が「等倍印刷」である場合に設定可能な用紙の種類の選択肢一覧と、ステップS909により取得した、印刷の種類が「両面印刷」である場合に設定可能な用紙の種類の選択肢一覧とに共通に含まれる選択肢を抽出し、抽出した選択肢一覧を表示装置104に表示して(図7参照)本処理を終了する。
ステップS911:プレビューア208は、ステップS907により取得した印刷の種類が「等倍印刷」である場合に設定可能な用紙の種類の選択肢一覧を表示装置104に表示して(図5参照)、本処理終了する。
図9の処理により選択肢がユーザインターフェース画面に表示される。この選択肢の中から新たな設定値が選択されると、当該項目の設定値が変更されることになる。変更された印刷設定値はプレビューア208により保存される。この手順が図10(A)である。変更された項目を判定し(S1001)、用紙種類であれば、変更後の設定値を現在のページ(すなわち現在プレビュー欄420に表示されているページ)の新たな用紙種類の設定値として保存する(S1002)。一方給紙方法であれば、変更後の設定値を現在のページ(すなわち現在プレビュー欄420に表示されているページ)の新たな給紙方法の設定値として保存する(S1003)。
<印刷開始時の処理>
プレビューア208により表示されている設定変更のためのユーザインターフェースを介して上述の手順で設定変更されたあと図4の印刷開始ボタン405が押されると、プレビュー対象となっている文書が印刷される。図10(B)は印刷開始時のプレビューア208による処理手順である。変更されて保存されている印刷設定をプリントプロセッサ205に渡し(S1011)、また、印刷開始の指示があった旨を示す情報をプリントプロセッサ205に渡す(1012)。これによりプリントプロセッサ205は、図11の符号1125以下の処理を実行し、プレビューされている文書を変更後の印刷設定で印刷させる。
以上の構成により、本実施形態の印刷システムは、文書等の印刷対象データを実際に用紙上に印刷出力する前に、印刷対象データの印刷プレビューを表示するにあたり、印刷結果と共に利用者がアプリケーション等で設定した印刷設定の内容を確認できる。また、利用者が印刷プレビュー中に印刷設定の間違いに気づいた場合であっても、印刷を中止することなく印刷設定を変更して印刷を実行できる。さらに、現在の印刷設定内容に応じて、各印刷設定において利用者が設定可能な選択肢のみを表示することで利用者が誤った設定変更をすることを防止できる。特に、設定変更を許していない項目の設定値に応じて、設定変更を許している項目の設定が制限される場合、変更可能な選択肢をその制限の範囲内とすることで、誤った設定を防止できる。
[変形例1]
なお本実施形態ではプレビュー表示時に変更できる印刷設定の項目を用紙の種類および給紙方法とした。しかしこれは、これら項目が、印刷を実行する段階で設定変更する頻度が高いからである。したがって、設定変更できる項目としてはこれらに限定されない。たとえば、印刷方法(両面/片面)や用紙サイズ、用紙方向、とじ代、Nアップ印刷指定、拡大縮小、ウオータマークの設定、ヘッダ/フッタの設定、排紙方法(ステープル等)、表紙の挿入、インデックス紙/合紙の挿入などの項目を、プレビュー表示時に設定変更を許すよう構成することもできる。ただしこの場合、ひとつの項目の設定値が変更されると、その他の項目の選択肢がそれに応じて変更されるために、各項目についてプルダウンボタンが選択される都度、図9と同様の処理を行って選択肢を表示する。
[変形例2]
図3において、テーブル301は、印刷設定情報のうち「印刷の種類」項目の設定値の判定をユーザインターフェースドライバ203により行い、判定した結果に応じて設定可能な選択肢一覧をプレビューアに返すように構成することもできる。
[第2の実施の形態]
第1の実施の形態では、現在印刷プレビューを表示しているページで設定されている印刷設定の内容に応じて各印刷設定における選択肢を制限して表示することにより、ページ毎に利用者が設定可能な選択肢の範囲内で印刷プレビュー中に印刷設定を変更できるように構成した。しかしながら、一般的にアプリケーションで複数ページの印刷対象データを作成する場合には、ページ毎に印刷設定を変更するケースはまれである。大抵の場合は、印刷対象データに含まれる全てのページの印刷設定をまとめて同じ内容で設定している。そのため、印刷プレビュー中に印刷設定を変更する場合にも、印刷対象データに含まれる全てのページの印刷設定をまとめて同じ内容に変更できることが望ましい。そこで本実施の形態では、印刷プレビュー中に印刷対象データに含まれる全てのページの印刷設定を一度にまとめて変更できるように構成する。なお第1実施形態と共通する部分、たとえば図1,図2,図3,図11などについては説明を省略する。
ただし、図9の処理は第1実施形態に特有であり、本実施形態では図9に代えて図15の処理が実行される。そして、図11についても図9と図15とが相違する範囲で、第1の実施形態と本実施形態とは相違する。
さて具体的には、本実施形態の印刷システムにおいて、プレビューア208は、図12のようなプレビュー画面のうち、特に設定変更を許すためのユーザインターフェースを表示する際に、印刷対象データに含まれる全てのページの印刷設定の内容が同じか否かの情報、すなわち、少なくとも変更され得る項目の設定値が、プレビュー対象となっている文書データ全体に共通するか否かの情報をプリントプロセッサ205に問い合わせる。
プリントプロセッサ205は、プレビューア208から、変更され得る項目の設定値がプレビュー対象となっている文書データ全体に共通するか否かの情報の問い合わせを受けると、当該文書データについて全ての印刷対象データが既にEMFスプールファイル204に格納されている(スプールが完了した)場合には、EMFスプールファイル204から各ページの印刷設定情報を取得して全てのページの印刷設定が同じかどうかを判断し、変更される項目の設定値がプレビュー対象となっている文書データ全体に共通するか否かを示す情報をプレビューア208に通知する。
プレビューア208は、プリントプロセッサ205から通知された、変更される項目の設定値がプレビュー対象となっている文書データ全体に共通であるか否かの情報に応じて、共通である場合には、第1の実施の形態と同様にユーザインタフェースドライバ203から当該項目について選択肢一覧情報を取得し、利用者が設定可能な印刷設定の項目の選択肢一覧を表示装置104に表示し、利用者からの印刷設定の変更を受け付ける。
この場合プレビューア208は、利用者が印刷設定を変更した場合には、印刷対象データに含まれる全てのページの印刷設定をまとめて変更し、印刷設定の内容を表示装置104で表示する。
<印刷プレビュー表示画面>
図12は、印刷対象データに含まれる全てのページのスプールが完了する前の状態において、プレビューア208により表示装置104で表示される印刷プレビュー(211)の画面1200の一例を示した図である。図12の画面1200において、表示欄1201は、印刷データに含まれる全てのページのスプールが完了したか否かの内容を示している。図12の例では、表示欄1201には、印刷対象データに含まれる全てのページのスプールが完了していない場合の状態を示している。図12の画面1200において、選択欄1202は、印刷の種類が「等倍印刷」である場合に、用紙の種類において利用者が設定可能な選択肢の一覧を示している。
図12に示すように、印刷が指示された印刷対象データに含まれる全てのページのスプールが完了していない状態では、利用者が設定可能な選択肢の一覧には、現在の印刷設定で設定されている設定値を表示して、利用者がその設定を変更することができないようになっている。図12の例では、プレビュー表示されているページについて用紙の種類の設定値は「普通紙」であり、選択肢は現在の設定値以外に表示されず、したがってこの設定値は変更できない。
図13は、印刷対象データに含まれる全てのページのスプールが完了した後の状態において、印刷対象データに含まれる全てのページの印刷設定の内容が同じではない場合に、プレビューア208により表示装置104で表示される印刷プレビュー(211)の画面1300の一例を示した図である。図13の画面1300において、表示欄1301は、印刷対象データに含まれる全てのページのスプールが完了したか否かの内容を示している。表示欄1301には、印刷対象データに含まれる全てのページのスプールが完了した場合の状態を、全ページ数を示すことで表示している。
図13の画面1300において、選択欄1302は、印刷の種類が「等倍印刷」である場合に、用紙の種類において利用者が設定可能な選択肢の一覧を示している。図13に示すように、印刷対象データに含まれる全てのページのスプールが完了した状態であっても、印刷設定の内容が印刷対象データに含まれる全てのページについて共通していない場合は、用紙の種類において利用者が設定可能な選択肢の一覧には、現在の印刷設定で設定されている用紙の種類だけを表示して、利用者が用紙の種類の設定を変更することができないようになっている。
図14は、印刷対象データに含まれる全てのページのスプールが完了した後の状態において、印刷対象データに含まれる全てのページの印刷設定の内容が同じである場合に、プレビューア208により表示装置104で表示される印刷プレビュー(211)の画面1400の一例を示した図である。図14の画面1400において、表示欄1401は、印刷対象データに含まれる全てのページのスプールが完了したか否かの内容を示している。表示欄1401には、印刷対象データに含まれる全てのページのスプールが完了した場合の状態を、全ページ数を示すことで表示している。
図14の画面1400において、選択欄1402は、印刷の種類が「等倍印刷」である場合に、用紙の種類において利用者が設定可能な選択肢の一覧を示している。図14に示すように、印刷対象データに含まれる全てのページのスプールが完了した状態で、かつ、印刷設定の内容が印刷対象データに含まれる全てのページについて共通している場合は、利用者が用紙の種類の設定を変更することができる。
<印刷システム100の動作>
図15は、プレビューア208が各印刷設定において利用者が設定可能な選択肢の一覧を表示する際の動作をフローチャートにより示したものである。同図において第1の実施の形態で示した図9と同様の処理には同一のステップ番号を示し、説明を省略する。
図15では、プレビューア208が、図12〜図14に示した表示画面1200〜1400の表示方法を判断する処理に着目している。図15の処理は、たとえば図12の画面において選択欄1202のプルダウンボタン(たとえば選択欄1202に設けられている。)が選択された場合に実行される。ただし、表示の都度選択肢一覧情報テーブルを読み込まずに、表示に先立って選択肢一覧情報テーブルを読み込んでおき、表示時にそれを利用しても良い。
ステップS1501:プレビューア208は、プリントプロセッサ205から、印刷対象データに含まれる全てのページのスプールが完了したか否かの情報を取得する。
ステップS1502:プレビューア208は、ステップS1501により取得した印刷対象データに含まれる全てのページのスプールが完了したか否かの情報を参照して、印刷対象データに含まれる全てのページのスプールが完了したか否かを判別する。この判別の結果、印刷対象データに含まれる全てのページのスプールが完了した場合にはステップS1504へ進み、そうでない場合にはステップS1503へ進む。
ステップS1503:プレビューア208は、用紙の種類において設定可能な選択肢の一覧として、現在の印刷設定で設定されている用紙の種類だけを表示装置104に表示して、ステップS1501に戻る。
ステップS1504:プレビューア208は、プリントプロセッサ205から、印刷対象データに含まれる全てのページの印刷設定が同じか否かの情報を取得する。
ステップS1505:プレビューア208は、ステップS1504により取得した印刷対象データに含まれる全てのページの印刷設定が同じか否かの情報を参照して、印刷対象データに含まれる全てのページの印刷設定が同じか否かを判別する。この判別の結果、印刷対象データに含まれる全てのページの印刷設定が同じ場合にはステップS901へ進み、そうでない場合にはステップS1506へ進む。
ステップS1506:プレビューア208は、用紙の種類において設定可能な選択肢の一覧として、現在の印刷設定で設定されている用紙の種類だけを表示装置104に表示して、本処理を終了する。
以上の通り、図15の処理は、図9の処理に加えて、プレビュー対象のデータのスプールが完了しているか否か、また、全てのページについて設定値が共通しているか否かの判定を行っており、スプールが完了していない場合または設定値が文書全体について共通していない場合には設定変更を許さず、それ以外の場合には図9と同様に設定変更を許す。「印刷開始」が指示された場合には、プレビューア208は、変更された印刷設定を、全てのページについての印刷設定としてプリントプロセッサ205に渡す。それにより、変更された印刷設定が全てのページに反映されて印刷出力される。
以上の通り本実施形態によれば、利用者は個々のページについて設定変更をしなくとも、ひとつのページについて設定変更をすることで文書全体についても当該設定を変更することができ、操作性が向上する。
[第3の実施の形態]
第1の実施の形態、及び、第2の実施の形態では、現在の印刷設定の内容に応じて各印刷設定における選択肢を制限して表示することにより、利用者が設定可能な選択肢の範囲内で印刷プレビュー中に印刷設定を変更できるように構成した。しかしながら、印刷プレビュー中に設定を変更できる印刷設定が複数存在する場合には、利用者がある印刷設定を変更したことによって、他の印刷設定において現在までに設定されていた内容が変更後の設定と整合せず、無効になってしまう可能性がある。そのため、このように項目間の設定値が整合しないケースが発生した場合であっても、利用者が所望する印刷設定に簡単に導くことができるようにすることが望ましい。なお本実施形態では第1実施形態と共通する部分についてはその説明を省略する。
そこで本実施の形態では、印刷プレビュー中に第1の印刷設定が変更されたことによって、第2の印刷設定において現在までに設定されていた内容を無効にする場合には、その内容を利用者に通知すると共に、第2の印刷設定を自動的に最適な設定に矯正(変更)することができるように構成する。
具体的には、プレビューア208は、印刷プレビュー中に利用者からの印刷設定の変更を受け付けると、予め内部で保持している印刷設定優先順位情報テーブルを参照して、利用者が設定を変更した印刷設定(これを優先項目と呼ぶ。)よりも優先順位の低い印刷設定項目(これを従属項目と呼ぶ。)の設定値を取得する。なお、ある項目の設定値を変更しても対応する従属項目がなければその項目は優先項目ではない。次に、プレビューア208は、ユーザインタフェースドライバ203から、優先項目に対応する従属項目における選択肢一覧情報を取得し、従属項目において現在設定されている設定値が、取得した選択肢一覧情報に含まれていない場合には、優先項目の変更後の設定値に対応した従属項目の最適な設定(以下、「最適設定情報」と言う。)をユーザインタフェースドライバ203に問い合わせる。
ユーザインタフェースドライバ203は、プレビューア208から最適設定情報の問い合わせを受けると、予め内部で保持している最適設定情報テーブルを参照することによって、従属項目における最適設定情報をプレビューア208に通知する。
プレビューア208は、利用者が優先項目の設定値を変更したことによって設定値が無効にされる従属項目のたとえば項目名を表示装置104に表示すると共に、ユーザインタフェースドライバ203から通知された最適設定情報に応じて、従属項目の設定値を最適な設定に変更する。
図16は、プレビューア208が保持している印刷設定優先順位情報テーブルの一例を示した図である。図16において、優先順位1601は、印刷設定の各項目の優先順位を示している。印刷設定項目1602は、優先順位が、優先順位1601で示した優先順位である印刷設定の項目を示している。図16の例では、項目「用紙の種類」の優先順位が1であり、項目「給紙方法」の優先順位が2である。したがって給紙方法の方が用紙の種類よりも優先順位が低い。すなわち、プレビュー画面において「用紙の種類」が変更されると、用紙の種類を優先項目として給紙方法が従属項目となることを図16のテーブルは示している。
図17は、ユーザインタフェースドライバ203が保持している選択肢一覧情報テーブルのうち、給紙方法における選択肢一覧情報テーブルの一例を示した図である。図17において、テーブル1701は、用紙の種類が「普通紙」である場合に給紙方法において設定可能な選択肢の一覧を示している。テーブル1702は、用紙の種類が「プロフォトペーパー」である場合に給紙方法において設定可能な選択肢の一覧を示している。いずれのテーブルも、対応する用紙の種類の値と関連づけられて記憶されている。
図18は、ユーザインタフェースドライバ203が保持している最適設定情報テーブルのうち、優先項目「用紙の種類」に対応する従属項目「給紙方法」における最適設定情報テーブルの一例を示した図である。図18において、優先項目1801は、給紙方法の最適な設定を決定するための条件となる、給紙方法よりも優先順位の高い印刷設定項目の内容を示している。図18では優先項目自体は「用紙の種類」に固定的に決めているが、優先項目を示す識別子の欄等をテーブルに設けて、その識別子毎に設定値を対応させることで、よりテーブルの構成を柔軟にすることもできる。また、従属項目欄1802は、給紙方法よりも優先順位の高い優先項目である「用紙の種類」の設定値が、優先項目欄1801で示した設定値であった場合に対応した最適な設定値を示す。図18では給紙方法に固定されているが、優先項目に対応する項目の識別子の欄等をテーブルに設けて、よりテーブルの構成を柔軟にすることもできる。なお、図18では、優先項目は「用紙の種類」に、従属項目は「給紙方法」に固定されており、優先項目の設定値が「普通紙」に対しては従属項目の最適値は「カセット」が、「プロフォトペーパー」に対しては「オートシートフィーダ」が対応付けられている。
<印刷プレビュー表示画面>
図19〜図21は、プレビューア208により表示装置104で表示される印刷プレビュー(211)において、用紙の種類を「普通紙」から「プロフォトペーパー」に変更する手順を踏んだ場合における、表示装置104で表示される印刷プレビュー(211)の画面1900〜2100の一例を示した図である。
図19は、用紙の種類の設定が「普通紙」である場合の印刷プレビュー(211)の画面1900の一例を示した図である。図19の画面1900において、第1選択欄1901は、現在印刷プレビューを表示しているページを印刷出力する際に使用する用紙の種類を示している。第2選択欄1902は、現在印刷プレビューを表示しているページを印刷出力する際に使用する用紙を給紙するための給紙方法を示している。なお、図19〜図21では、第1表示欄が優先項目の、第2表示欄が従属項目の設定を変更するための欄となっている。
図20は、図19の画面1900の状態から、利用者が第1選択欄1901において、用紙の種類を「プロフォトペーパー」に変更した直後の印刷プレビュー(211)の画面2000の一例を示した図である。なお、この第1選択欄の設定値の変更は、第1の実施形態で説明した手順及び処理と同様に行われる。第1選択欄2001は、利用者が用紙の種類の設定を変更した後の内容を示している。第2選択欄2002は、利用者が用紙の種類の設定を変更するまでに設定されていた給紙方法の内容を示している。図20の例では、図19の第2選択欄1902と同じく「カセット」が設定されている。
警告表示2003は、利用者が用紙の種類を第1選択欄2001で示した設定に変更したことによって第2選択欄2002で示した給紙方法の設定値と整合せず、給紙方法の現在の設定値を無効にした場合に、その内容を利用者に通知するためにプレビューア208が表示装置104に表示する通知画面を示している。この例では、図18に示すように、用紙の種類が「プロフォトペーパー」である場合には、対応する給紙方法の最適設定値は「オートシートフィーダ」である。そのため、この警告表示2003が表示される。OKボタン2004は、警告表示2003で示した通知画面を閉じ、プレビューア208の処理を進めるためのボタンを示している。このボタン2004を利用者が押すことで、警告表示2003が消去されてプレビュー処理(印刷処理)が続行される。
図21は、図20の画面2000の状態から、ボタン2004を押すことにより、プレビューア208が給紙方法の設定を自動的に変更した後の印刷プレビュー(211)の画面2100の一例を示した図である。画面2100において、第2選択欄2101は、利用者が用紙の種類を図20の第1選択欄2001で示した設定(プロフォトペーパー)に変更したことによって、プレビューア208が自動的に変更した給紙方法の内容(オートシートフィーダ)を示している。
<印刷システム100の動作>
図22は、利用者がある印刷設定項目(優先項目)を変更した場合に、プレビューア208が、その印刷設定項目よりも優先順位の低い従属項目の設定値を最適な設定値に変更する際の動作を示すフローチャートである。この手順も、図11の符号1120〜1122においてプレビューア208より実行される。
ステップS2201:プレビューア208は、利用者が設定を変更した印刷設定を取得する。取得するのは、設定変更された項目の識別子と設定後の値である。
ステップS2202:プレビューア208は、図16で示した印刷設定優先順位情報テーブルを参照して、優先順位付けがなされている印刷設定の総数を取得する。
ステップS2203:ステップS2204〜ステップS2210では、利用者が設定を変更した印刷設定よりも優先順位の低い印刷設定の項目(すなわち、利用者が設定を変更した印刷設定を優先項目とする従属項目)の数だけ処理を繰り返すことによって、印刷設定を最適な設定に変更する処理を行うため、処理カウンタiの値を、利用者が設定を変更した印刷設定の優先順位よりも一つ大きい値で初期化する。
ステップS2204:プレビューア208は、処理カウンタiの値が、ステップS2202により取得した優先順位付けがなされている印刷設定の総数を超えたかどうかを判別する。この判別の結果、ステップS2202により取得した優先順位付けがなされている印刷設定の総数を超えた場合には本処理を終了し、超えていない場合にはステップS2205へ進む。
ステップS2205:プレビューア208は、ユーザインタフェースドライバ203から、処理カウンタiの値と同じ優先順位を持つ印刷設定項目において設定可能な選択肢の一覧を取得する。たとえばプレビューア208が、ユーザインターフェースドライバ203に対して、設定変更後の「用紙の種類」の設定値を渡して選択肢一覧情報テーブルを要求すると、その要求に応じて、用紙の種類の設定値に対応した選択肢一覧情報テーブルがプレビューア208に返される。
ステップS2206:プレビューア208は、処理カウンタiの値と同じ優先順位を持つ従属項目において現在設定されている設定値が、ステップS2205により取得した設定可能な選択肢一覧テーブルに含まれているか否かによって、処理カウンタiの値と同じ優先順位の印刷設定項目に現在設定されている設定値が有効か否か(すなわち優先項目の設定値と従属項目の設定値とが整合するか否か)を判別する。含まれていれば有効であり、含まれていなければ有効ではない。
この判別の結果、処理カウンタiの値と同じ優先順位の従属項目に現在設定されている設定値が有効であると判定された場合にはステップS2210へ進み、そうでない場合にはステップS2207へ進む。
ステップS2207:プレビューア208は、ユーザインタフェースドライバ203から、処理カウンタiの値と同じ優先順位の従属項目の最適な設定値を取得する。そのために、プレビューア208は、ユーザインターフェースドライバ203に対して、優先項目の値を渡して対応する従属項目の最適な設定値を要求する。ユーザインターフェースドライバはこれに応じて、図18の最適値設定情報テーブルを参照して、優先項目の値に対応する従属項目の最適値をプレビューア208に返す。
なお、本実施形態では、優先項目は用紙の種類のみであり、それについての従属項目は給紙方法のみである。このため、ユーザインターフェースドライバ203は、これら優先項目及び従属項目をそれぞれ用紙の種類と給紙方法にハードコーディングしておくことで処理できる。しかしながら、優先項目の数が複数になり、ひとつの優先項目に対応する従属項目の数が複数になると、より柔軟な対応が必要となる。そこで、たとえば、プレビューアからユーザインターフェースドライバに選択肢一覧や最適情報を要求する際には、対応する項目の識別子も合わせてユーザインターフェースに渡すことで解決できる。その場合、ユーザインターフェースドライバ203は、選択肢一覧情報テーブルや最適設定情報テーブルについても、設定値のみではなく、印刷設定項目の識別子と対応付けて値を保持する。
ステップS2208:プレビューア208は、処理カウンタiの値と同じ優先順位の従属項目に現在設定されている設定値を無効とする旨のメッセージを表示装置104に表示する。
ステップS2209:プレビューア208は、処理カウンタiの値と同じ優先順位の従属項目を、ステップS2207により取得した最適な設定値に変更する。
ステップS2210:プレビューア208は、処理カウンタiの値を1つ増やしてステップS2204に戻る。
以上の手順により、本実施形態によれば、プレビュー表示中に、ある印刷設定の項目が変更された場合でも、その項目の変更に応じて変更されるべき項目についても、適切な値に変更することができ、またその事実を利用者に通知することができる。もちろん、優先項目や従属項目は本例に示したものにかぎられず、他の項目がいずれかに該当する場合もある。
[変形例1]
なお本実施形態は第1の実施形態あるいは第2の実施形態と組み合わせて実施され得る。特に第2の実施形態と組み合わせる場合には、従属項目の設定値を変更する際には、その設定値が文書全体に共通していなくとも設定変更するという第1の方法がある。また、優先項目の設定変更を行おうとする際に、あらかじめ優先項目と従属項目のすべてについて、設定値が文書全体に共通しているか判定し、いずれか1つの項目について文書全体に共通していない項目があれば、優先項目の変更を許さない(制限する)ように構成する第2の方法もある。
[その他の変形例]
尚、本発明は、必ずしも本実施の形態に限定されるものではなく、種々の形態での実施が可能である。例えば、本実施形態では、1つ、又は、複数の印刷設定の内容に応じて、他の印刷設定の選択肢を利用者が選択可能な選択肢に制限しているが、制限方法はこれに限定されるものではない。
また、本実施の形態では、各印刷条件において設定可能な選択肢の一覧を、図3、或いは、図17に示したような選択肢一覧情報テーブルにより決定しているが、決定方法はこれに限定されるものではない。
また、第1の実施の形態では、印刷プレビュー中に印刷データのページ毎に印刷設定を変更できるように構成し、第2の実施の形態では、印刷プレビュー中に印刷データに含まれる全てのページの印刷設定を一度にまとめて変更できるように構成しているが、ページ毎に印刷設定を変更するか、全てのページの印刷設定を一度にまとめて変更するかを選択できるように構成しても良い。
また、第3の実施の形態では、利用者が印刷設定を変更したことによって、設定を変更した印刷設定よりも優先順位の低い印刷設定において現在までに設定されていた内容が無効になる場合には、無効になる項、及び、最適な設定に矯正する内容を表示装置に表示しているが、表示方法、及び、表示内容はこれに限定されるものではない。
また、第3の実施の形態では、利用者が印刷設定を変更したことによって、設定を変更した印刷設定よりも優先順位の低い複数の印刷設定において現在までに設定されていた内容が無効になる場合には、無効になる印刷設定毎に、無効になる項、及び、最適な設定に矯正する内容を表示装置に表示しているが、無効になる複数の印刷設定について、一度にまとめて、無効になる項、及び、最適な設定に矯正する内容を表示装置に表示しても良い。
以上説明したように上記第1〜第3の本発明では、文書等の印刷データを実際に用紙上に印刷出力する前に、印刷データの印刷プレビューを表示するにあたり、印刷結果と共に利用者がアプリケーション等で設定した印刷設定の内容を確認できる。
また、利用者が印刷プレビュー中に印刷設定の間違いに気づいた場合であっても、印刷を中止することなく印刷設定を変更して印刷を実行できる。さらに、現在の印刷設定内容に応じて、各印刷設定において利用者が設定可能な選択肢のみを表示することで利用者による誤った設定変更を防止できる。
このように、印刷プレビュー中にアプリケーションで設定した印刷設定の内容を簡単に確認できるようになると共に、印刷プレビュー中に印刷設定の間違いに気づいた場合や印刷設定を変更したい場合に、印刷プレビュー中に利用者が所望する印刷設定を簡単に導くことのできるようになり、より使い勝手の良い印刷プレビュー機能を提供することができる。
[第4の実施の形態]
第1〜第3実施形態の印刷システムにより印刷プレビューの段階で印刷設定の一部を確認して変更することができる。しかし、アプリケーションやOS(オペレーティングシステム)内部で印刷設定に応じた処理が行われ、EMFスプールファイル204に印刷データが格納された状態においては、既に当該印刷設定に係る処理は適用済みの場合もある。この様な場合には、第1実施形態〜第3実施形態に示した手順に従い印刷プレビュー段階で印刷設定の変更を許しても、変更後の印刷設定を印刷出力に反映することはできない。そのため、印刷設定と実際の印刷装置の状態等の間に齟齬が生じ、印刷出力の品質を低下させる場合がある。
たとえば、印刷設定の項目の一である「用紙の種類」に応じた色処理をアプリケーションで行う場合がある。図2を参照すると、EMFスプールファイル204にスプールされた印刷データについては既に色処理が済んでいる。この場合に印刷プレビューの段階で用紙の種類の設定を変更しても、変更後の用紙の種類に適した色処理は行われない。このため、本来印刷出力するべき色が選択された用紙上には表れず、印刷品質が低下する。具体的には、たとえば染料系インクを用いて普通紙に印刷する場合と、同じインクでインクジェット用のコート紙に印刷する場合とでは、それぞれの用紙に対して同一の画像に同一の色処理を施して印刷しても、インクの浸透性の相違等に起因して発色は視覚上異なることもある。また例えば、白色紙と着色紙、OHPシートでは、同じ画像を形成しても互いに発色は相違する。
本実施形態では、アプリケーションで作成された印刷データを印刷プレビュー表示させ、その段階で印刷設定の変更する際、アプリケーション(およびOS)等により、変更されようとする印刷設定に係る処理が、スプールされた印刷データについて既に適用ずみであれば、各印刷設定項目において、既に適用されている処理のパラメータと同一のパラメータを用いる選択肢以外の選択を制限することで、印刷設定を変更してもそれによって印刷品質を低下させることのない印刷システムを説明する。具体的には、本実施形態では、制限される印刷設定の項目は「用紙の種類」であり、その印刷設定に係る処理とは色処理であり、処理パラメータとは、カラープロファイルである。なお本実施形態では図1や図2、図4、図11など、印刷システムの主たる構成については第1実施形態〜第3実施形態と共通するので説明を省略する。ただし、ユーザインターフェースや図11の構成の一部については本実施形態に特有な部分もあるが、その部分および相違する内容については本実施形態において明記する。
さて、印刷プレビュー表示を行った際のユーザインターフェース画面は図4の通りである。用紙の種類402は現在の設定値から選択可能なすべての用紙種類が表示されている。しかし、アプリケーション201やGDI205内で、カラーマッチングなどの色処理が行われることがある。カラーマッチングとは、画像の出力媒体(本実施形態では用紙の種類)の発色特性などの差によって生じる視覚上の色の相違を吸収するための処理である。カラーマッチング処理のパラメータはカラープロファイルと呼ばれ、たとえば各色成分の非線形変換用のテーブルなどを含む。カラーマッチング処理は用紙の種類に応じたカラープロファイルを用いて行われるため、カラーマッチング処理後に用紙の種類が変更され、その結果、適用されるカラープロファイルが印刷設定の変更の前後で異なると正常に出力されない。
図23は、用紙の種類の設定値と、対応するカラープロファイルとの対応表2301である。「普通紙」設定で用いられるカラープロファイルはProfile_A.icmである。このためカラーマッチング済みであっても、同じProfile_A.icmを用いる「はがき」、「封筒」に用紙の種類を変更しても正常に出力される。しかし、それ以外のProfile_B.icm、Profile_C.icmなどを用いる用紙の種類「プログラムフォトペーパー」や「高品位専用紙」などに変更すると、選択された種類の用紙上に印刷された画像は正常な色(本来発色するはずの色)とならず印刷品位が低下する。そこで、カラーマッチング済みかどうかを判断し、カラーマッチング済みであると判断したときには、カラーマッチング処理で用いられたカラープロファイルと同じカラープロファイルを用いる用紙の種類に限定して選択可能とする。
図5はすべての用紙種類が選択可能になっているプレビュー印刷プレビューの画面500の一例を示した図である。図27は、カラーマッチング済みのときに同じカラープロファイルを用いる用紙種類のみが選択可能になっているプレビュー印刷プレビューの画面2700の一例を示した図である。この例では、同じカラープロファイルを用いる全ての用紙種類を選択可能にしているが、用紙の種類の変更を一切不可にすることもできる。このようにしても、印刷結果の品質低下防止という効果は得られる。
<印刷システム100の動作>
プレビューア208が、図5および図27に示した表示画面500、表示画面700のいずれの表示を行うか判断する処理を示す。このためにプレビューア208に渡す選択肢一覧情報の内容を決定している。アプリケーション201でカラーマネージメントなどの色処理が行われた場合、用紙種類が変わってもプレビュー後に再度アプリケーションで色処理をやりなおすことはできないため、用紙種類の制限が必要となる。しかし、図2の構成において、OS内部のGDI202で色処理が行われる場合には、プレビュー後に再度GDI202経由でプリンタ207に出力を行うため、この段階でGDIにより色処理を行うことができる(図11の印刷ページデータ送信1127においてGDIを経由している)。そのためOSによる色処理については用紙種類の制限を行う必要はない。
プレビュー処理は、全体としてはほとんど図11の手順と同一の手順で実行される。ただし一部相違している。プレビュー表示時における印刷設定の変更の際の選択肢の制限は、第1〜第3実施形態ではユーザインターフェースドライバ203から選択肢を獲得し、それに基づいて行っていた。しかし本実施形態では、図24に示したように、設定値の選択肢は、プリンタグラフィックドライバ206によりプレビュー画像データとともに生成され、プレビューファイル209に格納される。このため本実施形態では、図11の符号1120及び1121において、ユーザインターフェースドライバ203から選択肢一覧情報と、プレビューファイル209から読み出した選択肢制限情報から選択肢一覧を作成する。そして、プレビューア208は、作成した選択肢位一覧に基づいて、変更されようとしている項目の選択肢を表示する。
<プリンタグラフィックドライバによる選択肢一覧情報の生成>
図24は、プレビュー後にOS(GDI202)で色処理が行われる場合について、プリンタグラフィックスドライバ206がアプリケーションで色処理が行われたどうかを判断するためのフローチャートである。この処理は、図11のプレビュー画像データ生成処理1112において画像データ生成とともに実行される。色処理は、アプリケーション201、GDI202、プリンタグラフィックスドライバ206で行うことが可能である。そこで色処理の重複を避けるため、アプリケーション201は色処理を行うと、GDI202やプリンタグラフィックスドライバ206による色処理を禁止する必要がある。
アプリケーション201が、GDI202、プリンタグラフィックスドライバ206の禁止をするために、色処理は既に済んでおり、さらなる処理を禁止する旨の情報(色処理済み情報)を、(1)印刷するドキュメント(文書)単位で設定、あるいは、(2)描画オブジェクト単位で設定、のいずれかの方法で設定することが可能である。アプリケーション201がドキュメント単位で色処理済み情報を指定するには、印刷開始時などに、ユーザ設定情報データに色処理済み情報を書き込み、色処理済みを指定する。ユーザ設定情報データとは、用紙サイズなどアプリケーションで設定された印刷設定をオペレーティングシステムやプリンタグラフィックスドライバ206通知するためのデータである。なお、ユーザ設定情報データには、OS内部で定義しているパブリック情報とプリンタグラフィックスドライバ206毎に定義しているプライベート情報が含まれる。OSによっては、パブリック情報にはアプリケーション201が色処理済みかどうかの指定(色処理済み情報)が定義されていないため、プライベート情報でも色処理済み情報を指定できるようにすることは多くのOSで使う上で有効である。また、オブジェクト単位で色処理済み情報を指定するためには、各オブジェクト毎に色処理済み情報を持たせ、それをアプリケーションで色処理済みならばその旨指定する。
そこで、図24のステップS2401では、プリンタグラフィックスドライバ206は初期化された時に(すなわち処理開始時に)ユーザ設定情報データ内のアプリケーションの色処理情報を参照し、アプリケーション201が文書全体について色処理済みと指定したかどうかを判断する。
次に、文書全体について色処理済みであると指定されていなければ、ステップS102で、全出力オブジェクトを調べてアプリケーション201で色処理済み情報が指定されたオブジェクトが一つでもあるかを判定する。この判定方法はOSの仕組みよって異なり、例えば、アプリケーション201の描画コマンドをプリンタグラフィックスドライバ206経由で出力するOSの場合には、その段階でプレビュー画像データを作成する際に全ての描画コマンド内の色処理情報を参照し、アプリケーションが色処理済みと指定したオブジェクトがあるかどうかを判断する。他に、アプリケーション201の描画コマンドが保存されたEMFスプールファイル204等のスプールファイルをプリンタグラフィックスドライバ206が直接参照できるOSの場合には、EMFスプールファイル204を参照してアプリケーションが色処理済みと指定したオブジェクトがあるかどうかを判断する。なお、この判断は、プレビューア208による用紙の種類の設定変更をページ単位で行う場合にはページ毎に行われ、用紙の種類の設定をドキュメント単位で行う場合にはドキュメント単位で行われる。例えば、ページ単位で判定する場合には、ページ内に色処理済みであると指定されている描画コマンドがひとつでもあれば、そのページはアプリケーション201が色処理済みと判断し、色処理済の描画コマンドがひとつもなければそのページは色処理済みでないと判断する。
次に、ステップS2401、S2402でいずれもNoと判断した場合、つまり、アプリケーション201が当該印刷データについて色処理を行っていないと判断した場合には、ステップS2403で、プレビュー上で全ての用紙種類の選択を可能とする選択肢情報をプレビューファイル209に保存する。
一方、ステップS2401、または、ステップS2402でYesと判断した場合、つまり、アプリケーション201が当該印刷データについて色処理を行っていると判断した場合には、ステップS2404で、プレビュー上で、現在選択されている用紙の種類の設定値と共通のカラープロファイルを用いる範囲で、設定値の選択を可能とする選択肢一覧情報をプレビューファイル209に保存する。このために、たとえばプリンタグラフィックドライバ206は、図23に示した「設定値−プロファイル対応表」2301を参照し、現在の設定値、たとえば「普通紙」に対応するカラープロファイルを対応表2301から検索して、発見されたエントリに含まれる用紙の種類の設定値を、選択を許す範囲を示す選択肢情報としてプレビューファイル209に保存する。
プレビューア208は、選択欄402においてプルダウン表示操作がされた場合には、プレビューファイル209に保存された選択肢一覧情報を元に、選択を許す用紙の種類の設定値を表示して本処理を終了する。設定値が変更された場合や印刷開始が指示された場合の処理は、第1実施形態と同様である。
以上の構成及び手順によれば、本実施形態では、アプリケーションで作成された印刷データの印刷要求後に印刷設定の変更行う際、アプリケーションで色処理ずみであるかどうか判断し、色処理済みであると判断すれば、各印刷設定項目において色処理に用いた色パラメータと同じ色パラメータを用いる選択肢以外は選択できないようにすることで、印刷設定を変更しても正確な色で出力できる。
[変形例]
尚、本発明は、必ずしも本実施の形態に限定されるものではなく、種々の形態での実施が可能である。例えば、本実施形態ではカラープロファイルは用紙種類に対してのみ変わる場合を述べたが、二値化処理などによってカラープロファイルが変わり、また、プレビュー上で二値化処理を切り替える場合には、二値化処理について同様に制限されることになる。
[第5の実施の形態]
第4の実施形態では、OS内部のGDI202で色処理が行われる場合、プレビュー後に再度GDI202経由でプリンタ207に出力を行うプレビューの方式の場合について説明を行ったが、本実施形態では、プレビュー後にGDI202経由で出力を行わないプレビュー方式について第4の実施形態との相違点を中心に説明する。
<印刷システム100の機能構成>
図25は、ホストコンピュータ101が所定の処理プログラムを実行することで実現される印刷システム100の機能のうち、特に、印刷制御機能に着目した本実施形態の印刷システムのブロック図である。ホストコンピュータ101による印刷制御機能は、第1〜4実施形態では、アプリケーション201が作成した文書データ(印刷データ)および印刷設定情報はGDI202を介して、EMFスプールファイル204に格納していた。これに対して本実施形態では、GDI202がスプールファイルを作成するのではなく、プリンタグラフィックドライバ205がドライバスプールファイル213と呼ぶスプールファイルに印刷データを保存する。
プリンタグラフィックスドライバ206は、ドライバスプールファイル213から、印刷プレビュー表示用のプレビュー画像データ、或いは印刷用の印刷画像データを生成する。このとき、プリンタグラフィックスドライバ206でプレビュー画像データが生成された場合、プリンタグラフィックスドライバ206は、プレビューア208を起動すると共にプレビューア208に対して、プレビューファイル名を通知しプレビューを行う。
一方、印刷画像データが生成された場合、プリンタグラフィックスドライバ206は、当該印刷画像データを、任意のデータ送信部(不図示)を経由して、印刷装置(プリンタ)102に供給する。
<印刷システム100の動作>
ここでは、プレビューア208が、図5および図27に示した表示画面500、表示画面700のいずれの表示を行うか判断する処理を示す。このためにプレビューア208に渡す選択肢一覧情報の内容を決定している。図25の構成では、ドライバスプールファイル213のデータは、プレビュー後にGDI202を経由せずにプリンタ207に出力される。そのため、アプリケーション201でカラーマネージメントなどの色処理が行われた場合に加えて、GDI202で色処理が行われた場合にも、プレニュー時の用紙の種類の変更に応じて再度色処理をやりなおすことはできない。そこで用紙種類の制限が必要となる。
図26は、プレビュー後にOS(GDI202)で色処理を行われる場合について、プリンタグラフィックスドライバ206がアプリケーションで色処理が行われたどうかを判断するフローを示したものである。図26は、第4実施形態の図24に代えてプリンタグラフィックドライバ206で実行される処理である。
色処理は、アプリケーション201、GDI202、プリンタグラフィックスドライバ206で行うことが可能であるため、色処理の重複を避けるため、アプリケーション201、または、GDI202で色処理を行うと、プリンタグラフィックスドライバ206の色処理を禁止する必要がある。
GDI202の色処理は、アプリケーション201が指定する以外に、利用者がユーザインタフェースドライバ203のユーザ設定で設定することも可能である。たとえばユーザインタフェースドライバ203により表示されるユーザインターフェース画面を介して、「ICMを使用」を利用者に選択させることができる。「ICMを使用」が指定されると、GDI202による色処理が行われる。ユーザインターフェースドライバ203により設定されたユーザ設定値は、アプリケーション201に対して、GDI202経由で渡される。アプリケーション201は、印刷を要求する際にプリンタグラフィックスドライバ206にユーザ設定値を出力する。アプリケーション201は、ユーザ設定値を、第4実施形態に説明したユーザ設定情報データを用いてプリンタグラフィックスドライバ206に渡すことができる。
そのため、ステップS2601では、プリンタグラフィックスドライバ206はユーザ設定情報データ内のアプリケーションの色処理情報を参照し、アプリケーション201が文書全体について色処理済みと指定したかどうかを判断する。
ステップS2601における判断でNoと判断されたときには、ステップS2602において、プリンタグラフィックスドライバ206は、ユーザインタフェースドライバ203のユーザ設定値の「ICMを使用」がONになっているかどうか判断することで、GDIカラーマッチングの指定がオンになっているか判断する。
ユーザ設定値の「ICMを使用」がOFFになっていれば、GDIカラーマッチングの指定がオンになっていないと判断してステップS2603に分岐する。ステップS2603では、全出力オブジェクト内にアプリケーション201およびGDI202で色処理済みのオブジェクトが一つでもあるかを判断する。この判定は、図24のステップS2402とほぼ同様に、プレビューファイル209を作成する際に全ての描画コマンド内の色処理情報を参照し、アプリケーション201またはGDI202が色処理済みと指定したオブジェクトがあるかどうかをドキュメント単位またはページ単位で判断する。なおGDIにより色処理が行われたオブジェクトについても、アプリケーションと同様にオブジェクト毎に「色処理済み」である旨の情報が添付される。この情報はアプリケーションの色処理と共通であっても良いし、別であっても良い。
次に、ステップS2601、ステップS2602、ステップS2603でいずれもNoと判断した場合、つまり、アプリケーション201またはGDI202が当該印刷データに対して色処理を行っていないと判断した場合には、ステップS2604で、プレビュー上で全ての用紙種類の選択を可能とする選択肢情報をプレビューファイル209に保存する。
一方、ステップS2601、または、ステップS2602またはステップS2603のいずれかでYesと判断した場合、つまり、アプリケーション201またはGDI202が当該印刷データについて色処理を行っていると判断した場合には、ステップS2605で、プレビュー上で、現在選択されている用紙の種類の設定値と共通のカラープロファイルを用いる範囲で、設定値の選択を可能とする選択肢一覧情報をプレビューファイル209に保存する。このために、たとえばプリンタグラフィックドライバ206は、図23に示した「設定値−プロファイル対応表」2301を参照し、現在の設定値、たとえば「普通紙」に対応するカラープロファイルを対応表2301から検索して、発見されたエントリに含まれる用紙の種類の設定値を、選択を許す範囲を示す選択肢情報としてプレビューファイル209に保存する。
プレビューア208は、選択欄402においてプルダウン表示操作がされた場合には、プレビューファイル209に保存された選択肢一覧情報を元に、選択を許す用紙の種類の設定値を表示して本処理を終了する。設定値が変更された場合や印刷開始が指示された場合の処理は、第1実施形態と同様である。
以上の構成及び手順によれば、本実施形態では、アプリケーションで作成された印刷データの印刷要求後に印刷設定の変更行う際、アプリケーションまたはオペレーティングシステムのいずれかで色処理ずみであるかどうか判断し、色処理済みであると判断すれば、各印刷設定項目において色処理に用いた色パラメータと同じ色パラメータを用いる選択肢以外は選択できないようにすることで、印刷設定を変更しても正確な色で出力できる。
以上説明した第4〜5実施形態は、第1乃至第3実施形態のいずれかと組み合わせることもできる。
[変形例]
本発明の目的は、本実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読みだして実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が本実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体及び当該プログラムコードは本発明を構成することとなる。
プログラムコードを供給するための記憶媒体としては、ROM、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、本実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれる。