(57)【要約】【課題】プリント時の印刷設定を再利用可能な文書管理システム内のホットフォルダ等においてプリンタドライバの設定だけでなく、デバイス内部の処理情報もあわせて保持、再現することで画像出力を忠実に再現する。【解決手段】文書管理システム１００は、印刷要求時に、プリンタドライバ２００およびプリンタコントローラ４０００が使用したフィルタモジュールを特定するフィルタ情報をフィルタ情報履歴として保存するよう要求できる。その要求に応じて、プリンタドライバがフィルタ情報をプリンタコントローラに渡し、プリンタコントローラは受け取ったフィルタ情報とともに、自己の使用したフィルタ情報を保存する。また文書管理システム１００からの要求に応じて保存されているフィルタ情報履歴を送信する。文書管理し捨て１００は受信したフィルタ情報履歴に含まれるフィルタ情報を添付した印刷要求をプリンタドライバ２００に発行できる。【選択図】図２
2006228066.tif 000002
【特許請求の範囲】
【請求項１】
印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理手段と、
前記変換処理手段により使用されたフィルタモジュールを特定するためのフィルタ情報を保存する履歴保存手段と、
前記履歴保存手段により保存された前記フィルタ情報を読み出して前記印刷データに添付するフィルタ再指定手段と
を備えることを特徴とする印刷システム。
【請求項２】
印刷設定に応じて利用するフィルタモジュールを決定して該フィルタモジュールを特定するフィルタ情報を印刷データに添付するフィルタ指定手段をさらに備え、
前記フィルタ指定手段により添付されるフィルタ情報にはバージョン情報が含まれず、前記フィルタ再指定手段により添付されるフィルタ情報にはバージョン情報が含まれており、
前記変換処理手段は、前記フィルタ情報にバージョン情報が含まれる場合には該当するバージョンの該当するフィルタモジュールを用い、前記フィルタ情報にバージョン情報が含まれない場合には該当する最新のバージョンのフィルタモジュールを用いて印刷データの変換処理を行うことを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記履歴保存手段に保存されたフィルタ情報を読み出して、読み出したフィルタ情報を、特定のファイルフォルダに関連づけて保存する手段を更に備え、
前記フィルタ再指定手段は、前記特定のファイルフォルダに印刷対象の文書データファイルが投入されると、該文書データファイルに基づいて生成した印刷データに、前記特定のファイルフォルダに関連づけて保存されたフィルタ情報を添付することを特徴とする請求項１または２に記載の印刷システム。
【請求項４】
前記印刷システムはホスト装置と印刷装置とを含み、
前記変換処理手段および前記フィルタ再指定手段は前記ホスト装置に属することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
前記印刷システムはホスト装置と印刷装置とを含み、
前記フィルタ再指定手段は前記ホスト装置に属し、前記変換処理手段は前記印刷装置に属することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項６】
前記印刷システムはホスト装置と印刷装置とを含み、前記変換処理手段および前記フィルタ再指定手段は前記ホスト装置に属し、
さらに前記印刷装置に属する、印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う第２の変換処理手段を備え、
前記履歴保存手段は、前記変換処理手段及び前記第２の変換処理手段により使用されたそれぞれのフィルタモジュールを特定するためのそれぞれのフィルタ情報を保存することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項７】
前記履歴保存手段は、前記印刷装置に属することを特徴とする請求項４乃至６のいずれか１項に記載の印刷システム。
【請求項８】
利用者の操作に応じて前記履歴保存手段により保存されたフィルタ情報を編集して、印刷に用いるフィルタモジュールを変更することができる編集手段をさらに備えることを特徴とする請求項１乃至７のいずれか１項に記載の印刷システム。
【請求項９】
１つ以上のプリンタに対して印刷ジョブを実行可能な文書管理システムであって、
印刷が実行された際にその印刷ジョブがプリンタドライバ内部で使用したドライバフィルタ情報を指定されたプリンタへ送信するドライバフィルタ情報送信手段と、
前記ドライバフィルタ情報送信手段が送信したドライバフィルタ情報と前記印刷ジョブが前記プリンタ内部で使用したデバイスフィルタ情報とをあわせたフィルタ情報履歴を、前記プリンタ内部に記憶するフィルタ情報履歴記憶手段と、
前記プリンタ内部から前記フィルタ情報履歴を取得して前記文書管理システム内に保存するフィルタ情報履歴取得手段と、
前記文書管理システム内に保存されたフィルタ情報履歴をユーザに提示するフィルタ情報履歴提示手段と、
前記フィルタ情報履歴提示手段を指定して印刷ジョブが実行された際に、保持しているフィルタ情報履歴に従ってプリンタドライバ内部のドライバフィルタとプリンタ内部のデバイスフィルタを使用して印刷ジョブを実行することを特徴とする文書管理システム。
【請求項１０】
前記ドライバフィルタまたは前記デバイスフィルタが出力結果のレイアウト変換処理を行うモジュールであることを特徴とする請求項９に記載の文書管理システム。
【請求項１１】
前記ドライバフィルタまたは前記デバイスフィルタが出力結果のスタンプ処理を行うモジュールであることを特徴とする請求項９に記載の文書管理システム。
【請求項１２】
前記フィルタ情報履歴提示手段がホットフォルダであることを特徴とする請求項９から請求項１１のいずれか１項に記載の文書管理システム。
【請求項１３】
前記フィルタ情報履歴提示手段に対して、ユーザからの設定変更を受け付ける表示処理を制御するフィルタ情報履歴設定変更表示制御手段を備えることを特徴とする請求項９から請求項１２のいずれか１項に記載の文書管理システム
【請求項１４】
前記フィルタ情報履歴設定変更表示制御手段では設定フィルタ情報をフィルタごとにアイコン表示することを特徴とする請求項１３に記載の文書管理システム。
【請求項１５】
前記フィルタ情報履歴提示手段では使用するフィルタを実現可能なプリンタを一覧表示することを特徴とする請求項１３または１４に記載の文書管理システム。
【請求項１６】
印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理工程と、
前記変換処理部により使用されたフィルタモジュールを特定するためのフィルタ情報を記憶部に保存する履歴保存工程と、
前記履歴保存工程により保存された前記フィルタ情報を読み出して前記印刷データに添付するフィルタ再指定工程と
を備えることを特徴とする印刷制御方法。
【請求項１７】
請求項１６に記載の印刷制御方法をコンピュータにより実行させるためのプログラム。
【請求項１８】
印刷装置に印刷データを渡して印刷を行わせる情報処理装置であって、
印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理手段と、
前記変換処理手段により使用されたフィルタモジュールを特定するためのフィルタ情報を保存する履歴保存手段から、保存された前記フィルタ情報を読み出して前記印刷データに添付するフィルタ再指定手段と
を備えることを特徴とする情報処理装置。
【請求項１９】
印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理手段を備えた印刷装置に対して印刷データを渡して印刷を行わせる情報処理装置であって、
前記変換処理手段により使用されたフィルタモジュールを特定するためのフィルタ情報を保存する履歴保存手段から、保存された前記フィルタ情報を読み出して前記印刷データに添付することを特徴とする情報処理装置。
【請求項２０】
印刷装置に印刷データを渡して印刷を行わせるための情報処理方法であって、
印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理工程と、
前記変換処理工程により使用されたフィルタモジュールを特定するためのフィルタ情報を保存する履歴保存手段から、保存された前記フィルタ情報を読み出して前記印刷データに添付するフィルタ再指定工程と
を備えることを特徴とする情報処理方法。
【請求項２１】
印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理手段を備えた印刷装置に対して印刷データを渡して印刷を行わせるための情報処理方法であって、
前記変換処理手段により使用されたフィルタモジュールを特定するためのフィルタ情報を保存する履歴保存手段から、保存された前記フィルタ情報を読み出して前記印刷データに添付することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば文書データを指定した印刷設定に従って印刷することのできる文書管理システムおよび印刷システムに関するものである。
【背景技術】
【０００２】
従来の印刷システムでは、一度プリンタドライバのＵＩにて設定を行って印刷を行ったものと全く同じ出力結果が後に必要になった時は、同じ設定をプリンタドライバに対して設定しなおす必要がある。プリンタドライバにて設定できる要素は複雑化しおり、同じ設定により同じ印刷結果を復元するにはかなり手間がかかる。
【０００３】
このため、特許文献１や特許文献２における技術ではホストコンピュータ上で過去に印刷を行った印刷履歴の一覧を表示させ、ユーザに選択させることで印刷設定を再現することができる。また、特許文献３における技術ではプリンタドライバUIに対して「お気に入り」設定を設けることで、頻繁に用いるドライバ設定の再利用を可能にしており、特許文献４における技術では複数のプリンタに対しても同様に「お気に入り」設定を可能にするために設定を共通部とデバイス依存部に分けて管理している。特許文献５における技術では文書に関する文書条件とプリンタに指示を行う印刷属性をあわせて印刷設定条件とし、印刷条件を任意に作成、編集できる印刷方針作成プログラムを提供している。また、特許文献６においては印刷データを保存するための専用のフォルダを設け、そのフォルダに印刷データが保存されたことを検知したら、所定の設定にて印刷ジョブを発生させるホットフォルダ機能を実現している。
【特許文献１】特開2001-256007号公報（図３，８−１０、段落００４８−００６７）
【特許文献２】特開2003-330638号公報（図３，８−１０、段落００３９−００４４）
【特許文献３】特開2000-222159号公報（図３，４、段落００３９−００４４）
【特許文献４】特開2003-91389号公報（図２０，２１、段落００８０−００８１）
【特許文献５】特開2003-140854号公報（図２、請求項１）
【特許文献６】特開2000-118095号公報（図８、段落００４３−００４６）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら上述した従来の技術は、コンピュータ上で印刷時に指定した印刷データや印刷設定などを保持し、履歴、お気に入り、ホットフォルダの形で再現させる技術である。
【０００５】
近年、Ｗｅｂサービス等の技術が発達し、プリンタドライバ内部の処理モジュール（以降、ドライバフィルタと呼ぶ）をリアルタイムにアップデートすることが技術的には可能となっている。また、プリンタもネットワークに接続されていることから、プリンタ内部の処理モジュール（以降、デバイスフィルタと呼ぶ）に関しても同様に、リアルタイムのアップデートが技術的には可能である。このようにドライバフィルタやデバイスフィルタがＷｅｂサービス等によりリアルタイムにアップデートされる環境においては、コンピュータに、プリンタのデバイスフィルタの更新状況（たとえば現在インストールされているデバイスファイルのバージョン等）が保存されているとは限らない。このため、コンピュータ上で印刷時に指定した印刷設定等の情報だけではプリンタ内部で実際に使用されたデバイスフィルタの情報がなく、最終的な印刷結果としての画像出力を忠実に再現することはできないという問題がある。
【０００６】
本発明は上記従来例に鑑みてなされたもので、印刷データの変換等に用いられたフィルタモジュールに関するフィルタ情報をフィルタ履歴情報として保存し、そのフィルタ履歴情報を再利用することで、一旦出力された印刷物を全く同一の形式で再生できる印刷システム及び文書管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明による文書管理システムは以下の構成を備える。すなわち、印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理手段と、
前記変換処理部により使用されたフィルタモジュールを特定するためのフィルタ情報を保存する履歴保存手段と、
前記履歴保存手段により保存された前記フィルタ情報を読み出して前記印刷データに添付するフィルタ再指定手段とを備える。
【０００８】
あるいは、１つ以上のプリンタに対して印刷ジョブを実行可能な文書管理システムであって、
印刷が実行された際にその印刷ジョブがプリンタドライバ内部で使用したドライバフィルタ情報を指定されたプリンタへ送信するドライバフィルタ情報送信手段と、
前記ドライバフィルタ情報送信手段が送信したドライバフィルタ情報と前記印刷ジョブが前記プリンタ内部で使用したデバイスフィルタ情報とをあわせたフィルタ情報履歴を、前記プリンタ内部に記憶するフィルタ情報履歴記憶手段と、
前記プリンタ内部から前記フィルタ情報履歴を取得して前記文書管理システム内に保存するフィルタ情報履歴取得手段と、
前記文書管理システム内に保存されたフィルタ情報履歴をユーザに提示するフィルタ情報履歴提示手段と、
前記フィルタ情報履歴提示手段を指定して印刷ジョブが実行された際に、保持しているフィルタ情報履歴に従ってプリンタドライバ内部のドライバフィルタとプリンタ内部のデバイスフィルタを使用して印刷ジョブを実行する。
【０００９】
あるいは、印刷装置に印刷データを渡して印刷を行わせる情報処理装置であって、
印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理手段と、
前記変換処理手段により使用されたフィルタモジュールを特定するためのフィルタ情報を保存する履歴保存手段から、保存された前記フィルタ情報を読み出して前記印刷データに添付するフィルタ再指定手段とを備えることを特徴とする。
【００１０】
あるいは、印刷データに添付されたフィルタ情報により特定されるフィルタモジュールを用いて当該印刷データの変換処理を行う変換処理手段を備えた印刷装置に対して印刷データを渡して印刷を行わせる情報処理装置であって、
前記変換処理手段により使用されたフィルタモジュールを特定するためのフィルタ情報を保存する履歴保存手段から、保存された前記フィルタ情報を読み出して前記印刷データに添付することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、履歴情報として保存されたフィルタ処理を行わせることができ、最終的な印刷結果としての画像出力を忠実に再現することが可能となる。また、指定するフィルタ処理を利用者による操作に応じて編集することができ、一部分のフィルタモジュールに限って変更することもできる。
【発明を実施するための最良の形態】
【００１２】
［第１実施形態］
＜印刷システムの構成＞
以下、図面を用いて本発明の実施の形態について詳細に説明する。図１は本発明の実施の形態における文書管理システムが使用する印刷システムの概略構成を示すブロック図である。本印刷システムは、上位装置であるホストコンピュータ１０００と印刷装置であるプリンタ３０００とが双方向性のインタフェース３１を介して接続された構成となっている。
【００１３】
なお、本発明の文書管理システムの機能が実行されるのであれば、単体の機器であっても、複数の機器から成るシステムであっても、ネットワークを介して印刷処理が行われるシステムであっても、本発明を適用することができる。
【００１４】
図１において、ホストコンピュータ１０００ではコンピュータ本体２０００に対して外部装置であるキーボード９、ＣＲＴ１０、ハードディスク１１等が接続されている。コンピュータ本体２０００はＣＰＵ１を備え、ＣＰＵ１はＲＯＭ３やハードディスク１１に記憶された制御プログラムやアプリケーションをＲＡＭ２に展開して演算を行うことができる。また、外部装置であるキーボード９からの入力を制御しているのがキーボードコントローラ（ＫＢＣ）５である。また、ＣＲＴ１０の表示を制御しているのがＣＲＴコントローラ（ＣＲＴＣ）６であり、ハードディスク１１に対して入出力の制御を行っているのがハードディスクコントローラ（ＨＤＣ）７である。ＰＲＴＣ８はプリンタコントローラであり、所定の双方向インタフェース３１を介してプリンタ３０００に接続されて、プリンタコントローラ部４０００との間の通信制御を行っている。ハードディスク１１には、作成された文書データや、文書データに基づいて、ＣＰＵ１により実行されるプリンタドライバプログラムにより生成された印刷データ等が保存される。また、ハードディスク１１には、ファイルをまとめる単位であるフォルダがオペレーティングシステムにより提供される機能により設けられ、その中でデータファイルやプログラムファイルが階層的に管理される。特殊なフォルダとしてホットフォルダがある。ホットフォルダは、特定のプログラムを実行することによって監視されている。ホットフォルダにデータファイルが投入されたなら（たとえばウインドウズ（登録商標）のエクスプローラ画面等において利用者がデータファイルをホットフォルダにドラッグアンドドロップ操作したり、あるいはデータファイルの保存先としてホットフォルダを選択して保存するなど）、そのデータファイルについて一定の処理が実行される。本実施形態では、その一定の処理とは、データファイルのオープン（投入されたデータファイルに関連づけられたアプリケーションによるファイルのオープン）およびそのホットフォルダに関連づけられた印刷設定による印刷処理である。ＣＰＵ１、ＲＡＭ２、ＲＯＭ３、ＫＢＣ５、ＣＲＴＣ６、ＨＤＣ７、ＰＲＴＣ８はそれぞれシステムバス４によって接続され、各デバイスをＣＰＵ１が総括的に制御している。
【００１５】
プリンタ３０００において、２１はプリンタＣＰＵであり、ＲＯＭ２３のプログラム用ＲＯＭに記憶された制御プログラム等に基づいて、バス２４に接続される各種のデバイスとのアクセスを総括的に制御し印刷部２６を介して接続される印刷機構部２８（プリンタエンジン）に印刷データとしての画像信号を出力する。ＣＰＵ２１は入出力部２５を介してホストコンピュータ１０００との通信処理が可能となっており、プリンタ３０００内の情報等をホストコンピュータ１０００に通知可能に構成されている。ＲＡＭ２２はＣＰＵ２１の主メモリ、ワークエリアなどとして機能し、図示していない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるようにもなっている。なお、ＲＡＭ２２はホストコンピュータ１０００より受信した印刷データや画像ビットマップデータを格納しておくための描画メモリ、ビデオ信号情報格納領域、その他としても使用される。ハードディスクコントローラ２７にて制御されるハードディスク２９は印刷ジョブデータのＢＯＸ保存に加え、本発明で特有のフィルタ情報履歴等を格納するために使用される。操作パネル３０はユーザがプリンタ３０００を操作する際のユーザインタフェースであり各種スイッチやＬＥＤ表示機器の他、タッチパネル式の液晶パネルなどで構成される。また、フィルタモジュールがバージョンアップされた場合には、旧バージョンのフィルタモジュールを保存しておくことも出来る。
【００１６】
なお、プリンタ３０００は本発明の機能を実施できる装置であればシングルファンクションプリンタでもスキャナやコピー、Ｆａｘ等の機能も備えたマルチファンクションプリンタでもよい。また、本実施形態では印刷機構部２８としてレーザービームプリンタによる印刷機構を想定しているが、実際はインクジェットの印刷機構を用いていようが、サーマルプリンタなど他のプリント方式を用いていようが、本発明の機能に制限をするものではない。
【００１７】
図２は、図１に示したホストコンピュータ１０００のコンピュータ本体２０００と、プリンタ３０００のプリンタコントローラ部４０００における印刷機能にかかる処理構成を説明する機能ブロック図である。図１と同一の構成要素に関しては同一の符号を用いて図示している。図２においてコンピュータ本体２０００は例えばサーバまたはクライアントとして機能し、印刷データおよび制御コードからなる印刷情報をプリンタ３０００に出力するものである。図２の個々のブロックは、図１と共通のブロックを除いてホストコンピュータ１０００においてはＣＰＵ１により、プリンタ３０００においてはＣＰＵ２１により実行されるソフトウエアモジュール（プログラム）によって実現される。
【００１８】
プリンタ３０００は機能的に大きく分けてプリンタコントローラ部４０００、操作パネル３０、印刷機構部２８より構成されている。プリンタ３０００においてプリンタコントローラ部４０００はコンピュータ本体２０００との接続部として機能する入出力部２５、受信データのコマンドを解析するコマンド解析部５０、画像処理実行部５１、印刷制御処理実行部５３、ページメモリ５６、出力制御部５７、フィルタ情報履歴管理部５４、ＢＯＸ５５等から成っている。
【００１９】
ここで、それぞれについて簡単に解説する。まず、入出力部２５を介して受信した印刷データは必要に応じてコマンド解析部５０や画像処理実行部５１にて読み出されて処理される。画像処理実行部５１は画像処理を行う上で必要な処理を行うモジュールとして各種デバイスフィルタ５２を備えている。これらはＮｉｎ１等のレイアウト処理やハーフトーンなどの画像処理、スタンプなどの追加処理を、差し替え可能なフォーマットにてモジュール化したものである。Ｎｉｎ１印刷とは、文書処理システムにおいて作成されたＮページを、１ページのシートに再配置して印刷する機能のことである。印刷時に実際に使用されるデバイスフィルタ５２は、入出力部２５や操作パネル３０からの指定により、随時変更することが可能な構成となっている。また、ホストコンピュータ１０００から受信する印刷データに添付されたフィルタ情報によって、利用するフィルタモジュールが指定される。なお本実施形態でデータ等の「受信」という場合、そのデータ等を受け取るための動作をひろく含む。たとえば、そのデータ等がバスを介して書き込まれたり、バスを介して読み込んだり、あるいは発行したデータ要求に応じてデータが送られてくる場合であっても、本実施形態では単に受信と呼ぶ。
【００２０】
画像処理実行部５１はデバイスフィルタ５２等を使用して文字やイメージの各オブジェクトをページメモリ５６に逐次展開していく。また、圧縮されたイメージデータの展開もこの画像処理実行部で行う。ページメモリ５６はこの展開処理と印刷機構部２８へのビデオ信号の出力との追いかけ競争、つまりバンディング制御によって管理されていても、あるいは十分なメモリ容量がある場合は、１ページ分が展開可能な領域を確保してもよい。
【００２１】
出力制御部５７はページメモリ５６の内容をビデオ信号に変換処理して、印刷機構部２８へ転送する。画像処理実行部とタイミングを取りながら転送処理を制御しているのが印刷制御処理実行部５３である。印刷機構部２８は受け取ったビデオ信号を永久化し画像として記録紙に形成するための機構である。
【００２２】
また、本発明に特有なフィルタ情報履歴管理部５４は過去に行ったプリントジョブが使用したドライバフィルタ４３（詳細は後述）やデバイスフィルタ５２のフィルタ情報をＢＯＸ５５の中で管理している。また、フィルタ情報により特定されるフィルタモジュール自体もプログラムファイルとして、その名称やバージョン等により特定できる形式でＢＯＸ５５に保存される。ＢＯＸ５５はプリンタ３０００内部のハードディスク内に設けられた領域であり、内部の情報は入出力部２５を介して外部から、また、操作パネルからユーザが指定することにより参照することができる。
【００２３】
次に、コンピュータ本体１０００の構成について説明する。コンピュータ本体１０００には、入力デバイスとしてのキーボード９や表示デバイスとしてのＣＲＴ１０が接続され、これにより１つのコンピュータシステムが実現されている。コンピュータ本体１０００は、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＭａｃＯＳ（登録商標）等の基本ＯＳの下で動作しているものとする。
【００２４】
コンピュータ本体では本発明における文書管理システム１００が動作している。文書管理システム１００は本来の文書管理部に加えて、本発明に特有なフィルタ情報履歴管理編集部４１を備えている。また、その他の構成要素を機能的な部分にのみ着目して分類すると、文書管理システム１００が管理する文書が作成されたアプリケーション４６、基本ＯＳの一部であるグラフィック・デバイス・インタフェース（以降、ＧＤＩ）４７、プリンタドライバ２００、プリンタドライバ２００により生成されたデータを一時的に格納するプリントスプーラ４８とに分類される。
【００２５】
なお、基本ＯＳによっては、これらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的機能が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。ＧＤＩやプリンタドライバと呼ばれるモジュールの名称は、Ｗｉｎｄｏｗｓ（登録商標）ＯＳに固有の名称であり、他の基本ＯＳにおける同等の機能は、例えば、グラフィックカーネルなどと呼ばれるモジュールで実現されている。また、プリントスプーラ４８についても、プリント・キューと呼ばれるモジュールに処理を組み込むことによって実現可能である。一般的に、これらの構成要素からなるコンピュータ本体１０００は、図１に示したＣＰＵ１、ＲＡＭ２、ＲＯＭ３、ハードディスク１１などのハードウェアの下で、基本ソフトと呼ばれるソフトウェア（ＢＩＯＳ）がその制御を司り、その基本ソフトの下で応用ソフトが動作するような構成になっている。プリンタドライバ２００も、この応用ソフトの１つと位置付けられるものである。また、アプリケーション４６は、例えば、ワープロや表計算などの基本ソフトウェア上で動作する応用ソフトウェアを指すものである。また、アプリケーション４６は、任意のタイミングで複数起動できる（主にメモリ容量により変動する）。
【００２６】
次に、アプリケーション４６として、任意のイメージ編集ソフトを使用した場合を例に取り一般の印刷に関して説明する。アプリケーション４６は、利用者の操作に応じてイメージの編集作業を中心に行う。その生成物であるイメージを印刷する場合には、利用者はＣＲＴ１０上に表示される印刷メニューをマウスなどによって選択して、印刷を実行する。なおアプリケーション４６により生成されたデータを、その内容に関わらず本実施形態では文書データあるいは文書データファイルと呼ぶ。
【００２７】
次に、アプリケーション４６は、基本ソフトの一部の機能であるＧＤＩ４７をコールする。このＧＤＩ４７は、画面表示や印刷出力などの表示デバイスや印刷デバイスを司る基本関数群である。各社各様のアプリケーションは、このＧＤＩの基本関数群を利用することで、機種（ハードウェア）に依存する部分を意識することなく、アプリケーション４６を動作させることが可能である。なおアプリケーションからＧＤＩの基本関数を利用して文書データを渡し、基本ソフトに対して印刷を指示する動作を、本実施例ではアプリケーションが印刷を指示するあるいは命令する、という場合がある。
【００２８】
次に、ＧＤＩ４７は、それぞれの印刷装置の機種に依存する情報を管理するプリンタドライバ２００から印刷デバイス（この場合はプリンタ３０００）の持つ描画能力や印刷解像度などの情報を取り込み、アプリケーション４６からコールされたＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）関数を処理し、その処理内容に応じてプリンタドライバがＧＤＩ４７に対して提供する関数をコールする。この関数は予め決められたインタフェース（Ｄｅｖｉｃｅ Ｄｒｉｖｅｒ Ｉｎｔｅｒｆａｃｅ、通称ＤＤＩという）になっており、プリンタドライバプログラムの作成者は、このインタフェースから実際の印刷装置へデータを出力するためのデータ変換を中心にして、プリンタドライバを作成することとなる。
【００２９】
プリンタドライバ２００は、ＧＤＩ４７から受け取ったＤＤＩ情報と、それ自身が持つグラフイカル・ユーザ・インタフェース（ＧＵＩ）によって設定された印刷環境設定（すなわち利用者により入力された印刷環境設定のパラメータ群）をもとに、印刷データ生成処理部４２と、プリンタ制御コマンド生成処理部４４にて処理を行い、生成されたデータやコマンドをプリントスプ一ラ４８に対して送出する。プリンタドライバにより生成されたデータを印刷データと呼ぶ。さらに、これらデータやコマンドは、プリントスプーラ４８からＰＲＴＣ８を経由してプリンタ３０００へ送出されることになる。
【００３０】
ここで、本実施形態では、印刷データ生成処理部４２内部に、先ほどプリンタ３０００内部の画像処理実行部５１で説明したようなＮｉｎ１等のレイアウト処理やスタンプ、ハーフトーンなどの画像処理などの処理をプリンタドライバ２００内部で行う時に使用するドライバフィルタ４３を保持し、指定に応じて使用する。つまり、印刷データはこのドライバフィルタ４３で必要な処理を受け、さらにプリンタ３０００内部でデバイスフィルタ５２の処理を受けることで最終的な出力画像を生成していることになる。これらドライバフィルタとデバイスフィルタを使い分けることで、コンピュータ本体２０００の性能とプリンタ３０００の性能を考慮した負荷分散のプリンティングシステムを可能にしている。
【００３１】
ここで、フィルタの使い分けによる負荷分散に関してもう少し細かく、図３、図４を用いて説明する。フィルタの種類として、図３はレイアウトの４ｉｎ１を、図４は丸秘スタンプを例にあげている。
【００３２】
図３の文書管理システムは４０１に示すように４ページのデータを４ｉｎ１のレイアウトにて印刷を要求するものとする。上段はドライバフィルタ４０２にて実際の４ｉｎ１を実行する処理シーケンス３０１である。ここで、スプールファイル４０３には、４ｉｎ１の処理の終わった印刷データと、４ｉｎ１が終わっていることを示す「Ｄｏｎｅ ４ｉｎ１」の情報が書き込まれる。スプールファイル４０３はホストコンピュータ１０００とプリンタ３０００を結ぶ３１を通ってプリンタコントローラ部４０００に送信される。プリンタコントローラ部４０００ではすでに４ｉｎ１がなされているため、そのまま出力結果４０５として出力を行っている。プリンタドライバはＧＤＩを介してアプリケーションから受信した文書データに基づいて印刷データを生成するが、印刷データはたとえばＰＤＬで記述されている。ＰＤＬでは、ページごとに、その中のオブジェクトの位置やサイズ等が記述される。そのため、ドライバフィルタで４ｉｎ１処理を行うと、生成されスプールされる１ページ分の印刷データにおいては、アプリケーションで生成した４ページのデータが１ページ内にマッピングされてその位置及びサイズが記述されている。
【００３３】
下段はドライバフィルタ４０２で４ｉｎ１を行わない系３０２を示している。ここではスプールファイル４０７においてデバイスに対して４ｉｎ１を指示する「Ｄｏ ４ｉｎ１」の情報が書き込まれる。先ほどと同じようにスプールファイルは３１を通過し、デバイスフィルタ４０４にて４ｉｎ１の処理がなされて出力結果４０８を出力する。ＰＤｌの例で説明すると、プリンタドライバにおいて生成されてスプールされる印刷データには、アプリケーションで生成した４ページをそのままＰＤＬで記述したデータと、その４ページを１ページに配置するために必要なパラメータが含まれている。それがデバイスフィルタによって縮小され、再配置されて４ｉｎ１のたとえばビットマップデータが作成され、そのデータが出力される。
【００３４】
ここで、ドライバフィルタ４０２とデバイスフィルタ４０４はほぼ同じ処理を行っているため、どちらで行うかを決定することでホストコンピュータ１０００とプリンタ３０００との間の負荷分散をはかることができる。
【００３５】
図４も同様の流れを示しているが、こちらはレイアウトの４ｉｎ１ではなく、丸秘スタンプを行う例を示している。スタンプに関しても同様の負荷分散をはかっている。なおここでは、下段４０１においてスタンプを押す対象となる文書データとスタンプ画像を同時にスプールファイルとして送信しているが、実際にはスタンプ画像はプリンタ３０００側のＢＯＸ５５等に格納してあることもある。その場合には、デバイスフィルタを用いることで、スタンプ画像をコンピュータからプリンタに渡す必要がない。
【００３６】
ここで図２に示したような印刷システムにおいては、プリンタドライバ２００側で使用するドライバフィルタ４３、プリンタコントローラ部４０００内部の画像処理実行部５１で使用するデバイスフィルタ５２から必要なものを選択し、使い分けることで、負荷分散やカスタマイズ等を容易にすることができる。これらは上位のアプリケーションである文書管理システム１００側で管理することが可能である。あるひとまとまりの印刷データに着目した場合、処理の分散のしかたは、たとえば文書データあるいは印刷データに添付されたフィルタ指示情報によって決定される。フィルタ指示情報には、用いるべきフィルタモジュールのの名称やバージョンが含まれる。利用者によりフィルタ指示情報が明示的に指示された場合にはそれに従う。明示されていない場合には、たとえば文書管理システム１００が適宜決定してフィルタ指示情報を作成し、印刷データに添付する。
【００３７】
次に、本発明の特徴であるフィルタ情報の保存、取得、再現に関して、概略図を用いて簡単に説明する。図５がそれを表す概略図となっている。はじめに上段の［フィルタ情報の保存］の際のデータフローについて説明する。印刷データの処理のために使用されたドライバフィルタ及びデバイスフィルタそれぞれを特定するためのフィルタ情報の保存は文書管理システム１００からフィルタ情報保存が指示された時に行われる。プリンタドライバ内部でスプールファイル１０１は中間データ１０２に変換される。中間データ１０２は先ほど例にあげたようなドライバフィルタ４３により処理を受けるが、ここで使用したフィルタモジュールに関するフィルタ情報（たとえばフィルタモジュールの名称及びバージョンと、必要があればパラメータなど）を覚えておきＰＤＬ１０３に埋め込む形で送信する。印刷データを受け取ったプリンタコントローラ部４０００内部でも同様に中間データへの変換が行われ、デバイスフィルタ５２により処理がなされる。最終的な出力画像はプリンタエンジン１０６に送られ用紙１０７に出力される。それとともに、印刷データに埋め込まれている、プリンタドライバ２００内部で使用したドライバフィルタ４３に関するドライバフィルタ情報と、プリンタコントローラ部１０５内部で使用したデバイスフィルタ５２に関するデバイスフィルタ情報とが、フィルタ情報履歴管理部５４によりその管理下にあるＢＯＸ５５にフィルタ情報履歴２０１として保存される。
【００３８】
中段は、文書管理システム１００が、プリンタコントローラ部４０００のフィルタ情報履歴２０１を取得する場合のデータフロー図である。文書管理システム１００が印刷ジョブとは異なるフィルタ情報取得用コマンドをプリンタ３０００に対して発行することで、それに対してフィルタ情報履歴管理部５４からＢＯＸ５５内のフィルタ情報履歴２０１を取得する。取得したフィルタ情報履歴２０１は、コンピュータ１０００においてホットフォルダに関連づけて管理される。ホットフォルダの管理は文書管理システム１００により行われる。
【００３９】
下段は、フィルタ情報履歴２０１を取得した文書管理システム１００が、ユーザの指示によりフィルタ情報履歴と同じフィルタを用いた印刷を行う時のデータフロー図である。中段の「フィルタ情報履歴の取得」で取得したフィルら情報に関連づけて作成したホットフォルダに対してユーザがプリントを実行する時の流れを示している。文書管理システム１００からの印刷時には、印刷データと共に使用すべきドライバフィルタ４３とデバイスフィルタ５２それぞれのフィルタ情報を送信する。それを受けたプリンタドライバ２００は指定されたドライバフィルタ４３を使用する。フィルタ情報には、フィルタモジュールを特定するための情報として、そのフィルタがドライバフィルタであるのかそれともデバイスフィルタであるのかを特定できる情報が含まれている。また、プリンタコントローラ部４０００も指定されたデバイスフィルタ５２を使用して出力をおこなう。これらの動作を文書管理システム１００、プリンタドライバ２００、プリンタコントローラ部４０００が連携して行うことで、忠実な印字の再現が可能となる。
【００４０】
＜フィルタ情報の保存と再現＞
以下に、文書管理システム１００、プリンタドライバ２００、プリンタコントローラ部４０００のそれぞれの動きを、図を用いて示す。
【００４１】
（文書管理システム）
図６は文書管理システム（プログラム）１００の動作をフローチャートで示している。図６（Ｂ）は、ホットフォルダに投入された文書データが印刷されるまでの文書管理システム１００による処理手順である。文書管理システム１００はホットフォルダを定期的に監視しており、文書データがそこに投入されると、すなわち保存されるとその文書ファイルをそれを作成したアプリケーションを用いて開く（ステップ６Ａ）。その後、ホットフォルダに関連づけられた印刷設定情報を読み、印刷対象の文書データの印刷設定として保存する（ステップ６Ｂ）。また、ホットフォルダに関連づけられているフィルタ情報があるか判定する（ステップ６Ｃ）。関連するフィルタ情報があれば、そのフィルタ情報を、当該文書データの印刷処理のために使用するフィルタを特定するフィルタ情報として識別可能に保存しておく（ステップ６Ｄ）。この後図６（Ａ）に分岐する。なおフィルタ情報には、フィルタモジュールを特定するための情報のみならず、フィルタ処理を行う順序を示す情報も含まれている。これは、たとえば図３と図４のフォルタ処理を両方行う場合に、その適用順序によって出力結果が変わることからも明らかである。図３の処理を先に行えば、４ｉｎ１加工された１ページの中央部に丸秘スタンプが合成され、図４の処理を先に行えば、中央部に丸秘スタンプが合成された４ページが、４ｉｎ１に変換される。
【００４２】
図６（Ａ）は、ホットフォルダに保存された文書データの印刷の場合には図６（Ｂ）に引き続いて実行される。また、ホットフォルダを用いない印刷処理のために実行してもよい。
【００４３】
図６（Ａ）において、文書管理システム１００は、印刷時に使用するフィルタ情報が、明示的に指示されているか、つまり図６（Ｂ）のステップ（６Ｄ）において識別可能に保存されたフィルタ情報があるか判定する（ステップ６１）。使用するフィルタ情報が指示されている場合は、そのフィルタ情報を、利用するフィルタモジュールを特定するためのフィルタ情報として指定し、印刷を実行する（ステップ６６）。この指定は、たとえばオペレーティングシステムを介してプリンタドライバにフィルタ情報を渡すことで実現される。たとえば指示されているフィルタ情報を特定する情報とともに印刷対象の文書データをオペレーティングシステムを介してプリンタドライバに渡す。
【００４４】
フィルタ情報が指示されていない場合、次にフィルタ履歴保存が要求されているかを判断する（ステップ６２）。文書管理システム１００は、印刷時にフィルタ履歴保存を要求するかどうかのユーザの判断をあおぐ方法をとってもよいし、システムの設定として普段から履歴を保存するか、しないかを保持しておいてもよい。そしてユーザの指定またはシステムの設定により履歴保存が要求されている時は、使用したフィルタモジュールに関するフィルタ情報をスプールするように指示して印刷を実行する（ステップ６５）。このためには、たとえば、フィルタ情報履歴を収集するための特別な命令（フィルタ履歴収集命令）を、文書データとともにプリンタドライバに渡す。
【００４５】
フィルタ情報履歴の収集が要求されていない場合は、通常通り、プリンタドライバに対して印刷を実行する（６３）。この場合には、印刷管理システム１００がフィルタ情報を適宜決定してプリンタドライバに渡しても良い。その場合には以下のような処理が行われる。文書管理システムは、あらかじめプリンタデ使用可能なデバイスフィルタモジュールとドライバで使用可能なドライバフィルタモジュールのリストを有している。これは、たとえばプリンタドライバのインストール時に、同時にその情報も保存しておけばよい。そして、指定された印刷設定を実現するために、使用可能なフィルタモジュールの中から利用すべきフィルタを決定する。使用するものと決定されたフィルタのうち、ドライバとデバイスとの両方で同一の（たとえば図３や図４に示したもの）結果をもたらすフィルタモジュールを利用可能であれば、そのフィルタ処理はホストコンピュータとプリンタとの間で負荷分散の対象となる。負荷分散は、たとえばコンピュータとプリンタのそれぞれの処理能力や各フィルタ処理の負荷を指数化して行わえばよい。本実施形態では、その分散の仕方には立ち入らない。負荷分散の結果、使用するデバイスフィルタモジュールとドライバフィルタモジュールとが決定されたなら、それらを特定するためのフィルタ情報を、印刷対象の文書データとともにプリンタドライバに渡す。
【００４６】
（プリンタドライバ）
図７はプリンタドライバ２００の動作をフローチャートで示したものである。プリンタドライバ２００は印刷処理時に、文書管理システム１００から使用するフィルタ情報を指示されたかどうか、すなわち印刷対象となる文書データに関連するフィルタ情報を渡されているか否かを確認する（ステップ７１）。上述のように文書管理システム１００が必ずフィルタ情報を渡す場合には、この判定結果は常に肯定になる。指示されていた場合、管理しているドライバフィルタ情報４３の中から指示されたドライバフィルタモジュールをを使用してフィルタ処理を行う。そして生成された印刷データをプリンタ３０００に送信する（ステップ７６）。もちろんフィル処理の順序の指定に応じた順序で処理は行われる。
【００４７】
そうでない場合、フィルタ情報をスプールするように指示されているかどうか、すなわち現在処理している命令がフィルタ履歴収集命令であるかを判断する（ステップ７２）。フィルタ履歴収集命令である場合すなわちフィルタ情報をスプールされるよう指示されていた場合は、使用したドライバフィルタを特定するためのドライバフィルタ情報を印刷データに追加してスプールする（ステップ７５）。そうでない場合は通常どおり処理を行い、フィルタ情報を添付せず印刷データをスプールする（ステップ７３）。スプールされた印刷データは、デスプーラと呼ばれるプログラムグラムが実行されて、プリントジョブとしてプリンタ３０００に送信される。
【００４８】
なお、印刷設定に応じてフィルタモジュールが使用される場合、フィルタ処理の負荷分散をプリンタドライバで行うことも出来る。この場合には上述した負荷分散の処理をステップ７３において行い、決定されたフィルタ情報を印刷データに添付する。
【００４９】
（プリンタコントローラ）
図８はプリンタコントローラ部４０００の動作をフローチャートで示したものである。プリンタコントローラ部４０００はまず送信されてきた情報がプリントジョブかどうかを判断する（ステップ８１）。プリントジョブでない場合、フィルタ情報履歴の取得要求であるかを判断する（ステップ８９）。フィルタ情報履歴の取得要求は、たとえば文書管理システム１００から発行されるが、印刷要求ではないので、印刷命令とは異なる径路でプリンタ３０００に到達してもよい。印刷命令と同一径路にしても、プリンタドライバなどはそのまま通過し、特に処理は行われない。いずれの径路にしても、プリンタ３０００にフィルタ情報履歴の取得要求は到達する。
【００５０】
ステップ８９で取得要求でないと判定された場合は、与えられた要求に該当する処理を行う（ステップ９２）。一方取得要求の時はフィルタ情報履歴をＢＯＸ５５から取得し（ステップ９０）、取得したフィルタ情報履歴をコンピュータ本体に返送する（ステップ９１）。ステップ８１にて、送信されてきた情報がプリントジョブであると判定された場合、使用するフィルタ情報が指示されているかどうかを確認する（ステップ８２）。指示されている場合（すなわち印刷データにデバイスフィルタ情報が埋め込まれている場合）、指示されたとおりのフィルタ情報を元に再現する形で印刷を行う（ステップ８８）。すなわち、フィルタ情報に基づいて特定されるフィルタモジュールを利用してフィルタ処理を行う。得られたビットマップデータを元に印刷処理が行われる。フィルタ情報で特定されるフィルタモジュールのバージョンが、現在利用可能なバージョンよりも古い場合、そのフィルタ情報を不図示のサーバ装置に送信して、該当するフィルタモジュールを受信する。そしてその受信したフィルタモジュールをプリンタコントローラにインストールして、実行可能化する。プリンタコントローラ４０００は、そのフィルタモジュールを用いてフィルタ処理を実行する。処理が終わったなら、置き換えられた新しいバージョンのフィルタモジュールを利用可能な状態に戻す。そのために、新しいバージョンのフィルタモジュールを退避しておいてもよいし、前述したサーバ装置からダウンロードしてプリンタコントローラにインストールしてもよい。
【００５１】
さて、ステップ８２において指示されていないと判定された場合は、フィルタ情報履歴の保存が要求されているかを確認する（ステップ８３）。要求されている時には使用したデバイスフィルタを特定するためのデバイスフィルタ情報を記憶しながら印刷を行う（ステップ８６）。ここで記憶しながら、としているのは、フィルタ処理を再現するために必要なパラメータがあれば、そのパラメータもその都度フィルタ情報の一部として保存するためである。さらに使用したドライバフィルタとデバイスフィルタとを特定するためのフィルタ情報をあわせて、フィルタ情報履歴としてＢＯＸ５５に保存する。フィルタが使用されていない場合にも、フィルタが使用されていないことを示す情報が保存される。このフィルタ情報履歴の形式は図９を参照して後述する。ステップ８３にてフィルタ情報履歴の保存が要求されていない場合は通常印刷となるので、通常どおり履歴を保存せずに印刷を行う（ステップ８４）。
【００５２】
図９はフィルタ情報履歴２０１を示している。フィルタ情報履歴２０１はフィルタ情報履歴管理部５４がＢＯＸ５５内で管理している。識別子となる印刷履歴ＩＤ、印刷を行ったユーザを特定するためのユーザ名、印刷日時、プリンタ設定情報、使用ドライバフィルタ情報、使用デバイスフィルタ情報、フィルタ使用順序情報などから成っており、文書管理システムからの取得要求に対し必要な情報のみが選択されて提供される。たとえば、取得要求を発行したユーザと同一のユーザ名を持つフィルタ情報履歴であるとか、また、取得要求において日時が指定されていれば、その日時に該当するフィルタ情報履歴がホストコンピュータに返される。ホストコンピュータの文書管理システム１００はフィルタ履歴情報を受信すると、そのフィルタ履歴情報をホットフォルダに関連づけて保存する。プリンタコントローラは、文書管理システム１００により取得されたフィルタ情報履歴を削除しても良いし、そのまま保存しても良い。後者の場合には、一定時間の経過や、文書管理システム１００からの明示的な削除命令をトリガとして、フィルタ情報履歴はＢＯＸ５５から削除される。
【００５３】
図１１に、フィルタ情報履歴の取得を行う際の文書管理システム１００による手順を示す。まずフィルタ情報履歴の取得要求をプリンタコントローラ４０００に対して発行する（ステップ１１０１）。これに対する応答をプリンタコントローラ４０００から受信し、受信したフィルタ情報履歴に含まれるフィルタ情報を、ホットフォルダに関連づけて保存する（ステップ１１０２）。こうして、使用するフィルタモジュールの特定も含めて、ホットフォルダと印刷設定との関連づけが完成する。
【００５４】
＜印刷設定の編集＞
図１０は文書管理システム１００において、ホットフォルダの設定を行うことを可能にしたダイアログを簡易表示したものである。ここでは特にフィルタ情報の編集について説明する。文書管理システム１００は、フィルタ情報履歴を管理するのと同時に各プリンタ３０００とプリンタドライバ２００の使用可能なドライバフィルタ４３とデバイスフィルタ５２の組を管理している。これは前述したとおりである。そこで、ユーザインターフェース上に、使用可能な各種ドライバフィルタ、デバイスフィルタをそれぞれアイコン表示する。そしてそのユーザインターフェース上におけるアイコンの操作に応じて、使用可能でありかつ使用するフィルタ（使用フィルタ）と、使用可能だが使用しないフィルタ（不使用フィルタ）の組合わせを変更する。また、対象プリンタを別のプリンタに変更することも可能となっており、プリンタに応じた使用可能フィルタの提示と、ユーザの設定に対するコンフリクトも管理している。
【００５５】
たとえば、図１０のユーザインターフェースを開く操作をすると、その時点における使用フィルタと不使用フィルタとが図１０のようにウインドウ１０１、１０２にそれぞれアイコンとして表示される。操作者がそれらのアイコンを選んで追加ボタンや削除ボタンを押したり、あるいはドラッグアンドドロップ操作を行うことで、アイコンに対応して各フィルタ情報に、「使用」または「不使用」を示す情報が記録される。図６（Ｂ）のステップ６Ｃでは、「使用」を示す情報が記録されているフィルタ情報を対象として、関連フィルタ情報の有無を判定する。
【００５６】
以上の構成及び処理手順により、本実施形態の印刷システムは、印刷設定に応じて使用されたフィルタを特定するフィルタ情報を、フィルタ情報履歴として保存する。そして、その設定を用いる印刷が要求された場合には、用いるフィルタを特定し、特定されたフィルタを用いてフィルタ処理を行う。こうすることで、一旦印刷出力された印刷物の内容を、その後再度印刷する場合にも再現することが可能となる。
【００５７】
また、ホットフォルダに関連づけられたフィルタ情報を編集可能とすることで、既に印刷したことのある設定を元にして、一部のフィルタを変更するということも容易に行える。
【００５８】
［変形例］
なお、本実施形態では、フィルタ履歴情報はプリンタにおいて保存されているが、ホストコンピュータにおいて保存するようにしてもよい。この場合には、フィルタ履歴の収集命令が印刷データに付加されている場合、その印刷データに添付されたフィルタ情報をプリンタのデータベースに収集するのではなく、印刷データの送信元へと返す。そしてフィルタ情報を返されたホストコンピュータが、そのフィルタ情報をフィルタ履歴情報として管理する。このように構成することで、各ホストコンピュータはそれが送信元となった印刷データに用いられたフィルタ情報だけを履歴情報として管理すればよい。そのため、他人に用いたフィルタ履歴を見られることがなく、また、履歴情報のデータベースがホストコンピュータごとに分散されるのでデータベースの規模が小さくなる。また、障害が生じてもその全てを失うおそれが小さくなる。
【００５９】
また、指定されたフォルダモジュールが使用できない場合、そのフォルタモジュールをサーバから取得するようにしているが、プリンタあるいはコンピュータに保存しておいても良い。この場合、フィルタ情報履歴とともに、対応するフィルタモジュールそのものもＢＯＸ５５に保存する。そして、フィルタ情報を指定して印刷命令を発行する場合には、フィルタモジュールそのものを添付する。プリンタドライバ及びプリンタコントローラでは、添付されたフィルタモジュールを実行可能化する処理を先ず行い、その後フィルタ処理を実行する。またフィルタを元に戻すために、置換されるフィルタモジュールをあらかじめ保存しておく。
【００６０】
このように構成することで、サーバが旧バージョンのフィルタを保存していない場合であっても、上記実施形態の効果を享受できる。
【００６１】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態における文書管理システムが使用する印刷システムの概略構成を示すブロック図である。
【図２】上記印刷システムにおける印刷機能の処理構成を説明する機能ブロック図である。
【図３】４ｉｎ１を例に、フィルタの使い分けによる負荷分散を説明する概念図である。
【図４】丸秘スタンプを例に、フィルタの使い分けによる負荷分散を説明する概念図である。
【図５】フィルタの保存、取得、再現を示す概略図である。
【図６】印刷時の文書管理システムの動作に関し、本発明の特徴部を示すフローチャートである。
【図７】印刷時のプリンタドライバの動作に関し、本発明の特徴部を示すフローチャートである。
【図８】印刷時のプリンタコントローラ部の動作に関し、本発明の特徴部を示すフローチャートである。
【図９】プリンタ内部のフィルタ情報履歴管理部が管理しているフィルタ情報履歴データベースの内容を示している図である。
【図１０】文書管理システムにおけるホットフォルダ設定の編集画面を示している図である。
【図１１】文書管理システムにおけるフィルタ情報履歴を取得する手順のフロー図である。
【符号の説明】
【００６４】
１０００…ホストコンピュータ
２０００…コンピュータ本体
３０００…プリンタ
４０００…プリンタコントローラ部
１００…文書管理システム  
２００…プリンタドライバ
４３…ドライバフィルタ
５２…デバイスフィルタ
５４…フィルタ情報履歴管理部
【図１】
2006228066.tif 000003
【図２】
2006228066.tif 000004
【図３】
2006228066.tif 000005
【図４】
2006228066.tif 000006
【図５】
2006228066.tif 000007
【図６】
2006228066.tif 000008
【図７】
2006228066.tif 000009
【図８】
2006228066.tif 000010
【図９】
2006228066.tif 000011
【図１０】
2006228066.tif 000012
【図１１】
2006228066.tif 000013