(57)【要約】【課題】  オペレーティングシステムとの親和性を保ち、簡易な構成を有しつつ、正確な物理総ページ数の算出を可能とすること。【解決手段】  ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得し（Ｓ１２）、挿入ページ数を取得し（Ｓ１３）、取得した論理ページ数と取得した挿入ページ数とに基づき物理ページ数を表示すること（Ｓ１５）を特徴とする。【選択図】  図３
2005148926.tif 000002
【特許請求の範囲】
【請求項１】
ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得する第１取得ステップと、
挿入ページ数を取得する第２取得ステップと、
前記第１取得ステップにより取得した論理ページ数と前記第２取得ステップにより取得した挿入ページ数とに基づき物理ページ数を表示するステップとを有することを特徴とする表示方法。
【請求項２】
論理ページ数を取得する第１取得ステップと、
分割印刷の印刷部分の数を取得する第２取得ステップと、
前記第１取得ステップにより取得した論理ページ数と前記第２取得ステップにより取得した分割印刷の印刷部分の数とに基づき物理ページ数を表示するステップとを有することを特徴とする表示方法。
【請求項３】
ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得する第１取得ステップと、
割り付け印刷の割り付け数と部数と分割印刷の印刷部分の数と挿入ページ数とを取得する第２取得ステップと、
前記第１取得ステップにより取得した論理ページ数と前記第２取得ステップにより取得した割り付け印刷の割り付け数と部数と分割印刷の印刷部分の数と挿入ページ数とに基づき物理ページ数を表示するステップとを有することを特徴とする表示方法。
【請求項４】
前記第２取得ステップは、オペレーティングシステムで標準の仕組みから取得することを特徴とする請求項１、２、または３記載の表示方法。
【請求項５】
前記第２取得ステップは、ユーザインターフェースドライバから取得することを特徴とする請求項１、２、または３記載の表示方法。
【請求項６】
ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得する第１取得ステップと、
挿入ページ数を取得する第２取得ステップと、
前記第１取得ステップにより取得した論理ページ数と前記第２取得ステップにより取得した挿入ページ数とに基づき物理ページ数を表示するステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項７】
論理ページ数を取得する第１取得ステップと、
分割印刷の印刷部分の数を取得する第２取得ステップと、
前記第１取得ステップにより取得した論理ページ数と前記第２取得ステップにより取得した分割印刷の印刷部分の数とに基づき物理ページ数を表示するステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項８】
ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得する第１取得ステップと、
割り付け印刷の割り付け数と部数と分割印刷の印刷部分の数と挿入ページ数とを取得する第２取得ステップと、
前記第１取得ステップにより取得した論理ページ数と前記第２取得ステップにより取得した割り付け印刷の割り付け数と部数と分割印刷の印刷部分の数と挿入ページ数とに基づき物理ページ数を表示するステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項９】
前記第２取得ステップは、オペレーティングシステムで標準の仕組みから取得することを特徴とする請求項６、７または８記載のコンピュータ読み取り可能なプログラム。
【請求項１０】
前記第２取得ステップは、ユーザインターフェースドライバから取得することを特徴とする請求項６、７または８記載のコンピュータ読み取り可能なプログラム。
【請求項１１】
ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得する第１取得手段と、
挿入ページ数を取得する第２取得手段と、
前記第１取得手段により取得した論理ページ数と前記第２取得手段により取得した挿入ページ数とに基づき物理ページ数を表示する手段とを有することを特徴とする情報処理装置。
【請求項１２】
論理ページ数を取得する第１取得手段と、
分割印刷の印刷部分の数を取得する第２取得手段と、
前記第１取得手段により取得した論理ページ数と前記第２取得手段により取得した分割印刷の印刷部分の数とに基づき物理ページ数を表示する手段とを有することを特徴とする情報処理装置。
【請求項１３】
ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得する第１取得手段と、
割り付け印刷の割り付け数と部数と分割印刷の印刷部分の数と挿入ページ数とを取得する第２取得手段と、
前記第１取得手段により取得した論理ページ数と前記第２取得手段により取得した割り付け印刷の割り付け数と部数と分割印刷の印刷部分の数と挿入ページ数とに基づき物理ページ数を表示する手段とを有することを特徴とする情報処理装置。
【請求項１４】
前記第２取得手段は、オペレーティングシステムで標準の仕組みから取得することを特徴とする請求項１１、１２、または１３記載の情報処理装置。
【請求項１５】
前記第２取得手段は、ユーザインターフェースドライバから取得することを特徴とする請求項１１、１２、または１３記載の情報処理装置。
【請求項１６】
印刷される文書に対するスタンプまたは背景を有効にするか無効にするかを設定する設定画面を表示する表示ステップと、
前記スタンプまたは背景の設定に基づき挿入ページ数を設定する設定ステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項１７】
ポスター印刷に関する設定画面とスタンプまたは背景を有効にするか無効にするかを設定する設定画面とを表示する表示ステップと、
前記ポスター印刷に関する設定に基づきポスター印刷の分割数あるいは印刷指定部分の数を設定し、前記スタンプまたは背景の設定に基づき挿入ページ数を設定する設定ステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項１８】
前記設定ステップは、オペレーティングシステムで標準の仕組みに設定することを特徴とする請求項１６、または１７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタにより印刷を行わせた場合の、物理総ページ数を正しく表示する表示方法、プログラム、情報処理装置に関する。
【背景技術】
【０００２】
プリンタドライバプログラムが提供する印刷機能として、１枚の用紙中に複数ページの印刷データをレイアウトして印刷する機能（以下、割り付け印刷）や、一つのページを複数部ずつ印刷する機能（以下、部数印刷）がある。マイクロソフト社のオペレーティングシステムであるＷｉｎｄｏｗｓ（登録商標）上でのプリンタによる印刷処理過程において、ユーザの入力よる印刷設定がこのそれぞれの機能を利用するものであった場合、プリンタドライバを構成するモジュールの一つであるユーザインタフェースドライバは、入力された印刷設定に応じて、１枚の用紙中に割り付けるページ数や、複製する部数を、情報として外部プログラムに提供する手段が標準手段としてオペレーティングシステムから用意されている。外部プログラムはユーザインタフェースドライバが提供するそれらの情報を元に、印刷に必要となる用紙の枚数、すなわち物理総ページ数（印刷される用紙の数）を正しく計算する事が可能である。例えば、アプリケーションが生成するドキュメントの論理総ページ数がＳページであり、ユーザが一枚の用紙中にＮページずつを割り付ける設定にしていた場合、ユーザインタフェースドライバが情報として提供する割り付け設定値「Ｎ」を元に、印刷に必要となる用紙の枚数は、（Ｓ＋Ｎ−１）／Ｎの商と算出することができる。またあるいは、同じドキュメントをＣ部印刷する設定にしていた場合、印刷に必要となる用紙の枚数はＣ＊Ｓと算出することができる。またあるいは、その両方の設定がされていた場合、印刷に必要となる用紙の枚数はＣ＊（Ｓ＋Ｎ−１）／Ｎの商と算出することができる。
【０００３】
しかし、プリンタドライバが提供する印刷機能には、利用することによって、アプリケーションが印刷データとして生成する論理総ページ数と実際の印刷に必要となる用紙の枚数、即ち物理総ページ数とが一致しなくなるものが他にも存在する。
【０００４】
例えば、”社外秘”や”ＳＡＭＰＬＥ”などのスタンプを文書の上に押印するのを模して、それらの文字や画像をオリジナルの印刷データに追加する、あるいは文書の背景に模様などを印刷する「スタンプ・背景印刷」と呼ばれる機能や、オリジナルの印刷データを拡大した後分割して複数の用紙に印刷し、それらをユーザが貼り合わせることにより大きな用紙（ポスター）にする「ポスター印刷」と呼ばれる機能などである。
【０００５】
オリジナルの印刷データにデータを追加して印刷する前記「スタンプ・背景印刷」機能（印刷される文書の上からスタンプ画像を合成する機能・背景画像の上に印刷される文書を合成する機能）を提供する方法のひとつに、アプリケーションが印刷命令をＥＭＦファイルに書き出し始める時にプリンタドライバのユーザインタフェースモジュールがスタンプだけを描画したＥＭＦページを追加し、ジョブ内のページを自由にプレイする事ができるプリントプロセッサがドライバに対して同じ紙の上にスタンプだけのページをプレイし、次にアプリケーションが作成した通常のページをプレイする事でアプリケーションの印字データにスタンプを重ねるようにする方法（特許文献1）がある（以下、ページ挿入印刷と記す）。ここでＥＭＦとは、Ｗｉｎｄｏｗｓ（登録商標）環境での印刷処理を高速化するメカニズムであり、Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムでは、アプリケーションの印刷処理を、一連のＧＤＩコマンド（Ｗｉｎｄｏｗｓ（登録商標）のグラフィックスＡＰＩ）として一時ファイル（ＥＭＦ）に記録しておき、その後バックグラウンドでこのＧＤＩコマンドを最終的なプリンタ用の印刷データに変換、出力する。
【０００６】
また、「ポスター印刷」機能（印刷すべき文書１ページを拡大して複数ページに印刷する機能）を提供する方法のひとつに、このＥＭＦスプール時にプリントプロセッサがＧＤＩコマンドによるアプリケーションの描画命令の拡大／移動を行う方法がある（以下、分割印刷と記す）。この機能において、従来のＷｉｎｄｏｗｓ（登録商標）では、ユーザインタフェースモジュールがユーザによる分割の数に関する設定値を外部に伝える手段がないため、オリジナルのドキュメント（論理総ページ数）が１ページであった場合、用紙４枚に分割して印刷する場合でも、外部プログラムは物理総ページ数も１ページとしか算出できなかった。また、このポスター印刷機能において、ユーザは、分割された部位のうち印刷したい個所だけを選択して印刷する機能を有している場合もあるが、この場合も同理由により、外部プログラムは物理総ページ数を１ページとしか算出できなかった。
【０００７】
このため、外部プログラムが正確な物理総ページ数を知るための方法として、上記方法の中で実際に物理的レイアウトの変更を司るプリントプロセッサと外部プログラムの間に特別な通信手段を用意し、物理総ページ数情報をプリントプロセッサから取得する方法（特許文献２）などが提案されている。
【特許文献１】特開２００２−３３３９５９
【特許文献２】特開２００３−１６７７１８
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１の「スタンプ・背景印刷」機能において、従来のＷｉｎｄｏｗｓ（登録商標）では、ユーザインタフェースドライバがスタンプ、即ちＥＭＦファイル挿入に関する設定値を外部に伝える手段がないため、挿入ページを含んだＥＭＦページの総数（論理総ページ数）が２ページであった場合、外部プログラムは物理総ページ数も２ページとしか算出できなかった。つまり、オリジナルのドキュメントが１ページで、スタンプによる挿入ＥＭＦページが１ページである場合、実際の総ページ数（物理総ページ数）が１ページであっても、２ページとしか算出できなかった。また、上記特許文献２のような特別な方法では、プリンタベンダー（ドライバソフトウェアベンダー）以外が提供する外部プログラムがそれらの情報を取得するのは困難であった。
【０００９】
本発明は、上記背景技術に鑑みて成されたもので、オペレーティングシステムとの親和性を保ち、簡易な構成を有しつつ、正確な物理総ページ数の算出を可能とする事を目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の情報処理装置は、
ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得する第１取得手段と、
挿入ページ数を取得する第２取得手段と、
前記第１取得手段により取得した論理ページ数と前記第２取得手段により取得した挿入ページ数とに基づき物理ページ数を表示する手段とを有することを特徴とする。
【００１１】
また、本発明の情報処理装置は、
論理ページ数を取得する第１取得手段と、
分割印刷の印刷部分の数を取得する第２取得手段と、
前記第１取得手段により取得した論理ページ数と前記第２取得手段により取得した分割印刷の印刷部分の数とに基づき物理ページ数を表示する手段とを有することを特徴とする。
【００１２】
また、本発明の情報処理装置は、
ドキュメントのページ数と特定機能用の挿入ページ数とを含む論理ページ数を取得する第１取得手段と、
割り付け印刷の割り付け数と部数と分割印刷の印刷部分の数と挿入ページ数とを取得する第２取得手段と、
前記第１取得手段により取得した論理ページ数と前記第２取得手段により取得した割り付け印刷の割り付け数と部数と分割印刷の印刷部分の数と挿入ページ数とに基づき物理ページ数を表示する手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明により、ドライバの特殊印刷機能を使用した場合においても、ユーザが正確な物理総ページ数を把握することが可能となる。また、既に情報授受の標準手段が用意されているユーザインタフェースドライバと呼び出し元アプリケーション、またはオペレーティングシステムとの間の情報セットを拡張するだけであるため、比較的簡単に物理総ページ数を外部プログラムに伝達するシステムを設計することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について説明する。
【００１５】
まず、図１は本発明の実施形態における印刷システムのハードウェア構成を示すブロック図である。本図において、９０１は、ＣＲＴ表示装置であり、図２に示すユーザインタフェースドライバが提供する印刷設定ダイアログ等を表示する。９０２はＣＲＴＣで表示装置用のコントローラである。９０３は、キーボードなどのデータ入力装置であり、９０４は、キーボードコントローラである。９０５は、ポインティングデバイス等の座標入力装置であり、９０６は、ポインティングデバイスコントローラである。９０７は、装置全体の制御を司るＣＰＵである。９０８は、ブートプログラムなどを記憶しているＲＯＭである。９０９は、オペレーティングシステム、各アプリケーションプログラムやプリンタドライバプログラムを格納したり、さらにはワークエリアとしても利用されるＲＡＭである。９１０は、オペレーティングシステム、各アプリケーションプログラムとプリンタドライバプログラム、フォントデータを記憶しており、さらにはスプールファイル等を一時的に記憶するハードディスク装置であり、９１１はハードディスクコントローラである。９１２は、可搬性記憶媒体の駆動装置であるフロッピー（登録商標）ディスク装置であり、９１３はフロッピー（登録商標）ディスクコントローラである。９１４は、インターフェースであり、インターフェースケーブルを介してインクジェットプリンタなどの印刷装置９１５に接続される。９１６は、各デバイスを接続するバスである。本装置に電源が投入されると、ＣＰＵ９０７はＲＯＭ９０８に格納されているブートプログラムに従って起動し、ハードディスク装置９１０からオペレーティングシステムをロードし、ユーザの操作待ち状態になる。そして、ユーザからＫＢ９０３またはＰＤ９０５からアプリケーションを介して印刷指示やプリンタドライバの印刷設定変更指示を受けた場合、もしくは自動的に起動するように設定されている場合は、ハードディスク装置９１０に格納されているプリンタドライバプログラムがＲＡＭ９０９にロードされ実行される。
【００１６】
次に、本発明のソフトウェア制御について具体例を用いて説明する。
【００１７】
＜ページ挿入印刷時＞
図２は、本発明による印刷システムの実施形態を示すブロック図である。図２において、本発明に関るモジュールは、挿入設定処理部と挿入ページ生成処理部を兼備するユーザインタフェースドライバ３である。なお本実施形態では、オペレーティングシステムとしてＷｉｎｄｏｗｓ（登録商標）を用いた場合を示すが、対象とするオペレーティングシステムに同様のメカニズムがあれば、本発明はこれに限定されない。
【００１８】
図２のシステムは、上位装置であるパーソナルコンピュータ等でアプリケーション１が作成した文書等の印刷用データを、ＧＤＩ２を通じてオペレーティングシステムで標準のＥＭＦスプールファイル４に一時保持し、これをビットマップデータに変換してプリンタ７に供給して印刷するよう構成されている。
【００１９】
ユーザインタフェースドライバ３は、一般に印刷に使用する用紙サイズや印刷方向、その他の属性を設定する機能を提供する。同時に本発明におけるユーザインタフェースドライバ３は用紙サイズ等の属性の他にスタンプ等の模様の属性を設定する機能を提供する模様設定処理部を有し、模様の属性が設定された場合、設定された模様の属性をアプリケーション１に返却し、さらに外部プログラムに提供する情報セット５に、後述の挿入する模様ページの数をセットする機能を有している。外部プログラムは、ユーザインタフェースドライバ３にこの情報セットを要求し、情報セットを受け取った外部プログラムは、挿入される模様ページの数を知ることができる。ユーザインタフェースドライバ３による情報のセットは、外部プログラムからの情報要求を受け取ってからでもよい。
【００２０】
以後補足であるが、アプリケーション１は任意の文書を作成し、印刷するために印刷システムに印刷開始を通知する。ここで、ＧＤＩ２はユーザインタフェースドライバ３にアプリケーションによる印刷開始の印刷イベントを通知する。ユーザインタフェースドライバ３は印刷開始の印刷イベントを受け取ると、アプリケーションに成り代わり模様のみ描画されたページを生成する。
【００２１】
続いて、アプリケーション１は、任意の文書のページデータをＧＤＩ２に供給し、印刷処理を続行する。ここで、ＧＤＩ２を経由した印刷データはＥＭＦスプールファイル４に格納される。従って、ＥＭＦスプールファイル４には、ユーザインタフェースドライバ３が生成した模様ページの描画データとアプリケーション１が生成した文書ページの描画データが格納される。
【００２２】
プリントプロセッサ６は、Ｗｉｎｄｏｗｓ（登録商標）において、印刷時にＥＭＦスプールファイルから印刷出力情報と印刷データとを読込み、印刷データを１ページずつＧＤＩ２を介してプリンタグラフィクスドライバ７に供給し印刷を行うモジュールであるが、本実施形態におけるプリントプロセッサ６は、同時に模様ページ合成処理部であり、ＥＭＦスプールファイル４から印刷するべき文書データのページと、ユーザインタフェースドライバ３が作成した模様ページとを読み出し、これらを重ね合わせて新たに合成ページを作成しＧＤＩ２に供給する。イメージ生成処理部であるプリンタグラフィックドライバ７は、プリントプロセッサ６が供給した合成ページの印刷データをもとにＧＤＩ２が生成したグラフィック描画コマンドからビットマップデータを生成するモジュールであり、生成したビットマップデータを図に示していないデータ送信部を介してプリンタ８に供給する。出力デバイスであるプリンタ８は、プリンタグラフィックドライバ７から渡された、印刷データのページとスタンプが重ね合わされたビットマップデータを用紙９に対し印刷する。
【００２３】
＜分割印刷時＞
同様に図２を用いて説明する。本発明に関るモジュールは、分割設定処理部を備えるユーザインタフェースドライバ３である。本実施形態でも、オペレーティングシステムとしてＷｉｎｄｏｗｓ（登録商標）を用いた場合を示すが、対象とするオペレーティングシステムに同様のメカニズムがあれば、本発明はこれに限定されない。
【００２４】
図２のシステムは、上位装置であるパーソナルコンピュータ等でアプリケーション１が作成した文書等の印刷用データを、ＧＤＩ２を通じてＥＭＦスプールファイル４に一時保持し、これをビットマップデータに変換してプリンタ８に供給して印刷するよう構成されている。
【００２５】
ユーザインタフェースドライバ３は、一般に印刷に使用する用紙サイズや印刷方向、その他の属性を設定する機能を提供する。同時に本発明におけるユーザインタフェースドライバ３は用紙サイズ等の属性の他に、分割印刷等の分割数を設定する機能、さらには分割後の各部分を全て印刷するのではなく、実際に印刷する部分を指定する機能を提供する分割設定処理部を有し、ポスター（分割）印刷機能が設定された場合、設定された分割の設定をアプリケーション１に返却し、さらに外部プログラムに提供する情報セット５に、分割数、あるいは分割後に実際に印刷する部分を指定できる機能を有する場合は印刷する部分の数をセットする機能を有している。外部プログラムは、ユーザインタフェースドライバ３にこの情報セットを要求し、情報セットを受け取った外部プログラムは、分割印刷されるページの数を知ることができる。ユーザインタフェースドライバ３による情報のセットは、外部プログラムからの情報要求を受け取ってからでもよい。
【００２６】
以後補足であるが、アプリケーション１は任意の文書を作成し、印刷するために印刷システムに印刷開始を通知する。ここで、ＧＤＩ２はユーザインタフェースドライバ３にアプリケーションによる印刷開始の印刷イベントを通知する。
【００２７】
続いて、アプリケーション１は、任意の文書のページデータをＧＤＩ２に供給し、印刷処理を続行する。ここで、ＧＤＩ２を経由した印刷データはＥＭＦスプールファイル４に格納される。
【００２８】
プリントプロセッサ６は、分割設定がされていることをユーザインタフェースドライバ３から通知されると、ＥＭＦスプールファイル４から印刷するべき文書データのページを読み出し、設定に応じてデータの拡大、縮小、移動などを行い、プリンタグラフィックドライバ７へ供給する。イメージ生成処理部であるプリンタグラフィックドライバ７は、プリントプロセッサ６が供給した印刷データをもとに生成したビットマップデータを、図に示していないデータ送信部を介してプリンタ８に供給する。
【００２９】
出力デバイスであるプリンタ８は、プリンタグラフィックドライバ７から渡された、拡大・縮小により分割された印刷データのビットマップデータを用紙１０に対し印刷する。
【００３０】
上記それぞれの機能が利用されていない場合、情報セットにセットする値は、挿入ページ数を０、分割数を１とセットしてもよいし、別の何らかの方法によって各値に信頼性が無いことを外部プログラムに伝えた上で、適当な値をセットしてもよい。
【００３１】
以下、本発明の実施形態を説明する。
【００３２】
＜実施形態１＞
プリントスプーラ（アプリケーション１からＧＤＩ２を経由して供給される任意の文書のページデータをＥＭＦスプールファイル４に格納するオペレーティングシステムのプログラム）は、印刷命令により発行された印刷ジョブを記憶しておき、順次プリントアウトできるようにするためのソフトウェア／ハードウェアである。このプリントスプーラに入った印刷ジョブを監視するプログラムとして、プリントキュー監視プログラムが、オペレーティングシステムの一部機能、あるいはサードパーティによるユーティリティソフトとして提供されている。
【００３３】
図３は、本発明によるユーザインタフェースドライバから提供される情報セットを利用した、上記プリントキュー監視プログラムにおける物理総ページ数の算出処理フローを表すフローチャートである。プリントキュー監視プログラムはＳ１２において、ＥＭＦファイルとして格納された印刷データを元に、論理総ページ数Ｓを取得する。続いてＳ１３において、ユーザインタフェースドライバから提供される情報セットを取得する。情報セットには、割り付け印刷における物理１ページ内の元ページ割り付け数Ｎ、部数印刷の部数Ｃ、ポスター等分割印刷の分割数あるいは印刷指定部分の数Ｐ（たとえば、３×３のポスター印刷の場合、Ｐは９となり、また、３×３のポスターの９枚のうちの所望の４枚が指定されている場合、Ｐは４となる）、スタンプ等データ挿入印刷の挿入ページ数Ｉ（たとえば、スタンプが指定されている場合、Ｉは１となり、また、スタンプと背景が指定されている場合、Ｉは２となり、また、背景が指定されている場合、Ｉは１となる）が含まれている。なお、ユーザインターフェースドライバは、ユーザの指示に応じて、割付印刷をするか否かを設定し、かつ割付印刷をする場合に２頁、４ページ等割付印刷の種類をユーザが設定するための設定画面、ポスター印刷をするか否かを指定し、かつポスター印刷をする場合に２×２、３×３等のポスター印刷の種類を選択し、さらに３×３のうちの印刷すべき任意の部分をユーザが設定するための設定画面、部数をユーザが設定するための設定画面、およびスタンプを有効にするか無効にするかをユーザが設定するための設定画面を同じウインドウまたは異なるウインドウに表示する。また、ユーザインターフェースドライバは、ユーザの設定指示に応じて、設定画面で設定された情報を外部提供情報セット５にセットする。たとえば、３×３のポスター印刷がユーザにより設定された場合、Ｐに９とセットし、また、３×３のポスターの９枚のうちの所望の４枚がユーザにより設定された場合、Ｐに４とセットする。スタンプがユーザにより設定された場合、Ｉに１とセットし、また、スタンプと背景とがユーザにより設定された場合、Ｉに２とセットし、また、背景がユーザにより設定された場合、Ｉには１とセットする。また、この情報セットの取得は、印刷ジョブ監視プログラムがユーザインタフェースドライバから直接取得してもよいし、間にオペレーティングシステムが介在し、オペレーティングシステムを構成する何らかのモジュールから取得する形でもよい。続いてＳ１４において、物理総ページ数Ｆについて
【００３４】
【数１】
2005148926.tif 000003
【００３５】
の商を算出する（小数点以下は切り捨て）。ここで、各機能が利用されていない場合、ユーザインタフェースドライバがＮ＝１、Ｃ＝１、Ｐ＝１、Ｉ＝０をセットするように設計されていれば、上記計算式をそのまま適用してよい。また、各値を信頼してはいけない旨の情報が他の何らかの方法によりユーザインタフェースドライバから通知されていれば、上記計算式から、該当する値を削除すればよい。
【００３６】
これにより算出した物理総ページ数Ｆを、Ｓ１５でディスプレイ上に表示する。物理総ページ数を表示した印刷ジョブ監視プログラムの表示例を図４に示す。たとえば、論理ページ数が２５でＳ＝２５、割り付け印刷指定無しで割付数Ｎ＝１、１部印刷で部数Ｃ＝１、ポスター印刷指定なしでＰ＝１、スタンプ指定ありでＩ＝１の場合、Ｆ＝２４となり、ページ数が２４と表示される。また、論理総ページ数が１でＳ＝１、割り付け印刷指定無しで割付数Ｎ＝１、１部印刷で部数Ｃ＝１、２×２のポスター印刷指定でＰ＝４、スタンプ背景指定無しでＩ＝０の場合、Ｆ＝４となり、ページ数が４と表示される。
【００３７】
＜実施形態１における効果＞
本発明の実施形態では、各機能を使用した際に印刷ジョブ監視プログラムに表示される物理総ページ数を正確な値にすることが可能となる。従って、印刷に必要な用紙の正確な枚数をユーザが知ることが可能となる。また、すでにオペレーティングシステムで標準で用意されている、ユーザインターフェースドライバのＤＬＬの関数をコールすることにより外部プログラム（プリントスプーラ等）が取得できる外部提供情報セット（構造体）に、分割印刷の印刷部分の数Ｐと、データ挿入印刷時の挿入ページ数Ｉを追加するだけで、外部プログラム（プリントスプーラ等）が適切な物理ページ数を表示することができる。
【００３８】
＜実施形態２＞
発明の実施形態１の印刷ジョブ監視プログラムの代わりに、印刷ジョブを発行するアプリケーションが本発明の情報セットを利用してもよい。
【００３９】
図５は、本発明によるユーザインタフェースドライバから提供される情報セットを利用した上記アプリケーションプログラムにおいて、物理総ページ数を提示する際のフローチャートである。
【００４０】
Ｓ４１においてユーザによる印刷開始要求を受けたアプリケーションは、Ｓ４２において、オペレーティングシステムあるいはプリンタドライバが提供するプリントキューの一時停止機能を利用し、作成後の印刷データがプリンタにそのまま送られないようにしておく。その後、Ｓ４３において印刷開始命令を発行する。続いて４４においてドライバによる印刷データ作成完了を待ち、印刷データ作成が完了したことを知ると、発明の実施形態１の印刷ジョブ監視プログラムと同様の方法で、Ｓ４６、Ｓ４７、Ｓ４８を経て物理総ページ数を算出する。続いてＳ４９において、印刷に必要な用紙の枚数をディスプレイ上に表示する。この後、ユーザがその旨を確認したことがＳ５０においてボタン押下などにより検出されたら、Ｓ４２で一時停止していたプリントキューの一時停止を解除し、プリンタによる印字を開始させる。
【００４１】
Ｓ４２、Ｓ５１における印刷データストリームの停止・再開は、プリントキューの一時停止機能の利用に限らない。データストリームを停止し、ユーザに必要枚数を確認させることが可能であれば、他の何らかの方法によるものでもよい。
【００４２】
＜実施形態２における効果＞
本発明の実施形態では、各機能を使用した際に印刷元のアプリケーションが、実際の印刷前に、ユーザに対して正確な物理総ページ数を通知することが可能となる。従って、印刷に必要な用紙の正確な枚数をユーザが知ることが可能となる。
【００４３】
＜実施形態３＞
プリンタの状態や印刷状況をリアルタイムかつグラフィカルに監視するユーティリティプログラムとしてプリントステータスモニタなどが開発されているが、このようなプログラムにおいて、ユーザに印刷の進行状況を表示することがある。
【００４４】
図６は、本発明によるユーザインタフェースドライバから提供される情報セットを利用したプリントステータスモニタにおいて、ページ数を元にした印刷の進行状況表示の方法を示すフローチャートである。
【００４５】
Ｓ６２、Ｓ６３、Ｓ６４において、実施形態１と同様の方法で、物理総ページ数を算出する。続いて、プリンタとの双方向通信機能を利用して、プリンタが現在印刷しているページ数ＸをＳ６５において取得する。続いてＳ６６において、この現在ページＸと６４において算出した物理総ページ数Ｆとを合わせ、ディスプレイ上に「Ｆページ中のＸページ目を印刷中」といった旨の進行状況を表示する。続いてＳ６７において、プリンタとの双方向通信機能を利用し、印刷が終了したかどうかをチェックする。印刷が続いていれば引き続きＳ６５に戻り、進行状況表示を続ける。印刷が終了していた場合は、終了した旨を通知するなどして進行状況表示を終了する。
【００４６】
図７は上記プリントステータスモニタの表示例である。
【００４７】
＜実施形態３における本発明の効果＞
本発明の実施形態では、プリンタの状態や印刷状況を監視するプログラムにおいて、ドライバの各種機能を利用した場合でも、ページ数を元にした印刷の進行状況を正確に表示することが可能となる。従って、全体のうちどれだけ印刷が進んだか、あと何枚待てばよいか、をユーザが正確に把握することが可能となる。
【００４８】
＜実施形態４＞
実施形態１、２、３のそれぞれにおいて、各外部プログラムが本発明によるユーザインタフェースが提供する情報セットをそのまま利用するのではなく、オペレーティングシステムの構成要素、例えばスプーラサービスなどがあらかじめ該情報セットを元に算出した物理総ページ数を保持しておき、各外部プログラムは、その計算結果をスプーラサービスから取得する、というシステム構成にしてもよい。
【００４９】
＜実施形態４における効果＞
本発明の実施形態では、印刷開始時以外は動作が必須でないユーザインタフェースドライバが動作していなくても、印刷中に常に動作しているオペレーティングシステムの構成要素が正確な総物理ページ数を保持するため、外部プログラムが印刷中に総物理ページ数を必要とした場合にすぐに値を取得することが可能となる。従って、印刷中のいかなるタイミングにおいても、総物理ページ数を元にした機能をユーザに提供することが可能となる。
【００５０】
本発明の実施の形態は、ユーザインタフェースドライバが印刷元のプロセスから呼び出されるモジュールであり、呼び出し元のプロセスおよびオペレーティングシステム以外との情報授受の標準手段が用意されていない場合などに有効である。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態における印刷システムのハードウェア構成を示すブロック図である。
【図２】本発明による印刷システムの実施形態を示すブロック図である。
【図３】本発明を利用したプリントキュー監視プログラムにおける物理総ページ数の算出処理フローを表すフローチャートである。
【図４】物理総ページ数を表示した図３の印刷ジョブ監視プログラムの表示例である。
【図５】本発明を利用したアプリケーションプログラムにおいて、物理総ページ数を提示する際のフローチャートである。
【図６】本発明を利用したプリントステータスモニタにおける印刷の進行状況表示の方法を示すフローチャートである。
【図７】図６のプリントステータスモニタの表示例である。
【図１】
2005148926.tif 000004
【図２】
2005148926.tif 000005
【図３】
2005148926.tif 000006
【図４】
2005148926.tif 000007
【図５】
2005148926.tif 000008
【図６】
2005148926.tif 000009
【図７】
2005148926.tif 000010