(57)【要約】【課題】文字または罫線の上にページ番号の印字を行わないようにし、共通余白エリアの中から印字位置を自動的に決定できるページ番号印字位置自動検出方法を提供する。【解決手段】共通余白検出エリア１１３に重ね書きすることにより、全ての原稿に於ける共通余白部分を取得するステップと、指定された第１優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、不可能である場合、第１優先指定位置範囲エリア内にページ番号の印字に必要な共通余白部分があるかの判定を行うステップと、ないと判定された場合、優先度順に、他の指定位置範囲エリアで同様の判定を繰り返すステップと、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定又は再指定されたページ番号印字位置を各原稿格納エリア１１２の該当個所へ設定するステップ等を備える。【選択図】図１
2012048435.tif 000002
【特許請求の範囲】
【請求項１】
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納するステップと、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得するステップと、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得するステップと、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新するステップと
利用者により指定された第１優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、
指定された第１優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第１優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行うステップと、
第１優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返すステップと、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させるステップと、
利用者により再指定されたページ番号印字位置を取得するステップと、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させるステップと、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定するステップとを備えたことを特徴とするページ番号印字位置自動検出方法。
【請求項２】
指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出するステップを備えたことを特徴とする請求項１記載のページ番号印字位置自動検出方法。
【請求項３】
原稿の読み込みを行う手段と、
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納する手段と、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得する手段と、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得する手段と、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新する手段と
利用者により指定された第１優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行う手段と、
指定された第１優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第１優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う手段と、
第１優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返す手段と、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させる手段と、
利用者により再指定されたページ番号印字位置を取得する手段と、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させる手段と、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定する手段と、
前記原稿格納エリアに格納された各原稿のデータを印字すると共に、各原稿の設定された前記ページ番号印字位置に連番でページ番号の印字を行い、書類出力を行う手段と、
前記書類出力を利用者に指定された部数分繰り返し行う手段とを備えたことを特徴とするデータ処理装置。
【請求項４】
指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出する手段を備えたことを特徴とする請求項３記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コピー機またはプリンタ等の各種データ処理装置に備わっているページ番号印字機能に係るページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置に関するものである。
【背景技術】
【０００２】
複数のページにわたる様々な書類をまとめてひとつの資料として配布する場合、書類ごとにページ番号が振られていると、ひとつの資料に同一のページ番号が複数存在しページを特定することが困難である。
そのような資料の管理上の便宜を図るため、一般的に複数の書類をひとつの資料として複数部作成する場合は、例えばコピー機のページ番号印字機能により、ページ番号の印字位置を指定すると、コピー対象の全書類に対し指定の形式で指定位置に通し番号でページ番号を印字することが可能である。
【０００３】
本発明に関連する公知技術文献としては下記の先行技術文献がある。
まず、特許文献１では多種多様なページ番号形式の選択が可能であり、選択された形式のページ番号を印刷対象の用紙イメージに表示した状態で、ページ番号を印字する位置の選定を可能とした装置が提案されている。
特許文献２では、１つの電子文書データを構成している文字パターンと線パターンとの配置を示す物理構造データを抽出・分析し、ある特定の単語を見つけて当該単語に隣接する空白領域を認識する方法が提案されている。
特許文献３では、ＯＣＲ用の特別な用紙以外の文字が記載された用紙上の文字データ等をコンピュータへ入力可能とした文字データ入力方式が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１−１２１９６９号公報
【特許文献２】特開平３−１７９５７０号公報
【特許文献３】特開平４−３４３１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のコピー機のページ番号印字機能では、余白の範囲が異なる複数の形式の書類をひとつの資料としてまとめる場合でも、ページ番号の印字位置を指定すると全ての書類に対して必ず指定位置にページ番号を印字する。
しかし、原稿にページ番号の印字指定位置と同じ位置に文字または罫線がある場合についてもページ番号で文字を上書き印字してしまい、コピー後にページ番号部分の文字を読み取れなくなってしまうのが現状である。
【０００６】
以上の現状に鑑み、本発明は、ページ番号印字機能を使用して余白の範囲が異なる複数の形式の書類をコピー又はプリントする際に、全書類に対する共通余白エリアを検出し、指定のページ番号印字位置が文字または罫線である場合には、その上にページ番号の印字を行わないよう制御し、検出した共通余白エリアの中から印字位置を自動的に決定することができるページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項１に係る発明は、読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納するステップと、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得するステップと、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得するステップと、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新するステップと
利用者により指定された第１優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行うステップと、
指定された第１優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第１優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行うステップと、
第１優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返すステップと、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させるステップと、
利用者により再指定されたページ番号印字位置を取得するステップと、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させるステップと、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定するステップとを備えたことを特徴とするページ番号印字位置自動検出方法を提供するものである。
【０００８】
請求項２に係る発明は、指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出するステップを備えたことを特徴とする請求項１記載のページ番号印字位置自動検出方法を提供するものである。
【０００９】
請求項３に係る発明は、原稿の読み込みを行う手段と、
読み込んだ原稿を画素の配列に分割してデータメモリ内の原稿格納エリアに格納する手段と、
原稿格納エリアの格納データを共通余白検出エリアに順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける共通余白部分を取得する手段と、
共通余白検出エリア上で文字または罫線と認識された最左端及び最右端を全ての行に対して取得し、最上端及び最下端を全ての列に対して取得して、共通余白検出エリア上の文字または罫線が存在する画素位置の外枠を取得する手段と、
取得した前記外枠内の共通余白部分を文字または罫線ありに更新する手段と
利用者により指定された第１優先指定位置範囲エリア内のページ番号印字位置で、ページ番号の印字が可能であるかの判定を行う手段と、
指定された第１優先指定位置範囲エリア内のページ番号印字位置で印字が不可能である場合、第１優先指定位置範囲エリア内にページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う手段と、
第１優先指定位置範囲エリア内でページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合、優先度順に、他の指定位置範囲エリアでページ番号の印字に必要な画素数分、共通余白部分があるか前記判定と同様の判定を繰り返す手段と、
ページ番号の印字に必要な画素数分、共通余白部分がないと判定された場合は、ページ番号印字位置の検出が不可である旨のメッセージを表示装置の画面に表示させる手段と、
利用者により再指定されたページ番号印字位置を取得する手段と、
ページ番号の印字に必要な画素数分、共通余白部分があると判定された場合は、その共通余白部分をページ番号印字位置と決定し、決定したページ番号印字位置、又は、利用者により再指定された前記ページ番号印字位置を表示装置の画面に印字レイアウトとして表示させる手段と、
決定又は再指定されたページ番号印字位置を各原稿格納エリアの該当個所へ設定する手段と、
前記原稿格納エリアに格納された各原稿のデータを印字すると共に、各原稿の設定された前記ページ番号印字位置に連番でページ番号の印字を行い、書類出力を行う手段と、
前記書類出力を利用者に指定された部数分繰り返し行う手段とを備えたことを特徴とするデータ処理装置を提供するものである。
【００１０】
請求項４に係る発明は、指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置、及び、読み込んだ原稿枚数に基づき、指定されたページ番号の形式に必要な幅と高さの画素数を算出する手段を備えたことを特徴とする請求項３記載のデータ処理装置を提供するものである。
【発明の効果】
【００１１】
本発明のページ番号印字位置自動検出方法およびその機能を備えたデータ処理装置によれば、次のような効果がある。
（１）ページ番号印字機能を使用して余白の範囲が異なる複数の形式の書類をコピー又はプリントする際に、全書類に対する共通余白エリアを検出することが可能である。
（２）指定のページ番号印字位置が文字または罫線である場合には、その上にページ番号の印字を行わないよう制御し、検出した共通余白エリアの中からページ番号の印字位置を自動的に決定することが可能である。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るデータ処理装置を概略的に示す機能ブロック図である。
【図２】本発明に係るコピー機能の概要を示すフローチャートである。
【図３】本発明に係る原稿入力処理の概要を示すフローチャートである。
【図４】本発明に係る共通余白検出エリア更新処理の概要を示すフローチャートである。
【図５】本発明に係るページ番号印字位置決定処理の概要を示すフローチャートである。
【図６】本発明に係る左端画素位置取得処理の概要を示すフローチャートである。
【図７】本発明に係る右端画素位置取得処理の概要を示すフローチャートである。
【図８】本発明に係る上端画素位置取得処理の概要を示すフローチャートである。
【図９】本発明に係る下端画素位置取得処理の概要を示すフローチャートである。
【図１０】本発明に係る枠内空白画素更新処理の概要を示すフローチャートである。
【図１１】本発明に係る共通余白検出エリアの更新方法を示す具体例の説明図である。
【図１２】本発明に係るページ番号印字位置検索処理の概要を示すフローチャートである。
【図１３】本発明に係る指定印字位置テーブルのデータ構成図である。
【図１４】本発明に係る指定位置範囲テーブルのデータ構成図である。
【図１５】本発明に係る指定印字位置と指定位置範囲を示す具体例の説明図である。
【図１６】図１５中の下中央エリアを拡大した説明図である。
【図１７】本発明に係る印字位置自動検出処理の概要を示すフローチャートである。
【図１８】本発明に係る上下方向検出処理の概要を示すフローチャートである。
【図１９】本発明に係る範囲内印字位置検出処理の概要を示すフローチャートである。
【図２０】本発明に係る印字位置空白チェックの概要を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、実施例を示した図面を参照しつつ本発明の実施の形態を説明する。
尚、上記各ステップ又は手段は、コンピュータのＣＰＵが必要なコンピュータプログラムを読み込んで実行することにより実現されるステップ又は手段であり、下記中央処理装置がコンピュータのＣＰＵである。
【００１４】
図１は、本発明の実施の形態の一例としてコピー処理装置の内部構造を概略的に示す機能ブロック図である。
このコピー処理装置は、利用者により指定されたデータを表示するための表示装置１００、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード１０１とタッチパネルなどのポインティングデバイス１０２、原稿を読み込むための書類入力装置１０３、コピー後の書類を出力するための書類出力装置１０４、必要な演算処理、制御処理等を行う中央処理装置１０５、中央処理装置１０５での処理に必要なプログラムを格納するプログラムメモリ１０６、中央処理装置１０５での処理に必要なデータを格納するデータメモリ１０７、プログラム実行時に必要な指定印字位置のデータを格納している指定印字位置テーブル１１４、指定印字位置の範囲データを格納している指定位置範囲テーブル１１５を備えている。
【００１５】
プログラムメモリ１０６はメイン処理部１０８、原稿入力処理部１０９、印字処理部１１０、書類出力処理部１１１を含んでいる。データメモリ１０７は読み込んだ原稿データを格納するための原稿格納エリア１１２、全ての原稿に対する共通余白部分の検出に必要となるデータを格納するための共通余白検出エリア１１３を含んでいる。
【００１６】
図２は、プログラムメモリ１０６に格納されるコピー処理のメイン処理の基本的実施例のフローチャートを示す。まず、コピー開始ボタンが選択されたか判定し（ステップ２００）、選択された場合、原稿入力処理で原稿の読み込みを行いながら原稿枚数をカウントする（ステップ２０１）。ページ番号の印字指定があればステップ２０１の処理で全ての原稿に対する共通余白部分を検出し、最終的なページ番号の印字位置を決定することになる。その後、読み込んだ原稿が存在するかどうか原稿枚数により判定を行い（ステップ２０２）、存在する場合はステップ２０１で読み込んだ原稿枚数を１部の資料として、コピー対象のデータと、ページ番号の印字指定があればステップ２０１で決定したページ番号印字位置に連番でページ番号の印字を行い（ステップ２０３）、書類出力を行う（ステップ２０４）。この処理を利用者に指定された部数分繰り返し行う。
【００１７】
図３は、ステップ２０１の原稿入力処理で実行されるサブルーチンプログラムの処理概要を示す。図において、変数Ｌｎはｎ行目の左端画素位置、Ｒｎはｎ行目の右端画素位置、Ｕｍはｍ列目の上端画素位置、Ｄｍはｍ列目の下端画素位置を示す。
本プログラムでは、まずページ番号印字要求があるかの判定を行い（ステップ３００）、要求がある場合は、コピー対象となる全ての書類の共通余白部分を検出するための共通余白検出エリア１１３の初期化（ステップ３０１）と、Ｌｎ、Ｒｎ、Ｕｍ、Ｄｍの初期化（ステップ３０２）を行う。
【００１８】
次に、ステップ３０３で読み込み対象の原稿があるかの判定を行い（ステップ３０３）、原稿があると判定された場合は、原稿枚数に１を加算（ステップ３０４）し、ステップ３０５の原稿読み込み処理にて読み込んだ２次元的な１枚の原稿を画素と呼ばれる小さな点の配列に分割した状態でデータメモリ１０７における原稿格納エリア１１２へ格納する。なお、原稿の読み込み処理とデータメモリ１０７における原稿格納エリア１１２への格納は、特開平３−１７９５７０号公報に含まれる画像入力と同様の処理を行えばよい。
【００１９】
その後、原稿格納エリア１１２の格納データを共通余白検出エリア１１３に順次重ね書きして、文字または罫線が存在する画素位置の更新を行い、全ての原稿に於ける、文字または罫線が存在しない共通余白部分を取得する（ステップ３０６）。ここで、原稿格納エリア１１２は原稿枚数分の領域が確保されるとし、原稿格納エリア１つにつき原稿１枚のデータが格納されることとする。共通余白検出エリア１１３は１つの原稿格納エリア１１２と同じ大きさの領域とする。
【００２０】
読み込み対象の原稿がなくなるまでステップ３０４〜３０６の処理を繰り返し行うと、原稿枚数分のデータが１枚ずつ各原稿格納エリア１１２へ格納され、全ての原稿格納エリア１１２の格納データをもとに共通余白検出エリア１１３が更新されることになる。読み込み対象の原稿がなくなった場合は、原稿枚数がゼロより大きいか判定を行い（ステップ３０９）、読み込んだ原稿が存在すれば、更新後の共通余白検出エリア１１３をもとにページ番号印字位置決定処理を行い（ステップ３１０）、決定したページ番号印字位置を各原稿格納エリア１１２の該当箇所へ設定する（ステップ３１１）。
【００２１】
またステップ３００の判定で、ページ番号印字要求がない場合は読み込み対象の原稿があるかの判定を行い（ステップ３０７）、原稿がある場合はページ番号の印字を行う必要がないため、ステップ３０８、３０５を行い、原稿読み込み処理を原稿枚数分、繰り返し行うことになる。
【００２２】
図４は前記ステップ２０１の原稿入力処理で呼び出される共通余白検出エリア更新処理（ステップ３０６）の詳細フローチャートを示す。図において、変数ｎは原稿格納エリア１１２の上下方向画素位置、ｍは左右方向画素位置、Ｎは原稿格納エリア１１２に格納されている原稿１枚あたりの領域の高さ、Ｍはその領域の幅、ｐ（ｘ，ｙ）は画素（ｘ，ｙ）の濃度、ＢＬ（ｘ，ｙ）は共通余白検出エリア１１３上の画素（ｘ，ｙ）の状態を示す。本処理は、原稿を読み込むたびにコピー対象の内容を共通余白検出エリア１１３の対応する画素位置に更新していくことで、最終的に全ての原稿における共通余白部分を取得することを目的とする。
【００２３】
まずステップ４００〜４０３に従い、原稿格納エリア１１２の（１，１）から順に参照し、ステップ４０４で（ｍ，ｎ）が文字または罫線である（ｐ（ｍ，ｎ）＞ゼロ）場合は、対応する共通余白検出エリア１１３上の対応画素位置に１を設定する（ステップ４０５）。その後、次の画素位置を参照（ステップ４０６）し、ｎ行目が終わるまでステップ４０４〜４０６の処理を同様に行う。また、ｎ行目に関する処理が完了したら（ステップ４０３）、次の行について処理を行い（ステップ４０７）、最終的に（Ｍ，Ｎ）まで同様の処理を繰り返し行う。図４の処理が全て終了した時点で、ＢＬ（ｍ，ｎ）＝ゼロの画素位置が全ての原稿に対する共通余白部分となる。
【００２４】
図５は前記ステップ２０１の原稿入力処理で呼び出されるページ番号印字位置決定処理（ステップ３１０）の処理概要である。まずページ番号印字位置の初期化を行い（ステップ５００）、共通余白検出エリア１１３上で文字または罫線と認識された最も左端にある画素位置と最も右端にある画素位置を全ての行に対して取得し、同様に上端、下端にある画素位置を全ての列に対して取得を行う（ステップ５０１〜５０４）。この時点で、共通余白検出エリア１１３上の文字または罫線が存在する画素位置の外枠を取得できたことになる。
【００２５】
次に取得した枠内の共通余白部分に対してページ番号印字可能と判断されないように、該当の画素位置の更新処理（ステップ５０５）を行う。この時点の共通余白検出エリア１１３をもとに、ページ番号の指定印字位置のエリアに対して共通余白部分があるかの検索処理を行う（ステップ５０６）。その結果、印字可能フラグがゼロであるかの判定を行い（ステップ５０７）、ゼロである場合はページ番号印字位置の検出が不可である旨のメッセージを表示装置１００の画面に表示させ（ステップ５０８）、ページ番号印字位置をポインティングデバイス１０２により利用者に指定させる。その後指定入力されたページ番号印字位置を取得し（ステップ５０９）、取得したページ番号印字位置を返す（ステップ５１２）。
【００２６】
ステップ５０７で印字可能フラグがゼロ以外である場合は、ページ番号印字位置が検出されたと判断し、検出したページ番号印字位置をステップ５１０で表示装置１００の画面に印字レイアウトとして表示させる。このとき、画面に再指定ボタンと実行ボタンも共に表示させる。再指定ボタンか選択されたかを判定し（ステップ５１１）、選択された場合はステップ５０８、５０９を行う。実行ボタンが選択された場合は、ステップ５０６で返されたページ番号印字位置を返す（ステップ５１２）。
【００２７】
図６はステップ３１０のページ番号印字位置決定処理で呼び出される左端画素位置取得処理（ステップ５０１）の詳細フローチャートを示す。本処理は共通余白検出エリア１１３のｐ（１，１）から右方向に順に参照し、ｍがＭ以下かつＬｎが未更新であるかの判定を行い（ステップ６０３）、条件に該当した場合は処理中の画素位置が文字または罫線であるかの判定を行う（ステップ６０４）。処理中の画素位置が空白の場合は次の画素位置に対して同様の判定を行い、参照行の中で最初に検出された文字または罫線の画素位置の左右方向画素位置ｍをＬｎに設定する（ステップ６０５）。ステップ６０３の条件を満たさない場合、つまりＬｎに値が設定されるか、または、参照行の最後の画素位置まで文字・罫線が検出されなかった場合は、次の行を参照し（ステップ６０７）、ステップ６０３〜６０６と同様の処理を行う。この処理を（Ｍ，Ｎ）まで繰り返し行う。
【００２８】
図７はステップ３１０のページ番号印字位置決定処理で呼び出される右端画素位置取得処理（ステップ５０２）の詳細フローチャートを示す。本処理では、共通余白検出エリア１１３のｐ（Ｍ，１）から左方向に順に参照し、ステップ７０３、７０４において処理中の画素位置が参照行の中で最初に検出した文字または罫線であれば、ステップ７０５でその画素位置の左右方向画素位置ｍをＲｎに設定する。Ｒｎに値が設定されるか、または、参照行の最後の画素位置まで文字・罫線が検出されなかった場合は、次の行を参照し（ステップ７０７）、ステップ７０３〜７０６と同様の処理を行う。この処理を（１，Ｎ）まで繰り返し行う。
【００２９】
図８はステップ３１０のページ番号印字位置決定処理で呼び出される上端画素位置取得処理（ステップ５０３）の詳細フローチャートを示す。本処理は先に述べた図６の左端画素位置取得処理と類似した処理となっており、図６の処理は左から右方向に対して参照中の画素位置が文字または罫線であるかの判定を順に行っているが、本処理は上から下方向に対して同様の処理を行い、上端の画素位置を列ごとに取得する処理になっている。
図９はステップ３１０のページ番号印字位置決定処理で呼び出される下端画素位置取得処理（ステップ５０４）の詳細フローチャートを示す。本処理も図７の右端画素位置取得処理と類似した処理となっており、図７の処理は右から左方向に対して参照中の画素位置が文字または罫線であるかの判定を順に行っているが、本処理は下から上方向に対して同様の処理を行い、下端の画素位置を列ごとに取得する処理になっている。
【００３０】
図１０はステップ３１０のページ番号印字位置決定処理で呼び出される枠内空白画素更新処理（ステップ５０５）の詳細フローチャートを示す。本処理は前記図６〜９の処理で取得したＬｎ、Ｒｎ、Ｕｍ、Ｄｍを使用して、共通余白検出エリア１１３上の左右方向の文字または罫線がある両端画素位置の間または上下方向の両端画素位置の間にある空白部分（ＢＬ（ｍ，ｎ）＝ゼロ）についてページ番号の印字を不可とするために、該当部分に「１」を設定して文字または罫線ありとみなすことを目的としている。
【００３１】
まず、共通余白検出エリア１１３上のＢＬ（１，１）から順に空白であるかの判定を行い（ステップ１０００〜１００４）、空白である場合は、左右方向画素位置ｍが左端Ｌｎと右端Ｒｎの間である、または、上下方向画素位置ｎが上端Ｕｍと下端Ｄｍの間である場合（ステップ１００５）に、参照中のＢＬ（ｍ，ｎ）に１を設定する（ステップ１００６）。その後、次の画素位置について参照し（ステップ１００７）、同様の処理（ステップ１００３〜１００７）を行う。参照行について処理が完了したら（ステップ１００３）、次の行を参照し（ステップ１００８）、ＢＬ（Ｍ，Ｎ）まで同様の処理を行う。
【００３２】
図１１はここまでの処理についての具体例として略図で示す。図において、１１００はステップ３０５の原稿読み込み処理で読み込んだ原稿の１ページ目のデータが格納されている原稿格納エリア（１）で、１１０３は原稿の２ページ目のデータが格納されている原稿格納エリア（２）を示す。また、１１０１、１１０４の黒い部分は文字または罫線が存在することを示し、１１０２、１１０５の白い部分は空白であることを示す。１１０６は共通余白検出エリア１１３を示し、ステップ３０６の共通余白検出エリア更新処理において、まず原稿格納エリア（１）上の文字または罫線が存在する画素位置に対応する共通余白検出エリア１１３上の画素位置に１で更新していく。次に原稿格納エリア（２）についても同一の共通余白検出エリア１１３に対して重ね書きにより更新し、２つの原稿データの更新後の状態が１１０６となる。
【００３３】
その後、ステップ５０１〜５０４の処理を行うと、２行目の左端Ｌ２には２が設定され、右端Ｒ２には図中１１０８に該当する左右方向の画素位置が設定される。同様に２列目の上端Ｕ２には２が設定され、下端Ｄ２には図中１１０９に該当する上下方向の画素位置が設定される。そしてステップ５０５の枠内空白画素更新処理で図中１１１０の画素（２，３）のようなＵ２とＤ２の間にある、または、Ｌ３とＲ３の間にある画素位置の値を１で更新していく。図中の１１０７はステップ５０５の処理が完了した状態を示し、この時点で０である画素位置が共通余白部分であり、ページ番号の印字が可能な位置であることを示す。
【００３４】
図１２はステップ３１０のページ番号印字位置決定処理で呼び出されるページ番号印字位置検索処理（ステップ５０６）の詳細フローチャートである。本処理では、共通余白検出エリア１１３をもとに指定のページ番号形式で指定位置の範囲が印字可能であるかの検索を行うことを目的とする。
【００３５】
図１３において、指定印字位置テーブルはページ番号印字位置の始点と終点が印字位置ごとに定義されている。これは利用者によりページ番号印字位置を指定された時に優先的に印字する位置を示す。図１３はテーブルの詳細を示しており、１レコードは印字位置１３００、優先度１３０１、位置始点１３０２、位置終点１３０３で構成されている。図１５は共通余白検出エリア１１３を示しており、当該図を具体例として説明すると、利用者により指定されたページ番号の印字位置が「下中央」の場合、１５０４の枠の始点と終点が指定印字位置テーブルに格納されている。１５１０の下中央エリアを拡大したものが図１６であり、指定印字位置は１６０１に該当する。この枠の始点が１６０２、終点が１６０３であり、指定印字位置テーブルの印字位置１３００が「下中央」の位置始点１３０２には１６０２の画素位置、位置終点１３０３には１６０３の画素位置が格納されることになる。ここで、図１３の優先度１３０１にはデフォルトの値が設定されているが、利用者が変更することも可能である。
【００３６】
次に図１４における指定位置範囲テーブルは指定印字位置を含むエリアの始点と終点が定義されているテーブルである。テーブル構成は前記の指定印字位置テーブルと類似しており、具体例として図１４に示す。１レコードは印字位置１３００、優先度１３０１、範囲始点１４００、範囲終点１４０１で定義されており、印字位置１３００に対する優先度１３０１には、前記の指定印字位置テーブルと同じ値で定義される。範囲始点１４００、範囲終点１４０１は指定位置のエリアについて定義されており、図１５で説明すると指定印字位置１５０４を含む下中央エリア１５１０の枠の始点と終点、つまり図１６の１６０４、１６０５の画素位置がテーブルに格納されている。範囲始点１４００、範囲終点１４０１は用紙の大きさにより自動算出され、処理対象の用紙の大きさをもとに値が決定されることとする。
【００３７】
まず準備処理として、利用者により入力指定されたページ番号のフォント、フォントサイズ、ページ番号の形式、ページ番号印字位置と読み込んだ原稿枚数をもとに、指定されたページ番号の形式に必要な幅ｘと高さｙの画素数（図１６参照）を算出する（ステップ１２００）。ここで、ページ番号印字位置については一例として「下中央」「下右側」「下左側」「上中央」「上右側」「上左側」から選択可能とする。また、指定のページ番号印字位置に共通余白部分を検出することができず、ページ番号の印字が不可能だった場合に備えて、上記で述べたとおり、あらかじめ各印字位置に対して優先度を設定できるようにし、最初に利用者により指定されたページ番号の印字位置は最も優先度を高くして処理することとする。以下優先度順に行う処理について述べる。
【００３８】
まず優先度１３０１をもとに指定印字位置テーブルの検索を行い、指定のページ番号印字位置の位置始点１３０２と位置終点１３０３を取得する（ステップ１２０３）。次に指定位置範囲テーブルを検索し、優先度１３０１をもとにページ番号指定印字位置を含むエリアの範囲始点１４００と範囲終点１４０１を取得する（ステップ１２０４）。
【００３９】
その後、印字位置自動検出処理（ステップ１２０６）の入力パラメータであるＡ１、Ｂ１にステップ１２０４で取得したエリアの範囲始点１４００の画素位置を設定し、Ａ２、Ｂ２に範囲終点１４０１の画素位置を設定する。またステップ１２０３で取得した指定のページ番号印字位置の位置始点１３０２の画素位置をａ１、ｂ１に設定し、位置終点１３０３の画素位置をａ２、ｂ２に設定し（ステップ１２０５）、ｘにはステップ１２００で取得したページ番号の印字に必要な幅の画素数、ｙにはその高さの画素数を設定し（ステップ１２０５）、印字位置自動検出処理を行う（ステップ１２０６）。ステップ１２０６の処理後に印字可能フラグがゼロであるかの判定を行い（ステップ１２０７）、ゼロである場合は指定位置を含むエリアでの印字が不可能であるとみなし、次の優先度のエリアについて（ステップ１２０８）ステップ１２０２〜１２０８を繰り返し行う。印字可能フラグがゼロ以外となった時点で、ステップ１２０６の印字位置自動検出処理で出力されたページ番号印字位置を返す（ステップ１２０９）。
【００４０】
図１７はステップ５０６のページ番号印字位置検索処理から呼び出される印字位置自動検出処理（ステップ１２０６）の概要図を示す。まず、全ての入力パラメータを退避する（ステップ１７００）。この退避先の変数はそれぞれ図１６に示す変数に対応している。退避した情報をもとに、範囲内にページ番号の印字が可能であるかの判定を範囲内印字位置検出処理で行う（ステップ１７０１）。ここでは、利用者により指定されたページ番号の印字位置で印字可能であるかの検出処理を行うことになる。
【００４１】
ステップ１７０１の処理後に印字可能フラグがゼロかどうかの判定を行い（ステップ１７０２）、ゼロの場合は指定印字位置での印字が不可能であるとみなし、指定印字位置（図１６の１６０１）を中心としてエリア内（図１６の１６００）を上方向または下方向に少しずつずらしながら、ページ番号の印字に必要な画素数分、共通余白部分があるかの判定を行う（ステップ１７０３）。ステップ１７０３の処理後、印字可能フラグがゼロであるかの判定を行い（ステップ１７０４）、ゼロである場合、ステップ１７０３と同様に指定印字位置を中心としてエリア内を左方向または右方向に少しずつずらしながら、共通余白部分があるかの判定を行う（ステップ１７０５）。その後も同様に印字可能であるかの判定を行い（ステップ１７０６）、印字不可能であれば指定位置を中心として対角線上に少しずつずらしながら共通余白部分があるかの判定を行う（ステップ１７０７）。
【００４２】
ステップ１７０７の処理後に印字可能フラグがゼロであるかの判定を行い（ステップ１７０８）、ゼロである場合は処理時点の印字可能フラグとページ番号印字位置を返す（ステップ１７０９）。また、これまでの処理で印字可能フラグがゼロ以外となった時点で、印字可能とみなし、その時点の処理対象のページ番号印字位置を返す（ステップ１７０９）。
【００４３】
図１８はステップ１２０６の印字位置自動検出処理から呼び出される上下方向検出処理（ステップ１７０３）の詳細フローチャートを示す。まず、印字可能フラグがゼロであるかの判定を行い（ステップ１８００）、ゼロである場合、始点（ｓｍ，ｓｎ）から終点（ｅｍ，ｅｎ）の検出対象エリアの画素位置を全体的に上方向に１つずらしながら（ステップ１８０２）、そのエリアに対して共通余白部分であるかの検出処理を行い（ステップ１７０１）、印字可能フラグがゼロ以外になるか上方向の端Ｓｎまでステップ１７０１の範囲内印字位置検出処理を行う。上方向の端Ｓｎまで検出処理が完了し、印字可能フラグがゼロの場合は、検出対象エリアを指定印字位置の位置始点１３０２の画素位置（ａ１，ｂ１）、位置終点１３０３の画素位置（ａ２，ｂ２）に戻し（ステップ１８０３）、今度は下方向に１つずつずらしながら（ステップ１８０５）、共通余白部分であるかの検出処理を行い（ステップ１７０１）、印字可能フラグがゼロ以外になるか下方向の端Ｅｎまでステップ１７０１の範囲内印字位置検出処理を行う。
【００４４】
図１９はステップ１２０６の印字位置自動検出処理、ステップ１７０３の上下方向検出処理（ステップ１７０１）から呼び出される範囲内印字位置検出処理の詳細フローチャートを示す。まず、ステップ１９０１の印字位置空白チェックの入力パラメータであるｍ１、ｎ１に検出対象エリアの位置始点１３０２の画素位置（ｓｍ、ｓｎ）を設定し、ｍ２、ｎ２にその位置終点１３０３の画素位置（ｅｍ，ｅｎ）をそれぞれ設定する（ステップ１９００）。設定した入力パラメータをもとに印字位置空白チェックを行い（ステップ１９０１）、出力された印字可能フラグと検出対象エリアであるページ番号印字位置を返す（ステップ１９０２）。
【００４５】
図２０はステップ１７０１の範囲内印字位置検出処理から呼び出される印字位置空白チェック（ステップ１９０１）の詳細フローチャートを示す。まず、入力パラメータを退避し（ステップ２０００）、印字可能フラグに初期値として印字可能であることを示す１を設定する（ステップ２００１）。検出対象エリアの始点から順に参照中の共通余白検出エリア１１３上のＢＬ（ｉ，ｊ）が文字または罫線であるかの判定を行い（ステップ２００７）、文字または罫線である場合は、入力パラメータのエリアを印字不可とみなし、印字可能フラグにゼロを設定する（ステップ２００８）。同様の処理を検出対象エリアの終点まで行う。最後にステップ２０１１で印字可能フラグを返す。
【符号の説明】
【００４６】
１００  表示装置
１０７  データメモリ
１１２，１１００，１１０３  原稿格納エリア
１１３，１１０６  共通余白検出エリア
１１０８，１１０９  画素位置
１１１０  画素
【図１】
2012048435.tif 000003
【図２】
2012048435.tif 000004
【図３】
2012048435.tif 000005
【図４】
2012048435.tif 000006
【図５】
2012048435.tif 000007
【図６】
2012048435.tif 000008
【図７】
2012048435.tif 000009
【図８】
2012048435.tif 000010
【図９】
2012048435.tif 000011
【図１０】
2012048435.tif 000012
【図１２】
2012048435.tif 000013
【図１３】
2012048435.tif 000014
【図１４】
2012048435.tif 000015
【図１５】
2012048435.tif 000016
【図１６】
2012048435.tif 000017
【図１７】
2012048435.tif 000018
【図１８】
2012048435.tif 000019
【図１９】
2012048435.tif 000020
【図２０】
2012048435.tif 000021
【図１１】
2012048435.tif 000022