JP2019075011A - 情報処理装置、プログラム及び制御方法 - Google Patents
情報処理装置、プログラム及び制御方法 Download PDFInfo
- Publication number
- JP2019075011A JP2019075011A JP2017202097A JP2017202097A JP2019075011A JP 2019075011 A JP2019075011 A JP 2019075011A JP 2017202097 A JP2017202097 A JP 2017202097A JP 2017202097 A JP2017202097 A JP 2017202097A JP 2019075011 A JP2019075011 A JP 2019075011A
- Authority
- JP
- Japan
- Prior art keywords
- print setting
- setting screen
- application
- customization
- 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.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】 本発明はカスタマイズアプリケーションの更新をしなくとも、プリンタードライバーや印刷設定アプリケーションのバージョンアップに対応できる構成を構築することで、プリンタードライバーのカスタマイズを簡易な構成で実現することを目的とする。【解決手段】 本発明の情報処理装置はデフォルトの印刷設定を設定するための印刷設定画面と印刷設定画面におけるコントロールの表示状態を設定するための状態設定画面をインストール前の印刷設定アプリケーションに表示させて、印刷設定画面と状態設定画面で設定を受け付けることにより生成されたカスタマイズデータを印刷設定アプリケーションから受信して、カスタマイズデータと印刷設定アプリケーションをインストールする。これによって、インストール後の印刷設定アプリケーションはカスタマイズデータに従って印刷設定画面を表示する。【選択図】 図6
Description
本発明はプリンタードライバーをインストールする技術に関する。
従来、プリンタードライバーをインストールする技術がある。特許文献1はインストーラーを用いてプリンタードライバーをインストールする技術を開示している。
V4(Version 4)以降の印刷システムでは印刷設定画面はプリンタードライバーに対応する印刷設定アプリケーションによって表示される。そして印刷設定アプリケーションの印刷設定画面は工場出荷値やプリンターから取得された情報に基づいて表示される。こうした情報の他に印刷設定画面に対して、予め指定された工場出荷値とは異なるデフォルトの印刷設定や、特定の印刷設定の変更を禁止する等の独自のカスタマイズを行いたい場合がある。こうした要望を本明細書では、カスタマイズデータと印刷設定アプリケーションをインストールして、インストール後の印刷設定アプリケーションがカスタマイズデータに従って印刷設定画面を表示することで、前述のカスタマイズを実現する。
このとき、デフォルトの印刷設定や、印刷設定画面のコントロールの表示状態の設定といったカスタマイズを印刷設定アプリケーションとは別途開発されるカスタマイズアプリケーションで独立して行うように構成したとする。このように構成すると、例えばプリンタードライバーや印刷設定アプリケーションのバージョンアップによって、印刷設定項目の増減があった場合に、それに追従してカスタマイズアプリケーションの更新を行わなければならなくなる問題がある。
これに対して本発明はカスタマイズアプリケーションの更新をしなくとも、プリンタードライバーや印刷設定アプリケーションのバージョンアップに対応できる構成を構築することで、プリンタードライバーのカスタマイズを簡易な構成で実現することを目的とする。
上記の目的を達成するための本発明に係る情報処理装置は、
第1の指示が行われた場合にデフォルトの印刷設定を設定するための印刷設定画面を表示させるための指示と、第2の指示が行われた場合に前記印刷設定画面におけるコントロールの表示状態を設定するための状態設定画面を表示させるための指示をインストール前の印刷設定アプリケーションに行う指示手段と、
前記印刷設定画面と前記状態設定画面で設定を受け付けることにより生成されたカスタマイズデータを前記印刷設定アプリケーションから受信する受信手段と、
前記カスタマイズデータと前記印刷設定アプリケーションをインストールするインストール手段と、を有し、
インストール後の前記印刷設定アプリケーションは前記カスタマイズデータに従って前記印刷設定画面を表示することを特徴とする。
第1の指示が行われた場合にデフォルトの印刷設定を設定するための印刷設定画面を表示させるための指示と、第2の指示が行われた場合に前記印刷設定画面におけるコントロールの表示状態を設定するための状態設定画面を表示させるための指示をインストール前の印刷設定アプリケーションに行う指示手段と、
前記印刷設定画面と前記状態設定画面で設定を受け付けることにより生成されたカスタマイズデータを前記印刷設定アプリケーションから受信する受信手段と、
前記カスタマイズデータと前記印刷設定アプリケーションをインストールするインストール手段と、を有し、
インストール後の前記印刷設定アプリケーションは前記カスタマイズデータに従って前記印刷設定画面を表示することを特徴とする。
本発明により、機種に依存したカスタマイズ専用のユーザーインターフェースでカスタマイズすることができ、対象機種が持つすべての機能のカスタマイズが可能になる。また、対象機種が持たない機能のカスタマイズを不用意にすることなく、ユーザーがカスタマイズした機能が確実に反映されるようになる。
本明細書では印刷設定アプリケーションのユーザーインターフェースそのものを使ってプリンタードライバーのカスタマイズを行う。これによって、通常の印刷設定アプリケーションで操作をするように、印刷設定を確定させた値をカスタマイズしたデフォルト値としたり、スタンプやお気に入りなどのデータベースを編集したりすることが可能となる。
一方、ユーザーインターフェース上にあるコントロールの表示・非表示を切り替えるといった、印刷設定アプリケーションの印刷設定画面で従来設定できなかったカスタマイズ機能については、カスタマイズを行うカスタマイズアプリケーション側で画面を表示し、設定値を作成することが考えられる。しかしながら、カスタマイズアプリケーション側でこうしたカスタマイズ機能を実現してしまうと、機種に依存したプリンタードライバーの機能に対するカスタマイズの実現に対して開発工数上の問題が生じる。この問題はカスタマイズアプリケーション側でコントロールの表示状態をカスタマイズするために、カスタマイズアプリケーションが全てのプリンタードライバーの全ての機種依存部分に対して、個別に対応しなければならないことによる。
この問題に対する解決策としてカスタマイズアプリケーションにおけるコントロールの表示・非表示のカスタマイズ機能を機種共通の機能に限定したり、機種依存の設定項目をカスタマイズ対象項目から除外したりすることが考えられる。ただし、どちらの解決策もカスタマイズアプリケーションの機能を低下させてしまう。
そこで、本明細書ではデフォルト値のカスタマイズとコントロールの表示状態のカスタマイズの両方を印刷設定アプリケーションで実現することで、カスタマイズアプリケーションの機能を落とさずに、開発工数の低減を図る方法について説明する。なお、本明細書に記載の内容は印刷設定アプリケーションのないV3でも同様に実現が可能であるため、V3とV4のそれぞれの印刷システムで実現する方法を説明している。
図1は本発明の実施形態を示す一般的な情報処理装置(コンピューター)を用いたシステムのブロック構成図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
CPU101は主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って情報処理装置全体を制御する。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105はアプリケーション1051、プリンタードライバー1052、オペレーティングシステム(OS)1053等を記録する。キーボード1031やマウス・タッチパネルなどに代表されるポインティングデバイス1032などの入力機器は、入力I/F103を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインターフェースであり、モニタ1041やプリンター1042などの出力機器に対してデータを出力する。プリンター1042とは直接接続されるローカルI/Oのみならず、通信I/F106を通じて接続されるネットワーク1061を通して接続されていてもよい。また、107は共通データシステムバスで、I/Fやモジュール間でデータのやりとりを行う。
なお、本発明のアプリケーション1051やプリンタードライバー1052のフローチャートの各ステップは、CPU101が、フローチャートに関するプログラムを補助記憶装置105やRAM1022から読み出して実行することで実現される。
また、プリンター1042は、印刷機能のみを持った印刷装置でも良いし、FAX機能のみを持ったFAX装置でも良いし、スキャン機能および印刷機能など複数の機能を持った複合機でも良い。なお、プリンター1042を画像処理装置や画像形成装置と呼ぶこともある。
図2において、V3プリンタードライバーの印刷処理システムを示す。アプリケーション1051と、プリンタードライバー1052、オペレーティングシステム1053は、図1の補助記憶装置105に格納されている。グラフィックスエンジン202、プリントマネージャ(スプーラ)208はオペレーティングシステム1053に含まれるモジュールである。ユーザーはキーボード1031やポインティングデバイス1032などといった入力装置を使用して、出力装置のモニタ1041に映し出されたアプリケーション1051を使用して作成した文書201の印刷処理を実行する。
プリンタードライバー1052のユーザーインターフェースは、コンフィギュレーションモジュール206が提供する。プリンター1042のオプション機器構成や、ユーザーごとの環境設定など設定を保持しておきたいものは、プリンタードライバー1052がオペレーティングシステム1053のレジストリデータベース204に保存する。印刷設定2012のユーザーごとのデフォルト値はオペレーティングシステム1053のプリントマネージャ208が、レジストリデータベース204に保存する。
アプリケーション1051は、印刷設定2012が作成し終わったら、ユーザーによって印刷処理が指示され、オペレーティングシステム1053に印刷処理の開始を通知する。オペレーティングシステム1053はグラフィックスエンジン202を通じて、指定されたプリンタードライバー1052への描画処理を行う。印刷設定2012でレイアウト処理が指定されている場合は、プリンタードライバー1052のレンダリングモジュール205に行く前に一時的なスプールファイル209を作成し、レイアウトモジュール(プリントプロセッサ)210で処理を行う。描画データ2011が送られてきたプリンタードライバー1052はレンダリングモジュール205によって、プリンターが理解できるデータ言語すなわちプリンター制御言語に変換する。プリンタードライバー1052が作成したプリンター制御言語は、プリントマネージャ208のI/Oモジュール211を介してプリンター1042に順次印刷ジョブデータを送信する。
近年では、V4プリンタードライバーと呼ばれる印刷処理システムも登場した。図13はV4プリンタードライバー印刷システムのブロック構成図である。V4プリンタードライバー印刷システムはXML Paper Specification(以下、XPSと略す)と呼ばれるファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。図13におけるソフトウェアコンポーネントの1051、1052は、補助記憶装置105に記憶されており、実行時にRAM1022にロードされ、CPU101によって実行される。V4プリンタードライバー印刷システムは、オペレーティングシステム1053上で動作している。プリントマネージャ208、GDItoXPS変換モジュール1305、フィルターパイプラインマネージャ1309はオペレーティングシステム1053に含まれるモジュールである。GDItoXPS変換モジュール1305、フィルターパイプラインマネージャ1309は、プリンタードライバー1052に含まれているが、オペレーティングシステム1053から提供されているプリンタードライバー1052専用のモジュールである。プリンタードライバー1052とフィルターパイプラインマネージャ1309の通信フィルター1310、レイアウトフィルター1311、レンダラーフィルター1312と、デバイスアプリ/プリンターエクステンション1307は、図1の補助記憶装置105にプリンタードライバー1052として格納されている。GDI印刷アプリケーション1301(以下、GDIアプリと略す)とXPS印刷アプリケーション1302(以下、XPSアプリと略す)は、図1の補助記憶装置105にアプリケーション1051として格納されている。
デバイスアプリ/プリンターエクステンション1307は、プリンタードライバー1052と連携して動作するアプリケーションであり、プリンタードライバー1052とは別のプログラムとしてインストールされる。ストアから配信されるアプリ向けのデバイスアプリと、デスクトップアプリ向けのプリンターエクステンションの2種類が存在する。どちらも、V4プリンタードライバーでは、プリンタードライバー1052の印刷設定2012を作成するためのユーザーインターフェースを提供するために、コンフィギュレーションモジュール206から呼び出される。デスクトップアプリ向けプリンターエクステンションであれば、プリンタードライバー1052と一緒にインストールすることもできる。デバイスアプリは、プリンタードライバー1052がインストールされると、ネットワークを通してクラウドのストアサーバーから自動インストールされる。プリンター1042のオプション機器や、ユーザーごとの環境設定などは、プリンタードライバーがオペレーティングシステムのレジストリデータベース204、もしくはプロパティバッグ1314に保存する。印刷設定2012のデフォルト値はオペレーティングシステムのプリントマネージャ208が、レジストリデータベース204に保存する。レジストリデータベース204や、プロパティバッグ1314は、補助記憶装置105に保存される。
V4プリンタードライバー印刷システムは、印刷時に必ず描画データに基づくXPSスプールファイル1304を生成する点が特徴である。XPSスプールファイル1304が生成されたら、プリントフィルタパイプライン1308に処理が渡される。プリントフィルタパイプライン1308は複数のフィルターを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル1313がフィルターの数や順番を制御する。通信フィルター1310はプリンター1042からの情報を取得する。レイアウトフィルター1311はページのレイアウトを変更したり付加描画を行ったりする。レンダラーフィルター1312はプリンター制御言語に変換する。また、フィルターはプリンタードライバー1052の構成によって、数や種類が異なる。例えば、図13の3つのフィルターに加えて、更に、印刷ジョブを暗号化するための暗号化フィルターなどが含まれていても良い。プリンタードライバー1052が作成したプリンター制御言語は、プリントマネージャ208のI/Oモジュール211を介してプリンター1042に順次印刷ジョブデータを送信する。
図3は、カスタマイズアプリケーション301を使ってプリンタードライバー1052をカスタマイズする際の、ブロック構成図である。プリンタードライバー1052をカスタマイズするカスタマイズアプリケーション301も、印刷するアプリケーション同様に、図1の補助記憶装置105に格納されている。
プリンタードライバー1052をカスタマイズする際は、プリンタードライバー1052はオペレーティングシステム1053にインストールする前の状態になるので、図2や図13で示したプリンタードライバー1052のモジュールに加えて、INFファイル307を持っている。INFファイル307は、プリンタードライバー1052が持つモジュールのインストールに関連するすべての情報(INFormation)を持ったファイルである。オペレーティングシステム1053は、INFファイル307を基にして、プリンタードライバー1052がどんなモジュールやファイルを持っているかを知ることになる。INFファイル307は、プリンタードライバー1052のモジュールやファイルが勝手に書き換わっていないことを保証するために、署名されている。プリンタードライバー1052を直接カスタマイズしてモジュールやファイルを書き替えてしまうと、INFファイル307の署名が崩れてしまうので、本実施例ではカスタマイズデータをプリンタードライバー1052とは別に作る形でカスタマイズを行う。
カスタマイズアプリケーション301は、カスタマイズモジュール302と、シミュレートAPIモジュール303と、作成されたカスタマイズデータからなる。アプリケーション1051がプリンタードライバー1052で印刷設定を行う際は、V3プリンタードライバーではオペレーティングシステム1053のプリントマネージャ208を経由してコンフィギュレーションモジュール206を呼び出す。V4プリンタードライバーでは、コンフィギュレーションモジュール206を経由してデバイスアプリ/プリンターエクステンション1307を呼び出す。しかし、プリンタードライバー1052はカスタマイズを行う時点ではオペレーティングシステム1053にインストールされていない。そのため、カスタマイズアプリケーション301は、オペレーティングシステム1053を経由して呼び出すことができないので、印刷するアプリケーション1051と同じ方法ではプリンタードライバー1052のユーザーインターフェースを表示することができない。そこで、シミュレートAPIモジュール303は、あたかもプリンタードライバー1052がインストールされているように、INFファイル307を基にしてコンフィギュレーションモジュール206やデバイスアプリ/プリンターエクステンション1307を呼び出すようにするモジュールである。カスタマイズアプリケーション301は、3つのカスタマイズデータ(カスタマイズデフォルトデータ304、カスタマイズレジストリデータ305、カスタマイズUIデータ306)を作成した後、カスタマイズドライバセットを出力する。
図4はカスタマイズドライバセットのブロック構成図である。図4aがカスタマイズする前のドライバセットで、INFファイル307を含むプリンタードライバー1052と、インストーラー401をあわせたものである。V4プリンタードライバーでは、コンフィギュレーションモジュール206の代わりにデバイスアプリ/プリンターエクステンション1307を含む。カスタマイズアプリケーション301は、最終的に機種依存カスタマイズデータ402を含む、図4bのカスタマイズドライバセットを出力する。機種依存カスタマイズデータ402は、機種ごとにカスタマイズデフォルトデータ304、カスタマイズレジストリデータ305、カスタマイズUIデータ306を含んでいる。
次に、カスタマイズアプリケーション301を使って、プリンタードライバー1052をカスタマイズする方法を、図5と図6のフローチャートを使って説明する。
図5のフローチャートにおいて、カスタマイズアプリケーション301は、まず使用許諾の承諾を得る画面を表示する(S501)。ユーザーによって承諾が得られると、カスタマイズアプリケーション301は、カスタマイズする対象のプリンタードライバー1052を選択させる画面を表示する(S502)。ここで、カスタマイズする対象のプリンタードライバー1052が含まれたドライバセットの、インストーラー401もしくはINFファイル307がユーザーによって選択され、カスタマイズアプリケーション301は、プリンタードライバー1052を特定することができる。カスタマイズアプリケーション301は、次に詳細なカスタマイズ設定処理を行う(S503)。この詳細なカスタマイズ設定処理は、図6のフローチャートによって後述する。カスタマイズアプリケーション301は、カスタマイズ設定が終了しカスタマイズデータを作成すると、カスタマイズドライバセットを出力して終了する(S504)。
図6のフローチャートと図7の機種一覧画面を使用して、カスタマイズアプリケーション301の詳細なカスタマイズ設定処理を説明する。
カスタマイズアプリケーション301は機種一覧画面を表示する(S601)。図7が機種一覧画面で、リストビュー701にカスタマイズ可能な機種一覧が表示されている。図7の機種一覧では機種ごとに後述する印刷設定画面や状態設定画面による設定変更が、その機種に対して行われているのか否かを示す表示を行う。具体的には変更が行われていれば「変更あり」という文字列を表示する。次にユーザーによってリストビュー701で機種の選択を受付け、カスタマイズアプリケーション301は、選択された機種をカスタマイズの対象とする(S602)。カスタマイズアプリケーション301は、ユーザーによって「キャンセル」ボタン706が押されたかどうかを判定する(S603)。カスタマイズアプリケーション301は、「キャンセル」ボタン706が押されていたら、カスタマイズ対象のプリンタードライバー選択処理S502に戻る(S608)。カスタマイズアプリケーション301は、ユーザーによって「次へ」ボタン705が押されたかどうかを判定する(S604)。カスタマイズアプリケーション301は、「次へ」ボタン705が押されていたら、次のカスタマイズドライバセットの出力S504へ進む(S609)。カスタマイズアプリケーション301は、「設定解除」ボタン703が押されたかどうかを判定する(S605)。カスタマイズアプリケーション301は、「設定解除」ボタン703が押されていたら、現在選択されている機種のカスタマイズデータをクリアする(S610)。
カスタマイズアプリケーション301は、「設定」ボタン702が押されたかどうかを判定する(S606)。カスタマイズアプリケーション301は、「設定」ボタン702が指示された場合に、シミュレートAPIモジュール303を使って、プリンタードライバー1052のコンフィギュレーションモジュール206かデバイスアプリ/プリンターエクステンション1307を呼び出す(S611)。
シミュレートAPIモジュール303は、オペレーティングシステム1053のプリントマネージャ208やコンフィギュレーションモジュール206と同じことを疑似的に行うモジュールである。シミュレートAPIモジュール303は、プリンタードライバー1052がインストールされていなくても、インストールされているかのようにV3プリンタードライバーのコンフィギュレーションモジュール206やV4プリンタードライバーのデバイスアプリ/プリンターエクステンション1307を呼び出すことができる。プリンタードライバー1052がインストールされているときに、本来レジストリデータベース204やプロパティバッグ1314に保存していたデータは、シミュレートAPIモジュール303を使うと、カスタマイズレジストリデータ305に保存される。シミュレートAPIモジュール303は、プリンタードライバー1052で使用するモジュールやファイルを確定するために、INFファイル307に記載された情報を使用して、どのモジュールやファイルを呼び出せばいいかを知ることができる。プリンタードライバー1052から見ると、オペレーティングシステム1053のプリントマネージャ208から呼び出されているか、シミュレートAPIモジュール303から呼び出されているかは区別しない。プリンタードライバー1052はシミュレートAPIモジュール303から呼び出されたとしても、オペレーティングシステム1053のプリントマネージャ208から呼び出されたときと同じように動作する。
カスタマイズアプリケーション301から呼び出されることで、デフォルトの印刷設定を設定するためのプリンタードライバーの通常の印刷設定画面が表示される(S612)。V3プリンタードライバーではインストール前のコンフィギュレーションモジュール206が、V4プリンタードライバーではインストール前のデバイスアプリ/プリンターエクステンション1307が表示を行う。
図8が、通常の印刷設定を行うプリンタードライバーの印刷設定画面であり、プリンタードライバー1052又はデバイスアプリ/プリンターエクステンション1307は機種依存データファイル207を読み込んで、S602で選択された機種にあわせた表示を行う。プリンタードライバー1052は、ユーザーによって操作され決定された値に基づき、通常どおり印刷設定2012を作成しレジストリデータベース204やプロパティバッグ1314に保存する。
しかし、この時点ではシミュレートAPIモジュール303から呼び出されているので、実際のオペレーティングシステム1053が管理しているレジストリデータベース204やプロパティバッグ1314の領域に保存するわけではない。シミュレートAPIモジュール303は、印刷設定2012をカスタマイズデフォルトデータ304に、レジストリデータベース204やプロパティバッグ1314に保存したデータをカスタマイズレジストリデータ305に、それぞれ置き換えて(リダイレクトして)保存する。これによって、V4であれば例えばインストール後のデバイスアプリ/プリンターエクステンション1307が実際に利用するオペレーティングシステム1053により管理される領域とは異なる領域に分離して保存される。
カスタマイズアプリケーション301はカスタマイズデフォルトデータ304とカスタマイズレジストリデータ305を受け取る(S613)。V3プリンタードライバーではインストール前のコンフィギュレーションモジュール206から、V4プリンタードライバーではインストール前のデバイスアプリ/プリンターエクステンション1307から受信する。
カスタマイズアプリケーション301は、「コントロール表示」ボタン704が押されたかどうかを判定する(S607)。カスタマイズアプリケーション301は、「コントロール表示」ボタン704が指示された場合に、カスタマイズ用APIを使って直接プリンタードライバー1052のコンフィギュレーションモジュール206かデバイスアプリ/プリンターエクステンション1307を呼び出す(S614)。「設定」ボタン702と異なり、「コントロール表示」ボタン704が指示されると、プリンタードライバー1052の通常のユーザーインターフェースではなく、印刷設定画面における印刷設定項目のコントロールの表示状態を設定するためのカスタマイズ専用の状態設定画面が表示される(S615)。V3プリンタードライバーではインストール前のコンフィギュレーションモジュール206が、V4プリンタードライバーではインストール前のデバイスアプリ/プリンターエクステンション1307が表示を行う。
図9が、カスタマイズ専用の状態設定画面で、プリンタードライバー1052又はデバイスアプリ/プリンターエクステンション1307は機種依存データファイル207を読み込んで、S602で選択された機種にあわせた表示を行う。状態設定画面は通常の印刷設定を行う印刷設定画面の各コントロールの状態を切り替えるためのものである。コントロールの状態は、「表示」「無効」「非表示」の3種類が存在し、「表示」は通常どおり表示するもの、「無効」はユーザーの操作が効かなくなるようにグレーアウトするもの、「非表示」はコントロールを表示しなくするものを指す。
カスタマイズアプリケーション301は、作成されたカスタマイズUIデータ306を受け取る(S616)。V3プリンタードライバーではインストール前のコンフィギュレーションモジュール206から、V4プリンタードライバーではインストール前のデバイスアプリ/プリンターエクステンション1307から受信する。以降、カスタマイズUIデータ306がどのように作成されるのかを説明する。
プリンタードライバー1052は、カスタマイズ専用のユーザーインターフェース用に、各コントロールと、内部の印刷設定2012の機能であるFeatureを、機種依存データファイル207として、関連づけるテーブルを持っている。プリンタードライバー1052の「用紙サイズ」や「印刷の向き」などの印刷設定2012はPrintTicketと呼ばれるマークアップ言語のデータ構造になっており、それぞれの機能は、Featureとして管理されている。Featureは、選択肢のOptionを持つ構造であり、たとえば、印刷設定のうち「用紙サイズ」でいえば、「PaperSize」というFeatureに、「A4」や「B5」といったOptionを持っている。
ユーザーインターフェースのコントロールは、チェックボックスやドロップダウンボックスなどユーザーが操作しやすいように配置されているが、必ずしも内部の印刷設定であるFeatureと対になっているわけではない。また、機種によっては、プリンタードライバー1052のユーザーインターフェース上に、存在する機能と存在しない機能がある。
そこで、プリンタードライバー1052は、機種依存データファイル207として、ユーザーインターフェースのコントロールを関連づけるコントロールIDと、印刷設定の機能であるFeatureを関連づけるテーブルを持つ。コントロールIDは、プリンタードライバー1052のユーザーインターフェース上のコントロールと、一意になっている。コントロールIDと、印刷設定の機能であるFeatureは一対一に対応づけられるわけでもなく、一つのコントロールが、内部の印刷設定としては複数の機能に関連づいていることもある。この場合は、関連付けられたすべてのFeatureの状態が「無効」もしくは「非表示」になっていないと、コントロールに対する状態変更は行われない。以下の表1は、プリンタードライバー1052が持つ関連づけるテーブルである。
ユーザーがカスタマイズ専用のユーザーインターフェースで設定を行うと、プリンタードライバー1052は、それぞれのコントロールIDに対応したFeatureと、カスタマイズした状態の設定値を、カスタマイズUIデータ306として保存する。なお、コントロールIDではなく、印刷設定のFeatureという形で関連づけて保存するのは、今後プリンタードライバー1052の更新によりユーザーインターフェースのコントロールが変わっても、情報が欠落しないようにするためである。
図14のフローチャートを使用して、作成したカスタマイズドライバセットをインストールするフローを説明する。カスタマイズドライバセットのインストーラー401は、カスタマイズドライバセットに含まれるプリンタードライバー1052をインストールする(S1401)。加えて、V4プリンタードライバーではプリンターエクステンション1307をインストールする。なお、プリンターエクステンション1307はプリンタードライバー1052とは別途インストールするように構成しても構わない。次に、カスタマイズドライバセットのインストーラー401は、ドライバセットの中にカスタマイズデータがあるかどうかを判定する(S1402)。もし、カスタマイズデータが存在すれば、カスタマイズドライバセットのインストーラー401は、カスタマイズデータすべてをレジストリデータベース204もしくはプロパティバッグ1314に書き込んで終了する(S1403)。カスタマイズデータが存在しなければ、カスタマイズドライバセットのインストーラー401はそのまま終了する。
図15のフローチャートを使用して、カスタマイズドライバーのコンフィギュレーションモジュール206もしくはデバイスアプリ/プリンターエクステンション1307のユーザーインターフェースの表示について説明する。以降のフローチャートの説明は、V3プリンタードライバーのコンフィギュレーションモジュール206を主語として記載するが、V4プリンタードライバーであればデバイスアプリ/プリンターエクステンション1307が主語になる。コンフィギュレーションモジュール206は、オペレーティングシステム1053から、印刷ダイアログで詳細設定ボタンが押下される等により、印刷設定を変更するための印刷設定画面を開く指示を受け取る(S1501)。コンフィギュレーションモジュール206は、レジストリデータベース204にカスタマイズレジストリデータ305があるかどうかを判定する(S1502)。カスタマイズレジストリデータ305が存在すれば、コンフィギュレーションモジュール206は、レジストリデータベース204からレジストリデータを取得し、カスタマイズレジストリデータ305で上書きを行う(S1503)。カスタマイズレジストリデータ305は差分としてのカスタマイズデータなので、レジストリデータがそのまま使用される部分と、カスタマイズデータが上書きして使用される部分がある。コンフィギュレーションモジュール206は、レジストリデータベース204にカスタマイズデフォルトデータ304があるかどうかを判定する(S1504)。カスタマイズデフォルトデータ304が存在すれば、コンフィギュレーションモジュール206は、レジストリデータベース204から印刷設定のデフォルト値を取得し、カスタマイズデフォルトデータ304で上書きを行う(S1505)。カスタマイズデフォルトデータ304は差分としてのカスタマイズデータなので、レジストリデータがそのまま使用される部分と、カスタマイズデータが上書きして使用される部分がある。次にコンフィギュレーションモジュール206は、カスタマイズデータで上書きされたレジストリデータと印刷設定のデフォルト値をベースにして、印刷設定画面の表示を行う(S1506)。これによって、V4ではインストール後の印刷設定アプリケーションがカスタマイズデータに従って印刷設定画面を表示することができる。次に、コンフィギュレーションモジュール206は、レジストリデータベース204にカスタマイズUIデータ306があるかどうかを判定する(S1507)。カスタマイズUIデータ306が存在すれば、コンフィギュレーションモジュール206は、カスタマイズUIデータ306に基づき、指定されているFeatureに関連づけられたコントロールをテーブルから取得する。そして、コンフィギュレーションモジュール206は、取得した指定されているFeatureに関連づけられたコントロールの表示状態を、カスタマイズした状態の設定値に従って、非表示もしくは無効化を行う(S1508)。図16は実際にカスタマイズしたユーザーインターフェースの表示状態である。図8と比べて、両面印刷とページ集約が非表示になっており、印刷の向きとカラーモードが無効化されグレーアウトしている。
このようにして、カスタマイズアプリケーション301は、プリンタードライバー1052に対して、シミュレートAPIモジュール303を使用するか、カスタマイズ用APIを使用することで、機種依存した専用のユーザーインターフェースを表示することができる。カスタマイズアプリケーション301を変更することなく、プリンタードライバー1052の対応する機種にあわせたカスタマイズ用のユーザーインターフェースを表示できる。
また、カスタマイズアプリケーション301からカスタマイズ用APIを使用してプリンタードライバー1052が呼び出されたときに、通常のユーザーインターフェースと並べてカスタマイズ用ユーザーインターフェースを表示してもよい。この場合は、図10のようになる。従来と同様にカスタマイズできるだけでなく、コントロール表示で選択したコントロールの状態を、タブを切り替えることですぐに確認することができる。
また、カスタマイズアプリケーション301からカスタマイズ用APIを使用してプリンタードライバー1052が呼び出されたときに、通常のユーザーインターフェース上で、コントロール上にポインタを置いてメニューで状態変更できるようにしてもよい。この場合は、図11のようになる。ユーザーはプリンタードライバー1052のUIに対して直観的に、コントロールの状態を変更する操作をすることが可能になる。
また、カスタマイズUIデータ306は、カスタマイズデフォルトデータ304と一体化して一つにすることも可能である。カスタマイズデフォルトデータ304は、印刷設定であるPrintTicketのデフォルトとの差分データから作成されている。そのうち、Featureの属性を追加するためにPropertyを付与し、そこにコントロールの状態を書き込む。EnableControlのPropertyは有効か無効かの状態を示し、ShowControlのPropertyは表示か非表示かの状態を示す。この場合は、図12のようになる。印刷設定のPrinttTicketにおいて、属性のPropertyは特に印刷設定自体には影響を及ぼさないので、一体化することが可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
304 カスタマイズデフォルトデータ
305 カスタマイズレジストリデータ
306 カスタマイズUIデータ
1307 デバイスアプリ/プリンターエクステンション
305 カスタマイズレジストリデータ
306 カスタマイズUIデータ
1307 デバイスアプリ/プリンターエクステンション
Claims (11)
- 第1の指示が行われた場合にデフォルトの印刷設定を設定するための印刷設定画面を表示させるための指示と、第2の指示が行われた場合に前記印刷設定画面におけるコントロールの表示状態を設定するための状態設定画面を表示させるための指示をインストール前の印刷設定アプリケーションに行う指示手段と、
前記印刷設定画面と前記状態設定画面で設定を受け付けることにより生成されたカスタマイズデータを前記印刷設定アプリケーションから受信する受信手段と、
前記カスタマイズデータと前記印刷設定アプリケーションをインストールするインストール手段と、を有し、
インストール後の前記印刷設定アプリケーションは前記カスタマイズデータに従って前記印刷設定画面を表示することを特徴とする情報処理装置。 - カスタマイズ対象の機種の選択を受け付ける受付手段と、を有し、
前記印刷設定アプリケーションは選択された前記機種に応じて前記印刷設定画面と前記状態設定画面を表示することを特徴とする請求項1に記載の情報処理装置。 - 受信した前記カスタマイズデータを前記印刷設定アプリケーションがインストール後に利用するオペレーティングシステムにより管理される領域とは異なる領域に保存する保存手段と、を有することを特徴とする請求項1又は請求項2に記載の情報処理装置。
- カスタマイズ対象の機種の一覧を含む機種一覧画面を表示する表示手段と、を有し、
前記機種一覧画面は機種ごとに前記印刷設定画面と前記状態設定画面による設定変更が行われているか否かを表示することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 - 前記状態設定画面は前記印刷設定画面の印刷設定項目のコントロールを非表示又は無効に変更する設定を受け付けることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- コンピューターに、
第1の指示が行われた場合にデフォルトの印刷設定を設定するための印刷設定画面を表示させるための指示と、第2の指示が行われた場合に前記印刷設定画面におけるコントロールの表示状態を設定するための状態設定画面を表示させるための指示をインストール前の印刷設定アプリケーションに行う指示工程と、
前記印刷設定画面と前記状態設定画面で設定を受け付けることにより生成されたカスタマイズデータを前記印刷設定アプリケーションから受信する受信工程と、
前記カスタマイズデータと前記印刷設定アプリケーションをインストールするインストール工程と、を実行させ、
インストール後の前記印刷設定アプリケーションは前記カスタマイズデータに従って前記印刷設定画面を表示することを特徴とするプログラム。 - 前記コンピューターに、
カスタマイズ対象の機種の選択を受け付ける受付工程と、を実行させ、
前記印刷設定アプリケーションは選択された前記機種に応じて前記印刷設定画面と前記状態設定画面を表示することを特徴とする請求項6に記載のプログラム。 - 前記コンピューターに、
受信した前記カスタマイズデータを前記印刷設定アプリケーションがインストール後に利用するオペレーティングシステムにより管理される領域とは異なる領域に保存する保存工程と、を実行させることを特徴とする請求項6又は請求項7に記載のプログラム。 - 前記コンピューターに、
カスタマイズ対象の機種の一覧を含む機種一覧画面を表示する表示工程と、を実行させ、
前記機種一覧画面は機種ごとに前記印刷設定画面と前記状態設定画面による設定変更が行われているか否かを表示することを特徴とする請求項6乃至8のいずれか1項に記載のプログラム。 - 前記状態設定画面は前記印刷設定画面の印刷設定項目のコントロールを非表示又は無効に変更する設定を受け付けることを特徴とする請求項6乃至9のいずれか1項に記載のプログラム。
- 第1の指示が行われた場合にデフォルトの印刷設定を設定するための印刷設定画面を表示させるための指示と、第2の指示が行われた場合に前記印刷設定画面におけるコントロールの表示状態を設定するための状態設定画面を表示させるための指示をインストール前の印刷設定アプリケーションに行う指示工程と、
前記印刷設定画面と前記状態設定画面で設定を受け付けることにより生成されたカスタマイズデータを前記印刷設定アプリケーションから受信する受信工程と、
前記カスタマイズデータと前記印刷設定アプリケーションをインストールするインストール工程と、を有し、
インストール後の前記印刷設定アプリケーションは前記カスタマイズデータに従って前記印刷設定画面を表示することを特徴とする制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017202097A JP2019075011A (ja) | 2017-10-18 | 2017-10-18 | 情報処理装置、プログラム及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017202097A JP2019075011A (ja) | 2017-10-18 | 2017-10-18 | 情報処理装置、プログラム及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019075011A true JP2019075011A (ja) | 2019-05-16 |
Family
ID=66545194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017202097A Pending JP2019075011A (ja) | 2017-10-18 | 2017-10-18 | 情報処理装置、プログラム及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019075011A (ja) |
-
2017
- 2017-10-18 JP JP2017202097A patent/JP2019075011A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6552189B2 (ja) | 情報処理装置、制御方法およびドライバーインストールプログラム | |
US8654388B2 (en) | Information processing apparatus that transforms an output setting of a predetermined format into a setting described in an original format | |
JP4785577B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US8976386B2 (en) | Information processing apparatus configured to generate reconfigurable print data, print control program, storage medium, image forming apparatus and printing system | |
JP6578851B2 (ja) | 情報処理装置およびプログラム | |
JP2013061869A (ja) | 情報処理装置及びプログラム | |
JP2011242950A (ja) | 情報処理装置および制御方法およびプログラム | |
JP2017033052A (ja) | 画像形成装置における制御装置およびプログラム | |
JP2024052771A (ja) | 情報処理装置、制御方法およびプログラム | |
JP6606443B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP6803647B2 (ja) | 端末装置、プリンタ制御方法、およびコンピュータプログラム | |
JP2019075011A (ja) | 情報処理装置、プログラム及び制御方法 | |
JP2020009055A (ja) | 情報処理装置及びプログラム | |
JP2006209195A (ja) | 印刷制御装置、印刷制御方法、及び記憶媒体 | |
JP2013235314A (ja) | カスタマイズプログラム、情報処理装置および記録媒体 | |
US20230153127A1 (en) | Displaying user interface using user interface definition file | |
JP2014013437A (ja) | 情報処理装置、その方法およびプログラム | |
JP2018180750A (ja) | 画像形成装置における制御装置およびプログラム | |
JP2019008673A (ja) | 情報処理装置およびドライバーインストール方法 | |
JP7085920B2 (ja) | 印刷制御プログラム、情報処理装置とその制御方法、およびプログラム | |
JP2016219029A (ja) | 情報処理装置、その方法およびプログラム | |
JP6265177B2 (ja) | プリンタードライバー及び情報処理装置 | |
JP6494426B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2021182310A (ja) | 情報処理装置、情報処理装置の処理方法およびプログラム | |
JP2005208748A (ja) | 制御装置、制御方法及びプログラム |