(57)【要約】【課題】  従来、印刷処理の進捗の表示においては、印刷がすすんでいることはわかるが、実際にどこまで印刷されたか、現在処理されているのはドキュメントのどの内容に対応するものなのか、といった具体的な情報の提供が不足していた。【解決手段】  上記課題を解決するために、本発明は、アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を情報処理装置の表示部に表示するために、前記ドキュメントの文書構造（しおりの構造）に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示するための表示情報を生成し、前記生成工程で生成された表示情報を表示部に表示する。さらに、前記ドキュメントに関する印刷処理の進捗に基づくイベントを受信した際にそのイベントに基づき前記表示情報を更新し、該更新された表示情報を表示部に表示することを特徴とする。【選択図】  図４
2009151702.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を表示する情報処理装置であって、
前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示する表示手段と、
前記表示手段による表示を、前記ドキュメントに関する印刷処理の進捗に基づいて更新する更新手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されているか否かを判断する判断手段を更に備え、
前記判断手段により前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されていると判断された場合、前記表示手段は前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて表示を行い、前記判断手段により前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されていないと判断された場合、前記表示手段は前記ドキュメントのページ数を用いて前記表示を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ドキュメントに関する印刷処理の進捗に基づくイベントを受信する受信手段を備え、
前記更新手段は、前記受信手段で受信したイベントに基づき前記表示手段による表示を更新することを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記ドキュメントは、前記情報処理装置において複数のフィルタを介して処理され、
前記受信手段は、前記ドキュメントのページ識別情報と、当該ページ識別情報で示すドキュメントのページデータが前記フィルタの処理を通過したことをイベントとして受信し、
前記更新手段は、前記受信手段で受信したイベントに基づき、前記複数のフィルタの各々が処理している前記ドキュメントのページを識別可能に表示するために表示を更新することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記受信手段は、前記情報処理装置と通信可能に接続され、前記ドキュメントを印刷するプリンタから、前記ドキュメントのページ識別情報と、当該ページ識別情報で示すドキュメントのページデータが前記プリンタで排紙されたことをイベントとして受信し、
前記更新手段は、前記受信手段で受信したイベントに基づき、前記プリンタにより排紙された前記ドキュメントのページを識別可能に表示するために表示を更新することを特徴とする請求項３または請求項４に記載の情報処理装置。
【請求項６】
前記情報処理装置はユーザによるフィルタの追加が可能であり、
前記表示手段は、印刷処理の進捗を表示する際に、ユーザにより追加された追加フィルタの名称を表示し、
前記更新手段は、前記追加フィルタが処理している前記ドキュメントのページを識別可能に表示するために表示を更新することを特徴とする請求項１乃至請求項５のいずれか１項に記載の情報処理装置。
【請求項７】
前記追加フィルタは、前記ドキュメントの印刷処理を監視するために前記情報処理装置に追加される監視用フィルタであることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記表示手段による表示において、ユーザにより印刷指示された前記ドキュメントの名称が含まれ、
ドキュメントの名称として前記ドキュメントのジョブ名を用いることを特徴とする請求項１乃至請求項７のいずれか１項に記載の情報処理装置。
【請求項９】
前記ドキュメントの文書構造に関する情報は木構造で記述され、
前記表示手段による表示において、ユーザにより印刷指示された前記ドキュメントの名称が含まれ、
ドキュメントの名称として前記ドキュメントの文書構造に関する情報のルートのノードに設定された値を用いることを特徴とする請求項１乃至請求項７のいずれか１項に記載の情報処理装置。
【請求項１０】
アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を表示部に表示する情報処理装置における情報処理方法であって、
前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示部に表示するための表示工程と、
前記表示工程による表示を、前記ドキュメントに関する印刷処理の進捗に基づいて更新する更新工程とを備えることを特徴とする情報処理方法。
【請求項１１】
前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されているか否かを判断する判断工程を更に備え、
前記判断工程により前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されていると判断された場合、前記表示工程において前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて表示を行い、前記判断工程により前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されていないと判断された場合、前記表示工程において前記ドキュメントのページ数を用いて前記表示を行うことを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記ドキュメントに関する印刷処理の進捗に基づくイベントを受信する受信工程を備え、
前記更新工程において、前記受信工程で受信したイベントに基づき前記表示工程による表示を更新することを特徴とする請求項１０または請求項１１に記載の情報処理方法。
【請求項１３】
前記ドキュメントは、前記情報処理装置において複数のフィルタを介して処理され、
前記受信工程は、前記ドキュメントのページ識別情報と、当該ページ識別情報で示すドキュメントのページデータが前記フィルタの処理を通過したことをイベントとして受信し、
前記更新工程において、前記受信工程で受信したイベントに基づき、前記複数のフィルタの各々が処理している前記ドキュメントのページを識別可能に表示を更新することを特徴とする請求項１２に記載の情報処理方法。
【請求項１４】
前記受信工程は、前記情報処理装置と通信可能に接続され、前記ドキュメントを印刷するプリンタから、前記ドキュメントのページ識別情報と、当該ページ識別情報で示すドキュメントのページデータが前記プリンタで排紙されたことをイベントとして受信し、
前記更新工程において、前記受信工程で受信したイベントに基づき、前記プリンタにより排紙された前記ドキュメントのページを識別可能に表示を更新することを特徴とする請求項１２または請求項１３に記載の情報処理方法。
【請求項１５】
前記情報処理装置はユーザによるフィルタの追加が可能であり、
前記表示工程において、印刷処理の進捗を表示する際に、ユーザにより追加された追加フィルタの名称を表示し、
前記更新工程において、前記追加フィルタが処理している前記ドキュメントのページを識別可能に表示を更新することを特徴とする請求項１０乃至請求項１４のいずれか１項に記載の情報処理方法。
【請求項１６】
前記追加フィルタは、前記ドキュメントの印刷処理を監視するために前記情報処理装置に追加される監視用フィルタであることを特徴とする請求項１５に記載の情報処理方法。
【請求項１７】
前記表示工程による表示において、ユーザにより印刷指示された前記ドキュメントの名称が含まれ、
ドキュメントの名称として前記ドキュメントのジョブ名を用いることを特徴とする請求項１０乃至請求項１６のいずれか１項に記載の情報処理方法。
【請求項１８】
前記ドキュメントの文書構造に関する情報は木構造で記述され、
前記表示工程による表示において、ユーザにより印刷指示された前記ドキュメントの名称が含まれ、
ドキュメントの名称として前記ドキュメントの文書構造に関する情報のルートのノードに設定された値を用いることを特徴とする請求項１０乃至請求項１６のいずれか１項に記載の情報処理方法。
【請求項１９】
請求項１０乃至請求項１７のいずれか１項に記載の情報処理方法をコンピュータにより実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関するものである。特に情報処理装置における、プリンタでの処理の進捗の表示に関する。
【背景技術】
【０００２】
ユーザが情報処置装置（パーソナルコンピュータなどを含む）で作成した文書を印刷するよう操作した場合、ユーザは、アプリケーションの印刷ダイアログより印刷状況の情報を得ていた。
【０００３】
ここで、例えばＭｉｃｒｏｓｏｆｔ社のオペレーティングシステムであるＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）における既存のＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）印刷パスにおける例を説明する。アプリケーションは［印刷］ダイアログボックスを表示し、ユーザへ印刷処理中であることをフィードバックする。このアプリケーションからのフィードバックの内容は次のようなものである。
・ファイル名（アプリケーション固有フォーマット）
・対象プリンタ名
・ページ番号
また、印刷データはオペレーティングシステム（ＯＳ）のシステムスプーラによりスプールされる。ユーザはこのシステムスプーラから、対象プリンタを選択し表示されるスプールリストから印刷状態の参照ができた。このシステムスプーラからのフィードバックの内容は次であった。
・ジョブ名（アプリケーションが付与）
・状態
・ページ番号
システムとして、プリンタドライバの前後で印刷状態表示おこなわれていた。また、ＧＤＩ印刷パスのプリンタドライバ、特に印刷データを生成するグラフィックス・ドライバは、ＧＤＩから順次呼び出され動作するため印刷状況を把握することが難しかった。
【０００４】
しかしながら、Ｍｉｃｒｏｓｏｆｔ社のオペレーティングシステムであるＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａにおいて印刷システムが変更された。該システムでは既存のＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）印刷パスに加え、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）印刷パスをサポートするように拡張されている。ＧＤＩ、ＸＰＳの双方の印刷パスのシステムスプーラの操作は、従来のＷｉｎｄｏｗｓ（登録商標）と変わらないが、ＸＰＳ印刷パスは、ＸＰＳスプールファイルを使用する。印刷対象のデータに関しては、アプリケーションの発行から印刷ドライバまたはプリンタでの処理までこのＸＰＳ形式を維持する。このＸＰＳ形式は、クロスプラットフォーム文書を作成するための、オープンな電子ドキュメント形式であり、スプールファイル形式と位置付けられている（非特許文献１）。ＸＰＳ形式のファイルにはドキュメント本体だけでなく、ＰｒｉｎｔＴｉｃｋｅｔとよぶ印刷設定も含まれている。このＰｒｉｎｔＴｉｃｋｅｔにより印刷時の体裁などの印刷設定も維持され相互参照可能となっている。例えばバナー設定ＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔは、Ｓｔａｎｄａｒｄ（プリンタでバナーをつける）、Ｃｕｓｔｏｍ（アプリケーションで指定したページをバナーとする）、Ｎｏｎｅ（バナーをつけない）の３つの選択でき、アプリケーションは実行した設定を記述しやすく、他のソフトウェアからは設定が参照しやすくなっている（非特許文献１）。ＸＰＳ印刷パスのプリンタドライバのグラフィックス・フィルタパイプラインでは、ドキュメントや印刷設定を参照、操作できるようになった。（特許文献１）
一方、情報処理装置上のデータの視覚化において、ファイルの特定属性を中心にして通常ファイルリストとは異なる表示方法を提供するものもあった。（特許文献２）
【特許文献１】特開２００４−３８９５６号公報
【特許文献２】特開２００６−１９５９７０号公報
【非特許文献１】マイクロソフト  ＸＰＳ概要ｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｊａｐａｎ／ｗｈｄｃ／ｘｐｓ／ｄｅｆａｕｌｔ．ｍｓｐｘ
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の印刷状態表示にはドキュメントごとに応じた表示ができず、さらなる改良が望まれている。
【０００６】
アプリケーションが独自フォーマットの文書ファイルを管理しており、下位の印刷プロセスは、その内容を基本的に参照することができなかった。また、印刷がすすんでいることはわかるが、実際にどこまで印刷されたかドキュメントとの対応に関する具体的な情報の提供は不足していた。
【０００７】
また、アプリケーション（スプール前）とシステムスプーラ（スプール後）で印刷情報の参照先が別となっている。
【０００８】
また、レイアウト変更やページ挿入、印刷ページのカウントが変わっていてもスプール前後で共有できない。レンダリングプロセスでのカウント処理、アプリケーションの印刷設定参照やデバイスへの設定指示、これらの相互参照が難しかった。
【０００９】
本発明は、ユーザにより印刷指示されたドキュメントの文書構造（しおりの構造（詳細、後述））に関する情報と用いて、ユーザに対して適切な印刷処理の進捗の情報を通知するための手法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の情報処理装置は、アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を表示する情報処理装置であって、前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示する表示手段と、前記表示手段による表示を、前記ドキュメントに関する印刷処理の進捗に基づいて更新する更新手段とを備えることを特徴とする。
【発明の効果】
【００１１】
以上の構成により、本発明はユーザにより印刷指示されたドキュメントの文書構造（しおりの構造（詳細、後述））に関する情報と用いて、ユーザに対して適切な印刷処理の進捗の情報を通知できる。
【発明を実施するための最良の形態】
【００１２】
（実施例１）
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の説明においては、コンピュータとプリンタとからなるシステムに基づいて説明を行うが、本発明は上記構成に限定されるものではない。
【００１３】
印刷システムの構成
図１は、本発明の実施形態に係る印刷システムの構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続され、処理が行われるシステムであっても本発明を適用できる。
【００１４】
同図において、コンピュータ３０００は、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて以降で後述される本発明の各実施形態に係わる処理を含む印刷処理の実行を制御するＣＰＵ１を備えている。ここで印刷処理は、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理およびそれに基づく。このＣＰＵ１がシステムバス４に接続される各デバイスの制御を総括する。また、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶されている。また、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等が記憶されている。さらに、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データが記憶されている。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００１５】
キーボードコントローラ（ＫＢＣ）５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、地紋画像の表示を含む、ＣＲＴディスプレイ（ＣＲＴ）１０による表示を制御する。７はディスクコントローラ（ＤＫＣ）を示し、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００１６】
なお、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
【００１７】
プリンタ１５００は、そのＣＰＵ１２によって制御される。プリンタＣＰＵ１２は、ＲＯＭ１３に記憶された制御プログラム等、あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に印刷出力情報としての画像信号を出力する。
【００１８】
また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等が記憶される。また、ＲＯＭ１３のフォント用ＲＯＭには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。また、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、コンピュータ上で利用される情報等が記憶されている。
【００１９】
ＣＰＵ１２は入力部１８を介してコンピュータとの通信処理が可能となっている。これにより、プリンタ内の情報等をコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭである。また、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００２０】
前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等である。
【００２１】
また、プリンタ１５００は図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００２２】
印刷部１７は本実施形態では電子写真方式のエンジンとしている。従って、地紋画像を含む印刷データはトナーのドットによって最終的に紙などの媒体上に記録される。なお、本発明における印刷の方式はこのような電子写真方式に限られないことはもちろんである。例えば、インクジェット方式など、ドットを形成して印刷を行ういずれの方式のプリンタにも本発明を適用することができる。
【００２３】
図２は、図１に示したコンピュータ３０００における印刷処理のための基本的な一構成を示す図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在する。そして、これらは、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされて実行されるプログラムモジュールである。
【００２４】
また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部メモリ１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行される。しかし。このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。グラフィックエンジン２０２は、プリンタなどのプリンタごとに用意されたプリンタドライバ２０３を外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。
【００２５】
従来からＷｉｎｄｏｗｓ（登録商標）における、ＧＤＩ印刷パスの説明をする。グラフィックエンジン２０２はアプリケーション２０１から受け取るＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数をＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換して、プリンタドライバ２０３へ出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００２６】
Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａにおいては、基本構成は同じであるが新規となるＸＰＳ印刷パスが追加された。グラフィックエンジン２０２はアプリケーション２０１から受け取る共通ドキュメントをプリンタドライバ２０３へ出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取った共通ドキュメントを、プリンタが認識可能な制御コマンド、例えばＰＤＬに変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。なお、プリンタが共通ドキュメントを認識可能であれば、変換はせずに出力することも可能である。
【００２７】
従来例の概要
図３はＧＤＩ印刷パスにおける従来形の説明である。
【００２８】
アプリケーション２０１は、アプリケーション独自のドキュメント３０５を持っている。アプリケーション２０１からこのドキュメント３０５の印刷をおこなう。アプリケーション２０１はドキュメント３０５を処理しながらグラフィックスエンジン２０２を動かし、その状況はアプリケーション２０１が印刷ダイアログ３０６として表示する。印刷ダイアログ３０６の具体例が［印刷］ダイアログ３０７で、ドキュメント３０５のページ番号が動作状況として表示される。これらの動作に応じプリンタドライバ２０３が生成した印刷データは、システムスプーラ２０４によりスプール３０８へわたされる。システムスプーラ２０４はこのスプール３０８の状態をスプールリスト３０８として表示する。スプールリスト３０８は、プリンタフォルダ３１０を開き、プリンタリスト３１１の中の対象プリンタを開くと表示されるプリンタ３１２で確認することができる。図３の従来例においては、ドキュメント３０５を参照できないプリンタドライバ２０３は印刷状況表示に関与しにくい構成であった。データの参照できるアプリケーション２０１とシステムスプーラ２０４が印刷状況表示をおこなっていた。
【００２９】
本実施形態の構成概説
図４はＸＰＳ印刷パスにおける本システムの概要図である。
【００３０】
アプリケーション２０１から印刷をおこなう。アプリケーション２０１がグラフィックスエンジン２０２を動かした結果は、プリンタドライバのフィルタ・パイプライン４０３へドキュメント（共通データ）４０５としてわたされる。アプレット４１０はプリンタドライバ４０３およびプリンタ１５００などの動作を印刷状況４１１として表示する。印刷状況４１１の一例としては、標準ウィンドウ４１２のようにメッセージとアイコンで概況表示、クリック等で拡張される拡張ウィンドウ４１３でメッセージとグラフを含めた詳細状況表示をおこなう。アプレットの機能を介して表示される表示情報には、ドキュメント４０５およびその目次情報を含めることができる。プリンタドライバ４０３やアプレット４１０はドキュメント４０５が参照できるため印刷状況表示に関与できるようになった。
【００３１】
図５を用いて本実施形態のシステム構成の概説をおこなう。
【００３２】
アプレット４１０は、標準ウィンドウ４１２および拡張ウィンドウ４１３で構成される。アプレット４１０の表示は、共通ドキュメント４０５や印刷パスからの情報の５０５、各印刷プロセスのイベント５０８、ＯＳシステムおよびタイマのイベント５１０らから構築される。アプレット４１０は、サービスとして常時起動されている、あるいはプリンタドライバ４０３やシステム５１０からのイベントにより起動・終了どちらの形態でもよい。
【００３３】
共通ドキュメント４０５や印刷パスからの情報は、ジョブ（名）５０１、ドキュメント・ページ構造５０２、しおりの情報（文書構造）５０３とそれらの文字列５０４がアプレット４１０の入力となる。これらが処理され、表示文字や進捗グラフＸ，Ｙ軸として出力へ反映される。各印刷プロセスのイベント５０８は、プリンタドライバのフィルタ・パイプライン４０３からの共通ドキュメント４０５の通過イベント５０６、プリンタ１５００の排紙イベント５０７らが入力となる。これらのホスト、およびデバイス上のイベントが処理され、状態の切り替えや進捗グラフ上のプロットとして出力へ反映される。ＯＳシステムおよびタイマのイベント５１０は、システムのタイマイベント５０９らが入力となる。このイベントが処理され、進捗状態の基準として出力へ反映される。入出力処理は後述する。
【００３４】
従って、アプレット４１０は、共通ドキュメント４０５や印刷パスからの情報の５０５を表示内容やグラフ軸に用い、ＯＳシステムおよびタイマのイベント５１０を基準として、各印刷プロセスのイベント５０８をハンドリングしながら表示状態を更新してゆく。
【００３５】
本システムの入力系の説明
ここで図６をもちい共通ドキュメント４０５であるＸＰＳスプールファイルの構造を説明する。ＸＰＳスプールファイル４０５は３層構造からなる。第１層にＦｉｘｅｄ  Ｄｏｃｕｍｅｎｔ  Ｓｅｑｕｅｎｓｅ６０１（以下、ジョブと略す）が、次にＦｉｘｅｄ  Ｄｏｃｕｍｅｎｔ６０２（以下、ドキュメントと略す）が、最下層にＦｉｘｅｄ  Ｐａｇｅ６０３（以下、ページと略す）が存在する。これらは、３層からなるＸＭＬファイルの集合である。それぞれの階層はレベルとも呼ばれる。実際の描画データとなる文書の各ページはページレベルに置かれ、１つのドキュメントレベルの中に複数ページが含まれる。また、１つのＸＰＳスプールファイル４０５の中に複数のドキュメントを持つことができるため、ジョブが複数のドキュメントを管理している。これらはすべてＸＭＬで記載されているが、リソースデータのようなバイナリデータはイメージ６０４、フォント６０５といった形で、そのままＸＰＳスプールファイル４０５の中に含まれている。印刷設定であるＰｒｉｎｔＴｉｃｋｅｔ６０６は、ジョブレベル、ドキュメントレベル、ページレベルのすべてのレベルで持つことができ、ページごとに印刷設定を切り替えることが可能になっている。また、ＰｒｉｎｔＴｉｃｋｅｔ６０６の中にある印刷設定の機能１つ１つにも、どのレベルに対して適用するのかが示されており、機能名称の接頭辞（Ｐｒｅｆｉｘ）で定義されている。たとえば、“Ｊｏｂ”が機能の接頭辞としてつけば、ジョブレベルの機能設定ということになる。ＰｒｉｎｔＴｉｃｋｅｔはプリンタやプリンタドライバが持つ機能をＦｅａｔｕｒｅというタグで、機能の選択肢をＯｐｔｉｏｎというタグで表している。ＳｃｏｒｅｄＰｒｏｐｅｒｔｙやＰｒｏｐｅｒｔｙはＯｐｔｉｏｎに付随する属性情報であり、ＰａｒａｍｅｔｅｒＩｎｉｔは機能の値を表している。サムネイル６０７は、最初のページのスナップショット画像ファイルになっており、ページをレンダリングしなくてもこの画像を使用することでページを見ることができるので、複数のＸＰＳスプールファイル４０５の一覧表示などに役立つ。コアプロパティ６０８は文書の属性（プロパティ）情報を持っていて、文書名、リビジョン、編集者などの情報が含まれている。Ｄｏｃｕｍｅｎｔ  Ｓｔｒｕｃｔｕｒｅ６０９はドキュメントレベルに付属する情報で、ドキュメントの章の区切りなどに基づく文書構造が記載されている。これらのデータが圧縮され１つのファイルとなっているのが、ＸＰＳスプールファイル４０５である。
【００３６】
図７をもちい、共通ドキュメント４０５および印刷パスからの情報の処理説明をおこなう。
【００３７】
アプレット４１０は、共通ドキュメント４０５およびＸＰＳ印刷パスのＪＯＢＩＮＦＯ７００からジョブ（名）７０１、総ページ数７０２、しおりの有無７０３、しおりの構造（文書構造）７０４を得る。ジョブ（名）７０１はＪＯＢＩＮＦＯ７００から取得する。総ページ数７０２は、共通ドキュメント４０５の内容からカウントする。
【００３８】
ここで、しおりとは目次のようなものであり、前述のＤｏｃｕｍｅｎｔ  Ｓｔｒｕｃｔｕｒｅに記載される。しおりの情報（文書構造）は、木構造で記載され、例えば、各ノードに対して設定される値（名称）に、文書における各章のタイトルなどが設定され得る。しおりの有無７０３はＤｏｃｕｍｅｎｔ  Ｓｔｒｕｃｔｕｒｅ  Ｏｕｔｌｉｎｅタグの有無である。ここで、しおりの情報自体が無いならば、当然、しおり無しとなる。なお、ジョブ（名）７０１は、しおりの構造７０４のルートに名称が付与されていれば、その名称をもちいることもできる。またジョブ識別するためにＪＯＢＩＮＦＯ７００からジョブ情報７０５を取得する。システムＪｏｂＩＤから別のＪｏｂＩＤ’を生成し共通ドキュメント４０５にプライベートタグとして追記しておく。これらの情報は、システムイベントからアプレット４１０が取得するか、フィルタ・パイプライン４０３を含む後段の印刷プロセスからアプレット４１０にわたされる。
【００３９】
図８をもちい、“しおり”について補足説明する。共通ドキュメントに対しシステム側でビューア８０１が用意されることが多い。このビューア８０１で文書８０５をオープンしたときのアウトライン８０９が“しおり”の構造を表示したものである。
【００４０】
図９をもちい、プリンタドライバのフィルタ・パイプライン４０３からの情報（イベント）の処理説明をおこなう。以下で示すイベントを処理されることで、印刷の進捗表示が更新されたり、処理の状況の表示が更新されたりする。
【００４１】
アプレット４１０のイベントハンドラ９００は、プリンタドライバのフィルタ・パイプライン４０３へイベント登録９２０とイベント削除９３０をおこなう。プリンタドライバのフィルタ・パイプライン４０３は、ハンドラ９００へ登録イベントが発生時にイベントを送出する。送出されるイベントには、ジョブ開始と終了イベント（９０１、９０９）、多段フィルタのＴＯＰおよびＢＯＴＴＯＭフィルタのページ処理開始と終了イベント（９０２、９０３、９０４、９０５）、物理ページの区切りイベント９０６がある。これらのイベントには、ドキュメントの何ページ目のページデータを処理対象としたイベントかを識別するためのページ識別情報が含まれる。加えて、送出されるイベントには、ドキュメント区切りイベント９０７、キャンセルイベント９０８、エラーイベント９０９などがある。物理ページの区切り（ページプログレス）イベント９０６は、物理ページが進む際に送出される。もしドキュメントのページ進行を変更したなら、ページ変更データも付与する。レイアウトを２Ｕｐへ変更したとすると、ページ変更データは、’２’である。フィルタ・パイプライン４０３は、２ページ進行をハンドラ９００へ通知するものである。ページ進行を止める場合、ページ変更データは‘０’となる。
【００４２】
図１０をもちい、プリンタ１５００からの情報（イベント）の処理説明をおこなう。以下で示すイベントを処理されることで、印刷の進捗表示が更新されたり、処理の状況の表示が更新されたりする。
【００４３】
処理は図９のプリンタドライバのフィルタ・パイプライン４０３と同じである。アプレット４１０のイベントハンドラ１０００は、プリンタ１５００へイベント登録１０２０とイベント削除１０３０をおこなう。プリンタ１５００は、ハンドラ１０００へ登録イベントが発生時にイベントを送出する。送出されるイベントは、ジョブ開始と終了イベント（１００１、１００６）、物理ページの区切りイベント１００２、ドキュメントの区切りイベント１００３、キャンセルイベント１００４、エラーイベント１００５などである。図１０から省略したが、ページ処理開始と終了イベントは図９と同様に処理してよい。
【００４４】
図１１をもちい、アプレット４１０の動作データを説明する。
【００４５】
アプレット４１０は図８〜図１０で説明した情報の処理をおこないイベントハンドラ１１０１をもつ。アプレット４１０は、動作のためワークデータ１１０３を作成する。このワークデータ１１０３にはユーザの設定が反映され、ドキュメント情報１１０４、ジョブ情報１１０５を下位に持つ。ジョブ情報１１０５には、図７で説明したデータが格納される。ジョブ情報１１０５は、下位にページと時間を関連付けるページ管理テーブル１１０６、時間管理テーブル１１０７と各イベント元の時間テーブル１１０８を持つ。このジョブ情報１１０４以下の構造はジョブ毎に生成される。
【００４６】
ここまででアプレット４１０について、入力系を主にした説明をおこなってきた。次はアプレット４１０の出力系である進捗表示の構成方法の説明をおこなう。
【００４７】
本システムの出力系である表示構成の説明
図１２をもちいて、アプレット４１０の進捗表示の構成の基本的な考え方を説明する。
【００４８】
アプレット４１０は、ドキュメントの総ページ数の有無１２０１、プリンタ１５００の排紙イベントの有無１２０２、共通ドキュメントのしおりの構造に関する情報の有無１２０３の３つの条件から表示構成を決定する。ここでは、表示構成パターンは８種となる。共通ドキュメントのしおりの構造に関する情報の有無１２０３は四角で囲まれた領域の内外として図示されている。
【００４９】
アプレット４１０からユーザに提供される進捗情報は、（１）〜（８）で異なる。（１）は提供する情報として総ページ数、排紙、しおりの情報が有るので情報量が多く、逆に（８）は総ページ数、排紙、しおりの情報が無いので情報量も少なくなる。アプレット４１０がユーザに提供する情報として、（１）が最も望ましい条件を示す領域である。なお、以降（１）〜（８）の分類を表示構成パターンとよぶ。
【００５０】
図１３をもちいて、アプレット４１０のメッセージによる表示制御を説明する。
【００５１】
アプレット４１０により提供される、メッセージとしての表示構成１３０１には（ジョブ名）、（ドキュメント名）、（しおり名）、（状況）、（カウンタ）、（プリンタ名）（コメント）が含まれる。
【００５２】
３行目の（プリンタ名）は、取得した静的な情報がはいり、基本的に処理の遷移に対応した表示内容の更新はない。
【００５３】
ここでは、以降、簡略化のため（ジョブ名）（コメント）の図示は省略する。
【００５４】
１行目の（ドキュメント名）は、ジョブが複数ドキュメントを含めばジョブ内で表示更新がおこなわれる。
【００５５】
２行目は、ジョブ内で逐次表示が更新される（しおり名）、（状況）、（カウンタ）が含まれる。（しおり名）は前述のしおりの有無１２０３で表示の有無がかわる。しおり構造７０４があれば（しおり名）に文字列が反映される。（状況）は排紙１２０２の有無により内容がかわり、有れば“印刷中”、無ければ“処理中”とする。（カウンタ）は、総ページ１２０１の有無により内容がかわり、有れば現ページ／総ページをそのまま、もしくは割合％で表示し、無ければ現ページを表示する。（カウンタ）の表示は（しおり名）が有れば表示しなくともよい。
【００５６】
ここまで説明した表示構成１３０１から生成される具体例と表示構成パターンの関係を１３０２から１３０８に示した。
【００５７】
１３０２はしおり１２０３と排紙１２０２が有る場合で、（しおり名）に“第１章  はじめに”が表示され、（状況）には印刷中が表示され、（カウンタ）は省略されており、表示構成パターンとしては（１）（５）に該当する。
【００５８】
なお１３０８は表示パターン（１）で（カウンタ）の表示を省略しない例である。
【００５９】
１３０３はしおり１２０３が無いので（しおり名）が省略、排紙１２０２は有るので（カウンタ）に現ページ／総ページの割合が表示されており、表示構成パターンとしては（３）に該当する。
【００６０】
１３０４は、しおり１２０３が有るが、排紙１２０２が無いため、（状況）が処理中となっており、表示構成パターンとしては（２）、（６）に該当する。以下同様に１３０５、１３０６、１３０７は構成され、それぞれ表示構成パターンとして（４）、（７）、（８）が該当する。
【００６１】
以上、アプレット４１０の表示動作の考え方とメッセージ・ベースの動作を示した。
【００６２】
図１４を用いて本システムの動作の流れを説明する。
【００６３】
印刷に関連する処理が開始され、アプレットはプリンタドライバのフィルタ・パイプライン４０３かプリンタ１５００から開始イベント１４０１を受け取る。アプレットは、標準ウィンドウ１４０２に（プリンタ名）、（ドキュメント名）、（状況）をセット、（状況）を印刷中に、アイコンを印刷中アイコン１４０３へ切り替える。アプレットの標準ウィンドウ１４０２をクリック１４０４すると拡張ウィンドウ１４０５が表示される。この拡張ウィンドウ１４０５は、より詳細な情報、グラフ１４０６も表示する。グラフ１４０６の表示構成については後述する。印刷に関連する処理が終了し、アプレットはプリンタドライバのフィルタ・パイプライン４０３かプリンタ１５００から終了イベント１４０６を受け取る。アプレットは、標準ウィンドウ１４０７の（状況）を印刷完了に、アイコンを印刷完了アイコン１４０８へ切り替える。その後アプレットは、一定時間待ち、標準ウィンドウ１４１０（状況）を印刷待ちにして、アイコンを印刷待ちアイコン１４１０へ切り替える。
【００６４】
図１５、図１６をもちいて、アプレット４１０のグラフ配置制御を説明する。
【００６５】
図１２、１３で説明した３つの条件に含まれる、しおりと総ページの２条件の有無によりグラフ軸が変化する説明である。しおりと総ページのいずれかの参照ならアプレットが配置するグラフは、軸が１つの１次元グラフまでとなる。しおりと総ページの２条件とも参照できるとアプレットが配置するグラフは、軸が２つある２次元グラフにできる。
まず、図１５は１次元グラフの配置例である。拡張ウィンドウ１５０１は、しおりが有った場合、それをＹ軸とした一次元グラフ１５０２を表示しており、表示構成パターンとしては（１）（２）（５）（６）に該当する。グラフ１５０２のＹ軸は、メッセージの（状況）と合致した全てのしおりに対する現在の処理中のデータに対応するしおりの相対的な進行状況を表示するためのグラフ１５０２の軸となる。グラフ１５０２の表示エリアサイズにフィットするよう表示上のスケールを拡大縮小する。
【００６６】
拡張ウィンドウ１５０３は、総ページ１２０１が有った場合、それをＸ軸とした一次元グラフ１５０４を表示しており、表示構成パターンとしては（３）（４）に該当する。グラフ１５０４の表示エリアサイズにフィットするよう表示上のスケールを拡大縮小する。
【００６７】
拡張ウィンドウ１５０５は、総ページ１２０１としおり１２０３の双方が無かったため、グラフはおいておらず、表示構成パターンとしては（７）（８）に該当する。
【００６８】
次に、図１６は２次元グラフの配置例である。拡張ウィンドウ１６０１は、総ページ１２０１としおりの双方が有ったときで、ページをＸ軸、しおりをＹ軸とした二次元グラフ１６０２を表示しており、表示構成パターンとしては（１）（３）に該当する。２次元グラフ１６０２は、図１５のグラフ１５０２と１５０４で表現される通知内容を、１つのグラフで通知できるように表現したものになる。グラフの詳細描画例は後述するが、仮にこの２次元グラフ１６０２に進捗を示す線をひくとすると、しおりとページの関係をしめす折線グラフとなる。フィルタ・パイプライン４０３やプリンタ１５００のイベントがこの折線上にプロット１６０３されることになる。
【００６９】
図１７をもちいて、アプレット４１０のグラフ表示例を説明する。
【００７０】
グラフ１７０１は、９ページのドキュメントの印刷進捗を示し、Ｘ軸がページである１次元グラフである。このグラフ上にプリンタドライバのフィルタ・パイプライン４０３のトップフィルタとボトムフィルタの通過イベント（１７０２、１７０３）、およびプリンタ１５００の排紙イベント１７０４がプロットされている。プロット間は線１７０５、１７０６で接続している。各プロットはイベントにあわせ左から右へ移動し最終的に排紙イベントが最終ページに移動すれば印刷は完了となる。グラフ１７０１では、４ページ目が排紙処理中であり、７ページ目がフィルタートップ（処理開始）であることが示されている。
【００７１】
グラフ１７１１は、グラフ１７０１と同様であるが、プロット間を線１７０５、１７０６で接続せずに全体を矩形であらわした例である。プリンタドライバのフィルタ・パイプライン４０３のトップフィルタとボトムフィルタの通過イベント（１７１２、１７１３）、およびプリンタ１５００の排紙イベント１７１４は矩形の縦線で、プロット間は矩形の横線で表現されている。
【００７２】
グラフ１７２１は、９ページ５セクションのドキュメントの印刷進捗を示し、Ｘ軸がページでＹ軸がしおりの構造である２次元グラフである。共通データにしおりの情報があった場合、Ｘ軸のみのグラフ１７０１がＹ軸方向へ拡張されグラフ１７２１が表示されるととらえると理解しやすい。この２次元グラフ１７２１上のしおり（Ｙ）とページ（Ｘ）の関係をしめす折れ線は、印刷データが進行する線となる。進行線１７２７上をプリンタドライバのフィルタ・パイプライン４０３のトップフィルタとボトムフィルタの通過イベント（１７２２、１７２３）、およびプリンタ１５００の排紙イベント１７２４がプロットされている。プロット間は線で接続している。各プロットはイベントにあわせ左上から右下へ移動し最終的に排紙イベントが右下へ移動すれば印刷は完了となる。また、グラフ１７２１上にはしおりの構造をレベル１７２５として表現したものやしおり名１７２８を表示することができる。もしグラフの表示領域が小さい場合は、全てを描画する必要はない。
【００７３】
グラフ１７２１のラベルやテキストを省いたものがグラフ１７３１になり、文字列情報は図１３のように別途表示されているため不足はない。
【００７４】
なお、このグラフはしおり数×ページ数のピクセル表示領域があれば、１ピクセルは、しおりとページの関係を正確に表示していることになる。しおり数かページ数がグラフ表示領域より大きい場合、縮小表示が必要となる。例えば幅を１００％とし表示領域にあわせた比を計算し軸毎に縮小し、軸には１０％や２０％単位で刻みをいれればよい。
【００７５】
図１８をもちいて、アプレット４１０のオプション設定を説明する。
【００７６】
アプレット４１０の標準ウィンドウ１８１０にあるボタンを押す１８０２と［オプション］ダイアログ１８０３が開く。このダイアログ１８０３を用いてアプレット４１０の表示に関する設定を行う。
【００７７】
ＯＦＦ１８０６にチェックするとアプレット４１０は、進捗表示を行わない。
【００７８】
ＯＮ１８０４にチェックされた場合、Ｏｐｔｉｏｎ１８０５には、［□しおりがあるとき］、［□ジョブが大きいとき］、［□排紙に時間がかかっているとき］のチェックボックスが有効になる。［□しおりがあるとき］をＯＮにするとアプレット４１０は、しおりがあるときだけ進捗表示をおこなう。［□ジョブが大きいとき］をＯＮにするとアプレット４１０は、ジョブのサイズがある閾値をこえたときだけ進捗表示をおこなう。［□排紙に時間がかかっているとき］をＯＮにするとアプレット４１０は、連続するページの排紙された時間の間隔が閾値をこえたときだけ進捗表示をおこなう。尚、Ｏｐｔｉｏｎ１８０５で設定されるような表示は、アプレットが印刷処理の途中で処理時間が所定時間より長くかかると判定したときにだけ進捗表示がなされるよう制御されるものであってもよい。
【００７９】
本システムのフローチャート
図１９において、アプレット４１０の印刷処理の進捗に応じた表示に関する処理をフローチャートを用いて説明する。
【００８０】
ステップ２００２でアプレット４１０は、印刷処理の対象となる共通ドキュメントおよびＸＰＳ印刷パスのＪＯＢＩＮＦＯから“ジョブ名”を取得する。
【００８１】
ステップ２００３でアプレット４１０は、印刷処理の対象となる共通ドキュメントおよびＸＰＳ印刷パスのＪＯＢＩＮＦＯから“プリンタ名”を取得する。
【００８２】
ステップ２０１０でアプレット４１０は、共通ドキュメントおよびＸＰＳ印刷パスのＪＯＢＩＮＦＯからページの総数を得る（文書構造を参照しながら数える）。総ページ数がえられた（ステップ２０１１）なら、ステップ２０１３でアプレット４１０は“カウンタ”を割合とする。総ページ数がえられなければ、ステップ２０１４でアプレット１４０は“カウンタ”をページとする。
【００８３】
ステップ２０２０でアプレット４１０は印刷処理の対象となる共通ドキュメントにしおりがあるか否かを判断する。ステップ２０２０において、しおりがあると判断された場合、ステップ２０２１でアプレット４１０は、しおりの構造（文書構造）を解析する。
【００８４】
ステップ２０２２でアプレット４１０は、しおりの構造において最上位のルート（例えば図８で表示される“ｐｎ２仕様書”という値が設定されるノード）の下位にノードがあるか否かを判断する。
【００８５】
ステップ２０２２でしおりの構造においてルートの下位にノードがあると判断された場合、ステップ２０２４でアプレット４１０は、表示項目となる項目“しおり”の値として下位ノード文字列（例えば図８で表示される“表紙”という値）を取得する。
【００８６】
ステップ２０２５で、ルートのノードに値（例えば図８で表示される“ｐｎ２仕様書”）があるなら、ステップ２０２６でアプレット４１０は表示項目となる項目“ドキュメント名”の値を更新する。
【００８７】
ステップ２０２７でアプレット４１０は、しおりを用いることができるので表示に項目として”カウンタ”を用いないように制御する。
【００８８】
しおりのルートにノードがない（ステップ２０２２）なら、ステップ２０２８でアプレット４１０は、表示項目となる項目”しおり”の値をルートのノードに設定されている文字列とする。
【００８９】
ステップ２０２０で印刷処理の対象となる共通ドキュメントにしおりがないと判断された場合、アプレット４１０は、ステップ２０２９で表示の項目として”しおり”用いないよう制御する。
【００９０】
ステップ２０３０でアプレット４１０は、プリンタのプロセスからのイベントよりプリンタのページプログレスイベントが取得できるか否かを判断する。
【００９１】
ステップ２０３０でページプログレスイベントが取得できると判断された場合、Ｃ（ステップ２０３１）を経由して、ステップ２０３２でアプレットは表示項目の”状況”を印刷中とする。
【００９２】
ステップ２０３０でページプログレスイベントが取得できないと判断された場合、ステップ２０３３でアプレット４１０は、ホストコンピュータのページプログレスがとれるか否かを判断する。ホストコンピュータのページプログレスイベントがとれると判断された場合、Ｃ’（ステップ２０３４）を経由して、ステップ２０３５で表示項目の“状況”を処理中とする。
【００９３】
ステップ２０４０で、Ａ（ステップ２０１１）、Ｂ（ステップ２０２３）、及びＣ（ステップ２０３１）またはＡ（ステップ２０１１）、Ｂ（ステップ２０２３）、及びＣ’（ステップ２０３３）の全て通過しているか否かを判断する。
【００９４】
ステップ２０４０において通過していると判断された場合、ステップ２０４１でアプレット４１０はグラフが２次元となる判断ができる。
【００９５】
ステップ２０４０において通過していないと判断された場合、ステップ２０４２でアプレット４１０は、グラフを１次元までの表示になることを判断する。
【００９６】
ステップ２０４３でアプレット４１０は、Ａ、Ｂ、Ｃ（Ｃ’）の通過状況に応じてグラフのＸ、Ｙ軸を設定する。
【００９７】
ステップ２０６０にて、アプレット４１０は、各表示項目である“ドキュメント”、“しおり”、“状況”、“カウンタ”をホストコンピュータやプリンタで取得されるイベントにあわせ更新していく。表示は、グラフも同期し更新される。
【００９８】
図２０において、アプレット４１０の印刷処理の進捗に応じたグラフ表示に関する処理をフローチャートを用いて説明する。ここでは具体的に２次元グラフを描画する例を説明する。
【００９９】
ステップ２１０１でアプレット４１０はページ管理テーブル１１０６を作成する。
【０１００】
ステップ２１０２でアプレット４１０は時間管理テーブル１１０７を作成する。
【０１０１】
さらにステップ２１０３でアプレット４１０はイベント元ごとに時間表１１０８を作成する。
【０１０２】
ステップ２１１１でアプレット４１０は、総ページ数を確認し、ステップ２１１２で総しおり数を確認する。
【０１０３】
ステップ２１１３でアプレット４１０は、グラフ表示領域のサイズを取得し、ステップ２１１４で表示領域にはいるようにグラフをスケールする。ステップ２１１５でアプレット４１０は、そのＸ，Ｙのスケール値を保持する。アプレット４１０は次に軸などのグラフの静的な部分を描画する。ステップ２１２１でアプレット４１０はグラフ枠を描画し、その枠にたいしてステップ２１２２でページ数の軸を、ステップ２１２３でしおり項目の軸を描画する。
【０１０４】
ステップ２１２５でアプレット４１０は文字列１７２６を、ステップ２１２４でページ数としおり項目の関係を示す進捗線を描画する。これらのグラフの静的部分の描画順序は前後しても問題ない。
【０１０５】
そして、アプレット４１０はプロット等のグラフの動的部分を描画する処理へ移る。
【０１０６】
ステップ２１３１でアプレット４１０はドキュメント・ページのイベントを管理するループに入り、ステップ２１３２で通知されたイベントの発信元を識別する。ステップ２１３３でアプレット４１０は、現イベントとジョブの状態識別をおこなう。
【０１０７】
ステップ２３１４で、ステップ２１３３における識別に基づきエラーイベントか否かの判断を行う。エラーイベントと判断された場合、ステップ２１３５でエラー状態へ遷移する。そしてステップ２１３６でアプレット４１０は、ドキュメント処理がエラーとしてループ継続状態にする。エラーイベントと判断されなかった場合は、ステップ２１３７に遷移する。
【０１０８】
ステップ２３１７でステップ２１３３における識別に基づきキャンセルイベントか否かを判断する。キャンセルイベントと判断された場合、アプレット４１０はステップ２１３８でキャンセル状態へ移る。そして、ステップ２１３９でドキュメント処理がキャンセルとしてループ終了にする。キャンセルイベントと判断されなかった場合、ステップ２１４０に遷移する。
【０１０９】
ステップ２１４０でアプレット４１０はページプログレスのイベント（例えば９０６など）およびページ変更データを処理する。
【０１１０】
ステップ２１４１でアプレット４１０は識別に対応するイベントの進行状態を示す時間表および時間管理テーブルを更新する。ステップ２１４１でアプレット４１０はグラフのプロットを更新し、ステップ２１４２でプロット間の接続線を更新する。
【０１１１】
ドキュメント・ページの処理が終了すると、アプレット４１０はステップ２１４３でループをぬける。
【０１１２】
アプレット４１０は、各所から送信されたイベントの共有手段は提供するが、印刷処理を実行している各プロセスへキャンセルの指示はしない。
【０１１３】
ステップ２１５１でアプレット４１０は、ユーザが確認できるように一定時間経過を待ち、その後ステップ２１５２でグラフを消去する。ステップ２１６１でアプレット４１０はイベント元ごとの時間表を解放、ステップ２１６２で時間管理テーブルを解放、ステップ２１６３でページ管理テーブルを解放する。
【０１１４】
図２１でアプレット４１０における印刷処理の進捗の表示に関するオプション設定の処理をフローチャートを用いて説明する。本処理は、図１９で示す処理の後に実行される。
【０１１５】
ステップ２２０２でアプレット４１０は、図１８で示した設定において進捗表示がＯＦＦに設定されている場合、ステップ２２０３で実際の表示をおこなわないよう制御する（ＯＦＦ）。進捗表示がＯＮと設定されている場合は、ステップ２２０５に遷移する。
【０１１６】
アプレット４１０はステップ２２０５以降で図１８の設定画面を介して設定されたＯｐｔｉｏｎを識別する。
【０１１７】
ステップ２２０６で、アプレット４１０は、設定項目“しおりがあるとき”がＯＮか否か（チェックされているか否か）を判断する。設定項目“しおりがあるとき”がＯＦＦの場合、ステップ２２０８に遷移する。設定項目“しおりがあるとき”がＯＮで、前述のステップ２０２３のＢを通過していない（ステップ２２０７）なら、ステップ２２０３でアプレット４１０は進捗表示を行わないよう制御する（ＯＦＦ）。ステップ２０２３のＢを通過してい場合はステップ２２０８に遷移する。
【０１１８】
ステップ２２０８でアプレット４１０は、設定項目”ジョブが大きいとき”がＯＮか否か（チェックされているか否か）を判断する。ここで設定項目”ジョブが大きいとき”がＯＮと判断された場合、ステップ２２０９のＤを経由して、ステップ２２１０に遷移する。設定項目”ジョブが大きいとき”がＯＦＦと判断された場合、そのままステップ２２１０に遷移する。
【０１１９】
ステップ２２１０でアプレット４１０は、設定項目”排紙に時間がかかっているとき”がＯＮか否か（チェックされているか否か）を判断する。ここで設定項目”排紙に時間がかかっているとき”がＯＮと判断された場合、ステップ２２１１のＥを経由して、ステップ２２１２に遷移する。設定項目”排紙に時間がかかっているとき”がＯＦＦと判断された場合、そのままステップ２２１２に遷移する。
【０１２０】
ステップ２２１２でアプレット４１０は、Ｄ（ステップ２２０９）及びＥ（ステップ２２１１）を経由したかを判断する。Ｄ及びＥを経由していれば、ステップ２２１３でアプレット４１０は表示無効で動作開始し、ステップ２２２１以降の処理による判定により実際の表示を行うように制御することになる（ＯＦＦ→ＯＮ）（ステップ２２１４）。Ｄ及びＥを経由していなければ、アプレット４１０は実際の表示を行うように制御する（ＯＮ）。
【０１２１】
ステップ２２２１以降は動作中の表示切り替えの判定である。ステップ２２２２でアプレットによる進捗表示を行うか否かの設定がステップ２２１４での設定（ＯＦＦ−＞ＯＮ）で動作しているか否かを判定する。設定（ＯＦＦ−＞ＯＮ）で動作している場合、アプレット４１０はジョブサイズあるいはページ処理時間が規定閾値を超えたとき（ステップ２２２３）に、ステップ２２２４で表示を有効に切り替える。ステップ２２２５でアプレット４１０は表示をＯＮとし、図１５や図１６に示すような表示を行うよう制御する。
【０１２２】
現在、印刷処理に用いる文書ファイルはオープンな電子ドキュメント形式であり、スプールファイル形式と位置付けられる文書ファイルであれば、下位の印刷プロセスはその内容を参照できるようになる。本発明においては、このプロセスの位置付けの変更にあわせ、従来の印刷状態表示がもっていた課題を改善する。
【０１２３】
具体的には、文書ファイル（ドキュメント）の文書構造（しおりの構造）に関する情報をもちい具体性のある表示が行える。また、表示内容として、ホストコンピュータ内の複数のフィルタにおける処理の進捗、プリンタから取得した印刷後の排紙の情報を更に反映する。つまり、しおりの情報と印刷パスにおける各プロセスの処理の進捗を識別可能に表示することができる。よって、ユーザは、現在何ページ目をどこで処理していて、もしくは印刷が終了していて、更にそのページはどのような内容であったかをしおりの情報から理解することができる。
【０１２４】
（実施例２）本システムの応用例１
図２２をもちいて、本システムの応用例１を説明する。
【０１２５】
フィルタ・パイプライン２３０３、アプレット２３１０、印刷状況表示部２３１１、これまで説明した本システムの各印刷プロセスをプリンタ１５００の中に配置されている。本実施例においては、プリンタは自身の表示部に印刷データの進捗表示を行う。
【０１２６】
本実施例の特徴として、共通ドキュメント４０５がプリンタ１５００に渡されると、アプレット２３１０の標準ウィンドウ２３２１が表示される。そのウィンドウをタップ（２３２２）すると拡張ウィンドウ２３２３が表示される。なお、リモートアクセス手段をもちい、アプレット２３１０の動作および表示をホスト側から参照することも可能である。
【０１２７】
（実施例３）本システムの応用例２
図２３、図２４をもちいて本システムの応用例２を説明する。
【０１２８】
図２３は、応用例２の概要図である。本システムは、ホストコンピュータの印刷プロセスにおいて追加プログラムによる追加プロセスがある場合、その追加プロセスも含めた印刷プロセスの判断やその進捗の表示方法をアプレット４１０により提供する。例えば追加プロセスとは、印刷される画像をログとして取得するといった印刷監視処理に係るプロセスなどを示す。本応用例では印刷監視系フィルタの存在をアプレット経由でユーザに認識させ、アプレットの進捗表示のカスタマイズに利用することを目的とする。
【０１２９】
フィルタ・パイプライン４０３内の追加プロセスＡＡＡは、ハンドラ９００へ登録イベント発生時にイベントを送出する。印刷プロセスが送信するプロセス追加イベント（２４１１）はプロセスの”名称”をパラメータに持つ。印刷プロセスが送信するコメント設定イベント（２４１２）は、対象プロセス名と表示する“文字列”、動作、色をパラメータに持つ。印刷プロセスが送信するプロット設定イベント（２４１３）は、対象プロセス名と表示する形状、動作、色をパラメータに持つ。その形状パラメータは長方形／正方形／円／楕円、動作パラメータは、点灯／点滅／消灯のコマンドがある（２４１４）。
【０１３０】
ＩＴ管理者がプリンタドライバ４０３のフィルタ・パイプラインにＡＡＡという名称の印刷データの監視用の追加フィルタを設置する。この監視用フィルタが動作していることをアプレット経由でユーザに認識させる処理について説明する。
【０１３１】
プロセスＡＡＡは、自身のプロセスをハンドラへ登録、コメントに”―ＡＡＡフィルタ  監視中―”の文字列を設定、プロットに長方形、点滅を設定する。アプレット４１０の拡張ウィンドウ２４２１にはプロセスＡＡＡのコメント２４２２と、グラフ２３２３上のプロット２４２４が追加される。
【０１３２】
図２４は、応用例２における処理を以下、フローチャートを用いて説明する。
【０１３３】
印刷プロセスのイベント送信（２５００）処理について説明する。
【０１３４】
ステップ２５０１で印刷プロセスはプロセス追加イベントを送信する。ステップ２５０２で印刷プロセスは、コメント設定イベントを送信する。ステップ２５０３で印刷プロセスは、プロット設定イベントを送信する。
【０１３５】
アプレットのイベント受信（２５１０）処理について説明する。
【０１３６】
ステップ２５１１でアプレット４１０は、受信したプロセス追加イベントに基づき追加プロセスをイベント元リストに追加する。ステップ２５１２でアプレットは受信したコメント設定を保存する。ステップ２５１３で、アプレットは受信したプロット設定を保存する。
【０１３７】
アプレットのコメント表示（２５２０）処理について説明する。
【０１３８】
アプレット４１０は、コメント設定がある（ステップ２５２１）なら、ステップ２５２２で保存されているコメントを順にパラメータを設定しながら表示する。
【０１３９】
アプレットのプロット表示（２５３０）処理について説明する。
【０１４０】
アプレット４１０は、プロット設定がある（ステップ２５３１）なら、ステップ２５３２で保存されている該当プロットを指定パラメータで描画する。
【０１４１】
ここまで説明をおこなってきた印刷進捗の表示と制御は、表示される印刷状況を情報として記録および配信する処理に適用できることはいうまでもない。情報を共通ドキュメントに埋め込む、情報をログに残す、あるいは転送する場合も同様とみなせる。
【０１４２】
なお、本発明は、複数の機器（例えばコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１４３】
また、本発明の目的は、前述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が読出し実行することによっても達成される。
【０１４４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１４６】
また、前述のプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１４７】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１４８】
【図１】本発明の実施形態に係る印刷システムの構成を示すブロック図
【図２】コンピュータ３０００における印刷処理のための一構成を示す図
【図３】ＧＤＩ印刷パスにおける従来形態を示す図
【図４】ＸＰＳ印刷パスにおける本システム概要を示す図
【図５】本システムの構成概要を示す図
【図６】ＸＰＳスプールファイルの構造を示す図
【図７】本システムのへの印刷パスからの情報の入力を示す図
【図８】しおりの一般的な一例を示す図
【図９】本システムのフィルタからの情報の入力を示す図
【図１０】本システムのプリンタからの情報の入力を示す図
【図１１】本システムのアプレットおよびそのデータ構成の一例を示す図
【図１２】本システムの進捗表示の構成パターンの概念を示す図
【図１３】本システムのメッセージでの進捗表示の例を示す図
【図１４】本システムの動作の流れの一例を示す図
【図１５】本システムの１次元グラフでの進捗表示の例を示す図
【図１６】本システムの２次元グラフでの進捗表示の例を示す図
【図１７】本システムの２次元グラフでの表示詳細の例を示す図
【図１８】本システムのオプション設定の操作部の例を示す図
【図１９】本システムのメッセージでの進捗表示のフローチャート
【図２０】本システムのグラフでの進捗表示のフローチャート
【図２１】本システムのオプション設定のフローチャート
【図２２】本システムの応用例１を示す図
【図２３】本システムの応用例２を示す図
【図２４】本システムの応用例２のフローチャート
【符号の説明】
【０１４９】
１  ＣＰＵ
１５００  プリンタ
３０００  コンピュータ
【図１】
2009151702.tif 000003
【図２】
2009151702.tif 000004
【図３】
2009151702.tif 000005
【図４】
2009151702.tif 000006
【図５】
2009151702.tif 000007
【図６】
2009151702.tif 000008
【図７】
2009151702.tif 000009
【図８】
2009151702.tif 000010
【図９】
2009151702.tif 000011
【図１０】
2009151702.tif 000012
【図１１】
2009151702.tif 000013
【図１２】
2009151702.tif 000014
【図１３】
2009151702.tif 000015
【図１４】
2009151702.tif 000016
【図１５】
2009151702.tif 000017
【図１６】
2009151702.tif 000018
【図１７】
2009151702.tif 000019
【図１８】
2009151702.tif 000020
【図１９】
2009151702.tif 000021
【図２０】
2009151702.tif 000022
【図２１】
2009151702.tif 000023
【図２２】
2009151702.tif 000024
【図２３】
2009151702.tif 000025
【図２４】
2009151702.tif 000026