(57)【要約】【課題】  ページ記述言語で記述されたドキュメントをフチ無し印刷する際に、印刷機構の誤差による白スジが発生することを防ぐためにページ内の要素を拡大する。このとき単に要素を拡大すると要素間の相対的な位置関係がずれてしまう、また不要な拡張となってしまう場合があった。【解決手段】  ページ記述言語で記述されたドキュメントを解析して、ページ端とフチを共有する要素を検出する。そしてページ端とフチを共有している要素の属性を検出し、検出された属性に対応した拡張方法でその要素を拡大させる。【選択図】  図２３
2010105202.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語で記述されたドキュメントに基づき、前記ドキュメントに含まれる要素が配置された画像を印刷させる印刷方法であって、
ページ記述言語で記述されたドキュメントを受信する受信工程と、
前記受信工程で受信したドキュメントを解析して前記ドキュメントに含まれる要素をレイアウトするページのマージンを示す情報を取得する取得工程と、
前記取得工程において取得された情報から前記ページにマージンがないと判別された場合、前記ドキュメントを解析した結果に基づき前記ドキュメントに含まれる要素のうち出力される領域が前記ページの端にレイアウトされる要素を検出し、検出された要素の属性を判定する判定工程と、
前記ドキュメントに含まれる要素のうち前記判定工程で検出された要素が前記判定工程において判定された属性に応じた方法で所定の出力範囲まで拡張された画像を印刷装置に出力して印刷させる印刷制御工程と、
を有することを特徴とする印刷方法。
【請求項２】
前記ページ記述言語はＸＨＴＭＬ−Ｐｒｉｎｔであることを特徴とする請求項１に記載の印刷方法。
【請求項３】
マークアップ言語で記述されたドキュメントに基づき、前記ドキュメントに含まれる要素が配置された画像を印刷させる印刷方法であって、
マークアップ言語で記述されたドキュメントを受信する受信工程と、
前記受信工程で受信したドキュメントに含まれる要素をレイアウトするページのマージンを指定する指示を入力する入力工程と、
前記入力工程において入力された指示がマージンのないページを指定する場合、前記ドキュメントを解析した結果に基づき前記ドキュメントに含まれる要素のうち出力される領域が前記ページの端にレイアウトされる要素を検出し、検出された要素の属性を判定する判定工程と、
前記ドキュメントに含まれる要素のうち前記判定工程で検出された要素が前記判定工程において判定された属性に応じた方法で所定の出力範囲まで拡張された画像を印刷装置に出力して印刷させる印刷制御工程と、
を有することを特徴とする印刷方法。
【請求項４】
前記判定工程では、前記ドキュメントを解析した結果に基づき前記ドキュメントに含まれる要素のうち前記ページの端にレイアウトされ且つマージンをもたない要素を検出することを特徴とする請求項１乃至請求項３のいずれか１項に記載の印刷方法。
【請求項５】
前記判定工程では要素が縁取りされるか否かを判定し、前記印刷制御工程では前記判定工程で縁取りされると判定された要素のページの端に接する縁が所定の出力範囲まで拡張された画像を出力することを特徴とする請求項１乃至請求項４のいずれか１項に記載の印刷方法。
【請求項６】
前記判定工程では要素が縁取りされないと判定されると前記要素が背景を有するか否かを判定し、前記印刷制御工程では前記判定工程で背景を有すると判定された要素のページの端に接する縁が前記要素の背景で所定の出力範囲まで拡張された画像を出力することを特徴とする請求項５に記載の印刷方法。
【請求項７】
前記判定工程では、要素が背景を有さないと判定されると前記要素が画像であるか否かを判定し、前記印刷制御工程では前記判定工程で画像であると判定された要素が前記要素のページの端に接しない縁の位置を変えずに所定の出力範囲まで拡大された画像を出力することを特徴とする請求項６に記載の印刷方法。
【請求項８】
前記印刷制御工程では、前記判定工程で画像であると判定された要素が所定の出力範囲まで拡大され、ページの端に接しない縁が拡大される前の位置で切り取られた画像を出力することを特徴とする請求項７に記載の印刷方法。
【請求項９】
請求項１乃至請求項８のいずれか１項に記載の印刷方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【請求項１１】
ページ記述言語で記述されたドキュメントに基づき、前記ドキュメントに含まれる要素が配置された画像を印刷する印刷装置であって、
ページ記述言語で記述されたドキュメントを受信する受信手段と、
前記受信手段により受信されたドキュメントを解析してドキュメントに含まれる要素をレイアウトするページのマージンを示す情報を取得する取得手段と、
前記取得手段により取得された情報から前記ページにマージンがないと判別された場合、前記ドキュメントを解析した結果に基づき前記ドキュメントに含まれる要素のうち出力される領域が前記ページの端にレイアウトされる要素を検出し、検出された要素の属性を判定する判定手段と、
前記ドキュメントに含まれる要素のうち前記判定手段で検出された要素が前記判定手段により判定された属性に応じた方法で所定の出力範囲まで拡張された画像を出力して印刷する印刷手段と、
を有することを特徴とする印刷装置。
【請求項１２】
マークアップ言語で記述されたドキュメントに基づき、前記ドキュメントに含まれる要素が配置された画像を印刷する印刷装置であって、
ユーザが操作するための操作部と、
マークアップ言語で記述されたドキュメントを受信する受信手段と、
前記操作部への操作に応じて、前記受信工程で受信したドキュメントに含まれる要素をレイアウトするページのマージンを指定する指示を入力する入力手段と、
前記入力手段により入力された指示がマージンのないページを指定する場合、前記ドキュメントを解析した結果に基づき前記ドキュメントに含まれる要素のうち出力される領域が前記ページの端にレイアウトされる要素を検出し、検出された要素の属性を判定する判定手段と、
前記ドキュメントに含まれる要素のうち前記判定手段で検出された要素が前記判定手段により判定された属性に応じた方法で所定の出力範囲まで拡張された画像を出力して印刷する印刷手段と、
を有することを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はページ記述言語で記述されたドキュメントを解釈して印刷出力する印刷方法及び印刷装置に関する。特に、フチ無しドキュメントを白スジが出力しないようにコンテンツの出力範囲を適切に拡張し印刷出力する印刷方法及び印刷装置に関する。
【背景技術】
【０００２】
ページ記述言語やＨＴＭＬなどのマークアップ言語で表現されたデータを印刷する際には、マージン量を０に設定することで出力範囲の全体に要素を配置することができる。これにより、印刷した用紙の端にフチを作らない所謂フチ無し印刷が可能となる。
【０００３】
しかしながら、このようにページマージンを０に設定してページいっぱいに要素を配置した場合であっても、印刷装置の印刷機構の誤差などにより用紙の端が印刷されないことがある。これにより、用紙の端にいわゆる白残り、白スジというものが発生してしまい、好ましくない印刷結果となることがある。
【０００４】
このような好ましくない印刷結果になることを防ぐ方法が、例えば特許文献１、特許文献２に開示されている。特許文献１には、フチ無し印刷を行う場合に、原画像の周辺部分に、原画像から得られる画像情報に基づいて作成した拡張画像を付加する方法が開示されている。これにより原画像よりも大きな画像に基づき印刷を行うことになるので、印刷機構の誤差があったとしても、用紙の端が印刷されないことを防ぐことができる。
【０００５】
一方、特許文献２には、フチ無し印刷を行うために印刷される画像の周縁領域の解析を行い、周縁領域の状況に応じた拡張方法を適用する方法が開示されている。具体的には、周縁領域に明瞭なオブジェクトがある場合には該画像の参照領域を引き延ばして、オブジェクトの形状変化を抑えて拡張する。一方、周縁領域に明瞭なオブジェクトがない、またはオブジェクトが不明瞭の場合には、周縁付近の画像データに基づいて該画像の外側に新たな画像データを生成させて拡張させている。これにより、拡張された領域が印刷されたとしても違和感の少ない印刷結果を得ることができる。
【特許文献１】特開２００３−２９６０６９号公報
【特許文献２】特開２００６−２７２８０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来技術のように１ページの出力イメージの全体に対して拡大などの拡張処理を行うと出力結果に問題が発生する場合がある。例えば、図２０のように写真を６アップレイアウトした場合にこのような問題が発生する。この図２０で示したページ全体を拡大すると図２１に示したような出力イメージになるが、これを印刷するとページ内に占める写真の面積が写真によって変わってしまい、ページ内での各写真の相対的な位置関係が変わってしまう。
【０００７】
また、例えばＸＨＴＭＬ−Ｐｒｉｎｔなどのドキュメントでは、ページマージンが０であっても必ずしも用紙いっぱいに要素が配置されるとは限らない。この場合、そのまま印刷しても用紙の端が白スジとはならないので、つまりは不要な拡張を行ってなってしまうことになる。さらにこの場合、拡張が不要であるばかりか、要素が用紙サイズからはみ出してしまって印刷結果において画像情報の損失が起きてしまうことがある。
【０００８】
以上の問題を鑑みて本発明は、フチ無し印刷を行う際に、ページ内の要素の相対的な位置関係を保ったまま拡張して、印刷機構の誤差による白スジが発生することを防ぐ印刷方法を提供することを目的とする。また、フチ無し印刷のための拡張が必要なドキュメントか否かを判定し、不要な拡張を避けられる印刷方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するために本発明の印刷方法は、ページ記述言語で記述されたドキュメントに基づき、前記ドキュメントに含まれる要素が配置された画像を印刷させる印刷方法であって、ページ記述言語で記述されたドキュメントを受信する受信工程と、前記受信工程で受信したドキュメントを解析して前記ドキュメントに含まれる要素をレイアウトするページのマージンを示す情報を取得する取得工程と、前記取得工程において取得された情報から前記ページにマージンがないと判別された場合、前記ドキュメントを解析した結果に基づき前記ドキュメントに含まれる要素のうち出力される領域が前記ページの端にレイアウトされる要素を検出し、検出された要素の属性を判定する判定工程と、前記ドキュメントに含まれる要素のうち前記判定工程で検出された要素が前記判定工程において判定された属性に応じた方法で所定の出力範囲まで拡張された画像を印刷装置に出力して印刷させる印刷制御工程とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、フチ無し印刷を行う際に、ページ内の要素の相対的な位置関係を保ったまま印刷機構の誤差による白スジが発生することを防ぐことができる。また不要な画像拡張を避けることで印刷結果における画像情報の損失を少なくすることができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１２】
図１は本実施形態における印刷装置の構成を示す図である。図１において印刷装置１００は直接コンテンツデータを受信して印刷できるように構成されている。コンテンツデータはページ記述言語ドキュメントであれば、ＸＨＴＭＬ−Ｐｒｉｎｔ、ＰＤＦ、ＳＶＧなど、印刷装置１００が解釈できれば良いが、ここではＸＨＴＭＬ−Ｐｒｉｎｔについて説明する。また、ドキュメントの仕様については対応する規格に準拠するものとし、詳細な説明については省略する。
【００１３】
この印刷装置１００は、通信制御部１０１、ドキュメント解析部１０２、コンテンツレイアウト部１０３、フチ無し補正部１０４、描画コマンド出力部１０５、印刷処理部１０６、印刷機構部１０７を備える。
【００１４】
通信制御部１０１は、イーサネット（登録商標）等の規格に対応したインターフェースであり、ネットワークを介して外部との通信制御を行う。またドキュメント解析部１０２は、通信制御部１０１が受信したページ記述言語ドキュメントの解析を行う。なお、ここではＸＨＴＭＬ−Ｐｒｉｎｔドキュメントを受信するものとする。
【００１５】
コンテンツレイアウト部１０３は、ドキュメント解析部１０２の解析結果に基づいて、ドキュメントに含まれる要素オブジェクトを印刷出力にあわせて配置する。フチ無し補正部１０４はコンテンツレイアウト部１０３の配置結果に基づいて、フチ無し印刷が必要か否かを判定し、必要ならばフチ無し印刷に適するように配置結果を補正する。描画コマンド出力部１０５はフチ無し補正部１０４が補正したコンテンツレイアウト部１０３の配置結果に基づいて、印刷のための描画コマンドを出力する。印刷処理部１０６は描画コマンド出力部１０５の出力する描画コマンドに基づいて、印刷出力イメージを生成するとともに、印刷機構部１０７に印刷の指示をして、印刷制御を行う。印刷機構部１０７は印刷処理部１０６の指示に従い、印刷処理部１０６の生成した印刷出力イメージを記録媒体に出力して印刷を行う。
【００１６】
以上の説明ではコンテンツレイアウト部１０３が要素を配置して、フチ無し補正部１０４がその配置結果を補正していた。しかしこの処理順に限らず、まずドキュメント解析部１０２の解析結果からフチ無し印刷が必要か否かを判定して、必要な場合にフチ無し印刷に適したレイアウトに要素を配置するなど、処理の流れは自由である。
【００１７】
図２はＸＨＴＭＬ−Ｐｒｉｎｔドキュメントの一例を示す図である。この例では、ドキュメントはＸＭＬヘッダー、ＤＯＣＴＹＰＥ、ＨＴＭＬから構成され、ＨＴＭＬはさらにヘッダー＜ｈｅａｄ＞、ボディー＜ｂｏｄｙ＞からなる。ＨＴＭＬヘッダーにはタイトル＜ｔｉｔｌｅ＞とスタイルシート＜ｓｔｙｌｅ＞があり、このスタイルシートには各要素の色や大きさ等のスタイルが記述されている。ＨＴＭＬボディーはドキュメントの実体部分であり、ドキュメントの実体を構成する要素が記述されている。ＸＨＴＭＬ−Ｐｒｉｎｔドキュメントの詳細については該当する規格に従い、ここでは説明を省略する。
【００１８】
図３はドキュメント解析部１０２の処理を示すフローチャートである。まずステップＳ３０１で通信制御部１０１が受信したＸＨＴＭＬ−Ｐｒｉｎｔドキュメントを取り出す。ステップＳ３０２で取り出したドキュメントのタグ解析を行う。ステップＳ３０３でスタイルシートの解析を行い、ステップＳ３０２で解析したタグにスタイルを適用する。ステップＳ３０４では、タグにＸＨＴＭＬ−Ｐｒｉｎｔドキュメントのインラインで指定されたスタイルを解析し、結果を適用する。なお、このインラインでの指定により、文章の一部に対してのみ指定されたスタイルを適用することができる。
【００１９】
次にステップＳ３０５でイメージ情報を取得する。最後にステップＳ３０６で最終的な解析結果の要素ツリーをドキュメント解析部の出力として出力する。要素ツリーは、各要素に対応するツリー構造と各要素のスタイル属性（Ｍａｒｇｉｎ、Ｂｏｒｄｅｒ、Ｐａｄｄｉｎｇ、など）と内容（Ｃｏｎｔｅｎｔ）が格納される。
【００２０】
図４はドキュメント解析部１０２の出力する要素ツリーの一例を示す図である。図２に示したＸＨＴＭＬ−Ｐｒｉｎｔドキュメントを解析すると図４に示すようなツリー構造になる。
【００２１】
図５はコンテンツレイアウト部１０３の処理を示すフローチャートである。ドキュメント解析部１０２の解析結果である要素ツリーの各要素を順にたどって、各要素をページ内に配置し、ページ内要素ツリーを構築する。上述の要素ツリーはＸＨＴＭＬ−Ｐｒｉｎｔ全体に対する要素ツリーであったが、このページ内要素ツリーは各ページに対して構築される。
【００２２】
まずステップＳ５０１でページ情報を解析し、ページ情報リストを作成する。ページ情報とは、スタイルシートの＠ｐａｇｅ｛．．．｝に記述されたページサイズやページマージンなど、ページの形状を示す情報である。これらの情報に基づいて各ページのページ領域を決定していき、これをリストとして保存する。次にステップＳ５０２でページ内要素ツリーの構築を開始する。各ページに配置する要素を前述の要素ツリーの部分ツリー構造として管理する。ステップＳ５０３では当該要素をページ内に配置する。ここでは、前述の要素ツリーを順にたどって当該要素を取り出し、ドキュメント解析部１０２で解析されたスタイルに従って位置座標、幅、高さを決定して、ページ内での配置を決定する。
【００２３】
ステップＳ５０４ではステップＳ５０３の配置結果に基づいてページ内要素ツリーを更新する。つまり当該要素のページ内での配置が決定すると、当該要素をその配置情報（位置座標、幅、高さ）とともにページ内要素ツリーに追加し、ページ内要素ツリーを構築していく。ステップＳ５０５で要素ツリーの、すべての要素の配置が終わったかどうかを判定し、終わっていれば終了する。
【００２４】
ステップＳ５０６で改ページの判定を行い、改ページが発生していなければ、ステップＳ５０３に戻って次の要素の配置を行い、改ページが発生していれば、ステップＳ５０２に戻って新たなページのためのページ内要素ツリーの構築を開始する。
【００２５】
なお、以上の図５の処理では、ページサイズ、マージンは受信したＸＨＴＭＬ−Ｐｒｉｎｔに記述されており、これに基づきレイアウトを行っていた。しかしこれに限らず、ユーザからの指示を入力して指定されたページサイズ、マージンに基づきレイアウトしてもよい。例えば予め用紙の種類ごとの大きさを記憶しておき、ユーザにより指定された印刷用紙の種類とマージンとに応じてレイアウトを行うようにしてもよい。またその場合、ユーザによりフチ無し印刷が指定されたときにマージンが０になるように設定してもよい。また、所謂２ｉｎ１印刷のように、１枚の印刷用紙に複数のページが印刷される方法が指定された場合、これを考慮してレイアウトを行う。さらに、予めページサイズとマージンが決まっており、ユーザの指示がない場合はこれに従うようにしてもよい。なお、ユーザからの指示は、例えばキー等の不図示の操作部への操作に応じて入力される。
【００２６】
このようにページサイズやマージンがドキュメントを参照して取得したものでない場合、印刷するドキュメントはページ記述言語に限らず、要素を配置して印刷ページが生成されるものであればよい。例えば、ＨＴＭＬ等の通常のマークアップ言語であってもよい。
【００２７】
図６はコンテンツレイアウト部１０３の出力するページ内要素ツリーの一例を示す図である。なおここでは、図４に示した要素ツリーは１ページの出力を示しているとし、そしてそのページ内要素ツリーが図６のようになるものとする。
【００２８】
図７はＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）のＢＯＸモデルを示す図である。このＣＳＳのＢＯＸモデルは１つの要素の各領域を示しており、要素の配置の基本となる。そのＸＨＴＭＬ−Ｐｒｉｎｔドキュメントのボックス要素は、ドキュメントを解析した結果により、位置と幅（Ｗｉｄｔｈ）、高さ（Ｈｅｉｇｈｔ）が決まる。
【００２９】
まず、図のＭａｒｇｉｎ  ＥｄｇｅとＢｏｒｄｅｒ  Ｅｄｇｅに囲まれたｍａｒｇｉｎ領域は余白であり、一般に背景色をつけることができず透明であるので、実際に印刷が行われることはない。したがってＢｏｒｄｅｒ  Ｅｄｇｅで囲まれた領域が、要素のうち実際に印刷され得る領域を示すことになる。よって、要素が画像データの端に配置されたとしても、ｍａｒｇｉｎ領域がある場合には用紙端との間に印刷が行われない部分ができるので、要素の実体部分が用紙端に接しないことになる。
【００３０】
また図のｂｏｒｄｅｒ領域は、要素に施される縁取りの領域である。ここに各種の色、太さの縁取りが施される。さらに図のｐａｄｄｉｎｇ領域は内側の余白を表す。上述したｍａｒｇｉｎ領域は透明で背景色を持たなかったが、このｐａｄｄｉｎｇ領域は背景色を有することができる。最後にｃｏｎｔｅｎｔ領域は、文字など要素の内容を示す領域である。
【００３１】
図８はマージン領域とページ領域との関係を示す図である。スタイルシートの＠ｐａｇｅ｛．．．｝に記述されたサイズが用紙サイズに対応し、Ｍａｒｇｉｎ（Ｔｏｐ、Ｒｉｇｈｔ、Ｂｏｔｔｏｍ、Ｌｅｆｔ）が０のとき、用紙サイズ全体に要素を配置することが可能になる。ここでは、要素の位置を管理するのに、用紙の左上端を原点（０，０）とする。また、要素の位置座標や、幅、高さを表す数値は、所定の単位に従うものとする。単位はミリメートル、インチ、ポイントなど任意に設定できる。
【００３２】
図９はフチ無し印刷における出力範囲を示す図である。上述したように、Ｍａｒｇｉｎを０に設定して用紙全体に要素を配置した場合にフチ無し印刷が可能となるが、実際には印刷機構の誤差により、用紙の端に印刷出力されない部分（しろ残り、白スジ）ができてしまう場合がある。これを避けるために、この図９のように印刷の出力範囲を用紙サイズの外まで拡張する手法がとられている。
【００３３】
では以上の説明を踏まえ、次に用紙のサイズ全体に配置された要素の拡張方法について説明する。図１０は用紙端に配置した要素の一例を示す図である。対象要素１は用紙の左上端に配置されており、対象要素２は左端に配置されている。図１１は用紙端に配置した要素の出力範囲の一例を示す図である。図１０に示した対象要素を図９で示した出力範囲に出力するためには、それぞれの出力範囲を図１１に示したように拡張すればよい。なお、以下の説明では用紙端に配置した対象要素の属性に応じた出力範囲の拡張方法について述べるが、要素が用紙の左上端に配置された同様の例で説明する。
【００３４】
図１２は用紙端に配置されたＢｏｒｄｅｒをもつ要素の一例を示す図である。なお、上述したようにＢｏｒｄｅｒとは要素に施される縁取りであり、この縁取りは図２で示したＸＨＴＭＬ−Ｐｒｉｎｔでその太さや色が指定可能である。
【００３５】
そして図１３は、Ｂｏｒｄｅｒをもつ要素の出力範囲への拡張の一例を示す図である。具体的には、図１３の拡張処理は、要素のＢｏｒｄｅｒの画素を画像データの出力範囲まで当てはめることで拡張を行っている。例えば図１２で示した拡張の対象要素は黒い縁取りがされている。そして図１３では、その対象要素のＢｏｒｄｅｒ、つまりは黒い縁取り画素を出力範囲まで当てはめている。この処理をここでは「Ｂｏｒｄｅｒのフチ無し処理」と呼ぶことにする。
【００３６】
Ｂｏｒｄｅｒをもつ要素に対してこのような拡張処理を行えば、印刷機構の誤差があったとしても縁取りの太さが変化するにすぎず、印刷結果において不自然にならずに用紙の端の白スジ、白残りを防ぐことができる。さらにこのとき、要素の内容を示すＣｏｎｔｅｎｔの位置は変更されないため、ページ内における他の要素との相対的な位置関係は保たれることになる。
【００３７】
図１４は、用紙端に配置されたＢａｃｋｇｒｏｕｎｄ−Ｃｏｌｏｒを持つ要素の一例を示す図である。なおＢａｃｋｇｒｏｕｎｄ−Ｃｏｌｏｒは図２で示したようにＸＨＴＭＬ−Ｐｒｉｎｔドキュメントで指定可能であり、要素の背景がここで指定された色となる。さらにこのときＢｏｒｄｅｒがなければ、要素の端は色つきの背景であるｐａｄｄｉｎｇ領域になることがわかる。またここでは、この要素は用紙サイズの画像データの端にあるので、この場合、要素のｐａｄｄｉｎｇ領域が印刷される画像データの端となっていることがわかる。従って上述の「Ｂｏｒｄｅｒのフチ無し処理」と同様に、Ｂａｃｋｇｒｏｕｎｄ−Ｃｏｌｏｒ指定がある場合には、指定された色の画素を出力範囲まで当てはめればよい。図１５は用紙端に配置されたＢａｃｋｇｒｏｕｎｄ−Ｃｏｌｏｒを持つ要素の出力範囲への拡張の一例を示す図である。
【００３８】
図１６は用紙端に配置されたＢａｃｋｇｒｏｕｎｄ−Ｉｍａｇｅ（リピート）を持つ要素の一例を示す図である。なおＢａｃｋｇｒｏｕｎｄ−Ｉｍａｇｅ（リピート）はＸＨＴＭＬ−Ｐｒｉｎｔで指定することが可能であり、この指定があると、要素の背景が例えば図１６に示すようなパターンを繰り返した模様であることがわかる。このＢａｃｋｇｒｏｕｎｄ−Ｉｍａｇｅを持つ要素を拡張する際には、Ｂａｃｋｇｒｏｕｎｄ−Ｉｍａｇｅの繰り返しを拡張させて出力範囲にしてやればよい。図１７は用紙端に配置されたＢａｃｋｇｒｏｕｎｄ−Ｉｍａｇｅ（リピート）を持つ要素の出力範囲への拡張の一例を示す図である。
【００３９】
以上で説明したＢａｃｋｇｒｏｕｎｄ−Ｃｏｌｏｒ、Ｂａｃｋｇｒｏｕｎｄ−Ｉｍａｇｅに対するフチ無し処理をここでは「Ｂａｃｋｇｒｏｕｎｄのフチ無し処理」と呼ぶことにする。以上のように、背景をもつ要素に対してこのような拡張処理を行えば、印刷機構の誤差があったとしても背景を示すｐａｄｄｉｎｇ領域の面積が変化するにすぎず、印刷結果において不自然にならずに用紙の端の白スジ、白残りを防ぐことができる。さらにこのとき、要素の内容を示すＣｏｎｔｅｎｔの位置は変更されないため、ページ内における他の要素との相対的な位置関係は保たれることになる。
【００４０】
さらに、以上のフチ無し処理では本来印刷されるべき部分が用紙サイズの領域の外側に拡張されないので、要素の一部が印刷されなくなることを防ぐことができる。
【００４１】
図１８は用紙端に配置した＜Ｉｍｇ＞要素の一例を示す図である。なお、この＜Ｉｍｇ＞はＸＨＴＭＬ−Ｐｒｉｎｔで指定することが可能であり、この指定がある要素が、図１８に示すようなイメージオブジェクトであることがわかる。このイメージオブジェクトを出力範囲に拡張するためには、イメージを拡大する方法がある。つまり出力範囲をカバーするようにイメージを拡大し、それを出力範囲に切り取ってやればよい。図１９は用紙端に配置した＜Ｉｍｇ＞要素の出力範囲への拡張の一例を示す図である。このようにイメージを拡大した後に、用紙の端に接しない縁が拡大する前の位置になるように切り取ることによって、ページ内における他の要素との相対的な位置関係は保たれることになる。
【００４２】
このようにイメージを拡大する場合には、イメージごとに倍率が変わるとページ内のイメージの相対的関係が変わってしまうため、すべてのイメージを解析した後で倍率を決めればよい。また、拡大倍率が大きくなってイメージの損失が大きくなる場合には倍率を小さくして、出力範囲に不足する部分についてはイメージの端の部分を使って補足データを作り、それを付加するようにしても良い。また、イメージの配置により、拡大の基準位置を変えるようにしてもよい。例えば、用紙の左端に接するイメージはイメージの右端を基準に拡大し、用紙の左上に接するイメージはイメージの右下を基準に拡大してもよい。この場合、画像を切り取る必要がなくなる。さらに、イメージの中心を基準として拡大してもよい。写真では一般的に被写体が中央の領域にいることが多いので、拡大によって被写体の位置がずれてしまう、または拡大によって印刷結果から被写体が外れてしまうことを少なくすることができる。このようなイメージに対する拡張処理をここでは「イメージのフチ無し処理」と呼ぶことにする。
【００４３】
次に、このイメージのフチ無し処理の一例を示す。図２０は写真を６アップレイアウトしたドキュメントのレイアウト結果の一例を示す図である。図のように６枚の写真画像の大きさは同じである。図２１は、図２０で示した出力画像の全体をフチ無し出力範囲に拡張した一例を示す図である。このように出力画像全体を拡大した場合には、用紙内に占める面積が、中央の写真（写真３、写真４）で大きくなり、上下の写真（写真１、写真２、及び、写真５、写真６）では小さくなってしまうことがわかる。
【００４４】
図２２は、図２０で示した出力画像を「イメージのフチ無し処理」でフチ無し出力範囲に拡張した一例を示す図である。この方法では、要素ごとに出力範囲に拡大、切り取りして出力するため、各要素の用紙範囲内で占める面積は等しくなり、各要素の相対的な関係を保つことができる。
【００４５】
図２３はフチ無し補正部１０４の処理を示すフローチャートである。ステップＳ２３０１で、ページ内要素ツリーから要素を取り出す処理を行う。ステップＳ２３０２で、ステップＳ２３０１で要素を取り出せたか否かにより終了判定を行う。ステップＳ２３０３で、当該要素が用紙端に配置されるかどうかを判定して、用紙端に配置される要素を検出する。当該要素が用紙端に配置されないのであれば、ステップＳ２３０１に戻って、次の要素を取り出す。ステップＳ２３０４で用紙端に配置された要素のＭａｒｇｉｎが０か否かを判定する。これにより要素のうち印刷され得る部分が用紙端に配置されるかどうかを判定できる。要素が用紙端に配置されないのであれば、ステップＳ２３０１に戻る。
【００４６】
ステップＳ２３０５で、当該要素にＢｏｒｄｅｒ（縁取り）があるかどうかを判定し、ＢｏｒｄｅｒがあればステップＳ２３０６に進む。ステップＳ２３０６では、上述のＢｏｒｄｅｒのフチ無し処理が行われる。ステップＳ２３０５でＢｏｒｄｅｒがないと判定されればステップＳ２３０７に進んで、Ｂａｃｋｇｒｏｕｎｄの指定があるかどうかを判定する。そしてＢａｃｋｇｒｏｕｎｄの指定があればステップＳ２３０８に進み、上述のＢａｃｋｇｒｏｕｎｄのフチ無し処理が行われる。
【００４７】
ステップＳ２３０７でＢａｃｋｇｒｏｕｎｄの指定がなければステップＳ２３０９に進み、図７で説明したＰａｄｄｉｎｇが０か否かを判定する。つまり、このときＢｏｒｄｅｒ、Ｂａｃｋｇｒｏｕｎｄが指定されていないので、Ｐａｄｄｉｎｇが０ならば要素のＣｏｎｔｅｎｔが用紙端に配置されることがわかる。Ｐａｄｄｉｎｇが０でないならばステップＳ２３０１に戻り、０ならばステップＳ２３１０に進む。ステップＳ２３１０で要素のＣｏｎｔｅｎｔが＜Ｉｍｇ＞または＜Ｏｂｊｅｃｔ＞かどうか判定し、＜Ｉｍｇ＞または＜Ｏｂｊｅｃｔ＞であれば上述したイメージのフチ無し処理を行う。その後、ステップＳ２３０１に戻って次の要素を取り出す。
【００４８】
以上の処理がページ内要素ツリーに含まれる全ての要素に行われると、各要素のレイアウトが決定する。そして印刷処理部１０６による印刷制御に従い、決定されたレイアウトに要素が配置された画像が印刷機構部１０７に出力されて印刷が行われる。
【００４９】
以上のように本実施形態では、ページ記述言語で記載された要素毎に属性を判別して、判定された属性に応じた方法で拡張している。これにより、各要素の相対位置を保ったまま拡張を行うことができる。さらに要素がページの端に配置され、さらに要素のマージンが０であるかを確認してから拡張を行う。これにより、要素の印刷される部分がページの端にないにも関わらず拡張してしまうという不要な拡張を防ぐことができる。
【００５０】
以上の実施形態では、印刷装置がＸＨＴＭＬ−Ｐｒｉｎｔを受信して処理を行っていたが、本発明はこれに限らず、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）において処理するものであってもよい。
【００５１】
また上述の実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給してもよい。その場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）がその記録媒体に格納されたプログラムコードを読み出し実行することによって、本発明の目的が達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５２】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００５３】
また本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけに限定されない。本発明は、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって上述の実施形態の機能が実現される場合であってもよい。
【００５４】
さらに本発明は、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれるものであってもよい。その場合、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００５５】
【図１】本実施形態における印刷装置の構成を示す図である。
【図２】ＸＨＴＭＬ−Ｐｒｉｎｔドキュメントの一例を示す図である。
【図３】ドキュメント解析部１０２の処理を示すフローチャートである。
【図４】ドキュメント解析部１０２の出力する要素ツリーの一例を示す図である。
【図５】コンテンツレイアウト部１０３の処理を示すフローチャートである。
【図６】コンテンツレイアウト部１０３の出力するページ内要素ツリーの一例を示す図である。
【図７】ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）のＢＯＸモデルを示す図である。
【図８】マージン領域とページ領域との関係を示す図である。
【図９】フチ無し印刷における出力範囲を示す図である。
【図１０】用紙端に配置した要素の一例を示す図である。
【図１１】用紙端に配置した要素の出力範囲の一例を示す図である。
【図１２】用紙端に配置されたＢｏｒｄｅｒを持つ要素の一例を示す図である。
【図１３】用紙端に配置されたＢｏｒｄｅｒを持つ要素の出力範囲への拡張の一例を示す図である。
【図１４】用紙端に配置されたＢａｃｋｇｒｏｕｎｄ−Ｃｏｌｏｒを持つ要素の一例を示す図である。
【図１５】用紙端に配置されたＢａｃｋｇｒｏｕｎｄ−Ｃｏｌｏｒを持つ要素の出力範囲への拡張の一例を示す図である。
【図１６】用紙端に配置されたＢａｃｋｇｒｏｕｎｄ−Ｉｍａｇｅ（リピート）を持つ要素の一例を示す図である。
【図１７】用紙端に配置されたＢａｃｋｇｒｏｕｎｄ−Ｉｍａｇｅ（リピート）を持つ要素の出力範囲への拡張の一例を示す図である。
【図１８】用紙端に配置した＜Ｉｍｇ＞要素の一例を示す図である。
【図１９】用紙端に配置した＜Ｉｍｇ＞要素の出力範囲への拡張の一例を示す図である。
【図２０】写真を６アップレイアウトしたドキュメントのレイアウト結果の一例を示す図である。
【図２１】図２０で示した出力画像の全体をフチ無し出力範囲に拡張した一例を示す図である。
【図２２】図２０で示した出力画像を「イメージのフチ無し処理」でフチ無し出力範囲に拡張した一例を示す図である。
【図２３】フチ無し補正部１０４の処理を示すフローチャートである。
【符号の説明】
【００５６】
１００  印刷装置
１０１  通信制御部
１０２  ドキュメント解析部
１０３  コンテンツレイアウト部
１０４  フチ無し補正部
１０５  描画コマンド出力部
１０６  印刷処理部
１０７  印刷機後部
【図１】
2010105202.tif 000003
【図２】
2010105202.tif 000004
【図３】
2010105202.tif 000005
【図４】
2010105202.tif 000006
【図５】
2010105202.tif 000007
【図６】
2010105202.tif 000008
【図７】
2010105202.tif 000009
【図８】
2010105202.tif 000010
【図９】
2010105202.tif 000011
【図１０】
2010105202.tif 000012
【図１１】
2010105202.tif 000013
【図１２】
2010105202.tif 000014
【図１３】
2010105202.tif 000015
【図１４】
2010105202.tif 000016
【図１５】
2010105202.tif 000017
【図１６】
2010105202.tif 000018
【図１７】
2010105202.tif 000019
【図１８】
2010105202.tif 000020
【図１９】
2010105202.tif 000021
【図２０】
2010105202.tif 000022
【図２１】
2010105202.tif 000023
【図２２】
2010105202.tif 000024
【図２３】
2010105202.tif 000025