<本実施形態の文書処理システムのソフトウエア構成例>
〔第1実施形態〕
図1は、本発明の第1実施形態を示す文書処理装置を適用可能な文書処理システムのソフトウエア構成を示す図である。
図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によって作成されたままの電子原稿ファイル103は、電子原稿ファイル103として完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイル103への変換が実行される。
製本アプリケーション104は、電子原稿ライタ102が生成した新規の不完全な電子原稿ファイル102Aを後述する形式を備えた電子原稿ファイル103として完成させる。
以下では、この点を明瞭に識別する必要がある際には、電子原稿ライタ102によって作成されたファイルを電子原稿ファイル102Aと呼び、製本アプリケーションによって構造を与えられた電子原稿ファイルをブックファイル103と呼ぶ。
また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
このようにデバイスドライバとして電子原稿ライタ102を指定し、一般アプリケーション101によりそのデータを印刷させることで、アプリケーションデータはアプリケーション101によって定義されたページ(以後、「論理ページ」あるいは「原稿ページ」と呼ぶ。)を単位とする電子原稿形式に変換され、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。
なお、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション104は、電子原稿ファイルあるいはブックファイル103を読み込み、それを編集するための機能を利用者に提供する。ただし、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
製本アプリケーション104によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。電子原稿デスプーラ105は、製本アプリケーション104と共にコンピュータ内にインストールされるプログラムモジュールであり、製本アプリケーション104で利用するドキュメント(ブックファイル)を印刷する際に、プリンタドライバ106へ描画データを出力するために使用されるモジュールである。
電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、ブックファイル103に記述された形式で各ページを印刷するために、前述した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は、キーボード(KB)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)320によりアクセスを制御される。外部メモリ314は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、321は操作パネルで、操作のためのスイッチ及びLED表示器等が配されている。
また、前述した外部メモリ314は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル321からのプリンタモード設定情報を記憶するようにしてもよい。
<電子原稿データの形式例>
編集アプリケーション104の詳細を言及する前に、ブックファイル103のデータ形式を説明する。
図1に示したブックファイル103は紙媒体の書物を模した3層の層構造を有する。
上位層は「ブック」と呼ばれ、1冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう「章」に相当し、やはり「章」と呼ばれる。各章についても、章ごとの属性が定義できる。
下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各ページについてもページごとの属性が定義できる。
つまり、1つのブックは複数の章を含んでいてよく、また、ひとつの章は複数のページを含むことができるように構成されている。
図3は、図1に示したブックファイル103の形式の一例を模式的に示す図である。
図3に示す例のブックファイルにおける、ブック、章、ページは、それぞれに相当するノードにより示されている。1つのブックファイルは1つのブックを含む。ブック、章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。
ページは、アプリケーションプログラムによって出力されたページごとのデータを実体として有する。そのため、ページは、その属性値のほか、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。
なお、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
図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は、図3に示したブック属性(文書設定情報403)の一例を示す図である。
図4に示すように、通常、下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、「ブック」属性にのみ含まれる項目に関しては、「ブック」属性に定義された値はブック全体を通して有効な値となる。
しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。
しかし、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。なお、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
「ブック」属性に固有の項目は、(1)「印刷方法」、(2)「製本詳細」、(3)「表紙/裏表紙」、(4)「インデックス紙」、(5)「合紙」、(6)「章区切り」の6項目である。
これらは、ブックを通して定義される項目である。
(1)印刷方法属性としては、「片面印刷」、「両面印刷」、「製本印刷」の3つの値を指定できる。なお、ここで、「製本印刷」とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。
(2)製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
(3)表紙/裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。
(4)インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
(5)合紙属性は、章の区切りとして、インサータからあるいは給紙カセットから供給される用紙の挿入の指定、及び、合紙を挿入する場合には、給紙元の指定などを含む。
(6)章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
図5は、図3に示した章属性(章設定情報407)の一例を示す図であり、図6は、図3に示したページ属性(ページ設定情報411)の一例を示す図である。
なお、「章」属性とページ属性との関係も「ブック」属性と下位層の属性との関係と同様である。
「章」属性に関しては、章に固有の項目はなく、すべて「ブック」属性と重複する。したがって、通常は、「章」属性における定義と「ブック」属性における定義とが異なれば、「章」属性で定義された値が優先する。しかし、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。
「ブック」属性と「章」属性とにのみ共通する項目は、(1)「用紙サイズ」、(2)「用紙方向」、(3)「N−up印刷指定」、(4)「拡大縮小」、(5)「排紙方法」の5項目である。
このうち、(3)「N−up印刷指定」属性は、1印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、例えば1×1や1×2、2×2、3×3、4×4などがある。
(5)「排紙方法」属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。
ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを100%として指定される。仮想論理ページ領域とは、原稿ページを、N−up等の指定に応じて配置した場合に、1原稿ページが占める領域である。
例えば1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
ブック、章、ページについて共通な属性として、ウォーターマーク属性及びヘッダ・フッタ属性がある。
ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるマークである。
ただし、ヘッダ・フッタには、ページ番号や日時など、変数により指定可能な項目が用意されている。なお、ウォーターマーク属性及びヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。
ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
<本実施形態の文書処理システムの操作手順例>
(ブックファイルの生成手順例)
ブックファイルは、上述したような構造及び内容を有している。次に、製本アプリケーション104及び電子原稿ライタ102によってブックファイルを作成する手順を説明する。ブックファイルの作成は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
図7は、本発明に係る文書処理装置における第1のデータ処理手順の一例を示すフローチャートであり、図1に示した製本アプリケーション104によりブックファイルを開く際の手順に対応する。なお、S701〜S704は各ステップを示す。
まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する(S701)。ここで、新規作成であると判定した場合には、章を含まないブックファイルを新規に作成して(S702)、ステップS704へ進む。
なお、新規に作成されるブックファイルは、図3の例で示せば、ブックノード301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。「ブック」属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。
そして、新規ブックファイルを編集するためのユーザインタフェース(UI)画面を表示して(S704)、処理を終了する。
図8は、図2に示したCRT210で表示されるUI画面の一例を示す図であり、例えば新規にブックファイルが作成された際のUI画面の一例である。
この場合には、ブックファイルは実質的な内容を持たないために、UI画面800には何も表示されない。
一方、ステップS701で、既存のブックファイルであると判定された場合は、指定されたブックファイルを開き(S703)、そのブックファイルの構造、属性、内容に従ってユーザインタフェース(UI)画面を表示して(S704)、処理を終了する。
図9は、図2に示したCRT210で表示されるUI画面の一例を示す図であり、例えば指定されたブックファイルを開いた場合のUI画面の一例である。
UI画面900は、ブックの構造を示すツリー部901と、印刷された状態を表示するプレビュー部902とを含む。ツリー部901には、ブックに含まれる章、各章に含まれるページが、図3のような木構造が分かるように表示される。ツリー部901に表示されるページは原稿ページである。プレビュー部902には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
さて、開かれたブックファイルには、電子原稿ライタ102によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。
図7の手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図8あるいは図9の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
図10は、本発明に係る文書処理装置における第2のデータ処理手順の一例を示すフローチャートであり、上記の電子原稿インポート処理手順に対応する。なお。S801〜S804は各ステップを示す。
まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷出力させることで、電子原稿データに変換(生成)する(S801)。
そして、変換を終えたなら、変換されたデータが画像データであるか否かを判定する(S802)。この判定は、ウインドウズ(登録商標)OSの下であれば、アプリケーションデータのファイル拡張子に基づいて行うことができる。例えば、拡張子が「bmp」であればウインドウズ(登録商標)ビットマップデータであり、「jpg」であればJPEG圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。
また、このような画像データである場合は、ステップS801のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、ステップS801の処理を省略することも可能である。
一方、ステップS802で、画像データでなかったと判定された場合には、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加して(S803)、処理を終了する。
通常、「章」属性としては、「ブック」属性と共通するものについては「ブック」属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定されるが、本実施形態では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。
一方、ステップS802で、画像データであると判定した場合には、原則として新たな章は追加されず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページが追加され(S804)、処理を終了する。
ただし、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。
通常、ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。
例えば、N−up指定などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
しかし、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。
図11は、本発明に係る文書処理装置における第3のデータ処理手順の一例を示すフローチャートであり、図10に示したステップS801において、電子原稿ライタ102により電子原稿ファイルを生成させる手順を示すフローチャートである。なお、S901〜S904は各ステップを示す。
まず、新たな電子原稿ファイルを作成してそれを開く(S901)。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタ102をデバイスドライバとして、OSの出力モジュールに対して出力コマンドを送信させる。
出力モジュールは、受信した出力コマンドを電子原稿ライタ102によって電子原稿形式のデータに変換し、出力する(S902)。出力先は、ステップS901で開いた電子原稿ファイルである。
次に、指定されたデータすべてについて変換が終了したか判定し(S903)、終了していないと判断した場合は、ステップS902へ戻り、終了していると判断した場合は、電子原稿ファイルを閉じて(S904)、処理を終了する。
これにより、電子原稿ライタ102によって生成される電子原稿ファイルは、図3に示した、原稿ページデータの実体を含むファイルである。
(ブックファイルの編集例)
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような、例えば編集操作(1)〜(12)が可能である。
(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に示す。
図12は、本発明に係る文書処理装置におけるジョブチケットの構造を説明する図である。
なお、印刷用のデータでは、文書は用紙の集合で構成されており、各用紙は表、裏の2面で構成されており、各面は原稿をレイアウトする領域(物理ページ)を持ち、各物理ページには、最小単位である原稿ページの集合から構成される。
図12において、1101は文書に相当するデータで、文書全体に関係するデータと、文書を構成する用紙情報のリストから構成される。用紙情報1102は用紙サイズなど用紙に関する情報と用紙上に配置される面情報のリストから構成される。
面情報1103は、面に固有のデータと、面上に配置される物理ページのリストから構成される。物理ページ情報1104は、物理ページのサイズやヘッダ・フッタなどの情報と、物理ページを構成する原稿ページのリストから構成される。1105は原稿ページ情報である。
電子原稿デスプーラ105は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
(プレビュー表示の内容例)
すでに説明したとおり、ブックファイルが製本アプリケーションによって開かれると、図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プリントサービスモジュール1231に送信する。
印刷集中管理サーバ1202は、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
<本実施形態の文書処理システムの編集操作例>
上記図9は、製本アプリケーション104の操作画面である。製本アプリケーションは、文、文書のページ順の入れ替えや複製、削除などの編集に加え、ステイプルなどの印刷装置の機能設定も行うことができ、指定した印刷装置に印刷することが可能である。図9の左側の領域には、文、文書の構造を示すツリービューが表示されている。文書は、章の集合で構成されており、各章は原稿ページの集合で構成されている。図9の右側の領域には、各ページの印刷プレビューが表示されている。
<本実施形態の文書処理システムの属性設定例>
図14は、図13に示した製本アプリケーション104の「文、文書の詳細設定」ウインドウ1400の例を示す図である。
このウインドウ1400では、「文書設定情報403」を表示/設定することができる。このウインドウ1400は、図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は、図13に示した製本アプリケーション104の「章の詳細設定」ウインドウ1500を示す図である。
このウインドウ1500では、「章設定情報407」を表示/設定することができる。このウインドウ1500は、図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は、図13に示した製本アプリケーション104の「ページの詳細設定」ウインドウ1700を示す図である。
このウインドウ1700では、「ページ設定情報411」を表示/設定することができる。このウインドウ1700は、図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の設定を変更した状態を示す図である。
図18において、1701はコントロールで、原稿ページをレイアウトする際にページの上が左になるように回転して配置する設定にしている。この項目については「Follow Chapter Attribute」のチェックボックスが無いので、章や文書に重複する設定項目が無いので、このウインドウに表示されている設定が常にページの設定値となる。
コントロール1701のチェックがある場合、例えば「Arrange」の項目は、章にも重複する設定項目があるので章の設定値をページの設定値とする。章で該当する「Arrange」の項目が「Follow Book Attribute」のチェックがある場合、章の設定値は上位階層である文、文書の設置値を使うので結局ページの設定値は文、文書の設定値を使うことになる。
章で該当する項目のチェックが外れている場合、章固有の設定値を持っているので、ページの設定値はその章固有の設定値を使う。
なお、上記設定画面で設定されたチェックボックスコントロールの情報は、専用の領域に保持されてもよいが、図3に示した設定情報内に属性の1つとして保持するのが望ましい。この場合には、図5及び図6にチェックボックスコントロールの情報を保持する領域が追加される。
<本実施形態の文書処理システムの文書編集の表示例>
上位階層と重複する設定項目を上位階層の設定値を使わないようにした場合、つまり、チェックボックスコントロール1501や1701のチェックをはずした場合のアプリケーションの表示形式を、図19に示す。
図19は、図13に示した文書処理システムにおける文書編集画面の一例を示す図であり、本例では、文書は二つの章からなり、各章は9ページの原稿データを持っている。
図19において、最初の章のレイアウトを4UP(4in1とも表記する)に、2番目の章の先頭ページ(文書全体では10ページ目)に回転を指定した場合の表示例である。右側のプレビューにおいて、1〜3ページ目には1ページ上に4つの原稿がそれぞれ配置されている様子が表示されている。
そして、第4ページ目のデータである「A」の文字が回転している様子が表示されている。ツリービューでの章やページ固有の設定を行った場合の表示形式を説明する。
最初の章に対するアイコン1901が変化して、この章に章独自の設定がなされていることを示している。2番目の章の先頭ページに対するアイコン1902が変化して、このページに特別な設定がなされていることが示されている。
<本実施形態の文書処理システムのプリンタリスト取得方法>
スタンドアロンのシステムの場合、OSが提供する標準のインタフェースを利用して利用可能なプリンタの一覧を取得する事が可能である。
例えば、マイクロソフトウィンドウズ(登録商標)の場合、EnumPrinter()などのAPIを利用する事でOSに登録されているプリンタの一覧を取得する事ができる。
また、プリンタ管理ユーティリティを利用する事で、OSに登録されていないネットワーク上のプリンタを検索する事も可能である。
<本実施形態の文書処理システムのプリンタ能力取得方法>
図20は、図1に示したスタンドアロン型文書処理システムでプリンタの能力を取得する際のソフトウエア構成を示す詳細図である。
図1では、簡略的に製本アプリケーション104とプリンタドライバ106は直接データ通信している形式で記載されているが、図20に示す例では、プリンタごとのインタフェースの違いを吸収するためにデバイス情報ライブラリ2001、ドライバSDK2002が間に入っている。
デバイス情報ライブラリ2001は、ドライバSDK2002を有するプリンタドライバと、OSの標準インタフェースしかないプリンタドライバとの差異を吸収するためのモジュールである。
デバイス情報ライブラリ2001を介す事により、製本アプリケーション104からは、ドライバSDK2002を持つプリンタドライバであっても、持たないプリンタドライバであっても統一的なインタフェース(1)を通じてプリンタを制御する事が可能となる。
ドライバSDK2002は、アプリケーションプログラムからプリンタドライバをより高度に制御するためのインタフェースを提供するモジュールである。図中の(2)はドライバSDK2002が提供しているインタフェースを示している。ドライバSDKが提供されているプリンタドライバでは、OSが提供する基本インタフェース以上の詳細な情報やデータのやり取り、制御を行う事が可能となる。
通常、OSで標準に定義されている設定項目(片面/両面の設定、用紙サイズの設定など)に対しては、アプリケーションプログラムから動的に設定する事が可能であるが、プリンタ特有の機能、例えばステイプルやサドルステッチなどの設定を行う場合には、プリンタプロパティダイアログを開いてGUI経由で操作を行うことしか出来ない。
しかし、ドライバSDK2002でインタフェースを公開しているプリンタドライバの場合は、アプリケーションプログラムからOS非標準の設定項目を動的に制御する事ができるようになる。
図20に示す(3),(4)は、バージョン・機種の違いによってドライバSDK2002〜プリンタドライバ106の間でのインタフェースの違いを示している。
同一のドライバSDK2002を共有するプリンタドライバ間では、プリンタドライバ106のバージョンの違いによる機能の差異や、プリンタの機能差をドライバSDK側で吸収するため上位モジュールからは統一的に扱う事が可能となる。
プリンタドライバ106の作成元がインタフェース(5)を公開している場合には、デバイス情報ライブラリ2001がインタフェース(5)を通じてドライバSDK2002をサポートしていないプリンタドライバ106に対して情報のやり取りをする事もある。
また、プリンタドライバ106を介さずに、MIB等の標準インタフェース、或いはプリンタ固有・プリンタメーカ固有のインタフェース(6)を通じて、プリンタと直接情報をやり取りする事も可能である。
インタフェース(5)やインタフェース(6)の場合、インタフェースの設計によってはステイプル可能/不可能といった個別機能の有無について取得できずに、フィニッシャの機種名称しか取得できない事がある。
この場合は、デバイス情報ライブラリの内部にフィニッシャ機種と能力の関係に関するテーブルを保持し、テーブルを参照する事で個別機能の能力有無をインタフェース(1)を介して製本アプリケーション104に返す。
図27は、図20に示したプリンタ107より取得可能なプリンタの能力情報の一例を示す図である。
基本的には、各項目について可能であるか不可能であるかを取得する事ができる。1番の設定項目である印刷方法の場合は、片面/両面/製本印刷の3種類がそれぞれ可能であるか不可能であるかが判断できる。製本印刷の面付け処理をプリンタ側でなくアプリケーション側で処理する場合、両面印刷が可能かどうかで製本印刷可能/不可能を判断してもよい。この場合、両面印刷の可能/不可能と製本印刷の可能/不可能は一致している。
2番の設定項目である用紙サイズの場合、可能/不可能ではなく使用可能な用紙サイズの一覧という形式で取得できる。用紙ごとにIDが振られており、例えばA4はID=7、LetterはID=10のように定義されている場合、IDリストの形で取得できる。IDが振られていない非定型の用紙も扱える場合、用紙の縦横の最大サイズ、最小サイズが取得できる。
3番以降の設定項目は、可能/不可能で能力取得が可能であり、例えば可能である場合、更に詳細項目として情報が取得可能である。例えば、3番のステイプルの場合、ステイプルを打つ位置として「右上/右辺/右下/左上/左辺/左下」の中から一つ以上の位置情報が取得できる。取得できる位置情報は、用紙サイズなど他の設定項目に依存して変化する。
プリンタによって、項目間に制約条件がある場合は制約条件についても情報取得できるとより正確な判断ができる。例えば、中綴じとパンチは同時にできないなどの条件が取得できるとよい。
<本実施形態の文書処理システムの設定変更処理フロー>
図22は、本発明に係る文書処理装置における第4のデータ処理手順の一例を示すフローチャートであり、図1に示した製本アプリケーション104等により設定変更ルールに基づいて設定を変更する際の処理手順に対応する。なお、(2101)〜(2110)は各ステップを示す。
まず、ステップ(2101)で、デバイス情報ライブラリ2002等を介して利用可能なプリンタ(デバイス)を検索する。次に、ステップ(2102)へ進み、利用可能なプリンタがあるかどうかを製本アプリケーション104が判断する。
この場合において、単純に検索できたプリンタ数で判断する事も出来るが、例えば(1)ユーザの権限により利用できないプリンタ、(2)プリンタエラーにより利用できないプリンタ、(3)プリンタが使用中ですぐに利用できないプリンタ等を除いて、本当に利用できるプリンタが有るかどうかを合わせて判断しても良い。
その場合、ステップ(2101)で判断材料となる情報(プリンタに送信されているジョブ数、ステータス情報、エラー情報など)も合わせて取得すればよい。
そして、ステップ(2102)で利用可能なプリンタが無いと判断された場合、印刷できないので設定変更処理を終了する。
一方、ステップ(2102)で利用可能なプリンタが有ると判断された場合は、ステップ(2103)以降へと進み、検索されたプリンタに対して順に処理を行う。
ステップ(2103)〜2104)は、検索された利用可能プリンタ全てに対して順次処理を進めるためのステップである。
まずは、ステップ(2103)で、製本アプリケーション104が全てのプリンタに対して処理が終わったかを判断する。まだ処理すべきプリンタが残っていると判断した場合には、ステップ(2104)へ進み未処理のプリンタから一つを取り出し次の処理対象とし、全てのプリンタに対して処理が終わったら、ステップ(2107)へと進み設定変更処理を行う。
次に、ステップ(2105)は、現在処理対象としたプリンタの能力と書式設定とを比較して書式設定された内容で印刷処理が実現可能であるかを製本アプリケーション104が判断する。例えば、ステイプル設定がなされている場合、ステイプル機能を有するプリンタであるかをチェックする。そして、全ての書式設定が実現可能であれば、ステップ(2106)へ進み、製本アプリケーション104はそのプリンタを出力候補としてピックアップして、処理を終了する。
一方、ステップ(2105)で全ての書式設定が実現する事が出来ないと製本アプリケーション104により判断された場合、ステップ(2103)へ戻り、次のプリンタへと処理対象を移してゆく。
そして、ステップ(2103)で、未処理のプリンタが無いと判断された場合ステップ(2107)へと進む。この場合、文、文書の書式設定を実現できるプリンタが見つからなかった事を意味する。
そして、ステップ(2107)では、設定変更ルール候補があるかどうかを判断して、設定変更ルールが1つもない場合、あるいは全ての設定変更ルールを適用しても書式設定を実現できるプリンタが無かったと製本アプリケーション104により判断した場合は、ステップ(2108)へ進み、特殊な設定変更ルールの適用である。なお、ステップ(2107)、2108)の処理は、図23で詳しく説明する。
一方、ステップ(2107)で、設定変更ルールがあると判断した場合、ステップ(2109)へ進み、次のルールを適用する。ルールの適用順位はユーザが指定することも可能である。
そして、設定変更ルールを適用したら、もう一度全てのプリンタに対して書式設定が実現可能かの判定を行うため、ステップ(2110)へ進みすべてのプリンタを未処理扱いに戻し、再びステップ(2103)へと進む。
図22では、ステップ(2106)でプリンタをピックアップしたら処理を終了しているが、再びステップ(2103)へ戻って全ての出力候補をピックアップしてもよい。
図23は、本発明に係る文書処理装置における第5のデータ処理手順の一例を示すフローチャートであり、図22に示したステップ(2107),(2108)の詳細手順に対応する。なお、(2201)〜(2206)は各ステップを示す。
まず、ステップ2201で、何番目のルールまで適用したかをチェックし、残っているルールの中から決まりに従って次のルールを適用する。次のルールが存在しない場合、全てのルールを適用しても印刷可能なプリンタが見つかっていない事になるので、ステップ2206へ進んでシステムルールによる設定変更を行う。
システムルールとしては、(1)印刷させない(2)ステイプル設定などのプリンタ依存の設定を全てクリアして印刷する(3)プリンタ非依存の設定も含めてクリアして印刷するなどの処理を行う、等が考えられる。
一方、ステップ2202で未適用のルールが残っていると判断された場合、未適用ルールの中から優先順位の高いルールを取り出して次の処理対象とし、ステップ2203へと進む。
そして、ステップ2203で適用したルールが「印刷しない」というユーザによる明示的な指定であった場合、ステップ(2205)で、代替設定できない場合の処理として「印刷させない」を設定しステップ(2108)へと進む。
一方、ステップ(2203)で、通常の設定変更ルールであると判断された場合には、ステップ(2204)へと進み、ルールをマージしてステップ(2110)へと進む。
<本実施形態の文書処理システムの設定変更ルール記述とルール適用例>
図21は、図4に示した設定項目一覧からプリンタの能力に依存して実現可能/不可能が変化する設定項目を抜き出した例を示す図である。ルールを設定可能な項目として、最低限この表の項目を含んでいる必要がある。
図24は、図21に示した項目から設定内容を一つ選択した例を示す図であり、本例では、A3用紙を使った製本印刷で中綴じを使用するという設定である。この場合、A3以上の用紙が使えるプリンタかつ、両面ユニット、中綴じフィニッシャが装着されているプリンタがない場合印刷ができない。
図25は、図24に示した項目から設定内容を一つ選択した例を示す図であり、丸めルール設定の例である。一番左の列はルール適用の優先順位を示す。このルールをつかってプリンタの検索及び丸め処理の具体例を説明する。
第一優先がA4であるので、「A3またはA4が使用可能」かつ「両面ユニット装着」かつ「中綴じフィニッシャが装着」を満たすプリンタを検索する。この条件を満たすプリンタが見つかった場合、A4横、製本、中綴じの設定で出力する事が出来る。
第一優先条件を満たすプリンタが存在しない場合、第二優先を適用し「A3またはA4が使用可能」かつ「両面ユニット装着」かつ「中綴じフィニッシャまたは無し」つまり、「A3またはA4が使用可能」かつ「両面ユニット装着」を満たすプリンタを検索する。この条件を満たすプリンタが見つかった場合、図25の設定に対してルールを順に適用、つまり、「A3横・製本・中綴じ」,「A4横・製本・中綴じ」,「A3縦・両面」,「A4縦・両面」の順に実現可能かを判断し、最初に見つかった設定で印刷する。
この例では、製本印刷と「片面/両面」の変更の際には用紙方向を自動的に変更している。これは、製本印刷が2ページ/枚の設定であるため、変更する際には用紙方向を変更した方がより好ましい結果が得られるためである。また、用紙方向を変更するかどうかもルールに記載してユーザが指定できるようにしてもよい。
第二優先条件を満たすプリンタが存在しない場合、第三優先を適用し「A3またはA4が使用可能」かつ「両面ユニット装着」かつ「中綴じフィニッシャまたはステープルフィニッシャ」が実現可能なプリンタを検索する。
「A3横・製本・中綴じ」,「A4横・製本・中綴じ」,「A3縦・両面」,「A4縦・両面」,「A3縦・両面・ステイプル」,「A4縦・両面・ステイプル」を順に実現可能かを判断する。最初の4つの設定は第一優先、第二優先のルール適用時に実現出来ないのが分かっているため調査を省く最適化を行う事が出来る。
第三優先を満たすプリンタが存在しない場合、第4優先を適用する。ここで「Any」となっているのは、印刷さえ出来ればどのような設定でも構わない事を表現しており、システムが自動的に設定変更を行う事ができる。システムが自動的に設定を変更する前に、設定GUIを表示してユーザに再設定させる機会を与えてもよい。
図26は、図24に示した項目から設定内容を一つ選択した例を示す図であり、丸めルール設定のもう一つの例である。この例では、第二優先のルールに複数の項目を同時に設定している。
第一優先までは図25の説明と同じである。第一優先を満たすプリンタが存在しない場合、第二優先を適用して「A3またはA4が使用可能」かつ「両面ユニット装着」かつ「中綴じフィニッシャあるいはステープルフィニッシャ装着」の条件でプリンタを検索する。見つかった場合、「A3横・製本・中綴じ」,「A4横・製本・中綴じ」,「A3縦・両面・ステイプル」,「A4縦・両面・ステイプル」の順に実現可能かを判断し適用可能な設定が見つかったらその設定で印刷を行う。
第二優先を満たすプリンタが存在しない場合、第三優先のルールを適用するが、第三優先のルールが「印刷しない」となっているので、これ以上の設定変更処理をせずに、印刷を中止する。
<本実施形態の文書処理システムの他のルール適用例>
図26の丸めルールは"or"でルールを適用していたが、設定を一つ一つ変更してしまうやり方もある。第一優先ルールを適用した時に「A4横・製本・中綴じ」、第二優先ルールを適用した時に「A4縦・両面・ステイプル」とするやり方である。このやり方の特徴は、ルールを適用するたびに元の設定を上書きしている点で、条件が絞られるため、プリンタ検索、設定適用処理を高速化することが可能である。
更には,第一優先ルールを適用した時に「A4横・製本・中綴じ」、第二優先ルールを適用した時に「A3縦・両面・ステイプル」とする方式もある。この方式は、元の設定をできるだけ活かす事ができる。
<本実施形態の文書処理システムにおけるプリンタリストアップ例>
現在の設定が各プリンタで設定可能なのか不可能なのかを示す事でユーザの編集に有用な情報を提供できる。
図28は、本発明に係る文書処理装置における第6のデータ処理手順の一例を示すフローチャートであり、文、文書の設定内容に応じて、すべての設定を実現可能なプリンタリストの作成、あるいはその逆に、一部の設定が実現できないプリンタリストの作成処理手順に対応する。なお、(2801)〜(2806)は各ステップを示す。
まず、ステップ(2801)で、デバイス情報ライブラリ2002等を介して利用可能なプリンタを検索する。次にステップ(2802)へ進み、利用可能なプリンタがあるかどうかを製本アプリケーション104が判断する。図21の説明と同様で、単純に検索できたプリンタ数で判断する事も出来るが、(1)ユーザの権限により利用できないプリンタ,(2)プリンタエラーにより利用できないプリンタ,(3)プリンタが使用中ですぐに利用できないプリンタ等を除いて、本当に利用できるプリンタが有るかどうかを合わせて判断しても良い。その場合、ステップ(2802)で判断材料となる情報も合わせて取得すればよい。
そこで、ステップ(2802)で利用可能なプリンタが無いと判断された場合、プリンタリストを作成できないので処理を終了する。
一方、ステップ(2802)で利用可能なプリンタが有れば、ステップ(2803)以降へと進み、検索されたプリンタに対して順に処理を行う。
ステップ(2803)〜(2804)は、検索された利用可能プリンタ全てに対して順次処理を進めるためのステップである。
そして、ステップ(2803)で全てのプリンタに対して処理が終わったかを製本アプリケーション104が判断し、まだ処理すべきプリンタが残っていると判断した場合には、ステップ(2804)へ進み未処理のプリンタから一つを取り出し次の処理対象とし、全てのプリンタに対して処理が終わったと判断したら、ステップ(2807)へと進み設定変更処理を行う。
ステップ(2805)は、現在処理対象としたプリンタの能力と書式設定とを比較して実現可能であるかを製本アプリケーション104が判断する。例えば、ステイプル設定がなされている場合、ステイプル機能を有するプリンタであるかをチェックする。全ての書式設定が実現可能であれば、ステップ(2806)へ進み、そのプリンタを全ての書式設定を実現可能なプリンタであると製本アプリケーション104がピックアップする。
そして、ステップ(2805)で、全ての書式設定が実現する事が出来ないと判断した場合、ステップ(2803)へ戻り、次のプリンタへと処理対象を移してゆく。
一方、ステップ(2803)で、未処理のプリンタが無いと判断した場合ステップ(2807)へと進む。
この場合、文、文書の書式設定を実現できるプリンタが見つからなかった事を意味する。
図28では、ステップ(2806)でプリンタをピックアップしたら終了しているが、再びステップ(2803)へ戻って全ての出力候補をピックアップしてもよい。
また、ステップ(2801)で検索されたプリンタ一覧からステップ(2806)でピックアップされないプリンタを除くと、一部の書式設定を実現できないプリンタをリストアップする事になる。
なお、本実施形態で示したフローチャートにおいて、その前後は処理が未完成にならない限り入れ替えることが可能である。
<本実施形態の文書処理システムにおける設定変更ルール設定画面例>
図29は、本発明に係る文書処理システムで設定変更ルールを指定するためのユーザインタフェース画面の例を示す図であり、設定変更ルールを指定するユーザインタフェースの例である。3つのエリアを持ち、三段階の優先順位を持った指定をする事が可能である。図26に示す設定をする場合の例を示している。
ユーザは3001〜3003のチェックボックスのOn/Offを切り替える事で三段階のうち何段階まで指定するかを切り替える事が可能である。図30では、チェックボックス3003がOFFの状態なので、ユーザは2段階の設定を指定している事を示す。三段階のそれぞれでは、二つのチェックボックスを持っており、同一の優先順位で2種類の設定をする事ができるようになっている。第一優先の項目チェックボックス3004と3005の内、3004だけがチェックされている。これは、第一優先として一種類の設定しかしていない事を示している。第二優先の項目では、チェックボックス3006と3007の双方がチェックされており、同一段階で二種類の項目を同時に設定している事を示す。
それぞれの項目は2つのコントロールによって設定をする。左側のコントロールで、設定項目を、右側のコントロールで設定値を指定する。第一優先の項目では、左側のコントロールであるコンボボックス3008で用紙サイズに関して設定する事を指示している。その際、右側のコントロールはA4/A3/Letter/11x17といった設定項目が並んだコンボボックスに動的に変更される。ユーザはコンボボックス3009からA4を選択している。左側のコンボボックスで綴じ代の様な任意の数値を入力する設定項目が選択された場合、右側のコントロールはテキストボックスに変更される。
三段階の全ての設定を試みても、プリンタ能力が乏しいために設定が実現できない場合の処理をラジオボタン3010で設定する。ラジオボタン3010では「印刷しない」と「デフォルト設定で印刷する」の二つの選択肢から一つを指定する事が可能である。
〔その他実施形態〕
なお、文書の書式設定とデバイスの能力とを比較して前記電子原稿の書式設定が実現可能かを判定した際に、文、文書の書式設定を実現可能でないと判断した時に、前記印刷設定情報中で指定されているいずれかの設定変更ルールを適用して文書の書式設定を変更する場合に、指定されている複数の設定変更ルール中で所定の優先順位に従っていずれかの設定変更ルールを選択する場合の優先順位は、ユーザが任意に設定可能としたり、あるいは、同一の優先順位で複数の設定変更ルールを指定可能として構成することも本発明の適用範囲である。
また、指定された印刷設定で印刷可能なプリンタが選択できない場合には、印刷そのものを中止させる設定変更ルールを最優先として、ユーザの印刷要求と印刷無駄を抑えることができるように構成してもよい。
さらに、設定変更ルールを適用するアプリケーションの組合せ等をあらかじめ設定しておき、統合された電子原稿ファイルに対してその組合せから設定変更ルールの適用の可否を判定して、適時に設定変更を行うか、指定された印刷設定で印刷処理を行うかを動的に切り替え制御してもよい。
さらに、属性変更の設定変更ルールを設定するユーザインタフェースは、上記実施形態では、印刷設定のためのユーザインタフェース(補充される図面)で行う場合について説明したが、他のユーザインタフェースとして独立した構成としてもよい。
以下、図30に示すメモリマップを参照して本発明に係る文書処理システムで読み取り可能なデータ処理プログラムの構成について説明する。
図30は、本発明に係る文書処理システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図7,図10,図22,図23,図28に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。以下、その実施態様1〜18について説明する。
〔実施態様1〕
複数のデバイスと通信して、製本処理を含む各種の印刷設定情報を持つ電子原稿を処理する文書処理装置であって、出力可能なデバイスを検索するデバイス検索手段(例えば図20に示すデバイス情報ライブラリ2001)と、前記デバイス検索手段により検索されたデバイスの能力を取得するデバイス能力取得手段(例えば図20に示すデバイス情報ライブラリ2001)と、文書の書式設定とデバイスの能力とを比較して前記電子原稿の書式設定が実現可能か否かを判定する書式実現性判定手段(例えば図20に示す製本アプリケーション104)と、前記書式実現性判定手段が文、文書の書式設定を実現可能でないと判断した時に、前記印刷設定情報中で指定されているいずれかの設定変更ルールを適用して文書の書式設定を変更する書式変更手段(例えば図20に示す製本アプリケーション104)とを有することを特徴とする文書処理装置。
〔実施態様2〕
前記設定変更ルールは、前記印刷設定情報中で指定されている所定の優先順位に従って順次選択されることを特徴とする実施態様1記載の文書処理装置。
〔実施態様3〕
前記設定変更ルールは、同一優先順位で異なる設定変更ルールを指定可能とすることを特徴とする実施態様1記載の文書処理装置。
〔実施態様4〕
前記設定変更ルールを指定する指定手段を備えることを特徴とする実施態様1記載の文書処理装置。
〔実施態様5〕
前記指定手段は、前記印刷設定情報を設定するためのユーザインタフェース上で設定変更ルールを指定可能とすることを特徴とする実施態様1記載の文書処理装置。
〔実施態様6〕
前記書式変更手段は、前記書式実現性判定手段の判定結果に基づき書式設定が実現可能になるまで優先順位順に設定変更ルールを適用することを特徴とする実施態様1〜5のいずれかに記載の文書処理装置。
〔実施態様7〕
前記書式変更手段は、全ての設定変更ルールを適用しても書式設定が実現可能でないと判断された場合に、システム内部に保持している特別ルールを適用することを特徴とする実施態様1〜5のいずれかに記載の文書処理装置。
〔実施態様8〕
前記特別ルールあるいは前記設定変更ルールは、処理を中断することを指定可能とすることを特徴とする実施態様1〜5のいずれかに記載の文書処理装置。
〔実施態様9〕
複数のデバイスと通信して、製本処理を含む各種の印刷設定情報を持つ電子原稿を処理する文書処理装置における文書処理方法であって、出力可能なデバイスを検索するデバイス検索ステップ(図22に示すステップ(2101))と、前記デバイス検索ステップにより検索されたデバイスの能力を取得するデバイス能力取得ステップ(図示しない)と、文、文書の書式設定とデバイスの能力とを比較して前記電子原稿の書式設定が実現可能か否かを判定する書式実現性判定ステップ(図22に示すステップ(2105))と、前記書式実現性判定ステップが文、文書の書式設定を実現可能でないと判断した時に、前記印刷設定情報中で指定されているいずれかの設定変更ルールを適用して文書の書式設定を変更する書式変更ステップ(図22に示すステップ(2107),(2109))とを有することを特徴とする文書処理方法。
〔実施態様10〕
前記設定変更ルールは、前記印刷設定情報中で指定されている所定の優先順位に従って順次選択されることを特徴とする実施態様9記載の文書処理方法。
〔実施態様11〕
前記設定変更ルールは、同一優先順位で異なる設定変更ルールを指定可能とすることを特徴とする実施態様9記載の文書処理方法。
〔実施態様12〕
前記設定変更ルールを指定する指定ステップを備えることを特徴とする実施態様9記載の文書処理方法。
〔実施態様13〕
前記指定ステップは、前記印刷設定情報を設定するためのユーザインタフェース上で設定変更ルールを指定可能とすることを特徴とする実施態様9記載の文書処理方法。
〔実施態様14〕
前記書式変更ステップは、前記実現性判定ステップの判定結果に基づき書式設定が実現可能になるまで優先順位順に設定変更ルールを適用することを特徴とする実施態様9〜13のいずれかに記載の文書処理装置。
〔実施態様15〕
前記書式変更ステップは、全ての設定変更ルールを適用しても書式設定が実現可能でないと判断された場合に、システム内部に保持している特別ルールを適用することを特徴とする実施態様9〜14のいずれかに記載の文書処理方法。
〔実施態様16〕
前記特別ルールあるいは前記設定変更ルールは、処理を中断することを指定可能とすることを特徴とする実施態様9〜14のいずれかに記載の文書処理方法。
〔実施態様17〕
実施態様9〜16のいずれかに記載の文書処理方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
〔実施態様18〕
実施態様9〜16のいずれかに記載の文書処理方法を実現することを特徴とするプログラム。