説明

情報処理装置、PDLデータ変換方法およびコンピュータプログラム

【課題】PDLデータを階層構造を有するPDLデータに変換する装置であって、入力PDLデータのページ構造が出力PDLデータの階層構造によって正しく表現されるようにする情報処理装置を提供する。
【解決手段】PDLデータを階層構造を有するPDLデータに変換する情報処理装置1を設ける。情報処理装置1が、PDLデータのレコード数を取得し、レコード数に基づき、レコードと一対一に対応するレコード階層のノードをレコード数分含むテンプレートを作成する。情報処理装置1が、PDLデータを入力し、PDLデータが含むページとレコードとの関係を示す関係情報を取得する。情報処理装置1が、テンプレートが含むレコード階層のノードとリンクする上記レコード階層の下位階層のノードを追加し、下位階層のノードに対して、PDLデータの属性情報を設定する。情報処理装置が、関係情報に基づいて、PDLデータが含む各々のページを、下位階層のノードに対応付けて設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、PDLデータ変換方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
電子写真方式やインクジェット方式のデジタルプリンタの高速化・高画質化に伴い、プリント・オン・デマンド(Print On Demand :POD)市場が拡大している。PODは、デジタルプリンタを使って電子データのプリントを行うサービスである。PODによれば、オフセット印刷を行う場合に比べて、比較的小ロットの印刷ジョブを短納期で行うことができる。
【0003】
PODでは、電子データを用いる特性を生かして、バリアブルデータ印刷(Variable Data Printing:VDP)という印刷方法が行われている。一つのVDPに必要なページレイアウトやデータソースなどの論理的な情報の集まりをVDP文書という。VDP文書は、固定部分と可変部分とに分けられる。VDPの文書を印刷処理する情報処理装置は、可変部分のデータを、RDB(Relational Database )やCSV(Comma Separated Values)ファイルなどのデータソースから取得する。情報処理装置は、データソースの桁(フィールド)をテンプレート文書の可変部分と関連付け、データソースの行(レコード)ごとに適用することで、少しずつ異なる内容の印刷を行う。
【0004】
VDPの適用により、情報処理装置は、例えば、顧客情報に応じて提供する商品情報を変えるダイレクトメールなどを作成することができる。顧客情報に応じて提供する商品情報が変化する印刷を行うことにより、通常の印刷に比べて、宣伝効果が高い印刷をすることができる。
【0005】
ここで、VDP文書が物理的な電子データ形式となったものを、VDPデータという。また、VDPデータを作成するアプリケーションやシステムを、VDPデータ生成系という。また、VDPデータを解釈処理してデジタル印刷機で出力を行うアプリケーションやシステムをVDPデータ処理系という。
【0006】
VDPデータとしては、任意のページ記述言語(Page Description Language :PDL)で記述された電子データを採用することができる。しかし、VDP専用のPDL(以下、VDP言語と記述)で記述されたVDPデータが、処理の効率の点で優れている。VDP言語は、VDP文書の固定部分のオブジェクト(以下、固定オブジェクトと記述する)を予め定義しておき、その固定オブジェクトを後から参照することを示す記述が可能だからである。VDP言語をVDPデータ処理系で印刷処理する場合、VDPデータ処理系は、個々の固定オブジェクトの解釈処理結果を保持しておき、当該固定オブジェクトが参照される度に解釈処理結果をコピーする。これにより、VDPデータ全体の処理が速くなる。
【0007】
また、VDP言語のうち、例えばPPML(Personalized Print Markup Language)は、文書の構造を階層を用いて表現することが可能である。この文書の構造は、文書内のページの意味的なまとまりを示したものである。例えば、文書の構造は、VDPにおける1つのレコードや、その中の表紙や本文、本文の中の章構成などを意味的なまとまりとして有する。
【0008】
PDLが文書の構造を表現できることは、画像形成処理を行う情報処理装置のユーザが印刷の設定をする上で有効である。印刷の設定には、一般的にJDF(Job Definition Format )が使われることが多い。
【0009】
ここで、文書の構造を表現できないPDLにおいてユーザが印刷の制御を行う場合を想定する。印刷の設定にJDFを用いるとすると、ユーザは、個々のページやページのグループに対して印刷設定を行う。例えば、複数の章からなる文書について、ユーザが「2章」に対して印刷設定を行いたい場合は、「2章」がどのページからどのページまでなのかを知った上で印刷設定を行わなければならない。
【0010】
一方、文書の構造を表現できるPDLにおいてユーザが印刷の制御を行う場合を想定する。印刷設定にJDFを用いるとすると、ユーザは、文書の構造を利用して、意味的なまとまりに対して印刷設定を行うことができる。例えば、ユーザは、複数の章からなる文書について、「2章」と意味付けされたページだけを印刷したり、「表紙」と意味付けされたページだけに上質紙を使って他は普通紙を使う、といった印刷設定をすることが可能となる。
【0011】
また、JDFを用いた印刷設定方法は、別の印刷設定で再印刷を行う場合であっても、新たなJDFを作成する手間が少ない。すなわち、JDFを用いた印刷設定方法は、印刷設定を行うユーザが、どのページがどの章なのかといったことをいちいち調べる必要がないため、印刷設定を行うユーザにとって非常に便利である。つまり、文書の構造を表現できるPDLは、文書の構造を表現できないPDLよりも上位の概念で印刷設定が可能なので、ユーザにとって便利である。
【0012】
PODのワークフローでは、印刷用データとして、PDF(Portable Document Format)を使うことが一般的である。従って、VDPにおいてもPDFが使われる場合が多い。また、PDFに対して様々な制限を持たせることで、データ交換や印刷を容易にするPDF/Xと呼ばれるフォーマットが存在する。PDF/Xも、印刷用データとして広く使われている。しかし、PDFやPDF/Xは、VDP言語ではないため、高速な印刷処理や、上位概念を用いた印刷設定が不可能であった。
【0013】
そこで、国際標準化機構(International Organization for Standard:ISO)は、2010年に、PDF/Xをベースとして、VDPの機能を追加したPDLであるPDF/VTを策定した。
【0014】
PDF/VTでは、描画オブジェクトの定義を文書内で複数回参照できるようにすることで、印刷処理系における処理の効率化が行える。また、PDF/VTは、DPart(Document Part )階層構造と呼ばれるページオブジェクトの構造化機能と、DPM(DPart Metadata)と呼ばれるメタデータ設定機能を持っている。DPMには、任意のキーと値の組を設定することが可能である。DPMにキーと値の組を設定することにより、DPartに対する意味付けをすることができる。これによって、ユーザが、個々のページではなく、DPMに設定されたメタデータを条件にしてDPartに対して印刷設定することが可能である。
【0015】
印刷データや紙文書に対して、既存のPDFの機能を用いて、文書に意味付けを行う従来技術が提案されている。例えば、特許文献1は、印刷用データをPDFに変換する際に、印刷用データを構成する画像、図形、テキスト等の構成要素毎に付加する付加情報を設定する方法を開示する。また、特許文献2は、読み込んだ原稿画像にユーザの希望通りの章分け箇所を設定し、章分け箇所にリンク情報を付加した原稿の電子文書の保存を行う画像形成装置を開示する。なお、特許文献3は、複数レコードに基づいて生成された印刷ジョブを解析してレコードの教会を検出する情報処理装置を開示している。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開2004−289357号公報
【特許文献2】特開2010−109420号公報
【特許文献3】特開2008−269261号公報
【発明の概要】
【発明が解決しようとする課題】
【0017】
印刷データや紙文書に対して、既存のPDFの機能を用いて、文書に意味付けを行う従来技術は、「しおり」や「注釈」等、既存のPDFの機能を用いて、文書内のある位置をマークしたり、オブジェクトに対して意味付けをしたりするに過ぎない。「しおり」は、PDF文書のページ範囲を示すものではなく、PDF文書内の任意の位置を示すものである。また、「注釈」は、主に本文に対するコメント等を付加するものであり、ページを構造化するためのものではない。すなわち、従来技術は、ページの構造化を行うことはできず、当該従来技術によって意味付けされた情報を使って、ユーザが印刷設定を行うことはできない。
【0018】
既に広く普及しているPDFやPDF/Xによる印刷ワークフローを流用しつつ、より柔軟な印刷設定を行えるようにするためには、PDF/VTを印刷データとして用いることが、最も有効な解決手段である。しかし、既にPDFデータとなっているものについては、柔軟な印刷設定を行うことはできない。
【0019】
実際のPODの現場では、印刷オペレータの作業の手間を省くため、印刷ジョブ全体から印刷設定が同じページのみを集めたPDFデータと印刷設定データとを印刷設定毎に作成して、別々に印刷することが行われる。しかし、このような印刷ワークフローでは、オンラインでフィニッシング等を行うことが難しいといった問題がある。そこで、一つの印刷ジョブを表すPDFデータ群またはPDF/Xデータ群を、一つのPDF/VTへ変換することが望まれる。この変換によって生成されるPDF/VTでは、入力されるPDFデータ群またはPDF/Xデータ群のページ構造が、出力となるPDF/VTのDPart階層構造によって正しく表現できていなければならない。
【0020】
従来、PDFデータ群等のPDLデータをPDF/VT等の階層構造を有するPDLデータに変換する装置であって、入力PDLデータのページ構造が出力PDLデータの階層構造によって正しく表現されるようにする情報処理装置は提案されていない。
【0021】
本発明は、PDLデータを階層構造を有するPDLデータに変換する装置であって、入力PDLデータのページ構造が出力PDLデータの階層構造によって正しく表現されるようにする情報処理装置の提供を目的とする。
【課題を解決するための手段】
【0022】
本発明の一実施形態の情報処理装置は、PDLデータを階層構造を有するPDLデータに変換する装置であって、入力されるPDLデータのレコード数を取得するレコード数取得手段と、前記取得されたレコード数に基づいて、レコードと一対一に対応するレコード階層のノードを前記レコード数分含むテンプレートを作成するテンプレート作成手段と、PDLデータを入力する入力手段と、前記入力されたPDLデータが含むページとレコードとの関係を示す関係情報を取得する関係情報取得手段と、前記作成されたテンプレートが含む前記レコード階層のノードとリンクする前記レコード階層の下位階層のノードを追加するノード追加手段と、前記追加された各々の前記レコード階層の下位階層のノードに対して、前記入力されたPDLデータの属性情報を設定する属性情報設定手段と、前記取得された関係情報に基づいて、前記入力されたPDLデータが含む各々のページを、前記レコード階層の下位階層のノードに対応付けて設定するページ設定手段とを備える。
【発明の効果】
【0023】
本発明の情報処理装置によれば、PDLデータを階層構造を有するPDLデータに変換し、その変換出力されるPDLデータの階層構造によって入力PDLデータのページ構造が正しく表現されるようにすることができる。本発明の情報処理装置が、例えばPDFデータをPDF/VTデータに変換すると、このPDF/VTデータを用いて、PDFデータのままでは困難であった柔軟な印刷設定ができるようになる。
【図面の簡単な説明】
【0024】
【図1】本実施形態の情報処理装置の構成例を示す図である。
【図2】情報処理装置に適用するVDPデータを説明する図である。
【図3】VDPデータを印刷する際に生成されるPDFファイル群の例である。
【図4】PDLデータ変換処理例を説明するフローチャートである。
【図5】入力データレコード数設定画面とPDFファイル入力設定画面である。
【図6】PDF/VTのテンプレートと割り当て設定情報の例を示す図である。
【図7】PDF/VTの例を説明する図である。
【図8】PDFファイルが含むページの第3階層のDPartへの設定処理の例を説明する図である。
【図9】入力PDFファイル群の処理の完了時のPDF/VTと印刷設定ファイルの例を示す図である。
【図10】PDFファイル群からPDF/VTへの変換処理に用いるCUIの例を示す図である。
【図11】PDF/VTのデータ構造の一例を示す図(1)である。
【図12】PDF/VTのデータ構造の一例を示す図(2)である。
【図13】PDF/VTのデータ構造の一例を示す図(3)である。
【発明を実施するための形態】
【0025】
図1は、本実施形態の情報処理装置の構成例を示す図である。図1(A)は、情報処理装置1のハードウェア構成を示す。情報処理装置1は、PDLデータを階層構造を有するPDLデータに変換する処理装置である。具体的には、情報処理装置1は、VDPデータを表す複数のPDFデータを、適切なDPart階層構造を持つPDF/VTデータへ変換する。
【0026】
なお、PDF/VTは、PDF/Xをベースとしているので、PDFデータをPDF/VTデータへ変換するためには、PDFデータを一旦PDF/Xデータへ変換する必要がある。しかし、PDFデータからPDF/Xデータへの変換は、公知の技術を用いることで可能である。従って、本実施形態の説明においては、特に言及しない限り、入力データとしてのPDFデータは、PDF/Xデータに変換済みであるものとする。
【0027】
情報処理装置1は、CPU101、RAM102、ネットワークI/F(Interface)103、外部記憶装置104、ディスプレイ105、キーボード106、ポインティングデバイス107を備える。CPUは、Central Processing Unitの略称である。RAMは、Random Access Memoryの略称である。
【0028】
CPU101は、RAM102に格納されている制御プログラムに従って、情報処理装置全体の制御を行う。RAM102は、CPU101が実行するプログラムや、文書画像等のデータを格納する。ネットワークI/F103は、ネットワークと接続する。情報処理装置1は、ネットワークI/F103およびネットワークを介して、外部装置との間でデータを送受信する。外部記憶装置は、情報処理装置1による処理結果、または情報処理装置1への入力情報を記憶する。ディスプレイは、情報処理装置1による処理結果、または情報処理装置1への入力情報を表示する。キーボード、ポインティングデバイス107は、ユーザの操作に応じた情報を情報処理装置1に入力する。
【0029】
RAM102に格納されている制御プログラムは、次のような各動作を行う。制御プログラムは、RAM102に格納されているOS(Operating System)の機能を必要に応じて使用する。制御プログラムは、RAM102に一時記憶する内部データの内容の読み書きを行う。制御プログラムは、ネットワークI/F103を介してデータの送受信を行う。制御プログラムは、外部記憶装置104上でデータの読み書きを行う。制御プログラムは、ディスプレイ105にユーザインタフェースや処理結果等の視覚情報を表示する。また、制御プログラムは、キーボード106やポインティングデバイス107からユーザの入力を受け付ける。以下、本実施形態の情報処理装置1の動作を説明するにあたり、上述した情報処理装置1の個々のデバイスの動作については、必要に応じて省略する。
【0030】
図1(B)は、情報処理装置の機能ブロック図の例である。情報処理装置1は、レコード数取得部11、テンプレート作成部12、入力部13、関係情報取得部14、ノード追加部15、ページ設定部16、出力部17を備える。本実施形態のPDLデータ変換方法およびコンピュータプログラムは、図1(B)に示す情報処理装置1が備える各処理部の機能によって実現される。
【0031】
レコード数取得部11は、情報処理装置1に入力されるPDLデータのレコード数を取得する。レコード数取得部11は、例えばPDFデータ(ファイル)のレコード数を、図5(A)に示す入力データレコード数設定画面上でのユーザの操作に従って取得する。
【0032】
テンプレート作成部12は、テンプレート(例えば、PDF/VTのテンプレート)を作成する。テンプレート作成部12は、レコード数取得部11が取得したレコード数に基づいて、変換後のPDLデータ(例えば、PDF/VTデータ)が有する階層構造の第2階層のノードを上記レコード数分含むテンプレートを作成する。この第2階層は、レコード階層である。当該レコード階層のノードは、レコードと一対一に対応するノードである。
【0033】
入力部13は、PDLデータを入力する。入力部13が、上記入力されたPDLデータの印刷設定ファイルを入力するようにしてもよい。入力部13は、例えば、図5(B)に示すPDFファイル入力設定画面上でのユーザの操作に従って、PDFデータと、印刷設定ファイルとを入力する。
【0034】
関係情報取得部14は、入力されたPDLデータが含むページとレコードとの関係を示す関係情報を取得する。関係情報取得部14は、例えば、図5(B)に示すPDFファイル入力設定画面上でのユーザの操作に従って、関係情報を取得する。
【0035】
ノード追加部15は、作成されたテンプレートが含む第2階層目のノード(レコード階層のノード)とリンクする第3階層目のノードを追加する。第3階層は、レコード階層の下位階層である。ノード追加部15は、追加された各々の第3階層目のノードに対して、入力されたPDLデータの属性情報を設定する属性情報設定手段として機能する。
【0036】
ページ設定部16は、関係情報に基づいて、入力されたPDLデータが含む各々のページを、第3階層目のノードに対応付けて設定する。また、ページ設定部16は、入力部13が印刷設定ファイルを入力した場合に、入力された印刷設定ファイルが示す印刷設定を、第3階層目のノードに対応付けて設定された各々のページの印刷設定として設定する。ページ設定部16が実行する上記処理によって、階層構造を有するPDLデータが生成される。出力部17は、ページ設定部16によって生成された階層構造を有するPDLデータを出力する。また、出力部17は、ページ設定部16が設定した印刷設定内容を出力する。
【0037】
図2は、情報処理装置に適用するVDPデータを説明する図である。図2に示すVDPデータは、表紙が1ページ、1章が3ページ、2章が2ページといった文書構成を有する。図2に示す例では、VDPデータは3つのレコード(レコードA乃至C)を含む。レコード毎に印刷内容が異なる。また、表紙については光沢紙、1章については普通紙、2章についてはコート紙という印刷設定がなされている。
【0038】
図3は、図2に示すVDPデータを印刷する際に生成されるPDFファイル群の例である。印刷用のPDFファイルは、図3(A)に示す表紙PDFファイル、図3(B)に示す1章PDFファイル、および図3(C)に示す2章PDFファイルを含む。表紙PDFファイルは、レコードA、B、Cの各々の表紙のページのみを含む。1章PDFファイルは、レコードA、B、Cの各々の1章のページのみを含む。2章PDFファイルは、レコードA、B、Cの各々の2章のページのみを含む。
【0039】
表紙PDFファイルが含むページは、各レコードが1ページなので、全部で3ページである。表紙PDFファイルには、表紙用印刷設定ファイルが示す印刷設定が関連付けられている。表紙用印刷設定ファイルが示す印刷設定は、印刷用紙が光沢紙の指定である。
【0040】
1章PDFファイルが含むページは、各レコードが3ページなので、全部で9ページである。1章PDFファイルには、1章用印刷設定ファイルが示す印刷設定が関連付けられている。1章用印刷設定ファイルが示す印刷設定は、印刷用紙が普通紙の指定である。2章PDFファイルが含むページは、各レコードが2ページなので、全部で6ページである。2章PDFファイルには、2章用印刷設定ファイルが示す印刷設定が関連付けられている。2章用印刷設定ファイルが示す印刷設定は、印刷用紙がコート紙の指定である。情報処理装置1は、図3を参照して説明したようなPDFファイル群が既に存在している場合に、入力されたPDFファイル群をPDF/VTへ変換する。
【0041】
図4は、情報処理装置によるPDLデータ変換処理例を説明するフローチャートである。この例では、情報処理装置1が、PDFファイル群をPDF/VTへ変換する。まず、レコード数取得部11が、情報処理装置1に入力されるPDFデータのレコード数を、図5(A)に示す入力データレコード数設定画面上でのユーザの操作に従って取得する(ステップS1)。
【0042】
図5(A)は、入力データレコード数設定画面の例を示す。入力データレコード数設定画面は、データのレコード数を設定するための画面である。入力データレコード数設定画面は、情報処理装置が表示するユーザインタフェースの一例である。例えば、図3のPDFファイル群が入力データである場合、レコード数は3である。ユーザが、入力データレコード数設定画面の設定欄501に「3」を入力して「次へ」ボタン502を押し下げすると、レコード数取得部11が、レコード数として3を取得する。
【0043】
次に、テンプレート作成部12が、PDF/VTのテンプレートを作成する(ステップS2)。作成されるPDF/VTのテンプレートは、2階層のDPart階層構造を持つ。このテンプレートにおいて、第2階層目の階層はレコード階層である。DPartは、階層が含むノードである。第2階層目のDPartは、ステップS1において取得されたレコード数と同じ数である。この例では、ステップS1において取得されたレコード数は3であるので、第2階層目のDPartの数は3つである。また、ステップS2においては、テンプレート作成部12は、PDF/VTに関連付けられる印刷設定のテンプレートも生成する。
【0044】
生成される印刷設定のテンプレートは、後のステップで印刷設定を追記するためのテンプレートであり、生成された時点では設定情報は空である。この例では、印刷設定のテンプレートとしてJDFを採用する。
【0045】
図6(A)は、PDF/VTのテンプレートの例を説明する図である。第2階層目のDPartは、それぞれ、レコードA、レコードB、レコードCに対応している。PDF/VTは、その仕様により、第1階層目のDPartは1つである。また、第1階層目のDPartの親要素は、DPartRootと呼ばれる要素である。DPartRootには、RecordLevelと呼ばれるパラメータを設定することができる。RecordLevelを用いて、PDF/VTのどのDPart階層がレコード階層に対応するかを記録することができる。図6(A)中の912は、PDF/VTに関連付けられる印刷設定のテンプレート(印刷設定ファイル)である。
【0046】
以下に、レコード階層について説明する。VDP文書は、文書テンプレートにデータソースの各行(レコード)を適用して作られる。したがって、VDP文書は、一般的に、1つのレコードを適用することによって生成されるページ群が、データソースの行数だけ繰り返される構造を有している。レコード階層とは、この繰り返しを表すDPart階層のことである。レコード階層にあるDPartの数が、データソースの行数(レコード数)に相当する。
【0047】
図4のステップS2において、テンプレート作成部12が、第2階層目のDPartが、ステップS1で取得したレコード数と同じ数であるPDF/VTのテンプレートを作成するのは、作成するPDF/VTの第2階層をレコード階層とするためである。RecordLevelの値については、「0」が第1階層目のDPart階層に対応し、階層が1つ深くなる毎にRecordLevelの値は1増加する。第2階層目をレコード階層とするために、テンプレート作成部12は、RecordLevelに「1」を設定する。これにより、PDF/VTが有する階層構造における第2階層のDPartを、レコードに一対一に対応するレコード階層のノードとすることができる。
【0048】
図4のステップS3において、図5(B)に示すPDFファイル入力設定画面上でのユーザの操作に従って、入力部13が、PDFファイルと印刷設定ファイルとを入力する。この例では、入力部は、図3(A)に示す表紙PDFファイルと表紙用印刷設定ファイルとを入力する。また、PDFファイル入力設定画面上でのユーザの操作に従って、関係情報取得部14が、関係情報を取得する(ステップS3)。取得される関係情報は、入力されるPDFファイルが含むページとレコードとの関係を示す。以下では、PDFファイルと印刷設定ファイルと関係情報とのセットを、入力PDF情報とも記述する。
【0049】
図5(B)は、PDFファイル入力設定画面の例を示す。PDFファイル入力設定画面は、情報処理装置が表示するユーザインタフェースの一例である。設定欄503は、ユーザが、入力対象のPDFファイルを設定する欄である。この例では、設定欄503に表紙PDFファイルのファイル名が設定される。設定欄504は、ユーザが、入力対象の印刷設定ファイルを設定する欄である。この例では、設定欄504に表紙用印刷設定ファイルのファイル名が設定される。なお、設定欄504へファイル名の設定は任意である。
【0050】
設定欄504は、ユーザが、関係情報を設定する欄である。ユーザは、設定欄504に、ページとレコードとの関係として、「ページ数均等A」、「ページ数均等B」、「個別関連付け」のうち、いずれか1つを選択して設定する。この例では、ユーザは、「ページ数均等A」を選択する。ユーザが「次へ」ボタン506を押し下げると、入力部13が、設定欄503に設定されたPDFファイルと、設定欄504に設定された印刷設定ファイルとを入力する。また、関係情報取得部14が、設定欄505に設定されたページとレコードとの関係を示す関係情報を取得する。
【0051】
選択対象となるページとレコードとの関係のそれぞれについて以下に説明する。図4のステップS1において取得されたレコード数をR、ステップS3において入力されたPDFファイルが含むページのページ数をPとする。
【0052】
「ページ数均等A」は、このPDFファイルの先頭ページからP/Rページずつ順次、レコードに関連付けられることを示す。例えば、入力されたPDFファイルが、図3(C)に示す2章PDFファイルである場合、レコード数が3、ページ数が6である。従って、「ページ数均等A」が設定された場合、6/3=2ページずつ順に先頭レコードからレコードに関連付けられる。その結果、1、2ページが、1レコード目に関連付けられる。また、3、4ページが2レコード目に関連付けられる。また、5、6ページが、3レコード目に関連付けられる。
【0053】
また、レコード数をR、A÷Bの余りをMOD(A,B)とすると「ページ数均等B」は、入力されたPDFファイルのPページ目をMOD(P,R)レコード目に関連付ける。ただし、MOD(P,R)が0である場合は、Rレコード目に関連付ける。例えば、入力されたPDFファイルが、図3(C)に示す2章PDFファイルである場合、レコード数が3である。従って、「ページ数均等B」が設定された場合、各々のページは、MOD(ページ番号,3)レコード目に関連付けられる。その結果、1、4ページが、1レコード目に関連付けられる。また、2、5ページが、2レコード目に関連付けられる。また、3、6ページが、3レコード目に関連付けられる。
【0054】
「個別関連付け」は、各々のページが、割り当て設定情報において対応付けられているレコードに関連付けられることを示す。割り当て設定情報は、ページとレコードとの対応情報である。割り当て設定情報は、予め所定の記憶手段に記憶されている。
【0055】
図6(B)は、割り当て設定情報の例を示す図である。図6(B)に示す割り当て設定情報は、レコード数分のエントリを有する。一つのエントリに一つのレコードに対するページ番号が、カンマ区切りで記述されている。例えば、入力されたPDFファイルが、図3(B)に示す1章PDFファイルである場合に、「個別関連付け」が設定されたとき、割り当て設定情報に従って、1、2、4ページが1レコード目に関連付けられる。また、3、7、8ページが2レコード目に関連付けられる。また、5、6、9ページが3レコード目に関連付けられる。
【0056】
図4に戻って、ノード追加部15が、ステップS2において作成したPDF/VTのテンプレートに対して、当該テンプレートが含む第2階層のDPartとリンクする第3階層のDPartを追加する(ステップS4)。ステップS4においては、ノード追加部15は、さらに、各々の第3階層のDPartのDPMに、入力されたPDFファイルの属性情報(メタデータ)を設定する。
【0057】
図7は、図4のステップ4の処理後のPDF/VTの例を説明する図である。この例では、第3階層のDPartのDPM911に、キー(Key)が「ID」、値(Value)が「表紙」であるメタデータが設定されている。
【0058】
図4に戻って、ページ設定部16は、関係情報に基づいて、入力されたPDFファイルが含む各々のページを、第3階層のDPartの子要素となるように、第3階層のDPartに対応付けて設定する(ステップS5)。ページ設定部16は、各々のページと第3階層のDPartの関係が、関係情報が示すページとレコードの関係と同じ関係になるように、ページの設定を行う。ページ設定部16は、さらに、ステップS2において生成された印刷設定のテンプレート(JDF)に、ステップS3において入力された印刷設定ファイルが示す印刷設定を、第3階層のDPartに対応付けて設定された各々のページの印刷設定として設定する。
【0059】
以下に、JDFについて説明する。JDFは、印刷設定ファイルとして、例えばPODで用いられるフォーマットである。JDFもPDF/VTと同様に階層構造を持っている。JDFが有する階層のうち、set階層と呼ばれる階層は、印刷設定の繰り返しの単位に相当する階層である。ページ設定部16は、JDFのset階層と、PDF/VTのレコード階層とを関連付け、さらに、set階層に各レコードに適用したい印刷設定を記述することで、PDF/VTのレコード階層(第2階層)にある各DPartに対して印刷設定を行う。これにより、各々の第2階層のDPartとリンクする第3階層のDPartに対応付けられて設定されたページに対して、当該印刷設定がなされる。
【0060】
JDFのset階層と、PDF/VTのレコード階層との関連付けは、ページ設定部16が、DPartRootのRecordLevelパラメータの値を解釈することで行う。本実施形態では、出力されるPDF/VTのRecordLevelの値は「1」である。従って、ページ設定部16は、PDF/VTの第2階層のDPartとJDFのset階層とを関連付ける。
【0061】
また、ページ設定部16がJDFに記述する印刷設定は、PDF/VTに設定されているメタデータの値に応じて条件分岐させることができる。例えば、キー「ID」のメタデータの値が「表紙」である場合は出力用紙を光沢紙にするという設定をしたり、メタデータの値が「1章」である場合は出力用紙を普通紙にするという設定をしたりできる。
【0062】
図8は、PDFファイルが含むページの第3階層のDPartへの設定処理の例を説明する図である。この例では、図4のステップS5において、図3(A)に示す表紙PDFファイルの各ページが、どのようにPDF/VTのDPart階層構造に設定されるかを説明する。
【0063】
ページ設定部16は、図4のステップS3において取得した関係情報に基づき、例えば図3(A)の表紙PDFファイルの1ページ目(901)が1レコード目、2ページ目(902)が2レコード目、3ページ目(903)が3レコード目であることを認識する。
【0064】
ページ設定部16は、図4のステップS5において、1ページ目(901)を、PDF/VTの1レコード目に対応するDPart(904)の子要素であり、かつ、当該DPart(904)にリンクするDPart(905)の子要素に設定する。また、ページ設定部16は、2ページ目(902)を、PDF/VTの2レコード目に対応するDPart(906)の子要素であり、かつ、当該DPart(906)にリンクするDPart(907)の子要素に設定する。また、ページ設定部16は、3ページ目(903)を、PDF/VTの3レコード目に対応するDPart(908)の子要素であり、かつ、当該DPart(908)にリンクするDPart(909)の子要素に設定する。
【0065】
ここで、図4のステップS3において入力された印刷設定ファイルが示す印刷設定が、印刷用紙に光沢紙を使う印刷設定であるものとする。ページ設定部16は、ID=“表紙”のメタデータを持つDPartの配下にあるページは、印刷用紙に光沢紙を使うことを示す印刷設定を印刷設定ファイル912に追記する。
【0066】
図4に戻って、出力部17は、追加の入力PDF情報があるかをユーザに問い合わせる(ステップS6)。具体的には、情報処理装置が、追加入力データ確認画面を表示し、出力部17が、追加入力データ確認画面上でのユーザの操作に応じて、追加の入力PDF情報があるかを判断する。
【0067】
図5(C)は、追加入力データ確認画面の例を示す。追加入力データ確認画面は、情報処理装置が表示するユーザインタフェースの一例である。追加入力データ確認画面上で、ユーザが「はい」ボタン507を押し下げると、出力部17が、追加の入力PDF情報があると判断する。そして、処理がステップS3に戻り、入力部13が、追加の入力PDF情報を受け付ける。
【0068】
ユーザが、「いいえ」ボタン508を押し下げると、出力部17が、追加の入力PDF情報がないと判断する。そして、出力部17が、現在のPDF/VTと印刷設定ファイル(JDF)とを出力し、処理を終了する。
【0069】
図9は、入力PDFファイル群の処理の完了時のPDF/VTと印刷設定ファイルの例を示す図である。図3(A)乃至(C)に示す全ての入力PDFファイル群の処理が終了すると、出力部17が、図9に示すPDF/VTと印刷設定ファイルとを出力する。
【0070】
ここで、公知技術として、特許文献3が開示する方法のように、入力PDLデータを解析することによって、レコード数を推定する技術がある。そこで、本実施形態の情報処理装置が、図4のステップS1において、このような公知技術を用いて、以下の処理を行ってもよい。すなわち、情報処理装置が備えるレコード数取得部11が、レコード数を規定するPDFファイルの指定を受け付ける。そして、レコード数取得部11が、上記公知技術を用いてレコード数を推定し、推定されたレコード数をユーザからの入力の代替とする。
【0071】
指定されるPDFファイルが変換対象のPDFファイルである場合には、図4のステップS1の処理を省略することも可能である。その場合には、レコード数取得部11は、1回目のステップS3で入力された1つ目のPDFファイルを解析することによってレコード数を推定する。また、ステップS2によるPDF/VTのテンプレートの作成は、1回目のステップS3において実行される。
【0072】
情報処理装置が表示するユーザインタフェースは、ユーザとの対話型の処理をするためのユーザインタフェースに限定されない。商業印刷の現場では、そのワークフローにおいて、可能な限りユーザによるオペレーションの必要がないバッチ処理が行えることが求められる。従って、情報処理装置が、図10に示すようなコマンドラインのユーザインタフェース(Character User Interface:CUI)を表示するようにしてもよい。
【0073】
図10は、PDFファイル群からPDF/VTへの変換処理に用いるCUIの例を示す図である。図10に示すCUIは、レコード数が「3」、入力PDFファイルとして「表紙.pdf」と「1章.pdf」と「2章.pdf」を指定している。また、このCUIは、入力印刷設定ファイルとして「表紙設定.jdf」と「1章設定.jdf」と「2章設定.jdf」を指定している。また、このCUIは、PDF内の各ページとレコードの関係として「ページ数均等A」を指定している。図10に示すCUIは、ユーザが指定すえる全ての入力を一度に受け付けることができるので、バッチ処理に有効である。
【0074】
図11は、図7に示すPDF/VTのデータ構造の一例を示す図である。図12は、図8に示すPDF/VTのデータ構造の一例を示す図である。また、図13は、図9に示すPDF/VTのデータ構造の一例を示す図である。
【0075】
図11に示すDPartRootデータ構造1201は、PDF/VTのDPartRootである。DPartRootデータ構造1201は、RecordLevelの値と、第1階層目のDPartを表すDPartデータ構造への参照を保持する。また、DPartデータ構造1202は、PDF/VTの一つのDPartを示す。DPartデータ構造1202は、同じ階層の次のDPartを示すデータ構造と、DPMを示すデータ構造と、次の階層の先頭のDPartを示すデータ構造への参照を保持する。同じ階層にある複数のDPartや、DPartの階層構造が、リスト構造によって実現されている。
【0076】
また、DPMデータ構造1203は、PDF/VTの一つのDPMを示す。DPMデータ構造1203は、DPMを参照しているDPartが持つメタデータのKeyとValueの値と、別のDPMへの参照を保持する。DPartに付加できる複数のDPMが、リスト構造によって実現されている。
【0077】
また、図12に示すPageデータ構造1301は、PDF/VTの一つのページを示す。ページの実体は入力PDFファイルの中にあるので、Pageデータ構造1301は、その入力PDFファイルのファイル名とページ番号とを保持する。これらのデータ構造(1201、1202、1203、1301)を組み合わせることで、情報処理装置は、最終的に図13に示すPDF/VTのデータを生成して出力することができる。
【0078】
以上説明した情報処理装置1によれば、PDLデータを階層構造を有するPDLデータに変換し、その変換出力されるPDLデータの階層構造によって入力PDLデータのページ構造が正しく表現されるようにすることができる。例えば、情報処理装置1がPDFデータを変換出力したPDF/VTデータを用いれば、PDFデータのままでは困難であった柔軟な印刷設定ができるようになる。具体的には、PDF文書の各章の先頭ページだけを印刷する印刷設定を実行したり、複数のPDFファイルに分かれている意味上まとまりのあるページ群をまとめて印刷する印刷設定を実行したりすることができるようになる。また、情報処理装置1によれば、複数のPDFファイルとなっていた印刷データを一つのPDF/VTとすることができるため、ユーザの印刷データ管理が容易になる。
【0079】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0080】
11 レコード数取得部
12 テンプレート作成部
13 入力部
14 関係情報取得部
15 ノード追加部
16 ページ設定部
17 出力部

