(57)【要約】【課題】フィールドにＰＣＬ５命令が記載された文書を、ＰＣＬＸＬ用のプリンタドライバを用いてＰＣＬＸＬプリンタで印刷すると、１ページ目ではＰＣＬ５命令によって指定された属性情報に従って印刷処理が実行されるが、２ページ目以降には、その指定が反映されなくなる。【解決手段】受信した印刷ジョブがパススルーデータを含むか否か判定し、パススルーデータを含むと判定すると、そのパススルーデータがページ制御コマンドを含むかどうか判定する。そしてページ制御コマンドを含むと判定すると当該ページ制御コマンドで指定された属性情報を記憶し、属性情報を記憶されていることに応じて、記憶されている属性情報で印刷ジョブの解析中のページの属性情報を更新する。【選択図】  図５
2020100032.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを受信する受信手段と、
前記印刷ジョブがパススルーデータを含むか否か判定する第１判定手段と、
前記第１判定手段が前記印刷ジョブがパススルーデータを含むと判定すると、前記パススルーデータがページ制御コマンドを含むかどうか判定する第２判定手段と、
前記第２判定手段が前記ページ制御コマンドを含むと判定すると当該ページ制御コマンドで指定された属性情報を記憶する記憶手段と、
前記記憶手段が前記属性情報を記憶していることに応じて、記憶されている前記属性情報で前記印刷ジョブの解析中のページの属性情報を更新する更新手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記印刷ジョブは第１ページ記述言語と第２ページ記述言語とを含み、前記パススルーデータは、前記第２ページ記述言語の制御コマンドを含むことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第１ページ記述言語はＰＣＬＸＬであり、前記第２ページ記述言語はＰＣＬ５（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ  ５）であることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記ページ制御コマンドは、描画処理に関わらないコマンドであることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記記憶手段は、前記属性情報に含まれる複数の属性のそれぞれの有無をビット位置に対応つけた情報として記憶するとともに、各属性に対応する設定値を記憶することを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記複数の属性は、両面印刷、給紙段の指定、用紙サイズ、用紙の向きの少なくともいずれかを含むことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記更新手段は、前記情報の少なくとも１つのビットが属性が有ることを示している場合に、当該有ることを示す属性に対応する設定値を用いて、前記印刷ジョブの解析中のページの属性情報を更新することを特徴とする請求項５又は６に記載の画像形成装置。
【請求項８】
前記記憶手段が記憶している前記属性情報を用いて前記印刷ジョブの解析中のページの属性情報を更新することを許可するか否かを設定する設定手段を、更に有し、
前記設定手段が前記更新を許可すると設定している場合に、前記更新手段は、前記記憶手段が記憶している前記属性情報を用いて前記印刷ジョブの解析中のページの属性情報を更新することを特徴とする請求項１乃至７のいずれか１項に記載の画像形成装置。
【請求項９】
前記設定手段は、前記更新することを許可するか否かをユーザに設定させる画面を表示し、当該画面を介したユーザの設定に応じて設定を行うことを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
画像形成装置を制御する制御方法であって、
印刷ジョブを受信する受信工程と、
前記印刷ジョブがパススルーデータを含むか否か判定する第１判定工程と、
前記第１判定工程が前記印刷ジョブがパススルーデータを含むと判定すると、前記パススルーデータがページ制御コマンドを含むかどうか判定する第２判定工程と、
前記第２判定工程が前記ページ制御コマンドを含むと判定すると当該ページ制御コマンドで指定された属性情報をメモリに記憶する記憶工程と、
前記メモリが前記属性情報を記憶していることに応じて、記憶されている前記属性情報で前記印刷ジョブの解析中のページの属性情報を更新する更新工程と、
を有することを特徴とする制御方法。
【請求項１１】
コンピュータを、請求項１乃至９のいずれか１項に記載の画像形成装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションで作成される文書の文頭部に、制御命令を記述したフィールドと呼ばれる領域を設定することが知られている。このようなフィールドを設定する機能を有する文書作成アプリケーションソフトウェアとして、例えば、ＭｉｃｒｏＳｏｆｔ社が提供する文書作成アプリケーションソフトウェアであるＷｏｒｄ（登録商標）などが知られている。このフィールドには、例えばヘッダやフッタがあり、自動的にページ番号や日付等を入れたりすることができる。更に、このフィールドには、印刷用のページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）であるＰＣＬ５（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ  ５）の命令を記載する機能がある。文書作成アプリケーションからプリンタドライバを介して印刷を行う際、このフィールドに記載したＰＣＬ５命令は、ドライバによるＰＤＬへの変換処理を経由せず、直接、プリンタに送られ、この機能はドライバパススルーと呼ばれている。この機能を使用することにより、プリンタドライバの設定に関わらず命令を発行できる。このため、例えば、ＰＣＬ５プリンタで両面印刷したい場合や、決められた給紙段の用紙で印刷したい場合などは、予め文書作成アプリケーションのテンプレートを作成し、そのテンプレートでフィールドにＰＣＬ５命令を記述しておくことで、この機能を利用できる。
【０００３】
また、従来のＰＣＬ５とは異なるＰＤＬであるＰＣＬＸＬが知られており、またこのＰＣＬＸＬを用いて記述された印刷命令を実行するＰＣＬＸＬプリンタが知られている。ここで、ユーザがＰＣＬ５プリンタに印刷させるための文書テンプレートとして、ＰＣＬ５の命令をフィールドに記載した文書テンプレートを利用している場合がある。
【０００４】
このときユーザが利用するプリンタがＰＣＬ５プリンタからＰＣＬＸＬプリンタに切り替わっても、文書テンプレートが更新されない場合、フィールドにＰＣＬ５命令が記載された文書が作成され、その文書がＰＣＬＸＬ用のプリンタに送信される場合がある。このような場合、ＰＣＬＸＬプリンタに対して、ＰＣＬＸＬ用のプリンタドライバからＰＣＸＬの印刷命令が送信され、更に、フィールドに記載されたＰＣＬ５の印刷命令がドライバパススルーでＰＣＬＸＬプリンタに送信されことになる。
【０００５】
特許文献１は、これら２つのＰＤＬを１種類のＰＤＬの印刷命令に変換する仕組みを提案している。特許文献１では、フィールドに記載されている第１の制御命令をＰＣＬ５、第２の制御命令をＰＣＬＸＬとして判定し、第１の制御命令を第２の制御命令であるＰＣＬＸＬに変換する。こうして、プリンタドライバの印刷言語とは異なる印刷言語がパススルーで投入されても、コマンドを１種類だけに限定する方法を提案している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１８６０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＰＣＬ５命令に従って動作するＰＣＬ５プリンタでは、ＰＣＬ５命令によって一度ページ属性情報を指定すると、以降のページでは、ページ属性命令の指定が必須ではないため、指定されたページ情報がそのまま後続のページへ反映される。従って、フィールドにＰＣＬ５命令が記載された文書を、ＰＣＬ５用のプリンタドライバを用いてＰＣＬ５プリンタで印刷する場合には、フィールドに記入されたＰＣＬ５命令による属性情報が、後続の全てのページに反映される。
【０００８】
これに対して、フィールドにＰＣＬ５命令が記載された文書をＰＣＬＸＬ用のプリンタドライバを用いてＰＣＬＸＬプリンタで印刷する際は、以下のような課題がある。
【０００９】
ＰＣＬＸＬは、ＰＣＬ５の言語仕様とは異なり、必ず各ページの先頭（ＢｅｇｉｎＰａｇｅ）で用紙サイズや用紙向き等のページ属性情報を指定している。よって、フィールドにＰＣＬ５命令が記載された文書を、ＰＣＬＸＬ用のプリンタドライバを用いてＰＣＬＸＬプリンタで印刷すると、１ページ目ではＰＣＬ５命令によって指定された属性情報に従って印刷処理が実行されるが、２ページ目以降には、その指定が反映されなくなる。これにより、ＰＣＬ５プリンタと同様に、全てのページに属性情報が反映されることを期待しているユーザにとっては、フィールドで指定したＰＣＬ５命令が後続ページに反映されないため、ユーザが意図した印刷結果が得られなくなるという課題がある。
【００１０】
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
【００１１】
本発明の目的は、パススルーデータにページ制御コマンドが含まれている場合に、そのページ制御コマンドで指定された属性情報を後続のページにも反映させる技術を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
印刷ジョブを受信する受信手段と、
前記印刷ジョブがパススルーデータを含むか否か判定する第１判定手段と、
前記第１判定手段が前記印刷ジョブがパススルーデータを含むと判定すると、前記パススルーデータがページ制御コマンドを含むかどうか判定する第２判定手段と、
前記第２判定手段が前記ページ制御コマンドを含むと判定すると当該ページ制御コマンドで指定された属性情報を記憶する記憶手段と、
前記記憶手段が前記属性情報を記憶していることに応じて、記憶されている前記属性情報で前記印刷ジョブの解析中のページの属性情報を更新する更新手段と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、パススルーデータにページ制御コマンドが含まれている場合に、そのページ制御コマンドで指定された属性情報を後続のページにも反映させることができるという効果がある。
【００１４】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１５】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態１に係る印刷システムの構成を示す図。
【図２】実施形態１に係る画像形成装置における印刷処理の手順を説明するフローチャート。
【図３】一般的なホストコンピュータで作成された印刷ジョブを、一般的なプリンタ装置が受信して印刷するときの処理を説明する図。
【図４】従来のプリンタ装置による、図２のＳ２０３のＰＣＬＸＬコマンドの解析処理を説明するフローチャート。
【図５】実施形態１に係る画像形成装置による、図２のＳ２０３のＰＣＬＸＬコマンドの解析処理を説明するフローチャート（Ａ）と、ＢｉｔＦｌａｇと各ページ属性情報との対応の一例を示す図（Ｂ）。
【図６】図５（Ａ）のＳ５０５のＰＣＬ５のパススルーデータのページ制御命令でページ属性情報を更新する処理を説明するフローチャート。
【図７】図５（Ａ）のＳ５１０のパススルーのページ制御命令によるＢｉｔＦｌａｇの更新処理を説明するフローチャート。
【図８】図５（Ａ）のＳ５０３において、ＣＰＵ１１２がページ開始コマンドと判定した後に実行される処理を説明するフローチャート。
【図９】実施形態２に係る画像形成装置の操作部に表示される画面例を示す図。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでするものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１７】
［実施形態１］
図１は、本発明の実施形態１に係る印刷システムの構成を示す図である。
【００１８】
この印刷システムは、複数の画像形成装置１００，１０１と、ホストコンピュータ（ＰＣ）１９１とがイーサネット（登録商標）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ Ｎｅｔｗｏｒｋ）１９０を介し、ＴＣＰ／ＩＰを経由して互いに通信可能に接続されている。尚、通信に用いるプロトコルは、ＴＣＰ／ＩＰ以外のＵＤＰなどのプロトコルであってもよい。
【００１９】
画像形成装置１００，１０１は、複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）で、ホストコンピュータ１９１からの印刷指示に応じて処理を実行する。ここで、画像形成装置１０１，１０１は、ＭＦＰ以外のＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）であってもよい。また画像形成装置１００，１０１は、ＭＦＰ、ＳＦＰ、ＬＢＰ以外のプリント方式のプリンタであってもよい。ここで画像形成装置１００と画像形成装置１０１とは同一の構成を有するため、以下、画像形成装置１００の構成について説明する。
【００２０】
画像形成装置１００は、リーダ部１２０、プリンタ部１３０、操作部１４０、画像記憶部１５０、認証部１６０、及びこれら各構成要素を制御する制御部１１０を有している。制御部１１０は、ＣＰＵ１１２、ＲＯＭ１１４、ＲＡＭ１１６等を有し、ＣＰＵ１１２がＲＯＭ１１４又は他の記憶媒体（不図示）に格納されたプログラムをＲＡＭ１１６に展開し、その展開したプログラムを実行することにより、このＭＦＰ１００全体を統括制御する。またＲＡＭ１１６は、ＣＰＵ１１２の作業領域として用いられる。例えば、制御部１１０は、ＣＰＵ１１２にレンダリング処理等を行うための予め決められたプログラムをロードする構成をとる。またレンダリング処理に関しては、ここでは記述しないが専用のハードウェアを利用してもかまわない。また実施形態１では、図２、図４、図５（Ａ）、図６、図７、図８のフローチャートで示す手順を実行するプログラムがＲＯＭ１１４に記憶されており、そのプログラムがＲＡＭ１１６に展開され、ＣＰＵ１１２により実行される。
【００２１】
リーダ部１２０は、制御部１１０の指示に従って原稿を読み取り、その原稿の画像に対応する画像データを生成する。プリンタ部１３０は、制御部１１０から供給される画像データに従ってプリンタエンジン（不図示）を用いて画像の印刷を行う。操作部１４０は、ユーザが操作を行うための操作キー、及び画像データや各種機能の表示／設定などを行う表示部を有し、ユーザ操作などの情報を制御部１１０へ通知する。画像記憶部１５０は、制御部１１０の作業領域としての利用や、印刷ジョブなどのデータの保存に利用される。認証部１６０は、ＩＤカード等によるユーザ認証情報を取得して制御部１１０へ通知する。
【００２２】
次に、ホストコンピュータ１９１で実行される処理の概要を説明する。尚、ホストコンピュータ１９１は、一般的なコンピュータと同一の構成要素を有するため、その構成の説明は省略する。
【００２３】
ホストコンピュータ１９１は、アプリケーションからＯＳを介して依頼された印刷命令を基に、プリンタドライバを用いてページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述されたＰＤＬデータを生成する。印刷命令ごとに変換及び生成されるＰＤＬコマンドで構成されたＰＤＬデータが、印刷ジョブとなる。そして、ホストコンピュータ１９１は、ＬＡＮ１９０を介し、ＴＣＰ／ＩＰを経由して、その印刷ジョブを画像形成装置１００へ送信する。
【００２４】
図２は、実施形態１に係る画像形成装置１００における印刷処理の手順を説明するフローチャートである。尚、このフローチャートで示す処理は、ＣＰＵ１１２がＲＯＭ１１４からＲＡＭ１１６に展開したプログラムを実行することにより実現される。
【００２５】
まずＳ２０１でＣＰＵ１１２は、ＬＡＮ１９０を介し、ＴＣＰ／ＩＰを経由してホストコンピュータ１９１などから送信された印刷ジョブを受信する。次にＳ２０２に進みＣＰＵ１１２は、その受信した印刷ジョブからＰＤＬ種別を判定する。このときＣＰＵ１１２は、解析可能な複数のＰＤＬ種別に対応している。実施形態１では、ＣＰＵ１１２がＰＣＬＸＬの印刷ジョブの解析及び描画処理を実施するが、このＰＤＬ種別に限定されるものではなく、他のＰＤＬを使用してもよい。Ｓ２０２でＣＰＵ１１２が、その印刷ジョブがＰＣＬＸＬジョブであると判定した場合はＳ２０３の処理を進め、他のＰＤＬ（例えばＸＰＳ）データと判定したときはＳ２０４へ処理を進める。
【００２６】
Ｓ２０３でＣＰＵ１１２は、ＰＣＬＸＬデータとしてＰＤＬの解析処理を実施する。ここでＣＰＵ１１２は、ＰＤＬコマンドを解析した結果を中間データとしてＲＡＭ１１６又は画像記憶部１５０に記憶してＳ２０５に処理を進める。ここで、ＣＰＵ１１２がＰＣＬＸＬの解析処理を実施する際、パススルーデータを含むジョブが指定されたときの解析方法は、図４を参照して詳しく後述する。
【００２７】
一方、Ｓ２０４でＣＰＵ１１１２は、ＸＰＳデータとしてＰＤＬ解析処理を実施する。ＣＰＵ１１２は、ＰＤＬコマンドを解析した結果を中間データとしてＲＡＭ１１６又は画像記憶部１５０に記憶してＳ２０５に処理を進める。
【００２８】
Ｓ２０５でＣＰＵ１１２は、ＰＤＬコマンドの解析（Ｓ２０３或いはＳ２０４）で生成した中間データから画像データのレンダリング処理を実施する。そしてＣＰＵ１１２は、その生成した画像データをプリンタ部１３０へ出力して印刷処理を行って、この処理を終了する。
【００２９】
図３は、一般的なホストコンピュータで作成された印刷ジョブを、一般的なプリンタ装置が受信して印刷するときの処理を説明する図である。ここでは、ユーザが、文書内にＰＣＬ５コマンドをパススルーデータとして入力したときのＰＣＬＸＬデータの構成と、プリンタ装置における印刷処理の様子を示している。
【００３０】
ここでは例えば、文書作成アプリケーションソフトウェアであるＷｏｒｄ（登録商標）により作成された文書３０１を例に説明する。図３（Ａ）において文書３０１は、文書のヘッダのフィールドにＰＣＬ５コマンド３０２、本文に通常の文章３０３を含んでいる。ホストコンピュータは、ユーザから、この文書３０１の印刷指示を受け取ると、ＰＣＬＸＬのプリンタドライバ３０４を用いて印刷ジョブを作成し、その印刷ジョブをプリンタ装置３３０へ送信する。このときプリンタドライバ３０４は、文書３０１のフィールドのＰＣＬ５コマンド３０２を、ＰＣＬＸＬデータではなくＰＣＬ５コマンドのまま印刷ジョブ３０７を作成する（図３（Ｂ））。またプリンタドライバ３０４は、文書３０１の通常の文章３０３を、ＰＣＬＸＬコマンドに変換３０５してＰＣＬＸＬ印刷ジョブ３０７（図３（Ｂ））を作成する。
【００３１】
プリンタ装置３３０は、プリンタドライバ３０４から送付された印刷ジョブ３０７をＰＣＬＸＬのＰＤＬ種別として解析処理３０６を開始する。
【００３２】
図３（Ｂ）は、プリンタドライバ３０４から送付されたＰＣＬＸＬの印刷ジョブ３０７のデータ構成を示している。
【００３３】
ＰＣＬＸＬ印刷ジョブ３０７は、プリンタドライバ３０４が文書３０１の各ページをＰＣＬＸコマンド印刷に変換したデータである。プリンタドライバ３０４は、文書３０１の１ページ目３０９と、２ページ目３１０をＰＣＬＸＬコマンドに変換している。各ページのページ開始コマンド（ＢｅｇｉｎＰａｇｅ）で、Ａ４サイズ、縦向き（Ｐｏｒｔｒａｉｔ）方向、自動給紙（Ａｕｔｏ）のページ属性を設定している。ここで、ＰＣＬＸＬ印刷ジョブ３０７には、１ページ目３０９の途中のＰＣＬＸＬコマンドでパススルーデータ３０８としてＰＣＬ５コマンド３０２が埋め込まれている。また、ＰＣＬＸＬ印刷ジョブ３０７は、パススルーデータ３０８に、ＰＣＬ５コマンド３０２とコマンドのデータサイズを含んでいる。ここで、文書３０１に埋め込まれるＰＣＬ５コマンド３０２はあくまでも一例であり、ＰＣＬ５コマンド３０２は特に指定もなくページ制御コマンドのページサイズや用紙方向のみに関わらず指定することができる。またＰＣＬ５コマンド３０２には、ページ制御コマンド以外にもイメージ、テキスト、グラフィックスなどの描画命令コマンドを使用することもできる。
【００３４】
図３（Ｃ）は、ＰＣＬＸＬ解析処理３０６において、ＰＣＬＸＬ印刷ジョブ３０７を解析したときの各ページ属性情報の一覧を示している。ＰＣＬＸＬ解析処理３０６では、１ページ目３０９のＢｅｇｉｎＰａｇｅで指定された属性情報から、用紙サイズが「Ａ４」、用紙向き「縦方向」、給紙段が「自動」の情報を取得する。ＰＣＬＸＬ解析処理３０６は、次のコマンドを解析したときにパススルーデータ３０８のコマンドを検知するとＰＤＬの解析処理をＰＣＬ５の解析処理に切り替えて、ＰＣＬ５コマンド３０２の解析処理を実施する。
【００３５】
ここでＰＣＬＸＬ解析処理３０６は、ＰＣＬ５コマンドの解析結果から１ページ目の用紙サイズが「レター」、用紙向きが「横方向」としてページ属性情報を更新する。
【００３６】
そしてＰＣＬＸＬ解析処理３０６は、１ページ目３０９の最後（ＥｎｄＰａｇｅ）まで解析を行うと、次に２ページ目３１０の解析処理を開始する。ＰＣＬＸＬ解析処理３０６は、２ページ目３１０のＢｅｇｉｎＰａｇｅで指定された属性情報から、用紙サイズが「Ａ４」、用紙向き「縦方向」、給紙段が「自動」の情報を取得する。
【００３７】
こうして、ＰＣＬＸＬ印刷ジョブ３０７の１ページ目３０９に含まれていたパススルーデータ３０８のページ属性情報（用紙サイズが「レター」、用紙向きが「横方向」）が、２ページ目３１０の解析で得られたＰＣＬＸＬページ属性情報（用紙サイズが「Ａ４」、用紙向き「縦方向」）で上書きされてしまい、１ページ目３０９とは異なる用紙サイズと用紙向きの印刷結果となってしまう。
【００３８】
図４は、従来のプリンタ装置３３０による、図２のＳ２０３のＰＣＬＸＬコマンドの解析処理を説明するフローチャートである。
【００３９】
まずＳ４０１でプリンタ装置３３０は、受信した印刷ジョブのＰＣＬＸＬデータの先頭データを取得してコマンドの解析を実施する。次にＳ４０２に進みプリンタ装置３３０は、その解析したコマンドがパススルーデータかどうかを判定する。ここでパススルーデータと判定した場合はＳ４０３に進み、そうでないときはＳ４０６へ移行する。Ｓ４０３でプリンタ装置３３０は、ＰＣＬ５の解析用のプログラム処理を起動してＰＣＬ５コマンドが解析可能な状態へ移行する。次にＳ４０４に進みプリンタ装置３３０は、そのパススルーデータで指定されたバイナリサイズのデータをＰＣＬ５コマンドとして解析する。ここで、パススルーデータで指定されたＰＣＬ５コマンドが描画コマンドかページ制御コマンドかどうかに拘わらず、ＰＣＬ５の解析処理部として描画並びにページ制御の結果をＰＣＬＸＬコマンドの解析部へ通知する。そしてＳ４０５に進みプリンタ装置３３０は、そのパススルーデータで指定されたデータサイズ分のＰＣＬ５コマンドが解析終了したかどうかを判定する。Ｓ４０５で、パススルーデータの全データが解析完了していれば、ＰＣＬＸＬの解析処理部に戻るためＳ４０６へ移行する。一方、Ｓ４０５で、パススルーデータの未解析のデータがまだ残っていれば、ＰＣＬ５の解析処理を継続するためＰＣＬ５コマンドの取得と解析を実施するＳ４０４へ移行する。Ｓ４０６でプリンタ装置３３０は、次のＰＣＬＸＬコマンドを、受信した印刷ジョブから取得する。そしてＳ４０７で、そのＰＣＬＸＬコマンドがジョブの終了を示すコマンド（ＥｎｄＳｅｓｓｉｏｎ）かどうかを判定し、データの終端であれば、このＰＤＬコマンドの解析処理を終了する。一方、次のＰＣＬＸＬコマンドがジョブの終了ではなければ、次のＰＣＬＸＬコマンドを解析するためＳ４０１へ移行する。
【００４０】
図５（Ａ）は、実施形態１に係る画像形成装置１００による、図２のＳ２０３のＰＣＬＸＬコマンドの解析処理を説明するフローチャートである。尚、このフローチャートで示す処理は、ＣＰＵ１１２がＲＯＭ１１４からＲＡＭ１１６に展開したプログラムを実行することにより実現される。
【００４１】
まずＳ５０１でＣＰＵ１１２は、ＲＡＭ１１６又は画像記憶部１５０に、パススルーのページ制御命令フラグとしてＢｉｔＦｌａｇ（図５（Ｂ））を設け、その初期値を「０ｘ０」に設定する。ここでパススルーのページ制御命令フラグは、ＰＣＬ５コマンドで用紙サイズ指定や用紙向き方向などのページ属性情報が含まれていたかどうかを示すフラグ情報である。そして、これら用紙サイズ指定や用紙向き方向などのページ属性情報、例えば用紙サイズのＡ４，レターや、用紙方向の横方向、縦方向等の属性情報は、これらページ制御命令フラグに対応つけて、例えばＲＡＭ１１６などに記憶される。ページ制御命令フラグＢｉｔＦｌａｇのビットが有効「１」であれば、パススルーで指定されたページ属性情報を管理する。図５（Ｂ）は、ＢｉｔＦｌａｇと各ページ属性情報との対応の一例を示している。
【００４２】
図５（Ｂ）の例では、ＢｉｔＦｌａｇ「０ｘ０００００００１」は、用紙サイズの属性を示し、ＢｉｔＦｌａｇ「０ｘ０００００００２」は、用紙向きの属性を示している。このようにＢｉｔＦｌａｇの各ビット位置のビットが「０」か「１」かにより、各属性の有無を判別することができる。尚、上述したように、用紙サイズの「レター」、用紙向きの「横方向」は、ページ制御命令フラグに対応つけて、別のエリアに記憶されている。また、このＢｉｔＦｌａｇの持ち方は、これらに限定されるものでなく、その他のページ属性情報の各属性をビット位置に対応つけて追加してもよい。
【００４３】
次にＳ５０２に進みＣＰＵ１１２は、印刷ジョブのＰＣＬＸＬコマンドの解析を開始してＳ５０３に処理を進める。Ｓ５０３でＣＰＵ１１２は、Ｓ５０２で解析したＰＣＬＸＬコマンドがページ開始（ＢｅｇｉｎＰａｇｅ）コマンドかどうかを判定する。ページ開始コマンドと判定したときはＳ５０４の処理を進めるが、そうでないときはＳ５０７へ処理を進める。
【００４４】
Ｓ５０４でＣＰＵ１１２は、ページ制御命令フラグが有効かどうかをＢｉｔＦｌａｇの値が「０ｘ０」以外かどうかで判定する。ここで、ＢｉｔＦｌａｇのいずれかのページ属性が有効になっていれば「０ｘ０」以上の値となっているためパススルーのページ制御命令が含まれていたと判定してＳ５０５に進む。一方、Ｓ５０４においてＢｉｔＦｌａｇ＝「０ｘ０」のときは、パススルーのページ制御命令が含まれていないと判定してＳ５０６へ処理を進める。
【００４５】
Ｓ５０５でＣＰＵ１１２は、保存しているパススルーのページ属性情報に更新するよう設定を変更してＳ５１２に進む。Ｓ５０５でＣＰＵ１１２が、後続のページをパススルーデータのページ属性へ更新する処理は図６を参照して後述する。
【００４６】
一方、Ｓ５０６でＣＰＵ１１２は、ＰＣＬＸＬのＢｅｇｉｎＰａｇｅコマンドからページ属性情報を取得し、それを解析中のページのページ属性情報としてＳ５１２に進む。
【００４７】
Ｓ５０３でページ開始コマンドでないときはＳ５０７に進みＣＰＵ１１２は、Ｓ５０２のＰＣＬＸＬコマンドがパススルーデータかどうかを判定する。ここでパススルーデータと判定した場合はＳ５０８へ処理を進め、そうでないときはＳ５１２へ処理を進める。Ｓ５０８でＣＰＵ１１２は、パススルーデータで指定されたバイナリサイズのデータをＰＣＬ５コマンドとして解析する。次にＳ５０９に進みＣＰＵ１１２は、Ｓ５０８の解析結果から、そのパススルーデータがページ制御系のコマンドかどうかを判定する。Ｓ５０９でＣＰＵ１１２は、ＰＣＬ５コマンドがページ制御系のコマンドと判定した場合はＳ５１０へ処理を進める。ここでＣＰＵ１１２が、ページ制御系のコマンドと判定するのは両面片面指定、用紙サイズ、用紙向き、給紙段の指定などのＰＣＬ５コマンドのことである。一方、Ｓ５０９でページ制御系以外のコマンドと判定した場合はＳ５１１へ処理を進める。ここでＣＰＵ１１２が、ページ制御系以外のコマンド判定するのは、テキスト、イメージ、グラフィックスといった描画系のＰＣＬ５コマンドのことである。
【００４８】
Ｓ５１０でＣＰＵ１１２は、ＲＡＭ１１６又は画像記憶部１５０のパススルーのページ制御命令フラグを有効に変更してＳ５１１に進む。ここでＣＰＵ１１２は、Ｓ５０９においてページ制御系のコマンドのページ属性情報をＲＡＭ１１６又は画像記憶部１５０のＢｉｔＦｌａｇへ保存する。Ｓ５１０でＣＰＵ１１２が、パススルーで指定されたページ属性情報をＢｉｔＦｌａｇへ保存する際の詳細な説明は図７を参照して後述する。
【００４９】
Ｓ５１１でＣＰＵ１１２は、パススルーデータで指定されたデータサイズ分のＰＣＬ５コマンドが解析が終了したかどうかを判定する。ここでパススルーデータの全データが解析が終了していると判定すると、ＰＣＬＸＬの解析処理部に戻るためＳ５１２へ処理を進める。一方、Ｓ５１１で、パススルーデータのデータがまだ残っていると判定したときは、ＰＣＬ５の解析処理を継続するためＰＣＬ５コマンドの取得と解析を実施するＳ５０８へ処理を進める。
【００５０】
Ｓ５１２でＣＰＵ１１２は、次のＰＣＬＸＬコマンドを印刷ジョブから取得する。そしてＳ５１３に進みＣＰＵ１１２は、ＰＣＬＸＬコマンドがジョブの終了を示すコマンド（ＥｎｄＳｅｓｓｉｏｎ）かどうかを判定する。ここで、データの終端と判定した場合は、このＰＤＬコマンドの解析処理を終了する。一方、次のＰＣＬＸＬコマンドがジョブの終了でなければ、次のＰＣＬＸＬコマンドを解析するためＳ５０２へ移行する。
【００５１】
図６は、図５（Ａ）のＳ５０５のＰＣＬ５のパススルーデータのページ制御命令でページ属性情報を更新する処理を説明するフローチャートである。
【００５２】
Ｓ６０１でＣＰＵ１１２は、ＲＡＭ１１６又は画像記憶部１５０に保存されているＢｉｔＦｌａｇを取得する。ここでＣＰＵ１１２は、例えば図３（Ｂ）のＰＣＬＸＬ印刷ジョブ３０７を解析した場合、用紙サイズと用紙向きが指定されているためＢｉｔＦｌａｇの値が「０ｘ０００００００３」となっている。
【００５３】
次にＳ６０２に進みＣＰＵ１１２は、用紙サイズを示すＢｉｔＦｌａｇの最下位ビットが有効「１」かどうかを判定する。Ｓ６０２で用紙サイズを示すビットが「１」であると判定したときはＳ６０３へ移行する。このとき、例えば図３（Ｂ）のＰＣＬＸＬ印刷ジョブ３０７の場合、用紙サイズの指定が含まれているためＢｉｔＦｌａｇの最下位ビットが「１」となっており、パススルーで用紙サイズが指定されたと判定してＳ６０３に進む。一方、Ｓ６０２でＢｉｔＦｌａｇの最下位ビットが「０」と判定した場合は、用紙サイズが指定されていなかったためＳ６０４へ移行する。尚、例えば図３（Ｂ）のＰＣＬＸＬ印刷ジョブ３０７の場合、用紙サイズの指定が含まれているためＢｉｔＦｌａｇの最下位ビットが「１」とする処理は図５のＳ５１０で実行されるが、その処理の説明は図７を参照して後述する。
【００５４】
Ｓ６０３でＣＰＵ１１２は、ＢｉｔＦｌａｇの最下位ビット「１」に対応する用紙サイズを、例えばＲＡＭ１１６或いは画像記憶部１５０から取得する。そして、現在のページのページ属性情報の用紙サイズを、ＢｉｔＦｌａｇの最下位ビット「１」に対応する用紙サイズで更新してＳ６０４に進む。こうして、ＰＣＬＸＬのページ開始コマンド（ＢｅｇｉｎＰａｇｅ）で指定された用紙サイズではなく、パススルーで指定された用紙サイズを、そのページの属性情報として設定することで、後続のページの用紙サイズをパススルーで指定した属性情報とすることができる。
【００５５】
Ｓ６０４でＣＰＵ１１２は、用紙向きに対応するＢｉｔＦｌａｇの最下位から２番目のビットが有効「１」かどうかを判定する。Ｓ６０４でＣＰＵ１１２は、用紙向きに対応するＢｉｔＦｌａｇの最下位から２番目のビットが「１」と判定するとＳ６０５へ処理を進める。この時、例えば図３（Ｂ）のＰＣＬＸＬ印刷ジョブ３０７の解析結果の場合、パススルーは、用紙向きとして「縦方向」を含んでいるため、ＢｉｔＦｌａｇの最下位から２番目のビットが「１」となっている。このためパススルーで、、用紙向きが指定されていると判定できる。一方、ＣＰＵ１１２はＳ６０４で、ＢｉｔＦｌａｇの最下位から２番目のビットが無効「０」と判定した場合はパススルーによるページ属性情報への更新を終了して、この処理を終了する。
【００５６】
Ｓ６０５でＣＰＵ１１２は、ＢｉｔＦｌａｇの最下位から２番目のビットに対応する用紙向きの値を、例えばＲＡＭ１１６或いは画像記憶部１５０から取得する。そして、現在のページのページ属性情報の用紙向きを、その取得した用紙向きの値で更新する。これにより、ＰＣＬＸＬのページ開始コマンド（ＢｅｇｉｎＰａｇｅ）で指定された用紙向きではなく、パススルーで指定された用紙向きを設定することができる。これにより、後続のページの用紙向きを、パススルーで指定した属性情報で印刷することができる。
【００５７】
以上説明したように、この処理によれば、現在のページのページ属性情報を、パススルーで指定されたＰＣＬ５のページ属性情報に更新することができる。尚、実施形態１では、２つのページ属性情報の更新方法を説明したが、本発明は２つだけに限らずＰＣＬＸＬのページ開始コマンドで指定できる全ての属性情報を追加できる。
【００５８】
図７は、図５（Ａ）のＳ５１０のパススルーのページ制御命令によるＢｉｔＦｌａｇの更新処理を説明するフローチャートである。
【００５９】
Ｓ７０１でＣＰＵ１１２は、Ｓ５０８のＰＣＬ５コマンドが用紙サイズを指定する制御命令（￥０３３＆ｌ＃Ａ）かどうかを判定する。このときＣＰＵ１１２は、ＰＣＬ５コマンドの用紙サイズを指定する制御命令かどうかを、ＰＣＬ５バイナリデータとして検出し、一致する場合は用紙サイズを指定する制御命令と判定したＳ７０２へ移行する。一方、Ｓ７０１でＣＰＵ１１２は、用紙サイズを指定する制御命令でないと判定した場合はＳ７０３へ移行する。Ｓ７０２でＣＰＵ１１２は、ＢｉｔＦｌａｇの最下位ビットを「１」にし、用紙サイズを指定する制御命令から設定値（＃）、例えばサイズ「レター」を取得し、それをＲＡＭ１１６或いは画像記憶部１５０等のメモリに記憶して、この処理を終了する。
【００６０】
Ｓ７０３でＣＰＵ１１２は、Ｓ５０８のＰＣＬ５コマンドが、用紙向きを指定する制御命令（￥０３３＆ｌ＃Ｏ）かどうかを判定する。Ｓ７０３でＣＰＵ１１２は、ＰＣＬ５コマンドの用紙向きを指定する制御命令かどうかを、ＰＣＬ５バイナリデータとして検出し、一致する場合は用紙向きを指定する制御命令と判定してＳ７０４へ処理を進める。一方、Ｓ７０３でＣＰＵ１１２は用紙向きを指定する制御命令ではないと判定した場合は、この処理を終了する。Ｓ７０４でＣＰＵ１１２は、ＢｉｔＦｌａｇの最下位から２番目のビットを「１」にし、その用紙向きを指定する制御命令の設定値（＃）、例えば「横向き」を取得し、それをＲＡＭ１１６或いは画像記憶部１５０等のメモリに記憶して、この処理を終了する。
【００６１】
以上説明したようにこのフローチャートによれば、パススルーで指定されたＰＣＬ５のページ属性情報を保存して、ＰＣＬＸＬコマンドのページ属性として使用することができる。尚、実施形態１では、２つのページ属性情報の更新方法を説明したが、本発明は２つだけに限らずＰＣＬ５コマンドで指定できる全てのページ属性情報を判定に追加できる。
【００６２】
以上説明したように実施形態１によれば、パススルーで指定されたＰＣＬ５の制御命令のページ属性情報で、ＰＣＬＸＬのページ属性情報を更新することにより、パススルーのページ情報を、後続のページへ継承することができる。これにより、ＰＣＬＸＬデータにパススルーデータが含まれており、かつ、そのパススルーデータがＰＣＬ５のページ属性情報を含んでいる場合は、現在のページだけではなく、ＰＣＬＸＬデータの後続のページにそのページ属性情報を継承させることができる。
【００６３】
［実施形態２］
実施形態２では、パススルーで指定されたＰＣＬ５の制御命令を後続のページへ継承するかどうかを操作部に表示したメニュー画面で切り替える例で説明する。尚、本発明の実施形態２に係るシステム及び画像形成装置１００のハードウェア構成等は、前述の実施形態１と同一であるため、その説明を省略する。
【００６４】
図８は、図５（Ａ）のＳ５０３において、ＣＰＵ１１２がページ開始コマンドと判定した後に実行される処理を説明するフローチャートである。尚、このフローチャートで示す処理は、ＣＰＵ１１２がＲＯＭ１１４からＲＡＭ１１６に展開したプログラムを実行することにより実現される。
【００６５】
図９は、実施形態２に係る画像形成装置１００の操作部１４０に表示される画面例を示す図である。
【００６６】
この画面でユーザは、ＰＣＬＸＬのパススルーで指定されたＰＣＬ５コマンドのページ属性情報を、後続のページへ継承するのを許可するかどうかを指定する。ここでユーザが「有効」を選択して（図９では「有効」が選択された状態を示している）ＯＫボタンを押下すると、ＰＣＬ５コマンドのページ属性情報を、後続のページへ継承するように設定される。尚、この設定値はＲＡＭ１１６に記憶される。一方、ユーザがキャンセルボタンを押下するか、或いは「無効」を選択してＯＫボタンを押下すると、ＰＣＬ５コマンドのページ属性情報を、後続のページへ継承しないように設定される。尚、この設定値もＲＡＭ１１６に記憶される。
【００６７】
Ｓ８０１でＣＰＵ１１２は、図９の画面を介して設定された設定値をＲＡＭ１１６から取得する。次にＳ８０２に進みＣＰＵ１１２は、その設定値が、パススルーの継承を有効にするように設定されているかどうかを判定する。ここでＣＰＵ１１２は、パススルーの継承が有効に設定されていれば、ＰＣＬ５のパススルーで指定されたページ属性情報を優先するため図５（Ａ）のＳ５０４へ処理を進める。一方、Ｓ８０２で、パススルーの継承が無効に設定されていれば、ＰＣＬＸＬのページ属性情報を優先するため図５（Ａ）のＳ５０６へ処理を進める。
【００６８】
以上説明したように実施形態２によれば、ユーザは、ＰＣＬ５のパススルーで指定されたページ属性情報を、ＰＣＬＸＬデータで指定されたページ属性情報に反映させるかどうか選択することができる。
【００６９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７０】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００７１】
１００…画像形成装置、１１０…制御部、１１２…ＣＰＵ、１１４…ＲＯＭ、１１６…ＲＡＭ、１４０…操作部、１５０…画像記憶部
【図１】
2020100032.tif 000003
【図２】
2020100032.tif 000004
【図３】
2020100032.tif 000005
【図４】
2020100032.tif 000006
【図５】
2020100032.tif 000007
【図６】
2020100032.tif 000008
【図７】
2020100032.tif 000009
【図８】
2020100032.tif 000010
【図９】
2020100032.tif 000011