(57)【要約】【課題】機能拡張部分のコマンドを正しく設定できる画像形成装置及び印刷パラメータ設定方法を提供することを目的とする。【解決手段】受信した印刷データに含まれる印刷パラメータ設定のコマンドが既存のコマンドか機能拡張部分のコマンドかを判定し、既存のコマンドの印刷パラメータを設定すると共に、機能拡張部分のコマンドの印刷パラメータの設定を要求する制御手段４１と、搭載されている１つ以上の機能拡張部分を管理し、１つ以上の機能拡張部分のコマンドの印刷パラメータの設定の要求を機能拡張部分に振り分け、機能拡張部分のコマンドの印刷パラメータの設定を機能拡張部分に要求する管理手段４２とを有し、制御手段４１は、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定することを特徴とする画像形成装置により上記課題を解決する。【選択図】  図３
2013010291.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷データに含まれる印刷パラメータ設定のコマンドが既存のコマンドか機能拡張部分のコマンドかを判定し、既存のコマンドの印刷パラメータを設定すると共に、機能拡張部分のコマンドの印刷パラメータの設定を要求する制御手段と、
搭載されている１つ以上の機能拡張部分を管理し、１つ以上の機能拡張部分のコマンドの印刷パラメータの設定の要求を機能拡張部分に振り分け、機能拡張部分のコマンドの印刷パラメータの設定を機能拡張部分に要求する管理手段と
を有し、
前記制御手段は、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定すること
を特徴とする画像形成装置。
【請求項２】
前記管理手段は、起動時、搭載されている１つ以上の機能拡張部分から識別情報を取得して機能拡張部分を管理し、印刷パラメータ設定のコマンドに付いている機能拡張部分の識別情報に基づいて、機能拡張部分のコマンドの印刷パラメータの設定の要求を振り分けること
を特徴とする請求項１記載の画像形成装置。
【請求項３】
前記制御手段は、既存のコマンドのリストを有し、受信した印刷データに含まれる印刷パラメータ設定のコマンドがリストに含まれていれば既存のコマンドと判定し、受信した印刷データに含まれる印刷パラメータ設定のコマンドがリストに含まれていなければ、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いているか判定し、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定し、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていなければ不正なコマンドと判定すること
を特徴とする請求項２記載の画像形成装置。
【請求項４】
前記制御手段は、受信した印刷データに含まれる印刷パラメータ設定のコマンドのうち既存のコマンドの印刷パラメータを先に設定したあと、機能拡張部分のコマンドの印刷パラメータの設定を要求すること
を特徴とする請求項１乃至３何れか一項記載の画像形成装置。
【請求項５】
画像形成装置によって実行される印刷パラメータ設定方法であって、
受信した印刷データに含まれる印刷パラメータ設定のコマンドが既存のコマンドか機能拡張部分のコマンドかを判定し、既存のコマンドの印刷パラメータを設定すると共に、機能拡張部分のコマンドの印刷パラメータの設定を要求する制御ステップと、
搭載されている１つ以上の機能拡張部分を管理し、１つ以上の機能拡張部分のコマンドの印刷パラメータの設定の要求を機能拡張部分に振り分け、機能拡張部分のコマンドの印刷パラメータの設定を機能拡張部分に要求する管理ステップと
を有し、
前記制御ステップは、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定すること
を特徴とする印刷パラメータ設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び印刷パラメータ設定方法に関する。
【背景技術】
【０００２】
機器の種類及び機能拡張に依らずに機器が処理可能なデータを生成する情報処理装置は既に知られている。上記情報処理装置は機器の機器情報に基づいて機器に実行させる処理内容を設定する処理内容設定手段と、設定された処理内容に未知の情報が含まれる場合に機器情報から未知の情報に対応するコマンドを取得するコマンド取得手段と、取得したコマンドと設定された処理内容とに基づいて機器が処理可能なデータを生成するデータ生成手段とを有している（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記情報処理装置では機器の機器情報に基づいて機器に合わせたデータを生成することができる。しかし、機器側で機能拡張が行われた場合に、機器側では機能拡張部分（プラグインなど）で使用するコマンド（Printer Job Language :PJLなど）について、対応する仕組みがない。つまり、機器側では予め搭載されているコマンド情報しか対応できないという問題があった。
【０００４】
言い換えれば、既存の機器では機器側でコマンド処理する際、予め搭載されているコマンド以外を不正コマンドとして扱うため、機能拡張部分のコマンドを正しく設定できないという問題があった。
【０００５】
本発明は、上記の点に鑑みなされたもので、機能拡張部分のコマンドを正しく設定できる画像形成装置及び印刷パラメータ設定方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明の画像形成装置は、受信した印刷データに含まれる印刷パラメータ設定のコマンドが既存のコマンドか機能拡張部分のコマンドかを判定し、既存のコマンドの印刷パラメータを設定すると共に、機能拡張部分のコマンドの印刷パラメータの設定を要求する制御手段と、搭載されている１つ以上の機能拡張部分を管理し、１つ以上の機能拡張部分のコマンドの印刷パラメータの設定の要求を機能拡張部分に振り分け、機能拡張部分のコマンドの印刷パラメータの設定を機能拡張部分に要求する管理手段とを有し、前記制御手段は、印刷パラメータ設定のコマンドに機能拡張部分の識別情報が付いていれば印刷パラメータ設定のコマンドを機能拡張部分のコマンドと判定することを特徴とする。
【０００７】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、機能拡張部分のコマンドを正しく設定できる画像形成装置及び印刷パラメータ設定方法を提供可能である。
【図面の簡単な説明】
【０００９】
【図１】印刷システムの一例の構成図である。
【図２】画像形成装置の一例のハードウェア構成図である。
【図３】画像形成装置の一例のブロック図である。
【図４】プラグイン搭載プリンタが処理可能な印刷データの一例の構成図である。
【図５】ＰＪＬ処理部の一例のフローチャートである。
【図６】ＰＪＬコマンドリストの一例の構成図である。
【図７】ＧＰＳ部の構造体に設定した環境変数の一例の構成図である。
【図８】プラグイン用ＰＪＬコマンドリストの一例の構成図である。
【図９】本実施の形態の印刷システムの一例のシーケンス図である。
【図１０】印刷システムの一実施例のシーケンス図である。
【図１１】印刷データの一例の構成図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、詳細に説明する。なお、本実施の形態における環境変数は印刷パラメータの一例である。プラグインは機能拡張部分の一例である。画像形成装置は、プリンタ機能、スキャナ機能、ファクシミリ機能、コピー機能などの機能を１又は複数備える機器であればよい。ＰＣは、外部装置の一例である。外部装置はサーバ装置、携帯端末などの装置であればよい。
【００１１】
（構成図）
図１は印刷システムの一例の構成図である。印刷システム１はＰＣ１０と画像形成装置１１とがインターネットやＬＡＮなどのネットワーク１２を介して接続されている。ＰＣ１０は、印刷要求を行う。画像形成装置１１は、ＰＣ１０からの印刷要求に従って印刷を行う。印刷システム１はＰＣ１０及び画像形成装置１１を複数備えてもよい。また、印刷システム１はネットワーク１２を、有線又は無線の何れで構築してもよい。
【００１２】
図２は画像形成装置の一例のハードウェア構成図である。図２の画像形成装置１１は撮像部２１、印刷部２２、ファクシミリ制御部２３、ＣＰＵ２４、ＡＳＩＣ２５、ＲＡＭ２６、ＲＯＭ２７、ＨＤＤ２８、ＮＩＣ（Network Interface Card）２９、オペレーションパネル３０がシステムバス３１を介して接続されている。
【００１３】
撮像部２１は原稿から画像を読み取る装置である。印刷部２２は用紙に画像を印刷する装置である。ファクシミリ制御部２３はファクシミリ制御用の装置である。ＣＰＵ２４は情報処理用の集積回路である。ＡＳＩＣ２５は画像処理用の集積回路である。ＲＡＭ２６は画像形成装置１１内のメモリ（揮発性メモリ）である。ＲＯＭ２７は画像形成装置１１内のメモリ（不揮発性メモリ）である。
【００１４】
ＨＤＤ２８は画像形成装置１１内のストレージである。ＮＩＣ２９は画像形成装置１１のネットワークインタフェースとなる通信装置である。オペレーションパネル３０は画像形成装置１１のユーザインタフェースとなる操作表示装置である。
【００１５】
画像形成装置１１を制御する各種プログラムは、ＲＯＭ２７やＨＤＤ２８に格納されている。なお、以下に示す実施の形態の各種処理は、特に明記しない限り、ＣＰＵ２４がＲＯＭ２７やＨＤＤ２８に格納されたプログラムに従い、ＲＡＭ２６を使用して実行、処理される。
【００１６】
なお、プログラムは例えば記録媒体の配布やネットワーク１２等からのダウンロードなどによって提供される。記録媒体はＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００１７】
プログラムを記録した記録媒体が記録媒体読取装置（図示せず）にセットされることにより、プログラムは記録媒体から記録媒体読取装置を介してＨＤＤ２８にインストールされる。ネットワーク１２等からダウンロードされたプログラムはＮＩＣ２９を介してＨＤＤ２８にインストールされる。
【００１８】
ＨＤＤ２８はプログラム、必要なファイル、データ等を格納する。ＲＡＭ２６はプログラムの起動時に、ＨＤＤ２８からプログラムを読み出して格納する。そして、ＣＰＵ２４はＲＡＭ２６に格納されたプログラムに従って、各種処理を実現している。
【００１９】
図３は画像形成装置の一例のブロック図である。なお、図３のブロック図は本実施の形態の説明に不要なブロックを適宜省略している。
【００２０】
画像形成装置１１は、プリンタ制御部４１、プラグイン管理部４２、プラグイン４３を有する。また、プリンタ制御部４１はＧＰＳ（グローバル印刷システム）部５１、ＰＪＬ処理部５２を有する。
【００２１】
プリンタ制御部４１はプリンタ機能全体を制御する。プラグイン管理部４２はプラグイン４３の管理を行う。プラグイン４３は追加（拡張）した機能を実現する。プラグイン管理部４２はプラグイン情報の取得やプラグイン用コマンドの設定の要求をＧＰＳ部５１から受け付けると、該当するプラグイン４３を判別し、プラグイン用コマンドの設定の要求を振り分ける。
【００２２】
ＧＰＳ部５１は印刷システムであり、受信した印刷データをＰＪＬ処理部５２に解析させる。ＰＪＬ処理部５２は印刷データを解析する。ＧＰＳ部５１は印刷データの解析結果に基づき、ＰＪＬ処理部５２からコマンド設定を受け付ける。また、ＧＰＳ部５１はプラグイン情報の取得やプラグイン用コマンドの設定をプラグイン管理部４２に要求する。
【００２３】
プラグイン管理部４２はプラグイン情報の取得やプラグイン用コマンドの設定をＧＰＳ部５１から要求される。プラグイン管理部４２はプラグイン情報の取得の要求を受け、プラグイン情報をＧＰＳ部５１に送信する。また、プラグイン管理部４２はプラグイン用コマンドの設定の要求に該当するプラグイン４３の判別を行い、該当するプラグイン４３のプラグイン用コマンドの設定をプラグイン４３に要求する。
【００２４】
（処理手順）
まず、ＰＣ１０はアプリケーション等で作成されたデータをプラグイン用ドライバ（図示せず）でプラグイン４３が搭載された画像形成装置（プラグイン搭載プリンタ）１１が処理可能な印刷データへ変換し、画像形成装置１１へ送信する。
【００２５】
図４はプラグイン搭載プリンタが処理可能な印刷データの一例の構成図である。図４の印刷データはプラグイン用ＰＪＬコマンドが含まれる。図４の印刷データは上から３行目の「＠ＰＪＬ  ＳＥＴ  ＸＸＸＸＸ＝ＹＹＹ  ＰＲＯＤＵＣＴＩＤ＝"ｚｚｚｚｚ"」がプラグイン用ＰＪＬコマンドである。ＳＥＴコマンドは指定したプラグイン用の環境変数の値をカレント値として設定する。
【００２６】
プラグイン用ＰＪＬコマンドは「ＰＲＯＤＵＣＴＩＤ」が付く。なお、図４のＳＥＴコマンドの例はパラメータ「ＸＸＸＸＸ」がプラグイン用の環境変数名「variable」を指定している。パラメータ「ＹＹＹ」はプラグイン用の値「value」を指定している。パラメータ「ｚｚｚｚｚ」は、プラグイン４３のプロダクトＩＤ「packageinfo」を指定している。プロダクトＩＤはプラグイン４３を一意に識別可能な識別情報の一例である。
【００２７】
図４のＳＥＴコマンドは「ＰＲＯＤＵＣＴＩＤ」が付いているため、プラグイン用ＰＪＬコマンドと判定できる。したがって、ＰＪＬ処理部５２は「ＰＲＯＤＵＣＴＩＤ」の有無でプラグイン用ＰＪＬコマンド（プラグイン４３に対応したＰＪＬコマンド）であるか否かを判定できる。
【００２８】
図５はＰＪＬ処理部の一例のフローチャートである。ＧＰＳ部５１から印刷データの解析要求を受け付けると、ＰＪＬ処理部５２は図５のフローチャートの処理を開始する。
【００２９】
ステップＳ１において、ＰＪＬ処理部５２は印刷データからコマンドを１つずつ取り出して解析を行う。ステップＳ２において、ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名「variable」がＰＪＬコマンドリストに存在するかを判定する。ＰＪＬ処理部５２はＰＪＬコマンドリストを保持する。ＰＪＬコマンドリストについての詳細は後述する。
【００３０】
取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在すれば、ＰＪＬ処理部５２はステップＳ３において、解析した値「value」がＰＪＬコマンドリストに存在するか否かを判定する。解析した値がＰＪＬコマンドリストに存在すれば、ＰＪＬ処理部５２はステップＳ４において、ＧＰＳ部５１にコマンドの設定を要求し、ＧＰＳ部５１の構造体に環境変数を設定する。ＧＰＳ部５１の構造体に設定した環境変数の一例は後述する。
【００３１】
一方、ステップＳ２において、取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在しないか、又は、ステップＳ３において、解析した値がＰＪＬコマンドリストに存在しなければ、ステップＳ５において、ＰＪＬ処理部５２は「ＰＲＯＤＵＣＴＩＤ」の有無でプラグイン用コマンドか否かを判定する。
【００３２】
ＰＪＬ処理部５２は「ＰＲＯＤＵＣＴＩＤ」があれば、ステップＳ４において、ＧＰＳ部５１にコマンドの設定を要求し、ＧＰＳ部５１の構造体に環境変数を設定する。ＰＪＬ処理部５２は「ＰＲＯＤＵＣＴＩＤ」がなければ、ステップＳ６において、不正コマンドとして無視する。ステップＳ１〜Ｓ６の処理は印刷データに含まれるコマンドの解析が全て終了するまで繰り返し行われる。
【００３３】
図６はＰＪＬコマンドリストの一例の構成図である。ＰＪＬコマンドリストは既存のコマンド、環境変数名及び値のリストである。印刷データから取り出したコマンド、環境変数名及び値がＰＪＬコマンドリストに存在すれば、印刷データから取り出したコマンドは既存のコマンドと判定できる。
【００３４】
図７はＧＰＳ部の構造体に設定した環境変数の一例の構成図である。図７はプラグイン用ＰＪＬコマンドの環境変数の例を示している。
【００３５】
パラメータ「plugin_flag = on」はプラグイン用ＰＪＬコマンドであるか否かを示すフラグである。パラメータ「plugin_variable = "xxxxx"」はプラグイン用の環境変数名を示す。パラメータ「plugin_value = "YYY"」はプラグイン用の値を示す。また、パラメータ「productid = "zzzzz"」はプラグイン４３のプロダクトＩＤを示す。
【００３６】
ＧＰＳ部５１はプラグイン用ＰＪＬコマンドの環境変数の情報である図７に示すような構造体をテンポラリに保持する。ＧＰＳ部５１はプラグイン管理部４２にプラグイン情報の取得を要求する。ＧＰＳ部５１はプラグイン４３のプロダクトＩＤを含むプラグイン情報をプラグイン管理部４２から取得する。
【００３７】
ＧＰＳ部５１は図７の構造体のパラメータ「productid = "zzzzz"」とプラグイン４３のプロダクトＩＤとが一致すれば、図７の構造体に示すプラグイン用コマンドの設定をプラグイン管理部４２に要求する。プラグイン管理部４２はプロダクトＩＤにより該当するプラグイン４３を判別する。
【００３８】
プラグイン管理部４２は図７の構造体に示すプラグイン用コマンドの設定を該当するプラグイン４３に要求する。プラグイン４３は図７の構造体に示すプラグイン用コマンドを設定する。プラグイン４３はプラグイン用ＰＪＬコマンドリストを保持する。プラグイン４３はバージョンの変更によって、使用可能な環境変数名及び値が変化する。
【００３９】
図８はプラグイン用ＰＪＬコマンドリストの一例の構成図である。プラグイン用ＰＪＬコマンドリストはプラグイン用コマンド、環境変数名及び値のリストである。印刷データから取り出したコマンド、環境変数名及び値がプラグイン用ＰＪＬコマンドリストに存在すれば、印刷データから取り出したコマンドはプラグイン用コマンドと判定できる。
【００４０】
このように、本実施の形態によれば、プリンタ制御部４１はプラグイン用ＰＪＬコマンドリストを保持していなくても、既存のコマンド、プラグイン用コマンド、不正（定義のない）コマンドを判別できる。
【００４１】
図９は本実施の形態の印刷システムの一例のシーケンス図である。起動時、画像形成装置１１はステップＳ１１において、搭載されている１又は複数のプラグイン４３にプロダクトＩＤの取得を要求する。ステップＳ１２において、プラグイン４３は自身のプラグイン名及びプロダクトＩＤをプラグイン管理部４２に通知する。
【００４２】
ステップＳ１３において、プラグイン管理部４２はプラグイン４３から通知されたプラグイン名及びプロダクトＩＤを用いて、プラグインリスト（搭載プラグインリスト）７０を作成する。プラグインリスト７０は画像形成装置１１に搭載されているプラグイン４３のプラグイン名及びプロダクトＩＤを対応付けたものである。
【００４３】
ステップＳ１４において、ＰＣ１０のプラグイン用ドライバ６１はアプリケーション等で作成されたデータを画像形成装置１１が処理可能な印刷データへ変換し、画像形成装置１１へ送信して、印刷を要求する。
【００４４】
ステップＳ１５において、画像形成装置１１は印刷データの処理をＧＰＳ部５１に要求する。ステップＳ１６において、ＧＰＳ部５１は印刷データの解析をＰＪＬ処理部５２に要求する。ＰＪＬ処理部５２は図５のフローチャートを用いて説明したようにＰＪＬコマンドリストに存在するコマンドを既存のＰＪＬコマンドと判定する。
【００４５】
また、ＰＪＬ処理部５２はコマンドに「ＰＲＯＤＵＣＴＩＤ」が付いていれば、プラグイン用ＰＪＬコマンドと判定する。さらに、ＰＪＬ処理部５２はＰＪＬコマンドリストに存在しておらず、コマンドに「ＰＲＯＤＵＣＴＩＤ」が付いていなければ、不正コマンドと判定する。
【００４６】
既存のＰＪＬコマンドと判定すると、ＰＪＬ処理部５２はステップＳ１７において既存のＰＪＬコマンドの設定をＧＰＳ部５１に要求する。プラグイン用ＰＪＬコマンドと判定すると、ＰＪＬ処理部５２はステップＳ１７においてプラグイン用ＰＪＬコマンドの設定をＧＰＳ部５１に要求する。なお、不正コマンドと判定すると、ＰＪＬ処理部５２は無視する。
【００４７】
ステップＳ１８において、ＧＰＳ部５１はプラグイン管理部４２にプラグイン情報の取得を要求する。ステップＳ１９において、プラグイン管理部４２はプラグインリスト７０を検索して、画像形成装置１１に搭載されているプラグイン４３のプロダクトＩＤを取得する。
【００４８】
ステップＳ２０において、プラグイン管理部４２はプラグイン４３のプロダクトＩＤを含むプラグイン情報をＧＰＳ部５１に提供する。ステップＳ２１において、ＧＰＳ部５１はプラグイン用ＰＪＬコマンドに含まれるプロダクトＩＤとプラグイン管理部４２から取得したプロダクトＩＤとを比較し、プロダクトＩＤが一致すれば、図７の構造体に示すプラグイン用コマンドの設定（印刷設定）をプラグイン管理部４２に要求する。
【００４９】
ステップＳ２２において、プラグイン管理部４２はプラグイン用コマンドの設定の要求をＧＰＳ部５１から受け付けると、プラグインＩＤを利用することで、該当するプラグイン４３を判別し、プラグイン用コマンドの設定の要求を判別したプラグイン４３に振り分ける。そして、ステップＳ２３において、プラグイン４３はプラグイン管理部４２から取得したプラグイン用コマンドの設定を行う。
【実施例１】
【００５０】
図１０は、印刷システムの一実施例のシーケンス図である。図１０は画像形成装置１１に搭載されているプラグイン４３が、プラグイン（ＰｌｕｇｉｎＡ）４３−１及びプラグイン（Ｃ−Ｐｌｕｇｉｎ）４３−２の例である。
【００５１】
起動時、画像形成装置１１はステップＳ３１において、プラグイン４３−１にプロダクトＩＤの取得を要求する。ステップＳ３２において、プラグイン４３−１は自身のプラグイン名及びプロダクトＩＤをプラグイン管理部４２に通知する。
【００５２】
また、画像形成装置１１はステップＳ３３において、プラグイン４３−２にプロダクトＩＤの取得を要求する。ステップＳ３４において、プラグイン４３−２は自身のプラグイン名及びプロダクトＩＤをプラグイン管理部４２に通知する。
【００５３】
ステップＳ３５において、プラグイン管理部４２はプラグイン４３−１及び４３−２から通知されたプラグイン名及びプロダクトＩＤを用いて、プラグインリスト（搭載プラグインリスト）８０を作成する。プラグインリスト８０は画像形成装置１１に搭載されているプラグイン４３−１及び４３−２のプラグイン名及びプロダクトＩＤを対応付けたものである。
【００５４】
ステップＳ３６において、ＰＣ１０のプラグイン用ドライバ６１はアプリケーション等で作成されたデータを画像形成装置１１が処理可能な例えば図１１に示す印刷データへ変換し、画像形成装置１１へ送信して、印刷を要求する。
【００５５】
図１１は印刷データの一例の構成図である。図１１の印刷データは３行目のＳＥＴコマンドと５行目のＳＥＴコマンドとがプラグイン用ＰＪＬコマンドである。ステップＳ３７において、画像形成装置１１は印刷データの処理をＧＰＳ部５１に要求する。ステップＳ３８において、ＧＰＳ部５１は印刷データの解析をＰＪＬ処理部５２に要求する。
【００５６】
ステップＳ３９に進み、ＰＪＬ処理部５２は図１１の印刷データから１行目のＳＥＴコマンドを取り出して、図５のフローチャートを用いて説明したように解析を行う。ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するかを判定する。ここでは、取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するものとして説明を続ける。
【００５７】
ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するため、既存のＰＪＬコマンドと判定する。既存のＰＪＬコマンドと判定すると、ＰＪＬ処理部５２はステップＳ４０において既存のＰＪＬコマンドの設定をＧＰＳ部５１に要求する。
【００５８】
ステップＳ４１に進み、ＰＪＬ処理部５２は図１１の印刷データから２行目のＳＥＴコマンドを取り出して、１行目のＳＥＴコマンドと同様、処理を行う。ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するかを判定する。ここでは、取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するものとして説明を続ける。
【００５９】
ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するため、既存のＰＪＬコマンドと判定する。既存のＰＪＬコマンドと判定すると、ＰＪＬ処理部５２はステップＳ４２において既存のＰＪＬコマンドの設定をＧＰＳ部５１に要求する。
【００６０】
ステップＳ４３に進み、ＰＪＬ処理部５２は図１１の印刷データから３行目のＳＥＴコマンドを取り出して、図５のフローチャートを用いて説明したように解析を行う。ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するかを判定する。
【００６１】
ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名の少なくとも一方がＰＪＬコマンドリストに存在しないため、「ＰＲＯＤＵＣＴＩＤ」の有無でプラグイン用コマンドか否かを判定する。「ＰＲＯＤＵＣＴＩＤ」が付いているため、ＰＪＬ処理部５２はプラグイン用ＰＪＬコマンドと判定する。ＰＪＬ処理部５２はプラグイン用ＰＪＬコマンドと判定すると、ステップＳ４４においてプラグイン用ＰＪＬコマンドの設定をＧＰＳ部５１に要求する。
【００６２】
ステップＳ４５に進み、ＰＪＬ処理部５２は図１１の印刷データから４行目のＳＥＴコマンドを取り出して、１行目のＳＥＴコマンドと同様、処理を行う。ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するかを判定する。ここでは、取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するものとして説明を続ける。
【００６３】
ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するため、既存のＰＪＬコマンドと判定する。既存のＰＪＬコマンドと判定すると、ＰＪＬ処理部５２はステップＳ４６において既存のＰＪＬコマンドの設定をＧＰＳ部５１に要求する。
【００６４】
ステップＳ４７に進み、ＰＪＬ処理部５２は図１１の印刷データから５行目のＳＥＴコマンドを取り出して、３行目のＳＥＴコマンドと同様、処理を行う。ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名がＰＪＬコマンドリストに存在するかを判定する。
【００６５】
ＰＪＬ処理部５２は取り出したコマンド及び解析した環境変数名の少なくとも一方がＰＪＬコマンドリストに存在しないため、「ＰＲＯＤＵＣＴＩＤ」の有無でプラグイン用コマンドか否かを判定する。「ＰＲＯＤＵＣＴＩＤ」が付いているため、ＰＪＬ処理部５２はプラグイン用ＰＪＬコマンドと判定する。ＰＪＬ処理部５２はプラグイン用ＰＪＬコマンドと判定すると、ステップＳ４８においてプラグイン用ＰＪＬコマンドの設定をＧＰＳ部５１に要求する。
【００６６】
６行目以降の処理の説明は省略する。ステップＳ４９において、ＰＪＬ処理部５２は解析完了をＧＰＳ部５１に通知する。ステップＳ５０において、ＧＰＳ部５１は既存のＰＪＬコマンドの設定を行う。
【００６７】
ステップＳ５１において、ＧＰＳ部５１はプラグイン管理部４２にプラグイン情報８１の取得を要求する。ステップＳ５２において、プラグイン管理部４２はプラグインリスト８０を検索して、画像形成装置１１に搭載されているプラグイン４３−１及び４３−２のプロダクトＩＤを取得する。ステップＳ５３において、プラグイン管理部４２はプラグイン４３−１及び４３−２のプロダクトＩＤを含むプラグイン情報を、ＧＰＳ部５１に提供する。
【００６８】
ステップＳ５４において、ＧＰＳ部５１はプラグイン用ＰＪＬコマンドに含まれるプロダクトＩＤとプラグイン管理部４２から取得したプロダクトＩＤとを比較し、プロダクトＩＤが一致すれば、プラグイン用の設定環境変数情報８２に示すプラグイン用コマンドの設定（印刷設定）をプラグイン管理部４２に要求する。
【００６９】
ステップＳ５５において、プラグイン管理部４２はプラグイン用コマンドの設定の要求をＧＰＳ部５１から受け付けると、プラグインＩＤを利用することで、該当するプラグイン４３−１を判別し、プラグイン用コマンドの設定の要求を判別したプラグイン４３−１に振り分ける。そして、ステップＳ５６において、プラグイン４３−１はプラグイン管理部４２から取得したプラグイン用コマンド８３の設定を行う。
【００７０】
また、ステップＳ５７において、プラグイン管理部４２はプラグインＩＤを利用することで、該当するプラグイン４３−２を判別し、プラグイン用コマンドの設定の要求を判別したプラグイン４３−２に振り分ける。そして、ステップＳ５８において、プラグイン４３−２はプラグイン管理部４２から取得したプラグイン用コマンド８４の設定を行う。
【００７１】
このように、本実施例によれば、プリンタ制御部４１はプラグイン用ＰＪＬコマンドリストを保持していなくても、図１１の印刷データから既存のコマンド、プラグイン用コマンド、不正（定義のない）コマンドを判別できる。
【００７２】
（まとめ）
本実施の形態によれば、プリンタ制御部４１はプラグイン用ＰＪＬコマンドリストを保持していなくても、既存のコマンド、プラグイン用コマンド、不正（定義のない）コマンドを判別できるので、プラグイン用コマンドを正しく設定できる。
【００７３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した制御手段はプリンタ制御部４１に相当する。管理手段はプラグイン管理部４２に相当する。
【符号の説明】
【００７４】
１    印刷システム
１０    ＰＣ
１１    画像形成装置
１２    ネットワーク
２１    撮像部
２２    印刷部
２３    ファクシミリ制御部
２４    ＣＰＵ
２５    ＡＳＩＣ
２６    ＲＡＭ
２７    ＲＯＭ
２８    ＨＤＤ
２９    ＮＩＣ（Network Interface Card）
３０    オペレーションパネル
３１    システムバス
４１    プリンタ制御部
４２    プラグイン管理部
４３、４３−１、４３−２    プラグイン
５１    ＧＰＳ（グローバル印刷システム）部
５２    ＰＪＬ処理部
６１    プラグイン用ドライバ
７０、８０    プラグインリスト
【先行技術文献】
【特許文献】
【００７５】
【特許文献１】特開２００８−９９６７号公報
【図１】
2013010291.tif 000003
【図２】
2013010291.tif 000004
【図３】
2013010291.tif 000005
【図４】
2013010291.tif 000006
【図５】
2013010291.tif 000007
【図６】
2013010291.tif 000008
【図７】
2013010291.tif 000009
【図８】
2013010291.tif 000010
【図９】
2013010291.tif 000011
【図１０】
2013010291.tif 000012
【図１１】
2013010291.tif 000013