(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-18
(45)【発行日】2024-01-26
(54)【発明の名称】プログラム、及び情報処理装置
(51)【国際特許分類】
G06F 3/12 20060101AFI20240119BHJP
【FI】
G06F3/12 324
G06F3/12 303
G06F3/12 328
(21)【出願番号】P 2020015179
(22)【出願日】2020-01-31
【審査請求日】2023-01-12
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】高橋 洸一
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2019-175313(JP,A)
【文献】特開2012-221396(JP,A)
【文献】特開2011-076225(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J29/00-29/70
(57)【特許請求の範囲】
【請求項1】
情報処理装置内で動作可能な印刷制御ソフトウェアのプログラムであって、
前記情報処理装置のコンピュータに、
前記印刷制御ソフトウェアに登録された印刷キューの識別情報を、第1識別情報から第2識別情報に変更するステップと、
前記印刷制御ソフトウェアの前記印刷キューの識別情報が前記第2識別情報に変更された場合に、前記印刷キューに関連した、OS標準印刷ソフトウェアと通信する仮想プリンタとして、前記第2識別情報が設定された仮想プリンタを登録するステップと、
前記第2識別情報が設定された印刷キューを、前記OS標準印刷ソフトウェアに登録させるための処理を実行するステップと、
を実行させるプログラム。
【請求項2】
前記印刷制御ソフトウェアに登録された前記印刷キューの識別情報が前記第2識別情報に変更された場合、前記第1識別情報が設定された仮想プリンタを削除した後、前記第2識別情報が設定された前記仮想プリンタを新たに登録することを特徴とする請求項1に記載のプログラム。
【請求項3】
前記印刷制御ソフトウェアに登録された前記印刷キューの識別情報が前記第2識別情報に変更された場合、前記OS標準印刷ソフトウェアに登録された前記第1識別情報が設定された印刷キューを削除させるための処理を実行した後、前記第2識別情報が設定された前記仮想プリンタの印刷キューを登録させるための処理を実行することを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
前記コンピュータに、
前記第2識別情報が設定された前記仮想プリンタが登録される場合、前記情報処理装置が属するネットワーク上にすでに前記第2識別情報と同じ識別情報が付与されたデバイスが属しているか判定する判定ステップをさらに実行させることを特徴とする請求項1から3のいずれか1項に記載のプログラム。
【請求項5】
前記ネットワーク上にすでに前記第2識別情報と同じ識別情報が付与されたデバイスが属していると判定された場合、前記印刷制御ソフトウェアに登録された印刷キューの識別情報を変更可能な入力アイテムを表示させることを特徴とする請求項4に記載のプログラム。
【請求項6】
情報処理装置内で動作可能な印刷制御ソフトウェアのプログラムであって、
前記情報処理装置のコンピュータに、
OS標準印刷ソフトウェアに登録された印刷キューの識別情報が、第1識別情報から第2識別情報に変更されたことを検知するステップと、
前記検知に基づいて、前記印刷制御ソフトウェアに登録された印刷キューの識別情報を、前記第1識別情報から第2識別情報に変更するステップと、
前記印刷制御ソフトウェアの前記印刷キューの識別情報が前記第2識別情報に変更された場合に、前記印刷キューに関連した、前記OS標準印刷ソフトウェアと通信する仮想プリンタとして、前記第2識別情報が設定された仮想プリンタを登録するステップと、
を実行させるプログラム。
【請求項7】
前記印刷制御ソフトウェアに登録された前記印刷キューの識別情報が前記第2識別情報に変更された場合、前記第1識別情報が設定された仮想プリンタを削除した後、前記第2識別情報が設定された前記仮想プリンタを新たに登録することを特徴とする請求項6に記載のプログラム。
【請求項8】
前記印刷制御ソフトウェアに登録された前記印刷キューの識別情報が前記第2識別情報に変更された場合、前記OS標準印刷ソフトウェアに登録された前記第1識別情報が設定された印刷キューを削除させるための処理を実行した後、前記第2識別情報が設定された前記仮想プリンタの印刷キューを登録させるための処理を実行することを特徴とする請求項6又は7に記載のプログラム。
【請求項9】
前記コンピュータに、
前記第2識別情報が設定された前記仮想プリンタが登録された場合、前記情報処理装置が属するネットワーク上にすでに前記第2識別情報と同じ識別情報が付与されたデバイスが属しているか判定する判定ステップをさらに実行させることを特徴とする請求項6から
8のいずれか1項に記載のプログラム。
【請求項10】
前記ネットワーク上にすでに前記第2識別情報と同じ識別情報が付与されたデバイスが属していると判定された場合、前記印刷制御ソフトウェアに登録された印刷キューの識別情報を変更可能な入力アイテムを表示させることを特徴とする請求項9に記載のプログラム。
【請求項11】
印刷制御ソフトウェアに登録された印刷キューの識別情報を、第1識別情報から第2識別情報に変更する変更手段と、
前記印刷制御ソフトウェアの前記印刷キューの識別情報が前記第2識別情報に変更された場合に、前記印刷キューに関連した、OS標準印刷ソフトウェアと通信する仮想プリンタとして、前記第2識別情報が設定された仮想プリンタを登録する登録手段と、
前記第2識別情報が設定された印刷キューを、前記OS標準印刷ソフトウェアに登録させるための処理を実行する処理手段と、
を備える情報処理装置。
【請求項12】
OS標準印刷ソフトウェアに登録された印刷キューの識別情報が、第1識別情報から第2識別情報に変更されたことを検知する検知手段と、
前記検知に基づいて、印刷制御ソフトウェアに登録された印刷キューの識別情報を、前記第1識別情報から第2識別情報に変更する変更手段と、
前記印刷制御ソフトウェアの前記印刷キューの識別情報が前記第2識別情報に変更された場合に、前記印刷キューに関連した、前記OS標準印刷ソフトウェアと通信する仮想プリンタとして、前記第2識別情報が設定された仮想プリンタを登録する登録手段と、
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム及び情報処理装置に関する。
【背景技術】
【0002】
プリンタベンダーの提供するプリンタ固有のソフトウェア(以下、固有プリンタドライバと称す)を必要とせずに、オペレーティングシステム(以下、OSと称す)が標準的な印刷機能(以下、OS標準印刷機能と称す)を提供する技術がある(特許文献1参照)。OSは、プリンタから取得する情報に基づき、そのプリンタがOS標準印刷機能に対応しているか(サポートしているか)判断し、対応していればOS標準印刷機能が生成した印刷データをプリンタに送信する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、プリンタによってはOS標準印刷機能に対応しておらず、OS標準印刷機能により生成された印刷データを解釈できない場合がある。また、プリンタがOS標準印刷機能に対応していたとしても、OS標準印刷機能よりも詳細な印刷設定に基づく印刷を行わせたい場合がある。
【0005】
そこで本発明の一態様は、OS標準印刷機能を用いて、適切な印刷指示を可能とするための技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のプログラムは、情報処理装置内で動作可能な印刷制御ソフトウェアのプログラムであって、前記情報処理装置のコンピュータに、前記印刷制御ソフトウェアに登録された印刷キューの識別情報を、第1識別情報から第2識別情報に変更するステップと、前記印刷制御ソフトウェアの前記印刷キューの識別情報が前記第2識別情報に変更された場合に、前記印刷キューに関連した、OS標準印刷ソフトウェアをサポートする仮想プリンタとして、前記第2識別情報が設定された仮想プリンタを登録するステップと、前記第2識別情報が設定された前記仮想プリンタの印刷キューを、前記OS標準印刷ソフトウェアに登録させるための処理を実行するステップと、を備える。
【発明の効果】
【0007】
本発明により、OS標準印刷機能を用いて適切な印刷指示を可能とするための技術が提供される。
【図面の簡単な説明】
【0008】
【
図2】印刷変換ユーティリティが表示するプリンタリスト画面、プリンタ登録画面、プリンタ設定画面の例。
【
図3】OS印刷システムが表示するプリンタリスト画面、プリンタ登録画面の例。
【
図4】OS印刷システムが表示する印刷設定画面の例。
【
図5】印刷変換ユーティリティが行う印刷キュー再登録処理のフローチャート。
【
図6】印刷変換ユーティリティが行う印刷キュー再登録処理のフローチャート。
【
図8】印刷変換ユーティリティが行う印刷キュー再登録処理のフローチャート。
【発明を実施するための形態】
【0009】
以下、添付画像を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0010】
<実施形態1>
図1は本実施形態の印刷システムの全体構成を示す図である。PC01は、プリンタ30、プリンタ40、プリンタ50のそれぞれと、ネットワーク20を介して接続され、相互に通信可能である。本実施形態ではネットワークとしてLAN(Local Area Network)を想定しているが、WAN(Wide Area Network)であっても構わない。また、ネットワークの接続形態として有線無線を問わず、これらが混在していても構わない。PC01はネットワーク20を介して接続されたプリンタ30、プリンタ40、プリンタ50の制御を行う。
【0011】
<ハードウェア構成>
ここで、本実施形態に係るシステムのハードウェア構成について、
図9のブロック図を参照して説明する。
図9は、PC01であるホストコンピュータとプリンタ30とが、通信可能な印刷システムの例である。なお、
図9はプリンタ30のハードウェア構成を示しているが、プリンタ40とプリンタ50も同様のハードウェア構成を備える。
【0012】
PC01は情報処理装置の一例である。PC01は、例えばパーソナルコンピュータ(PC)であり、インターフェース(I/F)部207と、CPU201、ROM202、RAM203、表示部204、入力部205、外部記憶装置206を有する。本実施形態のPC01は、デスクトップ型PCに限らず、ノート型PC、タブレット型PC、スマートフォンでもよい。
【0013】
PC01は、プリンタ30へ、プリンタ30を制御するための指示、印刷データ、設定コマンド等を送信する。CPU201は、PC01の各部を制御する中央演算装置であり、OSや後述の印刷変換ユーティリティ07などの制御プログラムを実行する。ROM202は記憶されたOSによりそのシステム動作を制御する。RAM203は、CPU201による作業領域が展開されるランダムアクセスメモリである。外部記憶装置206は、アプリケーションや印刷変換ユーティリティ-07などの各種制御プログラムを格納している。
【0014】
入力部205は、PC01を操作するためのキーボード及びマウス等の入力デバイスである。表示部204は、入力部205から入力された情報を確認するための表示、或いは、OSやアプリケーションのユーザインタフェース画面の表示、メッセージの表示などを行う表示デバイスである。I/F部207は、プリンタ30とのデータの送受信を行う通信モジュールである。
【0015】
印刷装置であるプリンタ30は、例えばインクジェットプリンタである。プリンタ30は、I/F部215と、CPU211、ROM212、RAM213、プリントエンジン214を有する。CPU211は以下の各部を制御する中央演算処理装置である。ROM212は読み出し専用メモリであり、プリントエンジン214を制御するプログラムを格納している。RAM213は随時書き込み読み出しメモリであり、プリントエンジン214の動作に必要なプログラム、PC01から受信した設定値などを一時記憶する。
【0016】
プリントエンジン214は、PC01から送られたプリントデータに基づいて記録媒体にプリントする。I/F部215は、PC01からプリントデータを受信する通信モジュールであり、プリンタ30からPC01にプリンタ30の現在のステータス情報を送信する機能などを有する。ここでいうステータス情報とは、I/F部215を介して接続されているPC01からの要求に応じて、プリンタ30が返却する事の出来る、プリンタ30の状態を表すステータスデータの事である。ステータスデータとは、「印刷中」「待機状態」などのプリンタ30の動作の状態や、「用紙切れ」「カバーが開いている」「インク残量無し」などのプリンタ30のエラーの状態を知らせるための情報である。
【0017】
<PC01のソフトウェア構成>
図1に戻ってPC01のソフトウェア構成を説明する。PC01である情報処理装置内には、描画アプリケーション02、OS印刷システム03、ネットワーク(NW)通信制御部06、印刷変換ユーティリティ07が動作可能に搭載されている。なお、
図1には示していないが、PC01にはOSが組み込まれ、PC01の資源、たとえばPC01内の各ブロックはOSにより管理されている。本実施形態ではPC01に組み込まれているOSとしてmacOS(登録商標)を想定している。
【0018】
描画アプリケーション02は、ユーザ指示に基づき、描画データを生成するソフトウェアである。ここでいうアプリケーションはOS上で動作可能なソフトウェアである。描画アプリケーション02としては、例えば、文書作成用のワープロソフトや画像編集ソフト、年賀状作成ソフトなどが挙げられる。描画アプリケーションにより生成される描画データは、例えば、PDF(Portable Document Format)形式のデータである。
【0019】
描画アプリケーション02は、印刷要求が行われた場合、OS印刷システム03に対して生成した描画データを出力する。印刷要求が行われると、OS印刷システム03は、取得した描画データと印刷設定に関する情報とに基づき印刷ジョブを生成する。生成された印刷ジョブは、OS標準印刷機能の印刷キュー05に投入される。なお、印刷設定については、OS印刷システム03が提供する設定画面(
図4にて後述する)において、あらかじめユーザにより入力可能となっている。印刷設定に関する情報には、用紙サイズや用紙種類、どのプリントキューにおいて印刷を行うか、などの情報が含まれる。OS印刷システム03はPC01に接続されているプリンタごとに描画アプリケーション02からの印刷要求をジョブとして順次処理する。
【0020】
OS印刷システム03は、印刷データ生成に必要な標準的な機能(OS標準印刷機能)を備えるOS標準印刷ソフトウェアである。OS印刷システム03は、描画アプリケーション02が生成した描画データをスプール処理し、OS標準印刷機能に則った所定の形式(以下、「標準形式」とも呼ぶ)の印刷データを生成する。OS標準印刷機能に対応している(サポートしている)プリンタは、標準形式の印刷データを解釈することが可能である。よって、OS印刷システム03はNW通信制御部06を介して生成した印刷データをOS標準印刷機能に対応しているプリンタに送信する。
【0021】
また、OS印刷システム03は、プリンタがOS印刷システム03をサポートしているかを判定するため、NW通信制御部06を介してプリンタの機種情報を取得する。なお、サポート判定のために取得する情報は、プリンタの機種情報に限らず、プリンタの能力情報等でもよい。OS印刷システム03における様々な処理は、OS印刷システム03内のOS標準印刷制御部04の制御により行なわれる。
【0022】
印刷変換ユーティリティ07は、OS標準印刷機能に対応していない(サポートしていない)プリンタに対して、OS標準印刷機能を用いて、印刷指示可能とするための印刷制御ソフトウェアであり、必要に応じてPC01にインストールされる。印刷変換ユーティリティ07は、標準形式の印刷データをプリンタベンダー固有の形式の印刷データに変換する機能を持つ。以降の説明ではこの機能をベンダードライバ08と呼ぶが、ベンダードライバ08の機能は、従来の固有プリンタドライバと必ずしも同等の機能でなくてもよく、少なくともプリンタベンダー固有の形式の印刷データに変換する機能を有していればよい。OS標準印刷機能に対応していないプリンタに対しては、印刷変換ユーティリティ07がベンダー固有の形式の印刷データに変換した後、NW通信制御部06を介して変換後の印刷データが送信される。
【0023】
OS標準印刷機能をサポートしていないプリンタの場合、OS印刷システム03が生成した標準形式の印刷データを受信しても解釈できない。よって、本実施形態では、印刷変換ユーティリティ07が、標準形式の印刷データを、プリンタが解釈可能なプリンタベンダー固有の形式の印刷データに変換処理する。これにより、OS標準印刷機能に対応していないプリンタに対しても、OS印刷システム03の標準機能を使って印刷を行わせることできるようになる。
【0024】
具体的には、OS印刷システム03は、OS標準印刷機能をサポートしていないプリンタの印刷ジョブの場合、生成した標準形式の印刷データを、印刷変換ユーティリティ07が起動した仮想プリンタ10に送信する。仮想プリンタ10はNW通信制御部を介してOS標準印刷機能対応プリンタとして振る舞い、OS標準印刷機能の印刷ジョブを受けることができる。つまり、OS印刷システム03は、仮想プリンタ10を、OS標準印刷機能をサポートしているプリンタとみなして、この仮想プリンタ10に印刷ジョブを出力する。印刷変換ユーティリティ07は、仮想プリンタ10が受信した標準形式の印刷データをベンダー固有の形式の印刷データに変換して、NW通信制御部06を介してプリンタに送信する。なお、本実施形態では、仮想プリンタ10は、OS印刷システム03と同一のPC内に存在しているが、別のサーバやPCに存在していても良い。
【0025】
なお、プリンタがOS印刷システム03をサポートしている場合(つまり、標準形式の印刷データを解釈可能な場合)であっても、印刷変換ユーティリティが対応しているプリンタに対する印刷指示であれば、印刷変換ユーティリティ07を使用してもよい。印刷変換ユーティリティ07を使用することにより、より多くの機能を提供できるようになる。例えば、OS印刷システム03が提供するOS標準機能の場合、カラーマッチング処理や色味や明るさの調整等の詳細な印刷品質の設定には対応していない。つまり、OS標準印刷機能には制限がある。そこで、印刷変換ユーティリティ07を使用することにより、プリンタベンダー固有のプリンタドライバと同等の機能を提供することができるようになる。
【0026】
ここで、印刷変換ユーティリティ07を描画アプリケーション02から使用するためには、描画アプリケーション02からの印刷要求を受けるためのOS印刷システム内の印刷キュー05と、印刷変換ユーティリティ07内の印刷キュー09の両方を登録する必要がある。なお、印刷変換ユーティリティ07内の印刷キュー09は、仮想プリンタ10から出力された印刷データを制御するためのキューである。両方の印刷キューが登録されていないと、描画アプリケーション02から印刷変換ユーティリティ07を使用して印刷データを変換することができない。なお、印刷変換ユーティリティ07の印刷キュー09の登録が行なわれることにより、印刷変換ユーティリティ07は仮想プリンタ10を起動する。その後、印刷変換ユーティリティ07は、仮想プリンタ10を指定してOS印刷システム03内に印刷キュー05を自動的に登録させる。
【0027】
なお、印刷変換ユーティリティ07の印刷キュー09は、ユーザごとの記憶領域に保存される。つまり、ユーザA用の印刷変換ユーティリティ07の印刷キュー09と、ユーザB用の印刷変換ユーティリティ07の印刷キュー09とは互いに異なる記憶領域に登録される。一方、OS印刷システム03の印刷キュー05は、システム内の共通領域に保存される。つまり、OS印刷システムの印刷キューはユーザAとユーザBとで共通して使用する。なお、以降の説明において、OS印刷システムの印刷キューを、OS標準印刷機能の印刷キューと表現することもある。
【0028】
<プリンタのソフトウェア構成>
プリンタ30、プリンタ40、プリンタ50はそれぞれ、NW通信制御部31、印刷制御部32、印刷部33を備える。印刷制御部32は、NW通信制御部31を介してPC01から印刷データを受信し、印刷データに基づき印刷部33を制御して印刷を実行する。本実施形態では、プリンタ30とプリンタ40がOS標準印刷機能に対応しておらず、プリンタ50がOS標準印刷機能に対応しているものとする。なお、プリンタとしては、インクジェット方式の印刷装置でもよく、電子写真方式の印刷装置でもよい。
【0029】
<印刷変換ユーティリティへの印刷キューの登録>
次に、印刷変換ユーティリティ07の印刷キュー09の登録の流れを説明するため、PC01に表示される画面遷移を説明する。
【0030】
図2は、印刷変換ユーティリティ07が提供するプリンタリスト画面60を示す。プリンタリスト画面60には、印刷変換ユーティリティ07に登録されているプリンタの名称61と、プリンタを設定するための「設定」ボタン62、プリンタを登録するための「追加」ボタン63とプリンタを削除するための「削除」ボタン64が含まれる。ここでは、プリンタの名称61に、「プリンタ30(印刷変換ユーティリティ)」と記載されており、プリンタ30の印刷キューが、印刷変換ユーティリティにすでに登録されている様子を示す。なお、「プリンタ30」の後ろに付加されている「(印刷変換ユーティリティ)」は、印刷変換ユーティリティ07を介して、プリンタ30がOS標準印刷機能に対応していることを示す。
【0031】
プリンタリスト画面60の「設定」ボタン62が押下されると、印刷変換ユーティリティ07はプリンタ設定画面70を開く。プリンタ設定画面70は、プリンタ名称編集フィールド71、プリンタ設置場所編集フィールド72、「キャンセル」ボタン73、「OK」ボタン74を備える。印刷変換ユーティリティ07は、プリンタ名称編集フィールド71とプリンタ設置場所編集フィールド72には現在印刷変換ユーティリティ07に登録されている印刷キュー09の名称情報と、プリンタの設置場所情報を表示する。このプリンタ設定画面70において、ユーザはプリンタ名称編集フィールド71とプリンタ設置場所編集フィールド72に表示されている内容を編集することができる。ユーザが「OK」ボタンを押下すると印刷変換ユーティリティ07はプリンタ名称編集フィールド71とプリンタ設置場所編集フィールド72の内容で印刷変換ユーティリティの印刷キュー09の設定情報を更新する。「キャンセル」ボタンを押下すると、プリンタ設定画面70を閉じる。
【0032】
プリンタリスト画面60の「追加」ボタン63が押下されると、印刷変換ユーティリティ07はプリンタ登録画面80を開く。プリンタ登録画面80は、プリンタリスト81を備える。プリンタリスト81は、PC01に接続されており、尚且つOS標準機能に対応していないすべてのプリンタが表示される。ここでは、OS標準印刷機能に対応していないプリンタである、プリンタ30とプリンタ40が表示されている。プリンタリスト81においてプリンタが選択されると、選択プリンタの名称が、プリンタ名称テキストフィールド82に表示され、選択プリンタの設置場所がプリンタ設置場所テキストフィールドに表示される。ユーザが「登録」ボタン85を押下すると、プリンタリスト81において現在選択されているプリンタの印刷キュー09が、プリンタ名称テキストフィールド82とプリンタ設置場所テキストフィールドに入力されている内容で印刷変換ユーティリティ07に新たに登録される。
【0033】
印刷変換ユーティリティ07にプリンタの印刷キューが登録されると、登録されたプリンタに関する情報をもとに、印刷変換ユーティリティ07が内部で生成したOS標準印刷機能への対応情報を付加して仮想プリンタ10を起動する。具体的には、印刷変換ユーティリティ07は、プリンタに関する情報(モデル名、プリンタの名称、プリンタの設置場所情報)と対応情報(UUID、能力情報)に基づいて、仮想プリンタ10を起動する。これにより、印刷変換ユーティリティ07は、登録された印刷キュー09と紐づき、登録された印刷キュー09の名称(識別情報)と同じ名称が設定された仮想プリンタ10を新たに登録する。そして、仮想プリンタ10がOS印刷システム03に応答するようになる。なお、登録の際、印刷変換ユーティリティ07の印刷キュー09の名称および仮想プリンタ10の名称には「印刷変換ユーティリティ」の文言を付加する。印刷変換ユーティリティ07に印刷キュー09が登録され、その印刷キュー09に関連する仮想プリンタ10が起動すると、OS印刷システム03に応答している情報に基づいて、印刷変換ユーティリティ07はOS標準印刷機能の印刷キュー05の登録コマンドを実行する。この処理により、OS印刷システム03の画面でのユーザ操作を介さずに、OS印刷システムにも印刷キュー05が自動登録される。
【0034】
プリンタリスト画面60において、「削除」ボタン64が押下されると、印刷変換ユーティリティ07は、選択されているプリンタの印刷変換ユーティリティの印刷キュー09を削除する。また、その削除対象の印刷キュー09に紐づいている仮想プリンタ10を停止する。つまり、削除対象の印刷キュー09に関連している仮想プリンタ10を削除する。さらに、印刷変換ユーティリティ07は、OS標準印刷機能の印刷キュー05に対して、削除コマンドを実行することにより、OS標準印刷機能の印刷キュー05の削除を行わせる。なお、OS標準印刷の印刷キュー05の登録、削除においては、後述するOS印刷システム03から手動で行うこともできる。
【0035】
<OS印刷システムへの印刷キューの登録>
次に、OS印刷システム03の印刷キュー05の登録の流れを説明するため、PC01に表示される画面遷移を説明する。
図3はOS印刷システム03が提供するプリンタリスト画面90を示す図である。プリンタリスト画面90には、印刷時に選択可能な全てのプリンタを表示する印刷可能プリンタリスト91を備える。ユーザが印刷可能プリンタリスト91の中のプリンタを選択して「設定」ボタン92を押下すると、OS印刷システム03はプリンタ設定画面100を表示する。
【0036】
プリンタ設定画面100はプリンタ名称編集フィールド101とプリンタ設置場所編集フィールド102、「キャンセル」ボタン103、「OK」ボタン104を備える。印刷変換ユーティリティ07は、プリンタ名称編集フィールド101とプリンタ設置場所編集フィールド102には、現在OS標準印刷機能に登録されているプリンタの印刷キュー05の名称情報と、その設置場所情報を表示する。このプリンタ設定画面100において、ユーザはプリンタ名称編集フィールド101とプリンタ設置場所編集フィールド102に表示されている内容を編集することができる。ユーザが「OK」ボタンを押下するとOS印刷システム03はプリンタ名称編集フィールド101とプリンタ設置場所編集フィールド102の内容でOS標準印刷機能の印刷キュー05の設定情報を更新する。「キャンセル」ボタンを押下すると、OS印刷システム03はプリンタ設定画面100を閉じる。「削除」ボタン94を押下すると、OS印刷システム03は選択されたプリンタの印刷キューを削除するとともに印刷可能プリンタリスト91からも削除する。
【0037】
プリンタリスト画面90において、ユーザが「追加」ボタン93を押下すると、OS印刷システム03はプリンタ登録画面110を表示する。プリンタ登録画面110には、PC01に接続されており、尚且つOS標準印刷機能に対応しているすべてのプリンタが表示される登録プリンタリスト111を備える。ここでは、OS印刷システム03は、PCに接続されており、OS標準印刷機能に対応しているプリンタ50から、その名称と、OS標準印刷機能への対応情報を含む能力情報を取得して、登録プリンタリスト111に表示する。さらに、OS印刷システム03は、印刷変換ユーティリティ07が起動した仮想プリンタ10からも、その名前と能力情報を取得する。ここでは、プリンタ30が印刷変換ユーティリティ07の動作対象となっており、プリンタ30に対応する仮想プリンタ10が起動している(登録されている)。よって、OS印刷システム03は、印刷変換ユーティリティ07が起動したプリンタ30の仮想プリンタ10から能力情報を取得し、取得した能力情報に基づき、登録プリンタリスト111に表示する。プリンタ30の名称としては、仮想プリンタ名「プリンタ30(印刷変換ユーティリティ)」を、接続方法としては、「Network」を、登録プリンタリスト111に表示する。
【0038】
プリンタ登録画面110において、ユーザが登録プリンタリスト111の中からプリンタを選択して「登録」ボタン113を押下すると、OS印刷システム03は、選択されたプリンタの印刷キュー05をOS印刷システム03に作成し、プリンタ登録画面110を閉じる。ユーザが「キャンセル」ボタン112を押下すると、OS印刷システム03はプリンタの印刷キューを登録せずにプリンタ登録画面110を閉じる。
【0039】
図3のプリンタリスト画面90では、プリンタ30の印刷キューとプリンタ50の印刷キューがOS印刷システム03に登録されている様子を示している。なお、プリンタ30は、OS標準印刷機能をサポートしていないが、印刷変換ユーティリティ07にプリンタ30の印刷キューが登録されることにより、プリンタ30に対応する仮想プリンタ10が存在する。よって、OS印刷システム03は、このプリンタ30に対応する仮想プリンタ10からその名前と能力情報と取得することにより、その仮想プリンタ10の印刷キューをOS印刷システム03に登録する。
図2で説明したとおり、仮想プリンタ10の名称は、印刷変換ユーティリティ07に登録された印刷キューの名称と同じである。よって、OS印刷システム03には、プリンタ30に対応する仮想プリンタ10の印刷キューが登録されることにより、プリンタ30の印刷キューが登録されているとみなすことができる。
【0040】
<印刷設定画面>
図4はOS印刷システム03の印刷設定画面120を示す図である。印刷設定画面120は、ユーザが、描画アプリケーション02で作成したデータを印刷するための印刷設定を指示するための画面である。
【0041】
ユーザはプリンタ選択ポップアップメニュー121にて、印刷するプリンタを指定できる。OS印刷システム03は、選択可能なプリンタとして
図3のプリンタリスト画面90で登録されているプリンタを表示する。本実施形態では、印刷変換ユーティリティ07を介することで疑似的にOS標準印刷機能に対応しているとみなされるプリンタ30と、OS標準印刷機能に対応しているプリンタ50と、が印刷可能なプリンタとして登録されている。よって、これらがプリンタ選択ポップアップメニュー121に表示される。ユーザは部数設定テキストフィールド122で印刷部数を設定できる。ユーザはページ設定ラジオボタン103とページ指定テキストフィールド124で印刷するページを設定できる。ユーザは用紙サイズ設定ポップアップメニュー125で印刷する用紙サイズを設定できる。ユーザはプリンタが印刷可能なA4、A5、L版、はがきの何れかの用紙サイズを設定できる。ユーザがプリントボタン127を押下するとOS印刷システム03は本画面の設定に基づき印刷ジョブを投入するとともに本画面を閉じる。ユーザがキャンセルボタン126を押下すると、OS印刷システム03は印刷ジョブを投入せずに本画面を閉じる。
【0042】
以上説明したように、OS標準印刷機能をサポートしていないプリンタの場合、OS印刷システム03に登録される印刷キューの名称の既定値は、そのプリンタに関連付けられた仮想プリンタ10の名称となる。そして、この仮想プリンタ10は、印刷変換ユーティリティ07の印刷キューと関連付けられている。つまり、仮想プリンタ10の既定名称は、印刷変換ユーティリティ07の印刷キューの名称となる。
【0043】
ここで、印刷変換ユーティリティ07の印刷キュー名称と、OS印刷システム03の印刷キュー名称はユーザによって変更可能である。ただし、印刷変換ユーティリティ07の印刷キュー名称が変更された場合、その印刷キューに紐づく仮想プリンタ10と、OS印刷システム内の印刷キュー名称は、印刷変換ユーティリティ07からは変更できない。そのため、印刷変換ユーティリティ07の印刷キュー名称と、仮想プリンタ10の名称およびOS印刷システムの印刷キュー名称と、が異なる場合があり得る。このような場合、同じプリンタに対応するにも関わらず、それぞれの名称が一致していないため、ユーザが印刷対象のプリンタの判別が難しくなる可能性がある。
【0044】
よって、以下では、ユーザが印刷変換ユーティリティ07の印刷キュー09の名称を変更した場合に、仮想プリンタ10の名称と、OS標準印刷機能の印刷キュー05と、を再登録する例を説明する。
【0045】
<印刷変換ユーティリティ07の印刷キュー名称の変更時の処理フロー>
図5は、印刷変換ユーティリティ07が実行する処理フローを示すフローチャートである。
図5のフローは、ユーザが印刷変換ユーティリティ07を起動することで開始する。なお、
図5では、印刷変換ユーティリティ07を起動してユーザが印刷変換ユーティリティ07に登録されている印刷キュー09の名称変更をするものとする。以降において、印刷変換ユーティリティ07を、各処理の主体として説明するが、実際には、対応するプログラムをCPU201が実行することで、対応する機能が実現される。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで印刷変換ユーティリティ07の主要な処理を、便宜的にわかりやすく示したフローである。
【0046】
S01で、印刷変換ユーティリティ07は、印刷変換ユーティリティ07に登録されている印刷キュー09の名称(識別情報)が変更されたことを検知し、変更後の名称を設定する。ここでは、印刷変換ユーティリティ07に登録されたプリンタ30の印刷キュー09の名称が、「プリンタ30(印刷変換ユーティリティ)」から「お気に入りプリンタ30(印刷変換ユーティリティ)」に変更されたとする。
【0047】
S02では、印刷変換ユーティリティ07は、名称変更された印刷変換ユーティリティ07の印刷キュー09に関連する仮想プリンタ10を停止する。つまり、名称が「プリンタ30(印刷変換ユーティリティ)」と設定されている仮想プリンタ10を削除する。
【0048】
S03では、印刷変換ユーティリティ07は、名称変更された印刷変換ユーティリティ007の印刷キュー09に関連するOS標準印刷機能の印刷キュー05が存在するか判定する。つまり、OS印刷システム03に、名称が「プリンタ30(印刷変換ユーティリティ)」と設定されている印刷キューが登録されているか判定する。印刷変換ユーティリティ07は、名称変更された印刷変換ユーティリティの印刷キュー09に関連するOS標準印刷機能の印刷キュー05が存在すると判定するとS04に進み、存在しない場合はS05へ進む。
【0049】
S04では、印刷変換ユーティリティ07は、名称変更された印刷変換ユーティリティの印刷キュー09に関連するOS標準印刷機能の印刷キュー05を削除するための処理を実行する。つまり、名称が「プリンタ30(印刷変換ユーティリティ)」と設定されている印刷キュー05をOS印刷システム03から削除する。
【0050】
S05では、印刷変換ユーティリティ07は、名称変更後の印刷変換ユーティリティの印刷キュー09の名称で、仮想プリンタを起動する。つまり、「お気に入りプリンタ30(印刷変換ユーティリティ)」の名称を設定した仮想プリンタ10を新たに登録する。
【0051】
S06では、印刷変換ユーティリティ07は、S05で起動した名称変更後の仮想プリンタ10を指定してOS標準印刷機能の印刷キュー05を新たに登録するための処理を実行する。つまり、印刷変換ユーティリティ07は、「お気に入りプリンタ30(印刷変換ユーティリティ)」の名称の仮想プリンタ10に関連する印刷キュー05として、「お気に入りプリンタ30(印刷変換ユーティリティ)」の名称の印刷キュー05をOS印刷システム03に新たに登録させる。
【0052】
以上の処理により、本実施形態においては、印刷変換ユーティリティ07の印刷キュー09の名称変更がされた場合に、関連する仮想プリンタ10の停止及び起動、関連するOS標準印刷機能の印刷キュー05の削除及び登録を行う。これにより、印刷変換ユーティリティ07の印刷キュー09、仮想プリンタ10、およびOS標準印刷機能の印刷キュー05のそれぞれの名称が一致する。よって、ユーザが印刷するプリンタを判別しやすくなり、適切な印刷指示が可能となるといった効果を有する。
【0053】
<実施形態2>
次に、本発明の第2の実施形態を説明する。以下の説明では実施形態1と共通する説明は省略し、異なる点についてのみ説明する。本実施形態では、印刷変換ユーティリティ07の印刷キュー09の名称変更後、その名称で仮想プリンタ10を起動した場合、PCが接続しているネットワーク上において、その変更後の名称と同じ名称のデバイス(ここではプリンタ)が存在するかを判定する。
【0054】
OS印刷システムがOS標準印刷機能を利用できるプリンタを識別するためには、プリンタの名称はPCが接続しているネットワーク上に1つでなければならない。よって、名称変更後の仮想プリンタ10と同じ名称のデバイス(ここではプリンタ)がすでにネットワーク上に存在している場合、ディスカバリープロトコルに則り、仮想プリンタ10の名称の末尾に数字が付与される。その場合、ユーザが意図した仮想プリンタ10の名称にならず、ユーザは判別しづらくなってしまう。この点を考慮して第2の実施形態では、名称変更後に起動した仮想プリンタ10の名称がネットワークに存在していた場合に、その旨をユーザに報知し再度印刷変換ユーティリティの印刷キュー09の名称を変更させるようにする。
【0055】
以下、
図6を用いて上記処理の詳細を説明する。
図6は、印刷変換ユーティリティ07の実行処理フローを示すフローチャートである。
図6のフローは、ユーザが印刷変換ユーティリティ07を起動することで開始する。なお、
図6では、印刷変換ユーティリティ07を起動してユーザが印刷変換ユーティリティ07に登録されている印刷キュー09の名称変更をするものとする。以降において、印刷変換ユーティリティ07を、各処理の主体として説明するが、実際には、対応するプログラムをCPU201が実行することで、対応する機能が実現される。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで印刷変換ユーティリティ07の主要な処理を、便宜的にわかりやすく示したフローである。
【0056】
なお、S10~S14に関しては第1の実施形態の
図5のS01~S05と同様であるため、説明を省略する。
【0057】
S15では、印刷変換ユーティリティ07は、起動した仮想プリンタ10の名称が、ネットワーク上にすでに存在しているか判定する。つまり、印刷変換ユーティリティ07は、新たに登録された仮想プリンタ10の名称と同じ名称のデバイス(ここではプリンタ)が、ネットワーク上に存在するか判定する。例えば、S10において、印刷変換ユーティリティ07に登録されたプリンタ30の印刷キュー09の名称が、「プリンタ30(印刷変換ユーティリティ)」から「プリンタ50」に変更されたとする。その場合、新たな仮想プリンタ10の名称も「プリンタ50」となるが、「プリンタ50」の名称は、PC01が属しているネットワーク上に存在するプリンタ50にすでに付与されている。よって、このような場合は、S15においてYESと判定され、S16に進む。なお、ネットワーク上に同じ名称のデバイスが存在するかの判定は、各デバイスから送信される情報に含まれているデバイス名称(例えば、Bonjour名)に基づき判定されるとよい。
【0058】
S16では、印刷変換ユーティリティ07は、
図7のプリンタ名再設定画面130を表示する。プリンタ名再設定画面130は、変更後の名称のプリンタがすでに存在していることをユーザに通知するメッセージを含む。また、プリンタ名再設定画面130は、現在設定されている名称変更後の印刷変換ユーティリティ07の印刷キュー09の名称を表示するプリンタ名称編集テキストフィールド131を含む。このプリンタ名称編集テキストフィールド131は、入力されているプリンタ名称をユーザが編集することができる入力アイテムである。ユーザがプリンタ名再設定画面130で「OK」ボタンを押下すると、印刷変換ユーティリティ07は、プリンタ名称編集テキストフィールドに入力された内容で印刷変換ユーティリティ07の印刷キュー09の名称を変更する。
【0059】
上記の処理を、仮想プリンタ10の名称がネットワーク上の他のプリンタの名称と重複しなくなるまで繰り返す。例えば、S10において、印刷変換ユーティリティ07に登録されたプリンタ30の印刷キュー09の名称が、「プリンタ30(印刷変換ユーティリティ)」から「お気に入りプリンタ30(印刷変換ユーティリティ)」に変更されたとする。その場合、新たな仮想プリンタ10の名称も「お気に入りプリンタ30(印刷変換ユーティリティ)」となり、この名称は、PC01が属しているネットワーク上に存在するいずれのプリンタとも異なる。よって、このような場合は、S15においてNOとなり、S17へ進む。
【0060】
S17では、印刷変換ユーティリティ07は、S14で起動した名称変更後の仮想プリンタ10を指定してOS標準印刷機能の印刷キュー05を新たに登録するための処理を実行する。例えば、印刷変換ユーティリティ07は、「お気に入りプリンタ30(印刷変換ユーティリティ)」の名称の仮想プリンタ10に関連する印刷キュー05として、「お気に入りプリンタ30(印刷変換ユーティリティ)」の名称の印刷キュー05をOS印刷システム03に新たに登録させる。
【0061】
以上の処理により、本実施形態においては、印刷変換ユーティリティ07の印刷キュー09の名称変更がされたことに基づき、同じく名称変更される仮想プリンタ10の名称がネットワークにすでに存在することをユーザに通知することができる。この通知によりユーザに再度、印刷変換ユーティリティ07の印刷キュー09の名称を変更させることができる。本実施形態により、ディスカバリープロトコルに則り、仮想プリンタ10の名称の末尾に数字が付与されるというような、ユーザ意図とは異なる仮想プリンタ10の名称になってしまうことを回避できる。よって、ユーザは印刷するプリンタを判別しやすくなり、適切な印刷指示が可能となるといった効果を有する。なお、上述の例では、S14の後にS15を実行しているが、本実施形態はこれに限定されない。仮想プリンタ10を立ち上げる前に、ネットワーク上に同じ名称のデバイスが存在するかを判定してもよい。そして、同じ名称のデバイスがネットワーク上に存在すると判定された場合は、S16において、ユーザ通知を行わせてもよい
<実施形態3>
次に、本発明の第3の実施形態を説明する。以下の説明では実施形態1と共通する説明は省略し、異なる点についてのみ説明する。第1と第2の実施形態では、印刷変換ユーティリティ07の印刷キュー09の名称変更に基づいて、仮想プリンタ10とOS標準印刷機能の印刷キュー05を再登録していた。しかしながら、OS標準印刷機能の印刷キュー05も
図3で説明した通りユーザ指示に基づき手動で名称変更が可能である。そのため、OS標準印刷機能の印刷キュー05の名称をユーザが変更した場合に、印刷変換ユーティリティ07の印刷キュー09の名称と仮想プリンタ10の名称が異なってしまう可能性がある。よって第3の実施形態では、OS標準印刷機能の印刷キュー05の名称がユーザにより変更された場合に、印刷変換ユーティリティ07の印刷キュー09の名称と仮想プリンタ10の名称をOS標準印刷機能の印刷キュー05名称と一致させる。
【0062】
以下、8を用いて上記処理の詳細を説明する。
図8は、印刷変換ユーティリティの起動処理フローを示すフローチャートである。
図8のフローは、ユーザが印刷変換ユーティリティ07を起動することで開始する。なお、
図8では、印刷変換ユーティリティ07が起動されている状態で、ユーザが、OS印刷システム03が提供する画面(
図3)を用いてOS印刷システム03に登録されている印刷キュー05の名称を変更するものとする。以降において、印刷変換ユーティリティ07を、各処理の主体として説明するが、実際には、対応するプログラムをCPU201が実行することで、対応する機能が実現される。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで印刷変換ユーティリティ07の主要な処理を、便宜的にわかりやすく示したフローである。
【0063】
S20では、印刷変換ユーティリティ07は、OS標準印刷機能の印刷キュー05の名称(識別情報)が変更されたことを検知する。なお、印刷変換ユーティリティが起動していない時にOS標準印刷機能の印刷キュー名称が変更された場合は、印刷変換ユーティリティ07の起動時にS20の処理で検知する。
【0064】
S21では、印刷変換ユーティリティ07は、名称変更されたOS標準印刷機能の印刷キュー05に紐づいていた印刷変換ユーティリティ07の印刷キュー09の名称を、名称変更後のOS標準印刷機能の印刷キュー05の名称と同じ名称に更新する。例えば、OS標準印刷機能の印刷キュー05の名称が「プリンタ30(印刷変換ユーティリティ)」から「お気に入りプリンタ30(印刷変換ユーティリティ)」に変更されたとする。この場合、S21において、印刷変換ユーティリティ07は、印刷変換ユーティリティ07に登録されているプリンタ30の印刷キューの名称を「プリンタ30(印刷変換ユーティリティ)」から「お気に入りプリンタ30(印刷変換ユーティリティ)」に変更する。
【0065】
S22では、実施形態1において説明した
図5のS01~S06の処理を行う。これにより、名称変更された仮想プリンタ10を登録することができる。なお、S22では、実施形態2の
図6のS10~S17の処理を実行してもよい。
【0066】
上記の通り本実施形態においては、ユーザによってOS標準印刷機能の印刷キュー05の名称が変更された場合に、関連している名称変更後の仮想プリンタの登録と、印刷変換ユーティリティ07の印刷キュー09の名称変更と、が実行される。これにより、OS標準印刷機能の印刷キュー05、印刷変換ユーティリティ07の印刷キュー09、および仮想プリンタ10の名称が一致する。よって、ユーザが印刷するプリンタを判別しやすくなり、適切な印刷指示が可能となるといった効果を有する。
【0067】
<その他の実施形態>
上記各実施形態において、印刷変換ユーティリティ07は、印刷変換ユーティリティ07内の印刷キュー09に印刷ジョブが存在する場合は、印刷キュー09の名称変更を受け付けないよう制御してもよい。もしくは、印刷変換ユーティリティ07は、印刷変換ユーティリティ07内の印刷キュー09に印刷ジョブが存在する状態で印刷キュー09の名称変更を受け付けた場合、印刷ジョブが終了した後に(印刷ジョブが印刷キュー09から出力された後に)、印刷キュー09の名称変更を実行するよう制御してもよい。
【0068】
なお、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0069】
01 PC
02 アプリケーション
03 OS印刷システム
04 OS標準印刷制御部
05 OS標準印刷システムの印刷キュー
06 ネットワーク通信制御部
07 印刷変換ユーティリティ
08 ベンダードライバ
09 印刷変換ユーティリティの印刷キュー
10 仮想プリンタ
20 ネットワーク
30 プリンタ
40 プリンタ
50 プリンタ