(58)【調査した分野】(Int.Cl.,DB名)
前記タイムアウト管理部は、前記特殊コマンド検出部によって前記特殊コマンドが検出されると、前記ワンタイム区切りコードの未受信状態を内部タイムアウトとして検出し、前記印刷データの送信元に前記ワンタイム区切りコードの未受信を通知する未受信リクエストを送信することを特徴とする請求項1記載の画像形成装置。
前記タイムアウト管理部によって前記未受信リクエストを送信しても前記ワンタイム区切りコードの受信が検出されない場合、受信済みの前記印刷データの印刷処理を実行すると共に、前記特殊コマンド検出部は、前記ワンタイム区切りコードを前記記憶部から削除し、前記区切りコード検出部は、前記既存区切りコードの検出を有効化し、前記タイムアウト管理部は、前記インターフェースタイムアウトの検出を有効化することを特徴とする請求項2記載の画像形成装置。
【発明を実施するための形態】
【0012】
以下、図を参照して本発明の実施の形態を詳細に説明する。なお、以下の実施形態において、同様の機能を示す構成には、同一の符号を付してある。
【0013】
本実施の形態の画像形成装置1は、複写機やMFP(Multifunction Peripheral/Printer/Product)等であり、
図1を参照すると、操作部2と、原稿読取部3と、入出力部4と、記憶部5と、画像処理部6と、印刷部7と、制御部8とを備えている。
【0014】
操作部2は、印刷処理の実行指示、印刷設定の入力、設定値の表示、エラー詳細内容の表示を行うキーボードやタッチパネル等のユーザーインターフェースである。
【0015】
原稿読取部3は、図示しない原稿給紙装置により給紙されてきた原稿や、ユーザーによってコンタクトガラスに載置された原稿に対して光を照射し、その反射光等を受光して画像データを読み取るスキャナーである。
【0016】
入出力部4は、LAN等のネットワーク10や、パラレル、USB等の各種インターフェースを介して接続された端末装置20との間で情報の送受信を行う機能を備えている。入出力部4は、画像データを含む文書データ等の印刷データや、画像形成装置1の情報、エラー情報を所定のプロトコルで送受信するインターフェースである。
【0017】
記憶部5は、原稿画像や印刷データが記憶される半導体メモリー、HDD(Hard Disk Drive)等の記憶手段である。記憶部5は、画像処理用のメモリーや各種設定を記憶するメモリーとしても使用される。また、記憶部5は、外部から着脱可能に配置されるSDカードやUSBメモリー等であっても良い。記憶部5には、区切りコード51と、特殊コマンド52とが記憶されている。さらに、記憶部5には、ワンタイム区切りコード53が記憶される。
【0018】
区切りコード51は、一般的なページ記述言語において印刷データの区切りとして用いられるコマンドである。例えば、区切りコード51として、PJL(Printer Job Language)のUEL(Universal Exit Language)、Ctrl−D(Postscriptの場合)、EOJコマンド、PRESCRIBEのJOBTコマンド等が予め登録されている。
【0019】
特殊コマンド52は、印刷データがワンタイム区切りコード53によって区切られていることを示すコマンドである。特殊コマンド52は、印刷データを送信する端末装置20のプリンタドライバーや印刷アプリケーション(以下、印刷データ送信元と称す)との間で取り決められたコマンドであり、
図2に示すように、印刷データの前に付加される。また、特殊コマンド52には、ワンタイム区切りコード53を格納する領域が設定されており、印刷データ送信元は、任意のワンタイム区切りコード53を設定することができる。
【0020】
画像処理部6は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えたマイクロコンピュータ等の演算処理回路であり、例えば、拡大縮小処理、濃度調整処理、階調調整処理等の画像処理に係る各種ジョブを実行する。
【0021】
印刷部7は、原稿読取部3によって読み取った原稿画像や、端末装置20から受信した印刷データを印刷する印刷手段である。印刷部7は、例えば、印刷データに基づき感光体ドラムの表面に潜像を形成し、トナーによってその潜像をトナー像とする画像形成を行い、その感光体ドラムから記録紙にトナー像を転写させ、そのトナー像を記録紙に定着させて排紙する。
【0022】
制御部8は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えたマイクロコンピュータ等の演算処理回路である。ROMには画像形成装置1の動作制御を行うための制御プログラムが記憶されている。制御部8は、ROMに記憶されている制御プログラムを読み出し、制御プログラムをRAMに展開させることで、操作部2から入力された各種指示情報に応じて装置全体の制御を行う。
【0023】
また、制御部8は、区切りコード検出部81、特殊コマンド検出部82、タイムアウト管理部83として機能する。
【0024】
区切りコード検出部81は、印刷データ受信時に印刷データ内の区切りコード51を、印刷データの区切りとして検出する。また、特殊コマンド検出部82からコード切換を指示されると、既存区切りコード(区切りコード51)の検出を無効化し、印刷データ内のワンタイム区切りコード53を、印刷データの区切りとして検出する。
【0025】
特殊コマンド検出部82は、印刷データの前に付加された特殊コマンド52を検出すると、特殊コマンド52に格納されているワンタイム区切りコード53を記憶部5に記憶させると共に、区切りコード検出部81とタイムアウト管理部83とにコード切換を指示する。
【0026】
タイムアウト管理部83は、端末装置20との通信断が設定された第1タイムアウト時間を超えると、インターフェースタイムアウトを検出する。また、タイムアウト管理部83は、特殊コマンド検出部82からコード切換を指示されると、インターフェースタイムアウトの検出を無効化し、特殊コマンド52の受信後、ワンタイム区切りコード53が検出されることなく、印刷データの受信が途絶えた状態が設定された第2タイムアウト時間を超えると、内部タイムアウトを検出する。
【0027】
次に、画像形成装置1における特殊コマンド52の検出時の動作について
図3を参照して詳細に説明する。
特殊コマンド検出部82は、受信されたデータと、記憶部5に記憶されている特殊コマンド52とを比較することで、特殊コマンド52を検出する(ステップS101)。なお、特殊コマンド52は、印刷データの前に付加されることが予め取り決められているため、データの受信開始直後や、区切りコード検出部81によって区切りコード51が検出された直後のみ動作する。
【0028】
次に、特殊コマンド検出部82は、特殊コマンド52に格納されているワンタイム区切りコード53を記憶部5に記憶させる(ステップS102)。
【0029】
また、特殊コマンド検出部82は、タイムアウト管理部83にコード切換を指示し、タイムアウト管理部83によるインターフェースタイムアウトの検出を無効化させる(ステップS103)。
【0030】
また、特殊コマンド検出部82は、区切りコード検出部81にコード切換を指示し、区切りコード検出部81による既存区切りコード(区切りコード51)の検出を無効化させる(ステップS104)。
【0031】
次に、制御部8は、特殊コマンドに引き続く印刷データを受信し(ステップS105)、1バイト毎に記憶部5に記憶させる(ステップS106)。
【0032】
次に、区切りコード検出部81は、ステップS102で記憶部5に記憶させたワンタイム区切りコード53と、ステップS106で記憶部5に記憶させた印刷データとを比較することで(ステップS107)、ワンタイム区切りコード53を検出する。そして、区切りコード検出部81は、ワンタイム区切りコード53が検出されたか否かを判断する(ステップS108)。
【0033】
ステップS108でワンタイム区切りコード53が検出されなかった場合、ステップS105に戻り、制御部8によって引き続き印刷データを受信する。
【0034】
ステップS108でワンタイム区切りコード53が検出された場合、区切りコード検出部81は、特殊コマンド検出部82とタイムアウト管理部83とにワンタイム区切りコード53の検出を通知すると共に、制御部8は、記憶部5に記憶させた印刷データの解釈及び印刷処理を実行する(ステップS109)。なお、印刷処理に先立つ、印刷データの解釈及び描画処理は、ステップS105〜108と並行処理しても良い。
【0035】
区切りコード検出部81からワンタイム区切りコード53の検出を通知された特殊コマンド検出部82は、記憶部5に記憶させたワンタイム区切りコード53を削除する(ステップS110)。これにより、特殊コマンド52で設定されたワンタイム区切りコード53の有効期間は、S102〜S110の間となる。すなわち、ワンタイム区切りコード53を設定する特殊コマンド52は印刷データとは別で、その特殊コマンド52を受信したインターフェースで受信する印刷データに対してのみ有効になる。
【0036】
また、ワンタイム区切りコード53の検出した区切りコード検出部81は、既存区切りコード(区切りコード51)の検出を有効化する(ステップS111)。
【0037】
さらに、区切りコード検出部81からワンタイム区切りコード53の検出を通知されたタイムアウト管理部83は、インターフェースタイムアウトの検出を有効化する(ステップS112)。
【0038】
次に、制御部8は、引き続くデータがあるか否かを判断する(ステップS113)。そして、ステップS113で引き続くデータがある場合、制御部8は、次の印刷データとして処理を実行する(ステップS114)。このように、特殊コマンド52の受信後、印刷データ内でワンタイム区切りコード53を検出した場合、その後にデータが繋がっていたとしても別データとして処理される。
【0039】
ステップS113で引き続くデータがない場合、制御部8は、そのまま印刷処理を終了させる。
【0040】
次に、タイムアウト管理部83による内部タイムアウトの検出動作について
図4を参照して詳細に説明する。なお、
図3に示すフローチャートと重複する処理については、同一のステップ番号を付して適宜説明を省略する。
【0041】
特殊コマンド52の検出によってインターフェースタイムアウトを無効化にした場合、特殊コマンド52によって設定されたワンタイム区切りコード53が受信されないと、データを待ち続け、且つインターフェースタイムアウトの検出を有効に戻すことできない。そこで、本実施の形態では、インターフェースタイムアウトと別に、内部タイムアウトを検出することで、特殊コマンド52検出後にワンタイム区切りコード53が受信されないケースに対応している。なお、内部タイムアウトの検出に用いる第2タイムアウト時間は、一般ユーザーが設定するものではなく、管理者が設定するものとする。管理者は、普段のMFP・Printerの使われ方、データの受信開始、受信完了、印刷開始、印刷完了等のパラメータより、第2タイムアウト時間を適切に設定する必要がある。
【0042】
まず、印刷データ送信元の端末装置20は、画像形成装置1との間で双方向通信できる状態に設定する(ステップS201)。印刷データ送信元の端末装置20では、特殊コマンド52によってワンタイム区切りコード53を設定する場合、自動的に双方向通信を有効に設定する。
【0043】
タイムアウト管理部83は、特殊コマンド52の受信後、ワンタイム区切りコード53が検出されることなく、印刷データの受信が途絶えると、内部タイムアウトタイマーを起動する(ステップS202)。
【0044】
そして、印刷データの受信が途絶えた状態が設定された第2タイムアウト時間を超えると、タイムアウト管理部83は、内部タイムアウトを検出し、端末装置20にワンタイム区切りコード53が送られてこないことを通知する未受信メッセージを送信する(ステップS203)。
【0045】
なお、内部タイムアウトタイマーの起動タイミングは、特殊コマンド52の受信時であっても良い。この場合、タイムアウト管理部83は、特殊コマンド52の受信から設定された第2タイムアウト時間が経過してもワンタイム区切りコード53が受信されない場合に、内部タイムアウトを検出する。
【0046】
ステップS203で未受信メッセージを受信した端末装置20は、ワンタイム区切りコード53を画像形成装置1に送信する。これにより、画像形成装置1は、制御部8は印刷処理を完了させ、特殊コマンド検出部82は、記憶部5に記憶させたワンタイム区切りコード53を削除することができる。また、タイムアウト管理部83はインターフェースタイムアウトの検出を、区切りコード検出部81は既存区切りコード(区切りコード51)の検出をそれぞれ有効化することができる。
【0047】
なお、未受信メッセージを送信後も端末装置20から何も送られてこない場合には、タイムアウト管理部83は、未受信メッセージを再送する。未受信メッセージの送信回数や送信間隔は、適宜設定することができる。
【0048】
そして、設定された回数の未受信メッセージを送信しても、端末装置20から何も送られてこない場合には、ネットワーク10やパラレル、USB等の接続が切れているか、端末装置20が何らかの理由によりデータを送信できなくなっていることが想定される。従って、この場合もワンタイム区切りコード53の受信時と同様に、印刷処理を実行し、ワンタイム区切りコード53の削除、インターフェースタイムアウトの検出及び既存区切りコード(区切りコード51)の検出を有効化する。
【0049】
このとき、受信していたデータが中途半端(印刷ページの途中で途切れるような場合)であれば、制御部8は、印刷ページとして成り立っているところまでを印刷する。そして、残りのデータ分がゴミ印刷(何枚も印刷される)となる場合は印刷しないか、もしくはエラーページ(エラー内容を記載した印刷物)を印刷すると良い。
【0050】
以上説明したように、本実施の形態によれば、受信した印刷データ内から予め設定された既存区切りコードとして記憶部5に記憶された区切りコード51を検出することで、印刷データの区切りを認識して印刷処理を実行する画像形成装置1であって、印刷データ内から区切りコード51を検出する区切りコード検出部81と、特殊コマンド52を検出すると、特殊コマンド52に格納されているワンタイム区切りコード53を記憶部5に記憶させる特殊コマンド検出部82と、を具備し、区切りコード検出部81は、特殊コマンド検出部82によって特殊コマンド52が検出されると、区切りコード51の検出を無効化して、印刷データ内から記憶部5に記憶されたワンタイム区切りコード53を印刷データの区切りとして検出し、特殊コマンド検出部82は、区切りコード検出部81によってワンタイム区切りコード53が検出されると、ワンタイム区切りコード53を記憶部5から削除する。
この構成により、特殊コマンド52によって設定されたワンタイム区切りコード53によって、印刷データの区切りを検出することができるため、印刷データの送信元であるプリンタドライバーや印刷アプリケーションが指定した箇所で印刷データを確実に区切ることができる。また、ワンタイム区切りコード53に有効期間を設け、区切りコード検出部81によるワンタイム区切りコード53の検出で、ワンタイム区切りコード53を記憶部5から削除されるため、特殊コマンド52が付加された印刷データにのみ有効な区切りとすることができ、区切りコードの誤検出を防止できる。
【0051】
さらに、本実施の形態において、区切りコード検出部81は、特殊コマンド検出部82によって特殊コマンド52が検出されると、ワンタイム区切りコード53を検出するまで、区切りコード51の検出を無効化する。
この構成により、印刷データの区切りをワンタイム区切りコード53の検出のみで判断することができ、印刷データの送信元であるプリンタドライバーや印刷アプリケーションが指定した箇所で印刷データを確実に区切ることができる。
【0052】
さらに、本実施の形態において、印刷データの送信元との間のインターフェースタイムアウトを検出するタイムアウト管理部83を具備し、タイムアウト管理部83は、特殊コマンド検出部82によって特殊コマンド52が検出されると、区切りコード検出部81によってワンタイム区切りコード53が検出されるまで、インターフェースタイムアウトの検出を無効化する。
この構成により、インターフェースタイムアウトによって、区切りコード51の検出を無効化した状態が継続されることを防止することができる。
【0053】
さらに、本実施の形態において、タイムアウト管理部83は、特殊コマンド検出部82によって特殊コマンド52が検出されると、ワンタイム区切りコード53の未受信状態を内部タイムアウトとして検出し、印刷データの送信元にワンタイム区切りコード53の未受信を通知する未受信リクエストを送信する。
この構成により、印刷データの送信元であるプリンタドライバーや印刷アプリケーションにワンタイム区切りコード53の送信もしくは再送信を依頼することができ、データを待ち続け、且つインターフェースタイムアウトの検出を有効に戻すことできない状態を回避することができる。
【0054】
さらに、本実施の形態において、タイムアウト管理部83によって未受信リクエストを送信してもワンタイム区切りコード53の受信が検出されない場合、受信済みの印刷データの印刷処理を実行すると共に、特殊コマンド検出部82は、ワンタイム区切りコード53を記憶部5から削除し、区切りコード検出部81は、区切りコード51の検出を有効化し、タイムアウト管理部83は、インターフェースタイムアウトの検出を有効化する。
この構成により、特殊コマンド検出部82によって特殊コマンド52が検出される前の状態に戻すことができる。
【0055】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。なお、各図において、同一構成要素には同一符号を付している。