(57)【要約】【課題】印刷に関する処理を効率的に行う。【解決手段】データ処理装置４０は、ＸＨＴＭＬ文書データがハイパーリンクを含むか否かを解析する処理、ハイパーリンクが含まれる場合にリンクファイル要求管理テーブル１３１にエントリを登録してリスト形式で管理する処理、リンクファイル取得要求情報２１２に基づきリンクファイルを取得する処理、ＸＴＨＭＬ文書データ及びリンクファイルに基づいて、リンクファイルの取得が完了するまでＸＨＴＭＬ文書データに基づいて中間言語データを生成し、リンクファイルの取得完了後に当該リンクファイルに基づいて中間言語データを生成する処理、を行うＣＰＵ４１を備える。【選択図】図１
2010194778.tif 000002
【特許請求の範囲】
【請求項１】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を有する印刷装置であって、前記データ処理装置は、
前記入力データが他のデータを参照する命令を含むか否かを解析する処理、
前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出する処理、
抽出された他のデータを取得するための情報をリスト形式で一括管理する処理、
前記一括管理された情報に基づき各々の前記他のデータを取得する処理、
前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成する処理、
を行う制御部を備えることを特徴とする印刷装置。
【請求項２】
前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする請求項１に記載の印刷装置。
【請求項３】
抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする請求項１又は２に記載の印刷装置。
【請求項４】
前記入力データは、ハイパーテキストを含み、
前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする請求項１から３のいずれか一項に記載の印刷装置の印刷装置。
【請求項５】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置のコンピュータを、
前記入力データが他のデータを参照する命令を含むか否かを解析する手段、
前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出する手段、
抽出された他のデータを取得するための情報をリスト形式で一括管理する手段、
前記一括管理された情報に基づき各々の前記他のデータを取得する手段、
前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成する手段、
として機能させることを特徴とするプログラム。
【請求項６】
前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする請求項５に記載のプログラム。
【請求項７】
抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする請求項５又は６に記載のプログラム。
【請求項８】
前記入力データは、ハイパーテキストを含み、
前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする請求項５から７のいずれか一項に記載のプログラム。
【請求項９】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を有する印刷装置のデータ処理方法であって、
前記入力データが他のデータを参照する命令を含むか否かを解析するステップ、
前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出するステップ、
抽出された他のデータを取得するための情報をリスト形式で一括管理するステップ、
前記一括管理された情報に基づき各々の前記他のデータを取得するステップ、
前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成するステップ、
を含むことを特徴とする印刷装置のデータ処理方法。
【請求項１０】
前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする請求項９に記載の印刷装置のデータ処理方法。
【請求項１１】
抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする請求項９又は１０に記載の印刷装置のデータ処理方法。
【請求項１２】
前記入力データは、ハイパーテキストを含み、
前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする請求項９から１１のいずれか一項に記載の印刷装置のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、プログラム及び印刷装置のデータ処理方法に関する。
【背景技術】
【０００２】
近年、印刷装置（例えばプリンタやＭＦＰ（Multifunction Peripheral）等）の機能として、ハイパーテキスト形式のデータを印刷する機能が求められている。携帯電話やＰＤＡ等の形態端末の表示画面で閲覧したＸＨＴＭＬ（Extensible HyperText Markup Language）文書データをダイレクトに印刷する場合等に、当該機能が必要とされるためである。以下、ハイパーテキスト形式のデータの例として、ＸＨＴＭＬ文書データの印刷に関した説明を行う。
【０００３】
印刷装置は、入力されたＸＨＴＭＬ文書データに基づいて中間言語データを生成する処理を行う（以下、この処理を「解析」と称する）。そして、印刷装置は、中間言語データから印刷画像となるビットマップパターンを生成し、ビットマップパターンに応じた画像を印刷媒体（例えば紙等）に現像する画像形成部（エンジン）に出力する。
【０００４】
ＸＨＴＭＬ文書データは、ハイパーリンクを用いてリンクファイル（例えば画像ファイル等）を参照し、表示させる機能を有している。リンクファイルを参照するハイパーリンクを含むＸＨＴＭＬ文書データが印刷される場合、印刷装置はリンクファイルによる表示内容も印刷する。このとき、印刷装置はハイパーリンクで指定されたリンクファイルを取得する処理を行う。印刷装置は、リンクファイルを取得すると、リンクファイルから中間言語データを生成し、ＸＨＴＭＬ文書データのテキスト部分の中間言語データと合わせてビットマップパターンを生成する。
【０００５】
ところで、中間言語データはオブジェクト単位で生成される。つまり、ＸＨＴＭＬ文書データのテキスト部分に対応した中間言語データとリンクファイルに対応した中間言語データとは個別に生成される。一方、ビットマップパターンは印刷媒体上のページ単位で生成される。即ち、ビットマップパターンを生成するために、印刷装置は一ページ分の中間言語データを生成する処理を行う必要がある。このため、リンクファイルの取得が完了せず一ページ分の中間言語データが揃わない場合、ビットマップパターンの生成以降の処理を行うことができず、印刷に関する他の処理が滞る。
【０００６】
図１０は、従来の画像形成装置の処理の一例を示すタイムチャートである。
ＸＨＴＭＬ文書にハイパーリンクが複数含まれる場合、図１０に示すように、印刷装置はその記載順に従ってリンクファイルを取得する処理（例えばダウンロード等）を行う。このとき、従来の印刷装置は一つのリンクファイルの取得が完了するまで他の処理を待機させる。このため、例えば一ページ目に含まれるリンクファイルの取得完了までに多大な時間を要した場合、そのリンクファイルの取得完了までそのリンクファイルを指定するハイパーリンク以降のＸＨＴＭＬ文書データの解析やその他印刷に関する他の処理が一切行われず、非効率であった。
【０００７】
そこで、図１１に示すように、リンクファイル毎に個別のプロセスを設けプロセス毎にリンクファイルの取得処理及び取得したリンクファイルの解析を行う画像形成装置がある（例えば特許文献１）。図１１は、外部ファイル毎に個別のプロセスを設けプロセス毎に外部ファイルの取得処理及び取得した外部ファイルの解析を行う画像形成装置のタイムチャートである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−１２７１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の画像形成装置は、印刷に関する処理を効率よく行うことができないことがあった。
【００１０】
まず、印刷装置が有するメモリの記憶領域がリンクファイルの取得処理毎に設けられた複数のプロセスによって占有されてしまい、印刷に関する他の処理を行うためのメモリ容量が確保できなくなり印刷が滞る場合がある。加えて、リンクファイルの取得処理件数によっては全てのプロセスがメモリの記憶領域に収まらない場合も有り得る。
仮に、メモリの記憶内容を退避させるための補助記憶装置（例えばハードディスクやフラッシュメモリ等）を有する印刷装置であっても、メモリの記憶内容を補助記憶装置に退避する処理には多大な時間を要する上、退避処理及び退避したデータをメモリに書き戻す処理によるオーバーヘッドが生じ、非効率である。
【００１１】
さらに、複数のプロセスを並列で処理するためのマルチスレッド制御は、プロセス切替時にオーバーヘッドを生ずる。即ち、オーバーヘッドは取得するリンクファイルの数に比例して増加する。オーバーヘッドは印刷処理に何ら寄与しない無駄な処理であり、オーバーヘッドの増加は印刷に関する処理の効率低下をもたらす。
【００１２】
本発明の課題は、印刷に関する処理を効率的に行うことである。
【課題を解決するための手段】
【００１３】
請求項１に記載の発明は、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を有する印刷装置であって、前記データ処理装置は、前記入力データが他のデータを参照する命令を含むか否かを解析する処理、  前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出する処理、抽出された他のデータを取得するための情報をリスト形式で一括管理する処理、前記一括管理された情報に基づき各々の前記他のデータを取得する処理、前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成する処理、を行う制御部を備えることを特徴とする。
【００１４】
請求項２に記載の発明は、請求項１に記載の印刷装置であって、前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする。
【００１５】
請求項３に記載の発明は、請求項１又は２に記載の印刷装置であって、抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする。
【００１６】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載の印刷装置であって、前記入力データは、ハイパーテキストを含み、前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする。
【００１７】
請求項５に記載のプログラムは、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置のコンピュータを、前記入力データが他のデータを参照する命令を含むか否かを解析する手段、前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出する手段、抽出された他のデータを取得するための情報をリスト形式で一括管理する手段、前記一括管理された情報に基づき各々の前記他のデータを取得する手段、前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成する手段、として機能させることを特徴とする。
【００１８】
請求項６に記載の発明は、請求項５に記載のプログラムであって、前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする。
【００１９】
請求項７に記載の発明は、請求項５又は６に記載のプログラムであって、抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする。
【００２０】
請求項８に記載の発明は、請求項５から７のいずれか一項に記載のプログラムであって、前記入力データは、ハイパーテキストを含み、前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする。
【００２１】
請求項９に記載の発明は、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を有する印刷装置のデータ処理方法であって、前記入力データが他のデータを参照する命令を含むか否かを解析するステップ、前記解析の結果、他のデータを参照する命令が含まれる場合に当該他のデータを取得するための情報を抽出するステップ、抽出された他のデータを取得するための情報をリスト形式で一括管理するステップ、前記一括管理された情報に基づき各々の前記他のデータを取得するステップ、前記入力データに前記他のデータを参照する命令が一つ以上含まれる場合、当該他のデータの取得が完了するまで前記入力データのうち他のデータを参照しない部分に基づいて前記印刷データを生成し、当該他のデータの取得完了後に当該他のデータに基づいて前記印刷データを生成するステップ、を含むことを特徴とする。
【００２２】
請求項１０に記載の発明は、請求項９に記載の印刷装置のデータ処理方法であって、前記他のデータの取得完了後、当該他のデータに基づく前記印刷データの生成を当該他のデータを参照しない部分の前記入力データに基づく前記印刷データの生成よりも優先して行うことを特徴とする。
【００２３】
請求項１１に記載の発明は、請求項９又は１０に記載の印刷装置のデータ処理方法であって、抽出した他のデータを取得するための情報を、取得するファイル単位で管理テーブルに登録することを特徴とする。
【００２４】
請求項１２に記載の発明は、請求項９から１１のいずれか一項に記載の印刷装置のデータ処理装置であって、前記入力データは、ハイパーテキストを含み、前記他のデータは、ハイパーリンクにより指定されたファイルであることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、印刷に関する処理を効率的に行うことができる。
【図面の簡単な説明】
【００２６】
【図１】本発明によるデータ処理装置を備えた印刷装置の主要構成を示すブロック図である。
【図２】エンジンの主要構成を示す図である。
【図３】データ処理装置の機能を示す図である。
【図４】ＸＨＴＭＬ文書データの一例を示す図である。
【図５】ＸＨＴＭＬ文書データの表示例を示す図である。
【図６】リンクファイル要求管理テーブルの一例を示す図である。
【図７】データ解析部によるＸＨＴＭＬ文書データの解析と、外部ファイルの取得状態との関係を示すタイムチャートである。
【図８】データ解析部によるＸＨＴＭＬ文書データの解析の流れを示すフローチャートである。
【図９】リンクファイル取得部による外部ファイルの取得処理の流れを示すフローチャートである。
【図１０】従来の画像形成装置の処理の一例を示すタイムチャートである。
【図１１】外部ファイル毎に個別のプロセスを設けプロセス毎に外部ファイルの取得処理及び取得した外部ファイルの解析を行う画像形成装置のタイムチャートである。
【発明を実施するための形態】
【００２７】
以下、図を参照して本発明の実施の形態の例を詳細に説明する。
図１は、本発明によるデータ処理装置を備えた印刷装置１の主要構成を示すブロック図である。
図１に示すように、印刷装置１は、エンジン１０と、データ処理装置４０と、を備える。
【００２８】
まず、エンジン１０について説明する。エンジン１０は、紙等の印刷媒体に印刷を行う装置である。
図２は、エンジン１０の主要構成を示す図である。本実施形態におけるエンジン１０は、イエロー（Ｙ），マゼンダ（Ｍ），シアン（Ｃ），ブラック（Ｋ）の４色それぞれを個別の静電ドラムで転写する構成（タンデム方式）である。
図２に示すように、エンジン１０は、用紙カセット１１、給紙ローラ１２、搬送ローラ１３、搬送ベルト１４、静電ドラム１５、１６、１７、１８、プリントユニット１９、２０、２１、２２、レーザーユニット２３、２３、２３、２３、転写ローラ２４、２４、２４、２４、定着器２５、排紙ローラ２６及び筐体２７を備える。
【００２９】
用紙カセット１１は、紙等の印刷媒体をストックする。以下、用紙カセット１１に紙がストックされている場合の印刷工程について記載する。
給紙ローラ１２は、用紙カセット１１内の紙を一枚ずつ引き出す。搬送ローラ１３は、給紙ローラ１２が引き出した紙を搬送ベルト１４へ搬送する。搬送ベルト１４へ搬送された紙は、静電ドラム１５，１６，１７，１８によりその紙面にトナー画像を施される。
【００３０】
静電ドラム１５、１６、１７、１８は、トナー画像を紙に転写する。以下、静電ドラム１５を例とし、転写の仕組みを説明する。
静電ドラム１５は円筒状の部材であり、帯電ユニット（図示略）によりその円筒の外周面が帯電している。静電ドラム１５は、帯電した外周面にレーザーユニット２３からレーザの照射を受けて露光する。レーザーユニット２３は、紙へ印刷する画像に応じたパターン（印刷パターン）に従ってレーザを静電ドラム１５に照射し、静電ドラム１５の外周面に静電潜像を形成する。その後、静電ドラム１５は、プリントユニット１９による現像を受ける。プリントユニット１９は、イエロー（Ｙ）のトナーを収めるトナーカートリッジと、トナーカートリッジ内のトナーを静電画像に付着させる現像ユニットとを有し、静電ドラム１５の外周面に形成された静電画像にトナーを付着させることで静電ドラム１５の外周面に印刷パターンに応じたトナー画像を施す。
トナー画像は、搬送ベルト１４と静電ドラム１５とによって紙が挟まれるタイミングで紙に転写される。搬送ベルト１４を挟んで静電ドラム１５と対向する位置には転写ローラ２４が設けられており、転写ローラ２４による逆帯電によりトナー画像は紙に転写される。
【００３１】
前述の静電ドラム１５によるトナー画像の転写と同様の仕組みにより、静電ドラム１６はプリントユニット２０のトナーカートリッジ内に収められたマゼンダ（Ｍ）のトナー画像を転写し、静電ドラム１７はプリントユニット２１のトナーカートリッジ内に収められたシアン（Ｃ）のトナー画像を転写し、静電ドラム１８はプリントユニット２２のトナーカートリッジ内に収められたブラック（Ｋ）のトナー画像を転写する。４色のトナー画像が重ねて転写されることにより、紙はその紙面にトナー画像を施される。
【００３２】
トナー画像を施された紙は、定着器２５へ搬送される。定着器２５は、紙面に形成されたトナー画像を定着させる。トナー画像の定着を施された紙は、排紙ローラ２６により搬送されて筐体２７の上方に排出される。
以上、紙に対する印刷工程を示したが、紙以外の印刷媒体についても同様の仕組みによる印刷が行われる。
【００３３】
印刷パターンは、データ処理装置４０が出力するビデオ信号２０４に基づく。以下、データ処理装置４０について説明する。
図１に示すように、データ処理装置４０は、ＣＰＵ４１、ＲＡＭ４２、ＲＯＭ４３、ハードディスク（以下の説明及び図においてＨＤＤと記載する）４４、通信装置４５及びバス４６を備える。
【００３４】
ＣＰＵ４１は、通信装置４５を介してホスト８０から入力されたデータ（入力データ２００）に基づき、ＲＯＭ４３から処理内容に応じたプログラムを読み込んで実行、処理し、エンジン１０にビデオ信号２０４を出力する。
ＲＡＭ４２は、ＣＰＵ４１が実行、処理するプログラムやデータ等を一時的に格納する記憶領域として機能する。
ＲＯＭ４３は、ＣＰＵ４１が読み込む各種プログラムを書き換え不可能な状態で記憶する。
ＨＤＤ４４は、データを書き換え可能な状態で記憶することができる。
【００３５】
通信装置４５は、データ処理装置４０と外部機器とを相互通信可能に接続する。通信装置４５として、例えば無線ＬＡＮ（Local Area Network）やBluetooth、インターネット接続その他の方式による外部のネットワークとの接続を可能にする各種の装置が挙げられ、通信装置４５はこれら複数の方式による通信機能を有している。通信装置４５と相互通信可能に接続される外部機器として、例えばＰＣや携帯電話、外部のネットワークを介して接続されたワークステーション等が挙げられるが、以下の記載及び図１においてこれらの外部機器をホスト８０と記載する。
バス４６は、データ処理装置４０の各部及びエンジン１０を相互に接続する。
【００３６】
次に、データ処理装置４０の機能について説明する。図３は、データ処理装置４０の機能を示す図である。
図３に示すように、データ処理装置４０は、データ解析部６１、データ描画部６２、印刷制御部６３、印刷部６４、リンクファイル管理部６５、リンクファイル取得部６６として機能する。
【００３７】
データ処理装置４０の各機能は、ＣＰＵ４１が各機能に対応するプログラムをＲＯＭ４３から読み込んで実行、処理することによる。ＲＯＭ４３は、データ解析プログラム５１、データ描画プログラム５２、印刷制御プログラム５３、印刷プログラム５４、リンクファイル管理プログラム５５、リンクファイル取得プログラム５６を記憶する。ＣＰＵ４１は、データ解析プログラム５１を読み込んで実行処理することによりデータ解析部６１として機能する。同様に、ＣＰＵ４１は、データ描画プログラム５２によりデータ描画部６２として、印刷制御プログラム５３により印刷制御部６３として、印刷プログラム５４により印刷部６４として、リンクファイル管理プログラム５５によってリンクファイル管理部６５として、リンクファイル取得プログラム５６によりリンクファイル取得部６６として機能する。ＣＰＵ４１は、各機能を並行して処理する。以下、各機能について説明する。
【００３８】
まず、エンジン１０に出力するビデオ信号２０４を生成する機能に関する説明を行う。
データ解析部６１は、ホスト８０から入力された入力データ２００に基づいて当該データを印刷するための中間言語データ２０１（例えばDisplay ListやPostScript等によるデータ）を生成し、データ描画部６２へ出力する。中間言語データ２０１の生成に際し、データ解析部６１はデータを読み込み、解釈する解析を行う。
【００３９】
データ描画部６２は、データ解析部６１から入力された中間言語データ２０１からビットマップパターン２０２を生成し、印刷制御部６３へ出力する。
印刷制御部６３は、データ描画部６２から入力されたビットマップパターン２０２を印刷媒体に印刷する際のレイアウトその他に関する各種処理を行い、処理後のデータ２０３を印刷部６４へ出力する。印刷制御部６３が行う処理として、例えば片面／両面印刷の選択に応じた制御や、ページ割付を伴う印刷の制御等が挙げられる。
印刷部６４は、印刷制御部６３から入力された処理後のデータ２０３に基づきビデオ信号２０４を生成し、エンジン１０へ出力する。エンジン１０は、印刷部６４から入力されたビデオ信号２０４に基づいて印刷を行う。
【００４０】
次に、入力データ２００が他のデータを参照する命令を含む場合に他のデータを取得する機能について説明する。以下、他のデータを参照する命令を含む入力データの例として、ＸＨＴＭＬ文書データを用いて説明する。
【００４１】
まず、ＸＨＴＭＬ文書データについて説明する。
図４は、ＸＨＴＭＬ文書データの一例を示す図である。
ＸＨＴＭＬ文書データは、文書型宣言部１２１、ＸＭＬ名前空間宣言部１２２、head要素１２３及びbody要素１２４を含む。以下、ＸＨＴＭＬ文書データに含まれるこれらの各構成を「ＸＨＴＭＬコマンド」と総称する。
【００４２】
文書型宣言部１２１は、その文書データの型を示すテキストであり、図４に示す文書型宣言部１２１はこの文書データがＸＨＴＭＬ文書データであることを示している。ＸＭＬ名前空間宣言部１２２は、マークアップ言語で用いられるタグの名前と意味とを一意に対応付ける情報（名前空間）を示すURL (Uniform Resource Locator)を示すテキストであり、図４に示すＸＭＬ名前空間宣言部１２２はhtml要素内に記述する各タグがURLで指定された名前空間に属することを示している。head要素１２３は文書のフォントの種類、色、サイズや各タグ要素のレイアウト、マージン等を指定するためのスタイルシート、文書のタイトルその他の文書に関する各種情報を記述するテキストである。body要素１２４はそのデータの本文である。
【００４３】
図５は、ＸＨＴＭＬ文書データの表示例を示す図である。図５に示す表示例は、図４に示すＸＨＴＭＬ文書データの表示例である。
ＸＨＴＭＬ文書データは、その表示内容に、テキスト９１、９２等のテキスト文書と、ＸＨＴＭＬ文書データとは異なる他のデータ（例えば図５の画像１０１、１０２等）による内容を含ませることができる。ＸＨＴＭＬ文書データの表示内容は、ＸＨＴＭＬ文書データのbody要素１２４内のテキストに対応する。例えば、図５に示す画像１０１、１０２はそれぞれ図４に示すハイパーリンク１１１、１１２によって指定される他のデータである。以下、ハイパーリンクによって指定される他のデータをリンクファイルと称する。
【００４４】
データ解析部６１は、解析において、ＸＨＴＭＬ文書データが他のデータを参照する命令、即ちハイパーリンクを含むか否かを判定する。データ解析部６１は、ＸＨＴＭＬ文書データにハイパーリンクが含まれていると判定すると、リンクファイルの登録を行う。具体的には、データ解析部６１は当該ハイパーリンクが指定するリンクファイルに関連する情報２１１をリンクファイル管理部６５へ出力する。
【００４５】
リンクファイル管理部６５は、データ解析部から入力されたリンクファイルに関連する情報２１１に基づき、リンクファイルを取得するための情報を抽出してリンクファイル要求管理テーブル１３１に登録し、そのリンクファイルの取得状態を管理する。
図６は、リンクファイル要求管理テーブル１３１の一例を示す図である。
リンクファイル要求管理テーブル１３１は、リンクファイル管理部６５によって生成、更新されるデータであり、ＲＡＭ４２の記憶領域に格納される。図６に示すように、リンクファイル要求管理テーブル１３１は、リンクファイル名、リンクファイル挿入位置、URL、取得完了フラグ及びリンクファイルデータ格納ディレクトリの各レコードを有するリスト形式のデータである。
【００４６】
リンクファイル名は、リンクファイルのファイル名である。リンクファイル挿入位置は、データ解析部６１が出力する中間言語データ２０１においてそのリンクファイルが挿入される位置を示すマーカーである。URLは、そのリンクファイルのURLである。取得完了フラグは、そのリンクファイルの取得が完了したか否かを示し、完了の場合は「ＹＥＳ」、未完了の場合は「ＮＯ」である。リンクファイルデータ格納ディレクトリは、取得したリンクファイルの格納先を示す。
【００４７】
リンクファイル要求管理テーブル１３１は、各レコードを一つずつ有するデータの組合せをエントリとして管理する。図６に示す各行はそれぞれ一つのエントリである。各エントリはそれぞれ、一つのURLによって指定される一つのファイルに対応する。即ち、リンクファイル要求管理テーブルのエントリはファイル単位である。リンクファイル管理部６５は、リンクファイルに関連する情報２１１からエントリの各レコードに対応する情報を抽出して登録する。
【００４８】
エントリに含まれるレコードのうち、リンクファイル名、リンクファイル挿入位置及びURLの内容はデータ解析部６１から入力されたリンクファイルに関連する情報に基づく。リンクファイル管理部６５は、データ解析部６１からリンクファイルの登録を受けると、リンクファイル要求管理テーブル１３１に新しいエントリを生成し、リンクファイル名、リンクファイル挿入位置及びURLを当該エントリに設定する。そして、リンクファイル管理部６５は、当該エントリの取得完了フラグを「ＮＯ」として設定する。
【００４９】
リンクファイル管理部６５は、新しいエントリの設定後、新しいエントリに基づくリンクファイル取得要求をリンクファイル取得部６６に対して行う。具体的には、リンクファイル管理部６５は、新しいエントリのURLを含むリンクファイル取得要求情報２１２をリンクファイル取得部６６へ出力する。
【００５０】
リンクファイル取得部６６は、リンクファイル管理部６５からリンクファイル取得要求情報２１２を入力されると、当該リンクファイル取得要求情報２１２に含まれるURLに基づきリンクファイルを取得する。具体的には、リンクファイル取得部６６は、通信装置４５を介してホスト８０との接続を確立し、URLが示すリンクファイルのダウンロード要求２１５をホスト８０に送信する。そして、リンクファイル取得部６６は、リンクファイルをダウンロードし、予め定められた所定のディレクトリに格納する（図３の符号２１６）。リンクファイル取得部６６がリンクファイルを要求するホスト８０は、URLが示すホストであり、入力データ２００をデータ処理装置４０に入力したホスト８０と必ずしも同一ではない。
【００５１】
リンクファイル取得部６６は、リンクファイルのダウンロードを完了させると、そのリンクファイルのダウンロードが完了したことを示すダウンロード完了通知２１３をリンクファイル管理部６５に出力する。リンクファイル管理部６５は、ダウンロード完了通知２１３を入力されると、リンクファイル要求管理テーブル１３１におけるそのリンクファイルに対応したエントリの取得完了フラグを「ＯＮ」にすると共に、リンクファイルデータ格納ディレクトリにそのリンクファイルが格納されたパスを設定する更新処理を行う（図３の符号２１８）。そして、更新処理を行ったエントリに対応するリンクファイルの取得完了通知２１４をリンクファイル解析部６１に出力する。
リンクファイル解析部６１は、取得完了通知２１４を入力されると、その取得完了通知２１４に対応するリンクファイルの解析を行い、中間言語データを生成する。
【００５２】
図７は、データ解析部６１によるＸＨＴＭＬ文書データの解析と、リンクファイルの取得状態との関係を示すタイムチャートである。
データ解析部６１は、リンクファイルの取得が完了するまでＸＨＴＭＬ文書データの解析を進めて中間言語データを生成し、リンクファイルの取得完了後にリンクファイルを解析してそのリンクファイルの中間言語データを生成する。このとき、データ解析部６１は、リンクファイルの取得が完了すると、そのリンクファイルの解析をリンクファイル以降のＸＨＴＭＬ文書データの解析よりも優先して行い、リンクファイルの解析完了後にＸＨＴＭＬ文書データの解析を再開する。つまり、本実施形態はデータ解析部６１による一つの解析プロセスとリンクファイル取得部６６によるリンクファイル取得プロセスとの間を仲介するための独立した処理として、リンクファイル管理部６５によるリンクファイルの取得管理プロセスを有する。
【００５３】
リンクファイル取得部６６は、複数のリンクファイルの取得を並行して行うことができるが、一つのリンクファイルの取得を逐次行うようにしてもよい。このとき、リンクファイル取得部６６は、先に印刷されるリンクファイル即ちＸＨＴＭＬ文書データにおいてより先頭側に記述されているハイパーリンクに対応するリンクファイルの取得を優先して行う。
【００５４】
ＸＨＴＭＬ文書データの解析は、印刷時におけるページ単位で行われる。一ページ分の印刷内容を全て含む解析が完了する度に、データ描画部６２は一ページ分のビットマップパターン２０２の生成を行うので、データ解析部６１はより先に印刷される一ページ分に対応する部分のＸＨＴＭＬ文書データの解析を優先して行う。印刷時におけるリンクファイルのサイズが不明である等の理由によりページレイアウトが決定できず印刷時の改ページ位置が不明となる場合、データ解析部６１はハイパーリンク以外のＸＴＨＭＬ文書データの解析を完了した後に順次ダウンロードが完了したリンクファイルの解析を行う。
【００５５】
なお、ハイパーリンクを含まないＸＨＴＭＬ文書データが入力された場合、データ解析部はそのＸＨＴＭＬ文書データの解析のみを行い、中間言語データを生成する。
【００５６】
次に、データ処理装置４０が行う処理の流れを、図８及び図９のフローチャートを用いて説明する。以下の記載では、ＣＰＵ４１がＲＯＭ４３から各種プログラムを読み込む処理について省略する。
図８は、データ解析部６１によるＸＨＴＭＬ文書データの解析の流れを示すフローチャートである。
ホスト８０からＸＨＴＭＬ文書データを受信すると（ステップＳ１）、ＣＰＵ４１は受信したＸＨＴＭＬ文書データが未解析のＸＨＴＭＬコマンドがあるか否かを判定する（ステップＳ２）。ＸＴＨＭＬ文書データが未解析のＸＨＴＭＬコマンドがある場合（ステップＳ２：ＹＥＳ）、ＣＰＵ４１は未解析のＸＨＴＭＬコマンドのうち最上段のＸＨＴＭＬコマンドを読み込み（ステップＳ３）、読み込んだＸＨＴＭＬコマンドがハイパーリンクを含むか否か判定する（ステップＳ４）。ＸＨＴＭＬコマンドがハイパーリンクを含む場合（ステップＳ４：ＹＥＳ）、ＣＰＵ４１は当該ハイパーリンクによって指定されたリンクファイルを登録する（ステップＳ５）。ステップＳ４においてＸＨＴＭＬコマンドがハイパーリンクを含まない場合（ステップＳ４：ＮＯ）、ＣＰＵ４１はそのＸＨＴＭＬコマンドを解析する（ステップＳ６）。ステップＳ５又はステップＳ６の処理後、ステップＳ２の処理に戻る。
【００５７】
ステップＳ２において、ＸＨＴＭＬ文書データが未解析のＸＨＴＭＬコマンドがない場合（ステップＳ２：ＮＯ）、ＣＰＵ４１はリンクファイル要求管理テーブル１３１を読み込み（ステップＳ７）、リンクファイル要求管理テーブル１３１に未解析のリンクファイルに対応するエントリがあるか否かを判定する（ステップＳ８）。リンクファイル要求管理テーブル１３１に未解析のリンクファイルに対応するエントリがある場合（ステップＳ８：ＹＥＳ）、ＣＰＵ４１は未解析のリンクファイルに対応するエントリのうち最上段のエントリの取得完了フラグがＯＮであるか否かを判定する（ステップＳ９）。ステップＳ９において取得完了フラグがＯＮである場合（ステップＳ９：ＹＥＳ）、ＣＰＵ４１はステップＳ７で読み込んだエントリに対応するリンクファイルを解析する（ステップＳ１０）。ステップＳ９において取得完了フラグがＯＦＦである場合（ステップＳ９：ＮＯ）、その取得完了フラグがＯＮとなるまで待機する。
【００５８】
ステップＳ１０の処理後、ステップＳ８の処理に戻る。ステップＳ８において、リンクファイル要求管理テーブル１３１に未解析のリンクファイルに対応するエントリがない場合（ステップＳ８：ＮＯ）、ＣＰＵ４１は処理を終了する。
【００５９】
図９は、リンクファイルの取得処理の流れを示すフローチャートである。
ＣＰＵ４１は、通信装置４５を介してホスト８０との接続を確立し、リンクファイルのダウンロード要求をホスト８０に通知してリンクファイルのダウンロードを開始する（ステップＳ２１）。そして、リンクファイルのダウンロードが完了するまで待機し（ステップＳ２２：ＮＯ）、ダウンロードが完了すると（ステップＳ２２：ＹＥＳ）、ＣＰＵ４１はそのリンクファイルのリンクファイル要求管理テーブル１３１の取得完了フラグを「ＯＮ」に更新する（ステップＳ２３）。
【００６０】
本実施形態によれば、リンクファイル管理部６５がリンクファイル要求管理テーブル１３１にエントリを設定してリンクファイル取得部６６にリンクファイルを取得させるので、リンクファイル毎に個別のファイル取得プロセス及び解析プロセスを設ける必要がない。このため、リンクファイル毎にそのリンクファイルの取得プロセスと解析プロセスとを設ける従来の場合に比してリンクファイルを参照するＸＨＴＭＬ文書データの解析におけるメモリ使用量を大幅に低減することができる。
さらに、一つのプロセスによるデータ解析部６１によるＸＨＴＭＬ文書データの解析を行い、リンクファイル管理部６５が他のプロセスから独立した一つのプロセスによるリンクファイル取得部６６によるリンクファイルの取得を管理するので、リンクファイル毎にそのリンクファイルの取得プロセスと解析プロセスとを設ける、即ちリンクファイル数に比例して増大したプロセスが並行して動作する従来の場合に比して大幅にプロセス数を低減することができることから、プロセスの切替に伴い生ずるオーバーヘッドを大幅に低減することができ、効率的なＸＨＴＭＬ文書データの解析を行うことができる。
【００６１】
さらに、データ解析部６１はハイパーリンクを含むＸＨＴＭＬコマンドがあると判定すると、当該ハイパーリンクが指定するリンクファイルの取得処理をリンクファイル管理部６５に渡す一方で当該ハイパーリンク以降のＸＨＴＭＬコマンドの解析を進める。そして、データ解析部６１と、リンクファイル管理部６５と、リンクファイル取得部６６とは並行で処理を行うので、リンクファイルの取得を伴うＸＨＴＭＬ文書データの解析においてハイパーリンク以降のＸＨＴＭＬコマンドの解析が滞ることはない。このため、リンクファイル取得完了までの時間を用いてリンクファイル以外のＸＨＴＭＬ文書データの解析を進めることができ、効率的なＸＨＴＭＬ文書データの解析を行うことができる。
さらに、リンクファイルの取得が完了すると、データ解析部６１はそのリンクファイルの解析をＸＨＴＭＬ文書データの解析よりも優先して行う。つまり、リンクファイルの取得完了まで先行して進められていたＸＨＴＭＬ文書データよりも先に印刷される内容に含まれるリンクファイルの解析を優先して行う。これによって、リンクファイルの取得完了により印刷が可能になったページの中間言語データを迅速に生成することができ、印刷処理のスピードを向上させることができる。
【００６２】
さらに、リンクファイル管理部６５は、リンクファイル名、リンクファイル挿入位置、URL、取得完了フラグ及びリンクファイルデータ格納ディレクトリの各レコードを有するリスト形式のリンクファイル要求管理テーブル１３１における一のエントリと一のリンクファイルの取得要求とを対応付けて個々のリンクファイルの取得完了状態を取得完了フラグで示す。このため、複数のリンクファイルの取得に関する処理を個別に管理することができる。
【００６３】
さらに、データ解析部６１に入力されるデータはＸＨＴＭＬ文書データであり、リンクファイル取得部６６が取得するリンクファイルはハイパーリンクにより指定されたリンクファイルであるので、データ処理装置４０はＰＣや携帯端末等で表示しているＸＨＴＭＬ文書データの印刷要求に応じた画像処理を行うことができる。
【００６４】
なお、本発明の実施の形態は、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００６５】
例えば、エンジンはタンデム方式に限らず、他の方式によってもよい。他の方式として、例えば一つの静電ドラムを用いる方式（1ドラム方式）等が挙げられる。
【００６６】
データ処理装置の各部は、同等の機能を有する別構成でもよい。例えば、ＲＯＭ、ハードディスク等は別の記憶装置（例えばフラッシュメモリ等）を用いてもよい。
【００６７】
解析の対象となるデータは、ＸＨＴＭＬ文書データに限らず、ハイパーリンクを含む他のマークアップ言語によるデータ又は外部のデータを参照する独自のフォーマットによるデータ等でもよい。
【００６８】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてＲＯＭを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、ＣＤ-ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【符号の説明】
【００６９】
１０  エンジン
４１  ＣＰＵ
４２  ＲＡＭ
４３  ＲＯＭ
４５  通信装置
８０  ホスト
【図１】
2010194778.tif 000003
【図２】
2010194778.tif 000004
【図３】
2010194778.tif 000005
【図４】
2010194778.tif 000006
【図５】
2010194778.tif 000007
【図６】
2010194778.tif 000008
【図７】
2010194778.tif 000009
【図８】
2010194778.tif 000010
【図９】
2010194778.tif 000011
【図１０】
2010194778.tif 000012
【図１１】
2010194778.tif 000013