(57)【要約】【課題】プリンタドライバーや印刷アプリケーションが指定した箇所で印刷データを確実に区切ることができる画像形成装置を提供する。【解決手段】印刷データ内から区切りコード５１を検出する区切りコード検出部８１と、特殊コマンド５２を検出すると、特殊コマンド５２に格納されているワンタイム区切りコード５３を記憶部５に記憶させる特殊コマンド検出部８２と、を具備し、区切りコード検出部８１は、特殊コマンド検出部８２によって特殊コマンド５２が検出されると、区切りコード５１の検出を無効化して、印刷データ内から記憶部５に記憶されたワンタイム区切りコード５３を印刷データの区切りとして検出し、特殊コマンド検出部８２は、区切りコード検出部８１によってワンタイム区切りコード５３が検出されると、ワンタイム区切りコード５３を記憶部５から削除する。【選択図】図１
2018202823.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷データ内から予め設定された既存区切りコードを検出することで、前記印刷データの区切りを認識して印刷処理を実行する画像形成装置であって、
前記印刷データ内から前記既存区切りコードを検出する区切りコード検出部と、
特殊コマンドを検出すると、前記特殊コマンドに格納されているワンタイム区切りコードを記憶部に記憶させる特殊コマンド検出部と、を具備し、
前記区切りコード検出部は、前記特殊コマンド検出部によって前記特殊コマンドが検出されると、前記既存区切りコードの検出を無効化して、前記印刷データ内から前記記憶部に記憶された前記ワンタイム区切りコードを前記印刷データの区切りとして検出し、
前記特殊コマンド検出部は、前記区切りコード検出部によって前記ワンタイム区切りコードが検出されると、前記ワンタイム区切りコードを前記記憶部から削除することを特徴とする画像形成装置。
【請求項２】
前記区切りコード検出部は、前記特殊コマンド検出部によって前記特殊コマンドが検出されると、前記ワンタイム区切りコードを検出するまで、前記既存区切りコードの検出を無効化することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記印刷データの送信元との間のインターフェースタイムアウトを検出するタイムアウト管理部を具備し、
前記タイムアウト管理部は、前記特殊コマンド検出部によって前記特殊コマンドが検出されると、前記区切りコード検出部によって前記ワンタイム区切りコードが検出されるまで、前記インターフェースタイムアウトの検出を無効化することを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記タイムアウト管理部は、前記特殊コマンド検出部によって前記特殊コマンドが検出されると、前記ワンタイム区切りコードの未受信状態を内部タイムアウトとして検出し、前記印刷データの送信元に前記ワンタイム区切りコードの未受信を通知する未受信リクエストを送信することを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記タイムアウト管理部によって前記未受信リクエストを送信しても前記ワンタイム区切りコードの受信が検出されない場合、受信済みの前記印刷データの印刷処理を実行すると共に、前記特殊コマンド検出部は、前記ワンタイム区切りコードを前記記憶部から削除し、前記区切りコード検出部は、前記既存区切りコードの検出を有効化し、前記タイムアウト管理部は、前記インターフェースタイムアウトの検出を有効化することを特徴とする請求項４記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーがパーソナルコンピューター等の端末装置で作成したドキュメントを印刷する画像形成装置に関する。
【背景技術】
【０００２】
ユーザーが端末装置で作成したドキュメントを印刷する際、ドキュメントをプリンタドライバーや印刷アプリケーションを使って画像形成装置が認識できる印刷言語に変換し、然るべきインターフェースにて画像形成装置に送信する。
【０００３】
通常、画像形成装置ではＰＪＬ（Printer Job Language）のＵＥＬ(Universal Exit Language)、Ｃｔｒｌ−Ｄ(Postscript（登録商標）の場合)、ＥＯＪコマンド、ＰＲＥＳＣＲＩＢＥ（登録商標）のＪＯＢＴコマンドをデータの区切りコードと判断し、そこまでに受信したデータを１つのジョブとして処理して印刷している。
【０００４】
また、通常使用する区切りコードに対応していない非対応印刷言語の印刷データにも対応できるように、ユーザーが登録した区切りコードと、印刷データとを比較し、その結果に基づいて印刷データ間を区切る技術も提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２１２９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、、ユーザーが使うプリンタドライバーや印刷アプリケーションによっては、上記の区切りコードの後に実は１つのジョブとして扱うべき印刷データがあったり、逆に、印刷データの中に上記の区切りコードが含まれてしまったりするケースがあった。このようなケースでは、ユーザーが意図しない位置でデータが切れてしまい、ユーザーが意図しない印刷結果となることがあった。
【０００７】
また、ユーザーが区切りコードを登録する場合には、印刷データに含まれるコードを入力してしまう可能性があり、予期しない箇所でデータが終了と判定されてしまう虞がある。さらに、別のユーザーが同じ印刷言語で印刷データを送信する際、印刷データ内にたまたま別のユーザーが登録した区切りコードが含まれていた場合、そのコードで印刷データが区切られてしまうため、印刷言語の解釈にてエラーが発生するか、エラーにならなくてもページの途中で途切れた印刷結果となってしまうという問題点があった。
【０００８】
本発明は、上記問題点を鑑みてなされたものであり、その目的とするところは、プリンタドライバーや印刷アプリケーションが指定した箇所で印刷データを確実に区切ることができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像形成装置は、受信した印刷データ内から予め設定された既存区切りコードを検出することで、前記印刷データの区切りを認識して印刷処理を実行する画像形成装置であって、前記印刷データ内から前記既存区切りコードを検出する区切りコード検出部と、特殊コマンドを検出すると、前記特殊コマンドに格納されているワンタイム区切りコードを記憶部に記憶させる特殊コマンド検出部と、を具備し、前記区切りコード検出部は、前記特殊コマンド検出部によって前記特殊コマンドが検出されると、前記既存区切りコードの検出を無効化して、前記印刷データ内から前記記憶部に記憶された前記ワンタイム区切りコードを前記印刷データの区切りとして検出し、前記特殊コマンド検出部は、前記区切りコード検出部によって前記ワンタイム区切りコードが検出されると、前記ワンタイム区切りコードを前記記憶部から削除することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、特殊コマンドによって設定されたワンタイム区切りコードによって、印刷データの区切りを検出することができるため、印刷データの送信元であるプリンタドライバーや印刷アプリケーションが指定した箇所で印刷データを確実に区切ることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る画像形成装置の実施の形態の概略構成を示すブロック図である。
【図２】図１に示す特殊コマンドが付加された印刷データ例を示す図である。
【図３】図１に示す画像形成装置における特殊コマンド検出時の動作を説明するフローチャートである。
【図４】図１に示すタイムアウト管理部による内部タイムアウトの検出動作を説明するシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、図を参照して本発明の実施の形態を詳細に説明する。なお、以下の実施形態において、同様の機能を示す構成には、同一の符号を付してある。
【００１３】
本実施の形態の画像形成装置１は、複写機やＭＦＰ（Multifunction Peripheral/Printer/Product）等であり、図１を参照すると、操作部２と、原稿読取部３と、入出力部４と、記憶部５と、画像処理部６と、印刷部７と、制御部８とを備えている。
【００１４】
操作部２は、印刷処理の実行指示、印刷設定の入力、設定値の表示、エラー詳細内容の表示を行うキーボードやタッチパネル等のユーザーインターフェースである。
【００１５】
原稿読取部３は、図示しない原稿給紙装置により給紙されてきた原稿や、ユーザーによってコンタクトガラスに載置された原稿に対して光を照射し、その反射光等を受光して画像データを読み取るスキャナーである。
【００１６】
入出力部４は、ＬＡＮ等のネットワーク１０や、パラレル、ＵＳＢ等の各種インターフェースを介して接続された端末装置２０との間で情報の送受信を行う機能を備えている。入出力部４は、画像データを含む文書データ等の印刷データや、画像形成装置１の情報、エラー情報を所定のプロトコルで送受信するインターフェースである。
【００１７】
記憶部５は、原稿画像や印刷データが記憶される半導体メモリー、ＨＤＤ（Hard Disk Drive）等の記憶手段である。記憶部５は、画像処理用のメモリーや各種設定を記憶するメモリーとしても使用される。また、記憶部５は、外部から着脱可能に配置されるＳＤカードやＵＳＢメモリー等であっても良い。記憶部５には、区切りコード５１と、特殊コマンド５２とが記憶されている。さらに、記憶部５には、ワンタイム区切りコード５３が記憶される。
【００１８】
区切りコード５１は、一般的なページ記述言語において印刷データの区切りとして用いられるコマンドである。例えば、区切りコード５１として、ＰＪＬ（Printer Job Language）のＵＥＬ(Universal Exit Language)、Ｃｔｒｌ−Ｄ(Postscriptの場合)、ＥＯＪコマンド、ＰＲＥＳＣＲＩＢＥのＪＯＢＴコマンド等が予め登録されている。
【００１９】
特殊コマンド５２は、印刷データがワンタイム区切りコード５３によって区切られていることを示すコマンドである。特殊コマンド５２は、印刷データを送信する端末装置２０のプリンタドライバーや印刷アプリケーション（以下、印刷データ送信元と称す）との間で取り決められたコマンドであり、図２に示すように、印刷データの前に付加される。また、特殊コマンド５２には、ワンタイム区切りコード５３を格納する領域が設定されており、印刷データ送信元は、任意のワンタイム区切りコード５３を設定することができる。
【００２０】
画像処理部６は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を備えたマイクロコンピュータ等の演算処理回路であり、例えば、拡大縮小処理、濃度調整処理、階調調整処理等の画像処理に係る各種ジョブを実行する。
【００２１】
印刷部７は、原稿読取部３によって読み取った原稿画像や、端末装置２０から受信した印刷データを印刷する印刷手段である。印刷部７は、例えば、印刷データに基づき感光体ドラムの表面に潜像を形成し、トナーによってその潜像をトナー像とする画像形成を行い、その感光体ドラムから記録紙にトナー像を転写させ、そのトナー像を記録紙に定着させて排紙する。
【００２２】
制御部８は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を備えたマイクロコンピュータ等の演算処理回路である。ＲＯＭには画像形成装置１の動作制御を行うための制御プログラムが記憶されている。制御部８は、ＲＯＭに記憶されている制御プログラムを読み出し、制御プログラムをＲＡＭに展開させることで、操作部２から入力された各種指示情報に応じて装置全体の制御を行う。
【００２３】
また、制御部８は、区切りコード検出部８１、特殊コマンド検出部８２、タイムアウト管理部８３として機能する。
【００２４】
区切りコード検出部８１は、印刷データ受信時に印刷データ内の区切りコード５１を、印刷データの区切りとして検出する。また、特殊コマンド検出部８２からコード切換を指示されると、既存区切りコード（区切りコード５１）の検出を無効化し、印刷データ内のワンタイム区切りコード５３を、印刷データの区切りとして検出する。
【００２５】
特殊コマンド検出部８２は、印刷データの前に付加された特殊コマンド５２を検出すると、特殊コマンド５２に格納されているワンタイム区切りコード５３を記憶部５に記憶させると共に、区切りコード検出部８１とタイムアウト管理部８３とにコード切換を指示する。
【００２６】
タイムアウト管理部８３は、端末装置２０との通信断が設定された第１タイムアウト時間を超えると、インターフェースタイムアウトを検出する。また、タイムアウト管理部８３は、特殊コマンド検出部８２からコード切換を指示されると、インターフェースタイムアウトの検出を無効化し、特殊コマンド５２の受信後、ワンタイム区切りコード５３が検出されることなく、印刷データの受信が途絶えた状態が設定された第２タイムアウト時間を超えると、内部タイムアウトを検出する。
【００２７】
次に、画像形成装置１における特殊コマンド５２の検出時の動作について図３を参照して詳細に説明する。
特殊コマンド検出部８２は、受信されたデータと、記憶部５に記憶されている特殊コマンド５２とを比較することで、特殊コマンド５２を検出する（ステップＳ１０１）。なお、特殊コマンド５２は、印刷データの前に付加されることが予め取り決められているため、データの受信開始直後や、区切りコード検出部８１によって区切りコード５１が検出された直後のみ動作する。
【００２８】
次に、特殊コマンド検出部８２は、特殊コマンド５２に格納されているワンタイム区切りコード５３を記憶部５に記憶させる（ステップＳ１０２）。
【００２９】
また、特殊コマンド検出部８２は、タイムアウト管理部８３にコード切換を指示し、タイムアウト管理部８３によるインターフェースタイムアウトの検出を無効化させる（ステップＳ１０３）。
【００３０】
また、特殊コマンド検出部８２は、区切りコード検出部８１にコード切換を指示し、区切りコード検出部８１による既存区切りコード（区切りコード５１）の検出を無効化させる（ステップＳ１０４）。
【００３１】
次に、制御部８は、特殊コマンドに引き続く印刷データを受信し（ステップＳ１０５）、１バイト毎に記憶部５に記憶させる（ステップＳ１０６）。
【００３２】
次に、区切りコード検出部８１は、ステップＳ１０２で記憶部５に記憶させたワンタイム区切りコード５３と、ステップＳ１０６で記憶部５に記憶させた印刷データとを比較することで（ステップＳ１０７）、ワンタイム区切りコード５３を検出する。そして、区切りコード検出部８１は、ワンタイム区切りコード５３が検出されたか否かを判断する（ステップＳ１０８）。
【００３３】
ステップＳ１０８でワンタイム区切りコード５３が検出されなかった場合、ステップＳ１０５に戻り、制御部８によって引き続き印刷データを受信する。
【００３４】
ステップＳ１０８でワンタイム区切りコード５３が検出された場合、区切りコード検出部８１は、特殊コマンド検出部８２とタイムアウト管理部８３とにワンタイム区切りコード５３の検出を通知すると共に、制御部８は、記憶部５に記憶させた印刷データの解釈及び印刷処理を実行する（ステップＳ１０９）。なお、印刷処理に先立つ、印刷データの解釈及び描画処理は、ステップＳ１０５〜１０８と並行処理しても良い。
【００３５】
区切りコード検出部８１からワンタイム区切りコード５３の検出を通知された特殊コマンド検出部８２は、記憶部５に記憶させたワンタイム区切りコード５３を削除する（ステップＳ１１０）。これにより、特殊コマンド５２で設定されたワンタイム区切りコード５３の有効期間は、Ｓ１０２〜Ｓ１１０の間となる。すなわち、ワンタイム区切りコード５３を設定する特殊コマンド５２は印刷データとは別で、その特殊コマンド５２を受信したインターフェースで受信する印刷データに対してのみ有効になる。
【００３６】
また、ワンタイム区切りコード５３の検出した区切りコード検出部８１は、既存区切りコード（区切りコード５１）の検出を有効化する（ステップＳ１１１）。
【００３７】
さらに、区切りコード検出部８１からワンタイム区切りコード５３の検出を通知されたタイムアウト管理部８３は、インターフェースタイムアウトの検出を有効化する（ステップＳ１１２）。
【００３８】
次に、制御部８は、引き続くデータがあるか否かを判断する（ステップＳ１１３）。そして、ステップＳ１１３で引き続くデータがある場合、制御部８は、次の印刷データとして処理を実行する（ステップＳ１１４）。このように、特殊コマンド５２の受信後、印刷データ内でワンタイム区切りコード５３を検出した場合、その後にデータが繋がっていたとしても別データとして処理される。
【００３９】
ステップＳ１１３で引き続くデータがない場合、制御部８は、そのまま印刷処理を終了させる。
【００４０】
次に、タイムアウト管理部８３による内部タイムアウトの検出動作について図４を参照して詳細に説明する。なお、図３に示すフローチャートと重複する処理については、同一のステップ番号を付して適宜説明を省略する。
【００４１】
特殊コマンド５２の検出によってインターフェースタイムアウトを無効化にした場合、特殊コマンド５２によって設定されたワンタイム区切りコード５３が受信されないと、データを待ち続け、且つインターフェースタイムアウトの検出を有効に戻すことできない。そこで、本実施の形態では、インターフェースタイムアウトと別に、内部タイムアウトを検出することで、特殊コマンド５２検出後にワンタイム区切りコード５３が受信されないケースに対応している。なお、内部タイムアウトの検出に用いる第２タイムアウト時間は、一般ユーザーが設定するものではなく、管理者が設定するものとする。管理者は、普段のMFP・Printerの使われ方、データの受信開始、受信完了、印刷開始、印刷完了等のパラメータより、第２タイムアウト時間を適切に設定する必要がある。
【００４２】
まず、印刷データ送信元の端末装置２０は、画像形成装置１との間で双方向通信できる状態に設定する（ステップＳ２０１）。印刷データ送信元の端末装置２０では、特殊コマンド５２によってワンタイム区切りコード５３を設定する場合、自動的に双方向通信を有効に設定する。
【００４３】
タイムアウト管理部８３は、特殊コマンド５２の受信後、ワンタイム区切りコード５３が検出されることなく、印刷データの受信が途絶えると、内部タイムアウトタイマーを起動する（ステップＳ２０２）。
【００４４】
そして、印刷データの受信が途絶えた状態が設定された第２タイムアウト時間を超えると、タイムアウト管理部８３は、内部タイムアウトを検出し、端末装置２０にワンタイム区切りコード５３が送られてこないことを通知する未受信メッセージを送信する（ステップＳ２０３）。
【００４５】
なお、内部タイムアウトタイマーの起動タイミングは、特殊コマンド５２の受信時であっても良い。この場合、タイムアウト管理部８３は、特殊コマンド５２の受信から設定された第２タイムアウト時間が経過してもワンタイム区切りコード５３が受信されない場合に、内部タイムアウトを検出する。
【００４６】
ステップＳ２０３で未受信メッセージを受信した端末装置２０は、ワンタイム区切りコード５３を画像形成装置１に送信する。これにより、画像形成装置１は、制御部８は印刷処理を完了させ、特殊コマンド検出部８２は、記憶部５に記憶させたワンタイム区切りコード５３を削除することができる。また、タイムアウト管理部８３はインターフェースタイムアウトの検出を、区切りコード検出部８１は既存区切りコード（区切りコード５１）の検出をそれぞれ有効化することができる。
【００４７】
なお、未受信メッセージを送信後も端末装置２０から何も送られてこない場合には、タイムアウト管理部８３は、未受信メッセージを再送する。未受信メッセージの送信回数や送信間隔は、適宜設定することができる。
【００４８】
そして、設定された回数の未受信メッセージを送信しても、端末装置２０から何も送られてこない場合には、ネットワーク１０やパラレル、ＵＳＢ等の接続が切れているか、端末装置２０が何らかの理由によりデータを送信できなくなっていることが想定される。従って、この場合もワンタイム区切りコード５３の受信時と同様に、印刷処理を実行し、ワンタイム区切りコード５３の削除、インターフェースタイムアウトの検出及び既存区切りコード（区切りコード５１）の検出を有効化する。
【００４９】
このとき、受信していたデータが中途半端（印刷ページの途中で途切れるような場合）であれば、制御部８は、印刷ページとして成り立っているところまでを印刷する。そして、残りのデータ分がゴミ印刷（何枚も印刷される）となる場合は印刷しないか、もしくはエラーページ（エラー内容を記載した印刷物）を印刷すると良い。
【００５０】
以上説明したように、本実施の形態によれば、受信した印刷データ内から予め設定された既存区切りコードとして記憶部５に記憶された区切りコード５１を検出することで、印刷データの区切りを認識して印刷処理を実行する画像形成装置１であって、印刷データ内から区切りコード５１を検出する区切りコード検出部８１と、特殊コマンド５２を検出すると、特殊コマンド５２に格納されているワンタイム区切りコード５３を記憶部５に記憶させる特殊コマンド検出部８２と、を具備し、区切りコード検出部８１は、特殊コマンド検出部８２によって特殊コマンド５２が検出されると、区切りコード５１の検出を無効化して、印刷データ内から記憶部５に記憶されたワンタイム区切りコード５３を印刷データの区切りとして検出し、特殊コマンド検出部８２は、区切りコード検出部８１によってワンタイム区切りコード５３が検出されると、ワンタイム区切りコード５３を記憶部５から削除する。
この構成により、特殊コマンド５２によって設定されたワンタイム区切りコード５３によって、印刷データの区切りを検出することができるため、印刷データの送信元であるプリンタドライバーや印刷アプリケーションが指定した箇所で印刷データを確実に区切ることができる。また、ワンタイム区切りコード５３に有効期間を設け、区切りコード検出部８１によるワンタイム区切りコード５３の検出で、ワンタイム区切りコード５３を記憶部５から削除されるため、特殊コマンド５２が付加された印刷データにのみ有効な区切りとすることができ、区切りコードの誤検出を防止できる。
【００５１】
さらに、本実施の形態において、区切りコード検出部８１は、特殊コマンド検出部８２によって特殊コマンド５２が検出されると、ワンタイム区切りコード５３を検出するまで、区切りコード５１の検出を無効化する。
この構成により、印刷データの区切りをワンタイム区切りコード５３の検出のみで判断することができ、印刷データの送信元であるプリンタドライバーや印刷アプリケーションが指定した箇所で印刷データを確実に区切ることができる。
【００５２】
さらに、本実施の形態において、印刷データの送信元との間のインターフェースタイムアウトを検出するタイムアウト管理部８３を具備し、タイムアウト管理部８３は、特殊コマンド検出部８２によって特殊コマンド５２が検出されると、区切りコード検出部８１によってワンタイム区切りコード５３が検出されるまで、インターフェースタイムアウトの検出を無効化する。
この構成により、インターフェースタイムアウトによって、区切りコード５１の検出を無効化した状態が継続されることを防止することができる。
【００５３】
さらに、本実施の形態において、タイムアウト管理部８３は、特殊コマンド検出部８２によって特殊コマンド５２が検出されると、ワンタイム区切りコード５３の未受信状態を内部タイムアウトとして検出し、印刷データの送信元にワンタイム区切りコード５３の未受信を通知する未受信リクエストを送信する。
この構成により、印刷データの送信元であるプリンタドライバーや印刷アプリケーションにワンタイム区切りコード５３の送信もしくは再送信を依頼することができ、データを待ち続け、且つインターフェースタイムアウトの検出を有効に戻すことできない状態を回避することができる。
【００５４】
さらに、本実施の形態において、タイムアウト管理部８３によって未受信リクエストを送信してもワンタイム区切りコード５３の受信が検出されない場合、受信済みの印刷データの印刷処理を実行すると共に、特殊コマンド検出部８２は、ワンタイム区切りコード５３を記憶部５から削除し、区切りコード検出部８１は、区切りコード５１の検出を有効化し、タイムアウト管理部８３は、インターフェースタイムアウトの検出を有効化する。
この構成により、特殊コマンド検出部８２によって特殊コマンド５２が検出される前の状態に戻すことができる。
【００５５】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。なお、各図において、同一構成要素には同一符号を付している。
【符号の説明】
【００５６】
１  画像形成装置
２  操作部
３  原稿読取部
４  入出力部
５  記憶部
６  画像処理部
７  印刷部
８  制御部
１０  ネットワーク
２０  端末装置
５１  区切りコード
５２  特殊コマンド
５３  ワンタイム区切りコード
８１  区切りコード検出部
８２  特殊コマンド検出部
８３  タイムアウト管理部
【図１】
2018202823.tif 000003
【図２】
2018202823.tif 000004
【図３】
2018202823.tif 000005
【図４】
2018202823.tif 000006