(57)【要約】【課題】  無効になる印刷属性をユーザが設定してしまう不都合を防止できるようにして、印刷品質を向上させること、及び速度を向上させることの両方を可能にする。【解決手段】  プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能５０３、前記アプリケーションが印刷データを生成することを常に禁止する第２の機能５０２、前記プリンタドライバに設定された内容に応じて優先設定を変えるようにする第３の機能５０１の中の何れかを設定可能にユーザに提供するようにすることにより、無効になる印刷属性をユーザが設定してしまう不都合を確実に防止しながら、前記アプリケーションによって生成された印刷データを印刷する際に発生する可能性がある機能落ちを防止できるようにする。【選択図】  図５
2005063315.tif 000002
【特許請求の範囲】
【請求項１】
プリンタの印刷動作を制御するプリンタドライバを有する情報処理装置であって、
前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能と、前記アプリケーションが印刷データを生成することを常に禁止する第２の機能と、前記プリンタドライバに設定された内容に応じて優先設定を変えるようにする第３の機能の中の何れかを設定可能にユーザに提供する印刷データ生成方法選択手段を有することを特徴とする情報処理装置。
【請求項２】
前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能が選択されている場合に、前記プリンタドライバが有する機能により実現される印刷属性の設定をユーザが行うことを禁止するようにプリンタドライバのユーザインタフェースを提供する印刷属性設定コントロール制御手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
プリンタの印刷動作を制御するプリンタドライバを有する情報処理装置であって、
アプリケーションからのシステム描画命令を受けて、前記プリンタが印刷可能な印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段により生成された印刷データをスプーラモジュールにスプールする印刷データスプール手段と、
前記アプリケーション自身が生成した印刷データであって、前記プリンタが印刷可能な印刷データを前記スプーラモジュールにスプールするアプリケーション生成印刷データスプール手段と、
前記プリンタドライバの印刷属性の設定を行うユーザインタフェースに、アプリケーション自身がプリンタで印刷可能な印刷データを生成することを常に許可する第１の機能、常に禁止する第２の機能、あるいはプリンタドライバの印刷属性設定内容に応じて許可する第３の機能の中の何れかをユーザが設定可能とする印刷データ生成方法選択手段と、
前記印刷データ生成方法選択手段において、前記第１の機能が選択されている場合に、前記プリンタドライバのユーザインタフェース上で、設定することができない印刷属性設定コントロールをユーザが設定できないように制御する印刷属性設定コントロール制御手段とを有することを特徴とする情報処理装置。
【請求項４】
前記印刷属性設定コントロール制御手段は、前記第１の機能が選択されている場合には、使用できない印刷属性設定コントロールあるいは選択肢を消去することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記印刷属性設定コントロール制御手段は、前記第１の機能が選択されている場合には、使用できない印刷属性設定コントロールあるいは選択肢をグレイアウトすることを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記プリンタドライバの印刷属性設定内容に応じて許可する第３の機能が選択されている場合に、前記プリンタドライバのユーザインタフェース上で、アプリケーションがプリンタで印刷可能なデータを生成することの許可状態に影響のある印刷属性設定であるか否かを判別できるように表示する印刷方法判別手段を有することを特徴とする請求項１〜５の何れか１項に記載の情報処理装置。
【請求項７】
前記印刷方法判別手段は、該当する印刷属性設定コントロール、あるいは選択肢の近辺にアイコンを表示することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記印刷方法判別手段は、該当する印刷属性設定コントロール、あるいは選択肢にマウスカーソルがあるとき、ツールチップで情報を表示することを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記プリンタドライバの印刷属性設定内容に応じて許可する第３の機能が選択されている場合に、前記アプリケーションがプリンタで印刷可能なデータを生成することの許可状態に影響のある印刷属性設定が選択された場合に、前記プリンタドライバのユーザインタフェース上でユーザに向けたメッセージを表示するメッセージ表示手段を有することを特徴とする請求項１〜８の何れか１項に記載の情報処理装置。
【請求項１０】
前記請求項１乃至請求項９の何れか１項に記載の情報処理装置とプリンタとを有することを特徴とする印刷システム。
【請求項１１】
プリンタの印刷動作を制御するプリンタドライバのユーザインタフェース制御方法であって、
前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能と、前記アプリケーションが印刷データを生成することを常に禁止する第２の機能と、前記プリンタドライバに設定された内容に応じて優先設定を変えるようにする第３の機能の中の何れかを設定可能にユーザに提供する印刷データ生成方法選択工程を有することを特徴とするプリンタドライバのユーザインタフェース制御方法。
【請求項１２】
前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能が選択されている場合に、前記プリンタドライバが有する機能により実現される印刷属性の設定をユーザがインタフェースで行うことを禁止する印刷属性設定コントロール制御工程を有することを特徴とする請求項１１に記載のプリンタドライバのユーザインタフェース制御方法。
【請求項１３】
前記印刷属性設定コントロール制御工程は、前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能が選択されている場合には、使用できない印刷属性設定コントロールあるいは選択肢を消去することを特徴とする請求項１２に記載のプリンタドライバのユーザインタフェース制御方法。
【請求項１４】
前記印刷属性設定コントロール制御工程は、前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能が選択されている場合には、使用できない印刷属性設定コントロールあるいは選択肢をグレイアウトすることを特徴とする請求項１２に記載のプリンタドライバのユーザインタフェース制御方法。
【請求項１５】
前記プリンタドライバの印刷属性設定内容に応じて許可する第３の機能が選択されている場合に、アプリケーションがプリンタで印刷可能なデータを生成することの許可状態に影響のある印刷属性設定であるか否かを判別できるように、前記プリンタドライバのユーザインタフェース上で表示する印刷方法判別工程を有することを特徴とする請求項１１〜１４の何れか１項に記載のプリンタドライバのユーザインタフェース制御方法。
【請求項１６】
前記印刷方法判別工程は、該当する印刷属性設定コントロール、あるいは選択肢の近辺にアイコンを表示することを特徴とする請求項１５に記載のプリンタドライバのユーザインタフェース制御方法。
【請求項１７】
前記印刷方法判別工程は、該当する印刷属性設定コントロール、あるいは選択肢にマウスカーソルがあるとき、ツールチップで情報を表示することを特徴とする請求項１５に記載のプリンタドライバのユーザインタフェース制御方法。
【請求項１８】
前記プリンタドライバの印刷属性設定内容に応じて許可する第３の機能が選択されている場合に、前記アプリケーションがプリンタで印刷可能なデータを生成することの許可状態に影響のある印刷属性設定が選択された場合に、前記プリンタドライバのユーザインタフェース上でユーザに向けたメッセージを表示するメッセージ表示工程を有することを特徴とする請求項１１〜１７の何れか１項に記載のプリンタドライバのユーザインタフェース制御方法。
【請求項１９】
プリンタの印刷動作を制御するコンピュータプログラムをコンピュータに実行させるためのプログラムであって、
前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能と、前記アプリケーションが印刷データを生成することを常に禁止する第２の機能と、前記プリンタドライバに設定された内容に応じて優先設定を変えるようにする第３の機能の中の何れかを設定可能にユーザに提供する印刷データ生成方法選択処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２０】
前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能が選択されている場合に、前記プリンタドライバが有する機能により実現される印刷属性の設定をユーザがインタフェースで行うことを禁止する印刷属性設定コントロール制御処理をコンピュータに実行させることを特徴とする請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記請求項１９または２０に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、印刷システム、プリンタドライバのユーザインタフェース制御方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体に関し、特に、プリンタドライバのユーザインタフェース制御方法に関するものである。
【背景技術】
【０００２】
例えば、Microsoft社のWindows（Ｒ）のようなオペレーティングシステム（ＯＳ）上で動作する印刷システムにおいて、通常印刷アプリケーションからの印刷データ（一般にＧＤＩ関数と呼ばれる）はＯＳのグラフィックエンジンによりプリンタドライバが解釈可能な論理描画要求（一般にＤＤＩ関数と呼ばれる）に変換されて、プリンタ機器を制御するプリンタドライバへと送信され、プリンタドライバがその論理描画要求を解釈し、プリンタ機器が認識できるプリンタ制御コマンド（一般にページ記述言語（ＰＤＬ）と呼ばれる）を生成している。
【０００３】
また、その他の印刷シーケンスとして、印刷アプリケーションが独自にプリンタ機器が認識できるプリンタ制御コマンドを生成するものも存在する。具体例として、PageMaker（登録商標）、Photoshop（登録商標）、CorelDraw!（登録商標）等のAdobe系アプリケーションは、アプリケーション自身の機能によりＰＳ（Postscript）データを発行することができる。このようにアプリケーションが独自にプリンタ制御コマンドを生成する印刷システムにおいて、印刷アプリケーションはプリンタドライバの許可を得て、プリンタ制御コマンドを独自に生成し、プリンタドライバの大部分の機能を介さずに印刷データをプリンタ機器に直接送信することが可能である。
【０００４】
この場合、プリンタドライバはアプリケーションによるプリンタ制御コマンド生成をアプリケーションとのネゴシエーションにより抑圧することが可能である。しかし、一般的に、アプリケーションが独自にプリンタ制御コマンドを生成することにより、アプリケーション所望のプリンタ制御コマンドを生成することが可能となり、印刷品質が向上する利点がある。
【０００５】
また、プリンタドライバの処理が少なくなるため、アプリケーションによる印刷開始から印刷終了までに動作するプログラム群（プリンタドライバにおける複数のモジュールの中の一部）が少なくなり、印刷速度も向上する利点がある。このような理由から従来、プリンタドライバはアプリケーションがプリンタ制御コマンドを生成可能な場合はその抑圧を行わずに、アプリケーション独自にプリンタ制御コマンドを生成し、印刷出力を行っている。
【０００６】
プリンタが印刷可能な印刷データをアプリケーション自身が生成する場合、プリンタドライバの印刷属性設定の中には設定が無効になってしまう機能がある。従来は、無効になる印刷属性設定について、ユーザインタフェースの印刷属性設定コントロールはユーザが選択することが可能であり、ユーザは選択した印刷属性設定コントロールが無効になるにもかかわらずそのことを印刷前に認識することができないという問題がある。
【０００７】
前述のような、プリンタ制御コマンドを生成可能なアプリケーションを含む印刷システムにおいては、アプリケーションが独自にプリンタ制御コマンドを生成し、プリンタドライバはアプリケーションから受け取ったプリンタ制御言語（ＰＳデータ）をプリンタ機器に送信していた。そのため、印刷システムにおいては、アプリケーションが独自にプリンタ制御コマンドを生成し、プリンタドライバの大半の機能を介さずにプリンタ機器に直接印刷データを送信していた。
【０００８】
ここで、プリンタドライバの提供している機能として、Ｎ面印刷機能や製本印刷機能などで実行されるページレイアウト機能や、「社内秘」や「まる秘」などのスタンプを付加する情報付加機能が存在している。これらの機能はプリンタドライバで一度、ＯＳを介して受け取る描画命令（ＤＤＩ関数）を解析して中間データとしてスプールし、ページレイアウトや情報付加を行ったのち、プリンタドライバの印刷データ生成モジュールに渡している。
【０００９】
したがって、ＯＳを介して受け取るデータが描画命令（ＤＤＩ関数）ではなく、印刷データ（ＰＳデータ）である場合は、プリンタドライバはユーザにより設定されたＮ面印刷機能（１物理ページに複数論理ページを印刷する機能）や、製本印刷機能（出力結果が製本されるように面付けて印刷する機能）等のプリンタドライバ機能を遂行できなくなり、これらの付加機能は使えなくなるという欠点があった。
【００１０】
このような欠点を解消するために、例えば、特許文献１においては、ユーザにより設定された印刷機能に応じて、出力機器が認識する出力機器制御コマンドをアプリケーションが生成するかドライバが生成するかを決定するようにすることにより、印刷品質及び速度を向上させるようにしていた。
【００１１】
【特許文献１】特開２００２−０９１７２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、前記従来例では、ユーザが印刷属性設定をする場合に、その属性設定が無効になるか、あるいは無効になる可能性があるかを判別することは困難であるという欠点があった。
また、メッセージ内容についても設定が無効になる機能がある、という内容の表示が行われるのみであり、具体的にどの機能が無効になるのか、印刷を実行してみないとわからない場合もあった。
【課題を解決するための手段】
【００１３】
本発明の情報処理装置は、プリンタの印刷動作を制御するプリンタドライバを有する情報処理装置であって、前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能と、前記アプリケーションが印刷データを生成することを常に禁止する第２の機能と、前記プリンタドライバに設定された内容に応じて優先設定を変えるようにする第３の機能の中の何れかを設定可能にユーザに提供する印刷データ生成方法選択手段を有することを特徴としている。
また、本発明の他の特徴とするところは、プリンタの印刷動作を制御するプリンタドライバを有する情報処理装置であって、アプリケーションからのシステム描画命令を受けて、前記プリンタが印刷可能な印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段により生成された印刷データをスプーラモジュールにスプールする印刷データスプール手段と、前記プリンタドライバの印刷属性の設定を行うユーザインタフェースに、アプリケーション自身がプリンタで印刷可能な印刷データを生成することを常に許可する第１の機能、常に禁止する第２の機能、あるいはプリンタドライバの印刷属性設定内容に応じて許可する第３の機能の中の何れかをユーザが設定可能とする印刷データ生成方法選択手段と、前記印刷データ生成方法選択手段において、前記第１の機能が選択されている場合に、前記プリンタドライバのユーザインタフェース上で、設定することができない印刷属性設定コントロールをユーザが設定できないように制御する印刷属性設定コントロール制御手段とを有することを特徴としている。
【００１４】
本発明の印刷システムは、前記の何れかに記載の情報処理装置とプリンタとを有することを特徴としている。
【００１５】
本発明のプリンタドライバのユーザインタフェース制御方法は、プリンタの印刷動作を制御するプリンタドライバのユーザインタフェース制御方法であって、前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能と、前記アプリケーションが印刷データを生成することを常に禁止する第２の機能と、前記プリンタドライバに設定された内容に応じて優先設定を変えるようにする第３の機能の中の何れかを設定可能にユーザに提供する印刷データ生成方法選択工程を有することを特徴としている。
【００１６】
本発明のコンピュータプログラムは、プリンタの印刷動作を制御するコンピュータプログラムをコンピュータに実行させるためのプログラムであって、前記プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能と、前記アプリケーションが印刷データを生成することを常に禁止する第２の機能と、前記プリンタドライバに設定された内容に応じて優先設定を変えるようにする第３の機能の中の何れかを設定可能にユーザに提供する印刷データ生成方法選択処理をコンピュータに実行させることを特徴としている。
【００１７】
本発明のコンピュータ読み取り可能な記録媒体は、前記に記載のコンピュータプログラムを記録したことを特徴としている。
【発明の効果】
【００１８】
以上説明したように、本発明によれば、プリンタに印刷させる印刷データをアプリケーションが生成することを常に許可する第１の機能、前記アプリケーションが印刷データを生成することを常に禁止する第２の機能、前記プリンタドライバに設定された内容に応じて優先設定を変えるようにする第３の機能の中の何れかをユーザが任意に設定できるようにしたので、無効になる印刷属性をユーザが設定してしまう不都合を確実に防止しながら、印刷品質を向上させること及び速度を向上させることの両方を可能にすることができる。
また、本発明の他の特徴によれば、アプリケーションがプリンタで印刷可能な印刷データを生成することを常に許可することが選択されている場合には、設定が無効となる印刷属性設定をユーザインタフェース上においてユーザが明確に判別することができるようにしたので、無効となる設定をユーザは予め知ることができるという効果が得られる。
【発明を実施するための最良の形態】
【００１９】
図１から図８は、本発明を実施するための最良の形態を表す図面であり、これらの図を参照しながら本発明の実施の形態の説明を行う。なお、本実施の形態ではアプリケーション自身が生成するプリンタが印刷可能な印刷データを、Adobe社のポストスクリプト言語としている。このような種類のアプリケーションをポストスクリプトアプリケーションと呼んでいる。また、プリンタドライバは、アプリケーションの描画命令をポストスクリプト言語に変換するポストスクリプトプリンタドライバ、プリンタはページ記述言語としてポストスクリプト言語を採用しているポストスクリプトプリンタとしている。
【００２０】
図１は、プリントシステムの一例を示すものであり、１０１、１０２はクライアントコンピュータ、１０３はポストスクリプトプリンタ、１０４はコンピュータネットワークである。このプリントシステムにおいて、クライアントコンピュータ１０１，１０２には、アプリケーションの描画命令をポストスクリプト言語に変換するポストスクリプトプリンタドライバが搭載されている。
【００２１】
図２及び図３は、ユーザがアプリケーションに対して印刷を指示した後から印刷出力までの動作の流れを示したものである。本実施の形態で説明するポストスクリプトプリンタドライバは、機能設定の状況に応じて２つの動作形態があるため、それぞれのケースを図２及び図３で説明する。
【００２２】
図２は、ポストスクリプトアプリケーション自身がポストスクリプト言語を生成するケースを示している。
図２において、２０１はポストスクリプトアプリケーション、２０２はオペレーティングシステム、２０３はプリンタドライバ、２０４はポストスクリプトプリンタ、２０５はオペレーティングシステムからの描画データの送り先を、条件によりスプーラ２０６あるいはプリンタドライバ２０３に切り替えるディスパッチャである。
【００２３】
２０６は、ディスパッチャ２０５からの描画データを一旦スプールし、描画データを加工する機能をもつスプーラ、２０７はスプーラ２０６にスプールされた描画データを再度オペレーティングシステム２０２に送るデスプーラである。なお、図２のケースでは、スプーラ２０６及びデスプーラ２０７は動作しないケースとなるので、これらの詳細な説明は図３で行う。
【００２４】
ここで、図２の印刷の流れを説明する。まず、ユーザの印刷指示の後、図２-(１)において、ポストスクリプトアプリケーション２０１はプリンタドライバがポストスクリプトプリンタドライバか、非ポストスクリプトプリンタドライバかを判別するために、オペレーティングシステム２０２に問い合わせる。オペレーティングシステム２０２はポストスクリプトアプリケーション２０１からの問い合わせに対して、図２-(２)において、実際にプリンタドライバ２０３に問い合わせる。
【００２５】
前記問い合わせを受けたプリンタドライバ２０３は、自身はポストスクリプトプリンタドライバであるため、図２-(３)において、ポストスクリプトプリンタドライバであることをオペレーティングシステム２０２に返答する。オペレーティングシステム２０２は、プリンタドライバ２０３からの返答を図２-(４)においてポストスクリプトアプリケーションに対して返答する。
【００２６】
この時点で、ポストスクリプトアプリケーションは、プリンタドライバの種類がポストスクリプトプリンタドライバであることを認識する。この結果に基づき、ポストスクリプトアプリケーション２０１は、図２-(５)において、自身がポストスクリプトデータを生成し、そのデータはそのままオペレーティングシステム２０２、ディスパッチャ２０５、プリンタドライバ２０３を経由して、ポストスクリプトプリンタ２０４に送信され、印刷出力が行なわれる。
【００２７】
なお、図２のケース、すなわちポストスクリプトアプリケーション２０１自身がポストスクリプトデータを生成するケースにおいては、ポストスクリプトアプリケーション２０１が生成したポストスクリプトデータは、オペレーティングシステム２０２、ディスパッチャ２０５、プリンタドライバ２０３をそのまま通過させる必要があるため、途中でポストスクリプトデータの編集、加工を行うことはできない。
【００２８】
そのため、図２に示されるような構成において、プリンタドライバ２０３の機能として、ページ枠をつける機能やページの途中で給紙段を切り替える機能があったとしても、プリンタドライバ２０３は、ポストスクリプトアプリケーション２０１が生成したポストスクリプトデータはそのままプリンタドライバ２０３を通過してしまうため、ポストスクリプトデータを編集、加工することはできず、結果、プリンタドライバ２０３の機能が無効となってしまう。そこで、以下に説明する実施の形態においては、プリンタドライバ２０３が持っているポストスクリプトプリンタドライバの機能を有効にするために、ポストスクリプトプリンタドライバの機能が有効になるようなモードの提供を行う。
【００２９】
図３は、ポストスクリプトアプリケーション２０１自身はポストスクリプトデータを生成せず、オペレーティングシステムに対して描画命令を出力し、プリンタドライバ３０３がその描画命令からポストスクリプトデータを生成するケースを示している。また、ここでは、プリンタドライバ３０３の機能として、ドキュメントのページ途中で給紙段を変更する機能設定をする場合を考える。
【００３０】
図３において、３０１から３０７は図２と同じ構成である。なお、図３のケースでは、スプーラ３０６とデスプーラ３０７が動作する。この動作の詳細については、以下、印刷するまでのシーケンスで詳細に説明する。
【００３１】
まず、ユーザの印刷指示の後、図３-(１)において、ポストスクリプトアプリケーション３０１はプリンタドライバがポストスクリプトプリンタドライバか、非ポストスクリプトプリンタドライバかを判別するために、オペレーティングシステム３０２に問い合わせる。オペレーティングシステム３０２はポストスクリプトアプリケーション３０１からの問い合わせに対し、図３-(２)において、実際にプリンタドライバ３０３に問い合わせる。
【００３２】
ここで、プリンタドライバ３０３は、自身が非ポストスクリプトプリンタドライバである、と返答すると、図２のケースとなり、この場合、ポストスクリプトアプリケーション３０１が生成したポストスクリプトデータをそのままポストスクリプトプリンタに送信する必要があるため、プリンタドライバ３０３はドキュメントのページ途中で給紙段を変えるコードを挿入することができず、結果として給紙段変更機能は無効となってしまう。これを避けるために、プリンタドライバ３０３は図３-(３)において非ポストスクリプトプリンタドライバであることを返答する。オペレーティングシステム３０２は図３-(４)においてポストスクリプトアプリケーション３０１に対して、プリンタドライバの種類は、非ポストスクリプトプリンタドライバであることを返答する。
【００３３】
次に、ポストスクリプトアプリケーション３０１は、プリンタドライバが非ポストスクリプトプリンタドライバであることを認識したため、図３-(５)において、自身でポストスクリプトコードを生成することはせず、オペレーティングシステム３０２に対して描画命令を発行することにより、描画命令からポストスクリプトコードへの変換は、プリンタドライバ３０３が行う。
【００３４】
オペレーティングシステム３０２に渡された描画命令は、図３-(６)において、ディスパッチャ３０５に渡される。ディスパッチャ３０５は、オペレーティングシステム３０２から渡された描画命令であることを認識し、この描画命令は図３-(７)においてスプーラ３０６に送る。スプーラ３０６では、スプールされた描画命令をポストスクリプトプリンタドライバの機能設定に応じて編集や加工を行う。この編集や加工は、例えば、各ページにページ枠を付加したり、ページ番号、ユーザ名を付加したり、１ページ目、途中のページ、最後のページを認識し、ドキュメントのページ途中で給紙段を切り替えたりといったことである。
【００３５】
スプーラ３０６で編集や加工を施した描画命令は、図３-(８)においてデスプーラ３０７に送られる。次に、図３-(９)において、デスプーラ３０７オペレーティングシステム３０２に対し、描画命令として再度送られる。オペレーティングシステム３０２は、その描画命令を図３-(１０)においてディスパッチャ３０５に送るが、ディスパッチャ３０５は、この描画命令はデスプーラ３０９から送られてきたものと判断し、図３-(１１)において、プリンタドライバ３０３に送る。個々で渡された描画命令は、プリンタドライバ３０３においてポストスクリプトコードに変換され、図３-(１２)においてポストスクリプトプリンタ３０４に送信され、印刷が出力される。
【００３６】
続いて、プリンタドライバ３０３のユーザインタフェースにおいて、図２のモード、あるいは図３のモードの選択方法と、それに伴うユーザインタフェースの制御方法について説明する。
【００３７】
以下では説明のため、図２のモードをアプリケーションが独自にポストスクリプトコードを生成し、そのコードの中にはアプリケーションの機能設定も含まれていることから、アプリケーション機能を優先するモード、図３のモードは、ポストスクリプトアプリケーション３０１は単に描画命令を発行するのみで、ポストスクリプトプリンタドライバの機能設定ができることから、ドライバの機能を優先するモード、と呼ぶことにする。
【００３８】
図４は、このドライバの機能を優先するモードを設定するためのポストスクリプトプリンタドライバのユーザインタフェースを示すものであり、４０１はプリンタドライバのプロパティシート、４０２から４０５はそれぞれ、用紙サイズや部数を設定するページ設定シート、片面/両面設定やステープルの設定を行う仕上げシート、給紙段の選択を行う給紙シート、画質の調整を行う印刷品質シートである。
【００３９】
本実施の形態では、ドキュメント途中での給紙段の切り替えについて説明するので、他の設定のシート、ページ設定シート４０２、仕上げシート４０３、印刷品質シート４０５については詳細な説明を割愛する。
【００４０】
図４において、４０６はデバイスやドライバの機能を設定するデバイスの設定シートであり、４０７はデバイスの構成を示すデバイスビットマップ、４０８は給紙オプションを選択する、給紙オプションコントロール、４０９は排紙オプションを選択する排紙オプションコントロール、４１０はパンチユニットを設定するパンチユニットコントロールである。４１１は、図２あるいは図３のポストスクリプトプリンタドライバのモードを選択する、機能優先設定コントロールである。
【００４１】
図５は、機能優先設定コントロール４１１の選択肢を説明したものであり、５０１はドライバの機能設定に応じて優先設定を変える選択肢、５０２は常にドライバ機能を優先する選択肢、５０３は常にアプリケーション機能を優先する選択肢である。
【００４２】
ここで、５０１から５０３の選択肢を選択したときの動作について説明する。
機能優先設定コントロール４１１で、「ドライバ機能設定に応じて優先設定を変える」５０１を選択した場合、ポストスクリプトプリンタドライバの動作は、ドライバの機能設定に応じて図２あるいは図３のどちらかのモードが自動的に選択される。例えば、ユーザがポストスクリプトプリンタドライバの設定を何も行わず、すなわち、ポストスクリプトプリンタドライバがデフォルトの状態で、スプーラ２０６によるドライバ機能実現が必要ない場合、プリンタドライバは図２のモードで動作する。また、ユーザがポストスクリプトプリンタドライバの機能設定において、スプーラ３０６の機能が必要な設定を行った場合、例えば、ページ修飾や給紙段選択を行った場合、ポストスクリプトプリンタドライバは図３のモードで動作する。
【００４３】
次に、機能優先設定コントロール４１１で、「常にドライバ機能を優先する」５０２を選択した場合には、ポストスクリプトプリンタドライバの動作は、図３のモードが選択される。このとき、常にスプーラ３０６が動作することが保証されるため、ポストスクリプトプリンタドライバの機能は、すべての設定が有効となる。
【００４４】
最後に、機能優先設定コントロール４１１で、「常にアプリケーション機能を優先する」５０３を選択した場合には、ポストスクリプトプリンタドライバの動作は、図２のモードが選択される。このとき、ポストスクリプトアプリケーション３０１自身がポストスクリプトコードを生成し、生成されたコードがそのままポストスクリプトプリンタ２０４に送信されるため、スプーラ２０６を使用しなければ実現できない機能は無効となる。
【００４５】
次に、ユーザがプリンタドライバの機能優先設定４１１において、「常にアプリケーション機能を優先する」５０３を選択した場合のユーザインタフェース制御について説明する。実施の形態として、スプーラ２０６を使用する機能、ドキュメントの途中で給紙段を切り替える機能設定を例に、ユーザインタフェースの制御方法を説明する。
【００４６】
図６は、ドキュメントの途中で給紙段を切り替える機能を提供する設定シートであり、６０１はポストスクリプトプリンタドライバのプロパティシート、６０２から６０６は図４の４０２から４０６と同じシート、６０７は、給紙指定方法を選択するコントロールで、給紙部で指定するか、用紙タイプで指定するかが選択できる。６０８は給紙方法を選択するコントロールで、選択肢については、次の図７で説明する。６０９は給紙部を選択するコントロールである。
【００４７】
図７は、給紙方法選択コントロール６０８の選択肢であり、７０１は全ページを同じ用紙に印刷する選択肢、７０２は最初と最後とそれ以外のページで給紙部を切り替えることができる選択肢、７０３は最初、２枚目、最後とそれ以外のページで給紙部を切り替えることができる選択肢、６０４はOHPフィルムの間に用紙を挿入する選択肢である。
ここで、全ページを同じ用紙に印刷７０１と、OHPフィルムの間に用紙をはさむ７０４は図２及び図３のモードどちらでも動作する機能であるが、最初と最後の用紙を指定して印刷７０２と、最初と２枚目、最後の用紙を指定して印刷７０３は図２のモードでは無効であり、図３のモードのみで動作する。
【００４８】
このとき、ユーザが機能優先設定コントロール４１１において、常にアプリケーション機能を優先する５０３を選択した場合、ポストスクリプトプリンタドライバは図２のモードで動作することとなり、最初と最後の用紙を指定して印刷７０２と、最初と２枚目、最後の用紙を指定して印刷７０３は無効となる。ここで、機能優先設定コントロール４１１において、常にアプリケーション機能を優先する５０３が選択された場合、図８に示すように、最初と最後の用紙を指定して印刷８０２と、最初と２枚目、最後の用紙を指定して印刷８０３をグレイアウトする。
【００４９】
このようにして、機能優先設定コントロール４１１の設定により、動作が無効となる機能、あるいは選択肢をグレイアウトすることにより、ユーザは無効となる機能が予めわかるので、無効となる機能を設定してしまう不都合を解消できる。
【００５０】
なお、本実施の形態では、ユーザインターフェースコントロールの選択肢についてグレイアウトする例を示したが、これは他のコントロール、チェックボックスやリストボックスについても無効となる対象部分をグレイアウトすることにより、コントロールが無効であることが表現できる。
【００５１】
図９は、アプリケーションとプリンタドライバの動作を示す流れを示すフローチャートである。この図９を元に、機能優先設定の５０１から５０３の選択肢を選択したときの動作について説明する。
ユーザがアプリケーションに印刷開始の指示をすると、ステップＳ９０１において、アプリケーションはオペレーティングシステムを通してプリンタの種別を問い合わせる。
【００５２】
機能優先設定コントロール４１１で、「ドライバ機能設定に応じて優先設定を変える」５０１を選択した場合、ステップＳ９０２においてその選択が判別されて、ステップＳ９０３へ分岐する。ポストスクリプトプリンタドライバはステップＳ９０３においてプリンタドライバの設定値を取得する。
【００５３】
続いて、ステップＳ９０４において、ステップＳ９０３で取得したプリンタドライバの設定値のうち、スプーラ機能を使用する機能が選択されているか判定する。この判定で、スプーラ機能を使用する機能が１つでも選択されている場合、ステップＳ９０５に分岐、スプーラ機能を使用する機能が選択されていない場合、ステップＳ９０７に分岐する。
【００５４】
つまり、ポストスクリプトプリンタドライバの動作は、ステップＳ９０４の判定に応じて図２あるいは図３のどちらかのモードが自動的に選択されることになる。例えば、ユーザがポストスクリプトプリンタドライバの設定を何も行わず、すなわち、プリンタドライバがデフォルトの状態で、スプーラ２０６によるドライバ機能実現が必要ない場合、ステップＳ９０７に分岐し、ポストスクリプトプリンタドライバは図２のモードで動作する。
【００５５】
また、ユーザがポストスクリプトプリンタドライバの機能設定において、スプーラ３０６の機能が必要な設定を行った場合、例えば、ページ修飾や給紙段選択を行った場合、プリンタドライバはステップＳ９０５に分岐し、図３のモードで動作する。ステップＳ９０５あるいはステップＳ９０７に分岐後の動作については「常にドライバ機能を優先する」５０２、「常にアプリケーション機能を優先する」５０３の動作説明で後述する。
【００５６】
次に、ステップＳ９０２の判定において、機能優先設定コントロール４１１で、「常にドライバ機能を優先する」５０２を選択した場合、ステップＳ９０５に分岐する。ステップＳ９０５においては、この状態のときにはスプーラ機能を使用するため、プリンタドライバは、「非ポストスクリプトプリンタドライバ」であると返信する。この返信により、アプリケーションはプリンタドライバがポストスクリプトプリンタドライバではないと認識し、通常のオペレーティングシステムを通して描画を行う。
【００５７】
プリンタドライバはこの描画命令をポストスクリプトコードに変換し、印刷を遂行する。つまりこの設定では、プリンタドライバの動作は、図３のモードが選択されることとなる。このとき、常にスプーラ３０６が動作することが保証されるため、プリンタドライバの機能はすべて設定有効となる。
【００５８】
最後に、ステップＳ９０２の判定において、機能優先設定コントロール４１１で、「常にアプリケーション機能を優先する」５０３を選択した場合、ステップＳ９０７に分岐する。ステップＳ９０７においては、この状態のときにスプーラ機能は必要ないため、プリンタドライバは「ポストスクリプトプリンタドライバ」であると返信する。この返信により、アプリケーションは、プリンタがポストスクリプトプリンタであると認識し、アプリケーション自身がポストスクリプトコードを生成してプリンタドライバを経由して印刷が遂行される。
【００５９】
つまり、この設定ではプリンタドライバの動作は、図２のモードが選択されることとなる。このとき、ポストスクリプトアプリケーション自身がポストスクリプトコードを生成し、生成されたコードがそのままポストスクリプトプリンタに送信されるため、スプーラ２０６を使用しなければ実現できない機能は無効となる。
【００６０】
次に、ユーザがプリンタドライバの機能優先設定４１１において、「常にアプリケーション機能を優先する」５０３を選択した場合のユーザインタフェース制御について説明する。実施の形態として、スプーラ２０６を使用する機能、ドキュメントの途中で給紙段を切り替える機能設定、及びページ修飾機能を例に、ユーザインタフェースの制御方法を説明する。
【００６１】
図１０は、「常にアプリケーション機能を優先する」５０３を選択したときのプリンタドライバの制御の流れを示すフローチャートである。
まず、最初のステップＳ１００１において、機能優先設定コントロールが切り替えられたときの判断で、「常にアプリケーション機能を優先する」５０３以外が選択された場合は、ステップＳ１００３に進み、スプール機能を使用する機能を含めドライバ機能を有効にする。
【００６２】
また、ステップＳ１００１において、機能優先設定コントロールが切り替えられたときの判断で、「常にアプリケーション機能を優先する」５０３が選択された場合は、ステップＳ１００２に進み、スプール機能を使用するドライバ機能を無効にする。以下、無効にする場合の制御を説明する。
【００６３】
図６は、ドキュメントの途中で給紙段を切り替える機能を提供する設定シートであり、６０１はプリンタドライバのプロパティシート、６０２から６０６は図４の４０２から４０６と同じシート、６０７は、給紙指定方法を選択するコントロールで、給紙部で指定するか、用紙タイプで指定するかが選択できる。６０８は給紙方法を選択するコントロールで、選択肢については、次の図７を参照しながら説明する。６０９は給紙部を選択するコントロールである。
【００６４】
図７は、給紙方法選択コントロール６０８の選択肢であり、７０１は全ページを同じ用紙に印刷する選択肢、７０２は最初と最後とそれ以外のページで給紙部を切り替えることができる選択肢、７０３は最初、２枚目、最後とそれ以外のページで給紙部を切り替えることができる選択肢、７０４はOHPフィルムの間に用紙を挿入する選択肢である。
【００６５】
ここで、全ページを同じ用紙に印刷７０１と、OHPフィルムの間に用紙をはさむ７０４は図２及び図３のモードどちらでも動作する機能であるが、最初と最後の用紙を指定して印刷７０２と、最初と２枚目、最後の用紙を指定して印刷７０３は図２のモードでは無効であり、図３のモードのみで動作する。
【００６６】
このとき、ユーザが機能優先設定コントロール４１１において、常にアプリケーション機能を優先する５０３を選択した場合、ステップＳ１００２に進み、プリンタドライバは図２のモードで動作することとなり、最初と最後の用紙を指定して印刷７０２と、最初と２枚目、最後の用紙を指定して印刷７０３は無効となる。ここで、機能優先設定コントロール４１１において、常にアプリケーション機能を優先する５０３が選択された場合、図８に示すように、最初と最後の用紙を指定して印刷８０２と、最初と２枚目、最後の用紙を指定して印刷８０３をグレイアウトする。
【００６７】
このようにして、機能優先設定コントロール４１１の設定により、動作が無効となる機能、あるいは選択肢をグレイアウトすることにより、ユーザは無効となる機能を予め知ることができるようになるので、印刷の失敗を大幅に軽減することができる。
【００６８】
また、スプール機能を利用する別の機能例としては、ページ修飾機能がある。前記ページ修飾機能は、ユーザが印刷するドキュメントに対して、日付、ユーザ名、ページ番号を付加印刷する機能である。これらの機能はON/OFFで指定するため、図１１に示すように、チェックボックスコントロールで実現されている。
【００６９】
ユーザが機能優先設定コントロール４１１において、常にアプリケーション機能を優先する５０３を選択した場合、ステップＳ１００２に進み、プリンタドライバは図２のモードで動作することとなり、ページ修飾機能は無効となる。ここで、日付付加１１０１、ユーザ名付加１１０２、ページ番号１１０３のチェックボックスはグレイアウトする。
【００７０】
このようにして、機能優先設定コントロール４１１の設定により、動作が無効となる機能、あるいは選択肢をグレイアウトすることにより、ユーザは無効となる機能が予めわかる。なお、該当する印刷属性設定コントロール、あるいは選択肢にマウスカーソルがあるときに、ツールチップで情報を表示するようにしてもよい。
【００７１】
図１２ HYPERLINK "http://www6.ipdl.jpo.go.jp/Tokujitu/tjitemdrw.ipdl?N0000=234&N0500=1E#N/;>;?6>8=7///&N0001=175&N0552=9&N0553=000003" \t "tjitemdrw" は、本実施の形態による印刷システムのハード構成の一例を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続され、所定の処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００７２】
図１２において、３０００はホストコンピュータであり、ＲＯＭ３のプログラムＲＯＭ３ｂ或いは外部メモリ１１に記憶された文書処理プログラム等に基づいて図形，イメージ，文字，表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００７３】
なお、このＲＯＭ３のプログラムＲＯＭ３ｂ或いは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下、ＯＳ）等が記憶され、またＲＯＭ３のフォントＲＯＭ３ａ或いは外部メモリ１１には、前述の文書処理の際に使用するフォントデータ等が記憶され、同様にＲＯＭ３のデータ用ＲＯＭ３ｃ或いは外部メモリ１１には前述の文書処理等を行う際に使用する各種データが記憶されている。
【００７４】
２はＲＡＭであり、ＣＰＵ１の主メモリ，ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）であり、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）１０への表示を制御する。７はディスクコントローラ（ＤＫＣ）であり、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ），フレキシブルディスク（ＦＤ）等の外部メモリ１１へのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）であり、所定の双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続され、プリンタ１５００との通信制御処理を実行する。
【００７５】
なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、印刷設定や、印刷シーケンスの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００７６】
一方、プリンタ１５００において、１２はプリンタＣＰＵであり、ＲＯＭ１３のプログラムＲＯＭ１３ｂに記憶された制御プログラム等或いは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続された各種のデバイスへのアクセスを総括的に制御し、印刷部インタフェース（Ｉ／Ｆ）１６を介して接続された印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００７７】
なお、このＲＯＭ１３のプログラムＲＯＭ１３ｂには。ＣＰＵ１２の制御プログラム等が記憶され、またＲＯＭ１３のフォントＲＯＭ１３ａには、前述の出力情報を生成する際に使用するフォントデータ等が記憶され、同様にＲＯＭ１３のデータＲＯＭ１３ｃにはハードディスク等の外部メモリ１４がないプリンタの場合、ホストコンピュータ３０００上で利用される情報等が記憶されている。
また、ＣＰＵ１２は入力部１８を介してホストコンピュータ３０００と通信が可能となっており、プリンタ１５００内の情報等をホストコンピュータ３０００に通知可能に構成されている。
【００７８】
１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭであり、不図示の増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によってアクセスが制御される。また、外部メモリ１４は、オプションとして接続され、フォントデータ，エミュレーションプログラム，フォームデータ等を記憶する。１５０１は操作パネルであり、操作のための各種スイッチ及びＬＥＤ表示器等が配されている。
【００７９】
なお、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。更に、不図示のＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしても良い。
【００８０】
なお、本発明は複数の機器（例えば、ホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００８１】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００８２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８３】
プログラムコードを供給するための記憶媒体としては、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００８４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８５】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８６】
【図１】プリントシステムの概略構成を示す図である。
【図２】ユーザがアプリケーションに対して印刷を指示した後から印刷出力までの動作の流れを示す図である。
【図３】ユーザがアプリケーションに対して印刷を指示した後から印刷出力までの動作の流れを示す図である。
【図４】ドライバの機能を優先するモードを設定するためのプリンタドライバのユーザインタフェースを示す図である。
【図５】機能優先設定コントロールの選択肢を説明した図である。
【図６】ドキュメントの途中で給紙段を切り替える機能を提供する設定シートの一例を示す図である。
【図７】給紙方法選択コントロールの選択肢の一例を説明する図である。
【図８】機能優先設定コントロールにおいて、常にアプリケーション機能を優先するが選択された場合の表示例を示す図である。
【図９】プリケーションとプリンタドライバの動作を示す流れを示すフローチャートである。
【図１０】常にアプリケーション機能を優先する」を選択したときのプリンタドライバの制御の流れを示すフローチャートである。
【図１１】ページ修飾機能において、ユーザが印刷するドキュメントに対して、日付、ユーザ名、ページ番号を指定する場合の表示例を示し、無効となるページ修飾機能のチェックボックスをグレイアウトした例を示す図である。
【図１２】印刷システムのハード構成の一例を示すブロック図である。
【符号の説明】
【００８７】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
１２  ＣＰＵ
１３  ＲＯＭ
１９  ＲＡＭ
１０１  クライアントコンピュータ
１０２  クライアントコンピュータ
１０３  ポストスクリプトプリンタ
１０４  コンピュータネットワーク
２０１  ポストスクリプトアプリケーション
２０２  オペレーティングシステム
２０３  プリンタドライバ
２０４  ポストスクリプトプリンタ
２０５  ディスパッチャ
２０６  スプーラ
２０７  デスプーラ
【図１】
2005063315.tif 000003
【図２】
2005063315.tif 000004
【図３】
2005063315.tif 000005
【図４】
2005063315.tif 000006
【図５】
2005063315.tif 000007
【図６】
2005063315.tif 000008
【図７】
2005063315.tif 000009
【図８】
2005063315.tif 000010
【図９】
2005063315.tif 000011
【図１０】
2005063315.tif 000012
【図１１】
2005063315.tif 000013
【図１２】
2005063315.tif 000014