(57)【要約】      （修正有）【課題】ＶＤＰ文書のテンプレートを用いることで、ユーザビリティの高いＶＤＰ文書への印刷設定が可能な情報処理装置を提供する。【解決手段】階層構造を有し、メタデータを付加可能なＶＤＰ文書を扱うクライアントＰＣであって、ＶＤＰ文書に対応するテンプレートが有する階層と印刷成果物定義情報とを関連付ける指示を受け付けるＵＩ部３０２と、指示に従って、テンプレートが有する階層に対して、印刷設定を設定する印刷設定編集部３０７と、印刷設定とＶＤＰ文書との対応関係、及び印刷設定が記述されたジョブチケットを出力するジョブチケット出力部３０８と、出力されたジョブチケットに記述された印刷設定と、印刷設定が設定されたテンプレートの階層に対応するＶＤＰ文書の階層とを関連付けるためのメタデータを印刷データに対して付加するＶＤＰジョブ出力部３０４と有する。【選択図】図３
2011145865.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を有し、メタデータを付加可能な印刷データを扱う情報処理装置であって、
前記印刷データに対応するテンプレートが有する階層と印刷成果物定義情報とを関連付ける指示を受け付ける受付手段と、
前記受付手段により受け付けた指示に従って、前記テンプレートが有する階層に対して、前記印刷成果物定義情報に対応する印刷設定を設定する設定手段と、
前記印刷設定と前記印刷設定が設定されたテンプレートに対応する前記印刷データとの対応関係、及び前記印刷設定が記述されたジョブチケットを出力する出力手段と、
前記出力手段によって出力された前記ジョブチケットに記述された前記印刷設定と、前記印刷設定が設定された前記テンプレートの階層に対応する前記印刷データの階層とを関連付けるためのメタデータを前記印刷データに対して付加する付加手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記テンプレートが有する階層のうち少なくとも１つの階層に対してデータソースが対応付けられていることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付手段は、前記テンプレートが有する階層に対応付けられている前記データソースのデータを使用した条件及び、前記条件に対応する条件付印刷設定を前記テンプレートが有する階層に対して設定する指示を受け付け、
前記設定手段は、前記条件に対応する印刷設定を前記テンプレートが有する階層に対して設定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記データソースのデータを取得する取得手段をさらに有し、
前記付加手段は、前記条件付印刷設定が設定された前記テンプレートの階層に対して、前記条件に使用されるデータソースのデータをメタデータとして付加することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
処理対象のテンプレートの階層に設定されている印刷設定が、条件付印刷設定か否かを判定する判定手段をさらに有し、
前記出力手段は、前記判定手段により設定されている印刷設定が条件付印刷設定であると判定された場合には、前記印刷データに付加されているメタデータを参照し、参照したメタデータの値に応じて印刷設定を変更可能な形式で記述されたジョブチケットを出力することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記テンプレートに設定された前記印刷設定を前記テンプレートに対応する印刷データに適用した場合の、仮想的な仕上がり状態を表示する仕上がり状態表示手段をさらに有することを特徴とする請求項１乃至５いずれか１項に記載の情報処理装置。
【請求項７】
前記設定手段により前記テンプレートに設定されている印刷設定の組み合わせによるパターンを抽出する抽出手段をさらに有し、
前記仕上がり状態表示手段は、前記抽出手段により抽出されたパターンそれぞれに対して１レコード分の印刷データに前記条件付印刷設定を適用した際の、仮想的な仕上がりの状態を表示することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記印刷成果物定義情報を追加する追加手段と、
前記印刷成果物定義情報を削除する削除手段とをさらに有することを特徴とする請求項１乃至７いずれか１項に記載の情報処理装置。
【請求項９】
前記ジョブチケットはＪＤＦであることを特徴とする請求項１乃至８いずれか１項に記載の情報処理装置。
【請求項１０】
前記印刷データはＶＤＰ文書であることを特徴とする請求項１乃至９いずれか１項に記載の情報処理装置。
【請求項１１】
前記ＶＤＰ文書は、ＰＤＦ／ＶＴであることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記ＶＤＰ文書は、ＰＰＭＬであることを特徴とする請求項１０に記載の情報処理装置。
【請求項１３】
階層構造を有し、メタデータを付加可能な印刷データを扱う情報処理装置の制御方法であって、
前記印刷データに対応するテンプレートが有する階層と印刷成果物定義情報とを関連付ける指示を受け付ける受付ステップと、
前記受付ステップで受け付けた指示に従って、前記テンプレートが有する階層に対して、前記印刷成果物定義情報に対応する印刷設定を設定する設定ステップと、
前記印刷設定と前記印刷設定が設定されたテンプレートに対応する前記印刷データとの対応関係、及び前記印刷設定が記述されたジョブチケットを出力する出力ステップと、
前記出力ステップで出力された前記ジョブチケットに記述された前記印刷設定と、前記印刷設定が設定された前記テンプレートの階層に対応する前記印刷データの階層とを関連付けるためのメタデータを前記印刷データに対して付加する付加ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項１４】
前記テンプレートが有する階層のうち少なくとも１つの階層に対してデータソースが対応付けられていることを特徴とする請求項１３に記載の情報処理装置の制御方法。
【請求項１５】
前記受付ステップでは、前記テンプレートが有する階層に対応付けられている前記データソースのデータを使用した条件及び、前記条件に対応する条件付印刷設定を前記テンプレートが有する階層に対して設定する指示を受け付け、
前記設定ステップでは、前記条件に対応する印刷設定を前記テンプレートが有する階層に対して設定することを特徴とする請求項１４に記載の情報処理装置の制御方法。
【請求項１６】
前記データソースのデータを取得する取得ステップをさらに有し、
前記付加ステップでは、前記条件付印刷設定が設定された前記テンプレートの階層に対して、前記条件に使用されるデータソースのデータをメタデータとして付加することを特徴とする請求項１５に記載の情報処理装置の制御方法。
【請求項１７】
処理対象のテンプレートの階層に設定されている印刷設定が、条件付印刷設定か否かを判定する判定ステップをさらに有し、
前記出力ステップでは、前記判定ステップにおいて設定されている印刷設定が条件付印刷設定であると判定された場合には、前記印刷データに付加されているメタデータを参照し、参照したメタデータの値に応じて印刷設定を変更可能な形式で記述されたジョブチケットを出力することを特徴とする請求項１６に記載の情報処理装置の制御方法。
【請求項１８】
前記テンプレートに設定された前記印刷設定を前記テンプレートに対応する印刷データに適用した場合の、仮想的な仕上がり状態を表示する仕上がり状態表示ステップをさらに有することを特徴とする請求項１３乃至１７いずれか１項に記載の情報処理装置の制御方法。
【請求項１９】
前記設定ステップにより前記テンプレートに設定されている印刷設定の組み合わせによるパターンを抽出する抽出ステップをさらに有し、
前記仕上がり状態表示ステップでは、前記抽出ステップにおいて抽出されたパターンそれぞれに対して１レコード分の印刷データに前記条件付印刷設定を適用した際の、仮想的な仕上がりの状態を表示することを特徴とする請求項１８に記載の情報処理装置の制御方法。
【請求項２０】
請求項１３乃至１９いずれか１項に記載の制御方法をコンピュータに実行させるためのコンピュータ実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
階層構造を有し、メタデータを付加可能な印刷データを扱う情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、電子写真方式の印刷装置やインクジェット方式の印刷装置の高速化、高画質化に伴い、プリント・オン・デマンド（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ；以下、ＰＯＤと表記する）と呼ばれる市場が広がりを見せている。ＰＯＤでは、デジタル複写機やデジタル複合機等のデジタル画像形成装置を最大限に活用して、電子データを用いたデジタル印刷を行う。デジタル画像形成装置を用いることで、無版印刷が行えるという特徴を活かし、比較的小ロットのジョブを低コスト・短納期で印刷することが可能となる。
【０００３】
ＰＯＤでは、電子データを用いる特性を生かして、バリアブルデータ印刷（Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｐｒｉｎｔｉｎｇ；以下、ＶＤＰと表記する）として知られる印刷方法が行なわれている。ＶＤＰで使用するＶＤＰ文書では、固定部分と可変部分を分け、可変部分のデータをＲＤＢ（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）やＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）ファイルなどのデータソースから供給する。ここで、データソースの桁（フィールド）をドキュメントテンプレートの可変部分と関連付け、データソースの行（レコード）ごとに適用することで、少しずつ異なる内容の印刷を行う。
【０００４】
このようにデータが流し込まれたＶＤＰ文書の多くは、ＶＤＰ用の構造化ＰＤＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を使って記述される。構造化ＰＤＬとは、ＰＤＬのドキュメント構造が、マークアップ言語を用いて表現されているＰＤＬのことである。構造化ＰＤＬは、例えばＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）をベースとしたマークアップ言語で記述される。
【０００５】
さらに、近年では、メタデータを付加可能な構造化ＰＤＬが開発されている。構造化ＰＤＬとしては例えば、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）や、ＰＤＦ／ＶＴ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ  Ｖａｒｉａｂｌｅ  ａｎｄ  Ｔｒａｎｓａｃｔｉｏｎａｌ）などがある。メタデータを付加可能な構造化ＰＤＬの場合、ＰＤＬが持つドキュメント階層それぞれにメタデータを記述することができる。メタデータは通常、キーとバリューから構成される。キーとしては、例えば、受取人の名前、住所、年齢、性別、個人の嗜好などが記述され、バリューには、そのキーに対する実際の内容が記述される。例えばキー「性別」に対するバリューとして「男性」、「女性」が記述され、キー「年齢」に対するバリューとして「２４」、「５２」などが記述される。
【０００６】
一方で、前述したメタデータを付加可能な構造化ＰＤＬに対して、そのドキュメント構造の特定の階層に印刷設定を行うため、また、メタデータを利用して受取人それぞれに異なる印刷設定を行うためのジョブチケットが登場してきている。
【０００７】
そういったジョブチケットの例としてはＪＤＦ（Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔ）Ｊｏｂ  Ｔｉｃｋｅｔがある。ＪＤＦ  Ｔｉｃｋｅｔには、例えば、ある受取人に対応するキー「性別」がバリュー「男性」の場合にはマット紙に印刷し、キー「性別」がバリュー「女性」の場合には光沢紙に印刷する、という印刷設定を記述することが可能である。
【０００８】
従来から、印刷設定をおこなうために、プリンタドライバ、ホットフォルダアプリケーションなど、印刷設定ユーザインタフェースを持ったソフトウェアが存在する。しかし、従来から存在する印刷設定ユーザインタフェースでは、印刷設定対象のＰＤＬ全体、もしくは特定のページに対しての例外印刷設定しか設定できない。そのため、前述したようなメタデータを付加可能な構造化ＰＤＬで記述されたＶＤＰ文書に対して、ＰＤＬの各階層に対する印刷設定、およびＰＤＬに付加されているメタデータの値に応じて印刷設定を可変にするなどの設定ができなかった。
【０００９】
従来の技術としては、特許文献１、特許文献２のようにＶＤＰ文書に含まれる同じ値を持ったメタデータをグループ（ＶＤＰファミリーと呼ぶ）として扱い、そのグループに対して印刷設定を行う技術が存在する。印刷設定を行った後は、グループごとにジョブを分割し、印刷設定をジョブチケット（ＪＤＦなど）として出力した上でプリンタに投入する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００３−３１６５４８号公報
【特許文献２】特開２００３−３１６５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記の技術では、ＶＤＰ文書に対して印刷設定を行う際に、データ量の大きいＶＤＰ文書そのものに対して設定を行う必要があった。そのため、ＶＤＰ文書に対して印刷設定はユーザビリティが低いという課題があった。
【００１２】
本発明は、上記の課題を解決し、ＶＤＰ文書のテンプレートを用いることで、ユーザビリティの高いＶＤＰ文書への印刷設定が可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題を解決するため、本発明の情報処理装置は、階層構造を有し、メタデータを付加可能な印刷データを扱う情報処理装置であって、前記印刷データに対応するテンプレートが有する階層と印刷成果物定義情報とを関連付ける指示を受け付ける受付手段と、前記受付手段により受け付けた指示に従って、前記テンプレートが有する階層に対して、前記印刷成果物定義情報に対応する印刷設定を設定する設定手段と、前記印刷設定と前記印刷設定が設定されたテンプレートに対応する前記印刷データとの対応関係、及び前記印刷設定が記述されたジョブチケットを出力する出力手段と、前記出力手段によって出力された前記ジョブチケットに記述された前記印刷設定と、前記印刷設定が設定された前記テンプレートの階層に対応する前記印刷データの階層とを関連付けるためのメタデータを前記印刷データに対して付加する付加手段と、を有することを特徴とする。
【発明の効果】
【００１４】
ＶＤＰ文書のテンプレートを用いることで、ユーザビリティの高いＶＤＰ文書への印刷設定が可能な情報処理装置を提供することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施例に適用されるシステムの構成例
【図２】（Ａ）はクライアントＰＣの構成例  （Ｂ）はプリンタコントローラの構成例
【図３】モジュール構成例を示す模式図
【図４】ユーザインタフェースの例
【図５】Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔと印刷設定の関係の例を示す模式図
【図６】印刷設定の流れを表すフローチャート
【図７】基本印刷設定の設定画面の例
【図８】（Ａ）はドキュメント階層と印刷設定を対応付ける流れの一例を示す模式図  （Ｂ）はドキュメント階層と印刷設定を対応付ける流れの一例を示す模式図
【図９】（Ａ）は条件付印刷設定における条件編集画面の一例を示す図  （Ｂ）は条件付印刷設定における条件編集画面の一例を示す図
【図１０】条件付印刷設定における印刷設定画面の例
【図１１】クイックプレビュー処理を表すフローチャート
【図１２】Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔの追加画面の例
【図１３】ジョブチケットおよびＶＤＰ文書の出力処理を表すフローチャート
【図１４】印刷設定の例の模式図
【図１５】（Ａ）はＪＤＦで記述されたジョブチケットのイメージ図  （Ｂ）はＪＤＦで記述されたジョブチケットのイメージ図  （Ｃ）はＪＤＦで記述されたジョブチケットのイメージ図  （Ｄ）はＪＤＦで記述されたジョブチケットのイメージ図
【図１６】（Ａ）はＰＰＭＬで記述された出力ＶＤＰ文書のイメージ図  （Ｂ）はＰＰＭＬで記述された出力ＶＤＰ文書のイメージ図  （Ｃ）はＰＰＭＬで記述された出力ＶＤＰ文書のイメージ図
【図１７】（Ａ）はＰＤＦ／ＶＴで記述された出力ＶＤＰ文書のイメージ図  （Ｂ）はＰＤＦ／ＶＴで記述された出力ＶＤＰ文書のイメージ図  （Ｃ）はＰＤＦ／ＶＴで記述された出力ＶＤＰ文書のイメージ図
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１７】
＜印刷ＷＦシステムの構成＞
図１は、本発明の実施の形態に係る印刷ＷＦシステムの構成の一例を示す模式図である。この印刷ＷＦシステムは、クライアントＰＣ１０２、ワークフローサーバ１０３、プリンタコントローラ１０４、デジタル印刷機１０５を有し、それらがネットワーク１０１を介して接続されている。また、プリンタコントローラ１０４とデジタル印刷機１０５は印刷機インタフェースケーブル１０６によって接続されている。
【００１８】
クライアントＰＣ１０２は、本発明における印刷データであるＶＤＰ文書の編集、印刷設定の編集、印刷ジョブ（ＶＤＰ文書およびジョブチケット）の出力を行う。ＶＤＰ文書（印刷データ）の編集は、通常、ドキュメントの編集、可変領域および固定領域の指定、データソースの指定、データソースのフィールドと可変領域との対応付け、という手順で行われる。印刷設定の編集、印刷ジョブの出力は本発明に大きく関わる部分であり、以下で詳細に説明していく。尚、本発明におけるＶＤＰ文書は階層構造を有しており、メタデータを付加可能である。
【００１９】
クライアントＰＣ１０２は印刷ジョブをワークフローサーバ１０３に送信する。ワークフローサーバ１０３は印刷ジョブのワークフローを管理するサーバである。ワークフローサーバ１０３は、ユーザからの印刷指示、もしくはあらかじめ設定されたスケジュールにしたがって印刷ジョブをプリンタコントローラ１０４に送信する。このデータの受け渡しには、例えばプリンタコントローラ１０４があらかじめホットフォルダを用意しておき、ワークフローサーバ１０３がそのホットフォルダに印刷ジョブを置くといった方法がとられる。プリンタコントローラ１０４では、印刷ジョブに含まれるＶＤＰ文書のＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）、および印刷ジョブに含まれるジョブチケットの解析を行う。プリンタコントローラ１０４は、ＲＩＰ後のビットマップを印刷機インタフェースケーブル１０６経由でデジタル印刷機１０５に送信する。またプリンタコントローラ１０４は、ジョブチケットの解析結果をデジタル印刷機１０５の解釈可能なプリンタ制御プロトコルに変換し、デジタル印刷機１０５への印刷設定や印刷指示を行う。尚、デジタル印刷機１０５がジョブチケットを解釈可能な場合、プリンタコントローラ１０４ではなく、デジタル印刷機１０５がジョブチケットの解釈を行っても良い。
【００２０】
本発明の実施の形態では、クライアントＰＣ１０２、ワークフローサーバ１０３、プリンタコントローラ１０４がネットワーク接続された構成となっている。ただし、本発明はこの構成に限定されるものでなく、クライアントＰＣ１０２、ワークフローサーバ１０３、プリンタコントローラ１０４は同一コンピュータであっても良い。
【００２１】
＜クライアントＰＣの構成＞
次に、クライアントＰＣ１０２について図２（Ａ）を用いて説明する。図２（Ａ）は、本実施形態におけるクライアントＰＣ１０２のハードウェア構成の一例を示すブロック図である。クライアントＰＣ１０２のハードウェアは、様々な接続方法や、様々なバスやインタフェースを有した構成が一般に知られており、ここで紹介するハードウェア構成は一例である。
【００２２】
ＣＰＵ２０１はＲＡＭ２０２に読み込まれている制御プログラムに従って本装置全体の制御を行うＣＰＵである。ＲＡＭ２０２はＣＰＵ２０１が実行する本装置の制御プログラムや、文書、画像等のデータが読み込まれる内部記憶部である。ネットワークインタフェース２０３はＣＰＵ２０１の制御のもとにインターネット等のネットワークとの接続を行ってデータ等を送受信するネットワークインタフェースである。ＨＤＤ２０４はクライアントＰＣ１０２の制御ソフトウェアを初め、様々なデータを保存するハードディスクドライブ（ＨＤＤ）である。２０５はディスプレイ、２０６はキーボード、２０７はマウス等のポインティングデバイスである。
【００２３】
ＨＤＤ２０４に記憶されている各種ソフトウェアは、必要に応じてＲＡＭ２０２に読み込まれ、同じくＲＡＭ２０２に読み込まれているオペレーティングシステムの機能を必要に応じて使用し、ＣＰＵ２０１の制御のもと実行される。
【００２４】
＜ワークフローサーバの構成＞
ワークフローサーバ１０３の構成はクライアントＰＣ１０２と同様のものである。
【００２５】
＜プリンタコントローラの構成＞
次に、プリンタコントローラ１０４のハードウェア構成について図２（Ｂ）を用いて説明する。図２（Ｂ）は、本実施形態で使用されるプリンタコントローラ１０４のハードウェア構成の一例を示すブロック図である。クライアントＰＣ１０２と同様に、プリンタコントローラ１０４のハードウェアは、様々な接続方法や、様々なバスやインタフェースを有した構成が一般に知られており、ここで紹介するハードウェア構成は一例である。
【００２６】
ＣＰＵ２０８はＲＡＭ２０９に読み込まれている制御プログラムに従って本装置全体の制御を行うＣＰＵである。ＲＡＭ２０９はＣＰＵ２０８が実行する本装置の制御プログラムや、文書、画像等のデータが読み込まれる内部記憶部である。ネットワークインタフェース２１０はＣＰＵ２０８の制御のもとにインターネット等のネットワークとの接続を行ってデータ等を送受信するネットワークインタフェースである。ＨＤＤ２１２はプリンタコントローラ１０４の制御ソフトウェアを初め、様々なデータを保存するハードディスクドライブ（ＨＤＤ）である。２１３はディスプレイ、２１４はキーボード、２１５はマウス等のポインティングデバイスである。印刷機インタフェース２１１は、印刷機インタフェースケーブル１０６によりデジタル印刷機１０５と接続され、ＲＩＰ済データの送信に用いられる。
【００２７】
ＨＤＤ２１２に記憶されている各種ソフトウェアは、必要に応じてＲＡＭ２０９に読み込まれ、同じくＲＡＭ２０９に読み込まれているオペレーティングシステムの機能を必要に応じて使用し、ＣＰＵ２０８の制御のもと実行される。
【００２８】
＜モジュール構成＞
本実施例では、本発明の印刷設定装置がＶＤＰアプリケーションのモジュールの一部として実装されていることを想定する。ただし、本発明はこの実施形態に限定されるものではなく、ＶＤＰアプリケーションとは独立したアプリケーションであっても良い。
【００２９】
図３は、本実施形態のＶＤＰアプリケーション３０１のモジュール構成を説明する図である。ＶＤＰアプリケーション３０１は、ＵＩ部３０２、ドキュメントテンプレート編集部３０３、ＶＤＰジョブ出力部３０４、データソース接続部３０５、メタデータ編集部３０６、印刷設定編集部３０７、ジョブチケット出力部３０８から構成される。このＶＤＰアプリケーション３０１は本発明に適用される情報処理装置であるクライアントＰＣ１０２上で動作し、各モジュールは図２のＣＰＵ２０１によって実行処理を制御される。
【００３０】
以下で各モジュールの機能を説明する。ＵＩ部３０２は、ユーザに対してドキュメントテンプレートの編集画面、印刷設定編集画面を表示し、ユーザからの操作を受け付けるモジュールである。印刷設定編集画面は図４を用いて後述する。
【００３１】
ドキュメントテンプレート編集部３０３は、ドキュメントテンプレートを編集するモジュールである。ＵＩ部３０２が受け付けたユーザの編集指示に応じて、紙面の編集、可変部分の指定、固定部分の指定などをドキュメントテンプレートに反映する処理や、データソースから取得したデータをドキュメントテンプレートに流し込みを行う。ドキュメントテンプレート編集部３０３は一般的なＶＤＰアプリケーションが備えている機能であるため、詳細な処理は省略する。ＶＤＰジョブ出力部３０４は、データソースのデータがドキュメントテンプレートに流し込まれた状態のデータをＶＤＰ文書として出力するモジュールである。また、ＶＤＰジョブ出力部３０４は、後に説明するメタデータ編集部３０６からの指示に応じてＶＤＰ文書中にメタデータを記述する。
【００３２】
データソース接続部３０５は、データソースに接続しデータを取得するモジュールである。メタデータ編集部３０６は、ＶＤＰ文書に記載されるメタデータを管理するモジュールである。印刷設定編集部３０７は、ＵＩ部３０２が受け付けたユーザからの編集指示に応じて、ＶＤＰ文書に対する印刷設定を行うためのモジュールである。ジョブチケット出力部３０８は、印刷設定編集部３０７が編集した印刷設定をジョブチケット（例えばＪＤＦ  Ｐｒｉｎｔ  ＪｏｂＴｉｃｋｅｔ）として出力するモジュールである。
【００３３】
＜印刷設定画面＞
ここでは、ＵＩ部３０２が表示する印刷設定編集画面の一例を説明する。ここで示す印刷設定編集画面を用いた印刷設定の流れは図６を用いて後述する。
【００３４】
図４は、印刷設定編集画面４０１の構成を示した図である。尚、印刷設定編集画面４０１は、クライアントＰＣ１０２のＣＰＵ２０１が、ＶＤＰアプリケーション３０１を実行することで、ＵＩ部３０２が、クライアントＰＣ１０２のディスプレイ２０５に表示する。
【００３５】
階層構造ビュー４０２は、ドキュメントテンプレートの階層構造を表したビューである。階層ノード４０３が一つの階層を示しており、最下位ノードは１つの紙面に相当する。この例では１テンプレートに４紙面が含まれている。１つの紙面は通常、１ページに相当するが、１紙面にデータを流し込んだ結果、文字溢れ、画像溢れにより複数ページになる場合がある。最下位ノードには紙面のサムネイル４０４が表示される。
【００３６】
ここで表示されるのはドキュメントテンプレートなので、実際のＶＤＰ文書はデータソースのレコード数分このドキュメントテンプレートが展開されることになる。ＵＩ部３０２は、どのノード以下が展開されることになるのかを、ノードと対応付けて「Ｒｅｃｉｐｉｅｎｔ  Ｌｅｖｅｌ」と表示することでユーザに通知する。この例では上から２番目のノードがＲｅｃｉｐｉｅｎｔ  Ｌｅｖｅｌとなっている。
【００３７】
４０５は、Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンの一覧を表すビューである。Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔとは、ＶＤＰ文書の成果物を表したものである。Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔには、印刷設定のデフォルト値およびＩｎｔｅｎｔタイプの情報（印刷成果物定義情報）が含まれている。Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンはそれらの印刷成果物定義情報をアイコンの形式で表したものであり、先述した階層構造ビュー４０２のノードと関連づけられると、ドキュメントテンプレートの階層へ印刷成果物定義情報に基づく印刷設定が設定される。Ｉｎｔｅｎｔタイプにはブックレット、ブック、パンフレット、リーフレット、カバー、本文などがある。図５は、Ｉｎｔｅｎｔタイプ名と、その説明、Ｉｎｔｅｎｔタイプごとの印刷設定カテゴリの一例を表にしたものであり、ＨＤＤ２０４に記憶されている。各Ｉｎｔｅｎｔには、Ｉｎｔｅｎｔ共通の印刷設定カテゴリと、Ｉｎｔｅｎｔ固有の印刷設定カテゴリを合わせたものを設定できる。例えばポスターであれば、用紙、印刷品質、面付け方法、バーコード印字に関する設定が可能である。Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンは、４０７のボタンを押下することで追加が可能である。Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンの追加方法は図１２を用いて後述する。また、４０８に示すように、Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコン上でコンテキストメニューを表示し、削除を選択することによりＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンを削除できる。
【００３８】
４０９は仕上がりイメージビューであり、ドキュメントテンプレートの各階層へ印刷設定を行った場合の１レコード分、すなわち一人の受取人に対応する仮想的な仕上がり状態が表示される。ここでの仮想的な仕上がり状態表示により、ユーザは、どのようなしあがりになるのかを確認することができる。４１０、４１１のボタンを押下することにより、ドキュメントテンプレートに流し込むレコードを変更することができる。現在のレコードは４１２に表示される。４１０のボタンは次のレコードを適用し、４１１は一つ前のレコードを適用するボタンである。仕上がりイメージビューに表示する紙面は、データソースのデータをドキュメントテンプレートに流し込んだ結果をサムネイルとして表示するようにしてもよい。この場合、あらかじめデータソースのデータをドキュメントテンプレートに流し込んだサムネイルを作成しておく。もしくは、４１０および４１１を押下するたびにデータソース接続部３０５がデータソースに接続しデータを取得し、ドキュメントテンプレートに流し込んだサムネイルを作成しても良い。
【００３９】
４０９は上記のように、データソースをドキュメントテンプレートに流し込んだサムネイルを表示してもよいが、ドキュメントテンプレートそのものをサムネイルとして表示するようにしてもよい。この場合、データソースからのデータ取得は不要となる。４１３は印刷設定編集画面４０１で行った設定に基づいて、ジョブチケットおよびＶＤＰ文書を出力する処理である。処理の流れは図１３を用いて後述する。
【００４０】
＜印刷設定の流れ＞
次に印刷設定の流れを説明する。図６は、印刷設定の流れを示したフローチャートである。尚、図６のフローチャートの各処理は、ＣＰＵ２０１が、ＶＤＰアプリケーション３０１を実行することでＶＤＰアプリケーションの各モジュールによって行われる。
【００４１】
ステップＳ６０１は、ＵＩ部３０２が、ドキュメントテンプレートに対して印刷設定対象となる階層をユーザから受け付ける処理である。図４において、ＵＩ部３０２は、階層ノード４０３をユーザに指定させる。
【００４２】
ステップＳ６０２は、ＵＩ部３０２が、ステップＳ６０１にて受け付けた階層ノード４０３と関連付けるＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔの指定をユーザから受け付ける処理である。具体的な操作は、図８を用いて後述する。ＵＩ部３０２は、指定されたＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔ対応する印刷成果物定義情報とドキュメントテンプレートとの関連付けの指示を受け付けるとその情報を印刷設定編集部３０７へ通知し、印刷設定編集部３０７はその情報をＨＤＤ２０４へ記憶する。このように印刷設定編集部３０７は、ＵＩ部３０２が受け付けた指示に従って、ドキュメントテンプレートが有する階層に対して、指定された印刷成果物定義情報に対応する印刷設定を設定する。
【００４３】
ステップＳ６０３は、ＵＩ部３０２が、ステップＳ６０１で受け付けた階層ノードに対して、印刷設定の修正をユーザから受け付ける処理である。この設定を基本印刷設定と呼ぶ。基本という名前がついているのは、後に説明するメタデータを用いた条件付印刷設定と区別するためである。具体的な操作は、例えば、階層ノードの上でコンテキストメニューを表示させ、基本印刷設定を行うことをユーザに選択させる。すると、ＵＩ部３０２は、図７に示すような印刷設定ダイアログをユーザに表示し、印刷設定を受け付ける。図７において、７０１は印刷設定カテゴリを指定するタブである。ここでは、現在選択中の階層ノードに設定されているＰｒｏｄｕｃｔ  ＩｎｔｅｎｔのＩｎｔｅｎｔ  Ｔｙｐｅに設定されている印刷設定カテゴリに属する印刷設定のみ選択可能である。例えば、現在選択中の階層ノードにＢｏｏｋｌｅｔのＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔが設定されていた場合、Ｉｎｔｅｎｔ共通の印刷設定カテゴリに加え、断裁方法、折り方、綴じ方に関する印刷設定が可能である。７０２は、印刷設定カテゴリに含まれる個々の印刷設定であり、例えばドロップダウンボックスなどを用いてユーザに設定値を設定させる。７０３はユーザ指定した設定値の結果を模式的に表した様子を示すビューである。ボタン７０４で設定の確定、ボタン７０５で設定のキャンセルを行う。
【００４４】
ステップＳ６０４は、ＵＩ部３０２が、ステップＳ６０３で受け付けた印刷設定に応じて仕上がりイメージビュー４０９を更新し、表示する処理である。ステップＳ６０５は、ＵＩ部３０２が、条件付印刷設定をユーザからが受け付ける処理である。具体的な操作は、例えば、階層ノード上でコンテキストメニューを表示させ、条件付印刷設定を行うことをユーザに選択させる。条件付印刷設定を行う流れは、図９を用いて後述する。ここでＵＩ部３０２が受け付けた条件付印刷設定は、印刷設定編集部３０７が、ドキュメントテンプレートに対して設定を行う。
【００４５】
ステップＳ６０６は、ＵＩ部３０２が、ステップＳ６０５で受け付けた条件付印刷設定に応じて、図９で後述する印刷設定画面における仕上がりイメージビュー９１４を更新し、表示する処理である。ステップＳ６０７は、ＵＩ部３０２が、ユーザからＶＤＰ文書およびジョブチケットの出力指示を受け付ける処理である。図４においては、４１３を通じて出力指示を受け付ける。
【００４６】
ステップＳ６０８は、ＶＤＰジョブ出力部３０４およびジョブチケット出力部３０８が、ＶＤＰ文書、ジョブチケットを出力する処理である。ジョブチケットには、設定された印刷設定とＶＤＰ文書との対応関係及び印刷設定の内容が記述される。また、ＶＤＰ文書に対しては印刷設定と印刷設定が設定されたテンプレートの階層に対応するＶＤＰ文書の階層とを関連付けるためのメタデータが付加される。ステップＳ６０８での処理の流れは、図１３を用いて後述する。尚、ステップＳ６０１からステップＳ６０５は一回のみ行われるのではなく、ユーザの望んだ回数だけ行われる。
【００４７】
＜階層ノードとＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンの対応付け＞
先述したように、図６のステップＳ６０２において、ＵＩ部３０２は、ユーザから階層ノードに対応付けるＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔの指定を受け付ける。ここでの操作の流れを、図８を用いて説明する。
【００４８】
ここでは、１番目と２番目の紙面をブックレットとして印刷設定することを例にとって説明する。まず、ユーザは図８（Ａ）の８０１で示すように、ブックレットとして印刷したい階層ノードを選択する。
【００４９】
次に、ブックレットを示すＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンへその階層ノードをドラッグアンドドロップする。もしくは、階層ノード上でコンテキストメニューを表示させてブックレットを示すＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔを選択するようにしても良い。
【００５０】
すると、図８（Ｂ）の８０２に示すように１つの階層ノードが追加され、ユーザによって指定された階層ノード８０１は、８０２の下に移動する。８０３は、８０２の下に移動した階層ノード８０１である。追加された階層ノード８０２の近傍にＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコン８０４を表示し、対応付けの様子をユーザに分かるようにする。これと同時に、４０９の仕上がりイメージビューでは、対応付けられたＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔに設定されている印刷設定のデフォルト値に応じて、８０５に示すように仕上がりのイメージを表示する。図８（Ｂ）では、追加された階層ノードの一つ上の階層ノードを選択しているので、８０５には、１、２ページ目はブックレット、３、４ページ目は１つのシートが２ページ出力されることがユーザに分かるように表示する。
【００５１】
このように、Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔと階層ノードを対応付けていく。
【００５２】
＜条件付印刷設定の編集＞
次に、条件付印刷設定の操作の流れを、図９を用いて説明する。図９（Ａ）は条件付印刷設定を行う画面の一例である。図９（Ｂ）は図９（Ａ）の条件を「ＡＮＤ」で連結した場合の画面の一例である。
【００５３】
図９において、９０１は条件付印刷設定を行うためのダイアログである。ここで、メタデータに対する条件の設定と、その条件を満たした場合の印刷設定を行う。
【００５４】
９０２は、ＩＦから始まりＥＬＳＥで終わる一連の条件の一覧である。以下ではＩＦから始まりＥＬＳＥで終わる一連の条件と、その条件に対する印刷設定を「条件セット」と呼ぶこととする。９０３は、条件セットを追加するボタンである。９０４は、条件セットを削除するボタンである。
【００５５】
９０５は、１つの条件セットに含まれる条件を表示したものである。ＵＩ部３０２は、９０２にて、ユーザから一つの条件セットの指定を受け付けると、その条件セットに対応する９０５を表示する。９０６から９０９は、条件を受け付けるためのユーザインタフェースである。この例では、キー「ｇｅｎｄｅｒ」が定数「ｍａｌｅ」と等しい「＝」という条件を指定している。９０６は、条件の対象となるメタデータのキー名をユーザに指定させるためのドロップダウンボックスである。ドロップダウンボックスには、このダイアログ９０１を表示する際に選択した階層ノードに付加されているキーの一覧が表示され、ユーザはそのうちの一つのキーを選択する。この例ではキー「ｇｅｎｄｅｒ」を選択している。
【００５６】
９０７は、条件の比較演算子を指定するためのドロップダウンボックスである。例えば、「＝」（９０６に記述された値と９０８に記述された値が等しい）、「＞」（９０６に記述された値が、９０８に記述された値よりも大きい、「！＝」（９０６に記述された値と９０８に記述された値が異なる）などが指定できる。この例では、「＝」が指定されている様子を示している。９０８は、９０６で指定したキーと比較する定数を指定するためのテキストボックスである。この例では、定数として「ｍａｌｅ」が指定されている。
【００５７】
９０９は、９０８に記述される定数を、９０６で指定したメタデータのキーの値一覧からユーザに選択させるためのボタンである。ここで、ＵＩ部３０２は、指定したキーに対応するレコードの取り得る値を、重複なく表示する。この例では、９０９を押下すると、キー「ｇｅｎｄｅｒ」の値として取り得る「ｍａｌｅ」または「ｆｅｍａｌｅ」が表示される。ユーザが当該一覧から値を選択すると、ＵＩ部３０２は当該値を９０８に表示する。ユーザは９０８に直接的に定数を入力しても良いし、９０９のボタンを押下し表示されたメタデータの値一覧から定数を選択してもよい。
【００５８】
９１０は、条件を「ＡＮＤ」もしくは「ＯＲ」で連結するためのドロップダウンボックスである。「ＡＮＤ」もしくは「ＯＲ」を選択すると、図９（Ｂ）に示すように、その条件の下に条件を入力するためのコントロールが表示され、条件の連結が可能となる。
【００５９】
９１１は、あるレコードが９０６から９０９で指定した条件とマッチした場合に、そのレコードに適用する印刷設定の編集画面に遷移するためのボタンである。もしあるレコードが９０６から９０９で指定した条件とマッチしなければ、当該条件の下に入力されているＥＬＳＥ  ＩＦ条件が評価される。もし、いずれのＥＬＳＥ  ＩＦ条件にもマッチしない場合には、ＥＬＳＥで指定された印刷設定が適用される。９１１を押下した際に表示される印刷設定の編集画面の例を図１０に示す。図１０に示す印刷設定編集画面において、ＵＩ部３０２は、基本設定が印刷設定のデフォルト値として入力された状態で表示する。ＵＩ部３０２は、ユーザから印刷設定の変更を受け付け、変更された印刷設定が分かるように表示する。例えば、１０のように変更された印刷設定を矩形で囲んで表示する。
【００６０】
９１２は、９０６から９１２の条件および印刷設定を削除するためのボタンである。９１３は、ＥＬＳＥ  ＩＦ条件を追加するためのボタンである。９１４は、レコードごとの仕上がりイメージをユーザに表示するためのビューである。９１５は、９１４に示すビューに関して、仕上がりイメージをレコードごとに連続して並べて表示するためのボタンである。９１６は、９１４に示すビューに関して、仕上がりイメージをレコードごとに個別に並べて表示するためのボタンである。
【００６１】
９１７は、９１４のビューに関して、条件の組み合わせごとの仕上がりイメージを１レコードずつ表示するためのボタンである。以下、この機能をクイックプレビューと呼ぶこととする。９１７を押下すると、条件の組み合わせ数を求め、取り得る印刷設定のパターンを決定する。そして、パターンごとに、１レコード分の仕上がりプレビューを表示する。これにより、データソースのレコード数が多い場合に、ユーザが印刷設定を確認する手間を省くことができる。例えば、ある条件セットに、基本設定として、「白い用紙」を使うように設定されており、以下のような条件付印刷設定が行われていたと仮定する。
（１）ｇｅｎｄｅｒ  ＝  ｍａｌｅかつ、ａｇｅ  ＜  ２０  ⇒「赤い用紙」を使う。
（２）ｇｅｎｄｅｒ  ＝  ｆｅｍａｌｅかつ、ａｇｅ  ＜  ２０  ⇒「黄色い用紙」を使う。
（３）ｇｅｎｄｅｒ  ＝  ｍａｌｅ  かつ、ａｇｅ  ＞＝  ２０  ⇒「茶色い用紙」を使う。
（４）上記（１）から（３）のいずれにも当てはまらない場合⇒基本設定を使う。
【００６２】
クイックプレビューでは、この４パターンに当てはまるレコードを一つずつ仕上がりイメージビューに表示する。
【００６３】
９１８は、条件付印刷設定を確定するためのボタンである。９１８が押下されると、ユーザによって指定された条件付印刷設定がＨＤＤ２０４に保存される。９１９は、条件付印刷設定をキャンセルするためのボタンである。９２０から９２４は、９１０にて、「ＡＮＤ」または「ＯＲ」が指定された場合に追加されるコントロールであり、それぞれ９０６から９１０と同様のコントロールである。尚、９０１上に示されるユーザインタフェースは一例であり、例えばドロップダウンボックスで示されているコントロールはテキストボックスであっても良い。また、コントロールを配置するのではなく、スクリプト言語で条件を記述するようにしてもよい。
【００６４】
以上の条件付印刷設定により、ＶＤＰ文書の階層に対する印刷設定や、ＶＤＰ文書に付加されているメタデータの値に対して条件を設定し、印刷設定を可変にすることが可能となる。
【００６５】
＜クイックプレビュー＞
次にクイックプレビューの処理の流れを図１１に示すフローチャートを用いて説明する。尚、図１１のフローチャートの各処理は、ＣＰＵ２０１が、ＶＤＰアプリケーション３０１を実行することでＶＤＰアプリケーションの各モジュールによって行われる。
【００６６】
ステップＳ１１０１は、印刷設定編集部３０７が、各条件セットに含まれる条件の数をカウントする処理である。例えば、図９で示した条件セット１には３つの条件（ＩＦ条件１つ、ＥＬＳＥ  ＩＦ条件１つ、ＥＬＳＥ条件１つ）が含まれている。
【００６７】
ステップＳ１１０２は、印刷設定編集部３０７が、印刷設定のパターン数を算出するとともに、各パターンの内容を抽出する処理である。パターン数は、条件セットに含まれる条件数の乗算で算出する。例えば、条件セット１に３つの条件、条件セット２に２つの条件が設定されていた場合には、６個（３×２）のパターンが存在する。そして、印刷設定編集部はパターン数の数だけそのパターンの内容をＨＤＤ２０４から抽出する。
【００６８】
ステップＳ１１０３は、印刷設定編集部３０７が、メタデータ編集部３０６を通じてデータソース接続部３０５から１レコード分のメタデータを取得する処理である。
【００６９】
ステップＳ１１０４は、印刷設定編集部３０７が、前記メタデータに対し各条件を評価し、どのステップＳ１１０２で抽出されたパターンのうちどのパターンに属するのかを判定する処理である。
【００７０】
ステップＳ１１０５は、印刷設定編集部３０７が、未処理のレコードが存在するかどうかを判定する処理である。もし、未処理のレコードが存在する場合には、Ｓ１１０７へ進む。もし、未処理のレコードが存在しない場合には、Ｓ１１０６へ進む。従って、印刷設定編集部３０７は、全てのレコードを処理するまでＳ１１０３からＳ１１０５までをレコードごとに繰り返し処理する。尚、クイックプレビューにおいては、全てのパターンのレコードがそれぞれ１つプレビューできればよい。そのため、ステップＳ１１０５で全てのパターンに属するレコードが処理されたか否かを判定し、全てのパターンに属するレコードが処理処理されたと判定された場合にステップＳ１１０６に進む構成であってもよい。この構成により、全てのレコードに対して処理を行う必要がなくなり、処理速度を上昇させることが可能となる。
【００７１】
ステップＳ１１０６は、印刷設定編集部３０７がＵＩ部３０２を通じて、パターンごとの仕上がりイメージを図８の８０５に表示させる処理である。ステップＳ１１０７は、印刷設定編集部３０７が処理を次のレコードに移す処理である。
【００７２】
以上、示した処理を行うことで、ユーザは、取り得る印刷設定のパターンごとに、１レコード分の仕上がりを確認するだけで済むようになるため、全てのレコードに対してその仕上がりイメージを確認するという手間を省くことができる。
【００７３】
＜Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンの追加＞
Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンの追加画面を、図１２を用いて説明する。
１２０１は、ＵＩ部３０２が表示するＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンの追加画面である。
１２０２は、ＵＩ部３０２が、ユーザから設定名称の入力を受け付けるためのテキストボックスである。
１２０３は、ＵＩ部３０２が、ユーザからＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔの指定を受け付けるためのフィールドである。
【００７４】
１２０４は、ＵＩ部３０２が、ユーザから新規Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔの追加指示を受け付けるためのボタンである。ＵＩ部３０２は、あらかじめＨＤＤ２０４に記憶されているＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔの一覧をユーザに表示し、追加するＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔをユーザに指定させる。ＵＩ部３０２は追加されたＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔを１２０３に追加し表示する。
【００７５】
１２０５は、ＵＩ部３０２が、ユーザから１２０３で指定されたＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔに対する印刷設定を受け付けるためのコントロール群である。
【００７６】
１２０６は、ＵＩ部３０２が、ユーザから印刷設定カテゴリの表示切り替えを受け付けるためのタブである。図５に示したように、Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔに応じて設定できる印刷設定カテゴリが異なるため、１２０３で選択されたＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔに応じて、１２０６の内容が変化する。
【００７７】
１２０７は、ＵＩ部３０２が、ユーザからＨＤＤ２０４に格納されている既存の印刷設定のインポート指示を受け付けるためのボタンである。ＵＩ部３０２はユーザから指定された印刷設定を印刷設定編集部３０７経由で読み込み、１２０５に表示する。
【００７８】
１２０８は、ＵＩ部３０２が、ユーザから現在の設定をＨＤＤ２０４にエクスポートする指示を受け付けるためのボタンである。ＵＩ部３０２は、印刷設定編集部３０７経由で、１２０５にて設定されている印刷設定をＨＤＤ２０４へ保存する。
【００７９】
１２０９は、ＵＩ部３０２が、ユーザから印刷設定の確定指示を受け付けるボタンである。ＵＩ部３０２は、図４の４０５へ当該Ｐｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンを追加する。その際、１２０２で指定した名称で画面に表示する。
【００８０】
１２１０は、ＵＩ部３０２が、ユーザからＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔアイコンの追加のキャンセルを受け付けるためのボタンである。
【００８１】
＜ジョブチケットの出力＞
次にジョブチケットを出力する処理の流れを、図１３を用いて説明する。図１３は、ジョブチケットを出力する処理、およびＶＤＰ文書とジョブチケットとを連携させるためのメタデータをＶＤＰ文書中に記述する処理を示すフローチャートである。
【００８２】
ここでジョブチケットはＪＤＦ、ＶＤＰ文書はＰＰＭＬおよびＰＤＦ／ＶＴを用いて記述することを想定する。
【００８３】
ステップＳ１３０１は、メタデータ編集部３０６が、Ｒｅｃｉｐｉｅｎｔ  ｒｅｃｏｒｄを指定するためのメタデータをＶＤＰ文書へ書き込むための処理である。
【００８４】
次のステップＳ１３０２からステップＳ１３０９までが、ジョブチケットへ実際に印刷設定を書き込んだり、ＶＤＰ文書へメタデータを書き込んだりする処理である。ステップＳ１３０２からステップＳ１３０９は、最上位階層ノードから処理をスタートし、下位階層へ下りながらジョブチケットへの印刷設定書き込み、ＶＤＰ文書へのメタデータの書き込みを行う。
【００８５】
ステップＳ１３０２は、ジョブチケット出力部３０８が、処理対象の階層ノードが条件付印刷設定か否かを判定する処理である。条件付印刷設定であったと判定された場合には、Ｓ１３０７へ進む。条件付印刷設定でないと判定された場合、つまり基本印刷設定であった場合には、Ｓ１３０３へ進む。
【００８６】
ステップＳ１３０３は、ジョブチケット出力部３０８が、処理対象の階層ノードが最上位階層ノードか否かを判定する処理である。当該階層ノードが最上位階層ノードであった場合には、Ｓ１３０４へ進む。そうでない場合、すなわち当該階層ノードが最上位階層ノードよりも下の階層であれば、Ｓ１３０５へ進む。
【００８７】
ステップＳ１３０４は、ジョブチケット出力部３０８が、ジョブチケットへパーティショニングせずに印刷設定を書き込む処理である。パーティショニングとは、ＪＤＦにおける概念であり、印刷設定値を、ジョブごと、ドキュメントごと、ページごと、メタデータごとに場合分けするために用いる記述方法である。具体例は図１５（Ａ）を用いて後述する。処理対象階層ノードが最上位階層ノードである場合は、ジョブ全体に対する印刷設定であるため、パーティショニングせずに印刷設定を書き出す。
【００８８】
ステップＳ１３０５は、ジョブチケット出力部３０８が、ジョブチケットへＤｏｃＴａｇｓを使ったパーティショニングを使って印刷設定を書き出す処理である。ＤｏｃＴａｇｓとは、対象の文書（ここではＶＤＰ文書）に埋め込まれているドキュメントのタグを参照する変数である。本実施例では、ＤｏｃＴａｇｓの変数に格納する値としてＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔ名を用いている。具体例は図１５（Ｄ）を用いて後述する。処理対象階層ノードが最上位よりも下の階層ノードである場合には、その階層に限定された印刷設定を書き出す必要があるため、その階層に対するパーティショニングを使って印刷設定を書き出す。
【００８９】
ステップＳ１３０６は、メタデータ編集部３０６が、ＶＤＰ文書中の、当該処理対象階層ノードに相当する階層へメタデータを書き出す処理である。ここで書き出すメタデータは、キー「ＤｏｃＴｙｐｅ」、そのバリューとしてＰｒｏｄｕｃｔ  Ｉｎｔｅｎｔ名を書き出す。具体例は図１６（Ｃ）を用いて後述する。これにより、ＶＤＰ文書中のドキュメント階層と、ジョブチケットにおけるパーティションが対応付けられることとなる。
【００９０】
ステップＳ１３０７は、ジョブチケット出力部３０８が、ジョブチケットへＭｅｔａｄａｔａＮを使ったパーティショニングを使って印刷設定を書き出す処理である。ＭｅｔａｄａｔａＮとは、対象の文書（本実施例においてはＶＤＰ文書）に埋め込まれているメタデータを参照する変数の総称である。ＪＤＦ１．４の仕様では、Ｍｅｔａｄａｔａ０からＭｅｔａｄａｔａ９までが存在する。ＭｅｔａｄａｔａＮを用いたパーティショニングを行うことで、ＭｅｔａｄａｔａＮに代入されている値に応じて、印刷設定を変更可能である。具体例は、図１５（Ｂ）を使って後述する。
【００９１】
ステップＳ１３０８は、ジョブチケット出力部３０８が、ジョブチケットへＭｅｔａｄａｔａＭａｐを書き出す処理である。ＭｅｔａｄａｔａＭａｐとは、Ｓ１３０７で説明したＭｅｔａｄａｔａＮと、ＶＤＰ文書中に記載されているメタデータとのマッピングを定義するための要素である。ＭｅｔａｄａｔａＭａｐには、メタデータの値に対する条件を記載することができ、特定の条件のときに、特定の値をＭｅｔａｄａｔａＮに代入する、という記述ができる。本実施例では、図９で説明した条件付印刷設定の条件を記述し、条件ごとに異なる値をＭｅｔａｄａｔａＮへ代入する。こうすることで、メタデータの値に対する各条件に対して、Ｓ１３０７にて設定したパーティショニングされた印刷設定との対応付けを行うことができる。具体例は、図１５（Ｃ）を使って後述する。
【００９２】
ステップＳ１３０９は、ＶＤＰジョブ出力部３０４が、ＶＤＰ文書へデータソースから取得したデータをメタデータとして書き出す処理である。ここで書き出すメタデータは、データソースから取得した全てのデータであってもよいし、Ｓ１３０８にてＭｅｔａｄａｔａＭａｐに記述した条件として参照されているデータのみであってもよい。どちらの方法でメタデータを書き込むかは、予め設定ファイルに設定されていても良いし、ユーザからの指定を受け付けても良い。ここで、書き出されるメタデータの例は、図１６（Ｂ）を用いて後述する。
【００９３】
ステップＳ１３１０は、ジョブチケット出力部３０８が、処理対象階層ノードと同階層に次の階層ノードが存在するかを判定する処理である。処理対象階層と同階層に次の階層ノードが存在する場合には、Ｓ１３１１へ進み、存在しない場合にはＳ１３１２へ進む。
【００９４】
ステップＳ１３１１は、ジョブチケット出力部３０８が、処理対象階層ノードと同階層の、次の階層ノードへ処理を移す処理である。
【００９５】
ステップＳ１３１２は、ジョブチケット出力部３０８が、処理対象階層ノードに、一つ下の階層が存在するかを判定する処理である。一つ下の階層が存在する場合には、Ｓ１３１３へ進み、存在しない場合には処理を終了する。
【００９６】
ステップＳ１３１３は、ジョブチケット出力部３０８が、処理対象階層ノードの一つ下の階層ノードへ処理を移す処理である。
【００９７】
以上のように、最上位階層ノードから下位階層ノードへ向かって、ジョブチケットへの印刷設定の書き出しと、ＶＤＰ文書へのメタデータの書き出しを行っていく。これにより、階層への印刷設定および条件付印刷設定が設定されたジョブチケットと、メタデータが含まれたＶＤＰ文書を出力することができる。
【００９８】
次に、あるドキュメントテンプレートに図１４に示す印刷設定が行われている場合に出力される、ジョブチケットおよびＶＤＰ文書のイメージを示す。
【００９９】
ここではジョブチケットを、ＪＤＦを用いて記述することを想定する。ＪＤＦで記述されたジョブチケットのイメージ図を図１５に示す。
【０１００】
また、ここではＶＤＰ文書を、ＰＰＭＬおよびＰＤＦ／ＶＴで記述することを想定する。ＰＰＭＬで記述されたＶＤＰ文書のイメージ図を図１６、ＰＤＦ／ＶＴで記述されたＶＤＰ文書のイメージ図を図１７に示す。ＰＤＦ／ＶＴは本来、ＰＤＦをベースとしたフォーマットであるが、ここではＸＭＬを用いた記法で記載している。このＸＭＬでは、ＰＤＦ／ＶＴのドキュメント階層を示す要素名は、もととなったＰＤＦ／ＶＴでＤＰａｒｔの各階層に付けられていた名前を使用している。ＸＭＬを用いた記法で記載している理由は、ＪＤＦからＰＤＦ／ＶＴのメタデータを参照する際に、ＸＰａｔｈによる参照を行うことを説明するためである。
【０１０１】
図１４はドキュメントテンプレートに対する印刷設定の例を表した模式図である。
【０１０２】
図１４において、１４０１に示すように、最上位の階層ノードに基本印刷設定が設定されている。設定は  ｓｅｔｔｉｎｇＡ  という設定項目に、「ｄｅｆａｕｌｔＶａｌｕｅ」という値を設定する。
【０１０３】
次に、１４０２に示すように、２番目の階層ノードに、以下のような条件付印刷設定を設定する。
（１）  ｇｅｎｄｅｒ  ＝  ｍａｌｅ  かつ、ａｇｅ  ＜  ２０  の場合、ｓｅｔｔｉｎｇＢに「ｖａｌｕｅ１」を設定する
（２）  ｇｅｎｄｅｒ  ＝  ｆｅｍａｌｅ  かつ、ａｇｅ  ＜  ２０  の場合、ｓｅｔｔｉｎｇＢに「ｖａｌｕｅ２」を設定する
（３）  ｇｅｎｄｅｒ  ＝  ｍａｌｅ  かつ、ａｇｅ  ＞＝  ２０  の場合、ｓｅｔｔｉｎｇＢに「ｖａｌｕｅ３」を設定する
（４）  （１）…（３）  のいずれにも当てはまらない場合  の場合、ｓｅｔｔｉｎｇＢに「ｖａｌｕｅ４」を設定する
【０１０４】
最後に、１４０３に示すように、さらに一つ下の階層の１つ目、２つ目の紙面をＢｏｏｋｌｅｔとするような基本印刷設定が行われている。ここでは、印刷設定として、ｓｅｔｔｉｎｇＡという設定項目の値として「ｖａｌｕｅ＿ｂｏｏｋｌｅｔ」が設定されている。
【０１０５】
上記のような印刷設定をユーザから受け付けた場合に、まず、Ｓ１３０１の処理が行われ、当該ＶＤＰ文書に、Ｒｅｃｉｐｉｅｎｔ  Ｌｅｖｅｌを示すメタデータが記載される。図１６（Ａ）の１６０１に、ＰＰＭＬで記述されたＶＤＰ文書に追加された、Ｒｅｃｉｐｉｅｎｔ  Ｌｅｖｅｌを示すメタデータのイメージを示す。また、図１７（Ａ）１７０１に、ＰＤＦ／ＶＴで記述されたＶＤＰ文書に追加された、Ｒｅｃｉｐｉｅｎｔ  Ｌｅｖｅｌを示すメタデータのイメージを示す。
【０１０６】
以降、階層ノードごとにＳ１３０２からＳ１３１２の処理が行われる。まず、当該ドキュメントテンプレートの最上位階層のノードから処理を開始する。
【０１０７】
まず、１４０１に対する処理が行われる。１４０１は、基本設定であり、かつ最上位階層ノードへの設定なので、Ｓ１３０４の処理が行われる。Ｓ１３０４において、図１５（Ａ）の１５０１に示すように、ジョブチケットにおいて、ｓｅｔｔｉｎｇＡ  という設定に対して「ｄｅｆａｕｌｔＶａｌｕｅ」を設定する記述が書き込まれる。ここではＳ１３０４の説明にて述べたようにパーティショニングを使わずに印刷設定が書き込まれる。
【０１０８】
次に、一つ下の階層に処理が移り、１４０２に対する処理が行われる。１４０２は、条件付印刷設定なので、Ｓ１３０７からＳ１３０９の処理が行われる。
【０１０９】
Ｓ１３０７においては、ジョブチケットへＭｅｔａｄａｔａＮを使ったパーティショニングを使って印刷設定を書き出される。具体的には、１５０２のように記述される。１５０２では、「ＡＡＰａｒａｍｓ」を「Ｍｅｔａｄａｔａ０」という変数（ＪＤＦの用語ではＰａｒｔＩＤＫｅｙ）でパーティショニングしている。この場合、「Ｍｅｔａｄａｔａ０」という変数に代入されている値に応じて、ｓｅｔｔｉｎｇＢの設定値を変えている。例えば、Ｍｅｔａｄａｔａ０に「Ｐａｔｔｅｒｎ１」という文字列が代入されていれば、ｓｅｔｔｉｎｇＢに対し、ｖａｌｕｅ１を設定する。
【０１１０】
Ｓ１３０８においては、ジョブチケットへＭｅｔａｄａｔａＭａｐを書き出す。具体的には、図１５（Ｃ）の１５０３〜１５０６のように、参照するメタデータへのＸＰａｔｈと、当該メタデータに対する条件が書き出される。例えば１５０３は、「ＰＰＭＬ／ＪＯＢ／ＭＥＴＡＤＡＴＡ／ＤＡＴＵＭ／」に存在するメタデータのキー「ｇｅｎｄｅｒ」が「ｍａｌｅ」かつ、キー「ａｇｅ」が「０〜２０」の場合に、変数「Ｍｅｔａｄａｔａ０」に「Ｐａｔｔｅｒｎ１」が代入されることを示している。図１５（Ｃ）ではＰＰＭＬで記述されたＶＤＰ文書に対するＸＰａｔｈが指定されているが、ＰＤＦ／ＶＴで記述されたＶＤＰ文書の場合は、ＰＤＦ／ＶＴの階層構造にあわせたＸＰａｔｈを指定する必要がある。尚、ここで、上記条件の場合に変数「Ｍｅｔａｄａｔａ０」に「Ｐａｔｔｅｒｎ１」という文字列を代入しているが、この場合、１５０２をテキストエディタなどでユーザが確認した場合に、どの条件の場合にどの印刷設定がされるのかが分かりにくい。これを解決するため、代入する文字列として、上記条件が分かるような文字列を代入するような記述にしても良い。具体的には「Ｐａｔｔｅｒｎ１」ではなく、例えば「Ｇｅｎｄｅｒ＝ｍａｌｅ＿ａｎｄ＿Ａｇｅ＝０〜２０」というような文字列を用いても良い。こうすることで、１５０２の記述を見るだけでどの条件の場合にどの印刷設定が行われるのかが判断できるため、ヒューマンリーダビリティが向上する。
【０１１１】
Ｓ１３０９においては、ＶＤＰ文書へデータソースから取得したデータをメタデータとして書き出す。具体的には、ＰＰＭＬで記述されたＶＤＰ文書の場合には、１６０２および１６０３のように、処理対象階層に相当するドキュメント階層にメタデータが書き込まれる。ＰＤＦ／ＶＴで記述されたＶＤＰ文書の場合には、１７０２、１７０３のように記述される。これにより、前述した１５０２から１５０６の記述と合わせて、上記条件の場合に、ｓｅｔｔｉｎｇＢに対し、ｖａｌｕｅ１を設定することがジョブチケット上に記述される。
【０１１２】
最後に、さらに一つ下の階層に処理が移り、１４０３に対する処理が行われる。１４０３は、基本印刷設定であり、かつ、最上位階層ノードではない印刷設定である。そのため、Ｓ１３０５およびＳ１３０６の処理が行われる。
【０１１３】
Ｓ１３０５においては、ジョブチケットへＤｏｃＴａｇｓを使ったパーティショニングを用いて印刷設定を書き出す。具体的には図１５（Ｄ）の１５０７から１５１０のように記述される。ここでは、Ｓ１３０７において、条件別のパーティションを設定したため、さらにその下にＤｏｃＴａｇｓを使ったパーティションが記述される。この場合ＤｏｃＴａｇｓに「Ｂｏｏｋｌｅｔ」という文字列が代入されていた場合に、印刷設定ｓｅｔｔｉｎｇＡに「ｖａｌｕｅ＿ｂｏｏｋｌｅｔ」という値が設定される。尚、この例では「Ｂｏｏｋｌｅｔ」という文字列を用いたが、これは設定したＰｒｏｄｕｃｔ  ＩｎｔｅｎｔのＩｎｔｅｎｔ  Ｔｙｐｅを用いている。ただし、これはＩｎｔｅｎｔ  Ｔｙｐｅに限らず、任意の文字列でも良い。
【０１１４】
Ｓ１３０６においては、ＶＤＰ文書へＩｎｔｅｎｔを表すメタデータを書き出す。具体的には、ＰＰＭＬで記述されたＶＤＰ文書に対しては、図１６（Ｃ）の１６０４および１６０５のように処理対象階層に相当するドキュメント階層にメタデータが書き込まれる。また、ＰＤＦ／ＶＴで記述されたＶＤＰ文書に対しては、図１７（Ｃ）の１７０４および１７０５のように記述される。ここでは、キー「ＤｏｃＴｙｐｅ」、バリュー「ｂｏｏｋｌｅｔ」を持ったメタデータが付加されている。これにより、先述した、ジョブチケットに記述された１５０７から１５１０と合わせて、当該階層に対する印刷設定が行われる。
【０１１５】
以上、本発明の実施例について具体例を挙げて説明したが、本発明は上記の実施例に限定されるものではない。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのコンピュータ実行可能なプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１１６】
１０２  クライアントＰＣ
２０１  ＣＰＵ
３０１  ＶＤＰアプリケーション
３０２  ＵＩ部
３０３  ドキュメントテンプレート編集部
３０４  ＶＤＰジョブ出力部
３０６  メタデータ編集部
３０７  印刷設定編集部
３０８  ジョブチケット出力部
【図１】
2011145865.tif 000003
【図２】
2011145865.tif 000004
【図３】
2011145865.tif 000005
【図４】
2011145865.tif 000006
【図５】
2011145865.tif 000007
【図６】
2011145865.tif 000008
【図７】
2011145865.tif 000009
【図８】
2011145865.tif 000010
【図９】
2011145865.tif 000011
【図１０】
2011145865.tif 000012
【図１１】
2011145865.tif 000013
【図１２】
2011145865.tif 000014
【図１３】
2011145865.tif 000015
【図１４】
2011145865.tif 000016
【図１５】
2011145865.tif 000017
【図１６】
2011145865.tif 000018
【図１７】
2011145865.tif 000019