(57)【特許請求の範囲】
【請求項１】
印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を、制御装置に制御させるためのプリンタドライバであって、
前記制御装置は、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶手段において記憶しており、
前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す第１のステップと、
データ圧縮が施された前記印刷設定情報を前記実行データの一部として前記制御装置の記憶手段に記憶させる第２のステップと、
前記制御装置がアプリケーションを起動させた際に、該アプリケーションが前記所定のアプリケーションであるか否かを判定する第３のステップと、
を備えた処理を、前記制御装置に実行させ、
前記第１のステップは、前記制御装置が起動した前記アプリケーションが前記所定のアプリケーションである場合には、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施すこと、
を特徴とするプリンタドライバ。
【請求項２】
前記印刷設定情報は、複数種類の印刷装置に対して共通の項目からなる第１の印刷設定情報、及び、該複数種類の印刷装置のそれぞれに対して固有の項目からなる第２の印刷設定情報からなり、
前記第１のステップでは、前記第２の印刷設定情報に対してデータ圧縮を施すこと、
を特徴とする請求項１に記載のプリンタドライバ。
【請求項３】
印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を、制御装置に制御させるためのプリンタドライバであって、
前記制御装置は、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶手段において記憶しており、
前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す第１のステップと、
データ圧縮が施された前記印刷設定情報を前記実行データの一部として前記制御装置の記憶手段に記憶させる第２のステップと、
前記印刷設定情報の少なくとも一部を、前記記憶手段において前記実行データとは異なる領域に記憶させる第４のステップと、
前記第１のステップ又は前記第４のステップのいずれを実行するかを決定する第５のステップと、
を備えた処理を、前記制御装置に実行させるためのプリンタドライバ。
【請求項４】
前記印刷設定情報は、複数種類の印刷装置に対して共通の項目からなる第１の印刷設定情報、及び、該複数種類の印刷装置のそれぞれに対して固有の項目からなる第２の印刷設定情報からなり、
前記第１のステップでは、前記第２の印刷設定情報に対してデータ圧縮を施すこと、
を特徴とする請求項３に記載のプリンタドライバ。
【請求項５】
前記処理は、
前記第１のステップ又は前記第４のステップのいずれを実行するかを選択させる選択画面を表示させる第６のステップを、
更に備え、
前記第５のステップにおいては、前記選択画面において選択された結果に基づいて、前記第１のステップ又は前記第４のステップのいずれを実行するかを決定すること、
を特徴とする請求項３又は請求項４のいずれかに記載のプリンタドライバ。
【請求項６】
印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を制御する制御装置であって、
所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶する記憶手段と、
前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す圧縮手段と、
アプリケーションが起動される際に、該アプリケーションが前記所定のアプリケーションであるか否かを判定する判定手段を、
を備え、
前記記憶手段は、データ圧縮が施された前記印刷設定情報を前記実行データの一部として記憶し、
前記圧縮手段は、起動された前記アプリケーションが前記所定のアプリケーションである場合には、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施すこと、
を特徴とする制御装置。
【請求項７】
前記印刷設定情報は、複数種類の印刷装置に対して共通の項目からなる第１の印刷設定情報、及び、該複数種類の印刷装置のそれぞれに対して固有の項目からなる第２の印刷設定情報からなり、
前記圧縮手段は、前記第２の印刷設定情報に対してデータ圧縮を施すこと、
を特徴とする請求項６に記載の制御装置。
【請求項８】
印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を制御する制御装置であって、
所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶する記憶手段と、
前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す圧縮手段と、
を備え、
前記記憶手段は、データ圧縮が施された前記印刷設定情報を前記実行データの一部として記憶し、
前記記憶手段は、前記印刷設定情報の少なくとも一部を、前記所定のアプリケーションで実行される実行データとは異なる領域に記憶し、
前記制御装置は、
前記印刷設定情報の少なくとも一部に対してデータ圧縮を前記圧縮手段が施すのか、又は、前記印刷設定情報の少なくとも一部を前記所定のアプリケーションで実行される実行データとは異なる領域に前記記憶手段が記憶するのかを決定する決定手段を、
更に備えていること、
を特徴とする制御装置。
【請求項９】
前記印刷設定情報は、複数種類の印刷装置に対して共通の項目からなる第１の印刷設定情報、及び、該複数種類の印刷装置のそれぞれに対して固有の項目からなる第２の印刷設定情報からなり、
前記圧縮手段は、前記第２の印刷設定情報に対してデータ圧縮を施すこと、
を特徴とする請求項８に記載の制御装置。
【請求項１０】
前記制御装置は、
前記印刷設定情報の少なくとも一部に対してデータ圧縮を前記圧縮手段が施すのか、又は、前記印刷設定情報の少なくとも一部を前記所定のアプリケーションで実行される実行データとは異なる領域に前記記憶手段が記憶するのかを選択させる選択画面を表示する表示手段を、
更に備えており、
前記決定手段は、前記選択画面において選択された結果に基づいて、前記印刷設定情報の少なくとも一部に対してデータ圧縮を前記圧縮手段が施すのか、又は、前記印刷設定情報の少なくとも一部を前記所定のアプリケーションで実行される実行データとは異なる領域に前記記憶手段が記憶するのかを決定すること、
を特徴とする請求項８又は請求項９のいずれかに記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバ及び制御装置、特に、印刷装置にて実行される印刷処理を制御装置に制御させるためのプリンタドライバ及び制御装置に関する。
【背景技術】
【０００２】
コンピュータを操作してプリンタにより印刷を実行する際には、ユーザは、プリンタドライバを起動させて、印刷枚数や用紙サイズ等の印刷設定を行う。この印刷設定は、一般的には、コンピュータのレジストリに記憶されているＤＥＶＭＯＤＥ構造体（印刷設定情報）として記録される。そして、コンピュータは、該ＤＥＶＭＯＤＥ構造体を読み出すことにより、ＤＥＶＭＯＤＥ構造体の印刷設定にしたがって、プリンタに印刷処理を行わせる。
【０００３】
ところで、ＤＥＶＭＯＤＥ構造体は、コンピュータのレジストリの他に、アプリケーションで実行されるファイル内に記録される場合がある。例えば、マイクロソフト社のＭｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（登録商標）では、一つのファイル内に、複数のシートが存在する。このようなファイルでは、複数のシート毎にＤＥＶＭＯＤＥ構造体が存在している。そのため、ＤＥＶＭＯＤＥ構造体は、複数のシート毎にファイルの一部として、コンピュータに記憶されている。これにより、シート毎に印刷設定を行うことができる。
【０００４】
しかしながら、前記アプリケーションは、ＤＥＶＭＯＤＥ構造体がファイルの一部としてコンピュータに記憶されると、ＤＥＶＭＯＤＥ構造体のサイズが大きくなると、アプリケーションにてエラーが発生するという問題が存在している。より詳細には、プリンタの利便性を向上させるために、プリンタドライバにて種々の印刷条件の設定を行うことができるようになってきている。そのため、ＤＥＶＭＯＤＥ構造体のサイズも増加傾向にある。
【０００５】
ところが、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（登録商標）では、ファイル内に記録可能なＤＥＶＭＯＤＥ構造体のサイズには、上限値が定められている。そのため、ＤＥＶＭＯＤＥ構造体のサイズが該上限値を超えた場合には、アプリケーションにてエラーが発生する。以下に、アプリケーションにてエラーが発生する際の処理の流れについて図面を参照しながら説明する。図１２は、アプリケーションにてエラーが発生する際の処理の流れを示した図である。
【０００６】
まず、ユーザは、アプリケーション（Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（登録商標））を起動させ、プリンタドライバのドライバＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を起動させる（１）。次に、ユーザは、マウス及びキーボードを操作して、ドライバＵＩ上にて印刷設定を変更する（２）。次に、ユーザは、マウス及びキーボードを操作して、ドライバＵＩを閉じる（３）。この際、変更された印刷設定が、ＤＥＶＭＯＤＥ構造体に記録される。そして、該ＤＥＶＭＯＤＥ構造体は、アプリケーションで実行されるファイルの一部としてコンピュータに記憶される。ところが、ＤＥＶＭＯＤＥ構造体のサイズが前記上限値を超えている場合には、ＤＥＶＭＯＤＥ構造体がファイルの一部として記憶されることができず、アプリケーションにてエラーが発生する（４）。
【０００７】
なお、従来のプリンタドライバに関する発明としては、例えば、特許文献1に記載のプリンタ制御方法が知られている。該プリンタ制御方法では、指定される印刷の設定に優先度を付加し、設定の優先度により設定決定し、あるいは印刷設定を強制設定して印刷を行っている。これにより、複数の設定からなる複雑な用途に対応可能となる。しかしながら、特許文献１に記載のプリンタ制御方法では、ファイルの一部としてＤＥＶＭＯＤＥ構造体が記録されることによって、アプリケーションにエラーが発生することを防止するための構成については言及されていない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−５８３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
そこで、本発明の目的は、印刷設定情報（ＤＥＶＭＯＤＥ構造体）をファイルの一部としてコンピュータに記憶させるアプリケーションにおいて、印刷設定情報の記憶にエラーが発生することを防止できるプリンタドライバ及び制御装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明の第１の形態に係るプリンタドライバは、印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を、制御装置に制御させるためのプリンタドライバであって、前記制御装置は、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶手段において記憶しており、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す第１のステップと、データ圧縮が施された前記印刷設定情報を前記実行データの一部として前記制御装置の記憶手段に記憶させる第２のステップと、前記制御装置がアプリケーションを起動させた際に、該アプリケーションが前記所定のアプリケーションであるか否かを判定する第３のステップと、を備えた処理を、前記制御装置に実行させ、前記第１のステップは、前記制御装置が起動した前記アプリケーションが前記所定のアプリケーションである場合には、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施すこと、を特徴とするプリンタドライバである。
本発明の第２の形態に係るプリンタドライバは、印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を、制御装置に制御させるためのプリンタドライバであって、前記制御装置は、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶手段において記憶しており、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す第１のステップと、データ圧縮が施された前記印刷設定情報を前記実行データの一部として前記制御装置の記憶手段に記憶させる第２のステップと、前記印刷設定情報の少なくとも一部を、前記記憶手段において前記実行データとは異なる領域に記憶させる第４のステップと、前記第１のステップ又は前記第４のステップのいずれを実行するかを決定する第５のステップと、を備えた処理を、前記制御装置に実行させるためのプリンタドライバである。
【００１１】
本発明の第１の形態に係る制御装置は、印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を制御する制御装置であって、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶する記憶手段と、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す圧縮手段と、アプリケーションが起動される際に、該アプリケーションが前記所定のアプリケーションであるか否かを判定する判定手段を、を備え、前記記憶手段は、データ圧縮が施された前記印刷設定情報を前記実行データの一部として記憶し、前記圧縮手段は、起動された前記アプリケーションが前記所定のアプリケーションである場合には、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施すこと、を特徴とする。
本発明の第２の形態に係る制御装置は、印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を制御する制御装置であって、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶する記憶手段と、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す圧縮手段と、を備え、前記記憶手段は、データ圧縮が施された前記印刷設定情報を前記実行データの一部として記憶し、前記記憶手段は、前記印刷設定情報の少なくとも一部を、前記所定のアプリケーションで実行される実行データとは異なる領域に記憶し、前記制御装置は、前記印刷設定情報の少なくとも一部に対してデータ圧縮を前記圧縮手段が施すのか、又は、前記印刷設定情報の少なくとも一部を前記所定のアプリケーションで実行される実行データとは異なる領域に前記記憶手段が記憶するのかを決定する決定手段を、更に備えていること、を特徴とする。
【発明の効果】
【００１２】
本発明によれば、印刷設定情報（ＤＥＶＭＯＤＥ構造体）をファイルの一部としてコンピュータに記憶させるアプリケーションにおいて、印刷設定情報の記憶にエラーが発生することを防止できる。
【図面の簡単な説明】
【００１３】
【図１】ホストコンピュータのハードウェア構成を示したブロック図である。
【図２】ホストコンピュータのソフトウェア構成を示したブロック図である。
【図３】ＤＥＶＭＯＤＥ構造体の構成を示した図である。
【図４】表示部に表示されるドライバＵＩを示した図である。
【図５】第１の動作の処理の流れを示した図である。
【図６】第２の動作の処理の流れを示した図である。
【図７】第１の動作又は第２の動作が実効される際に、制御部が行う動作を示したフローチャートである。
【図８】ＤＥＶＭＯＤＥ構造体のサイズに上限値が定められていることを通知する警告画面のドライバＵＩである。
【図９】第１の動作又は第２の動作のいずれを選択するのかを入力するため選択画面のドライバＵＩである。
【図１０】第１の動作の処理の流れを示した図である。
【図１１】第２の動作の処理の流れを示した図である。
【図１２】アプリケーションにてエラーが発生する際の処理の流れを示した図である。
【発明を実施するための形態】
【００１４】
以下に本発明のプリンタドライバ及び制御装置の一実施形態に係るプリンタドライバ及びホストコンピュータについて図面を参照しながら説明する。
【００１５】
（ホストコンピュータについて）
以下に、図面を参照しながら本発明の一実施形態に係るホストコンピュータの構成について図面を参照しながら説明する。図１は、ホストコンピュータ１０のハードウェア構成を示したブロック図である。図１には、ホストコンピュータ１０に加えて、プリンタ３０が記載されている。
【００１６】
ホストコンピュータ（制御装置）１０は、例えば、パソコンであり、図１に示すように、制御部１２、記憶部１４、コントローラ１６，１８，２０、システムバス２２、入力部２４及び表示部２６を備えている。制御部１２は、例えば、ＣＰＵにより実現され、ホストコンピュータ１０の動作を制御する役割を果たす。記憶部１４は、例えば、ハードディスクにより実現され、アプリケーションやアプリケーションで実行されるファイルを記憶している。更に、記憶部１４は、該ファイルの一部としてＤＥＶＭＯＤＥ構造体（詳細については後述）を記憶しいている。また、記憶部１４は、ＤＥＶＭＯＤＥ構造体に従ってプリンタ３０にて実行される印刷処理を、ホストコンピュータ１０に制御させるためのプリンタドライバも記憶している。
【００１７】
入力部２４は、例えば、キーボードやマウスにより実現され、ユーザからの入力を受付ける装置である。コントローラ１６は、入力部２４からの入力を制御する。表示部２６は、例えば、液晶ディスプレイ等の表示装置により実現され、ユーザに対して映像を表示する装置である。コントローラ１８は、表示部２６の表示を制御する。
【００１８】
プリンタ３０は、ホストコンピュータ１０に接続され、ホストコンピュータ１０からの指示に基づいて印刷処理を実行する印刷装置である。プリンタ３０は、レーザプリンタであってもよいし、インクジェットプリンタであってもよい。コントローラ２０は、ホストコンピュータ１０とプリンタ３０との通信制御処理を実行する。
【００１９】
制御部１２、記憶部１４及びコントローラ１６，１８，２０は、システムバス２２に接続されており、互いに通信することができる。
【００２０】
次に、ホストコンピュータ１０のソフトウェア構成について図面を参照しながら説明する。図２は、ホストコンピュータ１０のソフトウェア構成を示したブロック図である。
【００２１】
ホストコンピュータ１０は、図２に示すように、アプリケーション４２、プリンタドライバ４４及びシステムスプーラ４６を備えている。アプリケーション４２は、表計算ソフトウェア等（本実施形態では、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（登録商標））である。アプリケーション４２は、実行可能なファイルの一部として、後述するＤＥＶＭＯＤＥ構造体（印刷設定情報）をホストコンピュータ１０の記憶部１４に記憶させる機能を有している。また、アプリケーション４２は、印刷データを生成し、図示しないグラフィックエンジンに出力する。プリンタドライバ４４は、アプリケーション４２からの印刷データに基づいて、プリンタ３０に適した印刷データを生成する。この際、ドライバ４４は、ＤＥＶＭＯＤＥ構造体に従って印刷処理が実行されるようにプリンタ３０を制御する。システムスプーラ４６は、印刷データをスプールし、プリンタ３０のスケジュールに合わせて印刷データをプリンタ３０に送信する。
【００２２】
（ＤＥＶＭＯＤＥ構造体について）
以下に、ＤＥＶＭＯＤＥ構造体について図面を参照しながら説明する。図３は、ＤＥＶＭＯＤＥ構造体１００の構成を示した図である。図４は、表示部２６に表示されるドライバＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を示した図である。
【００２３】
ＤＥＶＭＯＤＥ構造体１００は、印刷に関する複数の項目からなる印刷設定情報であり、ＤＥＶＭＯＤＥ構造体パブリック部（以下、パブリック部と称す）１０２及びＤＥＶＭＯＤＥ構造体プライベート部（以下、プライベート部と称す）１０４を備えている。
【００２４】
パブリック部１０２は、複数種類のプリンタに対して共通の項目からなる印刷設定情報である。具体的には、パブリック部１０２には、原稿の向きや原稿サイズ等、プリンタの種類に関らず必ず設定される項目が記録される。プライベート部１０４は、複数種類のプリンタのそれぞれに対して固有の項目からなる印刷設定情報である。具体的には、ＩＤやパスワード等、プリンタの種類によって設定されたり設定されなかったりする項目が記録される。
【００２５】
ドライバＵＩは、図４に示すように、原稿の向き２１０、原稿サイズ２１２、ズーム２１４、部数２１６、給紙トレイ２１８、ソート２２０、用紙種類２２２、出力サイズ２２４、出力方法２２６、仕分け２２８、ＩＤ２３０及びパスワード２３２の項目の入力部を有しており、ＤＥＶＭＯＤＥ構造体１００を設定・変更するための画面である。
【００２６】
原稿の向き２１０は、原稿が縦搬送であるのか横搬送であるのかを示しており、図３に示すパブリック部１０２のｄｍＯｒｉｅｎｔａｔｉｏｎ１１０に記録される。原稿サイズ２１２は、原稿のサイズを示しており、図３に示すパブリック部１０２のｄｍＰａｐｅｒＳｉｚｅ１１２に記録される。ズーム２１４は、印刷イメージを拡大縮小する倍率を示しており、図３に示すパブリック部１０２のｄｍＳｃａｌｅ１１４に記録される。部数２１６は、印刷される部数を示しており、図３に示すパブリック部１０２のｄｍＣｏｐｉｅｓ１１６に記録される。給紙トレイ２１８は、プリンタ３０のいずれのトレイを使用するのかを示しており、図３に示すパブリック部１０２のｄｍＤｅｆａｕｌｔＳｏｕｒｃｅ１１８に記録される。ソート２２０は、文書を複数部印刷する場合に、１部ずつ印刷するか否かを示しており、図３に示すパブリック部１０２のｄｍＣｏｌｌａｔｅ１２０に記録される。用紙種類２２２は、用紙が普通紙であるのか厚紙であるのかを示しており、図３に示すパブリック部１０２のｄｍＭｅｄｉａＴｙｐｅ１２２に記録される。
【００２７】
出力サイズ２２４は、文書を印刷する用紙のサイズを示しており、図３に示すプライベート部１０４の＊＊＊＊＊＊１２４に記録されている。出力方法２２６は、プリンタから文書を出力する方法を示しており、図３に示すプライベート部１０４の＊＊＊＊＊＊１２６に記録されている。仕分け２２８は、複数部数印刷する場合に、一部ずつ位置をずらして出力するか否かを示しており、図３に示すプライベート部１０４の＊＊＊＊＊＊１２８に記録されている。ＩＤ２３０は、セキュリティ印刷用のＩＤを示しており、図３に示すプライベート部１０４の＊＊＊＊＊＊［ＳＩＺＥ］１３０に記録されている。パスワード２３２は、セキュリティ印刷用のパスワードを示しており、図３に示すプライベート部１０４の＊＊＊＊＊＊［ＳＩＺＥ］１３２に記録されている。
【００２８】
なお、図４は、印刷の基本設定に関するドライバＵＩを示している。基本設定のドライバＵＩの他に、レイアウト、仕上げ、カバーシート／挿入紙、スタンプ／ページ印刷、画像品質及びその他のドライバＵＩも存在している。図３の符号が付されていない行は、基本設定に関するドライバＵＩ以外のドライバＵＩにて設定される項目である。ただし、これらの項目については、説明を省略する。
【００２９】
（ホストコンピュータの動作の概要）
以下に、ホストコンピュータ１０の動作の概要について図面を参照しながら説明する。近年、プリンタ３０の利便性の向上のために、ＤＥＶＭＯＤＥ構造体１００のプライベート部１０４のサイズが増加している。一方、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（登録商標）では、ファイル内に記録可能なＤＥＶＭＯＤＥ構造体のサイズには、上限値が定められている。そのため、ＤＥＶＭＯＤＥ構造体のサイズが該上限値を超えた場合には、アプリケーションにてエラーが発生する。
【００３０】
そこで、ホストコンピュータ１０では、以下に説明する第１の動作又は第２の動作のいずれかの動作がユーザによって選択されて実行される。第１の動作では、ＤＥＶＭＯＤＥ構造体１００がファイルの一部としてホストコンピュータ１０の記憶部１４に記憶（保存）される際に、ＤＥＶＭＯＤＥ構造体１００の一部（プライベート部１０４）にデータ圧縮が施される。第２の動作では、ＤＥＶＭＯＤＥ構造体１００がファイルの一部としてホストコンピュータ１０の記憶部１４に記憶される際に、記憶部１４において、ＤＥＶＭＯＤＥ構造体１００のプライベート部１０４が記憶部１４のファイルとは異なる領域（例えば、一般レジストリ）に記憶される。これにより、ホストコンピュータ１０は、ＤＥＶＭＯＤＥ構造体のサイズが上限値を超えることを防止している。図５は、第１の動作の処理の流れを示した図である。図６は、第２の動作の処理の流れを示した図である。
【００３１】
まず、第１の動作の概要について図５を参照しながら説明する。ユーザは、アプリケーション４２を起動させ（１）、アプリケーション４２にファイルを実行させる（２）。
【００３２】
次に、ユーザは、選択画面のドライバＵＩにおいて、「ドライバ設定を圧縮する」のチェックボックスをチェックして、第１の動作を選択する（３）。次に、ユーザは、選択画面のドライバＵＩの下段の「ＯＫ」のボタンをクリックすることにより、ドライバＵＩを閉じる（４）。この際、制御部１２は、図２に示すプリンタドライバ４４のデータ圧縮用のプログラムを用いて、ＤＥＶＭＯＤＥ構造体１００の一部（本実施形態では、プライベート部１０４）に対してデータ圧縮を施す（５）。そして、制御部１２は、図２に示すアプリケーション４２により、パブリック部１０２及びデータ圧縮が施されたプライベート部１０４を、アプリケーション４２で実行されているファイルの一部として記憶部１４に記憶（保存）させる（６）。以上で、第１の動作が完了する。
【００３３】
次に、第２の動作の概要について図６を参照しながら説明する。ユーザは、アプリケーション４２を起動させ（１）、アプリケーション４２にファイルを実行させる（２）。
【００３４】
次に、ユーザは、選択画面のドライバＵＩにおいて、「ドライバ設定をファイル保存しない」のチェックボックスをチェックして、第２の動作を選択する（３）。次に、ユーザは、選択画面のドライバＵＩの下段の「ＯＫ」のボタンをクリックすることにより、ドライバＵＩを閉じる（４）。この際、制御部１２は、アプリケーション４２により、パブリック部１０２を、アプリケーション４２で実行されているファイルの一部として記憶部１４に記憶（保存）させる（５）。更に、制御部１２は、図２に示すプリンタドライバ４４を用いて、ＤＥＶＭＯＤＥ構造体１００の一部（本実施形態では、プライベート部１０４）を、記憶部１４において、アプリケーション４２で実行されているファイルとは異なる領域に記憶（保存）させる（６）。以上で、第２の動作が完了する。
【００３５】
（ホストコンピュータの動作の具体例）
以下に、ホストコンピュータ１０の動作の具体例について図面を参照しながら説明する。図７は、第１の動作又は第２の動作が実行される際に、制御部１２が行う動作を示したフローチャートである。図８は、ＤＥＶＭＯＤＥ構造体１００のサイズに上限値が定められていることを通知する警告画面のドライバＵＩである。図９は、第１の動作又は第２の動作のいずれを選択するのかを入力するため選択画面のドライバＵＩである。
【００３６】
まず、ユーザは、入力部２４を操作して、アプリケーション４２を起動させるための指示を行う。応じて、制御部１２は、アプリケーション４２を起動させる（ステップＳ１）。更に、ユーザは、入力部２４を操作して、アプリケーション４２で実行されるファイルを、アプリケーション４２に実行させる。応じて、制御部１２は、アプリケーション４２によりファイルを実行する。
【００３７】
次に、制御部１２は、アプリケーション４２にプリンタドライバ４４を呼び出させる（ステップＳ２）。応じて、制御部１２は、プリンタドライバ４４を起動させる。更に、制御部１２は、プリンタドライバ４４に、ステップＳ２にて呼び出したアプリケーション４２が所定のアプリケーションであるか否かを判定する（ステップＳ３）。所定のアプリケーションとは、該アプリケーションが実行できるファイルの一部として記憶部１４にＤＥＶＭＯＤＥ構造体１００が記憶される処理が行われるアプリケーションである。ステップＳ３の動作の詳細は、以下の通りである。制御部１２は、プリンタドライバ４４に、ＷｉｎＡＰＩを用いて、アプリケーション４２のアプリ名称を取得させる。次に、制御部１２は、アプリケーション４２のアプリ名称とプリンタドライバ４４のレジストリに記憶されている所定のアプリケーションのアプリ名称とを、プリンタドライバ４４に対比させる。
【００３８】
アプリ名称が一致した場合（すなわち、アプリケケーション４２が所定のアプリケーションである場合）には、本処理はステップＳ４に進む。一方、アプリ名称が一致しない場合（すなわち、アプリケーション４２が所定のアプリケーションでない場合）には、本処理は従来処理へと進む。従来処理とは、ＤＥＶＭＯＤＥ構造体１００がファイルの一部として記憶部１４に記憶される処理である。なお、従来処理の詳細については、一般的な処理であるので説明を省略する。
【００３９】
アプリ名称が一致した場合には、制御部１２は、プリンタドライバ４４を用いて、表示部２６に図８に示す警告画面のドライバＵＩを表示させる（ステップＳ４）。警告画面とは、ファイルの一部として記憶部１４に記憶可能なＤＥＶＭＯＤＥ構造体１００のサイズに上限値が存在することを、ユーザに通知するための画面である。そして、警告画面には、ＤＥＶＭＯＤＥ構造体１００のサイズが上限値を超えた場合には、問題が発生（アプリケーション４２にエラーが発生）することを通知する文章が記載されている。
【００４０】
ユーザは、入力部２４を操作して、警告画面のドライバＵＩにより、表示部２６に、図９に示す選択画面のドライバＵＩを表示させるか否かを選択する。具体的には、ユーザは、選択画面のドライバＵＩを表示させる場合には、入力部２４を操作して、警告画面のドライバＵＩに設けられている「ドライバ設定を制御する」のボタンをクリックする。この間、制御部１２は、プリンタドライバ４４を用いて、図９に示す選択画面のドライバＵＩを表示させるのか否かの判定を繰り返しながら待機している（ステップＳ５）。そして、選択画面のドライバＵＩを表示させる場合には、本処理は、ステップＳ６に進む。
【００４１】
次に、制御部１２は、プリンタドライバ４４を用いて、表示部２６に図９に示す選択画面のドライバＵＩを表示させる（ステップＳ６）。選択画面のドライバＵＩには、問題が発生することを回避するためのチェックボックス（「ＤＥＶＭＯＤＥサイズによって起こるアプリ問題を回避する」のチェックボックス）が設けられている。そこで、ユーザは、問題が発生することを回避する場合には、入力部２４を用いて、該チェックボックスにチェックを入れる。制御部１２は、プリンタドライバ４４を用いて、問題が発生することを回避するか否かの判定を行う（ステップＳ７）。具体的には、制御部１２は、「ＤＥＶＭＯＤＥサイズによって起こるアプリ問題を回避する」のチェックボックスがチェックされているか否かの判定を行う。問題が発生することを回避する場合には、本処理はステップＳ８に進む。問題が発生することを回避しない場合には、本処理は従来処理へと進む。
【００４２】
「ＤＥＶＭＯＤＥサイズによって起こるアプリ問題を回避する」のチェックボックスにチェックが入れられていると、第１の動作を行うのか第２の動作を行うのかを選択するチェックボックスが選択可能となる。具体的には、図９に示すドライバＵＩには、「ドライバ設定を圧縮する」（第１の動作に相当）又は「ドライバ設定をファイル保存しない」（第２の動作に相当）のいずれかを選択するためのチェックボックスが設けられている。そこで、ユーザは、入力部２４を操作して、いずれかのチェックボックスをクリックする。この後、ユーザは、入力部２４を操作して、図９に示すドライバＵＩの「ＯＫ」のボタンをクリックする。応じて、制御部１２は、第１の動作が選択されたのか、又は、第２の動作が選択されたのかを、記憶部１４において、プリンタドライバ４４のレジストリに記憶させる。これにより、第１の動作又は第２の動作のいずれをホストコンピュータ１０に実行させるのかが決定される。
【００４３】
制御部１２は、プリンタドライバ４４のレジストリを参照して、第１の動作又は第２の動作のいずれを実行するのかを判定する（ステップＳ８）。第１の動作を実行する場合には、本処理はステップＳ９に進む。第２の動作を実行する場合には、本処理はステップＳ１０に進む。
【００４４】
第１の動作を実行する場合には、制御部１２は、プリンタドライバ４４のデータ圧縮用のソフトウェアを用いて、ＤＥＶＭＯＤＥ構造体１００のプライベート部１０４に対してデータ圧縮を施す。そして、制御部１２は、データ圧縮後のプライベート部１０４のサイズを、プリンタドライバ４４からアプリケーション４２に対して通知する（ステップＳ９）。ステップＳ９では、データ圧縮後のプライベート部１０４のサイズがアプリケーション４２に通知されるので、ＤＥＶＭＯＤＥ構造体１００のサイズが上限値を超えていることによって、アプリケーション４２にエラーが発生することが防止される。この後、本処理は、ステップＳ１１に進む。
【００４５】
第２の動作を実行する場合には、制御部１２は、プライベート部１０４のサイズが０ｂｙｔｅであると、プリンタドライバ４４からアプリケーション４２に対して通知する（ステップＳ１０）。第２の動作では、プライベート部１０４は、記憶部１４において、アプリケーション４２が実行するファイルとは異なる領域（例えば、一般レジストリ）に記憶される。そのため、アプリケーション４２が実行するファイルの一部として記憶されるプライベート部１０４のサイズは、０ｂｙｔｅである。これにより、ＤＥＶＭＯＤＥ構造体１００のサイズが上限値を超えていることによって、アプリケーション４２にエラーが発生することが防止される。この後、本処理は、ステップＳ１１に進む。
【００４６】
ステップＳ１１において、制御部１２は、プリンタドライバ４４により、選択画面のドライバＵＩが閉じられたか否かの判定を繰り返しながら待機している（ステップＳ１１）。ユーザは、入力部２４を操作して、選択画面のドライバＵＩの下段の「ＯＫ」のボタンをクリックする。これにより、選択画面のドライバＵＩが閉じられる。この後、本処理は、ステップＳ１２に進む。
【００４７】
制御部１２は、プリンタドライバ４４のレジストリを参照して、第１の動作又は第２の動作のいずれを実行するのかを判定する（ステップＳ１２）。本処理により、第１の動作又は第２の動作のいずれが実行されるのかが決定される。第１の動作を実行する場合には、本処理はステップＳ１３に進む。第２の動作を実行する場合には、本処理はステップＳ１５に進む。
【００４８】
第１の動作を実行する場合には、制御部１２は、プリンタドライバ４４のデータ圧縮用のソフトウェアを用いて、ＤＥＶＭＯＤＥ構造体１００のプライベート部１０４に対してデータ圧縮を施す（ステップＳ１３）。更に、制御部１２は、アプリケーション４２を用いて、パブリック部１０２及び圧縮されたプライベート部１０４を、該アプリケーション４２が実行するファイルの一部として記憶部１４に記憶（保存）させる（ステップＳ１４）。以上の処理により、本処理は終了する。
【００４９】
第２の動作を実行する場合には、制御部１２は、アプリケーション４２を用いて、パブリック部１０２を、該アプリケーション４２が実行するファイルの一部として記憶部１４に記憶（保存）させる（ステップＳ１５）。更に、制御部１２は、プリンタドライバ４４を用いて、プライベート部１０４を、記憶部１４において、該アプリケーション４２が実行するファイルとは異なる領域（例えば、一般レジストリ）に記憶（保存）させる（ステップＳ１６）。以上の処理により、本処理は終了する。
【００５０】
（効果）
以上のように構成されたホストコンピュータ１０によれば、以下に説明するように、ＤＥＶＭＯＤＥ構造体１００をファイルの一部としてホストコンピュータ１０に記憶させるアプリケーション４２において、ＤＥＶＭＯＤＥ構造体１００の記憶にエラーが発生することを防止できる。より詳細には、ホストコンピュータ１０では、ＤＥＶＭＯＤＥ構造体１００のプライベート部１０４は、データ圧縮が施された状態で、ファイルの一部として記憶部１４に記憶される。そのため、ＤＥＶＭＯＤＥ構造体１００のサイズは、データ圧縮される前の状態よりも小さくなる。よって、ＤＥＶＭＯＤＥ構造体１００のサイズが、ファイル内に記録可能なＤＥＶＭＯＤＥ構造体のサイズの上限値を超えることが防止される。その結果、アプリケーション４２において、エラーが発生することが防止される。
【００５１】
また、以下の理由によっても、アプリケーション４２においてエラーが発生することが防止される。より詳細には、ホストコンピュータ１０では、ＤＥＶＭＯＤＥ構造体１００のプライベート部１０４は、記憶部１４において、アプリケーション４２が実行するファイルとは異なる領域（例えば、一般レジストリ）に記憶される。そのため、ファイルの一部として記憶されるＤＥＶＭＯＤＥ構造体１００は、パブリック部１０２のみとなる。よって、ＤＥＶＭＯＤＥ構造体１００のサイズが、ファイル内に記録可能なＤＥＶＭＯＤＥ構造体のサイズの上限値を超えることが防止される。その結果、アプリケーション４２において、エラーが発生することが防止される。
【００５２】
また、ホストコンピュータ１０では、ＤＥＶＭＯＤＥ構造体１００のサイズを効果的に小さくすることができる。より詳細には、プライベート部１０４は、パブリック部１０２に比べて大きなサイズを有している。したがって、ホストコンピュータ１０が、プライベート部１０４に対してデータ圧縮を施すことにより、ＤＥＶＭＯＤＥ構造体１００のサイズを効果的に小さくすることができる。
【００５３】
また、ホストコンピュータ１０では、以下の理由によっても、ＤＥＶＭＯＤＥ構造体１００のサイズを効果的に小さくすることができる。より詳細には、プライベート部１０４は、パブリック部１０２に比べて大きなサイズを有している。したがって、ホストコンピュータ１０が、プライベート部１０４のみを、記憶部１４においてファイルとは異なる領域に記憶させることにより、ＤＥＶＭＯＤＥ構造体１００のサイズを効果的に小さくすることができる。
【００５４】
（変形例）
なお、前記説明では、アプリケーション４２の起動時に、第１の動作又は第２の動作が実行されているが、第１の動作又は第２の動作は、ＤＥＶＭＯＤＥ構造体１００がユーザの操作によって変更される際に実行されてもよい。以下に、第１の動作及び第２の動作の概要について説明する。図１０は、第１の動作の処理の流れを示した図である。図１１は、第２の動作の処理の流れを示した図である。
【００５５】
まず、第１の動作の概要について図１０を参照しながら説明する。まず、ユーザは、アプリケーション４２を起動させ、アプリケーション４２にファイルを実行させる。
【００５６】
次に、ユーザは、アプリケーション４２のファイルのタグの中から、印刷を選択し、ドライバＵＩを起動させる（１）。そして、ユーザは、入力部２４を操作して、ドライバＵＩにてＤＥＶＭＯＤＥ構造体１００の変更を行う（２）。
【００５７】
次に、ユーザは、ドライバＵＩの下段の「ＯＫ」のボタンをクリックすることにより、ドライバＵＩを閉じる（３）。この際、制御部１２は、図２に示すプリンタドライバ４４のデータ圧縮用のプログラムを用いて、変更されたＤＥＶＭＯＤＥ構造体１００の一部（本実施形態では、プライベート部１０４）に対してデータ圧縮を施す（４）。そして、制御部１２は、図２に示すアプリケーション４２により、パブリック部１０２及びデータ圧縮が施されたプライベート部１０４を、アプリケーション４２で実行されているファイルの一部として記憶部１４に記憶（保存）させる（５）。以上で、第１の動作が完了する。
【００５８】
次に、第２の動作の概要について図１１を参照しながら説明する。まず、ユーザは、アプリケーション４２を起動させ、アプリケーション４２にファイルを実行させる。
【００５９】
次に、ユーザは、アプリケーション４２のファイルのタグの中から、印刷を選択し、ドライバＵＩを起動させる（１）。そして、ユーザは、入力部２４を操作して、ドライバＵＩにてＤＥＶＭＯＤＥ構造体１００の変更を行う（２）。
【００６０】
次に、ユーザは、ドライバＵＩの下段の「ＯＫ」のボタンをクリックすることにより、ドライバＵＩを閉じる（３）。この際、制御部１２は、アプリケーション４２により、変更されたパブリック部１０２を、アプリケーション４２で実行されているファイルの一部として記憶部１４に記憶（保存）させる（４）。更に、制御部１２は、図２に示すプリンタドライバ４４を用いて、変更されたＤＥＶＭＯＤＥ構造体１００の一部（本実施形態では、プライベート部１０４）を、記憶部１４において、アプリケーション４２で実行されているファイルとは異なる領域（例えば、一般レジストリ）に記憶（保存）させる（５）。以上で、第２の動作が完了する。
【産業上の利用可能性】
【００６１】
本発明は、プリンタドライバ及び制御装置に有用であり、特に、印刷設定情報（ＤＥＶＭＯＤＥ構造体）をファイルの一部としてコンピュータに記憶させるアプリケーションにおいて、印刷設定情報の記憶にエラーが発生することを防止できる点において優れている。
【符号の説明】
【００６２】
１０  ホストコンピュータ
１２  制御部
１４  記憶部
２４  入力部
２６  表示部
３０  プリンタ
４２  アプリケーション
４４  プリンタドライバ
１００  ＤＥＶＭＯＤＥ構造体
１０２  パブリック部
１０４  プライベート部
【図１】
0005407670.tif 000002
【図２】
0005407670.tif 000003
【図３】
0005407670.tif 000004
【図４】
0005407670.tif 000005
【図５】
0005407670.tif 000006
【図６】
0005407670.tif 000007
【図７】
0005407670.tif 000008
【図８】
0005407670.tif 000009
【図９】
0005407670.tif 000010
【図１０】
0005407670.tif 000011
【図１１】
0005407670.tif 000012
【図１２】
0005407670.tif 000013