(57)【要約】【課題】プリントシステムで、ある変換処理に依存するエラーを検出した場合に、他に利用可能な変換手段があった場合でも、別の変換手段への切り替えができず、印刷処理が続行できないことがあった。【解決手段】ネットワークを介して、受信した印刷ジョブに基づいて印刷を行う印刷装置とネットワークを介して種々のサービスを提供するサービスステーションとを接続するホスト装置は次のように動作する。即ち、ユーザが生成した文書データを第１の方法に従って印刷データに変換する際に、その変換処理を監視する。ここで、変換処理にエラーが発生したことを検出した場合には、ネットワークを介して、印刷装置とサービスステーションとに前記文書データの変換処理の代替が可能であるかどうかを問い合わせする。そして、その問い合わせに対する応答に応じて、代替の変換処理が可能な装置に対して代替の変換処理を依頼し、その依頼した代替の変換処理により得た印刷データに基づいて印刷装置に印刷を行うよう指示する。【選択図】  図４
2015191587.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの印刷ジョブを送信するホスト装置と、ネットワークを介して前記ホスト装置に接続され前記印刷ジョブを受信して印刷を行う印刷装置と、前記ネットワークを介して前記ホスト装置に接続され種々のサービスを提供するサービスステーションとを有するプリントシステムであって、
前記ホスト装置は、
ユーザが生成した文書データを第１の方法に従って印刷データに変換する第１の変換手段と、
前記第１の変換手段による変換処理を監視する第１の監視手段と、
前記監視手段により、前記第１の変換手段による変換処理にエラーが発生したことを検出した場合には、前記ネットワークを介して、前記印刷装置と前記サービスステーションとに前記文書データの変換処理の代替が可能であるかどうかを問い合わせする問い合わせ手段と、
前記問い合わせ手段の問い合わせに対する応答に応じて、前記代替の変換処理が可能な装置に対して前記代替の変換処理を依頼する依頼手段と、
前記依頼手段により依頼した前記代替の変換処理により得た印刷データに基づいて前記印刷装置に印刷を指示する指示手段とを有し、
前記印刷装置は、
前記ホスト装置から送信される文書データ又は印刷データを受信する受信手段と、
前記ホスト装置からの問い合わせに応じて前記代替の変換処理が可能であるかどうかを応答する第１の応答手段と、
前記ホスト装置から依頼され、前記受信手段により受信した文書データを第２の方法に従って印刷データに変換する第２の変換手段と、
前記ホスト装置からの指示により、前記受信手段により受信した印刷データ、又は、前記第２の変換手段により変換した印刷データに基づいて記録媒体に印刷を行う印刷手段とを有し、
前記サービスステーションは、
前記ホスト装置からの問い合わせに応じて前記代替の変換処理が可能であるかどうかを応答する第２の応答手段と、
前記ホスト装置から依頼された文書データを第３の方法に従って印刷データに変換する第３の変換手段と、
前記第３の変換手段による変換により得られた印刷データを前記ホスト装置に返信する返信手段とを有することを特徴とするプリントシステム。
【請求項２】
ネットワークを介して、受信した印刷ジョブに基づいて印刷を行う印刷装置と、前記ネットワークを介して種々のサービスを提供するサービスステーションとを接続するホスト装置であって、
ユーザが生成した文書データを第１の方法に従って印刷データに変換する変換手段と、
前記変換手段による変換処理を監視する監視手段と、
前記監視手段により、前記変換手段による変換処理にエラーが発生したことを検出した場合には、前記ネットワークを介して、前記印刷装置と前記サービスステーションとに前記文書データの変換処理の代替が可能であるかどうかを問い合わせする問い合わせ手段と、
前記問い合わせ手段の問い合わせに対する応答に応じて、前記代替の変換処理が可能な装置に対して前記代替の変換処理を依頼する依頼手段と、
前記依頼手段により依頼した前記代替の変換処理により得た印刷データに基づいて前記印刷装置に印刷を行うよう指示する指示手段とを有することを特徴とするホスト装置。
【請求項３】
前記文書データをＰＤＬデータとして生成する生成手段をさらに有し、
前記変換手段は前記第１の方法に従って画像展開を行う第１のレンダリングエンジンを有し、
前記印刷装置は、第２の方法に従って画像展開を行う第２のレンダリングエンジンを備え、
前記サービスステーションは、第３の方法に従って画像展開を行う第３のレンダリングエンジンを備えることを特徴とする請求項２に記載のホスト装置。
【請求項４】
前記問い合わせ手段の問い合わせに対する応答に基づいて前記ＰＤＬデータの画像展開が可能なレンダリングエンジンの選択する第１の選択手段をさらに有することを特徴とする請求項３に記載のホスト装置。
【請求項５】
前記画像展開が可能なレンダリングエンジンによる画像展開の記録を特性データとして記憶する記憶手段と、
前記選択手段により選択されたレンダリングエンジンによる画像展開を監視する第２の監視手段と、
前記選択されたレンダリングエンジンによる画像展開の処理中にエラーが発生した場合には、該エラーを前記記憶手段に記録する記録手段とをさらに有することを特徴とする請求項４に記載のホスト装置。
【請求項６】
前記依頼手段は、
前記問い合わせ手段の問い合わせに対する応答に基づいて前記ＰＤＬデータの画像展開が可能なレンダリングエンジンに対して画像展開を行わせ、該画像展開により得られたプレビュー画像を取得する取得手段と、
前記取得手段により取得されたプレビュー画像を表示する表示手段と、
前記表示手段により表示されたプレビュー画像に基づいて、前記ユーザがレンダリングエンジンを選択する第２の選択手段とを有することを特徴とする請求項３に記載のホスト装置。
【請求項７】
前記指示手段は、
前記第１の選択手段又は前記第２の選択手段により選択されたレンダリングエンジンが前記印刷装置の備える前記第２のレンダリングエンジンである場合には、前記文書データを印刷の指示とともに前記印刷装置に送信し、
前記第１の選択手段又は前記第２の選択手段により選択されたレンダリングエンジンが前記サービスステーションの備える前記第３のレンダリングエンジンである場合には、前記第３のレンダリングエンジンによる画像展開により得られた印刷データを印刷の指示とともに前記印刷装置に送信することを特徴とする請求項４乃至６のいずれか１項に記載のホスト装置。
【請求項８】
コンピュータを請求項２乃至７のいずれか１項に記載のホスト装置の各手段として機能させることを特徴とするプログラム。
【請求項９】
ホスト装置とネットワークを介して接続された印刷装置であって、
前記ホスト装置から送信される文書データ又は印刷データを受信する受信手段と、
前記ホスト装置からの問い合わせに応じて、前記文書データを前記印刷データに変換する処理の代替の変換処理が可能であるかどうかを応答する応答手段と、
前記ホスト装置から依頼され、前記受信手段により受信した文書データを、前記ホスト装置で実行する第１の方法とは異なる第２の方法に従って印刷データに変換する変換手段と、
前記ホスト装置からの指示により、前記受信手段により受信した印刷データ、又は、前記変換手段により変換した印刷データに基づいて記録媒体に印刷を行う印刷手段とを有することを特徴とする印刷装置。
【請求項１０】
前記文書データはＰＤＬデータとして前記ホスト装置により生成され、
前記ＰＤＬデータは前記ホスト装置により前記第１の方法に従って画像展開されるか、又は前記ホスト装置とは他の装置により前記第１の方法と前記第２の方法とも異なる第３の方法に従って画像展開されて印刷データに変換されることを特徴とする請求項９に記載の印刷装置。
【請求項１１】
ネットワークを介してホスト装置に接続され、前記ホスト装置に種々のサービスを提供するサービスステーションであって、
前記ホスト装置からの問い合わせに応じて、前記ホスト装置が生成した文書データを印刷データに変換する処理の代替の変換処理が可能であるかどうかを応答する応答手段と、
前記ホスト装置からの依頼に応じて、前記ホスト装置から送信された文書データを前記ホスト装置が変換するのとは異なる方法に従って印刷データに変換する変換手段と、
前記変換手段による変換により得られた印刷データを前記ホスト装置に返信する返信手段とを有することを特徴とするサービスステーション。
【請求項１２】
ネットワークを介して、受信した印刷ジョブに基づいて印刷を行う印刷装置と、前記ネットワークを介して種々のサービスを提供するサービスステーションとを接続するホスト装置の制御方法であって、
ユーザが生成した文書データを第１の方法に従って印刷データに変換する変換工程と、
前記変換工程における変換処理を監視する監視工程と、
前記監視工程において、前記変換工程における変換処理にエラーが発生したことを検出した場合には、前記ネットワークを介して、前記印刷装置と前記サービスステーションとに前記文書データの変換処理の代替が可能であるかどうかを問い合わせする問い合わせ工程と、
前記問い合わせ工程における問い合わせに対する応答に応じて、前記代替の変換処理が可能な装置に対して前記代替の変換処理を依頼する依頼工程と、
前記依頼工程により依頼した前記代替の変換処理により得た印刷データに基づいて前記印刷装置に印刷を行うよう指示する指示工程とを有することを特徴とするホスト装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、ネットワークを介して情報の送受信を行うプリントシステム、ホスト装置、印刷装置、サービスステーション、及び、ホスト装置の制御方法に関する。
【背景技術】
【０００２】
近年、ホストコンピュータからページ記述言語（ＰＤＬ）で記述されたＰＤＬデータをネットワークを介して受信し、そのＰＤＬデータを画像処理装置或いは、その装置を内蔵した印刷装置内で印刷データに変換し、印刷を行うシステムが提案されている。また、ＰＤＬを解釈してラスタ画像データを生成するインタプリタ等の画像展開部は、同じＰＤＬを扱う画像展開部でも多くの種類が存在する。
【０００３】
例えば、特許文献１では、２つの異なるＰＤＬを解釈可能な画像展開部を備えた画像処理装置が提案されている。その画像処理装置では、第１のＰＤＬにより記述されたデータに基づく画像展開処理に依存するエラーが発生した場合に、第２のＰＤＬにより記述されたデータに変換し、他方の画像展開部で第２のＰＤＬを解釈して画像展開処理を行うことができる。
【０００４】
また、特許文献２で提案された画像処理装置では、ＰＤＬデータを、既定の互いに異なる複数の変換処理系で変換した場合に、変換結果のラスタ画像データ同士の間に差異がある場合にその差異情報を出力することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０５４６０４号公報
【特許文献２】特開２０１０―０３４６８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら特許文献１では、２つの画像展開部の内の一方でエラーが発生した場合に他方で処理可能なようにデータを変換するため、３つ以上の画像展開部を持つ場合には対応できず、またＰＤＬデータが変換されるため意図しない出力結果になる場合がある。
【０００７】
また、特許文献２では、ある決められた複数の変換処理系でＰＤＬデータ変換処理を行い、変換結果に差異がある場合、その差異情報を出力するため、決められた変換処理系以外の処理結果を得ることができず、また、変換処理の失敗時の代替方法がない。
【０００８】
本発明は上記従来例に鑑みてなされたもので、印刷処理中にエラーが発生しても代替処理により印刷継続が可能なプリントシステム、ホスト装置、印刷装置、サービスステーション、及びそのホスト装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明のプリントシステムは次のような構成からなる。
【００１０】
即ち、ユーザからの印刷ジョブを送信するホスト装置と、ネットワークを介して前記ホスト装置に接続され前記印刷ジョブを受信して印刷を行う印刷装置と、前記ネットワークを介して前記ホスト装置に接続され種々のサービスを提供するサービスステーションとを有するプリントシステムであって、前記ホスト装置は、ユーザが生成した文書データを第１の方法に従って印刷データに変換する第１の変換手段と、前記第１の変換手段による変換処理を監視する第１の監視手段と、前記監視手段により、前記第１の変換手段による変換処理にエラーが発生したことを検出した場合には、前記ネットワークを介して、前記印刷装置と前記サービスステーションとに前記文書データの変換処理の代替が可能であるかどうかを問い合わせする問い合わせ手段と、前記問い合わせ手段の問い合わせに対する応答に応じて、前記代替の変換処理が可能な装置に対して前記代替の変換処理を依頼する依頼手段と、前記依頼手段により依頼した前記代替の変換処理により得た印刷データに基づいて前記印刷装置に印刷を指示する指示手段とを有し、前記印刷装置は、前記ホスト装置から送信される文書データ又は印刷データを受信する受信手段と、前記ホスト装置からの問い合わせに応じて前記代替の変換処理が可能であるかどうかを応答する第１の応答手段と、前記ホスト装置から依頼され、前記受信手段により受信した文書データを第２の方法に従って印刷データに変換する第２の変換手段と、前記ホスト装置からの指示により、前記受信手段により受信した印刷データ、又は、前記第２の変換手段により変換した印刷データに基づいて記録媒体に印刷を行う印刷手段とを有し、前記サービスステーションは、前記ホスト装置からの問い合わせに応じて前記代替の変換処理が可能であるかどうかを応答する第２の応答手段と、前記ホスト装置から依頼された文書データを第３の方法に従って印刷データに変換する第３の変換手段と、前記第３の変換手段による変換により得られた印刷データを前記ホスト装置に返信する返信手段とを有することを特徴とする。
【発明の効果】
【００１１】
従って本発明によれば、文書データの印刷データへの変換処理に依存するエラーが発生しても代替可能な変換処理により印刷データを生成して印刷を継続することができるという効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の代表的な実施例である印刷システムの概略構成を示すブロック図である。
【図２】図１で示したプリントシステムに含まれるパーソナルコンピュータ（ＰＣ）の内部構造と外部接続との関係を示したブロック図である。
【図３】ネットワークサービスステーションを利用する環境を示した図である。
【図４】画像展開処理制御部の処理を示すフローチャートである。
【図５】実施例１に従うレンダリングエンジン選択処理を示すフローチャートである。
【図６】レンダリングエンジン特性を示す図である。
【図７】実施例２に従うレンダリングエンジン選択処理を示すフローチャートである。
【図８】レンダリングエンジン選択のためのプレビュー画像を表示するＵＩ画面を示す図である。
【発明を実施するための形態】
【００１３】
以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。なお、既に説明した部分には同一符号を付し重複説明を省略する。
【００１４】
なお、この明細書において、「記録（印刷）」（「プリント」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００１５】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００１６】
図１は本発明の代表的な実施例であるプリントシステムの概略構成を示すブロック図である。プリントシステムはパーソナルコンピュータ（ＰＣ）などのホスト装置１０１とプリンタ装置（印刷装置）１０２と各種印刷サービスを提供するネットワークサービスステーション１０３とをネットワーク１１４により互いに接続することにより構成される。
【００１７】
プリンタ装置１０２は、Ａ０やＢ０の大判サイズのカット紙やロール紙などの記録媒体により記録を行う大判プリンタである。ここでは、プリンタ装置１０２はインクジェット方式の記録ヘッドによりインクを記録媒体に吐出して印刷を行う構成とするが、電子写真方式のプリンタでも良い。
【００１８】
ホスト装置１０１はオペレーティングシステム（以下、ＯＳ）動作下、文書データを生成するアプリケーション１０４と、生成された文書データを印刷データに変換してプリンタ装置１０２に送信するプリンタドライバ１０５をインストールしている。ここで、アプリケーション１０４は文書データとしてＰＤＬデータ（例えば、ＰＤＦやＰｏｓｔｓｃｒｉｐｔ（登録商標）等）を生成する。一方、プリンタドライバ１０５は、画像展開処理制御部１０６と、ＰＤＬデータを解釈してラスタデータを生成するインタプリタＡ１０７と、レンダリングエンジン特性データ１０８とを含む。レンダリングエンジン特性データ１０８は、画像展開処理制御部１０６が画像展開処理を指示したレンダリングエンジンでエラーが発生した場合に、エラーの原因を記録したデータである。
【００１９】
特に、プリンタドライバ１０５は、画像展開処理制御部１０６がインタプリタＡ１０７を制御しながら、アプリケーション１０４からＯＳを介して受け取ったＰＤＬデータをプリンタ装置１０２で解釈可能な印刷データに変換する変換処理を行う。
【００２０】
プリンタ装置１０２とプリンタドライバ１０５は双方が理解可能なコマンドを用いてネットワーク１１４を介して印刷ジョブの送受信、機器状態の送受信、印刷指示等を行う。
【００２１】
プリンタ装置１０２では、印刷制御部１０９がネットワーク１１４を介して印刷データを受信し、この印刷データに基づいてプリンタエンジン１１１を制御して記録媒体に印刷を行う。さて、印刷制御部１０９は受信印刷データに画像展開処理が必要な場合は、インタプリタＢ１１０を制御し、ラスタデータを生成する。
【００２２】
ネットワークサービスステーション１０３は、ネットワーク１１４を介して受信したデータに対してサービスリクエスト制御部１１２の制御により提供可能な種々のサービスをデータ送信元に提供する。この実施例では、インタプリタＣ１１３を用いて受信ＰＤＬデータを解釈し画像展開を行ってラスタデータを生成し、データ送信元に送信するサービスを提供する。
【００２３】
図２はホスト装置（以下、ホストＰＣ）１０１の内部構造と外部接続の関係を示したブロック図である。
【００２４】
ホストＰＣ１０１は、ＣＰＵ２０１、ＲＡＭやＲＯＭを含むメモリ２０２、ポインティングデバイスやキーボード等の入力部２０３、ＣＲＴやＬＣＤなどの表示部２０４、ハードディスクや光磁気ディスク等の補助記憶部２０５を含む。これらの構成要素は内部バスラインＩＢを介して互いに接続されている。
【００２５】
入力部２０３を用いてユーザはアプリケーション１０４などが表示部２０４に表示するアイコンやメニューその他のオブジェクトに対し、各種入力指示を行う。補助記憶部２０５には、ＯＳやプリンタドライバ１０５や他のプログラムが格納されており、ＣＰＵ２０１から適宜呼び出されメモリ２０２に展開される。
【００２６】
また、内部バスラインＩＢはプリンタ装置１０２と外部バスラインＢＬによって接続され、ホストＰＣ１０１からプリンタ装置１０２に対してジョブ登録を行う。さらに、内部バスラインＩＢはネットワークサービスステーション１０３と外部バスラインＢＬによって接続され、ホストＰＣ１０１からネットワークサービスステーション１０３に対してネットワークサービスの要求を行う。
【００２７】
図３はプリンタドライバ１０５がネットワークサービスステーション１０３を利用する概要を示したブロック図である。ここでは、ネットワークサービスの認証方法として広く利用されているＯＡｕｔｈを使用した場合を例として説明する。
【００２８】
図３（ａ）はネットワーク利用環境を概念的に示した図である。図３（ａ）に示されているように、プリンタドライバ１０５はコンシューマ、ネットワークサービスステーション１０３はサービスプロバイダとなる。そして、プリンタドライバ１０５はネットワークサービスステーション１０３から予めコンシューマキーとコンシューマシークレットを発行されている。
【００２９】
このような前提で、まず、ユーザ３０１はプリンタドライバ１０５にアクセスする。これに応じ、プリンタドライバ１０５はユーザ３０１がネットワークサービスステーション１０３を利用する意思があることを確認する。そして、ネットワークサービスステーション１０３に対し、リクエストトークンの発行を要求する。
【００３０】
次に、ネットワークサービスステーション１０３はプリンタドライバ１０５に対し、未承認リクエストトークンを発行する。一方、未承認のリクエストトークンを受信したプリンタドライバ１０５は、リクエストトークンにユーザ３０１の承認を取るために、未リクエストトークンとともにユーザ３０１をネットワークサービスステーション１０３にリダイレクトする。
【００３１】
図３（ｂ）はホストＰＣ１０１の表示部に表示されるユーザ認証ダイアログを示す図である。
【００３２】
表示部２０４にユーザ認証ダイアログ３０２が表示されると、ユーザ３０１はユーザフィールド３０３とパスワードフィールド３０４にネットワークサービスステーション１０３から予め発行されたユーザＩＤとパスワードを入力する。ユーザ３０１は認証を行いたくない場合はキャンセルボタン３０６を押下し、認証を行う場合は認証ボタン３０５を押下する。
【００３３】
図３（ｃ）はホストＰＣ１０１の表示部に表示されるサービス許可確認ダイアログを示す図である。
【００３４】
ユーザ３０１が入力した認証情報が正しければ、図３（ｃ）に示されるように、ネットワークサービスステーション１０３からの指示により、サービス許可確認ダイアログ３０７が表示される。
【００３５】
このタイミングで、ユーザ３０１は、ネットワークサービスステーション１０３が提供するサービスをプリンタドライバ１０５が利用することに同意する場合は、同意するボタン３０８を押下し、同意しない場合は、同意しないボタン３０９を押下する。同意するボタン３０８が押下された場合は、ネットワークサービスステーション１０３は承認済みリクエストトークンをプリンタドライバ１０５に発行する。
【００３６】
これに応じて、プリンタドライバ１０５は承認済みリクエストトークン、コンシューマキー、コンシューマシークレットで生成したサイン値などをパラメータとしてアクセストークン発行の要求をネットワークサービスステーション１０３に送信する。ネットワークサービスステーション１０３はプリンタドライバ１０５から送信されたパラメータの値を確認する。ここで、問題がなければ、アプリケーションプログラミングインタフェース（ＡＰＩ）への接続に必要なアクセストークンとそれに署名するのに利用するトークンシークレットをプリンタドライバ１０５に発行する。
【００３７】
プリンタドライバ１０５はアクセストークン、コンシューマキー、トークンシークレットで生成したサイン値などをパラメータとしてＡＰＩ接続要求をネットワークサービスステーション１０３に送信する。ネットワークサービスステーション１０３は受信した各パラメータの値を確認する。ここで、問題がなければ、ＡＰＩの応答データをプリンタドライバ１０５に返信する。
【００３８】
ネットワークサービスステーション１０３がアクセストークンに付与した条件（リソースの種類、期間など）に応じて、プリンタドライバ１０５はＡＰＩへの接続要求を繰り返す。このようにして、ＡＰＩを経由してユーザ３０１のリソース（ネットワークサービスステーション１０３が提供する印刷サービス）にアクセスする。
【００３９】
以降、プリンタドライバ１０５がネットワークサービスステーション１０３に対する指示は、ＡＰＩ経由で指示を行うものとする。
【００４０】
次に以上の構成のプリンタシステムにおいて、アプリケーション１０４がプリンタドライバ１０５を介して、プリンタ装置１０２から印刷を行う印刷処理について説明する。
【実施例１】
【００４１】
まず、ユーザはアプリケーション１０４にて文書データを作成し、アプリケーション１０４の備えたメニュー画面等から印刷指示を行い、印刷ダイアログを起動する。通常、アプリケーション１０４の印刷ダイアログからはプロパティボタン等を押下して、選択しているプリンタドライバ１０５のＵＩ画面を開き、印刷設定を確認、または変更する。プリンタドライバ１０５の設定終了後、アプリケーション１０４の印刷ダイアログから印刷開始ボタン等を押下することにより、ＯＳを介しアプリケーション１０４からプリンタドライバ１０５にＰＤＬデータが渡される。ここでは、ＰＤＬデータとしてＰＤＦが渡されたものとする。
【００４２】
プリンタドライバ１０５にＰＤＬデータが渡された場合、画像展開処理制御部１０６はインタプリタＡ１０７を起動し、画像展開処理を行う。
【００４３】
以下、フローチャートを参照して実施例１の動作について説明する。
【００４４】
図４（ａ）は画像展開処理制御部１０６の動作を示すフローチャートである。
【００４５】
まず、ステップＳ１０１ではＰＤＬデータの画像展開を実行する。次に、ステップＳ１０２ではインタプリタＡ１０７による画像展開処理中のエラー発生を監視する。ここで、エラーの発生を検出した場合、処理はステップＳ１０３へ進み、エラーの発生が検出されない場合、処理はステップＳ１０５へ進む。
【００４６】
ステップＳ１０３では、レンダリングエンジンの列挙処理を実行する。この処理の詳細については後述する。その後、ステップＳ１０４ではレンダリングエンジンの選択を実行する。この処理の詳細については後述する。
【００４７】
ステップＳ１０５では、画像展開処理後のデータを印刷データとしてプリンタ装置１０２へ送信し、印刷指示を行う。
【００４８】
図４（ｂ）はレンダリングエンジンの列挙処理の詳細を示すフローチャートである。
【００４９】
まず、ステップＳ２０１では、プリンタドライバ１０５の内で他に利用可能なレンダリングエンジンを検索する。図１に示した例では、プリンタドライバ１０５内にインタプリタＡ１０７以外に他に利用できるレンダリングエンジンがないため、ステップＳ２０１では他に利用可能なレンダリングエンジンはないという検索結果を出力とする。なお、プリンタドライバ１０５内に他に利用可能なレンダリングエンジンがある場合は、検索結果を出力する。
【００５０】
次に、ステップＳ２０２では、現在接続されている利用可能なプリンタ装置でサポートするＰＤＬデータを検索する。この場合、現在接続されている利用可能なプリンタ装置１０２に対し、プリンタ装置１０２とプリンタドライバ１０５で互いに解釈可能なコマンドを用いて、利用可能なＰＤＬデータを問い合わせる。ここでは、プリンタ装置１０２が備えるインタプリタＢ１１０でＰＤＦが利用可能であるという情報を検索結果とする。
【００５１】
さらに、ステップＳ２０３では、ネットワークサービスステーション１０３で利用可能なレンダリングエンジンを検索する。ここでは、ネットワークサービスステーション１０３に対して、ＡＰＩを用いて利用可能なレンダリングエンジンを問い合わせる。ここでは、インタプリタＣ１１３でＰＤＦが利用可能であるという情報を検索結果とする。
【００５２】
図５はレンダリングエンジン選択処理の詳細を示すフローチャートである。
【００５３】
まず、ステップＳ３０１では画像展開処理時に発生したエラー原因を取得する。ここでは、フォント展開処理エラーが発生したものとする。次に、ステップＳ３０２では利用可能なレンダリングエンジンを取得する。ここでは、インタプリタＢ１１０とインタプリタＣ１１３が得られたものとする。
【００５４】
さらに、ステップＳ３０３ではレンダリングエンジン特性データ１０８を参照して指定するレンダリングエンジンを選択する。
【００５５】
図６はレンダリングエンジン特性データの詳細の例を示した図である。この例では、各インタプリタのフォント展開処理エラー、オブジェクト処理エラー、メモリエラーの回数がレンダリングエンジン特性データとして記録されている。
【００５６】
図６に示す表を参照すれば、フォント展開処理エラーの発生が最も低いインタプリタＢ１１０が選択される。
【００５７】
次に、ステップＳ３０４では選択されたレンダリングエンジンに画像展開処理を依頼する。この場合、プリンタドライバ１０５はプリンタ装置１０２にＰＤＬデータを送信し、インタプリタＢ１１０での画像展開処理を指示する。
【００５８】
そして、ステップＳ３０５では、画像展開処理時のエラー発生を監視する。ここで、エラーの発生が検出された場合、処理はステップＳ３０６へ進み、レンダリングエンジン特性データ１０８を更新する。これにたいして、エラー発生が検出されない場合、処理を終了する。
【００５９】
図４（ａ）に戻って説明を続けると、ステップＳ１０５で、画像展開処理後のデータを印刷データとして、プリンタ装置１０２へ印刷指示を行う。
【００６０】
従って以上説明した実施例に従えば、プリンタドライバ１０５が備えるインタプリタＡ１０７を用いた画像展開処理でエラーが発生しても、画像展開処理制御部１０６は他に利用可能なレンダリングエンジンを選択し、これを利用して処理を続行できる。以上説明した例では、プリンタ装置１０２が備えるインタプリタＢ１１０での画像展開処理を利用可能にする。これにより、印刷失敗を防止できる。
【００６１】
なお、複数の他に利用可能なレンダリングエンジンがある場合には、各レンダリングエンジンで発生したエラー原因に従って、代替のレンダリングエンジンを自動選択させることもできる。
【実施例２】
【００６２】
ここでも実施例１と同様にステップＳ１０２において、画像展開処理時にエラーが発生し、ステップＳ１０３のレンダリングエンジン列挙処理にてインタプリタＢ１１０とインタプリタＣ１１３が検索結果として得られたものとする。
【００６３】
図７は実施例２に従うレンダリングエンジン選択処理の詳細を示すフローチャートである。これは、図４（ａ）に示したステップＳ１０４についてのこの実施例に従う処理である。
【００６４】
まず、ステップＳ４０１では利用可能なレンダリングエンジンを取得する。実施例１と同様ここでは、プリンタ装置１０２に内蔵のインタプリタＢ１１０とネットワークサービスステーション１０３が提供するインタプリタＣ１１３が得られたものとする。次にステップＳ４０２では、候補となるレンダリングエンジンにプレビュー画像のサムネイルを要求する。
【００６５】
即ち、プリンタ装置１０２に対しては、プリンタドライバ１０５からプレビュー画像の生成をサポートしているかを確認するコマンドを送信し、その応答を受信する。プレビュー画像の生成をサポートしているという応答が得られた場合は、ＰＤＬデータをプリンタ装置１０２に送信し、プレビュー画像を受信する。一方、ネットワークサービスステーション１０３に対しては、プリンタドライバ１０５からＡＰＩでプレビュー画像の生成をサポートしているかを確認する。プレビュー画像の生成をサポートしているという応答が得られた場合は、ＰＤＬデータを送信し、プレビュー画像を受信する。
【００６６】
ここで、プレビュー画像として、ＰＤＬデータの一部の画像やサムネイル画像を指定することも可能である。この例では、プリンタ装置１０２に内蔵のインタプリタＢ１１０ではプレビュー画像の生成はサポートされていないという応答が得られ、ネットワークサービスステーション１０３が提供するインタプリタＣ１１３ではプレビュー画像が得られたものとする。
【００６７】
ステップＳ４０３では、ホストＰＣ１０１の表示部２０４にプレビュー画像を表示し、ユーザにレンダリングエンジンを選択させる。
【００６８】
図８はプレビュー画像を表示するＵＩ画面を示す図である。
【００６９】
図８に示すＵＩ画面はプレビュー画像はプリンタ装置１０２に内蔵のインタプリタＢ１１０とネットワークサービスステーション１０３が提供するインタプリタＣ１１３により提供されるプレビュー画像４０１を表示する。ユーザは表示されたプレビュー画像をみていずれかのレンダリングエンジンを選択することができる。この例では、インタプリタＢ１１０が生成するプレビュー画像４０２とインタプリタＣ１１３が生成するプレビュー画像４０３とが表示されている。
【００７０】
もし、プリンタ装置１０２に内蔵のインタプリタＢ１１０でプレビュー画像の生成がサポートされていな場合は、プレビュー画像なしと表示しても良いし、プレビュー画像４０２を表示しなくても良い。同様に、ネットワークサービスステーション１０３が提供するインタプリタＣ１１３でプレビュー画像の生成がサポートされていな場合は、プレビュー画像なしと表示しても良いし、プレビュー画像４０３を表示しなくても良い。
【００７１】
ＵＩ画面にはさらに、インタプリタＢ１１０をレンダリングエンジンとして選択するラジオボタン４０４とインタプリタＣ１１３をレンダリングエンジンとして選択するラジオボタン４０５が表示される。ここで、ラジオボタン４０４とラジオボタン４０５はいずれか１つしか選択できない。ユーザはプレビュー画像４０２とプレビュー画像４０３のどちらかを選択し、ＯＫボタン４０６を押下する。もし、どちらのプレビュー画像も望んだ印刷プレビューでないとユーザが判断した場合は、キャンセルボタン４０７を押下することにより、印刷処理を中止することができる。
【００７２】
図８に示した例では、ユーザはネットワークサービスステーション１０３が提供するインタプリタＣ１１３をレンダリングエンジンとして選択するラジオボタン４０５を選択し、ＯＫボタン４０６を押下したものとする。
【００７３】
図７に戻って説明を続けると、ステップＳ４０４では選択されたレンダリングエンジンに画像展開処理を指示する。ここでは、ネットワークサービスステーション１０３が提供するインタプリタＣ１１３を使用し、画像展開処理を指示することをネットワークサービスステーション１０３にＡＰＩで指示する。その後、インタプリタＣ１１３で画像展開処理後のデータを受信する。
【００７４】
この後、処理は図４（ａ）で説明したステップＳ１０５に戻り、画像展開処理後のデータを印刷データとして、プリンタ装置１０２へ印刷指示を行う。
【００７５】
従って以上説明した実施例に従えば、プリンタドライバ１０５が備えるインタプリタＡ１０７を用いた画像展開処理時にエラーが発生しても、画像展開処理制御部１０６は他に利用可能なレンダリングエンジンから代替のインタプリタ選択することができる。この実施例での例では、ネットワークサービスステーション１０３が提供するインタプリタＣ１１３で画像展開処理を行うことにより、印刷処理を継続することができる、
なお、図８の例では２つのプレビュー画像表示からの選択であったが、他に利用可能な複数のレンダリングエンジンがある場合には、各レンダリングエンジンが生成するプレビュー画像をユーザに表示させ、そのレンダリングエンジンを選択させても良い。これにより、ユーザが所望の印刷結果を得ることができる。
【００７６】
また、本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介して、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７７】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2015191587.tif 000003
【図２】
2015191587.tif 000004
【図３】
2015191587.tif 000005
【図４】
2015191587.tif 000006
【図５】
2015191587.tif 000007
【図６】
2015191587.tif 000008
【図７】
2015191587.tif 000009
【図８】
2015191587.tif 000010