(57)【特許請求の範囲】
【請求項１】
媒体に画像形成を行う画像形成部と、
画像形成対象の画像形成データが示す一部の頁の画像形成処理を前記画像形成部に実行させた後、ユーザの操作に応じて、前記画像形成データが示す残りの頁の画像形成処理を前記画像形成部に実行させる確認画像形成処理制御手段とを有し、
前記確認画像形成処理制御手段は、前記画像形成データが１つの組を複数部数画像形成する内容であった場合、最初の１部のみ画像形成処理を前記画像形成部に実行させた後、ユーザの操作に応じて、前記画像形成データが示す残りの部数の画像形成処理を前記画像形成部に実行させ、
前記確認画像形成処理制御手段は、前記画像形成データに含まれる頁の頁数を素因数分解して求められる素因数に基づき取得可能な分割パターンを求め、求めた素因数に基づく分割パターンで前記画像形成データに含まれる各頁を複数の組に分割し、各組の各頁のデータの比較を行い、比較を行った全ての分割パターンのうち、１つの組を複数部数画像形成する内容と検査された頁数が最も少なくなる分割パターンの選択を試みて、該当する分割パターンが選択可能である場合、前記画像形成データは１つの組を複数部数画像形成する内容であると判断する
ことを特徴とする画像形成装置。
【請求項２】
前記確認画像形成処理制御手段は、前記画像形成データに複数部数画像形成する指示が含まれていた場合、前記画像形成データについて、１つの組を複数部数画像形成する内容であると判断することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記確認画像形成処理制御手段は、前記画像形成データが複数の媒体について画像形成する内容であった場合、最初の１媒体のみ画像形成処理を前記画像形成部に実行させた後、ユーザの操作に応じて、前記画像形成データが示す残りの媒体の画像形成処理を前記画像形成部に実行させることを特徴とする請求項１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、例えば、電子写真式のプリンタに適用し得る。
【背景技術】
【０００２】
従来、ユーザに一部の印刷結果を確認させた上で印刷処理を続行する印刷処理（以下、「プルーフ印刷処理」、「試し印刷処理」、又は「確認印刷処理」と呼ぶものとする）に対応したプリンタドライバ（ＰＣ等のホストコンピュータにインストールされるプリンタドライバ）が存在する（例えば、特許文献１参照）。プルーフ印刷に対応するプリンタドライバには、例えば、プルーフ印刷処理に係る制御コマンドを出力する機能が必要となる。
【０００３】
プリンタドライバにプルーフ印刷処理の機能を搭載することにより、複数部数の印刷時に最初の一部数だけを印刷して停止し、ユーザが印刷出力の確認後、残りの印刷を継続するかキャンセルするかを選択可能となる。従来のプリンタドライバでは、このプルーフ印刷処理の機能により、ユーザにとっては、印刷結果確認、印刷継続判断、印刷継続指示を一度に行えるため利便性が向上する。また、従来のプルーフ印刷処理に対応したプリンタドライバを用いることにより、誤って大量に印刷が行われ用紙やトナーなどが無駄になることを防ぐことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１９４９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のプルーフ印刷処理は、ホストコンピュータ側にインストールされるプリンタドライバとプリンタとの組み合わせにより実現される。すなわち、従来、プルーフ印刷処理を行うためには、プルーフ印刷処理に対応するプリンタドライバが開発されていることが前提であり、プリンタ単独で実現することはできなかった。
【０００６】
そのため、画像形成データ（例えば、印刷データ）の供給元の構成（例えば、ホストコンピュータにインストールされるプリンタドライバの構成）に依存せずに、ユーザに一部の画像形成結果を確認させた上で印刷処理を続行する確認画像形成処理（例えば、プルーフ印刷処理）を実現することができる画像形成装置が望まれている。
【課題を解決するための手段】
【０００７】
本発明の画像形成装置は、媒体に画像形成を行う画像形成部と、（１）画像形成対象の画像形成データが示す一部の頁の画像形成処理を前記画像形成部に実行させた後、ユーザの操作に応じて、前記画像形成データが示す残りの頁の画像形成処理を前記画像形成部に実行させる確認画像形成処理制御手段とを有し、（３）前記確認画像形成処理制御手段は、前記画像形成データが１つの組を複数部数画像形成する内容であった場合、最初の１部のみ画像形成処理を前記画像形成部に実行させた後、ユーザの操作に応じて、前記画像形成データが示す残りの部数の画像形成処理を前記画像形成部に実行させ、（４）前記確認画像形成処理制御手段は、前記画像形成データに含まれる頁の頁数を素因数分解して求められる素因数に基づき取得可能な分割パターンを求め、求めた素因数に基づく分割パターンで前記画像形成データに含まれる各頁を複数の組に分割し、各組の各頁のデータの比較を行い、比較を行った全ての分割パターンのうち、１つの組を複数部数画像形成する内容と検査された頁数が最も少なくなる分割パターンの選択を試みて、該当する分割パターンが選択可能である場合、前記画像形成データは１つの組を複数部数画像形成する内容であると判断することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像形成データの供給元の構成に依存せずに、確認画像形成処理を実現する画像形成装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るプリンタの機能的構成について示したブロック図である。
【図２】実施形態に係るプリンタのパネル部分の平面図である。
【図３】実施形態に係るプリンタで処理される印刷データの概念的構成の例について示した説明図である。
【図４】実施形態に係るプリンタで、印刷データの解析に用いられる分割パターンの例をテーブル形式で示した説明図である。
【図５】実施形態に係るプリンタで、印刷データの解析を行う際に適用される分割パターンの例について示した説明図である。
【図６】実施形態に係るプリンタで、印刷データに基づいてビットマップ展開する処理例（その１）について示した説明図である。
【図７】実施形態に係るプリンタで、印刷データに基づいてビットマップ展開する処理例（その２）について示した説明図である。
【図８】実施形態に係るプリンタで、印刷データに基づいてビットマップ展開する処理例（その３）について示した説明図である。
【図９】実施形態に係るプリンタの動作について示したフローチャート（その１）である。
【図１０】実施形態に係るプリンタの動作について示したフローチャート（その２）である。
【図１１】実施形態に係るプリンタのパネル部分の表示内容の遷移について示した説明図（その１）である。
【図１２】実施形態に係るプリンタのパネル部分の表示内容の遷移について示した説明図（その２）である。
【発明を実施するための形態】
【００１０】
（Ａ）主たる実施形態
以下、本発明による画像形成装置の一実施形態を、図面を参照しながら詳述する。この実施形態では、本発明の画像形成装置をプリンタに適用した例について説明する。
【００１１】
（Ａ−１）実施形態の構成
図１は、この実施形態のプリンタ２００の機能的構成を示すブロック図である。
【００１２】
プリンタ２００は、ホストコンピュータ１００と無線ＬＡＮ等のネットワークで接続されているものとする。なお、プリンタ２００と、ホストコンピュータ１００との間のインタフェースは限定されないものであり、その他の接続手段（例えば、有線ＬＡＮやＵＳＢ等の他の手段）を適用するようにしてもよい。
【００１３】
ホストコンピュータ１００には、プリンタドライバ１０１が搭載されており、プリンタドライバ１０１により印刷ジョブのデータ（以下、「印刷データ」と呼ぶ）が生成され、プリンタ２００に送信されるものとする。
【００１４】
印刷データのデータ形式は限定されないものであるが、この実施形態では、プリンタドライバ１０１は、印刷データとしてＰＤＬ（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）により記述されたデータを生成するものとして説明する。ここでは、ＰＤＬの一例として、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ；米国Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ社が開発したページ記述言語）が適用されるものとして説明する。プリンタ２００は、ＰＣＬで記述された印刷データをビットマップ展開（「ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）処理」とも称する）して、ビットマップデータ（「ラスターイメージデータ」とも称する）を得る。そして、プリンタ２００は、そのビットマップデータに基づいた印刷処理を行うことになる。なお、以下では、プリンタ２００が受信するＰＤＬで記述された印刷データを「ＰＤＬデータ」とも呼ぶものとする。
【００１５】
次に、プリンタ２００の内部構成について説明する。  
【００１６】
図１に示すように、プリンタ２００は大別すると、パネル２１０、パネル制御部２２０、メモリ２３０、確認画像形成処理制御手段としての確認印刷制御部２４０、印刷制御部２５０、画像形成部としての印刷機構部２６０、及び通信部２７０を有している。
【００１７】
通信部２７０は、プリンタ２００におけるネットワークインタフェースの機能を担っている。
【００１８】
パネル２１０及びパネル制御部２２０は、プリンタ２００におけるユーザインタフェースの機能を担っている。
【００１９】
パネル２１０は、ユーザへの情報出力や操作画面表示（メニュー画面表示）に用いられるＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）２１１、複数のＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）２１３を有している。また、パネル２１０は、ユーザからの操作入力を受付けるための複数の操作キー２１２を有している。
【００２０】
パネル制御部２２０は、パネル２１０の操作キー２１２からのキー入力の受付（操作信号の受付）、パネル２１０のＬＣＤ２１１に表示するメッセージの管理（制御）、ＬＥＤ２１３の点灯／点滅管理等を行う。これにより、パネル２１０では、「印刷実行中」や「ジャム発生」などのステータスの表示（ＬＣＤ２１１からの表示）、ＬＥＤ２１３の点灯／点滅、操作キー２１２によるプリンタの設定状況の確認／変更などを行うことができる。
【００２１】
以上のように、プリンタ２００では、パネル２１０及びパネル制御部２２０によりユーザインタフェースを実現しているが、具体的な構成は限定されないものであり、例えば、タッチパネルディスプレイを用いた構成としてもよい。
【００２２】
メモリ２３０は、プリンタ２００における各構成要素がデータ処理（情報処理）や制御処理を行う際の作業領域等に用いられるデータ記憶手段である。また、メモリ２３０は、受信した印刷データ（ＰＤＬデータ）の保持や、印刷データ（ＰＤＬデータ）に基づくビットマップ展開用の作業領域としても用いられる。
【００２３】
確認印刷制御部２４０は、プリンタ２００においてプルーフ制御処理を含む印刷データ（ＰＤＬデータ）の制御処理（以下、「確認印刷制御処理」と呼ぶ）を行うものである。
【００２４】
確認印刷制御部２４０は、通信部２７０を介してホストコンピュータ１００（プリンタドライバ１０１）から受信した印刷データを、メモリ２３０に格納する。そして、確認印刷制御部２４０は、設定に応じて、確認印刷制御処理を行った上で、印刷データに基づく印刷指示を、印刷制御部２５０に対して行う。
【００２５】
この実施形態において、確認印刷制御部２４０は、ユーザの設定に応じて確認印刷制御処理を実行するものとする。具体的には、確認印刷制御部２４０は、確認印刷制御処理に係る設定データである確認印刷処理設定フラグ２４０ａを保持している。そして、確認印刷制御部２４０は、この確認印刷処理設定フラグ２４０ａの値に応じて、確認印刷制御処理を行うか否か、及び確認印刷制御処理を行う場合の内容を決定する。
【００２６】
この実施形態では、確認印刷処理設定フラグ２４０ａには、「プルーフモード」、「チェックモード」又は「オフ（通常印刷）」のいずれかの値が設定されるものとして説明する。確認印刷処理設定フラグ２４０ａの具体的な値は限定されないものであり、「プルーフモード」、「チェックモード」又は「オフ（通常印刷）」に対応する数値（例えば、１、２、３のいずれかの値等）としてもよい。確認印刷制御部２４０が、ユーザから確認印刷処理設定フラグ２４０ａの設定を受付ける構成については限定されないものであるが、例えば、パネル２１０（ＬＣＤ２１１）に図２に示すようなメニュー表示を行い、操作キー２１２を用いて操作を受付けるようにしてもよい。
【００２７】
確認印刷処理設定フラグ２４０ａが「プルーフモード」に設定されている場合の確認印刷制御部２４０は、受信した印刷データを解析して、複数部数の印刷を行う内容であった場合（１つの組を複数部数印刷行う場合）、まず最初の１部のみ印刷して停止し、２部目以後の印刷の継続又は中断についてユーザからの選択操作を受付ける処理（プルーフ印刷処理）を行う。確認印刷処理設定フラグ２４０ａが「チェックモード」に設定されている場合、確認印刷制御部２４０は、印刷する部数に拘らず最初の１ページのみ印刷し、２ページ目以後の継続又は中断についてユーザからの選択操作を受付ける処理を行う。なお、本明細書では、上述の「チェックモード」における印刷処理も、確認印刷制御処理に含まれるものとして説明する。確認印刷処理設定フラグ２４０ａが「オフ（通常印刷）」に設定されている場合、確認印刷制御部２４０は、確認印刷処理（プルーフモード又はチェックモードの印刷処理）の機能をオフとして、特にユーザからの確認を受付けずに印刷処理（通常印刷処理）を行う。
【００２８】
次に、プリンタ２００が受信し、メモリ２３０上に格納される印刷データの構成例について図３を用いて説明する。プリンタ２００では、例えば、図３（ａ）〜図３（ｃ）に示す印刷データＤ（Ｄ１〜Ｄ３）のような印刷データを受信し印刷を行うことになる。図３では、印刷データの形式の印刷データＤ１〜Ｄ３について、それぞれデータ構成を概念的に示した説明図となっている。
【００２９】
図３に示すように、各印刷データＤには、少なくとも設定定義部Ｒ、及び１又は複数の印刷データ上のページ（以下、「ＰＤＬページ」と呼ぶ）のデータが含まれている。
【００３０】
設定定義部Ｒには、後に続くＰＤＬページＰに対する印刷部数の定義データが含まれている。図３において各ＰＤＬページのデータは１ページ分のデータ（印刷データ上の１ページ分のデータ）で構成されているものとする。
【００３１】
図３（ａ）に示す印刷データＤ１には、設定定義部Ｒと５つのＰＤＬページＰ１〜Ｐ５が含まれている。そして、印刷データＤ１の設定定義部Ｒには部数＝３が設定されているため、印刷データＤ１には、ＰＤＬページＰ１〜Ｐ５の組について３部印刷（計１５枚印刷）することが定義されていることになる。なお、印刷データＤ１においてＰＤＬページＰ１〜Ｐ６は、それぞれ異なる内容（異なる画像）を示しているものとする。
【００３２】
図３（ｂ）に示す印刷データＤ２には、設定定義部Ｒと６つのＰＤＬページＰ１〜Ｐ６が含まれている。そして、印刷データＤ２の設定定義部Ｒには部数＝１が設定されているため、印刷データＤ２には、ＰＤＬページＰ１〜Ｐ６について１部印刷することが定義されていることになる。ただし、印刷データＤ２において、ＰＤＬページＰ１、Ｐ３、Ｐ５はそれぞれ同じ内容（同じデータ）を示しているものとする。さらに、印刷データＤ２において、ＰＤＬページＰ２、Ｐ４、Ｐ６はそれぞれ同じ内容（同じデータ）を示しているものとする。すなわち、印刷データＤ２では、例えば、ＰＤＬページＰ１、Ｐ２の組を３部印刷した場合と同じ印刷内容が定義されていることになる。
【００３３】
図３（ｃ）に示す印刷データＤ３には、設定定義部Ｒと３つのＰＤＬページＰ１〜Ｐ３が含まれている。そして、印刷データＤ３の設定定義部Ｒには部数＝１が設定されているため、印刷データＤ３には、ＰＤＬページＰ１〜Ｐ３について１部印刷することが定義されていることになる。なお、印刷データＤ３において、ＰＤＬページＰ１〜Ｐ３は、それぞれ異なる内容（異なるデータ）を示しているものとする。
【００３４】
そして、確認印刷制御部２４０は、プルーフモードに設定されている場合、上述の通り、受信した印刷データＤについて解析し、当該印刷データＤが複数部数の印刷を行う内容であるか否かを確認する。
【００３５】
この実施形態では、確認印刷制御部２４０は、受信した印刷データＤに含まれる設定定義部Ｒで、部数が２以上（複数）に設定されている場合、当該印刷データＤについて、複数部数の印刷を行う内容であると判定するものとする。例えば、上述の図３（ａ）に示す印刷データＤ１では、設定定義部Ｒで、部数＝３に設定されているため、確認印刷制御部２４０は、印刷データＤ１について、複数部数の印刷を行う内容であると判定することになる。
【００３６】
また、確認印刷制御部２４０は、受信した印刷データＤに含まれる設定定義部Ｒで、部数が１に設定されている場合（複数部数の印刷を行う指示が行われていない場合）でも、上述の図３（ｂ）のように、実質的に２ページの組の印刷を複数部数行う内容となっている場合には、当該印刷データＤについても複数部数の印刷を行う内容であると判定するものとする。
【００３７】
この実施形態では、確認印刷制御部２４０は、印刷データＤに含まれるＰＤＬページＰのページ数を素因数分解した結果に基づくパターンで分割（以下、このパターンを「分割パターン」と呼ぶ）を試みて、当該分割パターンで分割した場合の各組の各ＰＤＬページのデータの同一性を検査するものとする。そして、確認印刷制御部２４０は、各組の各ＰＤＬページのデータが全て一致する分割パターンが検出できた場合、当該印刷データについて、複数部数の印刷を行うことが可能な内容であると判断するものとする。
【００３８】
例えば、確認印刷制御部２４０が、上述の図３（ｂ）に示す印刷データＤ２を受信した場合を想定する。この場合、印刷データＤ２に含まれるＰＤＬページのページ数は６である。そして、このページ数６を素因数分解すると「２×３」を導き出すことができる。すなわち、印刷データに含まれるＰＤＬページのページ数が６ページの場合、図５（ａ）に示すように、２ページの組の印刷を３部行う構成（２[ページ数]×３[部数]）か、図５（ｂ）に示すように３ページの組の印刷を２部行う構成（２[ページ数]×３[部数]）のいずれかとなる可能性があることになる。
【００３９】
確認印刷制御部２４０は、上述のように、印刷データのページ数を素因数分解した結果を利用して、当該印刷データで取りえる分割パターンを全て抽出する処理を行うが、その具体的な抽出アルゴリズムについては限定されないものである。また、例えば、確認印刷制御部２４０は、図４に示すようなページ数ごとに取りえる分割パターンを全て登録したテーブルを保持して、当該テーブルに基づいて、当該印刷データで取りえる分割パターンを全て抽出するようにしてもよい。そして、確認印刷制御部２４０は、上述のテーブルに基づいた分割パターンで、印刷データに含まれるＰＤＬページを仮に分割し、分割したそれぞれの組の各ＰＤＬページのデータを比較することで、当該印刷データが複数部数の印刷を行う内容であるかを判断するようにしてもよい。
【００４０】
確認印刷制御部２４０では、素数を除く各ページ数（印刷データに含まれるＰＤＬページの総ページ数）ごとに素因数分解の結果に基づいて発生する分割パターン（[ページ数]×[部数]）を全て、図４に示すような分割パターン定義データ２４０ｂとして保持しているものとする。そして、確認印刷制御部２４０は、この分割パターン定義データ２４０ｂに基づいた分割パターンで、印刷データに含まれるＰＤＬページを仮に分割し、分割したそれぞれの組の各ＰＤＬページのデータを比較することで、当該印刷データが複数部数の印刷を行う内容であるかを判断する。
【００４１】
例えば、図４に示すように、ページ数が６の場合の分割パターンは、６の素因数分解の結果（２×３）に基づき、「２[ページ数]×３[部数]」と「２[ページ数]×３[部数]」となる。
【００４２】
したがって、確認印刷制御部２４０は、部数指定が「１」に設定された印刷データを受信した場合、まず、図５（ａ）に示すように２[ページ数]×３[部数]の分割パターンで分割し、それぞれの組の各ＰＤＬページの各ページについて内容（データ）を比較し、当該分割パターンで複数部数の印刷を行う内容となっているかを確認する。例えば、図５（ａ）に示すようの２[ページ数]×３[部数]の分割パターンで分割した場合、６ページのＰＤＬページＰ１〜Ｐ６は、「Ｐ１とＰ２」、「Ｐ３とＰ４」、及び「Ｐ５とＰ６」の３組に分割されることになる。したがって、この場合、確認印刷制御部２４０は、各組の１ページ目のＰＤＬページＰ１、Ｐ３、Ｐ５について全ての内容が一致するか否かを確認し、１ページ目のＰＤＬページＰ１、Ｐ３、Ｐ５について全て一致する場合には、さらに２ページ目のＰＤＬページＰ２、Ｐ４、Ｐ６についても一致するか否かを確認する。このように、確認印刷制御部２４０は、各組の全てのページについて内容が一致する場合には、当該分割パターンで当該分割パターンで複数部数の印刷を行う内容となっているものと判断する。そして、確認印刷制御部２４０は、全ての分割パターン（ページ数に対応する全ての分割パターン）について上述のような比較処理を行い、いずれの分割パターンでも複数部数の印刷を行う内容となっていなかった場合には、当該印刷データについて、複数部数の印刷を行う内容となっていないものと判断する。
【００４３】
印刷制御部２５０は、メモリ２３０の受信データに対して、確認印刷制御部２４０から指示があったページのＰＤＬページのデータに対してビットマップ展開してビットマップデータを生成し、プリントエンジン部２６１に送ると同時にメモリ２３０にこのビットマップデータを格納する。この時に既にビットマップデータがメモリ２３０に存在する場合には、印刷制御部２５０は、そのビットマップデータをプリントエンジン部２６１に送る。
【００４４】
なお、確認印刷制御部２４０は、受信した印刷データが、複数部数の印刷を行う内容であった場合には、印刷制御部２５０に対して、複数部数印刷する１つの組のＰＤＬページに対応するビットマップデータ展開し、展開したビットマップデータを用いて複数部数の印刷を行うことを指示することになる。すなわち、複数部数の印刷を行う場合、印刷制御部２５０は、最初の一部の印刷時に展開したビットマップデータを用いて、残りの部数の印刷処理を行うようにしてもよい。
【００４５】
図６〜図８は、それぞれ、上述の図３に示す印刷データＤ１〜Ｄ３について、印刷制御部２５０が生成するビットマップデータ（確認印刷制御部２４０の指示に基づいて作成するビットマップデータ）の構成について示した説明図である。
【００４６】
確認印刷制御部２４０は、上述の図３（ａ）に示す印刷データＤ１（複数部数の印刷を行う印刷データ）を受信した場合、１組分のＰＤＬページＰ１〜Ｐ５に対応するビットマップデータ展開を、印刷制御部２５０に指示することになる。そして、このとき、印刷制御部２５０は、図６に示すように、ＰＤＬページＰ１〜Ｐ５に対応するビットマップデータＢ１〜Ｂ５を展開することになる。
【００４７】
また、確認印刷制御部２４０は、上述の図３（ｂ）に示す印刷データＤ２（複数部数の印刷を行う印刷データ）を受信した場合、１組分のＰＤＬページＰ１、Ｐ２に対応するビットマップデータ展開を、印刷制御部２５０に指示することになる。そして、このとき、印刷制御部２５０は、図７に示すように、ＰＤＬページＰ１、２に対応するビットマップデータＢ１、Ｂ２を展開することになる。
【００４８】
確認印刷制御部２４０は、上述の図３（ａ）に示す印刷データＤ３を受信した場合、ＰＤＬページＰ１〜Ｐ３に対応するビットマップデータ展開を、印刷制御部２５０に指示することになる。そして、このとき、印刷制御部２５０は、図８に示すように、ＰＤＬページＰ１〜Ｐ３に対応するビットマップデータＢ１〜Ｂ３を展開することになる。
【００４９】
印刷機構部２６０は、プリントエンジン部２６１、第１のトレイ２６２、第２のトレイ２６３、スタッカ２６４、両面印刷ユニット２６５から構成される。例えば、第１のトレイ２６２から給紙された用紙に対して、プリントエンジン部２６１において印刷処理が実行される。そしてスタッカ２６４に排出される。両面印刷の指定がある場合には、両面印刷ユニット２６５において用紙が反転される。
【００５０】
（Ａ−２）実施形態の動作
次に、以上のような構成を有するこの実施形態のプリンタ２００の動作について図９、図１０のフローチャートを用いて説明する。
【００５１】
まず、プリンタ２００（確認印刷制御部２４０）が、ホストコンピュータ１００より、ネットワークを介して印刷データを受信し、その印刷データをメモリ２３０に格納したものとする（Ｓ６０１）。
【００５２】
次に、確認印刷制御部２４０は、確認印刷処理設定フラグ２４０ａが、「プルーフモード」、「チェックモード」又は「オフ（通常印刷）」のいずれに設定されているかを確認する（Ｓ６０２、Ｓ６２０）。確認印刷制御部２４０は、確認印刷処理設定フラグ２４０ａが「プルーフモード」に設定されている場合、後述するステップＳ６０３から動作する。確認印刷制御部２４０は、確認印刷処理設定フラグ２４０ａが「チェックモード」に設定されている場合、後述するステップＳ６２１から動作する。確認印刷制御部２４０は、確認印刷処理設定フラグ２４０ａが「オフ（通常印刷）」に設定されている場合、後述するステップＳ６４０から動作する。
【００５３】
確認印刷処理設定フラグ２４０ａが「プルーフモード」に設定されている場合、確認印刷制御部２４０は、受信した印刷データの設定定義部を参照し、指定部数に２以上の値が設定されているか否かを確認する（Ｓ６０３）。確認印刷制御部２４０は、受信した印刷データの指定部数が２以上に設定されている場合には、後述するステップＳ６０７から動作し、指定部数が１に設定されている場合（又は結果として指定部数が１の場合と同様の指示が設定されている場合）には、後述するステップＳ６０４から動作する。
【００５４】
受信した印刷データの指定部数が１に設定されている場合、確認印刷制御部２４０は、受信した印刷データの内容を解析（上述のページ数の素因数分解の結果に基づいた分割パターンの解析処理）を行い（Ｓ６０４）、複数部数の印刷を行う内容であるか否かを確認する（Ｓ６０５）。確認印刷制御部２４０は、受信した印刷データが複数部数の印刷を行う内容である場合には、後述するステップＳ６０７から動作し、そうでない場合には、後述するステップＳ６０６に移行する。
【００５５】
上述のステップＳ６０３又はステップＳ６０５で、受信した印刷データが複数部数の印刷を行う内容であった場合、確認印刷制御部２４０は、複数部数のうちの１部についてビットマップデータを展開して印刷を行うように、印刷制御部２５０に指示する。そして、印刷制御部２５０は、確認印刷制御部２４０の指示に従って、印刷機構部２６０（プリントエンジン部２６１）を制御し、複数部数のうちの１部について印刷を実行させる（Ｓ６０７）。なお、このとき、確認印刷制御部２４０は、２部目以後の印刷実行に備えて、展開したビットマップデータを、メモリ２３０に格納する。
【００５６】
次に、確認印刷制御部２４０は、パネル制御部２２０を介して、パネル２１０から、プルーフ印刷処理における残りの印刷処理の継続要否の入力を受付ける処理を行う（Ｓ６０８、Ｓ６０９）。
【００５７】
例えば、確認印刷制御部２４０は、図１１に示すように、パネル２１０のＬＣＤ２１１から、プルーフ印刷処理における残りの印刷処理の続行要否の入力（操作キー２１２からの入力）を促すメッセージとして「残りの２部を印刷しますか？Ｙｅｓ（Ｏｎｌｉｎｅ）／Ｎｏ（Ｃａｎｃｅｌ）」というメッセージを表示し、印刷処理の継続（Ｏｎｌｉｎｅボタンの押下）又は印刷処理の中止（Ｃａｎｃｅｌボタンの押下）を受付けるようにしてもよい。
【００５８】
上述のステップＳ６０９で、プルーフ印刷処理の継続が選択された場合には、確認印刷制御部２４０は、残りの部数について印刷を行うように、印刷制御部２５０に指示する。そして、印刷制御部２５０は、メモリ２３０に格納されているビットマップデータ（上述のステップＳ６０７で展開したビットマップデータ）を用いて、印刷機構部２６０（プリントエンジン部２６１）を制御し、残りの部数の印刷を実行させる（Ｓ６１０）。また、残りの部数の印刷終了後、確認印刷制御部２４０はメモリ２３０内のビットマップデータを削除して処理を終了する。
【００５９】
一方、上述のステップＳ６０９で、プルーフ印刷処理の中止が選択された場合には、確認印刷制御部２４０は、メモリ２３０内のビットマップデータを削除して（Ｓ６１１）、処理を終了する。
【００６０】
上述のステップＳ６０５で、受信した印刷データが複数部数の印刷を行う内容でないと判断された場合、確認印刷制御部２４０は、受信した印刷データについて通常の印刷処理を行うように、印刷制御部２５０に指示する。そして、印刷制御部２５０は、確認印刷制御部２４０の指示に従って、ビットマップデータの展開処理を行い、印刷機構部２６０（プリントエンジン部２６１）を制御し印刷を実行させる（Ｓ６０６）。また、印刷終了後、確認印刷制御部２４０はメモリ２３０内のビットマップデータを削除して処理を終了する。
【００６１】
次に、確認印刷処理設定フラグ２４０ａが「チェックモード」に設定されている場合のプリンタ２００の動作について説明する。この場合、確認印刷制御部２４０は、まず、受信した印刷データの先頭の１ページ分のＰＤＬページについて、印刷処理を行うように、印刷制御部２５０に指示する。そして、印刷制御部２５０は、確認印刷制御部２４０の指示に従って、ビットマップデータの展開処理を行い、印刷機構部２６０（プリントエンジン部２６１）を制御し、受信した印刷データの先頭の１ページ分のＰＤＬページについての印刷を実行する（Ｓ６２１）。
【００６２】
次に、確認印刷制御部２４０は、受信した印刷データについて未印刷のＰＤＬページの有無を確認し（Ｓ６２２）、未印刷のＰＤＬページがあった場合後述するステップＳ６２３から動作し、そうでない場合には、メモリ２３０内のビットマップデータを削除して処理を終了する。
【００６３】
次に、確認印刷制御部２４０は、パネル制御部２２０を介して、パネル２１０から、チェックモード印刷処理における残りの印刷処理の継続要否の入力を受付ける処理を行う（Ｓ６２３、Ｓ６２４）。
【００６４】
例えば、確認印刷制御部２４０は、図１２に示すように、パネル２１０のＬＣＤ２１１から、チェックモード印刷処理における残りの印刷処理の継続要否の入力（操作キー２１２からの入力）を促すメッセージとして「残りの２ページを印刷しますか？Ｙｅｓ（Ｏｎｌｉｎｅ）／Ｎｏ（Ｃａｎｃｅｌ）」というメッセージを表示し、印刷処理の継続（Ｏｎｌｉｎｅボタンの押下）又は印刷処理の中止（Ｃａｎｃｅｌボタンの押下）を受付けるようにしてもよい。
【００６５】
上述のステップＳ６２４で、チェックモード印刷処理の継続が選択された場合には、確認印刷制御部２４０は、残りのページについて印刷を行うように、印刷制御部２５０に指示する。そして、印刷制御部２５０は、残りのＰＤＬページのビットマップ展開を行い、印刷機構部２６０（プリントエンジン部２６１）を制御し、残りのページの印刷を実行させる（Ｓ６２５）。
【００６６】
一方、上述のステップＳ６２４で、チェックモード印刷処理の中止が選択された場合には、確認印刷制御部２４０は、メモリ２３０内のビットマップデータを削除して（Ｓ６２６）、処理を終了する。
【００６７】
次に、確認印刷処理設定フラグ２４０ａが「オフ（通常印刷）」に設定されている場合のプリンタ２００の動作について説明する。この場合、確認印刷制御部２４０は、受信した印刷データについて特にユーザに確認する処理を行うことなく、印刷制御部２５０に印刷処理を指示する。そして、刷制御部２５０は、確認印刷制御部２４０の指示に従って、印刷機構部２６０（プリントエンジン部２６１）を制御し、受信した印刷データの印刷処理を実行させる（Ｓ６４０）。
【００６８】
次に、確認印刷制御部２４０が、上述のステップＳ６０４で実行する分割パターンの解析処理（上述のページ数の素因数分解の結果に基づいた分割パターンの解析処理）の具体例について、図１０のフローチャートを用いて説明する。なお、図１０のフローチャートで用いられる変数Ｎは、解析対象となる印刷データに含まれるＰＤＬページのページ数を保持するものである。
【００６９】
確認印刷制御部２４０は、受信した印刷データの解析を開始すると、まず、当該印刷データに含まれるＰＤＬページのページ数を変数Ｎに代入する（Ｓ７０１）。
【００７０】
次に、確認印刷制御部２４０は、Ｎが素数であるか否かを確認する（Ｓ７０２）。そして、確認印刷制御部２４０は、Ｎが素数でない場合後述するステップＳ７０４に移行し、Ｎが素数の場合当該印刷データは複数部数の印刷を行う内容でないと判断（部数＝１と判断）して（Ｓ７０３）、処理を終了する。なお、確認印刷制御部２４０がＮについて素数であるか否か確認するための具体的な処理については限定されないものであり、種々の素数解析アルゴリズムを適用することができる。
【００７１】
Ｎが素数でないと確認された場合、確認印刷制御部２４０は、Ｎの素因数分解を実行する（Ｓ７０４）。なお、確認印刷制御部２４０がＮについて素因数分解を行う具体的な処理については限定されないものであり、種々の素因数分解アルゴリズムを適用することができる。
【００７２】
次に、確認印刷制御部２４０は、Ｎの素因数分解の結果（Ｎを素因数分解した各素数）に基づいて取りえる分割パターンを抽出する（Ｓ７０５）。
【００７３】
つぎに、確認印刷制御部２４０は、受信した印刷データＤが、抽出した分割パターンで複数部数印刷する内容となってものの有無を確認（各分割パターンで分割した各組の各ＰＤＬページの同一性を確認）する処理を行う（Ｓ７０６、Ｓ７０７、Ｓ７０８）。そして、確認印刷制御部２４０は、抽出した分割パターンの中に該当する分割パターン（複数部数印刷する内容となる分割パターン）があった場合、後述するステップＳ７０９から動作し、該当する分割パターンが無かった場合には、上述のステップＳ７０３に移行（当該印刷データは複数部数の印刷を行う内容でないと判断）する。
【００７４】
確認印刷制御部２４０は、抽出した分割パターンの中に該当する分割パターンがあった場合、当該印刷データについて、該当する分割パターン（該当する分割パターンが複数の場合にはいずれかの分割パターン）で複数部数の印刷を行うものと判断し（Ｓ７０９）、処理を終了する。なお、該当する分割パターンが抽出されていた場合、確認印刷制御部２４０は、１組あたりのページ数の最も少ない分割パターンを選択するものとする。
【００７５】
次に、上述の図３に示す印刷データＤ１〜Ｄ３のそれぞれについて、上述のフローチャートで処理される場合の個別の動作について説明する。
【００７６】
[印刷データＤ１の処理について]
図３（ａ）に示すように、印刷データＤ１の設定定義部Ｒには部数＝３が設定されているため、印刷データＤ１には、ＰＤＬページＰ１〜Ｐ５について３部印刷（計１５枚印刷）することが定義されている。
【００７７】
なお、ここでは、確認印刷制御部２４０（確認印刷処理設定フラグ２４０ａ）には、「プルーフモード」が設定されているものとして説明する。
【００７８】
この場合、確認印刷制御部２４０は、印刷データＤ１を受信すると、ステップＳ６０３で、複数部数の設定がなされている（部数＝３）と判断し、ステップＳ６０７へ進むことになる。
【００７９】
そして、確認印刷制御部２４０は、印刷制御部２５０に対して、１部の印刷（ＰＤＬページＰ１〜Ｐ５の印刷）を指示することになる。そしてその後、確認印刷制御部２４０は、ステップＳ６０７、Ｓ６０８の処理により、残りの２部の印刷を継続するか否かをユーザに選択させるメッセージをパネル２１０から表示（例えば、上述の図１１参照）させ、ユーザからの選択入力を受付ける。そして、ユーザから印刷継続が選択された場合には、確認印刷制御部２４０は、ステップＳ６１０の処理に移行して、印刷制御部２５０に対して、残りの２部の印刷処理を指示する。一方、ユーザから印刷中止（キャンセル）が選択された場合には、確認印刷制御部２４０は、ステップＳ６１１の処理に移行して、印刷処理を中止することになる。
【００８０】
[印刷データＤ２の処理について]
図３（ｂ）に示すように、印刷データＤ２の設定定義部Ｒには部数＝１が設定されている。したがって、印刷データＤ２には、ＰＤＬページＰ１〜Ｐ６について１部印刷することが定義されている。しかしながら、上述の通り、印刷データＤ２において、ＰＤＬページＰ１、Ｐ３、Ｐ５と、ＰＤＬページＰ２、Ｐ４、Ｐ６の組み合わせでそれぞれ同一データとなっているため、実質的にＰＤＬページＰ１、Ｐ２の組を３部印刷する内容となっている。
【００８１】
なお、ここでは、確認印刷制御部２４０（確認印刷処理設定フラグ２４０ａ）には、「プルーフモード」が設定されているものとして説明する。
【００８２】
この場合、確認印刷制御部２４０は、印刷データＤ２を受信すると、ステップＳ６０３で、複数部数の設定がなされていない（部数＝１）と判断し、ステップＳ６０４へ進むことになる。
【００８３】
そして、確認印刷制御部２４０は、ステップＳ６０４（図７）の解析処理（複数部数印刷する内容となっているか否かを解析する処理：）を、行うことになる。
【００８４】
この場合、確認印刷制御部２４０は、ステップＳ７０２でＮ＝６とする。そして、確認印刷制御部２４０は、Ｎ＝６は素数でないため、ステップＳ７０２からステップＳ７０４に移行することになる。そして、確認印刷制御部２４０は、ステップＳ７０４で、該当する分割パターンの有無を確認することになる。印刷データＤ２は実質的にＰＤＬページＰ１、Ｐ２の組を３部印刷する内容となっているため、確認印刷制御部２４０は、該当する分割パターンとして、２[ページ数]×３[部数]の分割パターンがあったと判定することになりステップＳ７０８へ移行することになる。そして、確認印刷制御部２４０は、印刷データＤ２の分割パターンとして、２[ページ数]×３[部数]を得て図７のフローチャートの処理（ステップＳ６０４の処理）を終了することになる。
【００８５】
次に、確認印刷制御部２４０は、図６のフローチャートの処理に戻り、ステップＳ６０５で、複数部数の設定がなされている（部数＝３）と判断し、ステップＳ６０７へ進むことになる。
【００８６】
そして、確認印刷制御部２４０は、印刷制御部２５０に対して、１部分の印刷（ＰＤＬページＰ１〜Ｐ２の印刷）を指示することになる。そしてその後、確認印刷制御部２４０は、ステップＳ６０７、Ｓ６０８の処理により、残りの２部の印刷を継続するか否かをユーザに選択させるメッセージをパネル２１０から表示（例えば、上述の図１１参照）させ、ユーザからの選択入力を受付ける。そして、ユーザから印刷継続が選択された場合には、確認印刷制御部２４０は、ステップＳ６１０の処理に移行して、印刷制御部２５０に対して、残りの２部の印刷処理を指示する。一方、ユーザから印刷中止（キャンセル）が選択された場合には、確認印刷制御部２４０は、ステップＳ６１１の処理に移行して、印刷処理を中止することになる。
【００８７】
[印刷データＤ３の処理について]
図３（ｃ）に示す印刷データＤ３には、設定定義部Ｒと３つのＰＤＬページＰ１〜Ｐ３が含まれている。また、印刷データＤ３の設定定義部Ｒには部数＝１が設定されている。なお、印刷データＤ３において、ＰＤＬページＰ１〜Ｐ３は、それぞれ異なる内容（異なるデータ）を示しているものとする。なお、ＰＤＬページＰ１〜Ｐ３は全て片面印刷の設定となっている（両面印刷の設定でない）ものとして説明する。
【００８８】
なお、ここでは、確認印刷制御部２４０（確認印刷処理設定フラグ２４０ａ）には、「チェックモード」が設定されているものとして説明する。
【００８９】
この場合、確認印刷制御部２４０は、印刷データＤ３を受信すると、ステップＳ６２１で、印刷制御部２５０に対して、先頭の用紙１ページ分（１媒体分の印刷；ＰＤＬページＰ１の印刷）を指示することになる。
【００９０】
印刷データＤ３にはまた未印刷のＰＤＬページＰ２、Ｐ３が残っているため、次に、確認印刷制御部２４０は、ステップＳ６２２からステップＳ６２３に移行することになる。そしてその後、確認印刷制御部２４０は、ステップＳ６２３、Ｓ６２４の処理により、残りの２ページの印刷を継続するか否かをユーザに選択させるメッセージをパネル２１０から表示（例えば、上述の図１２参照）させ、ユーザからの選択入力を受付ける。そして、ユーザから印刷継続が選択された場合には、確認印刷制御部２４０は、ステップＳ６２５の処理に移行して、印刷制御部２５０に対して、残りの２ページの印刷処理を指示する。一方、ユーザから印刷中止（キャンセル）が選択された場合には、確認印刷制御部２４０は、ステップＳ６２６の処理に移行して、印刷処理を中止することになる。
【００９１】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【００９２】
この実施形態のプリンタ２００は、単体で確認印刷処理を実現することができる。すなわち、プリンタ２００は、ホストコンピュータ１００の環境に関わらず（プルーフ印刷処理等に対応したプリンタドライバを有しているか否かに関わらず）、確認印刷処理を実現することができる。
【００９３】
また、確認印刷制御部２４０では、印刷データに部数指定がされていない場合（ホストコンピュータ１００部数指定コマンドがない場合、すなわち、図３（ｂ）に示す印刷データＤ２のような構成の場合）でも、ページ数の素因数分解の結果を用いた分割パターンの抽出処理（上述の図７のフローチャートの処理）を実行することにより、プルーフ印刷処理を実現することができる。すなわち、確認印刷制御部２４０では、ホストコンピュータ１００側の環境（印刷データを生成するプリンタドライバや、アプリケーション）に関わらずプルーフ印刷処理を実現することができる。
【００９４】
さらに、プリンタ２００（確認印刷制御部２４０）では、確認印刷処理の一部として「チェックモード」に対応している。プリンタ２００では、この「チェックモード」に対応することにより、複数部数印刷するかに拘らず、最初の１ページのみ印刷して印刷を停止して、ユーザが印刷継続するか、印刷を中止するかを選択できる。「チェックモード」では、当初は先頭の１ページのみ印刷を行うので、ユーザは、印刷データの全体（前ページ）の印刷結果の確認はできないが、１ページだけの印刷結果でも色あいや文字サイズ、余白の量などを確認して印刷継続するかを判断できる。
【００９５】
さらにまた、プリンタ２００（確認印刷制御部２４０）では、確認印刷処理の設定（いずれのモードで動作させるか）を、ユーザによるパネル２１０に対するメニュー操作（例えば、上述の図２参照）で行うことができる。これにより、プリンタ２００（確認印刷制御部２４０）では、確認印刷処理に係る設定自体も、ホストコンピュータ１００の環境に関わらず実現することができる。
【００９６】
（Ｂ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【００９７】
（Ｂ−１）第１の実施例に記載した「プルーフモード設定」のメニューの文言および押下するキー（Ｏｎｌｉｎｅキー／Ｃａｎｃｅｌキー）は当然これらに限定される訳ではない。
【００９８】
（Ｂ−２）また、上記の実施形態では、片面印刷の場合を説明したが、両面印刷の場合はプリントエンジン部２６１に例えば、偶数ページ（又は奇数ページ）のページのデータ供給することにより、本発明を適用可能である。
【符号の説明】
【００９９】
１００…ホストコンピュータ、１０１…プリンタドライバ、２００…プリンタ、２１０…パネル、２２０…パネル制御部、２１１…ＬＣＤ、２１２…操作キー、２１３…ＬＥＤ、２３０…メモリ、２４０…確認印刷制御部、２４０ａ…確認印刷処理設定フラグ、２４０ｂ…分割パターン定義データ、２５０…印刷制御部、２６０…印刷機構部、２６１…プリントエンジン部、２６２…トレイ、２６３…トレイ、２６４…スタッカ、２６５…両面印刷ユニット、２７０…通信部。
【図１】
0006290030.tif 000002
【図２】
0006290030.tif 000003
【図３】
0006290030.tif 000004
【図４】
0006290030.tif 000005
【図５】
0006290030.tif 000006
【図６】
0006290030.tif 000007
【図７】
0006290030.tif 000008
【図８】
0006290030.tif 000009
【図９】
0006290030.tif 000010
【図１０】
0006290030.tif 000011
【図１１】
0006290030.tif 000012
【図１２】
0006290030.tif 000013