(57)【特許請求の範囲】
【請求項１】
ドキュメントデータと複数のメンバプリンタを関連付けたグループプリンタの設定を含む印刷指示書とを含む汎用印刷ファイルに基づいて、前記複数のメンバプリンタの夫々に印刷処理を行わせるコンピュータにより実行されるプログラムであって、
コンピュータに、
前記ドキュメントデータの編集指示に応じて前記編集指示を反映させ前記ドキュメントデータの内容を変更する第１のアプリケーションからのデータを受けるステップと、
複数の外部アプリケーションの何れかから印刷指示があった場合に、前記第１アプリケーションからの宣言を伴う印刷指示か、第２アプリケーションから発行される描画命令に基づく印刷指示か、を判別する判別ステップと、
前記判別ステップにて前記第１アプリケーションからの宣言を伴う印刷指示と判別される場合には、前記ドキュメントデータの生成を行うことなく、前記第１アプリケーションから渡される前記汎用印刷ファイルに含まれるドキュメントデータ及び印刷指示書に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第１の印刷指示ステップと、
前記判別ステップにて前記第２のアプリケーションからの印刷指示と判別される場合には、前記描画命令に基づくドキュメントデータを生成する生成ステップと、
前記生成ステップにて生成されたドキュメントデータを対応する印刷指示書に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第２の印刷指示ステップとを実行させることを特徴とするプログラム。
【請求項２】
コンピュータに、更に、選択画面を介して複数のグループプリンタから何れかのグループプリンタを指示された場合に、前記指示された何れかのグループプリンタに関連した情報を取得する取得ステップと、
前記取得ステップにおいて取得された前記関連した情報を、前記第１アプリケーションの編集画面表示に、ページのプレビュー画像に対応させて反映する反映ステップとを実行させることを特徴とする請求項１に記載のプログラム。
【請求項３】
コンピュータに、更に、前記印刷指示書に含まれるグループプリンタの設定に応じた出力先情報を、前記第１アプリケーションの編集画面表示に、ページのプレビュー画像に対応させて反映する第１反映ステップを実行させることを特徴とする請求項１に記載のプログラム。
【請求項４】
コンピュータに、更に、前記グループプリンタを変更する指示がなされた場合に、変更後のグループプリンタの設定に応じた変更後の出力先情報を、前記第１アプリケーションの編集画面表示に、ページのプレビュー画像に対応させて反映する第２反映ステップを実行させることを特徴とする請求項３に記載のプログラム。
【請求項５】
前記編集にはページ追加、或は、ページ順編集が含まれることを特徴とする請求項１乃至４の何れかに記載のプログラム。
【請求項６】
印刷指示書とドキュメントデータとを含む汎用印刷ファイルの処理を行うコンピュータにより実行されるプログラムであって、
コンピュータに、
複数の外部アプリケーションの何れかから印刷指示があった場合に、前記ドキュメントデータの編集及び印刷指示書の作成が可能な前記第１アプリケーションからの印刷指示か、第２のアプリケーションから発行される描画命令に基づく印刷指示かを、判別する判別ステップと、
前記判別ステップにおいて、前記第１アプリケーションからの印刷指示であると判別した場合、前記印刷指示書及びドキュメントデータを作成することなく、前記第１アプリケーションから渡される印刷指示書及びドキュメントデータに基づく印刷を行わせる第１処理ステップと、
前記判別ステップにおいて、前記第２アプリケーションからの印刷指示であると判別した場合、前記第１アプリケーションより発行された描画命令に基づくキュメントデータ及び印刷指示書を生成し、該生成されたドキュメントデータ及び印刷指示書に基づく印刷を行わせる第２処理ステップとを実行させることを特徴とするプログラム。
【請求項７】
前記編集にはページ追加、或は、ページ順編集が含まれることを特徴とする請求項６に記載のプログラム。
【請求項８】
前記汎用印刷ファイルは、前記第１アプリケーションで編集可能なドキュメントデータのファイルと出力先プリンタを含む印刷指示書ファイルとをアーカイブしたものであることを特徴とする請求項６又は７に記載のプログラム。
【請求項９】
ドキュメントデータと複数のメンバプリンタに対する印刷設定を含む印刷指示書とに基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる印刷ジョブ制御システムであって、
前記ドキュメントデータの編集指示に応じて前記編集指示を反映させ前記ドキュメントデータの内容を変更する第１のアプリケーションからのデータを受ける手段と、
複数の外部アプリケーションの何れかから印刷指示があった場合に、前記第１アプリケーションからの宣言を伴う印刷指示か、第２アプリケーションから発行される描画命令に基づく印刷指示か、を判別する判別手段と、
前記判別手段によって前記第１のアプリケーションからの宣言を伴う印刷指示と判別される場合には、前記ドキュメントデータの生成を行うことなく、前記第１アプリケーションから渡される前記汎用印刷ファイルに含まれるドキュメントデータ及び印刷指示書に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第１の印刷指示手段と、
前記判別手段によって前記第２のアプリケーションからの印刷指示と判別される場合には、前記描画命令に基づくドキュメントデータを生成する生成手段と、
前記生成手段によって生成されたドキュメントデータを対応する印刷指示書に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第２の印刷指示手段とを備えることを特徴とする印刷ジョブ制御システム。
【請求項１０】
印刷指示書とドキュメントデータとを含む汎用印刷ファイルの処理を行う印刷ジョブ制御システムであって、
複数の外部アプリケーションの何れかから印刷指示があった場合に、前記ドキュメントデータの編集及び印刷指示書の作成が可能な前記第１アプリケーションからの印刷指示か、第２のアプリケーションから発行される描画命令に基づく印刷指示かを、判別する判別手段と、
前記判別手段によって、前記第１アプリケーションからの印刷指示であると判別した場合、前記印刷指示書及びドキュメントデータを作成することなく、前記第１アプリケーションから渡される印刷指示書及びドキュメントデータに基づく印刷を行わせる第１処理手段と、
前記判別手段によって、前記第２アプリケーションからの印刷指示であると判別した場合、前記第１アプリケーションより発行された描画命令に基づくキュメントデータ及び印刷指示書を生成し、該生成されたドキュメントデータ及び印刷指示書に基づく印刷を行わせる第２処理手段とを実行させることを特徴とする印刷ジョブ制御システム。
【請求項１１】
ドキュメントデータと複数のメンバプリンタに関連付けられたグループプリンタの設定を含む印刷指示書とを含む汎用印刷ファイルに基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる印刷データ処理方法であって、
前記ドキュメントデータの編集指示に応じて前記編集指示を反映させ前記ドキュメントデータの内容を変更する第１のアプリケーションからのデータを受けるステップと、
複数の外部アプリケーションの何れかから印刷指示があった場合に、前記第１アプリケーションからの宣言を伴う印刷指示か、第２アプリケーションからの発行される描画命令に基づく印刷指示か、を判別する判別ステップと、
前記判別ステップにて前記第１のアプリケーションからの宣言を伴う印刷指示と判別される場合には、前記ドキュメントデータの生成を行うことなく、前記第１アプリケーションから渡される前記汎用印刷ファイルに含まれるドキュメントデータ及び印刷指示書に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第１の印刷指示ステップと、
前記判別ステップにて前記第２のアプリケーションからの印刷指示と判別される場合には、前記描画命令に基づくドキュメントデータを生成する生成ステップと、
前記生成ステップにて生成されたドキュメントデータを対応する印刷指示書に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第２の印刷指示ステップとを有することを特徴とする印刷データ処理方法。
【請求項１２】
選択画面を介して複数のグループプリンタから何れかのグループプリンタを指示された場合に、前記指示された何れかのグループプリンタに関連した情報を取得する取得ステップと、
前記取得ステップにおいて取得された前記関連した情報を、前記第１アプリケーションの編集画面表示に、ページのプレビュー画像に対応させて反映する反映ステップとを有することを特徴とする請求項１１に記載の印刷データ処理方法。
【請求項１３】
前記印刷指示書に含まれるグループプリンタの設定に応じた出力先情報を、前記第１アプリケーションの編集画面表示に、ページのプレビュー画像に対応させて反映する第１反映ステップを有することを特徴とする請求項１１に記載の印刷データ処理方法。
【請求項１４】
前記グループプリンタを変更する指示がなされた場合に、変更後のグループプリンタの設定に応じた変更後の出力先情報を、前記第１アプリケーションの編集画面表示に、ページのプレビュー画像に対応させて反映する第２反映ステップを有することを特徴とする請求項１３に記載の印刷データ処理方法。
【請求項１５】
前記編集にはページ追加、或は、ページ順編集が含まれることを特徴とする請求項１１乃至１４の何れかに記載の印刷データ処理方法。
【請求項１６】
印刷指示書とドキュメントデータとを含む汎用印刷ファイルの印刷データ処理方法であって、
複数の外部アプリケーションの何れかから印刷指示があった場合に、前記ドキュメントデータの編集及び印刷指示書の作成が可能な前記第１アプリケーションからの印刷指示か、第２のアプリケーションから発行される描画命令に基づく印刷指示かを、判別する判別ステップと、
前記判別ステップにおいて、前記第１アプリケーションからの印刷指示であると判別した場合、前記印刷指示書及びドキュメントデータを作成することなく、前記第１アプリケーションから渡される印刷指示書及びドキュメントデータに基づく印刷を行わせる第１処理ステップと、
前記判別ステップにおいて、前記第２アプリケーションからの印刷指示であると判別した場合、前記第１アプリケーションより発行された描画命令に基づくキュメントデータ及び印刷指示書を生成し、該生成されたドキュメントデータ及び印刷指示書に基づく印刷を行わせる第２処理ステップとを有することを特徴とする印刷データ処理方法。
【請求項１７】
前記編集にはページ追加、或は、ページ順編集が含まれることを特徴とする請求項１６に記載の印刷データ処理方法。
【請求項１８】
前記汎用印刷ファイルは、前記第１アプリケーションで編集可能なドキュメントデータのファイルと出力先プリンタを含む印刷指示書ファイルとをアーカイブしたものであることを特徴とする請求項１６又は１７に記載の印刷データ処理方法。
【請求項１９】
請求項１１乃至１８の何れかに記載の印刷データ処理方法をコンピュータに実行させる為のプログラムをコンピュータ可読の形態で記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御処理に係るプログラム、印刷ジョブ制御システム、印刷データ処理方法及び記憶媒体に関する。
【０００２】
【従来の技術】
近年、ネットワーク機器が一般に利用され、ネットワーク上に多数のパソコン（以下、ＰＣ）やプリンターが接続されるようになった。このようなネットワーク環境における再印刷に関する技術が知られている。
【０００３】
例えば、特許文献１には、仮想プリンタドライバを介して仮想スプールファイルを生成し、該仮想スプールファイルに基づいた仮想ドキュメント管理ファイルを作成及び保存し、該保存された仮想ドキュメント管理ファイルに対して再印刷指示を行う技術が知られている。特許文献１においては更に、仮想ドキュメント管理ファイルに対して仮想ドキュメントエディタを利用して所定の編集を施すことが可能であり、該編集処理結果は、仮想ドキュメント管理ファイルに含まれる形で保存され再印刷時に編集が反映させるようになっている。
【０００４】
また特許文献２には、ＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａ−Ｆｉｌｅ）をＣＡＰＣＡＬジョブ記述ファイル（Ｗｉｎｄｏｗｓ（登録商標）ジョブ情報や、Ｄｅｖｍｏｄｅ情報、出力制御情報等を含む）と共にサーバに保存させ、該保存されたＥＭＦ及びＣＡＰＣＡＬジョブ記述ファイルに基づき再印刷を実行する技術が知られている。
【０００５】
【特許文献１】
特開２０００−１９４５１４号公報
【特許文献２】
特開２００１−２１６１０９号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、従来から分散印刷や、代行印刷等の複数のプリンタデバイスを対象としたような印刷データ処理を行う際に中間ファイルを一旦作成し分散印刷や代行印刷の際には中間ファイルを基に各デバイスに対応するページ記述言語を作成させる技術において、例えば、一度印刷出力したものを、後日所定の条件下で印刷出力する場合に、出力先情報も含めた出力先情報を管理していくことはできなかった。特に、分散印刷や代行印刷などの出力システムと連携可能な文書管理においては、出力先やそれに係る情報の管理が重要となってくること想定される。出力先の情報を管理しないような形態では、例えば、出力先設定などの煩雑な作業をユーザに繰り返し強いることになってしまう問題が挙げられる。
【０００７】
また、再印刷において一旦保存しておいた印刷データに面付けやページ順の差し替え等の所定の編集を施してから再印刷を行わせるような編集システムは知られているものの、印刷処理システムと、編集システムとの双方を効率良くリンクさせ、印刷出力時におけるシステムの高速化を図る点についてはまだまだ改善の余地があった。
【０００８】
【課題を解決するための手段】
本発明は、上記課題に鑑みてなされたものであり、ドキュメントデータと複数のメンバプリンタを関連付けたグループプリンタの設定を含む印刷指示書とを含む汎用印刷ファイルに基づいて、前記複数のメンバプリンタの夫々に印刷処理を行わせるコンピュータにより実行されるプログラムであって、コンピュータに、前記ドキュメントデータの編集指示に応じて前記編集指示を反映させ前記ドキュメントデータの内容を変更する第１のアプリケーションからのデータを受けるステップと、複数の外部アプリケーションの何れかから印刷指示があった場合に、前記第１アプリケーションからの宣言を伴う印刷指示か、第２アプリケーションから発行される描画命令に基づく印刷指示か、を判別する判別ステップと、前記判別ステップにて前記第１アプリケーションからの宣言を伴う印刷指示と判別される場合には、前記ドキュメントデータの生成を行うことなく、前記第１アプリケーションから渡される前記汎用印刷ファイルに含まれるドキュメントデータ及び印刷指示書に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第１の印刷指示ステップと、前記判別ステップにて前記第２のアプリケーションからの印刷指示と判別される場合には、前記描画命令に基づくドキュメントデータを生成する生成ステップと、前記生成ステップにて生成されたドキュメントデータを対応する印刷指示書に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第２の印刷指示ステップとを実行させることを特徴とする。
【０００９】
或は、印刷指示書とドキュメントデータとを含む汎用印刷ファイルの処理を行うコンピュータにより実行されるプログラムであって、コンピュータに、複数の外部アプリケーションの何れかから印刷指示があった場合に、前記ドキュメントデータの編集及び印刷指示書の作成が可能な前記第１アプリケーションからの印刷指示か、第２のアプリケーションから発行される描画命令に基づく印刷指示かを、判別する判別ステップと、前記判別ステップにおいて、前記第１アプリケーションからの印刷指示であると判別した場合、前記印刷指示書及びドキュメントデータを作成することなく、前記第１アプリケーションから渡される印刷指示書及びドキュメントデータに基づく印刷を行わせる第１処理ステップと、前記判別ステップにおいて、前記第２アプリケーションからの印刷指示であると判別した場合、前記第１アプリケーションより発行された描画命令に基づくキュメントデータ及び印刷指示書を生成し、該生成されたドキュメントデータ及び印刷指示書に基づく印刷を行わせる第２処理ステップとを実行させることを特徴とする。
【００１０】
【発明の実施の形態】
〔第１実施例〕
以下、本発明を適用するのに好適である実施形態について説明を行う。
【００１１】
図１は、本発明を適用可能な情報処理システムの概略構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、１台、または複数台接続されていることを仮定している。
【００１２】
図において、１０２、１０３、１０４はクライアントコンピュータ（クライアント）としての情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタドライバをサポートするものとする。
【００１３】
１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理している。
【００１４】
構成としては、クライアント１０２〜１０４とプリントサーバ１０１は、一般的な情報処理装置であり、クライアントとプリントサーバには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。
【００１５】
本実施形態におけるプリントサーバ１０１は、さらにクライアントコンピュータ１０２、１０３、１０４から印刷要求が出されると、印字データを含む印刷ジョブを格納して印刷したり、或いは、クライアントコンピュータ１０２、１０３、１０４から印字データを含まないジョブ情報のみ受け取り、クライアントコンピュータ１０２、１０３、１０４の印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブのプリンタデバイスへの送信許可を通知したり、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得し、クライアントコンピュータ１０２、１０３、１０４に通知したりする機能を備えている。
【００１６】
１０５は印刷制御装置であるネットワーク対応プリンタであり、図示省略したネットワークインターフェースを介してネットワーク１０６と接続されており、クライアントコンピュータ或いはプリントサーバから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して、１ページ毎に印刷する。１０６はネットワークであり、クライントコンピュータ１０２、１０３、１０４、サーバ１０１、ネットワークプリンタ１０５等を通信可能に接続している。有線／無線によって実現可能であることは言うまでもない。
【００１７】
図２は、本発明の情報処理装置の構成を説明するブロック図であり、情報処理装置であるクライントコンピュータ１０２、１０３、１０４も同じ構成であり、さらにサーバ１０１も同様或いは同等のハードウエア構成とする。よって、クライアントとサーバの構成を説明するブロック図として説明する。
【００１８】
図２において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１９】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２０】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２１】
２０４は記憶媒体であるフロッピー（登録商標）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００２２】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００２３】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００２４】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００２５】
２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。
【００２６】
２０９は入出力手段であるインターフェースであり、該インターフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２７】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２８】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラムおよび関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００２９】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００３０】
また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００３１】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含み、また、プリントサーバにおいて、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本発明の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成も可能である。
【００３２】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００３３】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００３４】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント、サーバ共、同様の構成をとっている。
【００３５】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。
【００３６】
次に本実施形態における、プリンタを複数台使用して、分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムについて説明する。この印刷ジョブ制御システムは印刷制御モジュールプログラムに従う処理から実現される。よって、本印刷ジョブ制御システムを印刷モジュールに置き換えることもできるが、以後の説明においては印刷ジョブ制御システムの用語を用いて説明を行うこととする。
【００３７】
図６は本システムおいてＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）などの一般的なアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。図６において、６００はクライアントマシンで、印刷ジョブ制御システムのクライアントモジュールが動作するマシンを指す。
【００３８】
通常、印刷の指示がされるとアプリケーションプログラムは一連の描画命令を生成し、該生成された描画命令はプリンタドライバを経てＷｉｎｄｏｗｓ（Ｒ）Ｓｐｏｏｌｅｒに渡される。Ｗｉｎｄｏｗｓ（Ｒ）  Ｓｐｏｏｌｅｒは、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順をとる。
【００３９】
本実施形態では、ユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ６２１（以降、本実施形態ではジョブ制御ポートモニタと略記）を指定して印刷を指示する。アプリケーション６０１は入力されてくるデータが既に汎用印刷ファイルとして生成されたものでなかった場合には、図８にて詳しく説明する汎用印刷ファイルを構築する為のデータを生成する。尚、印刷指示に応じてアプリケーション６０１から既に汎用印刷ファイルとして生成されたデータがＷｉｎｄｏｗ  Ｓｐｏｏｌｅｒに投入される場合については後述（図１１〜図１４）にて詳しく説明することとする。描画命令を受け取ったグループプリンタドライバ６０３では、汎用形式のドキュメントデータ（文字、図形、写真画像等を含む）を生成し、Ｗｉｎｄｏｗｓ（Ｒ）  Ｓｐｏｏｌｅｒ６０４へ出力する。Ｗｉｎｄｏｗｓ（Ｒ）  Ｓｐｏｏｌｅｒ６０４は受け取った印刷データを通常のポートモニタではなく、ジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。ジョブ制御ポートモニタ６２１はプリントジョブデータをプリンタデバイス６５０に送信するのではなく、印刷ジョブ制御システム用プリントサービス６２２（以降、本実施形態ではジョブ制御プリントサービスと略記）に送信する。そして、ジョブ制御ポートモニタ６２１を経て（ａ）、ジョブとしてジョブ制御プリントサービス６２２に導かれる（ｂ）。ジョブ制御プリントサービス６２２はこのプリントジョブに対して汎用印刷ファイルを生成し、その汎用印刷ファイルをもとに描画命令をＯＳを介して生成させ（ｃ）、続いて各ＰＤＬドライバ６０２がその描画命令をプリンタデバイス６５０が解釈可能なＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）ファイルにする。図６では、ジョブ制御プリントサービス６２２で、このプリントジョブに対してプリントジョブをふたつに分けるジョブ制御（分散印刷制御）が行われる例が示されており、２つのメンバジョブが生成された例を２つの矢印（ｃ）で示している。ＰＤＬドライバ６０２で生成されたＰＤＬファイルはＷｉｎｄｏｗｓ（Ｒ）  スプーラ６０４、ジョブ制御ポートモニタ６２１を経て（ｄ）、再びジョブ制御プリントサービス６２２に渡される（ｅ）。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の送信許可の通知に従ってＰＤＬのプリントジョブデータをプリンタデバイス６５０に送信する（ｆ）。ジョブ制御プリントサービス６２２は、生成した汎用印刷ファイル中の印刷指示書（印刷指示部１０−ａに対応）の指示にしたがって、一つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のプリンタデバイスに送信したり、一度送信したプリントジョブデータを別のプリンタデバイスに送信し直したりする。図Ａ中の（ｃ）（ｄ）（ｅ）（ｆ）はそのような場合のプリントジョブデータの経路を示している。
【００４０】
ここで，本実施形態における用語の技術的意味について説明しておくと、複数のプリンタを１つのプリンタとして仮想的に束ねる仮想プリンタをグループプリンタ、束ねられるプリンタをメンバプリンタと呼ぶ、また、グループプリンタ及びメンバプリンタに対応するプリンタドライバを夫々グループプリンタドライバ、メンバプリンタドライバと呼ぶこととする。
【００４１】
グループプリンタ（グループプリンタドライバ）とメンバプリンタ（メンバプリンタドライバ）を更に具体的に定義すると、アプリケーションからＯＳを介して生成される描画命令に基づいて中間形式ファイル（汎用印刷ファイル）を生成する為のデータを生成する仮想ドライバをグループプリンタドライバと呼ぶ。そしてジョブ制御プリントサービス６２２により、先の中間形式のファイルに基づいてページ記述言語を生成させるべく各個別のプリンタに印刷指示がなされるが、この個別の各プリンタをメンバプリンタと呼ぶ。
【００４２】
一方、本実施形態において、アプリケーションにおける印刷指示に応じてＷｉｎｄｏｗｓ（登録商標）等のＯＳを介して出力される描画命令（一般的にＤＤＩ或いはＧＤＩと呼ばれている）或いはＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉ１ｅＦｏｒｍａｔ：拡張メタファイル）を解釈しページ記述言語を生成及びデバイスへ出力させるようなプリンタドライバを通常プリンタドライバ、この時のデバイスを通常デバイスと呼び、グループプリンタやメンバプリンタと区別する。また、デバイスであるプリンタとは区別してプリンタドライバとプリンタ出力ポートとの組み合わせをプリンタと呼ぶこともある。例えば、後述する図７のＬｏｇｉｃａｌＰｏｒｔ（ジョブ制御ポートモニタ６２１）とグループプリンタドライバとの組み合わせを指定することを、グループプリンタを指定すると呼ぶこととする。
【００４３】
図６の説明に戻ると、印刷ジョブ制御システム用プリントマネージャ６２３（以降、本実施形態ではジョブ制御プリントマネージャと略記）は、ユーザがジョブ制御プリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインターフェース（ＵＩ）を提供するプログラムである。ジョブ制御プリントマネージャ６２３はジョブ制御プリントサービス６２２とソフトウェアのインターフェース（ＡＰＩ）を介して情報・指示をやり取りしている。
【００４４】
印刷ジョブ制御システム用サーバ６３０（以降、本実施形態ではジョブ制御サーバと略記）は、個々のクライアント６００上のジョブ制御プリントサービス６２２がプリンタデバイス６５０にプリントジョブデータを送信するタイミングを集中制御（スケジューリング）している。
【００４５】
印刷ジョブ制御システム用マネージメントコンソール６３３（以降、本実施形態ではジョブ制御マネージメントコンソールと略記）は、ジョブ制御サーバ６３０が持つソフトウェアがアクセスするためのＡＰＩを介してジョブ制御サーバ６３０と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。また、ジョブ制御サーバ６３０はデバイス情報コントロールモジュール６３１を用いて各プリンタデバイス６５０と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報はクライアント６００側のジョブ制御プリントサービス６２２に渡すことができる。
【００４６】
次に図７でＷｉｎｄｏｗｓ（Ｒ）が提供するＰｒｉｎｔＳｙｓｔｅｍと印刷ジョブ制御システムにおける印刷ジョブの関係と処理をさらに詳しく述べる。
【００４７】
図７中で印刷ジョブ制御システム７００は、サーバとクライアントの制御プログラムが動作する物理的なマシンをまたいだ、印刷ジョブ制御システムの範囲を示している。また、サーバが管理している出力ポート（Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１１は、クライアントのジョブ制御プリントサービス６２２のプロキシ出力ポート（Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１２と関連付けられ、ひとつのポートに関連づけられた各クライアント上のプロキシ出力ポート全てを統一的に管理している。本実施形態では、実際のプリントジョブデータはおのおののクライアントのプロキシ出力ポート７１２に保持される。ジョブ制御サーバ６３０は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス６２２に対して印刷ジョブの送信指示のみを行う。その指示に応じてクライアントのジョブ制御プリントサービス６２２はプリントジョブデータをデバイス６５０に送信する。
【００４８】
次に、印刷ジョブ制御システム７００における、代行印刷、分散印刷、同報印刷などの複数のプリンタを対象としたような印刷処理について説明をする。
【００４９】
印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合には、アプリケーション６０１はグループプリンタドライバ６０３が割り当てられたプリンタに印刷ジョブを発行しなければならない。ジョブ制御プリントサービス６２２は、グループプリンタドライバ６０３によって処理されたジョブデータをジョブ制御ポートモニタ６２１を介して汎用形式のドキュメントデータ及び印刷指示情報の一連のジョブデータとして受け取る。図中７１０のＬｏｇｉｃａｌＰｏｒｔは、このジョブの受け入れ口であるジョブが投入されるポートを意味する。ジョブ制御プリントサービス６２２はＬｏｇｉｃａｌＰｏｒｔ７１０で受け取ったパケット化されたデータを受け取り、汎用印刷ファイル生成部７０２に渡す。汎用印刷ファイル生成部は受け取ったデータを汎用印刷ファイル７０３の形式に再構築すると共に、汎用印刷ファイル７０３として書き出す処理を実行する。また別の形態として、汎用印刷ファイル生成部７０２をＬｏｇｉｃａｌＰｏｒｔ７１０の手前に設けることにより、再構築した汎用印刷ファイル７０３をＬｏｇｉｃａｌＰｏｒｔ７１０を介してＤｅ−ｓｐｏｏｌｅｒ７０１に読み込ませるようにしても良い。
【００５０】
次にＤｅ−ｓｐｏｏｌｅｒ７０１がこの汎用印刷ファイル７０３を読み込み、ＰＤＬドライバが割り当てられた別のプリンタ（プリンタドライバ）にジョブ（メンバジョブ）を発行して印刷を行わせる。この時、Ｄｅ−ｓｐｏｏｌｅｒ７０１は後述にて詳しく説明する図１０で説明した汎用印刷ファイルの印刷指示部１０−ａを解釈し、該解釈に基づきドキュメントデータ部１０−ｂのドキュメントデータを加工して、所定の描画命令（Ｗｉｎｄｏｗｓ（登録商標）の場合にはＧＤＩ関数に相当）に変換し、各プリンタドライバに対して印刷指示を行い印刷ジョブを発行する。例えば印刷体裁指示部（図１０参照）に、２−ＵＰの指示が記録されていた場合、用紙１枚に２ページ分のドキュメントデータを縮小レイアウトする。また出力方法指定部に分散印刷あるいは同報印刷が記録されている場合には、それらの設定に応じて印刷指示部１０−ａに記述されている複数のメンバプリンタ宛てにジョブを発行する。代行印刷の場合は、代行する条件が満たされたと判断された場合に、自動代行では予め印刷指示部１０−ａに記録された代行プリンタの設定に応じて、手動代行ではユーザの操作に応じて代行プリンタへの再ジョブが発行される。
【００５１】
また、Ｄｅ−ｓｐｏｏｌｅｒ７０１は各メンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタのＤＥＶＭＯＤＥを作成する必要があるが、このＤＥＶＭＯＤＥは印刷指示部１０−ａに記載された内容を適宜各メンバプリンタのＤＥＶＭＯＤＥに反映させて生成する。ＤＥＶＭＯＤＥについてもう少し詳しく説明すると、通常のプリンタドライバは、通常の印刷処理に必要な基本的な設定情報（たとえば、印刷の部数や両面印刷の可否情報）をドライバ設定情報の共通領域（Ｐｕｂｌｉｃ  ＤＥＶＭＯＤＥ）と呼ばれる領域から抽出する。この領域に設定されている情報は異なるプリンタベンダーにおいても、設定項目の読込及び書き込みが可能なように規定されている。一方、各プリンタ固有の機能として、たとえば、ステイプル機能、パンチ機能、製本印刷機能といったものは、ドライバ設定情報の拡張領域（拡張  ＤＥＶＭＯＤＥ）に記憶されおり、この領域の設定情報はプリンタベンダーによってフォーマットが異なっている。
【００５２】
クライアント側のジョブ制御プリントサービス６２２は、ＰＤＬドライバ６０２によってレンダリングされた、夫々のメンバジョブのＰＤＬデータをジョブ制御ポートモニタ６２１を介して受け取り、受け取ったジョブに関する情報をサーバ側に知らせ、ジョブデータは自身のプロキシ出力キュー（Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１２で一時保持する。その後、ジョブ制御サーバ６３０からの送信指示を受けた後にプリントデバイス６５０に送信する。
【００５３】
尚、図６、図７においては、ジョブ制御サーバ６３０が送信許可をクライアントに発行するような形で印刷ジョブのプリンタデバイスへの送信を制御するように説明してきたが、各メンバプリンタドライバにプリンタデバイスのＩＰアドレスを割り当てておき、クライアントから直接的に印刷データ（ＰＤＬ）を送信するような形態や、図７中のアプリケーション６０１とグループプリンタドライバー６０３が含まれるブロック（ＰＤＬＤｒｉｖｅｒが含まれるブロックは除く）とをクライアントに、それ以外の各ブロックの機能を物理的にクライアントとは別に設けられたプリンタサーバに設けるようなことも想定される。また、上に説明してきたグループプリンタについての設定について補足的に説明すると、本実施形態においては、予め設定された複数のグループプリンタドライバが選択及び利用可能な形態で保持されている。このグループプリンタドライバの設定については、複数のメンバプリンタをグループプリンタドライバ名に対応付ける設定、グループプリンタドライバに対応する出力方法（分散印刷や代行印刷等）を対応付ける設定、及びデフォルトの印刷解像度、用紙サイズ、Ｎ−ＵＰ面付等の印刷体裁設定情報などの設定が少なくとも含まれる。これらの各設定はユーザインターフェーイスを介して行われ、設定された各グループプリンタは選択可能な候補としてクライアントに提供される。
【００５４】
次に、アプリケーション６０１よりＯＳを介して通常の描画命令（ＤＤＩ：Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）が投入されてくる際のグループプリンタドライバ６０３の処理について説明をする。
【００５５】
図８は図６、図７におけるグループプリンタドライバ６０３がアプリケーション６０１からＯＳを介して発行される描画命令を受けてＷｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ６０４にデータを出力するフローを示したものである。
【００５６】
まずステップＳ８−１で、アプリケーション６０１によりＯＳを介して発行される一連の描画コマンドＤＤＩを順次受け取る。
【００５７】
次にステップＳ８−２に進み前記ステップＳ８−１で受け取ったコマンドが、描画終了のコマンドか否かを判断する。
【００５８】
前記ステップＳ８−２で終了でないと判断されれば、ステップＳ８−３に進み、印刷指示情報のデータをそのコマンドより読み取り生成する。印刷指示情報とは、本実施形態では描画コマンドとして一くくりにしているが、用紙サイズ、面付けの情報、ステープル情報など、ＵＩの設定等が含まれている。
【００５９】
次に、ステップＳ８−４に進み、前記ステップＳ８−１で受け取った描画コマンドを汎用形式のドキュメントデータに変換し生成する。ここでは、一つの描画コマンドに対して一つのドキュメントデータとしてもよいし、描画コマンドを一旦キャッシュすることにより、まとめてひとつのドキュメントデータとしてもよい。
【００６０】
次にステップＳ８−５に進み、前記ステップＳ８−４で生成された汎用形式のドキュメントデータを前記説明したＷｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ６０４にパケット化して出力する。
【００６１】
次にステップＳ８−１に戻り、再びアプリケーションの描画コマンドを受け取る。前記ステップＳ８−２で終了と判断した場合は、ステップＳ８−６に進み、前記Ｓ８−３で生成した印刷指示情報を出力する。
【００６２】
次にＳ８−７に進み、出力が終了したことを知らせるジョブ終了命令を出力し終了する。
【００６３】
このように図８のフローチャートが実行されることにより、描画命令、用紙サイズ等の情報を随時パケット化する処理が行われ、またドキュメントデータについては随時Ｓｐｏｏｌｅｒ６０４に出力され、印刷指示情報（図１０の印刷指示部１０−ａに基づくデータに相当）については、ドキュメントデータの出力後まとめて出力される。これによりグループプリンタドライバによって汎用印刷ファイルを生成する為のデータが作成さ、図７にて説明した汎用印刷ファイル生成部７０２の負荷が軽減される。
【００６４】
図９は、図８の一連の出力で得られるパケット化されたデータを模式的に示した図である。
【００６５】
まず、出力される一連のデータはＪｏｂの開始であるＪｏｂＳｔａｒｔとＪｏｂの終了であるＪｏｂｅｎｄの出力のパケットで囲まれている。また、図の汎用形式のドキュメントデータ部１、２、３・・・・、は前記ステップＳ８−５で出力される汎用形式のドキュメントデータが一連のパケット化データとして構成されていることを示している。また、印刷指示データ部は図９中には１つのパケットとして示されているが、ドキュメントデータと同様に複数のパケットに分割して送信するようにしてもよい。
【００６６】
ここで出力された一連のパケット化されたデータは前述したようにＷｉｎｄｏｗｓ（登録商標）  スプーラ６０４からジョブ制御ポートモニタ６２１を経て（ａ）、ジョブとしてジョブ制御プリントサービス６２２に導かれる（ｂ）。
【００６７】
ジョブ制御プリントサービス６２２はこの送信されてきたデータに対して汎用印刷ファイルを構築し、その汎用印刷ファイルをもとに描画コマンドを生成し（ｃ）、続いて各ＰＤＬドライバ６０２がその描画コマンドをプリンタデバイス６５０が解釈可能なＰＤＬファイルにする。
【００６８】
図１０は、上に説明してきた汎用印刷ファイルの構成の一例を示した図である。
【００６９】
本実施形態で使用される汎用印刷ファイルは、印刷指示部１０−ａと、ドキュメントデータ部１０−ｂから構成される。
【００７０】
印刷指示部は、ドキュメントの情報と印刷指示を記述した部分であり、上に説明した図８のステップＳ８−５のＳ８−６にて出力された情報に基づいて構築（生成）されたものに対応する。また、ドキュメントデータは、アプリケーションのドキュメントのデータを汎用的な形式のデータに変換したものであり、プリンタ言語に依存しないデータフォーマットとなっている。変換後の形式は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうちでは、例えばＷｉｎｄｏｗｓ（Ｒ）システムにおけるＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉ１ｅＦｏｒｍａｔ）形式や、アドビシステムにおけるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）（登録商標）、或いは、ＳＶＧ形式などが汎用印刷ドキュメント形式として採用できる。
【００７１】
印刷指示部はヘッダ部、ページ情報部、印刷体裁指示部、出力方法指定部、グループプリンタドライバ設定情報部、メンバプリンタ数、メンバプリンタドライバ名、メンバプリンタドライバ設定情報部などから構成されている。
【００７２】
ヘッダ部は本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。
【００７３】
ページ情報部は、ドキュメントデータ部８−ｂのドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。
【００７４】
印刷体裁指示部は、印刷ページ範囲（余白）、印刷部数、ドキュメントデータの面付け情報（Ｎ−ＵＰや製本印刷など）、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。
【００７５】
出力方法指定部は、出力方法として、分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの情報を格納する部分である。
【００７６】
グループプリンタドライバ設定情報部は、グループプリンタドライバの設定ＵＩを介して設定された設定情報を格納する部分である。グループプリンタは出力方法毎やメンバプリンタの組み合わせて対応して複数定義できるものであり、設定された複数のグループプリンタの中からポインティングデバイスを介して指示されたグループプリンタが印刷指示部１０−ａのグループプリンタドライバ設定情報部に含まれるよう設定される。
【００７７】
メンバプリンタ数はグループプリンタが関連付けているメンバプリンタの数を格納する部分である。
【００７８】
メンバプリンタドライバ名は、メンバプリンタのプリンタドライバ名を格納する部分である。
【００７９】
メンバプリンタドライバ設定情報部はメンバプリンタに対応するドライバＵＩを介して設定された設定情報として例えばＤＥＶＭＯＤＥ情報を格納する部分である。夫々の出力ポートやデバイスＩＰアドレスも含まれる。尚、ここでのドライバＵＩを介して設定された設定情報とは、グループプリンタドライバＵＩを介して各メンバプリンタに共通の印刷設定が施された後に、個別のメンバプリンタドライバに対応するドライバＵＩが開かれ変更された設定情報に対応する場合も想定される。
【００８０】
このメンバプリンタドライバ名とメンバプリンタドライバ設定情報部は、前述のメンバプリンタ数に格納された数だけの格納エリアを持っている。
【００８１】
尚、本ファイルは、印刷指示部１０−ａとドキュメントデータ部１０−ｂが分離可能な異なるファイルとして利用可能にすることも想定される。その場合、印刷指示部は印刷指示書ファイルとして、ドキュメントデータ部はドキュメントデータファイルとしてそれぞれ存在し、これらを一つのアーカイブ形式でまとめて同様に一つのファイルのように扱うことも可能である。
【００８２】
図１１は、上に説明した図６、図７を少なくとも含む本実施形態の情報処理システムに好適な文書処理システムのソフトウェアモジュール構成を示すものである。
【００８３】
一般アプリケーション１０１は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドローあるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、ＯＳに対して描画命令を出力させる印刷指示機能を有している。これらアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム（ＯＳ）により提供される所定のインターフェース（一般に、ＧＤＩと呼ばれる）を利用する。即ち、アプリケーション１０１は、作成したデータを印刷する為に、前記インターフェースを提供するＯＳの出力モジュールに対して、あらかじめ定められる、ＯＳに依存する形式の出力コマンド（ＧＤＩ関数と呼ばれる描画命令）を出力する。
【００８４】
出力コマンドを受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるために、デバイスごとにデバイスドライバが提供されており、ＯＳではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、ＪＬ（Ｊｏｂ  Ｌａｎｇｕａｇｅ）でくくることにより印刷ジョブが生成される。
【００８５】
次に電子原稿ライタ１０２によって生成されるデータ形式についての説明を行う。電子原稿ライタ１０２は、前述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。但し、電子原稿ライタ１０２は特定の出力デバイスを目的としておらず、図中の製本アプリケーション１０４やグループプリンタドライバ６０３（１０９）により処理可能な形式に出力コマンド（汎用ドキュメントデータ）を変換する。
【００８６】
ここで、本実施形態における製本アプリケーション１０４の技術的用語について説明すると、製本アプリケーション１０４は図６、図７にて説明してきた汎用印刷ファイルを読み込み可能なアプリケーションを示すものであり、更に、オープンした汎用印刷ファイルのページ順や、ページ追加等の各種編集処理を行える機能を備える。ユーザ所望の編集が施されたファイル内容は再び汎用印刷ファイルの形式（図１０に示される形式のファイル）で保存され、再度の読込或いは本システムにおける印刷などに利用される。
【００８７】
電子原稿ライタ１０２は上に説明した図７中のグループプリンタドライバ６０３と同様に汎用ドキュメントデータを生成する機能を備える。即ち、汎用印刷ファイル生成部７０２と同様の機能を備えている。これら電子原稿ライタ１０２の各機能は図６、図７にて説明してきたグループプリンタドライバ６０３や汎用印刷ファイル生成部７０２のソフトウェアモジュールを流用するような形態でも実現される。無論別個でもよい。
【００８８】
次に、一般アプリケーションより電子原稿ライタ１０２を利用して生成したファイルと製本アプリケーションを利用して生成したファイルとの関係について説明を行う。アプリケーション１０１により電子原稿ライタ１０２を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ１０２を指定してから印刷を実行させる。電子原稿ライタ１０２は通常のプリンタドライバと異なり、製本アプリケーション１０４が読み込み可能な汎用印刷ファイルを生成させる機能を備える。この汎用印刷ファイルを生成させる処理については、電子原稿ライタ１０２によって、図１０ドキュメントデータ部１０−ｂ及び印刷指示部１０−ａの双方を作成するような形態、或いは、ドキュメントデータ部１０−ｂを電子原稿ライタ１０２が作成し、印刷指示部１０−ａを製本アプリケーションが作成するような形態が想定される。また、結果として生成されたドキュメントデータ部１０−ｂと印刷指示部１０−ａを１つのファイルとしての汎用印刷ファイルに作り上げる処理は電子原稿ライタ１０２或いは製本アプリケーション１０４のどちらが実行しても実現される。尚、このことについては後述する図１２にて詳しく説明する。
【００８９】
このようにデバイスドライバとして電子原稿ライタ１０２を指定し、一般アプリケーション１０１によりそのデータを出力させることで、アプリケーションデータはアプリケーション１０１によって定義されたページ（以後、「論理ページ」あるいは「原稿ページ」と呼ぶ。）を単位とする汎用ドキュメントデータに変換され、汎用印刷ファイル１０３としてハードディスクなどの記憶媒体に格納される。
【００９０】
製本アプリケーション１０４は汎用印刷ファイル１０３を読み込み、それを編集するための機能を利用者に提供する。ページを最小単位として構成される、章やブックの構造を編集するための機能を提供している。製本アプリケーション１０４において、この要に汎用印刷ファイルに章やブックの構造を追加したファイルも実質的に汎用印刷ファイルに含まれるものであるが、ここででは製本アプリケーションを介して加工された汎用印刷ファイルをブックファイルと区別して呼ぶこととする。
【００９１】
一方、文書管理サーバ１２０１は、製本アプリケーション１０４により作成・編集されたブックファイル（汎用印刷ファイル）を格納するサーバである。文書管理サーバ１２０１によってブックファイルや汎用印刷ファイルを管理する。ブックファイル或いは汎用印刷ファイルは、クライアントＰＣのローカルＨＤに代わってこの文書管理サーバのＤＢ１２１１（記憶手段）に保存される。製本アプリケーション１０４と文書管理サーバ１２０１との間のブックファイルの保存および読み出しは、ＤＳクライアント１０８及びＤＳコア１２１２を介して行われる。製本アプリケーションは保存されていた汎用印刷ファイルを所定のユーザインターフェースを介して指定することができ、該指定され製本アプリケーションによってオープンされた汎用印刷ファイルは再び再編集／再印刷などに利用される。再印刷などの際には、既に、汎用ドキュメント生成部７０２に相当する機能にて施される汎用印刷ファイルの生成処理が行われているので、製本アプリケーションからの印刷指示に応じて汎用印刷ファイルが印刷システムに投入されるような場合には高速な印刷処理が実現される。
【００９２】
図１２は、製本アプリケーション１０４が電子原稿ライタ１０２を介して一般アプリケーションデータを元に汎用印刷ファイルを生成し、また、既に生成された汎用印刷ファイルを元にした編集画面を表示させる手順のフローチャートを示す。無論、製本アプリケーション１０４によって行わせる処理の一部をＤｅ−ｓｐｏｏｌｅｒ１０５や、その他のソフトウェアモジュール（オブジェクト）によって実行させることにより図１２のフローチャートの処理を実現するようにしても良い。
【００９３】
まずステップＳ１２−１においては汎用印刷ファイルを新規作成する指示か否かを判断する。
【００９４】
ステップＳ１２−１でＹｅｓと判定された場合に、ステップＳ１２−２では、指定されたアプリケーションデータを特定すると共にファイルをオープンすると共に情報処理装置の表示部に表示させる。
【００９５】
ステップＳ１２−３では、デバイスドライバとして電子原稿ライタ１０２を指定してアプリケーションデータを出力させることで、汎用ドキュメントデータに変換する。また、ステップＳ１２−３には、上で説明したように汎用ドキュメントデータ（図１０のドキュメントデータ部１０−ｂ）を生成するとともに、デフォルトの印刷指示部１０−ａを生成する処理も含めることができる。デフォルトの印刷指示部１０−ａについて、更に詳しく説明すると、ページ情報部におけるページ数：１ページ、用紙サイズ：Ａ４、余白：５ｍｍ、印刷部数：１部、面付け情報：１ＵＰ、ステイプル／パンチ指示：無し等が想定される。無論これに限定されるものではなく、もっとも良く利用されるようなデフォルトの値を各項目に割り当てるようにすることが望まれる。また、出力方法に関しては各種出力方法やグループプリンタ及びメンバプリンタを適宜デフォルト設定として割り当てることが想定されるが、本実施形態では、出力方法及びグループプリンタ及びメンバプリンタはこの段階では割り当ておらず、設定が何もなされていないものとして説明を行っていくこととする。
【００９６】
ステップＳ１２−４において、全てのページが終了したか否かを判定し、終了したと判定されれば、生成された汎用印刷ファイルをデフォルトの印刷指示部１０−ａを含めてた形で表示部に表示させる。
【００９７】
一方、ステップＳ１２−１で新規作成の指示では無いと判定された場合には、既存の汎用印刷ファイルを、上に説明した図１１中の文書管理サーバ１２０１より読込み、該読込んだ汎用印刷ファイル（既に設定された印刷指示部１０−ａ及びドキュメントデータ部１０ｂを含む）を編集する為のユーザインターフェースをステップＳ１２−５にて表示部に表示させる。この際に、読み込まれた汎用印刷ファイルの印刷指示部１０−ａに含まれるプリンタ（グループプリンタ）が印刷を行うべくデフォルトのプリンタとして設定されている。
【００９８】
言い換えれば、ステップＳ１２−１でＮｏと判定された場合にはユーザインターフェースを介して指示された汎用印刷ファイルを開き、ステップＳ１２−５で特定されたファイルを表示部に表示させる。
【００９９】
このように、図１２のフローチャートが実行されることにより、一般アプリケーションのデータを製本アプリケーションに取り込むことができると共に、本印刷システムでの中間ファイルとして利用される汎用印刷ファイルを生成することができるので、図１１中でのグループプリンタドライバにおける印刷処理を行わせる場合に汎用印刷ファイルの生成処理を省略することができる。言い換えれば、製本アプリケーションにてユーザ所望の章構成／ブック構成に編集された汎用印刷ファイルを図６、図７、図１１のような仕組みで印刷させる場合に、高速な印刷処理（分散印刷や代行印刷等）が実現される。
【０１００】
また、電子原稿ライタ１０２を介して汎用印刷ファイルを生成する際に、単にアプリケーションからＯＳを介して指示される描画命令を汎用ドキュメントデータ形式に変換するのみではなく、単なるＤＥＶＭＯＤＥ構造体とは異なる、本システムにおける分散印刷、代行印刷等で利用される印刷指示部１０−ａを自動的にデフォルト設定として生成するので、印刷指示部１０−ａが存在せず、印刷処理を実行できないなどの不都合を解消することができる。
【０１０１】
次に図１３の説明を行う。
【０１０２】
図１３はＳ１２−５の処理により表示部に表示されるＵＩ画面の一例である。ＵＩ画面１１００は、ファイルの構造を示すツリー部１１０１と、印刷された状態を表示するプレビュー部１１０２とを含む。ツリー部１１０１には、ファイルに含まれる章、各章に含まれるページが、木構造で表示される。ツリー部１１０１に表示されるページは原稿ページである。プレビュー部１１０２には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
【０１０３】
さて、開かれた汎用印刷ファイルには、図１２にて説明したフローチャートにより電子原稿ライタによって汎用印刷ファイルに変換されたデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。この機能は、図１３の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される（Ｓ１２−１のＹｅｓの判断処理に対応）。
【０１０４】
電子原稿インポート機能についての更なる詳細を説明すると、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ１０２を指定してアプリケーションデータを出力させることで、汎用ドキュメントデータに変換する（Ｓ１２−２、１２−４に対応）。また、電子原稿のインポートには上に説明した印刷指示部１０−ａのデフォルト設定も含まれているとする。
【０１０５】
変換を終えたなら、先に生成された汎用印刷ファイルを、既に開かれている汎用印刷ファイルに、新たな章として追加する。章属性としては、汎用印刷ファイル属性と共通するものについては該属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
【０１０６】
尚、変換前のアプリケーションデータが画像データである場合には、原則として新たな章は追加されず、汎用ドキュメントデータに変換された後に指定されている章に、ページとして追加される。
【０１０７】
上に説明してきたような製本アプリケーション１０４によって編集されたブックファイル或いは汎用印刷ファイル１０３を印刷する際には、製本アプリケーション１０４によって電子原稿デスプーラ１０５（図中Ｄｅ−ｓｐｏｏｌｅｒ１０５）を介し、グループプリンタ１０９、或いは、通常のプリンタの何れかが指定される。ここで、グループプリンタドライバ１０９については、例えば上に説明した図７中のグループプリンタドライバ６０３に相当する。ここで、プリントサービス１２０３は上に説明した例えば図７中のプリントサービス６２２に、デスプーラ１２３２は図７中のＤｅ−Ｓｐｏｏｌｅｒ７０１に夫々相当させることもできる。
【０１０８】
ここで、製本アプリケーションからグループプリンタドライバとは別の通常のプリンタドライバを介して印刷処理が行われる系について説明を行う。電子原稿デスプーラ１０５は、指定された汎用印刷ファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したＯＳの出力モジュールに適合する出力コマンドを生成させ、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ１０７のドライバ１０６がデバイスドライバとして指定される。出力モジュールは、指定されたプリンタ１０７のプリンタドライバ１０６を用いて受信した出力コマンドを、プリンタ１０７で解釈実行可能なデバイスコマンドに変換する。そしてデバイスコマンドはプリンタ１０７に送信され、プリンタ１０７によってコマンドに応じた画像が印刷される。
【０１０９】
また、グループプリンタがプリンタとして指定されたような場合には、電子原稿デスプーラ１０５は指定された汎用印刷ファイルをグループプリンタドライバに対応して設定された出力ポートに出力するよう制御を行う。以下、その詳細について説明を行う。
【０１１０】
図１３のユーザインターフェースに示される「印刷形式（０）」への指示に応じて表示される印刷設定画面を介して、用紙サイズ、Ｎ−ｕｐ、ステープル設定等各種印刷設定（図１０の印刷指示部１０−ａ）を指示できるとともに、指定された印刷設定（ジョブチケットとも呼ぶ）と汎用ドキュメントデータとを合せた、汎用印刷ファイルが更に生成される。
【０１１１】
そして、生成された汎用印刷ファイルに対して印刷指示が行われる。この印刷指示の際に、上に説明したＬｏｇｉｃａｌＰｏｒｔ７１０に対して印刷指示がなされると、図６、図７にて説明した印刷制御が行われる。
【０１１２】
また、単体の出力デバイスが割当られたプリンタ出力ポートを対象とした印刷指示（通常プリンタを採用した印刷指示）がなされると、上に説明したように図１１に示された電子原稿でスプーラ１０５、図示しないＯＳ、プリンタドライバ１０６をへてページ記述言語がデバイス宛てに送信される。
【０１１３】
次に、図１３の「印刷形式（０）」へのメニュー指示に応じて表示される印刷設定画面を介しての印刷指示の際の処理を説明する。
【０１１４】
まず、印刷設定画面を介してプリンタが選択される（プリンタドライバとプリンタ出力ポートの組み合わせ）。ここで、印刷設定画面にはグループプリンタが選択された際には対応するプリンタ出力ポートが表示され、また、通常プリンタが選択された場合は通常プリンタに対応するプリンタ出力ポートが選択される。即ち、複数の種別のグループプリンタから所定のグループプリンタが選択された場合には、製本アプリケーションは選択指示されたグループプリンタドライバに対して各種情報を問い合わせる。この各種情報には、少なくとも、図１０の印刷指示部１０−ａにて説明した、グループプリンタに対応する出力方法の種別の情報（代行印刷、分散印刷等）や、子プリンタとして関連付けられた単数或いは複数のメンバプリンタ数の情報、各メンバプリンタドライバ名、各メンバプリンタのプリンタ出力ポート等のグループプリンタに関連した情報１０-ｃが含まれる。
【０１１５】
そして、製本アプリケーションによって取得された問い合わせに対するグループプリンタドライバからの応答情報は、所定のタイミングで印刷指示部１０−ａの対応する領域に書き込まれる。
【０１１６】
所定のタイミングとしては、例えば、「印刷形式（０）」のメニュー指示に応じて表示される印刷設定画面を介して印刷実行指示がなされたような場合に、一旦メモリに保持された応答情報を印刷指示部１０−ａに書き込むようなタイミングが想定される。
【０１１７】
また、「印刷形式（０）」に応じて表示される印刷設定画面を介して、用紙サイズ、解像度、Ｎ−ＵＰの面付設定などが変更されると、該変更に応じて印刷指示部１０−ａが更新（書き換えられる）される。
【０１１８】
そして、製本アプリケーションを介して編集された汎用印刷ファイルに対して、「印刷形式（０）」のメニュー指示に応じて表示される印刷設定画面（図１８の（ａ）（ｂ）参照）や、「ファイル（Ｆ）」→「印刷（Ｐ）」の指示に応じて表示される画面を介して印刷実行指示がなされると、上に説明したような仕組みで設定された印刷指示部１０−ａとドキュメントデータ部１０−ｂが電子原稿デスプーラ１０５を介してグループプリンタドライバ１０９に受け渡され、更に、ジョブ制御ポートモニタ１１０、ＬｏｇｉｃａｌＰｏｒｔを経由し選択された所定のグループプリンタに対応した複数のメンバプリンタ（メンバプリンタドライバ）夫々にＤｅ−ｓｐｏｏｌｅｒ１２３２による印刷指示（印刷設定に沿ったページ記述言語或いはイメージデータの作成指示）がなされる。印刷指示が行われた各プリンタドライバが生成したデータは通信回線を介して各出力デバイスに送信される。尚、製本アプリケーション１０４において開いている或は編集中の汎用印刷ファイルに対する印刷要求に応じて後述する図１４のフローチャートの処理が実行されることとなる。図１４の詳細は後述にて説明することとする。
【０１１９】
このように、製本アプリケーション１０４によって生成された汎用印刷ファイルに対して印刷指示がなされるような場合に、ユーザによって所望のグループプリンタが指定されることに応じて、未設定となっていた出力方法／メンバプリンタの組み合わせ等の内容を含んだ印刷指示部１０−ａを生成することが可能になる。また、このことにより、製本アプリケーションのような汎用印刷ファイルの編集を主なる目的としたようなアプリケーションから印刷設定を行った場合にでも、複数の印刷デバイスを対象としたような分散印刷や代行印刷のような印刷設定を効率よく且つ確実に行うことが可能となる。
【０１２０】
また、製本アプリケーションから分散印刷や代行印刷のような印刷設定を確実に行うという観点で、グループプリンタの設定が印刷指示部１０−ａに未設定であるような場合に、予め定められた通常使用するように設定された単独のプリンタドライバを採用するような形態や、未設定であることを検知すると共に、グループプリンタの設定を行わせるようなことも別の形態として想定される。
【０１２１】
一方、図１１において説明してきたように、製本アプリケーション１０４を介して設定された印刷指示部１０−ａ中のグループプリンタ関連情報部１０−ｃ（出力先情報）や、ページ情報部／印刷体裁指示部の設定変更や、汎用ドキュメントデータの追加や削除に伴い更新された印刷指示部１０−ａを含む汎用印刷ファイルが、ＤＢ１２１１やクライアント内の所定の記憶部に保存される。この保存の際には編集が施された汎用ドキュメントデータ１０−ｂも汎用印刷ファイルの一部として保存される。
【０１２２】
これにより、ＤＢ１２１１やクライアント内部に、更新／変更したドキュメントデータをグループプリンタ関連情報１０−ｃと関連付けて汎用印刷ファイルとして保存することができるので、プリンタを複数台使用して、分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムに対して利便性の高い文書管理の仕組みを実現することができる。
【０１２３】
例えば、仮想プリンタ（グループプリンタ）には複数のメンバプリンタが関連付けられていることが想定されるが、グループプリンタを選択する際には、各々のメンバプリンタがどのように設定されているかなどを確認する必要が生じてくる。また、印刷出力しようとするドキュメント内容に応じてメンバプリンタを選定する必要があることもある。このような問題に対して、汎用ドキュメントデータ１０−ｂと印刷指示部１０−ａとを汎用印刷ファイルとして所定の記憶部に記憶させるので、ユーザの煩雑な操作／作業を大幅に軽減することができる。
【０１２４】
次に本実施形態における、汎用印刷ファイルの生成及びハンドリングに関連したジョブ制御プリントサービス６２２の印刷制御処理について、図１４を用いて説明する。
【０１２５】
図１４は前述にて説明した図７の汎用印刷ファイル生成部７０２に関して汎用印刷ファイル７０３を生成するフローを説明したものである。尚、各ステップの処理の一部を他のソフトウェアモジュール（オブジェクト）によって実行させることにより図１４のフローチャートの処理を実現するようにしても良い。
【０１２６】
まず、ステップＳ１４−１で、後々に図７のＬｏｇｉｃａｌＰｏｒｔ７１０で受け取る、即ちグループプリンタドライバ６０３を介して受け取るデータが汎用印刷ファイルであるか否かを汎用印刷ファイル特定情報（汎用印刷ファイルであることを示す識別情報）に基づいて判断（切り分け）する。該切り分けは例えばグループプリンタドライバ６０３によって行われる。このステップＳ１４−１の時点で汎用印刷ファイルであるということは、前述した電子原稿ライタ１０２或いは製本アプリケーションによって既に汎用印刷ファイルが生成されたものを受信したことに対応する。言い換えれば、製本アプリケーション１０４によって開かれた汎用印刷ファイルに従う印刷要求が図６や図７の印刷ジョブ制御システム対して行われた場合に対応するともいえる。
【０１２７】
ステップＳ１４−１で受け取ったデータが既に汎用印刷ファイルであれば、ステップＳ１４−７に進み、受け取ったそのままの形を汎用印刷ファイルとして所定の記憶領域に書き込み処理を終了する。このステップＳ１４−１におけるＹｅｓの判断は、上に説明したＤＢ１２１１（記憶手段）に保存される印刷指示部１０−ａとドキュメントデータ部１０−ｂとを含んだ汎用印刷ファイルが読み込まれ図６或は図７の印刷ジョブ制御システム投入される場合などに生じる。
【０１２８】
ステップＳ１４−１で受け取ったデータが汎用印刷ファイルの形式でなかった場合は、ステップＳ１４−２に進み、汎用印刷ファイルを作成する為の初期化ステップを踏む。このステップＳ１４−１におけるＮｏの判断は、図１１において説明したように一般アプリケーションから図６や図７に示した印刷ジョブ制御システムへの印刷要求が行われ、この印刷要求に伴うアプリケーションデータに応じたＯＳから発行される描画命令に基づき汎用印刷ファイルを作成する必要がある場合に対応する。
【０１２９】
また、ステップＳ１４−１の処理は、製本アプリケーションやＯＳなどのデータの投入元から汎用印刷ファイルを投入するか否かを宣言させるようにして、グループプリンタドライバ６０３や所定の判別モジュールが、この宣言の内容を汎用印刷ファイルであることを示す識別情報として認識するようにし判別を行うようにしても良い。
【０１３０】
次に、ステップＳ１４−３に進み、受け取った印刷ジョブデータを読み込み解読し、まとまったデータ郡として構築する。即ち、図９に示されるパケット化された汎用形式のドキュメントデータ部をまとまった汎用ドキュメントデータファイルとして構築すると共に、印刷指示部データ部がパケットされて受け取られる場合には印刷指示部データ部をまとまった印刷指示部データファイルとして構築する。
【０１３１】
次に、ステップＳ１４−５に進み、汎用印刷ファイルとして書き込みを行う。
【０１３２】
次にステップＳ１４−６に進み、汎用印刷ファイルの終了処理を行うとともに、前述の図７で説明したＤｅ−ｓｐｏｏｌｅｒ７０１に汎用印刷ファイルを読み込ませ解釈させる手続きなどを行い（ステップＳ１４−８）処理を終了する。
【０１３３】
このように、図１４のフローチャートによりジョブプリント制御サービス６２２は、製本アプリケーション等で既に生成された汎用印刷ファイルを受け付けた場合には、再度汎用印刷ファイルを構築することなく投入された汎用印刷ファイルに基づく印刷処理を実行することができるようになる。
【０１３４】
以上のように本実施の形態においては、ドキュメントデータと、複数のメンバプリンタに対する印刷設定を含む印刷指示情報と、に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる印刷制御モジュールを備える印刷システムにおいて、第１のアプリケーション（製本アプリケーション１０４）を介してのドキュメントデータの編集指示に応じて、前記ドキュメントデータの内容を変更させることができ、更に該変更された汎用ドキュメントデータが本印刷システムに印刷ジョブとして投入されるような場合には、本印刷システムは該変更されたドキュメントデータの印刷指示を示すか、第２アプリケーション（一般アプリケーション）からの印刷指示に応じて発行されるＯＳに依存した描画命令に基づく印刷指示を示すか、を判別し該判別により第１のアプリケーションからの印刷指示を示すと判別される場合にはドキュメントデータと該ドキュメントデータに対応する印刷指示情報に基づいて複数のメンバプリンタの夫々に印刷処理を行わせ、第２のアプリケーションからの印刷指示を示すと判別される場合には送信されてくる描画命令に基づくドキュメントデータを生成し、該生成されたドキュメントデータを対応する印刷指示情報に基づいて前記複数のメンバプリンタの夫々に印刷処理を行わせる第２の印刷指示ステップとが実現されるようになったので、編集アプリケーションと印刷システムとの双方を効率良くリンクさせ、印刷出力時におけるシステムの高速化を図ることができるようになった。言い換えれば、汎用印刷ファイルを受けた場合に、汎用印刷ファイルの構築に伴うオープンクローズがグループプリンタドライバと汎用印刷ファイル生成部で２回発生し印刷システムでの処理時間が増大することを未然に防ぐこともできる。
【０１３５】
更に、上記汎用印刷ファイルは、上に説明した製本アプリケーションを利用して、その内容を編集可能であると共に、編集後の汎用印刷ファイルも本印刷システムに投入可能であり、複数のプリンタデバイスを対象としたような印刷データ処理において、編集用のファイルと印刷用のファイルとを別個の形式で取り扱うような形態と比べて、分散印刷や代行印刷のシステムと編集技術との双方を効率良くリンクさせているので高速な印刷処理を実現可能となった。特に、汎用印刷ファイルを保存し再印刷に利用するような場合に非常に有用であることが導ける。
【０１３６】
特に、プリンタを複数台使用して、分散、同報、代行といった印刷処理を行う印刷ジョブ制御システムにおいて利用される汎用印刷ファイルを、製本アプリケーション１０４により編集や各種設定変更を行い保存できるようにし、この保存された汎用印刷ファイルを印刷ジョブ制御システム７００に投入するような仕組みを実現することができるので、ユーザにしれみれば汎用印刷ファイルを所望の設定／内容に変更しながら、高速な印刷ジョブ制御システムを利用できるという効果を得ることできる。
【０１３７】
また、本印刷ジョブ制御システムは、製本アプリケーション１０４からの印刷要求に限定されず、ワードプロセシングやスプレッドシート、フォトレタッチなどの製本アプリケーション１０４とは異なるアプリケーションプログラムからの印刷要求にも応じ汎用印刷ファイルの生成を伴う図６や図７の印刷処理を行うことができる。即ち、印刷要求元のアプリケーション種別に応じて適切に汎用印刷ファイルを生成するか否かを切り分けるという無駄の無い且つ柔軟な印刷処理を実現することができる。
【０１３８】
〔第２実施例〕
第２実施例では、製本アプリケーション１０４から、第１実施例において説明した分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの出力方法を実行させる際に行われる処理について詳しく説明することとする。尚、図１乃至図１４において説明してきた、ハードウェア構成及びソフトウェアモジュール（各オブジェクト）及び各フローチャートの処理は第２実施例における印刷システムも備えるものとし、特に第１実施例との差異について詳しく説明していく。
【０１３９】
図１５は、第１実施例において説明してきた分散印刷や、代行印刷等の複数のプリンタデバイスを対象としたような印刷データ処理を行う前の製本アプリケーションの処理を示すものであり、各ステップの処理は、図１２に示す製本アプリケーション１０４が主体となって実行される。無論、製本アプリケーション１０４によって行わせる処理の一部をＤｅ−ｓｐｏｏｌｅｒ１０５や、その他のソフトウェアモジュール（オブジェクト）によって実行させることにより図１５のフローチャートの処理を実現するようにしても良い。
【０１４０】
尚、図１５に示される各ステップの処理は一部第１実施例において説明したことに対応しており、ステップＳ１５０１乃至１５０３は第１実施例での図１２及び図１３の説明に、ステップＳ１５０５、１５０６、１５０８は図１３における汎用印刷ファイルの編集や出力情報（グループプリンタ）を含む各種設定変更に、ステップＳ１５１１は図１３の製本アプリケーションからの図６や図７の印刷ジョブ制御システムへの汎用印刷ファイルへの投入に、ステップＳ１５１２は図１４の処理に夫々対応するものとする。
【０１４１】
先ず、ステップＳ１５０１において、汎用印刷ファイルが製本アプリケーション１０４により取り込まれる処理が行われる。このステップＳ１５０１における取り込まれるとは第１実施例で説明した図１２のステップＳ１２−１にてＹｅｓ及びＮｏと判断された場合に実行される各々のステップの処理に対応するものであり、取り込に際して、図１０の印刷指示部１０−ａ中のヘッダ部、ページ情報部、印刷体裁指示部などの作成／読込の処理も含まれる。特にページ情報部と印刷体裁指示部とに関して詳細を図１６の（ａ）及び（ｂ）に示す。
【０１４２】
図１２との対応関係を更に詳しく説明すると、ステップＳ１２−１上述に説明したように、デフォルトの印刷指示部１０−ａが新たに作成される。作成された印刷指示部１０−ａに基づく製本アプリケーションの表示が行われる。また、汎用印刷ファイルに変換されるアプリケーションデータの描画命令／ページ設定／印刷設定／ページ数などの設定情報に基づくページ情報部が作成するようにしても良い。また、ここで言うデフォルトとは、製本アプリケーションであらかじめ一意に決めたものでもよいし、どのような面付けにするかをテンプレートとして用意しておきユーザに選択させ、その選択に応じて設定をデフォルトとすることも可能である。例えば、図１８の１８０５より所望の設定のテンプレートを選択することができる。
【０１４３】
一方、ステップＳ１２−１においてＮｏと判断された場合には、汎用印刷ファイルに組み込まれた印刷指示部１０−ａとドキュメントデータ部１０−ｂとに基づく製本アプリケーションの表示が行われる。
【０１４４】
図１５の次ステップの説明に戻ると、ステップＳ１５０２において、グループプリンタの特定が行われる。この特定は、ステップＳ１５０１において新規に設定された、或は、既に設定されたグループプリンタ特定情報に基づき行われる。グループプリンタが新規に設定される場合には、例えば、図１８の（ａ）や（ｂ）に示される設定画面を介した入力により行われる。
【０１４５】
グループプリンタ特定情報は、例えば、図１０中のグループプリンタドライバ設定情報部に含めることができる。このプリンタ特定情報は、例えばプリンタ名や、プリンタＩＤを採用することができ、プリンタを特定することができる情報であれば適宜適用可能である。
【０１４６】
また、別の形態としては、図１８（ａ）や（ｂ）に示されるような、プリンタ選択画面を表示させ、該表示から所定のプリンタを選択させるようにしても良い。プリンタ選択画面には、システム（ＯＳ）に設定されたプリンタフォルダに登録されているプリンタが含まれる。登録されたプリンタには、出力方法毎／メンバプリンタの組み合わせに対応して定義された、複数のグループプリンタや、グループプリンタを構成する個々のメンバプリンタや、その他のＯＳに登録された各プリンタが含まれる。プリンタ特定情報は印刷指示部１０−ａ中に設定される。
【０１４７】
更に、このステップＳ１５０２において特定されたプリンタ（出力先情報）は変更がない限りステップＳ１５０８の印刷処理の際のデフォルト設定となる。このプリンタにはグループプリンタが含まれる。また、このデフォルト設定は、ＯＳのプリンタフォルダに登録された「通常使うプリンタ」などとは別途ものであり、汎用印刷ファイル毎に別個に用意されたものに対応する。
【０１４８】
特に既存の汎用印刷ファイルが読み込まれた際に、汎用印刷ファイル中の印刷指示部１０−ａに設定されている出力先情報（グループプリンタ設定情報）がデフォルトとして採用されるので、情報処理装置において稼動するＯＳにデフォルトとして使用するように登録された「通常使うプリンタ」の設定にかかわらずスムースなプリンタ設定処理を実現することができる。また、グループプリンタを一度所定の汎用印刷ファイルに関連付けれておけば、以後この所定の汎用印刷ファイルを印刷出力するような場合に、ユーザ所望のグループプリンタを容易に利用することができる。
【０１４９】
ステップＳ１５０３においては、ステップＳ１５０２において特定されたグループプリンタ特定情報に基づくグループプリンタ関連情報の取得が行われる。グループプリンタ関連情報は図１０に示す通りである。この際に、先に説明した通り、仮想プリンタの出力先情報を含むグループプリンタ関連情報１０−ｃ（印刷指示部１０−ａ）は更新される。
【０１５０】
そして、ステップＳ１５０４においては、ステップＳ１５０３の処理に応じて取得された情報に基づく出力状態の表示が行われる。出力状況には分散印刷や、カラーモノクロ分散印刷がなされた場合の分散状況が含まれる。例えば、ステップＳ１５０２において特定されたグループプリンタの出力方法が「分散印刷」の場合に、ステップＳ１５０４にて表示される画面様子は図１９に示されるようになる。このように、ステップＳ１５０４の処理により、編集アプリケーション（製本アプリケーション１０４）の編集画面にグループプリンタの設定に応じた出力状況を反映させることができるので、ユーザは汎用印刷ファイルの編集を行いながら、複数のプリンタにおける出力状況をビジュアル的に分かり易く認識することができる。
【０１５１】
ステップＳ１５０５では、プリンタの変更がなされたか否かが判定される。プリンタの変更は図１８（ａ）や（ｂ）に示されるような設定画面を介したての任意のタイミングの入力に基づき行われる。この際にもステップＳ１５０３と同様に、仮想プリンタの出力先情報を含むグループプリンタ関連情報１０−ｃ（印刷指示部１０−ａ）は更新される。
【０１５２】
ステップＳ１５０５でＹｅｓと判断された場合には、ステップＳ１５０６で、グループプリンタ関連情報の取得が再度行われる。ステップＳ１５０３と同様の処理がなされる。
【０１５３】
ステップＳ１５０７ではステップＳ１５０４と同様の処理がなされる。例えば、出力方法が分散印刷のグループプリンタから、カラーモノクロ分散印刷のグループプリンタに変更された場合には図１９の表示様子が図２０のように変更される。
【０１５４】
ステップＳ１５０８では、印刷指示の入力がなされたか否かが判断される。例えば、図１８の１８０２のボタンの押下に応じて印刷指示の入力がなされる。
【０１５５】
ステップＳ１５０９では印刷指示の入力がなされたことに応じて、プレビュー画面の表示をするか否かが判定される。
【０１５６】
ステップＳ１５０８の処理に際して、図１８の設定画面を介しプリンタが変更されている場合などにプレビュー画面必要有り判断され、ステップＳ１５１０において、ステップＳ１５０４、１５０７と同様の表示処理が行われる。プリンタが変更されている場合には、ステップＳ１５０８において、ステップＳ１５０３と同様に、仮想プリンタの出力先情報を含むグループプリンタ関連情報１０−ｃ（印刷指示部１０−ａ）は更新される処理の実行される。
【０１５７】
ステップＳ１５１０の処理を行う際には、ステップＳ１５０６、ステップＳ１５０７と同様の処理が実行されることとする。尚、プレビュー用の表示画面は、図１９、図２０に示されるような、図１３の製品アプリケーション画面を流用するようにしても良いし、別途プレビュー用の画面を表示させるように処理しても良い。
【０１５８】
ステップＳ１５１１では、ステップＳ１５０８の印刷指示に基づいてグループプリンタ（グループプリンタドライバ）が指定されているか否かが判断される。この判断には、例えば、指定されているプリンタが仮想プリンタに対応するものなのか否かをプリンタ名などのプリンタ識別情報を基にグループプリンタ６０３に問合せを行い、問い合わせに対するグループプリンタ６０３の応答に応じて判断することができる。
【０１５９】
ステップＳ１５１１でＹｅｓと判断されれば、ステップＳ１５１２処理を移行させ、Ｎｏと判断されれば、ステップＳ１５１３へ処理を移行させる。
【０１６０】
ステップＳ１５１２では、電子原稿Ｄｅ−ｓｐｏｏｌｅｒ１０５、ジョブ制御ポートモニタ６２１（図１１ではジョブ制御ポートモニタ１１０に対応）、ＬｏｇｉｃａｌＰｏｒｔ７１０を介して分散印刷や、カラーモノクロ分散印刷などの図６、図７などで説明した仮想印刷処理が実行される。
【０１６１】
ステップＳ１５１３では、図１１中のプリンタ１０７にジョブが投入される処理が実行され、従来からの単体のデバイスを対象とした印刷出力が行われる。
【０１６２】
図１６は、上述のステップＳ１５０３、ステップＳ１５０６において、取得される情報であり、図１６の（ａ）は印刷指示部１０−ａのページ情報部に、図１６の（ｂ）は印刷指示部１０−ａの印刷体裁指示部に、図１６の（ｃ）は印刷指示部１０−ａの出力方法指定部に夫々対応する。
【０１６３】
図１６の（ａ）のページ情報部には汎用形式のドキュメントデータのページ情報として、総ページ数１６０２と各ページの用紙サイズ１６０２およびカラーフラグ１６０３、１６０４が設定されている。
【０１６４】
カラーフラグは例えば電子原稿ライタ１０２で汎用ドキュメントデータが生成される際に、アプリケーションからの印刷データを調査して、文字やグラフィックおよびイメージにカラー情報が含まれているかを判断し、含まれている場合にはそのページに対してカラーフラグとしてＣ（カラー情報有り）、含まれていなけれＢＷ（モノクロ）設定するなど、汎用ドキュメントデータ生成時に判断し設定することができる。
【０１６５】
図１６の（ｂ）の印刷体裁指示部には、第１実施例にて説明した情報が対応する。１６０６は１つの面に配置するページ数（Ｎ）分、配置座標／拡縮率およびページ番号が設定されている。
【０１６６】
特に総物理面数１６０７は実際に出力される用紙面数を表わしており、片面印刷の場合は出力する用紙枚数と一致する。両面が指定されている場合各面の奇数は表面、偶数は裏面とすることができる。
【０１６７】
Ｎ−ＵＰについていは各面毎に指定可能となっている。各面のＮ−ＵＰのＮ数によってそこに配置される汎用ドキュメントデータのページ数が確定する。
【０１６８】
各面はＮ数に応じて汎用ドキュメントデータのどのページ番号がどの位置に配置されるか（配置位置／拡縮率）を計算しその情報とともに設定が行われる。尚、両面フラグは全面数共通のフラグとしたが、各面数毎に指定する方法も可能である。
【０１６９】
図１６（ｃ）は印刷指示部１０−ａの出力指定部に対応する。また、出力方法指定部には、分散印刷が指定されている場合、各分散割合が設定されている。分散比率のデフォルト設定は、各メンバプリンタの印刷出力スピードにより計算されてもよいし、同比率でもよい。分散比率自身はグループプリンタドライバＵＩ上で設定が可能となっている。
【０１７０】
図１７は、ステップＳ１５０３、ステップＳ１５０６の詳細な処理を示す。
【０１７１】
ステップＳ１７０１においては、製本アプリケーション１０４は、グループプリンタドライバ１０９に対して、ステップＳ１５０２やステップＳ１５０５で特定されたグループプリンタに基づくグループプリンタ関連情報の取得をＤｅｖｍｏｄｅや拡張されたＤｅｖｍｏｄｅにかかわるドライバのＡＰＩを介して行う。また、指定されたドライバがグループプリンタであるか否かは、あらかじめ製本アプリケーションとグループプリンタで取り決められたフラグなどの識別情報を前述のＡＰＩから取得し判定することが可能である。前述の図１５のステップＳ１５１１におけるグループプリンタドライバか否かなどの判断はこの情報をもとに行うことも可能である。
【０１７２】
ステップＳ１７０２では、グループプリンタ関連情報１０−ｃの取得が行われる。ここで取得される情報には、図１０に示される通りであり、上述した図１６で説明した情報も無論含まれる。
【０１７３】
ステップＳ１７０３はページ情報部、印刷体裁部などの出力設定／体裁に係る情報を取得するステップであるが、この処理はステップＳ１７０３のタイミングでは省略してもよい。
【０１７４】
図１８の（ａ）、（ｂ）は、先のステップＳ１５０５やステップＳ１５０８の際に、表示される選択画面を示すものであり、クライアント１０２〜１０４のディスプレイ２０７に表示されるユーザインターフェース（印刷設定画面）の一例を示す。また、この図１８の（ａ）、（ｂ）は、第１実施例の図１３において説明した、「印刷形式（０）」への指示に応じて表示される印刷設定画面にも対応させることができる。
【０１７５】
１８０１は、クライアント１０２〜１０４が選択可能な複数のプリンタリストを示すものであり、図１８の（ａ）の状態ではプリンタリスト１８０１から「プリンタＥ」が選択されるところである。尚、図１８の（ｂ）のプリンタの選択リストの提示及び設定も図１８の（ａ）と同様とする。
【０１７６】
プリンタリスト１８０１において、例えば、「プリンタＣ」はカラープリンタを示す場合がある。また、「カラーモノクロ分散グループプリンタ」、「分散グループプリンタ」は複数のプリンタ（メンバプリンタ）を対象とした印刷を行う為の仮想プリンタを示す。「カラーモノクロ分散グループプリンタ」や、「分散グループプリンタ」の対象となるメンバプリンタとしては、例えば、プリンタＣ及びプリンタＢ（白黒プリンタ）プリンタＢ及びプリンタＤ（白黒プリンタ）を予め登録しておくことができる。
【０１７７】
また、「プリンタＡ」は、プリンタを複数台使用して、分散、同報、代行といった印刷処理とは関連しないプリンタを示すものであり、例えば、プリンタに関連付けられたポートがＬＰＲポート６０４の場合は、ＬＰＲ（ラインプリンタデーモンプロトコル）を用いてスプーラ６０２から転送されてきた印刷データが画像形成装置としてのデバイスに送られる。図１１のプリンタドライバ１０６に対応付けられたプリンタに対応する。
【０１７８】
図１９、２０は、上述のステップＳ１５０４、１５０７、１５１０において表示される画面の表示様子を示すものである。
【０１７９】
図１９は、ステップＳ１５０２、１５０５、Ｓ１５０８において特定されたグループプリンタの出力方法が分散印刷に対応する場合を示す。
【０１８０】
分散印刷においては複数部数を比率に応じて複数プリンタに分けて印刷する部数分散と、ページ全体を比率に応じて複数プリンタに分けて印刷するページ分散とがあるが、ここでは、ページ分散についての例を示す。部数分散とページ分散の切り分けの方法として、指定された部数が１部のときはページ分散、複数部のときは部数分散と判断することも出来る。
【０１８１】
ステップＳ１５０３、１５０６、Ｓ１５１０においては、印刷指示部１０−ａのメンバプリンタ数や、各メンバプリンタ名１、２、・・、各メンバプリンタドライバ設定情報部或は出力方法指定部に設定されている分散割合の情報が取得され、取得された分散割合とメンバプリンタ数とに基づき、印刷体裁指示部の総面数より夫々のメンバプリンタに割り振られる面数を計算し、該計算に基づき製本アプリケーション１０４の表示画面に出力状況の識別可能に表示させる。また、出力状況には、図１９、図２０に示されるように各ページ範囲に割当てられたプリンタ名も含まれている。
【０１８２】
分散割合に関しては、グループプリンタドライバからのメンバプリンタドライバ設定情報部に基づきメンバプリンタの印刷速度に基づき製本アプリケーション１０４が計算するようにしても良いし、グループプリンタドライバにおいて計算された結果を取得するようにしても良い。図１９中では、プリンタＢとプリンタＤが１：２で出力を割当てられている様子が示されている。
【０１８３】
図２０は、ステップＳ１５０２、１５０５、Ｓ１５０８において特定されたグループプリンタの出力方法がカラーモノクロ分散に対応する場合を示す。
【０１８４】
カラーフラグがＣ（カラー情報有り）となっている面については、カラープリンタＣが、カラーフラグがＢＷ（モノクロ）となっているものについては、モノクロプリンタＢが割当てられている様子が示されている。
【０１８５】
以上、述べてきたように、第２実施例によれば、プリンタを複数台使用して、分散、同報、代行といった印刷処理を行う印刷ジョブ制御システムにおいて、汎用印刷ファイルを印刷出力した後に保存し再利用する場合に、出力先となるグループプリンタやメンバプリンタを変更することができ、文書管理にともなって保存された汎用印刷ファイルを、プリンタを複数台使用して、分散、同報、代行といった印刷処理を行う印刷ジョブ制御システムにおいて出力先を変更するなど柔軟に出力することができる。
【０１８６】
また、変更内容を視覚的に汎用印刷ファイルの編集画面において確認することができるようになった。
【０１８７】
（他の実施例）
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１８８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１９０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１９１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１９２】
【発明の効果】
以上説明したように、本発明によれば、分散印刷や、代行印刷等の複数のプリンタデバイスを対象としたような印刷データ処理において、例えば、一度印刷出力したものを、後日所定の条件下で印刷出力する場合にでも、出力先情報も含めた出力先情報を管理することができるようになり、出力先設定などの煩雑な作業をユーザに繰り返し強いることなく、簡単な作業で印刷などを再現することが可能となった。
【０１９３】
また、編集アプリケーションと印刷処理システムとの双方を効率良くリンクさせ、印刷出力時におけるシステムの高速化を図ることができるようになった。
【図面の簡単な説明】
【図１】本発明を適用可能な情報処理システムの構成を説明するブロック図である。
【図２】本発明の情報処理装置の構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す。
【図６】本発明の情報処理装置のプリント制御モジュール構成を説明するブロック図である。
【図７】プリントサーバで管理されるジョブ情報のデータ構造の一例を示す。
【図８】グループプリンタドライバがアプリケーション６０１からの印刷要求に応じてＯＳを介して発行される描画命令を受けてスプーラー６０４でデータを出力するフローチャートである。
【図９】パケット化されたデータを模式的に示した図である。
【図１０】汎用印刷ファイルの構造の一例を示す。
【図１１】クライアントサーバ型の文書処理システムのブロック図である。
【図１２】汎用ファイルを生成或は開く際の処理動作を示すフローチャートである。
【図１３】汎用印刷ファイルを開いた際のユーザインターフェース画面の一例を示す図である。
【図１４】ジョブ制御プリントサービス６２２の汎用印刷ファイル生成に伴う処理動作を示すフローチャートである。
【図１５】製本アプリケーションによる処理動作を示すフローチャートである。
【図１６】製本アプリケーションにより取得される印刷指示部取得される印刷指示部１０−ａの情報の詳細様子を示す図である。
【図１７】図１５の詳細な処理動作を示すフローチャートである。
【図１８】プリンタ選択画面を示す図である。
【図１９】汎用印刷ファイルの出力先に分散出力方法に対応したグループプリンタが指定された際のユーザインターフェース画面の一例を示すである。
【図２０】汎用印刷ファイルの出力先にカラーモノクロ分散出力方法に対応したグループプリンタが指定された際のユーザインターフェース画面の一例を示すである。
【符号の説明】
１０１  サーバ
１０２  クライアント
１０３  クライアント
１０４  クライアント
１０５  ネットワークプリンタ
【図１】
0003740472.tif 000002
【図２】
0003740472.tif 000003
【図３】
0003740472.tif 000004
【図４】
0003740472.tif 000005
【図５】
0003740472.tif 000006
【図６】
0003740472.tif 000007
【図７】
0003740472.tif 000008
【図８】
0003740472.tif 000009
【図９】
0003740472.tif 000010
【図１０】
0003740472.tif 000011
【図１１】
0003740472.tif 000012
【図１２】
0003740472.tif 000013
【図１３】
0003740472.tif 000014
【図１４】
0003740472.tif 000015
【図１５】
0003740472.tif 000016
【図１６】
0003740472.tif 000017
【図１７】
0003740472.tif 000018
【図１８】
0003740472.tif 000019
【図１９】
0003740472.tif 000020
【図２０】
0003740472.tif 000021