(57)【要約】【課題】処理できない圧縮方式で印刷データが符号化されていた場合、無駄な印刷（排紙）を未然に防止できる印刷装置を提供する。【解決手段】印刷データを受信した際、印刷データのイメージデータ部分の圧縮方式を判断し、処理不可能な圧縮方式の場合、印刷しないでこの印刷データを破棄する（Ｓ１６）。その際、印刷が取り消されたことを示すキャンセル通知パケットを通知先に送信し（Ｓ１９）、さらにそのエラーログを保存する（Ｓ１７）。【選択図】      図９
2004341733.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から送信される印刷データに基づいて印刷をする印刷装置において、
前記情報処理装置からの印刷要求に対して応答を送信する応答手段と、
前記応答手段により応答が送信された後、前記情報処理装置からの印刷データを受信する受信手段と、
前記受信手段により印刷データが受信された後、当該印刷データが処理不可能であると判断された場合、当該印刷データの処理をキャンセルするキャンセル手段と、
前記キャンセル手段により印刷データの処理がキャンセルされる場合、キャンセルされたことを示すキャンセル通知を送信する通知手段とを備えることを特徴とする印刷装置。
【請求項２】
前記受信手段により受信された印刷データを伸張する伸張手段と、
前記受信手段により受信された印刷データの圧縮方式を判定する圧縮方式判定手段と、
前記圧縮方式判定手段により判定された圧縮方式を基に、前記受信手段により受信された印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定手段とを備え、
前記キャンセル手段は、前記受信手段により受信された印刷データを伸長できないと前記伸長可否判定手段により判定された場合、当該印刷データの処理をキャンセルすることを特徴とする請求項１に記載の印刷装置。
【請求項３】
印刷履歴を保存する印刷履歴保存手段を備え、
前記キャンセル手段により印刷データの処理がキャンセルされた場合、前記印刷履歴保存手段は、エラーを示す履歴を保存することを特徴とする請求項１或いは２に記載の印刷装置。
【請求項４】
前記通知手段は、キャンセルされたことを示すキャンセル通知を、前記印刷要求で指定された通知先に送信することを特徴とする請求項１乃至３のいずれかに記載の印刷装置。
【請求項５】
情報処理装置から送信される印刷データを受信して印刷する印刷装置において、
印刷データを伸長する伸長手段と、
前記印刷データの圧縮方式を判定する圧縮方式判定手段と、
該判定された圧縮方式を基に、前記印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定手段と、
前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄手段とを備えたことを特徴とする印刷装置。
【請求項６】
ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷する印刷方法において、
前記情報処理装置からの印刷要求に対して応答を送信する応答ステップと、
前記応答ステップで応答が送信された後、前記情報処理装置からの印刷データを受信する受信ステップと、
前記受信ステップで印刷データが受信された後、当該印刷データが処理不可能であると判断された場合、当該印刷データの処理をキャンセルするキャンセルステップと、
前記キャンセルステップで印刷データの処理がキャンセルされる場合、キャンセルされたことを示すキャンセル通知を送信する通知ステップとを備えることを特徴とする印刷方法。
【請求項７】
ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷する印刷方法において、
印刷データを伸長する伸長ステップと、
前記印刷データの圧縮方式を判定する圧縮方式判定ステップと、
該判定された圧縮方式を基に、前記印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定ステップと、
前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄ステップとを備えたことを特徴とする印刷方法。
【請求項８】
印刷装置内のコンピュータによって実行され、ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷するためのプログラムであって、
前記情報処理装置からの印刷要求に対して応答を送信する応答手順と、
前記応答手順で応答が送信された後、前記情報処理装置からの印刷データを受信する受信手順と、
前記受信手順で印刷データが受信された後、当該印刷データが処理不可能であると判断された場合、当該印刷データの処理をキャンセルするキャンセル手順と、
前記キャンセル手順で印刷データの処理がキャンセルされる場合、キャンセルされたことを示すキャンセル通知を送信する通知手順とを備えることを特徴とするプログラム。
【請求項９】
印刷装置内のコンピュータによって実行され、ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷するためのプログラムであって、
印刷データを伸長する伸長手順と、
前記印刷データの圧縮方式を判定する圧縮方式判定手順と、
該判定された圧縮方式を基に、前記印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定手順と、
前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄手順とを備えたことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信媒体を介して接続された情報処理装置から送信される印刷データを受信して印刷する印刷装置、印刷方法及びプログラムに関する。
【０００２】
【従来の技術】
従来、ネットワーク上のホストコンピュータから印刷開始要求を受け付け、印刷用のポートを生成し、そのポートをホストコンピュータに応答した後、印刷用のポートに投入された印刷データを受信して印刷する印刷装置が知られている（例えば、特許文献１参照）。このようなネットワーク印刷に関する技術は、ＯＡ機器の標準化仕様であるＢｍＬｉｎｋｓやＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ＆Ｐｌａｙ）等に採用されている。
【０００３】
前述したホストコンピュータからの印刷開始要求では、印刷データのフォーマット（ｄｏｃｕｍｅｎｔ−ｆｏｒｍａｔ）を指定することが可能である。印刷装置は、その後に受信する印刷データのフォーマットを予め認識し、そのフォーマットが処理可能である場合、印刷開始要求に対する正常な応答を返す一方、処理不可能なフォーマットである場合、エラー応答を返すことが可能である。通常、ホストコンピュータから指定されるデータフォーマットとして、ＴＩＦＦ（Ｔａｇ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）が使用されている。
【０００４】
【特許文献１】
特開２００２−３３３９５８号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の印刷装置では、以下に掲げる問題があり、その改善が要望されていた。すなわち、ホストコンピュータからの印刷開始要求時、データフォーマットにＴＩＦＦ形式が指定されても、この時点ではそのデータに含まれるイメージデータの圧縮方式は不明である。
【０００６】
したがって、印刷装置は印刷開始要求の応答として正常な応答を返したにもかかわらず、処理不可能なイメージデータを受信するおそれがあり、このような場合、処理不可能なイメージデータに基づいて印刷処理を行うと、正常な印刷が行えず、無駄に紙を消費してしまっていた。また、ユーザは印刷装置の設置場所まで行かなければ、その状況を知ることができなかった。
【０００７】
そこで、本発明は、印刷開始要求に対する正常な応答を返す一方で、処理できない圧縮方式で印刷データが符号化されていた場合、無駄な印刷（排紙）を未然に防止するとともに、ユーザが印刷装置の設置場所まで行く前に状況を把握できるようにする印刷装置、印刷方法及びプログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の印刷装置は、情報処理装置から送信される印刷データに基づいて印刷をする印刷装置において、前記情報処理装置からの印刷要求に対して応答を送信する応答手段と、前記応答手段により応答が送信された後、前記情報処理装置からの印刷データを受信する受信手段と、前記受信手段により印刷データが受信された後、当該印刷データが処理不可能であると判断された場合、当該印刷データの処理をキャンセルするキャンセル手段と、前記キャンセル手段により印刷データの処理がキャンセルされる場合、キャンセルされたことを示すキャンセル通知を送信する通知手段とを備えることを特徴とする。
【０００９】
本発明の印刷装置は、情報処理装置から送信される印刷データを受信して印刷する印刷装置において、印刷データを伸長する伸長手段と、前記印刷データの圧縮方式を判定する圧縮方式判定手段と、該判定された圧縮方式を基に、前記印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定手段と、前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄手段とを備えたことを特徴とする。
【００１０】
本発明の印刷方法は、ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷する印刷方法において、前記情報処理装置からの印刷要求に対して応答を送信する応答ステップと、前記応答ステップで応答が送信された後、前記情報処理装置からの印刷データを受信する受信ステップと、前記受信ステップで印刷データが受信された後、当該印刷データが処理不可能であると判断された場合、当該印刷データの処理をキャンセルするキャンセルステップと、前記キャンセルステップで印刷データの処理がキャンセルされる場合、キャンセルされたことを示すキャンセル通知を送信する通知ステップとを備えることを特徴とする。
【００１１】
本発明の印刷方法は、ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷する印刷方法において、印刷データを伸長する伸長ステップと、前記印刷データの圧縮方式を判定する圧縮方式判定ステップと、該判定された圧縮方式を基に、前記印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定ステップと、前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄ステップとを備えたことを特徴とする。
【００１２】
本発明のプログラムは、印刷装置内のコンピュータによって実行され、ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷するためのプログラムであって、前記情報処理装置からの印刷要求に対して応答を送信する応答手順と、前記応答手順で応答が送信された後、前記情報処理装置からの印刷データを受信する受信手順と、前記受信手順で印刷データが受信された後、当該印刷データが処理不可能であると判断された場合、当該印刷データの処理をキャンセルするキャンセル手順と、前記キャンセル手順で印刷データの処理がキャンセルされる場合、キャンセルされたことを示すキャンセル通知を送信する通知手順とを備えることを特徴とする。
【００１３】
本発明のプログラムは、印刷装置内のコンピュータによって実行され、ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷するためのプログラムであって、印刷データを伸長する伸長手順と、前記印刷データの圧縮方式を判定する圧縮方式判定手順と、該判定された圧縮方式を基に、前記印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定手順と、前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄手順とを備えたことを特徴とする。
【発明の実施の形態】
本発明の印刷装置、印刷方法及びプログラムの実施の形態について図面を参照しながら説明する。本実施形態の印刷装置は、利用者に印刷サービスを提供する印刷システムに適用される。
【００１４】
（印刷装置のハードウェア構成）
図１は実施の形態における印刷装置のハードウェア構成を示すブロック図である。図において、１００は印刷装置であり、プリンタ制御本体１２０、プリンタ部１１０およびオペレーションパネル１０９から主に構成される。この印刷装置１００はネットワーク１１１を介してホストコンピュータ３００に接続されている。
【００１５】
プリンタ制御本体１２０内のＣＰＵ１０１は、制御プログラムを実行し、印刷装置全体を制御する。ＲＯＭ（リードオンリメモリ）１０２には、ブートプログラムや固定パラメータ等が格納されている。ＲＡＭ（ランダムアクセスメモリ）１０３は、ＣＰＵ１０１が印刷装置全体を制御する際、データを一時的に格納する場合などに使用される。ＨＤＤ（ハードディスクドライブ）１０８は、印刷データの格納など様々なデータの格納に使用される。
【００１６】
プリンタＩ／Ｆ制御部１０４はプリンタ部１１０を制御する。ＮＶＲＡＭ（不揮発性メモリ）１０５には、印刷装置の各種設定値が保存される。パネル制御部１０６は、オペレーションパネル１０９を制御し、各種情報を表示したり、使用者からの指示を入力する。ネットワークＩ／Ｆ制御部１０７は、ＬＡＮ１１１を介したデータの送受信を制御する。システムバス１１２には、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１０８、プリンタＩ／Ｆ制御部１０４、ＮＶＲＡＭ１０５、パネル制御部１０６、ネットワークＩ／Ｆ制御部１０７が接続され、ＣＰＵ１０１からの制御信号や各部間のデータ信号が送受信される。
【００１７】
（印刷装置のソフトウェア構成）
図２は印刷装置１００のソフトウェア構成を示すブロック図である。プリンタ制御部２０１は、プリンタＩ／Ｆ制御部１０４を制御するプログラムモジュールであり、プリンタ部１１０に画像データを送信したり、排紙位置を制御する等の処理を行う。画像印刷制御部２０２は、受信した印刷データをプリンタ部１１０で印刷可能なデータに変換する他、印刷部数や両面印刷の制御等、印刷に関する様々な制御を行うプログラムモジュールである。
【００１８】
ネットワーク通信ドライバ２０７は、ネットワークＩ／Ｆ制御部１０７を制御するプログラムモジュールであり、ネットワーク１１１に対するデータの送受信を制御する。ＴＣＰ／ＩＰプロトコル制御部２０６は、ＴＣＰ／ＩＰプロトコルを制御するプログラムモジュールであり、ネットワーク通信ドライバ２０７を使用し、ＴＣＰ／ＩＰプロトコルに則ったデータの送受信制御を行う。
【００１９】
ＨＴＴＰサーバ制御部２０５は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）と称されるプロトコルの全般を制御するプログラムモジュールであり、クライアント装置（ホストコンピュータ３００）から受信したＨＴＴＰリクエストパケットを解析して適切な処理を行い、データをＳＯＡＰ制御部２０４や画像印刷制御部２０２等の上位アプリケーションに渡すと共に、上位アプリケーションの指示にしたがってＨＴＴＰレスポンスパケットをクライアント装置３００に返送する制御を行う。
【００２０】
ＳＯＡＰ制御部２０４は、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）と呼ばれるプロトコルを制御するプログラムモジュールであり、クライアント装置から受信したＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のデータをＸＭＬパーサ２０３を使用して解析し、画像印刷制御部２０４内の適切なプログラムモジュールを呼び出したり、クライアント装置に返すべきデータをＸＭＬデータに変換し、ＨＴＴＰサーバ制御部２０５を介してクライアント装置に返信する制御を行う。ＸＭＬパーサ２０３は、ＸＭＬ形式のデータを入力とし、解析結果を出力するプログラムモジュールである。
【００２１】
（印刷要求処理）
図３は印刷サービスの利用者によって操作されるホストコンピュータ３００から印刷が要求される際、印刷装置の動作処理手順を示すフローチャートである。この処理プログラムは、印刷装置１００内のハードディスクドライブ（ＨＤＤ）１０８に記憶されており、ＣＰＵ１０１によって実行される。
【００２２】
クライアント装置（ホストコンピュータ３００）から、印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットが印刷装置１００に送信されると、印刷装置１００は、印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）に記述されたＸＭＬデータを解析する（ステップＳ１）。図４は印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットを示す図である。この印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）の詳細については後述する。ステップＳ１の解析結果にエラーがあるか否かを判定する（ステップＳ２）。解析結果にエラーがない場合、印刷データ受信用のポートを生成する（ステップＳ３）。
【００２３】
そして、印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットに対するレスポンスのＸＭＬデータを作成する（ステップＳ４）。このとき、印刷データ受信用に作成したポートのＵＲＩを＜ｄａｔａ−ｓｉｎｋ−ｕｒｉ＞タグの値として設定する。図５はＣｒｅａｔｅ  Ｊｏｂパケットに対するレスポンスデータを示す図である。このレスポンスデータの詳細については後述する。図５のＸＭＬデータには、印刷データ受信用に作成されたポートのＵＲＩ（ｈｔｔｐ：／／１９２．１６８．１．４／ｊｏｂ０００３）が埋め込まれている。
【００２４】
Ｃｒｅａｔｅ  Ｊｏｂパケットに対するレスポンスデータの作成が終了すると、そのレスポンスデータを通信プロトコルであるＳＯＡＰを用いて、利用者のクライアント装置３００に送信する（ステップＳ５）。この後、印刷サービスの利用者によって操作されるクライアント装置（ホストコンピュータ）３００は、図５の＜ｄａｔａ−ｓｉｎｋ−ｕｒｉ＞タグで指定されたＵＲＩを基に、送信先（データ受信領域）を特定し、特定された送信先に対し、通信プロトコルであるＨＴＴＰのＰＯＳＴメソッドを用いて、印刷データを送信する。
【００２５】
図６は通信プロトコルであるＨＴＴＰのＰＯＳＴメソッドによる印刷データ転送パケットを示す図である。この印刷データ転送パケットの詳細については後述する。印刷装置１００は、印刷用のポートに到着したデータを受信してそのデータ受信領域に一旦記憶すると（ステップＳ６）、印刷に適した処理を施しながらプリンタ部１１０で印刷する。この印刷処理の詳細については後述する。本実施形態では、印刷データはＴＩＦＦ形式で送信される。また、ＴＩＦＦ形式で送信される印刷データの圧縮方式として、白黒の場合、ＭＨ符号化方式が採用され、カラーの場合、ＪＰＥＧ符号化方式が採用されている。尚、これらの圧縮方式に限定されず、他の圧縮方式を採用してもよいことは勿論である。
【００２６】
ステップＳ６における印刷データの受信が正常に終了すると、印刷装置１００は、ＨＴＴＰレスポンス（プリントデータ受信レスポンス）パケットをクライアント装置３００に送信し（ステップＳ７）、印刷用のポートを削除（クローズ）して印刷動作を終了する。図７はＨＴＴＰレスポンス（プリントデータ受信レスポンス）データを示す図である。このプリントデータ受信レスポンスについても後述する。
【００２７】
一方、ステップＳ２で、印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）に記述されたＸＭＬデータにエラーがあると判定された場合、エラーレスポンスデータを作成し（ステップＳ８）、ステップＳ５でエラーレスポンスデータを送信する。図８はエラーレスポンスデータを示す図である。このエラーレスポンスデータの詳細についても後述する。ステップＳ５で、エラーレスポンスがクライアント装置３００に送信されると、クライアント装置３００は印刷データを送信しなくなる。
【００２８】
（印刷リクエスト）
印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットは図４に示す通りである。この印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットは、ＨＴＴＰ上のＳＯＡＰを用いてクライアント装置３００から印刷装置１００に送信される、ＸＭＬ形式で記述されたパケットデータであり、印刷装置１００に対してジョブ（印刷）の開始を指示するコマンドを有する。
【００２９】
Ｃｒｅａｔｅ  Ｊｏｂパケットデータには、要求元のユーザ名（＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞タグ）やジョブの処理に関する指示（＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグ）等の情報が記述されている。また、＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグには、印刷部数を設定する＜ｃｏｐｉｅｓ＞タグ、両面印刷を設定する＜ｓｉｄｅｓ＞タグ、印刷の仕上げを設定する＜ｆｉｎｉｓｈｉｎｇ＞タグ等が含まれており、印刷装置１００は、これらのタグに設定された値に基づき、ジョブの処理を行う。
【００３０】
また、印刷ジョブのデータ形式を示す＜ｄｏｃｕｍｅｎｔ−ｆｏｒｍａｔ＞タブもここに含まれる。図４では、ｉｍａｇｅ／ｔｉｆｆという値が埋め込まれており、この値は、印刷ジョブのデータ形式がＴＩＦＦ（Ｔａｇ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）であることを示している。ここで、留意すべき点は、データ形式がＴＩＦＦであることは判断できるが、ＴＩＦＦ形式のデータの中に含まれる実際のイメージデータの圧縮方式がこの時点では判断できないことである。
【００３１】
さらに、＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグには、オプションとして、＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグを含めることも可能である。この＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグには、ジョブに関する通知情報が記述される。図４では、通知情報として、通知先を設定する＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞タグ、および通知条件を設定する＜ｅｖｅｎｔ＞タグが記述されている。印刷装置１００は、これらのタグに設定された値に基づいてイベント送信処理を行う。
【００３２】
（印刷レスポンス）
印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットに対するレスポンス（応答）パケットデータは図５に示す通りである。このレスポンス（Ｃｒｅａｔｅ  Ｊｏｂ応答）パケットデータは、印刷要求が受け付けられた成功時のものであり、印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットと同様、ＸＭＬ形式で記述され、ＨＴＴＰ上のＳＯＡＰを用いて送信される。Ｃｒｅａｔｅ  Ｊｏｂ応答パケットデータには、Ｃｒｅａｔｅ  Ｊｏｂのコマンドに対する結果コード（＜ｒｅｓｕｌｔ−ｃｏｄｅ＞タグ）、作成されたジョブの識別子（＜ｊｏｂ−ｉｄ＞タグ）、印刷用ポートのＵＲＩ（＜ｄａｔａ−ｓｉｎｋ−ｕｒｉ＞タグ）等の情報が含まれている。図５には、前述したように、印刷用のポートのＵＲＩとして、「ｈｔｔｐ：／／１９２．１６８．１．４／ｊｏｂ０００３」が記述されている。
【００３３】
（プリントデータ送信）
ステップＳ６で受信される印刷データ転送パケットは図６に示す通りである。ここでは、ＨＴＴＰのＰＯＳＴメソッドを利用し、ＨＴＴＰのボディ部として、プリントデータが送信される。
【００３４】
（プリントデータ受信レスポンス）
ステップＳ７で返信されるプリントデータ受信レスポンスデータは図７に示す通りである。この受信レスポンスデータには、印刷データを受信し終わって接続（コネクション）を閉じることが示されている。
【００３５】
（印刷レスポンス）
印刷リクエストに対してエラーが発生した場合、ステップＳ８で作成されるエラーを示す応答パケットデータ（エラーレスポンスデータ）は図８に示す通りである。この応答パケットデータ（エラーレスポンスデータ）も、印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットと同様、ＸＭＬ形式で記述され、ＨＴＴＰ上のＳＯＡＰを用いて送信される。この応答パケットデータは、ＳＯＡＰ１．１で定義された、ＳＯＡＰのエラーを返すフォーマットに準じている。ここでは、エラーの理由は、「ｃｏｎｆｌｉｃｔｉｎｇ−ａｔｔｒｉｂｕｔｅｓ」であることが、＜ｒｅｓｕｌｔ−ｃｏｄｅ＞タグの値として設定されている。
【００３６】
（印刷処理）
図９は印刷データを受信して印刷する際の印刷装置の動作処理手順を示すフローチャートである。この処理プログラムは、前述したように、印刷装置１００内のハードディスクドライブ（ＨＤＤ）１０８に記憶されており、ＣＰＵ１０１によって実行される。ここで、本実施形態の印刷装置１００は、印刷データの圧縮方式がＭＨ符号化方式である場合、処理可能であるが、他の圧縮方式である場合、処理できないものとする。
【００３７】
まず、ホストコンピュータ３００からのＨＴＴＰ  ＰＯＳＴメソッドにより受信した印刷データの圧縮方式を解析する（ステップＳ１１）。本実施形態では、受信した印刷データはＴＩＦＦ形式のデータ構造を有する。ここで、ＴＩＦＦ形式のデータ構造について示す。
【００３８】
図１０は印刷データに用いられるＴＩＦＦ形式のデータ構造を示す図である。図では、２ページ分のデータが例示されている。ＴＩＦＦ  Ｈｅａｄｅｒフィールドには、バイトオーダ、バージョン番号、最初のＩＦＤ（イメージファイルディレクトリ）へのポインタが含まれる。以下に続くデータは、ページ毎にＩＦＤ、Ｉｍａｇｅ  Ｄａｔａの各フィールド順になっている。ＩＦＤフィールドの先頭には、ＩＦＤ  Ｅｎｔｒｙ  Ｃｏｕｎｔが設けられており、このＩＦＤ  Ｅｎｔｒｙ  Ｃｏｕｎｔには、次に続くＩＦＤ  Ｅｎｔｒｙの数が格納されている。Ｅｎｔｒｙ  Ｃｏｕｎｔの次には、実際のＩＦＤ  Ｅｎｔｒｙとそれが指し示すＬｏｎｇ  Ｖａｌｕｅが設けられている。１つのＥｎｔｒｙは、１２バイトからなる、タグ名（２バイト）、タイプ（２バイト）、値の数（４バイト）、値（４バイト以内）あるいはＬｏｎｇ  Ｖａｌｕｅフィールドへのオフセット（４バイト）で構成される。Ｌｏｎｇ  Ｖａｌｕｅフィールドの次には、Ｉｍａｇｅ  Ｄａｔａフィールドが設けられており、ここには、実際のイメージデータが格納されている。
【００３９】
図１１は図１０の符号Ｂで示される部分から抜き出したＩＦＤ  Ｅｎｔｒｙフィールドを示す図である。図示するように、様々なＩＦＤ  Ｅｎｔｒｙが存在するが、これらのＩＦＤ  Ｅｎｔｒｙの中で、Ｃｏｍｐｒｅｓｓｉｏｎフィールドが印刷データの圧縮方式を表している。Ｃｏｍｐｒｅｓｓｉｏｎ＝３の場合、ＭＨ符号化方式あるいはＭＲ符号化方式を表し、さらにＴ４Ｏｐｔｉｏｎｓフィールド＝０または４の場合、印刷データの圧縮方式はＭＨ符号化方式であると判断できる。図１２は図１１と同様のＩＦＤ  Ｅｎｔｒｙフィールドを示す図である。この場合、Ｃｏｍｐｒｅｓｓｉｏｎフィールドが「７」という値になっているので、印刷データはＪＰＥＧ符号化方式であると判断できる。
【００４０】
このように、ステップＳ１１でデータ圧縮方式を解析する場合、印刷データ中のＩＦＤ  Ｅｎｔｒｙフィールドを参照する。そして、前述したように、ＩＦＤＥｎｔｒｙフィールドには、Ｃｏｍｐｒｅｓｓｉｏｎ、Ｔ４ＯｐｔｉｏｎｓというＥｎｔｒｙが存在するので、前述したように、Ｃｏｍｐｒｅｓｓｉｏｎ＝３、かつＴ４Ｏｐｔｉｏｎｓ＝０の場合、次に続くＩｍａｇｅ  Ｄａｔａの圧縮方式がＭＨ符号化方式であると判断できる。
【００４１】
この後、印刷データが処理可能であるか否かを判別する（ステップＳ１２）。印刷データの圧縮方式がＭＨ符号化方式であると判別された場合、処理可能であるので、印刷処理を行う（ステップＳ１３）。この印刷処理では、符号化された印刷データを伸長処理して印刷する。さらに、履歴テーブルに印刷成功の履歴を保存し（ステップＳ１４）、ＨＴＴＰ  ＰＯＳＴに対するレスポンスをホストコンピュータ３００に送信し（ステップＳ１５）、本処理を終了する。図１３は印刷装置１００における印刷データ処理の履歴が保存される履歴テーブルを示す図である。この履歴テーブルには、印刷装置１００が印刷データを処理した結果、正常に印刷されたかあるいはキャンセルされたか等の履歴を保存することが可能である。ここに保存された履歴は、印刷装置１００のオペレーションパネル１０９や履歴プリントにより確認することができる。
【００４２】
一方、ステップＳ１１で受信した印刷データがＪＰＥＧ符号化方式で符号化されたデータであると解析された場合、ステップＳ１２で処理不可能であると判別される。この場合、印刷データの処理をキャンセルするべく、ホストコンピュータ３００から送信されてくる全ての印刷データを破棄する処理を行い（ステップＳ１６）、図１３の履歴テーブルに印刷キャンセルの履歴を保存する（ステップＳ１７）。さらに、ステップＳ１５と同様、ＨＴＴＰ  ＰＯＳＴに対するレスポンスをホストコンピュータ３００に送信し（ステップＳ１８）、キャンセル通知パケットを通知先に送信し（ステップＳ１９）、本処理を終了する。図１４はキャンセル通知パケットデータを示す図である。図には、印刷装置１００で印刷データがキャンセルされた場合、ホストコンピュータ３００に向けて送信されるキャンセル通知パケットデータの一例が示されている。このパケットデータはＸＭＬ形式で記述され、ＳＯＡＰプロトコルを用いて送信される。また、このパケットの通知先は、図４の＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞タグ中に示されたＵＲＩとなる。図中、＜ｔｒｉｇｇｅｒ−ｅｖｅｎｔ＞タグの値としてｊｏｂ−ｃａｎｃｅｌｅｄが示されており、このパケットがキャンセル通知であることを示している。
【００４３】
このように、印刷装置１００が処理できない圧縮方式で印刷データが符号化されていた場合、その印刷データを破棄することにより、無駄な印刷（排紙）を未然に防止できる。また、破棄された印刷データの履歴を残し、さらにキャンセル通知（イベント通知）を通知先に送信することが可能である。
【００４４】
（イベント通知処理）
図１５はイベント通知処理の流れを示す図である。このイベント通知処理は、図９のステップＳ１９で実行されるものであり、このイベント通知処理を行うイベント処理部は、分割されたイベント解析処理部１５０３およびイベント送信処理部１５０４から構成される。イベント解析処理部１５０３は、イベント管理テーブル１５０５を参照し、受信したイベントを送信するべきか否かを判断する。また、イベント送信処理部１５０４は、送信すべきイベントを通知先に送信する処理を行う。メッセージキュー１５０１は印刷装置１００内部で発生する様々なイベントをイベント解析処理部１５０３に渡すためのキューである。メッセージキュー１５０２はイベント解析処理部１５０３からイベント送信処理部１５０４に渡すためのキューである。
【００４５】
図１６はイベント管理テーブル１５０５を示す図である。このイベント管理テーブルでは、例えば、ＪＯＢ  ＩＤが「０００２」という値を持つ印刷データに対し、ＪＯＢ＿ＣＯＭＰＬＥＴＥＤあるいはＪＯＢ＿ＣＡＮＣＥＬＥＤというイベントが発生した場合、通知先のＵＲＬである「ｈｔｔｐ：／／１９２．１６８．１．５／ｅｖｅｎｔ」に向けてイベントを送信しなければならないことを意味している。送信すべきイベントは、「イベント種別」に示されており、その値はイベント種別フラグの各値の論理和となっている。
【００４６】
図１７はイベント解析処理部１５０３の動作処理手順を示すフローチャートである。イベント解析処理部１５０３は、メッセージキュー１５０１から印刷装置１００内部で発生した様々なイベントを受信する（ステップＳ２１）。受信したイベントの内容を解析し（ステップＳ２２）、イベント管理テーブル１５０５と照合する（ステップＳ２３）。
【００４７】
照合の結果、通知先へ通知すべきイベントであるか否かを判断する（ステップＳ２４）。例えば、メッセージキュー１５０１から受信したイベントの内容が、ＪＯＢ  ＩＤ＝０００３、イベント種別：０ｘ０００８（ＪＯＢ＿ＣＡＮＣＥＬＥＤ）であった場合、イベント管理テーブル１５０５を参照した結果、通知先であるＵＲＬ「ｈｔｔｐ：／／１９２．１６８．１．６／ｅｖｅｎｔ」に送信すべきイベントであると判断する。
【００４８】
送信すべきイベントであると判断された場合、ＪＯＢ  ＩＤ、イベント種別、通知先ＵＲＬ、購読者等の情報をメッセージキュー１５０２に送信し（ステップＳ２５）、ステップＳ２１の処理に戻る。一方、ステップＳ２４で送信すべきイベントではないと判断された場合、そのイベントを破棄し（ステップＳ２６）、ステップＳ２１の処理に戻る。そして、イベント解析処理部１５０３は、このような処理を繰り返す。
【００４９】
図１８はイベント送信処理部１５０４の動作処理手順を示すフローチャートである。イベント送信処理部１５０４は、メッセージキュー１５０２から送信すべきイベント情報を受信する（ステップＳ３１）。受信したイベント情報から通知先ＵＲＬを取得し、その通知先に接続を試みる（ステップＳ３２）。ステップＳ３２におけるイベント通知先への接続が成功したか、あるいはタイムアウトで失敗したかを判別する（ステップＳ３３）。ステップＳ３２における通知先への接続がタイムアウトにより失敗した場合、イベントを通知することができないので、ステップＳ３１の処理に戻り、次のイベントを待つ。
【００５０】
一方、ステップＳ３２における通知先への接続が成功した場合、図１４に示すようなイベント通知パケットを送信する（ステップＳ３４）。イベント通知パケットの送信が完了すると、通知先との接続を切断し（ステップＳ３５）、ステップＳ３１の処理に戻る。そして、イベント送信処理部１５０４は、このような処理を繰り返す。
【００５１】
このように、イベント送信処理部１５０４は、通知先への接続処理において、通知先が存在しない、あるいはネットワーク不通などの要因で、通知先に接続できない場合、接続タイムアウトが発生するまでは処理が停止することになるので、一連の処理に時間がかかる場合がある。
【００５２】
しかし、イベント処理部は、イベント解析処理部１５０３とイベント送信処理部１５０４とに分割されており、これらが独立に並行して動作することで、イベント解析処理部１５０３では、不必要なイベントを順次破棄することが可能である。したがって、イベント送信処理部１５０４の処理に時間がかかる場合であっても、メッセージキュー１５０２にメッセージが溢れることを軽減でき、印刷装置１００内で発生するイベントの取りこぼしを防止できる。
【００５３】
このように、本実施形態の印刷装置によれば、印刷装置が処理できない圧縮方式で符号化された印刷データを破棄し、無駄な印刷（排紙）を未然に防ぐことができる。また、破棄された印刷データの履歴を残し、印刷がキャンセルされた旨をユーザに知らせるためのキャンセル通知を行うことができる。したがって、ユーザはわざわざ印刷装置の場所まで行かなくても、印刷が取り消されたことを知ることができる。
【００５４】
さらに、キャンセル通知などを行う印刷装置のイベント処理部では、イベント送信処理に時間を要する場合であっても、印刷装置内で発生する後続のイベントの取りこぼしを防ぐことが可能となり、イベント受信者に確実にイベント（キャンセル通知など）を送信できる。また、イベント処理部が１つである場合、イベント解析処理とイベント送信処理が同時に実行できないので、印刷装置内部で多数のイベントを保存するためのメモリが必要であったが、本実施形態では、そのようなメモリの消費量を削減できる。
【００５５】
以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態の構成に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【００５６】
例えば、ホストコンピュータから送信される印刷データを受信するデータ受信領域として、印刷装置内の特定の記憶領域をポート番号で指定してもよいし、印刷装置が読み出し可能な別体の装置をポート番号で指定してもよい。
【００５７】
また、本発明の目的は、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【００５８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５９】
又、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００６０】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６１】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６２】
本発明の実施形態を以下に列挙する。
【００６３】
［実施態様１］  通信媒体を介して接続された情報処理装置から送信される印刷データを受信して印刷する印刷装置において、印刷データを伸長する伸長手段と、前記印刷データの圧縮方式を判定する圧縮方式判定手段と、該判定された圧縮方式を基に、前記印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定手段と、前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄手段とを備えたことを特徴とする印刷装置。
【００６４】
［実施態様２］  前記通信媒体であるネットワークを介して前記情報処理装置から送信される印刷開始要求を受信する印刷開始要求受信手段と、前記印刷開始要求を受信した後、印刷データを受信する領域のアドレスを前記情報処理装置に応答する印刷開始応答手段と、前記情報処理装置から送信された印刷データを前記アドレスで示される領域から取得する取得手段とを備えたことを特徴とする実施態様１記載の印刷装置。
【００６５】
［実施態様３］  印刷履歴を保存する印刷履歴保存手段を備え、前記印刷データを印刷することなく破棄する場合、前記印刷履歴保存手段は、エラー履歴を保存することを特徴とする実施態様１記載の印刷装置。
【００６６】
［実施態様４］  前記印刷データを印刷することなく破棄する場合、前記情報処理装置にその旨を通知する通知手段を備えたことを特徴とする実施態様１記載の印刷装置。
【００６７】
［実施態様５］  前記通知手段は、前記印刷装置の内部で発生する複数のイベントの中から、前記情報処理装置に通知するイベントを選択するイベント選択手段と、該選択されたイベントを前記情報処理装置に順次送信するイベント送信手段とを備え、前記イベント送信手段が前記選択されたイベントを前記情報処理装置に送信している間、前記イベント選択手段は前記印刷装置の内部で発生するイベントの選択を並行して実行することを特徴とする実施態様４記載の印刷装置。
【００６８】
［実施態様６］  情報処理装置と、ネットワークを介して接続された前記情報処理装置から送信される印刷データを受信して印刷する印刷装置とを備えた印刷システムにおいて、前記印刷装置は、前記情報処理装置から送信される印刷開始要求を受信する印刷開始要求受信手段と、前記印刷開始要求を受信した後、印刷データを受信する領域のアドレスを前記情報処理装置に応答する印刷開始応答手段と、前記情報処理装置から送信された印刷データを前記アドレスで示される領域から取得する取得手段と、印刷データを伸長する伸長手段と、前記取得した印刷データの圧縮方式を判定する圧縮方式判定手段と、該判定された圧縮方式を基に、前記印刷データが前記伸長手段によって伸長可能であるか否かを判定する伸長可否判定手段と、前記印刷データを伸長できない場合、前記印刷データを印刷することなく破棄する破棄手段とを備え、前記情報処理装置は、前記印刷開始要求を前記印刷装置に送信する印刷開始要求送信手段と、前記印刷データを受信する領域のアドレスを受信するアドレス受信手段と、前記アドレスで示される領域に前記印刷データを送信する印刷データ送信手段とを備えたことを特徴とする印刷システム。
【００６９】
［実施態様７］  ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷する印刷方法において、前記情報処理装置から送信される印刷開始要求を受信する印刷開始要求受信ステップと、前記印刷開始要求を受信した後、印刷データを受信する領域のアドレスを前記情報処理装置に応答する印刷開始応答ステップと、前記情報処理装置から送信された印刷データを前記アドレスで示される領域から取得する取得ステップと、印刷データを伸長する伸長ステップと、前記印刷データの圧縮方式を判定する圧縮方式判定ステップと、該判定された圧縮方式を基に、前記印刷データが前記伸長ステップで伸長可能であるか否かを判定する伸長可否判定ステップと、前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄ステップとを有することを特徴とする印刷方法。
【００７０】
［実施態様８］  印刷装置内のコンピュータによって実行され、ネットワークを介して接続された情報処理装置から送信される印刷データを受信して印刷するためのプログラムであって、前記情報処理装置から送信される印刷開始要求を受信する印刷開始要求受信手順と、前記印刷開始要求を受信した後、印刷データを受信する領域のアドレスを前記情報処理装置に応答する印刷開始応答手順と、
前記情報処理装置から送信された印刷データを前記アドレスで示される領域から取得する取得手順と、印刷データを伸長する伸長手順と、前記印刷データの圧縮方式を判定する圧縮方式判定手順と、該判定された圧縮方式を基に、前記印刷データが前記伸長手順で伸長可能であるか否かを判定する伸長可否判定手順と、前記印刷データを伸長できない場合、該印刷データを印刷することなく破棄する破棄手順とを含むことを特徴とするプログラム。
【００７１】
［実施態様９］  実施態様８記載のプログラムを格納する記憶媒体。
【００７２】
【発明の効果】
本発明によれば、印刷開始要求に対する正常な応答を返す一方で、処理できない圧縮方式で印刷データが符号化されていた場合、無駄な印刷（排紙）を未然に防止するとともに、ユーザが印刷装置の設置場所まで行く前に状況を把握できる。
【図面の簡単な説明】
【図１】実施の形態における印刷装置のハードウェア構成を示すブロック図である。
【図２】印刷装置１００のソフトウェア構成を示すブロック図である。
【図３】印刷サービスの利用者によって操作されるホストコンピュータ３００から印刷が要求される際、印刷装置の動作処理手順を示すフローチャートである。
【図４】印刷要求ジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットを示す図である。
【図５】Ｃｒｅａｔｅ  Ｊｏｂパケットに対するレスポンスデータを示す図である。
【図６】通信プロトコルであるＨＴＴＰのＰＯＳＴメソッドによる印刷データ転送パケットを示す図である。
【図７】ＨＴＴＰレスポンス（プリントデータ受信レスポンス）データを示す図である。
【図８】エラーレスポンスデータを示す図である。
【図９】印刷データを受信して印刷する際の印刷装置の動作処理手順を示すフローチャートである。
【図１０】印刷データに用いられるＴＩＦＦ形式のデータ構造を示す図である。
【図１１】図１０の符号Ｂで示される部分から抜き出したＩＦＤ  Ｅｎｔｒｙフィールドを示す図である。
【図１２】図１１と同様のＩＦＤ  Ｅｎｔｒｙフィールドを示す図である。
【図１３】印刷装置１００における印刷データ処理の履歴が保存される履歴テーブルを示す図である。
【図１４】キャンセル通知パケットデータを示す図である。
【図１５】イベント通知処理の流れを示す図である。
【図１６】イベント管理テーブル１５０５を示す図である。
【図１７】イベント解析処理部１５０３の動作処理手順を示すフローチャートである。
【図１８】イベント送信処理部１５０４の動作処理手順を示すフローチャートである。
【符号の説明】
１００  印刷装置
１０１  ＣＰＵ
１１０  プリンタ部
１１１  ネットワーク
１２０  プリンタ制御本体
２０１  プリンタ制御部
２０４  ＳＯＡＰ制御部
２０５  ＨＴＴＰサーバ制御部
３００  ホストコンピュータ（クライアント装置）
１５０３  イベント解析部
１５０４  イベント送信部
【図１】
2004341733.tif 000003
【図２】
2004341733.tif 000004
【図３】
2004341733.tif 000005
【図４】
2004341733.tif 000006
【図５】
2004341733.tif 000007
【図６】
2004341733.tif 000008
【図７】
2004341733.tif 000009
【図８】
2004341733.tif 000010
【図９】
2004341733.tif 000011
【図１０】
2004341733.tif 000012
【図１１】
2004341733.tif 000013
【図１２】
2004341733.tif 000014
【図１３】
2004341733.tif 000015
【図１４】
2004341733.tif 000016
【図１５】
2004341733.tif 000017
【図１６】
2004341733.tif 000018
【図１７】
2004341733.tif 000019
【図１８】
2004341733.tif 000020