(57)【要約】【課題】印刷装置を制御する装置が、印刷装置が対応するデータの形態等に関する情報を、効率よく取得できるようにする。【解決手段】端末装置１は、プリンター５、６に通信可能に接続される通信インターフェース２３を備える。また、端末装置１は、通信インターフェース２３により、プリンター５、６に対して通信可能な通信ポートを示すポート情報を要求し、要求に応じてプリンター５、６が送信するポート情報を受信する端末制御部１０を備える。端末制御部１０は、ポート情報に基づいて、プリンター５、６が対応可能なデータの形態を判別する。【選択図】図１
2015230598.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と通信可能に接続される通信部と、
前記通信部により、前記印刷装置に対して通信可能な通信ポートを示すポート情報を要求し、前記要求に応じて前記印刷装置が送信するポート情報を受信する制御部と、を備え、
前記制御部は、前記ポート情報に基づいて、前記印刷装置が対応可能なデータの形態を判別すること、
を特徴とする印刷制御装置。
【請求項２】
前記制御部は、前記ポート情報に基づいて判別した形態に適合するデータを用いて、前記通信部により前記印刷装置と通信すること、を特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記制御部は、前記通信部により前記印刷装置に対して前記要求を送信した後、前記ポート情報を前記通信部により受信しない場合には、前記印刷装置に対応するデータの形態を、予め設定された形態と判別すること、を特徴とする請求項１または２記載の印刷制御装置。
【請求項４】
前記制御部は、判別した形態に適合するデータを用いて前記印刷装置に印刷データを送信し、印刷を実行させること、を特徴とする請求項２または３記載の印刷制御装置。
【請求項５】
前記通信部は、複数の前記印刷装置を接続可能な通信ネットワークに接続され、
前記制御部は、前記通信部により、前記通信ネットワークに接続された前記印刷装置を検索し、検索した前記印刷装置に対して前記ポート情報を要求すること、を特徴とする請求項１から４のいずれかに記載の印刷制御装置。
【請求項６】
前記制御部は、前記通信部により前記印刷装置から受信した前記ポート情報に基づいて前記印刷装置が対応可能なデータの形態を判別し、判別結果と前記印刷装置とを対応付けるデータ形式情報を生成すること、を特徴とする請求項５記載の印刷制御装置。
【請求項７】
印刷データに基づき印刷を実行する印刷装置と、
前記印刷装置に通信可能に接続される通信部、及び、前記通信部によって前記印刷装置に対して通信可能な通信ポートを示すポート情報を要求し、前記要求に応じて前記印刷装置が送信するポート情報を受信する制御部を備える通信制御装置と、を備え、
前記制御部は、前記ポート情報に基づいて、前記印刷装置が対応可能なデータの形態を判別すること、
を特徴とする印刷システム。
【請求項８】
印刷装置と通信可能に接続される装置により実行される印刷制御方法であって、
前記印刷装置に対して通信可能な通信ポートを示すポート情報を要求し、
前記要求に応じて前記印刷装置が送信するポート情報を受信し、
前記ポート情報に基づいて、前記印刷装置が対応可能なデータの形態を判別すること、
を特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷システム、及び、印刷制御方法に関する。
【背景技術】
【０００２】
一般に、プリンター等の印刷装置を利用する場合、印刷装置の仕様に合わせた形態でデータを送受信する必要がある。プロトコル等のデータの形態に関する仕様は印刷装置の機種によって異なる場合も多い。このため、従来、印刷装置が対応するデータの形態を設定する手法が提案された（例えば、特許文献１参照）。特許文献１記載の方法では、複数の印刷装置と専用のサーバーと通信可能な装置により、サーバーに問合せをすることにより、プロトコルの選択を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３６２２４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１記載の方法では、サーバー装置を必要とするため、特許文献１に記載されたように多数の印刷装置を利用する場合は便利である一方、装置が多くなるため効率が悪い。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置を制御する装置が、印刷装置が対応するデータの形態等に関する情報を、効率よく取得できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、印刷装置と通信可能に接続される通信部と、前記通信部により、前記印刷装置に対して通信可能な通信ポートを示すポート情報を要求し、前記要求に応じて前記印刷装置が送信するポート情報を受信する制御部と、を備え、前記制御部は、前記ポート情報に基づいて、前記印刷装置が対応可能なデータの形態を判別すること、を特徴とする。
本発明によれば、印刷装置が対応可能なデータの形態を、印刷装置から送信される情報に基づいて判別できる。このため、印刷装置の仕様に関する情報を持たない装置であっても、印刷装置からポート情報を受信すれば、印刷装置を制御できるようになる。この構成では、サーバー装置等の装置を必要としないので、印刷装置を含むシステムの規模を問わず適用できる。また、印刷装置が送信する情報は、通信可能な通信ポートに関する情報であって、一般的な情報である。このため、印刷装置に特別な機能を実装しなくても本発明を適用できる。
【０００６】
また、本発明は、上記印刷制御装置において、前記制御部は、前記ポート情報に基づいて判別した形態に適合するデータを用いて、前記通信部により前記印刷装置と通信すること、を特徴とする。
本発明によれば、印刷装置が対応可能なデータの形態を用いて、印刷装置を制御できる。
【０００７】
また、本発明は、上記印刷制御装置において、前記制御部は、前記通信部により前記印刷装置に対して前記要求を送信した後、前記ポート情報を前記通信部により受信しない場合には、前記印刷装置に対応するデータの形態を、予め設定された形態と判別すること、を特徴とする。
本発明によれば、通信ポートに関するポート情報を送信する機能を持たない印刷装置であっても、データを送信して制御できる。例えば、ポート情報を送信する機能を持たない印刷装置において一般的に使用されるデータの形態が既知である場合には、この形態が設定されていれば、多くの印刷装置を制御可能となるので有用である。
【０００８】
また、本発明は、上記印刷制御装置において、前記制御部は、判別した形態に適合するデータを用いて前記印刷装置に印刷データを送信し、印刷を実行させること、を特徴とする。
本発明によれば、印刷装置が対応可能なデータの形態を用いて、印刷装置に印刷を実行させることができる。
【０００９】
また、本発明は、上記印刷制御装置において、前記通信部は、複数の前記印刷装置を接続可能な通信ネットワークに接続され、前記制御部は、前記通信部により、前記通信ネットワークに接続された前記印刷装置を検索し、検索した前記印刷装置に対して前記ポート情報を要求すること、を特徴とする。
本発明によれば、通信ネットワークを介して使用可能な印刷装置を調べるとともに、印刷装置が対応可能なデータの形態を判別できる。このため、複数の印刷装置と通信可能な場合や、使用可能な印刷装置の数が未知である場合に、複雑な処理を経ることなく、これら複数の印刷装置から使用する印刷装置を選択して使用できるようになる。
【００１０】
また、本発明は、上記印刷制御装置において、前記制御部は、前記通信部により前記印刷装置から受信した前記ポート情報に基づいて前記印刷装置が対応可能なデータの形態を判別し、判別結果と前記印刷装置とを対応付けるデータ形式情報を生成すること、を特徴とする。
本発明によれば、通信ネットワークを介して使用可能な印刷装置を調べ、各印刷装置が対応可能なデータの形態に関する情報を得ることができる。このため、複数の印刷装置と通信可能な場合に、各印刷装置を制御するために必要な情報を予め生成できる。従って、複数の印刷装置を自在に選択して制御できる。
【００１１】
また、上記目的を達成するため、本発明の印刷システムは、印刷データに基づき印刷を実行する印刷装置と、前記印刷装置に通信可能に接続される通信部、及び、前記通信部によって前記印刷装置に対して通信可能な通信ポートを示すポート情報を要求し、前記要求に応じて前記印刷装置が送信するポート情報を受信する制御部を備える通信制御装置と、を備え、前記制御部は、前記ポート情報に基づいて、前記印刷装置が対応可能なデータの形態を判別すること、を特徴とする。
本発明によれば、印刷装置が対応可能なデータの形態を、印刷装置から送信される情報に基づいて判別できる。このため、印刷装置の仕様に関する情報を持たない装置であっても、印刷装置からポート情報を受信すれば、印刷装置を制御できるようになる。また、印刷装置が送信する情報は、通信可能な通信ポートに関する情報であって、一般的な情報である。このため、印刷装置に特別な機能を実装しなくても本発明を適用できる。
【００１２】
また、上記目的を達成するため、本発明は、印刷装置と通信可能に接続される装置により実行される印刷制御方法であって、前記印刷装置に対して通信可能な通信ポートを示すポート情報を要求し、前記要求に応じて前記印刷装置が送信するポート情報を受信し、前記ポート情報に基づいて、前記印刷装置が対応可能なデータの形態を判別すること、を特徴とする。
本発明によれば、印刷装置が対応可能なデータの形態を、印刷装置から送信される情報に基づいて判別できる。このため、印刷装置の仕様に関する情報を持たない装置であっても、印刷装置からポート情報を受信すれば、印刷装置を制御できるようになる。また、印刷装置が送信する情報は、通信可能な通信ポートに関する情報であって、一般的な情報である。このため、印刷装置に特別な機能を実装しなくても本発明を適用できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る印刷システムの構成を示すブロック図である。
【図２】印刷システムの動作の概要を示す説明図である。
【図３】印刷システムの動作を示すフローチャートである。
【図４】第２の実施形態に係る印刷システムの構成を示す図である。
【図５】第２の実施形態の印刷システムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
以下、図面を参照して本発明の実施形態について説明する。
図１は、第１の実施形態に係る印刷システム１００の機能ブロック図である。
印刷システム１００は、プリンター５（印刷装置）と、プリンター５を制御する端末装置１（印刷制御装置）とを接続して構成される。また、端末装置１には、プリンター５に代えてプリンター６（印刷装置）を接続できる。
印刷システム１００は、オペレーターが端末装置１を操作し、この操作に従って端末装置１が印刷データをプリンター５に出力し、プリンター５が印刷データに基づいて印刷媒体に印刷するシステムである。端末装置１にプリンター６を接続した場合、端末装置１の操作によりプリンター６が印刷媒体に印刷を行う。
【００１５】
端末装置１とプリンター５、６とは通信線３により接続される。通信線３は、通信ケーブル、または無線通信回線で構成される。例えば、通信線３は、USB、IEEE1284、IEEE1394、RS-232C等の各種規格に準拠した１対１接続の通信ケーブル、或いは、Ethernet（登録商標）に準拠した有線ネットワークである。また、通信線３は、Bluetooth（登録商標）、Wireless USB等の近距離無線通信や、無線LAN等の無線通信ネットワークを採用してもよい。
端末装置１に接続されるプリンター５、６の数に制限はないが、本実施形態では一例として、端末装置１に対し１台のプリンター５またはプリンター６が接続される例を説明する。
また、以下の説明において、端末装置１とプリンター５とは、有線ＬＡＮまたは無線ＬＡＮからなる通信線３により接続されると、より好適である。
【００１６】
端末装置１は、オペレーターが操作するコンピューターであり、例えば、デスクトップ型コンピューター、ノート型コンピューター、タブレット型コンピューターの他、いわゆるスマートフォン、携帯型電話機等である。端末装置１は、Windows（登録商標）オペレーティングシステム、Android（登録商標）オペレーティングシステム、ｉＯＳ（登録商標）等のオペレーティングを、ハードウェアに搭載している。端末装置１は、上記オペレーティングシステムの機能により、入力操作を検出し、操作に応じた機能を実行し、実行する機能に関する画面表示を行う。
【００１７】
端末装置１は、端末装置１に対する操作を検出する端末入力部２１、各種情報を表示する端末表示部２２、及び、プリンター５、６に接続される通信インターフェース（Ｉ／Ｆ）２３を備える。端末入力部２１及び端末表示部２２は、オペレーターの操作に利用される。また、通信インターフェース２３（通信部）は、通信線３を介してプリンター５またはプリンター６との間でデータ通信を実行する。通信インターフェース２３は、例えば、USB、IEEE1284、IEEE1394、RS-232C、Ethernet等に準拠した有線通信インターフェース、或いは、Bluetooth、Wireless USB、無線LAN等の無線通信インターフェースである。
【００１８】
端末装置１は、端末装置１の各部を制御する端末制御部１０（制御部）を備える。端末制御部１０は、アプリケーション実行部１１と、ドライバー実行部１２とを備える。端末制御部１０は、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ等を備え、プログラムを実行することにより端末装置１の機能を実現する。端末制御部１０のＲＯＭには、ＣＰＵによって実行可能な基本制御プログラム等が不揮発的に記憶される。また、ＲＡＭにはＣＰＵが実行するプログラムや処理対象のデータ等が一時的に記憶される。
端末制御部１０には端末記憶部１５が接続される。端末記憶部１５は、磁気記憶媒体や半導体メモリーデバイスを備えた記憶装置で構成され、端末制御部１０のＣＰＵ（図示略）により実行されるプログラム、及び、ＣＰＵにより処理されるデータを不揮発的に記憶する。端末記憶部１５は、例えば、端末制御部１０が実行するアプリケーションプログラム１６、端末制御部１０により処理されるライブラリー１７、設定データ１８、及びプリンター情報１９を記憶する。
【００１９】
アプリケーションプログラム１６は、例えば、文書作成プログラム、画像編集プログラム、ＰＯＳアプリケーション、或いはラベル作成プログラム等のアプリケーションプログラムである。アプリケーションプログラム１６は、端末制御部１０が備えるアプリケーション実行部１１により実行される。別の表現をすれば、アプリケーション実行部１１は、端末制御部１０のＣＰＵがアプリケーションプログラム１６を実行する機能を示す機能ブロックである。アプリケーション実行部１１がアプリケーションプログラム１６を実行すると、端末装置１により、文書作成、画像編集、ＰＯＳ端末としての動作、ラベル作成等の各種の機能を利用できる。
【００２０】
ライブラリー１７は、端末装置１のオペレーティングシステムの一部を構成し、周辺機器の制御等の機能を実行するミドルウェアである。本実施形態のライブラリー１７は、プリンター５、６に対して、印刷実行を指示するコマンドや印刷対象のデータを送信する機能を有する。端末制御部１０のＣＰＵがライブラリー１７を実行することにより、ドライバー実行部１２の機能が実現される。ドライバー実行部１２は、端末記憶部１５に記憶された、プリンター５、６に対応するプリンタードライバープログラム（図示略）を実行する。ドライバー実行部１２は、アプリケーション実行部１１が生成した文書や画像のデータを取得し、プリンター５、６に適した形態の各種コマンドやデータを含む印刷データを、通信インターフェース２３により送信する。この印刷データは、例えば、印刷実行を指示するコマンド、及び、印刷するデータを含む。
【００２１】
プリンター５は、端末装置１が送信する印刷データに基づいて、図示しない印刷媒体に印刷を行う。プリンター５が使用する印刷媒体は、所定サイズにカットされたカットシートまたは連続シートであり、これらのシートは紙または合成樹脂製であって、表面加工が施されていてもよい。連続シートは、例えばロール紙やファンフォールド紙である。また、裏面に粘着剤が付された定型サイズのラベルを、剥離紙（台紙）に並べてロール状に巻いたラベル用紙を用いてもよい。また、プリンター５の印刷方式は任意である。本実施形態では、普通紙をロール状に巻いたロール紙を印刷媒体とし、印刷媒体にインクを吐出して印刷するインクジェット式プリンターを例に挙げる。
【００２２】
プリンター５は、印刷ヘッド６４を備える。本実施形態の印刷ヘッド６４はインクを吐出するノズルを備えたインクジェット式の印刷ヘッドである。印刷ヘッド６４は、搬送方向に直交する方向において印刷範囲全体にわたって、ノズルが列をなして配置されたラインヘッドである。印刷ヘッド６４は、シアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）、及びブラック（Ｋ）の４色の色毎にノズル列を有し、フルカラーで印刷媒体に印刷を行うことができる。また、印刷ヘッド６４が、さらに多色のインクを使用する構成であってもよいし、２色またはモノクロのインクを使用する構成であってもよい。
また、印刷ヘッド６４は、感熱紙に熱を与えて印刷するサーマルヘッドであってもよく、プリンター５はサーマルプリンターであってもよい。
【００２３】
プリンター５は、プリンター５の各部を制御するプリンター制御部５０を備える。プリンター制御部５０は、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ等を備える。プリンター制御部５０のＲＯＭには、ＣＰＵによって実行可能なファームウェア、ファームウェアに係るデータ等が不揮発的に記憶される。また、ＲＡＭにはＣＰＵが実行するファームウェアに係るデータ等が一時的に記憶される。プリンター制御部５０は、その他の周辺回路等を備えていてもよい。
【００２４】
プリンター制御部５０には、上述した印刷ヘッド６４の他、プリンター入力部６１、プリンター表示部６２、通信インターフェース（Ｉ／Ｆ）６３、センサー６６、搬送モーター６５、及び、プリンター記憶部５５の各部が接続される。
プリンター入力部６１は、各種スイッチを備え、これらスイッチの操作に応じた信号をプリンター制御部５０に出力する。プリンター表示部６２は、プリンター制御部５０の制御によりプリンター５の動作状態等を表示するＬＥＤインジケーターや液晶表示パネルを備える。通信インターフェース６３は、通信線３を介して端末装置１との間でデータ通信を実行する。通信インターフェース６３は、例えば、USB、IEEE1284、IEEE1394、RS-232C、Ethernet等に準拠した有線通信インターフェース、或いは、Bluetooth、Wireless USB、無線LAN等の無線通信インターフェースである。
【００２５】
搬送モーター６５は、プリンター制御部５０の制御に従って搬送ローラー（図示略）を回転させ、印刷媒体を搬送する。
センサー６６は、印刷媒体の搬送経路上に設けられた光センサーである。プリンター制御部５０は、センサー６６を利用して、印刷媒体、または印刷媒体に付された位置検出用のマーク（図示略）を検出する。
【００２６】
プリンター制御部５０は、機能を実行する実行部として、プリントサーバー部５１、及び印刷制御部５２を備える。これらの実行部は、ＣＰＵがファームウェアを実行した場合に実現される機能に相当する。また、プリンター制御部５０を構成するＲＡＭ（図示略）の記憶領域に、受信バッファー５３及びプリントバッファー５４が設けられる。受信バッファー５３及びプリントバッファー５４のいずれか、または両方を、プリンター記憶部５５に設けることも、プリンター制御部５０に外部接続されるＲＡＭに設けることも可能である。
プリンター記憶部５５は、磁気記憶媒体や半導体メモリーデバイスを備えた記憶装置で構成され、各種データを書き換え可能に不揮発的に記憶する。プリンター記憶部５５は、プリンター５のデータ通信の仕様等に関する情報を含む通信設定データ５６を記憶する。
【００２７】
プリントサーバー部５１は、通信インターフェース６３に対して所定の通信ポートを指定してhttp（hypertext transfer protocol）アクセスがされた場合に、このアクセスに対してウェブサーバーとして処理を行う。
プリントサーバー部５１は、通信インターフェース６３を介して端末装置１との間でデータ通信を実行する。プリントサーバー部５１は、通信インターフェース６３により、端末装置１が送信した印刷データを受信した場合、受信した印刷データを受信バッファー５３に記憶させる。受信バッファー５３には、受信された印刷データが受信順に蓄積される。
【００２８】
プリントサーバー部５１は、所定のデータ形式の印刷データを受信し、処理可能な構成となっている。印刷データのデータ形式は、本願発明のデータの形態の一例に相当する。プリントサーバー部５１が対応するデータ形式は、例えば、ＸＭＬ形式や、ＥＳＣ／ＰＯＳ（登録商標）が挙げられる。ＸＭＬ形式のデータに対応する構成では、プリントサーバー部５１が印刷データを受信する通信ポートは、ＸＭＬデータ用に予め設定された、例えばポート８００９番である。プリントサーバー部５１は、端末装置１から８００９番ポート宛てにアクセスがあった場合に、このアクセスに応答して、端末装置１が送信するＸＭＬ形式のデータを受信する。プリントサーバー部５１は、受信したデータを、印刷制御部５２が処理可能なデータに変換して受信バッファー５３に記憶させる。また、ＥＳＣ／ＰＯＳ形式のデータに対応する構成では、プリントサーバー部５１が印刷データを受信する通信ポートは、ＥＳＣ／ＰＯＳ用に予め設定された、例えばポート９１００番である。
【００２９】
印刷制御部５２は、受信バッファー５３に記憶した印刷データに含まれるコマンドを解析する。印刷実行の指示と印刷するデータとを検出した場合、印刷制御部５２は、データをプリントバッファー５４に展開して、印刷画像を生成する。印刷制御部５２は、印刷ヘッド６４及び搬送モーター６５を制御して、プリントバッファー５４に展開した印刷画像を印刷媒体に印刷する。
【００３０】
また、プリントサーバー部５１は、端末装置１によるhttpアクセスに応答して、プリンター５が通信可能な通信ポートのリスト（ポート情報）を端末装置１に送信する機能を有する。プリンター５が通信可能な通信ポートを示す情報は、プリンター記憶部５５に記憶された通信設定データ５６に含まれている。また、通信設定データ５６それ自体が、通信ポートのリストであってもよい。プリントサーバー部５１は、通信インターフェース６３へのhttpアクセスに応答して、通信設定データ５６を読み出して、通信ポートのリストを端末装置１に送信する。
【００３１】
プリンター６は、プリンター５と同様に、端末装置１から送信される印刷データに基づき印刷を実行するプリンターである。プリンター６が備える構成部のうち、プリンター５が備える構成部と共通するものについては、同符号を付して説明を省略する。
プリンター６は、プリンター６の各部を制御するプリンター制御部５０ａを備える。プリンター制御部５０ａは、プリンター制御部５０と同様、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ等を備える。プリンター制御部５０ａのＲＯＭには、ＣＰＵによって実行可能なファームウェア、ファームウェアに係るデータ等が不揮発的に記憶される。また、ＲＡＭにはＣＰＵが実行するファームウェアに係るデータ等が一時的に記憶される。プリンター制御部５０ａは、その他の周辺回路等を備えていてもよい。プリンター制御部５０ａは、プリンター制御部５０と同様に印刷制御部５２、受信バッファー５３、及びプリントバッファー５４を備える。一方、プリンター制御部５０ａは、アプリケーション実行部１１を有していない。このため、プリンター６は、端末装置１が送信した印刷データを通信インターフェース６３により受信した場合、プリンター制御部５０ａが、受信した印刷データを受信バッファー５３に記憶させる。
【００３２】
また、プリンター６は、プリンター記憶部５５に代えてプリンター記憶部５５ａを備える。プリンター記憶部５５ａはプリンター記憶部５５と同様にプログラムやデータを不揮発的に記憶する。プリンター記憶部５５ａは、通信設定データ５６を記憶していない。通信設定データ５６のようなデータを記憶していてもよいが、少なくとも、プリンター５のように通信ポートのリストを送信する目的で通信設定データ５６を記憶する必要はない。
プリンター６は、予め設定された形式の印刷データや、その他のコマンドを受信して、受信バッファー５３に記憶し、印刷動作や、コマンドで指定された動作を実行する。また、プリンター６のプリンター制御部５０ａは、プリンター６が対応するコマンド体系で定義されていないコマンドを通信インターフェース６３により受信した場合、このコマンドを受信バッファー５３に記憶するが、実行せず読み捨てる。
【００３３】
プリンター６は、例えばＥＳＣ／ＰＯＳのように既知のコマンド体系に対応した、従来型のプリンターということができる。プリンター６はＸＭＬ形式のデータには対応しない。また、プリンター６は、プリンター５とは異なりプリントサーバー部を備えていないので、端末装置１からhttpアクセスがされた場合に、httpアクセスにウェブサーバーとして応答することはない。
このように、端末装置１には、２種類のプリンター５、６を接続可能であり、プリンター５、６が対応するデータの形態は異なっている可能性がある。本実施形態では、データの形態はＸＭＬ形式かＥＳＣ／ＰＯＳ形式かのいずれかであるが、端末装置１にとって、プリンター５が処理可能なデータ形式がＸＭＬ形式かＥＳＣ／ＰＯＳ形式かは未知である。端末装置１は、通信インターフェース２３に接続されたプリンター５またはプリンター６に対し、このプリンターが対応可能なデータ形式で制御データや印刷データを送信する必要がある。
【００３４】
図２は、印刷システム１００の動作の概要を示す説明図である。図２（Ａ）は端末装置１にＥＳＣ／ＰＯＳに対応するプリンター５またはプリンター６を接続した場合の動作を示す。図２（Ｂ）は端末装置１にＸＭＬに対応するプリンター５を接続した場合の動作を示す。図２（Ｃ）は端末装置１に接続されたプリンターが対応するデータ形式を特定する動作を示す。
【００３５】
図２（Ａ）に示すように、端末装置１に接続されたプリンターが、ＥＳＣ／ＰＯＳに対応するプリンター（プリンター５またはプリンター６）である場合、端末装置１は、ＥＳＣ／ＰＯＳコマンドにより、プリンター５、６に対する印刷指示等を行う。これに対し、端末装置１に、図２（Ｂ）に示すようにＸＭＬに対応したプリンター５が接続された場合、端末装置１は、プリンター５に対してＸＭＬ形式の印刷データを送信し、印刷を実行させる。
【００３６】
図２（Ａ）及び（Ｂ）に示した端末装置１の動作は、端末装置１に接続されたプリンターが対応するデータ形式に関する情報を端末装置１が取得した場合に可能となる。そこで、端末装置１は、図２（Ｃ）に示すように、端末装置１に接続されたプリンターに対し、httpリクエストを送信する。このhttpリクエストは、端末装置１に接続されたプリンターがデータを受信可能なポート番号のリストを要求する。上述した例のように、印刷システム１００においてＸＭＬ形式のデータを送受信する場合、プリンター５がＸＭＬ形式のデータを受信するポート番号は９１００番であり、ＥＳＣ／ＰＯＳコマンドを受信するポート番号は８００９番である。従って、端末装置１は、プリンター５が返信するポート番号のリストに基づき、接続されたプリンター５が対応するデータ形式がＥＳＣ／ＰＯＳであるかＸＭＬであるかを特定できる。また、httpリクエストへの応答がない場合、端末装置１は、httpリクエストに応答する機能を持たないプリンター５、或いは、プリンター６が接続されたと判断できる。この場合、端末装置１は、予め設定された初期値（デフォルト）のデータ形式を選択する。デフォルトのデータ形式は、例えば、旧来のプリンターが対応可能なＥＳＣ／ＰＯＳコマンドである。
【００３７】
なお、ここで例に挙げたポート番号はＴＣＰ／ＩＰまたはＵＤＰを利用した通信を実行する場合のポート番号である。端末装置１とプリンター５またはプリンター６が、ＴＣＰ／ＩＰまたはＵＤＰを利用しない形態で接続された場合、httpリクエストは実行されない。例えば、USB、IEEE1284、IEEE1394、RS-232C等の各種規格に準拠した１対１接続の通信ケーブル、或いは、Bluetoothで接続された場合に該当する。
従って、図２（Ｃ）の動作は端末装置１に対して有線ＬＡＮや無線ＬＡＮ等の、ＴＣＰ／ＩＰまたはＵＤＰに対応した形態でプリンター５またはプリンター６が接続された場合に適用される。
【００３８】
図３は、印刷システム１００の動作を示すフローチャートである。図３（Ａ）はアプリケーション実行部１１の動作を示し、図３（Ｂ）はドライバー実行部１２の動作を示し、図３（Ｃ）はプリンター５の動作を示す。
アプリケーション実行部１１により文書作成や画像編集が行われ、オペレーターの操作により印刷が指示されると、アプリケーション実行部１１がライブラリー１７を呼び出して、プリンターへの接続と印刷を要求する（ステップＳ１１）。ドライバー実行部１２はライブラリー１７の呼び出しに応答して動作を開始し、アプリケーション実行部１１が出力した接続及び印刷の要求を取得する（ステップＳ２１）。ここで、ドライバー実行部１２は、アプリケーション実行部１１が生成した印刷対象のデータを取得する。
【００３９】
ドライバー実行部１２は、通信インターフェース２３に接続されたプリンターに対し、ポート番号のリストを要求するhttpリクエストを生成して送信する（ステップＳ２２）。このhttpリクエストは通常のhttpによるアクセスと同様に、例えばＴＣＰ８０番ポートに送信される。
プリンター５は、端末装置１から送信されたhttpリクエストを受信して（ステップＳ３１）、プリンター記憶部５５に記憶した通信設定データ５６に基づき、要求されたポートのリストを生成して、端末装置１に送信する（ステップＳ３２）。
【００４０】
ドライバー実行部１２は、プリンター５からポートのリストが送信されるまで待機する（ステップＳ２３）。設定された時間内にポートのリストを受信した場合（ステップＳ２３；ＹＥＳ）、ドライバー実行部１２は受信したポートのリストを参照して、ドライバー実行部１２が印刷データ送信時に接続するポートを選択する（ステップＳ２４）。例えばポートのリストにＴＣＰ８００９番が含まれている場合、ドライバー実行部１２は印刷データの送信先のポート番号を８００９番にする。また、ポートのリストに、ドライバー実行部１２が印刷データを送信可能な複数のポート番号が含まれる場合、ドライバー実行部１２は、予め設定された優先順位に従ってポートを選択する。
【００４１】
ドライバー実行部１２は、選択したポートに対応するデータ形式を判別する（ステップＳ２５）。また、ドライバー実行部１２は、設定された時間内に通信インターフェース２３でポートのリストを受信しなかった場合（ステップＳ２３；ＮＯ）、ステップＳ２５に移行して、デフォルトのデータ形式を選択する。ここで、ドライバー実行部１２は、通信インターフェース２３に接続されたプリンター５のデータ形式を示すプリンター情報１９（データ形式情報）を生成し、端末記憶部１５に記憶させる。
プリンター情報１９は、少なくとも、プリンター５を特定する情報と、プリンター５が対応するデータ形式を示す情報とを対応付ける。また、プリンター情報１９は、プリンター５が対応するデータ形式とともに、プリンター５が受付可能な通信ポートの番号を含んでもよい。また、プリンター５が受付可能な通信ポートが複数ある場合、ドライバー実行部１２は、ステップＳ２５で判別したデータ形式と、このデータ形式に対応する通信ポートに関する情報をプリンター情報１９に登録する。
プリンター情報１９を用いることにより、その後にドライバー実行部１２がプリンター５に印刷を実行させる場合に、ステップＳ２２〜Ｓ２５の動作を省略できる。
ドライバー実行部１２は、アプリケーション実行部１１から取得したデータを印刷するための印刷指示やデータを含む印刷データを、ステップＳ２５で選択したデータ形式で、プリンター５に送信する（ステップＳ２６）。
【００４２】
プリンター５は、端末装置１から送信された印刷データを受信して（ステップＳ３３）、受信した印刷データに基づき印刷を実行する（ステップＳ３４）。受信した印刷データの印刷が完了すると、プリンター５は印刷完了の通知を生成して端末装置１に送信する（ステップＳ３５）。
ドライバー実行部１２は、プリンター５から送信される印刷完了の通知に基づき、印刷完了を検出し（ステップＳ２７）、アプリケーション実行部１１に対して印刷完了を通知する（ステップＳ２８）。アプリケーション実行部１１は、ドライバー実行部１２からの通知に基づき印刷完了を検出し（ステップＳ１２）、例えば端末表示部２２に印刷完了を示す通知を行う。
【００４３】
また、端末装置１にプリンター６が接続された場合も、端末装置１のアプリケーション実行部１１及びドライバー実行部１２は図３（Ａ）、（Ｂ）に示す動作を実行する。この場合、プリンター６はhttpリクエストを受信して解析する機能を持たないため、ドライバー実行部１２は、ポートのリストを受信できない（ステップＳ２３；ＮＯ）。このため、ドライバー実行部１２は送信データ形式としてデフォルトの形式（例えば、ＥＳＣ／ＰＯＳ）を選択し、プリンター６と、デフォルトのデータ形式とを対応付けてプリンター情報１９に登録する。これにより、端末装置１はプリンター６を制御して印刷を実行させることができる。
【００４４】
以上説明したように、本発明を適用した第１の実施形態に係る印刷システム１００は、端末装置１と、端末装置１に接続されたプリンター５またはプリンター６とを備える。端末装置１は、プリンター５、６に通信可能に接続される通信インターフェース２３を備える。また、端末装置１は、通信インターフェース２３により、プリンター５、６に対して通信可能な通信ポートを示すポート情報を要求し、要求に応じてプリンター５、６が送信するポート情報を受信する端末制御部１０を備える。端末制御部１０は、プリンター５、６から受信したポート情報に基づいて、プリンター５、６が対応可能なデータの形態を判別する。このため、端末装置１は、通信インターフェース２３に接続されたプリンター５またはプリンター６に適合するデータの形態を選択して、印刷データを送信し、印刷を実行させることができる。このため、端末装置１がプリンター５、６の仕様に関する情報を持っていなくても、プリンター５、６を制御できるようになる。さらに、プリンター５、６が送信する情報は、通信可能な通信ポートに関する情報であって、一般的な情報である。このため、プリンター５、６に特別な機能を実装しなくても本発明を適用できる。
また、端末制御部１０では、アプリケーション実行部１１がドライバー実行部１２を呼び出すことにより、ドライバー実行部１２が、通信インターフェース２３に接続されたプリンター５またはプリンター６に対応するデータ形式を選択する。このため、アプリケーション実行部１１が、プリンターが対応するデータ形式を考慮した処理を行う必要がない。従って、アプリケーション実行部１１が実行するアプリケーションプログラム１６に、特定のプリンターに対応する機能を実装する必要がないという利点がある。
【００４５】
ここで、データの形態とは、ＸＭＬ形式、ＥＳＣ／ＰＯＳ形式などデータの形式を指すだけでなく、コマンド体系を指すと解釈することもできる。例えば、端末装置１がプリンター５、６に送信するコマンドの種類やコマンド体系を判別する動作を、データの形態を判別するということができる。
【００４６】
端末制御部１０のドライバー実行部１２は、ポート情報に基づいて判別した形態に適合するデータを用いて、通信インターフェース２３によりプリンター５、６と通信し、プリンター５、６を制御できる。また、ドライバー実行部１２は、判別した形態に適合するデータを用いてプリンター５、６に印刷データを送信し、印刷を実行させることができる。
ドライバー実行部１２は、通信インターフェース２３によりプリンター５、６から受信した通信ポートのリストに基づいてプリンター５、６が対応可能なデータの形態を判別し、判別結果とプリンター５、６とを対応付けるデータ形式情報を生成する。このデータ形式情報は、例えば、プリンター情報１９として端末記憶部１５に記憶される。
また、ドライバー実行部１２は、プリンター５、６に対してhttpリクエストを送信した後、ポートのリストを通信インターフェース２３により受信しない場合には、プリンター５、６に対応するデータの形態を、予め設定された形態と判別する。このため、httpリクエストに応答する機能を持たないプリンター、或いは、通信ポートのリストを送信する機能を持たないプリンターを、ドライバー実行部１２が制御できる。
【００４７】
［第２の実施形態］
図４は、本発明を適用した第２の実施形態に係る印刷システム１０１の構成を示す図である。この印刷システム１０１において、第１の実施形態で説明した印刷システム１００と共通する構成については、同符号を付して図示及び説明を省略する。
図４に示す印刷システム１０１は、端末装置１に対し、通信ネットワーク４を介して複数のプリンター５を接続した構成となっている。この構成では、端末装置１は１台のプリンター５を選択して印刷を実行させる。
印刷システム１０１の端末装置１、及び各々のプリンター５には、通信ネットワーク４において固有のネットワークアドレスが割り当てられていて、通信ネットワーク４上で端末装置１及び各々のプリンター５を特定できる。通信ネットワーク４は、有線ＬＡＮ及び無線ＬＡＮのいずれであってもよいし、通信ネットワーク４の一部が広域通信回線で構成されてもよい。
【００４８】
印刷システム１０１では、端末装置１が、各プリンター５が対応するデータの形態、及び、使用可能なプリンター５の数に関する情報を有していなくても、端末装置１がプリンター５を検索でき、各プリンター５が対応するデータの形態に関する情報を取得できる。
【００４９】
図５は、第２の実施形態の印刷システムの動作を示すフローチャートである。図５（Ａ）はアプリケーション実行部１１の動作を示し、図５（Ｂ）はドライバー実行部１２の動作を示し、図５（Ｃ）はプリンター５の動作を示す。また、図５（Ａ）〜（Ｃ）に示すフローチャートにおいて、図３（Ａ）〜（Ｃ）と共通する処理ステップには、同ステップ番号を付して説明を省略する。
ステップＳ１１でアプリケーション実行部１１がライブラリー１７を呼び出すと、ステップＳ２１で、ドライバー実行部１２が、ライブラリー１７の呼び出しに応答して動作を開始する。ステップＳ２１では、ドライバー実行部１２が、アプリケーション実行部１１が出力した接続及び印刷の要求を取得し、アプリケーション実行部１１が生成した印刷対象のデータを取得する。
【００５０】
ここで、ドライバー実行部１２は、通信ネットワーク４に接続されたプリンター５を検出するため、ＩＰアドレスを要求するhttpリクエストを送信する（ステップＳ４１）。ステップＳ４１で送信されるhttpリクエストは、例えばブロードキャストされ、通信ネットワーク４を介して通信可能な全てのプリンター５が受信できる。
プリンター５は、httpリクエストを受信した場合（ステップＳ５１）、このhttpリクエストに応じて、プリンター５のＩＰアドレスを端末装置１に送信する（ステップＳ５２）。ステップＳ５２において、プリンター５の通信ネットワーク４におけるホスト名、プリンター５の機種名、プリンター５が使用可能な通信ポートの番号、及び、その他のプリンター５に関する情報等を端末装置１に送信してもよい。
【００５１】
端末装置１は、プリンター５から送信されるＩＰアドレスを含む応答を受信して、受信したＩＰアドレスに基づきプリンター５を登録する（ステップＳ４３）。プリンター５の登録は、プリンター５から送信されたＩＰアドレスのリストをプリンター情報１９に登録する処理である。ステップＳ４３で、ドライバー実行部１２は、通信ネットワーク４に接続されたプリンター５以外の装置からＩＰアドレスを含む応答があった場合に、プリンター５からの応答を選択して登録を行ってもよい。
その後、ドライバー実行部１２は、プリンター５を選択する（ステップＳ４３）。例えば、オペレーターが端末装置１に対して入力操作を行い、この操作で指定されたプリンター５を選択すればよい。この場合、プリンター情報１９に登録されたプリンター５のＩＰアドレス等を端末表示部２２により表示してもよい。また、予め設定された優先順位に従って、ドライバー実行部１２が１つのプリンター５を選択してもよい。
【００５２】
その後、ドライバー実行部１２は、選択したプリンター５に対し、ステップＳ２３〜Ｓ２８の動作を実行する。選択されたプリンター５は、第１の実施形態で説明したステップＳ３１〜Ｓ３５の動作を実行する。
【００５３】
このように、端末装置１の通信インターフェース２３が、複数のプリンター５、６を接続可能な通信ネットワーク４に接続された構成で、ドライバー実行部１２は、通信ネットワークに接続されたプリンターを検索し、検索したプリンターにポート情報を要求する。このため、通信ネットワーク４を介して使用可能なプリンターを調べるとともに、プリンターが対応可能なデータの形態を判別できる。このため、ドライバー実行部１２が複数のプリンターと通信可能な場合や、使用可能なプリンターの数が未知である場合に、複雑な処理を経ることなく、これら複数のプリンターを選択して使用できる。そして、通信ネットワーク４を介して使用可能なプリンターを調べ、各プリンターが対応可能なデータの形態に関する情報を得ることができる。
【００５４】
上記各実施形態では、プリンターが対応可能なデータの形態が、ＸＭＬ形式とＥＳＣ／ＰＯＳ形式の２通りあり、端末装置１が、プリンター５、６が対応するデータ形式を判別する構成として説明した。
ここで、プリンターが対応可能なデータの形態とは、プリンターが使用可能なコマンド体系、使用可能な言語、使用可能な文字コード、使用可能な通信プロトコル、使用可能なデータフォーマット（パケットサイズ、パケット形式等を含む）等を指す。すなわち、データの形態とは、データフォーマットに限らず、コマンド体系、言語、文字コード、通信プロトコル等であってもよい。また、本実施形態では、プリンターが対応可能なデータの形態を判別する方法として、プリンター５、６が送信するポート情報に含まれる通信ポートの番号が９１００番であるか８００９番であるかを判別する例を挙げた。ポート情報は、ポート番号の他、通信ポートの名称、通信ポートで使用可能な通信プロトコルの種類等のポートの仕様を含んでもよい。この場合、端末装置１は、ポート番号以外のポートの仕様に基づき、プリンターが対応可能なデータの形態を判別してもよい。
【００５５】
また、上述した各実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。例えば、上述した実施形態では、端末装置１がＸＭＬ形式またはＥＳＣ／ＰＯＳ形式のデータを送信する構成を例に挙げて説明したが、本発明はこれに限定されず、より多くの形態でデータを送信可能なものであってもよい。また、送信するデータの形態は上記の２例に限定されない。
また、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、端末装置１、プリンター５、６の各機能を、これら装置に外部接続される別の装置に持たせるようにしてもよい。また、端末装置１は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。また、プリンター５、６は、インクジェット式のプリンターに限定されず、ドットインパクト式、レーザー式、サーマル式等の各種の印刷装置、及び、この種の印刷ユニットを内蔵した複合機等にも本発明を適用可能である。
【符号の説明】
【００５６】
１…端末装置（印刷制御装置）、３…通信線、４…通信ネットワーク、５、６…プリンター（印刷装置）、１０…端末制御部（制御部）、１１…アプリケーション実行部、１２…ドライバー実行部、１５…端末記憶部、１６…アプリケーションプログラム、１７…ライブラリー、１９…プリンター情報（データ形式情報）、２３…通信インターフェース（通信部）、５０、５０ａ…プリンター制御部、５１…プリントサーバー部、５２…印刷制御部、５３…受信バッファー、５４…プリントバッファー、５５、５５ａ…プリンター記憶部、５６…通信設定データ、６３…通信インターフェース、６４…印刷ヘッド、１００、１０１…印刷システム。
【図１】
2015230598.tif 000003
【図２】
2015230598.tif 000004
【図３】
2015230598.tif 000005
【図４】
2015230598.tif 000006
【図５】
2015230598.tif 000007