説明

データ印刷装置、データ印刷方法、およびプログラム

【課題】従来のデータ印刷装置においては、一覧性と視認性の相反する要求の両方を満たす形態で印刷することができなかった。
【解決手段】データに対する印刷指示を受け付ける指示受付部と、前記印刷指示を受け付けた場合に、前記データの全体である全体データを印刷する全体データ印刷部と、前記データを2以上の領域に分割した部分領域に対応するデータである2以上の分割データを、各々異なる用紙に印刷する分割データ印刷部とを具備するデータ印刷装置により、縦方向にも横方向にも広がる家系図や地図のようなデータについて、一覧性と視認性の相反する要求の両方を満たす形態で印刷することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを印刷するデータ印刷装置等に関するものである。
【背景技術】
【0002】
従来、家系図を作成することができるシステムがあった(例えば、特許文献1参照)。本家系図作成システムは、家系図を構成する画像ファイルを記憶する画像ファイル記憶部と、画像の続柄データを記憶する属性データ記憶部とを備えている。また、画像の世代ごとに形成された第1〜第5世代配置領域内に、直系の画像用の画像配置領域、及び傍系の画像用の画像配置領域が設けられたテンプレートの情報を記憶したテンプレート記憶部と、管理コンピュータとを備えている。管理コンピュータは、画像の続柄データにより、画像の世代数と、続柄が直系又は傍系の続柄のいずれであるかを判断する。そして、画像ファイルを、画像ファイルの世代数に対応した第1〜第5世代配置領域内であって、画像の続柄に対応した直系用又は傍系用の画像配置領域に組み込む。
【特許文献1】特開2004−295648号公報(第1頁、第1図等)
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来のシステムにおいては、縦方向にも横方向にも広がる家系図のようなデータを、一覧性と視認性の相反する要求の両方を満たす形態で印刷することができなかった。
【課題を解決するための手段】
【0004】
本第一の発明のデータ印刷装置は、データに対する印刷指示を受け付ける指示受付部と、前記印刷指示を受け付けた場合に、前記データの全体である全体データを印刷する全体データ印刷部と、前記データを2以上の領域に分割した部分領域に対応するデータである2以上の分割データを、各々異なる用紙に印刷する分割データ印刷部とを具備するデータ印刷装置である。
【0005】
かかる構成により、縦方向にも横方向にも広がる家系図や地図のようなデータを、一覧性と視認性の相反する要求の両方を満たす形態で印刷することができる。
【0006】
また、本第二の発明のデータ印刷装置は、第一の発明に対して、前記全体データ印刷部は、前記分割データに対応する各部分領域に対して、符号を取得する符号取得手段と、前記全体データ中に、前記各部分領域に対応付けて前記符号を付する第一符号付加手段と、前記符号が付された全体データを印刷する第一印刷手段とを具備し、前記分割データ印刷部は、前記全体データの中の一部分の領域である部分領域を2以上取得する部分領域取得手段と、前記全体データから、前記2以上の各部分領域に対応する2以上の分割データを取得する分割データ取得手段と、前記部分領域に対して付された前記符号を、前記分割データに付する第二符号付加手段と、前記符号が付された分割データを印刷する第二印刷手段とを具備するデータ印刷装置である。
【0007】
かかる構成により、縦方向にも横方向にも広がる家系図や地図のようなデータを、一覧性と視認性の相反する要求の両方を満たす形態で印刷することができる。
【0008】
また、本第三の発明のデータ印刷装置は、第一の発明に対して、前記印刷指示を受け付けた場合に、前記データが、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断する判断部をさらに具備し、前記分割データ印刷部は、前記判断部における判断結果が、予め決められた用紙のサイズに収まらない、との判断結果の場合のみ、動作を行うデータ印刷装置である。
【0009】
かかる構成により、分割した印刷を行う必要が無い場合には、分割データの印刷を行わず、用紙の無駄な使用を防止することができる。
【0010】
また、本第四の発明のデータ印刷装置は、第三の発明に対して、前記判断部は、前記部分データに対しても、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断し、前記分割データ印刷部は、前記判断部が、前記部分データに対して、縮小せずに、予め決められた用紙のサイズに収まるとの判断がなされるまで、再帰的に、前記分割データをさらに分割した分割データを、各々異なる用紙に印刷するデータ印刷装置である。
【0011】
かかる構成により、データが非常に大きく、3階層以上に渡る分割データが必要な場合でも、一覧性と視認性の相反する要求の両方を満たす形態で印刷することができる。
【0012】
また、本第五の発明のデータ印刷装置は、第二の発明に対して、前記部分領域取得手段は、予め決められた用紙の大きさに、すべての部分領域が収まるように、かつ、すべての部分領域を同じ大きさとなるように、部分領域を取得するデータ印刷装置である。
【0013】
かかる構成により、縦方向にも横方向にも広がる家系図や地図のようなデータを、一覧性と視認性の相反する要求の両方を満たす形態で印刷でき、かつ、バランスの良い分割データの印刷ができる。
【0014】
また、本第六の発明のデータ印刷装置は、第二の発明に対して、前記部分領域取得手段は、前記部分領域の境界上に、まとまった文字列が分断される態様で配置されないように、部分領域を取得するデータ印刷装置である。
【0015】
かかる構成により、分割データ内の文字が切れることが無く、見やすい分割データの印刷ができる。
【発明の効果】
【0016】
本発明によるデータ印刷装置によれば、縦方向にも横方向にも広がる家系図や地図のようなデータを、一覧性と視認性の相反する要求の両方を満たす形態で印刷することができる。
【発明を実施するための最良の形態】
【0017】
以下、データ印刷装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
【0018】
本実施の形態において、あるデータに対する印刷指示を入力することにより、そのデータの全体を印刷する全体印刷と、そのデータを分割した分割データに対する部分印刷を行うデータ印刷装置について説明する。また、本実施の形態において、全体印刷中の部分印刷に対応する領域に対して、識別子を印刷するデータ印刷装置について説明する。また、本実施の形態において、印刷指示されたデータが1ページに収まらない場合のみ、上記の部分印刷を行うデータ印刷装置について説明する。また、本実施の形態において、部分印刷は、設定されている印刷用紙の大きさ(例えば、A4サイズ)以内の大きさで、均等の大きさの部分領域を印刷するデータ印刷装置について説明する。また、本実施の形態において、部分領域内の文字が分断されず、また、全体データの全領域をカバーする2以上の部分領域を印刷するデータ印刷装置について説明する。さらに、本実施の形態において、再帰的に部分印刷を実施し、2階層以上の分割データの印刷が行えるデータ印刷装置について説明する。
【0019】
図1は、本実施の形態におけるデータ印刷装置のブロック図である。
【0020】
データ印刷装置1は、データ格納部10、指示受付部11、判断部12、全体データ印刷部13、分割データ印刷部14を具備する。
【0021】
全体データ印刷部13は、符号取得手段131、第一符号付加手段132、分割線付加手段133、第一印刷手段134を具備する。
【0022】
分割データ印刷部14は、部分領域取得手段141、分割データ取得手段142、第二符号付加手段143、第二印刷手段144を具備する。
【0023】
データ格納部10は、印刷対象となる1以上のデータを格納している。データについて、画像、テキストなどそのデータタイプ、フォーマットなどは問わない。例えば、データは、家系図、地図等である。データは、縦方向にも横方向にも広がるデータであることは好適である。データ格納部10は、例えば、データとデータ属性(データサイズやデータタイプなど)とデータ識別子(例えば、ファイル名)を対応付けて保持している。データ格納部10は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。データ格納部10にデータが記憶される過程は問わない。例えば、記録媒体を介してデータがデータ格納部10で記憶されるようになってもよく、通信回線等を介して送信されたデータがデータ格納部10で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたデータがデータ格納部10で記憶されるようになってもよい。
【0024】
指示受付部11は、データに対する印刷指示を受け付ける。印刷指示は、例えば、「print データ識別子」等である。印刷指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。指示受付部11は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0025】
判断部12は、下位層の分割データの印刷を行うか否かを判断する。判断部12は、部分データに対しても、さらに下位層の分割データの印刷を行うか否かを判断することは好適である。下位層の分割データの印刷を行うか否かの判断は、例えば、以下のように行われる。判断部12は、例えば、印刷指示を受け付けた場合に、データを、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断する。予め決められた用紙のサイズとは、例えば、A4、A3、B5などの用紙サイズの規格の情報でも良いし、縦、横の長さ(例えば、単位はmm)などでも良い。また、予め決められた用紙のサイズは、判断部12が予め保持している。例えば、判断部12は、まず、データ格納部10から、印刷指示されたデータのデータサイズを取得する。次に、判断部12は、予め決められた用紙のサイズを記憶媒体から読み出す。次に、判断部12は、データサイズと予め決められた用紙のサイズを比較し、「データサイズ<=予め決められた用紙のサイズ」であるか否かを判断する。判断部12は、「データサイズ<=予め決められた用紙のサイズ」を満たせば、データを、縮小せずに、予め決められた用紙のサイズに収まると判断する。判断部12は、「データサイズ<=予め決められた用紙のサイズ」を満たさなければ、データを、縮小せずに、予め決められた用紙のサイズに収まらないと判断する。判断部12は、例えば、予め決められた用紙に印刷しようとした場合の、データ内の文字列のサイズを取得する。そして、判断部12は、取得したサイズが、予め決められた文字列の最小サイズより小さいか否かを判断する。予め決められた文字列の最小サイズより小さい場合は、下位層の分割データの印刷を行う、と判断する。判断部12は、通常、MPUやメモリ等から実現され得る。判断部12の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0026】
全体データ印刷部13は、印刷指示を受け付けた場合に、当該印刷指示されたデータの全体である全体データを、用紙に印刷する。用紙は、通常、予め設定されているサイズの用紙である。全体データ印刷部13は、印刷指示を受け付けた場合に、当該印刷指示されたデータをデータ格納部10から読み出し、当該読み出したデータを用紙に印刷する。全体データ印刷部13は、各部分領域に対して、符号が付された全体データを印刷することは好適である。また、全体データ印刷部13は、ユーザに各部分領域を視覚的に認識させるための分割線が付加された全体データを印刷することは好適である。全体データ印刷部13は、通常、MPUやメモリ等から実現され得る。全体データ印刷部13が行う処理は、プリンタに対して印刷の命令を発行するまでの処理でも良い。また、全体データ印刷部13が行う処理は、プリンタに対して印刷の命令を発行する処理と、印刷する処理の両方を含んでも良い。かかる場合、全体データ印刷部13は、プリンタドライバーとプリンタも、その構成要素に含む。
【0027】
符号取得手段131は、分割データに対応する各部分領域に対して、符号を取得する。ここで、部分領域とは、全体データを2以上に分割した領域である。部分領域は、分割データ印刷部14により取得される。部分領域は、以下、領域を示す情報の意味で用いる場合もあるし、領域の概念について用いる場合もある。また、符号取得手段131は、通常、予め決められたルールに従って、符号を生成する。ルールとは、例えば、用紙の左上点を原点とし、座標の縦方向(下方向)の領域に行くに従って小文字のアルファベット「a」から「z」に進めていき、かつ、用紙の左上点を原点とし、座標の横方向(右方向)の領域に行くに従って整数「1」を順にインクリメントしていく、というルールである。また、ルールとは、例えば、用紙の左上点を原点とし、座標の縦方向(下方向)の領域を1桁目の数値(1から9までの数値)で識別し、座標の横方向(右方向)の領域を2桁目の数値(1から9までの数値)で識別する、というルールである。符号取得手段131は、その他、部分領域に対して、ユニークな数値(乱数)を発生させるなどすることにより、各部分領域に対して、符号を取得しても良い。符号取得手段131は、各部分領域に対して、ユニークな符号を取得すれば良く、そのアルゴリズムは問わない。符号取得手段131は、通常、MPUやメモリ等から実現され得る。符号取得手段131の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0028】
第一符号付加手段132は、全体データ中に、各部分領域に対応付けて符号を付する。第一符号付加手段132は、部分領域に対応する符号が、ユーザにとって認識できれば良く、全体データにおける符号の付す態様については、問わない。第一符号付加手段132は、例えば、全体データの外側に「a」「b」・・・「1」「2」・・・などの、縦、横、別々の符号を付し、縦と横の符号を組み合わせて、ユーザにとって、部分領域に付された符号が認識できるようにしても良い。また、第一符号付加手段132は、例えば、全体データ中の各部分領域の中に、符号(例えば、「1a」「1b」・・・「4d」など)を付しても良い。第一符号付加手段132は、通常、MPUやメモリ等から実現され得る。第一符号付加手段132の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0029】
分割線付加手段133は、全体データを区切り、視覚的に部分領域を示す線である分割線を全体データの中に付加する。分割線は、実線、破線、一点鎖線でも良く、また、線の色も問わない。つまり、分割線の線種、色、太さなどの属性値は問わない。分割線付加手段133は、通常、MPUやメモリ等から実現され得る。分割線付加手段133の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0030】
第一印刷手段134は、第一符号付加手段132により符号が付された全体データを印刷する。また、第一印刷手段134は、分割線付加手段133により分割線が付加された全体データを印刷する。第一印刷手段134は、符号と分割線が付加された全体データを印刷することは好適である。第一印刷手段134は、通常、MPUやメモリ等から実現され得る。第一印刷手段134は、プリンタドライバーとプリンタ等を含むとしても良い。
【0031】
分割データ印刷部14は、2以上の分割データを、各々異なる用紙に印刷する。分割データとは、全体データを2以上の領域に分割した部分領域に対応するデータである。つまり、全体データから2以上の分割データが取得され得る。分割データ印刷部14は、判断部12における判断結果が、予め決められた用紙のサイズに収まらない、との判断結果の場合のみ、動作を行うことは好適である。この動作とは、分割データを印刷する動作である。ここで、部分領域とは、部分領域を特定する情報の意味の場合もあり、全体データの一部の領域の概念を示す場合もある。部分領域は、例えば、矩形の左上点の座標、右下点の座標である。また、2以上の部分領域は、全体データの中で、重なりがあっても良く、間が空いていても良い。また、2以上の部分領域は、全体データを、重なり無く、間が空くこともなく、設けられていることは好適である。分割データ印刷部14は、通常、MPUやメモリ等から実現され得る。分割データ印刷部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。分割データ印刷部14は、プリンタドライバーとプリンタ等を含むとしても良い。
【0032】
部分領域取得手段141は、全体データの中の一部分の領域である部分領域を2以上取得する。部分領域取得手段141は、予め決められた用紙の大きさ(h,w)に、すべての部分領域が収まるように、かつ、すべての部分領域を同じ大きさとなるように、部分領域を取得することは好適である。部分領域取得手段141は、部分領域の境界上に、まとまった文字列が分断される態様で配置されないように、部分領域を取得することは好適である。部分領域取得手段141は、例えば、用紙の大きさ(h,w)を保持しており、当該用紙の大きさを用いて、分割データを縮小しなくても、当該用紙に収まるように、全体データを分割し、部分領域を取得する。ここでの部分領域とは、例えば、各領域を構成する矩形の左上点、右下点の座標(x,y)からなる情報である。また、例えば、部分領域取得手段141は、例えば、上述のアルゴリズムにより、部分領域を決定し、かつ、部分領域の境界線上に文字列が載っているか否かを判断する。そして、境界線上に文字列が載っている場合、当該文字列を内部に含むように、矩形領域を大きくする、ことは好適である。なお、部分領域の境界線上に文字列が載っているか否かの判断は、例えば、以下のように行われる。つまり、部分領域取得手段141は、全体データが文字コード列を有する場合、文字コード列の座標情報を全体データから取得し、当該座標情報を用いて、境界線の位置の情報(線の始点(x1,y1)、線の終点(x1,y2))から、部分領域の境界線上に文字列が載っているか否かを判断する。また、部分領域取得手段141は、全体データがビットマップの場合、ビットマップを文字認識処理し、文字認識の結果を用いて、文字列の領域を示す座標情報を取得する。そして、当該取得した座標情報と、境界線の位置の情報(線の始点(x1,y1)、線の終点(x1,y2))から、部分領域の境界線上に文字列が載っているか否かを判断する。部分領域取得手段141は、通常、MPUやメモリ等から実現され得る。部分領域取得手段141の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0033】
分割データ取得手段142は、全体データから、2以上の各部分領域に対応する2以上の分割データを取得する。分割データ取得手段142は、例えば、全体データから、部分領域取得手段141が取得した部分領域(例えば、矩形を示す座標情報群)を切り出し、2以上の分割データを得て、メモリ上に配置する。データから、部分のデータを切り出す処理は公知技術である。分割データ取得手段142は、通常、MPUやメモリ等から実現され得る。分割データ取得手段142の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0034】
第二符号付加手段143は、部分領域に対して付された符号を、当該部分領域に対応する分割データに付与する。なお、この符号は、符号取得手段131が取得した符号である。分割データに、第二符号付加手段143が符号を付与する位置は問わない。第二符号付加手段143は、例えば、分割データの外側の領域であり、用紙の中央下に、符号を付与する。かかる場合、符号は、ページ番号のように、ユーザは考える。その他、符号は、用紙の左上部、中央の上部、右上部、左下部、右下部などの位置に付されても良いことは言うまでもない。第二符号付加手段143は、通常、MPUやメモリ等から実現され得る。第二符号付加手段143の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0035】
第二印刷手段144は、符号が付された分割データを印刷する。第二印刷手段144は、2以上の分割データを、それぞれ異なる用紙に印刷する。第二印刷手段144は、通常、MPUやメモリ等から実現され得る。第二印刷手段144の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。第二印刷手段144は、プリンタドライバーとプリンタ等を含むとしても良い。
【0036】
次に、データ印刷装置1の動作について図2から図8のフローチャートを用いて説明する。
【0037】
(ステップS201)指示受付部11は、印刷指示を受け付けたか否かを判断する。印刷指示を受け付ければステップS202に行き、印刷指示を受け付けなければステップS201に戻る。
【0038】
(ステップS202)全体データ印刷部13は、予め設定されている印刷対象の用紙(以下、適宜、印刷用紙、という)のサイズである用紙サイズを取得する。なお、用紙サイズは、予めデータ印刷装置1が保持している、とする。
【0039】
(ステップS203)全体データ印刷部13は、ステップS201で受け付けた印刷指示の対象となるデータをデータ格納部10から読み出し、当該データのサイズを取得する。
【0040】
(ステップS204)判断部12は、ステップS202で取得した用紙サイズ(w1,h1)と、ステップS203で取得したデータサイズ(w2,h2)とを比較し、データを、縮小せずに、予め決められた用紙のサイズ(w1,h1)に収まるか否かを判断する。データが、予め決められた用紙のサイズに収まれば、ステップS205に行き、収まらなければステップS206に行く。例えば、判断部12は、「w1<=w2」かつ「h1<=h2」を満たすか否かを判断し、満たせばステップS205に行き、収満たさなければステップS206に行く。
【0041】
(ステップS205)全体データ印刷部13は、ステップS203で読み出したデータ(全体データ)を印刷する。ここでの印刷は、単に印刷指示されたデータを印刷するだけである。ステップS201に戻る。
【0042】
(ステップS206)分割データ印刷部14等は、階層印刷処理を行う。階層印刷処理とは、全体データを印刷するとともに、2以上の分割データを印刷する処理である。分割データとは、全体データの一部の領域のデータである。ステップS201に戻る。なお、階層印刷処理は、通常、再帰的に、分割データを印刷する処理も含む。
【0043】
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0044】
次に、ステップS206の階層印刷処理について図3のフローチャートを用いて説明する。
【0045】
(ステップS301)分割データ印刷部14の部分領域取得手段141は、部分領域取得処理を行う。部分領域取得処理の例について、図4、図5、図6のフローチャートを用いて説明する。部分領域取得処理により、例えば、全体データ中の、各部分領域を示す左上点、右下点の座標が取得される。
【0046】
(ステップS302)全体データ印刷部13の符号取得手段131は、符号取得処理を行う。符号取得処理について、図7のフローチャートを用いて説明する。
【0047】
(ステップS303)第一符号付加手段132は、全体データ符号付加処理を行う。全体データ符号付加処理とは、全体データに符号を付す処理である。全体データ符号付加処理について、図8のフローチャートを用いて説明する。
【0048】
(ステップS304)分割線付加手段133は、分割線付加処理を行う。分割線付加処理とは、全体データ中の部分領域を示す線を、全体データに付加する処理である。部分領域は、通常、矩形であり、当該矩形を構成する左上点、右下点の座標が分かっている場合、矩形の部分領域を線で示す処理は公知技術である。なお、線種、線の色、太さ等の線の属性値については、問わない。また、分割線付加処理は必須の処理ではない。
【0049】
(ステップS305)第一印刷手段134は、符号と分割線が付加された全体データを印刷する。
【0050】
(ステップS306)分割データ印刷部14は、カウンタiに1を代入する。
【0051】
(ステップS307)分割データ取得手段142は、ステップS301で取得された部分領域の情報(例えば、部分領域を示す左上点、右下点の座標の集合)から、i番目の部分領域が存在するか否かを判断する。i番目の部分領域が存在すればステップS308に行き、i番目の部分領域が存在しなければステップS308上位処理にリターンする。
【0052】
(ステップS308)分割データ取得手段142は、i番目の部分領域を特定する情報(例えば、部分領域を示す左上点、右下点の座標)を取得し、当該情報を用いて、全体データ中の一部を切り出し、分割データを取得する。なお、分割データ取得手段142は、画像データである全体データから、画像データである分割データを取得しても良いし、全体データから、文字列の集合等を取得し、出力する態様に構成して、分割データを取得しても良い。
【0053】
(ステップS309)第二符号付加手段143は、i番目の部分領域に対応する符号を取得する。
【0054】
(ステップS310)第二符号付加手段143は、ステップS307で取得した分割データの、予め決められた位置に、ステップS309で取得された符号を付加する。
【0055】
(ステップS311)判断部12は、ステップS307で取得した分割データをさらに分割して、下位層の分割データを印刷しないか否かを判断する。下位層の分割データを印刷しない場合はステップS312に行き、下位層の分割データを印刷する場合はステップS314に行く。かかる判断について、具体的には、例えば、以下のように行われる。判断部12は、例えば、ステップS307で取得した分割データを、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断する。予め決められた用紙のサイズに収まる場合はステップS312に行き、収まらない場合はステップS314に行く。また、判断部12は、例えば、ステップS307で取得した分割データ内の文字のデータサイズを取得し、予め決められたデータサイズ以内であるか否かを判断する。予め決められたデータサイズ以内である場合はステップS312に行き、予め決められたデータサイズ以内でない場合はステップS314に行く。また、判断部12は、例えば、ステップS307で取得した分割データを用紙に印刷した場合の文字サイズが、予め決められた文字サイズ以内であるか否かを判断する。予め決められた文字サイズ以内である場合はステップS312に行き、予め決められた文字サイズ以内でない場合はステップS314に行く。その他、下位層の分割データを印刷するか否かに関する判断アルゴリズムは問わない。
【0056】
(ステップS312)第二印刷手段144は、符号が付加された分割データを印刷する。
【0057】
(ステップS313)分割データ印刷部14は、カウンタiを1、インクリメントする。ステップS307に戻る。
【0058】
(ステップS314)分割データ印刷部14等は、i番目の部分領域に対応する分割データを全体データとして、階層印刷処理を行う。ステップS313に行く。なお、本ステップの処理は、再帰的な処理である。
【0059】
なお、図3のフローチャートにおいて、再帰処理は無くても良い。かかる場合、多くとも、2階層のデータ印刷となる。2階層とは、全体データと、1層の分割データである。
【0060】
次に、ステップS301の部分領域取得処理の第一の例について図4のフローチャートを用いて説明する。
【0061】
(ステップS401)部分領域取得手段141は、全体データの大きさ(W,H)を、取得する。部分領域取得手段141は、通常、全体データの大きさ(W,H)を全体データから取得する。なお、全体データとは、印刷指示の対象であるデータの全体である。
【0062】
(ステップS402)部分領域取得手段141は、印刷対象の用紙のサイズ(w,h)を取得する。なお、サイズ(w,h)は、通常、予め設定されており、データ印刷装置1が図示しない記憶媒体に保持している。
【0063】
(ステップS403)部分領域取得手段141は、全体データ中の用紙の横方向の数(x)、縦方向の数(y)を算出する。横方向の数(x)、縦方向の数(y)は、通常、以下のように算出される。xは、Wがwの整数倍である場合は、「x=W/w」であり、Wがwの整数倍でない場合は、「x=int(W/w)+1」である。また、yは、Hがhの整数倍である場合は、「y=H/h」であり、Hがhの整数倍でない場合は、「y=int(H/h)+1」である。なお、int(W/w)は、(W/w)の商の整数を算出する関数である。
【0064】
(ステップS404)部分領域取得手段141は、全体データを、横にx等分、縦にy等分する線を構成し、横線と縦線の交点の座標(x,y)を取得する。かかる場合、例えば、全体データの左上点(隅の点)を原点(0,0)とする。交点の座標には、例えば、境界線と横線の交点、境界線と縦線の交点、境界線どうしの交点も含む。
【0065】
(ステップS405)部分領域取得手段141は、各部分領域の左上座標、右下座標を取得し、メモリ上に配置する。上位処理にリターンする。左上座標、右下座標は、例えば、ステップS404で取得された交点の座標から得られる。
【0066】
なお、図4のフローチャートにおける部分領域取得処理を用いれば、再帰的に下位層の分割データを印刷することはない。
【0067】
次に、ステップS301の部分領域取得処理の第二の例について図5のフローチャートを用いて説明する。図5のフローチャートにおいて、図4のフローチャートと同様のステップの説明は省略する。図5のフローチャートにおいて、部分領域の境界上に、まとまった文字列が分断される態様で配置されないように、部分領域を取得する調整処理が、図4のフローチャートの処理に加わっている。
【0068】
(ステップS501)部分領域取得手段141は、全体データ中のすべての文字列オブジェクトと、当該各文字列オブジェクトの領域の情報(例えば、矩形の左上点、右下点の座標)を取得する。領域の情報とは、文字列オブジェクトが全体データ中に占める領域を示す情報である。文字列オブジェクトとは、文字列であり、文字の塊を言う。部分領域取得手段141は、文字列を含む全体データから、当該文字列と、それらの配置の情報を取得しても良い。また、部分領域取得手段141は、画像データである全体データを文字認識し、文字列オブジェクトと、その配置の情報を取得しても良い。かかる技術は、公知技術である。
【0069】
(ステップS502)部分領域取得手段141は、カウンタiに1を代入する。
【0070】
(ステップS503)部分領域取得手段141は、ステップS405でメモリ上に配置された部分領域のうち、i番目の部分領域が存在するか否かを判断する。i番目の部分領域が存在すればステップS504に行き、i番目の部分領域が存在しなければ上位処理にリターンする。
【0071】
(ステップS504)部分領域取得手段141は、カウンタjに1を代入する。
【0072】
(ステップS505)部分領域取得手段141は、ステップS501で取得された文字列オブジェクトのうちの、j番目の文字列オブジェクトが、i番目の部分領域の境界線上に存在するか否かを判断する。文字列オブジェクトの領域の情報が矩形の情報であり、i番目の部分領域の情報が矩形の情報である場合、部分領域取得手段141は、2つの矩形が重なるか否かを判断すれば良い。かかる判断処理は、公知技術であるので説明を省略する。
【0073】
(ステップS506)部分領域取得手段141は、i番目の部分領域の座標を、j番目の文字列オブジェクトを含めるように変更する。i番目の部分領域(右上点(x1,y1)、左下点(x2,y2)である、とする)の右下側にj番目の文字列オブジェクト(領域の情報が右上点(x3,y3)、左下点(x4,y4)である、とする)が重なる場合、i番目の部分領域の座標を「右上点(x1,y1)」、「左下点(x4,y4)」と変更し、i番目の部分領域を拡大する。
【0074】
(ステップS507)部分領域取得手段141は、カウンタjを1、インクリメントする。ステップS505に戻る。
【0075】
(ステップS508)部分領域取得手段141は、カウンタiを1、インクリメントする。ステップS503に戻る。
【0076】
なお、図5のフローチャートにおいて、ステップS506の処理により、境界線上の文字列オブジェクトは、複数の部分領域に含まれるようになるが、境界線上の文字列オブジェクトが一の部分領域に含まれた場合、他の部分領域の処理において、その境界線上の文字列オブジェクトを含まないようにしても良い。かかる場合、例えば、部分領域取得手段141は、i番目の部分領域の座標を「右上点(x1,y1)」、「左下点(x3,y2」と変更し、i番目の部分領域を縮小することとなる。
【0077】
次に、ステップS301の部分領域取得処理の第三の例について図6のフローチャートを用いて説明する。図6のフローチャートにおいて、図4のフローチャートと同様のステップの説明は省略する。図6のフローチャートにおいて、予め、分割する数が決まっている場合である。
【0078】
(ステップS601)部分領域取得手段141は、横方向の分割数(x)、縦方向の分割数(y)を、記憶媒体(不揮発性、揮発性を問わない)から読み出す。
【0079】
なお、図6のフローチャートにおける部分領域取得処理を用いれば、再帰的に下位層の分割データを印刷することがあり得る。
【0080】
次に、ステップS302における符号取得処理について、図7のフローチャートを用いて説明する。
【0081】
(ステップS701)符号取得手段131は、横方向の分割数(x)と縦方向の分割数(y)を取得する。なお、「x」「y」の値は、部分領域取得処理により、取得されており、例えば、メモリ上に配置されている、とする。
【0082】
(ステップS702)符号取得手段131は、横方向の分割数(x)に対応するデータを生成する。例えば、符号取得手段131は、「1」「2」・・・「x」と、1からインクリメントされたx個の整数を生成する。なお、データの生成アルゴリズムは問わない。データは、ユニークであれば良い。
【0083】
(ステップS703)符号取得手段131は、縦方向の分割数(y)に対応するデータを生成する。例えば、符号取得手段131は、「a」「b」・・・と、aから進められたy個の小英文字を生成する。なお、データの生成アルゴリズムは問わない。データは、ユニークであれば良い。
【0084】
(ステップS704)符号取得手段131は、各部分領域に対応する符号(xとyの符号)を取得する。符号取得手段131は、例えば、部分領域(領域の左上点、右下点の座標)と対応付けて符号(例えば、「1,a」)を保持することとなる。なお、符号とは、例えば、「1,a」「1,b」「1,c」・・・「2,a」「2,b」・・・などである。
【0085】
なお、図7のフローチャートにおいて、符号取得手段131は、他のアルゴリズムにより、各部分領域に対して、符号を生成しても良い。例えば、符号取得手段131は、各部分領域に対して、「1」から順に1ずつインクリメントしていき、各部分領域の符号を得ても良い。かかる場合、横方向の分割数および縦方向の分割数は利用されず、部分領域の符号は、自然数となる。
【0086】
次に、ステップS303の全体データ符号付加処理について、図8のフローチャートを用いて説明する。
【0087】
(ステップS801)第一符号付加手段132は、印刷用紙の中の領域であり、全体データの外側の領域の上部の各部分領域の真ん中に、(x)に対応する各データ(例えば、「1」「2」「3」・・・)を付与する。
【0088】
(ステップS802)第一符号付加手段132は、印刷用紙の中の領域であり、全体データの外側の領域の左部の各部分領域の真ん中に、(y)に対応する各データ(例えば、「a」「b」「c」・・・)を付与する。
【0089】
なお、図8のフローチャートにおいて、他の全体データ符号付加処理を行っても良い。例えば、第一符号付加手段132は、xとyを合わせた符号(例えば、「1a」など)を、各部分領域内に、付加しても良い。また、符号は、必ずしも、xとyを合わせた情報でなくても良く、部分領域ごとに固有の符号であれば良い。したがって、符号は、「1」「2」「3」・・・と、部分領域に固有の数値でも良い。なお、部分領域内に符号を付加する場合、符号の色を灰色にする、サイズを小さくする、線を細くするなど、部分領域内の情報の視認性を阻害しないことは好適である。
【0090】
以下、本実施の形態におけるデータ印刷装置1の具体的な動作について、2つの具体例を用いて説明する。
(具体例1)
【0091】
具体例1は、家系図のデータを、2階層(全体データと、1層の部分データ群)のデータを印刷する場合の例である。今、データ格納部10に、図9に示す家系図のデータが格納されている。また、印刷対象の用紙は、A4サイズ(w1,h1)である、とする。また、図9に示す家系図のデータサイズは、(4×w1,4×h1)である、とする。なお、サイズを(w,h)で表す場合、「w」は幅、「h」は高さである。
【0092】
かかる場合、ユーザは、図9の家系図のデータを印刷する印刷指示(例えば、「print 家系図.doc」)を、データ印刷装置1に入力した、とする。なお、「家系図.doc」とは、図9のデータである。図9のデータは、ドキュメントファイル、画像ファイル等問わないことは言うまでもない。
【0093】
次に、指示受付部11は、図9の家系図のデータの印刷指示を受け付ける。そして、全体データ印刷部13は、予め設定されている印刷対象の用紙のサイズである用紙サイズ(w1,h1)を取得する。
【0094】
次に、全体データ印刷部13は、受け付けた印刷指示の対象となる図9の家系図のデータをデータ格納部10から読み出し、メモリ上に配置する。そして、全体データ印刷部13は、図9の家系図のデータのデータサイズ(4×w1,4×h1)を取得する。
【0095】
次に、判断部12は、取得した用紙サイズ(w1,h1)と、取得したデータサイズ(4×w1,4×h1)とを比較し、データを、縮小せずに、予め決められた用紙のサイズ(w1,h1)に収まるか否かを判断する。ここで、判断部12は、「w1<=4×w1」かつ「h1<=4×h1」を満たさないので、以下の階層印刷処理を行う。
【0096】
つまり、まず、分割データ印刷部14の部分領域取得手段141は、以下の部分領域取得処理を行う。まず、部分領域取得手段141は、全体データ(図9の家系図のデータ)の大きさ(4×w1,4×h1)を、取得する。次に、部分領域取得手段141は、印刷対象の用紙のサイズ(w,h)を取得する。
【0097】
次に、部分領域取得手段141は、全体データ中の用紙の横方向の数(x)、縦方向の数(y)を算出する。つまり、部分領域取得手段141は、「x=4w/w=4」、「y=4h/h=4」により、「x=4」「y=4」を得て、メモリ上に配置する。
【0098】
次に、部分領域取得手段141は、全体データを、横に4等分、縦に4等分する線を構成し、横線と縦線等の交点の座標(0,0)(w,0)(2w,0)(3w,0)(4w,0)(0,h)(w,h)(2w,h)(3w,h)(4w,h)(0,2h)(w,2h)(2w,2h)(3w,2h)(4w,2h)(0,3h)(w,3h)(2w,3h)(3w,3h)(4w,3h)(0,4h)(w,4h)(2w,4h)(3w,4h)(4w,4h)を取得する。
【0099】
次に、部分領域取得手段141は、各部分領域の左上座標、右下座標を取得し、メモリ上に配置する。ここで、部分領域取得手段141は、図10に示す部分領域管理表を得る。部分領域管理表は、「ID」「左上座標」「右下座標」「符号」の属性値を有するレコードを1以上有している。「ID」は、レコードを識別する情報であり、表管理のために存在する。「左上座標」「右下座標」は、それぞれ部分領域の左上の座標、右下の座標である。「符号」は、部分領域に対応する符号であり、符号取得手段131により取得される。
【0100】
次に、全体データ印刷部13の符号取得手段131は、以下の符号取得処理を行う。つまり、まず、符号取得手段131は、横方向の分割数「4」と縦方向の分割数「4」を取得する。そして、符号取得手段131は、横方向の分割数「4」に対応するデータ「1」「2」「3」「4」を生成する。また、符号取得手段131は、縦方向の分割数「4」に対応するデータ「a」「b」「c」「d」を生成する。
【0101】
次に、符号取得手段131は、各部分領域に対応する符号(xとyの符号)を取得し、図10の属性「符号」に書き込む。そして、符号取得手段131は、図11に示す部分領域管理表を得る。
【0102】
次に、第一符号付加手段132は、以下の全体データ符号付加処理を行う。つまり、第一符号付加手段132は、全体データ(図9参照)の外側の領域の上部の各部分領域の真ん中に、(x)に対応する各符号(「1」「2」「3」「4」)を付与する。そして、第一符号付加手段132は、全体データの外側の領域の左部の各部分領域の真ん中に、(y)に対応する各符号(「a」「b」「c」「d」)を付与する。そして、第一符号付加手段132は、図12に示す、処理途中の全体データを得る。
【0103】
次に、分割線付加手段133は、図11の左上座標、右下座標の情報を用いて、分割線付加処理を行う。次に、第一印刷手段134は、符号と分割線が付加された全体データを印刷する。かかる印刷結果を、図13に示す。なお、第一印刷手段134は、全体データを印刷する場合には、通常、全体データを縮小して、A4の用紙に収まるように印刷する。
【0104】
次に、分割データの印刷処理に移行する。つまり、分割データ取得手段142は、図11に示す部分領域管理表から、1番目の部分領域を特定する情報(左上点(0,0)、右下点(w,h))を取得し、メモリ上に配置する。そして、分割データ取得手段142は、この情報(左上点(0,0)、右下点(w,h))が示す矩形領域であり、全体データ中の矩形領域を切り出し、分割データを取得し、メモリ上に配置する。
【0105】
次に、第二符号付加手段143は、1番目の部分領域に対応する符号(1,a)を取得し、メモリ上に配置する。
【0106】
そして、第二符号付加手段143は、取得した分割データの、予め決められた位置(ここでは、真ん中の下部)に、取得された符号(1,a)を付加する。付加する符号は、「1a」と加工されている、とする。なお、付加される符号は、生成された符号と同じでも良いし、生成された符号からの加工により得られる情報でも良い。
【0107】
次に、判断部12は、本分割データのさらに下位層の分割データの印刷は行わない、と判断し、第二印刷手段144は、取得された1番目の分割データを印刷する(図14の141参照)。同様に、2番目から16番目までの分割データの処理を行い、2番目から16番目までの分割データの印刷結果が得られる。なお、図14に、2番目の分割データ(142)、3番目の分割データ(143)も示す。
【0108】
以上、縦方向にも横方向にも広がる家系図を、一覧性と視認性の相反する要求の両方を満たす形態で印刷する方法について説明した。
【0109】
なお、上記の処理において、図5で示した調整処理を行うことは好適である。なお、調整処理とは、部分領域の境界上に、まとまった文字列が分断される態様で配置されないように、部分領域を取得する処理である。
【0110】
また、上記の全体データの印刷において、符号は、全体データの外側に付されるとは限らず、全体データの内側(各部分領域内)に付されても良い。かかる場合の印刷例を、図15に示す。図15において、符号は「1a」「2a」等、連結されたものになっている。
(具体例2)
【0111】
具体例2は、家系図のデータを、3階層(多階層)で印刷する場合の例である。つまり、具体例2において、再帰的な印刷処理がなされる。今、データ格納部10に、図9に示す家系図のデータが格納されている。また、印刷対象の用紙は、A4サイズ(w1,h1)である、とする。また、図9に示す家系図のデータサイズは、(4×w1,4×h1)である、とする。また、データ印刷装置1は、横方向の分割数「2」、縦方向の分割数「2」を予め保持している、とする。
【0112】
かかる場合、ユーザは、図9の家系図のデータを印刷する印刷指示を、データ印刷装置1に入力した、とする。
【0113】
次に、指示受付部11は、図9の家系図のデータの印刷指示を受け付ける。そして、全体データ印刷部13は、予め設定されている印刷対象の用紙のサイズである用紙サイズ(w1,h1)を取得する。
【0114】
次に、全体データ印刷部13は、受け付けた印刷指示の対象となる図9の家系図のデータをデータ格納部10から読み出し、メモリ上に配置する。そして、全体データ印刷部13は、図9の家系図のデータのデータサイズ(4×w1,4×h1)を取得する。
【0115】
次に、判断部12は、取得した用紙サイズ(w1,h1)と、取得したデータサイズ(4×w1,4×h1)とを比較し、データを、縮小せずに、予め決められた用紙のサイズ(w1,h1)に収まるか否かを判断する。ここで、判断部12は、「w1>=4×w1」かつ「h1>=4×h1」を満たさないので、以下の階層印刷処理を行う。
【0116】
つまり、まず、分割データ印刷部14の部分領域取得手段141は、以下の部分領域取得処理を行う。まず、部分領域取得手段141は、全体データ(図9の家系図のデータ)の大きさ(4×w1,4×h1)を、取得する。
【0117】
部分領域取得手段141は、横方向の分割数「2」、縦方向の分割数「2」を、記憶媒体(不揮発性、揮発性を問わない)から読み出す。
【0118】
次に、部分領域取得手段141は、全体データを、横に2等分、縦に2等分する線を構成し、横線と縦線の交点の座標(0,0)(2w,0)(4w,0)(0,2h)(2w,2h)(4w,2h)(0,4h)(2w,4h)(4w,4h)を取得する。
【0119】
次に、部分領域取得手段141は、各部分領域の左上座標、右下座標を取得し、メモリ上に配置する。
【0120】
次に、全体データ印刷部13の符号取得手段131は、以下の符号取得処理を行う。つまり、まず、符号取得手段131は、横方向の分割数「2」と縦方向の分割数「2」を取得する。そして、符号取得手段131は、横方向の分割数「2」に対応するデータ「1」「2」を生成する。また、符号取得手段131は、縦方向の分割数「2」に対応するデータ「a」「b」を生成する。
【0121】
次に、符号取得手段131は、各部分領域に対応する符号(xとyの符号)を取得し、メモリ上に書き込む。
【0122】
次に、第一符号付加手段132は、以下の全体データ符号付加処理を行う。つまり、第一符号付加手段132は、全体データ(図9参照)の外側の領域の上部の各部分領域の真ん中に、(x)に対応する各データ(「1」「2」)を付与する。そして、第一符号付加手段132は、全体データの外側の領域の左部の各部分領域の真ん中に、(y)に対応する各データ(「a」「b」)を付与する。
【0123】
次に、分割線付加手段133は、左上座標、右下座標の情報「(0,0)(2w,0)(4w,0)(0,2h)(2w,2h)(4w,2h)(0,4h)(2w,4h)(4w,4h)」を用いて、分割線付加処理を行う。次に、第一印刷手段134は、符号と分割線が付加された全体データを印刷する。かかる印刷結果を、図16に示す。なお、第一印刷手段134は、全体データを印刷する場合には、通常、全体データを縮小して、A4の用紙に収まるように印刷する。
【0124】
次に、分割データの印刷処理に移行する。つまり、分割データ取得手段142は、1番目の部分領域を特定する情報(左上点(0,0)、右下点(2w,2h))を取得し、メモリ上に配置する。そして、分割データ取得手段142は、この情報(左上点(0,0)、右下点(2w,2h))が示す矩形領域であり、全体データ中の矩形領域を切り出し、分割データを取得し、メモリ上に配置する。
【0125】
次に、第二符号付加手段143は、1番目の部分領域に対応する符号(1,a)を取得し、メモリ上に配置する。
【0126】
そして、第二符号付加手段143は、取得した分割データの、予め決められた位置(ここでは、真ん中の下部)に、取得された符号(1,a)を付加する。付加する符号は、「1a」と加工されている、とする。なお、付加される符号は、生成された符号と同じでも良いし、生成された符号からの加工により得られる情報でも良い。
【0127】
判断部12は、ステップS307で取得した分割データをさらに分割して、下位層の分割データを印刷しないか否かを判断する。つまり、判断部12は、例えば、分割データ(サイズ(2w,2h)を、縮小せずに、予め決められた用紙のサイズ(w,h)に収まるか否かを判断する。収まらないので、この分割データを全体データとして、再帰的に、上記で説明した階層印刷処理を行う。
【0128】
そして、データ印刷装置1は、図17の印刷結果を得る。図17は、分割データの1階層目の1番目の印刷結果である。図17において、「1a」は、1階層目の1番目の分割データに付された符号である。「11」「12」「aa」「ab」は、分割データをさらに分割するために、付加される符号である。また、1階層目の1番目の分割データをさらに分割した分割データの例を図18に示す。図18は、図17の左上の部分領域の分割データと、右上の部分領域の分割データである。
【0129】
以上、縦方向にも横方向にも広がる家系図を、一覧性と視認性の相反する要求の両方を満たす形態で、3階層以上の階層を有するデータを印刷する方法について説明した。上記方法は、再帰的に、具体例1の処理を適用することにより実現される。
【0130】
なお、上記の処理においても、図5で示した調整処理を行うことは好適である。
(具体例3)
【0131】
具体例3は、地図データを印刷する場合の例である。今、データ格納部10に、図19に示す地図データが格納されている。また、印刷対象の用紙は、A4サイズ(w1,h1)である、とする。また、図19に示す地図データのデータサイズは、(3×w1,2×h1)である、とする。
【0132】
かかる場合、ユーザは、図19の地図データを印刷する印刷指示を、データ印刷装置1に入力した、とする。
【0133】
すると、上記で説明した具体例1と同様の処理により、データ印刷装置1は、図20の全体データ、図21の分割データ等を印刷する。図21の分割データは、全体データの左上部の分割データである。
【0134】
以上、本実施の形態によれば、縦方向にも横方向にも広がる家系図等のデータを、一覧性と視認性の相反する要求の両方を満たす形態で印刷できる。
【0135】
なお、本実施の形態によれば、印刷データとして家系図や地図を用いて説明したが、他のデータであっても良いことは言うまでも無い。
【0136】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるデータ印刷装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、データに対する印刷指示を受け付ける指示受付部と、前記印刷指示を受け付けた場合に、前記データの全体である全体データを印刷する全体データ印刷部と、前記データを2以上の領域に分割した部分領域に対応するデータである2以上の分割データを、各々異なる用紙に印刷する分割データ印刷部として機能させるためのプログラム、である。
【0137】
また、上記プログラムにおいて、前記全体データ印刷部は、前記分割データに対応する各部分領域に対して、符号を取得する符号取得手段と、前記全体データ中に、前記各部分領域に対応付けて前記符号を付する第一符号付加手段と、前記符号が付された全体データを印刷する第一印刷手段とを具備し、前記分割データ印刷部は、前記全体データの中の一部分の領域である部分領域を2以上取得する部分領域取得手段と、前記全体データから、前記2以上の各部分領域に対応する2以上の分割データを取得する分割データ取得手段と、前記部分領域に対して付された前記符号を、前記分割データに付する第二符号付加手段と、
前記符号が付された分割データを印刷する第二印刷手段とを具備するものとして、コンピュータを機能させるためのプログラム、であることは好適である。
【0138】
また、上記プログラムにおいて、コンピュータを、前記印刷指示を受け付けた場合に、前記データを、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断する判断部としてさらに機能させ、前記分割データ印刷部は、前記判断部における判断結果が、予め決められた用紙のサイズに収まらない、との判断結果の場合のみ、動作を行うものとして機能させるためのプログラム、であることは好適である。
【0139】
また、上記プログラムにおいて、前記判断部は、前記部分データに対しても、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断し、前記分割データ印刷部は、前記判断部が、前記部分データに対して、縮小せずに、予め決められた用紙のサイズに収まるとの判断がなされるまで、再帰的に、前記分割データをさらに分割した分割データを、各々異なる用紙に印刷するものとして機能させるためのプログラム、であることは好適である。
【0140】
また、図22は、本明細書で述べたプログラムを実行して、上述した実施の形態のデータ印刷装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図22は、このコンピュータシステム340の概観図であり、図23は、コンピュータシステム340のブロック図である。
【0141】
図22において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
【0142】
図23において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、CPU(Central Processing Unit)3413と、CPU3413、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM(Read−Only Memory)3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0143】
コンピュータシステム340に、上述した実施の形態のデータ印刷装置の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
【0144】
プログラムは、コンピュータ341に、上述した実施の形態のデータ印刷装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
【0145】
なお、上記プログラムにおいて、情報を印刷するステップなどでは、ハードウェアによって行われる処理、例えば、印刷するステップにおけるプリンタなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0146】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0147】
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0148】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0149】
以上のように、本発明にかかるデータ印刷装置は、縦方向にも横方向にも広がる家系図や地図のようなデータを、一覧性と視認性の相反する要求の両方を満たす形態で印刷することができる、という効果を有し、データ印刷装置等として有用である。
【図面の簡単な説明】
【0150】
【図1】実施の形態1におけるデータ印刷装置のブロック図
【図2】同データ印刷装置の動作について説明するフローチャート
【図3】同階層印刷処理の動作について説明するフローチャート
【図4】同部分領域取得処理の動作について説明するフローチャート
【図5】同部分領域取得処理の動作について説明するフローチャート
【図6】同部分領域取得処理の動作について説明するフローチャート
【図7】同符号取得処理の動作について説明するフローチャート
【図8】同全体データ符号付加処理の動作について説明するフローチャート
【図9】同家系図のデータを示す図
【図10】同部分領域管理表を示す図
【図11】同部分領域管理表を示す図
【図12】同処理途中の全体データを示す図
【図13】同印刷結果を示す図
【図14】同印刷結果を示す図
【図15】同印刷結果を示す図
【図16】同印刷結果を示す図
【図17】同印刷結果を示す図
【図18】同分割データを示す図
【図19】同地図データを示す図
【図20】同全体データを示す図
【図21】同分割データを示す図
【図22】同コンピュータシステムの概観図
【図23】同コンピュータシステムのブロック図
【符号の説明】
【0151】
1 データ印刷装置
10 データ格納部
11 指示受付部
12 判断部
13 全体データ印刷部
14 分割データ印刷部
131 符号取得手段
132 第一符号付加手段
133 分割線付加手段
134 第一印刷手段
141 部分領域取得手段
142 分割データ取得手段
143 第二符号付加手段
144 第二印刷手段

【特許請求の範囲】
【請求項1】
データに対する印刷指示を受け付ける指示受付部と、
前記印刷指示を受け付けた場合に、前記データの全体である全体データを印刷する全体データ印刷部と、
前記データを2以上の領域に分割した部分領域に対応するデータである2以上の分割データを、各々異なる用紙に印刷する分割データ印刷部とを具備するデータ印刷装置。
【請求項2】
前記全体データ印刷部は、
前記分割データに対応する各部分領域に対して、符号を取得する符号取得手段と、
前記全体データ中に、前記各部分領域に対応付けて前記符号を付する第一符号付加手段と、
前記符号が付された全体データを印刷する第一印刷手段とを具備し、
前記分割データ印刷部は、
前記全体データの中の一部分の領域である部分領域を2以上取得する部分領域取得手段と、
前記全体データから、前記2以上の各部分領域に対応する2以上の分割データを取得する分割データ取得手段と、
前記部分領域に対して付された前記符号を、前記分割データに付する第二符号付加手段と、
前記符号が付された分割データを印刷する第二印刷手段とを具備する請求項1記載のデータ印刷装置。
【請求項3】
前記印刷指示を受け付けた場合に、前記データを、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断する判断部をさらに具備し、
前記分割データ印刷部は、
前記判断部における判断結果が、予め決められた用紙のサイズに収まらない、との判断結果の場合のみ、動作を行う請求項1記載のデータ印刷装置。
【請求項4】
前記判断部は、
前記部分データに対しても、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断し、
前記分割データ印刷部は、
前記判断部が、前記部分データに対して、縮小せずに、予め決められた用紙のサイズに収まるとの判断がなされるまで、再帰的に、前記分割データをさらに分割した分割データを、各々異なる用紙に印刷する請求項3記載のデータ印刷装置。
【請求項5】
前記部分領域取得手段は、
予め決められた用紙の大きさに、すべての部分領域が収まるように、かつ、すべての部分領域を同じ大きさとなるように、部分領域を取得する請求項2記載のデータ印刷装置。
【請求項6】
前記部分領域取得手段は、
前記部分領域の境界上に、まとまった文字列が分断される態様で配置されないように、部分領域を取得する請求項2記載のデータ印刷装置。
【請求項7】
前記印刷対象のデータは、家系図である請求項1から請求項6いずれか記載のデータ印刷装置。
【請求項8】
前記印刷対象のデータは、地図である請求項1から請求項6いずれか記載のデータ印刷装置。
【請求項9】
指示受付部、全体データ印刷部、および分割データ印刷部により実現され得るデータ印刷方法であって、
前記指示受付部により、データに対する印刷指示を受け付ける指示受付ステップと、
前記全体データ印刷部により、前記印刷指示を受け付けた場合に、前記データの全体である全体データを印刷する全体データ印刷ステップと、
前記分割データ印刷部により、前記データを2以上の領域に分割した部分領域に対応するデータである2以上の分割データを、各々異なる用紙に印刷する分割データ印刷ステップとを具備するデータ印刷方法。
【請求項10】
前記全体データ印刷ステップは、
前記分割データに対応する各部分領域に対して、符号を取得する符号取得ステップと、
前記全体データ中に、前記各部分領域に対応付けて前記符号を付する第一符号付加ステップと、
前記符号が付された全体データを印刷する第一印刷ステップとを具備し、
前記分割データ印刷ステップは、
前記全体データの中の一部分の領域である部分領域を2以上取得する部分領域取得ステップと、
前記全体データから、前記2以上の各部分領域に対応する2以上の分割データを取得する分割データ取得ステップと、
前記部分領域に対して付された前記符号を、前記分割データに付する第二符号付加ステップと、
前記符号が付された分割データを印刷する第二印刷ステップとを具備する請求項9記載のデータ印刷方法。
【請求項11】
判断部により、前記印刷指示を受け付けた場合に、前記データを、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断する判断ステップをさらに具備し、
前記分割データ印刷ステップにおいて、
前記判断部における判断結果が、予め決められた用紙のサイズに収まらない、との判断結果の場合のみ、動作を行う請求項9記載のデータ印刷方法。
【請求項12】
コンピュータを、
データに対する印刷指示を受け付ける指示受付部と、
前記印刷指示を受け付けた場合に、前記データの全体である全体データを印刷する全体データ印刷部と、
前記データを2以上の領域に分割した部分領域に対応するデータである2以上の分割データを、各々異なる用紙に印刷する分割データ印刷部として機能させるためのプログラム。
【請求項13】
前記全体データ印刷部は、
前記分割データに対応する各部分領域に対して、符号を取得する符号取得手段と、
前記全体データ中に、前記各部分領域に対応付けて前記符号を付する第一符号付加手段と、
前記符号が付された全体データを印刷する第一印刷手段とを具備し、
前記分割データ印刷部は、
前記全体データの中の一部分の領域である部分領域を2以上取得する部分領域取得手段と、
前記全体データから、前記2以上の各部分領域に対応する2以上の分割データを取得する分割データ取得手段と、
前記部分領域に対して付された前記符号を、前記分割データに付する第二符号付加手段と、
前記符号が付された分割データを印刷する第二印刷手段とを具備するものとして、コンピュータを機能させるための請求項12記載のプログラム。
【請求項14】
コンピュータを、
前記印刷指示を受け付けた場合に、前記データを、縮小せずに、予め決められた用紙のサイズに収まるか否かを判断する判断部としてさらに機能させ、
前記分割データ印刷部は、
前記判断部における判断結果が、予め決められた用紙のサイズに収まらない、との判断結果の場合のみ、動作を行うものとして機能させるための請求項12記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図22】
image rotate

【図23】
image rotate

【図9】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2009−166320(P2009−166320A)
【公開日】平成21年7月30日(2009.7.30)
【国際特許分類】
【出願番号】特願2008−5817(P2008−5817)
【出願日】平成20年1月15日(2008.1.15)
【出願人】(595155484)株式会社クレオ (23)
【Fターム(参考)】