(57)【要約】【課題】画像形成装置における印刷処理の実行状況に応じた分割単位で、処理対象のＶＤＰジョブを分割して画像形成装置に送信する印刷制御装置を提供する。【解決手段】クライアントＰＣ１０が、印刷デバイス２０から印刷処理の実行状況に関する実行状況情報を受信し、印刷ジョブの分割に関する設定情報に基づいて、実行状況情報に基づいて印刷ジョブを分割する設定がされているかを判断する。実行状況情報に基づいて印刷ジョブを分割する設定がされている場合に、クライアントＰＣ１０が、実行状況情報に基づいて、バリアブルデータのレコードを収集し、収集されたバリアブルデータのレコード数に応じた分割単位で印刷ジョブを分割する。そして、クライアントＰＣ１０が、分割された印刷ジョブを印刷デバイス２０に送信する。【選択図】図１
2012133700.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを分割して画像形成装置に送信し、前記画像形成装置に前記印刷ジョブに対応する印刷データの印刷処理を実行させる印刷制御装置であって、
前記印刷データは、複数ページで共用される第１のデータまたはページ毎に可変である第２のデータであり、
前記画像形成装置から前記印刷処理の実行状況に関する実行状況情報を受信する受信手段と、
前記印刷ジョブの分割に関する設定情報を参照して、前記実行状況情報に基づいて前記印刷ジョブを分割する設定がされているかを判断する設定判断手段と、
前記設定判断手段が前記実行状況情報に基づいて前記印刷ジョブを分割する設定がされていると判断した場合に、前記実行状況情報に基づいて、第２のデータのレコードを収集する収集手段と、
前記収集された第２のデータのレコード数に応じた分割単位で前記印刷ジョブを分割する分割手段と、
前記分割された印刷ジョブを前記画像形成装置に送信する送信手段とを備える
ことを特徴とする印刷制御装置。
【請求項２】
前記実行状況情報が、前記画像形成装置における処理待ち状態の印刷ジョブの数である印刷待ちジョブ数を含み、
前記収集手段は、前記印刷待ちジョブ数が予め定められた閾値以下であるかを判断し、前記印刷待ちジョブ数が該閾値以下である場合に、サイズが予め定められた閾値以下である第２のデータのレコードを収集する
ことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記収集手段は、前記実行状況情報が前記画像形成装置において用紙の排出が停止したことを示すエラー情報を含む場合に、サイズが予め定められた閾値以上である第２のデータのレコードを収集する
ことを特徴とする請求項１記載の印刷制御装置。
【請求項４】
前記分割手段は、さらに、前記収集された第２のデータのレコード数が予め定められたレコード数を超える場合に、該予め定められたレコード数に応じた分割単位で前記印刷ジョブを分割する
ことを特徴とする請求項２または請求項３に記載の印刷制御装置。
【請求項５】
印刷ジョブを分割して画像形成装置に送信し、前記画像形成装置に前記印刷ジョブに対応する印刷データの印刷処理を実行させる印刷制御方法であって、
前記印刷データは、複数ページで共用される第１のデータまたはページ毎に可変である第２のデータであり、
前記画像形成装置から前記印刷処理の実行状況に関する実行状況情報を受信する工程と、
前記印刷ジョブの分割に関する設定情報を参照して、前記実行状況情報に基づいて前記印刷ジョブを分割する設定がされているかを判断する工程と、
前記実行状況情報に基づいて前記印刷ジョブを分割する設定がされていると判断された場合に、前記実行状況情報に基づいて、前記第２のデータのレコードを収集する工程と、
前記収集された第２のデータのレコード数に応じた分割単位で前記印刷ジョブを分割する工程と、
前記分割された印刷ジョブを前記画像形成装置に送信する工程とを有する
ことを特徴とする印刷制御方法。
【請求項６】
請求項５に記載の印刷制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷制御方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
個々の顧客ニーズに合ったデータを印刷するバリアブルデータ印刷（ＶＤＰ）を実行する画像形成装置が提案されている。ＶＤＰを実行する画像形成装置は、例えば、１枚１枚内容を差し替えて印刷する。この画像形成装置は、例えば、印刷制御装置からバリアブルデータ印刷ジョブ（ＶＤＰジョブ）を受信し、ＶＤＰジョブに対応するレコードを印刷処理する。
【０００３】
ＶＤＰジョブは、ＶＤＰを行う印刷ジョブである。ＶＤＰジョブは、各ページで繰り返し利用されるリユーザブルデータ（複数回参照可能な共通データ）と、顧客情報等を含む多数のバリアブルデータ（複数回参照不可能なデータ）とを含む。リユーザブルデータは共通データなので、バリアブルデータよりも先に画像形成装置側に転送し、処理をしておく必要がある。また、レコードは、ＶＤＰの一連の処理単位である。例えば、画像形成装置が顧客単位で印刷を行う場合、１顧客分の印刷データが１つのレコードである。
【０００４】
一方、現在、ＣＩＰ４やＰＯＤｉ、ＩＳＯ等の標準化団体は、ＪＤＦとＪＭＦとを用いた、「印刷ワークフロー対応」、「印刷処理効率化」について検討している。ＪＤＦは、Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔの略称である。ＪＤＦは、印刷工程の指示書である。また、ＪＭＦは、Ｊｏｂ  Ｍｅｓｓａｇｉｎｇ  Ｆｏｒｍａｔの略称である。ＪＭＦは、作業レポートである。
【０００５】
「印刷ワークフロー対応」に着目した検討について説明する。ＪＤＦを用いる印刷システムは、ジョブの印刷状況を通知する手段として、画像形成装置でのイベント発生時にジョブの実行状況を指定したアドレスに送信するＪＭＦＳｉｇｎａｌ仕様を有する。印刷システムは、画像形成装置から作業の状況報告や何らかのイベントの結果( 例：紙詰まり, 印刷完了など) を印刷制御装置が備えるＶＤＰアプリケーションに送るときにＪＭＦＳｉｇｎａｌを使用する。ＶＤＰアプリケーションはＶＤＰジョブを生成するアプリケーションである。
【０００６】
「印刷処理効率化」に着目した検討について説明する。１つのＶＤＰジョブが多くのレコードを含む場合がある。従って、印刷制御装置が、ＶＤＰジョブ全体を所定のレコード数の単位で分割し、分割されたＶＤＰジョブを画像形成装置に送信して順次印刷させることが考えられる。例えば、クレジットカードのダイレクトメールでは、１つのＶＤＰジョブが数千〜数万程度のレコードを含む。
【０００７】
ＶＤＰジョブを分割する技術として、ＶＤＰアプリケーション側で、画像形成装置が効率的な動作を継続することを前提として、ＶＤＰジョブを分割するシステムが提案されている。例えば、特許文献１は、電子文書を３つ以上のデータブロックに分割し、最後尾のデータブロックを最初に印刷装置に転送し、その後、先頭のデータブロックから順に印刷装置に転送する電子文書印刷システムを開示している。また、特許文献２は、電子文書を、ページ毎に新たな電子文書データブロックに編集し、各データブロックを１つの転送用ファイルに結像して印刷装置に送信する電子文書印刷システムを開示している。また、例えば、ＯｂｊｅｃｔｆＬｕｎｅ株式会社のＰｒｉｎｔＳｈｏｐＭａｉｌによれば、ユーザインタフェース上でページ毎に電子文書を分割する指定をすることができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−３４８１９４号公報
【特許文献２】特開２００４−３４８６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したような、画像形成装置が効率的な動作を継続することを前提として、ＶＤＰアプリケーションがＶＤＰジョブを分割する技術は、画像形成装置における印刷処理の実行状況に応じてＶＤＰジョブを分割していない。従って、以下の（１）および（２）に述べる問題が生じ、ＶＤＰジョブ全体に対応する印刷時間が延びてしまう可能性がある。
【００１０】
（１）ＶＤＰジョブを扱う画像形成装置は、通常、処理速度が早いので、画像形成装置が備えるジョブ受信キュー内の印刷待ちジョブの減りが早い。ジョブ受信キューは、画像形成装置が印刷制御装置から受信したＶＤＰジョブを格納するキューである。印刷待ちジョブは、印刷待ち状態のＶＤＰジョブである。印刷制御装置が備えるＶＤＰアプリケーションが、画像形成装置が備えるジョブ受信キュー内の印刷待ちジョブの数を考慮せずに、転送に時間のかかるデータの転送を継続していると、ジョブ受信キュー内の印刷待ちジョブがなくなってしまう可能性がある。画像形成装置が備えるジョブ受信キュー内の印刷待ちジョブの数の印刷待ちジョブが少なく、連続プリントが途切れそうな場合は、印刷制御装置は、なるべく転送に時間のかからないレコードを転送すべきである。
【００１１】
（２）ペーパージャムが発生する等、画像形成装置の印刷エンジンが停止しているときに、ＶＤＰアプリケーションが転送に時間のかからない印刷データを画像形成装置へ転送していると、以下のような問題が発生する。すなわち、ＶＤＰアプリケーションは、転送に時間のかかる印刷データを後で集中的に転送処理することになるので、画像形成装置が備えるジョブ受信キュー内の印刷待ちジョブがなくなり、連続プリントが途切れる可能性がある。画像形成装置の印刷エンジンが停止しているときは、印刷制御装置が、なるべく転送に時間がかかる印刷データを送信すべきである。
【００１２】
つまり、従来の印刷制御装置は、印刷待ちジョブの数や、印刷エンジンの状態等、印刷処理の実行状況に応じた分割単位で、処理対象のＶＤＰジョブを分割することは行っていなかったので、ＶＤＰジョブの効率的な処理ができない。
【００１３】
本発明は、画像形成装置における印刷処理の実行状況に応じた分割単位で、処理対象のＶＤＰジョブを分割して画像形成装置に送信する印刷制御装置の提供を目的とする。
【課題を解決するための手段】
【００１４】
本発明の一実施形態の印刷制御装置は、印刷ジョブを分割して画像形成装置に送信し、前記画像形成装置に前記印刷ジョブに対応する印刷データの印刷処理を実行させる印刷制御装置である。前記印刷データは、複数ページで共用される第１のデータまたはページ毎に可変である第２のデータである。また、前記印刷制御装置は、前記画像形成装置から前記印刷処理の実行状況に関する実行状況情報を受信する受信手段と、前記印刷ジョブの分割に関する設定情報を参照して、前記実行状況情報に基づいて前記印刷ジョブを分割する設定がされているかを判断する設定判断手段と、前記設定判断手段が前記実行状況情報に基づいて前記印刷ジョブを分割する設定がされていると判断した場合に、前記実行状況情報に基づいて、第２のデータのレコードを収集する収集手段と、前記収集された第２のデータのレコード数に応じた分割単位で前記印刷ジョブを分割する分割手段と、前記分割された印刷ジョブを前記画像形成装置に送信する送信手段とを備える。
【発明の効果】
【００１５】
本発明の印刷制御装置によれば、画像形成装置における印刷処理の実行状況に応じた分割単位で、処理対象のＶＤＰジョブを分割して画像形成装置に送信することができる。従って、ＶＤＰジョブを画像形成装置における印刷処理の実行状況に応じて効率的に処理することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態の印刷システムの構成の一例である。
【図２】ＰＣクライアントの機能ブロック図の例である。
【図３】ＶＤＰアプリケーションの設定ファイルの一例である。
【図４】ＶＤＰアプリケーションが表示するＵＩ画面の例を示す図である。
【図５】レコードデータベースと、印刷ジョブに対応する印刷データの例である。
【図６】実施例１におけるＪＭＦＳｉｇｎａｌの例を説明する図である。
【図７】実施例１におけるＶＤＰジョブの分割処理フローの例を示す図である。
【図８】レコードの収集処理の例を説明するフローチャートである。
【図９】実施例２におけるＪＭＦＳｉｇｎａｌの例を示す図である。
【図１０】レコードの収集処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
図１は、本実施形態の印刷システムの構成の一例である。図１に示す印刷システムは、クライアントＰＣ（Personal Computer ）１０と印刷デバイス２０とを備える。クライアントＰＣ１０と印刷デバイス２０とは、例えば、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network ）などのネットワーク３０を介して通信可能に接続されている。
【００１８】
クライアントＰＣ１０は、本実施形態の印刷制御装置である。クライアントＰＣ１０は、印刷ジョブを分割して印刷デバイス２０に送信し、印刷デバイス２０に該印刷ジョブに対応する印刷データの印刷処理を実行させる。
【００１９】
本実施形態では、分割の対象となる印刷ジョブは、ＶＤＰジョブである。このＶＤＰジョブに対応する印刷データは、複数ページで共用されるデータであるリユーザブルデータ（第１のデータ）と、ページ毎に可変のデータであるバリアブルデータ（第２のデータ）である。また、本実施形態において、印刷ジョブ（ＶＤＰジョブ）の分割とは、印刷ジョブが含む印刷データのレコードから、所定の条件に合致するレコードを収集し、収集したレコードに対応する新たな印刷ジョブを生成することである。
【００２０】
ＰＣクライアント１０には、予めＶＤＰアプリケーションがインストールされている。ＶＤＰアプリケーションは、ＶＤＰジョブの作成、編集、印刷指示、送信を行う機能を有する。オペレータすなわちクライアントＰＣ１０のユーザは、ＶＤＰアプリケーションを利用してＶＤＰジョブの状況などを確認することができる。印刷デバイス２０は、画像形成装置であって、スキャン、プリント、コピーなどの様々な機能を有する。
【００２１】
クライアントＰＣ１０は、操作部１０１、ＣＰＵ（Central Processing
Unit）１０２、外部Ｉ／Ｆ（Interface）１０３を備える。また、クライアントＰＣ１０は、ＲＯＭ（Read Only Memory）１０４、ＲＡＭ（Random Access
Memory）１０５、外部記憶装置１０６を備える。操作部１０１乃至外部記憶装置１０６は、システムバス１０７を介して互いに接続されている。
【００２２】
操作部１０１は、ユーザの操作に応じた入力情報を入力する。ＣＰＵ１０２は、クライアントＰＣ１０全体を制御する。外部Ｉ／Ｆ１０３は、ネットワーク３０を介したクライアントＰＣ１０と印刷デバイス２０との間の通信を媒介する。具体的には、外部Ｉ／Ｆ１０３は、クライアントＰＣ１０から印刷デバイス２０に対するＶＤＰジョブの送信を媒介する。また、外部Ｉ／Ｆ１０３は、クライアントＰＣ１０と印刷デバイス２０との間で実行される、ＪＭＦＳｉｇｎａｌの送受信を媒介する。
【００２３】
ＲＯＭ１０４は、読み出し専用メモリである。ＲＯＭ１０４は、システム制御プログラムやフォントデータ等の記憶領域を含む。ＲＡＭ１０５は、クライアントＰＣ１０が実行する処理に対応するコンピュータプログラムとデータとがロードされるメモリである。ＲＡＭ１０５にロードされたプログラムは、ＣＰＵ１０２によって実行される。外部記憶装置１０６は、例えばハードディスク装置等である。外部記憶装置１０６には、ＣＰＵが実行するプログラムが予め記憶されている。ＣＰＵ１０２が、処理の実行時に、外部記憶装置１０６に記憶されているプログラムを参照またはＲＡＭ１０５にロードする。また、外部記憶装置１０６には、図５（Ａ）を参照して後述するレコードデータベース５００が記憶されている。
【００２４】
図２は、図１に示すＰＣクライアントの機能ブロック図の例である。具体的には、図２は、クライアントＰＣ１０にインストールされたＶＤＰアプリケーションの構成例を示す。ＶＤＰアプリケーションは、入力部２０１、ＪＭＦ受信部２０２、制御部２０３、レコード収集部２０４、印刷データ処理部２０５、データ転送部２０６を備える。ＶＤＰアプリケーションが備える各処理部は、ＣＰＵ１０２が実行するコンピュータプログラムとして実現される。
【００２５】
入力部２０１は、ＵＩ（User Interface）画面を表示する。例えば、入力部２０１は、後述する図４に示すダイアログ４００を表示する。ユーザがダイアログ４００上で各種の設定操作を行うと、入力部２０１が、この設定操作に応じた入力情報を受け付ける。この入力情報は、印刷ジョブの分割に関する設定情報を含む。
【００２６】
ＪＭＦ受信部２０２は、印刷デバイス２０から、ネットワーク３０および外部Ｉ／Ｆ１０３を介して、ＪＭＦＳｉｇｎａｌを受信する受信手段として機能する。このＪＭＦＳｉｇｎａｌは、印刷デバイス２０における印刷処理の実行状況に関する情報（実行状況情報）を含む。
【００２７】
制御部２０３は、ＶＤＰアプリケーションが含む各処理部を制御する。制御部２０３は、入力部２０１が受け付けた入力情報が含む、印刷ジョブの分割に関する設定情報を参照して、実行状況情報に基づいて印刷ジョブを分割する設定がされているかを判断する設定判断手段として機能する。制御部２０３が、実行状況情報に基づいて印刷ジョブを分割する設定がされていると判断した場合、制御部２０３は、図５に示すレコードデータベース５００を参照し、印刷ジョブに対応する印刷データがリユーザブルデータを含むかを判断する。
【００２８】
レコードデータベース５００には、ＶＤＰジョブが含むレコードに関する情報が予め格納されている。印刷ジョブに対応する印刷データがリユーザブルデータを含む場合、制御部２０３は、レコード収集部２０４に指示してリユーザブルデータのレコードを収集させる。印刷ジョブに対応する印刷データがリユーザブルデータを含まない場合、制御部２０３は、ＪＭＦ受信部２０２が印刷デバイス２０から受信したＪＭＦＳｉｇｎａｌを解析する。
【００２９】
レコード収集部２０４は、制御部２０３からの指示に基づいて、以下のレコード収集処理を実行する収集手段として機能する。すなわち、制御部２０３からリユーザブルデータのレコードの収集を指示された場合、レコード収集部２０４は、リユーザブルデータのレコードを、予め設定された単位毎（例えば、１０００レコード毎）に収集する。これにより、リユーザブルデータのレコード群が得られる。
【００３０】
制御部２０３が、ＶＤＰジョブが含む印刷データがリユーザブルデータを含まないと判断した場合、レコード収集部２０４は、ＪＭＦＳｉｇｎａｌの解析結果に応じたレコード収集処理を実行する。具体的には、レコード収集部２０４は、ＪＭＦＳｉｇｎａｌが含む実行状況情報に基づいて、バリアブルデータのレコード群を収集する。印刷データ処理手段２０５は、制御部２０３の指示に従って、レコード収集部２０４が収集したレコード群毎に、印刷デバイス２０への送信用の印刷データを生成する。
【００３１】
データ転送部２０６は、制御部２０３の指示に従って、印刷データ処理部２０５が生成した印刷データをＭＩＭＥ形式でパッケージ化することを通じて、印刷デバイス２０に実行させる印刷ジョブを生成する。これにより、元の印刷ジョブ（ＶＤＰジョブ）が分割される。すなわち、制御部２０３、印刷データ処理部２０５およびデータ転送部２０６は、収集されたバリアブルデータのサイズに応じた分割単位で印刷ジョブを分割する分割手段として機能する。また、データ転送部２０６は、生成した印刷ジョブを、外部Ｉ／Ｆ１０３およびネットワーク３０を介して印刷デバイス２０に逐次送信する送信手段として機能する。
【００３２】
図３は、ＶＤＰアプリケーションの設定ファイルの一例である。設定ファイル３００は、クライアントＰＣ１０において動作するＶＤＰアプリケーションの、様々な設定上の条件を記述したファイルである。設定ファイル３００は、多くの場合プレーンテキスト形式で記述されており、外部記憶装置１０６に予め記憶されている。
【００３３】
ＶＤＰアプリケーションのユーザが、設定ファイル３００の記述内容をテキストエディタで変更することにより、プログラムの動きをカスタマイズすることができる。設定ファイル３００は、キー・バリュー・ストア３０１、３０２を含む。各々のキー・バリュー・ストアは、ｋｅｙ属性と、ｖａｌｕｅ属性とを含む。ｖａｌｕｅ属性には、ｋｅｙ属性に対応する値が設定される。例えば、キー・バリュー・ストア３０１が含むｋｅｙ属性は、印刷デバイス２０が有する印刷キューの下限値を示す。そして、キー・バリュー・ストア３０１が含むｖａｌｕｅ属性は、印刷キューの下限値が４であることを示す。
【００３４】
印刷キューは、印刷デバイス２０が有するジョブ受信キューである。印刷デバイス２０は、ＶＤＰジョブをジョブ受信キューに格納し、ジョブ受信キューの先頭から順次ＶＤＰジョブを取り出して実行する。印刷キューの下限値は、ジョブ受信キューに格納されている処理待ちジョブの下限値である。印刷キューの下限値は、予め設定される。ジョブ受信キューに格納されているＶＤＰジョブの数が、印刷キューの下限値を下回ると、連続プリントが途切れる可能性がある。ＶＤＰアプリケーションは、ｋｅｙ属性名として「Ｑｕｅｕｅ数の下限値」を指定することにより、キー・バリュー・ストア３０１を参照し、印刷キューの下限値として”４”を取得することができる。
【００３５】
キー・バリュー・ストア３０２が含むｋｅｙ属性は、レコードサイズを示す。この例では、ｖａｌｕｅ属性にレコードサイズの値として１０（ＭＢ）が設定されている。キー・バリュー・ストア３０２において予め設定されるレコードサイズは、レコード収集部２０４がどのレコードを収集するかを決める基準となる。
【００３６】
図４は、ＶＤＰアプリケーションが表示するＵＩ画面の例を示す図である。ＶＤＰアプリケーションが備える入力部２０１が、ダイアログ４００をＵＩ画面として表示する。ダイアログ４００上におけるユーザの操作入力に応じて、入力部２０１が、ＶＤＰジョブの分割及び転送の設定を受け付ける。
【００３７】
チェックボックス４０１は、テキストボックス４０２に設定されたレコード数毎に印刷ジョブを分割する設定を受け付ける。テキストボックス４０２は、印刷ジョブを何レコード数毎に分割するかを示す情報を受け付ける。チェックボックス４０１およびテキストボックス４０２を用いて行われた印刷ジョブの分割に関する設定を、以下では基準分割設定と記述する。ＶＤＰアプリケーションが、実行状況情報に基づいて印刷ジョブを分割しない場合、ＶＤＰアプリケーションは、基準分割設定に従って印刷ジョブを分割する。具体的には、ＶＤＰアプリケーションは、基準分割設定に応じた単位でレコードを収集する。テキストボックス４０２は、チェックボックス４０１がＯＮの場合にのみ有効となる。
【００３８】
チェックボックス４０３は、実行状況情報に基づいて印刷ジョブを分割する設定を受け付ける。チェックボックス４０３がＯＮとなり、実行状況情報に基づいて印刷ジョブを分割する設定がされた場合、ＶＤＰアプリケーションは、チェックボックス４０５またはチェックボックス４０６による設定内容に応じて、バリアブルデータのレコードを収集する。テキストボックス４０４は、チェックボックス４０５またはチェックボックス４０６による設定内容に応じて収集されたレコードをどの分割単位で分割するかを受け付ける。
【００３９】
チェックボックス４０５、４０６は、印刷ジョブの分割のトリガーとなる情報の設定を受け付ける。印刷ジョブの分割のトリガーとなる情報は、実行状況情報が含む情報のうち、ＶＤＰアプリケーションが印刷ジョブをどのように分割するかを決定する基準とする情報である。例えば、チェックボックス４０５がＯＮである場合、ＶＤＰアプリケーションは、印刷デバイス２０が備えるジョブ受信キューに格納されている処理待ちジョブの数に応じて、バリアブルデータのレコードを収集する。処理待ちジョブの数は、印刷デバイス２０から送信されるＪＭＦＳｉｇｎａｌに含まれる。
【００４０】
また、例えば、チェックボックス４０６がＯＮである場合、ＶＤＰアプリケーションは、印刷デバイス２０の状況を示す情報に応じてバリアブルデータのレコードを収集する。印刷デバイス２０の状況を示す情報は、印刷デバイス２０から送信されるＪＭＦＳｉｇｎａｌに含まれる。例えば、印刷デバイス２０の状況を示す情報は、印刷デバイス２０においてペーバージャムすなわち用紙の排出が停止したことを示すエラー情報である。テキストボックス４０４乃至４０６は、チェックボックス４０３がＯＮの場合にのみ有効となる。なお、チェックボックス４０５と４０６とをＯＮにして使用することもできる。
【００４１】
図５は、外部記憶装置が記憶しているレコードデータベースの例と、印刷ジョブに対応する印刷データの例を示す図である。図５（Ａ）は、外部記憶装置が記憶しているレコードデータベースの例である。５００はレコードデータベースを示す。外部記憶装置１０６には、印刷ジョブ毎にレコードデータベースが設けられている。図５（Ａ）に示すレコードデータベース５００は、ＪｏｂＩＤが１である印刷ジョブに対応するレコードデータベースである。参照番号５０１から５０７は、レコードのデータフィールドである。なお、レコードデータベース５００が含む各レコードは、可変長レコード、すなわち、データベースを構成するレコードのサイズ（レコード長）が固定されていない形式のレコードである。可変長レコードは、各レコードの先頭に自身のサイズを記録するフィールドを設けることで、レコードの区切りを判断する仕組みを有する。
【００４２】
５０１はレコードのサイズ、５０２は顧客番号、５０３は名前、５０４は住所、５０５はマスターファイルのリンク先、５０６はオブジェクト１のリンク先の情報、５０７はオブジェクト２のリンク先の情報である。オブジェクト１、２は、各レコードが含むオブジェクトである。オブジェクト１、２は、リユーザブルデータまたはバリアブルデータである。ＶＤＰアプリケーションは、レコードデータベース５００が含む各オブジェクトのリンク先の情報に基づいて、リユーザブルデータまたはバリアブルデータのレコードを収集することができる。
【００４３】
図５（Ｂ）は、印刷ジョブが含む印刷データの例を示す。図５（Ｂ）に示すように、ＪｏｂＩＤが１である印刷ジョブ６００は、印刷データを構成する複数のレコード６０１を含む。レコード６０１に対応するレコードデータは、レコードデータベース５００に格納されている。各レコード６０１は、１または複数のページ６０２を含む。印刷ジョブ６００がＶＤＰジョブである場合、複数のレコード６０１で構成される印刷データは、バリアブルデータとリユーザブルデータとを含む。
【００４４】
図６は、実施例１におけるＪＭＦＳｉｇｎａｌの例を説明する図である。クライアントＰＣ１０は、印刷デバイス２０に対して、ＪＭＦＳｉｇｎａｌ７０１を定期的に送信する。ＪＭＦＳｉｇｎａｌ７０１は、ジョブの実行状況と印刷デバイス２０の状況を示す情報の定期報告を求める要求を含む。ＪＭＦＳｉｇｎａｌ７０１が含むアドレス７０２は、ＪＭＦＳｉｇｎａｌの送信先である印刷デバイス２０のアドレスである。ＲｅｐｅａｔＴｉｍｅ属性７０３は、印刷デバイス２０に行わせる定期報告の間隔を指示する。この例では、ＲｅｐｅａｔＴｉｍｅ属性７０３は、３００秒ごとに定期報告を行うよう指示する。７０４〜７０６は、それぞれ、報告を求める情報の種類を示す。
【００４５】
ＤｅｖｉｃｅＤｅｔａｉｌｓ属性７０４は、印刷デバイス２０の状況を示す。ＪｏｂＤｅｔａｉｌｓ属性７０５は、印刷ジョブに関する情報を示す。ＱｕｅｕｅＩｎｆｏ属性７０６は、印刷キューの状況を示す。各属性に設定される”Ｂｒｉｅｆ”は、属性に対応する情報の簡潔な報告を求める設定である。また、各属性に設定される”Ｔｒｕｅ”または”Ｆｕｌｌ”は、属性に対応する情報の詳細な報告を求める設定である。また、各属性に設定される”Ｎｏｎｅ”または”Ｆａｌｓｅ”は、属性に対応する情報の報告を求めない設定である。
【００４６】
ＪＭＦＳｉｇｎａｌ７０１を受信した印刷デバイス２０は、ＪＭＦＳｉｇｎａｌ７０７をクライアントＰＣ１０に対して返信する。クライアントＰＣ１０にインストールされているＶＤＰアプリケーションのＪＭＦ受信部２０２がＪＭＦＳｉｇｎａｌ７０７を受信して、ＲＡＭ１０５に記憶する。
【００４７】
デバイス状況属性７０８は、印刷デバイス２０の状況を示す。具体的には、デバイス状況属性７０８が含むＤｅｖｉｃｅＳｔａｔｕｓ属性に、印刷デバイス２０の状況が記述されている。ＤｅｖｉｃｅＳｔａｔｕｓ属性には、印刷デバイス２０の状況に応じて、Ｒｕｎｎｉｎｇ、Ｄｏｗｎ、Ｉｄｌｅ、またはＳｔｏｐｐｅｄが記述される。
【００４８】
Ｒｕｎｎｉｎｇは、印刷デバイス２０が印刷ジョブを処理中であることを示す。Ｄｏｗｎは、印刷デバイス２０が何らかの原因（電源がＯＦＦなど）で印刷ジョブを処理できない状態を示す。Ｉｄｌｅは、印刷デバイス２０が印刷ジョブの待ち状態であることを示す。Ｓｔｏｐｐｅｄは、印刷デバイスが何らかの原因（ウェイト状態など）で停止中であることを示す。本実施例では、印刷デバイス２０のエンジンがＶＤＰジョブの処理中であるものとする。従って、ＤｅｖｉｃｅＳｔａｔｕｓ属性にＲｕｎｎｉｎｇが記述されている。
【００４９】
また、デバイス状況属性７０８が含むＳｔａｔｕｓＤｅｔａｉｌｓ属性には、印刷デバイス２０の詳細状況が記述される。ＳｔａｔｕｓＤｅｔａｉｌｓ属性は、ＤｅｖｉｃｅＳｔａｔｕｓ属性の詳細な説明である。ＳｔａｔｕｓＤｅｔａｉｌｓ属性には、ＪｏｂＨｅｌｄ、ＪｏｂＳｕｓｐｅｎｄｅｄ、ＰａｐｅｒＪａｍ、またはＧｏｏｄが設定される。
【００５０】
ＪｏｂＨｅｌｄは、印刷デバイス２０が印刷ジョブをホールドしている状態を示す。ＪｏｂＳｕｓｐｅｎｄｅｄは、印刷デバイス２０が処理中の印刷ジョブをサスペンドしている状態を示す。ＰａｐｅｒＪａｍは、印刷デバイス２０上でペーパージャムが発生している状態を示す。Ｇｏｏｄは、印刷が問題なく処理中であることを示す。この例では、印刷デバイス２０の状況に問題は発生していないので、ＳｔａｔｕｓＤｅｔａｉｌｓ属性にはＧｏｏｄが設定されている。
【００５１】
ジョブ属性７０９は、印刷デバイス２０が処理中である印刷ジョブの状況を示す。ジョブ属性７０９が含むＪｏｂＩＤ属性には、印刷ジョブのＩＤが設定される。Ａｍｏｕｎｔ属性には、処理中の部数が設定される。ＴｏｔａｌＡｍｏｕｎｔ属性には、計画している（処理しようとしている）部数が設定される。ＰｅｒｃｅｎｔＣｏｍｐｌｅｔｅｄ属性には、印刷ジョブの処理進捗割合が設定される。
【００５２】
ＱｕｅｕｅＥｎｔｒｙ７１０乃至７１２は、印刷デバイス２０が備える各々の印刷キューの詳細な状況を示す。すなわち、ＪＭＦＳｉｇｎａｌ７０１が含むＱｕｅｕｅＩｎｆｏ属性７０６に”Ｔｒｕｅ”が設定されている場合に、ＱｕｅｕｅＥｎｔｒｙ７１０乃至７１２に値が設定される。
【００５３】
ＱｕｅｕｅＥｎｔｒｙが含むＪｏｂＩＤは、印刷キューに格納されている印刷ジョブのＩＤを示す。印刷キューに格納されている印刷ジョブは、ＶＤＰアプリケーションによって分割されて印刷デバイス２０に送信された印刷ジョブである。ＱｕｅｕｅＥｎｔｒｙＩＤは、印刷キューのＩＤを示す。また、Ｓｔａｔｕｓは、印刷キューの状態（この例ではＲｕｎｎｉｎｇ状態）を示す。ＳｕｂｍｉｓｓｉｏｎＴｉｍｅは、印刷キューのサブミット時間を示す。ＶＤＰアプリケーションは、印刷ジョブを分割し、分割された印刷ジョブを印刷デバイス２０に送信するが、分割された各々の印刷ジョブのＪｏｂＩＤは同じである。従って、１つのＪｏｂＩＤに対して複数の印刷キューが発生する。この例では、ＱｕｅｕｅＥｎｔｒｙの数が、印刷デバイス２０における処理待ち状態の印刷ジョブの数（印刷待ちジョブ数）を示す。ＱｕｅｕｅＥｎｔｒｙの数は、印刷デバイス２０における印刷処理状況に応じて変化する。
【００５４】
なお、印刷デバイス２０は、エラー等のイベントが発生した時は、定期報告としてではなく、イベントの発生を報告するＪＭＦＳｉｇｎａｌをクライアントＰＣ１０に対して送信するものとする。
【００５５】
図７は、実施例１におけるＶＤＰジョブの分割処理フローの例を示す図である。まず、ＶＤＰアプリケーションが備えるＪＭＦ受信部２０２が、印刷デバイス２０からＪＭＦＳｉｇｎａｌ７０７を受信して、ＲＡＭ１０５に記憶する（ステップＳ１）。
【００５６】
次に、制御部２０３が、実行状況情報に基づいてＶＤＰジョブを分割する設定がされているかを判断する（ステップＳ２）。図４のダイアログ４００上のチェックボックス４０３がＯＮである場合、制御部２０３が、実行状況情報に基づいてＶＤＰジョブを分割する設定がされていると判断する。チェックボックス４０３がＯＦＦである場合、制御部２０３が、実行状況情報に基づいてＶＤＰジョブを分割する設定がされていないと判断する。制御部２０３が、実行状況情報に基づいてＶＤＰジョブを分割する設定がされていないと判断した場合は、ステップＳ１５に進む。そして、ＶＤＰアプリケーションが、基準分割設定に従って、ＶＤＰジョブを分割して印刷デバイス２０に送信する（ステップＳ１５）。
【００５７】
ステップＳ１５における処理について具体的に説明する。例えば、基準分割設定が、印刷ジョブを１０００レコード毎に分割することを示す場合、レコード収集部２０４が、レコードデータベース５００を参照して、印刷デバイス２０が処理対象とするレコードを１０００レコード単位で収集する。レコード収集部２０４は、印刷デバイス２０による処理対象となる順番で各々のレコードを収集する。印刷データ処理部２０５が、１０００レコード単位で、印刷デバイス２０への送信用の印刷データを生成する。そして、データ転送部２０６が、生成された印刷データに対応する印刷ジョブを生成し、生成した印刷ジョブを印刷デバイス２０に順次送信する。
【００５８】
上記ステップＳ２において、制御部２０３が、実行状況情報に基づいて印刷ジョブを分割する設定がされていると判断した場合は、ステップＳ３に進む。ステップＳ３において、制御部２０３が、印刷ジョブに対応する印刷データがリユーザブルデータを含むかを判断する（ステップＳ３）。具体的には、制御部２０３が、ＲＡＭ１０５に記憶された図６中に示すＪＭＦＳｉｇｎａｌ７０７を解析して、以下の処理を実行する。制御部２０３が、例えば、”ＪｏｂＩＤ００１”という印刷ジョブのＩＤをキーとして、ＱｕｅｕｅＥｎｔｒｙ７１０乃至７１２と外部記憶装置１０６内のレコードデータベースとの関連付けをする。これにより、制御部２０３は、印刷ジョブに対応するレコードを特定するとともに、印刷ジョブが含むレコードのうち、どのレコードまで印刷デバイス２０に送信済みであるかを確認する。この例では、印刷ジョブに対応するレコードは、図５（Ａ）に示すレコードデータベース５００に含まれるものとする。上記の関連付けの際に、制御部２０３は、リユーザブルデータがレコードデータベース５００に含まれるかを判断する。リユーザブルデータがレコードデータベース５００に含まれる場合、制御部２０３は、印刷ジョブに対応する印刷データがリユーザブルデータを含むと判断する。印刷ジョブに対応する印刷データがリユーザブルデータを含まない場合は、ステップＳ４に進む。
【００５９】
印刷ジョブに対応する印刷データがリユーザブルデータを含む場合、レコード収集部２０４がレコードデータベース５００を参照して、リユーザブルデータのレコードを収集し（ステップＳ１６）、ステップＳ７に進む。ステップＳ１６においては、レコード収集部２０４は、基準分割設定に応じた単位でリユーザブルデータのレコードを収集する。
【００６０】
ステップＳ４において、制御部２０３が、ＪＭＦＳｉｇｎａｌ７０７から、印刷ジョブの分割のトリガーとなる情報を取得する（ステップＳ４）。本実施例では、図４中に示すダイアログ４００上でチェックボックス４０５がＯＮであり、印刷ジョブの分割のトリガーとなる情報は、印刷デバイス２０が備えるジョブ受信キューに格納されている処理待ちジョブの数である。従って、制御部２０３は、ＪＭＦＳｉｇｎａｌ７０７を参照して、ＱｕｅｕｅＥｎｔｒｙの数を処理待ちジョブの数として取得する。
【００６１】
次に、レコード収集部２０４が、ステップＳ４において取得された印刷ジョブの分割のトリガーとなる情報に基づいて、レコードを収集する（ステップＳ５）。ステップＳ５において収集されるレコードは、バリアブルデータのレコードである。
【００６２】
図８は、ステップＳ５におけるレコードの収集処理の例を説明するフローチャートである。まず、レコード収集部２０４が、図３に示す設定ファイル３００を参照して、印刷キューの下限値ＮとレコードサイズＳとを取得する（ステップＳ５１）。次に、レコード収集部２０４が、図７のステップＳ４において取得した処理待ちジョブの数が印刷キューの下限値Ｎ以下であるかを判断する（ステップＳ５２）。処理待ちジョブの数が印刷キューの下限値Ｎより大きい場合は、レコード収集部２０４が、基準分割設定に応じた単位でレコードを収集し（ステップＳ５８）、図７のステップＳ７に進む。
【００６３】
処理待ちジョブの数が印刷キューの下限値Ｎ以下である場合、レコード収集部２０４が、レコードデータベース５００を参照して、レコードを１つ選択し、選択したレコードのレコードサイズを取得する（ステップＳ５３）。レコード収集部２０４は、未処理のレコードのうち、顧客番号の若いレコードから順に選択していく。
【００６４】
次に、レコード収集部２０４が、ステップＳ５３において選択したレコードのサイズがステップＳ５１において取得したレコードサイズＳ以下であるかを判断する（ステップＳ５４）。ステップＳ５３において選択したレコードのサイズがレコードサイズＳより大きい場合、レコード収集部２０４が、次のレコードを処理対象として（ステップＳ５７）、ステップＳ５３に戻る。
【００６５】
ステップＳ５３において選択したレコードのサイズがレコードサイズＳ以下である場合、レコード収集部２０４が、このレコードを収集するとともに、このレコードを識別するＩＤ（レコードＩＤ）をＲＡＭ１０５に記憶する（ステップＳ５５）。
【００６６】
次に、レコード収集部２０４が、レコードデータベース５００が含む最後のレコードを処理したかを判断する（ステップＳ５６）。レコード収集部２０４が、レコードデータベース５００が含む最後のレコードを処理したと判断した場合は、処理を終了する。レコード収集部２０４が、レコードデータベース５００が含む最後のレコードを処理していないと判断した場合は、ステップＳ５７に進む。すなわち、レコード収集部２０４は、印刷待ちジョブ数が予め定められた閾値以下であるかを判断し、印刷待ちジョブ数が該閾値以下である場合（Ｓ５２でＹｅｓ）に、サイズが予め定められた閾値以下であるバリアブルデータのレコードを収集する（Ｓ５５）。
【００６７】
図７に戻って、制御部２０３が、ステップＳ５において収集されたレコードの分割単位が設定されているかを判断する（ステップＳ６）。具体的には、制御部２０３が、図４のダイアログ４００のテキストボックス４０４に値が設定されているかを判断する。テキストボックス４０４に設定されている値が、ステップＳ５において収集されたレコードの分割単位を示す。従って、テキストボックス４０４に値が設定されている場合、制御部２０３が、ステップＳ５において収集されたレコードの分割単位が設定されていると判断する。テキストボックス４０４に値が設定されていない場合、制御部２０３が、ステップＳ５において収集されたレコードの分割単位が設定されていないと判断する。
【００６８】
制御部２０３が、ステップＳ５において収集されたレコードの分割単位が設定されていないと判断した場合は、ステップＳ７に進む。制御部２０３が、ステップＳ５において収集されたレコードの分割単位が設定されていると判断した場合、制御部２０３が、ステップＳ５において収集されたレコードの数が上記レコードの分割単位より大きいかを判断する（ステップＳ１０）。制御部２０３が、ステップＳ５において収集されたレコードの数が上記レコードの分割単位より大きくないと判断した場合は、ステップＳ７に進む。
【００６９】
制御部２０３が、ステップＳ５において収集されたレコードの数が上記レコードの分割単位より大きいと判断した場合、印刷データ処理部２０５が、レコードの分割単位分の印刷データを生成する（ステップＳ１１）。具体的には、印刷データ処理部２０５は、制御部２０３の指示に従い、図８のステップＳ５５でＲＡＭ１０５に記憶されたレコードＩＤに対応するレコードをレコード収集部２０４から順次取得することを通じて、レコードの分割単位分の印刷データを生成する。
【００７０】
そして、データ転送部２０６が、制御部２０３の指示に従って、生成された印刷データに対応する印刷ジョブを生成し、生成した印刷ジョブを印刷デバイス２０に順次送信する（ステップＳ１２）。すなわち、制御部２０３は、収集されたバリアブルデータのレコード数が予め定められたレコード数を超える場合に、該予め定められたレコード数を分割単位として印刷ジョブを分割する。
【００７１】
続いて、印刷データ処理部２０５が、収集されたレコードが残っているかを判断する（ステップＳ１３）。印刷データ処理部２０５が、収集されたレコードが残っていると判断した場合は、ステップＳ１１に進む。印刷データ処理部２０５が、収集されたレコードが残っていないと判断した場合は、ステップＳ９に進む。
【００７２】
ステップＳ７において、印刷データ処理部２０５が、収集されたレコードに基づいて、印刷デバイス２０への送信用の印刷データを生成する（ステップＳ７）。例えば、上記ステップＳ６、Ｓ１０の判断処理でＮｏの場合には、印刷データ処理部２０５は、ステップＳ５において収集されたレコード群（バリアブルデータのレコード群）の印刷データを印刷デバイス２０への送信用の印刷データとして生成する。また、例えば、印刷データ処理部２０５は、上記ステップＳ１６において収集されたレコード群（リユーザブルデータのレコード群）の印刷データを印刷デバイス２０への送信用の印刷データとして生成する。続いて、データ転送部２０６が、ステップＳ７において生成された印刷データを含む印刷ジョブを生成して印刷デバイス２０に送信する（ステップＳ８）。ステップＳ８においては、データ転送部２０６は、リユーザブルデータに対応する印刷ジョブをバリアブルデータに対応する印刷ジョブより先に印刷デバイス２０に送信する。
【００７３】
次に、制御部２０３が、レコードデータベース５００に未処理のレコードがあるかを判断する（ステップＳ９）。制御部２０３が、レコードデータベース５００に未処理のレコードがないと判断した場合は、処理を終了する。制御部２０３が、レコードデータベース５００に未処理のレコードがあると判断した場合は、ステップＳ１４に進む。そして、制御部２０３が、印刷ジョブを分割する設定を基準分割設定にして（ステップＳ１４）、ステップＳ１５に進む。
【００７４】
実施例１の印刷制御装置によれば、印刷デバイス２０が備えるジョブ受信キューの処理待ちジョブ数が少なく連続プリントが途切れそうな場合に、サイズが小さく転送に時間のかからないレコードを印刷デバイス２０に送信することができる。従って、実施例１の印刷制御装置によれば、連続プリントが途切れないので、ＶＤＰジョブを迅速に処理することができる。
【００７５】
次に、実施例２について説明する。本実施例２では、図４のダイアログ４００上で、チェックボックス４０６がＯＮに設定されており、ＶＤＰアプリケーションが、印刷デバイス２０の状況を示す情報に応じて印刷ジョブを分割する。本実施例では、印刷ジョブの分割のトリガーとなる情報は、印刷デバイス２０上でペーパージャムが発生したことを示すエラー情報であるものとする。従って、ＶＤＰアプリケーションは、印刷デバイス２０から送信されるＪＭＦＳｉｇｎａｌが含む、印刷デバイス２０においてペーバージャムが発生したことを示すエラー情報に基づいて、印刷ジョブを分割する。
【００７６】
図９は、実施例２におけるＪＭＦＳｉｇｎａｌの例を示す図である。ＪＭＦＳｉｇｎａｌ１０００は、クライアントＰＣ１０が印刷デバイス２０に対して送信するＪＭＦ
Ｓｉｇｎａｌである。ＪＭＦＳｉｇｎａｌ１００２は、印刷デバイス２０がクライアントＰＣ１０に対して送信するＪＭＦＳｉｇｎａｌである。
【００７７】
ＪＭＦＳｉｇｎａｌ１０００は、図６中のＪＭＦＳｉｇｎａｌ７０１と同様に、アドレス７０２、ＲｅｐｅａｔＴｉｍｅ属性７０３、ＤｅｖｉｃｅＤｅｔａｉｌｓ属性７０４、ＪｏｂＤｅｔａｉｌｓ属性７０５、ＱｕｅｕｅＩｎｆｏ属性７０６を含む。この例では、ＤｅｖｉｃｅＤｅｔａｉｌｓ属性７０４に”Ｆｕｌｌ”が設定されているので、クライアントＰＣ１０は、印刷デバイス２０に対して、印刷デバイス２０の状況の詳細な報告を求めている。
【００７８】
ＪＭＦＳｉｇｎａｌ１００２は、図６中のＪＭＦＳｉｇｎａｌ７０７と同様に、デバイス状況属性７０８、ジョブ属性７０９を含む。この例では、ＤｅｖｉｃｅＳｔａｔｕｓ属性に、”Ｓｔｏｐｐｅｄ”が設定されている。また、デバイス状況属性７０８が含むＳｔａｔｕｓＤｅｔａｉｌｓ属性に、”ＰａｐｅｒＪａｍ”が設定されている。従って、印刷デバイス２０は、ペーパージャムが発生しているエラー状態である。
【００７９】
実施例２におけるＶＤＰジョブの分割処理と図７を参照して説明した実施例１におけるＶＤＰジョブの分割処理とは、図７のステップＳ４、Ｓ５の処理において異なり、他の処理において同じである。
【００８０】
実施例２のＶＤＰアプリケーションは、図７のステップＳ４において、ＪＭＦＳｉｇｎａｌ１００２から、印刷ジョブの分割のトリガーとなる情報として、ＰａｐｅｒＪａｍすなわち印刷デバイス２０上でペーパージャムが発生したことを示すエラー情報を取得する。そして、ＶＤＰアプリケーションは、図７のステップＳ５において、印刷デバイス２０上でペーパージャムが発生したことを示すエラー情報に基づいてレコードを収集する。
【００８１】
図１０は、実施例２におけるレコードの収集処理の例を説明するフローチャートである。まず、レコード収集部２０４が、設定ファイル３００を参照して、レコードサイズＳを取得する（ステップＳ５１１）。次に、レコード収集手段２０４が、レコードデータベース５００を参照して、レコードを１つ選択し、選択したレコードのサイズを取得する（ステップＳ５１２）。レコード収集部２０４は、未処理のレコードのうち、顧客番号の若いレコードから順に選択していく。
【００８２】
次に、レコード収集部２０４が、ステップＳ５１２において選択したレコードのサイズがステップＳ５１１において取得したレコードサイズＳ以上であるかを判断する（ステップＳ５１３）。ステップＳ５１２において選択したレコードのサイズがレコードサイズＳより小さい場合、レコード収集部２０４が、次のレコードを処理対象として（ステップＳ５１６）、ステップＳ５１２に戻る。
【００８３】
ステップＳ５１２において選択したレコードのサイズがレコードサイズＳ以上である場合、レコード収集部２０４が、このレコードを収集するとともに、このレコードを識別するＩＤ（レコードＩＤ）をＲＡＭ１０５に記憶する（ステップＳ５１４）。
【００８４】
次に、レコード収集部２０４が、レコードデータベース５００が含む最後のレコードを処理したかを判断する（ステップＳ５１５）。レコード収集部２０４が、レコードデータベース５００が含む最後のレコードを処理したと判断した場合は、処理を終了する。レコード収集部２０４が、レコードデータベース５００が含む最後のレコードを処理していないと判断した場合は、ステップＳ５１６に進む。すなわち、レコード収集部２０４は、実行状況情報が印刷デバイス２０において用紙の排出が停止したことを示すエラー情報を含む場合に、サイズが予め定められた閾値以上であるバリアブルデータのレコードを収集する。
【００８５】
図１０を参照して説明した処理によって収集されたレコードを含む印刷ジョブは、図７のステップＳ７、Ｓ８の処理によって印刷デバイス２０に対して送信される。実施例２の印刷制御装置は、印刷デバイス２０のエンジンが停止して、ペーパージャムが発生している場合に、サイズが大きく転送に時間のかかるレコードを印刷デバイス２０に対して送信する。従って、印刷デバイス２０が備えるジョブ受信キュー内の印刷待ちジョブがなくならないようにできる。その結果、連続プリントが途切れないので、ＶＤＰジョブを迅速に処理することができる。
【００８６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００８７】
２０１  入力部
２０２  ＪＭＦ受信部
２０３  制御部
２０４  レコード収集部
２０５  印刷データ処理部
２０６  データ転送部
【図１】
2012133700.tif 000003
【図２】
2012133700.tif 000004
【図３】
2012133700.tif 000005
【図４】
2012133700.tif 000006
【図５】
2012133700.tif 000007
【図６】
2012133700.tif 000008
【図７】
2012133700.tif 000009
【図８】
2012133700.tif 000010
【図９】
2012133700.tif 000011
【図１０】
2012133700.tif 000012