(57)【要約】【課題】印刷設定を柔軟に行なうことを課題とする。【解決手段】情報処理装置は、印刷に関する印刷処理を実行するプログラムであるプラグインと、前記プラグインの部品を表すライブラリとを記憶する記憶部を有する。また、情報処理装置は、印刷対象である画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを生成する。また、情報処理装置は、一つ又は複数のライブラリを含むプラグインを実行し、プラグインによる印刷設定を印刷設定情報に反映する。また、情報処理装置は、画像データと、プラグインによる印刷設定が反映された印刷設定情報とを含む中間ファイルを出力する。【選択図】図２
2013140423.tif 000002
【特許請求の範囲】
【請求項１】
印刷に関する印刷処理を実行するプログラムであるプラグインと、前記プラグインの部品を表すライブラリとを記憶する記憶部と、
印刷対象である画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを生成する生成部と、
一つ又は複数の前記ライブラリを含む前記プラグインを実行し、プラグインによる印刷設定を前記印刷設定情報に反映するプラグイン実行部と、
前記画像データと、前記プラグインによる印刷設定が反映された前記印刷設定情報とを含む中間ファイルを出力する出力部と
を有することを特徴とする情報処理装置。
【請求項２】
一つ又は複数の前記ライブラリを含む前記プラグインの構成情報として、印刷の処理順序又は前記中間ファイルの出力先に関する情報を表す印刷ワークフローと、前記プラグインの属性に関する情報を表すプラグイン属性と、印刷の条件又は処理に関する情報を表す印刷ルールとを、前記記憶部に登録する登録部をさらに有し、
前記プラグイン実行部は、前記構成情報に基づいて前記プラグインを実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷ワークフローごとに、前記処理順序又は前記印刷設定に矛盾が生じているか否かを判定することにより、前記プラグインの実行可否を判定する判定部をさらに有し、
前記登録部は、前記判定部によって実行可能であると判定された前記プラグインの構成情報を前記記憶部に登録することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記プラグイン実行部は、前記出力部による前記中間ファイルの出力と並行して前記プラグインを実行することを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
コンピュータを機能させるための印刷処理プログラムであって、
前記コンピュータは、
印刷に関する印刷処理を実行するプログラムであるプラグインと、前記プラグインの部品を表すライブラリとを記憶する記憶部を有し、
前記コンピュータを、
印刷対象である画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを生成する生成部と、
一つ又は複数の前記ライブラリを含む前記プラグインを実行し、プラグインによる印刷設定を前記印刷設定情報に反映するプラグイン実行部と、
前記画像データと、前記プラグインによる印刷設定が反映された前記印刷設定情報とを含む中間ファイルを出力する出力部
として機能させるための印刷処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び印刷処理プログラムに関する。
【背景技術】
【０００２】
従来、ＰＣ（Personal  Computer）等の情報処理装置からプリンタ等の画像形成装置を利用して印刷を実行する際に、印刷設定に関する各種制御が行なわれる場合がある。例えば、各種制御は、印刷の出力結果を事前に確認するためのプレビュー表示機能による制御、印刷データに含まれるキーワードによって好適な印刷設定に変更する制御、プリンタのステータスを確認して出力可能なプリンタに出力先を変更する制御等である。
【０００３】
また、最近では、文書データに対する印刷設定情報と、文書データをプリンタに描画させるための描画情報とを含む中間データに、複数の印刷ジョブに共通した印刷設定を適用することで、複数の印刷ジョブに対する印刷設定作業を簡便化させる技術がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、印刷設定を柔軟に行なうことができないという問題がある。具体的には、印刷設定に関する各種制御は、多数の機能が搭載されていても仕様が複雑になってしまい、ユーザにとっては使いこなせない場合があるため、印刷設定を柔軟に行なうことが困難である。また、ある特定のユーザニーズに対応する制御を有するシステムを導入する場合には、他のユーザニーズとわずかでも差が生じていれば、そのわずかな差のある他のシステムを導入することになる。さらに、これらのユーザ以外にとっては何れのシステムも利用し難いものになる可能性があるため、システムが膨大になってしまう。また、複数の印刷ジョブに共通した印刷設定を中間データに適用する技術は、印刷設定作業を簡便化させることができる反面、印刷設定を柔軟に行なうことができなくなってしまう。
【０００５】
本発明は、上記に鑑みてなされたものであって、印刷設定を柔軟に行なうことが可能である情報処理装置及び印刷処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明に係る情報処理装置は、印刷に関する印刷処理を実行するプログラムであるプラグインと、前記プラグインの部品を表すライブラリとを記憶する記憶部と、印刷対象である画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを生成する生成部と、一つ又は複数の前記ライブラリを含む前記プラグインを実行し、プラグインによる印刷設定を前記印刷設定情報に反映するプラグイン実行部と、前記画像データと、前記プラグインによる印刷設定が反映された前記印刷設定情報とを含む中間ファイルを出力する出力部とを有する。
【０００７】
また、本発明に係る印刷処理プログラムは、コンピュータを機能させるための印刷処理プログラムであって、前記コンピュータは、印刷に関する印刷処理を実行するプログラムであるプラグインと、前記プラグインの部品を表すライブラリとを記憶する記憶部を有し、前記コンピュータを、印刷対象である画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを生成する生成部と、一つ又は複数の前記ライブラリを含む前記プラグインを実行し、プラグインによる印刷設定を前記印刷設定情報に反映するプラグイン実行部と、前記画像データと、前記プラグインによる印刷設定が反映された前記印刷設定情報とを含む中間ファイルを出力する出力部として機能させる。
【発明の効果】
【０００８】
本発明の一つの様態によれば、印刷設定を柔軟に行なうことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る印刷システムの構成例を示す図である。
【図２】図２は、実施例１に係る情報処理装置の構成例を示す機能ブロック図である。
【図３Ａ】図３Ａは、ワークフロー定義ファイルに定義可能なワークフロー定義の例を示す図である。
【図３Ｂ】図３Ｂは、ワークフロー定義ファイルの内容の例を示す図である。
【図４Ａ】図４Ａは、プラグイン属性ファイルに定義されるプラグイン属性の例を示す図である。
【図４Ｂ】図４Ｂは、プラグイン属性ファイルの内容の例を示す図である。
【図５Ａ】図５Ａは、印刷ルールファイルに定義される印刷ルールの例を示す図である。
【図５Ｂ】図５Ｂは、印刷ルールファイルの内容の例を示す図である。
【図６】図６は、ワークフロー設定画面の例を示す図である。
【図７】図７は、実施例１に係る情報処理装置による全体処理の流れの例を示すフローチャートである。
【図８】図８は、実施例１に係る印刷実行可否判定処理の流れの例を示すフローチャートである。
【図９】図９は、印刷実行可否判定処理における警告メッセージの内容の例を示す図である。
【図１０】図１０は、実施例１に係る印刷処理の流れの例を示すフローチャートである。
【図１１Ａ】図１１Ａは、ジョブ編集ライブラリ、印刷設定ライブラリ、イメージ生成ライブラリ及び出力制御ライブラリを利用したプラグインによる処理例を示すシーケンス図である。
【図１１Ｂ】図１１Ｂは、ジョブ編集ライブラリ、印刷設定ライブラリ、イメージ生成ライブラリ及び出力制御ライブラリを利用したプラグインによる処理例を示すシーケンス図である。
【図１２Ａ】図１２Ａは、印刷設定の変更が反映された印刷プレビュー画面の例を示す図である。
【図１２Ｂ】図１２Ｂは、ジョブ編集が反映された印刷プレビュー画面の例を示す図である。
【図１３】図１３は、印刷設定ライブラリ、データアクセスライブラリ及び出力制御ライブラリを利用したプラグインによる処理例を示すシーケンス図である。
【図１４】図１４は、出力制御ライブラリを利用したプラグインによる処理例を示すシーケンス図である。
【図１５】図１５は、画像形成装置で実現する例を説明する図である。
【図１６】図１６は、印刷処理プログラムがコンピュータを用いて実現されることを示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明に係る情報処理装置及び印刷処理プログラムの実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例１】
【００１１】
［システム構成］
図１を用いて、実施例１に係る印刷システムの構成を説明する。図１は、実施例１に係る印刷システムの構成例を示す図である。
【００１２】
例えば、図１に示すように、印刷システム１０は、情報処理装置１００と、プリンタ３０と、プリンタ４０と、プリンタ５０とを有する。これらのうち、情報処理装置１００と、プリンタ４０と、プリンタ５０とは、ネットワーク２０に接続されている。また、プリンタ３０は、ネットワーク２０には接続されておらず、ケーブル等により情報処理装置１００に接続されている。
【００１３】
また、プリンタ３０、プリンタ４０及びプリンタ５０は、例えば、コピー機能、プリンタ機能、スキャナ機能又はファクシミリ機能のうち、少なくともプリンタ機能を有するＭＦＰ（Multi  Function  Printer：複合機）であっても良い。また、情報処理装置１００は、例えば、ＰＣ等の情報処理装置である。なお、図１において、印刷システム１０には、１台の情報処理装置と、３台のプリンタとが含まれている場合を図示しているが、その台数はこれに限られるものではない。以下では、情報処理装置１００が、プリンタ３０、プリンタ４０又はプリンタ５０を利用して印刷を行なう場合を説明する。
【００１４】
上記構成において、情報処理装置１００は、印刷に関する印刷処理を実行するプログラムであるプラグインを実行して、印刷対象である画像データに対する印刷設定情報に、実行されたプラグインによる印刷設定を反映して、画像データと印刷設定情報とを含む中間ファイルを出力する。また、情報処理装置１００は、プラグインを登録する際に、登録されたプラグインをもとにした印刷の実行が可能であるか否かを判定する。
【００１５】
つまり、情報処理装置１００は、各種の印刷機能を組み合わせたプラグインを実行することで、印刷設定を柔軟に行なうことができる。加えて、情報処理装置１００は、各種の印刷機能を組み合わせたプラグインの登録において、印刷の実行可否を判定するので、矛盾した印刷設定を排除したプラグインを登録することができる。なお、情報処理装置１００における機能の詳細については後述する。
【００１６】
［実施例１に係る情報処理装置の機能］
次に、図２を用いて、実施例１に係る情報処理装置の機能を説明する。図２は、実施例１に係る情報処理装置の構成例を示す機能ブロック図である。
【００１７】
例えば、図２に示すように、情報処理装置１００は、記憶部１１０と、制御部１２０とを有する。記憶部１１０は、制御部１２０による各種処理に要するデータや、制御部１２０による各種処理結果を記憶する。かかる記憶部には、例えば、ライブラリ群１１１と、プラグイン群１１２と、中間ファイル記憶部１１３とが含まれる。また、記憶部１１０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置である。
【００１８】
ライブラリ群１１１は、印刷処理を実行するプログラムであるプラグインの部品を表すライブラリを記憶する。例えば、ライブラリ群１１１には、ジョブ編集ライブラリ１１１ａと、印刷設定ライブラリ１１１ｂと、イメージ生成ライブラリ１１１ｃと、データアクセスライブラリ１１１ｄと、出力制御ライブラリ１１１ｅとが含まれる。これらのライブラリを利用した印刷設定のカスタマイズでは、例えば、仮想プリンタ、論理プリンタ、物理プリンタ、印刷データ、印刷設定又は出力に関するカスタマイズが可能である。
【００１９】
ジョブ編集ライブラリ１１１ａは、例えば、ジョブの出力順序の変更や削除等を行なうインタフェースを提供するライブラリである。また、印刷設定ライブラリ１１１ｂは、例えば、現在の印刷設定又は印刷設定能力の取得や、印刷設定を行なうインタフェースを提供するライブラリである。また、イメージ生成ライブラリ１１１ｃは、例えば、印刷データからＢＭＰ（Bit  MaP）やＪＰＥＧ（Joint  Photographic  Experts  Group）等のイメージファイルを生成するインタフェースを提供するライブラリである。また、データアクセスライブラリ１１１ｄは、例えば、印刷データのテキスト情報を解析して、指定されたテキストが存在するか否かを判定するインタフェースを提供するライブラリである。また、出力制御ライブラリ１１１ｅは、例えば、出力可能な出力先の情報の取得や出力先を設定するインタフェースを提供するライブラリである。
【００２０】
プラグイン群１１２は、一つ又は複数のライブラリを含み、印刷処理を実行するプログラムであるプラグインを記憶する。例えば、プラグイン群１１２には、プラグインＡ１１２ａと、プラグインＢ１１２ｂと、プラグインＣ１１２ｃと、プラグインＤ１１２ｄとが含まれる。また、各プラグインには、各プラグインの構成情報を示すファイルである、ワークフロー定義ファイルと、プラグイン属性ファイルと、印刷ルールファイルとが対応付けられている。具体的には、ワークフロー定義ファイルには、プラグインを実行するタイミングや順序を定めたワークフロー定義が定義される。また、プラグイン属性ファイルには、プラグインの属性であるプラグイン属性が定義される。また、印刷ルールファイルには、処理とその処理を行なう条件である印刷ルールが定義される。プラグインには、１つのワークフロー定義に対して、複数のプラグイン属性と、複数の印刷ルールとが存在する場合がある。このようなプラグインは、上記ライブラリを利用して各種印刷機能を実現する。なお、プラグインの実行プロセスは問わず、１つのプロセスにアドインする形態を採用しても良いし、それぞれが独立したプロセスとなる形態を採用しても良い。
【００２１】
ここで、図３Ａ〜図５Ｂを用いて、ワークフロー定義、プラグイン属性及び印刷ルールについて説明する。図３Ａは、ワークフロー定義ファイルに定義可能なワークフロー定義の例を示す図である。また、図３Ｂは、ワークフロー定義ファイルの内容の例を示す図である。また、図４Ａは、プラグイン属性ファイルに定義されるプラグイン属性の例を示す図である。また、図４Ｂは、プラグイン属性ファイルの内容の例を示す図である。また、図５Ａは、印刷ルールファイルに定義される印刷ルールの例を示す図である。また、図５Ｂは、印刷ルールファイルの内容の例を示す図である。
【００２２】
例えば、図３Ａ及び図３Ｂに示すように、ワークフロー定義ファイルには、ワークフロー名称、ワークフローアイコンへのパス、印刷の編集に関するプラグインの順序、印刷の出力に関するプラグインの順序、及び、デフォルトで設定される出力先のプリンタ名称等がワークフロー定義として含まれる。
【００２３】
例えば、図４Ａ及び図４Ｂに示すように、プラグイン属性ファイルには、プラグイン名称、プラグインアイコンへのパス、プラグインを識別するプラグインＩＤ（identifier）、及び、編集プラグインであるか出力プラグインであるかを表すプラグインタイプ等がプラグイン属性として含まれる。加えて、プラグイン属性ファイルには、印刷設定を変更するかどうかを表すプラグイン属性、カラー印刷設定を変更するかどうかを表すプラグイン属性、両面印刷設定を変更するかどうかを表すプラグイン属性、プレビュー表示するかどうかを表すプラグイン属性、及び、出力機器の設定を変更するかどうかを表すプラグイン属性等が含まれる。なお、図４Ａ又は図４Ｂでは、印刷設定の変更の例として、「カラー」と「両面」とを挙げたが、これらの以外の設定も可能である。
【００２４】
例えば、図５Ａ及び図５Ｂに示すように、印刷ルールファイルには、ルール名称、印刷ルールファイルを識別するルールＩＤ、印刷の条件に関する種類と符号との設定、比較対象の値、及び、印刷のカラー、両面、プレビュー、プリンタ名等の処理に関する設定等が印刷ルールとして含まれる。なお、プラグインによる処理の実行は、印刷ルールファイルに基づいて行なわれる。
【００２５】
中間ファイル記憶部１１３は、印刷対象である画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを記憶する。例えば、中間ファイル記憶部１１３は、プリンタドライバに依存しないＢＭＰ、ＥＭＦ（Enhanced  Meta  File）又はＸＰＳ（XML  Paper  Specification）等の画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを記憶する。
【００２６】
一般に、情報処理装置上で動作するアプリケーションによって印刷が行なわれる場合には、グラフィックエンジンにアプリケーションのデータが描画され、描画されたデータがプリンタドライバに渡される。そして、プリンタドライバは、ＰＤＬ（Page  Description  Language）等のプリンタが認識可能なコードに変換する。その後、変換されたデータがスプーラに蓄積され、スプーラによってプリンタにデータが送信されることにより印刷が実行される。すなわち、本実施例において、プリンタドライバは、アプリケーションからの描画データをプリンタドライバに依存しない画像データに変換することになる。これにより、中間ファイル記憶部１１３は、プリンタドライバによって変換された、プリンタドライバに依存しない画像データを、印刷設定情報とともに記憶する。
【００２７】
制御部１２０は、制御プログラム、各種の処理手順等を規定したプログラム及び所要データを格納するための内部メモリを有する。かかる制御部１２０には、登録部１２１と、判定部１２２と、生成部１２３と、プラグイン実行部１２４と、出力部１２５とが含まれる。また、制御部１２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路、又は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路である。
【００２８】
登録部１２１は、プラグインのワークフロー設定を行ない、ライブラリが組み合わされたプラグインをプラグイン群１１２に登録する。ワークフロー設定を行なうために、登録部１２１は、ワークフロー登録部１２１ａと、プラグイン属性登録部１２１ｂと、ルール登録部１２１ｃとを有する。プラグインの登録は、対象のアイコンがクリック操作されたことをトリガとして、以下に説明する画面が起動する。
【００２９】
図６は、ワークフロー設定画面の例を示す図である。例えば、図６に示すように、ワークフロー設定画面では、上段に配置された利用可能なプラグイン一覧から選択されたプラグインが下段に追加され、下段に追加されたプラグインはその順序の変更が可能である。そして、「ＯＫ」ボタンが押下されると、ワークフロー登録部１２１ａは、印刷の処理順序に関する情報を含む印刷ワークフローを、ワークフロー定義ファイルとしてプラグイン群１１２に登録する。
【００３０】
また、下段に追加された各プラグインに対しては、「属性」ボタンが押下されることにより、属性及びルール設定を行なうことができる。そして、「ＯＫ」ボタンが押下されると、プラグイン属性登録部１２１ｂは、プラグインの属性に関する情報を含むプラグイン属性を、プラグイン属性ファイルとしてプラグイン群１１２に登録する。同様に、ルール登録部１２１ｃは、印刷の条件又は処理に関する情報を含む印刷ルールを、印刷ルールファイルとしてプラグイン群１１２に登録する。これらのほか、ワークフロー設定画面では、デフォルトの出力先プリンタを表す「デフォルトプリンタ」の設定を行なうことができる。そして、「ＯＫ」ボタンが押下されると、ワークフロー登録部１２１ａは、印刷の出力先に関する情報を含む印刷ワークフローを、ワークフロー定義ファイルとしてプラグイン群１１２に登録する。
【００３１】
このようにして、プラグイン群１１２には、登録部１２１による処理により、各プラグインそれぞれの１つのワークフロー定義ファイルに対して、複数のプラグイン属性ファイルと、複数の印刷ルールファイルとが登録される。なお、図６において、下段への追加、下段からの削除、又は、下段における順序の変更等は、例えば、対象項目選択後の上下ボタンの押下や、マウス等の入力装置のドラッグ＆ドロップ操作等により実行される。
【００３２】
判定部１２２は、プラグインに対して、印刷処理の実行可否を判定する。例えば、判定部１２２は、登録部１２１によって登録されたプラグインのワークフローごとに、処理順序や印刷設定に矛盾が生じていないか否かを判定することにより、該プラグインの実行可否を判定する。例を挙げると、判定部１２２は、カラー設定変更処理を行なうプラグインが複数存在するか否か、両面設定変更処理を行なうプラグインが複数存在するか否か、プリンタ設定変更処理を行なうプラグインが複数存在するか否か、指定される出力先プリンタの機能で印刷が実現可能か否か、各種設定の順序に矛盾があるか否か、等を判定する。判定部１２２によって印刷の実行が不可であると判定された場合には、実行が不可となった要因がわかる警告メッセージ等を出力させ、プラグインの登録を再度行なうように促す。すなわち、登録部１２１は、判定部１２２によって実行可能であると判定されたプラグインのみを登録することになる。
【００３３】
生成部１２３は、中間ファイルを生成する。例えば、生成部１２３は、情報処理装置１００上で動作するアプリケーションによって印刷が行なわれる場合に、ユーザに選択された仮想プリンタを介して生成された印刷対象の画像データと該画像データに対する印刷設定情報とを含む中間ファイルを生成する。ここで、印刷のワークフローは仮想プリンタに応じて固定で決められており、ユーザによって仮想プリンタが選択されたときに、どのプラグインを実行するかが決まる。そして、生成部１２３は、生成した中間ファイルを中間ファイル記憶部１１３に格納する。このようにして生成された中間ファイルに含まれる画像データは、特定のプリンタドライバに依存しない画像データに変換されているため、任意のプリンタでの出力が可能となる。
【００３４】
プラグイン実行部１２４は、プラグインを実行する。例えば、プラグイン実行部１２４は、プラグイン群１１２に記憶されたプラグインのワークフロー定義ファイル、プラグイン属性ファイル及び印刷ルールファイルに基づいてプラグインを実行する。このとき、プラグイン実行部１２４は、中間ファイル記憶部１１３に記憶された中間ファイルの印刷設定情報に、実行したプラグインによる印刷設定を反映する。
【００３５】
出力部１２５は、中間ファイルを出力先のプリンタに出力する。例えば、出力部１２５は、プラグイン実行部１２４によるプラグインの実行で印刷設定が反映された印刷設定情報と、印刷対象の画像データとを含む中間ファイルを、出力先のプリンタに出力する。また、出力部１２５による中間ファイルの出力と並行して、プラグイン実行部１２４は、プラグインを実行する場合がある。すなわち、プラグイン実行部１２４は、中間ファイルに含まれる画像データがプリンタで印刷されるときにも、プラグインを実行する場合がある。
【００３６】
［実施例１に係る情報処理装置の全体処理フロー］
次に、図７を用いて、実施例１に係る情報処理装置１００による全体処理の流れについて説明する。図７は、実施例１に係る情報処理装置１００による全体処理の流れの例を示すフローチャートである。
【００３７】
例えば、図７に示すように、情報処理装置１００は、印刷要求を受け付けたか否か（ステップＳ１０１）、又は、ワークフロー設定要求を受け付けたか否か（ステップＳ１０２）を判定する。このとき、登録部１２１は、ワークフロー設定要求を受け付けたと判定された場合に（ステップＳ１０２肯定）、ワークフロー設定画面での設定をもとにプラグインを登録する（ステップＳ１０３）。一方、ワークフロー設定要求を受け付けていないと判定された場合に（ステップＳ１０２否定）、情報処理装置１００は、ステップＳ１０１又はステップＳ１０２の処理を再度実行する。
【００３８】
また、判定部１２２は、登録部１２１によって登録されたプラグインによる印刷の実行可否を判定する（ステップＳ１０４）。そして、判定部１２２によって印刷の実行が不可であると判定された場合に（ステップＳ１０５否定）、登録部１２１は、ワークフロー設定画面での設定をもとにしたプラグインの登録を再度行なう（ステップＳ１０３）。一方、判定部１２２によって印刷の実行が可能であると判定された場合に（ステップＳ１０５肯定）、情報処理装置１００は、ステップＳ１０１又はステップＳ１０２の処理を再度実行する。
【００３９】
また、印刷要求を受け付けたと判定された場合に（ステップＳ１０１肯定）、生成部１２３は、印刷対象の画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを生成する（ステップＳ１０６）。また、プラグイン実行部１２４は、プラグインを実行して、生成部１２３によって生成された印刷設定情報に、実行したプラグインによる印刷設定を反映する（ステップＳ１０７）。また、出力部１２５は、プラグイン実行部１２４によって実行されたプラグインによる印刷設定が反映された印刷設定情報と、印刷対象の画像データとを含む中間ファイルを出力先のプリンタへ出力する（ステップＳ１０８）。なお、中間ファイルの出力時にもプラグインが実行されることもある。また、ステップＳ１０８の処理後、情報処理装置１００は、ステップＳ１０１又はステップＳ１０２の処理を再度実行する。
【００４０】
[実施例１に係る印刷実行可否判定処理フロー]
次に、図８を用いて、実施例１に係る印刷実行可否判定処理の流れについて説明する。図８は、実施例１に係る印刷実行可否判定処理の流れの例を示すフローチャートである。なお、印刷実行可否判定処理とは、主に、図７に示したステップＳ１０４における処理を指す。
【００４１】
例えば、図８に示すように、判定部１２２は、登録部１２１によって登録されたプラグインのプラグイン属性ファイル及び印刷ルールファイルにアクセスする（ステップＳ２０１）。そして、判定部１２２は、カラー印刷設定の変更処理を実行するプラグインが複数存在するか否かを判定する（ステップＳ２０２）。このとき、判定部１２２は、カラー印刷設定の変更処理を実行するプラグインが複数存在すると判定した場合に（ステップＳ２０２肯定）、警告メッセージである「メッセージ１」を表示する（ステップＳ２０８）。
【００４２】
一方、判定部１２２は、カラー印刷設定の変更処理を実行するプラグインが複数存在しないと判定した場合に（ステップＳ２０２否定）、画面設定の変更処理を実行するプラグインが複数存在するか否かを判定する（ステップＳ２０３）。このとき、判定部１２２は、画面設定の変更処理を実行するプラグインが複数存在すると判定した場合に（ステップＳ２０３肯定）、警告メッセージである「メッセージ１」を表示する（ステップＳ２０８）。
【００４３】
一方、判定部１２２は、画面設定の変更処理を実行するプラグインが複数存在しないと判定した場合に（ステップＳ２０３否定）、プリンタ設定の変更処理を実行するプラグインが複数存在するか否かを判定する（ステップＳ２０４）。このとき、判定部１２２は、プリンタ設定の変更処理を実行するプラグインが複数存在すると判定した場合に（ステップＳ２０４肯定）、警告メッセージである「メッセージ２」を表示する（ステップＳ２０９）。
【００４４】
一方、判定部１２２は、プリンタ設定の変更処理を実行するプラグインが複数存在しないと判定した場合に（ステップＳ２０４否定）、指定されたプリンタから該プリンタの印刷処理能力を取得する（ステップＳ２０５）。そして、判定部１２２は、プラグインで設定された印刷設定を、指定されたプリンタで実現することが可能であるか否かを判定する（ステップＳ２０６）。このとき、判定部１２２は、プラグインで設定された印刷機能が指定されたプリンタになく、実現不可能であると判定した場合に（ステップＳ２０６否定）、警告メッセージである「メッセージ３」を表示する（ステップＳ２１０）。
【００４５】
一方、判定部１２２は、実現可能であると判定した場合に（ステップＳ２０６肯定）、プラグインのワークフローにおける各処理の順序が妥当であるか否かを判定する（ステップＳ２０７）。このとき、判定部１２２は、プレビュー機能の設定が印刷設定変更又は出力先変更よりも前に設定されている等、プラグインのワークフローにおける各処理の順序が妥当でないと判定した場合に（ステップＳ２０７否定）、警告メッセージである「メッセージ４」を表示する（ステップＳ２１１）。
【００４６】
ここで、図９を用いて、印刷実行可否判定処理における警告メッセージの内容について説明する。図９は、印刷実行可否判定処理における警告メッセージの内容の例を示す図である。
【００４７】
例えば、図９に示すように、「メッセージ１」は、ある印刷設定が複数のプラグインで設定されている場合に表示されるメッセージであり、これにより、ユーザの意図しない出力結果になってしまう可能性があるため、設定を確認するように促すものである。また、「メッセージ２」は、出力先となるプリンタが複数のプラグインで設定されている場合に表示されるメッセージであり、これにより、ユーザの意図しない出力先に出力される可能性があるため、設定を確認するように促すものである。
【００４８】
また、「メッセージ３」は、指定されたプリンタの能力では設定された印刷設定を実現することができない場合に表示されるメッセージであり、これにより、ユーザの意図しない出力結果になってしまう可能性があるため、設定を確認するように促すものである。また、「メッセージ４」は、プレビュー表示後に印刷設定変更又は出力先設定変更が設定されている場合に表示されるメッセージであり、これにより、出力結果を視覚的に確認したプレビュー表示後に、該出力結果とは異なる出力結果や出力先への出力が行なわれる可能性があるため、設定を確認するように促すものである。
【００４９】
[実施例１に係る印刷処理フロー]
次に、図１０を用いて、実施例１に係る印刷処理の流れについて説明する。図１０は、実施例１に係る印刷処理の流れの例を示すフローチャートである。なお、印刷処理とは、図７に示したステップＳ１０１、ステップＳ１０６〜ステップＳ１０８における処理を指す。
【００５０】
例えば、図１０に示すように、生成部１２３は、印刷要求が受け付けられた場合に（ステップＳ３０１肯定）、仮想プリンタを介して生成された印刷対象の画像データと、該画像データに対する印刷設定情報とを含む中間ファイルを生成する（ステップＳ３０２）。また、プラグイン実行部１２４は、仮想プリンタに応じて固定で決められたプラグインに、印刷の出力前に設定しておく印刷設定のプラグインを表す編集プラグインが有るか否かを判定する（ステップＳ３０３）。
【００５１】
このとき、プラグイン実行部１２４は、編集プラグインが有ると判定した場合に（ステップＳ３０３肯定）、該編集プラグインの処理を実行する（ステップＳ３０４）。編集プラグインの処理実行毎に、プラグイン実行部１２４は、中間ファイルの印刷設定情報に、実行された編集プラグインによる印刷設定を反映していく。そして、プラグイン実行部１２４は、未処理のプラグインが有るか否かを判定する（ステップＳ３０５）。かかる未処理のプラグインとは、編集プラグインと、後述する出力プラグインとの両方のプラグインを指す。このとき、プラグイン実行部１２４は、未処理のプラグインが有ると判定した場合に（ステップＳ３０５肯定）、ステップＳ３０３の処理を再度実行する。一方、プラグイン実行部１２４は、編集プラグインがないと判定した場合（ステップＳ３０３否定）、又は、未処理のプラグインがないと判定した場合に（ステップＳ３０５否定）、ステップＳ３０６の処理を実行する。これらにより、全ての編集プラグインの処理が実行されたときには、中間ファイルの印刷設定情報に、実行された編集プラグインによる印刷設定が全て反映されることになる。
【００５２】
続いて、プラグイン実行部１２４は、中間ファイルの出力先のプリンタが決定していないと判定した場合に（ステップＳ３０６否定）、デフォルトで設定されるプリンタを出力先として設定する（ステップＳ３０７）。一方、プラグイン実行部１２４は、中間ファイルの出力先のプリンタが決定していると判定した場合に（ステップＳ３０６肯定）、ステップＳ３０８の処理を実行する。
【００５３】
その後、プラグイン実行部１２４は、プリンタでの印刷時に実行されるプラグインを表す出力プラグインが有るか否かを判定する（ステップＳ３０８）。このとき、出力プラグインがないと判定された場合に（ステップＳ３０８否定）、出力部１２５は、出力先のプリンタに中間ファイルを出力して印刷の指示を行なう（ステップＳ３０９）。ステップＳ３０８において出力プラグインがないと判定される場合とは、ステップＳ３０３での１回目の処理において編集プラグインがないと判定された場合や、ステップＳ３０５において未処理のプラグインがないと判定された場合等が該当する。但し、ステップＳ３０３での１回目の処理において編集プラグインがないと判定された場合であっても、出力プラグインがないとは限られない。
【００５４】
一方、プラグイン実行部１２４は、出力プラグインが有ると判定した場合に（ステップＳ３０８肯定）、該出力プラグインの処理を実行する（ステップＳ３１０）とともに、出力部１２５を介して、出力先のプリンタに中間ファイルを出力して印刷の指示を行なう（ステップＳ３０９）。また、プラグイン実行部１２４は、任意のタイミングにおいて、未処理の出力プラグインが有るか否かを判定する（ステップＳ３１１）。任意のタイミングとは、例えば、ある出力プラグインの処理が終了した場合である。
【００５５】
このとき、プラグイン実行部１２４は、未処理の出力プラグインが有ると判定した場合に（ステップＳ３１１肯定）、該出力プラグインの処理を実行する（ステップＳ３１０）とともに、出力部１２５を介して、出力先のプリンタに中間ファイルを出力して印刷の指示を行なう（ステップＳ３０９）。一方、プラグイン実行部１２４は、未処理の出力プラグインがないと判定した場合に（ステップＳ３１１否定）、出力先のプリンタでの印刷が終了していれば処理を終了する。すなわち、出力プラグインは、プリンタによる印刷処理と並行して実行されるものであり、印刷処理の間、通しで実行されるものと、順次実行されるものとがある。通しで実行される出力プラグインは、例えば、印刷処理が正常に行なわれているかを監視する出力プラグイン等である。また、順次実行される出力プラグインは、例えば、印刷処理が何らかの要因で止まってしまった場合や、特定のデータだけを異なるプリンタに切り換えて出力させるような場合等に、他のプリンタに印刷処理を行なわせるための出力プラグイン等である。
【００５６】
[プラグインによる処理]
次に、図１１Ａ〜図１４を用いて、プラグインによる処理について説明する。図１１Ａ及び図１１Ｂは、ジョブ編集ライブラリ１１１ａ、印刷設定ライブラリ１１１ｂ、イメージ生成ライブラリ１１１ｃ及び出力制御ライブラリ１１１ｅを利用したプラグインによる処理例を示すシーケンス図である。また、図１２Ａは、印刷設定の変更が反映された印刷プレビュー画面の例を示す図である。また、図１２Ｂは、ジョブ編集が反映された印刷プレビュー画面の例を示す図である。また、図１３は、印刷設定ライブラリ１１１ｂ、データアクセスライブラリ１１１ｄ及び出力制御ライブラリ１１１ｅを利用したプラグインによる処理例を示すシーケンス図である。また、図１４は、出力制御ライブラリ１１１ｅを利用したプラグインによる処理例を示すシーケンス図である。
【００５７】
（プラグイン処理例１）
プラグイン処理例１では、１つのプラグインにて複数のライブラリを利用して、複数の印刷機能を適用する。例えば、図１１Ａ及び図１１Ｂに示すように、プラグイン実行部１２４は、プラグインＡ１１２ａを起動する（ステップＳ４０１）。これにより、プラグインＡ１１２ａは、画面を起動し、ダイアログを表示する（ステップＳ４０２）。また、プラグイン実行部１２４は、プラグインＡ１１２ａの実行により、印刷設定ライブラリ１１１ｂを利用して、現在設定されている印刷設定情報、及び、印刷設定可能な設定値を取得する（ステップＳ４０３〜ステップＳ４０５）。
【００５８】
また、プラグインＡ１１２ａは、出力結果を表すプレビューイメージファイルを取得する（ステップＳ４０６）。これにより、プラグイン実行部１２４は、イメージ生成ライブラリ１１１ｃによって生成及び取得された画像データを取得する（ステップＳ４０７，ステップＳ４０８）。また、プラグイン実行部１２４は、プラグインＡ１１２ａの実行により、ジョブ編集ライブラリを用いて、印刷対象の印刷ジョブ名とジョブの順番とを含むジョブ情報を取得する（ステップＳ４０９〜ステップＳ４１１）。
【００５９】
また、プラグインＡ１１２ａは、出力制御ライブラリ１１１ｅを用いて、論理プリンタ又は物理プリンタのうち、出力可能なプリンタを検索し、出力可能なプリンタの情報（一覧）を取得する（ステップＳ４１２，ステップＳ４１３）。なお、印刷設定情報の取得、プレビューイメージの取得、ジョブ情報の取得及び出力可能なプリンタの情報の取得等の処理結果は、起動されたダイアログに反映される。また、画像の起動、印刷設定情報の取得、プレビューイメージの取得、ジョブ情報の取得及び出力可能なプリンタの情報の取得の処理は、非同期に行なわれても良い。
【００６０】
また、ユーザ操作によりダイアログを介して印刷設定の変更指示を受け付けると、プラグイン実行部１２４は、プラグインＡ１１２ａの実行により、印刷設定ライブラリ１１１ｂを用いて、印刷設定情報の変更を行なう（ステップＳ４１４〜ステップＳ４１６）。また、プラグインＡ１１２ａは、プレビューイメージファイルを取得する（ステップＳ４１７）。これにより、プラグイン実行部１２４は、イメージ生成ライブラリ１１１ｃによって生成及び取得された画像データを取得する（ステップＳ４１８，ステップＳ４１９）。また、プラグインＡ１１２ａは、画面を更新し、印刷設定やプレビューイメージを画面に反映する（ステップＳ４２０）。これらにより、図１２Ａに示すように、印刷のプレビュー画面は、印刷設定やプレビューイメージが反映されたものとなる。
【００６１】
また、ユーザ操作によりダイアログを介してジョブの編集指示を受け付けると、プラグイン実行部１２４は、プラグインＡ１１２ａの実行により、ジョブ編集ライブラリ１１１ａを用いて、ジョブの編集を行なう（ステップＳ４２１〜ステップＳ４２３）。かかるジョブ編集により、プラグイン実行部１２４は、管理しているジョブ情報を更新する。また、プラグインＡ１１２ａは、プレビューイメージファイルを取得する（ステップＳ４２４）。これにより、プラグイン実行部１２４は、イメージ生成ライブラリ１１１ｃによって生成及び取得された画像データを取得する（ステップＳ４２５，ステップＳ４２６）。また、プラグインＡ１１２ａは、画面を更新し、ジョブ編集やプレビューイメージを画面に反映する（ステップＳ４２７）。これらにより、図１２Ｂに示すように、印刷のプレビュー画面は、ジョブ編集やプレビューイメージが反映されたものとなる。
【００６２】
また、ユーザ操作によりダイアログを介して出力先の設定指示を受け付けると、プラグイン実行部１２４は、プラグインＡ１１２ａの実行により、出力制御ライブラリ１１１ｅを用いて、出力先の設定を行なう（ステップＳ４２８〜ステップＳ４３０）。かかる出力先設定により、プラグイン実行部１２４は、管理している出力先情報を更新する。また、プラグインＡ１１２ａは、画面を更新し、出力先変更結果を画面に反映する（ステップＳ４３１）。また、ユーザによる印刷指示を受け付けると、プラグインＡ１１２ａは、出力部１２５を介して、中間ファイルを出力先のプリンタへ出力する（ステップＳ４３２）。なお、印刷設定の変更、ジョブの編集、出力先の設定は、上記の順番に限られるものではない。
【００６３】
（プラグイン処理例２）
プラグイン処理例２では、複数の編集プラグインを順次起動し、予め設定されたルールの内容に基づき、印刷設定を変更する。かかるルールは、下記の内容を定義している。
ルール１：
テキスト中に文字列「○○○」が存在した場合に印刷設定を「□□□」に変更する
ルール２：
出力先を「×××」に設定する
また、プラグインＢ１１２ｂは、ルール１に従った処理を実行し、プラグインＣ１１２ｃは、ルール２に従った処理を実行する。なお、プラグインは、プラグインＢ１１２ｂ、プラグインＣ１１２ｃの順序で処理が行なわれるものとする。
【００６４】
例えば、図１３に示すように、プラグイン実行部１２４は、プラグインＢ１１２ｂを起動する（ステップＳ５０１）。これにより、プラグインＢ１１２ｂは、印刷ルールファイルを確認する（ステップＳ５０２）。また、プラグイン実行部１２４は、プラグインＢ１１２ｂの実行により、データアクセスライブラリ１１１ｄを利用して、テキスト情報を取得し、データを解析して、対象の印刷データにキーワードが存在するか否かをチェックする（ステップＳ５０３〜ステップＳ５０５）。
【００６５】
また、プラグイン実行部１２４は、キーワードが存在する場合に、プラグインＢ１１２ｂの実行により、印刷設定ライブラリ１１１ｂを利用し、印刷設定情報の変更要求を受け付けて、該印刷設定情報を更新する（ステップＳ５０６〜ステップＳ５０８）。ここで、プラグインＢ１１２ｂは、処理を終了する。
【００６６】
また、プラグイン実行部１２４は、プラグインＢ１１２ｂの処理終了の旨を受け付けると、プラグインＣ１１２ｃを起動する（ステップＳ５０９）。これにより、プラグインＣ１１２ｃは、印刷ルールファイルを確認する（ステップＳ５１０）。また、プラグインＣ１１２ｃは、出力制御ライブラリ１１１ｅを利用して、出力先を設定する（ステップＳ５１１，ステップＳ５１２）。ここで、プラグインＣ１１２ｃは、処理を終了する。
【００６７】
（プラグイン処理例３）
プラグイン処理例３では、出力プラグインにて印刷ジョブの状態を監視し、出力しているプリンタでエラーが発生した場合に、ユーザに対してポップアップウィンドウ等により通知する。また、ポップアップウィンドウには、印刷の中止を指示するボタン等が搭載されている。
【００６８】
例えば、図１４に示すように、プラグイン実行部１２４は、プラグインＤ１１２ｄを起動する（ステップＳ６０１）。これにより、プラグインＤ１１２ｄは、出力制御ライブラリ１１１ｅを利用して、対象となる印刷のジョブの状態を取得する（ステップＳ６０２，ステップＳ６０３）。その後、出力先のプリンタに何かしらのエラーが発生した場合に、プラグインＤ１１２ｄは、出力制御ライブラリ１１１ｅを利用して、出力部１２５、プリンタ３０に対して印刷の一時停止要求を出力する（ステップＳ６０４，ステップＳ６０５）。ここで、プラグインＤ１１２ｄは、エラーの発生を通知するポップアップウィンドウを表示する。
【００６９】
また、ユーザ操作によりポップアップウィンドウを介して印刷の中止要求を受け付けると、プラグインＤ１１２ｄは、出力制御ライブラリ１１１ｅを利用して、出力部１２５、プリンタ３０に対して印刷の中止要求を出力する（ステップＳ６０６，ステップＳ６０７）。ここで、プラグインＤ１１２ｄは、処理を終了する。
【００７０】
［実施例１による効果］
上述したように、情報処理装置１００は、印刷処理における各種機能のライブラリを組み合わせたプラグインを登録し、該プラグインを実行して出力先のプリンタに中間ファイルを出力するので、印刷設定を柔軟に行なうことができるとともに、印刷設定を反映した印刷を容易に行なうことができる。また、情報処理装置１００は、プラグインの登録時に、該プラグインによる印刷の実行可否を判定するので、印刷の際にユーザが意図しない出力結果になることを抑止することができる。
【実施例２】
【００７１】
さて、これまで本発明に係る情報処理装置１００の実施例について説明したが、上述した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、（１）構成、（２）プログラムについて異なる実施例を説明する。
【００７２】
（１）構成
上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメタ等を含む情報は、特記する場合を除いて任意に変更することができる。例えば、プラグインの部品として利用されるライブラリは、上述してきたものに限られるものではなく、これら以外の各種ライブラリを利用するようにしても良い。
【００７３】
また、図示した情報処理装置１００の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散又は統合することができる。例えば、プラグイン実行部１２４は、ジョブや中間ファイルを管理する「管理部」と、プラグインに係る処理を実行する「プラグイン処理部」とに分散しても良い。また、例えば、登録部１２１及び判定部１２２の機能は印刷システム１０の管理者のみが利用するようにして、生成部１２３、プラグイン実行部１２４及び出力部１２５の機能はユーザのみが利用するようにしても良い。
【００７４】
また、情報処理装置１００で実現される各種機能は、異なる構成において実現されても良い。図１５は、画像形成装置で実現する例を説明する図である。かかる画像形成装置は、例えば、コピー機能、プリンタ機能、スキャナ機能又はファクシミリ機能のうち、少なくともプリンタ機能を有するＭＦＰである。例えば、画像形成装置では、サーバ装置を介して携帯端末装置等の端末装置からの要求を受け付けた場合に、情報処理装置１００の各機能を実行することにより、プラグインが実行される。但し、出力先の設定については、画像形成装置ではなく端末装置側で設定されるものとする。すなわち、画像形成装置は、１台ではなく複数台設置される場合がある。
【００７５】
（２）プログラム
図１６は、印刷処理プログラムがコンピュータを用いて実現されることを示す図である。例えば、図１６に示すように、情報処理装置１００としてのコンピュータ１０００は、バス１００９で接続された、ＣＰＵ１００１等の制御装置と、ＲＯＭ１００２やＲＡＭ１００３等の記憶装置と、ＨＤＤ（Hard  Disk  Drive）１００４、ディスクドライブ１００５等の外部記憶装置と、ディスプレイ１００６等の表示装置と、キーボード１００７やマウス１００８等の入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００７６】
情報処理装置１００で実行される印刷処理プログラムは、一つの様態として、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、情報処理装置１００で実行される印刷処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、情報処理装置１００で実行される印刷処理プログラムをインターネット等のネットワーク経由で提供又は配布するように構成しても良い。また、印刷処理プログラムを、ＲＯＭ等に予め組み込んで提供するように構成しても良い。
【００７７】
情報処理装置１００で実行される印刷処理プログラムは、上述した各部（登録部１２１、判定部１２２、生成部１２３、プラグイン実行部１２４、出力部１２５）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が記憶媒体から印刷処理プログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、登録部１２１、判定部１２２、生成部１２３、プラグイン実行部１２４、出力部１２５が主記憶装置上に生成されるようになっている。
【符号の説明】
【００７８】
１００  情報処理装置
１１０  記憶部
１１１  ライブラリ群
１１２  プラグイン群
１１３  中間ファイル記憶部
１２０  制御部
１２１  登録部
１２１ａ  ワークフロー登録部
１２１ｂ  プラグイン属性登録部
１２１ｃ  ルール登録部
１２２  判定部
１２３  生成部
１２４  プラグイン実行部
１２５  出力部
【先行技術文献】
【特許文献】
【００７９】
【特許文献１】特開２００６−２６０２４５号公報
【図１】
2013140423.tif 000003
【図２】
2013140423.tif 000004
【図３Ａ】
2013140423.tif 000005
【図３Ｂ】
2013140423.tif 000006
【図４Ａ】
2013140423.tif 000007
【図４Ｂ】
2013140423.tif 000008
【図５Ａ】
2013140423.tif 000009
【図５Ｂ】
2013140423.tif 000010
【図６】
2013140423.tif 000011
【図７】
2013140423.tif 000012
【図８】
2013140423.tif 000013
【図９】
2013140423.tif 000014
【図１０】
2013140423.tif 000015
【図１１Ａ】
2013140423.tif 000016
【図１１Ｂ】
2013140423.tif 000017
【図１２Ａ】
2013140423.tif 000018
【図１２Ｂ】
2013140423.tif 000019
【図１３】
2013140423.tif 000020
【図１４】
2013140423.tif 000021
【図１５】
2013140423.tif 000022
【図１６】
2013140423.tif 000023