(57)【要約】【課題】ページ単位で印刷設定を行い印刷設定に反映させる。【解決手段】テーブル格納部１０６には、印刷ジョブひとつについてその全体に適用される全体設定と、その全体設定を基に、ページごとに指定される部分設定とを含む設定テーブルが格納される。データ処理部１０５は、ＧＤＩ１０３が生成したメタファイルを、テーブル格納部１０６に格納された設定テーブルを１ページ単位で参照して、プリンタ１０８が処理可能な形式のデータに変換する。【選択図】図１
2004126871.tif 000002
【特許請求の範囲】
【請求項１】
データを印刷装置が処理可能なプリントデータに変換する印刷制御方法であって、
前記プリントデータを生成する際の、前記プリントデータ全体に適用される全体設定と、指定されたページに適用される部分設定とを設定させる設定工程と、
前記設定工程により設定された前記部分設定を優先的に適用しつつ、前記全体設定および前記部分設定に従って前記データを前記プリントデータに変換する変換工程と
を備えることを特徴とする印刷制御方法。
【請求項２】
入力される描画データを、印刷装置が印字可能なプリントデータに変換して前記印刷装置に転送する印刷制御方法であって、
前記描画データ全体に適用される印刷設定である全体設定を決定するステップと、
前記全体設定決定ステップにおいて決定された全体設定を、設定を管理する設定テーブルに記録するステップと、
前記描画データが複数ページにわたる場合に、一部のページにのみ適用される設定である部分設定を決定するステップと、
前記部分設定決定ステップにおいて決定される部分設定を、前記設定テーブルに記録するステップと、
前記設定テーブルから注目ページごとに使用する設定を決定し、決定した設定に基づいてプリントデータを生成するステップと
を有することを特徴とする印刷制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえばホストコンピュータなどで作成された描画データを、所定のフォーマットに変換して印刷装置に出力する印刷制御方法および装置に関するものである。
【０００２】
【従来の技術】
従来、各種のアプリケーションで作成したデータを印刷する場合、アプリケーションの印刷ダイアログを開き、使用するプリンタを指定して印刷を実行する。その際、指定されたプリンタが処理するためのデータ形式でデータ（以下、プリントデータと呼ぶ。）を生成するためのソフトウエアであるプリンタドライバでは、各種の印刷設定を行うことができる。たとえば、写真画像を印刷する場合とテキストデータを印刷する場合では、プリントデータを生成する過程で行われる処理は異なり、ドライバはそれぞれに適した画像処理を施す必要がある。そのために、印刷する対象データの種類に応じた画像処理方法を選択しておくことが好ましい。また、普通紙に印刷する場合と、写真を印刷するためのフォトペーパーに印刷する場合でも、最適な画像処理方法や印刷速度などが異なるため、使用する用紙に適した印刷を行うためには、適切な用紙を選択する必要がある。
【０００３】
また、用紙のサイズや向き、印刷される用紙の１面（以下、物理ページ）に対して、アプリケーションで作成したデータ上でのページ（以下、論理ページ）を複数配置するＮ−ｕｐ印刷などの印刷レイアウトや、拡大・縮小して出力する拡大・縮小印刷設定、用紙の両面に印刷する両面印刷機能等を備えたプリンタにおいては、両面印刷設定などレイアウトや用紙サイズなどに関する項目を指定することが可能である。
【０００４】
そのほかにも、文書を印刷する際に「社外秘」などのスタンプを追加するスタンプの設定や、写真を印刷する際の特殊効果などの設定も可能である。
【０００５】
プリンタドライバでは、ユーザーインターフェース（ＵＩ）画面を表示して、その上でこれらの印刷設定を行わせることによって、さまざまな種類のデータを、指定された印刷設定に従って最適な状態で印刷することができる。
【０００６】
【発明が解決しようとする課題】
これらのプリンタドライバの印刷設定は、印刷ジョブ単位で行われるため、ひとつの印刷ジョブでは印刷対象全体に共通の印刷設定が適用されることになる。
【０００７】
しかしながら、複数ページにわたる文書データなどを印刷する際に、たとえば、テキストのみのページは両面印刷を行い画像が含まれるページは片面印刷にしたり、一部のページのみ２−ｕｐ印刷を行うなどのレイアウトを行いたい場合が考えられる。また、テキストのみのページは速度優先で印刷し、グラフィックスを含むページのみ印刷品位を上げて印刷するなど、ジョブの途中で印刷品位を変更したい場合も考えられる。
【０００８】
このように、文書の途中で印刷設定を変更しようとする場合には、設定を変更する必要があるページまで一旦印刷し、再度印刷ジョブを立ち上げ、印刷設定を変更してから残りのページを印刷するという操作が必要となる。
【０００９】
ジョブの途中で画像処理方法を変える手法としては、テキストのみのページはグレースケール印刷を行い、グラフィクスを含むページはカラー印刷（グラフィクス印刷）を行うというように、ページを構成する内容に応じて、画像処理の方法を自動的に変更するという手法が知られている。しかし、この手法では、画像処理方法が適宜変更されるのみにとどまり、印刷のレイアウトを自由に変更することなどはできなかった。
【００１０】
本発明は上記問題点に鑑みてなされてものであり、ひとつの印刷ジョブで印刷するドキュメントについて、ページごとに指定された印刷設定に従って印刷することを可能にし、それにより、自由度の高い印刷を容易な操作で行う印刷制御方法および装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明は、上記目的を達成するため次のような構成を有する。
【００１２】
データを印刷装置が処理可能なプリントデータに変換する印刷制御方法であって、
前記プリントデータを生成する際の、前記プリントデータ全体に適用される全体設定と、指定されたページに適用される部分設定とを設定させる設定工程と、前記設定工程により設定された前記部分設定を優先的に適用しつつ、前記全体設定および前記部分設定に従って前記データを前記プリントデータに変換する変換工程とを備える。
【００１３】
さらに好ましくは、前記設定工程は、前記部分設定を適用するページを指定するページ指定工程を有し、前記変換工程においては、前記部分設定された項目以外の項目については、前記全体設定が適用される。
【００１４】
さらに好ましくは、前記変換工程は、オペレーティングシステムにより生成されたメタデータを、前記部分設定を優先的に適用しつつ、前記全体設定および前記部分設定に従って前記プリントデータに変換する。
【００１５】
さらに好ましくは、前記変換工程は、レンダラにより生成されたビットマップデータを、前記部分設定を優先的に適用しつつ、前記全体設定および前記部分設定に従って前記プリントデータに変換する。
【００１６】
さらに好ましくは、前記プリントデータは、ビットマップデータである。
【００１７】
あるいは本発明は次のような構成を備える。
入力される描画データを、印刷装置が印字可能なプリントデータに変換して前記印刷装置に転送する印刷制御方法であって、
前記描画データ全体に適用される印刷設定である全体設定を決定するステップと、
前記全体設定決定ステップにおいて決定された全体設定を、設定を管理する設定テーブルに記録するステップと、
前記描画データが複数ページにわたる場合に、一部のページにのみ適用される設定である部分設定を決定するステップと、
前記部分設定決定ステップにおいて決定される部分設定を、前記設定テーブルに記録するステップと、
前記設定テーブルから注目ページごとに使用する設定を決定し、決定した設定に基づいてプリントデータを生成するステップとを有する。
【００１８】
あるいは本発明の印刷制御装置は次の構成を有する。
【００１９】
データを印刷装置が処理可能なプリントデータに変換する印刷制御装置であって、
前記プリントデータを生成する際の、前記プリントデータ全体に適用される全体設定と、指定されたページに適用される部分設定とを設定させる設定手段と、前記設定手段により設定された前記部分設定を優先的に適用しつつ、前記全体設定および前記部分設定に従って前記データを前記プリントデータに変換する変換手段とを備える。
【００２０】
更に好ましくは、前記変換手段は、オペレーティングシステムにより生成されたメタデータを、前記部分設定を優先的に適用しつつ、前記全体設定および前記部分設定に従って前記プリントデータに変換する。
【００２１】
更に好ましくは、前記変換手段は、レンダラにより生成されたビットマップデータを、前記部分設定を優先的に適用しつつ、前記全体設定および前記部分設定に従って前記プリントデータに変換する。
【００２２】
あるいは、次の構成を備える。
【００２３】
入力される描画データを、印刷装置が印字可能なプリントデータに変換して前記印刷装置に転送する印刷制御装置であって、
前記描画データ全体に適用される印刷設定である全体設定を決定する手段と、前記全体設定決定手段において決定された全体設定を、設定を管理する設定テーブルに記録する手段と、
前記描画データが複数ページにわたる場合に、一部のページにのみ適用される設定である部分設定を決定する手段と、
前記部分設定決定手段において決定される部分設定を、前記設定テーブルに記録する手段と、
前記設定テーブルから注目ページごとに使用する設定を決定し、決定した設定に基づいてプリントデータを生成する手段とを有する。
【００２４】
あるいは、本発明は、上記いずれかに記載の印刷制御装置と印刷装置とを接続し、該印刷装置により前記印刷制御装置によって変換されたプリントデータを印刷出力することを特徴とする印刷システムにある。
【００２５】
あるいは、本発明は、上記いずれかに記載の印刷制御装置をコンピュータにより実現させるためのコンピュータプログラムにある。
【００２６】
あるいは、本発明は、上記コンピュータプログラムを記録したことを特徴とするコンピュータ可読記録媒体にある。
【００２７】
以上の構成により、文書全体に対してすべて同じ印刷設定を適用するのではなく、プリントドライバの印刷設定において、任意に区切られたページごとに設定を行うことを可能とし、これらの設定をドライバがテーブルとして管理して印刷時には自動的に該当するページの設定を使用することにより、一回の印刷ジョブのうちに、複数の印刷設定を用いることが可能となった。また、印刷設定においては、通常の全体設定画面でなされた各項目の設定値が、適用するページを指定して印刷設定を行う際の各項目のデフォルトの設定値となることにより、自由度の高い印刷を容易な操作で行うことが可能になった。
【００２８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２９】
【第１実施形態】
《システム全体の説明》
図１は本発明の第１の実施形態におけるプリントシステム１００の構成例をあらわしたブロック図である。
【００３０】
アプリケーションソフト１０２は、ホストコンピュータ１０１の基本ソフトウェアであるオペレーティングシステム（以下、ＯＳ）上で動作するソフトウェアであり、文書作成用のワープロソフトや、図面作成ソフト、プレゼンテーションソフトなどが考えられ、作成したデータを印刷する機能を有しているものである。
【００３１】
ＧＤＩ１０３はグラフィックデバイスインターフェース（ＧＤＩ）と呼ばれる、ＯＳ固有の出力モジュールであり、ディスプレイへの表示やプリンタへの印刷など、画像情報の処理を司るＯＳのサブシステム（基本関数群）である。アプリケーションはこの基本関数を使うことで、描画情報に関してはデバイスに依存しないかたちで出力を行うことが可能である。このＧＤＩ１０３は、ディスプレイやプリンタなど、指定されたデバイスのデバイスドライバを動的にリンクして使用することで、それぞれのデバイスに対する出力処理を行う。したがって、プリンタに出力する場合はプリンタドライバに対して出力を行う。ＧＤＩ１０３により出力されるデータは、必要に応じてスプーラ１０７に格納される。
【００３２】
プリンタドライバ１０４は、ＧＤＩ１０３からの呼び出しによって、所定のプリンタで印刷可能なデータフォーマットにデータを変換し、プリンタへ出力する。その際、どのような設定でプリントデータを生成するかを決定するための印刷設定画面（ＵＩ）を表示・制御する機能を有しており、このＵＩで指定された設定に基づいてプリントデータを生成する。
【００３３】
本実施形態のプリンタドライバ１０４はデータ処理部１０５とテーブル格納部１０６で構成される。データ処理部１０５は、上述したＵＩの制御や、ＧＤＩ１０３からデータを受け取ってＵＩの設定に基づいてプリントデータを生成するなどの処理をすべて行う。テーブル格納部１０６は、データ処理部１０５の表示したＵＩ上でなされた印刷設定を管理するための設定テーブルを格納するための記憶領域である。データ処理部１０５は、印刷設定情報を図８に示すような設定テーブルとしてテーブル格納部１０６に記憶し、プリントデータを生成する際には、テーブル格納部１０６より設定テーブルから必要なページの設定をロードし、設定に応じたプリントデータの生成を行う。なお、テーブル格納部１０６に格納される設定テーブルとしては、プリンタの機種ごとに予め標準値として与えられているデフォルト設定テーブルと、そのデフォルト設定を基に、後述する図３の手順でユーザにより変更された全体設定およびページ別設定を保存する通常の設定テーブルとが含まれる。初期的には、通常の設定テーブルにはデフォルト設定テーブルの内容が全体設定として複写されている。
【００３４】
なお、ここでは設定テーブルを格納する記憶領域を、テーブル格納部という形でプリンタドライバ１０４内に設けたが、テーブルを記憶する場所はドライバ１０４内でなくてもかまわない。たとえば、ホストコンピュータ１０１内の他の記憶領域にテーブルを格納して、ドライバが適宜ロードするという構成でもよい。
【００３５】
《コンピュータおよびプリンタの構成の説明》
次に、コンピュータ１０１とプリンタ１０８のハードウェア構成について図９を参照して説明する。
【００３６】
図９に示されているように、コンピュータ１０１は処理部１０００とこれに周辺装置を含めてコンピュータ全体を構成している。また、プリンタ１０８は、記録ヘッド３０１０、記録ヘッド３０１０を搬送するキャリアを駆動するキャリア（ＣＲ）モータ３０１１、用紙を搬送する搬送モータ３０１２などの駆動部と、制御回路部３００３とから構成されている。
【００３７】
コンピュータ１０１の処理部１０００は、制御プログラムに従ってホスト装置の全体制御を司るＭＰＵ１００１、システム構成要素を互いに接続するバス１００２、ＭＰＵ１００１が実行するプログラムやデータ等を一時記憶するＤＲＡＭ１００３、システムバスとメモリバス、ＭＰＵ１００１を接続するブリッジ１００４、例えば、ＣＲＴなどの表示装置２００１にグラフィック情報を表示するための制御機能を備えたグラフィックアダプタ１００５を含んでいる。
【００３８】
さらに、処理部１０００はＨＤＤ装置２００２とのインタフェースを司るＨＤＤコントローラ１００６、キーボード２００３とのインタフェースを司るキーボードコントローラ１００７、ＩＥＥＥ１２８４規格に従ってプリンタ１０８との間の通信を司る、パラレルインタフェースである通信Ｉ／Ｆ１００８を備えている。
【００３９】
さらに、処理部１０００には、グラフィックアダプタ１００５を介して操作者にグラフィック情報等を表示する表示装置２００１（この例では、ＣＲＴ）が接続されている。更に、プログラムやデータが格納された大容量記憶装置であるハードディスクドライブ（ＨＤＤ）装置２００２、キーボード２００３が夫々、コントローラを介して接続されている。
【００４０】
一方、プリンタ１０８は本実施形態ではインクジェット方式のシリアルプリンタである。プリンタ１０８の制御回路部３００３は、制御プログラム実行機能と周辺装置制御機能とを兼ね備えた、プリンタ１０８の全体制御を司るＭＣＵ３００１、制御回路部内部の各構成要素を接続するシステムバス３００２、記録データの記録ヘッド３０１０への供給、メモリアドレスデコーディング、キャリアモータへの制御パルス発生機構等を制御回路として内部に納めたゲートアレイ（Ｇ．Ａ．）を備えている。
【００４１】
また、制御回路部３００３は、ＭＣＵ３００１が実行する制御プログラムやホスト印刷情報等を格納するＲＯＭ３００４、各種データ（画像記録情報やヘッドに供給される記録データ等）を保存するＤＲＡＭ３００５、ＩＥＥＥ１２８４規格に従いホスト装置５１との間の通信を司るパラレルインタフェースである通信Ｉ／Ｆ３００６、ゲートアレイ３００３から出力されたヘッド記録信号に基づき、記録ヘッド３０１０を駆動する電気信号に変換するヘッドドライバ３００７を備えている。
【００４２】
さらに、制御回路部３００３は、ゲートアレイ３００３から出力されるキャリアモータ制御パルスを実際にキャリア（ＣＲ）モータ３０１１を駆動する電気信号に変換するＣＲモータドライバ３００８、ＭＣＵ３００１から出力された搬送モータ制御パルスを、実際に搬送モータを駆動する電気信号に変換するＬＦモータドライバ３００９を備えている。
【００４３】
図１に示すシステムの各ブロックは、図９のコンピュータにおいて、後述する図２や図３、図５の手順のプログラムを初めとするプログラムを実行することで実現されている。
【００４４】
《処理の流れの説明》
図２は、本実施形態のプリントシステム１００における処理の流れをあらわすブロック図である。以下、本システムにおける印刷処理の概要を、アプリケーションソフト１０１に文書作成ソフトを用いた例で説明する。
【００４５】
《印刷設定方法》
アプリケーション１０２の印刷メニューにおいて使用するプリンタを選択してプリンタドライバ１０４の印刷設定画面を表示させると、図６に示すような設定画面が表示される（Ｓ２０１）。ここで表示される設定画面は、文書全体に適用される基本となる設定（全体設定）を行うためのもの（以下、全体設定画面と呼ぶ。）であり、画像処理に関する設定やページレイアウトなど、前述したさまざまな印刷設定を行うことができる。
【００４６】
図６は本実施形態における全体設定画面６０１を表す図である。マウス等のポインティングデバイスを用いてユーザによりここで設定された内容は、文書全体に適用される基本となる設定である全体設定とされ、プリンタドライバ１０４によりその内容が図８のような設定テーブル８０１に全体設定として書き込まれ、テーブル格納部１０６に格納される　（Ｓ２０２）　。
【００４７】
文書全体を同じ設定で印刷する場合には、全体設定画面における設定のみで印刷設定を終了し、アプリケーション１０２の印刷メニューにおいて表示される不図示の印刷実行ボタンを押して印刷を実行することで、指示した設定における印刷が実行される（Ｓ２０５）。具体的には、ＧＤＩ１０３からの呼び出しによって、プリンタドライバ１０４がＲＡＭに呼び出され、プリンタドライバ１０４は、ＧＤＩ１０３からの描画出力（ＤＤＩ関数と呼ばれる）を、所定のプリンタで印刷可能なデータフォーマット形式の印刷データに変換し、ＯＳのスプーラに出力することで、印刷データをプリンタへ出力する。
【００４８】
一方、文書の途中で設定を切り替えて、ページごとに異なる設定で印刷を行う場合には、全体設定を行った後に、ページ指定設定を行う。全体設定画面６０１には、ページごとに設定を変えて印刷を行うためのオプションである個別設定ボタン６０２が設けられている。個別設定ボタン６０２が押されると、プリンタドライバ１０４により図７に示すようなページ指定設定画面７０１が表示される（Ｓ２０３）。
【００４９】
ページ指定設定画面７０１には、全体印刷設定画面６０１における各設定項目に更に、個別設定を適用するページを指定するボックスが設けられており、ここで指定した範囲にのみ、この画面で行った設定が適用される。ページは、単独のページあるいは同一の設定が適用されるページ範囲やページ群が指定可能である。また、ページ指定設定画面の各設定項目の初期値は、Ｓ２０２において全体設定画面で設定され、設定テーブル８０１に記憶されている全体設定の値となっている。ページ指定設定画面７０１では、全体設定の設定値から変更したい項目のみ変更することにより、指定したページを全体設定とは異なる設定で印刷することができる。このとき、設定テーブルには、指定されたページの設定として、プリンタドライバ１０４により全体設定と異なる項目のみが図８に示すように書き込まれる（Ｓ２０４）。
【００５０】
さらに、文書中の他のページも基本設定と異なる設定で印刷したい場合には、ページ指定設定画面７０１に設けられている個別設定ボタン７０２を押すことで、さらに他のページの設定を個別に行うためのページ指定設定画面７０１が新たに表示される。ここで表示されるページ指定設定画面は、全体設定画面６０１で個別指定ボタン６０２を押すことで表示される画面と同様の外観および機能を備えたものである。したがって、各設定項目の初期値は全体設定の設定値となっており、変更された項目のみ全体設定とは異なる設定値が適用される。設定テーブルにも同様に、全体設定と異なる設定値をもつ項目のみが記憶される。
【００５１】
Ｓ２０３〜Ｓ２０４のページ指定設定を、設定を変更したいページがなくなるまで繰り返し、すべての設定が終了したら、印刷実行ボタンを押して印刷を実行することで、指示した設定における印刷が実行される（Ｓ２０５）。
【００５２】
図８の設定テーブル８０１は、基本となる全体設定に対して、２〜４ページには印刷の種類を全体設定の「等倍印刷」から「割り付け印刷（２−ｕｐ）」に変更したページ指定設定が、７〜９ページには印刷品位を全体設定の「標準」から「きれい」に変更したページ指定設定が、１３〜１５ページには印刷の種類を全体設定の「等倍印刷」から「割付印刷（４−ｕｐ）」に変更し、両面印刷を全体設定の「ＯＦＦ（指定なし）」から「ＯＮ」に変更したページ指定設定が適用される場合の例である。このように、設定テーブルには全体設定と、その全体設定に対して設定が変更されたページのページ指定設定とが格納される。
【００５３】
《印刷実行までのシステムの処理》
図３はアプリケーションで印刷を指示してから印刷が終了するまでの処理を表したフローチャートである。
【００５４】
アプリケーション１０２で印刷ダイアログを表示させ、使用するプリンタが選択されると、データ処理部１０５は印刷設定画面を表示する（Ｓ３０１）。印刷設定画面上で前述した図３の手順で詳細な印刷設定が行われると、データ処理部１０５は全体設定およびページ指定設定を図８に示すような設定テーブルとして記憶する。そして、アプリケーションにおいて印刷ボタンを押すことによって印刷実行が指示されると、データ処理部１０５は、確定された設定テーブルをテーブル格納部１０６に格納する（Ｓ３０２）。
【００５５】
一方アプリケーション１０２は印刷実行時の設定をドライバ１０４に要求し、この要求に対してデータ処理部１０５はテーブル格納部１０６に格納されている設定テーブルより、全体設定の設定値をアプリケーションに返す。そして、アプリケーションはドライバ１０４から獲得した印刷設定に基づいて、ＧＤＩ関数をコールすることでデータを出力する（Ｓ３０３）。なお、以下では、アプリケーションがＧＤＩ１０３をコールしてデータを出力させることを、アプリケーションがデータを出力すると表現することもある。
【００５６】
ここで、ドライバ１０４がアプリケーション１０２に渡す全体設定の設定値は、ページごとに途中で異なる設定を使用することが可能な項目に関しては、ドライバのデフォルトの設定値、すなわちデフォルト設定テーブルの内容である。これは、アプリケーション１０２が出力を終了した後に文書の途中で設定を変更して印刷するためには、アプリケーション１０２から出力される描画データの出力サイズやレイアウトはデフォルトの設定値となっていることが好ましいためである。たとえば、解像度やページレイアウトなどに関しては、Ｎ−ｕｐ印刷などのためにあとで拡大／縮小処理をドライバ側で行う可能性がある。そのことを考慮し、アプリケーション１０２からの出力はドライバのデフォルト設定値に基づいたデータである必要がある。また、色処理に使用するパラメータなども、アプリケーション１０２の出力終了後の処理においてデータ処理部１０５が設定テーブルを参照して、使用するパラメータを切り替えることによって、異なる設定での印刷を実現する。そのため、アプリケーション１０２に渡す印刷設定はドライバのデフォルト設定値とし、デフォルトの設定値でアプリケーションが出力したデータに対して、後のステップでドライバが設定テーブルに応じた処理を行う。
【００５７】
アプリケーションがデータの出力を終了したら、ドライバのデータ処理部１０５は、アプリケーションがデータを出力した際の各種の設定をチェックしつつ、設定情報をもたないメタファイルの形で出力されたデータを全ページ分スプーラ１０７にスプールする（Ｓ３０４）。この時点でアプリケーションは開放される。このメタファイルは、どのようなプリンタおよびその他出力デバイスでも解釈可能な、デバイスに依存しない形式のいわば中間データであり、プリンタドライバ１０４によりプリンタ１０８で処理可能な形式に変換される。なお、米国マイクロソフト社のＷｉｎｄｏｗｓ　ＯＳを例にあげれば、ＥＭＦファイルを利用することが望ましい。
【００５８】
ここで、アプリケーションからの出力をメタファイルとしてスプールする処理は、プリンタドライバが内部で行ってもよいし、ＯＳのサブシステムが実現する形でもよいからである。また、プリンタドライバが必ず内部処理する場合には、上述したメタファイルを用いずに、プリンタドライバ１０４の内部で独自フォーマット形式のスプールファイルとしてスプールしてもよい。その場合、スプールファイル１０７は、プリンタドライバ１０４からアクセスすることになる。
【００５９】
《印刷実行後の処理》
スプールが終了すると、データ処理部１０５は、テーブル格納部１０６に格納されている設定テーブルを参照し、１ページ目を先頭の注目ページ番号として、注目ページの印刷に使用する設定をロードする（Ｓ３０５）。そのためには、図８の設定テーブルの「ページ」欄を検索し、注目ページ、たとえば１ページ目がページ指定欄に含まれていたなら、注目ページに対する個別設定がされているものと判断できる。個別設定をされていたら、全体設定と注目ページ、この場合には１ページ目の個別設定を、プリンタドライバ１０４が参照するメモリにロードする。その際、個別設定に記述されている項目は個別設定の設定値を、それ以外の項目は全体設定の設定値を、注目ページの印刷設定として使用する。ページ指定設定に注目ページの設定がない場合は、全体設定に基づいて印刷を行うため、全体設定の設定値をロードし、すべての項目について全体設定の設定値を使用する。なお、ここでは設定テーブルのうち注目ページについての設定を、注目ページ処理のつどロードするものとしたが、テーブル格納部１０６をプリンタドライバ１０４が直接アクセスして、注目ページについての設定値を参照してもよい。
【００６０】
プリントデータの生成は物理ページごとに処理を繰り返すため、物理ページ１ページに論理ページが複数配置されるＮ−ｕｐ印刷を行う際には、１つの物理ページを構成する論理ページを一括して処理を行う。そのため、注目ページに対する印刷設定のうち、ページレイアウトに関する設定値をチェックし、１つの物理ページを構成するのに必要なだけの論理ページのメタファイルをスプーラからロードする。たとえば、注目ページの印刷設定として２−ｕｐ印刷が設定されていたら、現在の注目ページの次のページの設定をチェックし、次ページにおいても２−ｕｐ印刷が設定されていたら、連続する２つの論理ページをメタファイルからロードする。そして、ロードした２ページ分のメタファイルに対して、２−ｕｐレイアウトで物理ページに配置されるよう印刷データの生成処理を行う。ＰＤＬ（ページ記述言語）対応プリンタに出力する場合は、描画内容の拡大縮小処理や解像度に応じた描画内容の配置処理が行われ、また、ラスタープリンタ（インクジェット形式のプリンタは主にこの形式）に出力する場合は、２−ｕｐレイアウトでラスタライズ処理を行う。その後、印刷品位や色調整の印刷設定に応じて色補正等の画像処理を行い、プリントデータを生成して、プリンタへ出力すべくＯＳのプリントスプーラ（図示省略）に出力する。この場合、次に処理を行う注目ページは、２ページ進むことになる。このように、ラスタライズ処理は物理ページ単位で行うため、Ｎ−ｕｐ印刷設定がなされていた場合には、Ｎページ分の論理ページをまとめて処理することとなる。したがって、Ｎ−ｕｐ印刷が設定されている連続する論理ページがＮページに満たない場合は、Ｎ−ｕｐ印刷が設定されているページだけでＮ−ｕｐ印刷を終了し、残りは次の物理ページに印刷することとなる。
その他、用紙の種類など、それらの設定が異なる論理ページは同一の物理ページ上には印刷できない場合には、次の物理ページに印刷するものとして処理を行う。
【００６１】
なお、本実施形態では、１ページを所定のバンド幅で区切りバンド単位で１ページ分の処理を行う、いわゆるバンディング処理を行うラスタープリンタを例にとって説明している。したがって、１バンド分のラスタライズが終了してバンドデータが作成されると（Ｓ３０７）、プリンタドライバ１０４はラスタデータをＲＧＢ表色系からＣＭＹＫ表色系に変換するなどの処理をしてプリントデータを生成する。このとき、両面印刷が設定されている場合には、両面印刷を指示するコマンドと、送られるデータが両面印刷時の表面もしくは裏面であることをあらわすコマンドを付加するといったように、現在の必要なコマンドを付加してプリントデータ生成する。こうして生成されたバンド単位のプリントデータがプリンタ１０８へ送られる（Ｓ３０８）。この処理を１物理ページ分終了するまで繰り返し、１ページ分の出力を終了する。
【００６２】
以上の物理ページ単位の処理を、スプールされているすべてのページに対して繰り返すことで全ページの印刷を終了する。
【００６３】
以上の処理により、ページごとに印刷設定を行い、設定された印刷設定を１印刷ジョブ中に自動的に切り替えて使用して印刷を行うことができる。なお、ページごとに設定できる項目としては、たとえば、用紙の種類（普通紙と専用紙、ＯＨＰ用フィルムの別など）や、印刷品位（２値化処理のアルゴリズムや解像度など）、色調整（プリンタドライバによる自動調整の有無など）、ページレイアウト（Ｎ−ｕｐ指定など）、ウオーターマークの内容や有無、ヘッダ／フッタの内容や有無などがある。
【００６４】
なお、本実施形態においては、コンピュータによりビットマップデータを生成するものとして説明した。しかし、プリンタが処理可能なデータ形式は必ずしもビットマップ形式に限られない。プリンタが一定のＰＤＬのインタプリタを備えている場合には、メタファイルからそのＰＤＬで記述された形式の印刷データが生成される場合がある。そのような場合にも、ページごとに全体設定およびそのページの個別設定を参照し、それらの設定に従って印刷データが生成される。
【００６５】
【第２実施形態】
《システム全体の説明》
図４は、本発明の第２の実施形態におけるプリントシステムの構成例を表したブロック図である。本実施形態では、印刷を行うホストコンピュータ４０１のＯＳとして、ＬｉｎｕｘなどのＵＮＩＸ（登録商標）系ＯＳを用いてシステムを構成する。
【００６６】
ＬｉｎｕｘなどのＵＮＩＸ系ＯＳ上で印刷を行う場合には、Ｘ　Ｗｉｎｄｏｗなどのシステムを使用できる環境では、ＧＵＩを使用してアプリケーションで作成したデータを印刷するアプリケーション経由の印刷と、ＧＵＩを使用せずに、コマンドラインから直接画像ファイルなどを指定して印刷を行うコマンドライン印刷の二つの方法がある。アプリケーションからの印刷では、アプリケーション上でデータを作成し印刷を指示すると、アプリケーションはＰｏｓｔＳｃｒｉｐｔ（登録商標）などの形式にデータを変換して出力する。ＰｏｓｔＳｃｒｉｐｔデータを印刷することのできるＰｏｓｔＳｃｒｉｐｔ（ＰＳ）プリンタを使用する場合には、アプリケーションから出力されたＰｏｓｔＳｃｒｉｐｔデータをプリンタへ出力することで印刷を行うことが可能だが、ＰｏｓｔＳｃｒｉｐｔデータを印刷できないインクジェットプリンタなどでは、アプリケーションから出力されたＰｏｓｔＳｃｒｉｐｔデータを、プリンタへ送るためのプリントデータに変換する処理が必要となる。一般的には、アプリケーションから出力されるＰｏｓｔＳｃｒｉｐｔデータを、まずＧｈｏｓｔＳｃｒｉｐｔ（登録商標）などのレンダラに入力し、ビットマップデータに変換して出力させる。そして、出力されたビットマップデータを、プリンタドライバがプリンタの解釈できるプリントデータに変換してプリンタに送信することで、印刷を行っている。このように、ＵＮＩＸ系ＯＳでは、アプリケーションはＰｏｓｔＳｃｒｉｐｔファイルを出力し、レンダラがビットマップデータに変換し、ドライバはビットマップデータをプリントデータに変換するというように、各プログラムが順次データを変換するかたちで印刷を行っている。
【００６７】
本実施形態におけるプリントシステムでは、図４に示すように、レンダラとしてＧｈｏｓｔＳｃｒｉｐｔを使用してアプリケーションからの印刷を行う。以下、本実施形態におけるプリントシステムについて、図４および図５を参照して詳細に説明する。
【００６８】
《システムの構成》
図４において、ホストコンピュータ４０１はＵＮＩＸ系ＯＳであるＬｉｎｕｘを使用し、Ｌｉｎｕｘ上でＸ　Ｗｉｎｄｏｗシステムを使用してアプリケーション４０２で作成したデータの印刷を行うものとする。アプリケーション４０２は、Ｌｉｎｕｘ上で動作する文書作成用プログラムや画像編集プログラムなどであり、作成したデータを印刷する機能を有しているおり、印刷時にはＰｏｓｔＳｃｒｉｐｔファイルとしてデータを出力する機能を有しているものである。
【００６９】
プリンタドライバ４０３は、印刷設定を行うためのＵＩの制御や、アプリケーション４０２が出力したＰｏｓｔＳｃｒｉｐｔデータをプリントデータにするために、ＧｈｏｓｔＳｃｒｉｐｔ４０４を起動し、さらに、ＧｈｏｓｔＳｃｒｉｐｔ４０４の出力するビットマップデータをプリントデータに変換するなどの処理を行うものである。プリンタドライバ４０３はデータ処理部４０５とテーブル格納部４０６で構成され、データ処理部４０５が前述したＵＩの制御およびＧｈｏｓｔＳｃｒｉｐｔ４０４の起動、データ変換などの処理をすべて行う。さらにデータ制御部４０５は、自身の制御するＵＩ上でなされた設定を図８に示すような設定テーブルとしてテーブル格納部４０６に格納し、プリントデータを生成する際には、テーブル格納部４０６より設定テーブルから必要なページの設定をロードし、設定に応じたプリントデータの生成を行う。
【００７０】
なお、ここでも第１実施形態と同様に、図８の設定テーブルを格納する記憶領域を、テーブル格納部４０６という形でプリンタドライバ４０３内に設けたが、テーブルを記憶する場所はドライバ４０３内でなくてもかまわない。たとえば、ホストコンピュータ４０１内の他の記憶領域にテーブルを格納して、ドライバが適宜ロードするという構成でもよい。
【００７１】
《印刷実行までのシステムの処理》
図５は、図４に示すプリントシステムにおいて印刷を行う際の処理を表したフローチャートである。
【００７２】
アプリケーション４０２上で編集したデータを印刷する際に表示されるダイアログでは、出力サイズなどの設定を行うことができる。しかし、ここで設定される「出力サイズ」とは、アプリケーションから出力されるＰｏｓｔＳｃｒｉｐｔファイルの１ページのサイズであり、実際に印刷される用紙のサイズを指定するものではない。同様に、その他のアプリケーションで指定可能な設定は、すべてアプリケーション４０２の出力するＰｏｓｔＳｃｒｉｐｔデータに対する設定である。そして、印刷に使用するプリンタを指定してアプリケーションの印刷ダイアログで印刷を実行すると、アプリケーションは自身の印刷ダイアログにおいて指定された出力サイズでＰｏｓｔＳｃｒｉｐｔファイルとして全ページを出力する（Ｓ５０１）。
【００７３】
ドライバ４０３は、アプリケーション４０２から出力されたＰｏｓｔＳｃｒｉｐｔファイルをビットマップデータに変換するために、データ処理部４０５がＧｈｏｓｔＳｃｒｉｐｔ４０４を起動し、ＰｈｏｓｔＳｃｒｉｐｔファイルを渡す（Ｓ５０２）。この際、データ処理部４０５は出力させるデータのフォーマットや１ページのサイズなどを指定してＧｈｏｓｔＳｃｒｉｐｔ４０４を起動する。たとえば、Ａ４サイズのｂｍｐファイルで出力する、などの指定を行う。
【００７４】
ＧｈｏｓｔＳｃｒｉｐｔ４０４は、入力されたＰｏｓｔＳｃｒｉｐｔデータをドライバに指定された形式のビットマップデータにレンダリングして出力する（Ｓ５０３）。
【００７５】
データ処理部４０５は、ＧｈｏｓｔＳｃｒｉｐｔ４０４から出力されたビットマップデータを受け取ると、印刷設定を行うための印刷設定画面（ＵＩ）を表示する。印刷設定の手順は第１実施形態と同様であり、図２に示す手順によって行われる。したがって、最初に表示されるＵＩは図６に示すような全体設定を行うためのＵＩであり、このＵＩ上で個別設定ボタン６０２を押すと、図７のようなページ指定設定画面７０１が表示される。そして、必要なだけのページごとの個別設定を行い、印刷設定を終了する。
【００７６】
このとき、データ処理部４０５は、全体設定およびページ指定設定をそれぞれ設定テーブルに書き込んでいく。すべての設定を終了し、印刷ボタンを押すことによって印刷実行が指示されると、データ処理部４０５は各ページの設定が書き込まれた設定テーブルをテーブル格納部４０６に格納する（Ｓ５０４）。
【００７７】
そして、データ処理部４０５は、１ページごとに現在のページの設定をロードして（Ｓ５０５）、ビットマップデータに対して所定の色処理やＲＧＢからＣＭＹＫへの変換などを施し、プリントコマンドを付加してプリントデータを生成し、プリンタに出力する（Ｓ５０６）。このとき、第１実施形態と同様に、物理ページで単位でプリントデータを生成してプリンタへ送る処理を繰り返すため、Ｎ−ｕｐ印刷を行う際には、１つの物理ページを構成する論理ページを一括して処理する。この処理を繰り返し、ＧｈｏｓｔＳｃｒｉｐｔ４０４の出力したビットマップデータすべて（全ページ分）に対してプリントデータを出力し終わったら、処理を終了する。
【００７８】
以下に、Ｓ５０５〜Ｓ５０６において、データ処理部４０５が設定テーブルの内容にしたがってビットマップデータからプリントデータを生成する処理について詳細に説明する。
【００７９】
《データ処理部におけるプリントデータ生成》
データ処理部４０５は、テーブル格納部４０６に格納されている設定テーブルを参照し、注目ページの印刷に使用する設定をロードする。ここでは注目ページを１ページ目として説明する。このとき、１ページ目がページ指定で個別設定をされていたら、全体設定と注目ページに対する個別設定をロードし、個別設定に記述されている項目は個別設定の設定値を、それ以外の項目は全体設定の設定値を、注目ページの印刷設定として使用する。ページ指定設定に１ページ目の設定がない場合は、全体設定に基づいて印刷を行うため、全体設定の設定値をロードし、使用する設定とする。
【００８０】
プリントデータの生成は物理ページごとに処理を繰り返すため、１つの物理ページに論理ページが複数配置されるＮ−ｕｐ印刷を行う際には、１つの物理ページを構成する論理ページを一括して処理を行う。そのため、現在の注目ページに対する設定のうち、ページレイアウトに関する設定値をチェックし、１つの物理ページを構成するのに必要なだけの論理ページ分のビットマップデータを読み込む。たとえば、２−ｕｐ印刷が設定されていたら、論理ページ２ページ分のビットマップデータ読み込む。そして、データ処理部４０５は、適用する印刷設定に基づいて拡大／縮小処理やレイアウト変更をしてラスタライズしなおす。たとえば、２−ｕｐ印刷が設定されていたら、読み込んだ二つの論理ページを縮小し、１つの物理ページにレイアウトしなおすという処理を行う。
【００８１】
そして、印刷設定に応じた色補正やＲＧＢからＣＭＹＫへの変換などの処理を行い、プリントファイルを生成し、プリンタ４０７へ出力する。このとき、両面印刷が設定されている場合には、両面印刷を指示するコマンドと、両面印刷時の表面もしくは裏面であることをあらわすコマンドを付加するなど、現在の印刷設定に必要なコマンドを付加してプリントデータ生成する。
【００８２】
この処理を、全ページ終了するまで繰り返し、印刷を終了する。
【００８３】
以上の流れで、ページごとに複数の印刷設定を行い、設定された印刷設定を１ジョブ中に自動的に切り替えて使用して印刷を行うことができる。
【００８４】
このように、第１および第２実施形態記載の手順を実現するプリンタドライバによれば、文書全体に対する印刷設定とページごとの印刷設定とを設定することが可能となった。そして、プリンタドライバＵＩ上で行われたこれらの設定をプリンタドライバがテーブルとして管理することにより、一回の印刷ジョブのうちに、さまざまな設定を切り替えて用いながら印刷を行うことが可能となった。
【００８５】
また、印刷設定においては、通常の全体設定画面でなされた設定値が、ページ指定設定時のデフォルトの設定値となることにより、自由度の高い印刷を容易な操作で行うことが可能になった。
【００８６】
特に、本実施形態では、プリンタに送信する印刷データとしてビットマップデータを、ページごとの印刷設定に応じて、ホストコンピュータにおいて生成することが可能となった。このため、使用するプリンタが、たとえばインクジェットプリンタなどのように、処理可能なデータ形式がビットマップデータ形式に限られるものが多いプリンタである場合に、特に効果がある。
【００８７】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【００８９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９２】
【発明の効果】
以上説明してきたように、本発明によれば、文書全体に対してすべて同じ印刷設定を適用するのではなく、任意に区切られたページごとに設定を変更してプリンタに印刷を行わせることが可能となるという効果を奏する。
【００９３】
また、印刷設定をプリンタドライバがテーブルとして管理することにより、一つの印刷ジョブにおいて、さまざまな設定を切り替えて用いながら印刷を行うことが可能となった。
【００９４】
また、印刷設定においては、全体設定画面でなされた設定値が、ページ指定設定時のデフォルトの設定値となることにより、設定の操作を容易としており、自由度の高い印刷を簡単な操作で行うことが可能になった。
【図面の簡単な説明】
【図１】第一の実施形態のプリントシステムの構成を表すブロック図である。
【図２】第一および第二の実施形態における印刷設定手順をあらわすフローチャートである。
【図３】第一の実施形態における印刷実行までの処理の流れをあらわすフローチャートである。
【図４】第二の実施形態におけるプリントシステムの構成を表すブロック図である。
【図５】第二の実施形態における印刷実行までの処理の流れをあらわすフローチャートである。
【図６】第一および第二の実施形態における全体設定画面をあらわすブロック図である。
【図７】第一および第二の実施形態におけるページ指定設定画面をあらわすブロック図である。
【図８】第一および第二の実施形態における設定テーブルをあらわすブロック図である。
【図９】コンピュータおよびプリンタのブロック図である。
【符号の説明】
１０１　ホストコンピュータ
１０７　スプーラ
１０４　プリンタドライバ
４０１　ホストコンピュータ
４０３　プリンタドライバ
６０１　全体設定画面
６０２　個別設定ボタン
７０１　ページ指定設定画面
７０２　個別設定ボタン
【図１】
2004126871.tif 000003
【図２】
2004126871.tif 000004
【図３】
2004126871.tif 000005
【図４】
2004126871.tif 000006
【図５】
2004126871.tif 000007
【図６】
2004126871.tif 000008
【図７】
2004126871.tif 000009
【図８】
2004126871.tif 000010
【図９】
2004126871.tif 000011