(57)【要約】【課題】ＯＳ標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷パラメータを選択する際の利便性を向上させる技術を提供すること。【解決手段】ＰＣ１のＣＰＵ１１によって実行可能であり、ＰＣ１と接続するプリンタ２に対応する補助プログラム４２であって、補助プログラム４２は、ＣＰＵ１１に、プリンタ２の能力に関する情報である能力値を取得する処理と、取得した能力値に基づき、プリンタ２の能力を特定するための情報を汎用印刷プログラム４１に提供する処理と、を実行させる。汎用印刷プログラム４１は、ＣＰＵ１１に、補助プログラム４２から提供された情報に基づく情報を、ＰＣ１に組み込まれている編集アプリ４３等に提供する。【選択図】図３
2020126364.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
前記コンピュータに、
前記プリンタの能力に関する能力情報を取得する能力情報取得処理と、
前記能力情報取得処理にて取得した能力情報に基づき、前記プリンタの能力を特定するための能力特定情報を、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに提供する能力提供処理と、
を実行させ、前記汎用印刷プログラムは、前記能力提供処理の実行によって前記サポートプログラムから提供された前記能力特定情報に基づく情報を、前記情報処理装置に組み込まれているアプリケーションプログラムに提供する、
ことを特徴とするサポートプログラム。
【請求項２】
請求項１に記載するサポートプログラムにおいて、
前記コンピュータに、
前記汎用印刷プログラムから前記プリンタの能力の提供要求があった場合に、前記能力提供処理を実行させ、前記汎用印刷プログラムは、前記アプリケーションプログラムからの前記プリンタの能力に関する問い合わせがあったことに応じて前記提供要求を前記サポートプログラムに入力する、
ことを特徴とするサポートプログラム。
【請求項３】
請求項２に記載するサポートプログラムにおいて、
前記汎用印刷プログラムは、前記能力提供処理の実行によって前記サポートプログラムから提供された前記能力特定情報に基づく情報を前記アプリケーションプログラムが取得し、取得した前記情報に基づいて前記アプリケーションプログラムによって選択を受け付けた印刷パラメータを取得し、当該印刷パラメータに基づき印刷データを生成する、
ことを特徴とするサポートプログラム。
【請求項４】
請求項１から請求項３のいずれか１つに記載するサポートプログラムにおいて、
前記能力情報取得処理では、
前記情報処理装置の通信インタフェースを介して、前記プリンタに対して能力を問い合わせるコマンドを送信し、前記プリンタから前記コマンドに応じて出力される能力情報を受信することで前記能力情報を取得する、
ことを特徴とするサポートプログラム。
【請求項５】
請求項１から請求項４のいずれか１つに記載するサポートプログラムにおいて、
前記オペレーティングシステムは、前記プリンタの能力に関する情報である第１能力情報を前記サポートプログラムを介さずに取得可能であり、
前記能力情報取得処理では、
前記能力情報として、少なくとも前記プリンタの能力に関する前記情報のうち前記第１能力情報に含まれない第２能力情報を取得する、
ことを特徴とするサポートプログラム。
【請求項６】
請求項５に記載するサポートプログラムにおいて、
前記第１能力情報は、複数のプリンタのモデルに共通する能力の情報であり、
前記第２能力情報は、プリンタのモデルに固有の能力の情報である、
ことを特徴とするサポートプログラム。
【請求項７】
請求項１から請求項６のいずれか１つに記載するサポートプログラムにおいて、
前記コンピュータに、
前記情報処理装置の環境を示す環境情報を、前記オペレーティングシステムから取得する環境取得処理と、
前記プリンタの能力のうち、前記環境取得処理によって取得された環境情報によって示される環境に不適合な能力を抽出する抽出処理と、
を実行させ、
前記能力提供処理では、
前記抽出処理によって抽出された能力を、前記アプリケーションプログラムに提供する能力から除外することを示す情報を、前記汎用印刷プログラムに提供する、
ことを特徴とするサポートプログラム。
【請求項８】
請求項１から請求項７のいずれか１つに記載するサポートプログラムにおいて、
前記能力特定情報には、前記プリンタが対応可能な用紙サイズが含まれる、
ことを特徴とするサポートプログラム。
【請求項９】
請求項１から請求項８のいずれか１つに記載するサポートプログラムにおいて、
前記能力特定情報には、前記プリンタが対応可能な給紙トレイが含まれる、
ことを特徴とするサポートプログラム。
【請求項１０】
請求項１から請求項９のいずれか１つに記載するサポートプログラムにおいて、
前記コンピュータに、
前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記印刷指示における印刷パラメータに対応した加工処理を、前記汎用印刷プログラムが出力した印刷データまたは前記印刷データを生成するための中間画像データに対して行わせる、
ことを特徴とするサポートプログラム。
【請求項１１】
コンピュータとメモリとを備える情報処理装置であって、
前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
前記コンピュータは、
前記サポートプログラムによって、前記プリンタの能力に関する能力情報を取得する能力情報取得処理と、前記能力情報取得処理にて取得した能力情報に基づき、前記プリンタの能力を特定するための能力特定情報を、前記汎用印刷プログラムに提供する能力提供処理と、を実行し、
前記汎用印刷プログラムによって、前記能力提供処理の実行によって前記サポートプログラムから提供された前記能力特定情報に基づく情報を、前記アプリケーションプログラムに提供する、
ことを特徴とする情報処理装置。
【請求項１２】
請求項１１に記載する情報処理装置において、
前記コンピュータは、
前記汎用印刷プログラムから前記プリンタの能力の提供要求があった場合に、前記能力提供処理を実行し、前記汎用印刷プログラムによって、前記アプリケーションプログラムからの前記プリンタの能力に関する問い合わせがあったことに応じて前記提供要求を前記サポートプログラムに入力する、
ことを特徴とする情報処理装置。
【請求項１３】
請求項１２に記載する情報処理装置において、
前記コンピュータは、
前記汎用印刷プログラムによる前記能力提供処理の実行によって前記サポートプログラムから提供された前記能力特定情報に基づく情報を前記アプリケーションプログラムが取得し、取得した前記情報に基づいて前記アプリケーションプログラムによって選択を受け付けた印刷パラメータを取得し、当該印刷パラメータに基づき印刷データを生成する、
ことを特徴とする情報処理装置。
【請求項１４】
情報処理装置にプリンタが接続され、
前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
前記情報処理装置で生成された印刷データに基づく印刷を、前記プリンタに実行させる印刷方法において、
前記サポートプログラムによって、前記プリンタの能力に関する能力情報を取得する能力情報取得ステップと、前記能力情報取得ステップにて取得した能力情報に基づき、前記プリンタの能力を特定するための能力特定情報を、前記汎用印刷プログラムに提供する能力提供ステップと、を含み、前記汎用印刷プログラムによって、前記能力提供ステップによって前記サポートプログラムから提供された前記能力特定情報に基づく情報を、前記アプリケーションプログラムに提供する、
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラム、情報処理装置、および印刷方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、情報処理装置にプリンタドライバをインストールし、プリンタドライバによって印刷データを生成し、その印刷データをプリンタに送信する構成が広く知られている（例えば、特許文献１）。プリンタドライバは、プリンタのメーカから提供され、そのプリンタが有する各種の機能に対応しており、そのプリンタを十分に利用することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１３４７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、前述したプリンタドライバを利用せず、オペレーティングシステム（ＯＳ）に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、ＯＳがプリンタを検知するとＯＳ標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、ＯＳ標準の汎用印刷プログラムによる印刷が可能になる。
【０００５】
しかしながら、ＯＳ標準の汎用印刷プログラムによる印刷では、印刷パラメータの選択の際、選択可能な設定項目がＯＳ標準の汎用印刷プログラムに登録されている一般的なものになる。そのため、ユーザにとって不便であり、改善の余地がある。
【０００６】
本明細書は、ＯＳ標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷パラメータを選択する際の利便性を向上させる技術を開示する。
【課題を解決するための手段】
【０００７】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記プリンタの能力に関する能力情報を取得する能力情報取得処理と、前記能力情報取得処理にて取得した能力情報に基づき、前記プリンタの能力を特定するための能力特定情報を、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに提供する能力提供処理と、を実行させ、前記汎用印刷プログラムは、前記能力提供処理の実行によって前記サポートプログラムから提供された前記能力特定情報に基づく情報を、前記情報処理装置に組み込まれているアプリケーションプログラムに提供する、ことを特徴としている。
【０００８】
本明細書に開示されるサポートプログラムは、プリンタの能力に関する能力特定情報を汎用印刷プログラムに提供し、汎用印刷プログラムは能力特定情報に基づく情報をアプリケーションプログラムに提供する。これにより、アプリケーションプログラムにてプリンタの能力に基づいて印刷パラメータを選択させる際、印刷プログラムが有する一般的な能力だけでなく、サポートプログラムが有する情報も反映できる。そのため、例えば、プリンタのモデルごとの固有の能力も選択できるようになることから、印刷パラメータを選択する際のユーザの利便性が向上する。
【０００９】
上記プログラムが組み込まれた情報処理装置、プログラムを格納するコンピュータにて読取可能な記憶媒体、及びプログラムの機能を実現するための制御方法も、新規で有用である。
【発明の効果】
【００１０】
本明細書に開示される技術によれば、ＯＳ標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷パラメータを選択する際の利便性を向上させる技術が実現される。
【図面の簡単な説明】
【００１１】
【図１】印刷システムの電気的構成を示すブロック図である。
【図２】印刷パラメータの設定手順の例を示すシーケンス図である。
【図３】能力決定処理の手順を示すフローチャートである。
【図４】能力値の例を示す説明図である。
【図５】印刷設定画面の例を示す説明図である。
【図６】各プログラムによる動作の順序の例を示すシーケンス図である。
【図７】中間画像データ編集処理の手順を示すフローチャートである。
【図８】印刷データ編集処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、実施の形態のプログラムを利用する印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ（以下、「ＰＣ」とする）とプリンタとを含む印刷システムを具体化した実施の形態を開示するものである。
【００１３】
本形態のプログラムが実行される印刷システムの構成の例を、図１に示す。図１に示すシステムには、ＰＣ１と、プリンタ２と、プリンタ３と、が含まれる。ＰＣ１は、情報処理装置の一例である。プリンタ２およびプリンタ３は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介して、ＰＣ１と通信可能である。
【００１４】
ＰＣ１は、例えば、図１に示すように、コントローラ１０と、ユーザインタフェース（以下、「ＵＩ」とする）２０と、通信インタフェース（以下、「通信ＩＦ」とする）３０と、を備えている。ＵＩ２０及び通信ＩＦ３０は、コントローラ１０に電気的に接続されている。
【００１５】
ＵＩ２０は、各種の表示を行い、ユーザの指示入力を受け付けるハードウェアを含む。ＵＩ２０は、表示機能と入力受付機能との両方の機能を有するタッチパネルであっても良いし、表示機能を有するディスプレイと入力受付機能を有するキーボードやマウス等との組合せであっても良い。
【００１６】
通信ＩＦ３０は、プリンタ２やプリンタ３との通信を行うためのハードウェアや、インターネットへのアクセスを行うためのハードウェアを含む。通信ＩＦ３０は、通信方式の異なる複数のインタフェースを含んでいても良い。通信方式としては、例えば、ネットワーク通信、ＵＳＢ通信がある。また、有線通信であっても無線通信であってもよい。
【００１７】
コントローラ１０は、ＣＰＵ１１と、メモリ１２と、を含む。ＣＰＵ１１は、コンピュータの一例である。メモリ１２は、ＲＯＭと、ＲＡＭと、不揮発性メモリと、を含み、各種のアプリケーションプログラム（以下、「アプリ」とする）などのプログラムや各種のデータなどを記憶する。なお、本明細書では、メモリの詳細を区別しない。ＣＰＵ１１は、メモリ１２から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、図１中のコントローラ１０は、ＰＣ１の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＰＣ１に存在する単一のハードウェアを表すとは限らない。
【００１８】
メモリ１２の一例は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１９】
メモリ１２には、例えば、図１に示すように、汎用印刷プログラム４１を含むオペレーティングシステム（以下、「ＯＳ」とする）２１と、補助プログラム４２と、編集アプリ４３と、が記憶されている。補助プログラム４２は、サポートプログラムの一例である。補助プログラム４２は、例えば、マイクロソフト社が公開した仕様に基づいてプリンタベンダによって作成された、ハードウェアサポートアプリ（略称、ＨＳＡ）である。ＯＳ２１は、例えば、マイクロソフトウィンドウズ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）である。なお、メモリ１２には、図示したもの以外にも、接続されているプリンタの情報を含む各種のデータや、ブラウザ等の各種のプログラムが記憶されている。
【００２０】
汎用印刷プログラム４１は、ＰＣ１からプリンタ２等の各種のプリンタで印刷を実行させるためのアプリであり、ＯＳ２１にあらかじめ組み込まれているＯＳ標準の印刷プログラムである。本形態の汎用印刷プログラム４１は、印刷対象の画像データに基づいて、プリンタが対応可能な印刷データを生成するプログラムである。汎用印刷プログラム４１は、印刷プログラムの一例である。
【００２１】
汎用印刷プログラム４１は、各プリンタのベンダによって提供される複数種類のモデルのプリンタに適用可能な汎用のアプリであり、各モデルに共通する動作を各プリンタに行わせるプログラムである。あるいは、汎用印刷プログラム４１は、ＯＳ２１にあらかじめ組み込むために、各プリンタのベンダによってＯＳ２１のベンダに提供されるプログラム、例えば、ＯＳ２１にあらかじめ組み込むために提供されるプリンタドライバの一種であっても良い。
【００２２】
補助プログラム４２は、汎用印刷プログラム４１の起動に付随してＯＳ２１からの指示に基づいて処理を実行するプログラムであり、対象のハードウェアの制御をサポートするアプリである。補助プログラム４２は、例えば、汎用印刷プログラム４１から起動される。補助プログラム４２は、プリンタ２等のベンダによってプリンタのタイプごとに用意されるプログラムである。例えば、インクジェットプリンタ用の補助プログラム４２やレーザプリンタ用の補助プログラム４２が用意される。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラム４２が有っても良い。
【００２３】
プリンタのベンダは、ＯＳ２１のベンダが指定する手順に従って、補助プログラム４２をＯＳ２１のベンダが提供するプラットフォームに登録する。ＯＳ２１は、ＰＣ１に新たにプリンタ２が接続され、そのプリンタ２に対応する補助プログラム４２がプラットフォームに登録されている場合には、当該補助プログラム４２を補助プログラム４２が格納されているサーバからダウンロードしてＰＣ１に組み込む。
【００２４】
そして、ＯＳ２１は、組み込んだ補助プログラム４２の識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ１２に記憶させる。複数のモデルのプリンタが接続されているＰＣ１では、各モデルのタイプに対応するそれぞれの補助プログラムが組み込まれ、各プリンタと各補助プログラムとを対応付ける情報がメモリ１２に記憶される。つまり、メモリ１２には、ＰＣ１に接続されている各プリンタのプリンタ情報として、当該プリンタのモデル情報やアクセス情報とともに、対応する補助プログラム４２の情報が記憶される。
【００２５】
編集アプリ４３は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ４３は、例えば、マイクロソフト  ワード（登録商標）、パワーポイント（登録商標）である。また、プリンタ２やプリンタ３のベンダから提供されるアプリであってもよい。編集アプリ４３は、プリンタ２に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ４３は、ＵＩ２０を介して、例えば、プリンタ２に印刷を実行させる印刷指示を受け付ける。
【００２６】
なお、実施の形態における処理およびフローチャートの各処理ステップは、基本的に、補助プログラム４２などのプログラムに記述された命令に従ったＣＰＵ１１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ１１の処理を表している。ＣＰＵ１１による処理は、ＯＳ２１のＡＰＩを用いたハードウェア制御も含む。本明細書では、ＯＳ２１の詳細な記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムＢがハードウェアＣを制御する」という趣旨の記載は、「プログラムＢがＯＳ２１のＡＰＩを用いてハードウェアＣを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、省略した文言で記載することがある。例えば、「ＣＰＵ１１が行う」のようにプログラムを省略して記載することがある。また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、「プログラムＡが行う」のようにＣＰＵを省略した文言で記載することがある。
【００２７】
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１１が要求することなくデータを受信するという処理も、「ＣＰＵ１１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【００２８】
また、ＣＰＵ１１による、情報Ａは事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。ＣＰＵ１１による、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであることを示しているか、を判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００２９】
本形態の印刷システムでは、汎用印刷プログラム４１は、プリンタの能力を示す情報を、そのプリンタに対応する補助プログラム４２から取得する。プリンタの能力は、そのプリンタにて対応可能な印刷設定であり、具体的には、印刷パラメータとして選択可能な各種の項目、および、各項目に関して設定可能な各選択肢の情報である。以下では、プリンタの能力の全てを含む情報を、そのプリンタの「能力値」とする。能力値は、具体的には、印刷パラメータとして選択可能な全項目、および、各項目に関して設定可能な全ての選択肢の情報を含むリストである。例えば、用紙サイズの項目では、選択可能な用紙サイズである「Ａ４」や「Ａ５」等の全選択肢を含む情報である。
【００３０】
編集アプリ４３等の印刷指示を受け付けるアプリは、汎用印刷プログラム４１を用いて印刷する印刷指示に際して、プリンタの選択と印刷パラメータの設定とを受け付ける。本形態の印刷システムにおいて、編集アプリ４３等にて、印刷設定を行うユーザの指示を受け付けた場合の各プログラムの動作の手順を、図２のシーケンス図を参照して説明する。図２は、編集アプリ４３にて、汎用印刷プログラム４１を使用してプリンタ２に印刷させる場合であって、プリンタ２に対応する補助プログラム４２がＰＣ１にインストール済みである場合の動作について示している。
【００３１】
編集アプリ４３は、印刷に関するメニューを開くユーザの指示を受け付ける（矢印ａ）。印刷に関するメニューにて、編集アプリ４３は、例えば、プリンタの選択、印刷設定の選択、印刷対象の画像データの選択、印刷実行の指示、を受け付ける。編集アプリ４３は、例えば、プリンタの選択のためのプリンタ一覧表示の指示を受け付けた場合（矢印ｂ）、汎用印刷プログラム４１から選択可能なプリンタの一覧情報を取得する（矢印ｃ）。編集アプリ４３は、取得した情報に基づいて、プリンタの一覧を表示し（矢印ｄ）、プリンタの選択指示を受け付ける（矢印ｅ）。
【００３２】
プリンタが選択された状態で、編集アプリ４３は、印刷設定の選択指示を受け付けると（矢印ｆ）、汎用印刷プログラム４１に、選択されたプリンタの能力値の情報を要求する（矢印ｇ）。汎用印刷プログラム４１は、能力値を要求されたプリンタが補助プログラム４２にて対応しているプリンタであれば、編集アプリ４３からの要求に応じて、提供要求を補助プログラム４２に出力する（矢印ｈ）。提供要求は、指定されたプリンタの能力値を要求する情報であり、提供要求には、指定されたプリンタを示す情報が付される。なお、汎用印刷プログラム４１は、選択されたプリンタに対応する補助プログラム４２がインストールされていない場合には、汎用印刷プログラム４１にて備える一般的な能力値を、編集アプリ４３に渡す。
【００３３】
補助プログラム４２は、提供要求に応じて、そのプリンタの能力値を決定して汎用印刷プログラム４１に提供する機能を有している。補助プログラム４２は、まず、汎用印刷プログラム４１に問い合わせて、当該プリンタの環境情報を取得する（矢印ｉ）。環境情報は、例えば、プリンタの設置場所を示す情報、印刷を指示したユーザを示す情報、である。後述するように、プリンタの能力値には、その設置場所や印刷を指示したユーザによって異なるものがある。矢印ｉの処理は、環境取得処理の一例である。なお、補助プログラム４２は、環境情報を、指定されたプリンタまたはＯＳ２１から取得しても良い。
【００３４】
補助プログラム４２は、さらに、提供要求に付された情報に基づいて、指定されたプリンタと通信し、当該プリンタにて対応可能な全ての能力である本体能力値を取得する（矢印ｊ）。本体能力値には、例えば、当該プリンタにて実行可能な印刷の種類、装着されている処理ユニットや給紙トレイの情報が含まれる。本体能力値は、能力情報の一例であり、矢印ｊの処理は、能力情報取得処理の一例である。
【００３５】
なお、プリンタの本体能力値には、汎用印刷プログラム４１が補助プログラム４２を介さずに取得可能な第１能力情報と、汎用印刷プログラム４１が補助プログラム４２を介さなければ取得できない第２能力情報とが含まれる。用紙サイズの例では、ＩＳＯ規格のＡ４やＡ５の用紙サイズは、ページプリンタであれば何れのプリンタでも一般的に対応可能であることから、第１能力情報に含まれる。Ａ３等の大サイズの用紙に印刷できるか否か、追加の給紙トレイの有無、外付けの両面印刷ユニットの有無は、プリンタの機種ごとに異なる能力ではあるが、第１能力情報に含まれる。
【００３６】
さらに、プリンタの本体能力値には、機種ごとに共通する能力と、個々のプリンタに固有の能力とが含まれる。例えば、大サイズの用紙に印刷可能か否かは、機種ごとに共通する能力であるが、プリンタにて設定されたカスタムサイズの用紙サイズやステープル機能などは、個々のプリンタに固有の能力である。補助プログラム４２は、矢印ｊの処理にて、指定されたプリンタと通信することで、個々のプリンタに固有の能力を取得できる。個々のプリンタに固有の能力には、第２能力情報が含まれる。補助プログラム４２は、矢印ｊの処理にて、少なくとも第２能力情報に含まれる能力を取得する。
【００３７】
また、補助プログラム４２は、プリンタから本体能力値の全てを含む情報を受信しても良いし、第２能力情報に含まれる能力の全てを受信しても良いし、当該プリンタの機種に共通の能力との差異を示す情報を受信しても良い。差異を示す情報を受信する場合、補助プログラム４２は、プリンタの機種ごとの共通の能力を予め記憶し、プリンタから取得した情報を用いて、当該プリンタの本体能力値を取得する。当該プリンタの機種に共通の能力は、プリンタやプリンタメーカのサーバに問い合わせて補助プログラム４２が取得しても良いし、予め補助プログラム４２に記憶されていても良い。
【００３８】
また、補助プログラム４２は、本体能力値を取得したことのあるプリンタに対して、更新情報のみを要求しても良い。その場合、補助プログラム４２は、プリンタから取得した本体能力値を取得時刻の情報を付してメモリ１２に記憶し、更新情報に基づいて更新する。そして、補助プログラム４２は、最終更新からの経過時間が短い場合には、本体能力値の取得を行わないとしても良い。また、プリンタが、自身に収納されている用紙のサイズを計測する機能を有しているものであれば、補助プログラム４２は、プリンタにその機能を動作させて収容されている用紙サイズを取得しても良い。
【００３９】
また、そのプリンタにて設定可能な全ての能力値には、本体能力値に追加される能力が含まれる場合がある。例えば、汎用印刷プログラム４１が対応していない機能に編集アプリ４３が対応している場合、その機能を選択可能な能力として追加しても良い。あるいは、汎用印刷プログラム４１が対応していない機能に補助プログラム４２が対応している場合、その機能を選択可能な能力として追加しても良い。例えば、ステープル処理に汎用印刷プログラム４１が対応しておらず、編集アプリ４３と補助プログラム４２が対応している場合に、全ての能力値には、ステープル処理の能力を追加しても良い。追加された能力も、選択可能な印刷パラメータに含まれる。
【００４０】
補助プログラム４２は、プリンタから取得した本体能力値と、汎用印刷プログラム４１から取得した環境情報と、自身にて記憶している機種ごとの情報と、に基づいて、プリンタの能力値を決定する（矢印ｋ）。プリンタの能力値を決定する処理の詳細に付いては、後述する。
【００４１】
補助プログラム４２は、決定した能力値に基づく情報を汎用印刷プログラム４１に提供する（矢印ｌ）。矢印ｌの処理は、能力提供処理の一例であり、矢印ｌにて汎用印刷プログラム４１に提供する情報は、能力特定情報の一例である。
【００４２】
補助プログラム４２は、決定した能力値の全てを含む情報を汎用印刷プログラム４１に提供しても良いし、汎用印刷プログラム４１が備えている一般的な能力との差異を抽出して提供しても良い。つまり、前述した第２能力情報含まれる能力を提供しても良い。抽出される差異には、例えば、プリンタのモデルに固有の能力、当該プリンタが有する個別の能力、環境情報等によって除外される能力、が含まれる。この場合、差異を示す情報も、能力特定情報の一例である。
【００４３】
汎用印刷プログラム４１は、提供された能力値を、能力値を要求した編集アプリ４３に渡す（矢印ｍ）。編集アプリ４３は、受け取った能力値の情報を用いて、印刷設定画面の各項目や各項目中の選択肢として表示する情報を決定し、ＵＩ２０に表示させる（矢印ｎ）。そして、編集アプリ４３は、表示させた印刷設定画面にて、ユーザによる印刷設定の選択を受け付ける（矢印ｏ）。
【００４４】
次に、本形態の印刷システムにて、編集アプリ４３等のアプリにてプリンタの能力値を要求された場合に、汎用印刷プログラム４１からの要求に基づいて、能力値を決定する動作を実現する能力決定処理の手順について、図３のフローチャートを参照して説明する。この能力決定処理は、図２の矢印ｋにて実行される処理であり、汎用印刷プログラム４１から能力提供要求を受け付けたことを契機に、補助プログラム４２に従って、ＰＣ１のＣＰＵ１１にて実行される。
【００４５】
能力決定処理では、ＣＰＵ１１は、図２の矢印ｊで取得した情報に基づいて、当該プリンタにて実行可能な全能力値を取得する（Ｓ１０１）。全能力値には、当該プリンタに固有の能力が含まれる。例えば、当該プリンタが有していない機能は、全能力値に含まれない。そして、ＣＰＵ１１は、図２の矢印ｉにて取得した環境情報に応じて、本体能力値から除外する能力があるか否かを判断する（Ｓ１０２）。
【００４６】
補助プログラム４２は、例えば、環境情報に基づいて、使用される可能性が低い用紙サイズを本体能力値から除外する。用紙サイズの能力値のバリエーションの例を図４に示す。ページプリンタ用の用紙サイズの全能力値５１には、例えば、図４（Ａ）に示すように、ＩＳＯ規格のＡ列の用紙サイズやＪＩＳ規格のＢ列の用紙サイズ、レターサイズを含む各地域で使用される複数のサイズが含まれる。なお、図４（Ａ）に示しているのは全能力値５１のごく一部であり、全能力値５１には、特定の地域のみで使用される独自のサイズについても含まれるとよい。
【００４７】
そして、例えば、日本では用紙サイズとしてレターサイズが選択される可能性は極めて低いことから、補助プログラム４２は、設置場所が日本国内であるプリンタの能力から、レターサイズを除外して、例えば、図４（Ｂ）に示す能力値５１１とする。一方、設置場所が米国国内であるプリンタでは、補助プログラム４２は、例えば、図４（Ｃ）に示すように、用紙サイズの全能力値５１からＪＩＳ規格のＢ列の用紙サイズや長形３号封筒等の日本固有のサイズなど特定の地域のみで使用されるサイズを除外した能力値５１１とする。
【００４８】
また、日本に設置されているプリンタであって、プリンタにてカスタムサイズの用紙が設定されている場合、補助プログラム４２は、例えば、図４（Ｄ）に示すように、設定されているカスタムサイズを含む能力値５１１とする。
【００４９】
また、例えば、補助プログラム４２は、ユーザごとの使用制限の設定を受け付けても良い。その場合、補助プログラム４２は、例えば、図２の矢印ｉにて取得した環境情報に基づいて、ユーザの属性情報をＯＳ２１から取得し、図２の矢印ｊにてそのユーザの情報をプリンタに送信して、プリンタからユーザの制限情報を取得する。補助プログラム４２は、メモリ１２にユーザの制限情報を記憶していても良い。そして、補助プログラム４２は、当該ユーザによる使用が制限されている能力が本体能力値に含まれている場合、その能力を除外する。このようにすれば、例えば、所定のユーザによる高級紙の使用制限やカラー印刷の実行の制限などを設定できる。
【００５０】
除外する能力が有ると判断した場合（Ｓ１０２：ＹＥＳ）、ＣＰＵ１１は、除外する能力の情報を抽出する（Ｓ１０３）。Ｓ１０３は、抽出処理の一例である。除外する能力が無いと判断した場合（Ｓ１０２：ＮＯ）、または、Ｓ１０３の後、ＣＰＵ１１は、除外していない能力のみを対象にして、当該プリンタの能力値を決定する（Ｓ１０４）。さらに、ＣＰＵ１１は、決定した能力値をメモリ１２に記憶して（Ｓ１０５）、能力決定処理を終了する。
【００５１】
なお、補助プログラム４２は、能力値の要求を受けた場合にそのプリンタの能力値を決定する代わりに、各プリンタの能力値を予め決定してメモリ１２に記憶しておき、汎用印刷プログラム４１からの要求に応じて指定されたプリンタの能力値をメモリ１２から読み出すとしても良い。
【００５２】
例えば、新規のプリンタが接続され、そのプリンタに対応する補助プログラム４２がＰＣ１にインストールされていない場合、ＯＳ２１は、インストールのための各処理を実行する。そして、インストールされた補助プログラム４２は、初回の実行時等に対応するプリンタの能力値を決定して、メモリ１２に記憶しても良い。
【００５３】
また、インストール済みの補助プログラム４２に対応する新規のプリンタが、印刷システムに追加された場合には、補助プログラム４２は、追加されたプリンタの情報をＯＳ２１から取得して、その能力値を決定しても良い。補助プログラム４２は、例えば、新規のプリンタが接続された場合、ＰＣ１の起動時等の所定のタイミング、ユーザの実行指示を受け付けた時、に能力値を決定してメモリ１２に記憶するとしてもよい。
【００５４】
補助プログラム４２は、前述したように、決定した能力値を汎用印刷プログラム４１に提供し（図２の矢印ｌ）、汎用印刷プログラム４１は編集アプリ４３に能力値を提供して（図２の矢印ｍ）、能力値に応じた印刷設定画面が表示される（図２の矢印ｎ）。印刷設定画面では、能力決定処理にて決定された能力が、選択可能な印刷パラメータとして表示される。
【００５５】
例えば、補助プログラム４２にて、図４（Ｄ）に示した能力値５１１に決定された場合、編集アプリ４３は、図５に示すように、用紙サイズの設定画面６１に選択肢としてカスタムサイズの用紙サイズを表示する。編集アプリ４３がカスタムサイズの用紙サイズを選択肢として表示することで、ユーザは、カスタムサイズの用紙サイズを選択できる。また、例えば、追加の給紙トレイが装着されているプリンタであれば、その給紙トレイの情報が含まれる能力値が提供されることから、編集アプリ４３は、設定画面６１にて用紙トレイの選択肢として追加の給紙トレイを表示させ、追加の給紙トレイの選択を受け付けることができる。
【００５６】
補助プログラム４２にて決定した能力値に基づいて、編集アプリ４３は、能力値に含まれる能力を選択可能な項目として表示する。一方、能力値に含まれない能力は選択できないことから、編集アプリ４３は、その能力を項目として表示せず、能力値に基づいて印刷パラメータの一部を決定しても良い。例えば、カラー印刷が能力値に含まれる場合、編集アプリ４３は、カラー／モノクロの選択項目を表示して、ユーザの選択を受け付ける。一方、カラー印刷が能力値に含まれない場合、編集アプリ４３は、カラー／モノクロの選択項目を表示せず、印刷パラメータの設定をモノクロ設定とする。あるいは、編集アプリ４３は、カラー／モノクロの選択項目を表示する代わりにモノクロ印刷と表示しても良い。
【００５７】
次に、本形態の補助プログラム４２の構成、および補助プログラム４２の動作を含む印刷手順の一例について、図６のシーケンス図を参照して説明する。補助プログラム４２は、編集アプリ４３等を介して、補助プログラム４２に対応するプリンタが指定された状態で汎用印刷プログラム４１を使用して印刷する印刷指示を受け付けた場合に、汎用印刷プログラム４１から実行指示されるプログラムである。以下では、ＰＣ１がＵＩ２０を介して、例えば、編集アプリ４３にて、印刷対象の画像データが指定された状態で、汎用印刷プログラム４１を介してのプリンタ２での印刷実行の指示を受け付けた場合であって、プリンタ２のモデルのタイプに対応する補助プログラム４２がＰＣ１に組み込まれている場合について説明する。
【００５８】
まず、編集アプリ４３は、ＵＩ２０を介して、印刷対象の画像の指定と、印刷実行の指示入力を受け付ける（矢印Ａ）。編集アプリ４３が表示した画像は、印刷対象の画像の例である。編集アプリ４３は、例えば、編集アプリ４３にて編集された文書や、編集アプリ４３にて読み込んだ写真などを画像として表示する。そして、印刷指示を受け付けた編集アプリ４３は、受け付けた印刷指示の内容を示す印刷実行通知をＯＳ２１に渡す。なお、図２では、ＯＳ２１の動作を省略して示している。
【００５９】
ＯＳ２１は、汎用印刷プログラム４１を使用する印刷実行通知を受け付けた場合、汎用印刷プログラム４１を実行させ、汎用印刷プログラム４１に印刷実行通知を渡す（矢印Ｂ）。汎用印刷プログラム４１は、印刷実行通知にて、印刷指示に含まれる各種の情報、例えば、印刷させるプリンタを示す情報、アプリにて設定された印刷パラメータを示す情報、印刷対象となる画像データを示す情報、印刷を指示したユーザを識別する情報を、取得できる。なお、これらの情報は、補助プログラム４２の処理でも使用される。
【００６０】
汎用印刷プログラム４１は、印刷実行通知に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し、中間画像データを含む印刷ジョブを生成する（矢印Ｃ）。編集アプリ４３に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム４１は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷実行通知に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。中間画像データは、例えば、ＸＰＳデータである。
【００６１】
さらに、汎用印刷プログラム４１は、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。汎用印刷プログラム４１は、例えば、プリンタ２が指定されている場合、メモリ１２に記憶されているプリンタ情報に含まれるプリンタのモデル情報に基づいて、プリンタ２のモデルを特定する。そして、印刷指示にて指定されたプリンタであるプリンタ２に対応する補助プログラム４２がメモリ１２に記憶されていることから、汎用印刷プログラム４１による印刷データの生成を開始する前に、汎用印刷プログラム４１は、補助プログラム４２の処理の実行命令を出力し、補助プログラム４２を動作させる。すなわち、汎用印刷プログラム４１が印刷実行通知を検知したことを契機に、補助プログラム４２への実行命令が汎用印刷プログラム４１から出力される。
【００６２】
汎用印刷プログラム４１は、中間画像データを生成した後、印刷データの生成開始前に、補助プログラム４２を実行させる実行命令を出力する（矢印Ｄ）。この実行命令には、印刷パラメータと中間画像データとが付される。補助プログラム４２は、中間画像データと印刷パラメータとを解釈することができる。
【００６３】
汎用印刷プログラム４１からの実行命令を受け付けた補助プログラム４２は、実行命令に対応する処理を開始する（矢印Ｈ）。矢印Ｈでは、補助プログラム４２は、印刷パラメータに対応する中間画像データの編集を行う。補助プログラム４２は、矢印Ｈの処理の実行命令にて、印刷指示に含まれる各種の情報を汎用印刷プログラム４１から取得できる。
【００６４】
なお、印刷パラメータには、汎用印刷プログラム４１による印刷データの生成に用いられる汎用パラメータと、汎用印刷プログラム４１による印刷データの生成には用いられない固有パラメータとがある。汎用パラメータは、例えば、用紙サイズ、印刷解像度、カラー／モノクロ、であり、固有パラメータは、例えば、ステープル処理、集約印刷、ウォータマークの付加、である。
【００６５】
補助プログラム４２は、矢印Ｈの処理にて、例えば、中間画像データの編集を行う。補助プログラム４２は、例えば、印刷パラメータのうちの固有パラメータの設定に応じた加工を中間画像データの画像に施す。画像の加工としては、例えば画像の集約や分割、画像の拡大や縮小、ウォータマーク等の画像の合成が該当する。なお、編集後の印刷パラメータが汎用パラメータのみであれば、補助プログラム４２は、中間画像データの編集を行わなくても良い。
【００６６】
そして、補助プログラム４２は、処理後の印刷パラメータおよび中間画像データを印刷ジョブに反映し、処理の終了を示す終了通知を汎用印刷プログラム４１に返して処理を終了する（矢印Ｉ）。なお、補助プログラム４２は、処理後の中間画像データを汎用印刷プログラム４１に提供することで、汎用印刷プログラム４１を介して、処理後のデータを印刷ジョブに反映しても良い。
【００６７】
汎用印刷プログラム４１は、補助プログラム４２から終了通知を受け取ったことに応じて、中間画像データに基づいて印刷データを生成する（矢印Ｊ）。ここで、印刷データを生成するための中間画像データは、矢印Ｈの処理にて編集されていてもよい。汎用印刷プログラム４１は、印刷パラメータのうちの汎用パラメータを用いて、印刷データを生成する。汎用印刷プログラム４１によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データである。印刷データは、例えば、ＰＷＧＲａｓｔｅｒデータ、または、ＰＤＦデータである。
【００６８】
印刷データの生成の終了後、汎用印刷プログラム４１は、補助プログラム４２の処理を実行させる実行命令を出力する（矢印Ｋ）。矢印Ｋの実行命令には、印刷パラメータと印刷データとが付される。
【００６９】
汎用印刷プログラム４１からの実行命令を受け付けた補助プログラム４２は、印刷データの編集処理を開始する（矢印Ｌ）。補助プログラム４２は、矢印Ｌの処理の実行命令にて、印刷パラメータやプリンタの情報に加え、生成が終了している印刷データも汎用印刷プログラム４１から取得できる。
【００７０】
補助プログラム４２は、矢印Ｌの処理にて、例えば、プリンタ２に特有な機能を実行させるためのコマンドを印刷データに付加する。プリンタ２に特有な機能としては、例えば、トナーセーブ設定、フィニッシャの設定（一例として、ステープル処理の設定）、がある。プリンタ２が自身でウォータマークやヘッダ／フッタ等を画像に付加できる機能を有している場合、補助プログラム４２は、これらの機能を実行させるコマンドを印刷データに付加しても良い。
【００７１】
そして、補助プログラム４２は、処理後の印刷データを印刷ジョブに反映し、処理の終了を示す終了通知を汎用印刷プログラム４１に返して処理を終了する（矢印Ｍ）。補助プログラム４２は、処理後の印刷データを汎用印刷プログラム４１に提供することで、汎用印刷プログラム４１を介して、処理後の印刷データを印刷ジョブに反映しても良い。
【００７２】
汎用印刷プログラム４１は、補助プログラム４２から終了通知を受け取ったことに応じて、プリンタ２に対して印刷命令を送信する（矢印Ｎ）。これにより、印刷命令を受信したプリンタ２では、印刷命令に付された印刷データに従って、印刷データの画像の印刷が実行される。プリンタ２は、コマンドが付加された印刷データを受信した場合、印刷の実行に際して、コマンドによって示される動作を行う。なお、補助プログラム４２は、汎用印刷プログラム４１を介さずに通信ＩＦ３０を介して、印刷命令をプリンタ２に送信してもよい。その場合、補助プログラム４２は、前述したデータ形式とは異なるデータ形式に印刷データを変換して送信してもよい。
【００７３】
次に、図６の矢印Ｈにて実行される中間画像データを編集する動作を実現する中間画像データ編集処理の手順について、図７のフローチャートを参照して説明する。この中間画像データ編集処理は、汎用印刷プログラム４１から実行命令を受け付けたことを契機に、補助プログラム４２に従って、ＰＣ１のＣＰＵ１１にて実行される。中間画像データ編集処理は、汎用印刷プログラム４１による印刷データの生成前に実行される処理である。
【００７４】
中間画像データ編集処理では、ＣＰＵ１１は、印刷パラメータを取得する（Ｓ２０１）。印刷パラメータには、汎用パラメータと固有パラメータとが含まれる。Ｓ２０１で取得する印刷パラメータは、能力決定処理にて決定した能力値からユーザによって選択された印刷パラメータである。そして、ＣＰＵ１１は、Ｓ２０１にて取得した印刷パラメータに、中間画像データの編集によって対応できるパラメータが含まれているか否かを判断する（Ｓ２０３）。
【００７５】
中間画像データの編集によって対応できるパラメータが含まれていると判断した場合（Ｓ２０３：ＹＥＳ）、ＣＰＵ１１は、中間画像データを加工する（Ｓ２０４）。Ｓ２０４の後、または、中間画像データの編集によって対応できるパラメータが含まれていないと判断した場合（Ｓ２０３：ＮＯ）、ＣＰＵ１１は、中間画像データ編集処理の終了を汎用印刷プログラム４１に通知し、中間画像データ編集処理を終了する。
【００７６】
なお、印刷データの編集によって対応できる印刷パラメータが含まれている場合、補助プログラム４２は、図６の矢印Ｌにて実行される印刷データ編集処理にて印刷データの編集を行う。その場合、補助プログラム４２は、汎用印刷プログラム４１からの実行命令に基づいて、印刷データ編集処理を実行する。印刷データ編集処理の手順について、図８のフローチャートを参照して説明する。この印刷データ編集処理は、汎用印刷プログラム４１から実行命令を受け付けたことを契機に、補助プログラム４２に従って、ＰＣ１のＣＰＵ１１にて実行される。印刷データ編集処理は、汎用印刷プログラム４１による印刷データの生成後に実行される処理である。
【００７７】
印刷データ編集処理では、ＣＰＵ１１は、印刷パラメータを取得する（Ｓ３０１）。印刷パラメータには、汎用パラメータと固有パラメータとが含まれる。Ｓ３０１にて取得する印刷パラメータは、能力決定処理にて決定した能力値からユーザによって選択された印刷パラメータである。そして、ＣＰＵ１１は、Ｓ３０１にて取得した印刷パラメータに、印刷データの編集によって対応できるパラメータが含まれているか否かを判断する（Ｓ３０３）。
【００７８】
印刷データの編集によって対応できるパラメータが含まれていると判断した場合（Ｓ３０３：ＹＥＳ）、ＣＰＵ１１は、印刷データを加工する（Ｓ３０４）。Ｓ３０４の後、または、印刷データの編集によって対応できるパラメータが含まれていないと判断した場合（Ｓ３０３：ＮＯ）、ＣＰＵ１１は、印刷データ編集処理の終了を汎用印刷プログラム４１に通知し、印刷データ編集処理を終了する。
【００７９】
補助プログラム４２は、例えば、カスタムサイズの用紙サイズが印刷パラメータに含まれている場合、中間画像データ編集処理または印刷データ編集処理において、カスタムサイズに対応する解像度の画像となるように、中間画像データまたは印刷データを加工する。つまり、補助プログラム４２は、汎用印刷プログラム４１にて対応不可能な印刷パラメータであって、中間画像データまたは印刷データの編集によって対応可能な印刷パラメータが設定されている場合、中間画像データ編集処理または印刷データ編集処理において、設定されている印刷パラメータに対応する編集を行う。
【００８０】
以上、詳細に説明したように、本形態の補助プログラム４２は、汎用印刷プログラム４１からの要求に応じて、プリンタの能力値を示す情報を提供する。これにより、例えば、編集アプリ４３等にて印刷パラメータを選択させる際、汎用印刷プログラム４１が有する一般的なプリンタの能力だけではなく、補助プログラム４２が有する情報も反映できるようになる。そのため、例えばプリンタのモデルごとのカスタム能力も選択できるようになり、印刷パラメータの選択自由度が高まるとともにプリンタの能力を十分に発揮できる。
【００８１】
さらに、本形態では、編集アプリ４３等のアプリから能力値の要求があった場合に、汎用印刷プログラム４１が補助プログラム４２に能力の情報を要求し、補助プログラム４２が能力の情報を提供する。アプリは、提供された能力値に基づく選択肢から、印刷パラメータの選択を受け付けるので、プリンタでの印刷に適した能力が選択可能となる。
【００８２】
また、本形態の補助プログラム４２は、プリンタに直接能力を問い合わせるので、個々のプリンタに現在設定されている能力情報を提供できる。プリンタに能力を問い合わせるタイミングは、能力値の要求がある度でもよいし、補助プログラム４２やプリンタのインストール時でもよいし、ユーザ任意のタイミングでもよい。
【００８３】
また、本形態の補助プログラム４２は、汎用印刷プログラム４１が有する一般的な能力の情報以外の情報を提供するので、編集アプリ４３等では、個々のプリンタに固有の能力を利用できる。
【００８４】
また、本形態の補助プログラム４２は、使用環境によっては選択される可能性が極めて低い能力を能力値から除外するので、除外された能力は、編集アプリ４３等にて選択可能な選択肢から除外される。従って、選択される可能性の高い選択肢のみとなるので、ユーザが印刷パラメータを設定し易くなる。
【００８５】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、ＰＣ１に接続される装置は、プリンタに限らず、複合機、複写機、ＦＡＸ装置、等印刷機能を有する装置であればよい。また、ＰＣ１に接続されるプリンタは、図示の例に限らず、１台でも良いし、３台以上でもよい。
【００８６】
また、例えば、本形態では、決定した能力値をメモリ１２に記憶するとしているが、記憶しなくても良い。例えば、要求を受け付けた度に能力値を決定しても良い。ただし、記憶しておけば、提供までに要する時間が短い可能性が高い。
【００８７】
また、例えば、本形態では、能力値の追加と削除との両方を行うとしているが、いずれか一方だけでも良い。例えば、一般的な能力値にプリンタに固有の機能を追加するのみでも良い。
【００８８】
また、例えば、図３に示した能力決定処理では、Ｓ１０８にて、汎用印刷プログラム４１からの要求が全能力であるか否かを判断するとしたが、汎用印刷プログラム４１が、いずれか一方のみに対応している場合には、判断せず、一方のみの処理とすればよい。
【００８９】
また、例えば、実施の形態では、補助プログラム４２は各種の処理を備えているとしたが、全てを備えていなくても良い。例えば、補助プログラム４２は能力決定処理の構成のみを含んでもよい。また、能力決定処理のプログラムと中間画像データ編集処理のプログラムと印刷データ編集処理のプログラムとは、別のプログラムであっても良い。
【００９０】
また、印刷パラメータ決定処理を実行するモジュールは、補助プログラム４２に限らず、ＯＳ２１の汎用印刷プログラム４１にて印刷を行う際に、ＯＳ２１から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー  アプリ（Print workflow）でも良い。
【００９１】
また、実施の形態では、補助プログラム４２の動作として、能力値の決定と印刷パラメータの設定とに関する動作のみを記載しているが、補助プログラム４２は、さらに他の役割を有していても良い。
【００９２】
また、実施の形態では、汎用印刷プログラム４１から補助プログラム４２の実行命令が出力されることで、補助プログラム４２が実行されるとしているが、補助プログラム４２の実行タイミングはこれに限らない。例えば、ＯＳ２１から直接実行指示されて実行されても良く、または、常駐される補助プログラム４２であっても良い。常駐される場合には、補助プログラム４２は、実行命令を受けて前述した動作を行うとすれば良い。
【００９３】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【００９４】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【００９５】
１  ＰＣ
２  プリンタ
１１  ＣＰＵ
１２  メモリ
２１  ＯＳ
４１  汎用印刷プログラム
４２  補助プログラム
４３  編集アプリ
【図１】
2020126364.tif 000003
【図２】
2020126364.tif 000004
【図３】
2020126364.tif 000005
【図４】
2020126364.tif 000006
【図５】
2020126364.tif 000007
【図６】
2020126364.tif 000008
【図７】
2020126364.tif 000009
【図８】
2020126364.tif 000010