(57)【要約】  ＸＰＳ文書の各ページに対し、必ずＰｒｉｎｔＴｉｃｋｅｔが存在するわけではない。ＰｒｉｎｔＴｉｃｋｅｔが存在しないページは、上位の階層のＰｒｉｎｔＴｉｃｋｅｔを参照して、そのページが印刷される。ここで、複数のＸＰＳ文書を結合した場合、ページが参照すべき上位の階層となるＰｒｉｎｔＴｉｃｋｅｔが結合前と結合後で変化することで、ユーザが意図した通りの印刷結果を得られない可能性がある。  結合処理が実行される前に、ページの階層よりも上位の階層の要素の印刷設定情報に基づいてページ要素の印刷設定情報を生成する。そして、生成された印刷設定情報が付加されたページ要素を含む構造化文書と生成された印刷設定情報が付加されたページ要素を含む他の構造化文書を結合することにより結合文書を生成する。
2011064869.tif 000002
【特許請求の範囲】
【請求項１】
複数の階層の要素によって構成され、少なくとも１つのページ要素を含む複数の構造化文書を結合する結合処理を実行する文書処理装置であって、
前記構造化文書に含まれるページ要素の印刷設定情報を生成するために、前記ページ要素よりも上位の階層の要素の印刷設定情報を取得する取得手段と、
前記結合処理が実行される前に、前記取得手段により取得された上位の階層の要素の印刷設定情報に基づいて、前記ページ要素の印刷設定情報を生成する生成手段と、
前記生成手段により生成された印刷設定情報が付加されたページ要素を含む構造化文書と前記生成手段により生成された印刷設定情報が付加されたページ要素を含む他の構造化文書を結合する結合手段を備えることを特徴とする文書処理装置。
【請求項２】
前記生成手段は、ページの要素の印刷設定情報において不足している設定値に上位の階層の印刷設定情報の設定値を使用することで前記ページ要素の印刷設定情報を生成することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記生成手段により新規に生成される対象のページ要素の印刷設定情報が、既に生成された他のページ要素の印刷設定情報と同じであると判断された場合、新規に印刷設定情報の生成を行わずに前記同じ印刷設定情報と対象のページ要素とを関連付ける関連付け手段を更に備えることを特徴とする請求項１または２に記載の文書処理装置。
【請求項４】
前記構造化文書は、前記ページ要素の階層と、前記ページ要素を含む文書要素の階層と、前記文書要素を含むジョブ要素の階層とによって構成されることを特徴とする請求項１乃至３のいずれか１項に記載の文書処理装置。
【請求項５】
前記構造化文書に基づくプレビュー画像を表示する表示手段をさらに備え、
前記結合手段は、表示するために保持された複数の構造化文書を結合することにより結合処理を実行することを特徴とする請求項１乃至４のいずれか１項に記載の文書処理装置。
【請求項６】
前記構造化文書はＸＰＳ文書であり、前記印刷設定情報はＰｒｉｎｔＴｉｃｋｅｔである請求項１乃至５のいずれか１項に記載の文書処理装置。
【請求項７】
複数の階層の要素によって構成され、少なくとも１つのページ要素を含む複数の構造化文書を結合する結合処理を実行する文書処理装置において実行される制御方法であって、
前記構造化文書に含まれるページ要素の印刷設定情報を生成するために、前記ページ要素よりも上位の階層の要素の印刷設定情報を取得する取得工程と、
前記結合処理が実行される前に、前記取得工程により取得された上位の階層の要素の印刷設定情報に基づいて、前記ページ要素の印刷設定情報を生成する生成工程と、
前記生成工程により生成された印刷設定情報が付加されたページ要素を含む構造化文書と前記生成工程により生成された印刷設定情報が付加されたページ要素を含む他の構造化文書を結合する結合工程を備えることを特徴とする制御方法。
【請求項８】
前記生成工程は、ページの要素の印刷設定情報において不足している設定値に上位の階層の印刷設定情報の設定値を使用することで前記ページ要素の印刷設定情報を生成することを特徴とする請求項７に記載の制御方法。
【請求項９】
前記生成工程により新規に生成される対象のページ要素の印刷設定情報が、既に生成された他のページ要素の印刷設定情報と同じであると判断された場合、新規に印刷設定情報の生成を行わずに前記同じ印刷設定情報と対象のページ要素とを関連付ける関連付け工程を更に備えることを特徴とする請求項７または８に記載の制御方法。
【請求項１０】
前記構造化文書は、前記ページ要素の階層と、前記ページ要素を含む文書要素の階層と、前記文書要素を含むジョブ要素の階層とによって構成されることを特徴とする請求項７乃至９のいずれか１項に記載の制御方法。
【請求項１１】
前記構造化文書に基づくプレビュー画像を表示する表示工程をさらに備え、
前記結合工程は、表示するために保持された複数の構造化文書を結合することにより結合処理を実行することを特徴とする請求項７乃至１０のいずれか１項に記載の制御方法。
【請求項１２】
前記構造化文書はＸＰＳ文書であり、前記印刷設定情報はＰｒｉｎｔＴｉｃｋｅｔである請求項７乃至１１のいずれか１項に記載の制御方法。
【請求項１３】
複数の階層の要素によって構成され、少なくとも１つのページ要素を含む複数の構造化文書を結合する結合処理を実行する文書処理装置において実行されるプログラムであって、
前記構造化文書に含まれるページ要素の印刷設定情報を生成するために、前記ページ要素よりも上位の階層の要素の印刷設定情報を取得する取得工程と、
前記結合処理が実行される前に、前記取得工程により取得された上位の階層の要素の印刷設定情報に基づいて、前記ページ要素の印刷設定情報を生成する生成工程と、
前記生成工程により生成された印刷設定情報が付加されたページ要素を含む構造化文書と前記生成工程により生成された印刷設定情報が付加されたページ要素を含む他の構造化文書を結合する結合工程をコンピュータに実行させるためのコンピュータが読み取り可能なプログラム。
【請求項１４】
前記生成工程は、ページの要素の印刷設定情報において不足している設定値に上位の階層の印刷設定情報の設定値を使用することで前記ページ要素の印刷設定情報を生成することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記生成工程により新規に生成される対象のページ要素の印刷設定情報が、既に生成された他のページ要素の印刷設定情報と同じであると判断された場合、新規に印刷設定情報の生成を行わずに前記同じ印刷設定情報と対象のページ要素とを関連付ける関連付け工程を更に備えることを特徴とする請求項１３または１４に記載のプログラム。
【請求項１６】
前記構造化文書は、前記ページ要素の階層と、前記ページ要素を含む文書要素の階層と、前記文書要素を含むジョブ要素の階層とによって構成されることを特徴とする請求項１３乃至１５のいずれか１項に記載のプログラム。
【請求項１７】
前記構造化文書に基づくプレビュー画像を表示する表示工程をさらに備え、
前記結合工程は、表示するために保持された複数の構造化文書を結合することにより結合処理を実行することを特徴とする請求項１３乃至１６のいずれか１項に記載のプログラム。
【請求項１８】
前記構造化文書はＸＰＳ文書であり、前記印刷設定情報はＰｒｉｎｔＴｉｃｋｅｔである請求項１３乃至１７のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の構造化文書を結合する方法に関する。
【背景技術】
【０００２】
従来、印刷を行う際に両面印刷や、１枚の用紙の面に複数のページを印刷する割り付け印刷（Ｎ−ｕｐ印刷とも呼ばれる）などが紙やインクを節約するために印刷設定情報として設定される。【０００３】
しかし、それらの印刷設定情報は複数の印刷ジョブにまたがって設定されない。そのため、例えば奇数ページの複数の文書のそれぞれに対して両面印刷を指定して、複数の印刷ジョブを生成する場合、各印刷ジョブの印刷物の最終ページの裏面が白紙になるため、用紙の節約を効率的に実現できないなどの問題があった。【０００４】
この問題に対して、複数の印刷ジョブを結合して一つの印刷ジョブとして扱う技術が特許文献１に開示されている。複数の印刷ジョブを結合して、１つの結合印刷ジョブを生成し、その結合印刷ジョブに対して両面印刷を設定する。その結果、例えば、結合印刷ジョブに含まれる１つ目の印刷ジョブの最終ページが用紙の表面に配置された場合、結合印刷ジョブに含まれる２つ目の印刷ジョブの先頭ページを同じ用紙の裏面に配置することが可能となる。【０００５】
また、近年では従来の印刷システムとは異なる印刷システムが登場してきた。この新しい印刷システムでは、スプールファイルに格納されるデータ形式として従来のＥＭＦ形式（Ｅｎｈａｎｃｅｄ  Ｍｅｔａ  Ｆｉｌｅ）ではなくＸＰＳ形式が用いられる。ＸＰＳについては図１を用いて後述するが、Ｍｉｃｒｏｓｏｆｔ社が開発したオープン規格の電子文書フォーマットである。ＸＰＳは印刷設定情報を記述したＸＭＬデータであるＰｒｉｎｔＴｉｃｋｅｔをページ等の要素ごとに持つことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２４３４６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＸＰＳ文書には上述したように印刷設定情報を記述したＰｒｉｎｔＴｉｃｋｅｔをページ毎に持つことができる。そのため、印刷ジョブである複数のＸＰＳ文書を結合した場合にも、各ページの印刷設定情報を保持したまま結合を行うことも可能である。【０００８】
しかし、ＸＰＳ文書の各ページに対し、必ずＰｒｉｎｔＴｉｃｋｅｔが存在するわけではない。ＰｒｉｎｔＴｉｃｋｅｔが存在しないページは、上位の階層のＰｒｉｎｔＴｉｃｋｅｔを参照して、そのページが印刷される。【０００９】
ここで、複数のＸＰＳ文書を結合した場合、ページが参照すべき上位の階層となるＰｒｉｎｔＴｉｃｋｅｔが結合前と結合後で変化することで、ユーザが意図した通りの印刷結果を得られない可能性がある。【００１０】
そこで、複数のＸＰＳ文書を結合する場合においてもユーザが意図した通りの印刷結果を得るための方法について提案する。
【課題を解決するための手段】
【００１１】
上述のような課題を解決するために、複数の階層の要素によって構成され、少なくとも１つのページ要素を含む複数の構造化文書を結合する結合処理を実行する文書処理装置であって、前記構造化文書に含まれるページ要素の印刷設定情報を生成するために、前記ページ要素よりも上位の階層の要素の印刷設定情報を取得する取得手段と、前記結合処理が実行される前に、前記取得手段により取得された上位の階層の要素の印刷設定情報に基づいて、前記ページ要素の印刷設定情報を生成する生成手段と、
前記生成手段により生成された印刷設定情報が付加されたページ要素を含む構造化文書と前記生成手段により生成された印刷設定情報が付加されたページ要素を含む他の構造化文書を結合する結合手段を備えることを特徴とする。
【発明の効果】
【００１２】
本発明により、印刷ジョブである構造化文書の結合を行った際に、各ページが結合前に設定されていた印刷設定情報を保持した状態となり、ユーザが意図した印刷結果を得ることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】ＸＰＳの論理構造の概念図
【図２】本発明のプリンタドライバ一例を示すブロック図
【図３】本発明のプレビューウィンドウの一例を示す図
【図４】本発明のＦｉｘｅｄＰａｇｅのＰｒｉｎｔＴｉｃｋｅｔ置き換えを示す図
【図５】実施形態１におけるＦｉｘｅｄＰａｇｅのＰｒｉｎｔＴｉｃｋｅｔ置き換え処理を示す図
【図６】本発明のジョブレベルのＰＴ生成処理の一例を示す図
【図７】本発明のドキュメントレベルのＰＴ生成処理の一例を示す図
【図８】本発明のページレベルのＰＴ生成処理の一例を示す図
【図９】本発明の構造化文書の結合時のフォルダ構成の一例を示す図
【図１０】本発明の構造化文書の結合処理の一例を示す図
【図１１】本発明のＦｉｘｅｄＰａｇｅのＰｒｉｎｔＴｉｃｋｅｔ置き換えを示す図
【図１２】本発明のＦｉｘｅｄＰａｇｅのＰｒｉｎｔＴｉｃｋｅｔ置き換えを示す図
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
（実施例１）
＜ＸＰＳ文書の構成＞
本文の理解を容易にするため、まずＸＰＳについて簡単に説明する。ＸＰＳとはＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎの略で、Ｍｉｃｒｏｓｏｆｔ社が開発したオープン規格の電子文書フォーマットの一つである。ＸＰＳ文書はＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ（以下ＦＤＳ）をルートとするツリー構造になっている。ＦＤＳは複数のＦｉｘｅｄＤｏｃｕｍｅｎｔ（以下ＦＤ）を持つことができ、ＦＤは複数のＦｉｘｅｄＰａｇｅ（以下ＦＰ）を持つことができる。ＦＤＳとＦＤとＦＰのそれぞれは、ＸＰＳパート（または要素）と呼ばれることがある。つまり、ＸＰＳ文書は、ページ要素、文書要素、ジョブ要素により構成される。
【００１６】
ＦＰは文書のページの内容をＸＭＬ形式で記述しており、実際に表示または印刷される内容を含んでいる。ページ内容を印刷するために使用されるフォントや画像等のリソースは複数のＦＰで共有できる。また、ＦＤＳとＦＤとＦＰのそれぞれは、印刷設定情報をＰｒｉｎｔＴｉｃｋｅｔ（以下ＰＴ）として持つことができる。ＰＴはＸＰＳ文書を印刷する際の印刷設定情報がＸＭＬ形式で記述されたデータである。ここで各ＦＰを印刷する際に使用する印刷設定情報は、ＦＤＳのＰＴと、印刷対象ＦＰの親ＦＤのＰＴと、印刷対象ＦＰのＰＴをマージしたＰＴに相当する。
【００１７】
図１はＸＰＳ文書の論理構造を示したブロック図の一例である。ＸＰＳ文書１０１の論理構造はＦＤＳ１０３がルートとなるツリー構造となっている。ＦＤＳ１０３は子としてＦＤ１１１とＦＤ１１３を有する。ＦＤ１１１は子としてＦＰ１２１とＦＰ１２３を有する。ＦＤ１１３は子としてＦＰ１２５を有する。印刷設定情報として、ＦＤＳ１０３がＰＴ１３１を、ＦＤ１１１がＰＴ１３３を、ＦＰ１２１がＰＴ１３５を、ＦＤ１１３がＰＴ１３７を保持している。ＦＰ１２３とＦＰ１２５はＰＴを保持していない。また、ＦＰ１２１とＦＰ１２３がフォントや画像等のリソース１４１を共有しており、ＦＰ１２５はフォントや画像等のリソース１４３を利用している。なお、実際のＸＰＳ文書は前記図１の構造化文書が圧縮されたデータである。
【００１８】
ここで、例えばＦＰ１２１を印刷する際に使用するＰＴは、ＰＴ１３１とＰＴ１３３とＰＴ１３５をマージしたＰＴとなる。ＦＰ１２１のＰＴ１３５にモノクロが指定されており、ＦＤ１１のＰＴ１３３に用紙サイズ：Ａ４が指定されている場合、ＦＰ１２１を印刷する際にＰＴ１３５とＰＴ１３３がマージされる。その結果、ＦＰ１２１のＰＴ１３５において不足していた用紙サイズは、ＰＴ１３３にて補うため、ＦＰ１２１は、モノクロ、用紙サイズＡ４にて印刷される。
【００１９】
＜プリンタドライバの動作＞
図２は、本発明におけるプリンタドライバを備える文書処理装置２１１のブロック図である。
【００２０】
本発明に関わるモジュールは、印刷設定機能を有するユーザインタフェースモジュール２１５と、フィルター群２１９、及びプレビュー制御モジュール２０３である。フィルター群２１９は、ＸＰＳ文書のページをレイアウトするレイアウトフィルター２２１と、プレビュー機能を提供するためのプレビューフィルター２２３と、ＸＰＳ文書をプリンタが解釈可能な印刷コマンドに変換する印刷コマンドフィルター２２５で構成される。ここでフィルターとは、入力されたデータをもとに、加工、変換、無変換、生成等の工程を介して、何らかのデータを出力する機能を有するプログラムのことを称する。
【００２１】
図２における印刷システムでは、アプリケーション２０１により作成された文書の各ページのデータは、ＯＳの印刷サポート機能２１３を通じてＸＰＳスプールファイル２１７にＸＰＳ文書として一時的に蓄えられる。
【００２２】
続いて、プリンタドライバのフィルター群２１９が、ＸＰＳスプールファイル２１７に蓄えられたＸＰＳ文書を印刷設定情報に基づきプリンタが解釈可能な印刷コマンドに変換してプリンタ２３１に供給することにより、印刷処理が実行される。
【００２３】
ユーザインタフェースモジュール２１５は、一般に印刷に使用する用紙サイズや印刷方向等を設定する機能を提供する。同時に本発明におけるユーザインタフェースモジュール２１５は、プリンタが印刷動作を開始する前に印刷イメージを表示するプレビューを設定する機能を有する。ユーザインタフェースモジュール２１５は、複数の印刷設定項目の設定値が格納された印刷設定情報をアプリケーション２０１に返却する。
【００２４】
アプリケーション２０１は作成した任意の文書の印刷に際し、ＯＳの印刷サポート機能２１３に対して、印刷開始や印刷終了を通知したり、印刷設定情報を設定するためにユーザインタフェースモジュール２１５から返却された印刷設定情報を通知する。また、アプリケーション２０１は、文書の各ページの描画開始や描画終了を通知する。
【００２５】
ＯＳの印刷サポート機能２１３は、アプリケーションが描画した内容や印刷設定情報をＸＰＳスプールファイル２１７に格納する。各フィルターはスプールされたＸＰＳ文書をデスプールする際にＯＳの印刷サポート機能から呼び出される。
【００２６】
プリンタドライバのフィルター群２１９は１つ以上のフィルターで構成されており、印刷時にＸＰＳスプールファイルからＸＰＳ文書を読込み、プリンタが解釈可能な印刷コマンドに変換してプリンタ２３１に供給する。
【００２７】
なお、本実施形態におけるフィルター群２１９の構成として、レイアウト機能とプレビュー機能が一つのフィルターで実現されたり、不要なフィルターを取り除いたりすることも可能であり、本提案は図２のフィルター構成に限定されるものではない。
【００２８】
レイアウトフィルター２２１はＸＰＳスプールファイル２１７に格納されたＸＰＳ文書を入力し、印刷設定情報に基づきページのレイアウト処理を行い、レイアウト済みのＸＰＳ文書を出力する。本実施例におけるレイアウト処理とは例えば複数のページを一つの用紙面に印刷するＮ−ｕｐ印刷や、１つのページを拡大して複数の用紙の面に印刷するポスター印刷等を含む。
【００２９】
プレビューフィルター２２３は、レイアウトフィルター２２１から出力されたＸＰＳ文書と印刷設定情報に基づくプレビュー画像をユーザに提供するプレビュー制御モジュール２０３を備える。本件のプレビュー機能は複数のＸＰＳ文書を扱うことが可能である。そのため、１つのＸＰＳ文書がプレビュー制御モジュール２０３に追加されると、そのＸＰＳ文書について以降の処理を行わず終了する。これにより別のＸＰＳ文書の処理が開始され、プレビュー制御モジュール２０３に複数のＸＰＳ文書を追加することが可能となる。
【００３０】
プレビューを確認したユーザが印刷を指示すると、プレビュー制御モジュール２０３は印刷指示を受けたＸＰＳ文書をＸＰＳスプールファイル２１７に追加する。プレビュー制御モジュール２０３が追加したＸＰＳ文書はプレビュー設定をＯＦＦにする。これによりプレビューフィルター２２３が再度プレビューを行うことなく、次の印刷コマンドフィルター２２５にＸＰＳ文書が送信される。
【００３１】
印刷コマンドフィルター２２５はプレビューフィルター２２３から出力されたＸＰＳ文書と印刷設定情報に従い、ＸＰＳ文書をプリンタが解釈可能な印刷コマンドに変換し出力する。印刷コマンドフィルター２２５は、入力されたＸＰＳ文書をイメージデータに変換する場合、レンダーフィルターとも呼ばれる。レンダーフィルターはインクジェットプリンタに代表される廉価なラスタープリンタ用のプリンタドライバにおいて多く見られる。印刷コマンドフィルター２２５がレンダーフィルターとして動作する場合、入力されたＸＰＳ文書は、イメージデータに変換される。その後、色空間の変換や二値化等の画像処理の過程を経て、ラスタープリンタが解釈可能な印刷コマンドに変換される。
【００３２】
ページプリンタに代表される高機能なプリンタにおいて、プリンタが解釈できる印刷コマンドの種類にＸＰＳが含まれる場合、印刷コマンドフィルター２２５は入力されたＸＰＳ文書を編集しＸＰＳ文書を出力する。印刷コマンドフィルター２２５にて処理する必要がなければ、入力のＸＰＳ文書をそのまま出力するか、印刷コマンドフィルター２２５はプリンタドライバに含めなくても良いことは言うまでもない。
【００３３】
出力デバイスであるプリンタ２３１は、印刷コマンドフィルター２２５で生成された印刷コマンドを解釈し、可視画像を印刷用紙に対して形成する機能を持つ。印刷用紙２４１で図示される印刷結果の例は、レイアウトフィルター２２１が２−ｕｐの処理を行った場合を示している。
【００３４】
なお、図２では、フィルター間において入出力されるデータはＸＰＳ文書として説明したが、ＸＰＳ文書に限らなくても良い。
【００３５】
＜プレビュー制御モジュールのプレビューウィンドウ＞
図３に、本実施の形態におけるプレビュー制御モジュールによって提供される表示画面（プレビューウィンドウ）の一例を示す。印刷プレビューウィンドウ３０１は、プレビュー画像やＸＰＳ文書の印刷設定情報等を表示するための表示エリアと、ユーザがプレビュー画像の表示方法等を変更するための入力手段を備える。
【００３６】
メニューバー３０２は、表示切り替え等、プレビューアへ命令するためのメニューを含む。ジョブリスト３０３はプレビュー制御モジュールが処理可能なジョブ（本願ではＸＰＳ文書）の一覧を表示する。ジョブリスト３０３で選択されたＸＰＳ文書が表示や印刷の対象となる。プレビュー表示領域３０４は、ＸＰＳファイルの内容を利用し、印刷用紙と印刷用紙に形成される可視象を印刷イメージとして表示する。
【００３７】
ユーザ操作部３０５〜３０６が用意される領域はツールバーであり、ユーザはメニューバー３０２を使用しなくともツールバー３０５を押下することで容易にプレビューページの切り替え等を行うことができる。ページ切り替えボタン３０５は４つのボタンで構成されており、先頭ページ、前ページ、次ページ、最終ページへプレビュー表示を切り替えることが可能である。
【００３８】
ドロップダウンリスト３０６はプレビュー画像の表示サイズを変更する際に使用され、全体表示や１００％、２００％等を選択できる。表示領域３０７はプレビューされているＸＰＳ文書の印刷設定情報に関わる代表的な設定項目の設定値を表示する。図３においては文書の総ページ数は４ページであり、現在プレビュー表示しているページ番号は３ページであり、印刷設定情報で設定された部数は１部であることが示されている。
【００３９】
ユーザがジョブリスト３０３で複数のＸＰＳ文書を選択した状態でジョブ結合ボタン３０８を押下することで、選択された複数のＸＰＳ文書が結合され、結合印刷ジョブ（結合文書）が生成される。印刷設定変更領域３０９は、ジョブリストで選択しているＸＰＳ文書に対する印刷設定情報の変更を受け付ける。ここでは、１枚の用紙の面に複数のページを配置する割り付け印刷設定と、両面印刷設定が可能となっているが、その他の設定項目の設定値を設定できても良い。ユーザが印刷ボタン３１０を押下することで印刷が開始される。
【００４０】
本実施形態において、プレビュー設定がＯＮである印刷設定情報を伴うＸＰＳ文書がスプールされ、ＯＳの印刷サポート機能によりフィルターパイプラインが起動される。そして、プリンタドライバがプレビュー制御モジュールを起動した時点で図３に例示する表示画面が表示される。ただし、既にプレビュー制御モジュールが起動している場合、プレビュー設定がＯＮである印刷設定情報を伴うＸＰＳ文書は既存のプレビュー制御モジュールに追加され、追加されたＸＰＳ文書はジョブリストに表示される。
【００４１】
＜ＸＰＳ文書の結合による印刷設定情報の変化＞
前述したように、印刷ジョブであるＸＰＳ文書は各パートに印刷設定情報を記述したＰＴを持つことができる。また、ＸＰＳ文書の各パートは、ＰＴを持たないことも可能であり、持っていたとしても全ての設定値が記述されている必要は無い。ＰＴは上位の階層である親パートのＰＴとマージして使用されるため、各パートにおいてＰＴが存在しない、もしくは参照したい設定値が存在しない場合、親パートのＰＴの印刷設定情報が使用される。つまり、ＦＰに参照したい印刷設定情報が存在しない場合、親ＦＤのＰＴの印刷設定情報が採用される。親ＦＤにも該当の印刷設定情報が存在しない場合、ＦＤＳの印刷設定情報が採用され、ＦＤＳにも存在しない場合は、全ての設定値が記述されたユーザーデフォルトの設定値が使用される。
【００４２】
印刷ジョブである複数のＸＰＳ文書を結合する場合、ＸＰＳ文書内に複数のＦＤやＦＰを保持することが可能であるため、ＰＴも併せて追加することが可能となる。
【００４３】
それに対して、ＦＤＳはＸＰＳ文書内に１つしか持てないため、印刷ジョブであるＸＰＳ文書を結合する場合、どのＸＰＳ文書のＦＤＳを用いるのか、または、新たに生成したＦＤＳを使用する必要がある。その際、親ＦＤＳが変わったＦＤ及びＦＰは、マージに使用されるＰＴが変わるため、印刷設定情報が結合前から変化する可能性がある。
【００４４】
図４（ａ）に、ＸＰＳ文書の結合の一例を示す。ジョブ１は１つのＦＰ（ＦＰ１）を持ち、ＦＰの親ＦＤとしてＦＤ１を、ＦＤ１の親ＦＤＳとしてＪＯＢ１ＦＤＳを持ち、ＪＯＢ１ＦＤＳ、ＦＤ１、ＦＰ１はそれぞれＰＴとしてＪＯＢ１ＦＤＳＰＴ、ＦＤ１ＰＴ、ＦＰ１ＰＴを持つ。
【００４５】
ジョブ２は２つのＦＰ（ＦＰ２、ＦＰ３）を持ち、ＦＰ２とＦＰ３の親ＦＤとしてＦＤ２を持ち、ＦＤ２の親ＦＤＳとしてＪＯＢ２ＦＤＳを持ち、ＪＯＢ２ＦＤＳ、ＦＰ２はそれぞれＪＯＢ２ＦＤＳＰＴ、ＦＰ２ＰＴを持つ。
【００４６】
ジョブ１をベースとしてジョブ２を結合した場合、ＪＯＢ１ＦＤＳの子要素として、ＦＤ２以下のパーツを追加する方法が考えられる。これによって結合ジョブが生成される。
【００４７】
ここで各ページ（ＦＰ）の印刷設定情報を考える。元々ジョブ１に存在したＦＰ１についてはＰＴの内容が変わらず、ＪＯＢ１ＦＤＳＰＴとＦＤ１ＰＴとＦＰ１ＰＴをマージした印刷設定情報が用いられる。
【００４８】
それに対して、ＦＰ２の印刷設定情報は、結合前のジョブ２において、ＪＯＢ２ＦＤＳＰＴとＦＰ２ＰＴをマージした印刷設定情報であったが、結合によりＪＯＢ１ＦＤＳＰＴとＦＰ２ＰＴをマージした印刷設定情報が用いられることとなる。これは、ジョブ１とジョブ２の結合により、結合後のＸＰＳ文書のＦＤＳがＪＯＢ１ＦＤＳとなり、ＦＰ２が参照すべきＦＤＳがＪＯＢ２ＦＤＳからＪＯＢ１ＦＤＳに変わったことが原因である。
【００４９】
同様に結合前のジョブ２のＦＰ３のＰＴは、ＪＯＢ２ＦＤＳＰＴであったが、結合後のＦＰ３は、ＪＯＢ１ＦＤＳＰＴを印刷設定情報として用いる。
【００５０】
ここで、ＪＯＢ１ＦＤＳＰＴとＪＯＢ２ＦＤＳＰＴの内容が異なる場合、ＦＰ２及びＦＰ３の印刷設定情報は結合前と結合後で異なる。
【００５１】
そこで、印刷ジョブであるＸＰＳ文書がプレビューアに追加される際に、各ＦＰについて、ユーザデフォルトＰＴ、親ＦＤＳのＰＴ、親ＦＤのＰＴ、ＦＰのＰＴマージしたものを生成し、ＦＰのＰＴと置き換える。これによってＦＰの持つＰＴは、そのＦＰで使用される全ての設定値を保持することになり、結合によって情報が失われることを防ぐ。
【００５２】
図４（ｂ）に、マージ後のＰＴをＦＰに配置したＸＰＳ文書の結合についての一例を示す。まず、各ＦＰのＰＴについて親パートのＰＴとのマージを行う。ジョブ１ではＦＰ１に付加するＰＴを生成するために、ＦＰ１のＰＴ（ＦＰ１ＰＴ）と、ＦＰ１の親ＦＤであるＦＤ１のＰＴ（ＦＤ１ＰＴ）と、親ＦＤＳであるＪＯＢ１ＦＤＳのＰＴ（ＪＯＢ１ＦＤＳＰＴ）とユーザデフォルトＰＴをマージする。なお、ユーザデフォルトＰＴについては全てのマージ処理で共通して使用されるため、図の記載は省略する。そして、生成されたＰＴ（ＪＯＢ１ＦＤＳＰＴ＋ＦＤ１ＰＴ＋ＦＰ１ＰＴ）をＦＰ１のＰＴとして置き換える。
【００５３】
同様にジョブ２でも、ＰＴが存在しないパートは除いて、親パートのＰＴとのマージを行う。つまり、ＦＰ２に付加するＰＴは、ＦＰ２の親ＦＤであるＦＤ２にＰＴが存在しないため、ＦＰ２のＰＴ（ＦＰ２ＰＴ）と、親ＦＤＳであるＪＯＢ２ＦＤＳのＰＴ（ＪＯＢ２ＦＤＳＰＴ）とユーザデフォルトＰＴをマージして生成する。
【００５４】
同様にＦＰ３では、ＦＰ３とＦＤ２にＰＴが存在しないため、親ＦＤＳであるＪＯＢ２ＦＤＳのＰＴ（ＪＯＢ２ＦＤＳＰＴ）とユーザデフォルトＰＴをマージして生成する。
【００５５】
生成したＰＴ（ＪＯＢ２ＦＤＳＰＴ＋ＦＰ２ＰＴ、ＪＯＢ２ＦＤＳＰＴ）はそれぞれＦＰ２とＦＰ３のＰＴとして付加される。あらかじめＦＰにＰＴが存在する場合は、既存のＰＴを生成したＰＴに置き換える。これによって各ページはＦＰが持つＰＴのみでページの印刷設定情報を取得することが可能となる。
【００５６】
ここで、ＦＰのＰＴを置き換えたジョブ１とジョブ２を結合すると、図４（ｂ）の結合ジョブが生成される。ジョブ１に追加されたＦＰ２とＦＰ３は、親ＦＤＳがＪＯＢ１ＦＤＳに変わっているため、親ＦＤＳのＰＴもＪＯＢ２ＦＤＳＰＴからＪＯＢ１ＦＤＳＰＴに変わっている。しかし、事前にＪＯＢ２ＦＤＳＰＴとマージして生成したＰＴを保持しているため、親ＦＤＳのＰＴが変化してもページに適用される印刷設定情報が変化することはない。
【００５７】
図５に、ＦＰのＰＴをマージＰＴに置き換える処理のフローチャートの一例を示す。なお、本願のフローチャートの各ステップは、情報処理装置（ＰＣ）のＣＰＵが、関連するプログラムをメモリから読み出して実行することにより実現される。なお、図５の処理は、ＸＰＳ文書のプレビューが指示された場合に実行されても、結合が指示された場合に実行されても良い。なお、本願ではプレビューが指示された場合に実行されるものとして説明する。
【００５８】
プレビュー制御モジュール２０３は、Ｓ１０１でプレビューが指示されたＸＰＳ文書のＦＤＳを取得し、Ｓ１０３でジョブレベルのＰＴを生成する。ジョブレベルのＰＴ生成処理については図６を用いて後述する。
【００５９】
次に、プレビュー制御モジュール２０３は、Ｓ１０５で処理対象のＸＰＳ文書のＦＤを取得する。ＸＰＳ文書は、複数のＦＤを保持する可能性があるため、プレビュー制御モジュール２０３は、Ｓ１０７でＦＤを取得できたか判定し、取得できなくなるまで処理を繰り返すことで全てのＦＤに対して処理を行う。
【００６０】
Ｓ１０９において、プレビュー制御モジュール２０３はドキュメントレベルのＰＴを生成する。ドキュメントレベルのＰＴ生成処理については図７を用いて後述する。
【００６１】
次にＳ１１１でプレビュー制御モジュール２０３は、処理対象のＸＰＳ文書のＦＰを取得する。ここではＳ１０５で取得したＦＤの子ＦＰが取得される。ＦＤと同様に全てのＦＰについて処理を行うために、Ｓ１１３でＦＰを取得できたか判定し、取得できた場合はＳ１２１に、取得できなかった場合はＳ１３１に移る。
【００６２】
Ｓ１２１でプレビュー制御モジュール２０３は、ページレベルのＰＴを生成する。ページレベルのＰＴ生成処理については図８を用いて後述する。この時点で生成されているＰＴはユーザデフォルトＰＴ、親ＦＤＳのＰＴ、親ＦＤのＰＴ、対象となるＦＰのＰＴをマージしたＰＴとなる。
【００６３】
Ｓ１２３でプレビュー制御モジュール２０３は、生成されたＰＴを対象ＦＰのＰＴとして置き換える。一つのＦＰについて置き換え処理が終了すると、Ｓ１１１に戻り、次のＦＰの取得を行う。
【００６４】
Ｓ１３１では対象となるＦＤの全ての子ＦＰについての処理が終了しているため、プレビュー制御モジュール２０３は、対象となるＦＤのＰＴを削除して、Ｓ１０５で次のＦＤの取得を行う。尚、Ｓ１３１は、ドキュメントレベルで印刷設定情報を取得する必要がある場合など、必要に応じて実行されないことも考えられえる。全てのＦＤについての処理が終了し、Ｓ１０５でＦＤを取得できない場合、プレビュー制御モジュール２０３はＦＰのＰＴ置き換え処理を終了する。
【００６５】
この処理によって、全てのＦＰに親パートのＰＴとマージしたＰＴが付与され、ＦＰのＰＴのみでページの印刷設定情報を保持することが可能となる。
【００６６】
＜ＰＴのマージ処理＞
図６はジョブレベルのＰＴ生成処理の一例である。プレビュー制御モジュール２０３は、Ｓ２０１でユーザのデフォルト印刷設定情報のＰＴの取得処理を実行し、Ｓ２０３で取得したＦＤＳのＰＴを取得する。ＦＤＳにはＰＴが必ず存在するわけではないため、ＦＤＳのＰＴが取得できた場合はＳ２０７へ移り、取得できなかった場合はＳ２１１へ移る。
【００６７】
Ｓ２０７でプレビュー制御モジュール２０３はＳ２０３において取得したＰＴが空のＰＴかどうかの判定を行い、印刷設定情報が記述されている場合はＳ２０９へ移り、空のＰＴだった場合はＳ２１１に移る。
【００６８】
Ｓ２０９でプレビュー制御モジュール２０３はユーザのデフォルト印刷設定情報のＰＴとＦＤＳのＰＴをマージしてジョブレベルのＰＴを生成する。
【００６９】
また、プレビュー制御モジュール２０３はＦＤＳにＰＴが存在しない、もしくは空のＰＴでありＦＤＳのＰＴが存在しないと判断した場合、プレビュー制御モジュール２０３は、Ｓ２１１でユーザのデフォルト印刷設定情報のＰＴをジョブレベルのＰＴとする。
【００７０】
図７はドキュメントレベルのＰＴ生成処理の一例である。プレビュー制御モジュール２０３は、Ｓ３０１で処理対象のＸＰＳ文書のＦＤのＰＴの取得処理を実行し、Ｓ３０３でＦＤのＰＴを取得できたか否かを判定する。
【００７１】
プレビュー制御モジュール２０３は、ＦＤのＰＴを取得できた場合、Ｓ３０５では取得したＰＴが空のＰＴかどうかを判定する。印刷設定情報が記述されている場合はＳ３０７へ移り、空のＰＴだった場合はＳ３０９に移る。
【００７２】
プレビュー制御モジュール２０３は、Ｓ３０７でジョブレベルのＰＴと取得したＦＤのＰＴをマージして、ドキュメントレベルのＰＴを生成する。プレビュー制御モジュール２０３は、Ｓ３０９でＦＤのＰＴが存在しないので、ジョブレベルのＰＴをドキュメントレベルのＰＴとする。ＸＰＳパート取得時にＦＤＳはＦＤの前に取得されるため、ドキュメントレベルのＰＴ生成前にジョブレベルのＰＴが生成済みであることは言うまでもない。
【００７３】
図８はページレベルのＰＴ生成処理の一例である。プレビュー制御モジュール２０３は、Ｓ４０１で、Ｓ１１１において取得したＦＰのＰＴの取得処理を実行し、Ｓ４０３でＰＴを取得できたか否かを判定する。
【００７４】
取得できた場合、プレビュー制御モジュール２０３は、取得したＰＴが空のＰＴかどうかを判定し、印刷設定情報が記述されている場合はＳ４０７へ移り、空のＰＴだった場合はＳ４０９に移る。
【００７５】
Ｓ４０７で、プレビュー制御モジュール２０３は、処理対象のＦＰの親ＦＤのドキュメントレベルのＰＴと取得したＦＰのＰＴをマージして、ページレベルのＰＴを生成する。
【００７６】
プレビュー制御モジュール２０３は、Ｓ４０９でＦＰのＰＴが存在しないので、親ＦＤのドキュメントレベルのＰＴをページレベルのＰＴとする。当該ＦＰの親ＦＤはそのＦＰ取得前には必ず取得されるため、ページレベルのＰＴ生成前に親ＦＤのドキュメントレベルのＰＴが生成済みであるあることはいうまでもない。
【００７７】
なお、図５から図８の処理は、後述する複数のＸＰＳ文書の結合前に実行される。
【００７８】
＜文書の結合処理＞
図９に、複数のＸＰＳ文書を結合することにより生成される結合文書の構成の一例を示す。ここでは図９（ａ）のＸＰＳ文書（Ｊｏｂ１）と図９（ｂ）のＸＰＳ文書（Ｊｏｂ２）とを結合して図９（ｃ）の結合ＸＰＳ文書が生成される。ＸＰＳ文書はそれぞれＦＤＳ、ＦＤ、ＦＰに加え、画像やフォントなどのリソースやＰＴなどが存在する。それぞれのパーツの関係はＦＤＳ、ＦＤ、ＦＰ中に記載されていたり、関係を記したｒｅｌｓファイルに記載されていたりするため、パーツの配置自体は自由に行うことができる。
【００７９】
図９（ａ）のＪｏｂ１と（ｂ）のＪｏｂ２を結合する場合、どちらかのＸＰＳ文書にもう一方のパーツを追加する方法が考えられる。ここではＪｏｂ１にＪｏｂ２のパーツを追加する。結合を行う際、Ｊｏｂ１にはルートに一意の名称のフォルダ９１１を作成する。これは追加されるＪｏｂ２のパーツの置き場として利用される。これによりＪｏｂ１とＪｏｂ２のパーツの名称が重複することを防ぐことができる。また、作成したフォルダ９１１をルートとすることで、Ｊｏｂ２の構成を大きく変えずにそのままパーツを追加することができる。
【００８０】
図９（ｃ）はパーツの追加後の結合ＸＰＳ文書である。Ｊｏｂ１に作成されたフォルダ９１１にＪｏｂ２のページを格納したフォルダ９０３及び９０５が配置される。Ｊｏｂ１に存在するページを格納したフォルダ９０１の構成が変わらない。追加したパーツに応じてＦＤＳ、ＦＤ、ＦＰなどを書き換えることで、Ｊｏｂ１にＪｏｂ２のパーツが関連付けられ、結合文書が生成される。
【００８１】
図１０に、ＸＰＳ文書の結合を行う処理のフローチャートの一例を示す。
【００８２】
プレビュー制御モジュール２０３は、最初にＳ５０１でベース文書を取得する。ベース文書とは、図９（ａ）のように、結合時にベースとなり、他の追加文書のパーツを受け取る。例えば、図３のジョブリストで結合するジョブを選択した際に、一番上のジョブや、最初に選択したジョブをベース文書とすることが考えられる。結合はベース文書に他の追加文書のパーツを追加していく形で行う。従って、ＦＤＳはベース文書のＦＤＳが用いられ、ジョブの印刷設定情報となるＦＤＳのＰＴもベース文書のＦＤＳのＰＴが用いられる。
【００８３】
次にプレビュー制御モジュール２０３は、Ｓ５０３で追加文書を取得する。複数の追加文書が存在する可能性があるため、すべての文書が結合されるまでＳ５０３からＳ５１５の処理は繰り返される。
【００８４】
プレビュー制御モジュール２０３は、Ｓ５０５では追加文書を取得できたか否かを判定し、取得できた場合はＳ５０７に移り、ベース文書のルートフォルダに一意の名称のフォルダを作成する。このフォルダは追加文書のパーツを置くために用いられる。ＸＰＳ文書はパーツの名称が、別のＸＰＳ文書であっても同じである場合が多い。文書の結合を行う際に、同じ場所に同じ名称のパーツを配置することはできない。そこで、追加文書ごとにパーツを追加するフォルダを作成し、そこに追加文書のパーツを置くことで、パーツ名称の重複を防ぐことができる。また、本実施例では追加文書のパーツを置くためのフォルダはベース文書のルートに作成するとしているが、名称が重複しない場所であればどこにでも作成可能である。また、フォルダを作成せずに各パーツの名称を一意になるように変更する方法でも良いことは言うまでもない。
【００８５】
次にプレビュー制御モジュール２０３は、Ｓ５０９で追加文書のリソースを取得し、Ｓ５０７で作成したフォルダをルートとして、構成を変えずに追加する。ここで言うリソースとは、画像やフォントなどＦＰで使用される。
【００８６】
プレビュー制御モジュール２０３は、全てのリソースをベース文書に追加したら、Ｓ５１１で追加文書のＦＰを取得し、Ｓ５１３へ移る。ＦＰには使用しているリソースの置き場所（以下、ＵＲＩ）が記載されている。追加文書のリソースはＳ５０７で作成したフォルダに置かれており、追加前の文書に置かれていた時とＵＲＩが異なっている。そのため、ＦＰをそのまま使用することはできない。そこで、プレビュー制御モジュール２０３は、Ｓ５１３で追加文書のＦＰに記載されているリソースのＵＲＩをベース文書に追加したリソースのＵＲＩに書き換える。
【００８７】
次にＳ５１５で、プレビュー制御モジュール２０３は、リソースのＵＲＩを更新したＦＰをベース文書に追加する。リソースと同様、ベース文書に作成した追加用フォルダをルートとして、追加前の構成を変えずに追加することを想定しているが、名称の重複がなければ他の場所に追加することも可能である。ただし、置いた場所に応じたＦＰの編集が必要になる可能性がある。
【００８８】
１つの追加文書における全てのＦＰの追加が終了したら、Ｓ５０３に戻り、プレビュー制御モジュール２０３は、別の追加文書を取得する。別の追加文書が取得された場合、再度Ｓ５０７からＳ５１５の処理が実行される。全ての追加文書のリソース、及びＦＰの追加が終了したら、Ｓ５１７でベース文書のＦＤに追加したＦＰのＵＲＩを全て記述する。これにより、追加したＦＰがベース文書に関連付けられ、追加文書のページがベース文書に加えられたことになる。
【００８９】
本実施例では追加文書のＦＰとリソースのみをベース文書に追加しているが、併せてＦＤを追加することも考えられる。その場合、ベース文書のＦＤＳに追加したＦＤのＵＲＩを記述することで、文書の結合を行うことができる。
【００９０】
本実施例によれば、複数の文書を結合する前に親パーツのＰＴに基づいて各ＦＰのＰＴを生成するため、複数の文書が結合されても、結合前と後で、各ページに適用される印刷設定情報が変化することを防止できる。
【００９１】
（実施形態２）
実施形態１ではＦＰに全ての設定値を記述したＰＴを付加することによって、ページレベルの印刷設定情報をＦＰのＰＴのみから取得できるようになり、結合時の印刷設定情報の保持が可能となった。しかし、全てのＦＰにＰＴを付加したことによって、プリンタドライバなどＰＴを扱うソフトウェアにおける処理負荷が増大する懸念がある。そこで本実施形態では、実施形態１の手法に加え、ＰＴの配置を最小限に抑える手法について提案する。
【００９２】
実施形態１と実施形態２の、ＦＰのＰＴ置き換え後のＸＰＳ文書の構成の違いについて図１１を用いて説明する。図１１（ａ）のように、ＰＴがＦＤＳ（１１１１）とＦＰ２（１１１７）にのみ存在する場合、実施形態１の手法でＦＰにＰＴを付加することにより図１１（ｂ）が生成される。つまり、図１１（ｂ）に示すようにＦＰ１（１１１５）にはＦＤＳ（１１１１）のＰＴ（１１２１）とユーザデフォルトＰＴをマージしたＰＴ（１１３１）が付加される。同様にＦＰ２（１１１７）には、ＦＰ２（１１１７）のＰＴ（１１２３）とＦＤＳ（１１１１）のＰＴ（１１２１）とユーザデフォルトＰＴをマージしたＰＴ（１１３３）が付加される。ＦＰ３（１１１９）にはＦＤＳ（１１１１）のＰＴ（１１２１）とユーザデフォルトＰＴをマージしたＰＴ（１１３５）が付加される。
【００９３】
ここで図１１（ｂ）において、ＦＰ１（１１１５）とＦＰ３（１１１９）は同じＰＴをマージして生成したＰＴが付加されている。これを図１１（ｃ）に示すように、ＦＤＳ（１１１１）のＰＴ（１１２１）とユーザデフォルトＰＴ（１１３１）のみを生成し、ＦＰ３（１１１９）をＦＰ１（１１１５）に付加されたＰＴ（１１３１）に関連付けることにより、新規のＰＴを生成する必要がなくなる。これにより、マージによるＰＴの生成にかかる処理負荷を軽減することができる。また、ＰＴの置き換えが行われたＸＰＳ文書を扱うソフトウェアにおいても、解析する必要のあるＰＴが減少するため、処理負荷の軽減となりパフォーマンスの向上を見込むことができる。
【００９４】
図１２は、実施形態２におけるＦＰのＰＴ置き換え処理を示すフローチャートの一例である。Ｓ６０１からＳ６０７は実施形態１のＳ１０１からＳ１０７と同じ処理が行われるため、説明を省略する。
【００９５】
Ｓ６０７でＦＤが取得されたと判定された場合、プレビュー制御モジュール２０３は、Ｓ６０９で、処理済のＦＤに同じＵＲＩのＰＴを参照しているＦＤが存在するかを判定する。これはＰＴが存在しないＦＤ同士も当てはまる。同じＵＲＩのＰＴを参照しているＦＤが存在しない場合はＳ６１１に移り、ドキュメントレベルＰＴの生成が行われる。
【００９６】
同じＵＲＩのＰＴを参照しているＦＤが存在した場合はＳ６１３に移り、プレビュー制御モジュール２０３は、該当するＦＤの処理で生成されたドキュメントレベルＰＴを、現在処理中のＦＤのドキュメントレベルＰＴとする。ドキュメントレベルのＰＴが決定すると、Ｓ６１５にてプレビュー制御モジュール２０３は、取得したＦＤの子ＦＰの取得を行う。
【００９７】
プレビュー制御モジュール２０３は、Ｓ６１７で取得できたか否かを判定し、取得できた場合はＳ６１９に移り、取得できない場合はＳ６３１に移る。Ｓ６１９で、プレビュー制御モジュール２０３は、取得したＦＰが参照しているＰＴと同じＰＴを参照していたＦＰが、それまで処理を行ったＦＰの中に存在しないかを判定する。存在しないと判定された場合、プレビュー制御モジュール２０３はページレベルのＰＴを生成し、Ｓ６２３で生成したＰＴをＦＰのＰＴとして付加する。
【００９８】
同じＰＴを参照しているＦＰが存在した場合、Ｓ６２５でプレビュー制御モジュール２０３は、該当したＦＰと現在処理中のＦＰの両者の親ＦＤが同じＰＴを参照しているかの判定を行う。親ＦＤ同士が異なるＰＴを参照している場合、プレビュー制御モジュール２０３は、Ｓ６２１からＳ６２３でページレベルＰＴを生成し、ＦＰに付加する。
【００９９】
Ｓ６２５で親ＦＤ同士が同じＰＴを参照している場合、プレビュー制御モジュール２０３は、ＦＤ同士とＦＰ同士がどちらも同じＰＴを参照しているため、マージして生成されるＰＴも同じものになる。そのためＳ６２７で既に生成されているＦＰのＰＴ（例えば、図１１のＰＴ１１３１）に現在処理中のＦＰ（例えば、図１１のＦＰ３（１１１９））を関連付ける。ページレベルのＰＴが決定するとＳ６１５に移り、別のＦＰを取得する。ＦＰが取得できた場合は、Ｓ６１９からＳ６２７を行いＦＰに付加するＰＴを決定する。現在のＦＤの子ＦＰの処理が全て終了すると、Ｓ６０５へ戻り、次のＦＤを取得する。ＦＤが取得できた場合、Ｓ６２７までの処理を繰り返す。全てのＦＤの処理が終了しておりＦＤが取得できなかった場合、ＦＰのＰＴ置き換え処理は終了する。
【０１００】
これにより、一度生成したドキュメントレベルのＰＴ、及びページレベルのＰＴを重複して生成することがなくなるため、処理負荷が軽減する。また、ＰＴを扱うソフトウェアでも処理を行うＰＴの数が削減されるため処理負荷が軽減し、双方でパフォーマンスの向上が見込まれる。
【０１０１】
なお、本実施例では、ＦＤＳのＰＴをページのＰＴに付加し、そのＰＴを他のページのＦＰが参照することで統一化を図った。しかし、ＦＤＳのＰＴをＦＤに付加することで、そのＰＴを各ページのＦＰが参照することで代替しても良い。
【０１０２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１０３】
２０１  アプリケーション
２０３  プレビュー制御モジュール
【図１】
2011064869.tif 000003
【図２】
2011064869.tif 000004
【図３】
2011064869.tif 000005
【図４】
2011064869.tif 000006
【図５】
2011064869.tif 000007
【図６】
2011064869.tif 000008
【図７】
2011064869.tif 000009
【図８】
2011064869.tif 000010
【図９】
2011064869.tif 000011
【図１０】
2011064869.tif 000012
【図１１】
2011064869.tif 000013
【図１２】
2011064869.tif 000014
【手続補正書】
【提出日】平成24年11月26日(2012.11.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の階層の要素によって構成され、少なくとも１つのページ要素を含む複数の文書を結合する結合処理を実行する文書処理装置であって、
前記ページ要素よりも上位の階層の要素の印刷設定情報を取得する取得手段と、
前記結合処理が実行される前に、前記取得手段により取得された上位の階層の要素の印刷設定情報に基づいて、前記ページ要素の印刷設定情報を生成する生成手段と、
前記生成手段により生成された印刷設定情報が付加されたページ要素を含む文書と前記生成手段により生成された印刷設定情報が付加されたページ要素を含む他の文書を結合する結合手段を備えることを特徴とする文書処理装置。
【請求項２】
前記生成手段は、ページの要素の印刷設定情報において不足している設定値に上位の階層の印刷設定情報の設定値を使用することで前記ページ要素の印刷設定情報を生成することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記生成手段により新規に生成される対象のページ要素の印刷設定情報が、既に生成された他のページ要素の印刷設定情報と同じであると判断された場合、新規に印刷設定情報の生成を行わずに前記同じ印刷設定情報と対象のページ要素とを関連付ける関連付け手段を更に備えることを特徴とする請求項１または２に記載の文書処理装置。
【請求項４】
前記文書は、前記ページ要素の階層と、前記ページ要素を含む文書要素の階層と、前記文書要素を含むジョブ要素の階層とによって構成されることを特徴とする請求項１乃至３のいずれか１項に記載の文書処理装置。
【請求項５】
前記文書に基づくプレビュー画像を表示する表示手段をさらに備え、
前記結合手段は、表示するために保持された複数の文書を結合することにより結合処理を実行することを特徴とする請求項１乃至４のいずれか１項に記載の文書処理装置。
【請求項６】
前記文書はＸＰＳ文書であり、前記印刷設定情報はＰｒｉｎｔＴｉｃｋｅｔである請求項１乃至５のいずれか１項に記載の文書処理装置。
【請求項７】
複数の階層の要素によって構成され、少なくとも１つのページ要素を含む複数の文書を結合する結合処理を実行する文書処理装置において実行される制御方法であって、
前記ページ要素よりも上位の階層の要素の印刷設定情報を取得する取得工程と、
前記結合処理が実行される前に、前記取得工程により取得された上位の階層の要素の印刷設定情報に基づいて、前記ページ要素の印刷設定情報を生成する生成工程と、
前記生成工程により生成された印刷設定情報が付加されたページ要素を含む文書と前記生成工程により生成された印刷設定情報が付加されたページ要素を含む他の文書を結合する結合工程を備えることを特徴とする制御方法。
【請求項８】
前記生成工程は、ページの要素の印刷設定情報において不足している設定値に上位の階層の印刷設定情報の設定値を使用することで前記ページ要素の印刷設定情報を生成することを特徴とする請求項７に記載の制御方法。
【請求項９】
前記生成工程により新規に生成される対象のページ要素の印刷設定情報が、既に生成された他のページ要素の印刷設定情報と同じであると判断された場合、新規に印刷設定情報の生成を行わずに前記同じ印刷設定情報と対象のページ要素とを関連付ける関連付け工程を更に備えることを特徴とする請求項７または８に記載の制御方法。
【請求項１０】
前記文書は、前記ページ要素の階層と、前記ページ要素を含む文書要素の階層と、前記文書要素を含むジョブ要素の階層とによって構成されることを特徴とする請求項７乃至９のいずれか１項に記載の制御方法。
【請求項１１】
前記文書に基づくプレビュー画像を表示する表示工程をさらに備え、
前記結合工程は、表示するために保持された複数の文書を結合することにより結合処理を実行することを特徴とする請求項７乃至１０のいずれか１項に記載の制御方法。
【請求項１２】
前記文書はＸＰＳ文書であり、前記印刷設定情報はＰｒｉｎｔＴｉｃｋｅｔである請求項７乃至１１のいずれか１項に記載の制御方法。
【請求項１３】
複数の階層の要素によって構成され、少なくとも１つのページ要素を含む複数の文書を結合する結合処理を実行する文書処理装置において実行されるプログラムであって、
前記ページ要素よりも上位の階層の要素の印刷設定情報を取得する取得工程と、
前記結合処理が実行される前に、前記取得工程により取得された上位の階層の要素の印刷設定情報に基づいて、前記ページ要素の印刷設定情報を生成する生成工程と、
前記生成工程により生成された印刷設定情報が付加されたページ要素を含む文書と前記生成工程により生成された印刷設定情報が付加されたページ要素を含む他の文書を結合する結合工程をコンピュータに実行させるためのコンピュータが読み取り可能なプログラム。
【請求項１４】
前記生成工程は、ページの要素の印刷設定情報において不足している設定値に上位の階層の印刷設定情報の設定値を使用することで前記ページ要素の印刷設定情報を生成することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記生成工程により新規に生成される対象のページ要素の印刷設定情報が、既に生成された他のページ要素の印刷設定情報と同じであると判断された場合、新規に印刷設定情報の生成を行わずに前記同じ印刷設定情報と対象のページ要素とを関連付ける関連付け工程を更に備えることを特徴とする請求項１３または１４に記載のプログラム。
【請求項１６】
前記文書は、前記ページ要素の階層と、前記ページ要素を含む文書要素の階層と、前記文書要素を含むジョブ要素の階層とによって構成されることを特徴とする請求項１３乃至１５のいずれか１項に記載のプログラム。
【請求項１７】
前記文書に基づくプレビュー画像を表示する表示工程をさらに備え、
前記結合工程は、表示するために保持された複数の文書を結合することにより結合処理を実行することを特徴とする請求項１３乃至１６のいずれか１項に記載のプログラム。
【請求項１８】
前記文書はＸＰＳ文書であり、前記印刷設定情報はＰｒｉｎｔＴｉｃｋｅｔである請求項１３乃至１７のいずれか１項に記載のプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
上述のような課題を解決するために、複数の階層の要素によって構成され、少なくとも１つのページ要素を含む複数の文書を結合する結合処理を実行する文書処理装置であって、前記ページ要素よりも上位の階層の要素の印刷設定情報を取得する取得手段と、前記結合処理が実行される前に、前記取得手段により取得された上位の階層の要素の印刷設定情報に基づいて、前記ページ要素の印刷設定情報を生成する生成手段と、前記生成手段により生成された印刷設定情報が付加されたページ要素を含む文書と前記生成手段により生成された印刷設定情報が付加されたページ要素を含む他の文書を結合する結合手段を備えることを特徴とする。
【国際調査報告】
2011064869.tif 000015
2011064869.tif 000016
2011064869.tif 000017