説明

印刷装置、印刷装置の制御方法及びプログラム

【課題】 本発明は、印刷データから画像データを生成する処理が、印刷処理に対して遅延したことに起因する印刷動作の停止を抑制する仕組みを提供する。
【解決手段】 本発明は、それぞれのページセットごとに異なる後処理を指定な複数のページセットと、当該複数のページセットに含まれるページとを含む印刷データを受信する受信手段と、受信手段によって受信された印刷データに含まれるページを解釈する解釈手段と、解析手段によって解析されたページの数が所定の数以上である場合に印刷を開始し、解析手段によって解析されたページセットの数が所定の数未満である場合に印刷の開始を制限する印刷制御手段とを有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、印刷装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
従来、複数の住所や複数の氏名を、レコードごとにわけて管理するデータベースがある。また、このようなデータベースによって管理された各レコードを、それぞれ別のシートに印刷する印刷装置がある。それによって、配布物の宛先を、レコードごとに容易に印刷することができる。
【0003】
例えば、特許文献1には、複数のレコードの各々に含まれる各フィールドのデータをシートの所定の領域に記録するためのジョブを生成し、当該ジョブを印刷装置に送信することによって、印刷を実行する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−269261号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したような印刷は、PostScript言語のページ例外設定や、メーカ毎の独自拡張仕様等を使用することによって実現されている。
【0006】
PC等の外部装置は、PostScript言語を用いて印刷ジョブを生成し、印刷装置に送信する。印刷装置は、外部装置から送信された印刷ジョブを受信し、受信した印刷ジョブを解釈し、印刷ジョブで指定された印刷設定や、フィニッシング設定に従って印刷を実行する。
【0007】
また、近年では、レコードごとに異なる種類のシートを使用したり、レコードごとに異なるフィニッシングを実行できるようにしたりする必要が出てきた。例えば、宛先Aに配布する印刷物は、普通紙にステープルをした仕上がりにし、宛先Bに配布する印刷物は、コート紙にパンチ処理をした印刷物にした仕上がりにしたい場合である。
【0008】
このような背景から、印刷装置は、外部装置から印刷ジョブを受信し、印刷ジョブで指定された各レコードのシートの種類やフィニッシング設定を解釈しつつ、連続的にシートに印刷を実行することが求められている。この場合、印刷装置は、ジョブの印刷データに含まれるレコードの区切りをページセットとして検出し、検出されたページセット毎に異なるフィニッシング処理を行う。
【0009】
しかしながら、PostScript言語は、各ページのデータ以外の欄にレコードの区切りを示す情報を埋め込むと汎用性が低下してしまう。そのため、汎用性を維持するためには、レコードの区切りを示す情報を各ページのデータの中に埋め込まなければならない。そのため、印刷装置は、ページを解析している途中でページセットの先頭ページであることを検出すると、そのページの解析を中断して、そのページがページセットの先頭ページであることを示す情報を設定する。そして、ページセットの設定を行った後に、再度そのページを解析し直す。このように、印刷装置は、新たなページセットを設定した後、再度そのページの解析処理を行わなければならないため、ページの画像データを生成する処理が遅れてしまう。また、画像データを生成する処理が遅れてしまった結果、画像を転写する画像転写体に画像を載せられず、シートの搬送は停止し、定着器をシートが通過しないために熱がこもってしまう。一度、熱がこもることによる急激な温度上昇が発生すると安定した品質の印刷を維持することができなくなる。
【0010】
本発明は、上記課題に鑑みてなされたものである。そして、本発明は、複数のページセットを含む印刷データから画像データを生成する処理が遅延したことに起因する印刷品質の低下を抑制する仕組みを提供するものである。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本発明に係る印刷装置は以下の構成を有する。すなわち、
【発明の効果】
【0012】
本発明によれば、複数のページセットを含む印刷データから画像データを生成する処理が遅延したことに起因する印刷品質の低下を抑制することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係る印刷システムの全体構成を示す図。
【図2】印刷装置のハードウェア及びソフトウェアの構成を示す図。
【図3】レコード情報の管理状況の変化を示す図。
【図4】印刷装置の全体的な処理手順を示す図。
【図5】印刷開始条件判定処理(S308)の詳細な処理手順を示す図
【図6】PostScriptページデータの構造を示す図
【図7】ページセット・ページ処理を示す図
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態は特許請求の範囲を限定するものでなく、また、実施形態で説明される特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0015】
[印刷システムの全体構成(図1)]
図1は、本実施形態に係る印刷システム600の全体の構成を示すシステム図である。
【0016】
印刷システム600は、印刷データを生成する外部装置の一例であるホストPC601と、印刷データを受信して印刷を実行する印刷装置602(画像形成装置)と、印刷されたシートに対してフィニッシング処理(後処理)を行うフィニッシング装置とを備える。ホストPC601は、印刷装置602とネットワークを介して接続されている。
【0017】
ホストPC601は、ユーザの指示に従って、ホストPC601に接続されたデータベース上の住所録等のレコードを抽出し、PostScript(以下、単にPSと言う)の印刷データに変換する。なお、この住所録には、顧客ごとの氏名や住所が含まれている。このデータベースからのデータ抽出と、PSへの変換は連続的に行われる。そして、ホストPC601は、PSのストリームデータ550(PDLデータ)を印刷装置602に送信する。このとき、ホストPC601は、同じフィニッシング処理を行うページの印刷データで構成されるページセットを生成し、1以上のページセットで構成されるジョブを生成し、出力する。従って、1つのジョブに含まれるページセットの数は、フィニッシング処理の数に依存する。
【0018】
例えば、ユーザは、データベースから抽出されたレコードをホストPC601の画面に表示させ、プリンタドライバ等の設定画面を介して、各レコードごとに後処理を実行するよう指定するものとする。後処理には、パンチ処理、ステープル処理、折り処理、挿入処理、シフト処理等がある。また、レコードごとに必ず後処理を指定しなければならないわけではなく、後処理を指定しないレコードがあってもよい。このような指定をした状態で印刷データの送信を指示すると、ホストPC601は、1ページまたは複数ページからなるページセットに変換した印刷データを生成する。また、ホストPC601は、レコードに対して指定された後処理の設定を付加してジョブを生成する。そして、ホストPC601は、生成したジョブを印刷装置602に送信する。なお、ここで説明したPDLデータは、レコードごとに異なる種類のシート(印刷媒体)の使用を指定できるようにしてもよい。
【0019】
印刷装置602は、ホストPC601からジョブを受信し、受信したジョブを解析し、そのジョブ中の印刷データを画像データに変換し、画像データに従って画像をシートに印刷する。また、印刷装置602は、ページセットごとに指定された後処理を、インタフェースを介してフィニッシング装置を制御して、印刷されたシートに対して実行する。印刷装置602は、後処理が指定されていないレコードについては、フィニッシング装置に設けられた特別何もしない排出トレイ上に、印刷済みシートを排紙する。排紙された出力結果については、図6を用いて後に説明する。
【0020】
[印刷装置602の構成]
(ハードウェア構成(図2(a))
図2(a)は、印刷装置のハードウェア構成を示す図である。
【0021】
印刷装置602は、CPU101、RAM102、UserI/F103、NetworkI/F104、ROM105、HDD106を有する。これらの構成は、互いにSystemBus120によって接続されており、相互に通信を行うことができる。
【0022】
CPU101は、印刷装置602を統括的に制御する。RAM102は、CPU101の作業領域として機能し、ROM105は、CPU101によって読み出される各種プログラムを格納する。
【0023】
また、CPU101は、ImageBusI/F107を経由して、ImageBus130に接続されたRIP108、画像処理部109、印刷エンジンI/F110へアクセスすることができる。さらに、後述する印刷ジョブ制御部203、PDL解析部205、印刷制御部209等のソフトウェアは、CPU101上で実行し、処理中の一時的なデータはRAM102に保持される。また、CPU101は、インタフェース121を介してフィニッシング装置140も制御する。
【0024】
UserI/F103は、操作部111に接続されており、操作部111の信号を各モジュールへ通知する。NetworkI/F104は、ネットワーク経由で印刷ホストPC601からPDLデータを受信し、HDD106へ格納する。HDD106は、ネットワーク経由で受信したPDLデータの一時的な格納やRIP108、画像処理部109のデータスワップ領域として各モジュールからアクセスされる。
【0025】
ImageBusI/F107は、印刷装置602のSystemBus120、ImageBus130を取り持つ。また、ImageBusI/F107は、制御系ソフトウェアが動作するSystemBus120側とImageBus130上で動作するページ画像処理に関するモジュールの通信を取り持つ。ImageBus130に接続されたRIP108(Raster Image Processor)は、ページ記述言語(PDL)コードをイメージファイルへ展開する。画像処理部109は、RIP108が生成したイメージファイルに対して印刷エンジン112に適した解像度変換処理や補正処理を行う。印刷エンジンI/F110は、印刷制御部209が印刷エンジンI/F210を介して、印刷エンジン112を制御するための通信I/Fである。
【0026】
(ソフトウェア構成(図2(b))
図2(b)は、印刷装置602におけるソフトウェアの構成を模式的に示す図である。図2(b)に示されるNetwork制御部202、印刷ジョブ制御部203、ページセットフィニッシング制御部204は、CPU101が、ROM105に記憶されたプログラムを読み出して実行することによって実現される。また、PDL(PS)解析部205、ページセット検出部206、データ描画部208、印刷制御部209も同様に、CPU101が、ROM105に記憶されたプログラムを読み出して実行することによって実現される。
【0027】
NetworkI/F201は、TCP/IPのソケットI/FをNetwork制御部202に提供する。印刷ホストPC601側の大量のページのPDLデータを生成するアプリケーションは、RAW/LPRのいずれかのデータ送信プロトコルでPSフォーマットデータを送信する。LPRは、Line PRinter daemon protocolの略である。
【0028】
印刷装置602は、Network制御部202がRAW/LPRの通信プロトコルに対応し、PSデータで構成される印刷ジョブを受信し、HDD106に逐次、ストリームデータとして書き込みを行う。印刷ジョブ制御部203は、Network制御部202の印刷ジョブの受信開始を認識して内部で印刷ジョブに対する印刷ジョブ処理を開始する。詳細な印刷ジョブ処理シーケンスは図3で後述する。印刷ジョブ制御部203は、PDL解析部205を起動する。この結果、PDL解析部205はHDD106に蓄積されたPSデータの読出し、並びに解析処理を実行する。
【0029】
具体的に、PDL解析部205は、HDD106から読み出したPSデータを展開する。ページセット検出部206は、PSの描画情報内に埋め込まれた拡張コマンドを検出し、レコード単位の給紙・排紙先指定やフィニッシング指示として認識する。これらのページセット情報は印刷ジョブ制御部203のページセットフィニッシング制御部204に通知される。通知される情報は、レコード束の開始するページIDや、レコード毎のステープル処理、パンチ処理等、各種フィニッシング条件の指示である。
【0030】
データ描画部208は、RIP108、画像処理部109を呼び出して、PSデータを印刷エンジン112に最適化した画像ファイルへ変換にした後、HDD106へページメモリ207を介してスプールする。HDD106上の最適化画像ファイルは、印刷制御部209が逐次、印刷エンジンI/F210を介して印刷エンジン112へ転送する。このような印刷装置602は、印刷ホストPC601から受信した大量のレコードデータに従った印刷を実行し、フィニッシング装置140にフィニッシング処理を実行させる。
【0031】
ここで、大量のレコードデータに対して、レコード単位でフィニッシング処理を実現するためには、レコードの区切り情報の管理が必要となる。この区切りの検出及びレコード単位でのページ管理によって発生するオーバーヘッドについて次に説明する。
【0032】
[レコード情報の管理状況の変化(図3)]
図3は、印刷装置602が、ホストPC601からPSデータ(図5参照)を受信し、受信したPSデータを解析する場合におけるレコード情報の変化を示している。CPU101は、このレコード情報を、HDD106内で管理する。
【0033】
通常、印刷ジョブ階層の次にページ階層があり、ジョブとページで親子関係を持つ(S801)。そして、ジョブの中にページセットが含まれない場合、CPU101は、ジョブのページのデータを展開した後、展開されたデータに従った印刷を印刷エンジン112に実行させる。一方、ページセットを含む印刷データを解析する場合、CPU101は、ジョブとページの間にページセットを示す情報を設定し、ページセット単位でページを管理するための中間階層を生成する。そして、全てのページセットとページの展開が完了した後、当該ページのデータに従った印刷を印刷エンジン112に実行させる。
【0034】
ただ、印刷ジョブ処理の開始時点では、印刷装置602のCPU201は、受信したジョブに含まれる印刷データがページセットを含むデータであるか否かの判断がつかない。なぜならば、本実施形態では、PostScriptのデータの汎用性を維持するために、レコードの区切りを示す情報を各ページのデータの中に埋め込んでいるからである。仮に、各ページのデータ以外の欄にレコードの区切りを示す情報を埋め込むと、表示用のアプリケーションで画像データのプレビュー表示ができなくなる等、汎用性が低下してしまう。このようにページのデータの中に埋め込まれた情報は、CPU101によってそのページのデータが解析されてはじめて検出される。つまり、CPU201は、受信したジョブで印刷すべき印刷データが、複数のページセットを含み、それぞれのページセットごとに異なる後処理を指定可能な所定の印刷データであるか否かを、印刷データの解析前に判断することができない。
このため、S800、S801では「ページセット無し」を前提としてPDLデータを内部に保持する。
【0035】
CPU101は、先頭ページの前にあるページセット情報を検出した場合、HDD106に記憶された内部構造を一度キャンセルし(S802)、ジョブ→ページセット1→ページ1の形に再構成する(S803)。この後、CPU101は、ページセット1の下にページ2以降が続く前提でS807までPDL(PS)解析部205にPSページ展開処理を先行させる。
【0036】
そして、S807でページ11の展開処理途中に、CPU101は、ページ11のデータの途中に埋め込まれたページセットの情報を検出し、ページ11がページセット1ではなく、ページセット2に属することを検出する。そのため、CPU101は、先行して準備していたページセット1とページ11との関係をキャンセルし(S808)、ページセット2とページ11の関係を構築する(S809)。
【0037】
仮に、ジョブを受信した時点でジョブ全体のページ数と各ページセットのページ範囲を確定できれば、このようなキャンセル処理を行うことなく処理を進めることができる。しかしながら、ジョブを受信した後、ジョブの解析が終わるまで、印刷ジョブ全体のページ数と各ページセットのページ範囲を確定することができない。ここで、印刷ジョブのページ数が多い場合に、ジョブの解析が終わるまで、印刷を開始しないようにすると、印刷開始のタイミングが遅くなってしまう。また、印刷ジョブが数千・数万ページに及び、各ページセットのページ数も異なるようなケースでは、HDD106内の印刷用のスプール領域に蓄えきれなくなってしまう。
【0038】
このように、ページセットを有する印刷ジョブのハンドリング時には、ページを解析するまで、ページセットの区切れ目がわからない。また、1つ前のページでページセットの範囲を確定し、新たなページセットを生成するために、解析中のページの情報をキャンセルし、再度そのページを解析し直す必要があり、処理のオーバーヘッドが発生する。このページセット構造を管理するためのタイムラグが、画像データの生成の遅延につながってしまい、画像データ生成処理が印刷処理に追いつかなくなってしまう。また、画像データを生成する処理が遅れてしまった結果、画像を転写する画像転写体に画像を載せられず、シートの搬送は停止し、定着器をシートが通過しないために熱がこもってしまう。一度、熱がこもることによる急激な温度上昇が発生すると安定した品質の印刷を維持することができなくなる。そこで、本実施形態では、印刷装置が受信した印刷データが、ページセットごとに異なる処理を指定可能な印刷データである場合には、解析済みのページが所定の数以上になるまで印刷を開始せず、所定の数以上になったことを条件に印刷を開始する。それによって、印刷を開始した後に、画像データの生成時間の遅延による印刷動作の停止を防ぐ。その処理について以下に説明する。
【0039】
[印刷装置の全体的な処理手順(図4)]
図4は、印刷装置における処理を示すシーケンス図である。
【0040】
このページセット検出シーケンスは、Network制御部202、印刷ジョブ制御部203、PDL解析部205、印刷制御部209によって行われる。
【0041】
まず、印刷装置602のNetwork制御部202は、ホストPC601から送信されたPostScript形式のレコードデータで構成される印刷ジョブデータを受信する。Network制御部202は、受信した印刷ジョブデータをHDD106へ逐次、書き込みを行い、印刷ジョブの受信を印刷ジョブ制御部203に通知する(S301)。
【0042】
印刷ジョブ制御部203は、この通知によりPSデータの受信開始を検出し、印刷ジョブの処理を開始する。具体的には、印刷ジョブ制御部203の内部でジョブ管理のためのインスタンスを生成する。そして、印刷ジョブ制御部203は、その下位にページセット管理のためのインスタンスを生成し、関連付けを行うと共にPDL解析部205に対して、PSファイルの展開を指示する(S302)。
【0043】
S303〜S314では、印刷ジョブ制御部203からの指示に基づき、PSデータの展開処理が実行される。まず、1ページ分のPSデータをページセット判定用にページセット検出部206に転送する(S303)。そして、ページセット検出部206は、該当ページデータの中にレコードの切れ目である、ページセットの開始通知(ページセットの先頭であることを示す情報)とページセット単位のフィニッシング指定に関する情報が含まれるか否かの検索を行う(S304)。
【0044】
そして、ページセット検出部206からPDL解析部205へその判定結果が通知され(S305)、また、PDL解析部205から印刷ジョブ制御部203へその判定結果が通知される(S306)。S305でPDL解析部205がページセットの検出通知を受信しなかった場合には、ページセットが含まれない通常の印刷ジョブであるため、PDL解析部205は、印刷ジョブ制御部203にページ処理の開始を通知する(S312)。その場合、印刷ジョブ制御部203は、データ描画部208にページの展開を開始させる。そして、印刷制御部209は、1ページ目の展開が終わったことを条件に印刷を開始する。その後、データ描画部208は、ページの展開処理を進め、展開が終わったページから順に印刷制御部209が印刷するよう制御する。
【0045】
一方、S306で印刷ジョブ制御部203がページセットの検出通知を受信した場合には、S307〜S311までのページセット検出時の処理が行われる。ページセット検出部206の判定により、PSデータ内のレコードの区切り位置を検出すると、印刷ジョブ制御部203からページセットフィニッシング制御部204に、新たなページセット情報の通知が行われる(S307)。
【0046】
新たなページセット情報の通知を受けたページセットフィニッシング制御部204は、前ページまでを1レコードとして認識し、ページセット単位のページ束情報と対応するページセットフィニッシング指示を確定させる(S308)。さらに、ページセットフィニッシング制御部204は、HDDにスプールされている解析済みのページ数の情報から印刷処理を開始するか否かを判定する。ページセットフィニッシング制御部204は、印刷開始後の印刷速度を判定する。なお、S308の詳細な処理手順については図5を用いて後述する。
【0047】
そして、S308で、ページセットフィニッシング制御部204が、印刷処理を開始するよう判定した場合、ページセット情報と印刷開始を示す判定結果を印刷制御部209に対して通知する(S309)。一方、ページセットフィニッシング部204が、印刷処理を開始しないよう判定した場合、印刷開始を示さない判定結果を印刷制御部209に対して通知する。印刷制御部209は、印刷開始を示す判定結果の通知を受信した場合に、レコード単位での印刷と、レコードごとに指定された後処理とを開始する。一方、印刷開始を示さない判定結果の通知を受信した場合、印刷制御部209は、印刷を開始せずに、印刷待ちリストに、解析されたデータをページセット単位で追加する。
【0048】
次に、ページセットフィニッシング制御部204は、S304で検出した次のページセットを処理するためのインスタンスを生成し、S304で検出したページセット条件をHDD106に保存する(S311)。
【0049】
PDL解析部205は、PSデータを展開してページ解釈処理を開始する旨の通知を印刷ジョブ制御部203に行い(S312)、そのページ解釈処理を行う(S313)。そして、PDL解析部205は、当該処理が終了した際に終了した旨の通知を印刷ジョブ制御部203に行う(S314)。
【0050】
印刷ジョブ制御部203は、PDL解析部205からページ解釈処理の終了通知を受信すると、データ描画部208に画像を印刷エンジン112に最適化したデータへ変換するためのレンダリング処理の開始を指示する(S315)。この指示を受けたデータ描画部208は、レンダリング処理を行って(S316)、当該処理が終了した際に終了した旨の通知を印刷ジョブ制御部203に行う(S317)。
【0051】
ページセットフィニッシング制御部204は、印刷ジョブ制御部203からページ生成終了通知を受ける度に(S318)、展開されたページを新たなページセットの子ページとして関連付けする(S319)。
【0052】
印刷制御部209は、S309でページセットフィニッシング制御部204から印刷開始を示す判定結果の通知を受信すると、先頭ページから印刷を開始し、フィニッシングまでの一連の処理を行う(S310)。印刷制御部209は、各ページ及び各ページセットの印刷が終了する度に、その旨をページセットフィニッシング制御部204に通知する(S320、S323)。この通知はS308での判定処理に用いられるため、必須の処理である。この通知を受信したページセットフィニッシング制御部204は、同様の通知を印刷ジョブ制御部203に行う(S321、S324)。
【0053】
[印刷開始条件判定処理(S308)の詳細な処理手順(図5)]
図5に示すフローチャートは、ページセットフィニッシング制御部204によって実行されるものである。つまり、CPU101が、ROM105に記憶されたプログラムを読み出して実行することによって実現されるものである。
まず、ページセットフィニッシング制御部204は、PDL解析部205から新たなページセットの検出通知(S307)を受信すると、次のページセットの開始指示を認識する(S401)。つまり、ページセットフィニッシング制御部204は、前のページまでに前のページセットが終了していることを認識する。よって、前のページまでで1つのページセットが確定するため、ページセットフィニッシング制御部204は、ページセット内の情報(例えば、ページ数等)を算出・確定させる(S402)。
【0054】
そして、ページセットフィニッシング制御部204は、最終確定したページ数を元にPSデータ内で指定されていたページセットフィニッシング指示が実行可能であるか否かを判定する(S403)。例えば、ページセットフィニッシングの指示としてパンチ処理が指定されていた場合に、ページ数がパンチ可能枚数を超えているような場合は、パンチ処理の指示を無効にする(印刷装置内部の保護処理)。
【0055】
次に、ページセットフィニッシング制御部204は、印刷装置内部でスプールしている印刷待ちのページセット数をカウントする(S404)。この時、前回のカウント結果は別途メモリ上に保持し、S406での判定処理の際に、ページセットフィニッシング制御部204がそのカウント結果を識別できるように記憶しておく。そして、S404と同様に、ページセットフィニッシング制御部204は、印刷制御部209への印刷指示を行わずに(サスペンド)、印刷装置内部でスプールしている印刷待ちのページ数をカウントする(S405)。カウントされたページ数は、HDD106内に保持される。
【0056】
そして、ページセットフィニッシング制御部204は、印刷待ちのページの数(解析済みのページの数)が所定の閾値を超えているか否かを判定する(S406)。所定の閾値として、例えば、印刷エンジン112が有する搬送経路に印刷時に滞留可能な滞留枚数(用紙搬送パスの最大同時搬送枚数)を用いることができる。なお、閾値の設定に依存するが、S406を、印刷待ちのページの数(解析済みのページの数)が所定の数以上である、所定の数未満であるかを判定しても構わない。印刷装置602は、滞留可能枚数分の用紙を所定の間隔をあけて給紙し、それらの用紙を印刷装置602が有する搬送経路に滞留させつつ印刷する滞留印刷を実行することができる。滞留枚数は、用紙のサイズによらずに印刷装置の設定として所定の値(例えば、3枚や4枚)が用いられるものとする。
【0057】
ページセットが含まれない印刷データを印刷する場合には、1ページのデータが生成される処理より、印刷のために1枚の用紙を給紙する速度のほうが遅いため、1ページ目のデータの生成が終わり次第印刷を開始してもよい。しかしながら、例えば、印刷データに複数のページセットが含まれる場合のように、ページデータの生成処理に時間がかかってしまう場合には、画像データの準備が間に合わないことがある。そのため、印刷装置は印刷を中断しなければならず印刷エンジンが空転してしまう。このとき、滞留可能枚数分の用紙に記録するページの画像データがスプールされていれば、印刷装置602は滞留印刷を続けることができる。そこで、本実施形態に係る印刷装置602のページセットフィニッシング制御部204は、S406で、印刷待ちのページの数(解析済みのページの数)が所定の閾値(例えば、滞留枚数)を超えているか否かを判定する。このような判定によって、印刷時に、ページセットの切替えに時間を要して、印刷動作が停止してしまうことを抑制することができる。
【0058】
印刷待ちのページ数が所定の閾値を超えていれば、印刷エンジン112からの次のページの読み出しにおいて遅延は発生しないため、ページセットフィニッシング制御部204は、S409に処理を進め、印刷を開始可能であると判定する。その後、図4のシーケンスに処理を戻し、ページセットフィニッシング制御部204は、判定結果を印刷制御部209に通知し、印刷制御部209に印刷を開始させる。一方、印刷待ちページ数が所定の閾値を超えていない場合には、印刷エンジン112側の速度に画像データの生成が間に合わず、印刷が途切れてしまう可能性があるため、印刷を開始可能であるあると判定せずにS401へ戻る。つまり、この場合、ページセットフィニッシング制御部204は、印刷が途切れてしまう可能性があるため、印刷の開始を制限している。その後、所定の閾値を超えるページ数のデータが印刷待ちとなった場合に、ページセットフィニッシング制御部204は、印刷制御部209に印刷開始を指示し、印刷制御部209は、印刷を実行する。
【0059】
このように、受信した印刷データが、複数のページセットからなり、各ページセットごとに異なる種類の処理が指定された印刷データである場合と、ページセットを含まない印刷データとで印刷の開始タイミングを変える。具体的に説明すると、ページセットを含まない印刷データに従った印刷を実行する場合、図5に示す処理を実行せずに、1ページのデータの解析が終わったタイミングで印刷を開始可能であると判定し、展開が終わったページから順に印刷を開始する。一方、複数のページセットからなり、各ページセットごとに異なる種類の処理が指定された印刷データに従った印刷を実行する場合、解析済みのページの数が所定の閾値以上になるまで印刷を開始せず、所定の閾値以上になったことを条件に印刷を開始する。それによって、画像データの生成処理が遅くなることが原因で、印刷動作が停止してしまうことを防ぐことができる。

[PSトランザクションデータのフィニッシング指示と出力例(図6、図7)]
ここでは、ジョブ内部に2つの
図6において、530は印刷装置の排紙トレイへの積載状況、540はジョブ内に含まれる各ページセットの排紙トレイ上の詳細を示している。図7では、530、540の出力結果を実現するためのPSコマンドを530、540の個々の結果と関連付けて説明する。
【0060】
ページセット510では、2箇所綴じを示すステープル処理511と印刷メディアを普通紙→厚紙→普通紙へと切り替え512を行う。ページセット520では、ステープル処理の左上1箇所綴じ521、用紙左側へのパンチ処理522、印刷メディアを普通紙→厚紙→コート紙への切り替え523、排紙トレイへ排出するときのシフト処理524を行う。
【0061】
PSデータ中におけるページセットの開始は、図7の551、552のタグにより検出される。PDL解析部205は、図7で示すPSストリームデータを受信し、逐次メモリにストアしながら解析を行う。まず、ページセットの開始を示すタグ551を検出し、そのページセットの処理に必要なフィニッシング指示であるステープル処理511及びメディア切り替え512をページセットフィニッシング制御部204へ通知する。メディア切り替え512に関しては、各ページ処理のタイミングで随時切り替えを通知し、Page10まで処理を継続する。
【0062】
Page11の処理に入ろうとしたところで、次のページセットの開始を示す区切り情報512を検出し、同様にページセットフィニッシング制御部204へページセット開始を通知する。この次のページセットの開始通知を受けて、ページセットフィニッシング制御部204は、S308〜S311の前ページセットの処理情報の確定と印刷制御部209の動作内容を決める判定処理を行う。551、552のページセット開始情報がS305、S306、S307のページセット情報のイベント・トリガである。S308において確定するページセット処理情報とは、ページセット510の場合はステープル処理511とメディア切り替え512の2点、ページセット520の場合はステープル処理521、パンチ処理522、メディア切り替え523、シフト処理524の4点である。なお、これらの他にフィニッシング処理として、折り処理や挿入処理を指定することも可能である。
【0063】
以上述べた通り、本実施形態によれば、データ受信後、印刷開始までに印刷エンジンに転送するページ画像バッファに格納される画像を適切なページ分確保することができる。
【0064】
なお、印刷を開始した後、ページセットフィニッシング制御部204は、印刷待ちのページ数の変化を、所定時間ごとに確認してもよい。印刷待ちのページ数が減少している場合、ページセットフィニッシング制御部204は、印刷制御部209に、エンジン印刷速度を遅くするよう指示してもよい。それによって、ページ画像バッファに格納される画像が不足する場合には事前に印刷速度の増減の調整を行うことによって、搬送されるシートが途切れることを防ぐことができる。
【0065】
なお、上述した実施形態のS406において、ページセットフィニッシング制御部204が、印刷待ちのページ数が所定の閾値を超えているか否かを判定する例を説明した。このS406において、ページセットフィニッシング制御部204は、印刷待ちのページセット数(束数)が所定の閾値以上であるか否かを判定するようにしてもよい。なぜならば、印刷待ちのページセットの数が所定の閾値を超えている場合、例え1つのページセットに1ページしか含まれていなくても、閾値で示される枚数分だけの印刷すべきデータがHDD106に保存されていることが保障される。このような判定によって、印刷時に、ページセットの切替えに時間を要して、印刷動作が停止してしまうことを抑制することができる。
【0066】
本実施形態におけるフローチャートに示す機能は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア(プログラム)をコンピュータパソコン等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。

【特許請求の範囲】
【請求項1】
それぞれのページセットごとに異なる処理を指定可能な複数のページセットと、当該複数のページセットに含まれるページとを含む印刷データを受信する受信手段と、
前記受信手段によって受信された印刷データに含まれるページを解析する解析手段と、
前記解析手段によって解析されたページの数が所定の数以上である場合に印刷を開始し、前記解析手段によって解析されたページの数が前記所定の数未満である場合に印刷の開始を制限する印刷制御手段と
を有することを特徴とする印刷装置。
【請求項2】
それぞれのページセットごとに異なる処理を指定可能な複数のページセットと、当該複数のページセットに含まれるページとを含む印刷データを受信する受信手段と、
前記受信手段によって受信された印刷データに含まれるページセットを解析する解析手段と、
前記解析手段によって解析されたページセットの数が所定の数を超えている場合に印刷を開始し、前記解析手段によって解析されたページセットの数が前記所定の数を超えていない場合に印刷の開始を制限する印刷制御手段と
を有することを特徴とする印刷装置。
【請求項3】
前記印刷制御手段は、前記解析手段によって解析されたページの数の増減に基づいて、印刷速度を増減することを特徴とする請求項1に記載の印刷装置。
【請求項4】
前記所定の数は、前記印刷装置に設けられたシートの搬送経路に印刷時に滞留させることができる滞留枚数であることを特徴とする請求項1乃至3のいずれか1項に記載の印刷装置。
【請求項5】
前記印刷データは、それぞれのページセットごとにパンチ処理、ステープル処理、折り処理、挿入処理、シフト処理のいずれかを指定可能であることを特徴とする請求項1に記載の印刷装置。
【請求項6】
前記印刷データは、それぞれのページセットごとに異なる印刷媒体を使用するよう指定可能であることを特徴とする請求項1に記載の印刷装置。
【請求項7】
それぞれのページセットごとに異なる処理を指定可能な複数のページセットと、当該複数のページセットに含まれるページとを含む印刷データを受信する受信工程と、
前記受信工程で受信された印刷データに含まれるページを解析する解析工程と、
前記解析工程で解析されたページの数が所定の数を超えている場合に印刷を開始し、前記解析工程で解析されたページの数が前記所定の数を超えていない場合に、印刷を開始しないよう制御する印刷制御工程と
を有することを特徴とする印刷装置の制御方法。
【請求項8】
請求項7に記載された印刷装置の制御方法を、コンピュータに実行させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−30575(P2012−30575A)
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願番号】特願2011−126256(P2011−126256)
【出願日】平成23年6月6日(2011.6.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】