JP2013210885A - Print control unit, print system, and print control method - Google Patents
Print control unit, print system, and print control method Download PDFInfo
- Publication number
- JP2013210885A JP2013210885A JP2012081321A JP2012081321A JP2013210885A JP 2013210885 A JP2013210885 A JP 2013210885A JP 2012081321 A JP2012081321 A JP 2012081321A JP 2012081321 A JP2012081321 A JP 2012081321A JP 2013210885 A JP2013210885 A JP 2013210885A
- Authority
- JP
- Japan
- Prior art keywords
- command
- printing
- host
- print data
- 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.)
- Granted
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
本発明は、1:1接続が前提の印刷制御コマンドで印刷装置を制御する印刷制御装置、印刷システムおよび印刷制御方法に関する。 The present invention relates to a printing control apparatus, a printing system, and a printing control method for controlling a printing apparatus with a printing control command based on a 1: 1 connection.
従来、POS(Point Of Sales)端末により印刷装置(レシートプリンター)などの周辺機器を制御するためのコマンドとして、事実上の業界標準となっているESC/POS(登録商標)コマンドが知られている(例えば、特許文献1)。 Conventionally, an ESC / POS (registered trademark) command, which is a de facto industry standard, is known as a command for controlling peripheral devices such as a printing apparatus (receipt printer) from a POS (Point Of Sales) terminal. (For example, patent document 1).
ところで、ESC/POS(登録商標)コマンドは、POS端末と印刷装置が1:1で接続されていることが前提となっている。このため、ネットワーク接続により、POS端末と印刷装置が多:1または多:多の構成となった場合に不具合が生じる。例えば、現在の印刷が異常終了でクローズすると、その印刷装置が初期化されないため、続く他のPOS端末からの印刷指令を正常に処理することができない。また、POS端末から印刷装置の設定変更を行なった場合も、印刷装置に設定値が残ったままの状態となるため、続く他のPOS端末からの印刷指令を正常に処理することができない。 By the way, the ESC / POS (registered trademark) command is based on the assumption that the POS terminal and the printing apparatus are connected in a 1: 1 ratio. For this reason, a problem occurs when the POS terminal and the printing apparatus have a multi: 1 or multi: multi configuration due to network connection. For example, if the current printing is closed due to an abnormal end, the printing apparatus is not initialized, and the subsequent print command from another POS terminal cannot be processed normally. In addition, when the setting of the printing apparatus is changed from the POS terminal, the setting value remains in the printing apparatus, so that subsequent printing commands from other POS terminals cannot be processed normally.
本発明は、上記の問題点に鑑み、ホストと印刷装置が多:1または多:多の構成でも、1:1接続が前提となる印刷制御コマンドを用いて印刷装置を制御可能な印刷制御装置、印刷システムおよび印刷制御方法を提供することを課題とする。 SUMMARY OF THE INVENTION In view of the above problems, the present invention provides a print control apparatus capable of controlling a printing apparatus using a print control command that assumes a 1: 1 connection even when the host and the printing apparatus have a multi: 1 or multi: multi configuration. It is an object of the present invention to provide a printing system and a printing control method.
本発明の印刷制御装置は、ホストから、マークアップ言語で記述された印刷データを受信する印刷データ受信部と、印刷データの前に、初期化コマンドを付加して印刷指示コマンドを生成するコマンド生成部と、印刷指示コマンドを、印刷装置に送信するコマンド送信部と、を備えたことを特徴とする。 The print control apparatus of the present invention includes a print data receiving unit that receives print data described in a markup language from a host, and a command generation that generates a print instruction command by adding an initialization command before the print data. And a command transmission unit that transmits a print instruction command to the printing apparatus.
本発明の印刷制御方法は、印刷制御装置が、ホストからマークアップ言語で記述された印刷データを受信し、印刷データの前に、初期化コマンドを付加して印刷指示コマンドを生成し、印刷指示コマンドを、印刷装置に送信することを特徴とする。 According to the print control method of the present invention, a print control apparatus receives print data described in a markup language from a host, adds an initialization command before the print data, generates a print instruction command, and generates a print instruction. The command is transmitted to the printing apparatus.
これらの構成によれば、ホストから送信された印刷データの前に初期化コマンドを付加して印刷指示コマンドを生成し、これを印刷装置に送信するため、ESC/POS(登録商標)コマンドなど、1:1接続が前提となる印刷制御コマンドを用いて印刷装置を制御することができる。例えば、ホストaからの印刷指令に基づく前回の印刷が正常終了していない場合でも、続くホストbからの印刷データの前に初期化コマンドを付加するため、当該コマンド列を正常に処理させることができる。また、ホストaからの指令により印刷装置の設定変更が行なわれていた場合も、同じくホストbからの印刷データの前に初期化コマンドを付加して初期化状態に戻すため、続くホストbからの印刷データを正常に解釈させることができる。このように、従来のコマンド体系を維持しつつ、既存の印刷装置を複数のホストに対応させることができる。また、ホストは、互換性の高いマークアップ言語(XML、HTML、XHTMLなど)で印刷データを記述するため、ホストのプラットフォームを問わない。例えば、各種タブレット端末や組み込み機器など、ドライバーレスのプラットフォームで動作するホストを用いることができる。
上記の印刷制御装置において、コマンド生成部は、印刷データの後に、印刷装置の状態を取得する状態取得コマンドを付加して印刷指示コマンドを生成し、印刷装置から、印刷指示コマンドに対する応答を取得する応答取得部と、応答に基づく印刷結果を、ホストに返信する応答返信部と、を備えたことを特徴とする。
According to these configurations, an initialization command is added in front of print data transmitted from the host to generate a print instruction command, and this is transmitted to the printing apparatus. Therefore, an ESC / POS (registered trademark) command, etc. The printing apparatus can be controlled using a print control command that assumes a 1: 1 connection. For example, even if the previous printing based on the print command from the host a is not normally completed, the initialization command is added before the print data from the subsequent host b, so that the command string can be processed normally. it can. Also, when the setting of the printing apparatus has been changed by a command from the host a, the initialization command is added before the print data from the host b to return to the initialization state. The print data can be interpreted normally. As described above, the existing printing apparatus can be made to correspond to a plurality of hosts while maintaining the conventional command system. In addition, since the host describes the print data in a highly compatible markup language (XML, HTML, XHTML, etc.), the host platform is not limited. For example, a host that operates on a driverless platform such as various tablet terminals and embedded devices can be used.
In the print control apparatus, the command generation unit generates a print instruction command by adding a status acquisition command for acquiring the status of the printing apparatus after the print data, and acquires a response to the print instruction command from the printing apparatus. A response acquisition unit and a response return unit that returns a print result based on the response to the host are provided.
この構成によれば、印刷装置が印刷動作を終了した後に、印刷指示コマンド(状態取得コマンド)に対する応答を返すため、ホストは、印刷装置で印刷データが正常に処理されたことを把握することができる。
なお、「印刷装置の状態」とは、印刷装置の用紙の有無、オンライン/オフライン、インク/トナー残量、バッテリー残量などのステータス情報を指す。また、「印刷結果」とは、印刷成功/印刷失敗を示す情報を指す。
なお、印刷制御装置は、ホストに対し、「印刷結果」を送信するのではなく、「印刷装置の状態」を送信しても良い。
According to this configuration, since the response to the print instruction command (status acquisition command) is returned after the printing apparatus finishes the printing operation, the host can grasp that the print data has been processed normally by the printing apparatus. it can.
The “printing device status” indicates status information such as the presence / absence of paper in the printing device, online / offline, ink / toner remaining amount, battery remaining amount, and the like. The “print result” indicates information indicating success / failure of printing.
The print control apparatus may transmit “printing apparatus status” to the host instead of transmitting “printing result”.
上記の印刷制御装置において、初期化コマンドには、印刷装置が主体となって返信するステータスを有効にする有効コマンドが含まれており、応答取得部は、印刷指示コマンドの送信から状態取得コマンドに対する応答を受信するまでの間、印刷装置から送信されるステータスを取得し、応答返信部は、印刷結果と共に、応答取得部が取得した最新のステータスを、ホストに返信することを特徴とする。 In the above print control device, the initialization command includes a valid command for validating the status returned mainly by the printing device, and the response acquisition unit responds to the status acquisition command from the transmission of the print instruction command. Until the response is received, the status transmitted from the printing apparatus is acquired, and the response reply unit returns the latest status acquired by the response acquisition unit to the host together with the print result.
この構成によれば、ホストは、印刷結果(印刷成功/印刷失敗)だけでなく、最新の印刷装置のステータス(状態)を知ることができる。
なお、本構成では、印刷装置がASB(Auto Status Back)有効コマンドを処理可能であることが前提である。また、「印刷装置が主体となって返信するステータス」とは、印刷装置の状態が変化(カバー開閉/用紙なし/印刷完了など)したときに、印刷装置から自動的に送信されるステータス情報を指す。
According to this configuration, the host can know not only the printing result (printing success / printing failure) but also the status (state) of the latest printing apparatus.
In this configuration, it is assumed that the printing apparatus can process an ASB (Auto Status Back) valid command. In addition, the “status that the printer mainly responds” is the status information automatically sent from the printer when the status of the printer changes (cover open / out of paper / printing completed, etc.). Point to.
上記の印刷制御装置において、コマンド生成部は、ホストから印刷データが送信されたとき、印刷指示コマンドの生成前に、空印刷データの後に状態取得コマンドを付加した印刷前コマンドを生成し、コマンド送信部は、印刷前コマンドを、印刷装置に送信し、応答取得部により取得した印刷前コマンドに対する応答から、印刷装置が印刷不可能な状態であると判定した場合、印刷中止処理を行う印刷中止処理部を備え、印刷中止処理には、印刷中止を印刷データの送信元となるホストに通知する処理と、印刷装置への印刷指示コマンドの送信を中止する処理が含まれることを特徴とする。 In the above print control apparatus, when print data is transmitted from the host, the command generation unit generates a pre-print command in which a status acquisition command is added after the empty print data before generating the print instruction command, and transmits the command. The printing unit transmits a pre-printing command to the printing apparatus, and determines that the printing apparatus is in a state incapable of printing from the response to the pre-printing command acquired by the response acquisition unit. The print canceling process includes a process of notifying the host that is the print data transmission stop and a process of canceling the transmission of the print instruction command to the printing apparatus.
この構成によれば、印刷実行前に、印刷装置が印刷可能であるか否かを判別することができる。これにより、印刷装置が印刷不可能な状態である場合、印刷中止処理を容易に行うことができる。また、印刷中止をホストに通知するため、ホスト側で印刷装置の状態を把握することができる。
なお、印刷装置が複数台接続されている場合であって、ホストが指定した印刷装置が存在しない場合も、印刷中止処理を行うことが好ましい。
According to this configuration, it is possible to determine whether or not the printing apparatus can print before executing printing. As a result, when the printing apparatus is in a state in which printing is not possible, the print cancellation process can be easily performed. In addition, since the printing stop is notified to the host, the host side can grasp the state of the printing apparatus.
Even when a plurality of printing apparatuses are connected and there is no printing apparatus designated by the host, it is preferable to perform the print canceling process.
上記の印刷制御装置において、ホストは、Webブラウザーを動作させるブラウザー制御部を備えると共に、印刷制御装置は、HTTPサーバーを備え、ホストは、Webブラウザーで動作するスクリプトまたはプラグインを用いて印刷データを生成し、印刷制御装置に対してHTTPによる印刷要求を行うことを特徴とする。 In the above print control apparatus, the host includes a browser control unit that operates a Web browser, the print control apparatus includes an HTTP server, and the host receives print data using a script or a plug-in that operates on the Web browser. And generating a print request by HTTP to the print control apparatus.
この構成によれば、Webブラウザーで印刷データを生成するため、本発明をクラウドコンピューティング(パブリッククラウド・プライベートクラウド)に適用できる。
なお、印刷制御装置にHTTPサーバーを備え、且つ一連の処理をWebサービスで実装することにより、ホスト環境をネイティブアプリケーションとしても良い。この構成によれば、ホストのプラットフォームを不問とすることができる。
According to this configuration, since the print data is generated by the Web browser, the present invention can be applied to cloud computing (public cloud / private cloud).
Note that the host environment may be a native application by providing the print control apparatus with an HTTP server and implementing a series of processes using a Web service. According to this configuration, the host platform can be made unquestioned.
上記の印刷制御装置において、マークアップスキーマにより、印刷データの妥当性を検証する妥当性検証部を備え、印刷中止処理部は、妥当性検証部により不正な印刷データであると判定された場合、印刷中止処理を行うことを特徴とする。 In the above print control apparatus, when the markup schema includes a validity verification unit that verifies the validity of the print data, and the print cancellation processing unit is determined as invalid print data by the validity verification unit, It is characterized by performing a print cancel process.
この構成によれば、マークアップスキーマを用いることにより、印刷データの妥当性を検証することができる。 According to this configuration, the validity of the print data can be verified by using the markup schema.
本発明の印刷システムは、マークアップ言語で記述された印刷データを送信する第1のホストと、マークアップ言語で記述された印刷データを送信する第2のホストと、第1のホストおよび第2のホストから送信された印刷データの印刷を行う印刷装置と、第1のホストおよび第2のホストから印刷データを受信する印刷データ受信部、印刷データの前に初期化コマンドを付加して印刷指示コマンドを生成するコマンド生成部、および印刷指示コマンドを印刷装置に送信するコマンド送信部を有する印刷制御装置と、を備えたことを特徴とする。 The printing system of the present invention includes a first host that transmits print data described in a markup language, a second host that transmits print data described in a markup language, a first host, and a second host Printing apparatus for printing the print data transmitted from the host, the print data receiving unit for receiving the print data from the first host and the second host, and an instruction for adding an initialization command before the print data And a print control apparatus having a command generation section for generating a command and a command transmission section for transmitting a print instruction command to the printing apparatus.
この構成によれば、ホストと印刷装置が多:1または多:多の構成でも、1:1接続が前提となる印刷制御コマンドを用いて印刷装置を制御可能な印刷システムを実現できる。 According to this configuration, it is possible to realize a printing system that can control a printing apparatus using a print control command that assumes a 1: 1 connection even when the host and the printing apparatus have a multi: 1 or multi: multi configuration.
なお、以下の構成を採用可能である。上記の印刷制御装置において、複数のホストと接続可能であり、応答返信部は、複数のホストのうち、印刷データの送信元となるホストに返信することが好ましい。この構成によれば、複数のホストのうち、印刷データの送信元となるホストだけが、その印刷データの処理結果を知ることができる。つまり、他のホストが送信した印刷データに対する印刷結果を不必要に取得することがない。
また、上記の印刷制御装置において、印刷中止処理には、印刷装置のバッファーをクリアにするためのリアルタイムコマンドであるバッファークリアコマンドを印刷装置に送信する処理が含まれることが好ましい。この構成によれば、前回の印刷が正常終了せず、印刷装置のバッファー内にコマンドが残っている場合でも、次の印刷を正常に処理させることができる。
また、上記の印刷制御装置において、複数の印刷装置と接続可能であり、ホストから送信される印刷データには、印刷対象となる印刷装置を指定する印刷装置指定情報が付加されており、コマンド送信部は、印刷指示コマンドを、印刷装置指定情報によって指定された印刷装置に送信することが好ましい。この構成によれば、印刷装置が複数台接続されているネットワーク環境下で、本発明を適用することができる。
また、上記の印刷制御装置において、接続されている各印刷装置から、各印刷装置に関する情報である印刷装置情報を取得する印刷装置情報取得部と、取得した各印刷装置の印刷装置情報を、複数のホストに通知する印刷装置情報通知部と、をさらに備え、各ホストは、通知された各印刷装置の印刷装置情報を表示し、その中から印刷対象となる印刷装置を指定することが好ましい。この構成によれば、ホストに対し、印刷装置情報の取得・通知手段と、印刷装置の指定手段を提供できる。つまり、ホストによるこれらの処理を不要とすることができる。
また、本発明の印刷装置は、上記の印刷制御装置における各部を備え、複数の印刷装置のうちの1の印刷装置として機能することを特徴とする。この構成によれば、印刷制御装置の各部を備えた印刷装置を親機とし、他の印刷装置を子機としたネットワーク環境に、本発明を適用することができる。
The following configuration can be adopted. In the above print control apparatus, it is possible to connect to a plurality of hosts, and it is preferable that the response reply unit sends a reply to a host that is a transmission source of print data among the plurality of hosts. According to this configuration, only the host that is the transmission source of the print data among the plurality of hosts can know the processing result of the print data. In other words, print results for print data transmitted by other hosts are not unnecessarily acquired.
In the above-described print control apparatus, it is preferable that the print cancellation process includes a process of transmitting a buffer clear command, which is a real-time command for clearing the buffer of the printing apparatus, to the printing apparatus. According to this configuration, even when the previous printing does not end normally and a command remains in the buffer of the printing apparatus, the next printing can be processed normally.
Further, in the above print control device, it is possible to connect to a plurality of printing devices, and printing device designation information for designating a printing device to be printed is added to the print data transmitted from the host, and a command is transmitted. The unit preferably transmits the print instruction command to the printing apparatus designated by the printing apparatus designation information. According to this configuration, the present invention can be applied in a network environment in which a plurality of printing apparatuses are connected.
Further, in the above print control device, a plurality of printing device information acquisition units that acquire printing device information that is information about each printing device from each connected printing device, and a plurality of printing device information of each acquired printing device. It is preferable that each of the hosts displays the notified printing device information of each printing device and designates a printing device to be printed from among them. According to this configuration, printing device information acquisition / notification means and printing device designation means can be provided to the host. That is, these processes by the host can be made unnecessary.
According to another aspect of the present invention, there is provided a printing apparatus including the units of the above-described print control apparatus, and functioning as one of a plurality of printing apparatuses. According to this configuration, the present invention can be applied to a network environment in which a printing apparatus including each unit of the printing control apparatus is a parent machine and another printing apparatus is a child machine.
以下、添付の図面を参照し、本発明に係る印刷システムSYについて説明する。通常、タブレット端末やスマートフォンから印刷を行う場合、端末のOSに準拠した印刷アプリケーションや印刷ドライバーを、OS毎に準備する必要がある。これに対し、本発明の印刷システムSYでは、印刷ドライバーに相当するXML(Extensible Markup Language) Webサービスプリント機能(印刷制御装置)を印刷装置に搭載しているため、OSに依存することなく印刷を行うことができる。つまり、ホスト側に、専用の印刷ドライバーをインストールすることなく、Webブラウザーを用いて印刷装置を動作させるができる。以下、XML Webサービスプリント機能を搭載した印刷装置を「インテリジェント機能付き印刷装置」と称する。これに対し、XML Webサービスプリント機能を搭載していない印刷装置を、単に「印刷装置」と称する。 Hereinafter, a printing system SY according to the present invention will be described with reference to the accompanying drawings. Usually, when printing is performed from a tablet terminal or a smartphone, it is necessary to prepare a print application and a print driver compliant with the OS of the terminal for each OS. On the other hand, in the printing system SY of the present invention, an XML (Extensible Markup Language) Web service print function (print control device) corresponding to a print driver is installed in the printing device, so that printing can be performed without depending on the OS. It can be carried out. That is, the printing apparatus can be operated using a Web browser without installing a dedicated print driver on the host side. Hereinafter, a printing apparatus equipped with the XML Web service print function is referred to as a “printing apparatus with an intelligent function”. On the other hand, a printing apparatus not equipped with the XML Web service print function is simply referred to as “printing apparatus”.
[全体構成]
図1〜図4を参照し、各実施形態の説明に先立ち、印刷システムSYの全体構成から説明する。図1は、印刷システムSYのシステム構成図である。印刷システムSYは、Webアプリケーションサーバー10と、複数台のホスト20ホストa、ホストb)と、印刷制御装置31と、複数台の印刷装置32(印刷装置A、印刷装置B)と、から成る。なお、印刷制御装置31と1台の印刷装置32(印刷装置A)は、インテリジェント機能付き印刷装置30として印刷システムSY内に組み込まれている。したがって、印刷装置Aと印刷装置Bは、親機−子機の関係となる。
[overall structure]
The overall configuration of the printing system SY will be described with reference to FIGS. FIG. 1 is a system configuration diagram of the printing system SY. The printing system SY includes a
Webアプリケーションサーバー10とホスト20は、インターネット等のネットワークを介して接続される。また、ホスト20と印刷制御装置31は、有線/無線LAN等のネットワークを介して接続される。なお、ホスト20は、例えば小売店のレジカウンターに設置されるPOS(Point Of Sales)端末である。また、インテリジェント機能付き印刷装置30および印刷装置32は、例えば会計レシートを発行するレシートプリンター、または厨房に設置されるキッチンプリンターである。
The
続いて、図2および図3を参照し、Webアプリケーションサーバー10、ホスト20およびインテリジェント機能付き印刷装置30の制御構成について説明する。図2(a)は、Webアプリケーションサーバー10の制御構成を示す図である。Webアプリケーションサーバー10は、制御部11、通信部12および記憶部13の他、一般的なコンピューターに搭載される不図示のハードウェア構成を有している。制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)等により構成される。記憶部13は、例えばHDD(Hard Disk Drive)であり、HTTPサーバー15およびWebアプリケーション16を記憶している。
Next, the control configuration of the
通信部12は、ホスト20(Webブラウザー27)と通信を行なうためのインターフェースである。このWebアプリケーションサーバー10とホスト20との通信は、HTTPサーバー15によりHTTP(Hypertext Transfer Protocol)に基づいて行なわれる。すなわち、Webアプリケーションサーバー10は、ホスト20(Webブラウザー27)からのHTTPリクエストを受け付け、このHTTPリクエストに含まれるURL(Uniform Resource Locator)に基づいて、Webアプリケーション16が提供するWebページ40(図1参照)をホスト20に送信する。
The
このWebページ40には、Webページ40自体を制御するためのページ制御スクリプト(JavaScript(登録商標))や、印刷制御を行うための印刷制御スクリプト(JavaScript(登録商標))などが組み込まれている。ホスト20は、Webブラウザー27において(Webページ40の内部で)印刷制御スクリプトを実行することにより、印刷処理を行う。
The
図2(b)は、ホスト20の制御構成を示す図である。ホスト20は、制御部21、表示部22、通信部23、記憶部24および操作部25を備えている。制御部21は、CPU等を有し、ホスト20全体を制御する。
FIG. 2B is a diagram illustrating a control configuration of the
表示部22は、Webブラウザー27上に、当該Webブラウザー27により取得(ダウンロード)したWebページ40を表示したり、Webブラウザー27の操作に伴う各種通知画面や各種設定画面を表示する。操作部25は、Webブラウザー27で表示したWebページ40において、印刷指示等の各種操作を行うために用いられる。例えば、ホスト20がPOS端末であり、Webアプリケーション16がPOSアプリケーションである場合、Webページ40として、バーコード読取結果(購入商品の商品名、単価、数量等)や、会計結果を表示する。また、ホスト20に設けられた「会計キー」の押下(操作部25の操作)により、印刷指示が行われる。なお、表示部22と操作部25は、別々のハードウェアとして構成しても良いし、タッチパネルとして一体に構成しても良い。
The
通信部23は、Webアプリケーションサーバー10および印刷制御装置31と通信を行なうためのインターフェースである。上述のとおり、ホスト20は、Webブラウザー27を用いて、Webアプリケーションサーバー10および印刷制御装置31と通信を行う。
The
記憶部24は、例えばHDDであり、Webブラウザー27を記憶している。本実施形態では、Webブラウザー27として、プラグインモジュールをサポートしない単機能ブラウザ(標準のブラウザ)を用いる。制御部21は、このWebブラウザー27により、通信部23を介してWebアプリケーションサーバー10にアクセスし、Webアプリケーション16が提供するWebページ40を取得する。
The
また、Webページ40には、上述のとおり、ページ制御スクリプトおよび印刷制御スクリプトが組み込まれている。Webブラウザー27が、Webページ40に組み込まれたページ制御スクリプトによりユーザーの印刷指示操作を受付けると、同じくWebページ40に組み込まれた印刷制御スクリプトを実行して、XML言語で記述した印刷データを生成し、印刷制御装置31に送信する。
Further, as described above, the page control script and the print control script are incorporated in the
なお、ホスト20は、Webブラウザー27が動作するコンピューターであれば良く、POS端末、タブレット端末、スマートフォンおよびパーソナルコンピューターなど、その種類を問わない。また、上述のとおりドライバーレスの構成であるため、OSの種類も問わない。したがって、異なるプラットフォーム上で動作する複数台のホスト20を、同じ印刷システムSY内で混在させることができる。
The
図3は、インテリジェント機能付き印刷装置30の制御構成を示す図である。上述のとおり、インテリジェント機能付き印刷装置30は、印刷制御装置31と印刷装置32を組み合わせたものである。また、本実施形態の印刷制御装置31は、インターフェースボードとして、印刷装置32に着脱可能に装着される。なお、印刷制御装置31を別体の制御ボックスとして、印刷装置32に外付け(接続)する構成でも良い。
FIG. 3 is a diagram illustrating a control configuration of the
印刷制御装置31は、制御部41、ボード側インターフェース42、記憶部43および通信部44を備えている。制御部41は、CPU等を有し、印刷制御装置31全体を制御する。ボード側インターフェース42は、印刷装置32(印刷装置側インターフェース55)との通信を行う。記憶部43は、例えば不揮発性メモリー(フラッシュROM等)であり、HTTPサーバー46および印刷装置リスト47を記憶している。印刷装置リスト47は、各印刷装置32の印刷装置情報57を列記したものである。印刷制御装置31は、接続されている各印刷装置32(印刷装置A、印刷装置B)と通信し、機種名、搭載文字、カラーモード、画像形式等を含む印刷装置情報57を取得して、印刷装置リスト47に格納する。
The
通信部44は、ホスト20および他の印刷装置32(印刷装置B)との通信を行うものであり、LANインターフェースおよびUSBインターフェース等のインターフェース群から成る。印刷制御装置31とホスト20(Webブラウザー27)との通信は、HTTPサーバー46によりHTTPに基づいて行われる。すなわち、ホスト20から、印刷制御装置31に一意に割り当てられたサービスエンドポイントアドレス(http://x.x.x.x/などのURL)に対して印刷データが送信されると、印刷制御装置31は当該印刷データを受信する。
The
印刷制御装置31は、受信した印刷データ(XML文書)を、印刷装置32用の印刷制御コマンド(ESC/POS(登録商標)コマンド)に変換し、各印刷装置32に送信する。印刷制御コマンドは、例えばESC(xn・・・)の形式であり、「n」によりデータ長を示している。また、サービスエンドポイントアドレスには、印刷を実行させる印刷装置32の印刷装置ID(印刷装置指定情報)も含まれている。印刷制御装置31は、当該印刷装置IDにより指定された印刷装置32を出力先として、印刷制御コマンドを送信する。なお、印刷制御装置31は、ホスト20のWebブラウザー27上で動作する印刷制御スクリプトから、クロスドメイン(クロスオリジン)通信の要求を受信した場合、これを許可する応答(XML文書)を行う。
The
印刷装置32は、制御部51、記憶部52、印刷機構53、バッファー54および印刷装置側インターフェース55を備えている。制御部51は、CPU等を有し、印刷装置32全体を制御する。記憶部52は、印刷装置情報57(印刷装置32自身の機種名、搭載文字、カラーモード、画像形式等)を記憶している。印刷機構53は、印刷ヘッド、用紙送り機構、用紙切断機構などを含み、制御部51の制御下で印刷動作を行う。なお、印刷方式は、インクジェット方式やレーザー方式など、その種類を問わない。
The
バッファー54は、受信データ(印刷制御コマンド)を一時的に格納しておくための受信バッファーである。印刷機構53は、バッファー54に格納されているデータを順次読み出して印刷を行う。印刷装置側インターフェース55は、印刷制御装置31(ボード側インターフェース42)との通信を行う。印刷装置32は、当該印刷装置側インターフェース55を介して印刷制御装置31から印刷制御コマンドを受信し、これに基づいて印刷を行う。また、その印刷結果を、印刷装置側インターフェース55を介して、印刷制御装置31に出力する。さらに、印刷装置32は、印刷制御コマンドとして状態取得コマンドが送信された場合、自装置内の状態(ステータス)を検出し、印刷制御装置31に送信する。印刷制御装置31は、これら印刷結果やステータス(コマンドレスポンス)を、XML文書に変換して、ホスト20に返信する。
The
次に、図4を参照し、印刷制御装置31の実装レイヤーについて説明する。印刷制御装置31の実装レイヤーは、下位相から、ハードウェア、OS、Webサーバー(HTTPサーバー46)、が順に積層され、さらに最上位層として、複数の印刷Webサービス(XML Webサービスプリント機能)およびデバイス登録Webアプリケーションが積層されている。
Next, a mounting layer of the
ここで、印刷Webサービスは、XML文書から印刷制御コマンドへの変換など、本実施形態の主要部を為す機能である。この印刷Webサービスを複数備えたことで、複数台のホスト20から印刷データを受信し、複数の印刷装置32に対して印刷を実行させたり、各印刷装置32の印刷結果を印刷データの送信元となる各ホスト20に返信させたりなど、複数の処理を並行して実行することができる。例えば、同図の例では、印刷Webサービスを10プロセス設けているため、10個のプロセス(スレッド)を同時処理可能である。但し、1台の印刷装置32に対して複数の印刷データが送信された場合は、印刷権を獲得した順(印刷ポートを確保した順)に処理を行う。
Here, the print Web service is a function that forms the main part of the present embodiment, such as conversion from an XML document to a print control command. By providing a plurality of print Web services, print data is received from a plurality of
また、デバイス登録Webアプリケーションは、印刷装置32のプリンターID、機種名およびポート情報(IPアドレス)を登録するためのアプリケーションである。これらの情報は、HTTPサーバー46によって提供される設定ページ(Webページ)をWebブラウザー27によって表示させ、ユーザーが操作部25を用いて入力を行うことにより登録される。また、登録されたこれらの情報は、印刷装置リスト47(図3参照)に格納される。
The device registration Web application is an application for registering the printer ID, model name, and port information (IP address) of the
[第1実施形態]
次に、図5ないし図7を参照し、本発明の第1実施形態について説明する。第1実施形態では、ホスト20と印刷装置32が多:1または多:多の構成でも、1:1接続が前提となる印刷制御コマンド(ESC/POS(登録商標)コマンド)を用いて印刷装置32を制御することを課題とする。そこで、当該課題を解決するための構成について主に説明する。
[First Embodiment]
Next, a first embodiment of the present invention will be described with reference to FIGS. In the first embodiment, even when the
図5は、第1実施形態に係る印刷システムSY1の機能ブロック図である。同図に示すように、ホスト20は、主な機能構成として、ブラウザー制御部71、印刷データ生成部72、印刷データ送信部73、応答受信部74、印刷装置情報表示部75および印刷装置指定部76を備えている。
FIG. 5 is a functional block diagram of the printing system SY1 according to the first embodiment. As shown in the figure, the
ブラウザー制御部71は、Webブラウザー27を動作させる。印刷データ生成部72は、Webブラウザー27上で動作する印刷制御スクリプトを用いて、XML言語で記述した印刷データを生成する。印刷データ送信部73は、生成した印刷データに印刷装置IDを付加して、印刷制御装置31に送信する。なお、印刷装置IDは、後述する印刷装置指定部76の指定結果に基づいて付加される。
The
応答受信部74は、印刷制御装置31から、印刷装置32の印刷結果およびステータスを、XML文書として受信する。印刷装置情報表示部75は、印刷制御装置31から通知された各印刷装置32の印刷装置情報57を、表示部22に表示する。印刷装置指定部76は、印刷装置情報57に基づいて、印刷対象となる印刷装置32を指定する。つまりユーザーは、表示された印刷装置情報57を参照して、所望の印刷装置32を決定し、操作部25を用いて指定する。
The
印刷制御装置31は、主な機能構成として、印刷データ受信部81、コマンド生成部82、コマンド送信部83、応答取得部84、応答返信部85、印刷中止処理部86、印刷装置情報取得部87、印刷装置情報記憶部88および印刷装置情報通知部89を備えている。
The
印刷データ受信部81は、ホスト20から、XML言語で記述された印刷データを受信する。コマンド生成部82は、印刷指示コマンドや印刷前コマンド等の印刷制御コマンドを生成する。前者の印刷指示コマンドは、ホスト20から送信された印刷データに基づくコマンドであり、後者の印刷前コマンドは、印刷指示コマンドの生成前に、印刷装置32の状態確認のために生成されるコマンドである。コマンド送信部83は、生成された印刷制御コマンドを、印刷装置32に対して送信する。
The print
図6(a)は、第1実施形態に係る印刷指示コマンドのコマンド列を示す図である。同図に示すように、印刷指示コマンドは、印刷データの前後に、それぞれ初期化コマンドと状態取得コマンドを付加したものである。 FIG. 6A is a diagram illustrating a command sequence of a print instruction command according to the first embodiment. As shown in the figure, the print instruction command is obtained by adding an initialization command and a status acquisition command respectively before and after the print data.
ここで、初期化コマンドは、ダミーデータ(NULデータ)、設定初期化コマンドおよびASBステータス有効コマンド(有効コマンド)を含む。ダミーデータは、印刷装置32のバッファー54の容量を超える所定長さ以上の空白ファイルである。これにより、直前の印刷中止処理によって途切れたコマンドを補完し、印刷装置32に処理させることができる。また、設定初期化コマンドは、印刷装置32の設定を初期化するためのコマンドである。なお、ダミーデータは、設定初期化コマンドよりも前に付加されることが好ましい。
Here, the initialization command includes dummy data (NUL data), a setting initialization command, and an ASB status valid command (valid command). The dummy data is a blank file having a predetermined length or more that exceeds the capacity of the
また、ASBステータス有効コマンドは、印刷装置32が主体となってステータスを返信するASB(Auto Status Back)ステータスを有効にするためのコマンドである。印刷装置32は、ASBステータスが有効の場合、自身の状態が変化(カバー開閉/用紙なし/印刷完了など)したことを示すASBステータスを自動的に送信する。これにより、印刷制御装置31は、印刷中における印刷装置32のステータスの変化を把握できる。なお、印刷装置32のASBステータスは、初期化コマンドの受信後、ASBステータス無効コマンドの受信後または印刷装置32の電源ON直後の初期状態において「無効」となる。
The ASB status valid command is a command for validating an ASB (Auto Status Back) status in which the
一方、図6(b)は、印刷前コマンドのコマンド列を示す図である。印刷前コマンドは、ホスト20から印刷データが送信されたとき、印刷指示コマンドの生成に先立って、印刷装置32の状態を確認するために生成されるコマンドである。そのコマンド列は、空印刷データを示す印刷制御コマンドの後に状態取得コマンドを付加したものである。ここで、状態取得コマンドとは、印刷装置32の状態を取得するためのコマンドであり、ステータス送信コマンドまたはプロセスIDレスポンスコマンド(直前の印刷処理が完了した時点で指定したIDを返すコマンド)を指す。なお、印刷装置32の状態とは、印刷装置の用紙の有無、オンライン/オフライン、インク/トナー残量、バッテリー残量などのステータス情報を指す。このように、印刷データに基づく印刷指示コマンドの送信前に、印刷前コマンドを送信することで、印刷装置32が印刷不可能な状態の場合、印刷中止処理を容易に行うことができる。
On the other hand, FIG. 6B is a diagram showing a command sequence of commands before printing. The pre-print command is a command generated to confirm the state of the
図5の説明に戻る。応答取得部84は、印刷前コマンドの送信後、当該印刷前コマンドに含まれる状態取得コマンドに基づき、印刷装置32から当該状態取得コマンドに対する応答を取得する。また、応答取得部84は、印刷指示コマンドの送信後、当該印刷指示コマンドに含まれるASBステータス有効コマンドに基づき、印刷指示コマンドの送信から状態取得コマンドに対する応答を受信するまでの間、印刷装置32から自動的に送信されるASBステータスを取得する。また、印刷処理後、印刷指示コマンドに含まれる状態取得コマンドに基づき、印刷装置32から当該状態取得コマンドに対する応答を取得する。応答返信部85は、応答に基づく印刷結果を、印刷データの送信元となるホスト20に返信する。ここで、印刷結果とは、印刷成功/印刷失敗を示すXML文書を指す。なお、印刷結果に代えて、応答内容(印刷装置32の状態)を示すXML文書を返信しても良い。また、応答返信部85は、ASBステータス有効コマンドに対する応答(印刷指示コマンドの送信から状態取得コマンドに対する応答を受信するまでの、最新のステータスを示すXML文書をホスト20に返信する。
Returning to the description of FIG. The
印刷中止処理部86は、応答取得部84により取得した応答から、印刷装置32が印刷不可能な状態であると判定した場合、応答取得部84による応答取得がタイムアウトした場合、ホスト20が指定した印刷装置32が存在しない場合などに印刷中止処理を行う。印刷中止処理には、印刷中止を印刷データの送信元となるホスト20に通知する処理の他、必要に応じて、印刷装置32への印刷指示コマンドの送信を中止する処理、印刷装置32のバッファー54をクリアにするためのリアルタイムコマンドであるバッファークリアコマンドを印刷装置32に送信する処理、を行う。ここで、リアルタイムコマンドとは、印刷装置32に対し即時実行を指令するコマンドを指す。
When the print
印刷装置情報取得部87は、接続されている各印刷装置32(印刷装置A、印刷装置B)から、各印刷装置32の印刷装置情報57を取得する。当該印刷装置情報57の取得は、定期的に行っても良いし、電源ON時やホスト20からの情報取得指令があったときに取得しても良い。印刷装置情報記憶部88は、取得した各印刷装置32の印刷装置情報57を、印刷装置リスト47として記憶する。また、印刷装置情報通知部89は、ホスト20に対し、印刷装置リスト47を提供する(各印刷装置32の印刷装置情報57を通知する)。なお、印刷装置リスト47の提供は、印刷装置情報57を取得する度に行っても良いし、電源ON時やホスト20からの通知指令があったときに行っても良い。
The printing device
一方、印刷装置32は、主な機能構成として、コマンド受信部91、印刷部92、応答送信部93および印刷装置側記憶部94を備えている。コマンド受信部91は、印刷制御装置31から印刷指示コマンドや印刷前コマンドなど、ESC/POS(登録商標)コマンドを受信する。印刷部92は、受信したコマンドに基づいて、印刷用紙に印刷を行う。応答送信部93は、印刷制御装置31に対し、印刷指示コマンドや印刷前コマンドに対する応答を返信する。印刷装置側記憶部94は、記憶部52(図3参照)に相当し、自身の印刷装置情報57を記憶する。
On the other hand, the
次に、図7のフローチャートを参照し、第1実施形態に係る印刷制御の流れについて説明する。印刷制御装置31は、ホスト20から印刷データを受信すると(S01)、印刷前コマンドを生成して、印刷装置32のステータスを確認する(S02)。その結果から、印刷装置32が印刷可能ではないと判定した場合(S03:No)、ホスト20に対し、ステータスを返信する(S04)。また、印刷装置32が印刷可能と判定した場合は(S03:Yes)、コマンド列(印刷指示コマンド)を生成し(S05)、印刷装置32へ送信する(S06)。
Next, the flow of printing control according to the first embodiment will be described with reference to the flowchart of FIG. Upon receiving print data from the host 20 (S01), the
その後、印刷装置32からASBステータスやレスポンス(応答)を受信すると(S07)、印刷中止またはタイムアウトを判定し(S08)、「No」と判定した場合は、さらに印刷完了したか否かを判定する(S09)。印刷完了していない場合は(S09:No)、S07に戻り、印刷完了した場合は(S09:Yes)、ホスト20に対しステータスおよび印刷結果を返信する(S04)。また、S08で「Yes」と判定した場合は、印刷装置32へバッファークリアコマンドを送信し(S10)、ホスト20に対し、ステータスおよび印刷結果を返信する(S04,印刷中止を通知する)。 After that, when an ASB status or response (response) is received from the printing device 32 (S07), the print stop or timeout is determined (S08). If “No” is determined, it is further determined whether or not printing is completed. (S09). If the printing is not completed (S09: No), the process returns to S07. If the printing is completed (S09: Yes), the status and the printing result are returned to the host 20 (S04). If “Yes” is determined in S08, a buffer clear command is transmitted to the printing apparatus 32 (S10), and the status and the print result are returned to the host 20 (S04, print cancellation is notified).
以上説明したとおり、第1実施形態によれば、ホスト20から送信された印刷データの前に初期化コマンドを付加するため、ホスト20:印刷装置32が1:1で接続されていることが前提のESC/POS(登録商標)コマンドを用いて、多:1または多:多のネットワーク環境下で印刷装置32を制御できる。つまり、ホストaからの印刷指令に基づく前回の印刷が正常終了していない場合でも、続くホストbからの印刷指令に基づく印刷指示コマンドの前に初期化コマンドを付加するため、当該印刷指示コマンドを正常に処理させることができる。また、ホストaからの指令により印刷装置32の設定変更が行なわれていた場合も、同じく初期化コマンドを付加することにより印刷装置32を初期化状態に戻すため、続くホストbからの印刷指令に基づく印刷指示コマンドを正常に解釈させることができる。このように、従来のコマンド体系を維持しつつ、既存の印刷装置32を複数のホスト20で共有することができる。
As described above, according to the first embodiment, since the initialization command is added before the print data transmitted from the
また、ホスト20は、Webブラウザー27上で動作するスクリプトを用いて印刷データを生成するため、印刷装置ドライバーやプラグインを必要としない。また、ホスト20のプラットフォームを問わないため、スマートフォンやタブレット端末など、各種OSで動作するホスト20を、同じ印刷システムSY内で混在させることができる。
In addition, since the
なお、上記の第1実施形態では、Webブラウザー27として標準ブラウザーを使用し、印刷制御スクリプトを用いて印刷データを生成したが、プラグインやリッチインターネットアプリケーションを用いて印刷データを生成しても良い。
In the first embodiment, a standard browser is used as the
また、図7に示したフローチャートのS01の後、XMLスキーマ(マークアップスキーマ)により、印刷データの妥当性を検証しても良い(妥当性検証部)。この場合、印刷データが妥当と判定した場合は、S02に進み、妥当でないと判定した場合は、S04またはS10に進んで、印刷中止処理を行うことが好ましい。この構成によれば、マークアップスキーマを用いることにより、印刷データの妥当性を検証した上で、印刷処理を行うことができる。 Further, after S01 in the flowchart shown in FIG. 7, the validity of the print data may be verified by an XML schema (markup schema) (a validity verification unit). In this case, when it is determined that the print data is valid, the process proceeds to S02. When it is determined that the print data is not valid, it is preferable to proceed to S04 or S10 and perform the print cancel process. According to this configuration, by using the markup schema, it is possible to perform print processing after verifying the validity of the print data.
また、上記の第1実施形態では、印刷データをXML言語で記述したが、印刷装置32のコマンド(ESC/POS(登録商標)コマンド)で記述しても良い。この場合、印刷制御装置31におけるコマンド変換は不要である。また、ホスト20に返信する印刷結果も、XML文書ではなく、コマンドレスポンスとなる。このため、ホスト20側で、レスポンスデータを解析し、印刷結果やステータスを抽出する必要がある。但し、印刷制御装置31で解析を行い、XML言語やCSV言語で印刷結果やステータスを記述してからホスト20に通知する構成でも良い。
In the first embodiment, the print data is described in the XML language. However, the print data may be described using a command (ESC / POS (registered trademark) command) of the
[第2実施形態]
次に、図8および図9を参照し、本発明の第2実施形態について説明する。上記の第1実施形態では、ホスト20から送信された印刷データの受信に伴ってステータス等の応答を返信したが、本実施形態では、印刷データの受信によらず、ステータス等の応答を返信することを特徴とする。以下、第1実施形態と異なる点のみ説明する。なお、本実施形態において、第1実施形態と同様の構成部分については同様の符号を付し、詳細な説明を省略する。また、第1実施形態と同様の構成部分について適用される変形例は、本実施形態についても同様に適用される。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIGS. In the first embodiment, a response such as a status is returned along with reception of print data transmitted from the
図8は、第2実施形態に係る印刷システムSY2の機能ブロック図である。同図に示すように、本実施形態は、第1実施形態の機能構成と比較して、ホスト20内に、空印刷データ生成部101および空印刷データ送信部102を追加した構成となっている。
FIG. 8 is a functional block diagram of the printing system SY2 according to the second embodiment. As shown in the figure, the present embodiment has a configuration in which a blank print
空印刷データ生成部101は、Webブラウザー27上で動作する印刷制御スクリプトを用いて、空印刷データを生成する。また、空印刷データ送信部102は、印刷制御装置31に対し、生成した空印刷データを、HTTPにより送信する。ここで、空印刷データとは、印刷装置32のステータス要求のために生成される空印刷要求である。例えば、ユーザーにより(操作部25により)、印刷装置32のステータス取得指示操作が行われた場合に、空印刷データを生成・送信する。取得したステータスは、ホスト20の表示部22に表示される。
The blank print
一方、印刷制御装置31のコマンド生成部82は、ホスト20から送信された空印刷データに基づいて、空印刷コマンドを生成する。図9は、空印刷コマンドのコマンド列を示す図である。同図に示すように、空印刷コマンドは、空印刷データの前後に、それぞれ初期化コマンドと状態取得コマンドを付加したものである。初期化コマンドに、ダミーデータ、設定初期化コマンドおよびASBステータス取得コマンドが含まれる点は、第1実施形態と同様である。また、コマンド送信部83は、生成された当該空印刷コマンドを印刷装置32に送信し、応答取得部84は、空印刷コマンドに対する応答を取得する。また、応答返信部85は、空印刷コマンドに対する応答を、ホスト20に返信する。
On the other hand, the
なお、空印刷データ送信部102による空印刷データの送信は、対象となる印刷装置32を指定しても良いが、全ての印刷装置32を対象として一括送信しても良い。この場合、空印刷データに、接続されている全ての印刷装置32の印刷装置ID(印刷装置指定情報)を付加して送信しても良いし、印刷装置IDを付加しない構成としても良い。後者の場合、印刷制御装置31は、接続されている(通信可能な)全ての印刷装置32に対し、空印刷データに基づいて生成した空印刷コマンドを一斉送信する。
The blank print
また、第2実施形態に係る印刷制御の流れは、図7に示した第1実施形態のフローチャートにおけるS01にて、ホスト20から、「空印刷データ」を受信する点以外は、同フローチャートの流れと同様であるため、説明を省略する。
The flow of print control according to the second embodiment is the same as that shown in FIG. 7 except that “empty print data” is received from the
以上説明したとおり、第2実施形態によれば、印刷制御装置31により、ホスト20から送信された空印刷データに状態取得コマンドを付加して空印刷コマンドを生成し、印刷装置32に送信するため、印刷装置32からの応答に基づいて、印刷装置32のステータスをホスト20に通知することができる。つまり、印刷を実行する場合と同様の仕組みで、印刷装置32のステータスをホスト20に返すことができる。
As described above, according to the second embodiment, the
なお、上記の第2実施形態では、ホスト20が、ユーザーによるステータス取得指示操作をトリガーとして、空印刷データを送信したが、ホスト20の電源ON時や所定アプリケーションの起動時など、予め定められたタイミングで空印刷データを送信しても良い。また、定期的に空印刷データを送信することで、ホスト20が、印刷装置32のステータスを常に把握することができる。
In the second embodiment described above, the
[第3実施形態]
次に、図10ないし図15を参照し、本発明の第3実施形態について説明する。第3実施形態は、上述のとおりドライバーレスのプラットフォーム上で動作するホスト20を用いた場合でも、アプリケーションプログラマーが、印刷装置32の文字コード体系を意識することなく印刷プログラムを作成することを課題とする。以下、第1,2実施形態と異なる点のみ説明する。
[Third Embodiment]
Next, a third embodiment of the present invention will be described with reference to FIGS. The third embodiment has a problem in that even when the
図10は、第3実施形態に係る印刷システムSY3の機能ブロック図である。同図に示すように、本実施形態は、第1実施形態の機能構成と比較して、印刷制御装置31内に、文字コード変換部111を追加した構成となっている。文字コード変換部111は、Unicodeなどの汎用文字コード(第1の文字コード)を、印刷装置32用の文字コード(第2の文字コード)に変換する。ここで、「印刷装置32用の文字コード」とは、印刷装置32に搭載されたフォントデータ(ドットマトリクスフォントデータ、ビットマップフォントデータ、スケイラブルフォントデータなど)に対応する文字コードを指す。これに対し、「Unicode」は、1文字ごとに一意のコードが割り当てられた文字コードである。これら「Unicode」と「印刷装置32用の文字コード」が1:1ではなく1:多の関係となる場合があるため、文字コード変換部111によるコード変換が必要となる。詳細については、後述する。
FIG. 10 is a functional block diagram of the printing system SY3 according to the third embodiment. As shown in the figure, the present embodiment has a configuration in which a character
第3実施形態では、図11(a)に示すように、印刷装置32によってその仕様および搭載文字が異なることを想定している。例えば、「印刷装置A」が「日本語仕様」の場合、その印刷装置32に搭載されている搭載文字は、英数字、国際文字および日本語であり、使用する文字コードは、例えば漢字モード(Shift_JIS)である。
In the third embodiment, as shown in FIG. 11A, it is assumed that the specifications and installed characters differ depending on the
また、第3実施形態では、ホスト20が、言語属性を付加した汎用文字コードを1個以上含む印刷データを生成・送信する(印刷データ生成部72、印刷データ送信部73)。特に図示しないが、ホスト20側では、Webブラウザー27によって表示される所定のフォーム上で、印刷文字列の入力、対象言語およびフォント種類の指定が可能となっており、これらの入力に基づいて、印刷データ(XML印刷ドキュメント)を生成する。また、文字コード変換部111は、汎用文字コードを、言語属性に対応する文字コードに変換する。さらに、コマンド生成部82は、文字コード変換部111の変換結果を用いて印刷指示コマンドを生成する。
In the third embodiment, the
図12は、第3実施形態に係る印刷指示コマンドのコマンド列を示す図である。同図に示すように、コマンド生成部82は、「言語属性に基づいて変換した文字コード(印刷装置32用の文字コード)」の前に、印刷装置32の文字コードを言語属性に対応して切り替えるための「文字コード切り替えコマンド」を付加した印刷指示コマンドを生成する。なお、第1実施形態と同様に、コマンド列の前に初期化コマンドを付加したり、コマンド列の後に状態取得コマンドを付加したりしても良い(図6(a)参照)。
FIG. 12 is a diagram showing a command sequence of print instruction commands according to the third embodiment. As shown in the figure, the
ここで、「文字コード切り替えコマンド」は、「文字コードテーブル切り替えコマンド」、「国際文字セット切り替えコマンド」および「漢字モード切り替えコマンド」を含む概念であり、例えばANKモード(ANK仕様に対応するモード)において、文字コード80〜FFの文字の切り替えを行うことができる。ここで、「文字コードテーブル」とは、「印刷装置32用の文字コード」が複数個格納されているテーブルを指す。したがって、文字コードテーブルを示す情報と、文字コードテーブルにおける格納位置を示す情報により、印刷装置32用の文字コードを一意に指定することができる。「文字コードテーブル切り替えコマンド」とは、その文字コードテーブルを切り替えるためのコマンドである。
Here, the “character code switching command” is a concept including “character code table switching command”, “international character set switching command”, and “kanji mode switching command”, for example, ANK mode (mode corresponding to ANK specification). In FIG. 5, the characters of the character codes 80 to FF can be switched. Here, the “character code table” refers to a table in which a plurality of “character codes for the
また、「国際文字セット切り替えコマンド」とは、ANKモードにおいて、文字コード20H〜7EHの文字の切り替えを行うコマンドである。英語の「\」と日本語の「¥」、英語の「\」と韓国語のウォン記号、英語の「$」と中国語の「¥」など、同じ文字コードに異なる文字を割り当てている文字を対象としており、「文字コードテーブル切り替えコマンド」と共に用いる。また、「漢字モード切り替えコマンド」とは、ANKモードから漢字モードにするコマンドと、漢字モードを解除してANKモードにするコマンドである。なお、各印刷装置32は、日本語、韓国語、中国語の国際文字セットの共存ができないものとする。
The “international character set switching command” is a command for switching characters of the character codes 20H to 7EH in the ANK mode. Characters with different characters assigned to the same character code, such as English “\” and Japanese “¥”, English “¥” and Korean won symbol, English “$” and Chinese “¥” Is used together with the “character code table switching command”. The “kanji mode switching command” is a command for switching from the ANK mode to the kanji mode, and a command for canceling the kanji mode and switching to the ANK mode. Note that each
図11(b)は、各言語属性と、文字コード切り替えコマンドの対応を示している。なお、言語属性「ja」、「ko」、「zn−cn」、「zn−tw」、「en」は、それぞれ印刷装置32の仕様「日本語仕様」、「韓国語使用」、「簡体字中国語仕様」、「繁体字中国語仕様」、「ANKモード」にそれぞれ対応している。例えば、印刷データに言語属性「ja」が付加された汎用文字コード「漢字」が含まれる場合、文字コード変換部111は、この「漢字」を、日本語仕様の文字コードに変換する。また、コマンド生成部82は、印刷装置32の文字コードを、漢字モード、文字コードテーブル=カタカナ、日本語文字セット=日本、文字=Shift_JISへ変換するための文字コード切り替えコマンドを付加する。
FIG. 11B shows the correspondence between each language attribute and a character code switching command. The language attributes “ja”, “ko”, “zn-cn”, “zn-tw”, and “en” are the specifications “Japanese specification”, “Korean use”, “Simplified Chinese” of the
ところで、印刷制御装置31は、各印刷装置32の印刷装置情報57の一覧である印刷装置リスト47を記憶している(図3参照)。そこで、文字コード変換部111は、印刷装置リスト47を参照し、汎用文字コードに付加された言語属性が、印刷装置ID(印刷装置指定情報)によって指定された印刷装置32の機種または搭載文字に対応している場合のみ、その汎用文字コードの変換を行う、言い換えれば、指定された言語属性と印刷装置32の仕様が対応していない場合、その言語属性が付加された汎用文字コードの変換を行わない。これにより、機種や搭載文字の異なる複数の印刷装置32に対して、同じ印刷データを送信した場合でも、各印刷装置32の仕様に応じて、異なる印刷結果を得ることができる。この点については、図14にて後述する。
By the way, the
一方、印刷データ生成部72は、必要に応じて、言語属性の付加を省略することができる。文字コード変換部111は、ホスト20から送信された印刷データに、言語属性が付加されていない汎用文字コードが含まれる場合、当該汎用文字コードの直前に変換した言語属性に基づいて変換を行う。つまり、直前に変換した言語属性を、揮発性または不揮発性の記憶領域に記憶しておく。またこの場合、コマンド生成部82は、文字コード切り替えコマンドの付加を省略する。これにより、印刷データ生成部72は、同じ言語属性の文字コードを続けて印刷する場合、言語属性の付加を省略することができる。また、言語属性が付加されていない場合、コマンド生成部82は、文字コード切り替えコマンドの付加を省略するため、印刷装置32に送信する印刷指示コマンドのデータ量をも減らすことができる。
On the other hand, the print
なお、汎用文字コードに言語属性が付加されていない場合、直前に変換した言語属性ではなく、デフォルトの言語属性(例えば、言語属性「en」=ANKモード)に基づいて、汎用文字コードを変換しても良い。また、直前に変換した言語属性が存在しない場合のみ(電源ON後、最初の印刷を行う場合など)、デフォルトの言語属性に基づいて変換を行うようにしても良い。 If no language attribute is added to the general-purpose character code, the general-purpose character code is converted based on the default language attribute (for example, the language attribute “en” = ANK mode) instead of the language attribute converted immediately before. May be. Also, conversion may be performed based on the default language attribute only when the language attribute converted immediately before does not exist (for example, when the first printing is performed after the power is turned on).
図13は、第3実施形態に係る印刷データの一例を示す図である。同図に示すように、印刷データ生成部72は、印刷データを、XML言語(マークアップ言語)で記述する。また、言語属性を、要素の属性として記述し、汎用文字コードを、要素の内容として記述する。図14は、図13の印刷データに基づく印刷結果を示す図である。例えば、図14(a)は、図13の印刷データを、日本語仕様の印刷装置32を用いて印刷した場合の印刷結果を示している。つまり、図13に示した汎用文字コードC1〜C10のうち、日本語仕様の印刷装置32がサポートする搭載文字に対応した汎用文字コードC1〜C7が印刷対象となっている。同様に、図14(b)は、韓国語仕様の印刷装置32を用いて印刷した場合の印刷結果を示しており、韓国語仕様の印刷装置32に対応した汎用文字コードC1〜C6,C8が印刷対象となっている。また、図14(c)は、ANKモードの印刷装置32を用いて印刷した場合の印刷結果を示しており、ANK仕様の印刷装置32に対応した汎用文字コードC1〜C6が印刷対象となっている。
FIG. 13 is a diagram illustrating an example of print data according to the third embodiment. As shown in the figure, the print
次に、図15のフローチャートを参照し、第3実施形態に係る印刷制御の流れについて説明する。印刷制御装置31は、ホスト20から印刷データを受信すると(S21)、その中に含まれる言語属性と汎用文字コードの組み合わせを取得する(S22)。その後、言語属性に基づいて、汎用文字コードを印刷装置32用の文字コードに変換し(S23)、コマンド列(印刷指示コマンド)を生成する(S24)。最後に、生成したコマンド列を、印刷装置32に送信する(S25)。
Next, the flow of print control according to the third embodiment will be described with reference to the flowchart of FIG. When the
以上説明したとおり、第3実施形態によれば、ホスト20から、言語属性が付加された汎用文字コードを含む印刷データを受信し、汎用文字コードを、言語属性に対応する文字コードに変換し、文字コード切り替えコマンドを付加して印刷装置32に送信するため、アプリケーションプログラマーが、印刷装置32の文字コード体系を意識する必要がない。例えば、Unicode文字の場合、1の汎用文字コードに対して、印刷装置32用の文字コードが複数存在する場合があるが、言語属性が付加されているため、正しい文字コードに変換することができる。
As described above, according to the third embodiment, print data including a general-purpose character code to which a language attribute is added is received from the
また、印刷制御装置31で文字コードの変換を行うため、接続される複数の印刷装置32の機種や搭載文字を問わない。このため、子機として複数の機種を混在させることができる。例えば、レジカウンターに設置された印刷装置32(レシートプリンター)は、日本語で印刷し、厨房に設置された印刷装置32(キッチンプリンター)は、中国語で印刷する、などの構成が可能である。さらに、印刷装置32の入れ替えの際に、異なる機種へ変更させることも可能である。
Further, since the character code is converted by the
なお、第3実施形態の構成は、印刷ドライバーを必要とすることなく文字コードの変換を行うことができるため、ドライバーレスのプラットフォーム上で動作するホスト20を用いた場合に好適である。つまり、本実施形態のように、Webブラウザー27の印刷制御スクリプトを用いる構成の他、Webブラウザー27のプラグインを用いる構成、組み込み機器およびタブレット端末などドライバーの概念が存在しない電子機器をホスト20として用いた構成に適している。
Note that the configuration of the third embodiment is suitable when a
また、上記の第3実施形態では、汎用文字コードに付加された言語属性が、指定された印刷装置32の搭載文字に対応していない場合、その汎用文字コードを無視するものとしたが、その汎用文字コードを含む印刷データ全体の印刷を中止しても良い。この場合、図13のように、多種類の言語属性が含まれる印刷データが送信されると、図11(a)に示した全ての仕様の印刷装置32で印刷不可となる。また、印刷を中止した場合、その旨をホスト20に通知することが好ましい。
In the third embodiment, when the language attribute added to the general-purpose character code does not correspond to the specified character of the
[第4実施形態]
次に、図16ないし図23を参照し、本発明の第4実施形態について説明する。第4実施形態は、上述のとおりドライバーレスのプラットフォーム上で動作するホスト20を用いた場合でも、アプリケーションプログラマーが、印刷装置32のコマンド体系(カラーモードや画像形式の違い)を意識することなく画像印刷プログラムを作成することを課題とする。以下、第1〜3実施形態と異なる点のみ説明する。
[Fourth Embodiment]
Next, a fourth embodiment of the present invention will be described with reference to FIGS. In the fourth embodiment, even when the
図16は、第4実施形態に係る印刷システムSY4の機能ブロック図である。同図に示すように、本実施形態は、第1実施形態の機能構成と比較して、印刷制御装置31内に、妥当性判定部121を追加した構成となっている。妥当性判定部121は、ホスト20から送信された画像データの妥当性を判定する。
FIG. 16 is a functional block diagram of a printing system SY4 according to the fourth embodiment. As shown in the figure, the present embodiment has a configuration in which a
第4実施形態では、各印刷装置32が特定のコマンドに対応していることを想定している。例えば、印刷装置Aは、ビットイメージコマンドのみ対応し、印刷装置Bは、モノクロ画像印刷コマンドのみに対応している、などの状況が考えられる。ここで、印刷装置32のコマンド体系について簡単に説明する。画像印刷時に用いられる印刷制御コマンドには、「モノクロ画像印刷コマンド」、「グレースケール印刷コマンド」、「カラー画像印刷コマンド」などのカラーコマンドや、「ラスターグラフィックスコマンド」、「ビットイメージコマンド」などの画像形式コマンドがある。カラーコマンドは、印刷装置32のカラーモードに応じて使い分けられる。また、画像形式コマンドは、図17に示すように、データの並び順序の違いによって使い分けられる。「ラスターグラフィックスコマンド」は、図17(a)に示すように、データの並び方向が走査方向であり、「ビットイメージコマンド」は、図17(b)に示すように、縦方向が1行分に相当する。
In the fourth embodiment, it is assumed that each
なお、各印刷装置32がサポートするコマンド(カラーモードおよび画像形式)については、印刷制御装置31の印刷装置リスト47に記憶されている。このため、画像形式については、印刷制御装置31が、指定された印刷装置32がサポートする画像形式に応じて、適宜コマンド変換(「ラスターグラフィックスコマンド」から「ビットイメージコマンド」への変換、またはその逆変換)を行う。
Note that commands (color mode and image format) supported by each
また、第4実施形態では、ホスト20が、カラーモードおよび画像サイズを指定する属性が付加された画像データを含む印刷データを生成・送信する(印刷データ生成部72、印刷データ送信部73)。なお、画像データは、バイナリー形式且つbase64方式でエンコードされる。
In the fourth embodiment, the
特に図示しないが、ホスト20側では、Webブラウザー27によって表示される所定のフォーム上で、画像ファイルの指定、カラーモードの指定および色指定が可能となっており、これらの入力に基づいて、印刷データ(XML印刷ドキュメント)を生成する。なお、「画像ファイルの指定」により、結果的に画像サイズ(画像の幅および高さを示す情報)が指定されたこととなるが、画像ファイルと画像サイズを個別に指定し、画像サイズに応じて画像ファイルを拡大/縮小する構成でも良い。また、「色指定」とは、カラーモードの一種であり、例えば黒と赤の2色対応の印刷装置32で、モノクロ画像を黒・赤いずれの色で印刷するかを指定するものである。
Although not particularly illustrated, on the
妥当性判定部121は、画像データに含まれるカラーモードおよび画像サイズを指定する属性に基づいて、画像データの妥当性を判定する。ここで、カラーモードとは、画像の色情報の管理方法を示すものであり、モノクロ2階調、グレースケール、RGB、CMYKなどがある。また、カラーモードごとに、1画素あたりのデータ量が決まっており、例えば、モノクロ2階調では1ビット、グレースケール(16階調)では4ビット、グレースケール(256階調)では8ビット、RGBでは24ビット、CMYKでは32ビットである。
The
妥当性判定部121は、画像データのデータ量が、カラーモードに応じた1画素(1ドット)あたりのデータ量と、画像サイズとの乗算値に等しい場合、画像データが妥当であると判定する。例えば、256階調グレースケール(8ビット/画素)のラスターグラフィックスの場合、幅×高さバイトのデータ長が必要となる。つまり、幅5×高さ5の場合、25バイトのデータ長が必要となる。また、16階調グレースケール(4ビット/画素)のラスターグラフィックスで、1ラインごとにバイト単位に揃えるパディングを行う場合、(幅+1)/2×高さバイト(但し、除算結果の小数点以下は切り捨てる)のデータ長が必要となる。つまり、幅5×高さ5の場合、パディングで幅6×高さ5に揃えて、6/2×5=15バイトのデータ長が必要となる。さらに、モノクロ2階調(1ビット/画素)のラスターグラフィックスで、1ラインごとにバイト単位に揃えるパディングを行う場合、(幅+7)/8×高さバイト(但し、除算結果の小数点以下は切り捨てる)のデータ長が必要となる。つまり、幅5×高さ5の場合、パディングで幅8×高さ5に揃えて、8/8×5=5バイトのデータ長が必要となる。
The
一方、第4実施形態のコマンド生成部82は、妥当性判定部121により、画像データが妥当と判定された場合、当該画像データを、カラーモードに対応した印刷装置32用の制御コマンドに変換し、画像印刷コマンドを生成する。コマンド送信部83は、生成された画像印刷コマンドを、印刷装置32に送信する。
On the other hand, when the
また、本実施形態のコマンド生成部82は、以下の処理も行う。例えば、画像印刷コマンドのデータ長が所定長さを超える場合、画像データを分割して、複数の画像印刷コマンドを生成する。これにより、画像印刷コマンドのデータ長が制限されるため、印刷中止処理を容易に行うことができる。また、複数の画像印刷コマンドを生成した場合、各画像印刷コマンドのそれぞれの前に、印刷位置を垂直方向(レシートの紙送り方向=ラスターグラフィックスコマンドの副走査方向)に移動させるための印刷位置移動コマンドを付加する。これにより、印刷装置32の印刷モードがページモードの場合(画像印刷によって印刷位置が移動しない印刷モードの場合)でも、垂直方向の印刷位置を揃えることができる。さらに、コマンド生成部82は、コマンド列の先頭に(画像印刷コマンドの前に)、印刷装置32のバッファー54の容量を超える所定長さ以上のダミーデータを含む初期化コマンドを付加する。これにより、直前の印刷中止処理によって途切れたコマンドを補完し、印刷装置32に処理させることができる。その他、コマンド生成部82は、指定されたカラーモードに応じて、例えばカラー用/グレースケール用の画像データをモノクロに変換するなど、適宜画像変換を行う。
In addition, the
ここで、印刷装置32の印刷モードについて説明する。本実施形態の印刷装置32は、印刷モードとして、「ノーマルモード」および「ページモード」を備えている。「ノーマルモード」とは、1行単位で印刷するモードであり、文字サイズや画像の高さに合わせて改行量を調整する。また、「行の先頭の状態(印刷位置が左端にあり、行バッファーが空の状態)」で動作する機能を有しており、印刷開始時や改行直後は、この状態となる。一方、「ページモード」とは、印刷領域を設定して印刷データを展開し、一括印刷するモードである。指定した印刷位置に文字や画像を展開し、「行の先頭の状態」の制約はない。なお、「ページモード」を指定する場合は、画像印刷コマンドの前にページモード開始コマンドを付加し、画像印刷コマンドの後にページモード終了コマンドを付加する。また、上述の「印刷位置移動コマンド」は、印刷装置32が「ページモード」に設定されている場合のみ有効となる。
Here, the printing mode of the
次に、図18ないし図20を参照し、カラーモードおよび印刷モードによって異なる画像印刷コマンドのコマンド列について説明する。図18は、モノクロ印刷の場合の画像印刷コマンドを示している。図18(a)に示すように、「ノーマルモード・分割なし」の場合(画像印刷コマンドのデータ長が所定長さを超えない場合)は、画像印刷コマンドの前に初期化コマンドが付加された構成となる。なお、初期化コマンドは、第1実施形態と同様である(図6(a)参照)。また、第1実施形態と同様に、画像印刷コマンドの後に状態取得コマンドを付加しても良い。 Next, with reference to FIG. 18 to FIG. 20, the command sequence of the image print command that differs depending on the color mode and the print mode will be described. FIG. 18 shows an image print command for monochrome printing. As shown in FIG. 18A, in the case of “normal mode / no division” (when the data length of the image print command does not exceed the predetermined length), an initialization command is added before the image print command. It becomes composition. The initialization command is the same as that in the first embodiment (see FIG. 6A). As in the first embodiment, a status acquisition command may be added after the image print command.
また、図18(b)に示すように、「ノーマルモード・分割あり」の場合は、初期化コマンドの後に複数の画像印刷コマンドが続く構成となる。また、図18(c)に示すように、「ページモード・分割なし」の場合は、初期化コマンドの後にページモード開始コマンド、画像印刷コマンド、ページモード終了コマンドと続く構成となる。さらに、図18(d)に示すように、「ページモード・分割あり」の場合は、初期化コマンドの後にページモード開始コマンド、その後、分割数分の印刷位置移動コマンドおよび画像印刷コマンド、ページモード終了コマンドと続く構成となる。 Further, as shown in FIG. 18B, in the case of “normal mode / with division”, a configuration in which a plurality of image print commands follows the initialization command. As shown in FIG. 18C, in the case of “page mode / no division”, a page mode start command, an image print command, and a page mode end command follow the initialization command. Furthermore, as shown in FIG. 18D, in the case of “page mode / with division”, a page mode start command after the initialization command, and then a print position movement command and an image print command for the number of divisions, page mode Continuing from the end command.
図19は、グレースケール印刷の場合の画像印刷コマンドを示している。グレースケール印刷の場合は、50%、25%、12.5%、6.25%と、各階調を指定した画像印刷コマンドを含む構成となる。その他、印刷モード・分割の有無に応じたコマンド列の構成は、同図に示すとおりである。また、図20は、カラー印刷の場合の画像印刷コマンドを示している。カラー印刷の場合は、Y(イエロー)、M(マゼンタ)、C(シアン)、K(ブラック)と各カラーを指定した画像印刷コマンドを含む構成となる。その他、印刷モード・分割の有無に応じたコマンド列の構成は、同図に示すとおりである。 FIG. 19 shows an image print command in the case of gray scale printing. In the case of gray scale printing, the image print command is designated with 50%, 25%, 12.5%, 6.25% and each gradation. In addition, the configuration of the command sequence according to the print mode and presence / absence of division is as shown in FIG. FIG. 20 shows an image print command in the case of color printing. In the case of color printing, Y (yellow), M (magenta), C (cyan), K (black) and an image print command designating each color are included. In addition, the configuration of the command sequence according to the print mode and presence / absence of division is as shown in FIG.
図21は、第4実施形態に係る印刷データの一例を示す図である。同図に示すように、印刷データ生成部72は、印刷データを、XML言語(マークアップ言語)で記述すると共に、画像サイズおよびカラーモードを要素の属性として記述し、画像データ(AAAA・・・AAAA)を要素の内容として記述する。なお、同図において、カラーモードの指定がない画像データD1は、Webブラウザー27によって表示される所定のフォーム上でカラーモードが指定されなかった場合のプログラム例を示している。本実施形態では、カラーモードが指定されなかった場合、デフォルト設定値である「モノクロ印刷」が指定されたものとして処理する。
FIG. 21 is a diagram illustrating an example of print data according to the fourth embodiment. As shown in the figure, the print
図22(b),(c)は、図21の印刷データの印刷結果を示している。なお、上述の画像データ(AAAA・・・AAAA)は、図22(a)に示す画像ファイルを示しているものとする。図22(b)に示すように、印刷装置32が「モノクロ印刷コマンド」に対応している場合、画像データD1,D2に基づく画像が印刷される。また、図22(c)に示すように、印刷装置32が「モノクロ印刷コマンド」および「4ビットグレースケールコマンド」に対応している場合、画像データD1,D2,D3に基づく画像が印刷される。この場合、画像データD3に基づく画像は、グレースケールで印刷される。このように、図21に示した画像データD1〜D6のうち、印刷装置32のカラーモードに対応する画像データのみが印刷対象となり、他の画像データは無視される。
22B and 22C show the print results of the print data in FIG. Note that the image data (AAAAA... AAAA) described above indicates the image file shown in FIG. As shown in FIG. 22B, when the
次に、図23のフローチャートを参照し、第4実施形態に係る印刷制御の流れについて説明する。印刷制御装置31は、ホスト20から印刷データを受信すると(S31)、その中に含まれる画像属性(カラーモード属性および画像サイズ属性)と画像データの組み合わせを取得する(S32)。取得したこれらの組み合わせに基づいて、印刷データに含まれる各画像データの妥当性を判定する(S33)。画像データの妥当性は、上述のとおり、画像データのデータ量が、カラーモードに応じた1画素あたりのデータ量と、画像サイズとの乗算値に等しいか否かに応じて判定する。妥当でないと判定した場合は(S34:No)、コマンド列を生成することなく、処理を終了する。なお、S34の判定前に、マークアップスキーマによる印刷データの判定を行っても良い。
Next, the flow of print control according to the fourth embodiment will be described with reference to the flowchart of FIG. When the
また、画像データが妥当であると判定した場合は(S34:Yes)、画像印刷コマンドのデータ長が所定長さを超えるか否かを判別する(S35)。所定長さを超えない場合は(S35:No)、画像印刷コマンドの前に初期化コマンドを付加してコマンド列(印刷指示コマンド)を生成する(S36)。一方、画像印刷コマンドのデータ長が所定長さを超える場合は(S35:Yes)、画像データを分割してコマンド列を生成し、初期化コマンドを先頭に、且つ各画像印刷コマンドの前に印刷位置移動コマンドを付加してコマンド列(印刷指示コマンド)を生成する(S37)。その後(S36,S37の後)、生成したコマンド列を印刷装置32に送信する(S38)。 If it is determined that the image data is valid (S34: Yes), it is determined whether or not the data length of the image print command exceeds a predetermined length (S35). If it does not exceed the predetermined length (S35: No), an initialization command is added before the image print command to generate a command string (print instruction command) (S36). On the other hand, if the data length of the image print command exceeds the predetermined length (S35: Yes), the image data is divided to generate a command sequence, and the initialization command is printed at the head and before each image print command. A command sequence (print instruction command) is generated by adding the position movement command (S37). Thereafter (after S36 and S37), the generated command sequence is transmitted to the printing device 32 (S38).
以上説明したとおり、第4実施形態によれば、印刷制御装置31により、カラーモードおよび画像サイズを指定する属性が付加された画像データを、カラーモードに対応した印刷装置32用の制御コマンドに変換するため、ドライバーレスのプラットフォーム上で動作するホスト20を用いた場合でも、カラーモードや画像形式によって異なるコマンドの違いを印刷制御装置31で吸収することができる。これにより、アプリケーションプログラマーは、印刷装置32のコマンド体系を意識することなく画像を印刷させることができる。また、印刷制御装置31でカラーモードや画像形式の違いを吸収できるため、複数の印刷装置32として、コマンド体系の異なる複数の機種を混在させることができる。また、印刷装置32の入れ替えの際も、異なる機種への変更が可能である。
As described above, according to the fourth embodiment, the
また、画像印刷コマンドの生成前に、カラーモードおよび画像サイズに基づいて画像データの妥当性を判定するため、不正な画像データを排除し、信頼性の高い印刷結果を得ることができる。また、マークアップ言語を用いることにより、カラーモードによるコマンドの違いをはじめ、画像印刷コマンドの分割、ページモードにおける印刷位置の移動、初期化コマンドなどを隠蔽することができる。 In addition, since the validity of the image data is determined based on the color mode and the image size before generating the image print command, it is possible to eliminate illegal image data and obtain a highly reliable print result. In addition, by using the markup language, it is possible to hide the difference in commands depending on the color mode, the division of image print commands, the movement of the print position in the page mode, the initialization command, and the like.
また、画像印刷コマンドのデータ長が所定長さを超える場合、画像データを分割して複数の画像印刷コマンドを生成するため、印刷装置32が印刷不可能な状態である場合など、印刷中止処理を行う場合、その処理を容易に行うことができる。例えば、画像印刷コマンドが、データ長を示す情報と、コマンド本体と、から成る場合、長大なコマンドの送信を始めた後に印刷を中止すると、そのコマンドを終了させるために(指定したデータ長分の印刷を実行させるために)、ダミーデータを送信し続ける必要があり、その分の時間と印刷用紙が無駄になるが、画像データを分割することで、その無駄を抑えることができる。 Further, when the data length of the image print command exceeds a predetermined length, the image data is divided to generate a plurality of image print commands. When performing, the process can be performed easily. For example, if the image print command is composed of information indicating the data length and the command body, when printing is stopped after starting transmission of a long command, the command is terminated (for the specified data length). In order to execute printing), it is necessary to continue to transmit dummy data, and the time and printing paper for that time are wasted. However, by dividing the image data, the waste can be suppressed.
なお、第4実施形態の構成は、印刷ドライバーを必要としないため、第3実施形態と同様に、ドライバーレスのプラットフォーム上で動作するホスト20を用いた場合に好適である。また、上記の第4実施形態では、指定されたカラーモードが、指定された印刷装置32のコマンド体系に対応していない場合、そのカラーモードが付加された画像データを無視するものとしたが、画像データを含む印刷データ全体の印刷を中止しても良い。
Since the configuration of the fourth embodiment does not require a print driver, it is suitable when the
以上、4つの実施形態を示したが、各実施形態を組み合わせても良い。例えば、第3実施形態および第4実施形態で示した文字列および画像の印刷指示コマンドの生成前に、印刷前コマンドを生成し、印刷装置32のステータスを確認した上で、印刷を実行しても良い。また、ステータス確認により印刷装置32が印刷不可能と判定した場合、第1実施形態で示したバッファークリアコマンドの送信を含む印刷中止処理を行っても良い。さらに、第1実施形態で示したように、印刷実行に伴って印刷装置32のステータスを取得すると共に、第2実施形態で示したように、定期的または所定のトリガーで空印刷データを送信することにより、印刷処理を伴わないステータス取得を行っても良い。
Although the four embodiments have been described above, the embodiments may be combined. For example, before generating the character string and image print instruction commands shown in the third embodiment and the fourth embodiment, a pre-print command is generated, the status of the
また、図24に示すように、システム構成を変形させても良い。例えば、図24(a)は、印刷制御装置31と印刷装置32とを一体化したインテリジェント機能付き印刷装置30に、複数台の印刷装置32(インテリジェント機能が搭載されていない印刷装置)を接続したシステム構成を示している。このように、インテリジェント機能付き印刷装置30に接続する印刷装置32の数(子機の数)は任意である。また、第3実施形態および第4実施形態で、このようなシステム構成を採用した場合も、機種、搭載文字、カラーモード等が異なる印刷装置32を混在させることができる。さらに、印刷装置32の入れ替えの際も、異なる機種、搭載文字、カラーモードへの変更が可能である。
Also, as shown in FIG. 24, the system configuration may be modified. For example, in FIG. 24A, a plurality of printing devices 32 (printing devices not equipped with an intelligent function) are connected to the
また、図24(b)は、複数の印刷制御装置31で複数の印刷装置32を共有した場合のシステム構成を示す図である。このように、印刷制御装置31を冗長化して印刷装置32を共有することで、堅牢な印刷システムSYを構築することができる。なお、図24(b)のシステム構成において、「印刷制御装置ア」と「印刷装置A」および/または「印刷制御装置イ」と「印刷装置B」を、それぞれ1台のインテリジェント機能付き印刷装置30で実現することも可能である。
FIG. 24B is a diagram showing a system configuration when a plurality of
また、上記の各実施形態に示した印刷システムSY(SY1〜SY4)の各構成要素をプログラムとして提供することが可能である。また、そのプログラムを各種記録媒体(CD−ROM、フラッシュメモリー等)に格納して提供することも可能である。すなわち、コンピューターを印刷システムSYの各部として機能させるためのプログラム、またはコンピューターに印刷システムSYの各処理工程を実行させるためのプログラム、並びにそれらを記録した記録媒体も、本発明の権利範囲に含まれる。 Moreover, it is possible to provide each component of the printing system SY (SY1-SY4) shown in each said embodiment as a program. Further, the program can be provided by being stored in various recording media (CD-ROM, flash memory, etc.). That is, a program for causing a computer to function as each part of the printing system SY, a program for causing the computer to execute each processing step of the printing system SY, and a recording medium on which these are recorded are also included in the scope of the present invention. .
また、上記の各実施形態では、印刷装置32としてレシートプリンターを例示したが、レシートプリンター以外の印刷装置にも、本発明を適用可能である。また、印刷装置32以外に、ステータス取得、文字コード変換、画像変換を必要とする種々のデバイスに本発明を適用しても良い。また、上記の実施形態では、スクリプトの一例として、JavaScript(登録商標)を例示したが、これ以外の各種プログラミング言語を用いた場合でも本発明を適用可能である。その他、本発明の要旨を逸脱しない範囲で、適宜変更が可能である。
In each of the above embodiments, a receipt printer is exemplified as the
10…Webアプリケーションサーバー 15…HTTPサーバー 16…Webアプリケーション 20…ホスト 27…Webブラウザー 30…インテリジェント機能付き印刷装置 31…印刷制御装置 32…印刷装置 40…Webページ 46…HTTPサーバー 47…印刷装置リスト 54…バッファー 57…印刷装置情報 71…ブラウザー制御部 72…印刷データ生成部 73…印刷データ送信部 74…応答受信部 75…印刷装置情報表示部 76…印刷装置指定部 81…印刷データ受信部 82…コマンド生成部 83…コマンド送信部 84…応答取得部 85…応答返信部 86…印刷中止処理部 87…印刷装置情報取得部 88…印刷装置情報記憶部 89…印刷装置情報通知部 91…コマンド受信部 92…印刷部 93…応答送信部 94…印刷装置側記憶部 101…空印刷データ生成部 102…空印刷データ送信部 111…文字コード変換部 121…妥当性判定部 C1〜C10…汎用文字コード D1〜D6…画像データ SY…印刷システム
DESCRIPTION OF
Claims (8)
前記印刷データの前に、初期化コマンドを付加して印刷指示コマンドを生成するコマンド生成部と、
前記印刷指示コマンドを、印刷装置に送信するコマンド送信部と、を備えたことを特徴とする印刷制御装置。 A print data receiving unit for receiving print data described in a markup language from a host;
A command generator for generating a print instruction command by adding an initialization command before the print data;
A print control apparatus comprising: a command transmission unit configured to transmit the print instruction command to a printing apparatus.
前記印刷装置から、前記印刷指示コマンドに対する応答を取得する応答取得部と、
前記応答に基づく印刷結果を、前記ホストに返信する応答返信部と、を備えた請求項1に記載の印刷制御装置。 The command generation unit generates the print instruction command by adding a status acquisition command for acquiring the status of the printing apparatus after the print data,
A response acquisition unit for acquiring a response to the print instruction command from the printing apparatus;
The print control apparatus according to claim 1, further comprising: a response reply unit that returns a print result based on the response to the host.
前記応答取得部は、前記印刷指示コマンドの送信から前記状態取得コマンドに対する応答を受信するまでの間、前記印刷装置から送信されるステータスを取得し、
前記応答返信部は、前記印刷結果と共に、前記応答取得部が取得した最新のステータスを、前記ホストに返信する請求項2に記載の印刷制御装置。 The initialization command includes a valid command for validating a status returned mainly by the printing apparatus,
The response acquisition unit acquires a status transmitted from the printing apparatus until a response to the status acquisition command is received from transmission of the print instruction command,
The print control apparatus according to claim 2, wherein the response reply unit returns the latest status acquired by the response acquisition unit together with the print result to the host.
前記コマンド送信部は、前記印刷前コマンドを、前記印刷装置に送信し、
前記応答取得部により取得した前記印刷前コマンドに対する応答から、前記印刷装置が印刷不可能な状態であると判定した場合、印刷中止処理を行う印刷中止処理部を備え、
前記印刷中止処理には、印刷中止を前記印刷データの送信元となるホストに通知する処理と、前記印刷装置への前記印刷指示コマンドの送信を中止する処理が含まれる請求項3に記載の印刷制御装置。 The command generation unit generates a pre-print command in which the status acquisition command is added after empty print data before the print instruction command is generated when the print data is transmitted from the host;
The command transmission unit transmits the pre-printing command to the printing apparatus;
When it is determined from the response to the pre-print command acquired by the response acquisition unit that the printing apparatus is in a non-printable state, a print cancellation processing unit that performs a print cancellation process is provided.
4. The printing according to claim 3, wherein the print canceling process includes a process of notifying the host that is a transmission source of the print data of the print canceling, and a process of canceling transmission of the print instruction command to the printing apparatus. Control device.
前記ホストは、
前記Webブラウザーで動作するスクリプトまたはプラグインを用いて前記印刷データを生成し、前記印刷制御装置に対してHTTPによる印刷要求を行う請求項1ないし4のいずれか1項に記載の印刷制御装置。 The host includes a browser control unit that operates a web browser, and the print control apparatus includes an HTTP server,
The host is
The print control apparatus according to any one of claims 1 to 4, wherein the print data is generated using a script or a plug-in that operates in the Web browser, and a print request is made to the print control apparatus by HTTP.
前記印刷中止処理部は、前記妥当性検証部により不正な印刷データであると判定された場合、前記印刷中止処理を行う請求項4に記載の印刷制御装置。 With a markup schema, a validity verification unit that verifies the validity of the print data,
The print control apparatus according to claim 4, wherein the print cancel processing unit performs the print cancel processing when the validity verification unit determines that the print data is invalid.
マークアップ言語で記述された印刷データを送信する第2のホストと、
前記第1のホストおよび前記第2のホストから送信された印刷データの印刷を行う印刷装置と、
前記第1のホストおよび前記第2のホストから前記印刷データを受信する印刷データ受信部、前記印刷データの前に初期化コマンドを付加して印刷指示コマンドを生成するコマンド生成部、および前記印刷指示コマンドを前記印刷装置に送信するコマンド送信部を有する印刷制御装置と、
を備えたことを特徴とする印刷システム。 A first host for transmitting print data described in a markup language;
A second host for transmitting print data described in a markup language;
A printing device for printing print data transmitted from the first host and the second host;
A print data receiving unit that receives the print data from the first host and the second host, a command generation unit that generates a print instruction command by adding an initialization command before the print data, and the print instruction A print control device having a command transmission unit for transmitting a command to the printing device;
A printing system comprising:
ホストからマークアップ言語で記述された印刷データを受信し、
前記印刷データの前に、初期化コマンドを付加して印刷指示コマンドを生成し、
前記印刷指示コマンドを、印刷装置に送信することを特徴とする印刷制御方法。 The print controller is
Receive print data written in markup language from the host,
Before the print data, an initialization command is added to generate a print instruction command,
A printing control method, wherein the printing instruction command is transmitted to a printing apparatus.
Priority Applications (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012081321A JP6123166B2 (en) | 2012-03-30 | 2012-03-30 | Printing control apparatus, printing system, and printing control method |
CN201510716383.7A CN105278895B (en) | 2012-03-30 | 2013-03-22 | Print control, print system and printing control method |
CN201310093903.4A CN103365607B (en) | 2012-03-30 | 2013-03-22 | Print control, print system and printing control method |
CN201510716374.8A CN105278894B (en) | 2012-03-30 | 2013-03-22 | Print control, print system and printing control method |
TW102110757A TWI523766B (en) | 2012-03-30 | 2013-03-26 | Print control device, printing system, and print control method |
EP13718917.1A EP2695048A1 (en) | 2012-03-30 | 2013-03-27 | Print control device, printing system, and print control method |
US14/384,364 US10019204B2 (en) | 2012-03-30 | 2013-03-27 | Print control device, printing system, and print control method |
KR1020157016746A KR101606335B1 (en) | 2012-03-30 | 2013-03-27 | Print control device |
KR1020157009658A KR101547094B1 (en) | 2012-03-30 | 2013-03-27 | Print control device |
RU2014143782/08A RU2599535C2 (en) | 2012-03-30 | 2013-03-27 | Print control device, printing system and print control method |
PCT/JP2013/060141 WO2013147314A1 (en) | 2012-03-30 | 2013-03-27 | Print control device, printing system, and print control method |
KR1020147000135A KR20140018430A (en) | 2012-03-30 | 2013-03-27 | Print control device, printing system, and print control method |
US16/029,183 US10459668B2 (en) | 2012-03-30 | 2018-07-06 | Print control device, printing system, and print control method for generating image print commands from print data in markup language |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012081321A JP6123166B2 (en) | 2012-03-30 | 2012-03-30 | Printing control apparatus, printing system, and printing control method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013210885A true JP2013210885A (en) | 2013-10-10 |
JP2013210885A5 JP2013210885A5 (en) | 2015-04-09 |
JP6123166B2 JP6123166B2 (en) | 2017-05-10 |
Family
ID=49528641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012081321A Active JP6123166B2 (en) | 2012-03-30 | 2012-03-30 | Printing control apparatus, printing system, and printing control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6123166B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9329820B2 (en) | 2013-04-23 | 2016-05-03 | Seiko Epson Corporation | Print control device, printing system, and print control method |
JP2016095608A (en) * | 2014-11-13 | 2016-05-26 | セイコーエプソン株式会社 | Control method of print controller, print controller, and printing system |
JP2016095607A (en) * | 2014-11-13 | 2016-05-26 | セイコーエプソン株式会社 | Driver program, printing system and data processing method |
WO2018037609A1 (en) | 2016-08-26 | 2018-03-01 | スター精密株式会社 | Device state monitoring system, device state monitoring device, and device state monitoring method |
US10026026B2 (en) | 2014-08-22 | 2018-07-17 | Star Micronics Co., Ltd. | Printer, printing system and print control method |
JP2020154700A (en) * | 2019-03-20 | 2020-09-24 | ブラザー工業株式会社 | Communication device |
JP2020204808A (en) * | 2019-06-14 | 2020-12-24 | ブラザー工業株式会社 | Program group |
JP2020204807A (en) * | 2019-06-14 | 2020-12-24 | ブラザー工業株式会社 | program |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0615927A (en) * | 1992-06-30 | 1994-01-25 | Canon Inc | Output method and device |
JP2004213656A (en) * | 2003-01-03 | 2004-07-29 | Toshiba Corp | Online print by driverless web print server |
JP2005317044A (en) * | 2003-03-28 | 2005-11-10 | Matsushita Electric Ind Co Ltd | Printing contents sending device, printer, and printing system |
JP2006044114A (en) * | 2004-08-05 | 2006-02-16 | Canon Inc | Image forming device, printing mode setting method and printer driver |
JP2008226124A (en) * | 2007-03-15 | 2008-09-25 | Star Micronics Co Ltd | Printing system, control method of printing system, and program |
JP2010176164A (en) * | 2009-01-27 | 2010-08-12 | Seiko Epson Corp | Server, and data reception method |
JP2012061754A (en) * | 2010-09-16 | 2012-03-29 | Ricoh Co Ltd | Printing apparatus, printing system, method and program for controlling the printing apparatus, and storage medium stored with control program |
JP2012063944A (en) * | 2010-09-15 | 2012-03-29 | Canon Inc | Printing system, control method, client terminal, print server, and program |
JP2013111824A (en) * | 2011-11-28 | 2013-06-10 | Kyocera Document Solutions Inc | Image forming apparatus |
-
2012
- 2012-03-30 JP JP2012081321A patent/JP6123166B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0615927A (en) * | 1992-06-30 | 1994-01-25 | Canon Inc | Output method and device |
JP2004213656A (en) * | 2003-01-03 | 2004-07-29 | Toshiba Corp | Online print by driverless web print server |
JP2005317044A (en) * | 2003-03-28 | 2005-11-10 | Matsushita Electric Ind Co Ltd | Printing contents sending device, printer, and printing system |
JP2006044114A (en) * | 2004-08-05 | 2006-02-16 | Canon Inc | Image forming device, printing mode setting method and printer driver |
JP2008226124A (en) * | 2007-03-15 | 2008-09-25 | Star Micronics Co Ltd | Printing system, control method of printing system, and program |
JP2010176164A (en) * | 2009-01-27 | 2010-08-12 | Seiko Epson Corp | Server, and data reception method |
JP2012063944A (en) * | 2010-09-15 | 2012-03-29 | Canon Inc | Printing system, control method, client terminal, print server, and program |
JP2012061754A (en) * | 2010-09-16 | 2012-03-29 | Ricoh Co Ltd | Printing apparatus, printing system, method and program for controlling the printing apparatus, and storage medium stored with control program |
JP2013111824A (en) * | 2011-11-28 | 2013-06-10 | Kyocera Document Solutions Inc | Image forming apparatus |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9547813B2 (en) | 2013-04-23 | 2017-01-17 | Seiko Epson Corporation | Print control device, printing system, and print control method |
US9329820B2 (en) | 2013-04-23 | 2016-05-03 | Seiko Epson Corporation | Print control device, printing system, and print control method |
US10026026B2 (en) | 2014-08-22 | 2018-07-17 | Star Micronics Co., Ltd. | Printer, printing system and print control method |
JP2016095607A (en) * | 2014-11-13 | 2016-05-26 | セイコーエプソン株式会社 | Driver program, printing system and data processing method |
JP2016095608A (en) * | 2014-11-13 | 2016-05-26 | セイコーエプソン株式会社 | Control method of print controller, print controller, and printing system |
WO2018037609A1 (en) | 2016-08-26 | 2018-03-01 | スター精密株式会社 | Device state monitoring system, device state monitoring device, and device state monitoring method |
JP2018032298A (en) * | 2016-08-26 | 2018-03-01 | スター精密株式会社 | Device state monitoring system, device state monitoring apparatus and device state monitoring method |
JP2020154700A (en) * | 2019-03-20 | 2020-09-24 | ブラザー工業株式会社 | Communication device |
JP7322443B2 (en) | 2019-03-20 | 2023-08-08 | ブラザー工業株式会社 | communication device |
JP2020204808A (en) * | 2019-06-14 | 2020-12-24 | ブラザー工業株式会社 | Program group |
JP2020204807A (en) * | 2019-06-14 | 2020-12-24 | ブラザー工業株式会社 | program |
JP7290073B2 (en) | 2019-06-14 | 2023-06-13 | ブラザー工業株式会社 | program |
JP7306088B2 (en) | 2019-06-14 | 2023-07-11 | ブラザー工業株式会社 | program group |
Also Published As
Publication number | Publication date |
---|---|
JP6123166B2 (en) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10459668B2 (en) | Print control device, printing system, and print control method for generating image print commands from print data in markup language | |
JP6123166B2 (en) | Printing control apparatus, printing system, and printing control method | |
JP6015077B2 (en) | Printing control apparatus, printing system, and printing control method | |
US9086832B2 (en) | Printer | |
KR101716615B1 (en) | Print control device and print control method | |
JP2008152545A (en) | Print processing system and print method | |
JP6106939B2 (en) | Printing control apparatus, printing apparatus, printing system, and printing control method | |
US20230315361A1 (en) | Information processing apparatus, print setting application, and print system | |
JP6031797B2 (en) | Printing control apparatus, printing system, and printing system control method | |
JP2013037388A (en) | Output control device, control method of output device, and program | |
US8547578B2 (en) | Print driver, information processing apparatus, and computer-readable storage medium for generating different types of drawing commands and job commands | |
JP5151766B2 (en) | Printing system, host device used in the system, and print processing program | |
JP6019871B2 (en) | Printing apparatus, printing system, and POS system | |
US20140355065A1 (en) | Printer | |
JP6402575B2 (en) | Printing system and printing system control method | |
JP5614084B2 (en) | Information processing apparatus and information processing method | |
JP2008102704A (en) | Device apparatus and its control method, computer program and storage medium | |
JP2008041018A (en) | Peripheral device including printing mechanism and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150223 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160927 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161110 |
|
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: 20170307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170320 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6123166 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |