"構造化言語により記述された第1の構造化文書に基づくWebページにおける一部領域を決定する決定手段と、前記第1の構造化文書に含まれている各オブジェクトが、前記決定手段により決定された一部領域に含まれているか判定する判定手段と、前記第1の構造化文書から、前記判定手段により前記一部領域に含まれていないと判定されたオブジェクトが削除されている第2の構造化文書を生成する生成手段と、を備えることを特徴とする情報処理装置。前記生成手段は、前記第1の構造化文書に含まれている複数のオブジェクトのうちの、前記判定手段により前記一部領域に含まれていると判定されたオブジェクトを構造化文書に新たに書き込むことによって、前記第2の構造化文書を生成することを特徴とする請求項1に記載の情報処理装置。前記生成手段は、前記第1の構造化文書に含まれている複数のオブジェクトのうちの、前記判定手段により前記一部領域に含まれていないと判定されたオブジェクトを、当該第1の構造化文書から削除することによって、前記第2の構造化文書を生成することを特徴とする請求項1に記載の情報処理装置。前記決定手段は、前記Webページにおいてユーザにより指定された領域を、前記一部領域として決定し、前記判定手段は、前記第1の構造化文書に含まれている各オブジェクトが、ユーザにより指定された領域に含まれているか判定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。前記決定手段は、前記第1の構造化文書に基づくWebページを出力するときにページに対応する領域を、前記一部領域として決定し、前記判定手段は、前記第1の構造化文書に含まれている各オブジェクトが、前記ページに対応する領域に含まれているか判定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。前記判定手段は、前記Webページが複数のページに分割されるときの、2つのページの区切り位置に配置されているオブジェクトを、当該2つのページのいずれかに含まれているオブジェクトとして、前記判定を行うことを特徴とする請求項5に記載の情報処理装置。前記生成手段が生成した第2の構造化文書に基づき、前記Webページの一部領域に対応した画像を出力する出力手段を、さらに備えることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。前記第1の構造化文書に基づきドライバにより作成されたデータであって、前記第1の構造化文書に含まれている複数のオブジェクトを含み、前記第1の構造化文書に基づくWebページを1ページに含むデータを取得する取得手段を、さらに備え、前記決定手段は、前記取得手段が取得したデータに対応するページにおける一部領域を決定し、前記生成手段は、当該データに対応するページにおける当該一部領域に対応するデータを生成することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。前記取得手段により取得されたデータはXPSで記述された文書である、ことを特徴とする請求項8に記載の情報処理装置。構造化言語により記述された第1の構造化文書に基づくWebページにおける一部領域を決定する決定工程と、前記第1の構造化文書に含まれている各オブジェクトが、前記決定工程において決定された一部領域に含まれているか判定する判定工程と、前記第1の構造化文書から、前記判定工程において前記一部領域に含まれていないと判定されたオブジェクトが削除されている第2の構造化文書を生成する生成工程と、を有することを特徴とする情報処理方法。請求項10に記載の情報処理方法の各工程をコンピュータに実行させるプログラム。しかしながら、XPSデータに対してクリップ処理等の領域指定する処理を行っても、その指定領域外のオブジェクトについてはXPSデータに記述されたままである。そのために、クリップ処理されたXPSデータに基づき表示や印刷処理等を行う場合にはXPSデータの一部の領域が出力対象であるにも拘わらず、クリップ処理が行われていないXPSデータに対する処理と同程度の処理負荷がかかってしまい、出力処理を迅速に行うことができない場合があった。本発明は、上記の点に鑑み、迅速に出力処理を行うことができる構造化文書を生成する情報処理装置、情報処理方法およびプログラムを提供することを目的とする。上記課題を解決するため、本発明に係る情報処理装置は、構造化言語により記述された第1の構造化文書に基づくWebページにおける一部領域を決定する決定手段と、前記第1の構造化文書に含まれている各オブジェクトが、前記決定手段により決定された一部領域に含まれているか判定する判定手段と、前記第1の構造化文書から、前記判定手段により前記一部領域に含まれていないと判定されたオブジェクトが削除されている第2の構造化文書を生成する生成手段と、を備えることを特徴とする。本発明によれば、迅速に出力処理を行うことができる構造化文書を生成することができる。以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。実施例1情報処理装置のハードウェア構成図1は、本発明に係る実施例における情報処理装置101の構成を示すブロック図である。本実施例において、情報処理装置101としては、例えば汎用的なPCが用いられる。情報処理装置101は、CPU102と、RAM103と、ROM104と、ハードディスク105と、通信インタフェース106と、表示装置107と、ポインティングデバイス108と、キーボード109とを含む。また、上記のそれぞれは、システムバス110を介して相互にデータを送受信可能に構成されている。CPU102は、RAM103、ROM104又はハードディスク105に格納されているプログラムに従って、本実施例における処理を実行することができる。RAM103は、CPU102が各種処理を行なう場合に、一時記憶領域として用いられる。ハードディスク105は、オペレーティングシステムOSやブラウザ、その他のアプリケーションソフトウェア等を記憶する。CPU102は、例えば、ROM104やハードディスク105に記憶されたプログラムをRAM103に読み出し、RAM103をワークメモリとしてそのプログラムを実行することによって各種処理を実行する。通信インタフェース106は、印刷装置とのデータ通信を行うためのインタフェースや、若しくは、インターネット等を介して外部のWWWサーバとの間でデータ通信を行うためのネットワークインタフェースとして機能する。通信インタフェース106として、例えばUSBやSCSIが用いられる。また、通信インタフェース106として、無線通信のためのインタフェースが用いられても良い。表示装置107は、CRT若しくは液晶ディスプレイと、グラフィックコントローラとを含み、グラフィックユーザインタフェースGUI画面を表示することができる。ポインティングデバイス108やキーボード109は、ユーザが情報処理装置101に対して各種指示を与えるための入力装置である。構造化文書の印刷処理のための構成図2は、情報処理装置101における構造化文書の印刷処理のための構成を示す図である。構造化文書とは、HTMLやXHTML等の構造化言語により記述された文書をいう。図2に示す各ブロックのうち、ブラウザ201と、アドオン型のソフトウェア202以下、アドオンソフトウェア202、又はソフトウェア202ともいうと、仮想ドライバ203と、中間データ204と、編集アプリケーション205と、プリンタドライバ209とが情報処理装置101に含まれる。ブラウザ201は、不図示のWWWサーバから提供されるWebページを表示するためのアプリケーションである。ブラウザ201は、不図示のインターネットを介してWWWサーバから受信した構造化文書をダウンロードし、そのダウンロードした構造化文書に基づいて表示装置107に表示する。ここで、HTMLやXHTML等で記述された構造化文書ファイルでは、テキストや画像等の構造化文書を構成する要素オブジェクトがタグを用いて記述されており、その要素が配置されることによってWebページが作成される。アドオンソフトウェア202は、ブラウザ201から呼び出されるプラグインソフトウェアである。アドオンソフトウェア202は、Webページの印刷若しくは印刷プレビュー処理や、画像データの一部の領域を抽出するクリップ処理等の実行指示をユーザから受け付けるためのユーザインタフェースとして機能する。アドオンソフトウェア202はさらに、印刷を実行する印刷装置210の指定や、印刷設定情報を指定するためのユーザインタフェースとして機能する。アドオンソフトウェア202は、ユーザからのWebページ印刷指示に応じ、ブラウザ201に対して、現在表示されているWebページに対応する構造化文書を、印刷データとして仮想ドライバ203に出力するように指示する。ブラウザ201が仮想ドライバ203に出力した印刷データは、仮想ドライバ203によって中間データ204に変換され、RAM103等の記憶領域に格納される。例えば、仮想ドライバ203がXPSドライバである場合には、中間データ204はXPSデータとなる。しかしながら、仮想ドライバ203により作成される中間データ204は、他の形式のデータであっても良い。記憶領域に格納された中間データ204は、編集アプリケーション205に渡される。ここで、編集アプリケーション205は、仮想ドライバ203によって起動されても良いし、アドオンソフトウェア202によって起動されても良い。編集アプリケーション205は、中間データ204とユーザから入力された指示とに基づき、中間データを編集したり、プレビュー表示することができる。編集アプリケーション205は、各種処理の後、プリンタドライバ209に対して印刷要求を発行する。本実施例において、編集とは、例えば、ページの一部を抽出するクリップ処理に代表されるレイアウト編集をいう。編集アプリケーション205は、レイアウト部206と、印刷プレビュー部207と、印刷処理部208とを含む。レイアウト部206は、ユーザからの指示に従って中間データ204を編集し、その編集された中間データ204を印刷プレビュー部207と印刷処理部208とに渡す。印刷プレビュー部207は、その編集された中間データ204を、印刷設定に基づきプレビュー表示する。また、プレビュー表示された中間データ204に対して受け付けたユーザからの指示はレイアウト部206に渡され、その指示に基づいて中間データ204が編集される。また、印刷プレビュー部207は、再度編集が行われた中間データ204に基づきプレビュー表示を更新する。ユーザがプレビュー表示において印刷指示を行った場合やプレビュー表示せずに印刷指示を行った場合には、レイアウト部206によって編集された中間データ204は、印刷処理部208を介してプリンタドライバ209に渡される。プリンタドライバ209は、編集アプリケーション205によって編集された中間データ204を受け取り、印刷装置210が解釈可能な印刷コマンドに変換する。プリンタドライバ209は、印刷コマンドを印刷装置210に送信する。印刷装置210は、受け取った印刷コマンドに基づき印刷処理を実行する。以上のように、本実施例においては、ブラウザ201に表示されたWebページを適宜編集した後に印刷処理することができる。図2に示す構成において、仮想ドライバ203は、ベクタデータである中間データ204を取得するために用いられる。編集においてユーザから変倍等を指示される可能性があるので、中間データ204は、特定の解像度で展開されたラスタデータではなく、テキストやグラフィックスの形式を維持したベクタデータであることが画質劣化防止の観点から望ましい。通常、仮想ドライバ203がXPSドライバである場合に出力されるXPSデータは、ベクタデータである。従って、本実施例においては、仮想ドライバ203から出力される中間データ204を編集アプリケーション205による編集で用いることとする。本実施例においては、図2に示すように、アドオンソフトウェア202がブラウザ201に構造化文書ファイルを仮想ドライバ203に出力させ、その仮想ドライバ203によって構造化文書ファイルが中間データに変換される。よって、図2に示すような構成により、アドオンソフトウェア202がブラウザ201からベクタデータを取得できないような場合にも、中間データ204をベクタデータとして取得することができる。なお、本実施例では、仮想ドライバ203が1ページのXPSデータを出力する。仮想ドライバ203は定型サイズの用紙サイズに限らず、ユーザが定義したサイズの用紙サイズに対応して印刷することができる。そこで、例えばアドオンソフトウェア202がブラウザ201を介して、仮想ドライバ203に、XPSデータが1ページに収まるような用紙サイズを設定する。この用紙サイズは、印刷対象のHTMLファイルに対応するWebページの大きさに応じて決定される。アドオンソフトウェア202はWebページの大きさを判定し、判定された大きさに応じて、そのWebページの全体を含む用紙サイズを仮想ドライバ203に設定する。これにより、仮想ドライバは、当該印刷対象となっているWebページの全体を1ページに含むXPSデータ204を出力することができる。クリップ処理図2に示すレイアウト部206で実行される編集処理として、構造化文書内のページ上の不要部分を取り除き、特定領域のみで構成されたページを作成するクリップ処理がある。クリップ処理とは、例えばユーザがユーザインタフェースにおいて、文書上で印刷対象とする領域を指定した際にその指定領域のみを抽出する処理である。クリップ処理は、印刷データを生成する際に、用紙サイズやマージンに従ってページを分割する際にも実行される。図3は、ユーザの領域指定に従って行うページのクリップ処理の一例を示す図である。ページデータ301は、HTMLファイル等の構造化文書に基づくWebページの全体に対応するXPSデータである。編集前のページデータ301に対して、クリップ領域302が指定される。レイアウト部206は、指定されたクリップ領域302のみが表示や印刷といった出力処理の対象となるようなクリップページ303構造化文書データを新たに生成する。図4は、ページ分割する際にクリップ処理が実行される一例を示す図である。編集前のページデータ301に対して、印刷時の用紙サイズ等の情報に基づきページ分割線401が生成される。レイアウト部206は、ページ分割線401に基づきページを分割する。ここで、ページを分割するとは、原点からページ分割線401までの領域をクリップ領域としてクリップ処理を行うことと同じことを意味する。ページデータ301の始点座標からページ分割線401までの領域をクリップ領域としてクリップ処理をした結果、1ページ目のページデータ402が生成される。次に、2ページ目を生成するために、編集前のページデータ301に対して、ページ分割線401から終点座標までの領域をクリップ領域としてクリップ処理を行う。その結果、2ページ目のページデータ403が生成される。ページ分割線401は、編集前のページデータ301と、そのページデータ301を印刷するときの用紙サイズなどの印刷設定とに基づき設定される。編集アプリケーション205は、図2のプリンタドライバ209から印刷設定を取得し、その印刷設定に従ってページデータ301を印刷したときの改ページ位置を算出することにより、ページデータ301におけるページ分割線401の位置を求めることができる。そして、先頭ページと最後尾ページ以外では、2つのページ分割線401で区切られた領域がクリップ対象の領域となり、そのクリップ領域にクリップ処理が順次行われる。これにより、当該印刷設定で印刷を行ったときの各ページに対応する印刷データが生成される。XPSデータに対して図3、図4に示すクリップ処理を行い、XPSの一部領域を出力対象とする場合でも、クリップされる領域外のオブジェクトがXPSデータに記述されている。そのため、クリップ処理されたXPSデータに基づき表示や印刷処理等を行う場合、XPSデータの一部の領域が出力対象であるにも拘わらず、クリップされた領域外のオブジェクトについても処理を行わなくてはならない。そこで、本実施例では、XPSデータにおいてクリップされた領域外のオブジェクトが元のXPSデータから削除されたXPSデータクリップページデータを、編集アプリケーション205が生成する処理を行う。これにより、XPSデータにおいて出力対象となっていない領域に対する処理負荷が軽減され、出力対象の一部領域の出力処理を迅速に行うことができる。このクリップページデータの生成処理については後述する。XPSドキュメントの構成ここで、XPSについて簡単に説明する。XPSドキュメントは、FixedDocumentSequence要素以下、単にFDSというをルートとするツリー構造を形成している。FDSは、複数のFixedDocument要素以下、単にFDというを有し、FDは、複数のFixedPage要素以下、単にFPというを有する。FPは、ドキュメントのページの内容をXML形式で記述しており、実際に表示又は印刷される内容を含む。ページ内で使用されるフォントや画像等の資源は、複数のFPで共有されることができる。また、FDSとFDとFPはそれぞれ、印刷設定情報をPrintTicket要素以下、単にPTというとして持つことができる。PTは、XPSドキュメントを印刷する際の印刷設定情報をXML形式で記述している。図5は、XPSドキュメントの論理構造を示す図である。XPSドキュメント501は、FDS503をルートとするツリー構造となっている。FDS503は、子としてFD511とFD512とを有する。FD511は、子としてFP521とFP522とを有する。FD512は、子としてFP523を有する。また、FDS503は、子としてPT531を有し、FD511は、子としてPT532を有し、FP521は、子としてPT533を有し、FD512は、子としてPT534を有する。FP522とFP523は、PTを有していない。また、FP521とFP522は、フォントや画像等の資源541を共有し、FP523は、フォントや画像等の資源542を有する。ここで、FP522を印刷する際に使用されるPTとして、PT531とPT532とPT533をマージしたPTが用いられる。FixedPageの構成図6は、FPの一例を示す図である。FPは、XML形式で記述される。FPは、FP全体を包括する親要素としてのFixedPage要素601を有する。FixedPage要素601は、属性としてnamespaceの情報や、ページサイズ情報等を含む。ページに配置される各オブジェクトは、FixedPage要素601の子要素として記述される。Canvas要素602は、様々な子要素を自由な位置にレイアウト配置するための要素である。図6に示すように、Canvas要素602は、Path要素603と、ImageBrush要素604と、glyphs要素605とを子要素として含む。Path要素603は、ページ中の特定領域を指定するための要素であり、特定領域を指定色で塗りつぶす場合等に用いられる。また、Path要素603は、ページ中に配置する画像オブジェクトの領域を指定する場合にも用いられる。ImageBrush要素604は、親要素であるPath要素で指定された領域に画像オブジェクトを配置するための要素であり、画像のURIや配置方法等を属性として含む。Glyphs要素605は、テキストオブジェクトを配置するための要素であり、テキストオブジェクトの配置位置やサイズ情報や、フォント情報や文字列情報等を属性として含む。各子要素には、自身の要素の属性に加えて親要素の属性が反映される。例えば、Canvas要素602に、Rendertransform属性が要素を拡大するパラメータとして記述されている場合がある。そのような場合には、子要素であるPath要素603やGlyphs要素605等の全ての子要素にも、要素を拡大するパラメータが反映される。図7は、XPSデータのページにおける特定領域に対しクリップ処理が行われる場合のFPの編集の一例を示す図である。図7は、XPSデータにおける座標100、200を始点として200×200の領域サイズでクリップ処理する例を示している。上段の図がクリップ処理前を示し、下段の図がクリップ処理後を表わしている。本クリップ処理においては、まず、FP全体を包括する親要素であるFixedPage要素701のWidth属性とHeight属性がクリップ領域のサイズに変更される。図7に示すように、Height=793.728Width=1122.53がHeight=200Width=200に変更されている。次に、FixedPage要素701の直下の子要素として、CanvasClip要素703が追加される。追加されたCanvasClip要素703は、Clip属性と、Rendertransform属性とを有する。図7では、M100,200L300,200300,400400,100ZがClip属性である。このClip属性は、クリップ領域の座標を示すものであり、上記の例では、クリップされる矩形領域の4つの頂点の座標を示す。FixedPage要素701はクリップ領域に基づいてサイズが変更されているので、CanvasClip要素703のClip属性は指定されない場合もある。図7でRendertransform=1.0.0.1.-100.-200で示されるRendertransform属性は、クリップ領域の始点をページの原点に移動させるために指定される。つまり、Rendertransform属性は、クリップ領域の始点座標の分、ページの原点方向に移動させるための移動量を表わしている。図7に示すようなFPの記述の変更によって、ユーザにより指定された範囲のみを対象とするクリップページデータが生成される。このクリップページデータは、以降の表示や印刷処理の対象として処理される。図7で示すXPSデータを出力する場合には、CanvasClip要素703の子要素の座標と、CanvasClip要素703が示すクリップ領域の座標とを比較し、その子要素がクリップ領域に含まれていると判定した場合に、その子要素を出力対象として特定する。ただし、図7で示すようなクリップページデータには、元々存在している全ての要素がCanvasClip要素703の子要素として残っている。元々存在している全ての要素とは、Canvas要素702以下の要素のことである。これらの要素には、クリップ後の表示領域に無関係な要素が存在してしまう。例えば、ユーザが指定したクリップ領域外に配置されているImageBrush要素やGlyphs要素、又は、PolyLineSegment要素等は、クリップページデータに基づく出力には本来関係がない。しかしながら、図7に示すようにクリップ処理された後のFPに対して表示等の出力処理を行っていく場合には、CanvasClip要素703の子要素の全てに対して、クリップ領域の座標との座標比較等の処理を行う。そのため、そのクリップ領域を出力するときには、出力に無関係な上記要素に対しても、処理を行わなければならず、クリップページデータを編集処理する際の余分な負担となる。そこで、本実施例においては、クリップ処理時にクリップ領域外の要素を削除したクリップページデータFPを新たに生成することによって、以降のクリップページデータに対する処理効率を向上させる。クリップページデータ生成処理図8は、本実施例における編集アプリケーション205のレイアウト部206がクリップページデータを生成するデータ処理の手順を示すフローチャートである。図8に示す処理は、例えば、CPU102がROM104に記憶されているプログラムを実行することによって実現される。またこのとき、仮想ドライバ203により生成されたXPSデータページデータが編集アプリケーション205により既に取得されているものとする。まず、CPU102は、ユーザからクリップ領域の指定を受付けて、クリップ領域を指定領域として取得するS801。ここで、クリップ領域の取得方法としては、例えば、ユーザがGUI上で指示した指定領域に従う方法や、ユーザが設定した用紙サイズ等の情報から算出する方法等がある。S802~S810において、FixedPageの解析と、ページを構成する各要素がクリップ領域の出力に必要であるか否かの判定とが行われる。本実施例においては、クリップ領域の出力に必要な各要素のみを含むクリップページデータが新たに生成される。本実施例において、ページを構成する各要素がクリップ領域の出力に必要であるか否かの判定結果により、新たに生成されるクリップページデータにその要素を書き込むか決定する。CPU102は、対象となるXPSドキュメントからFixedPage第1の構造化文書FP1とするを取得するS802。CPU102は、FP1に含まれる各要素を取得するS803。次に、CPU102は、S803で取得された各要素の種類が削除判定対象であるか否かを判定するS804。ここで、削除判定対象の種類であると判定された場合にはS805に進み、削除判定対象の種類でないと判定された場合にはS809に進む。削除判定対象にならない要素の種類としては、例えば、ページに必ず必要なFixedPage要素がある。このような要素は、当該指定されているクリップ領域に関わらず、新たに生成されるクリップページデータに必要であるため、S809において書き込み対象として決定される。又は、以降の処理内容と判定にかかる負荷を考慮して、削除判定対象となる要素の種類が決定されるようにしても良い。一方、削除判定対象となる要素の種類としては、例えば、画像を描画するためのImageBrush要素や、テキストを描画するためのGlyphs要素、又は、線分からなる図形を描画するためのPolyLineSegment要素がある。このような要素は、当該要素に関係するオブジェクトがクリップ領域に含まれていなければ、クリップ領域の出力結果に影響しない。そのため、S805、S806において、クリップ領域であるか否かを判定し、その結果により、新たなページデータへの書き込み対象とするか決定する。S805において、CPU102は、削除判定対象の種類であると判定された各要素が描画される描画領域の座標を取得する。各要素の描画領域算出処理については、図9を参照しながら後述する。次に、CPU102は、描画領域の座標が取得された各要素がS801で取得されたクリップ領域外に存在するか否かを判定するS806。ここで、クリップ領域外に存在すると判定された場合にはS807に進み、クリップ領域内にその要素の一部でも存在すると判定された場合にはS809に進む。S806においては、例えば、S805で取得された各要素の描画領域とクリップ領域とを比較し、以下の条件のいずれかに該当する場合に、対象要素がクリップ領域外に存在すると判定する。条件1要素の描画領域の左端がクリップ領域の右端より、右に存在する。条件2要素の描画領域の右端がクリップ領域の左端より、左に存在する。条件3要素の描画領域の上端がクリップ領域の下端より、下に存在する。条件4要素の描画領域の下端がクリップ領域の上端より、上に存在する。S807~S809において、新たに生成されるクリップページデータに書き込まれる対象であるか否かを示す情報が各要素に対して設定される。S807において、CPU102は、S806でクリップ領域外に存在すると判定された要素に対して、新たに生成されるクリップページデータに書き込まれる対象でないことを示す情報が設定される。一方、S809において、CPU102は、S806でクリップ領域外に存在しないと判定された要素に対して、新たに生成されるクリップページデータに書き込まれる対象であることを示す情報が設定される。これらの情報は、例えば、各要素の取得順にフラグを設定していく方法や、各要素自体と併せて記憶する方法等によって設定される。S808において、CPU102は、削除判定対象の要素にのみ関連する親要素について、新たに生成されるクリップページデータに書き込まれる対象でないことを示す情報を設定する。S808の処理は、特定の要素が子要素として存在することを必須条件とする要素があった場合には、子要素が削除されることによって親要素が成立しなくなることを防ぐために行われる。S808の処理については後述する。S809において、CPU102は、新たに生成されるクリップページデータに書き込まれる対象であることを示す情報を各要素に設定する。次に、CPU102は、FP1中の全ての要素について処理が終了したか否かを判定するS810。ここで、終了していると判定された場合にはS811に進み、終了していないと判定された場合にはS803に戻る。S811~S820においては、FixedPageFP1の更新処理が行われる。なお、S811~S820は、先述のS802~S810におけるFixedPageの解析処理と並行して行うことも可能である。S810までのFixedPageの解析が終了すると、新たにFixedPage第2の構造化文書FP2とするを作成するS811。FP2は、何も記述されていない空のドキュメントである。CPU102は、FP1から順次、要素を取得していくS812。S812において、CPU102は、例えば、取得した要素を、RAM103等の格納領域に保存するようにしても良い。その場合には、以降、再びFP1に対してアクセスすることなく処理を進めることができる。CPU102は、取得した要素がFixedPage要素であるか否かを判定するS813。ここで、FixedPage要素であると判定された場合にはS814に進み、FixedPage要素でないと判定された場合にはS817に進む。既に説明したように、FixedPage要素は、ページ中に必ず1つ存在するものであり、他の全ての要素に対しての親要素となっている。S814において、CPU102は、FixedPage要素の属性であるサイズ情報Width、Heightをユーザから指定されたクリップ領域のサイズに変更する。CPU102は、その変更されたクリップ領域のサイズを含むFixedPage要素を、新たに生成されたFP2に追加するS815。次に、CPU102は、FixedPage要素直下の子要素としてCanvas要素をFP2に追加するS816。その際に、CPU102は、クリップ領域をFP2内の原点に移動させるために、追加したCanvas要素の属性としてRenderTransformを追加する。これによって、クリップ領域のみを描画されるページとするFP2が生成される。一方、S817において、CPU102は、S812で取得した要素が新たに生成されたFP2に書き込まれる対象であるか否かを判定する。ここで、書き込まれる対象であると判定された場合には、S818に進み、書き込まれる対象でないと判定された場合には、S819に進む。S818において、CPU102は、S812で取得した要素を新たに生成されたFP2に書き込む。その際に、CPU102は、その要素に付随する属性も併せて書き込む。なお、S817では、上記のS807またはS809で各要素に書き込まれた情報に従って、各要素が書き込み対象であるか否かの判定を行う。S819において、CPU102は、全ての要素について処理が終了したか否かを判定する。ここで、全ての要素について処理が終了したと判定された場合にはS820に進み、全ての要素について処理が終了していないと判定された場合にはS812に戻る。S820において、CPU102は、FP1をFP2で更新する。以上の図8に示す処理により、S801で取得されたクリップ領域を出力するときに必要な要素のみを残したページデータが、新たに生成される。このページデータを出力するときには、元のページデータに含まれていた、クリップ領域の出力に関係のない要素に対して処理を行う必要がないため、クリップ領域の出力処理を迅速に行うことができる。削除判定対象要素の描画領域算出処理図9は、S805における削除判定対象である要素の描画領域算出処理の手順を示すフローチャートである。なお、図9では、削除判定対象の要素として、ImageBrush要素、Glyphs要素、PolyLineSegment要素を説明する。まず、CPU102は、描画領域算出の対象とする要素がImageBrush要素であるか否かを判定する。ここで、ImageBrush要素であると判定された場合にはS902に進み、ImageBrush要素でないと判定された場合にはS903に進む。S902において、CPU102は、ImageBrush要素の描画領域を算出する。ImageBrush要素の描画領域算出の処理については、図10を参照しながら後述する。S903において、CPU102は、描画領域算出の対象とする要素がGlyphs要素であるか否かを判定する。ここで、Glyphs要素であると判定された場合にはS904に進み、Glyphs要素でないと判定された場合にはS905に進む。S904において、CPU102は、Glyphs要素の描画領域を算出する。Glyphs要素の描画領域算出の処理については、図11を参照しながら後述する。S905において、CPU102は、描画領域算出の対象とする要素がPolyLineSegment要素であるか否かを判定する。ここで、PolyLineSegment要素であると判定された場合にはS906に進み、PolyLineSegment要素でないと判定された場合には本処理を終了する。S906において、CPU102は、PolyLineSegment要素の描画領域を算出する。PolyLineSegment要素の描画領域算出の処理については、図12を参照しながら後述する。図10は、S902におけるImageBrush要素の描画領域算出処理の手順を示すフローチャートである。まず、CPU102は、親要素となるPath要素を探索するS1001。これは、ImageBrush要素には場所を示す属性が存在せず、描画領域は親要素のPath要素の位置に従って行われるからである。CPU102は、探索されたPath要素のData属性から描画領域の座標を算出するS1002。Data属性には、複数の座標と、座標間をどのように結ぶかを示す情報とが記述されている。描画領域の算出方法としては、座標に従って正確に範囲を取得する方法や、座標中の上下左右で最も外側の点で構成された、Path要素で示される領域全てを包含する矩形領域を描画領域とする方法が用いられても良い。また、同じ要素であっても表示位置を示す情報の記述方法には複数存在する場合があるので、それらの記述方法によっても描画領域の取得方法は異なる。例えば、Path要素がData属性を持たず、代わりに子要素としてPath.Data要素を持つ場合があり、その場合には、Path.Data属性から座標が算出されることになる。CPU102は、Path要素の親要素を取得するS1003。次に、CPU102は、取得した親要素がRenderTransform属性などの描画領域の位置や大きさを変更する属性が含まれているか否かを判定するS1004。ここで、含まれていると判定された場合にはS1005に進み、含まれていないと判定された場合にはS1006に進む。S1005において、CPU102は、RenderTransform属性等が示すパラメータに従って、S1002で算出された描画領域を変更する。S1006において、CPU102は、S1001で取得したPath要素の全ての親要素について処理が終了したか否かを判定する。ここで、全ての親要素について処理が終了していないと判定された場合にはS1003に戻って、さらに上位の親要素を取得して、描画領域の修正を行う。S1006で全ての親要素について処理が終了したと判定された場合には、ImageBrush要素の描画領域算出処理を終了する。図11は、S904におけるGlyphs要素の描画領域算出処理の手順を示すフローチャートである。まず、CPU102は、対象となるGlyphs要素から描画開始位置を取得するS1101。ここで、描画開始位置は、Glyphs要素のOriginX属性とOriginY属性とから取得される。CPU102は、描画されるテキストのサイズを取得するS1102。CPU102は、S1101とS1102で取得された描画開始位置とサイズ情報とに基づき、テキストの描画領域を算出するS1103。S1104~S1107は、S1003~S1006と同様に、親要素の情報に基づき描画領域の変更を行い、全ての親要素について処理が終了すると、Glyphs要素の描画領域算出処理を終了する。図12は、S906におけるPolyLineSegment要素の描画領域算出処理の手順を示すフローチャートである。まず、CPU102は、親要素のPathFigure要素のStartPoint属性から描画開始位置を取得するS1201。次に、CPU102は、対象となるPolyLineSegment要素のPoints属性から図形を構成する座標群を取得するS1202。CPU102は、S1201とS1202とで取得された描画開始位置と座標群とに基づき、描画領域を算出するS1203。S1204~S1207は、S1003~S1006と同様に、親要素の情報に基づき描画領域の修正を行い、全ての親要素について処理が終了すると、PolyLineSegment要素の描画領域算出処理を終了する。親要素の書き込み設定処理図13は、S808における削除判定対象の要素の親要素を、削除判定の対象とするか否かの判定を行う処理の手順を示すフローチャートである。まず、CPU102は、S807で削除判定対象とした要素の親要素を取得するS1301。CPU102は、取得した親要素が削除判定対象の要素以外の子要素を持つか否かを判定するS1302。ここで、他に子要素を持たないと判定された場合にはS1303に進み、他にも子要素を持つと判定された場合には図13に示す処理を終了する。S1303において、CPU102は、S1301で取得した要素が単独でクリップ領域に含まれる描画内容に影響するか否かを判定する。ここで、影響しないと判定された場合にはS1304に進み、影響すると判定された場合には図13に示す処理を終了する。例えば、S1301で取得した要素がクリップ領域外に存在する場合や、クリップ領域内であっても描画内容を含まない要素である場合には、影響しないと判定される。S1304において、CPU102は、S1302とS1303の判定結果により、S1301で取得された親要素は、FP2に書き込まれる対象でない即ち、削除判定の対象とする。その後、CPU102は、S1301に戻り、さらに上位の親要素を取得する。S1301~S1304の処理が繰り返されることによって、S807で削除判定対象とした要素にのみ関連する親要素についても削除判定の対象とすることができる。以上のように、本実施例によれば、XPSデータに対して出力対象が指定された場合に、そのXPSデータを、クリップ領域に必要な要素のみで構成されるXPSデータとする。その結果、このXPSデータを出力するときには、元のXPSデータに含まれていた、クリップ領域の出力に関係のない要素に対して処理を行う必要がないため、クリップ領域の出力処理を迅速に行うことができる。実施例2実施例1では、ページの一部を抽出するクリップ処理の際にクリップ領域外の要素を取り除くことによって、クリップ領域の出力処理にとって不要な要素をなくし、パフォーマンスを向上させるXPSデータを生成することができた。クリップ処理が用いられる用途として他に、例えば、XPSデータを印刷用の用紙サイズに合わせてページ分割する処理がある。つまり、XPSデータをページ単位の領域にクリップするということである。どの位置でページを分割するかは、印刷時のページサイズに応じて決定され、そのページサイズは例えば用紙サイズ等の印刷設定情報によって決定される。しかしながら、その決定されたページ境界線上に画像や文字等のオブジェクトが重なる場合には、そのオブジェクトは分割されて2つのページに跨って配置されてしまう。そこで、本実施例では、用紙サイズによって決定される第1のページ区切り位置に加え、第1のページ区切り位置に重なって存在するオブジェクトの描画領域によって決定される第2のページ区切り位置を設定する。そして、ページ境界線上に重なっていたオブジェクトを後続のページに含まれるオブジェクトとして扱い、ページ分割においてオブジェクトの分割を防ぐ。図14aは、ページ区切り位置上のオブジェクトの分割防止処理を説明するための図である。ページデータ1401は、HTMLファイルに基づくWebページの全体に対応するXPSデータである。まず、ページデータ1401は、印刷設定により特定されるページサイズに応じてページ分割を行ったときには、第1のページ区切り位置1403でページ分割されるとする。しかしながら、画像オブジェクトについてはページ分割されない方が望ましいため、画像オブジェクトが2つのページの区切り位置である第1のページ区切り位置1403に重なる場合には、いずれかのページに画像オブジェクトを配置する。例えば、図14に示されるように、画像オブジェクト1406は、第1のページ区切り位置1403上に重なっている。本実施例では、この画像オブジェクトが2つのページに分割されないように、次ページにレイアウトする。一方、第1のページ区切り位置1403に重なるオブジェクトがテキストオブジェクトの場合には、その第1のページ区切り位置1403でオブジェクトを分割して、2つのページにレイアウトする。例えば図14では、テキストオブジェクトを第1のページ区切り位置1403で分割して、テキストオブジェクト1404、テキストオブジェクト1405として2つのページに配置する。このようなレイアウトを行うために、本実施例では、XPSデータに記述されているオブジェクトの座標情報に基づき、第1のページ区切り位置1403に重なるオブジェクトを特定する。そして、特定されたオブジェクトが画像オブジェクトであれば、次ページにレイアウトし、そのオブジェクトがテキストオブジェクトであれば、分割して2つのページにレイアウトするようにする。また、このとき画像オブジェクトについては、本来のページ区切り位置1403とは異なるページ区切り位置で、ページ分割が行われるため、本実施例においては、画像オブジェクト1406より上方に第2のページ区切り位置1402を設定する。本実施例では、このように設定した第1のページ区切り位置、第2のページ区切り位置に従ってページ分割を行い、各分割されたページデータを生成する。まず第1のページを生成するときには、画像オブジェクト1406のように、第1のページ区切り位置1403に重なり且つ第2のページ区切り位置1402より下方に位置するオブジェクトについては、次のページ第2ページに含めるようにし、現在のページ第1ページのページデータを生成する際にはその画像オブジェクト1406を含めないように第1のページのページデータを生成する。また、次のページ第2ページのページデータを生成するときには、第2のページ区切り位置1402以降のXPSデータに基づき生成される。つまり、画像オブジェクト1406は、第2ページに含めるようにする。しかしながら、テキストオブジェクト1404のように、既に前ページ第1ページに含めるようにしたオブジェクトは、次のページ第2ページには含めない。さらに、テキストオブジェクト1405のように、そのテキストオブジェクトの上端が第1のページ区切り位置1403より下方に存在するオブジェクトについては、第2ページにそのテキストオブジェクトを含めるようにする。上記のような処理によって、図14bに示すように、2つのページのページデータを生成することができる。分割された第1ページ1407は、第1のページ区切り位置1403より上方に存在するテキストオブジェクト1404を含み、第1のページ区切り位置1403に重なっていた画像オブジェクト1406を含んでいない。また、分割された第2ページ1408は、第2のページ区切り位置1402より下方に存在し且つ分割された第1ページ1407に含まれていない、画像オブジェクト1406やテキストオブジェクト1405を含んでいる。図15は、図14のようにページ分割処理が行われるときの各ページに対応するページデータを作成する処理を示すフローチャートであり、レイアウト部206により実行される。まず、CPU102は、第1のページ開始位置、第2のページ開始位置、第1のページ区切り位置を設定するS1501。ここで、第1のページ区切り位置として、例えば用紙サイズによって決定される対象ページの範囲の始点座標と終点座標とに基づいたページ分割線図14の1403が設定される。また、第1のページ開始位置、第2のページ開始位置は、ページ分割を行うときの次ページの開始位置を示す。第1のページ開始位置として、図14の第1のページ区切り位置1403が設定される。また、第2のページ開始位置として、対象ページの前のページのページデータを生成した際の第2のページ区切り位置1402が設定される。第2のページ1406のページデータを生成するときには、第1のページ開始位置は、図14における第1のページ区切り位置1403に対応し、第2のページ開始位置は、第2のページ区切り位置1402に対応する。但し、先頭ページ1407のページデータ生成時には、第1のページ開始位置と第2のページ開始位置とは、同じ位置として設定される。次に、CPU102は、第2のページ区切り位置を設定するS1502。第2のページ区切り位置は、対象ページの次のページのページデータを生成する際の第2のページ開始位置として利用される。先頭ページ1407のページデータの生成時では、第2のページ区切り位置と第1のページ区切り位置とは、同じ位置として設定される。次に、CPU102は、FP1から要素を取得しS1503、取得した各要素の描画領域を算出するS1504。CPU102は、各要素の描画領域の下端が、現在設定されている第2のページ開始位置より上方に存在するか否かを判定するS1505。ここで、上方に存在すると判定された場合には、当該ページの前のページにその要素が書き込まれているので、S1507に進み、その要素を書き込み対象から外す。例えば第2のページ1406のページデータ生成時において、描画領域の下端が第2のページ開始位置より上方に存在すると判定されたS1505:Yes要素とは、図14aにおいて第2のページ区切り位置1402より上方に位置するオブジェクトを表している。従って、そのようなオブジェクトは、対象ページ図14における第2ページに対応には含めないと判定し、S1507において、対象ページへの書き込み対象外とする。一方、S1505において、当該要素の描画領域の下端が第2ページ開始位置より上方に存在しないと判定された場合には、S1506に進み、CPU102は、描画領域の下端が第1のページ区切り位置より上方に存在するか否かを判定するS1506。描画領域の下端が第2のページ開始位置より上方に存在しないと判定され、且つ、描画領域の下端が第1のページ区切り位置より上方に存在すると判定されたS1505:No-S1506:Yesオブジェクトは、S1507に進み、本対象ページへの書き込み対象から外す。例えば第2のページ1406のページデータ生成時では、テキストオブジェクト1404が該当する。このように、下端が第1のページ区切り位置1403より上方の場合には、前のページで既にレイアウトされているため、当該ページの書き込み対象から外す。描画領域の下端が第2のページ開始位置より上方に存在しないと判定され、且つ、描画領域の下端が第1のページ区切り位置より上方に存在しないと判定されたS1505:No-S1506:Noオブジェクトは、S1513に進み、本対象ページへの書き込み対象とする。例えば第2のページ1406のページデータ生成時では、画像オブジェクト1406が該当する。S1513において、CPU102は、本対象ページへの書き込み対象である旨をオブジェクトに設定してS1512に進む。S1507及びS1508は、対象ページへの書き込み対象外として判定された要素に対する処理である。S1507及びS1508は、S807及びS808における説明と同じである。S807及びS808の説明における要素は、本実施例におけるオブジェクトと同じである。S1508の後、CPU102は、各オブジェクトが次ページの第1のページ区切り位置と重なっているか否かを判定するS1509。この次のページの第1のページ区切り位置は、当該ページの第1のページ区切り位置から、印刷設定に基づくページサイズの長さだけ下にずれた位置となる。ここで、重なっていると判定された場合には、S1510に進み、次ページの第1のページ区切り位置と重なっていないと判定された場合には、S1512に進む。S1510において、CPU102は、S1509において重なっていると判定されたオブジェクトの上端が、次ページの当該第2のページ区切り位置よりも上方であるか判定する。なお、次ページの第2のページ区切り位置は、初めは次のページの第1のページ区切り位置が設定されている。S1510において、次ページの第1のページ区切り位置と重なっているオブジェクトの上端が、次ページの当該第2のページ区切り位置よりも上方でない場合には、S1512に進むが、上方である場合には、S1511に進む。S1511では、CPU102は、当該オブジェクトの上端を次ページの第2のページ区切り位置として設定し、S1512に進む。S1512において、CPU102は、ページ内の全てのオブジェクトについて処理を行ったか否かを判定する。ここで、全てのオブジェクトについて処理を行っていないと判定された未処理のオブジェクトが残っている場合には、S1503に戻る。このように、S1503~S1513を要素単位で繰り返すことにより、当該生成対象のページにレイアウトされるオブジェクトのみを書き込み対象とすることができる。また、S1509~S1511の処理により、次ページの第1のページ区切り位置に重なるオブジェクトのうち、最も上方のオブジェクトの上端を、次ページの第2のページ区切り位置として設定することができる。一方S1512において、全てのオブジェクトについて処理を行ったと判定された場合には、S1514に進み、全てのページに対して、処理を終了したか判定する。この判定は、次のページの第1のページ区切り位置が、XPSデータの下端に達しているか確認することにより、判定することができる。例えば、図14に示す例では、第2ページ1406のデータを生成したときに、次のページの第1のページ区切り位置の座標がページデータ1401の下端に達するため、全てのページに対して処理を終了したと判定することができる。S1514において、Noまだデータを処理していないページがあると判定された場合には、S1515に進み、当該ページの次のページを処理対象として、S1503に戻る。S1503~S1515の処理をページ毎に繰り返すことによって、XPSデータが印刷時のページサイズで分割されたときの全てページに対し処理を行うことができる。S1514において、Yes全てのページに対して処理を行ったと判定された場合には、図15の処理を終了する。以上の図15に示した処理によれば、XPSデータを印刷時のページサイズで分割し、分割されたページのそれぞれに含ませる要素当該ページに対応するデータへの書き込み対象の要素を特定することができる。そして、本処理の終了以降は、実施例1におけるS811からS819の処理が行われる。その結果、複数のページに分割されたXPSデータが生成される。その複数のページのそれぞれに対応するXPSデータは、当該ページの出力処理に必要な要素が書き込まれ、当該ページの出力処理に不要な要素が削除されているページデータである。このページデータを出力するときには、元のページデータに含まれていた、当該ページの出力に関係のない要素に対して、当該ページに含まれる要素であるか判定する処理を行う必要がない。そのため、各ページの出力処理を迅速に行うことができる。また以上のように、本実施例によれば、ページ分割線上にオブジェクトが重なっていても、そのオブジェクトが分割されることを防ぐことができる。さらに、実施例1で説明したように、対象ページに必要な要素のみで構成されるXPSデータとすることができ、以降の処理のパフォーマンスを向上させることができる。以上の実施例によれば、ユーザによるクリップ領域の指定や、ページ分割などにより、XPSデータの一部領域を出力するときに、XPSデータに含まれる要素のうち、当該一部領域の出力に不要な要素が削除されたXPSデータを生成する。このXPSデータを出力するときには、元のXPSデータに含まれていた、一部領域の出力に関係のない要素に対して処理を行う必要がないため、XPSデータの一部領域の出力処理を迅速に行うことができる。なお、以上の実施例では、S803~S810のように、元のXPSデータに含まれている要素のうち、当該XPSデータにおける出力対象の一部領域に含ませる要素を特定し、S811~S820のように、特定された要素を含むXPSデータを、元のXPSデータとは別に新たに生成する例を示した。この生成方法により、元のXPSデータがメモリ上に残るため、出力対象の領域が変更されたときに、再びその出力対象の領域のデータを生成することができる。しかしデータの生成方法は、データを新たに生成する方法に限らず、元のXPSデータから不要な要素を削除することによって生成してもよい。この方法によれば、FixedPage等の出力に必要な要素については元のデータに残っており、改めてXPSデータに追加する必要がないため、出力対象のデータをより迅速に生成することができる。さらに、元のXPSデータをコピーして、コピーされたXPSデータから、不要なオブジェクトを削除するようにしてもよい。また、以上の実施例により生成されたXPSデータは各種の出力処理により出力される。例えば、XPSデータを印刷装置に出力して、当該XPSデータに対応する画像を印刷させてもよいし、または表示装置に出力して、画像を表示させてもよい。なお、以上の実施例では、構造化文書としてXPSデータを例に説明したが、本実施例は、EMFやPDF等の構造化文書に応用できるものである。また、Webページに対応する構造化文書に限らず、各種の構造化文書であってよい。本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。また、上記の処理を1つのプロセッサにより実行する場合に限らず、複数のプロセッサにより実行する場合であってもよい。"