(57)【要約】  【課題】プリンターによりジャム発生時のリカバリー印刷を行う。  【解決手段】印刷制御装置は、ラスターデータとページ記述言語データとを含む印刷データを生成して、印刷装置に送信する。印刷装置は、印刷データを印刷制御装置から受信し、受信された印刷データを記憶する。また、印刷装置は、記憶されたラスターデータを用いて印刷を行い、印刷が完了した部分のラスターデータを削除する第１の印刷処理と、ジャムが発生した場合に、記憶されたページ記述言語データに基づいてラスターデータを生成し、当該ラスターデータを用いてジャムが発生したページの先頭から印刷を行う第２の印刷処理と、を実行する。【選択図】図１
2010284810.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置であって、
ラスターデータとページ記述言語データとを含む印刷データを受信する受信手段と、
受信された印刷データを記憶する記憶手段と、
前記記憶手段に記憶されたラスターデータを用いて印刷を行い、印刷が完了した部分のラスターデータを前記記憶手段から削除する第１の印刷処理と、
ジャムが発生した場合に、前記記憶手段に記憶されたページ記述言語データに基づいてラスターデータを生成し、当該ラスターデータを用いてジャムが発生したページの先頭から印刷を行う第２の印刷処理と、を行う印刷手段と、を有する、
ことを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置であって、
前記印刷手段は、前記第２の印刷処理において、
前記第１の印刷処理によりラスターデータが削除されていない部分まで印刷を完了した場合、前記記憶手段に記憶されているラスターデータを用いて、ジャムが発生したページの印刷を継続する、
ことを特徴とする印刷装置。
【請求項３】
請求項２に記載の印刷装置であって、
前記印刷手段は、前記第２の印刷処理において、
前記記憶手段に記憶されたページ記述言語データもしくはラスターデータを用いて、ジャムが発生したページの印刷を完了した場合、前記第１の印刷処理を再開する、
ことを特徴とする印刷装置。
【請求項４】
請求項１〜３いずれか一項に記載の印刷装置であって、
前記印刷手段は、前記第２の印刷処理において、
前記記憶手段に記憶されたページ記述言語データに基づいてラスターデータを生成する第１のモードと、
前記記憶手段に記憶されたページ記述言語データに基づいて、所定の処理を施すことにより前記第１のモードよりもデータ量を削減したラスターデータを生成する第２のモードと、を有する、
ことを特徴とする印刷装置。
【請求項５】
請求項４に記載の印刷装置であって、
前記印刷手段は、
ユーザーからの指示、または前記記憶手段の空き容量に応じて、前記第１のモードおよび第２のモードを切り替える、
ことを特徴とする印刷装置。
【請求項６】
請求項１〜５いずれか一項に記載の印刷装置であって、
前記受信手段は、
ジャムが発生した場合、前記印刷データの受信を停止し、
前記印刷手段による前記第２の印刷処理が終了した場合、前記印刷データの受信を再開する、
ことを特徴とする印刷装置。
【請求項７】
印刷装置を制御する印刷制御装置としてコンピューターを機能させるプリンタードライバーであって、
１ページを所定の大きさの複数の領域に分割し、前記領域ごとに、ラスターデータとページ記述言語データとを含む印刷データを生成する印刷データ生成手段と、
前記領域ごとの印刷データを順次前記印刷装置に送信する印刷データ送信手段として、前記コンピューターを機能させる、
ことを特徴とするプリンタードライバー。
【請求項８】
請求項７記載のプリンタードライバーであって、
前記送信手段は、
前記印刷装置からの停止要求を受信した場合、前記印刷データの送信を停止し、
前記印刷装置から再開要求を受信した場合、前記印刷データの送信を再開する、
ことを特徴とするプリンタードライバー。
【請求項９】
印刷装置および印刷制御装置を備える印刷システムであって、
前記印刷制御装置は、
ラスターデータとページ記述言語データとを含む印刷データを生成する印刷データ生成手段と、
前記印刷データを前記印刷装置に送信する印刷データ送信手段と、を有し、
前記印刷装置は、
前記印刷データを前記印刷制御装置から受信する受信手段と、
受信された印刷データを記憶する記憶手段と、
前記記憶手段に記憶されたラスターデータを用いて印刷を行い、印刷が完了した部分のラスターデータを前記記憶手段から削除する第１の印刷処理と、
ジャムが発生した場合に、前記記憶手段に記憶されたページ記述言語データに基づいてラスターデータを生成し、当該ラスターデータを用いてジャムが発生したページの先頭から印刷を行う第２の印刷処理と、を行う印刷手段と、を有する、
ことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、印刷装置におけるジャムのリカバリー技術に関する。
【背景技術】
【０００２】
インクジェットプリンターのようなシリアルプリンターは、ラスターデータを順次受信して印刷を実行し、印刷が終わったラスターデータについては順次削除していく。そのため、シリアルプリンターは、１ページ分のラスターデータを格納するためのメモリーを有する必要がない。このような構成により、シリアルプリンターは、一般的に、ページプリンターと比較してより小型化および低価格化することができる。
【０００３】
ところで、印刷媒体のジャムが発生した場合、ジャムが発生したページの再印刷（以下では、「リカバリー印刷」と呼ぶことがある。）が自動的に実行されるのがユーザーにとって好ましい。しかし、シリアルプリンターは、ジャム発生時点で印刷が完了しているラスターデータを記憶していないため、ジャムが発生したページのリカバリー印刷を単独で行うことができない。リカバリー印刷を実行するためには、ユーザーは、ホストコンピューターからジャムが発生したページの印刷を指示する必要がある。
【０００４】
上記のような問題に対しては、ホストコンピューターにプリントマネージャー設け、プリンターに印刷データを送信後も当該印刷データをプリントマネージャーに保存しておき、ジャム発生時にホストコンピューターの印刷データを使用してリカバリー印刷を行う技術がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２８２１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の技術では、ホストコンピューターは、一度プリンターに送信した印刷データを保存しておく必要がある。また、ホストコンピューターに保存された印刷データを使用しなければ、プリンターはリカバリー印刷を実行できない。すなわち、プリンター単独でリカバリー印刷を実行することができない。
【０００７】
そこで、本発明は、プリンターによりジャム発生時のリカバリー印刷を行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するための本発明の第１態様は、印刷装置であって、ラスターデータとページ記述言語データとを含む印刷データを受信する受信手段と、受信された印刷データを記憶する記憶手段と、前記記憶手段に記憶されたラスターデータを用いて印刷を行い、印刷が完了した部分のラスターデータを前記記憶手段から削除する第１の印刷処理と、
ジャムが発生した場合に、前記記憶手段に記憶されたページ記述言語データに基づいてラスターデータを生成し、当該ラスターデータを用いてジャムが発生したページの先頭から印刷を行う第２の印刷処理と、を行う印刷手段と、を有する、ことを特徴とする。
【０００９】
ここで、上記の印刷装置であって、前記印刷手段は、前記第２の印刷処理において、前記第１の印刷処理によりラスターデータが削除されていない部分まで印刷を完了した場合、前記記憶手段に記憶されているラスターデータを用いて、ジャムが発生したページの印刷を継続する、ことを特徴としていてもよい。
【００１０】
また、上記の印刷装置であって、前記印刷手段は、前記第２の印刷処理において、前記記憶手段に記憶されたページ記述言語データもしくはラスターデータを用いて、ジャムが発生したページの印刷を完了した場合、前記第１の印刷処理を再開する、ことを特徴としていてもよい。
【００１１】
また、上記の印刷装置であって、前記印刷手段は、前記第２の印刷処理において、前記記憶手段に記憶されたページ記述言語データに基づいてラスターデータを生成する第１のモードと、前記記憶手段に記憶されたページ記述言語データに基づいて、所定の処理を施すことにより前記第１のモードよりもデータ量を削減したラスターデータを生成する第２のモードと、を有する、ことを特徴としていてもよい。
【００１２】
また、上記の印刷装置であって、前記印刷手段は、ユーザーからの指示、または前記記憶手段の空き容量に応じて、前記第１のモードおよび第２のモードを切り替える、ことを特徴としていてもよい。
【００１３】
また、上記の印刷装置であって、前記受信手段は、ジャムが発生した場合、前記印刷データの受信を停止し、前記印刷手段による前記第２の印刷処理が終了した場合、前記印刷データの受信を再開する、ことを特徴としていてもよい。
【００１４】
上記の課題を解決するための本発明の第２態様は、印刷装置を制御する印刷制御装置としてコンピューターを機能させるプリンタードライバーであって、１ページを所定の大きさの複数の領域に分割し、前記領域ごとに、ラスターデータとページ記述言語データとを含む印刷データを生成する印刷データ生成手段と、前記領域ごとの印刷データを順次前記印刷装置に送信する印刷データ送信手段として、前記コンピューターを機能させる、ことを特徴とする。
【００１５】
ここで、上記のプリンタードライバーであって、前記送信手段は、前記印刷装置からの停止要求を受信した場合、前記印刷データの送信を停止し、前記印刷装置から再開要求を受信した場合、前記印刷データの送信を再開する、ことを特徴としていてもよい。
【００１６】
上記の課題を解決するための本発明の第３態様は、印刷装置および印刷制御装置を備える印刷システムであって、前記印刷制御装置は、ラスターデータとページ記述言語データとを含む印刷データを生成する印刷データ生成手段と、前記印刷データを前記印刷装置に送信する印刷データ送信手段と、を有し、前記印刷装置は、前記印刷データを前記印刷制御装置から受信する受信手段と、受信された印刷データを記憶する記憶手段と、前記記憶手段に記憶されたラスターデータを用いて印刷を行い、印刷が完了した部分のラスターデータを前記記憶手段から削除する第１の印刷処理と、ジャムが発生した場合に、前記記憶手段に記憶されたページ記述言語データに基づいてラスターデータを生成し、当該ラスターデータを用いてジャムが発生したページの先頭から印刷を行う第２の印刷処理と、を行う印刷手段と、を有する、ことを特徴とする。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態の一例である印刷システムの機能構成を示すブロック図。
【図２】各バンドのラスターデータおよびＰＤＬデータのメモリーの使用手順の一例を説明する図。
【図３】印刷システムのハードウェア構成の一例を示すブロック図。
【図４】ジャム発生後のリカバリー印刷処理の一例を説明するフロー図
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態について図面を参照して説明する。
【００１９】
図１は、本発明の一実施形態の一例である印刷システムの機能構成を示すブロック図である。
【００２０】
印刷システム３は、ホストＰＣ１と、プリンター２とを備える。ホストＰＣ１と、プリンター２とは、ＬＡＮなどのネットワークを介して接続されている。もちろん、印刷システム３の構成は、上記に限られず、例えば、ホストＰＣ１を複数備えていてもよい。
【００２１】
ホストＰＣ１は、例えば、図３に示すように、各種演算を行うＣＰＵ１１と、ＣＰＵ１１が実行するプログラムやデータを格納するＲＡＭ１２と、起動に必要なプログラムやデータを予め格納するＲＯＭ１３と、ハードディスク等の補助記憶装置１４と、ユーザーインターフェイス画面などを表示するＬＣＤなどの表示装置１５と、キーボードやマウス等の入力装置１６と、ＣＤ−ＲＯＭ等の可搬性を有する可搬型記憶媒体の情報を読み出すメディア読取装置１７と、ＬＡＮなどのネットワークを介して外部装置と通信を行う通信装置１８とを備える、一般的なコンピューターである。
【００２２】
上記のホストＰＣ１の構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記に限られない。また、一般的なコンピューターが備える他の構成を排除するものではない。
【００２３】
プリンター２は、例えば、図３に示すように、印刷コントローラー２０と、印刷エンジン３０と、操作パネル４０とを備える。
【００２４】
印刷コントローラー２０は、プリンター２全体を制御するユニットである。印刷コントローラー２０は、例えば、受信した印刷ジョブに応じた内容の印刷を印刷エンジン３０に実行させる処理、操作パネル４０における表示処理、操作パネル４０におけるユーザーの操作を検知する処理などを行う。
【００２５】
印刷コントローラー２０は、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、通信インターフェイス２４、インターフェイス２５、画像処理回路２６などを有する。
【００２６】
ＲＯＭ２３は、各種のプログラム、データ等が記憶された不揮発性メモリーである。ＲＯＭ２３は、例えば、データの書き換えが可能な、フラッシュＲＯＭである。ＲＡＭ２２は、ＲＯＭ２３に記憶されているプログラム、データ等がロードされるメモリーである。ＣＰＵ２１は、ＲＡＭ２２にロードされたプログラムにしたがって、他のハードウェアを制御し、各種の処理を実行する演算回路である。
【００２７】
本実施形態では、プリンター２はいわゆるシリアルプリンターであるため、ＲＡＭ２２は、１ページ分のラスターデータを格納するための容量を有さない。
【００２８】
通信インターフェイス２４は、ホストＰＣ１などと各種データの送受信を行うための回路からなるユニットである。通信インターフェイス２４は、ＣＰＵ２１の制御の下で、例えば、ホストＰＣ１などから受信した印刷データをＲＡＭ２２に転送する処理などを行う。
【００２９】
インターフェイス２５は、ＣＰＵ２１と印刷エンジン３０との間、ＣＰＵ２１と操作パネル４０との間で、各種のデータを送受信するための回路からなるユニットである。インターフェイス２５は、ＣＰＵ２１の制御の下で、例えば、制御信号を印刷エンジン３０に送信する処理、ＲＡＭ２２に記憶された表示用のデータを操作パネル４０に送信する処理、操作パネル４０から受信したデータをＲＡＭ２２に転送する処理などを行う。
【００３０】
画像処理回路２６は、各種の画像処理を行うためのユニットである。画像処理回路２６は、例えば、ＲＡＭ２２もしくは通信インターフェイス２４からラスターデータを受信し、各種の画像処理を行って印刷エンジンで解釈可能なデータを生成し、印刷エンジン３０に出力する。
【００３１】
印刷エンジン３０は、印刷コントローラー２０の制御の下、印刷コントローラー２０から受信したデータに基づいて印刷媒体に印刷を行うユニットである。印刷エンジン３０は、例えば、インクジェット方式のエンジンである。また、印刷エンジン３０は、カラー印刷およびモノクロ印刷を選択的に実行可能なエンジンである。印刷エンジン３０は、例えば、給紙装置、インクカートリッジ、印刷ヘッド、各種のモーターやローラーなどを備える。
【００３２】
操作パネル４０は、ユーザーとプリンター２との間の入出力インターフェイスとして、プリンター２の筐体に設けられているユニットである。操作パネル４０は、例えば、ＬＣＤなどのディスプレイ、ＬＣＤの画面に貼られた透過性のあるタッチパネルなどを備える。また、ボタンキーなどの各種ハードスイッチを有していてもよい。操作パネル４０は、印刷コントローラー２０の制御の下で、例えば、操作メニューなどを表示する。また、表示された画像のＸＹ座標と対応したタッチ位置を特定し、タッチ位置を座標に変換して印刷コントローラー２０に出力する。
【００３３】
なお、上記のプリンター２の構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記に限られない。例えば、プリンター２は、シリアルプリンターに限られず、ラインプリンターであってもよい。また、一般的なプリンターが備える他の構成を排除するものではない。
【００３４】
図１に戻って、ホストＰＣ１は、プリンタードライバー部１００を有する。この機能部は、例えば、ＣＰＵ１１が補助記憶装置１４からＲＡＭ１２にロードした所定のプリンタードライバープログラムを実行することにより実現される。プリンタードライバープログラムは、例えば、ネットワークからダウンロードされてインストールもしくは更新される。もちろん、メディア読取装置１７によりＣＤ−ＲＯＭ等の記憶媒体から読み出されてインストールもしくは更新されてもよい。
【００３５】
プリンタードライバー部１００は、ユーザーにより指定された印刷対象のデータおよび印刷設定に基づいてＰＤＬ（page description language：ページ記述言語）データを生成する。なお、ＰＤＬとは、ページを構成する文字、グラフィックス等をオブジェクト単位で表現した高級言語である。また、プリンタードライバー部１００は、各ページのＰＤＬデータを、複数（Ｎ個）のブロックのＰＤＬデータに分割する。また、各ブロックのＰＤＬデータに基づいてラスターデータを生成する。
【００３６】
ここで、各ブロックのＰＤＬデータは、１ページのラスターデータを構成するバンドのラスターデータを生成できるように分割されたデータである。バンドとは、１ページのラスターデータ（主走査幅Ｘ、副走査幅Ｙ）を、複数に分割した領域（主走査幅Ｘ、所定の副走査幅ｙ）である。本実施形態では、副走査幅ｙは全バンドにおいて等しいものとするが、バンドごとに異なっていてもよい。なお、１ページのＰＤＬデータのバンド単位への分割方法は特に限定されない。
【００３７】
プリンタードライバー部１００は、各ページについて、バンド毎に、当該バンドのラスターデータおよびＰＤＬデータを含む印刷データをプリンター２に送信する。送信する順序は、あるページについてバンドがＮ個ある場合、印刷される１〜Ｎの順序である。なお、プリンタードライバー部１００は、印刷データの送信の停止要求をプリンター２から受け付けた場合は、印刷データの送信を停止する。また、印刷データの送信の再開要求を受け付けた場合は、未送信のデータから印刷データの送信を再開する。
【００３８】
また、プリンタードライバー部１００は、表示装置１５にユーザーインターフェイス画面を表示して、入力装置１６により、後述するリカバリー印刷モード（「画質優先モード」、「速度優先モード」、「モノクロモード」、「自動モード」）の設定を受け付ける。また、設定されたモードを示す情報を、プリンター２に送信する。
【００３９】
プリンター２は、受信部２００と、言語処理部２１０と、描画処理部２２０と、出力部２３０と、印刷部２４０と、メモリー管理部２５０と、メモリー２６０と、操作部２７０とを有する。
【００４０】
言語処理部２１０と、描画処理部２２０と、出力部２３０と、メモリー管理部２５０と、操作部２７０とは、例えば、印刷コントローラー２０により、主にＣＰＵ２１がＲＯＭ２３からＲＡＭ２２にロードした所定のプログラムを実行することにより実現される。受信部２００は、例えば、主に通信インターフェイス２４の受信バッファー（不図示）などにより実現される。印刷部２４０は、例えば、主に印刷エンジン３０により実現される。メモリー２６０は、例えば、ＲＡＭ２２により実現される。
【００４１】
受信部２００は、いわゆる受信バッファーとして機能する。受信部２００は、ホストＰＣ１から各バンドの印刷データを受信し、一時的に格納する。受信データ量が受信可能な容量を超えた場合は、ホストＰＣ１のプリンタードライバー部１００に、停止要求を送信する。所定の容量が空いてデータを受信可能となった場合には、再開要求を送信する。
【００４２】
言語処理部２１０は、通常の印刷の場合、受信部２００から各バンドの印刷データを取得し、メモリー２６０に格納する。そして、受信した順にバンドのラスターデータに基づいて印刷を行うように出力部２３０に要求する。なお、後述するように、出力部２３０は、メモリー２６０から印刷部２４０に出力が終了しかつ印刷部２４０による印刷が終了したバンドのラスターデータを、メモリー２６０から削除する。ただし、ＰＤＬデータは削除しない。
【００４３】
ここで、図２を参照して、各バンドのラスターデータおよびＰＤＬデータのメモリーの使用手順を説明する。各バンドの印刷データ（ラスターデータおよびＰＤＬデータ）は、ホストＰＣ１から受信された順番（バンド番号順）でメモリー２６０に格納される（図中の「○」）。また、受信された順番で出力部２３０により印刷部２４０へ出力されて印刷が終了したバンドについては、ＰＤＬデータを残してラスターデータは削除される（図中の「×」）。このように、印刷が終了したバンドについては、ＰＤＬデータが残り、印刷が終了していないバンドについては、ラスターデータおよびＰＤＬデータの両方が残る。
【００４４】
図１に戻って、ジャム発生後のリカバリー印刷の場合、言語処理部２１０は、リカバリー印刷対象のページ（ジャムが発生したページ）について、再度先頭のバンドから順に（１〜Ｎの順）に印刷が実行されるように制御する。
【００４５】
すなわち、言語処理部２１０は、ＰＤＬデータのみがメモリー２６０に残っているについては、ＰＤＬデータを取得して、中間言語データを生成する。そして、生成した中間言語データをメモリー２６０に格納するとともに、当該中間言語データに基づいてラスターデータを生成するように描画処理部２２０に要求する。なお、中間言語データ（「中間コード」とも呼ばれる。）は、ＰＤＬをよりプリンター２が解釈しやすい形式に変換した言語体系である。
【００４６】
一方、ラスターデータがメモリー２６０に残っているバンドについては、言語処理部２１０は、当該ラスターデータに基づいて印刷を行うように出力部２３０に要求する。ＰＤＬデータのみまたはラスターデータおよびＰＤＬデータがメモリー２６０に格納されている全てのバンドについて印刷が終了した場合、言語処理部２１０は、受信部２００から次のバンドの印刷データを取得し、通常の印刷の制御を再開する。
【００４７】
本実施形態では、さらに、言語処理部２１０は、ジャム発生後のリカバリー印刷において、複数の印刷モード（「画質優先モード」、「速度優先モード」、「モノクロモード」）に従って制御を行う。この印刷モードは、後述するメモリー管理部２５０の要求によって切り替えられる。
【００４８】
「画質優先モード」では、言語処理部２１０は、ラスターデータがメモリー２６０に格納されていないバンドについて、ＰＤＬデータに基づいてそのまま中間言語データを生成する。
【００４９】
「速度優先モード」では、言語処理部２１０は、ラスターデータがメモリー２６０に格納されていないバンドのＰＤＬデータについて、イメージ描画に関する記述を省き、イメージ描画に関するコードを省いた中間言語データを生成する。
【００５０】
「モノクロモード」では、言語処理部２１０は、ラスターデータがメモリー２６０に格納されていないバンドのＰＤＬデータについて、モノクロ印刷となるように記述を変更し、モノクロ印刷の中間言語データを生成する。
【００５１】
上記のように、ＰＤＬデータの解釈のレベルを変更して中間言語データを生成することにより、使用するメモリーの容量、ＣＰＵや画像処理回路の処理データ量、印刷エンジンの処理データ量などが削減される。すなわち、「速度優先モード」や「モノクロモード」では、処理すべきデータ量が「画質優先モード」よりも削減されるため、リカバリー印刷の処理負担がより軽減される。もちろん、リカバリー印刷モードの種類、数などは上記に限られない。
【００５２】
描画処理部２２０は、言語処理部２１０から指定されたバンドの中間言語データを取得し、当該中間言語データに基づいてラスターデータを生成する。また、生成したラスターデータをメモリー２６０に格納するとともに、当該ラスターデータに基づいて印刷を行うように出力部２３０に要求する。
【００５３】
出力部２３０は、言語処理部２１０から指定されたバンドのラスターデータ、もしくは、描画処理部２２０から指定されたバンドのラスターデータを、メモリー２６０から取得し、印刷部２４０に出力する。出力部２３０は、印刷部２４０の印刷処理と連動してデータを出力し、印刷対象のバンドについて、ラスターデータの印刷部２４０への出力が終了しかつ印刷部２４０の印刷が終了した場合に、当該バンドのラスターデータをメモリー２６０から削除する。このとき、印刷対象のページの印刷が完了するまで、ジャム発生後のリカバリー印刷に対処するため、ＰＤＬデータを削除せずに保存しておく。
【００５４】
また、出力部２３０は、印刷部２４０のジャムの発生を検知した場合は、言語処理部２１０に処理の停止を要求する。一方、印刷媒体などの紙詰まりが解消されて、ジャムが解消した場合、リカバリー印刷を開始する要求を言語処理部２１０に要求する。
【００５５】
印刷部２４０は、出力部２３０から送られたバンドのラスターデータに従って、印刷エンジン３０による印刷媒体への印刷を実行する。また、印刷部２４０は、ジャムの検出、ジャムの解消の検出などを行い、出力部２３０に通知する。
【００５６】
メモリー管理部２５０は、言語処理部２１０、描画処理部２２０、出力部２３０の指示に従って、メモリー２６０に、ＰＤＬデータ、中間言語データ、ラスターデータ等を格納する領域を確保したり、開放したりする。
【００５７】
また、メモリー管理部２５０は、ホストＰＣ１のプリンタードライバー部１００や操作部２７０からの指示に従って、上述したリカバリー印刷モード（「画質優先モード」、「速度優先モード」、「モノクロモード」）のいずれかを設定する。また、設定したモードを、言語処理部２１０に通知する。
【００５８】
「画質優先モード」では、メモリー管理部２５０は、少なくとも１つのバンドの、ＰＤＬデータに基づいてそのまま生成される中間言語データ、および当該中間言語データから生成されるラスターデータを格納するための領域を、メモリー２６０に確保する。これらの１バンド分の中間言語データおよびラスターデータのサイズは、例えば、統計的に算出した値に基づいて予め定めることができる。なお、メモリー管理部２５０は、上記の領域をメモリー２６０に確保できない場合には、メモリー２６０に残っているラスターデータを削除する。
【００５９】
「速度優先モード」では、メモリー管理部２５０は、少なくとも１つのバンドの、イメージ描画を省いたＰＤＬデータに基づいて生成される中間言語データ、および当該中間言語データから生成されるラスターデータを格納するための領域を、メモリー２６０に確保する。これらの１バンド分の中間言語データおよびラスターデータのサイズは、例えば、統計的に算出した値に基づいて予め定めることができる。なお、メモリー管理部２５０は、メモリー２６０に残っているラスターデータを削除する。もちろん、上記の領域をメモリー２６０に確保できない場合に削除するようにしてもよい。
【００６０】
「モノクロモード」では、メモリー管理部２５０は、少なくとも１つバンドの、モノクロ印刷を指定したＰＤＬデータに基づいて生成される中間言語データ、および当該中間言語データから生成されるラスターデータを格納するための領域を、メモリー２６０に確保する。これらの１バンド分の中間言語データおよびラスターデータのサイズは、例えば、統計的に算出した値に基づいて予め定めることができる。なお、メモリー管理部２５０は、メモリー２６０に残っているラスターデータを削除する。
【００６１】
また、メモリー管理部２５０は、ホストＰＣ１のプリンタードライバー部１００や操作部２７０からの指示に従って、「自動モード」の設定を受け付ける。この場合、メモリー管理部２５０は、メモリー２６０の空き容量に応じて、「画質優先モード」および「速度優先モード」、「モノクロモード」のいずれかを選択して設定する。また、設定したモードを、言語処理部２１０に通知する。モードの選択は、例えば、以下の条件に従って決定することができる。
【００６２】
（条件１）：空きメモリー容量  ＞  １バンドのラスターデータサイズ  ＋  １バンドのＰＤＬデータ最大サイズ  ×  α
（条件２）：空きメモリー容量  ＋  １バンドのラスターデータサイズ  ×  （印刷データ受信済みのバンド数  −  ＰＤＬデータのみのバンド数）  ＞  １バンドのラスターデータサイズ  ＋  １バンドのＰＤＬデータ最大サイズ  ×  α
（条件３）：空きメモリー容量  ＋  １バンドのラスターデータサイズ  ×  （印刷データ受信済みバンド数  −  ＰＤＬデータのみのバンド数）  ＞  １バンドのラスターデータサイズ  ＋  １バンドのＰＤＬデータ最大サイズ  ×  β
【００６３】
ここで、上記の「１バンドのラスターデータサイズ」は、例えば、１バンドのラスターデータとして取り得る最大の値である。また、上記の「ＰＤＬデータ最大サイズ」は、例えば、メモリー２６０に格納された受信済みの各バンドのＰＤＬデータのうち、最大のサイズを示す値である。また、印刷データ受信済みのバンド数からＰＤＬデータのみのバンド数を差し引くことにより、印刷が未完了のバンド数が算出される。
【００６４】
また、「α」は、受信したＰＤＬデータからそのまま中間言語データを生成した場合の、中間言語データサイズの予測値を算出するための係数である。また、「β」は、受信したＰＤＬデータからイメージ描画を省いたＰＤＬデータに基づいて中間言語データを生成した場合の、中間言語データサイズの予測値を算出するための係数である。「α」および「β」は、統計的に算出した値に基づいて予め定めることができる。なお、「β」は「α」よりも小さい値となる。
【００６５】
（条件１）が成立する場合、メモリー管理部２５０は、「画質優先モード」を設定する。この場合、メモリー管理部２５０は、メモリー２６０に残っているラスターデータを削除しない。
【００６６】
（条件１）が不成立かつ（条件２）が成立する場合、メモリー管理部２５０は、「画質優先モード」を設定する。この場合、メモリー管理部２５０は、メモリー２６０に残っているラスターデータを削除する。
【００６７】
（条件１）が不成立かつ（条件２）が不成立かつ（条件３）が成立する場合、メモリー管理部２５０は、「速度優先モード」を設定する。この場合、メモリー管理部２５０は、メモリー２６０に残っているラスターデータを削除する。
【００６８】
（条件１）が不成立かつ（条件２）が不成立かつ（条件３）が不成立の場合、メモリー管理部２５０は、「モノクロモード」を設定する。この場合、メモリー管理部２５０は、メモリー２６０に残っているラスターデータを削除する。
【００６９】
なお、リカバリー印刷モードの選択方法は、上述のようにメモリーの容量に応じた条件に限られず、例えば、ＣＰＵの処理速度に応じた条件としてもよい。
【００７０】
操作部２７０は、操作パネル４０のディスプレイに、リカバリー印刷モードを設定するためのユーザーインターフェイス画面を表示する。また、「画質優先モード」および「速度優先モード」、「モノクロモード」、「自動モード」の設定を受け付け、メモリー管理部２５０に通知する。
【００７１】
以上の各構成要素は、ホストＰＣ１およびプリンター２の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ホストＰＣ１およびプリンター２の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００７２】
次に、図４を参照して、プリンター２における特徴的なリカバリー印刷処理について説明する。図４は、ジャム発生後のリカバリー印刷処理の一例を説明するフロー図である。本フローは、印刷部２４０がジャムの解消の検出した場合に開始される。
【００７３】
Ｓ１０では、言語処理部２１０は、印刷未完了のバンドを特定する。具体的には、言語処理部２１０は、メモリー２６０にラスターデータが格納されているバンドを特定する。例えば、図２の例では、バンド４およびバンド６が特定される。そして、処理をＳ２０に進める。なお、Ｓ１０は、メモリー管理部２５０が実行してもよい。
【００７４】
Ｓ２０では、メモリー管理部２５０は、リカバリー印刷モードを設定する。具体的には、ユーザーにより「画質優先モード」、「速度優先モード」および「モノクロモード」のいずれかが予め設定されている場合、メモリー管理部２５０は、当該モードを言語処理部２１０に通知する。一方、ユーザーにより「自動モード」が予め設定されている場合、上述した条件に従って、「画質優先モード」、「速度優先モード」および「モノクロモード」のいずれかを選択し、設定する。また、設定したモードを言語処理部２１０に通知する。
【００７５】
また、メモリー管理部２５０は、上述したように、「画質優先モード」において必要な領域を確保できない場合、または、「速度優先モード」もしくは「モノクロモード」の場合、メモリー管理部２５０は、メモリー２６０に残っているラスターデータを削除する。例えば、図２の例では、バンド４および５のラスターデータが削除される。
【００７６】
それから、メモリー管理部２５０は、上述したように、設定したモードに応じて、少なくとも１つバンドの中間言語データおよび当該中間言語データから生成されるラスターデータを格納するための領域を、メモリー２６０に確保する。そして、メモリー管理部２５０は、処理をＳ３０に進める。
【００７７】
Ｓ３０では、言語処理部２１０は、印刷対象のバンド番号に１を設定する。なお、印刷対象のバンド番号とは、ページの先頭のバンドから順に再印刷を行うために使用されるバンドを特定する番号である。そして、言語処理部２１０は、処理をＳ４０に進める。
【００７８】
Ｓ４０では、言語処理部２１０は、印刷対象のバンドのラスターデータがメモリー２６０に格納されているか否かを判定する。ラスターデータが格納されていない場合（Ｓ４０：ＮＯ）、処理をＳ５０に進める。ラスターデータが格納されている場合（Ｓ４０：ＹＥＳ）、処理をＳ１１０に進める。例えば、Ｓ２０でラスターデータが削除されていない場合、図２の例では、バンド１〜３においてラスターデータが格納されていないと判定され、バンド４においてラスターデータが格納されていると判定される。
【００７９】
Ｓ５０では、言語処理部２１０は、印刷対象のバンドのＰＤＬデータをメモリー２６０から取得する。そして、処理をＳ６０に進める。
【００８０】
Ｓ６０では、言語処理部２１０は、Ｓ５０で取得したＰＤＬデータに基づいて、設定されているリカバリー印刷モードに応じた中間言語データを生成する。
【００８１】
すなわち、「画質優先モード」では、言語処理部２１０は、Ｓ５０で取得したＰＤＬデータに基づいてそのまま中間言語データを生成する。「速度優先モード」では、言語処理部２１０は、Ｓ５０で取得したＰＤＬデータについて、イメージ描画に関する部分を省いた中間言語データを生成する。「モノクロモード」では、言語処理部２１０は、Ｓ５０で取得したＰＤＬデータについて、モノクロ印刷となるように変更し、モノクロ印刷の中間言語データを生成する。それから、言語処理部２１０は、印刷対象のバンドの、生成した中間言語データをメモリー２６０に格納するとともに、描画処理部２２０に通知する。そして、処理をＳ７０に進める。
【００８２】
Ｓ７０では、描画処理部２２０は、Ｓ６０でメモリー２６０に格納された中間言語データを取得し、当該中間言語データに基づいてラスターデータを生成する。また、生成したラスターデータをメモリー２６０に格納するとともに、出力部２３０に通知する。そして、処理をＳ８０に進める。
【００８３】
Ｓ８０では、出力部２３０は、Ｓ７０でメモリー２６０に格納されたラスターデータを取得し、印刷部２４０に出力し、印刷を実行させる。そして、処理をＳ９０に進める。
【００８４】
Ｓ９０では、言語処理部２１０は、印刷対象のバンドがジャム発生時に受信済み（メモリー２６０に格納済み）の最後のバンドであるか否かを判定する。最後のバンドでない場合（Ｓ９０：ＮＯ）、処理をＳ１００に進める。最後のバンドである場合（Ｓ９０：ＹＥＳ）、処理をＳ２００に進める。例えば、Ｓ２０でラスターデータが削除された場合、図２の例では、バンド５が最後のバンドと判定される。
【００８５】
Ｓ１００では、言語処理部２１０は、印刷対象のバンド番号を１インクリメントする。そして、処理をＳ４０に戻す。
【００８６】
一方、Ｓ１１０では、言語処理部２１０は、メモリー２６０に格納されている印刷対象のバンドのラスターデータに基づいて印刷を行うように出力部２３０に通知する。そして、処理をＳ１２０に進める。
【００８７】
Ｓ１２０では、出力部２３０は、Ｓ１１０で指示された印刷対象のバンドのラスターデータを取得し、印刷部２４０に出力し、印刷を実行させる。そして、処理をＳ１３０に進める。
【００８８】
Ｓ１３０では、言語処理部２１０は、印刷対象のバンドがジャム発生時に受信済み（メモリー２６０に格納済み）の最後のバンドであるか否かを判定する。最後のバンドでない場合（Ｓ１３０：ＮＯ）、処理をＳ１４０に進める。最後のバンドである場合（Ｓ１３０：ＹＥＳ）、処理をＳ２００に進める。例えば、Ｓ２０でラスターデータが削除されていない場合、図２の例では、バンド５が最後のバンドと判定される。
【００８９】
Ｓ１４０では、言語処理部２１０は、印刷対象のバンド番号を１インクリメントする。そして、処理をＳ１１０に戻す。
【００９０】
一方、Ｓ２００では、通常の印刷処理が再開される。すなわち、言語処理部２１０は、受信部２００から次のバンドの印刷データを取得することにより、通常の印刷の制御を再開し、本フローを終了する。例えば、図２の例では、バンド６から、通常の印刷が再開される。
【００９１】
なお、以上の図４の各ステップは、プリンター２の処理を理解容易にするために、主な処理内容に応じて分割したものである。ステップの分割の仕方や名称によって、本願発明が制限されることはない。プリンター２の処理は、処理内容に応じて、さらに多くのステップに分割することもできる。また、１つのステップがさらに多くの処理を含むように分割することもできる。
【００９２】
以上、本発明の一実施形態について説明した。本実施形態によれば、プリンターによりジャム発生時のリカバリー印刷を行うことができる。
【００９３】
すなわち、本実施形態では、プリンターは、ラスターデータとＰＤＬデータをホストコンピューターから受信し、１ページ中の印刷が終了した部分について、ラスターデータを削除し、ＰＤＬデータを記憶しておく。そして、ジャム発生後のリカバリー印刷において、プリンターは、ＰＤＬデータに基づいて１ページの先頭から印刷を行う。このような構成により、インクジェットプリンターのようなシリアルプリンターであっても、単独でリカバリー印刷を行うことができる。
【００９４】
また、本実施形態では、プリンターは、リカバリー印刷のモードを、ユーザーの指示に応じて、もしくは、メモリーの空き容量に応じて変更することができる。すなわち、通常の印刷品質と同等のモードだけでなく、ＰＤＬデータから生成される中間言語データおよびラスターデータのサイズを小さくするモードで、リカバリー印刷が実行される。このような構成により、ページプリンターよりもメモリー容量が小さいシリアルプリンターであっても、できる限り単独でリカバリー印刷を行うことができる。
【００９５】
本発明は、特に、ビジネス用のインクジェットプリンターなどのシリアルプリンターに適用すればより効果的である。例えば、ユーザーが急いで印刷を行っている最中にジャムが発生することがある。このような場合に、ユーザーは、再度プリンタードライバーから印刷の操作を行わなくても、ジャムにより印刷に失敗したページが再印刷される。もちろん、シリアルプリンターに限られず、ラインプリンターに適用しても効果的である。
【００９６】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
【００９７】
例えば、自動モードにおいて、「画質優先モード」、「速度優先モード」および「モノクロモード」のいずれかを選択する処理を、プリンタードライバー部１００で実行し、プリンター２に設定するようにしてもよい。
【００９８】
また、例えば、プリンタードライバー部１００は、各ページについて、まず各バンドのＰＤＬデータをまとめて送信し、その後、各バンドのラスターデータを順次送信するようにしてもよい。このようにすれば、ジャムが発生した場合に、プリンター２に記憶されたＰＤＬデータを用いて、ジャムが発生したページ全体のリカバリー印刷を行うこともできる。また、ここで、ファーストプリントを早く開始するため、各ページの先頭のバンドについてはまずラスターデータを送信し、それからＰＤＬデータをまとめて送信し、その後残りのバンドのラスターデータを順次送信するようにしてもよい。
【符号の説明】
【００９９】
１：ホストＰＣ、２：プリンター、３：印刷システム、１１：ＣＰＵ、１２：ＲＡＭ、１３：ＲＯＭ、１４：補助記憶装置、１５：表示装置、１６：入力装置、１７：メディア読取装置、１８：通信装置、２０：印刷コントローラー、２１：ＣＰＵ、２２：ＲＡＭ、２３：ＲＯＭ、２４：通信インターフェイス、２５：インターフェイス、２６：画像処理回路、３０：印刷エンジン、４０：操作パネル、１００：プリンタードライバー部、２００：受信部、２１０：言語処理部、２２０：描画処理部、２３０：出力部、２４０：印刷部、２５０：メモリー管理部、２６０：メモリー、２７０：操作部
【図１】
2010284810.tif 000003
【図２】
2010284810.tif 000004
【図３】
2010284810.tif 000005
【図４】
2010284810.tif 000006