【特許請求の範囲】
【請求項1】
PDLデータを階層構造を有するPDLデータに変換する装置であって、
入力されるPDLデータのレコード数を取得するレコード数取得手段と、
前記取得されたレコード数に基づいて、レコードと一対一に対応するレコード階層のノードを前記レコード数分含むテンプレートを作成するテンプレート作成手段と、
PDLデータを入力する入力手段と、
前記入力されたPDLデータが含むページとレコードとの関係を示す関係情報を取得する関係情報取得手段と、
前記作成されたテンプレートが含む前記レコード階層のノードとリンクする前記レコード階層の下位階層のノードを追加するノード追加手段と、
前記追加された各々の前記レコード階層の下位階層のノードに対して、前記入力されたPDLデータの属性情報を設定する属性情報設定手段と、
前記取得された関係情報に基づいて、前記入力されたPDLデータが含む各々のページを、前記レコード階層の下位階層のノードに対応付けて設定するページ設定手段とを備える
ことを特徴とする情報処理装置。
【請求項2】
前記ページ設定手段は、前記入力されたPDLデータが含むページの数をP、レコード数をRとした場合に、該PDLデータの先頭ページからP/Rページずつ順次、前記レコード階層の下位階層のノードに対応付けて設定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記ページ設定手段は、前記入力されたPDLデータが含むページの数をP、レコード数をRとした場合に、MOD(P,R)が0でないときは、該PDLデータのPページ目のページを、MOD(P,R)レコード目のレコードに対応する前記レコード階層のノードにリンクする前記レコード階層の下位階層のノードに対応付けて設定し、MOD(P,R)が0のときは、Rレコード目のレコードに対応する前記レコード階層のノードにリンクする前記レコード階層の下位階層のノードに対応付けて設定する
ことを特徴とする、請求項1に記載の情報処理装置。
【請求項4】
前記入力手段は、さらに、前記入力されたPDLデータの印刷設定ファイルを入力し、
前記ページ設定手段は、前記入力された印刷設定ファイルが示す印刷設定を、前記レコード階層の下位階層のノードに対応付けて設定された各々のページの印刷設定として設定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記PDLデータは、PDFデータであり、
前記階層構造を有するPDLデータは、PDF/VTデータであり、
前記ノードは、DPartである
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記テンプレート作成手段は、PDF/VTのDPartRootのRecordLevelの値に1を設定することによって、前記階層構造における第2階層のDPartが前記レコードに一対一に対応する前記レコード階層のノードであるPDF/VTのテンプレートを作成する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
PDLデータを階層構造を有するPDLデータに変換する方法であって、
入力されるPDLデータのレコード数を取得する工程と、
前記取得されたレコード数に基づいて、レコードと一対一に対応するレコード階層のノードを前記レコード数分含むテンプレートを作成する工程と、
PDLデータを入力する工程と、
前記入力されたPDLデータが含むページとレコードとの関係を示す関係情報を取得する工程と、
前記作成されたテンプレートが含む前記レコード階層のノードとリンクする前記レコード階層の下位階層のノードを追加するノード追加手段と、
前記追加された各々の前記レコード階層の下位階層のノードに対して、前記入力されたPDLデータの属性情報を設定する工程と、
前記取得された関係情報に基づいて、前記入力されたPDLデータが含む各々のページを、前記レコード階層の下位階層のノードに対応付けて設定する工程とを有する
ことを特徴とするPDLデータ変換方法。
【請求項8】
請求項7に記載のPDLデータ変換方法をコンピュータに実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−223952(P2012−223952A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−92684(P2011−92684)
【出願日】平成23年4月19日(2011.4.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】