JP2008254356A - Svg文書印刷装置およびsvg文書印刷方法 - Google Patents

Svg文書印刷装置およびsvg文書印刷方法 Download PDF

Info

Publication number
JP2008254356A
JP2008254356A JP2007100178A JP2007100178A JP2008254356A JP 2008254356 A JP2008254356 A JP 2008254356A JP 2007100178 A JP2007100178 A JP 2007100178A JP 2007100178 A JP2007100178 A JP 2007100178A JP 2008254356 A JP2008254356 A JP 2008254356A
Authority
JP
Japan
Prior art keywords
document data
print
printing
data
output document
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
JP2007100178A
Other languages
English (en)
Other versions
JP4289416B2 (ja
Inventor
Takamasa Niwa
孝将 丹羽
Hirotaka Akamatsu
裕隆 赤松
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 JP2007100178A priority Critical patent/JP4289416B2/ja
Priority to US12/080,499 priority patent/US8023124B2/en
Publication of JP2008254356A publication Critical patent/JP2008254356A/ja
Application granted granted Critical
Publication of JP4289416B2 publication Critical patent/JP4289416B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1863Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by rasterizing in sub-page segments

Abstract

【課題】SVG文書の印刷において、プリンタの負荷を低減する。
【解決手段】プリンタは、文書データを受け付ける印刷文書受信部100と、文書データ
から出力文書データを生成する文書解析部120と、文書解析部120が実行する印刷モ
ードを選択する印刷モード判定部140と、出力文書データを加工するレイアウト処理部
170と、印刷を行う印刷実行部180とを備え、文書解析部120は、逐次印刷モード
125と、一括印刷モード126と、部分逐次印刷モード127と、を有し、印刷モード
判定部140は、Streamable属性値、メモリ使用量等により印刷モードを切り
替える。
【選択図】図2

Description

本発明は、プリンタ等の組み込み機器における構造化文書(XML)の文書処理に関す
る。
文書やデータの意味や構造を記述するためのマークアップ言語として、XML(Ext
ensible Markup Language)が知られている。また、W3C(W
orld Wide Web Consortium)勧告として公開された、2Dベク
ター画像等を記述するためのXMLベースの言語、SVG(Scalable Vect
or Graphics)が知られている。SVG仕様の中では、SVGで記載された文
書の印刷を行うプリンタ等の環境における扱い方について、SVG Printという仕
様が規定されている(非特許文献1)。
SVG Print(http://www.w3.org/TR/SVGPrint/)
SVG Print文書では、プリンタ等の機器が出力する印刷媒体のページの範囲を
定めるために、page要素が使用される。また、文書の内容(以下、文書断片と呼ぶ)
を複数のページ間で共有する構造とすることができる。そのため、例えば、use要素を
用いて、他のページにある文書断片を参照するように指定することができる。レンダリン
グの際には、参照先の文書断片が参照元のページのデータとして利用されて処理される。
また、SVG Print文書の最も外側のSVG要素にstreamable属性を
定義することができる。streamable属性は、参照を指定する要素から後ろに、
参照すべき文書断片(リソース)が存在するか否かを示す。
具体的には、streamable属性の値がtrueの場合、参照を指定する要素が
あっても、当該要素より後ろには参照すべき文書断片が存在しないことを示す。すなわち
、参照を指定する要素が出現しても、その後ろの要素を参照することなく、その参照を解
決できるため、参照を解決するために文書全体のバッファリングを行う必要がない。
一方、streamable属性の値がfalseの場合、参照を指定する要素によっ
ては、当該要素より後ろに参照すべき文書断片が存在することがあることを示す。すなわ
ち、参照を指定する要素が出現したときに、参照を解決できないことがあるため、参照を
解決するために文書全体のバッファリングを行う必要がある。
しかしながら、例えば、プリンタ等の組み込み機器には、メモリ資源量や印刷処理性能
が乏しいものがある。このような機器において、streamable属性の値がfal
seに設定された大規模なSVG Print文書を印刷する場合、文書全体のバッファ
リングは負荷となり、メモリ資源の枯渇やスループットの大幅な低下が発生するという問
題がある。また、それらの機器が、文書全体のバッファリングをできない場合、その文書
全体の印刷を実行することができなくなる。
本発明の目的は、SVG Print文書の印刷を行うプリンタ等の機器において、メ
モリ資源の使用状況や文書のページ数などに応じて、印刷モードを切り替えることにより
、印刷処理のメモリ資源の使用量を低減し、印刷処理のスループットを向上する技術を提
供することにある。また、文書全体のバッファリングをできない場合でも、印刷処理を継
続させることにある。
上記の課題を解決するため、第1の態様は、一時的にデータを格納するためのメモリを
有し、文書データを印刷データに変換して印刷する機能を有するプリンタであって、SV
G(Scalable Vector Graphics)文書データを受け付ける印刷
文書受信手段と、受信した前記SVG文書データについて構文・字句解析を行って出力文
書データを生成して前記メモリ上に格納する文書解析手段と、前記出力文書データを予め
指定されたスタイル情報に基づいて加工するレイアウト処理を実行するレイアウト処理手
段と、レイアウト処理後の前記出力文書データを印刷データに変換して印刷を実行する印
刷実行手段と、印刷モードを選択して切り替える印刷モード判定手段と、を有し、前記文
書解析手段は、1ページ単位で、前記出力文書データを生成し、前記レイアウト処理手段
にレイアウト処理を実行させ、前記印刷実行手段に印刷を実行させる、逐次印刷モード処
理手段と、1ページ単位で前記出力文書データを生成し、全ページの前記出力文書データ
を生成した場合に、前記レイアウト処理手段にレイアウト処理を実行させ、前記印刷実行
手段に印刷を実行させる、一括印刷モード処理手段と、1ページ単位で前記出力文書デー
タを生成し、生成した前記出力文書データのデータ量が予め定められた第1の基準値以上
の場合に、前記レイアウト処理手段にレイアウト処理を実行させ、前記印刷実行手段に印
刷を実行させる、部分逐次印刷モード処理手段と、を有し、前記印刷モード判定手段は、
前記SVG文書データに含まれるStreamable属性値を参照し、当該属性値がT
rueの場合、前記逐次印刷モード処理手段を選択し、当該属性値がFalseの場合、
前記一括印刷モード処理手段を選択し、選択された前記一括印刷モード処理手段において
、生成された前記出力文書データのデータ量が予め定められた第2の基準値以上の場合に
、前記部分逐次モード処理手段を選択する。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の第1の実施形態が適用されるプリンタのハードウェア構成の概要を説
明するためのブロック図である。本実施形態では、プリンタが、SVG Print文書
データを受け付けて、その文書データを印刷データに変換して印刷を実行する。
本図に示すように、プリンタ1は、各種プログラムを実行するCPU11と、データ及
びプログラム等を一時的に記憶するRAM12と、プリンタ1を制御するための各種デー
タ及び各種プログラム等を予め不揮発的に記憶しているROM13と、印刷ヘッド、印刷
ヘッドを搭載するキャリッジを駆動するキャリッジ駆動機構、紙送り機構等から成るプリ
ンタエンジン14と、ユーザからの操作を受け付けるための入力装置15と、プリンタの
状態やメニュー画面等のユーザインタフェース画面を表示するための表示装置16と、コ
ンピュータ等とのデータの送受信を行うための通信装置17と、USBメモリ等の可搬型
記憶媒体(図示しない)の情報を読み書きするための読み書き装置18と、を備えている
。通信装置17は、例えば、Ethernet(登録商標)、無線LAN、Blueto
oth等の規格による通信を行う。なお、プリンタ1の構成はこれに限られない。
次に、図2を参照して、上記構成によりプリンタ1において実現される機能構成につい
て説明する。図2は、プリンタ1の機能構成を説明するためのブロック図である。
本図に示すように、プリンタ1上には、印刷文書受信部100及び印刷制御部110が
構築される。もちろん、必要に応じて、オペレーティングシステム等の他の機能構成を備
えるようにしてもよい。
印刷文書受信部100及び印刷制御部110は、例えば、図1に示す、ROM13に予
め記憶されているプログラムをRAM12にロードしてCPU11が実行することにより
構築される。プログラムは、読み書き装置18を介して可搬型記憶媒体から、あるいは、
通信装置17を介してネットワークから、ROM13にダウンロードされ、それから、R
AM12上にロードされてCPU11により実行されるようにしてもよい。また、読み書
き装置18を介して可搬型記憶媒体から、あるいは、通信装置17を介してネットワーク
から、RAM12上に直接ロードされ、CPU11により実行されるようにしてもよい。
印刷文書受信部100は、通信装置17を介して、コンピュータ等(図示しない)から
、印刷対象のSVG Print文書データを受信する。また、受信したSVG Pri
nt文書データを印刷制御部110に渡す。もちろん、印刷文書受信部100は、上記の
構成に限られず、例えば、読み書き装置18を介して可搬型記憶媒体から、SVG Pr
int文書データを受け取る構成としてもよい。
印刷制御部110は、入力されたSVG Print文書データについて、構文・字句
解析を行い、印刷データに変換して印刷処理を実行する。また、印刷制御部110は、例
えば、RAM12の使用状況などに応じて印刷モードを選択し、選択した印刷モードで印
刷処理を実行する。そのため、印刷制御部110は、文書解析部120と、印刷モード判
定部140と、レイアウト処理部170と、印刷実行部180とを備える。
文書解析部120は、受け付けたSVG Print文書データについて、構文・字句
解析を行い、その結果を出力文書データとしてRAM12上に格納する処理を実行する。
この処理は、SVG Print文書データを構成するページ(page要素)毎に実行
される。具体的には、文書解析部120は、例えば、XMLパーサー等を使用してSVG
Print文書データの文法等のチェックを行うとともに、DOM(Document
Object Model)によりSVG Print文書データを文書ツリーとして
RAM12上に展開する。ここで、文書ツリーとは、XML文書の各要素をオブジェクト
として階層的にメモリ上で管理するためのデータ構造をいう。ここでは、page要素の
子要素についてのツリー構造をサブツリーと呼ぶものとする。
また、文書解析部120は、生成した出力文書データについてレイアウト処理を行うよ
うレイアウト処理部170に指示をする。
レイアウト処理部170は、レイアウト処理の実行の指示を受け付けると、実行指示の
中で指定された、RAM12上に格納された処理対象の出力文書データを、当該文書デー
タの中で指定されたスタイル情報に基づいて、加工するレイアウト処理を行う。また、例
えば、ページメディアのサイズ等に合わせたレイアウト処理を行う。スタイル情報は、例
えば、CSS(Cascading Style Sheet)などであり、SVG P
rint文書データと共に受信される。
印刷実行部180は、レイアウト処理後の出力文書データを、レンダリングにより画像
データに変換して印刷データとして出力し、プリンタエンジン14に印刷媒体である用紙
等に印刷を実行させる。
本実施形態では、文書解析部120は、複数の印刷モードを備える。そして、文書解析
部120は、これらの中の一の印刷モードにより処理を実行する。印刷モードには、逐次
印刷モード125、一括印刷モード126、部分逐次印刷モード127がある。これらの
印刷モードは、それぞれ、生成した出力文書データについての、レイアウト処理の指示を
レイアウト処理部に対して行うタイミング(又は単位)により異なる、印刷処理の制御方
式である。以下に、各モードについて具体的に説明する。
逐次印刷モード125では、文書解析部120は、1ページ(page要素)の出力文
書データを生成してRAM12上に格納すると、当該1ページの出力文書データについて
のレイアウト処理の実行指示をレイアウト処理部170に出す。そして、当該ページにつ
いて、レイアウト処理部170の処理と、印刷実行部180の処理が終了すると、RAM
12上の出力文書データを削除し、次の1ページについての処理を実行する。このように
、文書解析部120は、1ページ単位に処理を繰り返し、SVG Print文書データ
を構成する全ページの印刷処理を実行する。
一括印刷モード126では、文書解析部120は、受け付けたSVG Print文書
データを構成する各ページの出力文書データを生成してRAM12上に格納する。そして
、全ページ分の処理を終了すると、RAM12上に格納した全ページの出力文書データに
ついての、レイアウト処理の実行指示をレイアウト処理部170に出す。当該全ページに
ついて、レイアウト処理部170の処理と、印刷実行部180の印刷処理が終了すると、
RAM12上の出力文書データを削除し、印刷処理を終了する。
部分逐次印刷モード127では、文書解析部120は、受け付けたSVG Print
文書データを構成する各ページの出力文書データを生成してRAM12上に格納する。そ
して、予め定められたRAM12上のメモリ使用量やページ数等の基準値を超えた場合、
RAM12上に格納された出力文書データについての、レイアウト処理の実行指示をレイ
アウト処理部170に出す。当該出力文書データについて、レイアウト処理部170の処
理と、印刷実行部180の印刷処理が終了すると、RAM12上の出力文書データを削除
し、出力文書データの生成を行っていないページから処理を実行する。このように、文書
解析部120は、例えば、数ページ単位の処理を繰り返し、SVG Print文書デー
タを構成する全ページの印刷処理を実行する。
さて、文書解析部120が実行する上記のいずれかの印刷モードは、印刷モード判定部
140により選択、若しくは、切り替えられる。
先ず、印刷モード判定部140は、文書解析部120が受け取ったSVG Print
文書データに記述された、streamable属性の値を参照する。そして、その値(
true若しくはfalse)に従って、印刷モード(初期モード)を決定する。具体的
には、属性値がtrue(文書全体のバッファリングを行う必要がない)の場合、印刷モ
ード判定部140は、逐次印刷モード125を選択する。一方、false(文書全体の
バッファリングを行う必要がある)の場合、印刷モード判定部140は、一括印刷モード
126を選択する。印刷モードが選択されると、文書解析部120は、印刷対象のSVG
Print文書データについての印刷処理を開始する。
また、印刷モード判定部140は、文書解析部120が一括印刷モード126で処理を
実行している場合に、例えば、RAM12のメモリ資源の残量が一定の基準値未満になっ
たことを検出すると、印刷モードを部分逐次印刷モード127に切り替える。切り替えの
条件は、例えば、ページ数であってもよいし、文書解析部120が使用することのできる
RAM12上のメモリ容量の上限であっても良い。
次に、図3ないし図5を参照して、印刷制御部110の動作を中心にプリンタ1の動作
についてより具体的に説明する。
図3は、印刷モード(初期モード)の決定処理の流れを示すフローチャート図である。
文書解析部120は、印刷文書受信部100から出力されたSVG Print文書デー
タを受け付けると、印刷モード判定部140に、本図に示す、印刷モード決定処理を実行
させる。
先ず、印刷モード判定部140は、SVG Print文書データ内のStreama
ble属性値を取得する(S301)。
そして、当該属性値を参照し、trueであるかfalseであるか判定する(S30
2)。
trueの場合(S302でtrue)、印刷モード判定部140は、印刷モードとし
て逐次印刷モード125を選択する(S303)。
一方、falseの場合(S302でfalse)、印刷モード判定部140は、一括
印刷モード126を選択する(S304)。
こうして印刷モードを選択すると、印刷モード判定部140は、印刷モード決定処理を
終了する。
図4は、逐次印刷モードによる印刷処理の流れを示すフローチャート図である。上述し
た印刷モード決定処理(図3)において逐次印刷モード125が選択されると、文書解析
部120は、逐次印刷モード125により、本図に示す、印刷処理を開始する。
先ず、文書解析部120は、1ページ目のpage要素終了タグまでサブツリー(出力
文書データ)を生成し、RAM12上に格納する(S401)。また、当該ページのサブ
ツリーについてのレイアウト処理の実行指示をレイアウト処理部170に出す。
レイアウト処理部170は、この指示を受け付けると、RAM12上の当該1ページ目
のサブツリーについて、予め指定されたスタイル情報に基づいて、レイアウト処理を実行
する(S402)。
レイアウト処理が終了すると、印刷実行部180は、レイアウト処理後の1ページ目の
サブツリーについてレンダリングを行って印刷データを生成し、当該データについてプリ
ンタエンジン14による印刷を実行する(S403)。
1ページ目の印刷処理が終了すると、文書解析部120は、RAM12上に格納されて
いる当該ページのサブツリーを削除する(S404)。
そして、文書解析部120は、印刷処理を行ったページ(page要素)が、SVG
Print文書データ内の最終ページであるかを判定する(S405)。
最終ページでないと判定した場合(S405でNo)は、次のページのpage要素に
ついて、上述した印刷処理を行う(S401〜S404)。以降、最終ページとなる(S
405でYes)まで同様に印刷処理を行う。
そして、最終ページであると判定した場合(S405でYes)は、SVG Prin
t文書データの印刷処理を終了する。
図5は、一括印刷モード又は部分逐次印刷モードによる印刷処理の流れを示すフローチ
ャート図である。上述した印刷モード決定処理(図3)において一括印刷モード126が
選択されると、文書解析部120は、本図に示す印刷処理を開始する。
先ず、文書解析部120は、1ページ目のpage要素終了タグまでサブツリー(出力
文書データ)を生成し、RAM12上に格納する(S500)。
そして、文書解析部120は、生成したサブツリーが、SVG Print文書データ
内の最終ページであるかを判定する(S502)。
最終ページであると判定された場合(S502でYes)、レイアウト処理部170は
、後述するレイアウト処理を実行する(S522)。一方、最終ページでないと判定され
た場合(S502でNo)、印刷モード判定部140は、次の判定処理を行う(S504
、S506)。
すなわち、印刷モード判定部140は、RAM12上に格納されたサブツリーのデータ
量が、予め定められた基準値以上であるかを判定する(S504)。
データ量の基準値は、現在の印刷モードが一括印刷モード126である場合(初期モー
ド)、例えば、文書解析部120に割り当てることができるRAM12上のメモリ容量の
最大値が予め設定されている。
一方、後述する切り替え処理(S508で一括印刷モード、S510、S512)によ
り印刷モードが部分逐次印刷モード127となっている場合、データ量の基準値は、上述
した一括印刷モード126の基準値よりも小さい値が設定されている。
なお、部分逐次印刷モード127用のデータ量の基準値は、例えば、RAM12全体の
メモリ容量、他のプログラム等が使用するメモリ容量とのバランス、印刷処理のスループ
ット等が考慮されて予め決定された値である。このようにするのは、一括印刷モードと比
較して、メモリ容量の使用量を低減し、かつ、印刷処理のスループットを向上させるため
である。
もちろん、判定の条件は、上記に限られず、例えば、プログラム等が使用可能なRAM
12上のメモリ容量(残容量)を基準としてもよい。この場合は、文書解析部120は、
残容量が予め定めた値未満になると、サブツリーの生成を中止することになる。
サブツリーのデータ量が基準値未満であると判定した場合(S504でNo)、印刷モ
ード判定部140は、RAM12上に格納された出力文書データのページ数が、予め定め
られた基準値以上であるかを判定する(S506)。
このページ数の基準値は、一括印刷モード126の場合、一括で印刷を行うページ数が
多いほど印刷処理のスループットは低下するため、例えば、一括で使用可能なメモリ容量
と印刷処理のスループットのバランスが考慮されて予め設定される。
後述する切り替え処理(S508で一括印刷モード、S510、S512)により印刷
モードが部分逐次印刷モード127となった場合、ページ数の基準値は、一括印刷モード
126の基準値よりも小さい値が設定されている。このようにするのは、一括印刷モード
と比較して、メモリ容量の使用量を低減し、かつ、印刷処理のスループットを向上させる
ためである。
なお、この判定処理(S506)は、必ずしも必要ではなく、上記のRAM12の使用
量を基準とする判定処理(S504)のみであってもよい。
出力文書データのページ数が基準値未満であると判定された場合(S506でNo)、
文書解析部120は、S500に戻って処理を続行する。すなわち、文書解析部120は
、次のページのpage要素終了タグまでサブツリーを生成し、出力文書データとしてR
AM12上に格納するし、以降、文書の終端までサブツリーを生成した場合(S502で
Yes)、又は、生成したサブツリーが所定の基準値以上となった場合(S504又はS
506でYes)を除き、各ページのサブツリーを生成し、出力文書データとしてRAM
12上に格納する。
一方、印刷モード判定部140は、サブツリーのデータ量又はページ数が基準値以上で
あると判定した場合(S504又はS506でYes)、現在選択している印刷モードを
判定する(S508)。
現在の印刷モードが一括印刷モードである場合(S508で一括印刷モード)、印刷モ
ード判定部140は、印刷モードを部分逐次印刷モードに切り替える(S510)。
また、印刷モード判定部140は、上述した判定処理(S504、S506)に使用す
る、データ量及びページ数の基準値を、部分逐次印刷モード用の値に設定し(S512)
、処理をS522に移行する。
以上の切り替えが行われると、それ以降、部分逐次印刷モード127により、本図に示
す印刷処理が実行されることとなる。すなわち、印刷モード判定部140は、サブツリー
のデータ量及びページ数の判定処理(S504、S506)において、部分逐次印刷モー
ド用の基準値を用いて判定を行う。
一方、前述した切り替え処理(S508で一括印刷モード、S510、S512)が行
われたことにより、現在の印刷モードが部分逐次印刷モードとなっている場合(S508
で部分逐次印刷モード)、処理をS522に移行する。
さて、文書解析部120が文書の終端(最終ページ)までサブツリーを生成した場合(
S502でYes)、印刷モード判定部140により印刷モードが切り替えられた場合(
S510、S512)、又は、印刷モード判定部140により部分逐次印刷モードと判定
された場合(S508で部分逐次印刷モード)は、S522において、文書解析部120
は、生成したサブツリーについての、レイアウト処理の実行指示をレイアウト処理部17
0に出す。
レイアウト処理部170は、この指示を受け付けると、RAM12上に生成された全て
のサブツリーについて、予め指定されたスタイル情報に基づいて、レイアウト処理を実行
する(S522)。
レイアウト処理が終了すると、印刷実行部180は、レイアウト処理後のRAM12上
の全てのサブツリーについてレンダリングを行って印刷データを生成し、当該データにつ
いてプリンタエンジン14による印刷処理を実行する(S524)。
印刷処理が終了すると、文書解析部120は、RAM12上に格納されているサブツリ
ーを全て削除する(S526)。
そして、文書解析部120は、印刷処理を最終ページ(page要素)まで行ったかを
判定する(S528)。
文書終端までサブツリーの生成を終了していると判定した場合(S528でYes)、
文書解析部120は、印刷処理を終了する。
一方、文書終端までサブツリーの生成を終了していないと判定した場合(S528でN
o)は、文書解析部120は、S500に戻って処理を続行する。すなわち、文書解析部
120は、サブツリーの生成が行われていないページ以降のページについて、サブツリー
を生成して出力文書データとしてRAM12上に格納し、以降、文書の終端まで印刷処理
を終了するまで(S528でYes)、上述した処理を実行する。なお、印刷モードの切
り替え(S510、S512)が行われた後、最初の印刷が実行されたときには、最終ペ
ージまでサブツリーが生成されていないため(S528でNo)、S500に戻ることと
なる。
以上のようにして、文書解析部120は、一括印刷モード又は部分逐次印刷モードによ
り、SVG Print文書データの印刷処理を終了する。
以上、第1の実施形態について説明した。これにより、SVG Print文書の印刷
を行うプリンタ等の機器において、印刷対象がstreamable属性の値がfals
eに設定された文書である場合、メモリ資源の使用状況や文書のページ数などに応じて、
印刷モードを切り替えることにより、印刷処理のメモリ資源の使用量を低減し、印刷処理
のスループットを向上することができる。また、SVG Print文書全体のサブツリ
ーをメモリにバッファリングできない場合であっても、印刷処理を継続することができる
次に、本発明の第2の実施形態について説明する。第1の実施形態では、部分逐次印刷
モード127において、文書解析部120は、生成したサブツリーが参照の解決をできた
か否かに係らず、印刷処理を実行している。そのため、一部の文書断片が欠けた文書が印
刷される場合がある。そこで、第2の実施形態は、可能な限り、参照情報を解決してから
印刷を実行する構成を有している。第1の実施形態と異なる点は、部分逐次印刷モードに
おける印刷処理である。以下、図6を参照して説明する。
図6は、第2の実施形態に係る、一括印刷モード又は部分逐次印刷モードによる印刷処
理の流れを示すフローチャート図である。上述した印刷モード決定処理(図3)において
一括印刷モード126が選択されると、文書解析部120は、本図に示す印刷処理を開始
する。
S500〜512までは、第1の実施形態と同様なので説明を省略する。
さて、印刷モード判定部140により印刷モードが切り替えられた場合(S510、S
512)、又は、印刷モード判定部140により部分逐次印刷モードと判定された場合(
S508で部分逐次印刷モード)は、文書解析部120は、先ず、RAM12上に生成さ
れたサブツリーの中に、参照が解決していない要素があるかをチェックする(S514)
未解決の参照情報がない場合、若しくは、後述する保留設定がされていたサブツリー(
S516)について全ての参照を解決できた場合(S514でNo)、S522において
、文書解析部120は、RAM12上に生成された全てのサブツリーについて、レイアウ
ト処理の実行指示をレイアウト処理部170に出す。
レイアウト処理部170は、この指示を受け付けると、RAM12上に生成された全て
のサブツリーについて、予め指定されたスタイル情報に基づいて、レイアウト処理を実行
する(S522)。
一方、未解決の参照情報がある場合(S514でYes)、文書解析部120は、当該
参照を指定する要素が含まれるサブツリー(ページ)の印刷を保留する設定を行う(S5
16)。保留が設定されたページは、参照が解決するまで、RAM12上に保持される。
また、保留が設定されたページは、参照が解決しているページよりも後に印刷されるこ
とになるため、文書解析部120は、印刷の順番が変更になったことを、表示装置16(
図1)に、表示させる(S518)。例えば、図7に示すような画面を表示させることに
より、ユーザに知らせることができる。
そして、S520において、文書解析部120は、RAM12上に生成されたサブツリ
ーのうち、保留設定がされていないサブツリーについての、レイアウト処理の実行指示を
レイアウト処理部170に出す。
レイアウト処理部170は、この指示を受け付けて、RAM12上の保留設定がされて
いないサブツリーについて、予め指定されたスタイル情報に基づいて、レイアウト処理を
実行する(S520)。
レイアウト処理(S520、又は、S522)が終了すると、印刷実行部180は、レ
イアウト処理後のRAM12上のサブツリーについてレンダリングを行って印刷データを
生成し、当該データについてプリンタエンジン14による印刷処理を実行する(S524
)。なお、保留設定がされていないサブツリーについてはレイアウト処理がされていない
(S520)ため、印刷実行部180は、それらのサブツリーの印刷処理を実行しない。
印刷処理が終了すると、文書解析部120は、RAM12上に格納されているサブツリ
ーのうち、レイアウト処理及び印刷が終了したサブツリーを削除する(S526a)。
そして、文書解析部120は、印刷処理を最終ページ(page要素)まで行ったかを
判定する(S528)。
文書終端までサブツリーの生成を終了していると判定した場合(S528でYes)、
文書解析部120は、印刷処理を終了する。
一方、文書終端までサブツリーの生成を終了していないと判定した場合(S528でN
o)は、文書解析部120は、S500に戻って処理を続行する。すなわち、文書解析部
120は、サブツリーの生成が行われていないページ以降のページについて、サブツリー
を生成し、出力文書データとしてRAM12上に格納する。また、保留設定がされている
サブツリーについて、参照情報が出現した場合は、当該参照を解決し、保留設定を解除す
る。以降、文書の終端まで印刷処理を終了するまで(S528でYes)、上述した処理
を実行する。
以上のようにして、文書解析部120は、SVG Print文書データの印刷処理を
終了する。なお、印刷の順番が変更になった場合、印刷の順序が変更にならない場合のペ
ージ数(サブツリーを生成した順序のページ数)を、各ページに印字してもよい。
以上、第2の実施形態について説明した。これにより、SVG Print文書の印刷
を行うプリンタ等の機器において、印刷対象がstreamable属性の値がfals
eに設定された文書である場合、メモリ資源の使用状況や文書のページ数などに応じて、
印刷モードを切り替えることにより、印刷処理のメモリ資源の使用量を低減し、印刷処理
のスループットを向上することができる。また、SVG Print文書全体のサブツリ
ーをメモリにバッファリングできない場合であっても、印刷処理を継続することができる
さらに、一部の文書断片が欠けた文書が印刷される可能性をできる限り低減することが
できる。また、印刷の順番が変更になったことを示す画面を表示することにより、ユーザ
にそのことを知らせることができる。
第1の実施形態及び第2の実施形態の変形として、以下のような構成とすることも可能
である。
例えば、印刷モード判定部140は、判定処理(図5、図6のS504)において、さ
らに、レイアウト処理部170が使用するメモリ容量を基準値とする判定を実行すること
としてもよい。具体的には、基準値に、レイアウト処理部170に割り当てることができ
るRAM12上のメモリ容量の最大値が予め設定する。これにより、一括印刷処理モード
から部分逐次印刷処理モードへの切り替えの条件を細かく制御することができる。
また、例えば、文書解析部120は、Streamable属性の値に係らず、逐次印
刷モードで印刷処理を実行する。そして、解決できない参照が出現した時点で、印刷モー
ド判定部140が、印刷モードを部分逐次印刷モード又は一括印刷モードに切り替えるも
のとしてもよい。
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正
および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の
本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではな
い。
本発明に係るプリンタのハードウェア構成の概要を説明するためのブロック図。 本発明に係るプリンタの機能構成を説明するためのブロック図。 印刷モードの決定処理の流れを示すフローチャート図。 逐次印刷モードによる印刷処理の流れを示すフローチャート図。 第1の実施形態に係る、一括印刷モード又は部分逐次印刷モードによる印刷処理の流れを示すフローチャート図。 第2の実施形態に係る、一括印刷モード又は部分逐次印刷モードによる印刷処理の流れを示すフローチャート図。 印刷の順番が変更になったことを示す画面の表示例。
符号の説明
1・・・プリンタ、11・・・CPU、12・・・RAM、13・・・ROM、14・
・・プリンタエンジン、15・・・入力装置、16・・・表示装置、17・・・通信装置
、18・・・読み書き装置、100・・・印刷文書受信部、110・・・印刷制御部、1
20・・・文書解析部、125・・・逐次印刷モード、126・・・一括印刷モード、1
27・・・部分逐次印刷モード、140・・・印刷モード判定部、170・・・レイアウ
ト処理部、180・・・印刷実行部

Claims (7)

  1. 一時的にデータを格納するためのメモリを有し、文書データを印刷データに変換して印
    刷する機能を有するプリンタであって、
    SVG(Scalable Vector Graphics)文書データを受け付け
    る印刷文書受信手段と、
    受信した前記SVG文書データについて構文・字句解析を行って出力文書データを生成
    して前記メモリ上に格納する文書解析手段と、
    前記出力文書データを予め指定されたスタイル情報に基づいて加工するレイアウト処理
    を実行するレイアウト処理手段と、
    レイアウト処理後の前記出力文書データを印刷データに変換して印刷を実行する印刷実
    行手段と、
    印刷モードを選択して切り替える印刷モード判定手段と、
    を有し、
    前記文書解析手段は、
    1ページ単位で、前記出力文書データを生成し、前記レイアウト処理手段にレイアウト
    処理を実行させ、前記印刷実行手段に印刷を実行させる、逐次印刷モード処理手段と、
    1ページ単位で前記出力文書データを生成し、全ページの前記出力文書データを生成し
    た後に、前記レイアウト処理手段にレイアウト処理を実行させ、前記印刷実行手段に印刷
    を実行させる、一括印刷モード処理手段と、
    1ページ単位で前記出力文書データを生成し、生成した前記出力文書データのデータ量
    が予め定められた第1の基準値以上になった場合に、前記レイアウト処理手段にレイアウ
    ト処理を実行させ、前記印刷実行手段に印刷を実行させる、部分逐次印刷モード処理手段
    と、
    、を有し、
    前記印刷モード判定手段は、
    前記SVG文書データに含まれるStreamable属性値を参照し、当該属性値が
    Trueの場合、前記逐次印刷モード処理手段を選択し、当該属性値がFalseの場合
    、前記一括印刷モード処理手段を選択し、
    選択された前記一括印刷モード処理手段において、生成された前記出力文書データのデ
    ータ量が予め定められた第2の基準値以上になった場合に、前記部分逐次モード処理手段
    を選択すること、
    を特徴とするプリンタ。
  2. 請求項1に記載のプリンタであって、
    前記第1の基準値は、
    予め定められた、部分逐次印刷モード処理手段が使用可能な前記メモリ上の領域の容量
    、又は、ページ数であり、
    前記第2の基準値は、
    予め定められた、一括印刷モード処理手段が使用可能な前記メモリ上の領域の容量、又
    は、ページ数であり、
    前記第1の基準値は、前記第2の基準値よりも小さい値であること、
    を特徴とするプリンタ。
  3. 請求項2に記載のプリンタであって、
    前記印刷モード判定手段は、
    選択された前記一括印刷モード処理手段において、前記レイアウト処理手段がレイアウ
    ト処理に使用するメモリ量が、予め定められた、前記レイアウト処理手段が使用可能な前
    記メモリ上の領域の容量を超えた場合に、前記部分逐次モード処理手段を選択すること、
    を特徴とするプリンタ。
  4. 請求項1、2及び3のいずれか一項に記載のプリンタであって、
    前記部分逐次モード処理手段は、
    生成した前記出力文書データのうち、他のページに含まれる文書データの参照を指定す
    る要素が含まれ、参照先の文書データを参照することできない出力文書データを、当該参
    照先の文書データを参照することができるまで前記メモリ上に保持し、前記出力文書デー
    タ以外の出力文書データについて、前記レイアウト処理手段にレイアウト処理を実行させ
    、前記印刷実行手段に印刷を実行させること、
    を特徴とするプリンタ。
  5. 請求項4に記載のプリンタであって、
    ユーザインタフェース画面を表示するための表示装置を備え、
    前記部分逐次モード処理手段は、
    保持した前記出力文書データについて、印刷の順番が変更になったことを示す画面を前
    記表示装置に表示させること、
    を特徴とするプリンタ。
  6. 請求項5に記載のプリンタであって、
    前記出力文書データを生成したページの順序に従ってページ数を印字すること、
    を特徴とするプリンタ。
  7. 一時的にデータを格納するためのメモリを有し、文書データを印刷データに変換して印
    刷する機能を有するプリンタにおける、印刷制御方法であって、
    前記プリンタは、
    SVG(Scalable Vector Graphics)文書データを受け付け
    る印刷文書受信ステップと、
    受信した前記SVG文書データについて構文・字句解析を行って出力文書データを生成
    して前記メモリ上に格納する文書解析ステップと、
    前記出力文書データを予め指定されたスタイル情報に基づいて加工するレイアウト処理
    を実行するレイアウト処理ステップと、
    レイアウト処理後の前記出力文書データを印刷データに変換して印刷を実行する印刷実
    行ステップと、
    印刷モードを選択して切り替える印刷モード判定ステップと、を実行し、
    前記文書解析ステップは、
    1ページ単位で、前記出力文書データを生成し、前記レイアウト処理ステップと、前記
    印刷実行ステップを実行させる、逐次印刷モード処理ステップと、
    1ページ単位で前記出力文書データを生成し、全ページの前記出力文書データを生成し
    た場合に、前記レイアウト処理ステップと、前記印刷実行ステップを実行させる、一括印
    刷モード処理ステップと、
    1ページ単位で前記出力文書データを生成し、生成した前記出力文書データのデータ量
    が予め定められた第1の基準値以上の場合に、前記レイアウト処理ステップと、前記印刷
    実行ステップを実行させる、部分逐次印刷モード処理ステップと、
    を有し、
    前記印刷モード判定ステップは、
    前記SVG文書データに含まれるStreamable属性値を参照し、当該属性値が
    Trueの場合、前記逐次印刷モード処理ステップを選択し、当該属性値がFalseの
    場合、前記一括印刷モード処理ステップを選択し、
    選択された前記一括印刷モード処理ステップにおいて、生成された前記出力文書データ
    のデータ量が予め定められた第2の基準値以上の場合に、前記部分逐次モード処理ステッ
    プを選択すること、
    を特徴とする印刷制御方法。
JP2007100178A 2007-04-06 2007-04-06 Svg文書印刷装置およびsvg文書印刷方法 Expired - Fee Related JP4289416B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007100178A JP4289416B2 (ja) 2007-04-06 2007-04-06 Svg文書印刷装置およびsvg文書印刷方法
US12/080,499 US8023124B2 (en) 2007-04-06 2008-04-03 Printing apparatus and printing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007100178A JP4289416B2 (ja) 2007-04-06 2007-04-06 Svg文書印刷装置およびsvg文書印刷方法

Publications (2)

Publication Number Publication Date
JP2008254356A true JP2008254356A (ja) 2008-10-23
JP4289416B2 JP4289416B2 (ja) 2009-07-01

Family

ID=39978426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007100178A Expired - Fee Related JP4289416B2 (ja) 2007-04-06 2007-04-06 Svg文書印刷装置およびsvg文書印刷方法

Country Status (2)

Country Link
US (1) US8023124B2 (ja)
JP (1) JP4289416B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4586057B2 (ja) * 2007-11-07 2010-11-24 キヤノン株式会社 画像処理装置、画像処理方法および記録媒体
US20120084640A1 (en) * 2010-09-30 2012-04-05 Konica Minolta Systems Laboratory Inc. Resolving page references in layout dependent documents

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03229357A (ja) * 1990-02-02 1991-10-11 Brother Ind Ltd 文書処理装置のレイアウト表示制御装置
JP4590080B2 (ja) 2000-09-12 2010-12-01 キヤノン株式会社 プリンタシステム及びその制御方法
US20030128390A1 (en) * 2002-01-04 2003-07-10 Yip Thomas W. System and method for simplified printing of digitally captured images using scalable vector graphics
JP4438380B2 (ja) * 2003-10-29 2010-03-24 セイコーエプソン株式会社 印刷装置および印刷方法並びに印刷装置用のプログラム
GB2407677A (en) * 2003-10-31 2005-05-04 Hewlett Packard Development Co Post-rendering document space based on rules
JP4599950B2 (ja) 2004-09-14 2010-12-15 セイコーエプソン株式会社 処理装置、及び処理方法
US7847967B2 (en) * 2004-10-30 2010-12-07 Sharp Laboratories Of America, Inc. Adaptive de-spooling system for partial brute force collation
JP2006289829A (ja) 2005-04-12 2006-10-26 Canon Finetech Inc 画像形成装置及び制御方法
JP4429212B2 (ja) 2005-06-03 2010-03-10 キヤノン株式会社 画像記述データ処理方法、装置及びプログラム
US8869023B2 (en) * 2007-08-06 2014-10-21 Ricoh Co., Ltd. Conversion of a collection of data to a structured, printable and navigable format
JP5093751B2 (ja) * 2007-08-23 2012-12-12 セイコーエプソン株式会社 Xml文書処理装置、xml文書処理方法、xml文書処理プログラム、印刷装置
JP2010113650A (ja) * 2008-11-10 2010-05-20 Seiko Epson Corp 構造化文書印刷装置、構造化文書印刷方法及びプログラム

Also Published As

Publication number Publication date
JP4289416B2 (ja) 2009-07-01
US8023124B2 (en) 2011-09-20
US20080285072A1 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
JP2003036152A (ja) 情報印刷システム
US20110128572A1 (en) Printing apparatus, printing method and storage medium
JP5371726B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2006110998A (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP5273420B1 (ja) 印刷制御装置、画像形成システムおよびプログラム
JP2007253598A (ja) 印刷装置
JP2005301987A (ja) プリンタドライバ、印刷制御装置、印刷システムおよび印刷制御方法
JP4289416B2 (ja) Svg文書印刷装置およびsvg文書印刷方法
US20150248259A1 (en) Information processing apparatus, print system, and recording medium
JP2010221422A (ja) 印刷装置およびプログラム
JP2009053789A (ja) 情報処理装置とプログラムとコンピュータ読み取り可能な記録媒体
JP2007148851A (ja) プリンタ装置、印刷指示装置、印刷システム、印刷方法、プログラムおよび記録媒体
JP2009086989A (ja) 画像形成システム、画像形成装置及びプログラム
JP2008234119A (ja) Xml文書フォーマット対応の印刷制御装置
JP2010188598A (ja) 印刷装置、ドライバープログラム、印刷システム
JP4290711B2 (ja) 印刷装置
JP2010218325A (ja) 印刷制御装置および印刷システム
US10225417B2 (en) Information processing apparatus in communication with a printing apparatus, control method, and computer readable storage medium
JP2006268797A (ja) 出力データ生成装置、出力データ生成方法、及び出力データ生成プログラム
JP2009134645A (ja) データ処理装置、印刷処理方法、記憶媒体、プログラム
JP2020157518A (ja) 画像処理装置および画像処理システム
JP2004126311A (ja) 文字処理装置及びその方法、並びに画像形成装置
JP2007048133A (ja) 情報処理装置及びその制御方法
JP2003099221A (ja) プリントシステム
JP2011037219A (ja) 画像処理装置、画像処理装置の制御方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
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: 20090310

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140410

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