(57)【要約】【課題】  テキストデータを編集する際に編集対象として認識されるテキストオブジェクトが、単語の途中で１オブジェクト、または原稿上の離れた位置に存在するテキストデータを１オブジェクトとして認識してしまうことがあり編集作業に手間がかかっていた。【解決手段】  スキャナから読み取った画像からなるページと、電子原稿からなるページの二種類のページに対して、表示・印刷・製本指示を行うシステムで、システム内に取り込んだ原稿内の各描画データを修正可能な原稿編集手段であって、原稿上に描画されているテキストデータを、所定の条件に従って認識する。【選択図】  図３３
2006099400.tif 000002
【特許請求の範囲】
【請求項１】
スキャナから読み取った画像からなるページと、電子原稿からなるページの二種類のページに対して、表示・印刷・製本指示を行うシステムで、システム内に取り込んだ原稿内の各描画データを修正可能な原稿編集手段と、前記原稿編集手段には、描画データを新規作成することも可能にしている原稿編集手段と、前記手段はユーザが選択したページを対象に起動させることが可能な原稿編集手段を有する文書処理システムにおいて、前記原稿編集手段には原稿上に描画されているテキストデータを、所定の条件に従って認識するテキストオブジェクト認識手段をもつことを特徴とする文書管理システム。
【請求項２】
前記テキストオブジェクト認識手段は、原稿上に描画されているテキストデータに対して、連続したテキスト情報のみを認識することを特徴とする請求項１に記載の文書管理システム。
【請求項３】
前記テキストオブジェクト認識手段は、原稿上に描画されているテキストデータに対して、Ｙ座標の等しいテキストデータのみを認識することを特徴とする請求項１または２に記載の文書管理システム。
【請求項４】
前記テキストオブジェクト認識手段は、原稿上に描画されているテキストデータに対して、テキストデータ間にテキスト以外のオブジェクトが存在しないときのみ認識することを特徴とする請求項１乃至３のいずれかに記載の文書管理システム。
【請求項５】
前記テキストオブジェクト認識手段は、原稿上に描画されているテキストデータに対して、所定の条件においてはテキストオブジェクトとして認識されないように制御することを特徴とする請求項１乃至４のいずれかに記載の文書管理システム。
【請求項６】
前記テキストオブジェクト認識手段は、原稿上に描画されているテキストデータに対して、テキストデータの座標に回転・歪みがある場合は、テキストオブジェクトとして認識しないことを特徴とする請求項５に記載の文書管理システム。
【請求項７】
前記テキストオブジェクト認識手段は、原稿上に描画されているテキストデータに対して、テキストデータの水平スケーリングが負の値をとる場合は、テキストオブジェクトとして認識しないことを特徴とする請求項５または６に記載の文書管理システム。
【請求項８】
前記テキストオブジェクト認識手段は、原稿上に描画されているテキストデータに対して、テキストのレンダリングモードが異なる場合は、テキストオブジェクトとして認識しないことを特徴とする請求項５乃至７に記載の文書管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパーソナルコンピュータなどの情報処理装置、スキャナおよびプリンタなどから生成された電子データを編集する文書処理方法に関するものである。
【背景技術】
【０００２】
従来、紙の文書をスキャナで読み取り、読み取った画像データを画像編集手段で修正加工し、両面やステイプル、パンチ穴等の加工指示を付加して印刷装置より出力することが一般的に行われている。
【０００３】
また、ＰＣ上のアプリケーションソフトウェアで作成した文書データを、作成したアプリケーションに依存しない電子データに変換し、両面やステイプル、パンチ穴等の加工指示を付加して印刷装置より出力することが一般的に行われている。
【０００４】
さらに、画像データのページと電子データのページを組み合わせて電子原稿として保存し、両面やステイプル、パンチ穴等の加工指示を付加して印刷装置より出力することも行われている。
【０００５】
複数のアプリケーションソフトウェアで作成した文書データを、独自形式の電子フォーマットに変換し、描画されているデータを編集する技術は一般的に行われている。
【特許文献１】特開２００２−２７９３５３
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の技術では、テキストデータを編集する際に編集対象として認識されるテキストオブジェクトが、単語の途中で１オブジェクト、または原稿上の離れた位置に存在するテキストデータを１オブジェクトとして認識してしまうことがあり、ユーザにとって編集しづらく、編集作業に手間がかかっていた。
【課題を解決するための手段】
【０００７】
本発明は、上述した問題点を踏まえてなされてものであり、スキャナから読み取った画像からなるページと、電子原稿からなるページの二種類のページに対して、表示・印刷・製本指示を行うシステムで、システム内に取り込んだ原稿内の各描画データを修正可能な原稿編集手段と、前記原稿編集手段には、描画データを新規作成することも可能にしている原稿編集手段と、前記手段はユーザが選択したページを対象に起動させることが可能な原稿編集手段を有する文書処理システムにおいて、前記原稿編集手段には原稿上に描画されているテキストデータを、所定の条件に従って認識するテキストオブジェクト認識手段をもつことを特徴とする文書管理システム。
【発明の効果】
【０００８】
以上、本発明を用いることによって、原稿上のテキストデータをユーザにとって編集し易い形で、編集オブジェクトとして認識することを可能とする。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１０】
＜システム概要＞
まず、本発明に係る文書処理システムの概要について、図１乃至図１２を参照して以下に説明する。尚、この文書処理システムは、一般のアプリケーションによって作成されたデータファイルを電子原稿ファイルに変換する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含み、作成されたデータを一まとめにした文書の作成及び編集を可能とし、その操作性を向上させて文書編集を効率的に行えるものである。
【００１１】
＜システム構成及び動作＞
図１は、本実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、本発明の情報処理装置に好適な実施形態であるデジタルコンピュータ１０１（以下、ホストコンピュータとも呼ぶ）によって実現されている。図１に示す一般アプリケーション１０１は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー、あるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、ＯＳに対する印刷機能を有している。これらのアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷する際に、オペレーティングシステム（ＯＳ）によって提供される所定のインタフェース（一般に、ＧＤＩと呼ばれる）を利用する。即ち、アプリケーション１０１は、作成したデータを印刷するために、上述のインタフェースを提供するＯＳの出力モジュールに対して、あらかじめ定められる、ＯＳに依存する形式の出力コマンド（ＧＤＩ関数と呼ばれる）を送信する。一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の出力デバイスが処理可能な形式に変換して、変換されたコマンド（ＤＤＩ関数と呼ばれる）を出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるため、デバイスごとにデバイスドライバが提供されており、ＯＳではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、ＪＬ（Ｊｏｂ  Ｌａｎｇｕａｇｅ）でくくることにより印刷ジョブが生成される。ＯＳとしてマイクロソフト社のウインドウズ（登録商標）を利用する場合には、前述した出力モジュールとしてはＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）と呼ばれるモジュールが相当する。
【００１２】
電子原稿ライタ１０２は、上述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。但し、電子原稿ライタ１０２は特定の出力デバイスを目的としておらず、詳細は後述する製本アプリケーション１０４やプリンタドライバ１０６により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ１０２による変換後の形式（以後電子原稿形式と呼ぶ）は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうち、例えばアドビシステムズによるＰＤＦ形式やＳＶＧ形式などが電子原稿形式として採用できる。
【００１３】
一般アプリケーション１０１から電子原稿ライタ１０２を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ１０２を指定してから印刷を実行させる。但し、電子原稿ライタ１０２によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ１０２を指定するのは製本アプリケーション１０４であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。そして、製本アプリケーション１０４は電子原稿ライタ１０２が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ１０２によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション１０４によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル（または文書データ）と呼ぶ。
【００１４】
このようにデバイスドライバとして電子原稿ライタ１０２を指定し、一般アプリケーション１０１によりデータを印刷させることで、アプリケーションデータはアプリケーション１０１によって定義されたページ（以後論理ページあるいは原稿ページと呼ぶ）を単位とする電子原稿形式に変換され、電子原稿ファイル１０３としてハードディスクなどの記憶媒体に格納される。尚、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
【００１５】
製本アプリケーション１０４は電子原稿ファイル（あるいはブックファイル）１０３を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション１０４は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
【００１６】
製本アプリケーション１０４によって編集されたブックファイル１０３を印刷する際には、製本アプリケーション１０４によって電子原稿デスプーラ１０５が起動される。電子原稿デスプーラ１０５は、製本アプリケーションと共にコンピュータ内にインストールされるプログラムモジュールであり、製本アプリケーションで利用するドキュメント（ブックファイル）を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。電子原稿デスプーラ１０５は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したＯＳの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ１０７用のプリンタドライバ１０６がデバイスドライバとして指定される。上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ１０７用のプリンタドライバ１０６に出力し、そのプリンタドライバ１０６がプリンタ１０７で解釈実行可能なページ記述言語等のコマンドに変換する。そして、変換されたコマンドはプリンタドライバ１０６から不図示のシステムスプーラを介してプリンタ１０７に送信され、プリンタ１０７によってコマンドに応じた画像が印刷される。
【００１７】
図２は、コンピュータ１００のハードウェアブロック図である。図２において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭに記憶された、あるいはハードディスク２１１からＲＡＭ２０２にロードされたＯＳや一般アプリケーション、製本アプリケーションなどのプログラムを実行し、図１のソフトウェア構成や、後述するフローチャートの手順を実現する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）２０５は、キーボード２０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６は、ＣＲＴディスプレイ２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）２０７は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク（ＨＤ）２１１やフロッピー（登録商標）ディスク（ＦＤ）等とのアクセスを制御する。ＰＲＴＣ２０８は、接続されたプリンタ１０７との間の信号の交換を制御する。ＮＣ２１２はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００１８】
＜電子原稿データの形式＞
編集アプリケーション１０４の詳細を言及する前に、ブックファイルのデータ形式について説明する。ブックファイルは紙媒体の書物を模倣した３層の層構造を有する。まず、上位層は「ブック」と呼ばれ、１冊の本を模倣しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。尚、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
【００１９】
図３に示す（Ａ）は、ブックファイルの形式の一例を模式的に示す図である。図示するように、この例では、ブックファイルにおけるブック，章，ページは、それぞれに相当するノードにより示されている。一つのブックファイルは一つのブックを含む。ブック，章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体（原稿ページデータ）と各原稿ページデータへのリンクを含む。
【００２０】
尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【００２１】
図３において、ブック３０１には、ブック属性が定義されていると共に、２つの章３０２Ａ，３０２Ｂがリンクされている。このリンクにより、章３０２Ａ，３０２Ｂがブック３０１に包含されていることが表示される。章３０２Ａには、ページ３０３Ａ，３０３Ｂがリンクされ、これらページが含まれることが示されている。各ページ３０３Ａ，３０３Ｂにはそれぞれ属性値が定義され、その実体である原稿ページデータ（１）、（２）へのリンクが含まれる。これらリンクは、図３に示す（Ｂ）のように原稿ページデータ３０４のデータ（１），（２）を指し示し、ページ３０３Ａ、３０３Ｂの実体が原稿ページデータ（１）、（２）であることを表示している。
【００２２】
図４は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に１項目に対応するのではなく、関連する複数の項目を含むものもある。
【００２３】
図５は章属性の、図６はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【００２４】
図４〜図６から明らかなように、ブック属性に固有の項目は、印刷方法、製本詳細、表紙／裏表紙、インデックス紙、合紙、章区切りの６項目である。これらはブックを通して定義される項目である。印刷方法の属性としては、片面印刷、両面印刷、製本印刷の３つの値を指定できる。ここで、製本印刷とは、別途指定する枚数の用紙を束にして２つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【００２５】
表紙／裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス（耳）部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【００２６】
合紙属性は、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。
【００２７】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が１枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が１枚の用紙の表裏に印刷されることがあり得る。
【００２８】
章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、Ｎ−ｕｐ印刷指定、拡大縮小、排紙方法の５項目である。これらのうち、Ｎ−ｕｐ印刷指定属性は１印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、１×１、１×２、２×２、３×３、４×４などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【００２９】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを１００％として指定される。仮想論理ページ領域とは、原稿ページを、Ｎｕｐ等の指定に応じて配置した場合に、１原稿ページが占める領域である。例えば、１×１であれば、仮想論理ページ領域は１印刷ページに相当する領域となり、１×２であれば、１印刷ページの各辺を約７０パーセントに縮小した領域となる。
【００３０】
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。尚、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
【００３１】
＜ブックファイルの生成手順＞
ブックファイルは上述したような構造及び内容を有している。次に、製本アプリケーション１０４及び電子原稿ライタ１０２によるブックファイルの作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション１０４によるブックファイルの編集操作の一環として実現される。
【００３２】
図７は、製本アプリケーション１０４によりブックファイルを開く際の手順である。まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する（ステップＳ７０１）。新規作成の場合には、章を含まないブックファイルを新規に作成する（ステップＳ７０２）。新規に作成されるブックファイルは、図３の例で示せば、ブックノード３０１のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインタフェース（ＵＩ）画面を表示する（ステップＳ７０３）。図１１は、新規にブックファイルが作成された際のＵＩ画面の一例である。この場合は、ブックファイルは実質的な内容を持たないため、ＵＩ画面１１００には何も表示されない。
【００３３】
一方、既存のブックファイルがあれば、指定されたブックファイルを開き（ステップＳ７０３）、そのブックファイルの構造、属性、内容に従ってユーザインタフェース（ＵＩ）画面を表示する。図１０は、既存のブックファイルから指定されたブックファイルを表示するＵＩ画面の一例である。ＵＩ画面１１００は、ブックの構造を示すツリー部１１０１と、印刷された状態を表示するプレビュー部１１０２とを含む。ツリー部１１０１には、ブックに含まれる章、各章に含まれるページが図３に示す（Ａ）のような木構造で表示される。ツリー部１１０１に表示されるページは原稿ページである。またプレビュー部１１０２には、印刷ページの内容が縮小されて表示される。その表示順序はブックの構造を反映したものとなっている。
【００３４】
さて、開かれたブックファイルには、電子原稿ライタ１０２によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図７に示す手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図１０の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
【００３５】
図８に電子原稿インポートの手順を示す。まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ１０２を指定してアプリケーションデータを印刷出力させることで、電子原稿データに変換する（ステップＳ８０１）。変換を終えたなら、変換されたデータが画像データであるか否かを判定する（ステップＳ８０２）。この判定は、ウインドウズＯＳの下であれば、アプリケーションデータのファイル拡張子に基づいて行われる。例えば、拡張子が「ｂｍｐ」であればウインドウズビットマップデータであり、「ｊｐｇ」であればｊｐｅｇ圧縮された画像データ、「ｔｉｆｆ」であればｔｉｆｆ形式の画像データであると判定できる。また、このような画像データの場合はＳ８０１０のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、Ｓ８０１０の処理を省略することも可能である。
【００３６】
ここで、画像データでなかった場合には、ステップＳ８０１で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する（ステップＳ８０３）。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
【００３７】
また、ステップＳ８０２で画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップＳ８０１で生成された電子原稿ファイルに含まれる各原稿ページが追加される（ステップＳ８０４）。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、Ｎｕｐ指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
【００３８】
図９は、図８に示すステップＳ８０１において、電子原稿ライタ１０２により電子原稿ファイルを生成させる手順のフローチャートである。まず、新たな電子原稿ファイルを作成してそれを開く（ステップＳ９０１）。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとしてＯＳの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタ１０２によって電子原稿形式のデータに変換し、出力する（ステップＳ９０２）。その出力先はステップＳ９０１で開いた電子原稿ファイルである。指定されたデータ全てについて変換が終了したか判定し（ステップＳ９０３）、終了していれば電子原稿ファイルを閉じる（ステップＳ９０４）。電子原稿ライタ１０２によって生成される電子原稿ファイルは、図３の（Ｂ）に示される原稿ページデータの実体を含むファイルである。
【００３９】
＜ブックファイルの編集＞
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
（１）新規追加
（２）削除
（３）コピー
（４）切り取り
（５）貼り付け
（６）移動
（７）章名称変更
（８）ページ番号名称振り直し
（９）表紙挿入
（１０）合紙挿入
（１１）インデックス紙挿入
（１２）各原稿ページに対するページレイアウト。
【００４０】
このほか、一旦行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などの編集操作が可能となる。これらの操作を行うと、図４、図５に示す属性に操作結果が反映されたり、あるいはブックファイルの構造に反映される。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やＮ−ｕｐ印刷、表紙／裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【００４１】
＜ブックファイルの出力＞
以上のように作成・編集されるブックファイルは、印刷出力を最終目的とするものである。ここで、利用者が図１０に示した製本アプリケーションのＵＩ画面１１００からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション１０４は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ１０５に渡す。一方、電子原稿デスプーラ１０５は、ジョブチケットをＯＳの出力コマンド、例えばウインドウズのＧＤＩ関数に変換し、それを出力モジュール、例えばＧＤＩに送信する。出力モジュールは、指定されたプリンタドライバ１０６によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
【００４２】
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは１ジョブにつき１つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷／片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。１シートは１枚の用紙に相当する。各シートには、印刷ページ（物理ページ）が属する。片面印刷ならば１シートには１物理ページが属し、両面印刷ならば１シートに２物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
【００４３】
電子原稿デスプーラ１０５は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
【００４４】
＜そのほかのシステム構成＞
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルを作成・編集できる。但し、ブックファイルや印刷処理はサーバによって管理される。
【００４５】
図１２は、サーバクライアント型文書処理システムの構成を示すブロック図である。クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるＤＯＭＳ（Ｄｏｃｕｍｅｎｔ  Ｏｕｔｐｕｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｉｃｅ：文書出力管理サービス）ドライバ１０９及びＤＯＭＳプリントサービスモジュール１１０、ＤＳ（文書サービス）クライアントモジュール１０８を加えた構成を有する。このクライアント文書処理システム１２００に文書管理サーバ１２０１、印刷集中管理サーバ１２０２及びプリントサーバ１２０３が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。
【００４６】
尚、図１２に示す例では、文書管理サーバ１２０１と印刷集中管理サーバ１２０２の両方のサーバがクライアントに接続されているが、何れか一方のみネットワーク上に存在する場合もあり得る。例えば、接続されているサーバが文書管理サーバであれば、そのクライアントモジュール１０８を含む文書管理サーバクライアントシステム１２０１ＳＣが、また印刷集中管理サーバ１２０２であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム１２０２ＳＣが、スタンドアロン型文書管理システムに追加される。
【００４７】
文書管理サーバ１２０１は、製本アプリケーション１０４により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ１２０１によってブックファイルを管理する場合、ブックファイルはクライアントＰＣのローカルＨＤに代わって、あるいはそれに加えて、文書管理サーバ１２０１のデータベース１２１１に保存される。製本アプリケーション１０４と文書管理サーバ１２０１との間のブックファイルの保存及び読み出しは、ＤＳクライアント１０８及びＤＳコア１２１２を介して行われる。
【００４８】
印刷集中管理サーバ１２０２は、クライアント文書管理システム１２００に格納された、あるいは文書管理サーバ１２０１に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、ＤＯＭＳドライバ１０９およびＤＯＭＳプリントサービスモジュール１１０を介して印刷集中管理サーバ１２０２のＤＯＭＳＷＧサーバモジュール１２２１に送信される。集中印刷管理サーバ１２０２は、クライアントのプリンタで印刷する場合にはクライアントのＤＯＭＳプリントサービスモジュール１１０を介して電子原稿デスプーラ１０５に電子原稿データを渡し、プリントサーバ１２０３により印刷する場合には、プリントサーバ１２０３のＤＯＭＳプリントサービスモジュール１２０３に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
【００４９】
＜プレビュー表示の内容＞
既に説明した通り、ブックファイルが製本アプリケーションによって開かれると、図１０に示したユーザインタフェース画面１１００が表示される。ツリー部１１０１には、開いているブック（以下、「注目ブック」と呼ぶ）の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、３通りの表示方法が用意されている。まず、第１は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。尚、プレビュー部１１０２の表示にレイアウトは反映されない。次に、第２は印刷ビューモードである。この印刷ビューモードでは、プレビュー部１１０２には原稿ページのレイアウトが反映された形で原稿ページが表示される。そして、第３は簡易印刷ビューモードである。この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
【００５０】
＜ステイプル制御＞
次に、ステイプル機能を有するプリンタと接続するコンピュータ１００の製本アプリケーション１０４によって行われるステイプル制御について説明する。
【００５１】
図１３は、ステイプル制御システムの構成を示すブロック図である。図示するように、ステイプル制御システムは、図２に示したホストコンピュータ１００とステイプル機能を有するプリンタ１０７とで構成される。
【００５２】
以下、プリンタ１０７の構成について説明する。尚、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
【００５３】
図示するように、プリンタ１０７において、１３０１はプリンタＣＰＵであり、ＲＯＭ１３０２内のプログラム用ＲＯＭに記憶された制御プログラム等や外部メモリ１３０３に記憶された制御プログラム等に基づいてシステムバス１３０４に接続される印刷部Ｉ／Ｆ１３０５を介して、印刷部（プリンタエンジン）１３０６に出力情報としての画像信号を出力する。また、このＲＯＭ１３０２内のプログラムＲＯＭには、ＣＰＵ１３０１の制御プログラム等が記憶され、ＲＯＭ１３０２内のフォント用ＲＯＭには、出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１３０２内のデータ用ＲＯＭには、ハードディスク等の外部メモリ１３０３がないプリンタの場合、ホストコンピュータ１００上で利用される情報等が記憶されている。
【００５４】
また、ＣＰＵ１３０１は、入力部１３０７を介してホストコンピュータ１００との通信処理が可能となっており、プリンタ１０７内の情報等をホストコンピュータ１００に通知できる。ＲＡＭ１３０８は、ＣＰＵ１３０１の主メモリや、ワークエリア等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００５５】
尚、ＲＡＭ１３０８は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。上述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１３０３は、メモリコントローラ（ＭＣ）１３０９によりアクセスを制御される。外部メモリ１３０３は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル１３１１は操作のためのスイッチ及びＬＥＤ表示器等で構成されている。
【００５６】
また、上述の外部メモリ１３０３は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。更に、図示しないＮＶＲＡＭを有し、操作パネル１３１１からのプリンタモード設定情報を記憶するようにしても良い。
【００５７】
＜ブックファイル編集機能＞
製本アプリケーション１０４にて生成されたブックファイルに対して、文章・画像の編集を行うことを可能とする原稿エディタを備える。前記原稿エディタは、製本アプリケーションから起動し、ブックファイルを論理ページ毎に編集することが可能である。図１５はエディタの起動フローを示している。まず製本アプリケーションにて、選択された原稿ファイルに対してメニューを表示させる（１５０１）。前記メニューより“原稿エディタ”が選択されたことを認識する（１５０２）。原稿エディタを起動し、メイン画面を表示する（１５０３）。図１４は製本アプリケーションから、前記原稿エディタを起動するＵＩ例を示している。１４０１は製本アプリケーション、１４０２はインポートされた原稿ファイル。１４０３は前記原稿ファイル選択時のポップアップメニュー、１４０４はマウスポインタを示している。原稿エディタの起動は、インポートされた原稿ファイルをマウスポインタで選択し、ポップアップメニューを表示させ、メニュー内の“原稿エディタ”を選択することで実行される。ここではポップアップメニューからの起動であったが、その他（たとえばツールボタン、メニューアイテム）を利用した起動方法であっても良い。
【００５８】
次に、原稿エディタで行える編集機能について説明をする。図１６は原稿エディタの全体ＵＩを示している。１６０１は原稿エディタ、１６０２はメニューバー、１６０３はツールボタン、１６０４はページ移動ボタン、１６０５はズーム指定ボックス、１６０６は編集対象の原稿ファイル、１６０７はテキストオブジェクト、１６０８・１６０９は図形オブジェクト、１６１０は直線オブジェクトを示している。これらを元に各編集機能について説明を行う。
【００５９】
［テキスト編集機能］
図１７はテキストオブジェクトの選択の例を示している。図１６で示した原稿ファイル１６０６を詳細に示している。１７０１はテキストオブジェクト、１７０２はオブジェクトのコントロールハンドル、１７０３はマウスポインタを示している。マウスポインタで原稿ファイル内のテキスト上を選択すると、選択されたテキストがオブジェクトとしてマッチングされ、選択状態となる。選択状態になったオブジェクトには１７０２で示した、コントロールハンドルが表示され、選択されたことをユーザに示す。この例では、コントロールハンドルが表示されたが、テキストオブジェクトの外接矩形を表示するようにしても良い。テキストオブジェクトは、選択して移動・削除・テキスト属性の変更・テキストの追加・削除などの操作を行うことができる。
【００６０】
図１８はテキスト編集のフローを示している。まずマウスポインタで選択された原稿ファイル内のテキストを、テキストオブジェクトとして抽出する（１８０１）。抽出されたテキストオブジェクトに対して、テキストの追加、テキストの削除、テキスト属性の変更、テキストオブジェクトの移動・削除などの編集を施し（１８０２−１８０６）、編集が終了したら終了。図１９はテキスト追加の例を示している。図１７のテキストオブジェクト１７０１についてテキストの追加を行う。選択状態になっているテキストオブジェクトを再度マウスポインタ１９０３で選択すると、テキストオブジェクトが矩形１９０１で囲まれ、編集カーソル１９０２が表示される。テキストを追加する位置にカーソルを移動させ、文字を入力すると、テキストオブジェクトに入力した文字が追加される。図１９では、“日本語のテスト”のテストの前に“テスト”を追加したときの例を示している。
【００６１】
図２０はテキスト削除の例を示している。図１７のテキストオブジェクト１７０１についてテキストの削除を行う。テキスト追加と同様の方法でテキストオブジェクトが矩形で囲まれ、編集カーソル２００１が表示されている状態にする。その状態で、バックスペースキーや削除を実行すると、編集カーソルの前の文字が削除される。図２０では、“日本語のテスト”の“テスト”を削除したときの例を示している。
【００６２】
テキスト属性の編集について、各テキストオブジェクト内のテキストは属性を持っており、その属性についても編集することが可能である。テキスト属性には、フォント・スタイル・サイズ・色・文字装飾・文字間隔・水平スケーリング率・単語間隔などがある。それぞれの意味、設定方法については、公知であるため説明は省略する。
【００６３】
［テキストボックス編集機能］
前述したテキストオブジェクトは１行に限定された編集であったが、原稿エディタは複数行のテキストを新規に作成する機能を有する。複数行のテキストを作成する際には、テキストボックスを用いる。図２２はテキストボックス編集のフローを示している。まずテキストボックス作成モードへ遷移し（２２０１）、マウスドラッグの矩形でテキストボックスを生成する（２２０２）。次に、作成したテキストボックスに対して、テキストオブジェクトの編集（この編集は前述した１行テキストの編集操作と同じ）、テキストボックス属性の編集、テキストボックスの移動・削除などの編集を施し（２２０３−２２０６）、編集が終了したら終了する。図２１はテキストボックス作成の例を示している。原稿ファイル１６０６上にテキストボックス作成モードで、マウスポインタ１９０３を用いて矩形を描画すると、テキストボックス２１０１が作成される。作成されたテキストボックスには、新規作成時およびボックスを選択時に、コントロールハンドル２１０２が表示される。コントロールハンドルをマウスポインタでドラッグすることにより、ボックスのリサイズが可能である。
【００６４】
図２３は前述したテキストボックス内にテキストを追加する例を示している。選択状態のテキストボックスを再度マウスポインタで選択すると、テキストオブジェクト編集の時と同様に、ボックス内に編集カーソルが表示される。その状態で、テキストを入力することにより、テキストボックスにテキストを追加することが可能である。また、テキストの削除についてもテキストオブジェクトの時と同様の方法で、行うことが可能である。図２３はテキストボックス２１０１に“テキストボックステスト。複数行”というテキストを追加した例を示している。前述したとおり、テキストボックスは複数行のテキストをサポートする。右端までに収まらないテキストは改行されて表示される（２３０１）。
【００６５】
テキストボックスおよびテキストボックス内のテキストについてもテキストオブジェクトと同様に属性を編集することが可能である。テキストボックスの属性には、線種・線幅・線の色・塗りつぶし・不透明度などがある。テキストボックス内のテキストの属性は、手テキストオブジェクトと同様である。それぞれの意味、設定方法については、公知であるため説明は省略する。
【００６６】
［イメージ編集機能］
次に、原稿エディタにおけるイメージの編集機能について説明をする。イメージの編集機能には、“イメージの挿入”と“イメージの書き出し”がある。
【００６７】
イメージの挿入について説明をする。図２７はイメージ挿入および回転・移動・削除の全体フローを示している。まず、イメージ挿入モードに遷移し、イメージ選択ダイアログを表示する（２７０１）。前記ダイアログで選択されたイメージをエディタ上に表示する（２７０２）。表示されたイメージに対して、回転や移動・削除などの編集を施し（２７０３−２７０５）、編集が終了したら終了。図２４はイメージの挿入モードへ遷移するためのＵＩ例を示している。２４０１は原稿エディタ、２４０２はメニュー、２４０３はイメージ挿入モードメニューを示している。原稿エディタのメニューバーより、イメージの挿入が選択されると、イメージの挿入ダイアログが表示される。イメージ挿入ダイアログで挿入するイメージファイルを選択することで、原稿上にイメージオブジェクトとして挿入する。図２５はイメージ挿入が挿入された例を示している。前述した方法でイメージを挿入すると、原稿ファイル１６０６にイメージ２５０１が挿入される。イメージの挿入される位置については、原稿ファイルの中心となる。ただし、位置については、中心に限定せずに原稿ファイルの左上基準、左下基準などユーザビリティを考慮して変更できるようにしても良い。また、挿入の方法についても、メニューからの挿入だけでなく、ツールボタンなどで行えるようにしても良い。
【００６８】
挿入したイメージ、もしくは原稿ファイルに配置されたイメージオブジェクトに対しては、回転、移動・削除と言った編集を行うことができる。図２６はイメージを回転した例を示している。２６０１はイメージを時計回りに９０度回転されたものを示している。移動・削除については、公知であるため説明は省略する。
【００６９】
次にイメージの書き出しについて説明する。図２９はイメージの書き出しの全体フローを示している。まず書き出す対象のイメージを選択することにより抽出する（２９０１）。次に、ポップアップメニューなどからイメージ書き出しダイアログを表示させる（２９０２）。そして、書き出し先（場所）や書き出すイメージのファイル名などを入力して、入力を確定させることで、指定された場所にイメージを保存する（２９０３−２９０４）。図２８はイメージの書き出しの例を示している。書き出すイメージを選択し、ポップアップメニュー２８０１を表示させ、イメージの書き出しを指定する。イメージの書き出しを指定すると、イメージの書き出しダイアログを表示する。表示したダイアログ内で設定した書き出し場所・イメージファイル名を適用させイメージの書き出しを行う。
【００７０】
［オブジェクト編集機能］
次に、原稿エディタにおけるオブジェクトの編集機能について説明をする。オブジェクトの種類には、四角形・楕円・角丸四角形・直線・オートシェイプ・その他任意図形が存在する。それらのオブジェクトの新規作成および編集を行うことが可能である。原稿ファイルの描画されているオブジェクトに対しても選択すること、および編集を加えることができる。新規作成、および編集操作については、移動・削除や各属性（色・線種など）の変更など公知の技術であるため、個々の説明は省略する。図３２は、オブジェクトの編集フローを示している。まずオブジェクト作成フローに遷移し（３２０１）、マウスドラッグで描画された矩形により、オブジェクトを作成する（３２０２）。オブジェクトの編集（属性の編集や移動・削除など）を施し（３２０３−３２０５）、編集が終了したら終了する。次に一例として楕円の新規作成について説明をする。
【００７１】
図３０は楕円オブジェクトの新規作成モードに遷移するためのＵＩ例を示している。３００１は原稿エディタ、３００２はメニュー、３００３は楕円作成モード遷移メニューを示している。３００３の楕円作成モード遷移メニューを選択し、原稿エディタ上でマウス矩形を描画することで楕円オブジェクトを作成することができる。図３１は楕円オブジェクトが作成された例を示している。作成された楕円オブジェクト３１０１は、選択状態になるとコントロールハンドル３１０２を表示し、選択されたことをユーザに認識させる。
【００７２】
本発明の実施例について説明する。図３３は本発明におけるテキストオブジェクトのパターンマッチング（マッチング）処理の全体フローを示している。各処理について説明する。まずマウスポインタなどを用いて、原稿上のある位置を選択させ、その位置を認識する（３３０１）。前ステップで認識された原稿上の位置にテキストデータがあるかどうかを判定する（３３０２）。もし全ステップでテキストデータがないと判定された場合は、パターンマッチング処理は終了となる。反対に、テキストデータがあると判定された場合は、本発明のパターンマッチング処理へと移る（３３０３）。パターンマッチング処理の詳細については後述する。最後に、パターンマッチング処理にて認識されたテキストオブジェクトを表示させる（３３０４）。表示されたテキストオブジェクトは、前述した方法で編集作業を行うことが可能である。
【００７３】
図３４は前述したステップ３３０３について詳細を示しているフローチャートである。各ステップについて説明する。まず、原稿上で指定された場所にあるテキスト情報を取得する（３４０１）。取得するテキスト情報とは、原稿上に描画されているテキストデータの描画位置情報やフォント情報などが含まれる。次に取得したテキスト情報をパターンマッチング対象のテキスト情報として設定する（３４０２）。そして、マッチング対象としたテキスト情報とＹ座標が等しいテキスト情報が、現在編集中の原稿ページ上に存在するかどうかを判定する（３４０３）。存在しないと判定された場合、マッチング対象のテキスト情報が最終的にテキストオブジェクトとしてマッチングされる（３４０８）。存在すると判定された場合、そのテキスト情報を、マッチング候補のテキスト情報として設定する（３４０４）。ここから先は、前ステップでマッチング候補としたテキスト情報に対して、マッチング対象とされていたテキスト情報とグループ化してマッチングすべきかどうかを、いくつかの条件を利用して判定していくステップとなる。まず、マッチング対象のテキスト情報とマッチング候補のテキスト情報の間にテキスト以外のオブジェクトが存在するかどうかを判定する（３４０５）。テキスト以外のオブジェクトとは、図形オブジェクトや画像オブジェクトなどを指す。もし、そのようなオブジェクトがテキスト情報の間に描画されていたとすると、マッチング候補として設定したテキストオブジェクトはグループ化されず、マッチング対象のテキスト情報が最終的にテキストオブジェクトとしてマッチングされる（３４０８）。テキスト以外のオブジェクトが存在しないとすると、マッチングの例外処理へと遷移する（３４０６）。例外処理の詳細については、後述する。マッチング例外処理が終了して、マッチング候補として設定されたテキスト情報を、マッチング対象のテキスト情報へ追加する（３４０７）。最後にマッチング対象とされたテキスト情報をマッチングする（３４０８）。
【００７４】
図３５は前述したステップ３４０６のパターンマッチング例外処理について詳細を示しているフローチャートである。まず、マッチング候補のテキスト情報を取得する（３５０１）。取得するテキスト情報は、前述したとおりで原稿上に描画されているテキストデータの描画位置情報やフォント情報などが含まれる。前ステップにて取得したテキスト情報より、マッチング例外処理を行う。まず、マッチング対象として設定したテキスト情報と座標が異なるかどうかを判定する（３５０２）。ここで指している座標とは、座標の回転・歪みのことである。もし、マッチング候補のテキスト座標が、マッチング対象のテキスト座標と異なっていた場合は、グループ化は行わずにマッチングを行う。したがって、マッチング候補として設定されていたテキスト情報を削除する（３５０５）。つぎに、マッチング候補のテキスト情報について、水平スケーリングが負の値をとっているかどうかを判定する（３５０３）。この判定は、マッチング対象のテキスト情報と、マッチング候補のテキスト情報とで、テキストの水平スケーリングが正負逆転しているかどうかの判定であり、もしマッチング対象のテキスト情報が負の値をとっているのであれば、マッチング候補のテキストが正の値でも判定はＹＥＳといことになる。水平スケーリングの値が逆転していると判定された場合は、グループ化は行わずにマッチングを行う。したがって、マッチング候補として設定されていたテキスト情報を削除する（３５０５）。最後に、マッチング候補のテキスト情報について、マッチング対象のテキスト情報とテキストレンダリングモードが異なっているかどうかを判定する。テキストレンダリングモードとは、文字の描画方法を設定するパラメータであり、白抜きや、輪郭と塗りつぶしで異なる色にする等の特殊効果を得るためのものである。テキストレンダリングモードが異なると判定された場合は、グループ化は行わずにマッチングを行う。したがって、マッチング候補として設定されていたテキスト情報を削除する（３５０５）。以上の例外処理を行った末、すべてに当てはまらなかったテキスト情報のみがマッチング候補のテキスト情報として保持される。本フローチャートを抜けた後は、図３４のフローチャートのステップ３４０７へ進み、処理を行う。結果的に、図３４のマッチング条件フローチャート、および図３５のマッチング例外処理フローチャートを処理した結果、マッチング候補として削除されず残っているテキスト情報のみが、最初にマッチング対象として指定されたテキスト情報とグループ化され１つのテキストオブジェクトとしてマッチングされる。
【００７５】
図３６は、上述したテキストパターンマッチングのＵＩ例を示している。原稿ページ（１６０６）上に、文字列（３６０１−３６０７）が描画されている。マウスポインタ１９０３を用いて原稿上の位置を指定する。図３７は図３６の文字列３６０１についてパターンマッチングを行った例を示している。上述したパターンマッチング処理を行うと、３７０１のように１テキストオブジェクトとして“あいうえお”が編集対象としてマッチングされる。図３８は図３６の文字列３６０２についてパターンマッチングを行った例を示している。文字列３６０２は“う”（３８０２）のフォント属性が他の文字と異なっている。パターンマッチング処理を行うと、３８０１のように１テキストオブジェクトとして“あいうえお”が編集対象としてマッチングされる。図３９は図３６の文字列３６０３についてパターンマッチングを行った例を示している。文字列３６０３は“う”（３９０２）の座標が回転されている。パターンマッチングを行うと、“あい”（３９０１）が１テキストオブジェクトとしてマッチングされ、座標が異なる“う”（３９０３）が１テキストオブジェクトとしてマッチングされ、残りの“えお”（３９０４）が１テキストオブジェクトとしてマッチングされる。図４０は図３６の文字列３６０４についてパターンマッチングを行った例を示している。文字列３６０４は“う”（４００１）が他の文字の水平スケーリングとは異なっている。ただし、スケーリングの値はともに正である。パターンマッチングを行うと、“あいうえお”（４００２）が１テキストオブジェクトとしてマッチングされる。図４１は図３６の文字列３６０５についてパターンマッチングを行った例を示している。文字列３６０５は“う”（４１０２）のＹ座標が他の文字と異なる。パターンマッチングを行なうと、“あい”（４１０１）が１テキストオブジェクトとしてマッチングされ、Ｙ座標が異なる“う”（４１０３）が１テキストオブジェクトとしてマッチングされ、残りの“えお”（４１０４）が１テキストオブジェクトとしてマッチングされる。図４２は図３６の文字列３６０６についてパターンマッチングを行った例を示している。文字列３６０６は“う”（４２０２）のテキストレンダリングモードが他の文字と異なる。パターンマッチングを行なうと、“あい”（４２０１）が１テキストオブジェクトとしてマッチングされ、レンダリングモードの異なる“う”（４２０３）が１テキストオブジェクトとしてマッチングされ、残りの“えお”が１テキストオブジェクトとしてマッチングされる。
【００７６】
図４３は実際の原稿ファイルのサンプルデータにおけるパターンマッチングの例を示している。文書データを上述したパターンマッチング処理を行うことによって、グループ化されて編集対象としてマッチングされる。パターンマッチングの条件を満たしていれば、４３０１で示すように１行のテキストデータとしてマッチングされ、ユーザにとって編集作業を行い易いかたちとなる。
【図面の簡単な説明】
【００７７】
【図１】本実施形態のスタンドアロン型の文書処理システムのソフトウェア構成例を示すブロック図である。
【図２】本実施形態の文書処理システムを実現するハードウェア構成例を示すブロック図である。
【図３】ブックファイルの構造の一例を示す図である。
【図４】ブック属性の一覧を示す図である。
【図５】章属性の一覧を示す図である。
【図６】ページ属性の一覧を示す図である。
【図７】ブックファイルを開く手順例を示すフローチャートである。
【図８】電子原稿ファイルをブックファイルにインポートする手順例を示すフローチャートである。
【図９】図８のステップ８０１に示すアプリケーションデータを電子原稿ファイルに変換する手順例を示すフローチャートである。
【図１０】製本アプリケーションのＵＩ画面である。
【図１１】新規にブックファイルが作成された際のＵＩ画面である。
【図１２】クライアントサーバ型の文書処理システムのソフトウェア構成例を示すブロック図である。
【図１３】ステイプル制御システムの構成を示すブロック図である。
【図１４】本発明の原稿エディタの起動の例を示すＵＩ画面である。
【図１５】原稿エディタの起動手順を示すフローチャートである。
【図１６】原稿エディタのメインＵＩ画面を示している。
【図１７】テキスト編集におけるテキストオブジェクトの選択を示す図である。
【図１８】テキスト編集を実行する手順を示すフローチャートである。
【図１９】テキスト編集におけるテキストの追加を示す図である。
【図２０】テキスト編集におけるテキストの削除を示す図である。
【図２１】テキスト編集におけるテキストボックス作成を示す図である。
【図２２】テキストボックスの編集手順を示すフローチャートである。
【図２３】テキストボックスへのテキスト追加を示す図である。
【図２４】イメージ編集におけるイメージ挿入メニューの例を示す図である。
【図２５】イメージ編集におけるイメージの挿入の例を示す図である。
【図２６】イメージ編集におけるイメージの回転の例を示す図である。
【図２７】イメージの挿入手順を示すフローチャートである。
【図２８】イメージ編集におけるイメージ書き出しメニューの例を示す図である。
【図２９】イメージの書き出し手順を示すフローチャートである。
【図３０】オブジェクト編集における楕円作成メニューの例を示す図である。
【図３１】オブジェクト編集における楕円作成の例を示す図である。
【図３２】オブジェクト編集における新規作成順を示すフローチャートである。
【図３３】本発明の実施例におけるパターンマッチングの全体手順を示すフローチャートである。
【図３４】パターンマッチングの全体手順の中のパターンマッチング条件判定の手順を示すフローチャートである。
【図３５】パターンマッチング条件判定の手順の中のパターンマッチング例外処理手順を示すフローチャートである。
【図３６】原稿データ内のテキストデータの例を示す図である。
【図３７】一般のテキストデータに対するパターンマッチングの例を示した図である。
【図３８】フォント属性が異なるテキストデータに対するパターンマッチングの例を示した図である。
【図３９】文字方向が異なるテキストデータに対するパターンマッチングの例を示した図である。
【図４０】水平スケーリングが異なるテキストデータに対するパターンマッチングの例を示した図である。
【図４１】Ｙ座標の異なるテキストデータに対するパターンマッチングの例を示した図である。
【図４２】テキストレンダリングモードが異なるテキストデータに対するパターンマッチングの例を示した図である。
【図４３】原稿ファイルにおけるテキストパターンマッチングの例を示した図である。
【符号の説明】
【００７８】
１００  ホストコンピュータ
１０７  プリンタ
２０１  ＣＵＰ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０７  ディスクコントローラ
【図１】
2006099400.tif 000003
【図２】
2006099400.tif 000004
【図３】
2006099400.tif 000005
【図４】
2006099400.tif 000006
【図５】
2006099400.tif 000007
【図６】
2006099400.tif 000008
【図７】
2006099400.tif 000009
【図８】
2006099400.tif 000010
【図９】
2006099400.tif 000011
【図１０】
2006099400.tif 000012
【図１１】
2006099400.tif 000013
【図１２】
2006099400.tif 000014
【図１３】
2006099400.tif 000015
【図１４】
2006099400.tif 000016
【図１５】
2006099400.tif 000017
【図１６】
2006099400.tif 000018
【図１７】
2006099400.tif 000019
【図１８】
2006099400.tif 000020
【図１９】
2006099400.tif 000021
【図２０】
2006099400.tif 000022
【図２１】
2006099400.tif 000023
【図２２】
2006099400.tif 000024
【図２３】
2006099400.tif 000025
【図２４】
2006099400.tif 000026
【図２５】
2006099400.tif 000027
【図２６】
2006099400.tif 000028
【図２７】
2006099400.tif 000029
【図２８】
2006099400.tif 000030
【図２９】
2006099400.tif 000031
【図３０】
2006099400.tif 000032
【図３１】
2006099400.tif 000033
【図３２】
2006099400.tif 000034
【図３３】
2006099400.tif 000035
【図３４】
2006099400.tif 000036
【図３５】
2006099400.tif 000037
【図３６】
2006099400.tif 000038
【図３７】
2006099400.tif 000039
【図３８】
2006099400.tif 000040
【図３９】
2006099400.tif 000041
【図４０】
2006099400.tif 000042
【図４１】
2006099400.tif 000043
【図４２】
2006099400.tif 000044
【図４３】
2006099400.tif 000045