(57)【要約】【課題】本発明は、ＯＳ上で動作するアプリケーションを介して印刷指示を行う際に、印刷指示のあった文書データに予め設定された印刷設定によっておこる印刷設定ミスを防止して、ユーザの所望する印刷を行うことができる情報処理装置を提供する。【解決手段】情報処理装置は、文書データに対してドキュメントプロパティで印刷設定がなされたときの設定日時（タイムスタンプ）をＤＥＶＭＯＤＥ情報５０１に保持し、アプリケーション２０１からの印刷指示がなされたときにドキュメントプロパティで印刷設定がなされたＤＥＶＭＯＤＥ情報５０１または設定日時が保持されたＤＥＶＭＯＤＥ情報５０１を取得する。そして、取得した印刷設定情報から設定日時を取得すると共に、印刷指示をしたアプリケーションの起動日時を取得し、当該起動日時と設定日時とを比較した結果に基づいて印刷設定を変更する。【選択図】図１２
2009146277.tif 000002
【特許請求の範囲】
【請求項１】
ページ単位またはシート単位で構成される文書データに対して印刷設定するためのプリンタドライバを備える情報処理装置であって、
前記文書データのページ単位またはシート単位で保持する印刷設定を行う第１の印刷設定手段と、
前記第１の印刷設定手段で設定された印刷設定の印刷設定情報とともに、当該印刷設定された設定日時を記憶する印刷設定情報記憶手段と、
前記プリンタドライバが保持する印刷設定を行う第２の印刷設定手段と、
前記文書データの印刷指示に従って、オペレーティングシステムから前記印刷設定情報記憶手段で記憶された印刷設定情報を取得する印刷設定情報取得手段と、
前記印刷設定情報取得手段で取得された印刷設定情報とともに記憶される設定日時と前記文書データの印刷指示がなされたアプリケーションの起動日時に従って、前記第１の印刷設定手段で設定された印刷設定から前記第２の印刷設定手段で設定された印刷設定に変更する印刷設定変更手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記印刷設定変更手段は、前記起動日時よりも前記設定日時の方が古いときは、前記第２の印刷設定手段で設定された印刷設定に変更することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記印刷設定変更手段は、前記印刷設定情報取得手段により設定日時を含む印刷設定情報が取得できない場合は、前記第１の印刷設定手段で設定された印刷設定に切り替えることを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記印刷設定変更手段は、前記第１の印刷設定手段によりページ単位またはシート単位で設定された印刷設定の設定日時と前記起動日時との比較結果に基づいて前記印刷設定を変更することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記印刷設定情報記憶手段は、情報処理装置にログインしたユーザのユーザ名を前記印刷設定情報とともに記憶することを特徴とし、
印刷実行時のログインユーザのユーザ名を取得するユーザ名取得手段と、
前記印刷設定情報取得手段により取得した印刷設定情報とともに記憶されているユーザ名と前記ユーザ名取得手段により取得したユーザ名と比較するユーザ名比較手段とをさらに備え、
前記印刷設定変更手段は、ユーザ名が同一の場合は、前記アプリケーションの再起動後であっても印刷設定を変更しないことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記印刷設定情報記憶手段は、前記アプリケーションの再起動後も印刷設定情報を有効にするか否かを示す印刷設定適用フラグを前記印刷設定情報とともに記憶することを特徴とし、
前記印刷設定情報取得手段により取得した印刷設定情報とともに記憶されている印刷設定適用フラグを取得する印刷設定適用フラグ取得手段を備え、
前記印刷設定変更手段は、前記印刷設定適用フラグ取得手段により取得した印刷設定適用フラグに応じて前記印刷設定の変更を行うことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記アプリケーションの再起動後も印刷設定を有効にするか否かを設定するためのダイアログを表示する表示手段をさらに備えることを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記印刷設定情報は、ＤＥＶＭＯＤＥ構造体であることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
ページ単位またはシート単位で構成される文書データに対して印刷設定するためのプリンタドライバを備える情報処理装置の印刷制御方法であって、
前記文書データのページ単位またはシート単位で保持する印刷設定を行う第１の印刷設定工程と、
前記第１の印刷設定工程で設定された印刷設定の印刷設定情報とともに、当該印刷設定された設定日時を記憶する印刷設定情報記憶工程と、
前記プリンタドライバが保持する印刷設定を行う第２の印刷設定工程と、
前記文書データの印刷指示に従って、オペレーティングシステムから前記印刷設定情報記憶工程で記憶された印刷設定情報を取得する印刷設定情報取得工程と、
前記印刷設定情報取得工程で取得された印刷設定情報とともに記憶される設定日時と前記文書データの印刷指示がなされたアプリケーションの起動日時に従って、前記第１の印刷設定工程で設定された印刷設定から前記第２の印刷設定工程で設定された印刷設定に変更する印刷設定変更工程とを備えることを特徴とする印刷制御方法。
【請求項１０】
ページ単位またはシート単位で構成される文書データに対して印刷設定するためのプリンタドライバを備える情報処理装置の印刷制御方法をコンピュータに実行させるためのプログラムであって、
前記文書データのページ単位またはシート単位で保持する印刷設定を行う第１の印刷設定ステップと、
前記第１の印刷設定ステップで設定された印刷設定の印刷設定情報とともに、当該印刷設定された設定日時を記憶する印刷設定情報記憶ステップと、
前記プリンタドライバが保持する印刷設定を行う第２の印刷設定ステップと、
前記文書データの印刷指示に従って、オペレーティングシステムから前記印刷設定情報記憶ステップで記憶された印刷設定情報を取得する印刷設定情報取得ステップと、
前記印刷設定情報取得ステップで取得された印刷設定情報とともに記憶される設定日時と前記文書データの印刷指示がなされたアプリケーションの起動日時に従って、前記第１の印刷設定ステップで設定された印刷設定から前記第２の印刷設定ステップで設定された印刷設定に変更する印刷設定変更ステップとを備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び印刷制御方法、並びにプログラムに関し、特に、ユーザにより情報処理装置で設定された印刷設定に基づき印刷装置が印刷処理を実行する印刷システムの情報処理装置及び印刷制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）環境における印刷では、一般的にプリンタドライバという印刷処理モジュールを介して印刷処理が為される。プリンタドライバは、アプリケーションがＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）経由で指定してきたＤＥＶＭＯＤＥと呼ばれる印刷設定に基づき印刷処理を行う。ＤＥＶＭＯＤＥは、印刷設定を定義するためのデータ構造体であり、Ｗｉｎｄｏｗｓ（登録商標）環境下で印刷を行う場合に使用される。ＤＥＶＭＯＤＥ構造体はバイナリデータ構造であり、拡張領域（ＰｒｉｖａｔｅＤＥＶＭＯＤＥメンバ）にはプリンタドライバが比較的自由にデータを配置することができる。
【０００３】
印刷時に使用されるＤＥＶＭＯＤＥには、プリンタドライバに初期値として保持されているものやアプリケーションにより作成された文書データファイルに保持されているものなど様々な形態があり、印刷実行時にどのＤＥＶＭＯＤＥを使用して印刷するかはアプリケーションの動作仕様に依存する。例えば、Ｍｉｃｒｏｓｏｆｔ社製のＥｘｃｅｌ（登録商標）（以下、「ＭＳ−Ｅｘｃｅｌ」と呼ぶ。）というアプリケーションでは、拡張子ｘｌｓのデータファイルにＤＥＶＭＯＤＥが保持されており、当該アプリケーションによる複数の印刷メニューからＤＥＶＭＯＤＥの変更が可能となっている。また、ＭＳ−Ｅｘｃｅｌのデータファイルにおける各シートにＤＥＶＭＯＤＥが保持されており、シート単位に印刷設定が適用される仕様となっている。
【０００４】
このため、ユーザがＭＳ−ＥｘｃｅｌのようなＤＥＶＭＯＤＥを保持するアプリケーションを介して印刷指示を行う場合、ユーザ以外の他のユーザがＭＳ−Ｅｘｃｅｌのデータファイルに対して過去に設定した印刷設定（ＤＥＶＭＯＤＥ）が当該ユーザによる印刷実行時に反映されてしまうことがあり、ユーザが所望する出力結果が得られない場合がある。
【０００５】
上記問題を回避する手段の１つとして、印刷ダイアログを表示したか否かのフラグを持ち、当該フラグがＯＦＦの場合は印刷実行時に簡易印刷確認ダイアログを表示する印刷設定簡易表示システムが開示されている（例えば、特許文献１参照）。また、この印刷設定簡易表示システムでは、ユーザが所望する印刷設定と異なる場合、印刷設定変更ボタンを押下することで印刷設定画面を表示することが可能となっている。
【特許文献１】特開２００６−７９２４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載された印刷設定簡易表示システムは、ユーザが予め入力した印刷設定が記憶と異なっていた場合にユーザの期待した出力と異なる結果となる問題を未然に防ぐことは可能であるが、印刷処理を行う度に、ユーザが印刷設定の内容を確認しなければならない。また、印刷設定の内容がユーザが意図したものと異なる場合、印刷設定画面から再設定し直す必要があり、ユーザに煩雑な作業が要求されるという課題がある。
【０００７】
本発明は、ＯＳ上で動作するアプリケーションを介して印刷指示を行う際に、印刷指示のあった文書データに予め設定された印刷設定によっておこる印刷設定ミスを防止して、ユーザの所望する印刷を行うことができる情報処理装置及び印刷制御方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１記載の情報処理装置は、ページ単位またはシート単位で構成される文書データに対して印刷設定するためのプリンタドライバを備える情報処理装置であって、前記文書データのページ単位またはシート単位で保持する印刷設定を行う第１の印刷設定手段と、前記第１の印刷設定手段で設定された印刷設定の印刷設定情報とともに、当該印刷設定された設定日時を記憶する印刷設定情報記憶手段と、前記プリンタドライバが保持する印刷設定を行う第２の印刷設定手段と、前記文書データの印刷指示に従って、オペレーティングシステムから前記印刷設定情報記憶手段で記憶された印刷設定情報を取得する印刷設定情報取得手段と、前記印刷設定情報取得手段で取得された印刷設定情報とともに記憶される設定日時と前記文書データの印刷指示がなされたアプリケーションの起動日時に従って、前記第１の印刷設定手段で設定された印刷設定から前記第２の印刷設定手段で設定された印刷設定に変更する印刷設定変更手段とを備えることを特徴とする。
【０００９】
上記目的を達成するために、請求項９記載の印刷制御方法は、ページ単位またはシート単位で構成される文書データに対して印刷設定するためのプリンタドライバを備える情報処理装置の印刷制御方法であって、前記文書データのページ単位またはシート単位で保持する印刷設定を行う第１の印刷設定工程と、前記第１の印刷設定工程で設定された印刷設定の印刷設定情報とともに、当該印刷設定された設定日時を記憶する印刷設定情報記憶工程と、前記プリンタドライバが保持する印刷設定を行う第２の印刷設定工程と、前記文書データの印刷指示に従って、オペレーティングシステムから前記印刷設定情報記憶工程で記憶された印刷設定情報を取得する印刷設定情報取得工程と、前記印刷設定情報取得工程で取得された印刷設定情報とともに記憶される設定日時と前記文書データの印刷指示がなされたアプリケーションの起動日時に従って、前記第１の印刷設定工程で設定された印刷設定から前記第２の印刷設定工程で設定された印刷設定に変更する印刷設定変更工程とを備えることを特徴とする。
【００１０】
上記目的を達成するために、請求項１０記載のプログラムは、ページ単位またはシート単位で構成される文書データに対して印刷設定するためのプリンタドライバを備える情報処理装置の印刷制御方法をコンピュータに実行させるためのプログラムであって、前記文書データのページ単位またはシート単位で保持する印刷設定を行う第１の印刷設定ステップと、前記第１の印刷設定ステップで設定された印刷設定の印刷設定情報とともに、当該印刷設定された設定日時を記憶する印刷設定情報記憶ステップと、前記プリンタドライバが保持する印刷設定を行う第２の印刷設定ステップと、前記文書データの印刷指示に従って、オペレーティングシステムから前記印刷設定情報記憶ステップで記憶された印刷設定情報を取得する印刷設定情報取得ステップと、前記印刷設定情報取得ステップで取得された印刷設定情報とともに記憶される設定日時と前記文書データの印刷指示がなされたアプリケーションの起動日時に従って、前記第１の印刷設定ステップで設定された印刷設定から前記第２の印刷設定ステップで設定された印刷設定に変更する印刷設定変更ステップとを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ＯＳ上で動作するアプリケーションを介して印刷指示を行う際に、印刷指示のあった文書データに予め設定された印刷設定によっておこる印刷設定ミスを防止して、ユーザの所望する印刷を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１３】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る情報処理装置を含む印刷システムの構成例を示すブロック図である。
【００１４】
図１において、本発明の実施形態における印刷システムは、情報処理装置としてのコンピュータ３０００と、印刷装置としてのプリンタ１５００とを備え、これらはデータ転送経路１２１を介して互い接続されている。
【００１５】
コンピュータ３０００は、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、入力コントローラ（入力Ｃ）１０５と、ビデオコントローラ（ＶＣ）１０６と、メモリコントローラ（ＭＣ）１０７と、通信Ｉ／Ｆコントローラ（通信Ｉ／Ｆ  Ｃ）１０８と、操作装置１０９と、表示装置１１０と、外部メモリ１１１とを備える。ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、入力コントローラ１０５、ビデオコントローラ１０６、メモリコントローラ１０７、及び通信Ｉ／Ｆコントローラ１０８は、システムバス１０４を介して互いに接続されている。
【００１６】
ＣＰＵ１０１は、後述する処理の実行に際して必要なプログラム等をＲＡＭ１０２にロードして、プログラムを実行することで各種動作を実現する。また、ＣＰＵ１０１は、例えば、ＲＡＭ１０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、表示装置１１０上に表示情報を表示する。また、ＣＰＵ１０１は、表示装置１１０に不図示のマウスカーソル等を表示することにより、ユーザによる指示を可能にする。
【００１７】
ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＲＯＭ１０３または外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、オペレーティングシステムプログラム（以下、「ＯＳ」という。）、及び後述する各処理を実行するために必要な各種プログラム等が記憶されている。本実施の形態で使用するＯＳは、例えば、マイクロソフト社製のウィンドウズ（登録商標）ＸＰを想定しているが、これに限られるものではない。
【００１８】
入力コントローラ１０５は、マウス等のポインティングデバイスやキーボードで構成される操作装置１０９からの入力を制御する。ビデオコントローラ１０６は、ＣＲＴディスプレイ等の表示装置１１０への表示を制御する。なお、表示装置１１０は、ＣＲＴに限られるものではなく、液晶ディスプレイでも構わない。
【００１９】
メモリコントローラ１０７は、外部メモリ１１１へのアクセスを制御する。外部メモリ１１１は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及び各種データ等を記憶し、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）、またはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等から構成される。通信Ｉ／Ｆコントローラ１０８は、ネットワーク等を介した外部機器との接続・通信を制御する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信などにより、データ転送経路１２１を介してプリンタ１５００との間でデータ送受信等が可能である。なお、データ転送経路１２１はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であっても、インターネットであってもよく、またケーブル等で接続されたローカルなものであってもよい。
【００２０】
プリンタ１５００は、ＣＰＵ１１２と、ＲＡＭ１１９と、フォントＲＯＭ１１３ａと、プログラムＲＯＭ１１３ｂと、データＲＯＭ１１３ｃと、入力部１１８と、印刷部インターフェース（印刷部Ｉ／Ｆ）１１６と、印刷部（プリンタエンジン）１１７と、操作部１２２と、メモリコントローラ（ＭＣ）１２０と、外部メモリ１１４とを備える。ＣＰＵ１１２、ＲＡＭ１１９、ＲＯＭ１１３、入力部１１８、印刷部Ｉ／Ｆ１１６、操作部１２２と、ＭＣ１２０は、システムバス１１５を介して互いに接続されている。
【００２１】
ＣＰＵ１１２は、プログラムＲＯＭ１１３ｂまたは外部メモリ１１４に記憶された制御プログラム等に基づいて、印刷部Ｉ／Ｆ１１６を介して印刷部１１７に出力情報としての画像信号を出力する。プログラムＲＯＭ１１３ｂには、ＣＰＵ１１２により実行される制御プログラム等が記憶される。フォントＲＯＭ１１３ａには、上記出力情報を生成する際に使用するフォントデータ等が記憶される。データＲＯＭ１１３ｃには、プリンタ１５００がハードディスク等の外部メモリ１１４を有していない場合には、コンピュータ３０００上で利用される情報等が記憶される。
【００２２】
ＣＰＵ１１２は、入力部１１８を介してコンピュータ３０００との通信処理を行い、プリンタ１５００内の情報等をコンピュータ３０００に通知することができる。ＲＡＭ１１９は、ＣＰＵ１１２の主メモリであり、ワークエリア等として機能する。また、ＲＡＭ１１９は、不図示の増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等にも用いられる。
【００２３】
メモリコントローラ１２０は、外部メモリ１１４へのアクセスを制御する。外部メモリ１１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶し、ハードディスク（ＨＤ）、ＩＣカード等で構成される。
【００２４】
操作部１２２は、操作のためのスイッチやＬＥＤ等が配されている操作パネルである。なお、プリンタ１５００が備える外部メモリ１１４は、１個に限られるものではなく、複数であってもよい。また、プリンタ１５００は、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されてもよい。さらに、プリンタ１５００は、操作部１２２により設定されたプリンタモード設定情報を記憶するＮＶＲＡＭ（不図示）を有していてもよい。
【００２５】
本実施の形態では、プリンタ１５００がサポートするページ記述言語（以下、「ＰＤＬ」という。）は、ＬＢＰ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ（以下、「ＬＩＰＳ」という。）等の比較的に高度なＰＤＬを想定しているが、これに限られるものではない。
【００２６】
本発明を実現するための印刷制御プログラム（以下、「プリンタドライバ」という。）は外部メモリ１１１に記録されており、必要に応じてＲＡＭ１０２にロードされることによりＣＰＵ１０１によって実行される。プリンタドライバが用いる定義ファイル及び各種情報テーブルは外部メモリ１１１に格納されている。
【００２７】
なお、上記印刷システムの構成は一例であり、用途や目的に応じて様々な構成例があることは云うまでもない。例えば、本発明の機能が実現されるのであれば、単体の機器に適用されてもよく、ＬＡＮ、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して接続された複数の機器からなるシステムに適用されてもよい。
【００２８】
図２は、図１のコンピュータ３０００での印刷制御処理時に機能するソフトウェアの構成を示すブロック図である。
【００２９】
図２において、コンピュータ３０００は、アプリケーションプログラム（以下、「アプリケーション」という。）２０１と、グラフィックスエンジン２０２と、プリンタドライバ２０３と、プリントサブシステム２０４とを備える。これらは、それぞれ外部メモリ１１１にファイルとして保存されたプログラムモジュールである。これらのモジュールは、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされて実行される。
【００３０】
アプリケーション２０１及びプリンタドライバ２０３は、外部メモリ１１１から、または後述する図３のネットワーク３０１を介して接続された外部機器から、ハードディスク（ＨＤ）等の外部メモリ１１１に追加可能になっている。外部メモリ１１１に保存されているアプリケーション２０１は、ＣＰＵ１０１によってＲＡＭ１０２にロードされて実行される。このアプリケーション２０１からプリンタ１５００に対して印刷を行わせる際には、同様にＣＰＵ１０１によってＲＡＭ１０２にロードされて実行されるグラフィックスエンジン２０２を利用して出力（描画）が行われる。
【００３１】
グラフィックスエンジン２０２は、プリンタ毎に用意されたプリンタドライバ２０３を起動する。これにより、プリンタドライバ２０３は、ＣＰＵ１０１によって外部メモリ１１１からＲＡＭ１０２にロードさせて実行される。グラフィックスエンジン２０２は、このプリンタドライバ２０３を用いて、アプリケーション２０１から出力された印字命令や描画命令をＰＤＬによるプリンタ制御命令に変換する。
【００３２】
プリンタドライバ２０３により変換されたプリンタ制御コマンドは、プリントサブシステム２０４を経由して、データ転送経路１２１を介してプリンタ１５００に出力される。プリントサブシステム２０４は、ＯＳによって起動されて、ＣＰＵ１０１によって外部メモリ１１１からＲＡＭ１０２にロードされて実行されるものであり、印刷ジョブのスケジューリング、コンピュータ３０００とプリンタ１５００との接続制御、及びプリンタ１５００のステータスの管理を行う。
【００３３】
なお、プリンタドライバ２０３は、前述した、アプリケーション２０１から出力された印字命令や描画命令をプリンタ制御コマンドに変換し、プリント出力に反映されるようプリンタ１５００に指示する機能に加えて、プリンタドライバ２０３やプリンタ１５００が有する機能を制御するための設定を行う機能（以下、「ユーザインターフェース（ＵＩ）」という。）、その設定を記憶する機能、プリンタドライバ２０３やプリンタ１５００が有する機能の情報をアプリケーション２０１やＯＳに提供する機能、ＵＩで設定された機能がプリンタ１５００の有する機能である場合にプリンタ制御命令を生成する機能、及び、ＵＩで設定された機能がプリンタドライバ２０３独自で行う機能である場合にその機能を実現する機能等を有する。
【００３４】
図３は、図１におけるコンピュータ３０００及びプリンタ１５００が適用された他の印刷システムの構成例を示すブロック図である。
【００３５】
図３において、印刷システムは、複数のコンピュータ３０００と、プリンタ１５００と、プリントサーバコンピュータ４０００とを有し、これらがネットワーク３０１を介して互いに接続されている。コンピュータ３０００内の通信Ｉ／Ｆコントローラ１０８は、ネットワークインタフェースカード（ＮＩＣ）の機能を有するものとする。
【００３６】
プリンタ１５００は、セントロニクスやＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のローカルインタフェース３０２を介してプリントサーバコンピュータ４０００と接続され、該プリントサーバコンピュータ４０００を介してネットワーク３０１に接続される形態であってもよく、ネットワーク３０１に直接接続される形態であってもよい。なお、ネットワーク３０１に直接接続されたプリンタ１５００内の入力部１１８は、ネットワークインタフェースカード（ＮＩＣ）の機能を有するものとする。
【００３７】
コンピュータ３０００は、プリントサーバコンピュータ４０００を介してネットワーク３０１に接続されたプリンタ１５００に印刷ジョブを送信する場合、まず、プリントサブシステム２０４を介して、プリントサーバコンピュータ４０００へ印刷ジョブを送信する。プリントサーバコンピュータ４０００は、コンピュータ３０００から送信されてきた印刷ジョブを、プリントサーバコンピュータ４０００上の不図示のプリントサブシステムを介して、プリンタ１５００に送信する。
【００３８】
また、コンピュータ３０００は、ネットワーク３０１に直接接続されたプリンタ１５００に印刷ジョブを送信する場合、プリントサブシステム２０４を介して、プリンタ１５００に直接印刷ジョブを送信する。
【００３９】
図４は、図２のコンピュータ３０００によって実行される印刷制御処理の基本的な流れを示す図である。
【００４０】
図４において、アプリケーション２０１は、直接プリンタドライバ２０３と情報の送受信を行うのではなく、ＯＳが有するグラフィックスエンジン２０２を介してプリンタドライバ２０３と情報の送受信を行う。グラフィックスエンジン２０２は、アプリケーション２０１から指示を受け、プリンタドライバ２０３に対して指示を行う。
【００４１】
まず、アプリケーション２０１は、文書データを出力するに際してアプリケーション２０１やプリンタドライバ２０３で設定された片面／両面印刷設定や部数設定等の印刷設定の情報をＲＡＭ１０２に確保されたメモリ領域を介してグラフィックスエンジン２０２に通知する。
【００４２】
プリンタドライバ２０３は、グラフィックスエンジン２０２より、その印刷設定情報と、印刷設定情報に基づいてプリンタドライバ２０３が印刷制御処理を行う上で必要な情報（プリンタドライバ情報）を格納するためにＲＡＭ１０２上に確保されたメモリ領域の初期化要求とを受信する（Ｓ４０１）。これにより、プリンタドライバ２０３は、プリンタドライバ情報を保持するメモリ領域を確保し、印刷設定情報に従ってそのメモリ領域を初期化する。
【００４３】
プリンタドライバ２０３は、当該プリンタドライバ２０３が参照するプリンタドライバ情報を保持するメモリ領域の初期化要求の受信により必要な処理を完了すると、Ｓ４０１で受信した印刷設定情報に応じたプリンタドライバ２０３の印刷能力情報をグラフィックスエンジン２０２に通知する。
【００４４】
アプリケーション２０１は、グラフィックスエンジン２０２より、最終的にプリンタ１５００に送信される印刷ジョブとその印刷ジョブに反映させる印刷設定情報とを関連付けるために必要なハンドル値を取得する（Ｓ４０２）。
【００４５】
次に、アプリケーション２０１が、印刷の開始要求をグラフィックスエンジン２０２に行うと、プリンタドライバ２０３は、グラフィックスエンジン２０２より印刷開始要求を受信する（Ｓ４０３）。これにより、プリンタドライバ２０３は、プリンタ１５００が印刷を開始するために必要なＰＤＬによるプリンタ制御命令を生成する。なお、プリンタ制御命令を生成する処理は、最初のページ（１ページ目）またはシート（シート１）の印刷処理が開始された時点、即ち、アプリケーション２０１からの最初のページまたはシートの描画指示を受信した時点で行ってもよい。
【００４６】
アプリケーション２０１は、文字、図形やイメージ等の描画オブジェクトの描画を実現するための描画指示をグラフィックスエンジン２０２に対して行うと、プリンタドライバ２０３は、その描画指示をグラフィックスエンジン２０２より受信する（Ｓ４０４）。これにより、プリンタドライバ２０３は、指定された描画オブジェクトや改ページを含む描画指示を反映したプリンタ制御命令を適時生成し、生成したプリンタ制御命令をプリンタ１５００に出力する。なお、印刷するページ数またはシート数はアプリケーション２０１からの指定に因る。
【００４７】
次に、アプリケーション２０１は、印刷設定情報をページ単位またはシート単位に変更するため、印刷設定の切り替え（変更）要求をグラフィックスエンジン２０２に対して行うと、プリンタドライバ２０３は、印刷設定の切り替え（変更）要求をグラフィックスエンジン２０２より受信する（Ｓ４０５）。具体的には、プリンタドライバ２０３は、グラフィックスエンジン２０２より、切り替え（変更）後の印刷設定情報と、その印刷設定情報に基づいてプリンタドライバ２０３が印刷処理を行う上で必要な情報（プリンタドライバ情報）を格納するためにＲＡＭ１０２上に確保されたメモリ領域の初期化要求とを受信する。これにより、プリンタドライバ２０３は、プリンタドライバ情報を保持するメモリ領域を確保し、印刷設定情報に従ってそのメモリ領域を初期化する。
【００４８】
次に、プリンタドライバ２０３は、受信した切り替え（変更）後の印刷設定情報に応じたプリンタドライバ２０３の印刷能力情報をグラフィックスエンジン２０２に通知する。そして、プリンタドライバ２０３は、印刷設定の切り替え（変更）要求として、切り替え（変更）前と切り替え（変更）後のプリンタドライバ情報をグラフィックスエンジン２０２より受信し、印刷設定の切り替え（変更）に必要な処理を行う。次に、プリンタドライバ２０３は、グラフィックスエンジン２０２より、Ｓ４０１においてメモリ領域に格納されたプリンタドライバ情報の破棄要求を受信する。これにより、プリンタドライバ２０３は、切り替え（変更）前のプリンタドライバ情報の破棄処理を行う。プリンタドライバ２０３は、指定された切り替え（変更）後の印刷設定情報を反映したプリンタ制御命令を適時生成し、生成したプリンタ制御命令をプリンタ１５００に出力する。なお、ページ単位（またはシート単位）に印刷設定を切り替え（変更）るか否かは、アプリケーション２０１からの指示に因る。
【００４９】
次に、アプリケーション２０１が、印刷終了要求をグラフィックスエンジン２０２に行うと、プリンタドライバ２０３は、グラフィックスエンジン２０２より印刷終了要求を受信する（Ｓ４０６）。これにより、プリンタドライバ２０３は、プリンタ１５００が印刷終了に必要なプリンタ制御命令を生成し、プリンタ制御命令の生成処理を終了する。
【００５０】
次に、アプリケーション２０１は、Ｓ４０２で取得したハンドル値の破棄要求をグラフィックスエンジン２０２に通知する。プリンタドライバ２０３は、グラフィックスエンジン２０２より、メモリ領域に格納されたプリンタドライバ情報の破棄要求を受信する。これにより、プリンタドライバ２０３は、上記プリンタドライバ情報の破棄処理を行う（Ｓ４０７）。上記Ｓ４０３〜Ｓ４０６の処理により、プリンタ１５００に送信される１つの印刷ジョブが生成される。
【００５１】
本実施の形態では、主にプリンタドライバ２０３が有する不図示の印刷設定情報を保存（保持）するユーザインターフェース処理とステップＳ４０１、Ｓ４０３及びＳ４０５において、プリンタドライバ２０３がグラフィックスエンジン２０２から要求を受けた際の処理に機能を追加する。
【００５２】
次に、図４のＳ４０１でグラフィックスエンジン２０２とプリンタドライバ２０３との間でやり取りされる印刷設定情報とプリンタドライバ情報について説明する。
【００５３】
図５は、本発明の第１の実施形態における印刷設定情報及びプリンタドライバ情報の保持形態を示す模式図であり、（ａ）は印刷設定情報を保持するＤＥＶＭＯＤＥ構造体を示し、（ｂ）はプリンタドライバ情報を保持するＤＥＶＤＡＴＡ構造体を示す。このＤＥＶＭＯＤＥ構造体に印刷設定情報や各種設定情報を保持（記憶）するメンバが記憶される（印刷設定情報記憶手段）。
【００５４】
図５（ａ）において、ＤＥＶＭＯＤＥ情報５０１は、片面／両面印刷設定や部数設定等の印刷設定情報を保持するＤＥＶＭＯＤＥ構造体である。本実施の形態では、ＤＥＶＭＯＤＥ情報５０１内のＰｒｉｖａｔｅＤＥＶＭＯＤＥメンバ（ＰｒｉｖａｔｅＤＥＶＭＯＤＥ領域）に、当該ＤＥＶＭＯＤＥ情報（印刷設定情報）５０１がなされたときの設定日時（タイムスタンプ）を保持するメンバ５０１ａを備える。この設定日時は日付及び時刻に関する日時情報である。
【００５５】
図５（ｂ）において、プリンタドライバ情報５０２は、プリンタドライバが印刷処理を行う上で必要な情報が格納されるＤＥＶＤＡＴＡ構造体である。本実施の形態では、プリンタドライバ情報５０２内に、印刷開始時のＤＥＶＭＯＤＥ情報（以下、「スタートＤＥＶＭＯＤＥ」と呼ぶ。）を保持（記憶）するメンバ５０２ｂと、現在処理中のＤＥＶＭＯＤＥ情報（以下、「カレントＤＥＶＭＯＤＥ」と呼ぶ。）を保持（記憶）するメンバ５０２ａと、印刷が開始されたか否かを判定する印刷開始フラグを保持（記憶）するメンバ５０２ｃとを備える。
【００５６】
例えば、ＭＳ−Ｅｘｃｅｌの場合、図６に示すように、［ファイル］２００１−［印刷］２００２−［プロパティ］２００３の順で設定される印刷設定（ＤＥＶＭＯＤＥ）がスタートＤＥＶＭＯＤＥとしてメンバ５０２ｂに保持（記憶）される。図６のように、アプリケーション２０１がＯＳを介してプリンタドライバにより文書データに印刷設定情報を設定する方法は、一般的にいうドキュメントプロパティによる印刷設定方法（第１の印刷設定）である。
【００５７】
また、図７に示すように、［ファイル］２１０１−［ページ設定］２１０２−［オプション］２１０３の順で設定されて各シートに保存された印刷設定（ＤＥＶＭＯＤＥ）は、ＭＳ−Ｅｘｃｅｌのデータファイルのシート単位に保持され、各シート印刷処理中に、カレントＤＥＶＭＯＤＥとしてメンバ５０２ａに順番に保持される。図７のように、アプリケーション２０１がＯＳを介してプリンタドライバにより文書データに印刷設定情報を設定する方法も、一般的にいうドキュメントプロパティによる印刷設定方法（第１の印刷設定）である。
【００５８】
一方、図８に示すように、プリンタプロパティの印刷設定２２０１から設定される印刷設定情報は、外部メモリ１１１に保存されている不図示のレジストリ情報にデフォルトＤＥＶＭＯＤＥとして保持される。この印刷設定情報は、プリンタドライバ（プリンタ管理画面に生成されるプリンタオブジェクトごと）ごとに保持される。図８のように、オペレーティングシステムを介してプリンタドライバにより文書データに印刷設定情報を設定する方法は、プリンタプロパティによる印刷設定方法（第２の印刷設定）である。
【００５９】
メンバ５０２ｃに保持される印刷開始フラグは、後述する図１２のステップＳ８０７、図１３のステップＳ９０４、及び図１４のステップＳ１００１，Ｓ１００７において、参照または変更されるフラグである。
【００６０】
なお、上述したＤＥＶＭＯＤＥ情報５０１及びプリンタドライバ情報５０２を保持する領域は、プリンタドライバ２０３によりＲＡＭ１０２に確保される。
【００６１】
次に、３枚のシートを有するＭＳ−Ｅｘｃｅｌのデータファイルの印刷設定（ＤＥＶＭＯＤＥ）変更時のタイムスタンプの内容について図９を参照して説明する。
【００６２】
図９は、３枚のシートを有するＭＳ−Ｅｘｃｅｌのデータファイルの印刷設定（ＤＥＶＭＯＤＥ）変更時の印刷設定及びタイムスタンプの一例を示す図であり、（ａ）は変更前の印刷設定情報の一例を示し、（ｂ）は図７に示す印刷設定方法による印刷設定変更後の印刷設定情報の一例を示し、（ｃ）は図６に示す印刷設定方法による印刷設定変更後の印刷設定情報の一例を示す。
【００６３】
図９（ａ）において、変更前の印刷設定（ＤＥＶＭＯＤＥ設定）２３０１では、シート１〜３の全てに同一の印刷設定：Ａ４，４ｕｐ，ステイプルＯＦＦ，・・・が設定されており、シート１のタイムスタンプは２００７／１０／３１／０９：００：１０、シート２のタイムスタンプは２００７／１０／３１／０９：００：３０、シート３のタイムスタンプは２００７／１０／３１／０９：０１：００となっている。ここで、コンピュータ３０００上でＭＳ−Ｅｘｃｅｌが２００７／１１／０１の１３：００：００に起動された場合、変更前の印刷設定２３０１のシート１〜３に保持されているタイムスタンプは、ＭＳ−Ｅｘｃｅｌの起動日時よりも古い日時となる。この後、ユーザがシート２を選択し、図７に示す方法でプリンタドライバユーザインターフェース（以下、「ドライバＵＩ」と呼ぶ。）画面２１０４を表示させ、２ｕｐ，ステイプルＯＮに印刷設定を変更してＯＫボタン２１０４ａを押下する。このときのタイムスタンプ（２００７／１１／０１／１３：００：３０）が、図９（ｂ）に示す変更後の印刷設定２３０２のシート２に保持される。
【００６４】
その後、ユーザが図６に示す方法でドライバＵＩ画面２００４を表示させ、１ｕｐ，ステイプルＯＦＦに印刷設定を変更して印刷を実行する（タイムスタンプは２００７／１１／０１／１３：０１：５４とする）。このときの印刷設定（１ｕｐ，ステイプルＯＦＦ）は、上述した印刷開始時のＤＥＶＭＯＤＥ情報（スタートＤＥＶＭＯＤＥ）としてメンバ５０２ｂ保持される。そして、タイムスタンプ２００７／１１／０１／１３：０１：５４はメンバ５０１ａに保持される。
【００６５】
そして、シート１とシート３のタイムスタンプ（２００７／１０／３１／０９：００：１０，２００７／１０／３１／０９：０１：００）は、アプリケーションの起動日時（２００７／１１／０１／１３：００：００）よりもタイムスタンプが古いため、図９（ｃ）に示すように、印刷開始時のＤＥＶＭＯＤＥ情報（スタートＤＥＶＭＯＤＥ）（２００７／１１／０１／１３：０１：５４）で上書きされ得る。その結果、シート１，３の印刷設定は１ｕｐ，ステイプルＯＦＦとなり、シート２の印刷設定は２ｕｐ，ステイプルＯＮという出力結果となる。
【００６６】
次に、第１の実施形態における印刷制御処理を説明する。なお、以下に説明する印刷制御処理は、プリンタドライバ２０３に基づいてＣＰＵ１０１により実行される処理であるが、便宜上、プリンタドライバ２０３を主体として説明する。
【００６７】
図１０は、図５（ａ）のＤＥＶＭＯＤＥ情報５０１に印刷設定情報を保存（保持）するＤＥＶＭＯＤＥ保存処理を示すフローチャートである。
【００６８】
図１０において、ステップＳ６０１では、プリンタドライバ２０３は、ドライバＵＩ画面を表示する際に、アプリケーション２０１からＯＳを介してプリンタドライバ２０３のＵＩモジュールに渡されたＤＥＶＭＯＤＥ情報を取得する（印刷設定情報取得手段）。
【００６９】
次に、ステップＳ６０２は、プリンタドライバ２０３は、取得したＤＥＶＭＯＤＥ情報がＮＵＬＬであるか否かを判定する。例えば、ＭＳ−Ｅｘｃｅｌの場合は、図７に示すドライバＵＩ画面２１０４上でＭＳ−Ｅｘｃｅｌのデータファイルの各シートに設定されたＤＥＶＭＯＤＥ情報が判定の対象となる。なお、印刷設定をアプリケーションで保持しない簡易な印刷アプリケーションなどでは、ＤＥＶＭＯＤＥ情報がＮＵＬＬに設定されてデフォルトの印刷設定で印刷するものも存在する。
【００７０】
ステップＳ６０２の判定の結果、取得したＤＥＶＭＯＤＥ情報がＮＵＬＬの場合、プリンタドライバ２０３は、外部メモリ１１１のレジストリに保存されているデフォルトのＤＥＶＭＯＤＥ情報を取得する（ステップＳ６０３）。一方、ＤＥＶＭＯＤＥ情報がＮＵＬＬでない場合は、そのままステップＳ６０４へ進む。
【００７１】
ステップＳ６０４では、プリンタドライバ２０３は、ドライバＵＩ画面の表示を行い、取得したＤＥＶＭＯＤＥ情報に基づいて各コントロールを初期化する。次に、ステップＳ６０５では、プリンタドライバ２０３は、ドライバＵＩ画面上のＯＫボタンが押されたか、キャンセルボタンが押されたかを判定する。ＯＫボタンが押された場合は、ステップＳ６０６に進む。キャンセルボタンが押された場合は、本処理を終了する。
【００７２】
ステップＳ６０６では、プリンタドライバ２０３は、ドライバＵＩ画面が、図８に示すプリンタプロパティから開かれたか、または図６または図７に示すドキュメントプロパティから開かれたかを判定する。プリンタプロパティから開かれた場合（ステップＳ６０６でＹＥＳ）、プリンタドライバ２０３は、ＤＥＶＭＯＤＥ情報５０１のタイムスタンプの設定を全てゼロ（０）に設定する（ステップＳ６０７）。ここでは、プリンタドライバ２０３は、タイムスタンプメンバ５０１ａに保持されているタイムスタンプを０時０分０秒にする。
【００７３】
そして、プリンタドライバ２０３は、外部メモリ１１１のレジストリに保存されているデフォルトのＤＥＶＭＯＤＥ情報を更新する（ステップＳ６０８）。
【００７４】
一方、ステップＳ６０６の判定の結果、ドライバＵＩ画面が図６または図７に示すドキュメントプロパティから開かれた場合（ステップＳ６０６でＮＯ）、プリンタドライバ２０３は、ＤＥＶＭＯＤＥ情報５０１のタイムスタンプメンバ５０１ａにタイムスタンプとしてＤＥＶＭＯＤＥ設定日時（印刷設定日時）を保存（保持）し（ステップＳ６０９）、ＤＥＶＭＯＤＥ情報を呼び出し元アプリケーションに返却する（ステップＳ６１０）。なお、以下に説明する呼び出し元アプリケーションは、印刷指示をしたアプリケーションを意味する。
【００７５】
図１１は、印刷ジョブが生成される印刷処理のフローチャートである。
【００７６】
ステップＳ７０１では、プリンタドライバ２０３は、図４のＳ４０１においてグラフィックスエンジン２０２から指示を受けて、ＤＥＶＭＯＤＥ情報５０１に基づいてプリンタドライバ情報５０２を初期化する（第１のＤＥＶＭＯＤＥ設定処理）。詳細については後述する。
【００７７】
次に、ステップＳ７０２では、プリンタドライバ２０３は、図４のＳ４０３においてグラフィックスエンジン２０２から指示を受けたタイミングで、印刷開始時の処理（印刷開始処理）を行う。詳細については後述する。
【００７８】
次に、ステップＳ７０３では、プリンタドライバ２０３は、図４のＳ４０５においてグラフィックスエンジン２０２から指示を受けたタイミングで、印刷設定を切り替える（変更する）ためのＤＥＶＭＯＤＥ情報５０１（切り替え（変更）後のＤＥＶＭＯＤＥ情報）に基づいてプリンタドライバ情報５０２を初期化する（第２のＤＥＶＭＯＤＥ設定処理）。
【００７９】
次に、ステップＳ７０４では、プリンタドライバ２０３は、Ｓ４０５においてグラフィックスエンジン２０２から印刷設定の切り替え（変更）指示を受けたタイミングで、印刷設定の切り替え（変更）前と切り替え（変更）後のプリンタドライバ情報５０２を基に印刷設定の切り替え（変更）処理を行う。なお、本処理は、アプリケーション２０１から印刷ページ単位（またはシート単位）で印刷設定（ＤＥＶＭＯＤＥ）の切り替え（変更）が行われた場合に実施される。また、アプリケーションによってはシート単位でＤＥＶＭＯＤＥ情報を管理しており、シート単位に印刷設定の切り替え（変更）を行うものも存在する。
【００８０】
次に、ステップＳ７０５では、プリンタドライバ２０３は、アプリケーション２０１からグラフィックスエンジン２０２を経由して指定された、文字、図形やイメージ等の描画オブジェクトの描画指示に基づいてプリンタ制御命令及び描画命令を生成する（ページ描画処理）。なお、シートの場合はシート描画処理となる。
【００８１】
ステップＳ７０６では、プリンタドライバ２０３は、全てのページ描画が終了したかを判定する。なお、アプリケーションによってはシート単位の描画が終了したかを判定する。終了するまでステップＳ７０３〜Ｓ７０５の処理を繰り返す。ステップＳ７０７では、プリンタドライバ２０３は、ジョブ終了のためのプリンタ制御命令の生成及び送信を行う（印刷終了処理）。また、プリンタドライバ２０３は、プリンタドライバ情報５０２に保持されていたカレントＤＥＶＭＯＤＥ及びスタートＤＥＶＭＯＤＥのメモリを開放する。
【００８２】
次に、図１２を参照して、図１１のステップＳ７０１におけるＤＥＶＭＯＤＥ設定処理の詳細を説明する。
【００８３】
図１２は、図１１のステップＳ７０１における第１のＤＥＶＭＯＤＥ設定処理の詳細を示すフローチャートである。なお、図１１のステップＳ７０３における第２のＤＥＶＭＯＤＥ設定処理は第１のＤＥＶＭＯＤＥ設定処理と同じであることから、その説明を省略する。
【００８４】
ステップＳ８０１では、プリンタドライバ２０３は、図４のＳ４０１においてグラフィックスエンジン２０２からプリンタドライバ２０３のグラフィックスモジュールに渡されたＤＥＶＭＯＤＥ情報５０１を取得する。
【００８５】
次に、ステップＳ８０２では、プリンタドライバ２０３は、ステップＳ８０１で取得したＤＥＶＭＯＤＥ情報５０１のタイムスタンプメンバ５０１ａに保持されているタイムスタンプ（設定日時）を取得する。次に、ステップＳ８０３では、プリンタドライバ２０３は、呼び出し元のアプリケーションの起動日時を取得する。具体的には、ＧｅｔＣｕｒｒｅｎｔＰｒｏｃｅｓｓ（）Ｗｉｎ３２ＡＰＩにより呼び出し元アプリケーションのプロセスハンドルを取得し、ＧｅｔＰｒｏｃｅｓｓＴｉｍｅ（）Ｗｉｎ３２ＡＰＩにより呼び出し元アプリケーションの起動日時を取得する。
【００８６】
ステップＳ８０４では、プリンタドライバ２０３は、ステップＳ８０３で取得したアプリケーションの起動日時とステップＳ８０２で取得したタイムスタンプ、すなわちＤＥＶＭＯＤＥ（印刷設定）の設定日時とを比較する。この比較結果により、起動日時よりもＤＥＶＭＯＤＥの設定日時の方が新しい場合は、ステップＳ８０６へ進む一方、起動日時よりもＤＥＶＭＯＤＥの設定日時の方が古い場合は、プリンタドライバ２０３は、外部メモリ１１１のレジストリに保存されているデフォルトのＤＥＶＭＯＤＥ情報を取得し、ステップＳ８０２で取得したＤＥＶＭＯＤＥ情報５０１をデフォルトＤＥＶＭＯＤＥで上書きする（ステップＳ８０５）。なお、デフォルトＤＥＶＭＯＤＥで上書きする際は、ＤＥＶＭＯＤＥ情報５０１の全体ではなく、一部分（例えば、Ｐｕｂｌｉｃ  ＤＥＶＭＯＤＥの用紙サイズ・向きメンバ以外など）のみでもよい。
【００８７】
ステップＳ８０６では、プリンタドライバ２０３は、前ステップで取得してＲＡＭ１０２に保存されているＤＥＶＭＯＤＥ情報５０１を、同じくＲＡＭ１０２に保存されているプリンタドライバ情報５０２のカレントＤＥＶＭＯＤＥを保持するメンバ５０２ａにコピーする（ステップＳ８０６）。ステップＳ８０７では、プリンタドライバ２０３は、印刷が開始されたか否かを判定するためにプリンタドライバ情報５０２に保持されている印刷開始フラグをＦＡＬＳＥに設定する。
【００８８】
次に、図１３を参照して、図１１のステップＳ７０２における印刷開始処理の詳細を説明する。
【００８９】
図１３は、図１１のステップＳ７０２における印刷開始処理の詳細を示すフローチャートである。
【００９０】
ステップＳ９０１では、プリンタドライバ２０３は、図４のＳ４０３においてグラフィックスエンジン２０２からプリンタドライバ２０３のグラフィックスモジュールに指定されたプリンタドライバ情報５０２から印刷開始フラグを取得し、ＦＡＬＳＥかを判定する。なお、印刷開始処理は、印刷開始時以外も実行されるケースがあるため、印刷開始フラグにより印刷開始時であるかが判定される。
【００９１】
ステップＳ９０１の判定の結果、印刷開始フラグがＦＡＬＳＥの場合は、プリンタドライバ２０３は、プリンタドライバ情報５０２からカレントのＤＥＶＭＯＤＥを取得する（ステップＳ９０２）。一方、ＴＲＵＥの場合は、本処理を終了する。
【００９２】
ステップＳ９０３では、プリンタドライバ２０３は、ステップＳ９０２で取得したカレントＤＥＶＭＯＤＥを印刷開始時のスタートＤＥＶＭＯＤＥとしてプリンタドライバ情報５０２のスタートＤＥＶＭＯＤＥを保持するメンバ５０２ｂにコピーする。ステップＳ９０４では、プリンタドライバ２０３は、プリンタドライバ情報５０２の印刷開始フラグをＴＲＵＥに設定する。
【００９３】
次に、図１４を参照して、図１１のステップＳ７０３におけるＤＥＶＭＯＤＥ切り替え（変更）処理の詳細を説明する。
【００９４】
図１４は、図１１のステップＳ７０３におけるＤＥＶＭＯＤＥ切り替え（変更）処理の詳細を示すフローチャートである。
【００９５】
ステップＳ１００１では、プリンタドライバ２０３は、図４のＳ４０５においてグラフィックスエンジン２０２からプリンタドライバ２０３のグラフィックスモジュールに指定された印刷設定切り替え（変更）前のプリンタドライバ情報５０２から印刷開始フラグを取得し、ＴＲＵＥかを判定する。この結果、ＴＲＵＥの場合、ステップＳ１００２に進む一方、ＦＡＬＳＥの場合、ステップＳ１００７に進む。
【００９６】
ステップＳ１００２では、プリンタドライバ２０３は、図４のＳ４０５においてグラフィックスエンジン２０２からプリンタドライバ２０３のグラフィックスモジュールに指定された印刷設定切り替え（変更）前のプリンタドライバ情報５０２からスタートＤＥＶＭＯＤＥを取得する。次に、ステップＳ１００３では、プリンタドライバ２０３は、Ｓ４０５においてグラフィックスエンジン２０２からプリンタドライバ２０３のグラフィックスモジュールに指定された印刷設定切り替え（変更）後のプリンタドライバ情報５０２からカレントＤＥＶＭＯＤＥを取得する。
【００９７】
次に、ステップＳ１００４では、プリンタドライバ２０３は、ステップＳ１００３で取得した印刷設定切り替え（変更）後のカレントＤＥＶＭＯＤＥのタイムスタンプを判定する。タイムスタンプの設定が全てゼロ（０）の場合、ステップＳ１００２で取得したスタートＤＥＶＭＯＤＥで印刷設定切り替え（変更）後のプリンタドライバ情報５０２に保持されているカレントＤＥＶＭＯＤＥを上書きする（ステップＳ１００５）。なお、スタートＤＥＶＭＯＤＥで上書きする際は、切り替え（変更）後のＤＥＶＤＡＴＡに保持されているカレントＤＥＶＭＯＤＥの全体ではなく、一部分（例えば、Ｐｕｂｌｉｃ  ＤＥＶＭＯＤＥの用紙サイズ・向きメンバ以外など）のみでもよい。
【００９８】
ステップＳ１００６では、プリンタドライバ２０３は、印刷設定切り替え（変更）前のプリンタドライバ情報５０２のスタートＤＥＶＭＯＤＥから印刷設定切り替え（変更）後のプリンタドライバ情報５０２のスタートＤＥＶＭＯＤＥの設定を引き継ぐ（コピーする）。ステップＳ１００７では、プリンタドライバ２０３は、印刷設定切り替え（変更）前のプリンタドライバ情報５０２の印刷開始フラグから印刷設定切り替え（変更）後のプリンタドライバ情報５０２の印刷開始フラグの設定を引き継ぐ（コピーする）。
【００９９】
上記第１の実施形態によれば、文書データに対してドキュメントプロパティで印刷設定がなされたときの設定日時（タイムスタンプ）をＤＥＶＭＯＤＥ情報５０１に保持し、アプリケーション２０１からの印刷指示がなされたときにドキュメントプロパティで印刷設定がなされたＤＥＶＭＯＤＥ情報５０１または設定日時が保持されたＤＥＶＭＯＤＥ情報５０１を取得する。そして、取得した印刷設定情報から設定日時を取得すると共に、印刷指示をしたアプリケーションの起動日時を取得し、当該起動日時と設定日時とを比較した結果に基づいて印刷設定情報を切り替える（変更する）。これにより、ＯＳ上で動作するアプリケーションを介して印刷指示を行う際に、予め印刷設定をしたか否かに関わらず、ユーザの印刷設定ミス等を防止して用紙やトナーの無駄を削減することができる。
【０１００】
特に、ユーザが明示的に印刷設定をしていない場合は、デフォルトの印刷設定が適用される一方、ユーザが明示的に印刷設定をした場合はその印刷設定が全てのシート（またはページ）に反映される。なお、シート（またはページ）単位に印刷設定がなされた場合は、当該シート単位で設定された印刷設定に切り替えられる（変更される）。これにより、上記効果が得られる。
【０１０１】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。
【０１０２】
上記第１の実施形態では、ＤＥＶＭＯＤＥ情報５０１のタイムスタンプメンバに保持されているタイムスタンプ（設定日時）と呼び出し元アプリケーションの起動日時に基づいてＤＥＶＭＯＤＥ情報（印刷設定情報）の切り替え（変更）を行っているため、自分自身で設定したＤＥＶＭＯＤＥ情報であってもアプリケーションの再起動後は常にデフォルトのＤＥＶＭＯＤＥ情報で上書きされてしまうという問題がある。
【０１０３】
そこで本第２の実施形態では、ＤＥＶＭＯＤＥ情報に新たにユーザ名やコンピュータ名と言ったキーとなる名称を保持することで、自分自身で設定した印刷設定はアプリケーション再起動後も常に有効となるようにするものである。なお、本第２の実施形態と上記第１の実施形態とは、ＤＥＶＭＯＤＥを切り替えるか（変更するか）否かを判定する条件の一部が異なるだけであり、上記第１の実施形態と同一の部分については、同一の符号を付することで詳細な説明を省略する。
【０１０４】
図１５は、本発明の第２の実施形態における印刷設定情報を保持するＤＥＶＭＯＤＥ構造体の模式図である。このＤＥＶＭＯＤＥ構造体に印刷設定情報や各種設定情報を保持（記憶）するメンバが記憶される（印刷設定情報記憶手段）。
【０１０５】
印刷設定情報は、上記第１の実施形態と同様に、図４のＳ４０１でグラフィックスエンジン２０２とプリンタドライバ２０３との間でやり取りされる。
【０１０６】
図１５において、ＤＥＶＭＯＤＥ情報１１０１は、片面／両面印刷設定や部数設定等の印刷設定情報を保持するＤＥＶＭＯＤＥ構造体である。本実施の形態では、ＤＥＶＭＯＤＥ情報１１０１内のＰｒｉｖａｔｅＤＥＶＭＯＤＥメンバに、ＤＥＶＭＯＤＥ情報（印刷設定情報）がなされたときの設定日時（タイムスタンプ）を保持するタイムスタンプメンバ１１０１ａと、ＤＥＶＭＯＤＥ情報の設定を変更したユーザ名を保持するユーザ名メンバ１１０１ｂとを備える。なお、ＤＥＶＭＯＤＥ情報１１０１を保持する領域は、プリンタドライバ２０３によりＲＡＭ１０２に確保される。また、この設定日時は日付及び時刻に関する日時情報である。
【０１０７】
次に、第２の実施形態における印刷制御処理を説明する。
【０１０８】
図１６は、図１５のＤＥＶＭＯＤＥ情報１１０１に印刷設定情報を保存（保持）する処理のフローチャートである。なお、図１６のステップＳ６０１〜Ｓ６１０は、図１０のステップＳ６０１〜Ｓ６１０と同じである。
【０１０９】
ステップＳ１２０１では、プリンタドライバ２０３は、ＤＥＶＭＯＤＥ情報１１０１のユーザ名メンバ１１０１ｂにコンピュータ３０００にログインしたユーザのユーザ名を保持する。ログインしたユーザのユーザ名は、ＧｅｔＵｓｅｒＮａｍｅ  Ｗｉｎ３２  ＡＰＩなどで取得する。
【０１１０】
次に、図１７を参照して、第２の実施形態におけるＤＥＶＭＯＤＥ設定処理について詳細を説明する。
【０１１１】
図１７は、第２の実施形態におけるＤＥＶＭＯＤＥ設定処理の詳細を示すフローチャートである。本処理は、図１１のステップＳ７０１のＤＥＶＭＯＤＥ設定処理であり、ステップＳ８０１〜Ｓ８０７は、図１２のステップＳ８０１〜Ｓ８０７と同じである。
【０１１２】
ステップＳ１３０１では、プリンタドライバ２０３は、印刷実行時のログインユーザのユーザ名を取得する。印刷実行時のログインユーザのユーザ名は、ＧｅｔＵｓｅｒＮａｍｅ  Ｗｉｎ３２  ＡＰＩなどで取得される。次に、ステップＳ１３０２は、プリンタドライバ２０３は、ステップＳ８０１で取得したＤＥＶＭＯＤＥ情報１１０１に保持されているユーザ名とステップＳ１３０１で取得したユーザ名とを比較し、異なるかを判定する。この判定の結果、ユーザ名が同じ場合は、ステップＳ８０６以降の処理が行われる一方、ユーザ名が異なる場合は、ステップＳ８０４以降の処理が行われる。これにより、ＤＥＶＭＯＤＥ情報１１０１に保持されているユーザ名と印刷実行時のログインユーザのユーザ名とが同一の場合は、当該ログインユーザがアプリケーションを再起動した後であっても当該ログインユーザが設定したＤＥＶＭＯＤＥ情報がデフォルトのＤＥＶＭＯＤＥ情報に切り替わってしまうことがなくなり、ユーザの使い勝手を向上させることができる。
【０１１３】
なお、自分自身で設定したものを常に有効にするのであれば、ユーザ名のみの判定で十分であるが、図１７のフローチャートでは、ユーザ名の判定後（ステップＳ１３０２）にタイムスタンプの判定（ステップＳ８０４）も行っている。これはアプリケーション起動後にユーザを切り替えて（変更して）印刷をかける場合（偽装）を考慮しているためである。
【０１１４】
次に、図１８を参照して、第２の実施形態におけるＤＥＶＭＯＤＥ切り替え（変更）処理について説明する。
【０１１５】
図１８は、第２の実施形態におけるＤＥＶＭＯＤＥ切り替え（変更）処理の詳細を示すフローチャートである。本処理は、図１１のステップＳ７０４のＤＥＶＭＯＤＥ切り替え（変更）処理であり、ステップＳ１００１〜Ｓ１００７は、図１４のステップＳ１００１〜Ｓ１００７と同じである。
【０１１６】
ステップＳ１４０１では、プリンタドライバ２０３は、ＤＥＶＭＯＤＥ情報１１０１から印刷実行時のログインユーザのユーザ名を取得する。印刷実行時のログインユーザのユーザ名は、ＧｅｔＵｓｅｒＮａｍｅ  Ｗｉｎ３２  ＡＰＩなどで取得される。次に、ステップＳ１４０２は、プリンタドライバ２０３は、ステップＳ１００２で取得したＤＥＶＭＯＤＥ情報１１０１に保持されているユーザ名とステップＳ１４０１で取得したユーザ名とを比較し、異なるかを判定する。この判定の結果、ユーザ名が同じ場合は、ステップＳ１００６以降の処理が行われる一方、ユーザ名が異なる場合は、ステップＳ１００４以降の処理が行われる。
【０１１７】
なお、図１８のフローチャートでは、ユーザ名の判定後（ステップＳ１４０２）にタイムスタンプの判定（ステップＳ１００４）も行っているが、こちらもアプリケーション起動後にユーザを切り替えて（変更して）印刷をかける場合（偽装）を考慮しているためである。
【０１１８】
上記第２の実施形態によれば、ログインしたユーザのユーザ名をＤＥＶＭＯＤＥ情報１１０１に保持し、アプリケーション２０１からの印刷指示がなされたときに、ＤＥＶＭＯＤＥ情報１１０１に保持されているユーザ名と印刷実行時のログインユーザのユーザ名とが同一の場合は、アプリケーション２０１の再起動後であっても印刷設定情報を切り替え（変更し）ないので、上記第１の実施形態による効果に加えて、自分自身で設定したＤＥＶＭＯＤＥ情報をアプリケーション２０１の再起動後であっても維持させることができ、ＯＳ上で動作するアプリケーションを利用して印刷指示を行うユーザの印刷出力時の使い勝手を向上させることができる。
【０１１９】
なお、上記第２の実施形態では、ログインユーザのユーザ名をＤＥＶＭＯＤＥ情報１１０１に保持する実施形態について説明したが、これに限定されず、コンピュータ名を保持する形態であってもよい。この場合、図３に示すような印刷システムにおいて、複数のコンピュータ３０００とプリントサーバコンピュータ４０００との間での印刷制御方法に適用することが可能である。
【０１２０】
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。
【０１２１】
上記第２の実施形態では、ユーザ名をキーにＤＥＶＭＯＤＥ情報の切り替え（変更）が行われることから、ＤＥＶＭＯＤＥ情報を設定したユーザが印刷を行った場合は、当該設定したＤＥＶＭＯＤＥ情報で常に印刷されてしまい、ＤＥＶＭＯＤＥ情報の切り替え（変更）処理が常に適用されないという問題がある。
【０１２２】
そこで、本第３の実施形態では、ドライバＵＩ画面上に「アプリケーション再起動後も本設定を有効にする」というチェックボックスを設けて、この設定情報を基にＤＥＶＭＯＤＥ情報を切り替えるか（変更するか）否かを判断することで、例えば、ＤＥＶＭＯＤＥを設定したユーザのユーザ名と印刷を実行するユーザのユーザ名とが同一であっても、必要に応じてＤＥＶＭＯＤＥの切り替え（変更）を行うことが可能となる。なお、本第３の実施形態と上記第１の実施形態とは、ＤＥＶＭＯＤＥを切り替えるか（変更する）否かを判定する条件の一部が異なるだけであり、上記第１の実施形態と同一の部分については、同一の符号を付すことで詳細な説明を省略する。
【０１２３】
図１９は、本発明の第３の実施形態における印刷設定情報を保持するＤＥＶＭＯＤＥ構造体の模式図である。このＤＥＶＭＯＤＥ構造体に印刷設定情報や各種設定情報を保持（記憶）するメンバが記憶される（印刷設定情報記憶手段）。
【０１２４】
印刷設定情報は、上記第１の実施形態と同様に、図４のＳ４０１でグラフィックスエンジン２０２とプリンタドライバ２０３との間でやり取りされる。
【０１２５】
図１９において、ＤＥＶＭＯＤＥ情報１５０１は、片面／両面印刷設定や部数設定等の印刷設定情報を保持するＤＥＶＭＯＤＥ構造体である。本実施の形態では、ＤＥＶＭＯＤＥ情報１５０１内のＰｒｉｖａｔｅＤＥＶＭＯＤＥメンバに、ＤＥＶＭＯＤＥ情報（印刷設定情報）がなされたときの設定日時（タイムスタンプ）を保持するタイムスタンプメンバ１５０１ａと、アプリケーション再起動後も本ＤＥＶＭＯＤＥの設定を有効にするか否かを示すフラグ（常に印刷設定を有効に印刷設定適用フラグ）を保持するメンバ１５０１ｂと備える。なお、ＤＥＶＭＯＤＥ情報１５０１を保持する領域は、プリンタドライバ２０３によりＲＡＭ１０２に確保される。
【０１２６】
また、この設定日時は日付及び時刻に関する日時情報である。また、ＭＳ−Ｅｘｃｅｌのデータファイルでは、図５のＤＥＶＭＯＤＥ情報５０１、図１５のＤＥＶＭＯＤＥ情報１１０１、及び図１９のＤＥＶＭＯＤＥ情報１５０１のデータ構造がそのまま各シートに保持される。
【０１２７】
図２０は、ドライバＵＩ画面上に表示されるダイアログの一例を示す図である。
【０１２８】
図２０に示すダイアログ１６０１上でチェックボックスにチェックされた場合は、ＤＥＶＭＯＤＥ情報１５０１内の「アプリ起動後も本設定を有効にするフラグ」メンバに「ＯＮ」が保持される。一方、チェックボックスにチェックされなかった場合は、ＤＥＶＭＯＤＥ情報１５０１内の「アプリ起動後も本設定を有効にするフラグ」メンバに「ＯＦＦ」が保持される。ダイアログ１６０１は、ドライバＵＩ画面上にポップアップ表示されてもよく、また図示の形態に限定されず、ドライバＵＩ画面に組み込まれていてもよい。
【０１２９】
次に、第３の実施形態における印刷制御処理を説明する。
【０１３０】
図２１は、図１９のＤＥＶＭＯＤＥ情報１５０１に印刷設定情報を保存（保持）するフローチャートである。なお、図２１のステップＳ６０１〜Ｓ６１０は、図１０のステップＳ６０１〜Ｓ６１０と同じである。
【０１３１】
ステップＳ１７０１は、プリンタドライバ２０３は、ドライバＵＩ画面上に表示されたダイアログ１６１０のチェックボックスのチェック有無に応じて、ＤＥＶＭＯＤＥ情報１５０１のアプリ起動後も本設定を有効にするフラグに「ＯＮ」または「ＯＦＦ」を保持する。
【０１３２】
次に、図２２を参照して、第３の実施形態におけるＤＥＶＭＯＤＥ設定処理について説明する。
【０１３３】
図２２は、第３の実施形態におけるＤＥＶＭＯＤＥ設定処理の詳細を示すフローチャートである。本処理は、図１１のステップＳ７０１のＤＥＶＭＯＤＥ設定処理であり、ステップＳ８０１〜Ｓ８０７は、図１２のステップＳ８０１〜Ｓ８０７と同じである。
【０１３４】
ステップＳ１８０１では、プリンタドライバ２０３は、ＤＥＶＭＯＤＥ情報１５０１からアプリ起動後も本設定を有効にするフラグを取得する。次に、ステップＳ１８０２では、プリンタドライバ２０３は、ステップＳ１８０１で取得したフラグがＯＦＦかを判定する。この判定の結果、フラグがＯＮの場合は、ステップＳ８０６以降の処理が行われる一方、ＯＦＦの場合は、ステップＳ８０４以降の処理が行われる。
【０１３５】
次に、図２３を参照して、第３の実施形態におけるＤＥＶＭＯＤＥ切り替え（変更）処理について説明する。
【０１３６】
図２３は、第３の実施形態におけるＤＥＶＭＯＤＥ切り替え（変更）処理の詳細を示すフローチャートである。本処理は、図１１のステップＳ７０４のＤＥＶＭＯＤＥ切り替え（変更）処理であり、ステップＳ１００１〜Ｓ１００７は、図１４のステップＳ１００１〜Ｓ１００７と同じである。
【０１３７】
ステップＳ１９０１では、プリンタドライバ２０３は、ＤＥＶＭＯＤＥ情報１５０１からアプリ起動後も本設定を有効にするフラグを取得する。次に、ステップＳ１９０２は、プリンタドライバ２０３は、ステップＳ１８０１で取得したフラグがＯＦＦかを判定する。この判定の結果、フラグがＯＮの場合は、ステップＳ１００６以降の処理が行われる一方、ＯＦＦの場合は、ステップＳ１００４以降の処理が行われる。
【０１３８】
上記第３の実施形態によれば、ドライバＵＩ画面上に、常に印刷設定を有効にするか否かを設定するためのダイアログ１６０１を表示し、当該ダイアログ１６０１上で設定された内容（ＯＮ／ＯＦＦ）を印刷設定適用フラグとしてＤＥＶＭＯＤＥ情報１５０１に保持する。そして、アプリケーション２０１からの印刷指示がなされたときに、印刷設定適用フラグに応じて印刷設定情報を切り替える（変更する）。これにより、ユーザの使い勝手をさらに向上させることができる。
【０１３９】
なお、上記第３の実施形態では、図１９のＤＥＶＭＯＤＥ情報１５０１に図１５のユーザ名メンバ１１０１ｂが設けられていてもよい。これにより、ＤＥＶＭＯＤＥを設定したユーザのユーザ名と印刷を実行するユーザのユーザ名とが同一であっても、印刷設定適用フラグの設定内容に応じてＤＥＶＭＯＤＥの切り替え（変更）が行われる。これにより、ＯＳ上で動作するアプリケーションを利用して印刷指示を行うユーザの印刷出力時の使い勝手を向上させることができる。
【０１４０】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１４１】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４２】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１４３】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１４４】
さらに、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【０１４５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、またはインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【図面の簡単な説明】
【０１４６】
【図１】本発明の第１の実施形態に係る情報処理装置を含めた印刷システムの構成例を示すブロック図である。
【図２】図１におけるコンピュータのソフトウェア構成を示すブロック図である。
【図３】図１におけるコンピュータ及びプリンタが適用された印刷システムの構成例を示すブロック図である。
【図４】コンピュータにおいて実行される印刷制御処理の基本的な流れを示す図である。
【図５】本発明の第１の実施形態における印刷設定情報及びプリンタドライバ情報の保持形態を示す模式図であり、（ａ）は印刷設定情報を保持するＤＥＶＭＯＤＥ構造体を示し、（ｂ）はプリンタドライバ情報を保持するＤＥＶＤＡＴＡ構造体を示す。
【図６】文書データに対して印刷メニュー選択によるドキュメントプロパティで印刷設定が行われる際に表示するプリンタドライバユーザインターフェースの画面例を示す図である。
【図７】文書データに対してページ設定メニュー選択によるドキュメントプロパティで印刷設定が行われる際に表示するプリンタドライバユーザインターフェースの画面例を示す図である。
【図８】プリンタプロパティで印刷設定が行われる際に表示するプリンタドライバユーザインターフェースの画面を示す図である。
【図９】３枚のシートを有するＭＳ−Ｅｘｃｅｌのデータファイルの印刷設定変更時の印刷設定及びタイムスタンプの一例を示す図であり、（ａ）は変更前の印刷設定情報の一例を示し、（ｂ）は図７に示す方法による印刷設定変更後の印刷設定情報の一例を示し、（ｃ）は図６に示す方法による印刷設定変更後の印刷設定情報の一例を示す。
【図１０】図５（ａ）のＤＥＶＭＯＤＥ情報に印刷設定情報を保存するＤＥＶＭＯＤＥ保存処理を示すフローチャートである。
【図１１】印刷ジョブが生成される印刷処理のフローチャートである。
【図１２】図１１のステップＳ７０１におけるＤＥＶＭＯＤＥ設定処理の詳細を示すフローチャートである。
【図１３】図１１のステップＳ７０２における印刷開始処理の詳細を示すフローチャートである。
【図１４】図１１のステップＳ７０３におけるＤＥＶＭＯＤＥ切り替え（変更）処理の詳細を示すフローチャートである。
【図１５】本発明の第２の実施形態における印刷設定情報を保持するＤＥＶＭＯＤＥ構造体の模式図である。
【図１６】図１５のＤＥＶＭＯＤＥ情報に印刷設定情報を保存する処理のフローチャートである。
【図１７】第２の実施形態におけるＤＥＶＭＯＤＥ設定処理の詳細を示すフローチャートである。
【図１８】第２の実施形態におけるＤＥＶＭＯＤＥ切り替え（変更）処理の詳細を示すフローチャートである。
【図１９】本発明の第３の実施形態における印刷設定情報を保持するＤＥＶＭＯＤＥ構造体の模式図である。
【図２０】ドライバＵＩ画面上に表示されるダイアログの一例を示す図である。
【図２１】図１９のＤＥＶＭＯＤＥ情報に印刷設定情報を保存するフローチャートである。
【図２２】第３の実施形態におけるＤＥＶＭＯＤＥ設定処理の詳細を示すフローチャートである。
【図２３】第３の実施形態におけるＤＥＶＭＯＤＥ切り替え（変更）処理の詳細を示すフローチャートである。
【符号の説明】
【０１４７】
３０００  コンピュータ
１５００  プリンタ
１０１，１１２  ＣＰＵ
１０９  操作装置
１１０  表示装置
１１１，１１４  外部メモリ
１２２  操作部
２０１  アプリケーション
２０２  グラフィックスエンジン
２０３  プリンタドライバ
５０１，１１０１，１５０１  ＤＥＶＭＯＤＥ情報
５０２  プリンタドライバ情報
【図１】
2009146277.tif 000003
【図２】
2009146277.tif 000004
【図３】
2009146277.tif 000005
【図４】
2009146277.tif 000006
【図５】
2009146277.tif 000007
【図６】
2009146277.tif 000008
【図７】
2009146277.tif 000009
【図８】
2009146277.tif 000010
【図９】
2009146277.tif 000011
【図１０】
2009146277.tif 000012
【図１１】
2009146277.tif 000013
【図１２】
2009146277.tif 000014
【図１３】
2009146277.tif 000015
【図１４】
2009146277.tif 000016
【図１５】
2009146277.tif 000017
【図１６】
2009146277.tif 000018
【図１７】
2009146277.tif 000019
【図１８】
2009146277.tif 000020
【図１９】
2009146277.tif 000021
【図２０】
2009146277.tif 000022
【図２１】
2009146277.tif 000023
【図２２】
2009146277.tif 000024
【図２３】
2009146277.tif 000025