"受信した印刷データに含まれる印刷パラメータ設定のコマンドが既存のコマンドか機能拡張部分のコマンドかを判定し、既存のコマンドの印刷パラメータを設定すると共に、機能拡張部分のコマンドの印刷パラメータの設定を要求する制御手段と、搭載されている1つ以上の機能拡張部分を管理し、1つ以上の機能拡張部分のコマンドの印刷パラメータの設定の要求を機能拡張部分に振り分け、機能拡張部分のコマンドの印刷パラメータの設定を機能拡張部分に要求する管理手段とを有し、前記制御手段は、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定することを特徴とする画像形成装置。前記管理手段は、起動時、搭載されている1つ以上の機能拡張部分から識別情報を取得して機能拡張部分を管理し、印刷パラメータ設定のコマンドに付いている機能拡張部分の識別情報に基づいて、機能拡張部分のコマンドの印刷パラメータの設定の要求を振り分けることを特徴とする請求項1記載の画像形成装置。前記制御手段は、既存のコマンドのリストを有し、受信した印刷データに含まれる印刷パラメータ設定のコマンドがリストに含まれていれば既存のコマンドと判定し、受信した印刷データに含まれる印刷パラメータ設定のコマンドがリストに含まれていなければ、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いているか判定し、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定し、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていなければ不正なコマンドと判定することを特徴とする請求項2記載の画像形成装置。前記制御手段は、受信した印刷データに含まれる印刷パラメータ設定のコマンドのうち既存のコマンドの印刷パラメータを先に設定したあと、機能拡張部分のコマンドの印刷パラメータの設定を要求することを特徴とする請求項1乃至3何れか一項記載の画像形成装置。画像形成装置によって実行される印刷パラメータ設定方法であって、受信した印刷データに含まれる印刷パラメータ設定のコマンドが既存のコマンドか機能拡張部分のコマンドかを判定し、既存のコマンドの印刷パラメータを設定すると共に、機能拡張部分のコマンドの印刷パラメータの設定を要求する制御ステップと、搭載されている1つ以上の機能拡張部分を管理し、1つ以上の機能拡張部分のコマンドの印刷パラメータの設定の要求を機能拡張部分に振り分け、機能拡張部分のコマンドの印刷パラメータの設定を機能拡張部分に要求する管理ステップとを有し、前記制御ステップは、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定することを特徴とする印刷パラメータ設定方法。上記情報処理装置では機器の機器情報に基づいて機器に合わせたデータを生成することができる。しかし、機器側で機能拡張が行われた場合に、機器側では機能拡張部分プラグインなどで使用するコマンドPrinterJobLanguagePJLなどについて、対応する仕組みがない。つまり、機器側では予め搭載されているコマンド情報しか対応できないという問題があった。言い換えれば、既存の機器では機器側でコマンド処理する際、予め搭載されているコマンド以外を不正コマンドとして扱うため、機能拡張部分のコマンドを正しく設定できないという問題があった。本発明は、上記の点に鑑みなされたもので、機能拡張部分のコマンドを正しく設定できる画像形成装置及び印刷パラメータ設定方法を提供することを目的とする。上記の課題を解決するため、本発明の画像形成装置は、受信した印刷データに含まれる印刷パラメータ設定のコマンドが既存のコマンドか機能拡張部分のコマンドかを判定し、既存のコマンドの印刷パラメータを設定すると共に、機能拡張部分のコマンドの印刷パラメータの設定を要求する制御手段と、搭載されている1つ以上の機能拡張部分を管理し、1つ以上の機能拡張部分のコマンドの印刷パラメータの設定の要求を機能拡張部分に振り分け、機能拡張部分のコマンドの印刷パラメータの設定を機能拡張部分に要求する管理手段とを有し、前記制御手段は、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定することを特徴とする。なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。本発明によれば、機能拡張部分のコマンドを正しく設定できる画像形成装置及び印刷パラメータ設定方法を提供可能である。以下、本発明の実施の形態について、詳細に説明する。なお、本実施の形態における環境変数は印刷パラメータの一例である。プラグインは機能拡張部分の一例である。画像形成装置は、プリンタ機能、スキャナ機能、ファクシミリ機能、コピー機能などの機能を1又は複数備える機器であればよい。PCは、外部装置の一例である。外部装置はサーバ装置、携帯端末などの装置であればよい。構成図図1は印刷システムの一例の構成図である。印刷システム1はPC10と画像形成装置11とがインターネットやLANなどのネットワーク12を介して接続されている。PC10は、印刷要求を行う。画像形成装置11は、PC10からの印刷要求に従って印刷を行う。印刷システム1はPC10及び画像形成装置11を複数備えてもよい。また、印刷システム1はネットワーク12を、有線又は無線の何れで構築してもよい。図2は画像形成装置の一例のハードウェア構成図である。図2の画像形成装置11は撮像部21、印刷部22、ファクシミリ制御部23、CPU24、ASIC25、RAM26、ROM27、HDD28、NICNetworkInterfaceCard29、オペレーションパネル30がシステムバス31を介して接続されている。撮像部21は原稿から画像を読み取る装置である。印刷部22は用紙に画像を印刷する装置である。ファクシミリ制御部23はファクシミリ制御用の装置である。CPU24は情報処理用の集積回路である。ASIC25は画像処理用の集積回路である。RAM26は画像形成装置11内のメモリ揮発性メモリである。ROM27は画像形成装置11内のメモリ不揮発性メモリである。HDD28は画像形成装置11内のストレージである。NIC29は画像形成装置11のネットワークインタフェースとなる通信装置である。オペレーションパネル30は画像形成装置11のユーザインタフェースとなる操作表示装置である。画像形成装置11を制御する各種プログラムは、ROM27やHDD28に格納されている。なお、以下に示す実施の形態の各種処理は、特に明記しない限り、CPU24がROM27やHDD28に格納されたプログラムに従い、RAM26を使用して実行、処理される。なお、プログラムは例えば記録媒体の配布やネットワーク12等からのダウンロードなどによって提供される。記録媒体はCD-ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。プログラムを記録した記録媒体が記録媒体読取装置図示せずにセットされることにより、プログラムは記録媒体から記録媒体読取装置を介してHDD28にインストールされる。ネットワーク12等からダウンロードされたプログラムはNIC29を介してHDD28にインストールされる。HDD28はプログラム、必要なファイル、データ等を格納する。RAM26はプログラムの起動時に、HDD28からプログラムを読み出して格納する。そして、CPU24はRAM26に格納されたプログラムに従って、各種処理を実現している。図3は画像形成装置の一例のブロック図である。なお、図3のブロック図は本実施の形態の説明に不要なブロックを適宜省略している。画像形成装置11は、プリンタ制御部41、プラグイン管理部42、プラグイン43を有する。また、プリンタ制御部41はGPSグローバル印刷システム部51、PJL処理部52を有する。プリンタ制御部41はプリンタ機能全体を制御する。プラグイン管理部42はプラグイン43の管理を行う。プラグイン43は追加拡張した機能を実現する。プラグイン管理部42はプラグイン情報の取得やプラグイン用コマンドの設定の要求をGPS部51から受け付けると、該当するプラグイン43を判別し、プラグイン用コマンドの設定の要求を振り分ける。GPS部51は印刷システムであり、受信した印刷データをPJL処理部52に解析させる。PJL処理部52は印刷データを解析する。GPS部51は印刷データの解析結果に基づき、PJL処理部52からコマンド設定を受け付ける。また、GPS部51はプラグイン情報の取得やプラグイン用コマンドの設定をプラグイン管理部42に要求する。プラグイン管理部42はプラグイン情報の取得やプラグイン用コマンドの設定をGPS部51から要求される。プラグイン管理部42はプラグイン情報の取得の要求を受け、プラグイン情報をGPS部51に送信する。また、プラグイン管理部42はプラグイン用コマンドの設定の要求に該当するプラグイン43の判別を行い、該当するプラグイン43のプラグイン用コマンドの設定をプラグイン43に要求する。処理手順まず、PC10はアプリケーション等で作成されたデータをプラグイン用ドライバ図示せずでプラグイン43が搭載された画像形成装置プラグイン搭載プリンタ11が処理可能な印刷データへ変換し、画像形成装置11へ送信する。図4はプラグイン搭載プリンタが処理可能な印刷データの一例の構成図である。図4の印刷データはプラグイン用PJLコマンドが含まれる。図4の印刷データは上から3行目のPJLSETXXXXX=YYYPRODUCTID=zzzzzがプラグイン用PJLコマンドである。SETコマンドは指定したプラグイン用の環境変数の値をカレント値として設定する。プラグイン用PJLコマンドはPRODUCTIDが付く。なお、図4のSETコマンドの例はパラメータXXXXXがプラグイン用の環境変数名variableを指定している。パラメータYYYはプラグイン用の値valueを指定している。パラメータzzzzzは、プラグイン43のプロダクトIDpackageinfoを指定している。プロダクトIDはプラグイン43を一意に識別可能な識別情報の一例である。図4のSETコマンドはPRODUCTIDが付いているため、プラグイン用PJLコマンドと判定できる。したがって、PJL処理部52はPRODUCTIDの有無でプラグイン用PJLコマンドプラグイン43に対応したPJLコマンドであるか否かを判定できる。図5はPJL処理部の一例のフローチャートである。GPS部51から印刷データの解析要求を受け付けると、PJL処理部52は図5のフローチャートの処理を開始する。ステップS1において、PJL処理部52は印刷データからコマンドを1つずつ取り出して解析を行う。ステップS2において、PJL処理部52は取り出したコマンド及び解析した環境変数名variableがPJLコマンドリストに存在するかを判定する。PJL処理部52はPJLコマンドリストを保持する。PJLコマンドリストについての詳細は後述する。取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在すれば、PJL処理部52はステップS3において、解析した値valueがPJLコマンドリストに存在するか否かを判定する。解析した値がPJLコマンドリストに存在すれば、PJL処理部52はステップS4において、GPS部51にコマンドの設定を要求し、GPS部51の構造体に環境変数を設定する。GPS部51の構造体に設定した環境変数の一例は後述する。一方、ステップS2において、取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在しないか、又は、ステップS3において、解析した値がPJLコマンドリストに存在しなければ、ステップS5において、PJL処理部52はPRODUCTIDの有無でプラグイン用コマンドか否かを判定する。PJL処理部52はPRODUCTIDがあれば、ステップS4において、GPS部51にコマンドの設定を要求し、GPS部51の構造体に環境変数を設定する。PJL処理部52はPRODUCTIDがなければ、ステップS6において、不正コマンドとして無視する。ステップS1~S6の処理は印刷データに含まれるコマンドの解析が全て終了するまで繰り返し行われる。図6はPJLコマンドリストの一例の構成図である。PJLコマンドリストは既存のコマンド、環境変数名及び値のリストである。印刷データから取り出したコマンド、環境変数名及び値がPJLコマンドリストに存在すれば、印刷データから取り出したコマンドは既存のコマンドと判定できる。図7はGPS部の構造体に設定した環境変数の一例の構成図である。図7はプラグイン用PJLコマンドの環境変数の例を示している。パラメータpluginflagonはプラグイン用PJLコマンドであるか否かを示すフラグである。パラメータpluginvariablexxxxxはプラグイン用の環境変数名を示す。パラメータpluginvalueYYYはプラグイン用の値を示す。また、パラメータproductidzzzzzはプラグイン43のプロダクトIDを示す。GPS部51はプラグイン用PJLコマンドの環境変数の情報である図7に示すような構造体をテンポラリに保持する。GPS部51はプラグイン管理部42にプラグイン情報の取得を要求する。GPS部51はプラグイン43のプロダクトIDを含むプラグイン情報をプラグイン管理部42から取得する。GPS部51は図7の構造体のパラメータproductidzzzzzとプラグイン43のプロダクトIDとが一致すれば、図7の構造体に示すプラグイン用コマンドの設定をプラグイン管理部42に要求する。プラグイン管理部42はプロダクトIDにより該当するプラグイン43を判別する。プラグイン管理部42は図7の構造体に示すプラグイン用コマンドの設定を該当するプラグイン43に要求する。プラグイン43は図7の構造体に示すプラグイン用コマンドを設定する。プラグイン43はプラグイン用PJLコマンドリストを保持する。プラグイン43はバージョンの変更によって、使用可能な環境変数名及び値が変化する。図8はプラグイン用PJLコマンドリストの一例の構成図である。プラグイン用PJLコマンドリストはプラグイン用コマンド、環境変数名及び値のリストである。印刷データから取り出したコマンド、環境変数名及び値がプラグイン用PJLコマンドリストに存在すれば、印刷データから取り出したコマンドはプラグイン用コマンドと判定できる。このように、本実施の形態によれば、プリンタ制御部41はプラグイン用PJLコマンドリストを保持していなくても、既存のコマンド、プラグイン用コマンド、不正定義のないコマンドを判別できる。図9は本実施の形態の印刷システムの一例のシーケンス図である。起動時、画像形成装置11はステップS11において、搭載されている1又は複数のプラグイン43にプロダクトIDの取得を要求する。ステップS12において、プラグイン43は自身のプラグイン名及びプロダクトIDをプラグイン管理部42に通知する。ステップS13において、プラグイン管理部42はプラグイン43から通知されたプラグイン名及びプロダクトIDを用いて、プラグインリスト搭載プラグインリスト70を作成する。プラグインリスト70は画像形成装置11に搭載されているプラグイン43のプラグイン名及びプロダクトIDを対応付けたものである。ステップS14において、PC10のプラグイン用ドライバ61はアプリケーション等で作成されたデータを画像形成装置11が処理可能な印刷データへ変換し、画像形成装置11へ送信して、印刷を要求する。ステップS15において、画像形成装置11は印刷データの処理をGPS部51に要求する。ステップS16において、GPS部51は印刷データの解析をPJL処理部52に要求する。PJL処理部52は図5のフローチャートを用いて説明したようにPJLコマンドリストに存在するコマンドを既存のPJLコマンドと判定する。また、PJL処理部52はコマンドにPRODUCTIDが付いていれば、プラグイン用PJLコマンドと判定する。さらに、PJL処理部52はPJLコマンドリストに存在しておらず、コマンドにPRODUCTIDが付いていなければ、不正コマンドと判定する。既存のPJLコマンドと判定すると、PJL処理部52はステップS17において既存のPJLコマンドの設定をGPS部51に要求する。プラグイン用PJLコマンドと判定すると、PJL処理部52はステップS17においてプラグイン用PJLコマンドの設定をGPS部51に要求する。なお、不正コマンドと判定すると、PJL処理部52は無視する。ステップS18において、GPS部51はプラグイン管理部42にプラグイン情報の取得を要求する。ステップS19において、プラグイン管理部42はプラグインリスト70を検索して、画像形成装置11に搭載されているプラグイン43のプロダクトIDを取得する。ステップS20において、プラグイン管理部42はプラグイン43のプロダクトIDを含むプラグイン情報をGPS部51に提供する。ステップS21において、GPS部51はプラグイン用PJLコマンドに含まれるプロダクトIDとプラグイン管理部42から取得したプロダクトIDとを比較し、プロダクトIDが一致すれば、図7の構造体に示すプラグイン用コマンドの設定印刷設定をプラグイン管理部42に要求する。ステップS22において、プラグイン管理部42はプラグイン用コマンドの設定の要求をGPS部51から受け付けると、プラグインIDを利用することで、該当するプラグイン43を判別し、プラグイン用コマンドの設定の要求を判別したプラグイン43に振り分ける。そして、ステップS23において、プラグイン43はプラグイン管理部42から取得したプラグイン用コマンドの設定を行う。図10は、印刷システムの一実施例のシーケンス図である。図10は画像形成装置11に搭載されているプラグイン43が、プラグインPluginA43-1及びプラグインC-Plugin43-2の例である。起動時、画像形成装置11はステップS31において、プラグイン43-1にプロダクトIDの取得を要求する。ステップS32において、プラグイン43-1は自身のプラグイン名及びプロダクトIDをプラグイン管理部42に通知する。また、画像形成装置11はステップS33において、プラグイン43-2にプロダクトIDの取得を要求する。ステップS34において、プラグイン43-2は自身のプラグイン名及びプロダクトIDをプラグイン管理部42に通知する。ステップS35において、プラグイン管理部42はプラグイン43-1及び43-2から通知されたプラグイン名及びプロダクトIDを用いて、プラグインリスト搭載プラグインリスト80を作成する。プラグインリスト80は画像形成装置11に搭載されているプラグイン43-1及び43-2のプラグイン名及びプロダクトIDを対応付けたものである。ステップS36において、PC10のプラグイン用ドライバ61はアプリケーション等で作成されたデータを画像形成装置11が処理可能な例えば図11に示す印刷データへ変換し、画像形成装置11へ送信して、印刷を要求する。図11は印刷データの一例の構成図である。図11の印刷データは3行目のSETコマンドと5行目のSETコマンドとがプラグイン用PJLコマンドである。ステップS37において、画像形成装置11は印刷データの処理をGPS部51に要求する。ステップS38において、GPS部51は印刷データの解析をPJL処理部52に要求する。ステップS39に進み、PJL処理部52は図11の印刷データから1行目のSETコマンドを取り出して、図5のフローチャートを用いて説明したように解析を行う。PJL処理部52は取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するかを判定する。ここでは、取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するものとして説明を続ける。PJL処理部52は取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するため、既存のPJLコマンドと判定する。既存のPJLコマンドと判定すると、PJL処理部52はステップS40において既存のPJLコマンドの設定をGPS部51に要求する。ステップS41に進み、PJL処理部52は図11の印刷データから2行目のSETコマンドを取り出して、1行目のSETコマンドと同様、処理を行う。PJL処理部52は取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するかを判定する。ここでは、取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するものとして説明を続ける。PJL処理部52は取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するため、既存のPJLコマンドと判定する。既存のPJLコマンドと判定すると、PJL処理部52はステップS42において既存のPJLコマンドの設定をGPS部51に要求する。ステップS43に進み、PJL処理部52は図11の印刷データから3行目のSETコマンドを取り出して、図5のフローチャートを用いて説明したように解析を行う。PJL処理部52は取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するかを判定する。PJL処理部52は取り出したコマンド及び解析した環境変数名の少なくとも一方がPJLコマンドリストに存在しないため、PRODUCTIDの有無でプラグイン用コマンドか否かを判定する。PRODUCTIDが付いているため、PJL処理部52はプラグイン用PJLコマンドと判定する。PJL処理部52はプラグイン用PJLコマンドと判定すると、ステップS44においてプラグイン用PJLコマンドの設定をGPS部51に要求する。ステップS45に進み、PJL処理部52は図11の印刷データから4行目のSETコマンドを取り出して、1行目のSETコマンドと同様、処理を行う。PJL処理部52は取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するかを判定する。ここでは、取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するものとして説明を続ける。PJL処理部52は取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するため、既存のPJLコマンドと判定する。既存のPJLコマンドと判定すると、PJL処理部52はステップS46において既存のPJLコマンドの設定をGPS部51に要求する。ステップS47に進み、PJL処理部52は図11の印刷データから5行目のSETコマンドを取り出して、3行目のSETコマンドと同様、処理を行う。PJL処理部52は取り出したコマンド及び解析した環境変数名がPJLコマンドリストに存在するかを判定する。PJL処理部52は取り出したコマンド及び解析した環境変数名の少なくとも一方がPJLコマンドリストに存在しないため、PRODUCTIDの有無でプラグイン用コマンドか否かを判定する。PRODUCTIDが付いているため、PJL処理部52はプラグイン用PJLコマンドと判定する。PJL処理部52はプラグイン用PJLコマンドと判定すると、ステップS48においてプラグイン用PJLコマンドの設定をGPS部51に要求する。6行目以降の処理の説明は省略する。ステップS49において、PJL処理部52は解析完了をGPS部51に通知する。ステップS50において、GPS部51は既存のPJLコマンドの設定を行う。ステップS51において、GPS部51はプラグイン管理部42にプラグイン情報81の取得を要求する。ステップS52において、プラグイン管理部42はプラグインリスト80を検索して、画像形成装置11に搭載されているプラグイン43-1及び43-2のプロダクトIDを取得する。ステップS53において、プラグイン管理部42はプラグイン43-1及び43-2のプロダクトIDを含むプラグイン情報を、GPS部51に提供する。ステップS54において、GPS部51はプラグイン用PJLコマンドに含まれるプロダクトIDとプラグイン管理部42から取得したプロダクトIDとを比較し、プロダクトIDが一致すれば、プラグイン用の設定環境変数情報82に示すプラグイン用コマンドの設定印刷設定をプラグイン管理部42に要求する。ステップS55において、プラグイン管理部42はプラグイン用コマンドの設定の要求をGPS部51から受け付けると、プラグインIDを利用することで、該当するプラグイン43-1を判別し、プラグイン用コマンドの設定の要求を判別したプラグイン43-1に振り分ける。そして、ステップS56において、プラグイン43-1はプラグイン管理部42から取得したプラグイン用コマンド83の設定を行う。また、ステップS57において、プラグイン管理部42はプラグインIDを利用することで、該当するプラグイン43-2を判別し、プラグイン用コマンドの設定の要求を判別したプラグイン43-2に振り分ける。そして、ステップS58において、プラグイン43-2はプラグイン管理部42から取得したプラグイン用コマンド84の設定を行う。このように、本実施例によれば、プリンタ制御部41はプラグイン用PJLコマンドリストを保持していなくても、図11の印刷データから既存のコマンド、プラグイン用コマンド、不正定義のないコマンドを判別できる。まとめ本実施の形態によれば、プリンタ制御部41はプラグイン用PJLコマンドリストを保持していなくても、既存のコマンド、プラグイン用コマンド、不正定義のないコマンドを判別できるので、プラグイン用コマンドを正しく設定できる。本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した制御手段はプリンタ制御部41に相当する。管理手段はプラグイン管理部42に相当する。"