(57)【要約】      （修正有）【課題】電子メールを記憶保存するための大容量の不揮発性の記憶手段を不要としつつ、予期せぬ電源断が発生しても、電子メールの印刷処理を完了し、且つ記録紙等の記録媒体の無駄な消費を無くす。【解決手段】メールサーバから電子メールダウンロードした時点では電子メールの削除要求を発行せず、印刷処理を開始する。印刷処理開始に当たっては、先ずプリンタコントローラ内に設けられた不揮発性メモリに、その電子メールを特定する情報と、初期値“０”の印刷完了ページ番号を示す情報を書き込み、１ページ分の印刷完了毎にそのページ番号情報を更新する。そして、何らかの原因で電源断が発生した後の電源再投入時には、不揮発性メモリに格納されている情報に従って、該当する電子メールを再ダウンロードし、続きのページから印刷を再開する。そして、全ページの印刷完了の場合に、メールサーバに削除要求を行なうと共に、不揮発性メモリからも削除する。【選択図】  図１
2006185112.tif 000002
【特許請求の範囲】
【請求項１】
メールサーバと通信する通信手段を有し、受信した電子メールに基づく画像を所定の記録媒体上に印刷する印刷装置であって、
前記通信手段によって前記メールサーバから電子メールをダウンロードする電子メールダウンロード手段と、
ダウンロードした電子メールを特定する情報、並びに、１ページ分の印刷が完了する毎の印刷状況を示す情報を記憶保持するための不揮発性の記憶手段と、
前記ダウンロード手段でダウンロードした電子メールを特定する情報を前記記憶手段に格納すると共に、電子メールに基づく印刷処理をページ単位に行なう毎に印刷状況を示す情報を更新する電子メール印刷制御手段と、
電源投入後、前記記憶手段に印刷未完の電子メールに関する情報が存在した場合、前記電子メールダウンロード手段を制御して、該当する電子メールを再度ダウンロードさせ、前記記憶手段に記憶された印刷状況情報を参照して印刷未完のページの印刷を再開する電子メールリカバリ印刷制御手段と、
前記電子メール印刷制御手段及び前記電子メールリカバリ印刷制御手段で、注目電子メールの全ページの印刷が完了した後に、前記通信手段を介して該当する電子メールの削除要求を前記メールサーバに送信する削除要求手段と
を備えることを特徴とする印刷装置。
【請求項２】
前記記憶手段に記憶される印刷状況の情報は、印刷が完了したページ番号とすることを特徴とする請求項１に記載の印刷装置。
【請求項３】
メールサーバと通信する通信手段と、電子メールを特定する情報、並びに、１ページ分の印刷が完了する毎の印刷状況を示す情報を記憶保持するための不揮発性の記憶手段とを有し、受信した電子メールに基づく画像を所定の記録媒体上に印刷する印刷装置の制御方法であって、
前記通信手段によって前記メールサーバから電子メールをダウンロードする電子メールダウンロード工程と、
前記ダウンロード工程でダウンロードした電子メールを特定する情報を前記記憶手段に格納すると共に、電子メールに基づく印刷処理をページ単位に行なう毎に印刷状況を示す情報を更新する電子メール印刷制御工程と、
電源投入後、前記記憶手段に印刷未完の電子メールに関する情報が存在した場合、前記電子メールダウンロード工程を制御して、該当する電子メールを再度ダウンロードさせ、前記記憶手段に記憶された印刷状況情報を参照して印刷未完のページの印刷を再開する電子メールリカバリ印刷制御工程と、
前記電子メール印刷制御工程及び前記電子メールリカバリ印刷制御工程で、注目電子メールの全ページの印刷が完了した後に、前記通信手段を介して該当する電子メールの削除要求を前記メールサーバに送信する削除要求工程と
を備えることを特徴とする印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク接続可能な印刷装置に関するものであり、より具体的には、電子メールを受信し印刷する装置に関するものである。
【背景技術】
【０００２】
近年、オフィスで使用される印刷装置の中には電子メールを受信し、電子メールに添付されたファイルを印刷する機能を持つ装置ものがある。電子メールの場合、通信距離は無関係であるので、回線の通信費が大幅に削減できる等のメリットがあるためである。
【０００３】
通常、電子メールを受信した時点で、メールサーバからその電子メールを削除することが行われている。しかし、電子メールを受信が完了した後の印刷処理中に、何らかの原因で電源がＯＦＦになってしまうと、もはやその電子メールのデータは消滅してしまうことになってしまう。
【０００４】
かかる点に鑑み、この種の印刷装置の中には受信した印刷データを、一旦、内部のハードディスク等の不揮発性記憶装置に記憶することによって、受信完了から印刷完了の間に電源が切られてしまった場合でも、印刷未完了のページの印刷を再開するものもあった（特許文献１）。
【特許文献１】特開平５−１１２０６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、大容量の不揮発性記憶装置を有することで、装置のコスト高は避けられないし、その装置を内蔵することによる大型化は避けられない。
【０００６】
本発明はかかる問題点に鑑みなされたものであり、電子メールを記憶保存するための大容量の不揮発性の記憶手段を不要としつつ、予期せぬ電源断が発生したとしても、電子メールの印刷処理を完了し、尚且つ、記録紙等の記録媒体を無駄に消費しない技術を提供しようとするものである。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の印刷装置は以下の構成を備える。すなわち、
メールサーバと通信する通信手段を有し、受信した電子メールに基づく画像を所定の記録媒体上に印刷する印刷装置であって、
前記通信手段によって前記メールサーバから電子メールをダウンロードする電子メールダウンロード手段と、
ダウンロードした電子メールを特定する情報、並びに、１ページ分の印刷が完了する毎の印刷状況を示す情報を記憶保持するための不揮発性の記憶手段と、
前記ダウンロード手段でダウンロードした電子メールを特定する情報を前記記憶手段に格納すると共に、電子メールに基づく印刷処理をページ単位に行なう毎に印刷状況を示す情報を更新する電子メール印刷制御手段と、
電源投入後、前記記憶手段に印刷未完の電子メールに関する情報が存在した場合、前記電子メールダウンロード手段を制御して、該当する電子メールを再度ダウンロードさせ、前記記憶手段に記憶された印刷状況情報を参照して印刷未完のページの印刷を再開する電子メールリカバリ印刷制御手段と、
前記電子メール印刷制御手段及び前記電子メールリカバリ印刷制御手段で、注目電子メールの全ページの印刷が完了した後に、前記通信手段を介して該当する電子メールの削除要求を前記メールサーバに送信する削除要求手段とを備える。
【発明の効果】
【０００８】
本発明によれば、電子メールを記憶保存するための大容量の不揮発性の記憶手段を不要としつつ、予期せぬ電源断等が発生したとしても、電子メールの印刷処理を完了し、尚且つ、記録紙等の記録媒体を無駄に消費することが無くなる。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１０】
図１は、本実施形態に係る印刷装置のシステム構成の概略を示す図である。
【００１１】
図において、情報処理装置１０１は、例えば、パーソナルコンピュータであり、画像情報の供給源、あるいはプリンタの制御装置として機能する。また、１０６はメールサーバであり、インターネット上に設けられるものである。この実施の形態においては、印刷装置１０２として、レーザビームプリンタ（プリンタ）を用いている。ただし、レーザビームプリンタに限られるものではなく、インクジェットプリンタ等他のプリント方式のプリンタでもよいことは言うまでもない。
【００１２】
印刷装置１０２内のプリンタコントローラ１０３は、情報処理装置１０１から供給される画像情報（例えば、イメージデータ、ページ記述言語等）、或いはメールサーバ１０６から受信したメール並びに添付ファイルに基づいて、ページ毎にラスタデータを生成し、プリンタエンジン１０５に送出する。
【００１３】
プリンタエンジン１０５は、プリンタコントローラ１０３から供給されるラスタデータに基づいて、感光ドラム上に潜像を形成し、その潜像を記録媒体上に転写・定着（電子写真方式）することにより画像を記録する。
【００１４】
パネル部１０４は、ユーザインタフェースとして使用される。ユーザは、パネル部１０４を操作することにより、所望の動作を指示することができる。また、メールクライアントとしての設定もこのパネル部１０４を用いて設定することになる。
【００１５】
図２は、印刷装置１０２の構成を説明する断面図である。図において、２０１は、プリンタ筐体である。２０２は、ユーザが各種指示を与えるためのスイッチ、メッセージやプリンタの設定内容等を表示するためのLED表示器やLCD表示器等が配された操作パネルであり、図１に示すパネル部１０４の一態様である。２０３は、ボードを収容部であり、プリンタコントローラ１０３及びプリンタエンジン１０５の電子回路部分を構成するボードを収容する。
【００１６】
２２０及び２５０は、用紙（記録媒体）Ｓを保持する用紙カセットであり、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。２２１及び２５１は、カセットクラッチであり、それぞれ用紙カセット２２０及び２５０上に載置された用紙Sの最上位の一枚を取り出して、取り出した用紙Sを不図示の駆動手段から伝達される駆動力によって給紙ローラ２２２及び２５２まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、１回転に対応して１枚の用紙Sを給紙する。２２１s及び２５１sは用紙検知センサで、それぞれ用紙カセット２２０及び２５０に保持されている用紙Sの量を検知する。
【００１７】
給紙ローラ２２２は、用紙Sの先端部をレジストシャッタ２２４まで搬送するローラである。また、給紙ローラ２５２は、用紙Ｓの先端部を給紙ローラ２２２まで搬送するローラである。２６０は、オプション給紙ローラ（給紙中継搬送ローラ）であり、不図示の給紙オプションユニットから給紙された用紙Sをプリンタ１０２本体内へ供給する。２２４は、レジストシャッタであり、用紙Sを押圧することにより給紙を停止することができる。
【００１８】
２３１は、手差しトレイであり、２２５は、手差し給紙クラッチである。給紙クラッチ２２５は、用紙Sの先端をレジストシャッタ２２４まで搬送するために使用される。画像記録に供する用紙Sは、用紙カセット２２０及び２５０及び手差しトレイ２２５のいずれかの給紙手段を選択して給紙される。
【００１９】
プリンタエンジン１０５は、プリンタコントローラ１０３と所定の通信プロトコルにしたがって通信を行い、プリンタコントローラ部１０３からの指示にしたがって用紙カセット２２０及び２５０及び手差しトレイ２２５の中からいずれかの給紙手段を選択し、印刷の開始指示に応じて該当する給紙手段よりレジストシャッタ２２４まで用紙Sを搬送する。なお、プリンタエンジン１０５は、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段及びそれらの制御手段を含む。
【００２０】
２０４は、感光ドラム２０５やトナー保持部等を有する画像記録部であり、電子写真プロセスにより、用紙S上にトナー像を形成する。一方、２０６は、レーザスキャナ部であり、画像記録部にレーザビームによる画像情報を供給する。
【００２１】
レーザスキャナ部２０６において、２０７は、レーザユニットであり、ビデオコントローラ２０３から送出される画像信号（/VIDEO信号）に応じて、内蔵の半導体レーザを駆動し、レーザビームを発射する。レーザユニット２０７から発せられたレーザビームは、ポリゴンミラー（回転多面鏡）２０８により走査され、結像レンズ群２０９及び反射ミラー２１１を介して感光ドラム２０５上に潜像を形成する。２１０は、ビーム検出器で、レーザユニット２０７から発せられたレーザビームを検知して主走査同期信号を出力する。２１２は、光量センサで、レーザユニット２０７から発せられたレーザビームの光量を検知する。
【００２２】
また、画像記録部２０４において、２４１は、一次帯電器で、感光ドラム２０５上を均一に帯電させる。２４０は、現像器で、一次帯電器２４１により帯電され、レーザスキャナ部２０６によりレーザ露光された感光ドラム２０５に形成された潜像をトナー現像する。２４４は、転写帯電器で、現像器２４０により現像された感光ドラム上のトナー像をレジストローラ２２３により給紙される用紙Sに転写する。２４３は、クリーナで、感光ドラム２０５上の残存トナーを取り除く。２４２は、前露光ランプで、感光ドラム２０５を光除電する。２２６は、定着器で、画像記録部２０４により用紙Sに形成されたトナー画像を記録紙Sに熱定着させる。２２７は、搬送ローラで、用紙Sを排紙搬送する。２２７sは、排紙センサで、用紙Sの排紙状態を検知する。２２８は、排紙フラッパで、画像記録が完了した用紙Sの搬送方向をフェースダウン排紙トレイ２３２側に切り換えるか、不図示のフェースアップ排紙トレイあるいは不図示の排紙オプションユニット側に切り換える。２２９及び２３０は、排紙ローラで、排紙フラッパ２２８の切り換えにより搬送される用紙Sをフェースダウン排紙トレイ２３０に排紙する。２３０ｓは排紙積載量検知センサで、フェースダウン排紙トレイ２３０上に積載された用紙Sの積載量を検知する。
【００２３】
プリンタ１０２には、さらにオプションカセットや封筒フィーダ等のオプションユニットを装備することができる。また、本プリンタには不図示のジャム検知センサが複数装着されているものとする。
【００２４】
図３は、プリンタコントローラ１０３の構成例を示すブロック図である。図中、３０１はパネル部１０４とのデータ通信を行うパネルインタフェース部である。ＣＰＵ３０９はパネルインタフェース部３０１を介して、ユーザがパネル部１０４においていずれのスイッチ、ボタン、或いは、タッチパネルが備わっていればその座標を検出することができる。３０２はホストコンピュータ等の情報処理装置１０１と双方向に通信接続するためのホストインタフェース部である。３０６はプリンタエンジン１０５と通信接続するためのエンジンインタフェース部である。ＣＰＵ３０９はエンジンインタフェース部３０６を介して、信号を制御し、信号の状態、すなわち、プリンタエンジン１０５の状態を検出することができる。
【００２５】
３０３は情報処理装置１０１より供給された画像情報に基づいて、プリンタエンジン１０５に供給するラスタデータを生成（ラスタライズ）する画像データ発生部である。３０５は生成したラスタデータを一時的に保持するための画像メモリである。３０９はＲＯＭ３０４に保持された制御プログラムコードに基づいて、バス３１１に接続されたデバイスを制御するＣＰＵである。３０７はＣＰＵ３０９が使用する一時記憶用メモリとしてのＲＡＭであり、後述するように受信したメールの一時格納にも利用される。３１０は例えば、濃度補正テーブル等の制御情報を保持するための不揮発性メモリで構成される。３０８はＤＭＡ制御部であり、ＣＰＵ３０９からの指示により画像メモリ３０５内のラスタデータをエンジンインタフェース部３０６に転送する。また、ネットワークインタフェース３１２は、本装置がインターネット上のメールサーバとの通信を行なうため、或いは、本装置がネットワークプリンタとしても機能するためのものである。
【００２６】
３１１はアドレス、データ、コントロールバスを含むバスである。ＣＰＵ３１０は、バス３１１を介して、パネルインタフェース部３０１、ホストインタフェース部３０２、画像データ発生部３０３、ＲＯＭ３０４、画像メモリ３０５、エンジンインタフェース部３０６、ＲＡＭ３０７、ＤＭＡ制御部３０８、不揮発性記憶手段としてのＥＥＰＲＯＭ３１０、ネットワークインタフェース３１２をアクセス可能である。なお、ＥＥＰＲＯＭ３１０は、そのメモリ容量はＨＤＤ等のディスク記憶装置と比較して遥かに容量は少なく、且つ、基板上に設けられるものであるので実装スペースの問題も発生しない。
【００２７】
図４は実施形態における印刷装置１０２の主にＣＰＵ３１０の通常の印刷処理における機能ブロック構成図である。
【００２８】
ホストコンピュータ１０１とプリンタ本体１０２はインタフェースケーブルを介して接続されている。プリンタコントローラ１０３の内部はソフトウェアの構造を示している。入力部４０１はホストコンピュータ１０１との通信を司る部分であり、通信プロトコルの解析を行い、ホストコンピュータから入力されたデータをＲＡＭ３０７に確保された受信バッファ４０２に格納する。受信バッファ４０２にデータが格納されると解析部４０３が動作する。解析部４０３は受信バッファ４０２に格納されているデータを読み込み、データを解析して各コマンドに対応するオブジェクト（中間コード）を生成し中間バッファ４０４（ＲＡＭ３０７に確保されている）に格納する。
【００２９】
本実施形態ではプリンタがサポートしているコマンドはＰＤＬ(Page Description Language)とするが、ＰＤＬでなくてもページ毎に印刷を行うことが可能データはすべて同様である。中間データはページ毎に管理される。中間バッファ４０４にデータが格納されると描画処理部４０５が動作する。描画処理部４０５は、画像データ発生部３０３を利用して、中間バッファ４０４から中間データをページ毎に読み出し、１ページ分の印刷イメージデータを生成しイメージバッファ４０６（画像メモリ３０５に確保される）に格納する。１ページ分の印刷イメージデータが生成されると出力部４０７が動作する。出力部４０７はイメージバッファ４０６からイメージデータを読み出し、ビデオ信号に変換してプリンタエンジン１０５に転送し、公知の手順に従って印刷が行われる。
【００３０】
図５は一般的な電子メールの構造を示す図である。電子メール５０１はメールヘッダ５０２と、メール本文５０３と、添付ファイル５０４,５０５から構成される。添付ファイルは複数添付可能である。また添付ファイルの形式としては汎用的な画像ファイルであるＪＰＥＧファイルやＴＩＦＦ−Ｆ形式のファイル等を用いるものとする。
【００３１】
次に、実施形態における印刷装置１０２の、電子メールの印刷処理を図６に従って説明する。
【００３２】
図６は実施形態の印刷装置１０２の処理の概要を示す図である。
【００３３】
同図（ａ）はプリンタにエラー等が発生せず、印刷開始から印刷完了の間に電源を切られることもなく正常に印刷が行われた場合を示している。本実施形態では電子メールの受信形態はＰＯＰ受信を用いるものとする。
【００３４】
まずメールサーバ１０６からメールを読み込み、メールを解析してメールに添付されている添付ファイルがある場合、本文並びに添付ファイルの印刷を行う。図示ではPage１(６０２)からPage５(６０６)まで５枚の印刷を行った例を示している。印刷完了後、メールサーバ１０６と再び通信し、印刷済みのメールデータの削除を要求する。
【００３５】
図６（ｂ）は印刷が完了する前に何らかの原因で電源がＯＦＦになった場合を示している。すなわち、図６（ａ）と同様の電子メールデータを受信し、Page１(６０２)からPage３(６０４)の３ページを印刷した時点で何らかの原因により電源が切られた場合である。この場合、印刷が完了していないのでメールサーバからのメールデータの削除は行われないので、印刷未完のメールが消滅することはない。
【００３６】
図６（ｃ）は、同図（ｂ）の後に、再度電源が投入された場合を示している。電源投入後、印刷装置は再度同じ電子メールデータをサーバから読み込み、Page１(６０２)からPage３(６０４)の分のデータを読み飛ばし、Page４(６０５)とPage５(６０６)を印刷し、全ページの印刷が完了した後、メールサーバ１０６に対して電子メールデータの削除要求を行なう。
【００３７】
上記処理を実現するため、本実施形態では、書き込み可能な不揮発性メモリであるＥＥＰＲＯＭ３１０に、リカバリ用の管理テーブルを構築するようにした。
【００３８】
図７は、本実施形態におけるリカバリ用の管理テーブルのデータ構造を示している。リカバリ用管理テーブル７００は１メール分の情報に関する構造体７０１を最低１個分（複数でも良い）だけＥＥＰＲＯＭ３１０に確保される。メールサーバ１０６より電子メールの読み込みを完了した時点で本テーブルに登録され、全ページの印刷が完了した時点で削除される。この管理テーブル７００は、１つの構造体を格納するとした場合に必要な容量はせいぜい数ＫＢ程度で済むので、ＨＤＤ等の大容量の記憶装置を設ける場合と比較してコスト、スペース上の問題は発生しない。特に、最近の印刷装置の場合には、ファームウェアを格納しているＲＯＭは、バージョンアップを許容するため書き込み可能なメモリを採用していることが多く、上記テーブル７００はこのようなプログラムを格納するメモリに設けると、実質上、それを設けるコスト、スペースは無視できる程度になる。
【００３９】
この管理テーブルの構造体７０１は以下の情報（フィールド）から構成されている。
【００４０】
登録の有無フィールド７０３、メールSubjectフィールド７０４、送信元アドレスフィールド７０５、送信時刻フィールド７０６、添付ファイル数フィールド７０７、印刷完了ファイル数フィールド７０８、印刷完了ページ数フィールド７０９から構成される。登録有無フィールド７０３は該当する構造体にデータが登録されているか否かを示す。初期状態では登録は「無」が設定されている。メールSubject、送信アドレス、送信時刻は該当するメールを特定するために使用される情報である。添付ファイル数、印刷完了ファイル数は本実施例では使用しない。印刷完了ページ数フィールド７０９は実際に紙を印刷、排紙完了したページ数（ジョブ内でのページ数）である。
【００４１】
そして、新規にメールを受信した場合には、先ず、登録有無７０３に登録されている旨の情報「有」をセットし、印刷完了ページ数７０９に“０”をセットする。この後、印刷を開始するが、１ページ印刷処理が完了（排紙を含む）する毎に、印刷完了ページ数７０９の値を“１”だけ増加させる。こうして、全ページの印刷が完了した場合（印刷すべきデータが無くなった場合）、メールサーバ１０６に対して、該当する電子メールの削除を要求すると共に、登録有無フィールド７０３を「無」にセットする。
【００４２】
また、印刷処理中に、電源断が発生し、その後、電源が再投入された場合、先ず、この仮テーブル７００を参照し、登録有無フィールド７０３に“有”がセットされている構造体７０１が存在するか否かを判定し、もしそのような構造体が存在する場合には、他のフィールドを参照して、メールサーバ１０６の該当する電子メールを再ダウンロードし、印刷完了ページ数フィールド７０９に格納された次のページから印刷を継続する。この後は、先に説明したのと同様である。
【００４３】
以上を実現するため、実施形態における印刷装置のメイン処理を図８に示し、以下に説明する。
【００４４】
本装置に電源が投入されると、先ず、各種初期化処理を行い、次いで、ステップＳ８００のリカバリ印刷チェック処理を行う。リカバリ印刷チェック処理とはリカバリ印刷が必要か否か（前回の電源オフ時に印刷完了していない電子メールが存在するか）を判定する処理であるが、その詳細は後述する。
【００４５】
ステップＳ８０１では、データ入力待ちループに入る。ネットワークで接続された情報処理装置から印刷データの入力が行われると、このデータ入力待ちループＳ８０１から抜けてステップＳ８０２へ進む。
【００４６】
ステップＳ８０２では印刷データの入力処理を行う。入力したデータは受信バッファに記憶される。より具体的には、印刷装置には、予めメールサーバであるメールサーバ（ＰＯＰサーバ）１０６のアドレス、自分のメールアドレスなどがパネル操作またはコマンド等によって設定されており、印刷装置は定期的にメールサーバ１０６にアクセスし、自分のメールアドレスにメールが届いているかをチェックする。メールが届いている場合はメールを読み込む。この時、メールを読み込むだけでサーバからメールの削除は行わない。
【００４７】
ステップＳ８０３では受信バッファに記憶されているデータを解析し、コマンドに応じて内部処理に適した形式の中間コードを生成する。中間コードは前述のようにページ毎に管理され、記憶領域に記憶される（詳細は後述）。
【００４８】
ステップＳ８０４では解析すべきデータが受信バッファに存在するかチェックを行う。解析すべきデータが存在する場合はデータ解析処理(Ｓ８０３)を繰り返す。解析すべきデータが受信バッファに無くなった場合ステップＳ８０５へ進む。
【００４９】
ステップＳ８０５では１ページ分以上の中間コードが存在するか否かをチェックする。１ページ分以上の中間コードが存在する場合は、ステップＳ８０６へ進み、１ページ分の中間コードを読み出し、中間コードから印刷イメージ（ビットマップ）を生成する。このステップＳ８０６ではページのスキップ処理も行う。スキップ処理とは、リカバリ印刷時に設定されたスキップページ数分、ページ毎に生成された中間データを印刷せずに読み飛ばす処理である。これによってリカバリ印刷時にページが重複して印刷されることなく印刷することができる（電源断前に既に印刷されたページも再度印刷してしまうことを防ぐ）。本実施形態ではリカバリ印刷時に中間データを生成してから中間データをスキップする方式であるが、中間データを生成する前に読み飛ばす方式でもよい。  リカバリ印刷とは電子メールを受信完了して電子メールおよび添付ファイルの印刷出力を完了する前に電源をオフされた場合、電源再投入後に同一電子メールの印刷完了していないページを印刷する処理である。生成した印刷イメージは記憶領域に一時記憶される。
【００５０】
ステップＳ８０７では給紙選択処理を行う。給紙選択処理については後述する。ステップＳ８０８では前記１ページ分の印刷イメージをビデオ信号に変換しプリンタエンジンに転送する。ビデオ信号をプリンタエンジンに転送することによって実際に用紙に印刷が行われ、用紙が排紙されるようになっている。用紙を排紙完了（排紙部にセンサを設け、このセンサでの検出を利用して判定する）したらステップＳ８０８のジョブエンドチェック処理に移行する。ジョブエンドチェック処理の詳細は後述する。ジョブエンドチェック処理が終了したらステップＳ８０５へ戻る。
【００５１】
ステップ８０５で１ページ分の中間コードが完成していない場合はステップＳ８０１へ戻り続きの入力データを待つ。
【００５２】
図９は上記ステップＳ８０３のデータ解析処理内容の詳細を示すフローチャートである。
【００５３】
先ず、ステップＳ９０１では入力したデータが電子メールであるか否かを判定する。これはデータの一部、または全部を調べてデータが電子メール形式(MIME形式)であるか否かを判定するが、受信プロトコル（SMTP,POP）で判定しても良い(SMTP,POP経由で入力したデータは電子メールであると判定してもよい)。電子メールであると判断した場合はステップＳ９０２へ進む。また、電子メールでないと判定した場合、ステップＳ９０８のPDLデータ解析処理に進む。
【００５４】
本実施形態の印刷装置は電子メール以外のデータ(ＰＤＬデータ等)も印刷できるものとする。ステップＳ９０２では電子メールのヘッダの解析処理を行う。そして、ステップＳ９０３では電子メールのヘッダ情報等の、電子メールを特定する情報を記憶する。ここではメールの送信時間、差出アドレス、データ長さの情報を記憶するものとする。この時の記憶領域は不揮発性のメモリとする。本実施形態では１メール分のヘッダ情報等を不揮発性メモリに記憶するものとする。ステップＳ９０４ではメール本文を解析し、本文を印刷するための中間コードを生成する。なお、本実施形態ではメール本文も印刷するが、メール本文は印刷せず、添付ファイルのみ印刷する形式であっても構わない。
【００５５】
ステップＳ９０５では受信した電子メールに添付ファイルが添付されているかをチェックする。添付ファイルが添付されていない場合は処理を終了する。添付ファイルが添付されている場合はステップＳ９０６へ進み添付ファイルの解析処理を行い。添付ファイルを解析して中間データを生成する。ステップＳ９０７では全ての添付ファイルを解析完了したかをチェックする。全ての添付ファイルを解析終了した場合、処理を終了する。解析し終わっていない添付ファイルが存在する場合はステップＳ９０６へ戻り解析処理を繰り返す。
【００５６】
図１０は図９のステップＳ９０８のＰＤＬデータ解析処理の詳細を示すフローチャートである。
【００５７】
先ず、ステップＳ１００１ではＰＤＬデータの解析処理を行う。ＰＤＬデータは複数のコマンド（命令）で構成されている。データ解析処理は各コマンドを解析する処理である。１コマンド毎に処理を行い、全ての印刷データを解析するまで繰り返される。解析の結果、コマンドが排紙命令であれはステップＳ１００３へ進み、ここまでに生成した中間コードを１ページ分として認識する処理を行う。排紙命令でなければステップＳ１００４へ進む。ステップＳ１００４ではその他のコマンドに対応する処理を行う。文字、イメージ、図形などそれぞれのコマンドに応じて中間コードを生成し、中間バッファに格納する。
【００５８】
図１１は図８のステップＳ８０９のジョブエンドチェック処理の詳細を示すフローチャートである。
【００５９】
ステップＳ１１０１では現在印刷中の電子メール内の全ての印刷ページを印刷完了したかをチェックする。中間コード生成時に電子メールおよび添付ファイルの解析を行うので印刷する時点では（中間コードの生成が完了した時点では）、電子メールの中に添付ファイルがいくつ添付されていてそれぞれの添付ファイルについて何ページ存在するのかが判明している。内部的にはそれぞれの添付ファイルのそれぞれのページはIDで認識され、どのページがジョブ（電子メール）の最後のページなのか判断可能である。ステップＳ１１０１のチェックで全てのページを印刷し終わっていると判定した場合はステップＳ１１０２へ進み、メールサーバ上から該当する電子メールのデータの削除を行う（削除コマンドを発行する）。印刷（出力）を完了してからサーバ上のファイルを消すため、印刷完了していない間はサーバから再度同じメールデータの読み込みが可能である。
【００６０】
ステップＳ１１０３では不揮発性メモリに記憶していたメールヘッダ情報を削除する。本実施形態の印刷装置では不揮発性メモリにメールヘッダ情報が存在する場合は印刷中の電子メールが存在することを意味する。よって不揮発性メモリにヘッダ情報が存在するか否かによって、電源投入時に、前回の電源断時に印刷完了する前に電源断されたか判断がつく。
【００６１】
ステップＳ１１０４ではジョブ管理テーブルから該当するジョブを削除（登録有無フィールド７０３を「無」にする）。
【００６２】
一方、ステップＳ１１０１で電子メール中の全てのページを印刷完了していない場合は、ステップＳ１１０５に進んで、不揮発性メモリに記憶している印刷完了ページ数フィールドを“１”だけインクリメントする。
【００６３】
次に、図８におけるステップＳ８００のリカバリ印刷チェック処理の詳細を図１２のフローチャートに従って説明する。
【００６４】
先ず、ステップＳ１２０１では不揮発性メモリに印刷未完となっているメールヘッダ情報が存在するか否か、すなわち、登録有無フィールド７０３が「有」のものがあるか否かを判断する。ヘッダ情報が存在する場合、前回の電源断時に印刷途中のジョブ（電子メール）があったことを示すことになる。その場合はリカバリ印刷を行う準備を行うため、ステップＳ１２０２に進み、メールサーバから再度電子メール（添付ファイルを含む）をダウンロードする。読み込んだメールは不揮発性メモリに存在するヘッダ情報と一致するはずである。また、印刷が完了しなければメールサーバからメールを削除しないので前回（電源断前）に読み込んだメールが残っていることになるので、確実に再ダウンロードできる。しかしながら、確実性を増すため、ステップＳ１２０３では再度読み込んだメールのヘッダ情報と不揮発性メモリに記憶されているヘッダ情報を比較する。比較の結果、一致した場合はスへテップＳ１２０５へ進み、一致しない場合はステップＳ１２０４へ進む。ステップＳ１２０４はエラー処理であって不揮発性メモリ内の情報をクリアし、リカバリ印刷を断念する。
【００６５】
また、ステップＳ１２０５に処理が進んだ場合には、リカバリ時のスキップ処理のために不揮発性メモリに記憶されている印刷完了ページ数をスキップページ数として別の記憶領域に記憶し、図８のステップＳ８０３に処理を進める（この記憶領域は不揮発性である必要性はない）。
【００６６】
以上説明したように本実施形態によれば、メールサーバにアクセスして受信した電子メールを印刷する装置において、ハードディスク装置等の大容量記憶装置ではなく、ごく少量の不揮発性メモリを利用するだけで、予期せぬ電源断が発生したとしても、記録紙等の記録媒体を無駄に消費することなく、電子メールの情報を印刷することが可能になる。
【００６７】
なお、実施形態では、記録方式としてレーザービームを利用した電子写真方式の印刷装置を例にしたが、他の方式、例えばインク液吐出するタイプのプリンタであっても良いし、デジタル複合機にも適用可能である。特に、デジタル複合機に適用した場合には、原稿を読込み、それを電子メールの添付ファイルとして送信する機能を付加できるようになる。
【００６８】
また、実施形態では、リカバリ時のスキップ処理は中間データを生成した後にスキップするものとしたが、中間データ生成前のデータ解析部でスキップするページを決定しても良い。
【００６９】
また、実施形態では、リカバリ管理テーブルに印刷が完了したページ番号を記憶するものとしたが、次に印刷すべきページ番号を記憶するようにしても構わない。
【００７０】
また、実施形態では、電子メールに添付されたファイルは画像ファイルを例にして説明したが、アプリケーションで作成された文書ファイルであっても良い。この場合、その文書ファイルを解析し、印刷データを生成するため解析プログラムをアドオンするようにすればよい。
【図面の簡単な説明】
【００７１】
【図１】実施形態における印刷システムの構成図である。
【図２】実施形態における印刷装置の断面構造図である。
【図３】実施形態における印刷装置のプリンタコントローラのブロック構成図である。
【図４】実施形態における印刷処理におけるデータの流れを模式的に示す図である。
【図５】電子メールの構造を示す図である。
【図６】電子メールの印刷処理及びリカバリ処理の流れを示す図である。
【図７】実施形態における不揮発性メモリに確保されるリカバリ用管理テーブルの構造を示す図である。
【図８】実施形態における印刷装置のメイン処理を示すフローチャートである。
【図９】図８におけるデータ解析処理の詳細を示すフローチャートである。
【図１０】図９のＰＤＬデータ解析処理の詳細を示すフローチャートである。
【図１１】図８のジョブエンドチェック処理の詳細を示すフローチャートである。
【図１２】図８のリカバリ印刷チェック処理の詳細を示すフローチャートである。
【図１】
2006185112.tif 000003
【図２】
2006185112.tif 000004
【図３】
2006185112.tif 000005
【図４】
2006185112.tif 000006
【図５】
2006185112.tif 000007
【図６】
2006185112.tif 000008
【図７】
2006185112.tif 000009
【図８】
2006185112.tif 000010
【図９】
2006185112.tif 000011
【図１０】
2006185112.tif 000012
【図１１】
2006185112.tif 000013
【図１２】
2006185112.tif 000014