(57)【特許請求の範囲】
【請求項１】
ページに配置されるオブジェクトを含む印刷ジョブであって、その印刷ジョブの末尾において、前記オブジェクトの印刷ジョブにおける位置情報が定義された印刷ジョブを処理する情報処理装置において、
該印刷ジョブに含まれる印刷属性情報に基づいて、該印刷ジョブの分割単位を決定するジョブ分割単位決定手段と、
前記決定された分割単位に基づいて、前記オブジェクトの位置情報を導出し、導出された位置情報を含む複数の分割印刷ジョブを生成するジョブ生成手段と、
前記生成された分割印刷ジョブを印刷装置に対して送信するジョブ送信手段とを備え、
前記印刷属性情報が、印刷媒体の設定に関する情報であり、
前記ジョブ分割単位決定手段が、前記印刷媒体の設定に関する情報に基づいて、同一種類の印刷媒体の設定が行われている単位を前記印刷ジョブの分割単位として決定する
ことを特徴とする情報処理装置。
【請求項２】
電子文書データの印刷処理を行う印刷装置の情報を取得する印刷装置情報取得手段と、
前記取得された印刷装置の情報に基づいて、前記印刷ジョブを分割するかを判断する分割判断手段とを備え、
前記分割判断手段が該印刷ジョブを分割すると判断した場合に、前記ジョブ生成手段が前記分割印刷ジョブを生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷装置の情報が、該印刷装置が印刷処理できる情報量に関する情報であり、
前記分割判断手段が、前記印刷ジョブの情報量が前記印刷処理できる情報量を超えるかを判断し、該印刷ジョブの情報量が前記印刷できる情報量を超えると判断した場合に、該印刷ジョブを分割すると判断する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
ページに配置されるオブジェクトを含む印刷ジョブであって、その印刷ジョブの末尾において、前記オブジェクトの印刷ジョブにおける位置情報が定義された印刷ジョブを処理する情報処理装置において、
該印刷ジョブに含まれる印刷属性情報に基づいて、該印刷ジョブの分割単位を決定するジョブ分割単位決定手段と、
前記決定された分割単位に基づいて、前記オブジェクトの位置情報を導出し、導出された位置情報を含む複数の分割印刷ジョブを生成するジョブ生成手段と、
前記生成された分割印刷ジョブを印刷装置に対して送信するジョブ送信手段とを備え、
前記印刷属性情報が、フィニッシング設定に関する情報であり、
前記ジョブ分割単位決定手段が、前記フィニッシング設定に関する情報に基づいて、同一種類のフィニッシング設定が行われている単位を前記印刷ジョブの分割単位として決定する
ことを特徴とする情報処理装置。
【請求項５】
前記ジョブ送信手段が、前記ジョブ生成手段によって生成された各々の分割印刷ジョブを別ジョブとして送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記ジョブ送信手段が、前記ジョブ生成手段によって生成された複数の分割印刷ジョブを１つのジョブとして送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
ページに配置されるオブジェクトを含む印刷ジョブであって、その印刷ジョブの末尾において、前記オブジェクトの印刷ジョブにおける位置情報が定義された印刷ジョブを処理する情報処理装置の制御方法であって、
該印刷ジョブに含まれる印刷属性情報に基づいて、該印刷ジョブの分割単位を決定するステップと、
前記決定された分割単位に基づいて、前記オブジェクトの位置情報を導出し、導出された位置情報を含む複数の分割印刷ジョブを生成するステップと、
前記生成された分割印刷ジョブを印刷装置に対して送信するステップとを有し、
前記印刷属性情報が、印刷媒体の設定に関する情報であり、
前記印刷ジョブの分割単位を決定するステップでは、前記印刷媒体の設定に関する情報に基づいて、同一種類の印刷媒体の設定が行われている単位を前記印刷ジョブの分割単位として決定する
ことを特徴とする情報処理装置の制御方法。
【請求項８】
請求項７に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書データを処理する情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
公知の電子文書として、アドビシステムズのＰＤＦ（Portable Document Format）フォーマットで作成されたＰＤＦデータが提案されている。ＰＤＦフォーマットは、印刷すべきデータの構造を解釈するために必要な構造記述が電子文書の最後に記述されるフォーマットである。従って、ＰＤＦファイルを解釈する際には、該ＰＤＦファイルを最後までダウンロードして、上記構造記述を参照する必要がある。ＰＤＦファイルを、ＶＤＰ（Variable Data Printing）やトランザクション印刷などの、膨大なレコードを処理する分野で使用する場合に、ＰＤＦファイルを分割するという方法が考えられる。この方法に従って、分割したＰＤＦファイルを順次印刷装置に転送することによって、ファイルの転送とファイルの出力（印刷）とを並行して行うことができる。
【０００３】
特許文献１は、印刷すべきＰＤＦデータを複数のデータブロックに分割し、最後尾のデータブロックを印刷装置に転送した後、最前部のデータブロックから順に印刷装置に転送する電子文書印刷システムを提案している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３４８１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来技術は、単なるデータのブロック分割の技術である。ＰＤＦデータの印刷ジョブとしての分割については考慮しておらず、それゆえにプリンタコントローラやプリンタ等では、ＰＤＦデータ全体を受信し、メモリに展開してから面付けなど印刷属性に関わる処理を進める必要があった。また、印刷属性が、分割前のデータの途中で変更される場合などは、印刷エンジンを効率よく動作させることはできなかった。印刷属性は、例えば電子文書データの所定の印刷単位や電子文書データの印刷設定を示す。従って、従来技術では、印刷システムの環境やユースケースに合わせて電子文書データを分割して印刷装置に転送することができない。その結果、電子文書データの印刷装置への転送と印刷装置における電子文書データの出力とを並行に行い、かつ、印刷装置による印刷処理を効率よく制御することはできない。
【０００６】
本発明は、電子文書データの印刷装置への転送と印刷装置における電子文書データの出力とを並行に行い、かつ、印刷装置による印刷処理を効率よく制御することができる情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の情報処理装置は、ページに配置されるオブジェクトを含む印刷ジョブであって、その印刷ジョブの末尾において、前記オブジェクトの印刷ジョブにおける位置情報が定義された印刷ジョブを処理する情報処理装置において、該印刷ジョブに含まれる印刷属性情報に基づいて、該印刷ジョブの分割単位を決定するジョブ分割単位決定手段と、前記決定された分割単位に基づいて、前記オブジェクトの位置情報を導出し、導出された位置情報を含む複数の分割印刷ジョブを生成するジョブ生成手段と、前記生成された分割印刷ジョブを印刷装置に対して送信するジョブ送信手段とを備える。前記印刷属性情報が、印刷媒体の設定に関する情報であり、前記ジョブ分割単位決定手段が、前記印刷媒体の設定に関する情報に基づいて、同一種類の印刷媒体の設定が行われている単位を前記印刷ジョブの分割単位として決定する。
【発明の効果】
【０００８】
本発明の情報処理装置によれば、電子文書データの印刷装置への転送と印刷装置における電子文書データの出力とを並行に行い、かつ、印刷装置による印刷処理を効率よく制御することが可能となる。本発明の別の側面によれば、印刷属性が、分割前の印刷ジョブの途中で変更される場合であっても、印刷装置を効率よく動作させることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のシステム構成の一例を示す図である。
【図２】ＰＤＦファイルとジョブチケットの一例を示す図である
【図３】本実施形態の情報処理装置の動作処理フローの一例を示す図である。
【図４】実施例１に係る印刷ジョブの分割単位の決定処理フローを示す図である。
【図５】印刷ジョブの一例を示す図（１）である。
【図６】実施例２に係る印刷ジョブの分割単位の決定処理フローを示す図である。
【図７】印刷ジョブの一例を示す図（２）である。
【図８】実施例３に係る印刷ジョブの分割単位の決定処理フローを示す図である。
【図９】印刷ジョブの一例を示す図（３）である。
【図１０】印刷ジョブに含まれるＰＤＦファイルの他の例を示す図である。
【図１１】分割によって生成されたＰＤＦファイルの例を示す図（１）である。
【図１２】分割によって生成されたＰＤＦファイルの例を示す図（２）である。
【発明を実施するための形態】
【００１０】
図１は、本実施形態のシステム構成の一例を示す図である。図１（Ａ）は、本実施形態の印刷システムを示す。図１（Ａ）に示す印刷システムは、情報処理装置１とプリンタ２とを備える。情報処理装置１とプリンタ２とは、有線又は無線の通信インタフェースによって接続されている。
【００１１】
情報処理装置１は、印刷ジョブを処理する情報処理装置である。具体的には、情報処理装置１は、電子文書データを含む印刷ジョブを生成し、生成した印刷ジョブをプリンタ２に対して送信する。印刷ジョブは、電子文書データと該電子文書データに対応付けられたジョブチケットとを含む。より詳細には、印刷ジョブは、ページに配置されるオブジェクトを含み、その印刷ジョブの末尾において、上記オブジェクトの印刷ジョブにおける位置情報が定義されている。本実施形態においては、電子文書データは、例えばＰＤＦファイルである。ジョブチケットは、電子文書データの印刷設定を示す印刷設定情報を有するファイルである。図２（Ａ）を参照して後述するように、本実施形態において、ＰＤＦファイルはメタデータを有しており、該メタデータ、又は、該メタデータとジョブチケットが有する印刷設定情報とが、印刷ジョブの印刷属性を示す印刷属性情報を構成する。情報処理装置１は、例えばホストコンピュータである。情報処理装置１は、外部Ｉ／Ｆ（Interface ）１１、ジョブ解析部１２、ジョブ分割単位決定部１３、ジョブ生成部１４、プリンタＩ／Ｆ１５、ジョブデータ記憶部１６を備える。
【００１２】
外部Ｉ／Ｆ１１は、情報処理装置１とは異なる他の情報処理装置から情報処理装置１に対して送信された印刷ジョブを、ネットワーク８を介して受信するインタフェースである。ジョブ解析部１２は、外部Ｉ／Ｆ１２を介して受信した印刷ジョブ、又は、情報処理装置１が備えるジョブ生成部１４が生成した印刷ジョブを解析するジョブ解析手段としての機能を有する。ジョブ解析部１２は、ＰＤＦ解析部１２１とジョブチケット解析部１２２とを備える。ＰＤＦ解析部１２１は、印刷ジョブに含まれるＰＤＦファイルの構造を解析する。ジョブチケット解析部１２２は、印刷ジョブに含まれるジョブチケットの解析を行う。具体的には、ジョブチケット解析部１２２は、上記解析されるＰＤＦファイルに対応付けられたジョブチケットが示す印刷設定情報を解析する。ジョブ解析部１２は、解析したＰＤＦファイルの構造を示すファイル構造情報とジョブチケットが示す印刷設定情報とをジョブデータとしてジョブデータ記憶部１６に記憶する。
【００１３】
ジョブ分割単位決定部１３は、プリンタＩ／Ｆ１５を介して、プリンタ２に対してプリンタ情報の取得要求を出し、該プリンタ情報の取得要求に応じたプリンタ２からプリンタ情報を取得する。プリンタ情報は、プリンタ２の特性を示す情報である。プリンタ情報には、例えば、プリンタ２が印刷処理できる情報量に関する情報、プリンタ２に装着されている給紙／排紙トレイに関する情報、フィニッシャに関する情報等が含まれる。すなわち、ジョブ分割単位決定部１３とプリンタＩ／Ｆ１５とは、ＰＤＦファイルの印刷処理を行う印刷装置（プリンタ２）の情報を取得する印刷装置情報取得手段としての機能を有する。
【００１４】
また、ジョブ分割単位決定部１３は、ジョブデータ記憶部１６からジョブデータを抽出する。ジョブ分割単位決定部１３は、取得したプリンタ情報に基づいて、上記抽出されたジョブデータに対応する印刷ジョブを分割するかを判断する分割判断手段として機能する。プリンタ情報が、プリンタ２が印刷処理できる情報量（例えば、ファイル容量）に関する情報であってもよい。そして、ジョブ分割単位決定部１３が、印刷ジョブの情報量が上記印刷処理できる情報量を超えるかを判断し、印刷ジョブの情報量が印刷できる情報量を超えると判断した場合に、印刷ジョブを分割すると判断するようにしてもよい。
【００１５】
また、ジョブ分割単位決定部１３は、印刷ジョブを分割すると判断した場合に、該印刷ジョブの印刷属性情報に基づいて、該印刷ジョブの分割単位を決定するジョブ分割単位決定手段としての機能を有する。具体的には、ジョブ分割単位決定部１３は、ジョブデータ内のファイル構造情報を参照して、ＰＤＦファイルに含まれるメタデータを取得し、該メタデータに基づいて、印刷ジョブの分割単位を決定する。ジョブ分割単位決定部１３が、メタデータと、ジョブデータに含まれるジョブチケットが示す印刷設定情報とに基づいて、印刷ジョブの分割単位を決定するようにしてもよい。
【００１６】
他の実施形態によれば、印刷属性情報が、印刷媒体の設定に関する情報であり、ジョブ分割単位決定部１３が、印刷媒体の設定に関する情報に基づいて、同一種類の印刷媒体の設定が行われている単位を印刷ジョブの分割単位として決定する。また、他の実施形態によれば、印刷属性情報が、ＰＤＦファイルの所定の印刷単位であるレコードの設定に関する情報であり、ジョブ分割単位決定部１３が、レコードの設定に関する情報に基づいて、該印刷単位を印刷ジョブの分割単位として決定する。
【００１７】
ジョブ生成部１４は、情報処理装置１のユーザの操作入力に従って、印刷ジョブを生成し、生成した印刷ジョブをジョブ解析部１２に渡す。また、ジョブ生成部１４は、ジョブ分割単位決定部１３が決定した印刷ジョブの分割単位に基づいて、印刷ジョブに含まれるオブジェクトの位置情報を導出し、導出された位置情報を含む複数の分割印刷ジョブを生成するジョブ生成手段としての機能を有する。分割印刷ジョブは、印刷ジョブの分割によって得られる、上記分割単位毎の印刷ジョブである。ジョブ生成部１４は、ジョブ分割単位決定部１３が印刷ジョブを分割すると判断した場合に、分割印刷ジョブを生成する。ジョブ生成部１４は、生成した分割印刷ジョブをプリンタＩ／Ｆ１５に渡す。
【００１８】
ジョブ生成部１４は、ＰＤＦ生成部１４１とジョブチケット生成部１４２とを備える。ＰＤＦ生成部１４１は、印刷ジョブの分割単位と該印刷ジョブに含まれるＰＤＦファイルとに基づいて、該ＰＤＦファイルを分割して、該分割単位毎の新たなＰＤＦファイルを生成する。具体的には、ＰＤＦ生成部１４１は、ＰＤＦファイルから印刷ジョブの分割単位に対応するオブジェクトを取得し、取得したオブジェクトに対応する新たなＰＤＦファイルを生成する。ジョブチケット生成部１４２は、ＰＤＦ生成部１４１が生成したＰＤＦファイルに対応するジョブチケットを生成する。ＰＤＦ生成部１４１によって生成された分割単位毎の新たなＰＤＦファイルと、ジョブチケット生成部１４２によって生成された、該ＰＤＦファイルに対応するジョブチケットとが、上述した分割印刷ジョブを構成する。プリンタＩ／Ｆ１５は、情報処理装置１とプリンタ２との間の通信を媒介するインタフェースである。プリンタＩ／Ｆ１５は、例えば、プリンタ２からプリンタ情報を取得し、取得したプリンタ情報をジョブ分割単位決定部１３に渡す。また、プリンタＩ／Ｆ１５は、例えば、プリンタ２に対して、ジョブ生成部１４が生成した分割印刷ジョブを送信するジョブ送信手段としての機能を有する。
【００１９】
プリンタ２は、情報処理装置１から送信された印刷ジョブを受信し、受信した印刷ジョブに含まれるＰＤＦデータの印刷処理を行う装置である。プリンタ２は、送受信部２１、ジョブ解析部２２、出力部２３を備える。送受信部２１は、情報処理装置１のプリンタＩ／Ｆ１５からプリンタ情報の取得要求を受けて、プリンタ２に対応するプリンタ情報を情報処理装置１に対して送信する。また、送受信部２１は、情報処理装置１のプリンタＩ／Ｆ１５から印刷ジョブを受信する。
【００２０】
ジョブ解析部２２は、送受信部２１が受信した印刷ジョブを解析して、ラスタライズ処理を行って、ページ画像を生成する。ラスタライズ処理は、印刷ジョブに含まれるＰＤＦデータをビットマップ化する処理である。ページ画像は、印刷対象のページの画像である。具体的には、ジョブ解析部２２は、印刷ジョブに含まれるＰＤＦデータが有するオブジェクトを検索し、検索されたオブジェクトを用いてラスタライズ処理を実行する。ジョブ解析部２２は、印刷ジョブに含まれるジョブチケットが示す印刷設定情報を参照して、印刷対象となる各々のページ画像に対応する印刷設定を認識する。そして、ジョブ解析部２２は、上記生成したページ画像を該ページ画像に対応する印刷設定で印刷するように出力部２３に指示する。出力部２３は、ジョブ解析部２２から受けた指示に従って、ページ画像を印刷出力する。本実施形態の情報処理装置の制御方法は、図１（Ａ）を参照して前述した情報処理装置１の各処理部によって実現される。また、本実施形態のコンピュータプログラムは、上記情報処理装置の制御方法をコンピュータに実行させることを特徴とする。
【００２１】
図１（Ｂ）は、図１（Ａ）に示す情報処理装置１のハードウェア構成の一例を示す図である。ＣＰＵ（Central Processing Unit ）２１は、ＲＯＭ（Read Only Memory）２６内部のプログラム領域に記憶されたプログラムを実行する。また、ＣＰＵ２１は、ハードディスク２３からＲＡＭ（Random Access Memory）２２にロードされたＯＳ（Operating System）、汎用アプリケーション等のプログラムを実行する。ＣＰＵ２１は、内部バス２ａを介して、情報処理装置１が備える各々のハードウェアと接続されている。ＲＡＭ２２は、ＣＰＵ２１の主メモリ、ワークエリア等として機能する。ＲＡＭ２２は、情報処理装置１が備えるジョブデータ記憶部１６を含む。ハードディスク２３は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、電子原稿ファイル等を記憶する。また、情報処理装置１が受信する印刷ジョブ、又は情報処理装置１が生成する印刷ジョブは、全てハードディスク２３に記憶される。ディスプレイコントローラ２４は、ディスプレイによる各種情報の表示制御を行う。ネットワークコントローラ２５は、ネットワーク８に接続された他の情報処理装置との通信制御処理を実行する。ＲＯＭ２６のプログラム領域には、情報処理装置１の動作処理に必要なプログラムが予め記憶されている。外部記憶ドライブ２７は、外部記憶ドライブ２７に投入されるメディア２８に電子原稿ファイル等を記憶する。キーボードコントローラ２９は、キーボードやポインティングデバイスからのキー入力を制御する。
【００２２】
図２は、印刷ジョブに含まれるＰＤＦファイルとジョブチケットの一例を示す図である。図２（Ａ）は、情報処理装置１のジョブ解析部１２が解析対象とする印刷ジョブを示す。この印刷ジョブは、ＰＤＦファイル３０とジョブチケット４０とを含む。ＰＤＦファイル３０は、ヘッダ、ボディ、メタデータ、相互参照テーブル、トレーラを備える。ヘッダは、ＰＤＦファイル３０の先頭行に記述される情報である。ヘッダの持つ情報として、例えばＰＤＦのバージョン番号などが挙げられる。ボディは、文書の内容を表現するオブジェクトを有する。オブジェクトは、文書を構成するフォント、ページ、イメージ等である。図２（Ａ）に示す例では、ボディには、Ｐａｇｅ（ページ）１からページ９までの非共用オブジェクトが記述されている。また、ボディには、全てのページで使用される共用のオブジェクトである共用オブジェクトや特別オブジェクトが記述されている。
【００２３】
メタデータは、任意のページに関するキーを表す辞書オブジェクトである。キーは、印刷ジョブの印刷属性を示す。すなわち、メタデータは、印刷ジョブの印刷属性情報である。キーは参照情報を有しており、参照情報は、例えば、キーが示す印刷属性に対応する、ボディ内のオブジェクトを示す。また、参照情報は、例えば、キーが示す印刷属性に対応する印刷設定情報を有するジョブチケット４０を示す。参照情報がジョブチケット４０を示す場合、メタデータと、ジョブチケット４０が有する印刷設定情報とが印刷ジョブの印刷属性情報である。相互参照テーブルには、ＰＤＦファイル３０内のオブジェクトと該オブジェクトの位置との対応情報が予め記憶されている。また、相互参照テーブルには、メタデータ、オブジェクトのファイル先頭からのバイトオフセット（位置情報の一例である。）が予め記憶されている。この相互参照テーブルを検索することによって、ＰＤＦファイル３０内のオブジェクトに対してランダムにアクセスすることができる。トレーラは、ＰＤＦファイル３０の末尾に記述される情報である。トレーラは、例えば、相互参照テーブル９５の位置情報や、ＰＤＦファイル３０のルートオブジェクトへの参照情報を有する。アプリケーションは、最初にトレーラにアクセスするように実装される。トレーラ内にある相互参照テーブルの位置情報を参照し、次に、相互参照テーブルへアクセスする。そして、相互参照テーブルを元に、オブジェクトのオフセットを確認し、オブジェクトへのランダムアクセスを可能とする。
【００２４】
ジョブチケット４０は、印刷ジョブの印刷設定情報を有する。ジョブチケット４０は、例えば、メタデータが表すキーが示す各々の印刷属性に対応する印刷設定情報を有する。図２（Ａ）に示す例では、ジョブチケット４０が、ページ１乃至３というページ群に対応する印刷設定情報Ａ、ページ４乃至６というページ群に対応する印刷設定情報Ｂ、ページ７乃至９というページ群に対応する印刷設定情報Ｃを有するものとする。
【００２５】
ジョブ解析部１２のＰＤＦ解析部１２１は、トレーラを参照して、相互参照テーブルの位置情報を取得する。そして、ＰＤＦ解析部１２１が、相互参照テーブルを用いて、ＰＤＦファイル３０内のオブジェクトの位置情報、メタデータ内の情報を参照して、各ページのデータを解析する。これによってＰＤＦファイル３０が解析される。また、ジョブ解析部１２のジョブチケット解析部１２２は、ジョブチケット４０が有する印刷属性情報を解析する。これによってジョブチケット４０が解析される。
【００２６】
また、ジョブ分割単位決定部１３は、例えば、メタデータと、ジョブチケット４０が有する印刷設定情報とからなる印刷ジョブの印刷属性情報に基づいて、印刷ジョブの分割単位を決定する。この例では、ジョブ分割単位決定部１３は、ページ１乃至３、ページ４乃至６、ページ７乃至９という３つのページ群を分割単位として決定する。ジョブ生成部１４のＰＤＦ生成部１４１は、決定された分割単位に従ってＰＤＦファイル３０を分割して、例えば、ページ１乃至３、ページ４乃至６、ページ７乃至９という３つのページ群の各々に対応するＰＤＦファイルを生成する。また、ジョブ生成部１４のジョブチケット生成部１４２は、例えば、ＰＤＦ生成部１４１が生成した各々のＰＤＦファイルに対応するジョブチケットを生成する。上記のようにして生成されたＰＤＦファイルと該ＰＤＦファイルに対応するジョブチケットとが、図２（Ａ）に示す印刷ジョブが分割された各々の印刷ジョブを構成する。
【００２７】
図２（Ｂ）、図２（Ｃ）、図２（Ｄ）は、図２（Ａ）に示す印刷ジョブが分割された印刷ジョブを示す。図２（Ｂ）は、ページ１乃至３というページ群に対応する印刷ジョブを示し、図２（Ｃ）は、ページ４乃至６というページ群に対応する印刷ジョブを示し、図２（Ｄ）は、ページ７乃至９というページ群に対応する印刷ジョブを示す。
【００２８】
図３は、本実施形態の情報処理装置の動作処理フローの一例を示す図である。ジョブ解析部１２が、印刷ジョブを解析し（ステップＳ１）、解析結果をジョブデータとしてジョブデータ記憶部１６に記憶する。次に、ジョブ分割単位決定部１３が、プリンタＩ／Ｆ１５を介して、プリンタ２からプリンタ２のプリンタ情報を取得する（ステップＳ２）。ステップＳ２において取得されたプリンタ情報には、プリンタ２が印刷処理できるファイル容量の情報が含まれるものとする。続いて、ジョブ分割単位決定部１３が、印刷ジョブのファイル容量が、ステップＳ２において取得したプリンタ２が印刷処理できるファイル容量を超えているかを判断する（ステップＳ３）。ジョブ分割単位決定部１３が、印刷ジョブのファイル容量がプリンタ２が印刷処理できるファイル容量を超えていないと判断した場合は、ステップＳ４に進む。ジョブ分割単位決定部１３が、印刷ジョブのファイル容量がプリンタ２が印刷処理できるファイル容量を超えていると判断した場合は、ステップＳ６に進む。
【００２９】
ステップＳ４において、ジョブ分割単位決定部１３が、キーボードコントローラ２９（図１（Ｂ）を参照）を介したユーザの操作入力に従って、印刷ジョブの分割を行うかを判断する。ジョブ分割単位決定部１３が、予め決められた、印刷ジョブの分割を行うか否かに関する設定に従って、印刷ジョブの分割を行うかを判断するようにしてもよい。ジョブ分割単位決定部１３が、印刷ジョブの分割を行うと判断した場合はステップＳ６に進む。ジョブ分割単位決定部１３が、印刷ジョブの分割を行わないと判断した場合は、プリンタＩ／Ｆ１５が、プリンタ２に対して印刷ジョブを送信する（ステップＳ５）。
【００３０】
ステップＳ６において、ジョブ分割単位決定部１３が印刷ジョブの分割単位を決定する。そして、ジョブ生成部１４が、印刷ジョブの分割単位に従って印刷ジョブを分割し、分割単位に対応する新たな印刷ジョブである分割印刷ジョブを生成する（ステップＳ７）。ここでは、分割後の印刷ジョブの相互参照テーブルを導出する。具体的には、分割後の印刷ジョブに含まれるべきオブジェクトの分割後の印刷ジョブ内におけるオフセット値を決定し、オブジェクトの個数に基づく情報と共に、分割後の印刷ジョブの相互参照テーブルに格納する。また、共用オブジェクトは、分割前の印刷ジョブから、分割後の複数の印刷ジョブに対してそれぞれコピーされる。分割後の印刷ジョブの相互参照テーブルには、共用オブジェクトのオフセットも追記される。続いて、プリンタＩ／Ｆ１５が、生成した印刷ジョブのファイル容量が、ステップＳ２において取得したプリンタ２が印刷処理できるファイル容量を超えているかを判断する（ステップＳ８）。プリンタＩ／Ｆ１５が、生成した印刷ジョブのファイル容量が、プリンタ２が印刷処理できるファイル容量を超えていると判断した場合は、上記ステップＳ６に戻る。プリンタＩ／Ｆ１５が、生成した印刷ジョブのファイル容量が、プリンタ２が印刷処理できるファイル容量を超えていないと判断した場合は、ステップＳ９に進む。
【００３１】
ステップＳ９において、プリンタＩ／Ｆ１５が、ユーザの操作入力に従って、生成された各々の分割印刷ジョブを別ジョブとして送信するかを判断する（ステップＳ９）。プリンタＩ／Ｆ１５が、各々の分割印刷ジョブを別ジョブとして送信すると判断した場合、プリンタＩ／Ｆ１５が、各々の分割印刷ジョブを別ジョブとして送信する（ステップＳ１０）。分割印刷ジョブを別ジョブとして送信することによって、分割印刷ジョブの送信中における他の処理の割込みが可能となる。プリンタＩ／Ｆ１５が、各々の分割印刷ジョブを別ジョブとして送信しないと判断した場合、プリンタＩ／Ｆ１５が、各々の印刷ジョブをパッケージングして、１つのジョブとして送信（チャンク送信）する（ステップＳ１１）。チャンク送信をすることによって、ジョブの送信中における他の処理の割込みを防止することができる。続いて、ジョブ生成部１４が、次に分割対象となる印刷ジョブがあるかを判断する（ステップＳ１２）。ジョブ生成部１４が、次に分割対象となる印刷ジョブがあると判断した場合は、上記ステップＳ７に戻る。ジョブ生成部１４が、次に分割対象となる印刷ジョブがないと判断した場合は、処理を終了する。
【００３２】
図４は、本発明の実施例１に係る印刷ジョブの分割単位の決定処理フローを示す図である。図４に示す処理フローは、図３のステップＳ６における印刷ジョブの分割単位の決定処理を示す。この例では、ジョブデータ記憶部１６内のジョブデータが示す印刷ジョブは、図５（Ａ）に示すような構造を有するものとする。図５（Ａ）に示す印刷ジョブに含まれるＰＤＦファイル５０内のボディには、９ページ分のオブジェクトが設定されている。また、ＰＤＦファイル５０のメタデータ内のキーには、フィニッシングの設定を示す情報として、“Ｆｏｌｄｉｎｇ”が設定されている。“Ｆｏｌｄｉｎｇ”は、ページの折り処理を示す。メタデータには、属性値として、折りの設定（折りあり、又は折りなし）が設定されており、それぞれの折りの設定に対応する参照情報としてジョブチケットが設定されている。また、図５（Ａ）に示す印刷ジョブに含まれるジョブチケット６０は、ページ１からページ６までは折り処理を行い、ページ７からページ９までは折り処理を行わないという印刷設定を示す印刷設定情報を有する。なお、図５（Ａ）に示す例では、ジョブチケット６０は、ＪＤＦ（Job Definition Formaｔ）のフォーマットを有する。
【００３３】
図４のステップＳ２１において、ジョブ分割単位決定部１３が、ジョブデータ記憶部１６からジョブデータを抽出し、抽出したジョブデータからＰＤＦファイルのメタデータ内のキーを取得する。続いて、ジョブ分割単位決定部１３が、取得したキーがフィニッシングの設定を示すかを判断する（ステップＳ２２）。ジョブ分割単位決定部１３が、取得したキーがフィニッシングの設定を示さないと判断した場合は処理を終了する。ジョブ分割単位決定部１３が、キーがフィニッシングの設定を示すと判断した場合は、ジョブ分割単位決定部１３が、印刷ジョブの分割単位を決定する（ステップＳ２３）。例えば、ジョブ分割単位決定部１３は、図５（Ａ）に示すＰＤＦファイル５０のメタデータにおいて設定されている属性値と、参照情報とを取得するとともに、該参照情報が示すジョブチケット６０内の印刷設定情報を取得する。そして、ジョブ分割単位決定部１３は、上記属性値と印刷設定情報とに基づいて、同一種類のフィニッシング設定がされている単位を印刷ジョブの分割単位として決定する。具体的には、ジョブ分割単位決定部１３は、折り処理を行うページ１からページ６までのページ群を、一つの分割単位として決定する。続いて、ジョブ分割単位決定部１３が、次の参照情報があるかを判断する。ジョブ分割単位決定部１３が、次の参照情報があると判断した場合は、ステップＳ２３に戻り、ジョブ分割単位決定部１３が、印刷ジョブの次の分割単位を決定する。これにより、例えば、折り処理を行わないページ７からページ９までのページ群が、分割単位として決定される。
【００３４】
ジョブ分割単位決定部１３が、次の参照情報がないと判断した場合、ジョブ分割単位決定部１３は、次のキーがあるかを判断する（ステップＳ２５）。ジョブ分割単位決定部１３が、次のキーがあると判断した場合は、上記ステップＳ２１に戻る。ジョブ分割単位決定部１３が、次のキーがないと判断した場合は、処理を終了する。ジョブ分割単位決定部１３が、図４に示す処理フローに従って図５（Ａ）に示す印刷ジョブの分割単位を決定すると、ページ１からページ６までのページ群と、ページ７からページ９までのページ群が、分割単位として決定される。この分割単位に従ってジョブ生成部１４が印刷ジョブを分割すると、例えば、図５（Ｂ）、（Ｃ）に示すような印刷ジョブが生成される。図５（Ｂ）に示す印刷ジョブは、ページ１からページ６までのページ群に対応するＰＤＦファイルとジョブチケットＡとを備える。また、図５（Ｃ）に示す印刷ジョブは、ページ７からページ９までのページ群に対応するＰＤＦファイルとジョブチケットＢとを備える。
【００３５】
実施例１に係る情報処理装置１によれば、同一種類のフィニッシング設定が行われているページ群の単位で印刷ジョブを分割し、同一種類のフィニッシング設定が行われているページ群毎に一つのＰＤＦファイルを生成することができる。例えばページ１とページ５について折りの設定、ページ２からページ４について、他のフィニッシング設定がされている場合、折りの設定がされているページ１及びページ５に対応する一つのＰＤＦファイルを生成することができる。その結果、プリンタ２における印刷処理を、同一種類のフィニッシング設定の単位で実行することが可能となり、印刷効率が向上する。
【００３６】
他の例として、印刷属性として、カラーモノクロなどの印刷モードや、メディア種、用紙サイズなども考慮される。すなわち、印刷属性が、分割前の印刷ジョブの途中で変更される場合であっても、プリンタ２を効率よく動作させることができる。また、印刷メディア種（例えば、厚紙、上質紙、普通紙など）や用紙サイズ、印刷モード（例えば、カラーモノクロ）が、ジョブの途中で変更される場合もある。このように、各種印刷属性が印刷ジョブの途中で変更される場合は、プリントエンジン側で切り換え処理が必要となる場合もある。このような場合は、本実施形態のように印刷属性の変更された単位でジョブを分割して送信側が送信することでパフォーマンスが向上する。例えば、分割された第一の印刷属性が設定された最初のジョブを受信し、印刷を終了し、第二の分割された印刷ジョブの第二の印刷属性だけを先取り受信し、設定の切り換え処理をする。この処理の間はプリントエンジンは印刷処理が出来ないが、その間に、第二の印刷属性が設定された分割された印刷ジョブを受信する。このようにすることで、プリントエンジンの切り換え時間と分割ジョブの受信を並行させることで、システム全体のパフォーマンスを向上することが出来る。更に、情報処理装置１は、分割した印刷ジョブ毎に別ファイルでプリンタ２に送信するので、プリンタ２は、印刷ジョブを受け取る度に該印刷ジョブの解析と印刷処理の実行を行うことができる。その結果、情報処理装置１からの印刷ジョブの送信処理と、プリンタ２における印刷処理とを並行して行うことができる。
【００３７】
図６は、本発明の実施例２に係る印刷ジョブの分割単位の決定処理フローを示す図である。図６に示す処理のうち、ステップＳ３１、Ｓ３３、Ｓ３４、Ｓ３５は、それぞれ、図４に示すステップ２１、Ｓ２３、Ｓ２４、Ｓ２５と同様であるので、これらについての詳細な説明は省略する。実施例２においては、ジョブデータ記憶部１６内のジョブデータが示す印刷ジョブは、図７（Ａ）に示すような構造を有する。図７（Ａ）に示す印刷ジョブに含まれるＰＤＦファイル７０のメタデータ内のキーには、“Ｍｅｄｉａ  Ｔｙｐｅ”が設定されている。“Ｍｅｄｉａ  Ｔｙｐｅ”は、使用する印刷媒体を示す。メタデータの属性値には、普通紙又は厚紙といった印刷媒体の種類が設定されており、それぞれの印刷媒体の種類の設定に対応する参照情報としてジョブチケットが設定されている。また、図７（Ａ）に示す印刷ジョブに含まれるジョブチケット８０には、ページ１からページ３まで、ページ７からページ９までについて普通紙を使用する設定が、ページ４からページ６までについて厚紙を使用する設定が行われている。
【００３８】
実施例２においては、図６のステップＳ３２において、ジョブ分割単位決定部１３が、取得したキーが印刷媒体の設定を示すかを判断する。ジョブ分割単位決定部１３が、キーが印刷媒体の設定を示さないと判断した場合は処理を終了する。ジョブ分割単位決定部１３が、キーが印刷媒体の設定を示すと判断した場合は、ジョブ分割単位決定部１３が、印刷ジョブの分割単位を決定する（ステップＳ３３）。例えば、ジョブ分割単位決定部１３は、図７（Ａ）に示すＰＤＦファイル７０のメタデータにおいて設定されている属性値と参照情報とを取得するとともに、該参照情報が示すジョブチケット８０内の印刷設定情報を取得する。そして、ジョブ分割単位決定部１３は、属性値と印刷設定情報とに基づいて、同一種類の印刷媒体の設定がされている単位を印刷ジョブの分割単位として決定する。具体的には、ジョブ分割単位決定部１３は、普通紙を使用する設定に対応するページ１からページ３、ページ７からページ９までのページ群を、印刷ジョブの一つの分割単位として決定する。また、ジョブ分割単位決定部１３は、厚紙を使用する設定に対応するページ４からページ６までのページ群を、他の分割単位として決定する。
【００３９】
上記決定された分割単位に従ってジョブ生成部１４が印刷ジョブを分割すると、例えば、図７（Ｂ）、（Ｃ）に示すような印刷ジョブが生成される。図７（Ｂ）に示す印刷ジョブは、ページ１からページ３、ページ７からページ９までのページ群に対応するＰＤＦファイルとジョブチケットＣとを備える。また、図７（Ｃ）に示す印刷ジョブは、ページ７からページ９までのページ群に対応するＰＤＦファイルとジョブチケットＤとを備える。実施例２に係る情報処理装置１によれば、同一種類の印刷媒体の設定が行われているページ群の単位で印刷ジョブを分割し、同一種類の印刷媒体の設定が行われているページ群毎に一つのＰＤＦファイルを生成することができる。その結果、例えば、プリンタ２における印刷処理を、使用する用紙の種類が同一である単位で実行することが可能となり、印刷時の用紙切り替え時に発生するダウンタイムを抑えることができる。
【００４０】
図８は、本発明の実施例３に係る印刷ジョブの分割単位の決定処理フローを示す図である。実施例３においては、ジョブ分割単位決定部１３は、ＰＤＦファイルのメタデータ内のキーが示すレコードの情報に基づいて、各々のレコードの単位を印刷ジョブの分割単位として決定する。実施例３においては、情報処理装置１が備える所定の記憶部であるレコードデータベース内にレコードの属性に関する情報が予め記憶されているものとする。
【００４１】
実施例３においては、ジョブデータ記憶部１６内のジョブデータに対応する印刷ジョブは、図９（Ａ）に示すような構造を有する。図９（Ａ）に示すＰＤＦファイル９０は、この印刷ジョブに含まれるＰＤＦファイルの例である。ＰＤＦファイル９０のメタデータ内のキーには、「レコード」が設定されている。レコードは、ＰＤＦファイル９０に含まれるデータの所定の印刷単位である。例えば、実施例３に係る印刷システムが顧客単位でバリアブル印刷を実行する場合、レコードは、１顧客分のバリアブルデータの印刷単位である。メタデータには、レコードの属性として、顧客に対応するレコードが設定されており、各々のレコードの属性に対応する参照情報として、レコードの属性に対応するページが設定されている。図９（Ａ）に示す例では、レコードＡ、レコードＢ、レコードＣという属性に対応するページとして、それぞれ、ページ１からページ３、ページ４からページ６、ページ７からページ９が設定されている。なお、実施例３においては、ジョブチケット１００には、各々の属性に共通する所定の印刷設定情報が含まれているものとする。
【００４２】
図８のステップＳ４１において、ジョブ分割単位決定部１３が、ジョブデータ記憶部１６からジョブデータを抽出し、抽出したジョブデータからＰＤＦファイル９０のメタデータ内のキーを取得する。続いて、ジョブ分割単位決定部１３が、取得したキーがレコードの情報を示すかを判断する（ステップＳ４２）。ジョブ分割単位決定部１３が、取得したキーがレコードの情報を示さないと判断した場合は処理を終了する。ジョブ分割単位決定部１３が、キーがレコードの情報を示すと判断した場合は、レコードデータベースを検索して（ステップＳ４３）、レコードデータベース内に、メタデータ内のレコードの属性があるかを判断する（ステップＳ４４）。ジョブ分割単位決定部１３が、レコードデータベース内に、メタデータ内のレコードの属性がないと判断した場合は処理を終了する。ジョブ分割単位決定部１３が、レコードデータベース内に、メタデータ内のレコードの属性があると判断した場合は、ジョブ分割単位決定部１３は、該レコードの属性に対応する参照情報に基づいて、該レコードの属性に対応するページ群を認識する。そして、認識したページ群を印刷ジョブの分割単位として決定する（ステップＳ４５）。続いて、ジョブ分割単位決定部１３が、次の属性があるかを判断する。ジョブ分割単位決定部１３が、次の属性がないと判断した場合は、処理を終了する。ジョブ分割単位決定部１３が、次の属性があると判断した場合は、ステップＳ４５に戻り、ジョブ分割単位決定部１３が、印刷ジョブの次の分割単位を決定する。
【００４３】
図８に示す処理フローに従って図９（Ａ）に示す印刷ジョブの分割単位を決定すると、ページ１からページ３までのページ群と、ページ４からページ６までのページ群と、ページ７からページ９までのページ群とが、分割単位として決定される。この分割単位に従ってジョブ生成部１４が印刷ジョブを分割すると、例えば、図９（Ｂ）乃至（Ｄ）に示すような分割印刷ジョブが生成される。
【００４４】
図１０は、実施例３において分割対象となる印刷ジョブに含まれるＰＤＦファイルの他の例を示す。図１０に示すＰＤＦファイル９１は、バリアブル印刷向けに作成されたＰＤＦファイルである。ヘッダ９２は、ＰＤＦファイル９１の先頭に記述されている。ヘッダ９２には、ＰＤＦのバージョン番号が記述されている。この例では、ＰＤＦのバージョンは１．６である。ボディ９３には、文書の内容を表現するオブジェクトの階層構造が記述されている。ボディ９３は、文書カタログ１１０、ページツリー１１１、ページ１１２、コンテントストリーム１１３、外部オブジェクト１１４を有する。メタデータ９４は、任意のページに関するキーを示す辞書オブジェクトである。メタデータ９４は、アウトライン階層構造１１５、アウトラインエントリ１１６を有する。
【００４５】
文書カタログ１１０は、文書のオブジェクト階層構造のルートを示す。文書カタログ１１０には、ページツリー１１１とメタデータ９４のアウトライン階層構造１１５への間接参照情報が記述されている。この例では、文書カタログ１１０は、Ｔｙｐｅ属性に“Ｃａｔａｌｏｇ”が設定されている。Ｐａｇｅｓ属性にページツリー１１１のオブジェクト（２０ｏｂｊ）への参照情報“２０Ｒ”が設定されている。また、Ｏｕｔｌｉｎｅｓ属性にメタデータ９４のアウトライン階層構造（１１０ｏｂｊ）への参照情報“１１０Ｒ”が設定されている。ページツリー１１１は、文書内におけるページの順序を定義する。情報処理装置１が備えるジョブ分割単位決定部１３、ジョブ生成部１４は、ページツリー１１１における定義内容に基づいて、文書の各ページにアクセスすることができる。ページツリー１１１におけるＴｙｐｅ属性に“Ｐａｇｅｓ”が設定されている。また、Ｋｉｄｓ属性にページ１１２のオブジェクトである３０ｏｂｊ乃至６０ｏｂｊへの参照の配列“［３０Ｒ４０Ｒ５０Ｒ６０Ｒ］”が設定されている。
【００４６】
ページ１１２は、ＰＤＦファイル９１が有するページのオブジェクトを示す。この例では、ＰＤＦファイル９１は、４つのページを有する。３０ｏｂｊ，４０ｏｂｊ，５０ｏｂｊ，６０ｏｂｊが、それぞれ、１ページ目、２ページ目、３ページ目、４ページ目のオブジェクトである。３０ｏｂｊと４０ｏｂｊがレコードＡのページのオブジェクトである。また、５０ｏｂｊと６０ｏｂｊがレコードＢのページのオブジェクトである。ページ１１２には、コンテンツ情報、描画領域、リソース、親オブジェクト等が記述されている。ページ１１２におけるＴｙｐｅ属性に“Ｐａｇｅ”が設定されており、Ｃｏｎｔｅｎｔｓ属性にコンテントストリーム１１３や外部オブジェクト１１４への参照情報が設定されている。
【００４７】
コンテントストリーム１１３は、ＰＤＦのストリームオブジェクトを示す。文書の各ページは、１又は複数のコンテントストリーム１１３によって表現される。この例では、コンテントストリーム１１３は、レコードＡ用のページコンテンツである７０ｏｂｊと、レコードＢ用のページコンテンツである８０ｏｂｊといった、文書内で可変となる可変コンテンツを含む。
【００４８】
外部オブジェクト１１４は、コンテントストリーム１１３によって内容が定義されるグラフィックスオブジェクトである。外部オブジェクト１１４は、例えばＸＯｂｊｅｃｔである。この例では、各レコードで再利用するコンテンツが外部オブジェクト１１４として定義されている。アウトライン階層構造１１５は、文書のアウトラインの階層構造のルートを示す。アウトライン階層構造１１５には、アウトラインエントリ１１６への間接参照情報が記述されている。アウトライン階層構造１１５におけるＴｙｐｅ属性に“Ｏｕｔｌｉｎｅｓ”が設定されている。また、Ｆｉｒｓｔ属性、Ｌａｓｔ属性にアウトラインエントリ１１６への参照情報の範囲が設定されている。
【００４９】
アウトラインエントリ１１６は、文書のアウトラインを示すオブジェクトである。アウトラインエントリ１１６におけるＰＸＭ属性に任意ページのキー情報を設定することができる。この例では、キー情報として、レコードＡ、Ｂの情報（ページ数、名前、性別）が記述されている。ジョブ分割単位決定部１３は、アウトラインエントリ１１６内のキー情報に基づいて、ＰＤＦファイル９１の分割単位を決定する。この例では、ジョブ分割単位決定部１３は、レコードＡ，レコードＢのそれぞれを分割単位として決定する。そして、ジョブ生成部１４が、ジョブ分割単位決定部１３によって決定された分割単位でＰＤＦファイル９１を分割する。具体的には、ジョブ生成部１４は、ＰＤＦファイル９１のデータをレコード単位で再構成する。これにより、レコードＡに対応するＰＤＦファイルと、レコードＢに対応するＰＤＦファイルとが生成される。
【００５０】
相互参照テーブル９５は、ファイル内のオブジェクトの位置を指定するテーブルである。相互参照テーブル９５は、“ｘｒｅｆ”というキーワードから始まる。相互参照テーブル９５には、キーワード“ｘｒｅｆ”に続いて、オブジェクト数と各オブジェクトのファイル先頭からのバイトオフセットが記述されている。例えば、０００００００１２というバイトオフセットは、ファイルの先頭から数えて１２バイト目にオブジェクトの情報が記述されていることを示す。
【００５１】
トレーラ９６は、ＰＤＦファイル９１の末尾に記述される情報である。トレーラ９６は、相互参照テーブル９５の位置情報や、ＰＤＦファイル９１のルートオブジェクトへの参照情報を有する。ジョブ生成部１４は、トレーラ９６を参照することによって、相互参照テーブル９５やオブジェクトを迅速に見つけることができる。トレーラ９６は、“ｔｒａｉｌｅｒ”というキーワードから始まる。トレーラ９６には、キーワード“ｔｒａｉｌｅｒ”に続いて、ＰＤＦファイル９１のオブジェクトエントリ数や文書カタログ１１０への参照が記述されている。また、“ｓｔａｒｔｘｒｅｆ“というキーワードの後には、相互参照テーブル９５のファイル先頭からのバイトオフセットが記述されている。
【００５２】
図１１及び図１２は、実施例３において図１０に示すＰＤＦファイルの分割によって生成されたＰＤＦファイルの例を示す図である。図１１に示すＰＤＦファイル１２０は、レコードＡに対応するＰＤＦファイルである。図１２に示すＰＤＦファイル１２１は、レコードＢに対応するＰＤＦファイルである。
【００５３】
ＰＤＦファイル１２０と、ＰＤＦファイル１２１とは、図１０に示す分割元のＰＤＦファイル９１と同様に、ヘッダ９２、ボディ９３、メタデータ９４、相互参照テーブル９５、トレーラ９６を有する。ＰＤＦファイル１２０、１２１のボディ９３は、ＰＤＦファイル９１のボディ９３と同様に、文書カタログ１１０、ページツリー１１１、ページ１１２、コンテントストリーム１１３、外部オブジェクト１１４を有する。また、ＰＤＦファイル１２０、１２１のメタデータ９４は、ＰＤＦファイル９１のメタデータ９４と同様に、アウトライン階層構造１１５とアウトラインエントリ１１６とを有する。
【００５４】
図１１において、ＰＤＦファイル１２０の文書カタログ１１０が含むオブジェクトである１０ｏｂｊは、図１０のＰＤＦファイル９１の文書カタログ１１０が含む１０ｏｂｊに対応する。すなわち、ジョブ生成部１４は、ＰＤＦファイル１２０を生成する際に、ＰＤＦファイル９１の文書カタログ１１０内の１０ｏｂｊにおけるＯｕｔｌｉｎｅｓ属性を更新する。具体的には、ジョブ生成部１４は、ＰＤＦファイル１２０内の１０ｏｂｊにおけるＯｕｔｌｉｎｅ属性に、図１１中に示すアウトライン階層構造１１５への参照情報“８０Ｒ”を設定する。
【００５５】
ＰＤＦファイル１２０のボディ９３内のページツリー１１１が含むオブジェクトである２０ｏｂｊは、ＰＤＦファイル９１内のページツリー１１１が含む２０ｏｂｊに対応する。すなわち、ジョブ生成部１４は、ＰＤＦファイル９１のページツリー１１１内の２０ｏｂｊを更新する。具体的には、ジョブ生成部１４は、ＰＤＦファイル１２０内の２０ｏｂｊにおけるＫｉｄｓ属性に、図１１中に示す３０ｏｂｊと４０ｏｂｊへの参照情報“［３０Ｒ４０Ｒ］”を設定する。
【００５６】
ＰＤＦファイル１２０のボディ９３内のページ１１２が含むオブジェクトである３０ｏｂｊと４０ｏｂｊとは、ＰＤＦファイル９１が有する３０ｏｂｊと４０ｏｂｊとに対応する。すなわち、ジョブ生成部１４は、ＰＤＦファイル１２０を生成する際に、ＰＤＦファイル９１のページ１１２が含む３０ｏｂｊと４０ｏｂｊとを更新する。具体的には、ジョブ生成部１４は、３０ｏｂｊのＣｏｎｔｅｎｔｓ属性に図１１中のコンテントストリーム１１３や外部オブジェクト１１４への参照情報“５０Ｒ６０Ｒ”を設定する。同様に、ジョブ生成部１４は、４０ｏｂｊのＣｏｎｔｅｎｔｓ属性に図１１中のコンテントストリーム１１３や外部オブジェクト１１４への参照情報“５０Ｒ７０Ｒ”を設定する。
【００５７】
ＰＤＦファイル１２０のボディ９３内のコンテントストリーム１１３が含むオブジェクトである５０ｏｂｊは、ＰＤＦファイル９１が有する７０ｏｂｊに対応する。また、ＰＤＦファイル１２０のボディ９３内の外部オブジェクト１１４が含むオブジェクトである６０ｏｂｊ、７０ｏｂｊは、それぞれ、ＰＤＦファイル９１が有する９０ｏｂｊ、１００ｏｂｊに対応する。また、ＰＤＦファイル１２０のメタデータ９４内のアウトライン階層構造１１５が含むオブジェクトである８０ｏｂｊは、ＰＤＦファイル１２１が含む１１０ｏｂｊに対応する。すなわち、ジョブ生成部１４は、ＰＤＦファイル１２０を生成する際に、ＰＤＦファイル９１のアウトライン階層構造１１５内の１１０ｏｂｊにおける、アウトラインエントリ１１６への参照情報の範囲を更新する。具体的には、ジョブ生成部１４は、ＰＤＦファイル１２０内の８０ｏｂｊにおけるＦｉｒｓｔ属性とＬａｓｔ属性とに、図１１中の９０ｏｂｊへの参照情報である“９０Ｒ”を設定する。また、ＰＤＦファイル１２０のメタデータ９４内のアウトラインエントリ１１６が含むオブジェクトである９０ｏｂｊは、ＰＤＦファイル９１内のアウトラインエントリ１１６が含む１２０ｏｂｊに対応する。
【００５８】
ＰＤＦファイル１２０の相互参照テーブル９５は、ＰＤＦファイル９１の相互参照テーブル９５に対応する。ジョブ生成部１４は、ＰＤＦファイル１２０が有するオブジェクトの数と、各オブジェクトのファイル先頭からのバイトオフセットとに基づいてＰＤＦファイル１２０の相互参照テーブル９５を更新して、図１１に示す相互参照テーブル９５を生成する。また、ＰＤＦファイル１２０のトレーラ９６は、ＰＤＦファイル９１のトレーラ９６に対応する。ジョブ生成部１４は、ＰＤＦファイル１２０が有するオブジェクトの数と、相互参照テーブル９５の位置とに基づいてＰＤＦファイル１２０のトレーラ９６を更新して、図１１に示すトレーラ９６を生成する。ジョブ生成部１４がＰＤＦファイル１２０を生成する際にＰＤＦファイル９１の所定のオブジェクトにおける他のオブジェクトへの参照情報を更新するのは、ＰＤＦファイルの分割に伴ってオブジェクトの数とバイトオフセット等が変更されるからである。すなわち、ジョブ生成部１４は、分割によって決まるＰＤＦファイル１２０のオブジェクトの数と、このオブジェクトのＰＤＦファイル１２０におけるバイトオフセットとに基づいてＰＤＦファイル９１のオブジェクトを更新して、ＰＤＦファイル１２０を生成する。
【００５９】
一方、図１２に示すＰＤＦファイル１２１が含む１０ｏｂｊは、ＰＤＦファイル９１が含む１０ｏｂｊに対応する。ＰＤＦファイル１２１が含む２０ｏｂｊは、ＰＤＦファイル９１が含む２０ｏｂｊに対応する。ＰＤＦファイル１２１が含む３０ｏｂｊ、４０ｏｂｊは、それぞれ、ＰＤＦファイル９１が含む５０ｏｂｊ、６０ｏｂｊに対応する。ＰＤＦファイル１２１が含む５０ｏｂｊは、ＰＤＦファイル９１が含む８０ｏｂｊに対応する。ＰＤＦファイル１２１が含む６０ｏｂｊ、７０ｏｂｊは、それぞれ、ＰＤＦファイル９１が含む９０ｏｂｊ、１００ｏｂｊに対応する。ＰＤＦファイル１２１が含む８０ｏｂｊは、ＰＤＦファイル９１が含む１１０ｏｂｊに対応する。ＰＤＦファイル１２１が含む９０ｏｂｊは、ＰＤＦファイル９１が含む１３０ｏｂｊに対応する。ＰＤＦファイル１２１が含む相互参照テーブル９５は、ＰＤＦファイル９１が含む相互参照テーブル９５に対応する。ＰＤＦファイル１２１が含むトレーラ９６は、ＰＤＦファイル９１が含むトレーラ９６に対応する。ジョブ生成部１４は、分割によって決まるＰＤＦファイル１２１のオブジェクトの数と、このオブジェクトのＰＤＦファイル１２１におけるバイトオフセットとに基づいてＰＤＦファイル９１のオブジェクトを更新して、ＰＤＦファイル１２１を生成する。
【００６０】
実施例３に係る情報処理装置１によれば、同一の属性のレコードに対応するページ群の単位で印刷ジョブを分割し、同一の属性のレコードに対応するページ群毎に一つのＰＤＦファイルを生成することができる。その結果、例えば、ジャム時のリカバリ処理やジョブの中断処理等の、印刷中の処理を、同一の属性のレコード単位で行うことが可能となる。
【００６１】
以上説明したようにページに配置されるオブジェクトを含む印刷ジョブであって、その印刷ジョブの末尾において、前記オブジェクトの印刷ジョブにおける位置情報の一例である相互参照テーブルが定義された印刷ジョブを処理する情報処理装置を説明した。ここで、情報処理装置は、図１（Ａ）に示すとおり、コンピュータ機能を有する。図１のようにプリンタコントローラ機能を持つワークステーションであって、プリントエンジンに接続されるワークステーションであっても良い。また、情報処理装置は、１、２が一体化した装置であってもよい。すなわち、プリントエンジンが組み込まれた、画像処理機能を有する印刷装置であってもよい。ここで印刷ジョブの末尾とは、印刷ジョブの真ん中以降の、所定のアドレス以降のことであり、最終尾に限るものではない。そして、ジョブ分割単位決定部１３が、印刷ジョブに含まれる印刷属性情報に基づいて、印刷ジョブの分割単位を決定することを説明した。さらに、決定された分割単位に基づいて、前記オブジェクトの位置情報を導出し、導出された位置情報を含む複数の分割印刷ジョブを生成することを説明した。例えば、分割印刷ジョブは、図２の（Ｂ），（Ｃ），（Ｄ）などである。また、生成された印刷ジョブをプリンタに対してプリンタＩ／Ｆ１５が送信することも説明した。プリンタＩ／Ｆ１５はジョブ送信部の一例である。
【００６２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００６３】
１  情報処理装置
２  プリンタ
１１  外部Ｉ／Ｆ
１２  ジョブ解析部
１３  ジョブ分割単位決定部
１４  ジョブ生成部
１５  プリンタＩ／Ｆ
１６  ジョブデータ記憶部
【図１】
0005455587.tif 000002
【図２】
0005455587.tif 000003
【図３】
0005455587.tif 000004
【図４】
0005455587.tif 000005
【図５】
0005455587.tif 000006
【図６】
0005455587.tif 000007
【図７】
0005455587.tif 000008
【図８】
0005455587.tif 000009
【図９】
0005455587.tif 000010
【図１０】
0005455587.tif 000011
【図１１】
0005455587.tif 000012
【図１２】
0005455587.tif 000013