以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、文書処理システムを例に挙げて以下に説明する。
<システム概要>
まず、第1実施形態に係る文書処理システムの概要について説明する。この文書処理システムは、一般のアプリケーションによって作成されたデータファイルを電子原稿ファイルに変換する電子原稿ライタと、電子原稿ファイルを編集する機能を提供する製本アプリケーションを含む。
<システム構成及び動作の概略>
図1は、第1実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、コンピュータ(PC)100が各種アプリケーションプログラムを実行することによって実現されている。
一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー、テキスト編集などの機能を提供するアプリケーションプログラムである。これらのアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷する際に、オペレーティングシステム(OS)によって提供される所定の画像出力インタフェースを利用する。即ち、一般アプリケーション101は、作成したデータを印刷するために、上述のインタフェースを提供するOSの出力モジュールに対して、所定のOS依存の出力コマンド(GDI関数と呼ばれる)を送信する。一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の個々の出力デバイスが処理可能な形式に変換して、変換されたコマンド(DDI関数と呼ばれる)を出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるため、デバイスごとにデバイスドライバが提供されている。OSではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、JL(Job Language)でまとめることにより印刷ジョブが生成される。OSとしてマイクロソフト社のウインドウズを利用する場合には、上述の出力モジュールはGDI(Graphic Device Interface)モジュールが相当する。
電子原稿ライタ102は、デバイスドライバに対応するものであり、文書処理システム実現のために提供されるソフトウェアモジュールである。但し、電子原稿ライタ102は特定の出力デバイスを目的としておらず、出力コマンドを後述する製本アプリケーション104やプリンタドライバ106により処理可能なデータ形式に変換する。この電子原稿ライタ102による変換後の形式(以後電子原稿形式と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうち、例えば米アドビシステムズ社によるPDF形式やSVG形式などが電子原稿形式として採用できる。
一般アプリケーション101から電子原稿ライタ102を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ102を指定してから印刷を実行させる。但し、電子原稿ライタ102によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。そして、製本アプリケーション104は電子原稿ライタ102が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ102によって作成されたファイルを”電子原稿ファイル”と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを”ブックファイル”と呼ぶ。なお、以降では、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
一般アプリケーション101は、デバイスドライバとして電子原稿ライタ102を指定し対象のデータを印刷させることで、電子原稿ファイル103をハードディスクなどの記憶媒体に格納する。電子原稿ファイル103は、一般アプリケーション101によって定義されたページ(以後”原稿ページ”と呼ぶ)を単位とする電子原稿形式のデータである。
製本アプリケーション104は電子原稿ファイル(あるいはブックファイル)103を読み込み、それを編集するための機能を利用者(ユーザ)に提供する。但し、製本アプリケーション104は、各ページの内容(オブジェクト)を編集する機能は提供しておらず、後述する章やブックの構造を編集するための機能を提供している。特に、第1実施形態に置いては台割処理(レイアウト処理)の機能を提供している。
製本アプリケーション104によって編集された電子原稿ファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。電子原稿デスプーラ105は、製本アプリケーションと共にコンピュータ内にインストールされるプログラムモジュールである。製本アプリケーションで利用するドキュメント(ブックファイル)を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ107用のプリンタドライバ106がデバイスドライバとして指定される。上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ(画像形成装置)107用のプリンタドライバ106に出力し、そのプリンタドライバ106がプリンタ107で解釈可能なページ記述言語等のコマンドに変換する。そして、変換されたコマンドはプリンタドライバ106から不図示のシステムスプーラを介してプリンタ107に送信され、プリンタ107によってコマンドに応じた画像が用紙などの記録媒体上に印刷される。
図2は、コンピュータ100のハードウェアブロック図である。
CPU201は、ROM203あるいはハードディスク211からRAM202にロードされたOSや一般アプリケーション、製本アプリケーションなどのプログラムを実行する。そうすることにより、図1の各ソフトウェアの機能を実現し、後述するフローチャートの手順を実現する。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等とのアクセスを制御する。PRTC208は、接続されたプリンタ107との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
<電子原稿データの形式>
製本アプリケーション104の詳細について説明する前に、ブックファイルのデータ形式について説明する。
ブックファイルは紙媒体の書物を模倣した3層の層構造を有する。まず、上位層は”ブック”と呼ばれ、1冊の本を模倣しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり電子原稿データ上でも”章”と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は”ページ”であり、アプリケーションプログラムで定義された各ページに相当する。尚、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
図3(a)は、ブックファイルの形式の一例を模式的に示す図である。また、図3(b)は、データの実体である原稿データの形式の一例を模式的に示す図である。
この例では、ブックファイルにおけるブック,章,ページは、それぞれに相当するノードにより示されている。一つのブックファイルは一つのブックを含む。ブック,章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。つまり、ブックファイル(原稿画像データ)は、各々が1以上のオブジェクトを有する順序付けられた複数のページ(画像データ)により構成されている。
ブック301では、ブック属性が定義されていると共に、2つの章302A,302Bがリンクされている。このリンクにより、章302A,302Bがブック301に包含されていることが示される。章302Aには、ページ303A,303Bがリンクされ、これらページが含まれることが示されている。各ページ303A,303Bにはそれぞれ属性値が定義され、その実体である原稿データ(1)、(2)へのリンクが含まれる。つまり、ここでは、ページ303A、303Bの実体が原稿データ(1)、(2)であることを表示している。
図4は、ブック属性のリストを示す図である。また、図5は章属性の、図6はページ属性のリストを示す図である。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
図4〜図6から明らかなように、ブック属性に固有の項目は、印刷方法、製本詳細、表紙/裏表紙、インデックス紙、合紙、章区切りの6項目である。これらはブックを通して定義される項目である。印刷方法の属性としては、片面印刷、両面印刷、製本印刷の3つの値を指定できる。ここで、製本印刷とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
表紙/裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
合紙属性は、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、N−up印刷指定、拡大縮小、排紙方法の5項目である。これらのうち、N−up印刷指定属性は1印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、1×1、1×2、2×2、3×3、4×4などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを100%として指定される。仮想論理ページ領域とは、原稿ページを、N−up等の指定に応じて配置した場合に、1原稿ページが占める領域である。例えば、1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。尚、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
<ブックファイルの生成手順>
以下では製本アプリケーション104及び電子原稿ライタ102によるブックファイルの作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
図7は、製本アプリケーション104によりブックファイルを開く際の動作フローチャートである。なお、以下の動作はCPU201が製本アプリケーション104を実行することにより実現される。
まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する(ステップS701)。新規作成の場合には、章を含まないブックファイルを新規に作成する(ステップS702)。新規に作成されるブックファイルは、図3の例で示せば、ブックノードのみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインタフェース(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)。この判定は、例えば、アプリケーションデータのファイル拡張子に基づいて行われる。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればjpeg圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、ステップS801の処理を省略することも可能である。
ここで、画像データでなかった場合には、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する(ステップS803)。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
また、ステップS802で画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページが追加される(ステップS804)。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、N−up指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
図9は、ステップS801において、電子原稿ライタ102により電子原稿ファイルを生成させるための動作フローチャートである。まず、新たな電子原稿ファイルを作成してそれを開く(ステップS901)。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとして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の出力コマンドに変換し、それを出力モジュールに送信する。出力モジュールは、指定されたプリンタドライバ106によってデバイスに適したコマンドを生成し、対応するデバイスに送信する。
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが関連付けられ、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが関連付けられる。1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が関連付けられる。片面印刷ならば1シートには1物理ページが関連付けられ、両面印刷ならば1シートに2物理ページが関連付けられる。各物理ページには、その上に配置される原稿ページが関連付けられる。また物理ページの属性としては、原稿ページのレイアウトが含まれる。
電子原稿デスプーラ105は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
<プレビュー表示の内容>
上述したように、ブックファイルが製本アプリケーションによって開かれると、図10に示したユーザインタフェース画面1100が表示される。ツリー部1101には、現在開いているブック(以下、「注目ブック」と呼ぶ)の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、例えば以下の3通りの表示モードが用意されている。
まず、第1の表示モードは原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。尚、プレビュー部1102の表示にレイアウトは反映されない。第2の表示モードは印刷ビューモードである。この印刷ビューモードでは、プレビュー部1102には原稿ページのレイアウトが反映された形で原稿ページが表示される。第3の表示モードは簡易印刷ビューモードである。この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
<ステイプル制御>
次に、ステイプル機能を有するプリンタと接続するコンピュータ100の製本アプリケーション104によって行われるステイプル制御について説明する。
図13は、ステイプル制御システムの構成を示すブロック図である。図示するように、ステイプル制御システムは、図2に示したコンピュータ100とステイプル機能を有するプリンタ107とで構成される。
プリンタ107において、1301はプリンタCPUである。プリンタ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からのプリンタモード設定情報を記憶するようにしても良い。
<システムの動作フロー>
図16は、第1実施形態に係る製本システムにおける構成要素を示している。1601はLAN、WANなどのネットワークを示している。1602は断裁機を示している。つまり、コンピュータ100とプリンタ107と断裁機1602がLANなどのネットワーク1601によって接続されている構成で実現される。
図17は、第1実施形態に係る全体の処理フローチャートである。以下の動作は、CPU201が製本アプリケーション104を実行することにより実現される。
ステップS1701では、製本アプリケーション104は、製本情報を取得する。具体的には、LANなどのネットワーク1601で接続された出力先のプリンタ107および断裁機1602から構成情報を取得して、使用可能な製本方法の情報を取得する。そして、製本アプリケーション104は、例えば製本方法指定のためのUIを介して作業者が指定した製本方法の情報を取得する。
ステップS1702では、製本アプリケーション104は、用紙の構成情報を取得して、コンピュータ内のRAM202に格納する。ステップS1701で取得した製本方法の情報から、製本アプリケーション104は用紙の構成情報を取得する。取得した用紙構成情報は、図18(a)で示すような用紙構成情報リスト1801で管理しておく方式でも良い。図18(b)は、用紙構成の定義を示している概念図である。たとえば、中綴じ製本を例に取ると、用紙の表面の左ページが“a”、右ページが“b”、裏面の左ページが“c”、右ページが“d”というように定義する。つまり、用紙構成情報リスト1801では、原稿データのページ番号がレイアウトされる位置を規定している。例えば、1ページ目は、表面の右ページに配置されるため用紙番号1bと管理され、2ページ目は、裏面の左ページに配置されるため用紙番号1cと管理される。
ステップS1703では、製本アプリケーション104は入稿データを認識する。
図19は、製本アプリケーション104のUIの図を示している。1901はタイトルバー、1902はメニューツールバー、1903はツールバーを示している。1904は、プレビュー領域1102に表示されるプレビューの種類を切り替えるリストボックスを示している。1905は、指定されている製本設定のアイコンを示している。1906は、ページレイアウト済みの原稿データのプレビュー画像を示している。1907は、マウスのポインタを示している。1908は、入稿された原稿データを示している。1909は、入稿する原稿データの場所を示す、指示線を示している。1910は、1101のツリー部において入稿する原稿データの位置を示す指示線を示している。原稿データの入稿は、マウスを操作し、入稿する原稿データを入稿する位置にドラッグ&ドロップすることにより実行される。原稿データをプレビュー部1102の内側にドラッグすると、ドロップ時に入稿される位置が指示線(1909,1910)で表示される。見開きページをページレイアウトしたい位置で原稿データをドロップすると、印刷アプリケーションは入稿されたことを認識する。原稿データの入稿の方法は、ドラッグ&ドロップに限らず、メニューによる指定などの方法でもかまわない。
ステップS1704では、製本アプリケーション104は、ステップS1703で入稿された位置から、ページレイアウト対象ページ番号を特定して、その番号を定数Mに代入する。
ステップS1705では、製本アプリケーション104は、用紙構成情報リスト1801に見開きページの情報を格納する。図20は、用紙構成情報リスト1801に見開きページ情報2001を加えたものを示している。たとえば、12ページの中綴じ製本であれば、ページ番号”1”に対応する見開きページの番号は”12”、ページ番号”2”に対応する見開きページの番号は”3”となる。ページ番号”3”に対応する見開きページの番号は”2”であるが、ページ番号が大きいものから小さいものへの対応関係は便宜上排除する。従って、ページ番号”3”に対応する見開きページの番号は”―”となる。このようにして、用紙構成情報リスト1801のページ番号について、見開きページの番号を格納する。
ステップS1706では、製本アプリケーション104は、入稿された原稿データをページレイアウトする。なお、ページレイアウト処理の詳細については後述する。ステップS1706において、製本アプリケーション104が、入稿された原稿データを分割してレイアウトすると判定した場合は、ステップS1707の処理へ進む。逆にステップS1706において、製本アプリケーション104が、入稿された原稿データを分割せずにレイアウトすると判定した場合は、ステップS1708の処理へと進む。
ステップS1707では、製本アプリケーション104は、入稿された原稿データをページ分割をしてページレイアウトし、さらにレイアウトの補正を行う。ステップS1708では、製本アプリケーション104は、入稿された原稿データをページ分割をせずにページレイアウトし、さらにレイアウトの補正を行う。
ステップS1709では、製本印刷のノド側の補正を行うか否かの判定をする。ノド側の補正を行う場合は、ステップS1710へ進む。そして、ステップS1710では、印刷アプリケーションは、製本方法の特性を考慮したノド側の補正を行う。なお、ノド側の補正処理の詳細については後述する。
<ページレイアウト処理(ステップS1706)の詳細>
図21は、ページレイアウト処理のフローチャートである。
ステップS2101では、製本アプリケーションは、入稿された原稿データの特性と製本設定とから、入稿された原稿データが見開きページ用のデータか否かを判定する。見開きページ判定処理の詳細については後述する。製本アプリケーションが、入稿された原稿データを見開きページと判定した場合、ステップS2102へ進む。製本アプリケーションが、入稿された原稿データを見開きページではないと判定した場合、処理を終了し、通常のページレイアウト処理を行なう。
ステップS2102では、図17のステップS1704で格納したページレイアウト対象ページ番号Mが見開きレイアウト可能なページか否かを判定する。具体的には、用紙構成情報リストを参照して、ページレイアウト対象ページ番号Mが見開きレイアウト可能か否かを判定する。ページレイアウト対象ページ番号Mに対応する見開きページが存在すれば、見開きレイアウト可能と判定する。逆に、ページレイアウト対象ページ番号Mに対応する見開きページが存在しなければ、見開きレイアウト不可能と判定する。ページ番号Mが見開きレイアウト可能なページであると判定した場合はステップS2103へ進む。一方、ページ番号Mが見開きレイアウト不可能なページと判定した場合は本処理を終了する。用紙の構成を鑑みた結果、見開きページをレイアウトできない場合は、入稿データのページレイアウト処理をエラーとして処理を終了する。または、入稿された原稿データを見開きではなく1ページものとしてページレイアウトして処理を終了する。
ステップS2103では、製本アプリケーション104は、用紙構成情報を更新する。ステップS2102において、ページレイアウト対象ページ番号Mが見開きレイアウト可能と判定した場合は、製本アプリケーション104は前述したステップS1705で格納した用紙構成情報を更新する。見開きページ(つまり物理ページでは2ページ分)が入稿されることで、全体のページが増加することになるため、この更新処理が必要となる。
図22は、前述した図20の用紙構成情報リストをステップS2103の処理で更新した場合の例を示している。2201は更新された用紙構成情報リストである。12ページの中綴じ製本に見開きページ2ページ分が増えることになるため、出力する用紙枚数が3枚から4枚になり、16ページの中綴じ製本となる。16ページの中綴じ製本に対応するように用紙構成情報リストが更新される。
ステップS2104では、ページレイアウト対象ページ番号Mが、ページ分割せずに見開きレイアウト可能か否かを判定する。ステップS2103で更新した用紙構成情報リストを参照して、ページレイアウト対象のページ番号Mが、ページ分割せずに見開きレイアウト可能か否かを判定する。たとえば、ページ番号1であれば、対応する見開きページは16である。それぞれの用紙番号は1bと1aであり、同一用紙(台紙)の同一面かつ隣接位置にあるため見開きレイアウトが可能と判定する。ページレイアウト対象のページ番号Mが、ページ分割せずに見開きレイアウト可能と判定した場合、ステップS2105へ進む。ページレイアウト対象のページ番号Mが、ページ分割せずに見開きレイアウト不可能と判定した場合、図17のステップS1707へ進む。
ステップS2105では、ステップS2101で見開きページと判定した入稿された原稿データをページ分割する必要があるか否かを判定する。分割判定処理の詳細については後述する。入稿された原稿データをページ分割する場合、図17の全体フローチャートのステップS1707に進む。入稿された原稿データをページ分割しない場合、図17のステップS1708に進む。 <見開きページ判定処理(ステップS2101)の詳細>
図23は、見開きページ判定処理のフローチャートである。
ステップS2301では、製本アプリケーション104は、入稿された原稿データの横の長さと、縦の長さを取得して定数Xn、Ynにそれぞれ格納する。
ステップS2302では、製本アプリケーション104は、製本後の1ページのレイアウト領域の縦の長さと、横の長さを取得して定数Xs、Ysに格納する。
図24は、入稿された原稿データと、製本後の1ページのレイアウト領域の概念図である。2401、2402は入稿された原稿データを示している。2401は、ポートレイト(縦長)型の形状の原稿データの例を示している。2402は、ランドスケープ(横長)型の形状の原稿データの例を示している。2403は製本された本の概念図を示している。2404は製本後の1ページのレイアウト領域を示している。以降で説明するステップS2303〜ステップS2305では、ステップS2301とステップS2302で取得した原稿データとレイアウト領域の縦横長さを比較する。ここでは、原稿データの縦横の長さの大小関係と、レイアウト領域の縦横長さの大小関係が逆の関係であれば、その原稿データは見開きページ用の原稿データであるとして判定する。
ステップS2303では、原稿データの縦の長さから、横の長さを引いた値が0以上か否かを判定する。原稿データの縦の長さから、横の長さを引いた値が0以上であった場合は、ステップS2304へ進む。原稿データの縦の長さから、横の長さを引いた値が0以下であった場合は、ステップS2305へ進む。なお、縦横の長さの差ではなく比率(アスペクト比)を求め判定しても良い。
ステップS2304では、レイアウト領域の横の長さから、縦の長さを引いた値が0以上か否かを判定する。レイアウト領域の横の長さから、縦の長さを引いた値が0以上であれば、見開きページの判定条件を満たさないため、見開きページではないという判定結果になる。この場合、前述した見開きページではないという判定の処理へと進む。レイアウト領域の横の長さから、縦の長さを引いた値が0以下であれば、見開きページの判定条件を満たすため、見開きページであるという判定結果になる。この場合、前述したステップS2102へと進む。
ステップS2305では、レイアウト領域の横の長さから、縦の長さを引いた値が0以上か否かを判定する。レイアウト領域の横の長さから、縦の長さを引いた値が0以上であれば、見開きページの判定条件を満たすため、見開きページであるという判定結果になる。この場合、前述したステップS2102へと進む。レイアウト領域の横の長さから、縦の長さを引いた値が0以下であれば、見開きページの判定条件を満たさないため、見開きページではないという判定結果になる。この場合、前述した見開きページではないという判定の処理へと進む。例えば、図24の2401の原稿データを、2403のレイアウト領域にページレイアウトする場合は、
Y1−X1>0
Y3−X3>0
となるため、原稿データ2401は見開きページではないと判定する。図24の2402の原稿データを、2404のレイアウト領域にページレイアウトする場合は、
Y2−X2<0
Y3−X3>0
となるため、原稿データ2401は見開きページであると判定する。
<ページ分割判定処理(ステップS2105)の詳細>
図25は、ページ分割判定処理のフローチャートである。
ステップS2501では、製本アプリケーション104は、入稿された原稿データのコンテンツ情報を解析する。コンテンツ情報は、ページ内に描画されている、テキスト・イメージ・図形などのコンテンツ(オブジェクト)の情報を含む。印刷アプリケーションが原稿データの内部データを解析して、各描画コンテンツの位置情報を取得する。取得したそれぞれの位置情報から、ページ分割線をまたがるようなコンテンツが存在するか否かを解析し分断判定を行なう。
図26は、ステップS2501のコンテンツ情報解析処理の概念を示した図である。2601、2602は入稿された原稿データを示している。2603はページ分割を行う分割線を示している。ここで、原稿データ2601においては、コンテンツ2604が分割線2603をまたぐように描画されている。
ステップS2502では、ステップS2501の解析結果に基づき、ページ分割を実行するか否かを決定する。例えば、ユーザから分割の指定を受け付ける場合には、ステップS2501の処理結果に応じて、図27に示すようなメッセージを画面上に表示する。
図27は、原稿データの分割する・しないの指示を受け付けるためのメッセージダイアログ(受付手段)の図である。2701はメッセージダイアログ概観を示している。2702はメッセージ本文を示している。メッセージ本文の内容は、ステップS2501の処理の結果に応じて変更される。例えば、原稿データをページ分割しないでページレイアウトをしたほうが良い場合(図26の2601)は、”原稿データを分割するとコンテンツが分割(分断)される可能性があります。”という警告を示した上で、作業者に判断を促す。一方、原稿データをページ分割してページレイアウトしてもかまわない場合(図26の2602)は、”原稿データは分割してもコンテンツが分割(分断)されることはありません。”という警告を示した上で、作業者に判断を促す。2703は分割することを指示するために、作業者が押下するボタンを示している。2704は分割しないことを指示するために、作業者が押下するボタンを示している。2703のボタンが押下されたことを認識すると、ページ分割しない処理ステップS1708へ進む。2704のボタンが押下されたことを認識すると、ページ分割する処理ステップS1707へ進む。
なお、分割の判定を自動で行うよう構成してもよい。例えば、原稿データ2601は分割線をまたがり複数ページに分断されるコンテンツ(オブジェクト)が存在するため、ページ分割しないでページレイアウトをしたほうが良いと判定する。一方、原稿データ2602は、コンテンツ2605が分割線2603をまたがることはない。そのため、原稿データ2602は、ページ分割をしてページレイアウトしてもかまわないと判定するよう構成してもよい。
<ページレイアウト補正処理(分割ページ)(ステップS1707)の詳細>
図28は、ページレイアウト補正処理(分割ページ)として分割位置補正を行なう場合のフローチャートである。
ステップS2801では、製本アプリケーション104は、指定されている製本方法の情報から綴じ代の幅を取得する。
ステップS2802では、製本アプリケーション104は、原稿データのページレイアウト対象ページ番号M側から対応する見開きページ側へ(綴じ代÷2)の位置で、原稿データを分割する。
図29は、分割位置補正の概念を示す図である。2901は入稿された原稿データを示している。2904は中央線である。今、ページレイアウト対象ページ番号Mが4で、対応する見開きページ番号が5であると仮定する。綴じ幅は2905で示す幅である。ステップS2802の処理では、ページレイアウト対象ページ番号M側(原稿データ2901の左側)から、(綴じ代2905÷2)の幅対応する見開きページ側にシフトした位置2906でページ分割を行う。2902は分割後の原稿データを示している。
ステップS2803では、製本アプリケーション104は、ページレイアウト対象ページ番号Mに対応する見開きページ側から、ページレイアウト対象ページ番号M側へ(綴じ代÷2)の位置で、原稿データを分割する。つまり、ステップS2802で説明した処理を、見開きページ側で行う。ページレイアウト対象ページ番号M側に対応する見開きページ側(原稿データ2901の右側)から、(綴じ代2905÷2)の幅ページレイアウト対象ページ番号M側にシフトした位置2907でページ分割を行う。2903は分割後の原稿データを示している。
ステップS2804では、製本アプリケーション104は、ステップS2802、ステップS2803で分割した原稿データを対応するレイアウト領域にページレイアウトする。つまり、ステップS2802で分割した原稿データを、ページレイアウト対象ページ番号Mのレイアウト領域にページレイアウトする。一方、ステップS2803で分割した原稿データを、ページレイアウト対象ページ番号Mに対応する見開きページのレイアウト領域にページレイアウトする。ここで、2908は用紙、2909はレイアウト領域を示している。2910はページレイアウトされた原稿データを示している。2911は用紙の中央線を示している。2912は、分割された原稿データ2902をレイアウト領域にページレイアウトした結果を示している。2913は、分割された原稿データ2903をレイアウト領域にページレイアウトした結果を示している。外側にシフトして分割した分、綴じ代に原稿が重なる形となる。このような処理を行なうことにより、製本完了時の本の当該見開きページを開けたときに、ノド側に空白が出ることがなく、見開きページを読むことが可能になるという利点がある。
図30は、ページレイアウト補正処理(分割ページ)として変倍拡縮処理を行なう場合のフローチャートである。
ステップS3001では、製本アプリケーション104は、入稿された原稿データを分割する。
図31は、変倍拡縮処理の概念を示す図である。3101は原稿データを示している。3104は中央線を示している。ステップS3001のページ分割処理は、3104の中央線で原稿データを分割する。
ステップS3002では、製本アプリケーション104は、ステップS3001で分割したページレイアウト対象ページ番号M側の原稿データ3102を、ページレイアウト対象ページ番号Mのレイアウト領域にページレイアウト3106する。
ステップS3003は、製本アプリケーション104は、ステップS3001で分割したページレイアウト対象ページ番号Mに対応する見開きページ側の原稿データ3103を、見開きページのレイアウト領域3108にページレイアウトする。
ステップS3004において、製本アプリケーション104は、指定されている製本方法の情報から綴じ代の幅3105を取得する。
ステップS3005において、製本アプリケーション104は、ステップS3001、ステップS3002でページレイアウトした原稿データのノド側(3107、3109)を(綴じ代÷2)の幅で変倍拡縮する(画像修正手段)。例えば、綴じ側端周辺の、(綴じ代÷2)幅をノド側へ変倍拡縮することで、綴じ代幅に原稿データを重ねることが可能になる。
このような処理を行なうことにより、製本完了時の本の見開きページを開けたときに、ノド側に空白が出ることがなく、見開きページを読むことが可能になる。ここで変倍の拡縮にしているのは、ページの中心に近づくにつれて、製本したときの可視率は落ちていく特性を考慮しているためである。ページの中心位置は粗い拡大を行い、原稿側に進むにつれて細かい拡大にすることで、ノド側以外の原稿データには影響を少なくすることができる。
なお、図28および図30で示した処理はどちらか一方のみを適用することになる。どちらを適用するのかの判定処理は、印刷アプリケーションの設定などに基づいて自動的に実行しても良いし、作業者の入力指示に応じて実行しても良い。たとえば図32で示すようなメッセージダイアログを印刷アプリケーションが表示して、ユーザの指示に従って適用する処理を切り替える方法でも良い。3201はメッセージダイアログ概観を示している。3202は、適用する補正処理を選択するラジオボタン、3203は3202で選択した補正処理を確定するOKボタン、3204は補正方法の指定をキャンセルするキャンセルボタンを示している。
ラジオボタン3202により、図28および図30で示した処理のどちらかを選択する。そして、OKボタン3203を押下することで、適用する補正方法を切り替える。この方法ではなく、印刷アプリケーション内部で常にどちらか一方の補正処理を実行するでもかまわない。また、例えば綴じ代の幅がxx以上という閾値を使って、適用する補正処理を切り替える方法でもかまわない。
上述のページレイアウト補正処理(分割ページ)は、平綴じ製本を例にとって説明したが、他の製本方法であっても綴じ代の値などを考慮にいれて、同様に補正処理が可能である。
<ページレイアウト補正処理(非分割ページ)(ステップS1708)の詳細>
図33は、ページレイアウト補正処理(非分割)のフローチャートである。
ステップS3301では、製本アプリケーション104は、ページレイアウトページ番号Mと対応する見開きのレイアウト領域に入稿された原稿データをページレイアウトする。つまり、見開き用の原稿データをページ分割せずにレイアウト可能な見開きページに、原稿データを分割せずにページレイアウトする。
ステップS3302では、製本アプリケーション104は、指定されている製本方法の情報から綴じ代の幅を取得する。
ステップS3303では、製本アプリケーション104は、ページレイアウトした原稿データの中心から外側へ(綴じ代÷2)幅を変倍拡縮する。
図34はページレイアウト補正処理(非分割)の概念を示す図である。この図では平綴じ製本を例にしている。3401は用紙、3402はページレイアウト領域を示している。3403はページレイアウトした原稿データを示している。3404は中央線(実際は印刷されない)を示している。3405は綴じ代幅を示している。3406はステイプル針を示している。綴じ代幅3405は、製本されたときにノドになる部分で、綴じの影響で原稿が見えなくなる可能性がある幅である。分割せずに原稿データをページレイアウトしたときは、綴じ代幅の部分に原稿が重なるため補正が必要となる。(綴じ代÷2)幅を中心から外側に(つまり現在処理中のページ番号に基づいて)変倍拡縮することで、綴じ代幅に重なっていた原稿データを重ならないように補正することが可能になる。ここで変倍の拡縮、つまり、処理幅(処理量)を可変にしているのは、ページの中心に近づくにつれて、製本したときの可視率は落ちていく特性を考慮しているためである。ページの中心位置は粗い拡大を行い、外側に進むにつれて細かい拡大にすることで、ノド側以外の原稿データには影響を少なくすることが可能である。
上述のページレイアウト補正処理(非分割ページ)は、平綴じ製本を例にとって説明したが、他の製本方法であっても綴じ代の値などを考慮にいれて、同様に補正処理が可能である。
<ノド側の補正処理(ステップS1710)の詳細>
図35は、ノド側の補正処理(1)のフローチャートである。また、図36(a)は、ノドの特性を説明するため平綴じ製本における本のノドを横から見た場合の概念図である。
3601は用紙、3602はステイプルを示している。3603は、綴じ代を示しており、綴じの影響で原稿データが見えなくなってしまう可能性がある幅を固定長でとっている。3604は、ページをめくったときに用紙の厚みによって、隠れてしまう幅を示している。この幅は、めくったページ数に応じて、動的に変化する幅である。
図36(b)は、平綴じ・左開き・100ページの本全体を横から見た概念図である。めくられているページ数によってそれぞれの状態を示している。1〜10ページ(3605)、11〜49ページ(3606)、50,51ページ(3607)、52〜90ページ(3608)、91〜100ページ(3609)の5パターンの本の状態を示している。3605、3606など総ページ数に比べてめくっているページ番号が小さいときは、図36(a)で示した3604の幅は、めくったページ数に従って増加する傾向にある。しかし、総ページ数の半分(真ん中)3607を境に、図36(a)で示した3604の幅は、めくったページ数に従って減少する傾向にある。3608、3609は、まだめくっていない(残っている)ページ数によって、図36(a)で示した3604の幅が、変化する様子を示している。ノド側の補正処理は、このような、本をめくったときのノドの特性を考慮した補正処理である。
ステップS3501では、製本アプリケーション104は、本の総ページ数を取得して、定数Sに代入する処理である。
ステップS3502では、製本アプリケーション104は、変数kに1を代入する。
ステップS3503では、製本アプリケーション104は、変数kが総ページの半数よりも小さいか否かを判定する。変数kが総ページ数の半数よりも小さければ、ステップS3504へ進む。変数kが総ページ数の半数よりも大きければ、ステップS3505へ進む。
ステップS3504では、製本アプリケーション104は、ページ番号kの原稿データをシフトする厚みを算出する。まずは、ページ番号kはめくった用紙の何枚目かを算出する。用紙の裏表にページは存在するので、k/2でページ番号kがめくった用紙の何枚目に存在するのかがわかる。ただし、k/2で余りが出た場合は、(k+1)/2の結果を使う。k/2から1を減ずることで、ページ番号kより前に何枚のページがめくられたのかが算出できる。算出した用紙枚数を元に、用紙の厚みを算出する。
ステップS3505では、製本アプリケーション104は、ステップS3504と同様にページ番号kの原稿データをシフトする厚みを算出する。ただし、ページ番号kが総ページの半数よりも大きいので、シフトする厚みは、まだめくられずに残っている用紙の枚数分の厚みとなる。したがって、k/2を総ページ数から引いた値となる。算出した用紙枚数を元に、用紙の厚みを算出する。
ステップS3506では、製本アプリケーション104は、ページ番号kにレイアウトされている原稿データの位置をステップS3504、ステップS3505で算出した厚み分ノド側にシフトする。
ステップS3507では、製本アプリケーション104は、変数kをインクリメントする。
ステップS3508では、製本アプリケーション104は、全ページについて補正処理が終了しているか否かを判定する。まだ全ページ終了していなければ、ステップS3503へ進み処理を繰り返す。全ページに対して終了していれば、処理は終了となる。
図37は、ノド側の補正処理(2)のフローチャートを示している。また、図38は、ノドの特性を説明するため平綴じ製本における本のノドを横から見た場合の概念図である。
3801は用紙、3802はステイプルを示している。ノド側3803は、総ページ数の真ん中に近づくにつれて、開きやすくなる特性がある。
ステップS3701では、製本アプリケーション104は、本の総ページ数を取得して、定数Sに代入する。
ステップS3702では、製本アプリケーション104は、変数kに1を代入する。
ステップS3703は、製本アプリケーション104は、変数kが総ページの半数よりも小さいか否かを判定する。変数kが総ページ数の半数よりも小さければ、ステップS3704へ進む。変数kが総ページ数の半数よりも大きければ、ステップS3705へ進む。
ステップS3704では、製本アプリケーション104は、各ページが全ページに対してどの場所に位置するかを算出する。例えば、総ページ数の真ん中を1(最大)、総ページ数の1ページ目と最終ページを0(最小)としたときの値を算出する。ページ番号kが総ページSの半数よりも小さいときは、2k/Sによって値を算出できる。算出した値は変数Vに格納する。
ステップS3705では、製本アプリケーション104は、ステップS3704と同様、ページ番号kがどの値に位置するのかを算出する。ページ番号kが総ページ数Sの半数よりも大きいときは、”−(2k/S)+2”によって値を算出できる。
ステップS3706では、製本アプリケーション104は、ノド側の最大補正量Tを取得する。ノド側の最大補正量は、印刷アプリケーションがあらかじめ決めている値でもかまわないし、綴じ代から自動的に計算される値でもかまわない。また、作業者によって指定された値を使ってもかまわない。
ステップS3707では、製本アプリケーション104は、ステップS3704、ステップS3705で求めた変数VにステップS3706で取得したノド側の最大補正量Tをかけた値分、原稿データのノド側を内側に変倍拡縮する。総ページ数の真ん中であれば、V=1であるため、拡縮幅は最大となる。前述したとおり、総ページ数の真ん中に近づくにつれて、ノドの開きが目立つようになるため、それを考慮した補正になっている。
ステップS3708では、製本アプリケーション104は、変数kをインクリメントする。
ステップS3709では、製本アプリケーション104は、全ページについて補正処理が終了しているか否かを判定する。まだ全ページ終了していなければ、ステップS3703へ進み処理を繰り返す。全ページに対して終了していれば、処理は終了となる。
上述のノド側の補正処理(1)および(2)は、どちらか一方、あるいは両方を適用することになる。どの補正処理を適用するのかの判定処理は、印刷アプリケーションの設定などで自動的に実行しても良いし、作業者の入力指示に応じて実行しても良い。たとえば図39で示すようなメッセージダイアログを印刷アプリケーションが表示して、ユーザの指示に従って適用する処理を切り替える方法でも良い。3901はメッセージダイアログ概観を示している。3902は、適用する補正処理を選択するラジオボタン、3903は3902で選択した補正処理を確定するOKボタン、3904は補正方法の指定をキャンセルするキャンセルボタンを示している。
ラジオボタン3902により上述のノド側の補正処理(1)および(2)のどちらか、もしくは両方を選択する。そして、OKボタン3903を押下することで、適用する補正方法を切り替える。なお、この方法ではなく、印刷アプリケーション内部で常にどちらか一方の補正処理を実行するでもかまわない。また、例えば綴じ代の幅がxx以上という閾値を使って、適用する補正処理を切り替える方法でもかまわない。
また、ここでは、平綴じ製本を例にとって説明したが、他の製本方法であってもノドの特性、綴じ代の値などを考慮にいれて、同様に補正処理が可能である。
以上説明したとおり、第1実施形態に係る文書処理システムによれば、製本方法に適したページレイアウトを簡単に行なえるようにすることが出来る。また、製本方法に適した見開き原稿データのノドの補正処理を簡単に行なえるようになる。そのため、専門の作業者でなくとも、容易にページレイアウトおよびノドの補正処理を適切に行なうことが可能となる。
(変形例)
文書処理システムの概要は第1実施形態で示したスタンドアロン型のシステムでもよいが、サーバ・クライアントシステムとして構成してもよい。例えば、ブックファイルや印刷処理の管理をサーバで一元的に管理するような構成でもよい。
図12は、サーバ・クライアント型文書処理システムの構成を示すブロック図である。サーバ・クライアント型文書処理システムは、DOMSドライバ109及びDOMSプリントサービスモジュール110、DSクライアントモジュール108を加えた構成を有する。ここで、DOMSは、Document Output Management Service(文書出力管理サービス)の略である。また、DSは、Document Service(文書サービス)の略である。
この文書処理システム1200に文書管理サーバ1201、印刷集中管理サーバ1202及びプリントサーバ1203が接続されている。
尚、図12に示す例では、文書管理サーバ1201と印刷集中管理サーバ1202の両方のサーバがクライアントに接続されているが、何れか一方のみネットワーク上に存在する場合もあり得る。例えば、接続されているサーバが文書管理サーバであれば、そのクライアントモジュール108を含む文書管理サーバクライアントシステム1201SCが追加される。また印刷集中管理サーバ1202であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム1202SCが追加される。
文書管理サーバ1201は、製本アプリケーション104により作成・編集されたブックファイルを格納するサーバである。ブックファイルは文書管理サーバ1201のデータベース1211に保存される。製本アプリケーション104と文書管理サーバ1201との間のブックファイルの保存及び読み出しは、DSクライアント108及びDSコア1212を介して行われる。
印刷集中管理サーバ1202は、ブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、DOMSドライバ109およびDOMSプリントサービスモジュール110を介して印刷集中管理サーバ1202のDOMSWGサーバモジュール1221に送信される。印刷集中管理サーバ1202は、DOMSプリントサービスモジュール110を介して電子原稿デスプーラ105に電子原稿データを渡す。プリントサーバ1203により印刷する場合には、プリントサーバ1203のDOMSプリントサービスモジュール1231に送信する。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード(コンピュータプログラム)自体も本発明の技術的範囲に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD、DVD)、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ROMなどがある。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。