(57)【要約】【課題】  所定領域に対してオブジェクトの位置がずれることにより、オブジェクトを追加したユーザーの意図が反映されない可能性がある。【解決手段】  スキャンによって読み取られた原稿の画像データである編集対象の文書にオブジェクトを追加可能な文書編集アプリケーションを実行する情報処理装置であって、オブジェクトと該オブジェクトの追加位置とを対応付けて管理し、前記管理されているオブジェクトのうち前記編集対象の文書に追加するオブジェクトの選択を受け付け、前記選択されたオブジェクトを該オブジェクトの追加位置に追加する。前記選択されたオブジェクトを追加する際に、前記選択されたオブジェクトの一部が所定領域に含まれない場合、前記選択されたオブジェクトの中心と前記所定領域の中心とがより近接するように前記選択されたオブジェクトの前記追加位置を修正する。【選択図】  図８
2019074875.tif 000002
【特許請求の範囲】
【請求項１】
スキャンによって読み取られた原稿の画像データである編集対象の文書にオブジェクトを追加可能な文書編集アプリケーションを実行する情報処理装置であって、
オブジェクトと該オブジェクトの追加位置とを対応付けて管理する管理手段と、
前記管理されているオブジェクトのうち前記編集対象の文書に追加するオブジェクトの選択を受け付ける受け付け手段と、
前記選択されたオブジェクトを該オブジェクトの追加位置に追加する追加手段と、を有する情報処理装置において、
前記追加手段は、前記選択されたオブジェクトを該オブジェクトの追加位置に追加する際に、前記選択されたオブジェクトの一部が前記編集対象の文書の一部の領域である所定領域に含まれない場合、前記選択されたオブジェクトの中心と前記所定領域の中心とがより近接するように前記選択されたオブジェクトの前記追加位置を修正して、前記選択されたオブジェクトを前記編集対象の文書に追加することを特徴とする情報処理装置。
【請求項２】
前記所定領域は、矩形で囲まれる領域であり、
前記追加手段は、前記選択されたオブジェクトの一部が複数の矩形に含まれる場合に、該複数の矩形それぞれに含まれる前記選択されたオブジェクトの領域の割合に基づき前記所定領域を特定し、前記選択されたオブジェクトの中心と該特定された前記所定領域の中心とがより近接するように前記選択されたオブジェクトの前記追加位置を修正して、前記選択されたオブジェクトを前記編集対象の文書に追加することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定領域として特定される矩形の選択を受け付ける第２の受け付け手段を有し、
前記追加手段は、前記選択されたオブジェクトの中心と前記選択された矩形の中心とがより近接するように前記選択されたオブジェクトの前記追加位置を修正して、前記選択されたオブジェクトを前記編集対象の文書に追加することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記管理手段は、前記オブジェクトの追加位置の近辺にある文字列を更に対応付けて管理し、
前記追加手段は、前記選択されたオブジェクトの追加位置の近辺にある文字列に対応する所定領域を特定し、前記選択されたオブジェクトの中心と該特定された前記所定領域の中心とがより近接するように前記選択されたオブジェクトの前記追加位置を修正して、前記選択されたオブジェクトを前記編集対象の文書に追加することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記管理手段は、複数のオブジェクトを１つのグループオブジェクトとして管理することが可能であり、
前記追加手段は、前記グループオブジェクトに含まれる前記複数のオブジェクトそれぞれの中心と複数の所定領域それぞれの中心とがより近接するように、前記複数のオブジェクトそれぞれの前記追加位置を修正して、前記複数のオブジェクトを前記編集対象の文書に追加することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記追加手段は、前記選択されたオブジェクトが前記所定領域に含まれるように前記選択されたオブジェクトの前記追加位置を修正して、前記選択されたオブジェクトを前記編集対象の文書に追加することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記追加手段は、前記選択されたオブジェクトの中心と前記所定領域の中心とが一致するように前記選択されたオブジェクトの前記追加位置を修正して、前記選択されたオブジェクトを前記編集対象の文書に追加することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記追加手段は、前記選択されたオブジェクトの中心と前記所定領域の中心とがより近接するように前記選択されたオブジェクトの大きさおよび角度の少なくともいずれかを修正して、前記選択されたオブジェクトを前記編集対象の文書に追加することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記オブジェクトは、テキスト、スタンプ、図形および画像のうち少なくともいずれかの注釈であることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
スキャンによって読み取られた原稿の画像データである編集対象の文書にオブジェクトを追加可能な文書編集アプリケーションを実行する情報処理装置の制御方法であって、
オブジェクトと該オブジェクトの追加位置とを対応付けて管理する管理工程と、
前記管理されているオブジェクトのうち前記編集対象の文書に追加するオブジェクトの選択を受け付ける受け付け工程と、
前記選択されたオブジェクトを該オブジェクトの追加位置に追加する追加工程と、を有する制御方法において、
前記追加工程では、前記選択されたオブジェクトを該オブジェクトの追加位置に追加する際に、前記選択されたオブジェクトの一部が前記編集対象の文書の一部の領域である所定領域に含まれない場合、前記選択されたオブジェクトの中心と前記所定領域の中心とがより近接するように前記選択されたオブジェクトの前記追加位置が修正されて、前記選択されたオブジェクトが前記編集対象の文書に追加されることを特徴とする制御方法。
【請求項１１】
請求項１乃至９のいずれか１項に記載の手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、編集対象の文書にオブジェクトを追加可能な文書編集アプリケーションを実行する情報処理装置、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
従来から、文書編集アプリケーションにおいて、編集対象の文書に対し、テキストやスタンプなどのオブジェクトを追加することが可能である。さらに、頻繁に利用するオブジェクトはお気に入りに登録しておき、お気に入り一覧から選択することで同一のオブジェクトを文書に追加することが可能である。なお、お気に入り登録されるオブジェクトは追加位置の情報が対応付けられて記憶されている。そのため、お気に入り登録されたオブジェクトを所定フォームの文書に付与する際には、お気に入り登録時のオブジェクトの位置が再現されて、位置を調節する手間が省ける。
【０００３】
特許文献１には、複数枚の原稿に対して済みスタンプを行う際に、済みスタンプの押下による原稿の画情報の消失を防ぐために、空白領域を探索してスタンプ押下の位置補正を自動的に行うことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２８６９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した文書編集アプリケーションでは、スキャンなどで原稿を読み取って得られた画像データを編集対象の文書として扱うことがある。例えば原稿をセットする位置がずれたまま読み取られた画像データが編集対象の文書である場合を考える。ユーザーが選択したお気に入り登録済みのオブジェクトをそのオブジェクトの追加位置に追加すると、編集対象の文書のフォームの所定領域に対してオブジェクトの位置がずれてしまうおそれがある。フォームの所定領域に対してオブジェクトの位置がずれることにより、オブジェクトを追加したユーザーの意図が反映されない可能性がある。
【０００６】
上述した特許文献１は、原稿の空白領域を探索してスタンプ押下の位置補正を行うものであり、スタンプは必ずしも所定領域に収まるように押下されるとは限らない。
【０００７】
そこで本発明は、選択されたオブジェクトを追加する際にオブジェクトの一部が所定領域に含まれない場合、オブジェクトを追加したユーザーの意図がより反映されるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、スキャンによって読み取られた原稿の画像データである編集対象の文書にオブジェクトを追加可能な文書編集アプリケーションを実行する情報処理装置であって、オブジェクトと該オブジェクトの追加位置とを対応付けて管理する管理手段と、前記管理されているオブジェクトのうち前記編集対象の文書に追加するオブジェクトの選択を受け付ける受け付け手段と、前記選択されたオブジェクトを該オブジェクトの追加位置に追加する追加手段と、を有する情報処理装置において、前記追加手段は、前記選択されたオブジェクトを該オブジェクトの追加位置に追加する際に、前記選択されたオブジェクトの一部が前記編集対象の文書の一部の領域である所定領域に含まれない場合、前記選択されたオブジェクトの中心と前記所定領域の中心とがより近接するように前記選択されたオブジェクトの前記追加位置を修正して、前記選択されたオブジェクトを前記編集対象の文書に追加することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、選択されたオブジェクトを追加する際にオブジェクトの一部が所定領域に含まれない場合、オブジェクトを追加したユーザーの意図がより反映されるようになる。
【図面の簡単な説明】
【００１０】
【図１】システムの構成の一例を示す図
【図２】ＰＣのハードウェア構成の一例を示す図
【図３】画像処理装置のハードウェア構成の一例を示す図
【図４】文書編集アプリケーションのソフトウェア構成の一例を示す図
【図５】スキャンで取り込む原稿の一例を示す図
【図６】文書編集アプリケーションの編集画面のＵＩの一例を示す図
【図７】文書編集アプリケーションの編集画面のＵＩの一例を示す図
【図８】注釈の位置を修正する処理のフローの一例を示す図
【図９】属する矩形を判断できない注釈の一例を示す図
【図１０】文字列から注釈の移動先を判断できるときの矩形と文字列の位置関係の一例を示す図
【図１１】注釈登録時に記憶する注釈の構成データの一例を示す図
【図１２】矩形の配置の特徴から注釈の移動先を判断できるときの矩形の配置の一例を示す図
【図１３】矩形の配置の特徴を記憶するために使用する注釈の構成データの一例を示す図
【図１４】注釈の位置を修正する処理のフローの一例を示す図
【図１５】注釈の角度を変更するときの処理の手順を示した図
【図１６】注釈の角度を修正する処理のフローの一例を示す図
【図１７】注釈のサイズを修正する処理のフローの一例を示す図
【図１８】設定ファイルの一例を示す図
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明を実施するための最良の形態を説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
＜第１の実施形態＞
まず、発明の第１の実施形態について説明する。図１において、クライアントＰＣ１０１、ファイルサーバー１０２、画像形成装置１０３は、ネットワーク１１０を介して接続されている。図１において、クライアントＰＣ１０１は、複数台接続されていても構わない。ネットワーク１１０は、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線等のいずれであり、またこれらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワーク１１０は、データの送受信が可能であればよく、有線、無線どちらでも構わない。また、クライアントＰＣ１０１は、情報処理装置であり、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、タブレットＰＣ等、または、プログラムの実行環境が内蔵されたスマートフォンであってもよい。クライアントＰＣ１０１は、図４を用いて後述する文書編集アプリケーションやプリンタードライバー等のプログラムを実行する環境が内蔵されている。ファイルサーバー１０２は文書ファイルを管理し、クライアントＰＣ１０１からネットワーク１１０を通じてアクセス可能である。画像形成装置１０３は、プリンター機能、ＦＡＸ機能、コピー機能、スキャナ機能、ファイル送信機能等を備える。
【００１３】
図２は、本発明の実施形態に係る、クライアントＰＣ１０１として機能するコンピューターのハードウェア構成図である。
【００１４】
図２において、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）２０２は装置全体の制御を行う。ＣＰＵ２０２はハードディスク（ＨＤＤ）２０５に格納されているアプリケーションプログラム、ＯＳ等を実行し、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０４は記憶手段であり、内部には、基本Ｉ／Ｏプログラム等の各種データを記憶する。ＲＡＭ２０３は一時記憶手段であり、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。ＨＤＤ２０５は外部記憶手段の一例であり、大容量メモリとして機能し、後述する文書編集アプリケーションやＷｅｂブラウザー等のアプリケーションプログラム、ＯＳ、関連プログラム等を格納している。また、特定の機能処理を実行する各種のアプリケーションも格納されている。ここで、特定の機能処理とは、文書処理、表計算処理、プレゼンテーション処理、画像処理、図形処理などが含まれ、各アプリケーションはそれぞれ独自のデータ構造（ファイル構造）を備える。さらに、ＯＳは、各ファイルの識別子を参照して対応するアプリケーションに印刷指示や、ＦＡＸ送信指示を行える構成となっている。ディスプレイ２０６は表示手段であり、キーボード／マウス２０７から入力されたコマンド等を表示したりするものである。インターフェース２０８は外部装置Ｉ／Ｆであり、プリンター、ＵＳＢ機器、周辺機器を接続する。キーボード／マウス２０７は指示入力手段である。システムバス２０１は、装置内におけるデータの流れを司るものである。ＮＩＣ（ネットワークインターフェースカード）２０９は、ネットワーク１１０を介して外部装置とのデータのやり取りを行う。
【００１５】
なお、上記コンピューターの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ２０４、ＲＡＭ２０３、ＨＤＤ２０５などで変更することも可能である。本実施形態中で特に明記しない場合は、各種処理はＲＯＭ２０４等に記憶されているプログラムをＲＡＭ２０３等にロードし、ＣＰＵ２０２で実行することによって実現されるものとする。
【００１６】
図３は、図１に示した画像形成装置１０３内のハードウェア構成を説明するブロック図である。なお、本実施形態における画像形成装置１０３として、スキャナ機能、プリンター機能、およびＦＡＸ機能を有する複合機（ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ））を例に挙げて説明する。
【００１７】
図３において、３０１はＩ／Ｏで、ネットワーク（ＬＡＮ）１０４などの通信媒介を介してクライアントＰＣ１０１と接続している。Ｉ／Ｏ３０１は複数の接続形態に対応するために複数個搭載されていてもよい。Ｉ／Ｏ３０１を介して、画像形成装置１０３は、デバイスＩＤやスキャンイメージをクライアントＰＣ１０１に送信する。また、画像形成装置１０３は、Ｉ／Ｏ３０１を介して、クライアントＰＣ１０１より各種の制御コマンドを受けて処理を行う。Ｉ／Ｆ制御部３０２は、画像形成装置１０３に搭載されているスキャナ（不図示）やプリンタ（不図示）やまたはＦＡＸ（不図示）などの処理系に関してデバイスＩＤを発行する制御をおこなっている。ＲＡＭ３０３は一次記憶装置であり、Ｉ／Ｏ３０１で取得した制御コマンドなどの外部データや、スキャナエンジン３１３で読み取られたイメージを格納するに使用される。さらに、ＲＡＭ３０３は、プリンタコントローラ３１０で展開されたイメージデータの一時的な格納などにも使用される。ＲＡＭ制御部３０４は、ＲＡＭ３０３の割り当て管理を行っている。画像データ調歩回路３０５は、プリンタコントローラ３１０やスキャナエンジン３１３によって取り込まれたＲＡＭ制御部３０４に展開されたイメージをプリンタエンジン３０６の回転にあわせて出力する装置である。プリンタエンジン３０６は、紙などの出力メディアにイメージを現像する装置である。
【００１８】
メインコントローラ３０８は、エンジンＩ／Ｆ３０７によりプリンタエンジン３０６の各種制御を行う。また、メインコントローラ３０８は、制御の主要なモジュールであり、スキャナコントローラ３０９やプリンタコントローラ３１０やファクスコントローラ３１１にＩ／Ｏ３０１経由でクライアントＰＣ１０１より受け取る制御言語の適切な振り分け処理を行う。さらに、メインコントローラ３０８は、それぞれのコントローラやＵＩ（ユーザーインターフェース）３１２からの指示に基づきプリンタエンジン３０６やスキャナエンジン３１３の制御を行う。メインコントローラ３０８と各種コントローラの間の制御インターフェースを統一することにより、一つの周辺機器に複数種類の制御コマンドを処理可能な拡張ボードが搭載可能になる。また、メインコントローラ３０８は、画像形成装置１０３に搭載されている拡張コントローラのデバイスＩＤを各コントローラより取得し管理する。スキャナコントローラ３０９は、クライアントＰＣ１０１より受けたスキャン制御コマンドをメインコントローラ３０８が解釈可能な内部実行命令に分解する。またスキャナエンジン３１３で読み取ったイメージをスキャン制御コマンドに変更する。プリンタコントローラ３１０はクライアントＰＣ１０１より受けたページ記述言語をメインコントローラ３０８が解釈可能なページ記述言語の展開イメージなどを含む内部実行命令に分解する。展開イメージはプリンタエンジンまで運ばれ、用紙などの出力メディアに印刷される。
【００１９】
ファクスコントローラ３１１は、クライアントＰＣ１０１より受けたＦＡＸ制御言語をイメージに展開し、不図示の公衆回線又はインターネットを介して他のＦＡＸ装置やＩＰ−ＦＡＸへ転送する。ＵＩ３１２は、メインコントローラ３０８の各種設定や、スキャナ機能やプリンター機能やＦＡＸ機能を画像形成装置１０３で実行する際に、ユーザーによる指示の入出力手段として使用される。スキャナエンジン３１３はメインコントローラ３０８の指示により光学装置を用いて印刷されたイメージを読み取り、電気信号に変換してメインコントローラ３０８に受け渡す。
【００２０】
図４は、クライアントＰＣ１０１が有する文書編集アプリケーション４０１の機能構成の一例を示す図である。文書編集アプリケーション４０１は、ＨＤＤ２０５に記憶されており、アプリケーション実行指示を受けるとＲＡＭ２０３及びＲＯＭ２０４に展開され、ＣＰＵ２０２にて計算処理を行って動作する。文書編集アプリケーション４０１は、文書データを構成する各ページへ注釈を追加可能なアプリケーションである。ここで、注釈には、テキスト、印影や日付などのスタンプ、円や四角形などの図形、画像などがある。本実施例でオブジェクトとは、これらの注釈の総称を指すものとする。また、文書編集アプリケーション４０１は、文書データに対する印刷設定や文書構造の設定も可能である。文書編集アプリケーション４０１は、ＵＩ部４０２、入力管理部４０３、データ編集部４０４、注釈管理部４０５、画像解析部４０６、データ解析部４０７、スキャン実行部４０８を有する。
【００２１】
ＵＩ部４０２は各種ユーザーインターフェースの表示処理を担う。入力管理部４０３はユーザーからの各種入力操作を受け付ける処理を担う。データ編集部４０４はクライアントＰＣ１０１からアクセス可能な保存領域（例えばＨＤＤ２０５）に格納された文書データのファイルＩ／Ｏ処理及び各種変種処理を担う。注釈管理部４０５は、文書のページに対して追加した注釈をお気に入りとして登録した際の登録情報の管理を担う。ここでの登録情報として、注釈とその注釈の追加位置とが対応付けて管理されている。お気に入り登録されている注釈のうちユーザーが選択した注釈を、編集対象の文書中の表示されているページに対して、登録されている追加位置に追加することができる。画像解析部４０６は、文書に描画されている画情報の特徴の解析や文字情報を認識するＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）という公知技術を用い文書の解析処理を担う。
【００２２】
データ解析部４０７は、注釈管理部４０５や画像解析部４０６から取得した座標やサイズなどの値の解析処理を担う。スキャン実行部４０８は、スキャンドライバー４０９を介して画像形成装置１０３へスキャン実行指示を行う処理を担う。具体的には、画像形成装置１０３にセットされている原稿のスキャンを行い、読み込んだ原稿情報をＵＩ部４０２に表示する処理となる。スキャンドライバー４０９は、スキャン実行部４０８からのスキャン実行指示を受け、画像形成装置１０３にセットされている原稿の読み込みを行い文書データに変換する処理を担う。
【００２３】
図５は画像形成装置１０３で読み取られる原稿の一例を示す図である。５００は、画像形成装置１０３にセットされ、スキャンによって読み取られる申請書の原稿を示す。文書編集アプリケーション４０１のスキャン実行部４０８がスキャン実行指示を送ることで文書データに変換され、ディスプレイ２０６に表示することが可能となる。５０１は承認者が承認印を押すために設けられた矩形である。５０２は担当者が印鑑を押すために設けられた矩形で既に担当者によって印鑑が押された状態である。５０３は担当者記入欄で既に担当者によって、担当者の氏名、住所、携帯番号が書き込まれた状態である。５０４は承認者記入欄で承認者の情報を書き込むために設けられている。５０５は氏名欄で承認者の氏名を記入するための欄である。５０６は住所欄で承認者の郵便番号と住所を記入するための欄である。住所欄５０６の中の７個の矩形内に郵便番号が１桁ずつ入力される。５０７は携帯番号欄で承認者の携帯番号を記入するための欄である。携帯番号は携帯番号欄５０７の中の１１個の矩形内に１桁ずつ入力する。
【００２４】
図６は文書編集アプリケーションのＵＩの一例を示している。６００は文書編集アプリケーション４０１のメイン画面である。メイン画面６００は主なＵＩコンポーネントとして、リボン６０１、クイックアクセスツールバー６１２、エディットペイン６２０を含む。リボン６０１は、用途ごとに分類される複数のタブから構成され、タブにはその用途に適する機能のボタンなどのコントロールを配置できる。これにより、すばやくユーザーの望む機能へアクセスできる。１つのタブは複数のグループで構成でき、１つのグループには複数のコントロールを配置できる。タブやグループはアプリケーションの既定として予め用意されているものが存在し、さらにユーザーの好みの構成で作成したタブやグループも追加できる。図６では、文書編集アプリケーション４０１のメイン画面６００のリボン構成が、既定のタブである“印刷設定”、“注釈”タブで構成される例を示している。また、タブ以外に“ファイル”と書かれたファイルメニュー６０２があり、ファイルメニュー６０２を選択するとファイルの保存や印刷、スキャン、システム設定等を行うための機能が表示される。
【００２５】
図６では、“注釈”タブが選択されており、“注釈”タブの既定グループが“お気に入り”、“オブジェクト”、“スタンプ”の各グループを含む状態を示している。注釈をお気に入りとして登録、使用するためのコントロールが集められた“お気に入り”グループには、登録ボタン６０３、お気に入りリスト６０４が含まれる。登録ボタン６０３はエディットペイン６２０に表示されている注釈を選択し、お気に入りに登録することができる。お気に入りに登録された注釈は、お気に入りリスト６０４に表示される。お気に入りに追加された注釈の情報は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の設定ファイルとしてＨＤＤ２０５に保存される。
【００２６】
ここで、図１８は、設定ファイルの一例を示す図である。次に文書編集アプリケーション４０１が起動される際に、文書編集アプリケーション４０１が設定ファイル１８００を読み込むことで、登録した注釈を復元することが可能である。起動時に読み込まれた設定ファイル１８００の内容は、ＲＡＭ２０３で保持されて利用される。設定ファイル１８００の保存形式は一般的なテキスト形式の保存でも良く特にＸＭＬに限定されるものではない。設定ファイル１８００には、登録されている注釈のＩＤのリストや、登録されている各注釈のＩＤや座標、サイズ、文字列、フォント、フォントサイズなどの、注釈を構成するために必要な情報が記載されている。
【００２７】
図６の説明に戻る。お気に入りリスト６０４はお気に入り登録した注釈が表示される。６０５〜６０７はお気に入りに登録された注釈である。テキストなどの注釈を入力するためのコントロールが集められた“オブジェクト”グループには、テキストボタン６０８、テキストボックスボタン６０９がある。これらは文書に対してテキスト、テキストボックスを追加することができる。なお、図示していないが、丸や四角形などの図形を配置するためのコントロールが“オブジェクト”グループに含まれていても良い。電子印鑑を入力するためのコントロールが集められた“スタンプ”グループにはスタンプ６１０と日付スタンプ６１１がある。スタンプ６１０は文書に対して文字列の書かれたスタンプを押すことができる。日付スタンプ６１１は文書に現在時刻が記載されたスタンプを押すことができる。
【００２８】
クイックアクセスツールバー６１２は、タブやグループによる分類はないが機能のボタンなどのコントロールを配置でき、リボン６０１同様ユーザーの望む機能へすばやくアクセスできる。よく利用する機能を配置しておくことでアプリケーションを使用する上での操作性を向上できる。クイックアクセスツールバー６１２は、図６においては文書を開く６１３及び文書を保存する６１４の機能を持つコントロールが配置されている。エディットペイン６２０には編集中の文書が表示されている。図６においては、図５の原稿をスキャン実行によって取り込んだ文書が表示されている。
【００２９】
６１５は、スタンプ６１０を実行することで承認者用の矩形５０１内に追加された承認者の名前の電子印鑑である。６１６は、テキストボタン６０８を実行することで氏名欄５０５内に追加された承認者の名前のテキスト注釈である。６１７は、テキストボタン６０８を実行することで、住所欄５０６の郵便番号を入力するための各矩形内に追加された７個のテキスト注釈グループである。６１８は、テキストボタン６０８を実行することで、住所欄５０６内に追加された承認者の住所のテキスト注釈である。６１９はテキストボタン６０８を実行し、携帯番号欄５０７の各矩形内に追加した１１個のテキスト注釈グループである。６１５〜６１９の各注釈が選択状態である際に登録ボタン６０３を実行することで、お気に入りリスト６０４に追加することが可能である。６１５〜６１７がお気に入り登録されると、６０５〜６０７に表示されるようになる。なお、６１８、６１９はお気に入りリスト６０４をスクロールすることで表示される。
【００３０】
図７は、文書編集アプリケーションのユーザーインターフェースの一例を示している。７００では、スキャンの際の原稿５００のセット位置が少しずれて読み取られた原稿５００の画像データが編集対象の文書となっている。図６でお気に入りに登録した６１５〜６１９をお気に入りリスト６０４から選択して文書に注釈を付与した際に、電子印鑑６１５は承認者用の矩形５０１に収まりきらず、矩形５０１および担当者用の矩形５０２の一部に被ってしまっている。また、郵便番号の注釈６１７、携帯番号の注釈６１９についても同様に矩形に収まらず、はみ出している。
【００３１】
図８は、注釈の位置を修正する処理に係るフローチャートの一例を示す図である。図８で示す処理は、図７で示すように注釈の一部が矩形に含まれない場合に、注釈の中心と矩形の中心とがより近接するように、注釈の位置調整を行うための処理である。図８で示す処理は、お気に入りリスト６０４の注釈が選択されることで開始される。なお、図８で示す処理を行うためには、文書編集アプリケーションの設定において注釈の自動位置調整をユーザーが許可していることを前提とする。さらに、登録ボタン６０３で登録した注釈が登録時には矩形内に位置していることとしてもよい。注釈の自動位置調整の許可は、例えばファイルメニュー６０２のシステム設定からユーザーは変更することが可能である。登録時に矩形内に位置していたかの判断は、注釈をお気に入りに登録するときに画像解析部４０６で、文書データの解析を行い検出した矩形内に、注釈の外接矩形の中心が含まれるかを判定し、結果をＲＯＭ２０４またはＨＤＤ２０５に記憶する。また、その結果を注釈の構成データとして設定ファイル１８００に保存する。外接矩形とは、注釈を囲むことができる最も小さい長方形のことである。注釈の外接矩形の中心座標が（Ｘ、Ｙ）、文書データの矩形の頂点の座標が（Ｘ１、Ｙ１）、（Ｘ２、Ｙ１）、（Ｘ１、Ｙ２）、（Ｘ２、Ｙ２）で、Ｘ１よりＸ２の値が大きく、Ｙ１よりＹ２の値が大きいものとする。このとき以下の条件を満たす場合、文書データの矩形内に注釈の外接矩形の中心が含まれるといえる。
Ｘ１  ＜＝  Ｘ  ＜＝  Ｘ２  ＡＮＤ  Ｙ１  ＜＝  Ｙ  ＜＝  Ｙ２
【００３２】
Ｓ８０１で、入力管理部４０３は、ＵＩ部４０２に表示されたお気に入り登録されている注釈のいずれかの選択を受け付けて、注釈管理部４０５に通知する。お気に入り登録されている注釈とは、お気に入りリスト６０４に含まれる注釈である。Ｓ８０２で、注釈管理部４０５は、Ｓ８０１で選択された注釈に該当する構成データをＲＯＭ２０４から読み込み、座標とサイズを取得する。Ｓ８０３で、画像解析部４０６は、追加された注釈の領域を解析し、注釈の領域と重なる矩形を検出している。つまり、画像解析部４０６は、選択された注釈を追加位置に追加した際に、選択された注釈が所定領域に収まるかどうかを判定している。ここでの所定領域とは、編集対象の文書の一部の領域であり、入力欄として用意されている矩形などで示される領域を指す。画像解析部４０６は文書データの注釈の領域内を走査して、注釈の構成要素ではない、一定の長さ以上の画素の並びがある場合、注釈の領域内に直線があると判断し、その直線の延長線上で角度を変えており矩形を成しているとき注釈と重なる矩形だと判断する。
【００３３】
Ｓ８０４で、データ解析部４０７は、Ｓ８０３で注釈と重なると判断された矩形の座標とサイズ情報を画像解析部４０６から受け取り、注釈の属する矩形の候補を管理するための矩形候補リストに追加する。矩形候補リストはＲＡＭ２０３に保持される。注釈と重なる矩形が存在した場合はＳ８０５の処理に移行し、存在しなかった場合は処理を終了する。Ｓ８０５で、データ解析部４０７は、Ｓ８０５で重なると判断された矩形の数をカウントしている。Ｓ８０５で、注釈と重なる矩形の数（矩形候補リストの要素数）をＮとし、Ｎが０より大きい場合はＳ８０６の処理に移行し、Ｎが０以下の場合はＳ８０８の処理に移行する。
【００３４】
Ｓ８０６で、データ解析部４０７は、矩形候補リストのＮ’番目（Ｎ’＝矩形候補リストの要素数−Ｎ＋１）に含まれる矩形と注釈の重なっている部分の面積を計算する。例えば、注釈の中心座標が（ｘ、ｙ）、幅がｗ、高さがｈで、矩形の中心座標が（ｘ’、ｙ’）、幅がｗ’、高さがｈ’であるとき以下の計算式で面積を求めることができる。このとき注釈と矩形の領域は、それぞれの外接矩形を領域とみなして計算している。
（（ｗ＋ｗ’）／２  −  ｜ｘ−ｘ’｜）×（（ｈ＋ｈ’）／２  −  ｜ｙ−ｙ’｜）
【００３５】
Ｓ８０７で、データ解析部４０７は、Ｎから１を引き、Ｓ８０５へ戻る。
【００３６】
Ｓ８０８で、データ解析部４０７は、Ｓ８０６で求めた各面積の大きさ（占有率）から、矩形候補リストを占有率が高い順にソートする。Ｓ８０９はデータ解析部４０７がＳ８０８でソートされた矩形候補リストから１番目の要素（注釈を最も多く含む矩形）を選択する。
【００３７】
Ｓ８１０で、データ解析部は、Ｓ８０９で選択された矩形の中に文字列が含まれているかを画像解析部４０６に判定するよう指示している。矩形の中に含まれている文字列とは、例えば、承認者用の矩形５０１内の「承認者」の文字列のことである。文字列を含んでいると判定された場合はＳ８１１の処理に移行し、含んでいないと判定された場合はＳ８１２の処理に移行する。
【００３８】
Ｓ８１１は画像解析部４０６がＳ８０９で選択した矩形内に含まれる文字列の外接矩形を求め、選択した矩形から文字列の外接矩形の領域を取り除き、何も書かれていない空白部分だけを矩形と見做し、再度矩形の中心座標を求める。例えば、Ｓ８０９で選択した矩形の頂点の座標が（０，０）、（０，５）、（５，０）、（５，５）、文字列の外接矩形の頂点の座標が（１，０）、（１，１）、（４，０）、（４，１）とする。この時、選択した矩形内で作成できる矩形は、（０，５）、（０，１）、（５，１）、（５，５）と、（０，０）、（０，５）、（１，０）、（１，５）と、（４，０）、（４，５）、（５，０）、（５，５）との３パターンである。そのうちの１番大きい矩形である１つ目を対象の矩形とする。
【００３９】
Ｓ８１２で、データ編集部４０４は、注釈の位置を注釈の中心と矩形の中心とが一致するように注釈の追加位置を修正している。ここで、データ編集部４０４は、ＵＩ部４０２に変更情報を反映し、注釈の中心と矩形の中心が重なるように注釈の表示位置を移動させ、注釈の位置修正処理を終了する。なお、Ｓ８１２で、データ編集部４０４は、注釈のすべてが矩形内に含まれるように注釈の追加位置を修正しても良い。また、Ｓ８１２で、データ編集部４０４は、注釈の中心と矩形の中心とがより近接するように注釈の追加位置を修正しても良い。
【００４０】
図８で示す処理により、スキャン実行時に画像形成装置１０３にセットした原稿５００がずれて、７００のように注釈が矩形からはみ出してしまう場合でも、注釈を追加したユーザーの意図がより反映されるように注釈を移動させることができる。したがって、スキャンした文書に注釈を追加する際に、注釈の位置をユーザーが調整する手間を省くことができる。
【００４１】
＜第２の実施形態＞
第１の実施形態では、Ｓ８０４で注釈に重なる矩形を検出し、重なる矩形が複数ある場合は、Ｓ８０９で選択した矩形の中心が注釈を本来配置したかった位置であると判断し、注釈を矩形の中心まで移動させている。この方法は、注釈の領域を１番多く含む矩形に着目しているため、注釈を１番に多く含む矩形と２番目に多く含む矩形がほとんど同じだった場合でも、注釈を１番多く含む矩形を選択してしまう。しかしこの場合、注釈を２番目に多く含む矩形に本来配置されていた可能性などもあり、必ずしも正しい位置に移動されないことが考えられる。
【００４２】
本実施形態では、矩形に含まれる注釈の領域以外の、矩形の位置を判断するための基準を説明する。本実施形態は、本来配置されていた矩形が明確に決まらない場合に正しい位置に注釈を移動させるようにするもので、図９〜図１４を用いて、注釈が本来配置されていた位置を推測する方法についての例を説明する。なお、特に明示していない構成及び処理は、第１の実施形態と同じものとする。
【００４３】
図９は注釈の本来の位置を予測できない場合の一例を示す図である。第１の実施形態では、注釈を１番多く含んでいる矩形の中心に移動させているが、１番と２番の割合が同じまたはほぼ同じである場合（例えば差が１０％以内のとき）は予測不能とし、移動させないようにする。以下は予測不能と判断される３つの例である。矩形９０１、９０２の上に注釈９０３が追加されている。このとき注釈９０３の５０％は矩形９０１上にあり、残りの５０％は矩形９０２上にあり、矩形９０１と矩形９０２のどちらの中心へ注釈９０３を動かすべきであるか判断できない。また、矩形９０４、９０５の上に注釈９０６が追加されている。このとき注釈９０６の１５％は矩形９０４上にあり、１５％は矩形９０５上にあり、矩形９０４と矩形９０５のどちらの中心へ注釈９０３を動かすべきか判断できない。さらに、矩形９０７、９０８、９０９の上に注釈９１０が追加されている。このとき注釈９１０の２２％は矩形９０７上にあり、２８％は矩形９０８上にあり、２８％は矩形９０９上にあり、矩形９０７と矩形９０８と矩形９０９のどの中心へ注釈９１０を動かすべきか判断できない。
【００４４】
図１０は注釈の移動先となる矩形を判断するときに文字列の位置を利用できる場合の一例を示した図である。注釈１００３、１００７、１０１１、１０１４は、登録ボタン６０３が押下されてお気に入りに登録される際に、矩形に対する注釈の正しい位置を予測するために使用する情報を記憶する。位置を予測するための情報は後述する図１１で説明する。注釈１００３は、「承認者」１００２と書き込まれている矩形１００１の中に追加されている。注釈１００７は、「承認者」１００５と書き込まれている矩形１００４の下に存在する矩形１００６の中に追加されている。注釈１０１１は、「氏名」１００８と書き込まれている矩形１００８の右に存在する矩形１０１０の中に追加されている。注釈１０１４は、「氏名：」１０１３と書き込まれている矩形１０１２の中に追加されている。
【００４５】
図１１は注釈登録時に記憶される注釈の構成データの一例である。１１０１は注釈をお気に入りに登録したときに記憶しておくデータのテーブルである。文書編集アプリケーションの起動中は、データテーブル１１０１はＲＡＭ２０３で保持され、注釈登録時や、お気に入り注釈の内容変更時に更新される。またデータテーブル１１０１の内容はＸＭＬ形式の設定ファイルとしてＲＯＭ２０４またはＨＤＤ２０５に保存され、起動時に読み込みお気に入りリスト６０４を復元する際に用いられる。１８００は第１の実施形態で登録ボタン６０３を実行したときに保存される注釈を構成するための情報を表すカラムである。
【００４６】
１１０２〜１１０４は本実施形態で追加された注釈の位置を修正するために用いられる情報を表すカラムである。１１０２は注釈を追加すべき位置の近辺にある文字列を表す。近辺文字列１１０２は、注釈登録時に注釈周辺に対してＯＣＲを行うことで取得している。相対位置１１０３は、近辺文字列１１０２から見て、どの位置の矩形に注釈が追加されたかを表している。相対位置１１０３は、画像解析部４０６が注釈の属する矩形と近辺文字列１１０２の位置関係を解析し、決定している。文字の配置１１０４は、追加した注釈が矩形内にどのように配置されているかを表す。文字の配置１１０４は縦方向に上揃え、上下中央揃え、下揃え、横方向に左揃え、中央揃え、右揃えなどを注釈登録時の矩形に対する位置から判断し、登録される。
【００４７】
注釈１００３の近辺文字列１１０２は注釈上部の「承認者」１００２となり、近辺文字列からの相対位置１１０３は文字列と同じ矩形１００１の文字列１００２より下となり、文字の配置１１０４は矩形（矩形から文字列の領域を除いた空白部分）の中心となる。注釈１００７の近辺文字列１１０２は、注釈上部の矩形１００４内部の「承認者」１００５となり、近辺文字列からの相対位置１１０３は文字列１００５の属する矩形１００４より下の矩形１００６となり、文字の配置１１０４は矩形の中心となる。注釈１０１１の近辺文字列１１０２は注釈上部の矩形１００８内部の「氏名」１００９となり、近辺文字列からの相対位置１１０３は文字列１００９の属する矩形１００８より右の矩形１０１０となり、文字の配置１１０４は矩形の中心となる。注釈１０１４の近辺文字列１１０２は注釈の左の「氏名：」１０１３となり、近辺文字列からの相対位置１１０３は文字列と同じ矩形１０１２の文字列１０１３より右となり、文字の配置１１０４は矩形（矩形から文字列の領域を除いた空白部分）の左側となる。
【００４８】
データテーブル１１０１の１１０２〜１１０４の内容は注釈登録時に自動で判定し、入力されるためＯＣＲ技術や画像解析技術の精度によっては間違った結果が入力される可能性がある。そのためお気に入り登録後、お気に入りリスト６０４から対象の注釈のコンテキストメニューなどから１１０２〜１１０４の内容を編集可能とする。
【００４９】
図１２は注釈の移動先となる矩形を判断するときに対象となる矩形の配置を利用できる場合の一例を示した図である。注釈１２０８〜１２１４、１２２１〜１２２３は登録ボタン６０３でお気に入りに登録するときに正しい矩形の位置を予測するために使用する情報を記憶する。位置を予測するための情報は後述する図１３を用いて説明する。１２０１〜１２０７は原稿に書き込まれている矩形を表している。注釈１２０８〜１２１４はそれぞれテキストオブジェクトであり、横に７個並んだ矩形１２０１〜１２０７の中に注釈１２０８〜１２１４が追加されている。注釈１２０８〜１２１４をすべて選択した状態で登録ボタン６０３を実行すると、注釈１２０８〜１２１４は、複数の注釈をグループ化して１つのグループオブジェクトとして扱い、お気に入りリスト６０４に１つの項目として登録される。
【００５０】
１２１５〜１２２０は、原稿内に記される矩形を表している。氏名と書き込まれた矩形１２１５、社名と書き込まれた矩形１２１６、部名と書き込まれた矩形１２１７が縦に並んでおり、その横に矩形１２１８、１２１９、１２２０が並んでいる。注釈１２２１〜１２２３はそれぞれテキストオブジェクトであり、縦に３個並んだ矩形１２１８〜１２２０の中に注釈１２２１〜１２２３が追加されている。注釈１２２１〜１２２３をすべて選択した状態で登録ボタン６０３を実行すると、注釈１２２１〜１２２３はグループ化され、お気に入りリスト６０４に１つの項目として登録される。
【００５１】
図１３は注釈登録時に記憶する注釈の構成データの一例である。１３００は注釈をお気に入りに登録したときに記憶しておくデータテーブル１１０１に追加するカラムを表している。１３０１は複数の注釈をまとめてお気に入りに登録したときに記憶される情報で、複数の注釈がどのように並んでいるかを記憶する。１３０２は注釈の並び１３０１の並び方で注釈がいくつ並んでいるかを表している。注釈１２０８〜１２１４の注釈の並び１３０１は横向きで個数１３０２は７であるため、注釈追加時に近辺に７個横向きに並んでいる矩形を探すことで位置の補正を行う。注釈１２２１〜１２２３の注釈の並び１３０１は縦向きで個数１３０２は３であるため、注釈追加時に近辺に３個縦向きに並んでいる矩形を探すことで位置の補正を行う。
【００５２】
図１４は注釈の位置を修正する処理に係るフローチャートの一例を示す図である。図１４で示す処理は、図８のＳ８０２とＳ８０３の間に判定処理（Ｓ１４０１、Ｓ１４０２）が追加され、Ｓ８０９がＳ１４０９の判定処理に変更されている。さらに、図１４で示す処理は、Ｓ８１２で中心に移動していた処理がＳ１４１５のように文書の配置に合わせた場所へ移動する処理へと変更されている。
【００５３】
Ｓ１４０１で、注釈管理部４０５は、ＲＡＭ２０３で保持されているデータテーブル１１０１から注釈に対応する近辺文字列１１０２、近辺文字列からの相対位置１１０３に値が入っているかを確認している。値が入っていない場合はＳ１４０２の判定に移行し、値が入っている場合はＳ１４０３の処理に移行する。
【００５４】
Ｓ１４０３で、データ解析部４０７は、画像解析部４０６を介し、Ｓ８０２で取得した座標周辺の文字列をＯＣＲ技術によって解析し、近辺文字列１１０２と一致する文字列を検出する。
【００５５】
Ｓ１４０４で、データ解析部４０７は、Ｓ１４０３で画像解析部４０６が行った文字列の検出結果を確認する。文字列を検出できた場合はＳ１４０５の処理に移行し、検出できなかった場合はＳ１４０２の判定に移行する。
【００５６】
Ｓ１４０５で、データ解析部４０７は、画像解析部を介し、Ｓ１４０３で検出した文字列に対応する矩形を特定する。より具体的には、データ解析部４０７は、Ｓ１４０３で検出した文字列の座標からの相対位置１１０３に存在する矩形を検出する。検出方法はＳ８０３同様、対象領域を走査して、一定の長さ以上の画素の並びを探すことで矩形を検出する。
【００５７】
Ｓ１４０６で、データ解析部４０７は、Ｓ１４０５で画像解析部４０６が行った矩形の検出結果を確認する。矩形を検出できた場合はＳ１４１３の処理に移行し、検出できなかった場合はＳ１４０２の判定に移行する。
【００５８】
Ｓ１４０２で、注釈管理部４０５は、ＲＡＭ２０３で保持されているデータテーブル１１０１から注釈に対応する注釈の並び１３０１、個数１３０２に値が入っているかを確認する。値が入っていなかった場合はＳ８０３の判定に移行し、値が入っていた場合はＳ１４０７の処理に移行する。
【００５９】
Ｓ１４０７で、データ解析部４０７は、画像解析部４０６を介し、注釈の並び１３０１の並び方で個数１３０２と同じ個数並んでいる矩形を検出する。注釈の並びが正しいかの判定は各矩形の中心座標で行い、縦の場合は各中心座標のＸ座標が、横の場合は各中心座標のＹ座標が大きく違わないか（１０ピクセル以下など）で判定する。
【００６０】
Ｓ１４０８で、データ解析部４０７は、Ｓ１４０７で画像解析部４０６が行った矩形の検出結果を確認する。個数１３０２に応じた個数の矩形を検出できた場合はＳ１４１７の判定に移行し、検出できなかった場合はＳ８０３に移行する。
【００６１】
Ｓ８０３〜Ｓ８０８は第１の実施形態で説明した注釈に被っている矩形の重なる面積を求める処理を行っており、求めた面積が大きかった矩形に対してＳ１４０９の判定を行う。
【００６２】
Ｓ１４０９で、データ解析部４０７は、Ｓ８０８で面積が大きい順にソートされた矩形候補リストから１番目と２番目の要素から面積ではなく矩形の注釈を含む割合の比較を行う。図９のように、１番と２番の割合が同じまたはほぼ同じ場合（例えば差が１０％以内のとき）は注釈の移動先の予測は不可能と判定しＳ１４１０の処理に移行し、１番と２番の割合に十分差がある場合はＳ１４１３の処理に移行する。
【００６３】
Ｓ１４１３で、データ解析部４０７は、注釈を移動させる対象となる矩形を決定する。Ｓ１４０６から移行してきた場合はＳ１４０５で検出した矩形を対象の矩形とし、Ｓ１４０９から移行してきた場合は注釈を１番多く含む矩形を対象の矩形とする。
【００６４】
Ｓ１４１７で、データ解析部４０７は、Ｓ１４０７で検出した矩形すべてに対してＳ８１０、Ｓ１４１４、Ｓ１４１５、Ｓ１４１６の処理を行うために、処理を行っていない矩形数を管理する。すべての矩形に対して処理を行うまでＳ８１０の処理へ移行し、すべての矩形が完了すると注釈の位置修正処理を終了する。データ解析部４０７は１つの矩形についての処理が終わるたびＳ１４１８で矩形のカウントを１つ下げる。これにより、グループ注釈に含まれる複数の注釈が複数の矩形に収まるように、複数の注釈の追加位置をそれぞれ修正して追加することができる。
【００６５】
Ｓ１４１４で、画像解析部は、Ｓ８１１同様、矩形から矩形内に含まれていた文字列の領域を取り除き、何も書かれていない空白部分だけを矩形と見做し、対象の矩形とする。
【００６６】
Ｓ１４１５で、データ解析部４０７は、注釈管理部４０５を介し、文字の配置１１０４を取得し、矩形内の移動先の座標を求める。上揃えのときは注釈と矩形の上部、下揃えのときは注釈と矩形の下部、左揃えのときは注釈と矩形の左側、右揃えのときは注釈と矩形の右側が重なる位置の座標が移動先となる。このときの注釈の座標とサイズは注釈の外接矩形を用いている。
【００６７】
Ｓ１４１６で、データ編集部４０４は、注釈の位置がＳ１４１５で求めた座標と一致するように座標を変更する。このときＵＩ部４０２に変更情報を反映し、注釈の矩形内での配置が文字の配置１１０４で指定した通りになるよう注釈の表示位置を移動させ、注釈の位置修正処理を終了する。
【００６８】
Ｓ１４１０で、データ解析部４０７は、移動先の矩形の予測ができないと判断し、ＵＩ部４０２に表示されている注釈にマウスカーソルを当てマウスアイコンを移動中の状態にし、入力管理部４０３が注釈の位置の移動を受け付けられる状態にする。これにより、注釈の移動先にある矩形が選択されたものとみなす。また、注釈をユーザーが移動させるのではなく、入力管理部４０３が、移動先の矩形の選択を受け付けるようにしてもよい。
【００６９】
Ｓ１４１１で、入力管理部４０３は、ユーザーのマウスやキー操作を受け付けており、ユーザー操作に合わせて注釈の位置を動かし、ＵＩ部４０２の表示を更新する。
【００７０】
Ｓ１４１２で、入力管理部４０３は、ユーザーの操作で位置の確定が行われたかを確認している。位置が確定されていない場合はＳ１４１１に移行し、確定された場合はデータ編集部４０４が文書の注釈の座標を更新し、注釈の位置修正処理を終了する。
【００７１】
これにより、図１０や図１２のように文字列や注釈の並び方に特徴がある場合、登録時に位置を決定するために必要な情報を保存し、位置の予測が可能となった。また、図９のように予測が不可能な場合はＳ１４１０のように注釈の位置を移動できる状態にすることで、間違った位置へ自動で移動されずに手動で正しい位置へ配置することが可能となった。
【００７２】
＜第３の実施形態＞
第１の実施形態と第２の実施形態では、Ｓ８１２、Ｓ１４１６の処理で注釈の位置を調整することで注釈を矩形に収めていた。しかし、画像形成装置１０３にセットした原稿が傾いているため矩形が傾いていた場合や、矩形の位置に追加した注釈が矩形より大きかった場合は、矩形の位置に注釈を移動しても矩形内に注釈が収まらないことがある。本実施形態は、注釈の位置を移動しても矩形内に注釈が収まらない場合に、注釈の補正を行うものであって、図１５、１６を用いて、矩形が傾いていた場合に、注釈の傾きを矩形の傾きに合わせる処理についての例を説明する。また、図１７を用いて、注釈の位置を調整しても注釈が矩形内に収まらない場合に、注釈を縮小する処理についての例を説明する。なお、特に明示していない構成及び処理は、すべて第１の実施形態や第２実施形態と同じものとする。
【００７３】
図１５は、矩形の傾きに合わせて注釈に傾きを与える手順を示した図である。図１５は後述する図１６で示す処理に対応しており、１５０１とＳ１６０１、１５０２とＳ１６０２、１５０３とＳ１６０３、１５０４とＳ１６０４、１５０５とＳ１６０６がそれぞれ対応している。１５０６は、文書データに含まれる矩形を表しており、その矩形は傾いている状態である。１５０７は、傾いている矩形１５０６の外接矩形を表す。１５０８は、テキストの注釈であり、１５０４における注釈１５０８はＳ１６０４の処理で矩形内に移動された注釈のことである。なお、１５０２〜１５０４の文書データは注釈追加時の位置の補正処理の手順を説明するために可視化しているものであり、ディスプレイ２０６に表示されることはない。
【００７４】
図１６は、注釈の傾きを修正する処理に係るフローチャートの一例を示す図である。Ｓ１６０１〜Ｓ１６０３は図８、図１４のＳ８１０の処理内で対象としている矩形が傾いている場合、傾きをなくした仮の矩形に変換する処理を行っている。またＳ１６０５〜Ｓ１６０６はＳ８１２の後、またはＳ４１７でＭが０以下のときに傾きをなくした仮の矩形を元の傾きに戻す処理を行っている。
【００７５】
Ｓ１６０１で、画像解析部４０６は、文書データを解析してＳ８１０で対象としている矩形が傾いているかを判定する。矩形１５０６のように対象の矩形が傾いていた場合Ｓ１６０２の処理に移行し、傾いていない場合はＳ１６０４の処理に移行する。
【００７６】
Ｓ１６０２で、データ解析部４０７は、画像解析部４０６が検出した対象の矩形の外接矩形の座標とサイズを求めている。矩形１５０６の外接矩形とは１５０７のことである。
【００７７】
Ｓ１６０３で、データ解析部４０７は、Ｓ１６０２の外接矩形の中心を基点に矩形と外接矩形を回転させる。画像解析部４０６は、検出した矩形１５０６の傾きを解析しており、Ｓ１６０３での回転は矩形１５０６の傾きを打ち消すように行われる。例えば矩形１５０６が３０度傾いていれば、Ｓ１６０３で矩形１５０６を−３０度回転させている。Ｓ１６０４の処理で行う注釈の移動先の座標を求める際に用いる対象の矩形はＳ１６０３で回転させた１５０３における矩形１５０６を用いる。
【００７８】
Ｓ１６０４は、図８におけるＳ８１１〜Ｓ８１２の処理、図１４におけるＳ１４１４〜Ｓ１４１８の処理に相当する。１５０４における注釈１５０８はＳ１６０３の処理で対象の矩形（Ｓ１６０３で回転させた矩形）に収まるように移動させた状態を表している。
【００７９】
Ｓ１６０５で、データ解析部４０７は、画像解析部４０６がＳ１６０１で解析した対象の矩形が傾いていたかを確認する。Ｓ１６０１で傾いていると判定していた場合はＳ１６０６の処理に移行し、傾いていないと判定していた場合は注釈の角度補正処理を終了する。
【００８０】
Ｓ１６０６で、データ解析部４０７は、Ｓ１６０３で外接円の中心を基点に回転させた矩形と外接円を元に戻す回転角度で注釈を回転させており、データ編集部４０４によって注釈の状態が更新される。このときＵＩ部４０２に変更情報を反映し、注釈を回転させ、注釈の角度補正処理を終了する。Ｓ１６０６で回転させた後の状態１５０５における矩形１５０６と外接矩形１５０７は、１５０２における矩形１５０６と外接矩形１５０７と一致する状態になっている。Ｓ１６０６の処理は図８ではＳ８１２の後、図１４ではＳ１４１７で矩形の数Ｍが０以下と判定されたときに行われる処理である。
【００８１】
図１７は、注釈縮小処理に係るフローチャートの一例を示す図である。
【００８２】
Ｓ１７０１で、データ解析部４０７は、図８、１４、１６のような補正を行った後に注釈が対応する矩形内に収まっているかを判定する。注釈が矩形からはみ出しているかの判定は注釈の外接矩形の領域に対してＳ８０３同様の処理が行われ、重なる矩形があるかどうかに基づいて判断される。矩形内に収まっていた場合は注釈を縮小する処理を終了し、収まっていない場合はＳ１７０２の処理に移行する。
【００８３】
Ｓ１７０２で、データ解析部４０７は、注釈の外接矩形が注釈からどれだけはみ出しているかを計算している。注釈の外接矩形の中心から矩形の上部までの長さをＬ、外接矩形の中心から外接矩形の上部までの長さをＬ‘とするとき求められる比率はＬ’／Ｌである。同様に下部、左側、右側の比率を求め、一番大きい値が１を超えているものをはみ出した比率とする。
【００８４】
Ｓ１７０３で、データ編集部４０４は、注釈の中心を基点に注釈のサイズをＳ１７０２で求めた比率で割った値に更新する。このときＵＩ部４０２に変更情報を反映し、注釈を縮小させ、注釈の縮小処理を終了する。
【００８５】
注釈の位置を修正してもなお注釈が所定領域に収まらない場合には、図１６で示した注釈の傾きを修正する処理および図１７で示した注釈縮小処理は、両方とも行われても良いし、また、いずれかのみが行われても良い。
【００８６】
これにより、原稿が傾いていた場合に注釈を矩形の傾きに合わせて回転させること、矩形内に注釈が収まらない場合に注釈を縮小することが可能となり、注釈を追加したユーザーの意図がより反映されるようになった。
【００８７】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【００８８】
ここで、本発明は、上述した実施形態の機能を実現する１つ以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の１つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の１つ以上のコンピューター（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の１つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【００８９】
１０１  クライアントＰＣ
２０２  ＣＰＵ
４０１  文書編集アプリケーション
４０５  注釈管理部
４０７  データ解析部
【図１】
2019074875.tif 000003
【図２】
2019074875.tif 000004
【図３】
2019074875.tif 000005
【図４】
2019074875.tif 000006
【図５】
2019074875.tif 000007
【図６】
2019074875.tif 000008
【図７】
2019074875.tif 000009
【図８】
2019074875.tif 000010
【図９】
2019074875.tif 000011
【図１０】
2019074875.tif 000012
【図１１】
2019074875.tif 000013
【図１２】
2019074875.tif 000014
【図１３】
2019074875.tif 000015
【図１４】
2019074875.tif 000016
【図１５】
2019074875.tif 000017
【図１６】
2019074875.tif 000018
【図１７】
2019074875.tif 000019
【図１８】
2019074875.tif 000020