(57)【特許請求の範囲】
【請求項１】
複数のページを含む印刷データに基づき印刷する印刷手段と、
前記印刷手段が外部から１ページずつ逐次、受信して印刷する場合に、
前記印刷手段により複数部数の印刷を行う場合の１部あたりのページ数を取得する取得手段と、
前記取得手段により前記１部あたりのページ数を取得すると、当該ページ数分の各ページ内の印刷領域の所定部分のデータを抽出する抽出手段と、
前記抽出手段により抽出された前記所定部分のデータが、各ページについて相互に同じであるか否かを判定するページ判定手段と、
前記ページ判定手段により同じであると判定された場合に、前記印刷データの印刷は、丁合い印刷でないと判定し、同じでないと判定された場合に、前記印刷データの印刷は、丁合い印刷であると判定する印刷判定手段と、
前記１部あたりのページ数分のページそれぞれの余白サイズを取得する第２の取得手段と、
前記第２の取得手段により取得された余白サイズに基づいて、２部目以降の各ページの印刷で印刷用紙を給紙する際に、先行と後続の印刷用紙を互いに一部重ねて搬送するよう給紙動作を制御する給紙制御手段と、
を備えることを特徴とする印刷装置。
【請求項２】
前記取得手段は、前記印刷データのヘッダ情報から、前記１部あたりのページ数を取得することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記抽出手段は、各ページ内の印刷領域の先頭部分、中間部分、後端部分のうち少なくともいずれかを抽出することを特徴とする請求項１又は２に記載の印刷装置。
【請求項４】
前記ページ判定手段は、前記１部あたりのページ数分のページのうち最初のページの前記所定部分のデータと、他の各ページの前記所定部分のデータとを比較することを特徴とする請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項５】
前記第２の取得手段により取得された前記余白サイズが閾値より大きいか否かを判定する余白判定手段、をさらに備え、
前記余白判定手段により前記余白サイズが前記閾値より大きいと判定された場合に、前記給紙制御手段は、先行と後続の印刷用紙を互いに一部重ねて搬送するよう給紙動作を制御する、ことを特徴とする請求項１乃至４のいずれか１項に記載の印刷装置。
【請求項６】
前記余白サイズは、前記１部あたりのページ数分のページそれぞれの搬送方向先頭の余白長と後端の余白長のうち少なくともいずれかであることを特徴とする請求項１乃至５のいずれか１項に記載の印刷装置。
【請求項７】
前記印刷装置が１部数分のページを保持可能な記憶部を備えているか否かに基づいて、前記印刷手段が外部から１ページずつ逐次、受信して印刷するか否かを判定する印刷判定手段、をさらに備え、
前記印刷判定手段は、前記印刷装置が前記記憶部を備えていない場合に、前記印刷手段が外部から１ページずつ逐次、受信して印刷すると判定することを特徴とする請求項１乃至６のいずれか１項に記載の印刷装置。
【請求項８】
印刷装置において実行される印刷方法であって、
複数のページを含む印刷データに基づき印刷する前記印刷装置が外部から１ページずつ逐次、受信して印刷する場合に、
前記印刷装置により複数部数の印刷を行う場合の１部あたりのページ数を取得する取得工程と、
前記取得工程において前記１部あたりのページ数を取得すると、当該ページ数分の各ページ内の印刷領域の所定部分のデータを抽出する抽出工程と、
前記抽出工程において抽出された前記所定部分のデータが、各ページについて相互に同じであるか否かを判定するページ判定工程と、
前記ページ判定工程において同じであると判定された場合に、前記印刷データの印刷は、丁合い印刷でないと判定し、同じでないと判定された場合に、前記印刷データの印刷は、丁合い印刷であると判定する印刷判定工程と、
前記１部あたりのページ数分のページそれぞれの余白サイズを取得する第２の取得工程と、
前記第２の取得工程において取得された余白サイズに基づいて、２部目以降の各ページの印刷で印刷用紙を給紙する際に、先行と後続の印刷用紙を互いに一部重ねて搬送するよう給紙動作を制御する給紙制御工程と、
を有することを特徴とする印刷方法。
【請求項９】
請求項８の印刷方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データに基づいて記録媒体に印刷する印刷装置、印刷方法およびプログラムに関する。
【背景技術】
【０００２】
複数部数を大量に印刷する場合には、印刷に要するトータル時間を削減することで生産性を上げ、コストを抑えることが求められる。印刷時間を削減する方法として、例えば、現在の印刷物と次の印刷物の給紙の開始時間を早めることによりトータルの印刷時間を削減する方法がある。
【０００３】
上記の複数部数のページ構成として１、２、３、１、２、３、１、２、３のようなページの印刷順で印刷が行われる丁合い印刷と、１、１、１、２、２、２、３、３、３のページの印刷順で印刷される丁合いでない印刷とが行われる場合がある。ホスト装置は、丁合い印刷を行う場合、ホスト装置内で保存されている印刷データの内容を解析して、コレート（丁合い）であるか否かを判断する（特許文献１）。一方、画像形成装置（以下、印刷装置）は、１部分の印刷データ、例えば１、２、３のページをホスト装置から受信して印刷装置内に保存可能である場合、ホスト装置からの丁合い印刷の通知により、複数部数を印刷することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１９２３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、印刷装置には、バッファメモリの容量上、ホスト装置から送信される１部分の印刷データを全て保存できないものがある。そのような印刷装置は、ホスト装置から送信される印刷データを逐次印刷するように構成されている。逐次印刷する印刷装置に対して、ホスト装置は、印刷データを全て作成し、丁合い印刷ならば、例えば１、２、３、１、２、３、１、２、３の印刷データを印刷装置に送信する。また、丁合い印刷でなければ、ホスト装置は、例えば１、１、１、２、２、２、３、３、３の印刷データを作成し、印刷装置に送信する。そのような印刷装置には、特許文献１で記載されているホスト装置内の印刷データを解析する方法は適用できない。
【０００６】
つまり、上記のような場合、印刷装置は、丁合いか否かのページ構成を予め認識しておくことができず、ページ構成に応じた適切な印刷を行うことができない。
【０００７】
本発明の目的は、このような従来の問題点を解決することにある。本発明は、上記の点に鑑み、外部から印刷データを逐次、受信して印刷する場合に、ページ構成を認識することができる印刷装置、印刷方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る印刷装置は、複数のページを含む印刷データに基づき印刷する印刷手段と、前記印刷手段が外部から１ページずつ逐次、受信して印刷する場合に、前記印刷手段により複数部数の印刷を行う場合の１部あたりのページ数を取得する取得手段と、前記取得手段により前記１部あたりのページ数を取得すると、当該ページ数分の各ページ内の印刷領域の所定部分のデータを抽出する抽出手段と、前記抽出手段により抽出された前記所定部分のデータが、各ページについて相互に同じであるか否かを判定するページ判定手段と、前記ページ判定手段により同じであると判定された場合に、前記印刷データの印刷は、丁合い印刷でないと判定し、同じでないと判定された場合に、前記印刷データの印刷は、丁合い印刷であると判定する印刷判定手段と、前記１部あたりのページ数分のページそれぞれの余白サイズを取得する第２の取得手段と、前記第２の取得手段により取得された余白サイズに基づいて、２部目以降の各ページの印刷で印刷用紙を給紙する際に、先行と後続の印刷用紙を互いに一部重ねて搬送するよう給紙動作を制御する給紙制御手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、外部から印刷データを逐次、受信して印刷する場合に、ページ構成を認識することができる。
【図面の簡単な説明】
【００１０】
【図１】印刷システムの構成を示す図である。
【図２】画像形成装置内部の構成を示す図である。
【図３】プリントエンジンの構成を示す図である。
【図４】重ね連送の動作を説明するための図である。
【図５】重ね連送の動作を説明するための図である。
【図６】重ね連送の動作を説明するための図である。
【図７】ピックアップローラの構成を示す図である。
【図８】重ね連送動作の処理を示すフローチャートである。
【図９】先行シートと後続シートの搬送動作を説明するための図である。
【図１０】先行シートと後続シートの搬送動作を説明するための図である。
【図１１】先行シートと後続シートの搬送動作を説明するための図である。
【図１２】後続シートの斜行矯正動作を行う際の判定処理を示すフローチャートである。
【図１３】印刷を指示するためのメニュー画面を示す図である。
【図１４】印刷データを示す図である。
【図１５】印刷データの詳細な構成を示す図である。
【図１６】ページデータの構成を示す図である。
【図１７】保存データ領域及び余白テーブルを示す図である。
【図１８】印刷処理の手順を示すフローチャートである。
【図１９】複数部数の印刷処理を示すフローチャートである。
【図２０】ページバッファを有する場合の印刷処理を示すフローチャートである。
【図２１】印刷判定および印刷処理の手順を示すフローチャートである。
【図２２】丁合いでない印刷処理の手順を示すフローチャートである。
【図２３】余白保存処理の手順を示すフローチャートである。
【図２４】給紙制御処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１２】
［印刷システム及び装置の構成］
図１は、印刷システムの構成を示す図である。印刷システム１００は、タブレット１０１と、アクセスポイント１０２と、画像形成装置（印刷装置）１０３とを含む。タブレット１０１は、画像形成装置１０３に印刷させるホスト装置としての一例であり、汎用的なＰＣであっても良い。画像形成装置１０３は、タブレット１０１から受信した印刷データに基づいて、印刷用紙等の記録媒体に記録を行う。画像形成装置１０３は、例えば、電子写真方式やインクジェット記録方式により、記録媒体への記録を行う。また、画像形成装置１０３は、印刷機能の他、スキャン機能やファクス機能等が一体化されたいわゆる複合機（ＭＦＰ：Ｍｕｌｔｉｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ）であっても良い。
【００１３】
図１においては、タブレット１０１と画像形成装置１０３とは、無線ネットワークで相互に通信可能に接続されている。タブレット１０１は、ユーザが指定したテキストや画像に基づいて画像形成装置１０３が印刷可能な印刷データを生成し、画像形成装置１０３に送信する機能を有している。タブレット１０１は無線ＬＡＮでアクセスポイント１０２と接続し、タブレット１０１からの印刷データは、アクセスポイント１０２を経由して、画像形成装置１０３へ送信される。画像形成装置１０３も同様に、無線ＬＡＮでアクセスポイント１０２と接続し、タブレット１０１から送信された印刷データを受信することができる。
【００１４】
画像形成装置１０３は、タブレット１０１から送信される印刷データを一旦全てハードディスク等の記憶装置に保存し、保存した印刷データに基づいて印刷を実行する場合がある。そのような画像形成装置１０３は、高価で高機能な機種である場合が多い。そのような機種の画像形成装置１０３は、タブレット１０１から１部分に相当する印刷データを受信することで、複数部数の印刷が実行可能である。従って、タブレット１０１は、複数部数分の全ての印刷データを生成する必要はない。
【００１５】
一方、画像形成装置１０３は、上記の記憶装置を有さず、タブレット１０１から送信されてくる印刷データを逐次印刷する場合がある。比較的低価格な画像形成装置ではこの方式を採用している場合が多い。逐次印刷を行う画像形成装置１０３で複数部数の印刷を行う場合には、タブレット１０１は、複数部数分の全ての印刷データを生成して画像形成装置１０３へ送信する必要がある。
【００１６】
図１では、各装置が無線ネットワークを介して接続されているが、例えば、タブレット１０１が汎用的なＰＣである場合には、アクセスポイント１０２がなく、ホスト装置と画像形成装置１０３とが有線ネットワークを介して接続される構成でも良い。
【００１７】
図２は、画像形成装置１０３内部の構成を示す図である。ＣＰＵ２０１は、装置の基本制御等に係るプログラムが記憶されたＲＯＭ２０２に従って、画像形成装置１０３全体を統括的に制御する。制御ＲＯＭ２０６は、外部とのインタフェース（ＩＦ）を制御するＩＦ制御部２１０、印刷データを制御するジョブ制御部２１１、に係るプログラムを記憶する。また、制御ＲＯＭ２０６は、タブレット１０１から送信された印刷データをプリントエンジン２０８で印刷可能なデータに変換する画像処理制御部２１２、に係るプログラムを記憶する。また、制御ＲＯＭ２０６は、プリントエンジン２０８を制御して印刷を行うエンジン制御部２１３、ユーザとの操作や表示を行うユーザインタフェース（ＵＩ）制御を行うＵＩ制御部２１４、に係るプログラムを記憶する。
【００１８】
ＲＡＭ２０７は、制御ＲＯＭ２０６から読み出されたプログラムを実行する時のワークエリアとして用いられる。また、ＲＡＭ２０７は、データ送受信時の入力データバッファ２１５、画像処理制御部２１２が生成した画像データを保存する画像処理バッファ２１７、各エンジンで使われるエンジンデータを保存するエンジンデータバッファ２１８を有する。また、ＲＡＭ２０７は、印刷データの制御のためのジョブ制御データ２１６、印刷用の記録シートの給紙動作を制御する場合に使用される各ページの先端余白量及び後端余白量を保存する余白テーブル２１９を記憶する。
【００１９】
無線ネットワークコントローラ２０５は、無線ネットワークを介して、タブレット１０１から、印刷を実行するためのコマンド（印刷データ等）の送受信を行う。また、無線ネットワークコントローラ２０５は、スキャナで読み取った読取データを外部へ送信可能である。無線ネットワークコントローラ２０５は、無線ネットワーク通信を行うための通信モジュールとアンテナから構成されている。本実施形態では、印刷サービスやスキャンサービスの提供のために、通信プロトコルとして、印刷・スキャンサービスが実現可能なＩＰＰ（インターネット・プリントプロトコル）が用いられる。ＩＰＰで使用される通信プロトコル方式、並びに、印刷サービス・スキャンサービスに関する要求形態と応答形態は、標準規格として定められている。
【００２０】
制御ＲＯＭ２０６のＩＦ制御部２１０には、ＩＰＰ通信プロトコル・印刷サービスに従って、通信を行うプログラムが書き込まれている。ジョブ制御部２１１には、タブレット１０１から送信される印刷データ（コマンド）を処理するプログラムが書き込まれている。画像処理制御部２１２には、タブレット１０１から送信された印刷データをそのデータフォーマットに従って解析し、プリントエンジン２０８で印刷するためのエンジンデータに変換するためのプログラムが書き込まれている。このデータ変換処理はレンダリングといわれる。エンジン制御部２１３には、画像処理制御部２１２で変換されたエンジンデータを、プリントエンジン２０８を用いて印刷を実行させるためのプログラムが書き込まれている。ＵＩ制御部２１４は、操作部２０３上のユーザ操作を検知し、その操作に従った処理を行う。また、ＵＩ制御部２１４には、ユーザに通知するメッセージを表示部２０４に表示するためのプログラムが書き込まれている。表示部２０４は、装置情報やジョブ情報等をユーザに通知又は表示するためのものであり、ＬＣＤやＬＥＤ等から構成される。ユーザに通知又は表示する情報には、例えば、状態情報（印刷中・スキャニング状態、アイドル状態等）や、操作部２０３上のユーザ操作に連動したユーザインタフェース画面などがある。プリントエンジン２０８は、印刷処理を行うためのモジュールであり、プリントコントローラと、記録ヘッドやドラム等の印刷機構を含む。スキャンエンジン２０９は、スキャンを行うためのモジュールであり、スキャンコントローラと、イメージセンサや光学キャリッジ等のスキャナ機構を含む。
【００２１】
図３は、図２のプリントエンジン２０８の構成を示す図である。記録ヘッドドライバ３０１は、記録ヘッド３０５からのインク滴の吐出等、記録動作を制御する。キャリッジモータドライバ３０２は、キャリッジを動作させるキャリッジモータ３０６の駆動を制御する。搬送モータドライバ３０３は、搬送モータ３０７の駆動を制御する。搬送モータ３０７は、搬送ローラ４０６及び排出ローラ４１１を駆動する。給送モータドライバ３０４は、給送モータ３０８の駆動を制御する。給送モータ３０８は、ピックアップローラ４０３及び給送ローラ４０４を駆動する。
【００２２】
［重ね連送］
図４は、重ね連送の動作を説明するための図である。最初に、図４（ａ）を参照しながら、重ね連送に係る構成を説明する。
【００２３】
複数枚の記録シート４０１は、給送トレイ４０２に積載されている。ピックアップローラ４０３は、給送トレイ４０２に積載された最上位の記録シート４０１に当接して、記録シート４０１をピックアップする。給送ローラ４０４は、ピックアップローラ４０３によりピックアップされた記録シート４０１を、シート搬送方向の下流側へ給送する。給送従動ローラ４０５は、給送ローラ４０４へ付勢され、給送ローラ４０４とともに記録シート４０１を挟持して給送する。
【００２４】
搬送ローラ４０６は、給送ローラ４０４及び給送従動ローラ４０５により給送された記録シート４０１を記録ヘッド４０７に対向する位置へ搬送する。ピンチローラ４０８は、搬送ローラ４０６へ付勢され、搬送ローラ４０６とともに記録シート４０１を挟持して搬送する。
【００２５】
記録ヘッド４０７は、搬送ローラ４０６及びピンチローラ４０８により搬送された記録シート４０１に対して記録を行う。本実施形態では、記録ヘッド４０７は、インク滴をノズルから吐出して記録シート４０１に記録を行うインクジェット記録方式の記録ヘッドである。プラテン４０９は、記録ヘッド４０７と対向する位置で記録シート４０１の裏面を支持する。キャリッジ４１０は、記録ヘッド４０７を搭載してシート搬送方向（副走査方向）と交差する方向（主走査方向）へ往復可能に移動する。
【００２６】
排出ローラ４１１は、記録ヘッド４０７により記録が行われた記録シート４０１を装置外に排出する。拍車４１２及び４１３は、記録ヘッド４０７により記録が行われた記録シート４０１の記録面と接触して回転する。拍車４１２は、排出ローラ４１１へ付勢されており、一方、拍車４１３は、対向する位置に排出ローラ４１１が配置されていない。拍車４１３は、記録シート４０１の浮き上がりを防止するためのものであり、押え拍車ともいう。
【００２７】
給送ローラ４０４及び給送従動ローラ４０５で形成される給送ニップ部と、搬送ローラ４０６及びピンチローラ４０８で形成される搬送ニップ部との間で、搬送ガイド４１４によって記録シート４０１が案内される。シート検知センサ４１５は、記録シート４０１の先端及び後端を検知する。シート検知センサ４１５は、シート搬送方向において給送ローラ４０４の下流に設けられている。シート押えレバー４１６は、後続シートの先端部の余白を先行シートの後端部の余白に重ね合わせるためのレバーである。シート押えレバー４１６は、図中時計回り方向にバネにより付勢されている。
【００２８】
図７は、ピックアップローラ４０３の構成を示す図である。ピックアップローラ４０３は、給送トレイ４０２に積載されている最上位の記録シート４０１に当接して、記録シートをピックアップする。駆動軸７００は、給送モータ３０８の駆動をピックアップローラ４０３に伝達する。記録シート４０１をピックアップするときに、駆動軸７００及びピックアップローラ４０３は、図中矢印方向に回転する。駆動軸７００には、突起７０１が設けられている。ピックアップローラ４０３には、突起７０１が嵌まり込む凹部が形成されている。図７（ａ）に示すように、突起７０１がピックアップローラ４０３の凹部の第１の面７０２に当接している場合は、駆動軸７００の駆動がピックアップローラ４０３に伝達し、駆動軸７００を駆動するとピックアップローラ４０３も駆動する。一方、図７（ｂ）に示すように、突起７０１がピックアップローラ４０３の凹部の第２の面７０３に当接している場合は、駆動軸７００の駆動がピックアップローラ４０３に伝達されず、駆動軸７００を駆動してもピックアップローラ４０３は駆動しない。突起７０１が第１の面７０２及び第２の面７０３のいずれにも当接せず、第１の面７０２と第２の面７０３の間θにある場合にも、駆動軸７００を駆動してもピックアップローラ４０３は駆動しない。
【００２９】
図４〜図６を参照しながら、プリントエンジンの印刷動作、特に、重ね連送の給紙動作の給紙制御を時系列に説明する。タブレット１０１等、外部装置から無線ネットワークコントローラ２０５を介して印刷データが送信されると、ＣＰＵ２０１は、印刷データに基づいて記録動作を開始する。
【００３０】
図４（ａ）を参照する。最初に、給送モータドライバ３０４は、給送モータ３０８を低速駆動する。その結果、例えば、ピックアップローラ４０３は、７．６ｉｎｃｈ／ｓｅｃで回転する。ピックアップローラ４０３が回転すると、給送トレイ４０２に積載された最上位の記録シート４０１（先行シートＡ）がピックアップされる。ピックアップローラ４０３によりピックアップされた先行シートＡは、ピックアップローラ４０３と同方向に回転している給送ローラ４０４により搬送される。ここで、給送ローラ４０４も、給送モータ３０８により駆動される。
【００３１】
給送ローラ４０４の下流側に設けられたシート検知センサ４１５により、先行シートＡの先端が検知されると、給送モータドライバ３０４は、給送モータ３０８を高速駆動に切り替える。その結果、例えば、ピックアップローラ４０３及び給送ローラ４０４は、１２ｉｎｃｈ／ｓｅｃで回転する。
【００３２】
図４（ｂ）を参照する。給送ローラ４０４を回転し続けることにより、先行シートＡの先端は、シート押えレバー４１６を時計回り方向に回転させる。さらに、給送ローラ４０４を回転し続けると、先行シートＡの先端は、搬送ローラ４０６とピンチローラ４０８で形成される搬送ニップ部に突き当たる。このとき、搬送ローラ４０６は、停止状態である。先行シートＡの先端が搬送ニップ部に突き当たった後も、給送ローラ４０４を所定量回転させることにより、先行シートＡの先端が搬送ニップ部に突き当たった状態で、記録シートは整列し、その結果、斜行が矯正される。斜行矯正動作をレジ取り動作ともいう。
【００３３】
図４（ｃ）を参照する。先行シートＡの斜行矯正動作が終了すると、搬送モータドライバ３０３は、搬送モータ３０７を駆動する。その結果、搬送ローラ４０６が回転を開始する。例えば、搬送ローラ４０６は、１５ｉｎｃｈ／ｓｅｃで先行シートＡを搬送する。先行シートＡに対して、記録ヘッド４０７と対向する位置まで頭出しされた後に、記録データに基づいて記録ヘッド４０７からのインク滴の吐出により記録動作が行われる。
【００３４】
画像形成装置１０３は、記録ヘッド４０７がキャリッジ４１０に搭載され、主走査方向に往復移動可能なシリアルタイプの画像形成装置である。搬送ローラ４０６により記録シート４０１を所定量ずつ間欠搬送する搬送動作と、搬送ローラ４０６が停止しているときに記録ヘッド４０７を搭載したキャリッジ４１０を移動させながら、記録ヘッド４０７からインク滴を吐出する画像形成動作と、を繰り返す。その構成により、記録シート４０１に対する記録動作が行われる。
【００３５】
先行シートＡが頭出しされると、給送モータドライバ３０４は、給送モータ３０８を低速駆動に切り替える。その結果、例えば、ピックアップローラ４０３及び給送ローラ４０４は、７．６ｉｎｃｈ／ｓｅｃで回転する。搬送ローラ４０６により記録シートを所定量ずつ間欠搬送しているときには、給送モータ３０８により給送ローラ４０４も間欠駆動される。つまり、搬送ローラ４０６が回転しているときには給送ローラ４０４も回転し、搬送ローラ３６が停止しているときには給送ローラ４０４も停止する。ここで、搬送ローラ４０６の回転速度に対して、給送ローラ４０４及びピックアップローラ４０３の回転速度が小さくなるので、搬送ローラ４０６と給送ローラ４０４の間で、記録シートは張った状態になる。また、給送ローラ４０４は、搬送ローラ４０６により搬送される記録シートにより連れ回りさせられる。
【００３６】
給送モータ３０８により給送ローラ４０４が間欠的に駆動されると、駆動軸７００も駆動される。ピックアップローラ４０３の回転速度は、搬送ローラ４０６の回転速度よりも小さくなっている。そのため、ピックアップローラ４０３は、搬送ローラ４０６で搬送される記録シートにより連れ回りさせられる。即ち、ピックアップローラ４０３は、駆動軸７００に対して先回りした状態となる。具体的には、駆動軸７００の突起７０１は、第１の面７０２から離間して第２の面７０３に当接した状態となる。その結果、先行シートＡの後端がピックアップローラ４０３を通過しても、２枚目の記録シート４０１（後続シートＢ）は、すぐにはピックアップされない。駆動軸７００が所定時間（θに対応する時間）駆動されると、突起７０１が第１の面７０２と当接するようになり、ピックアップローラ４０３が回転を開始する。
【００３７】
図５（ａ）を参照する。図５（ａ）は、ピックアップローラ４０３が回転を開始し、後続シートＢをピックアップした状態を示す。シート検知センサ４１５の記録シート４０１の端部を検知する応答性等の要因により、記録シート４０１間に所定距離以上の搬送間隔が必要である。本実施形態では、シート検知センサ４１５により先行シートＡの後端を検知した後、後続シートＢの先端を検知するまでに所定の搬送間隔を確保するために、ピックアップローラ４０３の凹部は、約７０度に設定されている。
【００３８】
図５（ｂ）を参照する。ピックアップローラ４０３によりピックアップされた後続シートＢは、給送ローラ４０４により搬送される。このとき、先行シートＡに対して、記録データに基づき記録ヘッド４０７により画像形成動作が行われている。シート検知センサ４１５により後続シートＢの先端が検知されると、給送モータ３０８を高速駆動に切り替える。その結果、例えば、ピックアップローラ４０３及び給送ローラ４０４は、１２ｉｎｃｈ／ｓｅｃで回転する。
【００３９】
図５（ｃ）を参照する。先行シートＡの後端部は、シート押えレバー４１６により下方に押し下げられている。記録ヘッド４０７による記録動作により先行シートＡが下流に移動する速度に対して後続シートＢを高速に移動させることにより、先行シートＡの後端部の上に後続シートＢの先端部が重なった状態を形成することができる。先行シートＡは、記録データに基づき記録動作が行われ、搬送ローラ４０６により間欠搬送されている。一方、後続シートＢは、シート検知センサ４１５により先端が検知された後、給送ローラ４０４が１２ｉｎｃｈ／ｓｅｃで連続的に回転しているので、先行シートＡに追いつくことができる。
【００４０】
図６（ａ）を参照する。先行シートＡの後端部の上に後続シートＢの先端部が重なった重なり状態が形成された後、後続シートＢは、先端が搬送ニップ部の上流の所定位置で停止するまで給送ローラ４０４により搬送される。後続シートＢの先端の位置は、シート検知センサ４１５の検知結果に基づき制御される。このとき、先行シートＡに対しては、記録データに基づき記録ヘッド４０７により画像形成動作が行われている。
【００４１】
図６（ｂ）を参照する。先行シートＡの最終行の画像形成動作（インク吐出動作）を行うために搬送ローラ４０６が停止しているときに、給送ローラ４０４を駆動することによって後続シートＢの先端を搬送ニップ部に突き当てることにより、後続シートＢの斜行矯正動作が行われる。
【００４２】
図６（ｃ）を参照する。先行シートＡの最終行の画像形成動作が終了すると、搬送ローラ４０６を所定量回転させることにより先行シートＡの上に後続シートＢが重なった状態を維持して、後続シートＢの頭出しを行うことができる。その後、後続シートＢに対して、記録データに基づき記録ヘッド３８により記録動作が行われる。後続シートＢが記録動作のために間欠搬送されると、先行シートＡも間欠搬送され、やがて、先行シートＡは、排出ローラ４１１により画像形成装置１０３外に排出される。
【００４３】
後続シートＢが頭出しされると、給送モータドライバ３０４は、給送モータ３０８を低速駆動に切り替える。その結果、例えば、ピックアップローラ４０３及び給送ローラ４０４は、７．６ｉｎｃｈ／ｓｅｃで回転する。後続シートＢに後続する記録データがある場合は、図５（ａ）に戻り、３枚目のピックアップ動作が行われる。
【００４４】
図８は、重ね連送動作の処理を示すフローチャートである。図８に示す処理は、例えば、ＣＰＵ２０１がＲＯＭ２０２からプログラムを読み出して実行することにより実現される。
【００４５】
Ｓ８０１において、ＣＰＵ２０１は、無線ネットワークコントローラ２０５を介してタブレット１０１等の外部装置から印刷データが送信されると記録動作を開始する。Ｓ８０２において、ＣＰＵ２０１は、先行シートＡの給送動作を開始する。具体的には、給送モータドライバ３０４は、給送モータ３０８を低速駆動する。その結果、例えば、ピックアップローラ４０３は、７．６ｉｎｃｈ／ｓｅｃで回転する。ピックアップローラ４０３により先行シートＡは、ピックアップされ、給送ローラ４０４により記録ヘッド４０７へ給送される。
【００４６】
Ｓ８０３において、ＣＰＵ２０１は、シート検知センサ４１５の検知信号により、先行シートＡの先端を検知したか否かを判定する。ここで、先行シートＡの先端を検知したと判定された場合、Ｓ８０４において、ＣＰＵ２０１は、給送モータドライバ３０４が給送モータ３０８を高速駆動するよう制御する。その結果、例えば、ピックアップローラ４０３及び給送ローラ４０４は、１２ｉｎｃｈ／ｓｅｃで回転する。一方、先行シートＡの先端を検知していないと判定された場合、Ｓ８０３の処理を繰り返す。
【００４７】
Ｓ８０５において、ＣＰＵ２０１は、シート検知センサ４１５により先行シートＡの先端が検知された後の給送ローラ４０４の回転量を制御することにより、先行シートＡの先端を搬送ニップ部に突き当てることにより先行シートＡの斜行矯正動作を行う。
【００４８】
Ｓ８０６において、ＣＰＵ２０１は、記録データに基づき先行シートＡを頭出しする。Ｓ８０７において、ＣＰＵ２０１は、給送モータドライバ３０４が給送モータ３０８を低速駆動するよう制御する。Ｓ８０８において、ＣＰＵ２０１は、先行シートＡに対して、記録ヘッド４０７からインク滴を吐出することにより記録動作を開始する。具体的には、搬送ローラ４０６により先行シートＡを間欠搬送する搬送動作と、キャリッジ４１０を往復移動させて記録ヘッド４０７からインク滴を吐出する画像形成動作（インク吐出動作）とを繰り返すことによって、先行シートＡに対する記録動作を行う。ＣＰＵ２０１は、搬送ローラ４０６により先行シートＡを間欠搬送する動作と同期して、給送モータドライバ３０４が給送モータ３０８を間欠的に低速駆動するよう制御する。その結果、例えば、ピックアップローラ４０３及び給送ローラ４０４は、７．６ｉｎｃｈ／ｓｅｃで間欠的に回転する。
【００４９】
Ｓ８０９において、ＣＰＵ２０１は、先行シートＡに後続する次ページの印刷データがあるか否かを判定する。ここで、次ページの印刷データがないと判定された場合にはＳ８２５に進む。Ｓ８２５において、ＣＰＵ２０１は、先行シートＡに対する記録動作が完了したか否かを判定する。ここで、先行シートＡに対する記録動作が完了したと判定された場合には、Ｓ８２６において、ＣＰＵ２０１は、先行シートＡの排出制御を行い、Ｓ８２４において、図８の処理を終了する。一方、記録動作が完了していないと判定された場合には、Ｓ８２５の処理を繰り返す。
【００５０】
Ｓ８０９で次ページの印刷データがあると判定された場合には、Ｓ８１０において、ＣＰＵ２０１は、後続シートＢの給送動作を開始する。具体的には、ＣＰＵ２０１は、ピックアップローラ４０３が後続シートＢをピックアップし、給送ローラ４０４が後続シートＢを記録ヘッド４０７へ給送するよう制御する。その際、例えば、ピックアップローラ４０３は、７．６ｉｎｃｈ／ｓｅｃで回転する。ここで、前述のように、駆動軸７００の突起７０１に対してピックアップローラ４０３の凹部が大きく設けられているので、先行シートＡと後続シートＢとの間には所定の搬送間隔が設けられる。
【００５１】
Ｓ８１１において、ＣＰＵ２０１は、シート検知センサ４１５の検知信号により、後続シートＢの先端を検知したか否かを判定する。ここで、後続シートＢの先端を検知したと判定された場合には、Ｓ８１２において、ＣＰＵ２０１は、給送モータドライバ３０４が給送モータ３０８を高速駆動するよう制御する。その結果、例えば、ピックアップローラ４０３及び給送ローラ４０４は、１２ｉｎｃｈ／ｓｅｃで回転する。一方、後続シートＢの先端を検知していないと判定された場合には、Ｓ８１１の処理を繰り返す。
【００５２】
Ｓ８１３において、ＣＰＵ２０１は、後続シートＢの先端が検知された後の給送ローラ４０４の回転量を制御することにより、後続シートＢの先端が搬送ニップ部の所定量手前に位置するように後続シートＢの搬送を制御する。ここで、先行シートＡは、記録データに基づき間欠搬送されている。一方、ＣＰＵ２０１が給送モータ３０８を連続的に高速駆動することにより、先行シートＡの後端部の上に後続シートＢの先端部を重ねる重ね状態が形成される。
【００５３】
Ｓ８１４において、ＣＰＵ２０１は、後述する所定条件を満たしているか否かを判定する。ここで、所定条件を満たしていると判定された場合にはＳ８１５に進み、所定条件を満たしていないと判定された場合にはＳ８２７に進む。所定条件とは、重ね状態を維持したまま、後続シートに対して突き当てによる斜行矯正動作を行う先行シート及び後続シートの状態をいう。
【００５４】
Ｓ８１４で所定条件を満たしていると判定された場合、Ｓ８１５において、ＣＰＵ２０１は、先行シートＡの最終行の印刷が開始したか否かを判定する。ここで、先行シートＡの最終行の印刷が開始していないと判定された場合には、Ｓ８１５の処理を繰り返す。先行シートＡの最終行の印刷が開始したと判定された場合、Ｓ８１６において、ＣＰＵ２０１は、重ね状態を維持したまま、後続シートＢの先端を搬送ニップ部に突き当てて後続シートＢの斜行矯正動作を行う。Ｓ８１７において、ＣＰＵ２０１は、先行シートＡの最終行の印刷が終了したか否かを判定する。ここで、先行シートＡの最終行の印刷が終了していないと判定された場合には、Ｓ８１７の処理を繰り返す。先行シートの最終行の印刷が終了したと判定された場合、Ｓ８１８において、ＣＰＵ２０１は、重ね状態を維持したまま、後続シートＢの頭出しを行う。
【００５５】
Ｓ８１４で所定条件を満たしていないと判定された場合には、Ｓ８２７において、ＣＰＵ２０１は、先行シートＡの最終行の印刷が終了したか否かを判定する。ここで、先行シートＡの最終行の印刷が終了していないと判定された場合には、Ｓ８２７の処理を繰り返す。先行シートＡの最終行の印刷が終了したと判定された場合、Ｓ８２８において、ＣＰＵ２０１は、先行シートＡの排出動作を行う。その間、給送モータ３０８は駆動されないので、後続シートＢは、その先端が搬送ニップ部の所定量手前の位置で停止している。一方、先行シートＡは排出されるので、重ね状態は解消されることになる。Ｓ８２９において、ＣＰＵ２０１は、後続シートＢの先端を搬送ニップ部に突き当てることにより後続シートＢの斜行矯正動作を行う。その後、Ｓ８１８において、ＣＰＵ２０１は、重ね状態を解消して、後続シートＢの頭出しを行う。
【００５６】
Ｓ８１９において、ＣＰＵ２０１は、給送モータドライバ３０４が給送モータ３０８を低速駆動するよう制御する。Ｓ８２０において、ＣＰＵ２０１は、後続シートＢに対して記録ヘッド４０７からインク滴を吐出することにより記録動作を開始する。具体的には、搬送ローラ４０６により後続シートＢを間欠搬送する搬送動作と、キャリッジ４１０を往復移動させて記録ヘッド４０７からインク滴を吐出する画像形成動作（インク吐出動作）とを繰り返すことにより、後続シートＢに対する記録動作を行う。ＣＰＵ２０１は、搬送ローラ４０６により後続シートＢを間欠搬送する動作と同期して、給送モータドライバ３０４が給送モータ３０８を間欠的に低速駆動するよう制御する。その結果、例えば、ピックアップローラ４０３及び給送ローラ４０４は、７．６ｉｎｃｈ／ｓｅｃで間欠的に回転する。
【００５７】
Ｓ８２１において、ＣＰＵ２０１は、後続シートＢに後続する次ページの印刷データがあるか否かを判定する。ここで、次ページの印刷データがあると判定された場合にはＳ８１０に進む。一方、次ページの印刷データがないと判定された場合には、Ｓ８２２において、ＣＰＵ２０１は、後続シートＢの印刷が完了したか否かを判定する。ここで、後続シートＢの印刷が完了していないと判定された場合には、Ｓ８２２の処理を繰り返す。後続シートＢの印刷が完了したと判定された場合には、Ｓ８２３において、ＣＰＵ２０１は、後続シートＢの排出動作を行い、Ｓ８２４において、図８の処理を終了する。
【００５８】
図９は、先行シートと後続シートとの搬送動作を説明するための図である。図８のＳ８１２及びＳ８１３で説明した、先行シートの後端部の上に後続シートの先端部を重ねる重ね状態を形成する動作について説明する。図９は、給送ローラ４０４と給送従動ローラ４０５で形成される給送ローラニップ部と、搬送ローラ４０６とピンチローラ４０８で形成される搬送ローラニップ部と、の間の拡大図である。
【００５９】
搬送ローラ４０６と給送ローラ４０４により記録シートが搬送される過程を、３つの状態として順に説明する。図９は、第１の状態、即ち、後続シートが先行シートを追いかける区間を示す。図１０は、第２の状態、即ち、後続シートが先行シートの上に重なる区間を示す。図１１は、第３の状態、即ち、突き当てを行って斜行矯正を行う際に、後続シートが搬送動作を停止して重ね状態を解消するか、若しくは、重ね状態を継続するかを判定する区間を示す。
【００６０】
図９（ａ）では、ＣＰＵ２０１は給紙モータードライバ３０４を制御して後続シートを搬送し、シート検知センサ４１５は後続シートを検知する。後続シートが先行シートの上に重ねることが可能な位置９０１までの区間９０２において、後続シートは、先行シートを追いかける。後続シートが先行シートの上に重なることが可能な位置９０１は、搬送構成に応じて決定される。第１の状態において、区間９０２において後続シートが先行シートを追いかける動作を停止する場合がある。図９（ｂ）に示すように、後続シートの先端９０３が先行シートの後端９０４を追い越してしまう状況の場合には、適切な重なり量等にならないことがあるので、第２の状態における先行シートと後続シートとの重ね合わせは行わない。
【００６１】
図１０（ａ）では、後続シートが先行シートの上に重なることが可能な位置９０１から、シート押えレバー４１６で記録シートを抑え込むことが可能な位置１００１までの区間１００２において、後続シートを先行シートの上に重ねる動作を行う。第２の状態において、区間１００２において後続シートを先行シートの上に重ねる動作を停止する場合がある。図１０（ｂ）に示すように、後続シートの先端１００４が先行シートの後端１００３から所定間隔以上にあって追いつけない状況の場合には、後続シートを先行シートの上に重ねる動作は行わない。
【００６２】
図１１では、重ね状態を継続するか否かを判定する位置１１０１までの区間１１０２まで、後続シートが搬送される。位置１１０１において、後続シートの突き当てを行って斜行矯正を行う際に、先行シートと後続シートを一部重ねる重ね状態を継続するか、若しくは、重ね状態を解除した状態にするかの判定が行われる。
【００６３】
図１２は、後続シートの頭出しの際の斜行矯正動作を行う際の判定処理を示すフローチャートである。図１２は、図８のＳ８１４における所定条件を満たしているか否かの判定処理を示す。即ち、図１２の処理は、先行シートと後続シートとの重ね状態を継続して突き当てによる斜行矯正を行うか、若しくは、重ね状態を解除して突き当てによる斜行矯正を行うかの判定処理を表している。
【００６４】
Ｓ１２０１において、ＣＰＵ２０１は、後続シートが図１１の位置１１０１まで到達しているか否かを判定する。ここで、位置１１０１まで到達していないと判定された場合、後続シートを先行シートに重ねることができないので、Ｓ１２０６において、ＣＰＵ２０１は、重ね状態とせずに、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図８のＳ８１４の後、Ｓ８２７に進む。一方、位置１１０１まで到達していると判定された場合、Ｓ１２０２に進む。
【００６５】
Ｓ１２０２において、ＣＰＵ２０１は、先行シートが搬送ローラ４０６を通過したか否かを判定する。ここで、先行シートが搬送ローラ４０６を通過したと判定された場合、Ｓ１２０７において、ＣＰＵ２０１は、先行シートの記録中に、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図８のＳ８１４の後、Ｓ８２７に進む。一方、先行シートが搬送ローラ４０６を通過していないと判定された場合、Ｓ１２０３に進む。Ｓ１２０３に進む際には、先行シートと後続シートとは重ね状態となっている。
【００６６】
Ｓ１２０３において、ＣＰＵ２０１は、先行シートが印刷直前に押え拍車４１３に届くか否かを判定する。ここで、押え拍車４１３に届かないと判定された場合、Ｓ１２０８において、ＣＰＵ２０１は、重ね状態を解消して先行シートが搬送ローラ４０６を通過した後に、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図８のＳ８１４の後、Ｓ８２７に進む。一方、押え拍車４１３に届くと判定された場合、Ｓ１２０４に進む。
【００６７】
Ｓ１２０４において、ＣＰＵ２０１は、先行シートと後続シートとの重なり量が予め定められた基準値より小さいか否かを判定する。ここで、重なり量が予め定められた基準値より小さいと判定された場合、Ｓ１２０９において、ＣＰＵ２０１は、重ね状態を解消して先行シートが搬送ローラ４０６を通過した後に、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その場合、図８の８１４の後、Ｓ８２７に進む。一方、重なり量が予め定められた基準値より小さくないと判定された場合、Ｓ１２０５に進む。
【００６８】
Ｓ１２０５において、ＣＰＵ２０１は、先行シートの最終行とその前の行との間に所定値以上の隙間があるか否かを判定する。ここで、所定値以上の隙間がないと判定された場合、Ｓ１２１０において、ＣＰＵ２０１は、重ね状態を解消して先行シートの記録終了後に、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図８のＳ８１４の後、Ｓ８２７に進む。一方、所定値以上の隙間があると判定された場合、Ｓ１２１１に進む。
【００６９】
Ｓ１２１１においては、ＣＰＵ２０１は、重ね状態を維持して先行シートの記録中に（間欠搬送動作における搬送動作停止中に）、後続シートに対して突き当てによる斜行矯正動作を行うことを決定する。その決定の場合、図８のＳ８１４の後、Ｓ８１５に進む。
【００７０】
図１３は、タブレット１０１上に表示される印刷を指示するためのメニュー画面の一例を示す図である。ユーザは、タブレット１０１で動作するアプリケーションを操作することにより、写真を見たり、文章を作成することができる。ユーザは、印刷を行いたい場合には、それぞれのアプリケーションから印刷機能やさらにアプリケーションを呼び出す。印刷機能では、タブレット１０１の表示部に印刷メニュー画面１３０１を表示し、ユーザが設定可能な項目を通知し、ユーザからの入力を待機する。本実施形態では、ユーザが入力可能な項目として部数１３０２が提供されている。図１３は、部数１３０２で１部が選択されている様子が示されている。ユーザは、値を変更することで、部数の変更を指定することができる。ユーザにより、設定の完了後、印刷ボタン１３０３が押下されると、選択された指定に従って、印刷データが画像形成装置１０３に送信され、画像形成装置１０３における印刷が実行される。タブレット１０１での印刷指定では複数部の印刷順が丁合いであるか否かの指定はできない。
【００７１】
図１４（ａ）は、印刷データを示す図であり、印刷ドキュメント１４０１として、３ページの印刷データを示している。印刷ドキュメント１４０１は、例えば、ＰＤＦフォーマットで作成され、ユーザは、タブレット１０１上で閲覧することができる。図１４（ｂ）は、印刷ドキュメント１４０１に基づく印刷結果を示した図であり、特に、丁合い印刷の場合の印刷結果を示している。図１４（ｂ）では、印刷ドキュメント１４０１を３部、丁合い印刷指定されている。図１４（ｂ）に示すように、丁合い印刷であるので、印刷結果は、１、２、３、１、２、３、１、２、３とのページ順で印刷される。図１４（ｃ）は、印刷ドキュメント１４０１に基づく印刷結果を示した図であり、特に、丁合い印刷でない場合の印刷結果を示している。図１４（ｃ）では、印刷ドキュメント１４０１を３部指定し、丁合い印刷は指定いない場合の印刷結果を示している。図１４（ｃ）に示すように、丁合いでない印刷であるので、印刷結果は、１、１、１、２、２、２、３、３、３とのページ順で印刷される。
【００７２】
画像形成装置１０３は、外部から送信された印刷ドキュメント１４０１の全ページ（例えば、３ページ）を一度に全て保存することができ、そのデータに基づいて複数部数（例えば、３部）を印刷可能な場合がある。また、一方で、画像形成装置１０３は、バッファメモリの容量上、外部から送信された印刷ドキュメント１４０１の全ページを一度に全て保存できない場合がある。その場合には、外部の装置が複数部数の全ての印刷データを生成し、画像形成装置１０３に送信する必要がある（逐次印刷）。丁合い印刷を実行する場合には、外部の装置は、図１４（ｂ）に示すような印刷データを生成して画像形成装置１０３に送信する。また、丁合いでない印刷を実行する場合には、外部の装置は、図１４（ｃ）に示すような印刷データを生成して画像形成装置１０３に送信する。丁合い指定、丁合でない指定のいずれの場合にも、画像形成装置１０３は、外部の装置から送信されてくる各ページの印刷データに基づいて印刷を実行する。
【００７３】
図１５（ａ）は、印刷対象のデータを含む印刷データの詳細な構成の一例を示す図である。図１５（ａ）の印刷データ１５０１は、３ページから構成される印刷ドキュメント１４０１に対応する。印刷データ１５０１は、各ページについてヘッダとページデータとを含んで構成されている。
【００７４】
図１５（ｂ）は、印刷データ１５０１のヘッダに含まれるヘッダ情報の一例を示す図である。ヘッダ情報は、例えば、外部から最初に受信したページに含まれる。ヘッダ１５０２は、印刷データ１５０１を構成するページ数を示す「総ページ数」と、何部で構成されているかを示す「部数」と、１部あたりのページ数を示す「１部ページ数」と、を含む。また、ヘッダ１５０２は、各ページの上部の余白情報を示す「上マージン」と、各ページの下部の余白情報を示す「下マージン」と、印刷が丁合印刷であるか否かを示す「部構成」と、を含む。
【００７５】
丁合い印刷を実行する場合には、ヘッダ１５０２は、「総ページ数：９、部数：３、１部ページ数：３、部構成：丁合い」となる。丁合い印刷を実行しない場合には、「総ページ数：９、部数：３、１部ページ数：３、部構成：丁合いなし」となる。
【００７６】
図１６（ａ）は、ページデータの構成の一例を示す図である。ページデータ１６０１は、空白データ（印刷対象でない領域）と印刷領域（印刷対象の領域）とを含んで構成され、空白データとして上部の余白（上余白）と下の余白（下余白）を有する。図１６（ａ）の図中上方向が搬送方向先頭側である。また、ページデータは、余白のないように構成される場合もある。各ページで上余白量と下余白量とが異なる場合があり、それぞれのページのヘッダに含まれる情報「上マージン」及び「下マージン」に各ページの余白量が保持される。
【００７７】
図１６（ｂ）は、印刷領域において、印刷データの比較を行うためのデータとして抽出される領域を示す図である。位置Ｐ１は、ページデータの先頭を示す。位置Ｐ２は、印刷領域の先頭を示す。位置Ｐ３は、印刷領域の途中位置を示し、例えば、印刷領域の中間を示す。中間位置は、印刷が実行される印刷データに基づいて判断される。位置Ｐ４は、印刷領域の終端から特定位置前の位置を示し、位置Ｐ５は、下余白の先頭を示す。位置Ｐ６は、ページデータの終端位置を示す。本実施形態では、後続するページデータと同一であるか否かを比較するために、位置Ｐ２からサイズＳＤ１分のデータを保存データ領域１６０２（先頭部分）とする。同様に、位置Ｐ３からサイズＳＤ２分のデータを保存データ領域１６０３（中間部分）とする。また、同様に、位置Ｐ４からサイズＳＤ３分のデータを保存データ領域１６０４（後端部分）とする。
【００７８】
後述するが、本実施形態では、逐次印刷の場合に、画像形成装置１０３は、外部から送信される各ページデータを、保存データ領域１６０２〜１６０４について比較し、同一であるか否かを判定する。そして、画像形成装置１０３は、その判定結果に基づいて、送信されるページデータが丁合い印刷の対象であるのか否かを判定する。また、画像形成装置１０３は、エンジンデータバッファでのデータを用いて、各ページデータの比較を行う場合もある。
【００７９】
図１６（ｃ）、図１７（ａ）、図１７（ｂ）は、エンジンデータバッファのデータを用いて比較を行う場合のエンジンデータの保存領域を示す図である。図１６（ｃ）の保存エンジンデータ領域１６０５は保存データ領域１６０２に対応し、サイズＥＤ１はサイズＳＤ１に対応する。また、図１７（ａ）の保存エンジンデータ領域１６０６は保存データ領域１６０３に対応し、サイズＥＤ２はサイズＳＤ２に対応する。また、図１７（ｂ）の保存エンジンデータ領域１６０７は保存データ領域１６０４に対応し、サイズＥＤ３はサイズＳＤ３に対応する。
【００８０】
図１７（ｃ）は、各ページの上余白量及び下余白量を保存する余白テーブル１６０８の一例を示す図である。図１７（ｃ）に示すように、各ページ１〜Ｎについての上余白量及び下余白量（上／下余白サイズ）が保存される。上余白量及び下余白量は、例えば、上記のＳＤ１〜ＳＤ３やＥＤ１〜ＥＤ３のような余白長で表される。
【００８１】
［印刷処理］
図１８は、印刷処理の手順を示すフローチャートである。図１８に示す処理は、例えば、ＣＰＵ２０１がＲＯＭ２０２に記憶されているプログラムを読み出して実行することにより実現される。まず、ＣＰＵ２０１は、変数ｔＢ、ｔＮ、Ｂ、ＮをＲＡＭ等の記憶領域に確保する。そして、ＣＰＵ２０１は、印刷データの先頭ページのヘッダから、印刷データの部数、総ページ数を取得し、印刷データの部数を変数ｔＢに設定し、総ページ数を変数ｔＮに設定する。変数Ｂには現在処理している部の値が設定され、初期値として１が設定される。また、変数Ｎには現在処理しているページの値が設定され、初期値として１が設定される。
【００８２】
Ｓ１８０１において、ＣＰＵ２０１は、変数ｔＢの値に基づき、印刷データの部数が１であるか否かを判定する。ここで、１部であると判定された場合にはＳ１８０２に進み、１部でないと判定された場合にはＳ１８０６に進む。
【００８３】
Ｓ１８０２において、ＣＰＵ２０１は、現在の処理対象のページが最終ページであるか否かを判定する。Ｓ１８０２の判定は、変数Ｎが変数ｔＮより大きいか否かを判定することにより行われる。変数Ｎが変数ｔＮより大きいと判定された場合には、即ち、現在の処理対象のページが最終ページであると判定された場合には、図１８の処理を終了する。変数Ｎが変数ｔＮより大きくないと判定された場合には、即ち、現在の処理対象のページが最終ページでないと判定された場合には、Ｓ１８０３に進む。
【００８４】
Ｓ１８０３において、ＣＰＵ２０１は、画像処理制御部２１２により、ページ先頭印刷データを生成する。ページ先頭印刷データは、例えば所定単位の領域のデータであり、エンジンデータバッファ２１８に保存される。
【００８５】
Ｓ１８０４において、印刷する用紙を給紙するために通常給紙指定を行い、用紙の給紙を行う。通常給紙指定の場合、先行シートに対する後続シートの重ね給紙は実行されない。Ｓ１８０５において、ＣＰＵ２０１は、本処理対象ページ内の、Ｓ１８０３で生成されたエンジンデータ以降のエンジンデータを生成する。そして、ＣＰＵ２０１は、エンジン制御部２１３により、プリントエンジン２０８により印刷処理を行う。
【００８６】
Ｓ１８０５の後、変数Ｎを１インクリメントしてＳ１８０２へ戻り、最終ページであると判定されるまで、Ｓ１８０３〜Ｓ１８０５が繰り返されて１ページ分の印刷が行われる。Ｓ１８０１で複数部数の印刷であると判定された場合にはＳ１８０６へ進み、図１９に示す複数部数印刷処理が行われる。
【００８７】
図１９は、複数部数印刷処理を示すフローチャートである。
【００８８】
Ｓ１９０１において、ＣＰＵ２０１は、画像形成装置１０３が１部数分のページバッファ（記憶部）を有し、印刷対象の１部数に対応するページを全て保持可能な構成であるか否かを判定する。例えば、画像形成装置１０３がページバッファを有する構成であるか否かの情報はタブレット１０１に予め通知されている。その場合に、タブレット１０１は、印刷実行を指示する際にその通知に基づいて印刷データとともに、ページバッファを有するか否かの情報をヘッダに含めて送信するようにしても良い。その場合、ＣＰＵ２０１は、例えば、先頭ページのヘッダから、画像形成装置１０３がページバッファを有するか否かの情報を取得して判定する。ここで、ページバッファを有すると判定された場合、図２０に示すページバッファ印刷処理が行われる。一方、ページバッファを有さないと判定された場合、Ｓ１９０２に進む。
【００８９】
Ｓ１９０２において、ＣＰＵ２０１は、印刷データの先頭ページのヘッダに「部構成」を示す情報があるか否かを判定する。タブレット１０１等の外部機器の処理構成によっては「部構成」の情報がヘッダに設定されない場合があるので、本実施形態では、Ｓ１９０２の判定を行う。ここで、「部構成」を示す情報がないと判定された場合、図２１に示す丁合い判定及び印刷処理が行われる。一方、「部構成」を示す情報があると判定された場合、Ｓ１９０３に進む。
【００９０】
Ｓ１９０３において、ＣＰＵ２０１は、印刷データの先頭ページのヘッダの「部構成」を示す情報に基づいて、丁合い印刷であるか否かを判定する。ここで、丁合い印刷でないと判定された場合、図２２に示す丁合いでない印刷処理が行われる。一方、丁合い印刷であると判定された場合、Ｓ１９０４に進む。
【００９１】
Ｓ１９０４において、ＣＰＵ２０１は、変数Ｂに基づいて、第１部目が現在の処理対象であるか否かを判定する。ここで、第１部目が現在の処理対象であると判定された場合、Ｓ１９０５に進み、第１部目が現在の処理対象でないと判定された場合、Ｓ１９１１に進む。
【００９２】
Ｓ１９０５において、ＣＰＵ２０１は、現在の処理対象のページが最終ページであるか否かを判定する。Ｓ１９０５の判定は、変数Ｎが変数ｔＮより大きいか否かを判定することにより行われる。変数Ｎが変数ｔＮより大きいと判定された場合には、即ち、現在の処理対象のページが最終ページであると判定された場合には、変数Ｂを１インクリメントしてＳ１９０４に戻る。変数Ｎが変数ｔＮより大きくないと判定された場合には、即ち、現在の処理対象のページが最終ページでないと判定された場合には、Ｓ１９０６に進む。
【００９３】
Ｓ１９０６において、ＣＰＵ２０１は、現在の処理対象の１ページ分の印刷が終了したか否かを判定する。ここで、１ページ分の印刷が終了したと判定された場合、変数Ｎを１インクリメントしてＳ１９０４に戻る。１ページ分の印刷が終了していないと判定された場合、Ｓ１９０７に進む。
【００９４】
Ｓ１９０７において、ＣＰＵ２０１は、現在の処理対象のページの一部分に相当する部分印刷データを生成してエンジンデータバッファ２１８に保存する（画像処理）。部分印刷データは、例えば、ページ内で予め定められた行単位ごとのデータであっても良い。Ｓ１９０８において、ＣＰＵ２０１は、印刷領域に基づいて、図２３に示す余白量保存処理を行う。ここで、余白量保存処理とは、現在の画像処理の位置が先端余白位置であるか否か、若しくは、後端余白位置であるか否かを、画像処理の進行状況に基づき判定し、それぞれの位置である場合に、各余白量を保存することをいう。余白保存処理により、図１７（ｃ）の余白テーブルに示すように、各ページの上余白量及び下余白量が保存される。本実施形態では、第１部目の印刷が行われた際に保存された余白量は、第２部目以降の給紙処理に用いられ、給紙の高速化を実現することができる。
【００９５】
Ｓ１９０９において、ＣＰＵ２０１は、印刷する用紙（記録シート）を給紙するために、所定単位分の通常給紙指定を行い、記録シートの給紙を行う。Ｓ１９１０において、ＣＰＵ２０１は、画像処理が行われエンジンデータバッファ２１８に保存されたエンジンデータの、給紙された記録シートに対する印刷処理を行い、Ｓ１９０６へ戻る。Ｓ１９０６で、１ページ分が終了していないと判定された場合には、Ｓ１９０７において、次の単位の部分印刷データが生成される。Ｓ１９０７〜Ｓ１９１０の処理が第１部に対応するページ数分、繰り返されることにより、第１部のページ数分の印刷が行われるとともに余白量が保存される。
【００９６】
Ｓ１９０４で、変数Ｂに基づいて、第１部目が現在の処理対象でないと判定された場合、Ｓ１９１１に進む。Ｓ１９１１において、ＣＰＵ２０１は、変数Ｂが変数ｔＢより大きいか否かに基づいて、最終部が現在の処理対象であるか否かを判定する。ここで、最終部が現在の処理対象であると判定された場合には、図１９の処理を終了する。一方、最終部が現在の処理対象でないと判定された場合には、Ｓ１９１２に進む。
【００９７】
Ｓ１９１２において、ＣＰＵ２０１は、変数Ｎが変数ｔＮより大きいか否かに基づいて、現在の処理対象のページが最終ページであるか否かを判定する。ここで、現在の処理対象のページが最終ページであると判定された場合、変数Ｎを１にリセットし、変数Ｂを１インクリメントしてＳ１９０４に戻る。現在の処理対象のページが最終ページでないと判定された場合、Ｓ１９１３に進む。
【００９８】
Ｓ１９１３において、Ｓ１９０７と同様に、ＣＰＵ２０１は、現在の処理対象のページの一部分に相当する部分印刷データを生成する。Ｓ１９１４において、ＣＰＵ２０１は、印刷する用紙の給紙方法を指定するために、図２４に示す給紙処理の指定を行い、現在の処理対象のページについての記録シートの給紙方法を指定する。給紙処理の指定では、図１７（ｃ）の余白テーブルに該当ページの余白量が設定されているかを参照し、設定された上下余白量が先行シートへの重ね給紙指定に十分な値であるかを閾値と比較する。閾値以上である場合、重ね給紙を行うと判定し、図５（ｃ）で説明したような重ね給紙を行う。一方、閾値より小さい場合、通常給紙を行うと判定し、通常給紙を行う。給紙処理の指定における閾値の判定に加えて、図１２の各条件が考慮されるようにしても良い。
【００９９】
Ｓ１９１５において、ＣＰＵ２０１は、本処理対象ページ内の、Ｓ１９１３で生成されたエンジンデータ以降のエンジンデータを生成し、給紙された記録シートに対する印刷処理を行って、現在の処理対象のページの印刷を終了する。ＣＰＵ２０１は、変数Ｎを１インクリメントし、その後、Ｓ１９１２に戻る。Ｓ１９１２〜Ｓ１９１５が繰り返されることにより、現在の処理対象の部についての全てのページ（例えば、第１〜３ページ目）に対する印刷が行われる。
【０１００】
以上のように、丁合い印刷で複数部数を印刷する場合には、第１部目で保存された余白情報に基づいて、第２部目以降で、先行シートへの重ね給紙指定を行うことができ、その結果、給紙時間の短縮による印刷効率の向上を実現することができる。
【０１０１】
図２０は、画像形成装置１０３がページバッファを有する構成である場合に行われる印刷処理の手順を示すフローチャートである。例えばハードディスクのような外部記憶装置を持つような画像形成装置の場合、外部から送信される１部分のページデータを全て保存することが可能である。そして、画像形成装置は、その保存したページデータを複数部数印刷することができる。さらには、複数部数を印刷する際に丁合いの指定がある場合には、保存されたデータを例えば１、２、３、１、２、３、１、２、３のページ順で印刷することができる。また、丁合いの指定がない場合には、１、１、１、２、２、２、３、３、３のようなページ順で印刷することができる。
【０１０２】
Ｓ２００１において、ＣＰＵ２０１は、タブレット１０１から受信して保存した印刷データをＳ１９０８で説明したように解析し、全てのページの上下余白情報を図１７（ｃ）の余白テーブルに格納する。格納された上下余白情報は、後述する給紙処理で用いられる。
【０１０３】
Ｓ２００２において、ＣＰＵ２０１は、変数Ｂが変数ｔＢより大きいか否かに基づいて、最終部が現在の処理対象であるか否かを判定する。ここで、最終部が現在の処理対象であると判定された場合には、図２０の処理を終了する。一方、最終部が現在の処理対象でないと判定された場合には、Ｓ２００３に進む。
【０１０４】
Ｓ２００３において、ＣＰＵ２０１は、印刷データの先頭ページのヘッダの「部構成」を示す情報に基づいて、丁合い印刷であるか否かを判定する。ここで、丁合い印刷でないと判定された場合、Ｓ２００８に進む。一方、丁合い印刷であると判定された場合、Ｓ２００４に進む。
【０１０５】
Ｓ２００４において、変数Ｎが変数ｔＮより大きいか否かに基づいて、現在の処理対象のページが最終ページであるか否かを判定する。変数Ｎが変数ｔＮより大きいと判定された場合には、即ち、現在の処理対象のページが最終ページであると判定された場合には、変数Ｎを１にリセットし、変数Ｂを１インクリメントしてＳ２００２に戻る。変数Ｎが変数ｔＮより大きくないと判定された場合には、即ち、現在の処理対象のページが最終ページでないと判定された場合には、Ｓ２００５に進む。
【０１０６】
Ｓ２００５において、ＣＰＵ２０１は、現在の処理対象のページの印刷データを作成し、エンジンデータバッファ２１８に保存する。Ｓ２００６において、ＣＰＵ２０１は、図２４に示す給紙処理の指定を行う。Ｓ１９１４と同様に、給紙処理の指定では、図１７（ｃ）の余白テーブルに該当ページの余白量が設定されているか否かを参照する。そして、設定された上下余白量が先行シートへの重ね給紙指定に十分な値であるか否かに応じて、通常給紙と先行シートへの重ね給紙とのうちいずれかを指定する。
【０１０７】
Ｓ２００７において、ＣＰＵ２０１は、指定された給紙処理により、現在の処理対象のページを印刷する。その後、ＣＰＵ２０１は、変数Ｎを１インクリメントしてＳ２００４に戻る。Ｓ２００４〜Ｓ２００７が繰り返されることにより、現在の処理対象の部についての全てのページ（例えば、第１〜３ページ目）に対する印刷が行われる。総部数分について処理が終了すると、その印刷結果は、例えば、１、２、３、１、２、３、１、２、３のようなページ順の丁合い印刷結果となる。
【０１０８】
Ｓ２００３で丁合い印刷でないと判定された場合、ＣＰＵ２０１は、ＲＡＭ等の記憶領域に変数Ｃを確保して初期値として１を設定し、Ｓ２００８に進む。Ｓ２００８において、ＣＰＵ２０１は、第Ｎページ目（現在はＮ＝１）の印刷データを生成し、エンジンデータバッファ２１８に保存する。
【０１０９】
Ｓ２００９において、ＣＰＵ２０１は、変数Ｃが変数ｔＢより大きいか否かに基づいて、現在の処理対象の部について印刷が終了したか否かを判定する。変数Ｃが変数ｔＢより大きいと判定された場合、即ち、現在の処理対象の部について印刷が終了したと判定された場合（例えば第１ページ目が３枚印刷された）、ＣＰＵ２０１は、変数Ｎを１インクリメントし、変数Ｂを１インクリメントしてＳ２００２に戻る。一方、変数Ｃが変数ｔＢより大きくないと判定された場合、即ち、現在の処理対象の部について印刷が終了していないと判定された場合、Ｓ２０１０に進む。
【０１１０】
Ｓ２０１０において、ＣＰＵ２０１は、図２４に示す給紙処理の指定を行う。Ｓ２０１１において、ＣＰＵ２０１は、エンジンデータバッファ２１８に保存されたエンジンデータに基づいて、第Ｎページ目（現在はＮ＝１）の印刷を行う。その際には、Ｓ２０１０で指定された給紙処理で給紙が行われる。その後、ＣＰＵ２０１は、変数Ｃを１インクリメントしてＳ２００９に戻る。
【０１１１】
Ｓ２００９〜Ｓ２０１１が繰り返されることにより、現在の処理対象の部についての印刷（例えば、第１ページ目を３枚印刷）が行われる。総部数分について処理が終了すると、その印刷結果は、例えば、１、１、１、２、２、２、３、３、３のようなページ順の印刷結果となる。
【０１１２】
図２１は、丁合いであるか否かの印刷判定および印刷処理の手順を示すフローチャートである。図２１の処理は、印刷データに対して丁合い印刷の指定がされているか否かが印刷データのヘッダに含まれる情報から判断できない場合に実行される。図２１の処理では、印刷データのデータ構成を、第１部目の印刷時に判断し、印刷データを丁合い印刷すべきかを判定する。そして、以降の部の印刷も、その判定結果に従って行う。
【０１１３】
Ｓ２１０１において、ＣＰＵ２０１は、変数Ｂが変数ｔＢより大きいか否かに基づいて、最終部が現在の処理対象であるか否かを判定する。ここで、最終部が現在の処理対象であると判定された場合には、図２１の処理を終了する。一方、最終部が現在の処理対象でないと判定された場合には、Ｓ２１０２に進む。
【０１１４】
Ｓ２１０２において、ＣＰＵ２０１は、変数Ｂと変数Ｎに基づいて、現在の処理対象のページが、第１部目の第１ページ目であるか否かを判定する。ここで、現在の処理対象のページが、第１部目の第１ページ目であると判定された場合にはＳ２１０３に進み、第１部目の第１ページ目でないと判定された場合にはＳ２１０９に進む。Ｓ２１０３において、ＣＰＵ２０１は、印刷する記録シートの給紙方法として通常給紙を指定する。
【０１１５】
Ｓ２１０４において、ＣＰＵ２０１は、現在の処理対象の１ページ分の印刷が終了したか否かを判定する。ここで、１ページ分の印刷が終了したと判定された場合、変数Ｎを１インクリメントしてＳ２１０１に戻る。１ページ分の印刷が終了していないと判定された場合、Ｓ２１０５に進む。
【０１１６】
Ｓ２１０５において、ＣＰＵ２０１は、現在の処理対象のページの一部分に相当する部分印刷データを生成してエンジンデータバッファ２１８に保存する（画像処理）。なお、Ｓ２１０７の処理のために、タブレット１０１から送信された印刷データは、他の記憶領域に確保しておく。部分印刷データは、例えば、ページ内で予め定められた行単位ごとのデータであっても良い。Ｓ２１０６において、ＣＰＵ２０１は、印刷領域に基づいて、図２３に示す余白量保存処理を行う。
【０１１７】
Ｓ２１０７において、ＣＰＵ２０１は、第１部目の第１ページ目の所定部分の特徴情報を取得して保存する。特徴情報の保存とは、次ページの印刷処理において、前ページと同じ内容のページの印刷処理であるか否かを判定するための基準となるデータを抽出して保存する処理である。Ｓ２１０７での保存対象となる所定部分は、図１６（ｂ）に示したタブレット１０１から送信された印刷データの一部分の保存データ領域１６０２〜１６０４である。
【０１１８】
ＣＰＵ２０１は、Ｓ２１０７で保存データ領域１６０２を保存する際には、位置Ｐ２およびサイズＳＤ１も合わせて保存する。また、ＣＰＵ２０１は、保存データ領域１６０３を保存する際には、位置Ｐ３およびサイズＳＤ２も合わせて保存する。また、ＣＰＵ２０１は、保存データ領域１６０４を保存する際には、位置Ｐ４およびサイズＳＤ３も合わせて保存する。本実施形態では、保存データ領域１６０２〜１６０４の３領域を保存しているが、領域数は特に限定されない。また、本実施形態では、印刷領域の最上部、中間部分、最下部の３ヵ所を保存対象としているが、その対象とする部分についても特に限定されない。
【０１１９】
Ｓ２１０８において、ＣＰＵ２０１は、エンジンデータバッファ２１８に保存されてエンジンデータに基づいて印刷処理を行う（部分印刷）。その後、Ｓ２１０４に戻る。Ｓ２１０５〜Ｓ２１０８が繰り返されて１ページ分の印刷が行われる。
【０１２０】
第１部目の第１ページ目の印刷が終了すると、Ｓ２１０４で変数Ｎが１インクリメントされてＳ２１０１に進む。その場合、Ｓ２１０２では、現在の処理対象のページは、第１部目の第１ページ目でないと判定され、Ｓ２１０９に進む。
【０１２１】
Ｓ２１０９において、ＣＰＵ２０１は、変数Ｎが変数ｔＮより大きいか否かに基づいて、現在の処理対象の部における最終ページであるか否かを判定する。
ここで、最終ページであると判定された場合には、第１部目分の印刷データは同じ内容のものであることを意味し、図２２に示す丁合いでない印刷処理を実行する。一方、最終ページでないと判定された場合には、Ｓ２１１０に進む。Ｓ２１１０において、ＣＰＵ２０１は、印刷する記録シートの給紙方法として通常給紙を指定する。
【０１２２】
Ｓ２１１１において、ＣＰＵ２０１は、現在の処理対象の１ページ分の印刷が終了したか否かを判定する。ここで、１ページ分の印刷が終了したと判定された場合、変数Ｎを１インクリメントしてＳ２１０９に戻る。１ページ分の印刷が終了していないと判定された場合、Ｓ２１１２に進む。
【０１２３】
Ｓ２１１２において、ＣＰＵ２０１は、現在の処理対象のページの一部分に相当する部分印刷データを生成してエンジンデータバッファ２１８に保存する（画像処理）。なお、Ｓ２１１４の処理のために、タブレット１０１から送信された印刷データは、他の記憶領域に確保しておく。部分印刷データは、例えば、ページ内で予め定められた行単位ごとのデータであっても良い。Ｓ２１１３において、ＣＰＵ２０１は、印刷領域に基づいて、図２３に示す余白量保存処理を行う。
【０１２４】
Ｓ２１１４において、ＣＰＵ２０１は、現在の処理対象のページの特徴情報を取得して保存する。Ｓ２１１４での保存対象は、図１６（ｂ）に示したタブレット１０１から送信された印刷データの一部分の保存データ領域１６０２〜１６０４である。
【０１２５】
Ｓ２１１５において、Ｓ２１０７で保存された第１部目の第１ページ目の特徴情報と、Ｓ２１１４で保存された第Ｎページ目の特徴情報とを比較する（ページ判定の一例）。Ｓ２１１６において、ＣＰＵ２０１は、Ｓ２１１５の比較の結果、印刷内容が同じであると判定された場合、Ｓ２１１１に戻る。一方、印刷内容が同じでないと判定された場合、印刷データは丁合いの構成であると判断し、図１９のＳ１９０４に進み、丁合い印刷処理を行う。つまり、Ｓ２１１２〜Ｓ２１１６が例えば３回繰り返された後、Ｓ２１０９で最終ページであると判定された場合は、第１ページ目が３枚印刷される、丁合いでない印刷であることを意味する。
【０１２６】
以上のように、本実施形態では、第１部目の印刷データに基づいて、タブレット１０１から送信された印刷データが丁合い印刷の構成であるのか否かが判定される。
【０１２７】
図２２は、丁合いでない印刷処理の手順を示すフローチャートである。図２２の処理は、印刷データが丁合いでない場合に実行される。
【０１２８】
Ｓ２２０１において、ＣＰＵ２０１は、変数Ｂが変数ｔＢより大きいか否かに基づいて、最終部が現在の処理対象であるか否かを判定する。ここで、最終部が現在の処理対象であると判定された場合には、図２２の処理を終了する。一方、最終部が現在の処理対象でないと判定された場合には、Ｓ２２０２に進む。
【０１２９】
Ｓ２２０２において、ＣＰＵ２０１は、現在の処理対象の部の第１ページ目であるか否かを判定する。ここで、第１ページ目であると判定された場合、Ｓ２２０３に進み、第１ページ目でないと判定された場合、Ｓ２２０８に進む。
【０１３０】
Ｓ２２０３において、ＣＰＵ２０１は、印刷する用紙の給紙方法として通常給紙を指定する。Ｓ２２０４において、ＣＰＵ２０１は、現在の処理対象の１ページ分の印刷が終了したか否かを判定する。ここで、１ページ分の印刷が終了したと判定された場合、変数Ｎを１インクリメントしてＳ２２０１に戻る。１ページ分の印刷が終了していないと判定された場合、Ｓ２２０５に進む。
【０１３１】
Ｓ２２０５において、ＣＰＵ２０１は、現在の処理対象のページの一部分に相当する部分印刷データを生成してエンジンデータバッファ２１８に保存する（画像処理）。部分印刷データは、例えば、ページ内で予め定められた行単位ごとのデータであっても良い。Ｓ２２０６において、ＣＰＵ２０１は、印刷領域に基づいて、図２３に示す余白量保存処理を行う。
【０１３２】
Ｓ２２０７において、ＣＰＵ２０１は、画像処理が行われエンジンデータバッファ２１８に保存されたエンジンデータの、給紙された記録シートに対する印刷処理を行い、Ｓ２２０４へ戻る。Ｓ２２０５〜Ｓ２２０７の処理が繰り返されることにより、現在の処理対象のページについての印刷が行われる。
【０１３３】
Ｓ２２０２で現在の処理対象の部の第１ページ目でないと判定された場合、Ｓ２２０８に進む。Ｓ２２０８において、ＣＰＵ２０１は、変数Ｎが変数ｔＮより大きいか否かに基づいて、現在の処理対象の部における最終ページであるか否かを判定する。ここで、最終ページであると判定された場合には、変数Ｎを１にリセットし、変数Ｂを１インクリメントしてＳ２２０１に戻る。一方、最終ページでないと判定された場合には、Ｓ２２０９に進む。
【０１３４】
Ｓ２２０９において、ＣＰＵ２０１は、現在の処理対象のページの一部分に相当する部分印刷データを生成する。Ｓ２２１０において、ＣＰＵ２０１は、印刷する用紙の給紙方法を指定するために、図２４に示す給紙処理の指定を行い、現在の処理対象のページについての記録シートの給紙方法を指定する。
【０１３５】
Ｓ２２１１において、ＣＰＵ２０１は、本処理対象のページ内の、Ｓ２２０９で生成されたエンジンデータ以降のエンジンデータを生成し、給紙された記録シートに対する印刷処理を行って、現在の処理対象のページの印刷を終了する。ＣＰＵ２０１は、変数Ｎを１インクリメントし、その後、Ｓ２２０８に戻る。Ｓ２２０９〜Ｓ２２１１が繰り返されることにより、現在の処理対象の部についての全てのページ（例えば、第１ページ目を３枚印刷）に対する印刷が行われる。
【０１３６】
図２３は、余白保存処理の手順を示すフローチャートである。図２３の処理は、余白を保存する必要がある時点で上記各フローチャート中で呼び出され、画像処理の経過に従って適切な上下余白量を保存する。
【０１３７】
Ｓ２３０１において、ＣＰＵ２０１は、ページデータの先頭から画像解析していく中で、印刷対象の画像がない余白部分を検出し、印刷領域までに検出された先頭余白領域があるか否かを判定する。余白領域は、ライン数や画素数等で表される。先頭余白領域があると判定された場合にはＳ２３０３に進み、ないと判定された場合にはＳ２３０２に進む。Ｓ２３０３において、ＣＰＵ２０１は、先頭余白領域の余白量を図１７（ｃ）の余白テーブルに格納し、図２３の処理を終了する。
【０１３８】
Ｓ２３０２において、ＣＰＵ２０１は、印刷領域に後続して画像解析していく中で、印刷対象の画像がない余白部分を検出し、ページデータの後端までに検出された後端余白領域があるか否かを判定する。後端余白領域があると判定された場合にはＳ２３０４に進み、ないと判定された場合には図２３の処理を終了する。Ｓ２３０４において、ＣＰＵ２０１は、後端余白領域の余白量を図１７（ｃ）の余白テーブルに格納し、図２３の処理を終了する。
【０１３９】
図２４は、給紙処理の指定の手順を示すフローチャートである。図２４に示す処理では、記録シートの給紙処理において、先行シートに後続シートを一部重ねる重ね給紙を行うか、若しくは、先行シートと後続シートとを重ねずに通常給紙を行うかを指定する。
【０１４０】
Ｓ２４０１において、ＣＰＵ２０１は、給紙を実行するタイミングであるか否かを判定する。ここで、給紙を実行するタイミングでないと判定された場合には、図２４の処理を終了する。給紙を実行するタイミングであると判定された場合には、Ｓ２４０２に進む。
【０１４１】
Ｓ２４０２において、ＣＰＵ２０１は、図１７（ｃ）の余白テーブルの該当するページについて閾値以上のサイズの余白量が格納されているか否かを判定する（余白判定の一例）。ここで、閾値以上のサイズの余白量が格納されていないと判定された場合には、Ｓ２４０３において、ＣＰＵ２０１は、給紙方法として通常給紙を指定し、その後、図２４の処理を終了する。一方、閾値以上のサイズの余白量が格納されていると判定された場合には、Ｓ２４０４において、ＣＰＵ２０１は、給紙方法として先行シートへの重ね給紙を指定し、その後、図２４の処理を終了する。
【０１４２】
本実施形態では、図２１でページの特徴情報の違いを判断するためのデータとして、タブレット１０１から送信される印刷データを複数領域分保存し、それらの比較を行った。しかしながら、タブレット１０１からの印刷データではなく、図１６（ｃ）、図１７（ａ）、図１７（ｂ）に示すような、プリントエンジン２０８で印刷する際に使用されるエンジンデータを比較用のデータとしても良い。その場合には、印刷データがエンジンデータに変換された後に、エンジンデータバッファ２１８に保存されているエンジンデータの所定の一部の領域（先頭部分、中間部分、後端部分）が、ページの特徴情報の違いを検出するために用いられる。
【０１４３】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４４】
１０３  画像形成装置、  ２０１  ＣＰＵ、  ２０２  ＲＯＭ、  ２０６  制御ＲＯＭ、  ２０７  ＲＡＭ
【図１】
0006429584.tif 000002
【図２】
0006429584.tif 000003
【図３】
0006429584.tif 000004
【図４】
0006429584.tif 000005
【図５】
0006429584.tif 000006
【図６】
0006429584.tif 000007
【図７】
0006429584.tif 000008
【図８】
0006429584.tif 000009
【図９】
0006429584.tif 000010
【図１０】
0006429584.tif 000011
【図１１】
0006429584.tif 000012
【図１２】
0006429584.tif 000013
【図１３】
0006429584.tif 000014
【図１４】
0006429584.tif 000015
【図１５】
0006429584.tif 000016
【図１６】
0006429584.tif 000017
【図１７】
0006429584.tif 000018
【図１８】
0006429584.tif 000019
【図１９】
0006429584.tif 000020
【図２０】
0006429584.tif 000021
【図２１】
0006429584.tif 000022
【図２２】
0006429584.tif 000023
【図２３】
0006429584.tif 000024
【図２４】
0006429584.tif 000025