(57)【要約】【課題】データベースのデータについて印刷対象のページ単位に印刷データを処理する際に、任意のページについて印刷対象データの枠越えを印刷前にその旨をユーザが認識することができるようにする。【解決手段】データ処理装置において、複数のデータ項目のデータをページ上の対応する枠内に格納して印刷を行う際、枠のサイズを確認するとともに、各ページについて枠内に格納するデータのサイズを確認する。さらに、複数のデータ項目の各データが枠からはみ出すか否かをチェックする。はみ出すことが検出された場合、印刷実行前に所定の警告メッセージを発する。【選択図】図４
2008176446.tif 000002
【特許請求の範囲】
【請求項１】
印刷対象のページ単位に印刷データを処理する印刷データ処理装置であって、
複数のデータ項目のデータを格納したデータベースの内容を読み取るデータベース読み取り手段と、
ページ内の所望の位置に枠を設定するとともに、前記データベースから読み取ったデータを枠内に流し込むレイアウト手段と、
前記レイアウト手段の流し込みにより得られた結果に基づいてページ単位の印刷データを生成する印刷データ生成手段と、
各ページについて各枠内に格納するデータのサイズを確認し、当該データが枠からはみ出すか否かをチェックするチェック手段と、
はみ出すことが検出された場合に所定の警告を発する警告手段と
を備えたことを特徴とする印刷データ処理装置。
【請求項２】
データ処理装置において生成される印刷データを処理する印刷データ処理プログラムであって、
複数のデータ項目のデータをページ上の対応する枠内に格納して印刷を行う際、枠のサイズを確認するステップと、
枠内に格納するデータのサイズを確認するステップと、
印刷した場合に前記データが枠からはみ出すか否かをチェックするステップと、
はみ出すことが検出された場合、印刷実行前に所定の警告メッセージを発するステップと、
をコンピュータに実行させる印刷データ処理プログラム。
【請求項３】
前記データは文字列である請求項２記載の印刷データ処理プログラム。
【請求項４】
前記データはバーコードデータである請求項２記載の印刷データ処理プログラム。
【請求項５】
前記データは画像データである請求項２記載の印刷データ処理プログラム。
【請求項６】
前記警告メッセージは、枠からはみ出すデータが存在するページを特定する情報を含む請求項２記載の印刷データ処理プログラム。
【請求項７】
前記警告メッセージは、ユーザが採りうる対処法の選択肢を含む請求項２または６記載の印刷データ処理プログラム。
【請求項８】
前記対処法の選択肢は、（１）枠内のみ印刷データの生成を行う、（２）印刷処理を中断する、（３）枠に収まるようにデータを縮小する、（４）枠を超えて印刷データの生成を行う、の少なくとも二つを含む請求項７記載の印刷データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの内容を読み込んでその内容を印刷するための印刷データ処理装置および印刷データ処理プログラムに関する。
【背景技術】
【０００２】
従来、プリンタのキャリッジに搭載したスキャナで申し込み用紙のような枠付きの原稿を読み取り、このイメージから検出した枠内に文書が印刷できるように書式を自動設定して入力された文書を表示し、印刷指示に対応して印字ヘッドにより原稿の枠内に文書のみを印刷する技術が提案されている（特許文献１）。
【特許文献１】特開平８−１２３７９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一方、申し込み用紙のような枠付き原稿への文書の印刷ではなく、複数件のデータを格納したデータベースから必要なデータ項目のデータを読み込んで印刷する場合、ページ内の所定の位置に各データ項目毎の印刷枠を設定して、その枠内に当該データ項目の印刷データを流し込んでその枠と共に印刷を行う場合がある。このような印刷は流し込み印刷と呼ばれる。このようなデータベースから得られるデータの流し込み印刷では、上記のような枠付き原稿への文書の印刷と、枠内に印刷データを収める必要がある点で類似するが、データベース特有の事情が存在する。すなわち、枠付きでデータの印刷を行うので、印刷データ処理装置側には枠の位置やサイズ等は既知であり、原稿のスキャンは不要である。
【０００４】
また、データベース内に格納された特定のデータ項目については、そのデータ項目に属するテキストデータには長い文字列と短い文字列が混在している場合がある。例えば、「住所」のデータ項目では、住所を表す文字列の長さはまちまちである。一般に都会の住所は文字数が多く、地方の場所は文字数が少ない傾向がある。そこで、当該データ項目に割り当てた印刷枠の設定を、短い文字列に合わせて設定した場合、長い文字列のデータを印刷する際に文字列が枠の終端で切れて印刷されてしまう。また、必要以上に大きな枠を用意することは、ページレイアウト上、占有スペースや美観の関係から好ましくない場合がある。
【０００５】
多数件のデータを蓄積したデータベースの内容を各件毎に別のページで印刷出力するような場合、特定のページでのみ枠越えが発生する可能性があり、これを印刷前に発見することは困難である。すなわち、全ページの印刷プレビュー画面でチェックすることは手間が掛かり、特に、ページ数が多いときには現実的でない。
【０００６】
テキストデータ以外にも、印刷時のサイズ（または長さ）が変わるものとしては、画像、バーコード等があり、同様の問題が生じうる。
【０００７】
本発明はこのような背景においてなされたものであり、その目的は、データベースのデータについて印刷対象のページ単位に印刷データを処理する際に、任意のページについて印刷対象データの枠越えを印刷前にその旨をユーザが認識することができる印刷データ処理装置および印刷データ処理プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明による印刷データ処理装置は、印刷対象のページ単位に印刷データを処理する印刷データ処理装置であって、複数のデータ項目のデータを格納したデータベースの内容を読み取るデータベース読み取り手段と、ページ内の所望の位置に枠を設定するとともに、前記データベースから読み取ったデータを枠内に流し込むレイアウト手段と、前記レイアウト手段の流し込みにより得られた結果に基づいてページ単位の印刷データを生成する印刷データ生成手段と、各ページについて各枠内に格納するデータのサイズを確認し、当該データが枠からはみ出すか否かをチェックするチェック手段と、はみ出すことが検出された場合、印刷実行前に所定の警告を発する警告手段とを備えたことを特徴とする。
【０００９】
この構成では、データベースの内容を印刷する前に、各ページについて各枠内に格納するデータのサイズを確認し、当該データが枠からはみ出すか否かをチェックするチェックし、はみ出すことが検出された場合、印刷実行前に所定の警告を発する。
【００１０】
本発明による印刷データ処理プログラムは、データ処理装置において生成される印刷データを処理する印刷データ処理プログラムであって、複数のデータ項目のデータをページ上の対応する枠内に格納して印刷を行う際、枠のサイズを確認するステップと、枠内に格納するデータのサイズを確認するステップと、印刷した場合に前記データが枠からはみ出すか否かをチェックするステップと、はみ出すことが検出された場合、印刷実行前に所定の警告メッセージを発するステップとをコンピュータに実行させることを特徴とする。
【００１１】
前記データは文字列、バーコードデータ、画像データ等である。
【００１２】
前記警告メッセージに、枠からはみ出すデータが存在するページを特定する情報を含めることにより、ユーザはどのページで枠越えが生じたかを認識することができる。
【００１３】
前記警告メッセージには、ユーザが採りうる対処法の選択肢を含めてもよい。この対処法の選択肢は、例えば、（１）枠内のみ印刷データの生成を行う、（２）印刷処理を中断する、（３）枠に収まるようにデータを縮小する、（４）枠を超えて印刷データの生成を行う、の少なくとも二つを含むことができる。
【発明の効果】
【００１４】
本発明により、データベースを読み込んでデータを印刷する際に、枠を越えて印刷するデータがないかを確認し、枠を越えて印刷するデータがあった場合は、ユーザに対して警告することにより、印刷ミスを未然に防ぐことができる。これにより、再印刷の手間および記録媒体やインクの無駄をなくすことが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１６】
図１は、本発明における印刷システムの概略構成図である。この印刷システムは、本発明の印刷データ処理装置を構成するパーソナルコンピュータ（ＰＣ）１０１と、印刷装置１０２により構成される。ＰＣ１０１は、通信インタフェース１０３を介して印刷装置１０２と接続されている。利用可能な通信インタフェース１０３としては、ネットワークケーブル、ＵＳＢケーブル、無線ＬＡＮ等を挙げることができる。
【００１７】
図１は、ＰＣ１０１がデータベースから印刷データを読み込んで、データベースの内容を順次、該当する枠内に流し込んで印刷を行うアプリケーション１０４を実行している様子を示している。このアプリケーション１０４は、流し込みのデータを生成し、印刷装置１０２に送信する。印刷装置１０２は、流し込みデータを受信し、ページ上に設定された枠内に長さやサイズが可変長のデータを印刷する。
【００１８】
図２は、本実施の形態による印刷システムのハードウェア構成例を示すブロック図である。
【００１９】
ＰＣ１０１は、ＣＰＵ２０１、ＨＤＤ２０２、ＲＯＭ２０３、ＲＡＭ２０４、マウス２０５、キーボード２０６、モニタ２０７、ＵＳＢ Ｉ/Ｆ部２０８を備えている。
【００２０】
ＣＰＵ２０１は、ＰＣ１０１の全体をソフトウェア制御するための中央処理装置である。ＨＤＤ２０２は、プログラムやデータを不揮発的に格納する大容量の外部記憶装置であり、後述するデータベースはここに格納される。ＲＯＭ２０３は、ＣＰＵ２０１の起動プログラムや固定的なデータを不揮発的に記憶したメモリであり、通常、読み出し専用であるが、フラッシュＲＯＭ等の再書き込み可能なメモリを含んでもよい。ＲＡＭ２０４は、ＣＰＵ２０１の作業領域や一時記憶領域を提供する通常揮発性のメモリである。マウス２０５は、ユーザが操作するポインティングデバイスの一種である。キーボード２０６は、ユーザが指示やデータ等を入力するための入力デバイスである。モニタ２０７は、ＬＣＤ、ＣＲＴ等、ユーザに対して情報を表示する表示デバイスである。ＵＳＢ Ｉ/Ｆ部２０８は、上述した通信インタフェースを構成している。印刷データを生成するためのアプリケーションや、プリンタドライバ等のプログラムは、通常、ＨＤＤ２０２内に格納されており、実行時にＲＡＭ２０４上に読み出されて実行される。プログラムはＲＯＭ２０３内に記憶されてもよい。
【００２１】
印刷装置１０２は、ＣＰＵ２２１、ＲＯＭ２２２、ＲＡＭ２２３、ＵＳＢ Ｉ/Ｆ部２２４等を有する。ＣＰＵ２２１は、印刷装置１０２の全体をソフトウェア制御するための中央処理装置である。ＲＯＭ２２２は、ＣＰＵ２２１により実行される、印刷装置を動作させるためのプログラムや各種の固定的なデータを記憶したメモリであり、通常、読み出し専用であるが、フラッシュＲＯＭ等の再書き込み可能なメモリを含んでもよい。ＲＡＭ２２３は、ＣＰＵ２２１の作業領域や一時記憶領域を提供する通常揮発性のメモリである。ＵＳＢ Ｉ/Ｆ部２２４は上述した通信インタフェースを構成しており、ＵＳＢケーブルを介してＰＣ１０１のＵＳＢ Ｉ/Ｆ部２０８に接続される。
【００２２】
図３は、本実施の形態のＰＣが実行する機能を表したブロック図である。データ読み取り部３３１は、データベース３０７から必要なデータを読み出して、レイアウト部３３４に渡す。データベース３０７はＨＤＤ２０２等の記憶装置内に構築される。レイアウト部３３４は、種々の枠を配置したページのレイアウトを構成するとともに、データ読み取り部３３１から各枠に対して当該ページの対応するデータを流し込む。印刷データ生成部３３９は、レイアウト部３３４で生成されたレイアウト情報および各枠に割り当てられたデータに基づいて、各ページの印刷データを生成して印刷装置１０２に出力する。入力部３３３は、キーボード２０６やマウス２０５に対応し、ユーザの指示に応じて、データ読み取り部３３１およびレイアウト部３３４に対して、指示やデータを入力する。枠越えチェック部３３６は、レイアウト部３３４から各枠のサイズ情報および各枠に割り当てられたデータに基づいて、データが枠からはみ出す「枠越え」が生じるかどうかをチェックする。枠越えが発生した場合には、警告メッセージ発生部３３７にその旨を通知する。警告メッセージ発生部３３７はこの通知に応じて、ユーザに対して所定の警告メッセージを発生する。この例では、モニタ２０７に所定のテキストによる警告メッセージを表示する。これらの各部の処理はＣＰＵ２０１によるプログラム処理により制御される。
【００２３】
図４は、本実施の形態における流し込み印刷の説明図である。
【００２４】
図４（ａ）はデータベース３０７の概略構成を示している。ここでは、各レコード（登録者）を各カードに割り当てるカード形式で住所録の例を示しているが、データベースの形式や内容についてはこれらに限るものではない。
【００２５】
流し込み印刷を行うアプリケーション１０４の表示画面（ウィンドウ）３００は、データベース３０７から所定のレコードの所定の項目のデータを読み取り、ページ３０１，３０２内の流し込み枠３０３，３０４，３０５に対して、当該項目のデータを流し込んで印刷データを生成する。データベースの出力データ構造の種類としては、ＣＳＶ、ＸＭＬ、タブ区切りＴＥＸＴ等を挙げることができる。図４（ｂ）の表示画面３００内のページ３０１は１ページ目の内容を表しており、図４（ｃ）の表示画面３００内のページ３０２は、２ページ目の内容を表している。各ページ内の流し込み枠３０６にはバーコード３１６，３２６が流し込まれる。ここでは最初の２ページ分のみを示しているが、さらに後続のページも存在しうる。
【００２６】
ページ３０１，３０２の各流し込み枠内の流し込み文字は、それぞれデータベース３０７から取得されたデータであり、ページ毎に異なるデータ項目の組を割り当てる。また、流し込みバーコード３１６，３２６もデータベース３０７からバーコードデータを取得し、ページ毎に異なるバーコードを生成する。バーコードの種類としては、ＪＡＮ、ＩＴＦ、ＥＡＮ、Ｃｏｄｅ３９、カスタマバーコード、ＤａｔａＭａｔｒｉｘ、ＱＲＣｏｄｅ等（２次元コードを含む）があり、任意のものを用いることができる。
【００２７】
図５に、流し込み印刷を行うアプリケーションの処理例を表したフローチャートを示す。このフローチャートの処理の実行手順を表すプログラムは記憶装置（例えばＨＤＤ２０２）内に格納され、ＣＰＵ２０１がこれをＲＡＭ２０４上に読み出して解釈実行することにより、この処理が実現される。また、この処理の各部は図３で説明した各種の機能ブロックの機能に対応している。
【００２８】
ＣＰＵ２０１は、アプリケーションが起動されると、まず、流し込み印刷に利用するデータベースを選択する（Ｓ１１）。次に、どのページでも同一の印刷を行う固定オブジェクト（例えば固定文字や表示枠等）がある場合は、ページ内に固定オブジェクトを配置する（Ｓ１２）。次に、流し込み文字の配置を行う（Ｓ１３）。流し込みバーコードを印刷する場合は、流し込みバーコードをレイアウト上に配置する（Ｓ１４）。
【００２９】
これらの配置が終了したら、印刷を実行する（Ｓ１５）。印刷が実行されると、データベース内の所定のデータを読み出し、印刷を行おうとしているすべてのデータに対して、対応する印刷枠に収まるかどうかをチェックする（Ｓ１６）。このチェックの結果、印刷枠に収まらないデータがあった場合は（Ｓ１７，Ｙｅｓ）、メッセージボックスを表示し、エラー処理を行う（Ｓ１８）。
【００３０】
また、すべての印刷対象データが印刷枠に収まる場合には（Ｓ１７，Ｎｏ）、そのまま印刷を続行して、処理を終了する。
【００３１】
次に、図６により、流し込み文字が流し込み枠４０１を超えているかどうかをチェックする方法を説明する。図６（ａ）は文字列と流し込み枠４０１との関係を示している。流し込み文字枠４０１を設定すると、アプリケーション内で枠のサイズ（ピクセル）を把握する。この例では、流し込み枠４０１の流し込み文字枠長４０３を把握するとともに、文字の横サイズ４０２と縦サイズ４０４を取得する。本実施の形態では、流し込み文字枠長４０３を１５００ピクセルであるとし、１文字の文字の縦サイズ４０４を８０ピクセル、横サイズ４０２を８０ピクセルとする。
【００３２】
図６（ａ）では、文字列として「東京都新宿区西新宿○×△■ビル３F  ３０６」と印刷する例を示している。この文字列の文字数は２１である。そのため、枠の横サイズと文字列の横サイズの差は、
１５００ピクセル−(８０ピクセル×２１文字） ＝ −１８０ピクセル
となる。この結果から、横方向において、文字列が印刷枠からはみ出てしまうことが分かる。ここでは、縦方向については文字数によってサイズが変わることはないので、特に対処していない。但し、縦方向に長い枠を想定し、流し込む文字列を縦書きとする場合には、縦方向について同様の処理を行う。
【００３３】
図６（ｂ）に印刷枠に収まらなかった場合に表示するメッセージボックス５０１を例示図示する。この例では、オブジェクトが印刷枠に収まらないページ番号をユーザに知らしめると共に、ユーザに対して対処の方法を複数の選択肢から選択するように促している。これらの選択肢は次のとおりである。
・かまわず続行する（５０２）
・中断する（５０３）
・印刷枠に収まるようにオブジェクトを縮小する（５０４）
・印刷枠を越えて印刷を続行する（５０５）
【００３４】
ユーザがこれらの選択肢から「かまわず続行する５０２」を選択した場合は、印刷枠から外側の文字が消えたまま印刷を行う。また、「中断する（５０３）」が選択された場合は印刷処理を中断する。また、「印刷枠に収まるように縮小する(５０４)」が選択された場合は、印刷枠に収まるように、文字を縮小して印刷を行う。さらに、「印刷枠を越えて印刷を続行する（５０５）」が選択された場合は、文字列が印刷枠に収まらなかった場合は、その枠を越えて印刷を行う。
【００３５】
次に、図７（ａ１）（ａ２）に、図６の「印刷枠に収まるようにオブジェクトを縮小する（５０４）」を選択した場合の印刷結果を示す。図７（ａ１）は、文字枠７０１に対して通常どおり文字列７０２を配置した際に、文字数の関係で、この文字枠に収まらない文字がある（文字が枠からはみ出している）場合を示している。図７（ａ２）は、文字列が文字枠７０１に収まるように、文字列７０２が横方向に縮小され文字列７０３として印刷された様子を示している。
【００３６】
図７（ｂ１）（ｂ２）は、図６（ｂ）の「印刷枠を越えて印刷を続行する（５０５）」を選択した場合の印刷結果を示している。図７（ｂ１）は、図７（ａ１）と同じく、文字枠７０１に対して通常どおり文字列７０２を配置した際に、文字数の関係で、この文字枠に収まらない文字がある（文字が枠からはみ出している）場合を示している。図７（ｂ２）は、文字列７０２が文字枠７０１を越えて印刷された様子を示している。
【００３７】
次に、図８により流し込み印刷にてバーコードを印刷する場合の例を説明する。
【００３８】
バーコードデータ８０１は、図４（ａ）のデータベース３０７内のバーコードデータのみを、説明の便宜上、複数のページについてテーブル形式に表したものである。このデータベース３０７からバーコードを生成する際、当該バーコードデータを読み込んで、図８（ｂ）に示すように、イメージとしての印刷バーコード８０２を生成し、印刷する。但し、この例では、図８（ｃ）に示すように、生成されたバーコードが与えられた枠からはみ出す場合、文字列としてのバーコードデータ８０３を枠内に収まる分だけ印刷するようにしている。本実施の形態では、バーコードの種類はＥＡＮ−１２８とする。ＥＡＮ−１２８はバーコード長が不定のため、バーコードにする数値の桁数が長いほどバーコード幅は長くなる。
【００３９】
図８（ｂ）の例では、流し込みバーコード８０２はデータベース３０７の情報から得られた数値が２桁のバーコードであるため、バーコード幅は短く、与えられた枠内に収まっている。
【００４０】
これに対して、図８（ｃ）の流し込みバーコード８０３は、データベース３０７の情報から得られたバーコードデータが２４桁の数値であるため、バーコード幅が長くなり、バーコードが枠からはみ出す場合を想定している。そこで、バーコードではなくバーコードデータ（数値列）をそのまま印刷している。このようにバーコードが枠からはみ出す場合、バーコードではなく数値列を埋め込むことにより、バーコードが枠内からはみ出すことが分かる。仮に印刷出力された場合でも数値列が印刷されるので不完全なバーコードをそのまま利用することが防止される。
【００４１】
図９に、バーコードとバー幅の対応テーブルを示す。図９（ａ）に示すように、バーコード９０１は黒のバーと白のバーで構成されている。ＥＡＮ―１２８を例にとると、白と黒のバー各々について、ドット幅の異なる４個の値を持ち、バーコードを形成している。
【００４２】
また、黒バーと白バーのドット幅の図９（ｂ）のデータテーブル９０２に示すように４つの値についてそれぞれ決められている。そこで、バーコードを形成しているバーの幅の合計値が枠よりも大きくなる場合は、警告メッセージを表示して、ユーザに対応処理をさせる。
【００４３】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。
【図面の簡単な説明】
【００４４】
【図１】本発明における印刷システムの概略構成図である。
【図２】本発明の実施の形態による印刷システムのハードウェア構成例を示すブロック図である。
【図３】本発明の実施の形態のＰＣが実行する機能を表したブロック図である。
【図４】本発明の実施の形態における流し込み印刷の説明図である。
【図５】本発明の実施の形態において流し込み印刷を行うアプリケーションの処理例を表したフローチャートである。
【図６】本発明の実施の形態において、流し込み文字が流し込み枠を超えているかどうかをチェックする方法の説明図である。
【図７】図６の「印刷枠に収まるようにオブジェクトを縮小する」を選択した場合の印刷結果を示す図である。
【図８】本発明の実施の形態における流し込み印刷にてバーコードを印刷する場合の例を説明するための図である。
【図９】本発明の実施の形態において用いる、バーコードとバー幅の対応テーブルを示す図である。
【符号の説明】
【００４５】
１０２…印刷装置
１０３…通信インタフェース
１０４…アプリケーション
２０３…ＲＯＭ
２０５…マウス
２０６…キーボード
２０７…モニタ
２０８…ＵＳＢ Ｉ/Ｆ部
２２４…ＵＳＢ Ｉ/Ｆ部
３００…表示画面
３０１，３０２…ページ
３０３，３０４，３０５，３０６…枠
３０７…データベース
３１６，３２６…バーコード
３３１…データ読み取り部
３３３…入力部
３３４…レイアウト部
３３６…枠越えチェック部
３３７…警告メッセージ発生部
３３９…印刷データ生成部
４０１…文字枠
４０２…横サイズ
４０３…文字枠長
４０４…縦サイズ
５０１…メッセージボックス
６０２，７０１…文字枠
７０２…文字列
８０１，８０３…バーコードデータ
８０２，９０１…バーコード
９０２…データテーブル
【図１】
2008176446.tif 000003
【図２】
2008176446.tif 000004
【図３】
2008176446.tif 000005
【図４】
2008176446.tif 000006
【図５】
2008176446.tif 000007
【図６】
2008176446.tif 000008
【図７】
2008176446.tif 000009
【図８】
2008176446.tif 000010
【図９】
2008176446.tif 000011