(57)【要約】【課題】ポジション指定としてfixedの指定を含むＸＨＴＭＬ文書を、ユーザの本来の意図を反映させるように印刷を行う。【解決手段】プリンタ１は、ＸＨＴＭＬ文書を解析する解析部１１と、解析部１１の解析結果に基づいてレイアウトを行うレイアウタ１３と、レイアウタ１３によるレイアウト結果をチェックするレイアウトチェッカ１４とを備える。ＸＨＴＭＬ文書での指示に、ポジション指定として"fixed"指定されたエリア定義を含むテンプレートと、前記テンプレートに定義された一つ以上のエリアに、ページごとにそれぞれデータを割り当てたページ指示とを含む場合、レイアウタ１３は、ページ指示に従ってページごとにレイアウトした後、レイアウトチェッカ１４により、"fixed"指定されたエリアと他のエリアのうちの一つ以上が重なることが検出されると、所定のルールに従って再レイアウトする。【選択図】図１
2007164666.tif 000002
【特許請求の範囲】
【請求項１】
ＸＨＴＭＬ(eXtensible HyperText Markup Language)文書で指示された印刷レイアウトで印刷を行うプリンタであって、
前記ＸＨＴＭＬ文書を解析する解析部と、
前記解析部の解析結果に基づいてレイアウトを行うレイアウタと、
前記レイアウタによるレイアウト結果をチェックするレイアウトチェッカとを備え、
前記ＸＨＴＭＬ文書での指示に、複数のエリア定義を含むテンプレートと、複数ページの印刷指示であって、前記テンプレートに定義された一つ以上のエリアに、ページごとにそれぞれデータを割り当てたページ指示と、を含み、かつ、前記複数のエリア定義のうちの少なくとも一つには、ポジション指定として"fixed"が含まれている場合、
前記レイアウタは、前記ページ指示に従って各ページの前記エリアにデータを割り当ててページごとにレイアウトした後、前記レイアウトチェッカにより、前記"fixed"指定されたエリアと他のエリアのうちの一つ以上が重なることが検出されると、所定のルールに従って再レイアウトすることを特徴とするプリンタ。
【請求項２】
プレビュー画面を表示させる表示装置と、
前記レイアウトチェッカにより検出された重なりが、第１及び第２のエリアで構成されている場合、前記第１のエリアを前面に表示させた第１のプレビュー画面と、前記第２のエリアを前面に表示させた第２のプレビュー画面とを前記表示装置に表示させて、いずれか一方をユーザに選択させる選択手段と、をさらに備え、
前記レイアウタは、前記選択手段で選択されたプレビュー画面と同様に再レイアウトすることを特徴とする請求項１記載のプリンタ。
【請求項３】
前記レイアウトチェッカにより、画像が割り当てられている第１のエリアと、文字が割り当てられている第２のエリアとが重なっていることが検出された場合、
前記画像の面積が第１の所定値以上であれば、前記選択手段による選択を受け付けることなく、前記レイアウタが、前記第２のエリアが前記第１のエリアよりも前面に表示されるように再レイアウトすることを特徴とする請求項２記載のプリンタ。
【請求項４】
前記画像の面積が前記第１の所定値以上でないならば、前記選択手段による選択に基づいて、前記レイアウタが再レイアウトすることを特徴とする請求項３記載のプリンタ。
【請求項５】
前記画像の面積が、さらに、前記第１の所定値より小さい第２の所定値より小さければ、前記レイアウタは再レイアウトを行わないことを特徴とする請求項５記載のプリンタ。
【請求項６】
前記レイアウトチェッカにより、画像が割り当てられている第１のエリアと、文字が割り当てられている第２のエリアとが重なっていることが検出された場合、
前記レイアウタは、前記"fixed"指定に関わらず、前記第２のエリアが前記第１のエリアよりも前面に表示されるように再レイアウトをすることを特徴とする請求項１記載のプリンタ。
【請求項７】
ＸＨＴＭＬ(eXtensible HyperText Markup Language)文書で指示された印刷レイアウトで印刷を行うための方法であって、
前記ＸＨＴＭＬ文書を解析するステップと、
前記ＸＨＴＭＬ文書での指示に、複数のエリア定義を含むテンプレートと、複数ページの印刷指示であって、前記テンプレートに定義された一つ以上のエリアに、ページごとにそれぞれデータを割り当てたページ指示と、を含み、かつ、前記複数のエリア定義のうちの少なくとも一つには、ポジション指定として"fixed"が含まれている場合、前記解析結果に基づいてレイアウトを行うステップと、
前記レイアウタによるレイアウト結果をチェックするステップと、
前記レイアウト結果のチェックを行い、前記"fixed"指定されたエリアと他のエリアのうちの一つ以上が重なることが検出されると、所定のルールに従って再レイアウトするステップと、を有する印刷レイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＨＴＭＬ文書の指示に従ってレイアウトを行って印刷を行うプリンタに関し、特にポジション指定としてfixedの指定を含むＸＨＴＭＬ文書に基づくレイアウトをする技術に関する。
【背景技術】
【０００２】
従来、ＸＨＴＭＬ(eXtensible HyperText Markup Language)データを受け付けて、これを解釈して印刷を行うプリンタがある。例えば、ＸＨＴＭＬ文書には、複数のエリアが配置されているテンプレートの定義と、各エリアに割り当てるデータの指定とが含まれている場合、それに従った印刷が行われる。
【特許文献１】特開２００４−１１４３２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ここで、ＸＨＴＭＬ文書において、テンプレートに含まれるエリアは、ポジション指定によりそれぞれの位置が指定されている。このポジション指定には(1)static、(2)relative、(3)absolute及び(4)fixedの４タイプがある。このうち、(4)fixedは、印刷ページが複数になる場合には、全ページに対して同一位置、同一内容で配置される。一方、(1)〜(3)の指定の場合、印刷ページが複数になる場合には、各ページについて、それぞれデータの割り当て等を記述する必要がある。
【０００４】
このため、fixedが指定されているエリアと他のエリアとの重なりが生じる可能性があり、これは、必ずしもユーザが意図しないものである場合もある。
【０００５】
そこで、本発明の目的は、ポジション指定としてfixedの指定を含むＸＨＴＭＬ文書を、ユーザの本来の意図を反映させるように印刷を行うプリンタを提供することである。
【課題を解決するための手段】
【０００６】
本発明の一実施態様に従う、ＸＨＴＭＬ(eXtensible HyperText Markup Language)文書で指示された印刷レイアウトで印刷を行うプリンタは、前記ＸＨＴＭＬ文書を解析する解析部と、前記解析部の解析結果に基づいてレイアウトを行うレイアウタと、前記レイアウタによるレイアウト結果をチェックするレイアウトチェッカとを備え、前記ＸＨＴＭＬ文書での指示に、複数のエリア定義を含むテンプレートと、複数ページの印刷指示であって、前記テンプレートに定義された一つ以上のエリアに、ページごとにそれぞれデータを割り当てたページ指示と、を含み、かつ、前記複数のエリア定義のうちの少なくとも一つには、ポジション指定として"fixed"が含まれている場合、前記レイアウタは、前記ページ指示に従って各ページの前記エリアにデータを割り当ててページごとにレイアウトした後、前記レイアウトチェッカにより、前記"fixed"指定されたエリアと他のエリアのうちの一つ以上が重なることが検出されると、所定のルールに従って再レイアウトする。
【０００７】
これにより、ＸＨＴＭＬ文書で、"fixed"指定されたエリアと他のエリアが重なってしまったときには、それを修正して印刷することができる。
【０００８】
好適な実施形態では、プレビュー画面を表示させる表示装置と、前記レイアウトチェッカにより検出された重なりが、第１及び第２のエリアで構成されている場合、前記第１のエリアを前面に表示させた第１のプレビュー画面と、前記第２のエリアを前面に表示させた第２のプレビュー画面とを前記表示装置に表示させて、いずれか一方をユーザに選択させる選択手段と、をさらに備える。そして、前記レイアウタは、前記選択手段で選択されたプレビュー画面と同様に再レイアウトするようにしてもよい。
【０００９】
これにより、ユーザに確認をとってから印刷することができるようになり、無駄な印刷を行わずに済む。
【００１０】
好適な実施形態では、前記レイアウトチェッカにより、画像が割り当てられている第１のエリアと、文字が割り当てられている第２のエリアとが重なっていることが検出された場合、前記画像の面積が第１の所定値以上であれば、前記選択手段による選択を受け付けることなく、前記レイアウタが、前記第２のエリアが前記第１のエリアよりも前面に表示されるように再レイアウトするようにしてもよい。
【００１１】
これにより、大きな画像と文字とが重なっていたときは、自動的に画像を背面に、文字をその前面に印刷することができる。
【００１２】
さらにこのときに、前記画像の面積が前記第１の所定値以上でないならば、前記選択手段による選択に基づいて、前記レイアウタが再レイアウトするようにしてもよい。
【００１３】
さらに、前記画像の面積が、さらに、前記第１の所定値より小さい第２の所定値より小さければ、前記レイアウタは再レイアウトを行わないようにしてもよい。
【００１４】
好適な実施形態では、前記レイアウトチェッカにより、画像が割り当てられている第１のエリアと、文字が割り当てられている第２のエリアとが重なっていることが検出された場合、前記レイアウタは、前記"fixed"指定に関わらず、前記第２のエリアが前記第１のエリアよりも前面に表示されるように再レイアウトをするようにしてもよい。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態に係るプリンタについて、図面を参照して説明する。
【００１６】
図１は、本実施形態に係るプリンタ１の機能構成を示す図である。
【００１７】
同図に示すプリンタ１は、ＰＣ、デジタルカメラ、携帯電話機などのプリンタホスト８からＸＨＴＭＬ(eXtensible HyperText Markup Language)で記述されたデータを受信して、このＸＨＴＭＬ文書に従った印刷を実行する。プリンタホスト８からは、印刷対象となる画像データを、ＸＨＴＭＬ文書とともにプリンタ１へ送信してもよいし、画像データはプリンタ１内に予め保持していてもよい。
【００１８】
プリンタ１は、ＸＨＴＭＬ文書の構文解析を行う解析部１１と、解析部１１による構文解析結果に従ってデータを割り当てて印刷レイアウトを決定するレイアウタ１３と、レイアウタ１３のレイアウト結果をチェックするレイアウトチェッカ１４と、印刷レイアウトに従って印刷画像を合成してビットマップデータを生成するレンダラ１５と、プリンタ１のユーザインタフェースである操作パネル１６と、操作パネル１６を制御するパネル制御部１７と、印刷ヘッド、紙送り機構などを備え、レンダラ１５により生成されたビットマップデータに基づいて印刷を行う印刷機構１９とを備える。
【００１９】
解析部１１は、プリンタホスト８から送られてくるＸＨＴＭＬ文書を解析する。
【００２０】
図２は、解析部１１で解析されるＸＨＴＭＬ文書１００の一例を示す図である。
【００２１】
同図に示すＸＨＴＭＬ文書１００は、印刷レイアウトを決定するためのテンプレートを示すテンプレート定義部１１０と、テンプレートに割り当てるデータを指定した印刷指示部１２０とを含む。
【００２２】
ここで、図３はテンプレート定義部１１０で定義されたテンプレート５０を示す。
【００２３】
図３を併せて参照しながら説明を続けると、テンプレート定義部１１０には、テンプレート５０を構成する複数のエリア５１〜５４についてのエリア定義１１１〜１１４が含まれている。すなわち、エリア定義１１１(frame)がエリア５１、エリア定義１１２(image)がエリア５２、エリア定義１１３(header)がエリア５３、エリア定義１１４(name)がエリア５４と対応する。
【００２４】
また、各エリア定義１１１〜１１４には、各エリア５１〜５４が配置される位置を指定するためのポジション指定A〜Dが含まれている。このポジション指定には、(1)static（通常の配置）、(2)relative（通常の配置に対して相対的に配置される）、(3)absolute（包含ブロックとの距離として指定される）及び(4)fixed（ボックスの位置は絶対配置モデルに従って計算される、スクロールしても移動しない）の４タイプがある。
【００２５】
ここで、(4)fixedが指定されたエリアは、印刷ページが複数になる場合には、全ページに対して同一位置、同一内容で配置される。上記の例では、エリア定義１１３(header)のポジション指定はfixedとなっている。
【００２６】
なお、ここでは、各エリアの奥行き方向（ｚ方向）の上下関係を示すz-indexは指定されていない。
【００２７】
印刷指示部１２０では、ページごとに、テンプレート定義部１１０で定義された各エリアに対するデータの割り当てが行われている。つまり、印刷指示部１２０には、ページ別印刷指示１２１〜１２３が含まれている。
【００２８】
また、印刷指示部１２０では、テンプレート定義部１１０でfixedが指定されたエリア（header）５３に対するデータの割り当てである、ページ共通印刷指示１２４も記述されている。これは、上述のように、fixedが指定されたエリアは、全ページに同一位置、同一内容でレイアウトされるので、一つの記述で足りるからである。
【００２９】
改めて図１を参照すると、レイアウタ１３は、解析部１１の解析結果に従って、ページごとに各エリア５１〜５４にデータを割り当てて、印刷レイアウトを生成する。また、レイアウタ１３は、後述するように、レイアウトチェッカ１４によるチェック結果、または、ユーザの指示に従って、再レイアウトを行う。
【００３０】
レイアウトチェッカ１４は、レイアウタ１３のレイアウト結果を検証し、各エリア５１〜５４に割り当てられたデータに重なりがあるか否かをチェックする。特に、レイアウトチェッカ１４は、文字が割り当てられているエリアと画像が割り当てられているエリアの重なりを検出する。
【００３１】
レンダラ１５は、レイアウタ１３のレイアウト結果に基づいて、レンダリングを行う。さらに、レンダラ１５は、後述するＬＣＤ１６１に表示するプレビュー用の画像も合成する。
【００３２】
パネル制御部１７は、操作パネル１６を制御し、ＬＣＤ１６１に種々の画面を表示させたり、操作ボタン１６２の入力操作を受け付けたりする。例えば、パネル制御部１７は、後述するような選択画面を表示させて、ユーザからの選択を受け付ける。
【００３３】
上記構成を備えたプリンタ１で、図２に示すＸＨＴＭＬ文書が処理されると、以下のような動作が行われる。すなわち、まず、解析部１１がＸＨＴＭＬ文書を解析した後、この解析結果に従って、レイアウタ１３がレイアウトを行う。
【００３４】
そのレイアウト結果が、図４（ａ）〜（ｃ）に示す３ページの印刷画像である。ここで、図４（ｃ）に示す３ページ目では、エリア５３に割り当てられた「撮影旅行」とエリア５２に割り当てられた「画像３」とが重なって表示されている。
【００３５】
レイアウトチェッカ１４は、上記重なりを検出する。レイアウトチェッカ１４は、この重なりを検出すると、重ね表示の態様が異なる２つのプレビュー画像（同図のように文字が前面になっているものと、文字が背面に隠れているもの）を生成して、次に説明する選択画面を用いてユーザに選択させる。
【００３６】
図５は、選択画面２００の一例を示す図である。
【００３７】
この選択画面２００は、レイアウトチェッカ１４がレイアウトの重なりを検出したときに、重ね表示の態様をユーザに選択させるための画面であり、パネル制御部１７を介してＬＣＤ１６１に表示される。同図の場合、選択画面２００は、プレビュー画像表示領域２１０と、候補選択ボタン２２０と、ＯＫボタン２３０と、このページの印刷をスキップさせるスキップボタン２４０と、印刷を中止させる中止ボタン２５０とを備える。
【００３８】
そして、同図（ａ）に示すプレビュー画像は、「撮影旅行」を前面に表示させていて、同図（ｂ）に示すプレビュー画像は、「撮影旅行」を前面に表示させている。ユーザは、このうちから所望する重ね表示の態様を選択することができる。
【００３９】
なお、プリンタ１には、選択画面２００によってユーザに選択されるユーザ選択モードと、指定された通りに印刷を実行する自動印刷モードとを備えるようにしてもよい。
【００４０】
次に、図６に示すフローチャートを用いて、プリンタ１の第１の処理手順を説明する。
【００４１】
まず、解析部１１がＸＨＴＭＬ文書を解析する（Ｓ１１）。
【００４２】
レイアウタ１３は、解析部１１の解析結果に従って１ページ分のレイアウトを行う（Ｓ１２）。
【００４３】
ここで、印刷モードが自動印刷モードである場合は、レイアウタ１３のレイアウト結果に従って、印刷機構１９がそのページをそのまま印刷する（Ｓ１３，Ｓ１４）。
【００４４】
一方、印刷モードがユーザ確認モードである場合は、レイアウトチェッカ１４がレイアウトの重なりをチェックする（Ｓ１５）。そして、画像に隠れてしまう文字があるときは（Ｓ１５：Ｙｅｓ）、上述の選択画面２００をＬＣＤ１６１に表示させる（Ｓ１６）。
【００４５】
選択画面２００において、ユーザが一つのプレビュー画像を選択したときは、その選択された重ね表示態様に従って、レイアウタ１３が再レイアウトを行い、印刷が行われる（Ｓ１８）。
【００４６】
選択画面２００において、印刷スキップが選択されたときは、そのページをスキップする。
【００４７】
そして、以上の処理をすべてのページに対して実行する（Ｓ１９）。
【００４８】
この結果、あるエリアに割り当てられたデータと、他のエリアに割り当てられたデータとが重なってしまった場合でも、ユーザの所望する印刷態様を、印刷実行前にユーザ自身が確認することができ、無駄な印刷を防止することができる。特に、ポジション指定としてfixedが指定されているエリアの場合、このような重なりが生じ易いが、このときにも有効である。
【００４９】
次に、図７に示すフローチャートを用いて、プリンタ１の第２の処理手順を説明する。
【００５０】
ステップＳ１１〜Ｓ１４までは、第１の処理手順と同様である。
【００５１】
ステップＳ１４で画像に隠れる文字がないときは、そのまま印刷が行われる（Ｓ２８）。
【００５２】
ステップＳ１４で画像に隠れる文字があるときは、重なりを構成するエリアの少なくとも一方のポジション指定がfixedであるか否かを判定する（Ｓ２１）。いずれのエリアもfixedでないときは（Ｓ２１：Ｎｏ）、ステップＳ２８へ移行する。
【００５３】
いずれかのポジション指定がfixedである場合（Ｓ２１：Ｙｅｓ）、レイアウトチェッカ１４は、重なりを構成する画像の面積と用紙の面積を算出する（Ｓ２２）。そして、印刷用紙に対する画像の比率を算出する（Ｓ２３）。そして、この比率が第１の閾値よりも大きいか否かを判定する（Ｓ２４）。
【００５４】
この比率が第１の閾値よりも大きいときは（Ｓ２４：Ｙｅｓ）、レイアウタ１３が、文字が画像よりも前面に来るように配置して、印刷を行う（Ｓ２５）。
【００５５】
また、この比率が第１の閾値よりも大きくないときは（Ｓ２４：Ｎｏ）、さらに、その比率が第２の閾値よりも大きいか否かを判定する（Ｓ２６）。そして、この比率が第２の閾値よりも大きいときは（Ｓ２６：Ｙｅｓ）、選択画面２００を表示させて、ユーザに選択された重ね表示態様に従って、印刷を行う（Ｓ２７）。
【００５６】
この比率が第２の閾値よりも大きくないときは（Ｓ２６：Ｎｏ）、ステップＳ２８へ移行する。
【００５７】
そして、以上の処理をすべてのページに対して実行する（Ｓ２９）。
【００５８】
これにより、重なりを構成する画像の面積が所定値以上であれば、自動的に画像を背面、文字を前面として印刷を行うことができる。この場合は、画像の上に文字を配置するのがユーザの所望した配置である可能性が高いと考えられるので、ユーザに確認することなく、自動レイアウトを行うようにしたものである。
【００５９】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【００６０】
【図１】本実施形態に係るプリンタ１の機能構成を示す。
【図２】ＸＨＴＭＬ文書１００の一例を示す。
【図３】テンプレート５０の一例を示す。
【図４】テンプレートにデータを割り当てたレイアウトの例を示す。
【図５】選択画面２００の一例を示す。
【図６】プリンタ１の第１の処理手順を示すフローチャートである。
【図７】プリンタ１の第２の処理手順を示すフローチャートである。
【符号の説明】
【００６１】
１…プリンタ、８…プリンタホスト、１１…解析部、１３…レイアウタ、１４…レイアウトチェッカ、１５…レンダラ、１６…操作パネル、１７…パネル制御部、１９…印刷機構。
【図１】
2007164666.tif 000003
【図２】
2007164666.tif 000004
【図３】
2007164666.tif 000005
【図４】
2007164666.tif 000006
【図５】
2007164666.tif 000007
【図６】
2007164666.tif 000008
【図７】
2007164666.tif 000009