(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-27
(45)【発行日】2025-02-04
(54)【発明の名称】サポートプログラムおよび印刷システム
(51)【国際特許分類】
G06F 3/12 20060101AFI20250128BHJP
H04N 1/00 20060101ALI20250128BHJP
B41J 29/38 20060101ALI20250128BHJP
【FI】
G06F3/12 339
G06F3/12 303
G06F3/12 328
G06F3/12 325
G06F3/12 385
G06F3/12 353
G06F3/12 338
H04N1/00 838
B41J29/38 201
B41J29/38 203
(21)【出願番号】P 2021004721
(22)【出願日】2021-01-15
【審査請求日】2023-12-26
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】細溝 仁人
【審査官】佐藤 実
(56)【参考文献】
【文献】国際公開第2020/110991(WO,A1)
【文献】特開2009-122857(JP,A)
【文献】特開2009-170996(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
H04N 1/00
B41J 29/00-29/70
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記プリンタは、ユーザに設定された利用条件に基づいて印刷の実行可否を決定する制限機能を有し、
前記コンピュータに、
前記プリンタの前記制限機能が有効か否かを示す情報を取得する管理情報取得処理を実行させ、
さらに前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、
前記管理情報取得処理にて前記制限機能が有効を示す前記情報を取得していれば、
ユーザを識別する識別情報を取得する識別情報取得処理と、
前記印刷指示の印刷ジョブを、前記識別情報取得処理にて取得した前記識別情報と対応付けて前記プリンタに送信するための処理を行う送信処理と、
を実行させ、前記プリンタは、受信した前記印刷ジョブに対応付けられた前記識別情報によって特定されるユーザの前記利用条件に基づいて、前記印刷ジョブに基づく印刷の実行可否を決定し、
前記管理情報取得処理にて前記制限機能が有効を示す前記情報を取得していなければ、
前記識別情報取得処理および前記送信処理を実行させず、前記印刷指示の前記印刷ジョブを前記プリンタに送信するための処理を実行させる、
ことを特徴とするサポートプログラム。
【請求項2】
請求項
1に記載するサポートプログラムであって、
前記識別情報取得処理では、
前記情報処理装置のユーザインタフェースを用いて、前記識別情報の入力を求める画面を表示し、前記ユーザインタフェースを介して入力された前記識別情報を取得する、
ことを特徴とするサポートプログラム。
【請求項3】
請求項
1に記載するサポートプログラムであって、
前記識別情報取得処理では、
前記オペレーティングシステムにログインユーザを問い合わせ、前記オペレーティングシステムからログインユーザの前記識別情報を取得する、
ことを特徴とするサポートプログラム。
【請求項4】
請求項1から請求項
3のいずれか1つに記載するサポートプログラムであって、
前記コンピュータに、
前記送信処理によって前記印刷ジョブが送信された後、前記プリンタでの前記印刷ジョブに基づく処理結果を取得する結果取得処理と、
前記結果取得処理にて前記処理結果を取得した場合、取得した前記処理結果を、前記情報処理装置のユーザインタフェースを用いて通知する通知処理と、
を実行させる、
ことを特徴とするサポートプログラム。
【請求項5】
プリンタと、
情報処理装置のコンピュータによって実行可能であって、前記情報処理装置と接続する前記プリンタに対応するサポートプログラムと、
を有する印刷システムであって、
前記プリンタは、ユーザに設定された利用条件に基づいて印刷の実行可否を決定する制限機能を有し、
前記サポートプログラムは、
前記プリンタの前記制限機能が有効か否かを示す情報を取得し、
さらに、前記サポートプログラムは、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、
前記プリンタの前記制限機能が有効を示す前記情報を取得していれば、
ユーザを識別する識別情報を取得し、
前記印刷指示の印刷ジョブを、取得した前記識別情報と対応付けて前記プリンタに送信するための処理を行い、
前記プリンタは、
受信した前記印刷ジョブに対応付けられた前記識別情報によって特定されるユーザの前記利用条件に基づいて、前記印刷ジョブに基づく印刷の実行可否を決定
し、
また、前記サポートプログラムは、
前記印刷指示があった場合に、
前記プリンタの前記制限機能が有効を示す前記情報を取得していなければ、
前記ユーザを識別する前記識別情報を取得せず、前記印刷指示の前記印刷ジョブを、取得した前記識別情報と対応付けて前記プリンタに送信するための処理を行わず、前記印刷指示の前記印刷ジョブを前記プリンタに送信するための処理を行う、
ことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムおよび印刷システムに関する。
【背景技術】
【0002】
プリンタに関する技術として、ユーザごとにプリンタの機能の利用可否を管理する技術が知られている。さらに例えば特許文献1には、一部の機能の利用が制限されたプリンタを、情報処理装置から制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、プリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタとOS標準の印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の印刷プログラムによる印刷が可能になる。
【0005】
プリンタにおいて、情報処理装置から受信した印刷ジョブの利用可否を管理する場合、例えば情報処理装置がプリンタドライバによってユーザの識別情報を対応付けて印刷ジョブを送信することで、プリンタは、受信した印刷ジョブに対応付けられた識別情報に基づいてその印刷ジョブの実行可否を決めることができる。しかしながら、前述したOS標準の汎用印刷プログラムでは、ユーザの識別情報を印刷ジョブに対応付ける手段が提供されていない。そのため、プリンタにおいてユーザに応じた利用可否の管理が困難になる。
【0006】
本明細書は、OS標準の汎用印刷プログラムが組み込まれた情報処理装置から送信される印刷ジョブについて、ユーザに応じたプリンタの機能の利用可否の管理を可能にする技術を開示する。
【課題を解決するための手段】
【0007】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記プリンタは、ユーザに設定された利用条件に基づいて印刷の実行可否を決定する制限機能を有し、前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、ユーザを識別する識別情報を取得する識別情報取得処理と、前記印刷指示の印刷ジョブを、前記識別情報取得処理にて取得した前記識別情報と対応付けて前記プリンタに送信するための処理を行う送信処理と、を実行させ、前記プリンタは、受信した前記印刷ジョブに対応付けられた前記識別情報によって特定されるユーザの前記利用条件に基づいて、前記印刷ジョブに基づく印刷の実行可否を決定する、ことを特徴とする。
【0008】
上記構成のサポートプログラムは、汎用印刷プログラムに対する印刷指示があった際に、サポートプログラムによって、ユーザの識別情報を取得し、その識別情報を印刷ジョブに対応付ける。その印刷ジョブが情報処理装置からプリンタに送信されることで、プリンタではサポートプログラムが取得したユーザIDを用いて利用条件を抽出し、抽出された利用条件に基づいて印刷の実行可否を決定できる。これにより、汎用印刷プログラムを介して送信された印刷ジョブであっても、プリンタでの利用可否の管理が可能になる。
【0009】
上記装置の機能を実現するためのシステム、制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【0010】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置から送信される印刷ジョブについて、ユーザに応じたプリンタの機能の利用可否の管理を可能にする技術が実現される。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態の印刷システムの概略構成図である。
【
図2】利用条件データベースのデータ構造の一例を示す図である。
【
図3】各プログラムによる印刷動作の手順の例を示すシーケンス図である。
【
図4】送信判断処理の手順の例を示すフローチャートである。
【
図8】第2実施形態の印刷システムの概略構成図である。
【発明を実施するための形態】
【0012】
以下、本形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、プリンタと、そのプリンタに対応するサポートプログラムが組み込まれたPCとを備える印刷システムについて開示する。
【0013】
(第1実施形態)
第1実施形態の印刷システム100は、
図1に示すように、プリンタ2にPC1が通信可能に接続されている。PC1は、CPU11と、メモリ12と、を含むコントローラ10を備えている。PC1は、情報処理装置の一例である。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、
図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0014】
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のアプリケーションプログラム(以下、「アプリ」とする)を含む各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
【0015】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、表示機能と入力受付機能とを備えるタッチパネルであっても良い。
【0016】
通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
【0017】
PC1のメモリ12には、
図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、が記憶されている。補助プログラム42は、サポートプログラムの一例である。編集アプリ43は、アプリケーションプログラムの一例である。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。
【0018】
汎用印刷プログラム41は、ユーザの指示に基づいて、プリンタ2等の各種のプリンタに印刷を実行させるためのOS標準のプログラムである。
【0019】
汎用印刷プログラム41は、各種のプリンタのベンダによって提供される複数種類のモデルのプリンタが共通に利用できる機能をサポートしている。汎用印刷プログラム41は、各種のプリンタが固有に備える機能の全てに対応するものではなく、サポートする機能は汎用的なものに限られる。
【0020】
補助プログラム42は、汎用印刷プログラム41の処理に付随してOS21からの指示に基づいて処理を実行するプログラムまたはプログラム群であり、対象のハードウェアの制御をサポートするアプリである。本形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、汎用印刷プログラム41を使用してプリンタ2に印刷を実行させる指示を受け付けた場合に、汎用印刷プログラム41から起動される。補助プログラム42は、例えば、ハードウェアサポートアプリ(略称、HSA)と呼ばれる。
【0021】
補助プログラム42は、汎用印刷プログラム41から複数種の命令を受け付け可能であり、受け付けた命令に基づいて、各種の処理を実行する。また、補助プログラム42は、汎用印刷プログラムから印刷を実行する指示に応じてプリンタ2に印刷させるための処理を行う場合に、ユーザを識別するユーザIDを取得し、取得したユーザIDを印刷ジョブに対応付けてプリンタ2に送信する。なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。
【0022】
補助プログラムは、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが、それぞれ用意されても良い。PC1のOS21は、例えば、新たなプリンタがPC1に接続された場合、接続されたプリンタのタイプに応じて、適切な補助プログラムをサーバ等からダウンロードして自装置に組み込む。そして、OS21は、組み込んだ補助プログラムの識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。なお、プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
【0023】
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト(登録商標)製のワードやパワーポイントなどであっても良いし、プリンタ2のベンダから提供されるアプリであっても良い。編集アプリ43は、プリンタ2に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ43は、ユーザIF13を介して、例えば、プリンタ2に印刷を実行させる印刷実行指示を受け付ける。
【0024】
本形態のプリンタ2は、印刷機能を有する装置である。PC1は、通信IF14を介して、プリンタ2と通信可能である。プリンタ2は、例えば、PC1等から印刷データを受信して、受信した印刷データに基づく印刷を実行する。さらに、本実施形態のプリンタ2は、ユーザごとに設定された利用条件に基づいて印刷の実行可否を決定する制限機能を有する。制限機能は、管理装置3あるいはプリンタ2の操作パネルを介して有効にしたり、無効にしたりすることができる。プリンタ2のメモリには、制限機能の有効無効を示す機能情報21が記憶されている。機能情報21は、スキャン機能やFAX送信機能等、他の機能に関する有効無効の情報が含まれていてもよい。また、本形態のプリンタ2は、ユーザごとに利用条件を設定する利用条件DB23を備える。
【0025】
図2は、利用条件DB23のデータ構造の一例を示す図である。利用条件DB23は、ユーザの名前を示すユーザ名と、ユーザを識別するユーザIDに、利用条件を関連付けて記憶している。ユーザIDは、識別情報の一例である。
【0026】
利用条件は、プリンタ2での印刷の実行可否を決定する条件である。本形態の利用条件は、特定の印刷設定について利用を制限する。特定の印刷設定は、例えば、トナーや用紙などの消耗品の節約に貢献する印刷設定である。
【0027】
利用条件には、例えば、印刷枚数、カラー/モノクロ、トナーセーブが該当する。印刷枚数の項目には、ユーザが1回の印刷ジョブで印刷可能な印刷枚数の上限値が設定される。印刷枚数の項目には、印刷枚数を制限しないことを示す「無制限」が設定されてもよい。印刷枚数は、印刷ジョブ毎にカウントされる印刷回数であってもよい。また、所定の期間内で印刷できる用紙の総印刷枚数、もしくは、ジョブの総印刷回数でもよい。カラー/モノクロは、カラー印刷が制限されているか否かを示す。すなわち、カラー印刷の利用が制限され、モノクロ印刷の利用のみが許可される場合には「モノクロ」のみがカラー/モノクロの項目に設定され、カラー印刷の利用が可能である場合には、「カラー」と「モノクロ」がカラー/モノクロの項目に設定される。トナーセーブは、トナーセーブが設定されていない印刷が制限されているか否かを示す。すなわち、トナーセーブが設定されていない印刷が制限され、トナーセーブが設定された印刷が許可される場合には「ON」のみがトナーセーブの項目に設定され、トナーセーブが設定されていない印刷が許可される場合には「ON」と「OFF」がトナーセーブの項目に設定される。
【0028】
さらに、利用条件には、片面/両面、集約印刷(例えば2in1)、特定の用紙種の印刷などが含まれていてもよい。片面/両面は、片面印刷が制限されているか否かを示す。集約印刷は、集約が設定されていない印刷が制限されているか否かを示す。特定の用紙種の印刷可否は、はがきなど特定の用紙種への印刷が制限されているか否かを示す。
【0029】
なお、本形態では、識別情報の対象となるユーザを個人としているが、グループや企業(法人)を識別情報の対象となるユーザにしてもよい。この場合、利用条件DB23では、ユーザとなるグループを識別するグループ識別情報や、ユーザとなる企業(法人)を識別する企業識別情報に、利用条件が関連付けられて記憶される。
【0030】
次に、本形態の補助プログラム42の動作を含む印刷の手順について、
図3のシーケンス図を参照して説明する。
図3は、編集アプリ43等の印刷指示を受け付けるアプリにて、汎用印刷プログラム41を使用してプリンタ2に印刷させる印刷実行指示を受け付けた場合であって、プリンタ2に対応する補助プログラム42がPC1に組み込まれている場合の動作について示している。
【0031】
なお、本形態における処理およびフローチャートの各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0032】
図3に示すように、編集アプリ43は、文字や図形などの編集を受け付けた後、印刷画面にてプリンタ2や各種印刷設定が選択された状態で、印刷指示を受け付けると(A01)、受け付けた印刷指示についての情報をOS21に渡す。OS21は、汎用印刷プログラム41を使用する印刷実行指示を受け付けた場合、汎用印刷プログラム41を実行させ、汎用印刷プログラム41に印刷指示についての画像データや印刷設定等の情報を渡す(A02)。
【0033】
汎用印刷プログラム41は、受け取った印刷指示についての情報に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し、中間画像データを含む印刷ジョブを生成する(A03)。編集アプリ43から渡される画像データは種々のタイプのものであり、汎用印刷プログラム41は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷指示に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。汎用印刷プログラム41が生成する中間画像データは、例えば、XPSデータである。
【0034】
汎用印刷プログラム41は、印刷指示にて選択されている装置がプリンタ2であって、プリンタ2に対応する補助プログラム42がメモリ12に記憶されていることから、補助プログラム42に実行指示を出力する(A04)。汎用印刷プログラム41は、実行指示によって、補助プログラム42を動作させ、生成した中間画像データを補助プログラム42に渡す。なお、A04では、中間画像データとともに印刷設定の情報も補助プログラム42に渡される。
【0035】
なお、汎用印刷プログラム41は、中間画像データの生成前に補助プログラム42を実行させても良い。補助プログラム42は、例えば、印刷指示に含まれる印刷設定を示す情報を汎用印刷プログラム41から受け取り、その一部を編集して汎用印刷プログラム41に返しても良い。
【0036】
補助プログラム42は、A04にて汎用印刷プログラム41から実行指示を受け取ると、送信判断処理を実行する(A05)。送信判断処理は、プリンタ2に送信する印刷ジョブに、ユーザIDを対応付けるか否かを判断するための処理である。
【0037】
A05にて実行される送信判断処理の手順について、
図4のフローチャートを参照して説明する。この送信判断処理は、補助プログラム42の処理であり、PC1のCPU11によって実行される。送信判断処理では、CPU11は、まず、制限機能の有効無効の情報が含まれる機能情報21を取得する(S1)。S1は、管理情報取得処理の一例である。例えば、CPU11は、通信IF14を介して、印刷指示にて選択されているプリンタ2に機能情報21の送信を要求する。CPU11は、プリンタ2がその要求に応じて出力した機能情報21を通信IF14を介して受信すると、メモリ12に記憶する。
【0038】
CPU11は、S1にて機能情報21の取得に成功したか否かを判断する(S3)。例えば、制限機能を有していないプリンタは、機能情報21を有していない。そのようなプリンタが選択されている場合、CPU11は、機能情報21の取得に失敗する(S3:NO)。このような場合、当該プリンタが、利用制限を行っておらず、誰でも任意の機能を利用できると想定されるので、CPU11は、ユーザIDに対応付けずに印刷ジョブを送信すると判断し(S27)、
図3の処理に戻る。
【0039】
一方、
図4に示すように、CPU11は、機能情報21の取得に成功した場合(S3:YES)、S1にて取得した機能情報21に含まれる、制限機能の有効無効を示す情報が、有効を示すか否かを判断する(S5)。例えば、CPU11は、プリンタ2から取得した機能情報21が制限機能の無効を示す情報を含む場合(S5:NO)、プリンタ2が利用制限を行っておらず、印刷できる可能性が高いので、ユーザIDに対応付けずに印刷ジョブを送信すると判断し(S27)、
図3の処理に戻る。
【0040】
図4に示すように、CPU11は、プリンタ2から取得した機能情報21が制限機能の有効を示す情報を含む場合(S5:YES)、OS21にログインユーザのユーザアカウントを問い合わせ(S7)、ユーザアカウントを取得したか否かを判断する(S9)。CPU11は、ユーザアカウントを取得した場合(S9:YES)、ユーザIF13を介して、取得したユーザアカウントを表示し(S11)、そのユーザアカウントをユーザIDとして承認するか否かを確認する(S13)。CPU11は、ユーザIF13の入力操作を介して承認する指示を受け付けた場合(S13:YES)、後述するようにユーザIF13に印刷設定画面を表示させる(S19)。なお、S11では、ユーザIDの変更を受け付け、S13にて変更後のユーザIDについて承認するようにしてもよい。
【0041】
一方、CPU11は、ユーザIF13の入力操作を介して承認しない指示を受け付けた場合(S13:NO)、ユーザIF13を介してユーザID入力画面を表示する(S14)。
【0042】
例えば
図5に示すように、ユーザID入力画面210は、ユーザIDを入力するための第1入力欄211と、パスワードを入力するための第2入力欄215と、を備え、ユーザIDとパスワードの入力を要求する。また、ユーザID入力画面210は、ユーザIDを確定する指示を受け付ける確定ボタン212と、印刷のキャンセルを指示するキャンセルボタン213とを含む。
【0043】
なお、補助プログラム42がユーザIDを登録する機能を有する場合、第1入力欄211に代えて、補助プログラム42に登録されたユーザIDをユーザIF13に選択可能に表示する選択欄を設け、ユーザがユーザIDを選択できるようにしてもよい。この場合、
図4のS7~S17を省略し、補助プログラム42の処理負荷を軽減できる。
【0044】
ユーザがユーザIF13を介して第1入力欄211と第2入力欄215にユーザIDとパスワードをそれぞれを入力し、確定ボタン212を操作すると、CPU11は、
図4に示すように、ユーザIDの入力が確定されたと判断する(S15:YES)。この場合、CPU11は、入力されたユーザIDとパスワードに基づく認証を行い(S16)、ユーザを特定したか否かを判断する(S17)。なお、CPU11は、プリンタや認証サーバ等の外部デバイスで認証を行わせ、その結果を取得することでユーザを特定したか否かを判断してもよい。
【0045】
CPU11は、S16の認証に成功し、ユーザを特定した場合(S17:YES)、ユーザIF13に印刷設定画面を表示させる(S19)。
【0046】
例えば
図6に示す印刷設定画面230には、印刷設定の各項目に設定値を設定するための設定欄231と、印刷設定を確定させるための確定ボタン232と、印刷をキャンセルするためのキャンセルボタン233とを有する。設定欄231には、
図3のA04にて汎用印刷プログラム41から実行指示と共に受け取った印刷設定が各項目に表示されている。CPU11は、ユーザIF13を介して、各設定の設定値を変更できる。また、印刷設定画面230では、汎用印刷プログラム41では対応できないプリンタ2固有の印刷設定を設定することもできる。CPU11は、ユーザIF13を介して印刷設定画面230の確定ボタン232が操作されると、印刷設定を確定する確定指示を受け付けたと判断する(S21:確定指示)。この場合、CPU11は、ユーザIDに対応付けて印刷ジョブを送信と判断し(S23)、
図3の処理に戻る。
【0047】
なお、CPU11は、OS21からユーザアカウントを取得できなかった場合(S9:NO)、
図5に示すユーザID入力画面210をユーザIF13に表示させる(S14)。つまり、補助プログラム42は、始めからユーザにユーザIDを入力させるのではなく、ユーザIDの自動取得に失敗した場合に、ユーザIF13を介してユーザIDをユーザに手入力させる。これにより、ユーザがユーザIDを入力する機会を減らすことができる。S14以降の処理は上述したので説明を省略する。
【0048】
これに対して、例えば、ユーザがユーザIF13を介して
図5に示すユーザID入力画面210のキャンセルボタン213を操作した場合、CPU11は、
図4に示すように、ユーザIDの入力が確定されないと判断する(S15:NO)。また、CPU11は、ユーザIDとパスワードを入力した状態で確定ボタン212が操作されたが(S15:YES)、S16の認証で失敗した場合、CPU11は、ユーザを特定できないと判断する(S17:NO)。これらの場合、CPU11は、印刷ジョブを送信しないと判断し(S25)、
図3の処理に戻る。
【0049】
また、CPU11は、ユーザIF13を介して印刷設定画面230のキャンセルボタン233が操作されると、キャンセル指示を受け付けたと判断する(S21:キャンセル指示)。この場合も、CPU11は、印刷ジョブを送信しないと判断し(S25)、
図3の処理に戻る。
【0050】
図3に示すように、補助プログラム42は、A05の送信判断処理にて、ユーザIDと対応付けて印刷ジョブを送信と判断した場合(alt:ユーザIDと対応付けて印刷ジョブ送信)、印刷データを生成する(A11)。具体的に、補助プログラム42は、A04にて汎用印刷プログラム41から受け取った実行指示に基づいて、中間画像データに基づくラスタライズを行い、印刷対象の画像を示す印刷データを生成する。印刷データは、A04にて汎用印刷プログラム41から受け取った印刷設定、あるいは、
図4のS19にて表示される印刷設定画面230を介して受け付けた印刷設定を用いて、中間画像データをラスタライズしたものである。ここで生成される印刷データは、プリンタ2にて印刷に使用できる形式のデータであり、例えば、プリンタ2のモデルに専用のPDLデータである。
【0051】
なお、補助プログラム42がA11にて印刷データを生成する代わりに、汎用印刷プログラム41が印刷データの生成を行っても良い。つまり、汎用印刷プログラム41は、A03にて生成した中間画像データをラスタライズして印刷データを生成してもよい。補助プログラム42は、汎用印刷プログラム41にて生成された印刷データを受け取り、汎用印刷プログラム41で対応できない印刷設定に基づいて印刷データを編集してもよい。汎用印刷プログラム41で対応できない印刷設定がない場合、補助プログラム42は印刷データを編集しなくてもよい。
【0052】
汎用印刷プログラム41によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データであり、例えば、PWGRasterデータ、または、PDFデータである。汎用印刷プログラム41によってラスタライズするとすれば、補助プログラム42の処理が少なく、処理増大の回避が見込まれ、また、補助プログラム42のプログラムサイズが抑えられる。なお、汎用印刷プログラム41は、中間画像データを介さず、印刷指示に含まれる画像データから印刷データを生成できる場合には、中間画像データを生成しなくてもよい。
【0053】
補助プログラム42は、A11にて印刷データを生成すると、生成した印刷データと、印刷実行を指示するコマンドと、ユーザIDと、印刷データの生成に使用した印刷設定と、をプリンタ2に送信する(A12)。
【0054】
なお、印刷データのプリンタ2への送信は、汎用印刷プログラム41が行ってもよい。つまり、補助プログラム42は、生成した印刷データを、プリンタ2を送信先としてPC1から送信されるように、汎用印刷プログラム41に渡してもよい。この場合、汎用印刷プログラム41は、補助プログラム42から受け取った印刷データをプリンタ2に送信する。本形態において、補助プログラム42がプリンタ2に印刷データを送信することも、印刷データをプリンタ2に送信するために補助プログラム42が汎用印刷プログラム41に印刷データを渡すことも、「印刷指示についての印刷ジョブをプリンタに送信するための処理」の一例である。
【0055】
PC1から印刷データを受信したプリンタ2は、印刷データと共に受信したユーザIDと印刷設定とを取得し(A21)、判定処理を行う(A22)。A22では、プリンタ2は、A21にて取得したユーザIDに関連付けられた利用条件を利用条件DB23から抽出し、抽出した印刷条件と、A21にて取得した印刷設定とを照合し、印刷ジョブに基づく印刷を実行できるか否かを判定する。
【0056】
例えば、
図2に示すように、印刷枚数が80枚に制限され、カラー/モノクロにモノクロのみの設定が許可され、トナーセーブにONとOFFの設定が許可されたユーザCにより、印刷ジョブがPC1からプリンタ2に送信されたとする。例えば、ユーザCは、
図6に示すように、印刷設定画面230にて、印刷範囲に「すべて」を設定し、カラー/モノクロに「カラー」を設定し、トナーセーブに「OFF」を設定した状態で、ユーザIF13を用いて確定ボタン232を操作し、100ページの印刷を行おうとしているとする。この場合、プリンタ2がPC1から受信した印刷設定は、印刷枚数(100枚)がユーザCの印刷枚数制限(80枚)を超過し、カラー印刷がユーザCに許可された設定に反している。このように、印刷設定がユーザCの利用条件を全て満たさない場合、プリンタ2は、印刷が実行不可と判定する。一方、例えば、ユーザCが、印刷設定画面230にて、印刷範囲でページ指定を選択し、指定範囲に「1-50」を設定し、カラー/モノクロに「モノクロ」を設定した状態で、確定ボタン232を操作したとする。これにより、プリンタ2がPC1から受信した印刷設定がユーザCの利用条件を全て満たす場合、プリンタ2は、印刷が実行可と判定する。
【0057】
プリンタ2は、A22の判定処理において、A21にて取得した印刷設定が、A21にて取得したユーザIDに基づいて利用条件DB23から抽出した利用条件を全て満たし、印刷を実行できると判定した場合(alt:実行可)、印刷を実行する(A31)。プリンタ2による印刷が完了すると、その旨を、補助プログラム42がポーリング処理によりプリンタ2から取得する(A32)。補助プログラム42は、処理結果として印刷が成功したことを報知すると(A34)、終了通知を汎用印刷プログラム41に渡す(A35)。報知は、ユーザIF13を介して行ってもよいし、音声等で行ってもよい。
【0058】
これに対して、プリンタ2は、A22の判定処理において、A21にて取得した印刷設定が、A21にて取得したユーザIDに基づいて利用条件DB23から抽出した利用条件の何れかを満たさず、プリンタ2での印刷が実行不可と判定した場合(alt:実行不可)、印刷をキャンセルする(A41)。プリンタ2により印刷がキャンセルされると、その旨を、補助プログラム42がポーリング処理によりプリンタ2から取得する(A42)。補助プログラム42は、印刷がキャンセルされた旨を取得すると、プリンタ2より、A22の判定処理に用いられた利用条件と、A22の判定処理の判定結果と、を取得する(A43)。
【0059】
補助プログラム42は、これらの情報を取得すると、処理結果として印刷失敗報知画面をユーザIF13に表示させ(A44)、印刷キャンセルを汎用印刷プログラム41に渡す(A45)。なお、A32、A42~A43は、結果取得処理の一例であり、A34、A44は、通知処理の一例である。
【0060】
例えば
図7に示すように、ユーザIF13に表示される印刷失敗報知画面220は、利用条件に基づく情報を表示する第1表示欄223と、利用条件を満たさない項目に関する情報を表示する第2表示欄225とを含む。さらに、印刷失敗報知画面220は、OKボタン227を含む。
【0061】
例えば、ユーザCによる印刷の印刷設定が、ユーザCに設定された印刷枚数制限を超過し、カラー/モノクロにカラーを設定している場合、プリンタ2は印刷が実行不可と判定する。この場合、補助プログラム42は、印刷をキャンセルしたことを示す通知と、ユーザCの利用条件と、判定結果とをプリンタ2より取得する。補助プログラム42は、それらの情報に基づき印刷失敗報知画面220をユーザIF13に表示する。
【0062】
すなわち、補助プログラム42は、例えば、「印刷に失敗しました!処理をやり直して下さい。」など、プリンタ2が印刷をキャンセルした処理結果221をユーザIF13に表示する。
【0063】
さらに、補助プログラム42は、汎用印刷プログラム41から受け取ったユーザCの利用条件に基づく情報を第1表示欄223に表示し、ユーザCの印刷設定がプリンタ2にてどのように制限されたか通知する。例えば、補助プログラム42は、ユーザCのユーザ名「C」を、第1表示欄223のログイン名の欄に表示させ、ユーザCの利用条件であることを通知する。そして、補助プログラム42は、印刷枚数制限の欄に「ON」と「最大80枚」を表示し、ユーザCが1回に印刷できる印刷枚数が80枚までに制限されていることを通知する。また、補助プログラム42は、印刷残ページの欄に「0ページ」を表示し、印刷枚数が制限を超過しているために1枚も印刷できないことを通知する。なお、例えば印刷枚数が80枚に制限されている場合に、50ページ分の印刷を行うときは、あと30枚印刷可能なので、補助プログラム42は印刷残ページの欄に「30ページ」と表示する。
【0064】
また例えば、補助プログラム42は、カラー印刷の欄に「不許可」を表示し、カラー印刷を利用できないことを通知する。また例えば、補助プログラム42は、第1表示欄223のトナーセーブOFF印刷の欄に「許可」を表示し、トナーセーブが設定されていない印刷を利用できることを通知する。
【0065】
また、補助プログラム42は、利用条件を満たしていない印刷枚数とカラー/モノクロについて、第2表示欄225に表示する。例えば、第2表示欄225には、「印刷枚数が超過しています。」や、「カラー印刷できません。」など、利用条件を満たさない項目を知らせるメッセージが表示される。
【0066】
よって、ユーザCは、印刷失敗報知画面220の表示から印刷に失敗した原因を把握し、印刷をやり直す際の印刷設定に役立てることができる。
【0067】
例えば、ユーザCがユーザIF13を介して印刷失敗報知画面220のOKボタン227を操作すると、
図3に示すように、補助プログラム42は、印刷キャンセルを汎用印刷プログラム41に渡し、処理を終了する。
【0068】
これに対して、補助プログラム42は、A05の送信判断処理にて、ユーザIDと対応付けずに印刷ジョブを送信と判断した場合(alt:ユーザIDと対応付けずに印刷ジョブ送信)、印刷データを生成する(A51)。A51の処理はA11の処理と同様なので説明を省略する。補助プログラム42は、印刷データに、印刷の実行を指示するコマンドと、印刷設定を付し、プリンタ2に送信する(A52)。すなわち、補助プログラム42は、機能情報21をプリンタ2から取得できなかった場合(
図4のS3:NO)や、機能情報21を取得したが、その取得した機能情報21が制限機能を無効とする情報を含む場合(
図4のS5:NO)、従来同様、ユーザIDをプリンタ2に送信しない。ユーザIDが付されていない印刷データを受信したプリンタ2は、印刷を実行する(A53)。この場合、プリンタ2は未対応のユーザIDが送信されることによる不具合が発生するおそれはない。
【0069】
一方、補助プログラム42は、A05の送信判断処理にて、印刷ジョブを送信しないと判断した場合(alt:印刷ジョブ送信しない)、印刷ジョブをキャンセルする情報を汎用印刷プログラム41に渡す(A61)。例えば、補助プログラム42は、ユーザIDを取得できなかった場合や、印刷設定の途中で印刷がキャンセルされた場合、プリンタ2に印刷ジョブを送信しない。
【0070】
以上、詳細に説明したように、第1実施形態の補助プログラム42は、汎用印刷プログラム41に対する印刷指示があった際に、補助プログラム42によって、ユーザIDをOS21やユーザIF13を介して取得し、そのユーザIDを印刷ジョブに対応付ける。その印刷ジョブがPC1からプリンタ2に送信されることで、プリンタ2では補助プログラム42が取得したユーザIDを用いて利用条件を抽出し、抽出された利用条件に基づいて印刷の実行可否を決定できる。これにより、汎用印刷プログラム41を介して送信された印刷ジョブであっても、プリンタ2での利用可否の管理が可能になる。
【0071】
(第2実施形態)
続いて、本発明の第2実施形態について説明する。
図8は、第2実施形態に係る印刷システム500の概略構成図である。本形態では、第1実施形態と相違する点を説明し、共通する点は第1実施形態と同じ符号を使用し、説明を適宜省略する。印刷システム500は、PC1と、プリンタ2と、管理装置3と、を備えている。
【0072】
管理装置3は、通信機能やデータ記憶機能を備える装置である。管理装置3は、例えば、制限機能を有しているプリンタ2を含む複数のプリンタと通信可能に接続し、それらのプリンタを一括管理する。管理装置3は、例えば、管理者が使用するPCや、ネットワーク上に設けられたサーバである。
【0073】
管理装置3は、機能情報管理DB31と利用条件管理DB33とを備えている。機能情報管理DB31は、管理装置3に接続されるプリンタの識別情報に、それぞれ、制限機能の有効無効を示す情報を関連付けて記憶している。利用条件管理DB33は、管理装置3に接続されるプリンタ毎に、ユーザに設定される利用条件を管理するためのデータベースである。利用条件管理DB33は、プリンタの識別情報に関連付けて、利用条件DBを記憶している。利用条件DBは、
図1に示す利用条件DB23と同様に構成されている。管理装置3は、第1実施形態で説明した判定処理(
図3のA22)と同様の処理を行う。
【0074】
なお、管理装置3は、プリンタ2の識別情報に関連付けて機能情報と利用条件DBとを機能情報管理DB31と利用条件管理DB33に記憶している。そのため、本形態のプリンタ2は、機能情報21と利用条件DB23とを備えないことで、メモリ負荷が小さくされている。
【0075】
このような印刷システムにおいて、補助プログラム42は、制限機能の有効無効を示す情報を含む機能情報を、管理装置3から取得するようにしてよい。すなわち、例えば、印刷設定にてプリンタ2が選択されている場合、補助プログラム42は、PC1の通信IF14を介して、プリンタ2の識別情報を管理装置3に送信する。管理装置3は、PC1からプリンタ2の識別情報を受信すると、そのプリンタ2の識別情報に関連付けられた機能情報を機能情報管理DB31から抽出し、PC1に送信する。補助プログラム42は、通信IF14を介して、管理装置3から送信された機能情報を受信し、メモリ12に記憶する。尚、制限機能の有効無効を示す情報を含む機能情報を、補助プログラム42がプリンタ2から取得するように印刷システムを構成してもよい。
【0076】
補助プログラム42は、取得した機能情報を用いて、
図4のS3~S27の処理を行う。これらの処理については、上述したので説明を省略する。
【0077】
プリンタ2は、ユーザIDと印刷設定が付された印刷データを補助プログラム42から受信すると、管理装置3に判定処理を依頼する。すなわち、プリンタ2は、補助プログラム42から受け取ったユーザIDと印刷設定を、プリンタ2の識別情報と共に管理装置3に送信する。管理装置3は、プリンタ2の識別情報を受信すると、その識別情報を用いてプリンタ2に対応する利用条件DBを利用条件管理DB33の中から特定する。そして、管理装置3は、プリンタ2から受け取ったユーザIDに関連付けられた利用条件を、特定した利用条件DBから抽出する。そして、管理装置3は、抽出した利用条件と、プリンタ2から受け取った印刷設定とを照合し、印刷設定が利用条件を全て満たす場合には、プリンタ2での印刷が実行可と判定し、印刷設定が利用条件を全て満たさない場合には、プリンタ2での印刷が実行不可と判定する。管理装置3は、この判定結果を、プリンタ2に送り返す。プリンタ2は、管理装置3から受信した判定結果が実行可である場合、印刷を実行し、実行不可であれば、印刷をキャンセルする。
【0078】
このように、管理装置3が、管理下にあるプリンタについて、制限機能の有効無効を示す情報を含む機能情報や、ユーザに設定された利用条件を、一括管理することで、複数のプリンタで共通の利用条件を利用しやすくなる。
【0079】
よって、第2実施形態の補助プログラム42は、制限機能の有効無効を示す情報を含む機能情報21を管理装置3から取得することで、第1実施形態と同様、OS標準の汎用印刷プログラム41が組み込まれたPC1から送信される印刷ジョブについて、ユーザに応じたプリンタ2の機能の利用可否の管理を可能にすることができる。
【0080】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタの数は、図示の例に限らず、2台以上でも良い。
【0081】
例えば、上記形態では、プリンタ2と管理装置3の何れか一方が機能情報21と利用情報とを記憶しているが、機能情報21をプリンタ2と管理装置3との一方が有し、利用条件をプリンタ2と管理装置3との他方が有する構成でもよい。また、プリンタ2と管理装置3が機能情報21と利用条件を同期して記憶していてもよい。
【0082】
例えば、
図4のS7~S13の処理を省略してもよい。補助プログラム42がユーザに直接的にユーザIDの入力を要求することで、印刷指示を入力したユーザを特定し、当該ユーザに応じた利用条件に基づく印刷が可能になる。また、S9、S11を省略し、OS21から取得したユーザアカウントを、ユーザから事前に承認を受けることで、その都度承諾を得る処理を行わずにユーザIDとして取得するようにしてもよい。これによれば、ユーザIDの入力の手間を省くことができる。
【0083】
例えば、
図4のS1~S5を省略し、補助プログラム42は、汎用印刷プログラム41から実行指示を受け取った場合は、常に、S7以降の処理を行ってもよい。ただし、制限機能の有効を示す情報を含む機能情報21を取得しない場合には、ユーザIDをプリンタ2に送信しないことで、プリンタ2の利用に不要なユーザIDによる不具合発生のおそれがなくなる。
【0084】
また例えば、
図4のS14~S17を省略し、ユーザIF13を介した手動操作によりユーザIDを取得しないようにしてもよい。ただし、ユーザに直接的にユーザIDの入力を要求することで、そのユーザIDに対応付けられた印刷ジョブを実行するプリンタ2が、印刷指示を入力したユーザに応じた利用条件に基づく印刷を実行できる。
【0085】
また例えば、
図4のS7~S13を省略し、ユーザIDを手動操作でのみ取得するようにしてもよい。ただし、ログインユーザのユーザアカウントをOS21から取得し、ユーザIDとすることで、ユーザがユーザIDを入力する手間を省くことができる。
【0086】
また例えば、
図3のA34、A44を省略し、補助プログラム42がプリンタ2での処理結果をユーザIF13を介して報知しないようにしてもよい。A34を省略し、印刷に失敗した場合のみ通知処理を行ってもよい。
【0087】
例えば、補助プログラム42は、PC1に接続する全てのプリンタについて、機能情報を取得し、汎用印刷プログラム41から実行指示を受け取った場合に、印刷設定にて選択されたプリンタに対応する機能情報を取得するようにしてもよい。
【0088】
また例えば、実施の形態では、補助プログラム42の動作として、印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、本形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー アプリ(Print workflow)でも良い。
【0089】
また、補助プログラム42の実行タイミングは、実施の形態の例に限らない。例えば、OS21から直接実行指示を受け付けても良いし、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
【0090】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0091】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0092】
1 PC
2 プリンタ
11 CPU
12 メモリ
13 ユーザIF
21 OS
41 汎用印刷プログラム
42 補助プログラム
43 編集アプリ