(57)【特許請求の範囲】
【請求項１】
印刷ジョブに含まれる複数の処理単位を仕分けて複数の処理単位群を形成する処理単位群形成手段と、
前記印刷ジョブを前記処理単位毎に中間データに変換することで、前記複数の処理単位群に対応する複数の中間データ群を形成する変換手段と、
前記中間データ群にそれぞれ対応して複数設けられ、対応する前記中間データ群に対してラスタデータへの変換処理を行うＲＩＰ処理手段と、
を備え、
前記変換手段は、前記処理単位群に含まれる処理単位組が共通のリソースを利用する場合に、前記処理単位組のうち先行処理される処理単位を変換して得られる先行中間データに当該リソースを含め、前記処理単位組のうち後続処理される処理単位を変換して得られる後続中間データには、前記リソースに代えて、前記先行中間データに含まれる前記リソースを参照する参照命令を含める、
ことを特徴とする画像形成装置。
【請求項２】
前記先行中間データに含まれた前記リソースを示す情報が前記処理単位群毎に区別され蓄積された出力済みリソース情報を記憶する記憶手段、
をさらに備えることを特徴とする、請求項１に記載の画像形成装置。
【請求項３】
前記出力済みリソース情報は、印刷ジョブ毎に設けられ、且つ、当該印刷ジョブに係る文書を一意に特定する印刷ジョブ識別情報をさらに含み、
前記画像形成装置は、前記印刷ジョブの印刷処理完了後も前記記憶手段が前記出力済みリソース情報を引き続き記憶する第１動作モードを有する、
ことを特徴とする、請求項２に記載の画像形成装置。
【請求項４】
前記第１動作モードと、前記印刷ジョブの印刷処理完了時に前記出力済みリソース情報を削除する第２動作モードと、を選択する動作モード選択手段、
をさらに備えることを特徴とする、請求項３に記載の画像形成装置。
【請求項５】
前記印刷ジョブの印刷処理中にエラーが生じた後におけるエラーリカバリ処理時に、前記出力済みリソース情報を削除する、
ことを特徴とする、請求項２から４のいずれか１項に記載の画像形成装置。
【請求項６】
前記出力済みリソース情報に含まれるリソースの数が所定値に達したときは、前記変換手段は、前記処理単位群に含まれる処理単位組が共通のリソースの利用指示を含む場合に、前記処理単位組のうち後続の処理単位を変換して得られる後続中間データにも当該リソースを含める、
ことを特徴とする、請求項２から５のいずれか１項に記載の画像形成装置。
【請求項７】
コンピュータを、
印刷ジョブに含まれる複数の処理単位を仕分けて複数の処理単位群を形成する処理単位群形成手段と、
前記印刷ジョブを前記処理単位毎に中間データに変換することで、前記複数の処理単位群に対応する複数の中間データ群を形成する変換手段と、
前記中間データ群にそれぞれ対応して複数設けられ、対応する前記中間データ群に対してラスタデータへの変換処理を行うＲＩＰ処理手段と、
として機能させ、
前記変換手段は、前記処理単位群に含まれる処理単位組が共通のリソースを利用する場合に、前記処理単位組のうち先行処理される処理単位を変換して得られる先行中間データに当該リソースを含め、前記処理単位組のうち後続処理される処理単位を変換して得られる後続中間データには、前記リソースに代えて、前記先行中間データに含まれる前記リソースを参照する参照命令を含める、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びプログラムに関する。
【背景技術】
【０００２】
プリンタあるいは複合機などの画像形成装置は、入力される印刷ジョブに基づいて印刷処理を行う。印刷ジョブは、印刷処理の対象となる文書などが、ＰｏｓｔＳｃｒｉｐｔなどのＰＤＬ（ページ記述言語；Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述されたものである。ＰＤＬで記述された（つまりＰＤＬ形式の）印刷ジョブは、画像形成装置において、紙などの印刷媒体に対して印刷データに含まれる文字や画などを具現化する出力処理（プリント処理）を行う出力部が認識可能なラスタデータに展開される。当該処理はＲＩＰ処理と呼ばれる。
【０００３】
ＲＩＰ処理には、印刷処理における他の処理に比して処理時間を多く要する場合が多い。したがって、印刷処理においてＲＩＰ処理がボトルネックとなり、印刷処理の速度が低下する場合がある。これを解消するために、従来、ＲＩＰ処理手段を複数設け、所定の処理単位（ページ毎など）に分けられた印刷ジョブを当該複数のＲＩＰ処理手段に分配してＲＩＰ処理を並列処理させることが提案されている（特許文献１及び２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４６２５１号公報
【特許文献２】特開２０１１−５１２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
印刷ジョブを記述するためのＰＤＬとしては、上記のＰｏｓｔ  Ｓｃｒｉｐｔの他、様々な種類が存在する。つまり、様々な種類のＰＤＬ形式が提案されている。様々なＰＤＬ形式の中には、直接ＲＩＰ処理手段が処理できない形式のものが存在する。その場合、ＲＩＰ処理に先立ってＰＤＬ形式の変換処理が必要になる。
【０００６】
複数のＲＩＰ処理手段に並列処理させる場合、ＰＤＬ形式が変換された後の印刷ジョブ（中間データ）が所定の処理単位（ページなど）毎に各ＲＩＰ処理手段に分配されることになる。このような場合、分割中間データの分配処理を柔軟に行うために、各分割中間データは、それぞれ独立して（つまり他の分割中間データに依存せずに）処理可能であることが要求される。
【０００７】
印刷ジョブにおいては、当該印刷ジョブ全体において利用されるリソース（フォント、フォーム、イメージなど）が、例えばヘッダ部分などにまとめて含められており、リソースを利用する処理単位を記述する部分（例えばページ記述部分）に、当該リソースを参照するコマンドを含めるのが一般的である。
【０００８】
印刷ジョブを分割及びＰＤＬ変換処理して得られる各分割中間データを独立して処理可能とするためには、各分割中間データにおいて利用されるリソースを各分割中間データに含める必要がある。例えば、処理単位がページである場合、１ページと２ページ目において同じリソースが利用される場合であっても、１ページ目に対応する分割中間データと２ページ目に対応する分割中間データにそれぞれ当該リソースを含めなければならない。そうすると、各分割中間データの容量（データサイズ）が膨大になり、データ転送などの際における画像形成装置にかかる負荷が大きくなってしまう。また、ＲＩＰ処理において、同様のリソースの展開処理が繰り返し行われることになり、ＲＩＰ処理の処理速度が低下する。
【０００９】
本発明の目的は、複数のＲＩＰ処理手段に対する柔軟な中間データの分配を実現しつつ、各中間データにリソースを含める場合に比して、印刷処理を高速化することにある。
【課題を解決するための手段】
【００１０】
本発明に係る画像形成装置は、印刷ジョブに含まれる複数の処理単位を仕分けて複数の処理単位群を形成する処理単位群形成手段と、前記印刷ジョブを前記処理単位毎に中間データに変換することで、前記複数の処理単位群に対応する複数の中間データ群を形成する変換手段と、前記中間データ群にそれぞれ対応して複数設けられ、対応する前記中間データ群に対してラスタデータへの変換処理を行うＲＩＰ処理手段と、を備え、前記変換手段は、前記処理単位群に含まれる処理単位組が共通のリソースを利用する場合に、前記処理単位組のうち先行処理される処理単位を変換して得られる先行中間データに当該リソースを含め、前記処理単位組のうち後続処理される処理単位を変換して得られる後続中間データには、前記リソースに代えて、前記先行中間データに含まれる前記リソースを参照する参照命令を含める、ことを特徴とする。
【００１１】
望ましくは、前記先行中間データに含まれた前記リソースを示す情報が前記処理単位群毎に区別され蓄積された出力済みリソース情報を記憶する記憶手段、をさらに備える。
【００１２】
望ましくは、前記出力済みリソース情報は、印刷ジョブ毎に設けられ、且つ、当該印刷ジョブに係る文書を一意に特定する印刷ジョブ識別情報をさらに含み、前記画像形成装置は、前記印刷ジョブの印刷処理完了後も前記記憶手段が前記出力済みリソース情報を引き続き記憶する第１動作モードを有する。
【００１３】
望ましくは、前記第１動作モードと、前記印刷ジョブの印刷処理完了時に前記出力済みリソース情報を削除する第２動作モードと、を選択する動作モード選択手段、をさらに備える。
【００１４】
望ましくは、前記印刷ジョブの印刷処理中にエラーが生じた後におけるエラーリカバリ処理時に、前記出力済みリソース情報を削除する。
【００１５】
望ましくは、前記出力済みリソース情報に含まれるリソースの数が所定値に達したときは、前記変換手段は、前記処理単位群に含まれる処理単位組が共通のリソースの利用指示を含む場合に、前記処理単位組のうち後続の処理単位を変換して得られる後続中間データにも当該リソースを含める。
【００１６】
本発明に係るプログラムは、コンピュータを、印刷ジョブに含まれる複数の処理単位を仕分けて複数の処理単位群を形成する処理単位群形成手段と、前記印刷ジョブを前記処理単位毎に中間データに変換することで、前記複数の処理単位群に対応する複数の中間データ群を形成する変換手段と、前記中間データ群にそれぞれ対応して複数設けられ、対応する前記中間データ群に対してラスタデータへの変換処理を行うＲＩＰ処理手段と、として機能させ、前記変換手段は、前記処理単位群に含まれる処理単位組が共通のリソースを利用する場合に、前記処理単位組のうち先行処理される処理単位を変換して得られる先行中間データに当該リソースを含め、前記処理単位組のうち後続処理される処理単位を変換して得られる後続中間データには、前記リソースに代えて、前記先行中間データに含まれる前記リソースを参照する参照命令を含める、ことを特徴とする。
【発明の効果】
【００１７】
請求項１又は７に記載の発明によれば、複数のＲＩＰ処理手段に対する柔軟な中間データの分配を実現しつつ、各中間データにリソースを含める場合に比して、印刷処理を高速化することができる。
【００１８】
請求項２に記載の発明によれば、変換手段は、出力済みリソース情報に基づいて、処理単位組が共通のリソースの利用指示を含むか否かを判断することができる。
【００１９】
請求項３に記載の発明によれば、印刷処理済みの文書と同一の文書に係る印刷ジョブが入力された場合に、既に記憶された出力済みリソース情報を利用することができる。
【００２０】
請求項４に記載の発明によれば、ユーザは、自らの使用環境に応じて、第１動作モードと第２動作モードとを選択することができる。
【００２１】
請求項５に記載の発明によれば、エラーが生じた際に出力済みリソース情報として記憶されたエラーデータを削除することができる。
【００２２】
請求項６に記載の発明によれば、出力済みリソース情報の管理に係るコストの増大を防止することができる。
【図面の簡単な説明】
【００２３】
【図１】本実施形態に係る画像形成装置の構成概略図である。
【図２】本実施形態に係る画像形成装置の処理の流れを示すフローチャートである。
【図３】本例において印刷処理される文書で利用されるリソースを示す図である。
【図４】リソース管理テーブルの例を示す図である。
【図５】本実施形態におけるＰＳデータの例を示す概念図である。
【図６】１つのサブジョブにおけるＰＳデータ構造の例を示す概念図ある。
【図７】各動作モードの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【００２５】
＜基本実施形態＞
図１は、本実施形態に係る画像形成装置１０の構成概略図である。
【００２６】
印刷ジョブ受信部１２は、印刷ジョブを他の端末などから受信する。印刷ジョブ受信部１２は、例えばＬＡＮカードあるいは外部接続インターフェースなどの通信手段を含んで構成され、他の端末からネットワークを介してＰＤＬで記述された印刷ジョブを受信する。
【００２７】
印刷ジョブは、複数のページを含む文書の印刷命令であり、処理単位として観念される複数のページデータ（以下単に「ページ」と記載する場合がある）を含む。当該印刷ジョブは、第１のＰＤＬで記述されており、つまり第１ＰＤＬ形式となっている。第１ＰＤＬ形式の印刷ジョブの一部分（例えばヘッダ部）において、各ページにおいて繰り返し利用されるデータ、すなわち、フォント、フォーム、あるいは画像など含むデータであるリソースが定義されている。印刷ジョブのうち、リソースを利用するページには、定義されたリソースを参照する情報（すなわちリソースの利用指示）が含まれている。
【００２８】
本実施形態では、第１ＰＤＬ形式としてＰＤＦ形式の印刷ジョブが入力される。
【００２９】
ページ管理モジュール１４は、印刷ジョブ受信部１２が受信した印刷ジョブを、ページ毎に複数の（本実施形態では３つの）処理経路に分配する処理を行う。処理経路は後述する３つのＲＩＰ処理部２０ａ〜２０ｃに対応して設けられる。各処理経路においては、ＲＩＰ処理の前段においてＰＤＬ形式の変換処理が行われ、その後各処理経路に対応してそれぞれ設けられたＲＩＰ処理部においてＲＩＰ処理が行われる。
【００３０】
ページ管理モジュール１４における各ページの分配方法としては様々な方法を採用することができる。本実施形態では、ＲＩＰ処理部からの要求に応じて各ページを分配する。具体的には、例えばＲＩＰ処理部が前処理ページについてのＲＩＰ処理を終えたときにページ管理モジュール１４に対してページを要求する信号を送信する。ページ管理モジュール１４は、当該信号に基づいて、次に処理すべきページをページを要求する信号を送信したＲＩＰ処理部に係る処理経路に分配する。あるいは、ページ管理モジュール１４からＲＩＰ処理部に対して処理を要求する構成も採用することができる。本明細書においては、１つの処理経路に分配されたページ群を「サブジョブ」と定義する。
【００３１】
変換部１６ａ〜１６ｃは、各処理経路上に設けられ、印刷ジョブに含まれる第１ＰＤＬ形式の各ページを、中間データとしての第２ＰＤＬ形式のページデータに変換する処理を行う。変換部１６ａ〜１６ｃはページ毎に変換処理を行う。
【００３２】
変換部１６ａ〜１６ｃは、第１ＰＤＬ形式のページにリソースの利用指示が含まれる場合に、当該リソース（リソースの定義）を第２ＰＤＬ形式に変換後の当該ページに含ませることができる。本明細書においては、第２ＰＤＬ形式のページにリソースを含ませることを「リソースを出力する」と表現する。また、変換部１６ａ〜１６ｃは、同じサブジョブに含まれる２つのページのうち、先行して変換処理されたページに含まれていたリソースが、後続ページにも含まれていた場合、第２ＰＤＬ形式に変換後の当該後続ページには、先行ページに含まれるリソースを参照する参照命令を含めることができる。これらの変換処理については、図２のフローチャートなどを用いて後に詳述する。
【００３３】
本実施形態では、第１ＰＤＬ形式であるＰＤＦ形式のページを、第２ＰＤＬ形式であるＰｏｓｔＳｃｒｉｐｔ（以下「ＰＳ」と記載する）形式に変換する処理を行う。また、上述の通り、画像形成装置１０は３つの処理経路を有しており、本実施形態においては処理経路毎に変換部を設けることとしているから、画像形成装置１０には、３つの変換部１６ａ〜１６ｃが設けられている。
【００３４】
なお、本実施形態では、３つの処理経路にそれぞれ１つの変換部が設けられているが、必ずしもそうである必要はない。例えば、３つの処理経路における変換処理を１つの変換部が全て行うようにしてもよい。
【００３５】
変換部において出力されたリソースを処理経路毎に区別して示す情報が画像形成装置１０内に記憶される。本実施形態においては、３つの変換部１６ａ〜１６ｃにそれぞれ対応して、３つのテーブル記憶部１８ａ〜１８ｃが設けられており（つまり各処理経路毎にテーブル記憶部が設けられており）、各テーブル記憶部１８ａ〜１８ｃにおいて、各処理経路において出力済みのリソースを示す各リソース管理テーブルが記憶される。リソース管理テーブルの詳細については後述する。
【００３６】
画像形成装置１０は、処理経路毎に設けられた３つのＲＩＰ処理部２０ａ〜２０ｃを有する。ＲＩＰ処理部２０ａ〜２０ｃは、第２ＰＤＬ形式に変換された各ページを、後述の出力部２４が認識可能なラスタデータに展開する処理（ＲＩＰ処理）を行う。本実施形態では、各ＲＩＰ処理部に対して変換部がそれぞれ設けられているから、変換部１６ａが出力した第２ＰＤＬ形式のページはＲＩＰ処理部２０ａにおいてＲＩＰ処理され、変換部１６ｂが出力した第２ＰＤＬ形式のページはＲＩＰ処理部２０ｂにおいてＲＩＰ処理され、変換部１６ｃが出力した第２ＰＤＬ形式のページはＲＩＰ処理部２０ｃにおいてＲＩＰ処理される。
【００３７】
３つのＲＩＰ処理部２０ａ〜２０ｃにそれぞれ対応して、３つの一時ファイル記憶部２２ａ〜２２ｃが設けられている。一時ファイル記憶部２２ａ〜２２ｃには、対応するＲＩＰ処理部におけるＲＩＰ処理により展開されたリソースデータ及びラスタデータなどを含む一時ファイルが記憶される。
【００３８】
出力部２４は、ＲＩＰ処理部２０ａ〜２０ｃにより展開されたラスタデータを印刷媒体上に再現する出力処理（プリント処理）を実行する。出力部２４は、一般のプリンタが有する各部材、例えばトナー、感光ドラム、給紙部などを含んで構成される。
【００３９】
制御部２６は、例えばＣＰＵあるいはマイクロプロセッサなどから構成され、例えばハードディスク、ＲＯＭ、あるいはＲＡＭなどから構成される記憶部２８に記憶されたプログラムに従って画像形成装置１０の各部を動作させる制御を行う。
【００４０】
入力部３０は、例えばタッチパネルあるいはボタンなどから構成され、ユーザの指示を画像形成装置１０に入力するためのものである。画像形成装置１０は、シングルジョブモード及びリソース共有モードの２つの動作モードにおいて動作することができ、動作モードの選択指示などが入力部３０から入力される。動作モードの詳細については後述する。
【００４１】
画像形成装置１０の構成概略は以上の通りである。
【００４２】
以下、図１を参照しつつ図２を用いて、画像形成装置１０の印刷処理の流れについて説明する。なお、本明細書における「印刷処理」とは、変換部１６ａ〜１６ｃによる変換処理、ＲＩＰ処理部２０ａ〜２０ｃによるＲＩＰ処理、及び出力部２４による出力処理を含む概念である。
【００４３】
図２は、画像形成装置１０の印刷処理の流れを示すフローチャートである。上述の通り、画像形成装置１０は３つの処理経路を有しており、各処理経路において同様の処理が行われるため、図２のフローチャートにおいては、変換部１６ａ及びＲＩＰ処理部２０ａを含む処理経路における処理の流れについて説明する。なお、便宜上、当該処理経路に分配されるサブジョブを「サブジョブａ」と記載する。
【００４４】
また、本例における印刷ジョブの各ページにおいては、図３に示す通りのリソースの利用指示が含まれているとする。例えば、１ページ目においては、「Ｆｏｎｔ１」、「Ｆｏｒｍ１」、及び「Ｉｍａｇｅ１」の３つのリソースの利用指示が含まれる。
【００４５】
ステップＳ１０において、ページ管理モジュール１４は、第１ＰＤＬ形式であるＰＤＦ形式の印刷ジョブ（以下「ＰＤＦジョブ」と記載する）のうちの１ページ（以下「ＰＤＦページ」と記載する）を変換部１６ａに分配する。ＰＤＦページが変換部１６ａに分配される条件としては、上述のように、ＲＩＰ処理部２０ａからのページ要求信号がページ管理モジュール１４に送信されることである。その他、ＰＤＦジョブの先頭ページ（あるいは先頭から処理経路数分のページ）の分配先は予め決定されていてよく、そのような分配先が変換部１６ａに設定されている場合は、ＰＤＦページが変換部１６ａに分配される。
【００４６】
ステップＳ１２において、ページ管理モジュール１４は、ステップＳ１０において分配されたＰＤＦページが、サブジョブａにおける先頭ページ（１ページ目）であるか否かを判定する。ここでは、ステップＳ１０において、ＰＤＦジョブの先頭ページが分配され、それは当然にサブジョブａにおける先頭ページであるから、ステップＳ１４に進む。
【００４７】
ステップＳ１４において、ページ管理モジュール１４は、変換部１６ａに対して、今回処理対象がサブジョブａの先頭ページであることを示す信号を送信し、それを受けた変換部１６ａは、第２ＰＤＬ形式であるＰＳ形式の印刷ジョブ（以下「ＰＳジョブ」と記載する）のヘッダ、あるいは全てのＰＳジョブにおいて共通に利用される手続関係の定義などを形成する。
【００４８】
ステップＳ１６において、変換部１６ａは、テーブル記憶部１８ａに記憶されるリソース管理テーブルに基づいて、処理対象のＰＤＦページに含まれるリソース利用指示に係るリソースがサブジョブａにおける先行処理ページにおいて出力済みであるか否かを判定する。ここでは、処理対象のＰＤＦページはサブジョブａの先頭ページであり、未だリソース管理テーブルにはデータが記憶されていないから、ステップＳ１８に進む。
【００４９】
ステップＳ１８において、変換部１６ａは、処理対象のＰＤＦページをＰＳ形式のページ（以下「ＰＳページ」と記載する）に変換する処理を行う。変換部１６ａは、当該変換処理にあたり、処理対象のＰＤＦページに含まれるリソース利用指示に係るリソース（リソースの定義）を変換後のＰＳページに含める。つまり、当該ＰＳページにおいてリソースを出力する。
【００５０】
図３を参照して、ＰＤＦページの１ページ目においては、リソースとしてまず「Ｆｏｎｔ１」を含むから、ここでは、「Ｆｏｎｔ１」のリソースがＰＳページに出力される。ＰＳページへの出力形式としては、ＲＩＰ処理部２０ａがキャッシュして再利用可能な形式で出力される。例えば、当該ＰＳページに「フォント実体（辞書形式）  ＦｏｎｔＮａｍｅ  ｅｘｃｈ  ｄｅｆｉｎｅｆｏｎｔ  ｐｏｐ」という記述を含める。また、ＰＳの言語仕様上キャッシュ利用可能な表現ができない場合には、独自の内部コマンドにより表現するようにしてもよい。
【００５１】
ステップＳ２０において、変換部１６ａは、ステップＳ１８において出力されたリソースを示す情報（レコード）をテーブル記憶部１８ａに記憶されるリソース管理テーブルに新規追加する。図４（ａ）に、当該リソース管理テーブルの例が示されている。図４（ａ）に示されるように、リソース管理テーブルには、変換部１６ａが出力したリソースに関する各種情報が記憶される。
【００５２】
リソース管理テーブルに管理される情報は、以下の通りである。「送信先ＲＩＰ処理部ＩＤ」は、当該リソースを含むＰＳページが処理されるＲＩＰ処理部を示すＩＤが記憶される。本実施形態では、ＲＩＰ処理部に１対１に対応して変換部及びリソース管理テーブルが設けられているから、テーブル記憶部１８ａに記憶されるリソース管理テーブルの全てのレコードにおいて送信先ＲＩＰ処理部ＩＤはＲＩＰ処理部２０ａを示すＩＤとなる。例えば、１つの変換部が複数の処理経路における変換処理を行う場合は、送信先ＲＩＰ処理部ＩＤを参照することで、変換部は、どの処理経路にどのリソースが出力済みであるかを把握することができる。
【００５３】
「リソースＩＤ」は出力されたリソース種別を示すＩＤであり、「リソース種別」にはその種別（例えば「Ｆｏｎｔ１」など）が示されている。「識別コード」は当該リソースを一意に識別するＩＤであり、リソースをハッシュ化などして得られる文字列である。「ドキュメントＩＤ」は、当該リソースの利用指示が含まれていた印刷ジョブに係る文書（例えばＰＤＦファイル）を一意に識別するＩＤである。「リソースデータサイズ」は当該リソースのデータ容量を示す。「使用回数」は、印刷ジョブにおける当該リソースの利用指示の個数を示す。「使用ページ」は、印刷ジョブにおいて、当該リソースの利用指示が含まれているページ番号を示す。
【００５４】
これらの情報はＰＤＦページに含まれており、変換部１６ａは変換処理の際にこれらの情報をＰＤＦページから取得する。
【００５５】
ステップＳ２２において、変換部１６ａは、処理対象のＰＤＦページに他のリソース（つまりステップＳ１６以降で処理されたリソース以外のリソース）が含まれているか否かを判断する。ここでは、処理対象であるＰＤＦページ（ＰＤＦジョブの１ページ目）に「Ｆｏｎｔ１」以外のリソース利用指示が含まれるため、ステップＳ１６へ戻る。
【００５６】
再度のステップＳ１６以降において、処理対象のＰＤＦページに含まれるリソース「Ｆｏｒｍ１」について処理される。まずステップＳ１６においてリソース「Ｆｏｒｍ１」がサブジョブａについて出力済みであるか否かが判断され、出力済みでないから、ステップＳ１８において、変換後のＰＳページに「Ｆｏｒｍ１」のリソースが出力される。そして、ステップＳ２０において、リソース管理テーブルにリソース「Ｆｏｒｍ１」についてのレコードが追加される。
【００５７】
さらに、処理対象のＰＤＦページは、リソース「Ｉｍａｇｅ１」を含むから、再度ステップＳ１６に戻る。再々度のステップＳ１６においてリソース「Ｉｍａｇｅ１」がサブジョブａについて出力済みであるか否かが判断され、出力済みでないから、ステップＳ１８において、変換後のＰＳページに「Ｉｍａｇｅ１」のリソースが出力される。そして、ステップＳ２０において、リソース管理テーブルにリソース「Ｉｍａｇｅ１」についてのレコードが追加される。
【００５８】
以上の処理の結果、テーブル記憶部１８ａに記憶されるリソース管理テーブルには、図４（ｂ）に示すように、レコードＲ１、Ｒ２、及びＲ３が追加される。そして、以上の処理により、処理対象のＰＤＦページに利用指示が含まれる全てのリソースについての処理が終了したから、ステップＳ２２からステップＳ２４に進む。
【００５９】
ステップＳ２４において、変換部１６ａは、変換処理により得られたＰＳページをＲＩＰ処理部２０ａへ出力する。ステップＳ２４において出力されるＰＳページは、印刷ジョブの１ページ目に対応するものであり、当該ＰＳページにはリソース「Ｆｏｎｔ１」、「Ｆｏｒｍ１」、及び「Ｉｍａｇｅ１」が含まれている。
【００６０】
ステップＳ２６において、ＰＳページを受け取ったＲＩＰ処理部２０ａは、当該ＰＳページに対してＲＩＰ処理を行う。当該ＲＩＰ処理においては、当該ＰＳページに含まれる３つのリソース「Ｆｏｎｔ１」、「Ｆｏｒｍ１」、及び「Ｉｍａｇｅ１」の展開処理が行われる。展開されたこれらのリソースは、一時ファイル記憶部２２ａに記憶される。その後、ＲＩＰ処理により得られたラスタデータは出力部２４に送られ、出力処理される。
【００６１】
ステップＳ２８において、ページ管理モジュール１４は、当該印刷ジョブ（ＰＤＦジョブ）に含まれる全てのページについての変換処理及びＲＩＰ処理が終了したか否かを判定する。ここでは、印刷ジョブに未処理のページが残っているので、ステップＳ１０に戻る。
【００６２】
再度のステップＳ１０において、ページ管理モジュール１４は、ＲＩＰ処理部２０ａからのページ要求指示に従って、ＰＤＦページを変換部１６ａに分配する。ここでは、ＰＤＦジョブの４ページ目が変換部１６ａに分配されたとする。なお、図３に示す通り、ＰＤＦジョブの４ページ目にはリソース「Ｆｏｎｔ１」及び「Ｉｍａｇｅ１」の利用指示が含まれる。
【００６３】
今回は、サブジョブａにおける２ページ目の処理であるから、ステップＳ１２からステップＳ１６に進む。
【００６４】
ステップＳ１６において、変換部１６ａは、まず処理対象のＰＤＦページに含まれるリソース「Ｆｏｎｔ１」が、サブジョブａにおいて出力済みか否かを判定する。具体的には、変換部１６ａは、テーブル記憶部１８ａに記憶されたリソース管理テーブル（図４（ｂ）参照）において、リソースＩＤ又はリソース種別をキーとして、リソース「Ｆｏｎｔ１」に係るレコードを検索する。ここでは、そのようなレコードとしてレコードＲ１が検出される。当該レコードが検出されたことをもって、変換部１６ａはリソース「Ｆｏｎｔ１」がサブジョブａにおいて出力済みであると判定し、ステップＳ３０に進む。
【００６５】
ステップＳ３０において、変換部１６ａは、処理対象のＰＤＦページをＰＳ形式のページ（以下「ＰＳページ」と記載する）に変換する処理を行う。変換部１６ａは、当該変換処理にあたり、処理対象のＰＤＦページに含まれるリソース利用指示に係るリソース（リソースの定義）を変換後のＰＳページに含めずに、それに代えて、出力済みのリソースを参照する参照命令を変換後のＰＳページに含める。ここでは、先のステップＳ１８の処理で１ページ目のＰＳページに含められたリソースを参照する参照命令が含められる。例えば、当該ＰＳページに「ＦｏｎｔＮａｍｅ  ｆｉｎｄｆｏｎｔ  １２  ｓｃａｌｅｆｏｎｔ  ｓｅｔｆｏｎｔ」という記述が含められる。
【００６６】
ステップＳ３２において、変換部１６ａは、リソース管理テーブルのレコードを更新する処理を行う。具体的には、ステップＳ２２において出力された参照命令に係るリソースに関するレコード（ここではレコードＲ１）について、使用回数を１インクリメントし、使用ページにページ４を追加する処理を行う。
【００６７】
処理対象のＰＤＦページには、上記ステップＳ３０及びＳ３２で処理された「Ｆｏｎｔ１」の他にも、「Ｉｍａｇｅ１」の利用指示が含まれるから、ステップＳ２２からステップＳ１６に戻る。再度のステップＳ１６において、図４（ｂ）を参照して、リソース「Ｉｍａｇｅ１」に関するレコードがリソース管理テーブルに含まれており（レコードＲ３）、つまりリソース「Ｉｍａｇｅ１」がサブジョブａにおいて出力済みであるから、再度ステップＳ３０に進む。再度のステップＳ３０において、リソース「Ｉｍａｇｅ１」についても、出力済みのリソースを参照する参照命令が変換後のＰＳページに含められる。そして、再度のステップＳ３２においてレコードＲ３が更新される。
【００６８】
上記ステップＳ１０〜Ｓ３２までの処理がＰＤＦジョブに含まれる各ページにおいて実行される。そして、ＰＤＦジョブの全てのページに関する処理が終了した場合は、ステップＳ２８からステップＳ３４に進み、変換部１６ａは、サブジョブａの終了を示すトレーラをＲＩＰ処理部２０ａに出力して印刷処理を終了する。
【００６９】
図５に、画像形成装置１０における３つの処理経路において、各変換部１６ａ〜１６ｃにより変換された複数のＰＳページを示す概念図が示されている。ＲＩＰ処理部２０ａを含む第１の処理経路にはＰＤＦページ１、４、７・・・が分配され、これらが変換部１６ａによりＰＳページ１、４、７・・・に変換されている。第１の処理経路において処理される複数のＰＳページ１、４、７・・・がＰＳサブジョブ４０ａを構成する。同様に、ＲＩＰ処理部２０ｂを含む第２の処理経路においては複数のＰＳページ２、６、８・・・
を含むＰＳサブジョブ４０ｂが構成され、ＲＩＰ処理部２０ｃを含む第３の処理経路においては複数のＰＳページ３、５・・・を含むＰＳサブジョブ４０ｃが構成される。
【００７０】
上述の通り、また図５に示される通り、各ＰＳサブジョブ４０ａ〜４０ｃ内においては、重複するリソースが出力されないようになっている。例えば、ＰＳサブジョブ４０ａにおいては、先行するＰＳページ１においてリソース「Ｆｏｎｔ１」、「Ｆｏｒｍ１」及び「Ｉｍａｇｅ１」が含められ、後続のＰＳページ４及びＰＳページ７においては、「Ｆｏｎｔ１」及び「Ｉｍａｇｅ１」が利用されるものの、これらのページには当該リソースが含まれずに、ＰＳページ１に含められた「Ｆｏｎｔ１」及び「Ｉｍａｇｅ１」を参照する参照命令が含められている。
【００７１】
ＰＳページにリソースを出力した場合に比して、参照命令を含めた場合は、ＰＳページの容量を小さくすることができる。そのため、上記のように後続のＰＳページについてリソースに代えて参照命令を含めることによって、後続のＰＳページの容量を低減することができる。これにより、データ転送などの際における画像形成装置１０に係る負荷を低減させることができる。また、ＲＩＰ処理部においても、同じリソースの展開処理を繰り返し行う必要がないから、印刷ジョブ全体としてＲＩＰ処理に要する時間を低減させ、ひいては印刷処理を高速化することができる。
【００７２】
なお、同一サブジョブにおいて、先行するＰＤＦページに含まれないリソースの利用指示が処理対象のＰＤＦページに含まれる場合は、変換部は、処理対象のＰＤＦページの変換後のＰＳページに当該リソースを出力する。例えば、図５のＰＳサブジョブ４０ｂを参照すると、後続ページであるＰＤＦページ６には、先行ページであるＰＤＦページ２に含まれないリソース「Ｉｍａｇｅ３」の利用指示が含まれる。この場合は、変換後のＰＳページ６に「Ｉｍａｇｅ３」のリソースが出力される。もちろん、第２の処理経路においてＰＤＦページ６に後続するＰＤＦページにおいてリソース「Ｉｍａｇｅ３」が利用される場合は、当該ＰＤＦページを変換したＰＳページには、ＰＳページ６に出力されたリソース「Ｉｍａｇｅ３」を参照する参照命令が含められる。
【００７３】
図６に、ＰＳサブジョブ４０ａのデータ構造が示されている。ＰＳサブジョブ４０ａは、最初にヘッダ部などが形成され、先頭ページであるＰＳページ１に当該ヘッダ部などが含められてＲＩＰ処理部２０ａに送信される。ＲＩＰ処理部２０ａは、ＰＳページ１を受け取った時点でＰＳページ１に対してＲＩＰ処理を開始することができる。その後、ＰＳページがページ毎に出力され、ＲＩＰ処理部２０ａは、ＰＳページを受け取る度に当該ページについてＲＩＰ処理を行う。つまり、ページ毎に個別に処理を行うことができる。このように、変換部はページ毎のＰＳページの出力が可能であり、且つ、ＲＩＰ処理部２０ａ〜２０ｃはページ毎のＲＩＰ処理が可能であることから、印刷ジョブ（ＰＤＦジョブ）の各ページを柔軟に各処理経路に分配することができる。
【００７４】
＜変形例＞
以上の通り、画像形成装置１０においては、変換部１６ａ〜１６ｃがリソースを出力すると、当該リソースに関するレコードがリソース管理テーブルに記憶される。しかし、変換部１６ａ〜１６ｃにより出力されたリソースの数が膨大になり、リソース管理テーブルのレコード数が膨大になると、リソース管理テーブル自体を管理するコストが大きくなる。さらに、変換部１６ａ〜１６ｃにおける変換処理に当たり、処理対象のＰＤＦページに含まれる利用指示に係るリソースが、既に出力されたリソースであるかを判定するに当たり、膨大な数のレコードを検索しなければならず、かえって印刷処理に時間がかかるおそれもある。
【００７５】
したがって、リソース管理テーブルにおいて、上限レコード数を予め設定しておき、変換部１６ａ〜１６ｃは、リソース管理テーブルのレコード数が当該上限レコード数以上となった場合には、リソース管理テーブルの参照を止め（つまりステップＳ１６における判定処理を止め）、処理対象のＰＤＦページに含まれる利用指示に係るリソースを全て変換後のＰＳページに含めるようにしてもよい。
【００７６】
また、予めリソース管理テーブルのレコード数を低減する観点からは、所定の容量よりも小さい容量のリソースはリソース管理テーブルに記憶しないようにしてもよい。この場合は、このようなリソースの利用指示を含むＰＤＦページの変換に当たっては、常にＰＳページに当該リソースが含まれるようになるが、その容量が小さいため、画像形成装置１０に係る負荷及びＲＩＰ処理に要する時間にそれほど影響を与えるものではない。
【００７７】
＜２つの動作モード＞
上述の通り、画像形成装置１０は、シングルジョブモード及びリソース共有モードの２つの動作モードにおいて動作することができる。制御部２６は、ユーザからの指示に従って、これら２つの動作モードのいずれかを選択することができる。つまり、制御部２６は、動作モードを選択する動作モード選択手段として機能する。以下、図１を参照しつつ、図７を用いて２つの動作モードについて説明する。
【００７８】
図７に示されるフローチャートは、図２に示すフローチャートのステップＳ３４の処理の後に実行されるものである。ステップＳ４０において、制御部２６は、画像形成装置１０の動作モードを判定する。当該動作モードはユーザにより予め設定されている。
【００７９】
動作モードがシングルジョブモードである場合は、ステップＳ４２に進み、制御部２６は、テーブル記憶部１８ａ〜１８ｃに記憶されている各リソース管理テーブル、及び一時ファイル記憶部２２ａ〜２２ｃに含まれる一時ファイルを削除する処理を行う。つまり、シングルジョブモードとは、１つの印刷ジョブに関する印刷処理が終了する度に、当該印刷処理の過程において生成されたリソース管理テーブル及び一時ファイル（展開されたリソースを含む）を削除するモードである。
【００８０】
動作モードがリソース共有モードである場合は、ステップＳ４２の処理を行わずに処理を終了する。つまり、リソース共有モードにおいては、印刷ジョブに関する印刷処理が終了した後も、当該印刷処理の過程で生成されたリソース管理テーブル及び一時ファイルが引き続き記憶されるモードである。
【００８１】
リソース共有モードによれば、後続の印刷ジョブに対する印刷処理においても、先行する印刷処理において生成されたリソース管理テーブル及び一時ファイルを利用し得る。特に、同一の文書に対する印刷ジョブが繰り返し入力されるような場合には、後続の印刷ジョブにおける印刷処理において、リソース管理テーブルに対するレコードの追加処理や更新処理を行う必要がなく、またＲＩＰ処理部におけるリソースの展開処理も省略することが可能である。これは、さらなる印刷処理の高速化に寄与する。なお、後続の印刷ジョブに係る文書が先行する印刷ジョブに係る文書と同一であるか否かは、後続の印刷ジョブに含まれる、当該文書を示すドキュメントＩＤと、リソース管理テーブルに記憶されたドキュメントＩＤとを照合することにより行われる。
【００８２】
＜リソース管理テーブル及び一時ファイルの削除処理＞
上述の通り、画像形成装置１０においては、印刷処理の途中においてリソース管理テーブルに対してレコードを追加あるいは更新する処理を行い、また一時ファイル記憶部２２ａ〜２２ｃに展開されたリソースを含む一時ファイルを記憶させる。
【００８３】
しかし、印刷処理の途中において何らかのエラーが生じた場合において、リソース管理テーブル又は一時ファイル記憶部２２ａ〜２２ｃに意図しないデータ（以下「エラーデータ」と記載する）が記憶されてしまう場合がある。
【００８４】
印刷処理の途中においてエラーが生じた際、画像形成装置１０はユーザの指示などを待ってから当該印刷処理の途中から処理を再開させる。あるいは、当該印刷処理を初めからやりなおす（リスタートさせる）。
【００８５】
エラー後において印刷処理が再開（リスタート含む）された場合、リソース管理テーブル又は一時ファイル記憶部２２ａ〜２２ｃにエラーデータが残ったままであると、当該印刷処理において予測不可能な不具合を生じるおそれがある。したがって、印刷処理途中においてエラーが生じ、そのリカバリ（エラーリカバリ）の処理に当たっては、上記エラーデータを確実に削除するのが望ましい。
【００８６】
画像形成装置１０においては、印刷処理の途中においてエラーが生じた際、当該エラーに対するエラーリカバリ処理の最中に、制御部２６は、リソース管理テーブルに記憶されたデータ、及び一時ファイル記憶部２２ａ〜２２ｃに記憶されたデータを削除する処理を行う。これにより、エラー後において印刷処理が再開された際に、予測不可能な不具合が生じることを防ぐことができる。
【００８７】
なお、印刷処理においてエラーが生じた場所に応じて、削除するデータを選択するようにしてもよい。例えば、変換部１６ａによる処理おいてエラーが生じた場合には、テーブル記憶部１８ａに記憶されるリソース管理テーブルに記憶されたデータのみを削除するようにしてもよいし、ＲＩＰ処理部２０ａによる処理においてエラーが生じた場合には、一時ファイル記憶部２２ａに記憶されたデータのみを削除するようにしてもよい。
【００８８】
エラーリカバリ時の他に、画像形成装置１０の保全のための再起動の際においても、制御部２６は、リソース管理テーブルに記憶されたデータ、及び一時ファイル記憶部２２ａ〜２２ｃに記憶されたデータを削除する処理を行うようにしてもよい。また、画像形成装置１０の構成が変更された場合にもこれらのデータを削除してもよい。例えば、ＲＩＰ処理部２０ｃが外された場合には、テーブル記憶部１８ｃに記憶されたリソース管理テーブルに記憶されたデータを削除すると共に、一時ファイル記憶部２２ｃに記憶されたデータを削除する。
【００８９】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【００９０】
１０  画像形成装置、１２  印刷ジョブ受信部、１４  ページ管理モジュール、１６ａ，１６ｂ，１６ｃ  変換部、１８ａ，１８ｂ，１８ｃ  テーブル記憶部、２０ａ，２０ｂ，２０ｃ  ＲＩＰ処理部、２２ａ，２２ｂ，２２ｃ  一時ファイル記憶部、２４  出力部、２６  制御部、２８  記憶部、３０  入力部、４０ａ，４０ｂ，４０ｃ  ＰＳサブジョブ。
【図１】
0006507932.tif 000002
【図２】
0006507932.tif 000003
【図３】
0006507932.tif 000004
【図４】
0006507932.tif 000005
【図５】
0006507932.tif 000006
【図６】
0006507932.tif 000007
【図７】
0006507932.tif 000008