(A)主たる実施形態
以下、本発明による画像形成装置の一実施形態を、図面を参照しながら詳述する。この実施形態では、本発明の画像形成装置をプリンタに適用した例について説明する。
(A−1)実施形態の構成
図1は、この実施形態のプリンタ200の機能的構成を示すブロック図である。
プリンタ200は、ホストコンピュータ100と無線LAN等のネットワークで接続されているものとする。なお、プリンタ200と、ホストコンピュータ100との間のインタフェースは限定されないものであり、その他の接続手段(例えば、有線LANやUSB等の他の手段)を適用するようにしてもよい。
ホストコンピュータ100には、プリンタドライバ101が搭載されており、プリンタドライバ101により印刷ジョブのデータ(以下、「印刷データ」と呼ぶ)が生成され、プリンタ200に送信されるものとする。
印刷データのデータ形式は限定されないものであるが、この実施形態では、プリンタドライバ101は、印刷データとしてPDL(PDL:Page Description Language)により記述されたデータを生成するものとして説明する。ここでは、PDLの一例として、PCL(Printer Control Language;米国Hewlett Packard社が開発したページ記述言語)が適用されるものとして説明する。プリンタ200は、PCLで記述された印刷データをビットマップ展開(「RIP(Raster Image Processing)処理」とも称する)して、ビットマップデータ(「ラスターイメージデータ」とも称する)を得る。そして、プリンタ200は、そのビットマップデータに基づいた印刷処理を行うことになる。なお、以下では、プリンタ200が受信するPDLで記述された印刷データを「PDLデータ」とも呼ぶものとする。
次に、プリンタ200の内部構成について説明する。
図1に示すように、プリンタ200は大別すると、パネル210、パネル制御部220、メモリ230、確認画像形成処理制御手段としての確認印刷制御部240、印刷制御部250、画像形成部としての印刷機構部260、及び通信部270を有している。
通信部270は、プリンタ200におけるネットワークインタフェースの機能を担っている。
パネル210及びパネル制御部220は、プリンタ200におけるユーザインタフェースの機能を担っている。
パネル210は、ユーザへの情報出力や操作画面表示(メニュー画面表示)に用いられるLCD(Liquid Crystal Display)211、複数のLED(Light Emitting Diode)213を有している。また、パネル210は、ユーザからの操作入力を受付けるための複数の操作キー212を有している。
パネル制御部220は、パネル210の操作キー212からのキー入力の受付(操作信号の受付)、パネル210のLCD211に表示するメッセージの管理(制御)、LED213の点灯/点滅管理等を行う。これにより、パネル210では、「印刷実行中」や「ジャム発生」などのステータスの表示(LCD211からの表示)、LED213の点灯/点滅、操作キー212によるプリンタの設定状況の確認/変更などを行うことができる。
以上のように、プリンタ200では、パネル210及びパネル制御部220によりユーザインタフェースを実現しているが、具体的な構成は限定されないものであり、例えば、タッチパネルディスプレイを用いた構成としてもよい。
メモリ230は、プリンタ200における各構成要素がデータ処理(情報処理)や制御処理を行う際の作業領域等に用いられるデータ記憶手段である。また、メモリ230は、受信した印刷データ(PDLデータ)の保持や、印刷データ(PDLデータ)に基づくビットマップ展開用の作業領域としても用いられる。
確認印刷制御部240は、プリンタ200においてプルーフ制御処理を含む印刷データ(PDLデータ)の制御処理(以下、「確認印刷制御処理」と呼ぶ)を行うものである。
確認印刷制御部240は、通信部270を介してホストコンピュータ100(プリンタドライバ101)から受信した印刷データを、メモリ230に格納する。そして、確認印刷制御部240は、設定に応じて、確認印刷制御処理を行った上で、印刷データに基づく印刷指示を、印刷制御部250に対して行う。
この実施形態において、確認印刷制御部240は、ユーザの設定に応じて確認印刷制御処理を実行するものとする。具体的には、確認印刷制御部240は、確認印刷制御処理に係る設定データである確認印刷処理設定フラグ240aを保持している。そして、確認印刷制御部240は、この確認印刷処理設定フラグ240aの値に応じて、確認印刷制御処理を行うか否か、及び確認印刷制御処理を行う場合の内容を決定する。
この実施形態では、確認印刷処理設定フラグ240aには、「プルーフモード」、「チェックモード」又は「オフ(通常印刷)」のいずれかの値が設定されるものとして説明する。確認印刷処理設定フラグ240aの具体的な値は限定されないものであり、「プルーフモード」、「チェックモード」又は「オフ(通常印刷)」に対応する数値(例えば、1、2、3のいずれかの値等)としてもよい。確認印刷制御部240が、ユーザから確認印刷処理設定フラグ240aの設定を受付ける構成については限定されないものであるが、例えば、パネル210(LCD211)に図2に示すようなメニュー表示を行い、操作キー212を用いて操作を受付けるようにしてもよい。
確認印刷処理設定フラグ240aが「プルーフモード」に設定されている場合の確認印刷制御部240は、受信した印刷データを解析して、複数部数の印刷を行う内容であった場合(1つの組を複数部数印刷行う場合)、まず最初の1部のみ印刷して停止し、2部目以後の印刷の継続又は中断についてユーザからの選択操作を受付ける処理(プルーフ印刷処理)を行う。確認印刷処理設定フラグ240aが「チェックモード」に設定されている場合、確認印刷制御部240は、印刷する部数に拘らず最初の1ページのみ印刷し、2ページ目以後の継続又は中断についてユーザからの選択操作を受付ける処理を行う。なお、本明細書では、上述の「チェックモード」における印刷処理も、確認印刷制御処理に含まれるものとして説明する。確認印刷処理設定フラグ240aが「オフ(通常印刷)」に設定されている場合、確認印刷制御部240は、確認印刷処理(プルーフモード又はチェックモードの印刷処理)の機能をオフとして、特にユーザからの確認を受付けずに印刷処理(通常印刷処理)を行う。
次に、プリンタ200が受信し、メモリ230上に格納される印刷データの構成例について図3を用いて説明する。プリンタ200では、例えば、図3(a)〜図3(c)に示す印刷データD(D1〜D3)のような印刷データを受信し印刷を行うことになる。図3では、印刷データの形式の印刷データD1〜D3について、それぞれデータ構成を概念的に示した説明図となっている。
図3に示すように、各印刷データDには、少なくとも設定定義部R、及び1又は複数の印刷データ上のページ(以下、「PDLページ」と呼ぶ)のデータが含まれている。
設定定義部Rには、後に続くPDLページPに対する印刷部数の定義データが含まれている。図3において各PDLページのデータは1ページ分のデータ(印刷データ上の1ページ分のデータ)で構成されているものとする。
図3(a)に示す印刷データD1には、設定定義部Rと5つのPDLページP1〜P5が含まれている。そして、印刷データD1の設定定義部Rには部数=3が設定されているため、印刷データD1には、PDLページP1〜P5の組について3部印刷(計15枚印刷)することが定義されていることになる。なお、印刷データD1においてPDLページP1〜P6は、それぞれ異なる内容(異なる画像)を示しているものとする。
図3(b)に示す印刷データD2には、設定定義部Rと6つのPDLページP1〜P6が含まれている。そして、印刷データD2の設定定義部Rには部数=1が設定されているため、印刷データD2には、PDLページP1〜P6について1部印刷することが定義されていることになる。ただし、印刷データD2において、PDLページP1、P3、P5はそれぞれ同じ内容(同じデータ)を示しているものとする。さらに、印刷データD2において、PDLページP2、P4、P6はそれぞれ同じ内容(同じデータ)を示しているものとする。すなわち、印刷データD2では、例えば、PDLページP1、P2の組を3部印刷した場合と同じ印刷内容が定義されていることになる。
図3(c)に示す印刷データD3には、設定定義部Rと3つのPDLページP1〜P3が含まれている。そして、印刷データD3の設定定義部Rには部数=1が設定されているため、印刷データD3には、PDLページP1〜P3について1部印刷することが定義されていることになる。なお、印刷データD3において、PDLページP1〜P3は、それぞれ異なる内容(異なるデータ)を示しているものとする。
そして、確認印刷制御部240は、プルーフモードに設定されている場合、上述の通り、受信した印刷データDについて解析し、当該印刷データDが複数部数の印刷を行う内容であるか否かを確認する。
この実施形態では、確認印刷制御部240は、受信した印刷データDに含まれる設定定義部Rで、部数が2以上(複数)に設定されている場合、当該印刷データDについて、複数部数の印刷を行う内容であると判定するものとする。例えば、上述の図3(a)に示す印刷データD1では、設定定義部Rで、部数=3に設定されているため、確認印刷制御部240は、印刷データD1について、複数部数の印刷を行う内容であると判定することになる。
また、確認印刷制御部240は、受信した印刷データDに含まれる設定定義部Rで、部数が1に設定されている場合(複数部数の印刷を行う指示が行われていない場合)でも、上述の図3(b)のように、実質的に2ページの組の印刷を複数部数行う内容となっている場合には、当該印刷データDについても複数部数の印刷を行う内容であると判定するものとする。
この実施形態では、確認印刷制御部240は、印刷データDに含まれるPDLページPのページ数を素因数分解した結果に基づくパターンで分割(以下、このパターンを「分割パターン」と呼ぶ)を試みて、当該分割パターンで分割した場合の各組の各PDLページのデータの同一性を検査するものとする。そして、確認印刷制御部240は、各組の各PDLページのデータが全て一致する分割パターンが検出できた場合、当該印刷データについて、複数部数の印刷を行うことが可能な内容であると判断するものとする。
例えば、確認印刷制御部240が、上述の図3(b)に示す印刷データD2を受信した場合を想定する。この場合、印刷データD2に含まれるPDLページのページ数は6である。そして、このページ数6を素因数分解すると「2×3」を導き出すことができる。すなわち、印刷データに含まれるPDLページのページ数が6ページの場合、図5(a)に示すように、2ページの組の印刷を3部行う構成(2[ページ数]×3[部数])か、図5(b)に示すように3ページの組の印刷を2部行う構成(2[ページ数]×3[部数])のいずれかとなる可能性があることになる。
確認印刷制御部240は、上述のように、印刷データのページ数を素因数分解した結果を利用して、当該印刷データで取りえる分割パターンを全て抽出する処理を行うが、その具体的な抽出アルゴリズムについては限定されないものである。また、例えば、確認印刷制御部240は、図4に示すようなページ数ごとに取りえる分割パターンを全て登録したテーブルを保持して、当該テーブルに基づいて、当該印刷データで取りえる分割パターンを全て抽出するようにしてもよい。そして、確認印刷制御部240は、上述のテーブルに基づいた分割パターンで、印刷データに含まれるPDLページを仮に分割し、分割したそれぞれの組の各PDLページのデータを比較することで、当該印刷データが複数部数の印刷を行う内容であるかを判断するようにしてもよい。
確認印刷制御部240では、素数を除く各ページ数(印刷データに含まれるPDLページの総ページ数)ごとに素因数分解の結果に基づいて発生する分割パターン([ページ数]×[部数])を全て、図4に示すような分割パターン定義データ240bとして保持しているものとする。そして、確認印刷制御部240は、この分割パターン定義データ240bに基づいた分割パターンで、印刷データに含まれるPDLページを仮に分割し、分割したそれぞれの組の各PDLページのデータを比較することで、当該印刷データが複数部数の印刷を行う内容であるかを判断する。
例えば、図4に示すように、ページ数が6の場合の分割パターンは、6の素因数分解の結果(2×3)に基づき、「2[ページ数]×3[部数]」と「2[ページ数]×3[部数]」となる。
したがって、確認印刷制御部240は、部数指定が「1」に設定された印刷データを受信した場合、まず、図5(a)に示すように2[ページ数]×3[部数]の分割パターンで分割し、それぞれの組の各PDLページの各ページについて内容(データ)を比較し、当該分割パターンで複数部数の印刷を行う内容となっているかを確認する。例えば、図5(a)に示すようの2[ページ数]×3[部数]の分割パターンで分割した場合、6ページのPDLページP1〜P6は、「P1とP2」、「P3とP4」、及び「P5とP6」の3組に分割されることになる。したがって、この場合、確認印刷制御部240は、各組の1ページ目のPDLページP1、P3、P5について全ての内容が一致するか否かを確認し、1ページ目のPDLページP1、P3、P5について全て一致する場合には、さらに2ページ目のPDLページP2、P4、P6についても一致するか否かを確認する。このように、確認印刷制御部240は、各組の全てのページについて内容が一致する場合には、当該分割パターンで当該分割パターンで複数部数の印刷を行う内容となっているものと判断する。そして、確認印刷制御部240は、全ての分割パターン(ページ数に対応する全ての分割パターン)について上述のような比較処理を行い、いずれの分割パターンでも複数部数の印刷を行う内容となっていなかった場合には、当該印刷データについて、複数部数の印刷を行う内容となっていないものと判断する。
印刷制御部250は、メモリ230の受信データに対して、確認印刷制御部240から指示があったページのPDLページのデータに対してビットマップ展開してビットマップデータを生成し、プリントエンジン部261に送ると同時にメモリ230にこのビットマップデータを格納する。この時に既にビットマップデータがメモリ230に存在する場合には、印刷制御部250は、そのビットマップデータをプリントエンジン部261に送る。
なお、確認印刷制御部240は、受信した印刷データが、複数部数の印刷を行う内容であった場合には、印刷制御部250に対して、複数部数印刷する1つの組のPDLページに対応するビットマップデータ展開し、展開したビットマップデータを用いて複数部数の印刷を行うことを指示することになる。すなわち、複数部数の印刷を行う場合、印刷制御部250は、最初の一部の印刷時に展開したビットマップデータを用いて、残りの部数の印刷処理を行うようにしてもよい。
図6〜図8は、それぞれ、上述の図3に示す印刷データD1〜D3について、印刷制御部250が生成するビットマップデータ(確認印刷制御部240の指示に基づいて作成するビットマップデータ)の構成について示した説明図である。
確認印刷制御部240は、上述の図3(a)に示す印刷データD1(複数部数の印刷を行う印刷データ)を受信した場合、1組分のPDLページP1〜P5に対応するビットマップデータ展開を、印刷制御部250に指示することになる。そして、このとき、印刷制御部250は、図6に示すように、PDLページP1〜P5に対応するビットマップデータB1〜B5を展開することになる。
また、確認印刷制御部240は、上述の図3(b)に示す印刷データD2(複数部数の印刷を行う印刷データ)を受信した場合、1組分のPDLページP1、P2に対応するビットマップデータ展開を、印刷制御部250に指示することになる。そして、このとき、印刷制御部250は、図7に示すように、PDLページP1、2に対応するビットマップデータB1、B2を展開することになる。
確認印刷制御部240は、上述の図3(a)に示す印刷データD3を受信した場合、PDLページP1〜P3に対応するビットマップデータ展開を、印刷制御部250に指示することになる。そして、このとき、印刷制御部250は、図8に示すように、PDLページP1〜P3に対応するビットマップデータB1〜B3を展開することになる。
印刷機構部260は、プリントエンジン部261、第1のトレイ262、第2のトレイ263、スタッカ264、両面印刷ユニット265から構成される。例えば、第1のトレイ262から給紙された用紙に対して、プリントエンジン部261において印刷処理が実行される。そしてスタッカ264に排出される。両面印刷の指定がある場合には、両面印刷ユニット265において用紙が反転される。
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態のプリンタ200の動作について図9、図10のフローチャートを用いて説明する。
まず、プリンタ200(確認印刷制御部240)が、ホストコンピュータ100より、ネットワークを介して印刷データを受信し、その印刷データをメモリ230に格納したものとする(S601)。
次に、確認印刷制御部240は、確認印刷処理設定フラグ240aが、「プルーフモード」、「チェックモード」又は「オフ(通常印刷)」のいずれに設定されているかを確認する(S602、S620)。確認印刷制御部240は、確認印刷処理設定フラグ240aが「プルーフモード」に設定されている場合、後述するステップS603から動作する。確認印刷制御部240は、確認印刷処理設定フラグ240aが「チェックモード」に設定されている場合、後述するステップS621から動作する。確認印刷制御部240は、確認印刷処理設定フラグ240aが「オフ(通常印刷)」に設定されている場合、後述するステップS640から動作する。
確認印刷処理設定フラグ240aが「プルーフモード」に設定されている場合、確認印刷制御部240は、受信した印刷データの設定定義部を参照し、指定部数に2以上の値が設定されているか否かを確認する(S603)。確認印刷制御部240は、受信した印刷データの指定部数が2以上に設定されている場合には、後述するステップS607から動作し、指定部数が1に設定されている場合(又は結果として指定部数が1の場合と同様の指示が設定されている場合)には、後述するステップS604から動作する。
受信した印刷データの指定部数が1に設定されている場合、確認印刷制御部240は、受信した印刷データの内容を解析(上述のページ数の素因数分解の結果に基づいた分割パターンの解析処理)を行い(S604)、複数部数の印刷を行う内容であるか否かを確認する(S605)。確認印刷制御部240は、受信した印刷データが複数部数の印刷を行う内容である場合には、後述するステップS607から動作し、そうでない場合には、後述するステップS606に移行する。
上述のステップS603又はステップS605で、受信した印刷データが複数部数の印刷を行う内容であった場合、確認印刷制御部240は、複数部数のうちの1部についてビットマップデータを展開して印刷を行うように、印刷制御部250に指示する。そして、印刷制御部250は、確認印刷制御部240の指示に従って、印刷機構部260(プリントエンジン部261)を制御し、複数部数のうちの1部について印刷を実行させる(S607)。なお、このとき、確認印刷制御部240は、2部目以後の印刷実行に備えて、展開したビットマップデータを、メモリ230に格納する。
次に、確認印刷制御部240は、パネル制御部220を介して、パネル210から、プルーフ印刷処理における残りの印刷処理の継続要否の入力を受付ける処理を行う(S608、S609)。
例えば、確認印刷制御部240は、図11に示すように、パネル210のLCD211から、プルーフ印刷処理における残りの印刷処理の続行要否の入力(操作キー212からの入力)を促すメッセージとして「残りの2部を印刷しますか?Yes(Online)/No(Cancel)」というメッセージを表示し、印刷処理の継続(Onlineボタンの押下)又は印刷処理の中止(Cancelボタンの押下)を受付けるようにしてもよい。
上述のステップS609で、プルーフ印刷処理の継続が選択された場合には、確認印刷制御部240は、残りの部数について印刷を行うように、印刷制御部250に指示する。そして、印刷制御部250は、メモリ230に格納されているビットマップデータ(上述のステップS607で展開したビットマップデータ)を用いて、印刷機構部260(プリントエンジン部261)を制御し、残りの部数の印刷を実行させる(S610)。また、残りの部数の印刷終了後、確認印刷制御部240はメモリ230内のビットマップデータを削除して処理を終了する。
一方、上述のステップS609で、プルーフ印刷処理の中止が選択された場合には、確認印刷制御部240は、メモリ230内のビットマップデータを削除して(S611)、処理を終了する。
上述のステップS605で、受信した印刷データが複数部数の印刷を行う内容でないと判断された場合、確認印刷制御部240は、受信した印刷データについて通常の印刷処理を行うように、印刷制御部250に指示する。そして、印刷制御部250は、確認印刷制御部240の指示に従って、ビットマップデータの展開処理を行い、印刷機構部260(プリントエンジン部261)を制御し印刷を実行させる(S606)。また、印刷終了後、確認印刷制御部240はメモリ230内のビットマップデータを削除して処理を終了する。
次に、確認印刷処理設定フラグ240aが「チェックモード」に設定されている場合のプリンタ200の動作について説明する。この場合、確認印刷制御部240は、まず、受信した印刷データの先頭の1ページ分のPDLページについて、印刷処理を行うように、印刷制御部250に指示する。そして、印刷制御部250は、確認印刷制御部240の指示に従って、ビットマップデータの展開処理を行い、印刷機構部260(プリントエンジン部261)を制御し、受信した印刷データの先頭の1ページ分のPDLページについての印刷を実行する(S621)。
次に、確認印刷制御部240は、受信した印刷データについて未印刷のPDLページの有無を確認し(S622)、未印刷のPDLページがあった場合後述するステップS623から動作し、そうでない場合には、メモリ230内のビットマップデータを削除して処理を終了する。
次に、確認印刷制御部240は、パネル制御部220を介して、パネル210から、チェックモード印刷処理における残りの印刷処理の継続要否の入力を受付ける処理を行う(S623、S624)。
例えば、確認印刷制御部240は、図12に示すように、パネル210のLCD211から、チェックモード印刷処理における残りの印刷処理の継続要否の入力(操作キー212からの入力)を促すメッセージとして「残りの2ページを印刷しますか?Yes(Online)/No(Cancel)」というメッセージを表示し、印刷処理の継続(Onlineボタンの押下)又は印刷処理の中止(Cancelボタンの押下)を受付けるようにしてもよい。
上述のステップS624で、チェックモード印刷処理の継続が選択された場合には、確認印刷制御部240は、残りのページについて印刷を行うように、印刷制御部250に指示する。そして、印刷制御部250は、残りのPDLページのビットマップ展開を行い、印刷機構部260(プリントエンジン部261)を制御し、残りのページの印刷を実行させる(S625)。
一方、上述のステップS624で、チェックモード印刷処理の中止が選択された場合には、確認印刷制御部240は、メモリ230内のビットマップデータを削除して(S626)、処理を終了する。
次に、確認印刷処理設定フラグ240aが「オフ(通常印刷)」に設定されている場合のプリンタ200の動作について説明する。この場合、確認印刷制御部240は、受信した印刷データについて特にユーザに確認する処理を行うことなく、印刷制御部250に印刷処理を指示する。そして、刷制御部250は、確認印刷制御部240の指示に従って、印刷機構部260(プリントエンジン部261)を制御し、受信した印刷データの印刷処理を実行させる(S640)。
次に、確認印刷制御部240が、上述のステップS604で実行する分割パターンの解析処理(上述のページ数の素因数分解の結果に基づいた分割パターンの解析処理)の具体例について、図10のフローチャートを用いて説明する。なお、図10のフローチャートで用いられる変数Nは、解析対象となる印刷データに含まれるPDLページのページ数を保持するものである。
確認印刷制御部240は、受信した印刷データの解析を開始すると、まず、当該印刷データに含まれるPDLページのページ数を変数Nに代入する(S701)。
次に、確認印刷制御部240は、Nが素数であるか否かを確認する(S702)。そして、確認印刷制御部240は、Nが素数でない場合後述するステップS704に移行し、Nが素数の場合当該印刷データは複数部数の印刷を行う内容でないと判断(部数=1と判断)して(S703)、処理を終了する。なお、確認印刷制御部240がNについて素数であるか否か確認するための具体的な処理については限定されないものであり、種々の素数解析アルゴリズムを適用することができる。
Nが素数でないと確認された場合、確認印刷制御部240は、Nの素因数分解を実行する(S704)。なお、確認印刷制御部240がNについて素因数分解を行う具体的な処理については限定されないものであり、種々の素因数分解アルゴリズムを適用することができる。
次に、確認印刷制御部240は、Nの素因数分解の結果(Nを素因数分解した各素数)に基づいて取りえる分割パターンを抽出する(S705)。
つぎに、確認印刷制御部240は、受信した印刷データDが、抽出した分割パターンで複数部数印刷する内容となってものの有無を確認(各分割パターンで分割した各組の各PDLページの同一性を確認)する処理を行う(S706、S707、S708)。そして、確認印刷制御部240は、抽出した分割パターンの中に該当する分割パターン(複数部数印刷する内容となる分割パターン)があった場合、後述するステップS709から動作し、該当する分割パターンが無かった場合には、上述のステップS703に移行(当該印刷データは複数部数の印刷を行う内容でないと判断)する。
確認印刷制御部240は、抽出した分割パターンの中に該当する分割パターンがあった場合、当該印刷データについて、該当する分割パターン(該当する分割パターンが複数の場合にはいずれかの分割パターン)で複数部数の印刷を行うものと判断し(S709)、処理を終了する。なお、該当する分割パターンが抽出されていた場合、確認印刷制御部240は、1組あたりのページ数の最も少ない分割パターンを選択するものとする。
次に、上述の図3に示す印刷データD1〜D3のそれぞれについて、上述のフローチャートで処理される場合の個別の動作について説明する。
[印刷データD1の処理について]
図3(a)に示すように、印刷データD1の設定定義部Rには部数=3が設定されているため、印刷データD1には、PDLページP1〜P5について3部印刷(計15枚印刷)することが定義されている。
なお、ここでは、確認印刷制御部240(確認印刷処理設定フラグ240a)には、「プルーフモード」が設定されているものとして説明する。
この場合、確認印刷制御部240は、印刷データD1を受信すると、ステップS603で、複数部数の設定がなされている(部数=3)と判断し、ステップS607へ進むことになる。
そして、確認印刷制御部240は、印刷制御部250に対して、1部の印刷(PDLページP1〜P5の印刷)を指示することになる。そしてその後、確認印刷制御部240は、ステップS607、S608の処理により、残りの2部の印刷を継続するか否かをユーザに選択させるメッセージをパネル210から表示(例えば、上述の図11参照)させ、ユーザからの選択入力を受付ける。そして、ユーザから印刷継続が選択された場合には、確認印刷制御部240は、ステップS610の処理に移行して、印刷制御部250に対して、残りの2部の印刷処理を指示する。一方、ユーザから印刷中止(キャンセル)が選択された場合には、確認印刷制御部240は、ステップS611の処理に移行して、印刷処理を中止することになる。
[印刷データD2の処理について]
図3(b)に示すように、印刷データD2の設定定義部Rには部数=1が設定されている。したがって、印刷データD2には、PDLページP1〜P6について1部印刷することが定義されている。しかしながら、上述の通り、印刷データD2において、PDLページP1、P3、P5と、PDLページP2、P4、P6の組み合わせでそれぞれ同一データとなっているため、実質的にPDLページP1、P2の組を3部印刷する内容となっている。
なお、ここでは、確認印刷制御部240(確認印刷処理設定フラグ240a)には、「プルーフモード」が設定されているものとして説明する。
この場合、確認印刷制御部240は、印刷データD2を受信すると、ステップS603で、複数部数の設定がなされていない(部数=1)と判断し、ステップS604へ進むことになる。
そして、確認印刷制御部240は、ステップS604(図7)の解析処理(複数部数印刷する内容となっているか否かを解析する処理:)を、行うことになる。
この場合、確認印刷制御部240は、ステップS702でN=6とする。そして、確認印刷制御部240は、N=6は素数でないため、ステップS702からステップS704に移行することになる。そして、確認印刷制御部240は、ステップS704で、該当する分割パターンの有無を確認することになる。印刷データD2は実質的にPDLページP1、P2の組を3部印刷する内容となっているため、確認印刷制御部240は、該当する分割パターンとして、2[ページ数]×3[部数]の分割パターンがあったと判定することになりステップS708へ移行することになる。そして、確認印刷制御部240は、印刷データD2の分割パターンとして、2[ページ数]×3[部数]を得て図7のフローチャートの処理(ステップS604の処理)を終了することになる。
次に、確認印刷制御部240は、図6のフローチャートの処理に戻り、ステップS605で、複数部数の設定がなされている(部数=3)と判断し、ステップS607へ進むことになる。
そして、確認印刷制御部240は、印刷制御部250に対して、1部分の印刷(PDLページP1〜P2の印刷)を指示することになる。そしてその後、確認印刷制御部240は、ステップS607、S608の処理により、残りの2部の印刷を継続するか否かをユーザに選択させるメッセージをパネル210から表示(例えば、上述の図11参照)させ、ユーザからの選択入力を受付ける。そして、ユーザから印刷継続が選択された場合には、確認印刷制御部240は、ステップS610の処理に移行して、印刷制御部250に対して、残りの2部の印刷処理を指示する。一方、ユーザから印刷中止(キャンセル)が選択された場合には、確認印刷制御部240は、ステップS611の処理に移行して、印刷処理を中止することになる。
[印刷データD3の処理について]
図3(c)に示す印刷データD3には、設定定義部Rと3つのPDLページP1〜P3が含まれている。また、印刷データD3の設定定義部Rには部数=1が設定されている。なお、印刷データD3において、PDLページP1〜P3は、それぞれ異なる内容(異なるデータ)を示しているものとする。なお、PDLページP1〜P3は全て片面印刷の設定となっている(両面印刷の設定でない)ものとして説明する。
なお、ここでは、確認印刷制御部240(確認印刷処理設定フラグ240a)には、「チェックモード」が設定されているものとして説明する。
この場合、確認印刷制御部240は、印刷データD3を受信すると、ステップS621で、印刷制御部250に対して、先頭の用紙1ページ分(1媒体分の印刷;PDLページP1の印刷)を指示することになる。
印刷データD3にはまた未印刷のPDLページP2、P3が残っているため、次に、確認印刷制御部240は、ステップS622からステップS623に移行することになる。そしてその後、確認印刷制御部240は、ステップS623、S624の処理により、残りの2ページの印刷を継続するか否かをユーザに選択させるメッセージをパネル210から表示(例えば、上述の図12参照)させ、ユーザからの選択入力を受付ける。そして、ユーザから印刷継続が選択された場合には、確認印刷制御部240は、ステップS625の処理に移行して、印刷制御部250に対して、残りの2ページの印刷処理を指示する。一方、ユーザから印刷中止(キャンセル)が選択された場合には、確認印刷制御部240は、ステップS626の処理に移行して、印刷処理を中止することになる。
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
この実施形態のプリンタ200は、単体で確認印刷処理を実現することができる。すなわち、プリンタ200は、ホストコンピュータ100の環境に関わらず(プルーフ印刷処理等に対応したプリンタドライバを有しているか否かに関わらず)、確認印刷処理を実現することができる。
また、確認印刷制御部240では、印刷データに部数指定がされていない場合(ホストコンピュータ100部数指定コマンドがない場合、すなわち、図3(b)に示す印刷データD2のような構成の場合)でも、ページ数の素因数分解の結果を用いた分割パターンの抽出処理(上述の図7のフローチャートの処理)を実行することにより、プルーフ印刷処理を実現することができる。すなわち、確認印刷制御部240では、ホストコンピュータ100側の環境(印刷データを生成するプリンタドライバや、アプリケーション)に関わらずプルーフ印刷処理を実現することができる。
さらに、プリンタ200(確認印刷制御部240)では、確認印刷処理の一部として「チェックモード」に対応している。プリンタ200では、この「チェックモード」に対応することにより、複数部数印刷するかに拘らず、最初の1ページのみ印刷して印刷を停止して、ユーザが印刷継続するか、印刷を中止するかを選択できる。「チェックモード」では、当初は先頭の1ページのみ印刷を行うので、ユーザは、印刷データの全体(前ページ)の印刷結果の確認はできないが、1ページだけの印刷結果でも色あいや文字サイズ、余白の量などを確認して印刷継続するかを判断できる。
さらにまた、プリンタ200(確認印刷制御部240)では、確認印刷処理の設定(いずれのモードで動作させるか)を、ユーザによるパネル210に対するメニュー操作(例えば、上述の図2参照)で行うことができる。これにより、プリンタ200(確認印刷制御部240)では、確認印刷処理に係る設定自体も、ホストコンピュータ100の環境に関わらず実現することができる。
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B−1)第1の実施例に記載した「プルーフモード設定」のメニューの文言および押下するキー(Onlineキー/Cancelキー)は当然これらに限定される訳ではない。
(B−2)また、上記の実施形態では、片面印刷の場合を説明したが、両面印刷の場合はプリントエンジン部261に例えば、偶数ページ(又は奇数ページ)のページのデータ供給することにより、本発明を適用可能である。