JP4781023B2 - 印刷装置及び印刷システム - Google Patents

印刷装置及び印刷システム Download PDF

Info

Publication number
JP4781023B2
JP4781023B2 JP2005199692A JP2005199692A JP4781023B2 JP 4781023 B2 JP4781023 B2 JP 4781023B2 JP 2005199692 A JP2005199692 A JP 2005199692A JP 2005199692 A JP2005199692 A JP 2005199692A JP 4781023 B2 JP4781023 B2 JP 4781023B2
Authority
JP
Japan
Prior art keywords
block size
data
print
actual data
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005199692A
Other languages
English (en)
Other versions
JP2007018306A (ja
Inventor
富男 田中
Original Assignee
株式会社沖データ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社沖データ filed Critical 株式会社沖データ
Priority to JP2005199692A priority Critical patent/JP4781023B2/ja
Priority to US11/428,687 priority patent/US7961340B2/en
Publication of JP2007018306A publication Critical patent/JP2007018306A/ja
Application granted granted Critical
Publication of JP4781023B2 publication Critical patent/JP4781023B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • G06K15/1811Receiving print data characterized by its formatting, e.g. particular page description languages including high level document description only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1822Analysing the received data before processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、通信により印刷を行う印刷装置において、通信異常を検出し異常な印刷を防止する技術に関するものである。
従来の印刷装置では、上位装置との通信開始タイミングの不一致やノイズなどにより通信データの一部のデータ抜けやデータ化けが発生した異常データを受信することがあった。
そして、このような異常データによる印刷を防止するために、定義されない印刷コマンドを受信した場合に印刷を停止する方法を採用していた。しかしながら、この方法では、定義された印刷コマンドに化けたときは、これを検出することができず、そのまま印刷してしまうという問題があった。
例えば、印刷データが、改ページなどの制御データに化けた場合では、定義された制御コマンドであるので、これを異常とは判定できず、数文字印刷しては改ページするということを繰り返し、大量な枚数の印刷を行うという不具合が発生していた。
上記問題を解決する方法として、正常な印刷においては最上端に1行だけ印刷されるケースが非常に少ないことを利用して、作成中のページの最上端行にしか印刷画像がない場合は、その受信データを異常データと判断して印刷を実行せず、以降のデータを印刷ジョブの終了まで破棄する技術があった(例えば、特許文献1参照。)。
特開2000−168206号公報
しかしながら、上記従来の印刷装置では、最上端に1行しか印刷データがない場合を異常印刷の判定基準としているが、不正印刷は必ずしもそのような形態で発生するとは限らず、前記問題を完全に解決することができない。
また、別の解決手段として、通信データのパリティチェックや誤り訂正などの処理による対策も考えられるが、汎用的なセントロインタフェースなどでは、このようなチェックは実施されておらず、このような方法でも異常印刷を防止することはできない。
本発明は、前述の課題を解決するために次の構成を採用する。すなわち、印刷を行う印刷装置であって、第1実データが割り当てられた第1実データ領域と、第1実データのサイズを示す第1ブロックサイズ値が固定長で割り当てられた第1ブロックサイズ領域と、第2実データが割り当てられた第2実データ領域と、第2実データのサイズを示す第2ブロックサイズ値が固定長で割り当てられた第2ブロックサイズ領域とを有し、第1ブロックサイズ領域と第1実データ領域と第2ブロックサイズ領域と第2実データ領域とが連続的に形成される印刷データを含む印刷ジョブを受信する受信手段と、受信した印刷ジョブに含まれる各々固定長で示されるブロックサイズ値と予め設定された閾値とを比較する比較手段と、ブロックサイズ値が閾値を超えたとき印刷データのうち印刷されていない印刷データを破棄する破棄手段とを備えるようにした。
本発明の印刷装置によれば、印刷を行う印刷装置であって、第1実データが割り当てられた第1実データ領域と、第1実データのサイズを示す第1ブロックサイズ値が固定長で割り当てられた第1ブロックサイズ領域と、第2実データが割り当てられた第2実データ領域と、第2実データのサイズを示す第2ブロックサイズ値が固定長で割り当てられた第2ブロックサイズ領域とを有し、第1ブロックサイズ領域と第1実データ領域と第2ブロックサイズ領域と第2実データ領域とが連続的に形成される印刷データを含む印刷ジョブを受信する受信手段と、受信した印刷ジョブに含まれる各々固定長で示されるブロックサイズ値と予め設定された閾値とを比較する比較手段と、ブロックサイズ値が閾値を超えたとき印刷データのうち印刷されていない印刷データを破棄する破棄手段とを備えるようにしたので、印刷ジョブのいずれの場所でデータ抜け等が発生してもこれを確実に検出することができ、異常な印刷を確実に防止することができる。
以下、本発明に係る実施の形態例を、図面を用いて説明する。なお、図面に共通する要素には同一の符号を付す。なお、以下の説明では、セントロインタフェースを用いた例を示しているが、当該インタフェースに限らず、汎用的なUSBインタフェース、LANインタフェース、或いは無線インタフェース等によるネットワーク接続であっても同様である。
実施例1の印刷装置は、印刷データを複数に分割した各ブロックの大きさを表すブロックサイズがあらかじめ決めた閾値を超えているかどうかを判定することにより異常データの発生を検出できるようにしたものである。
(印刷システムおよびホスト装置の構成)
実施例1の印刷装置に係る印刷システムの構成を、図1を用いて説明する。すなわち、実施例1の印刷装置に係る印刷システムは、PC等のホスト装置100および印刷装置110がセントロインタフェース等のインタフェースで接続された構成となっている。
そして、ホスト装置100は、ユーザインタフェース101と、これに接続されたアプリケーションプログラムであるアプリケーション102、ジョブ制御コードや印刷データを生成するプリンタドライバ103、当該プリンタドライバ103で生成されたデータの送受信制御を行うデータ送受信部104とからなる。
アプリケーション102にて作成されるテキスト文書を含む画像データは、プリンタドライバ103にて生成され、データ送受信部104を経由して印刷装置110に送信される。ここで、アプリケーション102からの1回の印刷指示によりプリンタドライバ103が生成するデータを、便宜上「印刷ジョブ(105)」という。
プリンタドライバ103は、アプリケーション102の生成した画像データを印刷装置110で処理可能なページ記述言語(以下、「PDL」という)データに変換し、さらにユーザインタフェース101により指示された印刷設定、例えば、印刷品質、両面印刷などを印刷に反映するために、PDLとは別のコード体系のジョブ制御コードを、PDLデータに付加する機能を有する。
(印刷ジョブのデータ構成)
第1の実施例における印刷ジョブのデータ構成を、図3のデータ構成図を用いて説明する。すなわち、印刷ジョブ105は、図3左側に示したように、ジョブ制御コード部300と最後のジョブ制御コード部320と、その間に配置される印刷データ部310とから構成される。
そして、同図右側に示したように、ジョブ制御コード部300は、ジョブ制御モード移行コード301、環境設定コード302、PDLモード移行コード303とからなる。環境設定コード302には、印刷品質や両面印刷の有無などが記述される。図3の例では、印刷品質が600dpi、両面印刷機能が"OFF"として記述されている。
印刷データ部310は、ブロックサイズ(1)311−1、ブロックサイズ(2)311−2、・・・、ブロックサイズ(n)311−nのブロックサイズ部、および実データ(1)312−1、実データ(2)312−2、・・・、実データ(n)312−nの実データ部から構成される。
最後のジョブ制御コード部320は、最初のジョブ制御コード300から環境設定コード302とPDLモード移行コード303を取り除いた、ジョブ制御モード移行コード321からなる。
ブロックサイズ部311等は、2バイトから8バイト程度の範囲であらかじめ決めた固定バイト長として、後続する実データ部312等のデータサイズを示すものである。
そして、実データ部312等は、印刷データを前記ブロックサイズの示す長さでブロック分けしたものであり、1ブロックのサイズはあらかじめ決められた閾値以下とし、各ブロックサイズの書き込みは、印刷データの生成過程でプリンタドライバ103にて行われる。
なお、前記ブロックサイズの閾値は、コマンドの最大長を考慮し、かつ所定のマージンを考慮した値とするのがよい。例えば、ビットマップイメージをパラメータに持つコマンドで最大長のコマンドが1ブロックに所定の個数入れられることを考慮して決定するのがよい。
また、前記閾値は、最上位1バイトを例えば、"00"(H)とし、最上位1バイト以外には"00"(H)を含まないようにする。なお、前記(H)は16進データであることを表している。詳細後述のように、このような閾値を設定することにより、ノイズなどによって発生する1バイトのデータ抜けのほとんど場合を検出することができる。
なお、データ抜けが2バイトのデータ抜けであるような場合には、ブロックサイズの固定バイト長を3バイト以上として、閾値の上位2バイトを、例えば"0000"(H)とするのがよい。
(印刷装置の構成)
再び、図1に戻って、印刷装置110の構成を説明する。図1および図2に示したように、印刷装置110は、ホスト装置100とのデータ送受信を行うデータ送受信部111、詳細後述の印刷ジョブ処理部112、印刷ジョブ処理部112にて生成した印刷データを印刷部に送信し、印刷データに基づき印刷を制御する印刷制御部113とからなる。
印刷ジョブ処理部112は、図2に示したように、データ送受信部111で受信したデータのうち、ジョブ制御コード部300、320にあたるデータを処理するジョブ制御処理部121、環境設定コード302による印刷設定情報を格納する設定保存部123、設定保存部123に記憶されている印刷設定に基づいて印刷データ部310にあたるデータを処理するPDL処理部122とから構成される。
さらに、PDL処理部122は、プログラムコードとして持つブロックサイズ閾値に基づいて印刷データ中のブロックサイズを検査しながら実データを処理するブロックサイズ判断部124、データ抜けが検出されると後続データをジョブ終了コード、すなわちジョブ制御モード移行コードを検出するまで破棄するデータ破棄処理部125から構成される。
そして、印刷出力114は、データ破棄処理部125で処理されたデータを除いて、PDL処理部122で処理されたデータに基づき印刷制御部113にて印刷出力されるものである。
(動作)
以上の構成により、実施例1の印刷装置は、以下のように動作する。この動作を図4のデータ抜けの例示図および図5ないし図8の動作フローチャートを用いて以下説明する。
(印刷ジョブに1バイトずれが発生した例の説明)
まず、図4は、印刷ジョブ105がノイズなどにより1バイトのデータ抜けが発生したときの状態を示したものである。図4(a)が、プリンタドライバ103が生成した送信前の印刷ジョブ105の元のデータであり、同図(b)が、印刷装置110が受信した印刷ジョブ105のデータであり、実データ(n−1)の中の1バイトのデータ抜けが発生した例を示している。この1バイトのデータ抜けが通常発生するほとんどのケースである。なお、この例ではブロックサイズ部を4バイトの固定長としている。
同図(b)のように、1バイトが欠落しデータ抜けが発生すると、それ以降のデータは本来の位置よりも1バイト前にずれ込み、例えばブロックサイズ(n)の先頭を表す図4(a)のx位置が1バイトずれにより図4(b)のx'位置にずれてしまう。y位置、z位置も同様に1バイトずつずれ、y'位置、z'位置となる。
このため、実データ(n−1)に続くブロックサイズ(n)の値は、本来"00018510"(H)、すなわち"18510"(H)であるが、1バイトずれた影響により"0185101B"(H)、すなわち"185101B"(H)となることになる。
なお、図4の例では、ブロックサイズ(n−1)やブロックサイズ(n)の値が異なっているが、これは各ブロックが任意の複数のコマンドからなるので、ブロック毎にブロックサイズが異なるためである。
(印刷ジョブ処理)
次に、図5ないし8の動作フローチャートを用いて実施例1の印刷装置110の印刷ジョブ処理の動作を説明する。なお、各処理の終了条件としては、受信タイムアウト、ネットワーク受信におけるEOFパケットを受信した場合もあるが、説明が煩雑となるので、その説明については省略する。
図5の印刷ジョブ処理では、まず図6に示したジョブ制御処理を行う(S502)。
(印刷ジョブ処理のジョブ制御処理)
すなわち、ジョブ制御処理では、受信データを所定のサイズ分読み込み(ステップS701)、当該読み込んだデータがジョブ制御モード移行コード301或いは321であるかどうか判定し、ジョブ制御モード移行コード301或いは321の場合は、S701へ戻る(ステップS702)。
その他の場合は、環境設定コード302であるかどうかを判定し(ステップS703)、環境設定コード302であった場合は、環境設定コードに対応する印刷設定、例えば前述の印刷品質や両面印刷設定などを設定保存部123へ保存し(ステップS705)、S701へ戻る。
その他の場合は、読み込んだデータがPDLモード移行コード303であるかどうか判定し(ステップS704)、PDLモード移行コード303の場合は、ジョブ制御処理の終了要因をPDLモード移行コードとしてジョブ制御処理を終了する。
以上の動作を繰り返し、S701にて読み込む印刷ジョブのデータがなくなったときは、ジョブ制御処理の終了要因をデータなしとしてジョブ制御処理を終了する。
再び、図5に戻って、以上のジョブ制御処理を終了すると、ジョブ制御処理の終了要因がPDLモード移行コード303による場合かどうか判定し(ステップS503)、PDLモード移行コード303により終了したと判定した場合は、PDLモード移行コード303で指定されたPDL処理S504へ進む。
(印刷ジョブ処理のPDL処理)
そして、PDL処理S504では、図7に示したように以下のような処理を行う。まず、PDL処理内部変数であるブロックサイズ変数を0クリアする(ステップS801)。そして、ブロックサイズ変数が0より大きいかどうか判定し(ステップS802)、0のときは、最初の読み込みであり印刷データ中のブロックサイズ部の認識フェーズであると判断し、受信データを固定バイト数、本例の場合は、4バイトを読み込み(ステップS803)、ブロックサイズ変数へ格納し、ブロックサイズ変数の値とあらかじめ決めたブロックサイズ判定閾値と比較する(ステップS804)。
図4(a)、すなわち正常な受信があったときのブロックサイズ(n)の場合では、ブロックサイズが"00018510"(H)であるので(x位置)、ブロックサイズ変数にこの値が格納され、前記ブロックサイズ判定閾値と比較することになる。
ここで、ジョブ制御コードの1つであるHP社の定義するPJL(Print Job Control Language)コードでは、図4の右端に示したように、ジョブ制御モード移行コードは、"<ESC>%−12345X"であり、これをアスキー文字コード(16進数)として見ると、<ESC>が"1B"(H)、"%"が"25"(H)、"−"が"2D"(H)、"1"が"31"(H)、"2"が"32"(H)等であるので、"1B252D313233343558"(H)となる。
このように、一般に、制御コードは、NULL、すなわち"00"(H)で始まることはないので、ブロックサイズ判定閾値として、例えば"00FFFFFF"(H)とすることにより、ブロックサイズとジョブ制御モード移行コードとを容易に区別することができる。
なお、1バイトのデータ抜けを検出する場合では、最上位1バイトを"00"(H)にすれば、そのほかの値としても勿論よい。例えば、"00EFFFFF"(H)や"008FFFFF"(H)などとしてもよい。
再び図7に戻って、ブロックサイズ変数値が、前記閾値以下であるかどうか判定し(ステップS804)、前記閾値以下の場合は、データ抜けなく正常に受信しているものと判断しS802へ進むと、すでにステップS803にてブロックサイズを読み込んでおりブロックサイズ変数は0ではないので、ステップS808に進み、データの読み込みを行う。
図4(a)のブロックサイズ(n)の場合では、ブロックサイズ変数に格納された"00018510"(H)と、前記ブロックサイズ判定閾値である“00FFFFFF"(H)と比較すると、閾値以下であり、0ではないのでステップS808に進み、データの読み込みを行うことになる。
そして、受信データをコマンドに応じた所定のサイズ分読み込み(ステップ808)、ブロックサイズ変数をS808で読み込んだサイズ分だけ減算するとともに(ステップ809)、PDL言語にて記述された各コマンドに応じた処理を実行し(ステップ810)、ステップS802に戻る。
図4(a)のブロックサイズ(n)の場合では、ブロックサイズ変数に"00018510"(H)が格納されているので、y位置からz位置までの"18510"(H)分の受信データを読み込み、ブロックサイズ変数を"18510"(H)減算すると、ブロックサイズ変数は、0となる。
一方、ステップS804の判定にて、ブロックサイズ変数値が前記閾値より大きい場合は、ジョブ制御モード移行コード321の一部であるかどうかの判定を行い(ステップS805)、ジョブ制御モード移行コードであった場合には、PDL処理の終了要因をジョブ制御モード移行コードとしてPDL処理を終了する。
図4(a)のブロックサイズ(n)の場合では、ステップS802に戻ると、ブロックサイズ変数は、0となっているのでS803にてブロックサイズである4バイトを読み込むと、z位置からの4バイトを読み込むので、ブロックサイズ変数には"1B252D31"(H)が格納され(ステップS803)、これとブロックサイズ判定閾値である"00FFFFFF"(H)と比較すると、閾値より大きいのでステップS805に進み、ジョブ制御モード移行コード"1B252D313233343558(H)"の上位4バイトである"1B252D31"(H)と比較すると一致するので、ジョブ制御モード移行コードを要因とした終了とすることになる。
ブロックサイズ変数値が前記閾値より大きくジョブ制御モード移行コードと異なる場合は、データ抜けが発生していると判断し、異常な印刷を未然に防止するため、印刷制御部113へ送られていない現在編集中のページのデータをクリアした後(ステップS806)、図8に示したデータ破棄処理として、ジョブ終了コード、本例ではジョブ制御モード移行コード321を検出するまで、後続データを読み込んで破棄し(ステップS601・602)、PDL処理の終了要因をデータ破棄としてPDL処理を終了する(ステップS807)。
例えば、図4(b)、すなわち1バイトのデータ抜けがあった場合で、ブロックサイズ(n−1)の場合は、S803にてブロックサイズである4バイトを読み込むと、x位置からの4バイトを読み込むことになるので、ブロックサイズ変数には"0185101B"(H)が格納され(ステップS803)、これとブロックサイズ判定閾値である"00FFFFFF"(H)と比較すると、閾値より大きいのでステップS805に進み、ジョブ制御モード移行コード"1B252D313233343558"(H)の上位4バイトである"1B252D31"(H)と比較する。すると、これらは一致しないので、データ破棄処理を行い、PDL処理の終了要因をデータ破棄としてPDL処理を終了することになる。
PDL処理を終了すると(再び、図5に戻って)、PDL処理(ステップS504)の終了要因がジョブ制御モード移行コード321によるかどうかを判定し(ステップS505)、ジョブ制御モード移行コード321が終了要因の場合は、図7のステップS805にて最後のジョブ制御モード移行コード321が検出され、正常なデータ受信があった場合であるのでS502へ戻り、図6のジョブ制御処理を継続する。
その他の場合、すなわち、PDL処理の終了要因がジョブ制御モード移行コード321によらない場合では、1バイト抜けが発生しステップS807のデータ破棄処理を実行した場合であるので、印刷ジョブ処理を終了する。
(実施例1の効果)
以上詳細に説明したように、実施例1の印刷装置によれば、印刷データを複数ブロックに分割し、各ブロックの実データに各ブロックのデータサイズを示すブロックサイズを加えた構成とし、あらかじめ決めた閾値を基準として各ブロックサイズのデータを判定して異常データを検出するようにしたので、印刷ジョブのいずれの場所でデータ抜けが発生してもこれを確実に検出することができる。
実施例2の印刷装置は、各ブロックサイズと比較して異常データを判定する基準である閾値を任意に設定できるようにしたものである。
(印刷システムおよび印刷装置の構成)
実施例2の印刷装置のシステム構成では、図9に示したように、ホスト装置100のユーザインタフェース101に、異常データを判定する基準である閾値を設定する閾値設定部101aを設け、印刷操作を行う操作者が通信環境などに応じて任意に当該閾値を設定したり、印刷装置110の機種等により当該閾値を変更したりして、任意に閾値を設定できる構成としている。
また、実施例2の印刷装置では、図10に示したように、印刷装置110の印刷ジョブ処理部112の設定保存部123に、前記閾値設定部101aに設定された閾値を印刷装置110に送信し、これを格納できる閾値レジスタ123aを設けた構成となっている。
そのほかの構成は、実施例1にて説明した図1および図2と同様であるので、簡略化のためにその詳細な説明を省略する。
(印刷ジョブのデータ構成)
実施例2の印刷装置110では、ホスト装置100から送信される印刷ジョブ105は、実施例1と同様、図11左側に示したように、ジョブ制御コード部300と最後のジョブ制御コード部320と、その間に配置される印刷データ部310とから構成される。
そして、同図右側に示したように、ジョブ制御コード部300は、ジョブ制御モード移行コード301、環境設定コード302、PDLモード移行コード303とからなる。環境設定コード302には、印刷品質や両面印刷の有無、前記閾値が記述されるようになっている。図11の例では、印刷品質が600dpi、両面印刷機能が"OFF"、閾値が"00FFFFFF"(H)として記述されている。
前記閾値は、最上位1バイトを例えば、"00"(H)とし、最上位1バイト以外には"00"(H)を含まないようにし、データ抜けが2バイトのデータ抜けであるような場合には、ブロックサイズの固定バイト長を3バイト以上として、閾値の上位2バイトを、例えば"0000"(H)とするのがよいことは実施例1と同様である。
ここで、前記閾値は、例えば、ホスト装置100や印刷装置110を操作する操作者が、通信環境に応じてデータ抜けが多く発生する場合では、前記閾値を小さく、あまりデータ抜けが発生しない場合は、閾値を大きく設定したり、或いは印刷装置の種類やインタフェースの種類に応じてあらかじめ決めた閾値としたりしてもよいし、印刷装置110にてデータ抜けの発生した回数などを保存して置き、当該回数情報などにより閾値を適時変更するようにしてもよい。
次の印刷データ部310の構成は、実施例1と同様、各ブロックサイズおよび実データとから構成される。また、最後のジョブ制御コード部320、ブロックサイズ部311−1、311−2、・・、311−n(以下、便宜上全体を「ブロックサイズ311」という)、実データ312−1、312−2、・・、312−n(以下、便宜上全体を、「実データ312」という)は、実施例1と同様である。
(動作)
以上の構成により、実施例2の印刷装置は、以下のように動作する。この動作を図4のデータ抜けの例示図および図12の動作フローチャートを用いて以下説明する。なお、ステップS901、S903、S904、S906〜S911は、実施例1のS801、S802、S803、S805〜S810とほぼ同様である。
(印刷ジョブ処理)
全体の印刷ジョブ処理、ジョブ制御処理、データ破棄処理については、実施例1にて説明した図5、図6、図8と同様であるので、同様の部分については、簡略化のために詳細な説明は省略する。なお、各処理の終了条件としては、受信タイムアウト、ネットワーク受信におけるEOFパケットを受信した場合もあるが、説明が煩雑となるので、実施例1と同様、その説明について省略する。
まず、印刷ジョブ処理では、前述図5のように図6に示したジョブ制御処理を行い、受信データのヘッダ部分のジョブ制御コード300を読み込み、環境設定コード302として記載された印刷品質、両面印刷設定などの印刷設定を設定保存部123へ保存し、次のPDL処理へ移行する(ステップS502・S701〜S705)。
実施例2の印刷装置では、環境設定コード302に、データ抜け検出の基準である閾値を格納できる構成となっているので、当該閾値を設定保存部123の閾値レジスタ123aに格納し、次のPDL処理へ移行する。
(印刷ジョブ処理のPDL処理)
PDL処理(S504)では、図12の動作フローチャートに示したように以下のような処理を行う。まず、PDL処理内部変数であるブロックサイズ変数を0クリアする(ステップS901)。そして、設定保存部123の閾値レジスタ123aから閾値を読み出してPDL処理内部変数である閾値変数へ設定する(ステップS902)。
そして、ブロックサイズ311を読み込み(ステップS903・904)、読み込んだブロックサイズを前記閾値変数と比較し(ステップS905)、閾値以内であれば、ブロックサイズ分のデータを読み込み(ステップS909〜911)、これを繰り返し最後のブロックのデータまで読み込む。
例えば、図4(a)、すなわち正常な受信があったときでは、図示しないブロックサイズ(1)のブロックサイズ(1)311−1を読み込み、次にブロックサイズ(1)分の実データ(1)312−1を読み込み、これを繰り返し最後のブロックのブロックサイズ(n)311−nを読み込むと、ブロックサイズが"00018510"(H)であるので(x位置)、前記ブロックサイズ判定閾値"00FFFFFF"(H)と比較すると、閾値以下であるので、最後の実データ(n)312−nである"18510"(H)分のデータを読み込む。
そして、次に、ブロックサイズとして読み込んだデータが、ジョブ制御モード移行コード321の一部であるかどうかの判定を行い、ジョブ制御モード移行コードであった場合には、PDL処理の終了要因をジョブ制御モード移行コードとしてPDL処理を終了する(ステップS906)。
図4(a)のブロックサイズ(n)の場合では、ブロックサイズである4バイトを読み込むと、z位置からの4バイトを読み込むので"1B252D31"(H)となり、これとブロックサイズ判定閾値である"00FFFFFF"(H)と比較すると、閾値より大きいのでステップS906に進み、ジョブ制御モード移行コード"1B252D313233343558"(H)の上位4バイトである"1B252D31"(H)と比較すると一致するので、ジョブ制御モード移行コードを要因とした終了とすることになる。
ブロックサイズ変数値が前記閾値より大きくジョブ制御モード移行コードと異なる場合は、データ抜けが発生していると判断し、異常な印刷を未然に防止するために、印刷制御部113へ送られていない現在編集中のページのデータをクリアした後、図8に示したデータ破棄処理として、ジョブ終了コード、本例ではジョブ制御モード移行コード321を検出するまで、後続データを読み込んで破棄し(ステップS801・802)、PDL処理の終了要因をデータ破棄としてPDL処理を終了する((ステップS907・ステップS908)。
例えば、図4(b)、すなわち1バイトのデータ抜けがあった場合で、ブロックサイズ(n−1)の場合は、S904にてブロックサイズである4バイトを読み込むと、x位置からの4バイトを読み込むことになるので、ブロックサイズが"0185101B"(H)であるので、これとブロックサイズ判定閾値である"00FFFFFF"(H)と比較すると閾値より大きく、ジョブ制御モード移行コード"1B252D313233343558(H)"の上位4バイトである"1B252D31"(H)と比較すると一致しないので、データ破棄処理を行い、PDL処理の終了要因をデータ破棄としてPDL処理を終了することになる。
PDL処理を終了すると、PDL処理の終了要因がジョブ制御モード移行コード321によるかどうかを判定し、ジョブ制御モード移行コード321が終了要因の場合は、図12のステップS906にて最後のジョブ制御モード移行コード321が検出され、正常なデータ受信があった場合と判断しジョブ制御処理を継続する。
その他の場合、すなわち、PDL処理の終了要因がジョブ制御モード移行コード321によらない場合では、1バイト抜けが発生しステップS908のデータ破棄処理を実行した場合であるので、印刷ジョブ処理を終了する。
(実施例2の効果)
以上詳細に述べたように、実施例2の印刷装置によれば、異常データを判定する基準である閾値を任意に設定できるようにしたので、実施例1の効果に加え、通信環境や印刷装置の種類、インタフェース種類等に応じて最適な条件で通信異常を検出することができる。
以上の実施例の説明では、PDL(ページ記述言語)を扱うプリンタについて説明したが、これには限定されず、例えばビットマップイメージを直接扱うホストベースプリンタなど、各種プリンタにも本発明を適用することができる。
実施例1の印刷装置にかかるシステム構成図である。 実施例1の印刷ジョブ処理部の構成図である。 実施例1の印刷ジョブのデータ構成図である。 データ抜けの例示図である。 実施例1の印刷ジョブ処理の動作フローチャート図である。 実施例1のジョブ制御処理の動作フローチャート図である。 実施例1のPDL処理の動作フローチャート図である。 実施例1のデータ破棄処理の動作フローチャート図である。 実施例2の印刷装置にかかるシステム構成図である。 実施例2の印刷ジョブ処理部の構成図である。 実施例2の印刷ジョブのデータ構成図である。 実施例2のPDL処理の動作フローチャート図である。
符号の説明
103 プリンタドライバ
101a 閾値設定部
105 印刷ジョブ
112 印刷ジョブ処理部
121 ジョブ制御処理部
122 PDL処理部
123 設定保存部
123a 閾値レジスタ
124 ブロックサイズ判定部
125 データ破壊処理部
300、320 ジョブ制御コード
301、321 ジョブ制御モード移行コード
302 環境コード
303 PDLモード移行コード
310 印刷データ
311 ブロックサイズ
312 実データ
401 閾値変数

Claims (3)

  1. 印刷を行う印刷装置であって、
    第1実データが割り当てられた第1実データ領域と、前記第1実データのサイズを示す第1ブロックサイズ値が固定長で割り当てられた第1ブロックサイズ領域と、第2実データが割り当てられた第2実データ領域と、前記第2実データのサイズを示す第2ブロックサイズ値が固定長で割り当てられた第2ブロックサイズ領域とを有し、前記第1ブロックサイズ領域と前記第1実データ領域と前記第2ブロックサイズ領域と前記第2実データ領域とが連続的に形成される印刷データを含む印刷ジョブを受信する受信手段と、
    受信した前記印刷ジョブに含まれる各々固定長で示されるブロックサイズ値と予め設定された閾値とを比較する比較手段と、
    前記ブロックサイズ値が前記閾値を超えたとき前記印刷データのうち印刷されていない印刷データを破棄する破棄手段とを備えることを特徴とする印刷装置。
  2. 印刷ジョブを生成して送信する情報処理装置と、前記情報処理装置に接続され、前記印刷ジョブを受信して印刷を行う印刷装置とで構成される印刷システムであって、
    前記情報処理装置は、印刷データを第1実データが割り当てられた第1実データ領域と、前記第1実データのサイズを示す第1ブロックサイズ値が固定長で割り当てられた第1ブロックサイズ領域と、第2実データが割り当てられた第2実データ領域と、前記第2実データのサイズを示す第2ブロックサイズ値が固定長で割り当てられた第2ブロックサイズ領域とが連続され、前記第1ブロックサイズ領域と前記第1実データ領域と前記第2ブロックサイズ領域と前記第2実データ領域とを各々分割する分割手段と、
    前記印刷データを含む印刷ジョブを生成する生成手段と、
    前記印刷ジョブを送信する送信手段とを備え、
    前記印刷装置は、前記印刷ジョブを受信する受信手段と、
    受信した前記印刷ジョブに含まれる前記印刷データの各々固定長で示されるブロックサイズ値と予め設定された閾値とを比較する比較手段と、
    前記ブロックサイズ値が前記閾値を超えたとき前記印刷データのうち印刷されていない印刷データを破棄する破棄手段とを備えることを特徴とする印刷システム。
  3. 前記情報処理装置は、前記閾値を設定する設定手段をさらに備えることを特徴とする請求項記載の印刷システム。
JP2005199692A 2005-07-08 2005-07-08 印刷装置及び印刷システム Expired - Fee Related JP4781023B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005199692A JP4781023B2 (ja) 2005-07-08 2005-07-08 印刷装置及び印刷システム
US11/428,687 US7961340B2 (en) 2005-07-08 2006-07-05 Printer, printing system and printing method for preventing abnormal printing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005199692A JP4781023B2 (ja) 2005-07-08 2005-07-08 印刷装置及び印刷システム

Publications (2)

Publication Number Publication Date
JP2007018306A JP2007018306A (ja) 2007-01-25
JP4781023B2 true JP4781023B2 (ja) 2011-09-28

Family

ID=37618063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005199692A Expired - Fee Related JP4781023B2 (ja) 2005-07-08 2005-07-08 印刷装置及び印刷システム

Country Status (2)

Country Link
US (1) US7961340B2 (ja)
JP (1) JP4781023B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8427670B2 (en) * 2007-05-18 2013-04-23 Xerox Corporation System and method for improving throughput in a print production environment
US20090025002A1 (en) * 2007-07-18 2009-01-22 Xerox Corporation Methods and systems for routing large, high-volume, high-variability print jobs in a document production environment
US8725546B2 (en) 2007-07-18 2014-05-13 Xerox Corporation Workflow scheduling method and system
US8127012B2 (en) * 2007-07-18 2012-02-28 Xerox Corporation System and methods for efficient and adequate data collection in document production environments
US8145517B2 (en) * 2007-07-18 2012-03-27 Xerox Corporation Methods and systems for scheduling job sets in a production environment
US8144364B2 (en) 2007-07-18 2012-03-27 Xerox Corporation Methods and systems for processing heavy-tailed job distributions in a document production environment
US8134743B2 (en) 2007-07-18 2012-03-13 Xerox Corporation Methods and systems for routing and processing jobs in a production environment
US8235489B2 (en) 2008-05-22 2012-08-07 Fujifilm Dimatix, Inc. Ink jetting
US20090327033A1 (en) * 2008-06-26 2009-12-31 Xerox Corporation Methods and systems for forecasting inventory levels in a production environment
JP5896235B2 (ja) * 2012-09-27 2016-03-30 ブラザー工業株式会社 印刷物作成プログラム、印刷物作成方法
JP5223996B1 (ja) 2012-11-28 2013-06-26 富士ゼロックス株式会社 印刷制御装置、データ管理方法およびプログラム
JP5338965B1 (ja) 2012-11-28 2013-11-13 富士ゼロックス株式会社 印刷制御装置、画像形成システムおよびプログラム
JP5338964B1 (ja) 2012-11-28 2013-11-13 富士ゼロックス株式会社 制御装置、画像形成システムおよびプログラム
JP5223995B1 (ja) 2012-11-28 2013-06-26 富士ゼロックス株式会社 印刷制御装置、データ管理方法およびプログラム
JP5288040B1 (ja) * 2012-11-28 2013-09-11 富士ゼロックス株式会社 印刷管理装置、画像形成システムおよびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63217456A (ja) * 1987-03-06 1988-09-09 Fujitsu Ltd 高速デ−タ転送方式
JP3478670B2 (ja) * 1996-06-18 2003-12-15 キヤノン株式会社 印刷制御装置と印刷装置及びそれらの方法と印刷システム
JP2000112678A (ja) * 1998-10-02 2000-04-21 Ricoh Co Ltd プリントデータ転送装置
JP2000168206A (ja) 1998-12-01 2000-06-20 Ricoh Co Ltd 画像形成装置
US7149291B1 (en) * 2000-06-27 2006-12-12 Cisco Technology, Inc. Method and apparatus for reducing inbound traffic congestion in a voice frame network
US20020116522A1 (en) * 2001-02-22 2002-08-22 Orckit Communications Ltd. Network congestion control in a mixed traffic environment
JP2004188865A (ja) * 2002-12-12 2004-07-08 Minolta Co Ltd 画像形成装置およびプログラム
JP2005149317A (ja) * 2003-11-18 2005-06-09 Canon Inc 情報処理装置、ジャムリカバリ方法、プログラム、記録媒体及び印刷システム
JP4366200B2 (ja) * 2004-01-29 2009-11-18 キヤノン株式会社 記録装置及び受信バッファ管理方法

Also Published As

Publication number Publication date
JP2007018306A (ja) 2007-01-25
US7961340B2 (en) 2011-06-14
US20070008580A1 (en) 2007-01-11

Similar Documents

Publication Publication Date Title
JP4781023B2 (ja) 印刷装置及び印刷システム
KR100837584B1 (ko) 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임커맨드의 송신 제어 방법
US8405860B2 (en) Recording system and communication control method for a recording system
US6647437B2 (en) Method for automatically detecting and processing binary postscript print jobs
US7355742B2 (en) Apparatus and method for controlling page break position
US8441670B2 (en) In-line system for the validation of a page description language within a print data stream
JP2007013963A (ja) 画像形成装置及び色変換処理方法
JP6477378B2 (ja) 印刷ジョブのフラッシュパターン位置に隠された情報
US10459669B2 (en) Printer and control method of a printer
US10607103B2 (en) Image processing apparatus, control method therefor, and program
US8482777B2 (en) Image information processing device including comparing unit for printing processing system, computer-readable medium and image information processing method for the same
JP4329203B2 (ja) 印刷装置及び方法
US20230409712A1 (en) Image forming apparatus and image forming method
JP5087525B2 (ja) 画像形成システム
JP5851201B2 (ja) 画像処理装置および印刷システム
JP2011235568A (ja) 印刷装置およびその制御方法
KR100296593B1 (ko) 페이지 프린터 및 그 제어방법
US9892347B2 (en) Printer and control method of a printer
JP4722626B2 (ja) 印刷システム、印刷システムの制御方法及びプログラム
JPH11321036A (ja) 画像処理装置およびその制御方法
JP3469388B2 (ja) 画像形成装置
JP5013901B2 (ja) 画像形成装置、psデータ処理方法、及びpsデータ処理プログラム
JP2001334729A (ja) プリンタ、ホストコンピュータおよびプリンタ制御方法
JP5866781B2 (ja) 印刷システム、ホストコンピューター及び印刷システムの制御方法
JP2005169768A (ja) 印刷装置及び印刷装置における画像データの書込み方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061025

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110124

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110705

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110705

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4781023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees