(57)【要約】【課題】両面印刷時に媒体の表面と裏面とで異なる設定で印刷することを可能とすることにより、表面と裏面とで媒体の種類が異なる場合やカラーとモノクロなど印刷モードが異なる場合に、それぞれに適した印刷方法で高品質の画像を形成する。【解決手段】両面印刷の表面と裏面とについて印刷設定がされている場合、注目ページの印刷設定をロードして（Ｓ６０６）、スプールされたメタデータを１ページずつ読み出して（Ｓ６０７）、メタデータをラスタライズすると共に設定を反映したプリントデータを生成し（Ｓ６０８、Ｓ６０９）、注目ページのプリントデータをプリンタに出力する。この手順を注目ページを進めながら実行する。【選択図】図６
2004199292.tif 000002
【特許請求の範囲】
【請求項１】
元データを印刷装置が処理可能なプリントデータに変換する印刷制御方法であって、
前記プリントデータを生成する際の、前記プリントデータ全体に適用される基本設定と、両面印刷の設定と、両面印刷設定時に印刷媒体であるシートの裏面にあたるページに適用される裏面設定とを設定させる設定工程と、
前記設定工程により設定された前記基本設定および前記裏面設定に従って前記データを前記プリントデータに変換する変換工程と
を備えることを特徴とする印刷制御方法。
【請求項２】
前記変換工程においては、前記裏面設定された項目以外の項目については、前記基本設定が適用されることを特徴とする請求項１に記載の印刷制御方法。
【請求項３】
前記変換工程は、前記裏面設定を、印刷媒体であるシートの一面を単位として適用することを特徴とする請求項１または請求項２に記載の印刷制御装置。
【請求項４】
前記変換工程は、オペレーティングシステムにより生成されたメタデータを、前記裏面設定を優先的に適用しつつ、前記基本設定および前記裏面設定に従って前記プリントデータに変換することを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御方法。
【請求項５】
前記変換工程は、前記基本設定および前記裏面設定を参照して、シートの表面にあたるページを変換する際に必要な各種パラメータと裏面にあたるページを変換する際に必要な各種パラメータをあらかじめ読み込んでおき、各ページを変換する際に前記パラメータを交互に参照することを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御方法。
【請求項６】
前記変換工程は、注目ページの変換の都度、前記基本設定および前記裏面設定を参照して使用すべき各種パラメータを読み込んで参照することを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御方法。
【請求項７】
前記設定工程は、印刷媒体となるシートの種類を選択するためのシート選択工程を備え、前記基本設定および前記裏面設定におけるシートの種類を、前記シート選択工程において選択されたシートの種類に応じて変更することを特徴とする請求項１乃至６のいずれか１項に記載の印刷制御方法。
【請求項８】
前記元データを生成するアプリケーションからの印刷設定値の要求に対して、前記変換工程により前記基本設定及び前記裏面設定に従ったプリントデータに変換可能な元データを生成させる印刷設定値を応答する工程を更に備えることを特徴とする請求項１に記載の印刷制御方法。
【請求項９】
前記設定工程においては、印刷対象となるシートの種類の選択、および、選択されたシートの種類に応じてフチ無し印刷の設定を前記基本設定及び前記裏面設定それぞれについて選択可能であり、前記フチ無し印刷が可能なシートの種類が設定されている場合、前記アプリケーションに対して、フチ無し印刷の印刷可能領域を前記アプリケーションに対して応答することを特徴とする請求項８に記載の印刷制御方法。
【請求項１０】
前記設定工程においては、カラー印刷又はモノクローム印刷を前記基本設定及び前記裏面設定それぞれについて選択可能であり、前記アプリケーションに対して、カラー印刷の設定を前記アプリケーションに対して応答することを特徴とする請求項８に記載の印刷制御方法。
【請求項１１】
前記変換工程は、前記設定工程において両面印刷設定がされている場合、一方の面については、前記アプリケーションから受け取った１ページの元データをプリントデータに変換して印刷対象の全シートについて出力し、他方の面については、前記アプリケーションから受け取った各ページの元データを、受け取ったページごとにプリントデータに変換することを特徴とする請求項８に記載の印刷制御方法。
【請求項１２】
前記設定工程は、前記アプリケーションにおいて指定された印刷設定に従って、前記基本設定及び前記裏面設定を変更することを特徴とする請求項８に記載の印刷制御方法。
【請求項１３】
入力される描画データを、印刷装置が印字可能なプリントデータに変換して前記印刷装置に転送する印刷制御方法であって、
前記描画データ全体に適用される印刷設定である基本設定を決定する工程と、前記基本設定決定工程において決定された基本設定を設定テーブルに記録する工程と、
前記描画データが複数ページにわたりシートの両面に印刷される場合に、該シートの裏面にあたるページにのみ適用される裏面設定を決定する工程と、
前記裏面設定を決定する工程において決定される裏面設定を、前記設定テーブルに記録する工程と、
前記設定テーブルから注目ページごとに使用する設定を決定し、決定した設定に基づいてプリントデータを生成する生成工程と
を有することを特徴とする印刷制御方法。
【請求項１４】
前記生成工程は、オペレーティングシステムにより生成されたメタデータから前記描画データの一ページ目を読み込む工程と、
前記裏面設定を優先的に適用しつつ、前記基本設定および前記裏面設定に従って前記一ページ目のデータをプリントデータに変換する工程と、
前記一ページ目のプリントデータを記憶する工程と、
前記メタデータから前記描画データの二ページ目以降のデータを一ページ読み込む工程と、
前記裏面設定に従って前記二ページ目以降の一ページ分のデータをプリントデータに変換する工程と、
前記二ページ目以降のプリントデータをプリンタに出力する工程と、
前記一ページ目のプリントデータを前記二ページ目以降のプリントデータ出力後にプリンタに出力する工程と
を有することを特徴とする請求項１３に記載の印刷制御方法。
【請求項１５】
元データを印刷装置が処理可能なプリントデータに変換する印刷制御装置であって、
前記プリントデータを生成する際の、前記プリントデータ全体に適用される基本設定と、両面印刷の設定と、両面印刷設定時に印刷媒体であるシートの裏面にあたるページに適用される裏面設定とを設定させる設定手段と、
前記設定手段により設定された前記基本設定および前記裏面設定に従って前記データを前記プリントデータに変換する変換手段と
を備えることを特徴とする印刷制御装置。
【請求項１６】
入力される描画データを、印刷装置が印字可能なプリントデータに変換して前記印刷装置に転送する印刷制御装置であって、
前記描画データ全体に適用される印刷設定である基本設定を決定する手段と、
前記基本設定決定手段において決定された基本設定を設定テーブルに記録する手段と、
前記描画データが複数ページにわたりシートの両面に印刷される場合に、該シートの裏面にあたるページにのみ適用される裏面設定を決定する手段と、
前記裏面設定を決定する手段において決定される裏面設定を、前記設定テーブルに記録する手段と、
前記設定テーブルから注目ページごとに使用する設定を決定し、決定した設定に基づいてプリントデータを生成する生成手段と
を有することを特徴とする印刷制御装置。
【請求項１７】
コンピュータにより、元データを印刷装置が処理可能なプリントデータに変換させるためのプログラムであって、
前記プリントデータを生成する際の、前記プリントデータ全体に適用される基本設定と、両面印刷の設定と、両面印刷設定時に印刷媒体であるシートの裏面にあたるページに適用される裏面設定とを設定させる設定手段と、
前記設定手段により設定された前記基本設定および前記裏面設定に従って前記データを前記プリントデータに変換する変換手段と
をコンピュータにより実現するためのプログラム。
【請求項１８】
コンピュータにより、入力される描画データを印刷装置が印字可能なプリントデータに変換して前記印刷装置に転送させるためのプログラムであって、
前記描画データ全体に適用される印刷設定である基本設定を決定する手段と、
前記基本設定決定手段において決定された基本設定を設定テーブルに記録する手段と、
前記描画データが複数ページにわたりシートの両面に印刷される場合に、該シートの裏面にあたるページにのみ適用される裏面設定を決定する手段と、
前記裏面設定を決定する手段において決定される裏面設定を、前記設定テーブルに記録する手段と、
前記設定テーブルから注目ページごとに使用する設定を決定し、決定した設定に基づいてプリントデータを生成する生成手段と
をコンピュータにより実現するためのプログラム。
【請求項１９】
請求項１７または請求項１８のいずれか１項に記載のプログラムを記録したことを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピュータなどで作成された描画データを、所定のフォーマットに変換して印刷装置に出力する印刷制御方法及び装置に関するものであり、特に、自動両面印刷ユニットを備えた印刷装置に対して出力を行うための印刷制御方法及び装置に関するものである。
【０００２】
【従来の技術】
各種のアプリケーションで作成したデータを印刷する場合、オペレータは、アプリケーションの印刷ダイアログを開き、使用するプリンタを指定して印刷を実行する。その際、指定されたプリンタが処理するためのデータ形式（以下、プリントデータ）を生成するためのソフトウェアであるプリンタドライバでは、各種の印刷設定（印刷オプションとも呼ぶ。）を指定ことができる。たとえば、写真画像を印刷する場合とテキストデータを印刷する場合では、プリントデータを生成する過程で行われる処理は異なる。そのためプリンタドライバはそれぞれに適した画像処理を施す必要がある。そこで、印刷する対象データの種類に応じた画像処理方法を選択しておくことが好ましい。また、普通紙に印刷する場合と、インクジェットプリンタにより写真を印刷するためのフォトペーパーに印刷する場合でも、最適な画像処理方法や印刷速度などが異なる。そのため、使用する用紙に適した印刷を行うためには、使用する用紙を選択する必要がある。
【０００３】
また、用紙サイズやレイアウトなどに関する項目としては、用紙のサイズや向き、印刷される用紙１枚（以下、物理ページ）に対して、アプリケーションで作成したデータ上でのページ（以下、論理ページ）を複数配置するＮ−ｕｐ印刷などの印刷レイアウト、拡大・縮小して出力する拡大・縮小印刷設定、用紙の両面に印刷する両面印刷機能を備えたプリンタにおいては、両面印刷設定などを指定することが可能である。
【０００４】
そのほかにも、文書を印刷する際に「社外秘」などのスタンプを追加するスタンプの設定や、写真を印刷する際の特殊効果などの設定も可能である。
【０００５】
プリンタドライバの表示するユーザーインターフェース（ＵＩ）上で、これらの印刷設定を行うことによって、さまざまな種類のデータを、最適な状態で印刷することができる。プリンタドライバのＵＩは、アプリケーションを介して表示させたり、あるいは、オペレーティングシステムが提供するプリンタ設定のための機能を通じて表示・設定が行える。
【０００６】
これらの印刷オプションの中に、用紙の両面に印刷を行う両面印刷という機能がある。両面印刷を行うためには、用紙を裏返すための機構が必要となるため、そのような機構を備えていないプリンタでメディアの両面に印刷を行うためには、まずメディアの表面に文書の奇数ページのみを印刷し、その後表面のみ印刷済みとなったメディアを裏返してふたたびプリンタにセットし、文書の偶数面のみを印刷する、という操作が必要であった。
【０００７】
一方で、このような手間をかけることなく両面印刷を行うための機構である自動両面ユニットを備えたプリンタも普及してきた。自動両面印刷ユニットは、用紙の両面に印刷を行うために、片面に印刷済みの用紙を自動で裏返し、その裏面に再び印刷を行えるようにするための装置である。自動両面印刷ユニットを使うことで、片面だけ印刷したメディアを手動でひっくり返してセットしなおし、裏面への印刷を行うというような手間をかけることなく、メディアの両面への印刷を容易に行うことが可能となった。レーザービームプリンタのような比較的高価な装置から普及してきた自動両面ユニットだが、近年では、インクジェットプリンタのような比較的小規模で安価な装置にも搭載されるようになってきた。
【０００８】
【発明が解決しようとする課題】
プリンタドライバの印刷設定は印刷ジョブ単位で行われるため、ひとつのジョブでは印刷対象全体に共通の印刷設定が適用されることになる。したがって、自動両面ユニットを使用して両面印刷を行った場合も、表面・裏面とも、共通の設定を元に印刷が行われる。
【０００９】
一方で、自動両面印刷ユニットを使用して両面印刷を行う際に、表面と裏面で好ましいと考えられる印刷設定が異なる場合がある。たとえば、はがきに両面印刷を行う場合、表面にあたる宛名面は、一般的に黒一色のテキストのみとなるため、グレースケール印刷で比較的高速（速度優先）の印刷を行い、裏面にあたる通信面には、写真画像やイラストなどを含む場合が多いため、カラー印刷で画質優先の印刷品位で印刷を行う、など、それぞれに適した設定が異なるためである。
【００１０】
また、裏面（通信面）について、写真画像などを用紙のサイズいっぱいに印刷を行う所謂フチ無し印刷を行いたい場合、単一の印刷設定しか使用することができないために、通信面をフチ無し印刷にするためには宛名面・通信面両方をフチ無し印刷とする必要がある。しかし、テキスト印字の際に顔料黒インクを使用してクリアなテキスト印字を実現するタイプのプリンタにおいても、フチ無し印刷が指定されている場合には、擦過性などの問題から顔料インクを使用せずにＣＭＹのカラーインクを組み合わせることでテキストも印字するものが多い。このようなプリンタで両面印刷時にフチ無し印刷を指定すると、宛名面のテキスト印刷に顔料黒インクが使用されず、カラーインクで印刷されてしまいクリアな印字ができないという問題がある。
【００１１】
このように、表面・裏面とも同じ設定が使用されることにより、それぞれに最適な印刷設定を使用することができないという問題がある。
【００１２】
本発明は上記問題点に鑑みてなされてものであり、自動両面印刷ユニットを備えた印刷装置で印刷を行う際に、一回のジョブで印刷するドキュメントの表面と裏面で相異なる設定を利用して印刷することを可能にし、それにより、自由度の高い印刷を容易な操作で行うことが可能な印刷制御方法及び装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するために本発明は以下の構成を有する。
【００１４】
（１）元データを印刷装置が処理可能なプリントデータに変換する印刷制御方法であって、
前記プリントデータを生成する際の、前記プリントデータ全体に適用される基本設定と、両面印刷の設定と、両面印刷設定時に印刷媒体であるシートの裏面にあたるページに適用される裏面設定とを設定させる設定工程と、
前記設定工程により設定された前記基本設定および前記裏面設定に従って前記データを前記プリントデータに変換する変換工程とを備える。
【００１５】
これにより、両面印刷時には、表面と裏面とで相異なる印刷設定をして印刷させることが可能となり、印刷品質や操作性、印刷の生産性を向上させることができる。
【００１６】
（２）（１）において、前記変換工程においては、前記裏面設定された項目以外の項目については、前記基本設定が適用される。
【００１７】
これにより、表面と異なる設定について操作者に設定させ、また保存すれば良く、操作性の向上及びメモリ資源の節約が可能となる。
【００１８】
（３）（１）または（２）において、前記変換工程は、前記裏面設定を、印刷媒体であるシートの一面を単位として適用する。
【００１９】
これにより、物理的な印刷媒体に即して表面・裏面それぞれの設定が可能となる。
【００２０】
（４）（１）乃至（３）において、前記変換工程は、オペレーティングシステムにより生成されたメタデータを、前記裏面設定を優先的に適用しつつ、前記基本設定および前記裏面設定に従って前記プリントデータに変換する。
【００２１】
これにより、表面についての設定を裏面において継承しつつ、異なる設定のみ反映できる。
【００２２】
（５）（１）乃至（４）において、前記変換工程は、前記基本設定および前記裏面設定を参照して、シートの表面にあたるページを変換する際に必要な各種パラメータと裏面にあたるページを変換する際に必要な各種パラメータをあらかじめ読み込んでおき、各ページを変換する際に前記パラメータを交互に参照する。
【００２３】
これにより、ページ順序に即して表面設定と裏面設定とを適用すればよく、処理手順の簡易化や確実化が図れる。
【００２４】
（６）（１）乃至（５）において、前記変換工程は、注目ページの変換の都度、前記基本設定および前記裏面設定を参照して使用すべき各種パラメータを読み込んで参照する。
【００２５】
これにより、注目ページに適用すべき設定を確実に印刷結果に反映することができる。
【００２６】
（７）（１）乃至（６）において、前記設定工程は、印刷媒体となるシートの種類を選択するためのシート選択工程を備え、前記基本設定および前記裏面設定におけるシートの種類を、前記シート選択工程において選択されたシートの種類に応じて変更する。
【００２７】
（８）（１）において、前記元データを生成するアプリケーションからの印刷設定値の要求に対して、前記変換工程により前記基本設定及び前記裏面設定に従ったプリントデータに変換可能な元データを生成させる印刷設定値を応答する工程を更に備える。
【００２８】
これにより、データを出力するアプリケーションに対して、基本設定および裏面設定を確実に反映可能なデータを出力させることができ、その結果、印刷設定を忠実に反映した印刷結果を得ることができる。
【００２９】
（９）（８）において、前記設定工程においては、印刷対象となるシートの種類の選択、および、選択されたシートの種類に応じてフチ無し印刷の設定を前記基本設定及び前記裏面設定それぞれについて選択可能であり、前記フチ無し印刷が可能なシートの種類が設定されている場合、前記アプリケーションに対して、フチ無し印刷の印刷可能領域を前記アプリケーションに対して応答する。
【００３０】
これにより、印刷品質を損なうことなく、フチ無し印刷および縁付印刷が可能となる。
【００３１】
（１０）（８）において、前記設定工程においては、カラー印刷又はモノクローム印刷を前記基本設定及び前記裏面設定それぞれについて選択可能であり、前記アプリケーションに対して、カラー印刷の設定を前記アプリケーションに対して応答する。
【００３２】
これにより、基本設定および裏面設定が、一方がカラーモードである他方がモノクロモードである場合にも、それぞれの設定を反映した画像を印刷できる。
【００３３】
（１１）（８）において、前記変換工程は、前記設定工程において両面印刷設定がされている場合、一方の面については、前記アプリケーションから受け取った１ページの元データをプリントデータに変換して印刷対象の全シートについて出力し、他方の面については、前記アプリケーションから受け取った各ページの元データを、受け取ったページごとにプリントデータに変換する。
【００３４】
これにより、両面印刷の一方の面を印刷される全シートについて共通に用いる場合であっても、裏面にあたるページについては裏面設定を適用できる。
【００３５】
（１２）（８）において、前記設定工程は、前記アプリケーションにおいて指定された印刷設定に従って、前記基本設定及び前記裏面設定を変更する。
【００３６】
これにより、アプリケーションにおいてされた設定を生かして印刷設定を決定できる。
【００３７】
（１３）あるいは、入力される描画データを、印刷装置が印字可能なプリントデータに変換して前記印刷装置に転送する印刷制御方法であって、
前記描画データ全体に適用される印刷設定である基本設定を決定する工程と、前記基本設定決定工程において決定された基本設定を設定テーブルに記録する工程と、
前記描画データが複数ページにわたりシートの両面に印刷される場合に、該シートの裏面にあたるページにのみ適用される裏面設定を決定する工程と、
前記裏面設定を決定する工程において決定される裏面設定を、前記設定テーブルに記録する工程と、
前記設定テーブルから注目ページごとに使用する設定を決定し、決定した設定に基づいてプリントデータを生成する生成工程とを有する。
【００３８】
これにより、両面印刷の表面と裏面とで相異なる印刷設定を施して印刷させることができる。
【００３９】
（１４）（１３）において、前記生成工程は、オペレーティングシステムにより生成されたメタデータから前記描画データの一ページ目を読み込む工程と、
前記裏面設定を優先的に適用しつつ、前記基本設定および前記裏面設定に従って前記一ページ目のデータをプリントデータに変換する工程と、
前記一ページ目のプリントデータを記憶する工程と、
前記メタデータから前記描画データの二ページ目以降のデータを一ページ読み込む工程と、
前記裏面設定に従って前記二ページ目以降の一ページ分のデータをプリントデータに変換する工程と、
前記二ページ目以降のプリントデータをプリンタに出力する工程と、
前記一ページ目のプリントデータを前記二ページ目以降のプリントデータ出力後にプリンタに出力する工程とを有する。
【００４０】
これにより、ページごとに読み込んだページと、予め記憶したページとを交互に両面印刷の各面として出力し、その際に表面と裏面とでそれぞれの設定を反映して印刷させることができる。これにより、アプリケーションからの出力データ量を削減でき、印刷処理の迅速化が図れる。
【００４１】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００４２】
【第一実施形態】
本発明に係るプリントシステムは、アプリケーションプログラムによって生成される元データを印刷装置が処理可能なプリントデータに変換するプリンタドライバであって、プリントデータを生成する際の、プリントデータ全体に適用される基本設定と、両面印刷の設定と、両面印刷設定時に印刷媒体であるシートの裏面にあたるページに適用される裏面設定とを、ＵＩを通して、あるいはアプリケーションプログラムを通してオペレータに設定させることができ、元データをプリントデータに変換する際には、両面印刷であれば、裏面設定を優先的に適用しつつ、基本設定および裏面設定に従って変換を行うものである。そして、変換したデータを印刷装置に出力し、印刷させる。これにより、１つのジョブにおいて両面印刷の表面と裏面とについて相異なる印刷設定を行うことを可能としている。元データは、例えばウインドウズ（登録商標）のようなオペレーティングシステムに応じて決定される形式のデータであり、プリントデータは、プリンタが処理可能なページ記述言語あるいはビットマップデータで記述される。このようなプリントシステムは、以下のような形態を一例として実現可能である。
【００４３】
《システム全体の説明》
図１は本発明の第１の実施形態におけるプリントシステム１００の構成例をあらわしたブロック図である。
【００４４】
図１において、アプリケーションソフト１０２は、ホストコンピュータ１０１の基本ソフトウェアであるオペレーティングシステム（以下、ＯＳ）上で動作するソフトウェアであり、文書作成用のワープロソフトや、図面作成ソフト、プレゼンテーションソフトなどが考えられ、作成したデータを印刷する機能を有しているものである。
【００４５】
グラフィックデバイスインターフェース（ＧＤＩ）１０３はウインドウズ（登録商標）ＯＳ固有の出力モジュールであり、ディスプレイへの表示やプリンタへの印刷など、画像情報の処理を司るＯＳのサブシステム（基本関数群）である。このＧＤＩ１０３に相当するモジュールは、一般的にはグラフィックエンジンなどと呼ばれている。アプリケーションはこの基本関数を使うことで、描画情報に関してはデバイスに依存しないかたちで出力を行うことが可能である。ＧＤＩ１０３は、ディスプレイやプリンタなど、指定されたデバイスのデバイスドライバを動的にリンクして使用することで、呼び出された関数に応じてそれぞれのデバイスに対する出力処理を行う。したがって、プリンタに出力する場合はプリンタドライバに対して出力を行う。
【００４６】
プリンタドライバ１０４は、ＧＤＩ１０３からの呼び出しによって、所定のプリンタで印刷可能なデータフォーマットにデータを変換し、プリンタへ出力する。その際、どのような設定でプリントデータを生成するかを決定するための印刷設定画面（ＵＩ）を表示および制御する機能を有しており、このＵＩで指定された設定に基づいてプリントデータを生成する。
【００４７】
本実施形態のプリンタドライバ１０４はデータ処理部１０５とテーブル格納部１０６とを備える。データ処理部１０５は、上述したＵＩの制御や、ＧＤＩからデータを受け取ってＵＩの設定に基づいてプリントデータを生成するなどの処理をすべて行う。テーブル格納部１０６は、データ処理部１０５の表示したＵＩ上でなされた印刷設定を管理するための設定テーブルを格納するための記憶領域である。データ処理部１０５は、印刷設定情報を図８に示すような設定テーブルとしてテーブル格納部１０６に記憶し、プリントデータを生成する際には、テーブル格納部１０６より設定テーブルから必要なページの設定をロードし、設定に応じたプリントデータの生成を行う。
【００４８】
なお、ここでは設定テーブルを格納する記憶領域を、テーブル格納部１０６という形でプリンタドライバ１０４内に設けたが、テーブルを記憶する場所はプリンタドライバ１０４内でなくてもかまわない。たとえば、ホストコンピュータ１０１内の他の記憶領域にテーブルを格納して、プリンタドライバが適宜ロードするという構成でもよい。
【００４９】
生成されたプリントデータは、ホストコンピュータ１０１からインターフェース部を介してプリンタ１０８に送信される。プリンタ１０８は、受信したプリントデータに対応する画像を用紙上に形成する。なお、本実施形態ではプリンタ１０８はインクジェットプリンタであるものとしているため、プリントデータはラスタ走査順に配置されたビットマップデータ（ラスタデータ）である。なお、後述するとおり自動両面印刷機能を有するプリンタであれば、本発明はレーザビームプリンタなどについても印刷方式を問わずに適用可能である。
【００５０】
《アプリケーションの説明》
アプリケーション１０２は、宛名面と通信面の編集を別々に行うための機能を備えており、印刷実行時には、宛名面のみ印刷するモードと、通信面のみ印刷するモード、さらに、宛名面および通信面を自動両面印刷により印刷するモードが備えられている。宛名面または通信面のみ印刷する際は、それぞれのデータのみを出力し、宛名面と通信面を両方印刷するモードでは、宛名面と通信面を交互に出力する。すなわち、本実施形態におけるアプリケーション１０２は、文書全体を印刷させる機能とともに、奇数ページのみ、または偶数ページのみを印刷させる機能を有する一般に市販されている文書処理アプリケーションであってもよい。そのようなアプリケーションにおいて、奇数ページに宛名面を、偶数ページに通信面を配置した文書を作成すれば、上述したような方法で印刷用の描画データをＯＳおよびプリンタドライバに対して渡すことができる。あるいは、利用者が予め登録しておいたデータベースから宛名面のレコードを順次取り込んでそれを宛名面（表面）に、また予め作成した文字や画像を通信面（裏面）に交互に出力する機能とともに、宛名面あるいは通信面を、片面ずつまとめて印刷する機能を有するはがき印刷用プログラムなども本実施形態におけるアプリケーション１０２に該当する。
【００５１】
さて本実施形態では、上記のモードうち、アプリケーションから宛名面と通信面が交互に出力される自動両面印刷を行う場合の例で説明を行う。この場合、プリンタドライバ１０４はアプリケーション１０２の出力したデータをそのままの順番でメディア（用紙）の両面に印刷することで、表面には宛名面を、裏面には通信面を自動で複数印刷することができる。したがって、文書作成アプリケーションなどを用いて複数ページにわたる文書を自動両面印刷する場合と同様に考えることができる。
【００５２】
《印刷設定方法》
図２は、本実施形態のプリントシステム１００における処理の流れを、印刷設定のステップを中心に表したブロック図である。この手順はプリンタドライバ１０４のデータ処理部１０５により実行される。
【００５３】
アプリケーション１０２の印刷メニューにおいて使用するプリンタを選択してプリンタドライバの印刷設定画面を表示させると、図４に示すような設定画面が、プリンタドライバ１０４のデータ処理部１０５によって表示される（Ｓ２０１）。ここで表示される設定画面は、文書全体に適用される基本となる設定を行うための基本設定画面であり、画像処理に関する設定やページレイアウトなど、前述したさまざまな印刷設定を行うことができる。図４は本実施形態における基本設定画面４０１を表す図である。ここで、「適用」あるいは「ＯＫ」ボタンが押されると、設定された内容は、文書全体に適用される基本となる設定である基本設定として、図３のような設定テーブル３０１の「基本設定」の欄に書き込まれる （Ｓ２０２） 。
【００５４】
図４の例では、基本印刷設定の設定項目は、「用紙種類」、「用紙サイズ」、「印刷の種類」、「印刷品位」、「色調整」、「グレースケール印刷」、「フチ無し印刷」、「自動両面印刷」の８項目と、スタンプ／背景および特殊効果であり、このうち「自動両面印刷」を除く７項目が設定テーブル１０６の基本設定欄に登録される。「自動両面印刷」以外の項目は各ページについてどのよう印刷するかを定義するための項目であるのに対して、「自動両面印刷」は、プリンタの有する自動両面印刷機能を利用するか否かを指定するための項目であり、特に設定テーブル１０６に登録する必要がないためである。そのため「自動両面印刷」についても設定テーブル１０６に登録しても良い。
【００５５】
また、図５においては、裏面印刷設定の設定項目は、基本印刷設定から「自動両面印刷」を除いた７項目とスタンプ／背景および特殊効果であり、設定テーブル１０６に登録される基本印刷設定の項目全てについて設定可能である。ただし、裏面印刷設定については、基本印刷設定と共通する値が設定されている項目については保持する必要がない。そのために、図３に例示されたテーブルでは、基本印刷設定と異なる値の設定された項目についてのみ、裏面印刷設定に値が登録されている。
【００５６】
さて図２に戻って、文書全体を同じ設定で印刷する場合には、オペレータは基本設定画面における設定のみで印刷設定を終了し、印刷実行ボタンを押して印刷を実行させる。これにより、裏面の個別設定はされないものと判定し、指示された設定にしたがって印刷を実行する（Ｓ２０５）。印刷実行ボタンは、例えばアプリケーションの印刷メニューにおいて「印刷実行」などの項目として設けられている。
【００５７】
一方、印刷されるメディアの表面と裏面で異なる印刷設定を適用する場合には、基本設定を行った後に裏面の設定を行う。この場合、表面の印刷には基本設定がそのまま適用される。基本設定画面４０１には、裏面を別の設定で印刷を行うためのオプションである裏面設定ボタン４０２が設けられている。利用者により裏面設定ボタン４０２が押されると、図５に示すような裏面設定画面５０１を表示する（Ｓ２０３）。
【００５８】
裏面設定画面の各設定項目の初期値は、Ｓ２０２において基本設定画面で設定され、設定テーブル３０１の「基本設定」欄に記憶されている基本設定（表面設定）の値となっている。利用者が基本設定（表面設定）の設定値から変更したい項目のみ変更することにより、裏面を表面とは異なる設定で印刷することができる。このとき、「適用」あるいは「ＯＫ」ボタンが押されると、設定テーブルには、裏面の印刷設定として、基本設定と異なる項目のみが図３に示すように書き込まれる（Ｓ２０４）。
【００５９】
裏面の設定が終了したら、利用者が印刷実行ボタンを押して印刷を実行する。これにより、指示した設定における印刷が実行される（Ｓ２０５）。
【００６０】
図３の設定テーブルは、基本設定に対して裏面設定では、用紙の種類を基本設定の「普通紙」から「インクジェット官製はがき」に、印刷品位を基本設定の「標準」から「きれい」に、グレースケール印刷を基本設定の「ＯＮ」から「ＯＦＦ」に、フチ無し印刷を基本設定の「ＯＦＦ」から「ＯＮ」に変更した場合の例である。すなわち、表面については「普通紙」に「標準」品質で、縁つき印刷されるのに対して、裏面については「インクジェット官製はがき」に「きれい」品質で、「フチ無し」印刷される設定となっている。
【００６１】
これら設定の相違は例えば以下のように表れる。印刷品位の設定については、インクジェットヘッドの操作方向への記録密度が設定された品位ごとに変更される。たとえば、「きれい」の設定では「標準」設定の２倍あるいは４倍といった高密度として画像が記録される。また、「フチ無し」がオンの設定とオフの設定とでは、後述するように縁部の有無について相違する。それに加えて、課題欄で説明したように、「フチ無し」ではＹＭＣインクを合成したいわゆるプロセスブラックで黒が表現されるプリンタについても、「フチ有り」に設定されていれば、黒インクにより黒部が表現される。これらの設定の相違の処理への反映は、以下のようにして行われる。
【００６２】
《スプールまでのシステムの処理》
図６はアプリケーション１０２で印刷を指示してから印刷が終了するまでの処理を表したフローチャートである。このフローチャートは、プリンタドライバによる処理を中心としているが、プリントシステム全体の動作を説明するために、アプリケーションやＯＳによる処理も一部に含んでいる。
【００６３】
まず、アプリケーション１０２で印刷ダイアログを表示させ、使用するプリンタが選択されると、プリンタドライバ１０４のデータ処理部１０５は印刷設定画面を表示する（Ｓ６０１）。印刷設定画面上で前述した手順で詳細な印刷設定が行われると、データ処理部１０５は基本設定および裏面設定を図３に示すような設定テーブルとして格納する。そして、印刷ボタンを押すことによって印刷実行が指示されると、データ処理部１０５は、確定された設定テーブルをテーブル格納部１０６に格納する（Ｓ６０２）。ここまでの手順は図２のステップＳ２０１〜Ｓ２０４で説明したとおりである。なお、設定後にＯＫボタンや確定ボタンを押すことでテーブル格納部１０６に設定テーブルを格納するようにしてもよい。そして、印刷ボタンを押すことによって印刷実行が指示されると、ステップＳ６０３以下の処理が実行される。
【００６４】
一方、ステップＳ６０３においてアプリケーション１０２は印刷実行時の設定をプリンタドライバ１０４に要求し、この要求に対してデータ処理部１０５はテーブル格納部１０６に格納されている設定テーブルより、設定されている設定値の一部をアプリケーションに返す。このアプリケーションに返す設定値には以下のものがある。
【００６５】
ａ：表面と裏面の印刷設定のうち、最大の印字可能領域
ｂ：表面と裏面で異なる印刷設定が可能な項目のうち、プリンタドライバのデフォルト値
ｃ：上記以外の項目についての基本設定の設定値。
【００６６】
上記のように、用紙のサイズに対して実際にどの領域まで印刷することが可能であるかを表す印字可能領域に関する情報については、表面と裏面の印刷設定から選択されている用紙サイズにおいて最大の印字領域情報をアプリケーションに渡す。これは、プリンタドライバによって設定に応じたデータ変換を行うための余地を設けておくためである。すなわち、余白を作らずにメディアのサイズいっぱいに印刷を行うフチ無し印刷をサポートしているなど、印字可能領域が変更されるような機能を備えている場合は、１つの用紙サイズに対してフチ無し印刷を行う場合の印字領域とフチ無し印刷を行わない通常印刷時の印字領域が用意されている。一般的に、フチ無し印刷が選択されるとフチ有り印刷における縁部分だけ印字可能領域が広くされるため、アプリケーションからの出力データ領域も大きくすることが可能である。しかしながら、基本設定においてフチ無し印刷が指定されておらず、裏面設定においてのみフチ無し印刷が指定されている場合に、基本設定に基づく印字可能領域情報をアプリケーションに渡すと、アプリケーションは通常印刷用の印字可能領域、すなわちフチ有り印刷時の印字可能領域に収まるだけのデータを出力する。そのデータをもとに、より大きい印字可能領域を持つフチ無し印刷用の印字データをプリンタドライバ側で作成するためには、通常印刷（フチ無し印刷を行わない場合）用に出力されたデータを単純に拡大するという処理を行わねばならない。これでは本来フチ無し印刷の持つ「より大きな範囲のデータを印刷することができる」という意味を損ねてしまうことになる。よって、裏面でフチ無し印刷が選択されている場合には、フチ無し印刷を行う場合の印字領域をアプリケーションに返すことが望ましい。
【００６７】
そこで、本実施形態では、基本設定においてフチ無し印刷が選択されている場合には、フチ無し印刷時に使用する印字可能領域をアプリケーションに渡す。それにより、フチ無し印刷用のデータをアプリケーションが出力するため、後にプリンタドライバ側で、設定に応じてデータを加工することが可能となる。同様に、印字可能領域に関わる設定項目がフチ無し印刷の他にあった場合にも、「現在の用紙サイズにおける最大の印字領域」を返すこととする。
【００６８】
さらに、印字可能領域に関わる設定項目以外で、裏面・表面で異なる設定を使用することが可能な項目に関しては、プリンタドライバのデフォルトの設定値を渡す。
【００６９】
たとえば、アプリケーションから出力される描画データをカラーで出力するかモノクロで出力するかなどを、アプリケーションの出力が終了した後にプリンタドライバ側で自動的に変更するためには、アプリケーションの出力する際の設定は、プリンタドライバのデフォルトの設定値（カラー）となっていることが好ましいためである。また、色処理に使用するパラメータなども、アプリケーション１０２の出力終了後の処理においてデータ処理部１０５が設定テーブルを参照して、使用するパラメータを切り替えることによって、異なる設定での印刷を実現する。そのため、アプリケーション１０２に渡す印刷設定はプリンタドライバのデフォルト設定値とし、デフォルトの設定でアプリケーションが出力したデータに対して、後のステップでプリンタドライバが設定テーブルに応じた処理を行う。また、解像度やページレイアウトなどに関しても、Ｎ−ｕｐ印刷などのためにあとで拡大／縮小処理をプリンタドライバ側で行う可能性があることを考慮し、アプリケーション１０２からの出力はプリンタドライバのデフォルト設定値に基づいたデータとするために、これらの設定値もプリンタドライバのデフォルト値を渡す。ただし、プリンタドライバのデフォルト値が、解像度が高い値、カラー／モノクロ指定でカラー指定、ページレイアウトで１ｕｐとなっていることが前提である。
【００７０】
このように、プリンタドライバがアプリケーションに渡す設定値は、異なる設定値にあわせてプリンタドライバがデータを処理しても、設定の目的を損ねない値が選択されている。たとえば、印字可能領域の例では、狭い範囲のデータをアプリケーションから受け取ると、拡大処理といった本来の目的にそぐわない処理をしなければ広い範囲のプリントデータに変換できない。しかし、広い範囲のデータを受け取れば、マスキングにより簡単に狭い範囲のプリントデータに変換できる。あるいは、カラー画像データからモノクロ画像データへの変換は、各色成分に一定の係数を乗じて加算することで行えるが、その逆は困難である。また、アプリケーションからビットマップデータを受けてプリントデータに変換する場合など、低記録密度に対応する画像データをアプリケーションから受け取ると、それを補間処理等で高密度に対応する画像データ変換しても高画質な画像は得られない。
【００７１】
図３の項目の例で言えば、解像度に関しては「印刷品位」＝「きれい」の場合の解像度が、カラー/モノクロに関しては「グレースケール印刷」＝ＯＦＦという情報が、印字可能領域に関しては「フチ無し印刷」＝ＯＮの場合の印字可能領域（ただしフチ無し印刷可能な場合）などがアプリケーションに渡される値となる。
【００７２】
その他、紙サイズなど、表面と裏面で変更することのできない項目は、前述のように基本設定の設定値を渡す。
【００７３】
そして、アプリケーション１０２はプリンタドライバ１０４から取得した設定に基づいて、ＧＤＩ関数をコールすることでデータを出力し、プリンタドライバ１０４が描画関数を受信する（Ｓ６０３）。このとき、前述したように、アプリケーションは宛名面・通信面をセットで、交互にデータを出力する。具体的には、印刷対象となる住所録から一人目のデータを読み出し、宛名面レイアウトに従ってレイアウトしたものを１ページ目として出力し、続いて、通信面編集画面において編集した通信面のデータを２ページ目として出力する。このように「宛名面データ出力→通信面データ出力」という処理を、印刷対象となる宛名データがなくなるまで繰り返すことで、宛名面と通信面が交互に出力される。
【００７４】
アプリケーションが出力を終了したら、プリンタドライバのデータ処理部１０５は、アプリケーションが出力した際の各種の設定をチェックしつつ、設定情報をもたないメタファイルの形でデータを全ページ分スプーラにスプールする（Ｓ６０４）。この時点でアプリケーションは開放される。アプリケーションは宛名面→通信面の出力を複数繰り返しているので、メタファイルをスプールする際にデータの順番を考慮する必要はなく、通常の複数ページの文書を印刷する場合と同様の処理を行う。
【００７５】
また、このメタファイルは、どのようなプリンタおよびその他出力デバイスでも解釈可能な、デバイスに依存しない形式のいわば中間データであり、プリンタドライバ１０４によりプリンタ１０８で処理可能な形式に変換される。
【００７６】
なお、アプリケーションからの出力をメタファイルとしてスプールする処理は、プリンタドライバが内部で行ってもよいし、ＯＳのサブシステムが実現する形でもよい。
【００７７】
さらに、以下に述べるプリンタドライバのプリントデータ生成および出力処理は、アプリケーションの出力が終了する前に開始することも可能である。すなわち、アプリケーション１０２が一ページ出力した時点で、プリンタドライバ１０４はそのデータをメタファイルとして取得し、一ページ分のプリントデータを生成してプリンタに出力する。その後もアプリケーションから１ページ分のデータが出力されたら、すぐにそのページのプリントデータを生成して出力するという処理を繰り返すことで、アプリケーションからの出力終了を待たずに印刷を開始することができる。
【００７８】
以下、アプリケーションの出力からプリンタドライバでプリントデータを生成する処理について詳細に述べるが、ここでは、アプリケーションの出力が全ページ終了した後に、スプールされたメタファイルからプリントファイルを１ページずつ生成してプリンタに出力するという処理を行うものとして説明する。
【００７９】
《スプール後の処理》
スプールが終了すると、データ処理部１０５は、テーブル格納部１０６に格納されている設定テーブルを参照し、実際に印刷される物理ページ単位で１ページ目を最初の注目ページとし（Ｓ６０５）、印刷に使用する設定をロードする（Ｓ６０６）。注目ページが奇数ページの場合は表面にあたるので、設定テーブルから基本設定のみをロードして使用する。偶数ページの場合は裏面にあたるので、設定テーブルに裏面の設定が存在しない場合は、基本設定のみをロードして使用する。一方、裏面の設定がテーブルに存在したら、基本設定と裏面設定の両方を、プリンタドライバの参照するメモリにロードし、裏面設定に記述されている項目は裏面設定の設定値を、それ以外の項目は基本設定の設定値を使用する。すなわち、裏面設定は、自動両面印刷設定がされており、しかも、偶数番目の物理ページである場合に適用される。
【００８０】
プリントデータの生成は物理ページごとに処理を繰り返すため、物理ページ１ページに論理ページが複数配置されるＮ−ｕｐ印刷を行う際には、１つの物理ページを構成する論理ページを一括して処理を行う必要がある。そのため、現在の注目ページに対する設定のうち、ページレイアウトに関する設定値をチェックし、ページを構成するのに必要なだけの論理ページのメタファイルをスプーラからロードする。たとえば、２−ｕｐ印刷が設定されていたら、論理ページ２ページ分をロードし、ロードしたメタファイルに対して現在の設定に応じたレイアウトでラスタライズを行う。
【００８１】
ただし、本実施形態においてはアプリケーション１０２が宛名面と通信面を交互に１ページずつとして出力しているため、実際に印刷される物理ページとスプールされている論理ページ単位のページ数が一致する。そのため、現在の注目ページを構成するためには１ページ分の論理ページのメタファイルをスプーラからロードすればよい（Ｓ６０７）。そして、ロードしたメタファイルに対して、データ処理部１０５は現在の設定に応じたラスタライズを行う。その後、画像処理等を行い、プリントデータを生成して、プリンタへ出力する。
【００８２】
なお、本実施形態では、１ページ分の処理をページを所定のバンド幅で区切りバンド単位で行っている。したがって、ステップＳ６０８では、バンド単位でラスタライズを行ってバンドデータを作成する。ステップＳ６０９では、プリンタドライバ１０４は、はラスタデータをＲＧＢ→ＣＭＹＫにするなどの処理をしてプリントデータを生成し、プリンタ１０８へ送る。このとき、両面印刷を指示するコマンドと、両面印刷時の表面もしくは裏面であることをあらわすコマンドを付加するといったように、現在の必要なコマンドを付加してプリントデータ生成する。この処理を１ページ分終了するまで繰り返し、１ページ分の出力を終了する。したがって、ステップＳ６０８、Ｓ６０９は、バンド単位で１ページについての処理が終了するまで繰り返される。
【００８３】
注目ページの出力が終了したら、スプーラをチェックし、まだスプールされているデータがある場合は、注目ページを１つ進め（Ｓ６１０）、同様の処理をおこなう。以上の処理を、スプールされているデータがなくなるまで繰り返すことで全ページの印刷を終了する。
【００８４】
ここで、ラスタライズ後のデータに対してＲＧＢ→ＣＭＹＫの変換や量子化などを行いプリントデータを生成する際には、表面・裏面それぞれの印字領域の設定に応じてデータを加工する必要がある。前述したように、アプリケーションから出力されるデータはすべて図７（ａ）に示すようなフチ無し印刷時の印字可能領域を基準としたサイズとなっている。そのため、注目ページに適用する設定においてフチ無し印刷が指定されている場合には、図７（ｃ）に示すように、アプリケーションの出力をラスタライズしたデータを全て使用してプリントデータを生成することで、プリンタに出力すべきデータ（フチ無し印刷用のデータ）を生成する。一方、注目ページに適用する設定においてフチ無し印刷を行わない設定となっている場合には、図７（ｂ）に示すように、ラスタライズ後のデータに対して、（フチ無しを行わない）通常印刷時の印字可能領域７０３をマスクし、通常印刷時に生成すべきデータ領域のみを切り出してプリントデータを生成する。この処理により生成されるデータは、アプリケーションに対してあらかじめ通常印刷用の印字可能領域７０３を渡してあった場合にアプリケーションから出力されるデータを全て使用してプリントデータを生成した場合と同等となる。このような処理をすることにより、アプリケーションの側で設定を切り替える必要なく、アプリケーションからは同一の印字可能領域情報に従って出力されたデータをもとに、プリンタドライバ側で設定テーブルに基づいて適宜表面・裏面ごとにフチ無し印刷のＯＮ／ＯＦＦも含めてさまざまな設定を切り替えることが可能である。
【００８５】
これにより、通常印刷時にのみ顔料黒インクを用いてテキスト印字を行うタイプのプリンタであっても、通信面はフチ無しの全面印刷を、宛名面はフチ無し印刷を行わない通常印刷とすることで顔料黒インクを使用したクリアなテキスト印刷を実現することも可能となる。
【００８６】
以上の処理により、表面・裏面ごとに印刷設定を行い、設定された印刷設定を１ジョブ中に自動的に切り替えて使用して印刷を行うことができる。
【００８７】
なお、本実施形態においては、注目ページに適用すべき設定を注目ページが進むごとにロードするものとしたが、テーブル格納部１０６にプリンタドライバ１０４が直接アクセスして、注目ページについての設定値を参照してもよい。また、あらかじめ基本設定と裏面設定をプリンタドライバのメモリにロードし、その際基本設定と裏面設定を組み合わせて裏面印刷時に使用すべき設定を決定しておき、各ページの印刷の際には、注目ページが表面である裏面であるかに応じて、あらかじめロードされている設定をそれぞれ使い分けるという処理を行うことも可能である。
【００８８】
また、アプリケーション１０２として、はがき編集用アプリケーションを使用した場合の例で説明したが、より一般的に、文書編集アプリケーションなどを使用しても同様の効果を得ることができる。この場合、前述のようにプリントデータの生成は物理ページごとに処理を繰り返すため、物理ページ１ページに論理ページが複数配置されるＮ−ｕｐ印刷を行う際には、１つの物理ページを構成する論理ページを一括して処理を行う。そのため、Ｓ６０７においては、現在の注目ページを構成するのに必要なだけの論理ページのメタファイルをスプーラからロードして処理を行う必要がある。
【００８９】
また、図６においては説明上の便宜から一連の手順として処理の流れを説明したが、処理の主体によっては独立した処理として実行可能な工程も含まれている。たとえば、ステップＳ６０１−Ｓ６０２は、印刷処理の直前とは限らず、適宜実行されても良い。
【００９０】
【第二実施形態】
《システム全体の説明》
本実施形態は、第１の実施形態におけるプリントシステム１００と同様の構成を使用する。ただし、アプリケーション１０２の機能は以下の通り第１実施形態とは異なり、また、プリンタドライバ１０４の処理手順もアプリケーションに合わせて第１実施形態とは異なるものとなる。
【００９１】
《アプリケーションの説明》
アプリケーション１０２は、印刷に使用するプリンタの指定などを行うための印刷設定機能を備えており、印刷設定における設定内容に応じて、編集画面の編集可能領域を変更する手段を備えたものである。そして、アプリケーション１０２は編集画面上で表示される領域内に収まるようなデータを生成する。各メディアサイズごとの印字可能領域はプリンタの機種により異なるため、現在選択されているプリンタの印字可能領域をアプリケーション１０２の編集画面上に反映することにより、ユーザーは、どの領域までデータが欠けることなく実際に印刷されるかをあらかじめ知ることができ、印刷時の失敗を防止することができる。
【００９２】
さらに、選択されたプリンタがフチ無し印刷をサポートしているなど、印字可能領域が変更されるような機能を備えている場合にフチ無し印刷を行うかどうか（つまり、フチ無し印刷用のデータを編集するかどうか）など、印字可能領域を変更するための機能であるページ設定機能を備えている。ページ設定においては、通信面と宛名面それぞれに個別の設定が可能であり、その設定はアプリケーションの編集画面上に反映される。たとえば、通信面のページ設定において「フチ無し印刷」が指定されると、アプリケーションはプリンタドライバに現在選択されている用紙サイズに対するフチ無し印刷時の印字可能領域を問い合わせ、取得したサイズを通信面の編集画面上に反映する。その状態でデータを作成すると、アプリケーションが出力するデータも、フチ無し印刷時に使用できる領域のデータとなる。その一方で、宛名面はフチ無し印刷を指定していないため、その編集可能領域は用紙よりもわずかに狭い領域とされたままである。
【００９３】
さらに、ページ設定における設定はプリンタドライバの設定にも反映される。すなわち、アプリケーション１０２により設定されたページ設定のうち、設定テーブルに含まれる項目については、アプリケーション１０２からＯＳに、あるいはＯＳを介してプリンタドライバ１０４に渡されてテーブル格納部１０６に格納された設定テーブルに反映される。そのため、宛名面・通信面で個別のページ設定を行った場合は、プリンタドライバの印刷設定においても「裏面を個別に設定する」オプションが選択されたものとして、アプリケーションの通信面のページ設定のうち宛名面のページ設定と異なる部分がプリンタドライバの裏面設定に反映され、第一の実施形態同様の設定テーブル３０１に記録される。そして、ドライバＵＩを表示した際にはその状態が反映される。アプリケーション１０２は、例えばＯＳにより提供されるプリンタの種類に応じた設定可能な項目のデータなどにより、ページ設定に含まれた設定が、設定テーブルに反映されるべきか否かを判断して、設定値をＯＳあるいはプリンタドライバに渡すことができる。
【００９４】
また、アプリケーションの印刷設定において、自動両面印刷が可能なプリンタが選択されている場合には、自動両面印刷を行うオプションを選択することができる。自動両面印刷が選択されると、印刷実行時には、通信面のデータおよびアプリケーションの住所録に登録されている宛名情報を宛名面編集画面で編集したレイアウトにしたがって順に出力する。データの出力方法は、通信面データを一回出力し、さらに人数分の宛名面データを出力するという方法でもよいし、第一の実施形態のように「宛名面データ→通信面データ」という順の出力を人数分繰り返す方法でもかまわない。このようなデータの出力方法については、プリンタドライバとアプリケーションとの間で規定する手段を備えており、それに従うものとする。さらに、ここで自動両面印刷を選択すると、その設定はプリンタドライバ設定にも反映される。
【００９５】
本実施形態においては、上述の印刷設定において自動両面印刷を選択し、アプリケーションは最初に通信面を一回だけ出力し、その後宛名面を住所録の順に全て出力するという処理を行うものとして、以降の説明を行う。
【００９６】
《印刷設定方法》
印刷設定の手順は図２に示したとおりである。アプリケーション１０２の印刷メニューにおいて使用するプリンタを選択してプリンタドライバの印刷設定画面を表示させると、第一の実施形態同様、図４に示すような基本設定画面４０１が表示され（Ｓ２０１）、基本設定画面における設定内容は設定テーブル３０１に基本設定として書き込まれる（Ｓ２０２）。
【００９７】
アプリケーション１０２の印刷設定において自動両面印刷を行う設定とされているため、プリンタドライバの基本設定画面においても、すでに「自動両面印刷」のオプションが選択された状態となっており、それにより「裏面の設定を行う」ボタンが選択可能となっている。また、アプリケーション１０２の宛名面のページ設定においてフチ無し印刷等、印字可能領域を変更する設定がなされた場合は、その設定値がプリンタドライバの基本設定にも反映されている。
【００９８】
表・裏とも同じ設定で印刷する場合には、基本設定画面４０１における設定のみで印刷設定を終了し、印刷実行ボタンを押して印刷を実行することで、指示した設定における印刷が実行される（Ｓ２０５）。表・裏でそれぞれ異なる設定で印刷を行う場合には、基本設定を行った後に、第一の実施形態同様の方法で裏面の印刷に使用する設定を行う。それにより、裏面の設定として、基本設定と異なる項目のみが設定テーブル３０１に書き込まれる（Ｓ２０４）。
【００９９】
また、アプリケーションの宛名面のページ設定における設定内容がプリンタドライバの基本設定に反映されるのと同様に、通信面のページ設定における設定内容はプリンタドライバの裏面設定に反映されている。そのため、プリンタドライバの基本設定画面において裏面の設定を個別に行うという操作をしなくても、アプリケーションの通信面のページ設定において宛名面と異なる設定がなされた項目は、すでに裏面設定に個別の設定がされた状態となっている。たとえば、通信面のページ設定において、フチ無し印刷が選択されていた場合は、アプリケーション上の編集画面がフチ無し印刷時の印字可能領域を反映したものとなると同時に、その情報がプリンタドライバに伝えられ、プリンタドライバＵＩを開いたときには、すでに裏面の設定が個別にされている状態となり、裏面の設定においてフチ無し印刷が選択された状態となる。逆に、アプリケーションのページ設定ではフチ無し印刷が選択されていない状態でプリンタドライバＵＩの裏面設定画面を開き、そこでフチ無し印刷を選択すると、その情報がアプリケーションに伝えられる。アプリケーションはフチ無し印刷が選択されたという情報が伝えられると、通信面のページ設定にフチ無し印刷が設定され、編集画面の印刷される領域にもその設定が反映される。図９は、このようなアプリケーションとプリンタドライバの設定が相互に反映される様子を示した図である。図９においては、アプリケーションのページ設定で自動両面印刷および通信面についてフチ無し印刷が設定されていると、それが設定テーブルの基本設定における自動両面印刷と、裏面設定におけるフチ無し印刷として反映される例を示している。
【０１００】
裏面の設定を終了したら、印刷実行ボタンを押して印刷を実行することで、指示した設定における印刷が実行される（Ｓ２０５）。
【０１０１】
本実施形態においても、第一の実施形態同様の変更を行った場合の設定テーブルは図３に示すようなかたちで保存される。
【０１０２】
《スプールまでのシステムの処理》
図８はアプリケーションで印刷を指示してから印刷が終了するまでの処理を表したフローチャートである。
【０１０３】
アプリケーション１０２で印刷ダイアログを表示させると、使用するプリンタとして選択されているプリンタに対応するプリンタドライバのデータ処理部１０５は、印刷設定画面を表示する（Ｓ８０１）。印刷設定画面上で前述した手順で詳細な印刷設定が行われると、基本設定および裏面設定を図３に示すような設定テーブルとして記憶する。そして、印刷ボタンを押すことによって印刷実行が指示されると、確定された設定テーブルをテーブル格納部１０６に格納する（Ｓ８０２）。
【０１０４】
一方アプリケーション１０２は印刷実行時の設定をプリンタドライバ１０４に要求し、この要求に対してデータ処理部１０５はテーブル格納部１０６に格納されている設定テーブルより、基本設定の設定値をアプリケーションに返す。アプリケーション上で自動両面印刷が選択され、それがプリンタドライバにも反映されているため、ここでプリンタドライバからアプリケーションに渡される設定においても、「自動両面印刷ＯＮ」という情報が設定されている。
【０１０５】
ただし、印字領域に関わる項目以外で、表面・裏面でそれぞれに設定を変更することが可能な項目に関しては、第一の実施形態同様プリンタドライバのデフォルトの設定値を渡す。
【０１０６】
そして、アプリケーションは更新された設定および、プリンタドライバから伝えられたデータの出力方法に基づいて、ＧＤＩ関数をコールすることでデータを出力する（Ｓ８０３）。ここでは、前述のように、まず通信面を一回、その後宛名面を複数出力するという方法で出力するため、最初に通信面を、通信面のページ設定に基づいてＧＤＩ関数をコールすることで出力する。たとえば、通信面はフチ無し印刷を行うという設定がされていたら、フチ無し印刷用の印字領域に応じたデータを出力する。
【０１０７】
次に、印刷対象となる複数の宛名面データを１つずつ出力する。アプリケーションに付属の住所録データから、印刷対象となる宛名データを１つ読み出し、宛名面レイアウトに従ってデータをレイアウトし、宛名面ページ設定における印字可能領域情報に基づいてＧＤＩコールによりデータを出力する。このような宛名面の出力を必要な数だけ繰り返して宛名面の出力を終了する。
【０１０８】
プリンタドライバ１０４のデータ処理部１０５は、第一の実施形態同様、アプリケーションが出力した際の各種の設定をチェックしつつ、設定情報をもたないメタファイルの形でデータを全ページ分スプーラにスプールする（Ｓ８０４）。この時点でアプリケーションは開放される。
【０１０９】
ここで、アプリケーションからの出力をメタファイルとしてスプールする処理は、プリンタドライバが内部で行ってもよいし、ＯＳのサブシステムが実現する形でもよい。
【０１１０】
《スプール後の処理》
スプールが終了すると、データ処理部１０５は、テーブル格納部１０６に格納されている設定テーブルを参照し、まず、通信面の印刷に使用する設定をロードする（Ｓ８０５）。通信面は裏面にあたるため、設定テーブルに裏面の設定が個別に存在しない場合は基本設定のみをロードして使用する。一方、裏面の設定が個別に存在したら、基本設定と裏面設定の両方をプリンタドライバの参照するメモリにロードし、裏面設定に記述されている項目は裏面設定の設定値を、それ以外の項目は基本設定の設定値を使用する。
【０１１１】
そして、通信面のメタデータをスプーラからロードし（Ｓ８０６）、適用すべき設定に基づいてラスタライズを行う（Ｓ８０７）。その後、画像処理等を行い通信面のプリントデータの生成を終了する（Ｓ８０８）。生成した通信面のプリントデータは、この後のプリント出力に備えて保存される。
【０１１２】
通信面のプリントデータ生成後、引き続き宛名面のプリントデータ生成を行う。宛名面のデータは複数スプールされているので、以下の手順により、宛名面プリントデータを１つ生成してプリンタ１０８へ送信し、その後生成済みの通信面のプリントデータをプリンタ１０８に送信するという処理を繰り返す。
【０１１３】
まず、表面の設定である基本設定をロードする（Ｓ８０９）。そして、宛名面のデータをスプールされている順に１つ取り出し（Ｓ８１０）、基本設定に基づいてラスタライズを行う（Ｓ８１１）。そして、画像処理等を行いプリントデータを生成し、生成した１つの宛名面のプリントデータをプリンタに出力し（Ｓ８１２）、その後すでに生成済みの通信面のプリントデータをプリンタに出力する（Ｓ８１３）。
【０１１４】
以降同様に、宛名面１つ分のメタデータをロードし、宛名面に適用する設定に基づいてプリントデータを生成してプリンタに出力し、生成済みの通信面のプリントデータを続いて出力する、という処理を宛名面データが終了するまで繰り返す。
【０１１５】
なお、本実施形態では、１ページ分の処理をページを所定のバンド幅で区切りバンド単位で行っている。したがって、ステップＳ８１１では、プリンタドライバ１０４は１バンドごとにラスタライズを行ってバンドデータを作成する。そしてステップＳ８１２では、プリンタドライバ１０４は、ラスタデータをＲＧＢ→ＣＭＹＫにするなどの処理をしてプリントデータを生成してプリンタ１０８へ送る（Ｓ８１２）。この処理を１ページ分終了するまで繰り返し、宛名面１つ分の出力を終了する。これはステップＳ８１３においても同様であり、プリントデータはバンド単位で１ページ分出力される。
【０１１６】
以上の処理により、ページごとに複数の印刷設定を行い、設定された印刷設定を１ジョブ中に自動的に切り替えて使用して印刷を行うことができる。
【０１１７】
また本実施形態においては、アプリケーションにおいてされた印刷設定が、プリンタドライバの参照する設定テーブルにも反映される。
【０１１８】
なお、基本設定は通信面に使用する設定をロードする際にすでにロードされており、それを開放していない場合は、宛名面の印刷時には改めてロードする必要はなく、そのまま使用することが可能である。
【０１１９】
また、設定テーブルに保持されている印刷設定データのロードは、ここでは、宛名面のプリントデータを作る際に宛名面の設定をロードし、通信面のプリントデータを作る際に通信面の設定をロードするという形で実現したが、この方法に限定されるものではない。
【０１２０】
たとえば、アプリケーションの出力をスプール終了した段階で、宛名面用の設定と通信面用の設定を両方ともプリンタドライバの参照するメモリにロードし、それぞれを保持しておくという方法でもよい。
【０１２１】
また本実施形態では、裏面となるページのデータをプリンタドライバが予め保持しておき、表面となるページのうしろに挿入しているが、この逆も可能である。すなわち、表面をプリンタドライバが予め保持し、それを裏面の前に挿入する。この場合においても、裏面印刷設定は、１ページずつアプリケーションから受信した裏面側に対して適用される。これは例えば、予めアプリケーションから通信面の描画データを受信する際に、それを偶数ページとして挿入するかあるいは奇数ページとして挿入するか指定させておく。そして、奇数ページと指定されれば１ページずつ受信する方のページを裏面として裏面設定を適用し、偶数ページと指定されれば予め受信する方のページを裏面として裏面設定を適用する。
【０１２２】
なお、第１の実施形態と第２の実施形態は、それぞれ異なるアプリケーションにより印刷を実行する際の例を示しているが、プリンタドライバ１０４自体は同一のものを利用できる。その場合、プリンタドライバ１０４は、アプリケーションから、第１の実施形態のように、宛名面と通信面の描画データを交互に受信して受信した順に出力するか、あるいは、第２の実施形態のように、予め受信しておいた通信面のページを宛名面の間に挿入して出力するかを、指定させる。そして、その指定に応じて、プリンタドライバ自体はいずれの形態のアプリケーションに対しても、それぞれに適した動作を遂行することができる。
【０１２３】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１２４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１２５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１２７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１２８】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１２９】
【発明の効果】
以上説明してきたように、本発明の画像処理装置によれば、１つの印刷ジョブにおいて、印刷対象となるデータ全体に対してすべて同じ印刷設定を適用するのではなく、印刷媒体の表面と裏面とで個別の設定を行うことが可能となる。
【０１３０】
さらに、ＵＩ上で与えられた印刷設定をテーブルとして管理することにより、一回の印刷ジョブのうちに、二つの設定を切り替えて用いながら印刷を行うことが可能となった。
【０１３１】
また、印刷設定においては、通常の基本設定画面でなされた設定値が、裏面個別設定時のデフォルトの設定値となることにより、自由度の高い印刷印刷を容易な操作で行うことが可能になった。
【図面の簡単な説明】
【図１】第一および第二の実施形態のプリントシステムの構成を表すブロック図
【図２】第一および第二の実施形態における印刷設定手順をあらわすフローチャート
【図３】第一および第二の実施形態における設定テーブルをあらわすブロック図
【図４】第一および第二の実施形態における基本設定画面をあらわすブロック図
【図５】第一および第二の実施形態における裏面設定画面をあらわすブロック図
【図６】第一の実施形態における印刷実行までの処理の流れをあらわすフローチャート
【図７】第一の実施形態にフチ無し印刷および通常印刷時のデータ加工の様子を表すブロック図
【図８】第二の実施形態における印刷実行までの処理の流れをあらわすフローチャート
【図９】第二の実施形態におけるプリンタドライバとアプリケーションの間で設定が反映される様子をあらわすブロック図
【符号の説明】
１０１  ホストコンピュータ
１０４  プリンタドライバ
１０７  スプーラ
４０１  基本設定画面
４０２  個別設定ボタン
５０１  裏面設定画面
７０１  メディアのサイズ
７０２  通常印刷時の印字可能領域
７０３  フチ無し印刷時の印字可能領域
【図１】
2004199292.tif 000003
【図２】
2004199292.tif 000004
【図３】
2004199292.tif 000005
【図４】
2004199292.tif 000006
【図５】
2004199292.tif 000007
【図６】
2004199292.tif 000008
【図７】
2004199292.tif 000009
【図８】
2004199292.tif 000010
【図９】
2004199292.tif 000011