説明

印刷装置、プログラム及び印刷装置のデータ処理方法

【課題】印刷に関する処理を効率的に行う。
【解決手段】データ処理装置40は、XHTML文書データがハイパーリンクを含むか否かを解析する処理、ハイパーリンクが含まれる場合にリンクファイル要求管理テーブル131にエントリを登録してリスト形式で管理する処理、リンクファイル取得要求情報212に基づきリンクファイルを取得する処理、XTHML文書データ及びリンクファイルに基づいて、リンクファイルの取得が完了するまでXHTML文書データに基づいて中間言語データを生成し、リンクファイルの取得完了後に当該リンクファイルに基づいて中間言語データを生成する処理、を行うCPU41を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、プログラム及び印刷装置のデータ処理方法に関する。
【背景技術】
【0002】
近年、印刷装置(例えばプリンタやMFP(Multifunction Peripheral)等)の機能として、ハイパーテキスト形式のデータを印刷する機能が求められている。携帯電話やPDA等の形態端末の表示画面で閲覧したXHTML(Extensible HyperText Markup Language)文書データをダイレクトに印刷する場合等に、当該機能が必要とされるためである。以下、ハイパーテキスト形式のデータの例として、XHTML文書データの印刷に関した説明を行う。
【0003】
印刷装置は、入力されたXHTML文書データに基づいて中間言語データを生成する処理を行う(以下、この処理を「解析」と称する)。そして、印刷装置は、中間言語データから印刷画像となるビットマップパターンを生成し、ビットマップパターンに応じた画像を印刷媒体(例えば紙等)に現像する画像形成部(エンジン)に出力する。
【0004】
XHTML文書データは、ハイパーリンクを用いてリンクファイル(例えば画像ファイル等)を参照し、表示させる機能を有している。リンクファイルを参照するハイパーリンクを含むXHTML文書データが印刷される場合、印刷装置はリンクファイルによる表示内容も印刷する。このとき、印刷装置はハイパーリンクで指定されたリンクファイルを取得する処理を行う。印刷装置は、リンクファイルを取得すると、リンクファイルから中間言語データを生成し、XHTML文書データのテキスト部分の中間言語データと合わせてビットマップパターンを生成する。
【0005】
ところで、中間言語データはオブジェクト単位で生成される。つまり、XHTML文書データのテキスト部分に対応した中間言語データとリンクファイルに対応した中間言語データとは個別に生成される。一方、ビットマップパターンは印刷媒体上のページ単位で生成される。即ち、ビットマップパターンを生成するために、印刷装置は一ページ分の中間言語データを生成する処理を行う必要がある。このため、リンクファイルの取得が完了せず一ページ分の中間言語データが揃わない場合、ビットマップパターンの生成以降の処理を行うことができず、印刷に関する他の処理が滞る。
【0006】
図10は、従来の画像形成装置の処理の一例を示すタイムチャートである。
XHTML文書にハイパーリンクが複数含まれる場合、図10に示すように、印刷装置はその記載順に従ってリンクファイルを取得する処理(例えばダウンロード等)を行う。このとき、従来の印刷装置は一つのリンクファイルの取得が完了するまで他の処理を待機させる。このため、例えば一ページ目に含まれるリンクファイルの取得完了までに多大な時間を要した場合、そのリンクファイルの取得完了までそのリンクファイルを指定するハイパーリンク以降のXHTML文書データの解析やその他印刷に関する他の処理が一切行われず、非効率であった。
【0007】
そこで、図11に示すように、リンクファイル毎に個別のプロセスを設けプロセス毎にリンクファイルの取得処理及び取得したリンクファイルの解析を行う画像形成装置がある(例えば特許文献1)。図11は、外部ファイル毎に個別のプロセスを設けプロセス毎に外部ファイルの取得処理及び取得した外部ファイルの解析を行う画像形成装置のタイムチャートである。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−127132号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1の画像形成装置は、印刷に関する処理を効率よく行うことができないことがあった。
【0010】
まず、印刷装置が有するメモリの記憶領域がリンクファイルの取得処理毎に設けられた複数のプロセスによって占有されてしまい、印刷に関する他の処理を行うためのメモリ容量が確保できなくなり印刷が滞る場合がある。加えて、リンクファイルの取得処理件数によっては全てのプロセスがメモリの記憶領域に収まらない場合も有り得る。
仮に、メモリの記憶内容を退避させるための補助記憶装置(例えばハードディスクやフラッシュメモリ等)を有する印刷装置であっても、メモリの記憶内容を補助記憶装置に退避する処理には多大な時間を要する上、退避処理及び退避したデータをメモリに書き戻す処理によるオーバーヘッドが生じ、非効率である。
【0011】
さらに、複数のプロセスを並列で処理するためのマルチスレッド制御は、プロセス切替時にオーバーヘッドを生ずる。即ち、オーバーヘッドは取得するリンクファイルの数に比例して増加する。オーバーヘッドは印刷処理に何ら寄与しない無駄な処理であり、オーバーヘッドの増加は印刷に関する処理の効率低下をもたらす。
【0012】
本発明の課題は、印刷に関する処理を効率的に行うことである。
【課題を解決するための手段】
【0013】
請求項1に記載の発明は、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を有する印刷装置であって、前記データ処理装置は、前記入力データが他のデータを参照する命令を含むか否かを解析する処理、 前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出する処理、抽出された他のデータを取得するための情報をリスト形式で一括管理する処理、前記一括管理された情報に基づき各々の前記他のデータを取得する処理、前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成する処理、を行う制御部を備えることを特徴とする。
【0014】
請求項2に記載の発明は、請求項1に記載の印刷装置であって、前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする。
【0015】
請求項3に記載の発明は、請求項1又は2に記載の印刷装置であって、抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする。
【0016】
請求項4に記載の発明は、請求項1から3のいずれか一項に記載の印刷装置であって、前記入力データは、ハイパーテキストを含み、前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする。
【0017】
請求項5に記載のプログラムは、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置のコンピュータを、前記入力データが他のデータを参照する命令を含むか否かを解析する手段、前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出する手段、抽出された他のデータを取得するための情報をリスト形式で一括管理する手段、前記一括管理された情報に基づき各々の前記他のデータを取得する手段、前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成する手段、として機能させることを特徴とする。
【0018】
請求項6に記載の発明は、請求項5に記載のプログラムであって、前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする。
【0019】
請求項7に記載の発明は、請求項5又は6に記載のプログラムであって、抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする。
【0020】
請求項8に記載の発明は、請求項5から7のいずれか一項に記載のプログラムであって、前記入力データは、ハイパーテキストを含み、前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする。
【0021】
請求項9に記載の発明は、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を有する印刷装置のデータ処理方法であって、前記入力データが他のデータを参照する命令を含むか否かを解析するステップ、前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出するステップ、抽出された他のデータを取得するための情報をリスト形式で一括管理するステップ、前記一括管理された情報に基づき各々の前記他のデータを取得するステップ、前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成するステップ、を含むことを特徴とする。
【0022】
請求項10に記載の発明は、請求項9に記載の印刷装置のデータ処理方法であって、前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする。
【0023】
請求項11に記載の発明は、請求項9又は10に記載の印刷装置のデータ処理方法であって、抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする。
【0024】
請求項12に記載の発明は、請求項9から11のいずれか一項に記載の印刷装置のデータ処理装置であって、前記入力データは、ハイパーテキストを含み、前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする。
【発明の効果】
【0025】
本発明によれば、印刷に関する処理を効率的に行うことができる。
【図面の簡単な説明】
【0026】
【図1】本発明によるデータ処理装置を備えた印刷装置の主要構成を示すブロック図である。
【図2】エンジンの主要構成を示す図である。
【図3】データ処理装置の機能を示す図である。
【図4】XHTML文書データの一例を示す図である。
【図5】XHTML文書データの表示例を示す図である。
【図6】リンクファイル要求管理テーブルの一例を示す図である。
【図7】データ解析部によるXHTML文書データの解析と、外部ファイルの取得状態との関係を示すタイムチャートである。
【図8】データ解析部によるXHTML文書データの解析の流れを示すフローチャートである。
【図9】リンクファイル取得部による外部ファイルの取得処理の流れを示すフローチャートである。
【図10】従来の画像形成装置の処理の一例を示すタイムチャートである。
【図11】外部ファイル毎に個別のプロセスを設けプロセス毎に外部ファイルの取得処理及び取得した外部ファイルの解析を行う画像形成装置のタイムチャートである。
【発明を実施するための形態】
【0027】
以下、図を参照して本発明の実施の形態の例を詳細に説明する。
図1は、本発明によるデータ処理装置を備えた印刷装置1の主要構成を示すブロック図である。
図1に示すように、印刷装置1は、エンジン10と、データ処理装置40と、を備える。
【0028】
まず、エンジン10について説明する。エンジン10は、紙等の印刷媒体に印刷を行う装置である。
図2は、エンジン10の主要構成を示す図である。本実施形態におけるエンジン10は、イエロー(Y),マゼンダ(M),シアン(C),ブラック(K)の4色それぞれを個別の静電ドラムで転写する構成(タンデム方式)である。
図2に示すように、エンジン10は、用紙カセット11、給紙ローラ12、搬送ローラ13、搬送ベルト14、静電ドラム15、16、17、18、プリントユニット19、20、21、22、レーザーユニット23、23、23、23、転写ローラ24、24、24、24、定着器25、排紙ローラ26及び筐体27を備える。
【0029】
用紙カセット11は、紙等の印刷媒体をストックする。以下、用紙カセット11に紙がストックされている場合の印刷工程について記載する。
給紙ローラ12は、用紙カセット11内の紙を一枚ずつ引き出す。搬送ローラ13は、給紙ローラ12が引き出した紙を搬送ベルト14へ搬送する。搬送ベルト14へ搬送された紙は、静電ドラム15,16,17,18によりその紙面にトナー画像を施される。
【0030】
静電ドラム15、16、17、18は、トナー画像を紙に転写する。以下、静電ドラム15を例とし、転写の仕組みを説明する。
静電ドラム15は円筒状の部材であり、帯電ユニット(図示略)によりその円筒の外周面が帯電している。静電ドラム15は、帯電した外周面にレーザーユニット23からレーザの照射を受けて露光する。レーザーユニット23は、紙へ印刷する画像に応じたパターン(印刷パターン)に従ってレーザを静電ドラム15に照射し、静電ドラム15の外周面に静電潜像を形成する。その後、静電ドラム15は、プリントユニット19による現像を受ける。プリントユニット19は、イエロー(Y)のトナーを収めるトナーカートリッジと、トナーカートリッジ内のトナーを静電画像に付着させる現像ユニットとを有し、静電ドラム15の外周面に形成された静電画像にトナーを付着させることで静電ドラム15の外周面に印刷パターンに応じたトナー画像を施す。
トナー画像は、搬送ベルト14と静電ドラム15とによって紙が挟まれるタイミングで紙に転写される。搬送ベルト14を挟んで静電ドラム15と対向する位置には転写ローラ24が設けられており、転写ローラ24による逆帯電によりトナー画像は紙に転写される。
【0031】
前述の静電ドラム15によるトナー画像の転写と同様の仕組みにより、静電ドラム16はプリントユニット20のトナーカートリッジ内に収められたマゼンダ(M)のトナー画像を転写し、静電ドラム17はプリントユニット21のトナーカートリッジ内に収められたシアン(C)のトナー画像を転写し、静電ドラム18はプリントユニット22のトナーカートリッジ内に収められたブラック(K)のトナー画像を転写する。4色のトナー画像が重ねて転写されることにより、紙はその紙面にトナー画像を施される。
【0032】
トナー画像を施された紙は、定着器25へ搬送される。定着器25は、紙面に形成されたトナー画像を定着させる。トナー画像の定着を施された紙は、排紙ローラ26により搬送されて筐体27の上方に排出される。
以上、紙に対する印刷工程を示したが、紙以外の印刷媒体についても同様の仕組みによる印刷が行われる。
【0033】
印刷パターンは、データ処理装置40が出力するビデオ信号204に基づく。以下、データ処理装置40について説明する。
図1に示すように、データ処理装置40は、CPU41、RAM42、ROM43、ハードディスク(以下の説明及び図においてHDDと記載する)44、通信装置45及びバス46を備える。
【0034】
CPU41は、通信装置45を介してホスト80から入力されたデータ(入力データ200)に基づき、ROM43から処理内容に応じたプログラムを読み込んで実行、処理し、エンジン10にビデオ信号204を出力する。
RAM42は、CPU41が実行、処理するプログラムやデータ等を一時的に格納する記憶領域として機能する。
ROM43は、CPU41が読み込む各種プログラムを書き換え不可能な状態で記憶する。
HDD44は、データを書き換え可能な状態で記憶することができる。
【0035】
通信装置45は、データ処理装置40と外部機器とを相互通信可能に接続する。通信装置45として、例えば無線LAN(Local Area Network)やBluetooth、インターネット接続その他の方式による外部のネットワークとの接続を可能にする各種の装置が挙げられ、通信装置45はこれら複数の方式による通信機能を有している。通信装置45と相互通信可能に接続される外部機器として、例えばPCや携帯電話、外部のネットワークを介して接続されたワークステーション等が挙げられるが、以下の記載及び図1においてこれらの外部機器をホスト80と記載する。
バス46は、データ処理装置40の各部及びエンジン10を相互に接続する。
【0036】
次に、データ処理装置40の機能について説明する。図3は、データ処理装置40の機能を示す図である。
図3に示すように、データ処理装置40は、データ解析部61、データ描画部62、印刷制御部63、印刷部64、リンクファイル管理部65、リンクファイル取得部66として機能する。
【0037】
データ処理装置40の各機能は、CPU41が各機能に対応するプログラムをROM43から読み込んで実行、処理することによる。ROM43は、データ解析プログラム51、データ描画プログラム52、印刷制御プログラム53、印刷プログラム54、リンクファイル管理プログラム55、リンクファイル取得プログラム56を記憶する。CPU41は、データ解析プログラム51を読み込んで実行処理することによりデータ解析部61として機能する。同様に、CPU41は、データ描画プログラム52によりデータ描画部62として、印刷制御プログラム53により印刷制御部63として、印刷プログラム54により印刷部64として、リンクファイル管理プログラム55によってリンクファイル管理部65として、リンクファイル取得プログラム56によりリンクファイル取得部66として機能する。CPU41は、各機能を並行して処理する。以下、各機能について説明する。
【0038】
まず、エンジン10に出力するビデオ信号204を生成する機能に関する説明を行う。
データ解析部61は、ホスト80から入力された入力データ200に基づいて当該データを印刷するための中間言語データ201(例えばDisplay ListやPostScript等によるデータ)を生成し、データ描画部62へ出力する。中間言語データ201の生成に際し、データ解析部61はデータを読み込み、解釈する解析を行う。
【0039】
データ描画部62は、データ解析部61から入力された中間言語データ201からビットマップパターン202を生成し、印刷制御部63へ出力する。
印刷制御部63は、データ描画部62から入力されたビットマップパターン202を印刷媒体に印刷する際のレイアウトその他に関する各種処理を行い、処理後のデータ203を印刷部64へ出力する。印刷制御部63が行う処理として、例えば片面/両面印刷の選択に応じた制御や、ページ割付を伴う印刷の制御等が挙げられる。
印刷部64は、印刷制御部63から入力された処理後のデータ203に基づきビデオ信号204を生成し、エンジン10へ出力する。エンジン10は、印刷部64から入力されたビデオ信号204に基づいて印刷を行う。
【0040】
次に、入力データ200が他のデータを参照する命令を含む場合に他のデータを取得する機能について説明する。以下、他のデータを参照する命令を含む入力データの例として、XHTML文書データを用いて説明する。
【0041】
まず、XHTML文書データについて説明する。
図4は、XHTML文書データの一例を示す図である。
XHTML文書データは、文書型宣言部121、XML名前空間宣言部122、head要素123及びbody要素124を含む。以下、XHTML文書データに含まれるこれらの各構成を「XHTMLコマンド」と総称する。
【0042】
文書型宣言部121は、その文書データの型を示すテキストであり、図4に示す文書型宣言部121はこの文書データがXHTML文書データであることを示している。XML名前空間宣言部122は、マークアップ言語で用いられるタグの名前と意味とを一意に対応付ける情報(名前空間)を示すURL (Uniform Resource Locator)を示すテキストであり、図4に示すXML名前空間宣言部122はhtml要素内に記述する各タグがURLで指定された名前空間に属することを示している。head要素123は文書のフォントの種類、色、サイズや各タグ要素のレイアウト、マージン等を指定するためのスタイルシート、文書のタイトルその他の文書に関する各種情報を記述するテキストである。body要素124はそのデータの本文である。
【0043】
図5は、XHTML文書データの表示例を示す図である。図5に示す表示例は、図4に示すXHTML文書データの表示例である。
XHTML文書データは、その表示内容に、テキスト91、92等のテキスト文書と、XHTML文書データとは異なる他のデータ(例えば図5の画像101、102等)による内容を含ませることができる。XHTML文書データの表示内容は、XHTML文書データのbody要素124内のテキストに対応する。例えば、図5に示す画像101、102はそれぞれ図4に示すハイパーリンク111、112によって指定される他のデータである。以下、ハイパーリンクによって指定される他のデータをリンクファイルと称する。
【0044】
データ解析部61は、解析において、XHTML文書データが他のデータを参照する命令、即ちハイパーリンクを含むか否かを判定する。データ解析部61は、XHTML文書データにハイパーリンクが含まれていると判定すると、リンクファイルの登録を行う。具体的には、データ解析部61は当該ハイパーリンクが指定するリンクファイルに関連する情報211をリンクファイル管理部65へ出力する。
【0045】
リンクファイル管理部65は、データ解析部から入力されたリンクファイルに関連する情報211に基づき、リンクファイルを取得するための情報を抽出してリンクファイル要求管理テーブル131に登録し、そのリンクファイルの取得状態を管理する。
図6は、リンクファイル要求管理テーブル131の一例を示す図である。
リンクファイル要求管理テーブル131は、リンクファイル管理部65によって生成、更新されるデータであり、RAM42の記憶領域に格納される。図6に示すように、リンクファイル要求管理テーブル131は、リンクファイル名、リンクファイル挿入位置、URL、取得完了フラグ及びリンクファイルデータ格納ディレクトリの各レコードを有するリスト形式のデータである。
【0046】
リンクファイル名は、リンクファイルのファイル名である。リンクファイル挿入位置は、データ解析部61が出力する中間言語データ201においてそのリンクファイルが挿入される位置を示すマーカーである。URLは、そのリンクファイルのURLである。取得完了フラグは、そのリンクファイルの取得が完了したか否かを示し、完了の場合は「YES」、未完了の場合は「NO」である。リンクファイルデータ格納ディレクトリは、取得したリンクファイルの格納先を示す。
【0047】
リンクファイル要求管理テーブル131は、各レコードを一つずつ有するデータの組合せをエントリとして管理する。図6に示す各行はそれぞれ一つのエントリである。各エントリはそれぞれ、一つのURLによって指定される一つのファイルに対応する。即ち、リンクファイル要求管理テーブルのエントリはファイル単位である。リンクファイル管理部65は、リンクファイルに関連する情報211からエントリの各レコードに対応する情報を抽出して登録する。
【0048】
エントリに含まれるレコードのうち、リンクファイル名、リンクファイル挿入位置及びURLの内容はデータ解析部61から入力されたリンクファイルに関連する情報に基づく。リンクファイル管理部65は、データ解析部61からリンクファイルの登録を受けると、リンクファイル要求管理テーブル131に新しいエントリを生成し、リンクファイル名、リンクファイル挿入位置及びURLを当該エントリに設定する。そして、リンクファイル管理部65は、当該エントリの取得完了フラグを「NO」として設定する。
【0049】
リンクファイル管理部65は、新しいエントリの設定後、新しいエントリに基づくリンクファイル取得要求をリンクファイル取得部66に対して行う。具体的には、リンクファイル管理部65は、新しいエントリのURLを含むリンクファイル取得要求情報212をリンクファイル取得部66へ出力する。
【0050】
リンクファイル取得部66は、リンクファイル管理部65からリンクファイル取得要求情報212を入力されると、当該リンクファイル取得要求情報212に含まれるURLに基づきリンクファイルを取得する。具体的には、リンクファイル取得部66は、通信装置45を介してホスト80との接続を確立し、URLが示すリンクファイルのダウンロード要求215をホスト80に送信する。そして、リンクファイル取得部66は、リンクファイルをダウンロードし、予め定められた所定のディレクトリに格納する(図3の符号216)。リンクファイル取得部66がリンクファイルを要求するホスト80は、URLが示すホストであり、入力データ200をデータ処理装置40に入力したホスト80と必ずしも同一ではない。
【0051】
リンクファイル取得部66は、リンクファイルのダウンロードを完了させると、そのリンクファイルのダウンロードが完了したことを示すダウンロード完了通知213をリンクファイル管理部65に出力する。リンクファイル管理部65は、ダウンロード完了通知213を入力されると、リンクファイル要求管理テーブル131におけるそのリンクファイルに対応したエントリの取得完了フラグを「ON」にすると共に、リンクファイルデータ格納ディレクトリにそのリンクファイルが格納されたパスを設定する更新処理を行う(図3の符号218)。そして、更新処理を行ったエントリに対応するリンクファイルの取得完了通知214をリンクファイル解析部61に出力する。
リンクファイル解析部61は、取得完了通知214を入力されると、その取得完了通知214に対応するリンクファイルの解析を行い、中間言語データを生成する。
【0052】
図7は、データ解析部61によるXHTML文書データの解析と、リンクファイルの取得状態との関係を示すタイムチャートである。
データ解析部61は、リンクファイルの取得が完了するまでXHTML文書データの解析を進めて中間言語データを生成し、リンクファイルの取得完了後にリンクファイルを解析してそのリンクファイルの中間言語データを生成する。このとき、データ解析部61は、リンクファイルの取得が完了すると、そのリンクファイルの解析をリンクファイル以降のXHTML文書データの解析よりも優先して行い、リンクファイルの解析完了後にXHTML文書データの解析を再開する。つまり、本実施形態はデータ解析部61による一つの解析プロセスとリンクファイル取得部66によるリンクファイル取得プロセスとの間を仲介するための独立した処理として、リンクファイル管理部65によるリンクファイルの取得管理プロセスを有する。
【0053】
リンクファイル取得部66は、複数のリンクファイルの取得を並行して行うことができるが、一つのリンクファイルの取得を逐次行うようにしてもよい。このとき、リンクファイル取得部66は、先に印刷されるリンクファイル即ちXHTML文書データにおいてより先頭側に記述されているハイパーリンクに対応するリンクファイルの取得を優先して行う。
【0054】
XHTML文書データの解析は、印刷時におけるページ単位で行われる。一ページ分の印刷内容を全て含む解析が完了する度に、データ描画部62は一ページ分のビットマップパターン202の生成を行うので、データ解析部61はより先に印刷される一ページ分に対応する部分のXHTML文書データの解析を優先して行う。印刷時におけるリンクファイルのサイズが不明である等の理由によりページレイアウトが決定できず印刷時の改ページ位置が不明となる場合、データ解析部61はハイパーリンク以外のXTHML文書データの解析を完了した後に順次ダウンロードが完了したリンクファイルの解析を行う。
【0055】
なお、ハイパーリンクを含まないXHTML文書データが入力された場合、データ解析部はそのXHTML文書データの解析のみを行い、中間言語データを生成する。
【0056】
次に、データ処理装置40が行う処理の流れを、図8及び図9のフローチャートを用いて説明する。以下の記載では、CPU41がROM43から各種プログラムを読み込む処理について省略する。
図8は、データ解析部61によるXHTML文書データの解析の流れを示すフローチャートである。
ホスト80からXHTML文書データを受信すると(ステップS1)、CPU41は受信したXHTML文書データが未解析のXHTMLコマンドがあるか否かを判定する(ステップS2)。XTHML文書データが未解析のXHTMLコマンドがある場合(ステップS2:YES)、CPU41は未解析のXHTMLコマンドのうち最上段のXHTMLコマンドを読み込み(ステップS3)、読み込んだXHTMLコマンドがハイパーリンクを含むか否か判定する(ステップS4)。XHTMLコマンドがハイパーリンクを含む場合(ステップS4:YES)、CPU41は当該ハイパーリンクによって指定されたリンクファイルを登録する(ステップS5)。ステップS4においてXHTMLコマンドがハイパーリンクを含まない場合(ステップS4:NO)、CPU41はそのXHTMLコマンドを解析する(ステップS6)。ステップS5又はステップS6の処理後、ステップS2の処理に戻る。
【0057】
ステップS2において、XHTML文書データが未解析のXHTMLコマンドがない場合(ステップS2:NO)、CPU41はリンクファイル要求管理テーブル131を読み込み(ステップS7)、リンクファイル要求管理テーブル131に未解析のリンクファイルに対応するエントリがあるか否かを判定する(ステップS8)。リンクファイル要求管理テーブル131に未解析のリンクファイルに対応するエントリがある場合(ステップS8:YES)、CPU41は未解析のリンクファイルに対応するエントリのうち最上段のエントリの取得完了フラグがONであるか否かを判定する(ステップS9)。ステップS9において取得完了フラグがONである場合(ステップS9:YES)、CPU41はステップS7で読み込んだエントリに対応するリンクファイルを解析する(ステップS10)。ステップS9において取得完了フラグがOFFである場合(ステップS9:NO)、その取得完了フラグがONとなるまで待機する。
【0058】
ステップS10の処理後、ステップS8の処理に戻る。ステップS8において、リンクファイル要求管理テーブル131に未解析のリンクファイルに対応するエントリがない場合(ステップS8:NO)、CPU41は処理を終了する。
【0059】
図9は、リンクファイルの取得処理の流れを示すフローチャートである。
CPU41は、通信装置45を介してホスト80との接続を確立し、リンクファイルのダウンロード要求をホスト80に通知してリンクファイルのダウンロードを開始する(ステップS21)。そして、リンクファイルのダウンロードが完了するまで待機し(ステップS22:NO)、ダウンロードが完了すると(ステップS22:YES)、CPU41はそのリンクファイルのリンクファイル要求管理テーブル131の取得完了フラグを「ON」に更新する(ステップS23)。
【0060】
本実施形態によれば、リンクファイル管理部65がリンクファイル要求管理テーブル131にエントリを設定してリンクファイル取得部66にリンクファイルを取得させるので、リンクファイル毎に個別のファイル取得プロセス及び解析プロセスを設ける必要がない。このため、リンクファイル毎にそのリンクファイルの取得プロセスと解析プロセスとを設ける従来の場合に比してリンクファイルを参照するXHTML文書データの解析におけるメモリ使用量を大幅に低減することができる。
さらに、一つのプロセスによるデータ解析部61によるXHTML文書データの解析を行い、リンクファイル管理部65が他のプロセスから独立した一つのプロセスによるリンクファイル取得部66によるリンクファイルの取得を管理するので、リンクファイル毎にそのリンクファイルの取得プロセスと解析プロセスとを設ける、即ちリンクファイル数に比例して増大したプロセスが並行して動作する従来の場合に比して大幅にプロセス数を低減することができることから、プロセスの切替に伴い生ずるオーバーヘッドを大幅に低減することができ、効率的なXHTML文書データの解析を行うことができる。
【0061】
さらに、データ解析部61はハイパーリンクを含むXHTMLコマンドがあると判定すると、当該ハイパーリンクが指定するリンクファイルの取得処理をリンクファイル管理部65に渡す一方で当該ハイパーリンク以降のXHTMLコマンドの解析を進める。そして、データ解析部61と、リンクファイル管理部65と、リンクファイル取得部66とは並行で処理を行うので、リンクファイルの取得を伴うXHTML文書データの解析においてハイパーリンク以降のXHTMLコマンドの解析が滞ることはない。このため、リンクファイル取得完了までの時間を用いてリンクファイル以外のXHTML文書データの解析を進めることができ、効率的なXHTML文書データの解析を行うことができる。
さらに、リンクファイルの取得が完了すると、データ解析部61はそのリンクファイルの解析をXHTML文書データの解析よりも優先して行う。つまり、リンクファイルの取得完了まで先行して進められていたXHTML文書データよりも先に印刷される内容に含まれるリンクファイルの解析を優先して行う。これによって、リンクファイルの取得完了により印刷が可能になったページの中間言語データを迅速に生成することができ、印刷処理のスピードを向上させることができる。
【0062】
さらに、リンクファイル管理部65は、リンクファイル名、リンクファイル挿入位置、URL、取得完了フラグ及びリンクファイルデータ格納ディレクトリの各レコードを有するリスト形式のリンクファイル要求管理テーブル131における一のエントリと一のリンクファイルの取得要求とを対応付けて個々のリンクファイルの取得完了状態を取得完了フラグで示す。このため、複数のリンクファイルの取得に関する処理を個別に管理することができる。
【0063】
さらに、データ解析部61に入力されるデータはXHTML文書データであり、リンクファイル取得部66が取得するリンクファイルはハイパーリンクにより指定されたリンクファイルであるので、データ処理装置40はPCや携帯端末等で表示しているXHTML文書データの印刷要求に応じた画像処理を行うことができる。
【0064】
なお、本発明の実施の形態は、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0065】
例えば、エンジンはタンデム方式に限らず、他の方式によってもよい。他の方式として、例えば一つの静電ドラムを用いる方式(1ドラム方式)等が挙げられる。
【0066】
データ処理装置の各部は、同等の機能を有する別構成でもよい。例えば、ROM、ハードディスク等は別の記憶装置(例えばフラッシュメモリ等)を用いてもよい。
【0067】
解析の対象となるデータは、XHTML文書データに限らず、ハイパーリンクを含む他のマークアップ言語によるデータ又は外部のデータを参照する独自のフォーマットによるデータ等でもよい。
【0068】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてROMを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、CD-ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【符号の説明】
【0069】
10 エンジン
41 CPU
42 RAM
43 ROM
45 通信装置
80 ホスト

