以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
[印刷システム及び装置の構成]
図1は、印刷システムの構成を示す図である。印刷システム100は、タブレット101と、アクセスポイント102と、画像形成装置(印刷装置)103とを含む。タブレット101は、画像形成装置103に印刷させるホスト装置としての一例であり、汎用的なPCであっても良い。画像形成装置103は、タブレット101から受信した印刷データに基づいて、印刷用紙等の記録媒体に記録を行う。画像形成装置103は、例えば、電子写真方式やインクジェット記録方式により、記録媒体への記録を行う。また、画像形成装置103は、印刷機能の他、スキャン機能やファクス機能等が一体化されたいわゆる複合機(MFP:Multifunctional Peripheral)であっても良い。
図1においては、タブレット101と画像形成装置103とは、無線ネットワークで相互に通信可能に接続されている。タブレット101は、ユーザが指定したテキストや画像に基づいて画像形成装置103が印刷可能な印刷データを生成し、画像形成装置103に送信する機能を有している。タブレット101は無線LANでアクセスポイント102と接続し、タブレット101からの印刷データは、アクセスポイント102を経由して、画像形成装置103へ送信される。画像形成装置103も同様に、無線LANでアクセスポイント102と接続し、タブレット101から送信された印刷データを受信することができる。
画像形成装置103は、タブレット101から送信される印刷データを一旦全てハードディスク等の記憶装置に保存し、保存した印刷データに基づいて印刷を実行する場合がある。そのような画像形成装置103は、高価で高機能な機種である場合が多い。そのような機種の画像形成装置103は、タブレット101から1部分に相当する印刷データを受信することで、複数部数の印刷が実行可能である。従って、タブレット101は、複数部数分の全ての印刷データを生成する必要はない。
一方、画像形成装置103は、上記の記憶装置を有さず、タブレット101から送信されてくる印刷データを逐次印刷する場合がある。比較的低価格な画像形成装置ではこの方式を採用している場合が多い。逐次印刷を行う画像形成装置103で複数部数の印刷を行う場合には、タブレット101は、複数部数分の全ての印刷データを生成して画像形成装置103へ送信する必要がある。
図1では、各装置が無線ネットワークを介して接続されているが、例えば、タブレット101が汎用的なPCである場合には、アクセスポイント102がなく、ホスト装置と画像形成装置103とが有線ネットワークを介して接続される構成でも良い。
図2は、画像形成装置103内部の構成を示す図である。CPU201は、装置の基本制御等に係るプログラムが記憶されたROM202に従って、画像形成装置103全体を統括的に制御する。制御ROM206は、外部とのインタフェース(IF)を制御するIF制御部210、印刷データを制御するジョブ制御部211、に係るプログラムを記憶する。また、制御ROM206は、タブレット101から送信された印刷データをプリントエンジン208で印刷可能なデータに変換する画像処理制御部212、に係るプログラムを記憶する。また、制御ROM206は、プリントエンジン208を制御して印刷を行うエンジン制御部213、ユーザとの操作や表示を行うユーザインタフェース(UI)制御を行うUI制御部214、に係るプログラムを記憶する。
RAM207は、制御ROM206から読み出されたプログラムを実行する時のワークエリアとして用いられる。また、RAM207は、データ送受信時の入力データバッファ215、画像処理制御部212が生成した画像データを保存する画像処理バッファ217、各エンジンで使われるエンジンデータを保存するエンジンデータバッファ218を有する。また、RAM207は、印刷データの制御のためのジョブ制御データ216、印刷用の記録シートの給紙動作を制御する場合に使用される各ページの先端余白量及び後端余白量を保存する余白テーブル219を記憶する。
無線ネットワークコントローラ205は、無線ネットワークを介して、タブレット101から、印刷を実行するためのコマンド(印刷データ等)の送受信を行う。また、無線ネットワークコントローラ205は、スキャナで読み取った読取データを外部へ送信可能である。無線ネットワークコントローラ205は、無線ネットワーク通信を行うための通信モジュールとアンテナから構成されている。本実施形態では、印刷サービスやスキャンサービスの提供のために、通信プロトコルとして、印刷・スキャンサービスが実現可能なIPP(インターネット・プリントプロトコル)が用いられる。IPPで使用される通信プロトコル方式、並びに、印刷サービス・スキャンサービスに関する要求形態と応答形態は、標準規格として定められている。
制御ROM206のIF制御部210には、IPP通信プロトコル・印刷サービスに従って、通信を行うプログラムが書き込まれている。ジョブ制御部211には、タブレット101から送信される印刷データ(コマンド)を処理するプログラムが書き込まれている。画像処理制御部212には、タブレット101から送信された印刷データをそのデータフォーマットに従って解析し、プリントエンジン208で印刷するためのエンジンデータに変換するためのプログラムが書き込まれている。このデータ変換処理はレンダリングといわれる。エンジン制御部213には、画像処理制御部212で変換されたエンジンデータを、プリントエンジン208を用いて印刷を実行させるためのプログラムが書き込まれている。UI制御部214は、操作部203上のユーザ操作を検知し、その操作に従った処理を行う。また、UI制御部214には、ユーザに通知するメッセージを表示部204に表示するためのプログラムが書き込まれている。表示部204は、装置情報やジョブ情報等をユーザに通知又は表示するためのものであり、LCDやLED等から構成される。ユーザに通知又は表示する情報には、例えば、状態情報(印刷中・スキャニング状態、アイドル状態等)や、操作部203上のユーザ操作に連動したユーザインタフェース画面などがある。プリントエンジン208は、印刷処理を行うためのモジュールであり、プリントコントローラと、記録ヘッドやドラム等の印刷機構を含む。スキャンエンジン209は、スキャンを行うためのモジュールであり、スキャンコントローラと、イメージセンサや光学キャリッジ等のスキャナ機構を含む。
図3は、図2のプリントエンジン208の構成を示す図である。記録ヘッドドライバ301は、記録ヘッド305からのインク滴の吐出等、記録動作を制御する。キャリッジモータドライバ302は、キャリッジを動作させるキャリッジモータ306の駆動を制御する。搬送モータドライバ303は、搬送モータ307の駆動を制御する。搬送モータ307は、搬送ローラ406及び排出ローラ411を駆動する。給送モータドライバ304は、給送モータ308の駆動を制御する。給送モータ308は、ピックアップローラ403及び給送ローラ404を駆動する。
[重ね連送]
図4は、重ね連送の動作を説明するための図である。最初に、図4(a)を参照しながら、重ね連送に係る構成を説明する。
複数枚の記録シート401は、給送トレイ402に積載されている。ピックアップローラ403は、給送トレイ402に積載された最上位の記録シート401に当接して、記録シート401をピックアップする。給送ローラ404は、ピックアップローラ403によりピックアップされた記録シート401を、シート搬送方向の下流側へ給送する。給送従動ローラ405は、給送ローラ404へ付勢され、給送ローラ404とともに記録シート401を挟持して給送する。
搬送ローラ406は、給送ローラ404及び給送従動ローラ405により給送された記録シート401を記録ヘッド407に対向する位置へ搬送する。ピンチローラ408は、搬送ローラ406へ付勢され、搬送ローラ406とともに記録シート401を挟持して搬送する。
記録ヘッド407は、搬送ローラ406及びピンチローラ408により搬送された記録シート401に対して記録を行う。本実施形態では、記録ヘッド407は、インク滴をノズルから吐出して記録シート401に記録を行うインクジェット記録方式の記録ヘッドである。プラテン409は、記録ヘッド407と対向する位置で記録シート401の裏面を支持する。キャリッジ410は、記録ヘッド407を搭載してシート搬送方向(副走査方向)と交差する方向(主走査方向)へ往復可能に移動する。
排出ローラ411は、記録ヘッド407により記録が行われた記録シート401を装置外に排出する。拍車412及び413は、記録ヘッド407により記録が行われた記録シート401の記録面と接触して回転する。拍車412は、排出ローラ411へ付勢されており、一方、拍車413は、対向する位置に排出ローラ411が配置されていない。拍車413は、記録シート401の浮き上がりを防止するためのものであり、押え拍車ともいう。
給送ローラ404及び給送従動ローラ405で形成される給送ニップ部と、搬送ローラ406及びピンチローラ408で形成される搬送ニップ部との間で、搬送ガイド414によって記録シート401が案内される。シート検知センサ415は、記録シート401の先端及び後端を検知する。シート検知センサ415は、シート搬送方向において給送ローラ404の下流に設けられている。シート押えレバー416は、後続シートの先端部の余白を先行シートの後端部の余白に重ね合わせるためのレバーである。シート押えレバー416は、図中時計回り方向にバネにより付勢されている。
図7は、ピックアップローラ403の構成を示す図である。ピックアップローラ403は、給送トレイ402に積載されている最上位の記録シート401に当接して、記録シートをピックアップする。駆動軸700は、給送モータ308の駆動をピックアップローラ403に伝達する。記録シート401をピックアップするときに、駆動軸700及びピックアップローラ403は、図中矢印方向に回転する。駆動軸700には、突起701が設けられている。ピックアップローラ403には、突起701が嵌まり込む凹部が形成されている。図7(a)に示すように、突起701がピックアップローラ403の凹部の第1の面702に当接している場合は、駆動軸700の駆動がピックアップローラ403に伝達し、駆動軸700を駆動するとピックアップローラ403も駆動する。一方、図7(b)に示すように、突起701がピックアップローラ403の凹部の第2の面703に当接している場合は、駆動軸700の駆動がピックアップローラ403に伝達されず、駆動軸700を駆動してもピックアップローラ403は駆動しない。突起701が第1の面702及び第2の面703のいずれにも当接せず、第1の面702と第2の面703の間θにある場合にも、駆動軸700を駆動してもピックアップローラ403は駆動しない。
図4〜図6を参照しながら、プリントエンジンの印刷動作、特に、重ね連送の給紙動作の給紙制御を時系列に説明する。タブレット101等、外部装置から無線ネットワークコントローラ205を介して印刷データが送信されると、CPU201は、印刷データに基づいて記録動作を開始する。
図4(a)を参照する。最初に、給送モータドライバ304は、給送モータ308を低速駆動する。その結果、例えば、ピックアップローラ403は、7.6inch/secで回転する。ピックアップローラ403が回転すると、給送トレイ402に積載された最上位の記録シート401(先行シートA)がピックアップされる。ピックアップローラ403によりピックアップされた先行シートAは、ピックアップローラ403と同方向に回転している給送ローラ404により搬送される。ここで、給送ローラ404も、給送モータ308により駆動される。
給送ローラ404の下流側に設けられたシート検知センサ415により、先行シートAの先端が検知されると、給送モータドライバ304は、給送モータ308を高速駆動に切り替える。その結果、例えば、ピックアップローラ403及び給送ローラ404は、12inch/secで回転する。
図4(b)を参照する。給送ローラ404を回転し続けることにより、先行シートAの先端は、シート押えレバー416を時計回り方向に回転させる。さらに、給送ローラ404を回転し続けると、先行シートAの先端は、搬送ローラ406とピンチローラ408で形成される搬送ニップ部に突き当たる。このとき、搬送ローラ406は、停止状態である。先行シートAの先端が搬送ニップ部に突き当たった後も、給送ローラ404を所定量回転させることにより、先行シートAの先端が搬送ニップ部に突き当たった状態で、記録シートは整列し、その結果、斜行が矯正される。斜行矯正動作をレジ取り動作ともいう。
図4(c)を参照する。先行シートAの斜行矯正動作が終了すると、搬送モータドライバ303は、搬送モータ307を駆動する。その結果、搬送ローラ406が回転を開始する。例えば、搬送ローラ406は、15inch/secで先行シートAを搬送する。先行シートAに対して、記録ヘッド407と対向する位置まで頭出しされた後に、記録データに基づいて記録ヘッド407からのインク滴の吐出により記録動作が行われる。
画像形成装置103は、記録ヘッド407がキャリッジ410に搭載され、主走査方向に往復移動可能なシリアルタイプの画像形成装置である。搬送ローラ406により記録シート401を所定量ずつ間欠搬送する搬送動作と、搬送ローラ406が停止しているときに記録ヘッド407を搭載したキャリッジ410を移動させながら、記録ヘッド407からインク滴を吐出する画像形成動作と、を繰り返す。その構成により、記録シート401に対する記録動作が行われる。
先行シートAが頭出しされると、給送モータドライバ304は、給送モータ308を低速駆動に切り替える。その結果、例えば、ピックアップローラ403及び給送ローラ404は、7.6inch/secで回転する。搬送ローラ406により記録シートを所定量ずつ間欠搬送しているときには、給送モータ308により給送ローラ404も間欠駆動される。つまり、搬送ローラ406が回転しているときには給送ローラ404も回転し、搬送ローラ36が停止しているときには給送ローラ404も停止する。ここで、搬送ローラ406の回転速度に対して、給送ローラ404及びピックアップローラ403の回転速度が小さくなるので、搬送ローラ406と給送ローラ404の間で、記録シートは張った状態になる。また、給送ローラ404は、搬送ローラ406により搬送される記録シートにより連れ回りさせられる。
給送モータ308により給送ローラ404が間欠的に駆動されると、駆動軸700も駆動される。ピックアップローラ403の回転速度は、搬送ローラ406の回転速度よりも小さくなっている。そのため、ピックアップローラ403は、搬送ローラ406で搬送される記録シートにより連れ回りさせられる。即ち、ピックアップローラ403は、駆動軸700に対して先回りした状態となる。具体的には、駆動軸700の突起701は、第1の面702から離間して第2の面703に当接した状態となる。その結果、先行シートAの後端がピックアップローラ403を通過しても、2枚目の記録シート401(後続シートB)は、すぐにはピックアップされない。駆動軸700が所定時間(θに対応する時間)駆動されると、突起701が第1の面702と当接するようになり、ピックアップローラ403が回転を開始する。
図5(a)を参照する。図5(a)は、ピックアップローラ403が回転を開始し、後続シートBをピックアップした状態を示す。シート検知センサ415の記録シート401の端部を検知する応答性等の要因により、記録シート401間に所定距離以上の搬送間隔が必要である。本実施形態では、シート検知センサ415により先行シートAの後端を検知した後、後続シートBの先端を検知するまでに所定の搬送間隔を確保するために、ピックアップローラ403の凹部は、約70度に設定されている。
図5(b)を参照する。ピックアップローラ403によりピックアップされた後続シートBは、給送ローラ404により搬送される。このとき、先行シートAに対して、記録データに基づき記録ヘッド407により画像形成動作が行われている。シート検知センサ415により後続シートBの先端が検知されると、給送モータ308を高速駆動に切り替える。その結果、例えば、ピックアップローラ403及び給送ローラ404は、12inch/secで回転する。
図5(c)を参照する。先行シートAの後端部は、シート押えレバー416により下方に押し下げられている。記録ヘッド407による記録動作により先行シートAが下流に移動する速度に対して後続シートBを高速に移動させることにより、先行シートAの後端部の上に後続シートBの先端部が重なった状態を形成することができる。先行シートAは、記録データに基づき記録動作が行われ、搬送ローラ406により間欠搬送されている。一方、後続シートBは、シート検知センサ415により先端が検知された後、給送ローラ404が12inch/secで連続的に回転しているので、先行シートAに追いつくことができる。
図6(a)を参照する。先行シートAの後端部の上に後続シートBの先端部が重なった重なり状態が形成された後、後続シートBは、先端が搬送ニップ部の上流の所定位置で停止するまで給送ローラ404により搬送される。後続シートBの先端の位置は、シート検知センサ415の検知結果に基づき制御される。このとき、先行シートAに対しては、記録データに基づき記録ヘッド407により画像形成動作が行われている。
図6(b)を参照する。先行シートAの最終行の画像形成動作(インク吐出動作)を行うために搬送ローラ406が停止しているときに、給送ローラ404を駆動することによって後続シートBの先端を搬送ニップ部に突き当てることにより、後続シートBの斜行矯正動作が行われる。
図6(c)を参照する。先行シートAの最終行の画像形成動作が終了すると、搬送ローラ406を所定量回転させることにより先行シートAの上に後続シートBが重なった状態を維持して、後続シートBの頭出しを行うことができる。その後、後続シートBに対して、記録データに基づき記録ヘッド38により記録動作が行われる。後続シートBが記録動作のために間欠搬送されると、先行シートAも間欠搬送され、やがて、先行シートAは、排出ローラ411により画像形成装置103外に排出される。
後続シートBが頭出しされると、給送モータドライバ304は、給送モータ308を低速駆動に切り替える。その結果、例えば、ピックアップローラ403及び給送ローラ404は、7.6inch/secで回転する。後続シートBに後続する記録データがある場合は、図5(a)に戻り、3枚目のピックアップ動作が行われる。
図8は、重ね連送動作の処理を示すフローチャートである。図8に示す処理は、例えば、CPU201がROM202からプログラムを読み出して実行することにより実現される。
S801において、CPU201は、無線ネットワークコントローラ205を介してタブレット101等の外部装置から印刷データが送信されると記録動作を開始する。S802において、CPU201は、先行シートAの給送動作を開始する。具体的には、給送モータドライバ304は、給送モータ308を低速駆動する。その結果、例えば、ピックアップローラ403は、7.6inch/secで回転する。ピックアップローラ403により先行シートAは、ピックアップされ、給送ローラ404により記録ヘッド407へ給送される。
S803において、CPU201は、シート検知センサ415の検知信号により、先行シートAの先端を検知したか否かを判定する。ここで、先行シートAの先端を検知したと判定された場合、S804において、CPU201は、給送モータドライバ304が給送モータ308を高速駆動するよう制御する。その結果、例えば、ピックアップローラ403及び給送ローラ404は、12inch/secで回転する。一方、先行シートAの先端を検知していないと判定された場合、S803の処理を繰り返す。
S805において、CPU201は、シート検知センサ415により先行シートAの先端が検知された後の給送ローラ404の回転量を制御することにより、先行シートAの先端を搬送ニップ部に突き当てることにより先行シートAの斜行矯正動作を行う。
S806において、CPU201は、記録データに基づき先行シートAを頭出しする。S807において、CPU201は、給送モータドライバ304が給送モータ308を低速駆動するよう制御する。S808において、CPU201は、先行シートAに対して、記録ヘッド407からインク滴を吐出することにより記録動作を開始する。具体的には、搬送ローラ406により先行シートAを間欠搬送する搬送動作と、キャリッジ410を往復移動させて記録ヘッド407からインク滴を吐出する画像形成動作(インク吐出動作)とを繰り返すことによって、先行シートAに対する記録動作を行う。CPU201は、搬送ローラ406により先行シートAを間欠搬送する動作と同期して、給送モータドライバ304が給送モータ308を間欠的に低速駆動するよう制御する。その結果、例えば、ピックアップローラ403及び給送ローラ404は、7.6inch/secで間欠的に回転する。
S809において、CPU201は、先行シートAに後続する次ページの印刷データがあるか否かを判定する。ここで、次ページの印刷データがないと判定された場合にはS825に進む。S825において、CPU201は、先行シートAに対する記録動作が完了したか否かを判定する。ここで、先行シートAに対する記録動作が完了したと判定された場合には、S826において、CPU201は、先行シートAの排出制御を行い、S824において、図8の処理を終了する。一方、記録動作が完了していないと判定された場合には、S825の処理を繰り返す。
S809で次ページの印刷データがあると判定された場合には、S810において、CPU201は、後続シートBの給送動作を開始する。具体的には、CPU201は、ピックアップローラ403が後続シートBをピックアップし、給送ローラ404が後続シートBを記録ヘッド407へ給送するよう制御する。その際、例えば、ピックアップローラ403は、7.6inch/secで回転する。ここで、前述のように、駆動軸700の突起701に対してピックアップローラ403の凹部が大きく設けられているので、先行シートAと後続シートBとの間には所定の搬送間隔が設けられる。
S811において、CPU201は、シート検知センサ415の検知信号により、後続シートBの先端を検知したか否かを判定する。ここで、後続シートBの先端を検知したと判定された場合には、S812において、CPU201は、給送モータドライバ304が給送モータ308を高速駆動するよう制御する。その結果、例えば、ピックアップローラ403及び給送ローラ404は、12inch/secで回転する。一方、後続シートBの先端を検知していないと判定された場合には、S811の処理を繰り返す。
S813において、CPU201は、後続シートBの先端が検知された後の給送ローラ404の回転量を制御することにより、後続シートBの先端が搬送ニップ部の所定量手前に位置するように後続シートBの搬送を制御する。ここで、先行シートAは、記録データに基づき間欠搬送されている。一方、CPU201が給送モータ308を連続的に高速駆動することにより、先行シートAの後端部の上に後続シートBの先端部を重ねる重ね状態が形成される。
S814において、CPU201は、後述する所定条件を満たしているか否かを判定する。ここで、所定条件を満たしていると判定された場合にはS815に進み、所定条件を満たしていないと判定された場合にはS827に進む。所定条件とは、重ね状態を維持したまま、後続シートに対して突き当てによる斜行矯正動作を行う先行シート及び後続シートの状態をいう。
S814で所定条件を満たしていると判定された場合、S815において、CPU201は、先行シートAの最終行の印刷が開始したか否かを判定する。ここで、先行シートAの最終行の印刷が開始していないと判定された場合には、S815の処理を繰り返す。先行シートAの最終行の印刷が開始したと判定された場合、S816において、CPU201は、重ね状態を維持したまま、後続シートBの先端を搬送ニップ部に突き当てて後続シートBの斜行矯正動作を行う。S817において、CPU201は、先行シートAの最終行の印刷が終了したか否かを判定する。ここで、先行シートAの最終行の印刷が終了していないと判定された場合には、S817の処理を繰り返す。先行シートの最終行の印刷が終了したと判定された場合、S818において、CPU201は、重ね状態を維持したまま、後続シートBの頭出しを行う。
S814で所定条件を満たしていないと判定された場合には、S827において、CPU201は、先行シートAの最終行の印刷が終了したか否かを判定する。ここで、先行シートAの最終行の印刷が終了していないと判定された場合には、S827の処理を繰り返す。先行シートAの最終行の印刷が終了したと判定された場合、S828において、CPU201は、先行シートAの排出動作を行う。その間、給送モータ308は駆動されないので、後続シートBは、その先端が搬送ニップ部の所定量手前の位置で停止している。一方、先行シートAは排出されるので、重ね状態は解消されることになる。S829において、CPU201は、後続シートBの先端を搬送ニップ部に突き当てることにより後続シートBの斜行矯正動作を行う。その後、S818において、CPU201は、重ね状態を解消して、後続シートBの頭出しを行う。
S819において、CPU201は、給送モータドライバ304が給送モータ308を低速駆動するよう制御する。S820において、CPU201は、後続シートBに対して記録ヘッド407からインク滴を吐出することにより記録動作を開始する。具体的には、搬送ローラ406により後続シートBを間欠搬送する搬送動作と、キャリッジ410を往復移動させて記録ヘッド407からインク滴を吐出する画像形成動作(インク吐出動作)とを繰り返すことにより、後続シートBに対する記録動作を行う。CPU201は、搬送ローラ406により後続シートBを間欠搬送する動作と同期して、給送モータドライバ304が給送モータ308を間欠的に低速駆動するよう制御する。その結果、例えば、ピックアップローラ403及び給送ローラ404は、7.6inch/secで間欠的に回転する。
S821において、CPU201は、後続シートBに後続する次ページの印刷データがあるか否かを判定する。ここで、次ページの印刷データがあると判定された場合にはS810に進む。一方、次ページの印刷データがないと判定された場合には、S822において、CPU201は、後続シートBの印刷が完了したか否かを判定する。ここで、後続シートBの印刷が完了していないと判定された場合には、S822の処理を繰り返す。後続シートBの印刷が完了したと判定された場合には、S823において、CPU201は、後続シートBの排出動作を行い、S824において、図8の処理を終了する。
図9は、先行シートと後続シートとの搬送動作を説明するための図である。図8のS812及びS813で説明した、先行シートの後端部の上に後続シートの先端部を重ねる重ね状態を形成する動作について説明する。図9は、給送ローラ404と給送従動ローラ405で形成される給送ローラニップ部と、搬送ローラ406とピンチローラ408で形成される搬送ローラニップ部と、の間の拡大図である。
搬送ローラ406と給送ローラ404により記録シートが搬送される過程を、3つの状態として順に説明する。図9は、第1の状態、即ち、後続シートが先行シートを追いかける区間を示す。図10は、第2の状態、即ち、後続シートが先行シートの上に重なる区間を示す。図11は、第3の状態、即ち、突き当てを行って斜行矯正を行う際に、後続シートが搬送動作を停止して重ね状態を解消するか、若しくは、重ね状態を継続するかを判定する区間を示す。
図9(a)では、CPU201は給紙モータードライバ304を制御して後続シートを搬送し、シート検知センサ415は後続シートを検知する。後続シートが先行シートの上に重ねることが可能な位置901までの区間902において、後続シートは、先行シートを追いかける。後続シートが先行シートの上に重なることが可能な位置901は、搬送構成に応じて決定される。第1の状態において、区間902において後続シートが先行シートを追いかける動作を停止する場合がある。図9(b)に示すように、後続シートの先端903が先行シートの後端904を追い越してしまう状況の場合には、適切な重なり量等にならないことがあるので、第2の状態における先行シートと後続シートとの重ね合わせは行わない。
図10(a)では、後続シートが先行シートの上に重なることが可能な位置901から、シート押えレバー416で記録シートを抑え込むことが可能な位置1001までの区間1002において、後続シートを先行シートの上に重ねる動作を行う。第2の状態において、区間1002において後続シートを先行シートの上に重ねる動作を停止する場合がある。図10(b)に示すように、後続シートの先端1004が先行シートの後端1003から所定間隔以上にあって追いつけない状況の場合には、後続シートを先行シートの上に重ねる動作は行わない。
図11では、重ね状態を継続するか否かを判定する位置1101までの区間1102まで、後続シートが搬送される。位置1101において、後続シートの突き当てを行って斜行矯正を行う際に、先行シートと後続シートを一部重ねる重ね状態を継続するか、若しくは、重ね状態を解除した状態にするかの判定が行われる。
図12は、後続シートの頭出しの際の斜行矯正動作を行う際の判定処理を示すフローチャートである。図12は、図8のS814における所定条件を満たしているか否かの判定処理を示す。即ち、図12の処理は、先行シートと後続シートとの重ね状態を継続して突き当てによる斜行矯正を行うか、若しくは、重ね状態を解除して突き当てによる斜行矯正を行うかの判定処理を表している。
S1201において、CPU201は、後続シートが図11の位置1101まで到達しているか否かを判定する。ここで、位置1101まで到達していないと判定された場合、後続シートを先行シートに重ねることができないので、S1206において、CPU201は、重ね状態とせずに、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図8のS814の後、S827に進む。一方、位置1101まで到達していると判定された場合、S1202に進む。
S1202において、CPU201は、先行シートが搬送ローラ406を通過したか否かを判定する。ここで、先行シートが搬送ローラ406を通過したと判定された場合、S1207において、CPU201は、先行シートの記録中に、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図8のS814の後、S827に進む。一方、先行シートが搬送ローラ406を通過していないと判定された場合、S1203に進む。S1203に進む際には、先行シートと後続シートとは重ね状態となっている。
S1203において、CPU201は、先行シートが印刷直前に押え拍車413に届くか否かを判定する。ここで、押え拍車413に届かないと判定された場合、S1208において、CPU201は、重ね状態を解消して先行シートが搬送ローラ406を通過した後に、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図8のS814の後、S827に進む。一方、押え拍車413に届くと判定された場合、S1204に進む。
S1204において、CPU201は、先行シートと後続シートとの重なり量が予め定められた基準値より小さいか否かを判定する。ここで、重なり量が予め定められた基準値より小さいと判定された場合、S1209において、CPU201は、重ね状態を解消して先行シートが搬送ローラ406を通過した後に、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その場合、図8の814の後、S827に進む。一方、重なり量が予め定められた基準値より小さくないと判定された場合、S1205に進む。
S1205において、CPU201は、先行シートの最終行とその前の行との間に所定値以上の隙間があるか否かを判定する。ここで、所定値以上の隙間がないと判定された場合、S1210において、CPU201は、重ね状態を解消して先行シートの記録終了後に、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図8のS814の後、S827に進む。一方、所定値以上の隙間があると判定された場合、S1211に進む。
S1211においては、CPU201は、重ね状態を維持して先行シートの記録中に(間欠搬送動作における搬送動作停止中に)、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図8のS814の後、S815に進む。
図13は、タブレット101上に表示される印刷を指示するためのメニュー画面の一例を示す図である。ユーザは、タブレット101で動作するアプリケーションを操作することにより、写真を見たり、文章を作成することができる。ユーザは、印刷を行いたい場合には、それぞれのアプリケーションから印刷機能やさらにアプリケーションを呼び出す。印刷機能では、タブレット101の表示部に印刷メニュー画面1301を表示し、ユーザが設定可能な項目を通知し、ユーザからの入力を待機する。本実施形態では、ユーザが入力可能な項目として部数1302が提供されている。図13は、部数1302で1部が選択されている様子が示されている。ユーザは、値を変更することで、部数の変更を指定することができる。ユーザにより、設定の完了後、印刷ボタン1303が押下されると、選択された指定に従って、印刷データが画像形成装置103に送信され、画像形成装置103における印刷が実行される。タブレット101での印刷指定では複数部の印刷順が丁合いであるか否かの指定はできない。
図14(a)は、印刷データを示す図であり、印刷ドキュメント1401として、3ページの印刷データを示している。印刷ドキュメント1401は、例えば、PDFフォーマットで作成され、ユーザは、タブレット101上で閲覧することができる。図14(b)は、印刷ドキュメント1401に基づく印刷結果を示した図であり、特に、丁合い印刷の場合の印刷結果を示している。図14(b)では、印刷ドキュメント1401を3部、丁合い印刷指定されている。図14(b)に示すように、丁合い印刷であるので、印刷結果は、1、2、3、1、2、3、1、2、3とのページ順で印刷される。図14(c)は、印刷ドキュメント1401に基づく印刷結果を示した図であり、特に、丁合い印刷でない場合の印刷結果を示している。図14(c)では、印刷ドキュメント1401を3部指定し、丁合い印刷は指定いない場合の印刷結果を示している。図14(c)に示すように、丁合いでない印刷であるので、印刷結果は、1、1、1、2、2、2、3、3、3とのページ順で印刷される。
画像形成装置103は、外部から送信された印刷ドキュメント1401の全ページ(例えば、3ページ)を一度に全て保存することができ、そのデータに基づいて複数部数(例えば、3部)を印刷可能な場合がある。また、一方で、画像形成装置103は、バッファメモリの容量上、外部から送信された印刷ドキュメント1401の全ページを一度に全て保存できない場合がある。その場合には、外部の装置が複数部数の全ての印刷データを生成し、画像形成装置103に送信する必要がある(逐次印刷)。丁合い印刷を実行する場合には、外部の装置は、図14(b)に示すような印刷データを生成して画像形成装置103に送信する。また、丁合いでない印刷を実行する場合には、外部の装置は、図14(c)に示すような印刷データを生成して画像形成装置103に送信する。丁合い指定、丁合でない指定のいずれの場合にも、画像形成装置103は、外部の装置から送信されてくる各ページの印刷データに基づいて印刷を実行する。
図15(a)は、印刷対象のデータを含む印刷データの詳細な構成の一例を示す図である。図15(a)の印刷データ1501は、3ページから構成される印刷ドキュメント1401に対応する。印刷データ1501は、各ページについてヘッダとページデータとを含んで構成されている。
図15(b)は、印刷データ1501のヘッダに含まれるヘッダ情報の一例を示す図である。ヘッダ情報は、例えば、外部から最初に受信したページに含まれる。ヘッダ1502は、印刷データ1501を構成するページ数を示す「総ページ数」と、何部で構成されているかを示す「部数」と、1部あたりのページ数を示す「1部ページ数」と、を含む。また、ヘッダ1502は、各ページの上部の余白情報を示す「上マージン」と、各ページの下部の余白情報を示す「下マージン」と、印刷が丁合印刷であるか否かを示す「部構成」と、を含む。
丁合い印刷を実行する場合には、ヘッダ1502は、「総ページ数:9、部数:3、1部ページ数:3、部構成:丁合い」となる。丁合い印刷を実行しない場合には、「総ページ数:9、部数:3、1部ページ数:3、部構成:丁合いなし」となる。
図16(a)は、ページデータの構成の一例を示す図である。ページデータ1601は、空白データ(印刷対象でない領域)と印刷領域(印刷対象の領域)とを含んで構成され、空白データとして上部の余白(上余白)と下の余白(下余白)を有する。図16(a)の図中上方向が搬送方向先頭側である。また、ページデータは、余白のないように構成される場合もある。各ページで上余白量と下余白量とが異なる場合があり、それぞれのページのヘッダに含まれる情報「上マージン」及び「下マージン」に各ページの余白量が保持される。
図16(b)は、印刷領域において、印刷データの比較を行うためのデータとして抽出される領域を示す図である。位置P1は、ページデータの先頭を示す。位置P2は、印刷領域の先頭を示す。位置P3は、印刷領域の途中位置を示し、例えば、印刷領域の中間を示す。中間位置は、印刷が実行される印刷データに基づいて判断される。位置P4は、印刷領域の終端から特定位置前の位置を示し、位置P5は、下余白の先頭を示す。位置P6は、ページデータの終端位置を示す。本実施形態では、後続するページデータと同一であるか否かを比較するために、位置P2からサイズSD1分のデータを保存データ領域1602(先頭部分)とする。同様に、位置P3からサイズSD2分のデータを保存データ領域1603(中間部分)とする。また、同様に、位置P4からサイズSD3分のデータを保存データ領域1604(後端部分)とする。
後述するが、本実施形態では、逐次印刷の場合に、画像形成装置103は、外部から送信される各ページデータを、保存データ領域1602〜1604について比較し、同一であるか否かを判定する。そして、画像形成装置103は、その判定結果に基づいて、送信されるページデータが丁合い印刷の対象であるのか否かを判定する。また、画像形成装置103は、エンジンデータバッファでのデータを用いて、各ページデータの比較を行う場合もある。
図16(c)、図17(a)、図17(b)は、エンジンデータバッファのデータを用いて比較を行う場合のエンジンデータの保存領域を示す図である。図16(c)の保存エンジンデータ領域1605は保存データ領域1602に対応し、サイズED1はサイズSD1に対応する。また、図17(a)の保存エンジンデータ領域1606は保存データ領域1603に対応し、サイズED2はサイズSD2に対応する。また、図17(b)の保存エンジンデータ領域1607は保存データ領域1604に対応し、サイズED3はサイズSD3に対応する。
図17(c)は、各ページの上余白量及び下余白量を保存する余白テーブル1608の一例を示す図である。図17(c)に示すように、各ページ1〜Nについての上余白量及び下余白量(上/下余白サイズ)が保存される。上余白量及び下余白量は、例えば、上記のSD1〜SD3やED1〜ED3のような余白長で表される。
[印刷処理]
図18は、印刷処理の手順を示すフローチャートである。図18に示す処理は、例えば、CPU201がROM202に記憶されているプログラムを読み出して実行することにより実現される。まず、CPU201は、変数tB、tN、B、NをRAM等の記憶領域に確保する。そして、CPU201は、印刷データの先頭ページのヘッダから、印刷データの部数、総ページ数を取得し、印刷データの部数を変数tBに設定し、総ページ数を変数tNに設定する。変数Bには現在処理している部の値が設定され、初期値として1が設定される。また、変数Nには現在処理しているページの値が設定され、初期値として1が設定される。
S1801において、CPU201は、変数tBの値に基づき、印刷データの部数が1であるか否かを判定する。ここで、1部であると判定された場合にはS1802に進み、1部でないと判定された場合にはS1806に進む。
S1802において、CPU201は、現在の処理対象のページが最終ページであるか否かを判定する。S1802の判定は、変数Nが変数tNより大きいか否かを判定することにより行われる。変数Nが変数tNより大きいと判定された場合には、即ち、現在の処理対象のページが最終ページであると判定された場合には、図18の処理を終了する。変数Nが変数tNより大きくないと判定された場合には、即ち、現在の処理対象のページが最終ページでないと判定された場合には、S1803に進む。
S1803において、CPU201は、画像処理制御部212により、ページ先頭印刷データを生成する。ページ先頭印刷データは、例えば所定単位の領域のデータであり、エンジンデータバッファ218に保存される。
S1804において、印刷する用紙を給紙するために通常給紙指定を行い、用紙の給紙を行う。通常給紙指定の場合、先行シートに対する後続シートの重ね給紙は実行されない。S1805において、CPU201は、本処理対象ページ内の、S1803で生成されたエンジンデータ以降のエンジンデータを生成する。そして、CPU201は、エンジン制御部213により、プリントエンジン208により印刷処理を行う。
S1805の後、変数Nを1インクリメントしてS1802へ戻り、最終ページであると判定されるまで、S1803〜S1805が繰り返されて1ページ分の印刷が行われる。S1801で複数部数の印刷であると判定された場合にはS1806へ進み、図19に示す複数部数印刷処理が行われる。
図19は、複数部数印刷処理を示すフローチャートである。
S1901において、CPU201は、画像形成装置103が1部数分のページバッファ(記憶部)を有し、印刷対象の1部数に対応するページを全て保持可能な構成であるか否かを判定する。例えば、画像形成装置103がページバッファを有する構成であるか否かの情報はタブレット101に予め通知されている。その場合に、タブレット101は、印刷実行を指示する際にその通知に基づいて印刷データとともに、ページバッファを有するか否かの情報をヘッダに含めて送信するようにしても良い。その場合、CPU201は、例えば、先頭ページのヘッダから、画像形成装置103がページバッファを有するか否かの情報を取得して判定する。ここで、ページバッファを有すると判定された場合、図20に示すページバッファ印刷処理が行われる。一方、ページバッファを有さないと判定された場合、S1902に進む。
S1902において、CPU201は、印刷データの先頭ページのヘッダに「部構成」を示す情報があるか否かを判定する。タブレット101等の外部機器の処理構成によっては「部構成」の情報がヘッダに設定されない場合があるので、本実施形態では、S1902の判定を行う。ここで、「部構成」を示す情報がないと判定された場合、図21に示す丁合い判定及び印刷処理が行われる。一方、「部構成」を示す情報があると判定された場合、S1903に進む。
S1903において、CPU201は、印刷データの先頭ページのヘッダの「部構成」を示す情報に基づいて、丁合い印刷であるか否かを判定する。ここで、丁合い印刷でないと判定された場合、図22に示す丁合いでない印刷処理が行われる。一方、丁合い印刷であると判定された場合、S1904に進む。
S1904において、CPU201は、変数Bに基づいて、第1部目が現在の処理対象であるか否かを判定する。ここで、第1部目が現在の処理対象であると判定された場合、S1905に進み、第1部目が現在の処理対象でないと判定された場合、S1911に進む。
S1905において、CPU201は、現在の処理対象のページが最終ページであるか否かを判定する。S1905の判定は、変数Nが変数tNより大きいか否かを判定することにより行われる。変数Nが変数tNより大きいと判定された場合には、即ち、現在の処理対象のページが最終ページであると判定された場合には、変数Bを1インクリメントしてS1904に戻る。変数Nが変数tNより大きくないと判定された場合には、即ち、現在の処理対象のページが最終ページでないと判定された場合には、S1906に進む。
S1906において、CPU201は、現在の処理対象の1ページ分の印刷が終了したか否かを判定する。ここで、1ページ分の印刷が終了したと判定された場合、変数Nを1インクリメントしてS1904に戻る。1ページ分の印刷が終了していないと判定された場合、S1907に進む。
S1907において、CPU201は、現在の処理対象のページの一部分に相当する部分印刷データを生成してエンジンデータバッファ218に保存する(画像処理)。部分印刷データは、例えば、ページ内で予め定められた行単位ごとのデータであっても良い。S1908において、CPU201は、印刷領域に基づいて、図23に示す余白量保存処理を行う。ここで、余白量保存処理とは、現在の画像処理の位置が先端余白位置であるか否か、若しくは、後端余白位置であるか否かを、画像処理の進行状況に基づき判定し、それぞれの位置である場合に、各余白量を保存することをいう。余白保存処理により、図17(c)の余白テーブルに示すように、各ページの上余白量及び下余白量が保存される。本実施形態では、第1部目の印刷が行われた際に保存された余白量は、第2部目以降の給紙処理に用いられ、給紙の高速化を実現することができる。
S1909において、CPU201は、印刷する用紙(記録シート)を給紙するために、所定単位分の通常給紙指定を行い、記録シートの給紙を行う。S1910において、CPU201は、画像処理が行われエンジンデータバッファ218に保存されたエンジンデータの、給紙された記録シートに対する印刷処理を行い、S1906へ戻る。S1906で、1ページ分が終了していないと判定された場合には、S1907において、次の単位の部分印刷データが生成される。S1907〜S1910の処理が第1部に対応するページ数分、繰り返されることにより、第1部のページ数分の印刷が行われるとともに余白量が保存される。
S1904で、変数Bに基づいて、第1部目が現在の処理対象でないと判定された場合、S1911に進む。S1911において、CPU201は、変数Bが変数tBより大きいか否かに基づいて、最終部が現在の処理対象であるか否かを判定する。ここで、最終部が現在の処理対象であると判定された場合には、図19の処理を終了する。一方、最終部が現在の処理対象でないと判定された場合には、S1912に進む。
S1912において、CPU201は、変数Nが変数tNより大きいか否かに基づいて、現在の処理対象のページが最終ページであるか否かを判定する。ここで、現在の処理対象のページが最終ページであると判定された場合、変数Nを1にリセットし、変数Bを1インクリメントしてS1904に戻る。現在の処理対象のページが最終ページでないと判定された場合、S1913に進む。
S1913において、S1907と同様に、CPU201は、現在の処理対象のページの一部分に相当する部分印刷データを生成する。S1914において、CPU201は、印刷する用紙の給紙方法を指定するために、図24に示す給紙処理の指定を行い、現在の処理対象のページについての記録シートの給紙方法を指定する。給紙処理の指定では、図17(c)の余白テーブルに該当ページの余白量が設定されているかを参照し、設定された上下余白量が先行シートへの重ね給紙指定に十分な値であるかを閾値と比較する。閾値以上である場合、重ね給紙を行うと判定し、図5(c)で説明したような重ね給紙を行う。一方、閾値より小さい場合、通常給紙を行うと判定し、通常給紙を行う。給紙処理の指定における閾値の判定に加えて、図12の各条件が考慮されるようにしても良い。
S1915において、CPU201は、本処理対象ページ内の、S1913で生成されたエンジンデータ以降のエンジンデータを生成し、給紙された記録シートに対する印刷処理を行って、現在の処理対象のページの印刷を終了する。CPU201は、変数Nを1インクリメントし、その後、S1912に戻る。S1912〜S1915が繰り返されることにより、現在の処理対象の部についての全てのページ(例えば、第1〜3ページ目)に対する印刷が行われる。
以上のように、丁合い印刷で複数部数を印刷する場合には、第1部目で保存された余白情報に基づいて、第2部目以降で、先行シートへの重ね給紙指定を行うことができ、その結果、給紙時間の短縮による印刷効率の向上を実現することができる。
図20は、画像形成装置103がページバッファを有する構成である場合に行われる印刷処理の手順を示すフローチャートである。例えばハードディスクのような外部記憶装置を持つような画像形成装置の場合、外部から送信される1部分のページデータを全て保存することが可能である。そして、画像形成装置は、その保存したページデータを複数部数印刷することができる。さらには、複数部数を印刷する際に丁合いの指定がある場合には、保存されたデータを例えば1、2、3、1、2、3、1、2、3のページ順で印刷することができる。また、丁合いの指定がない場合には、1、1、1、2、2、2、3、3、3のようなページ順で印刷することができる。
S2001において、CPU201は、タブレット101から受信して保存した印刷データをS1908で説明したように解析し、全てのページの上下余白情報を図17(c)の余白テーブルに格納する。格納された上下余白情報は、後述する給紙処理で用いられる。
S2002において、CPU201は、変数Bが変数tBより大きいか否かに基づいて、最終部が現在の処理対象であるか否かを判定する。ここで、最終部が現在の処理対象であると判定された場合には、図20の処理を終了する。一方、最終部が現在の処理対象でないと判定された場合には、S2003に進む。
S2003において、CPU201は、印刷データの先頭ページのヘッダの「部構成」を示す情報に基づいて、丁合い印刷であるか否かを判定する。ここで、丁合い印刷でないと判定された場合、S2008に進む。一方、丁合い印刷であると判定された場合、S2004に進む。
S2004において、変数Nが変数tNより大きいか否かに基づいて、現在の処理対象のページが最終ページであるか否かを判定する。変数Nが変数tNより大きいと判定された場合には、即ち、現在の処理対象のページが最終ページであると判定された場合には、変数Nを1にリセットし、変数Bを1インクリメントしてS2002に戻る。変数Nが変数tNより大きくないと判定された場合には、即ち、現在の処理対象のページが最終ページでないと判定された場合には、S2005に進む。
S2005において、CPU201は、現在の処理対象のページの印刷データを作成し、エンジンデータバッファ218に保存する。S2006において、CPU201は、図24に示す給紙処理の指定を行う。S1914と同様に、給紙処理の指定では、図17(c)の余白テーブルに該当ページの余白量が設定されているか否かを参照する。そして、設定された上下余白量が先行シートへの重ね給紙指定に十分な値であるか否かに応じて、通常給紙と先行シートへの重ね給紙とのうちいずれかを指定する。
S2007において、CPU201は、指定された給紙処理により、現在の処理対象のページを印刷する。その後、CPU201は、変数Nを1インクリメントしてS2004に戻る。S2004〜S2007が繰り返されることにより、現在の処理対象の部についての全てのページ(例えば、第1〜3ページ目)に対する印刷が行われる。総部数分について処理が終了すると、その印刷結果は、例えば、1、2、3、1、2、3、1、2、3のようなページ順の丁合い印刷結果となる。
S2003で丁合い印刷でないと判定された場合、CPU201は、RAM等の記憶領域に変数Cを確保して初期値として1を設定し、S2008に進む。S2008において、CPU201は、第Nページ目(現在はN=1)の印刷データを生成し、エンジンデータバッファ218に保存する。
S2009において、CPU201は、変数Cが変数tBより大きいか否かに基づいて、現在の処理対象の部について印刷が終了したか否かを判定する。変数Cが変数tBより大きいと判定された場合、即ち、現在の処理対象の部について印刷が終了したと判定された場合(例えば第1ページ目が3枚印刷された)、CPU201は、変数Nを1インクリメントし、変数Bを1インクリメントしてS2002に戻る。一方、変数Cが変数tBより大きくないと判定された場合、即ち、現在の処理対象の部について印刷が終了していないと判定された場合、S2010に進む。
S2010において、CPU201は、図24に示す給紙処理の指定を行う。S2011において、CPU201は、エンジンデータバッファ218に保存されたエンジンデータに基づいて、第Nページ目(現在はN=1)の印刷を行う。その際には、S2010で指定された給紙処理で給紙が行われる。その後、CPU201は、変数Cを1インクリメントしてS2009に戻る。
S2009〜S2011が繰り返されることにより、現在の処理対象の部についての印刷(例えば、第1ページ目を3枚印刷)が行われる。総部数分について処理が終了すると、その印刷結果は、例えば、1、1、1、2、2、2、3、3、3のようなページ順の印刷結果となる。
図21は、丁合いであるか否かの印刷判定および印刷処理の手順を示すフローチャートである。図21の処理は、印刷データに対して丁合い印刷の指定がされているか否かが印刷データのヘッダに含まれる情報から判断できない場合に実行される。図21の処理では、印刷データのデータ構成を、第1部目の印刷時に判断し、印刷データを丁合い印刷すべきかを判定する。そして、以降の部の印刷も、その判定結果に従って行う。
S2101において、CPU201は、変数Bが変数tBより大きいか否かに基づいて、最終部が現在の処理対象であるか否かを判定する。ここで、最終部が現在の処理対象であると判定された場合には、図21の処理を終了する。一方、最終部が現在の処理対象でないと判定された場合には、S2102に進む。
S2102において、CPU201は、変数Bと変数Nに基づいて、現在の処理対象のページが、第1部目の第1ページ目であるか否かを判定する。ここで、現在の処理対象のページが、第1部目の第1ページ目であると判定された場合にはS2103に進み、第1部目の第1ページ目でないと判定された場合にはS2109に進む。S2103において、CPU201は、印刷する記録シートの給紙方法として通常給紙を指定する。
S2104において、CPU201は、現在の処理対象の1ページ分の印刷が終了したか否かを判定する。ここで、1ページ分の印刷が終了したと判定された場合、変数Nを1インクリメントしてS2101に戻る。1ページ分の印刷が終了していないと判定された場合、S2105に進む。
S2105において、CPU201は、現在の処理対象のページの一部分に相当する部分印刷データを生成してエンジンデータバッファ218に保存する(画像処理)。なお、S2107の処理のために、タブレット101から送信された印刷データは、他の記憶領域に確保しておく。部分印刷データは、例えば、ページ内で予め定められた行単位ごとのデータであっても良い。S2106において、CPU201は、印刷領域に基づいて、図23に示す余白量保存処理を行う。
S2107において、CPU201は、第1部目の第1ページ目の所定部分の特徴情報を取得して保存する。特徴情報の保存とは、次ページの印刷処理において、前ページと同じ内容のページの印刷処理であるか否かを判定するための基準となるデータを抽出して保存する処理である。S2107での保存対象となる所定部分は、図16(b)に示したタブレット101から送信された印刷データの一部分の保存データ領域1602〜1604である。
CPU201は、S2107で保存データ領域1602を保存する際には、位置P2およびサイズSD1も合わせて保存する。また、CPU201は、保存データ領域1603を保存する際には、位置P3およびサイズSD2も合わせて保存する。また、CPU201は、保存データ領域1604を保存する際には、位置P4およびサイズSD3も合わせて保存する。本実施形態では、保存データ領域1602〜1604の3領域を保存しているが、領域数は特に限定されない。また、本実施形態では、印刷領域の最上部、中間部分、最下部の3ヵ所を保存対象としているが、その対象とする部分についても特に限定されない。
S2108において、CPU201は、エンジンデータバッファ218に保存されてエンジンデータに基づいて印刷処理を行う(部分印刷)。その後、S2104に戻る。S2105〜S2108が繰り返されて1ページ分の印刷が行われる。
第1部目の第1ページ目の印刷が終了すると、S2104で変数Nが1インクリメントされてS2101に進む。その場合、S2102では、現在の処理対象のページは、第1部目の第1ページ目でないと判定され、S2109に進む。
S2109において、CPU201は、変数Nが変数tNより大きいか否かに基づいて、現在の処理対象の部における最終ページであるか否かを判定する。
ここで、最終ページであると判定された場合には、第1部目分の印刷データは同じ内容のものであることを意味し、図22に示す丁合いでない印刷処理を実行する。一方、最終ページでないと判定された場合には、S2110に進む。S2110において、CPU201は、印刷する記録シートの給紙方法として通常給紙を指定する。
S2111において、CPU201は、現在の処理対象の1ページ分の印刷が終了したか否かを判定する。ここで、1ページ分の印刷が終了したと判定された場合、変数Nを1インクリメントしてS2109に戻る。1ページ分の印刷が終了していないと判定された場合、S2112に進む。
S2112において、CPU201は、現在の処理対象のページの一部分に相当する部分印刷データを生成してエンジンデータバッファ218に保存する(画像処理)。なお、S2114の処理のために、タブレット101から送信された印刷データは、他の記憶領域に確保しておく。部分印刷データは、例えば、ページ内で予め定められた行単位ごとのデータであっても良い。S2113において、CPU201は、印刷領域に基づいて、図23に示す余白量保存処理を行う。
S2114において、CPU201は、現在の処理対象のページの特徴情報を取得して保存する。S2114での保存対象は、図16(b)に示したタブレット101から送信された印刷データの一部分の保存データ領域1602〜1604である。
S2115において、S2107で保存された第1部目の第1ページ目の特徴情報と、S2114で保存された第Nページ目の特徴情報とを比較する(ページ判定の一例)。S2116において、CPU201は、S2115の比較の結果、印刷内容が同じであると判定された場合、S2111に戻る。一方、印刷内容が同じでないと判定された場合、印刷データは丁合いの構成であると判断し、図19のS1904に進み、丁合い印刷処理を行う。つまり、S2112〜S2116が例えば3回繰り返された後、S2109で最終ページであると判定された場合は、第1ページ目が3枚印刷される、丁合いでない印刷であることを意味する。
以上のように、本実施形態では、第1部目の印刷データに基づいて、タブレット101から送信された印刷データが丁合い印刷の構成であるのか否かが判定される。
図22は、丁合いでない印刷処理の手順を示すフローチャートである。図22の処理は、印刷データが丁合いでない場合に実行される。
S2201において、CPU201は、変数Bが変数tBより大きいか否かに基づいて、最終部が現在の処理対象であるか否かを判定する。ここで、最終部が現在の処理対象であると判定された場合には、図22の処理を終了する。一方、最終部が現在の処理対象でないと判定された場合には、S2202に進む。
S2202において、CPU201は、現在の処理対象の部の第1ページ目であるか否かを判定する。ここで、第1ページ目であると判定された場合、S2203に進み、第1ページ目でないと判定された場合、S2208に進む。
S2203において、CPU201は、印刷する用紙の給紙方法として通常給紙を指定する。S2204において、CPU201は、現在の処理対象の1ページ分の印刷が終了したか否かを判定する。ここで、1ページ分の印刷が終了したと判定された場合、変数Nを1インクリメントしてS2201に戻る。1ページ分の印刷が終了していないと判定された場合、S2205に進む。
S2205において、CPU201は、現在の処理対象のページの一部分に相当する部分印刷データを生成してエンジンデータバッファ218に保存する(画像処理)。部分印刷データは、例えば、ページ内で予め定められた行単位ごとのデータであっても良い。S2206において、CPU201は、印刷領域に基づいて、図23に示す余白量保存処理を行う。
S2207において、CPU201は、画像処理が行われエンジンデータバッファ218に保存されたエンジンデータの、給紙された記録シートに対する印刷処理を行い、S2204へ戻る。S2205〜S2207の処理が繰り返されることにより、現在の処理対象のページについての印刷が行われる。
S2202で現在の処理対象の部の第1ページ目でないと判定された場合、S2208に進む。S2208において、CPU201は、変数Nが変数tNより大きいか否かに基づいて、現在の処理対象の部における最終ページであるか否かを判定する。ここで、最終ページであると判定された場合には、変数Nを1にリセットし、変数Bを1インクリメントしてS2201に戻る。一方、最終ページでないと判定された場合には、S2209に進む。
S2209において、CPU201は、現在の処理対象のページの一部分に相当する部分印刷データを生成する。S2210において、CPU201は、印刷する用紙の給紙方法を指定するために、図24に示す給紙処理の指定を行い、現在の処理対象のページについての記録シートの給紙方法を指定する。
S2211において、CPU201は、本処理対象のページ内の、S2209で生成されたエンジンデータ以降のエンジンデータを生成し、給紙された記録シートに対する印刷処理を行って、現在の処理対象のページの印刷を終了する。CPU201は、変数Nを1インクリメントし、その後、S2208に戻る。S2209〜S2211が繰り返されることにより、現在の処理対象の部についての全てのページ(例えば、第1ページ目を3枚印刷)に対する印刷が行われる。
図23は、余白保存処理の手順を示すフローチャートである。図23の処理は、余白を保存する必要がある時点で上記各フローチャート中で呼び出され、画像処理の経過に従って適切な上下余白量を保存する。
S2301において、CPU201は、ページデータの先頭から画像解析していく中で、印刷対象の画像がない余白部分を検出し、印刷領域までに検出された先頭余白領域があるか否かを判定する。余白領域は、ライン数や画素数等で表される。先頭余白領域があると判定された場合にはS2303に進み、ないと判定された場合にはS2302に進む。S2303において、CPU201は、先頭余白領域の余白量を図17(c)の余白テーブルに格納し、図23の処理を終了する。
S2302において、CPU201は、印刷領域に後続して画像解析していく中で、印刷対象の画像がない余白部分を検出し、ページデータの後端までに検出された後端余白領域があるか否かを判定する。後端余白領域があると判定された場合にはS2304に進み、ないと判定された場合には図23の処理を終了する。S2304において、CPU201は、後端余白領域の余白量を図17(c)の余白テーブルに格納し、図23の処理を終了する。
図24は、給紙処理の指定の手順を示すフローチャートである。図24に示す処理では、記録シートの給紙処理において、先行シートに後続シートを一部重ねる重ね給紙を行うか、若しくは、先行シートと後続シートとを重ねずに通常給紙を行うかを指定する。
S2401において、CPU201は、給紙を実行するタイミングであるか否かを判定する。ここで、給紙を実行するタイミングでないと判定された場合には、図24の処理を終了する。給紙を実行するタイミングであると判定された場合には、S2402に進む。
S2402において、CPU201は、図17(c)の余白テーブルの該当するページについて閾値以上のサイズの余白量が格納されているか否かを判定する(余白判定の一例)。ここで、閾値以上のサイズの余白量が格納されていないと判定された場合には、S2403において、CPU201は、給紙方法として通常給紙を指定し、その後、図24の処理を終了する。一方、閾値以上のサイズの余白量が格納されていると判定された場合には、S2404において、CPU201は、給紙方法として先行シートへの重ね給紙を指定し、その後、図24の処理を終了する。
本実施形態では、図21でページの特徴情報の違いを判断するためのデータとして、タブレット101から送信される印刷データを複数領域分保存し、それらの比較を行った。しかしながら、タブレット101からの印刷データではなく、図16(c)、図17(a)、図17(b)に示すような、プリントエンジン208で印刷する際に使用されるエンジンデータを比較用のデータとしても良い。その場合には、印刷データがエンジンデータに変換された後に、エンジンデータバッファ218に保存されているエンジンデータの所定の一部の領域(先頭部分、中間部分、後端部分)が、ページの特徴情報の違いを検出するために用いられる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。