以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
[本実施形態の文書処理システムの概要]
本発明の実施の形態1に係る文書処理システムの概要を、図1〜図12を参照して説明する。この文書処理システムでは、一般的なアプリケーションにより作成されたデータファイルが、電子原稿ライタによって電子原稿ファイルに変換される。製本アプリケーションは、その電子原稿ファイルを編集する機能を提供している。以下、その詳細を説明する。
<システム構成及び動作>
図1は、本発明の実施の形態に係る情報処理システムに好適な文書処理システムのソフトウェア構成を示す図である。
この文書処理システムは、本実施の形態に係る情報処理装置の好適な実施形態であるデジタルコンピュータ100によって実現されている。一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー或いはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、印刷機能を有している。これらアプリケーションプログラムは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム(OS)により提供される所定のインターフェースを利用する。即ち、アプリケーション101は、作成したデータを印刷するために、前記インターフェースを提供するOSの出力モジュールに対して、予め定められる、OSに依存する形式の出力コマンド(GDI関数)を送信する。この出力コマンドを受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、その変換されたコマンド(DDI関数)を出力する。この出力デバイスが処理可能な形式は、デバイスの種類やメーカ、機種などによって異なる。そのため、デバイスごとにデバイスドライバが提供されており、OSでは、そのデバイスドライバを利用してコマンドの変換を行うことにより印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブを生成する。このOSとして、例えばマイクロソフト社のウインドウズ(Windows(登録商標))を利用する場合は、前述した出力モジュールとしてはGDI(Graphic Device Interface)と呼ばれるモジュールが相当する。
電子原稿ライタ102は、前述のデバイスドライバを改良したものであり、この文書処理システム実現のために提供されるソフトウェアモジュールである。但し、この電子原稿ライタ102は、特定の出力デバイスを目的としておらず、後述の製本アプリケーション104やプリンタドライバ106により処理可能な形式に出力コマンドを変換することにより電子原稿ファイル103を生成する。この電子原稿ライタ102による変換後の形式(以後、「電子原稿形式」と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうちでは、例えばアドビシステムズによるPDF形式や、SGML形式などが電子原稿形式として採用できる。アプリケーション101により電子原稿ライタ102を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ102を指定してから印刷を実行させる。但し、電子原稿ライタ102によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。製本アプリケーション104は、電子原稿ライタ102が生成した新規の不完全な電子原稿ファイルを、後述する形式を備えた電子原稿ファイルとして完成させる。以下では、この点を明瞭に識別する必要がある際には、電子原稿ライタ102によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
このようにデバイスドライバとして電子原稿ライタ102を指定し、一般アプリケーション101によりそのデータを印刷させる。これにより、アプリケーションデータはアプリケーション101によって定義されたページ(以後、「論理ページ」或いは「原稿ページ」と呼ぶ)を単位とする電子原稿形式に変換される。変換されたデータは、その後に、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。尚、ハードディスクは、本実施形態に係る文書処理システムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション104は、「電子原稿ファイル」或いは「ブックファイル」103を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
製本アプリケーション104によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。この電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、そのブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ107用のプリンタドライバ106がデバイスドライバとして指定される。そして出力モジュールは、指定されたプリンタ107のプリンタドライバ106を用いて、受信した出力コマンドをプリンタ107で解釈実行可能なデバイスコマンドに変換する。そして、このデバイスコマンドは、プリンタ107に送信され、プリンタ107によって、そのコマンドに応じた画像が印刷される。
図2は、図1に示すデジタルコンピュータ100のハードウェア構成を示すブロック図である。
図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOSや一般アプリケーション101、製本アプリケーション104などのプログラムを実行する。これにより、図1のソフトウェア構成や、後述するフローチャートの手順を実現する。RAM202はCPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は表示部210の表示を制御する。尚、この表示部210はCRTに限定されず、例えば液晶、プラズマなどでも良い。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク(HD)211との間でのアクセスを制御する。PRTC208は、接続されたプリンタ107との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
<電子原稿データの形式>
編集アプリケーション104の詳細に言及する前に、上述した「ブックファイル」のデータ形式を説明する。
このブックファイルは、紙媒体の書物を模した3層の層構造を有する。上位層は「ブック」と呼ばれ、1冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各「章」についても、章ごとの属性が定義できる。下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各「ページ」ついてもページごとの属性が定義できる。尚、一つの「ブック」は複数の「章」を含むことができ、また一つの「章」は複数の「ページ」を含むことができる。
図3(A)は、ブックファイルの形式の一例を模式的に示す図である。この例のブックファイルは「ブック」、「章」、「ページ」を含む階層構造を有している。これら「ブック」、「章」、「ページ」は、それぞれに相当するノードにより示されている。一つのブックファイルは一つの「ブック」を含む。「ブック」、「章」は、「ブック」としての構造を定義するための概念であるから、この定義された属性値と下位層へのリンクとをその実体として含む。「ページ」は、アプリケーションプログラムによって出力された「ページ」ごとのデータを実体として有する。そのため「ページ」は、その属性値の他、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。尚、紙媒体等に出力する際の印刷ページは、複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、「ブック」、「章」、「ページ」の各階層における属性として表示される。
図3(A)において、ブック301には、ブック属性が定義されているとともに、2つの章302A,302Bがリンクされている。このリンクにより、章302A,302Bがブック301に包含されていることが表示される。更に章302Aには、ページ303A,303Bがリンクされ、これらページが含まれることが示されている。各ページ303A,303Bには、それぞれそのページの属性値が定義され、その実体である原稿ページデータ(1)、(2)へのリンクが含まれる。これらリンクは、図3(B)に示す原稿ページデータ304の原稿データ(1),(2)を指示しており、ページ303A、303Bの実体が、原稿ページデータ(1)、(2)であることを表示する。
同様に、章302Bにはページ303C,303Dが含まれ、その実体である原稿ページデータ(3)、(4)へのリンクが含まれている。これらリンクは、図3(B)に示す原稿ページデータ304の原稿データ(3),(4)を指示しており、ページ303C、303Dの実体が、原稿ページデータ(3)、(4)であることが表示される。
図4は、本実施の形態に係るブック属性301を説明するための図である。
ここでは、下位層と重複して定義可能な項目に関しては、下位層の属性値が優先的に採用される。そのためブック属性301にのみ含まれる項目に関しては、そのブック属性301で定義された値が、そのブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
図5は、本実施の形態に係る章属性を説明する図、図6は本実施の形態に係るページ属性を説明する図である。ここで、これら章属性とページ属性との関係も、前述のブック属性と下位層の属性との関係と同様である。
図4において、ブック属性301に固有の項目は、「印刷方法」、「製本詳細」、「表紙/裏表紙」、「インデックス紙」、「合紙」、「章区切り」の6項目である。これら項目は、そのブックを通して定義される項目である。
「印刷方法」の属性としては、「片面印刷」、「両面印刷」、「製本印刷」の3つの値を指定できる。ここで「製本印刷」とは、別途指定する枚数の用紙を束にして2つ折りにし、その束を綴り合わせることで製本が可能となる形式で印刷する方法である。「製本詳細」の属性としては、「印刷方法」で「製本印刷」が指定されている場合に、「見開き方向」や「束になる枚数」等が指定できる。
「表紙/裏表紙」の属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙および裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。「インデックス紙」の属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定およびインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが、使用する印刷装置に備えられている場合か、或いは、複数の給紙カセットを使用可能である場合に有効となる。これは「合紙」の属性についても同様である。この「合紙」の属性は、章の区切りとして、インサータから、或いは給紙カセットから供給される用紙の挿入の指定、及び、合紙を挿入する場合には、給紙元の指定などを含む。
「章区切り」の属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。「片面印刷」時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。「両面印刷」時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
次に図5に示す章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。前述のブック属性と章属性とにのみ共通する項目は、「用紙サイズ」、「用紙方向」、「N−up印刷指定」、「拡大縮小」、「排紙方法」の5項目である。このうち「N−up印刷指定」の属性は、1枚の印刷ページに含まれる原稿ページ数を指定するための項目である。ここで指定可能な配置としては、1×1や1×2、2×2、3×3、4×4などがある。「排紙方法」の属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
次に図6に示すページ属性において、このページ属性に固有の項目には、「ページ回転指定」、「ズーム」、「配置指定」、「アノテーション」、「ページ分割」などがある。「ページ回転指定」は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。「ズーム」の属性は、原稿ページの変倍率を指定するための項目である。この変倍率は、仮想論理ページ領域のサイズを100%として指定される。この仮想論理ページ領域とは、原稿ページをN−up等の指定に応じて配置した場合に、1原稿ページが占める領域である。例えば1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
以上説明した「ブック」、「章」、「ページ」のそれぞれについて共通な属性として、「ウォーターマーク」属性および「ヘッダ・フッタ」属性がある。「ウォーターマーク」とは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。「ヘッダ・フッタ」は、それぞれ各ページの上余白および下余白に印刷されるウォーターマークである。但し、この「ヘッダ・フッタ」には、ページ番号や日時など、変数により指定可能な項目が用意されている。尚、「ウォーターマーク」の属性及び「ヘッダ・フッタ」の属性において指定可能な内容は、「章」と「ページ」では共通であるが、「ブック」の場合では、それらと異なっている。「ブック」においては、「ウォーターマーク」や「ヘッダ・フッタ」の内容を設定できるし、また、ブック全体を通してどのように「ウォーターマーク」や「ヘッダ・フッタ」を印刷するかを指定することができる。一方、「章」や「ページ」では、その章やページにおいて、ブックで設定された「ウォーターマーク」や「ヘッダ・フッタ」を印刷するか否かを指定できるだけである。
<ブックファイルの生成手順>
上述した製本アプリケーション104によって構造を与えられた電子原稿ファイルである「ブックファイル」は、上述したような構造及び内容を有している。次に、製本アプリケーション104及び電子原稿ライタ102によってブックファイルを作成する手順を説明する。このブックファイルの作成は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
図7は、本実施の形態に係る製本アプリケーション104によりブックファイルを開く際の手順を説明するフローチャートである。
まずステップS701で、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるかを判定する。新規作成の場合にはステップS702に進み、章を含まないブックファイルを新規に作成する。この新規に作成されるブックファイルは、図3の例で示せば、ブックノード301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。この場合のブック属性は、新規作成用として予め用意された属性のセットが適用される。そしてステップS704に進み、新規ブックファイルを編集するためのユーザインターフェース(UI)画面を表示する。
図11は、新規にブックファイルが作成された際のUI画面の一例を示す図である。この場合には、ブックファイルは実質的な内容を持たないために、UI画面1100には何も表示されない。
一方、ステップS701で、既存のブックファイルがあればステップS703に進み、指定されたブックファイルを開き、そのブックファイルの構造、属性、内容に従ってユーザインターフェース(UI)画面を表示する。
図10は、この表示されたUI画面の一例を示す図である。
このUI画面1100は、ブックの構造を示すツリー部1101と、印刷された状態を表示するプレビュー部1102とを含む。ツリー部1101には、そのブックに含まれる章、各章に含まれるページが、前述の図3(A)のような木構造で表示される。ツリー部1101にはページ番号が表示されており、このページ番号は原稿ページの番号を示している。またプレビュー部1102には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
さて、このオープンされたブックファイルには、電子原稿ライタ102によって、電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を「電子原稿インポート機能」と呼ぶ。前述の図7のフローチャートで示す手順に沿って新規に作成されたブックファイルに、この電子原稿インポートすることで、そのブックファイルに実体が与えられる。この機能は、図10の画面において、アプリケーションデータをドラッグアンドドロップ操作することで起動される。
図8は、本実施の形態に係る電子原稿インポートの手順を示すフローチャートである。
まず、指定されたアプリケーションデータ(第2の原稿ファイル)を生成したアプリケーションプログラムを起動する。そして、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷させることにより電子原稿データに変換する(ステップS801)。この電子原稿データへの変換を終えるとステップS802に進み、その変換されたデータが画像データであるか否かを判定する。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行うことができる。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればJPEG圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はステップS801のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、ステップS801の処理を省略することも可能である。
ステップS802で、画像データでなかった場合はステップS803に進み、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイル(第1の原稿ファイル)のブックに、新たな章として追加する様態でインポートする。この場合、章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
又ステップS802で画像データである場合にはステップS804に進み、原則として新たな章は追加されず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページを追加する様態でインポートする。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして、電子原稿ファイルの各ページが追加される。ここでページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、「N−up印刷指定」などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、或いは新規な章が追加される。
図9は、図8のステップS801において、電子原稿ライタ102により電子原稿ファイルを生成させる手順を示すフローチャートである。
まずステップS901で、新たな電子原稿ファイルを作成してそれを開く。次にステップS902に進み、その指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタ102をデバイスドライバとして、OSの出力モジュールに対して出力コマンドを送信させる。この出力モジュールは、受信した出力コマンドを電子原稿ライタによって電子原稿形式のデータに変換して出力する。ここで、その出力先は、ステップS901で開いた電子原稿ファイルである。次にステップS903に進み、指定されたデータの全てについて変換が終了したか判定し、終了していればステップS904に進み、その電子原稿ファイルを閉じる。この様にして電子原稿ライタ102によって生成される電子原稿ファイルは、前述の図3(B)に示した、原稿ページデータの実体を含むファイルである。
<ブックファイルの編集>
以上のようにして、アプリケーションデータからブックファイルを作成することができる。こうして生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
(1)新規追加
(2)削除
(3)コピー
(4)切り取り
(5)貼り付け
(6)移動
(7)章名称変更
(8)ページ番号名称振り直し
(9)表紙挿入
(10)合紙挿入
(11)インデックス紙挿入
(12)各原稿ページに対するページレイアウト。
この他、一旦行った編集操作を取り消す操作や、更に、取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などといった編集操作が可能となる。これらの操作を行うと、図4乃至図6に示す属性に捜査結果が反映されたり、或いはブックファイルの構造に反映される。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
<ブックファイルの出力>
以上のように作成・編集されるブックファイルは印刷出力を最終目的としている。利用者が図10に示す製本アプリケーションのUI画面1100からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷が行われる。この際、まず製本アプリケーション104は、現在開かれているブックファイルからジョブチケットを作成して電子原稿デスプーラ105に渡す。これにより電子原稿デスプーラ105は、ジョブチケットをOSの出力コマンド、例えばウインドウズのGDIコマンドに変換し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、その指定されたプリンタドライバ106によって、出力デバイスに適したコマンドを生成し、その出力デバイスに送信する。
ここでジョブチケットは、原稿ページを最小単位とする構造を有するデータである。このジョブチケットにおけるデータ構造は、用紙上における原稿ページのレイアウトを定義している。このジョブチケットは、1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子や、プリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。1シートは1枚の印刷用紙に相当し、各シートには、印刷ページ(物理ページ)が属している。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
電子原稿デスプーラ105は、上述のジョブチケットを出力モジュールへの出力コマンドに変換する。
<そのほかのシステム構成>
本実施の形態に係る文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバ・クライアントシステムでもほぼ同様の構成・手順でブックファイルが作成・編集される。ただし、ブックファイルや印刷処理はサーバによって管理される。
図12は、本実施の形態に係るサーバ・クライアント型の文書処理システムの構成を示すブロック図である。
クライアント文書処理システム1200は、スタンドアロン型システムに、各クライアントモジュール加えた構成を有する。すなわち、DOMS(Document Output Management Service:文書出力管理サービス)ドライバ109およびDOMSプリントサービスモジュール110、DS(文書サービス)クライアントモジュール108である。このクライアント文書処理システム1200に、文書管理サーバ1201および印刷集中管理サーバ1202およびプリントサーバ1203が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システム1200と接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。尚、図12では、文書管理サーバ1201と印刷集中管理サーバ1202の両サーバがクライアントに接続されているが、いずれか一方のみがネットワーク上に存在する場合もあり得る。接続されているサーバが文書管理サーバであれば、そのクライアントモジュールを含む文書管理サーバ・クライアントシステム1201SCが、スタンドアロン型文書管理システムに追加される。印刷集中管理サーバ1202であれば、そのクライアントモジュールを含む印刷管理サーバ・クライアントシステム1202SCが、スタンドアロン型文書管理システムに追加される。
文書管理サーバ1201は、製本アプリケーション104により作成・編集されたブックファイルを格納するサーバである。この文書管理サーバ1201によってブックファイルを管理する場合、ブックファイルは、クライアントPCのローカルHDに代わって、或いはそれに加えて、文書管理サーバ1201のデータベース1211に保存される。製本アプリケーション104と文書管理サーバ1201との間のブックファイルの保存及び読み出しは、DSクライアント108及びDSコア1212を介して行われる。
印刷集中管理サーバ1202は、クライアント文書管理システム1200に格納された、或いは文書管理サーバ1201に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、DOMSドライバ109及びDOMSプリントサービスモジュール110を介して印刷集中管理サーバ1202のDOMSWGサーバモジュール1221に送信される。印刷集中管理サーバ1202は、クライアントのプリンタ107で印刷する場合には、クライアントのDOMSプリントサービスモジュール110を介して電子原稿デスプーラ105に電子原稿データを渡す。
一方、プリントサーバ1203により印刷する場合には、プリントサーバ1203のDOMSプリントサービスモジュール1231に送信する。印刷集中管理サーバ1202は、例えば保存されているブックファイルに対して、その印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、この文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
<プレビュー表示の内容>
既に説明したとおり、ブックファイルが製本アプリケーションによって開かれると、図10に示すユーザインターフェース画面1100が表示される。ここでツリー部1101には、開いているブック(以下、「注目ブック」と呼ぶ)の構造を示すツリーが表示される。印刷プレビュー部1102には、利用者の指定に応じて、3通りの表示方法が用意されている。第1は原稿ページをそのまま表示する「原稿ビューモード」である。この「原稿ビューモード」では、注目ブックに属する原稿ページの内容が縮小されて表示される。この場合、プレビュー部1102の表示には、その原稿のレイアウトは反映されない。第2は「印刷ビューモード」である。この「印刷ビューモード」では、プレビュー部1102には、各原稿ページのレイアウトが反映された形で原稿ページが表示される。第3は「簡易印刷ビューモード」である。この「簡易印刷ビューモード」では、各原稿ページの内容はプレビュー部1102の表示には反映されず、そのレイアウトのみが反映される。
次に本発明の実施の形態の特徴について説明する前に、本実施の形態に適用可能なホストコンピュータ100(本発明の情報処理装置に相当する)とプリンタ107とを有する文書処理システムの構成について説明する。尚、ホストコンピュータ100(以下、クライアントと呼ぶこともある)の構成に関しては、前述の図2を参照して説明した通りであるので、ここでは共通する箇所には同じ番号を付し、その説明を省略する。またプリンタ107は、クライアントに接続されたローカルプリンタであっても、或いはサーバに接続されたプリンタ1204(図12)の場合であってもいずれの場合にも適用可能であるものとする。
図13は、本発明の実施の形態に係る文書処理システムの構成を説明するためのブロック図である。なお、本実施の形態に係る機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。尚、ここでホストコンピュータ100の構成は前述の図2と同じであるため、その説明を省略する。
プリンタ107はCPU12により制御される。このCPU12は、ROM13のプログラム用ROMに記憶された制御プログラム、或いは外部メモリ14に記憶されRAM19にロードされた制御プログラムに基づいて、システムバス15に接続される印刷部17に出力情報としての画像信号を出力する。また、このROM13のプログラム用ROMには、CPU12の制御プログラムが記憶されている。ROM13のフォント用ROMには、上記出力情報を生成する際に使用するフォントデータ等が記憶される。ROM13のデータ用ROMには、ハードディスク等の外部メモリ14が設けられていないプリンタの場合には、ホストコンピュータ100で利用される情報等が記憶されている。
CPU12は入力部18を介してホストコンピュータ100との間での通信処理が可能となっており、プリンタ107の情報等をホストコンピュータ100に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMにより、そのメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報の展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD),ICカード等の外部メモリ14は、メモリコントローラ(MC)20により、そのアクセスが制御されている。外部メモリ14はオプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また操作パネル21には、操作のためのスイッチおよびLED表示器等が配されている。
また、前述した外部メモリ14は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル21からのプリンタモード設定情報を記憶するようにしてもよい。
ここで、ホストコンピュータ100は、図1を参照して前述したファイル、アプリケーション、デスプーラ及びドライバ等を備えているものとする。そして、このアプリケーション101により生成された文書ファイル(アプリケーションデータ)を、電子原稿ライタ102を介することにより電子原稿ファイル103が生成される。電子原稿ファイル103は前述したように、製本アプリケーション104によりファイルオープンすることが可能であり、製本アプリケーション104は、例えば前述の図10に示すような、操作画面を表示部210に表示させる。製本アプリケーション104と汎用の一般アプリケーション101との大きな違いは、製本アプリケーション104が、通常プリンタドライバ106が提供するはずの印刷設定機能を有していることである。この印刷設定機能により、製本アプリケーション104は、文書のページ順の入れ替えや複製(コピー)、削除などの編集機能に加え、ステイプル・パンチなどの、プリンタ107における機能設定を電子原稿ファイルに対して行うことができる。これにより、指定したプリンタを使用して印刷することが可能である。なお、本実施の形態で説明する製本アプリケーション104を、印刷設定アプリケーションとも呼ぶ。
図14は、本実施の形態に係る文書処理システムの製本アプリケーション104の「用紙の挿入設定」の機能を使用して、表紙やインデックス紙の挿入を指示し、そのインデックス紙のタブに章の名前を印刷する設定を行う場合の処理を示すフローチャートである。尚、「用紙の挿入設定」の機能は、一般アプリケーション101にない特有の印刷設定機能の1つである。また、このインデックス紙は、本実施の形態では章の区切りに挿入される。
この図14のフローチャートを説明する前に、図15及び図16を参照して、「用紙の挿入設定」の一例について説明する。
図15は、本実施の形態に係る製本アプリケーション104による「用紙の挿入設定」のウィンドウ表示の一例を示している。
図15において、1500は挿入する用紙の組合せを指示するためのエリアで、ここではインデックス紙を挿入するように指示されており「インデックス紙」と表示されている。又これ以外にも、「表紙、インデックス紙、合紙、裏表紙」の全て、或いは、これらのいずれかの組合せ、これらのいずれかのみ、を設定することができる。このダイアログボックスで指定した「表紙」「インデックス紙」「合紙」「裏表紙」は、電子原稿ファイル内の実際の文書データとしては存在せず、電子原稿ファイル内の印刷設定情報として管理されている。そのため、このダイアログボックスの印刷設定を変更する(チェックボックスのチェックを外すか、タグを変更する)だけで、インデックス紙の挿入や削除を行うことができ、ユーザの操作性が格段に向上するという効果がある。
またチェックボックス1501により、「インデックス紙のタブに章の名前を印刷する」がチェックされている。これにより、図10のツリー部1101に表示されている各章の名称(各章の設定情報として予め記憶されている(図22))を、各章毎に挿入されるインデックス紙のタブに印刷するように指定することができる。
あるいは、予め用意された原稿(インデックス紙印刷用として作成された原稿)をインデックス紙に印刷することも可能である。この場合、チェックボックス1503により、「インデックス紙に原稿を印刷する」をチェックすることにより、原稿ページをインデックス紙に印刷することができる。
図16は、製本アプリケーション104により画面提供される図15の「テキストの詳細設定」1502を指示することによりオープンされた、インデックス紙のタブ部に書く文字列(章の名称)の詳細を設定するためのウィンドウの表示例を示す図である。
この図16のウィンドウでは、タブ部に章名称を記入する際に使用するテキストの文字フォント、サイズ等を選択することができる。図16のウィンドウのフォント指定欄で、横書きフォントを選択するか、縦書きフォントを選択するかで、レイアウト指定欄の候補が自動的に変更される。横書きフォントが選択された場合は、図17のようにウィンドウが変更され、縦書きフォントが選択された場合は、図18のようにウィンドウが変更される。図17及び図18は、これらウィンドウの拡大図である。
本実施の形態に係る印刷制御プログラムである製本アプリケーション104では、図16に示すようなタブ設定画面を提供することにより、文書に付与するタブ紙(インデックス紙)に印刷する文字の設定を容易に行うことができる。そのため従来のように、文書ページとしてインデックス紙用のデータを生成しなくて済む。また、文書へのインデックス紙の挿入位置を変更したい場合には、製本アプリケーション104のページプレビュー画面においてインデックス紙のページ位置を変更するだけで済むため、操作を容易にできる。更に、インデックス紙を追加する場合でも、インデックス紙の追加を指示するだけで良いため使い勝手が格段に向上するという効果が得られる。
ここでは、横書きのフォント「MS明朝」が選択されているため、図17に示すような欄1606の選択肢の中から、ユーザは好きなレイアウトを選ぶことができる。図17の場合は、1605で示す「左揃え(インデックスタブ上側)」が選択されているため、タブの左側に文字列が寄ったレイアウト(1607)で、また、インデックス紙のタブを上側にして章名称の印刷が行われる。更に、「左揃え(インデックスタブ下側)」を選択すれば、タブの左側に寄った文字レイアウトで、かつインデックス紙のタブを下側にして章名称の印刷が行われる。このように、横書きフォントを選択した場合は、インデックス紙に対してタブを上側にして印刷する場合と、下側にして印刷する場合とに対応することが可能となる。
また、1602はスタイルを指定するエリア(ここでは標準)、1603は文字サイズを設定するエリア(ここでは10ポイント)、1604は文字の色、1605には、欄1606のうちの選択されたレイアウトが表示されている。1607は、実際にタブに印字される文字の形態(ここでは、左揃え)を示している。
図18は、インデックス紙のタブに記入する文字列の詳細を設定するためのウィンドウにおいて、縦書きフォントが選択されている場合の例を示すウィンドウ表示例を示す図である。
ここではフォント指定エリア1601において、縦書きのフォント「@MSゴシック」が選択されている。この場合には、欄1606には、「上揃え」、「中央揃え」、「下揃え」が表示され、これらの中から、好きなレイアウトを選択することができる。図18では、欄1606で「上揃え」が選択されているため、1605には「上揃え」が表示され、1607には、タブの「上揃え」のレイアウトで、かつインデックス紙のタブを右側にして章名称を印刷する設定が行われていることが表わされている。また、図18では、インデックス紙のタブへのレイアウトとして「上揃え」「中央揃え」「下揃え」のいずれかを選択した。しかし、製本印刷アプリケーション104の印刷設定で、印刷物の開き方向として「左開き」「右開き」の指定欄を設けてもよい。すなわち、その開き方向の指定で「左開き」が選択されている場合は、図18のようにレイアウトを選択させる。「右開き」が選択されている場合は、「上揃え(インデックスタブ左側)」「中央揃え(インデックスタブ左側)」「下揃え(インデックスタブ左側)」を選択させる。尚、(インデックスタブ左側)のレイアウトは、インデックス紙のタブを左側にして章名称の印刷が行われるレイアウトに相当する。
以上の前提を基に、図14のフローチャートについて説明する。
まずステップS1401で、製本アプリケーション104は、タブに章の名称を書く設定になっているかどうかを、図15のチェックボックス1501がチェックされているかどうかにより判定する。チェックボックス1501がチェックされて、タブに章の名称を書く設定になっている場合はステップS1402に進む。そして、その章の名称或いは番号等をタブに印刷するために使用するためのフォントを選択する処理に移り、製本アプリケーション104は、選択したフォントが縦書きフォントであるかどうかを判定する。これは選択されているフォントの種類に応じて判定される。縦書きフォントのときはステップS1403に進み、製本アプリケーション104は、縦書き用のタブ部の設定処理を行う。この縦書き用のタブ部の設定処理では、図18の表示画面例に示されるように、製本アプリケーション104は、文字スタイル、文字サイズ、文字の色、文字揃え等が設定された表示用画面を提供し、OSを介して表示部210に表示させるよう制御する。ここで前述したように、製本アプリケーション104は、開き方向が「右開き」であるか「左開き」であるかを更に判断し、その開き方向に応じて、インデックス紙のタブへのレイアウトの候補を変更してもよい。また、横書きフォントが選択されている場合はステップS1404に進み、製本アプリケーション104は、横書き用のタブ部の設定処理を行う。この横書き用のタブ部の設定処理では、図16の表示画面例のごとく、製本アプリケーション104は、文字スタイル、文字サイズ、文字の色、文字揃え、位置の微調整等が設定された表示用画面を提供し、OSを介して表示部210に表示させるよう制御する。
図19は、本実施の形態に係るアプリケーション101が扱う文書ファイルのデータ構造を説明する図である。この文書ファイルは、図1の電子原稿ファイル103に相当し、ここでは、例えば図13の外部メモリ211に記憶されているが、図12の文書管理サーバ1201のデータベース1211に格納されていてもよい。
図19において、文書の構造情報701は、図10に示したアプリケーション操作画面のツリービュー1101に表示する文書の構造に関する情報を記憶している。文書の詳細設定情報702は、文書全体に設定可能な情報を記憶するための領域である。章の詳細設定情報703は、各章に設定可能な情報を記憶する領域である。ページの詳細設定情報704は、ページごとに設定可能な情報を記憶するための領域である。そして原稿情報705は、各原稿ページの描画情報を記憶しており、図10の右側の印刷プレビュー1102への表示に使用する情報がページ単位で保存されている。尚、この文書ファイルには、その他にも文書毎に必要な情報が含まれているが、ここではそれらの説明を省略する。
図20は、図19の文書の詳細設定情報702のデータ構成を更に詳細に説明する図である。
801は文書のページ設定情報、802は文書の仕上げ情報、803は文書の編集情報、804は文書の給紙情報、805はインデックス紙の情報で、これらの情報が文書の詳細設定情報702として格納されている。更に、図15に示す操作画面を用いてインデックス紙の設定を行った場合には、それらの設定情報がインデックス紙の情報805に追加される。
図21は、図20のインデックス紙の情報805に記憶される情報を更に詳細に説明する図である。
図において、901は1章のインデックス紙情報、902は2章のインデックス紙情報というように、以下順に最終章までインデックス紙情報(903〜905)が連続した領域に記憶される。例えば、図15に示すようにして、インデックス紙を使用するように設定された場合には、各章の先頭にインデックス紙が挿入されることになるので、章の個数分のインデックス紙情報の欄が確保されることになる。
図22は、図19に示す章の詳細設定情報703のデータ構成さらに詳細に示した図である。
ここでは、1章から最終章までの各章の詳細設定情報(1001〜1005)が格納されている。この各章の詳細設定情報には、前述した、インデックス紙のタブ部に印刷される章の名称(インポート直後はファイル名称、あるいは、その後ユーザが書き換えた章の名前)も記憶されている。
図23は、図22に示された各章の詳細設定情報(1001〜1005)のデータ構成を説明する図である。
図23において、2101は章のページ設定情報で、ここに章の名称が記憶されている。2102は章の仕上げ情報、2103は章の編集情報、そして2104は章の給紙情報で、これらの情報が各章の詳細設定情報として格納されている。
図24は、図15の「インデックス紙の挿入設定」の後、インデックス紙の詳細編集を行う場合を説明する図である。
ここでは全てのインデックス紙(図24の例では5枚)が重なった状態で編集画面に表示される。ここで、編集を行うインデックス紙のタブを、例えばポインティングデバイスであるマウスにより指示されるマウスカーソルを用いて指示する。そのマウスをクリックすることで、その指示されたインデックス紙が先頭ページに表示されて、そのインデックス紙が編集可能な状態になる。例えば、図24の左側に示す初期画面では、先頭章のインデックス紙が編集可能状態であるので、タブ2201が付いたインデックス紙がアクティブになっていて、このインデックス紙に対する編集が可能となる。この状態で次に、例えばタブ2205をクリックすることにより、図24の右側に示すように、そのタブ2205が付与されているインデックス紙(5枚目)が一番上に表示されて、このインデックス紙への編集がアクティブになる。このようにしてアクティブになったインデックス紙のタブ及びインデックス紙の内容を編集することができる。
図25は、本実施の形態に係る文書処理システムにおけるアプリケーション101によるインデックス紙の設定及びプレビュー表示処理の詳細を示すフローチャートである。
このアプリケーション101は、インディスク紙の挿入設定ダイアログ(図15)でインデックス紙の設定を行っていれば、その文書に含まれる章の個数分のインデックス情報を記録する領域が、図21に示したように確保されている。
従って、まずステップS2301で今回始めてインデックス紙を設定したのであれば、インデックス紙の情報805に、図21に示すように章の個数(N)分だけ各章のインデックス紙情報の領域を確保し、そこにインデックス紙情報のデフォルト値を書き込む。次に、このインデックス紙の編集操作を行うことによりステップ2302で、インデックス紙のタブ領域の有効座標を求めるための情報を計算する。ここでは、一例として、インデックス紙の右上座標(X0,Y0)を原点とした時のタブ位置のX座標範囲(X1,X2)、インデックス紙の高さH、及びタブの高さJを予め求めておく。
次にステップS2303以降において、ユーザによる編集操作による何らかのイベントが発生すれば、そのイベントに対応する処理を行う。例えば、編集するインデックス紙の選択イベントとして、ポインティングデバイスであるマウスで当該インデックス紙上がクリックされるとステップS2304からステップS2309に進み、マウスカーソルを用いてクリックされた座標値(XX、YY)を読み取る。次にステップS2310に進み、そのマウスクリックされた画面上の座標値(XX、YY)を、インデックス紙の右上座標値(X0、Y0)を原点とした座標値(X,Y)に変換する。そして、この変換した座標値(X,Y)を基に、タブ領域の有効座標範囲がマウスにより指示されたか否かを確認する。ここで、この変換された座標値(X,Y)のX,Yの各値が、X1<X<X2,Y0<Y<(Y0+H)の条件を満たしていればいずれかのインデックス紙のタブが指示されたことになるので、その指示されたタブに対応するインデックス紙を求める。ここでは、{(Y−Y0)/J}の整数部分を求めることにより、先頭のインデックス紙の番号を「0」とした場合における、指示されたインデックス紙の番号を求めることができる。つまり、この番号が当該編集の情報を格納する領域、即ち、図21で示すインデックス紙情報の格納領域への章番号となっている。
ステップS2304でマウスイベントでない場合はステップS2305に進み、タブ編集イベントが発生したかを調べる。タブ編集イベントが発生したときはステップ2308に進み、インデックス紙のタブに印刷する章の名称の文字様式を編集するための画面に切り替える。そして、この画面を用いて設定された文字の様式がステップ2310で求めた章番号で指示される章のインデックス紙情報(図21)に格納される。このステップS2308における処理の詳細は、前述の図14のフローチャートに示されている。
またステップS2305でタブ編集イベントでない場合はステップS2306に進み、インデックス紙の編集イベントが発生したかを調べる。そうであればステップS2307に進み、インデックス紙の編集画面に切り替わり、ステップ2310で求めた章番号で指示されるインデックス紙情報(図21)に、ステップS2307で編集された情報が格納される。
最後にステップS2303で、編集の終了イベントが発生するとステップS2311に進み、今までの操作で編集した情報をもとにして、インデックス紙の設定処理が終了する。
図26は、上述したインデックス紙の情報の入力処理をまとめて示すフローチャートである。
まずステップS2601で、図15の画面を用いてインデックス紙の設定処理が起動されると次にステップS2602に進む。そして、製本アプリケーション104は、設定されたインデックス紙の枚数を基に、図21に示すように、必要な章の個数分のインデックス紙情報の記憶エリアを確保する。次にステップS2603で、製本アプリケーション104は、チェックボックス1501により、インデックスのタブ部に章の名称を印刷するように指示されているかを判定する。印刷が指示されている時はステップS2604に進み、そのタブに印刷する文字のフォント、スタイル、サイズ、色及び文字揃えを指定する(図16乃至図18)。そしてステップS2605に進み、その設定されたタブの情報とともに、そのインデックス紙の情報を、該当する章のインデックス紙情報として記憶する。又ステップS2603で、タブへの印刷が設定されていない場合には、ステップS2605に進み、そのインデックス紙の情報を記憶する。
図27は本実施の形態に係る文書情報の印刷処理を示すフローチャートである。
まずステップS2701で、電子原稿デスプーラ105は、図19に示す文書情報のうち文書の詳細設定情報702を読取り、次にステップS2702で、それに含まれるインデックス紙の情報805(図20)を取り出す。この情報805(図21)を基に、現在の章にインデックス紙の情報が設定されているかどうかをみる。設定されているときはステップS2704に進み、電子原稿デスプーラ105は、その章のインデックス紙の情報を取り出して、インデックス紙を印刷する。次にステップS2705に進み、そのインデックス紙のタブに章の名称を印刷するように指示されているかどうかを判定する。印刷が指示されている場合はステップS2706に進み、その章に対応する章の名称を対応する章の詳細設定情報から読み出す。そして、ステップS2707で電子原稿デスプーラは、対応するインデックス紙情報に指定されたフォント、文字サイズや文字揃え等に応じ、そのインデックス紙のタブに印刷させるようGDI関数をOSのグラフィックエンジン(GDI)に出力する。これにより、グラフィックエンジンでプリンタドライバ106が解釈可能な描画関数(DDI関数)に変換される。さらに、前述したように、プリンタドライバ106は、グラフィックエンジンから渡された描画関数に応じて、プリンタ107が解釈可能なプリンタ制御言語の印刷データを生成する。これらにより、タブ紙印刷処理が実行される。
一方、ステップS2703で、その章にインデックス紙の情報が設定されていない場合は、或いはステップS2705でタブの印刷が指示されていない場合はステップS2708に進む。電子原稿デスプーラ105は、その章に含まれる原稿ページの情報を基に、各原稿ページを印刷させるようGDI関数をグラフィックエンジンに出力することにより印刷処理を実行する。そしてその章の全原稿ページの印刷処理が終了するとステップS2709に進み、その章が最終章であるかをみる。最終章でない時は再びステップS2702に戻り、電子原稿デスプーラ105は、次の章のインデックス紙の情報805(図20)を取り出し、前述と同様の処理を実行する。こうして、その文書の全ての章の全原稿ページ及び付与されているインデックス紙の印刷処理が終了すると、この印刷処理を終了する。
尚、この文書情報の印刷プレビューを表示する場合には、図27のフローチャートにおいて、「印刷する」を「印刷プレビューに展開して表示する」とすることにより、設定されているインデックス紙と各原稿ページの印刷プレビュー表示を行うことができる。
図28は、この様にして表示された印刷プレビューの一例を示す図である。
図28では、各章の先頭にインデックス紙2800,2801が挿入されて、印刷プレビュー1102が表示されている。これらインデックス紙2800,2801のそれぞれは、インデックス紙にタブが付いた状態で表示されており、そのタブの文字列も、設定された文字サイズや文字フォント、文字揃えなどに応じて表示されている。これにより、そのインデックス紙が挿入されているページ位置が一瞥して判別でき、またインデックス紙のタブ位置を先頭のインデックス紙2800から順に下方にずらして配置して表示しているので、インデックス紙の用紙形状も一瞥して分かる。
この処理によって、図16に示したウィンドウから指定されたインデックス紙情報に従った文字列をインデックス紙のタブに印刷することが可能となる。
<本実施形態の文書処理システムにおける電子原稿インポート>
図29は、本実施の形態に係る製本アプリケーション104による「ファイルを指定して取り込み」のウィンドウ表示の一例を示している。
図29において、2901は、現在開かれているブックファイルに、新たに追加したいアプリケーションデータを指定するためのエリアである。また、エリア2902は、前記アプリケーションデータの種類(拡張子)を指定するためのエリアである。また、「位置」エリアにおいて、「選択している章またはページの前」2903がオンの場合には、図10の画面のツリー部1101あるいはプレビュー部1102で選択状態にある章またはページの前に追加される。また、「位置」エリアにおいて、「選択している章またはページの後ろ」2904がオンの場合には、図10の画面のツリー部1101あるいはプレビュー部1102で選択状態にある章またはページの後ろに追加される。
また、「方法」エリアにおいて、「ファイルごとに章を作成」2905がオンの場合には、「位置」エリアにおいて指定された挿入位置から、挿入するファイルの数だけ章が製本アプリケーション104により新たに生成される。そして、生成された各章に、対応するファイルのページが配置される。また、「1つの章として挿入」2906がオンの場合には、挿入位置に1の章が製本アプリケーション104により新たに生成され、その章に、挿入するファイルの各ページが配置される。また、「ページとして挿入」2907がオンの場合には、挿入位置にそのまま各ページが製本アプリケーション104により配置される。
また、「タブ紙として挿入」2908がオンの場合には、挿入位置によらず、製本アプリケーション104により、挿入するファイルの各ページが、ブックファイルに含まれる各章の先頭に、1ページずつ配置される。また、「合紙として挿入」2909がオンの場合にも、挿入位置によらず、製本アプリケーション104により、挿入するファイルの各ページが、ブックファイルに含まれる各章の先頭に、1ページずつ配置される。
図30は、本実施の形態に係る、インデックス紙印刷を考慮した電子原稿インポートの手順を示すフローチャートである。以下、この処理について図30を参照して説明する。
なお、図8の電子原稿インポートと共通の部分は、同じ番号で示している。
まず、図8の手順と同じように、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動する。そして、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷させることにより電子原稿データに変換する(ステップS801)。この電子原稿データへの変換を終えるとステップS802に進み、その変換されたデータが画像データであるか否かを判定する。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行うことができる。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればJPEG圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はステップS801のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、ステップS801の処理を省略することも可能である。
ステップS802で、画像データでなかった場合はステップS3001に進み、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに追加する。又ステップS802で画像データである場合にはステップS804に進み、原則として新たな章は追加されず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページを追加する。
図31は、図30のステップS3001において、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに追加する手順を示すフローチャートである。
ステップS3101で、「タブ紙として取り込む」が指定されていた場合は、ステップS3102に進み、インデックス紙・合紙用のファイル取り込み処理へ進む。
そして、ステップS3103に進み、製本アプリケーション104はインデックス紙の挿入設定を行う。(すなわち「用紙の挿入設定」のウィンドウ内の挿入する用紙の組合せを指示するためのエリア1500で「インデックス紙」を選択する。)
ステップS3101で、「タブ紙として取り込む」が指定されていない場合は、ステップS3104に進み、「合紙として取り込む」が指定されているかどうかを判断する。「合紙として取り込む」が指定されていた場合は、ステップS3102に進み、インデックス紙・合紙用のファイル取り込み処理へ進む。そして、ステップS3105に進み、製本アプリケーション104は、合紙の挿入設定を行う。(すなわち「用紙の挿入設定」のウィンドウ内の挿入する用紙の組合せを指示するためのエリア1500で「合紙」を選択する。)
ステップS3104で、「合紙として取り込む」が指定されていない場合は、ステップS3106に進む。そして、「ファイルごとに章を作成」が指定されているかどうかを判断する。そして、「ファイルごとに章を作成」が指定されていた場合は、ステップS3107に進む。そして、ステップS801で生成された複数の電子原稿ファイルの数と同数だけ、現在開かれているブックファイルのブックに新たな章を作り、章として追加する様態でインポートする(第4インポート処理)。
ステップS3106で、「ファイルごとに章を作成」が指定されていない場合は、ステップS3108に進む。そして、「1つの章として挿入」が指定されているかどうかを判断し、指定されている場合は、ステップS3109に進む。そして、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルに、1つの新たな章として追加する様態でインポートする(第3インポート処理)。
ステップS3108で、「1つの章として挿入」が指定されていない場合は、ステップS3110に進む。そして、ステップS801で生成された電子原稿ファイルに含まれる全てのページを、現在開かれているブックファイルにすべてページとして追加する様態でインポートする(第2インポート処理)。
このようにして、新規なブックファイルが作成されるだけでなく、インデックス紙や合紙の挿入設定も、ファイルの取り込みとともに、自動的に行うことが可能となる。
図32は、図31のステップS3102におけるインデックス紙・合紙用のファイル取り込み処理(第1インポート処理)の詳細を示すフローチャートである。
まず、ステップS3201で、現在開かれているブックファイルのブックに取り込まれようとしている電子原稿ファイル(S801で生成されたもの)に含まれているページ数と、当該ブックファイルに含まれる章の数を比較する。そして、ページ数のほうが多いと判断されたら、ステップS3202へ進み、製本アプリケーション104は、差分のページ数だけ、新しい章を生成する。一方、ステップS3201で、Noと判断された場合は、ステップS3204へ進み、当該電子原稿ファイルに含まれるページ数より章の数のほうが多いかどうかを判断する。Yesの場合は、ステップS3205へ進み、製本アプリケーションは差分の章の数分だけ新たにインデックス紙ページを生成する。そしてステップS3203へ進み、電子原稿ファイルに含まれる各ページを、1ページずつ現在開かれているブックファイルの各章の先頭ページに追加していく様態でインポートする。ステップS3204でNoと判断された場合は、そのままS3203へ進む。
このようにして、もし取り込みファイルに含まれているページ数が、章の数より少ない時には、余った章(端数の章)の分、PPM自身が、インデックス紙ページ(白紙のページ)を作成し、それらの章の先頭に自動挿入する。また、取り込みファイルに含まれているインデックス紙ページの数が、章の数より多い時には、PPMが余ったページ分だけ章を自動作成し、それらの章に1ページずつ取り込む。これにより、ユーザ自身がインデックス紙への印刷をするために新たな章を作成する必要がなくなる。
以上のように、製本アプリケーション104は、ユーザがインデックス紙印刷用(あるいは合紙印刷用)として用意した電子原稿を、現在開かれているブックファイルへ取り込む際、インデックス紙印刷(あるいは合紙印刷)が適切な順番で取り込むことができる。これにより、ユーザは容易な操作でインデックス紙印刷(あるいは合紙印刷)を行うことが可能となった。
<本実施形態の文書処理システムにおけるドラック&ドロップによる電子原稿インポート1>
製本アプリケーション104では、図10の画面のツリー部1101あるいはプレビュー部1102に対して、アプリケーションデータをドラック&ドロップすることにより、ブックファイルへの電子原稿インポートを行うことも可能である。本実施の形態に係る、インデックス紙印刷を考慮した電子原稿インポートでは、ドラック&ドロップによる電子原稿のインポートが行われた時点で、製本アプリケーション104が図33で示すようなメッセージを表示することも可能である。これにより、ユーザは、ドラック&ドロップにより電子原稿のインポートを行った際に、その電子原稿をインデックス紙印刷用ページとして取り込みたいかどうか(すなわち、ステップS3102の処理を行わせるか否か)を選択することが可能となる。ユーザが、インデックス紙印刷用ページとして取り込むことを選択した場合、製本アプリケーション104はステップS3102で説明したインデックス紙・合紙用のファイル取り込み処理を行う。一方、選択されなかった場合は、図31のステップS3107と同様の電子原稿ファイルの数だけ章を追加して取り込む。
<本実施形態の文書処理システムにおけるドラック&ドロップによる電子原稿インポート2>
本実施の形態に係る、インデックス紙印刷を考慮した電子原稿インポートでは、ユーザによる電子原稿のインポートが行われた時点で、製本アプリケーション104が当該電子原稿に含まれる全ページの幅、高さを認識する。そして、当該電子原稿に“インデックス紙印刷用ページ”が含まれるか否かを自動判別する。そして、“インデックス紙印刷用ページ”が含まれる判断した場合には、製本アプリケーション104は、インデックス紙印刷用ページとして取り込む(すなわち、ステップS3102の取り込み処理を行う)。
図34は、ユーザ自身が製本アプリケーション104に対して、インデックス紙印刷用ページのサイズを事前に定義しておくことのできる画面である。製本アプリケーション104は、電子原稿のインポートが実行された際に、当該電子原稿に含まれるページの中に、図34の画面により定義されたサイズに当てはまるページがあるかどうかを判別する。そして、当てはまるページが1つでもあった場合には、それらをインデックス紙印刷用ページとみなし、ステップS3102で示した取り込み処理を行う。
図35は本実施の形態に係る、インデックス紙印刷を考慮したドラック&ドロップによる電子原稿インポートの手順を示すフローチャートである。
製本アプリケーション104は、ユーザによりドラック&ドロップによる電子原稿ファイルのインポートがなされると、ステップS3501において、当該電子原稿ファイルの中に、インデックス紙印刷用ページが含まれているか否かを判別する。そして、ステップS3502において、インデックス紙印刷用ページが含まれていると判断したら、ステップS3102へ進み、インデックス紙・合紙用のファイル取り込み処理を行う。そして、ステップS3104へ進み、インデックス紙の挿入設定をONにする。一方、ステップS3502で、インデックス紙印刷用ページが含まれていないと判断したら、ステップS3505へ進み、通常原稿としての取り込み処理を行う(すなわち、電子原稿ファイルの数だけ章を追加して取り込む)。
なお、ステップS3102の処理については、上述したとおりのため、ここでは説明を割愛する。
以上のように、製本アプリケーション104は、編集中のブックファイルに対してドラック&ドロップにより新たな電子原稿ファイルのインポートが行われた際、それらの電子原稿ファイルにインデックス紙印刷用ページが含まれているかどうかを判別する。そして、含まれている場合には、それらのページを各章の先頭ページに取り込むとともに、インデックス紙挿入設定まで行う。これにより、ユーザは、容易な操作でインデックス紙印刷を行うことが可能となった。
<インデックス紙印刷を考慮したページの自動並び替え>
製本アプリケーション104は、現在開かれているブックファイルの中にインデックス紙印刷用ページが、印刷順ではない状態で存在しているときにも、容易にそれらをインデックス紙印刷用ページが各章の先頭になるように並び替えることを可能としている。
図36は、ユーザにより、インデックス紙印刷用ページを含む電子原稿ファイルをドラック&ドロップした結果、製本アプリケーション104が表示する印刷プレビューの一例を示す図である。図36では、ブックファイルの先頭に、インデックス紙印刷用原稿3601が章として挿入されていることを示している。
従来の製本アプリケーションでは、このように、編集中のブックファイルの中に、インデックス紙印刷用ページが印刷順ではない状態で混在している場合は、それらを手動で図37に示すように各章の先頭の位置へ配置されるよう並び替える必要があった。図37はユーザ自身で、所望の印刷順序になるようにインデックス紙印刷用原稿ページ3601を、各章の先頭へ移動させた後の印刷プレビューの一例を示す図である。
一方、本発明の実施の形態に係る製本アプリケーション104は、図38の3801、3802に示すような新たなメニューを提供する。すなわち、現在開かれているブックファイルの中に、インデックス紙印刷用ページと通常の印刷用ページが印刷順ではない状態で混在しているときに、容易な操作でインデックス紙用原稿ページが各章の先頭になるように並び替えることを可能としている。これにより、従来のように、ユーザ自身で、インデックス紙印刷用ページを印刷可能な順番に並び替える必要がなくなった。
例えば、ユーザが図38において、「ページの先頭から昇順に配置」3801を指定すれば、製本アプリケーション104は、ブックファイルに含まれるインデックス紙印刷用ページを判別し、それらを1ページずつ各章の先頭位置へ移動する。また、「タブ耳位置の高いものから昇順に配置」3802を指定した場合は、製本アプリケーション104は、ブックファイルに含まれるインデックス紙印刷用ページを判別する。そして、当該インデックス紙印刷用ページに含まれるタブ耳の位置を自動認識し、タブ耳位置の高いページから順番に各章の先頭に移動する。
図39、40は、本実施の形態に係る、インデックス紙印刷用ページの自動並び替え処理を示すフローチャートである。
まず図39は、ユーザが図38において、「ページの先頭から昇順に配置」3801を指定した場合の自動並び替え処理を示すフローチャートである。製本アプリケーション104は、ユーザにより、「ページの先頭から昇順に配置」3801の指示がなされると、まずステップS3901において、i、xに初期値0をセットする。そして、ステップS3902へ進み、iページ目がインデックス紙印刷用ページであるかどうかを判定する。そして、ステップS3903において、Yesと判定した場合には、iページ目を、x章の1ページ目に移動する。そして、ステップS3905においてxをカウントアップし、さらにステップS3906においてiをカウントアップする。一方、ステップS3903において、Noと判定した場合は、そのままステップS3906へ進む。そして、次のステップS3907において、iページ目がブックファイルの最終ページであるかどうかを判断し、最終ページでない場合は、ステップS3902へ戻る。このようにして、当該電子原稿ファイルの中に含まれるすべてのページについて同様の処理を繰り返す。
次に、図40を用いて、ユーザが図38の「タブ耳位置の高いものから昇順に配置」3802を指定した場合の自動並び替え処理を説明する。
製本アプリケーション104は、ユーザにより、「タブ耳位置の高いものから昇順に配置」3802の指示がなされると、まずステップS4001において、外部メモリ211に一次記憶領域を確保する。そして、続くステップS4002においてiに初期値1をセットする。そして、ステップS4003へ進み、iページ目がインデックス紙印刷用ページであるかどうかを判定する。そして、ステップS4004において、Yesと判定した場合には、ステップS4005においてiページを一次記憶領域のi番目の領域に一次保存する。そして、ステップS4006へ進み、iページのタブ耳位置(高さ座標H)を抽出し、一次記憶領域のiページのデータとともに保存する。そして、ステップS4007へ進み、iをカウントアップし、続くステップS4008で、iページ目は最終ページかどうかを判定する。最終ページでないと判定した場合には、再びステップS4003へ戻り、最終ページになるまで繰り返す。一方、ステップS4004において、Noと判定した場合は、そのままステップS4007へ進む。以上のようにしてインデックス紙印刷用ページの抽出と一次記憶領域への保存が終わったら、ステップS4009へ進み、一次記憶領域に保存された、インデックス紙印刷用ページを、タブ位置の高さ座標の大きい順に並び替える。そして、ステップS4010でjとxへ初期値1をセットしたら、ステップS4011へ進み、j番目のページを、x章の先頭の位置へ移動するとともに、一次記憶領域から削除する。そして、jとxをカウントアップし、ステップS4013において、jがiより小さいかどうかを判定することにより、jページ目が、一次記憶領域に保存されているインデックス紙印刷用ページの最終ページかどうかを判断する。最終ページではないと判断した場合は、ステップS4011へ戻る。このようにして、一次記憶領域に保存されているインデックス紙印刷用ページが無くなるまで、同様の処理を繰り返す。
以上のように、本発明の実施の形態に係る製本アプリケーション104は、ブックファイルの中に、インデックス紙印刷用ページと、通常の印刷ページが順不同で混在している場合にも、容易な操作でユーザの所望する印刷順序に並び替える手段を提供する。これにより、ユーザ自身でインデックス紙印刷用のページを並び替える手間が無くなり、インデックス紙印刷が容易となった。
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステムあるいは装置に供給しそのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合もある。
また、プログラムコードがコンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれ、その機能拡張カード乃至ユニットに備わるCPUなどが実際の処理の一部又は全部を行ってもよい。