(57)【特許請求の範囲】
【請求項１】
複数レコードから構成される第１のＰＤＬデータのレコード数の指定をユーザから受け付ける受付手段と、
レコードと一対一に対応するレコード階層のノードを前記レコード数分含む構造を作成するテンプレート作成手段と、
前記レコード階層の下位階層のノードを前記構造に追加するノード追加手段と、
レコードと第１のＰＤＬデータに含まれるページの関係に基づいて、前記第１のＰＤＬデータに含まれる各々のページを、前記構造の前記レコード階層の下位階層のノードに対応付けて設定するページ設定手段と、
を備え、
前記ページ設定手段の設定により、前記第１のＰＤＬデータとは異なる、ページに対する階層構造を有する第２のＰＤＬデータが作成されることを特徴とする情報処理装置。
【請求項２】
前記ページ設定手段により前記レコード階層の下位階層の各々のノードのメタデータに前記第１のＰＤＬデータの属性情報が設定され、前記第２のＰＤＬデータが作成されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ページ設定手段は、前記第１のＰＤＬデータが含むページの数をＰ、レコード数をＲとした場合に、前記第１のＰＤＬデータの先頭ページからＰ／Ｒページずつ順次、前記レコード階層の下位階層のノードに対応付けて設定することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記ページ設定手段は、前記第１のＰＤＬデータが含むページの数をＰ、レコード数をＲとした場合に、Ｐ／Ｒの余りであるＭＯＤ（Ｐ，Ｒ）が０でないときは、該ＰＤＬデータのＰページ目のページを、ＭＯＤ（Ｐ，Ｒ）レコード目のレコードに対応する前記レコード階層のノードにリンクする前記レコード階層の下位階層のノードに対応付けて設定し、ＭＯＤ（Ｐ，Ｒ）が０のときは、Ｒレコード目のレコードに対応する前記レコード階層のノードにリンクする前記レコード階層の下位階層のノードに対応付けて設定することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項５】
前記ページ設定手段は、前記第１のＰＤＬデータの印刷設定ファイルの入力を受け付けて、前記印刷設定ファイルが示す印刷設定を、前記レコード階層の下位階層のノードに対応付けて設定された各々のページの印刷設定として設定して、前記第２のＰＤＬデータが作成されることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１のＰＤＬデータはＰＤＦデータであり、前記第２のＰＤＬデータはＰＤＦ／ＶＴデータであり、前記ノードはＤＰａｒｔであることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記テンプレート作成手段は、前記ＰＤＦ／ＶＴデータのＤＰａｒｔＲｏｏｔのＲｅｃｏｒｄＬｅｖｅｌの値に１を設定することによって、前記階層構造における第２階層のＤＰａｒｔを前記レコードに一対一に対応する前記レコード階層のノードを作成することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
複数レコードから構成される第１のＰＤＬデータのレコード数の指定をユーザから受け付ける受付工程と、
レコードと一対一に対応するレコード階層のノードを前記レコード数分含む構造を作成するテンプレート作成工程と、
前記レコード階層の下位階層のノードを前記構造に追加するノード追加工程と、
レコードと第１のＰＤＬデータに含まれるページの関係に基づいて、前記第１のＰＤＬデータに含まれる各々のページを、前記構造の前記レコード階層の下位階層のノードに対応付けて設定するページ設定工程と、
を有し、
前記ページ設定工程における設定により、前記第１のＰＤＬデータとは異なる、ページに対する階層構造を有する第２のＰＤＬデータが作成されることを特徴とする情報処理装置の制御方法。
【請求項９】
請求項８に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ＰＤＬデータ変換方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
電子写真方式やインクジェット方式のデジタルプリンタの高速化・高画質化に伴い、プリント・オン・デマンド（Print On Demand ：ＰＯＤ）市場が拡大している。ＰＯＤは、デジタルプリンタを使って電子データのプリントを行うサービスである。ＰＯＤによれば、オフセット印刷を行う場合に比べて、比較的小ロットの印刷ジョブを短納期で行うことができる。
【０００３】
ＰＯＤでは、電子データを用いる特性を生かして、バリアブルデータ印刷（Variable Data Printing：ＶＤＰ）という印刷方法が行われている。一つのＶＤＰに必要なページレイアウトやデータソースなどの論理的な情報の集まりをＶＤＰ文書という。ＶＤＰ文書は、固定部分と可変部分とに分けられる。ＶＤＰの文書を印刷処理する情報処理装置は、可変部分のデータを、ＲＤＢ（Relational Database ）やＣＳＶ（Comma Separated Values）ファイルなどのデータソースから取得する。情報処理装置は、データソースの桁（フィールド）をテンプレート文書の可変部分と関連付け、データソースの行（レコード）ごとに適用することで、少しずつ異なる内容の印刷を行う。
【０００４】
ＶＤＰの適用により、情報処理装置は、例えば、顧客情報に応じて提供する商品情報を変えるダイレクトメールなどを作成することができる。顧客情報に応じて提供する商品情報が変化する印刷を行うことにより、通常の印刷に比べて、宣伝効果が高い印刷をすることができる。
【０００５】
ここで、ＶＤＰ文書が物理的な電子データ形式となったものを、ＶＤＰデータという。また、ＶＤＰデータを作成するアプリケーションやシステムを、ＶＤＰデータ生成系という。また、ＶＤＰデータを解釈処理してデジタル印刷機で出力を行うアプリケーションやシステムをＶＤＰデータ処理系という。
【０００６】
ＶＤＰデータとしては、任意のページ記述言語（Page Description Language ：ＰＤＬ）で記述された電子データを採用することができる。しかし、ＶＤＰ専用のＰＤＬ（以下、ＶＤＰ言語と記述）で記述されたＶＤＰデータが、処理の効率の点で優れている。ＶＤＰ言語は、ＶＤＰ文書の固定部分のオブジェクト（以下、固定オブジェクトと記述する）を予め定義しておき、その固定オブジェクトを後から参照することを示す記述が可能だからである。ＶＤＰ言語をＶＤＰデータ処理系で印刷処理する場合、ＶＤＰデータ処理系は、個々の固定オブジェクトの解釈処理結果を保持しておき、当該固定オブジェクトが参照される度に解釈処理結果をコピーする。これにより、ＶＤＰデータ全体の処理が速くなる。
【０００７】
また、ＶＤＰ言語のうち、例えばＰＰＭＬ（Personalized Print Markup Language）は、文書の構造を階層を用いて表現することが可能である。この文書の構造は、文書内のページの意味的なまとまりを示したものである。例えば、文書の構造は、ＶＤＰにおける１つのレコードや、その中の表紙や本文、本文の中の章構成などを意味的なまとまりとして有する。
【０００８】
ＰＤＬが文書の構造を表現できることは、画像形成処理を行う情報処理装置のユーザが印刷の設定をする上で有効である。印刷の設定には、一般的にＪＤＦ（Job Definition Format ）が使われることが多い。
【０００９】
ここで、文書の構造を表現できないＰＤＬにおいてユーザが印刷の制御を行う場合を想定する。印刷の設定にＪＤＦを用いるとすると、ユーザは、個々のページやページのグループに対して印刷設定を行う。例えば、複数の章からなる文書について、ユーザが「２章」に対して印刷設定を行いたい場合は、「２章」がどのページからどのページまでなのかを知った上で印刷設定を行わなければならない。
【００１０】
一方、文書の構造を表現できるＰＤＬにおいてユーザが印刷の制御を行う場合を想定する。印刷設定にＪＤＦを用いるとすると、ユーザは、文書の構造を利用して、意味的なまとまりに対して印刷設定を行うことができる。例えば、ユーザは、複数の章からなる文書について、「２章」と意味付けされたページだけを印刷したり、「表紙」と意味付けされたページだけに上質紙を使って他は普通紙を使う、といった印刷設定をすることが可能となる。
【００１１】
また、ＪＤＦを用いた印刷設定方法は、別の印刷設定で再印刷を行う場合であっても、新たなＪＤＦを作成する手間が少ない。すなわち、ＪＤＦを用いた印刷設定方法は、印刷設定を行うユーザが、どのページがどの章なのかといったことをいちいち調べる必要がないため、印刷設定を行うユーザにとって非常に便利である。つまり、文書の構造を表現できるＰＤＬは、文書の構造を表現できないＰＤＬよりも上位の概念で印刷設定が可能なので、ユーザにとって便利である。
【００１２】
ＰＯＤのワークフローでは、印刷用データとして、ＰＤＦ（Portable Document Format）を使うことが一般的である。従って、ＶＤＰにおいてもＰＤＦが使われる場合が多い。また、ＰＤＦに対して様々な制限を持たせることで、データ交換や印刷を容易にするＰＤＦ／Ｘと呼ばれるフォーマットが存在する。ＰＤＦ／Ｘも、印刷用データとして広く使われている。しかし、ＰＤＦやＰＤＦ／Ｘは、ＶＤＰ言語ではないため、高速な印刷処理や、上位概念を用いた印刷設定が不可能であった。
【００１３】
そこで、国際標準化機構（International Organization for Standard：ＩＳＯ）は、２０１０年に、ＰＤＦ／Ｘをベースとして、ＶＤＰの機能を追加したＰＤＬであるＰＤＦ／ＶＴを策定した。
【００１４】
ＰＤＦ／ＶＴでは、描画オブジェクトの定義を文書内で複数回参照できるようにすることで、印刷処理系における処理の効率化が行える。また、ＰＤＦ／ＶＴは、ＤＰａｒｔ（Document Part ）階層構造と呼ばれるページオブジェクトの構造化機能と、ＤＰＭ（DPart Metadata）と呼ばれるメタデータ設定機能を持っている。ＤＰＭには、任意のキーと値の組を設定することが可能である。ＤＰＭにキーと値の組を設定することにより、ＤＰａｒｔに対する意味付けをすることができる。これによって、ユーザが、個々のページではなく、ＤＰＭに設定されたメタデータを条件にしてＤＰａｒｔに対して印刷設定することが可能である。
【００１５】
印刷データや紙文書に対して、既存のＰＤＦの機能を用いて、文書に意味付けを行う従来技術が提案されている。例えば、特許文献１は、印刷用データをＰＤＦに変換する際に、印刷用データを構成する画像、図形、テキスト等の構成要素毎に付加する付加情報を設定する方法を開示する。また、特許文献２は、読み込んだ原稿画像にユーザの希望通りの章分け箇所を設定し、章分け箇所にリンク情報を付加した原稿の電子文書の保存を行う画像形成装置を開示する。なお、特許文献３は、複数レコードに基づいて生成された印刷ジョブを解析してレコードの教会を検出する情報処理装置を開示している。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００４−２８９３５７号公報
【特許文献２】特開２０１０−１０９４２０号公報
【特許文献３】特開２００８−２６９２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
印刷データや紙文書に対して、既存のＰＤＦの機能を用いて、文書に意味付けを行う従来技術は、「しおり」や「注釈」等、既存のＰＤＦの機能を用いて、文書内のある位置をマークしたり、オブジェクトに対して意味付けをしたりするに過ぎない。「しおり」は、ＰＤＦ文書のページ範囲を示すものではなく、ＰＤＦ文書内の任意の位置を示すものである。また、「注釈」は、主に本文に対するコメント等を付加するものであり、ページを構造化するためのものではない。すなわち、従来技術は、ページの構造化を行うことはできず、当該従来技術によって意味付けされた情報を使って、ユーザが印刷設定を行うことはできない。
【００１８】
既に広く普及しているＰＤＦやＰＤＦ／Ｘによる印刷ワークフローを流用しつつ、より柔軟な印刷設定を行えるようにするためには、ＰＤＦ／ＶＴを印刷データとして用いることが、最も有効な解決手段である。しかし、既にＰＤＦデータとなっているものについては、柔軟な印刷設定を行うことはできない。
【００１９】
実際のＰＯＤの現場では、印刷オペレータの作業の手間を省くため、印刷ジョブ全体から印刷設定が同じページのみを集めたＰＤＦデータと印刷設定データとを印刷設定毎に作成して、別々に印刷することが行われる。しかし、このような印刷ワークフローでは、オンラインでフィニッシング等を行うことが難しいといった問題がある。そこで、一つの印刷ジョブを表すＰＤＦデータ群またはＰＤＦ／Ｘデータ群を、一つのＰＤＦ／ＶＴへ変換することが望まれる。この変換によって生成されるＰＤＦ／ＶＴでは、入力されるＰＤＦデータ群またはＰＤＦ／Ｘデータ群のページ構造が、出力となるＰＤＦ／ＶＴのＤＰａｒｔ階層構造によって正しく表現できていなければならない。
【００２０】
従来、ＰＤＦデータ群等のＰＤＬデータをＰＤＦ／ＶＴ等の階層構造を有するＰＤＬデータに変換する装置であって、入力ＰＤＬデータのページ構造が出力ＰＤＬデータの階層構造によって正しく表現されるようにする情報処理装置は提案されていない。
【００２１】
本発明は、ＰＤＬデータを階層構造を有するＰＤＬデータに変換する装置であって、入力ＰＤＬデータのページ構造が出力ＰＤＬデータの階層構造によって正しく表現されるようにする情報処理装置の提供を目的とする。
【課題を解決するための手段】
【００２２】
本発明の一実施形態の情報処理装置は、複数レコードから構成される第１のＰＤＬデータのレコード数の指定をユーザから受け付ける受付手段と、レコードと一対一に対応するレコード階層のノードを前記レコード数分含む構造を作成するテンプレート作成手段と、前記レコード階層の下位階層のノードを前記構造に追加するノード追加手段と、レコードと第１のＰＤＬデータに含まれるページの関係に基づいて、前記第１のＰＤＬデータに含まれる各々のページを、前記構造の前記レコード階層の下位階層のノードに対応付けて設定するページ設定手段と、を備え、前記ページ設定手段の設定により、前記第１のＰＤＬデータとは異なる、ページに対する階層構造を有する第２のＰＤＬデータが作成される。
【発明の効果】
【００２３】
本発明の情報処理装置によれば、ＰＤＬデータを階層構造を有するＰＤＬデータに変換し、その変換出力されるＰＤＬデータの階層構造によって入力ＰＤＬデータのページ構造が正しく表現されるようにすることができる。本発明の情報処理装置が、例えばＰＤＦデータをＰＤＦ／ＶＴデータに変換すると、このＰＤＦ／ＶＴデータを用いて、ＰＤＦデータのままでは困難であった柔軟な印刷設定ができるようになる。
【図面の簡単な説明】
【００２４】
【図１】本実施形態の情報処理装置の構成例を示す図である。
【図２】情報処理装置に適用するＶＤＰデータを説明する図である。
【図３】ＶＤＰデータを印刷する際に生成されるＰＤＦファイル群の例である。
【図４】ＰＤＬデータ変換処理例を説明するフローチャートである。
【図５】入力データレコード数設定画面とＰＤＦファイル入力設定画面である。
【図６】ＰＤＦ／ＶＴのテンプレートと割り当て設定情報の例を示す図である。
【図７】ＰＤＦ／ＶＴの例を説明する図である。
【図８】ＰＤＦファイルが含むページの第３階層のＤＰａｒｔへの設定処理の例を説明する図である。
【図９】入力ＰＤＦファイル群の処理の完了時のＰＤＦ／ＶＴと印刷設定ファイルの例を示す図である。
【図１０】ＰＤＦファイル群からＰＤＦ／ＶＴへの変換処理に用いるＣＵＩの例を示す図である。
【図１１】ＰＤＦ／ＶＴのデータ構造の一例を示す図（１）である。
【図１２】ＰＤＦ／ＶＴのデータ構造の一例を示す図（２）である。
【図１３】ＰＤＦ／ＶＴのデータ構造の一例を示す図（３）である。
【発明を実施するための形態】
【００２５】
図１は、本実施形態の情報処理装置の構成例を示す図である。図１（Ａ）は、情報処理装置１のハードウェア構成を示す。情報処理装置１は、ＰＤＬデータを階層構造を有するＰＤＬデータに変換する処理装置である。具体的には、情報処理装置１は、ＶＤＰデータを表す複数のＰＤＦデータを、適切なＤＰａｒｔ階層構造を持つＰＤＦ／ＶＴデータへ変換する。
【００２６】
なお、ＰＤＦ／ＶＴは、ＰＤＦ／Ｘをベースとしているので、ＰＤＦデータをＰＤＦ／ＶＴデータへ変換するためには、ＰＤＦデータを一旦ＰＤＦ／Ｘデータへ変換する必要がある。しかし、ＰＤＦデータからＰＤＦ／Ｘデータへの変換は、公知の技術を用いることで可能である。従って、本実施形態の説明においては、特に言及しない限り、入力データとしてのＰＤＦデータは、ＰＤＦ／Ｘデータに変換済みであるものとする。
【００２７】
情報処理装置１は、ＣＰＵ１０１、ＲＡＭ１０２、ネットワークＩ／Ｆ（Interface）１０３、外部記憶装置１０４、ディスプレイ１０５、キーボード１０６、ポインティングデバイス１０７を備える。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
【００２８】
ＣＰＵ１０１は、ＲＡＭ１０２に格納されている制御プログラムに従って、情報処理装置全体の制御を行う。ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムや、文書画像等のデータを格納する。ネットワークＩ／Ｆ１０３は、ネットワークと接続する。情報処理装置１は、ネットワークＩ／Ｆ１０３およびネットワークを介して、外部装置との間でデータを送受信する。外部記憶装置は、情報処理装置１による処理結果、または情報処理装置１への入力情報を記憶する。ディスプレイは、情報処理装置１による処理結果、または情報処理装置１への入力情報を表示する。キーボード、ポインティングデバイス１０７は、ユーザの操作に応じた情報を情報処理装置１に入力する。
【００２９】
ＲＡＭ１０２に格納されている制御プログラムは、次のような各動作を行う。制御プログラムは、ＲＡＭ１０２に格納されているＯＳ（Operating System）の機能を必要に応じて使用する。制御プログラムは、ＲＡＭ１０２に一時記憶する内部データの内容の読み書きを行う。制御プログラムは、ネットワークＩ／Ｆ１０３を介してデータの送受信を行う。制御プログラムは、外部記憶装置１０４上でデータの読み書きを行う。制御プログラムは、ディスプレイ１０５にユーザインタフェースや処理結果等の視覚情報を表示する。また、制御プログラムは、キーボード１０６やポインティングデバイス１０７からユーザの入力を受け付ける。以下、本実施形態の情報処理装置１の動作を説明するにあたり、上述した情報処理装置１の個々のデバイスの動作については、必要に応じて省略する。
【００３０】
図１（Ｂ）は、情報処理装置の機能ブロック図の例である。情報処理装置１は、レコード数取得部１１、テンプレート作成部１２、入力部１３、関係情報取得部１４、ノード追加部１５、ページ設定部１６、出力部１７を備える。本実施形態のＰＤＬデータ変換方法およびコンピュータプログラムは、図１（Ｂ）に示す情報処理装置１が備える各処理部の機能によって実現される。
【００３１】
レコード数取得部１１は、情報処理装置１に入力されるＰＤＬデータのレコード数を取得する。レコード数取得部１１は、例えばＰＤＦデータ（ファイル）のレコード数を、図５（Ａ）に示す入力データレコード数設定画面上でのユーザの操作に従って取得する。
【００３２】
テンプレート作成部１２は、テンプレート（例えば、ＰＤＦ／ＶＴのテンプレート）を作成する。テンプレート作成部１２は、レコード数取得部１１が取得したレコード数に基づいて、変換後のＰＤＬデータ（例えば、ＰＤＦ／ＶＴデータ）が有する階層構造の第２階層のノードを上記レコード数分含むテンプレートを作成する。この第２階層は、レコード階層である。当該レコード階層のノードは、レコードと一対一に対応するノードである。
【００３３】
入力部１３は、ＰＤＬデータを入力する。入力部１３が、上記入力されたＰＤＬデータの印刷設定ファイルを入力するようにしてもよい。入力部１３は、例えば、図５（Ｂ）に示すＰＤＦファイル入力設定画面上でのユーザの操作に従って、ＰＤＦデータと、印刷設定ファイルとを入力する。
【００３４】
関係情報取得部１４は、入力されたＰＤＬデータが含むページとレコードとの関係を示す関係情報を取得する。関係情報取得部１４は、例えば、図５（Ｂ）に示すＰＤＦファイル入力設定画面上でのユーザの操作に従って、関係情報を取得する。
【００３５】
ノード追加部１５は、作成されたテンプレートが含む第２階層目のノード（レコード階層のノード）とリンクする第３階層目のノードを追加する。第３階層は、レコード階層の下位階層である。ノード追加部１５は、追加された各々の第３階層目のノードに対して、入力されたＰＤＬデータの属性情報を設定する属性情報設定手段として機能する。
【００３６】
ページ設定部１６は、関係情報に基づいて、入力されたＰＤＬデータが含む各々のページを、第３階層目のノードに対応付けて設定する。また、ページ設定部１６は、入力部１３が印刷設定ファイルを入力した場合に、入力された印刷設定ファイルが示す印刷設定を、第３階層目のノードに対応付けて設定された各々のページの印刷設定として設定する。ページ設定部１６が実行する上記処理によって、階層構造を有するＰＤＬデータが生成される。出力部１７は、ページ設定部１６によって生成された階層構造を有するＰＤＬデータを出力する。また、出力部１７は、ページ設定部１６が設定した印刷設定内容を出力する。
【００３７】
図２は、情報処理装置に適用するＶＤＰデータを説明する図である。図２に示すＶＤＰデータは、表紙が１ページ、１章が３ページ、２章が２ページといった文書構成を有する。図２に示す例では、ＶＤＰデータは３つのレコード（レコードＡ乃至Ｃ）を含む。レコード毎に印刷内容が異なる。また、表紙については光沢紙、１章については普通紙、２章についてはコート紙という印刷設定がなされている。
【００３８】
図３は、図２に示すＶＤＰデータを印刷する際に生成されるＰＤＦファイル群の例である。印刷用のＰＤＦファイルは、図３（Ａ）に示す表紙ＰＤＦファイル、図３（Ｂ）に示す１章ＰＤＦファイル、および図３（Ｃ）に示す２章ＰＤＦファイルを含む。表紙ＰＤＦファイルは、レコードＡ、Ｂ、Ｃの各々の表紙のページのみを含む。１章ＰＤＦファイルは、レコードＡ、Ｂ、Ｃの各々の１章のページのみを含む。２章ＰＤＦファイルは、レコードＡ、Ｂ、Ｃの各々の２章のページのみを含む。
【００３９】
表紙ＰＤＦファイルが含むページは、各レコードが１ページなので、全部で３ページである。表紙ＰＤＦファイルには、表紙用印刷設定ファイルが示す印刷設定が関連付けられている。表紙用印刷設定ファイルが示す印刷設定は、印刷用紙が光沢紙の指定である。
【００４０】
１章ＰＤＦファイルが含むページは、各レコードが３ページなので、全部で９ページである。１章ＰＤＦファイルには、１章用印刷設定ファイルが示す印刷設定が関連付けられている。１章用印刷設定ファイルが示す印刷設定は、印刷用紙が普通紙の指定である。２章ＰＤＦファイルが含むページは、各レコードが２ページなので、全部で６ページである。２章ＰＤＦファイルには、２章用印刷設定ファイルが示す印刷設定が関連付けられている。２章用印刷設定ファイルが示す印刷設定は、印刷用紙がコート紙の指定である。情報処理装置１は、図３を参照して説明したようなＰＤＦファイル群が既に存在している場合に、入力されたＰＤＦファイル群をＰＤＦ／ＶＴへ変換する。
【００４１】
図４は、情報処理装置によるＰＤＬデータ変換処理例を説明するフローチャートである。この例では、情報処理装置１が、ＰＤＦファイル群をＰＤＦ／ＶＴへ変換する。まず、レコード数取得部１１が、情報処理装置１に入力されるＰＤＦデータのレコード数を、図５（Ａ）に示す入力データレコード数設定画面上でのユーザの操作に従って取得する（ステップＳ１）。
【００４２】
図５（Ａ）は、入力データレコード数設定画面の例を示す。入力データレコード数設定画面は、データのレコード数を設定するための画面である。入力データレコード数設定画面は、情報処理装置が表示するユーザインタフェースの一例である。例えば、図３のＰＤＦファイル群が入力データである場合、レコード数は３である。ユーザが、入力データレコード数設定画面の設定欄５０１に「３」を入力して「次へ」ボタン５０２を押し下げすると、レコード数取得部１１が、レコード数として３を取得する。
【００４３】
次に、テンプレート作成部１２が、ＰＤＦ／ＶＴのテンプレートを作成する（ステップＳ２）。作成されるＰＤＦ／ＶＴのテンプレートは、２階層のＤＰａｒｔ階層構造を持つ。このテンプレートにおいて、第２階層目の階層はレコード階層である。ＤＰａｒｔは、階層が含むノードである。第２階層目のＤＰａｒｔは、ステップＳ１において取得されたレコード数と同じ数である。この例では、ステップＳ１において取得されたレコード数は３であるので、第２階層目のＤＰａｒｔの数は３つである。また、ステップＳ２においては、テンプレート作成部１２は、ＰＤＦ／ＶＴに関連付けられる印刷設定のテンプレートも生成する。
【００４４】
生成される印刷設定のテンプレートは、後のステップで印刷設定を追記するためのテンプレートであり、生成された時点では設定情報は空である。この例では、印刷設定のテンプレートとしてＪＤＦを採用する。
【００４５】
図６（Ａ）は、ＰＤＦ／ＶＴのテンプレートの例を説明する図である。第２階層目のＤＰａｒｔは、それぞれ、レコードＡ、レコードＢ、レコードＣに対応している。ＰＤＦ／ＶＴは、その仕様により、第１階層目のＤＰａｒｔは１つである。また、第１階層目のＤＰａｒｔの親要素は、ＤＰａｒｔＲｏｏｔと呼ばれる要素である。ＤＰａｒｔＲｏｏｔには、ＲｅｃｏｒｄＬｅｖｅｌと呼ばれるパラメータを設定することができる。ＲｅｃｏｒｄＬｅｖｅｌを用いて、ＰＤＦ／ＶＴのどのＤＰａｒｔ階層がレコード階層に対応するかを記録することができる。図６（Ａ）中の９１２は、ＰＤＦ／ＶＴに関連付けられる印刷設定のテンプレート（印刷設定ファイル）である。
【００４６】
以下に、レコード階層について説明する。ＶＤＰ文書は、文書テンプレートにデータソースの各行（レコード）を適用して作られる。したがって、ＶＤＰ文書は、一般的に、１つのレコードを適用することによって生成されるページ群が、データソースの行数だけ繰り返される構造を有している。レコード階層とは、この繰り返しを表すＤＰａｒｔ階層のことである。レコード階層にあるＤＰａｒｔの数が、データソースの行数（レコード数）に相当する。
【００４７】
図４のステップＳ２において、テンプレート作成部１２が、第２階層目のＤＰａｒｔが、ステップＳ１で取得したレコード数と同じ数であるＰＤＦ／ＶＴのテンプレートを作成するのは、作成するＰＤＦ／ＶＴの第２階層をレコード階層とするためである。ＲｅｃｏｒｄＬｅｖｅｌの値については、「０」が第１階層目のＤＰａｒｔ階層に対応し、階層が１つ深くなる毎にＲｅｃｏｒｄＬｅｖｅｌの値は１増加する。第２階層目をレコード階層とするために、テンプレート作成部１２は、ＲｅｃｏｒｄＬｅｖｅｌに「１」を設定する。これにより、ＰＤＦ／ＶＴが有する階層構造における第２階層のＤＰａｒｔを、レコードに一対一に対応するレコード階層のノードとすることができる。
【００４８】
図４のステップＳ３において、図５（Ｂ）に示すＰＤＦファイル入力設定画面上でのユーザの操作に従って、入力部１３が、ＰＤＦファイルと印刷設定ファイルとを入力する。この例では、入力部は、図３（Ａ）に示す表紙ＰＤＦファイルと表紙用印刷設定ファイルとを入力する。また、ＰＤＦファイル入力設定画面上でのユーザの操作に従って、関係情報取得部１４が、関係情報を取得する（ステップＳ３）。取得される関係情報は、入力されるＰＤＦファイルが含むページとレコードとの関係を示す。以下では、ＰＤＦファイルと印刷設定ファイルと関係情報とのセットを、入力ＰＤＦ情報とも記述する。
【００４９】
図５（Ｂ）は、ＰＤＦファイル入力設定画面の例を示す。ＰＤＦファイル入力設定画面は、情報処理装置が表示するユーザインタフェースの一例である。設定欄５０３は、ユーザが、入力対象のＰＤＦファイルを設定する欄である。この例では、設定欄５０３に表紙ＰＤＦファイルのファイル名が設定される。設定欄５０４は、ユーザが、入力対象の印刷設定ファイルを設定する欄である。この例では、設定欄５０４に表紙用印刷設定ファイルのファイル名が設定される。なお、設定欄５０４へファイル名の設定は任意である。
【００５０】
設定欄５０４は、ユーザが、関係情報を設定する欄である。ユーザは、設定欄５０４に、ページとレコードとの関係として、「ページ数均等Ａ」、「ページ数均等Ｂ」、「個別関連付け」のうち、いずれか１つを選択して設定する。この例では、ユーザは、「ページ数均等Ａ」を選択する。ユーザが「次へ」ボタン５０６を押し下げると、入力部１３が、設定欄５０３に設定されたＰＤＦファイルと、設定欄５０４に設定された印刷設定ファイルとを入力する。また、関係情報取得部１４が、設定欄５０５に設定されたページとレコードとの関係を示す関係情報を取得する。
【００５１】
選択対象となるページとレコードとの関係のそれぞれについて以下に説明する。図４のステップＳ１において取得されたレコード数をＲ、ステップＳ３において入力されたＰＤＦファイルが含むページのページ数をＰとする。
【００５２】
「ページ数均等Ａ」は、このＰＤＦファイルの先頭ページからＰ／Ｒページずつ順次、レコードに関連付けられることを示す。例えば、入力されたＰＤＦファイルが、図３（Ｃ）に示す２章ＰＤＦファイルである場合、レコード数が３、ページ数が６である。従って、「ページ数均等Ａ」が設定された場合、６／３＝２ページずつ順に先頭レコードからレコードに関連付けられる。その結果、１、２ページが、１レコード目に関連付けられる。また、３、４ページが２レコード目に関連付けられる。また、５、６ページが、３レコード目に関連付けられる。
【００５３】
また、レコード数をＲ、Ａ÷Ｂの余りをＭＯＤ（Ａ，Ｂ）とすると「ページ数均等Ｂ」は、入力されたＰＤＦファイルのＰページ目をＭＯＤ（Ｐ，Ｒ）レコード目に関連付ける。ただし、ＭＯＤ（Ｐ，Ｒ）が０である場合は、Ｒレコード目に関連付ける。例えば、入力されたＰＤＦファイルが、図３（Ｃ）に示す２章ＰＤＦファイルである場合、レコード数が３である。従って、「ページ数均等Ｂ」が設定された場合、各々のページは、ＭＯＤ（ページ番号，３）レコード目に関連付けられる。その結果、１、４ページが、１レコード目に関連付けられる。また、２、５ページが、２レコード目に関連付けられる。また、３、６ページが、３レコード目に関連付けられる。
【００５４】
「個別関連付け」は、各々のページが、割り当て設定情報において対応付けられているレコードに関連付けられることを示す。割り当て設定情報は、ページとレコードとの対応情報である。割り当て設定情報は、予め所定の記憶手段に記憶されている。
【００５５】
図６（Ｂ）は、割り当て設定情報の例を示す図である。図６（Ｂ）に示す割り当て設定情報は、レコード数分のエントリを有する。一つのエントリに一つのレコードに対するページ番号が、カンマ区切りで記述されている。例えば、入力されたＰＤＦファイルが、図３（Ｂ）に示す１章ＰＤＦファイルである場合に、「個別関連付け」が設定されたとき、割り当て設定情報に従って、１、２、４ページが１レコード目に関連付けられる。また、３、７、８ページが２レコード目に関連付けられる。また、５、６、９ページが３レコード目に関連付けられる。
【００５６】
図４に戻って、ノード追加部１５が、ステップＳ２において作成したＰＤＦ／ＶＴのテンプレートに対して、当該テンプレートが含む第２階層のＤＰａｒｔとリンクする第３階層のＤＰａｒｔを追加する（ステップＳ４）。ステップＳ４においては、ノード追加部１５は、さらに、各々の第３階層のＤＰａｒｔのＤＰＭに、入力されたＰＤＦファイルの属性情報（メタデータ）を設定する。
【００５７】
図７は、図４のステップ４の処理後のＰＤＦ／ＶＴの例を説明する図である。この例では、第３階層のＤＰａｒｔのＤＰＭ９１１に、キー（Ｋｅｙ）が「ＩＤ」、値（Ｖａｌｕｅ）が「表紙」であるメタデータが設定されている。
【００５８】
図４に戻って、ページ設定部１６は、関係情報に基づいて、入力されたＰＤＦファイルが含む各々のページを、第３階層のＤＰａｒｔの子要素となるように、第３階層のＤＰａｒｔに対応付けて設定する（ステップＳ５）。ページ設定部１６は、各々のページと第３階層のＤＰａｒｔの関係が、関係情報が示すページとレコードの関係と同じ関係になるように、ページの設定を行う。ページ設定部１６は、さらに、ステップＳ２において生成された印刷設定のテンプレート（ＪＤＦ）に、ステップＳ３において入力された印刷設定ファイルが示す印刷設定を、第３階層のＤＰａｒｔに対応付けて設定された各々のページの印刷設定として設定する。
【００５９】
以下に、ＪＤＦについて説明する。ＪＤＦは、印刷設定ファイルとして、例えばＰＯＤで用いられるフォーマットである。ＪＤＦもＰＤＦ／ＶＴと同様に階層構造を持っている。ＪＤＦが有する階層のうち、ｓｅｔ階層と呼ばれる階層は、印刷設定の繰り返しの単位に相当する階層である。ページ設定部１６は、ＪＤＦのｓｅｔ階層と、ＰＤＦ／ＶＴのレコード階層とを関連付け、さらに、ｓｅｔ階層に各レコードに適用したい印刷設定を記述することで、ＰＤＦ／ＶＴのレコード階層（第２階層）にある各ＤＰａｒｔに対して印刷設定を行う。これにより、各々の第２階層のＤＰａｒｔとリンクする第３階層のＤＰａｒｔに対応付けられて設定されたページに対して、当該印刷設定がなされる。
【００６０】
ＪＤＦのｓｅｔ階層と、ＰＤＦ／ＶＴのレコード階層との関連付けは、ページ設定部１６が、ＤＰａｒｔＲｏｏｔのＲｅｃｏｒｄＬｅｖｅｌパラメータの値を解釈することで行う。本実施形態では、出力されるＰＤＦ／ＶＴのＲｅｃｏｒｄＬｅｖｅｌの値は「１」である。従って、ページ設定部１６は、ＰＤＦ／ＶＴの第２階層のＤＰａｒｔとＪＤＦのｓｅｔ階層とを関連付ける。
【００６１】
また、ページ設定部１６がＪＤＦに記述する印刷設定は、ＰＤＦ／ＶＴに設定されているメタデータの値に応じて条件分岐させることができる。例えば、キー「ＩＤ」のメタデータの値が「表紙」である場合は出力用紙を光沢紙にするという設定をしたり、メタデータの値が「１章」である場合は出力用紙を普通紙にするという設定をしたりできる。
【００６２】
図８は、ＰＤＦファイルが含むページの第３階層のＤＰａｒｔへの設定処理の例を説明する図である。この例では、図４のステップＳ５において、図３（Ａ）に示す表紙ＰＤＦファイルの各ページが、どのようにＰＤＦ／ＶＴのＤＰａｒｔ階層構造に設定されるかを説明する。
【００６３】
ページ設定部１６は、図４のステップＳ３において取得した関係情報に基づき、例えば図３（Ａ）の表紙ＰＤＦファイルの１ページ目（９０１）が１レコード目、２ページ目（９０２）が２レコード目、３ページ目（９０３）が３レコード目であることを認識する。
【００６４】
ページ設定部１６は、図４のステップＳ５において、１ページ目（９０１）を、ＰＤＦ／ＶＴの１レコード目に対応するＤＰａｒｔ（９０４）の子要素であり、かつ、当該ＤＰａｒｔ（９０４）にリンクするＤＰａｒｔ（９０５）の子要素に設定する。また、ページ設定部１６は、２ページ目（９０２）を、ＰＤＦ／ＶＴの２レコード目に対応するＤＰａｒｔ（９０６）の子要素であり、かつ、当該ＤＰａｒｔ（９０６）にリンクするＤＰａｒｔ（９０７）の子要素に設定する。また、ページ設定部１６は、３ページ目（９０３）を、ＰＤＦ／ＶＴの３レコード目に対応するＤＰａｒｔ（９０８）の子要素であり、かつ、当該ＤＰａｒｔ（９０８）にリンクするＤＰａｒｔ（９０９）の子要素に設定する。
【００６５】
ここで、図４のステップＳ３において入力された印刷設定ファイルが示す印刷設定が、印刷用紙に光沢紙を使う印刷設定であるものとする。ページ設定部１６は、ＩＤ＝“表紙”のメタデータを持つＤＰａｒｔの配下にあるページは、印刷用紙に光沢紙を使うことを示す印刷設定を印刷設定ファイル９１２に追記する。
【００６６】
図４に戻って、出力部１７は、追加の入力ＰＤＦ情報があるかをユーザに問い合わせる（ステップＳ６）。具体的には、情報処理装置が、追加入力データ確認画面を表示し、出力部１７が、追加入力データ確認画面上でのユーザの操作に応じて、追加の入力ＰＤＦ情報があるかを判断する。
【００６７】
図５（Ｃ）は、追加入力データ確認画面の例を示す。追加入力データ確認画面は、情報処理装置が表示するユーザインタフェースの一例である。追加入力データ確認画面上で、ユーザが「はい」ボタン５０７を押し下げると、出力部１７が、追加の入力ＰＤＦ情報があると判断する。そして、処理がステップＳ３に戻り、入力部１３が、追加の入力ＰＤＦ情報を受け付ける。
【００６８】
ユーザが、「いいえ」ボタン５０８を押し下げると、出力部１７が、追加の入力ＰＤＦ情報がないと判断する。そして、出力部１７が、現在のＰＤＦ／ＶＴと印刷設定ファイル（ＪＤＦ）とを出力し、処理を終了する。
【００６９】
図９は、入力ＰＤＦファイル群の処理の完了時のＰＤＦ／ＶＴと印刷設定ファイルの例を示す図である。図３（Ａ）乃至（Ｃ）に示す全ての入力ＰＤＦファイル群の処理が終了すると、出力部１７が、図９に示すＰＤＦ／ＶＴと印刷設定ファイルとを出力する。
【００７０】
ここで、公知技術として、特許文献３が開示する方法のように、入力ＰＤＬデータを解析することによって、レコード数を推定する技術がある。そこで、本実施形態の情報処理装置が、図４のステップＳ１において、このような公知技術を用いて、以下の処理を行ってもよい。すなわち、情報処理装置が備えるレコード数取得部１１が、レコード数を規定するＰＤＦファイルの指定を受け付ける。そして、レコード数取得部１１が、上記公知技術を用いてレコード数を推定し、推定されたレコード数をユーザからの入力の代替とする。
【００７１】
指定されるＰＤＦファイルが変換対象のＰＤＦファイルである場合には、図４のステップＳ１の処理を省略することも可能である。その場合には、レコード数取得部１１は、１回目のステップＳ３で入力された１つ目のＰＤＦファイルを解析することによってレコード数を推定する。また、ステップＳ２によるＰＤＦ／ＶＴのテンプレートの作成は、１回目のステップＳ３において実行される。
【００７２】
情報処理装置が表示するユーザインタフェースは、ユーザとの対話型の処理をするためのユーザインタフェースに限定されない。商業印刷の現場では、そのワークフローにおいて、可能な限りユーザによるオペレーションの必要がないバッチ処理が行えることが求められる。従って、情報処理装置が、図１０に示すようなコマンドラインのユーザインタフェース（Character User Interface：ＣＵＩ）を表示するようにしてもよい。
【００７３】
図１０は、ＰＤＦファイル群からＰＤＦ／ＶＴへの変換処理に用いるＣＵＩの例を示す図である。図１０に示すＣＵＩは、レコード数が「３」、入力ＰＤＦファイルとして「表紙．ｐｄｆ」と「１章．ｐｄｆ」と「２章．ｐｄｆ」を指定している。また、このＣＵＩは、入力印刷設定ファイルとして「表紙設定．ｊｄｆ」と「１章設定．ｊｄｆ」と「２章設定．ｊｄｆ」を指定している。また、このＣＵＩは、ＰＤＦ内の各ページとレコードの関係として「ページ数均等Ａ」を指定している。図１０に示すＣＵＩは、ユーザが指定すえる全ての入力を一度に受け付けることができるので、バッチ処理に有効である。
【００７４】
図１１は、図７に示すＰＤＦ／ＶＴのデータ構造の一例を示す図である。図１２は、図８に示すＰＤＦ／ＶＴのデータ構造の一例を示す図である。また、図１３は、図９に示すＰＤＦ／ＶＴのデータ構造の一例を示す図である。
【００７５】
図１１に示すＤＰａｒｔＲｏｏｔデータ構造１２０１は、ＰＤＦ／ＶＴのＤＰａｒｔＲｏｏｔである。ＤＰａｒｔＲｏｏｔデータ構造１２０１は、ＲｅｃｏｒｄＬｅｖｅｌの値と、第１階層目のＤＰａｒｔを表すＤＰａｒｔデータ構造への参照を保持する。また、ＤＰａｒｔデータ構造１２０２は、ＰＤＦ／ＶＴの一つのＤＰａｒｔを示す。ＤＰａｒｔデータ構造１２０２は、同じ階層の次のＤＰａｒｔを示すデータ構造と、ＤＰＭを示すデータ構造と、次の階層の先頭のＤＰａｒｔを示すデータ構造への参照を保持する。同じ階層にある複数のＤＰａｒｔや、ＤＰａｒｔの階層構造が、リスト構造によって実現されている。
【００７６】
また、ＤＰＭデータ構造１２０３は、ＰＤＦ／ＶＴの一つのＤＰＭを示す。ＤＰＭデータ構造１２０３は、ＤＰＭを参照しているＤＰａｒｔが持つメタデータのＫｅｙとＶａｌｕｅの値と、別のＤＰＭへの参照を保持する。ＤＰａｒｔに付加できる複数のＤＰＭが、リスト構造によって実現されている。
【００７７】
また、図１２に示すＰａｇｅデータ構造１３０１は、ＰＤＦ／ＶＴの一つのページを示す。ページの実体は入力ＰＤＦファイルの中にあるので、Ｐａｇｅデータ構造１３０１は、その入力ＰＤＦファイルのファイル名とページ番号とを保持する。これらのデータ構造（１２０１、１２０２、１２０３、１３０１）を組み合わせることで、情報処理装置は、最終的に図１３に示すＰＤＦ／ＶＴのデータを生成して出力することができる。
【００７８】
以上説明した情報処理装置１によれば、ＰＤＬデータを階層構造を有するＰＤＬデータに変換し、その変換出力されるＰＤＬデータの階層構造によって入力ＰＤＬデータのページ構造が正しく表現されるようにすることができる。例えば、情報処理装置１がＰＤＦデータを変換出力したＰＤＦ／ＶＴデータを用いれば、ＰＤＦデータのままでは困難であった柔軟な印刷設定ができるようになる。具体的には、ＰＤＦ文書の各章の先頭ページだけを印刷する印刷設定を実行したり、複数のＰＤＦファイルに分かれている意味上まとまりのあるページ群をまとめて印刷する印刷設定を実行したりすることができるようになる。また、情報処理装置１によれば、複数のＰＤＦファイルとなっていた印刷データを一つのＰＤＦ／ＶＴとすることができるため、ユーザの印刷データ管理が容易になる。
【００７９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００８０】
１１  レコード数取得部
１２  テンプレート作成部
１３  入力部
１４  関係情報取得部
１５  ノード追加部
１６  ページ設定部
１７  出力部
【図１】
0005804758.tif 000002
【図２】
0005804758.tif 000003
【図３】
0005804758.tif 000004
【図４】
0005804758.tif 000005
【図５】
0005804758.tif 000006
【図６】
0005804758.tif 000007
【図７】
0005804758.tif 000008
【図８】
0005804758.tif 000009
【図９】
0005804758.tif 000010
【図１０】
0005804758.tif 000011
【図１１】
0005804758.tif 000012
【図１２】
0005804758.tif 000013
【図１３】
0005804758.tif 000014