(57)【要約】【課題】印刷データの送信が遅滞する事態を回避することができる印刷システムを提供する。【解決手段】サーバＭＦＰ１０１は、印刷データ４００が、コマンドを容易に差し替え可能なデータ構造である特定のＰＤＬで記述されている場合、印刷データ４００におけるコマンド群９０５をページ画像に差し替え、印刷データ４００が特定のＰＤＬで記述されていない場合、印刷データ４００におけるコマンド群９０５をページ画像に差し替えない。【選択図】図６
2019006044.tif 000002
【特許請求の範囲】
【請求項１】
印刷内容を示すコマンドを含む印刷データをサーバに保持し、前記サーバから取得した印刷データに基づいて印刷装置によって印刷を行う印刷システムであって、
前記コマンドに基づいて生成されたページ画像を格納する格納手段と、
前記ページ画像に基づいて前記印刷データを加工する加工手段と、
前記加工した印刷データを前記印刷装置に送信する送信手段とを備え、
前記加工手段は、前記印刷データが特定のＰＤＬ（Page Description Language）で記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のＰＤＬで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とする印刷システム。
【請求項２】
前記サーバは前記印刷データを外部装置から取得し、
前記加工手段は、前記印刷データを前記外部装置から取得した直後に前記印刷データを加工することを特徴とする請求項１記載の印刷システム。
【請求項３】
前記加工手段は、前記印刷データが前記特定のＰＤＬで記述されておらず、且つ前記印刷装置が前記印刷データに前記ページ画像を付加した付加印刷データに基づいて印刷を行う機能を有する場合、前記印刷データ及び前記ページ画像に基づいて前記付加印刷データを生成し、
前記送信手段は、前記付加印刷データを前記印刷装置に送信することを特徴とする請求項１又は２記載の印刷システム。
【請求項４】
前記印刷データは複数の前記コマンドを含み、
前記格納手段は、各前記コマンドに基づいて生成された複数の前記ページ画像を格納し、
前記ページ画像を生成する処理の中断要因が発生した場合、前記生成された全てのページ画像を格納した後に前記ページ画像を生成する処理を中断することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
前記特定のＰＤＬは、ＬＩＰＳ−ＬＸ及びＰＣＬ−６であることを特徴とする請求項１乃至４のいずれか１項に記載の印刷システム。
【請求項６】
印刷内容を示すコマンドを含む印刷データを保持し、ユーザによる印刷指示に対応する印刷データを印刷装置に送信するサーバとしての画像形成装置であって、
前記コマンドに基づいて生成されたページ画像を格納する格納手段と、
前記ページ画像に基づいて前記印刷データを加工する加工手段と、
前記加工した印刷データを前記印刷装置に送信する送信手段とを備え、
前記加工手段は、前記印刷データが特定のＰＤＬで記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のＰＤＬで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とする画像形成装置。
【請求項７】
前記印刷データを外部装置から取得し、
前記加工手段は、前記印刷データを前記外部装置から取得した直後に前記印刷データを加工することを特徴とする請求項６記載の画像形成装置。
【請求項８】
前記加工手段は、前記印刷データが前記特定のＰＤＬで記述されておらず、且つ前記印刷装置が前記印刷データに前記ページ画像を付加した付加印刷データに基づいて印刷を行う機能を有する場合、前記印刷データ及び前記ページ画像に基づいて前記付加印刷データを生成し、
前記送信手段は、前記付加印刷データを前記印刷装置に送信することを特徴とする請求項６又は７記載の画像形成装置。
【請求項９】
前記印刷データは複数の前記コマンドを含み、
前記格納手段は、各前記コマンドに基づいて生成された複数の前記ページ画像を格納し、
前記ページ画像を生成する処理の中断要因が発生した場合、前記生成された全てのページ画像を格納した後に前記ページ画像を生成する処理を中断することを特徴とする請求項６乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記特定のＰＤＬは、ＬＩＰＳ−ＬＸ及びＰＣＬ−６であることを特徴とする請求項６乃至９のいずれか１項に記載の画像形成装置。
【請求項１１】
印刷内容を示すコマンドを含む印刷データをサーバに保持し、前記サーバから取得した印刷データに基づいて印刷装置によって印刷を行う留め置き印刷方法であって、
前記コマンドに基づいて生成されたページ画像を格納する格納ステップと、
前記ページ画像に基づいて前記印刷データを加工する加工ステップと、
前記加工した印刷データを前記印刷装置に送信する送信ステップとを有し、
前記加工ステップは、前記印刷データが特定のＰＤＬで記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のＰＤＬで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とする留め置き印刷方法。
【請求項１２】
印刷内容を示すコマンドを含む印刷データをサーバに保持し、前記サーバから取得した印刷データに基づいて印刷装置によって印刷を行う留め置き印刷方法をコンピュータに実行させるプログラムであって、
前記留め置き印刷方法は、
前記コマンドに基づいて生成されたページ画像を格納する格納ステップと、
前記ページ画像に基づいて前記印刷データを加工する加工ステップと、
前記加工した印刷データを前記印刷装置に送信する送信ステップとを有し、
前記加工ステップは、前記印刷データが特定のＰＤＬで記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のＰＤＬで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、画像形成装置、留め置き印刷方法、及びプログラムに関する。
【背景技術】
【０００２】
留め置き印刷を行う印刷システムが知られている。留め置き印刷では、ユーザの指示によってＰＣから送信された印刷データが一旦サーバに保持される。印刷データは、各ページの印刷内容を示す複数のＰＤＬコマンドを含み、ＰＳ（Post Script）やＬＩＰＳ−ＬＸ等のＰＤＬ（Page Description Language）で記述され、ＰＤＬの種別毎にデータ構造が異なる。ユーザはＰＣから印刷データを送信した後、所望のＭＦＰまで移動し、上記ＭＦＰを操作して、ＰＣから送信した印刷データの印刷の開始指示を行う。上記開始指示に応じてＭＦＰはサーバから印刷データを取得し、取得した印刷データに基づいて用紙に印刷を行う。ＭＦＰは、印刷を行う際に、取得した印刷データに基づいてレンダリング処理を実行し、各ページのイメージ画像を生成する必要があるが、印刷データのレンダリング処理を完了するまでに或る程度の時間を要する。このため、印刷システムでは、印刷データの保持期間の間に、サーバが印刷データのレンダリング処理を実行する（例えば、特許文献１参照）。サーバは、ユーザによる印刷の開始指示が行われると、印刷データの他に、サーバによって実行されたレンダリング処理の処理結果をＭＦＰに送信する。レンダリング処理結果を送信する技術として、例えば、サーバが印刷データのＰＤＬコマンドを、上記レンダリング処理によって生成された各ページ画像に差し替えた加工印刷データを生成し、該加工印刷データをＭＦＰに送信することが検討されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２２５２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したように、サーバが印刷データを加工する場合、サーバがＭＦＰに印刷データを速やかに送信することができない場合がある。例えば、印刷データにおいて一のＰＤＬコマンドが他のＰＤＬコマンドを参照するようなデータ構造である場合、サーバはレンダリング処理の他に、各ＰＤＬコマンドの参照関係の解析処理を更に実行し、これらの結果に基づいて印刷データの加工処理を行う。このため、ユーザによる印刷の開始指示が行われた際に、上述した全ての処理が完了していないと、サーバは印刷データをＭＦＰに送信することができず、印刷データの送信が遅滞してしまうという問題が生じる。
【０００５】
本発明の目的は、印刷データの送信が遅滞する事態を回避することができる印刷システム、画像形成装置、留め置き印刷方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の印刷システムは、印刷内容を示すコマンドを含む印刷データをサーバに保持し、前記サーバから取得した印刷データに基づいて印刷装置によって印刷を行う印刷システムであって、前記コマンドに基づいて生成されたページ画像を格納する格納手段と、前記ページ画像に基づいて前記印刷データを加工する加工手段と、前記加工した印刷データを前記印刷装置に送信する送信手段とを備え、前記加工手段は、前記印刷データが特定のＰＤＬ（Page Description Language）で記述されている場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替え、前記印刷データが前記特定のＰＤＬで記述されていない場合、前記印刷データにおける前記コマンドを前記ページ画像に差し替えないことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、印刷データの送信が遅滞する事態を回避することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る印刷システムの構成を説明するための図である。
【図２】図１の印刷システムによって実行される留め置き印刷処理の手順を示すタイミングチャートである。
【図３】図２のステップＳ２０４の印刷データ登録処理の手順を示すフローチャートである。
【図４】図１のサーバＭＦＰに格納される印刷データ及び書誌情報の一例を示す図である。
【図５】図２のステップＳ２０５の先行レンダリング処理の手順を示すフローチャートである。
【図６】図２のステップＳ２０６の印刷データ加工処理の手順を示すフローチャートである。
【図７】図１のサーバＭＦＰによって生成される処理済み印刷データの一例を示す図である。
【図８】図６のステップＳ６０５の第１の加工印刷データ生成処理の手順を示すフローチャートである。
【図９】本実施の形態における第１の加工印刷データの生成を説明するための図である。
【図１０】図２のステップＳ２０７の印刷指示受付処理の手順を示すフローチャートである。
【図１１】図２のステップＳ２０８の印刷データ送信処理の手順を示すフローチャートである。
【図１２】図１１のステップＳ１１０７の第２の加工印刷データ生成処理の手順を示すフローチャートである。
【図１３】図１のサーバＭＦＰによって生成される第２の加工印刷データの一例を示す図である。
【図１４】図２のステップＳ２０９の印刷実行処理の手順を示すフローチャートである。
【図１５】図５の先行レンダリング処理の変形例の手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面を参照しながら詳述する。本実施の形態では、画像形成装置としてのＭＦＰ（Multifunction Printer）に本発明を適用した場合について説明するが、本発明はＭＦＰに限られない。例えば、ＳＦＰ（Single Function Printer）やＬＢＰ（Laser Beam Printer）等に本発明を適用してもよい。
【００１０】
図１は、本発明の実施の形態に係る印刷システム１００の構成を説明するための図である。図１（ａ）は印刷システム１００の構成を示し、図１（ｂ）は印刷システム１００に含まれるＭＦＰ１０１におけるコントローラ１０６のソフトウェアモジュール１２１の構成を示す。
【００１１】
図１（ａ）において、印刷システム１００は、複数台、例えば、３台のＭＦＰ１０１〜１０３と、外部装置としてのＰＣ１０４とを備える。なお、本実施の形態では、印刷システム１００に３台のＭＦＰ１０１〜１０３が設けられる場合について説明するが、印刷システム１００に設けられるＭＦＰの台数は３台に限られず、２台以上であれば良い。ＭＦＰ１０１〜１０３及びＰＣ１０４はＬＡＮ１０５を介して接続されている。
【００１２】
印刷システム１００では、留め置き印刷が行われ、留め置き印刷では、ユーザの指示によってＰＣ１０４から送信された印刷データが一旦ＭＦＰ１０１等に保持される。ＭＦＰ１０１〜１０３は印刷処理やスキャン処理等の各ジョブを実行する。また、ＭＦＰ１０１〜１０３はサーバ機能及びクライアント機能を備え、ＭＦＰ１０１〜１０３のうち少なくとも１台が印刷システム１００のサーバとして機能する。本実施の形態では、一例として、ＭＦＰ１０１が印刷システム１００のサーバとして機能し、ＭＦＰ１０２，１０３がＭＦＰ１０１のクライアントの印刷装置として機能することを前提とする。印刷システム１００のサーバであるＭＦＰ１０１（以下、「サーバＭＦＰ１０１」という。）はＰＣ１０４から印刷データを受信し、受信した印刷データを保持する。また、サーバＭＦＰ１０１は、受信した印刷データを保持している間に該印刷データに基づいてレンダリング処理を実行し、例えば、後述する図７の処理済み印刷データ７００を生成する。サーバＭＦＰ１０１はクライアントとしての印刷装置、例えば、ＭＦＰ１０２から印刷データの取得要求を受けると、上記取得要求に対応する後述する処理済み印刷データ７００をＭＦＰ１０２に送信する。ＭＦＰ１０２は受信した後述する処理済み印刷データ７００に基づいて用紙に印刷を行う。ＰＣ１０４はサーバＭＦＰ１０１に印刷データを送信する。
【００１３】
次に、サーバＭＦＰ１０１、ＭＦＰ１０２，１０３のハードウェア構成について説明する。なお、本実施の形態では、サーバＭＦＰ１０１、ＭＦＰ１０２，１０３は同様の構成であり、以下では、一例として、サーバＭＦＰ１０１を用いてその構成を説明する。
【００１４】
図１（ａ）において、サーバＭＦＰ１０１は、コントローラ１０６、カードリーダ１１２、操作パネル１１５、及びプリント機構１１９を備え、コントローラ１０６はカードリーダ１１２、操作パネル１１５、及びプリント機構１１９と接続されている。コントローラ１０６はＣＰＵ１０７、ＲＡＭ１０８、ＲＯＭ１０９、ＨＤＤ１１０、ネットワークＩ／Ｆ１１１、リーダＩ／Ｆ１１３、パネルＩ／Ｆ１１４、デバイスＩ／Ｆ１１６、ＲＩＰ（ラスターイメージプロセッサ）１１７、及び画像処理部１１８を備える。ＣＰＵ１０７、ＲＡＭ１０８、ＲＯＭ１０９、ＨＤＤ１１０、ネットワークＩ／Ｆ１１１、リーダＩ／Ｆ１１３、パネルＩ／Ｆ１１４、デバイスＩ／Ｆ１１６、ＲＩＰ１１７、及び画像処理部１１８はシステムバス１２０を介して互いに接続されている。
【００１５】
コントローラ１０６はサーバＭＦＰ１０１全体を統括的に制御する。ＣＰＵ１０７は、ＲＯＭ１０９やＨＤＤ１１０に格納されたプログラムを実行して後述するソフトウェアモジュール１２１を制御する。ＲＡＭ１０８はＣＰＵ１０７の作業領域として、また、取得した印刷データや画像データ等の一時格納領域として用いられる。ＲＯＭ１０９はブートＲＯＭであり、サーバＭＦＰ１０１のシステムのブートプログラムを格納する。ＨＤＤ１１０はハードディスクドライブ等の記憶装置であり、プログラムや画像データ等を格納する。ネットワークＩ／Ｆ１１１はＬＡＮカード等で実現され、ＬＡＮ１０５に接続されたＭＦＰ１０２，１０３やＰＣ１０４等とのデータ通信を制御する。カードリーダ１１２はＩＣカード等からユーザ情報を読み取る。リーダＩ／Ｆ１１３はカードリーダ１１２によって読み取ったユーザ情報をＣＰＵ１０７に転送する。
【００１６】
パネルＩ／Ｆ１１４はサーバＭＦＰ１０１の設定指示やジョブの実行指示等を受け付けるための操作画面を表示させる画面データを操作パネル１１５に送出する。また、パネルＩ／Ｆ１１４は、操作パネル１１５に表示された画面の操作内容に関する情報をＣＰＵ１０７に転送する。操作パネル１１５はパネルＩ／Ｆ１１４から取得した画面データに基づいて各操作画面を表示し、ユーザから各指示を受け付ける。デバイスＩ／Ｆ１１６は、プリント機構１１９とコントローラ１０６とを接続し、画像データの同期系／非同期系の変換を行う。ＲＩＰ１１７は、印刷データに含まれるＰＤＬコマンドや中間データを解析して画像データを生成する。画像処理部１１８は、印刷データに基づいて生成された画像データに対し、プリント機構１１９に対応する補正及び解像度変換等の処理を施す。
【００１７】
次に、コントローラ１０６のソフトウェアモジュール１２１の構成について説明する。
【００１８】
図１（ｂ）において、ソフトウェアモジュール１２１は、認証モジュール１２２、設定モジュール１２３、書誌管理モジュール１２４、印刷制御モジュール１２５、ジョブ解析モジュール１２６、先行処理モジュール１２７、留め置き制御モジュール１２８、及び印刷実行モジュール１２９を備える。ソフトウェアモジュール１２１の各処理は、ＣＰＵ１０７がＲＯＭ１０９やＨＤＤ１１０に格納されたプログラムを実行することによって行われる。
【００１９】
認証モジュール１２２はカードリーダ１１２によって読み取ったユーザ情報を留め置き制御モジュール１２８へ通知する。設定モジュール１２３はパネルＩ／Ｆ１１４及び操作パネル１１５間のデータ通信の制御を行う。書誌管理モジュール１２４はサーバＭＦＰ１０１が保持する印刷データや該印刷データに関する情報を管理する。印刷制御モジュール１２５は印刷処理の実行を制御する。例えば、サーバＭＦＰ１０１がＰＣ１０４から印刷データを取得した場合、印刷制御モジュール１２５は取得した印刷データの解析処理の実行をジョブ解析モジュール１２６に指示する。また、ユーザの操作パネル１１５の操作によって印刷の実行指示を受け付けた場合、印刷制御モジュール１２５は印刷実行モジュール１２９に対して印刷の実行を指示する。ジョブ解析モジュール１２６はＰＣ１０４等から取得した印刷データの解析処理を実行する。先行処理モジュール１２７はジョブ解析部１３５による解析結果に応じて印刷データのレンダリング処理を実行する。留め置き制御モジュール１２８は留め置き印刷における各処理の実行を制御する。印刷実行部１３８はプリント機構１１９を制御して用紙に印刷を行う。
【００２０】
図２は、図１の印刷システム１００によって実行される留め置き印刷処理の手順を示すタイミングチャートである。
【００２１】
図２において、ユーザがＰＣ１０４にログインし、ＰＣ１０４に対し印刷要求の操作を行うと、ＰＣ１０４はログイン時に入力されたユーザ名等のユーザ情報を取得する（ステップＳ２０１）。次いで、ＰＣ１０４は取得したユーザ情報を含む後述する図４（ａ）の印刷データ４００を生成する（ステップＳ２０２）。次いで、ＰＣ１０４は生成した印刷データ４００をサーバＭＦＰ１０１に送信する（ステップＳ２０３）。
【００２２】
一方、サーバＭＦＰ１０１は、後述する図３の印刷データ登録処理を実行し（ステップＳ２０４）、サーバＭＦＰ１０１が印刷データを管理するための後述する図４（ｂ）の書誌情報４０４に、受信した印刷データ４００を登録する。次いで、サーバＭＦＰ１０１は、後述する図５の先行レンダリング処理を実行し（ステップＳ２０５）、受信した印刷データ４００のレンダリング処理を実行する。次いで、サーバＭＦＰ１０１は後述する図６の印刷データ加工処理を実行し（ステップＳ２０６）、受信した印刷データ４００をステップＳ２０５の処理結果に基づいて加工する。すなわち、本実施の形態では、印刷データ４００をＰＣ１０４から取得した直後にサーバＭＦＰ１０１は印刷データ４００を加工する。
【００２３】
ユーザがＰＣ１０４から印刷データ４００を送信した後に、クライアントとしての印刷装置、例えば、ＭＦＰ１０２にログインすると、ＭＦＰ１０２は後述する図１０の印刷指示受付処理を実行する（ステップＳ２０７）。印刷指示受付処理では、ＭＦＰ１０２は、書誌情報４０４に登録された印刷データの一覧情報である印刷データリストをＭＦＰ１０２の操作パネル１１５に表示する。また、印刷指示受付処理では、ＭＦＰ１０２は、上記印刷データリストの中からユーザによって選択された印刷データの印刷指示を受け付けると、選択された印刷データの送信要求をサーバＭＦＰ１０１に行う。
【００２４】
ＭＦＰ１０２によるステップＳ２０７の処理に対し、サーバＭＦＰ１０１は後述する図１１の印刷データ送信処理を実行し（ステップＳ２０８）、上記送信要求に対応する印刷データをＭＦＰ１０２に送信する。サーバＭＦＰ１０１から印刷データを受信したＭＦＰ１０２は、後述する図１４（ａ）及び図１４（ｂ）の何れかの印刷実行処理を実行し（ステップＳ２０９）、受信した印刷データに基づいて用紙に印刷を行う。その後、印刷システム１００は本処理を終了する。
【００２５】
図３は、図２のステップＳ２０４の印刷データ登録処理の手順を示すフローチャートである。
【００２６】
図３の処理は、サーバＭＦＰ１０１のＣＰＵ１０７がＲＯＭ１０９やＨＤＤ１１０に格納されたプログラムを実行することによって行われる。
【００２７】
図３において、サーバＭＦＰ１０１はＰＣ１０４から、複数ページの印刷を行う図４（ａ）の印刷データ４００を受信する（ステップＳ３０１）。印刷データ４００はヘッダー情報４０１及び各ページに対応する複数、例えば、２つのＰＤＬコマンド４０２，４０３を備える。ヘッダー情報４０１は印刷データの先頭に設定され、印刷対象文書の文書名や印刷要求を行ったユーザを示すユーザ情報を含む。また、ヘッダー情報４０１はカラー印刷及びモノクロ印刷等を示す情報、片面印刷及び両面印刷等を示す情報、及び用紙サイズを示す情報といった印刷設定情報を含む。ＰＤＬコマンド４０２，４０３は各ページの印刷内容を示す描画コマンド等を含む。本実施の形態では、例えば、ＰＤＬコマンド４０２が１ページ目に対応し、ＰＤＬコマンド４０３が２ページ目に対応する。なお、ＰＤＬコマンドの構成は後述する。また、印刷データ４００はＰＳ、ＸＰＳ、ＰＤＦ、ＬＩＰＳ−ＬＸ、ＰＣＬ−６等のＰＤＬで記述され、ＰＤＬの種別毎にデータ構造が異なる。例えば、ＸＰＳは各ＰＤＬコマンドがＺＩＰ圧縮され、一のＰＤＬコマンドが複数の他のＰＤＬコマンドに参照されるようなデータ構造である。一方、ＬＩＰＳ−ＬＸ、ＰＣＬ−６は各ＰＤＬコマンドがＺＩＰ圧縮されておらず、ＰＤＬコマンドがページ毎に完結しており、一のＰＤＬコマンドが複数の他のＰＤＬコマンドに参照されることがないデータ構造である。
【００２８】
次いで、サーバＭＦＰ１０１は受信した印刷データ４００からユーザ情報を取得し（ステップＳ３０２）、また、印刷データ４００から印刷設定情報及び文書名を取得する（ステップＳ３０３）。なお、本実施の形態では、ステップＳ３０２及びＳ３０３において、該当する情報を取得できない場合、サーバＭＦＰ１０１は、例えば、ＲＯＭ１０９やＨＤＤ１１０に予め格納された初期設定値を代用しても良い。また、サーバＭＦＰ１０１は取得できなかった情報を印刷実行時にユーザに設定させても良い。
【００２９】
次いで、サーバＭＦＰ１０１は取得したユーザ情報に対応する図４（ｂ）の書誌情報４０４を生成する（ステップＳ３０４）。書誌情報４０４はユーザ毎に生成される。次いで、サーバＭＦＰ１０１は生成した書誌情報４０４に印刷データ４００を登録する（ステップＳ３０５）。具体的に、サーバＭＦＰ１０１は、印刷データ４００に関する情報として上記印刷設定情報及び文書名を書誌情報４０４に設定する。次いで、サーバＭＦＰ１０１は書誌情報４０４、及び登録された印刷データ４００をＨＤＤ１１０に格納し、また、印刷データ４００のデータ構造識別情報を取得する（ステップＳ３０６）。データ構造識別情報は、印刷データ４００のデータ構造を識別するための情報であり、例えば、ＰＳ、ＸＰＳ、ＰＤＦ、ＬＩＰＳ−ＬＸ、ＰＣＬ−６等のＰＤＬの種別情報や、印刷データの生成時に使用された機種ドライバーを示す情報等である。その後、サーバＭＦＰ１０１は本処理を終了する。
【００３０】
図５は、図２のステップＳ２０５の先行レンダリング処理の手順を示すフローチャートである。
【００３１】
図５の処理も、サーバＭＦＰ１０１のＣＰＵ１０７がＲＯＭ１０９やＨＤＤ１１０に格納されたプログラムを実行することによって行われる。また、図５の処理は、印刷データが書誌情報４０４に登録された際に実行され、本実施の形態では、一例として、印刷データ４００が書誌情報４０４に登録された場合を前提とする。
【００３２】
図５において、サーバＭＦＰ１０１は、登録された印刷データ４００の各ページのレンダリング処理に要する時間を予測する（ステップＳ５０１）。ステップＳ５０１では、サーバＭＦＰ１０１は、例えば、サーバＭＦＰ１０１の処理能力や印刷データ４００の各ＰＤＬコマンドの内容等に基づいて上記時間を予測する。次いで、サーバＭＦＰ１０１は、印刷データ４００の複数のＰＤＬコマンドの中から、サーバＭＦＰ１０１によるレンダリング処理（以下、「先行処理」という。）の実行を必要とするＰＤＬコマンドを特定する（ステップＳ５０２）。ステップＳ５０２では、印刷データ４００に含まれる複数のＰＤＬコマンドの中から、例えば、ステップＳ５０１で予測した時間が予め設定された基準時間以上のＰＤＬコマンドを特定する。印刷システム１００において、クライアント側のレンダリング処理の負荷を軽減する観点で、出来るだけ多くのＰＤＬコマンドに対して先行処理を行うのが好ましい。このため、ステップＳ５０２では、サーバＭＦＰ１０１は印刷データ４００の全てのＰＤＬコマンドを特定しても良い。次いで、サーバＭＦＰ１０１は先行処理の実行を必要とするＰＤＬコマンドが存在するか否かを判別する（ステップＳ５０３）。
【００３３】
ステップＳ５０３の判別の結果、先行処理の実行を必要とするＰＤＬコマンドが存在するとき、サーバＭＦＰ１０１はステップＳ５０２で特定されたＰＤＬコマンドに対して先行処理を施す（ステップＳ５０４）。これにより、特定されたＰＤＬコマンドのページ画像が生成される。ステップＳ５０２において複数のＰＤＬコマンドが特定された場合、ステップＳ５０４では、サーバＭＦＰ１０１はステップＳ５０２で特定され、且つレンダリング処理が施されていないＰＤＬコマンドのうち、ページ番号が最も小さいＰＤＬコマンドのレンダリング処理を実行する。次いで、サーバＭＦＰ１０１は生成したページ画像をＨＤＤ１１０に格納する（ステップＳ５０５）（格納手段）。次いで、サーバＭＦＰ１０１は書誌情報４０４に先行処理の実行結果を登録する（ステップＳ５０６）。具体的に、サーバＭＦＰ１０１は、書誌情報４０４の印刷データ４００に関する情報として、印刷データ４００の先行処理を実行した旨を示す情報、及びページ画像の格納場所を示す情報を設定する。これにより、ＰＣ１０４から受信した印刷データ４００及びステップＳ５０４の処理によって生成されたページ画像が関連付けされる。次いで、サーバＭＦＰ１０１はステップＳ５０２で特定された全てのＰＤＬコマンドの先行処理を完了したか否かを判別する（ステップＳ５０７）。
【００３４】
ステップＳ５０７の判別の結果、ステップＳ５０２で特定された何れかのＰＤＬコマンドの先行処理を完了しないとき、サーバＭＦＰ１０１はステップＳ５０４の処理に戻る。
【００３５】
ステップＳ５０３の判別の結果、先行処理の実行を必要とするＰＤＬコマンドが存在しないとき、又はステップＳ５０７の判別の結果、ステップＳ５０２で特定された全てのＰＤＬコマンドの先行処理を完了したとき、サーバＭＦＰ１０１は本処理を終了する。
【００３６】
図６は、図２のステップＳ２０６の印刷データ加工処理の手順を示すフローチャートである。
【００３７】
図６の処理も、サーバＭＦＰ１０１のＣＰＵ１０７がＲＯＭ１０９やＨＤＤ１１０に格納されたプログラムを実行することによって行われる。
【００３８】
図６において、サーバＭＦＰ１０１は、ステップＳ３０１で受信した印刷データ４００のページ画像が存在するか否かを判別する（ステップＳ６０１）。
【００３９】
ステップＳ６０１の判別の結果、ページ画像が存在しないとき、サーバＭＦＰ１０１は本処理を終了する。一方、ステップＳ６０１の判別の結果、ページ画像が存在するとき、サーバＭＦＰ１０１は印刷データ４００における全てのＰＤＬコマンドに対して先行処理を実施済みであるか否かを判別する（ステップＳ６０２）。
【００４０】
ステップＳ６０２の判別の結果、印刷データ４００における全てのＰＤＬコマンドに対して先行処理を実施済みであるとき、サーバＭＦＰ１０１は格納されたページ画像に基づいて図７の処理済み印刷データ７００を生成する（ステップＳ６０３）。処理済み印刷データ７００は印刷装置であれば読み込み可能な形式のデータであり、クライアントの印刷装置は処理済み印刷データ７００を取得した際、レンダリング処理を行うことなく、処理済み印刷データ７００に基づいて即座に印刷を開始可能である。次いで、サーバＭＦＰ１０１は本処理を終了する。
【００４１】
ステップＳ６０２の判別の結果、印刷データ４００における全てではなく、一部のＰＤＬコマンドに対して先行処理を実施済みであるとき、サーバＭＦＰ１０１は印刷データ４００が予め設定された特定のＰＤＬで記述されているか否かを判別する（ステップＳ６０４）。
【００４２】
本実施の形態では、印刷データ４００における一部のＰＤＬコマンドのみに対して先行処理を実施済みである場合、印刷データ４００において、先行処理を実施済みのＰＤＬコマンドをページ画像に差し替えた後述する図９（ｂ）の第１の加工印刷データ９１５を生成する。ところで、ＰＣ１０４等から送信される印刷データは、ＰＤＬの種別に応じてデータ構造が異なり、先行処理を実施済みのＰＤＬコマンドをページ画像に容易に差し替えることができない場合がある。例えば、印刷データがＸＰＳである場合、この印刷データの各ＰＤＬコマンドはＺＩＰ圧縮されており、ページ画像に差し替える際に各ＰＤＬコマンドを解凍する処理を行う必要がある。また、上記印刷データでは、一のＰＤＬコマンドに含まれるイメージや文字といったリソースを他のＰＤＬコマンドが参照しているので、参照関係の解析処理を行う必要がある。このような印刷データにおいて、サーバＭＦＰ１０１が、先行処理を実施済みのＰＤＬコマンドをページ画像に差し替えようとすると、必要以上に時間を要してしまい、第１の加工印刷データ９１５を速やかにＭＦＰ１０２に提供することができない。このため、本実施の形態では、コマンドを容易に差し替え可能なデータ構造であるＰＤＬ、具体的に、ＬＩＰＳ−ＬＸ及びＰＣＬ−６が上記特定のＰＤＬとして予め設定されている。
【００４３】
ステップＳ６０４の判別の結果、印刷データ４００が特定のＰＤＬで記述されていないとき、サーバＭＦＰ１０１は本処理を終了する。一方、ステップＳ６０４の判別の結果、印刷データ４００が特定のＰＤＬで記述されているとき、サーバＭＦＰ１０１は後述する図８の第１の加工印刷データ生成処理を実行する（ステップＳ６０５）（加工手段）。ステップＳ６０５では、サーバＭＦＰ１０１は後述する図９（ｂ）の第１の加工印刷データ９１５を生成する。次いで、サーバＭＦＰ１０１は本処理を終了する。
【００４４】
なお、図６の処理では、ステップＳ６０１の判別の結果、ページ画像が存在するとき、サーバＭＦＰ１０１はステップＳ６０４以降の処理を行っても良い。また、図６の処理では、ステップＳ６０４，６０５の処理の優先度を上げ、ステップＳ６０４，６０５の処理を実行した後にステップＳ６０２，６０３の処理を実行しても良い。
【００４５】
図８は、図６のステップＳ６０５の第１の加工印刷データ生成処理の手順を示すフローチャートである。
【００４６】
図８において、サーバＭＦＰ１０１はＨＤＤ１１０から印刷データ４００及び書誌情報４０４を取得し（ステップＳ８０１）、印刷データ４００において、先行処理を実施済みのＰＤＬコマンドが存在するか否かを判別する（ステップＳ８０２）。ＰＤＬコマンドは、図９（ａ）に示すように、コマンド部９０１及びパラメータ部９０２を含む。ＰＤＬコマンドは階層構造であり、ページ開始コマンド「ＢｅｇｉｎＰａｇｅ」９０３及びページ終了コマンド「ＥｎｄＰａｇｅ」９０４の間に、印刷内容を示すコマンド群９０５が記述されている。コマンド群９０５はリソース制御コマンド及び描画コマンドを含む。リソース制御コマンドは、例えば、フォントを指定するためのＩＤや共通データであるフォントヘッダをパラメータとする「ＤｏｗｎｌｏａｄＦｏｎｔ」９０６、及び文字単位のフォントデータを登録する「ＤｏｗｎｌｏａｄＣｈａｒ」９０７〜９０９である。描画コマンドは、例えば、文字描画コマンド「ＤｒａｗＣｈａｒ」９１０やグラフィック描画コマンド「ＤｒａｗＲｅｃｔ」９１１である。
【００４７】
ステップＳ８０２の判別の結果、印刷データ４００において、先行処理を実施済みのＰＤＬコマンドが存在しないとき、サーバＭＦＰ１０１は本処理を終了する。一方、ステップＳ８０２の判別の結果、印刷データ４００において、先行処理を実施済みのＰＤＬコマンドが存在するとき、サーバＭＦＰ１０１は先行処理を実施済みのＰＤＬコマンドの加工処理を実行する（ステップＳ８０３）。具体的に、サーバＭＦＰ１０１は上記ＰＤＬコマンドにおけるコマンド群９０５を削除する。また、サーバＭＦＰ１０１は上記ＰＤＬコマンドのページ画像をイメージ描画コマンドに変換する。さらに、サーバＭＦＰ１０１は、図９（ｂ）に示すように、ページ開始コマンド「ＢｅｇｉｎＰａｇｅ」９０３及びページ終了コマンド「ＥｎｄＰａｇｅ」９０４の間に、変換したイメージ描画コマンド９１２〜９１４を挿入する。これにより、印刷データ４００におけるコマンド群９０５がページ画像に差し替えられた第１の加工印刷データ９１５が生成される。なお、本実施の形態では、上記ＰＤＬコマンドのコマンド群９０５に、他のＰＤＬコマンドも参照するリソース制御コマンドが含まれている場合、該リソース制御コマンドを削除せずに残しても良い。また、他のＰＤＬコマンドが参照しているか否かに関わらず、コマンド群９０５に含まれるリソース制御コマンドを削除せずに残しても良い。
【００４８】
次いで、サーバＭＦＰ１０１は、印刷データ４００において、先行処理を実施済みの全てのＰＤＬコマンドに対する差し替えを完了したか否かを判別する（ステップＳ８０４）。
【００４９】
ステップＳ８０４の判別の結果、先行処理を実施済みの何れかのＰＤＬコマンドに対する差し替えを完了しないとき、サーバＭＦＰ１０１はステップＳ８０３の処理に戻る。一方、ステップＳ８０４の判別の結果、先行処理を実施済みの全てのＰＤＬコマンドに対する差し替えを完了したとき、サーバＭＦＰ１０１は第１の加工印刷データ９１５をＨＤＤ１１０に格納し（ステップＳ８０５）、本処理を終了する。
【００５０】
上述した本実施の形態によれば、印刷データ４００が、コマンドを容易に差し替え可能なデータ構造である特定のＰＤＬで記述されている場合、サーバＭＦＰ１０１は印刷データ４００におけるコマンド群９０５を、ページ画像を変換したイメージ描画コマンド９１２〜９１４に差し替える。一方、印刷データ４００が特定のＰＤＬで記述されていない場合、サーバＭＦＰ１０１は印刷データ４００におけるコマンド群９０５を差し替えない。すなわち、コマンドを容易に差し替え不可能なデータ構造である印刷データに対してコマンド群９０５を差し替えるといった必要以上に時間を要する差し替え処理が行われない。これにより、印刷データの送信が遅滞する事態を回避することができる。
【００５１】
また、上述した本実施の形態では、印刷データ４００をＰＣ１０４から取得した直後に印刷データ４００が加工される。これにより、ユーザによってクライアントの印刷装置に印刷指示が行われる前に印刷データ４００の加工を開始することができ、もって、第１の加工印刷データ９１５をクライアントの印刷装置に速やかに提供することができる。
【００５２】
図１０は、図２のステップＳ２０７の印刷指示受付処理の手順を示すフローチャートである。
【００５３】
図１０の処理は、ＭＦＰ１０２，１０３のＣＰＵ１０７がＲＯＭ１０９やＨＤＤ１１０に格納されたプログラムを実行することによって行われる。図１０の処理は、ユーザがＩＤカードをＭＦＰ１０２，１０３にかざす、若しくはユーザがＭＦＰ１０２，１０３の操作パネル１１５にユーザ情報を入力するといった所定の操作が行われた際に実行される。図１０の処理は、一例として、ユーザがＭＦＰ１０２にユーザ情報を含むＩＤカードをかざした場合を前提とする。
【００５４】
図１０において、ＭＦＰ１０２はユーザがかざしたＩＤカード等からユーザ情報を取得し、取得したユーザ情報に基づいてユーザ認証を行う（ステップＳ１００１）。次いで、ＭＦＰ１０２は取得したユーザ情報に対応する書誌情報４０４によって管理される印刷データリストをサーバＭＦＰ１０１から取得する。ＭＦＰ１０２は取得した印刷データリストをＭＦＰ１０２の操作パネル１１５に表示する（ステップＳ１００２）。次いで、ＭＦＰ１０２は表示された印刷データリストの中からユーザによって選択された印刷データの印刷指示が行われたか否かを判別する（ステップＳ１００３）。
【００５５】
ステップＳ１００３の判別の結果、上記印刷データの印刷指示が行われないとき、ＭＦＰ１０２は本処理を終了する。一方、ステップＳ１００３の判別の結果、上記印刷データの印刷指示が行われたとき、ＭＦＰ１０２はＭＦＰ１０２の機種情報をサーバＭＦＰ１０１に送信する（ステップＳ１００４）。ＭＦＰ１０２の機種情報は、ＭＦＰ１０２が後述する第２の加工印刷データ１３００（付加印刷データ）に基づいて印刷を実行する機能を有するか否かを示す情報を含む。次いで、ＭＦＰ１０２は、表示された印刷データリストの中からユーザによって選択された印刷データの送信要求をサーバＭＦＰ１０１に行い（ステップＳ１００５）、本処理を終了する。
【００５６】
図１１は、図２のステップＳ２０８の印刷データ送信処理の手順を示すフローチャートである。
【００５７】
図１１の処理は、サーバＭＦＰ１０１のＣＰＵ１０７がＲＯＭ１０９やＨＤＤ１１０に格納されたプログラムを実行することによって行われ、サーバＭＦＰ１０１がＭＦＰ１０２，１０３から機種情報及び印刷データの送信要求を受けた際に実行される。
【００５８】
図１１において、サーバＭＦＰ１０１はＭＦＰ１０２，１０３で印刷指示が行われたか否かを判別する（ステップＳ１１０１）。ステップＳ１１０１では、ＭＦＰ１０２，１０３の何れかから機種情報及び印刷データの送信要求を受けた場合、サーバＭＦＰ１０１はＭＦＰ１０２，１０３で印刷指示が行われたと判別する。一方、ＭＦＰ１０２，１０３から機種情報及び印刷データの送信要求を受けない場合、サーバＭＦＰ１０１はＭＦＰ１０２，１０３で印刷指示が行われないと判別する。
【００５９】
ステップＳ１１０１の判別の結果、ＭＦＰ１０２，１０３で印刷指示が行われないとき、サーバＭＦＰ１０１はＭＦＰ１０２，１０３のログイン状態の解除に応じて本処理を終了する。一方、ステップＳ１１０１の判別の結果、ＭＦＰ１０２，１０３の何れか、例えば、ＭＦＰ１０２で印刷指示が行われとき、サーバＭＦＰ１０１はＭＦＰ１０２から取得した機種情報を解析する（ステップＳ１１０２）。次いで、サーバＭＦＰ１０１はＭＦＰ１０２から受けた送信要求に対応する印刷データを特定し、特定した印刷データのページ画像が存在するか否かを判別する（ステップＳ１１０３）。ステップＳ１１０３では、特定した印刷データのページ画像がＨＤＤ１１０に格納されている場合、サーバＭＦＰ１０１は特定した印刷データのページ画像が存在すると判別する。一方、特定した印刷データのページ画像がＨＤＤ１１０に格納されていない場合、サーバＭＦＰ１０１は特定した印刷データのページ画像が存在しないと判別する。
【００６０】
ステップＳ１１０３の判別の結果、特定した印刷データのページ画像が存在するとき、サーバＭＦＰ１０１は先行処理結果が反映された印刷データ（以下、「先行処理結果反映データ」という。）を生成済みであるか否かを判別する（ステップＳ１１０４）。先行処理結果反映データは、処理済み印刷データ７００、第１の加工印刷データ９１５、及び後述する図１３の第２の加工印刷データ１３００の何れかである。
【００６１】
ステップＳ１１０４の判別の結果、先行処理結果反映データを生成済みであるとき、サーバＭＦＰ１０１は先行処理結果反映データをＭＦＰ１０２に送信し（ステップＳ１１０５）（送信手段）、本処理を終了する。
【００６２】
ステップＳ１１０４の判別の結果、先行処理結果反映データを生成していないとき、サーバＭＦＰ１０１はＭＦＰ１０２が後述する第２の加工印刷データ１３００に基づいて印刷を実行する機能を有するか否かを判別する（ステップＳ１１０６）。サーバＭＦＰ１０１は取得した機種情報に基づいてステップＳ１１０６の判別を行う。
【００６３】
ステップＳ１１０６の判別の結果、ＭＦＰ１０２が後述する第２の加工印刷データ１３００に基づいて印刷を実行する機能を有するとき、サーバＭＦＰ１０１は後述する図１２の第２の加工印刷データ生成処理を実行する（ステップＳ１１０７）（加工手段）。第２の加工印刷データ生成処理では、ＨＤＤ１１０に格納された印刷データ４００及びページ画像に基づいて後述する第２の加工印刷データ１３００が生成される。次いで、サーバＭＦＰ１０１はステップＳ１１０５以降の処理を行う。
【００６４】
ステップＳ１１０３の判別の結果、特定した印刷データのページ画像が存在しないとき、又はステップＳ１１０６の判別の結果、ＭＦＰ１０２が後述する第２の加工印刷データ１３００に基づいて印刷を実行する機能を有しないとき、サーバＭＦＰ１０１は先行処理を施していない印刷データ４００をＭＦＰ１０２に転送し（ステップＳ１１０８）（送信手段）、本処理を終了する。
【００６５】
図１２は、図１１のステップＳ１１０７の第２の加工印刷データ生成処理の手順を示すフローチャートである。
【００６６】
図１２において、サーバＭＦＰ１０１は第２の加工印刷データ１３００の先頭に識別子情報１３０１を付加する（ステップＳ１２０１）。識別子情報１３０１は第２の加工印刷データ１３００にページ画像が付加されている旨を示す情報である。次いで、サーバＭＦＰ１０１は第２の加工印刷データ１３００において識別子情報１３０１の次に先行処理結果情報１３０２を付加する（ステップＳ１２０２）。先行処理結果情報１３０２は、第２の加工印刷データ１３００に付加されるページ画像の総データサイズ、印刷データの総ページ数、各ページ画像のページ番号、及びページ画像のインデックス情報等を含む。なお、ページ画像の総データサイズやページ画像のインデックス情報等のように、後述する各処理を実行した後に明確になる情報に関しては後述する各処理を実行した後に更新される。
【００６７】
次いで、サーバＭＦＰ１０１は第２の加工印刷データ１３００において先行処理結果情報１３０２の次に先行処理結果実データ１３０３を付加する（ステップＳ１２０３）。先行処理結果実データ１３０３は、ページ画像のページ番号、ページ画像のフォーマット、及びページ画像の実データであり、サーバＭＦＰ１０１は先行処理結果実データ１３０３をページ番号が小さい順に付加する。次いで、サーバＭＦＰ１０１は該当する全てのページ画像を付加したか否かを判別する（ステップＳ１２０４）。
【００６８】
ステップＳ１２０４の判別の結果、該当する何れかのページ画像を付加しないとき、サーバＭＦＰ１０１はステップＳ１２０３の処理に戻る。一方、ステップＳ１２０４の判別の結果、該当する全てのページ画像を付加したとき、サーバＭＦＰ１０１は先行処理結果情報１３０２を更新する（ステップＳ１２０５）。具体的に、サーバＭＦＰ１０１は先行処理結果情報１３０２におけるページ画像の総データサイズ及びページ画像のインデックス情報を更新する。次いで、サーバＭＦＰ１０１は第２の加工印刷データ１３００において先行処理結果実データ１３０３の次に、印刷指示に対応する印刷データ４００をそのまま付加する（ステップＳ１２０６）。このようにして生成された第２の加工印刷データ１３００は、サーバＭＦＰ１０１からＭＦＰ１０２に送信される。その後、サーバＭＦＰ１０１は本処理を終了する。
【００６９】
上述した本実施の形態では、印刷データ４００が特定のＰＤＬで記述されておらず、且つ印刷データの送信先であるＭＦＰ１０２が第２の加工印刷データ１３００に基づいて印刷を実行する機能を有する場合、第２の加工印刷データ１３００がＭＦＰ１０２に送信される。これにより、印刷データ４００が特定のＰＤＬで記述されていなくても、先行処理結果が反映された印刷データをクライアントの印刷装置に提供することができる。
【００７０】
図１４は、図２のステップＳ２０９の印刷実行処理の手順を示すフローチャートである。図１４（ａ）は第２の加工印刷データ１３００に基づいて印刷を実行する機能を有するＭＦＰによって実行される印刷実行処理の手順を示す。図１４（ｂ）は第２の加工印刷データ１３００に基づいて印刷を実行する機能を有しないＭＦＰによって実行される印刷実行処理の手順を示す。図１４（ａ）及び図１４（ｂ）の処理は、ＭＦＰ１０２，１０３によって実行され、ＭＦＰ１０２，１０３がサーバＭＦＰ１０１から印刷データを受信した際に実行される。以下では、一例として、第２の加工印刷データ１３００に基づいて印刷を実行する機能を有するＭＦＰ１０２が図１４（ａ）の処理を実行することとする。また、第２の加工印刷データ１３００に基づいて印刷を実行する機能を有しないＭＦＰ１０３が図１４（ｂ）の処理を実行することとする。
【００７１】
先に、ＭＦＰ１０２によって実行される図１４（ａ）の印刷実行処理について説明する。
【００７２】
図１４（ａ）において、ＭＦＰ１０２は、サーバＭＦＰ１０１から印刷データを受信すると（ステップＳ１４０１でＹＥＳ）、受信した印刷データを解析する（ステップＳ１４０２）。ＭＦＰ１０２がサーバＭＦＰ１０１から受信する印刷データは、印刷データ４００、第１の加工印刷データ９１５、及び第２の加工印刷データ１３００の何れかである。ステップＳ１４０１では、ＭＦＰ１０２は受信した印刷データに識別子情報１３０１が含まれているか否かを解析する。次いで、ＭＦＰ１０２は、ステップＳ１４０２の解析結果に基づいて受信した印刷データが第２の加工印刷データ１３００であるか否かを判別する（ステップＳ１４０３）。
【００７３】
ステップＳ１４０３の判別の結果、受信した印刷データが第２の加工印刷データ１３００であるとき、ＭＦＰ１０２は受信した印刷データの各ＰＤＬコマンドに対し、先行処理を実施済みのＰＤＬコマンドであるか否かを判別する（ステップＳ１４０４）。
【００７４】
ステップＳ１４０４の判別の結果、先行処理を実施済みのＰＤＬコマンドであるとき、ＭＦＰ１０２は該ＰＤＬコマンドの解析をスキップする（ステップＳ１４０５）。ＭＦＰ１０２は受信した印刷データに付加されたページ画像をレンダリング処理結果として利用する（ステップＳ１４０６）。次いで、ＭＦＰ１０２は受信した印刷データの全てのＰＤＬコマンドに対してレンダリング処理が行われているか否かを判別する（ステップＳ１４０７）。
【００７５】
ステップＳ１４０７の判別の結果、受信した印刷データの何れかのＰＤＬコマンドに対してレンダリング処理が行われていないとき、ＭＦＰ１０２はステップＳ１４０４の処理に戻る。一方、ステップＳ１４０７の判別の結果、受信した印刷データの全てのＰＤＬコマンドに対してレンダリング処理が行われているとき、ＭＦＰ１０２はレンダリング処理結果に基づいて用紙に印刷を行い（ステップＳ１４０８）、本処理を終了する。
【００７６】
ステップＳ１４０４の判別の結果、先行処理を実施済みのＰＤＬコマンドでないとき、ＭＦＰ１０２は該ＰＤＬコマンドに対してレンダリング処理を施し（ステップＳ１４０９）、該ＰＤＬコマンドのページ画像を生成する。その後、ＭＦＰ１０２はステップＳ１４０７以降の処理を行う。
【００７７】
ステップＳ１４０３の判別の結果、受信した印刷データが第２の加工印刷データ１３００でないとき、ＭＦＰ１０２は受信した印刷データの各ＰＤＬコマンドに対してレンダリング処理を施し（ステップＳ１４１０）、各ＰＤＬコマンドのページ画像を生成する。例えば、受信した印刷データが第１の加工印刷データ９１５である場合、ステップＳ１４１０では、受信した印刷データにおいて、コマンド群９０５がイメージ描画コマンド９１２〜９１４に差し替えられたＰＤＬコマンドに対し、ＭＦＰ１０２は解析をスキップする。ＭＦＰ１０２は、上記ＰＤＬコマンドに対し、上記イメージ描画コマンド９１２〜９１４をレンダリング処理結果として利用する。その後、ＭＦＰ１０２はステップＳ１４０８以降の処理を行う。
【００７８】
次に、ＭＦＰ１０３によって実行される図１４（ｂ）の印刷実行処理について説明する。
【００７９】
図１４において、ＭＦＰ１０３は、サーバＭＦＰ１０１から印刷データを受信すると（ステップＳ１４０１でＹＥＳ）、ステップＳ１４１０，Ｓ１４０８の処理をこの順に実行し、本処理を終了する。
【００８０】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、図５の先行レンダリング処理を実行中に該先行レンダリング処理の中断要因が発生した場合、先行処理結果を格納した後に先行処理を中断しても良い。
【００８１】
図１５は、図５の先行レンダリング処理の変形例の手順を示すフローチャートである。
【００８２】
図１５の処理も、サーバＭＦＰ１０１のＣＰＵ１０７がＲＯＭ１０９やＨＤＤ１１０に格納されたプログラムを実行することによって行われ、印刷データが書誌情報４０４に登録された際に実行される。
【００８３】
図１５において、サーバＭＦＰ１０１はステップＳ５０１〜Ｓ５０６の処理を行う。次いで、サーバＭＦＰ１０１は先行処理の中断要因が発生したか否かを判別する（ステップＳ１５０１）。先行処理の中断要因は、例えば、ユーザによる認証処理の実行指示を受けた場合や、外部装置であるＰＣ１０４等から文書データの削除指示を受けた場合等である。
【００８４】
ステップＳ１５０１の判別の結果、先行処理の中断要因が発生したとき、サーバＭＦＰ１０１は本処理を終了する。すなわち、本実施の形態では、先行処理の中断要因が発生した場合、サーバＭＦＰ１０１は、先行処理結果をＨＤＤ１１０に格納した後に先行処理を中断する。
【００８５】
ステップＳ１５０１の判別の結果、先行処理の中断要因が発生しないとき、サーバＭＦＰ１０１はステップＳ５０７以降の処理を行う。
【００８６】
上述した本実施の形態では、先行処理の中断要因が発生した場合、先行処理結果がＨＤＤ１１０に格納された後に先行処理が中断される。これにより、先行処理を中断した後にユーザによる印刷指示が行われても、先行処理の中断要因が発生する前の先行処理結果を反映させた先行処理結果反映データをクライアントの印刷装置に提供することができる。
【００８７】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８８】
１００  印刷システム
１０１  サーバＭＦＰ
１０２，１０３  ＭＦＰ
１０４  ＰＣ
１０７  ＣＰＵ
１１０  ＨＤＤ
１１１  ネットワークＩ／Ｆ
４００  印刷データ
９０５  コマンド群
９１２〜９１４  イメージ描画コマンド
９１５  第１の加工印刷データ
１３００  第２の加工印刷データ
【図１】
2019006044.tif 000003
【図２】
2019006044.tif 000004
【図３】
2019006044.tif 000005
【図４】
2019006044.tif 000006
【図５】
2019006044.tif 000007
【図６】
2019006044.tif 000008
【図７】
2019006044.tif 000009
【図８】
2019006044.tif 000010
【図９】
2019006044.tif 000011
【図１０】
2019006044.tif 000012
【図１１】
2019006044.tif 000013
【図１２】
2019006044.tif 000014
【図１３】
2019006044.tif 000015
【図１４】
2019006044.tif 000016
【図１５】
2019006044.tif 000017