(57)【要約】【課題】本発明は、印刷指示を受け付けた印刷ジョブの拡張機能を制御する際に、プリンタキュー毎に好適にジョブを制御する仕組みを提供する。【解決手段】情報処理装置は、アプリケーションを介して印刷指示を受け付けると、対応する印刷ジョブのプリンタキューに関連付けられたスレッドに、他の印刷ジョブが関連付けられているか否かを判断する。さらに、本情報処理装置は、判断結果に基づき、当該スレッドに他の印刷ジョブが関連付けられていなければ、印刷指示を受け付けた印刷ジョブと他の印刷ジョブとを結合するジョブ結合を行うための操作画面を新たに作成して表示部に表示する。一方、本情報処理装置は、当該スレッドに他の印刷ジョブが関連付けられていれば、該スレッドに対応して既に作成されている操作画面を更新する。【選択図】  図８
2020181499.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷ジョブを結合するジョブ結合機能を提供する情報処理装置であって、
前記情報処理装置で動作するアプリケーションを介して印刷指示を受け付けると、対応する印刷ジョブのプリンタキューに関連付けられたスレッドに、他の印刷ジョブが関連付けられているか否かを判断する判断手段と、
前記判断手段の判断結果に基づき、前記スレッドに他の印刷ジョブが関連付けられていなければ、前記印刷指示を受け付けた印刷ジョブと他の印刷ジョブとを結合するジョブ結合を行うための操作画面を新たに作成して表示部に表示し、前記スレッドに他の印刷ジョブが関連付けられていれば、該スレッドに対応して既に作成されている操作画面を更新する制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、さらに、前記印刷指示を受け付けた印刷ジョブのジョブデータを、ジョブ結合対象の印刷ジョブとして、前記プリンタキューに関連付けて、前記情報処理装置の所定の記憶領域に保存して管理することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記プリンタキューに関連付けられたスレッドが存在しない場合には、該プリンタキューに関連付けられるスレッドを新たに作成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記情報処理装置で動作するアプリケーションを介して印刷指示を受け付けると、対象の印刷装置の能力情報を該印刷装置から取得する取得手段をさらに備え、
前記制御手段は、前記印刷指示を受け付けた印刷ジョブの設定情報と、前記取得手段によって取得された前記対象の印刷装置の能力情報とに基づいて、拡張機能の印刷設定が可能な印刷設定画面を前記表示部に表示することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記印刷設定画面には、前記対象の印刷装置の能力情報に基づく拡張機能の設定項目と、前記ジョブ結合を行うか否かの設定項目とが少なくとも含まれることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記制御手段は、前記印刷指示を受け付けた前記印刷ジョブに前記ジョブ結合を行う設定がされている場合に、前記ジョブ結合を行うための操作画面を前記表示部に表示することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記判断手段は、対応する印刷ジョブの前記プリンタキューに加えて、仮想デスクトップにおける複数のデスクトップのうち該印刷ジョブに関連するデスクトップに関連付けられたスレッドに、他の印刷ジョブが関連付けられているか否かを判断する判断することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記判断手段は、プリンタキューの名称又は識別情報に基づいてプリンタキューを識別することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記操作画面は、前記印刷指示を受け付けた後に表示される印刷時の操作画面であることを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
少なくとも前記判断手段及び前記制御手段は、前記情報処理装置のオペレーティングシステム（ＯＳ）上で動作する複数の印刷装置で共通に利用されるＯＳの標準印刷設定では設定できない印刷装置の拡張機能についての設定を制御する拡張アプリケーションとして実装されることを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記拡張アプリケーションは、前記複数の印刷装置のそれぞれに対応して設けられることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記拡張アプリケーションは、前記情報処理装置のＯＳのタイルアプリであることを特徴とする請求項１０又は１１に記載の情報処理装置。
【請求項１３】
複数の印刷ジョブを結合するジョブ結合機能を提供する情報処理装置の制御方法であって、
判断手段が、前記情報処理装置で動作するアプリケーションを介して印刷指示を受け付けると、対応する印刷ジョブのプリンタキューに関連付けられたスレッドに、他の印刷ジョブが関連付けられているか否かを判断する判断工程と、
制御手段が、前記判断工程による判断結果に基づき、前記スレッドに他の印刷ジョブが関連付けられていなければ、前記印刷指示を受け付けた印刷ジョブと他の印刷ジョブとを結合するジョブ結合を行うための操作画面を新たに作成して表示部に表示し、前記スレッドに他の印刷ジョブが関連付けられていれば、該スレッドに対応して既に作成されている操作画面を更新する制御工程と
を含むことを特徴とする情報処理装置の制御方法。
【請求項１４】
複数の印刷ジョブを結合するジョブ結合機能を提供する情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
判断手段が、前記情報処理装置で動作するアプリケーションを介して印刷指示を受け付けると、対応する印刷ジョブのプリンタキューに関連付けられたスレッドに、他の印刷ジョブが関連付けられているか否かを判断する判断工程と、
制御手段が、前記判断工程による判断結果に基づき、前記スレッドに他の印刷ジョブが関連付けられていなければ、前記印刷指示を受け付けた印刷ジョブと他の印刷ジョブとを結合するジョブ結合を行うための操作画面を新たに作成して表示部に表示し、前記スレッドに他の印刷ジョブが関連付けられていれば、該スレッドに対応して既に作成されている操作画面を更新する制御工程と
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、及びそのプログラムに関する。
【背景技術】
【０００２】
ホストコンピュータにインストールされたプリンタドライバを利用し、ホストコンピュータに接続された画像形成装置に対して印刷を行う制御構成が知られている。ホストコンピュータには、基本ソフトウェアであるオペレーティングシステム（以下、ＯＳと称する。）がインストールされており、プリンタドライバはそのＯＳの規定する仕様に従って構成される。画像形成装置を提供するベンダーは、ＯＳの仕様に適合するプリンタドライバを提供することにより、画像形成装置に対して印刷指示を行うことができる。
【０００３】
ホストコンピュータのＯＳとしてＭｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ（登録商標）８より前のバージョンを利用する場合、プリンタドライバは、Ｖ３プリンタドライバと呼ばれるアーキテクチャで構成される。Ｖ３プリンタドライバは、ユーザからの印刷要求が発生したタイミングでＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示し、何らかの操作をユーザに促すような機能を提供する。例えば、印刷要求が発生すると、Ｖ３プリンタドライバの構成物であるコンフィグレーションモジュールの規定のイベントが呼び出されるため、コンフィグレーションモジュールは、そのイベント処理の中でユーザインタフェースを表示することが可能である。
【０００４】
Ｗｉｎｄｏｗｓ（登録商標）８以降において、Ｖ４プリンタドライバと呼ばれる新しいアーキテクチャが登場した。Ｖ４プリンタドライバのアーキテクチャでは、セキュリティ性が重視されているため、プリンタドライバそのもののカスタマイズ性は低下している。例えば、前述のコンフィグレーションモジュールはＯＳにより提供され、ベンダーは、その動作をカスタマイズする設定ファイルやスクリプトファイルのみを提供可能である。このようなカスタマイズ性の低下を補うため、画像形成装置を提供するベンダーは、プリンタドライバの機能を補助するための専用のアプリケーションを提供することができる。このアプリケーションはＷｉｎｄｏｗｓ  Ｓｔｏｒｅ  Ｄｅｖｉｃｅ  Ａｐｐｓ（ＷＳＤＡ）と呼ばれる。
【０００５】
また、Ｗｉｎｄｏｗｓ（登録商標）１０以降においては、Ｕｎｉｖｅｒｓａｌ  Ｗｉｎｄｏｗｓ  Ｐｌａｔｆｏｒｍ（ＵＷＰ）と呼ばれる新しい形式のプラットフォームでアプリケーションが作成できる。そのアプリケーションは、ＵＷＰ  Ｄｅｖｉｃｅ Ａｐｐｓと呼ばれる。ＵＷＰ  Ｄｅｖｉｃｅ  ＡｐｐｓはＷＳＤＡの機能を拡張し、Ｗｏｒｋｆｌｏｗ（ＷＦ）と呼ばれるアプリケーションをＷＳＤＡに追加することができる。ＷＦ機能では、印刷時にバックグラウンドタスクと呼ばれるＵＩを持たないスレッドがＯＳによって生成される。バックグラウンドタスクは、フォアグラウンドのタスク（ＵＩ）を呼び出すことも可能である。
【０００６】
一方、特許文献１には、機能が異なる複数種類の印刷装置を制御するためのプリンタドライバとしてユニバーサルプリンタドライバと称されるプリンタドライバが提案されている。当該プリンタドライバでは、機種やモデル毎に個々の印刷装置に好適な操作画面を表示することができる。
【０００７】
更に、プリンタドライバを使用せずに、印刷装置に対して印刷データを送信できるようにすることが考えられている。例えば、Ｕｂｕｎｔｕ（登録商標）１７．０４では、ＯＳのデフォルト機能として、ＩＰＰ  Ｅｖｅｒｙｗｈｅｒｅ（登録商標）に対応する印刷装置に対して印刷データを送信する仕組みが搭載されている。ＩＰＰ  Ｅｖｅｒｙｗｈｅｒｅは、様々な印刷装置を使用した印刷を可能とする一連の規格であり、業界団体などで規格の策定や普及活動が行われている。
【０００８】
また、特許文献２には、印刷制御において、複数の印刷ジョブを結合して１つのジョブを生成するジョブ結合という印刷を行う方法が提案されている。上記Ｖ３プリンタドライバではプリンタドライバが印刷時にポップアップＵＩを表示してジョブ結合を行うことが可能であった。しかし、上記Ｖ４プリンタドライバはＯＳが提供するフレームワークが主体となって制御を行うため印刷時に、Ｖ３のようなポップアップＵＩを表示することができない。そのため、Ｖ４プリンタドライバにおけるジョブ結合などの印刷時にポップアップするＵＩはＷＳＤＡのＷＦ機能を用いて実現することが考えられる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−２４３０６７号公報
【特許文献２】特開２００１−１３４３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来技術には以下に記載する課題がある。例えば、Ｖ３ドライバではスレッドをプリンタキュー毎に複数生成することができたが、拡張アプリケーションであるデバイスアプリ（例えば、ＷＳＤＡ）ではスレッドが１つだけしか生成されない。またプリンタ毎にデバイスアプリを作成せずに全プリンタで共通のデバイスアプリを作成することが一般的である。全プリンタ共通のデバイスアプリにおいてＷＦ機能を用いて印刷時にポップアップするＵＩでジョブ結合を実現する場合、全プリンタ共通でのジョブ管理となり、プリンタキュー毎にジョブ管理ができないという問題があった。プリンタキュー毎にジョブを管理できなければ、例えばジョブ結合のＵＩを表示する際に、異なるプリントキューのジョブが表示されてしまい、ユーザが誤って異なるプリントキューのジョブを結合する操作を行うなどの問題が発生する可能性がある。また、そのような誤操作を防止するために、余分な処理が必要となってしまい、処理負荷にも影響がある。従って、処理負荷を増大させることなく、よりユーザフレンドリな操作体系を提供するためには、プリンタキュー毎にジョブを管理し制御することが課題となる。
【００１１】
本発明は、上述の課題の少なくとも一つに鑑みて成されたものであり、印刷指示を受け付けた印刷ジョブの拡張機能を制御する際に、プリンタキュー毎に好適にジョブを制御する仕組みを提供する。
【課題を解決するための手段】
【００１２】
本発明は、例えば、複数の印刷ジョブを結合するジョブ結合機能を提供する情報処理装置であって、前記情報処理装置で動作するアプリケーションを介して印刷指示を受け付けると、対応する印刷ジョブのプリンタキューに関連付けられたスレッドに、他の印刷ジョブが関連付けられているか否かを判断する判断手段と、前記判断手段の判断結果に基づき、前記スレッドに他の印刷ジョブが関連付けられていなければ、前記印刷指示を受け付けた印刷ジョブと他の印刷ジョブとを結合するジョブ結合を行うための操作画面を新たに作成して表示部に表示し、前記スレッドに他の印刷ジョブが関連付けられていれば、該スレッドに対応して既に作成されている操作画面を更新する制御手段とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、印刷指示を受け付けた印刷ジョブの拡張機能を制御する際に、プリンタキュー毎に好適にジョブを制御することができる。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係るシステム構成及びクライアントコンピュータ１００のハードウェア構成を示す図。
【図２】一実施形態に係るクライアントコンピュータ１００における印刷処理システムのソフトウェア構成を示す図。
【図３】ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ及びＰｒｉｎｔＴｉｃｋｅｔの一例を示す図。
【図４】一実施形態に係るデータの流れを表した模式図。
【図５】一実施形態に係る印刷システムにおける印刷処理のフローチャート。
【図６】一実施形態に係るＯＳ標準ＵＩの例を示す図。
【図７】一実施形態に係る拡張ＵＩの例を示す図。
【図８】一実施形態に係るジョブ結合処理のフローチャート。
【図９】一実施形態に係るジョブ結合ＵＩの例を示す図。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１６】
なお、実施形態に係る情報処理装置として複合機（デジタル複合機／ＭＦＰ／Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）を例に説明する。しかしながら適用範囲は複合機に限定されず、情報処理装置であればよい。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。
【００１７】
＜第１の実施形態＞
＜システム構成及び情報処理装置の構成＞
以下では、本発明の第１の実施形態について説明する。まず、図１を参照して、本実施形態に係る印刷処理システム及び情報処理装置の詳細構成について説明する。
【００１８】
本実施形態に係るシステムには、クライアントコンピュータ１００（１００ａ、１００ｂ）と、ページ記述言語（以下、ＰＤＬと略記する。）形式の印刷ジョブを受信して印刷を行なうことが可能なプリンタ２００（２００ａ、２００ｂ、２００ｃ）とが含まれる。以下では、クライアントコンピュータ１００ａ、１００ｂ等を総称してクライアントコンピュータ１００と称し、プリンタ２００ａ、２００ｂ、２００ｃ等を総称してプリンタ２００と称する。従って、クライアントコンピュータ１００やプリンタ２００と表記する場合は、各クライアントコンピュータ１００ａ、１００ｂや、プリンタ２００ａ、２００ｂ、２００ｃ等に共通の事項を説明するものである。
【００１９】
プリンタ２００は、ＯＳの標準印刷機能が対応している印刷データの形式と、データ送信のプロトコルとに対応していることを想定する。これらはローカル・エリア・ネットワーク(ＬＡＮ)に代表されるネットワーク３００を介して外部装置と接続され相互に通信可能である。なお、プリンタ２００は印刷機能のみを備えるシングルファンクションプリンタ（ＳＦＰ）でも、印刷機能、スキャン機能、及び複写機能を備えるマルチファンクションプリンタ（ＭＦＰ）でも構わない。なお、プリンタ２００ａ、プリンタ２００ｂ、プリンタ２００ｃは、複数のベンダーによって提供されるプリンタである。本実施形態では様々なプリンタが混在している環境を想定しており、クライアントコンピュータ１００は印刷要求を行うジョブに応じて、処理可能なプリンタに当該ジョブの印刷要求を行う。
【００２０】
続いて、本実施形態に係るクライアントコンピュータ１００のハードウェア構成を説明する。クライアントコンピュータ１００は、ＣＰＵ１０１、主記憶装置１０２、入力Ｉ／Ｆ１０３、出力Ｉ／Ｆ１０４、補助記憶装置１０５、及び通信Ｉ／Ｆ１０６を備え、各部はシステムバス１０７を介して接続される。システムバス１０７は、クライアントコンピュータ１００を構成するハードウェアモジュール間でそれぞれのデータのやりとりに使われる。さらに、クライアントコンピュータ１００は、入力Ｉ／Ｆ１０３に接続されるキーボード１０８及びポインティングデバイス１０９と、出力Ｉ／Ｆ１０４を介して接続されるモニタ１１０とを備える。
【００２１】
ＣＰＵ１０１は主記憶装置１０２のＲＯＭ１０２１、ＲＡＭ１０２２、又は補助記憶装置１０５に格納されたプログラムに従って装置全体の制御を統括的に行う。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５はアプリケーション１０５１、デバイスアプリ１０５２、及びＯＳ１０５３等を記憶する。アプリケーション１０５１や、デバイスアプリ１０５２は、不図示のＣＤ−ＲＯＭやＵＳＢメモリ又はネットワーク３００を経由して補助記憶装置１０５に追加することが可能である。
【００２２】
キーボード１０８やマウス・タッチパネルなどに代表されるポインティングデバイス１０９などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインタフェースであり、モニタ１１０などの出力機器に対してデータを出力する。クライアントコンピュータ１００は、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク３００を通してプリンタ２００と接続される。
【００２３】
＜ソフトウェア構成＞
次に、図２を参照して、本実施形態に係るクライアントコンピュータ１００における印刷処理システムのソフトウェア構成を説明する。クライアントコンピュータ１００には、ソフトウェア構成として、少なくともＯＳ１０５３、アプリケーション１０５１及びデバイスアプリ１０５２が含まれる。
【００２４】
ＯＳ１０５３の一部のモジュールであるＯＳ標準印刷機能１０５３１は、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）ファイルフォーマットをスプールデータとして使用して印刷を行うシステムである。ＯＳ標準印刷機能１０５３１はＯＳ標準印刷機能１０５３１は、複数の印刷装置に対して共通に利用される、オペレーティングシステム（ＯＳ）上で動作する標準印刷設定部である。また、ＯＳ１０５３には、ＯＳ標準印刷機能１０５３１の他に、ＧＤＩｔｏＸＰＳ変換モジュール２０７、プリントマネージャ２１８、及びデバイス通信部２１９のモジュールが含まれる。本印刷処理システムでは、ＸＰＳスプールファイル２０６を受信したＯＳ標準印刷機能１０５３１が、標準のページ記述言語に置き換えてプリンタ２００に出力することを可能とする。ここで、標準のページ記述言語としては、モバイル印刷の標準規格であるＭｏｐｒｉａで採用されているＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）や、ＰＷＧ−Ｒａｓｔｅｒが想定されるが、本発明はこれらに限定されるものではない。
【００２５】
アプリケーション１０５１には、少なくとも１つのデスクトップアプリ２０１とＵＷＰアプリ２０２とが含まれる。デスクトップアプリ２０１及びＵＷＰアプリ２０２は、クライアントコンピュータ１００の補助記憶装置１０５に格納されている。デスクトップアプリ２０１は、プリンタの印刷イメージの生成を行うグラフィックスコンポーネントのＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）を利用して印刷を要求することができる。ＧＤＩを利用して印刷を要求する場合は、ＯＳ１０５３のモジュールであるＧＤＩｔｏＸＰＳ変換モジュール２０７に対してＧＤＩ描画データが送られ、当該データがＸＰＳスプールファイル２０６へ変換される。
【００２６】
一方、ＵＷＰアプリ２０２から印刷する場合は、ＸＰＳファイルをＵＷＰアプリ自身が生成する方法と、ＯＳ１０５３がＵＷＰアプリからの描画命令に応じてＸＰＳファイルを生成する方法との２通りの方法がある。いずれの方法であってもＸＰＳスプールファイル２０６が生成される。
【００２７】
ユーザはキーボード１０８やタッチパネル／マウスなどに代表されるポインティングデバイス１０９などの入力装置を使用して、出力装置であるモニタ１１０に映し出されたデスクトップアプリ２０１、又はＵＷＰアプリ２０２から印刷処理を実行する。印刷する場合、ユーザは印刷したいプリンタ２００の選択を行う。ユーザから見るとプリンタ２００の選択は、印刷を実行するプリンタ２００が対応しているＯＳ標準印刷機能１０５３１を選択することと同義である。ＯＳ標準印刷機能１０５３１の選択には、不図示のプリントキューを利用する。
【００２８】
ここで印刷設定について説明する。まず、アプリケーション１０５１が印刷設定用のメモリ領域をＲＡＭ１０２２に確保する。アプリケーション１０５１は、ＯＳ標準印刷機能１０５３１のＯＳ標準印刷設定部２０８を呼び出して、印刷設定データを作成して格納する。デスクトップアプリ２０１では印刷設定データとしてバイナリのＤＥＶＭＯＤＥ２０３を用い、ＵＷＰアプリ２０２ではマークアップ言語のＸＭＬで記載された、例えば図３に示すＰｒｉｎｔＴｉｃｋｅｔ２０４を用いる。印刷設定データにはＯＳ標準印刷機能１０５３１固有の情報も含まれているので、ＯＳ標準印刷設定部２０８は、ＯＳ標準印刷機能１０５３１が対応する機能を定義した標準印刷機能定義ファイル２０９を利用して、印刷設定データを作成する。このＤＥＶＭＯＤＥ２０３又はＰｒｉｎｔＴｉｃｋｅｔ２０４が印刷設定を保持しており、アプリケーションが直接、値を書き換えることで印刷設定を変更することができる。ＯＳ標準印刷設定部２０８は、ＯＳ標準印刷機能１０５３１で設定可能な機能と選択項目の一覧をＯＳが定義する書式に基づきＸＭＬ形式で記述した、図３に示すＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（印刷能力情報）３１０を生成する機能を有する。ＯＳ標準印刷ＵＩ部２０５は、印刷能力情報３１０に記述された情報に基づき、印刷設定のインタフェースを生成し、ユーザによる印刷設定の変更操作を可能にする。
【００２９】
ここで、ＯＳ標準印刷設定部２０８がプリントマネージャ２１８及びデバイス通信部２１９を介して取得した情報を基に印刷能力情報３１０を生成する方法について説明する。プリントマネージャ２１８はデバイス通信部２１９を経由して能力情報の取得や印刷処理を行う。デバイス通信部２１９は、Ｍｏｐｒｉａで採用されているＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）等の標準的な通信プロトコルを用いてプリンタ２００と通信を行うことができる。特に、標準的な通信プロトコルを用いることで種々の異なるベンダーのプリンタと通信を可能にしている。
【００３０】
ＯＳ標準印刷設定部２０８は、プリントマネージャ２１８及びデバイス通信部２１９を介して、プリンタ２００の能力情報を取得する。例えば、プリンタ２００が「両面」印刷可能な「カラー」機種の場合、これらの能力情報を取得することができる。これらは標準的な印刷設定の能力情報であり、ＯＳ標準印刷設定部２０８はこれらの能力情報を基に印刷能力情報３１０の形式に変換する。ＯＳ標準印刷設定部２０８は印刷能力情報３１０を利用してＵＩを形成し、ＯＳ標準印刷ＵＩ部２０５のように、ユーザに対して各機能に関する設定変更を提供することができる。本実施形態ではＯＳ標準印刷設定部２０８が印刷能力情報３１０を生成する例を記載しているが、本発明を限定することを意図していない。例えば、プリントマネージャ２１８やデバイス通信部２１９がプリンタ２００から取得した情報を基に印刷能力情報３１０を生成し、ＯＳ標準印刷設定部２０８に渡してもよい。
【００３１】
デスクトップアプリ２０１又はＵＷＰアプリ２０２から印刷の指示が行われることでＸＰＳスプールファイル２０６が生成され、ＯＳ標準印刷処理部２１２に処理が渡される。ＯＳ標準印刷処理部２１２はＸＰＳスプールファイル２０６をレンダリングして標準のＰＤＬデータに変換する。ＰＤＬとはＰａｇｅＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ（ページ記述言語）の略称である。ＰＤＬデータは印刷処理のスケジュール管理を行うプリントマネージャ２１８で管理され、所定のプリンタキュー（待ち行列）に印刷ジョブが次々と登録される。プリンタ２００が印刷できる状態になると、プリンタキューに登録した順にデバイス通信部２１９を通して送信する。このようにして、アプリケーションからの印刷データをＰＤＬデータに変換することがＯＳ標準印刷機能１０５３１の主な役目であり、プリンタを通して印刷処理が行われる。さらに、ＯＳ標準印刷処理部２１２は、ＸＰＳスプールファイル２０６に含まれるＰｒｉｎｔＴｉｃｋｅｔ２０４に指定された設定内容をデバイス通信部２１９に伝える。さらに、デバイス通信部２１９が設定内容を標準の通信プロトコルを通してプリンタ２００に伝達することで、ＯＳ標準印刷ＵＩ部２０５で指定された印刷設定情報が印刷処理に反映される。ただし、上記の処理では、一般的な印刷設定、例えば標準的なプロトコルとして挙げられるＩＰＰの仕様として規定済みの能力しか対応できず、プリンタ２００が提供する様々な機能に対応することができない。そこで、拡張アプリケーションであるデバイスアプリ１０５２を用いることで様々な機能を扱うことを可能とする。特に、本実施形態によれば、プリンタキューに登録された複数の印刷ジョブを結合して１つの印刷ジョブに結合する結合機能を拡張アプリケーションによって実現することができる。
【００３２】
拡張アプリケーションであるデバイスアプリ１０５２は、ＯＳ標準印刷機能１０５３１とは別のアプリケーションとしてインストールが行われ、プリンタ２００の機能をプリンタベンダーが拡張するためのアプリケーションである。従って、プリンタごとにデバイスアプリが設けられ、それぞれインストールされてもよい。デバイスアプリ１０５２は、印刷時起動アプリ部１０５２１、拡張印刷設定部１０５２２、ジョブ結合部１０５２３、デバイスアプリ通信部１０５２４、印刷ジョブ生成部１０５２５、及びタイルアプリ部１０５２６を含んで構成される。
【００３３】
印刷時起動アプリ部１０５２１は、アプリケーション１０５１を介してユーザが印刷指示を行ったタイミングである印刷時に呼び出されるモジュールである。印刷時起動アプリ部１０５２１は、拡張印刷設定部１０５２２、ジョブ結合部１０５２３、デバイスアプリ通信部１０５２４、印刷ジョブ生成部１０５２５、及びタイルアプリ部１０５２６を管理する。印刷時起動アプリ部１０５２１は、これらのアプリを管理制御することにより、種々の拡張機能をユーザに提供し、当該拡張機能を操作する（印刷設定を行う）ための拡張ＵＩを提供する。デバイスアプリ１０５２は、対応可能な各プリンタに紐づくことが可能であり、プリンタ２００ａ、２００ｂ、２００ｃのそれぞれに対して連携することができる。このようにして、拡張機能を標準印刷機能に対して付随することで、プリンタ２００の拡張機能が利用可能となり、上述したジョブ結合機能を実現でき、印刷直後にプレビューを表示することや、印刷設定変更を促すユーザインタフェースを表示することもできる。本実施形態のデバイスアプリは、ＯＳ標準印刷処理部２１２においてＰＤＬ変換が行われた後に起動して呼び出されることを想定している。しかし、本発明を限定する意図はなく、例えばＰＤＬ変換処理前に読み出され、ＸＰＳスプールファイル２０６の編集処理機能も有するデバイスアプリとして実装されてもよい。
【００３４】
拡張印刷設定部１０５２２は、受信した印刷設定情報を基に拡張ＵＩを表示する機能を有する。ジョブ結合部１０５２３は複数の印刷ジョブを結合して１つのジョブとして生成することができるジョブ結合機能を実現する。デバイスアプリ通信部１０５２４は、デバイスアプリ１０５２の各モジュールがプリンタ２００と通信するための機能を有する。印刷ジョブ生成部１０５２５は、ＰＤＬ変換処理や拡張された印刷設定をジョブに反映させる機能を有する。タイルアプリ部１０５２６は、印刷処理とは別にＯＳのスタートメニューなどのアプリケーション一覧から起動されるアプリケーションであり、プリンタ２００の管理画面やプリンタ２００のサポート情報のＷｅｂサイトへ誘導する機能などを提供する。
【００３５】
＜データの流れ＞
次に、図４を参照して、本実施形態に係る印刷システムにおけるアプリケーション１０５１からプリンタ２００の出力までのデータの流れを説明する。
【００３６】
まず、アプリケーション１０５１はＯＳ標準印刷設定部２０８を利用して標準設定を取得する。ＯＳ標準印刷設定部２０８は、プリントマネージャ２１８及びデバイス通信部２１９を介してプリンタ２００から能力情報を取得し、取得した情報を基に標準設定を生成する。アプリケーション１０５１において、ユーザ操作を介して印刷指示を受け付けると印刷処理を開始し、ＯＳ標準印刷設定部２０８で取得した標準設定と、ＸＰＳスプールファイル２０６とをＯＳ標準印刷処理部２１２へ渡す。
【００３７】
次に、ＯＳ標準印刷処理部２１２は、受信したＸＰＳスプールファイル２０６をＰＤＬに変換した印刷ジョブを生成し、標準設定と共にデバイスアプリ１０５２へ渡す。デバイスアプリ１０５２は、プリンタ２００から能力情報を取得し、取得した情報から拡張設定を生成したり、ジョブ結合ＵＩを表示してジョブ結合処理を行ったりする。そして、デバイスアプリ１０５２は、標準設定及び拡張設定をマージした設定情報を用いて、ＰＤＬと共にプリンタ２００へ渡す。なお、複数の印刷ジョブを結合するジョブ結合処理を行う場合には、ジョブ結合対象の印刷データを所定の記憶領域にプリンタキューに関連付けて記憶し、その後に生成される印刷データとの結合に備える。
【００３８】
＜処理手順＞
次に、図５を参照して、本実施形態に係る印刷処理に関する詳細な処理手順について説明する。まず本フローチャートの処理を開始する前に、準備段階としてユーザが印刷対象のプリンタ２００を選択する必要がある。図６はプリンタ２００を選択することが可能なＯＳ１０５３が提供するモダンプリントダイアログと呼ばれる設定画面の一例を示す。ＵＷＰアプリ２０２において印刷指示を行った場合、ＯＳ１０５３が提供するプリントダイアログが表示される。ここでは、４５０のように印刷対象としたいプリンタ２００を選択する機能を有し、ユーザに選択する機能を提供している。同様に、デスクトップアプリ２０１に対してもプリントダイアログが存在し、印刷対象のプリンタ２００を選択する機能を有する。
【００３９】
ユーザが印刷対象のプリンタ２００を選択することにより、プリンタ２００との通信によって標準設定の取得及び印刷設定ＵＩの表示が行われている状態から、図５に示すフローチャートの印刷処理が開始される。以下で説明するアプリケーション、ＯＳ及びデバイスアプリの処理は、例えばクライアントコンピュータ１００のＣＰＵ１０１がＲＯＭ１０２１や補助記憶装置１０５等から制御プログラム等をＲＡＭ１０２２に読み出して実行することにより実現される。また、プリンタの処理は、例えばプリンタ２００のＣＰＵがＲＯＭ等に記憶された制御プログラムをＲＡＭに読み出して実行することにより実現される。
【００４０】
Ｓ５０１で、アプリケーション１０５１は、ユーザによってプリントダイアログの印刷ボタン４５２が押下されたことを検知する。続いて、Ｓ５０２で、アプリケーション１０５１は、プリントダイアログ等で設定された印刷設定に従って印刷データを生成し、ＯＳ１０５３に生成した印刷データを渡す。Ｓ５０３で、ＯＳ１０５３は、ＸＰＳスプールファイル２０６を生成する。ここで、デスクトップアプリ２０１からの印刷の場合はＧＤＩｔｏＸＰＳ変換モジュール２０７を用いてＸＰＳスプールファイル２０６を生成する。
【００４１】
Ｓ５０４で、ＯＳ１０５３は、標準印刷処理部２１２によってＸＰＳスプールファイル２０６をＰＤＬに変換した印刷ジョブを生成する。続いて、Ｓ５０５で、ＯＳ１０５３は、選択されたプリンタ２００に対応するデバイスアプリ１０５２が存在するかを確認する。Ｓ５０５で、ＯＳ１０５３は、デバイスアプリ１０５２が存在すると判断した場合はＳ５０６へ進み、そうでない場合はＳ５１６へ進む。Ｓ５０６で、ＯＳ１０５３は、選択されたプリンタ２００に対応するデバイスアプリ１０５２を起動して、Ｓ５０４で生成した印刷ジョブをデバイスアプリ１０５２へ渡す。
【００４２】
Ｓ５０７で、デバイスアプリ１０５２の印刷時起動アプリ部１０５２１は、ＯＳ１０５３から渡された印刷ジョブを受信する。続いて、Ｓ５０８で、デバイスアプリ１０５２の印刷時起動アプリ部１０５２１は、印刷ジョブを解析する。具体的には、印刷時起動アプリは、印刷ジョブにおける印刷設定情報を解析する。解析結果については図７を用いて後述する。Ｓ５０９で、デバイスアプリ１０５２のデバイスアプリ通信部１０５２４は、対象のプリンタ２００（選択されたプリンタ）に対して能力情報を問い合わせる。デバイスアプリ１０５２のデバイスアプリ通信部１０５２４は、対象のプリンタ２００に対して特定の通信方式を用いて能力情報を取得する。特定の通信方式とは、Ｍｉｃｒｏｓｏｆｔが推奨するＷＳＤプロトコルを用いた通信方式や、ベンダー独自のプロトコルを用いた通信方式が該当する。
【００４３】
Ｓ５１０で、プリンタ２００は、クライアントコンピュータ１００からの能力情報の問い合わせを受信する。続いて、Ｓ５１１で、プリンタ２００は、自身が保持するデバイス能力情報をクライアントコンピュータ１００に対して返信する。
【００４４】
Ｓ５１２で、デバイスアプリ１０５２のデバイスアプリ通信部１０５２４は、プリンタ２００からのデバイス能力情報を受信する。続いて、Ｓ５１３で、デバイスアプリ１０５２の拡張印刷設定部１０５２２は、Ｓ５０８の印刷ジョブの解析結果と、Ｓ５１２で受信したデバイス能力情報とに従って、拡張印刷設定ＵＩを表示する。図７は、拡張機能の印刷設定画面である拡張印刷設定ＵＩの一例を示す。７０１はジョブ解析結果から得られた標準印刷設定領域であり、７０２はデバイス能力情報から得た拡張印刷設定領域である。標準印刷設定領域７０１では、ＯＳ１０５３が提供する標準印刷設定で設定可能な項目を再度設定することができる。拡張印刷設定領域７０２では、デバイスアプリ１０５２が対応するプリンタから取得した情報に基づいて提供する拡張機能の印刷設定を行うことができる。
【００４５】
具体的には、Ｓ５０８で印刷ジョブを解析することによって得られた情報（解析結果）には、例えば図７の標準印刷設定領域７０１に示すように、印刷に利用する原稿サイズ、印刷する部数、印刷の向き、カラーモードや両面印刷等の設定項目が含まれる。もちろん他の設定項目が含まれてもよい。一方、拡張印刷設定領域７０２に表示されている拡張印刷設定の「ボックス印刷」や「セキュアプリント」は各ベンダー独自の仕様で動作する印刷設定の一例であり、上述の標準設定に規定された仕様に則ったものではない。そのため、デバイスアプリ１０５２が独自にプリンタ２００と通信し情報を取得する必要がある。７０３に表示されている「ジョブ結合機能」はデバイスアプリ１０５２が提供する機能の一例である。本実施形態では「ジョブ結合機能」の設定を拡張印刷設定部１０５２２で行っているが、タイルアプリ部１０５２６で行ってもよい。このように拡張アプリケーションであるデバイスアプリ１０５２によって表示される拡張印刷設定ＵＩは、印刷ジョブを解析して得られた設定と、プリンタから直接取得した拡張設定と、デバイスアプリ自身が提供する機能の設定とを変更可能に構成される。
【００４６】
Ｓ５１４で、デバイスアプリ１０５２の拡張印刷設定部１０５２２はユーザからの印刷設定の入力を受け付ける。続いて、Ｓ５１５で、デバイスアプリ１０５２の印刷ジョブ生成部１０５２５は印刷ジョブの解析結果とデバイス能力情報とから拡張印刷設定領域７０２を対象のデバイス（選択されたプリンタ）が受信可能なコマンドに変換した印刷ジョブを生成する。その後、ＯＳ１０５３に対して印刷ジョブを渡す。その後、Ｓ８００で、デバイスアプリ１０５２はジョブ結合処理を行う。ジョブ結合処理の詳細については図８を用いて後述する。
【００４７】
Ｓ５１６で、ＯＳ１０５３は対象のデバイスに印刷ジョブを送信する。また、本実施形態ではＯＳ１０５３を経由してプリンタ２００に印刷ジョブを送信しているが、デバイスアプリ１０５２のデバイスアプリ通信部１０５２４がプリンタ２００に対して直接印刷ジョブを送信してもよい。この場合、デバイスアプリ１０５２のデバイスアプリ通信部１０５２４が、プリンタ２００と直接接続し、ＷＳＤプロトコルやベンダー独自のプロトコルを用いた印刷手法を利用することにより、印刷ジョブを制御することが可能である。
【００４８】
Ｓ５１７で、プリンタ２００は印刷ジョブを受信する。続いて、Ｓ５１８で、プリンタ２００は適切な印刷設定を反映させて、印刷出力を行う。そして、印刷処理を終了する。
【００４９】
＜ジョブ結合処理＞
次に、図８を参照して、本実施形態におけるジョブ結合処理の処理手順を説明する。ジョブ結合とは、異なるアプリケーションの印刷データを１つに結合して印刷することができる機能である。例えば、Ｗｏｒｄから印刷されるデータとＥｘｃｅｌから印刷されるデータを結合することで、Ｗｏｒｄの印刷データとＥｘｃｅｌの印刷データが混在したドキュメントを印刷することができる。この場合、印刷データを生成する情報処理装置では、まずＷｏｒｄの印刷データを生成して、所定の記憶領域に保存管理し、続いてＥｘｃｅｌの印刷データを生成して、上記所定の記憶領域に保存して結合し、結合したジョブデータを生成する。以下ではこのような、本実施形態に係るジョブ結合処理について説明する。以下で説明する処理は、例えばクライアントコンピュータ１００のＣＰＵ１０１がＲＯＭ１０２１や補助記憶装置１０５等から制御プログラム等をＲＡＭ１０２２に読み出して実行することにより実現される。
【００５０】
Ｓ８０１で、印刷時起動アプリ部１０５２１はジョブ結合の設定がされているか否かを判断する。ジョブ結合の設定は、図７を用いて説明した拡張印刷設定ＵＩの７０３において設定することができる。なお、デフォルトの設定として情報を保持しておいてもよい。例えば、図７に示すように、ジョブ結合機能がＯＮに設定されている場合には、ジョブ結合が設定されていると判断する。
【００５１】
続いて、Ｓ８０２で、ジョブ結合部１０５２３は、ＯＳ１０５３から当該印刷ジョブのプリンタキュー名を取得する。ここで、プリンタキューとは、発生した印刷ジョブを順番に蓄積し、順次実行するための待ち行列であり、本実施形態ではプリンタキュー名ごとにスレッドが作成される形態を例に説明する。Ｓ８０３で、ジョブ結合部１０５２３は同じプリンタキュー名のスレッドが既に存在しているかを判断する。同じプリンタキュー名のスレッドが既に存在していればＳ８０４に進み、そうでない場合はＳ８０５に進む。Ｓ８０４で、ジョブ結合部１０５２３は、以後のＳ８０６〜Ｓ８０９のジョブ結合の処理を既に存在している同じプリンタキュー名のスレッドで行うことを決定し、Ｓ８０６に進む。また、このとき、ＯＳ１０５３に対して印刷成功や印刷キャンセルなどの通知を行ってもよい。同じプリンタキュー名のスレッドが存在していない場合は、Ｓ８０５で、ジョブ結合部１０５２３は、プリンタキュー名を基に新しいスレッドを作成する。さらに、ジョブ結合部１０５２３は、以後のＳ８０６〜Ｓ８０９のジョブ結合の処理を新しいスレッドで行うことを決定し、処理をＳ８０６に進める。
【００５２】
Ｓ８０６で、ジョブ結合部１０５２３は、スレッドに関連付けられたジョブデータが所定の記憶領域に既に保存されているか否かを判断する。スレッドに関連付けられたジョブデータが所定の記憶領域に既に保存されている場合はＳ８０７に進み、そうでない場合はＳ８０８に進む。Ｓ８０７で、ジョブ結合部１０５２３は、既に作成されている、当該スレッドのジョブ結合ＵＩを当該印刷ジョブの情報を追加するように更新し、Ｓ８０９に進む。即ち、ここでいう更新とは、新たにジョブ結合ＵＩを生成して表示しないことを意味する。一方、スレッドに関連付けられたジョブデータが所定の記憶領域に保存されていない場合、Ｓ８０８で、ジョブ結合部１０５２３は、ジョブ結合ＵＩを新規に表示し、Ｓ８０９に進む。
【００５３】
図９は本実施形態におけるジョブ結合ＵＩ９００の一例を示す。ジョブ結合ＵＩ９００はジョブ一覧表示領域９０１を有しており、ジョブ結合部１０５２３が注目するスレッドに関連付けられたジョブデータが表示される。ジョブ一覧表示領域９０１ではドキュメント名、ページ数、及びレイアウトなどの情報が表示されており、ジョブを選択することができる。ジョブが選択された状態で印刷設定の変更ボタン９０３が押下された場合、拡張印刷設定ＵＩ７００が表示され、そのジョブに対する印刷設定を変更することができる。即ち、ここでジョブ結合に関する設定を変更することもできる。また、ジョブが選択された状態でジョブの削除ボタン９０４が押下された場合、そのジョブを当該スレッド（プリントキュー）から削除することができる。複数のジョブが選択された状態でジョブ結合ボタン９０５が押下されると、選択されている複数のジョブが結合され、印刷ボタン９０７が押下されるとＯＳ１０５３に対して結合された印刷ジョブが渡される。一方、結合したジョブを選択した状態でジョブの分割ボタン９０６が押下されると、結合する前の複数のジョブに戻すことができる。
【００５４】
ジョブが選択された状態で印刷プレビューボタン９０２が押下されると、図９に示すような印刷プレビューＵＩ９５０を表示する。プレビュー領域９５１では選択されたジョブがどのように印刷されるかを確認することができる印刷プレビューが表示される。ページ表示領域９５２では印刷ページ数全体の中で何ページ目を表示しているかを表している。閉じるボタン９５３が押下されると印刷プレビューＵＩ９５０が終了して、ジョブ結合ＵＩ９００画面に戻る。
【００５５】
図８の説明に戻る。Ｓ８０９で、ジョブ結合部１０５２３は、アプリデータ（ＡｐｐＤａｔａ）などのデバイスアプリ１０５２が保存可能な所定の記憶領域にジョブデータを保存する。このとき、ジョブ結合部１０５２３は、どのスレッドに属しているジョブデータかが分かるようにプリンタキュー名などの情報に関連付けてジョブデータを保存する。プリンタキュー名に関連付けてジョブデータ（印刷データ）を保存することにより、同一のプリンタキュー名に関連付けられた印刷ジョブのみをジョブ結合対象の印刷ジョブとして管理することができる。これにより、煩雑な操作をユーザに要求することなく、ユーザフレンドリな操作体系を提供でき、誤操作によってユーザの意図しない印刷物が出力されることなどを軽減することができる。
【００５６】
以下の表１は、プリンタドライバ、プリンタキュー名とスレッドの関連を表す。
【００５７】
【表１】
2020181499.tif 000003
【００５８】
デバイスＩＤは製造元（ＭＦＧ）、モデル（ＭＤＬ）、クラス（ＣＬＳ）、コマンド（ＣＭＤ）、デスクリプション（ＤＥＳ）などを示す情報である。例えば表１で示されるプリンタＡＡＡは製造元：ＡＢＣ、モデル：プリンタ１、クラス：ＰＲＩＮＴＥＲ、コマンド：ＰＤＬ１（ＡＢＣ社プライベートの印刷制御用コマンド）、デスクリプション：ＡＢＣ、プリンタＡＡＡを示すデバイスＩＤを有する。また、対応するプリンタドライバがプリンタドライバ１であり、プリンタキュー１に関連付けられるスレッドはスレッド１であることを示す。
【００５９】
上記プリンタＡＡＡが既に登録された後に、プリンタＢＢＢがクライアントコンピュータ１００に通信接続された場合、製造元とモデルに応じたプリンタキューが生成される。しかし、図８のフローに当て嵌めれば、プリンタＢＢＢの場合にはプリンタＡＡＡと同じプリンタキュー名であるため、新しいスレッドは作成されず、プリンタＡＡＡのプリンタキュー１と同様のスレッド１に処理を委任することになる。一方、プリンタＣＣＣの場合にはプリンタＡＡＡとプリンタＢＢＢとは異なるプリンタキュー名であるため、プリンタＣＣＣのプリンタキュー２を元に新しいスレッドとしてスレッド２を作成して、そのスレッドで処理を行うことになる。
【００６０】
本実施形態ではプリンタキュー名を基にしてスレッドを作成したり、プリンタキュー名（プリンタキューの名称）から同じスレッドかを判断したりしてスレッドの管理を行う例について説明した。しかし、プリンタキュー名をそのまま使用するのではなく、プリンタキュー名から識別ＩＤ（識別情報）を生成して、その識別ＩＤを用いてスレッドを管理してもよい。
【００６１】
以上説明したように、本実施形態に係る情報処理装置は、アプリケーションを介して印刷指示を受け付けると、対応する印刷ジョブのプリンタキューに関連付けられたスレッドに、他の印刷ジョブが関連付けられているか否かを判断する。さらに、本情報処理装置は、判断結果に基づき、当該スレッドに他の印刷ジョブが関連付けられていなければ、印刷指示を受け付けた印刷ジョブと他の印刷ジョブとを結合するジョブ結合を行うための操作画面を新たに作成して表示部に表示する。一方、本情報処理装置は、当該スレッドに他の印刷ジョブが関連付けられていれば、該スレッドに対応して既に作成されている操作画面を更新する。このような構成を有することにより、拡張アプリケーションであるデバイスアプリがプリンタキューに関連付けてスレッド管理を行うことができる。これにより、本実施形態によれば、どのスレッドに属しているジョブデータかが分かるようにプリンタキュー名などの情報に関連付けてジョブデータを保存管理することができ、プリンタキュー毎にジョブデータを制御することができる。つまり、本実施形態によれば、印刷指示を受け付けた印刷ジョブの拡張機能を制御する際に、プリンタキュー毎に好適にジョブを制御する仕組みを提供することができる。
【００６２】
＜変形例＞
本発明は上記実施形態に限らず様々な変形が可能である。例えば、Ｗｉｎｄｏｗｓ１０には仮想デスクトップという機能がある。Ｗｉｎｄｏｗｓ１０以前のＯＳではデスクトップ画面が１つのみだったが、仮想デスクトップ機能を使うと複数のデスクトップ画面を作成することができる。従って、用途ごとにデスクトップの切り替えが可能となり、作業の効率が上がる。一方で、プリンタキュー名のみでジョブ結合対象の印刷ジョブであるか否かを判断すると、仮想デスクトップで複数デスクトップを作成した場合では、複数デスクトップ全体においてジョブ結合対象ジョブかを判断することになる。複数デスクトップのそれぞれでジョブ管理ができなければ、異なるプリンタキュー名に渡ってジョブ管理する場合と同様の問題が発生してしまう。そこで、本情報処理では、上記実施形態におけるプリンタキュー名に加えてデスクトップ名に基づいて、ジョブ結合対象の印刷ジョブであるか否かを判断するようにしてもよい。なお、プリンタキュー名と同様に、識別ＩＤで複数のデスクトップを管理してもよい。
【００６３】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６４】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【００６５】
１００：クライアントコンピュータ、１０５１：アプリケーション、１０５２：デバイスアプリ、１０５３：オペレーティングシステム、１０５３１：ＯＳ標準印刷機能、２００：プリンタ
【図１】
2020181499.tif 000004
【図２】
2020181499.tif 000005
【図３】
2020181499.tif 000006
【図４】
2020181499.tif 000007
【図５】
2020181499.tif 000008
【図６】
2020181499.tif 000009
【図７】
2020181499.tif 000010
【図８】
2020181499.tif 000011
【図９】
2020181499.tif 000012