(57)【要約】【課題】画像データ自体に加工することなくコマンドラインオプション指定のみで、容易に印刷開始位置を指定することのできるプリントフィルタを提供することを目的とする。【解決手段】印刷開始座標算出部をプリントフィルタに設けることで、ユーザは画像データ自体に加工することなく、コマンドラインオプションに印刷開始位置インデックスを指定するだけで容易に画像データの配置を指定することが可能となる。【選択図】        図１
2004192217.tif 000002
【特許請求の範囲】
【請求項１】
ターミナル端末上において、コマンドライン操作により画像データ等を変換し、カラープリンタの印刷データを生成するプリントフィルタであって、
ユーザに指定された印刷設定をコマンドラインオプションより解析するオプション解析部を有し、
前記オプション解析部にて得られた前記印刷設定を格納する印刷設定格納バッファを有し、
画像ファイルより画像データを読み込む画像データ読み取り部を有し、
前記画像データ読み取り部が読み込んだ画像データを格納する画像データバッファを有し、
前記画像データバッファに格納された画像データに対して印刷データを生成する際に、ユーザに指定された印刷開始位置インデックスに応じて、印刷データの生成を開始する座標を算出する印刷開始位置算出部を有し、
前記印刷開始位置算出部により算出された印刷データの生成を開始する座標と印字領域を元に印刷データを生成する位置を決定し、前記画像データバッファより画像データを読み込んで印刷データを生成する印刷データ生成部を有することを特徴とするプリントフィルタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬｉｎｕｘなどのＵＮＩＸ（Ｒ）系ＯＳ（オペレーティングシステム）のターミナル端末上において、コマンドライン操作により画像データ等を変換し、カラープリンタの印刷データを生成するプログラムであるプリントフィルタに関するものである。
【０００２】
【従来の技術】
近年、米国Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（Ｒ）や米国Ａｐｐｌｅ社のＭａｃＯＳなどの商用ＯＳに加え、フリーのＵＮＩＸ（Ｒ）系ＯＳであるＬｉｎｕｘのシェアが拡大しつつある。このような状況の中でプリンタベンダは、Ｌｉｎｕｘにおいてプリンタドライバの役割を果たすプリントフィルタをリリースし始めている。プリントフィルタとは、図１に示すようにＴＩＦＦファイルやＪＰＥＧファイル等のビットマップ画像データを、プリンタの印刷データに変換するプログラムである。ユーザは、テキストベースのターミナル端末上で、例えば下記のように印刷時の設定をコマンドラインのオプションで設定し、印刷を行う。
【０００３】
ｐｈｏｔｏ．ｔｉｆを普通紙の設定で印刷する場合
ｐｒｉｎｔｆｉｌｔｅｒ  −−ｍｏｄｅｌ  ｐｒｉｎｔｅｒｍｏｄｅｌ  −−ｍｅｄｉａ  ｐｌａｉｎ  ｐｈｏｔｏ．ｔｉｆ  ＞  ／ｄｅｖ／ｌｐ０
プリントフィルタが出力する印刷データは、コマンドラインオプションで指定される画像ファイルのビットマップ画像データのみから生成されるため、図２に示すように印字領域の左上部分から印刷されるが、図３に示すように印字領域の中心に印刷する「センタリング」機能などを備えたものあり、プリントフィルタの高機能化が図られている。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来のプリントフィルタにおける印刷開始位置を指定する機能としては、センタリング機能だけであるため、ユーザの印刷開始位置の選択肢は、左上から印刷（センタリング指定せず）、および、センタリング指定しかなかった。そのため、印刷用紙が白紙でなく挿絵等がある場合、図４で示したように挿絵に重なってしまい、印刷用紙の余白部分に対して印刷することができなかった。このような場合には、図５のようにユーザがアプリケーションやツール等を用いて、画像データ自体に余白部分を付加する加工を施した上で印刷する必要があった。
【０００５】
本発明は、上記従来例に鑑みてなされたもので、画像データ自体に加工することなくプリントフィルタのオプション指定のみで、容易に印刷開始位置を指定することのできるプリントフィルタを提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明のプリントフィルタは以下のような構成を備える。すなわち、ターミナル端末上において、コマンドライン操作により画像データ等を変換し、カラープリンタの印刷データを生成するプリントフィルタであって、ユーザに指定された印刷設定をコマンドラインオプションより解析するオプション解析部を有し、前記オプション解析部にて得られた前記印刷設定を格納する印刷設定格納バッファを有し、画像ファイルより画像データを読み込む画像データ読み取り部を有し、前記画像データ読み取り部が読み込んだ画像データを格納する画像データバッファを有し、前記画像データバッファに格納された画像データに対して印刷データを生成する際に、ユーザに指定された印刷開始位置インデックスに応じて、印刷データの生成を開始する座標を算出する印刷開始位置算出部を有し、前記印刷開始位置算出部により算出された印刷データの生成を開始する座標と印字領域を元に印刷データを生成する位置を決定し、前記画像データバッファより画像データを読み込んで印刷データを生成する印刷データ生成部を有することを特徴とする。
【０００７】
【発明の実施の形態】
以下、本発明に係る一実施形態のプリントフィルタの実施例を、図面を参照して詳細に説明する。
【０００８】
図６は、本発明に係るプリントフィルタの構成図を示したものである。プリントフィルタ１００は、ユーザにより画像ファイル２００のファイル名と、用紙の種類、サイズなどの印刷設定をコマンドラインオプションとして指示される。プリントフィルタ１００では、指定された画像ファイルを読み込み、印刷設定に応じた印刷データを生成する。ユーザは、生成された印刷データをプリンタ３００に送信することで、印刷を行うことができる。
【０００９】
ここで、印刷開始位置を指定する場合には、ユーザにより印刷開始位置インデックスをコマンドラインオプションとしてとして受け取る。印刷開始位置インデックスは、例えば図７のように３×３＝９箇所指定できる場合、１〜９の印刷開始位置インデックスを指定することができる。図８に１〜９の印刷開始位置インデックスを指定したときの印刷結果の概略を示す。
【００１０】
次に、実際にユーザにより印刷開始位置インデックスを指定された場合の処理の流れを図６を用いて説明する。
【００１１】
プリントフィルタ１００は、ユーザによるオプション指定を解析するオプション解析部１５０により、指定されたオプション情報を印刷設定格納バッファ１７０に格納する。オプション情報には、コマンドラインにより指定された用紙の種類、用紙のサイズなどの印刷設定や画像ファイルのファイル名のほかに、指定された印刷モードにおけるプリンタ解像度、印字領域情報なども含まれる。
【００１２】
画像データ読み取り部１１０は、印刷設定格納バッファ１７０よりユーザが指定した画像ファイルのファイル名を取得し、画像ファイル２００から画像データを読み込む。読み込まれた画像データは、画像データバッファ１６０に格納される。
【００１３】
次に、印刷開始位置インデックスが指定された場合は、印刷開始座標算出部１２０において印刷開始する座標が算出される。以下、図７のように印刷開始位置インデックスが３×３＝９箇所指定できる場合を例に、具体的に説明する。
【００１４】
ここで、印字領域のプリンタ解像度でのピクセル数を横Ｐｘピクセル、縦Ｐｙピクセル、原画像データのプリンタ解像度でのピクセル数を横Ｄｘピクセル、縦Ｄｙピクセルとする。印刷開始座標算出部１２０では、ユーザに指定されたインデックスに応じて、印字領域に対する印刷開始座標（Ｓｘ，Ｓｙ）を式（１）〜（６）により算出する。
【００１５】
インデックス１、４、７のとき  Ｓｘ＝０                    （１）
インデックス２、５、８のとき  Ｓｘ＝（Ｐｘ−Ｄｘ）／２    （２）
インデックス３、６、９のとき  Ｓｘ＝Ｐｘ−Ｄｘ            （３）
インデックス１、２、３のとき  Ｓｙ＝０                    （４）
インデックス４、５、６のとき  Ｓｙ＝（Ｐｙ−Ｄｙ）／２    （５）
インデックス７、８、９のとき  Ｓｙ＝Ｐｙ−Ｄｙ            （６）
次に、印刷データ生成部１３０は印刷開始座標算出部１２０により算出された印刷開始座標および、画像データバッファ１６０に格納された画像データ、印刷設定格納バッファに格納された各種情報に基づき、印刷データを生成する。
【００１６】
ここで、印刷開始座標（Ｓｘ，Ｓｙ）について、ＳｘまたはＳｙが正数になる場合は、ｘ方向（横方向）またはｙ方向（縦方向）に対し、印字領域よりも画像データが小さい場合である。このような場合には、印字領域の原点から、ｘ方向にはＳｘまで、ｙ方向にはＳｙまでが余白部分と判断される。その結果、ｘ方向またはｙ方向に余白部分が付加された印刷データが生成され、図８で示したよう印刷される。
【００１７】
また、印刷開始座標（Ｓｘ，Ｓｙ）について、ＳｘまたはＳｙが負数になる場合は、ｘ方向（横方向）またはｙ方向（縦方向）に対し、印字領域よりも画像データが大きい場合である。このような場合には、ｘ方向ではＳｘ、ｙ方向ではＳｙが画像データの中での印刷データ生成を開始するオフセット座標となり、画像データの中で印刷データ生成の対象となる範囲が決定される。その結果、印字領域に含まれる部分に対してのみ印刷データが生成され、図９で示したように画像データが切り取られて印刷されることになる。
【００１８】
このように、印刷開始座標算出部１２０をプリントフィルタに設けることで、ユーザは画像データ自体に加工することなく、印刷開始位置インデックスを指定するだけで容易に画像データの配置を指定することが可能となる。
【００１９】
なお、本実施例では、印刷開始位置インデックスを３×３＝９箇所指定できる場合について説明したが、（ｍ×ｎ）個所に印刷開始位置インデックスｉを指定できるプリントフィルタとして適用することも可能である（ただし、ｍ、ｎは２以上の整数、ｉは１以上の整数）。この場合、印刷開始座標算出部１２０における印刷開始位置座標は、以下の式（７）（８）で算出することができる。
【外１】
2004192217.tif 000003
【００２０】
ただし、Ｍｘ＝（ｉ−１）％  ｍ、Ｍｙ＝（ｉ−１）％  ｎ  （％は剰余演算をあらわす）
ここで、ユーザが上記ｍ、ｎの分割数および印刷開始位置インデックスｉを自由に指定できる構成にしてもよい。
【００２１】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００２２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００２３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００２４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００２５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００２６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００２７】
【発明の効果】
以上説明したように本発明によれば、印刷開始座標算出部をプリントフィルタに設けることで、ユーザは画像データ自体に加工することなく、印刷開始位置インデックスを指定するだけで容易に画像データの配置を指定することが可能となるという効果がある。
【図面の簡単な説明】
【図１】一般的なプリンタフィルタを説明する図である。
【図２】プリントフィルタの印刷結果を説明する図である。
【図３】プリントフィルタのセンタリング機能を説明する図である。
【図４】印刷用紙に挿絵がある場合のプリントフィルタ印刷結果を説明する図である。
【図５】印刷用紙に挿絵がある場合に、挿絵に重ならないよう原画像を加工した場合を説明する図である。
【図６】本発明に係るプリントフィルタの構成例を示す概略図である。
【図７】印刷開始位置インデックスが３×３＝９箇所指定できる場合を説明する図である。
【図８】印刷開始位置インデックスが３×３＝９箇所指定できる場合の印刷結果を示す図である。
【図９】画像データが切り取られて印刷される場合を示す図である。
【符号の説明】
１００  プリントフィルタ
１１０  画像データ読み取り部
１２０  印刷開始座標算出部
１３０  印刷データ生成部
１５０  オプション解析部
１６０  画像データバッファ
１７０  印刷設定格納バッファ
２００  画像ファイル
３００  プリンタ
【図１】
2004192217.tif 000004
【図２】
2004192217.tif 000005
【図３】
2004192217.tif 000006
【図４】
2004192217.tif 000007
【図５】
2004192217.tif 000008
【図６】
2004192217.tif 000009
【図７】
2004192217.tif 000010
【図８】
2004192217.tif 000011
【図９】
2004192217.tif 000012