(57)【要約】【課題】  ユーザーの意図する形態で印刷処理を実行することができるか否かをアプリケーションから印刷出力を行う前にユーザーが認識可能な仕組みを提供する。【解決手段】  ステイプル綴じを行うことがユーザーによって指定されると、アプリケーション２００は、最大ステイプル可能枚数をプリンタドライバ２０２に問い合わせ、実際にステイプル綴じする原稿の枚数と、前記最大ステイプル可能枚数とを比較する。ユーザーが発行しようとしているジョブが、ステイプル綴じすることが不可能なものである場合には、現在の設定ではステイプル綴じすることが不可能であることと、確実にステイプル綴じすることができる設定の候補とをユーザーに知らせる。そして、確実にステイプル綴じすることができる設定を含む印刷設定の候補の中から、ユーザーによって選択された設定で印刷処理を行う。【選択図】  図６
2006040214.tif 000002
【特許請求の範囲】
【請求項１】
印刷文書を印刷処理するための印刷設定をユーザーに指定させるようにするためのアプリケーションと、印刷装置を制御するためのプリンタドライバとを有するホストコンピュータとしての情報処理装置であって、
前記アプリケーションから、前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値を、前記プリンタドライバに問い合わせる問い合わせ手段と、
前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値に関する印刷制限値情報を、前記問い合わせ手段による問い合わせに対する返答として、前記プリンタドライバから取得する取得手段と、
前記取得手段により取得された印刷制限値情報と前記印刷文書のページ数に基づき、前記ユーザーにより指定された印刷設定で前記印刷処理を実行することが可能か否かを判断する判断手段と、
前記判断手段により前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることを表示装置に表示する表示手段とを有することを特徴とする情報処理装置。
【請求項２】
前記表示手段は、前記判断手段により、前記ユーザーにより指定された印刷設定で印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることと、前記印刷装置で前記印刷処理を実行することが可能な設定の候補とを表示装置に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判断手段により前記ユーザーにより指定された印刷設定で印刷処理を実行することが不可能であると判断された場合には、前記印刷装置で前記印刷処理を実行することが可能な設定の候補を求める設定候補演算手段を有し、
前記表示手段は、前記判断手段により前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることと、前記設定候補演算手段により演算された設定の候補とを表示装置に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記印刷設定は、印刷用紙をステイプルで綴じるための設定であり、
前記問い合わせ手段は、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を前記プリンタドライバに問い合わせ、
前記取得手段は、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を表すステイプル可能枚数情報を、前記プリンタドライバから取得し、
前記判断手段は、前記取得手段により取得されたステイプル可能枚数情報に基づき、前記ユーザーにより指定された枚数の印刷用紙をステイプルで綴じることが可能か否かを判断することを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
前記ステイプル可能枚数情報が、用紙の属性毎に格納されたテーブルを有し、
前記問い合わせ手段は、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を前記プリンタドライバに問い合わせる際に、前記ユーザーにより指定された用紙の属性を前記プリンタドライバに出力し、
前記プリンタドライバは、前記問い合わせ手段により出力された用紙の属性に対応付けられて前記テーブルに格納されているステイプル可能枚数情報を、前記アプリケーションに出力する出力手段を有することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記用紙の属性は、前記用紙の大きさと厚さとを含むことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
印刷文書を印刷処理するための印刷設定をユーザーに指定させるようにするためのアプリケーションと、印刷装置を制御するためのプリンタドライバとを有する情報処理装置における印刷処理方法であって、
前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値を、前記アプリケーションから前記プリンタドライバに問い合わせる問い合わせステップと、
前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値に関する印刷制限値情報を、前記問い合わせステップによる問い合わせに対する返答として、前記アプリケーションが前記プリンタドライバから取得する取得ステップと、
前記取得ステップにより取得された印刷制限値情報と前記印刷文書のページ数に基づき、前記ユーザーにより指定された印刷設定で前記印刷処理を実行することが可能か否かを前記アプリケーションが判断する判断ステップと、
前記判断ステップにより前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることを表示装置に表示する表示ステップとを有することを特徴とする印刷処理方法。
【請求項８】
前記表示ステップは、前記判断ステップにより、前記ユーザーにより指定された印刷設定で印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることと、前記印刷装置で前記印刷処理を実行することが可能な設定の候補とを表示装置に表示することを特徴とする請求項７に記載の印刷処理方法。
【請求項９】
前記判断ステップにより前記ユーザーにより指定された印刷設定で印刷処理を実行することが不可能であると判断された場合には、前記印刷装置で前記印刷処理を実行することが可能な設定の候補を求める設定候補演算ステップを有し、
前記表示ステップは、前記判断ステップにより前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることと、前記設定候補演算ステップにより演算された設定の候補とを表示装置に表示することを特徴とする請求項７に記載の印刷処理方法。
【請求項１０】
前記印刷設定は、印刷用紙をステイプルで綴じるための設定であり、
前記問い合わせステップは、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を、前記アプリケーションから前記プリンタドライバに問い合わせ、
前記取得ステップは、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を表すステイプル可能枚数情報を、前記アプリケーションが前記プリンタドライバから取得し、
前記判断ステップは、前記取得ステップにより取得されたステイプル可能枚数情報に基づき、前記ユーザーにより指定された枚数の印刷用紙をステイプルで綴じることが可能か否かを判断することを特徴とする請求項７〜９の何れか１項に記載の印刷処理方法。
【請求項１１】
前記問い合わせステップは、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を前記アプリケーションから前記プリンタドライバに問い合わせる際に、前記ユーザーにより指定された用紙の属性を前記アプリケーションから前記プリンタドライバに出力し、
前記取得ステップは、前記問い合わせステップにより出力された用紙の属性に対応付けられてテーブルに格納されているステイプル可能枚数情報を、前記アプリケーションが前記プリンタドライバから取得することを特徴とする請求項１０に記載の印刷処理方法。
【請求項１２】
前記用紙の属性は、前記用紙の大きさと厚さとを含むことを特徴とする請求項１１に記載の印刷処理方法。
【請求項１３】
印刷文書を印刷処理するための印刷設定をユーザーに指定させるようにするためのアプリケーションと、印刷装置を制御するためのプリンタドライバとを有する情報処理装置における印刷処理方法をコンピュータに実行させるためのコンピュータプログラムであって、
前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値を、前記アプリケーションが前記プリンタドライバに問い合わせる問い合わせステップと、
前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値に関する印刷制限値情報を、前記問い合わせステップによる問い合わせに対する返答として、前記アプリケーションが前記プリンタドライバから取得する取得ステップと、
前記取得ステップにより取得された印刷制限値情報と前記印刷文書のページ数に基づき、前記ユーザーにより指定された印刷設定で前記印刷処理を実行することが可能か否かを前記アプリケーションが判断する判断ステップと、
前記判断ステップにより前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることを表示装置に表示する表示ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１４】
前記表示ステップは、前記判断ステップにより、前記ユーザーにより指定された印刷設定で印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることと、前記印刷装置で前記印刷処理を実行することが可能な設定の候補とを表示装置に表示することを特徴とする請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記判断ステップにより前記ユーザーにより指定された印刷設定で印刷処理を実行することが不可能であると判断された場合には、前記印刷装置で前記印刷処理を実行することが可能な設定の候補を求める設定候補演算ステップを有し、
前記表示ステップは、前記判断ステップにより前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることと、前記設定候補演算ステップにより演算された設定の候補とを表示装置に表示することを特徴とする請求項１３に記載のコンピュータプログラム。
【請求項１６】
前記印刷設定は、印刷用紙をステイプルで綴じるための設定であり、
前記問い合わせステップは、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を、前記アプリケーションが前記プリンタドライバに問い合わせ、
前記取得ステップは、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を表すステイプル可能枚数情報を、前記アプリケーションが前記プリンタドライバから取得し、
前記判断ステップは、前記取得ステップにより取得されたステイプル可能枚数情報に基づき、前記ユーザーにより指定された枚数の印刷用紙をステイプルで綴じることが可能か否かを判断することを特徴とする請求項１３〜１５の何れか１項に記載のコンピュータプログラム。
【請求項１７】
前記問い合わせステップは、前記ステイプルで綴じることが可能な印刷用紙の最大の枚数を前記アプリケーションから前記プリンタドライバに問い合わせる際に、前記ユーザーにより指定された用紙の属性を前記アプリケーションから前記プリンタドライバに出力し、
前記取得ステップは、前記問い合わせステップにより出力された用紙の属性に対応付けられてテーブルに格納されているステイプル可能枚数情報を、前記アプリケーションが前記プリンタドライバから取得することを特徴とする請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記用紙の属性は、前記用紙の大きさと厚さとを含むことを特徴とする請求項１７に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷処理方法、及びコンピュータプログラムに関し、特に、印刷された用紙をステイプルで綴じるなどして処理するために用いて好適なものである。
【背景技術】
【０００２】
プリントアウト（印刷）された印刷用紙を、そのままデバイス上で自動的にステイプルで綴じる（以下、ステイプル綴じと称する）機構を備えたレーザービームプリンタやネットワークデジタル複合機が、オフィスを中心に広まっている。こうしたプリンタにおいて、ユーザーがステイプル綴じ印刷を行うかどうかを指定する場合には、プリンタドライバが利用されている。
【０００３】
図９に、プリンタドライバを介してステイプル綴じ印刷する場合のホストコンピュータとプリンタにおける処理の流れの一例を示す。
ここでは、まず、ホストコンピュータ上のアプリケーションプログラムからアプリケーションの印刷ダイアログを開き、その印刷ダイアログを表示する。さらにプリンタドライバのユーザーインターフェース（プリンタドライバＵＩ）を開き、そこにステイプル綴じに関する印刷設定をユーザーに入力させる。そして、この印刷設定や描画命令に基づいて、プリンタドライバでページ記述言語やジョブ記述言語を作成し、これらページ記述言語やジョブ記述言語に基づいてステイプル綴じ印刷を実行する。
【０００４】
しかしながら、ユーザーによって指定されたステイプル綴じが、プリンタにおいて出力された後に必ずしも実行されるとは限らない。なぜならば、各プリンタにはそのデバイスの仕様としてステイプル綴じできる紙のページ数の上限があり、しかもその上限数は用紙のサイズや用紙の種類などに依存して変化するからである。
【０００５】
したがって、ユーザーからの印刷指示によってホストコンピュータから送られた印刷データのページ数が、そのプリンタにおけるステイプル綴じが可能なページ数を上回っていた場合、多くのプリンタは、ステイプル綴じを実行せずにそのまま原稿をプリントアウトする。その結果、原稿だけが出力トレイに出てきてしまう。
【０００６】
この解決策として、特許文献１に示されるように、プリンタドライバにおいて、アプリケーションから入力された描画命令を中間データに変換してスプールしておき、印刷枚数をカウントして、カウントされた印刷枚数がプリンタでステイプル綴じできる紙のページ数の上限を超えるかを判断し、超えると判断された場合に、ステイプル綴じする印刷枚数の単位に合わせて複数の印刷ジョブに分割して、それぞれの印刷ジョブ毎にステイプル綴じさせる技術がある。
【０００７】
【特許文献１】特開２０００−１８７５８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載されている技術では、印刷すべき文書をまとめてステイプル綴じすることをユーザーが所望としている場合にも、ステイプル綴じする単位を変更してしまうため、ユーザーが所望とする印刷物を得ることができないという問題がある。
そこで、特許文献１に記載されているプリンタドライバにおいて、カウントされた印刷枚数がプリンタでステイプル綴じできる紙のページ数の上限を超えるかを判断した場合に、ユーザーに警告ダイアログを表示して報知させることが考えられる。しかしながら、この仕組みでは、一度アプリケーションから印刷指示を行い、描画命令をプリンタドライバへ出力した後でなければユーザーはステイプル綴じ可能であるか認識することができず、使い勝手が悪くなってしまう。
【０００９】
また、米国マイクロソフト社のWindows（登録商標） OS（オペレーションシステム。以下、ＯＳと記載する。）を介して、アプリケーションはプリンタドライバからある程度の印刷能力を取得することが可能となってきている。しかし、プリンタメーカーごと、あるいはプリンタ機種毎に、印刷能力はさまざまであるため、アプリケーションがプリンタドライバから取得可能な印刷能力は、ＯＳで定義されている非常に標準な能力だけに限られており、アプリケーションから開かれる印刷ダイアログは非常に単純な設定しかできない。
【００１０】
しかし、将来、ＯＳがより拡張されることにより、従来は取得することが不可能であったプリンタドライバ毎の詳細な印刷能力を、ＯＳを介して取得することが可能になると予測されている。ここで、図１０に、将来の印刷システムにおける、プリンタドライバを介してステイプル綴じ印刷する場合のホストコンピュータとプリンタにおける処理の流れの例を示す。
【００１１】
ここでは、まず、ホストコンピュータ上のアプリケーションがＯＳ（図示省略）を介してプリンタドライバに対して、ステイプル綴じを行う印刷設定項目があるかどうかを、ＡＰＩ（Application Programming Interface）などを通じて問い合わせる。そして、ステイプル綴じを行う印刷設定項目があれば、アプリケーションの印刷ダイアログ上にステイプル綴じを指定するための入力項目を表示し、ステイプル綴じの設定をユーザーに入力させる。そして、この印刷設定や描画命令に基づいて、プリンタドライバでページ記述言語やジョブ記述言語を作成し、これらページ記述言語やジョブ記述言語に基づいてステイプル綴じ印刷を実行する。
しかしながら、前述したように、各プリンタにはそのデバイスの仕様としてステイプル綴じできる紙のページ数の上限があるため、ユーザーによって指定されたステイプル綴じが、プリンタにおいて出力された後に必ずしも実行されるとは限らない。
【００１２】
ユーザーの印刷ワークフローに配慮するならば、発行しようとしている印刷ジョブが、ステイプル綴じできるものであるかどうかをあらかじめ知らせることは重要である。しかしながら、従来の技術ではそうした情報をアプリケーションから印刷指示（描画命令）を出力する前にユーザーに提示する手段がアプリケーションに存在していなかった。このために、プリンタに出力してみるまで、もしくはプリンタドライバによる印刷データの生成処理を行ってみるまで、ステイプル綴じが行われるかどうか分からないという問題があった。
【００１３】
以上のように、従来の技術では、プリンタが印刷設定に従って印刷用紙を処理することが出来ない場合が生じてしまうという問題点があった。
本発明は、前述の問題点に鑑みてなされたものであり、可及的にユーザーの意図する形態で印刷処理を実行することができるか否かをアプリケーションから印刷出力を行う前にユーザーが認識可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の情報処理装置は、印刷文書を印刷処理するための印刷設定をユーザーに指定させるようにするためのアプリケーションと、印刷装置を制御するためのプリンタドライバとを有するホストコンピュータとしての情報処理装置であって、前記アプリケーションから、前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値を、前記プリンタドライバに問い合わせる問い合わせ手段と、前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値に関する印刷制限値情報を、前記問い合わせ手段による問い合わせに対する返答として、前記プリンタドライバから取得する取得手段と、前記取得手段により取得された印刷制限値情報と前記印刷文書のページ数に基づき、前記ユーザーにより指定された印刷設定で前記印刷処理を実行することが可能か否かを判断する判断手段と、前記判断手段により前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることを表示装置に表示する表示手段とを有することを特徴とする。
【００１５】
本発明の印刷処理方法は、印刷文書を印刷処理するための印刷設定をユーザーに指定させるようにするためのアプリケーションと、印刷装置を制御するためのプリンタドライバとを有する情報処理装置における印刷処理方法であって、前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値を、前記アプリケーションから前記プリンタドライバに問い合わせる問い合わせステップと、前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値に関する印刷制限値情報を、前記問い合わせステップによる問い合わせに対する返答として、前記アプリケーションが前記プリンタドライバから取得する取得ステップと、前記取得ステップにより取得された印刷制限値情報と前記印刷文書のページ数に基づき、前記ユーザーにより指定された印刷設定で前記印刷処理を実行することが可能か否かを前記アプリケーションが判断する判断ステップと、前記判断ステップにより前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることを表示装置に表示する表示ステップとを有することを特徴とする。
【００１６】
本発明のコンピュータプログラムは、印刷文書を印刷処理するための印刷設定をユーザーに指定させるようにするためのアプリケーションと、印刷装置を制御するためのプリンタドライバとを有する情報処理装置における印刷処理方法をコンピュータに実行させるためのコンピュータプログラムであって、前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値を、前記アプリケーションが前記プリンタドライバに問い合わせる問い合わせステップと、前記ユーザーにより指定された印刷設定で印刷処理を実行する場合の前記印刷装置の制限値に関する印刷制限値情報を、前記問い合わせステップによる問い合わせに対する返答として、前記アプリケーションが前記プリンタドライバから取得する取得ステップと、前記取得ステップにより取得された印刷制限値情報と前記印刷文書のページ数に基づき、前記ユーザーにより指定された印刷設定で前記印刷処理を実行することが可能か否かを前記アプリケーションが判断する判断ステップと、前記判断ステップにより前記印刷処理を実行することが不可能であると判断された場合には、前記印刷処理を実行することが不可能であることを表示装置に表示する表示ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ユーザーにより指定された印刷設定で印刷処理を実行する場合の印刷装置の制限値を、アプリケーションからプリンタドライバに問い合わせ、問い合わせ結果と印刷文書の印刷枚数とに基づいて前記アプリケーションが、前記ユーザーにより指定された印刷設定で前記印刷処理を実行することが不可能であると判断した場合には、前記印刷処理を実行することが不可能であることを表示装置に表示するようにしたので、ユーザーは、自身が指定した設定では印刷用紙を処理できないということを、アプリケーションから印刷出力を行う前に知ることができる。これにより、ユーザーが指定した設定と異なる形態で印刷用紙が出力されることを可及的に防止することができる。
また、本発明の他の特徴によれば、前記ユーザーにより指定された印刷設定で前記印刷処理を実行することが不可能であると判断した場合には、前記印刷処理を実行することが不可能であることと、前記印刷処理を実行することが可能な設定の候補とを表示装置に表示するようにしたので、ユーザーは、自身が指定した設定に近い設定を知ることができる。これにより、ユーザーが最初に指定した設定と可及的に近い設定で前記印刷処理を実行することを容易に且つ確実に実現することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、本実施の形態における印刷システムの構成の一例を示した図である。図１に示すように、本実施の形態における印刷システムは、単一または複数のホストコンピュータ１００（本発明の情報処理装置に相当する）と、レーザービームプリンタ３００（印刷装置）とを有して構成される。なお、レーザービームプリンタ３００は、プリントアウトされた複数枚のページをプリンタ上でステイプル綴じする手段を備えているものとする。なお、印刷した用紙をステイプル綴じするなどして処理することができる機能を備えている装置であれば、必ずしもレーザービームプリンタ３００を用いる必要はないということは言うまでもない。
【００１９】
ホストコンピュータ１００とレーザービームプリンタ３００は、イーサネット（登録商標）などのネットワークまたは専用のインターフェースを用いて構成される通信媒体４００を介して相互に接続され、ホストコンピュータ１００からレーザービームプリンタ３００に対して印刷ジョブの転送を行う。
【００２０】
図２は、一般的なコンピュータであるホストコンピュータ１００の内部システムの構成の一例を示したブロック図である。
図２において、ＣＰＵ１０１は、ＲＯＭ１０２あるいはＲＡＭ１０３あるいは外部記憶装置１０５に格納されたプログラムに従って装置全体の制御を行う。ＲＡＭ１０３は、ＣＰＵ１０１が各種処理を行う際のワークエリアとして使用される。
【００２１】
外部記憶装置１０５は、オペレーティングシステム（ＯＳ）や、本発明のコンピュータ読み取り可能なコンピュータプログラムであるアプリケーションソフトウェアや、プリンタドライバソフトウェアなどを記録する。キーボード１０４もしくは図示していないマウスなどの入力機器は、ユーザーが各種指示を与えるためのデバイスである。ネットワークＩ／Ｆ（インターフェース）１０６およびプリンタＩ／Ｆ１０７は、イーサネット（登録商標）４００ａまたは専用インターフェース４００ｂを介してレーザービームプリンタ３００とホストコンピュータ１００とを相互に接続し、レーザービームプリンタ３００とホストコンピュータ１００との間でデータの授受を行うためのインターフェースである。モニタＩ／Ｆ１０８は、モニタ１１０とホストコンピュータ１００の本体とを相互に接続し、ホストコンピュータ１００の本体からモニタ１１０へ表示データの転送を行うためのインターフェースである。また、１１０はシステムバス（共通データバス）である。
【００２２】
図３は、ホストコンピュータ１００における一般的なシステムの一例をモジュール構成で示した図である。
図３において、アプリケーション２００は、ユーザーのキーボード１０４などの操作に基づいて印刷データを作成するためのソフトウェアである。このアプリケーション２００は、例えば、印刷実行時には印刷設定の指示命令、ページ制御命令及び描画命令などの発行を行う。
【００２３】
印刷ダイアログ２０１は、アプリケーション２００の実行中にモニタ１１０に表示されるユーザーインターフェースであって、キーボード１０４などを用いてユーザーに対話的に印刷設定を入力させ、さらに印刷実行の指示を行わせる役割を持つ。プリンタドライバ２０２は、レーザービームプリンタ３００を制御するソフトウェアであって、アプリケーション２００との間で印刷設定情報の授受を行ったり、アプリケーション２００で発行された描画命令などにしたがってページ記述言語や、ジョブ記述言語を含む印刷データへの変換を行ったりする。
【００２４】
プリンタドライバＵＩ（User Interface）２０３は、プリンタドライバ２０２専用のユーザーインターフェースであって、アプリケーション２００のプロセスから呼び出して表示することが可能であり、ユーザーに対話的に印刷設定を入力させる役割を持つ。スプーラー２０４は印刷ジョブのスケジューリングやプリンタへの送信といった印刷サービスを提供する。
【００２５】
印刷ダイアログ２０１とプリンタドライバＵＩ２０３との関係であるが、一般的に、印刷ダイアログ２０１は、印刷するページの範囲や特殊なレイアウト方法など、アプリケーション２００に特化された印刷設定をユーザーに入力されることを主な目的としている。一方、プリンタドライバＵＩ２０３は、ステイプル綴じや色調整など、レーザービームプリンタ３００の機能に特化した印刷設定をユーザーに入力させることを主な目的としている。
【００２６】
しかしながら、本実施の形態では、アプリケーション２００の印刷ダイアログ２０１だけを介してステイプル綴じの印刷設定をユーザーに行わせるようにし、ステイプル綴じの印刷設定にプリンタドライバＵＩ２０３を用いないものとする。したがって、印刷ダイアログ２０１は、図４に示すように、ステイプル綴じの印刷設定項目をユーザーインターフェースとして備えているものとする。
【００２７】
次に、本実施の形態の印刷システムを用いて、原稿に対してステイプル綴じを行う場合の印刷制御方法の一例を説明する。図５は、原稿に対してステイプル綴じを行う場合に、アプリケーション２００で行われる処理の流れの一例を説明するフローチャートである。また、図６は、印刷開始の指示があってから印刷が終了するまでに、アプリケーション２００、プリンタドライバ２０２、及びレーザービームプリンタ３００で行われる処理の流れの一例を示す図である。
【００２８】
まず、ステップＳ１００において、アプリケーション２００は、ステイプル綴じに関する設定項目の有無を、ＡＰＩなどを用いてプリンタドライバ２０２に問い合わせ、問い合わせた結果に基づいて、ステイプル綴じに関する設定項目がプリンタドライバ２０２に存在するか否かを判断する。この判断の結果、ステイプル綴じに関する設定項目が存在しない場合には、ステイプル綴じの制御を行うことが不可能なので印刷ダイアログ２０１上のステイプル綴じの設定項目を、ユーザーが入力できない状態へ変更し、処理を終了する。
【００２９】
一方、ステイプル綴じに関する設定項目が存在する場合にはステップＳ２００に進み、アプリケーション２００は、図４に示すような印刷ダイアログ２０１をモニタ１１０に表示する。
次に、ステップＳ３００において、アプリケーション２００は、マウスなどを用いたユーザーの操作に基づいて、ステイプル綴じの印刷設定が入力されたか否かを判断する。図４に示した例では、ステイプルを行うかどうかを決定するチェックボックス２０１ａがオンされ、さらに綴じ位置に関するアイテムの選択などが行われた後に、ＯＫボタン２０１ｂが押されたか否かを判断する。
【００３０】
次に、ステップＳ４００において、アプリケーション２００は、あらかじめ提供されたインターフェースを通じてプリンタドライバ２０２にステイプル綴じの可否、用紙サイズ、用紙タイプなどを含む現在の印刷設定を入力として渡し、最大ステイプル可能ページ数を問い合わせる。この問い合わせに従って、プリンタドライバ２０２は、あらかじめ内部に記憶された図７に示すような最大ステイプル可能ページ数が格納されたテーブル７００を参照し、アプリケーション２００に入力された印刷設定における最大ステイプル可能ページ数の値を検索し、検索した結果をアプリケーション２００に返す。図７に示したテーブル７００の例では、用紙サイズ及び用紙タイプごとに、ステイプル綴じできる最大のページ数が定められている。例えば、用紙サイズがＡ４、用紙の種類が厚紙であるという印刷設定が入力された場合、ステイプル綴じできるページ数は、最大で２０枚ということになる。
【００３１】
次に、ステップＳ５００において、アプリケーション２００は、ステップＳ４００における問合せに従ってプリンタドライバ２０２にて検索された最大ステイプル可能ページ数を受け取る。
次に、ステップＳ６００において、アプリケーション２００は、ステップＳ５００の処理で受け取った最大ステイプル可能ページ数と、ユーザーがアプリケーション２００を通じて印刷しようとしている原稿データのページ数との比較を行う。ここで注意すべき点として、アプリケーション２００は、実際に印刷する原稿の物理ページ数と、ステップＳ５００の処理で受け取った最大ステイプル可能ページ数とを比較しなければならないということである。
【００３２】
一例として、プレゼンテーションを作成するアプリケーション２００において、ユーザーが１０ページの文書を紙１枚に対し３ページを割り付ける設定（３ｕｐ印刷）を選択し、その３ｕｐ印刷がアプリケーション２００によって割り付けられる処理である場合、アプリケーション２００は、発行するページ数を４ページとしなければならない。そして、アプリケーション２００は、このようにして計算した原稿の物理ページ数と、最大ステイプル可能ページ数とを比較し、原稿の物理ページ数の方が大きい場合、すなわち現在の印刷設定ではステイプル綴じが行われない場合にはステップＳ７００に進み、そうでない場合にはステップＳ１０００に進む。
【００３３】
そして、ステップＳ７００に進むと、アプリケーション２００は、ステイプル綴じがレーザービームプリンタ３００で可能となるような１つ以上の印刷設定を計算し、列挙する。すなわち、アプリケーション２００は、ユーザーによって指定された印刷設定のうち、アプリケーション２００、プリンタドライバ２０２、レーザービームプリンタ３００のいずれかによって実現が可能なＮｕｐ印刷（Ｎ＝２，４，８、１６、・・・）や両面印刷といったページの割付け設定を仮に適用したときに、出力枚数が何枚になるかを計算する。そして、計算した出力枚数の値が、ステップＳ５００で受け取った最大ステイプル枚数以下になった場合にその印刷設定と出力枚数との組を記憶しておく。そのようにして記憶しておいたステイプル綴じが可能な印刷設定と出力枚数との組がある一定数に達したら計算をやめ、ステップＳ８００に進む。
【００３４】
そして、ステップＳ８００において、アプリケーション２００は、図８に示すような警告ダイアログ８００をモニタ１１０に表示する。この警告ダイアログ８００の上部ではユーザーの原稿データのページ数が最大ステイプル可能ページ数を超えていることを警告する。また、警告ダイアログ８００の下部には、ステップＳ８００以後の処理を決定するための複数の選択肢を入力項目として列挙する。図８に示した例では、例えば、「変更しない」や、「ページレイアウト：『1ページ/枚』 → 『2ページ/枚』、変更後の出力枚数：１８枚」といった入力項目を選択肢として動的に生成し、警告ダイアログ８００に列挙する。
【００３５】
なお、前記において、「変更しない」とは、デフォルトの選択項目であり、ステイプル綴じせずにそのまま印刷を行うことを意味する。また、「ページレイアウト：『1ページ/枚』 → 『2ページ/枚』、変更後の出力枚数：１８枚」とは、１枚の用紙に対して１ページの論理ページを生成するページレイアウトから、１枚の用紙に対して２ページの論理ページを生成するページレイアウトに変更し、変更後の出力枚数が１８枚になることを意味する。この入力項目は、ステップＳ７００で記憶されたステイプル綴じが可能な印刷設定と出力枚数との組に関する情報から動的に生成される。
【００３６】
次に、ステップＳ９００において、アプリケーション２００は、ユーザーのマウスなどの操作によって、確実にステイプル綴じすることが可能な「ページレイアウト：『1ページ/枚』 → 『2ページ/枚』・・・」などの入力項目（選択肢）が入力されたか否かを判断する。この判断の結果、入力された場合にはステップＳ１０００へ進む。一方、「変更しない」という入力項目が入力された場合にはＳ１１００に進む。
【００３７】
そして、確実にステイプル綴じすることが可能な入力項目（選択肢）が入力されて、ステップＳ１０００に進むと、アプリケーション２００は、ステップＳ９００で入力されたと判断した入力項目（選択肢）に基づき、あらかじめアプリケーション２００上で記憶していた印刷設定のうちＮｕｐ印刷や両面印刷に関する設定を変更し、描画命令をプリンタドライバ２０２に発行する。
【００３８】
このステップＳ１０００における処理の一例を具体的に説明すると、例えば、アプリケーション２００で実現が可能なＮｕｐ印刷を行うことがユーザーによって選択された場合には、アプリケーション２００は、選択されたＮｕｐ印刷が行われるような描画命令をプリンタドライバ２０２に発行する。一方、アプリケーション２００で実現できないＮｕｐ印刷、すなわちプリンタドライバ２０２やレーザービームプリンタ３００で実現が可能なＮｕｐ印刷を行うことがユーザーによって選択された場合には、アプリケーション２００は、１ｕｐ印刷が行われるような描画命令をプリンタドライバ２０２に発行し、プリンタドライバ２０２やレーザービームプリンタ３００で所望のＮｕｐ印刷を行うように処理する。
【００３９】
また、ステップＳ９００において、確実にステイプルが可能な入力項目（選択肢）が入力されずに、「変更しない」という入力項目が入力された場合には、ステップＳ１１００に進み、アプリケーション２００は、あらかじめアプリケーション２００上で記憶していた印刷設定のうち、ステイプル綴じの設定を「ステイプル綴じしない」へ変更し、描画命令をプリンタドライバ２０２に発行する。
【００４０】
以上のように本実施の形態では、印刷の設定をユーザーに行わせるために、印刷ダイアログ２０１を表示した後、ステイプル綴じを行うことがユーザーによって指定された場合、アプリケーション２００は、レーザービームプリンタ３００でステイプル綴じすることが可能な最大の枚数（最大ステイプル可能枚数）を、プリンタドライバ２０２に問い合わせ、ユーザーによって指定されたステイプル綴じする原稿の枚数と、前記最大ステイプル可能枚数とを比較する。そして、比較した結果に基づいて、ユーザーが発行しようとしているジョブが、ステイプル綴じすることが不可能なものであると判断した場合、アプリケーション２００は、警告ダイアログ８００をモニタ１１０に表示して、現在の設定ではステイプル綴じすることが不可能であることと、確実にステイプル綴じすることができる設定の候補とをユーザーに知らせる。そして、前記確実にステイプル綴じすることができる設定を含む印刷設定の候補の中から、ユーザーによって選択された設定で印刷処理を行う。このようにすることにより、ユーザーの設定（入力項目）に従って、ステイプル綴じされた出力、またはステイプル綴じされない出力の何れかを、レーザービームプリンタ３００で得ることができ、可及的にユーザーの意図する形態で原稿を出力することができる。
【００４１】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００４２】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００４３】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフトなどと共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００４４】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施の形態を示し、印刷システムの構成の一例を示した図である。
【図２】本発明の実施の形態を示し、ホストコンピュータの内部システムの構成の一例を示したブロック図である。
【図３】本発明の実施の形態を示し、ホストコンピュータにおける一般的なシステムの一例をモジュール構成で示した図である。
【図４】本発明の実施の形態を示し、印刷ダイアログのユーザーインターフェースの一例を示した図である。
【図５】本発明の実施の形態を示し、原稿に対してステイプル綴じを行う場合に、アプリケーションで行われる処理の流れの一例を説明するフローチャートである。
【図６】本発明の実施の形態を示し、印刷開始の指示があってから印刷が終了するまでに、アプリケーション、プリンタドライバ、及びレーザービームプリンタで行われる処理の流れの一例を示す図である。
【図７】本発明の実施の形態を示し、最大ステイプル可能ページ数が格納されたテーブルの一例を示した図である。
【図８】本発明の実施の形態を示し、警告ダイアログのユーザーインターフェースの一例を示した図である。
【図９】従来の技術を示し、プリンタドライバを介してステイプル綴じ印刷する場合のホストコンピュータとプリンタにおける処理の流れの一例を示す図である。
【図１０】従来の技術を示し、プリンタドライバを介してステイプル綴じ印刷する場合のホストコンピュータとプリンタにおける処理の流れの他の例を示す図である。
【符号の説明】
【００４６】
１００  ホストコンピュータ
２００  アプリケーション
２０１  印刷ダイアログ
２０２  プリンタドライバ
３００  レーザービームプリンタ
７００  最大ステイプル可能ページ数が格納されたテーブル
８００  警告ダイアログ
【図１】
2006040214.tif 000003
【図２】
2006040214.tif 000004
【図３】
2006040214.tif 000005
【図４】
2006040214.tif 000006
【図５】
2006040214.tif 000007
【図６】
2006040214.tif 000008
【図７】
2006040214.tif 000009
【図８】
2006040214.tif 000010
【図９】
2006040214.tif 000011
【図１０】
2006040214.tif 000012