(57)【特許請求の範囲】
【請求項１】
第１の印刷設定が関連づけられた第１の下位層のノードと、第２の印刷設定が関連づけられた第２の下位層のノードの少なくとも２つの下位層のノードを有する上位層のノードを取得する取得手段と、
前記取得手段が取得する前記上位層のノードを、前記第１の下位層のノードを有しておりかつ前記第１の印刷設定に基づく第３の印刷設定が関連づけられた第１の上位層のノードと、前記第２の下位層のノードを有しておりかつ前記第２の印刷設定に基づく第４の印刷設定が関連づけられた第２の上位層のノードに分割する分割手段と、を有することを特徴とする構造化文書変換装置。
【請求項２】
下位層のノードとはページ要素であり、上位層のノードとは文書要素であることを特徴とする請求項１に記載の構造化文書変換装置。
【請求項３】
下位層のノードとは文書要素であり、上位層のノードとはジョブ要素であり、
前記取得手段は、第１の文書要素と第２の文書要素を有するジョブ要素を取得し、
前記分割手段は、前記ジョブ要素を、前記第１の文書要素を有する第１のジョブ要素と、前記第２の文書要素を有する第２のジョブ要素に分割することで２つの構造化文書を作成することを特徴とする請求項１に記載の構造化文書変換装置。
【請求項４】
下位層のノードに関連づけられた全ての印刷設定に共通の項目と設定値が存在するか判定する第１の判定手段と、
前記第１の判定手段が前記下位層のノードに関連づけられた前記全ての印刷設定に前記共通の項目と設定値が存在すると判定した場合に、前記下位層のノードに関連づけられた前記全ての印刷設定に前記共通の項目と設定値を上位層のノードに反映する第１の反映手段と、を有することを特徴とする請求項１乃至３のいずれか１項に記載の構造化文書変換装置。
【請求項５】
下位層のノードに関連づけられた印刷設定に描画に反映可能な項目が存在するか判定する第２の判定手段と、
前記第２の判定手段が前記下位層のノードに関連づけられた前記印刷設定に前記描画に反映可能な項目が存在すると判定した場合に、前記描画に反映可能な項目を描画データに反映する第２の反映手段と、を有することを特徴とする請求項１乃至４のいずれか１項に記載の構造化文書変換装置。
【請求項６】
下位層のノードに関連づけられた印刷設定に上位層のノードに関連づけられた印刷設定に反映する項目が存在するか判定する第４の判定手段を有し、
前記分割手段は、前記第４の判定手段が前記下位層のノードに関連づけられた前記印刷設定に前記上位層のノードに関連づけられた前記印刷設定に反映する項目が存在すると判定した場合に、前記上位層のノードを前記第１の上位層のノードと前記第２の上位層のノードに分割することを特徴とする請求項１乃至５のいずれか１項に記載の構造化文書変換装置。
【請求項７】
第１の印刷設定が関連づけられた第１の下位層のノードと、第２の印刷設定が関連づけられた第２の下位層のノードの少なくとも２つの下位層のノードを有する上位層のノードを取得する取得工程と、
前記取得工程が取得する前記上位層のノードを、前記第１の下位層のノードを有しておりかつ前記第１の印刷設定に基づく第３の印刷設定が関連づけられた第１の上位層のノードと、前記第２の下位層のノードを有しておりかつ前記第２の印刷設定に基づく第４の印刷設定が関連づけられた第２の上位層のノードに分割する分割工程と、を有することを特徴とする装置の構造化文書変換方法。
【請求項８】
第１の印刷設定が関連づけられた第１の下位層のノードと、第２の印刷設定が関連づけられた第２の下位層のノードの少なくとも２つの下位層のノードを有する上位層のノードを取得する取得工程と、
前記取得工程が取得する前記上位層のノードを、前記第１の下位層のノードを有しておりかつ前記第１の印刷設定に基づく第３の印刷設定が関連づけられた第１の上位層のノードと、前記第２の下位層のノードを有しておりかつ前記第２の印刷設定に基づく第４の印刷設定が関連づけられた第２の上位層のノードに分割する分割工程と、をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項９】
下位層のノードとはページ要素であり、上位層のノードとは文書要素であることを特徴とする請求項８に記載のコンピュータプログラム。
【請求項１０】
下位層のノードとは文書要素であり、上位層のノードとはジョブ要素であり、
前記取得工程は、第１の文書要素と第２の文書要素を有するジョブ要素を取得し、
前記分割工程は、前記ジョブ要素を、前記第１の文書要素を有する第１のジョブ要素と、前記第２の文書要素を有する第２のジョブ要素に分割することで２つの構造化文書を作成することを特徴とする請求項８に記載のコンピュータプログラム。
【請求項１１】
下位層のノードに関連づけられた全ての印刷設定に共通の項目と設定値が存在するか判定する第１の判定工程と、
前記第１の判定工程が前記下位層のノードに関連づけられた前記全ての印刷設定に前記共通の項目と設定値が存在すると判定した場合に、前記下位層のノードに関連づけられた前記全ての印刷設定に前記共通の項目と設定値を上位層のノードに反映する第１の反映工程と、をさらにコンピュータに実行させることを特徴とする請求項８乃至１０のいずれか１項に記載のコンピュータプログラム。
【請求項１２】
下位層のノードに関連づけられた印刷設定に描画に反映可能な項目が存在するか判定する第２の判定工程と、
前記第２の判定工程が前記下位層のノードに関連づけられた前記印刷設定に前記描画に反映可能な項目が存在すると判定した場合に、前記描画に反映可能な項目を描画データに反映する第２の反映工程と、をさらにコンピュータに実行させることを特徴とする請求項８乃至１１のいずれか１項に記載のコンピュータプログラム。
【請求項１３】
下位層のノードに関連づけられた印刷設定に上位層のノードに関連づけられた印刷設定に反映する項目が存在するか判定する第４の判定工程をさらにコンピュータに実行させ、
前記分割工程は、前記第４の判定工程が前記下位層のノードに関連づけられた前記印刷設定に前記上位層のノードに関連づけられた前記印刷設定に反映する項目が存在すると判定した場合に、前記上位層のノードを前記第１の上位層のノードと前記第２の上位層のノードに分割することを特徴とする請求項８乃至１２のいずれか１項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書変換装置、装置の構造化文書変換方法、及びコンピュータプログラムに関し、特に、構造化文書を変換するために用いて好適なものである。
【背景技術】
【０００２】
Microsoft社のオーペレーティングシステム(ＯＳ)としてMicrosoft Windows（登録商標）Vistaがある。Windows（登録商標）Vistaでは、新しいＸＭＬ形式のドキュメントフォーマットであるＸＰＳ（XML Paper Specification）がサポートされている（非特許文献１を参照）。ＸＰＳドキュメントは、Fixed Document Sequenceと、Fixed Documentと、Fixed Pageの３つの階層を持ったドキュメントフォーマットで構成されるものある。夫々の階層のノードには、印刷属性を保持するためのＸＭＬドキュメントであるプリントチケットを関連付けることが出来る（非特許文献２を参照）。Fixed Document Sequenceには、ジョブレベルのプリントチケットが関連付けられる。Fixed Documentには、ドキュメントレベルのプリントチケットが関連付けられる。Fixed Pageには、ページレベルのプリントチケットが関連付けられる。このようにＸＰＳドキュメントでは、各階層のノード毎にプリントチケットを指定することができる。よって、ＸＰＳドキュメントのFixed Page毎に出力用紙サイズを変更したり、Fixed Document毎にステイプルの指定を変更したりするといったことが可能になる。
【０００３】
非特許文献１にもあるように、ＸＰＳドキュメントには、印刷時のスプールフォーマットや、ＰＤＬ（Page Description Language）といった印刷制御言語という側面と、通常の文書ドキュメントという側面とがある。
具体的に、文書ドキュメントとしての側面に注目すると、Adobe社のＰＤＦファイルのように、ＸＰＳドキュメントも、文書ドキュメントのフォーマットとして、各種文書の保存、再利用・公開、配布の用途で利用される。前述したようにＸＰＳドキュメントにおいては、各階層のノード毎にプリントチケットを保持することができる。このため、印刷設定を関連付けたＸＰＳドキュメントを作成し、ＸＰＳドキュメントを印刷設定（印刷属性）と共に配布するといった運用を行うことができる。
【０００４】
また、Windows（登録商標）Vistaのリリース以降、ＸＰＳドキュメントをＰＤＬとして直接印刷することが可能な印刷装置も登場している。このような印刷装置がＸＰＳドキュメントを印刷する形態として、ＸＰＳドキュメントを生成するプリンタドライバを使用した印刷形態が考えられる。さらには、作成、公開、配布されたＸＰＳドキュメントを印刷装置に直接投入する印刷形態も考えられる。
このように、ＸＰＳドキュメントは、印刷設定データと描画データとを含んでおり、アプリケーション及び印刷装置の夫々で活用される。しかしながら、プリントチケットで示される印刷設定（印刷属性）の扱いに関しては、ＸＰＳドキュメントを処理する側に依存する。例えば、印刷装置においては、該印刷装置が処理できないようなプリントチケットは無視される。
【０００５】
また、プリンタドライバ或いはプリントユーティリティーが、印刷装置が処理できるように、処理できないプリントチケットを描画データに合成し、新たな印刷データを作成するという手法がある（例えば、特許文献１を参照）。
また、アプリケーションにおいて、文書ドキュメントの一部をコピーしたり編集したり際に、ノード毎に保持された印刷属性に優先順位を設定し、階層のノードに応じて、ノードに保持された印刷属性を置き換える手法がある（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１６４４４４号公報
【特許文献２】特開２００３−１６２５１９号公報
【非特許文献】
【０００７】
【非特許文献１】XML Paper Specification : Overview、［online］、マイクロソフト、［平成２０年３月１４日検索］、インターネット<ＵＲＬ：http://www.microsoft.com/whdc/xps/default.mspx>
【非特許文献２】PrintTicket and PrintCapabilities Support in Windows Print Drivers、［online］、平成１８年２月６日、マイクロソフト、［平成２０年３月１４日検索］、インターネット<http://www.microsoft.com/whdc/device/print/XPSDrv_PrintTicket.mspx>(XPSDrv_PrintTicket.doc)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、前記特許文献に示される手法では、印刷属性を加工して新たなドキュメントを生成しても、そのドキュメントが、ドキュメントを処理する側に非依存なドキュメントになる訳ではない。
特許文献１に示される手法では、文書ドキュメントに対して付加された印刷属性を印刷装置が処理できる形に当該文書ドキュメントを変更するものである。このようにすると、文書ドキュメントをそのまま当該印刷装置で印刷する場合には意図する体裁の出力が得られる。しかしながら、文書ドキュメントを機能が異なる印刷装置で印刷したり、汎用的なドキュメントとして全く異なるアプリケーションで文書ドキュメントの内容を確認したりすると、文書ドキュメントの体裁が異なってしまう場合がある。
【０００９】
特許文献２に示される手法では、特定のアプリケーションが、ノードに印刷属性が付加されているのを解釈し、処理に応じて優先順位をつけて階層毎に印刷属性の置換等を行う。しかしながら、生成された文書ドキュメントは、一般的なアプリケーションでも同様の体裁を維持できる訳ではない。特に、階層毎に印刷属性が付加される構造化文書においては、その文書ドキュメントの階層構造の全てを把握しないと適切に処理できない。
【００１０】
例えば、一般的なプリンタドライバの印刷設定画面においては、前述したFixed Document Sequenceに付加されたジョブレベルのプリントチケットのみを編集、加工することができる。そのため、カラー／モノクロ印刷の設定や印刷用紙サイズを設定する際は、ジョブレベルのプリントチケットを取得して加工することになる。ある特定のFixed Pageに付加されたページレベルのプリントチケットにモノクロ印刷という印刷属性が埋め込まれていても、そのページが印刷装置においてモノクロで処理されるかは保証されない。
また、一般的なアプリケーションにおいても、文書ドキュメントの構造を把握しなくても取得できるジョブレベルのプリントチケットのみを判断して、表示する用紙サイズ等を特定するものも多い。
【００１１】
ＸＰＳドキュメントが印刷用ドキュメントとして使用される場合、特定の印刷装置の機能を活用できるような印刷属性が作成される。しかしながら、それが文書ドキュメントとして活用されたり、異なる印刷装置に対する印刷用ドキュメントとして活用されたりすると、印刷の体裁が異なってしまうことがあり得る。このようなことは、ＸＰＳドキュメントを、様々なアプリケーション、様々な印刷装置で活用するユーザに、混乱を引き起こさせる虞がある。
【００１２】
本発明は、以上の問題点に鑑みてなされたものであり、従来よりもユーザが利用し易い構造化文書データを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の構造化文書変換装置は、第１の印刷設定が関連づけられた第１の下位層のノードと、第２の印刷設定が関連づけられた第２の下位層のノードの少なくとも２つの下位層のノードを有する上位層のノードを取得する取得手段と、
前記取得手段が取得する前記上位層のノードを、前記第１の下位層のノードを有しておりかつ前記第１の印刷設定に基づく第３の印刷設定が関連づけられた第１の上位層のノードと、前記第２の下位層のノードを有しておりかつ前記第２の印刷設定に基づく第４の印刷設定が関連づけられた第２の上位層のノードに分割する分割手段と、を有することを特徴とする。
【００１４】
本発明の装置の構造化文書変換方法は、第１の印刷設定が関連づけられた第１の下位層のノードと、第２の印刷設定が関連づけられた第２の下位層のノードの少なくとも２つの下位層のノードを有する上位層のノードを取得する取得工程と、前記取得工程が取得する前記上位層のノードを、前記第１の下位層のノードを有しておりかつ前記第１の印刷設定に基づく第３の印刷設定が関連づけられた第１の上位層のノードと、前記第２の下位層のノードを有しておりかつ前記第２の印刷設定に基づく第４の印刷設定が関連づけられた第２の上位層のノードに分割する分割工程と、を有することを特徴とする。
【００１５】
本発明のコンピュータプログラムは、第１の印刷設定が関連づけられた第１の下位層のノードと、第２の印刷設定が関連づけられた第２の下位層のノードの少なくとも２つの下位層のノードを有する上位層のノードを取得する取得工程と、前記取得工程が取得する前記上位層のノードを、前記第１の下位層のノードを有しておりかつ前記第１の印刷設定に基づく第３の印刷設定が関連づけられた第１の上位層のノードと、前記第２の下位層のノードを有しておりかつ前記第２の印刷設定に基づく第４の印刷設定が関連づけられた第２の上位層のノードに分割する分割工程と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ユーザが利用し易い構造化文書データを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態を示し、情報処理装置の構成の一例を示す図である。
【図２】本発明の実施形態を示し、印刷システムの構成の一例を示す図である。
【図３】本発明の実施形態を示し、ＸＰＳドキュメントの概念の一例を示す図である。
【図４】本発明の実施形態を示し、ジョブ全体の印刷属性を設定する際に表示される印刷設定画面の一例を示す図である。
【図５】本発明の実施形態を示し、「特殊設定」タブが選択された場合に表示される印刷設定画面の一例を示す図である。
【図６】本発明の実施形態を示し、印刷属性が付加されたＸＰＳドキュメントを一般的なアプリケーションソフトウェアが処理する際の処理の流れを概念的に示す図である。
【図７】本発明の実施形態を示し、構造化文書変換用ソフトウェア１１３の機能構成の一例を示す図である。
【図８】本発明の実施形態を示し、ＸＰＳドキュメントの構造の一例を示す図である。
【図９】本発明の実施形態を示し、下位層印刷属性排除処理部の詳細な構成の一例を示すブロック図である。
【図１０】本発明の実施形態を示し、印刷属性を記述しているプリントチケットの構成の一例を示す図である。
【図１１】本発明の実施形態を示し、複数の下位層印刷属性に存在する各Featureの分類方法の一例を示す図である。
【図１２】本発明の実施形態を示し、描画データに反映できるFeatureとできないFeatureの一例を示す図である。
【図１３】本発明の実施形態を示し、上位層反映FeatureにするFeatureの一例を示す図である。
【図１４】本発明の実施形態を示し、分類した各Featureに対する排除方法の一例を示す図である。
【図１５】本発明の実施形態を示し、描画反映手法の概要の一例を示す図である。
【図１６】本発明の実施形態を示し、下位層Feature描画反映部の構成の詳細の一例を示す図である。
【図１７】本発明の実施形態を示し、上位層分割手法の概要の一例を示す図である。
【図１８】本発明の実施形態を示し、上位層分割処理部の構成の詳細の一例を示す図である。
【図１９】本発明の実施形態を示し、入力されたＸＰＳドキュメントと、当該ＸＰＳドキュメントの最上位の階層まで上位層分割手法を繰り返して得られるＸＰＳドキュメントの一例を示す図である。
【図２０】本発明の実施形態を示し、印刷属性変換処理の一例を説明するフローチャートである。
【図２１】本発明の実施形態を示し、各Featureに対する排除方法を確認、修正する際に表示される排除方法編集承認画面の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、図面を参照しながら、本発明の一実施形態について説明する。
図１は、情報処理装置の構成の一例を示す図である。
ＣＰＵ１０１は、ＲＯＭ１０２、ＲＡＭ１０３、又は記憶装置１０５に格納されたプログラムに従って情報処理装置１００全体の制御を行う。ＲＡＭ１０３は、ＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。記憶装置１０５は、オペレーティングシステム（ＯＳ）１１５やアプリケーションソフトウェア１１２等を記録する。また、本実施形態の特徴の一つである印刷属性変換処理を行うための構造化文書変換用ソフトウェア１１３やプリンタドライバ１１４も、記憶装置１０５に格納される。キーボードやマウス等の入力機器は、入力Ｉ／Ｆ１０４を通じて、ユーザが情報処理装置１００に対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０６は、データを外部に出力するためのインターフェースであり、例えば、モニタ１１０や印刷装置１１１に対してデータを出力する。印刷装置１１１は、ローカルＩ／Ｏのみならず、ネットワークを通して情報処理装置１００に接続されていてもよい。また、情報処理装置１００内の各部は、共通データバスであるシステムバス１０７に接続されており、システムバス１０７を通してデータのやりとりを行う。
【００１９】
図２は、印刷システムの構成の一例を示す図である。図２において、図１に示した情報処理装置に相当する機能を有するクライアント装置１００ａ、１００ｂと、プリントサーバ２０２と、印刷装置１１１ａ、１１１ｂとが、ネットワーク２００を介して相互に通信可能に接続されている。
ＸＰＳドキュメントといった構造化文書は主にクライアント装置１００にて生成される。また、生成された構造化文書は、クライアント装置１００で活用されたり、ネットワーク２００を通して他の装置に送られたりする。ＸＰＳドキュメントを印刷用ドキュメントとして使用する場合には、例えば、印刷装置１１１ｂの機能に応じた印刷属性（印刷設定）が付加されたＸＰＳドキュメントが生成される。このＸＰＳドキュメントは、例えば、クライアント装置１００ａにインストールされている"プリンタドライバや印刷データ生成アプリケーション等"により生成される。そして、印刷装置１１１ｂは、生成されたＸＰＳドキュメントに対して、当該印刷装置１１１ｂの機能を活用して印刷処理を行うことにより、ＸＰＳドキュメントを紙に印刷する。
【００２０】
また、印刷装置１１１ｂの機能に応じた印刷属性が付加されたＸＰＳドキュメントを、印刷装置１１１ｂよりも低機能である印刷装置１１１ａに送り、印刷装置１１１ａがＸＰＳドキュメントに対して印刷処理を行うこともできる。このような場合には、通常、印刷装置１１１ａは、ＸＰＳドキュメントに付加されている印刷属性のうち、印刷装置１１１ａが所持していない機能を無視して、ＸＰＳドキュメントに対して印刷処理を行う。このようにすると、同じＸＰＳドキュメントを異なる印刷装置で印刷した場合に、出力される体裁が異なることがあり得ることを意味する。
【００２１】
一方、ＸＰＳドキュメントを文書ドキュメントとして使用する場合には、例えばクライアント装置１００ａにインストールされているアプリケーションソフトウェア１１２によってＸＰＳドキュメントを作成し、ＲＯＭ１０２や記憶装置１０５に保存する。そして、クライアント装置１００ａは、作成したＸＰＳドキュメントを、例えば、クライアント装置１００ｂに転送、配布、公開する。クライアント装置１００ｂは、クライアント装置１００ａで転送、配布、公開されたＸＰＳドキュメントを、アプリケーションソフトウェア１１２を使って表示・編集することができる。その際、アプリケーションソフトウェア１１２が印刷属性をどのように活用するかは、そのアプリケーションソフトウェア１１２の機能に依存する。したがって、同じＸＰＳドキュメントであっても、当該ＸＰＳドキュメントを扱うアプリケーションソフトウェア１１２によって、体裁が異なって表示されたり、付加されている印刷属性が削除されたりしてしまうことがある。
【００２２】
ＸＰＳドキュメントを、印刷用ドキュメント及び文書ドキュメントの両方として使用する場合もある。例えば、クライアント装置１００ａで生成した"印刷装置１１１ｂ用の印刷属性を付加したＸＰＳドキュメント"をプリントサーバ２０２に格納する場合に、ＸＰＳドキュメントを、印刷用ドキュメント及び文書ドキュメントの両方として使用することがある。
クライアント装置１００ａ、１００ｂは、アプリケーションソフトウェア１１２を利用してプリントサーバ２０２に格納されたＸＰＳドキュメントにアクセスする。更に、印刷装置１１１ａ、１１１ｂが、プリントサーバ２０２に格納されたＸＰＳドキュメントにアクセスし、そのＸＰＳドキュメントを印刷装置１１１ａ、１１１ｂで印刷するプルプリントといわれる処理も行われる。
【００２３】
以上のような場合にも、同じＸＰＳドキュメントでありながら、アプリケーションソフトウェア１１２によって異なる体裁で表示がなされたり、印刷装置１１１ａ、１１１ｂによって出力結果の体裁が異なったりする場合がある。
本実施形態による印刷属性変換処理は、これらの体裁の異なりを防ぐものである。例えば、クライアント装置１００ａで作成された"印刷装置１１１ｂの印刷属性を含むＸＰＳドキュメント"に対して、本実施形態による印刷属性変換処理をクライアント装置１００ａで行う。そして、印刷属性変換処理を行ったＸＰＳドキュメントを、印刷装置１１１ａで印刷したり、クライアント装置１００ｂに配布・公開したり、プリントサーバ２０２に格納したりする。このようにすることで、出力されるＸＰＳドキュメントの体裁が、アプリケーションソフトウェア１１２や印刷装置１１１ａ、１１１ｂによって異なってしまうことを防ぐことができる。
【００２４】
図３は、構造化文書の一例であるＸＰＳドキュメントの概念の一例を示す図である。
図３において、Fixed Document Sequence３０１をジョブ、Fixed Document３０２をドキュメント、Fixed Page３０３をページと理解するとよい。このようにＸＰＳドキュメントは、ツリー構造を有し、ツリーの各ノードに、Fixed Document Sequence３０１、Fixed Document３０２、Fixed Page３０３が与えられている。
ＸＰＳドキュメントには、非特許文献１に示される通り、Fixed Document Sequence３０１が必ず１つだけ存在する。そして、Fixed Document Sequence３０１は、複数のFixed Document３０２ａ、３０２ｂを保持する。更に各々のFixed Document３０２ａ、３０２ｂは、複数のFixed Page３０３ａ〜３０３ｂ、３０３ｃ〜３０３ｄを保持する。また、これら任意のFixed Document Sequence３０１、Fixed Document３０２、Fixed Page３０３には、各々印刷属性（印刷設定）を関連付けることができる。この印刷属性のことをプリントチケットと呼ぶ。
【００２５】
ここで、Fixed Document Sequence３０１に関連付けられた印刷属性を含むデータをジョブレベルプリントチケット３０４と呼ぶ。また、Fixed Document３０２に関連付けられた印刷属性を含むデータをドキュメントレベルプリントチケット３０５と呼ぶ。また、Fixed Page３０３に関連付けられた印刷属性を含むデータをページレベルプリントチケット３０６と呼ぶ。ジョブレベルプリントチケット３０４は、ジョブ全体に関わる印刷属性を設定する。ドキュメントレベルプリントチケット３０５は、夫々のドキュメントに関わる印刷属性を設定する。ページレベルプリントチケット３０６は、夫々のページに関わる印刷属性を設定する。
【００２６】
図４及び図５は、ジョブレベルプリントチケット３０４、ドキュメントレベルプリントチケット３０５、ページレベルプリントチケット３０６に記述されている印刷属性をＸＰＳドキュメントに関連付ける際に表示される印刷設定画面の一例を示す図である。図４及び図５に示す印刷設定画面は、例えば、クライアント装置１００ａ、１００ｂのモニタ１１０に表示される。
図４は、ジョブ全体の印刷属性を設定する際に表示される印刷設定画面の一例を示す図である。
図４に示す印刷設定画面４００は、主にジョブレベルプリントチケット３０４の加工を行う際に、アプリケーション、プリンタドライバ、プリントユーティリティーによって呼び出され、使用される。具体的に説明すると、印刷設定画面４００は、印刷属性が付加されていないＸＰＳドキュメントに印刷属性を付加したり、印刷属性を編集したりする際に呼び出され、使用される。
【００２７】
図４に示す印刷設定画面４００においては、ユーザによるキーボード１０８やポインティングデバイス１０９の操作に基づく"フィニッシング処理の設定"が行われる。この設定に従い、ジョブレベルプリントチケット３０４が生成され、Fixed Document Sequence３０１に関連付けられる。例えば、フィニッシング処理としては、片面・両面処理、ステイプル処理、ソート処理、パンチ処理、穴あけ処理、製本処理等がある。
同様に、印刷設定画面４００において、「ページ設定」タブ、「給紙」タブ、「印刷品質」タブが選択された場合には、選択されたタブに応じた印刷設定画面が表示される。そして、印刷設定画面で設定された内容が、ジョブレベルプリントチケット３０４に反映される。
【００２８】
次に、１つのジョブの中で、一部のページ、或いはドキュメントを含む一部のページ範囲にのみ、ジョブ全体に対する設定とは異なる設定（基本設定とは異なる設定）を行う場合の一般的な方法について説明する。このような、一部のページ、或いはドキュメントを含む一部のページ範囲のみを、ジョブ全体とは異なる設定にすることを、"ページ例外設定を行う"とも言う。ここで、ページ例外設定は、図４に示した印刷設定画面４００において、「特殊設定」タブが選択された場合に表示される印刷設定画面にて設定される。設定された内容は、ドキュメントレベルプリントチケット３０５や、ページレベルプリントチケット３０６に反映される。
【００２９】
図５は、「特殊設定」タブが選択された場合に表示される印刷設定画面の一例を示す図である。
図５に示す印刷設定画面５００は、「ページ設定」タブ、「仕上げ」タブ、「給紙」タブ、「印刷品質」タブが選択されることにより表示される印刷設定画面を用いてジョブ全体に対して設定した印刷属性とは別の印刷属性を設定するためのものである。具体的に図５に示す印刷設定画面５００は、特定のページ或いは特定のページ範囲に対して、ジョブ全体の設定とは異なる印刷属性を設定するためのシートである。このシートにおいて、ボタン５０１は、本文データとは別に表紙や裏表紙を設定するためのボタンである。ボタン５０２は、本文データとは別に挿入する用紙を設定するためのボタンである。ボタン５０３は、特定のページ或いは特定のページ範囲に対して、ジョブ全体の設定とは異なる設定を行うためのボタンである。また、リスト５０４は、これらのボタン５０１〜５０３が押下されることにより設定された"ジョブ全体の設定とは異なる項目"をリスト表示するためのものである。図５に示す例では、リスト５０４は、左の列から、設定対象となっているページ或いはページ範囲を示す欄と、設定の項目を示す欄と、設定の内容を示す欄とを表示している。尚、この表示は一例を示したものであり、他の形式、項目をリスト５０４に表示しても構わない。
【００３０】
また、ユーザの操作によりリスト５０４に列挙される特殊設定群について、隣接するページ或いはページ範囲が同じ設定になった場合、それらを結合するために、リストの結合ボタン５０５が用意されている。ユーザは、特殊設定が表示されているリスト５０４の中から、ページ或いはページ範囲が隣接する設定であって、結合したい設定を選択した後に、このリストの結合ボタン５０５を押下する。そうすると、選択された設定が結合される。
【００３１】
また、ユーザの操作によりリスト５０４に列挙される特殊設定群について、設定を削除するために削除ボタン５０６が用意されている。ユーザは、特殊設定が表示されているリスト５０４の中から削除したい設定を選択した後に、この削除ボタン５０６を押下する。そうすると、選択された設定が削除される。
また、ユーザの操作によりリスト５０４に列挙される特殊設定群について、設定の内容を変更するために設定ボタン５０７が用意されている。ユーザは、特殊設定が表示されているリスト５０４の中から変更したい設定を選択した後に、この設定ボタン５０７を押下する。そうすると、選択された設定の変更が可能となる。
【００３２】
以上のようにして行われる設定に従って、ドキュメントレベルプリントチケット３０５或いはページレベルプリントチケット３０６が生成され、Fixed Document３０２或いはFixed Page３０３に関連付けられる。
このようにして、図３に示したＸＰＳドキュメントの各階層にプリントチケットが関連付けられ、印刷属性が付加されることになる。
【００３３】
図６は、印刷属性が付加されたＸＰＳドキュメントを一般的なアプリケーションソフトウェアが処理する際の処理の流れを概念的に示す図である。
ここで、一般的なアプリケーションソフトウェアとは、図４及び図５に示した印刷設定画面を表示するアプリケーションやプリンタドライバのように、ＸＰＳドキュメントの内部構造を解析し、階層毎に関連付けられた印刷属性を把握、処理するようなものでない。
すなわち、ここで言うアプリケーションソフトウェアとは、ＸＰＳドキュメントを文書ドキュメントとして扱うものである。例えば、ＸＰＳドキュメントの中身を表示するものであったり、ＸＰＳドキュメントを一度アプリケーションの内部文書フォーマットに変換したりするものが挙げられる。また、ページ単位で印刷属性を切り替えられない、或いは特定の印刷属性にしか印刷属性を切り替えられない印刷装置による印刷処理も前記一般的なアプリケーションソフトウェアと同様であると言える。
【００３４】
このような一般的なアプリケーションソフトウェアでは、階層毎のＸＰＳドキュメント６０１を処理する際に、ＸＰＳドキュメント６０１を取得する（ステップＳ６０２）。次に、取得したＸＰＳドキュメント６０１の文書構造を解析する(ステップＳ６０３)。その際、一つしか存在しないFixed Document Sequence３０１については容易に解析することができる。この解析の結果、Fixed Document Sequence３０１に関連付けられているジョブレベルプリントチケット３０４の抽出を行う(ステップＳ６０４)。
次に、抽出したジョブレベルプリントチケット３０４に設定されている印刷属性を用いてＸＰＳドキュメント６０１の表示といったＸＰＳドキュメント６０１の活用を行う（ステップＳ６０５ａ）。または、印刷属性の加工用のユーザインターフェース６０６を用いて、ジョブレベルプリントチケット３０４の加工を行う（ステップＳ６０５ｂ）。
その後、処理されたＸＰＳドキュメント６０９の保存を行う（ステップＳ６０６）。このとき、ドキュメントレベルプリントチケット３０５やページレベルプリントチケット３０６は、削除されたり、ＸＰＳドキュメント６０１に付加されていたのと同様のままにされたりすることが多い。このようにすると、ＸＰＳドキュメントはそれを活用するアプリケーションソフトウェアに依存した体裁となってしまう。このようなことは印刷装置でも同様に起こり得る。例えば、ジョブレベルプリントチケット３０４以外のプリントチケットを解釈する印刷装置と、ジョブレベルプリントチケット３０４のみを解釈する印刷装置とでは出力結果の体裁が異なる。
【００３５】
図７は、構造化文書変換用ソフトウェア１１３の機能構成の一例を示す図である。構造化文書変換用ソフトウェア１１３は、図７に示す各ブロックにより印刷属性変換方法を実現する。
本実施形態の構造化文書変換用ソフトウェア１１３では、ＸＰＳドキュメントを解析し、各階層に印刷属性が関連付けられているＸＰＳドキュメントを、最上位の階層だけに印刷属性が関連付けられているＸＰＳドキュメントに変換し、それを保存する。ただし、図１に示すアプリケーションソフトウェア１１２が、ＸＰＳドキュメントを読み出し、それを活用する前や後に、構造化文書変換用ソフトウェア１１３が行う処理と同じ処理を行ってもよい。また、プリンタドライバ１１４が、印刷データを生成する前に、構造化文書変換用ソフトウェア１１３が行う処理と同じ処理を行ってもよい。更に、プリントサーバ２０２や印刷装置１１１でも、構造化文書変換用ソフトウェア１１３が行う処理と同じ処理を行ってもよい。
【００３６】
構造化文書変換用ソフトウェア１１３のＸＰＳドキュメント取得・構造解析部７０２は、ＸＰＳドキュメント７０１を取得し、それの構造を解析する。ＸＰＳドキュメント７０１の構造の解析は、非特許文献１に記載されている手法に従って行われる。図８は、ＸＰＳドキュメント７０１の構造の一例を示す図である。その結果、ＸＰＳドキュメント取得・構造解析部７０２は、ＸＰＳドキュメント７０１が図８に示すような階層構造であると解釈する。
次に、二階層グループ化処理部７０３は、解析された構造を元に、連続する２つの階層（１つのノードを含む上位層と、当該上位層の下位に位置する１つ以上のノードを含む下位層）との組み合わせでグループ化を行う。図８に示す例では、上位層に、Fixed Document８０２が含まれ、下位層に、Fixed Page1からFixed PageNのＮ（Ｎは自然数）個のFixed Page８０３、８０４が含まれるグループ１が形成される。また上位層に、Fixed Document８０５が含まれ、下位層に、Fixed Page1からFixed PageLのＬ（Ｌは自然数）個のFixed Page８０６、８０７が含まれるグループ２が形成される。更に上位層に、Fixed Document Sequence８０１が、下位層に、Fixed Document1からFixed DocumentMのＭ（Ｍは自然数）個のFixed Document８０２、８０５が含まれるグループ３が形成される。
【００３７】
このようにグループ化された２つの階層（上位層、下位層）に対して、印刷属性抽出処理部７０４は、印刷属性（プリントチケット）を抽出する。プリントチケットは、Fixed DocumentやFixed Pageといった各パーツに、最大１つ関連付けられる。そのため、例えば、図８のグループ１の上位層のプリントチケットとして、Fixed Document８０２に関連付けられたドキュメントレベルプリントチケット８０９が１つ抽出される。一方、Fixed Page1からFixed PageNのＮ個のFixed Page８０３、８０４が存在するため、グループ１の下位層のプリントチケットとしては、最大Ｎ個のページレベルプリントチケット８１０、８１１が抽出される。尚、以下の説明では、必要に応じて、上位層に関連付けられたプリントチケットを上位層印刷属性と称し、下位層に関連付けられたプリントチケットを下位層印刷属性と称する。
【００３８】
印刷属性抽出処理部７０４により、上位層印刷属性と下位層印刷属性とが抽出されると、下位層印刷属性排除処理部７０５は、下位層印刷属性を排除する。この下位層印刷属性排除処理部７０５の具体的な処理の内容については、図９を参照しながら後述する。
最上位印刷属性ＸＰＳドキュメント変換処理部７０６は、二階層グループ化処理部７０３、印刷属性抽出処理部７０４、下位層印刷属性排除処理部７０５の繰り返しを指示し、最終的に最上位の階層にのみ印刷属性が存在するＸＰＳドキュメントを作成する。図８のグループ１において、印刷属性抽出処理部７０４で抽出された下位層の印刷属性であるページレベルプリントチケット８１０、８１１が下位層印刷属性排除処理部７０５で排除されると、ドキュメントレベルプリントチケット８０９のみが存在することになる。同様にグループ２においては、ドキュメントレベルプリントチケット８１２のみ存在することになる。更にグループ３にて同様の処理を行うと、下位層印刷属性であるドキュメントレベルプリントチケット８０９、８１２が排除され、ジョブレベルプリントチケット８０８（最上位の階層の印刷属性）のみが残る。このようにして最上位印刷属性ＸＰＳドキュメント変換処理部７０６は、最上位の階層のみの印刷属性（ジョブレベルプリントチケット８０８）を有するＸＰＳドキュメント７０７（構造化文書）を生成して記憶する。
【００３９】
図９は、下位層印刷属性排除処理部７０５の詳細な構成の一例を示すブロック図である。
図７の印刷属性抽出処理部７０４にて、１つの上位層印刷属性及び１つ以上の下位層印刷属性が抽出されると、下位層印刷属性比較処理部９０１は、下位層印刷属性が複数あるか否かを判定する。そして、下位層印刷属性が複数ある場合、下位層印刷属性比較処理部９０１は、それら複数の下位層印刷属性の中身を比較する。
図１０は、印刷属性を記述しているプリントチケットの構成の一例を示す図である。
図１０に示すように、ＸＰＳドキュメントの印刷属性であるプリントチケット１０００は、ＸＭＬファイルとして存在しており、１つのPrintTicketタグ１００１の中に、機能を示すFeatureタグ１００２ａ〜１００２ｇが複数存在する。Featureタグ１００２ａ〜１００２ｇの中に存在するOptionタグ１００３ａ〜１００３ｇが、現在のFeatureで示される機能の設定値となる。図１０に示すプリントチケット１０００では、解像度が600dpi、印刷方法は両面印刷、ページサイズはA4、レイアウトは2in1等という印刷属性であることを示している。
【００４０】
下位層印刷属性比較処理部９０１では、複数の下位層印刷属性のFeature及びOptionの比較を行う。具体的に下位層印刷属性比較処理部９０１は、全ての下位層印刷属性で共通のOptionを持つFeatureは何か、幾つかの下位層印刷属性で異なるOptionを持つFeatureは何かを抽出する。
下位層印刷属性排除処理判断部９０２は、下位層印刷属性比較処理部９０１で抽出されたFeatureに対して、どのような排除処理を行うかを判断する。本実施形態では、Featureに対する排除方法として、上位層反映手法９１１、単純削除手法９１２、上位層分割手法９１３、描画反映手法９１４が存在する。
【００４１】
上位層反映手法９１１では、まず、下位層Feature上位層反映処理部９０６は、下位層印刷属性のFeatureタグ１００２（及びそのOptionタグ１００３）を上位層印刷属性に反映させる。そして、下位層Feature削除部９０３は、下位層Feature上位層反映処理部９０６により上位層印刷属性に反映される前の元のFeatureタグ１００２（及びそのOptionタグ１００３）を下位層印刷属性から削除する。
単純削除手法９１２では、下位層Feature削除部９０３が、下位層Feature上位層反映処理部９０６における処理とは無関係に下位層のFeatureタグ１００２（及びそのOptionタグ１００３）を単純に削除する。
【００４２】
上位層分割手法９１３では、まず、上位層分割処理部９０４が、元々は１つである上位層のノードを複数に分割し、分割した複数の上位層のノードの夫々に上位層印刷属性を付け加える。次に、下位層Feature上位層反映処理部９０６は、それら付け加えた複数の上位層印刷属性に、下位層印刷属性のFeatureタグ１００２（及びそのOptionタグ１００３）を反映させる。最後に、下位層Feature削除部９０３は、下位層Feature上位層反映処理部９０６により反映された下位層のFeatureタグ１００２（及びそのOptionタグ１００３）を下位層印刷属性から排除する。上位層分割手法９１３の具体的な処理に関しては後述する。
描画反映手法９１４では、まず、下位層Feature描画反映部９０５が、Featureタグ１００２の機能をFixed Page等に記載されている描画データに反映させる。次に、下位層Feature削除部９０３は、下位層Feature描画反映部９０５で反映された下位層のFeatureタグ１００２（及びそのOptionタグ１００３）を下位層印刷属性から削除する。描画反映手法９１４の具体的な処理に関しても後述する。
【００４３】
下位層印刷属性排除処理判断部９０２は、これら４つの手法９１１〜９１４の何れで下位層印刷属性を排除するかを、各Featureの分類や、事前に設定されている内容（リスト）や、ユーザインターフェースを用いたユーザからの指定等に基づいて判断する。
【００４４】
図１１は、複数の下位層印刷属性１１０１に存在する各Featureの分類方法の一例を示す図である。
下位層印刷属性比較処理部９０１は、ＸＰＳドキュメントから抽出した"全ての下位層印刷属性１１０１ａ〜１１０１ｄ"が共通のOptionを持つFeatureを共通Feature１１０２として分類する。一方、共通のOptionを持っていないFeatureに関しては、下位層印刷属性排除処理判断部９０２が、描画反映可能Feature１１０３なのかその他のFeature１１０４なのかを分類する。描画反映可能Feature１１０３の具体例については図１２を参照しながら後述する。
下位層印刷属性排除処理判断部９０２は、その他のFeature１１０４に分類したFeatureを、更に上位層反映Feature１１０５及び削除Feature１１０６の何れかに分類する。この分類は、例えば、予め設定された内容（リスト）や、ユーザインターフェースを用いたユーザからの指定等に基づいて行われる。
【００４５】
図１２は、描画データに反映できるFeatureとできないFeatureの一例を示す図である。図１２に示す機能リスト１２００は、下位層印刷属性排除処理判断部９０２が保持しており、共通のOptionを持っていないFeatureを、描画反映可能Feature１１０３及びその他のFeature１１０４の何れかに分類する際に参照される。
図１２に示すFeatureは、Microsoft社がPublic Featureとして定義したものであり、夫々のFeatureやOptionに関しては非特許文献２に記載されている。更に、Private Featureとして印刷装置のベンダ等によって独自に定義されるFeatureが機能リスト１２００に含まれることもある。
描画データに反映できるものの例としては、ポスター印刷Featureのように夫々の描画オブジェクトの座標を変更するものが挙げられる。この他、カラー設定Featureや入力カラープロファイルFeatureのように描画オブジェクトの色を変更するものや、スタンプ（ウォーターマーク）Featureのように描画オブジェクトを追加するもの等も挙げられる。一方、描画データに反映できないものとしては、印刷装置の給紙位置の指定や出力品質といった印刷装置に依存したもの等が挙げられる。
下位層印刷属性排除処理判断部９０２は、図１２に示す機能リスト１２００に、描画に
反映できるものとして登録されているFeatureを、描画反映可能Feature１１０３として分類する。
【００４６】
図１３は、上位層反映Feature１１０５にするFeatureの一例を示す図である。図１３に示す機能リスト１３００は、下位層印刷属性排除処理判断部９０２が保持しており、その他のFeature１１０４に分類したFeatureを、上位層反映Feature１１０５及び削除Feature１１０６の何れかに分類する際に参照される。
本実施形態では、バインディング設定Featureやコレート設定Featureのように削除すると印刷体裁が異なるようなFeatureを主に機能リスト１３００に挙げている。その他のFeature１１０４に分類したFeatureのうち、機能リスト１３００に挙がっているFeatureは上位層反映Feature１１０５に、挙がっていないFeatureは削除Feature１１０６に分類される。尚、機能リスト１３００に基づく分類に応じてその他のFeature１１０４に分類したFeatureを削除Feature１１０６に分類する前に、分類した結果をユーザインターフェースによってユーザに確認させ、必要に応じて修正させるのが好ましい。
【００４７】
図１４は、分類した各Featureに対する排除方法の一例を示す図である。この排除方法は、下位層印刷属性排除処理判断部９０２によって判断される。
図１４において、共通Feature１１０２に分類されたFeatureに対しては、上位層の印刷属性にFeatureタグ１００２をそのまま反映させる上位層反映手法９１１を適用する。この場合にはＸＰＳドキュメントの体裁を一切崩さないので、無条件で実施できる。
削除Feature１１０６に分類されたFeatureに対しては、下位層の印刷属性の該当するFeatureタグ１００２を単純に削除する単純削除手法９１２を適用する。
上位層反映Feature１１０５に分類されたFeatureに対しては、上位層分割手法９１３を適用し、描画反映可能Feature１１０３と分類されたFeatureに対しては、描画反映手法９１４を適用する。尚、描画反映手法９１４を適用できるFeatureに関しては上位層分割手法９１３や単純削除手法９１２を採用することもできる。また、上位層分割手法９１３を適用できるFeatureに関しては、単純削除手法９１２を採用することもできる。
【００４８】
図１５は、描画反映手法９１４の概要の一例を示す図である。
下位層のプリントチケットにおいて描画反映可能Feature１１０３に該当するFeatureは、描画反映手法９１４により描画データに反映される。そして、下位層Feature描画反映部９０５は、当該Featureを下位層のプリントチケットから削除する。
例えば、印刷属性変換前のFixed Page１７０１は描画が一切ないFixed Pageである。一方、Fixed Page１７０１に関連付けられた"印刷属性変換前のPrintTicket１７０２"は、StampというFeatureを有し、社外秘という名称を出すような印刷属性になっている。
【００４９】
このFixed Page１７０１及びPrintTicket１７０２を、印刷属性を考慮するアプリケーションソフトウェアで表示したり、印刷属性を考慮する印刷装置で印刷したりすると、社外秘とだけ記載された表示・印刷結果１７０５が得られる。ここで、このStampというFeatureが描画反映可能Feature１１０３に割り当てられると、描画反映手法９１４により、印刷属性変換後のFixed Page１７０３が得られる。すなわち、<Glyphs>、</Glyphs>といった描画のタグが追加され、描画の内容として「社外秘」と記載されるFixed Page１７０３が得られる。これと同時に、印刷属性変換前のPrintTicket１７０２からStampというFeatureが削除され、印刷属性変換後のPrintTicket１７０４が得られる。このFixed Page１７０３及びPrintTicket１７０４による表示・出力結果１７０６は、表示・印刷結果１７０５と一致し、社外秘とだけ記載されたものとなる。
このようにすれば、上位層の印刷属性を変更することなく、下位層の印刷属性を排除することが出来る。ただし、描画データに印刷属性を反映できるFeatureは限定されており、それらは、例えば、図１２で示したものとなる。
【００５０】
図１６は、下位層Feature描画反映部９０５の構成の詳細の一例を示す図である。
図１６において、描画反映Feature取得部１８０１は、描画反映可能Feature１１０３を受け取る。そうすると、該当FixedPage取得部１８０２は、描画反映可能Feature１１０３が格納されている下位層の印刷属性と関連付けられ、且つ描画オブジェクトが格納されているFixed Pageを取得する。また、描画反映内容確定部１８０３は、描画反映可能Feature１１０３と、図１２に示した機能リスト１２００とを用いて、描画加工方法を特定する。該当FixedPage更新部１８０４は、この描画加工方法に従って、Fixed Pageの描画データ（描画オブジェクト）を変更する。この描画加工方法としては、例えば、夫々の描画オブジェクトの色を印刷属性に沿って加工することや、夫々の描画オブジェクトの座標を印刷属性に沿って加工することや、描画オブジェクトを追加又は変更すること等が挙げられる。夫々の印刷属性によって描画加工方法は異なる。例えば、倍率設定という描画反映可能Feature１１０３を描画オブジェクトに反映させる場合、該当FixedPage更新部１８０４は次の処理を行う。まず、該当FixedPage更新部１８０４は、Fixed Pageに格納されている描画オブジェクトを<Canvas>、</Canvas>といったタグで囲む。次に、該当FixedPage更新部１８０４は、描画オブジェクトに対して、<Transform>、</Transform>といったタグを使って倍率を指定する。また、入力カラープロファイルという描画反映可能Feature１１０３を描画オブジェクトに反映させる場合、該当FixedPage更新部１８０４は、次の処理を行う。すなわち、該当FixedPage更新部１８０４は、描画反映可能Feature１１０３で指定されているＩＣＣプロファイルを全ての描画オブジェクトに反映させる。尚、印刷属性の描画反映方法の内容は、以上のようなものに限定されない。
【００５１】
図１７は、上位層分割手法９１３の概要の一例を示す図である。
下位層のプリントチケットにおいて上位層反映Feature１１０５に該当するFeatureは、上位層分割手法９１３により排除される。
図１７に示すグループ１は、図８に示したグループ１の二階層を示すものである。図１７において、Fixed Page８０３に関連付けられたページレベルプリントチケット８１０と、Fixed Page８０４に関連付けられたページレベルプリントチケット８１１とにFeatureが存在する。このFeatureのうち、共通Feature１１０２でも、削除Feature１１０６でも、描画反映可能Feature１１０３でもなく、排除できないFeatureが残ったとする。この場合、グループ１の上位層及び下位層のノードのうち、本来一つであった上位層のノードを分割する。
【００５２】
具体的に説明すると、例えば、上位層分割処理部９０４は、Fixed Document８０２から、Fixed Document１９０１とFixed Document１９０５とを生成する。そして、上位層分割処理部９０４は、構造化により上位層に関連付けられる下位層を分ける。すなわち、上位層分割処理部９０４は、Fixed Document１９０１の下位層としてFixed Page８０３を設定し、Fixed Document１９０５の下位層としてFixed Page８０４を設定する。
【００５３】
また、下位層Feature上位層反映処理部９０６は、分割前のFixed Document８０２に関連付けられたドキュメントレベルプリントチケット８０９を、Fixed Document８０２の分割数だけ複製する。そして、下位層Feature上位層反映処理部９０６は、Fixed Document１９０１、１９０５に、複製したドキュメントプリントチケット１９０４、１９０８を個別に関連付ける。ここで、下位層の印刷属性であるページレベルプリントチケット８１０、８１１やFixed Page８０３、８０４に関しては変更を行わない。
【００５４】
このような構造において、再度、上位層が１つ、下位層が１つ又は複数の２つの階層からなるグループを生成し、そのグループの夫々において、下位層の印刷属性の削除を行う。この場合における下位層の印刷属性の削除の手法は、例えば、共通Feature１１０２による上位層反映手法９１１、上位層分割手法９１３（の繰り返し）の何れかとなる。
以上のような上位層の分割と再グループ化とを繰り返すことで、下位層の印刷属性を削除することができる。
【００５５】
図１８は、上位層分割処理部９０４の構成の詳細の一例を示す図である。
上位層反映Feature取得部２００１が上位層反映Feature１１０５を取得する。そうすると、図１７の例で示したように、上位層追加部２００２は、グループ内で１つであった上位層のノードを分割する。このとき、上位層追加部２００２は、分割前の上位層の印刷属性を分割数だけ複製し、複製した印刷属性を、分割した上位層のノードに関連付ける。また、上位層追加部２００２は、上位層反映Feature１１０５が存在する印刷属性を有する下位層のノードと、分割した上位層のノードとの関連を変更する。
【００５６】
更に、上位層関連付け変更部２００３は、グループ内の上位層のノードと関連付けられている"当該グループ外のノード"を、分割された上位層のノードの全てと関連付ける。図１７に示した例では、分割前は、Fixed Document Sequence８０１とFixed Document８０２とが関連付けられている（図８も参照）。一方、分割後は、Fixed Document１９０１とFixed Document１９０５の両者とFixed Document Sequence８０１とが関連付けられる。その後、グループ内に分割数分の上位層が出来てしまったため、再グループ化処理部２００４は、上位層が１つ、下位層が１つ以上の複数のグループを生成する。そして、各グループの下位層の印刷属性の排除処理を繰り返すことで、下位層の印刷属性は排除される。
【００５７】
図１９は、入力されたＸＰＳドキュメントと、当該ＸＰＳドキュメントの最上位の階層まで上位層分割手法９１３を繰り返して得られるＸＰＳドキュメントの一例を示す図である。
図１９に示す例では、入力ＸＰＳドキュメント２１００のFixed Document Sequenceは１つである。その後、上位層分割手法９１３によりFixed Document Sequenceが分割され、分割数分の複数のＸＰＳドキュメント２１２０ａ、２１２０ｂが作られる。このようにすれば、例えば、低機能な印刷装置に対して、ＸＰＳドキュメント２１２０ａ、２１２０ｂを順に印刷させることが可能になる。また、ジョブレベルプリントチケットの処理しかできないような一般のアプリケーションソフトウェアでも、ドキュメントの表示の際に適切な体裁を得られる。
【００５８】
更に、生成された複数のＸＰＳドキュメント２１２０ａ、２１２０ｂに関連付けられるジョブレベルプリントチケットを全て同じにすることで、複数のＸＰＳドキュメント２１２０ａ、２１２０ｂを１つのＸＰＳドキュメントに容易に変換（統合）できる。図１９に示す例でジョブレベルプリントチケット２１０４、２１１１が同じである場合には、例えば、次のようにすることができる。まず、Fixed Document Sequence２１０５に関連付けられているFixed Document２１０６とFixed Document２１０８とをFixed Document Sequence２１０１と関連付ける。そして、Fixed document Sequence２１０５とジョブレベルプリントチケット２１１１とを削除する。前述したように、ジョブレベルプリントチケット２１０４の編集は、設定も容易で、挙動を理解しやすく、一般的なアプリケーションソフトウェアでも編集することができる。
【００５９】
図２０は、構造化文書変換用ソフトウェア１１３により実行される印刷属性変換処理の一例を説明するフローチャートである。
ＸＰＳドキュメント取得・構造解析部７０２は、ＸＰＳドキュメントといった"印刷属性を階層毎に付加できる構造化文書"が投入されると、構造化文書の解析を行う。そして、ＸＰＳドキュメント取得・構造解析部７０２は、図８に示したようなツリー構造を形成する（ステップＳ１６０１）。
次に、二階層グループ化処理部７０３は、ステップＳ１６０１で作成されたツリー構造における最下位の階層から順次、１つのノードを含む上位層と１つ以上のノードを含む下位層との２つの階層からなるグループを形成する（ステップＳ１６０２）。
次に、印刷属性抽出処理部７０４は、ステップＳ１６０２で形成されたグループの下位層に関連づけられたプリントチケット（階層印刷属性）が存在するか否かを判定する（ステップＳ１６０３）。この判定の結果、プリントチケットが存在しない場合には、ステップＳ１６０４〜Ｓ１６１２を省略して後述するステップＳ１６１３に進む。
一方、プリントチケットが存在する場合、下位層印刷属性比較処理部９０１は、下位層の全てのプリントチケットを解析し、全てに同じFeatureとOptionが存在するか否かを判定する（ステップＳ１６０４）。この判定の結果、全てに同じFeatureとOptionが存在する場合、下位層印刷属性排除処理判断部９０２は、共通するFeature（及びOption）を上位層のプリントチケット（上位層印刷属性）に反映する。そして、下位層Feature削除部９０３は、下位層のプリントチケットからそのFeature（及びOption）を削除する（ステップＳ１６０５）。そして、ステップＳ１６０６に進む。
一方、ステップＳ１６０４において、全てに同じFeatureとOptionが存在しないと判定された場合には、ステップＳ１６０５を省略してステップＳ１６０６に進む。
【００６０】
ここで、下位層のプリントチケットに残っているFeatureは、下位層の全てのプリントチケットが持っているFeatureではないことを意味する。そこで、当該Featureを当該Featureの特性に応じて分類するために、下位層印刷属性排除処理判断部９０２は、図１２及び図１３に示したような機能リスト１２００、１３００を取得する（ステップＳ１６０６）。機能リスト１２００、１３００の内容は、Featureの特性に応じて予め定めておいても良いし、ユーザによって書き換えられても構わない。
【００６１】
次に、下位層印刷属性排除処理判断部９０２は、下位層のプリントチケットに残っているFeatureと、取得した機能リスト１２００とを比較して、描画反映可能Feature１１０３が存在するか否かを判定する（ステップＳ１６０７）。この判定の結果、描画反映可能Feature１１０３が存在する場合、下位層Feature描画反映部９０５は、描画反映可能Feature１１０３であるFeature（及びOption）を描画データに反映させる。そして、下位層Feature描画反映部９０５は、当該Feature（及びOption）を下位層のプリントチケットから削除する（ステップＳ１６０８）。そして、ステップＳ１６０９に進む。
一方、ステップＳ１６０７において、描画反映可能Feature１１０３が存在しないと判定された場合には、ステップＳ１６０８を省略してステップＳ１６０９に進む。
【００６２】
次に、下位層印刷属性排除処理判断部９０２は、下位層のプリントチケットに残っているFeatureと、取得した機能リスト１２００とを比較して、削除Feature１１０６が存在するか否かを判定する（ステップＳ１６０９）。この判定の結果、削除Feature１１０６が存在する場合、下位層Feature削除部９０３は、削除Feature１１０６であるFeature（及びOption）を、下位層のプリントチケットから削除する（ステップＳ１６１０）。そして、ステップＳ１６１１に進む。
一方、ステップＳ１６０９において、削除Feature１１０６が存在しないと判定された場合には、ステップＳ１６１０を省略してステップＳ１６１１に進む。
【００６３】
次に、下位層印刷属性排除処理判断部９０２は、下位層のプリントチケットに残っているFeatureと、取得した機能リスト１３００とを比較して、上位層反映Feature１１０５が存在するか否かを判定する（ステップＳ１６１１）。この判定の結果、上位層反映Feature１１０５が存在する場合、上位層分割処理部９０４は、上位層の分割処理を行う。そして、下位層Feature上位層反映処理部９０６は、上位層反映Feature１１０５であるFeature（及びOption）を分割後の上位層のプリントチケットに反映させる。そして、下位層Feature削除部９０３は、上位層反映Feature１１０５であるFeature（及びOption）を下位層のプリントチケットから削除する（ステップＳ１６１２）。
ここまでで、下位層のプリントチケットには、Featureは一つも無くなり、二階層のグループ化による処理を終了する。
【００６４】
次に、最上位印刷属性ＸＰＳドキュメント変換処理部７０６は、ステップＳ１６０１で取得されたＸＰＳドキュメントにおける二階層のグループ化を、当該ＸＰＳドキュメントの最上位の階層まで行ったか否かを判定する（ステップＳ１６１３）。すなわち、最下位の階層から、最上位の次の階層（２番目に上位の階層）までの全てのプリントチケットに、Feature（及びOption）が存在しなくなったか否かを判定する。この判定の結果、二階層のグループ化を、ＸＰＳドキュメントの最上位の階層まで行っていない場合には、ステップＳ１６０２に戻る。そして、ステップＳ１６０１で作成されたTree構造における階層の下部からグループを形成し、そのグループに対してステップＳ１６０３〜Ｓ１６１３の処理を行う。
そして、ステップＳ１６１３において、二階層のグループ化を、ＸＰＳドキュメントの最上位の階層まで行ったと判定されると、最上位の階層に関連付けけられた印刷属性が一つだけ残ることになる。そこで、最上位印刷属性ＸＰＳドキュメント変換処理部７０６は、最上位の階層のみの印刷属性を有するＸＰＳドキュメント７０７に、ＸＰＳドキュメント７０１を更新し（ステップＳ１６１４）、図２０のフローチャートによる処理を終了する。
【００６５】
以上のように図２０に示したフローチャートでは、例えば、ステップＳ１６０２の処理を実行することによりグループ化手段の一例が実現され、ステップＳ１６０５、Ｓ１６０８、Ｓ１６１２の処理を実行することにより反映手段の一例が実現される。また、例えば、ステップＳ１６０５、Ｓ１６０８、Ｓ１６１０、Ｓ１６１２の処理を実行することにより削除手段の一例が実現される。また、例えば、ステップＳ１６１２の処理を実行することにより分割手段、関連付け手段、設定手段、統合手段の一例が実現される。
【００６６】
図２１は、各Featureに対する排除方法を確認、修正する際に表示される排除方法編集承認画面の一例を示す図である。図１５に示す排除方法編集承認画面１５００は、下位層印刷属性排除処理判断部９０２の機能によって、例えば、クライアント装置１００ａ、１００ｂのモニタ１１０に表示される。この排除方法編集承認画面１５００に対するユーザインターフェースを用いたユーザの操作に基づいて、各Featureに対する排除方法の修正や承認が行われる。
図２１に示す例では、下位層の印刷属性から排除するFeatureのうち、無条件で上位層反映手法９１１を実施できるFeatureを除いた全てのfeatureを表示している。また、描画反映手法９１４は「描画に反映」、上位層分割手法９１３は「構造変更」、単純削除手法９１２は「単純削除」と表現している。
【００６７】
図２１に示すように、互いに対応するFeatureの名称１５０１と排除手法１５０２とを並べて表示することで、Feature毎に排除手法を変更できる。尚、Featureの名称１５０１が「ホールパンチ」に対する変更ダイアログ１５０３で、「描画に反映」がグレイアウトされているのは、次の理由による。すなわち、前述したように、上位層分割手法９１３を適用できるFeatureは、単純削除手法９１２も適用できるが、描画反映手法９１４を適用することはできないためである。
【００６８】
以上のように本実施形態では、例えば、図１５に示すFeatureの名称１５０１により、削除される印刷属性の内容の一例が実現され、排除手法１５０２により、削除される印刷属性に対する処理の方法の一例が実現される。また、例えば、図１５に示す変更ダイアログ１５０３で選択される削除方法により、削除される印刷属性に対する処理の変更内容の一例が実現される。そして、排除方法編集承認画面１５００を用いることにより、報知手段と受け付け手段の一例が実現される。
【００６９】
尚、図２０のフローチャートにおいて、ユーザによる確認が行われた後に、Featureの反映と削除とを行うようにすることもできる。この場合、例えば、ステップＳ１６０５、Ｓ１６０８、Ｓ１６１０、Ｓ１６１２の代わりに、それらの前のステップの判定結果に応じて、上位層反映手法９１１、単純削除手法９１２、上位層分割手法９１３、及び描画反映手法９１４の何れを行うかを選択する。そして、ステップＳ１６１３とステップＳ１６１４との間で、図２１に示した排除方法編集承認画面１５００を表示し、ユーザにより排除手法１５０２の変更を受け付ける。そして、ステップＳ１６１４において、選択した方法でFeatureの反映と削除とを行い、構造化文書の更新を行う。このとき、ユーザにより排除手法１５０２の変更を受け付けた場合には、選択した方法ではなく、受け付けた方法でFeatureの反映と削除とを行う。
【００７０】
以上のように本実施形態では、ツリー構造の複数のノードに文書データを与えるようにすると共に、当該複数のノード毎に印刷属性を関連付けることができるように構造化された構造化文書において、相対的に下位の層の印刷属性を、その他の部分に反映させる。具体的には、当該下位の層の印刷属性を、当該下位の層のノードとブランチで結ばれている上位の層のノードの印刷属性に反映させる。また、当該下位の層の印刷属性を、当該印刷属性に関連付けられているノードの文書データに反映させる。このような印刷属性の反映を行うに際し、次の処理を必要に応じて行う。まず、上位の層のノードを、例えば、当該上位の層のノードにブランチで結ばれている下位の層のノードの数に分割する。そして、分割した複数のノードの夫々に、元のノードに関連付けられていた印刷属性を関連付けると共に、元のノードとブランチで結ばれていた下位の層のノードを、分割した複数のノードの何れかにブランチで接続する。また、分割した複数のノードを、元のノードとブランチで結ばれていたより上位の層のノードとブランチで結ぶ。
【００７１】
以上のようにして、相対的に下位の層の印刷属性を、その他の部分に反映させた後、当該下位の層の印刷属性を削除する。また、相対的に下位の層の印刷属性を単純に削除するという処理を行うこともできる。このような処理を最上位の層だけに印刷属性が関連付けられるようになるまで行う。これにより、最上位の層だけに印刷属性が関連付けられた構造化文書が得られる。
【００７２】
したがって、汎用的な文書ドキュメントになり、印刷や表示の際の体裁が、ユーザ環境（アプリケーションソフトウェアや印刷装置）に可及的に依存しないようにすることができる。また、別の印刷装置用に印刷属性を変更する際にも、当該別の印刷装置用のプリンタドライバ等で、構造化文書に付加された印刷属性を容易に把握することができ、当該別の印刷装置に適した印刷属性に容易に且つ確実に印刷属性を変更することができる。更に、印刷設定の変更で変わってしまう印刷属性を除いて電子署名を構造化文書に対して付けたい場合でも、印刷設定の変更で変わってしまう印刷属性を容易に探し出すことができる。したがって、ユーザが利用し易い構造化文書データを提供することができる。
【００７３】
（本発明の他の実施形態）
前述した本発明の実施形態における構造化文書変換装置を構成する各手段、並びに構造化文書変換方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００７４】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００７５】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図２０に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００７６】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７８】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００７９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００８０】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００８４】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８５】
１００  クライアント装置
１１１  印刷装置
１１２  アプリケーションソフトウェア
１１３  構造化文書変換用ソフトウェア
１１４  プリンタドライバ
１１５  ＯＳ
２００  ネットワーク
２０２  プリントサーバ
【図１】
0005528611.tif 000002
【図２】
0005528611.tif 000003
【図３】
0005528611.tif 000004
【図４】
0005528611.tif 000005
【図５】
0005528611.tif 000006
【図６】
0005528611.tif 000007
【図７】
0005528611.tif 000008
【図８】
0005528611.tif 000009
【図９】
0005528611.tif 000010
【図１０】
0005528611.tif 000011
【図１１】
0005528611.tif 000012
【図１２】
0005528611.tif 000013
【図１３】
0005528611.tif 000014
【図１４】
0005528611.tif 000015
【図１５】
0005528611.tif 000016
【図１６】
0005528611.tif 000017
【図１７】
0005528611.tif 000018
【図１８】
0005528611.tif 000019
【図１９】
0005528611.tif 000020
【図２０】
0005528611.tif 000021
【図２１】
0005528611.tif 000022