(57)【要約】【課題】  各種アプリケーションで生成されたデータからひとつの統合データを生成する統合アプリケーションにおいて、再編集した元原稿を統合データへ再インポートする場合、現状の文書処理方法及びそのシステムでは、利用者に多大な労力がかかる【解決手段】  文書処理方法及びシステムであり、統合アプリケーションは、統合データを作成する際に、（１）統合データ元原稿ファイルとのリンク関係を保持しておく。また、統合アプリケーションは、統合データを編集（ページの入れ替え、他のファイルとの結合）する際、統合データ内の区切り位置情報を保持しておく。  そして、（２）再インポート処理時に、上記（１）で取得した情報を用いて、再インポートする元原稿ファイルから区切り位置情報を検索し、取得した統合データ内の区切り位置情報と元原稿ファイル内から検索した区切り位置情報を用いて、区切り毎に統合データのページを差し替える。【選択図】  図１
2007087043.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムによって作成された電子データから電子原稿を作成し、複数の電子原稿から印刷編集用の統合データが作成可能なシステムにおいて、
統合データがどの電子データから作成されたかを保持する元原稿情報保持手段と、
統合データに為された編集情報を保持する電子原稿編集情報保持手段と、
電子原稿を再度作成して統合データを入れ替える電子原稿更新手段と
を有することを特徴とする文書処理システム。
【請求項２】
請求項１記載の元原稿情報保持手段は、
統合データと、元電子データ及び元電子データのページ番号とのリンク情報を保持することを特徴とする文書処理システム。
【請求項３】
請求項１記載の電子原稿編集情報保持手段は、
請求項２記載の元原稿情報保持手段によって保持された元電子データへのリンク情報を用いて、区切り位置情報を検出・保持することを特徴とし、
上記区切り位置情報は、統合データ内において、他の元電子データとの境、または元電子データのページ順が統合データ内で変更された箇所を示すことを特徴とする文書処理システム。
【請求項４】
請求項１記載の電子原稿更新手段は、
請求項２記載の元原稿情報保持手段によって保持された元電子データとのリンク情報を用いて、元電子データが既に統合データに含まれているかどうかを判断する手段と、
請求項３記載の電子原稿編集情報保持手段によって保持された区切り位置情報を、再度元電子データから作成された電子原稿データから検索する区切り位置検索手段と、
上記区切り位置検索手段によって見つかった区切り位置情報を用いて、統合データ内の更新該当箇所の入れ替えを行う手段と
を有することを特徴とする文書処理システム。
【請求項５】
請求項４記載の電子原稿更新手段は、請求項４記載の区切り位置検索手段において、電子原稿データから区切り位置が検索できなかった場合、区切り位置をユーザが指定するためのユーザインターフェースを持つことを特徴とする文書処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理方法及びそのシステム、例えば文書処理プログラムや画像編集プログラム等、様々なプログラムによって生成される出力データをひとつの文書としてまとめ、その文書に対する編集機能を提供する文書処理方法及びそのシステムに関し、特にパーソナルコンピュータ等の情報処理とプリンタから成るシステムにおける文書処理方法及びそのシステムに関するものである。
【背景技術】
【０００２】
文字や表、画像など、データの種類が異なると、データを定義する構造やそれらデータに対する編集操作が異なるために、データの種類に応じた様々なアプリケーションプログラムが提供されている。利用者は、文字を編集するためには文字処理プログラム、表を編集するためには表計算プログラム、画像を編集するためには画像編集プログラムといった具合に、データの種類別にアプリケーションを使い分けている。
【０００３】
このように、利用者はデータの種類ごとにアプリケーションプログラムを使い分けるのが一般的である。しかし、利用者が作成しようとする文書としては、例えば文字のみや、表のみ、画像のみといった１種類のデータのみから構成される文書よりも、文字と表、文字と画像など、複数種類のデータから構成される文書の方が一般的である。
【０００４】
そこで複数種類のデータを含む目的文書を作成するために、利用者は各種アプリケーションが備えている印刷機能を利用してアプリケーションごとにデータを印刷させ、印刷物を所望の順序に組み合わせる必要があった。このことは、利用者に多大な労力が必要とされるということであり、生産性の低下をもたらす。
【０００５】
上記問題点を鑑みて、いわゆるオフィススイートと呼ばれる、各種アプリケーションで生成されたデータ(以下、アプリケーションファイル)からひとつの統合アプリケーションファイルを生成する統合アプリケーションが登場した。統合アプリケーションでは、各アプリケーションで生成されたデータを組み合わせ、ひとつの文書を構成する機能を提供するものである。この統合アプリケーションを使用する場合、利用者は各アプリケーションファイルを統合アプリケーションに含まれる結合アプリケーションによってひとつの目的文書(統合アプリケーションファイル)にまとめることができる。
【０００６】
また、上記統合アプリケーションは、製本アプリケーションを含んでおり、統合アプリケーションファイル含のページの入れ替え、削除といった編集操作が可能である。
【０００７】
従来例としては、例えば特許文献１をあげることが出来る。
【特許文献１】特開２００４−７８７６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
利用者は統合アプリケーションを用いて、各元原稿ファイルからひとつの統合アプリケーションファイルを作成する。そして、製本アプリケーションにて編集（他のアプリケーションファイルとの結合、ページの入れ替え等）を行い最終的な目的文書を作成することができる。しかし目的文書を作成した後に、元原稿ファイルを編集し、統合アプリケーションファイルを更新する場合が考えられる。そのような場合、元原稿ファイルを各種アプリケーションにて再編集し、統合アプリケーションファイルへ変更内容を反映する必要がある（このような操作を再インポートと呼ぶ）。再インポートを行う場合、現状では利用者が以下のような操作を行う必要がある。このことは、利用者に多大な労力が必要とされるということであり、生産性の低下をもたらす。
【０００９】
１．統合アプリケーションファイルにおいて、再編集する元原稿ファイルを製本アプリケーションにて、該当統合アプリケーションファイルから削除する。
【００１０】
２．再編集した元原稿ファイルから、統合アプリケーションを用いて統合アプリケーションファイルを作成し、該当統合アプリケーションファイルと結合する。
【００１１】
３．製本アプリケーションを用いて編集（ページ入れ替え等）をもう一度最初から行う。
【課題を解決するための手段】
【００１２】
再インポート処理を行う際、統合アプリケーションファイルにおいて行った編集(ページ入れ替え、他ファイルとの結合)情報を自動的に引き継いだ統合アプリケーションファイルを作成することで上記課題を解決する。具体的な手段は以下の通りである。
（１） 統合アプリケーションは、統合アプリケーションファイルを作成する際に、統合アプリケーションファイルと元原稿ファイルとのリンク関係を保持しておく。
（２） 統合アプリケーションは、統合アプリケーションファイルを編集（ページの入れ替え、他のファイルとの結合）する際、統合アプリケーションファイル内の区切り位置情報を保持しておく。区切りとは統合アプリケーションファイルにおいて、
・元原稿ファイルが異なるページ同士の境
・元原稿ファイルのページ番号順になっていないページ同士の境
と定義する。
（３） 再インポート処理時に、上記（２）で取得した情報を用いて、再インポートする元原稿ファイルから区切り位置情報を検索する。
（４） 再インポート時に、上記（２）（３）で取得した統合アプリケーション内の区切り位置情報と元原稿ファイル内から検索した区切り位置情報を用いて、区切り毎に統合アプリケーションファイルのページを差し替える。
【発明の効果】
【００１３】
上記手段によって、利用者が再インポートする際、編集情報を自動的に引き継いだ統合アプリケーションファイルを生成することが出来る。そのため利用者にかかっていた多大な労力が必要なくなる。また、区切り位置情報を用いているため、元原稿ファイルの編集操作がページの増減を含むものであっても対応することが出来る。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１５】
＜システム概要＞
まず、本発明に係る文書処理システムの概要について、図１乃至図１２を参照して以下に説明する。尚、この文書処理システムは、一般のアプリケーションによって作成されたデータファイルを電子原稿ファイルに変換する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含み、作成されたデータを一まとめにした文書の作成及び編集を可能とし、その操作性を向上させて文書編集を効率的に行えるものである。
【００１６】
＜システム構成及び動作＞
図１は、本実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、本発明の情報処理装置に好適な実施形態であるデジタルコンピュータ１０１（以下、ホストコンピュータとも呼ぶ）によって実現されている。図１に示す一般アプリケーション１０１は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー、あるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、ＯＳに対する印刷機能を有している。これらのアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷する際に、オペレーティングシステム（ＯＳ）によって提供される所定のインタフェース（一般に、ＧＤＩと呼ばれる）を利用する。即ち、アプリケーション１０１は、作成したデータを印刷するために、上述のインタフェースを提供するＯＳの出力モジュールに対して、あらかじめ定められる、ＯＳに依存する形式の出力コマンド（ＧＤＩ関数と呼ばれる）を送信する。一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の出力デバイスが処理可能な形式に変換して、変換されたコマンド（ＤＤＩ関数と呼ばれる）を出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるため、デバイスごとにデバイスドライバが提供されており、ＯＳではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、ＪＬ（Job Language）でくくることにより印刷ジョブが生成される。
【００１７】
電子原稿ライタ１０２は、上述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。但し、電子原稿ライタ１０２は特定の出力デバイスを目的としておらず、詳細は後述する製本アプリケーション１０４やプリンタドライバ１０６により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ１０２による変換後の形式（以後電子原稿形式と呼ぶ）は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうち、例えばアドビシステムズによるＰＤＦ形式やＳＶＧ形式などが電子原稿形式として採用できる。
【００１８】
一般アプリケーション１０１から電子原稿ライタ１０２を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ１０２を指定してから印刷を実行させる。但し、電子原稿ライタ１０２によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ１０２を指定するのは製本アプリケーション１０４であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。そして、製本アプリケーション１０４は電子原稿ライタ１０２が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ１０２によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション１０４によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル（または文書データ）と呼ぶ。
【００１９】
このようにデバイスドライバとして電子原稿ライタ１０２を指定し、一般アプリケーション１０１によりデータを印刷させることで、アプリケーションデータはアプリケーション１０１によって定義されたページ（以後論理ページあるいは原稿ページと呼ぶ）を単位とする電子原稿形式に変換され、電子原稿ファイル１０３としてハードディスクなどの記憶媒体に格納される。尚、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
【００２０】
製本アプリケーション１０４は電子原稿ファイル（あるいはブックファイル）１０３を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション１０４は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
【００２１】
製本アプリケーション１０４によって編集されたブックファイル１０３を印刷する際には、製本アプリケーション１０４によって電子原稿デスプーラ１０５が起動される。電子原稿デスプーラ１０５は、製本アプリケーションと共にコンピュータ内にインストールされるプログラムモジュールであり、製本アプリケーションで利用するドキュメント（ブックファイル）を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。電子原稿デスプーラ１０５は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したＯＳの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ１０７用のプリンタドライバ１０６がデバイスドライバとして指定される。上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ１０７用のプリンタドライバ１０６に出力し、そのプリンタドライバ１０６がプリンタ１０７で解釈実行可能なページ記述言語等のコマンドに変換する。そして、変換されたコマンドはプリンタドライバ１０６から不図示のシステムスプーラを介してプリンタ１０７に送信され、プリンタ１０７によってコマンドに応じた画像が印刷される。
【００２２】
図２は、コンピュータ１００のハードウェアブロック図である。図２において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭに記憶された、あるいはハードディスク２１１からＲＡＭ２０２にロードされたＯＳや一般アプリケーション、製本アプリケーションなどのプログラムを実行し、図１のソフトウェア構成や、後述するフローチャートの手順を実現する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）２０５は、キーボード２０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６は、ＣＲＴディスプレイ２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）２０７は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク（ＨＤ）２１１やフロッピー（登録商標）ディスク（ＦＤ）等とのアクセスを制御する。ＰＲＴＣ２０８は、接続されたプリンタ１０７との間の信号の交換を制御する。ＮＣ２１２はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００２３】
＜電子原稿データの形式＞
製本アプリケーション１０４の詳細を言及する前に、ブックファイルのデータ形式について説明する。ブックファイルは紙媒体の書物を模倣した３層の層構造を有する。まず、上位層は「ブック」と呼ばれ、１冊の本を模倣しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。尚、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
【００２４】
図３に示す（Ａ）は、ブックファイルの形式の一例を模式的に示す図である。図示するように、この例では、ブックファイルにおけるブック，章，ページは、それぞれに相当するノードにより示されている。一つのブックファイルは一つのブックを含む。ブック，章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体（原稿ページデータ）と各原稿ページデータへのリンクを含む。
【００２５】
尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【００２６】
図３において、ブック３０１には、ブック属性が定義されていると共に、２つの章３０２Ａ，３０２Ｂがリンクされている。このリンクにより、章３０２Ａ，３０２Ｂがブック３０１に包含されていることが表示される。章３０２Ａには、ページ３０３Ａ，３０３Ｂがリンクされ、これらページが含まれることが示されている。各ページ３０３Ａ，３０３Ｂにはそれぞれ属性値が定義され、その実体である原稿ページデータ（１）、（２）へのリンクが含まれる。これらリンクは、図３に示す（Ｂ）のように原稿ページデータ３０４のデータ（１），（２）を指し示し、ページ３０３Ａ、３０３Ｂの実体が原稿ページデータ（１）、（２）であることを表示している。
【００２７】
図４は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に１項目に対応するのではなく、関連する複数の項目を含むものもある。
【００２８】
図５は章属性の、図６はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【００２９】
図４〜図６から明らかなように、ブック属性に固有の項目は、印刷方法、製本詳細、表紙／裏表紙、インデックス紙、合紙、章区切りの６項目である。これらはブックを通して定義される項目である。印刷方法の属性としては、片面印刷、両面印刷、製本印刷の３つの値を指定できる。ここで、製本印刷とは、別途指定する枚数の用紙を束にして２つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【００３０】
表紙／裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス（耳）部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【００３１】
合紙属性は、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。
【００３２】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が１枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が１枚の用紙の表裏に印刷されることがあり得る。
【００３３】
章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、Ｎ−ｕｐ印刷指定、拡大縮小、排紙方法の５項目である。これらのうち、Ｎ−ｕｐ印刷指定属性は１印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、１×１、１×２、２×２、３×３、４×４などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【００３４】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを１００％として指定される。仮想論理ページ領域とは、原稿ページを、Ｎｕｐ等の指定に応じて配置した場合に、１原稿ページが占める領域である。例えば、１×１であれば、仮想論理ページ領域は１印刷ページに相当する領域となり、１×２であれば、１印刷ページの各辺を約７０パーセントに縮小した領域となる。
【００３５】
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。尚、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
【００３６】
＜ブックファイルの生成手順＞
ブックファイルは上述したような構造及び内容を有している。次に、製本アプリケーション１０４及び電子原稿ライタ１０２によるブックファイルの作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション１０４によるブックファイルの編集操作の一環として実現される。
【００３７】
図７は、製本アプリケーション１０４によりブックファイルを開く際の手順である。まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する（ステップＳ７０１）。新規作成の場合には、章を含まないブックファイルを新規に作成する（ステップＳ７０２）。新規に作成されるブックファイルは、図３の例で示せば、ブックノード３０１のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインターフェース（ＵＩ）画面を表示する（ステップＳ７０３）。図１１は、新規にブックファイルが作成された際のＵＩ画面の一例である。この場合は、ブックファイルは実質的な内容を持たないため、ＵＩ画面１１００には何も表示されない。
【００３８】
一方、既存のブックファイルがあれば、指定されたブックファイルを開き（ステップＳ７０３）、そのブックファイルの構造、属性、内容に従ってユーザインターフェース（ＵＩ）画面を表示する。図１０は、既存のブックファイルから指定されたブックファイルを表示するＵＩ画面の一例である。ＵＩ画面１１００は、ブックの構造を示すツリー部１１０１と、印刷された状態を表示するプレビュー部１１０２とを含む。ツリー部１１０１には、ブックに含まれる章、各章に含まれるページが図３に示す（Ａ）のような木構造で表示される。ツリー部１１０１に表示されるページは原稿ページである。またプレビュー部１１０２には、印刷ページの内容が縮小されて表示される。その表示順序はブックの構造を反映したものとなっている。
【００３９】
さて、開かれたブックファイルには、電子原稿ライタ１０２によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図７に示す手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図１０の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
【００４０】
図８に電子原稿インポートの手順を示す。まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ１０２を指定してアプリケーションデータを印刷出力させることで、電子原稿データに変換する（ステップＳ８０１）。変換を終えたなら、変換されたデータが画像データであるか否かを判定する（ステップＳ８０２）。この判定は、ＯＳの下であれば、アプリケーションデータのファイル拡張子に基づいて行われる。例えば、拡張子が「ｂｍｐ」であればビットマップデータであり、「ｊｐｇ」であればｊｐｅｇ圧縮された画像データ、「ｔｉｆｆ」であればｔｉｆｆ形式の画像データであると判定できる。また、このような画像データの場合はＳ８０１０のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、Ｓ８０１０の処理を省略することも可能である。
【００４１】
ここで、画像データでなかった場合には、ステップＳ８０１で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する（ステップＳ８０３）。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
【００４２】
また、ステップＳ８０２で画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップＳ８０１で生成された電子原稿ファイルに含まれる各原稿ページが追加される（ステップＳ８０４）。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、Ｎｕｐ指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
【００４３】
図９は、図８に示すステップＳ８０１において、電子原稿ライタ１０２により電子原稿ファイルを生成させる手順のフローチャートである。まず、新たな電子原稿ファイルを作成してそれを開く（ステップＳ９０１）。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとしてＯＳの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタ１０２によって電子原稿形式のデータに変換し、出力する（ステップＳ９０２）。その出力先はステップＳ９０１で開いた電子原稿ファイルである。指定されたデータ全てについて変換が終了したか判定し（ステップＳ９０３）、終了していれば電子原稿ファイルを閉じる（ステップＳ９０４）。電子原稿ライタ１０２によって生成される電子原稿ファイルは、図３の（Ｂ）に示される原稿ページデータの実体を含むファイルである。
【００４４】
＜ブックファイルの編集＞
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
（１）新規追加
（２）削除
（３）コピー
（４）切り取り
（５）貼り付け
（６）移動
（７）章名称変更
（８）ページ番号名称振り直し
（９）表紙挿入
（１０）合紙挿入
（１１）インデックス紙挿入
（１２）各原稿ページに対するページレイアウト。
【００４５】
このほか、一旦行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などの編集操作が可能となる。これらの操作を行うと、図４、図５に示す属性に操作結果が反映されたり、あるいはブックファイルの構造に反映される。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やＮ−ｕｐ印刷、表紙／裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【００４６】
＜ブックファイルの出力＞
以上のように作成・編集されるブックファイルは、印刷出力を最終目的とするものである。ここで、利用者が図１０に示した製本アプリケーションのＵＩ画面１１００からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション１０４は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ１０５に渡す。一方、電子原稿デスプーラ１０５は、ジョブチケットをＯＳの出力コマンド、例えばＧＤＩ関数に変換し、それを出力モジュール、例えばＧＤＩに送信する。出力モジュールは、指定されたプリンタドライバ１０６によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
【００４７】
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは１ジョブにつき１つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷／片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。１シートは１枚の用紙に相当する。各シートには、印刷ページ（物理ページ）が属する。片面印刷ならば１シートには１物理ページが属し、両面印刷ならば１シートに２物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
【００４８】
電子原稿デスプーラ１０５は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
【００４９】
＜ブックファイルへの再インポート手段＞
ここではブックファイルへの再インポート手段、すなわち、これまで述べてきた文書処理システムにおいて、ブックファイルを生成した後に、ブックファイルの元であるアプリケーションデータ（以下、元原稿ファイルと呼ぶ）を各種アプリケーションで編集し、再びブックファイルを生成する場合の処理手順について説明する。このように、ブックファイルに既にインポートされた元原稿ファイルを再度インポートする処理を再インポートと呼ぶこととする。
【００５０】
まず、再インポート処理を行うためにブックファイルに保持させておく必要のある情報について説明する。ブックファイルを作成・編集する際に、図6に示したページ属性に図１２に示すような元原稿情報テーブル１２００を加えておく。元原稿情報テーブル１２００は、ブックファイル上のページ番号１２０１、元原稿ファイルがどのファイルであるかの情報を示す元原稿ファイル１２０２、元原稿上でのページ番号を示す元原稿ファイルページ番号１２０３を保持するものとする。元原稿ファイルの特定手段としては、元原稿ファイルのフルパスや元原稿ファイル名等を元原稿ファイル１２０２へ格納することが例として挙げられるが、元原稿ファイルを特定することが出来ればその手段は特に問わない。元原稿情報テーブル１２００は、ブックファイルを作成・編集する際に生成しておくものとする。
【００５１】
また、図１３に示すような元原稿区切り情報テーブル１３００も作成する。元原稿区切り情報テーブル１３００は、ブックファイル属性のひとつとしてブックファイルが保持することとする。元原稿区切り情報テーブル１３００の説明をする前に、「区切り」とは何かについて述べる。製本アプリケーション１０４を用いて、ページ入れ替えや他の電子原稿ファイルとの結合を行うと、ブックファイルにおいて、元原稿ファイルのページ並び順通りではなくなることがある。そのような箇所を「区切り」と定義する。具体的には以下のような箇所が区切りとなる。
【００５２】
・ブックファイルにおいて、元原稿ファイルが異なるページ同士の境
・ブックファイルにおいて、元原稿ファイルのページ番号順になっていないページの境
例として図１４に示したようなブックファイル１４００における「区切り」を挙げる。ブックファイル１４００は、元原稿ファイルAと元原稿ファイルBを統合アプリケーションで結合し、製本アプリケーションにてページの入れ替え操作を行ったものである。ブックファイル１４００において、上記「区切り」は以下のようになる。
【００５３】
区切り１  ：1ページ目
区切り２  ：２ページ目、３ページ目
区切り３  ：４ページ目
区切り４  ：５ページ目
区切り５  ：６ページ目
元原稿区切り情報テーブル１３００は、区切り番号１３０１、先頭情報１３０２、末尾情報１３０３、先頭ページ番号１３０４、末尾ページ番号１３０５といった情報を持つ。
【００５４】
元原稿情報テーブル１２００を用いて、区切り位置を探索し見つかった区切り順に区切り番号１３０１を与える。区切り位置は、ブックファイルにおいて元原稿ファイル１２０２が異なるページ同士の境、元原稿ファイル１２０２が同一で、元原稿ファイルページ番号１２０３がブックファイル上でページ番号順になっていないページの境を検出することで探索するものとする。先頭情報１３０２には、該当区切りの先頭から一定数の文字列を格納する。また末尾情報１３０３には、該当区切りの末尾から一定数の文字列を格納する。今回の例では文字列を格納とするものとして説明を進めるが、例えば図、表データ等が該当区切りの先頭にあった場合は、図、表データを格納してもよい。また先頭ページ番号１３０４には、該当区切りの先頭ページのブックファイル上でのページ番号を、末尾ページ番号１３０５には該当区切りの末尾ページのブックファイル上でのページ番号をそれぞれ格納する。
【００５５】
製本アプリケーション１０４において、編集を行う度に元原稿区切り情報テーブル１３００を更新するものとする。
【００５６】
上記のような元原稿区切り情報テーブル１３００を保持しているブックファイルに対して、再インポートを行う処理手順を、図１５に示したフローチャートを用いて説明する。
【００５７】
図８を用いて説明した電子原稿インポート処理と同様に、図１０の画面にアプリケーションデータをドラッグアンドドロップ操作することで、再インポート処理が開始される。
【００５８】
処理１５０１にて、ブックファイルの各ページが保持している元原稿情報テーブル１２００を参照し、元原稿ファイルが既にブックファイルにインポートされているかどうか判断する。そして、元原稿ファイルが既にブックファイルにインポートされたファイルであった場合は処理１５０２へ移行する。そうでなかった場合は通常の電子原稿インポート処理１５１０（図８に示した手順）へ移行する。
【００５９】
処理１５０２では、ユーザに同一文書が既にインポートされている旨を通知し、再インポート処理を行うか通常のインポート処理を行うかを選択するユーザインターフェースを表示する。通常のインポート処理を行うと選択した場合は、処理１５１０へ移行し、再インポート処理を選択した場合は処理１５０４へ移行する。
【００６０】
処理１５０４にて、ステップS８０１と同様にアプリケーションデータを電子原稿ファイルに変換する。
【００６１】
次に処理１５０５にてインポート先ブックファイルが保持する元原稿区切り情報テーブル１３００を取得する。
【００６２】
次に処理１５０６にて生成された電子原稿ファイルから区切り位置を探索する。元原稿区切り情報テーブル１３００が保持している先頭情報１３０２と末尾情報１３０３を、作成した電子原稿ファイルから探索し、図１６に示すような再インポート区切り情報テーブル１６００を作成する。再インポート区切り情報テーブル１６００は区切り番号１６０１、先頭ページ番号１６０２と末尾ページ番号１６０３から構成される。区切り番号１６０１は元原稿区切り情報テーブル１３００の区切り番号１３０１を格納する。また、先頭ページ番号１６０２には先頭情報１５０２が探索された電子原稿ファイルのページ番号を、末尾ページ番号１６０３には末尾情報１５０３が探索された電子原稿データのページ番号をそれぞれ格納する。先頭情報１５０２・末尾情報１５０３が文字列である場合、生成された電子原稿データ内を文字列検索することによって探索する。しかし、元原稿の編集において、先頭情報・末尾情報が編集され、生成した電子原稿ファイルに存在しない場合や、ページの入れ替え等によって文章構成が変わった場合等、先頭情報１５０２・末尾情報１５０３が正常に探索できず、結果として区切りを正常に探索できない場合がある。以下に区切りを正常に探索できない状況を列挙する。
【００６３】
１．同一の先頭情報・末尾情報が入稿文書内に複数存在する場合
２．末尾情報が先頭情報より前ページに存在する場合
３．先頭情報・末尾情報が他の区切りの先頭情報・末尾情報と同一ページに存在する場合
４．先頭情報と末尾情報の間に他の区切りが存在する（入れ子状態になっている）場合
５．先頭情報のみ探索できる場合
６．末尾情報のみ探索できる場合
なお、処理１５０６から処理１５０８までの処理は、すべての区切りに対して処理を行うものとする。
【００６４】
次に処理１５０７において、区切りが正常に探索できたかの判断をする。正常に探索できた場合は処理１５０８へ移行し、前述した理由により探索できなかった場合は処理１５１１へ移行する。
【００６５】
処理１５０８にて、ページの差し替え処理を行う。ページ差し替え処理は、該当の区切りにおいて、元原稿区切り情報テーブル１３００の先頭ページ番号１３０４から末尾ページ番号１３０５をブックファイルから削除し、新たに生成した電子原稿ファイルの中から、再インポート区切り情報テーブル１６００の先頭ページ番号１６０２から末尾ページ番号１６０３までのページをブックファイルへ挿入することによって行う。
【００６６】
一方、処理１５１１では、ページ差し替えのための不図示のユーザインターフェースを表示し、ユーザに区切り位置の指定を促す。ユーザからの指定を元に再インポート区切り情報テーブル１６００を作成し、処理１５０８へ移行する。
【００６７】
次に処理１５０９にてすべての区切りを処理したかの判断を行い、未処理の区切りがある場合は処理１５０６へ移行し、ない場合は処理を終了する。
【図面の簡単な説明】
【００６８】
【図１】本実施形態の文書処理システムのソフトウェア構成例を示すブロック図である。
【図２】本実施形態の文書処理システムを実現するハードウェア構成例を示すブロック図である。
【図３】ブックファイルの構造の一例を示す図である。
【図４】ブック属性の一覧を示す図である。
【図５】章属性の一覧を示す図である。
【図６】ページ属性の一覧を示す図である。
【図７】ブックファイルを開く手順例を示すフローチャートである。
【図８】新規のブックファイルを開いた際のユーザインターフェース画面の一例を示す図である。
【図９】既存のブックファイルを開いた際のユーザインターフェース画面の一例を示す図である。
【図１０】電子原稿ファイルをブックファイルにインポートする手順例を示すフローチャートである。
【図１１】図１０のステップ８０１に示すアプリケーションデータを電子原稿ファイルに変換する手順例を示すフローチャートである。
【図１２】本実施例で用いる元原稿情報テーブルを示す図である。
【図１３】本実施例で用いる元原稿区切り情報テーブルを示す図である。
【図１４】２つの元原稿から生成・編集されたブックファイルの一例を示す図である。
【図１５】再インポートを行う手順例を示すフローチャートである。
【図１６】本実施例で用いる再インポート区切り位置情報テーブルを示す図である。
【図１】
2007087043.tif 000003
【図２】
2007087043.tif 000004
【図３】
2007087043.tif 000005
【図４】
2007087043.tif 000006
【図５】
2007087043.tif 000007
【図６】
2007087043.tif 000008
【図７】
2007087043.tif 000009
【図８】
2007087043.tif 000010
【図９】
2007087043.tif 000011
【図１０】
2007087043.tif 000012
【図１１】
2007087043.tif 000013
【図１２】
2007087043.tif 000014
【図１３】
2007087043.tif 000015
【図１４】
2007087043.tif 000016
【図１５】
2007087043.tif 000017
【図１６】
2007087043.tif 000018