(57)【要約】【課題】白紙節約が有効な印刷機で非課金白紙コマンドを含む印刷データを両面印刷するときに印刷データに白紙のページが含まれていると、非課金白紙コマンドが用紙の表側に印刷されてレイアウトが崩れてしまうことがある。【解決手段】白紙節約機能が有効である場合に、両面印刷を指定された印刷データの着目ページが、非課金白紙コマンドを含み、かつ、印刷したとすれば奇数ページとなる場合と、前記着目ページがオブジェクトを含まない白紙ページの場合には、前記着目ページを出力せず、それ以外の場合には、前記着目ページをその内容にしたがって出力する。【選択図】図６
2015119222.tif 000002
【特許請求の範囲】
【請求項１】
入力された複数ページからなる印刷データのうち印字情報が含まれないページは出力しない白紙抑制機能が有効であり、前記印刷データに対して両面印刷が指定された場合、前記入力した印刷データを構成するページのうち、非課金白紙コマンドを含むページが、印刷された場合に出力物の奇数ページを構成するか否か判定手段と、
前記判定手段により、非課金白紙コマンドを含むページが、印刷された場合に出力物の奇数ページを構成すると判定された場合、前記非課金白紙コマンドを含むページを出力せず、前記判定手段により、非課金白紙コマンドを含むページが、印刷された場合に出力物の偶数ページを構成すると判定された場合、前記非課金白紙コマンドを含むページを出力するよう制御する制御手段と
を有することを特徴とする画像処理装置。
【請求項２】
入力された複数ページからなる印刷データのうち印字情報が含まれないページは出力しない白紙抑制機能が有効かどうかを判定する手段と、
白紙抑制機能が有効である場合、前記印刷データが、両面印刷の設定がされているかを判定する手段と、
両面印刷が設定されていると判定した場合、前記印刷データの着目ページがオブジェクトを含まない白紙ページかどうかを判定する手段と、
前記着目ページが白紙ページであれば前記着目ページをスキップし、白紙ページではないと判定した場合、非課金白紙コマンドが挿入されているかを判定する手段と、
前記非課金白紙コマンドが挿入されていないと判定した場合、前記着目ページを出力し、前記非課金白紙コマンドが挿入されていると判定した場合、前記着目ページが、印刷したとすれば奇数ページであるかどうかを判定する手段と、
奇数ページであると判定された場合には前記非課金白紙コマンドをスキップし、奇数ページでないと判定された場合には白紙ページを出力する手段と
を有することを特徴とする画像形成装置。
【請求項３】
前記印刷データについてＮアップのレイアウトが設定されている場合には、１枚のシートの一方の面にレイアウトされる複数のページを前記着目ページとすることを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記着目ページが非課金白紙コマンドを含み、かつ、印刷したとすれば奇数ページとなる場合であっても、直後のページが非課金白紙コマンドを含む場合には、前記着目ページの内容に従がって白紙ページを出力することを特徴とする請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項５】
入力された複数ページからなる印刷データのうち印字情報が含まれないページは出力しない白紙抑制機能が有効であり、前記印刷データに対して両面印刷が指定された場合、前記入力した印刷データを構成するページのうち、非課金白紙コマンドを含むページが、印刷された場合に出力物の奇数ページを構成するか否か判定工程と、
前記判定工程により、非課金白紙コマンドを含むページが、印刷された場合に出力物の奇数ページを構成すると判定された場合、前記非課金白紙コマンドを含むページを出力せず、前記判定工程により、非課金白紙コマンドを含むページが、印刷された場合に出力物の偶数ページを構成すると判定された場合、前記非課金白紙コマンドを含むページを出力するよう制御する制御工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項６】
入力された複数ページからなる印刷データのうち印字情報が含まれないページは出力しない白紙抑制機能が有効かどうかを判定する工程と、
白紙抑制機能が有効である場合、前記印刷データが、両面印刷の設定がされているかを判定する工程と、
両面印刷が設定されていると判定した場合、前記印刷データの着目ページがオブジェクトを含まない白紙ページかどうかを判定する工程と、
前記着目ページが白紙ページであれば前記着目ページをスキップし、白紙ページではないと判定した場合、非課金白紙コマンドが挿入されているかを判定する工程と、
前記非課金白紙コマンドが挿入されていないと判定した場合、前記着目ページを出力し、前記非課金白紙コマンドが挿入されていると判定した場合、前記着目ページが、印刷したとすれば奇数ページであるかどうかを判定する工程と、
奇数ページであると判定された場合には前記非課金白紙コマンドをスキップし、奇数ページでないと判定された場合には白紙ページを出力する工程と
を有することを特徴とする画像形成装置の制御方法。
【請求項７】
前記印刷データについてＮアップのレイアウトが設定されている場合には、１枚のシートの一方の面にレイアウトされる複数のページを前記着目ページとすることを特徴とする請求項５または６に記載の画像形成装置の制御方法。
【請求項８】
前記着目ページが非課金白紙コマンドを含み、かつ、印刷したとすれば奇数ページとなる場合であっても、直後のページが非課金白紙コマンドを含む場合には、前記着目ページの内容に従がって白紙ページを出力することを特徴とする請求項５乃至７のいずれか一項に記載の画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置およびその制御方法に関する。
【背景技術】
【０００２】
画像形成装置には白紙節約と呼ばれる機能が実装されているものがある。この機能は印刷データのページ記述言語（以下、ＰＤＬ）に文字や絵等のオブジェクトが含まれないページが存在すれば、白紙ページとしてそのページを出力しない機能である。一方でページ間に用紙を挿入する中差し用紙の機能も存在する。この機能はプリンタドライバで設定できるため、画像形成装置は中差し用紙が白紙である場合、白紙節約をするか否かの判定が必要となる。このような白紙を挿入する際に画像形成装置側の白紙節約が有効であれば白紙ページを出力するか否かを判定することについて特許文献１にて開示されている。特許文献１では、白紙節約が有効な場合かつ中差し印刷するときに対象ページが白紙であり次のページの中差しページも白紙であれば中差しページを出力しない。これにより白紙用紙が２枚連続で出力せずに１枚ごとに白紙を挿入することで無駄な用紙を出力しないようにすることができる。また特許文献２では、原稿のＰＤＬデータで各ページに画像が存在しない白紙ページか否かを判定して、次のページの属性が手前のページの白紙を必要としない属性であれば前ページの白紙ページを削除する点が開示されている。この特許文献２では白紙ページを削除するか否かは、原稿に描画されるデータの属性で判断され、データの属性は原稿の各章の開始かまたは特別な文字列を含むページであるか否かなどの特徴を持つページであれば白紙を出力する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４９８０７号公報
【特許文献２】特開２０１２−１５５６６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した先行技術では非課金白紙コマンドを含むデータを印刷するときに出力物のレイアウトを崩さずに印刷することができない。非課金白紙コマンドとは、プリンタドライバがＰＤＬデータを生成時に挿入した白紙ページを課金対象外のページとするコマンドである。
【０００５】
非課金白紙コマンドが使用される例を示す。画像形成装置に複数部の印刷を指定したＰＤＬデータを送信するときに、画像形成装置によっては１部分のＰＤＬデータをメモリ上に保存できないため、ホストＰＣ側で複数部のＰＤＬデータをまとめて１部として生成する方法がある。この方法は保有するメモリの容量が少ない画像形成装置で１部分の全ページを保持できない場合、有効な方法である。この方法を用いて、ページ数が奇数のジョブに対して、両面印刷かつ２部以上の指定を行うと、１部目の最終ページを出力した用紙の裏面に２部目の１ページ目が印刷される。よって、部数ごとに切り分けた出力物を出力することができない。そのため、プリンタドライバでは、部単位で指定されたＰＤＬデータのページ数が奇数かつ両面印刷を指定されたものであれば、白紙ページを部単位の境目に挿入するよう非課金白紙コマンドを発行する。このとき、画像形成装置は白紙節約の機能が有効ならばＰＤＬデータに白紙ページが存在するか否かを判定するが、白紙節約よりも非課金白紙コマンドを優先するように実装されており、非課金白紙コマンドに対しては白紙節約機能がアクティブか否かにかかわらず白紙ページを必ず出力することで部単位の出力物を生成する。一方、１部分のＰＤＬデータに非課金白紙コマンドではない白紙ページが含まれていれば、白紙節約機能によりその白紙ページは抑制される。部単位の区切り目の非課金白紙コマンドは、画像形成装置において抑制されてしまう白紙ページがそのまま出力されることを前提としてプリンタドライバにより挿入されている。したがって、白紙節約機能により白紙が抑制されて、印刷される１部のページ数が偶数ページになった場合でも、非課金白紙コマンドによる白紙ページは抑制されずにそのまま出力されるため、１部目の最終ページの裏面に２部目の先頭ページが印刷されてしまうことが生じ得る。このように、先行技術を用いると両面印刷時に非課金白紙コマンドを挿入する場所が用紙の表面でもそのまま白紙ページが出力されるため、出力物のレイアウトが崩れてしまうという課題があった。
【課題を解決するための手段】
【０００６】
上記課題を解決すべく、本発明の画像形成装置は以下の構成を有する。
【０００７】
入力された複数ページからなる印刷データのうち印字情報が含まれないページは出力しない白紙抑制機能が有効であり、前記印刷データに対して両面印刷が指定された場合、前記入力した印刷データを構成するページのうち、非課金白紙コマンドを含むページが、印刷された場合に出力物の奇数ページを構成するか否か判定手段と、
前記判定手段により、非課金白紙コマンドを含むページが、印刷された場合に出力物の奇数ページを構成すると判定された場合、前記非課金白紙コマンドを含むページを出力せず、前記判定手段により、非課金白紙コマンドを含むページが、印刷された場合に出力物の偶数ページを構成すると判定された場合、前記非課金白紙コマンドを含むページを出力するよう制御する制御手段とを有することを特徴とする画像処理装置。
【０００８】
また他の観点によれば、以下の構成を有する。
【０００９】
入力された複数ページからなる印刷データのうち印字情報が含まれないページは出力しない白紙抑制機能が有効かどうかを判定する手段と、
白紙抑制機能が有効である場合、前記印刷データが、両面印刷の設定がされているかを判定する手段と、
両面印刷が設定されていると判定した場合、前記印刷データの着目ページがオブジェクトを含まない白紙ページかどうかを判定する手段と、
前記着目ページが白紙ページであれば前記着目ページをスキップし、白紙ページではないと判定した場合、非課金白紙コマンドが挿入されているかを判定する手段と、
前記非課金白紙コマンドが挿入されていないと判定した場合、前記着目ページを出力し、前記非課金白紙コマンドが挿入されていると判定した場合、前記着目ページが、印刷したとすれば奇数ページであるかどうかを判定する手段と、
奇数ページであると判定された場合には前記非課金白紙コマンドをスキップし、奇数ページでないと判定された場合には白紙ページを出力する手段とを有することを特徴とする画像形成装置。
【発明の効果】
【００１０】
本発明によると、白紙節約を有する画像形成装置を用いて非課金白紙コマンドで部単位に区切った複数部の文書を両面印刷する場合に、レイアウトを崩さずに両面かつ部単位で印刷することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の画像形成装置における実施形態の一形態であるプリンタの構成を示すブロック図である。
【図２】実施形態における各機器のコントローラユニットの構成例を示すブロック図である。
【図３】実施形態におけるコントローラソフトウェアの構成の一例を示す図である。
【図４】実施形態におけるＰＤＬ判別部および解析部の詳細を示すブロック図である。
【図５】実施形態におけるＰＤＬデータ生成を行うプログラムの構成とデータ生成の手順を示す図である。
【図６】実施形態における非課金白紙コマンドを含むＰＤＬデータのレイアウトを崩さずに印刷する方法を示すフローチャート図である。
【図７】実施形態における非課金白紙コマンドを含むＰＤＬデータと出力結果を示す図である。
【図８】実施形態におけるＮｕｐ印刷のＰＤＬデータを出力した結果を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
［実施形態１］
＜システム構成＞
図１は本実施形態に係る画像処理システムの構成を示すブロック図である。このシステムではホストコンピュータ１３０及び画像形成装置１００がＬＡＮ１４０に接続されているが、各装置の数はこれに限られることはない。また、本実施形態では接続方法としてＬＡＮを適用しているが、接続媒体はこれに限られることはない。例えば、ＷＡＮ（公衆回線１５０）などの任意のネットワーク、ＵＳＢなどのシリアル伝送方式、セントロニクスやＳＣＳＩなどのパラレル伝送方式なども適用可能である。
【００１３】
ホストコンピュータ（以下、ＰＣと称する）１３０は例えばパーソナルコンピュータである。基本的な内部構成を説明する。ハードウェアとしてＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ、キーボードやマウスなどの入力デバイス、ディスプレイなどの出力デバイス、ネットワークＩ／Ｆ、これらを制御するチップセットなどからなる。これらは内部データバスによって相互に接続されている。これらのハードウェアを制御するソフトとしてＢＩＯＳとオペレーションシステム（ＯＳ）が動作している。このＰＣ１３０はＬＡＮ１４０やＷＡＮを介してＦＴＰやＳＭＢプロトコルを用いファイルを送受信したり電子メールを送受信したりすることができる。さらには、ＰＣ１３０は画像形成装置１００に対して、プリンタドライバを介した印刷命令（印刷ジョブ）の送信を行うことも可能となっている。
【００１４】
画像形成装置１００は、画像入力デバイスであるスキャナ部１０３、画像出力デバイスであるプリンタ部１０４、画像形成装置１００全体の動作制御を司るコントローラ部１０１、ユーザーインターフェース（ＵＩ）である操作部１０２から構成される。
【００１５】
＜コントローラ部の構成＞
図２は、本実施形態における画像形成装置１００の一例であるＭＦＰのコントローラ部１０１の一構成例を示すブロック図である。画像形成装置１００は印刷機能と白紙節約機能とを有するものであれば、必ずしもＭＦＰでなくともよい。図１において、コントローラ部１０１は、画像入力デバイスであるスキャナ部１０３や画像出力デバイスであるプリンタ部１０４と接続し、画像データの読み取りやプリント出力のための制御を行う。また、コントローラ部１０１は、ＬＡＮ１４０や公衆回線１５０と接続することで、画像情報やデバイス情報をＬＡＮ１４０経由で入出力するための制御を行う。プリンタ部１０４はデバイスＩ／Ｆ２００と結合されるプリンタエンジンで、コントローラ部１０１で生成された描画データを紙に出力する処理を行う。
【００１６】
ＣＰＵ２０１はＭＦＰ全体を制御するための中央処理装置である。ＲＡＭ２０２は、ＣＰＵ２０１が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ＲＯＭ２０３はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２０４はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データを等格納する。操作部Ｉ／Ｆ２０５は、画像データ等を表示可能な表示画面を有する操作部１０２に対するインタフェース部であり、操作部１０２に対して操作画面データを出力する。また、操作部Ｉ／Ｆ２０５は、操作部１０２から操作者が入力した情報をＣＰＵ２０１に伝える役割をする。ネットワークインタフェース２０６は、例えばＬＡＮカード等で実現され、ＬＡＮ１４０に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム２０７は公衆回線１５０に接続し、外部装置との間で情報の入出力を行う。以上のユニットがシステムバス２０８上に配置されている。
【００１７】
イメージバスＩ／Ｆ２０９は、システムバス２０８と画像データを高速で転送する画像バス２１０とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス２１０上には、ラスタイメージプロセッサ２１１、デバイスＩ／Ｆ２００、スキャナ画像処理部２１２、プリンタ画像処理部２１３、画像編集用画像処理部２１４、カラーマネージメントモジュール（ＣＭＭ）２１５が接続される。
【００１８】
ラスタイメージプロセッサ（ＲＩＰ）２１１は、ページ記述言語（ＰＤＬデータ）コードや後述するベクトルデータをイメージに展開する。デバイスＩ／Ｆ２００は、スキャナ部１０３やプリンタ部１０４とコントローラ部１０１とを接続し、画像データの同期系／非同期系の変換を行う。
【００１９】
また、スキャナ画像処理部２１２は、スキャナ部１０３から入力した画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部２１３は、プリント出力する画像データに対して、プリンタエンジンに応じた補正、解像度変換等の処理を行う。画像編集用画像処理部２１４は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。ＣＭＭ２１５は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理（色空間変換処理ともいう）を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータとは、カラー複合機３におけるスキャナ部１０３やプリンタ部１０４の色再現特性を修正するためのデータである。
【００２０】
＜コントローラソフトウェア構成＞
図３は、ＭＦＰの動作を制御するコントローラソフトウェアの構成を示すブロック図である。プリンタインターフェイス３００は、ネットワークインタフェース２０６で外部機器との入出力を制御するための手段である。プロトコル制御部３０１は、ネットワークプロトコルを解析・送信することによって外部との通信を行う手段である。プリンタインターフェイス３００は、外部のネットワークから送信されたＰＤＬデータを受信したあとドキュメント記憶部３０７へ保存する。
【００２１】
印刷制御部３０２はＣＰＵ２０１がドキュメント記憶部３０７に受信したＰＤＬデータに対してＰＤＬ判別部３０３やＰＤＬ解析部３０４の起動処理などを行う。ＰＤＬ判別部３０３はＣＰＵ２０１が印刷制御部３０２の指示に従ってＰＤＬデータを解析し、ＰＤＬやファイルフォーマットの種類を判別する。ＰＤＬ解析部３０４は、ＣＰＵ２０１がＰＤＬ判別部３０３で選別されたＰＤＬデータを解析し、より処理しやすい形式の描画オブジェクトごとに中間データ（ディスプレイリスト）に変換する手段である。描画オブジェクトは例えば文字（テキストオブジェクト）、図形（グラフィックスオブジェクト）、写真（イメージオブジェクト）等である。ＰＤＬ解析部３０４が生成した中間データはドキュメント記憶部３０７を介してデータ描画部３０５へ渡されて処理される。データ描画部３０５はドキュメント記憶部３０７に保存された中間データからビットマップデータに生成するものであり、生成されたビットマップデータはドキュメント記憶部３０７に逐次描画されて行く。パネル入出力制御部３０６は操作部１０４から操作部Ｉ／Ｆ２０５の入出力を制御するものである。印刷制御部３０２はまた、画像形成装置１００の設定として白紙節約機能（白紙抑制機能）が有効であれば、白紙節約機能を実行する。
【００２２】
ここで白紙節約機能とは、印刷データのページ記述言語（以下、ＰＤＬ）に文字や絵が描かれないページ（たとえばオブジェクトが全く含まれていないページ）が存在すれば、白紙ページとしてそのページを出力しない機能である。この機能を有効にするには、パネル入出力制御部３０６は、操作部１０２でユーザから白紙節約の設定（機能）を有効にするようプリンタ設定値を変更する。この場合、ＲＡＭ２０２に記憶されたプリンタ設定値の情報が更新される。
【００２３】
ドキュメント記憶部３０７は、入力文書の一塊（ジョブ）単位にＰＤＬデータ、中間データを包含するデータファイルを記憶する手段であり、ＲＡＭ２０２やＨＤＤ２０４などの二次記憶装置によって実現される。
【００２４】
＜ＰＤＬ判別部・ＰＤＬ解析部の構造＞
図４は、本実施形態におけるＰＤＬ判別部３０３およびＰＤＬ解析部３０４の詳細を示すブロック図である。印刷制御部３０２が受信データを受け取る。受信データの先頭から２５６バイト（以後、受信データの一部）をＰＤＬ判別制御部４００に渡す。ＰＤＬ判別制御部４００は受信データの一部を受け取ると、予め決められた判別の優先度に従い、優先度が高い各ＰＤＬやフォーマット判別部４０１から４１０へ順番に受信データの一部を渡す。ＰＤＬやファイルフォーマット判別部４０１から４１０は、受け取ったデータがそれぞれのＰＤＬやファイルフォーマットのコマンドの構文や、特徴的な箇所の判別を行い、受信データがＰＤＬやファイルフォーマットにどの程度一致するかを判別する。適合したＰＤＬやファイルフォーマットが見つかった場合、全てのＰＤＬやファイルフォーマット判別部を実行していなくても適合したＰＤＬやファイルフォーマットを判別結果として、ＰＤＬ判別制御部４００に通知する。ＰＤＬ判別制御部４００は印刷制御部３０２に判別結果を通知する。印刷制御部３０２は、判別結果に基づいてＰＤＬ解析部３０４にある各ＰＤＬやファイルフォーマットの解析部４２１から４３０の何れかを起動する。もしＰＤＬ判別部３０３の判別結果がＭＦＰに搭載するどのＰＤＬやファイルフォーマットに適合しない場合には受信データを読み捨てる。
【００２５】
ここで、受信データの一部とは、受信データの先頭から２５６バイトを一例に挙げたが、これに限定されるものではない。ＰＤＬ判別部３０３の内部に搭載する各ＰＤＬやファイルフォーマット判別部４０１から４１０の１０個の判別を行うが、これに限定されるものではない。及びＰＤＬ解析部３０４の内部に搭載する各ＰＤＬやファイルフォーマット解析部４２１から４３０の１０個の判別を行うが、これに限定されるものではない。画像形成装置１００がサポートするＰＤＬについて判別および解析が行われる。
【００２６】
＜ホストコンピュータでＰＤＬデータの生成方法＞
図５は、ＰＣ１３０で動作するプリンタドライバがアプリケーションからＰＤＬデータを生成するときのプログラムの構成とデータ生成手順を示すブロック図である。アプリケーションデータ５００は、ＲＡＭもしくはＨＤＤ内に記憶されており、アプリケーション５０１によって読み込まれ、必要に応じて編集される。アプリケーション５０１はワードプロセッサ、表計算、図形処理、写真画像処理などを行うソフトである。グラフィックスエンジン５０２はアプリケーション５０１の処理結果をディスプレイ出力や印刷出力するための描画変換処理を行う。プリンタドライバ５０３はグラフィックスエンジン５０２から描画データを受け取り、印刷装置が解釈可能なＰＤＬデータに変換を行う。プリンタドライバ５０３はユーザから両面印刷指定かつ部単位の指定があった場合、アプリケーションデータ５００が奇数ページであれば部単位の区切りに非課金白紙コマンドを発行する。非課金白紙コマンドとは、プリンタドライバ５０３がＰＤＬデータ５０５を生成時に白紙ページを挿入したページを課金対象外のページとするコマンドである。これは１部目のアプリケーションデータ５００を出力したときに２部目の開始ページが用紙の裏面に印刷されるのを防ぐためである。また、部単位の印刷時に白紙を挿入したときに画像形成装置１００が課金対象のページとして認識しないよう非課金の白紙ページとして挿入する。ファイルスプーラ５０４はプリンタドライバ５０３によって随時変換され出力されるＰＤＬデータを一時的に溜め込み、ＰＤＬデータファイル５０５として保存する。ホストＩ/Ｆ５０６はＬＡＮ１４０を介してネットワーク上にある画像形成装置１００などの外部機器にＰＤＬデータ５０５を転送する。
【００２７】
＜白紙節約時にＰＤＬ解析部で非課金白紙コマンドを検出したときの処理＞
図６は本実施形態における画像形成装置１００が両面印刷指定かつ白紙節約が有効であるときに非課金白紙コマンドを含むＰＤＬデータを処理するときのフローチャートである。この処理は、ＣＰＵ２０１がＲＯＭ２０３またはＨＤＤ２０４の記憶手段に記憶されているプログラムをＲＡＭ２０２にロードして実行する。
【００２８】
図７は、画像形成装置１００が図６のプログラムでＰＤＬデータを解析するときのレイアウトの様子である。本実施形態ではこの図７と図６を用いて非課金白紙コマンドや白紙ページを含むＰＤＬデータを出力するときにレイアウトが崩れない効果を示す。
【００２９】
図７のドキュメントはＰＣ１３０でユーザから作成された３ページのアプリケーションデータ５００であり、ページ１（７００）とページ３（７０２）はページ内に描画オブジェクトを含むがページ２（７０１）は描画オブジェクトを含まない白紙ページとする。ＰＣ１３０では、このドキュメントがユーザからプリンタドライバ５０３のユーザインタフェースを介して両面指定かつ２部指定されたドキュメントの場合、プリンタドライバ５０３は１部目の４ページ目（７０６）を非課金白紙コマンドとして白紙ページを発行する。ＰＣ１３０はプリンタドライバ５０３で生成されたＰＤＬデータ５０５の各ページ（７０３から７０９）をホストＩ/Ｆ５０６からＬＡＮ１４０を介して画像形成装置１００へ送信する。画像形成装置１００において、ＣＰＵ２０１がプリンタＩ/Ｆ３００より受信したデータは印刷制御部３０２に渡され、ＰＤＬ判別部３０３でＰＤＬの種別を判定して、ＰＤＬ解析部３０４がページ毎の中間データを生成時に図６の処理を開始する。
【００３０】
ステップＳ６００において、ＰＤＬ解析部３０４はパネル入出力制御部３０６でユーザから白紙節約を有効にしたかどうかを判定する。ステップＳ６００で白紙節約が有効であると判定された場合、処理をステップＳ６０１へ移行する。一方、ステップＳ６００において白紙節約が無効であると判定した場合、処理をステップＳ６１３へ移行する。本実施形態ではＰＤＬ解析部３０４が図７のＰＤＬデータ（７０３から７０９）を処理するときに画像形成装置１００の白紙節約が有効に設定されているとする。
【００３１】
ステップＳ６１３において、ＰＤＬ解析部３０４は解析時に通常のＰＤＬデータとして白紙判定せずに中間データを生成してデータ描画部３０５へ送付する。データ描画部３０５はＰＤＬ解析部３０４が生成した中間データからビットマップデータを生成する。
【００３２】
ステップＳ６０１において、ＰＤＬ解析部３０４はＰＤＬデータから印刷指定が両面であるか片面であるかを判定する。ステップＳ６０１でＰＤＬ解析部３０４は両面印刷が指定されたと判定する場合、処理をステップＳ６０２へ移行する。一方、ステップ５０１において片面印刷が指定されていると判定した場合、処理をステップＳ６１３へ移行する。図７のＰＤＬデータ（７０３から７０９）は両面印刷が指定されているためステップＳ６０２へ移行する。
【００３３】
ステップＳ６０２において、ＰＤＬ解析部３０４はＰＤＬデータをページ単位で解析するときの物理ページ（Ｘ）、処理中のページ（Ｙ）、ＰＤＬデータの総ページ数（Ｎ）を設定する。物理ページ（Ｘ）は、用紙に印刷される着目ページのページ番号をカウントする。ＰＤＬ解析部３０４は物理ページ（Ｘ）が奇数であれば用紙の表面に、偶数であれば用紙の裏面に処理中のページ（Ｙ）が印刷されると判定できる。一方、処理中のページ（Ｙ）はＰＤＬデータ中での解析中のページ（すなわち着目ページ）のページ番号であり、白紙も含めてページをカウントする。ＰＤＬ解析部３０４は、物理ページ（Ｘ）と処理中のページ（Ｙ）を初期値として値１を入力し、総ページ数（Ｎ）はＰＤＬデータの受信データの一部から情報を取得する。図７のＰＤＬデータについては、このときＰＤＬデータ（７０３から７０９）のデータ構成からＰＤＬ解析部３０４は総ページ数（Ｎ）として７を取得する。
【００３４】
ステップＳ６０３において、ＰＤＬ解析部３０４は処理中のページ（Ｙ）が総ページ数（Ｎ）を超えたかどうかを判定する。ステップＳ６０３で処理中のページ（Ｙ）が総ページ数（Ｎ）を超えていないと判定した場合、処理をステップＳ６０４へ移行する。一方、ステップＳ６０３において処理中のページ（Ｙ）が総ページ数（Ｎ）を超えたと判定すると、処理を終了する。ＰＤＬデータ（７０３から７０９）ではＰＤＬ解析部３０４が１ページ目（７０３）から７ページ目（７０９）までのデータを処理するまでステップＳ６０３からステップＳ６１２までのループ処理を実行する。
【００３５】
ステップＳ６０４において、ＰＤＬ解析部３０４は処理中のページ（Ｙ）のＰＤＬコマンドを解析する。ＰＤＬ解析部３０４はＰＤＬデータから描画オブジェクトごとに中間データを生成する。ＰＤＬデータ（７０３から７０９）では描画オブジェクトを含むページとして１ページ目（７０３）、３ページ目（７０５）、５ページ目（７０７）、７ページ目（７０９）が該当する。一方、２ページ目（７０４）と６ページ目（７０８）はＰＤＬ解析部３０４が描画オブジェクトを含まないページとして解析される。４ページ目（７０６）は非課金白紙コマンドを含むページとして解析される。
【００３６】
ステップＳ６０５において、ＰＤＬ解析部３０４はステップＳ６０４で生成した中間データの印字領域内に描画オブジェクトが含まれているかどうか判定し、含まれていなければ処理中のページ（Ｙ）が白紙ページであると判定する。ステップＳ６０５において処理中のページ（Ｙ）が白紙ページであると判定した場合、処理をステップＳ６１２へ移行する。一方、ステップＳ６０５で白紙ページではないと判定した場合、処理をステップＳ６０６へ移行する。ＰＤＬデータ（７０３から７０９）ではステップＳ６０５で白紙ページと判定されるのは、２ページ目（７０４）と６ページ目（７０８）であり次の処理がステップＳ６１２へ移行する。それ以外のページについてはステップＳ６０６へ移行する。
【００３７】
ステップＳ６０６において、ＰＤＬ解析部３０５は処理中のページ（Ｙ）に非課金白紙コマンドが含まれているかどうかを判定する。非課金白紙コマンドは特定の文字列、または数値としてＰＣ１３０でＰＤＬデータを生成時にプリンタドライバから指定されるコマンドである。ＰＣ１３０のプリンタドライバは、両面印刷かつ２部以上の部数指定、奇数ページのデータで部単位の境目に白紙を挿入したときに画像形成装置１００が裏面の白紙を課金対象と認識しないために非課金白紙コマンドを発行する。ステップＳ６０６では処理中のページ（Ｙ）のＰＤＬデータで非課金白紙コマンドが発行されている場合、処理をステップＳ６０７へ移行する。一方、ステップＳ６０６で非課金白紙コマンドが発行されていなければステップＳ６０８へ処理を移行する。
【００３８】
ステップＳ６０７において、ＰＤＬ解析部３０４は物理ページ（Ｘ）が奇数ページかどうかを判定する。本実施形態ではＰＤＬ解析部３０４が物理ページ（Ｘ）を２で割った余りの結果が１であれば奇数ページとして判定して、処理をステップＳ６１２へ移行する。一方、ステップＳ６０７の判定が余り０で処理中のページ（Ｙ）の結果となり用紙の裏面に描画するためステップＳ６１２へ処理を移行する。
【００３９】
ステップＳ６１１において、処理中のページが配置される物理ページＸが偶数ページである場合には、ＰＤＬ解析部３０４は非課金の白紙ページを用紙の裏面に挿入するので白紙の中間データを生成する。
【００４０】
ステップＳ６１２において、白紙ページの中間データを生成しない。すなわち、着目ページのＰＤＬデータに基づく中間データを生成せず、当該ページをスキップする。これは、ステップＳ６０５からの分岐の場合には白紙節約機能による白紙ページの抑制である。またステップＳ６０７からの分岐の場合には、両面印刷の奇数ページへの、部単位の区切りとなる非課金白紙コマンドによる白紙ページの挿入を抑制する処理である。
【００４１】
ステップＳ６０８において、ＰＤＬ解析部３０４はその内容に従って中間データを生成してデータ描画部３０５へ送付する。
【００４２】
ステップＳ６０９において、ＰＤＬ解析部３０４は物理データ（Ｘ）に１を加算して次のステップＳ６１０へ処理を移行する。ステップＳ６０９では、ステップＳ６０８やステップＳ６１１の処理においてＰＤＬ解析部３０４が処理中のページ（Ｙ）の中間データを生成するため物理ページ（Ｘ）の情報を更新する。
【００４３】
ステップＳ６１０において、ＰＤＬ解析部３０４は処理中のページ（Ｙ）に１を加算して処理をステップＳ６０３へ移行する。ステップＳ６１０では、ステップＳ６０５やステップＳ６０７でＰＤＬ解析部３０４が白紙と判定して用紙に描画するデータを生成しないため物理ページ（Ｘ）を更新せずに次のページのＰＤＬを解析するため処理中のページ（Ｙ）を更新する。
【００４４】
図７のＰＤＬデータ（７０３から７０９）を図６のプログラムを用いてＰＤＬ解析部３０４が出力する中間データについてページ毎に説明する。１ページ目（７０３）のＰＤＬデータはステップＳ６０８で中間データとして生成される。ＰＤＬ解析部３０４は物理ページ（Ｘ）と処理中のページ（Ｙ）を２に更新する。２ページ目（７０４）のＰＤＬデータはステップＳ６０５で白紙ページと判定されるためステップＳ６１２の処理を行い処理中のページ（Ｙ）のみ３に更新する。３ページ目（７０５）のＰＤＬデータはステップＳ６０８で中間データとして生成される。ＰＤＬ解析部３０４は物理ページ（Ｘ）を３に、処理中のページ（Ｙ）を４に更新する。４ページ目（７０６）のＰＤＬデータはステップＳ６０６で非課金白紙コマンドを含むページと判定される。また、ステップＳ６０７ではＰＤＬ解析部３０４が物理ページ（Ｘ）の値が奇数かどうか判定してステップＳ６１２の処理へと移行する。従来ではＰＤＬ解析部３０４がステップＳ６０７の判定をしなかったため、図７の出力結果（７１０から７１５）のように２枚目の表面（７１２）を白紙ページで出力していた。残りの５ページ目（７０７）から７ページ目（７０９）のＰＤＬ解析部３０４の処理は、１ページ目（７０３）から３ページ目（７０５）と同じ結果となる。これらの処理から得られた出力結果（７１６から７１９）から、ＰＤＬ解析部３０４がステップＳ６０７で物理ページ（Ｘ）を判定することでレイアウトが崩れずに出力できる。また、出力する用紙の枚数も従来に比べて３枚から２枚へと減らすことができる。
【００４５】
以上のことから、本実施形態では両面印刷かつ部数指定されたＰＤＬデータで部単位の仕分け位置になる非課金白紙コマンドが発行されていたとしても、レイアウトを崩すことなく印刷することができる。
【００４６】
＜Ｎｕｐ印刷時の処理＞
図８は本実施形態における画像形成装置１００が図６のプログラムでＮup（Ｎアップ）印刷が指定されたＰＤＬデータを解析するときのレイアウトの様子である。Ｎアップとは、Ｎページを縮小して１ページに収めるレイアウトであり、Ｎイン１などとも呼ばれる。本実施形態では２upのレイアウトが指定されたときの印刷設定を例とするが、ページに割り当てられる数値（Ｎ）については特に制限しない。Ｎの値としては、２，４，６，８，９，１６などが採用される。
【００４７】
図８のドキュメントはＰＣ１３０でユーザから作成された５ページのアプリケーションデータ５００でありページ１（８００）、ページ２（８０１）、ページ５（８０４）は描画オブジェクトを含む。一方、ページ３（８０２）とページ４（８０３）は描画オブジェクトを含まない白紙ページとする。ＰＣ１３０ではこのドキュメントがユーザからプリンタドライバ５０３で２in１指定かつ両面印刷、２部指定された場合、プリンタドライバが４ページ目（８０８）を非課金白紙コマンドとして白紙ページを発行する。プリンタドライバ５０３では１ページ目（８００）と２ページ目（８０１）を１物理ページに２in１でレイアウトしたページとしてＰＤＬデータを生成する。同じく、３ページ目（８０２）と４ページ目（８０３）のページもまた白紙ページとして２ページ目（８０６）のＰＤＬデータが生成される。ＰＣ１３０はプリンタドライバ５０３で生成されたＰＤＬデータ５０５の各ページ（８０５から８１１）をホストＩ/Ｆ５０６からＬＡＮ１４０を介して画像形成装置１００へ送信する。
【００４８】
画像形成装置１００は、ＣＰＵ２０１がプリンタＩ/Ｆ３００より受信したデータは印刷制御部３０２に渡されＰＤＬ判別部３０３でＰＤＬの種別を判定してＰＤＬ解析部３０４がページ毎の中間データを生成時に処理を開始する。本実施形態では画像形成装置１００の白紙節約が有効とする。画像形成装置１００のＰＤＬ解析部３０４が図８のＰＤＬデータ（８０５から８１１）を処理する様子を図６、図８を用いて説明する。ステップＳ６００からステップＳ６０３までのＰＤＬ解析部３０４の処理は図７で説明したので省略する。
【００４９】
ステップＳ６０４において、ＰＤＬ解析部３０４は処理中のページ（Ｙ）である１ページ目（８０５）を解析する。ＰＤＬ解析部３０４は１ページ目のＰＤＬデータを解析するときに、１物理ページ（すなわち１枚のシートの一方の面）にレイアウトされたドキュメントの複数のページすべて（本例では１ページ目（８００）と２ページ目（８０１）の２ページ分）を処理する。
【００５０】
１ページ目（８０５）はＰＤＬ解析部３０４がステップＳ６０５とステップＳ６０６において白紙ページではなく非課金白紙コマンドも存在しないためステップＳ６０８で通常のページとして中間データを生成する。このとき、ＰＤＬ解析部３０４はステップＳ６０９、Ｓ６１０において物理ページ（Ｘ）と処理中のページ（Ｙ）を１ずつインクリメントする。
【００５１】
次に、２ページ目（８０６）ではＰＤＬ解析部３０４がステップＳ６０４で白紙ページが２ページ分（８０２、８０３）存在するＰＤＬデータと解析する。ＰＤＬ解析部３０４はステップＳ６０５で処理中のページ（Ｙ）を白紙ページと判定してステップＳ６１２を実行し、ページ８０２、８０３がレイアウトされた２ページ目８０６をスキップする。ＰＤＬ解析部３０４はステップＳ６１０において、処理中のページ（Ｙ）を３に更新する。このとき、物理ページ（Ｘ）は２のままである。
【００５２】
３ページ目（８０７）において、ＰＤＬ解析部３０４はステップＳ６０４でドキュメントの５ページ目（８０４）を含むＰＤＬデータとしてステップＳ６０８で中間データを生成する。ＰＤＬ解析部３０４は、ステップＳ６０９、Ｓ６１０で処理中のページ、物理ページをそれぞれインクリメントしてＸ＝３、Ｙ＝４となる。
【００５３】
４ページ目（８０８）では、ＰＤＬ解析部３０４がステップＳ６０４においてＰＤＬデータを非課金白紙コマンドと判定する。ＰＤＬ解析部３０４はステップＳ６０６の判定でＹＥＳの系に移行する。ステップＳ６０７において、ＰＤＬ解析部３０４は物理ページ（Ｘ）が３であるため、ステップＳ６１２へ移行する。ＰＤＬ解析部３０４は処理中のページ（Ｙ）のみを更新するため、Ｙ＝５、Ｘ＝３となる。
【００５４】
５ページ目以降（８０９から８１１）はＰＤＬ解析部３０４が１ページ（８０５）から３ページ（８０７）と同じ処理をくり返すことで出力結果（８１８から８２１）を得られる。本実施形態のような図６のプログラムを含まない従来の処理では、８１２から８１７のように非課金白紙コマンドがページの表面に挿入されてレイアウトが崩れてしまう出力結果となる。
【００５５】
以上のことから、本実施形態ではＮup印刷で両面印刷かつ部数指定されたＰＤＬデータで部単位の仕分け位置になる非課金白紙コマンドが発行されていたとしても、レイアウトを崩すことなく印刷することができる。
【００５６】
［変形例］
なお、図６のステップＳ６０７においてＹＥＳ（奇数ページへの非課金白紙コマンドによる白紙ページの挿入）ならば、当該ページを直ちにスキップせず、その直後のページも連続して非課金白紙コマンドページであるか判定し、条件に該当しなければ初めてスキップし、該当するのであれば着目ページとして白紙ページを出力するように構成することもできる。このようにすることで、白紙節約機能が有効であっても非課金白紙コマンドを用いた合紙の挿入を実現できる。
【００５７】
［その他の実施形態］
本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015119222.tif 000003
【図２】
2015119222.tif 000004
【図３】
2015119222.tif 000005
【図４】
2015119222.tif 000006
【図５】
2015119222.tif 000007
【図６】
2015119222.tif 000008
【図７】
2015119222.tif 000009
【図８】
2015119222.tif 000010