以下、添付図面に従って、本発明の実施形態を詳細に説明する。
[本実施形態の文書処理システムの概要]
本発明の第1の実施形態である文書処理システムの概要を図1〜図13を参照して説明する。この文書処理システムでは、一般アプリケーションにより作成されたデータファイルが、電子原稿ライタによって電子原稿ファイルに変換される。製本アプリケーションはその電子原稿ファイルを編集する機能を提供している。尚、本例では、それぞれの機能が明瞭になるように、一般アプリケーション、電子原稿ライタ、製本アプリケーション、電子原稿デスプーラと分離して示しているが、ユーザに提供されるパッケージはこれらに限定されず、これらを組合わせたアプリケーションやグラフィックエンジンとして提供されてもよい。以下、その詳細は説明する。
<本実施形態の文書処理システムのソフトウェア構成例>
図1は、本実施形態の文書処理システムのソフトウェア構成を示す図である。
文書処理システムは、本発明の文書処理装置(情報処理装置)の好適な実施形態であるデジタルコンピュータ100(以下、「ホストコンピュータ」とも呼ばれる)によって実現されている。一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドローあるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、OSに対する印刷機能を有している。これらアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム(OS)により提供される所定のインタフェース(一般に、GDIと呼ばれる)を利用する。すなわち、アプリケーション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によって作成されたファイルを電子原稿ファイルと呼び、製本アプリケーションによって構造を与えられた電子原稿ファイルをブックファイルと呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
このようにデバイスドライバとして電子原稿ライタ102を指定し、一般アプリケーション101によりそのデータを印刷させることで、アプリケーションデータはアプリケーション101によって定義されたページ(以後、「論理ページ」あるいは「原稿ページ」と呼ぶ。)を単位とする電子原稿形式に変換され、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。なお、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション104は、電子原稿ファイルあるいはブックファイル103を読み込み、それを編集するための機能を利用者に提供する。ただし製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
製本アプリケーション104によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。電子原稿デスプーラ105は、製本アプリケーションと共にコンピュータ内にインストールされるプログラムモジュールであり、製本アプリケーションで利用するドキュメント(ブックファイル)を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。電子原稿デスプーラ105は、指定されたブックファイル(電子原稿ファイル)をハードディスクから読み出し、ブックファイル(電子原稿ファイル)に記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ107のドライバ106がデバイスドライバとして指定される。出力モジュールは、指定されたプリンタ107のプリンタドライバ106を用いて受信した出力コマンドを、プリンタ107で解釈実行可能なデバイスコマンドに変換する。そしてデバイスコマンドはプリンタ107に送信され、プリンタ107によってコマンドに応じた画像が印刷される。
<本実施形態の文書処理システムのハードウェア構成例>
図2は、本実施形態の文書処理システムのハードウェア構成を示す図である。図2において、ホストコンピュータ100は、ROM203内のプログラム用ROMあるいは外部メモリ211に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU201を備え、システムバス204に接続される各デバイスをCPU201が総括的に制御する。また、このROM203内のプログラム用ROMあるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステムプログラム等を記憶し、ROM203内のフォント用ROMあるいは外部メモリ211には上記文書処理の際に使用するフォントデータ等を記憶し、ROM203内のデータ用ROMあるいは外部メモリ211には上記文書処理等を行う際に使用する各種データを記憶する。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ(CRT)210の表示を制御する。207はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フレキシブルディスク(FD)等の外部メモリ211とのアクセスを制御する。プリンタコントローラ(PRTC)208は、双方向性インタフェース(インタフェース)21を介してプリンタ107に接続されて、プリンタ107との通信制御処理を実行する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
なお、CPU201は、例えばRAM202上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT210上でのWYSIWYGを可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
プリンタ107は、CPU312により制御される。プリンタのCPU312は、ROM313内のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ314に記憶された制御プログラム等に基づいてシステムバス315に接続される印刷部(プリンタエンジン)317に出力情報としての画像信号を出力する。また、このROM313内のプログラムROMには、CPU312の制御プログラム等を記憶する。ROM313内のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ROM313内のデータ用ROMには、ハードディスク等の外部メモリ314がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
CPU312は入力部318を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ100に通知できる。RAM319は、CPU312の主メモリや、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM319は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ314は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ314は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、321は前述した操作パネルで、操作のためのスイッチ及びLED表示器等が配されている。
また、前述した外部メモリ314は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル321からのプリンタモード設定情報を記憶するようにしてもよい。
<電子原稿データの形式例>
編集アプリケーション104の詳細を言及する前に、ブックファイルのデータ形式を説明する。ブックファイルは紙媒体の書物を模した3層の層構造を有する。上位層は「ブック」と呼ばれ、1冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章ごとの属性が定義できる。下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各ページついてもページごとの属性が定義できる。ひとつのブックは複数の章を含んでいてよく、また、ひとつの章は複数のページを含むことができる。
一般アプリケーション101からの印刷データは電子原稿ライタ102を介して電子原稿ファイル103としてシステム上に保存される。この際、この電子原稿ファイル103には、印刷物のコンテンツデータや印刷用設定データ等が含まれる。印刷物のコンテンツデータとはユーザがアプリケーション上で作成したデータを中間データとして変換したものであり、印刷用設定データとはコンテンツデータをどのように出力するか(出力体裁等)を記述したデータである。
図3は、ブックファイルの形式の一例を模式的に示す図である。このブックファイルの形式は、印刷用設定データに基づくものである。ブックファイルにおける、ブック、章、ページは、それぞれに相当するノードにより示されている。ひとつのブックファイルはひとつのブックを含む。ブック、章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページごとのデータを実体として有する。そのため、ページは、その属性値のほか、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
図3では、ブックファイルが1つの完結したブックである必要はないので、「ブック」を「文書」として一般化して記載している。
まず、最上位に文書情報401を持つ。文書情報401は402〜404の3つのパートに大別できる。文書制御情報402は、文書ファイルのファイルシステムにおけるパス名などの情報を保持する。文書設定情報403は、ページレイアウトなどのレイアウト情報とステイプルなど印刷装置の機能設定情報を保持し、ブックの属性に相当する。章情報リスト404は、文書を構成している章の集合をリスト形式で保持する。リストが保持するのは章情報405である。
章情報405も406〜408の3つのパートに大別できる。章制御情報406は、章の名称などの情報を保持する。章設定情報407は、その章特有のページレイアウトやステイプルの情報を保持し、章の属性に相当する。章ごとに設定情報をもつことで最初の章は2UPのレイアウトその他の章は4UPのレイアウトのように複雑なレイアウトを持った文書を作成することが可能である。ページ情報リスト408は各章を構成する原稿ページの集合リスト形式で保持している。ページ情報リスト408が指示するのは、ページ情報データ409である。
ページ情報データ409も410〜412の3つのパートに大別される。ページ制御情報410は、ツリー上に表示するページ番号などの情報を保持する。ページ設定情報411は、ページ回転角やページの配置位置情報などの情報を保持し、原稿ページの属性に相当する。ページリンク情報412は、ページに対応する原稿データである。この例では、ページ情報409が直接原稿データを持つのではなく、リンク情報412だけをもち、実際の原稿データは、ページデータリスト413で保持する構成としている。
図4は、ブック属性(文書設定情報403)の例を示すリストである。通常、下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。しかし、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。なお、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
ブック属性に固有の項目は、印刷方法、製本詳細、表紙/裏表紙、インデックス紙、合紙、章区切り、多連印刷の7項目である。これらは、ブックを通して定義される項目である。印刷方法属性としては、片面印刷、両面印刷、製本印刷の3つの値を指定できる。製本印刷とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
表紙/裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
合紙属性は、章の区切りとして、インサータからあるいは給紙カセットから供給される用紙の挿入の指定、及び、合紙を挿入する場合には、給紙元の指定などを含む。
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
多連印刷属性とは、ブックとしてまとめられる電子原稿ファイルを印刷する際に、複数のページを一枚の記録媒体(用紙)上に印刷する2連印刷、4連印刷あるいは異なるページに対応する文書を一枚の用紙上の前半と後半に並べて印刷をする前半後半印刷を設定することができる。この多連印刷に関しては、後に詳細に説明するのでここでの説明は省略する。
図5は、章属性(章設定情報407)の、図6はページ属性(ページ設定情報411)の例を示すリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
章属性に関しては、章に固有の項目はなく、すべてブック属性と重複する。したがって、通常は、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。しかし、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。
ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、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によりブックファイルを開く際の手順を示すフローチャートである。
まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する(ステップS701)。新規作成の場合には、章を含まないブックファイルを新規に作成する(ステップS702)。新規に作成されるブックファイルは、図3の例で示せば、ブックノード301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインタフェース(UI)画面を表示する(ステップS704)。図8は、新規にブックファイルが作成された際のUI画面の一例である。この場合には、ブックファイルは実質的な内容を持たないために、UI画面800には何も表示されない。
一方、既存のブックファイルがあれば、指定されたブックファイルを開き(ステップS703)、そのブックファイルの構造、属性、内容に従ってユーザインタフェース(UI)画面を表示する。図9は、このUI画面の一例である。UI画面900は、ブックの構造を示すツリー部901と、印刷された状態を表示するプレビュー部902とを含む。ツリー部901には、ブックに含まれる章、各章に含まれるページが、図3のような木構造が分かるように表示される。ツリー部901に表示されるページは原稿ページである。プレビュー部902には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
さて、開かれたブックファイルには、電子原稿ライタ102によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図7の手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図8あるいは図9の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
図10に電子原稿インポートの手順例を示すフローチャートである。
まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷出力させることで、電子原稿データに変換する(ステップS801)。変換を終えたなら、変換されたデータが画像データであるか否かを判定する(ステップS802)。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行うことができる。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればJPEG圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はS8010のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、S8010の処理を省略することも可能である。
画像データでなかった場合には、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する(ステップS803)。通常、章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定されるが、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。
画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページが追加される(ステップS804)。ただし、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。通常、ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられるる。例えば、N−up指定などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。しかし、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。
図11は、図10のステップS801において、電子原稿ライタ102により電子原稿ファイルを生成させる手順を示すフローチャートである。
まず、新たな電子原稿ファイルを作成してそれを開く(ステップS901)。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタ102をデバイスドライバとして、OSの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタによって電子原稿形式のデータに変換し、出力する(ステップS902)。出力先はステップS901で開いた電子原稿ファイルである。指定されたデータすべてについて変換が終了したか判定し(ステップS903)、終了していれば電子原稿ファイルを閉じる(ステップS904)。電子原稿ライタ102によって生成される電子原稿ファイルは、図3に示した、原稿ページデータの実体を含むファイルである。
(ブックファイルの編集例)
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
(1)新規追加
(2)削除
(3)コピー
(4)切り取り
(5)貼り付け
(6)移動
(7)章名称変更
(8)ページ番号名称振り直し
(9)表紙挿入
(10)合紙挿入
(11)インデックス紙挿入
(12)各原稿ページに対するページレイアウト。
このほか、一旦行った編集操作を取り消す操作や、さらに取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などといった編集操作が可能となる。これらの操作を行うと、図4乃至図6に示す属性に操作結果が反映されたり、あるいはブックファイルの構造に反映される。たとえば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。本例における、編集時の表示及び操作例については、以下で詳細に示す。
(ブックファイルの出力例)
以上のように作成・編集されるブックファイルは印刷出力を最終目的としている。利用者が図9に示す製本アプリケーションのUI画面900からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション104は、現在開かれているブックファイルからジョブチケットを作成して電子原稿デスプーラ105に渡す。電子原稿デスプーラ105は、ジョブチケットをOSの出力コマンド、例えばウインドウズ(登録商標)のGDIコマンドに変換し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、指定されたプリンタドライバ106によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
すなわち、図示しない出力モジュールのグラフィックエンジンは、印刷装置ごとに用意されたプリンタドライバ106を外部メモリ211からRAM202にロードし、出力をプリンタドライバ106に設定する。そして、出力モジュールは、受け取ったGDI(Graphic Device Interface)関数からDDI(Device Driver Interface)関数に変換して、プリンタドライバ106へDDI関数を出力する。プリンタドライバ106は、出力モジュールから受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM202にロードされたシステムスプーラを経てインタフェース21経由でプリンタ107へ印刷データとして出力される仕組みとなっている。
ここで、ジョブチケットは、原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷、あるいは、多連印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子や、プリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
ジョブチケットのデータ構造の例を図12に示す。印刷用のデータでは、文書は用紙の集合で構成されており、各用紙は表、裏の2面で構成されており、各面は原稿をレイアウトする領域(物理ページ)を持ち、各物理ページには、最小単位である原稿ページの集合から構成される。1101は文書に相当するデータで、文書全体に関係するデータと、文書を構成する用紙情報のリストから構成される。用紙情報1102は用紙サイズなど用紙に関する情報と用紙上に配置される面情報のリストから構成される。面情報1103は、面に固有のデータと、面上に配置される物理ページのリストから構成される。物理ページ情報1104は、物理ページのサイズやヘッダ・フッタなどの情報と、物理ページを構成する原稿ページのリストから構成される。
電子原稿デスプーラ105は、電子原稿ファイルのジョブチケットをデスプールテーブルというテーブル(図12のジョブチケットをテーブルとして表現したものに相当する。)を作成し、編集情報ファイルに定義された属性や印刷設定に応じて、そのデスプールテーブルを出力モジュールへの出力コマンドに変換する。
(プレビュー表示の内容例)
すでに説明したとおり、ブックファイルが製本アプリケーションによって開かれると、図9に示すユーザインタフェース画面900が表示される。ツリー部901には、開いているブック(以下、「注目ブック」と呼ぶ。)の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、3通りの表示方法が用意されている。第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。プレビュー部の表示にレイアウトは反映されない。第2は印刷ビューモードである。印刷ビューモードでは、プレビュー部902には、原稿ページのレイアウトが反映された形で原稿ページが表示される。第3は簡易印刷ビューモードである。簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
<他の文書処理システムの構成例>
上記実施形態の文書処理システムはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルが作成・編集される。ただし、ブックファイルや印刷処理はサーバによって管理される。
図13はサーバクライアント型文書処理システムの構成を示すブロック図である。クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるDOMS(Document Output Management Service:文書出力管理サービス)ドライバ109及びDOMSプリントサービスモジュール110、DS(文書サービス)クライアントモジュール108を加えた構成を有する。このクライアント文書処理システム1200に、文書管理サーバ1201及び印刷集中管理サーバ1202及びプリントサーバ1203が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。尚、図13では文書管理サーバ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は、クライアントのプリンタで印刷する場合にはクライアントのDOMSプリントサービスモジュール110を介して電子原稿デスプーラ105に電子原稿データを渡し、プリントサーバ1203により印刷する場合には、プリントサーバ1203のDOMSプリントサービスモジュール1203に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
[本実施形態の文書処理システムの編集操作例]
上記図9は、製本アプリケーション104の操作画面である。製本アプリケーションは、文書のページ順の入れ替えや複製、削除などの編集に加え、ステイプルなどの印刷装置の機能設定も行うことができ、指定した印刷装置に印刷することが可能である。図9の左側の領域には、文書の構造を示すツリービューが表示されている。文書は、章の集合で構成されており、各章は原稿ページの集合で構成されている。図9の右側の領域には、各ページの印刷プレビューが表示されている。
<本実施形態の文書処理システムの属性設定例>
図14は、製本アプリケーション104の「文書の詳細設定」ウインドウ1400を示している。このウインドウでは、「文書設定情報403」を表示/設定することができる。このウインドウは、図9のアプリケーション操作画面にあるPrint Formメニューの「Detailed Setting for Document」メニューあるいはツールバー上の「Detailed Setting for Document」ボタンから起動される。「文書の詳細設定」ウインドウは、文書全体に影響する属性の設定を行うためのウインドウである。このウインドウは、Page Setup、Decoration、Edit、Paper Sourceの4つのシートから構成されており、図14は、Page Setupシートを表示した状態を示している。このPage Setupシートでは、主にレイアウトに関する設定を行うことができ、用紙サイズや向き、Nページ印刷などの設定を指示することができる。このウインドウには、ズームに関するチェックボックスコントロール1401、1402が配置されている。
図15は、製本アプリケーション104の「章の詳細設定」ウインドウ1500を示している。このウインドウでは、「章設定情報407」を表示/設定することができる。このウインドウは、図9のアプリケーション操作画面にあるPrint Formメニューの「Detailed Setting for Chapter」メニューあるいはツールバー上の「Detailed Setting for Chapter」ボタンから起動される。「章の詳細設定」ウインドウは、章固有の属性の設定を行うためのウインドウである。このウインドウは、Page Setup、Decoration、Edit、Paper Sourceの4つのシートから構成されており、図15は、Page Setupシートを表示した状態を示している。このPage Setupシートでは、主に各章で固有のレイアウトに関する設定を行うことができ、用紙サイズや向き、Nページ印刷などの設定を指示することができる。「文書の詳細設定」と「章の詳細設定」で重複する設定項目については「Follow Book Attribute」のチェックボックスコントロール1501、1502、1503を配置して
いる。このチェックボックスにチェックが入っている項目グループについては、文書の設定値をその章にも適用する。このチェックをはずした場合については、次の図16に示す。章固有の設定としては2種類に分類できる。一つは章でしか持たない設定項目である。もう一つは、上位階層の文書とは異なる独自の設定値を章の階層で保持している場合である。
図16は、図15の「章の詳細設定」でチェックボックスコントロール1501、1502のチェックをはずした状態である。この場合、文書の全体がA3用紙を使っている場合でも、この章を構成するページはA4用紙サイズとする。またレイアウトも、文書では1Page Par Sheetであっても、この章は4 Page Per Sheetでレイアウトするという指定である。「MS Arrange」については、チェックがついているので、上位階層である文書の設定値をこの章の設定値として使う。
図17は、製本アプリケーション104の「ページの詳細設定」ウインドウ1700を示している。このウインドウでは、「ページ設定情報411」を表示/設定することができる。このウインドウは、図9のアプリケーション操作画面にあるPrint Formメニューの「Detailed Setting for Page」メニューあるいはツールバー上の「Detailed Setting for Page」ボタンから起動される。「ページの詳細設定」ウインドウは、各ページで固有の属性の設定を行うためのウインドウである。このウインドウは、Page Setup、Editの2つのシートから構成されており、図17は、Page Setupシートを表示した状態を示している。このPage Setupシートでは、主に各ページで固有のレイアウトに関する設定を行うことができ、原稿ページを配置する際の回転角や拡縮率などの設定を指示することができる。「章の詳細設定」と「ページの詳細設定」で重複する設定項目については「Follow Chapter Attribute」のチェックボックスコントロール1701を配置している。このチェックボックスにチェックが入っている項目については、章の設定値をそのページにも適用する。このチェックをはずした場合については、次の図18に示す。
図18は、図17の「ページの詳細設定」でPage Loatationの設定を変更した状態を示している。コントロール1701で、原稿ページをレイアウトする際にページの上が左になるように回転して配置する設定にしている。この項目については「Follow Chapter Attribute」のチェックボックスが無いので、章や文書に重複する設定項目が無いので、このウインドウに表示されている設定が常にページの設定値となる。1701のチェックがある場合、例えば「Arrange」の項目は、章にも重複する設定項目があるので章の設定値をページの設定値とする。章で該当する「Arrange」の項目が「Follor Book Attribute」のチェックがある場合、章の設定値は上位階層である文書の設置値を使うので結局ページの設定値は文書の設定値を使うことになる。章で該当する項目のチェックが外れている場合、章固有の設定値を持っているので、ページの設定値はその章固有の設定値を使う。
尚、上記設定画面で設定されたチェックボックスコントロールの情報は、専用の領域に保持されてもよいが、図3に示した設定情報内に属性の1つとして保持するのが望ましい。この場合には、図5及び図6にチェックボックスコントロールの情報を保持する領域が追加される。
<本実施形態の文書処理システムの文書編集の表示例>
上位階層と重複する設定項目を上位階層の設定値を使わないようにした場合、つまり、チェックボックスコントロール1501や1701のチェックをはずした場合のアプリケーションの表示形式を、図19に示す。
図19の例では、文書は二つの章からなり、各章は9ページの原稿データを持っている。最初の章のレイアウトを4UP(4in1とも表記する)に、2番目の章の先頭ページ(文書全体では10ページ目)に回転を指定した場合の表示例である。右側のプレビューにおいて、1〜3ページ目には1ページ上に4つの原稿がそれぞれ配置されている様子が表示されている。そして、第4ページ目のデータである「A」の文字が回転している様子が表示されている。ツリービューでの章やページ固有の設定を行った場合の表示形式を説明する。最初の章に対するアイコン1901が変化して、この章に章独自の設定がなされていることを示している。2番目の章の先頭ページに対するアイコン1902が変化して、このページに特別な設定がなされていることが示されている。
<本実施形態における文書処理装置で実行する用紙サイズ混載原稿の多連印刷>
次に、本実施形態にかかる文書処理装置において実行する多連印刷ついて説明する。まず、図20、21、22を用いて製本アプリケーション104が提供する多連印刷について説明する。
図20は、製本アプリケーション104の「ドキュメントの詳細設定」ウィンドウの「仕上げ」シート2000を例示する図であり、印刷方法として多連印刷を適用するためには、プルダウンメニュー2001(図20(b)を参照)の表示から「しない/2連印刷/4連印刷/前半後半印刷」、何れかをユーザは選択することができる。プルダウンメニュー2001の表示のうちから「2連印刷/4連印刷/前半後半印刷」いずれかをユーザが選択すると、属性情報生成ユニット212は、その選択に応じて文書の属性情報を生成し、あるいは更新をする。2連印刷、4連印刷、前半後半印刷において、ユーザが装置を操作する際、印刷体裁に関する詳細な条件設定が容易となり、印刷体裁として選択可能な出力のバリエーションを増やすことが可能になる。
ここで、属性情報生成ユニット212が生成、更新した属性情報は、文書設定情報403(図3、図4のNo.15)に反映される。製本アプリケーション104はページの面つけを実行する際、この属性情報を参照する。尚、属性情報生成ユニット212は、ハードウエア資源としてホストコンピュータ100に構成する他、ユーザによるキーボード209からの選択入力に応じて起動するソフトウエアモジュールとしてプログラムROM203や外部メモリ211に格納するようにしてもよい。
図20の画面表示中、2002及び2003の入力エリアは、多連印刷として選択した2連印刷、4連印刷、前半後半印刷のいずれかの印刷後に用紙を裁断する切り口を揃えるための設定をするための入力エリアである。
図21は、製本アプリケーション104における「ドキュメントの詳細設定」ウィンドウの「ページ設定」シート2100を例示する図である。ページ設定シート中のエリア2101は出力用紙サイズを選択するためのエリアである。図21の例では、「A4(A5原稿×2)」が選択された状態を示しており、この設定に基づき製本アプリケーション104はA4サイズの用紙に対して、A5サイズの原稿を2連に面つけする。また、図22は図21のエリア2101にプルダウンメニューとして表示される具体的な出力用紙サイズの表示例を示す図である。多連印刷における用紙設定は、図21で示したA4サイズにA5サイズの原稿を2連に面つけする場合に限られず、例えば、図22に示すように種々の用紙サイズを選択して行うことが可能である。例えば、2連印刷用としてB4サイズの用紙を選択した場合、属性情報生成ユニット212は、その選択に応じて文書の属性情報として、出力用紙の向き(縦か横か)、出力用紙のサイズに関する属性情報を生成し、あるいは更新して文書設定情報403に反映する。この場合、製本アプリケーション104は、属性情報に応じて新たに選択されたB4サイズの出力用紙にB5サイズの原稿を2連に面つけすることができる。
ユーザが装置を操作する際、印刷体裁に関する出力用紙の向きや用紙のサイズの選択に関する条件設定を容易に行うことが可能になる。
図23は実際に原稿ページとしてA、B、Cを含む原稿において、多連印刷を実行した場合の多連印刷結果を概略的に示す図である。図23(a)は、図21の設定画面において、出力用紙の向きが横と設定されている場合に、図20のエリア2001において、4連印刷が選択された場合の印刷結果を示す図であり、製本印刷アプリケーション104は4連印刷時には同一原稿を一枚の用紙に4つずつ面つけする。また、図23(c)は、図21の設定画面で出力用紙の向きが縦と設定されている場合の4連印刷の例を示しており、製本印刷アプリケーション104は、同一原稿を縦方向の一枚の用紙に4つずつ面つけをする。図23(b)は、図21の設定画面において、出力用紙の向きが横と設定されている場合に、2連印刷が選択された場合であり、図23(d)は、出力用紙の向きが縦と設定されている場合に、2連印刷が選択された場合の面つけの例を示している。
原稿ページA、B、Cはそれぞれ、一枚の用紙において、設定された面つけ数(2連印刷か、4連印刷)、出力用紙の向き(縦、横)に基づき、製本アプリケーション104の制御の下に面つけされる。
次に、図24のフローチャートを用いて、図20、21のユーザインターフェース(UI)(図20の2001、2002、2003、図21の2101)において多連印刷設定が行われたドキュメントに対し、製本アプリケーション104において印刷を実行する処理の流れを説明する。
製本アプリケーション104で印刷が実行されると、まず、図24のステップS2401において、文書設定情報403(多連印刷設定情報を含む(図4を参照))を取得する。そして、ステップS2402において、印刷対象のドキュメントに対して多連印刷が設定されているかどうかを判定し、多連印刷が設定されていると判断されたら(S2402-YES)、次のステップS2403に処理を進め、前半後半印刷が設定されているかを判定する(「前半後半印刷」とは、多連印刷機能の一つで、詳細については後述するためここでは説明を省略する)。そして、ステップS2403で前半後半印刷が設定されていないと判断した場合(S2403-NO)、処理をステップS2404に進め、通常の多連印刷処理が行われる。また、S2403において前半後半印刷が設定されていると判断された場合(S2403-YES)、処理をステップS2405に進め、多連印刷の一つである前半後半印刷処理が行われる。一方、ステップS2402において、多連印刷が設定されていなければ(S2402-NO)、処理をステップS2406に進め、通常の印刷処理が行われることになる。
次に、製本アプリケーション104が実行する図24のステップS2404にあたる、多連印刷処理の詳細を図25のフローチャートを用いて説明する。ここでは、例として、図20のエリア2001において、多連印刷として「2連印刷」が設定されている場合について説明する。
まず、ステップS2501で物理ページカウンタKの初期値をセットする。そして、ステップS2502に進み、物理ページカウンタKを一つ進め(K++)、ステップS2503において、Kページ目のドキュメントを読み込む。そして、続くステップS2504で出力用紙方向が縦に設定されているか否かを判定し、縦方向として出力用紙の向きが設定されている場合(S2504-YES)、処理をステップS2506に進め、製本アプリケーション104は出力用紙に対して上下に2連で面つけする。
一方、ステップS2504において、出力用紙の方向が横向きだと判定された場合(S2504-NO)、処理をステップS2505に進め、出力用紙に対して、製本アプリケーション104は左右2連で面つけする。
ステップS2505またはステップS2506において面つけが終わったら、処理を次のステップS2507に進め、製本アプリケーション104はKページ目の印刷処理を行う。そして、続くステップS2508において、Kページ目が印刷対象のドキュメントの最終ページかどうかの判定を行い、最終ページでなければ(S2508-NO)、再び処理をステップS2502に戻し、次ページの印刷処理に移行する。そして同様の処理を、全ページ分終わるまで繰り返す。
このようにして、2連印刷の印刷処理が行われる。ここでは、例として、2連印刷について説明したが、4連印刷の場合には、図25のステップS2505、ステップS2506の部分が、それぞれ4連での面つけが行われることになる。
以上を踏まえて、本発明の実施形態における用紙サイズが混載された原稿に対する多連印刷について説明する。
<用紙サイズ混載原稿の多連印刷制御>
図26は、本発明の実施形態において、製本アプリケーション104が表示制御する「ドキュメントの詳細設定」ウィンドウの「仕上げ」シートのユーザーインターフェース画面を例示する図である。図26のインタフェース画面からは多連印刷の種類として、異なる用紙サイズ(A5、A4)混載の原稿を対象とした多連印刷を指示することができる(2601:図20の画面とはこの点において相違する)。ここでは、「2連印刷(A5×A4用紙混載)」を選択されているが、他にも「2連印刷(A4×A3用紙混載)」や「2連印刷「B5×B4用紙混載」」などの多連印刷を選択することができる。ここで用紙混載による多連印刷が選択されると、属性情報生成ユニット212は、その選択に応じて文書の属性情報を生成し、あるいは更新をする。
図27は印刷対象となる用紙混載原稿の例を示す図であり、用紙混載原稿は、A5サイズのページ3枚((1)、(2)、(4)ページ目)とA4サイズのページ1枚((3)ページ目)より構成される。このような用紙サイズ混載原稿に対し、図26で設定した「2連印刷(A5×A4用紙混載)」を実行した場合には、図28に示すような面つけ結果になる。すなわち、A5サイズの(1)、(2)、(4)ページは、A4用紙に2連で面づけされ(2801)、これらの用紙はプリンタ107の同一排紙口より排紙される。一方、A4サイズの(3)ページ目は、A3用紙に2連で面つけされ、この用紙はプリンタ107の別の排紙口より排紙される。このように、「出力用紙サイズ」の設定によって、製本アプリケーション104は多連印刷における面付けを制御し、プリンタドライバ106はこの面つけ制御に応じて排紙方法を自動で切り替えることができる。
また、図29で示す例のように、A3サイズの(3)ページ目に相当するページ部分には、色紙(または別サイズの用紙でもよい)を挿入することで、別の排紙口で排紙されたA3サイズの原稿を挿入する印刷後のマージ作業を容易にすることも可能である。この場合、プリンタドライバ106は、製本アプリケーション104の面つけ制御に応じて、排紙口を分けた用紙に対するマージ位置の特定を容易にする色紙等の給紙を制御することができる。
続いて、図30のフローチャートを参照して、上述の多連印刷処理の流れを説明する。ここで図30は、図24のステップS2404の具体的な処理の例に相当し、製本アプリケーション104が多連印刷における面つけ制御を実行し、プリンタドライバ106が、その面つけ制御の結果に従ってプリンタ107を制御して、多連印刷を実行する。
まず、ステップS3001で、製本アプリケーション104は、ぺージカウンタKの初期値を0にセットする。そして、ステップS3002で、カウントを1つ進め(K++)、ステップS3003において、製本アプリケーション104はKページ目の設定されている情報の読込みを行う。
そして、製本アプリケーション104は、次のステップS3004において、Kページ目の原稿の用紙サイズを、読み込んだ情報に基づいて判定する。
ステップS3005において、用紙サイズが「A5」であると判定した場合には(S3005-YES)、処理をステップS3006に進め、出力用紙サイズをA4に設定し、ステップS3007で現在のページ(K)を設定したA4用紙の左右に2連で面つけする。
次のステップS3008において、プリンタドライバ106は、上記の面つけ結果に基づいて1物理ページの印刷処理をプリンタ107に実行させ、プリンタ107は、この印刷処理の結果をプリンタ107の通常の排紙口(1)(ここでは通常排紙口を(1)とし、それ以外を排紙口(2)、(3)で表すものとする)より排紙する(S3008)。
一方、ステップS3004で、製本アプリケーション104が、用紙のサイズがA5以外であると判断した場合(S3005−NO)、処理をステップS3010に進め、製本アプリケーション104が現在のページ(K)をA4サイズと判定した場合には(S3010-YES)、処理をステップS3011に進める。製本アプリケーション104は、ステップS3011で現在の原稿ページデータを一時的に記憶領域に退避させ、ステップS3012において、合紙の挿入設定を行う。この合紙は、排紙口(1)に排紙される第1のページサイズに対応する面つけ結果に(S3009)、排紙口(2)または排紙口(3)に排紙される第2のページサイズに対応する面つけ結果を挿入するページ位置を識別するためのものである。
そして、ステップS3013において、製本アプリケーション104は、ステップS3012で設定した合紙の用紙サイズをA4に設定し、ステップS3014において排紙口(1)から合紙を排紙するように設定する。
ここで、ステップS3012、S3013において、製本アプリケーション104が設定する合紙は、排紙口(1)に排紙されるページサイズと同一のものに限らず、別サイズのものを挿入するように設定することも可能であり、また、マージ作業において該当ページを識別し易くするために、色紙を合紙として挿入することも可能である。
次に、処理をステップS3015に処理を進め、製本アプリケーション104は、ステップS3011で退避させたA4のページデータを面つけするために、用紙サイズをA3に設定し、ステップS3011の処理で退避させたA4のデータを、設定したA3用紙の左右に2連で面付けを行う(S3016)。
次に、ステップS3017において、製本アプリケーション104は、ステップS3016の面つけ結果を出力するために、プリンタの排紙口を(2)に変更する。
ステップS3018において、プリンタドライバ106は、上記の面つけ結果に基づいて1物理ページの印刷処理をプリンタ107に実行させ、プリンタ107は、この印刷処理の結果をプリンタ107の通常の排紙口(2)より排紙する。
ステップS3010で、製本アプリケーション104がKページ目をA4(A5)以外と判断した場合には処理をステップS3016に進め、現在のページ(K)の用紙サイズがB5である場合(S3019−YES)、製本アプリケーション104は、処理をステップS3020に進め、以下、先に説明したステップS3011〜S3018の処理と同様の処理を実行する。この際、製本アプリケーション104は、排紙口を用紙サイズごとに区別するために、B5サイズのページを2連に面つけしたB4の用紙を排紙口(3)に設定する(S3026)。ステップS3027において、Kページ目の印刷処理を行う。プリンタドライバ106は、B4サイズの用紙に2連の面つけがされた1物理ページの印刷処理をプリンタ107に実行させ、プリンタ107は、この印刷処理の結果をプリンタ107の排紙口(3)に排紙する。
ステップS3028において、製本アプリケーション104は、現在のKページが最終ページかどうかを判定し、最終ページでない場合には(S3028−NO)、再び処理をステップS3002に戻し、K+1ページ目の面つけ処理を実行し、最終ページの面つけが終了するまで実行する(S3028−YES)。
以上説明した図30のフローチャートにより、用紙サイズの異なる混載原稿に対する多連印刷処理において、同一用紙サイズ原稿は同じ排紙口より出力し、他の用紙サイズのものは別の排紙口より排紙することで、異なるページサイズの面つけ結果を区別して出力することが可能になる。
また、マージするページを識別するための合紙を挿入することで、印刷後のマージ作業を容易にすることが可能になる。
尚、図30のフローチャートにおいて、用紙サイズの選択は、文書に設定されている用紙サイズの情報に基づいて、面つけをするための用紙サイズを製本アプリケーション104が設定していたが、用紙サイズの設定はこの実施形態に限定されるものではなく、例えば、ユーザがキーボード(KB)209等の入力手段を介して指定した用紙サイズに基づいて、製本アプリケーション104が面つけをするようにしてもよい。
例えば、出力用の用紙サイズとしてA3が設定された場合、製本アプリケーション104は、A4のページサイズの文書を2連に面つけをし、また、製本アプリケーション104は、A5のページサイズの文書の場合は、A5をA4に論理ページを拡大してA3の用紙に2連の面つけをするようししてもよい。
製本アプリケーション104は、ページデータをレイアウトするための用紙を設定するために、指定された用紙サイズの情報、または、属性情報として設定されているページサイズの情報のうち、いずれかの情報を選択的に使用して、用紙を設定することができる。
<用紙サイズによる自動N連切り替え>
続いて、用紙混載原稿における多連印刷の別実施形態である原稿用紙サイズによる自動N連切り替え処理について、図31、32を参照しつつ説明する。
図31は、用紙サイズによる自動N連切り替え処理を適用する用紙混載原稿を例示する図であり、A3サイズ((2)ページ)とA4サイズ((1)、(3)、(4)、(5)ページ)の原稿から構成されている。
図26におけるインタフェース画面において、「2連印刷(A4×A3用紙混載)」を選択した場合(2601)、製本アプリケーション104は、各ページの属性情報に基づいて、図31の原稿を図32に示すように面つけをし、自動N連切り替えを実行する。ここで、製本アプリケーション104は、文書に含まれる最大の用紙サイズ(図31の場合はA3)に基づいて、このサイズより小さいページサイズのページデータには複数ページ分をレイアウトするN連とし、A3のページサイズ(最大の用紙サイズ)に該当するページデータは該当ページ分のみをA3の用紙にレイアウトする(1連)。
図32に示すように、製本アプリケーション104は、A4サイズの原稿(1)、(3)、(4)、(5)ページを、通常の2連印刷と同じように、A3サイズの用紙左右2面に面付けする一方で、A3サイズの原稿(2)ページ目はA3サイズに1連(多連なし)で面つけをする。このように各原稿の用紙サイズによって、製本アプリケーション104は、1連・・・N連などの面付け制御を自動で切り替え、すべての用紙がA3にあわせて印刷できるように面つけを行う。
また、図26のインタフェース画面において「2連印刷(A5×A4用紙混載)」、「2連印刷(B5×B4用紙混載)」が選択された場合にも同様に、製本アプリケーション104は、選択された原稿用紙サイズによって面付け方法を切り替え、すべて同一サイズの用紙で出力できるように面つけ制御を行うことができる。
次に、図33のフローチャートを参照して、用紙サイズによる自動N連切り替え処理の具体的な処理の流れを説明する。ここで図33は、図24のステップS2404の具体的な処理の例に相当し、製本アプリケーション104が自動N連切り替え処理における面つけ制御を実行し、プリンタドライバ106が、その面つけ制御の結果に従ってプリンタ107を制御する。
まず、ステップS3301で、製本アプリケーション104は、ページカウントKの初期値を0にセットする。そして、ステップS3302で、文書設定情報403より、多連印刷に関する設定情報(属性情報)を取得する。そして、ステップS3303に処理を進め、図26のインタフェース画面2601において、製本アプリケーション104は「2連印刷(A4/A3用紙混載)」が設定されていると判断した場合(S3303−YES)、処理をステップS3304に進め、A4/A3用紙混載用の多連印刷処理を開始する。
まず、ステップS3304で、製本アプリケーションはページカウントKを1つ進め(K++)、ステップS3305で、Kページ目の読込みを行う。続く、ステップS3306において、製本アプリケーション104は出力用紙サイズをA3に設定し、ステップS3307においてKページ目の用紙サイズの判定を行う。
ステップS3308の判定処理において、製本アプリケーション104は、用紙サイズをA4と判断した場合(S3308-YES)、A3の用紙に対してA4のページを左右に2連で面付けする(S3309)。一方、ステップS3308において、製本アプリケーション104がページのサイズをA4以外(ここではA3となる)と判断した場合(S3308−No)、処理をステップS3313に進め、1連(多連なし)で面付けを行う。そして、処理をステップS3311に進み、プリンタドライバ106は、製本アプリケーション104により面付けが終わったKページ目の印刷処理をプリンタ107を制御して実行する。
ステップS3312において、製本アプリケーション104は、現在のページ(K)が最終ページであるかどうかを判定し、最終ページでない場合には(S3312-NO)、ステップS3304に処理を戻し、K+1ページ目の面付け処理に移行し、同様の処理を最終ページの面つけ終了まで繰り返す。
一方、ステップS3303において、「2連印刷(A4/A3用紙混載)」が選択されていない場合(S3303-NO)、製本アプリケーション104は、ステップS3314に処理を進め、「2連印刷(A5/A4用紙混載)」が選択されているか否かを判断する。
ステップS3314において、製本アプリケーション104は「2連印刷(A5/A4用紙混載)」が選択されていると判断した場合(S3314-YES)、処理をステップS3315に進め、ページカウントをKを1つカウントアップする(K++)。
ステップS3316で、製本アプリケーション104は、Kページ目に関するデータを読み込み、ステップS3317で、出力用紙サイズをA4に設定する。
ステップS3318において、製本アプリケーション104は、Kページ目の用紙サイズの判定を行う。ステップS3319において、製本アプリケーション104がKページ目をA5サイズと判断した場合(S3319-YES)、処理をステップS3320に進めて、製本アプリケーション104は、A4サイズの用紙にA5のページを左右に2連で面付けする。一方、ステップS3319において、製本アプリケーション104がA5以外(ここではA4となる)だと判断した場合(S3319-NO)、処理をステップS3321に進めて、1連(多連なし)の面付けを行う。
そして、処理をステップS3311に進み、プリンタドライバ106は、製本アプリケーション104により面付けが終わったKページ目の印刷処理をプリンタ107に実行させる。
ステップS3314の判断で、製本アプリケーション104が、「2連印刷(A5/A4用紙混載)」が選択されていないと判断する場合は(S3314-NO)、処理をステップS3322に進める。ステップS3322において、「2連印刷(B5/B4用紙混載)」が選択されている場合(S3322-YES)、製本アプリケーション104は、処理をステップS3323に進め、ページカウントKを1つカウントアップする(K++)。
ステップS3324で、製本アプリケーション104は、Kページ目に関するデータを読み込み、ステップS3325で、出力用紙サイズをB4に設定する。
ステップS3327において、製本アプリケーション104は、Kページ目の用紙サイズの判定を行う。ステップS3328において、製本アプリケーション104がKページ目をB5サイズと判断した場合(S3328-YES)、処理をステップS3329に進めて、製本アプリケーション104は、B4サイズの用紙にB5のページを左右に2連で面付けする。一方、ステップS3328において、製本アプリケーション104がB5以外(ここではB4となる)だと判断した場合(S3328-NO)、処理をステップS3330に進めて、1連(多連なし)の面付けを行う。
そして、処理をステップS3311に進み、プリンタドライバ106は、製本アプリケーション104により面付けが終わったKページ目の印刷処理をプリンタ107に実行させる。
以上のように、図33のフローチャートに従った多連印刷において、自動N連印刷の設定が行われている場合には、入力原稿用紙サイズにかかわらず、同一の用紙サイズに自動で切り替えて印刷することが可能になる。これにより、ユーザは用紙サイズにあわせて各ページを個別に面付け指定する必要がなく、容易な設定で同一の用紙サイズにすべてのページをあわせて印刷することが可能となる。
<片面/両面切り替え印刷設定時における多連印刷>
次に、「片面/両面切り替え印刷」が設定されている場合における本発明の実施形態にかかる多連印刷ついて説明する。ここで、「片面/両面切り替え印刷」は、製本アプリケーション104が提供している機能であり、原稿が片面であるか、両面であるかに応じて自動で印刷方法を片面/両面に切り替えるという機能である。
図34は、片面/両面切り替え印刷を適用する元原稿を例示する図であり、全てがA4サイズの原稿である。A4サイズの両面原稿と片面原稿が混載している原稿に対し、「片面/両面切り替え印刷」が設定されて、これらの原稿に2連印刷を実行すると、図35のような出力結果になる。図35に示すように、元の原稿で片面のページ(C、Fが対応する)部分は、裏面に相当する部分を空白とすることで、印刷後の裁断後も正しい出力結果を得ることができる。
次に、「片面/両面切り替え印刷」が設定されている場合に多連印刷を実行する処理の流れを図36のフローチャートを参照しつつ説明する。
まず、ステップS3601で、製本アプリケーション104は、論理ページカウンタKと、用紙カウンタPに初期値0をセットする。続くステップS3602で、製本アプリケーション104は、両ページカウンタを1つカウントアップし(K++、P++)、次のステップS3603で、製本アプリケーション104は、Kページ目に関して設定されている属性情報を読み込む。
ステップS3604で、製本アプリケーション104は、Kページ目が両面原稿かどうかを判定する。ステップS3604の判定において、Kページ目が両面原稿の場合(S3604-YES)、処理をステップS3605に進め、用紙サイズをA3(原稿のページサイズは全てA4(図34)なので、多連印刷において用紙サイズはA3になる。)に設定する。
ステップS3606で、製本アプリケーション104は、Kページ目(元原稿の表ページ:両面原稿の第1ページ)を用紙カウンタP枚目の表面左右に2連で面付けする。そして、処理をステップS3607に進め、製本アプリケーション104は、K+1ページ目(元原稿の裏ページ:両面原稿の第2ページ)を用紙カウンタP枚目の裏面左右に2連で面付けを行う。以上のステップにより用紙カウンタPにおける面つけが完了する。
ステップS3610で、製本アプリケーション104により面つけされた用紙カウンタP枚目の印刷を、プリンタドライバ106が実行する。
一方、ステップS3604で、製本アプリケーション104はKページ目が片面原稿だと判定した場合(S3604-NO)、処理をステップS3608に進め、用紙サイズをA3に設定し、ステップS3609において論理ページカウンタKページ目(元原稿の表ページ)を用紙カウンタP枚目の表面左右に2連で面付けをする(裏面は何ら面つけを行わずに空白とする。)。
ステップS3609の後、処理をステップS3610に進め、製本アプリケーション104により面つけされた用紙カウンタP枚目の印刷を、プリンタドライバ106が実行する。以上の処理を全ページに対して終了するまで繰り返し行い、片面/両面切り替え印刷における多連印刷処理を終了する。
図36のフローチャートに従うことで、製本アプリケーション104は、片面または両面原稿の設定がされている各ページに対して、表面、裏面の関係を維持しつつ、多連印刷を適用することが可能になる。これにより、印刷後における用紙の表面、裏面のページの関係がずれることなく、正しいページの面つけを行い、その出力結果を得ることができるようになる。
<片面/両面切り替え印刷適用時における前半後半印刷>
続いて、「片面/両面切り替え印刷」が設定されているときに、前半後半印刷を適用する場合について説明する。
ここで、「前半後半印刷」とは、印刷後、出力用紙の裁断を前提とし、一枚の用紙上の印刷可能な領域に、異なるページの文書データを配置して文書を一枚の用紙上の異なる印刷領域に並べて印刷する印刷をする印刷方式をいう。
図37は片面の2連印刷で出力用紙の向きが横方法の場合における前半後半印刷実行時の各ページの面つけレイアウトを説明する図である。出力用紙の印刷領域は、左側(半分)と右側(半分)であり、製本アプリケーション104は1枚目の用紙の左側にドキュメントの最初のページに対応する1物理ページ目を面つけする。そして、この1物理ページに続く2物理ページ目は、用紙の2枚目の左側に面つけされる。全ページ数をNとした場合、製本アプリケーション104は(N/2)物理ページ目までを用紙の左側に面つけする。ここで、(N/2)物理ページが面つけされる出力用紙が最終用紙になる。文書(あるいは章)の総ページ数がNの場合、文書の前半に相当するページは第1ページからN/2ページになる。製本アプリケーション104は、文書(あるいは章)の総ページ数を、例えば、文書設定情報403(あるいは章設定情報407)を参照することにより取得することができる。
一方、文書の後半に相当するページは(N/2+1)から最終ページとなる。製本アプリケーション104は、出力用紙の1枚目の右側に、(N/2+1)物理ページ目を面つけし、以降、j枚目の用紙の右側に、(N/2+1)+j物理ページを面つけする。Nが偶数の場合は、最終の用紙の右側にはN物理ページ目が面つけされ、Nが奇数の場合は、最終用紙の右側は空白として残ることになる。
裁断後に印刷されたドキュメント全体における前半部分(用紙の左側に面つけされている部分)、ドキュメント全体における後半部分(用紙の右側に面つけされている部分)のページを重ねることで、所定のページ数(全Nページ)を、全ページ数(N)の半分の出力用紙数(N/2枚)で印刷することができる。
尚、ページの面つけを行う用紙の右側、左側の関係は、説明の便宜上のものであり、本発明の趣旨が、用紙に面つけされる左右の関係に限定されるものではない。
例えば、片面の2連印刷で出力用紙の向きが縦方法の場合における前半後半印刷実行時の各ページの面つけは、製本アプリケーション104の制御の下、用紙の上側及び下側に該当する物理ページがレイアウトされることになる。
図38は、両面の2連印刷で出力用紙の向きが横方法の場合における前半後半印刷実行時の各ページの面つけレイアウトを説明する図である。製本アプリケーション104は、図26の場合と同様に、出力用紙の印刷領域として、左側(半分)と右側(半分)を想定した場合、1枚目の用紙の左側表面にドキュメントの最初のページに対応する1物理ページ目を面つけする。そして、製本アプリケーション104は、この1物理ページに続く2物理ページ目を1枚目の用紙の左側裏面に面つけする。製本アプリケーション104は、連続する物理ページを各用紙の表面、裏面に面つけし、全ページ数をNとした場合、(N/2)物理ページ目までを用紙の左側裏面に面つけする。ここで、(N/2)物理ページが面つけされる出力用紙が最終用紙になる。
一方、製本アプリケーション104は、出力用紙の1枚目の右側表面に、(N/2+1)物理ページ目を面つけし、以降最終用紙まで、各用紙の表面、裏面に物理ページを面つけする。Nが偶数の場合は、最終の用紙の右側裏面にはN物理ページ目が面つけされ、Nが奇数の場合は、最終用紙の右側裏面は空白として残ることになる。
図39(a)は、図37で説明した製本アプリケーション104による片面の2連印刷で出力用紙の向きが横方向の場合における前半後半印刷実行時における面つけを実行した場合の出力結果を示す図である。
印刷後に出力用紙の中央部(矢印で示すX-X部分)で裁断し、左半分(ドキュメントの前半分の印刷結果)を右半分(ドキュメントの後半部分)に重ねることによって、ページAからページFまでの連続ページ(6ページ)を半分の用紙枚数(3枚)で、原稿の順番どおりに再現することができる。
同様に、図39(b)は、製本アプリケーション104による片面の2連印刷で出力用紙の向きが縦方向の場合における前半後半印刷における面つけを実行した場合の出力結果を示す図である。印刷後に出力用紙の中央部(矢印で示すY-Y部分)で裁断し、上半分(ドキュメントの前半分の印刷結果)を下半分(ドキュメントの後半部分)に重ねることによって、ページAからページFまでの連続ページ(6ページ)を半分の用紙枚数(3枚)で、原稿の順番どおりに再現することができる。
図34に示すような元原稿に当たる電子原稿に対して、製本アプリケーション104は、前半後半印刷を行う場合には、図40の4001に示すように面つけする。この面つけのレイアウトに対して更に、「片面/両面切り替え印刷」の設定がなされた場合、製本アプリケーション104は、図40の4002に示すように面つけを行う。文書全体を構成するページ(1)、(2)のうち、(2)ページ目の裏面は空白となっている(何も面つけされていない)。この場合、製本アプリケーション104は、文書全体が両面の設定とされている場合であっても、印刷の実行において(2)ページ目の設定を両面印刷の設定から片面印刷の設定に切り替えることができる。この場合、製本アプリケーション104は、文書全体が両面の設定とされている場合であっても、片面のみしか面つけされていないページに関しては、両面印刷を行わずに片面印刷を実行するようにプリンタドライバ106に指示することができる。
「片面/両面切り替え印刷」が設定されている文書に対して前半後半印刷を行う場合には、文書の総ページ数を把握する必要がある。片面から両面の設定をする場合、元原稿が片面のものは裏側にあたる部分にさらに空白ページを挿入するので、印刷時の論理ページ数は、実際のページ数の2倍になる。そのため、図37、38のように面付け位置を計算するためには、あらかじめ、前半後半印刷を適用した場合の総論理ページ数Nを求めておく必要がある。そこで、この総論理ページ数Nを求める処理の流れを図41のフローチャートを参照しつつ説明する。
まず、ステップS4101で、製本アプリケーション104は、論理ページカウントNと、章カウントKの初期値を0にセットする。次に、ステップS4102において、章カウンタKを1つ進め(K++)、ステップS4103において、製本アプリケーション104は、K章の印刷設定(ここでは両面/片面設定と章に含まれるページ数)を取得する。そして、次のS4104で、製本アプリケーション104は、K章の印刷設定が片面であると判断した場合(S4104-YES)、処理をステップS4105に進め、論理ページカウントNにK章の全ページ数の2倍を加算する(片面ページの場合、空白ページが挿入されるので、実際に印刷すると2倍のページ数になる)。
一方、ステップS4104の判断において、製本アプリケーション104がK章は両面の設定であると判断した場合(S4104−NO)、処理をステップS4106に進め、論理ページカウントNに、K章の総ページ数を加算する。そして、ステップS4107では、章カウントKが最終章であるかどうかを判定し、最終章でない場合は(S4107−NO)、処理をステップS4102に戻し、同様の処理を全章が終わるまで繰り返す。ここで求めた総ページ数の情報Nは、製本アプリケーション104が面つけ処理を実行する際に参照可能な属性情報として文書設定情報403等に設定される。
次に、図41のフローチャートで求めた総論理ページ数Nを用いて、実際に面付け位置を決め、印刷する処理の流れを図42のフローチャートを参照しつつ説明する。
まず、ステップS4201で、製本アプリケーション104は、空白カウントE、章カウントK、論理ページカウントR、物理ページカウントQ、用紙カウントPに初期値0をセットする。
そして、ステップS4202で、物理ページカウントQページ目の読込みを開始する。次のステップS4203で、製本アプリケーション104は、章カウントKにQページが含まれる章の番号をセットし、K章目の詳細設定情報(章の属性情報)を取得する(S4204)。そして、ステップS4205において、製本アプリケーション104は、取得した詳細設定情報に基づいて、その章が両面設定かどうかを判定する。両面設定の場合には(S4205−YES)、処理をステップS4206に進め、製本アプリケーション104は物理ページカウントQ番目のページを用紙カウントP枚目の表面左側半分に面付けする。そして、ステップS4207において、最終ページでないと判断した場合(S4207−NO)、処理を次のステップS4208に進め、次のページ(Q+1ページ目)を用紙カウントP枚目の裏面左側に面付けする。そして、再び、最終ページであるかどうか判定し(S4209)、最終ページでない場合には(S4209-NO)、処理をステップS4210に進め、論理ページカウントRを2つカウントアップして用紙カウントP枚目の右側の面付け処理に移行する。
一方、ステップS4205の判定において、製本アプリケーション104が、章の設定が片面であると判定した場合(S4205-NO)、処理をステップS4222に進め、製本アプリケーション104は、物理ページカウントQページ目を用紙カウントP枚目の表面左側に面付けする。
ステップS4223において、物理ページカウントQページが最終ページか否かを判定し、最終ページでないと判定した場合、処理をステップS4224に進める。ステップS4224において、製本アプリケーション104は、用紙カウントP枚目の左側半分に空白を挿入し、ステップS4225において、空白ページカウントE、物理ページカウントQを1つカウントアップし、更に、論理ページカウントRを2つ分カウントアップする。そして、続くステップS4226において、物理ページカウントQ+1(ステップS4224で挿入した空白ページが対応する)が最終ページでない場合には(S4226-NO
)、処理をステップS4211に進めて、用紙カウントP枚目右側の面付け処理に移行する。ここで、製本アプリケーション104は、図38で説明した前半後半印刷における面付けを行う。
ステップS4211において、製本アプリケーション104は、(N/2+Qページ)目を読み込み、ステップS4212において、章カウントKに(N/2+Q)ページ目が含まれる章の番号をセットし、K章目の詳細設定情報(章の属性情報)を取得する(S4213)。そして、ステップS4214において、製本アプリケーション104は、取得した詳細設定情報に基づいて、その章が両面設定かどうか判定する。両面設定の場合には(S4214−YES)、処理をステップS4215に進め、製本アプリケーション104は物理ページカウント(N/2+Qページ)番目のページを用紙カウントP枚目の表面右側半分に面付けする。そして、ステップS4216において、製本アプリケーション104がこのページを最終ページでないと判断した場合(S4216−NO)、処理を次のステップS4217に進め、次のページ(N/2+Q+1ページ)を用紙カウントP枚目の裏面右半分に面付けする。
続くステップS4218において、製本アプリケーション104は、物理ページカウントを2つ分進め、ステップS4219において、用紙カウントP枚目の印刷処理を行う。プリンタドライバ106は、プリンタ107を制御して、製本アプリケーション104による面つけ結果を出力させることができる。
一方、ステップS4214における判定で、製本アプリケーション104が、章の設定を片面原稿と判定した場合(S4214-NO)、処理をステップS4227に進め、製本アプリケーション104は、物理ページカウント(N/2+Q)ページ目を用紙カウントP枚目の表面右半分に面付けする。そして、ステップS4228において、物理ページカウント(N/2+Q)ページ目が最終ページでないと、製本アプリケーション104が判定した場合(S4228-NO)、処理をステップS4229に進め、製本アプリケーション104は、用紙カウントP枚目の裏面右半分に空白を挿入する。
そして、製本アプリケーション104は、ステップS4230に処理を進め、空白カウントE、論理ページカウントR、物理ページカウントQを一つずつカウントアップする。
ステップS4231において、製本アプリケーション104は、空白カウントの値をチェックして、E=2であるか否かを判定する。E=2の場合は(S4231-YES)、裏面の左右両方が空白であることになるので、製本アプリケーション104は、印刷設定を両面印刷から片面設定に切り替え(S4232)、処理をステップS4219に進める。一方、ステップS4231において、E=2でないと、製本アプリケーション104が判定した場合は、処理をそのままステップS4219に進め、面つけ処理が完了した用紙カウントP枚目の用紙の印刷処理に移行する。製本アプリケーション104は、同様の処理を物理ページが最終ページに至るまで続ける(S4220)。なお、各ステップ(S4207、S4209、S4216、S4223、S4228)で最終ページと、製本アプリケーション104が判断した時点で、処理をステップS4219に進め、用紙カウントP枚目の印刷処理を実行する。
以上の処理によって、両面/片面の原稿が混在した場合でも、印刷後の裁断を想定した正しい面付けを行うことが可能になる。
<冗長印刷における課金防止制御>
図42のステップS4231において、製本アプリケーション104は、空白カウントの値に基づき、用紙上に面付けされる面が全て空白になるか否かを判定した。空白になる面つけは、図42における前半後半印刷の場合の他、多連印刷を実行する場合においても生じ得いる。文書に対して両面印刷の設定がなされている場合、片面が全て空白になる面つけ部分を含む文書を印刷する際には、空白部分の通紙に対して課金されることになるので、製本アプリケーション104は、このような場合、無駄な課金の発生を防止するために、両面印刷の設定を片面印刷の設定に切り替えることができる。また、文書(あるいは章)の設定が両面印刷である場合でも、該当ページ部分を片面印刷の設定(非課金設定)に切り替えることで、印刷時間の短縮化が可能となる。
図43は、非課金設定を文書の設定情報に反映するための処理の流れを説明するフローチャートである。製本アプリケーション104は、先に説明した図42のステップS4231において判定したように、片面の全てが空白ページになる場合、空白となる用紙の面に対して課金しないように印刷設定の切り替えを指示する非課金コマンドを生成する(S4301)。ここで、製本アプリケーション104が生成した非課金コマンドは、文書設定情報(例えば、図4のNo.1)の印刷方法を規定する属性情報に反映される(S4302)。そして、製本アプリケーション104は、非課金コマンドを反映した属性情報に基づいて、該当する用紙(片面が全て空白になるページを含む用紙)に対する印刷設定を片面印刷に変更する(S4303)。この場合、文書全体の設定が両面印刷であっても、その全体の設定を維持しつつ、かかる該当する用紙の印刷に関しては片面印刷の設定に変更される(S4304、図42のS4232)。ここで、片面印刷に設定された内容に基づいてプリンタドライバ106は、プリンタ107を制御することができる。
図44は、空白ページに対する非課金設定4401が、印刷設定に反映された状態を例示する図である。図43に処理により、シート(用紙)に対する有効な印刷設定のうち、片面が全て空白になるページを含むシート(用紙)に対しては、非課金設定が追加される。
以上説明したとおり本実施形態によれば、多連印刷おいて、印刷対象の文書に様々な用紙サイズのページが混載している場合や片面印刷設定と両面印刷設定のページが混載されている場合においても、容易な設定で、適切な面付け処理を行い、印刷後の裁断およびマージ作業を容易にすることが可能になる。
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。