(57)【要約】【課題】ＸＨＴＭＬデータで印刷指示を受けたデータをすべて印刷する。【解決手段】ページエリアとフッタエリアとを有し、フッタエリアの基準サイズが定められているテンプレートデータを記憶する記憶部１３と、ＸＨＴＭＬ文書を解析し、ページデータとフッタデータとを特定する解析部１１と、テンプレートデータ、ページデータ及びフッタデータに基づいて、印刷レイアウトを定めるレイアウト処理部１５と、レイアウト処理部１５で定められた印刷レイアウトに従った印刷を実行する印刷機構１８とを備える。レイアウト処理部１５は、テンプレートに従って、ページデータをページエリアに割り当て、フッタデータをフッタエリアに割り当てた結果、フッタデータが、基準サイズのフッタエリアに収まらない場合、フッタデータがすべて印刷されるように、テンプレートを修正する。【選択図】  図１
2007160851.tif 000002
【特許請求の範囲】
【請求項１】
第１エリアと第２エリアとを有し、前記第２エリアの基準サイズが定められているテンプレートに関するテンプレートデータを記憶する記憶部と、
ＸＨＴＭＬ(eXtensible HyperText Markup Language)文書を解析し、前記第１エリアに印刷する第１データと、前記第２エリアに印刷する第２データとを特定する解析部と、
前記テンプレートデータ、前記第１データ及び前記第２データに基づいて、印刷レイアウトを定めるレイアウト処理部と、
前記レイアウト処理部で定められた印刷レイアウトに従った印刷を実行する印刷機構とを備え、
前記レイアウト処理部は、前記テンプレートに従って、前記第１データを前記第１エリアに割り当て、前記第２データを前記第２エリアに割り当てた結果、前記第２データが、前記基準サイズの前記第２エリアに収まらない場合、前記第２データがすべて印刷されるように、前記テンプレートを修正して印刷レイアウトを定めることを特徴とするプリンタ。
【請求項２】
前記レイアウト処理部は、
前記第２データが前記第２エリアにすべて収まるように、前記第２エリアを拡張することを特徴とする請求項１記載のプリンタ。
【請求項３】
前記レイアウト処理部は、
前記第１データが割り当てられた第１エリア及び前記拡張された第２エリアが、１ページに収まらないときは、前記第１エリアを縮小して、１ページ内で印刷可能とすることを特徴とする請求項２記載のプリンタ。
【請求項４】
前記レイアウト処理部は、
前記第２データを複数に分割し、分割された第２データを、複数ページの第２エリアに割り当てることを特徴とする請求項１記載のプリンタ。
【請求項５】
前記第２エリアはヘッダエリアまたはフッタエリアであることを特徴とする請求項１〜４のいずれかに記載のプリンタ。
【請求項６】
第１エリアと第２エリアとを有し、前記第２エリアの基準サイズが定められているテンプレートに印刷を行うための方法であって、
ＸＨＴＭＬ(eXtensible HyperText Markup Language)文書を解析し、前記第１エリアに印刷する第１データと、前記第２エリアに印刷する第２データとを特定するステップと、
前記テンプレートに関するテンプレートデータ、前記第１データ及び前記第２データに基づいて、印刷レイアウトを定めるステップと、
前記レイアウト処理部で定められた印刷レイアウトに従った印刷を実行するステップとを有し、
前記印刷レイアウトを定めるステップは、前記テンプレートに従って、前記第１データを前記第１エリアに割り当て、前記第２データを前記第２エリアに割り当てた結果、前記第２データが、前記基準サイズの前記第２エリアに収まらない場合、前記第２データがすべて印刷されるように、前記テンプレートを修正して印刷レイアウトを定めることを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め保持しているテンプレートに所定のデータを挿入して印刷を行うプリンタに関する。
【背景技術】
【０００２】
従来、ＣＳＳ（Cascading Style Sheets）で記述されたテンプレートを予め保持していて、ＸＨＴＭＬ(eXtensible HyperText Markup Language)データを受け付けて、このテンプレートに画像などを貼り付けて印刷を行うプリンタがある。
【特許文献１】特開２００５−１１１７９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このプリンタでは、さらに、テンプレートの予め定められたエリアにＸＨＴＭＬデータで指定されたテキストを挿入して印刷を行うこともできる。
【０００４】
このとき、例えばヘッダまたはフッタエリアに印刷すべきデータとして指定されたヘッダデータまたはフッタデータ量が、予め定められているそれぞれのエリアサイズよりも多いと、オーバーフローして一部が印刷されないという問題がある。
【０００５】
そこで、本発明の目的は、ＸＨＴＭＬデータで印刷指示を受けたデータをすべて印刷するための技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一実施態様に従うプリンタは、第１エリアと第２エリアとを有し、前記第２エリアの基準サイズが定められているテンプレートに関するテンプレートデータを記憶する記憶部と、ＸＨＴＭＬ(eXtensible HyperText Markup Language)文書を解析し、前記第１エリアに印刷する第１データと、前記第２エリアに印刷する第２データとを特定する解析部と、前記テンプレートデータ、前記第１データ及び前記第２データに基づいて、印刷レイアウトを定めるレイアウト処理部と、前記レイアウト処理部で定められた印刷レイアウトに従った印刷を実行する印刷機構とを備える。そして、前記レイアウト処理部は、前記テンプレートに従って、前記第１データを前記第１エリアに割り当て、前記第２データを前記第２エリアに割り当てた結果、前記第２データが、前記基準サイズの前記第２エリアに収まらない場合、前記第２データがすべて印刷されるように、前記テンプレートを修正して印刷レイアウトを定める。
【０００７】
これにより、第２データが基準サイズの第２エリアに収まらない場合であっても、全第２データを確実に印刷することができる。
【０００８】
好適な実施形態では、前記レイアウト処理部は、前記第２データが前記第２エリアにすべて収まるように、前記第２エリアを拡張するようにしてもよい。
【０００９】
好適な実施形態では、前記レイアウト処理部は、前記第１データが割り当てられた第１エリア及び前記拡張された第２エリアが、１ページに収まらないときは、前記第１エリアを縮小して、１ページ内で印刷可能としてもよい。
【００１０】
好適な実施形態では、前記レイアウト処理部は、前記第２データを複数に分割し、分割された第２データを、複数ページの第２エリアに割り当てることも可能である。
【００１１】
好適な実施形態では、前記第２エリアはヘッダエリアまたはフッタエリアであってもよい。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態に係るプリンタについて、図面を参照して説明する。
【００１３】
図１は、本実施形態に係るプリンタ１の機能構成を示す図である。
【００１４】
同図に示すプリンタ１は、ＰＣ、デジタルカメラ、携帯電話機などのプリンタホスト８からＸＨＴＭＬ(eXtensible HyperText Markup Language)で記述されたデータを受信して、このＸＨＴＭＬデータに従った印刷を実行する。プリンタホスト８からは、印刷対象となる画像データを、ＸＨＴＭＬデータとともにプリンタ１へ送信してもよいし、画像データはプリンタ１内に予め保持していてもよい。
【００１５】
プリンタ１は、ＸＨＴＭＬデータの構文解析を行う解析部１１と、テンプレートに関するデータを記憶したテンプレートデータ記憶部１３と、解析部１１による構文解析結果に従って、指定されたテンプレートに指定されたデータを割り当てて印刷レイアウトを決定するレイアウト処理部１５と、印刷ヘッド、紙送り機構などを備え、印刷媒体に印刷を行う印刷機構１８とを備える。
【００１６】
テンプレートデータ記憶部１３には、例えば、種々のテンプレートに関するデータが格納されている。このテンプレートは、例えばＣＳＳ（Cascading Style Sheets）で記述されていてもよい。
【００１７】
ここで図２（ａ）には、テンプレートデータ記憶部１３に格納されているテンプレートデータによって構成されるテンプレート５０の一例を示す。
【００１８】
テンプレート５０は、所定の用紙サイズエリアに複数のデータエリア５１，５２が設けられているとともに、それらの周囲にはマージンエリア５３が定められている。すなわち、同図の例では、データエリアとして、ページエリア５１と、フッタエリア５２とが設けられている。
【００１９】
ここで、フッタエリア５２は、基準となるサイズ（高さ及び幅）が予め定められている。そして、原則として、基準サイズのフッタエリア５２内に、指定されたデータが割り当てられる。そして、フッタエリア５２及び上下のマージンエリア５３を除いた領域にページエリア５１が割り当てられる。
【００２０】
ただし、フッタエリア５２のサイズを、基準サイズのまま固定とするか、あるいは、可変（フッタ優先）とするかは、あらかじめ設定することが可能である。
【００２１】
再び図１を参照すると、解析部１１は、プリンタホスト８から送られてくるＸＨＴＭＬデータを解析する。ここで、ＸＨＴＭＬデータには、テンプレートデータ記憶部１３に格納されているいずれのテンプレートを利用するかを示すテンプレートの指定と、その指定されたテンプレート内のデータエリアに割り当てるデータが示されている。従って、解析部１１は、ＸＨＴＭＬデータを解析して利用するテンプレートを特定するとともに、そのテンプレート内の各データエリアに割り当てるデータを特定する。
【００２２】
例えば、図２に示すテンプレート５０を利用する場合、解析部１１はＸＨＴＭＬデータを解析して、ページエリア５１に割り当てるページデータ及びフッタエリア５２に割り当てるフッタデータを特定する。
【００２３】
レイアウト処理部１５は、解析部１１から解析結果の通知を受けて、その解析結果に従った印刷レイアウトを決定する。例えば、上記の例であれば、レイアウト処理部１５がテンプレートデータ記憶部１３から図２に示すレイアウト５０のためのレイアウトデータを取得するとともに、ページデータ及びフッタデータを取得して、印刷レイアウトを合成する。
【００２４】
ここで、例えば、図２（ｂ）に示すように、フッタデータの量が大きく、基準サイズのフッタエリア５２には収まり切らない場合には、上述のフッタ優先が設定されていれば、レイアウト処理部１５は、フッタデータがすべて印刷されるように、テンプレートを修正する。
【００２５】
例えば、レイアウト処理部１５は、フッタエリア５２にフッタデータを割り当てたときに必要な高さを予測する。そして、予測されたフッタエリア５２の高さが基準高さを超えるときは、所定の修正を行う。
【００２６】
その修正態様の具体例を、図３に示す。
【００２７】
例えば、同図（ａ）に示すように、レイアウト処理部１５は、フッタエリア５２にすべてのフッタデータが収まるように、フッタエリア５２の高さを高くし、フッタエリア５２を拡張する。
【００２８】
このとき、さらに、レイアウト処理部１５は、ページデータをページエリア５１に割り当てたときに必要な高さを予測する。そして、ページエリア５１の高さとフッタエリア５２の高さと、上下のマージンエリア５３の和が、ページの高さよりも大きいときは、ページエリア５１を縮小し、上下のマージンエリア５３を確保し、かつ、ページエリア５１及び拡張されたフッタエリア５２が１ページに収まるようにする。例えば、ページデータが画像データであるようなときは、縮小表示される。
【００２９】
この場合、ページデータに後続があれば、２ページ以降は、周囲にマージンエリア５３が確保され、ページエリア５１のみが割り当てられる。
【００３０】
また、ページエリア５１の高さとフッタエリア５２の高さと、上下のマージンエリア５３の和が、ページの高さよりも大きい場合には、同図（ｂ）に示すように、ページデータを分割し、複数ページに分けてレイアウトしてもよい。例えば、ページデータがテキストデータのときは、分割が可能である。
【００３１】
さらに、この場合には、フッタデータも分割するようにしてもよい。つまり、ページデータ及びフッタデータが、いずれも複数ページに分割して印刷される。フッタデータを分割する場合には、各ページのフッタエリア５２の高さを基準サイズのときよりも高くしてもよいし、基準サイズのままでもよい。
【００３２】
次に、図４及び５に示すフローチャートを用いて、レイアウト処理部１５が行う処理手順を説明する。
【００３３】
まず、レイアウト処理部１５は、フッタエリア５２のサイズの自動調整を行うフッタ優先指定がされているか否かを判定する（Ｓ１１）。フッタ優先指定がされていないときは、（Ｓ１１：Ｎｏ）、レイアウト処理部１５がフッタエリア５２を基準サイズにしたままで、レイアウトを行って印刷する（Ｓ１２）。
【００３４】
フッタ優先指定がされているときは、（Ｓ１１：Ｙｅｓ）、レイアウト処理部１５がフッタデータに基づいて、フッタエリア５２に必要な高さを予測する（Ｓ１３）。そして、レイアウト処理部１５は、予測した高さとフッタエリア５２の基準高さとを比較する（Ｓ１４）。予測高さがフッタエリア５２の基準高さを超えていないときは（Ｓ１４：Ｎｏ）、レイアウト処理部１５がフッタエリア５２を基準サイズにしたままで、レイアウトを行って印刷する（Ｓ１５）。
【００３５】
予測高さが基準高さを超えているときは（Ｓ１４：Ｙｅｓ）、レイアウト処理部１５がページデータに基づいて、ページエリア５１に必要な高さを予測する（Ｓ２１）。そして、レイアウト処理部１５は、予測したページエリア５１の高さとフッタエリア５２の高さと上下のマージンエリア５３の高さとの和と、ページ高さとを比較する（Ｓ２２）。そして、予測したページエリア５１の高さとフッタエリア５２の高さと上下のマージンエリア５３の高さとの和が、ページ高さを超えないときは（Ｓ２２：Ｎｏ）、フッタエリア５２に全フッタデータが収容されるように、フッタエリア５２の高さを拡大し、レイアウトを行って印刷する（Ｓ２３）。
【００３６】
一方、予測したページエリア５１の高さとフッタエリア５２の高さと上下のマージンエリア５３の高さとの和が、ページ高さを超えるときは（Ｓ２２：Ｙｅｓ）、レイアウト処理部１５は、ページデータの分割が可能であるか判定する（Ｓ２４）。ページデータの分割が不可能であるときは、（Ｓ２４：Ｎｏ）、１ページに収まるようにページデータを縮小して、ステップＳ２３へ遷移する（Ｓ２５）。
【００３７】
また、ページデータの分割が可能であるときは（S２４：Ｙｅｓ）、ページデータ及びフッタデータの双方を分割し、それぞれを複数ページに分割してレイアウトし、複数ページを印刷する（Ｓ２６）。
【００３８】
これにより、フッタデータのデータ量が多く、基準サイズのフッタエリアに収まらないときであっても、すべてのフッタデータを印刷することができるようになる。
【００３９】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００４０】
例えば、上述した実施形態では、フッタエリアを例に説明したが、ヘッダなどのこれ以外のエリアであっても同様に適用することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態に係るプリンタ１の機能構成を示す。
【図２】テンプレートの一例を示す。
【図３】全フッタデータを印刷するための修正レイアウトの例を示す。
【図４】レイアウト処理部１５が行う処理手順を示すフローチャートである。
【図５】レイアウト処理部１５が行う処理手順を示すフローチャートである。
【符号の説明】
【００４２】
１…プリンタ、８…プリンタホスト、１１…解析部、１３…テンプレートデータ記憶部、１５…レイアウト処理部、１８…印刷機構、５０…テンプレート、５１…ページエリア、５２…フッタエリア、５３…マージンエリア。
【図１】
2007160851.tif 000003
【図２】
2007160851.tif 000004
【図３】
2007160851.tif 000005
【図４】
2007160851.tif 000006
【図５】
2007160851.tif 000007