(57)【特許請求の範囲】
【請求項１】
複数の印刷装置と通信可能であり、アプリケーションにより出力される印刷命令に基づいて前記印刷命令とは異なる個別の印刷装置に依存しない中間形式の中間データを生成する共通プリンタドライバと、前記中間データに基づいて前記中間データとは異なるそれぞれの印刷装置で解釈可能な最終形式のプリンタ制御言語を生成する複数のプリンタドライバとを備えるデータ処理装置であって、
前記共通プリンタドライバを用いて、前記中間データを生成する第１の変換手段と、前記複数のプリンタドライバから選択される第１プリンタドライバを用いて、前記第１プリンタドライバに対応する第１印刷装置に固有の第１プリンタ制御言語を生成する第２の変換手段と、
前記第１の変換手段により生成された前記中間データをスプーラに保存し、前記第２の変換手段により前記第１プリンタ制御言語が生成された後も前記中間データを該スプーラに残しておく保存制御手段と、
前記第１印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定する判定手段と、
前記判定手段により前記第１印刷装置に前記印刷処理エラーが発生したと判定された場合に、前記複数のプリンタドライバから選択される前記第１プリンタドライバにより生成された第１プリンタ制御言語を用いて印刷することができない第２プリンタドライバを用いて、前記保存制御手段により前記スプーラに残された前記中間データに基づいて前記第２プリンタ制御言語を生成する第３の変換手段と、
前記印刷処理エラーが発生した際に、前記スプーラに保存された前記中間データを転送すべき次の印刷装置候補を印刷装置毎に設定する設定手段と、
前記設定手段により設定された前記中間データを転送すべき次の印刷装置候補の一覧記憶する記憶手段と、
前記記憶手段に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかのプリンタドライバを選択する選択手段と、
前記第１プリンタドライバにて印刷を実行した場合の印刷結果と前記第２プリンタドライバにて印刷を実行した場合の印刷結果との間で印刷結果に差異が生じるかを判定する第３の判定手段と、
前記第３の判定手段により印刷結果に差異が生じると判定された場合に、印刷結果に差異が生じることを示すとともに前記第２プリンタドライバにて印刷を継続するかどうかを選択させるための確認画面を表示部に表示する表示制御手段とを有することを特徴とするデータ処理装置。
【請求項２】
前記印刷処理エラーは、前記選択されるプリンタドライバに対応する印刷装置のエンジン動作エラーを含むことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記印刷装置は、ローカルプリンタ，ネットワークプリンタを含むことを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記設定手段は、前記第１プリンタドライバに対応する第１印刷装置の位置と、他の印刷装置の位置とに基づいて前記次の印刷装置候補を設定することを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記表示制御手段により表示された確認画面を介して印刷を継続しないことを受け付けた場合、前記選択手段は、前記第１プリンタドライバを再選択し、前記再選択された第１プリンタドライバを読み出して前記第２の変換手段による変換のために前記中間データを出力する場合、前記保存制御手段は、前記中間データを前記スプーラから削除することを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記第１プリンタドライバに対する印刷指示の中で前記第２プリンタドライバに対応する第２印刷装置が実行できない指示が含まれる場合、当該実行できない指示を前記第２プリンタドライバが代行できるか否かを判定する第４の判定手段と、
前記第２プリンタドライバが前記第２印刷装置が実行できない指示を代行できると前記第４の判定手段により判定された場合、前記指示を前記第２プリンタドライバが実行することで印刷を継続する継続手段を備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
複数の印刷装置と通信可能であり、アプリケーションにより出力される印刷命令に基づいて前記印刷命令とは異なる個別の印刷装置に依存しない中間形式の中間データを生成する共通プリンタドライバと、前記中間データに基づいて前記中間データとは異なるそれぞれの印刷装置で解釈可能な最終形式のプリンタ制御言語を生成する複数のプリンタドライバとを備えるデータ処理装置におけるデータ処理方法であって、
前記共通プリンタドライバを用いて、前記中間データを生成する第１の変換工程と、前記複数のプリンタドライバから選択される第１プリンタドライバを用いて、前記第１プリンタドライバに対応する第１印刷装置に固有の第１プリンタ制御言語を生成する第２の変換工程と、
前記第１の変換工程により生成された前記中間データをスプーラに保存し、前記第２の変換工程により前記第１プリンタ制御言語が生成された後も前記中間データを該スプーラに残しておく保存制御工程と、
前記第１印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定する判定工程と、
前記判定工程により前記第１印刷装置に前記印刷処理エラーが発生したと判定された場合に、前記複数のプリンタドライバから選択される前記第１プリンタドライバにより生成された第１プリンタ制御言語を用いて印刷することができない第２プリンタドライバを用いて、前記保存制御工程により前記スプーラに残された前記中間データに基づいて前記第２プリンタ制御言語を生成する第３の変換工程と、
前記印刷処理エラーが発生した際に、前記スプーラに保存された前記中間データを転送すべき次の印刷装置候補を印刷装置毎に設定する設定工程と、
前記設定工程により設定された前記中間データを転送すべき次の印刷装置候補の一覧記憶する記憶工程と、
前記記憶工程に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかのプリンタドライバを選択する選択工程と、
前記第１プリンタドライバにて印刷を実行した場合の印刷結果と前記第２プリンタドライバにて印刷を実行した場合の印刷結果との間で印刷結果に差異が生じるかを判定する第３の判定工程と、
前記第３の判定工程により印刷結果に差異が生じると判定された場合に、印刷結果に差異が生じることを示すとともに前記第２プリンタドライバにて印刷を継続するかどうかを選択させるための確認画面を表示部に表示する表示制御工程とを有することを特徴とするデータ処理方法。
【請求項８】
前記印刷処理エラーは、前記選択されるプリンタドライバに対応する印刷装置のエンジン動作エラーを含むことを特徴とする請求項７に記載のデータ処理方法。
【請求項９】
前記印刷装置は、ローカルプリンタ，ネットワークプリンタを含むことを特徴とする請求項７または８に記載のデータ処理方法。
【請求項１０】
前記設定工程は、前記第１プリンタドライバに対応する印刷装置の位置と、他の印刷装置の位置とに基づいて前記次の印刷装置候補を設定することを特徴とする請求項７に記載のデータ処理方法。
【請求項１１】
前記表示制御工程により表示された確認画面を介して印刷を継続しないことを受け付けた場合、前記選択工程は、前記第１プリンタドライバを再選択し、
前記再選択された第１プリンタドライバを読み出して前記第２の変換工程による変換のために前記中間データを出力する場合、前記保存制御工程は、前記中間データを前記スプーラから削除することを特徴とする請求項７に記載のデータ処理方法。
【請求項１２】
前記第１プリンタドライバに対する印刷指示の中で前記第２プリンタドライバに対応する第２印刷装置が実行できない指示が含まれる場合、当該実行できない指示を前記第２プリンタドライバが代行できるか否かを判定する第４の判定工程と、
前記第２プリンタドライバが前記第２印刷装置が実行できない指示を代行できると前記第４の判定工程により判定された場合、前記指示を前記第２プリンタドライバが実行することで印刷を継続する継続工程を備えることを特徴とする請求項７に記載のデータ処理方法。
【請求項１３】
複数の印刷装置と通信可能であり、アプリケーションにより出力される印刷命令に基づいて前記印刷命令とは異なる個別の印刷装置に依存しない中間形式の中間データを生成する共通プリンタドライバと、前記中間データに基づいて前記中間データとは異なるそれぞれの印刷装置で解釈可能な最終形式のプリンタ制御言語を生成する複数のプリンタドライバとを備えるデータ処理装置を制御するコンピュータが読み出し可能なプログラムを格納した記憶媒体であって、
前記共通プリンタドライバを用いて、前記中間データを生成する第１の変換工程と、前記複数のプリンタドライバから選択される第１プリンタドライバを用いて、前記第１プリンタドライバに対応する第１印刷装置に固有の第１プリンタ制御言語を生成する第２の変換工程と、
前記第１の変換工程により生成された前記中間データをスプーラに保存し、前記第２の変換工程により前記第１プリンタ制御言語が生成された後も前記中間データを該スプーラに残しておく保存制御工程と、
前記第１印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定する判定工程と、
前記判定工程により前記第１印刷装置に前記印刷処理エラーが発生したと判定された場合に、前記複数のプリンタドライバから選択される前記第１プリンタドライバにより生成された第１プリンタ制御言語を用いて印刷することができない第２プリンタドライバを用いて、前記保存制御工程により前記スプーラに残された前記中間データに基づいて前記第２プリンタ制御言語を生成する第３の変換工程と、
前記印刷処理エラーが発生した際に、前記スプーラに保存された前記中間データを転送すべき次の印刷装置候補を印刷装置毎に設定する設定工程と、
前記設定工程により設定された前記中間データを転送すべき次の印刷装置候補の一覧記憶する記憶工程と、
前記記憶工程に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかのプリンタドライバを選択する選択工程と、
前記第１プリンタドライバにて印刷を実行した場合の印刷結果と前記第２プリンタドライバにて印刷を実行した場合の印刷結果との間で印刷結果に差異が生じるかを判定する第３の判定工程と、
前記第３の判定工程により印刷結果に差異が生じると判定された場合に、印刷結果に差異が生じることを示すとともに前記第２プリンタドライバにて印刷を継続するかどうかを選択させるための確認画面を表示部に表示する表示制御工程とを有することを特徴とするコンピュータが読み出し可能なプログラムを格納した記憶媒体。
【請求項１４】
前記印刷処理エラーは、前記選択されるプリンタドライバに対応する印刷装置のエンジン動作エラーを含むことを特徴とする請求項１３に記載の記憶媒体。
【請求項１５】
前記印刷装置は、ローカルプリンタ，ネットワークプリンタを含むことを特徴とする請求項１３または１４に記載の記憶媒体。
【請求項１６】
前記設定工程は、前記第１プリンタドライバに対応する印刷装置の位置と、他の印刷装置の位置とに基づいて前記次の印刷装置候補を設定することを特徴とする請求項１３に記載の記憶媒体。
【請求項１７】
前記表示制御工程により表示された確認画面を介して印刷を継続しないことを受け付けた場合、前記選択工程は、前記第１プリンタドライバを再選択し、
前記再選択された第１プリンタドライバを読み出して前記第２の変換工程による変換のために前記中間データを出力する場合、前記保存制御工程は、前記中間データを前記スプーラから削除することを特徴とする請求項１３に記載の記憶媒体。
【請求項１８】
前記第１プリンタドライバに対する印刷指示の中で前記第２プリンタドライバに対応する第２印刷装置が実行できない指示が含まれる場合、当該実行できない指示を前記第２プリンタドライバが代行できるか否かを判定する第４の判定工程と、
前記第２プリンタドライバが前記第２印刷装置が実行できない指示を代行できると前記第４の判定工程により判定された場合、前記指示を前記第２プリンタドライバが実行することで印刷を継続する継続工程を備えることを特徴とする請求項１３に記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の通信媒体を介して複数の印刷装置に対して固有の印刷情報を転送制御可能な印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記録媒体に関するものである。
【０００２】
【従来の技術】
従来、コンピュータ上のアプリケーションから印刷を実行する場合には、コンピュータ上の目的の印刷装置に対応したプリンタドライバによつて目的の印刷装置に依存した形式の印刷データを生成し、その印刷データを印刷装置に送信して行つていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記のようにアプリケーションからの印刷実行時に印刷装置に依存したプリンタドライバを用いて印刷を行うと、前記プリンタドライバの印刷データ生成中、印刷データ送信中、もしくは印刷装置での印刷中に何らかのエラーが発生し、印刷が正常に終了しなかった場合には、ユーザが再度アプリケーションより、同じ印刷装置に対して印刷を実行するか、別の印刷装置に対して印刷を実行する必要があった。
【０００４】
本発明は上記の問題点を解消するためになされたもので、本発明の目的は、選択した印刷装置に対する印刷処理中にエラーが発生した際に、ユーザが意図する次候補の印刷装置を自動選択し、かつ次候補の印刷装置にとって最適な印刷制御情報を既に変換されている描画オブジェクトから短時間に生成することにより、印刷処理中の障害発生時における次候補印刷装置により代替印刷処理を自動的に行える印刷処理環境を自在に整備することができる印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記録媒体を提供することにある。
【０００５】
本発明は上記従来例に鑑みてなされたもので、ユーザの手を煩わせることなく、印刷実行中の障害を回避し印刷を確実に行わせることを実現する印刷制御装置および方法を提供することを目的とする。更には、出力先の印刷装置を変更することによって生じる問題点をユーザに通知、または代替手段により解決を図ることで、ユーザの所望する印刷出力を可能とすることをも目的としている。
【０００６】
【課題を解決するための手段】
本発明に係る第１の発明は、複数の印刷装置と通信可能であり、アプリケーションにより出力される印刷命令に基づいて前記印刷命令とは異なる個別の印刷装置に依存しない中間形式の中間データを生成する共通プリンタドライバと、前記中間データに基づいて前記中間データとは異なるそれぞれの印刷装置で解釈可能な最終形式のプリンタ制御言語を生成する複数のプリンタドライバとを備えるデータ処理装置であって、前記共通プリンタドライバを用いて、前記中間データを生成する第１の変換手段と、前記複数のプリンタドライバから選択される第１プリンタドライバを用いて、前記第１プリンタドライバに対応する第１印刷装置に固有の第１プリンタ制御言語を生成する第２の変換手段と、前記第１の変換手段により生成された前記中間データをスプーラに保存し、前記第２の変換手段により前記第１プリンタ制御言語が生成された後も前記中間データを該スプーラに残しておく保存制御手段と、前記第１印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定する判定手段と、前記判定手段により前記第１印刷装置に前記印刷処理エラーが発生したと判定された場合に、前記複数のプリンタドライバから選択される前記第１プリンタドライバにより生成された第１プリンタ制御言語を用いて印刷することができない第２プリンタドライバを用いて、前記保存制御手段により前記スプーラに残された前記中間データに基づいて前記第２プリンタ制御言語を生成する第３の変換手段と、前記印刷処理エラーが発生した際に、前記スプーラに保存された前記中間データを転送すべき次の印刷装置候補を印刷装置毎に設定する設定手段と、前記設定手段により設定された前記中間データを転送すべき次の印刷装置候補の一覧記憶する記憶手段と、前記記憶手段に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかのプリンタドライバを選択する選択手段と、前記第１プリンタドライバにて印刷を実行した場合の印刷結果と前記第２プリンタドライバにて印刷を実行した場合の印刷結果との間で印刷結果に差異が生じるかを判定する第３の判定手段と、前記第３の判定手段により印刷結果に差異が生じると判定された場合に、印刷結果に差異が生じることを示すとともに前記第２プリンタドライバにて印刷を継続するかどうかを選択させるための確認画面を表示部に表示する表示制御手段とを有することを特徴とする。
【０００９】
本発明に係る第４の発明は、前記印刷装置は、ローカルプリンタ，ネットワークプリンタを含むものである。
【００２６】
【発明の実施の形態】
〔第１実施形態〕
図１は、本発明の第１実施形態を示すデータ処理装置を適用可能な印刷システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であつても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【００２７】
同図において、ホストコンピュータ３０００は、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵｌを備え、システムバス４に接続される各デバイスをＣＰＵｌが総括的に制御する。
【００２８】
また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵｌの制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記画像処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記画像処理等を行う際に使用する各種データを記憶する。ＲＡＭ２は、ＣＰＵｌの主メモリ、ワークエリア等として機能する。
【００２９】
５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、印刷制御プログラムを含むプリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。
【００３０】
８はプリンタコントローラ（ＰＲＴＣ）で、双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００３１】
なお、ＣＰＵｌは、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵｌは、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００３２】
プリンタ１５００において、１２はプリンタＣＰＵ（ＣＰＵ）で、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラム用ＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。１０００はプリンタ制御ユニットである。
【００３３】
ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となつており、プリンタ内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによリメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域，環境データ格納領域，ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ），ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によリアクセスを制御される。外部メモリ１４は、オブションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１５０１は前述した操作パネルで、操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００３４】
また、前述した外部メモリ１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００３５】
図２は、図１に示した印刷システムにおける第１のホストコンピュータの構成を説明するブロック図であり、ホストコンピュータ上のプログラムモジュールの構成に対応する。なお、本実施形態は、ホストコンピュータ３０００とプリンタ１５００とが直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータで適用可能である。
【００３６】
図において、アプリケーション２０１，グラフィックエンジン２０２，プリンタドライバ２０３およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在し、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールとして機能する。
【００３７】
また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや図示しないＣＤ−ＲＯＭ、あるいは図示しないネットワークを経由して外部メモリ１１のＨＤに随時インストールすることが可能となつている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となつているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００３８】
グラフィックエンジン２０２は、印刷装置毎に用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２１０の出力をプリンタドライバ２０３を用いてプリンタ１５００の制御コマンドに変換する。そして、変換されたプリンタ制御コマンドはＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェース２１経由でプリンタ１５００へ出力される仕組みとなつている。
【００３９】
本実施形態では、図２で示すプリンタとホストコンピュータからなる印刷システムを前提としているが、更に後述する図３に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールするシステムを前提としている。
【００４０】
図３は、図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０３を生成する構成をとる。図２に示した印刷システムでは、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィックエンジン２０２からのすべての印刷命令をプリンタの制御コマンドヘ変換し終つた時点であるのに対し、図３に示したシステムでは、スプーラ３０２がすべての印刷命令を中間コードデータに変換し、スプールファイル３０３に出力した時点であり、通常、後者の方が短時間で済む。以下、図３の詳細を説明する。
【００４１】
図３は、図１に示した印刷システムにおける第２のホストコンピュータの構成を説明するブロック図であり、図１と同一のものには同一の符号を付してある。以下、構成および動作について説明する。
【００４２】
この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令を共通プリンタドライバ３０１が受け取る。共通プリンタドライバ３０１がグラフィックエンジン２０２から受け取つた印刷命令がアプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令の場合には、共通プリンタドライバ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令を送付する。スプーラ３０２は受け取った印刷命令を中間コードに変換してスプールファイル３０３に出力する。
【００４３】
また、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定をスプーラ３０２はプリンタドライバ２０３から取得してスプールファイル３０３に保存する。
【００４４】
なお、スプールファイル３０３は外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成する事も可能である。更にスプーラ３０２は外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、再度グラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０４に対して、スプールファイル３０３に記述された中間コードの印刷処理を行うように指示する。
【００４５】
デスプーラ３０５はスプールファイル３０３に含まれる中間コードをもう一度グラフィックエンジン２０２経由でプリンタドライバ２０３に出力する。プリンタドライバ２０３はプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５００に出力がなされる。
【００４６】
図４は、図１に示したＲＡＭ２のメモリマップの一例を示す図であり、印刷プログラムがホストコンピュータ３０００上のＲＡＭ２にロードされ実行可能となつた状態に対応する。なお、本実施形態における印刷制御プログラムは印刷プログラム４０４の一部として存在している。
【００４７】
図において、４０１がアプリケーションで、外部メモリ１１等からＲＡＭ２にロードされる。４０２は空きメモリで、ＣＰＵ１のワークメモリとして機能する。４０３は関連データ、４０４は印刷関連プログラムで、外部メモリ１１等からＲＡＭ２にロードされる。４０５はＯＳ、４０６はＢＩＯＳで、入出力デバイスを制御する。
【００４８】
図５は、本発明に係る印刷システムにおける第１のプリント処理形態を説明するブロック図であり、特に、印刷データを生成するクライアント６００には各々ローカル接続、ネットワーク直結、サーバ経由接続されたプリンタに対応したプリンタドライバ２０３，６０１，６０２および共通プリンタドライバ３０１が存在するシステム例に対応する。
【００４９】
図において、３０１は共通プリンタドライバで、ネットワーク上の各印刷装置に依存しない印刷データを生成処理する。６０１はプリンタドライバで、プリンタ６０６に依存する印刷データを生成処理する。６０２はプリンタドライバで、サーバ６０７に接続されるプリンタ６０８に依存する印刷データを生成処理する。６０４はプリンタで、クライアント６００のローカルプリンタとしてセントロニクスインタフェース６０３を介して接続される。
【００５０】
なお、プリンタ６０８は、サーバ６０７とセントロニクスインタフェース６０３を介して通信可能に接続されている。また、プリンタ６０６は、ネットワークカードを備えて、所定のプロコトルでプリンタドライバ６０１と通信処理する。
【００５１】
図６は、本発明に係る印刷システムにおける第２のプリント処理形態を説明するブロック図であり、図１，図５と同一のものには同一の符号を付してある。
【００５２】
図において、３０４はスプールファイルマネージャで、各プリンタ６０４，６０６，６０８の印刷が正常に終了したかどうかをモニタリング処理する。
【００５３】
以下、本実施形態の特徴的構成について図５等を参照して説明する。
【００５４】
上記のように構成された所定の通信媒体（ネットワーク，インタフェースを含む）を介して複数の印刷装置（プリンタ６０４，プリンタ６０６，プリンタ６０８）と通信可能な印刷制御装置であって、アプリケーション２０１から要求される描画情報を各印刷装置に依存しない描画オブジェクトに変換する第１の変換手段（共通プリンタドライバ３０１）と、前記第１の変換手段により変換された前記描画オブジェクトを格納する格納手段と、前記格納手段に格納された前記描画オブジェクトを選択される印刷装置に固有の印刷制御情報に変換して対応するそれぞれの印刷装置に転送する複数の第２の変換手段（プリンタドライバ２０３，６０１，６０２）と、いずれかの第２の変換手段による変換処理開始からいずれかの印刷装置の印刷処理が終了するまで印刷処理状態を監視して印刷処理エラーの発生を判定する判定手段（スプールファイルマネージャ３０４）と、前記判定手段により前記いずれかの印刷装置に前記印刷処理エラーが発生したと判定した場合に、設定された他の印刷装置に対応するいずれかの第２の変換手段を選択する制御手段（ホストコンピュータ３０００のＣＰＵ１がＲＯＭ３，外部メモリ１１に記憶された制御プログラムを実行して選択制御する）とを有するので、それぞれの印刷装置に依存しない描画オブジェクトを選択されたいずれかの印刷装置において印刷処理が正常に終了するまで保持しておき、ユーザが選択した印刷装置に対する印刷処理中に、何らかのエラーが発生した場合に、設定された次の代替印刷装置を選択し、該選択された印刷装置に対し、該格納されている描画オブジェクトから固有の印刷制御情報を変換して順次転送処理でき、ユーザによる印刷装置候補の選択負担を軽減できるとともに、次候補の印刷装置に対して速やかに印刷制御情報を転送でき、印刷処理時間を大幅に短縮して効率よく印刷処理を行える印刷環境を整備することができる。
【００５５】
また、前記印刷処理エラーは、いずれかの第２の変換手段による変換処理エラー，いずれかの第２の変換手段による変換される前記印刷制御情報の転送エラー，選択されるいずれかの印刷装置のエンジン動作エラー（例えば給紙ジャム）を含むので、一連の印刷処理中における印刷処理エラーを捉えて選択された印刷装置から設定された他の印刷装置に対する印刷処理に動的に切り替えることができる。
【００５６】
さらに、前記印刷処理エラーが発生した際に、前記格納手段に格納された前記描画オブジェクトを転送すべき次の印刷装置候補を各印刷装置毎に設定する設定手段（ホストコンピュータ３０００の図示しないＧＵＩによりユーザが任意に設定する）と、前記設定手段により設定された前記描画オブジェクトを転送すべき次の印刷装置候補一覧を記憶する記憶手段（外部メモリ１１等に記憶し、ＲＡＭ２上にロードされる）とを有し、前記制御手段は、前記記憶手段に記憶されている次の印刷装置候補一覧（図８に示すテーブル参照）に設定された他の印刷装置に対応するいずれかの第２の変換手段を選択するので、ユーザが意図する優先順位に従って意図する印刷装置に対して格納されている描画オブジェクトから変換される印刷制御情報を順次転送することができる。
【００５７】
また、前記印刷装置は、ローカルプリンタ（プリンタ６０４），ネットワークプリンタ（プリンタ６０６，６０８）を含むので、障害時における代替印刷装置候補を種々の印刷環境から自在に選択することができる。
【００５８】
さらに、前記ネットワークプリンタは、前記所定の通信媒体に対してサーバを介して接続される第１のネットワークプリンタ（プリンタ６０６）と、前記所定の通信媒体に対して直接接続される第２のネットワークプリンタ（プリンタ６０８）とを含むので、障害時における代替ネットワークプリンタ候補を種々のネットワークプリンタ環境から自在に選択することができる。
【００５９】
また、前記選択手段により選択された次候補の印刷装置と前候補の印刷装置との互換性を判定する第２の判定手段ホストコンピュータ３０００のＣＰＵ１がＲＯＭ３，外部メモリ１１に記憶された制御プログラムを実行して判定する）を有し、前記制御手段は、前記第２の判定手段により次候補の印刷装置と前候補の印刷装置とが互換性があると判定した場合に、変換済みの印刷制御情報を次候補の印刷装置に転送するので、選択した印刷装置に対する印刷処理中にエラーが発生した際に、次候補として選択される印刷装置が前候補の印刷装置と互換性がある場合には、既に変換された印刷制御情報を直接転送でき、再変換処理が不要となり、次候補の印刷装置における印刷処理時間を大幅に短縮することができる。
【００６０】
図７は、図５，図６に示したクライアントの表示部に表示されるダイアログメッセージの一例を示す図であり、例えば印刷が不成功に終了した場合のメッセージ例に対応する。
【００６１】
図８は、図１に示したＲＡＭ２または外部メモリ１１に記憶管理されるプリンタ選択候補の優先順位テーブルの一例を示す図であり、選択されるプリンタ毎に設定されている。
【００６２】
図９は、本発明に係るデータ処理装置における第１のデータ処理手順の一例を示すフローチャートである。なお、（１）〜（９）は各ステップを示す。また、本実施形態における処理は、ユーザが図１に示したキーボードコントローラ５等により、図４に示すようにＯＳ４０５の管理の下ＲＡＭ２上にロードされ、実行中のアプリケーション２０１にて印刷先のプリンタの指定と印刷実行を指示することで始まる。
【００６３】
例えば、図５に示すようにクライアント６００上で動作するアプリケーション２０１から、それぞれプリンタドライバ２０３，６０１，６０２を使用してプリンタ６０４，６０６，６０８の３台のプリンタに出力が可能である場合は、ユーザがプリンタドライバ２０３，６０１，６０２の何れかを選択して印刷を実行することになる。以下本実施形態のフローチャートを用いた説明では、この時ユーザが選択したプリンタドライバはプリンタドライバ２０３であるものとする。
【００６４】
印刷開始がユーザによって指示されると、まず、ステップ（１）で、アプリケーション２０１はグラフィックエンジン２０２に印刷命令を印刷データが全てなくなるまで実行する。次に、アプリケーション２０１より印刷命令を受けたグラフィックエンジン２０２は、ユーザが指定したプリンタドライバ２０３の代わりに、共通プリンタドライバ３０１をＲＡＭ２上に呼び出し印刷を実行する。
【００６５】
そして、共通プリンタドライバ３０１は、受け付けた印刷命令をスプーラ３０２を呼び出し、印刷命令の中間コードヘの変換とスプールファイル３０３への保存を行う。このように共通プリンタドライバ３０１がグラフィックエンジン２０２からの印刷命令を全て中間コードヘ変換し、スプールファイル３０３ヘの保存を行い処理が終了すると、ステップ（３）で、アプリケーション２０１が開放される。
【００６６】
続いて、ステップ（４）で、先に図３の説明を行つたとおり、スプールファイルマネージャ３０４、デスプーラ３０５、グラフィックエンジン２０２経由で、ユーザが印刷指定したプリンタ６０４に対応したプリンタドライバ２０３を出力先として印刷を実行する。
【００６７】
続いて、ステップ（５）で、スプールファイルマネージャ３０４が印刷が正常終了したかどうかの確認を行う。実際の確認は、印刷処理の流れの中で、各モジュールの処理状況（正常終了したか、異常終了したか）を監視することにより行われる。本実施形態では、図６に示したように、グラフィックエンジン２０２、システムスプーラ２０４およびプリンタ６０４，６０６，６０８の状態を監視することで正常終了したかどうかの判断が行われる。異常終了の例としては、グラフィックエンジン２０２でのメモリ不足，ディスク不足，システムスプーラ２０４でのプリンタヘのデータの送信エラー，プリンタでの紙ジャム等が挙げられる。
【００６８】
上記ステップ（５）で、印刷が正常終了したと判定した場合には、ステップ（９）で、スプールファイルマネージャ３０４がスプールファイル３０３を削除して全ての処理を終了する。
【００６９】
一方、ステップ（５）で、印刷が正常に終了しなかったと判定した場合には、ステップ（６）で、ホストコンピュータ３０００にて利用可能なプリンタドライバの中で、次候補のプリンタドライバがあるかどうかの判別を行う。なお、本実施形態において、次候補の決定方法は、図８に示したように、ユーザが予め優先順位を定義したテーブルをＲＡＭ２中または外部メモリ１１に記憶しておき、この優先順位を定義したテーブルを順に辿っていくことで決定できる。この他に、次候補の決定には、プリンタドライバの持つ情報を各プリンタドライバから集めて外部メモリ１１に記憶しておき、それらの情報をもとに、印刷実行時に印刷先として指定されたプリンタドライバとの互換性、プリンタのロケーション情報（プリンタが何処に設置されているのか）等をもとに図８と同様のプリンタドライバの優先順位を示すテーブルを作成して行うことも可能である。
【００７０】
ステップ（６）で、次候補のプリンタドライバがあったと判定された場合には、ステップ（７）で、そのドライバを次候補として選択し、ステップ（４）へ戻り、デスプーラ３０５が再びグラフィックエンジン２０２に対してスプールファイル３０３の内容の印刷を実行する。
【００７１】
なお、本実施形態の場合には、図８に示すとおり次候補が、プリンタ６０４の次候補は、プリンタ６０８であるので、プリンタドライバ６０１を次候補として選択する。このようにして、印刷が正常に終了するか、次候補のプリンタドライバが存在しなくなるまでプリンタドライバを切り替えながら印刷処理が行われる。
【００７２】
一方、ステップ（６）で、次候補ドライバが存在しなかったと判定した場合には、印刷が不成功に終わったことをユーザに通知するために、ステップ（８）で、ＣＲＴ１０に対して、図７に示したエラーメッセージを表示する。続いて、ステップ（９）で、スプールファイル３０３を削除し、処理を終了する。
【００７３】
以上の処理によリアプリケーションからの印刷処理は全て終了し、本実施形態における印刷プログラムの処理も終了し、ＲＡＭ２からはＯＳ４０５の機能により消去される。
【００７４】
なお、本実施形態においては、本印刷プログラムを記録する媒体を外部メモリ１１としているが、外部メモリ１１としては、ＦＤドライブ、ＨＤドライブ、ＣＤ−ＲＯＭやＩＣメモリカード等であってもよい。
【００７５】
更に、本印刷プログラム単独、もしくはＯＳその他のホストコンピュータ上で動作するプログラムと共にＲＯＭ３に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵｌで実行することも可能である。
【００７６】
以下、本実施形態の特徴的構成について図９等を参照して説明する。
【００７７】
上記のように構成された所定の通信媒体（ネットワーク，インタフェースを含む）を介して複数の印刷装置と通信可能な印刷制御装置のデータ処理方法であって、あるいは所定の通信媒体を介して複数の印刷装置と通信可能なデータ処理装置を制御するコンピュータが読み出し可能なプログラムを格納した記録媒体であって、アプリケーションから要求される描画情報を各印刷装置に依存しない描画オブジェクトに変換する第１の変換工程（図９のステップ（２））と、前記第１の変換工程により変換された前記描画オブジェクトをメモリに格納する格納工程（図９のステップ（２））と、前記格納工程により前記メモリに格納された前記描画オブジェクトを選択される印刷装置に固有の印刷制御情報に変換して対応するそれぞれの印刷装置に転送する複数の第２の変換工程（図９のステップ（４））と、いずれかの第２の変換工程による変換処理開始からいずれかの印刷装置の印刷処理が終了するまで印刷処理状態を監視して印刷処理エラーの発生を判定する判定工程（図９のステップ（５））と、前記判定工程により前記いずれかの印刷装置に前記印刷処理エラーが発生したと判定した場合に、設定された他の印刷装置に対応するいずれかの第２の変換工程を選択する選択工程（図９のステップ（６），（７））とを有するので、それぞれの印刷装置に依存しない描画オブジェクトを選択されたいずれかの印刷装置において印刷処理が正常に終了するまで保持しておき、ユーザが選択した印刷装置に対する印刷処理中に、何らかのエラーが発生した場合に、設定された次の代替印刷装置を選択し、該選択された印刷装置に対し、該格納されている描画オブジェクトから固有の印刷制御情報を変換して順次転送処理でき、ユーザによる印刷装置候補の選択負担を軽減できるとともに、次候補の印刷装置に対して速やかに印刷制御情報を転送でき、印刷処理時間を大幅に短縮して効率よく印刷処理を行える印刷環境を整備することができる。
【００７８】
また、前記印刷処理エラーは、いずれかの第２の変換工程による変換処理エラー，いずれかの第２の変換工程による変換される前記印刷制御情報の転送エラー，選択されるいずれかの印刷装置のエンジン動作エラーを含むので、一連の印刷処理中のおける印刷処理エラーを捉えて選択された印刷装置から設定された他の印刷装置に対する印刷処理に動的に切り替えることができる。
【００７９】
さらに、前記印刷処理エラーが発生した際に、前記メモリに格納された前記描画オブジェクトを転送すべき次の印刷装置候補を各印刷装置毎に設定する設定工程（図示しない）と、前記設定工程により設定された前記描画オブジェクトを転送すべき次の印刷装置候補一覧を前記メモリに登録する登録工程（図示しない）とを有し、前記選択工程は、前記メモリに記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかの第２の変換工程を選択するので、ユーザが意図する優先順位に従って意図する印刷装置に対して格納されている描画オブジェクトから変換される印刷制御情報を順次転送することができる。
【００８０】
また、前記印刷装置は、ローカルプリンタ（プリンタ６０４），ネットワークプリンタ（プリンタ６０６，プリンタ６０８）を含むので、障害時における代替印刷装置候補を種々の印刷環境から自在に選択することができる。
【００８１】
さらに、前記ネットワークプリンタは、前記所定の通信媒体に対してサーバを介して接続される第１のネットワークプリンタ（プリンタ６０６）と、前記所定の通信媒体に対して直接接続される第２のネットワークプリンタ（プリンタ６０８）とを含むので、障害時における代替ネットワークプリンタ候補を種々のネットワークプリンタ環境から自在に選択することができる。
【００８２】
〔第２実施形態〕
第１実施形態では、図９に示したステップ（５）にて印刷が正常に終了しなかったことを検知した場合に、ステップ（７）にて次候補となるプリンタドライバを決定し、再度、次候補プリンタドライバとして選択されたプリンタドライバを用いて印刷を実行する構造となつているが、図１０に示すように優先順位を示すテーブルに互換性フラグを追加し、再度印刷を実行せずに、印刷が正常に終了しなかった際に生成された印刷データを次候補のプリンタに送信することで、印刷を再実行するように構成しても良い。以下、その実施形態について説明する。
【００８３】
図１０は、本発明の第２実施形態を示すデータ処理装置に記憶されるプリンタ選択優先順位テーブルの一例を示す図であり、外部メモリ１１等に記憶されるものとする。
【００８４】
図１１は、本発明に係るデータ処理装置における第２のデータ処理手順の一例を示すフローチャートであり、要部手順のみを示してある。なお、（１１），（１２）は各ステップを示し、他の処理は図９に準ずる。
【００８５】
図示されていないが、図９に示したステップ（４）における出力先プリンタドライバによる印刷の実行において、通常、プリンタドライバにより生成された印刷データはシステムスプーラ２０４の管理する一時保存ファイルに書き込まれた後、実際にクライアント６００に接続されたプリンタに送信されるが、本実施形態では、プリンタドライバの出力を一旦、スプールファイルマネージヤ３０４の管理下の一時保存ファイルに書き込み保存を行い、保存が終了した後、再度、システムスプーラ２０４の管理する一時保存ファイルヘの書き込み保存を最終印刷データ形式にて行う。
【００８６】
スプールファイルマネージャ３０４管理下に置かれた一時保存ファイルは、中間コード形式のスプールファイル３０３と同様にステップ（９）のスプールファイル削除の処理により削除される。
【００８７】
まず、図９に示したステップ（７）にて、次候補ドライバがあることがわかった場合に、さらに、ステップ（１１）で、次候補のドライバが先に印刷を行つたプリンタドライバと互換性があるかどうかの判別を、図１０に示したテーブルを参照して行い、互換性がないと判定した場合には、図９に示したステップ（４）の処理に戻る。
【００８８】
一方、ステップ（１１）で、互換性があると判定した場合には、ステップ（１２）で、スプールファイルマネージャ３０４に管理されている最終印刷データ形式のファイルをオープンし、データの出力先プリンタヘの送信を行い、該処理の終了と共に、図９に示したステップ（５）の処理に戻る。
【００８９】
例えば、ユーザが出力先として指定したプリンタがプリンタ６０４で、このプリンタヘの印刷終了前に何らかのエラーが発生した場合には、図１０に示す次候補情報，互換性情報により、次候補がプリンタ６０６で、互換性ありということが判明する。
【００９０】
したがって、この場合には、スプールファイルマネージャ３０４の管理する中間データ形式のスプールファイル３０３を用いて再度グラフィックエンジン２０２への印刷を行う必要はなく、最終印刷データ形式により保存した一時保存ファイルをプリンタに送信することでプリンタ６０６への印刷が行われる。仮にプリンタ６０６においても印刷が正常終了しなかつた場合には、図１０に示したプリンタ６０４の項目を参照し、プリンタ６０８が最終候補で互換性がないことが判明するので、プリンタ６０８に対しては、ステップ（４）による通常の印刷処理が行われることになる。
【００９１】
以下、本実施形態の特徴的構成について図１１に示すフローチャートを参照して説明する。
【００９２】
上記のように構成された所定の通信媒体を介して複数の印刷装置と通信可能な印刷制御装置のデータ処理方法であって、あるいは所定の通信媒体を介して複数の印刷装置と通信可能なデータ処理装置を制御するコンピュータが読み出し可能なプログラムを格納した記録媒体であって、前記選択工程により選択された次候補の印刷装置と前候補の印刷装置との互換性を判定する第２の判定工程（図１１のステップ（１１））と、前記第２の判定工程により次候補の印刷装置と前候補の印刷装置とが互換性があると判定した場合に、変換済みの印刷制御情報を次候補の印刷装置に転送する転送工程（図１１のステップ（１２））とを有するので、選択した印刷装置に対する印刷処理中にエラーが発生した際に、次候補として選択される印刷装置が前候補の印刷装置と互換性がある場合には、既に変換された印刷制御情報を直接転送でき、再変換処理が不要となり、次候補の印刷装置における印刷処理時間を大幅に短縮することができる。
【００９３】
以下、図１２に示すメモリマップを参照して本発明に係るデータ処理装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【００９４】
図１２は、本発明に係るデータ処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【００９５】
なお、特に図示しないが、記録媒体に記録されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【００９６】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【００９７】
本実施形態における図９，図１１に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【００９８】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００９９】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１００】
プログラムコードを供給するための記録媒体としては、例えば、フロッピーディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ等を用いることができる。
【０１０１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０２】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０３】
〔第３の実施形態〕
以下、図面を参照して本発明の第３の実施形態について説明する。第３の実施形態では、ユーザの手を煩わせることなく、印刷実行中の障害を回避し印刷を確実に行わせることを実現する印刷制御装置および方法を提供すること。更には、出力先の印刷装置を変更することによって生じる問題点をユーザに通知、または代替手段により解決を図ることで、ユーザの所望する印刷出力を可能とすることを目的としている。
【０１０４】
そして、印刷を実行する印刷装置に非依存なデータを生成する印刷制御手段を備え、前記印刷制御手段により生成された印刷装置に非依存なデータを任意の印刷装置に対しての印刷データに変換する手段と、前記印刷データを印刷装置に送信する手段と、前記送信した印刷データの印刷完了までをモニタリングする手段と、何らかの原因により印刷が不成功に終わった場合に、前記印刷装置に非依存なデータを基に、出力先の印刷装置を変更し、変更後の印刷装置に対しての印刷データに変換し、印刷を実行する手段とを備えるものである。
【０１０５】
前述の図１から図４までの図を流用する。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。
【０１０６】
図１において、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【０１０７】
また、前述した外部メモリ１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。以下、図４までの説明は説明のため重複している。
【０１０８】
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。グラフィックエンジン２０２は印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２１０の出力をプリンタドライバ２０３を用いてプリンタの制御コマンドに変換する。変換されたプリンタ制御コマンドはＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインターフェース２１経由でプリンタ１５００へ出力される仕組みとなっている。
【０１０９】
本発明は、図２で示すプリンタとホストコンピュータからなる印刷システムを前提としているが、更に図３に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールするシステムを前提としている。図３は、図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０３を生成する構成をとる。第２図のシステムでは、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィックエンジン２０２からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点であるのに対し、図３のシステムでは、スプーラ３０２がすべての印刷命令を中間コードデータにに変換し、スプールファイル３０３に出力した時点であり、通常、後者の方が短時間で済む。
【０１１０】
以下、図３の詳細を説明する。図に示すとおり、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令を共通プリンタドライバ３０１が受け取る。共通プリンタドライバ３０１がグラフィックエンジン２０２から受け取った印刷命令がアプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令の場合には、共通プリンタドライバ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令を送付する。スプーラ３０２は受け取った印刷命令を中間コードに変換してスプールファイル３０３に出力する。また、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定をスプーラ３０２はプリンタドライバ２０３から取得しスプールファイル３０３に保存する。なお、スプールファイル３０３は外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成する事も可能である。更にスプーラ３０２は外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、再度グラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０４に対して、スプールファイル３０３に記述された中間コードの印刷処理を行うように指示する。デスプーラ３０５はスプールファイル３０３に含まれる中間コードをもう一度グラフィックエンジン２０２経由でプリンタドライバ２０３に出力する。プリンタドライバ２０３はプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５００に出力がなされる。
【０１１１】
図４に示すのが、本実施例における印刷プログラムがホストコンピュータ３０００上のＲＡＭ２にロードされ実行可能となった状態のメモリマップを示している。なお、本実施例における印刷制御プログラムは印刷プログラム４０４の一部として存在している。図１３、１９に示されるプログラムも４０４に含まれる。
【０１１２】
以下、図１３から図１９に基づいて、第３の実施形態について説明する。図１３に示すのが、第３実施形態における処理の内容をフローチャートにて図示したものである。
【０１１３】
図１４に示すのが、本実施例におけるシステム構成の例を示すものである。図中の印刷データを生成するクライアント６００には各々ローカル接続、ネットワーク直結、サーバ経由接続されたプリンタに対応したプリンタドライバＡ、Ｂ、Ｃが存在することを簡単に示している。
【０１１４】
図７は印刷が正常終了したかどうかをモニタリングする構成の例を示したものである。
【０１１５】
図１６は印刷が不成功に終わった場合のエラーメッセージの表示例となっている。
【０１１６】
図１７は印刷優先順位を示す情報の例となっている。また、図１８は次候補プリンタに印刷実行する場合に無効となる印刷指定がある場合に表示されるメッセージの表示例となっている。以下、図１３に示すフローチャートを中心にして本実施例を詳しく説明する。
【０１１７】
まず、第１３図に示すとおり、本実施例における処理はユーザが第１図に示したキーボードコントローラＫＢＣ５等により第４図に示すようにＯＳ４０５の管理の下ＲＡＭ２上にロードされ、実行中のアプリケーション２０１にて印刷先のプリンタの指定と印刷実行を指示することで始まる。例えば、図１４に示すようにクライアント６００上で動作するアプリケーションから、それぞれプリンタドライバＡ、Ｂ、Ｃを使用してプリンタＡ、Ｂ、Ｃの３台のプリンタに出力が可能である場合は、ユーザがプリンタドライバＡ、Ｂ、Ｃの何れかを選択して印刷を実行することになる。以下本実施例のフローチャートを用いた説明では、この時ユーザが選択したプリンタドライバはプリンタドライバＡ２０３であるものとして行う。印刷がユーザによって指示されると、アプリケーション２０１はグラフィックエンジン２０２に印刷命令を印刷データが全てなくなるまで実行する（ステップ５０１）。アプリケーション２０１より印刷命令を受けたグラフィックエンジン２０２は、ユーザが指定したプリンタドライバＡ２０３の代わりに、共通プリンタドライバ３０１をＲＡＭ２上に呼び出し印刷を実行する。共通プリンタドライバ３０１は受け付けた印刷命令をスプーラ３０２を呼び出して、印刷命令の中間コードへの変換とスプールファイル３０３への保存を行う（ステップ５０２）。このように共通プリンタドライバ３０１がグラフィックエンジン２０２からの印刷命令を全て中間コードへ変換し、スプールファイルへの保存を行い、処理が終了すると、アプリケーション２０１が開放される（ステップ５０３）。続いて、先に図３の説明を行ったとおりスプールファイルマネージャ３０４、デスプーラ３０５、グラフィックエンジン２０２経由で、ユーザが印刷指定したプリンタＡ６０４に対応したプリンタドライバＡ２０３を出力先として印刷を実行する（ステップ５０４）。続いて、スプールファイルマネージャ３０４がステップ５０４の印刷が正常終了したかどうかの確認を行う。実際の確認は、印刷処理の流れの中で、各モジュールの処理状況（正常終了したか、異常終了したか）を監視することにより行われる。本実施例では、図１５に示すように、グラフィックエンジン２０２、システムスプーラ２０４およびプリンタＡ、Ｂ、Ｃの状態を監視することで正常終了したかどうかの判断が行われる。異常終了の例としては、グラフィックエンジン２０２でのメモリ不足、ディスク不足、システムスプーラ２０４でのプリンタへのデータの送信エラー、プリンタでの紙ジャム等が挙げられる（ステップ５０５）。ここで印刷が正常終了であった場合、または、印刷が正常に終了したかどうかのチェックを行う必要がない場合またはユーザが印刷の終了確認を必要としない場合にも、スプールファイルマネージャ３０４がスプールファイル３０３を削除して全ての処理を終了する（ステップ５１２）。印刷が正常に終了したかどうかのチェックを行う必要がない場合の例としては、後述する通り、当初印刷を行おうとしたプリンタでエラーが発生したために、次候補プリンタでの印刷を行おうとしたものの、印刷出力が一部非互換となるために再度、元のプリンタへの出力を行う場合がある。一方、印刷が正常に終了しなかった場合には、ホストコンピュータ３０００にて利用可能なプリンタドライバの中で、次候補のプリンタドライバがあるかどうかの判別を行う（ステップ５０６）。次候補の決定方法は、図１７に示すようにユーザが予め優先順位を定義したテーブルをＲＡＭ２中または外部メモリ１１に記憶しておき、この優先順位を定義したテーブルを順にたどっていくことで決定できる。この他に、次候補の決定には、プリンタドライバの持つ情報を各プリンタドライバから集めて外部メモリ１１に記憶しておき、それらの情報をもとに、印刷実行時に印刷先として指定されたプリンタドライバとの互換性、プリンタのロケーション情報（プリンタが何処に設置されているのか）等をもとに図１７と同様のプリンタドライバの優先順位を示すテーブルを作成して行うことも可能である。次候補ドライバが存在しなかった場合には、印刷が不成功に終わったことをユーザに通知するために、ＣＲＴ１０に図１６に示すメッセージを表示し（ステップ５１１）、続いて、スプールファイル３０３を削除し、処理を終了する。（ステップ５１２）一方、次候補のプリンタドライバがあった場合にはそのドライバを次候補として選択する。（ステップ５０７）本実施例の場合には、図１７に示すとおり次候補がプリンタＢであるので、プリンタドライバＢを次候補として選択する。次に選択したプリンタドライバＢと元々選択していたプリンタドライバＡにて印刷を実行した場合に印刷の差異が生じないかどうかの評価を共通プリンタドライバから各プリンタドライバへ、あらかじめ定められた問い合わせ用Ｉ／Ｆにて情報を取得して行う。印刷に差異があるかどうかの確認項目は多岐に渡るが、その一例としては、両面の可否、出力用紙サイズ、ステイプル可否、ソート、製本印刷等が挙げられる。（ステップ５０８）印刷の差異が生じない場合には、デスプーラ３０５が再びグラフィックエンジン２０２に対してスプールファイル３０３の内容の印刷を実行する。（ステップ５０４）このようにして、印刷が正常に終了するか、次候補のプリンタドライバが存在しなくなるまでプリンタドライバを切り替えながら印刷処理が行われる。一方、印刷の差異が生じることが判明した場合には、その事をユーザに通知するためにＣＲＴ１０に図１８に示すようなメッセージを表示し、次候補プリンタドライバにて印刷を継続するかどうか、ユーザに確認を行う。図１８では次候補プリンタドライバＢを用いて印刷を実行した場合に両面印刷が不可となることを示している（ステップ５０９）。印刷継続が選択された場合には、デスプーラ３０５が再びグラフィックエンジン２０２に対してスプールファイル３０３の内容の印刷を実行する（ステップ５０４）。一方、印刷中止が選択された場合には、次候補プリンタドライバでの印刷を行わずに、再度、最初に選択されたプリンタドライバにて印刷を行うように次候補プリンタドライバの選択を変更する（ステップ５１０）。続いて、デスプーラ３０５が再びグラフィックエンジン２０２に対してスプールファイル３０３の内容の印刷を実行するが（ステップ５０４）、この場合は、一度、印刷エラーが生じた後に再度、同じプリンタに対して印刷を試みているので、印刷終了のチェックは行わずに、スプールファイル３０３を削除し、処理を終了する（ステップ５１２）。
【０１１８】
以上の処理によりアプリケーションからの印刷処理は全て終了し、本実施例における印刷プログラムの処理も終了し、ＲＡＭ２からはＯＳ４０５の機能により消去される。なお、本実施例においては、本印刷プログラムを記録する媒体を外部メモリとしているが、外部メモリとしては、ＦＤ、ＨＤドライブ、ＣＤ−ＲＯＭやＩＣメモリカード等であってもよい。更に、本印刷プログラム単独、もしくはＯＳその他のホストコンピュータ上で動作するプログラムと共にＲＯＭ３に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ１で実行することも可能である。
【０１１９】
〔更に他の他の実施例〕
上記実施例では、ステップ５０８にてユーザの印刷指示に次候補ドライバで実行できない機能があった場合には、ステップ５０９にてユーザに印刷を継続するかどうかの確認を行っているが、本実施例ではこのステップ５０８とステップ５０９の間の処理として、プリンタ機能に起因して処理不可な機能のうち、プリンタドライバ側処理にて代行可能な機能については代行するモードにプリンタドライバの動作モードを変更する処理を加えている。以下において図１９を用いて説明を行う。
【０１２０】
まず、ステップ５０８にて次候補ドライバで実行できないユーザの印刷指示があることが判明した場合に、ユーザの支持した印刷指示がプリンタに起因して次候補ドライバで実行できないかどうかを判別し、さらに前記プリンタに起因する制限をホスト側の処理にて代行できるかどうかの判別をあわせて行う。（ステップ１１０１）これら２つの判別には、例えば、あらかじめ定められた問い合わせ用Ｉ／Ｆにて情報を取得して行うのが有効である。もちろん、プリンタドライバ個々の能力をまとめたテーブル、データベース等を用いることも可能である。代行ができない場合には、そのままステップ５０９の処理に戻る。一方、代行可能である場合には、続いて、該当機能についてプリンタ機能ではなく、プリンタドライバ側の機能で実現するために、プリンタドライバの動作モードの変更を行う（ステップ１１０２）。この場合には、ステップ５０９の処理はスキップして、直接ステップ５０４の処理に移る。例えば、プリンタドライバにて代行可能なプリンタ機能には、用紙サイズの定型拡縮、ズーム、ページレイアウト印刷（Ｎページ、ポスター等）、部単位印刷、製本印刷等がある。一方、プリンタドライバにて代行できないプリンタ機能としては、給紙口指定、排紙口指定、ステイプル、両面等デバイスでしかできないものが挙げられる。この後の処理は、上記実施例と同様に、デスプーラ３０５が再びグラフィックエンジン２０２に対してスプールファイル３０３の内容の印刷を実行し、（ステップ５０４）、印刷が正常終了すれば、スプールファイル３０３を削除し、処理を終了する（ステップ５１２）。
【０１２１】
以上の処理によりアプリケーションからの印刷処理は全て終了し、本実施例における印刷プログラムの処理も終了し、ＲＡＭ２からはＯＳ４０５の機能により消去される。なお、本実施例においては、本印刷プログラムを記録する媒体を外部メモリとしているが、外部メモリとしては、ＦＤ、ＨＤドライブ、ＣＤ−ＲＯＭやＩＣメモリカード等であってもよい。更に、本印刷プログラム単独、もしくはＯＳその他のホストコンピュータ上で動作するプログラムと共にＲＯＭ３に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ１で実行することも可能である。
【０１２２】
以上説明したように、本実施形態の印刷制御装置は、所定の通信媒体を介して複数の印刷装置と通信可能な印刷制御装置であり、アプリケーションから要求される描画情報を各印刷装置に依存しない描画オブジェクトに変換する第１の変換手段と、前記第１の変換手段により変換された前記描画オブジェクトを格納する格納手段と、前記格納手段に格納された前記描画オブジェクトを選択される印刷装置に固有の印刷制御情報に変換して対応するそれぞれの印刷装置に転送する複数の第２の変換手段と、いずれかの第２の変換手段による変換処理開始からいずれかの印刷装置の印刷処理が終了するまで印刷処理状態を監視して印刷処理エラーの発生を判定する判定手段と、前記判定手段により前記いずれかの印刷装置に前記印刷処理エラーが発生したと判定した場合に、設定された他の印刷装置に対応するいずれかの第２の変換手段を選択する制御手段とを有するので、それぞれの印刷装置に依存しない描画オブジェクトを選択されたいずれかの印刷装置において印刷処理が正常に終了するまでに保持しておき、ユーザが選択した印刷装置に対する印刷処理中に、何らかのエラーが発生した場合に、設定された次の代替印刷装置を選択し、該選択された印刷装置に対し、該格納されている描画オブジェクトから固有の印刷制御情報を変換して順次転送処理でき、ユーザによる印刷装置候補の選択負担を軽減できるとともに、次候補の印刷装置に対して速やかに印刷制御情報を転送でき、印刷処理時間を大幅に短縮して効率よく印刷処理を行える印刷環境を整備することができる。
【０１２３】
また、本実施形態では、前記印刷処理エラーは、いずれかの第２の変換手段による変換処理エラー，いずれかの第２の変換手段による変換される前記印刷制御情報の転送エラー，選択されるいずれかの印刷装置のエンジン動作エラーを含むので、一連の印刷処理中のおける印刷処理エラーを捉えて選択された印刷装置から設定された他の印刷装置に対する印刷処理に動的に切り替えることができる。
【０１２４】
また、本実施形態では、前記印刷処理エラーが発生した際に、前記格納手段に格納された前記描画オブジェクトを転送すべき次の印刷装置候補を各印刷装置毎に設定する設定手段と、前記設定手段により設定された前記描画オブジェクトを転送すべき次の印刷装置候補一覧を記憶する記憶手段とを有し、前記制御手段は、前記記憶手段に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかの第２の変換手段を選択するので、ユーザが意図する優先順位に従って意図する印刷装置に対して格納されている描画オブジェクトから変換される印刷制御情報を順次転送することができる。
【０１２５】
また、本実施形態では、前記印刷装置は、ローカルプリンタ，ネットワークプリンタを含むので、障害時における代替印刷装置候補を種々の印刷環境から自在に選択することができる。
【０１２６】
また、本実施形態では、前記ネットワークプリンタは、前記所定の通信媒体に対してサーバを介して接続される第１のネットワークプリンタと、前記所定の通信媒体に対して直接接続される第２のネットワークプリンタとを含むので、障害時における代替ネットワークプリンタ候補を種々のネットワークプリンタ環境から自在に選択することができる。
【０１３４】
従って、印刷処理中の障害発生時における次候補印刷装置により代替印刷処理を自動的に行える印刷処理環境を自在に整備することができる等の効果を奏する。
【０１３５】
以上説明したように、本発明によれば、アプリケーションを早く解放することができ、更に、ユーザの手を煩わせることなく、印刷実行中の障害を回避し印刷を確実に行わせることを実現する印刷制御装置および方法を提供することが可能となる。
【０１３６】
更には、アプリを解放した状態で、出力先の印刷装置を変更することによって生じる問題点をユーザに通知、または代替手段により解決を図ることで、ユーザの所望する印刷出力を可能とする。
【発明の効果】
以上説明したように、本発明によれば、複数の印刷装置と通信可能であり、それぞれの印刷装置で解釈可能な印刷制御情報を生成する複数のプリンタドライバと、個別の印刷装置に依存しない共通プリンタドライバとを備えるデータ処理装置において、前記共通プリンタドライバを用いて、アプリケーションから要求される描画情報を各印刷装置に依存しない非依存データに変換し、変換された非依存データをスプーラに保存し、前記複数のプリンタドライバから選択される１つのプリンタドライバを用いて、前記非依存データを、選択される印刷装置に固有の印刷制御情報に変換し、変換のために前記非依存データを出力した後も前記非依存データを該スプーラに残しておき、前記選択された印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定し、前記選択された印刷装置に前記印刷処理エラーが発生したと判定した場合に、前記複数のプリンタドライバから選択される他の１つのプリンタドライバを用いて印刷制御情報が生成されるべく、前記スプーラに保存されている非依存データを出力するので、選択された印刷装置に対する印刷処理中に、何らかのエラーが発生した場合にも、ユーザによるアプリケーションからの再印刷を行うことなく、容易に他の代替印刷装置で代替印刷でき、代替印刷のための処理時間を大幅に短縮して効率よく印刷処理を行える印刷環境を整備することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示すデータ処理装置を適用可能な印刷システムの構成を説明するブロック図である。
【図２】図１に示した印刷システムにおけるホストコンピュータの構成を説明するブロック図である。
【図３】図１に示した印刷システムにおけるのホストコンピュータの構成を詳細に説明するブロック図である。
【図４】本実施例における印刷モード自動制御プログラムを含む印刷関連モジュールがホストコンピュータ３０００のＲＡＭ２上にロードされ、実行可能となった状態のメモリマップを示しているブロック図である。
【図５】本発明に係る印刷システムにおける第１のプリント処理形態を説明するブロック図である。
【図６】本発明に係る印刷システムにおける第２のプリント処理形態を説明するブロック図である。
【図７】図５，図６に示したクライアントの表示部に表示されるダイアログメッセージの一例を示す図である。
【図８】図１に示したＲＡＭ２または外部メモリに記憶管理されるプリンタ選択候補の優先順位テーブルの一例を示す図である。
【図９】本発明に係るデータ処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１０】本発明の第２実施形態を示すデータ処理装置に記憶されるプリンタ選択優先順位テーブルの一例を示す図である。
【図１１】本発明に係るデータ処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１２】本発明に係るデータ処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【図１３】本実施例における処理の内容をフローチャートにて図示したものである。
【図１４】本実施例におけるシステム構成の例を示す図である。
【図１５】印刷が正常終了したかどうかをモニタリングする構成の例を示した図である。
【図１６】印刷が不成功に終わった場合のエラーメッセージの表示例を示す図となっている。
【図１７】印刷優先順位を示す情報の例を示す図となっている。
【図１８】次候補プリンタに印刷実行する場合に無効となる印刷指定がある場合に表示されるメッセージの表示例を示す図となっている。
【図１９】他の実施例における処理の内容をフローチャートにて図示したものである。
【符号の説明】
２０１  アプリケーション
２０２  グラフィックエンジン
２０３  プリンタドライバ
２０４  システムスプーラ
３０１  共通プリンタドライバ
３０２  スプーラ
３０３  スプールファイル
３０４  スプールファイルマネージャ
３０５  デスプーラ
１５００  プリンタ
３０００  ホストコンピュータ
１  ＣＰＵ
２  プリンタ
【図１】
0004817474.tif 000002
【図２】
0004817474.tif 000003
【図３】
0004817474.tif 000004
【図４】
0004817474.tif 000005
【図５】
0004817474.tif 000006
【図６】
0004817474.tif 000007
【図７】
0004817474.tif 000008
【図８】
0004817474.tif 000009
【図９】
0004817474.tif 000010
【図１０】
0004817474.tif 000011
【図１１】
0004817474.tif 000012
【図１２】
0004817474.tif 000013
【図１３】
0004817474.tif 000014
【図１４】
0004817474.tif 000015
【図１５】
0004817474.tif 000016
【図１６】
0004817474.tif 000017
【図１７】
0004817474.tif 000018
【図１８】
0004817474.tif 000019
【図１９】
0004817474.tif 000020