JP4165366B2 - 文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置 - Google Patents

文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置 Download PDF

Info

Publication number
JP4165366B2
JP4165366B2 JP2003357872A JP2003357872A JP4165366B2 JP 4165366 B2 JP4165366 B2 JP 4165366B2 JP 2003357872 A JP2003357872 A JP 2003357872A JP 2003357872 A JP2003357872 A JP 2003357872A JP 4165366 B2 JP4165366 B2 JP 4165366B2
Authority
JP
Japan
Prior art keywords
specified
layout
document
structured document
width
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003357872A
Other languages
English (en)
Other versions
JP2005122539A (ja
Inventor
裕隆 赤松
茂樹 数馬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003357872A priority Critical patent/JP4165366B2/ja
Publication of JP2005122539A publication Critical patent/JP2005122539A/ja
Application granted granted Critical
Publication of JP4165366B2 publication Critical patent/JP4165366B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置に関し、詳しくは、所定の書式で記述された構造化文書を解析して出力する文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置に関する。
従来、この種の文書解析装置としては、HTML(Hyper Text Markup Language)などのマークアップ言語で記述された構造化文書の指定を受け付けて文書中の要素を解析し、解析した要素をレイアウトして表示するものが種々提案されている(例えば、特許文献1参照)。この装置では、構造化文書中で表組みの指定がなされた要素が存在するときには、表を構成する要素をその要素に指定されたスタイルで表としてレイアウトしている。
特開2000−242641号公報
上述の文書解析装置では、表を構成する要素を解析してレイアウトする際に、レイアウトを行えずに破綻する場合がある。例えば、構造化文書中に表組みの指定に伴って表を構成する行に含まれるセルの幅が指定されているとき、その行に含まれる他のセルの幅が確保できずにレイアウトができなくなってしまう場合がある。
本発明の文書解析装置およびその方法は、こうした問題を解決し、表組みのレイアウト処理の破綻を回避してより確実に表をレイアウトして出力することを目的の一つとする。本発明の印刷装置は、表組みのレイアウト処理の破綻を回避してより確実に表をレイアウトして印刷媒体に印刷することを目的の一つとする。
本発明の文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置は、上述の目的の少なくとも一部を達成するために以下の手段を採った。
本発明の文書解析装置は、
所定の書式で記述された構造化文書を解析して出力する文書解析装置であって、
前記構造化文書が指定されたとき、該指定された構造化文書を受け付けて要素の構造を解析する解析手段と、
該解析された構造化文書に表組みの指定がなされた要素が含まれているとき、該表組みの指定がなされた要素を指定された表の構成に従って表としてレイアウトするレイアウト手段と、
該レイアウトされた表を描画して出力する出力手段と、
を備え、
前記レイアウト手段は、前記指定された表の構成に従うとレイアウトが破綻するときには、該指定された表の構成とは異なる予め設定された構成に従ってレイアウトする破綻時レイアウトを行なう手段であることを要旨とする。
この本発明の文書解析装置では、構造化文書が指定されたとき指定された構造化文書を受け付けて要素の構造を解析し、解析した構造化文書に表組みの指定がなされた要素が含まれているときにはその要素を指定された表の構成に従ってレイアウトし、この指定された表の構成ではレイアウトが破綻するときには指定された表の構成とは異なる予め定められた構成に従ってレイアウトして、レイアウトした表を描画して出力する。したがって、指定された表の構成ではレイアウトが破綻する場合でもこの表の構成とは異なる予め定められた構成を用いてレイアウトすることが可能となり、レイアウトの破綻をより確実に回避して表を出力することができる。
こうした本発明の文書解析装置において、前記レイアウト手段は、前記破綻時レイアウトとして表の構成要素としてのセルを単位に改行してレイアウトする手段であるものとすることもできる。こうすれば、表の一部を欠落させることなくレイアウトして出力することができる。この態様の本発明の文書解析装置において、前記レイアウト手段は、表の構成要素としての表と行とセルの各要素を前後に改行を伴う要素に置き換えてレイアウトする手段であるものとすることもできる。こうすれば、要素を置き換えるだけでレイアウトの破綻を回避できるから、処理を簡易化することができる。これらの態様の本発明の文書解析装置において、前記レイアウト手段は、行に含まれるセルの一部または全部の幅が指定されたとき、該指定によると該行に含まれるセルの幅を確保できないときに前記破綻時レイアウトを行なう手段であるものとすることもできる。この場合、前記セルの列幅の指定は、表全体の幅に対する割合の指定または絶対長さの指定であるものとすることもできる。
また、本発明の文書解析装置において、前記レイアウト手段は、セルの幅の決定に該セル要素の内容に依存しない表組みの指定がなされたときを条件に前記破綻時レイアウトを行なう手段であるものとすることもできる。
さらに、本発明の文書解析装置において、前記所定の文書は、マークアップ言語により記述されてなるものとすることもできる。この態様の本発明の文書解析装置において、前記マークアップ言語は、XHTMLであるものとすることもできる。
本発明の印刷装置は、
上述の各態様のいずれかの本発明の文書解析装置を備え、前記レイアウトされた表の出力として表を印刷媒体に印刷することを要旨とする。
この本発明の印刷装置では、上述の各態様のいずれかの本発明の文書解析装置を備え、レイアウトされた表の出力として表を印刷媒体に印刷するから、本発明の文書解析装置が備える効果と同様の効果、例えば、指定された表の構成ではレイアウトが破綻する場合でもこの表の構成とは異なる予め定められた構成を用いてレイアウトすることができ、レイアウトの破綻を回避して表をより確実にレイアウトして印刷することができる効果などを奏することができる。ここで、「印刷装置」は、インクジェットプリンタであるものとすることもできる。
本発明の文書解析方法は、
所定の書式で記述された構造化文書を解析して出力する文書解析方法であって、
(a)前記構造化文書が指定されたとき、該指定された構造化文書を受け付けて要素の構造を解析し、
(b)該解析された構造化文書に表組みの指定がなされた要素が含まれているとき、該表組みの指定がなされた要素を指定された表の構成に従って表としてレイアウトし、
(c)前記指定された表の構成に従うとレイアウトが破綻するときには、該指定された表の構成とは異なる予め設定された構成に従ってレイアウトし、
(d)該レイアウトされた表を描画して出力する
ことを要旨とする。
この本発明の文書解析方法によれば、構造化文書が指定されたとき指定された構造化文書を受け付けて要素の構造を解析し、解析した構造化文書に表組みの指定がなされた要素が含まれているときにはその要素を指定された表の構成に従ってレイアウトし、この指定された表の構成ではレイアウトが破綻するときには指定された表の構成とは異なる予め定められた構成に従ってレイアウトして、レイアウトした表を描画して出力する。したがって、指定された表の構成ではレイアウトが破綻する場合でもこの表の構成とは異なる予め定められた構成を用いてレイアウトすることが可能となり、レイアウトの破綻をより確実に回避して表を出力することができる。
本発明のプログラムは、
所定の書式で記述された構造化文書を解析して出力する文書解析装置に用いるプログラムであって、
前記構造化文書が指定されたとき、該指定された構造化文書を受け付けて要素の構造を解析するモジュールと、
該解析された構造化文書に表組みの指定がなされた要素が含まれているとき、該表組みの指定がなされた要素を指定された表の構成に従って表としてレイアウトするモジュールと、
前記指定された表の構成に従うとレイアウトが破綻するときには、該指定された表の構成とは異なる予め設定された構成に従ってレイアウトするモジュールと、
前記レイアウトされた表を描画して出力するモジュールと、
を備えることを要旨とする。
この本発明のプログラムでは、文書解析装置にインストールすることにより、構造化文書が指定されたとき指定された構造化文書を受け付けて要素の構造を解析し、解析した構造化文書に表組みの指定がなされた要素が含まれているときにはその要素を指定された表の構成に従ってレイアウトし、この指定された表の構成ではレイアウトが破綻するときには指定された表の構成とは異なる予め定められた構成に従ってレイアウトして、レイアウトした表を描画して出力する。したがって、指定された表の構成ではレイアウトが破綻する場合でもこの表の構成とは異なる予め定められた構成を用いてレイアウトすることが可能となり、レイアウトの破綻をより確実に回避して表を出力することができる。
次に、本発明を実施するための最良の形態を実施例を用いて説明する。
図1は、本発明の一実施例としてのカラーインクジェットプリンタ20の構成の概略を示す構成図である。実施例のカラーインクジェットプリンタ20は、図示するように、コンピュータ10やデジタルテレビ12,デジタルカメラ14などと接続してデジタル画像(以下、画像という)の入力を司る入力インターフェース22と、入力インタフェース22に入力される画像の形式に基づいてデータの出力先を割り振る信号処理部24と、マークアップ言語としてのXHTML(eXtensible Hyper Text Markup Language)により記述されたXHTML文書を解析して要素の木構造としてのDOM(Document Object Model)ツリーを作成すると共にCSS(Cascading Style Sheets)により記述されたCSS文書を読み込んでスタイルオブジェクトを作成してメモリ50に書き込む解析部30と、解析部30により作成されたDOMツリーとスタイルオブジェクトとを用いてXHTML文書に記述された要素(オブジェクト)としての表や画像やテキストを印刷用のページ毎にレイアウトしてページボックスとしてメモリ50に書き込むレイアウタ38と、レイアウタ38によりレイアウトして得られるページボックスを用いてRBGデータとしての印刷用画像を描画するレンダリングプラグイン(以下、RPIという)40と、描画されたRGB(Red Green Blue)データの印刷用画面をCMYK(Cyan Magenta Yellow Black)データに変換する色変換部42と、変換されたCMYKデータを誤差拡散処理などの画像処理を行なって2値化する2値化部44と、2値化されたCMYKの各データを図示しない印刷ヘッドを備える印刷実行部48にバンド単位で出力するために一時的にデータを蓄えるイメージバッファ46とを備える。
信号処理部24は、入力された信号が直ちに印刷可能な印刷用データの場合には印刷実行部48のイメージバッファ46にデータを出力し、RGBデータの場合にはメモリ50の印刷用画面格納領域に出力し、XHTML文書で記述されたファイルの場合には解析部30に出力する。
解析部30は、XHTML文書の解析を指示することによりDOMツリーを作成するコア32と、コア32からの指示に基づいてXHTML文書を解析するXMLパーサー34と、作成されたDOMツリーの各要素の初期化処理により依頼されたCSS文書を解析するCSSプラグイン(以下、CSSPIという)36とから構成されている。
次に、こうして構成された実施例のカラーインクジェットプリンタ20の動作、特にXHTML文書を印刷する際の動作について説明する。図2は、解析部30により実行される解析レイアウト指示処理の一例を示すフローチャートである。この処理は所定時間毎(例えば、8msec毎)に繰り返し実行される。解析レイアウト指示処理が実行されると、まず、XHTML文書を特定するためのURL(Uniform Resouce Locator)の指定があるか否かを判定し(ステップS100)、URLの指定があるときにはそのURLをメモリ50に領域設定されたURL格納用バッファ領域に格納し(ステップS110)、URLの指定がないときには次の処理に進む。URL指定は、例えば、操作者がデジタルテレビ12で表示された印刷可能な項目のうちカラーインクジェットプリンタ20で印刷しようとする項目を選択したときデジタルテレビ12からのカラーインクジェットプリンタ20に出力されることにより行なうものとすることができるし、コンピュータ10から単にURLを選択してカラーインクジェットプリンタ20に印刷要求することによっても行なうことができる。なお、コンピュータ10からのURL指定では、コンピュータ10によってもXHTML文書の解析やレイアウト,色変換や2値化などを行なうことができるが、コンピュータ10によってはこうした処理を一切行なわず、URLだけをカラーインクジェットプリンタ20に送信する場合となる。
続いて、メモリ50のURL格納用バッファ領域にURLが格納されているか否かを判定すると共に(ステップS120)、XHTML文書を現在解析中であるか否かを判定する(ステップS130)。XHTML文書を現在解析中であるか否かの判定は、この解析レイアウト指示処理と同時に並列に解析部30自身によって行なっているか否かを判定することにより、例えば解析開始時と解析終了時にフラグ操作するものとすればフラグを調べることにより行なうことができる。URLが格納されており、現在XHTML文書の解析中ではないときには、後述する解析処理により作成されるDOMツリーを格納するためのメモリ50のDOMツリー格納用領域やスタイルオブジェクトを格納するためのメモリ50のスタイルオブジェクト格納用領域に空きがあるか否かを判定し(ステップS140)、空きがあると判定されると、メモリ50のURL格納用バッファ領域に格納されている最初のURLを読み出してそのURLにより特定されるXHTML文書の解析を開始し(ステップS150)、URLが格納されていないときやURLが格納されていても現在XHTML文書を解析している最中のときや現在XHTML文書を解析している最中になくてもDOMツリー格納用領域やスタイルオブジェクト格納用領域に空きがないときには次の処理に進む。XHTML文書の解析は、図3に例示する解析処理に基づいて行なわれる。この解析処理ではURLにより特定されるXHTML文書が解析されてDOMツリーが作成され、XHTML文書に記述されたCSS文書を解析してスタイルオブジェクトが作成され、関連付けられてメモリ50のDOMツリー格納用領域とスタイルオブジェクト格納用領域とに記憶される。このとき、DOMツリーには識別情報としてDOMツリーIDが付与され、スタイルオブジェクトには識別情報としてスタイルオブジェクトIDが付与される。解析処理の詳細については後述する。
次に、レイアウタ38によってレイアウトが行なわれている最中であるか否かを判定し(ステップS160)、レイアウタ38によるレイアウトが行なわれてる最中にないときには、後述するレイアウト処理によりレイアウトされたページボックスを格納するためのメモリ50のボックス格納用領域に空きがあるか否かを判定し(ステップS170)、空きがあると判定されると、メモリ50のDOMツリー格納用領域に格納されたDOMツリーのうち最初のDOMツリーをDOMツリーIDを用いて指定してレイアウタ38にレイアウト開始指示を出力して(ステップS180)、この解析レイアウト指示処理を終了し、レイアウタ38によってレイアウトが行なわれている最中にあるときやレイアウトが行なわれている最中になくてもボックス格納用領域に空きがないときにはレイアウト開始指示を出力せずに解析レイアウト指示処理を終了する。ここで、レイアウタ38によってレイアウトが行なわれている最中にあるか否かの判定は、レイアウタ38からレイアウト終了の信号を入力したか否かにより行なうことができる。レイアウト終了の信号の受信についてはレイアウタ38の処理を説明する際に詳述する。
次に、解析部30により実行される解析処理について説明する。解析処理は、前述したように図3に例示するフローチャートに基づいて行なわれる。説明の容易のために、図4に例示するXHTML文書を用いて説明する。解析レイアウト指示処理によりURLを指定して解析開始の指示がなされると、URLにより特定されるXHTML文書を読み出し(ステップS200)、読み出したXHTML文書を解析してDOMツリーを作成する(ステップS210)。このとき、作成するDOMツリーには識別情報としてDOMツリーID(例えば、URLにDOMを付して作成したIDなど)を付与する。XHTML文書の読み出しは、具体的には、コア32がURLを指定してXMLパーサー34に解析依頼することによりXMLパーサー34が行なう。XHTML文書の解析およびDOMツリーの作成は、具体的には、XMLパーサー34がXHTML文書を最初から順に解析して各要素を作成すると共にDOMツリーに登録することにより行なう。なお、要素の作成はコア32に対して行ない、要素の登録はメモリ50のDOMツリー格納用領域に関連付けて格納することにより行なう。図4に例示したXHTML文書を解析して作成されたDOMツリーを図5に示す。
こうしてDOMツリーを作成すると、XHTML文書に指定されたCSS文書を読み出し(ステップS220)、読み出したCSS文書を解析してスタイルオブジェクトを作成する(ステップS230)。ここで、CSS文書は、その内容がXHTML文書に直接記述されたりXHTML文書の外部にリンクされたりして存在しており、図4の例では、XHTML文書にCSS文書の内容が直接記述されている場合を示した。CSS文書の読み出しは、具体的には、DOMツリーの各要素の初期化処理における依頼により依頼されたCSSPI36が行なう。CSS文書の内容がXHTML文書に直接記述されている場合には、XHTML文書中のCSS文書に該当する部分を渡してCSSPI36に依頼することにより行なわれ、CSS文書が外部にリンクされている場合には、linkタグ内のリンク先を指定してCSSPI36に依頼することにより行なわれる。CSS文書の解析およびスタイルオブジェクトの作成は、具体的には、CSSPI36がCSS文書を最初から順に解析して各ルールをメモリ50のスタイルオブジェクト格納用領域に格納することにより行なう。
こうしてDOMツリーとスタイルオブジェクトが作成されると、作成したDOMツリーとスタイルオブジェクトの関連付け処理を実行し(ステップS240)、URL格納用バッファ領域から解析の対象のURLを削除して(ステップS250)、解析処理を終了する。
次に、レイアウタ38の処理について説明する。図6は、解析部30によりDOMツリーを指定してレイアウト開始指示がなされたときにレイアウタ38により実行されるレイアウト描画指示処理の一例を示すフローチャートである。レイアウト描画指示処理が実行されると、レイアウタ38は、まず、指定されたDOMツリーに基づいてレイアウトを開始する(ステップS300)。レイアウトは、図7に例示するレイアウト処理により実行される。説明の都合上、ここで、レイアウト処理について説明する。
レイアウト処理では、レイアウタ38は、まず、DOMツリーの各要素を順にサーチして要素毎にスタイル情報(要素に指定された特性や対応するスタイルオブジェクトのルール)が関連付けられた論理的なボックスとしての要素ボックスを作成する(ステップS400)。続いて、ページ毎に対応するページボックスを作成し(ステップS405)、そのページボックスの下にレイアウトすべき要素ボックスのレイアウトを開始する(ステップS410)。まず、対象となる要素ボックスを調べ(ステップS415)、要素ボックスが表要素以外の要素であるときにはスタイル情報に基づいてレイアウトボックスを作成してページボックスの下にレイアウトできなくなるまで要素の内容をレイアウトする(ステップS420)。内容のレイアウトは、例えば、要素の内容がイメージの場合には、画像サイズを取得してイメージボックスを作成すると共にレイアウトボックスとしての行を作成してイメージボックスを行に登録することにより行なわれ、要素の内容がテキストの場合には、行を作成し、行に入るだけのテキストボックスを作成して行に登録することを繰り返すことにより行なわれる。取得した画像サイズによりイメージボックスをレイアウトできなかったり、テキストのすべてを登録することができないときには、改ページの判定がなされ(ステップS445)、次ページに対応するページボックスが作成され、レイアウトできなかったイメージボックスや残りのテキストを行に登録する。
対象となる要素ボックスが表要素であるときには、表の構成を解析してスタイル情報に基づいてレイアウトする表の行に含まれるセルの列幅を設定し(ステップS425)、セルの列幅が確保できるか否かを判定する(ステップS430)。セルの列幅の設定は、実施例では、セルの内容(テキストや画像のサイズなど)に依存しないでセルの列幅の設定を行なう固定表組み(table−layout特性が「fixed」)と、セルの内容に依存してセルの列幅の設定を行なう自動表組み(table−layout特性が「auto」)との二通りの設定があり、以下のようにして行なわれる。
いま、図8のXHTML文書に示すように、セルの列幅の設定にセルの内容に依存しない固定表組みでのレイアウトが指定(CSSにおけるtable−layout特性が「fixed」に指定)されているときを考える。このとき、セルの列幅の設定は、最初の行のセルの幅に関する特性(width特性)を調べてwidth特性が「auto」以外、即ち、何らかの値(絶対的な長さや表のレイアウト可能領域の幅に対する割合)が指定されているセルについては、その指定された値を該当するセルの列幅として設定し、width特性が「auto」に指定されているセルについては、width特性が「auto」以外に指定された前述のセルについて設定した列幅の合計(境界やセル間のスペースも加えた幅)と表のレイアウト可能領域の幅(表の幅)との偏差の幅をwidth特性に「auto」が指定された残りのセルに配分(例えば、均等配分)することにより行なわれる。このように、固定表組みでは、セルの内容に拘わらずセルのwidth特性の指定によって各セルの列幅が決定されるから、指定によっては行に含まれるすべてセルの列幅の合計がレイアウト可能領域の幅を超えてしまい、行に含まれるすべてのセルをレイアウト可能なセルの列幅を確保できない場合が生じる。例えば、図8に示すように、最初の行に含まれるセルのwidth特性の一つに「100%」が指定されると、その行に含まれる残りのセルの列幅を確保することができなくなってしまう。前述したステップS430の処理は、こうしたセルの列幅の設定処理によって行に含まれるセルの列幅が確保できないときに否定的な判定がなされるのである。なお、セルの列幅の設定にセルの内容に依存する自動表組みでのレイアウトが指定されているときには、基本的には、レイアウト可能領域の幅の範囲でセルの内容をできる限り一行でレイアウトするよう各セルの列幅が設定されるが、列幅が指定されたセルについては、その指定された列幅を設定する。行に含まれるすべてのセルの列幅を確保できると判定されると、レイアウトボックスとして行を作成し、設定された列幅に従ってセルを行にレイアウトすると共にセルの内容をレイアウトする(ステップS435)。一方、固定表組みが指定されているときに行に含まれるすべてのセルをレイアウトできる列幅を確保できないと判定されると、レイアウトが破綻すると判断して、表,行,セルの各要素を前後に改行を伴う要素としてみなしてレイアウトする(ステップS440)。具体的には、表,行,セルの各要素のdisplay特性をブロック要素(「block」)に置き換えて要素ボックスを再作成し、再作成した要素ボックスに対してレイアウトボックスを作成して内容をレイアウトすることにより行なわれる。したがって、ステップS435の処理では行に含まれるすべてのセルを横方向に並べてレイアウトされるのに対して、ステップS440の処理ではセルを縦方向に並べてレイアウトされることになる。レイアウトの最中にレイアウトボックスがページボックスのページ境界をオーバーしてこれ以上登録できないときには、改ページの判定がなされ(ステップS445)、次ページのページボックスが作成されて残余の要素ボックスに対してレイアウト処理が開始される。こうしてすべての要素ボックスに対してレイアウトが完了すると(ステップS450)、指定されたDOMツリーをメモリ50のDOMツリー格納用領域から削除すると共に(ステップS455)、レイアウト終了を解析部30に出力して(ステップS460)、レイアウト処理を終了する。これにより、解析部30により作成される新たなDOMツリーの格納領域が確保される。
レイアウト描画指示処理(図6)の説明に戻る。レイアウトを開始すると、最初のページ分のレイアウトが完了するのを待って(ステップS310)、レイアウトが完了したページを指定してRPI40に描画開始指示を出力する(ステップS320)。ページ分のレイアウトが完了したか否かの判定は、次ページに対応するページボックスが作成されたか否かにより、1ページだけしかないときにはレイアウト処理が終了したか否かにより行なうことができる。描画開始指示されたRPI40は、図9に例示する描画処理を実行し、ページボックスに従ってテキストや画像をメモリ50の印刷用画像格納領域を用いてRGBデータとして描画し(ステップS500)、描画が終了したときに色変換部42に色変換指示を出力すると共に(ステップS510)、描画終了をレイアウタ38に出力する(ステップS520)。なお、画像の描画については、画像ファイルを読み出し、ファイル形式によっては展開等を行なって描画する。図10および図11に、それぞれ図4および図8のXHTML文書中の表要素を解析した場合の印刷結果を示す説明図を示す。図10は、表の行に含まれるセルの列幅が確保できるときのXHTML文書中の表要素の印刷結果を示し、図11は、表の行に含まれるセルの列幅が確保できないときのXHTML文書中の表要素の印刷結果を示す。図11に示すように、行に含まれるすべてのセルをレイアウトする列幅が確保できないときには、セルを単位に改行してレイアウトすることで、表の幅に収まるよう表をレイアウトでき、レイアウトの破綻が回避される。
描画開始指示を出力した後はそのページの描画が終了するのを待って(ステップS330)、そのページに対応するページボックスを削除する(ステップS340)。このように、ページの描画が終了する毎にそのページに対応するページボックスを削除することにより、ボックス格納用領域に不要なページボックスが格納された状態が継続されるのを回避することができる。こうしてページボックスを削除すると、次ページがあるか否かを判定し(ステップS350)、次ページがあるときにはステップS310の処理に戻る。即ち、次ページに対するページ分のレイアウトが完了しているか否かを判定し、レイアウトが完了していないときには完了するまで待ってレイアウトが完了したページを指定してRPI40に描画開始指示を出力するのである。こうしてすべてのページを描画し、次ページがなくなると、レイアウト描画指示処理を終了する。
以上説明した実施例のカラーインクジェットプリンタ20によれば、表組の指定がなされたときにセルに指定されたwidth特性に従うと行に含まれるすべてのセルをレイアウトするための列幅を確保することができずにレイアウトが破綻するときには、表,行,セルの各要素を前後に改行を伴うブロック要素に置き換えてレイアウトを行なうから、表の内容を欠落させることなくレイアウトの破綻を回避して表をより確実にレイアウトして印刷することができる。
ここで、実施例のカラーインクジェットプリンタ20のコア32とXMLパーサー34とCSSPI36とからなる解析部30が解析手段に相当し、レイアウタ38がレイアウト手段に相当し、RPI40と色変換部42と2値化部44とイメージバッファ46と印刷実行部48とが出力手段に相当する。
実施例のカラーインクジェットプリンタ20では、固定表組みでの表組みのレイアウトが指定されたときにセルの列幅を確保できないときには、セルを単位に改行してレイアウトを行なうものとしたが、自動表組みでの表組みのレイアウトが指定され表の行に含まれるセルの一部または全部の幅が指定されたときにセルの列幅を確保できないときにも、同様に、セルを単位に改行してレイアウトを行なうものとしてもよい。
実施例のカラーインクジェットプリンタ20では、構造化文書としてXHTMLで記述された文書を解析して印刷するものとしたが、他のマークアップ言語により記述された文書を解析して印刷するものとしてもよい。また、マークアップ言語以外の言語により記述された文書を解析して印刷するものとしても差し支えない。
実施例のカラーインクジェットプリンタ20では、入力インタフェース22に接続される機器としてコンピュータ10やデジタルテレビ12やデジタルカメラ14などを挙げたが、如何なる機器を接続するものとしても差し支えない。
実施例では、XHTML文書を解析して印刷するカラーインクジェットプリンタを用いて説明したが、カラーレーザプリンタやモノクロのインクジェットプリンタやレーザープリンタなどの種々のプリンタを用いるものとしてもよい。また、こうしたプリンタ以外に、XHTML文書を解析して出力(例えば、表示出力)する通常のコンピュータに用いるものとしても差し支えない。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
本発明は、印刷機器産業やコンピュータ産業などの産業に利用可能である。
実施例のカラーインクジェットプリンタ20の構成の概略を示す構成図。 解析レイアウト指示処理の一例を示すフローチャート。 解析処理の一例を示すフローチャート。 具体例のXHTML文書の一例を示す説明図。 具体例のDOMツリーの一例を示す説明図。 レイアウト描画指示処理の一例を示す説明図。 レイアウト処理の一例を示す説明図。 具体例のXHTML文書の一例を示す説明図。 描画処理の一例を示す説明図。 具体例の印刷結果の一例を示す説明図。 具体例の印刷結果の一例を示す説明図。
符号の説明
10 コンピュータ、12 デジタルテレビ、14 デジタルカメラ、20 カラーインクジェットプリンタ、22 入力インターフェース、24 信号処理部、30 解析部、32 コア、34 XMLパーサー、36 CSSPI、38 レイアウタ、40 RPI、42 色変換部、44 2値化部、46 イメージバッファ、48 印刷実行部、50 メモリ。

Claims (5)

  1. 所定の書式で記述された構造化文書を解析して出力する文書解析装置であって、
    前記構造化文書が指定されたとき、該指定された構造化文書を受け付けて要素の構造を解析する解析手段と、
    該解析された構造化文書に行に含まれるセルの一部または全部の幅の指定を伴う表組みの指定がなされた要素が含まれているとき、該表組みの指定がなされた要素を指定された表の構成に従って表としてレイアウトし、前記指定された表の構成に従うと前記行に含まれるセルの幅を確保できないときには前記セルを単位に改行してレイアウトするレイアウト手段と、
    該レイアウトされた表を描画して出力する出力手段と、
    を備える文書解析装置。
  2. 前記セルの幅の指定は、表全体の幅に対する割合の指定または絶対長さの指定である請求項1記載の文書解析装置。
  3. 請求項1または2記載の文書解析装置を備え、前記レイアウトされた表を印刷媒体に印刷する印刷装置。
  4. コンピュータが所定の書式で記述された構造化文書を解析して出力する文書解析方法であって、
    (a)前記コンピュータが備える解析手段が、前記構造化文書が指定されたとき、該指定された構造化文書を受け付けて要素の構造を解析し、
    (b)前記コンピュータが備えるレイアウト手段が、該解析された構造化文書に行に含まれるセルの一部または全部の幅の指定を伴う表組みの指定がなされた要素が含まれているとき、該表組みの指定がなされた要素を指定された表の構成に従って表としてレイアウトし、前記指定された表の構成に従うと前記行に含まれるセルの幅を確保できないときには前記セルを単位に改行してレイアウトし、
    (c)前記コンピュータが備える出力手段が、前記レイアウトされた表を描画して出力する
    文書解析方法。
  5. コンピュータを、
    所定の書式で記述された構造化文書を解析して出力する文書解析装置であって、
    前記構造化文書が指定されたとき、該指定された構造化文書を受け付けて要素の構造を解析する解析手段と、
    該解析された構造化文書に行に含まれるセルの一部または全部の幅の指定を伴う表組みの指定がなされた要素が含まれているとき、該表組みの指定がなされた要素を指定された表の構成に従って表としてレイアウトし、前記指定された表の構成に従うと前記行に含まれるセルの幅を確保できないときには前記セルを単位に改行してレイアウトするレイアウト手段と、
    該レイアウトされた表を描画して出力する出力手段と、
    を備える文書解析装置として機能させるためのプログラム。
JP2003357872A 2003-10-17 2003-10-17 文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置 Expired - Fee Related JP4165366B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003357872A JP4165366B2 (ja) 2003-10-17 2003-10-17 文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003357872A JP4165366B2 (ja) 2003-10-17 2003-10-17 文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置

Publications (2)

Publication Number Publication Date
JP2005122539A JP2005122539A (ja) 2005-05-12
JP4165366B2 true JP4165366B2 (ja) 2008-10-15

Family

ID=34614641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003357872A Expired - Fee Related JP4165366B2 (ja) 2003-10-17 2003-10-17 文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置

Country Status (1)

Country Link
JP (1) JP4165366B2 (ja)

Also Published As

Publication number Publication date
JP2005122539A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
KR100871179B1 (ko) 프린트 제어 장치, 프린트 제어 방법 및 기록 매체
US7706014B2 (en) Printing apparatus and storage medium for printing apparatus
US8045198B2 (en) System and method for processing a change history of a PDF file
US7365870B2 (en) Methods and systems for page-independent spool file face-up emulation
US20110075165A1 (en) Image processing system, image processing method and computer readable medium
US9953250B2 (en) Image processing apparatus and non-transitory computer readable medium that caches and revises data
US20040100656A1 (en) Image processing device, image processing method, program, and computer readable recording medium on which the program is recorded
US7929158B2 (en) Image forming apparatus
JP5273420B1 (ja) 印刷制御装置、画像形成システムおよびプログラム
US20050036170A1 (en) Image processing apparatus and image forming apparatus
US20050213154A1 (en) Printing device and medium type setting method
JP4438380B2 (ja) 印刷装置および印刷方法並びに印刷装置用のプログラム
US20080310719A1 (en) Image processing apparatus, image processing method, and storage medium
JP4165366B2 (ja) 文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置
JP4449398B2 (ja) 印刷装置および印刷方法並びに印刷装置用のプログラム
JP5915091B2 (ja) 画像形成装置、画像形成システム、出力用画像データ処理方法、プログラム及び記録媒体
US20060092454A1 (en) Printing device and printing method
US20100007903A1 (en) Print attribute setting apparatus, print attribute setting method, and print attribute setting program
JP2013120401A (ja) 画像処理装置
JP2005208809A (ja) 文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置
JP2005208810A (ja) 文書解析装置およびその方法並びに文書解析装置用のプログラム、印刷装置
JP4599950B2 (ja) 処理装置、及び処理方法
JP2005111711A (ja) 印刷装置および印刷方法並びに印刷装置用のプログラム
US20060092447A1 (en) Printing device and corresponding printing method used therein
JP2005246796A (ja) 印刷装置およびその印刷方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080616

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080708

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080721

R150 Certificate of patent or registration of utility model

Ref document number: 4165366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110808

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130808

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees