JP2006255916A - プリンタ - Google Patents

プリンタ Download PDF

Info

Publication number
JP2006255916A
JP2006255916A JP2005072638A JP2005072638A JP2006255916A JP 2006255916 A JP2006255916 A JP 2006255916A JP 2005072638 A JP2005072638 A JP 2005072638A JP 2005072638 A JP2005072638 A JP 2005072638A JP 2006255916 A JP2006255916 A JP 2006255916A
Authority
JP
Japan
Prior art keywords
layout
document
page
paper size
printing
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.)
Granted
Application number
JP2005072638A
Other languages
English (en)
Other versions
JP4556717B2 (ja
Inventor
Tetsuto Sugawara
哲人 菅原
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 JP2005072638A priority Critical patent/JP4556717B2/ja
Publication of JP2006255916A publication Critical patent/JP2006255916A/ja
Application granted granted Critical
Publication of JP4556717B2 publication Critical patent/JP4556717B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】XHTML文書に指定された用紙サイズとユーザが指定した用紙サイズとが一致しなかった場合でも、見栄えよく印刷を行い得るプリンタ及び印刷方法を提供すること。
【解決手段】構造化言語で記述された文書を印刷するプリンタにおいて、前記文書内に記述されたレイアウトに関する情報を変更する変更手段、を備え、変更されたレイアウト情報に基づいて前記文書を印刷することを特徴としている。
【選択図】 図16

Description

本発明は、構造化言語で記述された文書を処理するプリンタに関する。詳しくは、スタイルシートの一つである「orphans」、及び「widows」に対し、その値をユーザの指定した用紙サイズに応じて変更するプリンタに関する。
従来から、XML(eXtensible Markup Language)やXHTML(eXtensible Hyper Text Markup Language)など、特定のアプリケーションに依存しない構造化言語により記述された文書に基づいて、モニタ画面に画像を表示させたり、プリンタで印刷する等の処理が行われている。通常、このような文書に基づいて画像を生成する(表示や印刷など)には、かかる言語で記述された文書に対し解析処理を行った後、レイアウト処理により各要素の1頁内での位置が決定され、その後、表示や印刷のための種々の処理を行う。
しかし、このようなレイアウト処理に関し、文書内のブロック要素をレイアウトすると、1頁内に収まりきらずにブロック要素内部で改ページが発生する場合がある。従来のプリンタでは、かかる場合、改ページが発生した時点で改ページの処理が行われていた。その結果、先行ページにはブロック要素の先頭部分の少数行のみ表示や印刷が行われたり、後続ページにはブロック要素の最後尾部分の少数行のみ表示等が行われるなど、見栄えの良くない状態で表示等が行われていた。
そこで、スタイルシート(特に、CSS(Cascading Style Sheet)3 ページメディアモジュール。以下の非特許文献1を参照)では、ページの下端に最低限残さなければいけない行数を示す「orphans」と、ページの上端に最低限残さなければならない行数を示す「widows」が定義され、これを用いることで、見栄えの良くない状態を回避するようにしている(例えば、以下の非特許文献1)。
一方、XHTML文書内においては、印刷の際の用紙サイズを記述することができる。更に、従来のプリンタでは、プリンタを使用するユーザ(以下、単に「ユーザ」と称す)が例えばプリンタの液晶画面を操作することで用紙サイズを指定することができる。従って、XHTML文書で指定した用紙サイズとユーザの指定した用紙サイズとが一致しない場合がある。従来のプリンタでは、かかる場合にプリンタを使用するユーザが指定した用紙サイズを優先してレイアウト等の処理を行っている。プリンタ側の制限を優先しても構わない、というW3C(World Wide Web Consortium:Web技術に関する標準規格を制定する機関)の要請からである。
なお、XHTML文書を処理できるプリンタとして、JPEGなどの単なる画像が入力されても内部でHTML文書の形式に変換させ、HTML文書に対する解析及びレイアウト処理を行うブロックに入力させることで、多くのハードウェア資源を設けることなく処理を行うことのできる技術が提案されている(例えば、以下の特許文献1)。
W3C "CSS3 Paged Media Module"[平成17年2月18日検索]、インターネット<URL http://www.w3.org/TR/css3-page> 特開2004−114326号公報
しかしながら、XHTML文書内に記述された用紙サイズを無視してレイアウト等の処理を行った場合、前述の「orphans」や「widows」の設定値によっては、想定されない位置で改ページが発生する場合がある。「orphans」や「widows」は、XHTML文書内で記述された用紙サイズを基にして文書作成者が設定したものだからである。従って、従来のプリンタでは、必ずしも見栄えの良い印刷結果を得られないという問題点があった。
そこで、本発明は上記問題点に鑑みてなされたものでその目的は、XHTML文書に指定された用紙サイズとユーザが指定した用紙サイズとが一致しなかった場合でも、見栄えよく印刷を行い得るプリンタ及び印刷方法を提供することにある。
上記目的を達成するために、本発明は、構造化言語で記述された文書を印刷するプリンタにおいて、前記文書内に記述されたレイアウトに関する情報を変更する変更手段、を備え、変更されたレイアウト情報に基づいて前記文書を印刷することを特徴としている。これにより、文書内に記述されたレイアウト情報が変更されるため、見栄えの良い印刷を行うことができる。
また、本発明は、前記プリンタにおいて、前記レイアウトに関する情報は、ページの下端に最低限残さなければならない行数を示す第1の要素及び/又はページの上端に最低限残さなければならない行数を示す第2の要素である、ことを特徴としている。これにより、例えば、文書内で記述された「orphans」や「widows」が変更されるため、見栄えの良い印刷を行い得る。
更に、本発明は、前記プリンタにおいて、前記変更手段は、前記文書内で指定された第1の用紙サイズとは異なる第2の用紙サイズで印刷するときに前記レイアウトに関する情報を変更する、ことを特徴としている。これにより、例えば、XHTML文書内で記述された用紙サイズとユーザの指定した用紙サイズとが異なる場合に、文書内で記述された「orphans」や「widows」が変更されるため、見栄えの良い印刷を行い得る。
更に、本発明は前記プリンタにおいて、前記変更手段は、前記レイアウトに関する情報を、前記第1の用紙サイズからから前記第2の用紙サイズに合わせるように変更する、ことを特徴としている。これにより、例えば、ユーザの指定した用紙サイズに合わせて、「orphans」や「widows」が変更されるため、見栄えの良い印刷を行ことができる。
更に、本発明は前記プリンタにおいて、前記変更手段は、前記第1の要素によって示される行数及び/又は前記第2の要素によって示される行数とを、前記第2の用紙サイズに合わせるように変更する、ことを特徴としている。これにより、例えば、ユーザの指定した用紙サイズに合わせて、「orphans」や「widows」が変更されるため、見栄えの良い印刷を行ことができる。
更に、本発明は前記プリンタにおいて、前記変更手段は、前記第1の用紙サイズの紙送り方向の長さをX、前記第2の用紙サイズの紙送り方向の長さをYとすると、前記第1の要素によって示される行数及び/又は前記第2の要素によって示される行数を(Y/X)倍することにより変更する、ことを特徴としている。これにより、例えば、「orphans」や「widows」の設定値がユーザの指定した印刷用紙に合わせて変更されることになる。
更に、本発明は前記プリンタにおいて、前記第1の要素は「orphans」であり、前記第2の要素は「widows」である、ことを特徴としている。これにより、例えば、XHTML文書に記述された「orphans」や「widows」の設定値を変更して、見栄えの良い印刷を行い得る。
更に、前記プリンタにおいて、前記文書を印刷するときの用紙サイズを指定する用紙サイズ設定手段を更に備え、前記変更手段は、前記文書内で指定された用紙サイズと前記用紙サイズ設定手段で指定された用紙サイズとが異なるときに前記レイアウトに関する情報を変更する、ことを特徴としている。これにより、例えば、文書内で指定した用紙サイズとユーザが液晶画面等の操作により指定した用紙サイズとが異なると、「orphans」や「widows」の設定値を変更して、見栄えの良い印刷を行うことができる。
また、上記目的を達成するために、本発明は、構造化言語で記述された文書を印刷するプリンタにおける印刷方法であって、前記文書内に記述されたレイアウトに関する情報を変更手段により変更する工程と、変更されたレイアウト情報に基づいて印刷手段により前記文書を印刷する工程と、を備えることを特徴としている。これにより、例えば、XHTML文書に指定された用紙サイズとユーザが指定した用紙サイズとが一致しなかった場合でも、見栄えよく印刷を行い得る印刷方法を提供することができる。
以下、図面を参照して本発明を実施するための最良の形態を説明する。
<全体構成とその動作>
図1は、本発明が適用される画像処理システムの一例であるプリンタ1の全体の構成を示す図である。プリンタ1は、Xhtml解析手段10と、DOM−スタイル管理手段20と、CSS解析手段(CSSパーサ)30と、レイアウト手段40と、レンダリング部50、及び印刷処理部60から構成される。
Xhtml解析手段10は、DOM−スタイル管理手段20等を含む全体の管理を行う。Xhtml解析手段10には、タグ解析手段(XMLパーサ)100を備え、入力されたXHTML文書5に対してどのようなタグから文書5が構成されるかの解析を行う。ここで、本プリンタ1ではXHTML文書5がXML文書とCSS文書とから構成されるものとして処理を行う。従って、タグ解析手段100では、XHTML文書5内のCSS文書(CSSはXHTML文書5内に記述されても良いし、別文書として記述されていても良い。以下同様)以外の部分(本実施例ではこれをXML文書と称する)に対する処理を行う。なお、XHTML文書5は、例えば移動可能なメモリや、無線通信(ブルートゥースなど)により、本プリンタ1に入力されるものとする。
DOM−スタイル管理手段20は、DOMツリーとスタイルデータとを記憶し管理する。DOM−スタイル管理手段20には、DOMツリー生成手段210と、スタイルデータ記憶手段220とを備える。
DOMツリー生成手段210は、タグ解析手段100からの解析後の各タグに関する情報が入力され、DOMツリーを生成して記憶する。生成されたDOMツリーにより、XHTML文書5内の各タグ間等の関連付けが把握できる。
また、スタイルデータ記憶手段220は、CSS解析手段30で解析されたスタイルデータをテーブル形式で記憶する。スタイルデータ記憶手段220は、CSSでデフォルトとして定義されたスタイルデータを記憶する領域と、文書作成者が定義したスタイルデータを記憶する領域に分かれている。スタイルデータを読み出してレイアウトする際には、文書作成者が定義したスタイルデータから読み出される。つまり、この記憶手段220の領域には優先順位があり、文書作成者のスタイルデータの方が優先され、文書作成者によって定義されていないと、デフォルトとして定義されたスタイルデータが使用される。
CSS解析手段30は、Xhtml解析手段10からの指示に基づき、XHTML文書5内のCSS文書に対する解析を行う。具体的には、CSS解析手段30は、前述したテーブルを作成することで解析を行う。これにより、文書5内にどのようなCSSが記述されたかプリンタ1は把握することができる。なお、Xhtml解析手段10は、スタイルデータ記憶手段220に記憶されたスタイルデータと、DOMツリー生成手段210に記憶されたDOMツリーの各ノードとの関連付けを行う。
レイアウト手段40は、Xhtml解析手段10からのレイアウト指示に基づき、DOM−スタイル管理手段20に記憶されたDOMツリーとスタイルデータとを参照して、各要素に対するレイアウトを行う。レイアウト手段40の詳細は後述する。
レンダリング部50は、レイアウト後の各要素に対して色付け等することでレンダリングを行う。印刷処理部60は、レンダリング後のデータが入力され、色変換、ハーフトーン処理などの画像処理を行い、その後、実際に印刷用紙に印字を行う。
このように構成されたプリンタ1での動作を簡単に説明する。例えば、図2に示すXHTML文書5の例で説明する。プリンタ1に入力されたXHTML文書5はXhtml解析手段10で解析される。図2の例では、<body>タグ、<div>タグ、<p>タグの存在を確認する。そして、タグ解析手段100は、解析後のこれらのタグとタグ内の内容部分(文字列1、文字列2など)をDOMツリー生成手段210に出力する。
DOMツリー生成手段210では、DOMツリーを生成するが、図2(A)の例では、図2(B)のようにツリーを生成する。DOMツリーの各ノードは、タグ及びその内容部分から構成される。そして、一旦生成されたDOMツリーは生成手段210で記憶される。また、文書5内にCSS文書が含まれていると、DOMツリー生成手段210からの解析指示でCSS解析手段30がCSS文書を解析し、生成されたテーブルがスタイルデータ記憶手段220に記憶される。そして、レイアウト手段40でDOMツリーとスタイルデータとが参照されレイアウト処理、その後、レンダリング、印刷処理が行われる。
次に、レイアウト手段40の詳細について説明する。図3は、レイアウト手段40の内部構成を示す図である。レイアウト手段40は、レイアウトマネージャ410と、レイアウト情報作成手段420と、フォントデータ提供手段430、及びレイアウト情報記憶手段440とを有する。
レイアウトマネージャ410は、Xhtml解析手段10からのレイアウト指示に基づいてレイアウト情報作成手段420へレイアウト指示を行う。
レイアウト情報作成手段420は、レイアウトマネージャ410からの指示に基づき、DOM−スタイル管理手段20を参照して、DOMツリーとスタイルデータとからレイアウト情報を作成する。作成されたレイアウト情報は、レイアウト情報記憶手段440に出力される。ここで、レイアウト情報とは、座標位置や色などに関する情報である。
また、レイアウト情報作成手段420には、レイアウト処理を実行するために、DOMツリー対応処理手段421と、終了判定手段422、及び領域マネージャ423を有する。
DOMツリー対応処理手段421は、DOMツリーの階層ごとにレイアウト処理を実行する部分である。また、終了判定手段422は、DOMツリーの各ノードに対して更に子ノードが存在するか否かを確認することで、各タグとその内容部分のレイアウトが終了したか否かを判定する。更に、領域マネージャ423は、レイアウト後の1頁内の残りレイアウト領域を管理する。即ち、DOMツリー対応処理手段421でDOMツリーの各ノードに対してレイアウトを行い、終了判定手段422で各タグ等のレイアウトが終了したか否かを判定し、領域マネージャ423で1頁内の残り領域を管理する。
フォントデータ提供手段430は、レイアウト情報作成手段420において文字列に対するレイアウトを行う際にメモリに記憶されたフォントデータを読み出して出力する。更に、フォントデータ提供手段430は、レイアウト情報作成手段420からレイアウトされた各ボックスの幅とその幅内に入れるべき文字列とに関する情報が入力され、そのボックスの1行分の幅に入った文字列の文字数と、実際に入った文字列の幅の情報を出力する。
レイアウト情報記憶手段440は、レイアウト情報作成手段420で作成されたレイアウト情報を記憶する。そして、記憶したレイアウト情報をレンダリング部50に出力する。
このように構成されたレイアウト手段40の動作を説明する。まず、Xhtml解析手段10からのレイアウト指示を受けると、レイアウトマネージャ410を経由して、その指示がレイアウト情報作成手段420に入力される。レイアウト情報作成手段420は、必要なDOMツリーやスタイルデータを参照してそのデータを取得する。その後、DOMツリー対応処理手段421は、実際のレイアウト処理を行う。
図2に示すXHTML文書5に対するレイアウトの例を図4に示す。この図4を用いてレイアウト処理の動作を説明する。まず、DOMツリー対応処理手段421は、<body>タグに対する処理を行う(文書5内の前段部分にある要素に対するレイアウト処理は終了したものと仮定)。即ち、DOMツリー対応処理手段421は、この<body>タグに対し、設定された「margin」、「border」、「padding」の分だけ座標位置を移動させる。この「margin」、「border」、「padding」は、スタイルデータであり、その設定は文書内(XHTML文書5内でも、文書5とは別の文書でもよい)に記述され、スタイルデータ記憶手段220に記憶される。もし、スタイルデータが文書内に記述されないときは、スタイルデータ記憶手段220のデフォルトとして記憶された領域から読み出したデフォルトの値で処理を行う。また、領域マネージャ423は座標移動により、どれだけ残り領域があるかの演算を行い、残り領域を把握する。
そして、終了判定手段422は、DOMツリーから、この<body>タグのすぐ下にノードがあるか否かを確認する。この場合、図2(B)に示すよう、<div>タグのノードが存在するので、終了判定手段422は、<body>タグに対する処理は終了しないと判定する。
次いで、DOMツリー対応処理手段421は、この<div>タグに対する処理を行う。同様に、この<div>タグに対して設定された「margin」、「border」、「padding」の分だけ座標位置を移動させる。
以下、同様に順次レイアウトが実行されるが、要素の内容部分である文字列1の場合は以下のようにレイアウトを行う。即ち、DOMツリー対応処理手段421は、「margin」等による座標移動後、<div>タグに対するボックスの幅(図4参照)のデータと、文字列1のデータとをフォントデータ提供手段430に出力し、実際にその幅に入った文字列の文字数と、文字列の幅とに関する情報を得る。そして、DOMツリー対応処理手段421は、文字列1のすべてが1行分の幅に入ることができないと、次の行に対するレイアウトを行うべく座標位置を移動させる。DOMツリー対応処理手段421は、1行分の幅に入ることができなかった文字列1の残りの文字列に対して、再び前述の処理を繰り返す。これにより、図4に示すよう<div>タグのボックス内に含まれる文字列1のレイアウトが終了する(この例では3行分の枠にレイアウトされる)。
そして、終了判定手段422により、すべてのノードに対する処理が終了したと判定されると、一連のレイアウト処理が終了する。レイアウト終了後は、前述したように、レンダリング、印刷処理が行われる。尚、本プリンタ1では、原則として1頁分のレイアウトが終了するとレイアウト後のデータ(各ボックス内の座標やスタイルデータなどのレイアウト情報)がレンダリング部50に出力される。
[orphans、widowsが記述された文書に対する処理]
次に、本発明に係る「orphans」、「widows」に対する処理について説明する。ここで、「orphans」は、前述したように、ページの下端に最低限残さなければならない行数を示す要素(或いはプロパティ)である。例えば、図5(A)に示すように、1頁分の印刷用紙の大きさ70に対し、2つのブロック要素A及びB75がレイアウトされている場合に、ページの下端からの行数は「5」、「orphans」が「4」と設定されていると、このブロック要素B75は「orphans」によって指定された行数(以下、この行数を含め「orphans」と称す)を満たすことになる。勿論、「orphans」とレイアウトした行数とが一致する場合もこの条件を満たすことになる。
一方、「widows」は、ページの上端に最低限残さなければならない行数を示す要素(或いはプロパティ)である。例えば、図5(B)に示す例では、ページの先頭にレイアウトされたブロック要素A75の行数は「5」、「widows」が「4」と設定されていると、このブロック要素A75は、「widows」によって指定された行数(以下、この行数を含め「widows」を称す)を満たすことになる。勿論、「widows」とレイアウトした行数とが一致する場合も条件を満たすことになる。
次に、この「orphans」と「widows」に対する処理アルゴリズムについて説明する。図6乃至図8はその一例である。なお、この処理は、主として前述したレイアウト手段40のレイアウト情報作成手段420により行われる。
処理が開始されると(S10)、まず、ページ先頭からプロック要素のレイアウトを開始したときに改ページが発生した場合、レイアウト済みの行数が「orphans」を超えなかったとしても、改ページは行わない(S11)。例えば、図9(A)に示すように、1頁の印刷用紙の大きさ70に対して、あるブロック要素に関するレイアウトを行った結果、印刷用紙の大きさ70を超える場合、このブロック要素75自体を次のページにレイアウトすることは行わない。次のページにこのブロック要素75をレイアウトしても、改ページが発生して、これを繰り返すことで、無限ループに入ってしまうからである。この場合、ページ先頭から順次レイアウトし、1頁分の印刷用紙の大きさ70を超えた部分は、次ページにレイアウトされる。
ここで、ブロック要素75をレイアウトした結果、改ページが発生したか否かは以下のようにして判断できる。即ち、レイアウト情報作成手段420は、各ブロック要素75に対する座標位置を管理している。前述したように、例えば文字列に対する1行分のレイアウトが終了する毎に、レイアウト情報作成手段420(とくにDOMツリー対応処理手段421)は、座標位置を移動させている。一方で、レイアウト情報作成手段420(とくに領域マネージャ423)は、1頁分の印刷用紙の大きさ70に対して、レイアウト後の残り領域を管理している。従って、レイアウト情報作成手段420は、1頁分の印刷用紙の大きさ70を超えて、ブロック要素75内の文字列等をレイアウトしたときに、改ページが発生すると認識する。
図6の処理アルゴリズムに戻り、ページの途中からプロック要素のレイアウトを開始したときに改ページが発生した場合に、現在のページのレイアウト済み行数を調べ、この行数が「orphans」を超えない場合は、次ページの先頭からブロック要素75のレイアウトを開始する(S12)。図9(B)に示すように、現在のページでブロック要素A75に対するレイアウトが終了し、ブロック要素B75に対するレイアウトを行った結果、ブロック要素B75の先頭から3行目まで現在のページにレイアウトされ、4行目以降が次ページにレイアウトされる場合を考える。ブロック要素B75のページの下端からの行数は「3」であり、「orphans」が「4」と設定されると、ブロック要素B75のレイアウトに関し、「orphans」の条件を満たさないことになる。従って、このような状況が発生した場合、レイアウト情報作成手段420は、次ページにこのブロック要素B75をまとめてレイアウトする。
ここで、レイアウト済みの行数が「orphans」を超えても先行ページは印刷しない(S13)。つまり、先行ページのレイアウトが終了するものの、先行ページのレイアウトは確定させず、先行ページのレイアウト情報は前述のレイアウト情報記憶手段440からレンダリング50に出力されない。例えば、図10(A)に示すように、先行ページにレイアウトしたブロック要素B75の行数が「5」のとき、「orphans」の「4」を超えることになるが、レイアウトの終了した先行ページに対して印刷は行わない。先行ページに対する印刷を行うと、後続ページ側で「widows」の条件を満たさない場合に先行ページに対する再レイアウト(後述)を実行できなくなるからである。
従って、まず、後続ページにブロック要素75の残りをレイアウトしたとき、「widows」を超えるか否か確認する。そして、「widows」を超えると、先行ページを印刷、即ち、レイアウト情報作成手段420は先行ページに対するレイアウトを確定させ、先行ページに関するレイアウト情報をレンダリング部50に出力することで、印刷の処理を行う(S14)。例えば、図10(B)に示すように、「widows」が「4」と設定され、ブロック要素B75に対するレイアウトを行った結果、後続ページが行数「6」となった場合、「widows」を超えるため、先行ページに対する印刷を行う。
また、後続ページにブロック要素75の残りをレイアウトしている途中、後続ページで改ページが発生した場合も先行ページを印刷する(S15、図7参照)。例えば、図11に示すように、ブロック要素B75を後続ページにレイアウトしたときに、ブロック要素B75が1頁分の印刷用紙の大きさ70を超えると、先行ページに関するレイアウト情報がレンダリング部50に出力され印刷が行われる。先行ページと後続ページとの間で再レイアウトを行う必要がないからである。
次に、後続ページにブロック要素75の残りをレイアウトした結果、「widows」を超えない場合、レイアウト情報作成手段420により、先行ページから1行削除し、その1行を後続ページに移動させるよう処理を行う。そして、レイアウト情報作成手段420は、この処理を「widows」を満たすまで(「widows」と同じ行数となるまで)繰り返す(S16)。前述した再レイアウトの処理である。この再レイアウト処理が終了すると、先行ページのレイアウトが確定し、先行ページのレイアウト情報がレンダリング部50等に出力される。
例えば、図12に示すよう、「widows」が「6」と設定され、後続ページにブロック要素B75をレイアウトした結果、その行数が「4」となると「widows」の条件は満たさない。従って、レイアウト情報作成手段420は、先行ページのブロック要素B75から1行削除して、その1行を後続ページに移動させる。「widows」は「6」なので、移動を2回繰り返すことで、「widows」を満たすことになる。
なお、このように1行ずつ移動させるのは、後続ページのページサイズが異なる場合を考慮しているからである。例えば、図13に示すように、後続ページのページサイズが先行ページよりも幅広の場合、先行ページから1行、後続ページに移動させても、後続ページの1行分に足りず、「widows」の条件を満たさないこともあり得るからである。
図7の処理に戻り、後続ページが「widows」を満たすよう、先行ページから1行ずつ移動させても、先行ページが「orphans」を満たさない場合もある。この場合は、レイアウト情報作成手段420は、改ページの発生するブロック要素75をすべて後続ページに移動させるようレイアウトする(S17)。例えば、図14に示すよう、先行ページから1行づつ移動させると後続ページが「widows」を満たすこととなるが、移動した結果、先行ページは「orphans」の条件を満たさなくなる。この場合、ブロック要素B75自体が後続ページに移動される。
以上により、「orphans」と「widows」が記述された文書に対する処理アルゴリズムが終了する(S18)。
前述したように、再レイアウトに関するS16、S17は、後続ページのページサイズが先行ページのページサイズとが異なる場合を考慮した処理となっている。ページサイズが共に同じであるときは、S16、S17に代わり、図8に示す処理アルゴリズムが実行される。即ち、後続ページにブロック要素75の残りをレイアウトした結果、「widows」を超えなかった場合、先行ページから「widows」を満たすのに必要な行数だけ後続ページに移動させる。そして、移動した結果、先行ページが「orphans」を満たさないとブロック要素75全体を後続ページに移動させる(S19)。1行ずつ移動させるのではなく、「widows」を満たす分必要な行数だけ移動させる。1行ずつ移動させる場合と比較して処理を速くすることができる。
以上の処理アルゴリズムにより、本プリンタ1は「orphans」や「widows」が記述された文書5に対する処理を実行することができ、また、「orphans」と「widows」の双方の条件を満たすよう処理が行われるため、その整合性の取れた処理が行われる。更に、先行ページにブロック要素75の先頭部分の少数行のみ印刷や表示が行われたり、後続ページの最後尾部分の少数行のみ印刷等が行われる事態を回避でき、見栄えの良い印刷等を行い得る。
[orphans、widowsの値を動的に変更する処理]
次に、「orphans」、「widows」の値を動的に変更する処理アルゴリズムについて説明する。CSSでは、XHTML文書5内に、印刷する際の用紙サイズを指定することができる。その例を図15に示す。しかしながら、文書5内で用紙サイズを指定しても、本プリンタ1を使用する者(以下、「ユーザ」と称す)が本プリンタ1の液晶画面等を操作して、異なる用紙サイズを指定する場合がある。つまり、文書作成者とユーザとで異なる用紙サイズを指定する場合がある。
このような状況で、「orphans」、「widows」が指定されていたときに、ユーザの指定した用紙サイズで印刷すると、想定していない位置で改ページが発生し、見栄えの良くない状態で印刷されてしまう場合がある。その例を図17に示す。文書作成者は、見栄えを良くするため、40行の縦幅の用紙サイズ71に対して「orphans」を「6」と指定した文書5を作成した。ところが、ユーザは10行の縦幅の用紙サイズ72を指定して印刷を行うと、図17(B)に示すように、必ずしも見栄え良くレイアウト、及びその後の印刷を行うことができない。つまり、ユーザが望んでいない状態で印刷されてしまう場合がある。そこで、文書作成者が指定した「orphans」、「widows」の値を、ユーザの指定した用紙サイズに応じて変更することで、そのレイアウトを動的に変更するようにする。
図16は、このような「orphans」、「widows」の値を動的に変更する処理アルゴリズムの一例である。この処理アルゴリズムは、本実施例では変更手段としてのレイアウト情報作成手段420により実行されるものとする。
まず、処理が開始される(S30)と、レイアウト情報作成手段420は用紙サイズが異なるか否か判断する(S31)。文書作成者により作成された用紙サイズを示すデータは、スタイルデータ記憶手段220から読み出すことで得る。一方、ユーザの指定した用紙サイズは、例えば、図示しない液晶表示部でユーザが指定でき、その指定された用紙サイズに関する情報がレイアウト情報作成手段420に入力される。この両者を比較することでレイアウト情報作成手段420は本処理を判断する。
そして、用紙サイズが同じであれば(NO)、動的に変更する処理を行うことなく、本処理アルゴリズムは終了する(S33)。一方、用紙サイズが異なれば(S31でYES)、レイアウト情報作成手段420は、「orphans」、「widows」を動的に変更する処理を行う(S32)。
具体的には、図17に示すように、文書作成者が指定した(文書5に記述された)用紙サイズの縦方向(紙送り方向)の長さをXcm、文書作成者が指定した「orphans」を「orphans_x」とする。また、ユーザの指定した用紙サイズの縦方向(同様に紙送り方向)の長さをYcmとし、変更後の「orphans」を「orphans_y」とすると、
「orphans_y」=(Y/X)×「orphans_x」
により、値を得る。一方、「widows」についても同様に、
「widows_y」=(Y/X)×「widows_x」
により、変更後の値を得る。つまり、ユーザの指定した用紙サイズに合わせるよう、「orphans」と「widows」の値を変更している。
そして、レイアウト情報作成手段420は、このように動的に変更された「orphans_y」、「widows_y」を用いて、前述した「orphans」、「widows」に対する処理アルゴリズムを実行する。
図18乃至図19は、「orphans」、「widows」を動的に変更する処理アルゴリズムを実行して、処理を行ったときの例を示す図である。文書作成者は40行の用紙サイズで、見栄えを良くするよう、「orphans」と「widows」を共に「8」と指定した場合、ユーザが10行の用紙サイズを指定すると、とくにブロック要素B75に関しては、図18に示すようにレイアウトされる。
ユーザの指定した用紙サイズで「orphans」と「widows」を変更せずに、前述した「orphans」、「widows」に対する処理アルゴリズムを実行すると、図19(A)に示すようにレイアウトされる。即ち、ブロック要素B75に関し、最初は1ページ目に先頭から6行分がレイアウトされるものの、「orphans」の「8」を満たさないため、2ページ目の先頭からレイアウトされる(図6のS12)。そして、2ページ目にはブロック要素B75が10行、3ページ目に6行レイアウトされるものの、3ページ目の行数は「widows」の「8」を満たさないため、2ページ目のブロック要素B75から2行分、3ページ目に移動する(S16とS17、又はS19)。そして、図19(A)のように1ページ目乃至3ページ目がレイアウトされる。
一方、「orphans」と「widows」を動的に変更すると、「orphans_y」と「widows_y」は、共に「2」(=(10/40)×8:説明を容易にするため、X、Yともに行数のままで計算した)となる。そして、この変更された「orphans_y」と「widows_y」を用いて、ブロック要素B75をレイアウトすると図19(B)に示すようになる。
このように、「orphans」と「widows」を動的に変更する処理アルゴリズムを実行することで、本プリンタ1はXHTML文書5で指定された用紙サイズとユーザが指定した用紙サイズとが一致しない場合でも、見栄えよく印刷することができる。また、ユーザの指定した用紙サイズに合わせるよう「orphans」と「widows」の値を変更して印刷を行うため、印刷用紙の枚数削減を図ることもできる。
図17乃至図19に示す例では、ユーザの指定した用紙サイズが文書内の用紙サイズよりも小さい例で説明したが、その逆の場合でも全く同様である。
また、ユーザが指定した用紙サイズと文書作成者が指定した用紙サイズとが異なる場合で前述の例を説明した。例えば、それ以外にも、文書作成者が指定した用紙サイズでは、プリンタの印刷可能な用紙サイズの限界を超える場合、プリンタ1において印刷可能な用紙サイズに変更して印刷する場合でも同じことが言える。文書作成者が「A3」と指定し、プリンタ1では「A4」が最大の場合に、「A4」に変更して処理を行う等である。更に、ユーザの指定した用紙サイズで印刷できない場合にその用紙サイズをプリンタ1で変更する場合でも全く同様のことが言える。
[変形例]
前述した例は、画像処理システムの一例としてプリンタ1を例にして説明した。勿論、プリンタ1以外でも、複写機やファクシミリ、これらの機能を備える複合機、ディスプレイなどの表示装置、など種々の装置に適用可能である。このような場合でも、前述した例と同様の作用効果を得る。
また、前述の例では、構造化言語の例としてXHTML言語を使用して説明した。それ以外にも、例えば、HTML(Hyper Text Markup Language)やSGML(Standard Generalized Markup Language)などの言語により記述された文書であってもよい。
画像処理システムの一例であるプリンタの全体構成を示す図である。 XHTML文書の例と、DOMツリーの例とを示す図である。 レイアウト手段の内部構成を示す図である。 レイアウト手段で行われるレイアウトの一例を示す図である。 「orphans」と「widows」の概念を説明するための図である。 「orphans」と「widows」の処理アルゴリズムの一例を示す図である。 「orphans」と「widows」の処理アルゴリズムの一例を示す図である。 「orphans」と「widows」の処理アルゴリズムの一例を示す図である。 レイアウトの一例を示す図である。 「orphans」と「widows」を用いたレイアウトの一例を示す図である。 「orphans」と「widows」を用いたレイアウトの一例を示す図である。 「orphans」と「widows」を用いたレイアウトの一例を示す図である。 「orphans」と「widows」を用いたレイアウトの一例を示す図である。 「orphans」と「widows」を用いたレイアウトの一例を示す図である。 ページサイズを記述したXHTML文書の一例を示す図である。 「orphans」と「widows」の変更アルゴリズムの一例を示す図である。 XHTML文書とユーザとでレイアウトの違いを説明するための図である。 XHTML文書とユーザとでレイアウトの違いを説明するための図である。 「orphans」と「widows」を動的に変更させたときと、変更させなかったときとでレイアウトの違いを説明するための図である。
符号の説明
1 プリンタ(画像処理システム)、5 XHTML文書、20 DOM−スタイル管理手段、40 レイアウト手段、70〜72 1頁分の印刷用紙の大きさ、75 ブロック要素、210 DOMツリー生成手段、220 スタイルデータ記憶手段、420 レイアウト情報作成手段

Claims (9)

  1. 構造化言語で記述された文書を印刷するプリンタにおいて、
    前記文書内に記述されたレイアウトに関する情報を変更する変更手段、
    を備え、変更されたレイアウト情報に基づいて前記文書を印刷することを特徴とするプリンタ。
  2. 請求項1記載のプリンタにおいて、
    前記レイアウトに関する情報は、ページの下端に最低限残さなければならない行数を示す第1の要素及び/又はページの上端に最低限残さなければならない行数を示す第2の要素である、ことを特徴とするプリンタ。
  3. 請求項1記載のプリンタにおいて、
    前記変更手段は、前記文書内で指定された第1の用紙サイズとは異なる第2の用紙サイズで印刷するときに前記レイアウトに関する情報を変更する、ことを特徴とするプリンタ。
  4. 請求項3記載のプリンタにおいて、
    前記変更手段は、前記レイアウトに関する情報を、前記第1の用紙サイズからから前記第2の用紙サイズに合わせるように変更する、ことを特徴とするプリンタ。
  5. 請求項1乃至4記載のプリンタにおいて、
    前記変更手段は、前記第1の要素によって示される行数及び/又は前記第2の要素によって示される行数とを、前記第2の用紙サイズに合わせるように変更する、ことを特徴とするプリンタ。
  6. 請求項5記載のプリンタにおいて、
    前記変更手段は、前記第1の用紙サイズの紙送り方向の長さをX、前記第2の用紙サイズの紙送り方向の長さをYとすると、前記第1の要素によって示される行数及び/又は前記第2の要素によって示される行数を(Y/X)倍することにより変更する、ことを特徴とするプリンタ。
  7. 請求項1乃至6記載のプリンタにおいて、
    前記第1の要素は「orphans」であり、前記第2の要素は「widows」である、ことを特徴とするプリンタ。
  8. 請求項1記載のプリンタにおいて、
    更に、前記文書を印刷するときの用紙サイズを指定する用紙サイズ設定手段を備え、
    前記変更手段は、前記文書内で指定された用紙サイズと前記用紙サイズ設定手段で指定された用紙サイズとが異なるときに前記レイアウトに関する情報を変更する、ことを特徴とするプリンタ。
  9. 構造化言語で記述された文書を印刷するプリンタにおける印刷方法であって、
    前記文書内に記述されたレイアウトに関する情報を変更手段により変更する工程と、
    変更されたレイアウト情報に基づいて印刷手段により前記文書を印刷する工程と、
    を備えることを特徴とする印刷方法。
JP2005072638A 2005-03-15 2005-03-15 プリンタ Expired - Fee Related JP4556717B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005072638A JP4556717B2 (ja) 2005-03-15 2005-03-15 プリンタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005072638A JP4556717B2 (ja) 2005-03-15 2005-03-15 プリンタ

Publications (2)

Publication Number Publication Date
JP2006255916A true JP2006255916A (ja) 2006-09-28
JP4556717B2 JP4556717B2 (ja) 2010-10-06

Family

ID=37095665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005072638A Expired - Fee Related JP4556717B2 (ja) 2005-03-15 2005-03-15 プリンタ

Country Status (1)

Country Link
JP (1) JP4556717B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1906643A2 (en) 2006-09-29 2008-04-02 Brother Kogyo Kabushiki Kaisha Printing device
JP2013176852A (ja) * 2012-02-28 2013-09-09 Nec Access Technica Ltd 印刷装置、方法、及び、プログラム
JPWO2016121774A1 (ja) * 2015-01-30 2017-11-02 京セラドキュメントソリューションズ株式会社 画像形成装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002219845A (ja) * 2000-11-17 2002-08-06 Canon Inc 構造化記述言語で記述されたデータを処理する画像形成装置及び画像形成方法
WO2003085509A1 (fr) * 2002-04-10 2003-10-16 Matsushita Electric Industrial Co., Ltd. Generateur de contenus, recepteur, imprimante et systeme d'impression de contenus
JP2004110401A (ja) * 2002-09-18 2004-04-08 Canon Inc 文書印刷装置及び方法
WO2005006192A1 (ja) * 2003-07-10 2005-01-20 Fujitsu Limited 構造化文書処理方法及び装置並びに記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002219845A (ja) * 2000-11-17 2002-08-06 Canon Inc 構造化記述言語で記述されたデータを処理する画像形成装置及び画像形成方法
WO2003085509A1 (fr) * 2002-04-10 2003-10-16 Matsushita Electric Industrial Co., Ltd. Generateur de contenus, recepteur, imprimante et systeme d'impression de contenus
JP2004110401A (ja) * 2002-09-18 2004-04-08 Canon Inc 文書印刷装置及び方法
WO2005006192A1 (ja) * 2003-07-10 2005-01-20 Fujitsu Limited 構造化文書処理方法及び装置並びに記憶媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1906643A2 (en) 2006-09-29 2008-04-02 Brother Kogyo Kabushiki Kaisha Printing device
EP1906643A3 (en) * 2006-09-29 2008-11-12 Brother Kogyo Kabushiki Kaisha Printing device
US8233176B2 (en) 2006-09-29 2012-07-31 Brother Kogyo Kabushiki Kaisha Print device with layout replacement unit
JP2013176852A (ja) * 2012-02-28 2013-09-09 Nec Access Technica Ltd 印刷装置、方法、及び、プログラム
JPWO2016121774A1 (ja) * 2015-01-30 2017-11-02 京セラドキュメントソリューションズ株式会社 画像形成装置

Also Published As

Publication number Publication date
JP4556717B2 (ja) 2010-10-06

Similar Documents

Publication Publication Date Title
US7821690B2 (en) Information processing apparatus, image forming apparatus and method, and storage medium readable by computer therefor
US20050114764A1 (en) Producing a page of information based on a dynamic edit form and one or more transforms
US20050243371A1 (en) Document processing apparatus and method
JP5539280B2 (ja) データ処理装置、データ処理方法およびプログラム
JP2006074601A (ja) 文書管理システム及びその方法
US7394563B2 (en) Image forming apparatus that executes an image trimming process with priority over other commands, method therefor, and storage medium storing a program therefor
US20050125724A1 (en) PPML to PDF conversion
JP4556717B2 (ja) プリンタ
WO2010143637A1 (ja) 画像処理装置、画像処理方法及び記憶媒体
JP5792942B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2006259819A (ja) 画像処理システム、及び画像処理方法
US20050114765A1 (en) Producing a page of information based on a dynamic edit form and one or more transforms
US7561293B2 (en) Image-forming device, image-forming method, computer program, and computer-readable recording medium
JP2005063243A (ja) 情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体
JP2006113803A (ja) 文書処理装置及びその方法
KR101508075B1 (ko) 정보 처리 장치, 웹브라우저 제어 방법 및 그 프로그램을 저장한 저장 매체
JP5947508B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP4613659B2 (ja) 画像処理システム
JP4599950B2 (ja) 処理装置、及び処理方法
JP2008165305A (ja) 印刷支援システム、印刷支援プログラム、及び、印刷支援方法
JP2010113650A (ja) 構造化文書印刷装置、構造化文書印刷方法及びプログラム
JP4013748B2 (ja) 文書生成装置
JP2009015753A (ja) 表示パネル、画面編集方法及び画面編集プログラム
JP2000293523A (ja) 構造化文書処理方法及び構造化文書処理装置
JP2006103280A (ja) 印刷装置、印刷装置の制御方法、制御プログラム及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100611

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: 20100629

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: 20100712

R150 Certificate of patent or registration of utility model

Ref document number: 4556717

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: 20130730

Year of fee payment: 3

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