(57)【要約】【課題】  プリンタドライバ通信方向の片方向と双方向の切り替え制御を容易に行うことを目的とする。【解決手段】  通信手段がプリンタと通信する際の通信方向の切り替え設定をする通信方向切り替え設定手段、通信方向の切替指示を含むジョブチケットを生成するジョブチケット生成手段、前記通信方向切り替え設定手段により通信方向の切り替えが指示された場合、前記ジョブチケット生成手段は通信方向切り替え指示のジョブチケットを生成し、そのジョブチケットをオペレーティングシステム経由で前記スプール手段に送信する。  また、前記スプール手段は、通信方向切り替え指示のジョブチケットを受信したときに、前記印刷監視手段を一度停止し、前記通信手段を指示のあった通信方向の機能を持つ通信手段に切り替え、その後前記印刷監視手段を再起動することにより、通信方向を切り替える。【選択図】  図１０
2009003532.tif 000002
【特許請求の範囲】
【請求項１】
クライアントコンピュータおよびネットワークプリンタが通信媒体により接続されたシステムにおいて、
前記クライアントコンピュータは、アプリケーションからの印刷命令をプリンタが解釈および描画可能なデータに変換および送信するプリンタドライバを有し、
前記プリンタドライバは、
少なくとも、プリンタと通信を制御するための通信手段、アプリケーション、あるいはオペレーティングシステムからの印刷命令をスプールするスプール手段、前記スプール手段から送信される印刷命令をプリンタが解釈および描画可能なデータに変換する印刷命令変換手段、前記印刷命令変換手段から送信されるデータを受信し前記通信手段に送信し、さらに前記通信手段から送られてきたデータを処理するプリンタ監視手段、印刷属性設定を行うためのユーザI/F手段から構成され、
前記ユーザI/F手段は、
前記通信手段がプリンタと通信する際の通信方向の切り替え設定をする通信方向切り替え設定手段、通信方向の切替指示を含むジョブチケットを生成するジョブチケット生成手段を有し、
前記通信方向切り替え設定手段により通信方向の切り替えが指示された場合、前記ジョブチケット生成手段は通信方向切り替え指示のジョブチケットを生成し、そのジョブチケットをオペレーティングシステム経由で前記スプール手段に送信し、
前記スプール手段は、通信方向切り替え指示のジョブチケットを受信したときに、前記印刷監視手段を一度停止し、前記通信手段を指示のあった通信方向の機能を持つ通信手段に切り替え、その後前記印刷監視手段を再起動することにより、通信方向を切り替えることを特徴とする、
プリンタドライバの通信制御方法。
【請求項２】
請求項1において、前記スプール手段は、印刷方向切り替え指示ジョブチケットを受信した時点で、印刷命令がスプールされていないときにはすぐに通信方向切り替え処理を行い、印刷命令がスプールされているときには、現在処理中の印刷ジョブ終了後、すぐに通信方向切り替え処理を行うことを特徴とする、
プリンタドライバの通信制御方法。
【請求項３】
請求項1において、前記スプール手段は、通信方向切り替え処理が終了したらユーザに通信方向の切り替えが終了した旨のメッセージ表示する手段を有することを特徴とする、
プリンタドライバの通信制御方法。
【請求項４】
請求項1において、通信方向切り替え処理を行う際に、前記スプール手段に印刷ジョブが存在する場合に、前記スプール手段はユーザに印刷ジョブがまだ存在している旨のメッセージを表示する手段を有することを特徴とする、
プリンタドライバの通信制御方法。
【請求項５】
請求項1において、通信方向切り替え処理を行う際に、前記スプール手段に印刷ジョブが存在する場合に、ユーザに対して現在処理中の印刷ジョブが終了したらすぐに切り替え処理を行うか、現在、前記スプール手段に保持されている印刷ジョブがすべて終了した後に切り替え処理を行うかの選択をさせる手段を有し、前記スプール手段は前記選択手段に応じた処理を行うことを特徴とする、
プリンタドライバの通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバの通信制御方法に関するものである。
【背景技術】
【０００２】
従来技術１として、プリンタドライバがプリンタと通信する際、プリンタドライバは双方向および片方向通信の両方に対応できるように作成し、通常の印刷時には片方向の通信を行い、プリンタの状態や構成の取得が必要なときのみ双方向通信を行うという方法がある。また、従来技術２として、プリンタとは常に双方向通信を行い、仮に双方向通信できない場合には印刷を行わない、という方法がある。
【０００３】
また、通信方向の切り替えが可能な場合、特許文献1では、プリンタが片方向通信モードと双方向通信モードを有し、プリンタが片方向通信モードのときにも、クライアントから双方向通信に切り替えることが可能な手段が提案されている。
【０００４】
しかし印刷システムによっては、クライアントコンピュータにプリンタドライバをインストールおよび登録する際に、システムの都合上、片方向通信か双方向通信かを決定し、その通信方向に応じたモジュールをインストールすることが規定されていることがある。
【特許文献１】特開平11-95941号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
背景技術で説明したように、印刷システムによってはプリンタドライバのインストールや登録時に通信方向の決定が規定されているため、プリンタドライバのインストール後や登録後に通信方向を切り替えたい場合、プリンタドライバのインストールあるいは登録をしなおす必要があり手間がかかる、という欠点がある。
【０００６】
これは従来技術１の片方向および双方向の両方をサポートするように作成することができないことによる欠点であるため、従来例である従来技術１では解決できない。また従来技術２ではそもそも双方向のみの通信方向であるため、片方向を行いたい場合の課題は解決できない。
【０００７】
また特許文献1では、通信方向の切り替えについての技術ではあるが、プリンタドライバからの通信方向の切り替え技術であり、プリンタドライバ側が通信方向の切り替えが容易でない場合の具体的な切り替え方法は提案されていない。
【０００８】
そこで、プリンタドライバのインストールや登録時に通信方向を決定する場合に、容易に通信方向の切り替えができることを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、
クライアントコンピュータおよびネットワークプリンタが通信媒体により接続されたシステムにおいて、
前記クライアントコンピュータは、アプリケーションからの印刷命令をプリンタが解釈および描画可能なデータに変換および送信するプリンタドライバを有し、
前記プリンタドライバは、
少なくとも、プリンタと通信を制御するための通信手段、アプリケーション、あるいはオペレーティングシステムからの印刷命令をスプールするスプール手段、前記スプール手段から送信される印刷命令をプリンタが解釈および描画可能なデータに変換する印刷命令変換手段、前記印刷命令変換手段から送信されるデータを受信し前記通信手段に送信し、さらに前記通信手段から送られてきたデータを処理するプリンタ監視手段、印刷属性設定を行うためのユーザI/F手段から構成され、
前記ユーザI/F手段は、
前記通信手段がプリンタと通信する際の通信方向の切り替え設定をする通信方向切り替え設定手段、通信方向の切替指示を含むジョブチケットを生成するジョブチケット生成手段を有し、
前記通信方向切り替え設定手段により通信方向の切り替えが指示された場合、前記ジョブチケット生成手段は通信方向切り替え指示のジョブチケットを生成し、そのジョブチケットをオペレーティングシステム経由で前記スプール手段に送信し、
前記スプール手段は、通信方向切り替え指示のジョブチケットを受信したときに、前記印刷監視手段を一度停止し、前記通信手段を指示のあった通信方向の機能を持つ通信手段に切り替え、その後前記印刷監視手段を再起動することにより、通信方向を切り替えることを特徴とする。
【発明の効果】
【００１０】
本発明によって、プリンタドライバのインストールや登録時に通信方向を決定が規定されているシステムにおいて、通信方向を切り替える際に、プリンタドライバのインストールのしなおしや登録のしなおしをすることなしに、容易に印刷方向の切り替えができる、という効果がある。
【発明を実施するための最良の形態】
【００１１】
（実施例１）
図1〜図12は本発明による第一の実施例を示すものである。
【００１２】
[システム構成]
図1は本発明のシステム図であり、101および102はオペレーティングシステムおよびアプリケーションが搭載されているクライアントコンピュータ、103はネットワークプリンタ、104はクライアントコンピュータ(101,102)とネットワークプリンタ(103)を接続するためのネットワークである。
【００１３】
[プリンタドライバ登録]
次に、図2の流れ図に沿って、クライアントコンピュータ(101,102)にプリンタドライバを登録する手順を説明する。
【００１４】
まずS201においてユーザはプリンタドライバを登録するために、プリンタ登録ユーティリティを起動する。起動後、プリンタ登録ユーティリティは図3に示すプリンタの登録や削除の操作が可能なプリンタリストダイアログを表示する。このダイアログでは、304のプリンタをリストする領域からプリンタを選択して、303のボタンを押下することにより登録済みのプリンタを削除することができる。また、302のボタンを押下することによりまだ登録されていないプリンタを登録することができる。ユーザはプリンタドライバを登録するためにS203において、プリンタリストダイアログ(301)のプリンタ追加ボタン(302)を押下する。この押下により、プリンタ登録ユーティリティは、プリンタドライバを追加するためのダイアログを表示する。図4はプリンタ登録ダイアログの初期画面であり、402はプリンタと通信するためのプロトコルを選択するコントロールである。初期画面ではデフォルトでTCP/IPプロトコルが選択されている状態であるため、そのTCP/IPプロトコルに対応した設定項目がその下に表示されている。この通信プロトコルを通信プロトコル選択コントロール(402)で変更すると、そのプロトコルに対応した設定項目が表示される。現在はTCP/IPプロトコルが選択されているので、プリンタのIPアドレスを入力するプリンタアドレス欄(403)、またスプーラのキュー名を設定するキュー名欄(404)が用意されている。なお、このTCP/IPプロトコルでのプリンタ登録を行うと、プリンタとの通信を行うI/Oモジュール(後述)は片方向通信モジュールとなることとする。
【００１５】
例えば片方向通信ではなく、双方向通信を行いたい場合、別にプロトコルモジュールを作成することも可能となっている。
【００１６】
図5は別のプロトコルモジュールに対応するプリンタ登録ダイアログである。図5は、図4のプロトコル選択コントロール(402)で、”XXX IP”というプロトコルを選択した後の状態を図示している。XXX IPとは、例えば、Canon IPのことである。このプリンタ登録ダイアログ(501)において、プリンタのアドレス(503)およびキュー名(504)は図4と同様である。505の片方向通信コントロールはこの通信プロトコルでプリンタドライバを登録したときに双方向通信で登録するか片方向通信で登録するかを設定するものであり、チェックをつけた場合、片方向の通信モジュールが登録されることになる。
【００１７】
続いてユーザは、S205〜S207の手順で図4あるいは図5により、所望の設定を行う。さらにS208においてユーザは追加ボタン(405あるいは506)あるいはキャンセルボタン(406あるいは507)を押下する。ユーザがOKボタンを押下した場合には、S209のステップでユーザが正しいプリンタ情報を入力したか確認をし、正しければ登録、間違っていればエラーメッセージを表示して終了する。
【００１８】
以上説明したように、図4あるいは図5により、ユーザは、TCP/IPプロトコルの片方向通信登録、あるいは、XXX IPプロトコルの双方向通信登録、あるいはXXX IPプロトコルの片方向通信登録が可能となる。しかし、これらのうちのいずれかで登録したあと、通信方向を変更したい場合には、登録したプリンタドライバを削除して、再度所望の通信方向で登録しなおす必要がある。
【００１９】
[プリンタドライバモジュール構成]
次に、図4あるいは図5によりブリタンドライバを登録した後の、インストールされたプリンタドライバのモジュール構成を説明する。
【００２０】
図6はプリンタドライバインストール後のプリンタドライバを含むシステム上のモジュール構成を示したものである。図6において、601はアプリケーション、602はオペレーティングシステム、607の一連のモジュールがプリンタドライバを構成するモジュール群であり、603はオペレーティングシステム(602)から渡されるアプリケーションからの印刷データをスプールするスプーラ、604はスプーラから送信される印刷データをプリンタが解釈、描画可能なデータに変換するレンダラ、605はレンダラから送信されるデータをI/Oモジュールに渡すことや、I/Oモジュールから渡されるデータを処理する、サービスとして動作しているプリンタデーモン、606はプリンタとの通信をつかさどるI/Oモジュールである。
【００２１】
図4あるいは図5のプリンタドライバ登録において、片方向通信を指定した場合には、I/Oモジュール(606)は片方向通信専用のモジュールが登録される。また、図5のプリンタドライバ登録において、双方向通信を指定した場合には、I/Oモジュール(606)は双方向通信専用のモジュールが登録される。
【００２２】
[印刷方向の切り替え方法]
次に、ユーザが登録済みのプリンタドライバの通信方向を切り替えたいときの操作を図9および図10の流れ図に沿って説明する。
【００２３】
まず、S901のステップにおいて、ユーザはプリンタドライバのUIを開く。図7はプリンタドライバのUIを開いたときの状態を示したものであり、702は現在選択されているプリンタを示し、必要があれば別のプリンタドライバを選択することが可能なコントロール、703は設定のグループを選択するものであり、図7では「印刷部数と印刷ページ」のグループが選択されており、その下にこのグループに属する印刷属性を設定するためのコントロールが表示されている。なお、このグループには、他にはコレート設定やステープル設定などを行う「仕上げ」グループ、色処理設定などを行う「カラー」グループなどがあるが、本発明の本質ではないので説明は割愛する。印刷設定グループが「印刷部数と印刷ページ」の場合、704の印刷部数を設定するコントロールおよび705の印刷範囲を設定するコントロールが表示されている。ユーザがこの設定で印刷を実行したい場合には、706のプリントボタンを押下すればよい。キャンセルする場合には707のキャンセルボタンを押下する。
【００２４】
ここでユーザは、現在のプリンタドライバは双方向通信で、これを片方向通信に切り替えたい場合を考える。
【００２５】
ユーザはS903において、プリンタドライバUIの印刷グループの選択(703)において、「通信設定」グループを選択する。図8は印刷設定グループが選択されたときのプリンタドライバUIを示したものである。通信設定グループが選択されたとき、プリンタドライバUIには双方向か片方向を指定するコントロール(804)とその設定を実行するための設定ボタン(805)が表示される。現在、双方向通信に設定されているため、プリンタドライバUI(801)の通信設定コントロール(804)では双方向が設定されている。ユーザは片方向にしたいため、片方向コントロールを押下する。
【００２６】
次にユーザはS904において、この設定を実行するために、設定ボタン(805)を押下する。
【００２７】
続いてプリンタドライバUIは現在の設定が変更されるかどうかをS905において判定する。現在双方向通信で、上述の手続きでユーザは片方向に変更したため、設定が変更される、と判断して、S906に進む。なお、ユーザが現在の設定と同じ通信方向を選択して設定ボタン(805)を押下した場合にはプリンタドライバUIは実際には何もしないで終了する。
【００２８】
S906にステップにおいて、プリンタドライバUIはI/Oモジュール(606)をユーザの指定した通信方向のI/Oモジュールに切り替え指示をするためのジョブチケットを生成する。図11はプリンタドライバUIが生成したジョブチケットの流れを説明するものである。プリンタドライバUIが生成したジョブチケットは、オペレーティングシステム(1102)を通してスプーラ(1103)に送信される。このジョブチケットはスプーラによって解釈され、必要な処理が実行されることになる。
【００２９】
図12は通信方向を切り替えるためのジョブチケットの一例である。このジョブチケットはXML(Extensible Markup Language)フォーマットで記述されているが、スプーラが解釈できるフォーマットであれば、そのフォーマットの種類は問わない。このジョブチケットはXMLフォーマットであるため、1201のXMLフォーマットであることを示す記述、1202のXMLフォーマットのタグを定義する情報、1203〜1208の情報から構成されている。1203と1208、および1204と1207は対で記述され、この中に情報が記載されていることを示している。1205と1206が書かれている情報で、1205はキー名がCommDirectionSettingという名前で、これは通信方向の切り替えを指示するチケットであることを示している。また、1206はCommDirectionSettingキーに対応する値で、UniDirectionという文字列で表現されており、これは片方向に切り替え指示することを示している。なお、双方向に切り替える場合は、BiDirectionという値が記述されることになる。
【００３０】
次にS907において、S906で生成したジョブチケットをオペレーティングシステム経由でスプーラ(1103)に送信する。
【００３１】
以上でプリンタドライバUIの処理の流れは終了である。続いて、スプーラ(1103)の処理を図10の流れ図に沿って説明する。
【００３２】
S1001において、クライアントコンピュータの電源投入時、そのシステムに登録されているプリンタドライバのスプーラが起動される。
【００３３】
スプーラ(1103)が起動すると、S1002のステップにおいて、印刷ジョブの投入監視が開始される。印刷ジョブが投入されるまで、このステップを繰り返す。
【００３４】
次に印刷ジョブが投入されると、S1003のステップに進む。このステップでは、スプーラは、投入された印刷ジョブのジョブチケットの中に、”CommDirectionSetting”キーがあるかを検索する。ジョブチケットに”CommDirectionSetting”キーがない場合には通常の印刷ジョブとしてS1005のステップで印刷処理を行う。S1004の判定ステップにおいて、”CommDirectionSetting”キーが見つかった場合、スプーラはI/Oモジュールの入換えを行う。なお、プリンタデーモン(1105)はI/Oモジュールを管理しており、プリンタデーモンはサービスとして常に起動しているため、このままの状態ではI/Oモジュールの入換えを行うことはできない。そこで、S1006のステップにおいて、1108に示すように、スプーラ(1103)はプリンタデーモン(1105)のサービスを停止する。続いてS1007において、スプーラ(1103)は”CommDirectionSetting”キーの値を取り出す。ジョブチケット(図12)において、”CommDirectionSetting”キーの値は”UniDirection”であるため、S1008の判定において、S1010に進む。なお、値が”BiDirection”の場合は、S1009のステップに進む。S1010のステップにおいて、スプーラ(1103)は現在のI/Oモジュール登録を削除し、片方向のI/Oモジュールを登録する。最後にS1011において、スプーラ(1103)はプリンタデーモン(1105)を再スタートする。
【００３５】
以上の手順により、プリンタドライバが登録されている状態のまま、通信方向の切替が容易に可能となる。また、プリンタドライバが印刷ジョブを処理中であっても、通信方向の切り替えジョブチケットは印刷ジョブの待ち行列の中で順番に処理されるため、印刷ジョブの状態を気にすることなく、通信方向の切り替えが可能となる。
【００３６】
（実施例２）
図1〜図13は本発明による第二の実施例を示すものである。
【００３７】
図1〜図12は実施例1と同様であるため説明を割愛する。図13は実施例で説明したようにユーザがプリンタドライバUIで通信方向の切り替え指示をする代わりに、ユーティリティを用いて通信方向の切り替えを行うものである。このユーティリティはプリンタドライバUI(801)と同様のUIを提供することにより、ユーザが切り替え指示を行うことが可能で、ユーザの切り替え指示があった場合、プリンタドライバUIと同様のジョブチケット(図12)を生成してオペレーティングシステムを通してスプーラ(1103)に送信することにより実行する。
【００３８】
以上の手順により、ユーティリティを使用して通信方向を切り替える場合であっても、プリンタドライバが登録されている状態のまま、通信方向の切替が容易に可能となる。また、プリンタドライバが印刷ジョブを処理中であっても、通信方向の切り替えジョブチケットは印刷ジョブの待ち行列の中で順番に処理されるため、印刷ジョブの状態を気にすることなく、通信方向の切り替えが可能となる。
【図面の簡単な説明】
【００３９】
【図１】システム構成
【図２】プリンタ登録の流れ図
【図３】プリンタリストダイアログ
【図４】プリンタ登録ダイアログ
【図５】プリンタ登録ダイアログ
【図６】システムモジュール構成
【図７】プリンタドライバUI
【図８】プリンタドライバUI
【図９】プリンタドライバUIの処理流れ図
【図１０】スプーラの処理流れ図
【図１１】実施例1のシステムモジュール構成
【図１２】ジョブチケット
【図１３】実施例2のシステムモジュール構成
【図１】
2009003532.tif 000003
【図２】
2009003532.tif 000004
【図３】
2009003532.tif 000005
【図４】
2009003532.tif 000006
【図５】
2009003532.tif 000007
【図６】
2009003532.tif 000008
【図７】
2009003532.tif 000009
【図８】
2009003532.tif 000010
【図９】
2009003532.tif 000011
【図１０】
2009003532.tif 000012
【図１１】
2009003532.tif 000013
【図１２】
2009003532.tif 000014
【図１３】
2009003532.tif 000015