(57)【要約】【課題】頁ごとのレイアウトに要する時間を短くしスループットを向上させる。【解決手段】所定の送信元条件を満たすか（Ｓ２００でＹｅｓ）、所定のフォトテンプレート認定条件を満たすとき（Ｓ２１０でＹｅｓ）、今回入力された文書はフォトテンプレートを利用して作成されているため、強制改頁の指定が正しくなされていることになり、各要素の領域を指定位置に配置するごとにその領域が現在の頁に収まるか否かの判定を行う必要がないことから、シンプルモードに設定する（Ｓ２２０）。一方、所定の送信元条件も所定のテンプレート認定条件も満たさないときには、入力された文書はフォトテンプレートを使用して作成されたものではなく、強制改頁の指定が必ずしも正しくなされているとは限らないとみなし、各要素の領域を指定位置に配置するごとにその領域が現在の頁に収まるか否かの判定を行う必要があることから、通常モードに設定する（Ｓ２３０）。【選択図】図４
2007188163.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を有する構造化文書を解析して頁単位で出力する文書出力装置であって、
データを記憶可能なデータ記憶手段と、
前記構造化文書につき、強制改頁の指示が組み込まれた改頁付きテンプレートを使用して作成されたものか否かを判定する文書判定手段と、
前記文書判定手段により前記構造化文書が前記改頁付きテンプレートを使用して作成されたものでないと判定されたときには前記構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行いながら前記構造化文書を頁ごとにレイアウトし、前記文書判定手段により前記構造化文書が前記改頁付きテンプレートを使用して作成されたものであると判定されたときには前記構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行うことなく前記強制改頁の指示の有無の判定を行いながら前記構造化文書を頁ごとにレイアウトするレイアウト実行手段と、
前記レイアウト実行手段によって作成された頁ごとのレイアウトを前記データ記憶手段に記憶させる記憶制御手段と、
を備えた文書出力装置。
【請求項２】
前記構造化文書は、ＸＨＴＭＬ−Ｐｒｉｎｔ形式の文書である、
請求項１に記載の文書出力装置。
【請求項３】
請求項１又は２に記載の文書出力装置であって、
印刷実行指示がなされたとき、前記データ記憶手段に記憶された頁ごとのレイアウトに基づいて前記構造化文書に含まれる印刷対象を取得すると共に印刷媒体へ印刷する印刷実行手段
を備える文書出力装置。
【請求項４】
請求項１〜３のいずれかに記載の文書出力装置であって、
前記構造化文書を受信する文書受信手段を備え、
前記文書判定手段は、前記文書受信手段によって受信された前記構造化文書の送信元に基づいて該構造化文書が前記改頁付きテンプレートを使用して作成されたものか否かを判定する、
文書出力装置。
【請求項５】
前記文書判定手段は、前記改頁付きテンプレートを使用して作成されたものであることを特定するための複数の条件を前記構造化文書が満たすか否かによって前記構造化文書が前記改頁付きテンプレートを使用して作成されたものか否かを判定する、
請求項１〜４のいずれかに記載の文書出力装置。
【請求項６】
階層構造を有する構造化文書を解析して頁単位で出力する文書出力方法であって、
（ａ）前記構造化文書につき、頁ごとに強制改頁が指示される改頁付きテンプレートを使用して作成されたものか否かを判定するステップと、
（ｂ）前記ステップ（ａ）で前記構造化文書が前記改頁付きテンプレートを使用して作成されたものでないと判定されたときには前記構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行いながら前記構造化文書を頁ごとにレイアウトし、前記ステップ（ａ）で前記構造化文書が前記改頁付きテンプレートを使用して作成されたものであると判定されたときには前記構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行うことなく前記強制改頁の指示の有無の判定を行いながら前記構造化文書を頁ごとにレイアウトするステップと、
を含む文書出力方法。
【請求項７】
請求項６に記載の文書出力方法の各ステップを１又は複数のコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書出力装置、その方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来より、ＸＨＴＭＬ文書などのように階層構造を有する構造化文書がＷｅｂ技術の分野において広く利用されている。ところで、プリンタに送られる印刷用データはＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）と呼ばれる言語を使って作成されるが、プリンタメーカによって異なるＰＤＬを採用しているのでプリンタに合わせて印刷用データを作成する必要がある。このため、各プリンタメーカは、パソコンＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）で規定されている印刷用の中間データをプリンタに合ったＰＤＬデータに変換するプリンタドライバを提供している。そして、プリンタドライバがインストールされたパソコンのアプリケーションが印刷用の中間データを作成すると、それをプリンタドライバがＰＤＬデータに変換してプリンタに送る。これにより、プリンタごとに異なるＰＤＬが採用されていたとしても、印刷することが可能となる。しかし、携帯電話機やデジタルカメラなどの電子機器では、使用できるメモリやストレージ容量が少ないため、プリンタドライバをインストールすることは通常は考えられていない。このため、インターネット技術の標準化団体であるＷ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）は、このようにプリンタドライバがインストール不可能な環境やインストールしたくない環境を考慮し、ＸＨＴＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書向けの印刷仕様としてＸＨＴＭＬ−Ｐｒｉｎｔを提供している（例えば非特許文献１参照）。この結果、プリンタがＸＨＴＭＬ−Ｐｒｉｎｔ形式のデータを直接解釈して印刷することが可能となる。
【非特許文献１】ＸＨＴＭＬ−Ｐｒｉｎｔ、[online]、２００４年１月、Ｗ３Ｃ、［２００５年１２月検索］、インターネット＜ＵＲＬ：http://www.w3.org/TR/xhtml-print/＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ＸＨＴＭＬ−Ｐｒｉｎｔ形式のデータを直接解釈して印刷する場合、ｐａｇｅ−ｂｒｅａｋ−ｂｅｆｏｒｅやｐａｇｅ−ｂｒｅａｋ−ａｆｔｅｒといったプロパティを使用すると、そのプロパティを指定した要素の直前や直後で強制的に改頁させることが可能なる。ここで、ＸＨＴＭＬ−Ｐｒｉｎｔ形式の構造化文書は、予め強制改頁のプロパティを適切に組み入れたテンプレートを利用して作成されていることもあるし、そのようなテンプレートを利用することなく作成されていることもある。後者の場合、構造化文書に強制改頁のプロパティが適切に使用されていないこともある。このため、プリンタが構造化文書を解釈して印刷する場合、テキストやイメージ、表などが頁の途中で途切れてしまわないように印刷しようとすれば、強制改頁のプロパティを組み入れたテンプレートを利用しているか否かにかかわらず、要素ごとに領域を作成しその領域を指定位置に配置したときにその領域がページに収まるか否かを判定し、収まらないときにその要素の直前で改頁処理を行うことが考えられる。しかしながら、強制改頁のプロパティを適切に組み入れたテンプレートを利用している場合にまで要素ごとに改頁するか否かの判定を行うことは、処理時間が長くなりスループットが悪化するため好ましくない。
【０００４】
本発明の文書出力装置、その方法及びそのプログラムは、頁ごとのレイアウトに要する時間をできるだけ短くしてスループットを向上させることを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の目的を達成するために以下の手段を採った。
【０００６】
本発明の文書出力装置は、
階層構造を有する構造化文書を解析して頁単位で出力する文書出力装置であって、
データを記憶可能なデータ記憶手段と、
前記構造化文書につき、強制改頁の指示が組み込まれた改頁付きテンプレートを使用して作成されたものか否かを判定する文書判定手段と、
前記文書判定手段により前記構造化文書が前記改頁付きテンプレートを使用して作成されたものでないと判定されたときには前記構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行いながら前記構造化文書を頁ごとにレイアウトし、前記文書判定手段により前記構造化文書が前記改頁付きテンプレートを使用して作成されたものであると判定されたときには前記構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行うことなく前記強制改頁の指示の有無の判定を行いながら前記構造化文書を頁ごとにレイアウトするレイアウト実行手段と、
前記レイアウト実行手段によって作成された頁ごとのレイアウトを前記データ記憶手段に記憶させる記憶制御手段と、
を備えたものである。
【０００７】
この文書出力装置では、まず、構造化文書につき、頁ごとに強制改頁が指示される改頁付きテンプレートを使用して作成されたものか否かを判定する。そして、構造化文書が改頁付きテンプレートを使用して作成されたものでないと判定されたときには、構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行いながら構造化文書を頁ごとにレイアウトする。一方、構造化文書が改頁付きテンプレートを使用して作成されたものであると判定されたときには、構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行うことなく強制改頁の指示の有無の判定を行いながら構造化文書を頁ごとにレイアウトする。つまり、改頁付きテンプレートを使用して作成された構造化文書については、改頁が必要な箇所に強制改頁が指示されていることから、各要素の領域ごとに頁内に収まるか否かの判定を行う必要がない。こうすることにより、改頁付きテンプレートを使用して作成された構造化文書については、レイアウトに必要となる時間が短くなりスループットが向上する。ここで、構造化文書は、ＸＨＴＭＬ−Ｐｒｉｎｔ形式の文書としてもよい。
【０００８】
本発明の文書出力装置は、更に、印刷実行指示がなされたとき、前記データ記憶手段に記憶された頁ごとのレイアウトに基づいて前記構造化文書に含まれる印刷対象を取得すると共に印刷媒体へ印刷する印刷実行手段を備えていてもよい。こうすれば、改頁付きテンプレートを使用して作成された構造化文書を印刷する際、レイアウトに必要となる時間が短くなりスループットが向上する。
【０００９】
本発明の文書出力装置は、更に、前記構造化文書を受信する文書受信手段を備え、前記文書判定手段は、前記文書受信手段によって受信された前記構造化文書の送信元に基づいて該構造化文書が前記改頁付きテンプレートを使用して作成されたものか否かを判定してもよい。こうすれば、受信した構造化文書が改頁付きテンプレートを使用して作成されたものか否かの判定を容易且つ迅速に行うことができる。このとき、本発明の文書出力装置は、改頁付きテンプレートを使用して構造化文書を作成する送信元に関する情報を記憶する送信元情報記憶手段を備え、前記文書判定手段は、前記文書受信手段によって受信された前記構造化文書の送信元と前記送信元情報記憶手段に記憶された送信元に関する情報とに基づいて該構造化文書が前記改頁付きテンプレートを使用して作成されたものか否かを判定してもよい。
【００１０】
本発明の文書出力装置において、前記文書判定手段は、前記改頁付きテンプレートを使用して作成されたものであることを特定するための複数の条件を前記構造化文書が満たすか否かによって前記構造化文書が前記改頁付きテンプレートを使用して作成されたものか否かを判定してもよい。こうすれば、受信した構造化文書が改頁付きテンプレートを使用して作成されたものか否かの判定を精度よく行うことができる。ところで、構造化文書が改頁付きテンプレートを使用して作成されたときにはその旨を構造化文書の一部に記述しておくようにすれば、文書判定手段はその記述の有無によって構造化文書が改頁付きテンプレートを使用して作成されたものか否かを容易に判定することができる。しかし、一般に構造化文書が改頁付きテンプレートを使用して作成されていたとしてもその旨を構造化文書の一部に記述するようになっていない。そこで、改頁付きテンプレートを使用して作成されたものであることを特定するための複数の条件を決めておき、それらの条件を満たすか否かによって構造化文書が改頁付きテンプレートを使用して作成されたものか否かを判定することが次善の策として好ましい。
【００１１】
本発明の文書出力方法は、
階層構造を有する構造化文書を解析して頁単位で出力する文書出力方法であって、
（ａ）前記構造化文書につき、頁ごとに強制改頁が指示される改頁付きテンプレートを使用して作成されたものか否かを判定するステップと、
（ｂ）前記ステップ（ａ）で前記構造化文書が前記改頁付きテンプレートを使用して作成されたものでないと判定されたときには前記構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行いながら前記構造化文書を頁ごとにレイアウトし、前記ステップ（ａ）で前記構造化文書が前記改頁付きテンプレートを使用して作成されたものであると判定されたときには前記構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行うことなく前記強制改頁の指示の有無の判定を行いながら前記構造化文書を頁ごとにレイアウトするステップと、
を含むものである。
【００１２】
この文書出力方法では、まず、構造化文書につき、頁ごとに強制改頁が指示される改頁付きテンプレートを使用して作成されたものか否かを判定する。そして、構造化文書が改頁付きテンプレートを使用して作成されたものでないと判定されたときには、構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行いながら構造化文書を頁ごとにレイアウトする。一方、構造化文書が改頁付きテンプレートを使用して作成されたものであると判定されたときには、構造化文書の各要素の領域ごとに頁内に収まるか否かの判定を行うことなく強制改頁の指示の有無の判定を行いながら構造化文書を頁ごとにレイアウトする。つまり、改頁付きテンプレートを使用して作成された構造化文書については、改頁が必要な箇所に強制改頁が指示されていることから、各要素の領域ごとに頁内に収まるか否かの判定を行う必要がない。こうすることにより、改頁付きテンプレートを使用して作成された構造化文書については、レイアウトに必要となる時間が短くなりスループットが向上する。ここで、構造化文書は、ＸＨＴＭＬ−Ｐｒｉｎｔ形式の文書としてもよい。なお、本発明の文書出力方法において、上述した文書出力装置が備える各種構成の作用・機能を実現するようなステップを追加してもよい。
【００１３】
本発明のプログラムは、上述した文書出力方法の各ステップを１又は複数のコンピュータに実現させるためのプログラムである。このプログラムは、コンピュータが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述した文書出力方法と同様の作用・効果を奏することになる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明を実施するための最良の形態を図面に基づいて説明する。図１は、本発明の一実施形態としてのマルチファンクションプリンタ２０の構成の概略を示す構成図である。本実施形態のマルチファンクションプリンタ２０は、図示するように、パーソナルコンピュータ１０やデジタルテレビ１２，デジタルカメラ１４，携帯電話機１６などと接続され各種文書の入力を司る入力インタフェース２２と、入力インタフェース２２に入力される文書の形式に基づいてデータの出力先を割り振る信号処理部２４と、ＸＨＴＭＬ文書を解析して要素の木構造としてのＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）ツリーを作成してメモリ５０に書き込む文書解析部３０と、文書解析部３０により作成されたＤＯＭツリーとＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）により記述されたスタイルシートとを用いてＸＨＴＭＬ文書に記述されたオブジェクトとしての画像やテキストを印刷用の印刷用のページ毎にレイアウトしてメモリ５０に書き込むレイアウタ３８と、レイアウタ３８により作成されるレイアウトを用いてＲＧＢデータとしての印刷用画像を描画するレンダリングプラグイン（以下、ＲＰＩという）４０と、描画されたＲＧＢデータの印刷用画像をＣＭＹＫデータに変換する色変換部４２と、変換されたＣＭＹＫデータを誤差拡散処理などの画像処理を行なって２値化する２値化部４４と、２値化されたＣＭＹＫの各データを図示しないカラーインクジェットの印刷ヘッドを備える印刷実行部４８にバンド単位で出力するために一時的にデータを蓄えるイメージバッファ４６とを備えている。ここで、信号処理部２４は、入力された信号が直ちに印刷可能な印刷用データの場合には印刷実行部４８のイメージバッファ４６にデータを出力し、ＲＧＢデータの場合にはメモリ５０の印刷用画面格納領域に出力し、ＸＨＴＭＬ文書の場合には文書解析部３０に出力する。このマルチファンクションプリンタ２０は、その他にフラットベッド型のフルカラースキャナや各種ボタンが配列された操作パネルなどを備えているが、これらの説明については省略する。
【００１５】
このマルチファンクションプリンタ２０には、改頁付きテンプレートとしてのＤＬＮＡフォトテンプレートを使用して作成されたＸＨＴＭＬ文書やこのようなＤＬＮＡフォトテンプレートを使用せずに作成されたＸＨＴＭＬ文書が入力される。ここで、ＤＬＮＡとは、Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅの略であり、ホーム・ネットワークでディジタルＡＶ機器同士やパソコンを相互に接続し、動画や音楽、静止画像などのデータを相互利用する仕様を策定するために設立された業界団体である。本実施形態では、ＤＬＮＡフォトテンプレートは複数種類存在するものとし、そのうちの一例を図２に示す。図２のＤＬＮＡフォトテンプレートは、２つのイメージを１頁に貼り付けるときに利用されるテンプレートであり、ＸＭＬ宣言のｅｎｃｏｄｉｎｇ属性がＵＴＦ−８、ＤＯＣＴＹＰＥ宣言の識別子がＸＨＴＭＬ−Ｐｒｉｎｔとなっている。また、ページに関する情報を表すヘッダ部分には、ベースアドレス（ｂａｓｅ要素のｈｒｅｆ属性で指定されたアドレス）や内部スタイルシート（ｓｔｙｌｅ要素の開始タグと終了タグで囲まれた部分）が記述され、内部スタイルシートには、ｄｉｖ要素のうちｃｌａｓｓ属性値がｐａｇｅのプロパティとして強制改頁を意味する「ｐａｇｅ−ｂｒｅａｋ−ａｆｔｅｒ：ａｌｗａｙｓ」が記述されているほか、ｄｉｖ要素やｉｍｇ要素がそれぞれクラスセレクタ（要素名の直後にピリオド（．）を介してクラス属性値の名称が付記される形式）で記述されている。更に、コンテンツを表すボディ部分には、頁ごとに２つのイメージが貼り付けられるように記述されている。具体的には、最終頁をｎ頁とすると、１頁めから（ｎ−１）頁めまではｄｉｖ要素のうちクラス属性がｐａｇｅと指定され、最終頁であるｎ頁めについてはｄｉｖ要素のうちクラス属性がｐａｇｅ＿ｌａｓｔと指定されている。このため、１頁めから（ｎ−１）頁めまでは頁の直後に強制改頁が実行されるように記述されている。
【００１６】
本実施形態では、送信元がデジタルカメラ１４か携帯電話機１６で且つデータパスがワイヤレス（赤外線通信やワイヤレスＬＡＮなど）である場合には、必ずＤＬＮＡフォトテンプレートを使用して作成されたＸＨＴＭＬ文書が入力されるものとし、その旨の情報がメモリ５０に予め格納されているものとする。また、本実施形態では、ＤＬＮＡフォトテンプレートが複数種類存在するが、それらはいくつかの点で共通しているものとする。即ち、（１）ＸＭＬ宣言のｅｎｃｏｄｉｎｇ属性がＵＴＦ−８であること、（２）ＤＯＣＴＹＰＥ宣言の識別子がＸＨＴＭＬ−Ｐｒｉｎｔであること、（３）ヘッダ部分にｂａｓｅ要素が存在すること、（４）ヘッダ部分の内部スタイルシート中にｄｉｖ要素やｉｍｇ要素がそれぞれクラスセレクタで記述されていること、（５）ボディ部分にｄｉｖ要素のクラス属性がｐａｇｅやｐａｇｅ＿ｌａｓｔである場合の記述が存在すること、という５つの点で共通しているものとする。したがって、ＸＨＴＭＬ文書がこれら５つの条件を満足している場合には、そのＸＨＴＭＬ文書はＤＬＮＡフォトテンプレートを使用して作成されたものとみなすことができる。
【００１７】
次に、こうして構成された本実施形態のマルチファンクションプリンタ２０の動作、特にＸＨＴＭＬ文書を印刷する際の動作について説明する。図３は、文書解析部３０により実行される文書解析ルーチンの一例を示すフローチャートである。この文書解析処理ルーチンは、入力インタフェース２２がいずれかの機器からのＸＨＴＭＬ文書を入力したときに実行される。この文書解析処理ルーチンが実行されると、まず、改ページモード設定ルーチンを実行する（ステップＳ１００）。この改ページモード設定ルーチンは、今回入力したＸＨＴＭＬ文書がＤＬＮＡフォトテンプレートを使用して作成されたものであるか否かを判定しその判定結果に応じて通常モードかシンプルモードに振り分ける処理であり、その一例を図４に示す。これらのモードはレイアウトの際に利用されるモードであり、通常モードでは各要素の領域を指定位置に配置するごとにその領域が現在の頁に収まるか否かの判定が行われ、シンプルモードではそのような判定は行われず各要素が強制改頁の対象になっているか否かの判定が行われる。
【００１８】
さて、図４に示す改ページモード設定ルーチンが開始されると、まず、送信元がデジタルカメラ１４か携帯電話機１６で且つデータパスがワイヤレスであるという所定の送信元条件を満たすか否かを判定する（ステップＳ２００）。本実施形態では、この所定の送信元条件を満たす場合には、上述したように、入力されたＸＨＴＭＬ−Ｐｒｉｎｔ文書はＤＬＮＡフォトテンプレートを利用して作成されていることになっているため、強制改頁の指定が正しくなされていることになり、各要素の領域を指定位置に配置するごとにその領域が現在の頁に収まるか否かの判定を行う必要がないことから、シンプルモードに設定する（ステップＳ２２０）。一方、所定の送信元条件を満たさないときには、今回入力したＸＨＴＭＬ文書が所定のフォトテンプレート認定条件を満たすか否かを判定する（ステップＳ２１０）。本実施形態では、所定のフォトテンプレート認定条件として、（１）ＸＭＬ宣言のｅｎｃｏｄｉｎｇ属性がＵＴＦ−８であること、（２）ＤＯＣＴＹＰＥ宣言の識別子がＸＨＴＭＬ−Ｐｒｉｎｔであること、（３）ヘッダ部分にｂａｓｅ要素が存在すること、（４）ヘッダ部分の内部スタイルシート中にｄｉｖ要素やｉｍｇ要素がそれぞれクラスセレクタで記述されていること、（５）ボディ部分にｄｉｖ要素のｃｌａｓｓ属性がｐａｇｅやｐａｇｅ＿ｌａｓｔである場合の記述が存在すること、という５つの条件を採用している。というのは、上述したように、これらの５つの条件は複数種類存在するＤＬＮＡフォトテンプレートに共通しているからである。したがって、ステップＳ２１０で所定のフォトテンプレート認定条件をすべて満たす場合には、入力されたＸＨＴＭＬ文書はＤＬＮＡフォトテンプレートを利用して作成されていることになるため、強制改頁の指定が正しくなされていることになり、各要素の領域を指定位置に配置するごとにその領域が現在の頁に収まるか否かの判定を行う必要がないことから、シンプルモードに設定する（ステップＳ２２０）。一方、ステップＳ２００及びＳ２１０でいずれも否定判定されたときには、入力されたＸＨＴＭＬ文書はＤＬＮＡフォトテンプレートを使用して作成されたものではなく、強制改頁の指定が必ずしも正しくなされているとは限らないとみなし、各要素の領域を指定位置に配置するごとにその領域が現在の頁に収まるか否かの判定を行う必要があることから、通常モードに設定する（ステップＳ２３０）。そして、ステップＳ２２０又はＳ２３０で改頁モードを通常モードかシンプルモードのいずれかに設定した後、この改頁モード設定ルーチンを終了する。
【００１９】
改ページモード設定ルーチンを実行したあと、図３のフローチャートに戻り、ＸＨＴＭＬ文書の解析を行う（ステップＳ１１０）。ＸＨＴＭＬ文書はテキストファイルの形で存在するため、そのままアプリケーションで利用することができないことから、ＸＨＴＭＬ文書をアプリケーションが利用しやすい形に変換するために解析を行い、ＤＯＭツリーを作成する。ＤＯＭツリーは、ＸＴＨＭＬ文書を構成している要素や属性、イメージデータなどを解析して木構造としたものである。図５は、図２のＤＬＮＡフォトテンプレートに基づいて作成したＤＯＭツリーの説明図である。続いて、ＸＨＴＭＬ文書の解析の結果得られたＤＯＭツリーをメモリ５０のＤＯＭツリー保存領域に保存し（ステップＳ１２０）、今回入力されたＸＨＴＭＬ文書のレイアウトを実行するようレイアウタ３８へ指令を出力し（ステップＳ１３０）、この文書解析ルーチンを終了する。
【００２０】
次に、レイアウタ３８により実行されるレイアウト実行ルーチンについて図６に基づいて説明する。図６はレイアウト実行ルーチンの一例を示すフローチャートである。このレイアウト実行ルーチンは、レイアウタ３８が文書解析部３０からＸＨＴＭＬ文書のレイアウトを実行するよう指令されたときに実行される。このルーチンが開始されると、レイアウタ３８は、まず、ＤＯＭツリーのボディ部分の最初の要素を読み出し（ステップＳ３００）、その要素に子要素があるか否かを判定し（ステップＳ３１０）、子要素があるときにはその子要素を読み出し（ステップＳ３２０）、再びステップＳ３１０に戻り、その子要素に更に子要素があるか否かを判定する。そして、それ以上子要素がないと判定されたとき、内部スタイルシートのうちその要素に関連づけられた設定内容に基づいてその要素の矩形領域を作成すると共にその矩形領域を指定位置に配置する（ステップＳ３３０）。図５のＤＯＭツリーの場合には、最下層に並ぶｉｍａｇｅ要素がそれ以上子要素のない要素であり、例えば図２に示すＤＬＮＡフォトテンプレートのボディ部分のｉｍａｇｅ要素のうちｓｒｃ属性で指定された画像ファイル（例えばｉｍａｇｅ１．ｊｐｇ）についてｃｌａｓｓ属性で指定された幅、高さ、マージン及び回転角度（例えばｉｍｇ．ｉｍｇ＿２３＿０ｄｅｇの設定値）となるような矩形領域を作成し、その矩形領域をｄｉｖ要素のｃｌａｓｓ属性で指定された絶対位置（例えばｄｉｖ．ｉｍｇ１の設定値）に配置する。
【００２１】
続いて、現在の改頁モードが通常モードかシンプルモードかを判定し（ステップＳ３４０）、現在の改頁モードがシンプルモードだったときには、入力されたＸＨＴＭＬ文書はＤＬＮＡフォトテンプレートを利用して作成されていることになっているため、強制改頁の指定が正しくなされていることになり、各要素の領域を指定位置に配置するごとにその領域が現在の頁に収まるか否かの判定を行う必要がないことから、先ほど矩形領域を作成した要素に強制改頁つまり「ｐａｇｅ＿ｂｒｅａｋ＿ａｆｅｒ：ａｌｗａｙｓ」の指定があるか否かを判定する（ステップＳ３７０）。そして、強制改頁の指定があるときにはその要素の直後で改頁処理を行いその頁のレイアウトをメモリ５０に保存する（ステップＳ３８０）。ステップＳ３７０で強制改頁の指定がなかったときやステップＳ３８０で改頁処理を行ったあと、今回のＤＯＭツリーのボディ部分に未処理の要素が残っているか否かを判定し（ステップＳ３９０）、未処理の要素が残っているときには次の要素を読み出し（ステップＳ４００）、再びステップＳ３１０に戻り、未処理の要素が残っていないときにはそのまま本ルーチンを終了する。一方、ステップＳ３４０で現在の改頁モードが通常モードだったときには、入力されたＸＨＴＭＬ文書はＤＬＮＡフォトテンプレートを使用して作成されたものではなく、強制改頁の指定が必ずしも正しくなされているとは限らないから、先ほど作成した矩形領域の座標位置が１頁分の領域の座標位置を超えるか否かを判定することによりその矩形領域が現在の頁に収まるか否かを判定する（ステップＳ３５０）。そして、現在の頁に収まるときには、既に述べたステップＳ３７０以降の処理を実行し、現在の頁に収まらないときには、その要素の直前で改頁処理を行いその頁のレイアウトをメモリ５０に保存し（ステップＳ３６０）、その後既に述べたステップＳ３９０へと移行する。
【００２２】
例えば、図２のＤＬＮＡフォトテンプレートを使用して作成したＸＨＴＭＬ文書を処理する場合には、改頁モードがシンプルモードに設定されているため、各要素について強制改頁の対象となっているか否かを判定すれば足りる。これに対して、図７に示すＸＨＴＭＬ文書は、ヘッダ部分にｂａｓｅ要素が存在せず、ｄｉｖ要素やｉｍｇ要素がそれぞれクラスセレクタで記述されてもいないことから、上述したテンプレート認定条件を満たさないものであり、ＤＬＮＡフォトテンプレートを使用して作成されていないとみなされるものであるから、各要素について強制改頁の対象となっているか否かを判定するだけでなく、各要素の矩形領域が現在の頁に収まるか否かを判定する必要がある。
【００２３】
その後、図示しない操作パネルから印刷実行指示が入力されると、ＲＰＩ４０が、レイアウタ３８によってメモリ５０に書き込まれた１頁ごとのレイアウトを用いてＲＧＢデータとしての印刷用画像を描画してメモリ５０の所定領域に格納し、色変換部４２が、印刷用画像をＣＭＹＫデータに色変換し、２値化部４４が、ＣＭＹＫデータを誤差拡散処理などの画像処理を行って２値化し、カラーインクジェットの印刷ヘッドを備える印刷実行部４８が、２値化されたデータをバンド単位でイメージバッファ４６から入力しながらカラー印刷を実行する。
【００２４】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のメモリ５０が本発明のデータ記憶手段及び送信元情報記憶手段に相当し、文書解析部３０が文書判定手段に相当し、レイアウタ３８がレイアウト実行手段及び記憶制御手段に相当し、ＲＰＩ４０，色変換部４２，２値化部４４，イメージバッファ４６及び印刷実行部４８が印刷実行手段に相当し、入力インタフェース２２が文書受信手段に相当する。なお、本実施形態では、マルチファンクションプリンタ２０の動作を説明することにより本発明の文書出力方法やそのプログラムの一例も明らかにしている。
【００２５】
以上詳述した本実施形態のマルチファンクションプリンタ２０によれば、ＤＬＮＡフォトテンプレートを使用して作成されたＸＨＴＭＬ文書については、改頁が必要な箇所に強制改頁が必ず指示されていることから各要素の矩形領域ごとに頁内に収まるか否かの判定を行わないため、レイアウトに必要となる時間が短くなりスループットが向上する。また、受信したＸＨＴＭＬ文書がＤＬＮＡフォトテンプレートを使用して作成されたものか否かの判定について、送信元がデジタルカメラ１４か携帯電話機１６であり且つデータパスがワイヤレスであるという条件を満たすか否かにより行ったり所定のフォトテンプレート認定条件を満たすか否かにより行ったりするため、容易且つ迅速に行うことができるし比較的精度よく行うことができる。
【００２６】
本発明の文書出力装置において、前記文書判定手段は、前記改頁付きテンプレートを使用して作成されたものであることを特定するための複数の条件を前記構造化文書が満たすか否かによって前記構造化文書が前記改頁付きテンプレートを使用して作成されたものか否かを判定してもよい。こうすれば、受信した構造化文書が改頁付きテンプレートを使用して作成されたものか否かの判定を精度よく行うことができる。
【００２７】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００２８】
例えば、上述した実施形態では、テンプレート認定条件を５つの条件としたが、特に５つに限定されるものではなく、６つ以上としてもよいし４つ以下としてもよい。また、条件の中身については、使用するテンプレートに応じて適宜決定すればよい。
【００２９】
上述した実施形態では、ＤＬＮＡフォトテンプレートのヘッダ部分に内部スタイルシートを記述したものを例示したが、ｌｉｎｋ要素により外部スタイルシートを参照するようにしてもよい。また、オブジェクトとしてイメージデータを取り上げたが、テキストデータや表データなどとしてもよい。
【００３０】
上述した実施形態では、構造化文書としてＸＨＴＭＬ文書とくにＸＨＴＭＬ−Ｐｒｉｎｔ文書を取り上げたが、他のマークアップ言語により記述された文書を採用してもよい。
【００３１】
上述した実施形態では、印刷実行部４８をカラーインクジェットの印刷ヘッドを備えるものとしたが、モノクロインクジェットの印刷ヘッドを備えるものとしてもよいし、カラーレーザプリンタやモノクロレーザプリンタとしてもよいし、ドットインパクトプリンタとしてもよい。
【００３２】
上述した実施形態では、マルチファンクションプリンタ２０に本発明を適用した例を示したが、頁ごとのレイアウトを有効に利用することのできる装置であれば、特にこれに限定されるものではなく、例えばスキャナを有さないプリンタに本発明を適用してもよいし、印刷機能を有さずディスプレイに頁ごとのレイアウトを表示出力する装置に本発明を適用してもよい。
【図面の簡単な説明】
【００３３】
【図１】マルチファンクションプリンタ２０の概略構成を表す説明図。
【図２】ＤＬＮＡフォトテンプレートの一例を示す説明図。
【図３】文書解析ルーチンのフローチャート。
【図４】改頁モード設定ルーチンのフローチャート。
【図５】ＤＯＭツリーの一例を示す説明図。
【図６】レイアウト実行ルーチンのフローチャート。
【図７】ＤＬＮＡフォトテンプレート以外のテンプレートの一例を示す説明図。
【符号の説明】
【００３４】
１０  パーソナルコンピュータ、１２  デジタルテレビ、１４  デジタルカメラ、１６  携帯電話機、２０  マルチファンクションプリンタ、２２  入力インタフェース、２４  信号処理部、３０  文書解析部、３８  レイアウタ、４０  ＲＰＩ、４２  色変換部、４４  ２値化部、４６  イメージバッファ、４８  印刷実行部、５０  メモリ。
【図１】
2007188163.tif 000003
【図２】
2007188163.tif 000004
【図３】
2007188163.tif 000005
【図４】
2007188163.tif 000006
【図５】
2007188163.tif 000007
【図６】
2007188163.tif 000008
【図７】
2007188163.tif 000009