【特許請求の範囲】
【請求項1】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を有する印刷装置であって、前記データ処理装置は、
前記入力データが他のデータを参照する命令を含むか否かを解析する処理、
前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出する処理、
抽出された他のデータを取得するための情報をリスト形式で一括管理する処理、
前記一括管理された情報に基づき各々の前記他のデータを取得する処理、
前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成する処理、
を行う制御部を備えることを特徴とする印刷装置。
【請求項2】
前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする請求項1に記載の印刷装置。
【請求項3】
抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする請求項1又は2に記載の印刷装置。
【請求項4】
前記入力データは、ハイパーテキストを含み、
前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする請求項1から3のいずれか一項に記載の印刷装置の印刷装置。
【請求項5】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置のコンピュータを、
前記入力データが他のデータを参照する命令を含むか否かを解析する手段、
前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出する手段、
抽出された他のデータを取得するための情報をリスト形式で一括管理する手段、
前記一括管理された情報に基づき各々の前記他のデータを取得する手段、
前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成する手段、
として機能させることを特徴とするプログラム。
【請求項6】
前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする請求項5に記載のプログラム。
【請求項7】
抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする請求項5又は6に記載のプログラム。
【請求項8】
前記入力データは、ハイパーテキストを含み、
前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする請求項5から7のいずれか一項に記載のプログラム。
【請求項9】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を有する印刷装置のデータ処理方法であって、
前記入力データが他のデータを参照する命令を含むか否かを解析するステップ、
前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出するステップ、
抽出された他のデータを取得するための情報をリスト形式で一括管理するステップ、
前記一括管理された情報に基づき各々の前記他のデータを取得するステップ、
前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成するステップ、
を含むことを特徴とする印刷装置のデータ処理方法。
【請求項10】
前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする請求項9に記載の印刷装置のデータ処理方法。
【請求項11】
抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする請求項9又は10に記載の印刷装置のデータ処理方法。
【請求項12】
前記入力データは、ハイパーテキストを含み、
前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする請求項9から11のいずれか一項に記載の印刷装置のデータ処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2010−194778(P2010−194778A)
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願番号】特願2009−40235(P2009−40235)
【出願日】平成21年2月24日(2009.2.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】