JP5407670B2 - プリンタドライバ及び制御装置 - Google Patents

プリンタドライバ及び制御装置 Download PDF

Info

Publication number
JP5407670B2
JP5407670B2 JP2009199646A JP2009199646A JP5407670B2 JP 5407670 B2 JP5407670 B2 JP 5407670B2 JP 2009199646 A JP2009199646 A JP 2009199646A JP 2009199646 A JP2009199646 A JP 2009199646A JP 5407670 B2 JP5407670 B2 JP 5407670B2
Authority
JP
Japan
Prior art keywords
setting information
print setting
application
control device
printing
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.)
Expired - Fee Related
Application number
JP2009199646A
Other languages
English (en)
Other versions
JP2011053754A (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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2009199646A priority Critical patent/JP5407670B2/ja
Publication of JP2011053754A publication Critical patent/JP2011053754A/ja
Application granted granted Critical
Publication of JP5407670B2 publication Critical patent/JP5407670B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プリンタドライバ及び制御装置、特に、印刷装置にて実行される印刷処理を制御装置に制御させるためのプリンタドライバ及び制御装置に関する。
コンピュータを操作してプリンタにより印刷を実行する際には、ユーザは、プリンタドライバを起動させて、印刷枚数や用紙サイズ等の印刷設定を行う。この印刷設定は、一般的には、コンピュータのレジストリに記憶されているDEVMODE構造体(印刷設定情報)として記録される。そして、コンピュータは、該DEVMODE構造体を読み出すことにより、DEVMODE構造体の印刷設定にしたがって、プリンタに印刷処理を行わせる。
ところで、DEVMODE構造体は、コンピュータのレジストリの他に、アプリケーションで実行されるファイル内に記録される場合がある。例えば、マイクロソフト社のMicrosoft Excel(登録商標)では、一つのファイル内に、複数のシートが存在する。このようなファイルでは、複数のシート毎にDEVMODE構造体が存在している。そのため、DEVMODE構造体は、複数のシート毎にファイルの一部として、コンピュータに記憶されている。これにより、シート毎に印刷設定を行うことができる。
しかしながら、前記アプリケーションは、DEVMODE構造体がファイルの一部としてコンピュータに記憶されると、DEVMODE構造体のサイズが大きくなると、アプリケーションにてエラーが発生するという問題が存在している。より詳細には、プリンタの利便性を向上させるために、プリンタドライバにて種々の印刷条件の設定を行うことができるようになってきている。そのため、DEVMODE構造体のサイズも増加傾向にある。
ところが、Microsoft Excel(登録商標)では、ファイル内に記録可能なDEVMODE構造体のサイズには、上限値が定められている。そのため、DEVMODE構造体のサイズが該上限値を超えた場合には、アプリケーションにてエラーが発生する。以下に、アプリケーションにてエラーが発生する際の処理の流れについて図面を参照しながら説明する。図12は、アプリケーションにてエラーが発生する際の処理の流れを示した図である。
まず、ユーザは、アプリケーション(Microsoft Excel(登録商標))を起動させ、プリンタドライバのドライバUI(User Interface)を起動させる(1)。次に、ユーザは、マウス及びキーボードを操作して、ドライバUI上にて印刷設定を変更する(2)。次に、ユーザは、マウス及びキーボードを操作して、ドライバUIを閉じる(3)。この際、変更された印刷設定が、DEVMODE構造体に記録される。そして、該DEVMODE構造体は、アプリケーションで実行されるファイルの一部としてコンピュータに記憶される。ところが、DEVMODE構造体のサイズが前記上限値を超えている場合には、DEVMODE構造体がファイルの一部として記憶されることができず、アプリケーションにてエラーが発生する(4)。
なお、従来のプリンタドライバに関する発明としては、例えば、特許文献1に記載のプリンタ制御方法が知られている。該プリンタ制御方法では、指定される印刷の設定に優先度を付加し、設定の優先度により設定決定し、あるいは印刷設定を強制設定して印刷を行っている。これにより、複数の設定からなる複雑な用途に対応可能となる。しかしながら、特許文献1に記載のプリンタ制御方法では、ファイルの一部としてDEVMODE構造体が記録されることによって、アプリケーションにエラーが発生することを防止するための構成については言及されていない。
特開2003−58332号公報
そこで、本発明の目的は、印刷設定情報(DEVMODE構造体)をファイルの一部としてコンピュータに記憶させるアプリケーションにおいて、印刷設定情報の記憶にエラーが発生することを防止できるプリンタドライバ及び制御装置を提供することである。
本発明の第1の形態に係るプリンタドライバは、印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を、制御装置に制御させるためのプリンタドライバであって、前記制御装置は、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶手段において記憶しており、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す第1のステップと、データ圧縮が施された前記印刷設定情報を前記実行データの一部として前記制御装置の記憶手段に記憶させる第2のステップと、前記制御装置がアプリケーションを起動させた際に、該アプリケーションが前記所定のアプリケーションであるか否かを判定する第3のステップと、を備えた処理を、前記制御装置に実行させ、前記第1のステップは、前記制御装置が起動した前記アプリケーションが前記所定のアプリケーションである場合には、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施すこと、を特徴とするプリンタドライバである。
本発明の第2の形態に係るプリンタドライバは、印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を、制御装置に制御させるためのプリンタドライバであって、前記制御装置は、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶手段において記憶しており、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す第1のステップと、データ圧縮が施された前記印刷設定情報を前記実行データの一部として前記制御装置の記憶手段に記憶させる第2のステップと、前記印刷設定情報の少なくとも一部を、前記記憶手段において前記実行データとは異なる領域に記憶させる第4のステップと、前記第1のステップ又は前記第4のステップのいずれを実行するかを決定する第5のステップと、を備えた処理を、前記制御装置に実行させるためのプリンタドライバである。
本発明の第1の形態に係る制御装置は、印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を制御する制御装置であって、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶する記憶手段と、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す圧縮手段と、アプリケーションが起動される際に、該アプリケーションが前記所定のアプリケーションであるか否かを判定する判定手段を、を備え、前記記憶手段は、データ圧縮が施された前記印刷設定情報を前記実行データの一部として記憶し、前記圧縮手段は、起動された前記アプリケーションが前記所定のアプリケーションである場合には、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施すこと、を特徴とする。
本発明の第2の形態に係る制御装置は、印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を制御する制御装置であって、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶する記憶手段と、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す圧縮手段と、を備え、前記記憶手段は、データ圧縮が施された前記印刷設定情報を前記実行データの一部として記憶し、前記記憶手段は、前記印刷設定情報の少なくとも一部を、前記所定のアプリケーションで実行される実行データとは異なる領域に記憶し、前記制御装置は、前記印刷設定情報の少なくとも一部に対してデータ圧縮を前記圧縮手段が施すのか、又は、前記印刷設定情報の少なくとも一部を前記所定のアプリケーションで実行される実行データとは異なる領域に前記記憶手段が記憶するのかを決定する決定手段を、更に備えていること、を特徴とする。
本発明によれば、印刷設定情報(DEVMODE構造体)をファイルの一部としてコンピュータに記憶させるアプリケーションにおいて、印刷設定情報の記憶にエラーが発生することを防止できる。
ホストコンピュータのハードウェア構成を示したブロック図である。 ホストコンピュータのソフトウェア構成を示したブロック図である。 DEVMODE構造体の構成を示した図である。 表示部に表示されるドライバUIを示した図である。 第1の動作の処理の流れを示した図である。 第2の動作の処理の流れを示した図である。 第1の動作又は第2の動作が実効される際に、制御部が行う動作を示したフローチャートである。 DEVMODE構造体のサイズに上限値が定められていることを通知する警告画面のドライバUIである。 第1の動作又は第2の動作のいずれを選択するのかを入力するため選択画面のドライバUIである。 第1の動作の処理の流れを示した図である。 第2の動作の処理の流れを示した図である。 アプリケーションにてエラーが発生する際の処理の流れを示した図である。
以下に本発明のプリンタドライバ及び制御装置の一実施形態に係るプリンタドライバ及びホストコンピュータについて図面を参照しながら説明する。
(ホストコンピュータについて)
以下に、図面を参照しながら本発明の一実施形態に係るホストコンピュータの構成について図面を参照しながら説明する。図1は、ホストコンピュータ10のハードウェア構成を示したブロック図である。図1には、ホストコンピュータ10に加えて、プリンタ30が記載されている。
ホストコンピュータ(制御装置)10は、例えば、パソコンであり、図1に示すように、制御部12、記憶部14、コントローラ16,18,20、システムバス22、入力部24及び表示部26を備えている。制御部12は、例えば、CPUにより実現され、ホストコンピュータ10の動作を制御する役割を果たす。記憶部14は、例えば、ハードディスクにより実現され、アプリケーションやアプリケーションで実行されるファイルを記憶している。更に、記憶部14は、該ファイルの一部としてDEVMODE構造体(詳細については後述)を記憶しいている。また、記憶部14は、DEVMODE構造体に従ってプリンタ30にて実行される印刷処理を、ホストコンピュータ10に制御させるためのプリンタドライバも記憶している。
入力部24は、例えば、キーボードやマウスにより実現され、ユーザからの入力を受付ける装置である。コントローラ16は、入力部24からの入力を制御する。表示部26は、例えば、液晶ディスプレイ等の表示装置により実現され、ユーザに対して映像を表示する装置である。コントローラ18は、表示部26の表示を制御する。
プリンタ30は、ホストコンピュータ10に接続され、ホストコンピュータ10からの指示に基づいて印刷処理を実行する印刷装置である。プリンタ30は、レーザプリンタであってもよいし、インクジェットプリンタであってもよい。コントローラ20は、ホストコンピュータ10とプリンタ30との通信制御処理を実行する。
制御部12、記憶部14及びコントローラ16,18,20は、システムバス22に接続されており、互いに通信することができる。
次に、ホストコンピュータ10のソフトウェア構成について図面を参照しながら説明する。図2は、ホストコンピュータ10のソフトウェア構成を示したブロック図である。
ホストコンピュータ10は、図2に示すように、アプリケーション42、プリンタドライバ44及びシステムスプーラ46を備えている。アプリケーション42は、表計算ソフトウェア等(本実施形態では、Microsoft Excel(登録商標))である。アプリケーション42は、実行可能なファイルの一部として、後述するDEVMODE構造体(印刷設定情報)をホストコンピュータ10の記憶部14に記憶させる機能を有している。また、アプリケーション42は、印刷データを生成し、図示しないグラフィックエンジンに出力する。プリンタドライバ44は、アプリケーション42からの印刷データに基づいて、プリンタ30に適した印刷データを生成する。この際、ドライバ44は、DEVMODE構造体に従って印刷処理が実行されるようにプリンタ30を制御する。システムスプーラ46は、印刷データをスプールし、プリンタ30のスケジュールに合わせて印刷データをプリンタ30に送信する。
(DEVMODE構造体について)
以下に、DEVMODE構造体について図面を参照しながら説明する。図3は、DEVMODE構造体100の構成を示した図である。図4は、表示部26に表示されるドライバUI(User Interface)を示した図である。
DEVMODE構造体100は、印刷に関する複数の項目からなる印刷設定情報であり、DEVMODE構造体パブリック部(以下、パブリック部と称す)102及びDEVMODE構造体プライベート部(以下、プライベート部と称す)104を備えている。
パブリック部102は、複数種類のプリンタに対して共通の項目からなる印刷設定情報である。具体的には、パブリック部102には、原稿の向きや原稿サイズ等、プリンタの種類に関らず必ず設定される項目が記録される。プライベート部104は、複数種類のプリンタのそれぞれに対して固有の項目からなる印刷設定情報である。具体的には、IDやパスワード等、プリンタの種類によって設定されたり設定されなかったりする項目が記録される。
ドライバUIは、図4に示すように、原稿の向き210、原稿サイズ212、ズーム214、部数216、給紙トレイ218、ソート220、用紙種類222、出力サイズ224、出力方法226、仕分け228、ID230及びパスワード232の項目の入力部を有しており、DEVMODE構造体100を設定・変更するための画面である。
原稿の向き210は、原稿が縦搬送であるのか横搬送であるのかを示しており、図3に示すパブリック部102のdmOrientation110に記録される。原稿サイズ212は、原稿のサイズを示しており、図3に示すパブリック部102のdmPaperSize112に記録される。ズーム214は、印刷イメージを拡大縮小する倍率を示しており、図3に示すパブリック部102のdmScale114に記録される。部数216は、印刷される部数を示しており、図3に示すパブリック部102のdmCopies116に記録される。給紙トレイ218は、プリンタ30のいずれのトレイを使用するのかを示しており、図3に示すパブリック部102のdmDefaultSource118に記録される。ソート220は、文書を複数部印刷する場合に、1部ずつ印刷するか否かを示しており、図3に示すパブリック部102のdmCollate120に記録される。用紙種類222は、用紙が普通紙であるのか厚紙であるのかを示しており、図3に示すパブリック部102のdmMediaType122に記録される。
出力サイズ224は、文書を印刷する用紙のサイズを示しており、図3に示すプライベート部104の******124に記録されている。出力方法226は、プリンタから文書を出力する方法を示しており、図3に示すプライベート部104の******126に記録されている。仕分け228は、複数部数印刷する場合に、一部ずつ位置をずらして出力するか否かを示しており、図3に示すプライベート部104の******128に記録されている。ID230は、セキュリティ印刷用のIDを示しており、図3に示すプライベート部104の******[SIZE]130に記録されている。パスワード232は、セキュリティ印刷用のパスワードを示しており、図3に示すプライベート部104の******[SIZE]132に記録されている。
なお、図4は、印刷の基本設定に関するドライバUIを示している。基本設定のドライバUIの他に、レイアウト、仕上げ、カバーシート/挿入紙、スタンプ/ページ印刷、画像品質及びその他のドライバUIも存在している。図3の符号が付されていない行は、基本設定に関するドライバUI以外のドライバUIにて設定される項目である。ただし、これらの項目については、説明を省略する。
(ホストコンピュータの動作の概要)
以下に、ホストコンピュータ10の動作の概要について図面を参照しながら説明する。近年、プリンタ30の利便性の向上のために、DEVMODE構造体100のプライベート部104のサイズが増加している。一方、Microsoft Excel(登録商標)では、ファイル内に記録可能なDEVMODE構造体のサイズには、上限値が定められている。そのため、DEVMODE構造体のサイズが該上限値を超えた場合には、アプリケーションにてエラーが発生する。
そこで、ホストコンピュータ10では、以下に説明する第1の動作又は第2の動作のいずれかの動作がユーザによって選択されて実行される。第1の動作では、DEVMODE構造体100がファイルの一部としてホストコンピュータ10の記憶部14に記憶(保存)される際に、DEVMODE構造体100の一部(プライベート部104)にデータ圧縮が施される。第2の動作では、DEVMODE構造体100がファイルの一部としてホストコンピュータ10の記憶部14に記憶される際に、記憶部14において、DEVMODE構造体100のプライベート部104が記憶部14のファイルとは異なる領域(例えば、一般レジストリ)に記憶される。これにより、ホストコンピュータ10は、DEVMODE構造体のサイズが上限値を超えることを防止している。図5は、第1の動作の処理の流れを示した図である。図6は、第2の動作の処理の流れを示した図である。
まず、第1の動作の概要について図5を参照しながら説明する。ユーザは、アプリケーション42を起動させ(1)、アプリケーション42にファイルを実行させる(2)。
次に、ユーザは、選択画面のドライバUIにおいて、「ドライバ設定を圧縮する」のチェックボックスをチェックして、第1の動作を選択する(3)。次に、ユーザは、選択画面のドライバUIの下段の「OK」のボタンをクリックすることにより、ドライバUIを閉じる(4)。この際、制御部12は、図2に示すプリンタドライバ44のデータ圧縮用のプログラムを用いて、DEVMODE構造体100の一部(本実施形態では、プライベート部104)に対してデータ圧縮を施す(5)。そして、制御部12は、図2に示すアプリケーション42により、パブリック部102及びデータ圧縮が施されたプライベート部104を、アプリケーション42で実行されているファイルの一部として記憶部14に記憶(保存)させる(6)。以上で、第1の動作が完了する。
次に、第2の動作の概要について図6を参照しながら説明する。ユーザは、アプリケーション42を起動させ(1)、アプリケーション42にファイルを実行させる(2)。
次に、ユーザは、選択画面のドライバUIにおいて、「ドライバ設定をファイル保存しない」のチェックボックスをチェックして、第2の動作を選択する(3)。次に、ユーザは、選択画面のドライバUIの下段の「OK」のボタンをクリックすることにより、ドライバUIを閉じる(4)。この際、制御部12は、アプリケーション42により、パブリック部102を、アプリケーション42で実行されているファイルの一部として記憶部14に記憶(保存)させる(5)。更に、制御部12は、図2に示すプリンタドライバ44を用いて、DEVMODE構造体100の一部(本実施形態では、プライベート部104)を、記憶部14において、アプリケーション42で実行されているファイルとは異なる領域に記憶(保存)させる(6)。以上で、第2の動作が完了する。
(ホストコンピュータの動作の具体例)
以下に、ホストコンピュータ10の動作の具体例について図面を参照しながら説明する。図7は、第1の動作又は第2の動作が実行される際に、制御部12が行う動作を示したフローチャートである。図8は、DEVMODE構造体100のサイズに上限値が定められていることを通知する警告画面のドライバUIである。図9は、第1の動作又は第2の動作のいずれを選択するのかを入力するため選択画面のドライバUIである。
まず、ユーザは、入力部24を操作して、アプリケーション42を起動させるための指示を行う。応じて、制御部12は、アプリケーション42を起動させる(ステップS1)。更に、ユーザは、入力部24を操作して、アプリケーション42で実行されるファイルを、アプリケーション42に実行させる。応じて、制御部12は、アプリケーション42によりファイルを実行する。
次に、制御部12は、アプリケーション42にプリンタドライバ44を呼び出させる(ステップS2)。応じて、制御部12は、プリンタドライバ44を起動させる。更に、制御部12は、プリンタドライバ44に、ステップS2にて呼び出したアプリケーション42が所定のアプリケーションであるか否かを判定する(ステップS3)。所定のアプリケーションとは、該アプリケーションが実行できるファイルの一部として記憶部14にDEVMODE構造体100が記憶される処理が行われるアプリケーションである。ステップS3の動作の詳細は、以下の通りである。制御部12は、プリンタドライバ44に、WinAPIを用いて、アプリケーション42のアプリ名称を取得させる。次に、制御部12は、アプリケーション42のアプリ名称とプリンタドライバ44のレジストリに記憶されている所定のアプリケーションのアプリ名称とを、プリンタドライバ44に対比させる。
アプリ名称が一致した場合(すなわち、アプリケケーション42が所定のアプリケーションである場合)には、本処理はステップS4に進む。一方、アプリ名称が一致しない場合(すなわち、アプリケーション42が所定のアプリケーションでない場合)には、本処理は従来処理へと進む。従来処理とは、DEVMODE構造体100がファイルの一部として記憶部14に記憶される処理である。なお、従来処理の詳細については、一般的な処理であるので説明を省略する。
アプリ名称が一致した場合には、制御部12は、プリンタドライバ44を用いて、表示部26に図8に示す警告画面のドライバUIを表示させる(ステップS4)。警告画面とは、ファイルの一部として記憶部14に記憶可能なDEVMODE構造体100のサイズに上限値が存在することを、ユーザに通知するための画面である。そして、警告画面には、DEVMODE構造体100のサイズが上限値を超えた場合には、問題が発生(アプリケーション42にエラーが発生)することを通知する文章が記載されている。
ユーザは、入力部24を操作して、警告画面のドライバUIにより、表示部26に、図9に示す選択画面のドライバUIを表示させるか否かを選択する。具体的には、ユーザは、選択画面のドライバUIを表示させる場合には、入力部24を操作して、警告画面のドライバUIに設けられている「ドライバ設定を制御する」のボタンをクリックする。この間、制御部12は、プリンタドライバ44を用いて、図9に示す選択画面のドライバUIを表示させるのか否かの判定を繰り返しながら待機している(ステップS5)。そして、選択画面のドライバUIを表示させる場合には、本処理は、ステップS6に進む。
次に、制御部12は、プリンタドライバ44を用いて、表示部26に図9に示す選択画面のドライバUIを表示させる(ステップS6)。選択画面のドライバUIには、問題が発生することを回避するためのチェックボックス(「DEVMODEサイズによって起こるアプリ問題を回避する」のチェックボックス)が設けられている。そこで、ユーザは、問題が発生することを回避する場合には、入力部24を用いて、該チェックボックスにチェックを入れる。制御部12は、プリンタドライバ44を用いて、問題が発生することを回避するか否かの判定を行う(ステップS7)。具体的には、制御部12は、「DEVMODEサイズによって起こるアプリ問題を回避する」のチェックボックスがチェックされているか否かの判定を行う。問題が発生することを回避する場合には、本処理はステップS8に進む。問題が発生することを回避しない場合には、本処理は従来処理へと進む。
「DEVMODEサイズによって起こるアプリ問題を回避する」のチェックボックスにチェックが入れられていると、第1の動作を行うのか第2の動作を行うのかを選択するチェックボックスが選択可能となる。具体的には、図9に示すドライバUIには、「ドライバ設定を圧縮する」(第1の動作に相当)又は「ドライバ設定をファイル保存しない」(第2の動作に相当)のいずれかを選択するためのチェックボックスが設けられている。そこで、ユーザは、入力部24を操作して、いずれかのチェックボックスをクリックする。この後、ユーザは、入力部24を操作して、図9に示すドライバUIの「OK」のボタンをクリックする。応じて、制御部12は、第1の動作が選択されたのか、又は、第2の動作が選択されたのかを、記憶部14において、プリンタドライバ44のレジストリに記憶させる。これにより、第1の動作又は第2の動作のいずれをホストコンピュータ10に実行させるのかが決定される。
制御部12は、プリンタドライバ44のレジストリを参照して、第1の動作又は第2の動作のいずれを実行するのかを判定する(ステップS8)。第1の動作を実行する場合には、本処理はステップS9に進む。第2の動作を実行する場合には、本処理はステップS10に進む。
第1の動作を実行する場合には、制御部12は、プリンタドライバ44のデータ圧縮用のソフトウェアを用いて、DEVMODE構造体100のプライベート部104に対してデータ圧縮を施す。そして、制御部12は、データ圧縮後のプライベート部104のサイズを、プリンタドライバ44からアプリケーション42に対して通知する(ステップS9)。ステップS9では、データ圧縮後のプライベート部104のサイズがアプリケーション42に通知されるので、DEVMODE構造体100のサイズが上限値を超えていることによって、アプリケーション42にエラーが発生することが防止される。この後、本処理は、ステップS11に進む。
第2の動作を実行する場合には、制御部12は、プライベート部104のサイズが0byteであると、プリンタドライバ44からアプリケーション42に対して通知する(ステップS10)。第2の動作では、プライベート部104は、記憶部14において、アプリケーション42が実行するファイルとは異なる領域(例えば、一般レジストリ)に記憶される。そのため、アプリケーション42が実行するファイルの一部として記憶されるプライベート部104のサイズは、0byteである。これにより、DEVMODE構造体100のサイズが上限値を超えていることによって、アプリケーション42にエラーが発生することが防止される。この後、本処理は、ステップS11に進む。
ステップS11において、制御部12は、プリンタドライバ44により、選択画面のドライバUIが閉じられたか否かの判定を繰り返しながら待機している(ステップS11)。ユーザは、入力部24を操作して、選択画面のドライバUIの下段の「OK」のボタンをクリックする。これにより、選択画面のドライバUIが閉じられる。この後、本処理は、ステップS12に進む。
制御部12は、プリンタドライバ44のレジストリを参照して、第1の動作又は第2の動作のいずれを実行するのかを判定する(ステップS12)。本処理により、第1の動作又は第2の動作のいずれが実行されるのかが決定される。第1の動作を実行する場合には、本処理はステップS13に進む。第2の動作を実行する場合には、本処理はステップS15に進む。
第1の動作を実行する場合には、制御部12は、プリンタドライバ44のデータ圧縮用のソフトウェアを用いて、DEVMODE構造体100のプライベート部104に対してデータ圧縮を施す(ステップS13)。更に、制御部12は、アプリケーション42を用いて、パブリック部102及び圧縮されたプライベート部104を、該アプリケーション42が実行するファイルの一部として記憶部14に記憶(保存)させる(ステップS14)。以上の処理により、本処理は終了する。
第2の動作を実行する場合には、制御部12は、アプリケーション42を用いて、パブリック部102を、該アプリケーション42が実行するファイルの一部として記憶部14に記憶(保存)させる(ステップS15)。更に、制御部12は、プリンタドライバ44を用いて、プライベート部104を、記憶部14において、該アプリケーション42が実行するファイルとは異なる領域(例えば、一般レジストリ)に記憶(保存)させる(ステップS16)。以上の処理により、本処理は終了する。
(効果)
以上のように構成されたホストコンピュータ10によれば、以下に説明するように、DEVMODE構造体100をファイルの一部としてホストコンピュータ10に記憶させるアプリケーション42において、DEVMODE構造体100の記憶にエラーが発生することを防止できる。より詳細には、ホストコンピュータ10では、DEVMODE構造体100のプライベート部104は、データ圧縮が施された状態で、ファイルの一部として記憶部14に記憶される。そのため、DEVMODE構造体100のサイズは、データ圧縮される前の状態よりも小さくなる。よって、DEVMODE構造体100のサイズが、ファイル内に記録可能なDEVMODE構造体のサイズの上限値を超えることが防止される。その結果、アプリケーション42において、エラーが発生することが防止される。
また、以下の理由によっても、アプリケーション42においてエラーが発生することが防止される。より詳細には、ホストコンピュータ10では、DEVMODE構造体100のプライベート部104は、記憶部14において、アプリケーション42が実行するファイルとは異なる領域(例えば、一般レジストリ)に記憶される。そのため、ファイルの一部として記憶されるDEVMODE構造体100は、パブリック部102のみとなる。よって、DEVMODE構造体100のサイズが、ファイル内に記録可能なDEVMODE構造体のサイズの上限値を超えることが防止される。その結果、アプリケーション42において、エラーが発生することが防止される。
また、ホストコンピュータ10では、DEVMODE構造体100のサイズを効果的に小さくすることができる。より詳細には、プライベート部104は、パブリック部102に比べて大きなサイズを有している。したがって、ホストコンピュータ10が、プライベート部104に対してデータ圧縮を施すことにより、DEVMODE構造体100のサイズを効果的に小さくすることができる。
また、ホストコンピュータ10では、以下の理由によっても、DEVMODE構造体100のサイズを効果的に小さくすることができる。より詳細には、プライベート部104は、パブリック部102に比べて大きなサイズを有している。したがって、ホストコンピュータ10が、プライベート部104のみを、記憶部14においてファイルとは異なる領域に記憶させることにより、DEVMODE構造体100のサイズを効果的に小さくすることができる。
(変形例)
なお、前記説明では、アプリケーション42の起動時に、第1の動作又は第2の動作が実行されているが、第1の動作又は第2の動作は、DEVMODE構造体100がユーザの操作によって変更される際に実行されてもよい。以下に、第1の動作及び第2の動作の概要について説明する。図10は、第1の動作の処理の流れを示した図である。図11は、第2の動作の処理の流れを示した図である。
まず、第1の動作の概要について図10を参照しながら説明する。まず、ユーザは、アプリケーション42を起動させ、アプリケーション42にファイルを実行させる。
次に、ユーザは、アプリケーション42のファイルのタグの中から、印刷を選択し、ドライバUIを起動させる(1)。そして、ユーザは、入力部24を操作して、ドライバUIにてDEVMODE構造体100の変更を行う(2)。
次に、ユーザは、ドライバUIの下段の「OK」のボタンをクリックすることにより、ドライバUIを閉じる(3)。この際、制御部12は、図2に示すプリンタドライバ44のデータ圧縮用のプログラムを用いて、変更されたDEVMODE構造体100の一部(本実施形態では、プライベート部104)に対してデータ圧縮を施す(4)。そして、制御部12は、図2に示すアプリケーション42により、パブリック部102及びデータ圧縮が施されたプライベート部104を、アプリケーション42で実行されているファイルの一部として記憶部14に記憶(保存)させる(5)。以上で、第1の動作が完了する。
次に、第2の動作の概要について図11を参照しながら説明する。まず、ユーザは、アプリケーション42を起動させ、アプリケーション42にファイルを実行させる。
次に、ユーザは、アプリケーション42のファイルのタグの中から、印刷を選択し、ドライバUIを起動させる(1)。そして、ユーザは、入力部24を操作して、ドライバUIにてDEVMODE構造体100の変更を行う(2)。
次に、ユーザは、ドライバUIの下段の「OK」のボタンをクリックすることにより、ドライバUIを閉じる(3)。この際、制御部12は、アプリケーション42により、変更されたパブリック部102を、アプリケーション42で実行されているファイルの一部として記憶部14に記憶(保存)させる(4)。更に、制御部12は、図2に示すプリンタドライバ44を用いて、変更されたDEVMODE構造体100の一部(本実施形態では、プライベート部104)を、記憶部14において、アプリケーション42で実行されているファイルとは異なる領域(例えば、一般レジストリ)に記憶(保存)させる(5)。以上で、第2の動作が完了する。
本発明は、プリンタドライバ及び制御装置に有用であり、特に、印刷設定情報(DEVMODE構造体)をファイルの一部としてコンピュータに記憶させるアプリケーションにおいて、印刷設定情報の記憶にエラーが発生することを防止できる点において優れている。
10 ホストコンピュータ
12 制御部
14 記憶部
24 入力部
26 表示部
30 プリンタ
42 アプリケーション
44 プリンタドライバ
100 DEVMODE構造体
102 パブリック部
104 プライベート部

Claims (10)

  1. 印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を、制御装置に制御させるためのプリンタドライバであって、
    前記制御装置は、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶手段において記憶しており、
    前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す第1のステップと、
    データ圧縮が施された前記印刷設定情報を前記実行データの一部として前記制御装置の記憶手段に記憶させる第2のステップと、
    前記制御装置がアプリケーションを起動させた際に、該アプリケーションが前記所定のアプリケーションであるか否かを判定する第3のステップと、
    を備えた処理を、前記制御装置に実行させ
    前記第1のステップは、前記制御装置が起動した前記アプリケーションが前記所定のアプリケーションである場合には、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施すこと、
    を特徴とするプリンタドライバ。
  2. 前記印刷設定情報は、複数種類の印刷装置に対して共通の項目からなる第1の印刷設定情報、及び、該複数種類の印刷装置のそれぞれに対して固有の項目からなる第2の印刷設定情報からなり、
    前記第1のステップでは、前記第2の印刷設定情報に対してデータ圧縮を施すこと、
    を特徴とする請求項1に記載のプリンタドライバ。
  3. 印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を、制御装置に制御させるためのプリンタドライバであって、
    前記制御装置は、所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶手段において記憶しており、
    前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す第1のステップと、
    データ圧縮が施された前記印刷設定情報を前記実行データの一部として前記制御装置の記憶手段に記憶させる第2のステップと、
    前記印刷設定情報の少なくとも一部を、前記記憶手段において前記実行データとは異なる領域に記憶させる第4のステップと、
    前記第1のステップ又は前記第4のステップのいずれを実行するかを決定する第5のステップと、
    を備えた処理を、前記制御装置に実行させるためのプリンタドライバ。
  4. 前記印刷設定情報は、複数種類の印刷装置に対して共通の項目からなる第1の印刷設定情報、及び、該複数種類の印刷装置のそれぞれに対して固有の項目からなる第2の印刷設定情報からなり、
    前記第1のステップでは、前記第2の印刷設定情報に対してデータ圧縮を施すこと、
    を特徴とする請求項3に記載のプリンタドライバ。
  5. 前記処理は、
    前記第1のステップ又は前記第4のステップのいずれを実行するかを選択させる選択画面を表示させる第6のステップを、
    更に備え、
    前記第5のステップにおいては、前記選択画面において選択された結果に基づいて、前記第1のステップ又は前記第4のステップのいずれを実行するかを決定すること、
    を特徴とする請求項3又は請求項4のいずれかに記載のプリンタドライバ。
  6. 印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を制御する制御装置であって、
    所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶する記憶手段と、
    前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す圧縮手段と、
    アプリケーションが起動される際に、該アプリケーションが前記所定のアプリケーションであるか否かを判定する判定手段を、
    を備え、
    前記記憶手段は、データ圧縮が施された前記印刷設定情報を前記実行データの一部として記憶し、
    前記圧縮手段は、起動された前記アプリケーションが前記所定のアプリケーションである場合には、前記印刷設定情報の少なくとも一部に対してデータ圧縮を施すこと、
    を特徴とする制御装置。
  7. 前記印刷設定情報は、複数種類の印刷装置に対して共通の項目からなる第1の印刷設定情報、及び、該複数種類の印刷装置のそれぞれに対して固有の項目からなる第2の印刷設定情報からなり、
    前記圧縮手段は、前記第2の印刷設定情報に対してデータ圧縮を施すこと、
    を特徴とする請求項に記載の制御装置。
  8. 印刷に関する複数の項目からなる印刷設定情報に従って印刷装置にて実行される印刷処理を制御する制御装置であって、
    所定のアプリケーションで実行される実行データの一部として前記印刷設定情報を記憶する記憶手段と、
    前記印刷設定情報の少なくとも一部に対してデータ圧縮を施す圧縮手段と、
    を備え、
    前記記憶手段は、データ圧縮が施された前記印刷設定情報を前記実行データの一部として記憶し、
    前記記憶手段は、前記印刷設定情報の少なくとも一部を、前記所定のアプリケーションで実行される実行データとは異なる領域に記憶し、
    前記制御装置は、
    前記印刷設定情報の少なくとも一部に対してデータ圧縮を前記圧縮手段が施すのか、又は、前記印刷設定情報の少なくとも一部を前記所定のアプリケーションで実行される実行データとは異なる領域に前記記憶手段が記憶するのかを決定する決定手段を、
    更に備えていること、
    を特徴とする制御装置。
  9. 前記印刷設定情報は、複数種類の印刷装置に対して共通の項目からなる第1の印刷設定情報、及び、該複数種類の印刷装置のそれぞれに対して固有の項目からなる第2の印刷設定情報からなり、
    前記圧縮手段は、前記第2の印刷設定情報に対してデータ圧縮を施すこと、
    を特徴とする請求項8に記載の制御装置。
  10. 前記制御装置は、
    前記印刷設定情報の少なくとも一部に対してデータ圧縮を前記圧縮手段が施すのか、又は、前記印刷設定情報の少なくとも一部を前記所定のアプリケーションで実行される実行データとは異なる領域に前記記憶手段が記憶するのかを選択させる選択画面を表示する表示手段を、
    更に備えており、
    前記決定手段は、前記選択画面において選択された結果に基づいて、前記印刷設定情報の少なくとも一部に対してデータ圧縮を前記圧縮手段が施すのか、又は、前記印刷設定情報の少なくとも一部を前記所定のアプリケーションで実行される実行データとは異なる領域に前記記憶手段が記憶するのかを決定すること、
    を特徴とする請求項8又は請求項9のいずれかに記載の制御装置。
JP2009199646A 2009-08-31 2009-08-31 プリンタドライバ及び制御装置 Expired - Fee Related JP5407670B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009199646A JP5407670B2 (ja) 2009-08-31 2009-08-31 プリンタドライバ及び制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009199646A JP5407670B2 (ja) 2009-08-31 2009-08-31 プリンタドライバ及び制御装置

Publications (2)

Publication Number Publication Date
JP2011053754A JP2011053754A (ja) 2011-03-17
JP5407670B2 true JP5407670B2 (ja) 2014-02-05

Family

ID=43942724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009199646A Expired - Fee Related JP5407670B2 (ja) 2009-08-31 2009-08-31 プリンタドライバ及び制御装置

Country Status (1)

Country Link
JP (1) JP5407670B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5035331B2 (ja) * 2009-12-18 2012-09-26 コニカミノルタビジネステクノロジーズ株式会社 印刷システムおよびプログラム
JP6061652B2 (ja) * 2012-11-30 2017-01-18 キヤノン株式会社 情報処理装置、制御方法およびプログラム
JP6229325B2 (ja) * 2013-06-14 2017-11-15 株式会社リコー 情報処理装置、及び印刷処理プログラム
JP7172333B2 (ja) * 2018-09-19 2022-11-16 富士フイルムビジネスイノベーション株式会社 画像処理システム及び情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285870A (ja) * 2005-04-04 2006-10-19 Canon Inc 印刷制御装置、印刷制御方法、及びプログラム
JP2009146277A (ja) * 2007-12-17 2009-07-02 Canon It Solutions Inc 情報処理装置及び印刷制御方法、並びにプログラム
JP2009164792A (ja) * 2007-12-28 2009-07-23 Canon It Solutions Inc 文書処理装置及び方法、並びにプログラム

Also Published As

Publication number Publication date
JP2011053754A (ja) 2011-03-17

Similar Documents

Publication Publication Date Title
US20180063366A1 (en) Image output apparatus, history display apparatus, history display method, and non-transitory computer readable medium
US10261738B2 (en) Plug-in software program, function extension method, and function extension device
JP6578851B2 (ja) 情報処理装置およびプログラム
JP2010277339A (ja) 情報処理装置、外装置の制御方法、制御プログラム
US8705079B2 (en) Information processing apparatus
JP5407670B2 (ja) プリンタドライバ及び制御装置
JP2012174048A (ja) データ処理プログラム及びデータ処理装置
JP2012033056A (ja) 印刷制御装置、印刷プレビュー方法及びプログラム
JP4363463B2 (ja) 印刷制御装置およびプリンタドライバのプログラム
US20150146258A1 (en) Information processing apparatus, recording medium, and control method
JP2003320740A5 (ja)
JP2019098580A (ja) 画像形成装置
JP2008306239A (ja) 画像形成装置、画像形成装置に関する情報の提示方法、およびコンピュータプログラム
US11050896B2 (en) Information control apparatus, print system, and non-transitory computer readable medium
JP5633350B2 (ja) ドキュメント情報表示制御装置、ドキュメント情報表示方法、およびコンピュータプログラム
JP6938877B2 (ja) 画像形成装置及びプログラム
JP4173028B2 (ja) 印刷属性設定装置、印刷属性設定方法及び印刷属性設定用プログラム
JP4661832B2 (ja) 印刷制御装置およびプリンタドライバのプログラム
US20100125805A1 (en) Methods of providing user interface for control of digital imaging system and corresponding apparatus
JP2011053997A (ja) プリンタドライバ及び制御装置
JP6319185B2 (ja) 情報処理装置及びプリンタードライバー
JP6265177B2 (ja) プリンタードライバー及び情報処理装置
JP4614419B2 (ja) 印刷システムを構成するクライアント装置
JP4060918B2 (ja) 情報記録装置,情報記録方法,及び,コンピュータ可読媒体
JP5998665B2 (ja) 情報処理装置、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120626

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20130417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130911

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131021

LAPS Cancellation because of no payment of annual fees