(57)【特許請求の範囲】
【請求項１】
記憶手段と、印刷データを受信して前記記憶手段に少なくとも対応する所定の記憶領域に対して記憶する受信記憶手段であって当該印刷データの受信および前記所定の記憶領域への記憶の完了前に他の印刷データの受信および前記所定の記憶領域への記憶を開始可能な前記受信記憶手段と、を有する印刷装置であって、
印刷データを受信する際に、当該印刷データが、前記受信記憶手段によって前記所定の記憶領域に記憶された後に複数部印刷のために前記所定の記憶領域から繰り返し読み出される処理の対象であるかを判定する判定手段と、
前記記憶手段とは別の記憶手段を前記印刷装置に着脱可能に接続するための接続手段と、
前記別の記憶手段が前記接続手段によって前記印刷装置に接続されているかを判定する別の判定手段と、を有し、
前記受信記憶手段は、前記別の判定手段が、前記別の記憶手段が前記接続手段を介して前記印刷装置に接続されていないと判定した場合、前記判定手段によって前記処理の対象であると判定された印刷データよりも後に受信が開始される印刷データについて、少なくとも、当該判定された印刷データの受信完了および前記所定の記憶領域への記憶の完了までは、受信および前記所定の記憶領域への記憶を行わず、
前記受信記憶手段は、前記別の判定手段が、前記別の記憶手段が前記接続手段を介して前記印刷装置に接続されていると判定したことをトリガーとして、前記判定手段によって前記処理の対象であると判定された印刷データよりも後に受信が開始される印刷データについて、当該判定された印刷データの受信完了および前記所定の記憶領域への記憶の完了を待たずに、受信および前記所定の記憶領域への記憶を許すことを特徴とする印刷装置。
【請求項２】
前記判定手段は、印刷データのヘッダ情報をチェックすることで前記判定を行うことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記ヘッダ情報には、受信される印刷データが、前記受信記憶手段によって前記記憶手段に記憶された後に複数部印刷のために前記記憶手段から繰り返し読み出されるものか否かを示す情報が含まれることを特徴とする請求項２に記載の印刷装置。
【請求項４】
前記判定手段は、印刷データに対する前記判定を、前記受信記憶手段が当該印刷データを受信する前に行うことを特徴とする請求項１乃至３の何れか１項に記載の印刷装置。
【請求項５】
前記受信記憶手段は、
印刷データを受信する前にセマフォを取得することで当該印刷データの受信および前記記憶手段への記憶が可能となり、
前記セマフォを取得できない場合に、前記印刷データの受信および前記記憶手段への記憶を行わず、
前記判定手段によって前記処理の対象であると判定された印刷データを受信する前に前記セマフォを取得し、かつ、当該印刷データの受信および前記記憶手段への記憶の完了までは少なくとも前記取得したセマフォを解放しないことを特徴とする請求項１乃至４の何れか１項に記載の印刷装置。
【請求項６】
前記受信記憶手段は、
前記判定手段によって前記処理の対象であると判定されなかった印刷データを受信する前に前記セマフォを取得し、かつ、当該印刷データの受信及び前記記憶手段への記憶の完了前に前記取得したセマフォを解放することを特徴とする請求項５に記載の印刷装置。
【請求項７】
前記受信記憶手段によって受信され前記記憶手段へ記憶される印刷データはＰＤＬデータであることを特徴とする請求項１乃至６の何れか1項に記載の印刷装置。
【請求項８】
前記判定手段によって前記処理の対象であると判定されなかった印刷データは、前記判定手段によって前記処理の対象であると判定された印刷データとは異なり、１部分の当該印刷データが前記記憶手段から読み出されたことにしたがって、前記記憶手段から削除されることを特徴とする請求項１乃至７の何れか１項に記載の印刷装置。
【請求項９】
印刷データを記憶手段に少なくとも対応する所定の記憶領域に対して記憶して当該記憶された印刷データを読み出して印刷装置において印刷を行う印刷方法であって、
印刷データを受信する際に、当該印刷データが、前記所定の記憶領域に記憶された後に複数部印刷のために前記所定の記憶領域から繰り返し読み出される処理の対象であるかを判定する判定工程と、
別の記憶手段が前記印刷装置に接続されているかを判定する別の判定工程と、
前記別の判定工程において、前記別の記憶手段が前記印刷装置に接続されていないと判定された場合、前記判定工程によって前記処理の対象であると判定された印刷データよりも後に受信が開始される印刷データについて、少なくとも、当該判定された印刷データの受信完了および前記所定の記憶領域への記憶の完了までは、受信および前記所定の記憶領域への記憶を行わせず、前記別の判定工程において、前記別の記憶手段が前記印刷装置に接続されていると判定されたことをトリガーとして、前記判定工程によって前記処理の対象であると判定された前記印刷データよりも後に受信が開始される印刷データについて、当該判定された印刷データの受信完了および前記所定の記憶領域への記憶の完了を待たずに、受信および前記所定の記憶領域への記憶を許す制御工程と、
を有することを特徴とする印刷方法。
【請求項１０】
請求項１乃至８の何れか１項に記載の各手段としてコンピュータを機能させるためのプログラム。
【請求項１１】
印刷データを受信して所定の記憶領域に対して記憶する処理を制御する制御手段であって、当該印刷データの受信および前記所定の記憶領域への記憶の完了前に他の印刷データの受信および前記所定の記憶領域への記憶を開始可能な前記制御手段を有する印刷装置であって、
前記制御手段は、受信した第一の印刷データが、前記制御手段によって前記所定の記憶領域に記憶された後に複数部印刷のために前記所定の記憶領域から繰り返し読み出される処理の対象である場合において、着脱可能な記憶手段が前記印刷装置に接続されていないときは、少なくとも当該第一の印刷データの受信完了および前記所定の記憶領域への記憶の完了までは、前記受信した第一の印刷データよりも後に受信が開始される第二の印刷データの受信および前記所定の記憶領域への記憶を行わず、前記着脱可能な記憶手段が前記印刷装置に接続されていることが判明したことをトリガーとして、前記制御手段は、前記第一の印刷データの受信および前記所定の記憶領域への記憶の完了を待たずに、前記第一の印刷データよりも後に受信が開始される第二の印刷データの受信および前記所定の記憶領域への記憶を許すことを特徴とする印刷装置。
【請求項１２】
印刷データを受信して所定の記憶領域に対して記憶して当該記憶された印刷データを読み出して印刷装置において印刷を行う印刷方法であって、
受信した第一の印刷データが、前記所定の記憶領域に記憶された後に複数部印刷のために前記所定の記憶領域から繰り返し読み出される処理の対象である場合において、着脱可能な記憶手段が前記印刷装置に接続されていないときは、少なくとも当該第一の印刷データの受信完了および前記所定の記憶領域への記憶の完了までは、前記受信した第一の印刷データよりも後に受信が開始される第二の印刷データの受信および前記所定の記憶領域への記憶を行わず、前記着脱可能な記憶手段が前記印刷装置に接続されていることが判明したことをトリガーとして、前記第一の印刷データの受信および前記所定の記憶領域への記憶の完了を待たずに、前記第一の印刷データよりも後に受信が開始される第二の印刷データの受信および前記所定の記憶領域への記憶を許す制御工程を有することを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置は印刷ジョブとして複数のＰＤＬ（Page Description Language）ジョブを受信するが、受信した複数のＰＤＬジョブを画像形成装置が有するメモリに順次格納すると当該メモリの空き容量はなくなり、その結果、ＰＤＬジョブを実行するためのメモリが不足するため、ＰＤＬジョブは実行されないことがある。
【０００３】
これに対応してＰＤＬジョブを実行するためのメモリを確保するために、画像形成装置がＰＤＬジョブを受信したとき、他のＰＤＬジョブの受信を制限する画像形成装置が知られている（例えば、特許文献１参照）。
【０００４】
ところで、画像形成装置がＰＤＬジョブに対応する印刷データを複数の印刷部数分印刷するとき、印刷方法としては印刷データをページ単位で複数部数印刷するグループ印刷と印刷データを部単位で複数部数印刷するソート印刷とがある。グループ印刷によって印刷データが印刷される場合、画像形成装置は印刷する一のページの印刷データをメモリに格納すると共に、メモリに格納された印刷データの印刷を実行する。そのため、画像形成装置は印刷する全てのページの印刷データを一度にメモリに格納することを要さず、画像形成装置が有するメモリの空き容量を確保しやすい。
【０００５】
一方、ソート印刷によって印刷データが印刷される場合、画像形成装置は印刷する全てのページの印刷データを一度にメモリに格納する。そのため、ソート印刷によって印刷データが印刷されるときは画像形成装置が有するメモリの空き容量が不足しやすく、ＰＤＬジョブが実行されない可能性がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−２６４４５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の画像形成装置では印刷方法にかかわらず他のＰＤＬジョブの受信が制限されていた。すなわち、特許文献１の画像形成装置は他のＰＤＬジョブの受信を必要以上に制限し、効率的に印刷ジョブを実行することができないという問題がある。
【０００８】
本発明の目的は、効率的に印刷ジョブを実行することができる印刷装置、印刷方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の印刷装置は、記憶手段と、印刷データを受信して前記記憶手段に少なくとも対応する所定の記憶領域に対して記憶する受信記憶手段であって当該印刷データの受信および前記所定の記憶領域への記憶の完了前に他の印刷データの受信および前記所定の記憶領域への記憶を開始可能な前記受信記憶手段と、を有する印刷装置であって、印刷データを受信する際に、当該印刷データが、前記受信記憶手段によって前記所定の記憶領域に記憶された後に複数部印刷のために前記所定の記憶領域から繰り返し読み出される処理の対象であるかを判定する判定手段と、前記記憶手段とは別の記憶手段を前記印刷装置に着脱可能に接続するための接続手段と、前記別の記憶手段が前記接続手段によって前記印刷装置に接続されているかを判定する別の判定手段と、を有し、前記受信記憶手段は、前記別の判定手段が、前記別の記憶手段が前記接続手段を介して前記印刷装置に接続されていないと判定した場合、前記判定手段によって前記処理の対象であると判定された印刷データよりも後に受信が開始される印刷データについて、少なくとも、当該判定された印刷データの受信完了および前記所定の記憶領域への記憶の完了までは、受信および前記所定の記憶領域への記憶を行わず、前記受信記憶手段は、前記別の判定手段が、前記別の記憶手段が前記接続手段を介して前記印刷装置に接続されていると判定したことをトリガーとして、前記判定手段によって前記処理の対象であると判定された印刷データよりも後に受信が開始される印刷データについて、当該判定された印刷データの受信完了および前記所定の記憶領域への記憶の完了を待たずに、受信および前記所定の記憶領域への記憶を許すことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、効率的に印刷ジョブを実行することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態に係る画像形成装置（印刷装置）を含む画像形成システムの構成を概略的に示すブロック図である。
【図２】図１における画像形成装置の内部構成を概略的に示すブロック図である。
【図３】図１における画像形成装置によって受信されるＰＤＬジョブの構成を説明するために用いられる図である。
【図４】図３のＰＤＬジョブを格納する格納領域の構成を説明するために用いられる図である。
【図５】図２の画像形成装置におけるＣＰＵによって実行される受信処理の手順を示すフローチャートである。
【図６】図５の受信処理によって受信されたＰＤＬジョブに基づいて生成されるビットマップデータを印刷する印刷処理の手順を示すフローチャートである。
【図７】図５の受信処理の変形例の手順を示すフローチャートである。
【図８】図２の画像形成装置におけるＣＰＵによって実行される受信処理の手順を示すフローチャートである。
【図９】図８の受信処理によって受信されたＰＤＬジョブに基づいて生成されるビットマップデータを印刷する印刷処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００１４】
まず、本発明の第１の実施の形態について説明する。
【００１５】
図１は、本発明の第１の実施の形態に係る画像形成装置（印刷装置）１０１を含む画像形成システム１００の構成を概略的に示すブロック図である。
【００１６】
図１の画像形成システム１００は画像形成装置１０１及びＰＣ１０２を備え、画像形成装置１０１及びＰＣ１０２はＬＡＮ１０３を介して互いに接続されている。ユーザはＰＣ１０２から画像形成装置１０１に対して、例えば、印刷ジョブとしてＰＤＬジョブの実行を指示する。画像形成装置１０１はＰＤＬジョブを受信し、当該ＰＤＬジョブに基づいて記録紙上に画像を形成する。
【００１７】
図２は、図１における画像形成装置１０１の内部構成を概略的に示すブロック図である。
【００１８】
図２の画像形成装置１０１は、コントローラ２０１、プリントエンジン２０２、及びユーザインターフェース２０３を備える。コントローラ２０１はＣＰＵ２０４、ＲＯＭ２０５、ＲＡＭ２０６、パネルＩ／Ｆ２０７、ホストＩ／Ｆ２０８、エンジンＩ／Ｆ２０９、ＤＭＡＣ２１０、レンダリング部２１１、外部記憶装置Ｉ／Ｆ２１２、及びＥＥＰＲＯＭ２１３を備え、これらの構成要素はバス２１４を介して互いに接続されている。
【００１９】
プリントエンジン２０２はコントローラ２０１からビットマップデータを受信し、記録紙にビットマップデータを印刷する。ビットマップデータは電子写真方式やインクジェット方式によって記録紙に印刷される。ユーザインターフェース２０３はハードキーや操作パネルを備え、ユーザはハードキーや操作パネルを介して画像形成装置１０１に指示を入力する。操作パネルは、例えば、液晶モニタを有していてもよく、当該液晶モニタには画像形成装置１０１に関する情報等が表示される。
【００２０】
ＣＰＵ２０４はＲＯＭ２０５に格納されたプログラムをＲＡＭ２０６に展開し、当該プログラムを実行して画像形成装置１０２を制御する。ＲＯＭ２０５はＣＰＵ２０４が実行するプログラム等を格納する。ＲＡＭ２０６はＣＰＵ２０４のワークメモリであり、ＲＯＭ２０５から展開されたプログラム等を格納する。また、ＲＡＭ２０６は、ＰＤＬジョブが有するＰＤＬデータ、ＰＤＬデータから生成される中間データ、中間データから生成されるビットマップデータ、及びログ情報等を格納する。
【００２１】
パネルＩ／Ｆ２０７はコントローラ２０１及びユーザインターフェース２０３を接続し、ホストＩ／Ｆ２０８はＬＡＮ１０３及びコントローラ２０１を接続し、エンジンＩ／Ｆ２０９はコントローラ２０１及びプリントエンジン２０２を接続する。ＤＭＡＣ２１０はＲＡＭ２０６にデータを書き込み、又はＲＡＭ２０６からデータを読み出す。レンダリング部２１１は、ＰＤＬデータから生成される中間データをビットマップデータに変換する。外部記憶装置Ｉ／Ｆ２１２はコントローラ２０１及び着脱可能な外部記憶装置（図示しない）を接続する。ＥＥＰＲＯＭ２１３は画像形成装置１０１の設定情報等を格納する。
【００２２】
図３は、図１における画像形成装置１０１によって受信されるＰＤＬジョブ３００の構成を説明するために用いられる図である。
【００２３】
図３のＰＤＬジョブ３００はヘッダ部３０１及びデータ部３０２を有する。ヘッダ部３０１は、例えば、ソート印刷モード３０３、部数３０４、又は読み捨てモード３０５のＰＤＬジョブ３００に関する属性情報を有する。データ部３０２はＰＤＬデータを格納する。レンダリング部２１１は当該ＰＤＬデータに基づいてビットマップデータを生成する。ソート印刷モード３０３は、データ部３０２に格納されたＰＤＬデータに基づいて生成されたビットマップデータを複数部数印刷するためにソート印刷によって印刷されるソート印刷モードが設定されているか否かを示し、部数３０４は当該ビットマップデータの印刷部数を示す。
【００２４】
読み捨てモード３０５はＰＤＬジョブ３００を後述する格納領域４００に格納し、データ部３０２の読み取りが終了したときに、例え、ビットマップデータの印刷が終了していなくてもＰＤＬジョブ３００を当該格納領域４００から削除する読み捨てモードが設定されているか否かを示す。通常、ビットマップデータを複数の印刷部数ほどソート印刷によって印刷するとき、読み捨てモードは設定されず、ビットマップデータを複数の印刷部数ほどソート印刷ではなく、例えば、グループ印刷によって印刷するとき、読み捨てモードが設定される。
【００２５】
図４は、図３のＰＤＬジョブ３００を格納する格納領域４００の構成を説明するために用いられる図である。本実施の形態では、例えば、ＲＡＭ２０６が格納領域４００を有する。
【００２６】
画像形成装置１０１が、例えば、ＰＤＬジョブ４０１を１つだけ受信するとき（図４（ａ））、ＰＤＬジョブ４０１は格納領域４００の全容量４０４と同一の容量を有する格納領域４０８に格納されるが、ＰＤＬジョブ４０１は格納領域４０８の全てを占めるだけの容量を持たないので、格納領域４０８はＰＤＬジョブ４０１を格納すると共に空き容量領域４０９を有する。
【００２７】
また、画像形成装置１０１は、例えば、ＰＤＬジョブ４０１、ＰＤＬジョブ４０２、及びＰＤＬジョブ４０３を順次受信したとき（図４（ｂ））、ＰＤＬジョブ４０１〜４０３を受信した順に格納領域４００に格納する。このとき、ＰＤＬジョブ４０１〜４０３の夫々は、格納領域４００から区分けされた領域であって、格納領域４００の全容量４０４よりも小さい領域からなる格納領域４０５〜４０７の夫々に格納される。
【００２８】
ところで、図４（ｂ）に示すように、ＰＤＬジョブ４０１〜４０３を順次受信したときは格納領域４００の全容量４０４が格納領域４０５〜４０７で満たされ、ＰＤＬジョブ４０１〜４０３を実行するために要する格納領域４００の容量が不足し、ＰＤＬジョブ４０１〜４０３を効率的に実行することができない。一方、図４（ａ）に示すように、格納領域４０８は空き容量領域４０９を有するので、ＰＤＬジョブ４０１を効率的に実行することができる。したがって、例え、ＰＤＬジョブ４０１にソート印刷モードが設定されていても、図４（ａ）の場合にはＰＤＬジョブ４０１を効率的に実行することができる。
【００２９】
図５は、図２の画像形成装置におけるＣＰＵ２０４によって実行される受信処理の手順を示すフローチャートである。
【００３０】
図５において、まず、ＰＣ１０２から送信されたＰＤＬジョブ３００を受信し（ステップＳ５０１）、受信されたＰＤＬジョブ３００が有するヘッダ部３０１を解析してソート印刷モード３０３や部数３０４のＰＤＬジョブ３００に関する属性情報をＲＡＭ２０６に格納し（ステップＳ５０２）、ソート印刷用セマフォが取得可能であるか否かを判別する（ステップＳ５０３）。
【００３１】
ここで、セマフォとは、例えば、或る処理を実行しているときに他の処理を割り込ませる割込処理を制御する機能であり、ソート印刷用セマフォとはソート印刷モードが設定されているときに用いられるセマフォである。具体的には、一のＰＤＬジョブを実行する際にソート印刷用セマフォを取得した場合であって、ソート印刷モードが設定されている場合、一のＰＤＬジョブの実行が完了して取得したソート印刷用セマフォを解放するまで他のＰＤＬジョブの受信を制限する。一方、一のＰＤＬジョブを実行する際にソート印刷用セマフォを取得していない場合、印刷データの印刷が終了する前であっても他のＰＤＬジョブの受信は制限されない。
【００３２】
ステップＳ５０３の判別の結果、ソート印刷用セマフォが取得可能でないとき、所定時間が経過した後（ステップＳ５０４）、ステップＳ５０３に戻り、ソート印刷用セマフォが取得可能であるとき、ソート印刷用セマフォを取得して他のＰＤＬジョブの受信を制限し（ステップＳ５０５）、ＰＤＬジョブ３００のソート印刷モード３０３に基づいてソート印刷モードが設定されているか否かを判別する（ステップＳ５０６）。なお、ステップＳ５０４における所定時間は予めＲＯＭ２０５に格納されている。
【００３３】
ステップＳ５０６の判別の結果、ソート印刷モードが設定されているとき、ＰＤＬジョブ３００の格納領域４００への格納を開始し（ステップＳ５０７）、ソート印刷モードが設定されていないとき、ソート印刷用セマフォを解放して他のＰＤＬジョブの受信を可能とし（ステップＳ５０８）、ステップＳ５０７に進む。次いで、ＰＤＬジョブ３００の全部が格納領域４００に格納されたか否かを判別する（ステップＳ５０９）。
【００３４】
ステップＳ５０９の判別の結果、ＰＤＬジョブ３００の全部が格納領域４００に格納されていないとき、ステップＳ５０７に戻り、ＰＤＬジョブ３００の全部が格納領域４００に格納されたとき、本処理を終了する。
【００３５】
図５の処理によれば、ソート印刷用セマフォが取得され、ソート印刷モードが設定されているとき（ステップＳ５０５〜Ｓ５０６）、他のＰＤＬジョブの受信が制限されるので、ソート印刷において画像形成装置１０１の格納領域４００の空き容量が不足するのを回避でき、ＰＤＬジョブ３００を実行することができる。また、ＰＤＬジョブ３００にソート印刷モードが設定されず、ソート印刷用セマフォが解放されたとき（ステップＳ５０６，Ｓ５０８）、他のＰＤＬジョブの受信が可能となるので、他のＰＤＬジョブを円滑に受信することができ、もって、効率的にＰＤＬジョブを実行することができる。
【００３６】
図６は、図５の受信処理によって受信されたＰＤＬジョブ３００に基づいて生成されるビットマップデータを印刷する印刷処理の手順を示すフローチャートである。図６の処理はＣＰＵ２０４によって実行される。
【００３７】
図６において、まず、上述したステップＳ５０７においてＰＤＬジョブ３００の格納領域４００への格納が開始されたことをきっかけとして格納領域４００に格納されたＰＤＬジョブ３００を読み出す（ステップＳ６０１）。次いで、読み出したＰＤＬジョブ３００を展開してデータ部３０２に格納されたＰＤＬデータから中間データを生成し、レンダリング部２１１が中間データからビットマップデータを生成し、プリントエンジン２０２がビットマップデータを記録紙に印刷する（ステップＳ６０２）。次いで、格納領域４００に格納されたＰＤＬジョブ３００の読み出しが完了したか否かを判別する（ステップＳ６０３）。
【００３８】
ステップＳ６０３の判別の結果、ＰＤＬジョブ３００の読み出しが完了していないとき、ステップＳ６０１に戻り、ＰＤＬジョブ３００の読み出しが完了したとき、ソート印刷モード３０３に基づいてソート印刷モードが設定されているか否かを判別する（ステップＳ６０４）。ステップＳ６０４の判別の結果、ソート印刷モードが設定されていないとき、ＰＤＬジョブ３００を格納領域４００から削除して（ステップＳ６０８）本処理を終了し、ソート印刷モードが設定されているとき、印刷された印刷物の印刷部数、すなわち、ビットマップデータが印刷された記録紙の部数をカウントし（ステップＳ６０５）、カウントした印刷物の印刷部数が部数３０４に示された印刷部数に一致するか否かを判別する（ステップＳ６０６）。
【００３９】
ステップＳ６０６の判別の結果、カウントした印刷物の印刷部数が部数３０４に示された印刷部数に一致するとき、ソート印刷用セマフォを解放して（ステップＳ６０７）ステップＳ６０８に進み、カウントした印刷物の印刷部数が部数３０４に示された印刷部数に一致しないとき、ステップＳ６０１に戻る。
【００４０】
図６の処理によれば、ステップＳ５０７においてＰＤＬジョブ３００の格納領域４００への格納が開始されたことをきっかけとして格納領域４００に格納されたＰＤＬジョブ３００のうち所定のサイズが読み出される（ステップＳ６０１）ので、格納領域４００にＰＤＬジョブ３００の全部が格納される前に印刷処理の実行を開始でき、印刷処理を迅速に終了させることができる。
【００４１】
図７は、図５の受信処理の変形例の手順を示すフローチャートである。図７のステップ５０１〜Ｓ５０９の処理は図５のステップ５０１〜Ｓ５０９の処理と同一であるため、以下において、図５の処理と異なる点のみ説明する。
【００４２】
ステップＳ５０２の処理を実行した後、外部記憶装置Ｉ／Ｆ２１２に外部記憶装置が接続されているか否かを判別する（ステップＳ７０１）。ステップＳ７０１の判別の結果、外部記憶装置Ｉ／Ｆ２１２に外部記憶装置が接続されているとき、ステップＳ５０３〜Ｓ５０６，Ｓ５０８をスキップしてソート印刷用セマフォを取得することなくステップＳ５０７に進み、ＰＤＬジョブ３００の格納領域４００への格納を開始する。外部記憶装置Ｉ／Ｆ２１２に外部記憶装置が接続されていないとき、ステップＳ５０３に進む。
【００４３】
図７の処理によれば、外部記憶装置Ｉ／Ｆ２１２に外部記憶装置が接続されたとき、ソート印刷用セマフォを取得することなく（ステップＳ７０１）ＰＤＬジョブ３００の格納領域４００への格納が開始されるので（ステップＳ５０７）、他の印刷ジョブの受信は制限されない（受信制限の無効化）。換言すれば、ＰＤＬジョブ３００にソート印刷モードが設定されているときであっても外部記憶装置が接続されたときは、他の印刷ジョブが受信される。これにより、他の印刷ジョブを円滑に受信することができ、もって、より効率的にＰＤＬジョブ３００及び他の印刷ジョブを実行することができる。
【００４４】
次に、本発明の第２の実施の形態について説明する。
【００４５】
本発明の第２の実施の形態は、その構成、作用が上述した第１の実施の形態と基本的に同じであり、ＰＤＬジョブ３００の容量が格納領域４００の空き容量よりも大きいか否かに基づいてＰＤＬジョブ３００を受信する点で本発明の第１の実施の形態と異なる。以下、重複した構成、作用については説明を省略し、異なる構成、作用についての説明を行う。
【００４６】
図８は、図２の画像形成装置におけるＣＰＵ２０４によって実行される受信処理の手順を示すフローチャートである。図８のステップ５０１〜Ｓ５０９の処理は図５のステップ５０１〜Ｓ５０９の処理と同一であるため、以下において、図５の処理と異なる点のみ説明する。
【００４７】
ステップＳ５０７の処理を実行した後、格納領域４００の空き容量よりもＰＤＬジョブ３００から生成されたビットマップデータを複数の印刷部数ほど印刷するために必要な容量が小さいか否かを判別する（ステップＳ８０１）。ステップＳ８０１の判別の結果、格納領域４００の空き容量よりも上記ビットマップデータを複数の印刷部数ほど印刷するために必要な容量が小さいとき、ステップＳ５０９に進み、格納領域４００の空き容量よりも上記ビットマップデータを複数の印刷部数ほど印刷するために必要な容量が大きいとき、ソート印刷モード３０３に基づいてソート印刷モードが設定されているか否かを判別する（ステップＳ８０２）。
【００４８】
ステップＳ８０２の判別の結果、ソート印刷モードが設定されているとき、部数３０４が示す印刷部数を１部に低減するとともにソート印刷モードを解除し（ステップＳ８０３）、ソート印刷用セマフォを解放する（ステップＳ８０４）。本実施の形態では、ステップＳ８０３においてソート印刷モードが解除されると後述する図９のステップＳ９０３の処理において読み捨てモードが設定される。ＣＰＵ２０４はソート印刷モードが解除されたとき、ＰＤＬジョブ３００の全部を一度に格納領域４００へ格納することなく、ＰＤＬジョブ３００を部分的に格納領域４００へ逐次格納し、読み捨てモードが設定されたとき、ＰＤＬジョブ３００の読み取りが終了した部分を格納領域４００から逐次削除するので、次第に格納領域４００に空き容量が生じる。
【００４９】
次いで、格納領域４００にＰＤＬジョブ３００の続く一部分を格納するために十分な空き容量が確保されたか否かを判別する（ステップＳ８０５）。ステップＳ８０５の判別の結果、格納領域４００に十分な空き容量が確保されていないとき、所定時間が経過してさらに空き容量が増えた後（ステップＳ８０６）、ステップＳ８０５に戻り、格納領域４００に十分な空き容量が確保されたとき、ＰＤＬジョブ３００の続く一部分の格納領域４００への格納を開始し（ステップＳ８０７）、ＰＤＬジョブ３００の全部が格納領域４００に格納されたか否かを判別する（ステップＳ８０８）。
【００５０】
ステップＳ８０８の判別の結果、ＰＤＬジョブ３００の全部が格納領域４００に格納されたとき、本処理を終了し、ＰＤＬジョブ３００の全部が格納領域４００に格納されていないとき、ステップＳ８０５に戻る。ステップＳ８０２の判別の結果、ソート印刷モードが設定されていないとき、ステップＳ８０３，Ｓ８０４をスキップしてステップＳ８０５に進む。
【００５１】
図８の処理によれば、格納領域４００の空き容量よりも上記ビットマップデータを複数の印刷部数ほど印刷するために必要な容量が大きいとき（ステップＳ８０１でＮＯ）、ＰＤＬジョブ３００の部数３０４が示す印刷部数が１部に低減されてソート印刷モードが解除される（ステップＳ８０３）ので、ＰＤＬジョブ３００の全部を格納領域４００に格納し、上記ビットマップデータの印刷が終了するまでＰＤＬジョブ３００の全部を格納領域４００に格納に格納しつづける必要を無くすことができる。これにより、格納領域４００の空き容量が不足するのを防止してＰＤＬジョブ３００の受信を円滑に行うことができ、もって、効率的にＰＤＬジョブ３００を実行することができる。
【００５２】
図９は、図８の受信処理によって受信されたＰＤＬジョブ３００に基づいて生成されるビットマップデータを印刷する印刷処理の手順を示すフローチャートである。図９の処理はＣＰＵ２０４によって実行される。図９のステップ６０１〜Ｓ６０８の処理は図６のステップ６０１〜Ｓ６０８の処理と同一であるため、以下において、図６の処理と異なる点のみ説明する。
【００５３】
ステップＳ６０３の判別の結果、ＰＤＬジョブ３００の読み出しが完了していないとき、上述のステップＳ８０３においてソート印刷が解除されたか否かを判別する（ステップＳ９０１）。ステップＳ９０１の判別の結果、ソート印刷が解除されていないとき、ステップＳ６０１に戻り、ソート印刷が解除されたとき、読み出したＰＤＬジョブ３００を格納領域４００から削除する（ステップＳ９０２）と共に、読み捨てモードを設定し（ステップＳ９０３）、ステップＳ６０１に戻る。
【００５４】
図９の処理によれば、ソート印刷が解除されたとき、読み出したＰＤＬジョブ３００が格納領域４００から削除される（ステップＳ９０２）ので、格納領域において適時空き容量を確保することができる。
【００５５】
上述した各実施の形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理において、そのプログラム、及び該プログラムを格納するコンピュータ読み取り可能な記憶媒体は本発明を構成する。
【符号の説明】
【００５６】
１０１  画像形成装置
２０４  ＣＰＵ
２０６  ＲＡＭ
３００  ＰＤＬジョブ
３０３  ソート印刷モード
３０４  部数
４００  格納領域
【図１】
0006425473.tif 000002
【図２】
0006425473.tif 000003
【図３】
0006425473.tif 000004
【図４】
0006425473.tif 000005
【図５】
0006425473.tif 000006
【図６】
0006425473.tif 000007
【図７】
0006425473.tif 000008
【図８】
0006425473.tif 000009
【図９】
0006425473.tif 000010