(57)【特許請求の範囲】
【請求項１】
記録媒体に対する印刷動作をおこなう印刷機構を制御する印刷制御手段と、
外部装置との間で通信をおこなう通信手段と、
前記通信手段による前記外部装置との通信結果に基づいて、前記印刷制御手段の制御にかかる一連のコマンドを含む印刷要求を解析し、当該印刷要求に含まれる一連のコマンドに基づいて前記印刷制御手段をシーケンス制御する第１の解析手段と、
前記通信手段による前記外部装置との通信結果に基づいて、前記印刷制御手段の制御に関するコマンドを含む所定の構造化文書を解析し、当該構造化文書に含まれるコマンドに基づいて前記印刷制御手段を制御する第２の解析手段と、
前記印刷制御手段において、前記第１の解析手段および前記第２の解析手段による制御を待機する待機状態と、前記第１の解析手段および前記第２の解析手段のいずれか一方による制御を受け付ける制御中状態と、を選択的に切り替える切替手段と、
を備え、
前記切替手段は、
待機状態において、前記第２の解析手段から印刷の開始を要求するコマンドに基づく制御開始指示が出力された場合、前記第２の解析手段と前記印刷制御手段とを接続する制御中状態に切り替え、
制御中状態において、前記第２の解析手段から印刷の終了を要求するコマンドに基づく制御終了指示が出力された場合、前記第２の解析手段と前記印刷制御手段との接続を解放し待機状態に切り替えることを特徴とするプリンタ。
【請求項２】
前記切替手段は、
前記第２の解析手段から前記構造化文書に含まれるコマンドに基づく指示が出力されてから所定時間経過するまでに前記制御終了指示が出力されない場合、前記第２の解析手段と前記印刷制御手段との接続を解放し待機状態に切り替えることを特徴とする請求項１に記載のプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のクライアントが接続されることによって構築される印刷システムに用いられるプリンタに関する。
【背景技術】
【０００２】
パーソナルコンピュータやタブレット端末などのクライアントは、印刷内容ごとにプリントジョブを生成する。このため、１台のプリンタに複数のクライアントが接続されることによって構築されている印刷システムにおいては、あるクライアントからプリンタに対して連続的に送信した複数のプリントジョブの間に、他のクライアントのプリントジョブが挿入されることがある。このような場合、複数のクライアントからのプリントジョブに応じた印刷物が混在することになり、印刷物の仕分けが煩わしい。
【０００３】
この対策として、従来、たとえば、クライアントにおいて生成される複数のプリントジョブを一つに合成してからプリンタに送信することにより、複数のクライアントが接続されているプリンタであっても、あるクライアントが連続的に出力する複数のプリントジョブに他のクライアントのプリントジョブが挿入されないようにした技術があった（たとえば、下記特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２８７６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１に記載された従来の技術は、クライアントにおいて生成される複数のプリントジョブを一つに合成してからプリンタに送信しなくてはならず、クライアント側に専用のシステムが必要となり、また、専用のシステムを備えていないクライアントでは印刷システムを構成することができず、印刷システムの構築や管理が煩雑になるという問題があった。
【０００６】
この発明は、上述した従来技術による問題点を解消するため、複数のクライアントが接続されることによって構築される印刷システムの構築や管理の容易化を図ることができるプリンタを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、この発明にかかるプリンタは、記録媒体に対する印刷動作をおこなう印刷機構を制御する印刷制御手段と、外部装置との間で通信をおこなう通信手段と、前記通信手段による前記外部装置との通信結果に基づいて、前記印刷制御手段の制御にかかる一連のコマンドを含む印刷要求を解析し、当該印刷要求に含まれる一連のコマンドに基づいて前記印刷制御手段をシーケンス制御する第１の解析手段と、前記通信手段による前記外部装置との通信結果に基づいて、前記印刷制御手段の制御に関するコマンドを含む所定の構造化文書を解析し、当該構造化文書に含まれるコマンドに基づいて前記印刷制御手段を制御する第２の解析手段と、前記印刷制御手段において、前記第１の解析手段および前記第２の解析手段による制御を待機する待機状態と、前記第１の解析手段および前記第２の解析手段のいずれか一方による制御を受け付ける制御中状態と、を選択的に切り替える切替手段と、を備え、前記切替手段が、待機状態において、前記第２の解析手段から印刷の開始を要求するコマンドに基づく制御開始指示が出力された場合、前記第２の解析手段と前記印刷制御手段とを接続する制御中状態に切り替え、制御中状態において、前記第２の解析手段から印刷の終了を要求するコマンドに基づく制御終了指示が出力された場合、前記第２の解析手段と前記印刷制御手段との接続を解放し待機状態に切り替えることを特徴とする。
【０００８】
また、この発明にかかるプリンタは、上記の発明において、前記切替手段が、前記第２の解析手段から前記構造化文書に含まれるコマンドに基づく指示が出力されてから所定時間経過するまでに前記制御終了指示が出力されない場合、前記第２の解析手段と前記印刷制御手段との接続を解放し待機状態に切り替えることを特徴とする。
【発明の効果】
【０００９】
この発明にかかるプリンタによれば、複数のクライアントが接続されることによって構築される印刷システムの構築や管理の容易化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】この発明にかかる実施の形態の印刷システムのシステム構成を示す説明図である。
【図２】従来コマンドの解析手順を示す説明図である。
【図３】ＸＭＬコマンドの解析手順を示す説明図である。
【図４】従来のプリンタを備えた従来の印刷システムのシステム構成を示す説明図である。
【図５】従来のプリンタによるＸＭＬデータの解析手順を示す説明図である。
【図６】従来のプリンタにおける問題点を示す説明図である。
【図７】プリンタの処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明にかかるプリンタの好適な実施の形態を詳細に説明する。
【００１２】
（印刷システムのシステム構成）
まず、この発明にかかる実施の形態の印刷システムのシステム構成について説明する。図１は、この発明にかかる実施の形態の印刷システムのシステム構成を示す説明図である。
【００１３】
図１において、この発明にかかる実施の形態の印刷システム１００は、サーバであるプリンタ１１０と、プリンタ１１０に対して各種の要求を出力するクライアント１２０と、によって構成される。クライアント１２０は、たとえば、汎用的なパーソナルコンピュータやタブレット端末などのコンピュータ装置によって実現することができる。
【００１４】
クライアント１２０は、印刷プログラムなどを記憶する記憶装置１２１と、印刷プログラムを実行するプログラム実行装置１２２と、プリンタ１１０との間で通信をおこなう通信制御部１２３と、を備えている。記憶装置１２１は、クライアント１２０を実現するパーソナルコンピュータが備えるハードディスクやタブレット端末が備えるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）におけるフラッシュメモリや印刷プログラムを外部ネットワークに配置することができるクラウドサーバなどによって実現することができる。
【００１５】
プログラム実行装置１２２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ブートプログラムなどのプログラムを記憶するメモリ、およびプログラム実行装置１２２に対するデータの入出力回路などによって実現することができる（いずれも図示を省略する）。通信制御部１２３は、アナログ回路の要素とデジタル回路の要素を備えた混合信号回路などからなる通信回路によって実現することができる。
【００１６】
プリンタ１１０は、クライアント１２０との間で通信をおこなう通信制御部１１１を備えている。通信制御部１１１は、クライアント１２０が備える通信制御部１２３と同様に、アナログ回路の要素とデジタル回路の要素を備えた混合信号回路などからなる通信回路によって実現することができる。この実施の形態においては、通信制御部１１１によって、この発明にかかる通信手段が実現される。
【００１７】
通信制御部１１１は、クライアント１２０との間で通信をおこなうことにより、たとえば、クライアント１２０から送信される従来コマンドやＸＭＬコマンドを受信する。従来コマンドやＸＭＬコマンドについては後述する。また、通信制御部１１１は、クライアント１２０との間で通信をおこなうことにより、たとえば、プリンタ１１０において発生したエラーなどをクライアント１２０に通知してもよい。
【００１８】
また、プリンタ１１０は、印字ヘッド制御部１１２、紙送りモータ制御部１１３、印刷制御部１１４、従来コマンド構文解析部１１５、および、ＸＭＬコマンド構文解析部１１６を備えている。プリンタ１１０は、図示を省略する印字ヘッドを備えており、印字ヘッド制御部１１２は、当該印字ヘッドを駆動制御する。印字ヘッドは、たとえば、サーマル方式による印字をおこなうサーマルヘッドによって実現することができる。サーマルヘッドは、基板上に一列に配置された複数の発熱抵抗体を備えている。印字ヘッド制御部１１２は、従来コマンドやＸＭＬコマンドに基づいて、サーマルヘッドが備える複数の発熱抵抗体を選択的に発熱させることにより感熱発色性の記録媒体（感熱紙）を発色させることによって印字をおこなう。
【００１９】
印字ヘッドは、サーマルヘッドによって実現するものに限らない。印字ヘッドは、サーマルヘッドに代えて、感圧発色性を有する記録媒体に対してワイヤーの先端を打ち当てることにより感圧方式による印字をおこなうインパクトヘッドによって実現してもよい。あるいは、印字ヘッドは、記録媒体に対してインク滴を吐出させることによって印字をおこなうインクジェットヘッドによって実現してもよい。
【００２０】
また、プリンタ１１０は、図示を省略する紙送りモータを備えており、紙送りモータ制御部１１３は、当該紙送りモータを駆動制御する。紙送りモータには図示を省略する紙送りローラが連結されており、従来コマンドやＸＭＬコマンドに基づいて紙送りモータを所定方向に回転駆動して紙送りローラを所定方向に回転させることによって、紙などの記録媒体を所定方向に搬送する。紙送りモータは、正回転方向および逆回転方向に回転可能であって、紙送りモータ制御部１１３は、紙送りモータを選択的に正回転または逆回転させることにより、記録媒体を順方向または逆方向に搬送する。
【００２１】
印刷制御部１１４は、印字ヘッド制御部１１２や紙送りモータ制御部１１３を制御する。印刷制御部１１４は、印字ヘッド制御部１１２が制御する印字ヘッドと紙送りモータ制御部１１３が制御する紙送りモータとの動作の同期をとる。これにより、印字ヘッドによる印字にあわせて所定方向に紙送りをおこない、従来コマンドやＸＭＬコマンドに基づく情報を記録媒体に印字することができる。
【００２２】
この実施の形態においては、印字ヘッド制御部１１２が制御する各部、および、紙送りモータおよび紙送りモータ制御部１１３によって、この発明にかかる印刷機構を実現することができる。また、この実施の形態においては、印字ヘッド制御部１１２や紙送りモータ制御部１１３を制御する印刷制御部１１４によって、この発明にかかる印刷制御手段を実現することができる。
【００２３】
印刷制御部１１４は、従来コマンド構文解析部１１５およびＸＭＬコマンド構文解析部１１６によって制御される。印刷制御部１１４は、従来コマンド構文解析部１１５による印刷制御部１１４の制御、および、ＸＭＬコマンド構文解析部１１６による印刷制御部１１４の制御のいずれか一方を選択的に受け付けるために、印刷制御部１１４と、従来コマンド構文解析部１１５およびＸＭＬコマンド構文解析部１１６のいずれか一方の構文解析部と、を選択的に接続するように接続状態を切り替えるスイッチ１１７を備えている。
【００２４】
スイッチ１１７は、待機状態である「制御開始可能」と、「制御中」と、の２つの状態を取りうる。スイッチ１１７は、「制御開始可能」状態である場合に、従来コマンド構文解析部１１５およびＸＭＬコマンド構文解析部１１６からの制御開始指示を受け付けることができる。スイッチ１１７は、「制御開始可能」状態である場合に、従来コマンド構文解析部１１５またはＸＭＬコマンド構文解析部１１６からの制御開始指示を受け付けると、「制御中」状態に切り替わる。
【００２５】
「制御開始可能」状態であるスイッチ１１７に対して制御開始指示を出力した従来コマンド構文解析部１１５またはＸＭＬコマンド構文解析部１１６は、スイッチ１１７の制御権をもつ。スイッチ１１７は、「制御中」状態である場合は、制御権をもつ構文解析部（従来コマンド構文解析部１１５またはＸＭＬコマンド構文解析部１１６）から制御終了指示を受け付けた場合に、「制御開始可能」状態に切り替わる。これにより、スイッチ１１７は、ふたたび、従来コマンド構文解析部１１５およびＸＭＬコマンド構文解析部１１６からの制御開始指示を受け付けることができる状態に切り替わる。
【００２６】
このように、印刷制御部１１４は、「制御開始可能」状態であるスイッチ１１７に対して制御開始指示を出力した従来コマンド構文解析部１１５またはＸＭＬコマンド構文解析部１１６によって、排他的に制御することができる。このようなスイッチ１１７の排他的制御により、スイッチ１１７が「制御中」状態である場合、すなわち、制御権をもつ構文解析部（従来コマンド構文解析部１１５またはＸＭＬコマンド構文解析部１１６）によって占有されている状態の印刷制御部１１４は、当該制御権をもつ構文解析部から制御終了指示を受け付けるまで、あらたな制御開始指示を受け付けない。この実施の形態においては、スイッチ１１７によって、この発明にかかる切替手段が実現される。
【００２７】
（従来コマンドの解析手順）
つぎに、従来コマンドの解析手順について説明する。図２は、従来コマンドの解析手順を示す説明図である。図２において、従来コマンド構文解析部１１５は、通信制御部１１１がクライアント１２０から従来コマンドを受信した場合に、当該従来コマンドを解析する。
【００２８】
従来コマンドは、印刷動作にかかる各種の処理や印刷動作完了後の後処理など、印刷制御部１１４の制御にかかる一連のコマンドを含んでおり、各プリンタの製造者などによって開発されたプリンタ専用の記述言語によって記述されている。具体的に、従来コマンドは、通信制御部１１１による通信の開始を指示する通信開始指示（コマンド）と、当該通信開始指示によって開始された通信の終了を指示する通信終了指示（コマンド）と、印刷機構の印刷動作に関する印刷指示（コマンド）と、を含んでいる。
【００２９】
プリンタ１１０において、従来コマンドにおける通信開始指示と印刷指示と通信終了指示とは、一連のシーケンスとして処理される。このため、従来コマンドを受信している間、通信制御部１１１は、従来コマンドの受信に占有され、従来コマンド構文解析部１１５は、従来コマンドを一連のシーケンスとして処理する。この実施の形態においては、従来コマンドによって、この発明にかかる一連のコマンドを含む印刷要求が実現される。
【００３０】
通信制御部１１１は、従来コマンドを受信すると、当該従来コマンドに含まれる通信開始指示に基づいて制御開始指示を生成し、生成した制御開始指示を、従来コマンド構文解析部１１５を介して印刷制御部１１４に出力する。制御開始指示は、スイッチ１１７が「制御開始可能」状態である場合に、当該スイッチ１１７を介して印刷制御部１１４に受け付けられる。これにより、スイッチ１１７が「制御開始可能」状態から「制御中」状態に切り替わり、従来コマンド構文解析部１１５が印刷制御部１１４の制御権をもち、印刷制御部１１４を制御することができる。従来コマンド構文解析部１１５は、制御開始指示を出力した時点においてスイッチ１１７が「制御中」状態である場合、生成した各種の指示を所定のメモリにスプールしてもよい。
【００３１】
つぎに、通信制御部１１１は、従来コマンドに含まれる印刷指示に基づくコマンドを従来コマンド構文解析部１１５に送信する。従来コマンドに含まれる印刷指示は、印刷出力する出力内容（文字や図形など）を示す印刷データと、当該印刷データの印刷出力を指示するコマンドと、を含んでいる。
【００３２】
印刷データは、具体的には、たとえば、小売店において買い物をした顧客に対して当該小売店から発行するレシートを最終的な印刷結果とする場合、当該レシートに印刷される「店舗のロゴ」、「店舗の所在地、連絡先（代表電話番号など）」および「取引内容（購入品名、単価・小計額・預かり金額・釣り銭額などの金額明細）」などのように、当該レシートに印刷されるすべての文字や画像によって実現される。
【００３３】
従来コマンドにおいて、印刷指示は、先入れ先出し（ＦＩＦＯ：Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）の形態で構成されている。従来コマンド構文解析部１１５は、印刷指示を一旦キューに格納した後、当該印刷指示の末尾に記述されるコマンドに基づいて、ラスター画像（画素を縦横に配列したビットマップ画像）に変換し、変換により得られたラスター画像と当該ラスター画像の印刷出力を指示するコマンドとを含む印刷指示を生成し、生成した印刷指示を印刷制御部１１４に対して送信する。
【００３４】
これにより、従来コマンド構文解析部１１５による従来コマンドの解析が実現される。具体的には、従来コマンド構文解析部１１５は、たとえば、ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）により実現することができる。ＲＩＰは、専用のハードウエア回路によって実現してもよく、ソフトウエア（ソフトウエアＲＩＰ）によって実現してもよい。
【００３５】
印刷制御部１１４は、従来コマンド構文解析部１１５から送信された印刷指示に基づいて印字ヘッド制御部１１２や紙送りモータ制御部１１３を制御し、当該印刷指示に含まれるラスター画像を記録媒体に印刷する印刷動作をおこなう。具体的には、印刷制御部１１４は、印字ヘッド制御部１１２が制御する印字ヘッドと紙送りモータ制御部１１３が制御する紙送りモータとの動作の同期をとりながら印字ヘッド制御部１１２や紙送りモータ制御部１１３を制御することにより、印字ヘッドによる印字にあわせて所定方向に紙送りをおこない、印刷指示に含まれるラスター画像を記録媒体に印刷する印刷動作をおこなう。
【００３６】
その後、通信制御部１１１は、従来コマンドに含まれる通信終了指示に基づいて制御終了指示を生成し、生成した制御終了指示を、従来コマンド構文解析部１１５を介して印刷制御部１１４に出力する。これにより、スイッチ１１７が「制御中」状態から「制御開始可能」状態に切り替わり、従来コマンド構文解析部１１５がもつ印刷制御部１１４の制御権がなくなる。
【００３７】
（ＸＭＬコマンドの解析手順）
つぎに、ＸＭＬコマンドの解析手順について説明する。図３は、ＸＭＬコマンドの解析手順を示す説明図である。図３において、通信制御部１１１がクライアント１２０からＸＭＬコマンドを受信した場合、ＸＭＬコマンド構文解析部１１６は当該ＸＭＬコマンドを解析する。
【００３８】
ＸＭＬコマンドは最終的な印刷結果を得るためのクライアント１２０からプリンタ１１０への要求であって、１つの印刷結果はプリンタ１１０において複数のＸＭＬコマンドを実行することによって得られる。複数のＸＭＬコマンドは、それぞれ、クライアント１２０から受信した要求に応じた印刷の開始を要求する印刷要求開始、当該印刷要求開始に応じて開始された印刷の終了を要求する印刷要求終了、または、印刷機構による印刷動作を要求する印刷要求のいずれかを示す。クライアント１２０は、１つの印刷結果を得るための複数のＸＭＬコマンドを、印刷要求開始を示すＸＭＬコマンド、印刷要求を示すＸＭＬコマンド、印刷要求終了を示すＸＭＬコマンドの順に送信する。
【００３９】
ＸＭＬコマンドは、印刷制御部１１４の制御に関するコマンドを含む所定の構造化形式のデータ、すなわち、構造化文書によって構成されている。具体的には、ＸＭＬコマンドは、たとえば、印刷要求開始、印刷要求終了、印刷要求を、ＨＴＴＰのプロトコルにしたがって記述したＸＭＬデータ（ＸＭＬ文書）によって構成することができる。このプロトコルは、ＨＴＴＰに限るものではない。プロトコルは、ＨＴＴＰに代えて、ＸＭＬデータを伝送することができる公知の各種のプロトコル(ソケット通信など)や伝送路(ＵＳＢなど)を用いることができる。
【００４０】
ＸＭＬデータ（ＸＭＬ文書）によって構成された、印刷要求開始を示すＸＭＬコマンドは、ＸＭＬコマンド構文解析部１１６から印刷制御部１１４に対して印刷の開始を要求するコマンドを実現する。ＸＭＬデータ（ＸＭＬ文書）によって構成された、印刷要求終了を示すＸＭＬコマンドは、ＸＭＬコマンド構文解析部１１６から印刷制御部１１４に対して印刷の終了を要求するコマンドを実現する。ＸＭＬデータ（ＸＭＬ文書）によって構成された、印刷要求を示すＸＭＬコマンドは、印刷出力する出力内容を示す文字や図形に関する情報や、文字や図形の位置に関する情報などを含んでおり、これらの情報に基づく印刷動作の実行を要求するコマンドを実現する。
【００４１】
１つの印刷結果を得るための印刷要求は、１つに限るものではなく、１つの印刷結果に要求される最終的な出力内容を複数に分割することにより得られる断片的な出力内容のそれぞれを示すプリントデータや、プリントデータが示す断片的な出力内容のそれぞれの記録媒体への印刷を指示するコマンドによって構成される、複数の印刷要求であってもよい。
【００４２】
具体的には、たとえば、小売店において買い物をした顧客に対して当該小売店から発行するレシートを１つの印刷結果として得る場合、当該レシートに印刷される「店舗のロゴ」、「店舗の所在地、連絡先（代表電話番号など）」、「取引内容（購入品名、単価・小計額・預かり金額・釣り銭額などの金額明細）」などのそれぞれを、断片的な出力内容とすることができる。
【００４３】
この場合、上記のレシートを発行するために、プリンタ１１０は、「店舗のロゴ」を示すプリントデータと当該プリントデータが示す「店舗のロゴ」の記録媒体への印刷を指示するコマンドとによって構成される印刷要求、「店舗の所在地、連絡先」を示すプリントデータと当該プリントデータが示す「店舗の所在地、連絡先」の記録媒体への印刷を指示するコマンドとによって構成される印刷要求、「取引内容」を示すプリントデータと当該プリントデータが示す「取引内容」の記録媒体への印刷を指示するコマンドとによって構成される印刷要求の３つの印刷要求のそれぞれを含む３つのＸＭＬコマンドをクライアント１２０から受信する。
【００４４】
ＸＭＬコマンド構文解析部１１６は、通信制御部１１１が受信したＸＭＬ形式のＸＭＬコマンドを読み込み、読み込んだＸＭＬコマンドがＸＭＬの文法規則に合致しているか否かをチェックする。ＸＭＬコマンド構文解析部１１６は、チェックをおこなった結果、ＸＭＬの文法規則に合致していると判断したＸＭＬコマンドに基づいて、印刷制御部１１４を制御する。ＸＭＬコマンド構文解析部１１６は、さらに、厳密なチェックとして、そのＸＭＬコマンドのデータ構造を規定するＤＴＤファイルなどを参照して、データ構造の検証をおこなってもよい。
【００４５】
上述したように、ＸＭＬコマンドは、「印刷要求開始を示すＸＭＬコマンド」、「印刷要求を示すＸＭＬコマンド」、「印刷要求終了を示すＸＭＬコマンド」の順番で順次送信される。このため、ＸＭＬコマンド構文解析部１１６は、通信制御部１１１が印刷要求開始を示すＸＭＬコマンドを受信すると、当該印刷要求開始に基づいて制御開始指示を生成し、生成した制御開始指示を印刷制御部１１４に対して出力する。この実施の形態においては、印刷要求開始に基づく制御開始指示によって、この発明にかかる印刷の開始を要求するコマンドに基づく制御開始指示が実現される。
【００４６】
この制御開始指示は、スイッチ１１７が「制御開始可能」状態である場合に、当該スイッチ１１７を介して印刷制御部１１４に受け付けられる。これにより、スイッチ１１７が「制御開始可能」状態から「制御中」状態に切り替わり、ＸＭＬコマンド構文解析部１１６が印刷制御部１１４の制御権をもつ。ＸＭＬコマンド構文解析部１１６は、制御開始指示を出力した時点においてスイッチ１１７が「制御中」状態である場合、ＸＭＬコマンドまたは当該ＸＭＬコマンドの解析結果を、所定のメモリにスプールしてもよい。また、前記スプールしたコマンドについては、スイッチ１１７が「制御開始可能」状態になったタイミングで、制御を開始してもよい。
【００４７】
つぎに、ＸＭＬコマンド構文解析部１１６は、印刷要求を示すＸＭＬコマンドに基づいて、当該ＸＭＬコマンドに含まれるプリントデータが示す断片的な出力内容の印刷出力を指示する印刷指示を生成する。印刷要求を示すＸＭＬコマンドが複数存在する場合、ＸＭＬコマンド構文解析部１１６は、各ＸＭＬコマンドに含まれるプリントデータが示す断片的な出力内容の印刷出力を指示する印刷指示を生成する。
【００４８】
ＸＭＬコマンド構文解析部１１６は、ＸＭＬ形式によって記述されているプリントデータが示す文字や図形をラスター画像に変換し、変換により得られたラスター画像と当該ラスター画像の印刷出力を指示するコマンドとを含む印刷指示を生成する。これにより、ＸＭＬコマンド構文解析部１１６によるＸＭＬコマンドの解析が実現される。
【００４９】
印刷要求を示すＸＭＬコマンドが複数存在する場合、ＸＭＬコマンド構文解析部１１６は、各印刷要求を受信するごとに、当該印刷要求に基づいて指示を生成する。ＸＭＬコマンド構文解析部１１６は、印刷要求終了を示すＸＭＬコマンドを受信するまで、印刷要求を示すＸＭＬコマンドを受信するごとに、印刷指示を生成する。そして、ＸＭＬコマンド構文解析部１１６は、印刷指示を生成するごとに、生成した印刷指示を印刷制御部１１４に対して送信する。
【００５０】
印刷制御部１１４は、ＸＭＬコマンド構文解析部１１６から送信された印刷指示に基づいて印字ヘッド制御部１１２や紙送りモータ制御部１１３を制御し、当該印刷指示に含まれるラスター画像を記録媒体に印刷する印刷動作をおこなう。
【００５１】
その後、ＸＭＬコマンド構文解析部１１６は、通信制御部１１１が印刷要求終了を示すＸＭＬコマンドを受信すると、当該印刷要求終了に基づいて制御終了指示を生成し、生成した制御終了指示を印刷制御部１１４に対して出力する。この実施の形態においては、印刷要求終了に基づいて制御終了指示によって、この発明にかかる印刷の終了を要求するコマンドに基づく制御終了指示が実現される。これにより、スイッチ１１７が「制御中」状態から「制御開始可能」状態に切り替わり、ＸＭＬコマンド構文解析部１１６がもつ印刷制御部１１４の制御権がなくなる。
【００５２】
プリンタ１１０においては、クライアント１２０から送信された情報を受信すると、受信した情報の解析を従来コマンド構文解析部１１５およびＸＭＬコマンド構文解析部１１６の双方においておこなう。そして、正常に解析がおこなわれた構文解析部（従来コマンド構文解析部１１５またはＸＭＬコマンド構文解析部１１６）から印刷制御部１１４に対して、制御開始指示を出力する。これにより、制御開始指示を出力した構文解析部が印刷制御部１１４の制御権をもつ。
【００５３】
（従来のプリンタの一例）
つぎに、従来のプリンタの一例について説明する。図４は、従来のプリンタを備えた従来の印刷システムのシステム構成を示す説明図である。図４において、従来の印刷システムは、従来のプリンタ４１０と、プリンタ４１０に対して各種の要求を出力するクライアント４２０と、によって構成される。
【００５４】
クライアント４２０は、印刷プログラムを記憶する記憶装置４２１と、印刷プログラムの実行にしたがってプリンタ４１０との間で通信をおこなう通信制御部４２２と、を備えている。プリンタ４１０は、クライアント４２０との間で通信をおこなう通信制御部４１１、クライアント４２０から送信される従来コマンドを解析する従来コマンド構文解析部４１２、クライアント４２０から送信されるＸＭＬデータを解析するＸＭＬコマンド構文解析部４１３、および、プリンタ４１０が備える各部を制御するプリンタ制御部４１４を備えている。
【００５５】
従来コマンド構文解析部４１２およびＸＭＬコマンド構文解析部４１３は、それぞれ、プリンタ制御部４１４を制御する。従来コマンド構文解析部４１２は、クライアント４２０から送信される従来コマンドに基づいてプリンタ制御部４１４を制御する間、当該プリンタ制御部４１４を一時的に占用する。ＸＭＬコマンド構文解析部４１３は、クライアント４２０から送信されるＸＭＬデータに基づいてプリンタ制御部４１４を制御する間、当該プリンタ制御部４１４を一時的に占用する。
【００５６】
図５は、従来のプリンタ４１０によるＸＭＬデータの解析手順を示す説明図である。図５において、ＸＭＬコマンド構文解析部４１３によるプリンタ制御部４１４の一時的な占用は、クライアント４２０から受信したＸＭＬデータ単位でおこなわれる。ＸＭＬコマンド構文解析部４１３は、１つの印刷結果を得るために、複数のＸＭＬデータに基づいてプリンタ制御部４１４を制御する場合がある。
【００５７】
この場合、ＸＭＬコマンド構文解析部４１３は、プリンタ制御部４１４に対して、ＸＭＬデータごとに、印刷動作に先立って制御開始指示を出力し、印刷動作の完了後に制御終了指示を出力する。プリンタ制御部４１４は、制御開始指示を受け付けた場合にＸＭＬコマンド構文解析部４１３によって占用され、制御終了指示を受け付けた場合にＸＭＬコマンド構文解析部４１３による占用から解放される。このように、従来のプリンタ４１０においては、ＸＭＬデータ単位でプリンタ制御部４１４の占用と解放とが繰り返される。
【００５８】
図６は、従来のプリンタ４１０における問題点を示す説明図である。上述したように、プリンタ制御部４１４は、制御開始指示を受け付けた場合にＸＭＬコマンド構文解析部４１３によって占用され、制御終了指示を受け付けた場合にＸＭＬコマンド構文解析部４１３による占用から解放される。このため、ＸＭＬコマンド構文解析部４１３によるプリンタ制御部４１４の制御によって１つの（一連の）印刷結果を得るために、複数のＸＭＬデータに基づいてプリンタ制御部４１４を制御する場合、図６に示すように、先に受信したＸＭＬデータに基づくプリンタ制御部４１４の制御が完了してから（ＵＮＬＯＣＫ状態になってから）、後にＸＭＬデータを受信するまでに、先に受信したＸＭＬデータと後に受信するＸＭＬデータとの間に、従来コマンドが割り込むことが想定される。
【００５９】
従来コマンドが割り込むと、ＸＭＬデータを送信したクライアント４２０側では一連の印刷物として得たい印刷物の間に、従来コマンドに基づく印刷物が挿入されてしまう。このため、本来目的としていた態様での印刷物が得られなくなってしまう。
【００６０】
（プリンタ１１０の処理手順）
つぎに、プリンタ１１０の処理手順の一例について説明する。図７は、プリンタ１１０の処理手順の一例を示すフローチャートである。図７のフローチャートにおいて、まず、通信制御部１１１において、従来コマンドを受信したか否かを判断する（ステップＳ７０１）。ステップＳ７０１において、従来コマンドを受信した場合（ステップＳ７０１：Ｙｅｓ）、従来コマンド構文解析部１１５において、受信した従来コマンドの構文を解析する（ステップＳ７０２）。
【００６１】
つぎに、ステップＳ７０２における解析結果に基づいて、通信制御部１１１から従来コマンド構文解析部１１５を介して、印刷制御部１１４に対して制御開始指示を出力する（ステップＳ７０３）。ステップＳ７０３においては、ステップＳ７０２における解析結果に基づいて、従来コマンドに含まれる通信開始指示に基づく制御開始指示を生成し、生成した制御開始指示を通信制御部１１１から従来コマンド構文解析部１１５を介して、印刷制御部１１４に対して出力する。これにより、従来コマンド構文解析部１１５が印刷制御部１１４の制御権をもつ。
【００６２】
つぎに、ステップＳ７０２における解析結果に基づいて、従来コマンド構文解析部１１５から印刷制御部１１４に対して印刷指示を出力する（ステップＳ７０４）。ステップＳ７０４において、従来コマンド構文解析部１１５から出力された印刷指示を受け付けた印刷制御部１１４は、当該印刷指示に基づいて印字ヘッド制御部１１２や紙送りモータ制御部１１３を制御し、当該印刷指示に含まれるラスター画像を記録媒体に印刷する印刷動作をおこなう。
【００６３】
つぎに、印刷指示の出力を完了したか否かを判断する（ステップＳ７０５）。ステップＳ７０５においては、従来コマンドに含まれる複数の印刷指示における印刷データがそれぞれ示す文字や図形のラスター画像を、すべて印刷したか否かを判断する。ステップＳ７０５において、印刷指示の出力を完了していない場合（ステップＳ７０５：Ｎｏ）、ステップＳ７０４へ戻り、ステップＳ７０２における解析結果に基づいて、従来コマンド構文解析部１１５から印刷制御部１１４に対して、まだ出力していない印刷データを含む印刷指示を出力する。
【００６４】
一方、ステップＳ７０５において、印刷指示の出力を完了した場合（ステップＳ７０５：Ｙｅｓ）、ステップＳ７０２における解析結果に基づいて、通信制御部１１１から従来コマンド構文解析部１１５を介して、印刷制御部１１４に対して制御終了指示を出力して（ステップＳ７０６）、一連の処理を終了する。ステップＳ７０６においては、ステップＳ７０２における解析結果に基づいて、従来コマンドに含まれる通信終了指示に基づく制御終了指示を生成し、生成した制御終了指示を通信制御部１１１から従来コマンド構文解析部１１５を介して、印刷制御部１１４に対して出力する。これにより、スイッチ１１７が「制御中」状態から「制御開始可能」状態に切り替わり、従来コマンド構文解析部１１５がもつ印刷制御部１１４の制御権がなくなって、印刷制御部１１４は、従来コマンド構文解析部１１５またはＸＭＬコマンド構文解析部１１６による制御を待機する。
【００６５】
ステップＳ７０１において、従来コマンドを受信していない場合（ステップＳ７０１：Ｎｏ）、ＸＭＬコマンドを受信したか否かを判断する（ステップＳ７０７）。そして、従来コマンドを受信しておらず、ＸＭＬコマンドも受信していない場合（ステップＳ７０７：Ｎｏ）、ステップＳ７０１へ戻る。
【００６６】
ステップＳ７０７において、ＸＭＬコマンドを受信した場合（ステップＳ７０７：Ｙｅｓ）、ＸＭＬコマンド構文解析部１１６において、受信したＸＭＬコマンドの構文を解析する（ステップＳ７０８）。そして、ステップＳ７０８における解析結果に基づいて、受信したＸＭＬコマンドが印刷要求終了である（印刷要求終了を示す）か否かを判断する（ステップＳ７０９）。
【００６７】
ステップＳ７０９において、ステップＳ７０７：Ｙｅｓにおいて受信したＸＭＬコマンドが印刷要求終了である場合（ステップＳ７０９：Ｙｅｓ）、ステップＳ７１６へ移行する。一方、ステップＳ７０９において、ステップＳ７０７：Ｙｅｓにおいて受信したＸＭＬコマンドが印刷要求終了ではない場合（ステップＳ７０９：Ｎｏ）、ステップＳ７０８における解析結果に基づいて、受信したＸＭＬコマンドが印刷要求開始であるか否かを判断する（ステップＳ７１０）。
【００６８】
ステップＳ７１０において、ステップＳ７０７：Ｙｅｓにおいて受信したＸＭＬコマンドが印刷要求開始である場合（ステップＳ７１０：Ｙｅｓ）、通信制御部１１１からＸＭＬコマンド構文解析部１１６を介して、印刷制御部１１４に対して制御開始指示を出力する（ステップＳ７１１）。ステップＳ７１１においては、ステップＳ７０８における解析結果に基づいて、ＸＭＬコマンドが示す印刷要求開始に基づく制御開始指示を生成し、生成した制御開始指示を、通信制御部１１１からＸＭＬコマンド構文解析部１１６を介して、印刷制御部１１４に対して出力する。これにより、ＸＭＬコマンド構文解析部１１６が印刷制御部１１４の制御権をもつ。そして、ステップＳ７１４へ移行する。
【００６９】
一方、ステップＳ７１０において、ステップＳ７０７：Ｙｅｓにおいて受信したＸＭＬコマンドが印刷要求開始ではない場合（ステップＳ７１０：Ｎｏ）、ステップＳ７０８における解析結果に基づいて、受信したＸＭＬコマンドが印刷要求であるか否かを判断する（ステップＳ７１２）。ステップＳ７１２において、ステップＳ７０７：Ｙｅｓにおいて受信したＸＭＬコマンドが、印刷要求終了ではなく、印刷要求開始でもなく、印刷要求でもない場合（ステップＳ７１２：Ｎｏ）、所定のエラー処理をおこなう。
【００７０】
所定のエラー処理は、たとえば、プリンタ１１０において、エラーの発生を示す警告音を発したり、エラーの発生を示すランプを点灯させたりする処理によって実現することができる。また、所定のエラー処理は、たとえば、ステップＳ７０７：Ｙｅｓにおいて受信したＸＭＬコマンドの送信元に対してエラーメッセージを送信する処理によって実現してもよい。
【００７１】
ステップＳ７１２において、ステップＳ７０７：Ｙｅｓにおいて受信したＸＭＬコマンドが印刷要求である場合（ステップＳ７１２：Ｙｅｓ）、ステップＳ７０８における解析結果に基づいて、ＸＭＬコマンド構文解析部１１６から印刷制御部１１４に対して印刷指示を出力して（ステップＳ７１３）、ステップＳ７１４へ移行する。ステップＳ７１３において、ＸＭＬコマンド構文解析部１１６から出力された印刷指示を受け付けた印刷制御部１１４は、当該印刷指示に基づいて印字ヘッド制御部１１２や紙送りモータ制御部１１３を制御し、当該印刷指示に含まれるラスター画像を記録媒体に印刷する印刷動作をおこなう。
【００７２】
ステップＳ７１４においては、ＸＭＬコマンドを受信したか否かを判断し（ステップＳ７１４）、ＸＭＬコマンドを受信した場合（ステップＳ７１４：Ｙｅｓ）、ステップＳ７０９へ戻る。そして、ステップＳ７１４：Ｙｅｓにおいて受信したＸＭＬコマンドが、印刷要求終了であるか否かを判断する。
【００７３】
一方、ステップＳ７１４において、ＸＭＬコマンドを受信していない場合（ステップＳ７１４：Ｎｏ）、印刷制御部１１４に対して、プリンタ１１０において最後に受信したＸＭＬコマンドに基づく指示を出力してから所定時間が経過したか否かを判断する（ステップＳ７１５）。所定時間は、プリンタ１１０の設計者などによって任意に設定される時間であって、たとえば、「１秒」とすることができる。ステップＳ４１４においては、たとえば、印刷制御部１１４に対して、最後に受信したＸＭＬコマンドに基づく指示（制御開始指示、制御終了指示あるいは印刷指示）を出力してから、１秒が経過したか否かを判断する。
【００７４】
ステップＳ７１５において、所定時間が経過していない場合（ステップＳ７１５：Ｎｏ）、ステップＳ７１４へ戻り、ＸＭＬコマンドを受信したか否かを判断する。一方、ステップＳ７１５において、所定時間が経過した場合（ステップＳ７１５：Ｙｅｓ）、ステップＳ７１６へ移行する。
【００７５】
ステップＳ７１６においては、ステップＳ７０８における解析結果に基づいて、通信制御部１１１からＸＭＬコマンド構文解析部１１６を介して、印刷制御部１１４に対して制御終了指示を出力して（ステップＳ７１６）、一連の処理を終了する。ステップＳ７１６においては、ステップＳ７０８における解析結果に基づいて、ＸＭＬコマンドが示す印刷要求終了に基づく制御終了指示を生成し、生成した制御開始指示を、通信制御部１１１からＸＭＬコマンド構文解析部１１６を介して、印刷制御部１１４に対して出力する。
【００７６】
これにより、スイッチ１１７が「制御中」状態から「制御開始可能」状態に切り替わり、ＸＭＬコマンド構文解析部１１６がもつ印刷制御部１１４の制御権がなくなって、印刷制御部１１４は、従来コマンド構文解析部１１５またはＸＭＬコマンド構文解析部１１６による制御を待機する。このように、印刷制御部１１４に対して、プリンタ１１０において最後に受信したＸＭＬコマンドに基づく指示を出力してから所定時間が経過した場合、すなわち、印刷制御部１１４に対して、プリンタ１１０において最後に受信したＸＭＬコマンドに基づく指示を出力した後、ＸＭＬコマンドを受信しないまま所定時間が経過した場合は、ＸＭＬコマンド構文解析部１１６による印刷制御部１１４の占用状態が強制的に解除される。
【００７７】
以上説明したように、この発明にかかる実施の形態のプリンタ１１０は、印刷制御手段を実現する印刷制御部１１４と、通信手段を実現する通信制御部１１１と、第１の解析手段を実現する従来コマンド構文解析部１１５と、第２の解析手段を実現するＸＭＬコマンド構文解析部１１６と、切替手段を実現するスイッチ１１７と、を備えている。
【００７８】
印刷制御部１１４は、記録媒体に対する印刷動作をおこなう印刷機構を制御する。通信制御部１１１は、外部装置であるクライアント１２０との間で通信をおこなう。従来コマンド構文解析部１１５は、通信制御部１１１によるクライアント１２０との通信結果に基づいて、印刷制御部１１４の制御にかかる一連のコマンドを含む印刷要求である従来コマンドを解析し、当該従来コマンドに含まれる一連のコマンドに基づいて印刷制御部１１４をシーケンス制御する。ＸＭＬコマンド構文解析部１１６は、通信制御部１１１によるクライアント１２０との通信結果に基づいて、印刷制御部１１４の制御に関するコマンドを含む所定の構造化文書を解析し、当該構造化文書に含まれるコマンドに基づいて前記印刷制御手段を制御する。
【００７９】
スイッチ１１７は、印刷制御部１１４において、従来コマンド構文解析部１１５およびＸＭＬコマンド構文解析部１１６による制御を待機する待機状態である「制御開始可能」状態と、従来コマンド構文解析部１１５およびＸＭＬコマンド構文解析部１１６のいずれか一方による制御を受け付ける「制御中」状態と、を選択的に切り替える。また、スイッチ１１７は、「制御開始可能」状態において、ＸＭＬコマンド構文解析部１１６から印刷の開始を要求するコマンドに基づく制御開始指示が出力された場合、ＸＭＬコマンド構文解析部１１６と印刷制御部１１４とを接続する「制御中」状態に切り替える。一方、スイッチ１１７は、「制御中」状態において、ＸＭＬコマンド構文解析部１１６から印刷の終了を要求するコマンドに基づく制御終了指示が出力された場合、ＸＭＬコマンド構文解析部１１６と印刷制御部１１４との接続を解放し待機状態に切り替える。
【００８０】
この発明にかかる実施の形態のプリンタ１１０によれば、ＸＭＬコマンドに基づく印刷動作を可能とすることにより、たとえば、レシートを印刷する場合に、「ショップロゴ」、「金額明細」、「クーポン券」などの任意の単位で印刷を指示することができる。これにより、印刷内容の一部に変更がある場合、該当するＸＭＬコマンドを変更するだけでよく、複数のクライアント１２０が接続されることによって構築される印刷システム１００の構築や管理の容易化を図ることができる。
【００８１】
また、この発明にかかる実施の形態のプリンタ１１０によれば、ＸＭＬコマンドに基づく制御開始指示に基づいて印刷を開始した場合は、印刷制御部１１４に対して印刷の終了を要求する制御終了指示が発行されるまでの間、ＸＭＬコマンド構文解析部１１６によって印刷制御部１１４を占用することができるので、たとえば、それぞれが「ショップロゴ」、「金額明細」、「クーポン券」などを示す複数のＸＭＬコマンドに基づいて１枚のレシートを印刷する途中で、他のクライアント１２０から送信された印刷要求に基づく印刷が割り込むことを防止し、所望する印刷物を得ることができる。
【００８２】
このように、この発明にかかる実施の形態のプリンタ１１０によれば、従来コマンドに基づくシーケンス制御による印刷態様とＸＭＬコマンドに含まれるコマンドに基づく制御に基づく印刷態様との複数の印刷態様を備えることによりプリンタ１１０の汎用性の向上を図るとともに、ＸＭＬコマンドに含まれるコマンドに基づく制御に基づく印刷態様を実現することによる意図しない割り込みが発生することを防止し、所望する印刷物を得ることができる。
【００８３】
具体的には、たとえば、弁当の製造および販売をおこなう店舗において、顧客から注文を受け付けた弁当を、会計時にレシートとともに発行する引換券に印刷した順番待ちの番号（受付番号）によって区別する運用をおこなっている場合、レシートの印刷と引換券の印刷との間に、別のレシートや引換券の印刷が割り込んでしまうと、レシートと、当該レシートに続けて発行される引換券と、が同一の注文にかかるものではなくなってしまう。
【００８４】
このような場合、レシートと引換券との対応付けが困難になり、顧客が注文して支払いをおこなった弁当と、当該顧客に渡された引換券に印刷された受付番号によって識別される弁当と、が異なってしまうなどの混乱を生じ、店舗の信用が低下してしまう。このような不具合を防止するために、レシートと引換券との対応関係を確認する作業や、製造した弁当を顧客に渡す際に当該弁当の内容を顧客とともに確認する作業をおこなうと、顧客に対して弁当を迅速に提供することができなくなり、顧客に不満を与えたり、売り上げを伸ばすことができなくなってしまう。
【００８５】
一方で、同一の注文にかかるレシートと引換券と切れ目のない一続きのシートとして発行すると、店員がレシートと引換券とを切り離す作業をおこなわなくてはならず、顧客に対して弁当を迅速に提供することができなくなり、顧客に不満を与えたり、売り上げを伸ばすことができなくなってしまう。
【００８６】
これに対し、この発明にかかる実施の形態のプリンタ１１０によれば、制御開始指示を発行してから制御終了指示を発行するまでの間、ＸＭＬコマンド構文解析部１１６によって印刷制御部１１４を占用（独占）することができるので、同一の注文にかかる、それぞれが独立したレシートと引換券とを連続して発行することができる。これにより、印刷システム１００の構築や管理の容易化を図るとともに、プリンタ１１０を使用する現場におけるプリンタ１１０の良好な使い勝手を確保することができる。
【００８７】
また、この発明にかかる実施の形態のプリンタ１１０は、スイッチ１１７が、ＸＭＬコマンド構文解析部１１６からＸＭＬコマンドに含まれるコマンドに基づく指示が出力されてから所定時間経過するまでに前記制御終了指示が出力されない場合、ＸＭＬコマンド構文解析部１１６と印刷制御部１１４との接続を解放し待機状態に切り替えるようにしたことを特徴としている。
【００８８】
この発明にかかる実施の形態のプリンタ１１０によれば、クライアント１２０からＸＭＬコマンドを受信しない状態が所定時間継続した場合は、ＸＭＬコマンド構文解析部１１６の制御権を強制的に解放し「制御開始可能」状態に切り替えることにより、ＸＭＬコマンド構文解析部１１６で障害が発生した場合、ＸＭＬコマンド構文解析部１１６の制御権にかかるクライアント１２０との間における通信障害が生じた場合、意図せずにクライアント１２０の電源が遮断された場合などに、以降の印刷ができなくなることを防止できる。
【産業上の利用可能性】
【００８９】
以上のように、この発明にかかるプリンタは、複数のクライアントが接続されることによって構築される印刷システムに用いられるプリンタに有用であり、特に、プリンタに対してＸＭＬ構造化文書にしたがったコマンドを送信する複数のクライアントが接続されることによって構築される印刷システムに用いられるプリンタに適している。
【符号の説明】
【００９０】
１００  印刷システム
１１０  プリンタ
１１１  通信制御部
１１２  印字ヘッド制御部
１１３  紙送りモータ制御部
１１４  印刷制御部
１１５  従来コマンド構文解析部
１１６  ＸＭＬコマンド構文解析部
１１７  スイッチ
１２０  クライアント
１２１  記憶装置
１２２  プログラム実行装置
１２３  通信制御部
【図１】
0006587146.tif 000002
【図２】
0006587146.tif 000003
【図３】
0006587146.tif 000004
【図４】
0006587146.tif 000005
【図５】
0006587146.tif 000006
【図６】
0006587146.tif 000007
【図７】
0006587146.tif 000008