(57)【要約】【課題】プリンタドライバが生成するジョブ制御言語と画像形成装置で使われるジョブ制御言語が異なる場合においても、ユーザーの希望する印刷設定に応じた出力を行うことを目的とする。【解決手段】画像形成装置であって、印刷データに対応する第１のジョブ制御言語を取得する取得手段と、第１のジョブ制御言語において定義された印刷属性に係る基準条件が画像形成装置において利用される第２のジョブ制御言語において定義された、印刷属性に係る基準条件と異なる場合に、第１のジョブ制御言語に係る基準条件及び第２のジョブ制御言語に係る基準条件に応じて、第１のジョブ制御言語において定義された印刷属性に係る設定値を修正する修正手段と、修正手段による修正後の設定値を、第２のジョブ制御言語に対応した設定値に変換する変換手段とを有する。【選択図】図１１
2020019226.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
印刷データに対応する第１のジョブ制御言語を取得する取得手段と、
前記第１のジョブ制御言語において定義された印刷属性に係る基準条件が前記画像形成装置において利用される第２のジョブ制御言語において定義された、前記印刷属性に係る基準条件と異なる場合に、前記第１のジョブ制御言語に係る前記基準条件及び前記第２のジョブ制御言語に係る前記基準条件に応じて、前記第１のジョブ制御言語において定義された前記印刷属性に係る設定値を修正する修正手段と、
前記修正手段による修正後の前記設定値を、前記第２のジョブ制御言語に対応した設定値に変換する変換手段と
を有することを特徴とする画像形成装置。
【請求項２】
前記修正手段は、前記第１のジョブ制御言語に係る前記基準条件に応じた設定値と、前記第２のジョブ制御言語に係る前記基準条件に応じた設定値とを対応付ける対応テーブルを参照して、前記設定値を修正することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記修正手段は、前記第１のジョブ制御言語に係る前記基準条件と、前記第２のジョブ制御言語に係る前記基準条件と、が等しい場合に、前記設定値の修正を行わないよう制御することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記設定値が用紙上の位置を示す値である場合に、印刷データの向きが予め定められた向きであるか否かを判定する向き判定手段と、
前記印刷データの向きが予め定められた向きである場合に、前記第１のジョブ制御言語に係る基準条件と前記第２のジョブ制御言語に係る基準条件とが異なるか否かを判定する条件判定手段と
をさらに有し、
前記修正手段は、前記条件判定手段により前記第１のジョブ制御言語に係る前記基準条件と前記第２のジョブ制御言語に係る前記基準条件が異なると判定された場合に、前記設定値の修正を行うことを特徴とする請求項１乃至３の何れか１項に記載の画像形成装置。
【請求項５】
前記修正手段は、前記印刷データの向きが予め定められた向きでない場合に、前記設定値の修正を行わないように制御することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記印刷データが面付けされているか否かを判定する面付け判定手段をさらに有し、
前記向き判定手段は、前記面付け判定手段により面付けされていると判定された場合に、面付け後の前記印刷データの向きを判定することを特徴とする請求項４又は５に記載の画像形成装置。
【請求項７】
前記修正手段は、前記第１のジョブ制御言語に係る前記基準条件が特定されない場合に、前記第１のジョブ制御言語の前記設定値を、予め定められた基準条件に応じて修正することを特徴とする請求項１乃至６の何れか１項に記載の画像形成装置。
【請求項８】
画像形成装置が実行する制御方法であって、
印刷データに対応する第１のジョブ制御言語を取得する取得ステップと、
前記第１のジョブ制御言語において定義された印刷属性に係る基準条件が前記画像形成装置において利用される第２のジョブ制御言語において定義された、前記印刷属性に係る基準条件と異なる場合に、前記第１のジョブ制御言語に係る前記基準条件及び前記第２のジョブ制御言語に係る前記基準条件に応じて、前記第１のジョブ制御言語において定義された前記印刷属性に係る設定値を修正する修正ステップと、
前記修正ステップにおける修正後の前記設定値を、前記第２のジョブ制御言語に対応した設定値に変換する変換ステップと
を含む制御方法。
【請求項９】
コンピュータを、請求項１乃至７の何れか１項に記載の画像形成装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチジョブ制御言語環境における印刷に関する制御を行う画像形成装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
ＰＣにインストールされたドライバから画像形成装置に印刷を指示する際にプリンタドライバが生成する印刷データには、描画情報が含まれるページ記述言語と印刷設定などジョブの制御情報が含まれるジョブ制御言語の２つがある。従来、プリンタドライバが出力するジョブ制御言語と、画像形成装置が利用するジョブ制御言語は同一であった。しかし、近年、マルチジョブ制御言語環境において、プリンタドライバが出力するジョブ制御言語と画像形成装置が利用するジョブ制御言語が異なるユースケースが出てきている。ジョブ制御言語としては、ＨＰ（ヒューレットパッカード）が策定したＰＪＬ（Printer  Job  Language）や、キヤノンが作成したＣＰＣＡなど印刷ベンダーが定義したジョブ制御言語が挙げられる。また、ＪＤＦ（Portable  Document  Format）やジョブチケットなど印刷業界団体が定義したジョブ制御言語がある。
【０００３】
特許文献１には、印刷データを生成するベンダーと画像形成処理を行うベンダーが異なりジョブ制御言語のうち画像の天地情報が不足している場合、ステイプルやパンチなどフィニッシング位置から画像の天地を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１１３９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、プリンタドライバが生成するジョブ制御言語においては、印刷される画像の上下方向を基準としてフィニッシング位置が定義されている一方で、画像形成装置では、用紙の縦方向を基準としてフィニッシング位置が定義されている場合がある。このような場合には、ユーザーの希望しない位置にフィニッシングが行われる可能性がある。
【０００６】
本発明はこのような問題点に鑑みなされたもので、プリンタドライバが生成するジョブ制御言語と画像形成装置で使われるジョブ制御言語が異なる場合においても、ユーザーの希望する印刷設定に応じた出力を行うことを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、画像形成装置であって、印刷データに対応する第１のジョブ制御言語を取得する取得手段と、前記第１のジョブ制御言語において定義された印刷属性に係る基準条件が前記画像形成装置において利用される第２のジョブ制御言語において定義された、前記印刷属性に係る基準条件と異なる場合に、前記第１のジョブ制御言語に係る前記基準条件及び前記第２のジョブ制御言語に係る前記基準条件に応じて、前記第１のジョブ制御言語において定義された前記印刷属性に係る設定値を修正する修正手段と、前記修正手段による修正後の前記設定値を、前記第２のジョブ制御言語に対応した設定値に変換する変換手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、プリンタドライバが生成するジョブ制御言語と画像形成装置で使われるジョブ制御言語が異なる場合においても、ユーザーの希望する印刷設定に応じた出力を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】印刷システムの全体構成図である。
【図２】画像形成装置のハードウェア構成図である。
【図３】ＰＣのハードウェア構成図である。
【図４】印刷データ生成方法の説明図である。
【図５】ジョブ制御言語の一例を示す図である。
【図６】基準条件テーブルの一例を示す図である。
【図７】基準条件の説明図である。
【図８】修正テーブルの一例を示す図である。
【図９】印刷データ生成処理を示すフローチャートである。
【図１０】ジョブ制御処理を示すフローチャートである。
【図１１】設定値を修正して変換する処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
図１は、印刷システムの全体構成図である。画像形成装置１００は、ネットワーク１２０を介してＰＣ１１０等の外部装置と通信可能である。ＰＣ１１０は、ネットワーク１２０を介して印刷データを画像形成装置１００に送信する。画像形成装置１００は、印刷データを受信すると、印刷データに基づいて、印刷処理を実行する。
【００１１】
図２は、画像形成装置１００のハードウェア構成図である。なお、本実施形態においては、画像形成装置１００は、スキャナ機能を有する複合機であるものとする。但し、画像形成装置１００は、単機能のプリンタであってもよい。画像形成装置１００は、コントロールユニット２２０と、プリンタ２０７と、スキャナ２０９と、操作部２１１と、を有している。コントロールユニット２２０は、バス２００と、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ２０４と、プリンタＩ／Ｆ２０６と、スキャナＩ／Ｆ２０８と、操作部Ｉ／Ｆ２１０と、ネットワークＩ／Ｆ２１２とを有している。
【００１２】
ＣＰＵ２０１は、ＲＯＭ２０２が記憶している制御プログラムを読み出して、画像形成装置１００の動作を制御するための様々な処理を実行する。ＣＰＵ２０１は、バス２００によって他のユニットと接続されている。ＲＯＭ２０２は、制御プログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２０４は、印刷データやスキャン画像等の様々なデータを記憶する。なお、後述する画像形成装置１００の機能や処理は、ＣＰＵ２０１が、ＲＯＭ２０２又はＨＤＤ２０４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものとする。ただし、他の例としては、画像形成装置１００は、複数のＣＰＵを有し、複数のＣＰＵが協働して処理等を実現するものとしてもよい。
【００１３】
プリンタＩ／Ｆ２０６は、プリンタ２０７とバス２００とを接続する。プリンタ２０７は、外部装置から受信した印刷データやスキャナ２０９によって生成されたスキャン画像等に基づいて印刷処理を実行する。スキャナＩ／Ｆ２０８は、スキャナ２０９とバス２００とを接続する。スキャナ２０９は、原稿を読み取ってスキャン画像を生成する。スキャナ２０９によって生成されたスキャン画像は、プリンタ２０７によって印刷されたり、ＨＤＤ２０４に記憶されたりする。
【００１４】
操作部Ｉ／Ｆ２１０は、操作部２１１とバス２００とを接続する。操作部２１１は、タッチパネル機能を有する液晶表示部やキーボードを備え、各種操作画面を表示する。ユーザーは、操作部２１１を介して画像形成装置１００に対して指示や情報を入力することができる。ネットワークＩ／Ｆ２１２は、ネットワーク１２０に接続してネットワーク上の外部装置との通信を実行する。ネットワークＩ／Ｆ２１２は、外部装置から送信された印刷データを受信する。プリンタ２０７は、ネットワークＩ／Ｆ２１２を介して受信した印刷データに基づく印刷処理を実行する。
【００１５】
図３は、ＰＣ１１０のハードウェア構成図である。ＣＰＵ３０１は、ＲＯＭ３０２が記憶している制御プログラムを読み出して、ＰＣ１１０の動作を制御するための様々な処理を実行する。ＣＰＵ３０１は、バス３００によって他のユニットと接続されている。ＲＯＭ３０２は、制御プログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３０４は、各種ファイル等のデータを記憶する。後述するＰＣ１１０の機能や処理は、ＣＰＵ３０１が、ＲＯＭ３０２又はＨＤＤ３０４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものとする。
【００１６】
操作部Ｉ／Ｆ３０７は、操作部３０８とバス３００とを接続する。操作部３０８は、マウスやキーボードを備え、ユーザーは操作部３０８を介してＰＣ１１０に対して指示や情報を入力することができる。表示部Ｉ／Ｆ３０５は、表示部３０６とバス３００とを接続する。表示部３０６は、ディスプレイを備える。ネットワークＩ／Ｆ３０９は、ネットワーク１２０に接続してネットワーク上の外部装置との通信を実行する。ネットワークＩ／Ｆ３０９は、外部装置へ印刷データを送信する。
【００１７】
次に、図４を参照しつつ、ＰＣ１１０にインストールされたプリンタドライバを用いて印刷データを生成する方法の例について説明する。本実施形態において、プリンタドライバは、ＨＰ（ヒューレッドパッカード）社が定義したＰＪＬとＰＣＬ（Printer  Control  Language）を含む印刷データを生成し、画像形成装置１００に送信するものとする。また、プリンタドライバは、異なる種類の画像形成装置に対し印刷データを送信可能なユニバーサルプリンタドライバであるものとする。プリンタドライバは、検索で見つかった画像形成装置やインストール時に出力先として指定された画像形成装置に対して印刷データを送信することができる。なお、プリンタドライバは、予め準備された構成プロファイルなどを読み込むことで、出力先毎にカスタマイズした印刷設定用のＵＩを表示することができる。ここでは、ユニバーサルプリンタドライバの出力先として画像形成装置１００が指定されているものとして説明する。
【００１８】
図４（ａ）は、ＰＣ１１０にインストールされたプリンタドライバのＵＩである。ユーザーはこのＵＩ画面を操作することにより、所望の印刷設定を行うことができる。例えば印刷設定の一つであるステイプルの設定は４０１のリストで行うことができる。またユーザーが４０２の設定ボタンを押下すると、図４（ｂ）の画面が開く。図４（ｂ）の画面の４０３において、ユーザーはステイプルを行いたい位置を選択することができる。このように、プリンタドライバのＵＩにおいて設定された内容（印刷設定）が印刷属性の設定値として、ジョブ制御言語に反映される。なお、ステイプルは、印刷属性の一例であり、ステイプルを行いたい位置、すなわちステイプル位置は、ステイプルという印刷属性に係る設定値の一例である。すなわち、ジョブ制御言語には、印刷属性の設定値が含まれる。なお、印刷属性は、印刷に係る設定事項であり、ステイプルの他にも、パンチ、断裁、用紙サイズ、面付け、印刷面等が挙げられる。また、設定値は、各印刷属性に対して設定された値である。パンチや裁断の設定値は、用紙上の位置を示す値であり、用紙サイズの設定値は、Ａ４、Ａ３等用紙サイズを示す値である。面付けの設定値は、２イン１、４イン１等用紙に割り当てる画像の数を示す値であり、印刷面の設定値は、両面片面等印刷面を示す値がある。
【００１９】
図５は、ＰＣ１１０から画像形成装置１００に送信される印刷データに含まれるジョブ制御言語の一例を示す図である。図５に示す例では、ＰＪＬで印刷設定が記録されている。図４で設定したステイプルの情報は印刷属性の情報として行５０１に記載されている。また、ステイプルの位置の情報はステイプルの印刷属性に係る設定値として行５０２に記載されている。なお、ステイプル位置の設定値としては、左上、右上、左下、右下の４箇所がある。ただし、指定の基準条件はジョブ制御言語によって異なる場合があり、同じ設定値でも異なる位置を示している場合がある。本実施形態においては、基準条件として、画像基準と用紙基準とがある。画像基準においては、印刷用紙に印刷された画像の上下方向を基準として、上記４箇所が定義される。一方で、用紙基準においては、印刷された画像の上下方向によらず、用紙の上下方向（縦方向とする）を基準として、上記４箇所が定義される。このため、用紙の上下方向と画像の上下方向が一致していない場合には、同じ設定値であっても、用紙上の異なる位置を指定していることになる。
【００２０】
図６（ａ）は、画像基準の例を示す図である。縦長の画像(ポートレート)の場合の左上の位置と横長の画像（ランドスケープ）の場合の左上の位置は、用紙上の異なる位置になる。また、図６（ｂ）は、用紙基準の例を示す図である。用紙の左上の位置は、ポートレートでは画像の左上の位置となるが、ランドスケープでは画像の右上の位置となる。このように、画像基準と用紙基準における等しい設定値は、画像がポートレートの画像の場合には、用紙上において等しい位置を指定する一方で、画像がランドスケープの画像の場合には、用紙上において異なる位置を指定する。
【００２１】
図７は、ジョブ制御言語と、基準条件と、を対応付けた基準条件テーブル７００の一例を示す図である。基準条件テーブル７００は、例えば、ＨＤＤ２０４等に記憶されている。本実施形態においては、印刷属性「ステイプル」に係る設定値「ステイプル位置」の基準条件が対応付けられているものとする。画像形成装置１００は、基準条件テーブル７００を参照することで、ジョブ制御言語から、そのジョブ制御言語の印刷属性「ステイプル」に係る設定値「ステイプル位置」の基準条件を特定することができる。なお、ステイプルの他、パンチ、断裁等の印刷属性の設定値は、いずれも処理が行われる用紙上の位置が設定値となる。このように、用紙上の位置を示す設定値においては、ステイプルと同様に、画像基準又は用紙基準の基準条件が定義される。
【００２２】
マルチジョブ制御言語環境においては、ＰＣ１１０のプリンタドライバで生成されたジョブ制御言語であるＰＪＬが画像形成装置１００で利用されるジョブ制御言語と異なる場合がある。このため、画像形成装置１００のジョブ制御言語において定義されたステイプル位置の基準条件と、プリンタドライバから受信したジョブ制御言語において定義されたステイプル位置の基準条件とが異なる場合がある。本実施形態に係る画像形成装置１００は、基準条件が異なる場合には、プリンタドライバから受信したジョブ制御言語において設定されているステイプル位置の設定値を、画像形成装置１００のジョブ制御言語に応じた設定値になるように修正する。
【００２３】
図８は、ステイプル位置の修正に際して画像形成装置１００が参照する設定値の修正テーブル８００の一例を示す図である。ここで、修正テーブル８００は、対応テーブルの一例である。修正テーブル８００は、例えば、ＨＤＤ２０４等に記憶されている。修正テーブル８００は、画像基準におけるステイプル位置の設定値と、用紙基準におけるステイプル位置の設定値とを対応付けて記憶している。修正テーブル８００においては、用紙上の同じ位置を示す設定値が対応付けられている。画像形成装置１００は、修正テーブル８００に示される画像基準のステイプル位置の設定値を、対応する用紙基準のステイプル位置の設定値へ修正する。これにより、ステイプル位置の設定値は、画像形成装置１００において利用されるジョブ制御言語においても、プリンタドライバにおいて設定された用紙上の位置が正しく指定された値となる。
【００２４】
図９は、ＰＣ１１０による印刷データ生成処理を示すフローチャートである。ここでは、フィニッシング設定としてステイプルを設定する場合を例に説明する。Ｓ９００において、ＣＰＵ３０１は、印刷画面が表示部３０６に表示されたか否かを判断する。ＣＰＵ３０１は、印刷画面が表示された場合には（Ｓ９００でＹＥＳ）、処理をＳ９０１へ進める。ＣＰＵ３０１は、印刷画面が表示されていない場合には（Ｓ９００でＮＯ）、印刷データ生成処理を終了する。Ｓ９０１において、ＣＰＵ３０１は、印刷画面において、プリンタのプロパティのボタンが押下されたか否かを判断する。ＣＰＵ３０１は、プロパティのボタンが押下された場合には（Ｓ９０１でＹＥＳ）、処理をＳ９０２へ進める。ＣＰＵ３０１は、プロパティのボタンが押下されていない場合には（Ｓ９０１でＮＯ）、処理をＳ９０７へ進める。
【００２５】
Ｓ９０２において、ＣＰＵ３０１は、ステイプル設定のボタンが押下されたか否かを判断する。ＣＰＵ３０１は、ステイプル設定のボタンが押下された場合には（Ｓ９０２でＹＥＳ）、処理をＳ９０３へ進める。ＣＰＵ３０１は、ステイプル設定のボタンが押下されなかった場合には（Ｓ９０２でＮＯ）、処理をＳ９０７へ進める。Ｓ９０３において、ＣＰＵ３０１は、ステイプル設定画面を表示する。次に、Ｓ９０４において、ＣＰＵ３０１は、ユーザーにより入力されたステイプル設定を受け付ける。次に、Ｓ９０５において、ＣＰＵ３０１は、ＯＫボタンが押下されたか否かを判断する。ＣＰＵ３０１は、ＯＫボタンが押下された場合には（Ｓ９０５でＹＥＳ）、処理をＳ９０６へ進める。ＣＰＵ３０１は、ＯＫボタンが押下されなかった場合には（Ｓ９０５でＮＯ）、処理をＳ９０２へ進める。
【００２６】
Ｓ９０６において、ＣＰＵ３０１は、ステイプル設定を印刷データに反映する。次に、Ｓ９０７において、ＣＰＵ３０１は、印刷ボタンが押下されたか否かを判断する。ＣＰＵ３０１は、印刷ボタンが押下された場合には（Ｓ９０７でＹＥＳ）、印刷データ生成処理を終了する。ＣＰＵ３０１は、印刷ボタンが押下されなかった場合には（Ｓ９０７でＮＯ）、処理をＳ９０１へ進める。
【００２７】
図１０は、画像形成装置１００によるジョブ制御処理を示すフローチャートである。Ｓ１０００において、ＣＰＵ２０１は、印刷データをネットワークＩ／Ｆ２１２経由でＰＣ１１０から受信し、ＲＡＭ２０３に記録する。印刷データには、プリンタドライバにより生成されたジョブ制御言語が含まれている。なお、Ｓ１０００の処理は、ジョブ制御言語の取得処理の一例である。次に、Ｓ１００１において、ＣＰＵ２０１は、Ｓ１０００において受信した印刷データに含まれるジョブ制御言語と、画像形成装置１００が利用するジョブ制御言語が異なるか否かを判断する。ＣＰＵ２０１は、ジョブ制御言語が異なる場合は（Ｓ１００１でＹＥＳ）、処理をＳ１００２へ進める。ＣＰＵ２０１は、ジョブ制御言語が等しい場合には（Ｓ１００１でＮＯ）、処理をＳ１０１０へ進める。
【００２８】
Ｓ１００２において、ＣＰＵ２０１は、印刷データのジョブ制御言語に含まれる、印刷属性の設定値を１つ選択する。次に、Ｓ１００３において、ＣＰＵ２０１は、Ｓ１００２において選択された、処理対象の設定値の修正が必要か否かを判定する。ＣＰＵ２０１は、プリントジョブで生成されたジョブ制御言語の設定値を、画像形成装置１００で利用されるジョブ制御言語における設定値に変換する処理を行う。ただし、前述のように、設定値がステイプル位置の場合には、基準条件が異なる場合がある。そこで、この場合には、画像形成装置１００は、設定値がステイプル位置の場合には、設定値の修正が必要と判定する。一方で、設定値「用紙サイズ」は、いずれのジョブ制御言語においても同じ基準条件に準じている。このため、ジョブ制御言語Ａにおける用紙サイズの設定値がＡ３の場合には、ジョブ制御言語Ｂにおける用紙サイズの設定値もＡ３と等しくなる。この場合には、設定値を修正せずにそのまま他のジョブ制御言語に変換可能である。したがって、ＣＰＵ２０１は、用紙サイズの設定値の修正は不要と判定する。
【００２９】
なお、画像形成装置１００は、印刷属性毎に、設定値の修正が必要か否かを示す情報を記憶しているものとする。そして、ＣＰＵ２０１は、この情報を参照することで、処理対象の設定値が修正せずに変換可能か否かを判定する。
【００３０】
ＣＰＵ２０１は、処理対象の設定値の修正が必要な場合には（Ｓ１００３でＹＥＳ）、処理をＳ１００５へ進める。ＣＰＵ２０１は、処理対象の設定値の修正が必要な場合には（Ｓ１００３でＮＯ）、処理をＳ１００４へ進める。Ｓ１００４において、ＣＰＵ２０１は、処理対象の設定値を修正せずに、画像形成装置１００のジョブ制御言語に係る設定値に変換し、その後処理をＳ１００９へ進める。
【００３１】
Ｓ１００５において、ＣＰＵ２０１は、処理対象の設定値が修正すれば、画像形成装置１００において使用可能な値であるか否かを判定する。上述の通りステイプル位置は、基準条件に応じて修正することで、画像形成装置１００のジョブ制御言語に応じた設定値（ステイプル位置）に変換することができる。したがって、ＣＰＵ２０１は、ステイプル位置については、修正すれば使用可能な値であると判定する。一方で、処理対象の設定値に対応した機能（例えばリングバインダ等）が画像形成装置１００に存在しない場合には、ＣＰＵ２０１は、修正すれば使用可能な値ではない、すなわち修正しても使用可能でない、と判定する。なお、画像形成装置１００は、印刷属性毎に、修正すれば使用可能か否かを示す情報を記憶しているものとする。そして、ＣＰＵ２０１は、この情報を参照することで、処理対象の設定値が修正すれば使用可能な値か否かを判定する。
【００３２】
ＣＰＵ２０１は、印刷属性の設定値を修正すれば使用可能な場合には（Ｓ１００５でＹＥＳ）、処理をＳ１００６へ進める。ＣＰＵ２０１は、印刷属性の設定値を修正しても使用不可能な場合には（Ｓ１００５でＮＯ）、処理をＳ１００７へ進める。Ｓ１００６において、ＣＰＵ２０１は、設定値を修正し、修正後の設定値を画像形成装置１００のジョブ制御言語に係る設定値に変換し、その後処理をＳ１００９へ進める。
【００３３】
Ｓ１００７において、ＣＰＵ２０１は、処理対象の設定値が解釈可能か否かを判定する。例えば、処理対象の設定値がコメント等であり、画像形成装置１００がこのコメントに対応していない場合には、ＣＰＵ２０１は、解釈不可能と判定する。ＣＰＵ２０１は、処理対象の設定値に対応している場合には、解釈可能と判定する。ＣＰＵ２０１は、解釈可能な場合には（Ｓ１００７でＹＥＳ）、処理をＳ１００８へ進める。ＣＰＵ２０１は、解釈不可能な場合には（Ｓ１００７でＮＯ）、処理をＳ１００９へ進める。Ｓ１００８において、ＣＰＵ２０１は、印刷属性に対する変換を行うことなく読み飛ばして、処理をＳ１００９へ進める。すなわち、画像形成装置１００は、解釈不可能と判断された印刷属性に対応した処理は行わない。
【００３４】
Ｓ１００９において、ＣＰＵ２０１は、Ｓ１０００において解釈したジョブ制御言語に含まれるすべての設定値に対する処理が完了したか否かを判定する。ＣＰＵ２０１は、すべての設定値に対する処理が完了した場合には（Ｓ１００９でＹＥＳ）、処理をＳ１０１０へ進める。ＣＰＵ２０１は、未処理の設定値が残っている場合には（Ｓ１００９でＮＯ）、処理をＳ１００２へ進める。Ｓ１０１０において、ＣＰＵ２０１は、通常の印刷処理を実行する。以上でジョブ制御処理が完了する。
【００３５】
図１１は、図１０を参照しつつ説明したＳ１００６における詳細な処理を示すフローチャートである。Ｓ１１００において、ＣＰＵ２０１は、ネットワークＩ／Ｆ２１２経由で、フィニッシング情報と、メニュー設定値とを受信し、これらをＲＡＭ２０３に保存する。次に、Ｓ１１０１において、ＣＰＵ２０１は、処理対象の設定値がステイプル位置であるか否かを判定する。ＣＰＵ２０１は、設定値がステイプル位置の場合には（Ｓ１１０１でＹＥＳ）、処理をＳ１１０３へ進める。ＣＰＵ２０１は、設定値がステイプル位置でない場合には（Ｓ１１０１でＮＯ）、処理をＳ１１０２へ進める。Ｓ１１０２において、その他の変換処理を行う。ここで、その他の変換処理とは、ステイプル位置の変換処理以外の処理であり、処理対象の設定値に応じた処理である。
【００３６】
Ｓ１１０３において、ＣＰＵ２０１は、受信した印刷データにおいて面付け設定が行われているか否かを判定する。ＣＰＵ２０１は、面付け設定が行われている場合には（Ｓ１１０３でＹＥＳ）、処理をＳ１１０５へ進める。ＣＰＵ２０１は、面付け設定が行われていない場合には（Ｓ１０３でＮＯ）、処理をＳ１１０４へ進める。Ｓ１１０４において、ＣＰＵ２０１は、印刷データがランドスケープかポートレートかを判定する。ＣＰＵ２０１は、ランドスケープの場合には（Ｓ１１０４でＹＥＳ）、処理をＳ１１０６へ進める。ＣＰＵ２０１は、ランドスケープでない場合、すなわちポートレートの場合には（Ｓ１１０４でＮＯ）、Ｓ１００６の処理を終了する。また、Ｓ１１０５において、ＣＰＵ２０１は、面付け後の印刷データがランドスケープからポートレートかを判定する。ＣＰＵ２０１は、ランドスケープの場合には（Ｓ１１０５でＹＥＳ）、処理をＳ１１０６へ進める。ＣＰＵ２０１は、ポートレートの場合には（Ｓ１１０５でＮＯ）、Ｓ１００６の処理を終了する。
【００３７】
Ｓ１１０６において、ＣＰＵ２０１は、画像形成装置１００が印刷データにおいて指定されたステイプル位置でのステイプルが可能か否かを判定する。例えば、印刷データにおいて上辺の中央位置がステイプル位置として指定されている場合において、画像形成装置１００において上辺の中央位置へのステイプルが行えないような場合がある。この場合に、ＣＰＵ２０１は、画像形成装置１００が印刷データにおいて指定されたフィステイプル位置でのステイプルは行えないと判定する。ＣＰＵ２０１は、印刷データで指定されたステイプル位置でのステイプルが可能と判定した場合には（Ｓ１１０６でＹＥＳ）、処理をＳ１１０８へ進める。ＣＰＵ２０１は、印刷データで指定されたステイプル位置でのステイプルが不可能と判定した場合には（Ｓ１１０６でＮＯ）、処理をＳ１１０７へ進める。Ｓ１１０７において、ＣＰＵ２０１は、処理対象の印刷属性に対する変換を行うことなく読み飛ばす。以上で、Ｓ１００６の処理が終了する。
【００３８】
Ｓ１１０８において、ＣＰＵ２０１は、ステイプル位置の基準条件を特定できたか否かを判定する。ＣＰＵ２０１は、基準条件を特定できた場合には（Ｓ１１０８でＹＥＳ）、処理をＳ１１１０へ進める。ＣＰＵ２０１は、基準条件を特定できなかった場合には（Ｓ１１０８でＮＯ）、処理をＳ１１０９へ進める。Ｓ１１０９において、ＣＰＵ２０１は、ステイプル位置をメニューに設定された基準条件におけるステイプル位置に修正する。以上で、Ｓ１００６の処理が終了する。
【００３９】
また、Ｓ１１１０において、ＣＰＵ２０１は、プリンタドライバから受信したジョブ制御言語における基準条件と画像形成装置１００が利用するジョブ制御言語における基準条件とが異なるか否かを判定する。なお、ここで、比較される基準条件は、処理対象の設定値に係る基準条件である。ＣＰＵ２０１は、具体的には、図７を参照しつつ説明した基準条件テーブル７００を参照することで、両基準条件が異なるか否かを判定する。ＣＰＵ２０１は、基準条件が異なる場合には（Ｓ１１１０でＹＥＳ）、処理をＳ１１１１へ進める。ＣＰＵ２０１は、基準条件が等しい場合には（Ｓ１１１０でＮＯ）、Ｓ１００６の処理を終了する。なお、Ｓ１１１０の処理は、条件判定処理の一例である。Ｓ１１１１において、ＣＰＵ２０１は、図８を参照しつつ説明した修正テーブル８００を参照し、処理対象の設定値であるステイプル位置を修正する。以上で、Ｓ１００６の処理が終了する。
【００４０】
以上のように、本実施形態に係る画像形成装置１００は、プリンタドライバのジョブ制御言語に係る基準条件と、画像形成装置１００が利用するジョブ制御言語に係る基準条件とが異なる場合に、設定値を修正する。これにより、プリンタドライバにおいて指定された値を画像形成装置１００のジョブ制御言語における設定値として設定することができる。したがって、画像形成装置１００は、プリンタドライバが生成するジョブ制御言語と画像形成装置で使われるジョブ制御言語が異なる場合においても、ユーザーの希望する印刷設定に応じた出力を行うことができる。
【００４１】
第１の変形例について説明する。本実施形態においては、ステイプル位置を基準条件に応じて修正する場合を例に説明したが、修正対象となる設定値はステイプル位置に限定されるものではない。他の例としては、パンチ位置、断裁位置のように用紙の位置を示す設定値が修正対象となってもよい。また、用紙の位置を示す値以外の設定値が修正対象となってもよい。また、修正対象は１つに限定されるものではない。すなわち、画像形成装置１００は、ステイプル位置及び断裁位置をそれぞれ修正してもよい。この場合には、ステイプル位置に対する基準条件と断裁位置は、それぞれに対応した基準条件に従うものとしてもよく、いずれも同一の基準条件に従うものとしてもよい。
【００４２】
第２の変形例について説明する。画像形成装置１００は、プリンタドライバが生成したジョブ制御言語に係る基準条件と、画像形成装置１００が利用するプリンタ制御言語に係る基準条件とに基づいて、設定値を修正すればよく、そのための具体的な処理は実施形態に限定されるものではない。他の例としては、画像形成装置１００は、変換のための関数を用いて、設定値の修正を行ってもよい。
【００４３】
第３の変形例について説明する。本実施形態においては、処理対象の設定値がステイプル位置である場合を説明した。このように、設定値が用紙上の位置を示す値である場合には、実施形態において説明したように、画像形成装置１００は、印刷データの向きが用紙の向きと異なる場合にのみ、基準条件が一致するか否かの判定を行う。そして、このため、画像形成装置１００は、印刷データの向きがランドスケープかポートレートかの判定を行う。ただし、設定値が用紙上の位置を示す値以外の値である場合には、画像形成装置１００は、印刷データの向きによらず基準条件が一致するか否かの判定を行う。すなわち、画像形成装置１００は、印刷データの向きを判定する向き判定処理は行わなくてよい。
【００４４】
（他の実施形態）
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、ＰＣ、複写機、複合機及びファクシミリ装置の如くである。
【００４５】
本発明は、前述した実施形態の各機能を実現するソフトウェアプログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００４６】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット／イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。
【００４７】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザーに対してダウンロードさせるＷＷＷサーバーも、本発明の構成要件となる場合がある。
【００４８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザーに配布してもよい。この場合、所定条件をクリアしたユーザーにのみ、インターネット／イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【００４９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【００５０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【符号の説明】
【００５１】
１００  画像形成装置
１１０  ＰＣ
２０１  ＣＰＵ
２０７  プリンタ
【図１】
2020019226.tif 000003
【図２】
2020019226.tif 000004
【図３】
2020019226.tif 000005
【図４】
2020019226.tif 000006
【図５】
2020019226.tif 000007
【図６】
2020019226.tif 000008
【図７】
2020019226.tif 000009
【図８】
2020019226.tif 000010
【図９】
2020019226.tif 000011
【図１０】
2020019226.tif 000012
【図１１】
2020019226.tif 000013