説明

プリンタ

【課題】仕様の異なる印刷コマンドを入力した場合にも、効率的な印刷処理を実行可能なプリンタを提供することを目的とする。
【解決手段】プリンタ2の印刷コントロール部22は、印刷処理可能な印刷コマンドを印刷コマンドテーブル41として記憶している。PC1から受信した印刷データのコマンドに含まれる印刷コマンドが印刷コマンドテーブル41に登録されている場合(ステップS5でYES)、レンダリングする(ステップS6)。テーブル41に登録されていない印刷コマンドを入力した場合には、未対応コマンドとして未対応コマンドテーブル42に登録し、レンダリングは行わない。このような処理を1ページ分繰り返し(ステップS10)、1ページ分の処理が終了すると印刷処理を行う(ステップS11)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタに関し、詳しくは、非対応のコマンドを入力した場合の印刷制御技術に関する。
【背景技術】
【0002】
パソコンなどのクライアント端末は、プリンタに対して印刷データを出力することで、プリンタに印刷処理を実行させることができる。そして、この印刷処理を実行させるためには、そのプリンタに対応したプリンタドライバがパソコンにインストールされている必要がある。
【0003】
パソコンにおいて作成された文書データなどは、プリンタドライバによって印刷データに変換され、その印刷データがプリンタに出力される。プリンタは、正規のプリンタドライバで作成された印刷データを受け取ると、その印刷データに含まれる印刷コマンドを1つずつ処理して印刷処理を実行する。
【0004】
【特許文献1】特許第3250337号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したように、プリンタは、正規のプリンタドライバから出力された印刷データを入力することで、印刷処理を正常に実行することができる。これに対して、異なる仕様のプリンタドライバで変換された印刷データを入力した場合、プリンタは印刷処理を実行することができない。
【0006】
たとえば、パソコンにA社製のプリンタに対応したプリンタドライバがインストールされており、このプリンタドライバを利用して印刷データを作成し、B社製のプリンタに印刷出力したとする。この場合、B社製のプリンタは非対応の印刷コマンドを検出するため、印刷処理を実行することができない。たとえば、印刷エラーなどのエラーメッセージを印刷出力するなどしていた。
【0007】
このように、仕様の異なる印刷コマンドを入力した場合、従来のプリンタは、印刷処理を実行することができなかった。印刷データの仕様は、各社で異なるものの共通的仕様部分も多い。しかし、従来のプリンタでは、異なる印刷コマンドが含まれることで印刷処理が全く実行されないようになっていた。
【0008】
上記特許文献1は、複数のプリンタのエミュレーション機能を備えたプリンタに関するものである。このプリンタは、複数のプリンタのコマンドを処理可能となっており、入力した印刷データから対応するエミュレーションパターンを決定し、それぞれの印刷データに応じた印刷処理を実行するようにしている。この方法で、様々なプリンタドライバから出力された印刷データに対応するようにしているが、プリンタに多数のドライバに対応した機能を持たせる必要がある。
【0009】
そこで、本発明は前記問題点に鑑み、仕様の異なる印刷コマンドを入力した場合にも、効率的な印刷処理を実行可能なプリンタを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するため、請求項1記載の発明は、印刷データを入力する手段と、印刷コマンドテーブルを記憶する手段と、前記印刷データに含まれる印刷コマンドのうち、前記印刷コマンドテーブルに登録されていない印刷コマンドを除いて、前記印刷コマンドテーブルに登録されている印刷コマンドに対して印刷に関わる処理を実行する印刷制御手段と、を備えることを特徴とする。
【0011】
請求項2記載の発明は、請求項1に記載のプリンタにおいて、前記印刷制御手段は、前記印刷データに含まれる印刷コマンドのうち、前記印刷コマンドテーブルに登録されていない印刷コマンドを未対応コマンドとして記憶する手段、を含むことを特徴とする。
【0012】
請求項3記載の発明は、請求項1または請求項2に記載のプリンタにおいて、前記印刷コマンドテーブルには、前記プリンタに対応した印刷ドライバにより生成される印刷コマンドが登録されていることを特徴とする。
【発明の効果】
【0013】
本発明のプリンタは、印刷データに含まれる印刷コマンドのうち、印刷コマンドテーブルに登録されていない印刷コマンドを除いて、印刷コマンドテーブルに登録されている印刷コマンドに対して印刷に関わる処理を実行する。これにより、非対応のプリンタドライバによって作成された印刷データなどに対しても、処理可能な部分に対しては、印刷結果を出力することが可能である。
【0014】
また、本発明のプリンタは、印刷コマンドテーブルに登録されていない印刷コマンドを未対応コマンドとして記憶する。これにより、このプリンタが入力する未対応コマンドのリストを得ることが可能であり、メンテナンスにおいて有効利用することができる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本実施の形態に係るコンピュータシステムの全体図である。このコンピュータシステムは、パーソナルコンピュータ(以下、PCとする)1と、プリンタ2とがLAN3を介して接続される構成となっている。
【0016】
PC1は、制御部11、操作部12、モニタ13、記憶装置14、通信部15を備えている。制御部11は、CPU、RAMなどを含み、各種のプログラム処理を実行することで、PC1の全体制御を行う。操作部12は、キーボードやマウスなどを含み、制御部11に各種の指示を入力する。モニタ13は、たとえば、液晶表示パネルなどであり、各種の情報を表示する。
【0017】
ハードディスクなどで構成される記憶装置14には、プリンタドライバ31がインストールされている。このプリンタドライバ31は、プリンタ2に対応したプリンタドライバである。つまり、プリンタドライバ31は、プリンタ2の製造元から提供されているプリンタ2を制御するためのソフトウェアである。通常は、プリンタ2を購入したときに、CD−ROMなどの記憶媒体に格納されてプリンタドライバ31が提供される。あるいは、プリンタドライバ31は、製造元会社のWEBサイトからダウンロードすることにより得ることもできる。
【0018】
通信部15は、TCP/IPなどのプロトコルを利用して、LAN3に接続されたプリンタ2や他のコンピュータとデータの送受信を行う処理部である。
【0019】
プリンタ2は、制御部21、印刷コントロール部22、印刷部23、通信部24を備えている。制御部21は、CPU、RAMなどを含み、プリンタ2の全体制御を行う。印刷コントロール部22は、印刷コマンドの解析や、印刷データのレンダリング処理などを実行する処理部である。
【0020】
印刷処理の制御は、制御部21により実行することも可能であるが、本実施の形態のプリンタ2は、制御部21の処理負荷を小さくさせるため、印刷コントロール部22により上記の各処理(コマンド解析処理やレンダリング処理など)を実行させるようにしている。たとえば、印刷コントロール部22は、制御部21が搭載されるメインボードとは別のオプションボードとして構成される。プリンタ2は、このオプションボードが搭載されることで、メインボード上の制御部21の負荷を低減させ、プリンタ2のパフォーマンスを向上させることができる。
【0021】
印刷コントロール部22は、また、コマンド記憶部221と未対応コマンド記憶部222を備えている。コマンド記憶部221は、ROMで構成され、印刷コマンドテーブル41を格納している。印刷コマンドテーブル41には、このプリンタ2の仕様に適合した印刷コマンドが登録されている。上述したように、プリンタドライバ31は、プリンタ2に対応した印刷制御ソフトウェアである。したがって、プリンタドライバ31で生成される印刷コマンドは、全て印刷コマンドテーブル41に登録されていることになる。
【0022】
未対応コマンド記憶部222は、SRAMで構成され、未対応コマンドテーブル42を格納している。未対応コマンドテーブル42には、このプリンタ2が入力した印刷コマンドであって、このプリンタ2が処理できなかった印刷コマンドが記録されている。つまり、印刷コントロール部22は、印刷コマンドテーブル41に登録されていない印刷コマンドを入力したときに、その印刷コマンドを未対応コマンドとして、未対応コマンドテーブル42に追加する処理を行うのである。
【0023】
印刷部23は、印刷データを印刷用紙に印字出力する処理部である。印刷部23は、制御部21の制御により印刷処理を実行する。
【0024】
以上のような構成のネットワークシステムにおいて実行される印刷処理の流れについて、図2のフローチャートを参照しながら説明する。
【0025】
まず、プリンタ2における印刷処理を説明する前に、PC1における印刷データの生成処理を説明する。ユーザは、たとえば、ワープロソフト、表計算ソフトなどのアプリケーションソフトを利用して印刷対象のファイルを作成する。次に、ユーザは、作成した印刷対象のファイルの印刷指示を行う。
【0026】
たとえば、ユーザが、操作部12を操作し、アプリケーションソフトの操作メニューから印刷処理を選択すると、プリンタドライバ31が呼び出される。プリンタドライバ31は、モニタ13に印刷ダイアログを表示する。ユーザは、この印刷ダイアログで各種の印刷設定を行い、印刷実行操作を行う。これにより、プリンタドライバ31は、印刷対象のファイルを印刷データに変換して出力するのである。印刷データは、印刷記述言語で記述されたデータである。
【0027】
プリンタドライバ31により出力された印刷データは、通信部15から送信され、LAN3を介してプリンタ2の通信部24により受信される。通信部24により受信された印刷データは、制御部21を介して印刷コントロール部22に渡される。これにより、印刷コントロール部22による印刷処理に遷移する。
【0028】
まず、印刷コントロール部22は、受信した印刷データに含まれる印刷コマンドの解析を行う(図2のステップS1)。
【0029】
ここで、印刷コマンドは、ある程度の標準化が行われている。プリンタメーカによって、多少の仕様の違いがあるものの、基本的なフォーマットは共通的な仕様となっている。したがって、印刷コマンドの内容を解析することで、たとえその印刷データが他社製品のドライバで作成されているものであっても、印刷に関わるデータであるかどうかの判定を行うことはできる。
【0030】
図3は、印刷コマンドの一例を示す図である。この印刷コマンドは、PCL5eのコマンドフォーマットを示す。このコマンドは、“ESC”という文字(Escape character)の後に、コマンドを特定する3つの文字(Parameterized character, Group character, Termination character)と、1つのパラメータ(Value Field)が記述されるフォーマットとなっている。このPCL5eのフォーマットのように、印刷コマンドのフォーマットはある程度の標準化が行われている。
【0031】
コマンド解析の結果、処理対象のコマンドがコマンドフォーマットに一致していない場合(ステップS2でNO)、つまり、標準化されている印刷コマンドフォーマットとは著しくフォーマットが異なる場合あるいは解読が不可能なような場合には、印刷コントロール部22は、印刷データを破棄し(ステップS3)、エラーメッセージの印刷制御を行う(ステップS4)。これにより、印刷部23から、エラーメッセージが印字出力され、エラー終了する。たとえば、「印刷データを処理することができませんでした。」といったメッセージが印字された用紙がトレイから出力される。
【0032】
コマンド解析の結果、コマンドフォーマットに一致している場合(ステップS2でYES)、つまり、印刷コマンドが解読可能な範囲にあり、標準化された印刷コマンドフォーマットに適合していると判定した場合、印刷コントロール部22は、その印刷コマンドが処理可能なコマンドであるかどうかを判定する。具体的には、コマンド記憶部221に格納されている印刷コマンドテーブル41を参照し、印刷コマンドテーブル41に処理対象のコマンドと同じ印刷コマンドが登録されているかどうかを判定する(ステップS5)。
【0033】
印刷コマンドテーブル41に一致する印刷コマンドが存在する場合(ステップS5でYES)、印刷コントロール部22は、その印刷コマンドについてレンダリング処理を実行する(ステップS6)。
【0034】
印刷コマンドテーブル41に一致する印刷コマンドが存在しない場合(ステップS5でNO)、印刷コントロール部22は、未対応コマンドテーブル42に、未対応コマンドが存在するかどうかを判定する(ステップS7)。つまり、初期状態や内容がクリアされた後は、未対応コマンドテーブル42には、全く未対応コマンドが記録されていない状態となるが、そのような状態であるかどうかが判定される。
【0035】
未対応コマンドテーブル42に未対応コマンドが存在する場合(ステップS7でYES)、処理対象の印刷コマンドが、未対応コマンドテーブル42に記録されている未対応コマンドと一致するかどうかを判定する。そして、一致するものが存在する場合(ステップS8でYES)、そのままステップS10に遷移する。一致するものが存在しない場合には、処理対象のコマンドを未対応コマンドテーブル42に追加する(ステップS9)。また、ステップS7において、未対応コマンドテーブル42に未対応コマンドが存在しない場合にも、処理対象の印刷コマンドを未対応コマンドテーブル42に追加する(ステップS9)。なお、未対応コマンドが検出されたことをプリンタ2が備える液晶表示部(図示せず)に表示させてもよい。あるいは、未対応コマンドが検出されたことを示すレポートを印刷出力するようにしてもよい。
【0036】
このように、初めて入力した未対応コマンドについては、未対応コマンドテーブル42に順次追加するようにしている。これにより、プリンタ2が、どのような未対応コマンドを入力しているかのLOGが作成されるので、メンテナンス時に有効利用することができる。
【0037】
解析したコマンドに対して、ステップS6でレンダリング処理が行われるか、あるいは、未対応コマンドとして処理された後(ステップS7〜S9)、印刷コントロール部22は、1ページ分のレンダリングが完了したかどうかの判定を行う(ステップS10)。1ページ分のレンダリングが完了していない場合には、ステップS1に戻り、次のコマンドの処理を実行する。1ページ分のレンダリングが完了した時点でステップS11に移行する。
【0038】
つまり、ステップS1〜S9の処理では、印刷コマンドテーブル41に登録されている印刷コマンドについては、レンダリングを実行し、未対応コマンドについては、レンダリングは行わず、いずれの場合にもステップS10に遷移する。そして、このような処理をコマンドごとに1ページ分繰り返し処理するのである。これにより、未対応コマンドを飛ばして、処理可能な印刷コマンドのみのレンダリングが1ページ分処理されることになる。
【0039】
1ページ分の処理が完了すると(ステップS10でYES)、印刷コントロール部22は、1ページ分の印刷処理を実行する(ステップS11)。具体的には、印刷コントロール部22は、レンダリングした印刷データを圧縮し、制御部21に出力するのである。制御部21は、印刷コントロール部22から入力した1ページ部の印刷データを伸張し、印刷部23に対する印刷制御を実行する。これにより、印刷部23から1ページ分の印刷出力が行われる。なお、印刷コントロール部22が、レンダリングした印刷データを圧縮することなく制御部21に受け渡す処理形態であってもよい。
【0040】
ここで、上記のように、この印刷データは、未対応コマンドを飛ばして処理されているので、処理可能な印刷コマンドのみが処理されている。したがって、PC1から受信した印刷データの中に未対応のコマンドが含まれている場合であっても、印刷エラーとすることなく、処理可能な部分だけが処理されるのである。従来であれば、ユーザは、「印刷できません」といったメッセージが表示された出力しか得ることができなかったが、このプリンタ2では、処理可能な部分については印刷結果を得ることができるのである。上述したように、印刷コマンドは多くの部分が標準化されている。したがって、ユーザは、仕様の異なるプリンタドライバを利用して印刷処理を実行した場合であっても、状況によっては、殆ど問題のない印刷結果を得ることもできるのである。
【0041】
印刷コントロール部22は、ステップS11で1ページ分の印刷処理を終えると、印刷データに含まれる全てのコマンドについて処理が終了したかどうかを判定し(ステップS12)、未処理のコマンドが残っている場合には、ステップS1に戻り上記の処理を繰り返すのである。全てのコマンドについて処理が終了すると、プリントジョブを終了する。
【0042】
以上、説明したように、本実施の形態のプリンタ2を利用することで、ユーザは、他社製プリンタのプリンタドライバを利用しても、印刷結果を得ることができる。たとえば、プリンタに特有のコマンドが使用された場合には、一部その機能を利用できない場合などがあるが、描画に関するコマンドは、その多くが標準化されていることを考慮すると、ユーザにとって必要な印刷結果が充分に得られることが予想され、有効な機能である。
【0043】
また、プリンタに多種のエミュレータ機能を持たせることなく、処理可能なコマンドだけを処理するという思想であるので、プリンタ自体のコストを高くすることなく、多種多様なプリンタドライバから出力された印刷データを処理可能である。
【0044】
このように、本実施の形態のプリンタ2は、プリンタドライバとして他社製品を利用することが可能であるが、逆に言えば、プリンタ2を導入する際に、ユーザにプリンタドライバの変更を強制する必要がなくなるということである。従来であれば、オフィスに新しいプリンタが導入されれば、全てのPCに、対応プリンタドライバをインストールする必要があった。しかし、本実施の形態のプリンタ2では、その作業が絶対ではないため、新規プリンタの導入障壁を低減させることができるのである。
【図面の簡単な説明】
【0045】
【図1】本実施の形態に係るプリンタを含むネットワークシステムのブロック図である。
【図2】プリンタにおける印刷処理のフローチャートである。
【図3】印刷コマンドのフォーマット例を示す図である。
【符号の説明】
【0046】
1 パーソナルコンピュータ(PC)
2 プリンタ
3 LAN
21 制御部
22 印刷コントロール部
41 印刷コマンドテーブル
42 未対応コマンドテーブル
221 コマンド記憶部
222 未対応コマンド記憶部

【特許請求の範囲】
【請求項1】
印刷データを入力する手段と、
印刷コマンドテーブルを記憶する手段と、
前記印刷データに含まれる印刷コマンドのうち、前記印刷コマンドテーブルに登録されていない印刷コマンドを除いて、前記印刷コマンドテーブルに登録されている印刷コマンドに対して印刷に関わる処理を実行する印刷制御手段と、
を備えることを特徴とするプリンタ。
【請求項2】
請求項1に記載のプリンタにおいて、
前記印刷制御手段は、
前記印刷データに含まれる印刷コマンドのうち、前記印刷コマンドテーブルに登録されていない印刷コマンドを未対応コマンドとして記憶する手段、
を含むことを特徴とするプリンタ。
【請求項3】
請求項1または請求項2に記載のプリンタにおいて、
前記印刷コマンドテーブルには、前記プリンタに対応した印刷ドライバにより生成される印刷コマンドが登録されていることを特徴とするプリンタ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2008−26930(P2008−26930A)
【公開日】平成20年2月7日(2008.2.7)
【国際特許分類】
【出願番号】特願2006−195108(P2006−195108)
【出願日】平成18年7月18日(2006.7.18)
【出願人】(000006297)村田機械株式会社 (4,916)
【Fターム(参考)】