(57)【要約】【課題】内部印刷データに基づいて印刷データを生成し、プリンタに供給する印刷システムにおいて、内部印刷データに基づいて印刷データを生成するための処理の内容を内部印刷データに応じて変化させることが可能になる印刷システムを提供すること。【解決手段】内部印刷データ生成部５０は１又は複数のデータ処理の結果として内部印刷データを出力する。内部印刷データ条件記憶部５１は、複数の印刷データ生成処理の各々に対応づけて、内部印刷データに関する条件である内部印刷データ条件を記憶する。判定部５２は、印刷データ生成処理に対応づけられた内部印刷データ条件を内部印刷データが満足するか否かを判定する。印刷データ生成部５３は、その判断結果に基づいて、複数の印刷データ生成処理のうちのいずれかを実行し、印刷データを生成する。印刷データ供給部５４は、生成された印刷データをプリンタに供給する。【選択図】図５
2007179353.tif 000002
【特許請求の範囲】
【請求項１】
プリンタと、
１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行し、印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段によって生成される印刷データを前記プリンタに供給する印刷データ供給手段と、を含む印刷データ供給装置と、
を含む印刷システムにおいて、
前記印刷データ供給装置は、
複数の前記印刷データ生成処理の各々に対応づけて、前記内部印刷データに関する条件である内部印刷データ条件を記憶する内部印刷データ条件記憶手段と、
前記印刷データ生成処理に対応づけられた内部印刷データ条件を前記内部印刷データが満足するか否かを判定する判定手段と、を含み、
前記印刷データ生成手段は、前記判定手段による判定結果に基づいて、前記複数の印刷データ生成処理のうちのいずれかを実行し、前記印刷データを生成する、
ことを特徴とする印刷システム。
【請求項２】
請求項１に記載の印刷システムにおいて、
前記内部印刷データ条件は、前記内部印刷データの属性情報に関する条件を含み、
前記判定手段は、前記印刷データ生成処理に対応づけられた内部印刷データ条件を、前記内部印刷データの属性情報が満足するか否かを判定する、
ことを特徴とする印刷システム。
【請求項３】
請求項１又は２に記載の印刷システムにおいて、
前記内部印刷データ条件は、前記１又は複数のデータ処理に関する条件を含み、
前記判定手段は、前記印刷データ生成処理に対応づけられた内部印刷データ条件を、前記内部印刷データの出力に用いられた前記１又は複数のデータ処理が満足するか否かを判定する、
ことを特徴とする印刷システム。
【請求項４】
請求項１乃至３のいずれかに記載の印刷システムにおいて、
前記印刷データ生成手段は、前記内部印刷データが、前記複数の印刷データ生成処理の各々に対応づけられた内部印刷データ条件のうちのいずれかを満足すると判定された場合、該内部印刷データ条件に対応づけられた印刷データ生成処理を実行し、前記内部印刷データが、前記複数の印刷データ生成処理の各々に対応づけられた内部印刷データ条件のうちのいずれも満足しないと判定された場合、所定の印刷データ生成処理を実行することを特徴とする印刷システム。
【請求項５】
１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行し、印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段によって生成される印刷データをプリンタに供給する印刷データ供給手段と、を含む印刷データ供給装置において、
複数の前記印刷データ生成処理の各々に対応づけて、前記内部印刷データに関する条件である内部印刷データ条件を記憶する内部印刷データ条件記憶手段と、
前記印刷データ生成処理に対応づけられた内部印刷データ条件を前記内部印刷データが満足するか否かを判定する判定手段と、を含み、
前記印刷データ生成手段は、前記判定手段による判定結果に基づいて、前記複数の印刷データ生成処理のうちのいずれかを実行し、前記印刷データを生成する、
ことを特徴とする印刷データ供給装置。
【請求項６】
１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行し、印刷データを生成するための印刷データ生成ステップと、前記印刷データ生成ステップによって生成される印刷データをプリンタに供給するための印刷データ供給ステップと、を含む印刷データ供給装置の制御方法において、
複数の前記印刷データ生成処理の各々に対応づけて、前記内部印刷データに関する条件である内部印刷データ条件を記憶してなる内部印刷データ条件記憶手段の記憶内容を読み出し、前記印刷データ生成処理に対応づけられた内部印刷データ条件を前記内部印刷データが満足するか否かを判定するための判定ステップと、を含み、
前記印刷データ生成ステップは、前記判定ステップによる判定結果に基づいて、前記複数の印刷データ生成処理のうちのいずれかを実行し、前記印刷データを生成する、
ことを特徴とする印刷データ供給装置の制御方法。
【請求項７】
１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行し、印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段によって生成される印刷データをプリンタに供給する印刷データ供給手段と、を含む印刷データ供給装置としてコンピュータを機能させるためのプログラムであって、
複数の前記印刷データ生成処理の各々に対応づけて、前記内部印刷データに関する条件である内部印刷データ条件を記憶する内部印刷データ条件記憶手段、及び、
前記印刷データ生成処理に対応づけられた内部印刷データ条件を前記内部印刷データが満足するか否かを判定する判定手段、
として前記コンピュータを機能させ、
前記印刷データ生成手段は、前記判定手段による判定結果に基づいて、前記複数の印刷データ生成処理のうちのいずれかを実行し、前記印刷データを生成する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷システム、印刷データ供給装置、印刷データ供給装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
アプリケーションプログラムで作成された画像をプリンタに印刷出力させる印刷システムが一般的に知られている。例えばＰＯＳ（Point Of Sales）アプリケーションプログラムで作成されたレシート画像をプリンタに印刷出力させる印刷システムが知られている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記印刷システムでは、プリンタを他のプリンタに置き換えた場合に、置換前のプリンタと置換後のプリンタとの間の仕様等の相違により、置換前のプリンタの印刷出力と置換後のプリンタの印刷出力との間に差異が生じてしまう場合があった。このような場合、置換前のプリンタの印刷出力と同様の印刷出力を得るためには、アプリケーションプログラム側の仕様や設定を置換後のプリンタの仕様等を考慮して変更する必要があった。
【０００４】
この点、上記のような場合には、置換前のプリンタ向けの印刷データを出力する構成を残しておき、該構成から出力される印刷データ（内部印刷データ）に基づいて、印刷対象画像のラスタ画像データを一旦生成し、その後、該ラスタ画像データを置換後のプリンタに印刷出力させるための印刷データを生成し、プリンタに供給するようにすることが考えられる。このようにすれば、アプリケーションプログラム側の仕様や設定を変更しなくても、置換前のプリンタと同様の印刷出力が置換後のプリンタで得られるようになる。
【０００５】
また、上記印刷システムでは、印刷出力の過程において、ユーザの所望する加工が印刷対象画像に対して施されて印刷出力が行われるようになると、利便性を向上させることが可能になる。例えば、レシート画像を印刷出力する印刷システムでは、ユーザによって指定されたキーワード（例えば特定の商品名等）がレシート画像に含まれる場合に、ユーザによって指定された画像（例えばクーポン画像や広告画像等）がレシート画像に付加されるようになると、特定の商品を購入した顧客に対するその商品又はその関連商品の広告やクーポン等の配布を手間の軽減を図りつつ、かつ、確実に行えるようになり、印刷システムの利便性を向上させることが可能になる。
【０００６】
この点、例えばプリンタドライバ等から出力される印刷データ（内部印刷データ）に基づいて、印刷対象画像のラスタ画像データを一旦生成した後、該ラスタ画像データに対してユーザの所望する加工を施し、その後、加工後のラスタ画像データを置換後のプリンタに印刷出力させるための印刷データを生成し、プリンタに供給するようにすることが考えられる。こうすれば、アプリケーションプログラム側の仕様や設定を変更しなくても、印刷出力の過程において、ユーザの所望する加工が印刷対象画像に対して施されて印刷出力が行われるようになり、上記印刷システムの利便性を向上させることが可能になる。
【０００７】
以上に説明したような印刷システムを実現する場合には、内部印刷データに基づいて印刷データを生成する処理（印刷データ生成処理）の内容を内部印刷データに応じて変化させることが可能になると、その利便性をさらに向上させることが可能になる。
【０００８】
本発明は上記課題に鑑みてなされたものであって、その目的は、内部印刷データに基づいて印刷データを生成し、プリンタに供給する印刷システムにおいて、内部印刷データに基づいて印刷データを生成するための処理の内容を内部印刷データに応じて変化させることが可能になる印刷システム、印刷データ供給装置、印刷データ供給装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る印刷システムは、プリンタと、１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行し、印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段によって生成される印刷データを前記プリンタに供給する印刷データ供給手段と、を含む印刷データ供給装置と、を含む印刷システムにおいて、前記印刷データ供給装置は、複数の前記印刷データ生成処理の各々に対応づけて、前記内部印刷データに関する条件である内部印刷データ条件を記憶する内部印刷データ条件記憶手段と、前記印刷データ生成処理に対応づけられた内部印刷データ条件を前記内部印刷データが満足するか否かを判定する判定手段と、前記印刷データ生成手段は、前記判定手段による判定結果に基づいて、前記複数の印刷データ生成処理のうちのいずれかを実行し、前記印刷データを生成することを特徴とする。
【００１０】
また、本発明に係る印刷データ供給装置は、１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行し、印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段によって生成される印刷データをプリンタに供給する印刷データ供給手段と、を含む印刷データ供給装置において、複数の前記印刷データ生成処理の各々に対応づけて、前記内部印刷データに関する条件である内部印刷データ条件を記憶する内部印刷データ条件記憶手段と、前記印刷データ生成処理に対応づけられた内部印刷データ条件を前記内部印刷データが満足するか否かを判定する判定手段と、前記印刷データ生成手段は、前記判定手段による判定結果に基づいて、前記複数の印刷データ生成処理のうちのいずれかを実行し、前記印刷データを生成することを特徴とする。
【００１１】
また、本発明に係る印刷データ供給装置の制御方法は、１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行し、印刷データを生成するための印刷データ生成ステップと、前記印刷データ生成ステップによって生成される印刷データをプリンタに供給するための印刷データ供給ステップと、を含む印刷データ供給装置の制御方法において、複数の前記印刷データ生成処理の各々に対応づけて、前記内部印刷データに関する条件である内部印刷データ条件を記憶してなる内部印刷データ条件記憶手段の記憶内容を読み出し、前記印刷データ生成処理に対応づけられた内部印刷データ条件を前記内部印刷データが満足するか否かを判定するための判定ステップと、前記判定ステップによる判定結果に基づいて、前記複数の印刷データ生成処理のうちのいずれかを選択するための印刷データ生成処理選択ステップと、を含み、前記印刷データ生成ステップは、前記印刷データ生成処理選択ステップによって選択される印刷データ生成処理を前記内部印刷データに基づいて実行し、前記印刷データを生成することを特徴とする。
【００１２】
また、本発明に係るプログラムは、１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行し、印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段によって生成される印刷データをプリンタに供給する印刷データ供給手段と、を含む印刷データ供給装置として、例えばパーソナルコンピュータ等のコンピュータを機能させるためのプログラムであって、複数の前記印刷データ生成処理の各々に対応づけて、前記内部印刷データに関する条件である内部印刷データ条件を記憶する内部印刷データ条件記憶手段、及び、前記印刷データ生成処理に対応づけられた内部印刷データ条件を前記内部印刷データが満足するか否かを判定する判定手段、として前記コンピュータを機能させ、前記印刷データ生成手段は、前記判定手段による判定結果に基づいて、前記複数の印刷データ生成処理のうちのいずれかを実行し、前記印刷データを生成することを特徴とするプログラムである。
【００１３】
また、本発明に係る情報記憶媒体は、上記プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００１４】
本発明は、プリンタと、１又は複数のデータ処理の結果として出力される内部印刷データに基づいて印刷データ生成処理を実行することによって印刷データを生成し、プリンタに供給する印刷データ供給装置と、を含む印刷システムに関するものである。印刷データ供給装置では、複数の印刷データ生成処理の各々に対応づけて、内部印刷データに関する条件である内部印刷データ条件が記憶される。また、印刷データ供給装置では、印刷データ生成処理に対応づけられた内部印刷データ条件を内部印刷データが満足するか否かが判定される。そして、印刷データ供給装置では、その判定結果に基づいて、複数の印刷データ生成処理のうちのいずれかが実行され、印刷データが生成される。本発明によれば、内部印刷データに基づいて印刷データを生成するための処理の内容を内部印刷データに応じて変化させることが可能になる。
【００１５】
また、本発明の一態様では、前記内部印刷データ条件は、前記内部印刷データの属性情報に関する条件を含み、前記判定手段は、前記印刷データ生成処理に対応づけられた内部印刷データ条件を、前記内部印刷データの属性情報が満足するか否かを判定するようにしてもよい。ここで、内部印刷データの属性情報は例えば内部印刷データ名等である。こうすれば、内部印刷データに基づいて印刷データを生成するための処理の内容を、内部印刷データの属性情報に応じて変化させることが可能になる。
【００１６】
また、本発明の一態様では、前記内部印刷データ条件は、前記１又は複数のデータ処理に関する条件を含み、前記判定手段は、前記印刷データ生成処理に対応づけられた内部印刷データ条件を、前記内部印刷データの出力に用いられた前記１又は複数のデータ処理が満足するか否かを判定するようにしてもよい。こうすれば、内部印刷データに基づいて印刷データを生成するための処理の内容を、内部印刷データの出力に用いられた１又は複数のデータ処理の内容に応じて変化させることが可能になる。
【００１７】
また、本発明の一態様では、前記印刷データ生成手段は、前記内部印刷データが、前記複数の印刷データ生成処理の各々に対応づけられた内部印刷データ条件のうちのいずれかを満足すると判定された場合、該内部印刷データ条件に対応づけられた印刷データ生成処理を実行し、前記内部印刷データが、前記複数の印刷データ生成処理の各々に対応づけられた内部印刷データ条件のうちのいずれも満足しないと判定された場合、所定の印刷データ生成処理を実行するようにしてもよい。こうすれば、内部印刷データが、各印刷データ生成処理に対応づけられた内部印刷データ条件のうちのいずれも満足しない場合であっても、印刷データの生成が行われるように担保することが可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。
【００１９】
図１は、本発明の実施形態に係る印刷システムの全体構成を示す図である。同図に示すように、本実施の形態に係る印刷システム１はホストコンピュータ１０（印刷データ供給装置）と、プリンタ２０と、を含んで構成される。
【００２０】
図１に示すように、ホストコンピュータ１０は制御部１１と、記憶部１２と、入力部１３と、表示部１４と、インタフェース（Ｉ／Ｆ）１５と、光ディスク読み取り部１６と、を含んで構成されるコンピュータである。
【００２１】
制御部１１は、記憶部１２に記憶されるオペレーティングシステム及びその他のプログラムに従って動作し、各種情報処理を実行する。また、記憶部１２はコンピュータ読み取り可能な情報記憶媒体で構成される。例えば、記憶部１２はＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）やハードディスク装置を含んで構成される。記憶部１２には、制御部１１によって実行されるプログラムが格納される。また、記憶部１２は、制御部１１の処理の過程で必要となる種々のデータを記憶するワークメモリとしても動作する。
【００２２】
入力部１３は例えばキーボード又はマウス等であり、ユーザの操作入力に応じたデータを制御部１１に入力する。表示部１４は例えばディスプレイ等であり、制御部１１から入力される指示に従って情報の表示を行う。光ディスク読み取り部１６は、制御部１１からの指示に従って、例えばＤＶＤ−ＲＯＭ等の光ディスク（情報記憶媒体）に記憶されたプログラムやデータを読み取る。
【００２３】
インタフェース１５は、各種周辺機器や情報記憶媒体（メモリカード等）をホストコンピュータ１０に接続するためのインタフェースである。インタフェース１５は周辺機器等から入力されるデータを制御部１１に出力する。また、インタフェース１５は制御部１１から入力される指示に従って、種々のデータを周辺機器等に出力する。ホストコンピュータ１０には、例えば、ＵＳＢ（Universal Serial Bus）インタフェース規格に則った１又は複数の接続口（以下、ＵＳＢポートと呼ぶ。）が設けられる。
【００２４】
本実施の形態の場合、ホストコンピュータ１０には、マイクロソフト社製のウィンドウズ（登録商標）がオペレーティングシステムとしてインストールされている。また、ホストコンピュータ１０には、ＰＯＳアプリケーションプログラム（以下、ＰＯＳアプリケーションと記載する。）がインストールされている。ＰＯＳアプリケーションは、例えば図２に示すようなレシート画像を生成するための機能と、そのレシート画像の印刷処理を開始させるための機能とを有している。
【００２５】
ホストコンピュータ１０にはインタフェース１５を介してプリンタ２０が相互にデータ授受可能に接続される。図１に示すように、プリンタ２０は制御部２１と、記憶部２２と、画像形成部２３と、インタフェース（Ｉ／Ｆ）２４と、を含んで構成される。
【００２６】
制御部２１はプリンタ２０全体の制御を行う。記憶部２２はＲＯＭやＲＡＭを含んで構成され、印刷実行のために必要な各種プログラムやデータを記憶する。インタフェース２４はホストコンピュータ１０から送信されるデータを受信し、制御部２１に出力する。プリンタ２０には、例えばＵＳＢポートがインタフェース２４として設けられる。画像形成部２３は、制御部２１から入力されるデータに基づく画像を印刷用紙等の画像記録媒体に形成する。
【００２７】
プリンタ２０は、所定のコマンド体系のコマンドデータ（印刷データ）をホストコンピュータ１０から受信し、該コマンドデータに基づいて画像を画像記録媒体に形成する。本実施の形態の場合、プリンタ２０は、画像を構成する各画素ごとの着色情報を示すコマンドデータをホストコンピュータ１０から受信し、該コマンドデータに基づいて画像記録媒体に画像を形成する。また、プリンタ２０は、各種機構の制御内容を示すコマンドデータをホストコンピュータ１０から受信し、該コマンドデータに従った機構制御を行う。例えば、プリンタ２０はオートカッタ機構を備えており、画像記録媒体の切断を指示するコマンドデータをホストコンピュータ１０から受信した場合、画像記録媒体を所与の位置において所与の態様で切断する。なお、ここでは、プリンタ２０が受け付けるコマンドデータは「コマンド体系１」のコマンドデータであることとする。
【００２８】
次に、レシート画像の印刷が指示された場合にホストコンピュータ１０で実行される処理について説明する。図３は、ホストコンピュータ１０で実行される処理の一例について説明するための図である。なお、同図では、ＰＯＳアプリケーション３０ａとＰＯＳアプリケーション３０ｂとが記載されているが、ホストコンピュータ１０にはこれらの少なくとも一方がインストールされる。
【００２９】
まず、ＰＯＳアプリケーション３０ａでレシート画像の印刷が指示された場合について説明する。
【００３０】
ＰＯＳアプリケーション３０ａでレシート画像の印刷が指示されると、グラフィックデバイスインターフェイス（Graphic Device Interface：ＧＤＩ）３１の各種関数が適宜呼び出される。なお、ＧＤＩ３１は画像描画を行うための関数群であり、オペレーティングシステムによって提供されるものである。
【００３１】
この場合、まず印刷ジョブが開始され、その後、レシート画像を印刷するためのＧＤＩコマンド群が記録されたメタデータが生成される。このメタデータはデバイスに依存しないデータである。
【００３２】
なお、印刷ジョブが開始される場合には、印刷ジョブの名称がＰＯＳアプリケーション３０ａによって指定される。印刷ジョブ名は、アプリケーションごとに一定の名称が指定されるようにしてもよいし、印刷対象の画像データごとに異なる名称が指定されるようにしてもよい。本実施の形態の場合、ＰＯＳアプリケーション３０ａには固定の印刷ジョブ名「Ａ」が保持されており、ＰＯＳアプリケーション３０ａのレシート画像の印刷が行われる場合には、レシート画像の種類によらず、この印刷ジョブ名「Ａ」が指定される。ＰＯＳアプリケーション３０ａによって指定された印刷ジョブ名は、ＧＤＩ３１によって開始された印刷ジョブに関連づけて保持される。
【００３３】
ＧＤＩ３１によって生成されたメタデータは、プリンタ２０に関連づけられたプリンタドライバ３４ａに供給される。プリンタドライバ３４ａは、メタデータに記録されたＧＤＩコマンド群に基づいて、内部印刷データ（ＲＡＷデータ）を生成する。ここで生成される内部印刷データは、例えば一行ごとの印字内容を示すコマンドデータやフォント種類を示すコマンドデータ等であり、プリンタ２０が解釈可能なコマンド体系のコマンドデータに限られず、プリンタ２０が解釈不可能なコマンド体系のコマンドデータであってもよい。なお、ここでは、プリンタドライバ３４ａによって、「コマンド体系１」とは異なる「コマンド体系２」のコマンドデータが内部印刷データとして生成されることとする。
【００３４】
プリンタドライバ３４ａによって生成された内部印刷データはスプーラ３５に供給される。スプーラ３５は、プリンタ２０の状態を監視しながら、ポートドライバ４０に対して内部印刷データを出力する。
【００３５】
以上のように、ＰＯＳアプリケーション３０ａでレシート画像の印刷が指示された場合には、ポートドライバ４０に対する内部印刷データの出力が、ＧＤＩ３１、プリンタドライバ３４ａ及びスプーラ３５を介して行われる。
【００３６】
次に、ＰＯＳアプリケーション３０ｂでレシート画像の印刷が指示された場合について説明する。この場合、ポートドライバ４０に対する内部印刷データの出力が、１）ＧＤＩ３１、プリンタドライバ３４ａ及びスプーラ３５を介して行われる場合と、２）内部印刷データ生成プログラム３４ｂ、スプーラＡＰＩ（Application Program Interface）３２及びスプーラ３５を介して行われる場合と、３）内部印刷データ生成プログラム３４ｃ及びポート出力ＡＰＩ３３を介して行われる場合と、がある。
【００３７】
上記のうち、ポートドライバ４０に対する内部印刷データの出力が、ＧＤＩ３１、プリンタドライバ３４ａ及びスプーラ３５を介して行われる場合は、ＰＯＳアプリケーション３０ａでレシート画像の印刷が指示された場合と同様であるので説明を省略する。なお、本実施の形態の場合、ＰＯＳアプリケーション３０ｂでは固定の印刷ジョブ名「Ｂ」が保持されており、ＧＤＩ３１によって印刷ジョブが開始される場合には、レシート画像の種類によらず、この印刷ジョブ名「Ｂ」が指定される。
【００３８】
まず、ポートドライバ４０に対する内部印刷データの出力が、内部印刷データ生成プログラム３４ｂ、スプーラＡＰＩ３２及びスプーラ３５を介して行われる場合について説明する。
【００３９】
この場合、内部印刷データ生成プログラム３４ｂに対して内部印刷データの生成が要求され、内部印刷データ生成プログラム３４ｂは内部印刷データ（ＲＡＷデータ）を生成する。なお、内部印刷データ生成プログラム３４ｂは、ＰＯＳアプリケーション３０ｂと一体的に提供されるものであってもよいし、ＰＯＳアプリケーション３０ｂとは別に提供されるものであってもよい。また、ここで生成される内部印刷データは、例えば一行ごとの印字内容を示すコマンドデータやフォント種類を示すコマンドデータ等であり、プリンタドライバ３４ａによって生成される内部印刷データと同様に、プリンタ２０が解釈可能なコマンド体系のコマンドデータに限られず、プリンタ２０が解釈不可能なコマンド体系のコマンドデータであってもよい。なお、ここでは、プリンタドライバ３４ｂによって、「コマンド体系２」のコマンドデータが内部印刷データとして生成されることとする。
【００４０】
内部印刷データ生成プログラム３４ｂによって内部印刷データが生成されると、スプーラＡＰＩ３２の各種関数が適宜呼び出される。なお、スプーラＡＰＩ３２は、プリンタドライバ３４ａを介さずに、内部印刷データをスプーラ３５に直接供給するための関数群であり、オペレーティングシステムによって提供されるものである。
【００４１】
この場合、まず印刷ジョブが開始され、その後、内部印刷データがスプーラ３５に供給される。スプーラ３５は、プリンタ２０の状態を監視しながら、ポートドライバ４０に対して内部印刷データを供給する。
【００４２】
なお、内部印刷データ生成プログラム３４ｂに対して内部印刷データの生成が要求される場合には、ＰＯＳアプリケーション３０ｂによって印刷ジョブ名が指定される。ＰＯＳアプリケーション３０ｂによって指定された印刷ジョブ名は、ＧＤＩ３１によって開始された印刷ジョブに関連づけて保持される。上述したように、本実施の形態の場合、ＰＯＳアプリケーション３０ｂでは固定の印刷ジョブ名「Ｂ」が保持されており、印刷ジョブが開始される場合には、レシート画像の種類によらず、この印刷ジョブ名「Ｂ」が指定される。
【００４３】
次に、ポートドライバ４０に対する内部印刷データの出力が、内部印刷データ生成プログラム３４ｃ及びポート出力ＡＰＩ３３を介して行われる場合について説明する。
【００４４】
この場合、内部印刷データ生成プログラム３４ｃに対して内部印刷データの生成が要求され、内部印刷データ生成プログラム３４ｃは内部印刷データ（ＲＡＷデータ）を生成する。なお、内部印刷データ生成プログラム３４ｃは、ＰＯＳアプリケーション３０ｂと一体的に提供されるものであってもよいし、ＰＯＳアプリケーション３０ｂとは別に提供されるものであってもよい。また、ここで生成される内部印刷データは、例えば一行ごとの印字内容を示すコマンドデータやフォント種類を示すコマンドデータ等であり、プリンタドライバ３４ａ及び内部印刷データ生成プログラム３４ｂによって生成される内部印刷データと同様に、プリンタ２０が解釈可能なコマンド体系のデータに限られず、プリンタ２０が解釈不可能なコマンド体系のデータであってもよい。ここでは、内部印刷データ生成プログラム３４ｃによって、「コマンド体系１」及び「コマンド体系２」とは異なる「コマンド体系３」のコマンドデータが内部印刷データとして生成されることとする。
【００４５】
なお、内部印刷データ生成プログラム３４ｃに対して内部印刷データの生成が要求される場合には、ＰＯＳアプリケーション３０ｂによって、その内部印刷データの名称が指定される。上述したように、本実施の形態の場合、ＰＯＳアプリケーション３０ｂでは固定の内部印刷データ名（印刷ジョブ名）「Ｂ」が保持されており、内部印刷データ名が生成される場合には、レシート画像の種類によらず、この内部印刷データ名「Ｂ」が指定される。この内部印刷データ名は内部印刷データに関連づけて保持される。
【００４６】
内部印刷データ生成プログラム３４ｃによって内部印刷データが生成されると、ポート出力ＡＰＩ３３の各種関数が適宜呼び出される。ポート出力ＡＰＩ３３は、スプーラ３５を介さずに、内部印刷データをポートドライバ４０に直接出力するための関数群であり、例えばＰＯＳアプリケーション３０ｂの提供者やプリンタ２０の提供者等によって用意されるものである。ポート出力ＡＰＩ３３の各種関数が適宜呼び出されることにより、内部印刷データがポートドライバ４０に対して供給される。
【００４７】
ランゲージモニタプログラム３６は、ポートドライバ４０に対する内部印刷データの供給を監視する。ランゲージモニタプログラム３６は、ポートドライバ４０に対する内部印刷データの供給を検出した場合、その供給を抑止する。そして、ランゲージモニタプログラム３６は、その内部印刷データを、印刷データ生成プログラムＡ３９ａ、印刷データ生成プログラムＢ３９ｂ又は印刷データ生成プログラムＣ３９ｃのいずれかに供給する。なお、ランゲージモニタプログラム３６は、ポートドライバ４０を介してプリンタ２０からステータス情報を受け取り、それを所定のプログラム（例えばステータス参照プログラム等）に供給するためにも用いられるものである。
【００４８】
ランゲージモニタプログラム３６には内部印刷データ振り分けプログラム３７が含まれている。内部印刷データ振り分けプログラム３７は内部印刷データの供給先の印刷データ生成プログラムを、内部印刷データ振り分け設定データ３８に基づいて選択する。
【００４９】
図４は、内部印刷データ振り分け設定データ３８の一例を示す図である。同図に示す例では、内部印刷データの出力フロー種別と、内部印刷データ名と、の組み合わせと、印刷データ生成プログラムと、が対応づけられている。同図において、内部印刷データの出力フロー種別とは、ポートドライバ４０（ランゲージモニタプログラム３６）に対する内部印刷データの出力がどのプログラムを介して行われたかを示すものである。ここでは、出力フロー種別「１」は、ポートドライバ４０（ランゲージモニタプログラム３６）に対する内部印刷データの出力が、ＧＤＩ３１、プリンタドライバ３４ａ及びスプーラ３５を介して行われる場合を示している。また、出力フロー種別「２」は、ポートドライバ４０（ランゲージモニタプログラム３６）に対する内部印刷データの出力が、内部印刷データ生成プログラム３４ｂ、スプーラＡＰＩ３２及びスプーラ３５を介して行われた場合を示している。また、出力フロー種別「３」は、ポートドライバ４０（ランゲージモニタプログラム３６）に対する内部印刷データの出力が、内部印刷データ生成プログラム３４ｃ及びポート出力ＡＰＩ３３を介して行われた場合を示している。この内部印刷データ振り分け設定データ３８は、例えばテキストファイルやＸＭＬ（eXtensible Markup Language）ファイルとしてホストコンピュータ１０に記憶される。また、内部印刷データ振り分け設定データ３８の内容は、例えば、このテキストファイル又はＸＭＬファイルが直接編集されることによって編集される。また例えば、所定の設定編集画面（図示せず）を介して編集される。
【００５０】
内部印刷データ振り分けプログラム３７は、ランゲージモニタプログラム３６に内部印刷データが供給された場合、その内部印刷データの出力フロー種別を特定するとともに、その内部印刷データの内部印刷データ名を取得する。なお、内部印刷データの出力フロー種別が「１」又は「２」である場合、内部印刷データ振り分けプログラム３７は印刷ジョブ名を内部印刷データ名として取得する。そして、内部印刷データ振り分けプログラム３７は、内部印刷データ振り分け設定データ３８に基づいて、印刷データ生成プログラムＡ３９ａ、印刷データ生成プログラムＢ３９ｂ及び印刷データ生成プログラムＣ３９ｃのうちの、内部印刷データの出力フロー種別及び内部印刷データ名の組み合わせに対応する印刷データ生成プログラムを特定し、該印刷データ生成プログラムを実行させる。
【００５１】
印刷データ生成プログラムは、内部印刷データ（あるコマンド体系のコマンドデータ）をプリンタ２０が解釈可能なコマンド体系のコマンドデータに変換することによって、レシート画像をプリンタ２０に印刷出力させるための印刷データを生成する。より具体的には、印刷データ生成プログラムは、記憶部１２に記憶される、各種コマンド体系のコマンドデータを解釈するためのデータと、各種コマンド体系のコマンドデータにおいて指定され得るフォントのフォントデータと、に基づいて、内部印刷データを解釈し、レシート画像のラスタ画像データを生成する。印刷データ生成プログラムは、ラスタ画像データを生成したら、そのラスタ画像データをプリンタ２０に印刷出力させるための印刷データ（「コマンド体系１」のコマンドデータ）を生成する。
【００５２】
また、印刷データ生成プログラムは、レシート画像に対して各種加工処理を施す。例えば、印刷データ生成プログラムは、ラスタ画像データを生成する際に、レシート画像のフォント種類を他のフォント種類に変更する。また例えば、印刷データ生成プログラムは、レシート画像に特定のキーワードが含まれている場合に、そのキーワードに対応する広告画像やクーポン画像をレシート画像の末尾に付加する。この場合、レシート画像にキーワードが含まれているか否かは内部印刷データに基づいて判断され、広告画像やクーポン画像等の付加はラスタ画像データに対して行われる。また例えば、印刷データ生成プログラムは、レシート画像の背景に所定の背景画像を付加する。この場合、背景画像の付加はラスタ画像データに対して行われる。
【００５３】
なお、ここでは、図４に示すように、印刷データ生成プログラムＡ３９ａは、「コマンド体系２」の内部印刷データを解釈し、「コマンド体系１」の印刷データを生成する処理を実行するものとする。また、印刷データ生成プログラムＢ３９ｂは、「コマンド体系２」の内部印刷データを解釈し、レシート画像に対して所定の加工を施しつつ、「コマンド体系１」の印刷データを生成する処理を実行するものとする。また、印刷データ生成プログラムＣ３９ｃは、「コマンド体系３」の内部印刷データを解釈して、「コマンド体系１」の印刷データを生成する処理を実行するものとする。
【００５４】
印刷データ生成プログラムＡ３９ａ、印刷データ生成プログラムＢ３９ｂ又は印刷データ生成プログラムＣ３９ｃによって生成された印刷データは、ポートドライバ４０を介して、プリンタ２０の接続されたポートから出力され、プリンタ２０に供給される。
【００５５】
以上説明したように、印刷システム１では、プリンタドライバ３４ａ又は内部印刷データ生成プログラム３４ｂ，３４ｃによって生成される内部印刷データに基づいて印刷データ生成プログラム（印刷データ生成プログラムＡ３９ａ、印刷データ生成プログラムＢ３９ｂ及び印刷データ生成プログラムＣ３９ｃ）が実行されることにより、印刷対象画像のラスタ画像データが一旦生成され、その後、そのラスタ画像データをプリンタ２０に印刷出力させるための印刷データが生成され、プリンタ２０に供給される。その結果、印刷システム１では、プリンタを他のプリンタに置き換えた場合であっても、プリンタドライバ３４ａ、内部印刷データ生成プログラム３４ｂ，３４ｃによって置換前のプリンタ向けの印刷データ（ＲＡＷデータ）が内部印刷データとして生成されるようにしておくことにより、アプリケーションプログラム側の仕様や設定を変更しなくても、置換前のプリンタと同様の印刷出力を置換後のプリンタで得られるようになっている。
【００５６】
また、印刷システム１では、プリンタドライバ３４ａ、内部印刷データ生成プログラム３４ｂ，３４ｃによって生成される内部印刷データに基づいて印刷データ生成プログラム（印刷データ生成プログラムＢ３９ｂ）が実行されることにより、ユーザの所望する加工が施された、印刷対象画像のラスタ画像データが生成され、その後、そのラスタ画像データをプリンタ２０に印刷出力させるための印刷データが生成され、プリンタ２０に供給される。その結果、印刷システム１では、アプリケーションプログラム側の仕様や設定を変更しなくても、印刷出力の過程において、ユーザの所望する加工が印刷対象画像に対して施されて印刷出力が行われるようになっている。
【００５７】
特に、印刷システム１では、内部印刷データに基づく印刷データの生成に用いられる印刷データ生成プログラムを、内部印刷データ名ごとに異ならせることが可能になっている。
【００５８】
例えば、印刷システム１では、ＰＯＳアプリケーション３０ａ及び３０ｂのように、ＰＯＳアプリケーションが異なることによって内部印刷データ名が異なるのであれば、内部印刷データ名に応じて印刷データ生成プログラムを切り替えることが可能になる結果として、ＰＯＳアプリケーションごとに印刷データ生成プログラムを切り替えることが可能になる。同様に、印刷対象のレシート画像の種類ごとに内部印刷データ名が異なるのであれば、印刷対象のレシート画像の種類ごとに印刷データ生成プログラムを切り替えることが可能になる。
【００５９】
なお、ＰＯＳアプリケーション又はレシート画像の種類ごとに印刷データ生成プログラムを切り替えるためには、プリンタ２０に対応するプリンタキューを複数登録しておくとともに、各プリンタキューに異なる印刷データ生成プログラムを対応づけておき、レシート画像の印刷に用いられるプリンタキューをＰＯＳアプリケーション又はレシート画像の種類ごとに異ならせるようにすることも考えられる。しかしながら、この場合、複数のプリンタキューを登録する必要がある。また、レシート画像の種類ごとに印刷データ生成プログラムを切り替える場合には、ＰＯＳアプリケーション側で、レシート画像の種類ごとにどのプリンタキューを用いるかを設定しなければならなくなる。この点、印刷システム１では、複数のプリンタキューを登録する必要がなく、また、レシート画像の種類ごとに印刷データ生成プログラムを切り替える場合であっても、ＰＯＳアプリケーション側で特に設定を行う必要がない。
【００６０】
また、印刷システム１では、内部印刷データに基づく印刷データの生成に用いられる印刷データ生成プログラムを、ポートドライバ４０（ランゲージモニタプログラム３６）に対する内部印刷データの出力がどのプログラムを介して行われたかによって異ならせることが可能になっている。
【００６１】
例えば、印刷システム１では、出力フロー種別「１」及び「３」のように、内部印刷データの出力フロー種別が異なることによって、内部印刷データのコマンド体系が異なるのであれば、内部印刷データの出力フロー種別に応じて印刷データ生成プログラムを切り替えることが可能になる結果として、内部印刷データのコマンド体系に応じて印刷データ生成プログラムを切り替えることが可能になる。
【００６２】
なお、内部印刷データのコマンド体系に応じて印刷データ生成プログラムを切り替えるためには、内部印刷データの内容を参照することによって、その内部印刷データがどのコマンド体系のコマンドデータであるかを特定し、そのコマンド体系に対応する印刷データ生成プログラムを実行するようにすることも考えられる。しかしながら、相互に類似するコマンド体系が存在する場合には、内部印刷データの内容から、その内部印刷データがいずれのコマンド体系のコマンドデータであるかを特定するために複雑な処理を行わなければならない場合がある。また、そもそも、内部印刷データがいずれのコマンド体系のコマンドデータであるかを特定することが困難な場合もある。この点、印刷システム１では、相互に類似するコマンド体系が存在する場合であっても、それらのコマンド体系の内部印刷データが異なるプログラムを介してポートドライバ４０（ランゲージモニタプログラム３６）に出力されるのであれば、内部印刷データのコマンド体系に応じて印刷データ生成プログラムを切り替えることを比較的簡易な処理で実現できるようになっている。
【００６３】
次に、ホストコンピュータ１０の機能的構成について説明する。図５は、ホストコンピュータ１０において実現される機能ブロックのうち、本発明に関するものを主として示す機能ブロック図である。同図に示すように、ホストコンピュータ１０は、内部印刷データ生成部５０、内部印刷データ条件記憶部５１、判定部５２、印刷データ生成部５３、印刷データ供給部５４を含んでいる。
【００６４】
［内部印刷データ生成部］
内部印刷データ生成部５０は、１又は複数のデータ処理を実行することによって内部印刷データを生成し、判定部５２に出力する。内部印刷データ生成部５０は、例えばＧＤＩ３１、プリンタドライバ３４ａ及びスプーラ３５が実行されることによって実現される。または、例えば内部印刷データ生成プログラム３４ｂ、スプーラＡＰＩ３２及びスプーラ３５が実行されることによって実現される。または、例えば内部印刷データ生成プログラム３４ｃ及びポート出力ＡＰＩ３３が実行されることによって実現される。
【００６５】
［内部印刷データ条件記憶部］
内部印刷データ条件記憶部５１は記憶部１２を主として実現される。内部印刷データ条件記憶部５１は、複数の印刷データ生成プログラム（印刷データ生成処理）の各々に対応づけて、内部印刷データに関する条件である内部印刷データ条件を記憶する。内部印刷データ条件には、例えば内部印刷データの属性情報に関する条件が含まれる。より具体的には、例えば内部印刷データ名に関する条件が含まれる。また、内部印刷データ条件には、例えば内部印刷データの出力に用いられた１又は複数のデータ処理に関する条件が含まれる。より具体的には、例えば内部印刷データの出力に用いられた１又は複数のデータ処理に特定の処理（例えば、ＧＤＩ３１に関連する処理やスプーラＡＰＩ３２に関連する処理等）が含まれるか否かの条件が含まれる。本実施の形態の場合、内部印刷データ条件記憶部５１には、例えば図４に示すような内部印刷データ振り分け設定データが記憶される。
【００６６】
［判定部］
判定部５２は、内部印刷データ振り分けプログラム３７が制御部１１によって実行されることによって実現される。判定部５２は、印刷データ生成プログラムに対応づけて内部印刷データ条件記憶部５１に記憶される内部印刷データ条件を、内部印刷データ生成部５０から供給された内部印刷データが満足するか否かを判定する。例えば、判定部５２は、内部印刷データ生成部５０から供給された内部印刷データの属性情報を取得し、その属性情報が、印刷データ生成プログラムに対応づけられた内部印刷データ条件を満足するか否かを判定する。また例えば、判定部５２は、内部印刷データの出力に用いられた１又は複数のデータ処理が、印刷データ生成プログラムに対応づけられた内部印刷データ条件を満足するか否かを判定する。詳細については後述する（図６及び図７参照）。
【００６７】
［印刷データ生成部］
印刷データ生成部５３は制御部１１を主として実現される。印刷データ生成部５３は、判定部５２による判定結果に基づいて、複数の印刷データ生成プログラムのうちのいずれかを選択する。すなわち、印刷データ生成部５３は、複数の印刷データ生成プログラムのうち、判定部５２によって満足されると判定された内部印刷データ条件に対応づけられた印刷データ生成プログラムを選択する。そして、印刷データ生成部５３は、選択した印刷データ生成プログラムを、内部印刷データ生成部５０によって生成された内部印刷データに基づいて実行することによって、印刷データを生成する。
【００６８】
ここで、判定部５２及び印刷データ生成部５３を主として実行される処理について説明する。図６及び図７は、判定部５２及び印刷データ生成部５３を主として実行される処理を示すフロー図である。同図に示す処理は、情報記憶媒体や通信ネットワークを介して記憶部１２に供給されたプログラムが制御部１１によって実行されることによって実現される。
【００６９】
図６に示すように、まず判定部５２は、内部印刷データ生成部５０から供給された内部印刷データの出力フロー種別が「１」であるか否かを判定する（Ｓ１０１）。すなわち、内部印刷データの生成及びポートドライバ４０（ランゲージモニタプログラム３６）へ供給が、ＧＤＩ３１、プリンタドライバ３４ａ及びスプーラ３５を介して行われたか否かを判定する。
【００７０】
この判定は、例えばオペレーティングシステムの機能を利用することによって行われる。例えば、マイクロソフト社製のウィンドウズ（登録商標）では、ポートドライバ４０（ランゲージモニタプログラム３６）に対する内部印刷データの出力の過程において呼び出された関数名が、内部印刷データ（印刷ジョブ）に関連づけて保持される。そこで、判定部５２は、この機能を利用して、ポートドライバ４０（ランゲージモニタプログラム３６）への内部印刷データの出力の過程において、例えばＧＤＩ３１の関数が呼び出されたか否かを判定する。そして、判定部５２は、ＧＤＩ３１の関数が呼び出されている場合には、ポートドライバ４０（ランゲージモニタプログラム３６）への内部印刷データの出力がＧＤＩ３１、プリンタドライバ３４ａ及びスプーラ３５を介して行われたと判定する。すなわち、内部印刷データの出力フロー種別が「１」であると判定する。
【００７１】
判定部５２は、内部印刷データの出力フロー種別が「１」であると判定した場合、内部印刷データ名が、出力フロー種別「１」に対応づけられた内部印刷データ名のいずれかに一致するか否かを判定する（Ｓ１０２）。この場合、判定部５２は、印刷ジョブ名を内部印刷データ名として取得する。そして、内部印刷データ名が、出力フロー種別「１」に対応づけられた内部印刷データ名のいずれかに一致する場合、印刷データ生成部５３は、その内部印刷データ名に対応づけられた印刷データ生成プログラムを実行し、印刷データを生成する（Ｓ１０３）。一方、内部印刷データ名が、出力フロー種別「１」に対応づけられた内部印刷データ名のいずれにも一致しない場合、印刷データ生成部５３は所定の印刷データ生成プログラムを実行し、印刷データを生成する（Ｓ１０４）。本実施の形態では、各出力フロー種別ごとに、標準の印刷データ生成プログラムがあらかじめ定められており、このステップでは、出力フロー種別「１」に対応づけられた標準の印刷データ生成プログラムが実行される。このように、本実施の形態では、内部印刷データの出力フロー種別が「１」である場合に、その内部印刷データの内部印刷データ名が、出力フロー種別「１」に対応づけられた内部印刷データ名のいずれにも一致しない場合であっても、印刷データの生成が中止されないように図られている。なお、内部印刷データの出力フロー種別が「２」や「３」である場合についても同様である（Ｓ１０８及びＳ１１２参照）。
【００７２】
一方、判定部５２は、内部印刷データの出力フロー種別が「１」でないと判定した場合（Ｓ１０１のＮ）、内部印刷データの出力フロー種別が「２」であるか否かを判定する（Ｓ１０５）。すなわち、内部印刷データの生成及びポートドライバ４０（ランゲージモニタプログラム３６）へ供給が、内部印刷データ生成プログラム３４ｂ、スプーラＡＰＩ３２及びスプーラ３５を介して行われたか否かを判定する。この判定は、例えば、ポートドライバ４０（ランゲージモニタプログラム３６）への内部印刷データの出力の過程において、スプーラＡＰＩ３２の関数が呼び出されたか否かを判定することによって行われる。
【００７３】
判定部５２は、内部印刷データの出力フロー種別が「２」であると判定した場合、内部印刷データ名が、出力フロー種別「２」に対応づけられた内部印刷データ名のいずれかに一致するか否かを判定する（Ｓ１０６）。この場合、判定部５２は、印刷ジョブ名を内部印刷データ名として取得する。そして、内部印刷データ名が、出力フロー種別「２」に対応づけられた内部印刷データ名のいずれかに一致する場合、印刷データ生成部５３は、その内部印刷データ名に対応づけられた印刷データ生成プログラムを実行し、印刷データを生成する（Ｓ１０７）。一方、内部印刷データ名が、出力フロー種別「２」に対応づけられた内部印刷データ名のいずれにも一致しない場合、印刷データ生成部５３は所定の印刷データ生成プログラムを実行し、印刷データを生成する（Ｓ１０８）。すなわち、出力フロー種別「２」に対応づけられた標準の印刷データ生成プログラムが実行される。
【００７４】
一方、判定部５２は、内部印刷データの出力フロー種別が「２」でないと判定した場合（Ｓ１０５のＮ）、内部印刷データの出力フロー種別が「３」であるか否かを判定する（Ｓ１０９）。すなわち、内部印刷データの生成及びポートドライバ４０（ランゲージモニタプログラム３６）へ供給が、内部印刷データ生成プログラム３４ｃ及びポート出力ＡＰＩ３３を介して行われたか否かを判定する。この判定は、例えば、ポートドライバ４０（ランゲージモニタプログラム３６）への内部印刷データの出力の過程において、ポート出力ＡＰＩ３３の関数が呼び出されたか否かを判定することによって行われる。また例えば、ポート出力ＡＰＩ３３が、ＵＳＢポートに仮想的に割り当てられた仮想ＣＯＭ（シリアル）ポートに対して内部印刷データを供給するような場合には、内部印刷データの供給先が仮想ＣＯＭポートであるか否かを判定することによって、内部印刷データの出力フロー種別が「３」であるか否かを判定してもよい。
【００７５】
判定部５２は、内部印刷データの出力フロー種別が「３」であると判定した場合、内部印刷データ名が、出力フロー種別「３」に対応づけられた内部印刷データ名のいずれかに一致するか否かを判定する（Ｓ１１０）。そして、内部印刷データ名が、出力フロー種別「３」に対応づけられた内部印刷データ名のいずれかに一致する場合、印刷データ生成部５３は、その内部印刷データ名に対応づけられた印刷データ生成プログラムを実行し、印刷データを生成する（Ｓ１１１）。一方、内部印刷データ名が、出力フロー種別「３」に対応づけられた内部印刷データ名のいずれにも一致しない場合、印刷データ生成部５３は所定の印刷データ生成プログラムを実行し、印刷データを生成する（Ｓ１１２）。すなわち、出力フロー種別「３」に対応づけられた標準の印刷データ生成プログラムが実行される。
【００７６】
一方、Ｓ１０９において、内部印刷データの出力フロー種別が「３」でないと判定された場合（Ｓ１０９のＮ）、印刷データ生成部５４は所定の印刷データ生成プログラムを実行し、印刷データを生成する（Ｓ１１３）。本実施の形態では、印刷システム１の標準の印刷データ生成プログラムがあらかじめ定められており、このステップでは、その印刷データ生成プログラムが実行される。このように、本実施の形態では、内部印刷データの出力フロー種別が「１」,「２」又は「３」のいずれにも該当しない場合であっても、印刷データの生成が中止されないように図られている。
【００７７】
［印刷データ供給部］
印刷データ供給部５４は制御部１１を主として実現される。印刷データ供給部５４は、印刷データ生成部５３によって生成された印刷データをプリンタ２０に供給する。
【００７８】
プリンタ２０では、印刷データ供給部５４から供給される印刷データが受信され、それらの印刷データに従って、レシート画像の画像記録媒体への形成や画像記録媒体の切断等が実行される。
【００７９】
以上説明したように、印刷システム１によれば、プリンタを他のプリンタに置き換えた場合であっても、プリンタドライバ３４ａ、内部印刷データ生成プログラム３４ｂ，３４ｃによって置換前のプリンタ向けの印刷データ（ＲＡＷデータ）が内部印刷データとして生成されるようにすることにより、アプリケーションプログラム側の仕様や設定を変更しなくても、置換前のプリンタと同様の印刷出力を置換後のプリンタで得られるようになる。また、印刷システム１によれば、アプリケーションプログラム側の仕様や設定を変更しなくても、印刷出力の過程において、ユーザの所望する加工が印刷対象画像に対して施されて印刷出力が行われるようになる。
【００８０】
特に、印刷システム１によれば、内部印刷データに基づく印刷データの生成に用いられる印刷データ生成プログラム（すなわち、印刷データ生成処理の内容）を内部印刷データ名ごとに異ならせることが可能になる。また、印刷システム１によれば、印刷データの生成に用いられる印刷データ生成プログラムを、ポートドライバ４０（ランゲージモニタプログラム３６）に対する内部印刷データの出力がどのプログラムを介して行われたかによって異ならせることが可能になる。その結果、印刷システム１によれば、例えば、ＰＯＳアプリケーションやレシート画像の種類ごとに印刷データ生成プログラムを異ならせることや、内部印刷データのコマンド体系ごとに印刷データ生成プログラムを異ならせることを、比較的簡易な構成で実現できるようになる。
【００８１】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【００８２】
例えば、ホストコンピュータ１０で実行されるオペレーティングシステムはマイクロソフト製のウィンドウズ（登録商標）に限られない。また、ホストコンピュータ１０で実行されるアプリケーションプログラムはＰＯＳアプリケーション３０ａ、３０ｂに限られない。すなわち、プリンタ２０における印刷対象はＰＯＳアプリケーション３０ａ、３０ｂによって生成されたレシート画像に限られず、他のアプリケーションプログラムによって生成された文書や画像等であってもよい。
【００８３】
また例えば、以上では、ホストコンピュータ１０とプリンタ２０とがＵＳＢケーブルを介して接続されることとして説明したが、ホストコンピュータ１０とプリンタ２０とはＬＡＮ（Local Area Network）等の通信ネットワークを介して通信接続されるようにしてもよい。この場合、インタフェース１５及び２４は通信ネットワークに接続するための通信インタフェースとして構成されるようにすればよい。
【００８４】
また例えば、ランゲージモニタプログラム３６の代わりに、「ランゲージモニタプログラム」以外の名称で呼ばれるプログラム（例えば、「ポートエミュレータ」等）が用いられるようにしてもよい。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施形態に係る印刷システムの全体構成を示す図である。
【図２】レシート画像の一例を示す図である。
【図３】ホストコンピュータの印刷処理を説明するための図である。
【図４】内部印刷データ振り分け設定データの一例を示す図である。
【図５】本発明の実施形態に係るホストコンピュータの機能ブロック図である。
【図６】ホストコンピュータにおいて実行される処理を示すフロー図である。
【図７】ホストコンピュータにおいて実行される処理を示すフロー図である。
【符号の説明】
【００８６】
１  印刷システム、１０  ホストコンピュータ、１１  制御部、１２  記憶部、１３  入力部、１４  表示部、１５  インタフェース、１６  光ディスク読み取り部、２０  プリンタ、２１  制御部、２２  記憶部、２３  画像形成部、２４  インタフェース、３０ａ，３０ｂ  ＰＯＳアプリケーション、３１  ＧＤＩプログラム、３２  スプーラＡＰＩ、３３  ポート出力ＡＰＩ、３４ａ  プリンタドライバ、３４ｂ，３４ｃ  内部印刷データ生成プログラム、３５  スプーラ、３６  ランゲージモニタプログラム、３７  内部印刷データ振り分けプログラム、３８  内部印刷データ振り分け設定データ、３９ａ  印刷データ生成プログラムＡ、３９ｂ  印刷データ生成プログラムＢ、３９ｃ  印刷データ生成プログラムＣ、４０  ポートドライバ、５０  内部印刷データ生成部、５１  内部印刷データ条件記憶部、５２  判定部、５３  印刷データ生成部、５４  印刷データ供給部。
【図１】
2007179353.tif 000003
【図２】
2007179353.tif 000004
【図３】
2007179353.tif 000005
【図４】
2007179353.tif 000006
【図５】
2007179353.tif 000007
【図６】
2007179353.tif 000008
【図７】
2007179353.tif 000009