(57)【特許請求の範囲】
【請求項１】
メタデータを備える階層構造の印刷データからレコードレベルの階層を特定する特定手段と、
前記特定手段において特定された階層に含まれるメタデータを表示する表示制御手段と、
前記表示制御手段により表示されたメタデータから少なくとも１つのメタデータの選択を受け付ける受け付け手段と、
前記受け付け手段において受け付けられた前記少なくとも１つのメタデータが設定されたレコードを印刷対象として決定する決定手段を備えることを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記決定手段により印刷対象として決定されたレコードの数を表示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段により印刷対象として決定されたレコードがない場合、前記印刷データに対する印刷の指示を受け付けないことを特徴とする印刷制御手段を備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記特定手段において特定された階層に含まれる全レコードにおいて共通するメタデータが選択されない設定画面を表示することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記表示制御手段は、前記特定手段において特定された階層の上位の階層のメタデータを表示することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記表示制御手段は、前記特定手段において特定された階層の下位の階層のメタデータを表示することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記印刷データは、ＰＤＦ／ＶＴであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
メタデータを備える階層構造の印刷データからレコードレベルの階層を特定する特定工程と、
前記特定工程において特定された階層に含まれるメタデータを表示する表示制御工程と、
前記表示制御工程により表示されたメタデータから少なくとも１つのメタデータの選択を受け付ける受け付け工程と、
前記受け付け工程において受け付けられた前記少なくとも１つのメタデータが設定されたレコードを印刷対象として決定する決定工程を備えることを特徴とする制御方法。
【請求項９】
メタデータを備える階層構造の印刷データからレコードレベルの階層を特定する特定工程と、
前記特定工程において特定された階層に含まれるメタデータを表示する表示制御工程と、
前記表示制御工程により表示されたメタデータから少なくとも１つのメタデータの選択を受け付ける受け付け工程と、
前記受け付け工程において受け付けられた前記少なくとも１つのメタデータが設定されたレコードを印刷対象として決定する決定工程をコンピュータに実行させるためのプログラム。
【請求項１０】
前記表示制御工程は、前記決定工程により印刷対象として決定されたレコードの数を表示することを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記決定工程により印刷対象として決定されたレコードがない場合、前記印刷データに対する印刷の指示を受け付けないことを特徴とする印刷制御工程を備えることを特徴とする請求項９または１０に記載のプログラム。
【請求項１２】
前記表示制御工程は、前記特定工程において特定された階層に含まれる全レコードにおいて共通するメタデータが選択されない設定画面を表示することを特徴とする請求項９乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
前記表示制御工程は、前記特定工程において特定された階層の上位の階層のメタデータを表示することを特徴とする請求項９乃至１２のいずれか１項に記載のプログラム。
【請求項１４】
前記表示制御工程は、前記特定工程において特定された階層の下位の階層のメタデータを表示することを特徴とする請求項９乃至１３のいずれか１項に記載のプログラム。
【請求項１５】
前記印刷データは、ＰＤＦ／ＶＴであることを特徴とする請求項９乃至１４のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＤＬに格納される階層構造で表現されたメタデータを用いた印刷制御を行う印刷システムに係わる。
【背景技術】
【０００２】
印刷文書（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を顧客毎にカスタマイズして印刷するバリアブル印刷が注目されている。バリアブル印刷用の仕様としてＰＤＦ／ＶＴ（Ｖａｒｉａｂｌｅ  ｄａｔａ  ａｎｄ  Ｔｒａｎｓａｃｔｉｏｎａｌ）の標準化が開始された。
【０００３】
ＰＤＬデータであるＰＤＦ／ＶＴは、ＤＰａｒｔ（Ｄｏｃｕｍｅｎｔ  Ｐａｒｔ）と呼ばれる階層構造を追加してＰＤＦのページを構造化する。さらにＰＤＦ／ＶＴには、各ＤＰａｒｔにＤＰＭ（Ｄｏｃｕｍｅｎｔ  Ｐａｒｔ  Ｍｅｔａｄａｔａ）という任意のメタデータを付加することができる。また、このメタデータはＴｒｅｅ形式で表現される階層構造により表現されている。
【０００４】
また、バイナリデータとメタデータとから構成されるデータを使って印刷する場合、画像処理装置は、メタデータを使って印刷に使用する表紙を決める方法が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−０３７７３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献に記載の技術では、PDLに含まれるメタデータを使ってユーザが希望する特定のレコードを選択的に印刷することができなかった。
【０００７】
また、従来、PDLに含まれるメタデータを使ってレコードを選択するために、ジョブチケット（JDF）を生成してレコードを選択する技術もあった。
【０００８】
しかしながら、この技術では、メタデータが記述されたジョブチケットを生成する負荷やジョブチケットを解釈する処理などが発生し、容易にPDLに含まれるメタデータを使ってレコードを選択することができなかった。
【課題を解決するための手段】
【０００９】
上記の問題点を解決するため、本発明は、メタデータを備える階層構造の印刷データからレコードレベルの階層を特定する特定手段と、前記特定手段において特定された階層に含まれるメタデータを表示する表示制御手段と、前記表示制御手段により表示されたメタデータから少なくとも１つのメタデータの選択を受け付ける受け付け手段と、前記受け付け手段において受け付けられた前記少なくとも１つのメタデータが設定されたレコードを印刷対象として決定する決定手段を備えることを特徴とする。
【発明の効果】
【００１０】
以上により、ＰＤＬ中のメタデータを使って選択的にレコードを印刷することが容易となる。
【図面の簡単な説明】
【００１１】
【図１】印刷システム構成図
【図２】印刷システムにおけるＰＤＬ処理部の処理構成図
【図３】ＰＤＬ構造図
【図４】メタデータ表と印刷対象レコード
【図５】メタデータを指定するための印刷設定ＵＩ
【図６】全レコードのメタデータが共通する場合の印刷設定ＵＩ
【図７】第１の実施の形態のフローチャート
【図８】第２の実施の形態における印刷設定ＵＩ
【図９】レコードレベルとレコードレベルの親要素のメタデータ
【図１０】第３の実施の形態における印刷設定ＵＩ
【図１１】第３の実施の形態を示すフローチャート
【図１２】ＰＤＬ構造図
【図１３】メタデータ表
【図１４】第４の実施の形態を示すフローチャート
【図１５】第４の実施の形態における印刷設定ＵＩ
【図１６】ＰＤＬ構造図
【図１７】第５の実施の形態におけるメタデータ表生成方法
【図１８】第５の実施の形態における印刷設定ＵＩ
【図１９】ＰＤＬ構造図
【図２０】メタデータ表
【図２１】第４の実施の形態における印刷設定ＵＩ
【図２２】第５の実施の形態を示すフローチャート
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を用いて説明する。本発明はプリンタコントローラ、プリンタドライバどちらの形態でも適用可能であるが、以下に示す実施例では、本発明を適用したプリンタドライバで印刷を行うシステムを例に挙げて説明する。
【００１３】
＜実施例１＞
＜システム構成＞
図１（ａ）は、本発明が適用できる情報処理装置の構成の一例を示した図である。図１（ａ）において、１台以上のパーソナルコンピュータ（以下、ＰＣと表記する）１０２にネットワークまたはケーブルなどを介してプリンタ１０３が接続されている。
【００１４】
ＰＣ１０２はメタデータを含む各種のデータを格納するＤＢ１００とＶＤＰテンプレート１０１からＰＤＬ（印刷データまたはＰＤＦ／ＶＴとも呼ぶ）を生成するＰＤＬ生成部１０４を備える。さらに、ＰＣ１０３は、ＰＤＬ生成部１０４で生成されたＰＤＬのメタデータより印刷を制御するＰＤＬ処理部１０５も備える。
【００１５】
プリンタ１０３は印刷装置であり、ネットワークまたはケーブルなどによってデータを受信する。
【００１６】
図１（ｂ）は、本実施形態におけるＰＣ１０２のハードウェア構成の一例を示すブロック図である。ＰＣ１０２のハードウェアは、様々な接続方法や、様々なバスやインターフェースを有した構成が一般に知られており、ここで紹介するハードウェア構成は一例である。
【００１７】
ＣＰＵ１０８はＲＡＭ１０９に読み込まれている制御プログラムに従って本装置全体の制御を行うＣＰＵである。ＲＡＭ１０９はＣＰＵ１０８が実行する本装置の制御プログラムや、文書、画像等のデータが読み込まれる内部記憶部である。ネットワークインタフェース１１０はＣＰＵ１０８の制御のもとにインターネット等のネットワークとの接続を行ってデータ等を送受信するネットワークインタフェースである。ＨＤＤ１１１はＰＣ１０２の制御ソフトウェアを始め、様々なデータを保存するハードディスクドライブ（ＨＤＤ）である。１１２はディスプレイ、１１３はキーボード、１１４はマウス等のポインティングデバイスである。
【００１８】
ＨＤＤ１１１に記憶されている各種ソフトウェアは、必要に応じてＲＡＭ１０９に読み込まれ、同じくＲＡＭ１０９に読み込まれているオペレーティングシステムの機能を必要に応じて使用し、ＣＰＵ１０８の制御のもと実行される。
【００１９】
＜モジュール構成＞
図２は、ＰＤＬ処理部のモジュール構成を説明する図である。図１におけるＰＤＬ処理部１０５は、ＰＤＬ解析部２０１、印刷設定ＵＩ部２０２、印刷制御部２０３から構成されている。
【００２０】
図３（ａ）は、ＰＤＬ処理部に入力されるＰＤＬの構造を表す図である。図３（ａ）におけるノード３００は階層構造をとるメタデータにおけるルートノードである。ルートノード３００より下の階層にあるノードは任意のメタデータを保持することができる。ノード３０７を例にとると、メタデータキー「性別」の値として「男性」を保持しており、同様にメタデータキー「郵便番号」の値とて「３３３−３３３３」を保持している。
【００２１】
また、ルートノード３００にはバリアブル印刷における反復処理を行う階層レベルを指定する情報３０９が格納されている。この反復処理を行う単位をレコードと呼び、反復処理を行う階層レベルをレコードレベル（またはレシピエントレベル）と呼ぶ。レコードレベル３０９は、ルートノード３０１−３０４を０として反復処理を行う階層の深さを示す。
【００２２】
ＰＤＬ解析部２０１は、ＰＤＬのファイル構造を解析し、メタデータのルートノード３００から反復処理を行う階層レベルであるレコードレベル  ３０９を特定する。その後、特定されたレコードレベル  ３０９が指し示す階層（図３では、階層３１０）からメタデータのキーと値を抽出する。
【００２３】
なお、図３に示すＰＤＬには印刷に使用される描画データ３１９（例えばＰＤＦデータ）も含まれるため、ＰＤＬデータは印刷データとも呼ばれる。
【００２４】
ＰＤＬ解析部２０１は、抽出したレコードレベルのメタデータのキーと値からメタデータのキーと値の対応関係を記述したデータ（以降、メタデータ表と呼ぶ）２０５を生成し、ＰＤＬ処理部１０５の内部で保持する。図４（ａ）は図３（ａ）のＰＤＬにおけるメタデータ表の一例を示した図である。
【００２５】
セル４００は図３（ａ）のノード３０５に対応しており、一意のレコードを示す番号「０００１」が格納されている。このレコード番号は、階層構造をとるメタデータのルートノード３００を始点にして幅優先探索を行い、レコードレベル３０９に対応するレコードであると判断された順に割り振られる。
【００２６】
同様にセル４０１はノード３０５に含まれるメタデータキー「性別」の値「男性」、セル４０２にはノード３０５に含まれるメタデータキー「郵便番号」の値「１１１−１１１１」が格納されている。
【００２７】
ＰＤＬ解析部２０１は、抽出したレコードレベルにあるレコードのうち印刷対象となるレコード（以降、印刷対象レコードと呼ぶ）２０６を生成し、ＰＤＬ処理部１０５の内部で保持する。
【００２８】
図４（ｂ）は印刷対象レコードの一例を示した図である。この例ではセル４０３にレコード番号「０００１」、セル４０４にレコード番号「０００３」が格納されている。ここで述べているレコード番号は図４（ａ）のレコード番号に対応しており、この印刷対象レコードでは図４（ａ）におけるレコード「０００１」、「０００３」が印刷対象であることを意味する。
【００２９】
印刷設定ＵＩ部２０２は、ＰＤＬ解析部２０１が生成したメタデータ表２０５よりレコードレベルのメタデータのキーと値を参照し、印刷設定ＵＩのリストボックスに表示する。なお、印刷設定ＵＩ部２０２は、印刷設定ＵＩの表示を制御するので表示制御部とも呼ばれる。図５（ａ）は印刷設定ＵＩの表示例を示し、メタデータ等の指定を受け付ける。タブ５００〜５０３はプリンタドライバにおける印刷設定ＵＩの機能設定をアクティブにするためのタブであり、選択されたタブに対応した機能の設定画面が表示される。以降は、フィルタリング機能のタブ５００がアクティブになっている場合について記述する。
【００３０】
リストボックス上部の名称５０４、５０７は図４（ａ）のメタデータ表におけるキー名である。
【００３１】
また、値５０５、５０６は図４（ａ）のメタデータ表におけるメタデータキー「性別」に対応する値である。印刷設定ＵＩ部２０２は印刷設定ＵＩのリストボックスに図４（ａ）のメタデータ表の性別キーから重複しない値として「男性」、「女性」を抽出して表示する。
【００３２】
印刷設定ＵＩ部２０２はメタデータ値「男性」５０５の選択を受け付けた場合、印刷設定ＵＩ部２０２は「男性」５０５の背景色を変更する。
【００３３】
同様に値５０８〜５１０は図４（ａ）のメタデータ表におけるメタデータキー「郵便番号」の値を表す。印刷設定ＵＩ部２０２は印刷設定ＵＩのリストボックスに「１１１−１１１１」、「２２２−２２２２」、「３３３−３３３３」を表示する。
【００３４】
印刷設定ＵＩ部２０２は、メタデータ値「１１１−１１１１」５０８、「３３３−３３３３」５１０の選択を受け付けると、リストボックスで選択された値の背景色を変更する。
【００３５】
また、図５（ｂ）は、選択したメタデータ以外をもつレコードを印刷するためのチェックボックス５１３、５１４を設けた例である。図５（ｂ）の場合、チェックボックス５１３にチェックが入れられていないため、印刷設定ＵＩ部２０２はメタデータキー「性別」の値が男性であるレコードが指定されたと判断する。
【００３６】
一方、チェックボックス５１４にチェックがあるため、印刷設定ＵＩ部２０２はメタデータキー「郵便番号」の値が「１１１−１１１１」でないレコードが指定されたと判断する。結果として、印刷設定ＵＩ部２０２はメタデータキー「性別」の値が男性であり、かつメタデータキー「郵便番号」の値が「１１１−１１１１」でないレコードが印刷対象レコード２０６に登録される。このとき、メタデータ表２０５の全レコードでメタデータの値が同一となる場合、印刷設定ＵＩ部２０２は、そのメタデータについて印刷設定ＵＩのリストボックスに表示を行わない。
【００３７】
図６は、メタデータ表２０５の全レコードでメタデータの値が共通である場合、印刷設定ＵＩのリストボックスに共通のメタデータが表示されない例を示す。図６の値  ６０１ではレコード０００１〜０００４においてメタデータキー「郵便番号」の値が「１１１−１１１１」と同一であるため、印刷設定ＵＩ部２０２は印刷設定ＵＩのリストボックスに「郵便番号」のキーと値の表示を行わないようにすることもできる。
【００３８】
また、印刷設定ＵＩ部２０２は、ＰＤＬ解析部２０１が生成した印刷対象レコード２０６に格納されているレコードの数を印刷設定ＵＩへ表示する（図５の印刷レコード数５１１を参照）。このとき、レコード数が０の場合は、印刷設定ＵＩ部２０２は印刷設定ＵＩに警告メッセージ７００を表示する。  印刷設定ＵＩ部２０２は、印刷対象レコード数が０の状態で印刷ボタン７０１の押下を受け付けると印刷対象レコード数が０であることを警告するウィンドウを表示する。あるいは、印刷設定ＵＩ部２０２は、印刷対象レコード数が０の時には印刷ボタン５１２を操作できないようにしてもよい。
【００３９】
印刷制御部２０３は、印刷対象レコード数が０より大きい場合に印刷ボタン５１０の押下を受け付けると、印刷対象レコード２０６に記述されたレコード（図４では、「０００１」４０３、「０００３」４０４に対応するレコード３０５、３０７）を抽出して印刷する。なお、本願では、条件に従って抽出されたレコード（またはページ）を印刷する処理をフィルタリング印刷と呼ぶ。
【００４０】
図７は、本発明の第１の実施の形態におけるＰＤＬ処理部１０５の処理を表すフローチャートである。なお、本願のフローチャートは、ＣＰＵ１０８がフローチャートの処理に関係するプログラムをメモリから呼び出して実行することで実現される。
【００４１】
Ｓ９０１においてＰＤＬ解析部２０１は、メタデータを含むＰＤＬを解析する。
【００４２】
Ｓ９０２においてＰＤＬ解析部２０１は、ルートノード３００に格納されているレコードレベル３０９を取得（特定）する。
【００４３】
Ｓ９０３においてＰＤＬ解析部２０１は、Ｓ９０２で取得された（特定された）レコードレベルにより指定されるＰＤＬの階層３１０からメタデータのキーと値（例えば、図３のキーと値３１１−３１４）を抽出する。
【００４４】
Ｓ９０４においてＰＤＬ解析部２０１は、Ｓ９０３で抽出したレコードレベルのメタデータのキーと値の対応関係を記述したメタデータ表２０５を生成し、保持する。
【００４５】
Ｓ９０５においてＰＤＬ解析部２０１は、Ｓ９０３で抽出したレコードレベルのレコード３１０のうち、印刷対象である印刷対象レコード２０６を生成し、保持する。なお、この段階では全てのレコードが印刷対象レコードであるため、例えば図４（ａ）の例では、レコード０００１−０００４が印刷対象レコードとして保持される。
【００４６】
Ｓ９０６において、印刷設定ＵＩ部２０２がメタデータ表２０５に格納されているメタデータのキー、値を印刷設定ＵＩに表示する。その結果、例えば、図５のキー５０４、５０７と値５０５−５０６、５０８−５１０が印刷設定ＵＩに表示される。ここで、印刷対象レコード２０６に格納されているレコード数が印刷設定ＵＩに表示される。
【００４７】
Ｓ９０７において、印刷設定ＵＩ部２０２が印刷設定ＵＩに対する入力を受け付ける。
【００４８】
Ｓ９０８において、印刷設定ＵＩ部２０２がＳ９０７により受け付けた入力が印刷ボタン５１２であるかを判定する。
【００４９】
印刷ボタン５１２への入力が受け付けられた場合はステップＳ９１２に進み、印刷ボタンへの入力が受け付けられていない場合はＳ９０９に進む。
【００５０】
Ｓ９０９において、印刷設定ＵＩ部２０２がＳ９０７において受け付けた入力がメタデータの選択であるかを判定する。
【００５１】
Ｓ９０９においてメタデータの選択であると判定された場合、Ｓ９０９において指定されたメタデータを持つレコードを印刷対象レコード２０６に書き込む。例えば、図５においてメタデータ「男性」が選択された場合、図４（ｂ）のようにレコード０００１、０００３が印刷対象レコードに書き込まれる。
【００５２】
Ｓ９１１において、印刷設定ＵＩ部２０２が印刷対象レコード２０６に格納されているレコード数を印刷設定ＵＩに表示する。その結果、例えば、図４（ｂ）では、メタデータ「男性」が選択された場合、２つのレコード（レコード０００１、０００３）が抽出されるので、図５のように「印刷レコード数＝２」（５１１）が表示される。
【００５３】
Ｓ９１２において、印刷設定ＵＩ部２０２が印刷対象レコード２０６に格納されているレコード数が０以上であるかを判定し、０以上であればＳ９１３に進む。
【００５４】
Ｓ９１３において、印刷制御部２０３が、ＰＤＬに含まれるレコードの中で印刷対象レコード２０６に保存されたレコードを印刷することをプリンタ１０３に指示する。つまり、図４の例では、レコード０００１−０００４からレコード０００１と０００３が印刷されるレコードとして決定される。
【００５５】
以上、本実施例１の処理では、ＰＤＬ中のメタデータを使ってユーザが必要とするレコードを選択的に印刷するフィルタリング印刷を実現することで、印刷対象レコードを指定するために、例えばＪＤＦ等の印刷指示データを事前に用意する手間を省くことができる。すなわち、フィルタリング印刷を容易に実現できる。
【００５６】
なお、図４のメタデータ表において、「男性」と郵便番号「２２２−２２２２」とが共存するレコードがないので、例えば図５において「男性」が選択された段階で、郵便番号「２２２−２２２２」が選択できないように表示されても良い。
【００５７】
＜実施例２＞
本願の実施例１において、ＰＤＬのレコードレベルにあるレコードのメタデータ全てをフィルタリング印刷時の選択対象とする例を示した。しかしながら、ＰＤＬのレコードレベルに含まれるメタデータのキーの数が多い場合、印刷設定ＵＩに配置されるリストボックスの数が多くなり、ユーザが誤ってメタデータを選択するおそれがある。
【００５８】
上記の問題を解決するため、印刷設定ＵＩにメタデータを印刷のフィルタリングに用いるか否かを指定するためのチェックボックスを設け、レコードレベルのレコードにある全メタデータからフィルタリングに用いるメタデータの指定することを可能にする。
【００５９】
図８は、本願の実施例２における印刷設定ＵＩの表示例を示す。
【００６０】
図８のチェックボックス１０００−１００１は、該当するメタデータキーの値を印刷フィルタリングに用いるか否かを指定するために使用される。
【００６１】
印刷設定ＵＩ部２０２は、チェックボックス１０００にチェックがないため、たとえばメタデータ１００４の選択を受け付けないようにメタデータ１０４をグレーアウトする。なお、選択を受け付けない方法であればグレーアウトに限る必要はない。また、例えばメタデータ１００４の選択を受け付けたとしても、チェックボックス１０００にチェックがない場合は、メタデータ１００４の選択が無効化される。
【００６２】
また、印刷設定ＵＩ部２０２は、チェックボックス１００１にチェックがあるため、メタデータキー「郵便番号」の値の選択を受け付けるためにメタデータ１００５を有効化する。
【００６３】
このようにチェックボックスを設けることで、メタデータのキーの数が増えてもユーザの誤操作を防止することが可能となる。
【００６４】
＜実施例３＞
実施例１において、ＰＤＬのレコードレベルにあるレコードのメタデータのみをフィルタリング印刷時の選択対象とする例を示した。しかしながら、対象とするＰＤＬのレコードレベルの親要素に含まれるメタデータによりグルーピングが行われている場合、そのような情報を印刷制御に活用することができない。
【００６５】
上記の問題を解決するため、印刷設定ＵＩにレコードレベルの親要素のメタデータを印刷のフィルタリングに用いるか否かを指定するためのチェックボックスを設け、レコードレベルの親要素のメタデータをフィルタリングに用いるか否かの指定を可能にする。図１０は実施例３における印刷設定ＵＩの例を示す。
【００６６】
図１０（ａ）では、レコードレベルの親要素のメタデータを印刷のフィルタリングに用いるか否かを指定するためのチェックボックス１３００にチェックがない場合の例である。この場合、印刷設定ＵＩ部２０２は、レコードレベルの親階層のメタデータは用いないため、実施例１と同様にレコードレベルのメタデータのみをリストボックスに表示する。
【００６７】
一方、図１０（ｂ）では、レコードレベルの親要素のメタデータを印刷のフィルタリングに用いるか否かを指定するためのチェックボックス１３０３にチェックがある場合の例である。この場合、印刷設定ＵＩ部２０２は、レコードレベルとレコードレベルの親要素のメタデータを用いてメタデータ表２０５を生成する。
【００６８】
図９にレコードレベルとレコードレベルの親要素のメタデータを用いたメタデータ表２０５の生成例を示す。
【００６９】
印刷設定ＵＩ部２０２は、レコードレベルのメタデータ１２０２、１２０３について実施例１と同様にメタデータのキーと値をメタデータ表に格納する。その結果、メタデータのキーと値１２０５がメタデータ表に格納される。
【００７０】
印刷設定ＵＩ部２０２は、レコードレベルの親要素のメタデータ１２００、１２０１をレコードレベルのメタデータとの親子関係に従ってメタデータ表にコピーする。その結果、親要素のメタデータのキーと値１２０４がメタデータ表に格納される。
【００７１】
そして、印刷設定ＵＩ部２０２は、メタデータ表１２０６に格納されたメタデータをリストボックスに表示する（図１０のリストボックス１３０６）。
【００７２】
印刷設定ＵＩ部２０２は、フィルタリングに用いるメタデータの指定を受け付けると、指定されたメタデータをもつレコードを印刷対象レコード２０６に書き込む。
【００７３】
図１０（ｂ）の例ではレコードレベルの親要素のメタデータもフィルタリングに用いることを指定するチェックボックス１３０３にチェックがあり、メタデータキー「年齢層」の値「１０代」が選択されている。
【００７４】
そのため、印刷制御部２０３は、レコードレベルにあるレコード３１０のうちメタデータキー「年齢層」の値が「１０代」であるレコード３０５、３０６がフィルタリング印刷処理される。
【００７５】
図１１は、実施例３におけるＰＤＬ処理部１０５の処理を表すフローチャートである。
【００７６】
Ｓ１４０１−Ｓ１４０７、Ｓ１４１０−Ｓ１４１６は、図７と同じであるため説明は省略する。
【００７７】
ただし、Ｓ１４０３において、ＰＤＬ解析部２０１は、レコードレベルの親要素のメタデータをフィルタリングに用いることを指定するフラグが立っている場合、レコードレベルのメタデータと共に親要素のメタデータのキーと値３１５−３１８も抽出する。
【００７８】
Ｓ１４０８において、印刷設定ＵＩ部２０２は、親要素のメタデータをフィルタリングに用いるか指定するチェックボックスにチェックが入れられているかどうかを判定する。チェックが入れられている場合はＳ１４０９に進み、チェックが入れられていない場合はＳ１４１０に進む。
【００７９】
Ｓ１４０９において、印刷設定ＵＩ部２０２がレコードレベルの親要素のメタデータをフィルタリングに用いることを指定するフラグをセットし、（Ａ）に進む。
【００８０】
以上、示した処理を行うことで、レコードレベルのメタデータだけでなく、レコードレベルの親要素のメタデータも印刷のフィルタリングに用いるか否かについて指定できる。
【００８１】
その結果、レコードレベルの親要素にあるメタデータによってグルーピングを行われているような場合にグルーピング情報を活用したフィルタリング印刷を行うことが可能となる。
【００８２】
また、これまでレコードレベルの親要素のメタデータについて述べたが、レコードレベルの親要素より上位の階層のメタデータについてもフィルタリングの対象として含めてもよい。例として図３（ｂ）のＰＤＬが与えられた場合、レコードレベルのレコード３２１、レコードレベルの親要素のレコード３２０だけでなく、レコードレベルの親要素の親要素レコード３１９のメタデータもフィルタリングの対象として含めることができる。
【００８３】
＜実施例４＞
実施例１において、ＰＤＬのレコードレベルにあるレコードのメタデータのみをフィルタリング印刷の制御対象とする例を示した。しかしながら、対象とするＰＤＬのレコードレベルの子要素のメタデータにフィルタリングで有用な情報を含んでいる場合、印刷に活用することができない。
【００８４】
図１２はレコードレベルの子要素の階層に「印刷モード」というキーのメタデータを持つＰＤＬのデータ構造を表したものである。実施例１では、レコードレベルにあるメタデータしか考慮されていないため、メタデータキー「印刷モード」１５０５の値を用いて印刷をできない。
【００８５】
上記の問題を解決するため、印刷設定ＵＩにレコードレベルの子要素のメタデータを印のフィルタリングに用いるか否かを指定するためのチェックボックスを設け、レコードレベルの子要素のメタデータをフィルタリングに用いるか否かの指定を可能にする。
【００８６】
図１３は、図１２のＰＤＬを入力することで得られるメタデータ表である。
【００８７】
図１５（ａ）では、レコードレベルの子要素のメタデータを印刷のフィルタリングに用いるか否かを指定するためのチェックボックス１８００にチェックが無い場合の例を示している。
【００８８】
印刷設定ＵＩ部２０２は、レコードレベルの階層にあるメタデータキー「都道府県」の値を印刷設定ＵＩのリストボックスに表示し、フィルタリングに用いるメタデータの指定を受け付ける。印刷設定ＵＩ部２０２はメタデータキー「都道府県」の値が「岩手県」となるレコードが印刷対象レコードに指定されたと判断し、レコード１５０４を印刷対象レコード２０６に登録する。
【００８９】
図１５（ａ）の例では、印刷制御部２０３は、印刷ボタンの押下を受け付けると、レコード１５０４についてフィルタリング印刷を行う。
【００９０】
一方、図１５（ｂ）では、レコードレベルの子要素のメタデータを印刷のフィルタリングに用いるか否かを指定するためのチェックボックス１８０１にチェックがある。図１５（ｂ）は、レコードレベルの子要素のメタデータにおいて印刷モードの衝突が発生しない場合の例を示している。
【００９１】
ここで、印刷モードの衝突について説明する。図１３（ａ）にレコードレベルの子要素のメタデータにおいて印刷モードの衝突が発生しない場合の例を示す。図１３（ａ）のメタデータ表のうち印刷モード１６００−１６０２のように全レコードにおいてページ１〜３の中で印刷モードが同一であるため、衝突が発生していないことを意味する。一方、図１３（ｂ）にレコードレベルの子要素のメタデータにおいて印刷モードの衝突が発生する場合の例を示す。図１３（ｂ）のメタデータ表のうち印刷モード１６０４のようにレコード０００２において１、３ページ目は「モノクロ」であるが、２ページ目は「カラー」であり、同一レコード内において印刷モードが統一されていない。このような状態が、印刷モードの衝突が発生していることを意味する。
【００９２】
図１５（ｂ）の説明に戻る。子要素において印刷モードの衝突がない場合、印刷設定ＵＩ部２０２は、チェックボックス１８０１へのチェックに従い、レコードレベルの階層にあるメタデータ「都道府県」を印刷設定ＵＩのリストボックスに表示する。さらに、印刷設定ＵＩ部２０２は、レコードレベルの子要素の階層のメタデータ「印刷モード」を印刷設定ＵＩのリストボックスに表示する。
【００９３】
図１５（ｂ）の例では、印刷設定ＵＩ部２０２は「都道府県」が「岩手県」であり、「印刷モード」が「カラー」であるレコードが印刷対象レコードに指定されたと判断し、レコード１５０４が印刷対象レコード２０６に登録される。
【００９４】
印刷制御部２０３は、印刷ボタンの押下を受け付けると、印刷対象レコード２０６で指定されているレコード１５０４についてフィルタリング印刷を行う。
【００９５】
図１５（ｃ）は、子要素において印刷モードの衝突がある場合の例である。チェックボックス１８０３にチェックがあるが、子要素のメタデータにおいて衝突が発生するため、印刷モードのリストボックスが印刷設定ＵＩに表示されない。これは、レコード単位の印刷が実現できなくなることを防ぐことを目的としている。
【００９６】
なお、子要素に複数のメタデータがあり、一方のメタデータでは衝突が発生するが、他方ではメタデータの衝突が発生しない場合、他方のメタデータはリストボックスに表示される。
【００９７】
図１５（ｃ）の例では印刷設定ＵＩ部２０２は「都道府県」が「岩手県」であるレコード１５０４を印刷対象レコード２０６に登録する。
【００９８】
図１４は、本発明の第４の実施の形態におけるＰＤＬ処理部１０５の処理を表すフローチャートである。図７と異なる点について説明する。
【００９９】
Ｓ１７０４において、ＰＤＬ解析部２０１はレコードレベルより下位のメタデータをフィルタリングに用いるかのフラグを判定する。フラグが立っている場合はＳ１７０５に進み、フラグが立っていない場合はＳ１７０８に進む。
【０１００】
Ｓ１７０５において、ＰＤＬ解析部２０１がレコードレベルより下位のメタデータにおいて、メタデータの衝突を検出する。具体的には、同一レコード内において各ページのメタデータが統一されているか否かを判定することによりメタデータの衝突を検出する。
【０１０１】
Ｓ１７０６において、ＰＤＬ解析部２０１がＳ１７０５のメタデータ衝突判定において衝突が発生すると判定した場合、Ｓ１７０９へ進む。一方、Ｓ１７０５においてメタデータの衝突が発生しないと判定された場合、Ｓ１７０８へ進む。
【０１０２】
Ｓ１７０８において、ＰＤＬ解析部２０１がＳ１７０２で取得したレコードレベルおよびレコードレベルの子階層のメタデータのキーと値よりメタデータ表を生成する。
【０１０３】
Ｓ１７０９において、ＰＤＬ解析部２０１はレコードレベルのメタデータのキーと値よりメタデータ表を生成する。なお、図１３（ｂ）では、子要素のメタデータの衝突を含む状態でメタデータ表が生成されているが、これは説明のための図であり本来は生成されない。また、生成された場合であっても、衝突が発生する子要素のメタデータは使用されない。
【０１０４】
Ｓ１７１３において、印刷設定ＵＩ部２０２がレコードレベルの子要素のメタデータをフィルタリングに用いるか否かを判定し、用いる場合はＳ１７１４に進みレコードレベルの子要素のメタデータをフィルタリングに用いるフラグをＯＮにする。一方、子要素のメタデータをフィルタリングに用いない場合はＳ１７１５へ進む。具体的には、印刷設定ＵＩ部が、図１５のチェックボックス１８００へのチェックの有無を判定することで実現される。
【０１０５】
以上、示した処理を行うことで、レコードレベルのメタデータだけでなく、レコードレベルの子要素のメタデータも印刷のフィルタリングに用いるか否かについて指定できる。
【０１０６】
このことにより、レコードレベルの子要素のメタデータの情報を活用したフィルタリング印刷を行うことが可能となる。
【０１０７】
また、実施例３、４を同時に実施する形態をとってもよい。このような形態において図１９のようなＰＤＬを入力した場合の印刷設定ＵＩを図２１に示す。
【０１０８】
図２０に図１９のＰＤＬから生成されるメタデータ表を示す。図２０のメタデータ表は、レコードレベルのメタデータ表に対してレコードレベルの親要素、子要素のメタデータを含む。
【０１０９】
実施例３と４を同時に実施する場合について説明する。レコードレベルの親要素のメタデータをフィルタリングに用いるか否を指定するチェックボックス２４０３とレコードレベルの子要素のメタデータをフィルタリングに用いるか否かを指定するチェックボックス２４０４が印刷設定ＵＩに含まれる。
【０１１０】
その結果、レコードレベル、レコードレベルの親要素、子要素のメタデータをフィルタリングに用いるか否かの指定が可能になる。
【０１１１】
図２１の例では、メタデータキー「地方」の値として「西日本」、メタデータキー「都道府県」の値として「沖縄県」、メタデータキー「印刷モード」の値として「カラー」が選択されている。
【０１１２】
その結果、印刷設定ＵＩ部２０２は図２０におけるレコード０００３、０００４を印刷対象レコード２０６に登録する。
【０１１３】
このように、レコードレベルだけでなくレコードレベルの親要素、子要素のメタデータの情報を活用したフィルタリング印刷を行うことが可能となる。
【０１１４】
＜実施例５＞
実施例４において、ＰＤＬのレコードレベルのメタデータとレコードレベルの子要素のレコードで衝突が発生しないメタデータをフィルタリング印刷の制御対象とする例を示した。
【０１１５】
しかしながら、対象とするＰＤＬのレコードレベルの子要素のメタデータで衝突が発生する場合、該当するメタデータにフィルタリングで有用な情報を含んでいても印刷制御に活用することができない。
【０１１６】
図１６はレコードレベルの子要素の階層にメタデータ「章」を持つＰＤＬのデータ構造を表したものである。実施例４では、レコードレベルの子要素のメタデータにおいて衝突が発生した場合、メタデータ「印刷モード」１９０３を用いて印刷を制御することができない。
【０１１７】
上記の問題を解決するため、印刷設定ＵＩにレコードレベルの子要素のメタデータをフィルタリング印刷に用いるか否かを指定するためのチェックボックスを設ける。そして、子要素のメタデータを用いることが指定され、かつ、メタデータの衝突が発生した場合、サブセット印刷用のＵＩを表示する。その結果、レコードレベルの子要素でメタデータの衝突が発生した場合は、子要素のメタデータがサブセット印刷の制御に使用される。
【０１１８】
そのため、印刷設定ＵＩ部２０２は、子要素においてメタデータの衝突が発生したと判断した場合、図１８（ｂ）のサブセット印刷用のＵＩを表示する。具体的には、図１８（ａ）では「レコードレベル印刷」、「ページ設定」という２つのタブで設定ＵＩが構成されていたが、サブセット印刷用に「サブセット印刷」という３つ目のタブが追加される（図１８（ｂ））。
【０１１９】
図１８（ｂ）のメタデータ２１０７−２１０９は、各レコードの子要素のメタデータである。
【０１２０】
図１８（ｂ）では、表紙２１０７が選択されているため、表紙のメタデータが設定されたページが印刷される。つまり、図１７のレコード０００１−０００３の１ページ目が印刷されるため、図１８（ｂ）では、「印刷ページ数＝３」２１１１と表示される。
【０１２１】
また、メタデータの指定の方法としては、例えば「レコードレベル印刷」の画面で「北海道」を選択し、「サブセット印刷」の画面で「表紙」を選択することも可能である。この場合、図１７のレコード０００１の１ページ目だけが印刷される。
【０１２２】
図２２は、実施例５におけるＰＤＬ処理部１０５の処理を表すフローチャートである。
【０１２３】
図７、図１４と異なる点について説明する。
【０１２４】
Ｓ２５０８において、ＰＤＬ解析部２０１は、メタデータの衝突が検出された場合、レコードレベルの子階層のメタデータをサブセット印刷に用いることを指定するフラグを立てる。
【０１２５】
Ｓ２５０９において、ＰＤＬ解析部２０１は、Ｓ２５０２で取得したレコードレベルの子階層のレコードから衝突が発生するメタデータのキーと値の対応関係を記述したメタデータ表を生成する。
【０１２６】
Ｓ２５１８において、印刷設定ＵＩ部２０２は、子階層のメタデータをサブセット印刷に用いることを指定するフラグが立っているか否かを判定する。フラグが立っている場合はＳ２５２０に進み、フラグが立っていない場合はＳ２５１９に進む。
【０１２７】
Ｓ２５２０において、印刷設定ＵＩ部２０２がレコードレベルのレコードのうち、Ｓ２５１７で指定されたメタデータを持つページをサブセット印刷の対象ページとして印刷対象レコード２０６に書き込む。この場合は、レコード番号とページ番号の両者が印刷対象レコード２０６に記述される。
【０１２８】
以上、示した処理を行うことで、レコードレベルのメタデータだけでなく、レコードレベルの子要素にあるメタデータで衝突が発生していてもメタデータを活用したサブセット印刷を行うことが可能となる。
【０１２９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005586970.tif 000002
【図２】
0005586970.tif 000003
【図３】
0005586970.tif 000004
【図４】
0005586970.tif 000005
【図５】
0005586970.tif 000006
【図６】
0005586970.tif 000007
【図７】
0005586970.tif 000008
【図８】
0005586970.tif 000009
【図９】
0005586970.tif 000010
【図１０】
0005586970.tif 000011
【図１１】
0005586970.tif 000012
【図１２】
0005586970.tif 000013
【図１３】
0005586970.tif 000014
【図１４】
0005586970.tif 000015
【図１５】
0005586970.tif 000016
【図１６】
0005586970.tif 000017
【図１７】
0005586970.tif 000018
【図１８】
0005586970.tif 000019
【図１９】
0005586970.tif 000020
【図２０】
0005586970.tif 000021
【図２１】
0005586970.tif 000022
【図２２】
0005586970.tif 000023