以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
<システム概要>
本実施形態による文書処理システムの概要を、図1〜図12を参照して説明する。この文書処理システムでは、一般的なアプリケーションにより作成されたデータファイルが、電子原稿ライタによって電子原稿ファイルに変換される。製本アプリケーションは、その電子原稿ファイルを編集する機能を提供している。以下、その詳細を説明する。
<システム構成及び動作>
図1は、本実施形態による情報処理システムに好適な文書処理システムのソフトウェア構成を示す図である。尚、文書処理システムは、本実施形態による情報処理装置の好適な実施形態であるデジタルコンピュータ100によって実現されている。
図1に示す一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー或いはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、印刷機能を有している。これらのアプリケーションプログラムは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム(OS)により提供される所定のインターフェースを利用する。
即ち、一般アプリケーション101は、作成したデータを印刷するために、このインターフェースを提供するOSの出力モジュールに対して予め定められた、OSに依存する形式の出力コマンド(GDI:Graphic Device Interface関数)を送信する。この出力コマンドを受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、その変換されたコマンド(DDI:Device Driver Interface関数)を出力する。この出力デバイスが処理可能な形式は、デバイスの種類やメーカ、機種などによって異なるために、デバイスごとにデバイスドライバが提供されており、OSでは、そのデバイスドライバを利用してコマンドの変換を行うことにより印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブを生成する。このOSとして、例えばマイクロソフト社のウインドウズ(Windows:登録商標)を利用する場合は、前述した出力モジュールとしてはGDIと呼ばれるモジュールが相当する。
電子原稿ライタ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や不図示のフロッピー(登録商標)ディスク(FD)等との間でのアクセスを制御する。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パーセントに縮小した領域となる。
以上説明した「ブック」、「章」、「ページ」のそれぞれについて共通な属性として、「ウォーターマーク」属性及び「ヘッダ・フッタ」属性がある。「ウォーターマーク」とは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。「ヘッダ・フッタ」は、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、この「ヘッダ・フッタ」には、ページ番号や日時など、変数により指定可能な項目が用意されている。尚、「ウォーターマーク」の属性及び「ヘッダ・フッタ」の属性において指定可能な内容は、「章」と「ページ」では共通であるが、「ブック」の場合では、それらと異なっている。「ブック」においては、「ウォーターマーク」や「ヘッダ・フッタ」の内容を設定できるし、また、ブック全体を通してどのように「ウォーターマーク」や「ヘッダ・フッタ」を印刷するかを指定することができる。一方、「章」や「ページ」では、その章やページにおいて、ブックで設定された「ウォーターマーク」や「ヘッダ・フッタ」を印刷するか否かを指定できるだけである。「紙種」の属性は、印刷する用紙の種類を指定するためのものである。ここでは「普通紙/光沢紙/OHP」のいずれかを指定することができる。
<ブックファイルの生成手順>
上述した製本アプリケーション104によって構造を与えられた電子原稿ファイルである「ブックファイル」は、上述したような構造及び内容を有している。次に、製本アプリケーション104及び電子原稿ライタ102によってブックファイルを作成する手順を説明する。このブックファイルの作成は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
図7は、本実施形態による製本アプリケーション104によりブックファイルを開く際の手順を説明するフローチャートである。まずステップS701で、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるかを判定する。新規作成の場合にはステップS702に進み、章を含まないブックファイルを新規に作成する。この新規に作成されるブックファイルは、図3の例で示せば、ブックノード301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。この場合のブック属性は、新規作成用として予め用意された属性のセットが適用される。そしてステップS704に進み、新規ブックファイルを編集するためのユーザインターフェース(UI)画面を表示する。
図11は、新規にブックファイルが作成された際のUI画面の一例を示す図である。この場合には、ブックファイルは実質的な内容を持たないために、UI画面1100には何も表示されない。
一方、ステップS701で、既存のブックファイルがあればステップS703に進み、指定されたブックファイルを開き、そのブックファイルの構造、属性、内容に従ってユーザインターフェース(UI)画面を表示する。
図10は、ステップS701で表示されたUI画面の一例を示す図である。このUI画面1100は、ブックの構造を示すツリー部1101と、印刷された状態を表示するプレビュー部1102とを含む。まずツリー部1101には、そのブックに含まれる章、各章に含まれるページが、前述の図3(A)のような木構造で表示される。ツリー部1101にはページ番号が表示されており、このページ番号は原稿ページの番号を示している。またプレビュー部1102には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
さて、このオープンされたブックファイルには、電子原稿ライタ102によって、電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を「電子原稿インポート機能」と呼ぶ。前述の図7のフローチャートで示す手順に沿って新規に作成されたブックファイルに、この電子原稿インポートすることで、そのブックファイルに実体が与えられる。この機能は、図10の画面において、アプリケーションデータをドラッグアンドドロップ操作することで起動される。
図8は、本実施形態による電子原稿インポートの手順を示すフローチャートである。まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷させることにより電子原稿データに変換する(ステップS801)。この電子原稿データへの変換を終えるとステップS802に進み、その変換されたデータが画像データであるか否かを判定する。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行うことができる。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればJPEG圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はステップS801のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、ステップS801の処理を省略することも可能である。
ステップS802で、画像データでなかった場合はステップS803に進み、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する。この場合、章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
また、ステップ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は、例えば保存されているブックファイルに対して、その印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、この文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
<プレビュー表示の内容>
既に説明したように、ブックファイルが製本アプリケーション104によって開かれると、図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はプリンタ107全体を制御するもので、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は一般アプリケーション101とは異なり、文書のページ順の入れ替えや複製(コピー)、削除などの編集機能に加え、ステイプル・パンチ穴などの、プリンタ107における機能設定を電子原稿ファイルに対して行うことができ、指定したプリンタを使用して印刷することが可能である。尚、本実施形態で説明する製本アプリケーション104を「印刷設定アプリケーション」とも呼ぶ。
図14は、文書処理システムにおける製本アプリケーション104の「ドキュメントの詳細設定」画面の一例を示す図である。まずエリア1401は、製本アプリケーションに従来からある機能で、文書を印刷する際に使用する用紙の給紙部を指定するためのエリアである。1402と1403は、本実施形態の特徴的な機能の一例である、印刷時に自動で出力用紙を切り換える指示に関する情報の設定を行うための設定エリアである。
また、図15は、文書処理システムにおける製本アプリケーション104の「ページの詳細設定」画面の一例を示す図である。この「ページの詳細設定」画面は、ページごとの詳細な設定を行うための画面であり、エリア1501で印刷に使用する用紙の種類も指定することができる。この例では、「普通紙/光沢紙/OHP」の中から選択することができる。
次に、図14に示す設定エリア1402における「ページごとの用紙の設定を反映」がチェックされると、エリア1501においてユーザがページごとに設定した用紙タイプの情報に基づき、印刷時に用紙を自動で切り換えて印刷を行う。また、設定エリア1403における「カラー/モノクロ自動用紙切り替え」がチェックされると、704のページの詳細設定情報に基づいて、ページがカラーであれば光沢紙で、ページがモノクロであれば普通紙という具合に用紙を自動で切り換えて印刷を行う。
ここで、ある1ページだけがカラーである文書で、印刷方法として「両面印刷」が設定されている場合を考える。このような場合、1403の「カラー/モノクロ自動用紙切り替え」が選択されると、用紙としては、カラーのページにあわせてその反対側のページも光沢紙で印刷を行う。例えば、1ページ目がカラーで、2ページ目がモノクロという場合には、表面の1ページ目に合わせて裏面の2ページ目も光沢紙で印刷を行う。
また、印刷方法として「製本印刷」が指定され、1402の「ページごとの用紙の設定を反映」が選択されている場合、エリア1501で、ある1ページだけ出力用紙のタイプが「光沢紙」と指定されると、同じ1枚の用紙に印刷されることになるほかの3ページもそれに合わせて光沢紙で印刷を行う。
更に、印刷方法として「製本印刷」が指定され、1403で「カラー/モノクロ自動用紙切り替え」が選択されている文書において、その文書のある1ページだけカラーページであれば、同じ用紙に印刷されることになる他の3ページもそれにあわせて光沢紙で印刷を行う。
このように、製本印刷や両面印刷の場合には、ユーザが予期しない用紙で印刷されることが考えられる。これを防ぐために、本実施形態における製本アプリケーション104では、図16に示すようなUIを提供する。図16は、図14において、紙種の切り換えを行うように指定した場合に、印刷プレビュー画面において各ページがどのような用紙設定になるのかを事前に知らせる画面である。
図16に示す例は、全8ページある文書において、ユーザが図14に示した設定エリア1402で「ページごとの用紙の設定を反映」を選択し、2ページ目だけを「光沢紙」に設定し、更に印刷方法として「製本印刷」を指定した場合のプレビュー結果を示す画面である。この場合、製本印刷が選択されているので、2ページ目と、1、7、8ページ目は同じ用紙に印刷される。ここでは、そのことをユーザに対して分かりやすく表示していることがわかる。このように同じ紙種に印刷されることになるページの情報をユーザに対して分かりやすく表示することにより、ユーザの予期せぬ印刷結果になることを未然に防ぐことができる。
ここで、アプリケーション101が扱う文書ファイルのデータ構造について説明する。図17は、本実施形態における文書ファイルの一例を示す図である。この文書ファイルは、図1の電子原稿ファイル103に相当し、ここでは、例えば図13の外部メモリ211に記憶されているが、図12の文書管理サーバ1201のデータベース1211に格納されても良い。
図17において、文書の構造情報701は、図10に示したアプリケーション操作画面のツリービュー1101に表示する文書の構造に関する情報である。文書の詳細設定情報702は、文書全体に設定可能な情報を記録するための領域である。章の詳細設定情報703は、各章に設定可能な情報を記録するための領域である。ページの詳細設定情報704は、ページごとに設定可能な情報を記録するための領域である。そして原稿情報705は、各原稿ページの描画情報を記憶しており、図10の右側の印刷プレビュー1102への表示に使用する情報がページ単位で保存されている。尚、この文書ファイルには、その他にも、各文書毎に必要な情報が含まれているが、ここではそれらの説明を省略する。
図18は、図17の文書の詳細設定情報702のデータ構造を更に詳細に示す図である。801は文書のページ設定情報、802は文書の仕上げ情報、803は文書の編集情報、804は文書の給紙情報、805は出力用紙の情報で、これらの情報が文書の詳細設定情報702として格納されている。更に、図15に示す操作画面を用いて出力用紙の設定を行った場合には、それらの設定情報が出力用紙の情報805に記録される。
図19は、図18の出力用紙の情報805に記憶される情報を更に詳細に示す図である。図19において、901は1ページ目の出力用紙情報、902は2ページ目の出力用紙情報というように、以下順に最終ページまで出力用紙情報(903〜905)が連続した領域に記録される。
ここで、本実施形態における文書処理システムの製本アプリケーション104の機能を使用し、電子原稿ファイルをページごとに紙種を切り換えて印刷させる処理について説明する。
図20は、本実施形態におけるページごとの用紙切り換え制御を示すフローチャートである。まずステップS2001において、文書の詳細設定情報702を取得する。次に、ステップS2002において、図14の設定エリア1402で「ページごとの用紙設定を反映」が設定されているか否かをチェックし、設定されている場合はステップS2003へ進み、ページごとに用紙を切り換える印刷処理を実行させる。
また、ステップS2002において、「ページごとの用紙設定を反映」が設定されていなければステップS2004へ進み、図14の設定エリア1403で「カラー/モノクロ用紙切換え」が設定されているか否かをチェックする。ここで、設定されていればステップS2005へ進み、カラー/モノクロ用紙切り換え用の印刷処理を実行させる。それ以外の場合は、ステップS2006において、通常の印刷処理を実行させる。
図21は、図20のステップS2003の詳細であり、図14の設定エリア1402で「ページごとの用紙の設定を反映」を選択した場合の印刷処理を示すフローチャートである。製本アプリケーション104は、まずステップS2201において、文書の出力用紙情報805を取得する。続いて、ステップS2102において、文書ファイルに含まれるページの数を変数Nへ、変数Kに初期値0をセットし、ステップS2103でKに1加算する。ここより1ページ目からの印刷処理が開始される。
次のステップS2104では、現在印刷中であるK番目のページの出力用紙情報を取得する。そしてステップS2105において、Kページ目の紙種属性の情報をプリンタドライバへの印刷指示情報(DEVMODEと呼ばれるもの)にセットする。このDEVMODEはマイクロソフト社のウィンドウズ(登録商標)OSにおいて提供されている、プリンタドライバのプロパティで設定できる内容を格納する構造体であり、印刷データを渡されたプリンタドライバがプリンタに対して送信する印刷命令を生成する際に参照する。そして、プリンタドライバは、DEVMODEに記述された通りにプリンタを機能させるように印刷命令を生成してプリンタに送信する。
尚、本実施形態では、OS下で稼動する文書処理システムを説明するために、DEVMODEを例として説明する。DEVMODE構造体の変数の1つであるメディアタイプ(dmMediaType)は、印刷時の用紙を指定するためのもので「普通紙/光沢紙/OHP」などから指定することができる。
そして、ステップS2105では、Kページ目の紙種属性の情報をこのメディアタイプ(dmMediaType)に指定することによって出力用紙の切り換えを実現する。
ここで図21に戻り、ステップS2106において、印刷に使用する紙種の情報の設定を反映したDEVMODEをプリンタへ通知し、Kページの原稿印刷処理が行われる。そして、ステップS2107において、現在のページがNページ目(最終ページ)か否かを判定し、K=Nでない場合は、再びステップS2103に戻る。そして、Kに1を加算し、次のページ(K+1ページ以降)でも同様の処理を行い、これをK=Nになるまで、N回繰り返す。
以上の処理により、各ページごとに設定された情報に基づき、ページごとに出力用紙を切り換えて印刷させることが可能となる。
次に、図22は、ステップS2005の詳細で、ページの紙種属性又はページのカラー/モノクロ属性に基づき、紙種を切り換える処理のフローチャートである。尚、ステップS2201〜S2203までの処理は前述した「ページごとに用紙の設定を反映」と同じである。次のステップS2204では、801より、Kページ目のカラー情報を取得し、次のステップS2205において、そのページがカラーかモノクロかを判定する。カラーであった場合は、ステップS2206においてDEVMODEのメディアタイプ(dmMediaType)を光沢紙にセットする。また、モノクロと判断した場合は、ステップS2207において、DEVMODEのメディアタイプ(dmMediaType)を普通紙にセットする。そして、ステップS2108において、上述した紙種の設定を反映したDEVMODEをプリンタへ通知し、Kページの原稿印刷処理が行われる。また、図21に示す処理と同様に、同じ処理がNページ分繰り返される。
これにより、ページの属性がカラーの場合は光沢紙に、ページの属性がモノクロの場合は普通紙に自動で切り換えて印刷することが可能となる。
以上説明した実施形態によれば、文書ファイルを印刷する際に、文書ファイルに対してユーザが事前にページごとに用紙を設定し、その設定に基づいて印刷時に使用する紙種を切り換えることにより、ユーザの所望する形での印刷物を容易に提供することができる。
また、各ページの出力用紙設定を文書情報の一部として保存することにより、同じ用紙形態で繰り返し印刷することができる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。