以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
[本実施形態の文書処理システムの概要]
本発明の実施の形態1に係る文書処理システムの概要を、図1〜図12を参照して説明する。この文書処理システムでは、一般的なアプリケーションにより作成されたデータファイルが、電子原稿ライタによって電子原稿ファイルに変換される。製本アプリケーションは、その電子原稿ファイルを編集する機能を提供している。以下、その詳細を説明する。
<システム構成及び動作>
図1は、本発明の実施の形態に係る情報処理システムに好適な文書処理システムのソフトウェア構成を示す図である。
この文書処理システムは、本実施の形態に係る情報処理装置の好適な実施形態であるデジタルコンピュータ100によって実現されている。一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドローあるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、印刷機能を有している。これらアプリケーションプログラムは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム(OS)により提供される所定のインターフェースを利用する。即ち、アプリケーション101は、作成したデータを印刷するために、前記インターフェースを提供するOSの出力モジュールに対して、あらかじめ定められる、OSに依存する形式の出力コマンド(GDI関数)を送信する。この出力コマンドを受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、その変換されたコマンド(DDI関数)を出力する。この出力デバイスが処理可能な形式は、デバイスの種類やメーカ、機種などによって異なる。そのため、デバイスごとにデバイスドライバが提供されており、OSでは、そのデバイスドライバを利用してコマンドの変換を行うことにより印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブを生成する。このOSとして、例えばマイクロソフト社のウインドウズ(Windows(登録商標))を利用する場合は、前述した出力モジュールとしてはGDI(Graphic Device Interface)と呼ばれるモジュールが相当する。
電子原稿ライタ102は、前述のデバイスドライバを改良したものであり、この文書処理システム実現のために提供されるソフトウェアモジュールである。但し、この電子原稿ライタ102は、特定の出力デバイスを目的としておらず、後述の製本アプリケーション104やプリンタドライバ106により処理可能な形式に出力コマンドを変換することにより電子原稿ファイル103を生成する。この電子原稿ライタ102による変換後の形式(以後、「電子原稿形式」と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうちでは、例えばアドビシステムズによるPDF形式や、SGML形式などが電子原稿形式として採用できる。アプリケーション101により電子原稿ライタ102を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ102を指定してから印刷を実行させる。但し、電子原稿ライタ102によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。製本アプリケーション104は、電子原稿ライタ102が生成した新規の不完全な電子原稿ファイルを、後述する形式を備えた電子原稿ファイルとして完成させる。以下では、この点を明瞭に識別する必要がある際には、電子原稿ライタ102によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイルと呼ぶ。
このようにデバイスドライバとして電子原稿ライタ102を指定し、一般アプリケーション101によりアプリケーションデータを印刷させる。その結果、アプリケーションデータ(文書)はアプリケーション101によって定義されたページ(以後、「論理ページ」、「原稿ページ」と呼ぶ)を単位とする電子原稿形式に変換され、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。尚、ハードディスクは、本実施形態に係る文書処理システムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション104は、「電子原稿ファイル」あるいは「ブックファイル」103を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
製本アプリケーション104によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。この電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、そのブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ107用のプリンタドライバ106がデバイスドライバとして指定される。そして出力モジュールは、指定されたプリンタ107のプリンタドライバ106を用いて、受信した出力コマンドをプリンタ107で解釈実行可能なデバイスコマンドに変換する。そして、このデバイスコマンドは、プリンタ107に送信され、プリンタ107によって、そのコマンドに応じた画像が印刷される。なお、情報処理装置100とプリンタ107とを通信可能に接続されている。
図2は、図1に示すデジタルコンピュータ100のハードウェア構成を示すブロック図である。
図2において、CPU201は、ROM203のプログラム用ROMに記憶された、あるいはハードディスク211からRAM202にロードされたOSや一般アプリケーション101、製本アプリケーション104などのプログラムを実行する。つまり、CPU201は、図1のソフトウェア構成や、後述するフローチャートの手順を実現する。RAM202はCPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は表示部210の表示を制御する。尚、この表示部210はCRTに限定されず、例えば液晶、プラズマなどでも良い。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、ハードディスク(HD)211や不図示のフロッピー(登録商標)ディスク(FD)等との間でのアクセスを制御する。PRTC208は、接続されたプリンタ107との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
<電子原稿データの形式>
編集アプリケーション104の詳細に言及する前に、上述した「ブックファイル」のデータ形式を説明する。
このブックファイルは、紙媒体の書物を模した3層の層構造を有する。上位層は「ブック」と呼ばれ、1冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各「章」についても、章ごとの属性が定義できる。下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各「ページ」ついてもページごとの属性が定義できる。尚、一つの「ブック」は複数の「章」を含んでいてよく、また一つの「章」は複数の「ページ」を含むことができる。
図3(A)は、ブックファイルの形式の一例を模式的に示す図である。この例のブックファイルにおける、「ブック」、「章」、「ページ」は、それぞれに相当するノードにより示されている。一つのブックファイルは一つの「ブック」を含む。「ブック」、「章」は、「ブック」としての構造を定義するための概念であるから、この定義された属性値と下位層へのリンクとをその実体として含む。「ページ」は、アプリケーションプログラムによって出力された「ページ」ごとのデータを実体として有する。そのため「ページ」は、その属性値の他、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。尚、紙媒体等に出力する際の印刷ページは、複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、「ブック」、「章」、「ページ」の各階層における属性として表示される。
図3(A)において、ブック301には、ブック属性が定義されているとともに、2つの章302A,302Bがリンクされている。このリンクにより、章302A,302Bがブック301に包含されていることが表示される。更に章302Aには、ページ303A,303Bがリンクされ、これらページが含まれることが示されている。各ページ303A,303Bには、それぞれそのページの属性値が定義され、その実体である原稿ページデータ(1)、(2)へのリンクが含まれる。これらリンクは、図3(B)に示す原稿ページデータ304の原稿データ(1),(2)を指示しており、ページ303A、303Bの実体が、原稿ページデータ(1)、(2)であることを表示する。
同様に、章302Bにはページ303C,303Dが含まれ、その実体である原稿ページデータ(3)、(4)へのリンクが含まれている。これらリンクは、図3(B)に示す原稿ページデータ304の原稿データ(3),(4)を指示しており、ページ303C、303Dの実体が、原稿ページデータ(3)、(4)であることが表示される。
図4は、本実施の形態に係るブック属性301を説明するための図である。
ここでは、下位層と重複して定義可能な項目に関しては、下位層の属性値が優先的に採用される。そのためブック属性301にのみ含まれる項目に関しては、そのブック属性301で定義された値が、そのブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
図5は、本実施の形態に係る章属性を説明する図、図6は本実施の形態に係るページ属性を説明する図である。ここで、これら章属性とページ属性との関係も、前述のブック属性と下位層の属性との関係と同様である。
図4において、ブック属性301に固有の項目は、「印刷方法」、「製本詳細」、「表紙/裏表紙」、「インデックス紙」、「合紙」、「章区切り」の6項目である。これら項目は、そのブックを通して定義される項目である。
「印刷方法」の属性としては、「片面印刷」、「両面印刷」、「製本印刷」の3つの値を指定できる。ここで「製本印刷」とは、別途指定する枚数の用紙を束にして2つ折りにし、その束を綴り合わせることで製本が可能となる形式で印刷する方法である。「製本詳細」の属性としては、「印刷方法」で「製本印刷」が指定されている場合に、「見開き方向」や「束になる枚数」等が指定できる。
「表紙/裏表紙」の属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙および裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。「インデックス紙」の属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定およびインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが、使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは「合紙」の属性についても同様である。この「合紙」の属性は、章の区切りとして、インサータから、或いは給紙カセットから供給される用紙の挿入の指定、及び、合紙を挿入する場合には、給紙元の指定などを含む。
「章区切り」の属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。「片面印刷」時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。「両面印刷」時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
次に図5に示す章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。前述のブック属性と章属性とにのみ共通する項目は、「用紙サイズ」、「用紙方向」、「N−UP印刷指定」、「拡大縮小」、「排紙方法」の5項目である。このうち「N−UP印刷指定」の属性は、1枚の印刷ページに含まれる原稿ページ数を指定するための項目である。ここで指定可能な配置としては、1×1や1×2、2×2、3×3、4×4などがある。「排紙方法」の属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
次に図6に示すページ属性において、このページ属性に固有の項目には、「ページ回転指定」、「ズーム」、「配置指定」、「アノテーション」、「ページ分割」などがある。「ページ回転指定」は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。「ズーム」の属性は、原稿ページの変倍率を指定するための項目である。この変倍率は、仮想論理ページ領域のサイズを100%として指定される。この仮想論理ページ領域とは、原稿ページをN−UP等の指定に応じて配置した場合に、1原稿ページが占める領域である。例えば1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
以上説明した「ブック」、「章」、「ページ」のそれぞれについて共通な属性として、「ウォーターマーク」属性および「ヘッダ・フッタ」属性がある。「ウォーターマーク」とは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。「ヘッダ・フッタ」は、それぞれ各ページの上余白および下余白に印刷されるウォーターマークである。但し、この「ヘッダ・フッタ」には、ページ番号や日時など、変数により指定可能な項目が用意されている。尚、「ウォーターマーク」の属性及び「ヘッダ・フッタ」の属性において指定可能な内容は、「章」と「ページ」では共通であるが、「ブック」の場合では、それらと異なっている。「ブック」においては、「ウォーターマーク」や「ヘッダ・フッタ」の内容を設定できるし、また、ブック全体を通してどのように「ウォーターマーク」や「ヘッダ・フッタ」を印刷するかを指定することができる。一方、「章」や「ページ」では、その章やページにおいて、ブックで設定された「ウォーターマーク」や「ヘッダ・フッタ」を印刷するか否かを指定できるだけである。
<ブックファイルの生成手順>
上述した製本アプリケーション104によって構造を与えられた電子原稿ファイルである「ブックファイル」は、上述したような構造及び内容を有している。次に、製本アプリケーション104及び電子原稿ライタ102によってブックファイルを作成する手順を説明する。このブックファイルの作成は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
図7は、本実施の形態に係る製本アプリケーション104によりブックファイルを開く際の手順を説明するフローチャートである。
まずステップS701で、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるかを判定する。新規作成の場合にはステップS702に進み、章を含まないブックファイルを新規に作成する。この新規に作成されるブックファイルは、図3の例で示せば、ブックノード301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。この場合のブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そしてステップS704に進み、新規ブックファイルを編集するためのユーザインターフェース(UI)画面を表示する。
図11は、新規にブックファイルが作成された際のUI画面の一例を示す図である。この場合には、ブックファイルは実質的な内容を持たないために、UI画面1100には何も表示されない。
一方、ステップS701で、既存のブックファイルがあればステップS703に進み、指定されたブックファイルを開き、そのブックファイルの構造、属性、内容に従ってユーザインターフェース(UI)画面を表示する。
図10は、この表示されたUI画面の一例を示す図である。
このUI画面1100は、ブックの構造を示すツリー部1101と、印刷された状態を表示するプレビュー部1102とを含む。ツリー部1101には、そのブックに含まれる章、各章に含まれるページが、前述の図3(A)のような木構造で表示される。ツリー部1101にはページ番号が表示されており、このページ番号は原稿ページの番号を示している。またプレビュー部1102には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
さて、このオープンされたブックファイルには、電子原稿ライタ102によって、電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を「電子原稿インポート機能」と呼ぶ。前述の図7のフローチャートで示す手順に沿って新規に作成されたブックファイルに、この電子原稿インポートすることで、そのブックファイルに実体が与えられる。この機能は、図10の画面において、アプリケーションデータをドラッグアンドドロップ操作することで起動される。
図8は、本実施の形態に係る電子原稿インポートの手順を示すフローチャートである。
まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷させることにより電子原稿データに変換する(ステップS801)。この電子原稿データへの変換を終えるとステップS802に進み、その変換されたデータが画像データであるか否かを判定する。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行うことができる。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればJPEG圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はステップS801のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、ステップS801の処理を省略することも可能である。
ステップS802で、画像データでなかった場合はステップS803に進み、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する。この場合、章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
又ステップS802で画像データである場合にはステップS804に進み、原則として新たな章は追加されず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページを追加する。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして、電子原稿ファイルの各ページが追加される。ここでページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、「N−UP印刷指定」などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、或いは新規な章が追加される。
図9は、図8のステップS801において、電子原稿ライタ102により電子原稿ファイルを生成させる手順を示すフローチャートである。
まずステップS901で、新たな電子原稿ファイルを作成してそれを開く。次にステップS902に進み、その指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタ102をデバイスドライバとして、OSの出力モジュールに対して出力コマンドを送信させる。この出力モジュールは、受信した出力コマンドを電子原稿ライタによって電子原稿形式のデータに変換して出力する。ここで、その出力先は、ステップS901で開いた電子原稿ファイルである。次にステップS903に進み、指定されたデータの全てについて変換が終了したか判定し、終了していればステップS904に進み、その電子原稿ファイルを閉じる。この様にして電子原稿ライタ102によって生成される電子原稿ファイルは、前述の図3(B)に示した、原稿ページデータの実体を含むファイルである。
<ブックファイルの編集>
以上のようにして、アプリケーションデータからブックファイルを作成することができる。こうして生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
(1)新規追加
(2)削除
(3)コピー
(4)切り取り
(5)貼り付け
(6)移動
(7)章名称変更
(8)ページ番号名称振り直し
(9)表紙挿入
(10)合紙挿入
(11)インデックス紙挿入
(12)各原稿ページに対するページレイアウト。
この他、一旦行った編集操作を取り消す操作や、更に、取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などといった編集操作が可能となる。これらの操作を行うと、図4乃至図6に示す属性に捜査結果が反映されたり、或いはブックファイルの構造に反映される。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−UP印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
<ブックファイルの出力>
以上のように作成・編集されるブックファイルは印刷出力を最終目的としている。利用者が図10に示す製本アプリケーションのUI画面1100からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、電子原稿デスプーラ105は、製本アプリケーション104の作成したブックファイルから、OSの出力コマンド、例えばウインドウズのGDIコマンドを生成し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、指定されたプリンタドライバ106によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
図23は、文書処理システムにおける製本アプリケーション104の印刷画面を示す図である。
図23のエリア2301は、印刷に使用するプリンタ(プリンタドライバ)を指定するためのエリアであり、クライアントPCへ登録設定されたプリンタドライバの中から選択することができる。エリア2303は印刷したい部数を指定するためのエリアである。
エリア2302は、製本アプリケーション104の図28の画面で設定された、プリンタに対する機能設定のうちエリア2301で選択したプリンタにはその機能がない、あるいは指示できない場合にその機能項目を通知するためのエリアである。
エリア2302で通知された機能については、OKボタン押下により印刷が実行された際に、製本アプリケーション104が一時的に設定を解除し、電子原稿デスプーラ105へ渡すブックファイルを生成する。このようにして、選択プリンタの能力に応じて、印刷指示文書の変更してブックファイルを印刷することが可能である。これらの処理の詳細については、後述する。
<そのほかのシステム構成>
本実施の形態に係る文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバ・クライアントシステムでもほぼ同様の構成・手順でブックファイルが作成・編集される。ただし、ブックファイルや印刷処理はサーバによって管理される。
図12は、本実施の形態に係るサーバ・クライアント型の文書処理システムの構成を示すブロック図である。
クライアント文書処理システム1200は、スタンドアロン型システムに、クライアントモジュールであるDOMSドライバ109およびDOMSプリントサービスモジュール110、DS(文書サービス)クライアントモジュール108を加えた構成を有する。なお、DOMSとは、Document Output Management Service(文書出力管理サービス)の略語である。このクライアント文書処理システム1200に、文書管理サーバ1201および印刷集中管理サーバ1202およびプリントサーバ1203が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システム1200と接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。尚、図12では、文書管理サーバ1201と印刷集中管理サーバ1202の両サーバがクライアントに接続されているが、いずれか一方のみがネットワーク上に存在する場合もあり得る。接続されているサーバが文書管理サーバであれば、そのクライアントモジュールを含む文書管理サーバ・クライアントシステム1201SCがスタンドアロン型文書管理システムに追加される。
一方、接続されているサーバが印刷集中管理サーバ1202であれば、そのクライアントモジュールを含む印刷管理サーバ・クライアントシステム1202SCが、スタンドアロン型文書管理システムに追加される。
文書管理サーバ1201は、製本アプリケーション104により作成・編集されたブックファイルを格納するサーバである。この文書管理サーバ1201によってブックファイルを管理する場合、ブックファイルは、クライアントPCのローカルHDに代わって、或いはそれに加えて、文書管理サーバ1201のデータベース1211に保存される。製本アプリケーション104と文書管理サーバ1201との間のブックファイルの保存及び読み出しは、DSクライアント108及びDSコア1212を介して行われる。
印刷集中管理サーバ1202は、クライアント文書管理システム1200に格納された、或いは文書管理サーバ1201に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、DOMSドライバ109及びDOMSプリントサービスモジュール110を介して印刷集中管理サーバ1202のDOMSWGサーバモジュール1221に送信される。印刷集中管理サーバ1202は、クライアントのプリンタ107で印刷する場合には、クライアントのDOMSプリントサービスモジュール110を介して電子原稿デスプーラ105に電子原稿データを渡す。
一方、プリントサーバ1203により印刷する場合には、プリントサーバ1203のDOMSプリントサービスモジュール1231に送信する。印刷集中管理サーバ1202は、例えば保存されているブックファイルに対して、その印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、この文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
<プレビュー表示の内容>
既に説明したとおり、ブックファイルが製本アプリケーションによって開かれると、図10に示すユーザインターフェース画面1100が表示される。ここでツリー部1101には、開いているブック(以下、「注目ブック」と呼ぶ)の構造を示すツリーが表示される。印刷プレビュー部1102には、利用者の指定に応じて、3通りの表示方法が用意されている。第1は原稿ページをそのまま表示する「原稿ビューモード」である。この「原稿ビューモード」では、注目ブックに属する原稿ページの内容が縮小されて表示される。この場合、プレビュー部1102の表示には、その原稿のレイアウトは反映されない。第2は「印刷ビューモード」である。この「印刷ビューモード」では、プレビュー部1102には、各原稿ページのレイアウトが反映された形で原稿ページが表示される。第3は「簡易印刷ビューモード」である。この「簡易印刷ビューモード」では、各原稿ページの内容はプレビュー部1102の表示には反映されず、そのレイアウトのみが反映される。
次に本発明の実施の形態の特徴について説明する前に、本実施の形態に適用可能なホストコンピュータ100(本発明の情報処理装置に相当する)とプリンタ107とを有する文書処理システムの構成について説明する。尚、ホストコンピュータ100(以下、クライアントと呼ぶこともある)の構成に関しては、前述の図2を参照して説明した通りであるので、ここでは共通する箇所には同じ番号を付し、その説明を省略する。またプリンタ107は、クライアントに接続されたローカルプリンタであっても、或いはサーバに接続されたプリンタ1204(図12)の場合であってもいずれの場合にも適用可能であるものとする。
図13は、本発明の実施の形態に係る文書処理システムの構成を説明するためのブロック図である。なお、本実施の形態に係る機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。尚、ここでホストコンピュータ100の構成は前述の図2と同じであるため、その説明を省略する。
プリンタ107はCPU12により制御される。CPU12は、ROM13(プログラム用ROM)に記憶されたプログラム、外部メモリ14からRAM19にロードされたプログラムに基づいて、システムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラム用ROMには、CPU12の制御プログラムが記憶されている。ROM13のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等が記憶され、ROM13のデータ用ROMには、ホストコンピュータ100で利用される情報等が記憶されている。
CPU12は入力部18を介してホストコンピュータ100との間での通信処理が可能となっており、プリンタ107の情報等をホストコンピュータ100に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMにより、そのメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報の展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD),ICカード等の外部メモリ14は、メモリコントローラ(MC)20により、そのアクセスが制御されている。外部メモリ14はオプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また操作パネル21には、操作のためのスイッチおよびLED表示器等が配されている。
また、前述した外部メモリ14は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル21からのプリンタモード設定情報を記憶するようにしてもよい。
ここで、ホストコンピュータ100は、図1を参照して前述したファイル、アプリケーション、デスプーラ及びドライバ等を備えているものとする。そして、このアプリケーション101により生成された文書ファイル(アプリケーションデータ)を、電子原稿ライタ102を介することにより電子原稿ファイル103が生成される。電子原稿ファイル103は前述したように、製本アプリケーション104によりファイルオープンすることが可能であり、製本アプリケーション104は、例えば前述の図10に示すような、操作画面を表示部210に表示させる。製本アプリケーション104と汎用の一般アプリケーション101との大きな違いは、製本アプリケーション104が、通常プリンタドライバ106が提供するはずの印刷設定機能を有していることである。この印刷設定機能により、製本アプリケーション104は、汎用アプリケーション101とは異なり、文書のページ順の入れ替えや複製(コピー)、削除などの編集機能を実現できる。さらに、製本アプリケーション104は、ステイプル・パンチ穴などの、プリンタ107における機能設定を電子原稿ファイルに対して行うことができ、指定したプリンタを使用して印刷することが可能である。なお、本実施の形態で説明する製本アプリケーション104を、印刷設定アプリケーションとも呼ぶ。
<文書ファイルのデータ構造>
図14は、本実施の形態に係るアプリケーション101が扱う文書ファイルのデータ構造を説明する図である。この文書ファイルは、図1の電子原稿ファイル103に相当し、ここでは、例えば図13の外部メモリ211に記憶されているが、図12の文書管理サーバ1201のデータベース1211に格納されていてもよい。
図14において、文書の構造情報701は、図10に示したアプリケーション操作画面のツリービュー1101に表示する文書の構造に関する情報を記憶している。文書の詳細設定情報702は、文書全体に設定可能な情報を記憶するための領域である。章の詳細設定情報703は、各章に設定可能な情報を記憶する領域である。ページの詳細設定情報704は、ページごとに設定可能な情報を記憶するための領域である。そして原稿情報705は、各原稿ページの描画情報を記憶しており、図10の右側の印刷プレビュー1102への表示に使用する情報がページ単位で保存されている。尚、この文書ファイルには、その他にも文書毎に必要な情報が含まれているが、ここではそれらの説明を省略する。
図15は、図14の文書の詳細設定情報702のデータ構成を更に詳細に説明する図である。
801は文書のページ設定情報、802は文書の仕上げ情報、803は文書の編集情報、804は文書の給紙情報、805はインデックス紙の情報で、これらの情報が文書の詳細設定情報702として格納されている。
<文書処理システムによる出力手順>
ブックファイルの出力処理について、図16を用いて説明する。
図16は、製本アプリケーション及びデスプーラによる処理手順を示すフローチャートである。以下では製本アプリケーション及びデスプーラをまとめてシステムと呼んでいる。
ステップS1601で、ユーザの指示に応じて、製本アプリケーションが印刷文書(前述のブックファイルに相当する)と、印刷指示文書との両方を、ハードディスク等から読み出す。印刷指示文書は、印刷対象となる印刷文書に付随し、対象の印刷文書をどのように印刷すべきかの情報が記述された電子文書である。印刷文書と印刷指示文書は、統合されて一つの文書ファイルでも良い。この印刷指示文書は、図10に示したユーザインターフェース画面上で利用者が印刷設定情報を設定することにより生成される。
印刷指示文書の全体構造は、図17に示すようなものになっている。まず、印刷指示文書は、出力対象となるプリンタデバイス名1701、印刷対象となる印刷文書名1702を含む。さらに、印刷指示文書は、印刷文書の各頁をどのような配置、順序で印刷するかを記述するページ配置情報部1703、出力対象のプリンタへの指示を記述するプリンタへの指示情報部1704を含む。
図18は、印刷文書の各頁をどのような配置、順序で印刷するかを記述するページ配置情報部の例である。
ページレイアウト1801は、一枚の用紙に何ページ分のデータを印字するかを示すもので、1ページ/枚、2ページ/枚、4ページ/枚、16ページ/枚などがある。配置順1802は、複数ページのデータを一枚の用紙に印字する時の配置順序であり、左から右、右から左等がある。
スタンプ1803は、用紙にイメージなどを描画するもので、「マル秘」、「Confidential」などのイメージがある。部数1804は、印刷部数を指定する情報である。とじ方向1805は、印刷物をとじる方向を指定し、とじ代1806は、印刷物における綴じ代サイズを示す。余白1807は、各ページの周囲に設定される余白を指定する情報である。
面付け1808は、すなわち面付け方法を示すもので、1×1面つけ、N×N面つけ、中とじ製本、くるみ製本、4つ折りなどがある。
開き方向1809は、面付け1808に連動する設定で、中とじ製本やくるみ製本の面付けを行う場合に、どの方向に開く本を作成したいかを指定する。開き方向として、左開き、右開き、上開き、下開きが設定される。
分冊1810は、中とじ製本を設定した場合に、1製本単位に含まれる用紙枚数を指定する。
製本アプリケーション104は、印刷文書名1702で示される印刷対象の文書データ(ブックファイル)に対し、上記詳述したページ配置設定を適用し、設定後のデータをデスプーラ105を介してプリンタデバイス名1702で指定されるプリンタへ送信する。
図19は、プリンタへの指示情報1704の一例を示す図である。
排紙方法1901は、排紙された用紙の処理を指定する項目で、ステイプルやソート、中とじ製本ステイプルなどが指定される。印刷方法1902は、片面印刷や両面印刷などを指定する項目である。給紙方法1903は、用紙を給紙する給紙部を指定する項目で、上カセットや下カセット、手差しトレイなどがある。解像度1904は、解像度を指定する項目で、高解像度のファインや通常の解像度であるノーマルなどがある。
本実施形態では、上記詳述した設定をプリンタデバイス名1701で指定されたプリンタに図19の情報を設定した後、データをプリンタへ送出することにより、印刷を行う。
一方、図20は、製本アプリケーションが、プリンタへ印刷を指示する時の指示情報の構造の一例である。この指示情報はマイクロソフト社のウインドウズOSにおいてDEVMODEと呼ばれる。DEVMODEは、ウインドウズOSにおいてプリンタドライバの設定画面で設定できる内容を格納する構造体であり、OSにより提供される。印刷データを渡されたプリンタドライバは、プリンタに対して送信する印刷制御命令を生成する際にDEVMODEを参照する。プリンタドライバは、DEVMODEに記述された内容に従ってプリンタを機能させるよう印刷制御命令(印刷データ、ページ記述言語とも言う)を生成してプリンタに送信する。なお、本実施形態では、ウインドウズOSの下で稼働する文書処理システムを説明するために、DEVMODEを例として説明する。しかし、OSでは一般に、プリンタの機能のようにデバイスに依存する部分に関しては、デバイスの機能に対応した処理を実現するための機構を備えている。このため、他のOSを利用する場合にも、本発明の本質と同様である。
DEVMODEは、公開されている共通部分と、プリンタごとに設定可能な拡張部分がある。本実施形態の図20では、簡略化して、関係のある部分のみ抜き出してある。
デバイス名2001は、出力対象のプリンタ名が入っている。DEVMODEサイズ2002は、DEVMODEの共通部分と拡張部分それぞれのサイズ、および、合計のサイズを格納する。用紙2003には、出力用紙のサイズが格納される。用紙方向2004には、用紙の送り方向(縦/横)が格納される。カラーモード2005は、カラープリンタの場合に、データをカラーで印刷するかモノクロで印刷するかを格納する。
ページレイアウト2006は、一枚の用紙の片面に何ページ分のデータを印字するかを格納する。
とじ方向2007は、印刷物をとじる方向を格納する。また、排紙方法2010と連動して、処理が行われることもある。
排紙方法2010は、排紙された用紙の処理を指定する項目で、ステイプル、ソートなどがある。処理を行う位置については、とじ方向2007と連動する場合もある。印刷方法2009は、片面印刷、両面印刷などを指定する項目である。部数2011は、印刷部数を設定する項目である。
図16の説明に戻ると、ステップS1601で製本アプリケーションが印刷文書と印刷指示文書とを受け取り(S1601)、印刷指示文書を開く(S1602)。
製本アプリケーションは、印刷指示文書に指定されたプリンタデバイス名1701を読み込み(S1603)、印刷指示文書にプリンタデバイス名が指定されているかどうかを調べる(S1604)。
プリンタデバイス名が指定されていない場合、製本アプリケーションは、あらかじめ所定の格納場所に登録されているデフォルトプリンタ名を取得し、そのプリンタデバイスを出力対象として設定する(S1606)。
次に、製本アプリケーションは、出力対象として決定されたプリンタ(対象プリンタ)に対応するプリンタドライバがインストールされているかどうかをチェックする(S1607)。
製本アプリケーションが、プリンタドライバがインストールされていないと判断した場合(S1608)、プリンタが使用不可能であることをユーザに通知する(S1609)。
一方、製本アプリケーションが、プリンタドライバがインストールされていると判断した場合、対象プリンタのプリンタドライバから、対象プリンタのDEVMODEを取得する(S1610)。
製本アプリケーションは、S1610にて取得されたDEVMODEを必要に応じて変更した後(S1611)、DEVMODEをプリンタデバイスへ通知する(S1612)。
続いて、デスプーラは、印刷文書の内容を印刷指示文書に基づき展開し、プリンタデバイスへ展開したデータを送出する(S1613)。
デスプーラは、プリンタに全ての印刷データを送出したことを通知し(S1614)、全ての印刷が終了したら、その旨ユーザに通知して(S1615)、印刷を終了する。
<製本アプリケーションによる印刷指示書の作成処理>
次に製本アプリケーション104が、ユーザが選択したプリンタの能力に従い、ブックファイル、および前述した印刷指示文書を作る処理について説明する。
ユーザが、製本アプリケーション104に対してプリンタの選択および印刷実行を指示する。当該指示に従って、製本アプリケーション104は、プリンタドライバSDK APIを使用して、電子原稿デスプーラ105を介して、プリンタドライバへ印刷機能属性情報、印刷能力属性情報を問い合わせる。
ここで、印刷機能属性情報とは、印刷装置において実行可能な印刷機能、プリンタドライバで指定可能な印刷機能を示す情報である。具体的には、両面印刷、N−UP機能、ステイプル機能、パンチ機能、Z折り機能、中とじ製本、くるみ製本等の、プリンタドライバにおいて指定可能な機能情報である。
また、印刷能力属性情報とは上記印刷機能情報における、OSおよびプリンタドライバで実行可能な印刷機能の範囲を表す情報である。具体的には、印刷可能な用紙サイズや用紙の種類、最大指定部数、モノクロ印刷時の階調数、カラー印刷時の色空間やカラープロファイル等のプリンタドライバの能力情報である。
そしてプリンタドライバは、製本アプリケーション104から電子原稿デスプーラ105を介してコールされたプリンタドライバSDK API関数に対するリターン値として、印刷機能属性情報および印刷能力属性情報を製本アプリケーション104に通知する。
電子原稿デスプーラ105は、プリンタドライバSDK APIを使用して各種印刷属性設定、印刷指示をプリンタドライバに対して発行する。または、電子原稿デスプーラ105は、OSがもつGDIで提供されるWindows(登録商標) SDK APIを使用しての印刷設定(例えば、DEVMODE構造体を用いた印刷設定)、印刷指示をプリンタドライバに発行しても良い。なお、GDIとは、Graphical Device Interfaceの略である。
プリンタドライバは、電子原稿デスプーラ105からプリンタドライバSDK APIを使用して各種印刷属性設定、印刷指示が発行されると、当該印刷属性設定に基づいて、印刷制御命令を生成する。
一方、電子原稿デスプーラ105から通常のWindows(登録商標) SDK APIを使用しての印刷設定、印刷指示がなされると、プリンタドライバは、OSからコールされる印刷属性設定および印刷指示関数に基づいて印刷制御命令を生成する。その結果、プリンタから目的のドキュメントの印刷出力を行うことが可能となる。
ここで、プリンタドライバSDK APIとは、アプリケーションプログラムおよびプリンタドライバプログラムにおいて、相互に各種情報や各種データを通知する手段である。APIは、任意にプログラミング可能な関数あるいはデータ形式のアプリケーションプログラムインタフェース(API)である。
上述したように、SDK APIで指示できるDEVMODEには、公開されている各社共通部分とプリンタごとに設定可能な拡張部分がある。上述した製本アプリケーション104が、プリンタドライバから印刷機能属性情報や印刷能力属性情報を取得したり、DEVMODE構造体を使用した印刷指示を発行できるのは、プリンタドライバがプリンタドライバSDK APIに対応しているためである。または、プリンタドライバが、拡張DEVMODEを持たない場合に限られる。
そのため、プリンタドライバがプリンタドライバSDK APIに対応していない場合、または、拡張DEVMODEを備えている場合、製本アプリケーション104はプリンタの能力に応じた印刷指示を行うことができない。これは、プリンタドライバが、プリンタドライバSDK APIに対応していない場合、製本アプリケーションは、プリンタドライバに印刷指示を発行するインターフェースがないことに起因する。
このように、製本アプリケーションがプリンタドライバに対して印刷指示できない場合、ユーザ自身がプリンタドライバに対して直接設定する必要がある。また機能によっては、製本アプリケーション104とプリンタドライバに対して共通する機能を2重に設定してしまうと問題が発生する場合がある。このような機能についてはプリンタドライバに対して直接指示するだけではなく、製本アプリケーション側の印刷設定を解除する必要がある。
続いて、本発明の実施の形態に係わる文書処理システムにおいて、製本アプリケーション104が対応していないプリンタドライバ(プリンタドライバSDK APIに対応していないプリンタドライバ)での印刷に対応するための処理について説明する。
<本実施形態の文書処理システムにおける印刷処理>
図21は、本実施の形態に係る文書処理システムにおける製本アプリケーション104が対応していないプリンタのプリンタドライバを使用する場合の印刷処理を示すフローチャートである。
まず、ユーザが製本アプリケーション104に対して、プリンタの選択、印刷実行を指示する。当該指示に従って、製本アプリケーション104は、選択されたプリンタドライバが製本アプリケーションと非対応であるか否かを判断する(S2101)。このS2101の判断処理が、第1判断処理に相当する。
具体的には、製本アプリケーションは、選択されたプリンタドライバ名が記述されたDEVMODEを、対応プリンタか否かを判定するための判定APIに対して送信する。ここで、製本アプリケーションが、当該判定APIから対応プリンタであることを示す回答を受信した場合、制御可能と判断し(S2101−Yes)、対応プリンタであることを示す回答を受信しなかった場合、制御不可能(S2101−No)と判断する。
S2101にてYesと判断された場合、製本アプリケーションは、上述した通常のブックファイルの印刷処理を行う(S2102)。
一方、S2101においてNoと判断された場合、製本アプリケーション104は、製本アプリケーションの設定画面を介して設定された印刷設定に、選択プリンタが制御できない設定が含まれているか否かを判定する(S2103)。具体的には、製本アプリケーションは、ユーザが設定した印刷設定の中に、フィニッシング処理(例えば、パンチ、ステイプル、中とじ製本)が含まれているか否かを判定する。なお、フィニッシング処理とは、印刷済みのシートに対して実行される処理である。ユーザにより製本アプリケーションの設定画面を介して設定された設定項目に、フィニッシング処理が含まれていた場合、製本アプリケーションは、選択プリンタに対して制御できない設定が含まれていると判断する。
ここで、印刷設定にフィニッシング処理が含まれていた場合、S2103にてYesと判断される理由について説明する。S2103にてYesと判断された場合、プリンタドライバが、フィニッシング指定および当該フィニッシングに伴う面付け処理を実行する。もし、製本アプリケーションに対して設定されたフィニッシング指定が残る場合、製本アプリケーションとプリンタドライバの両者が、当該フィニッシング用の面付け処理を実行することになり、ユーザが所望とする印刷結果が得られなくなる。そこで、製本アプリケーションを用いて設定した印刷設定情報にフィニッシング処理が含まれていた場合、製本アプリケーションは、製本アプリケーションでの面付けを解除するためにS2103にてYesと判断する。
なお、S2103では、印刷設定にDEVMODEの拡張部分が含まれ、かつ、当該印刷設定をプリンタドライバに適用する場合、プリンタドライバの面付けを伴うか否かを判断しても良い。ここで、印刷設定情報が、印刷設定にDEVMODEの拡張部分が含まれ、かつ、当該印刷設定をプリンタドライバに適用する場合、プリンタドライバの面付けを伴う場合、製本アプリケーションは、S2103−Yesと判断する。なお、S2103の判断処理が第2判断処理に相当する。
S2103の判定処理により、選択プリンタに対して制御できない設定が含まれていないと判定された場合、製本アプリケーションは、図24のような警告画面を表示する。これは、製本アプリケーションが、設定された内容に従って実行した面つけ処理を生かすために行われる。
図24の警告画面は、製本アプリケーション104と、プリンタドライバプロパティでの2重設定(同じ設定に基づく2重の描画)を防止することを目的とする。ここで、ユーザは、図24のプロパティボタン(指示部)2402を押下することによって、選択プリンタのプリンタドライバの設定画面を表示し、現在プリンタドライバに設定されている印刷設定情報を確認できる。
S2105において、製本アプリケーションは、ユーザによって印刷実行が指示された場合(図24の2403が押下された場合)、図24の警告メッセージの表示を終え(S2106)、ブックファイルの印刷を行う(S2102)。
一方、ステップS2103において、選択プリンタに対して制御できない設定が含まれていると判断された場合、製本アプリケーション104は、印刷設定の一部を変更あるいは解除し、選択プリンタの能力に合わせた印刷指示文書を作成する(S2107)。S2107の詳細については、図22を用いて説明する。
そして、製本アプリケーションは、ブックファイルの印刷を行う(S2102)。
図22は、図21のステップS2107の詳細を説明するフローチャートである。
製本アプリケーションは、図25の警告ダイアログを表示する(S2201)。図25の警告ダイアログ2501は、ユーザが製本アプリケーション104を用いて設定した印刷設定項目に選択プリンタに対して指示できない項目が含まれる場合、その項目が何であるかをユーザに報知する。例えば、製本アプリケーションは、ユーザの設定した印刷設定にフィニッシング処理設定が含まれていた場合、図25の画面2501を表示する。なお、フィニッシング処理とは、印刷済みのシートに実行される処理であるため、印刷後処理と記載される場合がある。
ここで、ユーザは、図25の2502を押下することによって、選択プリンタのプリンタドライバに対する設定を変更できる。
そして、ステップS2202において、製本アプリケーションは、警告ダイアログに存在する選択プリンタのプロパティボタン2502が押下されたか否かを判断する。ここで、ユーザによりプロパティボタン2502が押下された場合、製本アプリケーションは、選択プリンタのプリンタドライバの設定画面2602を表示する。さらに、製本アプリケーションは、図26のナビゲーションウィンドウ2601を表示する。なお、ナビゲーションウィンドウとは、プリンタドライバで設定すべき設定内容をユーザに報知するための画面である。例えば図26は、「用紙サイズ:A4」、「印刷方法:製本印刷」、「開き方向:左方向」、「製本印刷の方法:全ページまとめて印刷」、「中とじ:する」を設定すべきと報知している。ここで表示された設定項目は、「製本印刷」に関連する項目である。製本アプリケーションは、予め「製本印刷」が設定され、かつ、非対応プリンタが選択された場合に、プリンタドライバで設定すべき項目を保持している。この保持情報を使って図26のナビゲーションウィンドウを表示する。なお、各設定項目の設定内容は、製本アプリケーションの設定画面を介して設定された値である。また、本実施例では、フィニッシング処理として「製本印刷」を例に挙げているが、その他にも「パンチ処理」、「ステイプル処理」がフィニッシング処理として挙げられる。よって、製本アプリケーションは、保持情報として「パンチ」に関連する項目、「ステイプル」に関連する項目も保持している。
図26は、プリンタドライバの設定画面2602とナビゲーションウィンドウ2601とが表示されている例を示した図である。つまり、製本アプリケーションが、図26のようにプリンタドライバの設定画面とナビゲーションウィンドウとを表示するため、ユーザは、ナビゲーションウィンドウを確認しながらプリンタドライバの設定画面に適切な印刷設定情報を容易に設定できる。
続いて、ユーザはナビゲーションウィンドウを見ながらプリンタドライバの設定画面に対して印刷設定情報を設定する。そして、ステップS2209において、製本アプリケーションは、プリンタドライバの設定画面を閉じる指示を受けたか否かを判断し(S2209)、プリンタドライバの設定画面を閉じる指示に従ってナビゲーションウィンドウの表示を終了する(S2210)。
その後、ユーザにより印刷実行が指示された場合、製本アプリケーションは、図25の警告ダイアログ2501の表示を終え(S2204)、製本アプリケーション104の印刷設定の一部を変更し、変更後の印刷設定を基に印刷指示文書を生成する(S2205)。具体的には、製本アプリケーション104は、プリンタドライバで重複して設定すると出力結果に問題が発生する点について設定を変更する。例えば、製本アプリケーション104は、ナビゲーションウィンドウを用いて「印刷方法:製本印刷」と報知している。ユーザが、この指示に従ってプリンタドライバの設定画面を用いて「印刷方法:製本印刷」を設定した場合、製本アプリケーションおよびプリンタドライバの両者が、「製本印刷:中とじ」用の面付けを実行するためユーザが所望とする印刷結果が得られなくなる。そのため、製本アプリケーションは、S2205の処理を実行し、製本アプリケーションの「印刷方法:製本印刷」を解除することで、設定の重複を解消する。つまり、製本アプリケーションは、選択された印刷装置を制御できない場合、プリンタドライバにて設定すべき項目(S2205にて変更すべき項目)と製本アプリケーションにて設定すべき項目(S2205にて変更しない項目)とを決定する。
図24は、図21のステップS2104において表示される警告ダイアログの一例を示す図で、製本アプリケーション104と、プリンタドライバでの2重設定(同じ設定を2箇所で行うこと)を防止するために表示される。
ここで、ユーザは、図24の指示部2402を押下することによって、選択プリンタのプリンタドライバの設定画面を起動することで、そのままプリンタドライバに対する設定を初期設定に戻すことができる。
次に、ユーザにより製本アプリケーションが非対応なプリンタが選択された場合、製本アプリケーションが実行する処理について具体例を挙げて説明する。
ここでは例として、製本アプリケーションに対して図29のような中とじ製本の設定内容が指示された場合に、図29の設定内容に従った印刷物を得るために、製本アプリケーションが実行する処理について説明する。
まず製本アプリケーションは、ユーザの指示に従って図27、図28の設定画面を表示し、ユーザの指示に従って印刷設定情報を設定する。
図27の設定項目2701は印刷する際に使用する用紙サイズを指定するための項目であり、製本アプリケーションは、図29に従ってA3を設定する。図27の設定項目2702は、印刷時の用紙の向きを指定するための設定項目である。図29では「仕上がりサイズ:A4(縦)」と設定されているため、A4(縦)をA3に並べて出力すべく製本アプリケーションは、「横」を設定する。
設定項目2704は、原稿をどのような順序で並べて印刷するか(面付けの種類)を指定するための設定項目であり、製本アプリケーションは、図29に従って「中とじ」を選択する。この場合、製本アプリケーションは、1枚の用紙上に原稿を2つずつ並べるための領域を確保し、これらの領域に、印刷後の用紙を中とじ製本した本を開いたときの出力順がページ順に並ぶように面付け処理を実行する。
次に、製本アプリケーションは、図28の画面を介して設定された指示に従って詳細設定と、プリンタに対する設定を行う。
図28の設定項目2801は製本方法を指定するための項目であり、設定項目2802は、本の開き方向を指定するための項目である。よって、製本アプリケーションは、図29に従って設定項目2801に「中とじ製本」を選択し、設定項目2802に「左開き」を選択する。
ユーザは、設定項目2803、2804、2805を用いて原稿の配置方法を詳細に設定することができ、設定項目2803ではとじ代の余白を指定することができる。
また、設定項目2804は、本のとじ側となる側に原稿を寄せて印刷するか否かを指定するためのチェックボックスである。また、設定項目2805は、クリープ補正機能を行うか否かを指定するためのチェックボックスである。
設定項目2806は、プリンタに付属の後加工機で「中とじ」を行うか否かを指定するための項目であり、ユーザが設定項目2806に「折りとステイプル」を選択すると、プリンタによって「中とじステイプル」の加工まで行われた印刷結果状態が出力される。
以上のようにして、製本アプリケーションが、ブックファイルに対する文書のページ順などの配置設定、ステイプルなどのプリンタに対する機能設定を実行する。そして、ユーザから印刷の指示を受け付けた場合、製本アプリケーションは、製本アプリケーションが対応できる対応プリンタが選択されたか、非対応プリンタか選択されたかを判断する。この判断は、図21のS2101と同様の判定処理である。
ここで対応プリンタが選択されたと判断された場合、図30のページ配置情報(3001〜3010)が生成される。
一方、非対応プリンタが選択されたと判断された場合、製本アプリケーションは、製本アプリケーションの設定画面を介して設定された内容に選択されたプリンタに対して指示できない設定項目が含まれるかを判断する。図29では、選択された非対応プリンタに対して指示できない設定項目としてフィニッシング処理である「製本仕上げ:あり」が含まれている。
よって、製本アプリケーションは、図30に対して印刷設定の一部変更処理を実行する。なお、本願を適用することにより図30は図31(3101〜3110)に変更される。これは、製本アプリケーション104が、プリンタドライバへ渡す印刷対象の文書データに対しフィニッシングを考慮したページ配置設定を実行せず、プリンタドライバに実行させるために行われる。製本アプリケーションは、図30から製本印刷に関係する面つけ情報を初期設定に変更する。具体的には、図30の「面付け:中とじ」を図31の「面付け:1×1」に変更する。この変更に従って、開き方向、分冊は無効となるため、図31では「OFF」と変更されている。つまり、製本アプリケーションは、面付け、開き方向、分冊の指定はプリンタドライバを用いて設定すべき項目であると決定している。一方、図30ではとじしろが「5mm」と設定されているため、5mm左側に空けた原稿を生成すべく図30の「とじ方向:OFF」が図31では「とじ方向:左とじ」に変更されている。つまり、製本アプリケーションは、とじ方向は、製本アプリケーションを用いて設定すべき項目と決定している。
このように、今回の例では、プリンタドライバが、製本関係の面付け処理(すなわち、中とじ製本印刷用に原稿およびページを配置した描画処理)と、プリンタに対する製本仕上げ(インラインフィニッシャによる中とじ製本等)の指示を行う。そのため、製本アプリケーションは、製本関係の印刷設定項目を初期設定に変更している。
ここで、製本アプリケーション104が図31のように変更しなかった場合、それを受けたプリンタドライバ側でもさらに(プリンタドライバで設定されたとおりに)製本面付けを行ってしまうということになる(つまり、二重に製本面付けされてしまう)。このような、2重の面付けを防ぐためにS2205の処理が実行される。
次に、図23の印刷画面において、プリンタドライバ側への設定操作を説明する。
図23の設定項目2301において、印刷に使用するプリンタ(プリンタドライバ)として、製本アプリケーション104が対応していないデバイス(MFP−1)が指定されたとする。
そして、印刷を実行すべくOKボタンが押下されると、製本アプリケーション104は、図21のフローチャートの流れで、印刷処理を行う。このとき、上記で選択したプリンタが、製本アプリケーションが非対応なプリンタであり、さらに、製本アプリケーションからプリンタに対して制御できない印刷設定が行われている場合、図25に示した警告ダイアログが表示される。ユーザは警告ダイアログ上のプロパティボタンを指示すること、プリンタドライバの設定画面を表示すると同時に図26のナビゲーションウィンドウを表示する。
ユーザは、ナビゲーションウィンドウを見ながら、ナビゲーションウィンドウの指示通りにプリンタドライバに対して、中とじ製本設定を行う。具体的には、ユーザはプリンタドライバの設定画面を用いて、出力用紙サイズをA4、印刷方法を製本印刷、開き方向を左開きに指定し、ステイプルをONにする。
そして、ユーザがプリンタドライバの設定画面を閉じて印刷を実行すると、製本アプリケーション104は、図22のステップS2205の処理(すなわち、ページ配置情報と、印刷指示文書の一部を変更または解除する処理)を行い、印刷を実行する。なお、S2205は、描画処理を実行するため描画制御手段とも記載される。今回の例では図30に示すページ配置情報が図31のように変更され、図32に示すプリンタへの指示情報(3201〜3204)が図33(3301〜3304)のように変更される。そして、製本アプリケーション104は、ページ配置情報およびプリンタへの指示情報を図31および図32のように変更した印刷指示書を電子原稿デスプーラ105を介してプリンタドライバへ送信する。
図35は、今回の例において製本アプリケーション104が図31、図32の変更を行った印刷指示書を基に生成したDEVMODE(3501〜3511)である。それに対し図34は、通常の印刷処理(すなわち製本アプリケーション104が対応するデバイスを用いた印刷処理)を行う場合に電子原稿デスプーラが生成するDEVMODE(3401〜3411)である。図34のDEVMODEは、図30、図31において示した図21のステップ2107の処理を通らずに生成された印刷指示書を基に作成されている。
以上のようにして、製本アプリケーション104が対応しないプリンタ(非対応プリンタ)を使用する場合においても、対応プリンタを使用する場合と同等の出力結果を得ることが可能となった。
例えば製本アプリケーション上で設定されている印刷設定項目の中にプリンタに対して制御できない機能の設定が含まれていた場合、製本アプリケーションは、プリンタドライバ側での設定方法を教示するナビゲーションウィンドウを表示する。これにより、ユーザの設定ミスを抑える効果がある。さらに製本アプリケーション側で設定する必要の無い印刷設定を自動的に解除することで、プリンタドライバとの重複設定により問題が発生することを防止するという効果がある。
逆に製本アプリケーションで設定されている印刷設定項情報にプリンタに対して制御できない項目が含まれない場合、製本アプリケーション側の印刷設定を解除しない。その結果、製本アプリケーションが持つ独自の面付け機能(例えば、クリープ補正、原稿をとじ位置に寄せる、くるみ製本用表紙作成機能等)を利用したまま、非対応プリンタへ印刷することが可能となる。それにより対応プリンタへ印刷する場合と同等の出力結果を得ることができるという効果がある。
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。当然ながら、本願の情報処理装置が読取可能なプログラムにより実現されても良い。
更に、記憶媒体から読み出されたプログラムコードが、メモリに書込まれた後、そのプログラムコードの指示に基づき、CPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。