(57)【要約】【課題】イメージの９０度回転印刷処理の制御を既存の方法を用いて容易に実現する制御方法及び制御装置を提供すること。【解決手段】イメージの９０度回転印刷か否かを判定して（Ｓ１０１）、回転印刷の場合には、既存のイメージ登録機能を用いて９０度回転イメージ用の補正処理を行なったイメージデータを登録し（Ｓ１０３）、登録したイメージデータを既存の印刷機能を用いて印刷位置及び改行量の調整処理を実行して（Ｓ１０４）、回転印刷バッファ３５に格納する（Ｓ１０５）。格納した印刷データは、回転印刷命令とともに印刷デバイス５０に送信され（Ｓ１０６）、印刷デバイス５０により回転印刷が行われる。【選択図】  図３
2004356886.tif 000002
【特許請求の範囲】
【請求項１】
イメージ回転印刷命令に基づいてイメージデータを９０度回転させて印刷する印刷制御方法であって、
（ａ）前記回転印刷命令及び前記イメージデータを受信したときに、印刷デバイスの縦及び横の印刷解像度比の逆数により受信した前記イメージデータの縦横の比を伸縮する画像処理を行なう工程と、
（ｂ）前記画像処理した前記イメージデータを、イメージ回転印刷用の記憶領域に一時記憶させる工程と、
（ｃ）記憶した前記イメージデータを、印刷位置を指定して回転印刷用バッファに出力する工程と、
（ｄ）回転印刷バッファのデータを、回転印刷命令とともに前記印刷デバイスに出力する工程と、
を備えるイメージ回転印刷制御方法。
【請求項２】
前記工程（ｃ）は、前記イメージデータの前後の改行量及び左右の印刷位置を９０度回転印刷に合わせて調整処理して、前記イメージデータを含む１ページ分の印刷データを前記回転印刷用バッファに出力することを特徴とする請求項１に記載のイメージ回転印刷制御方法。
【請求項３】
イメージデータを９０度回転させて印刷する回転印刷命令を受信したときに、印刷デバイスに回転印刷命令を実行させるための制御を行なうイメージ回転印刷制御装置であって、
回転印刷命令とともに受信したイメージデータの縦横の比を、前記印刷デバイスの縦及び横の印刷解像度比の逆数に基づいて伸縮する画像処理手段と、
前記画像処理したイメージデータを記憶するイメージ記憶部と、
前記画像処理したイメージデータの印刷位置を９０度回転処理に合わせて調整処理する印刷位置制御手段と、
前記印刷位置制御手段の制御の下、前記イメージデータを含む１ページの印刷データを記憶する回転印刷バッファと、
前記各部を制御し、前記回転印刷バッファに記憶した印刷データ及び回転印刷命令を前記印刷デバイスに出力する回転印刷制御部と、
を備えることを特徴とするＰＯＳシステムのイメージ回転印刷制御装置。
【請求項４】
前記印刷位置制御手段は、前記イメージデータの前後の改行量及び左右の印刷位置を９０度回転印刷に合わせて調整処理することを特徴とする請求項３に記載の回転印刷制御装置。
【請求項５】
請求項１または２に記載のイメージ回転印刷制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項６】
請求項１または２に記載のイメージ回転印刷制御方法の各工程をコンピュータに実行させるためのプログラムを記載したコンピュータにより読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、イメージデータを９０度回転させて印刷するための印刷制御方法及び印刷制御装置に関し、特に、ＯＰＯＳ、Ｊａｖａ（登録商標）ＰＯＳ、ＵＰＯＳ等において、イメージ回転印刷命令により指定したイメージデータを９０度回転印刷可能にする印刷制御方法及び印刷制御装置に関するものである。
【０００２】
【従来技術】
最近、ＰＯＳシステムの開発環境として、ＯＰＯＳ、Ｊａｖａ（登録商標）ＰＯＳ、ＵＰＯＳ等のように、ＰＯＳシステムに使用する印刷装置等の周辺装置を汎用的なＯＳ（オペレーティングシステム）に基づいて容易に統合することのできる各種オープンデバイスドライバアーキテクチャが提供されている。これらのアーキテクチャに基づいてＰＯＳシステム及び周辺装置を開発することにより、汎用性の高い製品を提供することができ、また開発期間の短縮化をはかることが可能となる利点がある。
【０００３】
ＰＯＳシステムでは、ロゴ、クーポン券、割引券、領収書等のイメージをレシートやスリップ上に印刷する機会が多い。例えば、ほとんどの場合、レシートにはロゴが印刷されており、領収書を印刷することもある。レシートは幅が狭いため、その印刷には工夫が必要であり、場合によっては縦と横を９０度回転して印刷することが求められる場合もある。
【０００４】
ところが、例えば、Ｊａｖａ（登録商標）ＰＯＳリリース１．５では、イメージの回転印刷をサポートすることを要求されておらず、（非特許文献１参照）、リリース１．７において初めてイメージデータの９０度回転印刷のサポートが要求されることになった（非特許文献２参照）。Ｊａｖａ（登録商標）ＰＯＳ仕様のＰＯＳ印刷システムを提供する場合には、イメージ回転印刷をサポートする必要がある。９０度回転後の印刷イメージを適切なものとするためには、印刷装置（印刷デバイス）の縦横の印刷解像度に合わせて印刷イメージを補正する画像処理、イメージ前後の行間隔の処理等を実行するソフトウェアが必要となる。
【０００５】
【非特許文献１】
“Ｊａｖａ（登録商標）ＰＯＳリリース１．５仕様書（日本語版）、第１５章”、［ｏｎｌｉｎｅ］、平成１２年１１月２０日、Ｊａｖａ（登録商標）ＰＯＳ研究会、［平成１５年５月１５日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｊａｖａｐｏｓ．ｃｏｍ／ｄｏｗｎｌｏａｄｓ／ｊａｖａｐｏｓｊａｐａｎｖ１５．ｐｄｆ＞
【非特許文献２】
“Ｊａｖａ（登録商標）ＰＯＳリリース１．７仕様書（日本語版）、第１５章”、［ｏｎｌｉｎｅ］、平成１５年２月２０日、Ｊａｖａ（登録商標）ＰＯＳ研究会、［平成１５年５月１５日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｊ−ｉｎｄｕｓｔｒｙ．ｏｒｇ／ｊａｖａｐｏｓ／ｊａｖａｐｏｓ１７＿ｆｉｎａｌ／ｉｎｄｅｘ．ｈｔｍｌ＞
【０００６】
【発明が解決しようとする課題】
しかし、新たに導入された仕様に合わせてイメージデータの９０度回転印刷命令をサポートするための新たなソフトウェアを開発するには、多くの時間と労力を必要とする。
【０００７】
本発明は、この点に鑑みてなされたもので、イメージデータの９０度回転印刷命令をサポートするソフトウェアの開発を短期間に行なうことのできるイメージ回転印刷制御方法及び装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、イメージの回転印刷命令を受信したときに、既存の処理方法（印刷メソッド等）を利用して、印刷デバイスによる縦及び横の印刷解像度比の逆数に合わせて印刷イメージを伸縮する画像処理を施して一時記憶し、一時記憶したイメージデータを回転印刷時の印刷位置に合わせて印刷バッファに出力することにより、上記課題を解決する。
【０００９】
本発明の第１の態様にかかるＰＯＳシステムのイメージ回転印刷制御方法は、イメージ回転印刷命令に基づいてイメージデータを９０度回転させて印刷する印刷制御方法であって、（ａ）回転印刷命令及びイメージデータを受信したときに、印刷デバイスの縦及び横の印刷解像度比の逆数により受信したイメージデータの縦横の比を伸縮する画像処理を行なう工程と、（ｂ）画像処理したイメージデータを、イメージ回転印刷用の記憶領域に一時記憶させる工程と、（ｃ）記憶したイメージデータを、印刷位置を指定して回転印刷用バッファに出力する工程と、（ｄ）回転印刷バッファのデータを、回転印刷命令とともに印刷デバイスに出力する工程とを備えることを特徴とする。この態様では、イメージデータの縦と横の比を印刷デバイスの縦横解像度比に合わせて補正して専用の記憶領域に一時記憶した後、印刷位置の調整処理を行なうことにより、９０度回転印刷用のデータを生成する。これらの処理は従来のメソッドを組合わせて用いることにより実行可能であり、これによりソフトウェアの開発期間が短くなる。  本発明の他の態様にかかるＰＯＳシステムのイメージ回転印刷制御方法は、工程（ｃ）が、イメージデータの前後の改行量及び左右の印刷位置を９０度回転印刷に合わせて調整処理して、イメージデータを含む１ページ分の印刷データを回転印刷用バッファに出力することを特徴とする。この態様により、１ページ分の印刷データ中のイメージ及びその配置が９０度回転印刷にあわせてすべての印刷データが補正される。したがって、印刷デバイスは、印刷データの処理を行なう必要がなく、受信した１ページ分の印刷データを９０度回転印刷するだけで、イメージの９０度回転印刷を実行することができる。
【００１０】
本発明の第１の態様にかかるＰＯＳシステムのイメージ回転印刷制御装置は、イメージデータを９０度回転させて印刷する回転印刷命令を受信したときに、印刷デバイスに回転印刷命令を実行させるための制御を行なうイメージ回転印刷制御装置であって、回転印刷命令とともに受信したイメージデータの縦横の比を、印刷デバイスの縦及び横の印刷解像度比の逆数に基づいて伸縮する画像処理手段と、画像処理したイメージデータを記憶するイメージ記憶部と、画像処理したイメージデータの印刷位置を９０度回転処理に合わせて調整処理する印刷位置制御手段と、印刷位置制御手段の制御の下、イメージデータを含む１ページの印刷データを記憶する回転印刷バッファと、各部を制御し、回転印刷バッファに記憶した印刷データ及び回転印刷命令を印刷デバイスに出力する回転印刷制御部とを備えることを特徴とする。
【００１１】
本発明の他の態様にかかるＰＯＳシステムのイメージ回転印刷制御装置は、印刷位置制御手段が、イメージデータの前後の改行量及び左右の印刷位置を９０度回転印刷に合わせて調整処理することを特徴とする。
【００１２】
本発明の他の態様は、前述のいずれかの方法の各工程をコンピュータに実行させるプログラムであることを特徴とする。
【００１３】
本発明の他の態様は、前述のいずれかの方法の各工程をコンピュータに実行させるプログラムを記載したコンピュータにより読取可能な記録媒体であることを特徴とする。
【００１４】
なお、回転印刷すべきイメージデータの受信には、回転印刷命令に含まれるイメージデータを特定するファイル名またはＵＲＬ等の格納先の情報に基づいてイメージデータを得る場合を含む。
【００１５】
【発明の実施の形態】
以下、本発明の実施形態を、図面を用いて説明する。図１は、本発明を適用可能なＰＯＳシステムの印刷に関するホスト装置１０と印刷デバイス５０の機能ブロック図を示している。図１では、ホスト装置として、汎用ＯＳにより標準化されたＰＯＳのホスト装置（ＯＰＯＳ、Ｊａｖａ（登録商標）ＰＯＳ、ＵＰＯＳ等）の基本構成を示している。ホスト装置１０は、ＰＯＳアプリケーション１１とＰＯＳデバイスドライバ１２とから構成されており、ＰＯＳデバイスドライバ１２はさらにデバイスコントロール１３、デバイスサービス１４、及びポートドライバ１５とを備えている。これらの一般的な機能は、ＣＰＵ、メモリ（ＲＯＭ、ＲＡＭ）、レジスタ、その他の論理回路、及びメモリ等に記憶されたソフトウェアとにより、実現可能である。
【００１６】
図１に示す印刷デバイス５０は、ホスト装置１０とデータの送受信を行なう送受信部５１と、受信データを一時記憶する受信バッファ５２と、ホスト装置１０から送信された特定のイメージを登録するイメージ登録部５３と、印刷動作全般を制御する印刷制御部５４と、印刷制御部５４の制御に従って印刷動作（記録紙の搬送を含む）を実行する印刷部５５とを備えている。イメージ登録部５３には、頻繁に印刷されるイメージデータが予め登録され、ホスト装置からの命令に基づいて登録されたイメージが印刷される。
【００１７】
印刷デバイス５０にイメージ記憶用の不揮発性記憶部（不揮発性ＲＡＭ）を有しない場合、または、イメージ登録部５３の容量が小さい為にすべてのイメージデータを記憶できない場合には、イメージデータをホスト装置１０に記憶しておくことも可能である。例えばＪａｖａ（登録商標）ＰＯＳ仕様では、イメージデータを最低２０個は登録可能であることが求められている。そのため、印刷デバイスの不揮発性ＲＡＭに２０個登録できない場合には、残りのイメージデータをホスト装置１０に登録しておくという構成がとられる。
【００１８】
ＰＯＳアプリケーション１１から印刷命令があると、ＰＯＳデバイスドライバ１２は、印刷命令により指定されたデータを印刷デバイス５０の機能及び仕様に合わせて変換し、印刷デバイス５０に送信する。印刷デバイス５０では、送受信部５１を介して印刷命令及び印刷データ（受信データ）が受信バッファ５２に一時記憶される。受信バッファ５２に一時記憶された受信データは、印刷制御部５４内のコマンド解析又は受信データ解析部（図示せず）により解析される。受信データが印刷データの場合には、受信データを印刷部５５の印刷バッファ（図示せず）に展開して、展開した内容を印刷用紙上に印刷する。
（イメージ回転印刷処理部）
図２を用いて、イメージ回転印刷命令を受信した場合の制御について説明する。図２は、本発明の一実施形態にかかるＰＯＳデバイスドライバのイメージ回転印刷処理部の構成を示す機能ブロック図である。イメージ回転印刷処理部２１は、回転印刷制御手段３１、イメージ処理手段３２、回転イメージ記憶領域３３、印刷位置制御手段３４、回転印刷バッファ３５とを備えている。
【００１９】
ＰＯＳアプリケーション１１からの印刷命令は、まず、命令解析部２０により解析される。印刷命令がイメージデータの回転印刷命令の場合には、イメージ回転印刷処理部２１により処理され、回転印刷命令以外の場合には、他の命令処理部（図示せず）へ送信される。
【００２０】
イメージ回転印刷処理部２１では、イメージを９０度回転して正しく印刷するために、回転印刷制手段３１の制御に基づいて、イメージデータの画像処理、印刷位置決め、及び改行量の調整等の処理が実行される。まず、受信したイメージはイメージ処理手段３２に送信される。イメージ処理手段３２では、印刷デバイス５０の縦及び横の解像度の違いに合わせてイメージデータの画像処理が行なわれる。これは、印刷デバイス５０の縦及び横の解像度が異なると、９０度回転した場合の印刷イメージが解像度の低い方向に伸びてしまうので、印刷後のイメージに縦横比にゆがみが生じないようにイメージデータを補正するものである。例えば、縦方向の解像度が低い場合にそのまま９０度回転印刷すると、イメージが縦長に印刷されてしまう。そのため、イメージ処理手段３２により、印刷デバイス５０の縦及び横の解像度比率の逆数で、イメージデータの縦及び横の比率を伸縮する画像処理を行なう。イメージ処理手段３２により補正したイメージデータは、回転イメージ記憶領域３３に一時記憶される。
【００２１】
回転イメージ記憶領域３３に記憶されたイメージデータは、印刷位置制御手段３４により、９０度回転後の印刷位置が設定されて、回転印刷バッファ３５に出力される。回転印刷バッファ３５には、１ページ分の回転印刷データが出力され、回転印刷命令とともに印刷デバイスに送信される。印刷デバイス５０は受信した印刷データを９０度回転して印刷する。
（Ｊａｖａ（登録商標）ＰＯＳへの適用例）
Ｊａｖａ（登録商標）ＰＯＳに本発明を適用した例を用いて、イメージを９０度回転印刷する場合を説明する。Ｊａｖａ（登録商標）ＰＯＳでは、このような回転印刷処理は、以下のような命令（メソッド）により実行可能である。但し（）内は引数であり、説明を簡単にするため、主要な引数のみを示している。
【００２２】
ｒｏｔａｔｅＰｒｉｎｔ（Ｒ９０）；  右９０度回転印刷モード開始
ｐｒｉｎｔＢｉｔｍａｐ（ファイル名、幅等）；  イメージ印刷
ｒｏｔａｔｅＰｒｉｎｔ（ＮＯＲＭＡＬ）；回転印刷モード終了
本発明の一実施形態では、ｒｏｔａｔｅＰｒｉｎｔ（Ｒ９０）メソッドにより右９０度回転印刷モードを開始し、当該回転印刷モード中のｐｒｉｎｔＢｉｔｍａｐメソッド（イメージデータの回転印刷命令）を処理する場合に、以下のような既存の印刷メソッド等の処理方法を用いた手順により処理する。
１．まず、ｐｒｉｎｔＢｉｔｍａｐメソッドにより指定されたイメージファイルのビットマップデータ（イメージデータ）を、ｓｅｔＢｉｔｍａｐメソッドを用いて、所定の登録用領域（回転イメージ記憶領域３３）に一時登録する。一時登録する際には、前述した通り、印刷デバイス５０の縦横の解像度比に合わせて、イメージデータの補正を行なう。また、通常のｓｅｔＢｉｔｍａｐによるイメージ登録領域（例えば１〜２０番）を侵犯しないように、補正後の回転印刷用イメージデータは、これら以外の登録領域（例えば２１番目）に登録する。
２．次に、一時登録した印刷イメージデータの印刷位置（横方向の印刷位置及び改行量）を、ｐｒｉｎｔＮｏｒｍａｌのエスケープシーケンスＥＳＣ｜２１Ｂ用の処理を用いて、９０度回転印刷に合わせて調整し、回転印刷バッファ３５へ格納する。
【００２３】
以上により、ｐｒｉｎｔＢｉｔｍａｐメソッドの処理は終了し、その後の、ｒｏｔａｔｅＰｒｉｎｔ（ＮＯＲＭＡＬ）の実行により回転印刷モードを終了し、印刷デバイス５０用の回転印刷命令と回転印刷バッファ３５のデータを印刷デバイス５０に送信する。印刷デバイス５０では、回転印刷命令に基づき、受信したイメージデータを９０度回転印刷する。受信イメージデータは、印刷デバイス５０の縦横の解像度差に応じて画像補正処理がされており、印刷位置も調整済みであるので、９０度回転しても、ゆがみ無く正しい位置に印刷される。
【００２４】
以上の処理を、図３及び図４を用いて、さらに詳細に説明する。図３は、９０度回転印刷を実行する場合に回転印刷バッファ３５に回転印刷用イメージデータを出力するまでの本発明の一実施形態にかかる処理手順を示すフローチャートであり、図４は、各段階におけるイメージの例を示す図である。
【００２５】
ｐｒｉｎｔＢｉｔｍａｐメソッドにより指定されたファイルのイメージデータが図４（ａ）に示すイメージであるとする。ｐｒｉｎｔＢｉｔｍａｐメソッドを受信すると、通常のビットマップ印刷か、９０度回転ビットマップ印刷かが確認される（Ｓ１０１）。通常のビットマップ印刷の場合には（Ｓ１０１；ＮＯ）、ｐｒｉｎｔＢｉｔｍａｐメソッドにより指定されたビットマップデータ（図４（ａ）に示すイメージ）がそのまま（受信イメージデータと印刷デバイスの解像度が異なる場合には、印刷解像度に応じて画像補正処理が行なわれる）印刷される（Ｓ１０２）。
【００２６】
９０度回転印刷の場合（Ｓ１０１；ＹＥＳ）、ビットマップデータ（イメージデータ）を、ｓｅｔＢｉｔｍａｐメソッドにより回転印刷用の登録領域（例えば、２１番）に一時記憶する（Ｓ１０３）。この記憶の際に、ビットマップデータは、９０度回転した場合の縦横のゆがみを調整するために印刷デバイス５０の縦及び横の解像度比に応じて補正され、さらに印刷デバイス５０に適合する印刷用データの形式に変換される。例えば、印刷デバイスの縦方向の解像度が横方向の解像度よりも低いとすると、図４（ｂ）に示すように、解像度の比率に合わせて、原イメージデータよりも横幅を収縮したイメージとなるようなイメージに補正処理される。補正処理されたイメージデータは、印刷デバイス５０の印刷機能に適合する印刷データに変換されて、回転印刷用の登録領域に一時記憶される。
【００２７】
次に、エスケープシーケンスＥＳＣ｜２１Ｂにより、印刷位置及び改行量が、９０度回転イメージに合わせて算出され（Ｓ１０４）、イメージ前後の改行量、左右の印刷位置が調整されたイメージデータとして回転印刷バッファ３５に出力される（Ｓ１０５）。図４（ｃ）は、回転印刷バッファ３５に出力されたイメージデータを、９０度回転前の１ページ印刷領域（破線領域６１）として示す図である。「ｘ」は印刷後の印刷用紙の移動方向を示し、「ｗ」は９０度回転後の印刷用紙の横方向（幅方向）の印刷位置を示し、「ｆ」は９０度回転印刷時の改行量を示している。
【００２８】
ｒｏｔａｔｅＰｒｉｎｔ（ＮＯＲＭＡＬ）を受信すると、回転印刷バッファ３５に格納された印刷データは、回転印刷命令とともに印刷デバイス５０に送信される（Ｓ１０６）。印刷デバイス５０によって印刷されたイメージは、図４（ｄ）に示すように、右に９０度回転したゆがみのないものとなる。
【００２９】
このように、本発明では、既に存在するｓｅｔＢｉｔｍａｐメソッド及びエスケープシーケンス処理を用いることにより、イメージデータの回転処理を実行させることが可能となり、ソフトウェアの開発期間を短くすることが可能となる。尚、以上の説明では、右方向に９０度回転する例を説明したが、左に９０度回転する場合にも同様の処理を行なうことにより、イメージの回転印刷を行なうことが可能である。
【００３０】
【発明の効果】
以上説明したように、本発明は、イメージの９０度回転印刷を、既存のビットマップ登録メソッドを用いて、９０度回転用に補正した印刷データをビットマップ登録以外の領域に登録し、既存の印刷命令を用いて、登録したビットマップデータの印刷位置及び改行量の調整を行ないつつ、回転印刷用のバッファに格納したことにより、イメージの９０度回転印刷の制御を容易に実施可能となる。したがって、イメージデータの９０度回転印刷命令をサポートするソフトウェアの開発を短期間に行なうことができる。
【００３１】
さらに、イメージデータのビットマップを登録しておき、登録イメージを９０度回転して印刷する場合であっても、アプリケーションから受信したイメージデータをそのまま９０度回転印刷する場合であっても、同一の印刷結果を得ることが可能となる。
【図面の簡単な説明】
【図１】本発明を適用可能なＰＯＳシステムの印刷に関するホスト装置と印刷デバイスの機能ブロック図である。
【図２】本発明の一実施形態にかかるＰＯＳデバイスドライバのイメージ回転印刷処理部の構成を示す機能ブロック図である。
【図３】９０度回転印刷を実行する場合に回転印刷バッファに回転印刷用イメージデータを出力するまでの本発明の一実施形態にかかる処理手順を示すフローチャートである。
【図４】本発明の処理の各段階におけるイメージデータの例を示す図である。
【符号の説明】
１０  ホスト装置                      １１  ＰＯＳアプリケーション
１２  ＰＯＳデバイスドライバ          １３  デバイスコントロール
１４  デバイスサービス                １５  ポートドライバ
２０  命令解析部                      ２１  イメージ回転印刷処理部
２２  送受信手段                      ３１  回転印刷制御部
３２  イメージ処理手段                ３３  回転イメージ記憶領域
３４  印刷位置制御手段                ３５  回転印刷バッファ
４０  印刷用紙（レシート用紙）        ５０  印刷デバイス
５１  送受信部                        ５２  受信バッファ
５３  イメージ登録部                  ５４  印刷制御部
５５  印刷部                            ｆ  改行量
ｗ  印刷用紙の横方向（幅方向）の印刷位置
【図１】
2004356886.tif 000003
【図２】
2004356886.tif 000004
【図３】
2004356886.tif 000005
【図４】
2004356886.tif 000006