(57)【要約】【課題】  本発明は画像形成装置の探索に情報処理装置上で応答するアプリケーションを起動し、起動したアプリケーションから印刷設定画面に関する印刷機能情報を取得することで、ユーザーの利便性を向上することを目的とする。【解決手段】  画像形成装置を特定し、ネットワーク上の画像形成装置の探索に対して応答するアプリケーションを起動し、印刷設定画面に関する印刷機能情報をアプリケーションから取得し、特定された画像形成装置に対応し、かつ印刷機能情報に基づく印刷設定画面を表示する。【選択図】  図８
2015230710.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
画像形成装置を特定する特定手段と、
ネットワーク上の画像形成装置の探索に応答するアプリケーションを起動する起動手段と、
印刷設定画面に関する印刷機能情報を前記アプリケーションから取得する取得手段と、
前記特定手段により特定された前記画像形成装置に対応し、かつ前記印刷機能情報に基づく印刷設定画面を表示する表示手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記取得手段は、前記ネットワーク上の画像形成装置を探索し、探索に対する応答として前記印刷機能情報を前記アプリケーションから取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置のオペレーティングシステムは、前記取得手段により取得された前記印刷機能情報と、プリンタードライバーの印刷機能情報を合成し、
前記印刷設定画面は、前記合成によって得られる印刷機能情報に基づいて表示されることを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記アプリケーションを出力先とするキューを登録する登録手段と、
前記キューの出力先を前記アプリケーションから前記特定手段により特定された前記画像形成装置に変更する変更手段と、を有することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記特定手段は、前記ネットワーク上の画像形成装置を探索し、探索の結果発見された画像形成装置からユーザーが任意の画像形成装置を選択することにより、前記画像形成装置を特定することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
出力先の画像形成装置から印刷機能情報を取得する第２の取得手段と、を有し、
前記印刷設定画面は、前記取得手段により前記アプリケーションから取得された前記印刷機能情報と、前記第２の取得手段により前記画像形成装置から取得された前記印刷機能情報に基づいて表示されることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
コンピュータにおいて実行されるプログラムであって、
前記コンピュータに、
画像形成装置を特定する特定工程と、
ネットワーク上の画像形成装置の探索に対して応答するアプリケーションを起動する起動工程と、
印刷設定画面に関する印刷機能情報を前記アプリケーションから取得する取得工程と、
前記特定工程により特定された前記画像形成装置に対応し、かつ前記印刷機能情報に基づく印刷設定画面を表示する表示工程と、を実行させることを特徴とするプログラム。
【請求項８】
前記取得工程は、前記ネットワーク上の画像形成装置を探索し、探索に対する応答として前記印刷機能情報を前記アプリケーションから取得することを特徴とする請求項７に記載のプログラム。
【請求項９】
前記コンピュータのオペレーティングシステムは、前記取得工程により取得された前記印刷機能情報と、プリンタードライバーの印刷機能情報を合成し、
前記印刷設定画面は、前記合成によって得られる印刷機能情報に基づいて表示されることを特徴とする請求項７又は請求項８に記載のプログラム。
【請求項１０】
前記コンピュータに、
前記アプリケーションを出力先とするキューを登録する登録工程と、
前記キューの出力先を前記アプリケーションから前記特定工程により特定された前記画像形成装置に変更する変更工程と、を実行させることを特徴とする請求項７乃至９のいずれか１項に記載のプログラム。
【請求項１１】
前記特定工程は、前記ネットワーク上の画像形成装置を探索し、探索の結果発見された画像形成装置からユーザーが任意の画像形成装置を選択することにより、前記画像形成装置を特定することを特徴とする請求項７乃至１０のいずれか１項に記載のプログラム。
【請求項１２】
前記コンピュータに、
出力先の画像形成装置から印刷機能情報を取得する第２の取得工程と、を実行させ、
前記印刷設定画面は、前記取得工程により前記アプリケーションから取得された前記印刷機能情報と、前記第２の取得工程により前記画像形成装置から取得された前記印刷機能情報に基づいて表示されることを特徴とする請求項７乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
情報処理装置の制御方法であって、
画像形成装置を特定する特定工程と、
ネットワーク上の画像形成装置の探索に対して応答するアプリケーションを起動する起動工程と、
印刷設定画面に関する印刷機能情報を前記アプリケーションから取得する取得工程と、
前記特定工程により特定された前記画像形成装置に対応し、かつ前記印刷機能情報に基づく印刷設定画面を表示する表示工程と、を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷設定画面に関する。
【背景技術】
【０００２】
従来、プリンタードライバーの機能を制限する技術が開示されている。
【０００３】
特許文献１は情報処理装置にプリンタードライバーをインストールし、設定を行うことで、印刷設定を制限する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２７１７７２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、印刷設定を制限したい情報処理装置が複数台ある場合には、それぞれの情報処理装置で特許文献１のように設定を行うのは煩雑である。
【０００６】
さらに、環境によっては情報処理装置にプリンタードライバーをインストールするためのファイルの中身を事前に変更し、特定の機能の利用が制限されたプリンタードライバーがインストールできるようにすることができない。その結果、画像形成装置などを介してプリンタードライバーの機能に制限を設ける必要がある。
【０００７】
よって、本発明は画像形成装置の探索に情報処理装置上で応答するアプリケーションを起動し、起動したアプリケーションから印刷設定画面に関する印刷機能情報を取得することで、ユーザーの利便性を向上することを目的とする。これにより、インストール後にそれぞれの情報処理装置で設定を行わなくともプリンタードライバーに制限を設けることができる。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明に係る情報処理装置は、
画像形成装置を特定する特定手段と、
ネットワーク上の画像形成装置の探索に対して応答するアプリケーションを起動する起動手段と、
印刷設定画面に関する印刷機能情報を前記アプリケーションから取得する取得手段と、
前記特定手段により特定された前記画像形成装置に対応し、かつ前記印刷機能情報に基づく印刷設定画面を表示する表示手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明により、画像形成装置にプリンタードライバーやプリンタードライバーの制限に必要な情報を保存しなくとも、プリンタードライバーに制限を設けることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の印刷システムが適用可能な装置構成例。
【図２】本発明の印刷システムに関わるハードウェア構成を示すブロック図。
【図３】本発明の印刷システムに関わるソフトウェア構成を示すブロック図。
【図４】インストールセットを構成するコンポーネント構成を示すブロック図。
【図５】ＧＰＤファイルの例。
【図６】カスタマイズアプリによるプリンタードライバーのカスタマイズ処理を示すフローチャート。
【図７】カスタマイズ画面の例。
【図８】プリンタードライバーのインストール処理を示すシーケンス図。
【図９】インストール用ＵＩ画面の例。
【図１０】ドライバー、キュー、ポートの概念を示すオブジェクト図。
【図１１】仮想ＷＳＤアプリを構成するサブコンポーネント構成を示すブロック図。
【図１２】統合拡張処理の流れを示すフローチャート。
【図１３】ＭｅｔａＤａｔａ取得メッセージ及びＭｅｔａＤａｔａ取得応答メッセージの例。
【図１４】ＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得及び取得応答メッセージの例。
【図１５】カスタマイズドキュー登録処理におけるフローチャート。
【図１６】カスタマイズドキュー登録処理中の状態を表すオブジェクト図。
【図１７】カスタマイズされた印刷設定画面の例。
【図１８】用紙種類登録画面の例。
【図１９】用紙種類データベースの例。
【図２０】プリンター拡張ＧＰＤファイルの生成処理の流れを示すフローチャート。
【図２１】ＧＰＤファイルの例。
【発明を実施するための形態】
【００１１】
［第１の実施形態］
以下、本発明を実施するための第１の実施形態について図面を用いて説明する。
【００１２】
図１は、本明細書の印刷システムの装置構成例を示す図である。本印刷システムは、情報処理装置の一例であるＰＣ１０、画像形成装置の一例であるプリンター２０、設置用ＰＣ３０とから構成される。
【００１３】
顧客が印刷作業を行う環境（以下、印刷環境）にはＰＣ１０とプリンター２０が設置されており、互いにＬＡＮ１を介して接続されている。
【００１４】
ＰＣ１０は顧客であるユーザーが使用するＰＣである。ＬＡＮ１はイーサネット（登録商標）の通信方式に対応している。ＬＡＮ１には有線ＬＡＮや無線ＬＡＮの他に、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＵＳＢなどＬＡＮ以外の接続形態を用いても構わない。なお、本印刷システムではＰＣ１０とプリンター２０の台数をそれぞれ１台としたが、それぞれ複数台で構成しても良い。
【００１５】
一方、プリンタードライバーのカスタマイズを行う環境（カスタマイズ環境）は印刷環境と別の場所にあり、設置用ＰＣ３０が設置されている。設置用ＰＣ３０は、印刷環境の導入を行うシステムエンジニアが使用するＰＣである。システムエンジニアは、設置用ＰＣ３０上のカスタマイズアプリを用いてプリンタードライバーのカスタマイズを行う。カスタマイズされたプリンタードライバーをインストールするためのインストールセットは可搬メディア等を用いて印刷環境に導入される。なお、設置用ＰＣ３０は印刷システムのＬＡＮ１に接続されていても構わない。設置用ＰＣ３０がＬＡＮ１に接続されている場合は、インストールセットをＬＡＮ１を介して印刷環境に導入しても構わない。以上が本印刷システムの装置構成と、システムの概略である。
【００１６】
図２は、各装置に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【００１７】
最初に、ＰＣ１０について説明する。
【００１８】
ＣＰＵ１０１は、ＲＡＭ１０２に記憶されているプログラムに従って、システムバス１０４に接続される各デバイスを総括的に制御する。
【００１９】
加えて、ＣＰＵ１０１が外部メモリ１１１に記憶されているプログラムに基づき処理を実行することによって、図３示されるようなＰＣ１０のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００２０】
このＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等としても機能する。
【００２１】
ＲＯＭ１０３は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントＲＯＭ１０３ａ、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ１０３ｂ、及び各種データを記憶するデータＲＯＭ１０３ｃに区分けして構成される。
【００２２】
ネットワークＩ／Ｆ１０５は、ＬＡＮ１に接続され、通信処理を行なう。キーボードコントローラＩ／Ｆ１０６は、キーボード１０９や不図示のポインティングデバイス（マウス等）からの入力を制御する。ディスプレイＩ／Ｆ１０７は、ディスプレイ１１０への表示処理を制御する。
【００２３】
外部メモリＩ／Ｆ１０８は、例えばハードディスク等の外部メモリ１１１とのアクセスを制御する。外部メモリ１１１は、ＯＳ（オペレーティングシステム）１１２や本発明の印刷システムを担う各種ソフトウェア１１３、さらに、ユーザファイル、編集ファイル等の各種データ１１４を記憶する記憶媒体として機能する。なお、ＯＳ１１２は特定の種類に限定されないが、本実施例ではＭｉｃｒｏｓｏｆｔ（登録商標）  Ｗｉｎｄｏｗｓ（登録商標）を使用するものとする。
【００２４】
次に、プリンター２０の構成について説明する。
【００２５】
ＣＰＵ２０１は、ＲＡＭ２０２に記憶されているプログラムに従って、システムバス２０４に接続される各デバイスを総括的に制御する。
【００２６】
加えて、ＣＰＵ２０１が外部メモリ２１１に記憶されているプログラムに基づき処理を実行することによって、図３示されるようなプリンター２０のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００２７】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能するとともに、出力情報の展開領域、環境データの格納領域としても用いられる。またこのＲＡＭ２０２は、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００２８】
ＲＯＭ２０３は、各種フォントを記憶するフォントＲＯＭ２０３ａ、ＣＰＵ２０１により実行される制御プログラム等を記憶するプログラムＲＯＭ２０３ｂ、及び各種データを記憶するデータＲＯＭ２０３ｃを備えている。
【００２９】
ネットワークＩ／Ｆ２０５は、ＬＡＮ１に接続され、通信処理を行う。印刷部Ｉ／Ｆ２０６は、プリンタエンジンである印刷部２０９とのインターフェースを制御している。操作部Ｉ／Ｆ２０６によって制御される操作部２１０には、ユーザーによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配されている。
【００３０】
外部メモリＩ／Ｆ２０８は、例えばハードディスク等の外部メモリ２１１とのアクセスを制御する。外部メモリ２１１はデバイス用オペレーティングシステム２１２や各種ソフトウェア２１３、各種データ２１４を記憶する記憶媒体として機能する。
【００３１】
さらに、ＣＰＵ２０１はネットワークＩ／Ｆ２０５を介してＰＣ１０との通信処理が可能となっており、ＰＣ１０から送信されるＰＤＬ（Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データを受信する。なお、ＰＤＬは特定の種類に限定されないが、本明細書ではＸＰＳ（ＸＭＬ  ＰａｐｅｒＳｐｅｃｉｆｉｃａｔｉｏｎ）フォーマットを使用するものとする。そして、ＣＰＵ２０１は、プログラムＲＯＭ２０３ｂに記憶された制御プログラム等に基づき、印刷部Ｉ／Ｆ２０６を介して印刷部２０９にＰＤＬを変換して得られる画像信号を出力することが可能である。
【００３２】
最後に設置用ＰＣ３０についてはハードウェア構成、使用されるＯＳはともにすべてＰＣ１０と同様であるため、詳細な説明は省略する。
【００３３】
図３は、ＰＣ１０、プリンター２０、設置用ＰＣ３０において、本印刷システムに関わる処理を行うソフトウェアの構成を示す図である。
【００３４】
まず、ＰＣ１０におけるソフトウェア構成を説明する。
【００３５】
ＰＣ１０におけるソフトウェアコンポーネント１１〜１６は外部メモリ１１１に記憶されており、実行時にＲＡＭ１０２にロードされＣＰＵ１０１によって実行される。
【００３６】
イーサネット（登録商標）コントローラー１１はネットワークＩ／Ｆ１０５を介してイーサネット（登録商標）の通信処理を制御する。
【００３７】
その上位レイヤーに配置されたＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１２はＴＣＰ／ＵＤＰ／ＩＰプロトコル通信を制御する。
【００３８】
さらにその上位レイヤーに配置されたＨＴＴＰプロトコルスタック１３はＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信処理を、ＳＯＡＰプロセッサ１４はＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ  Ｐｒｏｔｏｃｏｌ）通信処理をそれぞれ制御する。ＳＯＡＰとは機器から機器の処理やデータを呼び出すＷｅｂサービス技術において使用される通信プロトコルである。
【００３９】
ＰＣＷＳＤモジュール  １５はＳＯＡＰプロセッサ１４を介して、ＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｄｅｖｉｃｅｓ）の通信処理を制御する。ＷＳＤはＭｉｃｒｏｓｏｆｔ（商標登録）社がその仕様を策定したＷｅｂサービス技術の一種である。
【００４０】
インストールセット１６はプリンタードライバーや、それをインストールするインストーラーなどのコンポーネントを含むソフトウェアである。インストールセット１６の詳細は後述する。
【００４１】
次に、プリンター２０におけるソフトウェア構成を説明する。
【００４２】
プリンター２０におけるソフトウェアコンポーネント２１〜２７は外部メモリ２１１に記憶されており、処理開始時にＲＡＭ２０２にロードされＣＰＵ２０１によって実行される。
【００４３】
イーサネット（登録商標）コントローラー２１はネットワークＩ／Ｆ２０５を介してイーサネット（登録商標）の通信処理を制御する。
【００４４】
その上位レイヤーに配置されたＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック２２はＴＣＰ／ＵＤＰ／ＩＰプロトコル通信を制御する。
【００４５】
さらにその上位レイヤーに配置されたＨＴＴＰプロトコルスタック２３はＨＴＴＰ通信処理を、ＳＯＡＰプロセッサ２４はＳＯＡＰ通信処理をそれぞれ制御する。
【００４６】
プリンターＷＳＤモジュール２５はＳＯＡＰプロセッサ２４を介して、ＷＳＤの通信処理を制御する。さらにプリンターＷＳＤモジュール２５はプリンターコントローラー２６によって制御される。
【００４７】
また、プリンターコントローラー２６は操作部２１０から入力される機器設定に関わる処理も担う。
【００４８】
機能拡張モジュール２７は、機器設定に応じて機能情報を更新する処理を行う。
【００４９】
最後に、設置用ＰＣ３０におけるソフトウェア構成を説明する。
【００５０】
設置用ＰＣ３０上のカスタマイズアプリ３１は外部メモリに記憶されており、実行時にＲＡＭにロードされＣＰＵによって実行される。
【００５１】
カスタマイズアプリ３１はプリンタードライバーをカスタマイズするためのアプリケーションプログラムである。
【００５２】
ここで、図４を用いて、インストールセット１６を構成するコンポーネントについて詳細を説明する。
【００５３】
なお、以下に説明するコンポーネントはファイルデータとして存在し、インストールセット１６はそれらをまとめるフォルダーデータとして外部メモリ２１１に記憶される。
【００５４】
プリンタードライバー１７はプリンター２０に印刷するためのソフトウェアである。プリンタードライバー１７は、さらにその構成要素としてＩＮＦファイル１７１、ＧＰＤ（Ｇｅｎｅｒｉｃ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイル１７２、変換フィルター１７３、カタログファイル１７４を含む。以降、各構成要素について詳細に説明する。
【００５５】
ＩＮＦファイル１７１はモデル名１７１１と、ハードウェアＩＤ１７１２の情報を含むテキスト形式のデータファイルである。モデル名１７１１はハードウェアＩＤ１７１２と対になるモデル名称の情報である。
【００５６】
なお、ハードウェアＩＤとは、機器とデバイスドライバーを関連付けるための識別子情報である。
【００５７】
プリンタードライバー１７とプリンター２０の対応付けは、プリンター２０から取得可能な情報に含まれるデバイスＩＤから生成したハードウェアＩＤと、ＩＮＦファイル１７１に記述されたハードウェアＩＤ１７１２とが一致することで行われる。本実施例においてプリンター２０から取得されるハードウェアＩＤは「ＷＳＤＰＲＩＮＴ￥ＩＨＶＰＲＩＮＴＥＲＡ」という文字列値であり、ＩＮＦファイルのハードウェアＩＤ１７１２と一致しているものとする。
【００５８】
ＧＰＤファイル１７２は、プリンタードライバー１７の印刷機能情報が定義されたテキスト形式のデータファイルである。印刷機能情報とはプリンタードライバー１７の印刷設定画面に関する情報である。ＯＳ１１２は、ＧＰＤファイル１７２に定義された印刷機能情報を元に印刷設定画面を生成・表示する。
【００５９】
変換フィルター１７３は、レイアウト処理などを行う実行モジュールファイルである。
【００６０】
カタログファイル１７４は、改ざん検知用のデータファイルである。ＯＳ１１２は、プリンタードライバー１７を構成するファイルとこのカタログファイル１７４とを比較することにより構成ファイルの改ざんを検知し、改ざんされたプリンタードライバー１７のインストールを拒絶する手段を備えている。
【００６１】
そのため本明細書において、プリンタードライバー１７をカスタマイズするために、プリンタードライバー１７の構成要素であるＧＰＤファイル１７２を直接変更することはできない。よって、インストールセット１６のプリンタードライバー１７の構成要素でないＰＣ拡張ＧＰＤファイル１８にカスタマイズ内容を記録し、ＯＳ１１２がＧＰＤファイル１７２とＰＣ拡張ＧＰＤファイル１８を合成することによってプリンタードライバー１７のカスタマイズを実現する。
【００６２】
すなわち、ＰＣ拡張ＧＰＤファイル１８は、プリンタードライバー１７のカスタマイズ後にＧＰＤファイル１７２とは別個に生成されるインストールセット１６内のデータファイルである。ＰＣ拡張ＧＰＤファイル１８を生成する方法については後述する。
【００６３】
インストーラー１９１は、プリンタードライバー１７をインストールしてカスタマイズするための実行モジュールファイルである。
【００６４】
仮想ＷＳＤアプリ１９２は、インストーラー１９１によって実行される実行モジュールファイルであり、プリンタードライバー１７のインストール処理を補助する。そして、仮想ＷＳＤアプリ１９２は、ＰＣ１０上で実行されるプログラムモジュールでありながら、ＷＳＤ通信処理を行うことによってあたかもＬＡＮ１上に配置されたプリンターであるかのように振る舞う能力を備える。これによって、仮想ＷＳＤアプリ１９２は、ネットワーク上のプリンター（画像形成装置）の探索に対してＰＣ１０上（情報処理装置上）で応答することができる。
【００６５】
図５（ａ）にＧＰＤファイル１７２の例を示す。ＧＰＤファイル１７２には、プリンタードライバー１７を通じて入力可能な様々な設定情報が定義される。設定情報としては、部数、用紙方向、用紙サイズ、用紙種類、片面・両面、給紙方法などが挙げられる。
【００６６】
これらのうち、図５（ａ）では両面設定（Ｆｅａｔｕｒｅ：Ｄｕｐｌｅｘ）の設定情報に関する定義例を抜粋して示した。具体的には、選択可能な両面設定の項目として、「片面」と「両面（長辺綴じ）」と「両面（短編綴じ）」の３つに関する情報が記述されている。
【００６７】
なお、図５（ａ）において、Ｏｐｔｉｏｎ属性の「ＮＯＮＥ」、「ＶＥＲＴＩＣＡＬ」、「ＨＯＲＩＺＯＮＴＡＬ」という値は、プリンタードライバー１７が生成するＰＤＬに反映される両面印刷指定のＩＤに対応する。また、Ｎａｍｅ属性の「片面」、「両面（長辺綴じ）」、「両面（短編綴じ）」はそのままプリンタードライバー１７が提供する印刷設定画面に表示される文言に対応する。
【００６８】
図６は第１の実施形態における、カスタマイズアプリ３１によるプリンタードライバー１７のカスタマイズ処理を示すフローチャートである。
【００６９】
プリンタードライバー１７の印刷設定画面では、例えば両面設定という印刷機能に関して「片面」、「両面（長辺綴じ）」、「両面（短編綴じ）」という選択肢が提供されている。
【００７０】
本実施例では、印刷用紙を節約したいという顧客の要望に応えるため、「片面」の選択肢を無効化し、「両面（長辺綴じ）」と「両面（短編綴じ）」のいずれかしか選択できなくするというカスタマイズを行うものとする。
【００７１】
前述のとおり、カスタマイズアプリ３１は、カスタマイズ環境にある設置用ＰＣ３０上で実行されるアプリケーションであり、システムエンジニアが、前記の顧客要望に基づいたカスタマイズ仕様に沿ってカスタマイズ情報の入力を行う。カスタマイズ情報は、ＰＣ拡張ＧＰＤファイル１８として、インストールセット１６内に記憶され格納される。
【００７２】
以下ではフローチャートに沿って、カスタマイズアプリ３１によるカスタマイズの手順を説明する。
【００７３】
まず、カスタマイズアプリ３１は、起動されると、インストールセット指定画面を表示する（Ｓ１０１）。
【００７４】
図７（ａ）にカスタマイズアプリ３１のインストールセット指定画面３３０１の例を示す。
【００７５】
参照ボタン３３０２が押されると、カスタマイズアプリ３１はファイルパス指定用ダイアログを表示し、カスタマイズ対象のプリンタードライバー１７が記憶されているファイルパスの入力を受け付ける（Ｓ１０２）。
【００７６】
入力されたファイルパスはテキストボックス３３０３に表示され、ＯＫボタン３３０４が押されることによってプリンタードライバー１７に含まれるＧＰＤファイル１７２の解析が行われる（Ｓ１０３）。ステップ（Ｓ１０３）では図５（ａ）に示したＧＰＤファイル１７２の字句構造が解析され、機能や項目、それぞれの表示名といった情報が取り出される。
【００７７】
解析が終了するとカスタマイズ画面を表示する（Ｓ１０４）。
【００７８】
図７（ｂ）にカスタマイズアプリ３１のカスタマイズ画面３３１１の例を示す。
【００７９】
印刷機能とその項目名はリスト化され、図７（ｂ）のリスト３３１２に表示される。図７（ｂ）の例に示す通り、印刷機能・項目としては「■両面印刷」、「□片面印刷」、「□両面（長辺綴じ）」、「□両面（短辺綴じ）」という表示名が「設定項目」の列に表示される。隣の「表示状態」の列には、各項目の表示状態が表示される。
【００８０】
項目の表示状態には「有効」と「無効」という２種類の状態が存在し、「表示状態」の列をクリックすると表示されるコンボボックス３３１３によって項目の表示状態に関するカスタマイズ設定を受け付ける（Ｓ１０５）。ある項目（本実施例では「片面」）の表示状態をデフォルトの「有効」から「無効」に変更すると、最終的にユーザーが操作するプリンタードライバー１７上での項目選択が無効化されるカスタマイズが行われる。
【００８１】
次に、ボタン３３１４が押されたらカスタマイズ完了の入力を受け付け（Ｓ１０６）、ＰＣ拡張ＧＰＤファイル１８の生成を行う（Ｓ１０７）。ＰＣ拡張ＧＰＤファイル１８の例や印刷システムにおけるその役割については後述する。
【００８２】
カスタマイズアプリ３１によるカスタマイズ処理は以上である。
【００８３】
次に、図８のシーケンス図を用いて、第１の実施形態におけるプリンタードライバー１７のインストール処理を説明する。
【００８４】
インストール処理は、印刷環境におけるＰＣ１０上に配置されたインストーラー１９１、ＰＣＷＳＤモジュール１５、仮想ＷＳＤアプリ１９２によって実行される。
【００８５】
このうち、インストーラー１９１と仮想ＷＳＤアプリ１９２は、システムエンジニアによって、カスタマイズ環境から印刷環境に可搬メディア等を通じて持ち込まれたカスタマイズ済みのインストールセット１６に含まれるプログラムである。
【００８６】
インストーラー１９１と仮想ＷＳＤアプリ１９２は、同じくカスタマイズ済みインストールセット１６に含まれるプリンタードライバー１７とＰＣ拡張ＧＰＤファイル１８をＯＳ１１２に導入する処理を実行する。
【００８７】
また、インストール処理の起点となる処理を担うのはインストーラー１９１であり、インストーラー１９１のインストール用ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）操作は、顧客であるユーザーが自ら行うものとする。
【００８８】
はじめに、インストーラー１９１は、ユーザーによって起動されるとインストール用ＵＩを表示する（Ｓ２０１）。
【００８９】
次に、インストーラー１９１は、プリンター探索処理を行い、探索結果を表示する（Ｓ２０２）。
【００９０】
ここでプリンター探索処理とは、ＬＡＮ１に接続されたプリンターをネットワークプロトコルによって探索する処理のことを指す。ＬＡＮ１に接続されたプリンターなどの周辺装置を探索する際は、ＴＣＰ／ＩＰのブロードキャストやマルチキャストという手段を用いるものとする。探索結果には探索の結果発見されたＬＡＮ１上の周辺装置の情報が含まれる。また、発見された周辺装置の名称や種類（プリンターであるかどうかなど）といった情報を取得するにはＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）を用いるものとする。
【００９１】
図９にインストール用ＵＩの画面３３２１を示す。
【００９２】
プリンター探索処理の結果、印刷システムに接続されたプリンターが１台だけの場合はその情報が、複数台の場合はそれらの情報が探索結果としてリストボックス３３２２にアイコンと文字で表示される。リストボックス３３２２に表示されたアイコン３３２３と３３２４は、ユーザーがカーソルでどちらかのアイコンを選択することができ、選択状態になったアイコンに対応するプリンターが、印刷出力先としてインストーラー１９１に入力される。
【００９３】
インストーラー１９１は、ボタン３３２５が押されることで、印刷出力先となるプリンターを特定する（Ｓ２０３）。そして、特定されたプリンターのＩＰアドレス情報を記憶する。
【００９４】
すなわち、インストーラー１９１はネットワーク上の画像形成装置を探索し、探索の結果発見された画像形成装置からユーザーが任意の画像形成装置を選択することにより、画像形成装置を特定する（特定手段に相当）。
【００９５】
なお、プリンターの特定は、Ｓ２０２及びＳ２０３のように探索して見つかったプリンターの中から選ぶのではなく、ユーザーによってプリンターのＩＰアドレスを直接入力することによって行うように構成しても構わない。
【００９６】
次にインストーラー１９１は、入力されたプリンターに対応するプリンタードライバー１７の登録を行う（Ｓ２０４）。
【００９７】
ここで、図１０を用いてＯＳ１１２におけるドライバー１２１とキュー１２２、ポート１２３の概念について説明する。
【００９８】
図１０はＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）のオブジェクト図を使って表現している。
【００９９】
ＯＳ１１２の印刷システムは、プリンタードライバーのインストール情報や出力先となるプリンターおよびプリンターとの接続形態に関する情報を外部メモリ１１１で管理する。それらの情報は、オブジェクトとして抽象化されており、ＯＳ１１２の提供するＡＰＩを通じて、印刷を行う文書作成ソフトや、インストーラー１９１のようなセットアップ用ソフトが生成したり、読み込んだり、変更したりできる。
【０１００】
ドライバー１２１は、プリンタードライバーに対応するオブジェクトである。また、ドライバー１２１は、プリンタードライバーがＡＰＩによって登録され、ＯＳ１１２の管理する外部メモリ１１１上の領域にコピーされると生成される。後述するキュー１２２は対応するドライバー１２１がなければ登録できないため、ドライバー１２１を登録する処理はキュー１２２を登録する上で必須の処理である。なお、ドライバー１２１は、プロパティとしてドライバー名、ハードウェアＩＤを有する。
【０１０１】
キュー１２２は、印刷の出力先に対応するオブジェクトで、プロパティとしてキュー名を有する。
【０１０２】
ポート１２３は、出力先との接続形態に対応するオブジェクトで、プロパティとしてポート名とＩＰアドレスを有する。
【０１０３】
キュー１２２とポート１２３はＡＰＩを通じて生成されるが、先にポート１２３を生成しておかなければならない。
【０１０４】
キュー１２２はポート１２３とドライバー１２１に関係を有しており、多重度は図１０に示す通りである。すなわち、キュー１２２とドライバー１２１は関連しており、ドライバー１２１には０個以上のキュー１２２が関連付けられる。また、キュー１２２とポート１２３は関連しており、ポート１２３とキュー１２２は１対１で関連付けられる。
【０１０５】
図８に戻り説明を続ける。Ｓ２０４でプリンタードライバー１７の登録が行われると、次にインストーラー１９１は仮想ＷＳＤアプリ１９２を起動する（Ｓ２０５、起動手段に相当する）。
【０１０６】
仮想ＷＳＤアプリ１９２は起動されると、ＷＳＤサービスを開始する（Ｓ２０６）。ＷＳＤサービスとは、ＷＳＤの通信処理におけるサーバー側の処理を指す。ＷＳＤサービスはプリンター等の周辺装置によっても提供される。しかし、本明細書の印刷システムでは、カスタマイズ情報を印刷環境に適用するためにＰＣ１０上のプログラムである仮想ＷＳＤアプリ１９２があたかも周辺装置であるかのように振る舞う。
【０１０７】
ここで、図１１を用いて仮想ＷＳＤアプリ１９２を構成するサブコンポーネントについて説明する。
【０１０８】
ＨＴＴＰプロトコルスタック１９２１はＨＴＴＰ通信処理を、ＳＯＡＰプロセッサ１９２２はＳＯＡＰ通信処理を制御する。仮想ＷＳＤモジュール  １９２３はＳＯＡＰプロセッサ１９２２を介して、ＷＳＤの通信処理を制御する。
【０１０９】
再度図８に戻り説明を続ける。次にインストーラー１９１は、ＰＣＷＳＤモジュール１５に対してＡＰＩを通じてＷＳＤ探索指示を出す（Ｓ２０７）。ＷＳＤ探索指示は、ＷＳＤ通信を用いてネットワーク上のプリンターを探索することをＰＣＷＳＤモジュール１５に対して指示する処理である。ＷＳＤ探索指示（Ｓ２０７）に対する応答は後述するＷＳＤ探索応答（Ｓ２１５）として得られるため、ステップ（Ｓ２０８）〜（Ｓ２１４）がＷＳＤ探索の処理と言いかえることができる。
【０１１０】
ＰＣＷＳＤモジュール１５は、インストーラー１９１から探索指示を受信すると、仮想ＷＳＤアプリ１９２にＰｒｏｂｅメッセージを生成して送信する（Ｓ２０８）。ＰｒｏｂｅメッセージとはＷＳＤ対応機器を探索するために送信するメッセージである。
【０１１１】
ＰＣＷＳＤモジュール１５と仮想ＷＳＤアプリ１９２側のＷＳＤ通信処理は、ＳＯＡＰプロセッサ１４、ＨＴＴＰプロトコルスタック１３、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１２、イーサネット（登録商標）コントローラー１１、ＨＴＴＰプロトコルスタック１９２１、ＳＯＡＰプロセッサ１９２２、仮想ＷＳＤモジュール１９２３によって行われるが、以後は省略し単にＰＣＷＳＤモジュール１５と仮想ＷＳＤモジュール１９２３の通信処理として説明する。
【０１１２】
仮想ＷＳＤモジュール１９２３は、Ｐｒｏｂｅメッセージを受信すると、ＰｒｏｂｅＭａｔｃｈメッセージを生成してＰＣＷＳＤモジュール１５に応答する（Ｓ２０９）。ＰｒｏｂｅＭａｔｃｈメッセージとはＰｒｏｂｅへの応答メッセージである。応答のＰｒｏｂｅＭａｔｃｈメッセージには、機器の種類やＭｅｔａＤａｔａ取得用のＵＲＬなどの情報が含まれる。ＭｅｔａＤａｔａとはプリンターの名称やプリンターサービスのＵＲＬなどの情報をまとめたデータである。
【０１１３】
次に、ＰＣＷＳＤモジュール１５はＰｒｏｂｅＭａｔｃｈメッセージから得られたＭｅｔａＤａｔａ取得用のＵＲＬ情報から、ＭｅｔａＤａｔａ取得メッセージ２４０１を生成して仮想ＷＳＤモジュール１９２３に送信する（Ｓ２１０）。
【０１１４】
仮想ＷＳＤモジュール１９２３は、ＭｅｔａＤａｔａ取得メッセージ２４０１を受信すると、ＭｅｔａＤａｔａ取得応答メッセージ２４０２を生成してＰＣＷＳＤモジュール１５に応答する（Ｓ２１１）。
【０１１５】
図１３（ａ）にＭｅｔａＤａｔａ取得メッセージ２４０１の例を、図１３（ｂ）にＭｅｔａＤａｔａ取得応答メッセージ２４０２の例を示す。ＭｅｔａＤａｔａ取得応答メッセージ２４０２には、プリンターの名称やプリンターサービスのアドレス２４０３といった情報が含まれる。
【０１１６】
次に、ＰＣＷＳＤモジュール１５はＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得メッセージ２５０１を生成して仮想ＷＳＤモジュール１９２３に送信する（Ｓ２１２）。
【０１１７】
仮想ＷＳＤモジュール１９２３は、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得メッセージ２５０１を受信すると、インストールセット１６に含まれるＰＣ拡張ＧＰＤファイル１８を読み込む（Ｓ２１３）。
【０１１８】
次に、仮想ＷＳＤモジュール１９２３は、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得応答メッセージ２５０２を生成してＰＣＷＳＤモジュール１５に応答する（Ｓ２１４）。
【０１１９】
図１４（ａ）にＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得メッセージ２５０１の例を、図１４（ｂ）にＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得応答メッセージ２５０２の例を示す。ＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得応答メッセージ２５０２はデバイスＩＤ（ＤｅｖｉｃｅＩＤ）２５０３や、ステップ（Ｓ２１３）で読み込まれたＰＣ拡張ＧＰＤファイル１８の印刷機能情報２５０４を含む。その他にも、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得応答メッセージ２５０２はカラー印刷能力や印刷速度といった情報も含む。
【０１２０】
次に、ＰＣＷＳＤモジュール１５は、ＭｅｔａＤａｔａ取得応答メッセージ２４０２とＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得応答メッセージ２５０２で得た情報をＷＳＤ探索に対する応答の情報としてインストーラー１９１に送信する（Ｓ２１５）。ＷＳＤ探索に対する応答にはＰＣ拡張ＧＰＤファイル１８の印刷機能情報２５０４が含まれているため、インストーラー１９１は印刷機能情報を仮想ＷＳＤアプリ１９２から取得することができる（取得手段に相当する）。
【０１２１】
なお、ＷＳＤ探索指示は、ＬＡＮ１に接続された機器で動作する任意のＷＳＤサービスに対して行われるため、ＰＣ１０上の仮想ＷＳＤアプリ１９２だけでなく、プリンター２０も応答を返す可能性がある。
【０１２２】
したがって、探索結果はＷＳＤサービスから得られた情報（ＷＳＤサービス情報）のリストである。よって、以下で説明するステップ（Ｓ２１６）の処理において、探索結果から目的のＷＳＤサービスのみを取り出す必要がある。
【０１２３】
ステップ（Ｓ２１６）は、カスタマイズされた印刷機能を備えるキュー（以後、カスタマイズドキュー）を登録するカスタマイズドキュー登録処理である。
【０１２４】
以下、図１５（ａ）と図１５（ｂ）のフローチャートと、図１６（ａ）と図１６（ｂ）のオブジェクト図を用いてカスタマイズドキュー登録処理を説明する。
【０１２５】
まず、インストーラー１９１は、ＷＳＤ探索応答に含まれるＷＳＤサービス情報のリストから、ＭｅｔａＤａｔａ取得応答メッセージ２４０２に含まれるプリンターサービスのアドレス２４０３が、ループバックアドレスであるものを検索する（Ｓ３０１）。
【０１２６】
ループバックアドレスとは、自身のノードを表すＩＰアドレスであり「１２７．０．０．１」という値が用いられる。もしプリンターサービスのアドレス２４０３がループバックアドレスであれば、その応答をしたＷＳＤサービスはＰＣ１０で動作する仮想ＷＳＤアプリ１９２であることを示している。
【０１２７】
インストーラー１９１はループバックアドレスのＷＳＤサービスがあればステップ（Ｓ３０２）へ進み、なければエラー終了する。
【０１２８】
次に、インストーラー１９１はＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得応答メッセージ２５０２に含まれるデバイスＩＤ２５０３からハードウェアＩＤを生成する（Ｓ３０２）。デバイスＩＤはハードウェアＩＤの元となる情報である。インストーラー１９１はデバイスＩＤに含まれる「ＭＦＧ：ＩＨＶ」と「ＭＤＬ：ＰＲＩＮＴＥＲＡ」という値を合成することによってハードウェアＩＤの値「ＩＨＶＰＲＩＮＴＥＲＡ」は、得られる。
【０１２９】
次に、インストーラー１９１はステップ（Ｓ３０２）で得られたハードウェアＩＤに一致するハードウェアＩＤプロパティを有するドライバーが登録されているかどうか判別する（Ｓ３０３）。一致する場合はステップ（Ｓ３０４）に進み、そうでない場合はエラー終了する。
【０１３０】
次に、インストーラー１９１は、仮想ＷＳＤアプリ１９２を出力先とし、接続形態がＷＳＤであるキューを、ＡＰＩをコールすることによって登録する（Ｓ３０４）。
【０１３１】
図１５（ｂ）を用いてＡＰＩがコールされることで行われるＯＳの処理（Ｓ３００）を説明する。
【０１３２】
ＯＳ１１２は、仮想ＷＳＤアプリ１９２を出力先とするＷＳＤポート１２４を登録する。
【０１３３】
さらにＯＳ１１２は、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔ取得応答メッセージ２５０２に含まれるＰＣ拡張ＧＰＤファイル１８と、ＧＰＤファイル１７２を合成して合成ＧＰＤファイル１８１を生成する（Ｓ３０５）。
【０１３４】
最後にＯＳ１１２は、ＷＳＤポート１２４に関連付けられた、合成ＧＰＤファイル１８１を印刷機能の定義とするカスタマイズされたキュー（カスタマイズドキュー１２５）を生成する（Ｓ３０６）。
【０１３５】
再度、図１５（ａ）を用いて、インストーラー１９１の処理を説明する。
【０１３６】
インストーラー１９１はステップ（Ｓ２０３）で記憶したＩＰアドレスの情報に基づいて、プリンター２０を出力先とし、接続形態がＴＣＰ／ＩＰであるＴＣＰ／ＩＰポート１２６をＡＰＩによって登録する（Ｓ３０７）。
【０１３７】
最後にＡＰＩによって、インストーラー１９１はカスタマイズドキュー１２５のポートを、ＷＳＤポート１２４からＴＣＰ／ＩＰポート１２６に変更する（Ｓ３０８）。
【０１３８】
これによって、カスタマイズドキュー１２５の出力先は仮想ＷＳＤアプリ１９２から図９を用いてユーザーが特定したプリンター２０に変更される。これによって、ユーザーはカスタマイズドキュー１２５を指定して出力をすることで、プリンター２０に印刷を行うことができる。さらに、カスタマイズドキュー１２５に対応するプリンタードライバー１７の印刷設定画面として、図９を用いてユーザーが特定したプリンター２０に対応し、かつ仮想ＷＳＤアプリ１９２から取得した印刷機能情報２５０４に基づく画面を表示することができる（表示手段に相当する）。
【０１３９】
図５（ｂ）にＰＣ拡張ＧＰＤファイル１８の例を示す。
【０１４０】
ＰＣ拡張ＧＰＤファイル１８はプリンタードライバー１７のインストール処理において元のＧＰＤファイル１７２と合成され、合成ＧＰＤファイル１８１としてカスタマイズドキュー１２５の印刷機能を定義する情報になる。
【０１４１】
図５（ｃ）は合成ＧＰＤファイル１８１の例である。
【０１４２】
本実施例における合成ＧＰＤファイル１８１の後半部分すなわちＰＣ拡張ＧＰＤファイル１８によって後付けされた部分１８１０には、両面印刷機能の「片面」の項目を選択不可にするためのカスタマイズされた定義が記述されている。
【０１４３】
具体的には、ＬＯＣＫという項目を持つＤｕｐｌｅｘＬｏｃｋという機能が定義されており、両面印刷の片面（Ｄｕｐｌｅｘ．ＮＯＮＥ）との同時選択を不可にする定義＊Ｃｏｎｓｔｒａｉｎｔｓ記述を含む。ここで、ＬＯＣＫという項目はＤｕｐｌｅｘＬｏｃｋ機能において唯一定義された機能であるため、常に選択状態にある。すなわち、常に選択状態にあるＬＯＣＫという項目と片面（Ｄｕｐｌｅｘ．ＮＯＮＥ）が同時選択できないため、プリンタードライバー１７の印刷設定画面上において、片面は選択できない無効化された状態となる。なお、選択肢が一つしかない機能は印刷設定画面に表示されない。よって、ＤｕｐｌｅｘＬｏｃｋという機能は選択肢がＬＯＣＫという項目しかないため、印刷設定画面に表示されない。
【０１４４】
図１７（ａ）にカスタマイズされた印刷設定画面３３３１を示す。両面印刷機能として「片面」、「両面（長辺綴じ）」、「両面（短辺綴じ）」という項目はすべて表示されているが、片面の項目には設定不可を表すマークが表示される。仮にユーザーが片面を選択しても、上述の合成ＧＰＤファイル１８１の働きにより、片面以外の項目が選択される。よって、結果的にユーザーは片面を選択することができない。なお、片面の項目は選択肢として表示しないように構成しても構わない。
【０１４５】
図１６（ａ）にステップ（Ｓ３０６）実行後の、また、図１６（ｂ）はステップ（Ｓ３０８）実行後のドライバー、キュー、ポートの各オブジェクトの状態を示す。
【０１４６】
図１６（ａ）は、カスタマイズされた印刷機能定義である合成ＧＰＤファイル１８１が適用されたカスタマイズドキュー１２５が、仮想ＷＳＤアプリ１９２を出力先とするＷＳＤポート１２４に関連付けられている。印刷機能をカスタマイズするためには、このようにカスタマイズドキュー１２５を、一旦最終的な出力先であるプリンター２０とは異なる出力先である仮想ＷＳＤアプリ１９２へ印刷可能な図１６（ａ）の状態にする必要がある。
【０１４７】
その後、実際の出力先であるプリンター２０に印刷可能なＴＣＰ／ＩＰポート１２６を登録し、カスタマイズドキュー１２５のプロパティをＡＰＩによって変更して、ＴＣＰ／ＩＰポート１２６と関連付ける。これによって、図１６（ｂ）に示すようにカスタマイズドキュー１２５の出力先がプリンター２０に変更される。
【０１４８】
以上、第１の実施形態におけるプリンタードライバー１７のカスタマイズ処理とプリンタードライバー１７のインストール処理について説明した。
【０１４９】
以上のように特定手段、起動手段、取得手段及び表示手段により次の効果を得ることができる。すなわち、プリンターにプリンタードライバーやプリンタードライバーの制限に必要な情報を保存しなくとも、仮想ＷＳＤアプリからプリンタードライバーを制限するために必要な情報を取得し、プリンタードライバーに制限を設けることができる。
【０１５０】
［第２の実施形態］
次に、本発明を実施するための第２の実施形態について説明する。
【０１５１】
第１の実施形態では設置用ＰＣ３０上で実行されるカスタマイズアプリ３１によるカスタマイズを示したが、出力先のプリンター２０の本体パネルＵＩで行われるカスタマイズについては考慮されていなかった。プリンター２０の本体パネルＵＩで行われるカスタマイズとは、例えば、新しい用紙種類を追加するというカスタマイズである。用紙種類にはそれぞれ坪量や表面性といった物理的特性があり、プリンター２０はそれぞれの物理的特性に応じた印刷制御を行う必要がある。
【０１５２】
しかしながら、ユーザーが実際に利用したい用紙種類の物理的特性が、あらかじめプリンター２０に定義された用紙種類のいずれにも適合しないことがしばしばある。そのような場合に対応するため、プリンター２０は、新たな用紙種類の情報を、その物理的特性とともに登録できる入力手段を備える。
【０１５３】
そこで、第２の実施形態では、カスタマイズアプリ３１とプリンター２０のパネルＵＩの両方で行われるカスタマイズ設定を仮想ＷＳＤアプリ１９２で統合し、最終的にプリンタードライバー１７に反映させる手段について述べる。
【０１５４】
図１８（ａ）はプリンター２０に新たな用紙種類を登録するための、パネルＵＩに表示される画面２１０１である。画面２１０１のテーブル２１０１１には現在登録されている用紙種類の一覧が表示される。ボタン２１０１２を押すと新しい用紙種類の情報を入力するための画面２１０２に遷移する。ボタン２１０１３を押すと登録された用紙種類を削除できる（ユーザーが後から登録した要素のみ削除可能）。
【０１５５】
図１８（ｂ）は新しい用紙種類情報を入力するための画面２１０２である。画面２１０２では、新たな用紙種類の名称、坪量、表面性といった属性をそれぞれ２１０２１、２１０２２、２１０２３に入力する。ボタン２１０２１を押すと新たな用紙種類が登録され、その情報がテーブル２１０１１に反映される。
【０１５６】
図１９は用紙種類データベース２２００の例である。用紙種類データベース２２００は、プリンター２０で利用可能な用紙種類の情報を管理するデータベースである。用紙種類データベース２２００は、プリンター２０の外部メモリ２１１に記憶され、プリンターコントローラー２６によって管理される。画面２１０１と画面２１０２における新たな用紙種類の登録または削除の入力はプリンターコントローラー２６によって用紙種類データベース２２００に反映される。
【０１５７】
データベースの属性としてはＩＤ２２０１、名称２２０２、坪量２２０３、表面性２２０４、登録用紙フラグ２２０５が定義される。データベースの要素は、プリンター２０においてあらかじめ利用可能となっている用紙種類と、後からユーザーによって登録された用紙種類の２つに大別される。前者は登録用紙フラグ２２０５の属性がＮＯ、後者はＹＥＳとなる。あらかじめ利用可能な用紙種類のＩＤ２２０１に関しては、「ＰＬＡＩＮ」、「ＲＥＣＹＣＬＥＤ」といった値が事前に定義されているが、後から登録された用紙種類に関しては「ＣＵＳＴＯＭ１」などの値が登録時にユニークに割り当てられる。
【０１５８】
図２０はプリンター２０上で実行される機能拡張モジュール２７による、プリンター拡張ＧＰＤファイル１８３の生成処理の流れを示すフローチャートである。
【０１５９】
なお、プリンター拡張ＧＰＤファイル１８３は、プリンター２０の本体パネルＵＩで行ったカスタマイズ情報を含むファイルである。
【０１６０】
はじめに、機能拡張モジュール２７は、プリンターコントローラー２６から用紙種類データベース２２００に変化があった、すなわち新たな用紙種類の追加または削除が行われたことを表す通知を受信する（Ｓ４０１）。
【０１６１】
次に、機能拡張モジュール２７はプリンター拡張ＧＰＤファイルを新規に生成する（Ｓ４０２）。プリンター拡張ＧＰＤファイルは外部メモリ２１１に記憶されるが、用紙種類の追加または削除が発生するたびに作り直されるため、処理開始以前に記憶されているものは消去される。
【０１６２】
次に、機能拡張モジュール２７は用紙種類データベース２２００にアクセスし、先頭から要素を１つずつ読み込み、Ｓ４０４とＳ４０５の処理を繰り返す（Ｓ４０３〜Ｓ４０６）。
【０１６３】
ステップ（Ｓ４０４）では、機能拡張モジュール２７は読み込んだ要素の登録用紙フラグ属性がＹＥＳの場合はステップ（Ｓ４０５）に進み、ＮＯの場合は次の要素を読み込むためにステップ（Ｓ４０３）へ戻る。
【０１６４】
ステップ（Ｓ４０５）では、読み込まれた（後から追加された用紙種類の）要素に含まれるＩＤ属性と名称属性を、プリンター拡張ＧＰＤファイル１８３に追加する。
【０１６５】
ステップ（Ｓ４０６）が終了すると、プリンター拡張ＧＰＤファイル１８３は、プリンター２０の外部メモリ２１１に記憶される。
【０１６６】
ここで、図２１（ａ）にプリンタードライバー１７ではじめから定義されている用紙種類に関するＧＰＤファイル１８２の記述例を示す。
【０１６７】
また図２１（ｂ）には生成されたプリンター拡張ＧＰＤファイル１８３の記述例を示す。プリンター拡張ＧＰＤファイル１８３は、元のＧＰＤファイル１８２とは異なり、後から追加された用紙種類に関する機能情報だけを含む定義となっている。
【０１６８】
次に、第２の実施形態における、プリンタードライバー１７のインストール処理について説明する。
【０１６９】
第２の実施形態では、ＰＣ拡張ＧＰＤファイル１８と、プリンター拡張ＧＰＤファイル１８３の両方のカスタマイズ情報をプリンタードライバー１７に反映させる。
【０１７０】
これを実現するには、第１の実施形態で説明した、図８のシーケンス図におけるステップ（Ｓ２１３）でＰＣ拡張ＧＰＤファイル１８とプリンター拡張ＧＰＤファイル１８３を合成したＧＰＤファイルを読み込む必要がある。このＰＣ拡張ＧＰＤファイル１８とプリンター拡張ＧＰＤファイル１８３を合成する処理を統合拡張処理と呼ぶ。
【０１７１】
図１２は、統合拡張処理の流れを説明するフローチャートである。統合拡張処理を実行するのは、仮想ＷＳＤアプリ１９２内の仮想ＷＳＤモジュール１９２３である。
【０１７２】
はじめに仮想ＷＳＤモジュール１９２３は、第１の実施形態と同様に、インストールセット１６に含まれるＰＣ拡張ＧＰＤファイル１８を読み込む（Ｓ５０１）。
【０１７３】
次に、プリンター拡張ＧＰＤファイル１８３の情報もプリンタードライバー１７に反映させるために、仮想ＷＳＤモジュール１９２３は、プリンター２０と通信してプリンター２０の印刷機能情報であるプリンター拡張ＧＰＤファイル１８３を取得する（Ｓ５０２）。プリンター２０からプリンター拡張ＧＰＤファイル１８３を取得するには、ＨＴＴＰのＧＥＴメソッドという手段を用いるものとする。
【０１７４】
仮想ＷＳＤモジュール１９２３は、プリンター拡張ＧＰＤファイル１８３を取得したら、ＰＣ拡張ＧＰＤファイル１８と取得したプリンター拡張ＧＰＤファイル１８３を合成して統合拡張ＧＰＤファイルを生成する（Ｓ５０３）。これによって、仮想ＷＳＤアプリ１９２から取得された印刷機能情報と、プリンター２０から取得された印刷機能情報が合成される。
【０１７５】
以上が統合拡張処理である。
【０１７６】
統合拡張処理が行われることでカスタマイズドキュー１２５の印刷設定画面はＳ５０３で生成された統合拡張ＧＰＤファイルに基づいて表示される。
【０１７７】
ここで、図２１（ｃ）に統合拡張ＧＰＤファイル１８４の例を示す。前半部分のＤｕｐｌｅｘＬｏｃｋ機能はＰＣ拡張ＧＰＤファイル１８に含まれる、両面印刷の一部項目を無効化するための定義である。一方、後半部分のＭｅｄｉａＴｙｐｅ機能は、プリンター拡張ＧＰＤファイル１８３に含まれる、新たな用紙種類を追加するための定義である。
【０１７８】
よって、統合拡張ＧＰＤファイル１８４を元のＧＰＤファイル１７２に合成すると、プリンタードライバー１７の印刷機能には、両面印刷の一部項目無効化（ＰＣ）と用紙種類追加（プリンター）の両方のカスタマイズ設定が反映される。
【０１７９】
印刷機能に両面印刷の一部項目無効化（ＰＣ）と用紙種類追加（プリンター）の両方のカスタマイズ設定が反映された状態のプリンタードライバー１７の画面３３３２を、図１７（ｂ）に示す。
【０１８０】
以上、第２の実施形態により、カスタマイズアプリ３１によるカスタマイズと、プリンター２０の本体パネルＵＩによるカスタマイズの両方の結果をプリンタードライバー１７に反映させることができる。
【０１８１】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2015230710.tif 000003
【図２】
2015230710.tif 000004
【図３】
2015230710.tif 000005
【図４】
2015230710.tif 000006
【図５】
2015230710.tif 000007
【図６】
2015230710.tif 000008
【図７】
2015230710.tif 000009
【図８】
2015230710.tif 000010
【図９】
2015230710.tif 000011
【図１０】
2015230710.tif 000012
【図１１】
2015230710.tif 000013
【図１２】
2015230710.tif 000014
【図１３】
2015230710.tif 000015
【図１４】
2015230710.tif 000016
【図１５】
2015230710.tif 000017
【図１６】
2015230710.tif 000018
【図１７】
2015230710.tif 000019
【図１８】
2015230710.tif 000020
【図１９】
2015230710.tif 000021
【図２０】
2015230710.tif 000022
【図２１】
2015230710.tif 000023