ページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置
【課題】文字または罫線の上にページ番号の印字を行わないようにし、共通余白エリアの中から印字位置を自動的に決定できるページ番号印字位置自動検出方法を提供する。
【解決手段】共通余白検出エリア113に重ね書きすることにより、全ての原稿に於ける共通余白部分を取得するステップと、指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な共通余白部分があるかの判定を行うステップと、ないと判定された場合、優先度順に、他の指定位置範囲エリアで同様の判定を繰り返すステップと、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定又は再指定されたページ番号印字位置を各原稿格納エリア112の該当個所へ設定するステップ等を備える。
【解決手段】共通余白検出エリア113に重ね書きすることにより、全ての原稿に於ける共通余白部分を取得するステップと、指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な共通余白部分があるかの判定を行うステップと、ないと判定された場合、優先度順に、他の指定位置範囲エリアで同様の判定を繰り返すステップと、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定又は再指定されたページ番号印字位置を各原稿格納エリア112の該当個所へ設定するステップ等を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コピー機またはプリンタ等の各種データ処理装置に備わっているページ番号印字機能に係るページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置に関するものである。
【背景技術】
【0002】
複数のページにわたる様々な書類をまとめてひとつの資料として配布する場合、書類ごとにページ番号が振られていると、ひとつの資料に同一のページ番号が複数存在しページを特定することが困難である。
そのような資料の管理上の便宜を図るため、一般的に複数の書類をひとつの資料として複数部作成する場合は、例えばコピー機のページ番号印字機能により、ページ番号の印字位置を指定すると、コピー対象の全書類に対し指定の形式で指定位置に通し番号でページ番号を印字することが可能である。
【0003】
本発明に関連する公知技術文献としては下記の先行技術文献がある。
まず、特許文献1では多種多様なページ番号形式の選択が可能であり、選択された形式のページ番号を印刷対象の用紙イメージに表示した状態で、ページ番号を印字する位置の選定を可能とした装置が提案されている。
特許文献2では、1つの電子文書データを構成している文字パターンと線パターンとの配置を示す物理構造データを抽出・分析し、ある特定の単語を見つけて当該単語に隣接する空白領域を認識する方法が提案されている。
特許文献3では、OCR用の特別な用紙以外の文字が記載された用紙上の文字データ等をコンピュータへ入力可能とした文字データ入力方式が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平1−121969号公報
【特許文献2】特開平3−179570号公報
【特許文献3】特開平4−343190号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のコピー機のページ番号印字機能では、余白の範囲が異なる複数の形式の書類をひとつの資料としてまとめる場合でも、ページ番号の印字位置を指定すると全ての書類に対して必ず指定位置にページ番号を印字する。
しかし、原稿にページ番号の印字指定位置と同じ位置に文字または罫線がある場合についてもページ番号で文字を上書き印字してしまい、コピー後にページ番号部分の文字を読み取れなくなってしまうのが現状である。
【0006】
以上の現状に鑑み、本発明は、ページ番号印字機能を使用して余白の範囲が異なる複数の形式の書類をコピー又はプリントする際に、全書類に対する共通余白エリアを検出し、指定のページ番号印字位置が文字または罫線である場合には、その上にページ番号の印字を行わないよう制御し、検出した共通余白エリアの中から印字位置を自動的に決定することができるページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項1に係る発明は、読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納するステップと、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得するステップと、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得するステップと、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新するステップと
利用者により指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、
指定された第1優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行うステップと、
第1優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返すステップと、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させるステップと、
利用者により再指定されたページ番号印字位置を取得するステップと、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させるステップと、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定するステップとを備えたことを特徴とするページ番号印字位置自動検出方法を提供するものである。
【0008】
請求項2に係る発明は、指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出するステップを備えたことを特徴とする請求項1記載のページ番号印字位置自動検出方法を提供するものである。
【0009】
請求項3に係る発明は、原稿の読み込みを行う手段と、
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納する手段と、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得する手段と、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得する手段と、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新する手段と
利用者により指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行う手段と、
指定された第1優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う手段と、
第1優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返す手段と、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させる手段と、
利用者により再指定されたページ番号印字位置を取得する手段と、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させる手段と、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定する手段と、
前記原稿格納エリアに格納された各原稿のデータを印字すると共に、各原稿の設定された前記ページ番号印字位置に連番でページ番号の印字を行い、書類出力を行う手段と、
前記書類出力を利用者に指定された部数分繰り返し行う手段とを備えたことを特徴とするデータ処理装置を提供するものである。
【0010】
請求項4に係る発明は、指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出する手段を備えたことを特徴とする請求項3記載のデータ処理装置を提供するものである。
【発明の効果】
【0011】
本発明のページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置によれば、次のような効果がある。
(1)ページ番号印字機能を使用して余白の範囲が異なる複数の形式の書類をコピー又はプリントする際に、全書類に対する共通余白エリアを検出することが可能である。
(2)指定のページ番号印字位置が文字または罫線である場合には、その上にページ番号の印字を行わないよう制御し、検出した共通余白エリアの中からページ番号の印字位置を自動的に決定することが可能である。
【図面の簡単な説明】
【0012】
【図1】本発明に係るデータ処理装置を概略的に示す機能ブロック図である。
【図2】本発明に係るコピー機能の概要を示すフローチャートである。
【図3】本発明に係る原稿入力処理の概要を示すフローチャートである。
【図4】本発明に係る共通余白検出エリア更新処理の概要を示すフローチャートである。
【図5】本発明に係るページ番号印字位置決定処理の概要を示すフローチャートである。
【図6】本発明に係る左端画素位置取得処理の概要を示すフローチャートである。
【図7】本発明に係る右端画素位置取得処理の概要を示すフローチャートである。
【図8】本発明に係る上端画素位置取得処理の概要を示すフローチャートである。
【図9】本発明に係る下端画素位置取得処理の概要を示すフローチャートである。
【図10】本発明に係る枠内空白画素更新処理の概要を示すフローチャートである。
【図11】本発明に係る共通余白検出エリアの更新方法を示す具体例の説明図である。
【図12】本発明に係るページ番号印字位置検索処理の概要を示すフローチャートである。
【図13】本発明に係る指定印字位置テーブルのデータ構成図である。
【図14】本発明に係る指定位置範囲テーブルのデータ構成図である。
【図15】本発明に係る指定印字位置と指定位置範囲を示す具体例の説明図である。
【図16】図15中の下中央エリアを拡大した説明図である。
【図17】本発明に係る印字位置自動検出処理の概要を示すフローチャートである。
【図18】本発明に係る上下方向検出処理の概要を示すフローチャートである。
【図19】本発明に係る範囲内印字位置検出処理の概要を示すフローチャートである。
【図20】本発明に係る印字位置空白チェックの概要を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、実施例を示した図面を参照しつつ本発明の実施の形態を説明する。
尚、上記各ステップ又は手段は、コンピュータのCPUが必要なコンピュータプログラムを読み込んで実行することにより実現されるステップ又は手段であり、下記中央処理装置がコンピュータのCPUである。
【0014】
図1は、本発明の実施の形態の一例としてコピー処理装置の内部構造を概略的に示す機能ブロック図である。
このコピー処理装置は、利用者により指定されたデータを表示するための表示装置100、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード101とタッチパネルなどのポインティングデバイス102、原稿を読み込むための書類入力装置103、コピー後の書類を出力するための書類出力装置104、必要な演算処理、制御処理等を行う中央処理装置105、中央処理装置105での処理に必要なプログラムを格納するプログラムメモリ106、中央処理装置105での処理に必要なデータを格納するデータメモリ107、プログラム実行時に必要な指定印字位置のデータを格納している指定印字位置テーブル114、指定印字位置の範囲データを格納している指定位置範囲テーブル115を備えている。
【0015】
プログラムメモリ106はメイン処理部108、原稿入力処理部109、印字処理部110、書類出力処理部111を含んでいる。データメモリ107は読み込んだ原稿データを格納するための原稿格納エリア112、全ての原稿に対する共通余白部分の検出に必要となるデータを格納するための共通余白検出エリア113を含んでいる。
【0016】
図2は、プログラムメモリ106に格納されるコピー処理のメイン処理の基本的実施例のフローチャートを示す。まず、コピー開始ボタンが選択されたか判定し(ステップ200)、選択された場合、原稿入力処理で原稿の読み込みを行いながら原稿枚数をカウントする(ステップ201)。ページ番号の印字指定があればステップ201の処理で全ての原稿に対する共通余白部分を検出し、最終的なページ番号の印字位置を決定することになる。その後、読み込んだ原稿が存在するかどうか原稿枚数により判定を行い(ステップ202)、存在する場合はステップ201で読み込んだ原稿枚数を1部の資料として、コピー対象のデータと、ページ番号の印字指定があればステップ201で決定したページ番号印字位置に連番でページ番号の印字を行い(ステップ203)、書類出力を行う(ステップ204)。この処理を利用者に指定された部数分繰り返し行う。
【0017】
図3は、ステップ201の原稿入力処理で実行されるサブルーチンプログラムの処理概要を示す。図において、変数Lnはn行目の左端画素位置、Rnはn行目の右端画素位置、Umはm列目の上端画素位置、Dmはm列目の下端画素位置を示す。
本プログラムでは、まずページ番号印字要求があるかの判定を行い(ステップ300)、要求がある場合は、コピー対象となる全ての書類の共通余白部分を検出するための共通余白検出エリア113の初期化(ステップ301)と、Ln、Rn、Um、Dmの初期化(ステップ302)を行う。
【0018】
次に、ステップ303で読み込み対象の原稿があるかの判定を行い(ステップ303)、原稿があると判定された場合は、原稿枚数に1を加算(ステップ304)し、ステップ305の原稿読み込み処理にて読み込んだ2次元的な1枚の原稿を画素と呼ばれる小さな点の配列に分割した状態でデータメモリ107における原稿格納エリア112へ格納する。なお、原稿の読み込み処理とデータメモリ107における原稿格納エリア112への格納は、特開平3−179570号公報に含まれる画像入力と同様の処理を行えばよい。
【0019】
その後、原稿格納エリア112の格納データを共通余白検出エリア113に順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける、文字または罫線が存在しない共通余白部分を取得する(ステップ306)。ここで、原稿格納エリア112は原稿枚数分の領域が確保されるとし、原稿格納エリア1つにつき原稿1枚のデータが格納されることとする。共通余白検出エリア113は1つの原稿格納エリア112と同じ大きさの領域とする。
【0020】
読み込み対象の原稿がなくなるまでステップ304〜306の処理を繰り返し行うと、原稿枚数分のデータが1枚ずつ各原稿格納エリア112へ格納され、全ての原稿格納エリア112の格納データをもとに共通余白検出エリア113が更新されることになる。読み込み対象の原稿がなくなった場合は、原稿枚数がゼロより大きいか判定を行い(ステップ309)、読み込んだ原稿が存在すれば、更新後の共通余白検出エリア113をもとにページ番号印字位置決定処理を行い(ステップ310)、決定したページ番号印字位置を各原稿格納エリア112の該当箇所へ設定する(ステップ311)。
【0021】
またステップ300の判定で、ページ番号印字要求がない場合は読み込み対象の原稿があるかの判定を行い(ステップ307)、原稿がある場合はページ番号の印字を行う必要がないため、ステップ308、305を行い、原稿読み込み処理を原稿枚数分、繰り返し行うことになる。
【0022】
図4は前記ステップ201の原稿入力処理で呼び出される共通余白検出エリア更新処理(ステップ306)の詳細フローチャートを示す。図において、変数nは原稿格納エリア112の上下方向画素位置、mは左右方向画素位置、Nは原稿格納エリア112に格納されている原稿1枚あたりの領域の高さ、Mはその領域の幅、p(x,y)は画素(x,y)の濃度、BL(x,y)は共通余白検出エリア113上の画素(x,y)の状態を示す。本処理は、原稿を読み込むたびにコピー対象の内容を共通余白検出エリア113の対応する画素位置に更新していくことで、最終的に全ての原稿における共通余白部分を取得することを目的とする。
【0023】
まずステップ400〜403に従い、原稿格納エリア112の(1,1)から順に参照し、ステップ404で(m,n)が文字または罫線である(p(m,n)>ゼロ)場合は、対応する共通余白検出エリア113上の対応画素位置に1を設定する(ステップ405)。その後、次の画素位置を参照(ステップ406)し、n行目が終わるまでステップ404〜406の処理を同様に行う。また、n行目に関する処理が完了したら(ステップ403)、次の行について処理を行い(ステップ407)、最終的に(M,N)まで同様の処理を繰り返し行う。図4の処理が全て終了した時点で、BL(m,n)=ゼロの画素位置が全ての原稿に対する共通余白部分となる。
【0024】
図5は前記ステップ201の原稿入力処理で呼び出されるページ番号印字位置決定処理(ステップ310)の処理概要である。まずページ番号印字位置の初期化を行い(ステップ500)、共通余白検出エリア113上で文字または罫線と認識された最も左端にある画素位置と最も右端にある画素位置を全ての行に対して取得し、同様に上端、下端にある画素位置を全ての列に対して取得を行う(ステップ501〜504)。この時点で、共通余白検出エリア113上の文字または罫線が存在する画素位置の外枠を取得できたことになる。
【0025】
次に取得した枠内の共通余白部分に対してページ番号印字可能と判断されないように、該当の画素位置の更新処理(ステップ505)を行う。この時点の共通余白検出エリア113をもとに、ページ番号の指定印字位置のエリアに対して共通余白部分があるかの検索処理を行う(ステップ506)。その結果、印字可能フラグがゼロであるかの判定を行い(ステップ507)、ゼロである場合はページ番号印字位置の検出が不可である旨のメッセージを表示装置100の画面に表示させ(ステップ508)、ページ番号印字位置をポインティングデバイス102により利用者に指定させる。その後指定入力されたページ番号印字位置を取得し(ステップ509)、取得したページ番号印字位置を返す(ステップ512)。
【0026】
ステップ507で印字可能フラグがゼロ以外である場合は、ページ番号印字位置が検出されたと判断し、検出したページ番号印字位置をステップ510で表示装置100の画面に印字レイアウトとして表示させる。このとき、画面に再指定ボタンと実行ボタンも共に表示させる。再指定ボタンか選択されたかを判定し(ステップ511)、選択された場合はステップ508、509を行う。実行ボタンが選択された場合は、ステップ506で返されたページ番号印字位置を返す(ステップ512)。
【0027】
図6はステップ310のページ番号印字位置決定処理で呼び出される左端画素位置取得処理(ステップ501)の詳細フローチャートを示す。本処理は共通余白検出エリア113のp(1,1)から右方向に順に参照し、mがM以下かつLnが未更新であるかの判定を行い(ステップ603)、条件に該当した場合は処理中の画素位置が文字または罫線であるかの判定を行う(ステップ604)。処理中の画素位置が空白の場合は次の画素位置に対して同様の判定を行い、参照行の中で最初に検出された文字または罫線の画素位置の左右方向画素位置mをLnに設定する(ステップ605)。ステップ603の条件を満たさない場合、つまりLnに値が設定されるか、または、参照行の最後の画素位置まで文字・罫線が検出されなかった場合は、次の行を参照し(ステップ607)、ステップ603〜606と同様の処理を行う。この処理を(M,N)まで繰り返し行う。
【0028】
図7はステップ310のページ番号印字位置決定処理で呼び出される右端画素位置取得処理(ステップ502)の詳細フローチャートを示す。本処理では、共通余白検出エリア113のp(M,1)から左方向に順に参照し、ステップ703、704において処理中の画素位置が参照行の中で最初に検出した文字または罫線であれば、ステップ705でその画素位置の左右方向画素位置mをRnに設定する。Rnに値が設定されるか、または、参照行の最後の画素位置まで文字・罫線が検出されなかった場合は、次の行を参照し(ステップ707)、ステップ703〜706と同様の処理を行う。この処理を(1,N)まで繰り返し行う。
【0029】
図8はステップ310のページ番号印字位置決定処理で呼び出される上端画素位置取得処理(ステップ503)の詳細フローチャートを示す。本処理は先に述べた図6の左端画素位置取得処理と類似した処理となっており、図6の処理は左から右方向に対して参照中の画素位置が文字または罫線であるかの判定を順に行っているが、本処理は上から下方向に対して同様の処理を行い、上端の画素位置を列ごとに取得する処理になっている。
図9はステップ310のページ番号印字位置決定処理で呼び出される下端画素位置取得処理(ステップ504)の詳細フローチャートを示す。本処理も図7の右端画素位置取得処理と類似した処理となっており、図7の処理は右から左方向に対して参照中の画素位置が文字または罫線であるかの判定を順に行っているが、本処理は下から上方向に対して同様の処理を行い、下端の画素位置を列ごとに取得する処理になっている。
【0030】
図10はステップ310のページ番号印字位置決定処理で呼び出される枠内空白画素更新処理(ステップ505)の詳細フローチャートを示す。本処理は前記図6〜9の処理で取得したLn、Rn、Um、Dmを使用して、共通余白検出エリア113上の左右方向の文字または罫線がある両端画素位置の間または上下方向の両端画素位置の間にある空白部分(BL(m,n)=ゼロ)についてページ番号の印字を不可とするために、該当部分に「1」を設定して文字または罫線ありとみなすことを目的としている。
【0031】
まず、共通余白検出エリア113上のBL(1,1)から順に空白であるかの判定を行い(ステップ1000〜1004)、空白である場合は、左右方向画素位置mが左端Lnと右端Rnの間である、または、上下方向画素位置nが上端Umと下端Dmの間である場合(ステップ1005)に、参照中のBL(m,n)に1を設定する(ステップ1006)。その後、次の画素位置について参照し(ステップ1007)、同様の処理(ステップ1003〜1007)を行う。参照行について処理が完了したら(ステップ1003)、次の行を参照し(ステップ1008)、BL(M,N)まで同様の処理を行う。
【0032】
図11はここまでの処理についての具体例として略図で示す。図において、1100はステップ305の原稿読み込み処理で読み込んだ原稿の1ページ目のデータが格納されている原稿格納エリア(1)で、1103は原稿の2ページ目のデータが格納されている原稿格納エリア(2)を示す。また、1101、1104の黒い部分は文字または罫線が存在することを示し、1102、1105の白い部分は空白であることを示す。1106は共通余白検出エリア113を示し、ステップ306の共通余白検出エリア更新処理において、まず原稿格納エリア(1)上の文字または罫線が存在する画素位置に対応する共通余白検出エリア113上の画素位置に1で更新していく。次に原稿格納エリア(2)についても同一の共通余白検出エリア113に対して重ね書きにより更新し、2つの原稿データの更新後の状態が1106となる。
【0033】
その後、ステップ501〜504の処理を行うと、2行目の左端L2には2が設定され、右端R2には図中1108に該当する左右方向の画素位置が設定される。同様に2列目の上端U2には2が設定され、下端D2には図中1109に該当する上下方向の画素位置が設定される。そしてステップ505の枠内空白画素更新処理で図中1110の画素(2,3)のようなU2とD2の間にある、または、L3とR3の間にある画素位置の値を1で更新していく。図中の1107はステップ505の処理が完了した状態を示し、この時点で0である画素位置が共通余白部分であり、ページ番号の印字が可能な位置であることを示す。
【0034】
図12はステップ310のページ番号印字位置決定処理で呼び出されるページ番号印字位置検索処理(ステップ506)の詳細フローチャートである。本処理では、共通余白検出エリア113をもとに指定のページ番号形式で指定位置の範囲が印字可能であるかの検索を行うことを目的とする。
【0035】
図13において、指定印字位置テーブルはページ番号印字位置の始点と終点が印字位置ごとに定義されている。これは利用者によりページ番号印字位置を指定された時に優先的に印字する位置を示す。図13はテーブルの詳細を示しており、1レコードは印字位置1300、優先度1301、位置始点1302、位置終点1303で構成されている。図15は共通余白検出エリア113を示しており、当該図を具体例として説明すると、利用者により指定されたページ番号の印字位置が「下中央」の場合、1504の枠の始点と終点が指定印字位置テーブルに格納されている。1510の下中央エリアを拡大したものが図16であり、指定印字位置は1601に該当する。この枠の始点が1602、終点が1603であり、指定印字位置テーブルの印字位置1300が「下中央」の位置始点1302には1602の画素位置、位置終点1303には1603の画素位置が格納されることになる。ここで、図13の優先度1301にはデフォルトの値が設定されているが、利用者が変更することも可能である。
【0036】
次に図14における指定位置範囲テーブルは指定印字位置を含むエリアの始点と終点が定義されているテーブルである。テーブル構成は前記の指定印字位置テーブルと類似しており、具体例として図14に示す。1レコードは印字位置1300、優先度1301、範囲始点1400、範囲終点1401で定義されており、印字位置1300に対する優先度1301には、前記の指定印字位置テーブルと同じ値で定義される。範囲始点1400、範囲終点1401は指定位置のエリアについて定義されており、図15で説明すると指定印字位置1504を含む下中央エリア1510の枠の始点と終点、つまり図16の1604、1605の画素位置がテーブルに格納されている。範囲始点1400、範囲終点1401は用紙の大きさにより自動算出され、処理対象の用紙の大きさをもとに値が決定されることとする。
【0037】
まず準備処理として、利用者により入力指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置と読み込んだ原稿枚数をもとに、指定されたページ番号の形式に必要な幅xと高さyの画素数(図16参照)を算出する(ステップ1200)。ここで、ページ番号印字位置については一例として「下中央」「下右側」「下左側」「上中央」「上右側」「上左側」から選択可能とする。また、指定のページ番号印字位置に共通余白部分を検出することができず、ページ番号の印字が不可能だった場合に備えて、上記で述べたとおり、あらかじめ各印字位置に対して優先度を設定できるようにし、最初に利用者により指定されたページ番号の印字位置は最も優先度を高くして処理することとする。以下優先度順に行う処理について述べる。
【0038】
まず優先度1301をもとに指定印字位置テーブルの検索を行い、指定のページ番号印字位置の位置始点1302と位置終点1303を取得する(ステップ1203)。次に指定位置範囲テーブルを検索し、優先度1301をもとにページ番号指定印字位置を含むエリアの範囲始点1400と範囲終点1401を取得する(ステップ1204)。
【0039】
その後、印字位置自動検出処理(ステップ1206)の入力パラメータであるA1、B1にステップ1204で取得したエリアの範囲始点1400の画素位置を設定し、A2、B2に範囲終点1401の画素位置を設定する。またステップ1203で取得した指定のページ番号印字位置の位置始点1302の画素位置をa1、b1に設定し、位置終点1303の画素位置をa2、b2に設定し(ステップ1205)、xにはステップ1200で取得したページ番号の印字に必要な幅の画素数、yにはその高さの画素数を設定し(ステップ1205)、印字位置自動検出処理を行う(ステップ1206)。ステップ1206の処理後に印字可能フラグがゼロであるかの判定を行い(ステップ1207)、ゼロである場合は指定位置を含むエリアでの印字が不可能であるとみなし、次の優先度のエリアについて(ステップ1208)ステップ1202〜1208を繰り返し行う。印字可能フラグがゼロ以外となった時点で、ステップ1206の印字位置自動検出処理で出力されたページ番号印字位置を返す(ステップ1209)。
【0040】
図17はステップ506のページ番号印字位置検索処理から呼び出される印字位置自動検出処理(ステップ1206)の概要図を示す。まず、全ての入力パラメータを退避する(ステップ1700)。この退避先の変数はそれぞれ図16に示す変数に対応している。退避した情報をもとに、範囲内にページ番号の印字が可能であるかの判定を範囲内印字位置検出処理で行う(ステップ1701)。ここでは、利用者により指定されたページ番号の印字位置で印字可能であるかの検出処理を行うことになる。
【0041】
ステップ1701の処理後に印字可能フラグがゼロかどうかの判定を行い(ステップ1702)、ゼロの場合は指定印字位置での印字が不可能であるとみなし、指定印字位置(図16の1601)を中心としてエリア内(図16の1600)を上方向または下方向に少しずつずらしながら、ページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う(ステップ1703)。ステップ1703の処理後、印字可能フラグがゼロであるかの判定を行い(ステップ1704)、ゼロである場合、ステップ1703と同様に指定印字位置を中心としてエリア内を左方向または右方向に少しずつずらしながら、共通余白部分があるかの判定を行う(ステップ1705)。その後も同様に印字可能であるかの判定を行い(ステップ1706)、印字不可能であれば指定位置を中心として対角線上に少しずつずらしながら共通余白部分があるかの判定を行う(ステップ1707)。
【0042】
ステップ1707の処理後に印字可能フラグがゼロであるかの判定を行い(ステップ1708)、ゼロである場合は処理時点の印字可能フラグとページ番号印字位置を返す(ステップ1709)。また、これまでの処理で印字可能フラグがゼロ以外となった時点で、印字可能とみなし、その時点の処理対象のページ番号印字位置を返す(ステップ1709)。
【0043】
図18はステップ1206の印字位置自動検出処理から呼び出される上下方向検出処理(ステップ1703)の詳細フローチャートを示す。まず、印字可能フラグがゼロであるかの判定を行い(ステップ1800)、ゼロである場合、始点(sm,sn)から終点(em,en)の検出対象エリアの画素位置を全体的に上方向に1つずらしながら(ステップ1802)、そのエリアに対して共通余白部分であるかの検出処理を行い(ステップ1701)、印字可能フラグがゼロ以外になるか上方向の端Snまでステップ1701の範囲内印字位置検出処理を行う。上方向の端Snまで検出処理が完了し、印字可能フラグがゼロの場合は、検出対象エリアを指定印字位置の位置始点1302の画素位置(a1,b1)、位置終点1303の画素位置(a2,b2)に戻し(ステップ1803)、今度は下方向に1つずつずらしながら(ステップ1805)、共通余白部分であるかの検出処理を行い(ステップ1701)、印字可能フラグがゼロ以外になるか下方向の端Enまでステップ1701の範囲内印字位置検出処理を行う。
【0044】
図19はステップ1206の印字位置自動検出処理、ステップ1703の上下方向検出処理(ステップ1701)から呼び出される範囲内印字位置検出処理の詳細フローチャートを示す。まず、ステップ1901の印字位置空白チェックの入力パラメータであるm1、n1に検出対象エリアの位置始点1302の画素位置(sm、sn)を設定し、m2、n2にその位置終点1303の画素位置(em,en)をそれぞれ設定する(ステップ1900)。設定した入力パラメータをもとに印字位置空白チェックを行い(ステップ1901)、出力された印字可能フラグと検出対象エリアであるページ番号印字位置を返す(ステップ1902)。
【0045】
図20はステップ1701の範囲内印字位置検出処理から呼び出される印字位置空白チェック(ステップ1901)の詳細フローチャートを示す。まず、入力パラメータを退避し(ステップ2000)、印字可能フラグに初期値として印字可能であることを示す1を設定する(ステップ2001)。検出対象エリアの始点から順に参照中の共通余白検出エリア113上のBL(i,j)が文字または罫線であるかの判定を行い(ステップ2007)、文字または罫線である場合は、入力パラメータのエリアを印字不可とみなし、印字可能フラグにゼロを設定する(ステップ2008)。同様の処理を検出対象エリアの終点まで行う。最後にステップ2011で印字可能フラグを返す。
【符号の説明】
【0046】
100 表示装置
107 データメモリ
112,1100,1103 原稿格納エリア
113,1106 共通余白検出エリア
1108,1109 画素位置
1110 画素
【技術分野】
【0001】
本発明は、コピー機またはプリンタ等の各種データ処理装置に備わっているページ番号印字機能に係るページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置に関するものである。
【背景技術】
【0002】
複数のページにわたる様々な書類をまとめてひとつの資料として配布する場合、書類ごとにページ番号が振られていると、ひとつの資料に同一のページ番号が複数存在しページを特定することが困難である。
そのような資料の管理上の便宜を図るため、一般的に複数の書類をひとつの資料として複数部作成する場合は、例えばコピー機のページ番号印字機能により、ページ番号の印字位置を指定すると、コピー対象の全書類に対し指定の形式で指定位置に通し番号でページ番号を印字することが可能である。
【0003】
本発明に関連する公知技術文献としては下記の先行技術文献がある。
まず、特許文献1では多種多様なページ番号形式の選択が可能であり、選択された形式のページ番号を印刷対象の用紙イメージに表示した状態で、ページ番号を印字する位置の選定を可能とした装置が提案されている。
特許文献2では、1つの電子文書データを構成している文字パターンと線パターンとの配置を示す物理構造データを抽出・分析し、ある特定の単語を見つけて当該単語に隣接する空白領域を認識する方法が提案されている。
特許文献3では、OCR用の特別な用紙以外の文字が記載された用紙上の文字データ等をコンピュータへ入力可能とした文字データ入力方式が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平1−121969号公報
【特許文献2】特開平3−179570号公報
【特許文献3】特開平4−343190号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のコピー機のページ番号印字機能では、余白の範囲が異なる複数の形式の書類をひとつの資料としてまとめる場合でも、ページ番号の印字位置を指定すると全ての書類に対して必ず指定位置にページ番号を印字する。
しかし、原稿にページ番号の印字指定位置と同じ位置に文字または罫線がある場合についてもページ番号で文字を上書き印字してしまい、コピー後にページ番号部分の文字を読み取れなくなってしまうのが現状である。
【0006】
以上の現状に鑑み、本発明は、ページ番号印字機能を使用して余白の範囲が異なる複数の形式の書類をコピー又はプリントする際に、全書類に対する共通余白エリアを検出し、指定のページ番号印字位置が文字または罫線である場合には、その上にページ番号の印字を行わないよう制御し、検出した共通余白エリアの中から印字位置を自動的に決定することができるページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項1に係る発明は、読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納するステップと、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得するステップと、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得するステップと、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新するステップと
利用者により指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、
指定された第1優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行うステップと、
第1優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返すステップと、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させるステップと、
利用者により再指定されたページ番号印字位置を取得するステップと、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させるステップと、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定するステップとを備えたことを特徴とするページ番号印字位置自動検出方法を提供するものである。
【0008】
請求項2に係る発明は、指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出するステップを備えたことを特徴とする請求項1記載のページ番号印字位置自動検出方法を提供するものである。
【0009】
請求項3に係る発明は、原稿の読み込みを行う手段と、
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納する手段と、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得する手段と、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得する手段と、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新する手段と
利用者により指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行う手段と、
指定された第1優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う手段と、
第1優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返す手段と、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させる手段と、
利用者により再指定されたページ番号印字位置を取得する手段と、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させる手段と、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定する手段と、
前記原稿格納エリアに格納された各原稿のデータを印字すると共に、各原稿の設定された前記ページ番号印字位置に連番でページ番号の印字を行い、書類出力を行う手段と、
前記書類出力を利用者に指定された部数分繰り返し行う手段とを備えたことを特徴とするデータ処理装置を提供するものである。
【0010】
請求項4に係る発明は、指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出する手段を備えたことを特徴とする請求項3記載のデータ処理装置を提供するものである。
【発明の効果】
【0011】
本発明のページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置によれば、次のような効果がある。
(1)ページ番号印字機能を使用して余白の範囲が異なる複数の形式の書類をコピー又はプリントする際に、全書類に対する共通余白エリアを検出することが可能である。
(2)指定のページ番号印字位置が文字または罫線である場合には、その上にページ番号の印字を行わないよう制御し、検出した共通余白エリアの中からページ番号の印字位置を自動的に決定することが可能である。
【図面の簡単な説明】
【0012】
【図1】本発明に係るデータ処理装置を概略的に示す機能ブロック図である。
【図2】本発明に係るコピー機能の概要を示すフローチャートである。
【図3】本発明に係る原稿入力処理の概要を示すフローチャートである。
【図4】本発明に係る共通余白検出エリア更新処理の概要を示すフローチャートである。
【図5】本発明に係るページ番号印字位置決定処理の概要を示すフローチャートである。
【図6】本発明に係る左端画素位置取得処理の概要を示すフローチャートである。
【図7】本発明に係る右端画素位置取得処理の概要を示すフローチャートである。
【図8】本発明に係る上端画素位置取得処理の概要を示すフローチャートである。
【図9】本発明に係る下端画素位置取得処理の概要を示すフローチャートである。
【図10】本発明に係る枠内空白画素更新処理の概要を示すフローチャートである。
【図11】本発明に係る共通余白検出エリアの更新方法を示す具体例の説明図である。
【図12】本発明に係るページ番号印字位置検索処理の概要を示すフローチャートである。
【図13】本発明に係る指定印字位置テーブルのデータ構成図である。
【図14】本発明に係る指定位置範囲テーブルのデータ構成図である。
【図15】本発明に係る指定印字位置と指定位置範囲を示す具体例の説明図である。
【図16】図15中の下中央エリアを拡大した説明図である。
【図17】本発明に係る印字位置自動検出処理の概要を示すフローチャートである。
【図18】本発明に係る上下方向検出処理の概要を示すフローチャートである。
【図19】本発明に係る範囲内印字位置検出処理の概要を示すフローチャートである。
【図20】本発明に係る印字位置空白チェックの概要を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、実施例を示した図面を参照しつつ本発明の実施の形態を説明する。
尚、上記各ステップ又は手段は、コンピュータのCPUが必要なコンピュータプログラムを読み込んで実行することにより実現されるステップ又は手段であり、下記中央処理装置がコンピュータのCPUである。
【0014】
図1は、本発明の実施の形態の一例としてコピー処理装置の内部構造を概略的に示す機能ブロック図である。
このコピー処理装置は、利用者により指定されたデータを表示するための表示装置100、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード101とタッチパネルなどのポインティングデバイス102、原稿を読み込むための書類入力装置103、コピー後の書類を出力するための書類出力装置104、必要な演算処理、制御処理等を行う中央処理装置105、中央処理装置105での処理に必要なプログラムを格納するプログラムメモリ106、中央処理装置105での処理に必要なデータを格納するデータメモリ107、プログラム実行時に必要な指定印字位置のデータを格納している指定印字位置テーブル114、指定印字位置の範囲データを格納している指定位置範囲テーブル115を備えている。
【0015】
プログラムメモリ106はメイン処理部108、原稿入力処理部109、印字処理部110、書類出力処理部111を含んでいる。データメモリ107は読み込んだ原稿データを格納するための原稿格納エリア112、全ての原稿に対する共通余白部分の検出に必要となるデータを格納するための共通余白検出エリア113を含んでいる。
【0016】
図2は、プログラムメモリ106に格納されるコピー処理のメイン処理の基本的実施例のフローチャートを示す。まず、コピー開始ボタンが選択されたか判定し(ステップ200)、選択された場合、原稿入力処理で原稿の読み込みを行いながら原稿枚数をカウントする(ステップ201)。ページ番号の印字指定があればステップ201の処理で全ての原稿に対する共通余白部分を検出し、最終的なページ番号の印字位置を決定することになる。その後、読み込んだ原稿が存在するかどうか原稿枚数により判定を行い(ステップ202)、存在する場合はステップ201で読み込んだ原稿枚数を1部の資料として、コピー対象のデータと、ページ番号の印字指定があればステップ201で決定したページ番号印字位置に連番でページ番号の印字を行い(ステップ203)、書類出力を行う(ステップ204)。この処理を利用者に指定された部数分繰り返し行う。
【0017】
図3は、ステップ201の原稿入力処理で実行されるサブルーチンプログラムの処理概要を示す。図において、変数Lnはn行目の左端画素位置、Rnはn行目の右端画素位置、Umはm列目の上端画素位置、Dmはm列目の下端画素位置を示す。
本プログラムでは、まずページ番号印字要求があるかの判定を行い(ステップ300)、要求がある場合は、コピー対象となる全ての書類の共通余白部分を検出するための共通余白検出エリア113の初期化(ステップ301)と、Ln、Rn、Um、Dmの初期化(ステップ302)を行う。
【0018】
次に、ステップ303で読み込み対象の原稿があるかの判定を行い(ステップ303)、原稿があると判定された場合は、原稿枚数に1を加算(ステップ304)し、ステップ305の原稿読み込み処理にて読み込んだ2次元的な1枚の原稿を画素と呼ばれる小さな点の配列に分割した状態でデータメモリ107における原稿格納エリア112へ格納する。なお、原稿の読み込み処理とデータメモリ107における原稿格納エリア112への格納は、特開平3−179570号公報に含まれる画像入力と同様の処理を行えばよい。
【0019】
その後、原稿格納エリア112の格納データを共通余白検出エリア113に順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける、文字または罫線が存在しない共通余白部分を取得する(ステップ306)。ここで、原稿格納エリア112は原稿枚数分の領域が確保されるとし、原稿格納エリア1つにつき原稿1枚のデータが格納されることとする。共通余白検出エリア113は1つの原稿格納エリア112と同じ大きさの領域とする。
【0020】
読み込み対象の原稿がなくなるまでステップ304〜306の処理を繰り返し行うと、原稿枚数分のデータが1枚ずつ各原稿格納エリア112へ格納され、全ての原稿格納エリア112の格納データをもとに共通余白検出エリア113が更新されることになる。読み込み対象の原稿がなくなった場合は、原稿枚数がゼロより大きいか判定を行い(ステップ309)、読み込んだ原稿が存在すれば、更新後の共通余白検出エリア113をもとにページ番号印字位置決定処理を行い(ステップ310)、決定したページ番号印字位置を各原稿格納エリア112の該当箇所へ設定する(ステップ311)。
【0021】
またステップ300の判定で、ページ番号印字要求がない場合は読み込み対象の原稿があるかの判定を行い(ステップ307)、原稿がある場合はページ番号の印字を行う必要がないため、ステップ308、305を行い、原稿読み込み処理を原稿枚数分、繰り返し行うことになる。
【0022】
図4は前記ステップ201の原稿入力処理で呼び出される共通余白検出エリア更新処理(ステップ306)の詳細フローチャートを示す。図において、変数nは原稿格納エリア112の上下方向画素位置、mは左右方向画素位置、Nは原稿格納エリア112に格納されている原稿1枚あたりの領域の高さ、Mはその領域の幅、p(x,y)は画素(x,y)の濃度、BL(x,y)は共通余白検出エリア113上の画素(x,y)の状態を示す。本処理は、原稿を読み込むたびにコピー対象の内容を共通余白検出エリア113の対応する画素位置に更新していくことで、最終的に全ての原稿における共通余白部分を取得することを目的とする。
【0023】
まずステップ400〜403に従い、原稿格納エリア112の(1,1)から順に参照し、ステップ404で(m,n)が文字または罫線である(p(m,n)>ゼロ)場合は、対応する共通余白検出エリア113上の対応画素位置に1を設定する(ステップ405)。その後、次の画素位置を参照(ステップ406)し、n行目が終わるまでステップ404〜406の処理を同様に行う。また、n行目に関する処理が完了したら(ステップ403)、次の行について処理を行い(ステップ407)、最終的に(M,N)まで同様の処理を繰り返し行う。図4の処理が全て終了した時点で、BL(m,n)=ゼロの画素位置が全ての原稿に対する共通余白部分となる。
【0024】
図5は前記ステップ201の原稿入力処理で呼び出されるページ番号印字位置決定処理(ステップ310)の処理概要である。まずページ番号印字位置の初期化を行い(ステップ500)、共通余白検出エリア113上で文字または罫線と認識された最も左端にある画素位置と最も右端にある画素位置を全ての行に対して取得し、同様に上端、下端にある画素位置を全ての列に対して取得を行う(ステップ501〜504)。この時点で、共通余白検出エリア113上の文字または罫線が存在する画素位置の外枠を取得できたことになる。
【0025】
次に取得した枠内の共通余白部分に対してページ番号印字可能と判断されないように、該当の画素位置の更新処理(ステップ505)を行う。この時点の共通余白検出エリア113をもとに、ページ番号の指定印字位置のエリアに対して共通余白部分があるかの検索処理を行う(ステップ506)。その結果、印字可能フラグがゼロであるかの判定を行い(ステップ507)、ゼロである場合はページ番号印字位置の検出が不可である旨のメッセージを表示装置100の画面に表示させ(ステップ508)、ページ番号印字位置をポインティングデバイス102により利用者に指定させる。その後指定入力されたページ番号印字位置を取得し(ステップ509)、取得したページ番号印字位置を返す(ステップ512)。
【0026】
ステップ507で印字可能フラグがゼロ以外である場合は、ページ番号印字位置が検出されたと判断し、検出したページ番号印字位置をステップ510で表示装置100の画面に印字レイアウトとして表示させる。このとき、画面に再指定ボタンと実行ボタンも共に表示させる。再指定ボタンか選択されたかを判定し(ステップ511)、選択された場合はステップ508、509を行う。実行ボタンが選択された場合は、ステップ506で返されたページ番号印字位置を返す(ステップ512)。
【0027】
図6はステップ310のページ番号印字位置決定処理で呼び出される左端画素位置取得処理(ステップ501)の詳細フローチャートを示す。本処理は共通余白検出エリア113のp(1,1)から右方向に順に参照し、mがM以下かつLnが未更新であるかの判定を行い(ステップ603)、条件に該当した場合は処理中の画素位置が文字または罫線であるかの判定を行う(ステップ604)。処理中の画素位置が空白の場合は次の画素位置に対して同様の判定を行い、参照行の中で最初に検出された文字または罫線の画素位置の左右方向画素位置mをLnに設定する(ステップ605)。ステップ603の条件を満たさない場合、つまりLnに値が設定されるか、または、参照行の最後の画素位置まで文字・罫線が検出されなかった場合は、次の行を参照し(ステップ607)、ステップ603〜606と同様の処理を行う。この処理を(M,N)まで繰り返し行う。
【0028】
図7はステップ310のページ番号印字位置決定処理で呼び出される右端画素位置取得処理(ステップ502)の詳細フローチャートを示す。本処理では、共通余白検出エリア113のp(M,1)から左方向に順に参照し、ステップ703、704において処理中の画素位置が参照行の中で最初に検出した文字または罫線であれば、ステップ705でその画素位置の左右方向画素位置mをRnに設定する。Rnに値が設定されるか、または、参照行の最後の画素位置まで文字・罫線が検出されなかった場合は、次の行を参照し(ステップ707)、ステップ703〜706と同様の処理を行う。この処理を(1,N)まで繰り返し行う。
【0029】
図8はステップ310のページ番号印字位置決定処理で呼び出される上端画素位置取得処理(ステップ503)の詳細フローチャートを示す。本処理は先に述べた図6の左端画素位置取得処理と類似した処理となっており、図6の処理は左から右方向に対して参照中の画素位置が文字または罫線であるかの判定を順に行っているが、本処理は上から下方向に対して同様の処理を行い、上端の画素位置を列ごとに取得する処理になっている。
図9はステップ310のページ番号印字位置決定処理で呼び出される下端画素位置取得処理(ステップ504)の詳細フローチャートを示す。本処理も図7の右端画素位置取得処理と類似した処理となっており、図7の処理は右から左方向に対して参照中の画素位置が文字または罫線であるかの判定を順に行っているが、本処理は下から上方向に対して同様の処理を行い、下端の画素位置を列ごとに取得する処理になっている。
【0030】
図10はステップ310のページ番号印字位置決定処理で呼び出される枠内空白画素更新処理(ステップ505)の詳細フローチャートを示す。本処理は前記図6〜9の処理で取得したLn、Rn、Um、Dmを使用して、共通余白検出エリア113上の左右方向の文字または罫線がある両端画素位置の間または上下方向の両端画素位置の間にある空白部分(BL(m,n)=ゼロ)についてページ番号の印字を不可とするために、該当部分に「1」を設定して文字または罫線ありとみなすことを目的としている。
【0031】
まず、共通余白検出エリア113上のBL(1,1)から順に空白であるかの判定を行い(ステップ1000〜1004)、空白である場合は、左右方向画素位置mが左端Lnと右端Rnの間である、または、上下方向画素位置nが上端Umと下端Dmの間である場合(ステップ1005)に、参照中のBL(m,n)に1を設定する(ステップ1006)。その後、次の画素位置について参照し(ステップ1007)、同様の処理(ステップ1003〜1007)を行う。参照行について処理が完了したら(ステップ1003)、次の行を参照し(ステップ1008)、BL(M,N)まで同様の処理を行う。
【0032】
図11はここまでの処理についての具体例として略図で示す。図において、1100はステップ305の原稿読み込み処理で読み込んだ原稿の1ページ目のデータが格納されている原稿格納エリア(1)で、1103は原稿の2ページ目のデータが格納されている原稿格納エリア(2)を示す。また、1101、1104の黒い部分は文字または罫線が存在することを示し、1102、1105の白い部分は空白であることを示す。1106は共通余白検出エリア113を示し、ステップ306の共通余白検出エリア更新処理において、まず原稿格納エリア(1)上の文字または罫線が存在する画素位置に対応する共通余白検出エリア113上の画素位置に1で更新していく。次に原稿格納エリア(2)についても同一の共通余白検出エリア113に対して重ね書きにより更新し、2つの原稿データの更新後の状態が1106となる。
【0033】
その後、ステップ501〜504の処理を行うと、2行目の左端L2には2が設定され、右端R2には図中1108に該当する左右方向の画素位置が設定される。同様に2列目の上端U2には2が設定され、下端D2には図中1109に該当する上下方向の画素位置が設定される。そしてステップ505の枠内空白画素更新処理で図中1110の画素(2,3)のようなU2とD2の間にある、または、L3とR3の間にある画素位置の値を1で更新していく。図中の1107はステップ505の処理が完了した状態を示し、この時点で0である画素位置が共通余白部分であり、ページ番号の印字が可能な位置であることを示す。
【0034】
図12はステップ310のページ番号印字位置決定処理で呼び出されるページ番号印字位置検索処理(ステップ506)の詳細フローチャートである。本処理では、共通余白検出エリア113をもとに指定のページ番号形式で指定位置の範囲が印字可能であるかの検索を行うことを目的とする。
【0035】
図13において、指定印字位置テーブルはページ番号印字位置の始点と終点が印字位置ごとに定義されている。これは利用者によりページ番号印字位置を指定された時に優先的に印字する位置を示す。図13はテーブルの詳細を示しており、1レコードは印字位置1300、優先度1301、位置始点1302、位置終点1303で構成されている。図15は共通余白検出エリア113を示しており、当該図を具体例として説明すると、利用者により指定されたページ番号の印字位置が「下中央」の場合、1504の枠の始点と終点が指定印字位置テーブルに格納されている。1510の下中央エリアを拡大したものが図16であり、指定印字位置は1601に該当する。この枠の始点が1602、終点が1603であり、指定印字位置テーブルの印字位置1300が「下中央」の位置始点1302には1602の画素位置、位置終点1303には1603の画素位置が格納されることになる。ここで、図13の優先度1301にはデフォルトの値が設定されているが、利用者が変更することも可能である。
【0036】
次に図14における指定位置範囲テーブルは指定印字位置を含むエリアの始点と終点が定義されているテーブルである。テーブル構成は前記の指定印字位置テーブルと類似しており、具体例として図14に示す。1レコードは印字位置1300、優先度1301、範囲始点1400、範囲終点1401で定義されており、印字位置1300に対する優先度1301には、前記の指定印字位置テーブルと同じ値で定義される。範囲始点1400、範囲終点1401は指定位置のエリアについて定義されており、図15で説明すると指定印字位置1504を含む下中央エリア1510の枠の始点と終点、つまり図16の1604、1605の画素位置がテーブルに格納されている。範囲始点1400、範囲終点1401は用紙の大きさにより自動算出され、処理対象の用紙の大きさをもとに値が決定されることとする。
【0037】
まず準備処理として、利用者により入力指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置と読み込んだ原稿枚数をもとに、指定されたページ番号の形式に必要な幅xと高さyの画素数(図16参照)を算出する(ステップ1200)。ここで、ページ番号印字位置については一例として「下中央」「下右側」「下左側」「上中央」「上右側」「上左側」から選択可能とする。また、指定のページ番号印字位置に共通余白部分を検出することができず、ページ番号の印字が不可能だった場合に備えて、上記で述べたとおり、あらかじめ各印字位置に対して優先度を設定できるようにし、最初に利用者により指定されたページ番号の印字位置は最も優先度を高くして処理することとする。以下優先度順に行う処理について述べる。
【0038】
まず優先度1301をもとに指定印字位置テーブルの検索を行い、指定のページ番号印字位置の位置始点1302と位置終点1303を取得する(ステップ1203)。次に指定位置範囲テーブルを検索し、優先度1301をもとにページ番号指定印字位置を含むエリアの範囲始点1400と範囲終点1401を取得する(ステップ1204)。
【0039】
その後、印字位置自動検出処理(ステップ1206)の入力パラメータであるA1、B1にステップ1204で取得したエリアの範囲始点1400の画素位置を設定し、A2、B2に範囲終点1401の画素位置を設定する。またステップ1203で取得した指定のページ番号印字位置の位置始点1302の画素位置をa1、b1に設定し、位置終点1303の画素位置をa2、b2に設定し(ステップ1205)、xにはステップ1200で取得したページ番号の印字に必要な幅の画素数、yにはその高さの画素数を設定し(ステップ1205)、印字位置自動検出処理を行う(ステップ1206)。ステップ1206の処理後に印字可能フラグがゼロであるかの判定を行い(ステップ1207)、ゼロである場合は指定位置を含むエリアでの印字が不可能であるとみなし、次の優先度のエリアについて(ステップ1208)ステップ1202〜1208を繰り返し行う。印字可能フラグがゼロ以外となった時点で、ステップ1206の印字位置自動検出処理で出力されたページ番号印字位置を返す(ステップ1209)。
【0040】
図17はステップ506のページ番号印字位置検索処理から呼び出される印字位置自動検出処理(ステップ1206)の概要図を示す。まず、全ての入力パラメータを退避する(ステップ1700)。この退避先の変数はそれぞれ図16に示す変数に対応している。退避した情報をもとに、範囲内にページ番号の印字が可能であるかの判定を範囲内印字位置検出処理で行う(ステップ1701)。ここでは、利用者により指定されたページ番号の印字位置で印字可能であるかの検出処理を行うことになる。
【0041】
ステップ1701の処理後に印字可能フラグがゼロかどうかの判定を行い(ステップ1702)、ゼロの場合は指定印字位置での印字が不可能であるとみなし、指定印字位置(図16の1601)を中心としてエリア内(図16の1600)を上方向または下方向に少しずつずらしながら、ページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う(ステップ1703)。ステップ1703の処理後、印字可能フラグがゼロであるかの判定を行い(ステップ1704)、ゼロである場合、ステップ1703と同様に指定印字位置を中心としてエリア内を左方向または右方向に少しずつずらしながら、共通余白部分があるかの判定を行う(ステップ1705)。その後も同様に印字可能であるかの判定を行い(ステップ1706)、印字不可能であれば指定位置を中心として対角線上に少しずつずらしながら共通余白部分があるかの判定を行う(ステップ1707)。
【0042】
ステップ1707の処理後に印字可能フラグがゼロであるかの判定を行い(ステップ1708)、ゼロである場合は処理時点の印字可能フラグとページ番号印字位置を返す(ステップ1709)。また、これまでの処理で印字可能フラグがゼロ以外となった時点で、印字可能とみなし、その時点の処理対象のページ番号印字位置を返す(ステップ1709)。
【0043】
図18はステップ1206の印字位置自動検出処理から呼び出される上下方向検出処理(ステップ1703)の詳細フローチャートを示す。まず、印字可能フラグがゼロであるかの判定を行い(ステップ1800)、ゼロである場合、始点(sm,sn)から終点(em,en)の検出対象エリアの画素位置を全体的に上方向に1つずらしながら(ステップ1802)、そのエリアに対して共通余白部分であるかの検出処理を行い(ステップ1701)、印字可能フラグがゼロ以外になるか上方向の端Snまでステップ1701の範囲内印字位置検出処理を行う。上方向の端Snまで検出処理が完了し、印字可能フラグがゼロの場合は、検出対象エリアを指定印字位置の位置始点1302の画素位置(a1,b1)、位置終点1303の画素位置(a2,b2)に戻し(ステップ1803)、今度は下方向に1つずつずらしながら(ステップ1805)、共通余白部分であるかの検出処理を行い(ステップ1701)、印字可能フラグがゼロ以外になるか下方向の端Enまでステップ1701の範囲内印字位置検出処理を行う。
【0044】
図19はステップ1206の印字位置自動検出処理、ステップ1703の上下方向検出処理(ステップ1701)から呼び出される範囲内印字位置検出処理の詳細フローチャートを示す。まず、ステップ1901の印字位置空白チェックの入力パラメータであるm1、n1に検出対象エリアの位置始点1302の画素位置(sm、sn)を設定し、m2、n2にその位置終点1303の画素位置(em,en)をそれぞれ設定する(ステップ1900)。設定した入力パラメータをもとに印字位置空白チェックを行い(ステップ1901)、出力された印字可能フラグと検出対象エリアであるページ番号印字位置を返す(ステップ1902)。
【0045】
図20はステップ1701の範囲内印字位置検出処理から呼び出される印字位置空白チェック(ステップ1901)の詳細フローチャートを示す。まず、入力パラメータを退避し(ステップ2000)、印字可能フラグに初期値として印字可能であることを示す1を設定する(ステップ2001)。検出対象エリアの始点から順に参照中の共通余白検出エリア113上のBL(i,j)が文字または罫線であるかの判定を行い(ステップ2007)、文字または罫線である場合は、入力パラメータのエリアを印字不可とみなし、印字可能フラグにゼロを設定する(ステップ2008)。同様の処理を検出対象エリアの終点まで行う。最後にステップ2011で印字可能フラグを返す。
【符号の説明】
【0046】
100 表示装置
107 データメモリ
112,1100,1103 原稿格納エリア
113,1106 共通余白検出エリア
1108,1109 画素位置
1110 画素
【特許請求の範囲】
【請求項1】
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納するステップと、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得するステップと、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得するステップと、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新するステップと
利用者により指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、
指定された第1優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行うステップと、
第1優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返すステップと、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させるステップと、
利用者により再指定されたページ番号印字位置を取得するステップと、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させるステップと、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定するステップとを備えたことを特徴とするページ番号印字位置自動検出方法。
【請求項2】
指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出するステップを備えたことを特徴とする請求項1記載のページ番号印字位置自動検出方法。
【請求項3】
原稿の読み込みを行う手段と、
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納する手段と、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得する手段と、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得する手段と、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新する手段と
利用者により指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行う手段と、
指定された第1優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う手段と、
第1優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返す手段と、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させる手段と、
利用者により再指定されたページ番号印字位置を取得する手段と、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させる手段と、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定する手段と、
前記原稿格納エリアに格納された各原稿のデータを印字すると共に、各原稿の設定された前記ページ番号印字位置に連番でページ番号の印字を行い、書類出力を行う手段と、
前記書類出力を利用者に指定された部数分繰り返し行う手段とを備えたことを特徴とするデータ処理装置。
【請求項4】
指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出する手段を備えたことを特徴とする請求項3記載のデータ処理装置。
【請求項1】
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納するステップと、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得するステップと、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得するステップと、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新するステップと
利用者により指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、
指定された第1優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行うステップと、
第1優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返すステップと、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させるステップと、
利用者により再指定されたページ番号印字位置を取得するステップと、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させるステップと、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定するステップとを備えたことを特徴とするページ番号印字位置自動検出方法。
【請求項2】
指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出するステップを備えたことを特徴とする請求項1記載のページ番号印字位置自動検出方法。
【請求項3】
原稿の読み込みを行う手段と、
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納する手段と、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得する手段と、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得する手段と、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新する手段と
利用者により指定された第1優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行う手段と、
指定された第1優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第1優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う手段と、
第1優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返す手段と、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させる手段と、
利用者により再指定されたページ番号印字位置を取得する手段と、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させる手段と、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定する手段と、
前記原稿格納エリアに格納された各原稿のデータを印字すると共に、各原稿の設定された前記ページ番号印字位置に連番でページ番号の印字を行い、書類出力を行う手段と、
前記書類出力を利用者に指定された部数分繰り返し行う手段とを備えたことを特徴とするデータ処理装置。
【請求項4】
指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出する手段を備えたことを特徴とする請求項3記載のデータ処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図11】
【公開番号】特開2012−48435(P2012−48435A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−189040(P2010−189040)
【出願日】平成22年8月26日(2010.8.26)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成22年8月26日(2010.8.26)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】
[ Back to top ]