以下、本発明の実施の形態を説明する。
<システム概要>
まず、本発明の第1の実施形態における情報処理装置を備える文書処理システムの概要について、図1乃至図12を参照して以下に説明する。本実施形態における情報処理装置は、例えば文書作成ソフトや描画ソフトなどの一般のアプリケーションによって作成されたデータファイル(製本の素材となるデータのファイル)を電子原稿ファイルに変換する機能を提供する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含む機能構成である。これにより、本実施形態の文書処理システムは、複数のアプリケーションで作成されたデータファイルを変換して得る複数の電子原稿ファイルを一まとめにした文書の作成及び編集を可能とし、その操作性を向上させて文書編集を効率的に行えるものである。
<システム構成及び動作>
図1は、本実施形態における情報処理装置を備える文書処理システムの機能構成を示す図である。図1に示すように、文書処理システムは、情報処理装置の一例であるホストコンピュータ100と出力デバイスの一例であるプリンタ107によって実現されている。尚、本実施形態におけるホストコンピュータ100は、ホストコンピュータである。次に、ホストコンピュータ100内の機能構成について説明する。一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー、あるいはペイント、プレゼンテーション、テキスト編集などの機能を提供する。また、一般アプリケーション101は、ホストコンピュータ100がメモリに格納するアプリケーションプログラム(文書作成ソフトや描画ソフト)を実行することにより実現される機能であり、更に、OS(オペレーティングシステム)に対する印刷機能をも有している。
まず、一般アプリケーション101の印刷機能について説明する。一般アプリケーション101は、例えば、作成された文書データや画像データなどのアプリケーションデータを印刷する際に、OSによって提供される所定のインタフェース(一般に、GDI(Graphic Device Interface)と呼ばれる)を利用する。即ち、一般アプリケーション101は、作成したアプリケーションデータを印刷するために、上述のインタフェースを提供するOSの出力モジュールに対して、あらかじめ定められる、OSに依存する形式の出力コマンド(GDI関数と呼ばれる)を送信する。尚、上記OSとは、ホストコンピュータ100において動作しているOSである。
一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の出力デバイスが処理可能な形式に変換して、変換された描画コマンド(DDI(Device Driver Interface)関数と呼ばれる)を出力する。ここで、出力デバイスが処理可能なデータ形式(コマンド形式を含む)は、デバイスの種類やメーカ、機種などによって異なるため、出力デバイスの機種ごとにデバイスドライバが提供されている。このデバイスドライバを、OSが利用して描画コマンド(DDI関数)を出力デバイスの制御可能なコマンド(以下、出力デバイス制御コマンドとする)へ変換することで、印刷データを生成する。次に、OSは、生成した印刷データや出力デバイス制御コマンドを、JL(Job Language)でくくることにより印刷ジョブを生成する。すなわち、一般アプリケーション101は、印刷時に出力デバイス(プリンタ107)の種類等に応じたデバイスドライバを指定する必要がある。また、例えばOSとしてマイクロソフト社のウィンドウズ(登録商標)を利用する場合には、前述した出力モジュールとしてはGDIと呼ばれるモジュールが相当する。
また、電子原稿ライタ102は、一般アプリケーション101が出力するアプリケーションデータを、後述する製本アプリケーション104やプリンタドライバ106により処理可能な形式のコマンドに変換する。この処理は、一般アプリケーション101が電子原稿ライタ102を利用することで実現する。その理由は、電子原稿ライタ102が、例えば、上述のデバイスドライバを改良したものであり、本実施形態の文書処理システムを実現するために提供されるソフトウェアモジュールだからである。但し、電子原稿ライタ102は特定の出力デバイスを目的としたものでなくてもよい。また、この電子原稿ライタ102による変換後の形式(以下、電子原稿形式と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうち、例えばアドビシステムズによるPDF形式やSVG形式などが電子原稿形式として採用できる。
また、一般アプリケーション101から電子原稿ライタ102を利用させる場合には、後述する製本アプリケーション104が印刷出力に使用するデバイスドライバとして、電子原稿ライタ102を指定させてから印刷を実行させる。但し、電子原稿ライタ102によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。そして、製本アプリケーション104は、電子原稿ライタ102が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる処理を行う。以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ102によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、一般アプリケーション101により生成されるドキュメントファイル(またはアプリケーションデータ)、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
このようにデバイスドライバとして電子原稿ライタ102を指定し、一般アプリケーション101によりデータを印刷させることで、アプリケーションデータは一般アプリケーション101によって定義されたページ(以後論理ページあるいは原稿ページと呼ぶ)を単位とする電子原稿形式に変換され、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。尚、上記ハードディスクの設置形態は、本実施形態の文書処理システムを実現するホストコンピュータ100が備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション104は電子原稿ファイル(あるいはブックファイル)103を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。具体的には、製本アプリケーション104は、後述する編集画面を表示して利用者に編集を促す。
利用者によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。この電子原稿デスプーラ105は、製本アプリケーション104と共にホストコンピュータ100内のインストールされるプログラムモジュールである。また、電子原稿デスプーラ105は、製本アプリケーション104で利用するドキュメント(ブックファイル103)を印刷する際に、プリンタドライバ106へ描画データを出力するために使用されるモジュールである。具体的には、電子原稿デスプーラ105は、指定されたブックファイル103をホストコンピュータ100のハードディスクから読み出し、ブックファイル103に記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ107用のプリンタドライバ106がデバイスドライバとして指定される。上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ107用のプリンタドライバ106に出力する。次に、プリンタドライバ106は、入力されたデバイスコマンドをプリンタ107で解釈実行可能なページ記述言語等の出力デバイス制御コマンドに変換する。そして、変換された出力デバイス制御コマンドはプリンタドライバ106から不図示のシステムスプーラを介してプリンタ107に送信される。以上により、プリンタ107によって出力デバイス制御コマンドに応じた画像が印刷される。
次に、ホストコンピュータ100のハードウェアの概略構成を説明する。
図2は、図1に示したホストコンピュータ100のハードウェアの概略構成を示すブロック図である。図2において、CPU(中央演算装置)201は、ROM(Read Only Memory)203のプログラム用ROMに記憶された、あるいはハードディスク211からRAM(Random Access Memory)202にロードされたOSや一般アプリケーション101、製本アプリケーション104の機能を実現するためのプログラムを実行し、図1に示した機能構成や、後述するフローチャートの手順を実現する。
また、RAM202は、CPU201の主メモリ、ワークエリア等として機能する。また、ROM203は、フォントROM、プログラムROM、データROMより構成される。また、キーボードコントローラ(KBC)205は、入力装置であるキーボード209からのキー入力や不図示のポインティングデバイスなどからの入力を制御する。また、CRT(Cathode Ray Tube)コントローラ(CRTC)206は、表示装置であるCRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク(HD)211やフレキシブルディスク(FD)等へのアクセスを制御する。PRTC208は、ホストコンピュータ100に接続されたプリンタ107との間の信号の交換を制御する。NC212は、ネットワークに接続されて、ホストコンピュータ100とネットワークに接続された他の機器との通信制御処理を実行する。
<電子原稿データの形式>
編集アプリケーション104の詳細を言及する前に、ブックファイル103のデータ形式について説明する。ブックファイル103は紙媒体の書物を模倣した3層の層構造を有する。まず、上位層は「ブック」と称し、1冊の本を模倣しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と称する。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」と称し、一般アプリケーション101で定義された各ページに相当する。尚、下位層「ページ」が複数ページある場合には、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
次に、上述したブック、章、ページの構成例について図を用いて説明する。図3(a)は、図1に示すブックファイル103におけるブック、章、ページの構成例を示す図である。図3(a)に示すように、ブック301には、ブック属性が定義されていると共に、2つの章302A,302Bがリンクされている。このリンクにより、章302A,302Bがブック301に包含されていることを示している。また、章302Aには章属性(1)が定義され、章302Bには章属性(2)が定義されている。
また、章302Aには、ページ303A,303Bがリンクされ、これらページが含まれることが示されている。各ページ303A,303Bには、それぞれページ属性(1)、ページ属性(2)に属性値が定義されている。また、各ページ303A,303Bには、その実体である原稿データ(1)、(2)へのリンクである原稿データリンク(1)、(2)が含まれる。これらリンクは、図3(b)に示すような原稿ページデータ304の原稿データ(1)、(2)を指し示すものである。すなわち、ページ303A、303Bの実体が原稿データ(1)、(2)であることを示している。同様に、章302Bには、ページ303C、303Dがリンクされ、それぞれページ属性(3)、ページ属性(4)に属性値が定義されている。また、各ページ303C、303Dには、その実体である原稿データ(3)、(4)へのリンクである原稿データリンク(3)、(4)が含まれる。これらリンクは、図3(b)に示すような原稿ページデータ304の原稿データ(3)、(4)を指し示すものである。
上述しように、ブックファイル103におけるブック301と、章302A、302Bと、ページ303A〜Dは、それぞれに相当するノードにより3階層の構成である。図3(a)に示す構成例では、一つのブックファイル103は一つのブック301を含む。ここで、上述したブック及び章は、ブックファイル103の構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体(原稿データ)と各原稿ページデータへのリンクを含む。
尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関しては図3(a)のようにリンクによって示されず、ブック、章、ページの各階層における属性として示される。
次に、図3(a)に示したブック属性、章属性、ページ属性の具体例を示し説明する。図4は、図3に示すブック属性の具体例を示す図である。また、図5は、図3に示す章属性の具体例を示す図であり、図6は、図3に示すページ属性の具体例を示す図である。図4に示すように、ブック属性の属性情報として14種類の項目が示されている。また、図5に示すように、章属性の属性情報として7種類の項目が示されている。また、図6に示すように、ページ属性の属性情報として8種類の項目が示されている。また、設定欄には、各項目別に設定可能な属性(属性値)が示されている。また、詳細欄には、設定可能な属性の詳細や他の属性との関係などが示されている。
但し、ブック属性と下位層の属性とに重複して定義されている項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された属性値がブックファイル103全体を通して有効な属性値となる。また、ブック属性と下位層の属性とで重複する項目については、ブック属性の属性値は、下位層において定義されていない場合に参照される既定値としての意味を有する。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。また、章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
図4〜図6に示すように、ブック属性に固有の項目は、“印刷方法”、“製本詳細”、“表紙/裏表紙”、“インデックス紙”、“合紙”、“章区切り”の6項目である。これらはブックファイル103全体に通して定義される項目である。ここで、“印刷方法”の属性としては、片面印刷、両面印刷、製本印刷の3つの属性値を指定できる。この製本印刷とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。また、“製本詳細”の属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
また、“表紙/裏表紙”の属性としては、ブックファイル103としてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。また、“インデックス紙”の属性としては、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが、使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは“合紙”の属性についても同様である。
また、“合紙”の属性としては、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。また、“章区切り”の属性としては、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。例えば、片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。また、両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
次に、章属性に関して説明する。図5に示すように章属性に固有の項目はなく、全てブック属性と重複する項目である。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された属性値が優先する。また、ページ属性には含まれずブック属性と章属性とにのみ共通する項目は、“用紙サイズ”、“用紙方向”、“N−up印刷指定”、“拡大縮小”、“排紙方法”の5項目である。これらのうち、“N−up印刷指定”の属性としては、1印刷ページに含まれる原稿ページ数の指定を含む。指定可能な配置としては、例えば行列状に1×1、1×2、2×2、3×3、4×4などがある。また、“排紙方法”の属性とは、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。また、“排紙方法”の属性は、シフト排紙処理に関する指定や、パンチ穴処理に関する指定や、Z折に関する指定などの情報も含む。
次に、ページ属性にについて説明する。図6に示すようにページ属性に固有の項目としては、“ページ回転指定”、“ズーム”、“配置指定”、“アノテーション”、“ページ分割”などがある。ここで、“ページ回転指定”の属性とは、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。“ズーム”の属性とは、原稿ページの変倍率を指定するための項目である。ここで、変倍率とは、仮想論理ページ領域のサイズを100%として指定される。また、仮想論理ページ領域とは、原稿ページを、Nup等の指定に応じて1ページに複数配置した場合に、1原稿ページが1ページ内に占める領域である。例えば、Nupが1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、Nupが1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
また、ブック属性、章属性、ページ属性について共通な項目としては、“ウォーターマーク”及び“ヘッダ・フッタ”がある。ここで、“ウォーターマーク”の属性とは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などを表示するか否かである。“ヘッダ・フッタ”の属性とは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークを表示するか否かである。但し、“ヘッダ・フッタ”の属性には、ページ番号や日時など変数により指定可能な項目が用意されている。尚、“ウォーターマーク”および“ヘッダ・フッタ”の属性において指定可能な内容は、章属性とページ属性では共通であるが、ブック属性ではそれらと異なっている。ブック属性の“ウォーターマーク”や“ヘッダ・フッタ”の属性としては、重ねて印刷する画像や文字列の内容を設定できるし、また、ブックファイル103全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章属性やページ属性では、その章やページにおいて、ブック属性で設定されたウォーターマークやヘッダ・フッタを印刷するか否か(=表示するか否か)を指定できる。
<ブックファイルの生成手順>
次に、製本アプリケーション104の処理によりブックファイル103を生成する手順について説明する。この時、ブックファイル103は、上述したような構造及び内容を有している。次に、製本アプリケーション104及び電子原稿ライタ102によるブックファイル103の作成手順について説明する。ブックファイル103の作成手順は、製本アプリケーション104によるブックファイル103の編集操作の一環として実現される。
図7は、図1に示す製本アプリケーション104によりブックファイルを開く処理を示すフロー図である。まず、ステップS701において、製本アプリケーション104は、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する。ここで、新規作成の場合(ステップS701のYES)には、ステップS702に進み、製本アプリケーション104は、章を含まないブックファイル103を新規に作成する。この新規に作成される新規ブックファイルは、図3(a)のような構成例で示せば、ブック301の構成のみ有し、ブック301から章に対するリンクが存在しない構成となる。また、ブック301のブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、ステップS704に進み、製本アプリケーション104は、新規ブックファイルを利用者が編集可能なユーザインタフェース(UI)画面である電子原稿UI画面をCRT210に表示する。図11は、新規ブックファイルが作成された際の電子原稿UI画面の一例を示す図である。図11に示すように、新規ブックファイルは実質的な内容を持たないため、電子原稿UI画面1100には何も表示されない。
一方、既存のブックファイル103がある場合(ステップS701のNO)には、ステップS703に進み、製本アプリケーション104は、指定されたブックファイル103を開き、そのブックファイル103の構造、属性、内容に従って電子原稿UI画面を表示する。図10は、既存のブックファイル103を表示する電子原稿UI画面の一例を示す図である。図10に示すように、電子原稿UI画面1100は、ブックの構造を示すツリー部1101と、各ページが印刷された状態を予想して表示するプレビュー部1102とを含む。ツリー部1101には、ブックに含まれる章と、各章に含まれるページとが図3(a)と同様に木構造で表示される。ツリー部1101に表示される各ページは原稿ページである。また、プレビュー部1102には、各印刷ページの内容が縮小されて表示される。その表示順序はブックの構造を反映したもの(ページ数順)となっている。以上により、製本アプリケーション104は、新規ブックファイルまたはブックファイル103(以下、単にブックファイル103とする)を開く処理を終了する。尚、新規ブックファイルは保存された時点でブックファイル103としてハードディスク211に格納される。
次に、開いたブックファイル103に電子原稿ファイルを追加する処理について説明する。図7に示した処理により開かれたブックファイル103には、電子原稿ライタ102によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。また、図7に示す手順によって新規に作成された新規ブックファイルに電子原稿インポートすることで、その新規ブックファイルには実体(原稿ページデータ304)が与えられる。この機能は、例えば、利用者が、図10または図11の電子原稿UI画面1100にアプリケーションデータをドラッグアンドドロップすることで起動される。
図8は、図1に示すブックファイル103への電子原稿インポートの処理を示すフロー図である。図8に示すように、まず、ステップS801において、製本アプリケーション104は、指定されたアプリケーションデータを生成した一般アプリケーション101を起動し、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷出力させる。これにより、電子原稿ライタ102は、アプリケーションデータを電子原稿データに変換することで電子原稿ファイルを生成する。尚、電子原稿ライタ102が電子原稿ファイルを生成する処理の詳細については後述する。
次に、ステップS802において、製本アプリケーション104は、電子原稿ライタ102により電子原稿データに変換されたアプリケーションデータが画像データであるか否かを判定する。この判定は、例えばOSがウィンドウズ(登録商標)である場合には、アプリケーションデータのファイル拡張子に基づいて行われる。例えば、拡張子が「bmp」であればビットマップデータであり、「jpg」であればjpeg圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、予め画像データと分かっている場合には、上述したステップS801のように製本アプリケーション104が一般アプリケーション101を起動することなく、電子原稿ライタ102が、画像データから直接電子原稿ファイルを生成することが可能であるため、ステップS801の処理を省略することも可能である。
ここで、画像データでないと判定した場合(ステップS802のNO)には、ステップS803に進み、製本アプリケーション104は、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイル103のブックの下層に、新たな章として追加する。この時、製本アプリケーション104は、新たに追加する章の章属性として、ブック属性と共通するものについてはブック属性の値をコピーして、そうでないものについては、予め用意された規定値を設定する。
また、ステップS802で画像データであると判定した場合(ステップS802のYES)には、ステップS804に進み、製本アプリケーション104は、原則として新たな章は追加されず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページが追加される。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。また、ページ属性は、上位層の属性と共通の項目についてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、Nup指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルに、新規な章が追加される。
次に、図8に示したステップS801において、製本アプリケーション104および電子原稿ライタ102が電子原稿ファイルを生成する処理の詳細について説明する。図9は、図8に示したステップS801において、製本アプリケーション104および電子原稿ライタ102が電子原稿ファイルを生成する処理の詳細を示すフロー図である。まず、ステップS901において、製本アプリケーション104は、新たな電子原稿ファイルを作成してそれを開く。次に、ステップS902に進み、製本アプリケーション104は、指定されたアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタ102をデバイスドライバとして印刷処理をさせる。これにより、電子原稿ライタ102は、OSの出力モジュール(例えばグラフィックス処理機能)に対して出力コマンドを送信する。OSの出力モジュールは、受信した出力コマンドを電子原稿ライタ102によって電子原稿形式のデータ(電子原稿データ)に変換し、出力する。その出力先はステップS901で開いた電子原稿ファイルである。
次に、ステップS903に進み、製本アプリケーション104は、指定されたアプリケーションデータ全て(=全ページ)について変換が終了したか判定する。ここで、全ページ終了している場合(ステップS903のYES)には、ステップS904に進み、製本アプリケーション104は、電子原稿ファイルを閉じる。また、全ページ終了していない場合(ステップS903のNO)には、ステップS902に戻り、製本アプリケーション104は、次のページのアプリケーションデータを電子原稿ライタ102に変換させる処理を行う。以上の処理により、製本アプリケーション104および電子原稿ライタ102によって生成される電子原稿ファイルは、図3(b)に示した原稿ページデータ304の実体を含むファイルである。
<ブックファイルの編集>
以上のようにして、ホストコンピュータ100は、アプリケーションデータからブックファイル103を作成することができる。作成されたブックファイル103については、図10に示した電子原稿UI画面1100において、利用者は、章及びページに対して例えば次のような12種類の編集操作が可能である。
(1)新規追加
(2)削除
(3)コピー
(4)切り取り
(5)貼り付け
(6)移動
(7)章名称変更
(8)ページ番号名称振り直し
(9)表紙挿入
(10)合紙挿入
(11)インデックス紙挿入
(12)各原稿ページに対するページレイアウト。
このほか、一旦行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などの編集操作が可能となる。これらの操作を行うと、製本アプリケーション104は、図4、図5、図6に示した各属性に操作結果が反映したり、あるいはブックファイル103の構造に反映したりする。この時、製本アプリケーション104は、図10のツリー部1101に表示されているブックファイル103の構造も操作結果に応じて変更する。例えば、利用者がブランクページの新規追加操作を行った場合には、製本アプリケーション104は、指定された箇所にブランクページを挿入する。このブランクページは原稿ページとして扱われる。また、利用者が原稿ページに対するレイアウトを変更する操作を行った場合には、製本アプリケーション104は、そのレイアウトの変更内容を、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映する処理を行う。
<ブックファイルの出力>
次に、コンピュータ101が、プリンタ107よりブックファイル103を出力させる処理について説明する。上述したように作成・編集されるブックファイル103は、印刷出力を最終目的とするものである。
ここで、利用者が図10に示した製本アプリケーションの電子原稿UI画面1100からファイルメニューを選択し、そこから印刷を選択すると、ホストコンピュータ100は、指定した出力デバイス(本実施形態ではプリンタ107)により表示中のブックファイル103を印刷出力させる。この際、まず製本アプリケーション104は、現在開かれているブックファイル103からジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ105に渡す。一方、電子原稿デスプーラ105は、ジョブチケットをOSの出力コマンドに変換してOSの出力モジュールに送信する。これにより、出力モジュールは、出力コマンドに応じて描画コマンドを出力し、指定されたプリンタドライバ106へ送信する。プリンタドライバ106は、描画コマンドを基に、プリンタ107に適した出力デバイス制御コマンドを生成し、プリンタ107に送信する。
具体的には、例えばOSがウィンドウズ(登録商標)であれば、電子原稿デスプーラ105は、ジョブチケットをGDI関数に変換し、出力モジュールであるGDIに送信する。出力モジュールであるGDIは、GDI関数を描画コマンドであるDDI関数に変換してプリンタドライバ106へ送信する。プリンタドライバ106は、DDI関数を基に、出力デバイス制御コマンドを生成して、プリンタ107へ送信する。以上により、プリンタ107は、出力デバイス制御コマンドに応じた印刷を行う。
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における各原稿ページのレイアウトを定義している。ジョブチケットは1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
<その他のシステム構成>
上述した実施形態における文書処理システムはスタンドアロン型のホストコンピュータ100を備えるシステムであるが、この限りではなく、ホストコンピュータ100とほぼ同様の機能構成および処理手順を実行できるサーバを有するサーバクライアント型文書処理システムであってもブックファイル103を作成・編集できる。但し、ブックファイル103や印刷処理はサーバとなるコンピュータによって管理される。以下に、本発明の第2の実施形態におけるサーバクライアント型文書処理システムの概略構成について説明する。
図12は、本発明の第2の実施形態におけるサーバクライアント型文書処理システムの概略構成を示すブロック図である。図12に示すように、クライアント端末であるクライアント文書処理システム1200は、第1の実施形態で示したスタンドアロン型のホストコンピュータ100に、クライアントモジュールであるDOMS(Document Output Management Service:文書出力管理サービス)ドライバ109及びDOMSプリントサービスモジュール110、DS(文書サービス)クライアントモジュール108を更に具備する構成である。また、クライアント文書処理システム1200は、サーバである文書管理サーバ1201、印刷集中管理サーバ1202及びプリントサーバ1203と、ネットワークまたは専用線等を介して接続されている。これらのサーバがサーバの機能と同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によってクライアント文書処理システム1200と通信を行う。また、クライアント文書処理システム1200のハードウェア構成は、図2に示したホストコンピュータ100のハードウェア構成と同様であり、説明を省略する。
尚、図12に示す例では、文書管理サーバ1201と印刷集中管理サーバ1202の両方のサーバが各々クライアント文書処理システム1200に接続されているが、この限りではなく、何れか一方のみネットワーク上に存在する場合もあり得る。例えば、ネットワークに接続されているサーバが文書管理サーバであれば、そのサーバに対応するDSクライアントモジュール108を含む文書管理サーバクライアントシステム1201SCが、また印刷集中管理サーバ1202であれば、そのクライアントモジュールであるDOMSドライバ109およびDOMSプリントサービスモジュール110を含む印刷管理サーバクライアントシステム1202SCが、スタンドアロン型文書管理システムに追加される。
文書管理サーバ1201は、製本アプリケーション104により作成・編集されたブックファイル103を格納するサーバである。文書管理サーバ1201によってブックファイル103を管理する場合、ブックファイル103はクライアント文書処理システム1200のハードディスク211に代わって、あるいはそれに加えて、文書管理サーバ1201のデータベース1211に保存される。製本アプリケーション104と文書管理サーバ1201との間のブックファイル103の保存及び読み出しは、DSクライアントモジュール108及びDSコア1212を介して行われる。
印刷集中管理サーバ1202は、クライアント文書管理システム1200に格納された、あるいは文書管理サーバ1201に格納されたブックファイル103の印刷を管理するサーバである。クライアント文書管理システム1200における印刷要求は、DOMSドライバ109およびDOMSプリントサービスモジュール110を介して印刷集中管理サーバ1202のDOMSWGサーバモジュール1221に送信される。集中印刷管理サーバ1202は、クライアント文書管理システム1200のプリンタ107で印刷する場合には、DOMSプリントサービスモジュール110を介して電子原稿デスプーラ105にブックファイル103の電子原稿データを渡す。また、集中印刷管理サーバ1202は、プリントサーバ1203を介してプリンタ1204により印刷する場合には、プリントサーバ1203のDOMSプリントサービスモジュール1203に電子原稿データを送信する。集中印刷管理サーバ1202は、例えば保存されているブックファイル103に対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンのコンピュータを有するシステムとしても、クライアントサーバシステムとしても実現できる。すなわち、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
<プレビュー表示の内容>
既に説明した通り、ブックファイル103が製本アプリケーション104によって開かれると、図10に示した電子原稿UI画面1100が表示される。ツリー部1101には、開いているブック(以下、「注目ブック」と呼ぶ)の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、3通りの表示方法が用意されている。まず、第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。尚、プレビュー部1102の表示にレイアウトは反映されない。次に、第2は印刷ビューモードである。この印刷ビューモードでは、プレビュー部1102には原稿ページのレイアウトが反映された形で原稿ページが表示される。そして、第3は簡易印刷ビューモードである。この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
<ステイプル制御>
次に、プリンタ107がステイプル機能を有する場合に、図1に示した第1の実施形態のホストコンピュータ100における製本アプリケーション104が更にステイプル制御を行う本発明の第3の実施形態における情報処理装置(ホストコンピュータ100)を備える文書処理システムについて説明する。尚、第1の実施形態と比べて製本アプリケーション104の処理機能が増加しただけなので、第3の実施形態におけるホストコンピュータ100の機能構成は、図1に示すホストコンピュータ100の機能構成と同様であり、その説明を省略する。
次に、第3の実施形態におけるホストコンピュータ100およびプリンタ107のハードウェア構成について説明する。図13は、第3の実施形態におけるホストコンピュータ100およびプリンタ107のハードウェア構成を示すブロック図である。図13に示すように、第3の実施形態における文書処理システムは、ホストコンピュータ100とステイプル機能を有するプリンタ107とで構成される。尚、図13に示すホストコンピュータ100のハードウェア構成は、図1に示したホストコンピュータ100のハードウェア構成と同様なので説明を省略する。
次に、プリンタ107のハードウェア構成について説明する。
図13に示すように、1301はプリンタCPUであり、ROM1302内のプログラムROMに記憶された制御プログラム等や外部メモリ1303に記憶された制御プログラム等に基づいてプリンタ107内の処理を制御する。具体的には、プリンタCPU1301は、例えば、システムバス1304に接続される印刷部インターフェース(I/F)1305を介して、印刷部(プリンタエンジン)1306に出力情報としての画像信号を出力する。また、このROM1302内のプログラムROMには、プリンタCPU1301の制御プログラム等が記憶され、ROM1302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等が記憶され、ROM1302内のデータ用ROMには、ハードディスク等の外部メモリ1303がないプリンタの場合、ホストコンピュータ100上で利用される情報等が記憶されている。
また、プリンタCPU1301は、入力部1307を介してホストコンピュータ100との通信処理が可能である。これにより、プリンタ107内の情報等をホストコンピュータ100に通知できる。また、RAM1308は、プリンタCPU1301の主メモリや、ワークエリア等として機能するRAMである。また、RAM1308は、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
尚、RAM1308は、出力情報展開領域、環境データ格納領域、NVRAM(不揮発性RAM)等に用いられる。上述した外部メモリ1303は、ハードディスク(HD)、ICカード等であり、メモリコントローラ(MC)1309によりアクセスを制御される。外部メモリ1303は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル1311は利用者による操作のためのスイッチ及びLED表示器等で構成されている。
また、上述の外部メモリ1303は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。更に、図示しないNVRAMを有し、操作パネル1311からのプリンタモード設定情報を記憶するようにしても良い。尚、本実施形態におけるステイプル機能が実現されるのであれば、文書処理システムの構成が単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ、処理が行われるシステムであっても適用できる。
<シフト排紙制御1>
次に、プリンタ107がシフト排紙機能を有する場合に、図1に示した製本アプリケーション104が、更にシフト排紙制御を行う本発明の第4の実施形態における情報処理装置(ホストコンピュータ100)を備える文書処理システムについて説明する。尚、シフト排紙機能とは、印刷物(紙)を排紙する際に、指定された単位(例えばジョブなど)で印刷物の排紙位置をずらして(シフトして)排紙する機能である。これにより、複数の利用者からの印刷ジョブを同一の排紙トレイに排紙しても、ジョブ毎に排紙位置がずれているので、容易に各利用者が自分の印刷物を排紙トレイの印刷物の重なりから取り出すことができる。
また、第4の実施形態におけるホストコンピュータ100の機能構成は、第1の実施形態におけるホストコンピュータ100と比べて機能構成が少し異なるのだけなので、異なる部分のみを説明する。第4の実施形態におけるホストコンピュータ100は、図1に示すホストコンピュータ100と比べて、製本アプリケーション104が電子原稿デスプーラ105の機能と、シフト排紙制御機能とを更に含む機能構成である。よって、以下の説明において、製本アプリケーション104がプリンタドライバ106へ種々のコマンドを発行する旨の記載があるが、詳細には製本アプリケーション104内の電子原稿デスプーラ105がプリンタドライバ106へ種々のコマンドを発行していることを意味する。また、本実施形態におけるホストコンピュータ100のハードウェア構成は、図2に示した第1の実施形態におけるホストコンピュータ100のハードウェア構成と同様である。
図14は、第4の実施形態における製本アプリケーション104がCRTディスプレイ210に表示する電子原稿UI画面1100の例を示す図である。図14に示す電子原稿UI画面1100は、図10に示した電子原稿UI画面1100と構成は同じであるが表示内容が多少異なる。この製本アプリケーション104は、上述したように文書のページ順の入れ替えや複製、削除などの編集に加え、ステイプルやシフト排紙などのプリンタ107の機能設定も行うことができる。図14のツリー部1101には、文書(ブックファイル103)の構成が示されており、文書は3章の集合で構成されており、1章は8ページの原稿ページの集合で構成され、2、3章は4ページの原稿ページの集合で構成されている。図14の、編集メニューバー1104は、メニューバーの一つであり、その部分にカーソルを合わせてマウスのボタンを押下することで編集メニューの詳細である「文書の詳細設定」、「章の詳細設定」…などを含むプルダウンメニューを表示する。
図15は、第4の実施形態における製本アプリケーション104がCRTディスプレイ210に表示する「文書の詳細設定」ウインドウ例を示す図である。図15に示す「文書の詳細設定」ウインドウ2100は、図14の電子原稿UI画面1100にある編集メニュー1104のブルダウンメニューの中より「文書の詳細設定」を選択する操作により起動される。「文書の詳細設定」ウインドウ2100は、文書全体に影響する属性(ブック属性)の設定を行うためのウインドウである。この「文書の詳細設定」ウインドウ2100は、「ページ設定」、「仕上げ」、「編集」、「給紙」の4つのシートから構成されており、図15は、「仕上げ」シートを選択して表示した状態を示している。この「仕上げ」シートでは、主にフィニッシングに関する設定を行うことができる。具体的には、印刷方法設定エリア2101では、印刷方法として片面印刷、両面印刷、製本印刷のいずれかを選択して設定できる。また、とじ方向等設定エリア2102では、とじ方向、とじ幅、原稿の調整などが設定できる。また、排紙方法設定エリア2103では、ステイプルの指定手段2104によりステイプルの指定ができ、ステイプルの位置決め手段2105によりステイプルの位置を設定できる。また、排紙方法設定エリア2103では、パンチ穴やZ折に関する設定もできる。章の区切り設定手段2106では、章の区切りの設定ができる。
尚、印刷方法設定エリア2101における設定は図4の1番目の属性項目“印刷方法”の設定と対応する。同様に、とじ方向等設定エリア2102における設定は、図4の4番目の属性項目“とじ代/とじ方向”の設定と対応し、排紙方法設定エリア2103における設定は、図4の9番目の属性項目“排紙方法”の設定と対応し、章の区切り設定手段2106における設定は、図4の14番目の属性項目“章区切り”の設定と対応する。また、他のシート(「ページ設定」、「編集」、「給紙」)における設定も、同様に、図4に示すブック属性のいずれかの属性項目を設定するものである。また、図10、図11、図14の電子原稿UI画面1100などにおいて、例えば“××詳細設定ボタン”や“○○設定ボタン”などの各種ボタンを有するツールバーを設けてもよい。これらのボタンを押下することで、「××詳細設定」や「○○設定」を行うためのウインドウが表示される。
次に、図15に示したステイプルの指定手段2104を利用した場合のプルダウンメニュー例を説明する。図16は、図15に示したステイプルの指定手段2104を利用した場合のプルダウンメニュー例を示す図である。図16に示すように、ステイプルの指定で選択可能な選択肢をプルダウンメニューで示している。また、現在選択中の選択肢は、選択されていない選択肢と輝度差をつけて(または異なる色で着色して)明確に示している。図16に示すように選択肢は3種類あり、「しない」はステイプル機能を利用しないことを意味する。また、「全ページまとめて」は、文書全体を一つのステイプルで綴じることを意味する。また、「章単位で」は、各章ごとにステイプルで綴じることを意味する。このように、本実施形態における製本アプリケーション104は、文書全体をステイプルする指示に加え、文書の部分である章ごとにステイプルを指示することが可能である。図14に示す文書であれば、「全ページまとめて」を選択した場合には、文書に含まれる全16ページが一括してステイプルされ、「章単位で」を選択した場合には、1章の8ページ、2章の4ページ、3章の4ページがそれぞれステイプルされる。
図17は、第4の実施形態における製本アプリケーション104がCRTディスプレイ210に表示する「章の詳細設定」ウインドウ例を示す図である。この「章の詳細設定」ウインドウ2200は、図14の電子原稿UI画面1100のツリー部1101で章のアイコンを選択している状態で、編集メニュー1104のブルダウンメニューの中より「章の詳細設定」を選択する操作により起動される。この「章の詳細設定」ウインドウ2200も、「文書の詳細設定」ウインドウ2100と同様に、「ページ設定」、「仕上げ」、「編集」、「給紙」の4つのシートから構成されている。図17は、「仕上げ」シートを選択して表示した状態を示している。「章の詳細設定」ウインドウ2200は、章ごとに変更を行える属性項目(章属性)を設定するためのウインドウであり、例えば図5に示した属性項目を設定可能である。尚、章の属性項目は図5に示したように図4に示す文書の属性項目と同じであり、「章の詳細設定」ウインドウ2200で設定され設定値が優先される。
図17において、「仕上げシートの設定を文書に合わせる」のチェックボックス2201がオフしているが、初期状態では「章の詳細設定」ウインドウ2200のチェックボックス2201はオンしている。同様に、他の各シートにおいても初期状態では「○○シートの設定を文書に合わせる」(○○の部分には、各シートの名称「ページ設定」、「編集」、「給紙」のいずれかが入る。)のチェックボックスがオンになっている。チェックボックスがオンの時は、「章の詳細設定」ウインドウ2200の各項目は、「文書の詳細設定」ウインドウ2100で設定された各項目の設定と一致した指定がなされた状態でグレー表示され、変更不可の状態である。また、「○○シートの設定を文書に合わせる」のチェックボックスをオフにすると、章の詳細設定の各項目は変更可能な状態に変化する。具体的には、図17に示すように「仕上げシートの設定を文書に合わせる」のチェックボックス2201をオフにすると、「章の詳細設定」ウインドウ2200の各項目は通常表示(グレー表示ではない)に変わり、ステイプルの指定を行う「ステイプルする」のチェックボックス2202は変更可能な状態に変化する。
また、図15に示す「文書の詳細設定」ウインドウ2100における設定次第では、「章の詳細設定」ウインドウ2200において設定を変更できなくなる場合もある。例えば、図15の「文書の詳細設定」ウインドウ2100で、「ステイプルの指定」に「全ページまとめて」を指定した場合には、文書を一まとめにステイプルする指示が文書に対して指定されているため、章の詳細設定の仕上げシートで章ごとの設定を変更することはできないようになっている。この時、「章の詳細設定」ウインドウ2200の「仕上げシートの設定を文書に合わせる」のチェックボックス2201はオンでグレー表示されており、変更不可の状態になっている。その下に表示されている「ステイプルする」のチェックボックス2202もオンでグレー表示されており、変更不可である。
また、ブック属性でステイプルをオンして、章単位でステイプルをオフする指定を行うには以下のようにする。まず、図15の「文書の詳細設定」ウインドウ2100で、ステイプルの指定手段2104において「章単位で」を選択する。これにより、「章の詳細設定」ウインドウ2200における「仕上げシートの設定を文書に合わせる」のチェックボックス2201はオンになっており、その下に表示されている「ステイプルする」のチェックボックス2202もオンでグレー表示されている。この場合、「仕上げシートの設定を文書に合わせる」のチェックボックス2201をオフにすることで、「ステイプルする」のチェックボックス2202が変更可能な状態となる。ここで、「ステイプルする」のチェックボックス2202をオフにすると、この章の章属性としてステイプルをオフに設定することができる。
次に、ブック属性でステイプルをオフして、章単位でステイプルをオンする指定を行うには以下のようにする。まず、図15の「文書の詳細設定」ウインドウ2100で、ステイプルの指定手段2104において「しない」を選択する。これにより、ステイプルしない指示が文書に対して指定されているため、「章の詳細設定」ウインドウ2200で章ごとの設定を変更することはできないようになっている。すなわち、「章の詳細設定」ウインドウ2200の「仕上げシートの設定を文書に合わせる」のチェックボックス2201はオンでグレー表示されており、変更不可の状態になっている。その下に表示されている「ステイプルする」のチェックボックス2202もオフでグレー表示されており、変更不可である。ここでは、「文書の詳細設定」がステイプルしないの状態である場合には、「章の詳細設定」でステイプル指定の変更を不可としている例を示したが、この限りではなく、文書のステイプルの指定が「章単位で」が指定されているときと同様に、章ごとのステイプル指定の変更を可能に構成することも可能である。
利用者は、文書中でステイプル範囲を指定する場合には、ステイプルしたい部分のページの集合を一つの章になるように電子原稿UI画面1100において文書を編集し、「文書の詳細設定」ウインドウで「ステイプルの指定」に「章単位で」を指定することにより、章ごとのステイプル(=任意のページ集合のステイプル)を指定することができる。また、章に対してステイプルを行わない指示をするには、ステイプルしない章を選択して「章の詳細設定」ウインドウを起動し、「仕上げシートの設定を文書に合わせる」チェックボックス2201をオフにし、「ステイプルする」チェックボックス2202をオフにすればよい。以上に示したように本実施形態における製本アプリケーション104は、文書全体を一まとめにステイプルする設定手段に加え、章単位でステイプルのオン・オフを設定する手段も提供可能に構成されている。
図18は、第4の実施形態における製本アプリケーション104が扱うブックファイル103のデータ構造を示す図である。図3(a)に示したブック、章、ページの構成は、階層関係がツリー状であることを示す概念的なものであったが、図18に示すブックファイル103のデータ構造は、より具体的にデータの構造を示すものである。すなわち、図18に示すブックファイル103のデータ構造はメモリ上のデータ構造を示している。
図18において、フィールド701の文書の構造情報は、図14のツリー部1101に表示する文書の構造に関する情報を記録する。また、フィールド702の文書の詳細設定情報には、図15に示した「文書の詳細設定」ウインドウ2100で設定される情報を記録する。また、フィールド703の章の詳細設定情報には、図17に示した「章の詳細設定」ウインドウ2200で設定される情報を記録する。また、フィールド704のページの詳細設定情報は、ページごとに設定可能な詳細設定情報を記録するための領域である。上述したように、章の詳細設定で文書の詳細設定に対して変更が可能であるのと同様、ページの詳細設定では、文書や章の詳細設定に対してページごとに変更可能な設定項目について、設定を保存することが可能となっている。また、フィールド705の原稿情報には、各原稿ページの描画情報が記録されており、図14のプレビュー部1102への表示に使用する情報がページ単位で保存されている。また、ブックファイル103は、その他文書ごとに必要な情報が含まれているが、ここでは説明を省略する。
尚、図18におけるフィールド702の文書の詳細設定情報が、図3(a)のブック属性に対応し、図18におけるフィールド703の章の詳細設定情報が、図3(a)の章属性に対応し、図18におけるフィールド704のページの詳細設定情報が、図3(a)のページ属性に対応している。
次に、図18のフィールド702に示された文書の詳細設定情報について更に説明する。
図19は、図18のフィールド702に示された文書の詳細設定情報の詳細な構成を示す図である。図19において、フィールド801の文書のページ設定情報は、図15に示した「文書の詳細設定」ウインドウ2100の「ページ設定」シートで設定された情報である。同様に、フィールド802の文書の仕上げ情報、フィールド803の文書の編集情報、フィールド804の文書の給紙情報は、それぞれ図15に示した「文書の詳細設定」ウインドウ2100の「仕上げ」シート、「編集」シート、「給紙」シートで設定された情報である。
次に、図19のフィールド802に示された文書の仕上げ情報について更に説明する。
図20は、図19のフィールド802に示された文書の仕上げ情報の詳細な構成を示す図である。図20に示すように、フィールド901には印刷方法、フィールド902にはとじ方向、フィールド903にはとじ幅、フィールド904には原稿の調整、フィールド905にはステイプルの指定、フィールド906にはステイプルの位置、フィールド907にはパンチ穴、フィールド908にはZ折り、フィールド909には章の区切り、フィールド910にはその他の設定値がそれぞれ格納されている。これらの情報は、図15に示した「文書の詳細設定」ウインドウ2100の「仕上げ」シートで設定した内容と一致している。なお、フィールド911には、例えば印刷方法901で製本印刷を指定した場合に必要となる設定(中綴じ、中央綴じ代など、製本印刷時のみ有効な設定)などが含まれる。
次に、図18のフィールド703に示された章の詳細設定情報について更に説明する。
図21は、図18のフィールド703に示された章の詳細設定情報の詳細な構成を示す図である。図21に示すようにフィールド1001、1002、1003、…に対して、1章、2章、3章、…と順に最後の章までの各章の詳細設定情報が格納されている。
次に、図21に示された各章の詳細設定情報について更に説明する。
図22は、図21に示された各章の詳細設定情報の詳細な構成を示す図である。図22に示すように、フィールド1101には章のページ設定情報、フィールド1102には章の仕上げ情報、フィールド1103には章の編集情報、フィールド1104には章の給紙情報がそれぞれ格納されている。これらの情報は、図17に示した「章の詳細設定」ウインドウ2200における「ページ設定」シート、「仕上げ」シート、「編集」シート、「給紙」シートの各シートで設定した情報である。
次に、図22のフィールド1102に示された章の仕上げ情報について更に説明する。
図23は、図22のフィールド1102に示された章の仕上げ情報の詳細な構成を示す図である。図23に示すように、フィールド1201には仕上げシートの設定を文書に合わせるか否か、フィールド1202にはステイプルするか否かの設定が格納されている。これらの情報は、図17に示した「章の詳細設定」ウインドウ2200の「仕上げ」シートでチェックボックス2201、2202により設定した情報である。
次に、本実施形態におけるホストコンピュータ100の印刷処理について説明する。
図24は、第4の実施形態のホストコンピュータ100における印刷処理の詳細を示すフロー図である。ここで、本実施形態のプリンタ107を制御する出力デバイス制御コマンドについて説明する。プリンタ107に対する出力デバイス制御コマンドは、ブックファイル103が持つ文書(ブック)・章・ページの階層構造と同様に、ジョブ・バインダー・ページという階層構造をもつ。基本的に、ブックファイル103の文書に対する設定(ブック属性)は出力デバイス制御コマンドのジョブの属性に、章に対する設定(章属性)は出力デバイス制御コマンドのバインダーの属性に対して適用することで、階層構造を持ったブックファイル103の印刷設定に応じたプリンタ107の制御が可能となる。
まず、ステップ1301において、製本アプリケーション104は、編集中のブックファイル103に含まれる文書の詳細設定情報を取得する。次に、ステップ1302に進み、製本アプリケーション104は、取得した文書の詳細設定情報を基に、ジョブのステイプル属性を決定する処理を行う。ここで、ステップ1302におけるジョブのステイプル属性の設定処理の詳細について説明する。
図25は、図24のステップ1302におけるジョブのステイプル属性の設定処理の詳細を示すフロー図である。図25に示すように、ステップ1401において、製本アプリケーション104は、ステップ1301で取得した文書の詳細設定情報に含まれるステイプルの指定が「全ページまとめて」であるか否かを判定する。ここで、ステイプルの指定が「全ページまとめて」である場合(ステップ1401のYES)には、ステップ1402に進み、製本アプリケーション104は、ジョブのステイプル属性をオンする。また、ステイプルの指定が「全ページまとめて」である場合(ステップ1401のYES)には、ステップ1403に進み、製本アプリケーション104は、ジョブのステイプル属性をオフする。以上により、ステップ1302におけるジョブのステイプル属性の設定処理を終了する。
次にステップ1303に進み、製本アプリケーション104は、取得した文書の詳細設定情報を基に、シフト排紙属性を決定する処理を行う。この処理では、ジョブごとのシフト排紙属性、部ごとのシフト排紙属性、そして章ごとのシフト排紙属性のそれぞれを有効にするか否かの決定処理を行う。ここで、ステップ1303におけるシフト排紙属性の設定処理の詳細について説明する。
図26は、図24のステップ1303におけるシフト排紙属性の設定処理の詳細を示すフロー図である。図26に示すように、ステップ1501において、製本アプリケーション104は、ジョブごとのシフト排紙属性をオンに設定する。これにより、直前のジョブに対してシフトして排紙されるため、ジョブの境界が明確になる。特にネットワークなどで共有されるプリンタでは、複数の人が発行したジョブが混在するため、ジョブの境界でシフト排紙することにより、排紙され重なった印刷物おいてジョブの境界をわかりやすくするのが通常効果的である。尚、本実施形態においては、無条件にジョブごとのシフト排紙を有効(シフト排紙属性をオン)にしているが、この限りではなく、使用環境や印刷の目的に応じて適時、利用者がジョブごとのシフト排紙属性をオン/オフすることができる構成であってもよい。尚、シフト排紙属性を利用者が設定する実施形態については後述する。
次に、ステップ1502に進み、製本アプリケーション104は、ステップ1301で取得した文書の詳細設定情報に含まれるステイプルの指定に応じてシフト排紙属性の設定処理を分岐する。すなわち、ステイプル指定に応じて、部ごとのシフト排紙属性と、章ごとのシフト排紙属性を最適に設定する。
ここで、ステイプルの指定が「全ページまとめて」の場合(ステップ1502の全ページまとめて)には、ステップ1504に進み、製本アプリケーション104は、部ごとのシフト排紙属性および章ごとのシフト排紙属性をオフに設定する。この理由は、全ページまとめてステイプルする場合には、ジョブ内のページはすべてまとめてステイプルされるため、部ごとにシフト排紙しなくとも、部の境界はステイプルの境界と一致して明確であるためである。逆に部ごとにシフト排紙すると、ジョブの境界との区別が付かないという問題があるため、この場合には部ごとにシフト排紙しない方が効果的である。また、この設定の場合にはジョブ内のすべての章をひとまとめにステイプルするため、章ごとのシフト排紙属性はオフに設定する。
また、ステイプルの指定が「章単位で」の場合(ステップ1502の章単位で)には、ステップ1505に進み、製本アプリケーション104は、部ごとのシフト排紙属性はオンに、章ごとのシフト排紙属性はオフにそれぞれ設定する。この理由は、章単位でステイプルする場合には、1部あたりに複数のステイプルがなされるため、部ごとにシフト排紙し、かつ章ごとにシフト排紙しないことにより、部の境界が明確になるからである。この場合、ジョブの境界との区別が付かないという問題はあるが、この実施形態では、この条件においては部の境界を明確にする効果を優先する例を示している。
また、ステイプルの指定が「しない」の場合(ステップ1502のしない)には、ステップ1503に進み、製本アプリケーション104は、印刷する部数の指定が1部であるか否かを判定する。ここで、印刷する部数が1部の場合(ステップ1503のYES)には、ステップ1506に進み、製本アプリケーション104は、部ごとのシフト排紙属性はオンに、章ごとのシフト排紙属性はオンにそれぞれ設定する。尚、通常、印刷部数は、製本アプリケーション104の印刷指示を行うユーザインタフェース(電子原稿UI画面1100またはこの画面の操作により表示されるウインドウ)上で設定可能に構成されており、印刷処理開始時には文書の詳細設定情報内あるいは別途保持されるが、これは印刷機能を持つアプリケーションで一般的に実施されている処理であるため、ここでは説明を省略する。また、印刷部数の指定が1部の場合には、部ごとのシフト排紙属性は意味を持たないため、ここではオンを設定したが、オフを設定しても構わない。ステイプルせずに部数が1部の場合には、章ごとにシフト排紙することにより、章の境界が明確になる。この場合もジョブの境界との区別が付かないという問題はあるが、本実施形態では、この条件においては章の境界を明確にする効果を優先する例を示している。
また、印刷する部数が1部以上の場合(ステップ1503のNO)には、ステップ1505に進み、製本アプリケーション104は、部ごとのシフト排紙属性はオンに、章ごとのシフト排紙属性はオフにそれぞれ設定する。ステイプルせずに部数が複数部の場合には、部ごとにシフト排紙し、かつ章ごとにシフト排紙しないことにより、部の境界が明確になる。この場合、章の境界およびジョブの境界との区別が付かないという問題はあるが、この実施例では、この条件においては部の境界を明確にする効果を優先する例を示している。
このように、製本アプリケーション104は、印刷を実行する文書のステイプル設定と部数指定に応じて、ジョブごと、部ごと、章ごとのシフト排紙属性を自動的に設定する。尚、上述したようにシフト排紙属性を自動的に設定する実施形態に、限定されるものではなく、すべてのシフト排紙属性をユーザインタフェース上から直接独立に設定可能にし、その設定を文書の詳細設定情報に格納する構成も可能である。ただし、利用者が現在の印刷環境や印刷設定に適したすべてのシフト排紙属性を決定するのは容易ではなく、本実施形態では自動的に他の属性から決定することにより、印刷環境や印刷設定に応じた最適なシフト排紙結果を得られる構成となっている。以上により、製本アプリケーション104は、図24のステップ1303におけるシフト排紙属性の設定処理を終了する。
次に、ステップ1304において、製本アプリケーション104は、電子原稿デスプーラ105やプリンタドライバ106を介してジョブ開始のコマンドをプリンタ107へ発行する。次に、ステップ1305に進み、製本アプリケーション104は、電子原稿デスプーラ105やプリンタドライバ106を介してステップ1304で開始したジョブのステイプル属性、ジョブ・部・章のシフト排紙属性などを含むジョブ属性の発行を行う。次に、ステップ1306に進み、製本アプリケーション104は、ブックファイル103に含まれる章の数を変数Nにセットして、変数Kを0に初期化する。次に、ステップ1307に進み、製本アプリケーション104は、K=Nであるか否かを判定する。ここで、K=Nでない場合(ステップ1307のNO)には、製本アプリケーション104は、ステップ1308に進み、変数Kに1加算する。また、K=Nである場合(ステップ1307のYES)には、ステップ1319に進み、製本アプリケーション104は、電子原稿デスプーラ105やプリンタドライバ106を介してジョブ終了のコマンドをプリンタ107へ発行する。
以上のステップ1307、1308の処理は、ステップ1307からステップ1318の処理が章の数だけ繰り返し処理されるようになっている。また、ステップ1307からステップ1318以降の処理が章の数だけ繰り返され、すべての章の印刷処理が終了した場合にK=Nとなり、ステップ1319に進みジョブ終了の発行を行うことで、ブックファイル103の印刷処理を終了する。すなわち、KがNに満たない間は、ステップ1308でKの値に1加算(Kのインクリメント)し、以降のステップで1加算後であるK番目の章の印刷処理を行う。
また、ステップ1308以降のステップ1309からステップ1314の処理では、バインダー(章に対応する)の属性であるステイプル属性を決定する処理を行う。上述したように、印刷ジョブは複数のバインダーから構成される。また、各バインダーの属性(=章属性)として印刷ジョブ中にフィニッシングのまとまりを定義することが可能である。ここで、フィニッシングの定義とは、上述した属性項目において“排紙方法”で定義される排紙時の処理の設定であり、例えばステイプル処理やシフト排紙処理などの設定のことである。本実施形態においては、バインダーの属性にはステイプル属性が含まれ、ひとつの印刷ジョブ中でステイプルの範囲を指定することが可能となっている。
ここで、図24の処理の説明に戻る。ステップ1308の次にステップ1309に進み、製本アプリケーション104は、文書の詳細設定(ブック属性)においてステイプルの指定が「章単位で」になっているか否かを判定する。ここで、ステイプルの指定が「章単位で」になっていない場合(ステップ1309のNO)には、ステップ1314に進み、製本アプリケーション104は、バインダーのステイプル属性をオフにする。これは、ブック属性においてステイプルの指定が章単位でない場合は、バインダーに対してステイプル指示がなされないことを意味するからである。また、ステイプルの指定が「章単位」になっている場合(ステップ1309のYES)には、ステップ1310に進み、製本アプリケーション104は、現在印刷処理中であるK番目の章の詳細設定情報(章属性)を取得する。
次に、ステップ1311に進み、製本アプリケーション104は、ステップ1310で取得した章属性に含まれる「仕上げシートの設定を文書に合わせる」の設定がオンであるか否かを判定する。ここで、「仕上げシートの設定を文書に合わせる」の設定がオンであると判定した場合(ステップ1311のYES)には、ステップ1313に進み、製本アプリケーション104は、文書の設定(ブック属性)に応じてステイプルを章単位で指定する。本実施形態においては、ブック属性はステイプルする設定であるので、ステップ1313において、製本アプリケーション104は、バインダーのステイプル属性をオンに設定する。また、「仕上げシートの設定を文書に合わせる」の設定がオフであると判定した場合(ステップ1311のNO)には、ステップ1312に進み、製本アプリケーション104は、章の詳細設定(章属性)を参照して「ステイプルする」の設定がオンであるか否かを判定する。ここで、章属性で「ステイプルする」の設定がオンである場合(ステップ1312のYES)には、ステップ1313に進み、製本アプリケーション104は、バインダーのステイプル属性をオンに設定する。また、章属性で「ステイプルする」の設定がオフである場合(ステップ1312のNO)には、ステップ1314に進み、製本アプリケーション104は、バインダーのステイプル属性をオフに設定する。これは、章ごとにステイプルするという文書の属性(ブック属性)での定義を変更し、章属性に従って現在の章をステイプルしないと定義することを意味する。以上により、製本アプリケーション104は、バインダーの属性の設定処理を終える。
次に、ステップ1315に進み、製本アプリケーション104は、バインダー開始のコマンドを発行する。次に、ステップ1316に進み、製本アプリケーション104は、バインダーのステイプル属性を含むバインダー属性を設定するコマンドを発行する。次に、ステップ1317に進み、製本アプリケーション104は、K番目の章に含まれる各ページの描画情報を図18のフィールド705に格納されている原稿情報より読み出し、図1の電子原稿デスプーラ105を利用して出力する。これにより、プリンタドライバ106は、描画情報に応じた出力デバイス制御コマンドをプリンタ107へ出力し、プリンタ107は、K番目の章に含まれる各ページの印刷処理を実行する。次に、ステップ1318に進み、製本アプリケーション104は、バインダー終了のコマンドを発行して、K番目の章の印刷処理を終了して、ステップ1307に戻る。
以上に示したように、製本アプリケーション104は、ブックファイル103に含まれるすべての章の印刷処理を実行し終えると、ステップ1319に進みジョブ終了の発行を行い、ブックファイル103の印刷処理を終了する。尚、本実施形態においては、全てのシフト排紙属性をジョブの属性として制御しているが、章ごとのシフト排紙属性を個々のバインダーの属性として制御することも可能である。その場合、さらに各バインダーのステイプルのオン・オフに応じて、バインダーごとのシフト排紙制御を変更する構成も可能である。
次に、図24に示した印刷処理が、製本アプリケーション104、プリンタドライバ106、およびプリンタ107の間でどのように制御されるかをOSがウィンドウズ(登録商標)である場合を例に更に具体的に説明する。
図27は、図24に示した印刷処理が、製本アプリケーション104、プリンタドライバ106、およびプリンタ107の間でどのように制御されるかを示すシーケンス図である。図27に示すように、まず、時刻t1、t2において、製本アプリケーション104は、OSの印刷処理手順に従って、CreateDC(),StartDoc()など、印刷ジョブを生成するためのコマンドを出力する。このコマンドは、GDI(出力モジュール)を経由して、プリンタドライバ106に通知される。尚、時刻t1における処理は、図24のステップ1304およびステップ1305の処理に対応する。
これにより、時刻t3、t4において、プリンタドライバ106は、通知されたコマンドを基に、ジョブ生成処理およびジョブ属性設定処理を行う。具体的には、プリンタドライバ106は、ジョブの開始のコマンドJobStartと、ステイプル設定やジョブ・部・章ごとのシフト排紙設定を含むジョブ属性をプリンタへ指示するコマンドSetJobとを生成し、プリンタ107へデータを送信するためのOSの手続きを経て、プリンタ107へ生成したコマンドを送信する。
次に、時刻t5において、製本アプリケーション104は、バインダー開始のコマンドExtEscape(BINDER_START)を発行し、プリンタドライバ106へ、独立したフィニッシング属性を指定可能なバインダーの開始を通知する。このバインダー開始のコマンドは、図24の変数Kで特定される章の印刷開始の通知を意味している。尚、時刻t5における処理は、図24のステップ1315のバインダー開始の発行処理に対応している。これにより、時刻t6において、プリンタドライバ106は、プリンタ107に対して、バインダーが開始されたことを通知するバインダー生成処理を行う。
次に、時刻t7において、製本アプリケーション104は、バインダー属性の発行コマンドResetDC()を実行し、バインダー属性をプリンタドライバ106へ通知する。具体的には、本アプリケーション104は、章のステイプル設定を含むバインダー属性をプリンタドライバ106へ通知する。尚、時刻t7における処理は、図24のステップ1316のバインダー属性の発行処理に対応している。これにより、時刻t8において、プリンタドライバ106は、バインダー属性設定処理を行う。具体的には、プリンタドライバ106は、ステイプル設定を含むバインダーの属性をプリンタ107へ指示するコマンドを生成し、プリンタ107へデータを送信するためのOSの手続きを経て、プリンタ107へコマンドを送信する。
次に、時刻t9において、製本アプリケーション104は、処理対象のバインダー(章)に含まれる各原稿ページの描画命令をプリンタドライバ107へ送信する。具体的には、本アプリケーション104は、図24の変数Kで特定される章に含まれる原稿ページの描画内容を、GDIを通じてプリンタドライバ106へ通知する。これにより、時刻t10において、プリンタドライバ106は、GDIからDDI関数に変換された形で描画内容を受け取り、例えばPDLなどのプリンタ107が解釈可能な描画命令に変換してプリンタ107へ送信する。尚、時刻t9、t10における処理は、図24のステップ1317のK章の印刷処理と対応している。
次に、時刻t11において、製本アプリケーション104は、現在のバインダーを終了するコマンドExtEscape(BINDER_END)をプリンタドライバ106へ送信する。これにより、時刻t12において、プリンタドライバ106は、プリンタ107へバインダーが終了されたことを通知するバインダー終了処理を行う。尚、時刻t11における処理は、図24のステップ1318のバインダー終了の発行処理と対応している。また、製本アプリケーション104は、次のバインダーを開始するコマンドExtEscape(BINDER_START)をプリンタドライバ106へ通知する。尚、このコマンドExtEscape(BINDER_END)、ExtEscape(BINDER_START)の通知は、バインダーの境界を通知するのが目的であるため、バインダーの境界を通知する1つの通知にまとめることも可能である。
このように、製本アプリケーション104は、章の数だけ上記時刻t5〜t12処理を繰り返す。この繰り返しは、図24のステップS1307〜S1318における繰り返しに対応している。また、最後に製本アプリケーション104は、OSの印刷処理手順に従って、印刷ジョブを終了するコマンドEndDoc()をGDI経由でプリンタドライバ106へ通知する。これにより、時刻t20において、プリンタドライバ106は、プリンタ107に対してジョブ終了処理を行う。具体的には、プリンタドライバ106は、ジョブの終了をプリンタへ指示するコマンドを生成し、プリンタへデータを送信するためのOSの手続きを経て、プリンタ107へコマンドを送信する。尚、時刻t19、t20の処理は、図24のステップ1319の印刷ジョブを終了する処理に対応している。
また、図27において、製本アプリケーション104がGDI経由でプリンタドライバ106へ通知する手段として、ExtEscape()やResetDC()といった具体的なAPI(Application Programming Interface)を例として挙げたが、製本アプリケーション104とプリンタドライバ106が同期して印刷処理を実行できるのであれば、このAPI以外の手段を用いても同様の処理が実現可能なことは言うまでもない。以上に示した処理により、ホストコンピュータ100は、ジョブごとのシフト排紙設定・部ごとのシフト排紙設定・章ごとのシフト排紙設定がなされた文書を、1つの印刷ジョブとしてプリンタ107へ送信することができる。
次に、プリンタ107における印刷処理について説明する。
プリンタ107では、図27に示したプリンタドライバ106からコマンドSetJobで受け取ったジョブ属性設定に含まれるジョブごとのシフト排紙設定に従い、直前のジョブにおける最後の排紙位置に対してシフト排紙するか否かを決定する。これにより、プリンタ107は、現在のジョブにおける最初の章(BinderStartからBinderEndまで)の排紙位置を決定する。同様に、コマンドSetJobで受け取ったジョブ属性設定に含まれる部ごとのシフト排紙設定に従い、直前の部における最後の排紙位置に対してシフト排紙するか否かを決定することにより、2部目以降の部における最初の章(BinderStartからBinderEndまで)の排紙位置を決定する。さらに、SetJobで受け取ったジョブ属性設定に含まれる章ごとのシフト排紙設定に従い、直前の章の排紙位置に対してシフト排紙するか否かを決定することにより、2番目以降の章(BinderStartからBinderEndまで)の排紙位置を決定する。
尚、先頭の章の排紙位置は、ジョブの先頭の場合にはジョブごとのシフト排紙設定に従い、2部目以降の部の先頭の場合には部ごとのシフト排紙設定にしたがって排紙位置を決定する。本実施形態では、ジョブ内に複数のバインダーを持つことによって階層構造を定義できる印刷データ(ブックファイル103)に対して、全てのシフト排紙属性をジョブの属性として制御する例を示したが、この限りではなく、階層構造を定義できないPDLなどの印刷データでは、排紙位置のシフトのタイミングに同期してシフト排紙制御を行う構成も可能である。この場合、全てのシフト排紙属性は、同一のシフト排紙制御で実現することも可能であるが、本実施形態からこのような構成が実施可能であることは明らかであるため、説明を省略する。
また、上述した処理により本実施形態におけるホストコンピュータ100は、文書および章に対してステイプルの設定がなされた文書を、1つの印刷ジョブとしてプリンタ107へ送信することができる。これにより、プリンタ107は、図27に示すコマンドSetJobで受け取ったジョブ属性設定にジョブに対するステイプル指示が含まれていた場合には、JobEndを受け取るまでのすべてのページを一まとめにステイプルする処理を行う。また、プリンタ107では、ジョブ属性設定にステイプル指示がなく、各SetBinderで受け取ったバインダー属性設定にバインダーに対するステイプル指示が含まれていた場合には、BinderEndを受け取るまでのそのバインダーに含まれるすべてのページを一まとめにステイプルする処理を行う。
このようにして、本実施形態におけるホストコンピュータ100では、ステイプル設定および部数設定に応じてジョブごとのシフト排紙設定、部ごとのシフト排紙設定、そして章ごとのシフト排紙設定を最適に設定し、プリンタ107に対してこれらの設定を有効にしたシフト排紙制御を行うことが可能である。
<シフト排紙制御2>
次に、プリンタ107がシフト排紙機能を有する場合に、図1に示した製本アプリケーション104が、更にシフト排紙制御を行う実施形態であって、上述した第4の実施形態と異なる第5の実施形態について説明する。上述した第4の実施形態では、印刷を実行する文書のステイプル設定と部数指定に応じて、ジョブごと、部ごと、章ごとのシフト排紙属性を自動的に設定する例を示したが、これから説明する第5の実施形態では、すべてのシフト排紙属性をユーザインタフェース上から直接独立に設定可能にし、その設定を文書の詳細設定情報に格納して、利用者の設定に応じてシフト排紙制御する例を示す。また、第4の実施形態では部ごとのシフト指示はオン/オフの指定により、1部単位のシフト指示を行うものであったが、第5の実施形態ではシフトする部の数を任意の数に指定可能な構成である。
また、第5の実施形態におけるホストコンピュータ100の機能構成は、第4の実施形態におけるホストコンピュータ100の機能構成と同様である。すなわち、第5の実施形態におけるホストコンピュータ100は、図1に示すホストコンピュータ100と比べて、製本アプリケーション104が電子原稿デスプーラ105の機能と、シフト排紙制御機能とを更に含む機能構成である。よって、以下の説明において、製本アプリケーション104がプリンタドライバ106へ種々のコマンドを発行する旨の記載があるが、詳細には製本アプリケーション104内の電子原稿デスプーラ105がプリンタドライバ106へ種々のコマンドを発行していることを意味する。また、本実施形態におけるホストコンピュータ100のハードウェア構成は、図2に示した第1の実施形態におけるホストコンピュータ100のハードウェア構成と同様である。
図28は、第5の実施形態における製本アプリケーション104がCRTディスプレイ210に表示する「文書の詳細設定」ウインドウ例を示す図である。図28に示す「文書の詳細設定」ウインドウ2110は、図15に示した「文書の詳細設定」ウインドウ2100と同様に、図14の電子原稿UI画面1100にある編集メニュー1104のブルダウンメニューの中より「文書の詳細設定」を選択する操作により起動される。尚、図28に示す「文書の詳細設定」ウインドウ2110において、図15に示した「文書の詳細設定」ウインドウ2100と同じ符号を付与したものは同じ機能を有するので説明を省略する。図28に示すように、文書の詳細設定」ウインドウ2110は、図15で示した「文書の詳細設定」ウインドウ2100の下部に、シフト排紙に関する設定を追加した構成である。
図28の「文書の詳細設定」ウインドウ2110において、シフト排紙の設定エリア2111は、「ジョブごとにシフト」チェックボックス2112と、「部ごとにシフト」チェックボックス2113と、「章ごとにシフト」チェックボックス2114と、部数指定アップダウンコントロール2115とを含む構成である。ここで、「ジョブごとにシフト」チェックボックス2112をオンにした場合、このジョブの排紙は直前のジョブに対してシフト排紙する指示となる。また、「ジョブごとにシフト」チェックボックス2112オフにした場合には、直前のジョブに対してシフト排紙しない指示となる。また、「部ごとにシフト」チェックボックス2113をオンにした場合には、さらに右に位置する部数指定アップダウンコントロール2115が有効となり、そこで指定した任意の部数ごとのシフト排紙の指示となる。また、「部ごとにシフト」チェックボックス2113をオフにした場合には、直前の部に対してシフト排紙しない指示となる。また、「章ごとにシフト」チェックボックス2114をオンにすると、章の境界ごとのシフト排紙の指示となる。また、「章ごとにシフト」チェックボックス2114をオフにすると、すべての章の境界はシフトされずに排紙する指示となる。
なお、それぞれのシフト排紙のチェックボックスはいずれか1つが選択可能になっている。ここで、ステイプルの指定手段2104で「全ページまとめて」が指定されている場合には、シフト排紙の設定エリア2111は「章ごとにシフト」チェックボックス2114がグレイアウトされて選択できないように表示が切り替わり、ステイプルの指定手段2104で「章単位」が指定されている場合には、シフト排紙の設定エリア2111は、上述した項目はいずれも有効になるように表示が切り替わる。このように、シフト排紙の設定エリア2111に示されるように、どのような単位で排紙物をシフトするのかをユーザにより選択可能にすることで、図26に示すフローチャートを拡張すると、より使い勝手のよいものになる。
図26のフローチャートで、ステイプル指定が「全ページまとめて」となっており、かつ、シフト排紙の設定エリア2111の「ジョブごとにシフト」チェックボックス2112がチェックされている場合には、製本アプリケーション104は、ジョブ毎にシフト排紙を行うように、第1の制御コマンドを付加し、一方、「部ごとにシフト」チェックボックス2113がチェックされている場合には、部毎にシフト排紙が行われるように、第2の制御コマンドを付加する。
また、ステイプル指定が「章単位」となっており、かつ、シフト排紙の設定エリア2111の「ジョブごとにシフト」チェックボックスがチェックされている場合には、製本アプリケーション104は、ジョブ毎にシフト排紙を行うように、第1の制御コマンドを付加し、また、「部ごとにシフト」チェックボックス2113がチェックされている場合には、部毎にシフト排紙が行われるように、第2の制御コマンドを付加し、また、「章ごとにシフト」チェックボックス2114がチェックされている場合には、章毎にシフト排紙が行われるように、第3の制御コマンドを付加する。ここで、第1から第3の制御コマンドは異なるコマンドであってもよいし、同じシフトコマンドを、製本アプリケーション104が描画コマンドの出力時に、ジョブ単位、部単位、章単位でその都度挿入するように構成してもよい。
次に、本実施形態における製本アプリケーション104が扱うブックファイル103のデータ構造について説明する。本実施形態における製本アプリケーション104が扱うブックファイル103の最上位のデータ構造は、第4の実施形態で図18に示したデータ構造と同様であり、説明を省略する。次に、図18のフィールド702に示された文書の詳細設定情報の本実施形態におけるデータ構造について説明する。
図29は、第5の実施形態における文書の詳細設定情報のデータ構造を示す図である。図29より明らかなように、図18で示した文書の詳細設定情報に、シフト排紙に関する設定(フィールド1801)を追加したデータ構造になっている。尚、図29に示した文書の詳細設定情報のデータ構造において、図18と共通のフィールドには、同じフィールド番号(符号)を付与している。
次に、図29のフィールド1801に示されたシフト排紙の設定情報について更に説明する。図30は、図29のフィールド1801に示されたシフト排紙の設定情報の詳細な構成を示す図である。図30に示すように、フィールド1901にはジョブごとのシフト排紙設定の情報が格納され、フィールド1902には部ごとのシフト排紙設定の情報が格納され、フィールド1903には章ごとのシフト排紙設定の情報が格納される。
次に、本実施形態におけるホストコンピュータ100の印刷処理について説明する。
第5の実施形態におけるホストコンピュータ100の印刷処理は、図24に示した第4の実施形態におけるホストコンピュータ100の印刷処理とほぼ同様の処理を行う。異なる点は、ステップ1303におけるシフト排紙属性の設定処理の詳細であり、第4の実施形態において図26に示したシフト排紙属性の設定処理の詳細に代わる、第5の実施形態における図31に示すシフト排紙属性の設定処理の詳細を以下に説明する。
図31は、第5の実施形態における図24のステップ1303に示されたシフト排紙属性の設定処理の詳細を示すフロー図である。図31に示すように、まず、ステップ2001において、製本アプリケーション104は、図28の「文書の詳細設定」ウインドウ2110において「ジョブごとにシフト」チェックボックス2112がオンであるかオフであるかを判別する。ここで、チェックボックス2112がオンの場合(ステップ2001のYES)には、ステップ2002に進み、製本アプリケーション104は、図30のフィールド1901に格納する「ジョブごとのシフト排紙設定情報」をオンに設定する。また、チェックボックス2112がオフの場合(ステップ2001のNO)には、ステップ2003に進み、製本アプリケーション104は、フィールド1901に格納する「ジョブごとのシフト排紙設定情報」をオフに設定する。
次に、ステップ2004に進み、製本アプリケーション104は、「文書の詳細設定」ウインドウ2110において「部ごとにシフト」チェックボックス2113がオンであるかオフであるかを判別する。ここで、チェックボックス2113がオンの場合(ステップ2004のYES)には、ステップ2005に進み、製本アプリケーション104は、有効となっている部数指定アップダウンコントロール2115に入力されている値を、図30に示したフィールド1902の「部ごとのシフト排紙設定情報」に部数として格納する。また、チェックボックス2113がオフの場合(ステップ2004のNO)には、ステップ2006に進み、製本アプリケーション104は、0の値を、フィールド1902の「部ごとのシフト排紙設定情報」に部数として格納する。
次に、ステップ2007に進み、製本アプリケーション104は、「文書の詳細設定」ウインドウ2110において「章ごとにシフト」チェックボックス2114がオンであるかオフであるかを判別する。ここで、チェックボックス2114がオンの場合(ステップ2007のYES)には、ステップ2008に進み、製本アプリケーション104は、図30のフィールド1903に格納する「章ごとのシフト排紙設定情報」をオンに設定する。また、チェックボックス2114がオフの場合(ステップ2007のNO)には、ステップ2009に進み、製本アプリケーション104は、フィールド1903に格納する「章ごとのシフト排紙設定情報」をオフに設定する。以上により、製本アプリケーション104は、図24のステップ1303に示されたシフト排紙属性の設定処理を終了する。
このようにして設定されたシフト排紙属性は、第4の実施形態と同様、図24のフローに従ってステップ1305でジョブ属性の一部としてプリンタ107に発行される。また、第4の実施形態の図27と同様のシーケンスにより、本実施形態のホストコンピュータ100は、ジョブごとのシフト排紙設定・部ごとのシフト排紙設定・章ごとのシフト排紙設定がなされた文書を、1つの印刷ジョブとしてプリンタ107へ送信することができる。
また、本実施形態のプリンタ107は、第4の実施形態と同様に、図27のSetJobで受け取ったジョブ属性設定に含まれるジョブごとのシフト排紙設定および部ごとのシフト排紙設定および章ごとのシフト排紙設定に従い、ジョブ、部、章ごとの排紙位置に対してシフト排紙するか否かを決定する。また、先頭の章の排紙位置は、ジョブの先頭の場合にはジョブごとのシフト排紙設定に従い、2部目以降の部の先頭の場合には部ごとのシフト排紙設定にしたがって排紙位置を決定するのも第4の実施形態と同様である。
以上に示したように、本実施形態におけるホストコンピュータ100は、ジョブごとのシフト排紙設定、部ごとのシフト排紙設定、そして章ごとのシフト排紙設定をユーザインタフェース上から直接独立に設定し、プリンタ107に対してこれらの設定を有効にしたシフト排紙制御を行うことが可能である。また、部ごとのシフト排紙設定では、指定した部数ごとにシフトさせることが可能である。
尚、上述した実施形態では、ホストコンピュータ100に対して1台のプリンタ107が接続される構成であったが、この限りではなく、ホストコンピュータ100に対して複数台のプリンタが接続されてもよい、この場合には、製本アプリケーション104が表示する電子原稿UI画面1100において、利用者が任意のプリンタを指定して印刷することが可能である。
また、図1および図12に示した各処理部は、上述した実施形態ではメモリおよびCPUにより構成され、各処理部の機能を実現する為のプログラムをメモリに読み込んで実行することによりその機能を実現させるものであったが、この限りではなく、各処理部の全部または一部の機能を専用のハードウェアにより実現してもよい。
また、上記メモリは、上述したRAM202やハードディスク211に限らず、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
また、図1および図12において各種処理を行う処理部の機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。