以下、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
<システム概要>
本発明の実施形態に係る文書処理システムの概要について、添付図面を参照して以下に説明する。文書処理システムは、一般のアプリケーションによって作成されたデータファイルを電子原稿ファイルに変換する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含む。文書処理システムは、作成されたデータを一まとめにした文書の作成及び編集を可能とし、その操作性を向上させて文書編集を効率的に行えるものである。
<システム構成及び動作>
図1は、本実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、文書処理装置として機能するコンピュータ100(以下、「ホストコンピュータ」とも呼ぶ)によって実現されている。一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー、あるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムである。一般アプリケーション101は、オペレーティングシステム(OS)に対する印刷機能を有している。これらのアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷する際に、OSによって提供される所定のインタフェースを利用する。OSによって提供される所定のインタフェースは、一般に、「GDI(Graphic Device Interface)」と呼ばれる。
一般アプリケーション101は、作成したデータを印刷するために、上述のインタフェースを提供するOSの出力モジュールに対して、あらかじめ定められるOSに依存する形式の出力コマンド(GDI関数と呼ばれる)を送信する。一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の出力デバイスが処理可能な形式に変換して、変換されたコマンド(「DDI関数」と呼ばれる)を出力する。
出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なる。そのため、デバイスごとにデバイスドライバが提供されており、OSではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブが生成される。OSとしてマイクロソフト社のウインドウズ(登録商標)を利用する場合には、前述した出力モジュールとしてはGDIと呼ばれるモジュールが相当する。
電子原稿ライタ102は、上述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。但し、電子原稿ライタ102は特定の出力デバイスを目的としておらず、詳細は後述する製本アプリケーション104やプリンタドライバ106により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ102による変換後の形式(以後、「電子原稿形式」と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうち、例えば、アドビシステムズによるPDF形式やSVG形式などが電子原稿形式として採用できる。
一般アプリケーション101から電子原稿ライタ102を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ102を指定してから印刷を実行させる。但し、電子原稿ライタ102によって作成されたままの電子原稿形式の電子原稿ファイルは完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。
製本アプリケーション104は電子原稿ライタ102が生成した新規の不完全な電子原稿ファイルを、後述する形式を備えた電子原稿ファイル103として完成させる。以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ102によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
デバイスドライバとして電子原稿ライタ102を指定し、一般アプリケーション101によりデータを印刷させる。アプリケーションデータは一般アプリケーション101によって定義されたページ(論理ページ或は原稿ページと呼ぶ)を単位とする電子原稿形式に変換され、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。尚、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション104は電子原稿ファイル(あるいはブックファイル)103を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位とし編集機能により構成される。製本アプリケーション104は、後述する章やブックの構造を編集するための機能を提供する。製本アプリケーション104によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。
電子原稿デスプーラ105は、製本アプリケーション104と共にコンピュータ内にインストールされるプログラムモジュールである。電子原稿デスプーラ105は、製本アプリケーション104で利用するドキュメント(ブックファイル)を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成する。そして、電子原稿デスプーラ105は、生成した出力コマンドを不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ107用のプリンタドライバ106がデバイスドライバとして指定される。
上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ107用のプリンタドライバ106に出力する。プリンタドライバ106は、デバイスコマンドをプリンタ107で解釈実行可能なページ記述言語等のコマンドに変換する。そして、変換されたコマンドはプリンタドライバ106から不図示のシステムスプーラを介してプリンタ107に送信され、プリンタ107によってコマンドに応じた画像が印刷される。
図2は、ホストコンピュータ100のハードウェア構成を示すブロック図である。CPU201は、ROM203のプログラム用ROMに記憶された、あるいはハードディスク(HD)211からRAM202にロードされたOSや一般アプリケーション、製本アプリケーションなどのプログラムを実行する。CPU201は、プログラムの実行により、図1のソフトウェア構成や、後述するフローチャートの手順を実現する。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRT210の表示を制御する。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク(HD)211やフレキシブルディスク(FD)等とのアクセスを制御する。PRTC208は、接続されたプリンタ107との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
<電子原稿データの形式>
製本アプリケーション104の詳細を言及する前に、ブックファイルのデータ形式について説明する。ブックファイルは紙媒体の書物を模倣した3層の層構造を有する。まず、上位層は「ブック」と呼ばれ、1冊の本を模倣しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。尚、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
図3に示す(A)は、ブックファイルの形式の一例を示す図である。図示するように、この例では、ブックファイルにおけるブック、章、ページは、それぞれに相当するノードにより示されている。一つのブックファイルは一つのブックを含む。ブック、章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。
尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
図3において、ブック301には、ブック属性が定義されていると共に、2つの章302A、302Bがリンクされている。このリンクにより、章302A、302Bがブック301に包含されていることが表示される。章302Aには、ページ303A、303Bがリンクされ、これらページが含まれることが示されている。各ページ303A、303Bにはそれぞれ属性値が定義され、その実体である原稿ページデータ(1)、(2)へのリンクが含まれる。これらリンクは、図3に示す(B)のように原稿ページデータ304のデータ(1)、(2)を指し示し、ページ303A、303Bの実体が原稿ページデータ(1)、(2)であることを表示している。
図4は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
図5は章属性のリストであり、図6はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
図4、図5及び図6から明らかなように、ブック属性に固有の項目は、印刷方法、製本詳細、表紙/裏表紙、インデックス紙、合紙、章区切りの6項目である。これらはブックを通して定義される項目である。
印刷方法の属性としては、図4に示すように、片面印刷、両面印刷、製本印刷、四つ折りの4つの値を指定できる。
ここで、製本印刷とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
また、四つ折りとは紙を4つに折り、折った紙をページ順に重ね、綴じ方向(左右)以外の三方を断裁し、綴じることで製本する方法を用いるためのページの配置を行うための印刷方法である。製本詳細属性としては、四つ折りが指定されている場合に、綴じ方法等の指定ができる。
表紙/裏表紙の属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙の属性は、章の区切りとして、印刷装置に別途用意される耳付きインデックス紙の挿入の指定及びインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
合紙の属性は、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。
章区切りの属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、N−up印刷指定、拡大縮小、排紙方法の5項目である。これらのうち、N−up印刷指定の属性は1印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、1×1、1×2、2×2、3×3、4×4などがある。排紙方法の属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを100%として指定される。仮想論理ページ領域とは、原稿ページを、Nup等の指定に応じて配置した場合に、1原稿ページが占める領域である。例えば、1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。尚、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
<ブックファイルの生成手順>
ブックファイルは上述したような構造及び内容を有している。次に、製本アプリケーション104及び電子原稿ライタ102による電子原稿ファイル(ブックファイル)の作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
<ブックファイルオープン>
図7は、製本アプリケーション104によりブックファイルを開く手順を示す図である。まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する(ステップS701)。新規作成の場合には、章を含まないブックファイルを新規に作成する(ステップS702)。新規に作成されるブックファイルは、図3の例で示せば、ブック301のノードのみを有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインタフェース(UI)画面を表示する(ステップS703)。
図11は、新規にブックファイルが作成された際のUI画面の一例を示す図である。この場合は、ブックファイルは実質的な内容を持たないため、UI画面1100には何も表示されない。
一方、既存のブックファイルがあれば、指定されたブックファイルを開き(ステップS703)、そのブックファイルの構造、属性、内容に従ってユーザインタフェース(UI)画面を表示する。
図10は、既存のブックファイルから指定されたブックファイルを表示する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の処理を省略することも可能である。
ここで、画像データでなかった場合には、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する(ステップS803)。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
ステップS802で画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページが追加される(ステップS804)。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、Nup指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
<電子原稿ファイル生成>
図9は、図8に示すステップS801において、電子原稿ライタ102により電子原稿ファイルを生成させる手順のフローチャートである。まず、新たな電子原稿ファイルを作成して、それを開く(ステップS901)。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタ102をデバイスドライバとしてOSの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタ102によって電子原稿形式のデータに変換し、出力する(ステップS902)。その出力先はステップS901で開いた電子原稿ファイルである。指定されたデータ全てについて変換が終了したか判定し(ステップS903)、終了していれば電子原稿ファイルを閉じる(ステップS904)。電子原稿ライタ102によって生成される電子原稿ファイルは、図3の(B)に示される原稿ページデータの実体を含むファイルである。
<ブックファイルの編集>
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
(1)新規追加
(2)削除
(3)コピー
(4)切り取り
(5)貼り付け
(6)移動
(7)章名称変更
(8)ページ番号名称振り直し
(9)表紙挿入
(10)合紙挿入
(11)インデックス紙挿入
(12)各原稿ページに対するページレイアウト。
このほか、一旦、行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。これら編集機能により、例えば、複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などが可能となる。これらの操作を行うと、図4、図5に示す属性に操作結果が反映されたり、あるいはブックファイルの構造に反映されたりする。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
<ブックファイルの出力>
以上のように作成・編集されるブックファイルは、印刷出力を最終目的とするものである。ここで、利用者が、図10に示した製本アプリケーションのUI画面1100からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション104は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ105に渡す。一方、電子原稿デスプーラ105は、ジョブチケットをOSの出力コマンド、例えば、ウインドウズ(登録商標)のGDI関数に変換し、それを出力モジュール、例えば、GDIに送信する。出力モジュールは、指定されたプリンタドライバ106によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
ここで、ジョブチケットは、原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば、両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。電子原稿デスプーラ105は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
<そのほかのシステム構成>
本実施形態の文書処理システムは、スタンドアロン型のシステムに限定されるものではなく、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルを作成・編集することができる。ブックファイルや印刷処理はサーバによって管理される。
図12は、サーバクライアント型文書処理システムにおけるソフトウェアの構成例を示す図である。
クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるDOMS(Document Output Management Service:文書出力管理サービス)ドライバ109を加えた構成を有する。クライアント文書処理システムは、更に、DOMSプリントサービスモジュール110、DS(文書サービス)クライアントモジュール(DSクライアント108)を加えた構成を有する。
このクライアント文書処理システム1200に、文書管理サーバ1201、印刷集中管理サーバ1202及びプリントサーバ1203が接続されている。これらサーバは、通常、ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。
尚、図12に示す例では、文書管理サーバ1201と印刷集中管理サーバ1202の両方のサーバがクライアントに接続されているが、何れか一方のみネットワーク上に存在する場合もあり得る。例えば、接続されているサーバが文書管理サーバであれば、そのDSクライアント108を含む文書管理サーバクライアントシステム1201SCがスタンドアロン型文書管理システムに追加される。また印刷集中管理サーバであれば、そのクライアントモジュールを含む印刷集中管理サーバ1202が、スタンドアロン型文書管理システムに追加される。
文書管理サーバ1201は、製本アプリケーション104により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ1201によってブックファイルを管理する場合、ブックファイルはクライアントPCのローカルHDに代わって、あるいはそれに加えて、文書管理サーバ1201のデータベース(DB)1211に保存される。製本アプリケーション104と文書管理サーバ1201との間のブックファイルの保存及び読み出しは、DSクライアント108及びDSコア1212を介して行われる。
印刷集中管理サーバ1202は、クライアント文書処理システム1200に格納された、あるいは文書管理サーバ1201に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、DOMSドライバ109およびDOMSプリントサービスモジュール110を介して印刷集中管理サーバ1202のDOMSWGサーバモジュール1221に送信される。
印刷集中管理サーバ1202は、クライアントのプリンタで印刷する場合にはクライアントのDOMSプリントサービスモジュール110を介して電子原稿デスプーラ105に電子原稿データを渡す。また、プリントサーバ1203により印刷する場合には、プリントサーバ1203のプリントサーバ1203に送信する。印刷集中管理サーバ1202は、例えば、保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
<プレビュー表示の内容>
既に説明した通り、ブックファイルが製本アプリケーション104によって開かれると、図10に示したユーザインタフェース画面1100が表示される。ツリー部1101には、開いているブック(以下、「注目ブック」と呼ぶ)の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、3通りの表示方法が用意されている。まず、第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。尚、プレビュー部1102の表示にレイアウトは反映されない。次に、第2は印刷ビューモードである。この印刷ビューモードでは、プレビュー部1102には原稿ページのレイアウトが反映された形で原稿ページが表示される。そして、第3は簡易印刷ビューモードである。この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
<ステイプル制御>
次に、ステイプル機能を有するプリンタと接続するホストコンピュータ100において、製本アプリケーション104が実行するステイプル制御について説明する。
図13は、ステイプル制御システムの構成を示すブロック図である。図示するように、ステイプル制御システムは、図2に示したホストコンピュータ100と、ステイプル機能を有するプリンタ107と、で構成される。
以下、プリンタ107の構成について説明する。尚、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
プリンタ107において、1301はプリンタCPUである。ROM1302内のプログラム用ROMや外部メモリ1303に記憶された制御プログラムに基づいて、システムバス1304、印刷部I/F1305を介して、印刷部(プリンタエンジン)1306に画像信号が出力される。
ROM1302内のプログラムROMには、CPU1301の制御プログラム等が記憶され、ROM1302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等が記憶される。ROM1302内のデータ用ROMには、ハードディスク等の外部メモリ1303がないプリンタの場合、ホストコンピュータ100上で利用される情報等が記憶される。
また、CPU1301は、入力部1307を介してホストコンピュータ100との通信処理が可能となっており、プリンタ107内の情報等をホストコンピュータ100に通知できる。RAM1308は、CPU1301の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
尚、RAM1308は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。上述したハードディスク(HD)、ICカード等の外部メモリ1303は、メモリコントローラ(MC)1309によりアクセスを制御される。外部メモリ1303は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作部1311は操作のためのスイッチ及びLED表示器等で構成されている。上述の外部メモリ1303は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。更に、図示しないNVRAMを有し、操作部1311からのプリンタモード設定情報を記憶するようにしても良い。前述のように、章単位でアプリケーションデータを取り込むが、その際、章に対しインポート元の原稿情報を埋め込む。
<文書処理システム>
図14は、本発明の実施形態に係る文書処理システムの構成を概略的に示す図である。文書処理装置として機能するホストコンピュータ100とプリンタ107はネットワーク1403で接続されており、ホストコンピュータ100からの印刷ジョブはネットワーク1403を通じてプリンタ107に送信され、印刷される。
後処理装置として機能する折り機1401及びくるみ製本機1402はホストコンピュータ100及びプリンタ107とはネットワーク1403で接続されていない、独立した状態である。文書処理装置(ホストコンピュータ100)において、印刷方法として四つ折り印刷が選択された場合、プリンタ107で印刷された印刷物はユーザによって折り機1401へ運ばれ、折り機1401において後処理(折り処理)されることになる。
四つ折り製本を行う場合は、印刷が完了した用紙を折り機1401まで運び、面付けにあった四つ折り処理を行う。折り処理が終わった成果物を、くるみ製本機1402まで運び、くるみ製本処理を行う。折り処理が終わった用紙を表紙でくるみ、糊付けを行い、綴じ方向以外の用紙の三方を断裁することで製本処理が完了する。
本発明の実施形態においては、最終的な後処理を実行する前に、選択された印刷方法に対応した後処理用のサンプルページをプリンタ107で印刷する。折り処理が必要となる印刷方法が選択されている場合、サンプルページを折り機1401で後処理(折り処理)する。その後処理(折り処理)結果を文書処理装置(ホストコンピュータ100)が実行する面付け制御に反映する。
以下に示す実施形態では、折り処理が必要となる印刷方法(四つ折り印刷)を例として説明しているが、本発明の趣旨がこの例に限定されるものではない。他の後処理(例えば、製本等)が必要となる印刷方法においても同様に本発明を適用することが可能であることはいうまでもない。
<文書処理の全体フロー>
図15は、ブックファイルのブック属性において、印刷方法として四つ折りを指定した場合の文書処理の流れを示す図である。本処理は、製本アプリケーション104の制御の下に実行することができる。
まず、ユーザ(作業者)は印刷方法を選択する。図16は、印刷方法を選択するユーザインタフェースを例示的に示す図であり、ここでは、「片面印刷」、「両面印刷」「製本印刷」「四つ折り印刷」のいずれかを選択することができるようになっている。尚、印刷方法としては、上述の4つに限定されるものではなく、その他、8つ折り方法等、ブック属性としてサポートする印刷方法に対応して、ユーザインタフェースの表示を制御することは可能である。
四つ折り印刷1601を選択すると、折り機の折り方に合わせた面付けを行うために、選択された印刷方法(四つ折り印刷1601)に対応した後処理用のサンプルページを出力し、面付けを行うか確認するメッセージ1602が表示される。ここで、製本アプリケーション104は、サンプルページの出力が選択されたか否かを判定する(S1501)。
メッセージ1602において、サンプルページの出力をキャンセルすると(S1501−NO)処理は、ステップS1502に進められる。ステップS1502において、製本アプリケーション104は、ユーザの指示に従って綴じ方法を選択する。綴じ方法の選択として、例えば、図17に示すような、綴じ天袋、左綴じ地袋、右綴じ天袋、右綴じ地袋の4つから所望の綴じ方法(折ったページをどのように綴じるかという綴じ方法)を選択することができる。ここで、綴じ方法には、ページの綴じ方向(右綴じ、または左綴じ)と、袋方向(天袋、地袋)と、が含まれる。
そして、ステップS1507において、製本アプリケーション104は、選択した方法に合ったページの配置に並び替え(面付け)を実行する。
一方、メッセージ1602において、ユーザによりサンプルページの出力(OK)が選択されると(S1501−YES)、処理は、ステップS1503に進められ、サンプル出力モードに移行する。サンプル出力モードとは、折り処理用のサンプルページを出力することで、折り機の折り方をユーザ(作業者)に報知する出力モードである。
サンプル出力モードをユーザが選択した場合、ステップS1503において、製本アプリケーション104の指示に従い、情報処理装置は、サンプルページの印刷ジョブをプリンタ107に送信する。その結果、図18に示すようなサンプルページがプリンタ107により印刷される。印刷されるサンプルページは、例えば、四つ折り印刷が印刷方法として選択された場合、4UP(用紙の片面に4枚の原稿を均等に割り付ける)、両面で印刷される。各ページの内容は、表面、裏面ともにページの上下の識別ができるように、各ページの内容には上下識別マーク1802、1803が印刷される。また、サンプルページの表面には、折り機への挿入方向を示す挿入方向指示マーク1801が印刷される。製本アプリケーション104は、挿入方向指示マーク1801を、サンプルページの上面側1806の他、折り機への挿入方向に合わせて、左右の面側1804、1805、下面側1807に印刷することも可能である。
サンプルページの表面において、上下左右いずれかに折り機に挿入する方向を示した挿入方向指示マーク1801を印刷する。挿入方向指示マーク1801により、ユーザ(作業者)が折り機に用紙をセットする際に、用紙の向きを回転させてしまい間違った方向で、折り処理が実行されるのを防ぐことが可能になる。挿入方向指示マーク1801はユーザにより、サンプルページ(用紙)のどちら側に印刷するかを選択することができる。
サンプルページの印刷ジョブ送信後、図19に示すメッセージを画面上に表示し、サンプルページの印刷後に、印刷したサンプルページを折り機で折り処理を行うように、ユーザ(作業者)による操作を指示する。
ステップS1504において、製本アプリケーション104は、折った後のサンプルページ(用紙)の状態をプレビューする。図20は、折り工程後の状態をプレビューするユーザインタフェースを例示する図である。画面上に表示されるプレビューはサンプルページを印刷し、折り処理を行った場合になりうる四つ折り状態の全てが表示される。ユーザが選択した印刷方法により、サンプルページを四つ折りにする場合、まず、2つ折りのパターンとして、(1)表面を外側とし、裏面を内側に折るか、(2)表面を内側とし、裏面を外側に折るか、2通りがある。更に、2つ折にしたものを四つ折りにするには、(3)2つ折にした半ページ分を手前側に折り返すか、(4)裏側に折り返すか、の2通りがある。都合、組み合わせにより4通りの折り処理のパターンが表示される。図20において、左から順に、折り方2001、折り方2002、折り方2003、折り方2004と呼ぶ。サンプルページを折り機で折り、四つ折り処理を行った場合、プレビュー画面に表示されている4パターンのうちいずれかの状態と一致することになる。
プレビュー用の4パターンは、文書処理装置として機能するホストコンピュータ100におけるハードディスク(HD)211またはデータROMに予め格納されているものとする。プレビュー用のパターンは、印刷方法それぞれに対応して格納されているものとする。印刷方法が図16に示すユーザインタフェースで選択されると、選択された印刷方法に対応したサンプルページの後処理後の状態を示すプレビューパターンがハードディスク(HD)211等から読み出され、CRT210に表示される。
ユーザは、S1504の後、実際に折り機1401で折られたサンプルページの後処理結果と、図20の折り処理パターンと、を比較して、同じ状態となっている折り方(折り処理パターン)を選択する。すなわち、サンプルページの後処理の結果と、プレビューパターンと、を比較して一致するプレビューパターンをユーザが選択する。ユーザは、サンプルページの後処理の結果と一致するプレビューパターンを受付入力欄2005に入力する。製本アプリケーション104は、受付入力欄2005の入力に基づき、サンプルページの後処理の結果と、プレビューパターンと、の比較に基づくプレビューパターンの選択を受け付ける(S1505)。OKボタン2006の押下により受付が確定する。
ステップS1505において、ユーザにより、折り方(折り処理パターン)が選択されると、処理はステップS1506に進められる。
そして、ユーザ(作業者)は、図20から折り処理パターンを選択した後、所望する綴じ方法を選択する。綴じ方法には、ページの綴じ方向(右綴じ、または左綴じ)と、袋方向(天袋、地袋)と、が含まれる。図21は、ユーザ(作業者)が綴じ方法を選択するためのユーザインタフェースである。このユーザインタフェースに基づき、最終的な印刷物を左綴じにするか、右綴じにするか、綴じ方向の指定と、折った後の袋の方向が上(天袋)であるか下(地袋)であるかの袋方向を選択することができる。
ステップS1507において、製本アプリケーション104は、先のステップS1505、S1506で選択された情報に基づき、面付け方法を決定する。
<面付け処理>
図22は、指定された四つ折り方法に基づき、面付け処理を実行するためのフローチャートである。本処理は、製本アプリケーション104の制御の下に実行することができる。
まず、最初にステップS2201で、製本アプリケーション104は、右綴じ地袋または左綴じ天袋が選択されているか判定する。右綴じ地袋または左綴じ天袋であるかは、サンプル出力モードが選択されている場合は、図15のステップS1505、S1506における選択結果に基づき判定される。また、サンプル出力モードでない場合は、ステップS1502で、ユーザによって入力された綴じ方法に基づき判定される。
綴じ方法が右綴じ地袋、または左綴じ天袋の場合(S2201−Yes)、処理はステップS2202に進められる。ステップS2202において、製本アプリケーション104は、四つ折りページ配置1(図23)の順番で論理ページを配置する。ここで、論理ページとは、製本アプリケーションで扱われるページをいう。製本アプリケーション104は、実際にプリンタ107により印刷出力されるページ(物理ページ)に、論理ページの配置、並び順を制御して、面付けを制御することができる。
図23は、四つ折りページ配置1として物理ページ上に配置される論理ページの配置を示す図である。論理ページは、用紙1枚目(物理ページ)の表面の左上に1ページ目、右上に8ページ目、左下に4ページ目、右下に5ページ目が配置される。用紙1枚目の裏面の左上に7ページ目、右上に2ページ目、左下に6ページ目、右下に3ページ目が配置される(図23(a))。
ここで、(用紙枚数P(物理ページ一枚目を1、二枚目を2、x枚目をxとする)−1)x8=Nとする。Nを用いて、論理ページの配置を示すと、図23(b)に示すように、用紙P枚目の表面の左上にN+1ページ目、右上にN+8ページ目、左下にN+4ページ目、右下にN+5ページ目が配置される。また、用紙P枚目の裏面の左上にN+7ページ目、右上にN+2ページ目、左下にN+6ページ目、右下にN+3ページ目が配置される。
論理ページ9ページ目以降も、図23(b)の順番に従い物理ページに配置される。
一方、綴じ方法が右綴じ天袋、または左綴じ地袋の場合(S2201−No)、処理は、ステップS2203に進められる。ステップS2203において、製本アプリケーション104は、四つ折りページ配置2の順番で論理ページを配置する。図24は、四つ折りページ配置2として物理ページ上に配置される論理ページの配置を示す図である。論理ページは、用紙1枚目(物理ページ)の表面の左上に8ページ目、右上に1ページ目、左下に5ページ目、右下に4ページ目が配置される。用紙1枚目の裏面の左上に2ページ目、右上に7ページ目、左下に3ページ目、右下に6ページ目が配置される(図24(a))。
図23(b)の場合と同様にNを用いて、論理ページの配置を示すと、図24(b)に示すように、用紙P枚目の表面の左上にN+8ページ目、右上にN+1ページ目、左下にN+5ページ目、右下にN+4ページ目が配置される。また、用紙P枚目の裏面の左上にN+2ページ目、右上にN+7ページ目、左下にN+3ページ目、右下にN+6ページ目が配置される。
論理ページ9ページ目以降も、図24(b)の順番に従い物理ページに配置される。
ステップS2204において、製本アプリケーション104は、綴じ方向として右綴じが選択されているか判定する。右綴じが選択されている場合、S2206において、先のS2202で配置された論理ページ、N+3、N+4、N+5、N+6(N=(用紙の数P−1)x8:P=1、2、)を180度回転させ、論理ページの上下方向を反転させる面付け制御が実行される。
図25(a)はS2206の処理により、用紙1枚目の論理ページ3、4、5、6ページが反転した状態を示す図である。図25(b)は、用紙P枚目の論理ページN+3、N+4、N+5、N+6ページ目が180度反転した状態を示す図である。
一方、ステップS2204の判定で、右綴じが選択されていない場合(S2204−No)、処理はステップS2207に進められる。
S2207において、製本アプリケーション104は、先のS2202で配置された論理ページ、N+1、N+2、N+7、N+8(N=(用紙の数P−1)x8:P=1、2、・・・)を180度回転させ、論理ページの上下方向を反転する。
図26(a)はS2207の処理により、用紙1枚目の論理ページ1、2、7、8ページが反転した状態を示す図であり、図26(b)は、N+1、N+2、N+7、N+8ページ目が180度反転した状態を示す図である。
ステップS2205において、製本アプリケーション104は、綴じ方向として右綴じが選択されているか判定する。右綴じが選択されている場合、S2208において、製本アプリケーション104は、S2203で配置された論理ページ、N+1、N+2、N+7、N+8(N=(用紙の数P−1)x8:P=1、2、)を180度回転させ、論理ページの上下方向を反転する。
一方、ステップS2205の判定で、右綴じが選択されていない場合(S2205−No)、処理はステップS2209に進められる。
ステップS2209において、製本アプリケーション104は、先のステップS2203で配置された論理ページ、N+3、N+4、N+5、N+6(N=(用紙の数P−1)x8:P=1、2、・・・)を180度回転させ、論理ページの上下方向を反転する。
以上の処理が終了すると、処理はステップS2210に進められる。
ステップS2210において、製本アプリケーション104は、一つの物理ページに配置される論理ページを結合する(図27参照)。印刷方法として四つ折りが選択されている場合、1つの物理ページに4つの論理ページが配置されることになる。1つの物理ページに配置される4つの論理ページが1つに結合される。
次に、ステップS2211において、製本アプリケーション104は、図15のステップS1505で入力された情報に基づいて、折り方(折り処理パターン)を判定する。
折り方1の場合、これまでの処理ですでに適切な配置に面付けされているため、面付け処理は終了となる。
折り方2の場合には、処理はステップS2212に進められ、ステップS2210の処理で、4つの論理ページを結合した物理ページを180度回転させる面付け制御を行う。図28は、折り方2の面付け制御として、物理ページの回転を例示する図であり、用紙1枚目の物理ページ(図28(a))は、180度回転して、図28(b)に示すようになる。また、用紙P枚目の物理ページ(図28(c))は、180度回転して、図28(d)に示すようになる。ここで、N=(用紙の数P−1)x8(P=1、2、・・・)。
折り方3の場合には、処理はステップS2213に進められる。ステップ2213において、物理ページの表面と裏面とを交換する(入れ替える)面付け制御を行う。すなわち、物理ページ1ページと物理ページ2ページ、物理ページ3ページと物理ページ4ページ、・・・・物理ページM(用紙枚数Px2)−1ページと物理ページMページの交換を行う。図29は、折り方3の面付け制御として、物理ページの入れ替えを例示する図である。用紙1枚目の表面の物理ページ2901と裏面の物理ページ2902とが交換される(図29(a))。図29(b)は、用紙1枚目について、物理ページが交換された状態を示す図であり、交換前に裏面を構成していた物理ページ2902は、表面を構成する物理ページとして面付けされる。また、交換前に表面を構成していた物理ページ2901は、裏面を構成する物理ページとして面付けされる。
用紙P枚目の面付け制御においても同様に、表面の物理ページ2903と裏面の物理ページ2904とが交換される(図29(c))。図29(d)は、用紙P枚目について、物理ページが交換された状態を示す図であり、交換前に裏面を構成していた物理ページ2904は、表面を構成する物理ページとして面付けされる。交換前に表面を構成していた物理ページ2903は、裏面を構成する物理ページとして面付けされる。
折り方4の場合には、処理はステップS2214に進められる。ステップ2214において、(a)まず、4つの論理ページを結合した物理ページを180度回転させる面付け制御を行う。(b)次に、物理ページの表面と裏面とを交換する(入れ替える)面付け制御を行う。
図30は、折り方4の面付け制御を例示する図である。用紙1枚目の物理ページ(図30(a))は、180度回転して、図30(b)に示すようになる。
用紙1枚目の表面の物理ページ3001と裏面の物理ページ3002とが交換される(図30(b))。交換前に裏面を構成していた物理ページ3002は、表面を構成する物理ページとして面付けされる。また、交換前に表面を構成していた物理ページ3001は、裏面を構成する物理ページとして面付けされる。
図30の面付け制御においては、回転をしてから交換をする処理の流れを説明したが、この順番に限定されず、先に交換をしてから回転を行うようにしてもよい。
以上の手順により、面付け制御が実行され、サンプルページと同じ方向に印刷物を折り機に挿入することで、四つ折り製本時に適切なページ順で並んだ文書処理が可能になる。
尚、上述の実施形態では、四つ折りの例を説明したが、この例に限定されず、例えば、8つ折りにおいても同様の手順で面付け制御を行うことが可能である。
本実施形態によれば、文書を構成するページの後処理を考慮して面付けを行う必要を無くし、作業効率に優れた文書処理技術の提供が可能になる。
(他の実施形態)
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。