(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023147711
(43)【公開日】2023-10-13
(54)【発明の名称】サポートプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20231005BHJP
B41J 29/38 20060101ALN20231005BHJP
【FI】
G06F3/12 353
G06F3/12 304
G06F3/12 332
B41J29/38 202
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022055383
(22)【出願日】2022-03-30
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】成田 建樹
(72)【発明者】
【氏名】細溝 仁人
【テーマコード(参考)】
2C061
【Fターム(参考)】
2C061AP01
2C061AQ05
2C061HJ08
2C061HK06
2C061HK07
2C061HK11
2C061HN05
2C061HN15
2C061HP08
2C061HQ01
(57)【要約】
【課題】OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、複数のプリンタキューの情報をユーザが簡単に確認できる技術を提供すること。
【解決手段】補助プログラム42は、編集アプリ43等から出力された印刷指示があったことによって、汎用印刷プログラム41から処理が要求される。また、補助プログラム42は、プリンタ2が選択された状態で、起動指示をOS21が受け付けたことによっても、汎用印刷プログラム41から処理が要求される。補助プログラム42は、起動指示をOS21が受け付けたことによって処理が要求された場合に、PC1のCPU11に、選択中のプリンタ2が有する本体情報を取得させ、プリンタ2とは別のプリンタが存在するか否かを判断させ、存在すると判断されたプリンタ3が有する本体情報を取得させ、取得されたプリンタ2の本体情報とプリンタ3の本体情報とを表示させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするサポートプログラムであって、前記オペレーティングシステムは、選択されたプリンタに対応するプログラムの起動指示を受け付けることが可能であり、前記汎用印刷プログラムには、前記起動指示に応じて処理を要求するプログラムがプリンタに関連付けられており、
前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷をプリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、
前記汎用印刷プログラムから前記画像を示す画像データを取得し、前記画像データに基づいて印刷コマンドを、選択されたプリンタに送信するための処理を実行させ、
さらに前記コンピュータに、
第1プリンタが選択された状態で、前記起動指示を前記オペレーティングシステムが受け付けたことによって、前記汎用印刷プログラムから処理が要求された場合に、
前記汎用印刷プログラムを介して、前記第1プリンタが有する第1本体情報を、前記第1プリンタにアクセスして取得する第1取得処理と、
前記情報処理装置と接続されるプリンタであって前記第1プリンタとは別のプリンタである第2プリンタが存在するか否かを判断する判断処理と、
前記判断処理にて存在すると判断された前記第2プリンタが有する第2本体情報を、前記第2プリンタにアクセスして取得する第2取得処理と、
前記第1取得処理にて取得された前記第1本体情報と前記第2取得処理にて取得された前記第2本体情報とを表示する表示処理と、
を実行させる、
ように構成されるサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムにおいて、
前記表示処理では、
前記第1取得処理にて取得された前記第1本体情報を、前記第2取得処理にて取得された前記第2本体情報と区別して表示する、
ように構成されるサポートプログラム。
【請求項3】
請求項1または請求項2に記載するサポートプログラムにおいて、
前記表示処理では、
前記第1取得処理にて取得された前記第1本体情報と、前記第2取得処理にて取得された前記第2本体情報と、を同じ画面に表示する、
ように構成されるサポートプログラム。
【請求項4】
請求項1から請求項3のいずれか1つに記載するサポートプログラムにおいて、
前記表示処理では、
前記第1取得処理にて取得された前記第1本体情報と、前記第2取得処理にて取得された前記第2本体情報と、を同じタイミングで表示する、
ように構成されるサポートプログラム。
【請求項5】
請求項1から請求項3のいずれか1つに記載するサポートプログラムにおいて、
前記表示処理では、
前記第2取得処理にて取得された前記第2本体情報について、前記第2本体情報の表示指示を受け付け、前記第2本体情報の表示指示を受け付けたことに応じて前記第2本体情報を表示する、
ように構成されるサポートプログラム。
【請求項6】
請求項1から請求項5のいずれか1つに記載するサポートプログラムにおいて、
前記コンピュータに、
選択されているプリンタの接続情報を前記汎用印刷プログラムから取得し、取得された前記接続情報を前記情報処理装置のメモリに記憶する記憶処理を実行させ、
前記第2取得処理では、前記メモリに前記第1プリンタとは別のプリンタである前記第2プリンタの前記接続情報が記憶されている場合、前記接続情報を読み出して前記第2プリンタにアクセスし、前記第2プリンタが有する前記第2本体情報を取得する、
ように構成されるサポートプログラム。
【請求項7】
請求項6に記載するサポートプログラムにおいて、
前記コンピュータに、
前記起動指示を前記オペレーティングシステムが受け付けたことによって、前記汎用印刷プログラムから処理が要求された場合に、前記記憶処理を実行させる、
ように構成されるサポートプログラム。
【請求項8】
請求項1から請求項5のいずれか1つに記載するサポートプログラムにおいて、
前記コンピュータに、
前記第1プリンタが選択された状態で、前記起動指示を前記オペレーティングシステムが受け付けたことによって、前記汎用印刷プログラムから処理が要求された場合に、
前記情報処理装置が接続されるネットワークに接続されているプリンタを検索する検索処理を実行させ、
前記第2取得処理では、前記第1プリンタとは別のプリンタであって前記検索処理にて検索された前記プリンタである前記第2プリンタにアクセスし、検索された前記第2プリンタが有する前記第2本体情報を取得する、
ように構成されるサポートプログラム。
【請求項9】
請求項1から請求項8のいずれか1つに記載するサポートプログラムにおいて、
前記コンピュータに、
前記第2取得処理にて取得された前記第2本体情報に基づいて、前記第2プリンタが実行可能な処理を特定し、特定された処理を前記第2プリンタに実行させる本体命令を、前記第2プリンタに送信する送信処理を実行させる、
ように構成されるサポートプログラム。
【請求項10】
請求項9に記載するサポートプログラムにおいて、
前記コンピュータに、
前記第2取得処理を実行した後、前記第2プリンタへの前記本体命令の出力指示を受け付ける出力指示受付処理を実行させ、前記出力指示受付処理にて前記出力指示が受け付けられた場合に、前記送信処理を実行させる、
ように構成されるサポートプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
【背景技術】
【0002】
近年、前述したプリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の汎用印刷プログラムによる印刷が可能になる。
【0003】
また、OS標準の汎用印刷プログラムにサポートプログラムを関連付け、汎用印刷プログラムとサポートプログラムとの連携によって印刷を実現する構成が知られている。例えば特許文献1には、プリンタキューごとに印刷設定のパラメータを記憶したパラメータリストを備え、印刷指示があった際に、サポートプログラムがパラメータリストからプリンタキューに対応するパラメータを読み出して設定する構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
前述したようにOS標準の汎用印刷プログラムを利用する環境において、選択されているプリンタキューごとのパラメータを設定する技術が知られている。しかしながら、OSには複数のプリンタキューが設けられる場合があり、現在選択されているプリンタのプリンタキュー以外のプリンタキューの情報をユーザが確認するにはプリンタの選択を切り替える操作を行う必要があり、ユーザにとって手間である。
【課題を解決するための手段】
【0006】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするサポートプログラムであって、前記オペレーティングシステムは、選択されたプリンタに対応するプログラムの起動指示を受け付けることが可能であり、前記汎用印刷プログラムには、前記起動指示に応じて処理を要求するプログラムがプリンタに関連付けられており、前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷をプリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、前記汎用印刷プログラムから前記画像を示す画像データを取得し、前記画像データに基づいて印刷コマンドを、選択されたプリンタに送信するための処理を実行させ、さらに前記コンピュータに、第1プリンタが選択された状態で、前記起動指示を前記オペレーティングシステムが受け付けたことによって、前記汎用印刷プログラムから処理が要求された場合に、前記汎用印刷プログラムを介して、前記第1プリンタが有する第1本体情報を、前記第1プリンタにアクセスして取得する第1取得処理と、前記情報処理装置と接続されるプリンタであって前記第1プリンタとは別のプリンタである第2プリンタが存在するか否かを判断する判断処理と、前記判断処理にて存在すると判断された前記第2プリンタが有する第2本体情報を、前記第2プリンタにアクセスして取得する第2取得処理と、前記第1取得処理にて取得された前記第1本体情報と前記第2取得処理にて取得された前記第2本体情報とを表示する表示処理と、を実行させる、ように構成されている。
【0007】
本明細書に開示されるサポートプログラムは、アプリケーションプログラムからの印刷指示とは別に、OSにて起動指示が受け付けられた際、選択されている第1プリンタとは別の第2プリンタが存在すれば、第1プリンタの第1本体情報と第2プリンタの第2本体情報とを取得して、取得した第1本体情報と第2本体情報とを表示する。これにより、ユーザは、選択されている第1プリンタの第1本体情報だけでなく、第2プリンタの第2本体情報についても、プリンタの選択を切り替える操作を行うことなく、起動指示の入力という操作に基づいて簡単に把握できる。従って、ユーザは、例えば、印刷指示を入力する前に、情報処理装置と接続される複数のプリンタの中から、印刷させるプリンタの選択に役立つ情報を簡単に得られる。
【0008】
上記サポートプログラムが組み込まれた情報処理装置、サポートプログラムを格納するコンピュータにて読取可能な記憶媒体、及びサポートプログラムの機能を実現するための制御方法、サポートプログラムとプリンタとを含む印刷システムも、新規で有用である。
【発明の効果】
【0009】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、複数のプリンタキューの情報をユーザが簡単に確認できる技術が実現される。
【図面の簡単な説明】
【0010】
【
図1】PCの電気的構成の概略を示すブロック図である。
【
図2】補助プログラムによる処理の手順の例を示すシーケンス図である。
【
図3】デバイス管理指示を受け付ける画面の例を示す説明図である。
【
図5】プリンタ情報表示処理の手順の例を示すフローチャートである。
【
図9】プリンタ情報表示処理の手順の例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、第1の形態の補助プログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、PCにて実行される補助プログラムを開示する。
【0012】
本形態のPC1は、
図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。PC1は、情報処理装置の一例である。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、
図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0013】
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
【0014】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、表示機能と入力受付機能とを備えるタッチパネルであっても良い。
【0015】
通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、通信IF14を介して、インターネットに接続可能であっても良い。また、PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
【0016】
本形態のPC1には、通信IF14を介して、
図1に示すように、例えば、プリンタ2、プリンタ3、プリンタ4、が接続されている。プリンタ2とプリンタ3とプリンタ4とは、いずれも、少なくとも印刷機能と通信機能とを有する装置である。
【0017】
PC1のメモリ12には、
図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43等の各種のアプリケーションプログラム(以下、「アプリ」とする)と、が記憶されている。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。補助プログラム42は、サポートプログラムの一例である。
【0018】
汎用印刷プログラム41は、OS21とともに提供されるOS標準のプログラムであり、プリンタ2等に印刷を実行させるための機能を有する。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、中間画像データを生成する機能を含むプログラムである。汎用印刷プログラム41は、各種のプリンタのベンダによって提供される複数種類のモデルのプリンタが共通に利用できる機能をサポートしている。汎用印刷プログラム41は、各種のプリンタに固有のプリンタドライバとは異なり、各種のプリンタが固有に備える機能の全てに対応するものではなく、サポートする機能は汎用的なものに限られる。
【0019】
補助プログラム42は、対象のハードウェアの制御をサポートするプログラムまたはプログラム群である。本形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、汎用印刷プログラム41を使用してプリンタ2に印刷を実行させる指示を受け付けた場合に、汎用印刷プログラム41から起動される。補助プログラム42は、例えば、印刷サポートアプリ(略称、PSA)、またはハードウェアサポートアプリ(略称、HSA)と呼ばれるものである。なお、補助プログラム42は、プリンタ3やプリンタ4にも対応するプログラムであっても良い。
【0020】
なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。また、補助プログラムは、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが、それぞれ用意されても良い。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
【0021】
PC1のOS21は、例えば、新たなプリンタがPC1に接続された場合、接続されたプリンタのタイプやモデルに応じて、適切な補助プログラムをサーバ等からダウンロードしてPC1に組み込むことができる。OS21は、組み込んだ補助プログラムの識別情報を新たに接続されたプリンタのプリンタ情報と対応付けてメモリ12に記憶し、プリンタごとにプリンタキューを生成する。
【0022】
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト(登録商標)製のワード(登録商標)やパワーポイント(登録商標)などであっても良いし、プリンタ2のベンダから提供されるアプリであっても良い。編集アプリ43は、ユーザIF13を介して、例えば、プリンタ2に印刷を実行させる印刷実行指示を受け付け可能である。
【0023】
次に、本形態のOS21と補助プログラム42とによる処理の手順について、
図2のシーケンス図を参照して説明する。この手順は、PC1にプリンタ2が接続され、プリンタ2に対応する補助プログラム42がメモリ12に記憶されている状態で実行される。
【0024】
なお、本形態における各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0025】
OS21は、ユーザによる各部の設定指示を受け付け可能であり、設定指示を受け付ける画面にて、PC1に接続されている各種のデバイスについての情報の表示指示や設定の変更指示を含むデバイス管理指示を受け付け可能である。OS21は、例えば、設定指示とデバイス管理指示とを受け付けた場合(A01)、例えば、
図3に示すように、さらにデバイスの選択を受け付け可能となる。OS21は、例えば、「デバイス」ボタン511への操作を受け付けたことで表示されるデバイス設定画面51(
図3(A))にて、「プリンタとスキャナ」ボタン512への操作を受け付けた場合、例えば、
図3(B)に示すような、デバイス管理画面52を表示する(A02)。
【0026】
デバイス管理画面52は、PC1に接続されているデバイスであって、プリンタやスキャナ等の画像処理を実行可能な各種のデバイスの、リストを含む画面である。ユーザは、デバイス管理画面52に表示されているリストから、管理対象のデバイスを選択できる(A03)。例えば、デバイス管理画面52にてプリンタ2を指定するボタン521への操作を受け付けた場合、OS21は、例えば、
図4に示すように、詳細管理画面53を表示する(A04)。
【0027】
詳細管理画面53には、「プリンタキューを開く」ボタン531、「アプリ起動」ボタン532、「テストページの印刷」ボタン533等が表示される。「プリンタキューを開く」ボタン531は、選択されているプリンタに対応するプリンタキューの状態を確認する指示を受け付けるボタンである。「アプリ起動」ボタン532は、選択されているプリンタに対応するプログラムの起動指示を受け付けるボタンである。「テストページの印刷」ボタン533は、OS21によるテスト画像を選択されているプリンタに送信する指示を受け付けるボタンである。詳細管理画面53にて、OS21は、ボタン531、532、533等へのユーザによる操作を受け付け可能である。
【0028】
プリンタ2が選択されて表示された詳細管理画面53にて、「アプリ起動」ボタン532への操作によるプログラムの起動指示を受け付けた場合(A11)、OS21は、選択されているプリンタであるプリンタ2の情報と、そのプリンタに対応するプログラムを起動する指示とを、汎用印刷プログラム41に渡す。汎用印刷プログラム41は、OS21からこの指示を受け付けた場合、プリンタ2のプリンタ情報に関連付けられているプログラムを起動するようになっている。本形態では、プリンタ2のプリンタ情報に対応付けて補助プログラム42の識別情報が記憶されていることから、汎用印刷プログラム41は、補助プログラム42を起動する(A12)。
【0029】
本形態の補助プログラム42は、ユーザの起動指示に応じて汎用印刷プログラム41から起動された場合、プリンタ情報表示処理を実行する(A31)。プリンタ情報表示処理の手順について、
図5のフローチャートを参照して説明する。プリンタ情報表示処理は、補助プログラム42の記載に基づいて、PC1のCPU11にて実行される。
【0030】
CPU11は、まず、選択中のプリンタであるプリンタ2の接続情報をOS21に要求し、OS21から接続情報を取得する(S101)。接続情報は、例えば、IPアドレスである。CPU11は、OS21から取得した接続情報を、プリンタ2の識別情報と対応付けて、メモリ12に記憶する(S102)。S102は、記憶処理の一例である。なお、プリンタ2の接続情報が既にメモリ12に記憶されている場合、CPU11は、接続情報を上書きしても良い。
【0031】
つまり、補助プログラム42は、「アプリ起動」ボタン532(
図4参照)への操作による補助プログラム42の起動指示のタイミングで、現在選択されているプリンタであるプリンタ2の接続情報をメモリ12に記憶する。
【0032】
さらに、CPU11は、取得した接続情報を用いてプリンタ2に本体情報を要求し、プリンタ2から本体情報を取得する(S103)。選択されているプリンタであるプリンタ2は、第1プリンタの一例であり、プリンタ2の本体情報は、第1本体情報の一例である。S103は、第1取得処理の一例である。
【0033】
本体情報は、プリンタ2の能力を示す能力情報、すなわち、プリンタ2にて実行可能な機能を示す情報や印刷設定として設定可能なパラメータの情報、を含む。本体情報は、さらに、プリンタ2の本体の状況を示す情報、例えば、ステータス情報、消耗品の残量情報、装着されているオプショントレイ等の付属品を示す情報、トレイごとに設定されている用紙サイズや用紙タイプの情報、使用言語等の本体の設定やネットワーク設定の情報、ファームウェアのバージョン情報、印刷の履歴情報、待機中の印刷ジョブ数、の少なくとも1つの情報を含んでも良い。
【0034】
なお、本形態のプリンタ2は、操作パネルを備えている。プリンタ2の操作パネルは、情報を表示するディスプレイと、ユーザの入力操作を受け付ける操作ボタンと、を含む。操作パネルはタッチパネルを含んでいても良い。プリンタ2は、プリンタ2に関する情報を操作パネルに表示可能であり、また、操作パネルへの入力操作による各種の指示を受け付け可能である。なお、プリンタ2は、操作パネルを介した指示として、例えば、トレイごとの用紙サイズや用紙タイプの設定の指示、本体の設定やネットワーク設定の変更の指示、を受け付け可能である。プリンタ2は、本体情報として、操作パネルを介して受け付けた各種の設定を示す情報を、補助プログラム42に渡しても良い。
【0035】
また、プリンタ2は、受け付けた印刷ジョブに基づいて画像処理を行って,画像処理後のデータに基づいて印刷する機能、例えば、Nin1等の集約印刷、ウォータマーク等の合成印刷、着色剤を節約する節約印刷、を行う機能を有していても良い。プリンタ2にて実行可能な画像処理の機能を有している場合、プリンタ2は、その機能の情報を本体情報として補助プログラム42に渡しても良い。
【0036】
補助プログラム42は、例えば、MIB(Management Information Baseの略)を使って、プリンタ2から直接、情報を取得することで、OS21に理解されない情報をも取得できる。
【0037】
なお、補助プログラム42は、S103にてプリンタ2に直接情報を要求する代わりに、プリンタ2の本体情報を要求する取得要求をOS21に出力しても良い。その場合、OS21は、例えば、IPP(internet printing protocolの略)に応じた通信によってプリンタ2から情報を取得し、取得した情報を補助プログラム42に渡す。補助プログラム42は、OS21への情報の取得要求と、直接通信による本体情報の取得と、の両方を行っても良い。
【0038】
次に、CPU11は、メモリ12に記憶している接続情報を読み出す(S111)。本形態のPC1には、
図1に示したように、複数台のプリンタ2、3、4が接続されている。そして、例えば、プリンタ3やプリンタ4が選択された状態で、前述した「アプリ起動」ボタン532(
図4)への操作を受け付けた場合、選択されたプリンタに対応する補助プログラムが起動される。起動された補助プログラムが、補助プログラム42と同種のプログラムであれば、本形態のプリンタ情報表示処理と同様の処理を実行するので、そのときに選択されているプリンタの接続情報がメモリ12に記憶される。プリンタ2以外のプリンタの接続情報がメモリ12に記憶されていれば、補助プログラム42は、それらの接続情報をメモリ12から読み出すことができる。
【0039】
また、本形態の補助プログラム42は、S102にてプリンタ2の接続情報を記憶するので、その後、選択されているプリンタが切り替えられて補助プログラムの起動指示があった場合にも、起動された補助プログラムは、S111にてプリンタ2の接続情報を読み出すことができる。
【0040】
なお、プリンタ3やプリンタ4に対応する補助プログラムは、補助プログラム42であっても良いし、異なるプログラムであっても良い。異なるプログラムであっても、例えば、プリンタ2~4に対応する各補助プログラムにて共通に利用できるメモリ領域が有れば、各補助プログラムは、そのメモリ領域に接続情報を記憶することで、接続情報を共有することができる。
【0041】
つまり、S111にて読み出される接続情報には、プリンタ2以外のプリンタの接続情報が含まれている可能性がある。CPU11は、読み出した接続情報に、プリンタ2以外のプリンタの接続情報が含まれているか否かを判断する(S112)。S112は、判断処理の一例である。プリンタ2以外のプリンタ、すなわち、プリンタ3やプリンタ4は、第2プリンタの一例である。
【0042】
プリンタ2以外のプリンタの接続情報が含まれていると判断した場合(S112:YES)、CPU11は、その接続情報を利用して、プリンタ2以外のプリンタから本体情報を取得する(S113)。プリンタ2以外のプリンタの本体情報は、第2本体情報の一例であり、S113は、第2取得処理の一例である。例えば、CPU11は、プリンタ3の本体情報とプリンタ4の本体情報と、を取得する。プリンタ2以外のプリンタの本体情報は、例えば、MIB(Management Information Baseの略)を使って、CPU11が、プリンタ2以外のプリンタから直接、情報を取得すればよい。OS21がプリンタ2以外のプリンタから本体情報を取得可能であれば、CPU11は、取得要求をOS21に出力しても良い。
【0043】
接続情報をメモリ12に記憶して、その記憶されている接続情報を利用することで、例えば、ネットワークに接続されているプリンタを検索する場合に比較して、接続情報の取得に要する時間が短く、接続情報の取得が容易である。また、記憶されている接続情報を利用することで、補助プログラム42は、ローカルネットワーク外のプリンタであってもアクセス可能になる。
【0044】
S113の後、CPU11は、取得した各プリンタの情報をユーザIF13に表示させる(S121)。CPU11は、例えば、
図6に示すように、プリンタ一覧画面54をユーザIF13に表示させる。S121は、表示処理の一例である。一方、プリンタ2以外のプリンタの接続情報が含まれていないと判断した場合(S112:NO)、CPU11は、S121にて取得したプリンタ2の情報のみをユーザIF13に表示させる。この場合、CPU11は、他のプリンタの情報を表示させない、あるいは「情報なし」と表示させる。
【0045】
プリンタ一覧画面54は、選択されているプリンタであるプリンタ2の情報を含む第1表示領域541と、PC1に接続されているプリンタのうち、プリンタ2以外のプリンタの情報を含む第2表示領域542と、を含む。補助プログラム42は、選択されているプリンタの情報と、選択されているプリンタ以外のプリンタの情報とを、区別して表示する。
【0046】
第1表示領域541には、プリンタ2の詳細な本体情報61が含まれ、印刷設定の変更指示を受け付けるボタン71と、テスト印刷の指示を受け付けるボタン72と、が含まれる。第2表示領域542には、プリンタ2以外の各プリンタのプリンタ名と、プリンタごとの情報の表示指示を受け付けるボタン73、74と、が含まれる。プリンタ一覧画面54には、さらに、表示を終了する指示を受け付ける終了ボタン544が含まれても良い。
【0047】
そして、CPU11は、表示させたプリンタ一覧画面54中の各ボタンへの操作を受け付け可能となる。S121の後、CPU11は、プリンタ情報表示処理を終了して、
図2の手順に戻る。
【0048】
図2の説明に戻る。補助プログラム42によるプリンタ情報表示処理(A31)の終了後、ユーザは、プリンタ一覧画面54に表示されている各ボタン71~74への操作を行うことができる。補助プログラム42は、ボタン71~74のいずれかへの操作を受け付けた場合、受け付けた操作に対応する処理を実行する。
【0049】
例えば、補助プログラム42は、ボタン72への操作によって、プリンタ2にテスト印刷を行わせるユーザの指示(出力指示の一例)を受け付けた場合(A43)、プリンタ2にテスト印刷コマンド(本体命令の一例)を送信する(A44)。これにより、プリンタ2は、テスト印刷を実行する(A45)。
【0050】
例えば、ボタン73または74への操作によって、プリンタ2以外のプリンタに関する情報の表示指示を受け付けた場合(A41)、補助プログラム42は、プリンタ一覧画面54を、指示された情報を含む画面に変更して表示する(A42)。A42は、表示処理の一例である。
【0051】
例えば、A41にてボタン73への操作によって、プリンタ3の情報の表示指示を受け付けた場合、補助プログラム42は、A42にて、例えば、
図7に示すように、プリンタ一覧画面54に代えてプリンタ一覧画面55を表示する。プリンタ一覧画面55は、プリンタ一覧画面54に含まれる各情報に加えて、プリンタ3の詳細な本体情報81を表示する第3表示領域543を含む。第3表示領域543には、さらに例えば、プリンタ3に印刷設定の変更を行わせる指示を受け付けるボタン82と、プリンタ3にテスト印刷を実行させる指示を受け付けるボタン83と、が含まれる。
【0052】
補助プログラム42は、プリンタ情報表示処理のS113にて、プリンタ3から本体情報を取得しており、取得した本体情報に基づいて、プリンタ3にて実行可能な処理を特定する。補助プログラム42は、例えば、プリンタのモデルごとの実行可能な処理の情報を予め備えていても良いし、サーバ等に問い合わせて情報を取得しても良い。
【0053】
本形態の補助プログラム42は、選択中のプリンタ以外のプリンタについても、本体情報を表示できるので、ユーザは、例えば、選択中のプリンタとそれ以外のプリンタとの状態を比較し易い。ただし、選択中のプリンタ以外のプリンタに関する情報については、ユーザが表示を望んでいない場合もある。本形態では、ユーザの表示指示を受け付けたことに応じて表示するので、表示が煩雑になることが抑制される。
【0054】
そして、補助プログラム42は、表示中のプリンタ一覧画面55にて各ボタンへの操作を受け付け可能となる。例えば、ボタン71への操作によって、プリンタ2の設定を変更するユーザの指示を受け付けた場合、補助プログラム42は、例えば、現在の設定を表示して、ユーザの変更指示を受け付ける。例えば、変更後の設定をプリンタ2に出力するユーザの指示(出力指示の一例)を受け付けたら(A43)、補助プログラム42は、プリンタ2に設定を行わせる設定変更コマンド(本体命令の一例)を送信する(A44)。これにより、プリンタ2は、指示に基づいて、設定を変更する処理を実行する(A45)。
【0055】
また、補助プログラム42は、ボタン83への操作によって、プリンタ3へのテスト印刷コマンド(本体命令の一例)の出力指示を受け付け可能であり、ボタン82への操作によって、プリンタ3への設定変更コマンド(本体命令の一例)の出力指示を受け付け可能である。本体命令は、プリンタ3にて実行可能な処理をプリンタ3に実行させる命令である。
【0056】
例えば、ボタン83への操作によって、プリンタ3にテスト印刷を行わせる命令を出力する出力指示を受け付けた場合(A46)、補助プログラム42は、本体命令として、テスト印刷コマンドをプリンタ3に送信する(A47)。A46は、出力指示受付処理の一例であり、A47は、送信処理の一例である。プリンタ3は、受信したテスト印刷コマンドに基づいて、テスト印刷を実行する(A48)。
【0057】
本形態の補助プログラム42は、選択中のプリンタ以外のプリンタについても、本体命令の指示を受け付けるので、ユーザは、例えば、選択中のプリンタとそれ以外のプリンタとに同じ指示を行うことができる。ただし、選択中のプリンタ以外のプリンタについては、本体命令の出力をユーザが望んでいない場合もある。本形態では、ユーザの指示を受け付けてから本体命令を送信するので、無駄な処理の実行を回避できる。
【0058】
なお、補助プログラム42は、プリンタ情報表示処理(
図5)のS121にて、プリンタ一覧画面55を初めから表示しても良い。また例えば、補助プログラム42は、補助プログラム42に対応する全てのプリンタについての本体情報を、同じ画面に同じタイミングで表示しても良い。その場合、例えば、補助プログラム42は、プリンタ2の情報とプリンタ3やプリンタ4の情報とを、表示領域の大きさや表示フォントを変えるなど、異なる表示形態で表示しても良い。同時に表示すれば、ユーザは、各プリンタの状況を手軽に比較できる。
【0059】
また、補助プログラム42は、プリンタ一覧画面54にてボタン73やボタン74への操作によって、プリンタ2以外のプリンタの情報を表示する場合、プリンタ一覧画面55のように同じ画面に表示する代わりに、別のウィンドウを開いて表示しても良い。その場合には、補助プログラム42は、本体命令の出力指示も、その別のウィンドウにて受け付けても良い。
【0060】
次に、本形態の補助プログラム42の動作を含む印刷の手順について、
図8のシーケンス図を参照して説明する。補助プログラム42は、プリンタ2に印刷を行わせるユーザの指示が汎用印刷プログラム41に対してあった場合にも実行される。ユーザは、編集アプリ43等を利用して、印刷対象の画像の選択と、印刷を実行させるプリンタの指定と、印刷実行の指示と、を行うことができる。
図8は、プリンタ2に印刷を行わせるユーザの指示を、編集アプリ43が受け付けた場合における、各プログラムによる動作について示している。なお、ユーザによる印刷実行の指示は、汎用印刷プログラム41に直接入力されても良い。
【0061】
編集アプリ43は、選択中の画像の印刷をプリンタ2に行わせる印刷実行の指示を、汎用印刷プログラム41に対して受け付けると(B01)、OS21を介して、印刷指示を汎用印刷プログラム41に渡す(B02)。汎用印刷プログラム41は、印刷指示にて、印刷対象の画像の画像データを示す情報と印刷設定を示す情報と、を取得する。
【0062】
汎用印刷プログラム41は、受け取った印刷指示に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し(B03)、中間画像データを含む印刷ジョブを生成する。編集アプリ43から渡される画像データは種々のタイプのものであり、汎用印刷プログラム41は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷指示に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。中間画像データは、例えば、XPSデータである。
【0063】
汎用印刷プログラム41は、さらに、プリンタ2に対応するプログラムである補助プログラム42に実行指示を出力し(B04)、補助プログラム42に処理を要求する。実行指示では、B03にて生成された中間画像データと印刷設定を示す情報とが補助プログラム42に渡される。
【0064】
補助プログラム42は、受け取った中間画像データと印刷設定とに基づいてラスタライズを実行し、印刷データを生成する(B05)。B05にて生成される印刷データは、プリンタ2にて印刷に使用できる形式のデータであり、例えば、プリンタ2のモデルに専用のPDLデータである。なお、補助プログラム42は、A24にて取得した本体情報を利用して、B05を実行しても良い。また、補助プログラム42は、B05の前に再度、プリンタ2から情報を取得しても良い。
【0065】
補助プログラム42は、生成した印刷データと印刷の実行を指示する印刷コマンドとを、プリンタ2に送信する(B06)。印刷データと印刷コマンドとを受信したプリンタ2は、受信した印刷コマンドに基づいて、印刷データの画像の印刷を実行する(B11)。これにより、印刷物が生成される。
【0066】
プリンタ2に対応する補助プログラム42にてラスタライズすることで、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適した印刷データが生成される可能性が高い。なお、補助プログラム42によって生成される印刷データは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。
【0067】
また、補助プログラム42が印刷データを生成する代わりに、汎用印刷プログラム41が印刷データの生成を行っても良い。つまり、補助プログラム42は、中間画像データと、印刷設定の情報と、印刷実行の情報と、を汎用印刷プログラム41に渡しても良い。汎用印刷プログラム41は、補助プログラム42から受け取った中間画像データと印刷設定とに基づいて印刷データを生成し、生成した印刷データを補助プログラム42に渡しても良い。補助プログラム42は、汎用印刷プログラム41から印刷データを受け取った場合、汎用印刷プログラム41から受け取った印刷データを、印刷の実行を指示する印刷コマンドとともにプリンタ2に送信する。
【0068】
汎用印刷プログラム41によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データであり、例えば、PWGRasterデータ、または、PDFデータである。汎用印刷プログラム41によって印刷データを生成するとすれば、補助プログラム42の処理が少なく、処理時間増大の回避が見込まれ、また、補助プログラム42のプログラムサイズが抑えられる。
【0069】
また、プリンタ2への印刷データ等の送信は、汎用印刷プログラム41が行っても良い。つまり、補助プログラム42は、生成した印刷データ等を、プリンタ2を送信先としてPC1から送信されるように、汎用印刷プログラム41に渡しても良い。この場合、汎用印刷プログラム41は、補助プログラム42から受け取った印刷データ等を、OS21を介してプリンタ2に送信する。
【0070】
また、プリンタ2は、中間画像データをラスタライズする機能を有していても良い。プリンタ2がラスタライズの機能を有している場合には、補助プログラム42は、印刷対象の画像の印刷データを生成することなく、印刷対象の画像の中間画像データと印刷設定とを含む印刷コマンドをプリンタ2に送信しても良い。
【0071】
さらに、補助プログラム42は、印刷コマンドの送信に利用した接続情報がメモリ12に記憶されていない場合には、その接続情報をメモリ12に記憶する(B15)。B15は、記憶処理の一例である。補助プログラム42は、補助プログラム42にて書き込むことができるメモリ領域に、印刷コマンドの送信先のプリンタの接続情報を、プリンタの識別情報に対応付けて記憶する。なお、プリンタ2の接続情報が既に記憶されている場合、補助プログラム42は、接続情報を上書きしても良い。
【0072】
印刷データの送信が終了したら、補助プログラム42は、汎用印刷プログラム41に処理の終了を通知する(B21)。これにより、汎用印刷プログラム41は、B02にて受け付けた印刷指示の処理を終了する。汎用印刷プログラム41は、処理の終了を編集アプリ43に通知しても良い。
【0073】
なお、補助プログラム42は、「アプリ起動」ボタン532(
図4)への操作に応じて汎用印刷プログラム41から起動された場合や、印刷実行の指示に応じて汎用印刷プログラム41から起動された場合だけでなく、他のタイミングでも、プリンタの接続情報を記憶しても良い。例えば、補助プログラム42は、PC1にインストールされた際に、対応付けられたプリンタの接続情報をOS21から取得し、取得した接続情報をメモリ12に記憶しても良い。また、例えば、補助プログラム42は、自身に対応する新たなプリンタがPC1に接続された場合に、その新たなプリンタの接続情報をOS21から取得し、取得した接続情報をメモリ12に記憶しても良い。
【0074】
以上、詳細に説明したように、第1の形態の補助プログラム42は、編集アプリ43等を介した印刷指示とは別に、OS21にて起動指示が受け付けられた際、選択されているプリンタ2の本体情報と、プリンタ2とは別のプリンタの本体情報とを取得して、プリンタ一覧画面54またはプリンタ一覧画面55として表示する。これにより、ユーザは、選択中のプリンタ2の情報だけでなく、他のプリンタの情報についても、プリンタの選択を切り替える操作を行うことなく、簡単に把握できる。例えばユーザは、印刷指示を入力する前に、PC1と接続される複数のプリンタの中から、印刷させるプリンタの選択に役立つ情報を簡単に得られる。
【0075】
続いて、第2の形態の補助プログラム42について、添付図面を参照しつつ詳細に説明する。本形態の補助プログラム42は、第1の形態の補助プログラム42と、接続情報の取得方法が異なるのみであり、第1の形態の補助プログラム42と共通の構成や動作については、同じ符号を付して説明を省略する。
【0076】
本形態の補助プログラム42は、「アプリ起動」ボタン532(
図4)への操作によるプログラムの起動指示に基づいて、汎用印刷プログラム41から処理が要求された場合、第1の形態とは異なるプリンタ情報表示処理を実行する。第2の形態のプリンタ情報表示処理の手順について、
図9のフローチャートを参照して説明する。プリンタ情報表示処理は、補助プログラム42の記載に基づいて、PC1のCPU11にて実行される。
【0077】
本形態のプリンタ情報表示処理では、CPU11は、PC1が接続されるネットワークに接続されているプリンタを検索する(S201)。CPU11は、例えば、通信IF14を介して、PC1が接続されるネットワークに検索信号を出力し、各プリンタから送信される応答信号を受信する。S201は、検索処理の一例である。
【0078】
本形態の補助プログラム42は、接続情報をメモリ12に記憶しなくても良い。接続情報をメモリ12から読み出す第1の形態の場合と比較して、ネットワーク検索にて対象となるプリンタはネットワーク内のプリンタに限られるが、ネットワーク検索によれば、補助プログラム42は、接続情報を取得したことがないプリンタであってもアクセス可能になる可能性がある。
【0079】
CPU11は、応答を受け付けたプリンタが、選択中のプリンタであるプリンタ2であるか否かを判断する(S202)。プリンタ2であると判断した場合(S202:YES)、CPU11は、プリンタ2から本体情報を取得する(S103)。S103は、第1の形態のS103と同様の処理である。選択されているプリンタであるプリンタ2は、第1プリンタの一例であり、プリンタ2の本体情報は、第1本体情報の一例である。S103は、第1取得処理の一例である。
【0080】
S103の後、または、応答を受け付けたプリンタがプリンタ2ではないと判断した場合(S202:NO)、CPU11は、応答を受け付けたプリンタに、プリンタ2以外のプリンタの情報が含まれているか否かを判断する(S112)。つまり、CPU11は、プリンタ2以外のプリンタが検索されたか否かを判断する。S112は、判断処理の一例である。
【0081】
プリンタ2以外のプリンタの情報が含まれていると判断した場合(S112:YES)、CPU11は、その情報を利用して、プリンタ2以外のプリンタから本体情報を取得する(S113)。プリンタ2以外のプリンタは、第2プリンタの一例である。プリンタ2以外のプリンタの本体情報は、第2本体情報の一例であり、S113は、第2取得処理の一例である。なお、CPU11は、プリンタ2以外に複数のプリンタが検索された場合、S113では、検索された全てのプリンタに対して、本体情報を要求する。
【0082】
そして、CPU11は、取得した各プリンタの情報をユーザIF13に表示させて(S121)、プリンタ情報表示処理を終了する。S121は、表示処理の一例である。なお、S113の対象となるプリンタは、補助プログラム42や同種のプログラムに対応しないプリンタであって、詳細な本体情報を取得できないプリンタである可能性がある。S121では、CPU11は、取得可能な範囲の情報を表示すれば良い。
【0083】
本形態の補助プログラム42は、第1の形態のプリンタ一覧画面54と同様の画面を表示し、ユーザの操作を受け付け可能となる。そして、表示中の画面へのユーザの指示に応じて、補助プログラム42は、各プリンタに本体命令を出力可能である。
【0084】
また、本形態の補助プログラム42は、第1の形態と同様に、ユーザによる印刷の指示に応じて汎用印刷プログラム41から起動された場合、
図8のシーケンス図に示した手順と同様の手順を実行する。ただし、本形態の補助プログラム42は、接続情報をメモリ12に記憶する必要はないので、B15を削除した手順を実行する。
【0085】
以上、詳細に説明したように、第2の形態の補助プログラム42は、第1の形態の補助プログラム42と同様に、OS21にて起動指示が受け付けられた際、選択されているプリンタ2の本体情報と、プリンタ2とは別のプリンタの本体情報とを取得して、プリンタ一覧画面を表示する。これにより、ユーザは、選択中のプリンタ2の情報だけでなく、他のプリンタの情報についても、プリンタの選択を切り替える操作を行うことなく、簡単に把握できる。
【0086】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。従って、本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1には、印刷機能を有する装置以外のデバイスがさらに接続されていても良い。
【0087】
また、例えば、
図6や
図7に示したプリンタ一覧画面54、55は、いずれも一例であって、図示の例に限らない。例えば、画面中に表示される文言やボタンの数、形状、配置、背景等は、どのようなものでも良い。
【0088】
また、例えば、プリンタ一覧画面54、55に本体命令を受け付けるボタン71~72、82~83が含まれるとしたが、少なくとも各プリンタの本体情報が含まれていれば良く、本体命令を受け付けるボタンは含まれなくても良い。また、本形態では、各ボタンへの操作を受け付けたことで本体命令を出力するとしたが、プリンタ一覧画面54、55の表示によって、自動的に出力される本体命令があっても良い。
【0089】
また、第1の形態の補助プログラム42は、接続情報をメモリ12に記憶し、記憶している接続情報を読み出すことでプリンタから情報を取得し、第2の形態の補助プログラム42は、ネットワーク検索を行うことでプリンタから情報を取得するとしたが、補助プログラム42は、これらの両方を行っても良い。
【0090】
また、実施の形態では、補助プログラム42の動作として、プリンタの情報の表示動作と印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、本形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフローアプリ(Print workflow)でも良い。
【0091】
また、補助プログラム42の実行タイミングは、実施の形態の例に限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
【0092】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0093】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0094】
1 PC
2、3、4 プリンタ
11 CPU