(57)【特許請求の範囲】
【請求項１】
アプリケーションからプリンタードライバーに向けて出力されるＧＤＩ形式の印刷データを当該プリンタードライバーが受け取る前に仮想ドライバーに取得させ、
前記仮想ドライバーで取得された前記印刷データを、ＧＤＩ形式で前記印刷データに指定される通信ポートに向けて送信させ、
前記通信ポートに向けて送信される印刷データを前記通信ポートが受け取る前に、仮想ポートで取得させ、前記仮想ポートで取得された前記印刷データを機能拡張部に転送させ、
前記機能拡張部で、転送された前記印刷データに対して機能を拡張する処理を行わせ、前記機能を拡張する処理後の印刷データを、前記機能を拡張する処理後の印刷データに相応した通信ポートへ出力させることをコンピューターに実行させることを特徴とする機能拡張プログラム。
【請求項２】
前記仮想ポートで前記機能拡張部に転送された前記印刷データを解析し、
解析結果に基づいて、前記機能を拡張する処理の内容と前記出力する通信ポートを決定する請求項１に記載の機能拡張プログラム。
【請求項３】
前記仮想ポートで前記機能拡張部に転送された前記印刷データを、前記出力する通信ポートに接続されるプリンター用のコマンドに変換する請求項２に記載の機能拡張プログラム。
【請求項４】
前記機能を拡張する処理の内容は、前記印刷データによる印刷内容の変更、前記出力する通信ポートの変更、新たな印刷物用の印刷データの生成、あるいは、前記印刷データからの情報の取得、のいずれかを含む請求項２または３に記載の機能拡張プログラム。
【請求項５】
１以上の通信ポートと、
アプリケーションからプリンタードライバーに向けて出力されるＧＤＩ形式の印刷データを前記プリンタードライバーが受け取る前に取得し、前記印刷データを、ＧＤＩ形式で前記印刷データに指定される通信ポートに向けて送信する仮想ドライバーと、
前記通信ポートに向けて送信される印刷データを、前記通信ポートが受け取る前に、取得し、取得した前記印刷データを機能拡張部に転送する仮想ポートと、
転送された前記印刷データに対して機能を拡張する処理を行ない、前記機能を拡張する処理後の印刷データを、前記機能を拡張する処理後の印刷データに相応した通信ポートへ出力する機能拡張部と、
を有することを特徴とする機能拡張装置。
【請求項６】
アプリケーションからプリンタードライバーに向けて出力されるＧＤＩ形式の印刷データを前記プリンタードライバーが受け取る前に仮想ドライバーで取得し、
前記仮想ドライバーで取得した前記印刷データを、ＧＤＩ形式で前記印刷データに指定される通信ポートに向けて送信し、
前記通信ポートに向けて送信される印刷データを、前記通信ポートが受け取る前に、仮想ポートで取得し、
取得した前記印刷データを機能拡張部に転送し、
前記機能拡張部で、転送された前記印刷データに対して機能を拡張する処理を行い、
前記機能を拡張する処理後の印刷データを、前記機能を拡張する処理後の印刷データに相応した通信ポートへ出力することを特徴とする機能拡張方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既存アプリケーションから出力される印刷データを用いて当該アプリケーションの機能を拡張するための機能拡張プログラム等に関し、特に、既存アプリケーションのプログラムを変更することなしに、かつ、既存プリンタードライバーを使用せずに多彩な機能拡張を容易に実現することのできる機能拡張プログラム等に関する。
【背景技術】
【０００２】
スーパーマーケットなどの小売販売業においては販売管理システムであるＰＯＳシステムが普及しており、当該システムでは、サーバーとネットワークで接続される複数の端末装置（レジ）が当該装置に備えられるアプリケーションに従って動作し各種の処理を実行する。また、通常、当該端末装置には、それぞれ、プリンターが設けられ、上記アプリケーションの指示によりレシートやクーポンの出力を実行する。また、このような出力を伴うＰＯＳシステムと類似した構成のシステムとしては、病院で用いられるシステム、運送会社で用いられるシステムなどがある。
【０００３】
このようなシステムにおいても、導入後の技術向上や業務改善要望に伴って、機能拡張の必要が出てくるが、かかるシステムは一般に業務の中枢として常時利用されているものであり、また、他のシステムとも複雑に連携している場合も多いため、そのアプリケーションを改変することは通常容易ではない。
【０００４】
かかる課題については、出力処理系の機能に関し、従来、以下のような提案がなされている。
【０００５】
下記特許文献１では、すでに存在するアプリケーションプログラムを修正する必要なしに、従来のモデムに必要とされていたマイクロプロセッサおよびメモリを除去することが可能なパーソナルコンピュータ中でモデム機能を実行する装置について記載されている。
【０００６】
また、下記特許文献２には、アプリケーションを変更することなく、１つの通信ポートにアクセスすることにより、他の通信ポートに接続されているプリンターへも同時に印刷を実行させることができ、複製印刷を可能にする装置について記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−６９４２７号公報
【特許文献２】特開２００６−３３８４４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１及び２に記載の内容では、モデム機能、複製印刷機能など出力系の限られた機能を実現するに留まり、他の多彩な要望を実現することはできない。また、上記特許文献２では、ＯＳカーネル層での処理であるため、一般に機能構築（プログラム開発等）が容易ではなく機能も限られてしまうという課題がある。
【０００９】
また、このようなシステムにおいてプリンターを置き換え、新規のプリンターで運用する場合には、ルール上、既存プリンター用のドライバーを使用することを避けたい。
【００１０】
そこで、本発明の目的は、既存アプリケーションから出力される印刷データを用いて当該アプリケーションの機能を拡張するための機能拡張プログラムであって、既存アプリケーションのプログラムを変更することなしに、かつ、既存プリンタードライバーを使用せずに多彩な機能拡張を容易に実現することのできる機能拡張プログラム、等を提供することである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の一つの側面は、機能拡張プログラムが、アプリケーションからプリンタードライバーに向けて出力されるＧＤＩ形式の印刷データを当該プリンタードライバーが受け取る前に仮想ドライバーに取得させ、前記仮想ドライバーで取得された前記印刷データを、ＧＤＩ形式で前記印刷データに指定される通信ポートに向けて送信させ、前記通信ポートに向けて送信される印刷データを前記通信ポートが受け取る前に、仮想ポートで取得させ、前記仮想ポートで取得された前記印刷データを機能拡張部に転送させ、前記機能拡張部で、転送された前記印刷データに対して機能を拡張する処理を行わせ、前記機能を拡張する処理後の印刷データを、前記機能を拡張する処理後の印刷データに相応した通信ポートへ出力させることをコンピューターに実行させる、ことである。
【００１２】
更に、上記発明において、その好ましい態様は、前記仮想ポートで前記機能拡張部に転送された前記印刷データを解析し、解析結果に基づいて、前記機能を拡張する処理の内容と前記出力する通信ポートを決定する、ことを特徴とする。
【００１３】
更にまた、上記発明において、その好ましい態様は、前記仮想ポートで前記機能拡張部に転送された前記印刷データを、前記出力する通信ポートに接続されるプリンター用のコマンドに変換する、ことを特徴とする。
【００１４】
更に、上記発明において、好ましい態様は、前記機能を拡張する処理の内容は、前記印刷データによる印刷内容の変更、前記出力する通信ポートの変更、新たな印刷物用の印刷データの生成、あるいは、前記印刷データからの情報の取得、のいずれかを含む、ことを特徴とする。
【００１５】
上記の目的を達成するために、本発明の別の側面は、機能拡張装置が、１以上の通信ポートと、アプリケーションからプリンタードライバーに向けて出力されるＧＤＩ形式の印刷データを前記プリンタードライバーが受け取る前に取得し、前記印刷データを、ＧＤＩ形式で前記印刷データに指定される通信ポートに向けて送信する仮想ドライバーと、前記通信ポートに向けて送信される印刷データを、前記通信ポートが受け取る前に、取得し、取得した前記印刷データを機能拡張部に転送する仮想ポートと、転送された前記印刷データに対して機能を拡張する処理を行ない、前記機能を拡張する処理後の印刷データを、前記機能を拡張する処理後の印刷データに相応した通信ポートへ出力する機能拡張部と、を有する、ことである。
【００１６】
上記の目的を達成するために、本発明の更に別の側面は、機能拡張方法において、アプリケーションからプリンタードライバーに向けて出力されるＧＤＩ形式の印刷データを前記プリンタードライバーが受け取る前に仮想ドライバーで取得し、前記仮想ドライバーで取得した前記印刷データを、ＧＤＩ形式で前記印刷データに指定される通信ポートに向けて送信し、前記通信ポートに向けて送信される印刷データを、前記通信ポートが受け取る前に、仮想ポートで取得し、取得した前記印刷データを機能拡張部に転送し、前記機能拡張部で、転送された前記印刷データに対して機能を拡張する処理を行い、前記機能を拡張する処理後の印刷データを、前記機能を拡張する処理後の印刷データに相応した通信ポートへ出力する、ことである。
【００１７】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【図面の簡単な説明】
【００１８】
【図１】本発明を適用したＰＯＳ端末装置の実施の形態例に係る概略構成図である。
【図２】ＰＯＳ端末装置の概略機能構成図である。
【図３】機能拡張処理の処理手順を例示したフローチャートである。
【図４】ＰＯＳシステムの改良を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００２０】
図１は、本発明を適用したＰＯＳ端末装置の実施の形態例に係る概略構成図である。また、図２は、当該ＰＯＳ端末装置の概略機能構成図である。図１及び図２に示すＰＯＳ端末装置２が本発明を適用した装置であり、当該装置（機能拡張装置）では、ＰＯＳアプリケーション２０１から既存のプリンタードライバー（プリンター３Ａ用ドライバー２０２）に向けて出力される印刷データを仮想ドライバー２１０が取得し、プリンター用のコマンドへの変換処理をせずに取得した印刷データを既存プリンター（プリンター３Ａ）が接続される通信ポート２０９Ａへ送信する。送信された印刷データは、当該通信ポート２０９Ａが受け取る前に、ＯＳカーネル層２３０の仮想ポート２０３で取得される。その後、取得されたデータをアプリケーション層２２０のポートハンドラー２０４が受け取り、所定の機能拡張処理を実行する。その後、ポートハンドラー２０４から処理後のデータに対応した通信ポート２０９へ処理後の印刷データを出力する。本ＰＯＳ端末装置２は、かかる処理を実行することにより、ＰＯＳアプリケーション２０１のプログラムを変更することなく、かつ、既存のプリンタードライバーを使用することなく、当該アプリケーションの機能を容易に拡張するものである。
【００２１】
本実施の形態例では、スーパーマーケットなどで用いられるＰＯＳシステムを想定しており、図１に示すように、ＰＯＳサーバー１にネットワーク４を介して複数のＰＯＳ端末装置２が接続される構成をしている。ＰＯＳサーバー１は、コンピューターシステムで構成され、上記複数のＰＯＳ端末装置２の管理とそれらのＰＯＳ端末装置２から取得される各種データの集計、管理等の処理を実行する。
【００２２】
ＰＯＳ端末装置２は各レジに設置され、それぞれ、プリンター３と接続される。プリンター３は、ＰＯＳ端末装置２から出力される印刷データに従って、レシートやクーポンを出力する。従って、ＰＯＳ端末装置２はプリンター３のホスト装置と位置づけられる。
【００２３】
各ＰＯＳ端末装置２は、図１に示すように、ＰＯＳ端末本体２１、ディスプレイ２２、キーボード２３、バーコードリーダー２４、及びカードリーダー２５等を備える。ディスプレイ２２は、顧客に商品の金額等を表示し、キーボード２３は、価格や商品コードなどの商品情報、性別、年代などの顧客情報をオペレーターが入力するために用いられる。また、バーコードリーダー２４は、商品に付されたバーコードを読み取って商品情報を取得し、カードリーダー２５は、各種カードに記憶された情報を読み取って、清算に必要な情報などを取得する。
【００２４】
ＰＯＳ端末本体２１は、上述したキーボード２３、バーコードリーダー２４、及びカードリーダー２５から取得される情報に基づいて、レシートやクーポンに印刷する情報を生成して、プリンター３へ出力する。当該ＰＯＳ端末本体２１は、コンピューターで構成され、図示していないが、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤなどを備えている。後述するＰＯＳアプリケーション２０１のプログラムや機能拡張処理のための各プログラムは、一例として、上記ＲＯＭに記憶され、それらのプログラムに従ってＣＰＵが動作することにより各処理が実行される。
【００２５】
また、ＰＯＳ端末装置２は、図２に示すような機能構成となっている。ＰＯＳアプリケーション２０１は、上述したレシートやクーポンに印刷する情報を生成して出力する処理を行うが、ここで生成されるデータは機能拡張前の元データである。また、生成されるデータは、そのままプリンター３Ａへ出力できる形式のデータ、あるいは、プリンター３Ａ用ドライバー２０２に渡す形式のデータである。前者は、テキストだけの印刷など簡単な印刷データの場合に生成される。また、後者は、一般的なプリンタードライバーが処理可能な標準フォーマット（例えば、Ｗｉｎｄｏｗｓ（登録商標）のＧＤＩ形式）のデータとして、プリンター３Ａ用ドライバー２０２及びプリンター３Ａが接続される通信ポート２０９Ａへ向けて出力される。
【００２６】
また、プリンター３Ａ用ドライバー２０２は、プリンター３Ａ用のプリンタードライバーであり、ＰＯＳアプリケーション２０１から出力されたデータを、プリンター３Ａの機種（デバイス）に依存したコマンドによる、プリンター３Ａが受信して印刷可能な印刷データとして出力する。なお、プリンター３Ａ及び当該プリンター３Ａ用ドライバー２０２は、本発明に基づくシステム改良を行う前から、当該ＰＯＳシステムに設けられていた装置である。
【００２７】
なお、ＰＯＳアプリケーション２０１とプリンター３Ａ用ドライバー２０２は、図２に示すように、コンピューターのオペレーティングシステム（ＯＳ）に基づきその上でプログラムが各処理を実行するアプリケーション層２２０に位置する。また、両者は、それぞれの処理内容を指示する上記ＲＯＭに格納されたプログラムと当該プログラムに従って処理を実行する上記ＣＰＵ等によって構成される。
【００２８】
次に、仮想ドライバー２１０は、上記ＰＯＳアプリケーション２０１から上記プリンター３Ａ用ドライバー２０２へ向けて出力された印刷データ（ここでは、元印刷データと呼ぶ）を、プリンター３Ａ用ドライバー２０２が受け取る前に取得し、上述した標準フォーマットの形式のまま、当該印刷データに設定された通信ポート２０９Ａに向けて出力する部分である。
【００２９】
仮想ポート２０３は、ＰＯＳアプリケーション２０１又は仮想ドライバー２１０から出力された元印刷データを、通信ポート２０９Ａが受け取る前に上記オペレーティングシステムが位置するＯＳカーネル層２３０で受け取る部分である。そして、仮想ポート２０３は、取得した元印刷データをポートハンドラー２０４へ引き渡す。
【００３０】
次に、ポートハンドラー２０４、データ解析部２０５、データ加工部２０６、コマンド変換部２０７、及びデータ格納部２０８は、元印刷データを用いた機能拡張部であり、これら各部の処理により、上記ＰＯＳアプリケーション２０１の機能を拡張することが可能になる。
【００３１】
ポートハンドラー２０４は、上記仮想ポート２０３から引き渡された元印刷データをデータ解析部２０５に転送すると共に、機能拡張処理後の印刷データ（ここでは、処理後印刷データと呼ぶ）を受け取って、当該データに対応した通信ポート２０９へ処理後印刷データを出力する処理を行う。
【００３２】
データ解析部２０５は、元印刷データを解析して機能拡張の処理内容を決定すると共に、処理後印刷データを出力する通信ポート２０９を決定する部分である。
【００３３】
データ加工部２０６は、データ解析部２０５が決定した処理内容に従って、元印刷データを加工する部分である。
【００３４】
また、コマンド変換部２０７は、印刷データを、処理後印刷データが出力される通信ポート２０９に接続されたプリンター３が処理可能なコマンドに変換する部分である。
【００３５】
データ格納部２０８は、上記データ解析部２０５及びデータ加工部２０６が使用する各種データを記憶する部分である。ここには、例えば、ロゴのデータが格納され、ロゴのないレシートの元印刷データにロゴを追加する場合などに用いられる。なお、当該データ格納部２０８は上記ＨＤＤ等で構成される。
【００３６】
以上説明した機能拡張部における処理の具体的な手順については後述する。
【００３７】
なお、仮想ドラーバー２１０、仮想ポート２０３、ポートハンドラー２０４、データ解析部２０５、データ加工部２０６、及び、コマンド変換部２０７は、それぞれ、各部が行う処理を指示する上記ＲＯＭ等に格納されたプログラムと当該プログラムに従って処理を実行する上記ＣＰＵ等によって構成される。また、これらの部分に係るプログラムが本発明の機能拡張プログラムに相当する。
【００３８】
次に、ＰＯＳ端末装置２には、物理層２４０に通信ポート２０９Ａ及び２０９Ｂが備えられ、それぞれ、プリンター３Ａ及び３Ｂに接続される。ここでは、一例として、通信ポート２０９Ａは、シリアル通信のＣＯＭ通信ポートであり、通信ポート２０９Ｂは、ＵＳＢ通信を行うＵＳＢ通信ポートである。また、プリンター３については、一例として、プリンター３Ａがモノクロプリンターであり、プリンター３Ｂがカラープリンターである。また、ここでは、上述の通り、プリンター３Ａは本発明に基づく改良の前から設けられていた既存プリンターであり、プリンター３Ｂは本発明に基づく改良に伴って新規に設けられたプリンターである。
【００３９】
なお、ここでは、２つ通信ポート２０９が備えられ、２つのプリンター３がＰＯＳ端末装置２に接続されるが、接続される通信ポート２０９及びプリンター３の数はこれに限定されることはなく、１でもよいし３以上でもよい。
【００４０】
以上説明をしたような構成を有する本ＰＯＳ端末装置２では、元印刷データを用いたＰＯＳアプリケーションの機能拡張処理に特徴があり、以下、その具体的な処理手順について説明する。図３は、当該機能拡張処理の処理手順を例示したフローチャートである。まず、前述の通り、ＰＯＳアプリケーション２０１からプリンター３Ａ用ドライバー２０２に向けて、又は、直接通信ポート２０９Ａに向けて元印刷データが出力される（ステップＳ１）。当該元印刷データは、プリンター３Ａから出力することを想定している、例えば、レシートの印刷データであり、従って、出力先の通信ポートには通信ポート２０９Ａが指定され、前者では上記標準フォーマットで、後者ではプリンター３Ａに依存したコマンドで表現されている。
【００４１】
次に、プリンター３Ａ用ドライバー２０２に向けて出力された元印刷データは、仮想ドラーバー２１０によって、プリンター３Ａ用ドライバー２０２が受け取る前に取得される（ステップＳ２）。かかる処理は、プリンター３Ａの名称を仮想ドラーバー２１０の名称とし、プリンター３Ａの名称を別の名称とする設定をレジストリー上で行うことにより実現され、かかる設定変更はＯＳの起動時に実行される。
【００４２】
その後、仮想ドラーバー２１０は、取得した元印刷データを上述した標準フォーマットのまま、当該データに設定されている通信ポート２０９Ａに向けて送信する（ステップＳ２）。
【００４３】
次に、仮想ドラーバー２１０から送信された、又は、上記ＰＯＳアプリケーション２０１から直接通信ポート２０９Ａに向けて出力された元印刷データは、指定された通信ポート２０９Ａに届く前に、ＯＳカーネル層２３０で仮想ポート２０３によって受け取られる（ステップＳ３）。かかる処理は、いずれの通信ポート２０９へ向けたデータも、まず、仮想ポート２０３が受け取るように、レジストリーの（優先度の）設定を変更しておくことで実現され、かかる設定変更はＯＳの起動時に実行される。その後、受け取られた元印刷データは、仮想ポート２０３からアプリケーション層２２０のポートハンドラー２０４に送付される（ステップＳ３）。
【００４４】
次に、ポートハンドラー２０４は、送付された元印刷データを、データ解析部２０５に転送する（ステップＳ４）。データ解析部２０５では、元印刷データのコマンドを解釈し、当該データの内容を解析する（ステップＳ５）。元印刷データが仮想ドライバー２１０を介して送付された場合には標準フォーマットのデータを解釈し、そうでない場合には、プリンター３Ａ用のコマンドを解釈する。そして、解析結果から、機能拡張内容（加工内容）及び出力先通信ポート２０９を決定する。
【００４５】
具体的には、元印刷データによる印刷物の種類（例えば、レシート、クーポン、ジャーナル等）の把握、元印刷データに所定のデータ（文字列、イメージ等）が含まれるか否かのチェック、または、元印刷データに含まれる所定のデータの内容の把握などを行い、その結果に応じてそれぞれ予め定められている加工内容を決定する。そして、当該加工の結果得られる処理後印刷データの出力に相応しいプリンター３に対応する通信ポート２０９を決定する。また、機能拡張内容としては、印刷データによる印刷内容の変更（データの追加、削除）、出力先プリンター３の変更、新たな出力の生成、印刷データに含まれる情報の他目的への活用などがあり、これらの中から所定の内容が予め定められている。なお、より具体的な機能拡張内容の例については後述する。
【００４６】
当該データ解析部２０５で決定された上記出力先通信ポート２０９は、ポートハンドラー２０４に通知され、また、決定された上記機能拡張内容（加工内容）は、データ加工部２０６に通知される。また、データ解析部２０５は、上記処理過程で必要に応じてデータ格納部２０８に格納された情報を参照する。例えば、データ格納部２０８には、上記各解析結果と加工内容を関係付けた情報が記憶される。なお、元印刷データに関わらず加工内容及び出力先が固定の場合には、当該データ解析部２０５は必要なく、元印刷データはポートハンドラー２０４からデータ加工部２０６に引き渡される。
【００４７】
次に、データ加工部２０６が元印刷データに対する加工処理を実行する（ステップＳ６）。具体的には、上記決定された機能拡張内容に従って印刷データの加工を実行し、処理後印刷データを生成する。具体的な処理例については後述する。かかる加工処理においても、必要に応じてデータ格納部２０８のデータが参照される。なお、当該データ加工部２０６は、複数の処理内容がある場合には、各処理内容に対応した複数の加工部から構成されるようにしてもよい。また、上記データ解析部２０５の判断が、データ加工（機能拡張）を行わないというものである場合には、当該データ加工部２０６は加工処理を実行しない。
【００４８】
次に、データ加工部２０６で生成された上記処理後印刷データは、コマンド変換部２０７に引き渡される。コマンド変換部２０７では、処理後印刷データを出力先プリンター３用のコマンドに変換する処理を実行する（ステップＳ７）。ここでは、前述したとおり、データ解析部２０５が出力先通信ポート２０９を決定しているので、その通信ポート２０９に接続されるプリンター３に依存したコマンドにデータ形式を変換するが、元印刷データが仮想ドライバー２１０を経由している場合には、上記標準フォーマットを当該プリンター３に依存したコマンドに変換する処理を行う。
【００４９】
また、仮想ドライバー２１０を経由していない場合には、プリンター３Ａ用のコマンドから、出力先プリンター３用のコマンドに変換する処理を実行する。例えば、プリンター３Ｂ用のコマンドに変換する。なお、この場合において、プリンター３Ｂがプリンター３Ａと同じコマンドを用いる場合、又は、出力先プリンターがプリンター３Ａである場合には、当該変換処理を行わない。
【００５０】
処理後のデータはポートハンドラー２０４へ引き渡される。なお、コマンド変換を必要としない場合には、データ加工部２０６から転送された印刷データがポートハンドラー２０４へ引き渡される。
【００５１】
次に、ポートハンドラー２０４は、引き渡された処理後印刷データを上記決定された通信ポート２０９へ出力する（ステップＳ８）。本実施例では、通信ポート２０９Ａ及び／又は通信ポート２０９Ｂへ出力される。なお、機能拡張処理がなされない場合には、元印刷データが元々指定された通信ポート２０９（ここでは、２０９Ａ）に出力される。
【００５２】
その後、印刷データが通信ポート２０９から接続されるプリンター３へ送信され、プリンター３において当該印刷データによる印刷が実行され、レシートなどの印刷物が出力される（ステップＳ９）。例えば、プリンター３Ａから出力されればモノクロの印刷物が得られ、プリンター３Ｂから出力されればカラーの印刷物が得られる。
【００５３】
以上説明したような手順で、本ＰＯＳ端末装置２における機能拡張処理が実行されるが、以下に、機能拡張処理の具体例を説明する。
【００５４】
上述した印刷データによる印刷内容の変更処理については、例えば、省資源の観点から出力紙の量を減少させるべく、印刷する文字列の行間を狭くするあるいは省く処理を元印刷データに対して行う。この処理では、データ解析部２０５が印刷物の種類の判別結果に基づいて当該処理を決定し、データ加工部２０６が当該処理を実行する。
【００５５】
また、レシートやクーポンにその店のロゴを追加することができる。この場合には、やはり、データ解析部２０５が印刷物の種類の判別結果に基づいて当該処理を決定し、データ加工部２０６は、データ格納部２０８に収められるロゴの画像データを読み出して当該ロゴを元印刷データに追加する処理を実行する。
【００５６】
他の例としては、モノクロの元印刷データの全部又は一部をカラーに変更することもできる。この場合には、データ解析部２０５が印刷物の種類の判別結果に基づいて、あるいは、色付けを行う所定のデータを検出したことに基づいて当該処理を決定し、データ加工部２０６が、対象部分をカラーデータに変更する処理を実行する。この場合には、本実施例では、出力するプリンター３が変更されるので、コマンド変換部２０７による処理も実行されることになる。
【００５７】
次に、出力するプリンター３を変更することを主とした機能拡張の例を説明する。まず、全ての印刷物あるいは一部の印刷物を、新しい印刷品質の高いプリンター３に出力するように変更する場合がある。本実施例で、プリンター３Ｂの印刷品質が高い場合には、元印刷データがプリンター３Ｂ用のデータに変換され、出力先が通信ポート２０９Ｂに変更される。
【００５８】
また、複数のプリンター３に出力するようにすること（複製印刷）もできる。この場合には、データ加工部２０６が元印刷データを出力数に合わせて複製し、コマンド変換部２０７は、その各印刷データについて出力先に応じたコマンド変換を実施する。本実施例では、プリンター３Ａ及びプリンター３Ｂから同じ印刷物が出力されることになる。また、上述したデータ変更の処理と合わせて処理を実行してもよく、プリンター３Ｂ用のデータでは、例えば、カラーのロゴを追加するといったことも可能である。
【００５９】
さらに、印刷データの内容に応じて出力先を変更するようにすることもできる。例えば、レストランにおける注文票を出力する場合に、料理内容により厨房が異なる場所であるケースでは、データ解析部２０５は、元印刷データが示す料理内容から注文票を出力すべき厨房を決定し、その厨房に設置されたプリンター３を出力先として決定する処理を行う。また、一つの元印刷データに、複数の厨房で料理する品物が含まれている場合には、各厨房毎の注文票に分割して、それぞれの厨房に設置されたプリンター３に各注文票を出力するようにしてもよい。
【００６０】
次に、新たな印刷物を生成する例として、元印刷データがレシートのデータであり、当該データに所定の商品が含まれる場合等に新たにクーポンを発行する、ということもできる。例えば、データ解析部２０５は、元印刷データにクーポンを発行すべき商品のデータを検出すると、元印刷データはそのままプリンター３Ａからモノクロで出力し、当該商品に関するクーポンをプリンター３Ｂからカラーで出力する、と決定する。当該決定を受けて、データ加工部２０６は、データ格納部２０８に格納されたクーポン用のデータを読み出し、クーポンの印刷データを生成する。その後、コマンド変換部２０７等で適宜処理が行なわれ、レシートとクーポンが出力される。
【００６１】
また、上述のように、元印刷データに含まれる情報を取得して他の目的に活用する、という機能拡張を行うことも可能である。例えば、元印刷データがレシートのデータである場合に、販売された商品、販売された時間等の情報を取得して集計し、その情報を販売計画を行うシステム（アプリケーション）に送信するようにすることもできる。この場合には、データ加工部２０６が上記情報の取得及び集計を実行する。
【００６２】
以上説明したように、本実施の形態例に係るＰＯＳ端末装置２では、ＰＯＳアプリケーション２０１から出力された印刷データを用いて印刷物の出力を主としたＰＯＳシステムの機能拡張を実行することができる。そして、当該機能拡張を行わないＰＯＳ端末装置及びＰＯＳシステムを、比較的容易な方法で本ＰＯＳ端末装置２及びそれを含むＰＯＳシステムに改良することができる。
【００６３】
図４は、当該改良を説明するための図である。当該図は、図２と同じ機能構成図であり、実線部分が上述した機能拡張を行わないＰＯＳ端末装置及びＰＯＳシステムを示している。すなわち、改良前のシステムは、ＰＯＳアプリケーション２０１から直接又はプリンタードライバー２０２を介して出力された印刷データが通信ポート２０９Ａで受け取られ、プリンター３Ａから出力がなされる構成となっている。そして、このような構成のシステムに対して、破線で示される部分を追加することにより、本ＰＯＳ端末装置２及びそれを含むＰＯＳシステムにすることが可能である。
【００６４】
すなわち、既存のＰＯＳアプリケーション２０１を変更することなく、上述した機能拡張プログラム、データ格納部２０８のデータ、及び新たなプリンター３Ｂを追加することにより、既存プリンタードライバー（２０２）を使用しない処理で既存のＰＯＳシステムの機能拡張が可能となる。そして、この改良（追加）は、新たなプリンター３Ｂの設置と上記機能拡張プログラムとデータを含む当該プリンタードライバーソフトウェアのインストールという作業で実行され得る。なお、当該改良後は、プリンター３Ａ用ドライバー２０２及びプリンター３Ａがない構成でもよい。
【００６５】
このように、本実施の形態例に係る機能拡張プログラムを用いることにより、既存のＰＯＳアプリケーションプログラムの変更を伴わない容易な方法で、ＰＯＳシステムの機能を多彩に拡張することができるようになる。また、主な機能拡張処理は、コンピューターのアプリケーション層で行うように構成するので、多彩な処理を実行させるプログラムの開発を容易に行うことができる。
【００６６】
また、既存のプリンタードライバー（プリンター３Ａ用ドライバー２０２）を用いない処理となるので、プリンター３Ａでないプリンター、ここでは、プリンター３Ｂを用いた出力を行う際にルール上問題とならない。
【００６７】
また、仮想ドライバー２１０を介したルートで処理を行う場合には、処理対象データが上述した標準フォーマットであるので、処理が容易であるという利点がある。
【００６８】
また、上述したシステムの改良後に、既存のプリンタードライバーを消失した場合にも処理が可能である。
【００６９】
なお、本実施の形態例では、ＰＯＳサーバー１が複数のＰＯＳ端末装置２と接続されるシステムであったが、本発明は、当該構成に限らず、ＰＯＳ端末装置とプリンターが接続される環境に対して適用することができる。
【００７０】
また、本実施の形態例ではＰＯＳシステムの例を示したが、本発明は、ＰＯＳシステムに限らず、病院や運送会社で使用されるシステムなど、プリンターからの印刷物の出力を含む所定のアプリケーションを備えたシステムに適用可能であり、特に、既存のアプリケーションプログラムの改変が困難である場合に有効である。
【００７１】
また、本実施の形態例では、ＰＯＳアプリケーションのプログラムや機能拡張処理のためのプログラムがＲＯＭに記憶されている例を示したが、これらプログラムはＲＯＭに限らず、ＲＡＭやＨＤＤ等の記憶媒体に記憶されていてもよい。また、これらプログラムは別々の記憶媒体に記憶されていてもよい。
【００７２】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【符号の説明】
【００７３】
１  ＰＯＳサーバー、  ２  ＰＯＳ端末装置、  ３  プリンター、  ４  ネットワーク、  ２１  ＰＯＳ端末本体、  ２２  ディスプレイ、  ２３  キーボード、  ２４  バーコードリーダー、  ２５  カードリーダー、  ２０１  ＰＯＳアプリケーション、  ２０２  プリンター３Ａ用ドライバー、  ２０３  仮想ポート、  ２０４  ポートハンドラー、  ２０５  データ解析部、  ２０６  データ加工部、  ２０７  コマンド変換部、  ２０８  データ格納部、  ２０９  通信ポート、  ２１０  仮想ドライバー、  ２２０  アプリケーション層、  ２３０  ＯＳカーネル層、  ２４０  物理層
【図１】
0005807343.tif 000002
【図２】
0005807343.tif 000003
【図３】
0005807343.tif 000004
【図４】
0005807343.tif 000005