JP5700938B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP5700938B2
JP5700938B2 JP2010032374A JP2010032374A JP5700938B2 JP 5700938 B2 JP5700938 B2 JP 5700938B2 JP 2010032374 A JP2010032374 A JP 2010032374A JP 2010032374 A JP2010032374 A JP 2010032374A JP 5700938 B2 JP5700938 B2 JP 5700938B2
Authority
JP
Japan
Prior art keywords
application
setting
printer driver
print
setting information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010032374A
Other languages
English (en)
Other versions
JP2011170506A (ja
Inventor
章弘 三井
章弘 三井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010032374A priority Critical patent/JP5700938B2/ja
Publication of JP2011170506A publication Critical patent/JP2011170506A/ja
Application granted granted Critical
Publication of JP5700938B2 publication Critical patent/JP5700938B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
コンピュータ上のアプリケーションで作成したドキュメントを印刷する前に、ユーザーはアプリケーション上で用紙サイズを選択したり印刷部数を変更したりする等の印刷設定操作を行う。印刷設定操作で設定される印刷設定情報はドキュメントのデータとして保持されることが多いので、ドキュメントの変更を中断した後でも、再度開くと印刷設定情報が維持されている。また、ドキュメントファイルを他人に配布しても、そのまま印刷設定情報を引き継ぐことができる。しかし、印刷設定情報がそのまま引き継がれてしまうために、都合が良くないことがある。例えば、プリンタのデフォルト設定である「A4」、「縦」で印刷されるつもりで、印刷設定情報を特に変更することなく印刷したところ、ドキュメントが「A3」、「横」の印刷設定情報を持っていた場合、A3の横で印刷が行われてしまう。勿論、印刷の前に毎回、印刷設定情報を変更すればいいが、ユーザはデフォルト設定で印刷すると思いこんでいることも多く、ドキュメントの印刷設定情報を引き継ぐことがかえって問題になってしまう。
従来ではこのような問題に対処するために、様々な技術が提案されている。印刷設定情報に優先順位を設け、アプリケーションから渡される印刷設定情報を優先するか、ドライバで保存したファイルの印刷設定情報を優先するかを決定し、最終的な印刷設定情報を作る技術がある(特許文献1)。
その他の技術として、プリンタドライバが、アプリケーションの印刷設定情報を無視する方法もある。この方法を採用すると、例えばアプリケーション上で部単位印刷をONにしても、プリンタドライバで部単位印刷をONにしない限り、実際に部単位印刷の機能が動作しない。しかし、この方法ではアプリケーションで設定した値が実際の印刷に反映されないので、ユーザーは混乱してしまう。そこで、無視するだけでなく、プリンタドライバがアプリケーションの印刷設定情報を常に「プリンタドライバ設定」という値に変更してアプリケーションに返すということが行われていた。この方法を用いると、アプリケーション側には「プリンタドライバ設定」と表示されるので、ユーザーはプリンタドライバで設定した印刷設定情報が有効になるということがわかる。アプリケーションの印刷設定情報を無視するかどうかは、プリンタドライバの印刷設定画面で変更することが可能である。
特開2003−58382号公報
しかしながら、従来、実施されている方法では、アプリケーション側で現在の印刷設定情報がわからなくなってしまうという問題がある。アプリケーションには、「プリンタドライバ設定」と表示されるだけなので、ユーザーが実際に設定されている値を確認したい場合は、プリンタドライバの印刷設定画面を表示しなければならない。
本発明は、ドキュメントの印刷設定情報を引き継がないことを可能とすると共に、プリンタドライバの印刷設定画面で変更した印刷設定情報を有効にすることができ、アプリケーションの印刷設定画面で現在有効な印刷設定情報を表示可能とすることを目的とする。
そこで、本発明は、アプリケーションと、プリンタドライバと、を有する情報処理装置であって、前記プリンタドライバは、複数の設定項目の中でアプリケーションにより設定された印刷設定情報の値を優先する設定項目を選択する選択手段と、前記選択手段により選択された設定項目はアプリケーションにより設定された印刷設定情報の値が適用され、前記選択された設定項目とは異なる設定項目にはプリンタドライバにより設定された印刷設定情報の値が適用された印刷設定情報を前記アプリケーションに対して通知する通知手段と、を有し、前記通知手段により前記アプリケーションに通知された前記印刷設定情報の値は、前記アプリケーションにより提供される画面に表示され、前記印刷設定情報は、前記プリンタドライバはアクセスでき、かつ、前記アプリケーションがアクセスできない第一の設定領域と、前記プリンタドライバと前記アプリケーションとがアクセスできる第二の設定領域とを有し、アプリケーションにより設定された印刷設定情報の値は、前記第二の設定領域に保持され、プリンタドライバにより設定された印刷設定情報の値は、前記第一の設定領域に保持され、前記通知手段は、前記選択された設定項目とは異なる設定項目にはプリンタドライバにより設定された印刷設定情報の値を、前記第二の設定領域に保持させることによって、前記アプリケーションに対して通知する。
本発明によれば、ドキュメントの印刷設定情報を引き継がないことを可能とすると共に、プリンタドライバの印刷設定画面で変更した印刷設定情報を有効にすることができる。また、本発明によれば、アプリケーションの印刷設定画面で現在有効な印刷設定情報を表示可能とすることができる。
情報処理装置の一例であるクライアント等のハードウェア構成の一例を示す図である。 システム構成の一例を示す図である。 クライアント等の機能構成の一例を示す図(その1)である。 ユーザインタフェースの一例を示す図である。 DEVMODE構造体の一例を示す図である。 アプリケーションから印刷設定情報であるDEVMODE構造体が渡されたときのプリンタドライバの処理の一例を示すフローチャートである。 アプリケーションの印刷設定情報の値を優先するか否かを設定するユーザインタフェースの一例を示す図である。 レジストリの構成の一例を示す図である。 フラグの一例を示す図である。 レジストリのキーと、印刷設定の値と、の対応関係を示すリストの一例を示す図である。 プリンタドライバから印刷設定情報であるDEVMODE構造体をアプリケーションやプリントマネージャに返却する処理の一例を示すフローチャートである。 クライアント等の機能構成の一例を示す図(その2)である。 プリントチケットの一例を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、情報処理装置の一例であるクライアント等のハードウェア構成の一例を示す図である。なお、特に断らない限り、本実施形態の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであってもよい。
CPU101は、主記憶装置102のROM1021或いはRAM1022或いは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022は、CPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105は、オペレーティングシステム(OS)1053やアプリケーション1051等を記録する。キーボード1031やマウス・タッチパネル等に代表されるポインティングデバイス1032等の入力機器は、入力I/F103を通じて、ユーザーがコンピュータに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインタフェースであり、モニタ1041やプリンタ1042等の出力機器に対してデータを出力する。情報処理装置とプリンタ1042とは、直接接続されるローカルI/Oのみならず、通信I/F106を通じて接続されるネットワーク1061を通して接続されていてもよい。また、共通データシステムバス107は、モジュール間でそれぞれのデータのやり取りを司る。
なお、CPU101がプログラムに基づき処理を実行することによって、クライアント装置の機能が実現される。つまり、例えば、CPU101がプリンタドライバのプログラムに基づき処理を実行することによって、プリンタドライバの機能が実現される。同様に、CPU101が、アプリケーションのプログラムに基づき処理を実行することによって、アプリケーションの機能が実現される。なお、以下では説明の簡略化のため、CPU101ではなく、プリンタドライバやアプリケーションが処理を行うものとして説明を行う。また、本明細書に記載のフローチャートの各ステップは、関連するプログラムをCPU101が読み込んで実行することで実現される。
図2は、システム構成の一例を示す図である。印刷を行う文書や画像を作成するクライアントコンピュータ201/202が単体若しくは複数、ネットワークに接続されている。また、ネットワークには、クライアントのユーザーやプリンタを管理するサーバーコンピュータ203が接続されていることもある。プリンタ204/205が単体若しくは複数、ネットワークに接続されており、プリンタ205のように物理的に接続されていても実際には使用できないオフライン状態であることもある。ネットワークにはPAN、LAN、MAN、WAN等の小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。クラウド等、サーバーやプリンタがインターネットを越えて接続されていてもよい。なお、PANとは、Personal Area Networkの略である。また、LANとは、Local Area Networkの略である。また、MANとは、Metropolitan Area Networkの略である。また、WANとは、Wide Area Networkの略である。
図3は、クライアント等の機能構成の一例を示す図(その1)である。オペレーティングシステム310は、補助記憶装置105にOS1053として格納されている。グラフィックスエンジン302、プリントマネージャ304は、オペレーティングシステム310に含まれるモジュールである。プリンタドライバ303は、補助記憶装置105にプリンタドライバ1052として格納されている。アプリケーション301は、補助記憶装置105にアプリケーション1051として格納されている。ユーザーは、キーボードやマウス等の入力装置103を使用して、出力装置104のモニタに映し出されたアプリケーション301を使用して作成した文書3011の印刷処理の実行を指示する。
まず、ユーザーは、プリンタの選択として、印刷を実行するプリンタに対応したプリンタドライバ303を選択する。
次に、ユーザーは、印刷設定情報3013の作成を行う。文書の印刷設定情報3013は、プリンタドライバのコンフィギュレーションモジュール3032によって初期値が作成される。ユーザーは、コンフィギュレーションモジュール3032によって作成された印刷設定情報3013をアプリケーション若しくはプリンタドライバのユーザインタフェースを使用して、ユーザーが望む最終印刷結果になるように変更する。ユーザーは、例えば、出力する用紙サイズを変更したり、両面印刷、白黒モードを設定したりする。印刷設定情報3013は、RAM1022上に確保されるが、保存する形式はバイナリのデータ構造体であったり、マークアップ言語のXMLであったりする。この形態はプリンタドライバやオペレーティングシステム310の仕様によって異なる。印刷設定情報3013は、印刷の度に作成されるが、プリンタ309のオプション機器や、ユーザーごとの環境設定等設定を保持しておきたいものは、プリンタドライバがオペレーティングシステム310のレジストリデータベース308に保存する。印刷設定情報3013のユーザーごとのデフォルト値は、オペレーティングシステム310のプリントマネージャ304が、レジストリデータベース308に保存する。
印刷設定情報3013が作成されると、ユーザーによって印刷処理の実行が指示され、オペレーティングシステム310に印刷処理が通知される。オペレーティングシステム310は、グラフィックスエンジン302を通じて、指定されたプリンタドライバ303への描画を行う。印刷設定情報3013でレイアウト処理が指定されている場合は、プリンタドライバ303のレンダリングモジュール3031による処理が実行される前に一時的なスプールファイル305が作成され、レイアウトモジュール306が起動される。レイアウト処理とは、印刷設定情報に従って、ページの順番を入れ替えたり、一枚の用紙に複数ページを配置したりする処理を指す。レイアウトモジュール306は、レイアウトを変更した後、プリンタドライバ303への描画を行う。プリンタドライバ303は、レンダリングモジュール3031によって、描画データをプリンタが理解できるデータ言語、即ちプリンタ制御言語に変換する。このとき印刷設定情報3013も、プリンタ制御言語に変換される。レンダリングモジュール3031、コンフィギュレーションモジュール3032は共に複数の種類のプリンタ309に対して共通のモジュールであることが多く、機種ごとの違いは機種依存データファイル3033に記述されている。レンダリングモジュール3031、コンフィギュレーションモジュール3032は、適宜、この機種依存データファイル3033を参照する。プリンタ制御言語はスプールファイル305として逐次保存されていく。プリントマネージャ304は、スプールファイル305を取得し、印刷ジョブファイルとして印刷処理のスケジュール管理を行う。プリンタが印刷できる状態になると、プリントマネージャ304は、I/Oモジュール307を介してプリンタ309にプリンタ制御言語(印刷ジョブ)を送信する。このようにして、アプリケーションからの文書データ(ドキュメントデータ)がプリンタ制御言語に変換されて印刷が行われる。
ユーザーが文書3011の印刷設定情報3013を作成するには、アプリケーションによって印刷設定情報3013を直接、書き換えるか、コンフィギュレーションモジュール3032が提供するユーザインタフェース(図4)を使用する。印刷設定情報3013は、Windows(登録商標)オペレーティングシステムでは、DEVMODE構造体と呼ばれる図5の構造である。DEVMODE構造体は、オペレーティングシステムで公開定義されている標準の設定領域501と、プリンタドライバが拡張した設定領域502と、に分けられている。プリンタドライバ及びアプリケーションがアクセスする第二の領域の一例である標準の設定領域501には、用紙サイズや給紙段の切り替え、カラー白黒の切り替え等印刷の基本的な設定項目の値が含まれる。プリンタドライバがアクセスする第一の領域の一例である拡張した設定領域502には、プリンタのオプションに応じた排紙機能や、細かい色調整機能等の値が含まれる。アプリケーションは、プリンタドライバ303が持つ拡張設定を知ることはできないので、直接、印刷設定情報を書き換えることができるのは、システムで定義されている標準の設定領域501だけとなる。そこで、アプリケーションは、プリンタドライバ303のユーザインタフェース(図4)を表示させて、拡張された印刷設定情報をユーザーに設定させるのが一般的である。コンフィギュレーションモジュール3032は、ユーザインタフェースだけではなく、アプリケーションプログラムインタフェース(API:Application Programming Interface)も提供している。したがって、アプリケーションは、ユーザインタフェースを表示せずに、APIを使用して拡張された印刷設定を外部から行うこともできる。しかし、APIを使用する場合、アプリケーションがプリンタドライバ303ごとに対応しなければならない。したがって、一般的なアプリケーションは、標準の設定領域501のみ変更を行う。ここで、本実施形態におけるプリンタドライバ303は、拡張した設定領域502に、標準の設定領域501に含まれる設定項目5011〜5014とまったく同一の設定項目をコピーとして持っている(5021〜5024)。なお、図6のフローチャートが実行される前の設定項目5021〜5024には、プリンタドライバの初期設定情報の値又は図4のUIを使ってユーザーが設定した設定情報の値が含まれ、アプリケーションの設定情報の値は含まれない。
図6と図11とのフローチャートに従って、アプリケーションの印刷設定情報を反映しないようにしながら、アプリケーションに対して印刷設定情報を表示させるプリンタドライバ303の動作を説明する。
図6は、アプリケーションから印刷設定情報であるDEVMODE構造体が渡されたときのプリンタドライバ303の処理の一例を示すフローチャートである。この動作フローは、前述のように初期の印刷設定情報を作成する前処理であると同時に、印刷時に値同士が競合した印刷設定情報の整合性を取るマージ処理の前処理でもある。
まず、プリンタドライバは、アプリケーション若しくはプリントマネージャから印刷設定情報のDEVMODE構造体を受け取る(S901)。次にプリンタドライバは、ドライバの印刷設定情報にDEVMODE構造体の印刷設定情報を適用するために、DEVMODE構造体のデータを1つずつ読みだす準備として、DEVMODE構造体の標準の設定領域501の設定項目をリストにして並べる(S902)。この時点ではまだリストに設定項目が残っているので、プリンタドライバは、標準の設定領域501の設定項目を取り出す処理を終了せずに先に進む(S903)。次に、プリンタドライバは、リストから標準の設定領域501の設定項目を1つ取り出す(S904)。プリンタドライバは、標準の設定領域501の設定項目に対応したフラグをレジストリデータベースから取得する(S905)。ここでいうフラグとは、標準領域の各設定項目についてアプリケーションの印刷設定情報の値を「優先する」か、「優先しない」かの2択のデータである。フラグは、ユーザーが、プリンタドライバのユーザインタフェースでそれぞれの設定項目ごとに設定できる(図7参照)。なお、ユーザーは、図7のユーザインタフェースを使って部数と解像度以外の項目については、アプリケーションの設定値をプリンタドライバの設定値に対して優先して使用することを設定している。フラグは、プリンタドライバが、ユーザーごとにオペレーティングシステムのレジストリデータベースに保存する。レジストリデータベースは階層構造になっている。プリンタドライバは、ユーザーごとにプリンタの機種別、機能別に分けてフラグを保存する(図8参照)。
本実施形態の例では、Environmentの階層フォルダにアプリケーションの印刷設定情報の値を「優先する」か否かのフラグが保存される。フラグは、それぞれ名前と値(種類及びデータ)との形で保存される(図9参照)。例えば、標準領域の「部単位」設定についてアプリケーションの値を優先するかどうかであれば、DriverUIPriorityDmCollateという名前で、値は文字列(REG_SZ)で「DriverUIPriorityDmCollate」か「None」の2択のフラグとなる。値が、「DriverUIPriorityDmCollate」であればアプリケーションの値を「優先する」、「None」であればアプリケーションの値を「優先しない」となる。この値は、例えば図6の処理が始まる前にユーザーが設定しておくもので、デフォルトでは全てアプリケーションの値を「優先する」になっている。「優先する」がデフォルトなのは、一般的なプリンタドライバは、途中の動作に差異があるものの、結果として「優先する」の動作を行うので、何も設定しなければ従来のプリンタドライバと同等の動作を行うようにするためである。プリンタドライバは、標準領域の設定項目に対応したフラグがそれぞれどの設定項目にあたるかのリスト(図10)を持っており、このリストを基にレジストリデータベースからフラグを取得する。プリンタドライバは、標準領域の対象設定項目についてレジストリデータベースから取得したフラグの値がアプリケーションの値を「優先する」になっているかどうかを判定する(S906)。そして、「優先する」ならば拡張した設定領域502に含まれる標準領域の設定項目(5021〜5024)のうち対象設定項目(例えば、5012)と同一の部分(例えば、5022)に、標準の設定領域501の対象設定項目の値をコピーする(S907)。その結果、拡張した設定領域502の標準領域の設定項目に初期値として含まれていたプリンタドライバの値がアプリケーションの値に更新される。一方、プリンタドライバは、「優先しない」ならば特に何もせずに、次の標準領域の設定項目を取り出す。その結果、拡張した設定領域502の標準領域の設定項目(5021〜5024)における「優先しない」設定項目には、プリンタドライバの設定情報の値が残る。
全ての標準領域の設定項目を処理した場合、プリンタドライバは、拡張領域の印刷設定情報の値をドライバ印刷設定情報として取り込む(S908)。拡張した設定領域には標準領域の設定項目(5011〜5012)のコピー(5021〜5024)が保持されているので、プリンタドライバは、拡張した設定領域502から印刷設定情報全体を認識できる。そのあと、プリンタドライバは、初期の印刷設定情報を作成したり、印刷設定情報の整合性を取ったりする。そして、プリンタドライバは、必要があればユーザインタフェースを表示してプリンタドライバの印刷設定情報を画面に適用する等の、従来のプリンタドライバの処理を行う。
図11は、プリンタドライバから印刷設定情報であるDEVMODE構造体をアプリケーションやプリントマネージャに返却する処理の一例を示すフローチャートである。図11の処理は、プリンタドライバが、機能間の整合性を修正した印刷設定情報や、ユーザインタフェースで設定された印刷設定情報を返すときの動作フローである。
プリンタドライバは、S908において取り込まれたドライバ印刷設定情報を、DEVMODE構造体の拡張した設定領域502に書き出す(S1001)。標準領域の設定項目も拡張領域の中にコピーとして含まれるので、プリンタドライバは、拡張領域に全ての印刷設定情報の値を書きこむことができる。次に、プリンタドライバは、拡張領域の中の標準領域の値(5021〜5024)を、標準の設定領域501に全て書き出す(S1002)。図7の設定に従って具体的に説明すると、S1002を実行することにより標準の設定領域501の用紙、カラー/白紙、IMC(M)、部単位、給紙段の設定項目にはアプリケーションの設定情報の値が適用される。一方、標準の設定領域501の部数と解像度の設定項目にはプリンタドライバの設定情報の値が適用される。そして、プリンタドライバは、アプリケーションやプリントマネージャに最終的にDEVMODE構造体を返却して終了となる(S1003)。この動作フローでは、プリンタドライバは、アプリケーションの印刷設定情報を「優先する」かどうかについては判断しない。結果として、アプリケーションが認識できる標準領域の印刷設定情報の値として、ドライバの印刷設定情報の値がそのままアプリケーションに返されるので、ドライバで設定した印刷設定情報がアプリケーション上でも表示される。
このように本実施形態のプリンタドライバが、図7の機能を提供することで、ドキュメントの印刷設定情報を引き継ぐことにより生じるユーザーが意図しない印刷物が印刷されるという問題を解決できる。更に、アプリケーションの設定情報を優先しない項目には、プリンタドライバの設定情報の値が適用されたDEVMODEがアプリケーション等に返却されるため、ユーザーはアプリケーションのユーザインタフェースを使って設定情報の値を確認できる。
一般的に、ユーザーは、プリンタドライバのユーザインタフェースを開かないことが多いので、アプリケーション上で最終的な印刷設定情報がわかることは非常にメリットがある。また、アプリケーションで作成された文書に印刷設定情報を持っていても、事前にユーザーが「優先しない」ように設定しておくことで、思いがけない印刷が行われることがなくなる。また、「優先しない」ときは、ユーザーは、アプリケーション上で印刷設定情報を変更することができなくなってしまうが、プリンタドライバのユーザインタフェース上であれば印刷設定情報を変更することができるので、変更できないわけではない。
本実施形態のプリンタドライバでは、アプリケーションの印刷設定情報の値を「優先する」かどうかを、各設定項目に対して個別に設定するが、全ての設定項目に対してまとめて「優先する」かどうかを指定するようにしてもよい。このようにすると、ユーザーは細かい内容にこだわらなくても済む。また、設定できる値が標準の印刷設定情報の数だけとはいえ多い。したがって、プリンタドライバは、グルーピング化して複数の値をまとめて設定可能にするようにしてもよい。
また、本実施形態のプリンタドライバでは、アプリケーションの印刷設定情報の値を「優先する」かどうかをレジストリデータベースに保存していたが、印刷設定情報であるDEVMODE構造体の拡張された印刷設定情報の中に保存するようにしてもよい。
また、本実施形態のプリンタドライバでは、アプリケーションの印刷設定情報の値を「優先する」かどうかをユーザーごとに保存していたが、管理者が一括で保存するようにしてもよい。この場合は、「優先する」かどうかの値を変更することができるのも、管理者のみとなる。サーバー、クライアント型のネットワークを通じてプリンタドライバを配信する際に、管理者の設定として保存しておけば、全てのクライアントに同じ設定で使用させることができる。
また、本実施形態のプリンタドライバでは、アプリケーションの印刷設定情報の値を「優先する」かどうかを機種別のドライバごとに保存していたが、全ての機種で同じ設定が使われるように一括で保存するようにしてもよい。
<実施形態2>
図12は、クライアント等の機能構成の一例を示す図(その2)である。実施形態2は、XPSDrv印刷システムに本発明を適用した一実施形態である。ここで、XPSDrvとは、XPS(XML Paper Specification)と呼ばれる文書ファイルフォーマットをスプールデータとして使用し、印刷を行うプリンタドライバのことを指す。XPSDrv印刷処理システム全体は、オペレーティングシステム上で動作しており、補助記憶装置105のOS1053に相当する。プリントマネージャ414は、オペレーティングシステムに含まれるモジュールである。バージョン3プリンタドライバとプリントフィルタパイプラインの各フィルタとは、補助記憶装置105にプリンタドライバ1052として格納されている。GDI印刷アプリケーション(GDIアプリ)401とXPS印刷アプリケーション(XPSアプリ)402とは、補助記憶装置105にアプリケーション1051として格納されている。ユーザーは、キーボードやマウス等の入力装置103を使用して、出力装置104のモニタに映し出されたGDIアプリ401、若しくはXPSアプリ402から印刷処理を実行する。
まず、ユーザーは、印刷したいプリンタ416を選択する。これは、印刷を実行するプリンタ416に対応したプリンタドライバを選択することと同義である。次に印刷設定情報が設定される。アプリケーションが印刷設定用のメモリを確保し、アプリケーションかプリンタドライバのコンフィギュレーションモジュール405が、機種依存ファイル407を利用して設定データを埋めるという形で印刷設定情報が設定される。
GDIアプリ401では印刷設定情報としてバイナリのDEVMODE構造体403を用い、XPSアプリ402では、マークアップ言語のXMLで記載されたプリントチケット404を用いる。DEVMODE構造体403もプリントチケット404も、図5の構造のように、オペレーティングシステムが定義する標準領域とプリンタドライバが独自で定義する拡張領域とを持つ。また、プリントチケット404は、図13にあるようなXML形式で記述された印刷設定情報であるので、標準領域と拡張領域とは名前空間によって記載が分かれている。このDEVMODE構造体403若しくはプリントチケット404が印刷設定情報を保持しており、アプリケーションが、直接、書き換えることで印刷設定情報を変更する。
プリンタ416に依存した専用の設定情報は、コンフィギュレーションモジュール405が持つプリンタドライバのユーザインタフェース(図4)を表示させ、ユーザーが、ユーザインタフェースを操作することで設定される。プリンタドライバは、ユーザインタフェースの設定に従い、DEVMODE構造体403若しくはプリントチケット404のプリンタ416に依存した設定を変更する。印刷設定とは、より具体的には、出力する用紙サイズを「A4」にする、両面印刷を行う、カラーと白黒とを切り替える、給紙段を指定する等の設定のことを指す。プリントチケット404は、印刷設定情報がXML形式で記述されているので、XPSアプリ402が全ての設定値を直接、変更して書き換えることは容易だが、従来のようにプリンタドライバのユーザインタフェースを使って設定変更してもよい。
印刷設定情報は、文書印刷の度に作成されるが、プリンタ416のオプション機器や、ユーザーごとの環境設定等、設定を保持しておきたいものは、プリンタドライバがオペレーティングシステムのレジストリデータベース417に保存する。印刷設定情報のユーザーごとのデフォルト値はオペレーティングシステムのプリントマネージャ414が、レジストリデータベース417に保存する。最後に描画データの変換が行われる。印刷設定情報が確定した場合、ユーザーは、アプリケーションから印刷処理を実行する。
GDIアプリ401から印刷する場合は、バージョン3プリンタドライバの形態を取るGDItoXPS変換モジュール408に描画データが送られ、XPSスプールファイル409が作成される。バージョン3プリンタドライバとは、Windows2000以降に対応したプリンタドライバのことを指す。このときGDItoXPS変換モジュール408は、コンフィギュレーションモジュール405を呼び出し、印刷設定情報をDEVMODE構造体403からプリントチケット404に変換する。XPSアプリ402から印刷する場合、XPSファイルをXPSアプリ自身が生成するのと、オペレーティングシステムがXPSアプリからの描画命令に応じてXPSファイルを生成するのとの2通りの方法がある。どちらの方法であっても、印刷の途中でXPSスプールファイル409が生成される。このようにXPSDrv印刷システムは、印刷時に必ずXPSスプールファイル409が生成されるのが特徴である。
XPSスプールファイル409が生成された場合、プリントフィルタパイプラインプロセスに処理が渡される。プリントフィルタパイプラインプロセスは、複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル410でフィルタの数や順番を制御する。プリントフィルタパイプラインプロセスで動作するフィルタパイプラインマネージャは、フィルタコンフィギュレーションファイル410に従って、この実施形態では設定フィルタ411、レイアウトフィルタ412、レンダラフィルタ413の順に処理を行う。処理は、XPSスプールファイル409をフィルタに受け渡すことで行われ、フィルタがそれぞれXPSスプールファイル409を加工し次のフィルタに渡していくことで処理が進む。最後に、プリンタが理解できるデータ言語であるプリンタ制御言語(以下、PDL(Page Description Language)と略す)となって出力される。勿論、プリンタ416がXPSスプールファイル409を直接、読み込んで印刷できるXPSダイレクトプリンタであれば、全てのフィルタをスルーして印刷を行ってもよい。
設定フィルタ411では、プリントチケットを読み込んで印刷に必要なデータをプリントチケットに書き込む処理を、レイアウトフィルタ412では倍率の変更や製本の面付けレイアウトやスタンプ等レイアウトに関する処理を行う。レイアウトフィルタ412では、XPSスプールファイル409に含まれるプリントチケット404に従って動作する。そのため、例えば面付けの設定がプリントチケット404に存在しないときは、レイアウトフィルタ412は、何も動作せず処理をスルーして、次のフィルタにXPSスプールファイル409をそのまま渡す。最後のレンダラフィルタ413では、XPSスプールファイル409をレンダリングしてPDLに変換する。PDLデータは、印刷処理のスケジュール管理を行うプリントマネージャ414で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。
プリントマネージャ414は、プリンタ416が印刷できる状態になった場合、キューに登録した順にPDLデータをI/Oモニタ415を通して送信する。このようにして、アプリケーションからの文書データをプリンタ言語に変換することがプリンタドライバの主な役目である。
このXPSDrv印刷処理システムであっても、印刷設定情報は標準領域と、拡張領域と、を持っており、プリンタドライバのコンフィギュレーションモジュールが処理を行う。プリントチケットの拡張領域にも、標準領域と同一の設定項目をコピーとして持つ。このことで、プリンタドライバが、実施形態1の図6と図11との動作フローに従って、アプリケーションの値を「優先する」かどうかの処理を実行することができる。標準領域との区別は名前空間で行うので、アプリケーションがどちらの設定を適用していいか迷うことはない。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上上述した各実施形態によれば、ドキュメントの印刷設定情報を引き継がないことを可能とすると共に、プリンタドライバの印刷設定画面で変更した印刷設定情報を有効にすることができる。また、アプリケーションの印刷設定画面で現在有効な印刷設定情報を表示可能とすることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

Claims (6)

  1. アプリケーションと、プリンタドライバと、を有する情報処理装置であって、
    前記プリンタドライバは、
    複数の設定項目の中でアプリケーションにより設定された印刷設定情報の値を優先する設定項目を選択する選択手段と、
    前記選択手段により選択された設定項目はアプリケーションにより設定された印刷設定情報の値が適用され、前記選択された設定項目とは異なる設定項目にはプリンタドライバにより設定された印刷設定情報の値が適用された印刷設定情報を前記アプリケーションに対して通知する通知手段と、
    を有し、
    前記通知手段により前記アプリケーションに通知された前記印刷設定情報の値は、前記アプリケーションにより提供される画面に表示され
    前記印刷設定情報は、前記プリンタドライバはアクセスでき、かつ、前記アプリケーションがアクセスできない第一の設定領域と、前記プリンタドライバと前記アプリケーションとがアクセスできる第二の設定領域とを有し、
    アプリケーションにより設定された印刷設定情報の値は、前記第二の設定領域に保持され、プリンタドライバにより設定された印刷設定情報の値は、前記第一の設定領域に保持され、
    前記通知手段は、前記選択された設定項目とは異なる設定項目にはプリンタドライバにより設定された印刷設定情報の値を、前記第二の設定領域に保持させることによって、前記アプリケーションに対して通知する情報処理装置。
  2. 前記複数の設定項目は、用紙の設定項目と、カラー/白黒の設定項目とを含む請求項1に記載の情報処理装置。
  3. アプリケーションと、プリンタドライバと、を有する情報処理装置が実行する情報処理方法であって、
    前記プリンタドライバが、複数の設定項目の中でアプリケーションにより設定された印刷設定情報の値を優先する設定項目を選択する選択ステップと、
    前記プリンタドライバが、前記選択ステップで選択された設定項目はアプリケーションにより設定された印刷設定情報の値が適用され、前記選択された設定項目とは異なる設定項目にはプリンタドライバにより設定された印刷設定情報の値が適用された印刷設定情報を前記アプリケーションに対して通知する通知ステップと、
    を含み、
    前記通知ステップにより前記アプリケーションに通知された前記印刷設定情報の値は、前記アプリケーションにより提供される画面に表示され、
    前記印刷設定情報は、前記プリンタドライバはアクセスでき、かつ、前記アプリケーションがアクセスできない第一の設定領域と、前記プリンタドライバと前記アプリケーションとがアクセスできる第二の設定領域とを有し、
    アプリケーションにより設定された印刷設定情報の値は、前記第二の設定領域に保持され、プリンタドライバにより設定された印刷設定情報の値は、前記第一の設定領域に保持され、
    前記通知ステップでは、前記選択された設定項目とは異なる設定項目にはプリンタドライバにより設定された印刷設定情報の値を、前記第二の設定領域に保持させることによって、前記アプリケーションに対して通知する情報処理方法。
  4. 前記複数の設定項目は、用紙の設定項目と、カラー/白黒の設定項目とを含む請求項3に記載の情報処理方法。
  5. コンピュータを、プリンタドライバとして機能させるプログラムであって、
    前記プリンタドライバは、
    複数の設定項目の中でアプリケーションにより設定された印刷設定情報の値を優先する設定項目を選択する選択手段と、
    前記選択手段により選択された設定項目はアプリケーションにより設定された印刷設定情報の値が適用され、前記選択された設定項目とは異なる設定項目にはプリンタドライバにより設定された印刷設定情報の値が適用された印刷設定情報を前記アプリケーションに
    対して通知する通知手段と、
    を有し、
    前記通知手段により前記アプリケーションに通知された前記印刷設定情報の値は、前記アプリケーションにより提供される画面に表示され、
    前記印刷設定情報は、前記プリンタドライバはアクセスでき、かつ、前記アプリケーションがアクセスできない第一の設定領域と、前記プリンタドライバと前記アプリケーションとがアクセスできる第二の設定領域とを有し、
    アプリケーションにより設定された印刷設定情報の値は、前記第二の設定領域に保持され、プリンタドライバにより設定された印刷設定情報の値は、前記第一の設定領域に保持され、
    前記通知手段は、前記選択された設定項目とは異なる設定項目にはプリンタドライバにより設定された印刷設定情報の値を、前記第二の設定領域に保持させることによって、前記アプリケーションに対して通知するプログラム。
  6. 前記複数の設定項目は、用紙の設定項目と、カラー/白黒の設定項目とを含む請求項に記載のプログラム。
JP2010032374A 2010-02-17 2010-02-17 情報処理装置、情報処理方法及びプログラム Active JP5700938B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010032374A JP5700938B2 (ja) 2010-02-17 2010-02-17 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010032374A JP5700938B2 (ja) 2010-02-17 2010-02-17 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011170506A JP2011170506A (ja) 2011-09-01
JP5700938B2 true JP5700938B2 (ja) 2015-04-15

Family

ID=44684590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010032374A Active JP5700938B2 (ja) 2010-02-17 2010-02-17 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5700938B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5998665B2 (ja) * 2012-06-14 2016-09-28 株式会社リコー 情報処理装置、プログラムおよび記録媒体
JP5962391B2 (ja) 2012-09-27 2016-08-03 ブラザー工業株式会社 印刷制御プログラム、及び、印刷制御装置
JP2015079326A (ja) * 2013-10-16 2015-04-23 シャープ株式会社 印刷制御プログラム
JP6357957B2 (ja) * 2014-08-07 2018-07-18 コニカミノルタ株式会社 印刷データ送信装置、プログラム、印刷データ生成方法
JP6500466B2 (ja) * 2015-02-04 2019-04-17 富士ゼロックス株式会社 プリンタドライバ、情報処理装置及び文書管理システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058332A (ja) * 2001-08-09 2003-02-28 Ricoh Co Ltd プリンタ制御方法及び該方法を実行するためのプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP4310172B2 (ja) * 2003-11-12 2009-08-05 キヤノン株式会社 情報処理装置、方法、システム、制御プログラム
JP2006285870A (ja) * 2005-04-04 2006-10-19 Canon Inc 印刷制御装置、印刷制御方法、及びプログラム
JP2008186194A (ja) * 2007-01-29 2008-08-14 Brother Ind Ltd 印刷制御システム、プリンタ及びプリンタ制御プログラム

Also Published As

Publication number Publication date
JP2011170506A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
US11016782B2 (en) Information processing apparatus, information processing method, and storage medium
JP5478937B2 (ja) 情報処理装置、制御方法、プログラム
US8537438B2 (en) Information processing apparatus in which a plurality of types of print drivers and plurality of graphics units run, control method therefor, and program
RU2560793C2 (ru) Аппарат обработки информации, способ управления и носитель информации
JP6552189B2 (ja) 情報処理装置、制御方法およびドライバーインストールプログラム
JP2008033812A (ja) 文書処理装置および文書処理方法
JP6315965B2 (ja) 情報処理装置、プログラム及び制御方法
JP4793465B2 (ja) 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
US9223521B2 (en) Information processing apparatus, recording medium, and control method
JP2014109854A (ja) 情報処理装置および制御方法およびプログラム
JP5132361B2 (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP5700938B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6289276B2 (ja) 情報処理装置およびプログラム、制御方法
JP6575270B2 (ja) 印刷設定支援装置及びプログラム
JP5424134B2 (ja) 情報処理装置、プリンタドライバ及び印刷設定方法並びにデータ構造体
JP2015121974A (ja) 情報処理装置、情報処理方法、およびプログラム
US10310788B2 (en) Control method for generating data used for printing and information processing apparatus
JP2009211713A (ja) ユーザインタフェース制御装置および方法
JP5726344B2 (ja) 情報処理装置、制御方法、プログラム
JP7393477B2 (ja) 情報処理装置とその制御方法、およびコンピュータプログラム
JP6466010B2 (ja) 情報処理装置、プログラム
JP4522398B2 (ja) ユーザインタフェース制御装置および方法
JP6265177B2 (ja) プリンタードライバー及び情報処理装置
JP2012008792A (ja) 情報処理装置及びプリンタドライバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140319

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141112

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150217

R151 Written notification of patent or utility model registration

Ref document number: 5700938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151