(57)【特許請求の範囲】
【請求項１】
印刷装置と外部装置とを含む印刷システムであって、
前記印刷装置は、
印刷データが、前記印刷装置がサポートしているページ記述言語で記述されているかを判定する判定手段と、
前記印刷装置がサポートしているページ記述言語で記述された印刷データを解析する解析手段と、
前記判定手段によって前記印刷装置がサポートしているページ記述言語で記述されていると判定されなかった印刷データを前記外部装置に送信する送信手段と、
前記外部装置から印刷データを受信する受信手段と、
を有し、
前記外部装置は、
前記印刷装置の送信手段から送信された前記印刷データを解析する外部解析手段
を有し、
前記外部装置の外部解析手段は、前記印刷装置の前記送信手段から送信された前記印刷データを解析することで当該印刷データのページ記述言語の種別を判定し、当該判定によって判定されたページ記述言語の種別に基づいて当該印刷データを前記印刷装置がサポートしているページ記述言語で記述された印刷データに変換し、当該変換された印刷データを前記印刷装置の前記受信手段に送信し、
前記印刷装置の前記受信手段は、前記外部装置から前記変換された印刷データを受信し、
前記印刷装置の前記解析手段は、前記受信された前記変換された印刷データを解析する
ことを特徴とする印刷システム。
【請求項２】
前記判定手段は、
印刷データの一部を解析することで、当該印刷データが前記印刷装置がサポートしているページ記述言語で記述されているか否かを判定することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記送信手段は、前記判定手段によって前記印刷装置がサポートしているページ記述言語で記述されていると判定された印刷データを前記外部装置へ送信せず、
前記解析手段は、前記判定手段によって前記印刷装置がサポートしているページ記述言語で記述されていると判定された印刷データであって、前記送信手段によって前記外部装置に送信されない印刷データを解析することを特徴とする請求項１または２に記載の印刷システム。
【請求項４】
前記外部解析手段は、
前記印刷装置の送信手段から送信された印刷データを解析することで行う前記判定の結果に基づいて、当該印刷データに対する前記変換が可能であるか否かを判定し、
当該判定によって前記変換が可能であると判定された場合に、当該印刷データに対する前記変換を行って、当該変換された印刷データを前記印刷装置の受信手段に送信し、
当該判定によって前記変換が不可であると判定された場合に、前記印刷装置が警告表示を行うための通知を前記印刷装置に出力することを特徴とする請求項１乃至３の何れか１項に記載の印刷システム。
【請求項５】
前記印刷装置は、印刷データを記憶するＵＳＢメモリに接続する接続手段を更に有し、
前記判定手段は、前記ＵＳＢメモリに記憶された前記印刷データに対して前記判定を行うことを特徴とする請求項１乃至４の何れか１項に記載の印刷システム。
【請求項６】
前記印刷装置は、前記解析手段によって印刷データが解析された結果に基づいて、画像の印刷を行う印刷手段を更に有することを特徴とする請求項１乃至５の何れか１項に記載の印刷システム。
【請求項７】
前記印刷装置がサポートしているページ記述言語は、所定の複数種類のページ記述言語であることを特徴とする請求項１乃至６の何れか１項に記載の印刷システム。
【請求項８】
前記外部解析手段による前記変換の対象となる印刷データのページ記述言語は、前記解析手段がサポートしていないページ記述言語であることを特徴とする請求項１乃至７の何れか１項に記載の印刷システム。
【請求項９】
ページ記述言語を前記印刷装置がサポートしているとは、当該ページ記述言語を解析するために用いられるプログラムを前記解析手段が備えていることであり、
ページ記述言語を前記印刷装置がサポートしていないとは、当該ページ記述言語を解析するために用いられるプログラムを前記解析手段が備えていないことであることを特徴とする請求項８に記載の印刷システム。
【請求項１０】
前記外部解析手段は、前記印刷装置の送信手段から送信された印刷データを解析することで行う前記判定によって判定したページ記述言語の種別が前記印刷装置がサポートしているページ記述言語である場合に、前記印刷装置に対して当該判定したページ記述言語の種別を通知し、
前記解析手段は、当該通知を受けた場合に、通知されたページ記述言語の種別に従って、前記判定手段によって判定された印刷データを解析することを特徴とする請求項１乃至９の何れか１項に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを印刷する印刷装置、印刷方法、印刷システム、およびプログラムに関する。
【背景技術】
【０００２】
近年、各種印刷装置の普及に伴って、ホストコンピュータから誰でも容易に文書や画像の印刷データを送信して出力する事が可能になっている。それらの印刷データは、ホストコンピュータで選択するプリンタドライバの種類によって様々な種類のデータで生成される。しかしながら、印刷装置において、印刷データを解析できる種類は当該印刷装置の機能に応じて制限される。もし解析できないデータを受信しそのデータを無理やり解析して印刷しようとすると、文字化けの画像や印刷処理に不具合を生じて所望の印刷結果を得られないという問題があった。
【０００３】
上記問題を防ぐためのシステムとして、例えば、複数形式のページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を受信し、ＰＤＬのデータ形式を判別する。印刷を実行するプリンタにおいて処理不能なＰＤＬまたはＰＤＬ以外の形式のデータを受信したと判別した場合には、当該印刷ジョブの印刷を実行せずに、当該印刷ジョブを待ち行列にて印刷保留状態として記憶する。その後、次の印刷ジョブを受信し、処理を中断することなく継続して印刷するシステムが開示されている（特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３３０６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の印刷装置では、ＰＤＬデータの種別を誤判定した場合には、当該ＰＤＬに対する処理を実行する際に文字化けや印刷処理の不具合が発生し、出力用紙の無駄や印刷装置の異常エラーを発生させてしまっていた。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本願発明の印刷システムは以下の構成を有する。すなわち、印刷装置と外部装置とを含む印刷システムであって、前記印刷装置は、印刷データが印刷装置がサポートしているページ記述言語で記述されているかを判定する判定手段と、前記印刷装置がサポートしているページ記述言語で記述された印刷データを解析する解析手段と、前記判定手段によって前記印刷装置がサポートしているページ記述言語で記述されていると判定されなかった印刷データを前記外部装置に送信する送信手段と、前記外部装置から印刷データを受信する受信手段と、を有し、前記外部装置は、前記印刷装置の送信手段から送信された前記印刷データを解析する外部解析手段を有し、前記外部装置の外部解析手段は、前記印刷装置の前記送信手段から送信された前記印刷データを解析することで当該印刷データのページ記述言語の種別を判定し、当該判定によって判定されたページ記述言語の種別に基づいて当該印刷データを前記印刷装置がサポートしているページ記述言語で記述された印刷データに変換し、当該変換された印刷データを前記印刷装置の前記受信手段に送信し、前記印刷装置の前記受信手段は、前記外部装置から前記変換された印刷データを受信し、前記印刷装置の前記解析手段は、前記受信された前記変換された印刷データを解析する。
【発明の効果】
【０００８】
本発明によれば、印刷ジョブの処理途中において想定しないコマンドが一定回数発行されたら、当該処理を停止し、ユーザ入力に従って処理を続行するか中止するか選択的に処理することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】印刷システムの構成を示す図。
【図２】ホストコンピュータとプリンタの構成を示すブロック図。
【図３】ソフトウェア構成を示すブロック図。
【図４】第一実施形態に係るプリンタにおけるフローチャート。
【図５】第二実施形態に係るプリンタにおけるフローチャート。
【図６】第二実施形態に係る外部ＰＤＬ解析モジュールにおけるフローチャート。
【図７】第三実施形態に係るプリンタにおけるフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１１】
＜第一実施形態＞
［システム構成］
図１は、本発明の第一実施形態に係る印刷システムの構成図である。図１の印刷システムにて、ホストコンピュータ１００１は、当該装置上に保持された文書データや画像データを、搭載されたプリンタドライバ（不図示）を用いて印刷装置であるプリンタ１００２で画像展開するために解析可能なページ記述言語のＰＤＬデータに変換する。そして、ホストコンピュータ１００１は、ネットワーク１００３を介してデータをプリンタ１００２に送信する。プリンタ１００２は、受信したＰＤＬデータのデータ解析を行い、展開画像を生成し印刷制御を行って、当該展開画像の印刷を行う。
【００１２】
また、ネットワーク１００３にはホストコンピュータ１００１、プリンタ１００２が接続され、装置間で各種データの送受信が可能な形態となっている。また、ネットワーク１００３とは異なるネットワーク１００４は、ルータ（不図示）等でネットワーク１００３に接続され、各ネットワークに配置された機器間にて各種データの送受信が可能な形態となっている。ネットワーク１００４上には、外部ＰＤＬ解析モジュール１００５が配置されている。外部ＰＤＬ解析モジュール１００５は、例えば、インターネット上におけるサービス形態の一種であるクラウドコンピューティングなどにより実現されてもよい。外部ＰＤＬ解析モジュール１００５についての詳細は、第二実施形態にて後述する。
【００１３】
図２は、前述したホストコンピュータ１００１とプリンタ１００２の細部構成を示すブロック図である。ホストコンピュータ１００１は、プリンタ１００２の入力部１２を介してＰＤＬデータの送受信を行う。プリンタ１００２の入力部１２は、ホストコンピュータ１００１から受信したＰＤＬデータの先頭部分の解析を行い、ＰＤＬデータが記述されたＰＤＬの種類（ＰＤＬ種）を判定し、当該ＰＤＬデータを解析するＰＤＬ解析プログラムの選択を行う。ここでのＰＤＬ解析プログラムの選択については、後述する。
【００１４】
プリンタ１００２は、プログラムＲＯＭ１６に格納されたＰＤＬデータ解析プログラムをＲＡＭ１３に読み出し、ＣＰＵ１１が実行することでＰＤＬデータを解析する。また、プリンタ１００２は、フォントＲＯＭ１５やデータＲＯＭ１７にあるフォントやパターン情報などを使用して展開画像を生成する。生成された展開画像は、印刷部Ｉ／Ｆ１４を介して印刷部１９に送信され、印刷部１９にて印刷出力される。また、展開画像に対する各種印刷設定は、操作部２０にて変更が可能であり、また、プリンタ１００２の画像処理設定を予め定義しておくことも可能である。また、プリンタ１００２内の各部位はバス２２を介して接続されている。
【００１５】
また、プリンタ１００２は、外部メモリＩ／Ｆ１８を介してＨＤＤやＵＳＢメモリ等の外部メモリ２１に接続されており、受信したＰＤＬデータや別途展開した画像データを外部メモリ２１に格納することが可能である。
【００１６】
［ソフトウェア構成］
図３は、本実施形態におけるソフトウェア構成の細部構成を示すブロック図である。ホストコンピュータ１００１からＰＤＬデータが送信されるとプリンタ１００２の入力部１２を介してＨＤＤ等の外部メモリ２１にデータが格納される。ＰＤＬ種判別部１００７は、格納されたＰＤＬデータに対して一定のデータサイズの解析処理を行うことにより、該当ＰＤＬデータをどのＰＤＬ種の形式で処理させるか決定する。ここでのデータサイズは予め定義されているものとする。
【００１７】
ＰＤＬ解析部１０１０は、各ＰＤＬ種に対応したＰＤＬ解析プログラム１０１１、１０１２、１０１３を有する。ＰＤＬデータは、複数のＰＤＬ種のいずれかに分類され、各ＰＤＬ種に対応したＰＤＬ解析プログラム１０１１、１０１２、１０１３のいずれかを用いて、解析される。図３に示す構成において、３つのＰＤＬ種それぞれに対応したＰＤＬ解析プログラム１０１１、１０１２、１０１３を示している。決定したＰＤＬ種に対応するＰＤＬ解析プログラムは当該ＰＤＬデータを解析し、その解析結果に従って出力処理を行う。また、ＰＤＬ解析部１０１０は、ＰＤＬ誤判定の結果をエラー処理部１００９からＬＵＩ（Ｌｏｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）１００８等で通知する事が可能な構成である。
【００１８】
［処理フロー］
図４は、本実施形態におけるプリンタ１００２における処理手順を説明するためのフローチャートである。本処理は、記憶部であるプログラムＲＯＭ１６等に格納されたプログラムをＣＰＵ１１が読み出し、実行することにより実現される。
【００１９】
まずプリンタ１００２は、ＰＤＬデータを受信すると、当該ＰＤＬデータを前述したどのＰＤＬ種に対応したＰＤＬ解析プログラムを用いて処理を行うか判定処理を行う（Ｓ４０１）。次に、プリンタ１００２は、選択されたＰＤＬ種に対応したＰＤＬ解析プログラムによりＰＤＬデータの解析処理を行い、ＰＤＬデータの中から特定コマンドの検出が行われたかどうか判定処理を行う（Ｓ４０２）。本実施形態では、この工程で検出される特定コマンドを“＃ＸＹＺ”という文字列で表記される場合の例で表す。ここでの特定コマンドとは、例えば、選択されたあるＰＤＬ種に対応したＰＤＬ解析プログラムでは正常な処理が不能なコマンドを意味する。
【００２０】
特定コマンド“＃ＸＹＺ”が検出されると、プリンタ１００２は、発生回数をカウントアップし、発生回数が予め定めた閾値を超えたか判定を行う（Ｓ４０３）。特定コマンドの発生回数が閾値を超えていなかった場合は（Ｓ４０３にてＮＯ）、プリンタ１００２は、受信したＰＤＬデータのサイズをカウントして一定のデータサイズ分（所定の範囲）がカウントされたか判定を行う（Ｓ４０４）。つまり、一定の範囲において、ここでの一定サイズは、予め定義されているものとする。
【００２１】
ＰＤＬデータが一定サイズを超えていれば（Ｓ４０４にてＹＥＳ）、プリンタ１００２は、ＰＤＬの特定コマンドの検出処理を以降の受信したＰＤＬデータに対しては行わずに本処理を終了する。ＰＤＬデータがまだ一定サイズを超えていなければ（Ｓ４０４にてＮＯ）、プリンタ１００２は、Ｓ４０２へ戻る。
【００２２】
特定コマンドの発生回数が予め定めた閾値を超えた場合（Ｓ４０３にてＹＥＳ）、プリンタ１００２は、当該ＰＤＬデータの解析処理を停止し、ＬＵＩ１００８にＰＤＬ種選択の誤判定の警告を表示する（Ｓ４０５）。そして、プリンタ１００２は、ＬＵＩ１００８にて、ユーザからの“中止”または“継続”のキー入力待ち状態にする（Ｓ４０６）。本実施形態において、このＬＵＩ１００８にて受付手段を実現する。
【００２３】
ユーザから“中止”の指示がキー入力された場合（Ｓ４０６にてＹＥＳ）、プリンタ１００２は、当該ＰＤＬデータの解析処理を中止し、本処理を終了する（Ｓ４０７）。
【００２４】
継続がキー入力された場合（Ｓ４０６にてＮＯ）、当該ＰＤＬデータの解析処理を続行し、処理が完了したら本処理を終了する（Ｓ４０８）。
【００２５】
なお、特定コマンドは予め設定されていてもよいし、解析したコマンドそれぞれの出現回数を全てカウントしておき、この値に基づいて特定コマンドとして判定しても構わない。また、ＰＤＬ種の判定（Ｓ４０１）を行った後に当該判定がコマンドの出現回数に基づいて誤っていたとされ、処理を中止した際（Ｓ４０７）に、上記特定コマンドを以降のＰＤＬ種の判定確認（Ｓ４０３）で用いるか否か設定／変更するようにしても構わない。
【００２６】
以上により、印刷データのＰＤＬ選択時に誤判定や該当ＰＤＬを搭載していない場合でも処理途中に想定しないコマンドが一定回数発行されたら、処理を停止し、ユーザ入力に従って処理を続行するか中止するか選択的に処理することが可能となる。
【００２７】
＜第二実施形態＞
次に本発明に係る第二実施形態について述べる。第一実施形態においては、ＰＤＬ解析処理をプリンタにて実施していた。これに対し、本実施形態では、外部ネットワークに位置するモジュールと連携することでＰＤＬ種の判定処理を実行する構成を示す。なお、第一実施形態と重複する部分については、説明を省略する。
【００２８】
［プリンタにおける処理フロー］
図５は、本実施形態におけるプリンタ１００２における処理手順を説明するためのフローチャートである。本処理は、記憶部であるプログラムＲＯＭ１６等に格納されたプログラムをＣＰＵ１１が読み出し、実行することにより実現される。
【００２９】
まずプリンタ１００２は、ＰＤＬデータを受信すると、当該ＰＤＬデータを前述したどのＰＤＬ種に対応したＰＤＬ解析プログラムを用いて処理を行うか判定処理を行う（Ｓ５０１）。ＰＤＬ種判別部１００７にて予め定められた判定手順によって判定できない場合、プリンタ１００２は、外部モジュールである外部ＰＤＬ解析モジュール１００５に対して当該機器でサポートしているＰＤＬ種および受信したＰＤＬデータを送信する（Ｓ５０２）。ここで「サポートしている」とは、ＰＤＬ種に対応したＰＤＬ解析プログラムを備えることを意味する。プリンタ１００２は、一旦ＰＤＬ解析処理を停止し、外部ＰＤＬ解析モジュール１００５に通知した判定結果が取得されるまで待ち状態にする（Ｓ５０３）。
【００３０】
プリンタ１００２は、外部ＰＤＬ解析モジュール１００５から判定結果を受信した後（Ｓ５０３にてＹＥＳ）、判定結果に基づき、サポートしているＰＤＬ種が選択されたか否かを判定する（Ｓ５０４）。サポートしているＰＤＬ種が選択された場合（Ｓ５０４にてＹＥＳ）、プリンタ１００２は、該当ＰＤＬ種に対応したＰＤＬ解析プログラムを用いて解析処理を行う（Ｓ５０５）。その後、処理を終了する。
【００３１】
サポートしているＰＤＬ種が選択されなかった場合（Ｓ５０４にてＮＯ）、プリンタ１００２は、外部ＰＤＬ解析モジュール１００５により当該プリンタが対応しているＰＤＬ種に変換されたＰＤＬデータが送信されてきたか確認する（Ｓ５０６）。サポートしているＰＤＬ種に変換されたＰＤＬデータを受信していれば（Ｓ５０６にてＹＥＳ）、プリンタ１００２は、当該ＰＤＬデータを対応するＰＤＬ解析プログラムで解析処理を行う（Ｓ５０７）。外部ＰＤＬ解析モジュール１００５からＰＤＬ処理不可であることを通知された場合（Ｓ５０６にてＮＯ）、プリンタ１００２は、解析処理を中止し、出力処理を実行せずにＬＵＩ１００８に警告表示を行って終了する（Ｓ５０８）。
【００３２】
［外部ＰＤＬ解析モジュールによるＰＤＬ種判定およびデータ変換］
図６は本実施形態における外部ＰＤＬ解析モジュール１００５における判定処理およびデータ変換処理手順を説明するためのフローチャートである。なお、本処理は、外部ＰＤＬ解析モジュール１００５が搭載された装置の各部位により実現される。
【００３３】
外部ＰＤＬ解析モジュール１００５は、プリンタ１００２から通知されたＰＤＬデータを解析してＰＤＬ種を確定する（Ｓ６０１）。外部ＰＤＬ解析モジュール１００５は、プリンタ１００２から通知された当該プリンタでサポートされているＰＤＬ種に、Ｓ６０１で決定したＰＤＬ種が含まれているか比較する（Ｓ６０２）。サポートされていた場合（Ｓ６０２にてＹＥＳ）、外部ＰＤＬ解析モジュール１００５は、プリンタ１００２に選択したＰＤＬ種を返信して処理を終了する（Ｓ６０３）。サポートされていなかった場合（Ｓ６０２にてＮＯ）、外部ＰＤＬ解析モジュール１００５は、受信したＰＤＬデータのＰＤＬ種からプリンタ１００２でサポートされているＰＤＬ種のＰＤＬデータに変換可能か解析する（Ｓ６０４）。
【００３４】
変換可能である場合（Ｓ６０４にてＹＥＳ）、外部ＰＤＬ解析モジュール１００５は、サポートされているＰＤＬ種のＰＤＬデータに変換処理を行い、変換したＰＤＬデータをプリンタ１００２に返信する（Ｓ６０５）。変換不可能だった場合（Ｓ６０４にてＮＯ）、外部ＰＤＬ解析モジュール１００５は、プリンタ１００２に当該ＰＤＬデータに対する処理が不可である旨を通知する（Ｓ６０６）。
【００３５】
以上により、第一実施形態の効果に加え、プリンタにてＰＤＬ種の判定ができない場合でも、当該プリンタに適したＰＤＬデータを処理することができる。
【００３６】
＜第三実施形態＞
次に本発明に係る第三実施形態について述べる。本実施形態では、プリンタが対応していないＰＤＬ種のＰＤＬデータを誤送信したユーザに対して、通知を行う形態について述べる。なお、第一実施形態と重複する部分については、説明を省略する。
【００３７】
［処理フロー］
図７は本発明の第三実施形態におけるプリンタ１００２における印刷処理および展開画像を格納する処理手順を説明するためのフローチャートである。本処理は、記憶部であるプログラムＲＯＭ１６等に格納されたプログラムをＣＰＵ１１が読み出し、実行することにより実現される。
【００３８】
第一、第二実施形態においてＰＤＬデータのＰＤＬ種が処理不可能と判定された場合に、プリンタ１００２は、処理不可能であるＰＤＬデータを誤送信してきたホストコンピュータのホスト情報（ＩＰアドレス、ポート、使用ユーザなど）を格納する（Ｓ７０１）。プリンタ１００２は、格納したホスト情報から、予め定めた誤送信の制限回数以上の印刷ジョブが同じホストコンピュータから送信されたか判定する（Ｓ７０２）。
【００３９】
所定の回数以上の誤送信をしたホストコンピュータであると判定された場合（Ｓ７０２にてＹＥＳ）、プリンタ１００２は、予め記憶されている管理者のメールアドレスに対して、誤送信を行ったホストコンピュータのホスト情報を通知する（Ｓ７０３）。この際、プリンタ１００２は、通知したホスト情報（ＩＰアドレス、ポート、使用ユーザ）と対応する通知回数を記憶部に保持しておく。
【００４０】
次に、プリンタ１００２は、管理者に通知した回数が予め定められた回数以上になったかどうか判定する（Ｓ７０４）。通知した回数が所定の値以上になった場合は（Ｓ７０４にてＹＥＳ）、プリンタ１００２は、ホストコンピュータのホスト情報から該当ポートからのＰＤＬデータ受信を停止する処理を行う（Ｓ７０５）。なお、ここで用いる停止方法については、特に限定しない。
【００４１】
なお、本実施形態では、Ｓ７０４にて、プリンタ管理者に所定の閾値以上の通知をした場合に、ホストコンピュータのポートからデータ受信を停止しているが、これに限定するものではない。例えばＳ７０３にてプリンタ管理者にメール通知を行う際に合わせて、当該ポートからのデータ受信を停止しても構わない。
【００４２】
以上、本実施形態により、第一、第二実施形態の効果に加え、処理不能なＰＤＬデータを誤送信したユーザに対して、通知等を行うことで不正な出力を防ぐことが可能となる。
【００４３】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005843477.tif 000002
【図２】
0005843477.tif 000003
【図３】
0005843477.tif 000004
【図４】
0005843477.tif 000005
【図５】
0005843477.tif 000006
【図６】
0005843477.tif 000007
【図７】
0005843477.tif 000008