[第1の実施形態]
1.文書処理システムの概要
まず、本発明に係る文書処理システムの概要について、図1乃至図13を参照しながら以下に説明する。尚、この文書処理システムは、一般のアプリケーションによって作成されたアプリケーションデータを電子原稿ファイルに変換する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含む。当該文書処理システムによれば、作成されたアプリケーションデータをひとまとめにした文書データの作成及び編集が可能であり、かつ当該文書データの作成及び編集を効率的に行うことができる。
1.1 文書処理システムの機能構成及び各部の動作
図1は、本実施形態の文書処理システムの機能構成を示す図である。文書処理システムは、本発明の情報処理装置に好適な実施形態であるデジタルコンピュータ100(以下、ホストコンピュータとも呼ぶ)によって実現されている。
図1に示す一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー、あるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムである。これらのアプリケーションプログラムは、OSに対する印刷機能を有している。
ここで、アプリケーションプログラムは、作成されたテキストデータや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム(OS)によって提供される所定のインタフェース(一般に、GDIと呼ばれる)を利用する。即ち、一般アプリケーション101は、作成したアプリケーションデータを印刷するために、上述のインタフェースを提供するOSの出力モジュールに対して、あらかじめ定められる、OSに依存する形式の出力コマンド(GDI関数と呼ばれる)を送信する。
そして、出力コマンドを受けた出力モジュールでは、その出力コマンドをプリンタ等の印刷装置が処理可能な形式に変換して、変換されたコマンド(DDI関数と呼ばれる)を出力する。
印刷装置が処理可能な形式は、印刷装置の種類やメーカ、機種などによって異なるため、印刷装置ごとにプリンタドライバが提供されている。このため、OSでは対応するプリンタドライバを利用してコマンドの変換を行い、印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブを生成する。
OSとしてマイクロソフト社のウインドウズを利用する場合、GDI(Graphic Device Interface)と呼ばれるモジュールが前述した出力モジュールに相当する。
電子原稿ライタ102は、上述のプリンタドライバを改良したものであり、文書処理システム100の実現のために提供されるソフトウェアモジュールである。なお、電子原稿ライタ102は特定の印刷装置により処理可能な形式に変換することを目的としたものではなく、製本アプリケーション104やプリンタドライバ106により処理可能な形式に出力コマンドを変換することを目的としている。
この電子原稿ライタ102による変換後の形式(以後電子原稿形式と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特にどのような形式であってもよい。なお、電子原稿形式の一例としては、アドビシステムズによるPDF形式やSVG形式などが挙げられる。
一般アプリケーション101から電子原稿ライタ102を利用するには、出力に使用するプリンタドライバとして電子原稿ライタ102を指定してから印刷を実行させることで実現可能である。但し、電子原稿ライタ102によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。
そのため、プリンタドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。そして、製本アプリケーション104は電子原稿ライタ102が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。
以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ102によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、アプリケーションプログラムにより生成されるアプリケーションデータ、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
このようにプリンタドライバとして電子原稿ライタ102を指定し、一般アプリケーション101により印刷させることで、アプリケーションデータは一般アプリケーション101によって定義されたページを単位とする電子原稿形式に変換される。そして、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。なお、一般アプリケーション101によって定義されたページを以後、論理ページあるいは原稿ページと呼ぶこととする。
尚、電子原稿ファイル103が格納される記憶媒体としては、ハードディスクに限られない。例えば、本実施形態の文書処理システム100を実現するホストコンピュータが備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション104では電子原稿ファイル(あるいはブックファイル)103を読み込み、それを編集するための機能をユーザに提供する。但し、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
製本アプリケーション104によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。電子原稿デスプーラ105は、製本アプリケーション104と共にホストコンピュータ100内にインストールされるプログラムモジュールである。当該モジュールは、製本アプリケーション104で利用するブックファイルを印刷する際に、プリンタドライバ106へ描画データを出力するために使用されるモジュールである。
電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、印刷装置として使用されるプリンタ107用のプリンタドライバ106がプリンタドライバとして指定される。
上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ107用のプリンタドライバ106に出力する。プリンタドライバ106ではプリンタ107で解釈実行可能なページ記述言語等の印刷ジョブに変換する。
そして、変換された印刷ジョブはプリンタドライバ106から不図示のシステムスプーラを介してプリンタ107に送信され、プリンタ107によって印刷ジョブに応じた画像が印刷される。
1.2 文書処理システム100のハードウェア構成
図2は、文書処理システム100のハードウェア構成を示す図である。図2において、CPU201は、ROM203のプログラム用ROMに記憶された、あるいはハードディスク211からRAM202にロードされたOSや一般アプリケーション101、製本アプリケーション104などのプログラムを実行する。これにより、図1のソフトウェア構成や、後述するフローチャートの手順を実現する。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル(後述)等を記憶するハードディスク211やフロッピー(登録商標)ディスク等とのアクセスを制御する。PRTC208は、接続されたプリンタ107との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
1.3 ブックファイルのデータ形式
次に、ブックファイル103のデータ形式について説明する。ブックファイル103は紙媒体の書物を模倣した3層の層構造を有する。まず、上位層は「ブック」と呼ばれ、1冊の本を模倣しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章毎の属性が定義される。そして、下位層は「ページ」と呼ばれ、アプリケーションプログラムで定義された各ページに相当する。各ページについてもページ毎の属性が定義される。一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含んでいてもよい。
図3に示す(A)は、ブックファイル103の形式の一例を模式的に示した図である。図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)である)。
1.4 ブックファイルの属性の種類
図3のブックファイルにおいて定義される属性の詳細について説明する。図4は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先して採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値がブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含む場合もある。
また、図5は章属性のリストであり、図6はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
図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パーセントに縮小した領域となる。
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションプログラムで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。
ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。尚、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。
ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるうえ、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
1.5 文書処理システム100における各種処理の説明
次に文書処理システム100において、電子原稿ファイルを作成してから、プリンタ107に出力するまでの各種処理について説明する。
1.5.1 電子原稿ファイル作成処理の説明
はじめに、電子原稿ファイルの作成処理について説明する。図7は、電子原稿ファイル作成処理の流れを示すフローチャートである。
指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、プリンタドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷出力させることで、電子原稿ファイルに変換する(ステップS701)。
変換を終えると、当該変換されたアプリケーションデータが画像データであるか否かを判定する(ステップS702)。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行われる。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればjpeg圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はステップS701のようにアプリケーションプログラムを起動せずに、画像データから直接電子原稿ファイルを生成することも可能である。このため、ステップS701の処理を省略することも可能である。
ここで、画像データでないと判定された場合には、ステップS701で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する(ステップS703)。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値が設定される。
一方、ステップS702で画像データでないと判定された場合には、原則として新たな章は追加されず、指定されている章に、ステップS701で生成された電子原稿ファイルに含まれる各原稿ページが追加される(ステップS704)。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各原稿ページが追加される。
ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、N−up指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
図8は、図7に示すステップS701において、電子原稿ライタ102により電子原稿ファイルを生成させる際の処理の詳細な流れを示すフローチャートである。
ステップS801では、新たな電子原稿ファイルを作成してそれを開く。
ステップS802では、指定したアプリケーションデータに対応するアプリケーションプログラムを起動し、電子原稿ライタ102をプリンタドライバとしてOSの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタ102によって電子原稿形式に変換し、出力する。その出力先はステップS801で開いた電子原稿ファイルである。
ステップS803では、指定されたアプリケーションデータ全てについて変換が終了したかを判定し、終了していると判定された場合には、ステップS804において電子原稿ファイルを閉じる。電子原稿ライタ102によって生成される電子原稿ファイルは、図3の(B)に示される原稿ページデータの実体を含むファイルである。
1.5.2 ブックファイル作成処理の説明
次に、製本アプリケーション104及び電子原稿ライタ102によるブックファイルの作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
図9は、製本アプリケーション104によりブックファイルを開く際の手順である。まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する(ステップS901)。新規作成の場合には、章を含まないブックファイルを新規に作成する(ステップS902)。
新規に作成されるブックファイルは、図3の例では、ブック301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインタフェース(UI)画面を表示する(ステップS903)。
図10は、新規にブックファイルが作成された際のUI画面の一例である。この場合は、ブックファイルは実質的な内容を持たないため、UI画面1000には何も表示されない。
一方、既存のブックファイルがあれば、指定されたブックファイルを開き(ステップS903)、そのブックファイルの構造、属性、内容に従ってユーザインタフェース(UI)画面を表示する。
図11は、既存のブックファイルから指定されたブックファイルを表示するUI画面の一例である。UI画面1000は、ブックの構造を示すツリー部1101と、印刷された状態を表示するプレビュー部1102とを含む。ツリー部1101には、ブックに含まれる章、各章に含まれるページが図3の(A)のような木構造で表示される。ツリー部1101に表示されるページは原稿ページである。またプレビュー部1102には、印刷ページの内容が縮小されて表示される。その表示順序はブックの構造を反映したものとなっている。
ここで、開かれたブックファイルには、電子原稿ライタ102によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図9に示す手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図11の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
なお、プレビュー部1102には、ユーザの指定に応じて、3通りの表示方法が用意されているものとする。
第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。ただし、プレビュー部1102の表示にレイアウトは反映されない。
第2は印刷ビューモードである。この印刷ビューモードでは、プレビュー部1102には原稿ページのレイアウトが反映された形で原稿ページが表示される。
第3は簡易印刷ビューモードである。この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
1.5.3 ブックファイル編集処理の説明
次に、製本アプリケーション104によるブックファイルの編集処理について説明する。上述の手順で生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
・新規追加
・削除
・コピー
・切り取り
・貼り付け
・移動
・章名称変更
・ページ番号名称振り直し
・表紙挿入
・合紙挿入
・インデックス紙挿入
・各原稿ページに対するページレイアウト
このほか、一旦行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などの編集操作が可能となる。
これらの操作を行うと、図4、図5に示す属性に操作結果が反映されたり、あるいはブックファイルの構造に反映されたりする。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
1.5.4 ブックファイル出力処理の説明
次に、ブックファイルの出力処理について説明する。上述のように作成・編集されたブックファイルは、印刷出力を最終目的とするものである。ここで、ユーザが図11に示した製本アプリケーションのUI画面1000からファイルメニューを選択し、そこから印刷を選択すると、指定した印刷装置により印刷出力される。この際、まず製本アプリケーション104は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ105に渡す。
一方、電子原稿デスプーラ105は、ジョブチケットをOSの出力コマンド、例えばウインドウズのGDI関数に変換し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、指定されたプリンタドライバ106によってプリンタ107に適したコマンドを生成し、プリンタ107に送信する。
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは1ジョブにつき1つ発行される。
そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。
各用紙ノードには、その用紙で印刷されるシートのノードが属する。1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
電子原稿デスプーラ105は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
1.5.5 テンプレート選択処理の説明
次に、製本アプリケーション104におけるテンプレート選択処理について説明する。上述したように製本アプリケーション104では、生成された電子原稿ファイルに対して、出力用紙、ページレイアウト、製本、ステイプル、パンチ、などの印刷設定に関する指定を行うことにより、図4で示した属性をもった文書データを作成することができる。
ここで、製本アプリケーション104では、さらにこのような印刷設定に関する指定(プリンタ107が実行すべき機能についての指定)をテンプレートとして登録することができる。そして、文書の新規作成時には、あらかじめ用意されたテンプレートの中からユーザ所望のテンプレートを選択することができるように構成されている。つまり、テンプレートとは、情報処理装置と接続された印刷装置が印刷時に実行する機能を指定するための情報である。
このテンプレートのデータは文書処理システム100のレジストリに登録して管理されており、製本アプリケーション104は、ユーザが任意にテンプレートデータを変更できるようにするための編集機能も提供している。レジストリとは、各種アプリケーション等の環境設定やドライバの指定などの情報を保存しているファイルである。ウインドウズ(登録商標)オペレーティングシステムでは、バイナリファイルとして保存されているために、汎用のテキストエディタ等では変更することが不可能となっている。製本アプリケーション104は、このバイナリファイルを読み出して、ユーザに編集可能なデータとして提示し、編集を行わせる機能を有している。
さらに、製本アプリケーション104は、テンプレート情報をファイルにして保存する機能を持つとともに、インポート/エクスポート機能を有する。これにより、テンプレートファイルを他のPCへ持ち出したり、他のPCからテンプレートデータを取り込んだりすることができる。
図12は新規に文書データを生成する際に、製本アプリケーション104において表示されるテンプレート選択のためのウィンドウの表示例である。ユーザはこの画面上で製本アプリケーション104が用意しているテンプレートの中から好きなテンプレートを選択することが可能である。
図13は製本アプリケーション104において文書データを編集中に、現在のテンプレートを変更するための「テンプレート選択」ウィンドウ1301の表示した場合の一例である。
ユーザは、このウィンドウ上で、テンプレートを変更することが可能である。さらに、ユーザは、このテンプレートを新たに作成し登録することも可能である。
2.文書処理システム100の特徴的な構成
上述のような構成及び機能を有する文書処理システム100において、本実施形態にかかる文書処理システム100は、更に、テンプレート選択処理に用いられるテンプレートを編集するための編集機能において特徴的な構成を備える。以下、本実施形態にかかる文書処理システム100におけるテンプレート編集機能の特徴的な構成について、詳細を説明する。
2.1 従来のテンプレート編集機能
本実施形態にかかる文書処理システムにおけるテンプレート編集機能と対比すべく、はじめに、従来のテンプレート編集機能について説明する。
図14は、製本アプリケーション104において、テンプレートを編集するための「テンプレート設定」ウィンドウ1401の表示例を示す図である。図14に示すように、「テンプレート設定」ウィンドウ1401の一覧表示欄1405には、製本アプリケーション104が用意するテンプレートの一覧が表示される。ここで、ユーザが所望のテンプレートを選択し、「編集」ボタン1406をクリックすると、図15のテンプレート編集画面が表示され、選択したテンプレートの設定を自由に変更することが可能となる。
また、「追加」ボタン1402をクリックした場合も、図15の「テンプレート編集」画面が表示される。その場合、表示されるテンプレートの設定はデフォルト値(1UP、片面、フィニッシングなし)となっている。このため、ユーザは、新しいテンプレート名称を指定し、個々の設定内容を変えることで、新しいテンプレートを作成することができる。なお、作成したテンプレートは、文書処理システム100に登録することができる。
なお、図14の「テンプレート設定」ウィンドウ1401においてエクスポートボタン1404を選択すると、文書処理システム100のレジストリに登録されているテンプレートをファイルとして保存することができる。また、インポートボタン1403を選択すると、テンプレートファイルを新たに文書処理システム100のレジストリに登録することができる。
このように、従来のテンプレート編集機能では、ユーザが、登録されているテンプレートを自分の好みの設定に変えることでテンプレートを作成していた。あるいは新しくテンプレート名称を指定し、デフォルト値(例えば、1UP、片面、フィニッシングなしのような設定)を初期値として新たに作成することでテンプレートを編集していた。
換言すると、印刷装置が有する機能に変化(追加/削除)があった場合には、その都度、ユーザは、対応するテンプレートの編集作業を行わなければならなかった。
2.2 本実施形態におけるテンプレート編集機能
2.2.1 テンプレート編集機能についての機能構成
図16は、本実施形態にかかる文書処理システム100におけるテンプレート編集機能に関する機能構成を示した図である。なお、図16の製本アプリケーション104及びプリンタドライバ106はそれぞれ図1に記載の104及び106に対応している。
図16において、1601はプリンタドライバ106が文書処理システム100に追加または削除されたかどうか(プリンタドライバ106の追加または削除の有無を)監視するデバイス登録監視部である。
1608は文書処理システム100に登録済みのプリンタドライバが記載されたドライバリストを格納するドライバ登録データベース(以降DB)である。1601はデバイス登録監視部であり、定期的に文書処理システム100に登録されているプリンタドライバの情報をドライバリストに基づいて確認し、プリンタドライバの追加または削除に関する情報を確認する。なお、デバイス登録監視部1601は、文書処理システム100にプリンタドライバが追加または削除されたタイミングでOSが発行するイベントを監視することで、プリンタドライバの追加または削除に関する情報を確認するようにしてもよい。
1602は動作モード制御部であり、ユーザにより選択された動作モード(詳細は後述)によりテンプレートアンインストール部1604、テンプレート生成部1607のいずれの機能を動作させるかを判断する。
1604はテンプレートアンインストール部であり、プリンタドライバが削除されたタイミングで、それに対応するテンプレートから対応するプリンタドライバについての情報を削除するか、もしくはテンプレート自体を削除する。
1609はテンプレートDBであり、文書処理システム100内の製本アプリケーション104により使用されるテンプレートを登録するDBである。
1603は印刷装置列挙部であり、選択されたテンプレートで印刷が可能なプリンタドライバのリストを列挙する。1605はデバイス能力取得部であり、ドライバSDK等を使って印刷装置の持つ能力(機能)を取得する。1606は機能差判定部であり、デバイス能力取得部1605で取得した印刷装置の機能と、既に文書処理システム100に登録されている機能とを比較し、機能差があるか否かを判定する。
1611は機能大分類DB(機能大分類についての説明は後述)であり、印刷装置が有する機能をカテゴライズ可能なグループ毎(例:パンチ2穴、パンチ3穴はパンチとして同じグループにカテゴライズされる)に分類し記憶する。
1607はテンプレート生成部であり、文書処理システム100に登録されたプリンタドライバに新機能があると判定された場合に、その新機能に対応したテンプレートを、機能抽象化テンプレートDB1610のデータに基づいて自動生成する。なお、機能抽象化テンプレートDB1610についての説明は後述するものとする。
1612は動作モード登録部であり、テンプレートの自動生成に関わる動作モード(詳細は後述)を登録する。1613は機能抽象化テンプレート登録部あり、抽象化した機能の組み合わせを登録する。
2.2.2 テンプレート編集機能に関するUI
図17は、製本アプリケーション104におけるテンプレート編集機能に関するUI(新規作成ダイアログ)の一例を示す図である。
図17に示すように、新規作成ダイアログには、「テンプレート使用モードの選択」欄1701があり、ユーザは、テンプレート編集機能を動作させるにあたり、3つの動作モードから所望の動作モードを選択することができる。以下、各動作モードについて説明する。
(1)デフォルトテンプレート使用モード
デフォルトテンプレートとは、既存の文書処理システム100に登録されたテンプレートのみを使用するモードである。デフォルトテンプレート使用モードでは、プリンタドライバに新機能が追加された場合、その機能に対応したテンプレートをユーザが手動で登録する。
(2)テンプレート自動生成モード(自動アンインストールあり)
テンプレート自動生成モードとは、文書処理システム100にプリンタドライバが登録されると、プリンタドライバに新機能が追加されているかどうかを判断し、追加されていると判断された場合には、それに対応するテンプレートを自動生成する。テンプレート自動生成モード(自動アンインストールあり)では、登録されたプリンタドライバが文書処理システム100からアンイスントールされると、それに対応したテンプレートを削除する。あるいはテンプレートから当該プリンタドライバに関する情報を削除する。
(3)テンプレート自動生成モード(自動アンインストールなし)
上記(2)に対して自動アンイスントール処理を行なわないモードである。
このように、デフォルトテンプレート使用モードは、広義の手動モードであり、テンプレート自動生成モード(自動アンインストールあり)とテンプレート自動作成モード(自動アンインストールなし)は、広義の自動モードである。
図18は、図17の「機能抽象化テンプレートの登録」ボタン1702を押下した場合に表示される「機能抽象化テンプレートの登録」ダイアログの一例である。「機能抽象化テンプレートの登録」ダイアログを用いることにより、ユーザは、機能抽象化テンプレートを新たに機能抽象化テンプレートDB1610に登録することができる。
「機能大分類項目」表示欄1801は、機能大分類DB1611に登録されている機能大分類を表示する表示欄である。
ユーザが、「機能大分類項目」表示欄1801から任意の機能大分類項目を選択し、「追加」ボタン1802を押下すると、当該選択した機能大分類項目が、「抽象化テンプレート組み合わせ」表示欄1804に表示される。なお、「抽象化テンプレート組み合わせ」表示欄1804に表示された機能大分類項目については、「削除」ボタン1803を押下することにより、削除される。
「OK」ボタン1806が押下されると、「機能抽象化テンプレート組み合わせ」表示欄1804に表示された機能が、「抽象化テンプレート名」記入欄1805に記入された名称により、機能抽象化テンプレートDB1610に登録される。
2.2.3 機能大分類及び機能抽象化テンプレートについての説明
次に、上述の機能大分類及び機能抽象化テンプレートについて、図19、図20、図21を用いて詳細に説明する。
図19は、機能大分類の概念を表した図である。一般に、印刷処理の機能には綴じの位置、穴あけの穴の数、折りの折り方等、多くのバリエーションがある。これら機能のバリエーションをカテゴライズし、綴じ方法、穴あけ方法、折り方法といった抽象的なグループに分類することを本明細書では機能大分類と呼ぶ。
図20は、機能大分類の一例であり、機能大分類項目とそれに属する機能との対応関係を示す図である。この例では、印刷処理の機能を、用紙サイズ、用紙タイプ、面付け、印刷処理、排紙処理、折りといったグループに大分類し、用紙サイズ、用紙銘柄はユーザが事前登録した設定を使用する場合を示している。また、機能大分類項目としての印刷方法には、片面、両面印刷、製本中綴じ印刷といった機能が含まれることを表している。
図21は、機能抽象化テンプレートの例であり、本明細書では機能大分類を組み合わせることにより作られたテンプレートを機能抽象化テンプレートと呼ぶ。機能抽象化テンプレートの登録方法は、図18を用いて説明した通りである。
2.3 本実施形態におけるテンプレート編集処理の流れ
次に本実施形態にかかる文書処理システム100におけるテンプレート編集処理の流れについて説明する。
2.3.1 前処理の流れ
はじめに、本実施形態におけるテンプレート編集処理を実行させるための前処理の流れについて説明する。
図22は、製本アプリケーション104が実行するテンプレート自動生成の前処理として必要な、動作モードの登録処理及び機能抽象化テンプレートの登録処理の流れを示すフローチャートである。
ステップS2201において、製本アプリケーション104は、テンプレート自動生成の動作モードの登録を受け付ける。具体的には、製本アプリケーション104が、ユーザにより図17の「テンプレート使用モードの選択」欄1701を介して入力された動作モードを受け付ける。
ステップS2202において、製本アプリケーション104は、ステップS2201において受け付けた動作モードがテンプレート自動生成モードであるかどうか判断する。ここでテンプレート自動生成モードが選択されていたと判断された場合、ステップS2203へ進む。
ステップS2203において、製本アプリケーション104は、用紙サイズや用紙銘柄など複数の選択肢があるものに対し、自動生成時に組み合わせを行う選択肢をあらかじめ登録する。たとえば、A4、A3用紙をテンプレートの自動生成時に組み合わせたい場合には、用紙サイズを事前に登録しておく。
ステップS2204において、製本アプリケーション104は、機能抽象化テンプレートの登録を行う。具体的には、「機能抽象化テンプレートの登録」ダイアログ(図18)において「OK」ボタン1806が押下された際に、「機能抽象化テンプレート組み合わせ」表示欄1804に表示された機能大分類項目が機能抽象化テンプレートDB1610に登録される。
2.3.2 テンプレート編集処理の流れ
図23は、製本アプリケーション104におけるテンプレート編集処理の流れを示すフローチャートである。
デバイス登録監視部1601でプリンタドライバの追加または削除の有無が確認されるとステップS2301に進む。
ステップS2301では、動作モード制御部1602が動作モードを確認し、テンプレート自動生成モードが設定されているかどうか判断する。ここで自動生成モードが設定されていると判断された場合にはステップS2302へ進む。
ステップS2302では、デバイス登録監視部1601が、プリンタドライバの追加が行なわれたか否かを判定する。ステップS2302において、プリンタドライバの追加が行なわれたと判定された場合、テンプレート生成部1607は、ステップS2303においてテンプレート自動生成処理を実行したのち、ステップS2304に進む。一方、プリンタドライバの追加が行われていないと判定された場合には、直接、ステップS2304へ進む。なお、テンプレート自動生成処理(ステップS2303)の詳細は後述する。なお、ステップS2302では、プリンタドライバの追加を監視しているが、プリンタドライバに限定する必要はない。例えば、デバイス登録監視部1601が、新たに印刷装置が接続されたか否かを監視しても良い。この場合、新たな印刷装置が接続された場合、ステップS2303へと処理が進む。
ステップS2304において、デバイス登録監視部1601は、プリンタドライバの削除が行なわれたか否かを判定する。ステップS2304においてプリンタドライバの削除が行われたと判定された場合には、ステップS2305に進む。ステップS2305において、テンプレートアンインストール部1604は、自動アンインストールありと設定されているか否かを判定する。ステップS2305において、自動アンインストールありと設定されていると判定された場合、テンプレートアンインストール部1604は、ステップS2306においてテンプレートアンインストール処理を実行したのち、処理を終了する。一方、プリンタドライバの削除ではないと判定された場合、あるいは自動アンインストールなしと設定されていると判定された場合には、そのまま処理を終了する。なお、テンプレートアンインストール処理(ステップS2306)の詳細は後述する。
2.3.3 テンプレート自動生成処理(ステップS2303)の流れ
図24は、テンプレート自動生成処理(ステップS2303)の詳細を示すフローチャートである。テンプレート自動生成処理は、製本アプリケーション104のテンプレート生成部1607、機能差判定部1606、デバイス能力取得部1605において実行される。
ステップS2401では、デバイス能力取得部1605が、ドライバSDKを使って印刷装置の能力を取得する。ここでは、具体的な例として以下のデバイス能力が取得されたものとして以降のフローチャートの説明を行う。
<ステップS2401で取得した印刷装置の能力例>
本実施例において例えばドライバの追加により当該ドライバに対応する印刷装置から取得された機能情報は、V折、C折、片面印刷、両面印刷、中綴じ印刷、1箇所綴じ、2箇所とじ、バインダー2穴、バインダー4穴、多穴パンチとする。
ステップS2402及びS2403は、機能差判定部1606が、ステップS2401にて取得された機能がどの機能大分類に属するかを判定し、機能差を判定する。
具体的には、ステップS2402において、機能差判定部1606は、ステップS2401において取得した機能をグループ分けし、各機能大分類項目に分類する機能大分類を行う。
機能大分類を行うための方法としては、例えば、SDKから分類属性の情報を取得する方法(「V折」の能力を取得した際に、「V折」がどの機能大分類項目に該当するのかといった情報も同時に取得する方法)が考えられる。あるいは、機能分類ルールを予め文書処理システム100に登録しておき、そのルールに従い分類する方法(「V折」に対応する機能大分類項目の対応関係を事前に分類ルールとして定義しておき、分類時にそれを参照して機能大分類を行う方法)が考えられる。
ここで、ステップS2401で取得した機能を機能大分類した場合の分類結果の一例を以下に示す。
<機能大分類例>
・折り (V折、C折)
・印刷方法 (片/両面/中綴じ)
・とじ方法 (1箇所綴じ、2箇所とじ)
・穴空け方法 (バインダー2穴、バインダー4穴、多穴パンチ)
また、ステップS2403において、機能差判定部1606は、機能差の判定を行う。具体的には、機能大分類された機能が、既に登録済みの機能であるか否かを判定する。判定に際しては、文書処理システム100に既に登録されている複数のプリンタドライバから取得した機能に基づいて生成され、文書処理システム100に記憶されている機能大分類の一覧情報(既存登録機能)を用いる。そして、当該機能大分類の一覧情報とステップS2402において生成された機能大分類の一覧情報との比較を行い、差分機能(文書処理システム100にとっての新機能。印刷装置において新たに実行可能となった機能)があればステップS2404へ進む。つまり、製本アプリケーション104は、情報処理装置において選択可能となった印刷装置の当該差分機能を登録すべき機能であると特定する。
なお、以下は差分機能と判定された具体的な判定結果の一例である。
既登録機能が以下の例の場合、ステップS2402において機能大分類された機能と比較すると、機能大分類「折り」に対して「C折」が差分機能となる。また、「穴あけ方法」に対して「多穴パンチ」が差分機能となる。一方、「印刷方法」「とじ方法」には差分機能がない。
<既登録機能例>
・折り (V折、Z折) →差分機能「C折」
・印刷方法 (片/両面/中綴じ)
・とじ方法 (1箇所綴じ、2箇所とじ)
・穴空け方法 (バインダー2穴、バインダー4穴)→差分機能「多穴パンチ」
ステップS2404以降の処理は、テンプレート生成部1607において実行される。
ステップS2404において、テンプレート生成部1607は、機能抽象化テンプレートの登録数をカウントする。具体的には、機能抽象化テンプレートDB1610に登録されている機能抽象化テンプレートの数をカウントしCnt_maxに代入するとともに、カウンタ(Cnt)に1をセットする。
ステップS2405において、テンプレート生成部1607は、機能抽象化テンプレートの登録数とカウンタ数とを比較する。カウンタ数CntがCnt_maxを超えた場合は処理を終了する。一方、カウンタ数CntがCnt_maxを超えていないと判定された場合には、ステップS2406に進む。
ステップS2406において、テンプレート生成部1607は、機能抽象化テンプレートを読み出し、読み出した機能抽象化テンプレートにステップS2403で判定された差分機能に対応する機能大分類項目が含まれているか否かを判定する。
具体的に前記例において説明すると、読み込んだ機能抽象化テンプレートが機能大分類項目として「印刷方法」と「とじ方法」とから構成される場合、テンプレート生成部1607は、差分機能に対応する機能大分類項目が含まれていないと判定する。一方、読み込んだ機能抽象化テンプレートが、機能大分類項目として「用紙サイズ」、「印刷方法」、「折り」とを含む場合、テンプレート生成部1607は、差分機能に対応する機能大分類項目が含まれていると判定する。ここで、当該機能大分類項目が含まれていると判定された場合には、ステップS2407進み、それ以外であればステップS2410に進む。
ステップS2407において、テンプレート生成部1607は、新規テンプレートを作成する。具体的には、機能抽象化テンプレートを構成している機能大分類項目に対して機能追加があった機能大分類項目の組み合わせについて、テンプレートを自動生成する。なお、以下では、機能抽象化テンプレートを構成している機能大分類項目に対して、“用紙サイズ”、“印刷方法”、“折り”の組み合わせが選択されたものとして説明する。
この場合、各機能大分類項目の機能として、
・用紙サイズ:ユーザが事前登録した用紙サイズ(例:A4,A3)
・印刷方法 :片/両面/中綴じ印刷
・折り :C折
の組み合わせでテンプレートの自動生成を行う。
具体的に自動生成されるテンプレートの組み合わせは以下のようになる。
・テンプレート1:A4、片面、C折
・テンプレート2:A4、両面、C折
・テンプレート3:A4、中綴じ、C折
・テンプレート4:A3、片面、C折
・テンプレート5:A3、両面、C折
・テンプレート6:A3、中綴じ、C折
ステップS2408において、テンプレート生成部1607は、ステップS2407で生成した各テンプレートがプリンタドライバ106で使用可能であるかチェックする(以後、かかるチェックをコンフリクトチェックと称す)。コンフリクトチェックの方法としては、例えば、テンプレートの設定をSDKを使ってプリンタドライバ106にセットし、コンフリクトチェックを行う方法等が既知の技術として知られている。
なお、コンフリクトチェックにおける判断方法としては、例えば、テンプレートの設定が少なくとも文書処理システム100に登録されている1つのプリンタドライバで有効であれば、コンフリクト無しと判定する方法が挙げられる。あるいは、全てのプリンタドライバに対して共通に設定可能な場合のみコンフリクト無しと判定する方法も挙げられる。ここではいずれの判断方法であっても有効であるが、本実施形態では前者の判断方法で説明を行うこととする。
テンプレートに対して行ったコンフリクトチェックの結果は、テンプレート設定及びそのテンプレートが使用可能なプリンタドライバと対応付けられて、テンプレート管理情報(以下、テンプレート情報と称す)として管理される。
図25は、テンプレート情報の一例であり、テンプレート1、2は使用可能なプリンタドライバが存在したためコンフリクト無しと判定され、テンプレート3は、使用可能なプリンタドライバが存在しなかったためコンフリクト有りと判断されている。
ここで、ステップS2407で生成した全てのテンプレートに対してコンフリクトがあった場合(使用可能なプリンタドライバがない場合)には、テンプレートの登録を中止してステップS2410に進み、それ以外であればステップS2409へ進む。
ステップS2409において、テンプレート生成部1607は、ステップS2408におけるコンフリクトの判断結果(図25参照)に基づいてテンプレート情報を文書処理システム100に登録する。つまり、製本アプリケーション104は、コンフリクトが無しと判断されたテンプレート情報を文書処理システム100に登録する。
登録したテンプレート情報が、テンプレートDB(1609)に格納され、処理が終了すると、ステップS2410に進み、カウンタ(Cnt)の数を1増加させる。
以上の処理を、Cnt>Cnt_maxとなるまで繰り返すことで、テンプレート自動生成処理が完了する。
2.3.4 テンプレートアンインストール処理(ステップS2306)の流れ
図26は、テンプレートアンインストール処理(ステップS2306)の詳細を示すフローチャートである。テンプレートアンインストール処理は、製本アプリケーション104のテンプレートアンインストール部1604において実行される。
ステップS2601において、テンプレートアンインストール部1604は、テンプレート情報の登録数をカウントする。具体的には、テンプレートDB(1609)に登録されているテンプレート情報の数(登録数)をカウントしCnt_maxに保存したのち、カウンタ(Cnt)に1をセットする。
ステップS2602において、テンプレートアンインストール部1604は、ステップS2601にてカウントされた登録数とカウンタ数を比較する。ステップS2602において、カウンタ数Cntが登録数Cnt_maxを超えたと判定された場合には処理を終了する。一方、カウンタ数Cntが登録数Cnt_max以下であった場合には、ステップS2603に進む。
ステップS2603において、テンプレートアンインストール部1604は、テンプレート情報をテンプレートDB(1609)から読み出す。
ステップS2604において、テンプレートアンインストール部1604は、ステップS2603において読み出されたテンプレート情報に格納されている使用可能なプリンタドライバの中に、削除されたプリンタドライバが含まれているか判断する。なお、プリンタドライバの削除は、デバイス登録監視部1601により検出される。
ステップS2604において、削除されたプリンタドライバが含まれていたと判定された場合には、ステップS2605へ進み、含まれていないと判定された場合にはステップS2608へ進む。
ステップS2605において、テンプレートアンインストール部1604は、テンプレート情報に格納されている使用可能なプリンタドライバとして複数のプリンタドライバが登録されているか否かを判断する。登録されているプリンタドライバが1つの場合には、ステップS2606へ進み、当該テンプレート情報の削除を行う。一方、複数のプリンタドライバが登録されていると判断された場合には、ステップS2607へ進む。
ステップS2607において、テンプレートアンインストール部1604は、削除されたプリンタドライバの情報を、テンプレート情報中の使用可能なプリンタドライバから削除する。以上の処理を行い、ステップS2608へ進みカウンタ(Cnt)の数を1増加させる。
以上の処理を、Cnt>Cnt_maxとなるまで繰り返すことで、テンプレートアンインストール処理が完了する。
ここで、本実施例を用いることにより表示されるテンプレートについて説明する。
図33は、製本アプリケーション104に既に登録されているテンプレートを示す図である。図33に示すように、現状の製本アプリケーション104は、19個のテンプレートを管理している。
ここで、本願の処理を実行することにより新たなテンプレートが登録されたため、図34では、新規テンプレート3401が追加されており、さらにスライドバー3402が表示されている。このスライドバー3402は、図34において、テンプレート3401以降にもテンプレートが登録されていることを示している。
以上の説明から明らかなように、本実施形態にかかる文書処理システムでは、印刷装置が有する機能に変化があると、使用可能なテンプレートが自動生成される。この結果、従来必要であったテンプレートの編集作業が不要となり、ユーザの操作性が大幅に向上する。一方、プリンタドライバの削除等により使用不可能な状態となったテンプレートが自動的に削除されるため、ユーザが、誤って使用不可能なテンプレートを選択する不具合を解消できる。
また、製本アプリケーションから複数の印刷装置から1つを選択できる場合、製本アプリケーションは、複数の印刷装置の機能情報を管理しており、複数の印刷装置の機能情報を用いてテンプレートを生成すべきか否かを判定する。このような、判定処理は、アプリケーションならではの特徴的な機能の1つであり、当該機能を備えているため、上述した本願の課題を解決することが可能となる。
[第2の実施形態]
上記第1の実施形態では、文書処理システムにプリンタドライバが新たに追加された場合の処理について説明した。これに対して、本実施形態では、テンプレートが文書処理システムにインポートされた場合の処理について説明する。
インポートの例としては、例えばあるユーザAが、自らの製本アプリケーションで生成したテンプレートをユーザBの製本アプリケーションへ送信する場面が考えられる。この場合、ユーザBの製本アプリケーションが、テンプレートをインポートすることになる。しかしながら、インポート機能を利用してテンプレートを受信する場合、インポートしたテンプレートが当該システム(例えばユーザB)で使用できるとは限らない。そのため、ユーザBは受信したテンプレートの使用可否を確認しなければならなかった。本第2の実施形態ではこのようなインポート時の課題を解決することを目的とする。以下、本発明の第2の実施形態について図面を参照しながら詳細に説明する。なお、第2の実施形態については、上記第1の実施形態と相違する部分について説明することとする。
図27は、テンプレートのインポートからテンプレートの自動生成を行うまでの処理の流れを示すフローチャートである。
ステップS2701において、製本アプリケーション104は、テンプレートのインポートを受け付ける。ステップS2702において、製本アプリケーション104は、機能大分類DB1611を参照しながら、当該テンプレートを構成する機能を分類する。
ステップS2703において、製本アプリケーション104は、ステップS2702にて分類した機能に基づいて、機能抽象化テンプレートを生成する。
ここで、ステップS2703において抽象化テンプレートを生成する処理について具体例を挙げて以下に説明する。
ここでは、機能大分類DB1611に定義されているデータ例として、下記(1)の機能大分類データと、インポートしたテンプレートのデータ例である下記(2)のインポートテンプレートとを用いて説明する。
(1)機能大分類データ例
・折り (V折、C折)
・印刷方法 (片/両面/中綴じ)
・とじ方法 (1箇所綴じ、2箇所とじ)
・穴空け方法 (バインダー2穴、多穴パンチ)
(2)インポートテンプレート例
・片面+多穴+V折
この場合、インポートテンプレートの各機能が、機能大分類データのどの機能大分類項目に合致するか判定することにより、下記(3)に示す機能抽象化テンプレートが得られる。すなわち、(2)のインポートテンプレート例における「片面」を(1)の機能大分類データ例に当てはめると、「片面」の抽象化結果は、「印刷方法」となる。同様に「多穴」の抽象化結果は、「穴あけ方法」であり、「V折」の抽象化結果は、「折り」である。よって、(2)のインポートテンプレート例の抽象化結果は、下記(3)のようになる。
(3)機能抽象化テンプレート
・折り+印刷方法+穴あけ方法
ステップS2704において、製本アプリケーション104は、ステップS2703で抽出された機能抽象化テンプレートが新規テンプレートであるかを判断する。具体的には、機能抽象化テンプレートDB1610を検索し、同じ組み合わせのテンプレートがあるかどうかを判定する。
ここで、同じ組み合わせのテンプレートがある場合(ステップS2704−No)、製本アプリケーション104は、ステップS2706に進み、インポートしたテンプレートに対してコンフリクトチェックを行う。コンフリクトが発生しなければテンプレート情報と共にテンプレートDB1609に登録する。つまり、上記例において、製本アプリケーション104は、受信した「片面+多穴+V折」のテンプレートのコンフリクトチェックを行ってからテンプレートDB1609へ登録する。
また、新規の機能抽象化テンプレートと判定された場合には、ステップS2705へ進み、テンプレート自動生成処理を実行する。
図28はステップS2705におけるテンプレート自動生成処理の詳細を表したフローチャートである。
ステップS2801において、製本アプリケーション104は、ステップS2703で抽出された機能抽象化テンプレートに含まれる機能大分類項目を読み出す。
上述の具体例を使って説明する、ステップS2801にて読み出される機能大分類項目は、以下のようになる。
<機能大分類項目>
・折り
・印刷方法
・穴あけ方法
ステップS2802において、製本アプリケーション104は、各機能大分類項目に登録されている機能を組み合わせて新規テンプレートの作成を行う。上述の具体例を使って説明すると、インポートされたテンプレートに基づく抽象化テンプレートは、「折り+印刷方法+穴あけ方法」である。よって、「折り+印刷方法+穴あけ方法」のテンプレートを生成するために、製本アプリケーション104は、各機能大分類項目に登録されている機能を読み出す。
ここで、ステップS2801で読み出される機能大分類項目に登録されている機能は以下のようになる。
・折り :V折、C折
・印刷方法 :片/両面/中綴じ
・穴空け方法 :バインダー2穴、多穴パンチ
したがって、これらの機能の組み合わせによりテンプレートの自動生成が行われる。具体的に生成されるテンプレートの組み合わせは以下のようになる。
・V折、片面、バインダー2穴
・V折、片面、多穴パンチ
・V折、両面、バインダー2穴
・V折、両面、多穴パンチ
・V折、中綴じ、バインダー2穴
・V折、中綴じ、多穴パンチ
・C折、片面、バインダー2穴
・C折、片面、多穴パンチ
・C折、両面、バインダー2穴
・C折、両面、多穴パンチ
・C折、中綴じ、バインダー2穴
・C折、中綴じ、多穴パンチ
ステップS2803において、製本アプリケーション104は、ステップS2802で生成した各テンプレートが印刷装置で使用可能であるかチェックする(コンフリクトチェック)。これは、上記第1の実施形態において説明したステップS2408の処理と同様である。
ここで、ステップS2802で生成した全てのテンプレートに対してコンフリクトがあった場合(使用可能なプリンタドライバがない場合)には処理を終了させる。一方、それ以外の場合には、ステップS2804へ進む。
ステップS2804において、製本アプリケーション104は、ステップS2802においてコンフリクトが無いと判定されたテンプレート情報を文書処理システム100に登録する。具体的には、テンプレート情報をテンプレートDB1609に格納する。
以上の説明から明らかなように、本実施形態によれば、テンプレートを新たにインポートした際にも、当該インポートされたテンプレートに基づく抽象化テンプレートのテンプレートを自動生成することが可能となる。
[第3の実施形態]
上記第1、第2の実施形態では、プリンタドライバが追加または削除された場合、あるいはテンプレートがインポートされた場合に、自動的にテンプレートを生成する構成とした。しかし、自動生成される全てのテンプレートがユーザの使用に適するとは限られず、使用しないテンプレートが自動生成されてしまうこともありえる。
このような問題を解決するためには、テンプレート登録時に登録を行うか否か(登録可否)の確認を行う登録確認モードを追加することが有効である。そこで、本実施形態では、上記第1の実施形態にかかる文書処理システム100に登録確認モードを付加した場合について説明する。なお、登録確認モードの追加は、上記第1の実施形態において説明した図22のステップS2201に登録確認モードを追加するとともに、図24のステップS2409の処理を、図32の処理に置き換えることにより実現可能である。以下、上記第1の実施形態と相違する部分を中心に説明する。
図29は、新規作成ダイアログ(図17)に、テンプレート登録確認モードの動作モードを追加したUI画面の一例を示す図である。UI画面中にある「自動生成テンプレートの登録確認を行う」のチェックボックス2901をONにすることで登録確認モードがONとなる。
図30、31は、本実施形態にかかる文書処理システムにおいて、登録確認モードがONとなっていた場合に表示されるUIの一例を示す図である。
図30は、テンプレートの登録確認を行うダイアログの一例である。ダイアログ内の「自動生成テンプレート一覧」3001には、ステップS2408でコンフリクト無しと判定されたテンプレートの一覧が表示される。
ここで、ユーザは、登録を行いたいテンプレートに対しては、「自動生成テンプレート一覧」3001に表示されているテンプレートに対応するチェックボックスをONにし(登録可の指示をし)、「OK」ボタン3002を押下する。また、「自動生成テンプレート一覧」3001がハイライトしている状態で「詳細設定表示」ボタン3003を押下することで、図31の「テンプレートの詳細設定」ダイアログ(図31)が表示されるため、そこで詳細設定の変更を行うことができる。
図32は、テンプレートの登録確認を行う場合の新規テンプレート登録処理の流れを示すフローチャートである。
ステップS3201において、製本アプリケーション104は、テンプレートの登録確認モードの判定を行う。登録確認モードがONになっていると判定された場合、ステップS3202へ進む。
ステップS3202において、製本アプリケーション104は、自動生成したテンプレートでコンフリクト無しと判定されたテンプレートの一覧を生成してUI画面として表示する。具体的には、「テンプレートの登録」ダイアログ(図30)を開く。本ダイアログの「自動生成テンプレート一覧」3001が、その表示例である。
ステップS3203において、製本アプリケーション104は、「テンプレートの登録」ダイアログ(図30)の「OK」ボタン3002もしくは「キャンセル」ボタン3004が押下されたか判定する。いずれかのボタンが押下されたと判定された場合には、ステップS3207へ進む。
ステップS3204において、製本アプリケーション104は、「自動生成テンプレート一覧」3001内のテンプレートが選択され、「詳細設定表示」ボタン3003が押下されたかどうか判定する。「詳細設定表示」ボタン3003が押下されたと判定された場合には、ステップS3205へ進む。
ステップS3205において、製本アプリケーション104は、詳細設定のUI画面を表示する。具体的には、ステップS3204で選択されたテンプレートの詳細設定情報を表示する。これにより、ユーザは設定の変更が可能となる。なお、図31の「テンプレートの詳細設定」ダイアログは本ステップで表示するUI画面の表示例である。
ステップS3206において、製本アプリケーション104は、「テンプレートの詳細設定」ダイアログの「OK」ボタン3101が押下された場合の処理を行う。ここで「OK」ボタン3101が押下された場合、「テンプレートの詳細設定」ダイアログ内の設定で当該テンプレートの設定を上書きし、「キャンセル」ボタン3104が押下された場合には、テンプレートに変更は加えない。
ステップS3207において、製本アプリケーション104は、「テンプレートの登録」ダイアログで「OK」ボタン3202が押下され、登録すべきテンプレートのチェックボックスがONになっているものがあるかどうかを判定する。ここで、該当するテンプレートがあると判定された場合には、当該テンプレートを登録すべきテンプレートがあるものとしてステップS3208へ進む。
ステップS3208において、製本アプリケーション104は、ステップS3207において選択されたテンプレートを文書処理システム100のテンプレートDB1609に登録する。
ステップS3209において、製本アプリケーション104は、ステップS2409と同様に、ステップS2408でコンフリクトが無しと判定されたテンプレートのみを文書処理システム100に登録する。
以上の説明から明らかなように、本実施形態にかかる文書処理システムでは、自動生成されたテンプレートを登録するにあたり、ユーザが登録確認を行ったうえで登録する構成とした。この結果、ユーザにとって不要なテンプレートが登録されるといった事態を回避することが可能となる。
なお、本願では、上記処理を製本アプリケーション104が実行する技術として説明したが、プリンタドライバが実行しても構わない。
[他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって実現される場合も含まれる。