(57)【特許請求の範囲】
【請求項１】
印刷設定情報から中間コマンドへの変換規則が定義された第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する中間コマンド生成手段と、
前記中間コマンドから画像形成装置が解釈可能な印刷コマンドへの変換規則が定義された第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する印刷コマンド生成手段と、
前記中間コマンドを利用する外部処理手段と、
前記外部処理手段と前記第一の定義データとの対応情報を記憶する第一の対応情報記憶手段と、
前記第一の対応情報記憶手段を用いて、第一の定義データ記憶手段に記録されている複数の前記第一の定義データより、前記外部処理手段に対応する前記第一の定義データを取得する第一の取得手段とを有し、
前記中間コマンド生成手段は、前記第一の取得手段によって取得された前記第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する情報処理装置。
【請求項２】
前記外部処理手段と前記第二の定義データとの対応情報を記憶する第二の対応情報記憶手段と、
前記第二の対応情報記憶手段を用いて、定義データ記憶手段に記録されている複数の前記第二の定義データより、前記外部処理手段に対応する前記第二の定義データを取得する第二の取得手段とを有し、
前記印刷コマンド生成手段は、前記第二の取得手段によって取得された前記第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する請求項１記載の情報処理装置。
【請求項３】
前記画像形成装置と前記第一の定義データとの対応情報を記憶する第三の対応情報記憶手段と、
前記第三の対応情報記憶手段を用いて、定義データ記憶手段に記録されている複数の前記第一の定義データより、印刷先として選択された前記画像形成装置に対応する前記第一の定義データを取得する第三の取得手段とを有し、
前記中間コマンド生成手段は、前記第三の取得手段によって取得された前記第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する請求項１又は２記載の情報処理装置。
【請求項４】
前記画像形成装置と前記第二の定義データとの対応情報を記憶する第四の対応情報記憶手段と、
前記第四の対応情報記憶手段を用いて、定義データ記憶手段に記録されている複数の前記第二の定義データより、印刷先として選択された前記画像形成装置に対応する前記第二の定義データを取得する第四の取得手段とを有し、
前記印刷コマンド生成手段は、前記第四の取得手段によって取得された前記第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
複数の前記第一の定義データを統合する第一の統合手段を有し、
前記中間コマンド生成手段は、統合された前記第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する請求項１乃至４いずれか一項記載の情報処理装置。
【請求項６】
複数の前記第二の定義データを統合する第二の統合手段を有し、
前記印刷コマンド生成手段は、統合された前記第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する請求項１乃至５いずれか一項記載の情報処理装置。
【請求項７】
印刷設定情報から中間コマンドへの変換規則が定義された第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する中間コマンド生成手順と、
前記中間コマンドから画像形成装置が解釈可能な印刷コマンドへの変換規則が定義された第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する印刷コマンド生成手順と、
前記中間コマンドを利用する外部処理手段と前記第一の定義データとの対応情報を記憶する第一の対応情報記憶手段を用いて、定義データ記憶手段に記録されている複数の前記第一の定義データより、前記外部処理手段に対応する前記第一の定義データを取得する第一の取得手順をコンピュータに実行させ、
前記中間コマンド生成手順は、前記第一の取得手順によって取得された前記第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する印刷制御プログラム。
【請求項８】
前記中間コマンドを利用する外部処理手段と前記第二の定義データとの対応情報を記憶する第二の対応情報記憶手段を用いて、定義データ記憶手段に記録されている複数の前記第二の定義データより、前記外部処理手段に対応する前記第二の定義データを取得する第二の取得手順を前記コンピュータに実行させ、
前記印刷コマンド生成手順は、前記第二の取得手順によって取得された前記第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する請求項７記載の印刷制御プログラム。
【請求項９】
前記画像形成装置と前記第一の定義データとの対応情報を記憶する第三の対応情報記憶手段を用いて、定義データ記憶手段に記録されている複数の前記第一の定義データより、印刷先として選択された前記画像形成装置に対応する前記第一の定義データを取得する第三の取得手順を前記コンピュータに実行させ、
前記中間コマンド生成手順は、前記第三の取得手順によって取得された前記第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する請求項７又は８記載の印刷制御プログラム。
【請求項１０】
前記画像形成装置と前記第二の定義データとの対応情報を記憶する第四の対応情報記憶手段を用いて、定義データ記憶手段に記録されている複数の前記第二の定義データより、印刷先として選択された前記画像形成装置に対応する前記第二の定義データを取得する第四の取得手順を前記コンピュータに実行させ、
前記印刷コマンド生成手順は、前記第四の取得手順によって取得された前記第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する請求項７乃至９いずれか一項記載の印刷制御プログラム。
【請求項１１】
複数の前記第一の定義データを統合する第一の統合手順を前記コンピュータに実行させ、
前記中間コマンド生成手順は、統合された前記第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する請求項７乃至１０いずれか一項記載の印刷制御プログラム。
【請求項１２】
複数の前記第二の定義データを統合する第二の統合手順を前記コンピュータに実行させ、
前記印刷コマンド生成手順は、統合された前記第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する請求項７乃至１１いずれか一項記載の印刷制御プログラム。
【請求項１３】
請求項７乃至１２いずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
請求項７乃至１２いずれか一項記載のプログラムを記録した画像形成装置。
【請求項１５】
請求項７乃至１２いずれか一項記載のプログラムと、前記印刷コマンドに基づいて印刷処理を実行する画像形成装置とを有する印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷制御プログラム、記録媒体、画像形成装置、及び印刷システムに関し、特に印刷データを生成する情報処理装置、印刷制御プログラム、記録媒体、画像形成装置、及び印刷システムに関する。
【背景技術】
【０００２】
プリンタドライバは、印刷設定をプリンタへの印刷コマンドとしてＰＪＬ（Printer Job Language）に変換する。従来、印刷設定から印刷コマンドへの変換の過程において、中間コマンドを生成するプリンタドライバが知られている（例えば、特許文献１）。中間コマンドを処理可能な外部モジュールをプリンタドライバと連携させることで、印刷プレビューを表示させたり、印刷コマンドを変更、追加、又は削除したりといった付加価値を提供することができる。
【０００３】
なお、印刷コマンドは、プリンタの機能に依存している。また、中間コマンドは、印刷コマンドに依存している。したがって、プリンタの機能が拡張されると印刷コマンド（ＰＪＬ）も拡張される。そうすると、拡張された印刷コマンドに対応可能なように中間コマンドを拡張する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のプリンタドライバにおける中間コマンド生成機能は、固定的にプリンタドライバに組み込まれていたため、外部の仕様変更に対して柔軟性が乏しいという問題があった。
【０００５】
例えば、プリンタの機能が拡張される場合、拡張された機能に対応した中間コマンドを生成し、当該中間コマンドに基づいて印刷コマンドを出力できるようにプリンタドライバを作り直し、インストールし直さなくてはならなかった。
【０００６】
また、外部モジュールの機能拡張に合わせて中間コマンドを拡張する必要がある場合も、プリンタドライバを作り直し、インストールし直さなくてはならなかった。
【０００７】
更に、新たな外部モジュールとの連携のために、当該新たな外部モジュールに固有のデータ形式に対応する場合においても、プリンタドライバを作り直し、インストールし直さなければならなかった。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、外部の仕様変更に対するプリンタドライバの柔軟性を向上させることのできる情報処理装置、印刷制御プログラム、記録媒体、画像形成装置、及び印刷システムの提供を目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明は、印刷設定情報から中間コマンドへの変換規則が定義された第一の定義データに基づいて、前記印刷設定情報を前記中間コマンドに変換する中間コマンド生成手段と、前記中間コマンドから画像形成装置が解釈可能な印刷コマンドへの変換規則が定義された第二の定義データに基づいて、前記中間コマンドを前記印刷コマンドに変換する印刷コマンド生成手段とを有する。
【００１０】
このような情報処理装置では、外部の仕様変更に対するプリンタドライバの柔軟性を向上させることができる。
【発明の効果】
【００１１】
本発明によれば、外部の仕様変更に対するプリンタドライバの柔軟性を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】第一の実施の形態における印刷システムの構成例を示す図である。
【図２】第一の実施の形態における情報処理装置のハードウェア構成例を示す図である。
【図３】前処理部及び後処理部の処理手順を説明するためのフローチャートである。
【図４】中間コマンド生成部及び中間コマンド生成スクリプトマージ部によって実行される処理手順を説明するためのフローチャートである。
【図５】ＤＥＶＭＯＤＥ構造体の構成例を示す図である。
【図６】中間コマンド生成スクリプトの定義例を示す図である。
【図７】ＤＥＶＭＯＤＥ構造体から中間データへの変換結果の例を示す図である。
【図８】印刷コマンド生成部及び印刷コマンド生成スクリプトマージ部によって実行される処理手順を説明するためのフローチャートである。
【図９】印刷コマンド生成スクリプトの定義例を示す図である。
【図１０】中間データから印刷データへの変換結果の例を示す図である。
【図１１】プラグイン用の中間コマンド生成スクリプトの定義例を示す図である。
【図１２】マージされた中間コマンド生成スクリプトの実行によるＤＥＶＭＯＤＥ構造体から中間データへの変換結果の例を示す図である。
【図１３】プラグイン用の印刷コマンド生成スクリプトの定義例を示す図である。
【図１４】マージされた印刷コマンド生成スクリプトの実行による中間データから印刷データへの変換結果の例を示す図である。
【図１５】第二の実施の形態における印刷システムの構成例を示す図である。
【図１６】第三の実施の形態における印刷システムの構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第一の実施の形態における印刷システムの構成例を示す図である。同図の印刷システム１において、情報処理装置１０及びプリンタ２０は、ＬＡＮ（Local Area Network）等のネットワーク（有線又は無線の別は問わない。）を介して通信可能とされている。なお、複数の情報処理装置１０又は複数のプリンタ２０が印刷システム１に含まれていてもよい。
【００１４】
同図において、情報処理装置１０は、アプリケーション１１、ＧＤＩ１２、プリンタドライバ１３、スプーラ１４、ポートモニタ１５、及び外部モジュール１６等を有する。
【００１５】
アプリケーション１１は、例えば、ユーザによる対話的な操作に応じ、印刷対象とされる文書データを生成するプログラムである。ＧＤＩ１２は、いわゆるＧＤＩ（Graphic Device Interface）であり、非図示のＯＳ（例えば、Ｗｉｎｄｏｗｓ（登録商標））によって提供されるグラフィック関数の集合である。アプリケーション１１は、印刷指示の入力に応じ、ＧＤＩ１２を介して、プリンタドライバ１３への印刷要求を入力する。ＧＤＩ１２は、プリンタドライバ１３が備えるＤＤＩ（Device Driver Interface）と呼ばれるインタフェースを介して、アプリケーション１１からの印刷要求をプリンタドライバ１３に入力する。
【００１６】
プリンタドライバ１３は、印刷制御プログラムの一例であり、ＤＤＩの呼び出しに応じ、印刷設定情報に応じた印刷データを生成する。すなわち、アプリケーション１１による文書データは、ＧＤＩ１２を介してプリンタドライバ１３によって印刷データに変換される。印刷データとは、プリンタ２０が解釈可能なデータをいい、ＰＪＬ（Printer Job Language）によって記述された印刷コマンド（ジョブ制御コマンド）や描画データ等を含む。
【００１７】
スプーラ１４は、印刷データを一時的に保存する記憶領域である。ポートモニタ１５は、スプーラ１４に保存された印刷データ（ＰＪＬデータ等）を、当該印刷データの印刷先に指定されているプリンタ２０に対して送信する。
【００１８】
外部モジュール１６は、外部処理手段の一例であり、プリンタドライバ１３が印刷データを生成する過程において生成する、中間コマンドを含むデータ（以下、「中間データ」という。）を利用する。例えば、外部モジュール１６は、中間データの表示機能（印刷プレビュー機能）や編集機能等を提供する。但し、外部モジュール１６による機能は、所定のものに限定されない。例えば、外部モジュール１６は、中間データを更に別形式のデータに変換し、変換後のデータを非図示のコンピュータシステムに提供してもよい。なお、中間コマンドは、プリンタ２０の機種に対して中立的な（非依存の）形式によるコマンドである。中間コマンドの斯かる中立性により、外部モジュール１６等をプリンタ２０の機種等に対して非依存とすることができる。
【００１９】
同図において、プリンタドライバ１３は、ＵＩ部１３１、前処理部１３２、中間コマンド生成部１３３、中間コマンド生成スクリプトマージ部１３４、後処理部１３５、印刷コマンド生成部１３６、印刷コマンド生成スクリプトマージ部１３７等を含む。
【００２０】
ＵＩ部１３１は、アプリケーション１１からの要求に応じ、印刷設定ダイアログを表示させる。印刷設定ダイアログは、印刷設定情報を設定させるための画面である。印刷設定情報は、印刷属性情報又は印刷条件とも呼ばれる情報であり、印刷態様に関する項目及びその値によって構成される。ＯＳとしてＷｉｎｄｏｗｓ（登録商標）を採用している場合、印刷設定ダイアログを介して設定された印刷設定情報は、ＤＥＶＭＯＤＥ構造体としてメモリ上に記録される。
【００２１】
前処理部１３２は、アプリケーション１１からＧＤＩ１２経由でＤＥＶＭＯＤＥ構造体を受け取り、中間コマンド生成部１３３によって生成される中間データをプリンタドライバ１３の後処理部１３５（２０４）へ出力する。
【００２２】
中間コマンド生成部１３３は、中間コマンド生成スクリプトのインタプリタである。すなわち、中間コマンド生成部１３３は、前処理部１３２からＤＥＶＭＯＤＥ構造体を受け取り、中間コマンド生成スクリプトファイル１７に記述されている中間コマンド生成スクリプトを実行することにより、ＤＥＶＭＯＤＥ構造体を中間コマンドに変換し、中間データを生成する。中間コマンド生成スクリプトとは、ＤＥＶＭＯＤＥ構造体から中間コマンドへの変換規則が定義されたテキスト形式のデータ（スクリプトプログラム）である。すなわち、本実施の形態において、ＤＥＶＭＯＤＥ構造体から中間コマンドへの変換規則（変換ロジック）は、プリンタドライバ１３にハードコーディングされているのではなく、プリンタドライバ１３の外部ファイルである中間コマンド生成スクリプトファイル１７においてスクリプト言語によって定義されている。
【００２３】
中間コマンド生成スクリプトマージ部１３４は、中間コマンド生成スクリプトファイル１７が複数有る場合に、複数の中間コマンド生成スクリプトを統合（マージ）して一つの中間コマンド生成スクリプトファイル１７を生成する。例えば、プリンタドライバ１３に対するプラグインがインストールされた場合、当該プラグインに付随する中間コマンド生成スクリプトファイル１７が追加されることにより、複数の中間コマンド生成スクリプトファイル１７が存在しうる。図１では、基本的な中間コマンド生成スクリプトが記述されている中間コマンド生成スクリプトファイル１７ａと、プラグイン用の中間コマンド生成スクリプトファイル１７ｂとが例示されている。
【００２４】
後処理部１３５は、前処理部１３２から中間データを受け取り、印刷コマンド生成部１３６によって生成される印刷データをスプーラ１４に出力する。
【００２５】
印刷コマンド生成部１３６は、印刷コマンド生成スクリプトのインタプリタである。すなわち、印刷コマンド生成部１３６は、後処理部１３５から中間データを受け取り、印刷コマンド生成スクリプトファイル１８に記述されている印刷コマンド生成スクリプトを実行することにより、中間コマンドを印刷コマンドに変換し、印刷データを生成する。印刷コマンド生成スクリプトとは、中間コマンドから印刷コマンドへの変換規則が定義されたテキスト形式のデータ（スクリプトプログラム）である。すなわち、本実施の形態において、中間コマンドから印刷コマンドへの変換規則（変換ロジック）は、プリンタドライバ１３にハードコーディングされているのではなく、プリンタドライバ１３の外部ファイルである印刷コマンド生成スクリプトファイル１８においてスクリプト言語によって定義されている。
【００２６】
印刷コマンド生成スクリプトマージ部１３７は、印刷コマンド生成スクリプトファイル１８が複数有る場合に、複数の印刷コマンド生成スクリプトを統合（マージ）して一つの印刷コマンド生成スクリプトファイル１８を生成する。例えば、プリンタドライバ１３に対するプラグインがインストールされた場合、当該プラグインに付随する印刷コマンド生成スクリプトファイル１８が追加されることにより、複数の印刷コマンド生成スクリプトファイル１８が存在しうる。図１では、基本的な印刷コマンド生成スクリプトが記述されている印刷コマンド生成スクリプトファイル１８ａと、プラグイン用の印刷コマンド生成スクリプトファイル１８ｂとが例示されている。
【００２７】
なお、外部モジュール１６が使用される場合、前処理部１３２は、中間データを外部モジュール１６に出力する。外部モジュール１６によって加工（編集）等された中間データは、後処理部１３５に出力される。すなわち、外部モジュール１６が使用される場合、前処理部１３２から出力される中間データは、直接的に後処理部１３５に入力されるのではなく、外部モジュール１６を経由して後処理部１３５に入力される。
【００２８】
また、図１において、中間コマンド生成部１３３、中間コマンド生成スクリプトマージ部１３４、印刷コマンド生成部１３６、及び印刷コマンド生成スクリプトマージ部１３７は、プリンタドライバ１３の一部を構成しているが、これら各部を、プリンタドライバ１３からは独立したプログラムモジュールとしてもよい。そうすることにより、スクリプト自体の仕様を拡張する場合、中間コマンド生成部１３３又は印刷コマンド生成部１３６に係るプログラムモジュールのみを置き換えることにより、当該拡張に対する柔軟性を高めることができる。
【００２９】
プリンタ２０は、画像形成装置の一例であり、一般的なプリンタである。但し、複合機等、印刷機能以外の機能をも有する機器がプリンタ２０として利用されてもよい。また、プリンタ２０の記憶装置には、プリンタドライバ１３が記録されていてもよい。情報処理装置１０におけるプリンタドライバ１３は、プリンタ２０よりダウンロードされてインストールされてもよい。
【００３０】
図２は、第一の実施の形態における情報処理装置のハードウェア構成例を示す図である。図２の情報処理装置１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５と、表示装置１０６と、入力装置１０７とを有する。
【００３１】
情報処理装置１０での処理を実現するプリンタドライバ１３等のプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。例えば、補助記憶装置１０２は、中間コマンド生成スクリプト１７や印刷コマンド生成スクリプト１８を記憶し、定義データ記憶手段の一例として機能する。
【００３２】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って情報処理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００３３】
以下、情報処理装置１０の処理手順について説明する。図３は、前処理部及び後処理部の処理手順を説明するためのフローチャートである。同図の処理手順の開始時点では、既に、アプリケーション１１のメニュー等を介して印刷指示が入力され、プリンタドライバ１３のＵＩ部１３１が表示させる印刷設定ダイアログにおいて、印刷設定情報が入力されていることとする。したがって、メモリ装置１０３に記憶されているＤＥＶＭＯＤＥ構造体には、印刷設定ダイアログにおいて設定された設定値等が格納されている。
【００３４】
印刷設定ダイアログにおいてＯＫボタンが押下された後、前処理部１３２は、アプリケーション１１よりＧＤＩ１２を介してＤＥＶＭＯＤＥ構造体を受け取る（Ｓ４０１）。続いて、前処理部１３２はＤＥＶＭＯＤＥ構造体を指定して中間データの生成を中間コマンド生成部１３３に要求する（Ｓ４０２）。続いて、前処理部１３２は、中間コマンド生成モジュールにより出力される中間データを受け取る（Ｓ４０３）。
【００３５】
続いて、前処理部１３２は、外部モジュール１６との連携の要否を判断する（Ｓ４０４）。当該連携の要否の判断は、例えば、レジストリ等の所定の記憶領域に外部モジュール１６のインストール情報が記録されているか否か等に基づいて行えばよい。すなわち、当該インストール情報が記録されている場合は連携要と判断し、当該インストール情報が記録されていない場合（すなわち、外部モジュール１６がインストールされていない場合）は、連携不要と判断すればよい。但し、当該判断基準は一例に過ぎない。したがって、他の判断基準によってステップＳ４０４の判断が行われてもよい。
【００３６】
連携要と判断した場合（Ｓ４０４でＹｅｓ）、前処理部１３２は、外部モジュール１６へ中間データを出力する（Ｓ４０５）。したがって、この場合、外部モジュール１６によって中間データが利用される。連携不要と判断した場合（Ｓ４０４でＮｏ）、前処理部１３２は、後処理部１３５へ中間データを出力する（Ｓ４０６）。
【００３７】
続いて、後処理部１３５は、中間データを受け取る。すなわち、外部モジュール１６と連携している場合、後処理部１３５は、外部モジュール１６より中間データを受け取る（Ｓ４０７）。外部モジュール１６と連携していない場合、後処理部１３５は、前処理部１３２より中間データを受け取る（Ｓ４０８）。
【００３８】
続いて、後処理部１３５は、中間データを指定して、印刷データの生成を印刷コマンド生成部１３６に要求する（Ｓ４０９）。続いて、後処理部１３５は、印刷コマンド生成部１３６によって生成される印刷データ（ＰＪＬデータ）を受け取る（Ｓ４１０）。続いて、後処理部１３５は、印刷データをスプーラ１４に出力する（Ｓ４１１）。その後、当該印刷データは、プリンタ２０に転送され、印刷される。
【００３９】
続いて、ステップＳ４０２における前処理部１３２からの中間データの生成要求に応じて中間コマンド生成部１３３及び中間コマンド生成スクリプトマージ部１３４によって実行される処理手順について説明する。
【００４０】
図４は、中間コマンド生成部及び中間コマンド生成スクリプトマージ部によって実行される処理手順を説明するためのフローチャートである。
【００４１】
中間コマンド生成部１３３は、ＤＥＶＭＯＤＥ構造体が指定された中間データの生成要求を前処理部１３２より受け付ける（Ｓ５０１）。
【００４２】
図５は、ＤＥＶＭＯＤＥ構造体の構成例を示す図である。同図では、ＤＥＶＭＯＤＥ構造体の一部の構成が表形式によって表現されている。当該表では、ＤＥＶＭＯＤＥ構造体の項目（メンバ変数）ごとに、項目名（メンバ変数名）、値、及び説明が示されている。説明の列より明らかなように、同図では、用紙方向（ｄｍＯｒｉｅｎｔａｔｉｏｎ）、文書サイズ（ｄｍＤｏｃｕｍｅｎｔＳｉｚｅ）、並びに印刷面及び開き方向（ｄｍＤｕｐｌｅｘ）について、値（設定値）の例が示されている。このように、ＤＥＶＭＯＤＥ構造体には、印刷設定情報を構成する項目ごとに設定値が格納されている。
【００４３】
続いて、中間コマンド生成部１３３は、中間コマンド生成スクリプトマージ部１３４に中間コマンド生成スクリプトファイル１７のマージを要求する（Ｓ５０２）。
【００４４】
中間コマンド生成スクリプトマージ部１３４は、補助記憶装置１０２の所定の記憶領域（例えば、フォルダ）内に予め保存されている中間コマンド生成スクリプトファイル１７の内容（中間コマンド生成スクリプト）を一つずつメモリ装置１０３に読み込む（Ｓ５０４）。
【００４５】
図６は、中間コマンド生成スクリプトの定義例を示す図である。同図の定義内容は、以下の通りである。
【００４６】
１〜２行目では、ＤＥＶＭＯＤＥ構造体のｄｍＯｒｉｅｎｔａｔｉｏｎ項目の値によって処理が分岐されている。すなわち、当該項目の値がＰｏｒｔｒａｉｔの場合は、ｉＰＪＬにｉＯＲＩＥＮＴＡＴＩＯＮコマンドを追加し、当該コマンドの値をＰＯＲＴＲＡＩＴとする。当該項目の値がＰｏｒｔｒａｉｔでない場合は、ｉＰＪＬにｉＯＲＩＥＮＴＡＴＩＯＮコマンドを追加し、当該コマンドの値をＬＡＮＤＳＣＡＰＥとする。なお、ｉＰＪＬは、中間データを示す変数である。したがって、ｉＰＪＬに＊＊＊＊＊＊を追加するとは、中間データに、＊＊＊＊＊＊に関する定義を追加することを意味する。
【００４７】
４〜８行目では、ＤＥＶＭＯＤＥ構造体のｄｍＤｏｃｕｍｅｎｔＳｉｚｅ項目の値によって処理が分岐されている。例えば、当該項目の値がＡ４の場合は、ｉＰＪＬにｉＡＰＬＰＡＧＥＳＩＺＥコマンドを追加し、当該コマンドの値をＡ４とする。当該項目の値が１２ｘ１８の場合は、ｉＰＪＬにｉＡＰＬＰＡＧＥＳＩＺＥコマンドを追加し、当該コマンドの値を１２Ｘ１８とする。その他の場合の説明については省略する。
【００４８】
１０〜１９行目では、ＤＥＶＭＯＤＥ構造体のｄｍＤｕｐｌｅｘ項目の値によって処理が分岐されている。例えば、当該項目の値がＯｆｆの場合は、ｉＰＪＬにｉＤＵＰＬＥＸコマンドを追加し、当該コマンドの値をＯＦＦとする。当該項目の値がＯｐｅｎＴｏＬｅｆｔの場合は、ｉＰＪＬにｉＤＵＰＬＥＸコマンドを追加し、当該コマンドの値をＯＮとする。更に、ｉＰＪＬにｉＤＵＰＬＥＸＢＩＮＤＰＯＳコマンドを追加し、当該コマンドの値をＬＥＦＴとする。当該項目の値がＯｐｅｎＴｏＲｉｇｈｔの場合は、ｉＰＪＬにｉＤＵＰＬＥＸコマンドを追加し、当該コマンドの値をＯＮとする。更に、ｉＰＪＬにｉＤＵＰＬＥＸＢＩＮＤＰＯＳコマンドを追加し、当該コマンドの値ＲＩＧＨＴとする。その他の場合の説明については省略する。
【００４９】
続いて、中間コマンド生成スクリプトマージ部１３４は、既に読み込み済みの中間コマンド生成スクリプトが有る場合は、当該中間コマンド生成スクリプトに対して、ステップＳ５０４で読み込んだ中間コマンド生成スクリプトをマージする（Ｓ５０５）。ここでいうマージとは、既に読み込み済みの中間コマンド生成スクリプトの最終行以降に、ステップＳ５０４で読み込んだ中間コマンド生成スクリプトの記述内容を追加することをいう。したがって、当該マージは、連結という表現も当てはまる処理である。
【００５０】
全ての中間コマンド生成スクリプトファイル１７の読み込みが終了すると（Ｓ５０３でＮｏ）、中間コマンド生成スクリプトマージ部１３４は、マージされた中間コマンド生成スクリプトを中間コマンド生成部１３３に出力する（Ｓ５０６）。
【００５１】
中間コマンド生成部１３３は、中間コマンド生成スクリプトマージ部１３４より出力された中間コマンド生成スクリプトを受け取ると（Ｓ５０７）、当該中間コマンド生成スクリプトを実行する（Ｓ５０８）。その結果、ＤＥＶＭＯＤＥ構造体から中間データへの変換が行われる。
【００５２】
図７は、ＤＥＶＭＯＤＥ構造体から中間データへの変換結果の例を示す図である。同図では、図５に示したＤＥＶＭＯＤＥ構造体に対し、図６に示した中間コマンド生成スクリプトが実行された場合の変換結果を示す。
【００５３】
具体的には、ＤＥＶＭＯＤＥ構造体の（ｄｍＯｒｉｅｎｔａｉｏｎ，Ｐｏｒｔｒａｉｔ）は、中間コマンド（ｉＯＲＩＥＮＴＡＴＩＯＮ，ＰＯＲＴＲＡＩＴ）に変換されている。なお、ＤＥＶＭＯＤＥ構造体については（項目名，値）という形式で表現している。中間コマンドについては（コマンド名，値）という形式で表現している。
【００５４】
また、ＤＥＶＭＯＤＥ構造体の（ｄｍＤｏｃｕｍｅｎｔＳｉｚｅ，１２ｘ１８）は、中間コマンド（ｉＡＰＬＰＡＧＥＳＩＺＥ，１２Ｘ１８）に変換されている。また、ＤＥＶＭＯＤＥ構造体の（ｄｍＤｕｐｌｅｘ，ＯｐｅｎＴｏＬｅｆｔ）は、中間コマンド（ｉＤＵＰＬＥＸ，ＯＮ）及び（ｉＤＵＰＬＥＸＢＩＮＤＰＯＳ，ＬＥＦＴ）に変換されている。なお、最後の変換例より明らかなように、ＤＥＶＭＯＤＥ構造体の項目（メンバ変数）と、中間コマンドとは必ずしも１対１に対応しなくてもよい。
【００５５】
続いて、中間コマンド生成部１３３は、変換後の中間データを前処理部１３２へ出力する（Ｓ５０９）。
【００５６】
続いて、ステップＳ４０９における後処理部１３５からの印刷データの生成要求に応じて印刷コマンド生成部１３６及び印刷コマンド生成スクリプトマージ部１３７によって実行される処理手順について説明する。
【００５７】
図８は、印刷コマンド生成部及び印刷コマンド生成スクリプトマージ部によって実行される処理手順を説明するためのフローチャートである。
【００５８】
印刷コマンド生成部１３６は、中間データが指定された印刷データの生成要求を後処理部１３５より受け付ける（Ｓ６０１）。続いて、印刷コマンド生成部１３６は、印刷コマンド生成スクリプトマージ部１３７に印刷コマンド生成スクリプトファイル１８のマージを要求する（Ｓ６０２）。
【００５９】
印刷コマンド生成スクリプトマージ部１３７は、補助記憶装置１０２の所定の記憶領域（例えば、フォルダ）内に予め保存されている印刷コマンド生成スクリプトファイル１８の内容（印刷コマンド生成スクリプト）を一つずつメモリ装置１０３に読み込む（Ｓ６０４）。
【００６０】
図９は、印刷コマンド生成スクリプトの定義例を示す図である。同図の定義内容は、以下の通りである。
【００６１】
１〜２行目では、中間コマンドｉＯＲＩＥＮＴＡＴＩＯＮの値によって処理が分岐されている。すなわち、当該中間コマンドの値がＰＯＲＴＲＡＩＴの場合は、ＰＪＬにＯＲＩＥＮＴＡＴＩＯＮコマンドを追加し、当該コマンドの値をＰＯＲＴＲＡＩＴとする。当該中間コマンドの値がＰＯＲＴＲＡＩＴでない場合は、ＰＪＬにＯＲＩＥＮＴＡＴＩＯＮコマンドを追加し、当該コマンドの値をＬＡＮＤＳＣＡＰＥとする。なお、ＰＪＬは、印刷データを示す変数である。
【００６２】
４〜５行目では、中間コマンドのｉＤＵＰＬＥＸの値によって処理が分岐されている。当該中間コマンドの値がＯＮの場合は、ＰＪＬにＤＵＰＬＥＸコマンドを追加し、当該コマンドの値をＯＮとする。当該中間コマンドの値がＯＮでない場合は、ＰＪＬにＤＵＰＬＥＸコマンドを追加し、当該コマンドの値をＯＦＦとする。
【００６３】
７〜１１行目では、中間コマンドｉＤＵＰＬＥＸＢＩＮＤＰＯＳの値によって処理が分岐されている。すなわち、当該中間コマンドの値がＬＥＦＴの場合は、ＰＪＬにＤＵＰＬＥＸＢＩＮＤＰＯＳコマンドを追加し、当該コマンドの値をＬＥＦＴとする。当該中間コマンドの値がＲＩＧＨＴの場合は、ＰＪＬにＤＵＰＬＥＸＢＩＮＤＰＯＳコマンドを追加し、当該コマンドの値をＲＩＧＨＴとする。その他の場合の説明については省略する。
【００６４】
続いて、印刷コマンド生成スクリプトマージ部１３７は、既に読み込み済みの印刷コマンド生成スクリプトが有る場合は、当該印刷コマンド生成スクリプトに対して、ステップＳ６０４で読み込んだ印刷コマンド生成スクリプトをマージする（Ｓ６０５）。ここでいうマージとは、中間コマンド生成スクリプトのマージと同義である。すなわち、当該マージは、既に読み込み済みの印刷コマンド生成スクリプトファイル１８の最終行以降に、ステップＳ６０４で読み込んだ印刷コマンド生成スクリプトの記述内容を追加することをいう。
【００６５】
全ての印刷コマンド生成スクリプトファイル１８の読み込みが終了すると（Ｓ６０３でＮｏ）、印刷コマンド生成スクリプトマージ部１３７は、マージされた印刷コマンド生成スクリプトを印刷コマンド生成部１３６に出力する（Ｓ６０６）。
【００６６】
印刷コマンド生成部１３６は、印刷コマンド生成スクリプトマージ部１３７より出力された印刷コマンド生成スクリプトを受け取ると（Ｓ６０７）、当該印刷コマンド生成スクリプトを実行する（Ｓ６０８）。その結果、中間データから印刷データへの変換が行われる。
【００６７】
図１０は、中間データから印刷データへの変換結果の例を示す図である。同図では、図７に示した中間データに対し、図９に示した印刷コマンド生成スクリトが実行された場合の変換結果を示す。
【００６８】
具体的には、中間コマンド（ｉＯＲＩＥＮＴＡＴＩＯＮ，ＰＯＲＴＲＡＩＴ）は、印刷コマンド（ＯＲＩＥＮＴＡＴＩＯＮ，ＰＯＲＴＲＡＩＴ）に変換されている。また、中間コマンド（ｉＡＰＬＰＡＧＥＳＩＺＥ，１２Ｘ１８）に対応する印刷コマンドは無い。また、中間コマンド（ｉＤＵＰＬＥＸ，ＯＮ）は、印刷コマンド（ＤＵＰＬＥＸ，ＯＮ）に変換されている。また、中間コマンド（ｉＤＵＰＬＥＸＢＩＮＤＰＯＳ，ＬＥＦＴ）は、印刷コマンド（ＤＵＰＬＥＸＢＩＮＤＰＯＳ，ＬＥＦＴ）に変換されている。なお、中間コマンドと、印刷コマンドとは必ずしも１対１に対応しなくてもよい。
【００６９】
続いて、印刷コマンド生成部１３６は、変換後の印刷データを前処理部１３２へ出力する（Ｓ６０９）。
【００７０】
次に、例えば、プリンタドライバ１３に対してプラグインがインストールされ、当該プラグイン用の中間コマンド生成スクリプトファイル１７及び印刷コマンド生成スクリプトがインストール（追加）された場合について説明する。
【００７１】
例えば、図１１は、プラグイン用の中間コマンド生成スクリプトの定義例を示す図である。同図の定義内容は、以下の通りである。
【００７２】
１行目では、ｉＰＪＬ（中間データ）にｉＰＬＵＧＩＮＦＵＮＣコマンドを追加し、当該コマンドの値をＯＮとする。
【００７３】
３〜１１行目では、ｉＰＪＬのｉＤＵＰＬＥＸコマンドを上書きする。すなわち、ＤＥＶＭＯＤＥ構造体のｄｍＤｕｐｌｅｘ項目の値がＯｆｆの場合は、ｉＰＪＬのｉＤＵＰＬＥＸコマンドの値はＯＦＦで上書きされる。当該項目の値がＯｐｅｎＴｏＬｅｆｔの場合は、ｉＰＪＬのｉＤＵＰＬＥＸコマンドの値はＯＰＥＮＴＯＬＥＦＴで上書きされる。当該項目の値がＯｐｅｎＴｏＲｉｇｈｔの場合は、ｉＰＪＬのｉＤＵＰＬＥＸコマンドの値はＯＰＥＮＴＯＲＩＧＨＴで上書きされる。その他の場合の説明については省略する。
【００７４】
ここで、上書きと表現しているのは、プラグイン用の中間コマンド生成スクリプトが、図６の中間コマンド生成スクリプトにマージされた場合、プラグイン用の中間コマンド生成スクリプトが後に実行され、その結果、同一の中間コマンドについては、図６の中間コマンド生成スクリプトの定義内容に対してプラグイン用の中間コマンド生成スクリプトの定義内容が上書きされるからである。すなわち、中間コマンド生成スクリプトでは、後段の定義が前段の定義に対して優先される。印刷コマンド生成スクリプトも同様である。
【００７５】
５行目では、ｉＰＪＬよりｉＤＵＰＬＥＸＢＩＮＤＰＯＳコマンドを削除する。
【００７６】
図６の定義内容に対して図１１の定義内容がマージされた結果として生成される中間コマンド生成スクリプトが、図５のＤＥＶＭＯＤＥ構造体に対して実行された場合の変換結果の例を図１２に示す。
【００７７】
図１２は、マージされた中間コマンド生成スクリプトの実行によるＤＥＶＭＯＤＥ構造体から中間データへの変換結果の例を示す図である。
【００７８】
図１２における中間データと図７における中間データとの内容を比較すると、図１２では、ｉＤＵＰＬＥＸコマンドの値がＯＦＦとなっている。また、ｉＰＬＵＧＩＮＦＵＮＣコマンドが追加されている。
【００７９】
また、図１３は、プラグイン用の印刷コマンド生成スクリプトの定義例を示す図である。同図の定義内容は、以下の通りである。
【００８０】
１〜２行目では、中間コマンドｉＰＬＵＧＩＮＦＵＮＣの値によって処理が分岐されている。すなわち、当該中間コマンドの値がＯＮの場合は、ＰＪＬ（印刷データ）にＰＬＵＧＩＮＦＵＮＣコマンドを追加し、当該コマンドの値をＯＮとする。当該中間コマンドの値がＯＮでない場合は、ＰＪＬにＰＬＵＧＩＮＦＵＮＣコマンドを追加し、当該コマンドの値をＯＦＦとする。
【００８１】
なお、ｉＰＬＵＧＩＮＦＵＮＣコマンド又はＰＬＵＧＩＮＦＵＮＣコマンドは、プラグイン機能がＯＮであるか否か（プラグインがインストールされているか否か）を示すコマンドであるが、当該コマンドの用途（どのように利用するか）は、外部モジュール１６又はプリンタ２０側において定義される。
【００８２】
図９の定義内容に対して図１３の定義内容がマージされた結果として生成される印刷コマンド生成スクリプトが、図１２の中間データに対して実行された場合の変換結果の例を図１４に示す。
【００８３】
図１４は、マージされた印刷コマンド生成スクリプトの実行による中間データから印刷データへの変換結果の例を示す図である。
【００８４】
図１４における印刷データと図１０における印刷データとの内容を比較すると、図１４では、ＤＵＰＬＥＸコマンドの値がＯＦＦとなっている。また、ＰＬＵＧＩＮＦＵＮＣコマンドが追加されている。
【００８５】
上述したように、第一の実施の形態によれば、印刷コマンドの仕様が変化したり、外部モジュール１６の仕様が変化したりした場合であっても、中間コマンド生成スクリプトファイル１７又は印刷コマンド生成スクリプトを編集又は追加等することにより、斯かる変化に対応することが可能となる。したがって、プリンタドライバ１３のソースコードを修正して、再インストールしなければならない可能性を低減させることができる。
【００８６】
また、中間コマンド生成スクリプトファイル又は印刷コマンド生成スクリプトファイルが複数存在する場合は、それぞれ統合して利用することができる。したがって、各スクリプトファイルを独立した状態で管理することができる。その結果、プラグイン等をアンインストールする場合、不要なスクリプトファイルの削除を簡便化することができる。
【００８７】
なお、追加的な中間コマンド生成スクリプト又は印刷コマンド生成スクリプトでは、単に新たな中間コマンド又は印刷コマンドを追加するだけでなく。既存のスクリプトにおける定義を変更したり、無効化したりすることもできる。したがって、例えば、プリンタ２０の機能拡張や外部モジュール１６の機能拡張等が無い場合であっても、管理者等が、既存のスクリプトファイルを編集したり、新たなスクリプトファイル追加したりすることで、各ユーザによって利用可能な機能（印刷設定項目の値）を制限したりすることができる。
【００８８】
次に、第二の実施の形態について説明する。第二の実施の形態において特に言及しない点については、第一の実施の形態と同様でよい。
【００８９】
図１５は、第二の実施の形態における印刷システムの構成例を示す図である。図１５中、図１と同一部分には同一符号を付し、その説明は省略する。
【００９０】
図１５において、情報処理装置１０は、複数の外部モジュール１６を有する。情報処理装置１０は、また、外部モジュール１６ごとに、中間コマンド生成スクリプトファイル１７及び印刷コマンド生成スクリプトファイル１８を有する。具体的には、中間コマンド生成スクリプトファイル１７ｃ及び印刷コマンド生成スクリプトファイル１８ｃは、外部モジュール１６ｃに対応するスクリプトファイルである。中間コマンド生成スクリプトファイル１７ｄ及び印刷コマンド生成スクリプトファイル１８ｄは、外部モジュール１６ｄに対応するスクリプトファイルである。
【００９１】
更に、情報処理装置１０は、スクリプトファイルパス記憶部１９ａを有する。スクリプトファイルパス記憶部１９ａは、補助記憶装置１０２を用いて、外部モジュール１６の識別情報（以下、「外部モジュール１６ＩＤ」という。）ごとに、対応するスクリプトファイル（中間コマンド生成スクリプトファイル１７及び印刷コマンド生成スクリプトファイル１８）の識別情報（例えば、ファイルパス名）を記憶する。
【００９２】
すなわち、第二の実施の形態では、利用される外部モジュール１６に応じて、使用される中間コマンド生成スクリプトファイル１７及び印刷コマンド生成スクリプトファイル１８が動的に変化する。
【００９３】
利用される外部モジュール１６は、例えば、印刷設定ダイアログにおいて選択されてもよい。この場合、選択された外部モジュール１６の識別情報がＤＥＶＭＯＤＥ構造体に記録されるようにしてもよい。または、予め設定ファイル等に利用対象の外部モジュール１６の識別情報が記録されていてもよい。
【００９４】
いずれの場合においても、中間コマンド生成スクリプトマージ部１３４は、第一の取得手段として機能し、利用対象とされた外部モジュール１６の識別情報に対応する中間コマンド生成スクリプトファイル１７のファイルパス名をスクリプトファイルパス記憶部１９ａより取得し、マージ対象とする中間コマンド生成スクリプトファイル１７を、当該ファイルパス名に係るものに限定する。したがって、この場合、中間コマンド生成部１３３によって、利用される外部モジュール１６に対応した中間コマンド生成スクリプトに基づいて中間データが生成される。なお、スクリプトファイルパス記憶部１９ａからのファイルパス名の取得は、前処理部１３２又は中間コマンド生成部１３３によって行われてもよい。この場合、取得されたファイルパス名が中間コマンド生成スクリプトマージ部１３４に伝達されればよい。
【００９５】
同様に、印刷コマンド生成スクリプトマージ部１３７は、第二の取得手段として機能し、利用対象とされた外部モジュール１６の識別情報に対応する印刷コマンド生成スクリプトファイル１８のファイルパス名をスクリプトファイルパス記憶部１９ａより取得し、マージ対象とする印刷コマンド生成スクリプトファイル１８を、当該ファイルパス名に係るものに限定する。したがって、この場合、印刷コマンド生成部１３６によって、利用される外部モジュール１６に対応した印刷コマンド生成スクリプトに基づいて印刷データが生成される。なお、スクリプトファイルパス記憶部１９ａからのファイルパス名の取得は、後処理部１３５又は印刷コマンド生成部１３６によって行われてもよい。この場合、取得されたファイルパス名が印刷コマンド生成スクリプトマージ部１３７に伝達されればよい。
【００９６】
上述したように、第二の実施の形態によれば、使用するスクリプトファイルを外部モジュール１６ごとに動的に変化させることができる。なお、中間コマンド生成スクリプトファイル１７又は印刷コマンド生成スクリプトファイル１８の一方は、汎用的（基本的）なものが使用され、他方は外部モジュール１６に固有のものが使用されるようにしてもよい。
【００９７】
次に、第三の実施の形態について説明する。第三の実施の形態において特に言及しない点については、第一の実施の形態と同様でよい。
【００９８】
図１６は、第三の実施の形態における印刷システムの構成例を示す図である。図１６中、図１と同一部分には同一符号を付し、その説明は省略する。
【００９９】
図１６において、情報処理装置１０では、複数のプリンタ２０を印刷先として選択可能である。情報処理装置１０は、また、プリンタ２０ごとに、中間コマンド生成スクリプトファイル１７及び印刷コマンド生成スクリプトファイル１８を有する。具体的には、中間コマンド生成スクリプトファイル１７ｅ及び印刷コマンド生成スクリプトファイル１８ｅは、プリンタ２０ｅに対応するスクリプトファイルである。中間コマンド生成スクリプトファイル１７ｆ及び印刷コマンド生成スクリプトファイル１８ｆは、プリンタ２０ｆに対応するスクリプトファイルである。更に、情報処理装置１０は、スクリプトファイルパス記憶部１９ｂを有する。スクリプトファイルパス記憶部１９ｂは、補助記憶装置１０２を用いて、プリンタ２０の識別情報（以下、「プリンタ名」という。）ごとに、対応するスクリプトファイル（中間コマンド生成スクリプトファイル１７及び印刷コマンド生成スクリプトファイル１８）の識別情報（例えば、ファイルパス名）を記憶する。
【０１００】
すなわち、第三の実施の形態では、印刷先のプリンタ２０に応じて、使用される中間コマンド生成スクリプトファイル１７及び印刷コマンド生成スクリプトファイル１８が動的に変化する。
【０１０１】
印刷先のプリンタ２０は、例えば、印刷設定ダイアログにおいて選択され、選択されたプリンタ２０のプリンタ名がＤＥＶＭＯＤＥ構造体に記録されるようにしてもよいし、予め設定ファイル等に当該プリンタ名が記録されていてもよい。
【０１０２】
いずれの場合においても、中間コマンド生成スクリプトマージ部１３４は、第一の取得手段として機能し、印刷先とされたプリンタ２０のプリンタ名に対応する中間コマンド生成スクリプトファイル１７のファイルパス名をスクリプトファイルパス記憶部１９ｂより取得し、マージ対象とする中間コマンド生成スクリプトファイル１７を、当該ファイルパス名に係るものに限定する。したがって、この場合、中間コマンド生成部１３３によって、印刷先のプリンタ２０に対応した中間コマンド生成スクリプトに基づいて中間データが生成される。なお、スクリプトファイルパス記憶部１９ｂからのファイルパス名の取得は、前処理部１３２又は中間コマンド生成部１３３によって行われてもよい。この場合、取得されたファイルパス名が中間コマンド生成スクリプトマージ部１３４に伝達されればよい。
【０１０３】
同様に、印刷コマンド生成スクリプトマージ部１３７は、第二の取得手段として機能し、印刷先とされたプリンタ２０のプリンタ名に対応する印刷コマンド生成スクリプトファイル１８のファイルパス名をスクリプトファイルパス記憶部１９ｂより取得し、マージ対象とする印刷コマンド生成スクリプトファイル１８を、当該ファイルパス名に係るものに限定する。したがって、この場合、印刷コマンド生成部１３６によって、印刷先のプリンタ２０に対応した印刷コマンド生成スクリプトに基づいて印刷データが生成される。なお、スクリプトファイルパス記憶部１９ｂからのファイルパス名の取得は、後処理部１３５又は印刷コマンド生成部１３６によって行われてもよい。この場合、取得されたファイルパス名が印刷コマンド生成スクリプトマージ部１３７に伝達されればよい。
【０１０４】
上述したように、第三の実施の形態によれば、使用するスクリプトファイルをプリンタ２０ごとに動的に変化させることができる。なお、中間コマンド生成スクリプトファイル１７又は印刷コマンド生成スクリプトファイル１８の一方は、汎用的（基本的）なものが使用され、他方はプリンタ２０に固有のものが使用されるようにしてもよい。
【０１０５】
また、使用するスクリプトファイルのファイルパス名は、プリンタ２０との双方向通信によってプリンタ２０より取得されてもよい。また、当該双方向通信によってプリンタ２０よりスクリプトファイルの実体が取得されてもよい。
【０１０６】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１０７】
１            印刷システム
１０          情報処理装置
１１          アプリケーション
１２          ＧＤＩ
１３          プリンタドライバ
１４          スプーラ
１５          ポートモニタ
１６          外部モジュール
１７          中間コマンド生成スクリプトファイル
１８          印刷コマンド生成スクリプトファイル
１９          スクリプトファイルパス記憶部
２０          プリンタ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１３１        ＵＩ部
１３２        前処理部
１３３        中間コマンド生成部
１３４        中間コマンド生成スクリプトマージ部
１３５        後処理部
１３６        印刷コマンド生成部
１３７        印刷コマンド生成スクリプトマージ部
Ｂ            バス
【先行技術文献】
【特許文献】
【０１０８】
【特許文献１】特開２００９−１４６３２１号公報
【特許文献２】特開２００８−１８６２５４号公報
【図１】
0005549363.tif 000002
【図２】
0005549363.tif 000003
【図３】
0005549363.tif 000004
【図４】
0005549363.tif 000005
【図５】
0005549363.tif 000006
【図６】
0005549363.tif 000007
【図７】
0005549363.tif 000008
【図８】
0005549363.tif 000009
【図９】
0005549363.tif 000010
【図１０】
0005549363.tif 000011
【図１１】
0005549363.tif 000012
【図１２】
0005549363.tif 000013
【図１３】
0005549363.tif 000014
【図１４】
0005549363.tif 000015
【図１５】
0005549363.tif 000016
【図１６】
0005549363.tif 000017