(57)【要約】【課題】ＳＶＧ文書の印刷において、プリンタの負荷を低減する。【解決手段】プリンタは、文書データを受け付ける印刷文書受信部１００と、文書データから出力文書データを生成する文書解析部１２０と、文書解析部１２０が実行する印刷モードを選択する印刷モード判定部１４０と、出力文書データを加工するレイアウト処理部１７０と、印刷を行う印刷実行部１８０とを備え、文書解析部１２０は、逐次印刷モード１２５と、一括印刷モード１２６と、部分逐次印刷モード１２７と、を有し、印刷モード判定部１４０は、Ｓｔｒｅａｍａｂｌｅ属性値、メモリ使用量等により印刷モードを切り替える。【選択図】図２
2008254356.tif 000002
【特許請求の範囲】
【請求項１】
一時的にデータを格納するためのメモリを有し、文書データを印刷データに変換して印
刷する機能を有するプリンタであって、
ＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）文書データを受け付け
る印刷文書受信手段と、
受信した前記ＳＶＧ文書データについて構文・字句解析を行って出力文書データを生成
して前記メモリ上に格納する文書解析手段と、
前記出力文書データを予め指定されたスタイル情報に基づいて加工するレイアウト処理
を実行するレイアウト処理手段と、
レイアウト処理後の前記出力文書データを印刷データに変換して印刷を実行する印刷実
行手段と、
印刷モードを選択して切り替える印刷モード判定手段と、
を有し、
前記文書解析手段は、
１ページ単位で、前記出力文書データを生成し、前記レイアウト処理手段にレイアウト
処理を実行させ、前記印刷実行手段に印刷を実行させる、逐次印刷モード処理手段と、
１ページ単位で前記出力文書データを生成し、全ページの前記出力文書データを生成し
た後に、前記レイアウト処理手段にレイアウト処理を実行させ、前記印刷実行手段に印刷
を実行させる、一括印刷モード処理手段と、
１ページ単位で前記出力文書データを生成し、生成した前記出力文書データのデータ量
が予め定められた第１の基準値以上になった場合に、前記レイアウト処理手段にレイアウ
ト処理を実行させ、前記印刷実行手段に印刷を実行させる、部分逐次印刷モード処理手段
と、
、を有し、
前記印刷モード判定手段は、
前記ＳＶＧ文書データに含まれるＳｔｒｅａｍａｂｌｅ属性値を参照し、当該属性値が
Ｔｒｕｅの場合、前記逐次印刷モード処理手段を選択し、当該属性値がＦａｌｓｅの場合
、前記一括印刷モード処理手段を選択し、
選択された前記一括印刷モード処理手段において、生成された前記出力文書データのデ
ータ量が予め定められた第２の基準値以上になった場合に、前記部分逐次モード処理手段
を選択すること、
を特徴とするプリンタ。
【請求項２】
請求項１に記載のプリンタであって、
前記第１の基準値は、
予め定められた、部分逐次印刷モード処理手段が使用可能な前記メモリ上の領域の容量
、又は、ページ数であり、
前記第２の基準値は、
予め定められた、一括印刷モード処理手段が使用可能な前記メモリ上の領域の容量、又
は、ページ数であり、
前記第１の基準値は、前記第２の基準値よりも小さい値であること、
を特徴とするプリンタ。
【請求項３】
請求項２に記載のプリンタであって、
前記印刷モード判定手段は、
選択された前記一括印刷モード処理手段において、前記レイアウト処理手段がレイアウ
ト処理に使用するメモリ量が、予め定められた、前記レイアウト処理手段が使用可能な前
記メモリ上の領域の容量を超えた場合に、前記部分逐次モード処理手段を選択すること、
を特徴とするプリンタ。
【請求項４】
請求項１、２及び３のいずれか一項に記載のプリンタであって、
前記部分逐次モード処理手段は、
生成した前記出力文書データのうち、他のページに含まれる文書データの参照を指定す
る要素が含まれ、参照先の文書データを参照することできない出力文書データを、当該参
照先の文書データを参照することができるまで前記メモリ上に保持し、前記出力文書デー
タ以外の出力文書データについて、前記レイアウト処理手段にレイアウト処理を実行させ
、前記印刷実行手段に印刷を実行させること、
を特徴とするプリンタ。
【請求項５】
請求項４に記載のプリンタであって、
ユーザインタフェース画面を表示するための表示装置を備え、
前記部分逐次モード処理手段は、
保持した前記出力文書データについて、印刷の順番が変更になったことを示す画面を前
記表示装置に表示させること、
を特徴とするプリンタ。
【請求項６】
請求項５に記載のプリンタであって、
前記出力文書データを生成したページの順序に従ってページ数を印字すること、
を特徴とするプリンタ。
【請求項７】
一時的にデータを格納するためのメモリを有し、文書データを印刷データに変換して印
刷する機能を有するプリンタにおける、印刷制御方法であって、
前記プリンタは、
ＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）文書データを受け付け
る印刷文書受信ステップと、
受信した前記ＳＶＧ文書データについて構文・字句解析を行って出力文書データを生成
して前記メモリ上に格納する文書解析ステップと、
前記出力文書データを予め指定されたスタイル情報に基づいて加工するレイアウト処理
を実行するレイアウト処理ステップと、
レイアウト処理後の前記出力文書データを印刷データに変換して印刷を実行する印刷実
行ステップと、
印刷モードを選択して切り替える印刷モード判定ステップと、を実行し、
前記文書解析ステップは、
１ページ単位で、前記出力文書データを生成し、前記レイアウト処理ステップと、前記
印刷実行ステップを実行させる、逐次印刷モード処理ステップと、
１ページ単位で前記出力文書データを生成し、全ページの前記出力文書データを生成し
た場合に、前記レイアウト処理ステップと、前記印刷実行ステップを実行させる、一括印
刷モード処理ステップと、
１ページ単位で前記出力文書データを生成し、生成した前記出力文書データのデータ量
が予め定められた第１の基準値以上の場合に、前記レイアウト処理ステップと、前記印刷
実行ステップを実行させる、部分逐次印刷モード処理ステップと、
を有し、
前記印刷モード判定ステップは、
前記ＳＶＧ文書データに含まれるＳｔｒｅａｍａｂｌｅ属性値を参照し、当該属性値が
Ｔｒｕｅの場合、前記逐次印刷モード処理ステップを選択し、当該属性値がＦａｌｓｅの
場合、前記一括印刷モード処理ステップを選択し、
選択された前記一括印刷モード処理ステップにおいて、生成された前記出力文書データ
のデータ量が予め定められた第２の基準値以上の場合に、前記部分逐次モード処理ステッ
プを選択すること、
を特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ等の組み込み機器における構造化文書（ＸＭＬ）の文書処理に関す
る。
【背景技術】
【０００２】
文書やデータの意味や構造を記述するためのマークアップ言語として、ＸＭＬ（Ｅｘｔ
ｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）が知られている。また、Ｗ３Ｃ（Ｗ
ｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）勧告として公開された、２Ｄベク
ター画像等を記述するためのＸＭＬベースの言語、ＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔ
ｏｒ  Ｇｒａｐｈｉｃｓ）が知られている。ＳＶＧ仕様の中では、ＳＶＧで記載された文
書の印刷を行うプリンタ等の環境における扱い方について、ＳＶＧ  Ｐｒｉｎｔという仕
様が規定されている（非特許文献１）。
【０００３】
【非特許文献１】ＳＶＧ  Ｐｒｉｎｔ（http://www.w3.org/TR/SVGPrint/）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＳＶＧ  Ｐｒｉｎｔ文書では、プリンタ等の機器が出力する印刷媒体のページの範囲を
定めるために、ｐａｇｅ要素が使用される。また、文書の内容（以下、文書断片と呼ぶ）
を複数のページ間で共有する構造とすることができる。そのため、例えば、ｕｓｅ要素を
用いて、他のページにある文書断片を参照するように指定することができる。レンダリン
グの際には、参照先の文書断片が参照元のページのデータとして利用されて処理される。
【０００５】
また、ＳＶＧ  Ｐｒｉｎｔ文書の最も外側のＳＶＧ要素にｓｔｒｅａｍａｂｌｅ属性を
定義することができる。ｓｔｒｅａｍａｂｌｅ属性は、参照を指定する要素から後ろに、
参照すべき文書断片（リソース）が存在するか否かを示す。
【０００６】
具体的には、ｓｔｒｅａｍａｂｌｅ属性の値がｔｒｕｅの場合、参照を指定する要素が
あっても、当該要素より後ろには参照すべき文書断片が存在しないことを示す。すなわち
、参照を指定する要素が出現しても、その後ろの要素を参照することなく、その参照を解
決できるため、参照を解決するために文書全体のバッファリングを行う必要がない。
【０００７】
一方、ｓｔｒｅａｍａｂｌｅ属性の値がｆａｌｓｅの場合、参照を指定する要素によっ
ては、当該要素より後ろに参照すべき文書断片が存在することがあることを示す。すなわ
ち、参照を指定する要素が出現したときに、参照を解決できないことがあるため、参照を
解決するために文書全体のバッファリングを行う必要がある。
【０００８】
しかしながら、例えば、プリンタ等の組み込み機器には、メモリ資源量や印刷処理性能
が乏しいものがある。このような機器において、ｓｔｒｅａｍａｂｌｅ属性の値がｆａｌ
ｓｅに設定された大規模なＳＶＧ  Ｐｒｉｎｔ文書を印刷する場合、文書全体のバッファ
リングは負荷となり、メモリ資源の枯渇やスループットの大幅な低下が発生するという問
題がある。また、それらの機器が、文書全体のバッファリングをできない場合、その文書
全体の印刷を実行することができなくなる。
【０００９】
本発明の目的は、ＳＶＧ  Ｐｒｉｎｔ文書の印刷を行うプリンタ等の機器において、メ
モリ資源の使用状況や文書のページ数などに応じて、印刷モードを切り替えることにより
、印刷処理のメモリ資源の使用量を低減し、印刷処理のスループットを向上する技術を提
供することにある。また、文書全体のバッファリングをできない場合でも、印刷処理を継
続させることにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するため、第１の態様は、一時的にデータを格納するためのメモリを
有し、文書データを印刷データに変換して印刷する機能を有するプリンタであって、ＳＶ
Ｇ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）文書データを受け付ける印刷
文書受信手段と、受信した前記ＳＶＧ文書データについて構文・字句解析を行って出力文
書データを生成して前記メモリ上に格納する文書解析手段と、前記出力文書データを予め
指定されたスタイル情報に基づいて加工するレイアウト処理を実行するレイアウト処理手
段と、レイアウト処理後の前記出力文書データを印刷データに変換して印刷を実行する印
刷実行手段と、印刷モードを選択して切り替える印刷モード判定手段と、を有し、前記文
書解析手段は、１ページ単位で、前記出力文書データを生成し、前記レイアウト処理手段
にレイアウト処理を実行させ、前記印刷実行手段に印刷を実行させる、逐次印刷モード処
理手段と、１ページ単位で前記出力文書データを生成し、全ページの前記出力文書データ
を生成した場合に、前記レイアウト処理手段にレイアウト処理を実行させ、前記印刷実行
手段に印刷を実行させる、一括印刷モード処理手段と、１ページ単位で前記出力文書デー
タを生成し、生成した前記出力文書データのデータ量が予め定められた第１の基準値以上
の場合に、前記レイアウト処理手段にレイアウト処理を実行させ、前記印刷実行手段に印
刷を実行させる、部分逐次印刷モード処理手段と、を有し、前記印刷モード判定手段は、
前記ＳＶＧ文書データに含まれるＳｔｒｅａｍａｂｌｅ属性値を参照し、当該属性値がＴ
ｒｕｅの場合、前記逐次印刷モード処理手段を選択し、当該属性値がＦａｌｓｅの場合、
前記一括印刷モード処理手段を選択し、選択された前記一括印刷モード処理手段において
、生成された前記出力文書データのデータ量が予め定められた第２の基準値以上の場合に
、前記部分逐次モード処理手段を選択する。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施の形態について説明する。
【００１２】
図１は、本発明の第１の実施形態が適用されるプリンタのハードウェア構成の概要を説
明するためのブロック図である。本実施形態では、プリンタが、ＳＶＧ  Ｐｒｉｎｔ文書
データを受け付けて、その文書データを印刷データに変換して印刷を実行する。
【００１３】
本図に示すように、プリンタ１は、各種プログラムを実行するＣＰＵ１１と、データ及
びプログラム等を一時的に記憶するＲＡＭ１２と、プリンタ１を制御するための各種デー
タ及び各種プログラム等を予め不揮発的に記憶しているＲＯＭ１３と、印刷ヘッド、印刷
ヘッドを搭載するキャリッジを駆動するキャリッジ駆動機構、紙送り機構等から成るプリ
ンタエンジン１４と、ユーザからの操作を受け付けるための入力装置１５と、プリンタの
状態やメニュー画面等のユーザインタフェース画面を表示するための表示装置１６と、コ
ンピュータ等とのデータの送受信を行うための通信装置１７と、ＵＳＢメモリ等の可搬型
記憶媒体（図示しない）の情報を読み書きするための読み書き装置１８と、を備えている
。通信装置１７は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、無線ＬＡＮ、Ｂｌｕｅｔｏ
ｏｔｈ等の規格による通信を行う。なお、プリンタ１の構成はこれに限られない。
【００１４】
次に、図２を参照して、上記構成によりプリンタ１において実現される機能構成につい
て説明する。図２は、プリンタ１の機能構成を説明するためのブロック図である。
【００１５】
本図に示すように、プリンタ１上には、印刷文書受信部１００及び印刷制御部１１０が
構築される。もちろん、必要に応じて、オペレーティングシステム等の他の機能構成を備
えるようにしてもよい。
【００１６】
印刷文書受信部１００及び印刷制御部１１０は、例えば、図１に示す、ＲＯＭ１３に予
め記憶されているプログラムをＲＡＭ１２にロードしてＣＰＵ１１が実行することにより
構築される。プログラムは、読み書き装置１８を介して可搬型記憶媒体から、あるいは、
通信装置１７を介してネットワークから、ＲＯＭ１３にダウンロードされ、それから、Ｒ
ＡＭ１２上にロードされてＣＰＵ１１により実行されるようにしてもよい。また、読み書
き装置１８を介して可搬型記憶媒体から、あるいは、通信装置１７を介してネットワーク
から、ＲＡＭ１２上に直接ロードされ、ＣＰＵ１１により実行されるようにしてもよい。
【００１７】
印刷文書受信部１００は、通信装置１７を介して、コンピュータ等（図示しない）から
、印刷対象のＳＶＧ  Ｐｒｉｎｔ文書データを受信する。また、受信したＳＶＧ  Ｐｒｉ
ｎｔ文書データを印刷制御部１１０に渡す。もちろん、印刷文書受信部１００は、上記の
構成に限られず、例えば、読み書き装置１８を介して可搬型記憶媒体から、ＳＶＧ  Ｐｒ
ｉｎｔ文書データを受け取る構成としてもよい。
【００１８】
印刷制御部１１０は、入力されたＳＶＧ  Ｐｒｉｎｔ文書データについて、構文・字句
解析を行い、印刷データに変換して印刷処理を実行する。また、印刷制御部１１０は、例
えば、ＲＡＭ１２の使用状況などに応じて印刷モードを選択し、選択した印刷モードで印
刷処理を実行する。そのため、印刷制御部１１０は、文書解析部１２０と、印刷モード判
定部１４０と、レイアウト処理部１７０と、印刷実行部１８０とを備える。
【００１９】
文書解析部１２０は、受け付けたＳＶＧ  Ｐｒｉｎｔ文書データについて、構文・字句
解析を行い、その結果を出力文書データとしてＲＡＭ１２上に格納する処理を実行する。
この処理は、ＳＶＧ  Ｐｒｉｎｔ文書データを構成するページ（ｐａｇｅ要素）毎に実行
される。具体的には、文書解析部１２０は、例えば、ＸＭＬパーサー等を使用してＳＶＧ
Ｐｒｉｎｔ文書データの文法等のチェックを行うとともに、ＤＯＭ（Ｄｏｃｕｍｅｎｔ
Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）によりＳＶＧ  Ｐｒｉｎｔ文書データを文書ツリーとして
ＲＡＭ１２上に展開する。ここで、文書ツリーとは、ＸＭＬ文書の各要素をオブジェクト
として階層的にメモリ上で管理するためのデータ構造をいう。ここでは、ｐａｇｅ要素の
子要素についてのツリー構造をサブツリーと呼ぶものとする。
【００２０】
また、文書解析部１２０は、生成した出力文書データについてレイアウト処理を行うよ
うレイアウト処理部１７０に指示をする。
【００２１】
レイアウト処理部１７０は、レイアウト処理の実行の指示を受け付けると、実行指示の
中で指定された、ＲＡＭ１２上に格納された処理対象の出力文書データを、当該文書デー
タの中で指定されたスタイル情報に基づいて、加工するレイアウト処理を行う。また、例
えば、ページメディアのサイズ等に合わせたレイアウト処理を行う。スタイル情報は、例
えば、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）などであり、ＳＶＧ  Ｐ
ｒｉｎｔ文書データと共に受信される。
【００２２】
印刷実行部１８０は、レイアウト処理後の出力文書データを、レンダリングにより画像
データに変換して印刷データとして出力し、プリンタエンジン１４に印刷媒体である用紙
等に印刷を実行させる。
【００２３】
本実施形態では、文書解析部１２０は、複数の印刷モードを備える。そして、文書解析
部１２０は、これらの中の一の印刷モードにより処理を実行する。印刷モードには、逐次
印刷モード１２５、一括印刷モード１２６、部分逐次印刷モード１２７がある。これらの
印刷モードは、それぞれ、生成した出力文書データについての、レイアウト処理の指示を
レイアウト処理部に対して行うタイミング（又は単位）により異なる、印刷処理の制御方
式である。以下に、各モードについて具体的に説明する。
【００２４】
逐次印刷モード１２５では、文書解析部１２０は、１ページ（ｐａｇｅ要素）の出力文
書データを生成してＲＡＭ１２上に格納すると、当該１ページの出力文書データについて
のレイアウト処理の実行指示をレイアウト処理部１７０に出す。そして、当該ページにつ
いて、レイアウト処理部１７０の処理と、印刷実行部１８０の処理が終了すると、ＲＡＭ
１２上の出力文書データを削除し、次の１ページについての処理を実行する。このように
、文書解析部１２０は、１ページ単位に処理を繰り返し、ＳＶＧ  Ｐｒｉｎｔ文書データ
を構成する全ページの印刷処理を実行する。
【００２５】
一括印刷モード１２６では、文書解析部１２０は、受け付けたＳＶＧ  Ｐｒｉｎｔ文書
データを構成する各ページの出力文書データを生成してＲＡＭ１２上に格納する。そして
、全ページ分の処理を終了すると、ＲＡＭ１２上に格納した全ページの出力文書データに
ついての、レイアウト処理の実行指示をレイアウト処理部１７０に出す。当該全ページに
ついて、レイアウト処理部１７０の処理と、印刷実行部１８０の印刷処理が終了すると、
ＲＡＭ１２上の出力文書データを削除し、印刷処理を終了する。
【００２６】
部分逐次印刷モード１２７では、文書解析部１２０は、受け付けたＳＶＧ  Ｐｒｉｎｔ
文書データを構成する各ページの出力文書データを生成してＲＡＭ１２上に格納する。そ
して、予め定められたＲＡＭ１２上のメモリ使用量やページ数等の基準値を超えた場合、
ＲＡＭ１２上に格納された出力文書データについての、レイアウト処理の実行指示をレイ
アウト処理部１７０に出す。当該出力文書データについて、レイアウト処理部１７０の処
理と、印刷実行部１８０の印刷処理が終了すると、ＲＡＭ１２上の出力文書データを削除
し、出力文書データの生成を行っていないページから処理を実行する。このように、文書
解析部１２０は、例えば、数ページ単位の処理を繰り返し、ＳＶＧ  Ｐｒｉｎｔ文書デー
タを構成する全ページの印刷処理を実行する。
【００２７】
さて、文書解析部１２０が実行する上記のいずれかの印刷モードは、印刷モード判定部
１４０により選択、若しくは、切り替えられる。
【００２８】
先ず、印刷モード判定部１４０は、文書解析部１２０が受け取ったＳＶＧ  Ｐｒｉｎｔ
文書データに記述された、ｓｔｒｅａｍａｂｌｅ属性の値を参照する。そして、その値（
ｔｒｕｅ若しくはｆａｌｓｅ）に従って、印刷モード（初期モード）を決定する。具体的
には、属性値がｔｒｕｅ（文書全体のバッファリングを行う必要がない）の場合、印刷モ
ード判定部１４０は、逐次印刷モード１２５を選択する。一方、ｆａｌｓｅ（文書全体の
バッファリングを行う必要がある）の場合、印刷モード判定部１４０は、一括印刷モード
１２６を選択する。印刷モードが選択されると、文書解析部１２０は、印刷対象のＳＶＧ
Ｐｒｉｎｔ文書データについての印刷処理を開始する。
【００２９】
また、印刷モード判定部１４０は、文書解析部１２０が一括印刷モード１２６で処理を
実行している場合に、例えば、ＲＡＭ１２のメモリ資源の残量が一定の基準値未満になっ
たことを検出すると、印刷モードを部分逐次印刷モード１２７に切り替える。切り替えの
条件は、例えば、ページ数であってもよいし、文書解析部１２０が使用することのできる
ＲＡＭ１２上のメモリ容量の上限であっても良い。
【００３０】
次に、図３ないし図５を参照して、印刷制御部１１０の動作を中心にプリンタ１の動作
についてより具体的に説明する。
【００３１】
図３は、印刷モード（初期モード）の決定処理の流れを示すフローチャート図である。
文書解析部１２０は、印刷文書受信部１００から出力されたＳＶＧ  Ｐｒｉｎｔ文書デー
タを受け付けると、印刷モード判定部１４０に、本図に示す、印刷モード決定処理を実行
させる。
【００３２】
先ず、印刷モード判定部１４０は、ＳＶＧ  Ｐｒｉｎｔ文書データ内のＳｔｒｅａｍａ
ｂｌｅ属性値を取得する（Ｓ３０１）。
【００３３】
そして、当該属性値を参照し、ｔｒｕｅであるかｆａｌｓｅであるか判定する（Ｓ３０
２）。
【００３４】
ｔｒｕｅの場合（Ｓ３０２でｔｒｕｅ）、印刷モード判定部１４０は、印刷モードとし
て逐次印刷モード１２５を選択する（Ｓ３０３）。
【００３５】
一方、ｆａｌｓｅの場合（Ｓ３０２でｆａｌｓｅ）、印刷モード判定部１４０は、一括
印刷モード１２６を選択する（Ｓ３０４）。
【００３６】
こうして印刷モードを選択すると、印刷モード判定部１４０は、印刷モード決定処理を
終了する。
【００３７】
図４は、逐次印刷モードによる印刷処理の流れを示すフローチャート図である。上述し
た印刷モード決定処理（図３）において逐次印刷モード１２５が選択されると、文書解析
部１２０は、逐次印刷モード１２５により、本図に示す、印刷処理を開始する。
【００３８】
先ず、文書解析部１２０は、１ページ目のｐａｇｅ要素終了タグまでサブツリー（出力
文書データ）を生成し、ＲＡＭ１２上に格納する（Ｓ４０１）。また、当該ページのサブ
ツリーについてのレイアウト処理の実行指示をレイアウト処理部１７０に出す。
【００３９】
レイアウト処理部１７０は、この指示を受け付けると、ＲＡＭ１２上の当該１ページ目
のサブツリーについて、予め指定されたスタイル情報に基づいて、レイアウト処理を実行
する（Ｓ４０２）。
【００４０】
レイアウト処理が終了すると、印刷実行部１８０は、レイアウト処理後の１ページ目の
サブツリーについてレンダリングを行って印刷データを生成し、当該データについてプリ
ンタエンジン１４による印刷を実行する（Ｓ４０３）。
【００４１】
１ページ目の印刷処理が終了すると、文書解析部１２０は、ＲＡＭ１２上に格納されて
いる当該ページのサブツリーを削除する（Ｓ４０４）。
【００４２】
そして、文書解析部１２０は、印刷処理を行ったページ（ｐａｇｅ要素）が、ＳＶＧ  
Ｐｒｉｎｔ文書データ内の最終ページであるかを判定する（Ｓ４０５）。
【００４３】
最終ページでないと判定した場合（Ｓ４０５でＮｏ）は、次のページのｐａｇｅ要素に
ついて、上述した印刷処理を行う（Ｓ４０１〜Ｓ４０４）。以降、最終ページとなる（Ｓ
４０５でＹｅｓ）まで同様に印刷処理を行う。
【００４４】
そして、最終ページであると判定した場合（Ｓ４０５でＹｅｓ）は、ＳＶＧ  Ｐｒｉｎ
ｔ文書データの印刷処理を終了する。
【００４５】
図５は、一括印刷モード又は部分逐次印刷モードによる印刷処理の流れを示すフローチ
ャート図である。上述した印刷モード決定処理（図３）において一括印刷モード１２６が
選択されると、文書解析部１２０は、本図に示す印刷処理を開始する。
【００４６】
先ず、文書解析部１２０は、１ページ目のｐａｇｅ要素終了タグまでサブツリー（出力
文書データ）を生成し、ＲＡＭ１２上に格納する（Ｓ５００）。
【００４７】
そして、文書解析部１２０は、生成したサブツリーが、ＳＶＧ  Ｐｒｉｎｔ文書データ
内の最終ページであるかを判定する（Ｓ５０２）。
【００４８】
最終ページであると判定された場合（Ｓ５０２でＹｅｓ）、レイアウト処理部１７０は
、後述するレイアウト処理を実行する（Ｓ５２２）。一方、最終ページでないと判定され
た場合（Ｓ５０２でＮｏ）、印刷モード判定部１４０は、次の判定処理を行う（Ｓ５０４
、Ｓ５０６）。
【００４９】
すなわち、印刷モード判定部１４０は、ＲＡＭ１２上に格納されたサブツリーのデータ
量が、予め定められた基準値以上であるかを判定する（Ｓ５０４）。
【００５０】
データ量の基準値は、現在の印刷モードが一括印刷モード１２６である場合（初期モー
ド）、例えば、文書解析部１２０に割り当てることができるＲＡＭ１２上のメモリ容量の
最大値が予め設定されている。
【００５１】
一方、後述する切り替え処理（Ｓ５０８で一括印刷モード、Ｓ５１０、Ｓ５１２）によ
り印刷モードが部分逐次印刷モード１２７となっている場合、データ量の基準値は、上述
した一括印刷モード１２６の基準値よりも小さい値が設定されている。
【００５２】
なお、部分逐次印刷モード１２７用のデータ量の基準値は、例えば、ＲＡＭ１２全体の
メモリ容量、他のプログラム等が使用するメモリ容量とのバランス、印刷処理のスループ
ット等が考慮されて予め決定された値である。このようにするのは、一括印刷モードと比
較して、メモリ容量の使用量を低減し、かつ、印刷処理のスループットを向上させるため
である。
【００５３】
もちろん、判定の条件は、上記に限られず、例えば、プログラム等が使用可能なＲＡＭ
１２上のメモリ容量（残容量）を基準としてもよい。この場合は、文書解析部１２０は、
残容量が予め定めた値未満になると、サブツリーの生成を中止することになる。
【００５４】
サブツリーのデータ量が基準値未満であると判定した場合（Ｓ５０４でＮｏ）、印刷モ
ード判定部１４０は、ＲＡＭ１２上に格納された出力文書データのページ数が、予め定め
られた基準値以上であるかを判定する（Ｓ５０６）。
【００５５】
このページ数の基準値は、一括印刷モード１２６の場合、一括で印刷を行うページ数が
多いほど印刷処理のスループットは低下するため、例えば、一括で使用可能なメモリ容量
と印刷処理のスループットのバランスが考慮されて予め設定される。
【００５６】
後述する切り替え処理（Ｓ５０８で一括印刷モード、Ｓ５１０、Ｓ５１２）により印刷
モードが部分逐次印刷モード１２７となった場合、ページ数の基準値は、一括印刷モード
１２６の基準値よりも小さい値が設定されている。このようにするのは、一括印刷モード
と比較して、メモリ容量の使用量を低減し、かつ、印刷処理のスループットを向上させる
ためである。
【００５７】
なお、この判定処理（Ｓ５０６）は、必ずしも必要ではなく、上記のＲＡＭ１２の使用
量を基準とする判定処理（Ｓ５０４）のみであってもよい。
【００５８】
出力文書データのページ数が基準値未満であると判定された場合（Ｓ５０６でＮｏ）、
文書解析部１２０は、Ｓ５００に戻って処理を続行する。すなわち、文書解析部１２０は
、次のページのｐａｇｅ要素終了タグまでサブツリーを生成し、出力文書データとしてＲ
ＡＭ１２上に格納するし、以降、文書の終端までサブツリーを生成した場合（Ｓ５０２で
Ｙｅｓ）、又は、生成したサブツリーが所定の基準値以上となった場合（Ｓ５０４又はＳ
５０６でＹｅｓ）を除き、各ページのサブツリーを生成し、出力文書データとしてＲＡＭ
１２上に格納する。
【００５９】
一方、印刷モード判定部１４０は、サブツリーのデータ量又はページ数が基準値以上で
あると判定した場合（Ｓ５０４又はＳ５０６でＹｅｓ）、現在選択している印刷モードを
判定する（Ｓ５０８）。
【００６０】
現在の印刷モードが一括印刷モードである場合（Ｓ５０８で一括印刷モード）、印刷モ
ード判定部１４０は、印刷モードを部分逐次印刷モードに切り替える（Ｓ５１０）。
【００６１】
また、印刷モード判定部１４０は、上述した判定処理（Ｓ５０４、Ｓ５０６）に使用す
る、データ量及びページ数の基準値を、部分逐次印刷モード用の値に設定し（Ｓ５１２）
、処理をＳ５２２に移行する。
【００６２】
以上の切り替えが行われると、それ以降、部分逐次印刷モード１２７により、本図に示
す印刷処理が実行されることとなる。すなわち、印刷モード判定部１４０は、サブツリー
のデータ量及びページ数の判定処理（Ｓ５０４、Ｓ５０６）において、部分逐次印刷モー
ド用の基準値を用いて判定を行う。
【００６３】
一方、前述した切り替え処理（Ｓ５０８で一括印刷モード、Ｓ５１０、Ｓ５１２）が行
われたことにより、現在の印刷モードが部分逐次印刷モードとなっている場合（Ｓ５０８
で部分逐次印刷モード）、処理をＳ５２２に移行する。
【００６４】
さて、文書解析部１２０が文書の終端（最終ページ）までサブツリーを生成した場合（
Ｓ５０２でＹｅｓ）、印刷モード判定部１４０により印刷モードが切り替えられた場合（
Ｓ５１０、Ｓ５１２）、又は、印刷モード判定部１４０により部分逐次印刷モードと判定
された場合（Ｓ５０８で部分逐次印刷モード）は、Ｓ５２２において、文書解析部１２０
は、生成したサブツリーについての、レイアウト処理の実行指示をレイアウト処理部１７
０に出す。
【００６５】
レイアウト処理部１７０は、この指示を受け付けると、ＲＡＭ１２上に生成された全て
のサブツリーについて、予め指定されたスタイル情報に基づいて、レイアウト処理を実行
する（Ｓ５２２）。
【００６６】
レイアウト処理が終了すると、印刷実行部１８０は、レイアウト処理後のＲＡＭ１２上
の全てのサブツリーについてレンダリングを行って印刷データを生成し、当該データにつ
いてプリンタエンジン１４による印刷処理を実行する（Ｓ５２４）。
【００６７】
印刷処理が終了すると、文書解析部１２０は、ＲＡＭ１２上に格納されているサブツリ
ーを全て削除する（Ｓ５２６）。
【００６８】
そして、文書解析部１２０は、印刷処理を最終ページ（ｐａｇｅ要素）まで行ったかを
判定する（Ｓ５２８）。
【００６９】
文書終端までサブツリーの生成を終了していると判定した場合（Ｓ５２８でＹｅｓ）、
文書解析部１２０は、印刷処理を終了する。
【００７０】
一方、文書終端までサブツリーの生成を終了していないと判定した場合（Ｓ５２８でＮ
ｏ）は、文書解析部１２０は、Ｓ５００に戻って処理を続行する。すなわち、文書解析部
１２０は、サブツリーの生成が行われていないページ以降のページについて、サブツリー
を生成して出力文書データとしてＲＡＭ１２上に格納し、以降、文書の終端まで印刷処理
を終了するまで（Ｓ５２８でＹｅｓ）、上述した処理を実行する。なお、印刷モードの切
り替え（Ｓ５１０、Ｓ５１２）が行われた後、最初の印刷が実行されたときには、最終ペ
ージまでサブツリーが生成されていないため（Ｓ５２８でＮｏ）、Ｓ５００に戻ることと
なる。
【００７１】
以上のようにして、文書解析部１２０は、一括印刷モード又は部分逐次印刷モードによ
り、ＳＶＧ  Ｐｒｉｎｔ文書データの印刷処理を終了する。
【００７２】
以上、第１の実施形態について説明した。これにより、ＳＶＧ  Ｐｒｉｎｔ文書の印刷
を行うプリンタ等の機器において、印刷対象がｓｔｒｅａｍａｂｌｅ属性の値がｆａｌｓ
ｅに設定された文書である場合、メモリ資源の使用状況や文書のページ数などに応じて、
印刷モードを切り替えることにより、印刷処理のメモリ資源の使用量を低減し、印刷処理
のスループットを向上することができる。また、ＳＶＧ  Ｐｒｉｎｔ文書全体のサブツリ
ーをメモリにバッファリングできない場合であっても、印刷処理を継続することができる
。
【００７３】
次に、本発明の第２の実施形態について説明する。第１の実施形態では、部分逐次印刷
モード１２７において、文書解析部１２０は、生成したサブツリーが参照の解決をできた
か否かに係らず、印刷処理を実行している。そのため、一部の文書断片が欠けた文書が印
刷される場合がある。そこで、第２の実施形態は、可能な限り、参照情報を解決してから
印刷を実行する構成を有している。第１の実施形態と異なる点は、部分逐次印刷モードに
おける印刷処理である。以下、図６を参照して説明する。
【００７４】
図６は、第２の実施形態に係る、一括印刷モード又は部分逐次印刷モードによる印刷処
理の流れを示すフローチャート図である。上述した印刷モード決定処理（図３）において
一括印刷モード１２６が選択されると、文書解析部１２０は、本図に示す印刷処理を開始
する。
【００７５】
Ｓ５００〜５１２までは、第１の実施形態と同様なので説明を省略する。
【００７６】
さて、印刷モード判定部１４０により印刷モードが切り替えられた場合（Ｓ５１０、Ｓ
５１２）、又は、印刷モード判定部１４０により部分逐次印刷モードと判定された場合（
Ｓ５０８で部分逐次印刷モード）は、文書解析部１２０は、先ず、ＲＡＭ１２上に生成さ
れたサブツリーの中に、参照が解決していない要素があるかをチェックする（Ｓ５１４）
。
【００７７】
未解決の参照情報がない場合、若しくは、後述する保留設定がされていたサブツリー（
Ｓ５１６）について全ての参照を解決できた場合（Ｓ５１４でＮｏ）、Ｓ５２２において
、文書解析部１２０は、ＲＡＭ１２上に生成された全てのサブツリーについて、レイアウ
ト処理の実行指示をレイアウト処理部１７０に出す。
【００７８】
レイアウト処理部１７０は、この指示を受け付けると、ＲＡＭ１２上に生成された全て
のサブツリーについて、予め指定されたスタイル情報に基づいて、レイアウト処理を実行
する（Ｓ５２２）。
【００７９】
一方、未解決の参照情報がある場合（Ｓ５１４でＹｅｓ）、文書解析部１２０は、当該
参照を指定する要素が含まれるサブツリー（ページ）の印刷を保留する設定を行う（Ｓ５
１６）。保留が設定されたページは、参照が解決するまで、ＲＡＭ１２上に保持される。
【００８０】
また、保留が設定されたページは、参照が解決しているページよりも後に印刷されるこ
とになるため、文書解析部１２０は、印刷の順番が変更になったことを、表示装置１６（
図１）に、表示させる（Ｓ５１８）。例えば、図７に示すような画面を表示させることに
より、ユーザに知らせることができる。
【００８１】
そして、Ｓ５２０において、文書解析部１２０は、ＲＡＭ１２上に生成されたサブツリ
ーのうち、保留設定がされていないサブツリーについての、レイアウト処理の実行指示を
レイアウト処理部１７０に出す。
【００８２】
レイアウト処理部１７０は、この指示を受け付けて、ＲＡＭ１２上の保留設定がされて
いないサブツリーについて、予め指定されたスタイル情報に基づいて、レイアウト処理を
実行する（Ｓ５２０）。
【００８３】
レイアウト処理（Ｓ５２０、又は、Ｓ５２２）が終了すると、印刷実行部１８０は、レ
イアウト処理後のＲＡＭ１２上のサブツリーについてレンダリングを行って印刷データを
生成し、当該データについてプリンタエンジン１４による印刷処理を実行する（Ｓ５２４
）。なお、保留設定がされていないサブツリーについてはレイアウト処理がされていない
（Ｓ５２０）ため、印刷実行部１８０は、それらのサブツリーの印刷処理を実行しない。
【００８４】
印刷処理が終了すると、文書解析部１２０は、ＲＡＭ１２上に格納されているサブツリ
ーのうち、レイアウト処理及び印刷が終了したサブツリーを削除する（Ｓ５２６ａ）。
【００８５】
そして、文書解析部１２０は、印刷処理を最終ページ（ｐａｇｅ要素）まで行ったかを
判定する（Ｓ５２８）。
【００８６】
文書終端までサブツリーの生成を終了していると判定した場合（Ｓ５２８でＹｅｓ）、
文書解析部１２０は、印刷処理を終了する。
【００８７】
一方、文書終端までサブツリーの生成を終了していないと判定した場合（Ｓ５２８でＮ
ｏ）は、文書解析部１２０は、Ｓ５００に戻って処理を続行する。すなわち、文書解析部
１２０は、サブツリーの生成が行われていないページ以降のページについて、サブツリー
を生成し、出力文書データとしてＲＡＭ１２上に格納する。また、保留設定がされている
サブツリーについて、参照情報が出現した場合は、当該参照を解決し、保留設定を解除す
る。以降、文書の終端まで印刷処理を終了するまで（Ｓ５２８でＹｅｓ）、上述した処理
を実行する。
【００８８】
以上のようにして、文書解析部１２０は、ＳＶＧ  Ｐｒｉｎｔ文書データの印刷処理を
終了する。なお、印刷の順番が変更になった場合、印刷の順序が変更にならない場合のペ
ージ数（サブツリーを生成した順序のページ数）を、各ページに印字してもよい。
【００８９】
以上、第２の実施形態について説明した。これにより、ＳＶＧ  Ｐｒｉｎｔ文書の印刷
を行うプリンタ等の機器において、印刷対象がｓｔｒｅａｍａｂｌｅ属性の値がｆａｌｓ
ｅに設定された文書である場合、メモリ資源の使用状況や文書のページ数などに応じて、
印刷モードを切り替えることにより、印刷処理のメモリ資源の使用量を低減し、印刷処理
のスループットを向上することができる。また、ＳＶＧ  Ｐｒｉｎｔ文書全体のサブツリ
ーをメモリにバッファリングできない場合であっても、印刷処理を継続することができる
。
【００９０】
さらに、一部の文書断片が欠けた文書が印刷される可能性をできる限り低減することが
できる。また、印刷の順番が変更になったことを示す画面を表示することにより、ユーザ
にそのことを知らせることができる。
【００９１】
第１の実施形態及び第２の実施形態の変形として、以下のような構成とすることも可能
である。
【００９２】
例えば、印刷モード判定部１４０は、判定処理（図５、図６のＳ５０４）において、さ
らに、レイアウト処理部１７０が使用するメモリ容量を基準値とする判定を実行すること
としてもよい。具体的には、基準値に、レイアウト処理部１７０に割り当てることができ
るＲＡＭ１２上のメモリ容量の最大値が予め設定する。これにより、一括印刷処理モード
から部分逐次印刷処理モードへの切り替えの条件を細かく制御することができる。
【００９３】
また、例えば、文書解析部１２０は、Ｓｔｒｅａｍａｂｌｅ属性の値に係らず、逐次印
刷モードで印刷処理を実行する。そして、解決できない参照が出現した時点で、印刷モー
ド判定部１４０が、印刷モードを部分逐次印刷モード又は一括印刷モードに切り替えるも
のとしてもよい。
【００９４】
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正
および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の
本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではな
い。
【図面の簡単な説明】
【００９５】
【図１】本発明に係るプリンタのハードウェア構成の概要を説明するためのブロック図。
【図２】本発明に係るプリンタの機能構成を説明するためのブロック図。
【図３】印刷モードの決定処理の流れを示すフローチャート図。
【図４】逐次印刷モードによる印刷処理の流れを示すフローチャート図。
【図５】第１の実施形態に係る、一括印刷モード又は部分逐次印刷モードによる印刷処理の流れを示すフローチャート図。
【図６】第２の実施形態に係る、一括印刷モード又は部分逐次印刷モードによる印刷処理の流れを示すフローチャート図。
【図７】印刷の順番が変更になったことを示す画面の表示例。
【符号の説明】
【００９６】
１・・・プリンタ、１１・・・ＣＰＵ、１２・・・ＲＡＭ、１３・・・ＲＯＭ、１４・
・・プリンタエンジン、１５・・・入力装置、１６・・・表示装置、１７・・・通信装置
、１８・・・読み書き装置、１００・・・印刷文書受信部、１１０・・・印刷制御部、１
２０・・・文書解析部、１２５・・・逐次印刷モード、１２６・・・一括印刷モード、１
２７・・・部分逐次印刷モード、１４０・・・印刷モード判定部、１７０・・・レイアウ
ト処理部、１８０・・・印刷実行部
【図１】
2008254356.tif 000003
【図２】
2008254356.tif 000004
【図３】
2008254356.tif 000005
【図４】
2008254356.tif 000006
【図５】
2008254356.tif 000007
【図６】
2008254356.tif 000008
【図７】
2008254356.tif 000009