(57)【要約】【課題】機種共通のドライバーを想定するにあたり、ドライバーで固定の対応用紙サイズの一覧を持たせておくだけでは、プリンターの対応サイズとして列挙されていない用紙サイズを指定したいという要望に応えることができなかった。また、対応用紙を手動で設定する場合、入力ミスにより問題が発生するリスクもあった。【解決手段】本願によれば、プリンター非対応の用紙サイズも含めて列挙すると同時に、プリンターから対応用紙サイズの情報を取得することで、自動で対応用紙サイズかどうかの表示の切り替えを行うことができる。【選択図】  図10
2018147217.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置、印刷装置から構成される印刷システムであって、
印刷装置から印刷装置に関する能力の情報を取得する手段（401）と、
印刷設定の項目の表示を切り替えるか判断する手段（404）と、
印刷設定の項目の表示を切り替える手段（405）と、
印刷設定の項目にイベントを登録する手段（406）と
前記登録されたイベントに応じてコントロールの表示を行う手段（1105、1205）
を有することを特徴とした印刷システム。
【請求項２】
請求項１に記載の情報処理方法およびプログラムであって、
印刷装置が対応可能な用紙の最大値、最小値を取得する手段（1301）と、
前記対応可能な用紙の幅の最大値、最小値から印刷設定の項目を切り替えるかどうかを判断する手段（1303）と、
前記対応可能な用紙の高さの最大値、最小値から印刷設定の項目を切り替えるかどうかを判断する手段（1304）
を有することを特徴とした印刷システム。
【請求項３】
請求項１に記載の情報処理方法およびプログラムであって、
印刷装置の種別情報を取得する手段（1501）と、
前記種別情報に基づき印刷装置が対応可能な用紙情報を取得する手段（1502）
を有することを特徴とした印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタードライバーの表示機能に関する。
【背景技術】
【０００２】
ユーザーは、プリンターから印刷を行うとき、コンピューター上で印刷する用紙のサイズを設定する。この際、コンピューター上のプリンタードライバーで設定可能な用紙サイズは、基本的にプリンターのカセットに装填することができるサイズか、プリンターに手差しで給紙可能なサイズとなる。
【０００３】
ここで、複数のプリンターに対して印刷を設定することが可能な機種共通のドライバーを想定した場合、各プリンターが対応可能な用紙サイズはそれぞれ異なるため、共通して単一の用紙サイズの一覧を列挙しただけでは問題となる。具体的には、共通した表示ではプリンターによっては指定したい用紙が列挙されていない、あるいは指定してはいけない大きさの用紙サイズが列挙されているなどである。
【０００４】
特許文献1では、機種共通のドライバーを想定するにあたり、各プリンターが対応可能な用紙サイズを手動で設定させることで、プリンターごとに列挙する用紙一覧の切り替えを行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2015-118570号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ただし、特許文献1ではA1サイズといったプリンターの対応サイズとして列挙されていない用紙サイズを指定したいという要望に応えることができなかった。また、対応用紙を手動で設定するため、入力ミスにより問題が発生するリスクもあった。
【課題を解決するための手段】
【０００７】
情報処理装置、印刷装置から構成される印刷システムであって、
印刷装置から印刷装置に関する能力の情報を取得する手段（401）と、
印刷設定の項目の表示を切り替えるか判断する手段（404）と、
印刷設定の項目の表示を切り替える手段（405）と、
印刷設定の項目にイベントを登録する手段（406）と
前記登録されたイベントに応じてコントロールの表示を行う手段（1105、1205）
を有することを特徴としている。
【発明の効果】
【０００８】
本発明によれば、プリンター非対応の用紙サイズも含めて列挙すると同時に、プリンターから対応用紙サイズの情報を取得することで、自動で対応用紙サイズかどうかの表示の切り替えを行うことができる。
【図面の簡単な説明】
【０００９】
【図１】コンピューターシステムのハードウェアとソフトウェアのブロック構成図
【図２】クライアントとプリンター、そしてプリンターが接続されたネットワークの構成図
【図３】本発明の一実施形態としての、印刷設定画面の例を示した図
【図４】コントロールの表示切り替えの流れを示すフロー
【図５】プリンターの能力情報（対応する用紙）の例
【図６】プリンタードライバーUI
【図７】プリンタードライバーUIのバルーン表示例
【図８】プリンタードライバーUIのツールチップ表示例
【図９】原稿サイズ設定ダイアログ
【図１０】原稿サイズ設定ダイアログのツールチップ表示例
【図１１】情報通知用のコントロールを表示するフロー
【図１２】条件によるコントロールの表示切り替えの方法を示すフロー
【図１３】用紙サイズによる切り替えの判定方法を示すフロー
【図１４】プリンターの能力情報（対応可能な用紙の最大値、最小値）の例
【図１５】プリンターの種別による切り替えの判定方法を示すフロー
【図１６】プリンターの能力情報（プリンターの種別情報）の例
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。
［実施例1］
図1は本発明の実施形態を示す一般的なコンピューターを用いたシステムのブロック構成図である。Central Processing Unit（CPU）101は、主記憶装置102のRead Only Memory（ROM）1021、Random Access Memory（RAM）1022あるいは補助記憶装置105に格納されたプログラムに従ってコンピューター100全体の制御を行う。RAM1022はCPU101が各処理を行う際のワークエリアとしても使用される。補助記憶装置105には、アプリケーション（アプリ）1051やデバイスアプリケーション（デバイスアプリ）1052、プリンタードライバー1053、オペレーティングシステム（OS）1054等の各種プログラムが格納される。
【００１１】
キーボード1031やマウス・タッチパネルなどに代表されるポインティングデバイス1032等の入力機器は、入力インターフェース（Ｉ／Ｆ）103を通してコンピューター100に接続される。これらの入力機器を通してユーザーからのプログラムへの操作を受け付ける。出力Ｉ／Ｆ104には モニター1041等の出力デバイスが接続され、プログラムの指示に従いモニター上にＵＩを表示する。通信Ｉ／Ｆ106はネットワーク1061に接続されており、コンピューター100の外部機器、例えば、図2のコンピューター202やプリンター201との通信が可能である。
【００１２】
上記モジュールは、システムバス107で接続され、各モジュール間でデータのやり取りが可能である。また、本発明の処理が含まれているアプリ1051〜1054は、不図示のCD−ROMやUSBメモリーを介して補助記憶装置105に追加可能である。さらにネットワーク1061を経由して補助記憶装置105に追加することも可能である。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、Localネットワークを介して接続が為され処理が行われるシステムであってもよい。
【００１３】
図2は本発明の実施の形態におけるネットワーク1061の環境を簡略した図である。印刷を行う文書や画像を作成するコンピューター100／202が単体もしくは複数ネットワークに接続されている。さらにプリンター201が単体もしくは複数ネットワークに接続されていることもある。ネットワークにはPersonal Area Network（PAN）、LANなどの小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。なお、クラウドなど、サーバーやプリンターがインターネットを経由して接続されていても構わない。
【００１４】
本実施例では、特にプリンタードライバー1053を取り上げて説明する。本実施例では、特にプリンタードライバー1053を構成するコンフィグモジュール10531、グラフィクスフィルタ10532を取り上げて説明する。
【００１５】
これらのソフトウェアモジュールは、補助記憶装置105からRAM1022にロードされ、CPU101で実行される。アプリ1051は、ワードプロセッサやブラウザー等の一般的なアプリケーションである。モニター1041上にUIを表示し、ポインティングデバイス1032やキーボード1031等の入力機器によってユーザーの印刷要求を受け付ける。ユーザーの印刷要求を受けて、アプリ1051は、OS1054のサブシステムである印刷システム（不図示）へ印刷要求を出す。印刷システムはアプリ1051とプリンタードライバー1053の中間に位置し、印刷処理における共通処理の実行を行う。
【００１６】
具体的な実行処理としては、印刷対象プリンターの選択や選択されたプリンタードライバー1053を用いたPage Description Language（PDL）301への変換を行う。プリンタードライバー1053は、印刷出力先のプリンターに依存する処理を受け持つモジュールである。コンフィグモジュール10531はプリンター能力取得部302、データ保持部303、イベント処理部304で構成される。
【００１７】
プリンター能力取得部302はプリンター201から機器構成情報やユーザーにより設定された情報等の取得を行う。データ保持部303はプリンタードライバー1053で使用するデータを格納する領域を差す。ここでは補助記憶装置105上にあるファイルシステムやレジストリはもちろん揮発性データとして一時的にRAM1022に格納されるものも該当する。イベント処理部304はキーボード1031やマウス1032の操作に関連してOS1054から発生する処理要求に対して、ツールチップ表示などの処理を行う。グラフィクスフィルタ10532はアプリ1051より印刷システム経由でプリンターが一般的に解釈可能な設定情報を含む標準文書データを受け取り、標準文書データ解析部305で解析を行う。
【００１８】
そして、出力データ生成部306を用いてプリンター201で解釈可能なPDL301に変換する。変換したPDL301は、OS1054のサブシステムであるシステムスプーラ10541に受け渡されプリンター201へ送信される。
【００１９】
ここで、まず本実施例を行う背景を説明する。図6はプリンタードライバー1053のUIである印刷設定画面を示す一例であり、本印刷設定画面上から用紙サイズの設定を始めとする印刷に必要な設定を行う。
【００２０】
まず、この印刷設定画面で特に用紙サイズに関連する設定である「原稿サイズ」と「出力用紙サイズ」について説明する。「原稿サイズ」はMicrosoft Wordを始めとするアプリケーションから設定可能な用紙サイズであり、本印刷設定画面ではボタン602を押下し図9の「原稿サイズ設定」ダイアログを呼び出すことで設定を行う。この「原稿サイズ」設定では、コンボボックスの選択肢902のようにプリンターが対応していないA1等の用紙サイズの設定も行うことができる。
【００２１】
一方「出力用紙サイズ」はプリンターが対応している用紙サイズのみ列挙されるコントロールであり、物理的にプリンターから出力される用紙サイズとなる。この「原稿サイズ」と「出力用紙サイズ」のサイズに違いがある場合、原稿サイズが大きければ、印刷結果が用紙から はみ出して切れてしまうし、原稿サイズの方が小さければ、用紙に余白ができてしまう。このため、一般に「原稿サイズ」と違う大きさの「出力用紙サイズ」を指定する場合は、出力用紙に合わせて拡大あるいは縮小して印刷を行う。
【００２２】
この際、ユーザーが手動で異なる「原稿サイズ」と「出力用紙サイズ」の指定を行った場合、ユーザーの意図した結果と言うこともできるが、プリンタードライバー1053の独自の判断で異なる「原稿サイズ」と「出力用紙サイズ」を自動割り当てしてしまうことがある。例えば、「出力用紙サイズ」コンボボックス601に「原稿サイズと同じ」が設定されており、「原稿サイズ」にA1等プリンター非対応の用紙サイズが設定されていた場合、プリンタードライバー1053側でA4等プリンターの対応用紙サイズに丸めて出力する。
【００２３】
本処理は、あくまで一例であるが、このように「出力用紙サイズ」を丸めて印刷することは少なからずユーザーの意図と反することがあるため、プリンタードライバー1053上で何らかの通知を行うことが望ましい。
【００２４】
このため本実施例では、プリンター201から対応用紙等の情報を含んだプリンターの能力情報を取得し、その情報を元に表示の切り替えやツールチップを表示させる処理に関して説明する。詳細には、まず図4にてコントロールのアイコンを表示させる等の切り替え処理に関して述べ、図11で切り替えたコントロールで発生するイベントに応じてツールチップ等の表示を行う処理に関してノベル。また、図12では設定の組み合わせによって通知を行う目的のアイコンの表示、非表示を切り替える処理に関して述べる。
【００２５】
図4はデバイスから情報を取得し、アイコンなどの表示の切り替えを行うと共にコントロールがフォーカスされた際のイベントの登録を行うことでツールチップの表示に対応させ、内容の更新を行わせるフローである。なお、本実施例におけるフローは特に断らない限りプリンタードライバー1053のプリンター能力取得部302上で実行されるものとする。
【００２６】
ステップ401ではプリンターから能力情報の取得を行う。プリンターから取得する情報は、用紙やトナーの残量やデバイスで発生しているエラー、ステープルやパンチのユニットの取り付け状態を始めとする様々な情報が取得可能であるが、本実施例ではプリンター自体の能力に関する情報を取得の対象とする。具体的には図5の対応用紙の情報501のように対応する用紙の一覧が列挙された情報の取得を行う。
【００２７】
ステップ402では用紙の表示に関連したコントロールの取得を行う。ここでは、原稿サイズの設定を行うコンボボックス901の取得を行う。ここでは、コンボボックスを対象としているが、アイコン701やテキストボックス801のように表示の切り替えに対応したコントロールであれば特に種類は問わない。
【００２８】
ステップ403ではステップ402で取得したコントロールの要素のひとつであるコンボボックスの選択肢のひとつの取得を行う。ここでは、コンボボックス901に表示されている「レター」「タブロイド」等の選択肢の中のひとつを取得する。なお、コントロール内に要素を持たないものは、ステップ402にて取得したコントロールそのものを対象としても良い。
【００２９】
ステップ404では表示を切り替える必要があるか、つまりプリンター非対応の用紙であるかどうかを判定する。具体的には取得したコントロールの要素が対応用紙の情報501に存在しているかどうかを判定し、本例だと対応用紙として列挙されていない場合に、非対応用紙として表示の切り替えが必要との判定を返す。
【００３０】
ステップ405では、要素の表示の切り替えを行う。本例では対象のコンボボックスの選択肢にインフォメーションアイコンの表示を行う。また、アイコンの表示以外にも選択肢の文字を太字、斜体のように切り替えたり、テキストや背景色を変更したりと、他の選択肢と違うということが伝わるなら方法は特に問わない。
【００３１】
ステップ406では、要素に関連したイベントの登録を行う。ここでは、要素内にフォーカスが当たった際のツールチップ表示や表示内容の更新を行う。本例では、特にツールチップ内の用紙サイズ情報に続けて「※この用紙はデバイスがサポートしていない用紙です」というメッセージの追加を行いコンボボックスの選択肢1001のツールチップ1002のような表示をさせる。
【００３２】
ステップ407では、コンボボックス内の要素に未処理のものがあるか判定を行い。未処理のものが存在していた場合は、再度ステップ403にてコントロール内の要素の取得へと移行する。そして未処理のものが無くなった段階でフローを終了する。
【００３３】
以上の処理を行うことで、デバイスから情報を取得し、プリンター非対応の用紙に対してアイコンを表示させる等の切り替え処理を行う。
【００３４】
図11はツールチップやバルーンといった情報通知用のコントロールを表示する処理を示すフローである。なお、本実施例におけるフローは特に断らない限りプリンタードライバー1053のイベント処理部304上で実行されるものとする。
【００３５】
ステップ1101では、コントロールに対するOSのイベントを受け付ける。ここでは、マウスがコントロールの上に重なった場合や、キー操作でフォーカスが当たった場合の処理が該当する。
【００３６】
ステップ1102では、イベントが発生した対象のコントロールの取得を行う。例えば、アイコン701やテキストボックス801といったコントロールを取得する。
ステップ1103では、ステップ1102で取得したコントロールに関連した情報の取得を行う。例えば、テキストボックス801では、現在表示の対象となっているA1用紙の名称や用紙のサイズ、「※この用紙はデバイスがサポートしていない用紙です」という表示に必要な情報の取得を行う。
【００３７】
ステップ1104では、ステップ1103で取得した情報を含めてツールチップ802やバルーン702といった情報通知用のコントロールを生成する。ステップ1105では、上記ステップ1104で生成したコントロールを表示させる。
【００３８】
以上の処理を行うことで、バルーンやツールチップ等の表示を行う。なお、本フローでは一例としてバルーンやツールチップ等に関して記載したが、モバイル環境でのトースト表示等、情報を通知するコントロールであれば同様に適用できるものとする。
【００３９】
図12では、設定値等の条件に応じたコントロールの切り替え処理を行うフローである。なお、本実施例におけるフローは特に断らない限りプリンタードライバー1053上で実行されるものとする。本フローの目的は、状況に合わせてアイコン等の表示、非表示を切り替えることで、ユーザーへの通知を効果的に行うことである。例えば、「原稿サイズ」が「A1」で「出力用紙サイズ」が「原稿サイズと同じ」となっている場合、プリンターで「A1」の用紙を出力できない。
【００４０】
このような場合は、プリンタードライバー1053が印刷可能な「A4」用紙等に丸めて出力するという、ユーザーの意図しない結果となる可能性があるため、アイコンを表示して通知した方が良い。対して「出力用紙サイズ」をユーザーが明示的に「A4」等と設定した場合は、ユーザー自身がどの用紙に変換して出力されるか把握した上で設定を行ったと言えるため、アイコンを表示する必要性は低い。このような理由からアイコンの表示、非表示の切り替えを行う。
【００４１】
ステップ1201では、印刷設定画面に対するユーザーの操作の受け付けを行う。例えば、「出力用紙サイズ」のコンボボックス601の操作等が、これにあたる。
【００４２】
ステップ1202では、ステップ1201で操作したコントロールが表示の切り替えに関連するコントロールであるかどうかの判定を行う。例えば、「出力用紙サイズ」のコンボボックス601が操作された場合、用紙サイズに関わる設定であるため、関連するコントロールであると判断され、ステップ1203へと移行する。
【００４３】
ステップ1203では、表示の切り替えとなる対象のコントロールの取得を行う。この場合は、アイコン701の表示を切り替える処理であるため、アイコン701の取得を行う。
【００４４】
ステップ1204では、表示の切り替え対象のコントロールが切り替え条件を満たしているかどうかを判断する。例えば「原稿サイズ」の設定が「A1」と非対応用紙の場合は、表示の切り替えを行うという判断となる。加えて、上記条件の上「出力用紙サイズ」が「原稿用紙と同じ」の場合、つまり、ユーザーが「明示的に「A4」等の変換処理を指定していない」という条件も含めた複数の条件を判断材料としても問題ない。
ステップ1205では対象コントロールの切り替えを行う。本例では、アイコン701を表示させる。
【００４５】
以上の処理を行うことで、設定値等の条件に応じたコントロールの切り替え処理を行う。
【００４６】
［実施例2］
実施例1の処理を行うことで、アイコンなどの表示を切り替える処理を、プリンターの対応用紙の情報を一覧で取得することで行うことができる。しかし、プリンターが必ずしも対応する用紙の一覧を返してくれるとは限らないため、対応用紙の情報以外の情報を用いて判定を行う必要がある。
【００４７】
このため、本実施例では、プリンターから対応する用紙の最大値、最小値を取得することで、機能の実現を行う。
【００４８】
図13はプリンターが対応する用紙の最大値、最小値の情報を元に、用紙が対応しているかどうかを判定するフローである。本処理を図4の用紙にアイコンを付ける等の「表示を切り替えるかどうか」の判定と合わせて（ステップ404の直前、等で）行うことで、対象となっているコンボボックスの要素の表示を切り替えるかどうかの判定とする。なお、本実施例におけるフローは特に断らない限りプリンタードライバー1053上で実行されるものとする。
【００４９】
まず、ステップ1301では、ステップ401でプリンターから取得したプリンターの能力情報から対応する用紙の最大値、最小値情報1401を取得する。本例では、対象とするプリンターの対応する用紙のサイズがマイクロメートル単位で取得されているため、ここでは幅が76.2〜215.9mm、高さが127mm〜355.6mmがプリンターの対応可能な用紙の幅となる。
【００５０】
ステップ1302では、対象となるコントロールが扱う用紙、例えばA3用紙のコンボボックスが対象となっているなら、その幅の値「297mm」と高さの値「420mm」の値を取得する。
【００５１】
ステップ1303では、ステップ1302で取得した用紙の幅のサイズが対応可能な用紙の最大値、最小値の値に収まっているかの判定を行う。先程の例ではA3用紙の幅の値「297mm」はプリンターが対応可能な幅の範囲「76.2〜215.9mm」に収まっていないため、ステップ1306に移行し、プリンター非対応の用紙として表示を切り替える必要があるとの判定を返す。
【００５２】
ステップ1304ではステップ1303と同様に、高さの値が対応可能な用紙の最大値、最小値の値に収まっているかの判定を行い、範囲内であるならステップ1305に移行しプリンターの対応用紙として表示を切り替える必要がないという判定結果を返す。また、ここで高さの値が範囲外と判定された場合はステップ1306に移行し、プリンター非対応の用紙として表示を切り替える必要があるとの判定を返す。
【００５３】
以上の処理を実施例1の処理に加えて行うことで、プリンターが対応する用紙の最大値、最小値の情報を元に、対象となっているコントロールの表示を切り替えるかどうかの判定を行う。
【００５４】
［実施例3］
実施例1、実施例2では、アイコンなどの表示を切り替える処理を、プリンターの対応用紙の情報を一覧で取得することで行っていた。しかし、過去の機種に関してはプリンターが用紙に関連する情報を返してくれず、対応できない可能性もある。
【００５５】
このため、本実施例では、それ以外の部分、具体的にはデバイスの種別によって用紙のサポート状況の判定を行う。
【００５６】
本実施例では、プリンターの能力情報の中から「プリンターがA3、リーガル用紙の対応機かどうか」といったプリンターの種別情報1601を取得することで、判断を行う。なお、例えばプリンターの名称にルール付けがある場合、それを利用して「大型の機器かどうか」を判断の材料としても良いし、予めデバイス名と対応用紙情報をテーブルとして持っておき、それを利用するなどの方法を用いても良い。
【００５７】
図15はプリンターの種別情報に基づき、用紙が対応しているかどうかを判定するフローである。本処理を図4の用紙にアイコンを付ける等の「表示を切り替えるかどうか」の判定と合わせて（ステップ404の直前、等で）行うことで、対象となっているコンボボックスの要素の表示を切り替えるかどうかの判定とする。なお、本実施例におけるフローは特に断らない限りプリンタードライバー1053上で実行されるものとする。
【００５８】
ステップ1501では、プリンターの能力情報の中からプリンターの種別情報1601の取得を行う。本例では「プリンターがA3、リーガル用紙の対応機かどうか」の情報に「true（対応機である）」という結果が取得されているため、A3、リーガル用紙対応機として扱う。
【００５９】
ステップ1502では、ステップ1501で取得した情報を元にプリンターが対応する用紙情報を取得する。例えば本例ではA3に対応しているため、その大きさで通紙可能なB4用紙やA4用紙等を対応用紙とし、A3を超えるサイズのA2、B3用紙は対応していない非対応用紙として扱う。ステップ1503では、対象となるコントロールが扱う用紙の情報、例えばA3用紙である、等の情報を取得する。
【００６０】
ステップ1504では、上記ステップで取得した情報と元に、対象コントロールがプリンターの対応用紙であるかどうかの判定を行う。本例では例えば対象となるコントロールがA3用紙であった場合、ステップ1505に移行しプリンターの対応用紙として表示を切り替える必要がないという判定結果を返す。また、A1用紙等、A3よりも大きい用紙に対応するコントロールであった場合はステップ1506に移行し、プリンター非対応の用紙として表示を切り替える必要があるとの判定を返す。
【００６１】
以上の処理を実施例1の処理に加えて行うことで、プリンターの種別によって、対象となっているコントロールの表示を切り替えるかどうかの判定を行う。
【符号の説明】
【００６２】
101  CPU
102  主記憶装置
105  補助記憶装置
【図１】
2018147217.tif 000003
【図２】
2018147217.tif 000004
【図３】
2018147217.tif 000005
【図４】
2018147217.tif 000006
【図５】
2018147217.tif 000007
【図６】
2018147217.tif 000008
【図７】
2018147217.tif 000009
【図８】
2018147217.tif 000010
【図９】
2018147217.tif 000011
【図１０】
2018147217.tif 000012
【図１１】
2018147217.tif 000013
【図１２】
2018147217.tif 000014
【図１３】
2018147217.tif 000015
【図１４】
2018147217.tif 000016
【図１５】
2018147217.tif 000017
【図１６】
2018147217.tif 000018