(57)【要約】【課題】リソースを圧迫させることなく、複数のプリンタドライバで印刷プロセスを安全に共用可能な印刷制御技術を提供する。【解決手段】プリンタドライバ１００ＡのIsolation１０４Ａは、ＵＩ１０１Ａを介してユーザの操作入力に応じて、印刷プロセスをスプーラプロセスから分離するか否かを選択して、ＯＳ５００のIsolationの設定に関する処理を行い、Isolationの設定に関するIsolation設定情報をドライバ設定保存部１０３Ａ及び設定保存部４００に記憶させる。ＵＩ１０１Ａは、設定保存部４００に記憶された機能制限フラグを参照して、他のプリンタドライバ１００で機能制限を行っているか否かに応じて、ドライバ設定保存部１０３Ａに機能制限情報を用いて、印刷条件として設定可能な機能が制限される印刷設定画面を表示部に表示させる。【選択図】        図２
2011180775.tif 000002
【特許請求の範囲】
【請求項１】
印刷条件を含み画像の印刷を指示する印刷データを作成して出力する印刷指示処理を行うためのプリンタ制御プログラムであって、
前記印刷指示処理を、前記印刷データを蓄積して画像形成装置に送信するスプール処理から分離するか否かを選択する選択ステップと、
前記印刷指示処理を前記スプール処理から分離すると選択された場合、当該スプール処理を行うスプールサービスが、他のプリンタ制御プログラムが出力した前記印刷データに対する前記スプール処理を行っているか否かを判断することにより、前記スプールサービスを他のプリンタ制御プログラムと共有しているか否かを判断する共有判断ステップと、
前記スプールサービスを共有していると判断された場合、前記印刷条件として設定可能な機能を制限する機能制限ステップとをコンピュータに実行させる
ことを特徴とするプリンタ制御プログラム。
【請求項２】
前記共有判断ステップでは、前記スプールサービスを他のプリンタ制御プログラムと共有しているか否かを判断すると共に、前記スプールサービスを共有している他のプリンタ制御プログラムの数である共有数を判断し、
前記機能制限ステップでは、前記共有数に応じて、前記機能を制限する
ことを特徴とするプリンタ制御プログラム。
【請求項３】
制限される前記機能は、複数であり、
前記機能毎に前記共有数が設定可能であり、
前記機能制限ステップでは、前記機能毎に設定された前記共有数に応じて、当該機能を制限するか否かを判断する制限判断ステップと、
前記制限判断ステップでの判断の結果に応じて、前記機能を制限する制限ステップとを含む
ことを特徴とする請求項２に記載のプリンタ制御プログラム。
【請求項４】
制限される前記機能は、複数あって予め定められており、
前記機能制限ステップでは、前記スプーラサービスを共有している各前記プリンタ制御プログラムに対して、複数の前記機能を分散させて割り当てる
ことを特徴とする請求項１乃至３のいずれか一項に記載のプリンタ制御プログラム。
【請求項５】
前記機能制限ステップでは、ユーザが前記印刷条件を設定するための設定画面を表示手段に表示させる際に、前記印刷条件として設定可能な機能を制限した前記設定画面を前記表示手段に表示させる
ことを特徴とする請求項１乃至４のいずれか一項に記載のプリンタ制御プログラム。
【請求項６】
前記機能制限ステップでは、前記機能を示す項目を選択不能にした前記設定画面を前記表示手段に表示させる
ことを特徴とする請求項５に記載のプリンタ制御プログラム。
【請求項７】
前記機能制限ステップでは、他のプリンタ制御プログラムによって前記機能が制限されている場合、前記機能を示す項目を含まない前記設定画面を前記表示手段に表示させる
ことを特徴とする請求項５又は６に記載のプリンタ制御プログラム。
【請求項８】
請求項１乃至７のいずれか一項に記載のプリンタ制御プログラムを記憶する記憶手段と、
前記プリンタ制御プログラムを実行する実行手段とを備える
ことを特徴とする情報処理装置。
【請求項９】
請求項１乃至７のいずれか一項に記載のプリンタ制御プログラムを記憶する記憶手段と、
前記記憶手段に記憶された前記プリンタ制御プログラムを情報処理装置に送信する送信手段と、
前記情報処理装置から送信された印刷データを用いて、画像の印刷を行う画像形成手段とを備える
ことを特徴とする画像形成装置。
【請求項１０】
請求項１乃至７のいずれか一項に記載のプリンタ制御プログラムと、当該プリンタ制御プログラムから送信された印刷データを用いて、画像の印刷を行う画像形成装置とを含む
ことを特徴とする印刷システム。
【請求項１１】
請求項１乃至７のいずれか一項に記載のプリンタ制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ制御プログラム、情報処理装置、画像形成装置、印刷システム及び記憶媒体に関する。
【背景技術】
【０００２】
従来より、印刷プロセスにおいて、画像の印刷を指示する印刷データをスプーラが蓄積して、印刷データに対する処理の進行を管理する技術がある（例えば非特許文献１〜３参照）。例えば、情報処理装置は、プリンタドライバの機能により印刷プロセスを開始し、印刷データをプリンタに送信する前にスプーラに蓄積して、プリンタの稼動状況に応じて、印刷データをプリンタに送信するというスプーラプロセスを経ることで、操作性を向上させることができる。近年では、プリンタドライバの印刷プロセスをスプーラプロセスから分離し、別のプロセス上で印刷データに対する処理を実行する機能であるDriver Isolationが開発されている（例えば非特許文献４参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、非特許文献４の技術では、複数のプリンタドライバで印刷プロセスを共用しているときに、どれか１つのプリンタドライバで問題が起きた場合、共用しているプリンタドライバに被害が及ぶ恐れがあった。また、全てのプリンタドライバの印刷プロセスをスプーラプロセスから分離させ、個別のプロセス上で動作させた場合には、プリンタドライバ毎にスプーラプロセスが作成され、ＣＰＵやメモリなどのリソースを圧迫する恐れがあった。
【０００４】
本発明は、上記に鑑みてなされたものであって、リソースを圧迫させることなく、複数のプリンタドライバで印刷プロセスを安全に共用可能なプリンタ制御プログラム、情報処理装置、画像形成装置、印刷システム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、印刷条件を含み画像の印刷を指示する印刷データを作成して出力する印刷指示処理を行うためのプリンタ制御プログラムであって、前記印刷指示処理を、前記印刷データを蓄積して画像形成装置に送信するスプール処理から分離するか否かを選択する選択ステップと、前記印刷指示処理を前記スプール処理から分離すると選択された場合、当該スプール処理を行うスプールサービスが、他のプリンタ制御プログラムが出力した前記印刷データに対する前記スプール処理を行っているか否かを判断することにより、前記スプールサービスを他のプリンタ制御プログラムと共有しているか否かを判断する共有判断ステップと、前記スプールサービスを共有していると判断された場合、前記印刷条件として設定可能な機能を制限する機能制限ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、リソースを圧迫させることなく、複数のプリンタドライバで印刷プロセスを安全に共用可能になる。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施の形態にかかる印刷システムの構成を例示する図である。
【図２】図２は、情報処理装置１０の画像の印刷に関るソフトウェア構成を例示する図である。
【図３】図３は、機能制限情報を例示する図である。
【図４】図４は、印刷設定画面において行われる機能制限を模式的に示す図である。
【図５】図５は、印刷設定画面を例示する図である。
【図６】図６は、印刷設定画面を例示する図である。
【図７】図７は、情報処理装置１０の行う機能制限処理の手順を示すフローチャートである。
【図８】図８は、第２の実施の形態にかかる機能制限設定画面を例示する図である。
【図９】図９は、プリンタドライバ１００Ｃにおいて作成される機能制限情報を例示する図である。
【図１０】図１０は、情報処理装置１０の行う機能制限処理の手順を示すフローチャートである。
【図１１】図１１は、一変形例にかかる機能制限設定画面を例示する図である。
【発明を実施するための形態】
【０００８】
[第１の実施の形態]
以下に添付図面を参照して、この発明にかかるプリンタ制御プログラム、情報処理装置、画像形成装置、印刷システム及び記憶媒体の一実施の形態を詳細に説明する。
【０００９】
図１は、本実施の形態にかかる印刷システムの構成を例示する図である。本実施の形態にかかる印刷システムは、情報処理装置１０と、画像形成装置５０Ａ，５０Ｂ，５０Ｃ，５０Ｄとを備え、これらがネットワークＮＴ１を介して接続されて構成される。ネットワークＮＴ１とは、例えば、ＬＡＮ（Local Area Network）、イントラネット、イーサネット（登録商標）又はインターネットなどである。情報処理装置１０は、印刷条件を含み、画像の印刷を指示する印刷データをネットワークＮＴ１を介して送信する。画像形成装置５０Ａ，５０Ｂ，５０Ｃ，５０Ｄは、ネットワークＮＴ１を介して印刷データを受信し、当該印刷データを用いて、印刷条件に応じて、画像を紙などの印刷媒体に出力することにより、印刷を行う。尚、画像形成装置５０Ａ，５０Ｂ，５０Ｃ，５０Ｄを各々区別する必要がない場合には、単に画像形成装置５０と記載する。
【００１０】
ここで、情報処理装置１０のハードウェア構成について説明する。本実施の形態の情報処理装置１０は、装置全体を制御するＣＰＵ（Central Processing Unit）等の制御部と、各種データや各種プログラムを記憶するＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）等の主記憶部と、各種データや各種プログラムを記憶するＨＤＤ（Hard Disk Drive）やＣＤ（Compact Disk）ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、情報処理装置１０には、情報を表示する表示部と、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部と、画像形成装置５０などの外部装置の通信を制御する通信Ｉ／Ｆ（interface）とが有線又は無線により各々接続される。
【００１１】
次に、情報処理装置１０のソフトウェア構成について説明する。ここでは、画像の印刷に関るソフトウェア構成について図２を用いて説明する。情報処理装置１０は、３つのプリンタドライバ(Printer Driver)１００Ａ，１００Ｂ，１００Ｃ，１００Ｄと、設定保存部４００と、ＯＳ（Operating System）５００とを有する。プリンタドライバ１００Ａ，１００Ｂ，１００Ｃ，１００Ｄと、ＯＳ５００とは各々、主記憶部や補助記憶部に記憶されるプログラムである。ＣＰＵがこれらの各プログラムを実行することにより各種機能が実現される。尚、本実施の形態においては、プリンタドライバ１００Ａは、画像形成装置５０Ａにおける画像の印刷を制御するためのものであり、プリンタドライバ１００Ｂは、画像形成装置５０Ｂにおける画像の印刷を制御するためのものであり、プリンタドライバ１００Ｃは、画像形成装置５０Ｂにおける画像の印刷を制御するためのものであり、プリンタドライバ１００Ｄは、画像形成装置５０Ｄにおける画像の印刷を制御するためのものであるとする。これらのプリンタドライバ１００Ａ，１００Ｂ，１００Ｃ，１００Ｄは各々、Driver Isolationの機能を有しているものとする。また、情報処理装置１０は、これ以外のプリンタドライバを有し得る。設定保存部４００は、主記憶部や補助記憶部に確保される記憶領域である。
【００１２】
ＯＳ５００は、サービス関数５０７と、Isolationコントロールプロセス５０１と、共通Spoolerサービス５０２と、Spoolerサービス５０３，５０４とを有する。サービス関数５０７は、Isolationコントロールプロセス５０１と、共通Spoolerサービス５０２と、Spoolerサービス５０３，５０４とを各々使用するための関数である。Isolationコントロールプロセス５０１は、各プリンタドライバ１００Ａ,１００Ｂ,１００Ｃ，１００Ｄからの要求に応じて、各プリンタドライバ１００Ａ,１００Ｂ,１００Ｃ，１００Ｄに対するIsolationの設定を各々行って、各プリンタドライバ１００Ａ,１００Ｂ,１００Ｃ，１００Ｄの印刷プロセスをスプーラプロセスから分離する処理を制御する。印刷プロセスとは、印刷データを作成して出力する印刷指示処理である。スプーラプロセスとは、印刷データを蓄積して印刷を行う対象の画像形成装置５０に送信するスプール処理である。Isolationの設定や、印刷プロセスをスプーラプロセスから分離する処理の詳細については、例えば非特許文献４に記載されているため、ここではその説明を省略する。共通Spoolerサービス５０２は、ＯＳ５００で常時動作している汎用のスプーラであり、Isolationの設定を行わない場合に使用される全プリンタドライバ１００共通のスプーラである。Spoolerサービス５０３，５０４は、特定のプリンタドライバに対して使用されるスプーラである。このうち、Spoolerサービス５０３は、Shared(共有)され、例えば２つのプリンタドライバと共有可能である。Spoolerサービス５０４は、Isolated(独立)で使用され、１つのプリンタのみ使用可能である。これらの各Spoolerサービスは、自身に出力された印刷データを蓄積し、蓄積した印刷データを順次、印刷を行わせる対象の画像形成装置５０に送信するスプール処理を行う。
【００１３】
プリンタドライバ１００Ａは、ＵＩ（user interface）１０１Ａと、Ｇｒ１０２Ａと、ドライバ設定保存部１０３Ａと、Isolation１０４Ａとを有し、印刷指示処理を行う。プリンタドライバ１００Ｂは、ＵＩ１０１Ｂと、Ｇｒ１０２Ｂと、ドライバ設定保存部１０３Ｂと、Isolation１０４Ｂとを有する。これらの各構成は、ＵＩ１０１Ａと、Ｇｒ１０２Ａと、ドライバ設定保存部１０３Ａとの各構成と略同様である。プリンタドライバ１００Ｃは、ＵＩ１０１Ｃと、Ｇｒ１０２Ｃと、ドライバ設定保存部１０３Ｃと、Isolation１０４Ｃとを有する。これらの各構成は、ＵＩ１０１Ａと、Ｇｒ１０２Ａと、ドライバ設定保存部１０３Ａと、Isolation１０４Ａとの各構成と略同様である。プリンタドライバ１００Ｄは、ＵＩ１０１Ｄと、Ｇｒ１０２Ｄと、ドライバ設定保存部１０３Ｄと、Isolation１０４Ｄとを有する。これらの各構成は、ＵＩ１０１Ａと、Ｇｒ１０２Ａと、ドライバ設定保存部１０３Ａと、Isolation１０４Ａとの各構成と略同様である。このため、以下では、プリンタドライバ１００ＡのＵＩ１０１Ａと、Ｇｒ１０２Ａと、ドライバ設定保存部１０３Ａとについて説明し、プリンタドライバ１００Ｂ，１００Ｃ，１００Ｄについてはその説明を省略する。尚、プリンタドライバ１００Ａ，１００Ｂ，１００Ｃ，１００Ｄを各々区別する必要がない場合には、単にプリンタドライバ１００と記載する場合がある。また、プリンタドライバ１００Ａ，１００Ｂ，１００Ｃ，１００Ｄが各々有する各構成についても同様であり、ＵＩ１０１と、Ｇｒ１０２と、ドライバ設定保存部１０３と、Isolation１０４と記載する場合がある。
【００１４】
Isolation１０４Ａは、ＵＩ１０１Ａを介してユーザの操作入力に応じて、印刷プロセスをスプーラプロセスから分離するか否かを選択して、ＯＳ５００のIsolationの設定に関する処理を行い、Isolationの設定に関するIsolation設定情報をドライバ設定保存部１０３Ａ及び設定保存部４００に記憶させる。具体的には、例えば、画像の印刷の指示に際して汎用のスプーラを選択する操作入力が行なわれた場合、Isolation１０４Ａは、後述のＵＩ１０１Ａを介して当該操作入力を受け付け、印刷プロセスをスプーラプロセスから分離せず、共通Spoolerサービス５０２が選択されたことを示す情報をIsolation設定情報としてドライバ設定保存部１０３Ａ及び設定保存部４００に記憶させる。この場合、Isolation１０４Ａは、ＯＳ５００のIsolationコントロールプロセス５０１に対して、プリンタドライバ１００Ａに対するIsolationの設定を行うことを要求しない。印刷データは、後述のＧｒ１０２Ａを介して共通Spoolerサービス５０２に出力される。共通Spoolerサービス５０２では、プリンタドライバ１００Ａに対するキューの設定が行われる。
【００１５】
また、画像の印刷の指示に際してShared(共有)でスプーラを選択する操作入力が行なわれた場合、Isolation１０４Ａは、ＵＩ１０１Ａを介して当該操作入力を受け付け、当該操作入力に応じて、印刷プロセスをスプーラプロセスから分離することを選択し、ＯＳ５００のIsolationコントロールプロセス５０１に対して、プリンタドライバ１００Ａに対するIsolationの設定を行うことを要求し、Spoolerサービス５０３が選択されたことを示す情報をIsolation設定情報としてドライバ設定保存部１０３Ａ及び設定保存部４００に記憶させる。印刷データは、後述のＧｒ１０２Ａを介してSpoolerサービス５０３に出力される。Isolationコントロールプロセス５０１では、Spoolerサービス５０３が起動していない場合にはこれを起動させる。Spoolerサービス５０３では、プリンタドライバ１００Ａに対するキューの設定が行われる。
【００１６】
また、画像の印刷の指示に際してIsolated(独立)でスプーラを選択する操作入力が行なわれた場合、Isolation１０４Ａは、ＵＩ１０１Ａを介して当該操作入力を受け付け、当該操作入力に応じて、印刷プロセスをスプーラプロセスから分離することを選択し、ＯＳ５００のIsolationコントロールプロセス５０１に対して、プリンタドライバ１００Ａに対するIsolationの設定を行うことを要求し、Spoolerサービス５０４が選択されたことを示す情報をIsolation設定情報としてドライバ設定保存部１０３Ａ及び設定保存部４００に記憶させる。印刷データは、後述のＧｒ１０２Ａを介してSpoolerサービス５０４に出力される。Isolationコントロールプロセス５０１では、Spoolerサービス５０４が起動していない場合にはこれを起動させる。Spoolerサービス５０４では、プリンタドライバ１００Ａに対するキューの設定が行われる。
【００１７】
更に、Isolation１０４Ａは、設定保存部４００に記憶されている各Isolation設定情報を読み出して、ユーザの操作入力により選択されたスプーラが共通Spoolerサービス５０２又はSpoolerサービス５０３である場合、当該スプーラの共有状況を判断する。尚、共有状況の判断は、他のプリンタドライバ１００Ｂ,１００Ｃ,１００Ｄに各々直接問い合わせることにより行っても良いし、ＯＳ５００の有するサービス関数５０７として例えば状態取得用関数Callを使用して設定保存部４００に記憶されているIsolation設定情報を読み出させてこれを取得して行うようにしても良い。そして、Isolation１０４Ａは、当該共有状況に応じて、選択されたスプーラ（共通Spoolerサービス５０２又はSpoolerサービス５０３である）に応じて印刷条件として設定可能な機能の制限に関する機能制限情報を作成してこれをドライバ設定保存部１０３Ａに記憶させる。印刷条件は後述する印刷設定画面において設定される。この印刷設定画面において設定可能な機能が制限されることにより、機能制限が行われる。また、Isolation１０４Ａは、選択されたスプーラにおいてプリンタドライバ１００Ａが印刷設定画面において設定可能な機能を制限していること、即ち、選択されたスプーラにおいてプリンタドライバ１００Ａが機能制限を行うことを示す機能制限フラグを設定保存部４００に記憶させる。
【００１８】
ここで、印刷条件として設定可能な機能の制限について説明する。上述の共通Spoolerサービス５０２は、汎用のものであるため、他のプリンタドライバ１００（プリンタドライバ１００Ａ，１００Ｂ,１００Ｃである）と共用され得る。このため、画像の印刷の指示に際して汎用のスプーラを選択する操作入力が行なわれた場合、他のプリンタドライバ１００が共通Spoolerサービス５０２を使用していれば、当該他のプリンタドライバ１００の行う処理に影響を及ぼす可能性が高い。このため、当該共通Spoolerサービス５０２を他のプリンタドライバ１００と共用している場合には、Isolation１０４Ａは、例えば、以下の機能を印刷条件として設定できないことを示す機能制限情報を作成する。
(a)画像のカラーを指定する機能
(b)画像を変倍する機能
(c)両面印刷を行う機能
(d)用紙方向を選択する機能
【００１９】
図３は、機能制限情報を例示する図である。同図においては、画像のカラーを指定する機能を制限することが、「Ｆｕｎｃｔｉｏｎ：ＣＯＬＯＲ」により示され、画像を変倍する機能を制限することが、「Ｆｕｎｃｔｉｏｎ：ＺＯＯＭ」により示され、両面印刷を行う機能を制限することが、「Ｆｕｎｃｔｉｏｎ：ＤＵＰＬＥＸ」により示され、用紙方向を選択する機能を制限することが、「Ｆｕｎｃｔｉｏｎ：ＯＲＩＥＮＴＡＴＩＯＮ」により示されている。
【００２０】
また、上述のSpoolerサービス５０３は、２つのプリンタドライバ１００と共有可能であるため、画像の印刷の指示に際してShared(共有)でスプーラを選択する操作入力が行なわれた場合、他のプリンタドライバ１００が共通Spoolerサービス５０２を使用していれば、当該他のプリンタドライバ１００の行う処理に影響を及ぼす可能性が高い。但し、この場合影響を及ぼす他のプリンタドライバ１００の数は、１つであるため、影響を及ぼす範囲が、上述の共通Spoolerサービス５０２を共用する場合に比べて小さい。このため、上述の共通Spoolerサービス５０２を共用する場合よりも、印刷設定画面において制限される機能は少なくても良い。このため、当該Spoolerサービス５０３を他のプリンタドライバ１００と共用している場合には、Isolation１０４Ａは、例えば、(a)の機能を印刷条件として設定できないことを示す機能制限情報を作成する。
【００２１】
尚、上述のSpoolerサービス５０４は、画像の印刷の指示に際してIsolated(独立)でスプーラを選択する操作入力が行なわれた場合に使用されるが、これは、１つのプリンタドライバ１００のみ使用可能である。このため、他のプリンタドライバ１００に対して影響を及ぼすことがない。従って、Spoolerサービス５０４を使用する場合には、プリンタドライバ１００Ａは、印刷設定画面において機能制限を行うことなく、機能制限情報や全ての機能が設定可能な印刷設定画面を表示させる。このため、Isolation１０４Ａは、機能制限情報を作成することなく、また、機能制限フラグを設定保存部４００に記憶させない。
【００２２】
図４は、画像形成装置５０Ａ〜５０Ｄにより、共通Spoolerサービス５０２、Spoolerサービス５０３，５０４が使用されている場合に、各印刷設定画面において行われる機能制限を模式的に示す図である。同図では、画像形成装置５０Ｄが共通Spoolerサービス５０２を使用しており、画像形成装置５０Ｂ〜５０ＣがSpoolerサービス５０３を共用しており、画像形成装置５０ＡがSpoolerサービス５０４を使用していることが示されている。そして、画像形成装置５０Ｄにおける画像の印刷を制御するためのプリンタドライバ１００Ｄによって上述の(a)〜(d)の機能が印刷条件として設定できない印刷設定画面が表示され、画像形成装置５０Ｂにおける画像の印刷を制御するためのプリンタドライバ１００Ｂ及び画像形成装置５０Ｃにおける画像の印刷を制御するためのプリンタドライバ１００Ｃの各々によって上述の(a)の機能が印刷条件として設定できない印刷設定画面が表示され、画像形成装置５０Ａにおける画像の印刷を制御するためのプリンタドライバＡによって、印刷条件として設定可能な機能が制限されない印刷設定画面が表示されることが示されている。
【００２３】
図２の説明に戻る。ドライバ設定保存部１０３Ａは、Isolation１０４Ａが行ったIsolationの設定に関するIsolation設定情報と、プリンタドライバ１００Ａが印刷設定画面において機能制限を行う場合の機能制限情報とを記憶する。ＵＩ１０１Ａは、印刷条件を設定するための印刷設定画面を表示部に表示させたり、印刷設定画面において操作入力部を介したユーザの操作入力を受け付けたりするユーザインターフェースを制御する。特に、本実施の形態においては、ＵＩ１０１Ａは、ドライバ設定保存部１０３Ａに機能制限情報が記憶されている場合、設定保存部４００に記憶された機能制限フラグを参照して、他のプリンタドライバ１００で機能制限を行っているか否かに応じて、当該機能制限情報を用いて、印刷条件として設定可能な機能が制限される印刷設定画面を表示部に表示させる。例えば、Shared(共有)でスプーラを選択する操作入力が行なわれて、当該Spoolerサービス５０３に応じた機能制限情報がドライバ設定保存部１０４Ａに記憶されている場合について説明する。この場合において、他のプリンタドライバ１００で機能制限を行っていない場合、ＵＩ１０１Ａは、上述の(a)の機能を印刷条件として設定できない印刷設定画面を表示部に表示させる。図５は、この場合に表示部に表示される印刷設定画面を例示する図である。同図に示されるように、上述の(a)の機能が印刷条件として設定できないように、ＵＩ１０１Ａは、当該機能を示す項目を選択不能にした印刷設定画面を表示する。当該機能を示す項目を選択不能にするとは、例えば、当該項目を選択した場合にエラーを示すメッセージやマークを印刷設定画面に表示させたり、当該項目を選択するためのチェックボックスやプルダウンメニューを表示させないようにしたりする。また、他のプリンタドライバ１００で機能制限を行っている場合も、ＵＩ１０１Ａは、上述の(a)の機能を印刷条件として設定できない印刷設定画面であり、当該機能を示す項目自体を含まない印刷設定画面を表示部に表示させる。図６は、この場合に表示部に表示される印刷設定画面を例示する図である。同図に示されるように、上述の(a)の機能が印刷条件として設定できないように、ＵＩ１０１Ａは、当該機能を示す項目自体を含まない印刷設定画面を表示する。この場合、カラー印刷ではなくモノクロ印刷を行うことが印刷条件として自動的に設定されることになる。
【００２４】
図２の説明に戻る。Ｇｒ１０２Ａは、アプリケーション（不図示）から出力された、文書や絵柄を表す画像の印刷を指示する印刷指示データを用いて、ＵＩ１０１Ａを介して印刷設定画面において設定された印刷条件に応じて、印刷対象の画像を描画する描画処理を行い、画像形成装置５０Ａが解釈可能であり画像の印刷を指示する印刷データを作成する。更に、本実施の形態においては、Ｇｒ１０２Ａは、ドライバ設定保存部１０３Ａに機能制限情報が記憶されている場合、当該機能制限情報に応じて、描画処理において制限を行う。具体的には、例えば、共通Spoolerサービス５０２に応じた機能制限情報が記憶されている場合、Ｇｒ１０２は、描画処理において、解像度を例えば300dpiに固定して解像度の変換を行わなかったり、画像の圧縮を行ったりする。また、Spoolerサービス５０３に応じた機能制限情報が記憶されている場合、Ｇｒ１０２は、600dpiまでの解像度であれば解像度の変換を行ったり、画像の圧縮を適宜行ったりする。そして、Ｇｒ１０２Ａは、当該印刷データを、Isolation１０４Ａが行ったIsolationの設定に応じたスプーラに出力する。
【００２５】
設定保存部４００は、上述のプリンタドライバ１００Ａ，１００Ｂ，１００Ｃ，１００Ｄが適宜行ったIsolationの設定に関するIsolation設定情報を記憶し、プリンタドライバ１００Ａ，１００Ｂ，１００Ｃ，１００Ｄの少なくとも１つが機能制限を行っている場合にはその機能制限フラグを記憶する。
【００２６】
次に、画像形成装置５０の構成について図２を用いて説明する。画像形成装置５０は、コントローラ５１とエンジン部（Engine）５２とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成である。コントローラ５１は、ＣＰＵと、ＲＯＭやＲＡＭなどの主記憶部と、ＨＤＤなどの補助記憶部と、通信部とを有する。主記憶部は、各種プログラムや各種データを記憶する。補助記憶部は、各種プログラムや各種データを記憶する。通信部は、情報処理装置１０などの外部装置との通信を行う。ＣＰＵは、補助記憶部や主記憶部に記憶された各種プログラムを実行することにより、画像形成装置５０全体の制御と描画、外部装置との通信部を介した通信、操作パネル（不図示）を介したユーザからの操作入力や操作パネルへの情報の表示を制御する。エンジン部５２は、画像の印刷を行うプリンタエンジン等であり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニット等である。なお、このエンジン部５２には、プロッタ等のいわゆるエンジン部分に加えて、誤差拡散やガンマ変換等の画像処理部分が含まれる。このような構成において、画像形成装置５０のコントローラ５１は、情報処理装置１０から送信された印刷データを受信すると、当該印刷データをエンジン部５２に送り、エンジン部５２は、当該印刷データを用いて、当該印刷データに含まれる印刷条件に応じて、画像を紙などの印刷媒体に出力することにより、印刷を行う。尚、画像形成装置５０は、画像を印刷する対象の紙などの印刷媒体を供給するための給紙トレイと、画像が印刷された印刷媒体を排出するための排紙トレイと（いずれも不図示）を有する。給紙トレイや排紙トレイは画像形成装置５０に複数備えられ得る。
【００２７】
次に、本実施の形態にかかる情報処理装置１０の行う機能制限処理の手順について図７を用いて説明する。ここでは、例えば、ユーザが情報処理装置１０の操作入力部を介して画像の印刷を指示する際に印刷を行わせる対象として画像形成装置５０Ａを選択し、Shared(共有)でスプーラを選択する操作入力を行なった場合について説明する。この場合、情報処理装置１０は、当該画像形成装置５０Ａにおける画像の印刷を制御するためのプリンタドライバ１００Ａが起動する。そして、プリンタドライバ１００Ａは、他のプリンタドライバ１００（プリンタドライバ１００Ｂ〜１００Ｄのうち少なくとも１つ）とSpoolerサービス５０３を共有しているか否かを判断する（ステップＳ１）。この判断は、具体的には、他のプリンタドライバ１００についてSpoolerサービス５０３を選択したことを示すIsolation設定情報が設定保存部４００に記憶されているか否かをプリンタドライバ１００Ａは判断することにより行う。
【００２８】
他のプリンタドライバ１００とSpoolerサービス５０３を共有していないと判断した場合（ステップＳ１：ＮＯ）、プリンタドライバ１００Ａは、画像の印刷を指示する際の印刷条件を設定するための印刷設定画面を表示部に表示させる（ステップＳ５）。ここで表示させる印刷設定画面は、印刷条件として設定可能な機能が制限されていないものである。一方、他のプリンタドライバ１００とSpoolerサービスを共有していると判断した場合（ステップＳ１：ＹＥＳ）、プリンタドライバ１００Ａは、共有している他のプリンタドライバ１００で機能制限を行っているか否かを判断する（ステップＳ２）。この判断は、例えば、Spoolerサービス５０３において他のプリンタドライバ１００が機能制限を行っていることを示す機能制限フラグが設定保存部４００に記憶されているか否かをプリンタドライバ１００Ａは判断することにより行う。他のプリンタドライバ１００で機能制限を行っていると判断した場合（ステップＳ２：ＹＥＳ）、プリンタドライバ１００Ａは、図６に例示されるように、上述の(a)の機能を示す項目自体を含まない印刷設定画面を表示部に表示させる（ステップＳ４）。一方、他のプリンタドライバ１００で機能制限を行っていないと判断した場合（ステップＳ２：ＮＯ）、プリンタドライバ１００Ａは、図５に例示されるように、上述の(a)の機能を示す項目を選択不能にした印刷設定画面を表示部に表示させる（ステップＳ３）。
【００２９】
ステップＳ３〜Ｓ５のいずれであっても表示部に表示された印刷設定画面においてユーザが印刷条件を設定する操作入力を行なうと、プリンタドライバ１００Ａは、当該印刷条件を含み、画像の印刷を指示する印刷データを作成して、これをSpoolerサービス５０３に出力する。その後、プリンタドライバ１００Ａは、当該プリンタドライバ１００Ａに対応して設定保存部４００に記憶されているIsolation設定情報や機能制限フラグや、ドライバ設定保存部１０３Ａに記憶されているIsolation設定情報や機能制限情報を削除するようにしても良い。Spoolerサービス５０３は、当該印刷データを蓄積し、蓄積した印刷データを画像形成装置５０Ａに送信する。画像形成装置５０Ａは、当該印刷データを受信すると、当該印刷データを用いて、当該印刷データに含まれる印刷条件に応じて、画像を紙などの印刷媒体に出力することにより、印刷を行う。
【００３０】
尚、ユーザが情報処理装置１０の操作入力部を介して画像の印刷を指示する際に汎用のスプーラを選択する操作入力を行なった場合の処理の手順も略同様であるが、ステップＳ３，Ｓ４で制限される機能が上述の(a)〜(d)の機能となる点が異なる。ユーザが情報処理装置１０の操作入力部を介して画像の印刷を指示する際にIsolated(独立)でスプーラを選択する操作入力を行なった場合には、他のプリンタドライバ１００と共有されることはないため、機能制限処理は行われない。
【００３１】
以上のように、スプーラが複数のプリンタドライバにより共有される場合には、共有される数に応じて、印刷条件として設定可能な機能を制限することで、リソースを圧迫させることなく、複数のプリンタドライバで印刷プロセスを安全に共用することができる。
【００３２】
[第２の実施の形態]
次に、画像形成装置の第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００３３】
本実施の形態においては、印刷設定画面において機能制限を行う場合のプリンタドライバ１００の共有数を、制限される機能毎にユーザが予め設定可能な構成について説明する。本実施の形態にかかる情報処理装置１０のソフトウェア構成は図２に示したものと略同様である。本実施の形態においては、プリンタドライバ１００の有するＵＩ１０１及びIsolation１０４が、以下の点で上述の第１の実施の形態と異なる。尚、本実施の形態においては、プリンタドライバ１００Ｄは、共通Spoolerサービス５０２を使用するものとし、プリンタドライバ１００Ｂ，１００Ｃは、Shared(共有)で選択されるSpoolerサービス５０３を共有するものとし、プリンタドライバ１００Ａは、Isolated(独立)で選択されるSpoolerサービス５０４を使用するものとする。
【００３４】
ＵＩ１０１は、上述の第１の実施の形態の機能に加え、印刷設定画面において機能制限を行う場合のプリンタドライバ１００の共有数を、スプーラ（共通Spoolerサービス５０２，Spoolerサービス５０３である）に応じて制限される機能毎にユーザが設定するための機能制限設定画面を表示部に表示させる。図８は、機能制限設定画面を例示する図である。同図に示される機能制限設定画面では、印刷条件として、上述した(a)〜(d)の機能のそれぞれについて、プリンタドライバ１００の共有数をユーザが設定することが可能である。ここで、例えば、用紙方向を選択する機能(d)について、共有数が「５」に設定されると、スプーラを共有しているプリンタドライバ１００の数が「４」以下である場合には、当該(d)の機能を印刷条件として設定可能な印刷設定画面が表示され、スプーラを共有しているプリンタドライバ１００の数が「５」以上になった場合には、当該(d)の機能を印刷条件として設定できない印刷設定画面が表示されることになる。このような機能制限設定画面において、印刷設定画面において制限させる機能についてプリンタドライバ１００の共有数を設定する操作入力をユーザが行なうと、ＵＩ１０１は、当該操作入力を受け付け、印刷条件として設定可能な機能の制限に関する機能制限情報を作成してこれを設定保存部４００に記憶させる。この機能制限情報は後述のIsolation１０４によってドライバ設定保存部１０３Ａに記憶される。そして、ＵＩ１０１Ａは、設定保存部４００に記憶された機能制限フラグを参照して、他のプリンタドライバ１００で機能制限を行っているか否かに応じて、ドライバ設定保存部１０３Ａに記憶されている機能制限情報を用いて、印刷条件として設定可能な機能が制限される印刷設定画面を表示部に表示させる。
【００３５】
図９は、プリンタドライバ１００Ｃにおいて作成される機能制限情報を例示する図である。同図においては、画像のカラーを指定する機能については、共有時にこの機能を制限させる、共通Spoolerサービス５０２を使用するプリンタドライバ１００Ａを対象として共有数「１」が設定されることが示されている。画像を変倍する機能については、共有時にこの機能を制限させる、共通Spoolerサービス５０２を使用するプリンタドライバ１００Ａ及びSpoolerサービス５０３を共有するプリンタドライバ１００Ｂを対象として、共有数「２」が設定されることが示されている。両面印刷を行う機能については、共有時にこの機能を制限させる、共通Spoolerサービス５０２を使用するプリンタドライバ１００Ａを対象として共有数「１」が設定されることが示されている。用紙方向を選択する機能については、共有時にこの機能を制限させる、共通Spoolerサービス５０２を使用するプリンタドライバ１００Ａ及びSpoolerサービス５０３を共有するプリンタドライバ１００Ｂを対象として、共有数「５」が設定されることが示されている。
【００３６】
Isolation１０４は、上述の第１の実施の形態と同様にして、設定保存部４００に記憶されている各Isolation設定情報を読み出して、ユーザの操作入力により選択されたスプーラが共通Spoolerサービス５０２又はSpoolerサービス５０３である場合、当該スプーラの共有状況を判断する。また、Isolation１０４は、共有状況として、スプーラを共有している他のプリンタドライバ１００の数（共有数）も判断する。そして、本実施の形態においては、Isolation１０４は、当該共有状況に応じて、設定保存部４００に記憶された機能制限情報を読み出して、これをドライバ設定保存部１０３に記憶させる。そして、Isolation１０４は、選択されたスプーラについての機能制限フラグを設定保存部４００に記憶させる。
【００３７】
次に、本実施の形態にかかる情報処理装置１０の行う機能制限処理の手順について図１０を用いて説明する。ここでは、例えば、ユーザが情報処理装置１０の操作入力部を介して画像の印刷を指示する際に印刷を行わせる対象として画像形成装置５０Ｂ，５０Ｃ，５０Ｄのいずれかを選択する操作入力を行なった場合について説明する。この場合、画像形成装置５０Ｂ，５０Ｃ，５０Ｄの選択に応じて、プリンタドライバ１００Ｂ，１００Ｃ，１００Ｄのいずれかが起動されることになる。ステップＳ１〜Ｓ２，Ｓ５は上述の第１の実施の形態と略同様である。ステップＳ１３では、プリンタドライバ１００は、設定保存部４００から機能制限情報をドライバ設定保存部１０３に読み出して、これを用いて、制限させる機能を示す項目自体を含まない印刷設定画面を表示部に表示させる（ステップＳ４）。その後、プリンタドライバ１００は、更に共有数を制限する場合には（ステップＳ１４：ＹＥＳ）、ステップＳ１１に進む。一方、ステップＳ１０では、プリンタドライバ１００は、設定保存部４００から機能制限情報をドライバ設定保存部１０３に読み出して、これを用いて、ステップＳ１で判断した共有数に応じて、機能の制限を行うか否かを機能毎に判断する。そして、ステップＳ３では、プリンタドライバ１００は、制限させる機能を示す項目を選択不能にした印刷設定画面を表示部に表示させる。ステップＳ１１では、プリンタドライバ１００は、スプーラの共有状況を判断して、ステップＳ１２では、図９に例示される機能制限情報を設定保存部４００に記憶させる。
【００３８】
以上のように、印刷設定画面において機能制限を行う場合のプリンタドライバ１００の共有数をユーザが設定可能であることにより、リソースを圧迫させることなく、複数のプリンタドライバで印刷プロセスを安全に共用することができると共に、印刷システムの柔軟性を高めることができる。
【００３９】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００４０】
上述した各実施の形態において、情報処理装置１０で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。画像形成装置５０で実行される各種プログラムについても同様である。
【００４１】
上述した各実施の形態では、画像形成装置５０は、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能のうち少なくとも１つ以上の機能を有するものであれば良い。
【００４２】
上述した各実施の形態では、ネットワークＮＴ１に接続される画像形成装置５０の数は、４つに限らず、１〜３つであっても良いし、５つ以上であっても良い。更に、ネットワークＮＴ１に接続される情報処理装置１０の数は１つに限らず２つ以上であっても良い。また、情報処理装置１０の有するプリンタドライバ１００の数は、５つに限らない。また、情報処理装置１０は、画像形成装置５０Ａ〜５０Ｄ毎にプリンタドライバ１００Ａ〜１００Ｄを有するようにしたが、これに限らず、複数のプリンタドライバ１００のうち少なくとも１つは、複数の画像形成装置５０における画像の印刷を制御可能であっても良い。
【００４３】
上述した各実施の形態においては、情報処理装置１０が、プリンタドライバ１００を記憶するように構成したが、当該プリンタドライバ１００を画像形成装置５０がコントローラ５１の主記憶部や補助記憶部に記憶するようにしても良い。この場合、ＵＩ１０１は、印刷条件を設定するための印刷設定画面を操作パネルに表示させたり、印刷設定画面において操作パネルを介したユーザの操作入力を受け付けたりするユーザインターフェースを制御する。また、Ｇｒ１０２は、画像の印刷を指示する際にＵＩ１０１を介して設定が適宜変更された印刷条件を含み、画像の印刷を指示する印刷データを作成して、エンジン部５２に出力する。
【００４４】
また、プリンタドライバ１００を画像形成装置５０が有する場合、画像形成装置５０が情報処理装置１０にプリンタドライバ１００を送信し、情報処理装置１０は当該プリンタドライバ１００を受信してこれを補助記憶部に記憶させるようにしても良い。
【００４５】
上述した第２の実施の形態においては、プリンタドライバ１００は、他のプリンタドライバ１００とスプーラを共有している場合には、制限される機能を示す項目自体を含まない印刷設定画面を表示部に表示させるようにした。このように、他のプリンタドライバ１００で機能制限を行っている場合に、制限される機能を示す項目自体を含まない印刷設定画面を表示させるか、制限される機能を示す項目を選択不能にした印刷設定画面を表示させるかを機能制限設定画面においてユーザが設定可能であるようにしても良い。制限される機能を示す項目自体を含まない印刷設定画面を表示させることを、排他使用という。図１１は、排他使用するか否かを設定可能な機能制限設定画面を例示する図である。同図においては、制限される機能を示す項目に対して、排他使用するか否かを選択するためのチェックボックスが表示されることが示されている。当該機能制限設定画面において、ユーザが当該チェックボックスにチェックを入れる操作入力を行なうと、ＵＩ１０１は、当該機能に対して排他使用することを更に示す機能制限情報を作成してこれを設定保存部４００に記憶させる。図１０のステップＳ１３では、プリンタドライバ１００は、設定保存部４００から機能制限情報をドライバ設定保存部１０３に読み出して、制限させる機能に対して排他使用することが当該機能制限情報によって示される場合に、当該機能を示す項目自体を含まない印刷設定画面を表示部に表示させる。
【００４６】
例えば、図１１の例では、Spoolerサービス５０３をプリンタドライバ１００Ｂ，１００Ｃが共用しているときに、プリンタドライバ１００Ｂが先に機能制限を行っている場合、プリンタドライバ１００Ｂが表示させる印刷設定画面においては、画像のカラーを指定する機能を示す項目を選択不能にしており、一方、プリンタドライバ１００Ｃが表示させる印刷設定画面においては、画像のカラーを指定する機能に対して排他使用が設定されていれば、当該機能を示す項目自体を含まない。
【００４７】
上述した各実施の形態においては、印刷設定画面において制限する複数の機能を、スプーラを共有している複数のプリンタドライバ１００に分散して割り当てるようにしても良い。例えば、共通Spoolerサービス５０２を使用する場合、上述の(a)〜(d)の機能が制限されるようにしたが、１つのプリンタドライバ１００でこれらの全ての機能を制限するのではなく、共通Spoolerサービス５０２を共有する各プリンタドライバ１００が上述の(a)〜(d)のうち少なくとも１つの機能を制限するようにし、且つ、共通Spoolerサービス５０２を共有する全てのプリンタドライバ１００の各々によって制限される全ての機能が上述の(a)〜(d)になるようにしても良い。また、制限する機能の配分を、プリンタドライバ１００間で適宜変更可能にしても良い。この場合、例えば、プリンタドライバ１００は、制限する機能の配分をユーザが設定するための画面を表示部に表示させ、当該画面を介したユーザの設定により、スプーラを共有する場合に各プリンタドライバ１００の印刷設定画面において制限する機能を示す情報を補助記憶部に記憶させる。そして、プリンタドライバ１００は、スプーラを他のプリンタドライバ１００と共有していると判断した場合、当該情報を参照して、印刷設定画面において制限させる機能を決定するようにしても良い。
【００４８】
上述した各実施の形態においては、プリンタドライバ１００は、スプーラを共有している他のプリンタドライバ１００で機能制限を行っている場合、印刷設定画面において機能制限を行わないようにしても良い。即ち、スプーラを共有している場合、少なくとも１つのプリンタドライバ１００が印刷設定画面において機能制限を行うようにしても良い。
【００４９】
上述した各実施の形態においては、印刷設定画面において制限される機能は、予め定められるようにしたが、これを変更可能にしても良い。この場合、制限される機能を変更するための画面を表示部に表示させ、当該画面を介したユーザの設定により、スプーラを共有する場合に印刷設定画面において制限する機能を示す情報を補助記憶部に記憶させる。そして、プリンタドライバ１００は、スプーラを他のプリンタドライバ１００と共有していると判断した場合、当該情報を参照して、印刷設定画面において印刷条件として設定可能な機能を制限するようにしても良い。
【符号の説明】
【００５０】
１０  情報処理装置
５０，５０Ａ，５０Ｂ，５０Ｃ，５０Ｄ  画像形成装置
１００，１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ  プリンタドライバ
１０１，１０１Ａ，１０１Ｂ，１０１Ｃ，１０１Ｄ  ＵＩ
１０２，１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄ  Ｇｒ
１０３，１０３Ａ，１０３Ｂ，１０３Ｃ，１０３Ｄ  ドライバ設定保存部
１０４，１０４Ａ，１０４Ｂ，１０４Ｃ，１０４Ｄ  Isolation
４００  設定保存部
５０１  Isolationコントロールプロセス
５０２  共通Spoolerサービス
５０３，５０４  Spoolerサービス
５０７  サービス関数
ＮＴ１ ネットワーク
【先行技術文献】
【非特許文献】
【００５１】
【非特許文献１】http://support.microsoft.com/kb/191949/ja
【非特許文献２】http://support.microsoft.com/kb/832017/ja
【非特許文献３】http://msdn.microsoft.com/en-us/library/dd162871%28VS.85%29.aspx
【非特許文献４】http://msdn.microsoft.com/en-us/library/dd568151.aspx
【図１】
2011180775.tif 000003
【図２】
2011180775.tif 000004
【図３】
2011180775.tif 000005
【図４】
2011180775.tif 000006
【図５】
2011180775.tif 000007
【図６】
2011180775.tif 000008
【図７】
2011180775.tif 000009
【図８】
2011180775.tif 000010
【図９】
2011180775.tif 000011
【図１０】
2011180775.tif 000012
【図１１】
2011180775.tif 000013