(57)【要約】【課題】アプリケーションの種類に関わらず、高速に、且つ、予定通りの印刷結果を得ることができる印刷プログラム、及び、印刷システムを提供すること。【解決手段】アプリケーションが、必要以上に印刷条件初期化指示及び印刷条件変更指示をしても、その都度、印刷条件を切替える印刷条件切替処理（Ｓ３０）はせず、新たに指示された次ページの印刷条件を記憶すると共に、それに対応付けて前ページの印刷条件を記憶するに留める。そして、次ページの印刷開始指示があった後に（Ｓ２５：Ｙｅｓ）、直近に記憶した次ページの印刷条件を、正規の次ページの印刷条件として、その正規の次ページの印刷条件と、それと対応付けて記憶されている前ページの印刷条件とを比較して、印刷条件切替処理（Ｓ３０）を行う。よって、無駄な印刷条件切替処理を行わない分、高速に、且つ、予定通りの印刷結果が得られる。【選択図】図２
2010086084.tif 000002
【特許請求の範囲】
【請求項１】
各ページ毎に指示される印刷開始指示を受け、その印刷開始指示を受けたページの印刷条件に応じた態様で、その印刷開始指示を受けたページを印刷装置に印刷させる印刷制御装置に実行させる印刷プログラムにおいて、
所定ページの印刷開始指示を受けてから、前記所定ページに続く次ページの印刷開始指示を受けるまでの間において、次ページの印刷条件を受ける度に、その受けた次ページの印刷条件を記憶手段に記憶する記憶ステップと、
前記次ページの印刷開始指示を受けたことを条件に、前記記憶ステップによって前記記憶手段に記憶されている次ページの印刷条件のうち、前記次ページの印刷開始指示を受けた直前に前記記憶手段に記憶された次ページの印刷条件を、正規の次ページの印刷条件として前記所定ページの印刷条件を前記正規の次ページの印刷条件に切替える切替え処理を行う切替えステップと、
その切替えステップによって切替え処理を行った上で、前記正規の次ページの印刷条件に応じた態様で印刷データを作成し、次ページを前記印刷装置によって印刷させる印刷ステップとを備えていることを特徴とする印刷プログラム。
【請求項２】
前記記憶ステップによって前記次ページの印刷条件を記憶する度に、その記憶した次ページの印刷条件に対応付けて前記所定ページの印刷条件を記憶する引継ステップを備え、
前記切替えステップは、
前記正規の次ページの印刷条件と、その正規の次ページの印刷条件と対応付けて前記引継ステップによって記憶されている所定ページの印刷条件とを比較して用紙を切替える必要があるかを判断する第１の判断ステップと、
その第１の判断ステップによって用紙を切替える必要があると判断した場合に、用紙を切替える用紙切替え処理を前記印刷装置に実行させる用紙切替えステップとを備えていることを特徴とする請求項１に記載の印刷プログラム。
【請求項３】
各ページの印刷条件は複数項目を有し、その複数項目には各ページ毎に異なる内容に設定することができない定常項目が含まれており、
前記切替えステップは、前記所定ページの印刷条件に含まれている定常項目の内容を、前記正規の次ページの印刷条件に反映する反映ステップを備え、
前記第１の判断ステップは、前記定常項目以外の項目について用紙を切替える必要があるか否かを判断することを特徴とする請求項２に記載の印刷プログラム。
【請求項４】
前記切替えステップは、前記用紙切替えステップの後に、前記正規の次ページの印刷条件と対応付けて記憶されている所定ページの印刷条件を消去する消去ステップを備えていることを特徴とする請求項２又は３に記載の印刷プログラム。
【請求項５】
前記記憶ステップは、
前記次ページの印刷条件を受ける度に、前記記憶手段の一部に割当てられた第１の記憶領域と、第２の記憶領域とを割り当てる割当ステップと、
その割当ステップによって割り当てられた第２の記憶領域を空にしたまま、第１の記憶領域に、受けた次ページの印刷条件を記憶する第１の記憶ステップとを備え、
前記引継ステップは、
前記次ページの印刷条件を受ける度に、前回受けた次ページの印刷条件について前記割当ステップによって割り当てられた第２の記憶領域である旧第２の記憶領域が空のままかを判断する第３の判断ステップと、
その第３の判断ステップによって、前記旧第２の記憶領域が空であると判断された場合に、その旧第２の記憶領域が割り当てられた際に割り当てられた第１の記憶領域である旧第１の記憶領域に記憶されている所定ページの印刷条件を、新たに受けた次ページの印刷条件について前記割当ステップによって割り当てられた新第２の記憶領域に記憶する第２の記憶ステップと、
前記第３の判断ステップによって、前記旧前記旧第２の記憶領域が空でないと判断された場合に、その旧第２の記憶領域に記憶されている所定ページの印刷条件を、前記新第２の記憶領域に記憶する第３の記憶ステップとを備え、
前記切替えステップは、
前記次ページの印刷開始指示を受けたことを条件に、前記次ページの印刷開始指示を受けた直前に、前記割当ステップによって割り当てられた第２の記憶領域が空でないかを判断する第２の判断ステップを備え、
その第２の判断ステップによって前記第２の記憶領域が空でないと判断した場合に、その第２の記憶領域に記憶されている所定ページの印刷条件を、その第２の記憶領域が割り当てられた際に割り当てられた第１の記憶領域に記憶されている次ページの印刷条件に切替えることを特徴とする請求項２から４のいずれかに記載の印刷プログラム。
【請求項６】
前記請求項１から５のいずれかに記載の印刷プログラムを有し、その印刷プログラムによって印刷データを作成する印刷制御装置と、その印刷制御装置を介して送信される印刷データに従って用紙に画像を印刷する印刷装置とを備えていることを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷プログラム、及び、印刷システムに関するものである。
【背景技術】
【０００２】
従来、アプリケーションから各ページ毎に指示される印刷開始指示を受け、その印刷開始指示を受けたページの印刷条件（例えば、用紙サイズ、用紙の向き、両面印刷／片面印刷等）に応じた態様で、その印刷開始指示を受けたページを印刷装置によって印刷させるプリンタドライバが知られている。
【０００３】
このプリンタドライバでは、図８に示す指示をアプリケーションから受け、その指示に従って各ページを印刷装置によって印刷させている。図８は、アプリケーションからプリンタドライバにされる指示の一例を簡略化して示す図である。図８（ａ）に示すように、アプリケーションは、１ページ目の印刷条件初期化指示、１ページ目の印刷開始指示、及び描画指示を行う。
【０００４】
そして、１ページ目と２ページ目とで印刷条件が異なる場合には、２ページ目の印刷条件を設定するために印刷条件初期化指示を行い、続いて１ページ目から２ページ目への印刷設定を変更するための印刷条件変更指示によって印刷条件を変更するように指示する。印刷条件初期化指示には２ページ目の印刷条件が含まれており、プリンタドライバは、この２ページ目の印刷条件を記憶し、その後、印刷条件変更指示を受けた場合に、先に記憶した２ページ目の印刷条件で２ページ目を印刷するのに必要な処理を印刷装置に実行させる。
【０００５】
この２ページ目を印刷するのに必要な処理には、用紙の切替え処理が含まれており、例えば、１ページ目の印刷条件が両面印刷で用紙サイズがＢ５、２ページ目の印刷条件が両面印刷で用紙サイズがＡ３であった場合には、用紙サイズが異なり、２ページ目を１ページ目の裏面に印刷することができないので、プリンタドライバは印刷装置に対して、１ページ目を印刷したＢ５サイズの用紙を排出させ、その後、Ａ３サイズの用紙を給紙させる処理をする。
【０００６】
このように、１ページ目と２ページ目とで印刷条件が異なる場合、アプリケーションは、２ページ目の印刷開始指示をする前に印刷条件初期化指示、及び印刷条件変更指示をし、その後で、２ページ目の印刷開始指示、２ページ目の描画指示をする。尚、前ページに対して印刷条件に変更がない場合には、この印刷条件初期化指示、及び印刷条件変更指示をすることなく、前ページの印刷条件と同じ印刷条件で、印刷開始指示、描画指示を繰り返し、最終的に終了指示をして終了する。
【０００７】
一方で、上述したプリンタドライバに関連し、次の特許文献１には、「アプリケーションにページ単位で印刷設定を行うプラグインプログラムを組み込み、該プラグインプログラムはページ単位の印刷設定入力画面を表示して入力を促し、入力値を記憶する一方、前記アプリケーションから表示中のページ情報を取得し、該アプリケーションで印刷指示が実行された時に入力されたページ単位設定情報をプリンタドライバに渡し、該プリンタドライバはプリンタ言語を生成する際に前記ページ単位設定情報をページ毎に記述し、ページ毎に給紙部、排紙部、用紙色及び用紙種類等を区別して印刷する」という印刷システムが開示されている。
【特許文献１】特開２００４−２８７６３７号公報（段落第「０００５」等）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、アプリケーションの種類によっては、上述した印刷条件初期化指示、及び印刷条件変更指示を必要以上にプリンタドライバにするものが存在している。このような場合、アプリケーションは、図８（ｂ）に示すように、２ページ目の印刷開始指示をする前に、複数回の印刷条件初期化指示、及び印刷条件変更指示をする。
【０００９】
例えば、１ページ目の印刷条件が両面印刷で用紙サイズがＢ５、２ページ目の印刷条件が両面印刷で用紙サイズがＡ３であるにもかかわらず、１回目の印刷条件初期化指示、及び印刷条件変更指示として両面印刷で用紙サイズをＡ４とした上で、２回目の印刷条件初期化指示、印刷条件変更指示として両面印刷で用紙サイズをＡ３とするアプリケーションが存在している。
【００１０】
この種のアプリケーションに対し、プリンタドライバは１回目の印刷条件初期化指示、及び印刷条件変更指示によってプリンタドライバが印刷装置に実行させる用紙切替え処理を行ってしまう。しかしながら、この用紙切替え処理が不要であり、その分、２ページ目の印刷に移行するのが遅れ、その結果、高速に印刷できないという問題点があった。
【００１１】
更に、アプリケーションの種類によっては、連続する２ページ間で印刷条件が同じであるにも関わらず、印刷条件初期化指示、及び印刷条件変更指示をするアプリケーションも存在している。例えば、１ページ目の印刷条件と、２ページ目の印刷条件とが共に、両面印刷で用紙サイズがＢ５であるにも関わらず、１回目の印刷条件初期化指示、及び印刷条件変更指示として両面印刷で用紙サイズをＡ４、２回目の印刷条件初期化指示、及び印刷条件変更指示として両面印刷で用紙サイズをＢ５とするアプリケーションが存在している。
【００１２】
この種のアプリケーションの場合、１回目の印刷条件初期化指示、及び印刷条件変更指示によって、用紙サイズがＢ５である１ページ目の裏面には、用紙サイズがＡ４である２ページ目を印刷できないとして、用紙切替え処理によって１ページ目が印刷された用紙が排出されてしまう。
【００１３】
即ち、本来であれば、１ページ目が表面、２ページ目が裏面に印刷された１枚の印刷物が得られるはずなのに、１ページ目と、２ページ目とが別々の用紙に印刷された２枚の印刷物が得られ、予定していない印刷結果が得られるという問題点があった。
【００１４】
本発明は上記問題を解決するために、アプリケーションの種類に関わらず、高速に、且つ、予定通りの印刷結果を得ることができる印刷プログラム、および印刷システムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
この目的を達成するために、請求項１記載の印刷プログラムは、各ページ毎に指示される印刷開始指示を受け、その印刷開始指示を受けたページの印刷条件に応じた態様で、その印刷開始指示を受けたページを印刷装置に印刷させる印刷制御装置に実行させるものであって、所定ページの印刷開始指示を受けてから、前記所定ページに続く次ページの印刷開始指示を受けるまでの間において、次ページの印刷条件を受ける度に、その受けた次ページの印刷条件を記憶手段に記憶する記憶ステップと、前記次ページの印刷開始指示を受けたことを条件に、前記記憶ステップによって前記記憶手段に記憶されている次ページの印刷条件のうち、前記次ページの印刷開始指示を受けた直前に前記記憶手段に記憶された次ページの印刷条件を、正規の次ページの印刷条件として前記所定ページの印刷条件を前記正規の次ページの印刷条件に切替える切替え処理を行う切替えステップと、その切替えステップによって切替え処理を行った上で、前記正規の次ページの印刷条件に応じた態様で印刷データを作成し、次ページを前記印刷装置によって印刷させる印刷ステップとを備えている。
【００１６】
請求項２記載の印刷プログラムは、請求項１記載の印刷プログラムにおいて、前記記憶ステップによって前記次ページの印刷条件を記憶する度に、その記憶した次ページの印刷条件に対応付けて前記所定ページの印刷条件を記憶する引継ステップを備え、前記切替えステップは、前記正規の次ページの印刷条件と、その正規の次ページの印刷条件と対応付けて前記引継ステップによって記憶されている所定ページの印刷条件とを比較して用紙を切替える必要があるかを判断する第１の判断ステップと、その第１の判断ステップによって用紙を切替える必要があると判断した場合に、用紙を切替える用紙切替え処理を前記印刷装置に実行させる用紙切替えステップとを備えている。
【００１７】
請求項３記載の印刷プログラムは、請求項２に記載の印刷プログラムにおいて、各ページの印刷条件は複数項目を有し、その複数項目には各ページ毎に異なる内容に設定することができない定常項目が含まれており、前記切替えステップは、前記所定ページの印刷条件に含まれている定常項目の内容を、前記正規の次ページの印刷条件に反映する反映ステップを備え、前記第１の判断ステップは、前記定常項目以外の項目について用紙を切替える必要があるか否かを判断する。
【００１８】
請求項４記載の印刷プログラムは、請求項２又は３に記載の印刷プログラムにおいて、前記切替えステップは、前記用紙切替えステップの後に、前記正規の次ページの印刷条件と対応付けて記憶されている所定ページの印刷条件を消去する消去ステップを備えている。
【００１９】
請求項５記載の印刷プログラムは、請求項２から４のいずれかに記載の印刷プログラムにおいて前記記憶ステップは、前記次ページの印刷条件を受ける度に、前記記憶手段の一部に割当てられた第１の記憶領域と、第２の記憶領域とを割り当てる割当ステップと、その割当ステップによって割り当てられた第２の記憶領域を空にしたまま、第１の記憶領域に、受けた次ページの印刷条件を記憶する第１の記憶ステップとを備え、前記引継ステップは、前記次ページの印刷条件を受ける度に、前回受けた次ページの印刷条件について前記割当ステップによって割り当てられた第２の記憶領域である旧第２の記憶領域が空のままかを判断する第３の判断ステップと、その第３の判断ステップによって、前記旧第２の記憶領域が空であると判断された場合に、その旧第２の記憶領域が割り当てられた際に割り当てられた第１の記憶領域である旧第１の記憶領域に記憶されている所定ページの印刷条件を、新たに受けた次ページの印刷条件について前記割当ステップによって割り当てられた新第２の記憶領域に記憶する第２の記憶ステップと、前記第３の判断ステップによって、前記旧前記旧第２の記憶領域が空でないと判断された場合に、その旧第２の記憶領域に記憶されている所定ページの印刷条件を、前記新第２の記憶領域に記憶する第３の記憶ステップとを備え、前記切替えステップは、前記次ページの印刷開始指示を受けたことを条件に、前記次ページの印刷開始指示を受けた直前に、前記割当ステップによって割り当てられた第２の記憶領域が空でないかを判断する第２の判断ステップを備え、その第２の判断ステップによって前記第２の記憶領域が空でないと判断した場合に、その第２の記憶領域に記憶されている所定ページの印刷条件を、その第２の記憶領域が割り当てられた際に割り当てられた第１の記憶領域に記憶されている次ページの印刷条件に切替える。
【００２０】
請求項６記載の印刷システムは、前記請求項１から５のいずれかに記載の印刷プログラムを有し、その印刷プログラムによって印刷データを作成する印刷制御装置と、その印刷制御装置を介して送信される印刷データに従って用紙に画像を印刷する。
【発明の効果】
【００２１】
請求項１記載の印刷プログラムによれば、所定ページの印刷開始指示を受けてから、所定ページの次ページの印刷開始指示を受けるまでの間に、次ページの印刷条件を二回以上受けたとしても、その都度、印刷条件を変更するのに必要な切替え処理は行わず、次ページの印刷条件を受けた場合には、その受けた次ページの印刷条件を記憶ステップによって記憶手段に記憶するに留める。そして、次ページの印刷開始指示を受け場合に、初めて、切替えステップによって前記記憶手段に記憶されている次ページの印刷条件のうち、次ページの印刷開始指示を受ける直前に前記記憶手段に記憶された次ページの印刷条件を、正規の次ページの印刷条件として、所定ページの印刷条件から正規の次ページの印刷条件に切替える切替え処理を行う。即ち、アプリケーションから必要以上に次ページの印刷条件を受けたとしても、その全ての次ページの印刷条件に応じた切替え処理は行わず、必要最小限の切替え処理だけを行うので、次ページ印刷条件を受ける度に切替え処理を行う場合に比べて、高速に印刷することができると共に、不必要な切替え処理を行った結果、予定していない印刷結果を得るのを防止することができる。従って、アプリケーションの種類に関わらず、高速に、且つ、予定通りの印刷結果を得ることができるという効果がある。
【００２２】
請求項２記載の印刷プログラムによれば、請求項１に記載の印刷プログラムの奏する効果に加え、所定ページの印刷条件は、記憶ステップによって次ページの印刷条件を記憶する度に、その記憶した次ページの印刷条件に対応付けて引継ステップによって記憶されている。よって、切替えステップでは、第１の判断ステップによって、正規の次ページの印刷条件と、その正規の次ページの印刷条件と対応付けて記憶されている所定ページの印刷条件とを比較して用紙を切替える必要があるかを判断することができ、その上で、用紙を切替える必要があると判断した場合に限り、用紙切替えステップによって用紙を切替える用紙切替え処理を印刷装置に実行させるので、所定ページとの関係で不必要な用紙切替え処理を印刷装置に実行させるのを防止することができる。従って、高速に、且つ、予定通りの印刷結果を得ることができるという効果がある。
【００２３】
請求項３記載の印刷プログラムによれば、請求項２に記載の印刷プログラムの奏する効果に加え、各ページの印刷条件を構成する複数項目に、各ページ毎に異なる内容に設定することができない定常項目が含まれていたとしても、切替えステップは、反映ステップによって、所定ページの印刷条件に含まれている定常項目の内容を、正規の次ページの印刷条件に反映させる。よって、所定ページと、次ページとの間で、印刷条件を変更したとしても、定常項目の内容については同一となり、定常項目の内容が異なることで、予期しない印刷結果となるのを防止することができるという効果がある。また、第１の判断ステップによって用紙を切替える必要があるかを判断する場合には、定常項目以外の項目について用紙を切替える必要があるか否かを判断するので、不必要な判断をするのが避けられ、第１の判断ステップにおける処理負担を軽減することができる。よって、高速に予定通りの印刷結果を得ることができるという効果がある。
【００２４】
請求項４記載の印刷プログラムによれば、請求項２又は３に記載の印刷プログラムの奏する効果に加え、用紙切替えステップの後に、記憶手段に記憶されている所定ページの印刷条件は消去ステップによって消去されるので、もはや不要な所定ページの印刷条件を消去することでメモリの消費容量を節約することができるという効果がある。
【００２５】
請求項５記載の印刷プログラムによれば、請求項２から４のいずれかに記載の印刷プログラムの奏する効果に加え、記憶ステップは、次ページの印刷条件を受ける度に、割当ステップによって記憶手段の一部に第１の記憶領域と、第２の記憶領域とを割り当て、第１の記憶ステップによって、割り当てられた第２の記憶領域を空にしたまま、第１の記憶領域に、新たに受けた次ページの印刷条件を記憶する。一方、引継ステップは、次ページの印刷条件を受ける度に、前回受けた次ページの印刷条件により割当ステップによって割り当てられた第２の記憶領域である旧第２の記憶領域が空のままかを第３の判断ステップによって判断し、その結果、旧第２の記憶領域が空であると判断された場合には、第２の記憶ステップによって、その旧第２の記憶領域が割り当てられた際に割り当てられた第１の記憶領域である旧第１の記憶領域に記憶されている所定ページの印刷条件を、第２の記憶ステップによって新たに受けた次ページの印刷条件について割当ステップで割り当てられた新第２の記憶領域に記憶し、旧前記旧第２の記憶領域が空でないと判断された場合には、その旧第２の記憶領域に記憶されている所定ページの印刷条件を、第３の記憶ステップによって新第２の記憶領域に記憶する。よって、第１の記憶ステップによって次ページの印刷条件を第１の記憶領域に記憶する度に、その第１の記憶領域に対応した第２の記憶領域に第２又は第３の記憶ステップによって所定ページの印刷条件が記憶され、次ページの印刷条件を記憶する度に、その記憶した次ページの印刷条件に対応付けて所定ページの印刷条件を記憶することで、次ページの印刷条件に対応付けて所定ページの印刷条件を引き継ぐことができる。また、次ページの印刷条件を受けた場合には、必ず新第２の記憶領域に所定ページの印刷条件が記憶されていることになる。よって、切替えステップでは、次ページの印刷開始指示を受けると、第２の判断ステップによって、次ページの印刷開始指示を受けた直前に、割り当てられた第２の記憶領域が空でないかを判断することで、次ページの印刷条件を受けたかを判断することができる。従って、次ページの印刷条件を受けたか否かと、所定ページの印刷条件という２種類の情報を別々に記憶する場合に比べ、第２の判断ステップでは、次ページの印刷開始指示を受けた直前に割り当てられた第２の記憶領域だけにアクセスすることで、かかる２種類の情報を取得することができる。その結果、第２の判断ステップにおける処理負担を軽減され、高速に予定通りの印刷結果を得ることができるという効果がある。
【００２６】
請求項６記載の印刷システムによれば、前記請求項１から５のいずれかに記載の印刷プログラムを有しているので、請求項１から５のいずれかに記載の印刷プログラムが奏する効果と同様の効果を奏することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の一つである印刷システム１の電気的構成を示すブロック図である。印刷システム１は、本発明の印刷制御装置として機能するパーソナルコンピュータ（以下「ＰＣ１０」と称す）と、そのＰＣ１０とＵＳＢ配線６０を介して接続されている印刷装置４０とによって構成されている。
【００２８】
また、本発明の一つである印刷プログラムは、ＰＣ１０にインストールされているプリンタドライバ１４ｂが該当し、このプリンタドライバ１４ｂは、特に、アプリケーションの種類に関わらず、高速に、且つ、予定通りの印刷結果を印刷装置４０から出力させることができるものである。
【００２９】
ＰＣ１０には、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ１４（以下、ＨＤＤ１４と称す）、ＵＳＢインターフェイス１６、入力装置１７、表示装置１８が搭載されており、これらはバスライン２０を介して互いに接続されている。
【００３０】
ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３、ＨＤＤ１４に記憶される固定値やプログラムに従って、バスライン２０により接続された各部を制御する演算処理装置である。ＲＯＭ１２は、ＰＣ１０の動作を制御するためのプログラムなどが格納されたメモリである。
【００３１】
ＲＡＭ１３は、ＣＰＵ１１の処理に必要なデータなどを一時的に記憶する揮発性のメモリであり、上述のプリンタドライバ１４ｂにより、必要に応じて第１の印刷条件メモリ１３ａと、第２の印刷条件メモリ１３ｂと、第３の印刷条件メモリ１３ｃとが割当てられる。
【００３２】
第１の印刷条件メモリ１３ａと、第２の印刷条件メモリ１３ｂと、第３の印刷条件メモリ１３ｃとは、後述するアプリケーション１４ａからプリンタドライバ１４ｂに指示される各ページの印刷条件を記憶するものである。各ページの印刷条件は、アプリケーション１４ａの印刷条件設定画面を介して各ページ毎にユーザが設定し、アプリケーション１４ａからプリンタドライバ１４ｂに指示される。
【００３３】
次に、第１の印刷条件メモリ１３ａと、第２の印刷条件メモリ１３ｂと、第３の印刷条件メモリ１３ｃとに記憶される各ページの印刷条件について、図６を参照して説明する。図６は、第１の印刷条件メモリ１３ａと、第２の印刷条件メモリ１３ｂと、第３の印刷条件メモリ１３ｃとに記憶される各ページの印刷条件を模式的に示す図である。各印刷条件メモリ１３ａ〜１３ｃには、同様な形式で印刷条件が記憶されているので、図６（ａ）を代表して説明する。図６（ａ）は、第１の印刷条件メモリ１３ａに記憶される印刷条件である。
【００３４】
図６（ａ）に示すように、第１の印刷条件メモリ１３ａには、印刷条件を格納するための印刷条件格納テーブル１３０が記憶されている。印刷条件格納テーブル１３０には、２つの印刷条件を格納する領域を備える。便宜上、２つの印刷条件を格納する領域の１つを条件Ａ格納領域１３０ａ、１つを条件Ｂ格納領域１３０ｂとする。条件Ａ格納領域１３０ａ、および条件Ｂ格納領域１３０ｂは、同じ複数項目によって構成されている。
【００３５】
具体的には、Ｂ５／Ａ４／Ａ３等の用紙サイズ示す用紙サイズ、縦向き／横向きの別を示す用紙向き、両面印刷／片面印刷の別を示す両面印刷設定、自動両面印刷／手動両面印刷の別を示す両面印刷モード、１枚の用紙に２ページ分以上の画像データを印刷する／しないの別を示すマルチページ設定という複数項目によって構成されている。
【００３６】
また、各項目に対応つけて、その各項目の設定値が記憶されている。例えば、条件Ａ格納領域１３０ａには、用紙サイズがＡ４、用紙向きが縦、両面印刷設定が両面印刷、両面印刷モードが自動両面印刷（両面印刷を自動で行うということ）、マルチページ設定が２ｉｎ１（マルチページ設定がされているということ）が記憶されている。一方、条件Ｂ格納領域１３０ｂの各項目の設定値には、何ら設定値が記憶されておらず、初期状態にある。本実施形態では、この状態を条件Ｂ格納領域１３０ｂが空であるとする。
【００３７】
尚、上述した通り、図６（ａ）に示すような、印刷条件格納テーブル１３０は、アプリケーション１４ａから印刷条件初期化指示がされる度に、プリンタドライバ１４ｂによって作成され、記憶されることになるが、各ページの印刷条件を、第１の印刷条件メモリ１３ａと、第２の印刷条件メモリ１３ｂと、第３の印刷条件メモリ１３ｃとに記憶する方法については、後述する。
【００３８】
ＨＤＤ１４は、書き換え可能な不揮発性のメモリであり、ＨＤＤ１４にはアプリケーション１４ａと、プリンタドライバ１４ｂとが格納されている。アプリケーション１４ａは、印刷装置４０によって印刷する画像の画像データを作成するものである。尚、このアプリケーション１４ａは、上述した図８（ｂ）に例示するような、印刷条件初期化指示、及び印刷条件変更指示を必要以上にするアプリケーションである。
【００３９】
プリンタドライバ１４ｂは、アプリケーション１４ａで作成された画像データから印刷装置４０に対応した言語で構成される印刷データを各ページ単位で作成する。また、各ページ毎に設定されている印刷条件に応じた態様で、各ページが印刷されるために必要な処理を印刷装置に実行させるものである。
【００４０】
入力装置１７は、ユーザ指示を入力するためのものであり、例えば、キーボードやマウスなどで構成される。表示装置１８は、例えば、ＣＲＴディスプレイや液晶ディスプレイなどにより構成され、各種処理内容や入力されたデータなどを視覚的に表示するものである。
【００４１】
印刷装置４０は、レーザ方式によって用紙に画像を印刷する装置であって、演算装置であるＣＰＵ５１と、そのＣＰＵ５１により実行される各種の制御プログラムやデータを記憶したＲＯＭ５２と、この印刷装置４０に接続されるＰＣ１０から入力された印刷情報や制御信号を記憶するためのメモリであるＲＡＭ５３とを備えている。
【００４２】
また、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３は、バスライン５８を介して互いに接続されており、かかるバスライン５８は、入出力ポート５９に接続されている。その入出力ポート５９は、操作キー４５、ＬＣＤ４６、メモリカードスロット４７、ＵＳＢインターフェイス４８、プリンタ５７に接続されており、その結果、ＣＰＵ５１により各部を制御することができる。
【００４３】
プリンタ５７には、主に、感光ドラム、レーザ照射装置、トナー供給装置、転写ローラ、定着ローラが含まれている。プリンタ５７は、帯電された感光ドラムにレーザ照射装置から光照射し、感光ドラムに静電潜像を形成する。そして、その静電潜像に対してトナー供給装置からトナーを供給し、静電潜像を現像化した後、転写ローラ、定着ローラによって画像を用紙に転写、定着させ、用紙に画像を印刷する。
【００４４】
次に、図２を参照して印刷処理について説明する。図２はプリンタドライバ１４ｂの印刷プログラムに従ってＣＰＵ１１が実行する印刷処理を示すフローチャートである。印刷処理は、アプリケーション１４ａで作成した画像データから印刷データを作成し、その印刷データに従って、印刷装置４０によって画像を用紙に印刷させる処理であり、アプリケーション１４ａを介してユーザから印刷処理の実行指示を受けた場合に実行される処理である。
【００４５】
この印刷処理では、まず、印刷条件初期化指示を受けたか否かを判断する（Ｓ１）。印刷条件初期化指示とは、アプリケーション１４ａが指定した、これから印刷しようとするページの印刷条件を記憶するように指示するものである。印刷条件初期化指示を受けたと判断した場合は（Ｓ１：Ｙｅｓ）、印刷条件初期化処理を実行する（Ｓ１０）。Ｓ１０の処理については後述する。一方、印刷条件初期化指示を受けていないと判断した場合は（Ｓ１：Ｎｏ）、印刷条件変更指示を受けたか否かを判断する（Ｓ１５）。印刷条件変更指示とは、アプリケーション１４ａが先に指定した印刷条件を、新たに指定した印刷条件に変更するように指示するものである。
【００４６】
印刷条件変更指示を受けたと判断した場合は（Ｓ１５：Ｙｅｓ）、引継処理を実行する（Ｓ２０）。Ｓ２０の処理については後述する。一方、印刷条件変更指示を受けていないと判断した場合は（Ｓ１５：Ｎｏ）、印刷開始指示を受けたか否かを判断する（Ｓ２５）。印刷開始指示とは、アプリケーションが指定した印刷条件に基づいて印刷を開始するように指示するものである。
【００４７】
印刷開始指示を受けたと判断した場合は（Ｓ２５：Ｙｅｓ）、印刷条件切替処理を実行する（Ｓ３０）。Ｓ３０の処理については後述する。一方、印刷開始指示を受けていないと判断した場合は（Ｓ２５：Ｎｏ）、描画指示を受けたか否かを判断する（Ｓ３５）。描画指示とは、アプリケーションにより作成されたデータに基づいて印刷データを作成するように指示するものである。
【００４８】
描画指示を受けたと判断した場合は（Ｓ３５：Ｙｅｓ）、Ｓ３０の処理において、アプリケーション１４ａに指定された印刷条件に従って、描画指示に応じた印刷データを作成する（Ｓ４０）。一方、描画指示を受けていないと判断した場合（Ｓ３５：Ｎｏ）、又は、上記Ｓ１０，Ｓ２０，Ｓ３０，もしくはＳ４０の処理が終了した場合は、次の指示を受けたか否かを判断する（Ｓ４５）。
【００４９】
次の指示を受けたと判断した場合は（Ｓ４５：Ｙｅｓ）、Ｓ１の処理に戻る。一方、次の指示を受けていないと判断した場合は（Ｓ４５：Ｎｏ）、本処理を終了する。
【００５０】
以上説明したように、図２に示す印刷処理はアプリケーション１４ａからの指示がなくなるまで、その指示に応じて、印刷条件初期化処理（Ｓ１０）、引継処理（Ｓ２０）、印刷条件切替処理（Ｓ３０）、または印刷データ作成（Ｓ４０）を繰り返し実行する構成となっている。
【００５１】
次に、印刷条件初期化処理（Ｓ１０）、引継処理（Ｓ２０）、及び印刷条件切替処理（Ｓ３０）について図３〜図７を参照して説明する。図３は印刷条件初期化処理（Ｓ１０）を示すフローチャートである。図４は引継処理（Ｓ２０）を示すフローチャートである。図５は印刷条件切替処理（Ｓ３０）を示すフローチャートである。図６、図７は、第１〜３の印刷条件メモリ１３ａ〜１３ｃに記憶される印刷条件格納テーブル１３０〜１３２を示す図である。
【００５２】
尚、以降はアプリケーション１４ａにより図８（ｂ）に示すような指示がなされたことを仮定して説明する。ただし、アプリケーション１４ａからは図８（ｂ）に示す順番で指示がなされるとは限らない。アプリケーション１４ａからの指示は、各ページに設定された印刷条件やアプリケーション１４ａの仕様によって異なるからである。
【００５３】
まず、図８（ｂ）に示すように、１ページ目の印刷条件初期化指示Ｃ１がなされると、図２において１ページ目の印刷条件初期化指示Ｃ１を受けたと判断し（Ｓ１：Ｙｅｓ）、印刷条件初期化処理を実行する（Ｓ１０）。印刷条件初期化処理は、受けた印刷条件初期化指示において指示されている印刷条件を、印刷条件格納テーブルに記憶する処理である。
【００５４】
この印刷条件初期化処理では（Ｓ１０）、図３に示すように、まず、ＲＡＭ１３の一部に第１の印刷条件メモリ１３ａを割り当て、その第１の印刷条件メモリ１３ａに図６（ａ）に示す印刷条件格納テーブル１３０を作成する（Ｓ１０１）。次に、印刷条件格納テーブル１３０の条件Ａ格納領域１３０ａに、１ページ目の印刷条件初期化指示Ｃ１に含まれている１ページ目の印刷条件を格納する（Ｓ１０２）。続いて、印刷条件格納テーブル１３０の条件Ｂ格納領域１３０ｂを空きにする（Ｓ１０３）。
【００５５】
図６（ａ）に示す印刷条件格納テーブル１３０では、１ページ目の印刷条件初期化指示により、用紙サイズがＡ４、用紙向きが縦、両面印刷設定が両面印刷、両面印刷モードが自動両面印刷、マルチページ設定が２ｉｎ１という１ページ目の印刷条件が記憶された例を示している。尚、図３に示すＳ１０３の処理の後は、この印刷条件格納テーブル１３０を記憶した第１の印刷条件メモリ１３ａのメモリアドレスを、アプリケーション１４ａに送った後、図２に示す処理に戻る。
【００５６】
次に、図８（ｂ）に示す１ページ目の印刷開始指示Ｃ２がなされると、図２において、１ページ目の印刷開始指示を受けたと判断し（Ｓ２５：Ｙｅｓ）、印刷条件切替処理を実行する（Ｓ３０）。尚、この１ページ目の印刷開始指示Ｃ２では、印刷条件格納テーブル１３０を記憶した第１の印刷条件メモリ１３ａのメモリアドレスがアプリケーション１４ａから送られてくる。
【００５７】
そして、この印刷条件切替処理では（Ｓ３０）、図５に示すように、まず、第１の印刷条件メモリ１３ａから印刷条件格納テーブル１３０を読み出し、条件Ｂ格納領域１３０ｂに印刷条件が格納されているかを判断する（Ｓ３０１）。今回は、図６（ａ）に示すように、条件Ｂ格納領域１３０ｂが空きであるので、条件Ｂ格納領域１３０ｂに印刷条件が格納されていないと判断し（Ｓ３０１：Ｎｏ）、Ｓ３０２〜Ｓ３０８をスキップして、条件Ａ格納領域１３０ａに格納されている印刷条件を１ページ目の印刷条件と決定する（Ｓ３０９）。その後、この印刷条件切替処理を終了し（Ｓ３０）、図２の処理に戻る。
【００５８】
次に、図８（ｂ）に示す１ページ目の描画指示Ｃ３がなされると、図２において、描画指示を受けたと判断し（Ｓ３５：Ｙｅｓ）、上記Ｓ３０９で決定された１ページ目の印刷条件従って、描画指示に応じた印刷データを作成する（Ｓ４０）。
【００５９】
次に、図８（ｂ）に示す２ページ目の印刷条件初期化指示Ｃ４がなされると、図２において、２ページ目の印刷条件初期化指示Ｃ４を受けたと判断し（Ｓ１：Ｙｅｓ）、印刷条件初期化処理を実行する（Ｓ１０）。この印刷条件初期化処理では（Ｓ１０）、上述したように、図３に示すＳ１０１〜Ｓ１０３の処理を実行し、ＲＡＭ１３の一部に第２の印刷条件メモリ１３ｂを割り当て、その第２の印刷条件メモリ１３ｂに、２ページ目の印刷条件初期化指示Ｃ４に含まれている２ページ目の印刷条件を、図６（ｂ）に示す印刷条件格納テーブル１３１の条件Ａ格納領域１３１ａに格納する。
【００６０】
尚、このＳ１０３の処理の後も、上述したのと同様に、図６（ｂ）に示す印刷条件格納テーブル１３１を記憶した第２の印刷条件メモリ１３ｂのメモリアドレスを、アプリケーション１４ａに送った後、図２に示す処理に戻る。
【００６１】
また、この２ページ目の印刷条件初期化指示Ｃ４によって作成される図６（ｂ）に示す印刷条件格納テーブル１３１の構成は、図６（ａ）に示す印刷条件格納テーブル１３０の構成と同じなので説明は省略するが、条件Ａ格納領域１３１ａには、２ページ目の印刷条件初期化指示Ｃ４により指示された印刷条件が格納されており、条件Ｂ格納領域１３１ｂは空きの状態となっている。
【００６２】
次に、図８（ｂ）に示す２ページ目の印刷条件変更指示Ｃ５がなされると、図２において、印刷条件変更指示を受けたと判断し（Ｓ１５：Ｙｅｓ）、引継処理を実行する（Ｓ２０）。この印刷条件変更指示では、先に指示した印刷条件（１ページ目の印刷条件）を、新たに指示した印刷条件（２ページ目の印刷条件）に変更するように指示されるため、先に指示した１ページ目の印刷条件を記憶する第１の印刷条件メモリ１３ａのメモリアドレスと、新たに指示した２ページ目の印刷条件を記憶する第２の印刷条件メモリ１３ｂのメモリアドレスとが送られる。
【００６３】
そして、この２ページ目の印刷条件変更指示Ｃ５の指示を受けて実行される引継処理では（Ｓ２０）、印刷条件を変更するために必要な処理は直ちに行わず、単に、図６（ａ）に示す印刷条件格納テーブル１３０から１ページ目の印刷条件を読み出し、その読み出した１ページ目の印刷条件を、図６（ｂ）に示す印刷条件格納テーブル１３１の条件Ｂ格納領域１３１ｂに記憶する。即ち、この引継処理は（Ｓ２０）、印刷条件変更指示を受ける度に、新たに指示された印刷条件に対応付けて、先に指示された印刷条件を記憶することで、前ページの印刷条件を引き継ぐ処理を行うのである。
【００６４】
この引継処理では（Ｓ２０）、図４に示すように、まず、第１の印刷条件メモリ１３ａから印刷条件格納テーブル１３０を読み出し、条件Ｂ格納領域１３０ｂが空かを判断する（Ｓ２０１）。図６（ａ）に示すように、今回、条件Ｂ格納領域１３０ｂは空であるので、空であると判断し（Ｓ２０１：Ｙｅｓ）、条件Ａ格納領域１３０ａに記憶されている１ページ目の印刷条件を、図６（ｂ）に示す印刷条件格納テーブル１３１の条件Ｂ格納領域１３１ｂにコピーする（Ｓ２０２）。これにより、１ページ目の印刷条件を、新たに指示された２ページ目の印刷条件と対応つけて記憶することができ、新たに指示された２ページ目の印刷条件と対応付けて、１ページ目の印刷条件を引き継ぐことができる。
【００６５】
尚、この場合、アプリケーション１４ａには、第２の印刷条件メモリ１３ｂのメモリアドレスを返し、新たに指示された２ページ目の印刷条件が第２の印刷条件メモリ１３ｂに記憶されていることを伝える。そして、アプリケーション１４ａから所定のタイミングで（例えば、印刷条件変更指示の後）、第１の印刷条件メモリ１３ａの印刷条件消去指示がなされると、それに応じて第１の印刷条件メモリ１３ａの印刷格納テーブル１３０を消去する。
【００６６】
以上の引継処理により（Ｓ２０）、図６（ｂ）に示す印刷条件格納テーブル１３１は、図６（ｃ）に示す状態で、第２の印刷条件メモリ１３ｂに記憶されることになる。即ち、条件Ａ格納領域１３１ａには、２ページ目の印刷条件初期化指示Ｃ４で指示された２ページ目の印刷条件が記憶されており、条件Ｂ格納領域１３１ｂには、１ページ目の印刷条件初期化指示Ｃ１で指示された１ページ目の印刷条件が記憶されていることになる。
【００６７】
次に、通常のアプリケーションであれば、その後、２ページ目の印刷開始指示がされるものの、図８（ｂ）に示すように、２ページ目の印刷開始指示Ｃ８がされず、再び、２回目の２ページ目の印刷条件初期化指示Ｃ６がされると、図２において、２ページ目の印刷条件初期化指示Ｃ６を受けたと判断し（Ｓ１：Ｙｅｓ）、印刷条件初期化処理を実行する（Ｓ１０）。
【００６８】
この印刷条件初期化処理では（Ｓ１０）、上述したように、図３に示すＳ１０１〜Ｓ１０３の処理を実行し、ＲＡＭ１３の一部に第３の印刷条件メモリ１３ｃを割り当て、その第３の印刷条件メモリ１３ｃに、２回目の２ページ目の印刷条件初期化指示Ｃ６に含まれている２回目の２ページ目の印刷条件を、図７（ｄ）に示す印刷条件格納テーブル１３２の条件Ａ格納領域１３２ａに格納する。また、Ｓ１０３の処理の後には、上述したのと同様に、印刷条件格納テーブル１３２を記憶した第３の印刷条件メモリ１３ｃのメモリアドレスを、アプリケーション１４ａに送った後、図２に示す処理に戻る。
【００６９】
尚、図７（ｄ）に示す印刷条件格納テーブル１３２の構成は、図６（ａ）〜図６（ｃ）に示す印刷条件格納テーブル１３０及び１３１の構成と同じなので説明は省略するが、条件Ａ格納領域１３２ａには、２回目の２ページ目の印刷条件初期化指示Ｃ６により指示された２回目の２ページ目の印刷条件が格納されており、条件Ｂ格納領域１３２ｂは空きの状態となっている。
【００７０】
次に、図８（ｂ）に示す２回目の２ページ目の印刷条件変更指示Ｃ７がなされると、図２において２回目の２ページ目の印刷条件変更指示Ｃ７を受けたと判断し（Ｓ１５：Ｙｅｓ）、再び、引継処理を実行する（Ｓ２０）。尚、この２回目の２ページ目の印刷条件変更指示Ｃ７では、先に指示された１回目の２ページ目の印刷条件を記憶する第２の印刷条件メモリ１３ｂのメモリアドレスと、新たに指示された２回目の２ページ目の印刷条件を記憶する第３の印刷条件メモリ１３ｃのメモリアドレスとが送られる。
【００７１】
そして、この２回目の２ページ目の印刷条件変更指示Ｃ７の指示を受けて実行される引継処理では（Ｓ２０）、図４に示すように、まず、第２の印刷条件メモリ１３ｂから印刷条件格納テーブル１３１を読み出し、条件Ｂ格納領域１３１ｂが空かを判断する（Ｓ２０１）。図６（ｃ）に示すように、今回、条件Ｂ格納領域１３１ｂは空でないので、空でないと判断し（Ｓ２０１：Ｎｏ）、条件Ｂ格納領域１３１ｂに記憶されている１ページ目の印刷条件を、図７（ｄ）に示す印刷条件格納テーブル１３２の条件Ｂ格納領域１３２ｂにコピーする（Ｓ２０２）。これにより、１ページ目の印刷条件を、新たに指示された２回目の２ページ目の印刷条件と対応つけて記憶することができ、新たに記憶した２回目の２ページ目の印刷条件と対応付けて、１ページ目の印刷条件を引き継ぐことができる。そして、本処理を終了して図２の処理に戻る。
【００７２】
なお、アプリケーション１４ａには、上述したのと同様に、第３の印刷条件メモリ１３ｃのメモリアドレスを返し、変更指示された２回目の２ページ目の印刷条件が第３の印刷条件メモリ１３ｃに記憶されていることを伝える。そして、アプリケーション１４ａにより所定のタイミングで（例えば、印刷条件変更指示の後）、第２の印刷条件メモリ１３ｂの印刷条件消去指示がなされると、それに応じて第２の印刷条件メモリ１３ｂの印刷格納テーブル１３１を消去する。
【００７３】
以上の処理により、図７（ｄ）に示す印刷条件格納テーブル１３２は、図７（ｅ）に示す状態で、第３の印刷条件メモリ１３ｃに記憶されることとなる。即ち、条件Ａ格納領域１３２ａには、２回目の２ページ目の印刷条件初期化指示Ｃ６で指示された２回目の２ページ目の印刷条件が記憶されており、条件Ｂ格納領域１３１ｂには、１ページ目の印刷条件初期化指示Ｃ１で指示された１ページ目の印刷条件が記憶されている。
【００７４】
このように、引継処理では（Ｓ２０）、印刷条件変更指示を受ける度に、新たに受けた印刷条件（２回目の２ページ目の印刷条件）に対応付けて、前ページの印刷条件（１ページ目の印刷条件）を記憶することで、新たに受けた印刷条件（２回目の２ページ目の印刷条件）に対応付けて、前ページの印刷条件（１ページ目の印刷条件）を引き継ぐことができる。換言すれば、印刷条件変更指示を受けた場合には、必ず、最新の印刷条件格納テーブルの条件Ｂ格納領域に、前ページの印刷条件（１ページ目の印刷条件）が記憶されていることになる。
【００７５】
次に、図８（ｂ）に示す２ページ目の印刷開始指示Ｃ８がなされると、図２において、２ページ目の印刷開始指示Ｃ８を受けたと判断し（Ｓ２５：Ｙｅｓ）、印刷条件切替処理を実行する（Ｓ３０）。この印刷開始指示では、第３の印刷条件メモリ１３ｃに記憶されている印刷条件（図７（ｅ）の印刷条件格納テーブル１３２の条件Ａ格納領域１３２ａに記憶されている印刷条件）で印刷を開始させるために、第３の印刷条件メモリ１３ｃのメモリアドレスがアプリケーション１４ａから送られる。
【００７６】
即ち、プリンタドライバ１４ｂは、第３の印刷条件メモリ１３ｃに記憶されている印刷条件しか知ることができないので、この２ページ目の印刷開始指示Ｃ８がされたときに印刷条件を切替えようとすると、第３の印刷条件メモリ１３ｃに、前ページの印刷条件（１ページ目の印刷条件）と最新の印刷条件（２回目の２ページ目の印刷条件）とを記憶する必要がある。従って、上述した引継処理によって（Ｓ２０）、最新の印刷条件格納テーブルに前ページの印刷条件（１ページ目の印刷条件）を引き継いでいく必要がある。
【００７７】
この印刷条件切替処理では（Ｓ３０）、図５に示すように、まず、第３の印刷条件メモリ１３ｃから図７（ｅ）に示す印刷条件格納テーブル１３２を読み出し、条件Ｂ格納領域１３２ｂに印刷条件が格納されているかを判断する（Ｓ３０１）。即ち、前ページの印刷開始指示（１ページ目の印刷開始指示Ｃ２）を受けてから、次ページの印刷開始指示（２ページ目の印刷開始指示Ｃ８）を受けるまでの間に、少なくとも１回以上、印刷条件初期化指示、及び印刷条件変更指示を受けた場合には、必ず、上述した引継処理によって（Ｓ２０）、最新の印刷条件格納テーブルの条件Ｂ格納領域に、前ページの印刷条件が記憶されている。
【００７８】
よって、２ページ目の印刷開始指示Ｃ８を受けた場合に、その２ページ目の印刷開始指示Ｃ８で指示されている第３の印刷条件メモリ１３ｃに記憶されている印刷条件格納テーブル１３２の条件Ｂ格納領域１３２ｂが空でないかを判断することで、１ページ目の印刷開始指示Ｃ２を受けてから２ページ目の印刷開始指示Ｃ８を受けるまでの間に、少なくとも１回以上、印刷条件初期化指示、及び印刷条件変更指示を受けたかを判断することができる。そして、この場合、印刷条件初期化指示、及び印印刷条件変更指示を受けているかという情報と、前ページ（１ページ目）の印刷条件という２種類の情報を、第３の印刷条件メモリ１３ｃだけにアクセスすることで、取得することができる。
【００７９】
そして、今回は、図７（ｅ）に示す印刷条件格納テーブル１３２の条件Ｂ格納領域１３２ｂに印刷条件が格納されているので、条件Ｂ格納領域１３２ｂに印刷条件が格納されていると判断し（Ｓ３０１：Ｙｅｓ）、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３０ｂとに格納されているマルチページ設定の設定値が異なるか否かを判断する（Ｓ３０２）。
【００８０】
図７（ｅ）に示す印刷条件格納テーブル１３２では、マルチページ設定の設定値が同じ（共に「２ｉｎ１」）であるので、設定値が異ならないと判断し（Ｓ３０２：Ｎｏ）、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３２ｂとに格納されている両面印刷設定の設定値が異なるか否かを判断する（Ｓ３０３）。
【００８１】
図７（ｅ）に示す印刷条件格納テーブル１３２では、両面印刷設定の設定値が同じ（共に「両面印刷」）であるので、設定値が異ならないと判断し（Ｓ３０３：Ｎｏ）、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３２ｂとに格納されている両面印刷設定の設定値が共に「両面設定」、若しくは、マルチページ設定の設定値が共に「１ｉｎ１」以外か否かを判断する（Ｓ３０４）。
【００８２】
図７（ｅ）に示す印刷条件格納テーブル１３２では、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３０ｂとが、共に「両面印刷」、及び、共に「２ｉｎ１」に設定されているので（Ｓ３０４：Ｙｅｓ）、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３２ｂとに格納されている用紙サイズの設定値が異なるか否かを判断する（Ｓ３０５）。
【００８３】
図７（ｅ）に示す印刷条件格納テーブル１３２では、条件Ａ格納領域１３２ａの用紙サイズがＡ５、条件Ｂ格納領域１３２ｂの用紙サイズがＡ４であるので、設定値が異なると判断し（Ｓ３０５：Ｙｅｓ）、この場合には、連続する２ページを同じ用紙に印刷ができないので用紙の切替えを行う（Ｓ３０６）。即ち、前ページ（１ページ目）を印刷する用紙を印刷終了後に排紙し、別の用紙を給紙させることを印刷装置４０に指示する。
【００８４】
なお、図７（ｅ）に示す印刷条件格納テーブル１３２の例にはないが、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３２ｂとに格納されているマルチページ設定の設定値が異なる場合（Ｓ３０２：Ｙｅｓ）、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３２ｂとに格納されている両面印刷設定の設定値が異なる場合にも（Ｓ３０３：Ｙｅｓ）、同様に用紙の切替えを行う（Ｓ３０６）。
【００８５】
このように、用紙切替えが行われた後（Ｓ３０６）、又は、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３２ｂとに格納されている用紙サイズの設定値が同じ場合（Ｓ３０５：Ｎｏ）、又は、条件Ａ格納領域１３２ａと、条件Ｂ格納領域１３２ｂとの両面印刷設定が「両面印刷」でなく、又は、マルチページ設定が「１ｉｎ１」以外でない場合は（Ｓ３０４：Ｎｏ）、条件Ｂ格納領域１３２ｂに格納されている両面印刷モードの設定値を、条件Ａ格納領域１３２ａにコピーする（Ｓ３０７）。即ち、両格納領域１３２ａ，１３２ｂにおいて両面印刷モードの設定値が同じ自動両面印刷となるようにする。
【００８６】
このＳ３０７の処理は、印刷装置４０において、各ページ毎に各項目の内容が異なるように設定することができない定常項目について、前ページの定常項目の内容を、次ページの定常項目に反映する処理である。
【００８７】
本実施形態では、定常項目として両面印刷モードが設定されている。即ち、印刷装置４０は、印刷途中で、自動両面印刷から手動両面印刷に切替えること、手動両面印刷から自動両面印刷に切替えることができない仕様とされている。よって、Ｓ３０７では、条件Ｂ格納領域１３２ｂの両面印刷モードの内容を、条件Ａ格納領域１３２ａの両面印刷モードの内容にコピーし、両格納領域１３２ａ，１３２ｂにおいて両面印刷モードの設定値を一致させる（Ｓ３０７）。
【００８８】
これにより、連続する２ページ間で印刷条件を変更したとしても、定常項目の内容については同一となり、定常項目の内容が異なることで、予期しない印刷結果となるのを防止することができる。また、Ｓ３０２乃至Ｓ３０５の処理において、用紙切替え処理を実行するか否かを判断する場合には、定常項目以外の項目について用紙を切替える必要があるか否かを判断すれば良く、不必要な判断をするのが避けられる。
【００８９】
尚、本実施形態では、両面印刷モードが定常項目として設定されているが、これは、自動両面印刷と、手動両面印刷とでは、その制御が大きく異なり、各ページ毎に自動両面印刷と、手動両面印刷とを切替えると、制御負担が大きくなるためである。よって、この切替えができるように構成することも可能であり、この場合には、Ｓ３０７の処理は不要となる。また、別の項目、例えば、マルチページ設定を定常項目として設定しても良く、この場合にはＳ３０２の処理は不要となり、Ｓ３０７に相当する処理を追加すれば良い。
【００９０】
次に、条件Ｂ格納領域１３２ｂに格納されている印刷条件を空にする（Ｓ３０８）。ここで、図７（ｅ）に示す印刷条件格納テーブル１３２は、図７（ｆ）に示す状態となる。Ｓ３０１乃至Ｓ３０７の処理の後であれば、もはや条件Ｂ格納領域１３０ｂに格納されている印刷条件（１ページ目の印刷条件）は不要なので、これを消去することで、ＲＡＭ１３の消費容量を節約することができる。
【００９１】
そして、図７（ｆ）に示す印刷条件格納テーブル１３２の条件Ａ格納領域１３２ａに格納されている印刷条件を、正規の２ページ目の印刷条件と決定して（Ｓ３０９）、本処理を終了し、図２の処理に戻る。
【００９２】
次に、図８（ｂ）に示す２ページ目の描画指示Ｃ９がなされると、図２において描画指示を受けたと判断し（Ｓ３５：Ｙｅｓ）、上記Ｓ３０９で決定された印刷条件従って、描画指示に応じた印刷データを作成する（Ｓ４０）。即ち、図７（ｆ）に示す印刷条件で、印刷データを作成する。
【００９３】
そして、２ページ目の印刷データを作成すると（Ｓ４０）、次の指示を受けたか否かを判断し（Ｓ４５）、次の指示を受けたと判断した場合は（Ｓ４５：Ｙｅｓ）、Ｓ１の処理に戻り、次の指示を受けていないと判断した場合は（Ｓ４５：Ｙｅｓ）、本処理を終了する。
【００９４】
このように、本実施形態のプリンタドライバ１４ｂによれば、アプリケーション１４ａが、必要以上に印刷条件初期化指示、及び印刷条件変更指示をしたとしても、その都度、印刷条件を切替えるために必要な印刷条件切替処理（Ｓ３０）は行わず、印刷条件初期化指示、及び印刷条件変更指示を受ける度に、その新たに指示された次ページの印刷条件を記憶すると共に、その新たに指示された次ページの印刷条件に対応付けて前ページの印刷条件を記憶して、引き継ぐに留める。
【００９５】
そして、次ページの印刷開始指示があった後に（Ｓ２５：Ｙｅｓ）、直近に記憶した次ページの印刷条件を、正規の次ページの印刷条件として、その正規の次ページの印刷条件と、その正規の次ページの印刷条件と対応付けて記憶されている前ページの印刷条件とを比較し、印刷条件切替処理（Ｓ３０）を行う。よって、無駄な印刷条件切替処理を行わない分、高速に、且つ、予定通りの印刷結果を得ることができる。
【図面の簡単な説明】
【００９６】
【図１】ＰＣと印刷装置との電気的構成を示すブロック図である。
【図２】印刷処理を示すフローチャートである。
【図３】印刷条件初期化処理を示すフローチャートである。
【図４】保留処理を示すフローチャートである。
【図５】印刷条件切替処理を示すフローチャートである。
【図６】第１〜３の印刷条件メモリに記憶される印刷条件格納テーブルを示す図である。
【図７】第１〜３の印刷条件メモリに記憶される印刷条件格納テーブルを示す図である。
【図８】アプリケーションからプリンタドライバにされる指示の流れを簡略化して示す図である。
【符号の説明】
【００９７】
１          印刷システム（印刷システムの一例）
１０        ＰＣ（印刷制御装置の一例）
１３ａ      第１の印刷条件メモリ（記憶手段の一例）
１３ｂ      第２の印刷条件メモリ（記憶手段の一例）
１３ｃ      第３の印刷条件メモリ（記憶手段の一例）
１４ｄ      プリンタドライバ（印刷プログラムの一例）
４０        印刷装置（印刷装置の一例）
１３０ａ    条件Ａ格納領域（第１の記憶領域の一例）
１３０ｂ    条件Ｂ格納領域（第２の記憶領域の一例）
１３１ａ    条件Ａ格納領域（第１の記憶領域の一例）
１３１ｂ    条件Ｂ格納領域（第２の記憶領域の一例）
１３２ａ    条件Ａ格納領域（第１の記憶領域の一例）
１３２ｂ    条件Ｂ格納領域（第２の記憶領域の一例）
Ｓ１０      記憶ステップ
Ｓ２０      引継ステップ
Ｓ３０      切替えステップ
Ｓ４０      印刷ステップ
Ｓ１０１    割当ステップ
Ｓ１０２、Ｓ１０３    第１の記憶ステップ
Ｓ２０１    第２の判断ステップ
Ｓ２０２    第２の記憶ステップ
Ｓ２０３    第３の記憶ステップ
Ｓ３０１    第１の判断ステップ
Ｓ３０８    消去ステップ
【図１】
2010086084.tif 000003
【図２】
2010086084.tif 000004
【図３】
2010086084.tif 000005
【図４】
2010086084.tif 000006
【図５】
2010086084.tif 000007
【図６】
2010086084.tif 000008
【図７】
2010086084.tif 000009
【図８】
2010086084.tif 000010