(57)【特許請求の範囲】
【請求項１】
階層構造を有し前記階層構造の階層にメタデータを付加可能な、第１の印刷文書と、第２の印刷文書とをマージする指示をユーザから受け付ける受付手段と、
前記受付手段が前記指示を受け付けることにより、前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが前記第１の印刷文書と、前記第２の印刷文書との階層構造における階層ごとに一致するか否かを判断する判断手段と、
前記判断手段が前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致しないと判断した場合に、前記第１の印刷文書と、前記第２の印刷文書との階層構造における階層ごとに前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致するように前記第１の印刷文書のメタデータと、前記第２の印刷文書のメタデータとのうち少なくとも一つのメタデータを変更する変更手段と、
前記変更手段の変更処理により得られる前記メタデータに基づいて前記第１の印刷文書と、前記第２の印刷文書とをマージするマージ手段と、
を有する情報処理装置。
【請求項２】
前記変更手段は、前記判断手段が前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致しないと判断し、かつ前記判断手段が一致しないと判断する階層の、前記第１の印刷文書のメタデータと、前記第２の印刷文書のメタデータとに共通で含まれるキーがある場合に前記一致しないと判断する階層をグルーピングし、前記判断手段が前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致しないと判断し、かつ前記判断手段が一致しないと判断する階層の、前記第１の印刷文書のメタデータと、前記第２の印刷文書のメタデータとに共通で含まれるキーがない場合に前記一致しないと判断する階層のグルーピングを解除することで前記少なくとも一つのメタデータを変更する請求項１記載の情報処理装置。
【請求項３】
前記マージ手段による前記マージの後に、前記マージ手段によりマージされた印刷文書に対応する印刷を制御する印刷制御情報を更新する更新手段を更に有する請求項１又は２記載の情報処理装置。
【請求項４】
コンピュータに、
階層構造を有し前記階層構造の階層にメタデータを付加可能な、第１の印刷文書と、第２の印刷文書とをマージする指示をユーザから受け付ける受付ステップと、
前記受付ステップが前記指示を受け付けることにより、前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが前記第１の印刷文書と、前記第２の印刷文書との階層構造における階層ごとに一致するか否かを判断する判断ステップと、
前記判断ステップが前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致しないと判断した場合に、前記第１の印刷文書と、前記第２の印刷文書との階層構造における階層ごとに前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致するように前記第１の印刷文書のメタデータと、前記第２の印刷文書のメタデータとのうち少なくとも一つのメタデータを変更する変更ステップと、
前記変更ステップの変更処理により得られる前記メタデータに基づいて前記第１の印刷文書と、前記第２の印刷文書とをマージするマージステップと、
を実行させるためのプログラム。
【請求項５】
前記変更ステップでは、前記判断ステップが前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致しないと判断し、かつ前記判断ステップが一致しないと判断する階層の、前記第１の印刷文書のメタデータと、前記第２の印刷文書のメタデータとに共通で含まれるキーがある場合に前記一致しないと判断する階層をグルーピングし、前記判断ステップが前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致しないと判断し、かつ前記判断ステップが一致しないと判断する階層の、前記第１の印刷文書のメタデータと、前記第２の印刷文書のメタデータとに共通で含まれるキーがない場合に前記一致しないと判断する階層のグルーピングを解除することで前記少なくとも一つのメタデータを変更する請求項４記載のプログラム。
【請求項６】
前記コンピュータに、前記マージステップによる前記マージの後に、前記マージステップによりマージされた印刷文書に対応する印刷を制御する印刷制御情報を更新する更新ステップを更に実行させる請求項４又は５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
（１）  ＰＯＤ、バリアブル印刷とＰＤＦ／ＶＴについて
ＰＯＤ（プリントオンデマンド）市場向けの印刷システムの普及に伴い、印刷物を顧客毎にカスタマイズして印刷するバリアブル印刷が注目されてきている。バリアブル印刷は、データベースを読み込んで、顧客毎に１枚１枚内容を変えて印刷することができるため、顧客に適した印刷物を作成できるという利点がある。その流れの中、バリアブル印刷用の言語仕様としてＩＳＯ  １６６１２−２  ＰＤＦ／ＶＴ（Ｖａｒｉａｌｂｌｅ  ｄａｔａ  ａｎｄ  Ｔｒａｎｓａｃｔｉｏｎａｌ）の標準化プロセスが進んでいる。ＰＤＦ／ＶＴは、ＰＤＦをベースとしてバリアブル印刷やトランザクション印刷用の仕様を追加することで、既存のＰＤＦワークフローでも活用できるという特徴がある。
（２）  ＰＤＦ／ＶＴの特徴（階層構造：ＤＰａｒｔとメタデータ：ＤＰＭ）
ＰＤＦ／ＶＴは、ＤＰａｒｔ（Ｄｏｃｕｍｅｎｔ  Ｐａｒｔ）と呼ばれる階層構造を追加してＰＤＦのページを構造化すると共に、各ＤＰａｒｔにＤＰＭ（Ｄｏｃｕｍｅｎｔ  Ｐａｒｔ  Ｍｅｔａｄａｔａ）という任意のメタデータを付加可能としている。階層構造で表現されたメタデータ（階層化メタデータ）は、「郵便番号」、「住所」、「氏名」等の多種多様な情報をキーとバリューの関係で付加可能である。また、ＰＤＦ／ＶＴは、ＤＰａｒｔＲｏｏｔ（Ｄｏｃｕｍｅｎｔ  Ｐａｒｔ  Ｒｏｏｔ）と呼ばれる階層構造に関するルートノードを持つ。更に、ＤＰａｒｔＲｏｏｔのメタデータは、データベースを読み込んだ際に得られるレコード情報について、キーとバリューとの関係で階層化メタデータとして保持し、その階層情報をキー「レコードレベル」で管理する。
また、ＰＤＦ／ＶＴの階層化メタデータは、階層構造についてＤＰａｒｔを追加／削除し、自由に編集できる。そのため、階層にメタデータを付与し、階層に意味を持たせることで、階層をグルーピング目的で利用することができる。
（３）  バリアブル印刷を実現するためにＰＤＦ／ＶＴはどのように使われているか
ＪＤＦ（Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔ）は、ＰＤＦ／ＶＴ等のＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データと共に用いられ、印刷ワークフロー全体を制御する。ＪＤＦとＰＤＦ／ＶＴとを用いてバリアブル印刷をする場合は、ＰＤＦ／ＶＴのメタデータを参照して顧客情報を取得し、顧客毎にカスタマイズして印刷する。また、ＪＤＦを読み込んで面付け処理するエンジンは、ＰＤＦ／ＶＴのレコードレベル階層を繰り返し参照しながら、面付け処理する。
ＰＤＦ／ＶＴは、ＪＤＦ等の印刷制御情報と一緒に用いることで、階層化メタデータに基づき、特定の郵便番号に当てはまるページのみを印刷するといった印刷制御を可能とする。より具体的には、郵便番号でグルーピングしたＰＤＦ／ＶＴを、ＪＤＦ等の印刷制御情報を用いて、特定のグループつまり特定の郵便番号のみを印刷するといった制御が可能である。
以上のようにＰＤＦ／ＶＴは、階層化メタデータを備え、階層を自由に編集してグルーピングすることで、細かな印刷制御を実現できる。
（４）  （３）を踏まえた上でＰＤＦ／ＶＴの編集は何故難しいのか
しかしながら、ＰＤＦ／ＶＴを編集し、グルーピングを行うことでＰＤＦ／ＶＴの階層構造を変更した場合であっても、当然キー「レコードレベル」は、正しく管理されている必要がある。また、印刷制御を行うためには、ＰＤＦ／ＶＴ自体のキー「レコードレベル」を正しく管理するだけでなく、ＪＤＦにおける参照も正しく保持する必要がある。そのため、参照関係を破壊せずに、簡易な方法で、階層構造で表現されたメタデータの編集が求められている。
従来から、階層構造と階層構造に付随するメタデータとをグラフィカルに編集する方法が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２０５７３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の編集装置では、階層化構造を有する印刷データのマージや分割は考慮されておらず、階層化構造を有する印刷データのマージや分割を適切に行うことができない問題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、階層化構造を有する印刷データのマージや分割を適切に行うことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の情報処理装置は、階層構造を有し前記階層構造の階層にメタデータを付加可能な、第１の印刷文書と、第２の印刷文書とをマージする指示をユーザから受け付ける受付手段と、前記受付手段が前記指示を受け付けることにより、前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが前記第１の印刷文書と、前記第２の印刷文書との階層構造における階層ごとに一致するか否かを判断する判断手段と、前記判断手段が前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致しないと判断した場合に、前記第１の印刷文書と、前記第２の印刷文書との階層構造における階層ごとに前記第１の印刷文書のメタデータに含まれるキーの組と、前記第２の印刷文書のメタデータに含まれるキーの組とが一致するように前記第１の印刷文書のメタデータと、前記第２の印刷文書のメタデータとのうち少なくとも一つのメタデータを変更する変更手段と、前記変更手段の変更処理により得られる前記メタデータに基づいて前記第１の印刷文書と、前記第２の印刷文書とをマージするマージ手段と、を有する。
【発明の効果】
【０００９】
本発明によれば、階層化構造を有する印刷データのマージや分割を適切に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】印刷システムを含むＰＯＤシステムの構成を示す模式図である。
【図２】情報処理装置の一例であるクライアントコンピュータのハードウェア構成の一例を示すブロック図である。
【図３】情報処理装置の一例であるクライアントコンピュータの機能構成の一例を示す図である。
【図４Ａ】図３の階層化メタデータのイメージの一例を示す図である。
【図４Ｂ】図４Ａの階層化メタデータを編集したときのイメージの一例を示す図である。
【図４Ｃ】図４Ａとは別の図３の階層化メタデータのイメージの一例を示す図である。
【図４Ｄ】図４ＡをＸＭＬ形式で表現した階層化メタデータのイメージの一例を示す図である。
【図５】図４Ａの階層化メタデータにおける図３の印刷制御情報を示したイメージの一例を示す図である。
【図６Ａ】ＵＩ制御部における図４Ａの階層化メタデータの階層化メタデータ変更画面のイメージの一例を示す図である。
【図６Ｂ】図６Ａに対してキー「都道府県」でグルーピングしたときの階層化メタデータ変更画面のイメージの一例を示す図である。
【図６Ｃ】図６Ｂに対して、インポートボタンを押下して、別の印刷文書をインポートしたときの階層化メタデータ変更画面のイメージの一例を示す図である。
【図７】印刷文書マージ部がマージ対象の複数の印刷文書をマージするときのフローチャートである。
【図８】図４Ｂと図４Ｃに対して、図７のフローチャートを実行した結果のマージ後の階層化メタデータのイメージの一例を示す図である。
【図９】ある印刷文書の階層化メタデータのイメージの一例を示す図である。
【図１０】実施形態２における印刷文書マージ部が複数の印刷文書をマージするときのフローチャートである。
【図１１】図９と図４Ａに対して、図１０のフローチャートを実行した結果のマージ後の階層化メタデータを示したイメージの一例を示す図である。
【図１２Ａ】ＵＩ制御部における図４Ａの階層化メタデータの階層化メタデータ変更画面のイメージの一例を示す図である。
【図１２Ｂ】ＵＩ制御部における図４Ａの階層化メタデータの階層化メタデータ変更画面において、更にキー「用途」でグルーピングを行ったときのイメージの一例を示す図である。
【図１２Ｃ】図１２Ａ及び図１２Ｂにおいて分割ボタンが押下された場合に、表示される分割方針画面の一例を示す図である。
【図１３】階層化メタデータ変更画面において分割が指示されて、印刷文書分割部が印刷文書を分割するときのフローチャートである。
【図１４Ａ】図４Ａに対して、図１３のフローチャートを実行した結果の分割後の階層化メタデータのイメージの一例を示す図である。
【図１４Ｂ】図４Ａに対して、図１３のフローチャートを実行した結果の１つ目に分割した印刷文書の階層化メタデータのイメージの一例を図である。
【図１４Ｃ】図４Ａに対して、図１３のフローチャートを実行した結果の１つ目に分割した印刷文書の階層化メタデータのイメージの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
図１は、印刷システムを含むＰＯＤシステムの構成を示す模式図である。
このＰＯＤシステムは、サーバコンピュータ１０２、クライアントコンピュータ１０３、及び印刷装置１０４を有し、それらはネットワーク１０１を介して接続されている。
サーバコンピュータ１０２は、ネットワーク１０１に接続された各種装置とのデータの送受信を管理する。クライアントコンピュータ１０３は、印刷文書を編集することができ、ネットワーク１０１を介して印刷文書を印刷装置１０４やサーバコンピュータ１０２に送信する。印刷装置１０４は、印刷文書を受け取ると、必要に応じてサーバコンピュータ１０２と通信し、印刷を開始する。
クライアントコンピュータ１０３で作成された印刷文書は、ネットワーク１０１を介し、サーバコンピュータ１０２とは異なるネットワーク環境下１０５で管理されている別のクライアントコンピュータ１０６に送信可能である。そして、印刷文書は、クライアントコンピュータ１０６において編集された後に、同じく別環境下にあるプリンタ装置１０７で印刷することも可能である。
【００１３】
図２は、情報処理装置の一例であるクライアントコンピュータ１０３やクライアントコンピュータ１０６のハードウェア構成の一例を示すブロック図である。
制御部２０１は、ＣＰＵであり、表示部２０２や入力部２０３等を制御する。表示部２０２は、ＣＲＴや液晶モニタ等の表示装置である。入力部２０３は、キーボードやマウス等のポインティングデバイスに対応している。ＲＡＭ２０４は、不揮発性の大容量メモリであり、ＲＯＭ２０５からロードされた各種プログラムコードや、データファイルを記憶する。ＲＯＭ２０５は、制御部２０１によって実行されるコンピュータプログラムを記憶する。外部記憶装置２０６は、ハードディスクとハードディスクへのデータの読み書きを行う駆動部で構成されており、ネットワークを介して別のハードディスクに保存されているデータのやり取りをすることも可能であり、印刷に必要なデータが格納されている。
本実施形態では、プログラムコードがＲＡＭ２０４上にロードされるものとして説明しているが、直接、ＲＯＭ２０５から実行することも可能である。また、処理対象となる各データがＲＡＭ２０４上にあるものとして説明を行うが、これらは全て、外部記憶装置２０６上に配置することも可能であり、必要に応じて外部記憶装置２０６からＲＡＭ２０４上にロードして使用することもできる。また、制御部２０１のキャッシュメモリ上に配置することも同様に可能である。
制御部２０１が、プログラムに基づき処理を実行することによって、後述する機能構成やフローチャートに係る処理が実現される。
【００１４】
図３は、情報処理装置の一例であるクライアントコンピュータ１０３やクライアントコンピュータ１０６の機能構成の一例を示す図である。
ＵＩ制御部３０１は、図２における入力部２０３を介して入力されるデータを扱う。ユーザは、このＵＩ制御部３０１によりデータの入力を各処理部へ指示できるようになっている。また、ＵＩ制御部３０１は、印刷文書（ＰＤＬ）３０４を図２の外部記憶装置２０６等からロードして、図２の表示部２０２へ表示する。ＵＩ制御部３０１は、受付手段の一例である。
印刷文書分割部３０２は、ＵＩ制御部３０１から指示を受けて、印刷文書３０４を分割する。
印刷文書マージ部３０３は、ＵＩ制御部３０１から指示を受けて、複数の印刷文書３０４を１つに統合（マージ）する。
印刷文書３０４は、本実施形態で扱うデータ部分であり、図２の外部記憶装置２０６等に存在する。
階層化メタデータ３０４ａは、印刷文書３０４に付随するメタデータである。
階層化メタデータ変更部３０５は、ＵＩ制御部３０１から指示等を受け、階層化メタデータを変更する。
印刷制御情報３０６は、印刷文書を対応付けられ、図２の外部記憶装置２０６等に存在し、図１の印刷装置１０４は、印刷制御情報３０６に従って印刷を行う。
印刷制御情報更新部３０７は、印刷制御情報３０６や階層化メタデータ３０４ａを更新する。
なお、これ以降の説明におけるフローチャートによる処理手順は、例に限定されることはなく、本発明の結果を満たす限りいかなる手順の組み合わせも、複数処理をまとめることも、処理を細分化することも可能である。また、上記処理手順は、個々に切り出してひとつの機能要素として単体として機能し、示している処理以外の処理と組み合わせて使用することも可能である。
【００１５】
＜実施形態１＞
図４Ａは、図３の階層化メタデータ３０４ａのイメージの一例を示す図である。
ＤＰａｒｔＲｏｏｔ４０１は、Ｄｏｃｕｍｅｎｔ  Ｐａｒｔ  Ｒｏｏｔ（ＤＰａｒｔＲｏｏｔ）と呼ばれる、階層化されたメタデータを取りまとめるデータ構造の親ノード（ルートノード）である。ＤＰａｒｔＲｏｏｔ４０１の下には、Ｄｏｃｕｍｅｎｔ  Ｐａｒｔ（ＤＰａｒｔ）４０２が子ノードとしてリンクされており、階層構造を成す。ＤＰａｒｔＲｏｏｔやＤＰａｒｔは、任意のメタデータを持つことができるが、ここでは説明を簡単にするため、いくつかのメタデータのみを示す。
メタデータ４０３は、ＤＰａｒｔＲｏｏｔ４０１のメタデータで、キーが「レコードレベル」でバリューが「１」である。キー「レコードレベル」は、０から始まる数によって階層構造の中でどの階層が繰り返し処理される階層かを表現している。より具体的にはバリューが１の場合は、第１階層が繰り返し処理される階層であることを意味する。
メタデータ４０４は、ＤＰａｒｔ４０２のメタデータで、キーが「発行者」でバリューが「ＸＸＸ会社」である。
ＤＰａｒｔ４０２は、子ノードとしてＤＰａｒｔ４０５、ＤＰａｒｔ４０６、ＤＰａｒｔ４０７、ＤＰａｒｔ４０８を持つことを示している。
【００１６】
メタデータ４０９は、ＤＰａｒｔ４０５のメタデータで、キーが「氏名」でバリューが「鈴木  一郎」と、キーが「都道府県」でバリューが「東京都」と、キーが「市区町」でバリューが「大田区」と、キーが「性別」でバリューが「男」と、キーが「年齢」でバリューが「３０」と、である。
メタデータ４１０は、ＤＰａｒｔ４０６のメタデータで、キーが「氏名」でバリューが「田中  三郎」と、キーが「都道府県」でバリューが「神奈川県」と、キーが「市区町」でバリューが「川崎市」と、キーが「性別」でバリューが「男」と、キーが「年齢」でバリューが「４０」と、である。
メタデータ４１１は、ＤＰａｒｔ４０７のメタデータで、キーが「氏名」でバリューが「山田  太郎」と、キーが「都道府県」でバリューが「東京都」と、キーが「市区町」でバリューが「大田区」と、キーが「性別」でバリューが「男」と、キーが「年齢」でバリューが「５０」と、である。
メタデータ４１２は、ＤＰａｒｔ４０８のメタデータで、キーが「氏名」でバリューが「佐藤  二郎」と、キーが「都道府県」でバリューが「神奈川県」と、キーが「市区町」でバリューが「横浜市」と、キーが「性別」でバリューが「男」と、キーが「年齢」でバリューが「２０」と、である。
ＤＰａｒｔ４０５は、子ノードとしてＤＰａｒｔ４１３とＤＰａｒｔ４１４とを持つことを示している。
ＤＰａｒｔ４１３は、キーが「用途」でバリューが「表紙」であるメタデータ４１５を持つ。また、ＤＰａｒｔ４１３は、更には表紙を示すページとして、Ｐａｇｅオブジェクト４１６を参照している。
ＤＰａｒｔ４１４は、キーが「用途」でバリューが「本文」であるメタデータ４１７を持つ。また、ＤＰａｒｔ４１４は、更には本文を示すページとして、Ｐａｇｅオブジェクト４１８と、Ｐａｇｅオブジェクト４１９と、Ｐａｇｅオブジェクト４２０と、Ｐａｇｅオブジェクト４２１と、を参照している。
ＤＰａｒｔ４０６は、子ノードとしてＤＰａｒｔ４２２とＤＰａｒｔ４２３とを持つことを示している。
ＤＰａｒｔ４２２は、ＤＰａｒｔ４１３と同様にキーが「用途」でバリューが「表紙」であるメタデータ及びＰａｇｅオブジェクトへの参照を持つものとする。また、ＤＰａｒｔ４２３においても、ＤＰａｒｔ４１４と同様にキーが「用途」でバリューが「本文」であるメタデータ及びＰａｇｅオブジェクトへの参照を持つものとする。
ＤＰａｒｔ４０７は、子ノードとしてＤＰａｒｔ４２４とＤＰａｒｔ４２５とを持つことを示している。
ＤＰａｒｔ４２４は、ＤＰａｒｔ４１３と同様にキーが「用途」でバリューが「表紙」であるメタデータ及びＰａｇｅオブジェクトへの参照を持つものとする。また、ＤＰａｒｔ４２５においても、ＤＰａｒｔ４１４と同様にキーが「用途」でバリューが「本文」であるメタデータ及びＰａｇｅオブジェクトへの参照を持つものとする。
ＤＰａｒｔ４０８は、子ノードとしてＤＰａｒｔ４２６とＤＰａｒｔ４２７を持つことを示している。
ＤＰａｒｔ４２６は、ＤＰａｒｔ４１３と同様にキーが「用途」でバリューが「表紙」であるメタデータ及びＰａｇｅオブジェクトへの参照を持つものとする。また、ＤＰａｒｔ４２７においても、ＤＰａｒｔ４１４と同様にキーが「用途」でバリューが「本文」であるメタデータ及びＰａｇｅオブジェクトへの参照を持つものとする。
【００１７】
メタデータ４２８は、ＤＰａｒｔＲｏｏｔ４０１のメタデータで、キーが「階層名」でバリューが「Ｒｏｏｔ」である。但し、「階層名」のバリューについては配列形式で格納されており、０番目の要素が「Ｒｏｏｔ」であることを示している。メタデータ４２８は、ＤＰａｒｔＲｏｏｔ４０１に続くＤＰａｒｔ４０２が第０階層に所属することを示している。
メタデータ４２９は、ＤＰａｒｔＲｏｏｔ４０１のメタデータで、キーが「階層名」で１番目の要素のバリューが「Ｎｏｄｅ」であることを示している。メタデータ４２９は、ＤＰａｒｔ４０５、ＤＰａｒｔ４０６、ＤＰａｒｔ４０７、ＤＰａｒｔ４０８が第１階層に所属することを示している。
メタデータ４３０は、ＤＰａｒｔＲｏｏｔ４０１のメタデータで、キーが「階層名」で２番目の要素のバリューが「Ｐａｇｅ」であることを示している。メタデータ４３０は、ＤＰａｒｔ４１３、ＤＰａｒｔ４１４、ＤＰａｒｔ４２２、ＤＰａｒｔ４２３、ＤＰａｒｔ４２４、ＤＰａｒｔ４２５、ＤＰａｒｔ４２６、ＤＰａｒｔ４２７が第２階層に所属することを示している。
以上のように階層化メタデータ３０４ａは、ＤＰａｒｔという階層型のデータ構造でメタデータを保持している。また、ＤＰａｒｔは、ＤＰａｒｔＲｏｏｔ４０１のメタデータのキー「階層名」を用いてＸＭＬ形式で表現することができる。例えば、図４Ａの場合において、第２階層であれば「／Ｒｏｏｔ／Ｎｏｄｅ／Ｐａｇｅ」と表現される。
【００１８】
図４Ｂは、図４Ａの階層化メタデータ３０４ａを編集したときのイメージの一例を示す図である。より具体的には、図４Ａの第１階層のＤＰａｒｔ４０５、ＤＰａｒｔ４０６、ＤＰａｒｔ４０７、ＤＰａｒｔ４０８のそれぞれのメタデータに対して、ある特定のキーのみを持つＤＰａｒｔをくくり出して、階層を増やす操作を行っている。
ＤＰａｒｔ４３１は、図４Ａにおけるキーが「都道府県」でバリューが「東京都」であるメタデータ４０９及び４１１を有するＤＰａｒｔ４０５及び４０７に対して、キー「都道府県」でくくりだした結果、新規に定義されたＤＰａｒｔである。
メタデータ４３２は、ＤＰａｒｔ４３１をくくりだした結果えられるキーが「都道府県」でバリューが「東京都」のみを有するメタデータである。
ＤＰａｒｔ４３３は、図４Ａにおけるキーが「都道府県」でバリューが「神奈川県」であるメタデータ４１０及び４１２を有するＤＰａｒｔ４０６及び４０８に対して、キー「都道府県」でくくりだした結果、新規に定義されたＤＰａｒｔである。
メタデータ４３４は、ＤＰａｒｔ４３３をくくりだした結果えられるキーが「都道府県」でバリューが「神奈川県」のみを有するメタデータである。
ＤＰａｒｔ４３１は、子ノードとしてＤＰａｒｔ４３５及びメタデータ４３６と、子ノードとしてＤＰａｒｔ４３７及びメタデータ４３８を持つ。
ＤＰａｒｔ４３３は、子ノードとしてＤＰａｒｔ４３９及びメタデータ４４０と、子ノードとしてＤＰａｒｔ４４１及びメタデータ４４２を持つ。
メタデータ４４３は、階層を増やしたことで、繰り返し処理される階層が変わり、キーが「レコードレベル」でバリューが「２」のＤＰａｒｔＲｏｏｔのメタデータである。
４４４は、１番目の階層に対してキーが「階層名」でバリューが「Ｎｏｄｅ＿０」であることを示している。
【００１９】
ＤＰａｒｔ４４５は、ＤＰａｒｔ４３５の子ノードのＤＰａｒｔで、メタデータ４４７とＰａｇｅオブジェクトへの参照を持つ。
ＤＰａｒｔ４４６は、ＤＰａｒｔ４３５の子ノードのＤＰａｒｔで、メタデータ４４８とＰａｇｅオブジェクトへの参照を持つ。
図４Ａから図４Ｂへの編集のように、メタデータのある特定のキーを用いて、階層数を増やすことを、階層化メタデータ３０４ａを「グルーピングする」と呼ぶ。逆に、図４Ｂから図４Ａへの編集のように、階層数を減らすことを、階層化メタデータ３０４ａを「グルーピング解除する」と呼ぶ。このような、階層化メタデータ３０４ａに対する変更操作は、階層化メタデータ変更部３０５を通して行われる。
なお、階層化メタデータの階層数を増やすことと、この階層化メタデータが付加されている同じ階層構造を有する印刷文書の階層数を増やすことは同じことである。同様に、階層化メタデータの階層数を減らすことと、この階層化メタデータ化付加されている同じ階層構造を有する印刷文書の階層数を減らすことは同じことである。
【００２０】
図４Ｃは、図４Ａとは別の図３の階層化メタデータ３０４ａのイメージの一例を示す図である。
メタデータ４４９は、キーが「レコードレベル」でバリューが「１」であるメタデータである。
ＤＰａｒｔ４５０は、キーが「氏名」でバリューが「伊藤  四郎」と、キーが「都道府県」でバリューが「埼玉県」と、キーが「市区町」でバリューが「浦和市」と、キーが「性別」でバリューが「男」と、キーが「年齢」でバリューが「５５」と、であるメタデータ４５１を持つ。
ＤＰａｒｔ４５２は、キーが「用途」でバリューが「表紙」であるメタデータ４５３及びＰａｇｅオブジェクト４５４への参照を持つ。
ＤＰａｒｔ４５５は、キーが「用途」でバリューが「本文」であるメタデータ４５６及びＰａｇｅオブジェクト４５７、４５８、４５９、４６０への参照を持つ。
メタデータ４６１、４６２及び４６３は、ＤＰａｒｔＲｏｏｔのメタデータで、キーが「階層名」でバリューが０番目の要素に「Ｒｏｏｔ」、１番目の要素に「Ｎｏｄｅ＿１」、２番目の要素に「Ｐａｇｅ＿１」であることを示している。
【００２１】
図４Ｄは、図４ＡをＸＭＬ形式で表現した階層化メタデータ３０４ａのイメージの一例を示す図である。
４６４は、図４ＡのＤＰａｒｔＲｏｏｔ４０１のメタデータ４０３をＸＭＬ形式で表現したものである。メタデータ４６４において、キー「レコードレベル」と「階層名」がＸＭＬ形式で示されている。
４６５は、図４ＡのＤＰａｒｔ４０２のメタデータ４０４をＸＭＬ形式で表現したものである。メタデータ４６５において、キー「発行者」がＸＭＬ形式で示されている。
４６６は、図４ＡのＤＰａｒｔ４０５のメタデータ４０９をＸＭＬ形式で表現したものである。メタデータ４６６において、キー「氏名」、「都道府県」、「市区町」、「性別」、「年齢」がＸＭＬ形式で示されている。
４６７は、図４ＡのＤＰａｒｔ４１３のメタデータ４１５及びＰａｇｅオブジェクトへの参照をＸＭＬ形式で表現したものである。メタデータ４６７において、キー「用途」がＸＭＬ形式で示されている。
４６８は、図４ＡのＤＰａｒｔ４１４のメタデータ４１７及びＰａｇｅオブジェクトへの参照をＸＭＬ形式で表現したものである。メタデータ４６８において、キー「用途」がＸＭＬ形式で示されている。
【００２２】
図５は、図４Ａの階層化メタデータ３０４ａにおける図３の印刷制御情報３０６を示したイメージの一例を示す図である。
５０１は、どの階層が繰り返し処理の単位であるかを示すＳＥＴ情報であり、ＤＰａｒｔのＸＭＬ表現を使用して、ＸＰａｔｈで参照する。そのため、ＳＥＴ情報５０１には、「レコードレベル」の階層を記載されることとなる。図４Ａでは、メタデータのキー「レコードレベル」が「１」であるため、第１階層がＳＥＴ情報に記載される。図５では、階層化メタデータ３０４ａの繰り返しの階層である第一階層をＸＭＬで表現した「／Ｒｏｏｔ／Ｎｏｄｅ」と、別名として「ＡＡＡ」が定義されている。ここでは、メタデータのキー「階層名」を用いて印刷文書３０４への参照を定義しているが、メタデータのキー「レコードレベル」を参照しても同様である。
５０２は、どの階層がＰａｇｅオブジェクトを参照しているかを示すＰＡＧＥ情報である。図５では、階層化メタデータ３０４ａにおけるＲｏｏｔの下のＮｏｄｅの下のＰａｇｅの階層がＰａｇｅオブジェクトを参照している階層であることを示し、別名として「ＢＢＢ」が定義されている。ここでは、ＰＡＧＥ情報は、ＳＥＴ情報からの相対パスを用いて表現しているが、ＳＥＴ情報と同じく絶対パスを使用した場合も同様である。
５０３は、印刷制御情報３０６の１つである綴じ方情報である。図５では、別名で指定した「ＡＡＡ」を、印刷制御情報３０６によって中綴じ指定している。別名「ＡＡＡ」は、ＳＥＴ情報５０１を経由して、階層化メタデータ３０４ａから情報を取得する。印刷文書３０４は、ＳＥＴ情報で指定した単位である「／Ｒｏｏｔ／Ｎｏｄｅ」の階層にて、中綴じされて印刷するといった制御を可能とする。
また、図２の制御部２０１は、印刷制御情報３０６にて、繰り返しの単位であるＳＥＴ情報５０１及びＰＡＧＥ情報５０２を用いて、図１の印刷装置１０４に対して印刷指示を可能とする。ここで示した印刷制御情報は、あくまでも一例であり、ＪＤＦその他のジョブチケット、プリントチケットについても同様に使用可能である。
【００２３】
ところで、ＵＩ制御部３０１等から指示があって、図４Ａから図４Ｂのように階層化メタデータ３０４ａをグルーピングしたり、逆にグルーピングを解除したりすると、繰り返し処理される階層の位置が変更される。その場合は、図３の印刷制御情報更新部３０７によって、正しく印刷指示が出せるように、ＳＥＴ情報５０１やＰＡＧＥ情報５０２を更新する。例えば、図４Ａから図４Ｂとなった場合には、ＳＥＴ情報５０１は、「ｐａｔｈ＝"／Ｒｏｏｔ／Ｎｏｄｅ＿０／Ｎｏｄｅ"」となる。
図６Ａは、ＵＩ制御部３０１における図４Ａの階層化メタデータ３０４ａの階層化メタデータ変更画面のイメージの一例を示す図である。ここでは説明を簡単にするため、図４Ａの階層化メタデータ３０４ａの第１階層と第２階層を表示している。
６０１は、階層化メタデータ変更画面を示している。
６０２は、第１階層にメタデータのキーとして、「氏名」、「都道府県」、「市区町」、「性別」、「年齢」が存在することを示している。また、それぞれにグルーピング、グルーピング解除のためのボタンが存在し、ボタンを押下することで、それぞれのキーでグルーピング、又はグルーピング解除できる。
６０３は、第２階層にメタデータ内のキーとして、「用途」が存在することを示している。
６０４は、図４ＡのＤＰａｒｔ４０５、４１３、４１４における各キーに対するバリューを示しており、キー「氏名」に対するバリューとして「鈴木  一郎」がマッピングされている。同様にして、キー「都道府県」に対するバリューとして「東京都」が、キー「市区町」に対するバリューとして「大田区」が、キー「性別」に対するバリューとして「男」が、キー「年齢」に対するバリューとして「３０」が、存在する。また、第２階層においては、キー「用途」に対するバリューとして「表紙」と「本文」とが存在することを示している。
６０５は、インポートボタンを示しており、インポートボタンを押下して、印刷文書３０４を選択することで、同時に複数の印刷文書３０４を表示することを可能とする。ここでは、ｘｘｘ．ｐｄｆのみをインポートしている。
【００２４】
図６Ｂは、図６Ａに対してキー「都道府県」でグルーピングしたときの階層化メタデータ変更画面のイメージの一例を示す図である。キー「都道府県」でグルーピングすることで、図４Ａは、図４Ｂの階層構造となる。
６０６は、６０２と同様で、第１階層にメタデータのキーとして、「都道府県」が存在することを示している。また、それぞれにグルーピング、グルーピング解除のためのボタンが存在する。
バリュー６０７は、６０４と同様で、図４ＢのＤＰａｒｔ４３１、４３５、４４５、４４６における各キーに対するバリューを示しており、キー「都道府県」に対するバリューとして「東京都」が存在する。また、第２階層においては、キー「氏名」に対するバリューとして「鈴木  一郎」が、キー「市区町」に対するバリューとして「大田区」が、キー「性別」に対するバリューとして「男」が、キー「年齢」に対するバリューとして「３０」が存在する。更に、第３階層においては、キー「用途」に対するバリューとして「表紙」と「本文」が存在することを示している。
【００２５】
図６Ｃは、図６Ｂに対して、インポートボタン６０５を押下して、別の印刷文書３０４をインポートしたときの階層化メタデータ変更画面のイメージの一例を示す図である。より具体的には、図４Ｃをインポートしている。
６０８は、既に存在する印刷文書３０４とは別の印刷文書３０４をインポートし、マージした結果であり、図４ＣのＤＰａｒｔ４５０、４５２、４５５における各キーに対するバリューを示している。より具体的には、第１階層にメタデータのキーとして、「都道府県」が存在するため、ＤＰａｒｔ４５０はキー「都道府県」によってグルーピングされている。その結果、第１階層においては、キー「都道府県」に対するバリューとして「埼玉県」が存在する。第２階層においては、キー「氏名」に対するバリューとして「伊藤  四郎」が、キー「市区町」に対するバリューとして「浦和市」が、キー「性別」に対するバリューとして「男」が、キー「年齢」に対するバリューとして「５５」が存在する。更に、第３階層においては、キー「用途」に対するバリューとして「表紙」と「本文」とが存在することを示している。
【００２６】
図７は、印刷文書マージ部３０３がマージ対象の複数の印刷文書３０４をマージするときのフローチャートである。図６の階層化メタデータ変更画面６０１にて、印刷文書３０４をマージして表示するように指示があると、ステップＳ１０２で、印刷文書マージ部３０３は、マージする全ての印刷文書に対してステップＳ１０３からステップＳ１１０を繰り返す処理を行う。
ステップＳ１０３で、印刷文書マージ部３０３は、階層化メタデータ３０４ａに定義されているメタデータのキーが全て存在するかどうかを判断する処理を行う。ステップＳ１０３で、全てのキーが定義されている場合は、ステップＳ１０４へ進む。ステップＳ１０３で、定義されていないキーが存在する場合は、ステップＳ１１１へ進み、マージ操作を実行せずにスキップする。マージをスキップした場合は、マージできなかった印刷文書３０４をユーザに通知してもよい。
ステップＳ１０４で、印刷文書マージ部３０３は、全ての階層において、ＤＰａｒｔのメタデータに定義されているキーの組が一致するかどうかを確認する処理を行う。また、階層数が一致しない場合は、キーの組が一致しないと判断する処理を行う。ステップＳ１０４でキーの組が一致した場合は、ステップＳ１１０へ進む。ステップＳ１０４でキーの組が一致しなかった場合は、ステップＳ１０５へ進む。例えば、図４Ｂと図４Ｃとの階層化メタデータ３０４ａの場合には、全ての階層において、キーの組が一致しないと判断される。
ステップＳ１０５で、印刷文書マージ部３０３は、メタデータのキーの組が一致していない階層を第１階層から順に探して、一致していない階層を１つ取得する処理を行う。例えば、図４Ｂと図４Ｃの階層化メタデータ３０４ａの場合には、第１階層が取得されることとなる。
ステップＳ１０６で、印刷文書マージ部３０３は、ステップＳ１０５で取得した階層においてメタデータに定義されているキーで共通に定義されているキーを取得する処理を行う。例えば、図４Ｂと図４Ｃの階層化メタデータ３０４ａの第１階層が対象の場合には、キー「都道府県」が共通のキーとして取得される。
【００２７】
ステップＳ１０７で、印刷文書マージ部３０３は、ステップＳ１０６で取得した共通のキーが存在するかどうかを確認する処理を行う。ステップＳ１０７で共通のキーが存在する場合は、ステップＳ１０８へ進む。ステップＳ１０７で共通のキーが存在しない場合は、ステップＳ１０９へ進む。例えば、図４Ｂと図４Ｃの階層化メタデータ３０４ａの第１階層が対象の場合には、共通のキー「都道府県」が存在するため、ステップＳ１０８へ進むこととなる。
ステップＳ１０８で、印刷文書マージ部３０３は、共通のキーで印刷文書３０４の対象となっている階層をそれぞれグルーピングする処理を行うと、ステップＳ１０４へ進む。例えば、図４Ｂと図４Ｃとの階層化メタデータ３０４ａの第１階層が対象の場合には、図４Ｂは、既に共通のキー「都道府県」においてグルーピング済のため、何もしない。一方、図４Ｃの階層化メタデータ３０４ａは、共通のキー「都道府県」においてグルーピングする。その結果、図４Ｃの階層化メタデータ３０４ａは、第１階層にキー「都道府県」のみが存在する階層が作成される。次に、印刷文書マージ部３０３は、ステップＳ１０４へと戻り、全ての階層においてキーの組が一致するかどうかを判断する処理となる。ところで、図４Ｂと図４Ｃとの階層化メタデータ３０４ａの場合は、キー「都道府県」でグルーピングしたことにより、全ての階層でキーの組が一致することとなり、ステップＳ１１０へ進む。
【００２８】
ステップＳ１０９で、印刷文書マージ部３０３は、印刷文書３０４の共通のキーが存在しない階層をそれぞれグルーピング解除する処理を行うと、ステップＳ１０４へ進む。
ステップＳ１１０で、印刷文書マージ部３０３は、全ての階層でメタデータのキーの組が一致すると、印刷文書３０４をマージする。階層化メタデータ３０４ａのマージ処理は、ＤＰａｒｔの子ノードと親ノードとをそれぞれ連結する処理となる。
ステップＳ１１１で、印刷文書マージ部３０３は、全ての印刷文書３０４でステップＳ１０３からステップＳ１１０までを処理すると、ステップＳ１１２へ進む。
ステップＳ１１２で、印刷制御情報更新部３０７は、印刷制御情報３０６を更新する処理と階層化メタデータ３０４ａのキー「レコードレベル」の更新する処理とを行うと、ステップＳ１１４へ進み、本シーケンスを終了する。当然、マージした結果、印刷制御情報３０６が不要になった場合、印刷制御情報更新部３０７は、印刷制御情報３０６を削除する。例えば、図４Ｂと図４Ｃとの場合は、キー「レコードレベル」が「２」となり、印刷制御情報３０６のＳＥＴ情報５０１は、「ｐａｔｈ＝"／Ｒｏｏｔ／Ｎｏｄｅ＿０／Ｎｏｄｅ"」となる。
ここでは、インポートしたタイミングでマージして表示すると同時に印刷文書３０４や印刷制御情報３０６の更新を行うこととしているが、インポートとは別のタイミング、別の操作方法で印刷制御情報３０６を更新してもよいものとする。
【００２９】
図８は、図４Ｂと図４Ｃに対して、図７のフローチャートを実行した結果のマージ後の階層化メタデータ３０４ａのイメージの一例を示す図である。
ＤＰａｒｔＲｏｏｔ７０１は、マージ後のＤＰａｒｔＲｏｏｔである。ＤＰａｒｔＲｏｏｔ７０１の下には、ＤＰａｒｔ７０２が子ノードとして連結（リンク）されており、階層構造を成す。メタデータ７０３は、図４Ｂと図４Ｃをマージした後、キーが「レコードレベル」でバリューが「２」であることを示している。ＤＰａｒｔ７０２は、図４Ｂと図４Ｃをマージした後に、子ノードとしてＤＰａｒｔ７０４、ＤＰａｒｔ７０５、ＤＰａｒｔ７０６を持つことを示している。
以上説明してきた通り、複数の印刷文書３０４をインポートすることで、階層化メタデータ３０４ａをマージ（つまり、複数の印刷文書３０４をマージ）できる。更に、階層化されたメタデータを参照している印刷制御情報３０６を同時に更新することで、マージ後も全体としての整合性についても確保している。また、階層化メタデータ３０４ａ（及び印刷文書）をマージする簡易な編集方法を提供している。
【００３０】
＜実施形態２＞
実施形態１においては、複数の印刷文書３０４をインポートしてマージする場合に、階層化メタデータ３０４ａに定義されている共通のキーの組を見つけ出すことで実現する方法を示した。しかしながら、階層化メタデータ３０４ａのキーの組がそろっていない場合についても、マージできるように考慮する必要がある。
図９は、ある印刷文書３０４の階層化メタデータ３０４ａのイメージの一例を示す図である。
ＤＰａｒｔＲｏｏｔ８０１は、子ノードとしてＤＰａｒｔ８０２を持つ。
ＤＰａｒｔ８０２は、子ノードとして、ＤＰａｒｔ８０３とＤＰａｒｔ８０４を持つ。
ＤＰａｒｔ８０３は、キーが「用途」でバリューが「表紙」であるメタデータ８０５を持つ。また、ＤＰａｒｔ８０３は、ＤＰａｒｔ８０７を子ノードとして持つ。
ＤＰａｒｔ８０４は、キーが「用途」でバリューが「本文」であるメタデータ８０６を持つ。また、ＤＰａｒｔ８０４は、ＤＰａｒｔ８０８を子ノードとして持つ。
ＤＰａｒｔ８０７は、キーが「氏名」でバリューが「伊藤  四郎」であるメタデータ８０９とＰａｇｅオブジェクト８１０とへの参照を持つ。
ＤＰａｒｔ８０８は、キーが「氏名」でバリューが「伊藤  四郎」であるメタデータ８１１とＰａｇｅオブジェクト８１２、８１３、８１４、８１５とへの参照を持つ。
図９の階層化メタデータ３０４ａと図４Ａの階層化メタデータ３０４ａとをマージする場合、実施形態１で説明した方法では、メタデータに定義されている全てのキーがそろっていないため、マージ処理をスキップする。そこで、実施形態２では全てのキーがそろってなくてもマージできる方法を、図１０を用いて説明する。
【００３１】
図１０は、実施形態２における印刷文書マージ部３０３が複数の印刷文書３０４をマージするときのフローチャートである。図６の階層化メタデータ変更画面６０１にて、印刷文書３０４をマージするように指示があると、ステップＳ２０２で、印刷文書マージ部３０３は、全ての印刷文書３０４で使用しているメタデータのキーを取得し、マージ後の位置を決定する処理を行う。例えば、図９と図４Ａの階層化メタデータ３０４ａの場合には、第１階層にキー「用途」を、第２階層にそれ以外のキーとなる階層とするといった決定を行う。結果として、第２階層には、キーの組「氏名」、「都道府県」、「市区町」、「性別」、「年齢」を持つこととなる。
ステップＳ２０３で、印刷文書マージ部３０３は、マージする全ての印刷文書３０４に対してステップＳ２０４からステップＳ２０７を繰り返す処理を行う。
ステップＳ２０４で、印刷文書マージ部３０３は、全ての階層でグルーピングを解除する処理を行う。その結果、図９における第１階層のＤＰａｒｔは、キー「用途」、「氏名」を持つメタデータと、Ｐａｇｅオブジェクトと、への参照を持つこととなる。また、図４Ａも同様に、第１階層のＤＰａｒｔは、キー「用途」、「氏名」、「都道府県」、「市区町」、「性別」、「年齢」を持つメタデータと、Ｐａｇｅオブジェクトと、への参照を持つこととなる。
【００３２】
ステップＳ２０５で、印刷文書マージ部３０３は、ステップＳ２０２で取得した全てのキーが存在するかどうかを確認する処理を行う。ステップＳ２０５で、印刷文書マージ部３０３は、全てのキーが存在すればステップＳ２０７へ進む。ステップＳ２０５で、全てのキーが存在しない場合は、ステップＳ２０６へ進む。図９の場合、キー「都道府県」、「市区町」、「性別」、「年齢」が存在しないため、ステップＳ２０６へ進む。
ステップＳ２０６で、印刷文書マージ部３０３は、存在しないキーをメタデータに追加する処理を行う。キーに対するバリューは、予め決められたデフォルト値でもよいし、空でもよいものとする。図９の場合、キー「都道府県」、「市区町」、「性別」、「年齢」が、階層化メタデータ３０４ａに追加される。
ステップＳ２０７で、印刷文書マージ部３０３は、印刷文書３０４をマージする処理を行う。図９と図４Ａについて、それぞれグルーピング解除された第１階層は、第０階層のＤＰａｒｔとそれぞれ連結される。
ステップＳ２０８で、印刷文書マージ部３０３は、全ての印刷文書３０４でステップＳ２０４からステップＳ２０７までの処理を行うとステップＳ２０９へ進む。
ステップＳ２０９で、印刷文書マージ部３０３は、ステップＳ２０２で決定した階層構造となるようにグルーピングする処理を行う。例えば、印刷文書マージ部３０３は、キー「用途」が第１階層、それ以外のキーが第２階層となるように、キー「用途」にてグルーピングを行う。
ステップＳ２１０で、印刷制御情報更新部３０７は、印刷制御情報を更新する処理を行い、階層化メタデータ３０４ａのキー「レコードレベル」の更新を行うと、本シーケンスを終了する。当然、マージした結果、印刷制御情報３０６が不要になった場合、印刷制御情報更新部３０７は、印刷制御情報３０６を削除する。例えば、図９と図４Ａとの場合は、キー「レコードレベル」が「２」となる。また、ステップＳ２０９においてグルーピングしたときの新規に作成された第１階層の階層名が「Ｎｏｄｅ＿０」、第２階層の階層名が「Ｎｏｄｅ」の場合、印刷制御情報３０６のＳＥＴ情報５０１は、「ｐａｔｈ＝"／Ｒｏｏｔ／Ｎｏｄｅ＿０／Ｎｏｄｅ"」となる。ここでは、インポートしたタイミングでマージして表示すると同時に印刷文書３０４や印刷制御情報３０６の更新を行うこととしているが、インポートとは別のタイミング、別の操作方法で印刷制御情報３０６を更新してもよいものとする。
【００３３】
図１１は、図９と図４Ａに対して、図１０のフローチャートを実行した結果のマージ後の階層化メタデータ３０４ａを示したイメージの一例を示す図である。
９０１は、マージ後のＤＰａｒｔＲｏｏｔである。ＤＰａｒｔＲｏｏｔ９０１の下には、ＤＰａｒｔ９０２が子ノードとして連結（リンク）されており、階層構造を成す。メタデータ９０３は、図９と図４Ａをマージした後、キーが「レコードレベル」でバリューが「２」であることを示している。ＤＰａｒｔ９０２は、図９と図４Ａをマージした後に、子ノードとしてＤＰａｒｔ９０４、ＤＰａｒｔ９０５を持つことを示している。同様にして、ＤＰａｒｔ９０４は、子ノードとしてＤＰａｒｔ９０６、９０７、９０８、９０９、９１０を持つことを示している。また、ＤＰａｒｔ９０５は、子ノードとしてＤＰａｒｔ９１１、９１２、９１３、９１４、９１５を持つことを示している。
以上説明してきた通り、複数の印刷文書３０４をインポートしてマージする場合に、階層化メタデータ３０４ａのキーの組がそろっていない場合であってもマージできる。更に、階層化メタデータ３０４ａを参照している印刷制御情報３０６を同時に更新することで、マージ後も全体としての整合性についても確保している。また、階層化メタデータ３０４ａをマージする簡易な編集方法を提供している。
【００３４】
＜実施形態３＞
実施形態１、実施形態２においては、複数の印刷文書３０４をインポートしてマージする方法を説明してきた。ここでは、印刷文書３０４を分割する方法について説明する。
図１２Ａは、ＵＩ制御部３０１における図４Ａの階層化メタデータ３０４ａの階層化メタデータ変更画面のイメージの一例を示す図である。ここでは説明を簡単にするため、図４Ａの階層化メタデータ３０４ａの第１階層と第２階層を表示している。
１００１は、階層化メタデータ変更画面を示している。
１００２は、第１階層にメタデータのキーとして、「氏名」、「都道府県」、「市区町」、「性別」、「年齢」が存在することを示している。また、それぞれにグルーピング、グルーピング解除のためのボタンが存在し、ボタンを押下することで、それぞれのキーでグルーピングできる。
１００３は、第２階層にメタデータのキーとして、「用途」が存在することを示している。
１００４は、分割ボタンを示しており、分割ボタンを押下すると、複数の印刷文書３０４に分割することができる。
分割ボタン１００４は、上下に移動することができ、分割する場所を指定することができる。図中では、１００５と１００６の２つの印刷文書３０４に分割する様子を示している。ここでは、分割ボタンを１つしか表示していないが、２つ以上であってもよく、分割ボタンとは別の確定ボタンを設けてもよい。
更に、ユーザが分割位置を決めるのではなく、キーを指定して自動分割を指定することができるようにしてもよい。例えば、都道府県全てで分割する場合に、１つ１つユーザが指定するのではなく、キー「都道府県」の指定により、印刷文書分割部３０２等は、バリューが異なるメタデータで自動分割する。ＵＩ制御部３０１は、ユーザには、階層化メタデータ変更画面１００１にて、ポップアップウィンドウを表示し、キーで自動分割するかどうかを選択できるようにする。もちろん、ＵＩ制御部３０１は、自動分割する前にどの位置で分割するかについて、分割ボタン１００４を表示してユーザに通知してもよいものとする。
また、ユーザが分割位置を決めるのではなく、レコード数やファイルサイズを指定することによって、印刷文書分割部３０２等は、分割位置を決めて、自動分割することも可能である。より具体的には、ユーザがレコード数１００個単位で分割すると指定した場合、印刷文書分割部３０２等は、レコード数をカウントし、自動的に分割位置を調整する。
【００３５】
図１２Ｂは、ＵＩ制御部３０１における図４Ａの階層化メタデータ３０４ａの階層化メタデータ変更画面１００１において、更にキー「用途」でグルーピングを行ったときのイメージの一例を示す図である。
１００７は、分割ボタンを示しており、分割ボタン１００７が押下されると、印刷文書分割部３０２は、複数の印刷文書３０４に分割する。図中では、キー「用途」でグルーピングした後の階層化メタデータ３０４ａに対して１００８と１００９との２つの印刷文書３０４に分割する様子が示されている。また、ＵＩ制御部３０１は、分割することによって著しく意味を損なう場合、分割ボタン１００７をグレーアウトし、押下不可としてもよい。例えば、キー「用途」でグルーピングしている印刷文書１００８に対して、更にキーが「氏名」でバリューが「鈴木  一郎」と「田中  三郎」との間で分割しようとする場合に、ＵＩ制御部３０１は、分割ボタン１００７を押下不可状態とする。意図しない分割を避けるためである。
図１２Ｃは、図１２Ａ及び図１２Ｂにおいて分割ボタン１００４、１００７が押下された場合に、表示される分割方針画面１０１０の一例を示す図である。ユーザは、インポートした印刷文書３０４を分割する前に、階層化メタデータ３０４ａをグルーピング、グルーピング解除、ＤＰａｒｔやメタデータを追加、編集、削除するといった編集をすることができる。ユーザは、その編集結果を分割後の印刷文書３０４にも反映するかどうかを前もって指定することができる。「編集結果を反映させない」にチェックがある場合、印刷文書マージ部３０３等は、分割ボタンを押下する前にグルーピング及びグルーピング解除した結果は、分割後の印刷文書３０４には反映させない。「編集結果を反映させる」にチェックがある場合、印刷文書マージ部３０３等は、分割ボタンを押下する前にグルーピング及びグルーピング解除した結果は、分割後の印刷文書３０４に反映させることとなる。当然、「編集結果を反映させる」にチェックしている場合は、ページ順等まで変更される場合も発生する。しかしながら、ＪＤＦによる印刷制御によって印刷する場合には、ページ順を変更してもよいため、編集結果を反映させるかどうかは、利用するワークフローに応じて自由に選択できることが望ましい。
【００３６】
図１３は、階層化メタデータ変更画面１００１において分割が指示されて、印刷文書分割部３０２が印刷文書３０４を分割するときのフローチャートである。
ＵＩ制御部３０１から分割の指示があると、ステップＳ３０２で、印刷文書分割部３０２は、分割後の階層化メタデータ３０４ａの構造を決定する処理を行う。より具体的には、印刷文書分割部３０２は、分割方針画面１０１０でどちらにチェックされたかを取得する処理を行い、階層構造のどの階層にどのメタデータのキーが存在する構造となるかを決定する。例えば、図１２Ｂの編集がなされた後で、「編集結果を反映させない」にチェックがある場合は、印刷文書分割部３０２は、メタデータのキー「氏名」、「都道府県」、「市区町」、「性別」、「年齢」を第１階層に、メタデータのキー「用途」を第２階層にする。同様にして、図１２Ｂの編集がなされた後で、「編集結果を反映させる」にチェックがある場合は、印刷文書分割部３０２は、メタデータのキー「用途」を第１階層に、メタデータのキー「氏名」、「都道府県」、「市区町」、「性別」、「年齢」を第２階層にする。また、図１２Ａのように編集がなされていない状態で分割された場合は、「編集結果を反映させる」、「編集結果を反映させない」のいずれの場合も、印刷文書分割部３０２は、同じ構造とする。より具体的には、印刷文書分割部３０２は、メタデータのキー「氏名」、「都道府県」、「市区町」、「性別」、「年齢」を第１階層に、メタデータのキー「用途」を第２階層にする。
ステップＳ３０３で、印刷文書分割部３０２は、分割後の印刷文書数を取得する処理を行う。例えば、図１２の例では、共に印刷文書数として「２」が得られる。
ステップＳ３０４で、印刷文書分割部３０２は、印刷文書３０４を全て分割するまで、ステップＳ３０５からステップＳ３１２までを繰り返す処理を行う。
ステップＳ３０５で、印刷文書分割部３０２は、インポート時の印刷文書３０４に対して、ＤＰａｒｔＲｏｏｔ及び第０階層のＤＰａｒｔ及びそのメタデータをコピーする処理を行う。例えば、図１２では、図４Ａの階層化メタデータ３０４ａに対して、ＤＰａｒｔＲｏｏｔ４０１、ＤＰａｒｔ４０２、メタデータ４０３、４０４をコピーすることとなる。
【００３７】
ステップＳ３０６で、印刷文書分割部３０２は、インポート時の印刷文書３０４に対して、第１階層から順に第Ｎ階層までステップＳ３０７からステップＳ３０９までを繰り返す処理を行う。例えば、図１２の例では、図４Ａの階層化メタデータ３０４ａに対して、第１階層から順に第２階層まで処理される。
ステップＳ３０７で、印刷文書分割部３０２は、分割が確定された位置に従って、ＤＰａｒｔの持つメタデータのキーとバリュー及びＤＰａｒｔ間の親子関係から、ＤＰａｒｔが分割後に必要かどうかを判断する処理を行う。ステップＳ３０７で必要と判断された場合はステップＳ３０８へ進む。ステップＳ３０７で必要でないと判断された場合は、ステップＳ３１０へ進む。例えば、図１２Ａにおいて１つ目に分割する印刷文書は、第１階層においては、ユーザの指定した分割位置によって、キーが「氏名」でバリューが「鈴木  一郎」であるメタデータを持つＤＰａｒｔ４０５が分割後に必要と判断される。また、第２階層においては、第１階層で選択されたＤＰａｒｔ４０５の子ノード、かつ、キーが「用途」でバリューが「表紙」又は「本文」であるメタデータを持つＤＰａｒｔ４１３、４１４が分割後に必要と判断される。また、図１２Ａにおいて２つ目に分割する印刷文書３０４は、第１階層においては、ユーザの指定した分割位置によって、キーが「氏名」でバリューが「田中  三郎」、「山田  太郎」、「佐藤  二郎」であるメタデータを持つＤＰａｒｔが分割後に必要と判断される。分割後に必要と判断されるＤＰａｒｔは、より具体的には４０６、４０７、４０８である。また、第２階層においては、第１階層で選択されたＤＰａｒｔ４０６の子ノードかつキーが「用途」でバリューが「表紙」又は「本文」であるメタデータを持つＤＰａｒｔ４２２、ＤＰａｒｔ４２３が必要と判断される。同様にして、第１階層で選択されたＤＰａｒｔ４０７の子ノードかつキーが「用途」でバリューが「表紙」又は「本文」であるメタデータを持つＤＰａｒｔ４２４、ＤＰａｒｔ４２５が第２階層で必要と判断される。最後に、第１階層で選択されたＤＰａｒｔ４０８の子ノードかつキーが「用途」でバリューが「表紙」又は「本文」であるメタデータを持つＤＰａｒｔ４２６、ＤＰａｒｔ４２７が第２階層で必要と判断される。
【００３８】
ステップＳ３０８で、印刷文書分割部３０２は、必要と判断したＤＰａｒｔ及びメタデータをコピーする処理を行う。例えば、印刷文書分割部３０２は、図１２Ａにおいて１つ目に分割する印刷文書に関して、第１階層においては、ＤＰａｒｔ４０５及びメタデータ４０９が、第２階層においてはＤＰａｒｔ４１３、４１４及びメタデータ４１５、４１７をコピーする。これ以降の説明において、ＤＰａｒｔＸＸＸのコピーはＣｏｐｙＸＸＸ＿ＤＰａｒｔと表現する。例えば、ＤＰａｒｔ４０５のコピーは、Ｃｏｐｙ４０５＿ＤＰａｒｔと表現する。
ステップＳ３０９で、印刷文書分割部３０２は、ステップＳ３０５でコピーした第０階層のＤＰａｒｔ、又はステップＳ３０８でコピーした第Ｎ階層（Ｎは１以上）のＤＰａｒｔ間を連結する処理を行う。例えば、印刷文書分割部３０２は、図１２Ａにおいて１つ目に分割する印刷文書に関して、Ｃｏｐｙ４０２＿ＤＰａｒｔとＣｏｐｙ４０５＿ＤＰａｒｔとを連結し、Ｃｏｐｙ４０５＿ＤＰａｒｔとＣｏｐｙ４１３＿ＤＰａｒｔとＣｏｐｙ４１４＿ＤＰａｒｔとを連結する。
ステップＳ３１０で、印刷文書分割部３０２は、全ての階層に対して処理を行うと、ステップＳ３１１へ進む。
ステップＳ３１１で、印刷文書分割部３０２は、印刷文書３０４そのものも分割し、再利用オブジェクトがある場合には、それぞれの印刷文書３０４で利用できるようにコピーを作成する。また、印刷文書分割部３０２は、ステップＳ３０２で予め決定しておいた構造となるように、ステップＳ３０５からステップＳ３１０までで作成した階層化メタデータ３０４ａをグルーピングする処理をして、分割して作成した印刷文書３０４と統合する。もちろん、階層化メタデータ３０４ａが分割前に編集されていない場合には、グルーピング処理は行う必要はない。例えば、図１２Ｂの編集がなされた後で、「編集結果を反映させる」にチェックがある場合は、印刷文書分割部３０２は、メタデータのキー「用途」を第１階層にする必要があるので、キー「用途」でグルーピングすることとなる。
ステップＳ３１２で、印刷制御情報更新部３０７は、新たに印刷制御情報３０６を作成する処理を行い、更に必要に応じて階層化メタデータ３０４ａのキー「レコードレベル」の更新を行う。例えば、図１２Ｂの編集がなされた後で、「編集結果を反映させる」にチェックがある場合は、印刷文書分割部３０２は、キー「用途」でグルーピングするので、キー「レコードレベル」についても、「２」に更新する。
ステップＳ３１３で、印刷文書分割部３０２は、印刷文書３０４を全て分割する処理を行うと、本シーケンスを終了する。
【００３９】
図１４Ａは、図４Ａに対して、図１３のフローチャートを実行した結果の分割後の階層化メタデータ３０４ａのイメージの一例を示す図である。より具体的には、図１２Ａの分割ボタン１００４を押下し、分割方針画面１０１０において「編集結果を反映させない」にチェックをいれて分割した場合の階層化メタデータ３０４ａを示したイメージの図である。図１２Ａの分割ボタン１００４によって、階層化メタデータ３０４ａは、キーが「氏名」でバリューが「鈴木  一郎」とそれ以外で分割されていることがわかる。
ＤＰａｒｔＲｏｏｔ１１０１は、分割されてできた１つの階層化メタデータ３０４ａのＤＰａｒｔＲｏｏｔである。ＤＰａｒｔ１１０２にキーが「氏名」でバリューが「鈴木  一郎」であるメタデータ１１０３が存在する。
ＤＰａｒｔＲｏｏｔ１１０４は、分割されてできたもう１つの階層化メタデータ３０４ａのＤＰａｒｔＲｏｏｔである。ＤＰａｒｔ１１０５、１１０６、１１０７のそれぞれでキーが「氏名」でバリューが「田中  三郎」、「山田  太郎」、「佐藤  二郎」であるメタデータ１１０８、１１０９、１１１０が存在する。
図１４Ｂは、図４Ａに対して、図１３のフローチャートを実行した結果の１つ目に分割した印刷文書３０４の階層化メタデータ３０４ａのイメージの一例を図である。より具体的には、図１２Ｂにおいて分割ボタン１００７を押下し、分割方針画面１０１０において「編集結果を反映させる」にチェックをいれて分割した場合の階層化メタデータ３０４ａを示したイメージの図である。
ＤＰａｒｔＲｏｏｔ１１１１は、分割されてできた階層化メタデータ３０４ａのＤＰａｒｔＲｏｏｔである。
メタデータ１１１２は、キーが「レコードレベル」でバリューが「２」のメタデータである。
ＤＰａｒｔ１１１３は、図４ＡのＤＰａｒｔ４１３、４２２、４２４、４２６のコピーによって作成されたＤＰａｒｔについて、更にグルーピングしたＤＰａｒｔである。
ＤＰａｒｔ１１１４は、図４ＡのＤＰａｒｔ４０５のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１１５は、図４ＡのＤＰａｒｔ４０６のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１１６は、図４ＡのＤＰａｒｔ４０７のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１１７は、図４ＡのＤＰａｒｔ４０８のコピーによって作成されたＤＰａｒｔである。
分割後の階層化メタデータ３０４ａは、編集結果が反映されており、キー「用途」によって、グルーピングされており、キー「レコードレベル」についてもバリューが「２」に更新されていることがわかる。
【００４０】
図１４Ｃは、図４Ａに対して、図１３のフローチャートを実行した結果の１つ目に分割した印刷文書３０４の階層化メタデータ３０４ａのイメージの一例を示す図である。より具体的には、図１２Ｂにおいて分割ボタン１００７を押下し、分割方針画面１０１０において「編集結果を反映させない」にチェックをいれて分割した場合の階層化メタデータ３０４ａを示したイメージの図である。
ＤＰａｒｔＲｏｏｔ１１１８は、分割されてできた階層化メタデータ３０４ａのＤＰａｒｔＲｏｏｔである。
メタデータ１１１９は、キーが「レコードレベル」でバリューが「１」のメタデータである。
ＤＰａｒｔ１１２０は、図４ＡのＤＰａｒｔ４０５のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１２１は、図４ＡのＤＰａｒｔ４０６のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１２２は、図４ＡのＤＰａｒｔ４０７のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１２３は、図４ＡのＤＰａｒｔ４０８のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１２４は、図４ＡのＤＰａｒｔ４１３のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１２５は、図４ＡのＤＰａｒｔ４２２のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１２６は、図４ＡのＤＰａｒｔ４２４のコピーによって作成されたＤＰａｒｔである。
ＤＰａｒｔ１１２７は、図４ＡのＤＰａｒｔ４２６のコピーによって作成されたＤＰａｒｔである。
分割後の階層化メタデータ３０４ａは、グルーピングによる編集は反映されないため、キー「レコードレベル」についてもバリューが「１」のままである。
以上説明してきた通り、階層化メタデータ３０４ａを分割することができ、しかも分割後も印刷制御情報３０６について整合性を確保できる。また、階層化メタデータ３０４ａを分割する簡易な編集方法を提供している。
【００４１】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００４２】
以上、上述した各実施形態によれば、階層化構造を有する印刷データのマージや分割を適切に行うことができる。
【００４３】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005653199.tif 000002
【図２】
0005653199.tif 000003
【図３】
0005653199.tif 000004
【図４Ａ】
0005653199.tif 000005
【図４Ｂ】
0005653199.tif 000006
【図４Ｃ】
0005653199.tif 000007
【図４Ｄ】
0005653199.tif 000008
【図５】
0005653199.tif 000009
【図６Ａ】
0005653199.tif 000010
【図６Ｂ】
0005653199.tif 000011
【図６Ｃ】
0005653199.tif 000012
【図７】
0005653199.tif 000013
【図８】
0005653199.tif 000014
【図９】
0005653199.tif 000015
【図１０】
0005653199.tif 000016
【図１１】
0005653199.tif 000017
【図１２Ａ】
0005653199.tif 000018
【図１２Ｂ】
0005653199.tif 000019
【図１２Ｃ】
0005653199.tif 000020
【図１３】
0005653199.tif 000021
【図１４Ａ】
0005653199.tif 000022
【図１４Ｂ】
0005653199.tif 000023
【図１４Ｃ】
0005653199.tif 000024