(57)【要約】【課題】      外部参照を含む文書データを効率よく処理すること。【解決手段】    ネットワークを介して受信した文書データ中に、ネットワーク上の参照先より取得するべき外部参照データの有無及び外部参照データの参照回数を解析する。解析結果に基づいて、ネットワーク上の参照先より外部参照データを取得する。取得された外部参照データを再利用可能な状態でメモリに格納する。参照回数と外部参照データの再利用回数とに基づいて、外部参照データが再利用されない場合、再利用可能な状態で格納されている外部参照データを消去する。【選択図】  図３
2007331312.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信した文書データ中に、前記ネットワーク上の参照先より取得するべき外部参照データの有無及び前記外部参照データの参照回数を解析する解析手段と、
前記解析手段の解析結果に基づいて、前記ネットワーク上の参照先より前記外部参照データを取得する取得手段と、
前記取得手段により取得された前記外部参照データを再利用可能な状態で格納する格納手段と、
前記参照回数と外部参照データの再利用回数とに基づいて、前記格納手段により格納された前記外部参照データが再利用されるか判定する再利用判定手段と、
前記再利用判定手段の判定結果に基づいて、前記格納手段により格納された前記外部参照データを管理する管理手段と
を備えることを特徴とする印刷装置。
【請求項２】
前記文書データを印刷処理のための中間データに変換する中間データ変換手段と、
前記外部参照データが画像データであるか、文書データであるかを判定するデータ判定手段とを更に備え、
前記データ判定手段により、前記外部参照データが文書データであると判定された場合、前記中間データ変換手段は前記外部参照データを前記中間データに変換することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記格納手段は、前記中間データ変換手段により前記外部参照データから変換された前記中間データを再利用可能な状態で格納することを特徴とする請求項１に記載の印刷装置。
【請求項４】
前記解析手段は、前記外部参照データ中に、前記ネットワーク上の他の参照先より取得するべき外部参照データの有無を解析し、
前記解析手段の解析結果により前記他の参照先より取得するべき外部参照データが有る場合、前記取得手段は、外部参照の階層数に基づいて前記外部参照データの取得を制御することを特徴とする請求項１に記載の印刷装置。
【請求項５】
前記参照回数と前記外部参照データの再利用回数とが等しい場合、前記再利用判定手段は、前記格納手段により格納された前記外部参照データが再利用されないと判定し、
前記管理手段は、前記再利用判定手段の判定結果に基づいて、前記再利用可能な状態で格納されている外部参照データを消去することを特徴とする請求項１に記載の印刷装置。
【請求項６】
ネットワークを介して受信した文書データ中に、前記ネットワーク上の参照先より取得するべき外部参照データの有無及び前記外部参照データの参照回数を解析する解析工程と、
前記解析工程の解析結果に基づいて、前記ネットワーク上の参照先より前記外部参照データを取得する取得工程と、
前記取得工程により取得された前記外部参照データを再利用可能な状態で格納手段に格納する格納工程と、
前記参照回数と外部参照データの再利用回数とに基づいて、前記格納工程により格納された前記外部参照データが再利用されるか判定する再利用判定工程と、
前記再利用判定工程の判定結果に基づいて、前記格納工程により格納された前記外部参照データを管理する管理工程と
を備えることを特徴とする印刷制御方法。
【請求項７】
前記文書データを印刷処理のための中間データに変換する中間データ変換工程と、
前記外部参照データが画像データであるか、文書データであるかを判定するデータ判定工程とを更に備え、
前記データ判定工程により、前記外部参照データが文書データであると判定された場合、前記中間データ変換工程は前記外部参照データを前記中間データに変換することを特徴とする請求項６に記載の印刷制御方法。
【請求項８】
前記格納工程は、前記中間データ変換工程により前記外部参照データから変換された前記中間データを再利用可能な状態で前記格納手段に格納することを特徴とする請求項６に記載の印刷制御方法。
【請求項９】
前記解析工程は、前記外部参照データ中に、前記ネットワーク上の他の参照先より取得するべき外部参照データの有無を解析し、
前記解析工程の解析結果により前記他の参照先より取得するべき外部参照データが有る場合、前記取得工程は、外部参照の階層数に基づいて前記外部参照データの取得を制御することを特徴とする請求項６に記載の印刷制御方法。
【請求項１０】
前記参照回数と前記外部参照データの再利用回数とが等しい場合、前記再利用判定工程は、前記格納工程により格納された前記外部参照データが再利用されないと判定し、
前記管理工程は、前記再利用判定工程の判定結果に基づいて、前記再利用可能な状態で格納されている外部参照データを消去することを特徴とする請求項６に記載の印刷制御方法。
【請求項１１】
請求項６乃至１０のいずれか１項に記載の印刷制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書データを効率よく処理するための印刷技術に関するものである。
【背景技術】
【０００２】
構造化文書データ、例えば、代表的な規格であるＸＭＬ（eXtensible Markup Language）は、データの意味内容を情報処理装置等が理解して扱えるように「タグ」と呼ばれる特定の文字列によりデータが記述される。
【０００３】
ネットワークに接続されている印刷装置には、ＵＲＬで指定されたネットワーク上の格納先から構造化文書データを参照（外部参照）して直接、印刷装置内で解釈し、印刷するダイレクト印刷機能を持つものがある。外部参照により構造化文書データを印刷する場合、外部参照先の文書データ等も印刷装置が自動的に取得するのが一般的である。
【０００４】
特許文献１によれば、構造化文書データ中に記載されたオブジェクトがＵＲＬやファイル名といった外部参照データで、外部参照データからオブジェクトを収集して文書データを完成させて印刷するプリンタシステムが開示されている。
【特許文献１】特開２００２−０９１７２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のプリンタシステムでは、同一の外部参照先から取得するべきデータが複数含まれる構造化文書データを印刷する場合、同じ内容のデータ取得が繰り返し行われ、プリンタシステム内に格納されることになる。すなわち、従来技術のプリンタシステムにおいては、同一の外部参照の指定を検出するたびに、同じ内容のデータの読み込み、格納、変換が重複して行われることとなり、文書データの処理は非効率的なものとなる。
【０００６】
本発明は上記の問題点を鑑みてなされたもので、外部参照を含む文書データを効率よく処理することを可能にする印刷技術の提供を目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するべく、本発明に係る印刷装置は、ネットワークを介して受信した文書データ中に、前記ネットワーク上の参照先より取得するべき外部参照データの有無及び前記外部参照データの参照回数を解析する解析手段と、
前記解析手段の解析結果に基づいて、前記ネットワーク上の参照先より前記外部参照データを取得する取得手段と、
前記取得手段により取得された前記外部参照データを再利用可能な状態で格納する格納手段と、
前記参照回数と外部参照データの再利用回数とに基づいて、前記格納手段により格納された前記外部参照データが再利用されるか判定する再利用判定手段と、
前記再利用判定手段の判定結果に基づいて、前記格納手段により格納された前記外部参照データを管理する管理手段と
を備えることを特徴とする。
【０００８】
あるいは、本発明に係る印刷制御方法は、ネットワークを介して受信した文書データ中に、前記ネットワーク上の参照先より取得するべき外部参照データの有無及び前記外部参照データの参照回数を解析する解析工程と、
前記解析工程の解析結果に基づいて、前記ネットワーク上の参照先より前記外部参照データを取得する取得工程と、
前記取得工程により取得された前記外部参照データを再利用可能な状態で格納手段に格納する格納工程と、
前記参照回数と外部参照データの再利用回数とに基づいて、前記格納工程により格納された前記外部参照データが再利用されるか判定する再利用判定工程と、
前記再利用判定工程の判定結果に基づいて、前記格納工程により格納された前記外部参照データを管理する管理工程と
を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、外部参照を含む文書データを効率よく処理することが可能になる。
【発明を実施するための最良の形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
（第１実施形態）
図１は、ネットワークに接続された印刷装置の構成を説明する図である。尚、本発明の機能が実行可能であれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークや無線ＬＡＮを介して処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
【００１２】
ＣＰＵ１０１はプログラムＲＯＭ１０４に記憶された制御プログラム等、或いは外部メモリ１０８に記憶され、起動時にＲＡＭ１０２にロードされる制御プログラム等に基づいてシステムバス１０６に接続されるデバイスを制御する。
【００１３】
情報処理装置１２０は、例えば、ＳＶＧ（Scalable Vector Graphics）形式でＸＭＬ形式やＨＴＭＬ形式で記述されたデータを埋め込み、ページ単位のデータを構成する構造化文書データを生成することが可能である。
【００１４】
ＣＰＵ１０１はＩ／Ｏ１１２を介して、ネットワーク１１５に接続されている情報処理装置１２０、ファイルサーバ１３０、１４０等の外部機器との通信処理が可能である。尚、外部機器との通信はネットワーク１１５を介して行なう場合に限定されず、例えば、図示しないインターフェースを介して外部機器と接続し、通信を行なってもよいことは言うまでもない。
【００１５】
情報処理装置１２０は、生成した文書データ（画像データ、構造化文書データを含む）をネットワーク１１５を介して、印刷装置（プリンタ１１４）に送信することが可能である。プリンタ１１４は、Ｉ／Ｏ１１２を介して、文書データを受信し、ＣＰＵ１０１の制御の下に文書データは解析される。ＣＰＵ１０１は構造化文書データ中に外部のファイルサーバ１３０、１４０等に格納されているデータの参照が指定されているか、参照先はどのファイルサーバ１３０、１４０等か、あるいは、データの参照回数等を解析可能である。
【００１６】
ＣＰＵ１０１は、例えばＳＶＧ形式等の構造化文書データの解析結果に基づいて、外部の参照先（ファイルサーバ１３０、１４０等）のデータを組み込んだ、ページ単位のデータを生成することが可能である。外部の参照先からデータを複数回参照し、取得する必要が有る場合、ＣＰＵ１０１は最初に取得したデータを再利用が可能な状態で、ＲＡＭ１０２又は外部メモリ１０８に格納することが可能である。また、ＣＰＵ１０１は、データの参照回数に基づいて、取得したデータの再利用の可能性が無い場合、ＲＡＭ１０２または外部メモリ１０８に格納された外部取得によるデータ、レンダリング用に変換したデータを削除する。
【００１７】
ＣＰＵ１０１は、印刷部Ｉ／Ｆ１０９を介して接続される印刷部（プリンタエンジン）１１０に生成したページ単位のデータを出力情報として出力し、印刷を実行する。プログラムＲＯＭ１０４に記憶されている制御プログラム等は、ＣＰＵ１０１の制御の下、後述する図３〜図７のフローチャートで示されるような処理を印刷装置１１４に実行させることが可能である。係る制御プログラムの実行により、印刷装置１１４は、外部参照により取得したデータを再利用し、再利用の可能性が無いと判定される場合は、外部参照により取得したデータを削除することが可能である。印刷装置１１４による処理により、外部参照により取得したデータを効率よく処理することが可能になる。
【００１８】
印刷装置１１４のフォントＲＯＭ１０３には出力情報を生成する際に使用するフォントデ−タ等が記憶されている。ＲＡＭ１０２はＣＰＵ１０１の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ１０２は、出力情報の展開領域、環境データの格納領域等に用いられる。
【００１９】
メモリコントローラ（ＭＣ）１０７はブートプログラム、種々のアプリケーション、ユーザファイル、スプールジョブ、スプールイメージ、フォ−ムデ−タ等を記憶するハードディスク等の外部メモリ１０８とのアクセスを制御する。また、外部メモリ１０８以外にもＰＣカードメモリ等の外部メモリを少なくとも１個以上ＭＣ１０７に接続できるように構成することも可能である。また、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成することも可能である。
【００２０】
操作部１１１は、表示パネルやキーボードを含んでおり、オペレータへの情報の提供や、オペレータからの指示の入力を受け付けることが可能である。
【００２１】
ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ（１０３、１０４、１０５）、ＭＣ１０７、印刷部Ｉ／Ｆ１０９、Ｉ／Ｏ１１２等は、プリンタ制御ユニット１１３を構成する。
【００２２】
図２は、プリンタ制御ユニット１１３の機能構成に着目したブロック図である。入力データ取得部２０１は、ネットワーク１１５を介して情報処理装置１２０から送信される文書データを解析し、文書データに含まれているＵＲＬを解釈し、ＵＲＬで指定されるプロトコルで指定されるデータを取得することが可能である。入力データ判定部２０２は、入力データ取得部２０１で取得したデータが構造化文書データであるか画像データであるかを判定し、判定結果により該当する構造化文書解析部２０４または画像解析部２０３にデータを振り分ける。
【００２３】
画像解析部２０３は入力された画像データのフォーマット（画像フォーマット）を解析し、ディスプレイリストを生成する。構造化文書解析部２０４は入力された構造化文書がどのフォーマットで記述された構造化文書データであるか判定し、例えば、ＰＤＬ、ＳＶＧ、ＸＭＬ、ＨＴＭＬ等の各種フォーマットに適した解析を行い、ディスプレイリストを生成する。構造化文書解析部２０４は構造化文書データ中に外部参照によるデータの組込みを検知すると、検知した外部参照の指定（参照先のＵＲＬ）、参照すべきデータ、参照回数等を含む）を後述の外部参照データ取得部２０６へ通知する。ラスタイメージ処理部（ＲＩＰ部）２０５は、画像解析部２０３、構造化文書解析部２０４で作成されたディスプレイリストをラスタイメージにレンダリングする。外部参照データ取得部２０６は、構造化文書解析部２０４から外部参照の指定を受取り、外部参照先（例えば、ファイルサーバ１３０、１４０）のデータを、Ｉ／Ｏ１１２を介して取得することが可能である。
【００２４】
（基本動作）
図３は本発明の実施形態に係る印刷装置１１４の基本となる処理の流れを説明するフローチャートである。本フローチャートは、上述のプリンタ制御ユニット１１３の全体的な制御の下に実行される。
【００２５】
ステップＳ３００において、印刷したい文書データを情報処理装置１２０やＰＤＡ、携帯端末などで選択し、プリンタ１１４へ印刷指示を送信する。
【００２６】
ステップＳ３０１において、入力データ取得部２０１は、文書データを受信する。入力データ判定部２０２は入力データ取得部２０１により受信された文書データが画像データか構造化文書データか判定する。構造化文書データの場合、文書データは構造化文書解析部２０４に入力され、画像データの場合、画像解析部２０３に文書データは入力される。
【００２７】
ステップＳ３０２で、画像解析部２０３、構造化文書解析部２０４は、例えば、ＰＤＬ等で記述された印刷データ中の文字や図形等のオブジェクトデータを、ＰＤＬでレンダリングするよりも速くレンダリング可能な中間データに変換する。中間データは、外部メモリ１０８やＲＡＭ１０２に格納され、後のレンダリング処理のために使用される。
【００２８】
ステップＳ３０３において、構造化文書解析部２０４等は、文書データ中における文字や図形等のオブジェクトデータに関する外部参照の回数を記録する。外部参照の回数は、同じ参照先（同じデータ）を参照する回数が記録される。例えば、構造化文書データ中に含まれる同一の参照先から取得するべきデータがＭ個有る場合（Ｍ回繰り返して同一の参照先を参照する場合）、外部参照回数をカウントする内部変数ｍに初期値としてＭがセットされる。外部参照は、例えば、＜A href="http://…/**.***"＞＜/A＞、＜IMG src="../**.***"＞＜/IMG＞のように表現される。参照先は文書データの外部を表しており、ネットワークを介して取得する場合も、文書データが存在する装置から取得する場合もある。""内の参照先が同じであれば同一のデータを参照していることになる。
【００２９】
また、文字や図形等のオブジェクトデータとして異なる参照先のデータが取得される場合、それぞれの参照先ごとに参照回数（例えば、ｍ１＝Ｍ１、ｍ２＝Ｍ２、・・・）を記録して、参照回数を独立に管理することも可能である。
【００３０】
ステップＳ３０４において、外部参照データ取得部２０６は、指定された参照先から外部参照によりデータ（外部参照データ）の取得処理を行なう。この処理は、図５乃至図７のフローチャートにより詳細に説明するので、ここでは説明を省略する。
【００３１】
ステップＳ３０５において、ラスタイメージ処理部（ＲＩＰ部）２０５はステップＳ３０２で変換された中間データ、ステップＳ３０４において取得された外部参照データに基づいてレンダリングを開始する。レンダリングしたオブジェクトが外部参照データの場合、ラスタイメージ処理部（ＲＩＰ部）２０５は、参照回数を管理するための内部変数ｍにｍ−１を代入する。外部参照データのレンダリングが１回終了すると、内部変数ｍから外部参照データの再利用回数として１が減じられる。
【００３２】
外部参照データのレンダリング結果は、最初のレンダリング（ｍ＝Ｍ）が終了したタイミングで、外部メモリ１０８やＲＡＭ１０２等に格納して、後のレンダリングの際（ｍ＝Ｍ−１〜０回）に再利用することが可能である。
【００３３】
ステップＳ３０６において、ラスタイメージ処理部（ＲＩＰ部）２０５は、外部参照データのレンダリング回数を管理する内部変数ｍが０と等しいか判定する。ｍ＝０であれば（Ｓ３０６−Ｙｅｓ）、外部参照データのレンダリングはＭ回全て終了したこととなる。以降のレンダリングにおいて、変換された中間データ、外部参照データのレンダリング結果等は使用されないので、ラスタイメージ処理部（ＲＩＰ部）２０５は変換された中間データ等を消去する（Ｓ３０７）。
【００３４】
そして、ステップＳ３０８において、ラスタイメージ処理部（ＲＩＰ部）２０５は、先のステップＳ３０４で取得された外部参照データを消去する。
【００３５】
一方、ステップＳ３０６において、ｍ≠０であれば、以降のレンダリングで中間データ、外部参照のレンダリング結果等は使用されるため、中間データ等を格納した状態で処理をステップＳ３０８に進める。
【００３６】
ステップ３０９において、ラスタイメージ処理部（ＲＩＰ部）２０５は、文書データに記載されたオブジェクトを全てレンダリングしたか判定し、全てのレンダリング処理が終了した場合（Ｓ３０９−Ｙｅｓ）、処理を終了する。一方、全てのレンダリング処理が終了していないと判定される場合（Ｓ３０９−Ｎｏ）、処理はステップＳ３０４に戻され、同様の処理が繰り返される。
【００３７】
図４は本実施形態に係る印刷装置１１４に入力される文書データがページ単位の概念を含むデータである場合の印刷装置１１４の処理の流れを説明するフローチャートである。説明の重複を避けるため、図３のフローチャートと同一の処理に関しては、同一の参照番号を付している。本フローチャートは、上述のプリンタ制御ユニット１１３の全体的な制御の下に実行される。
【００３８】
ステップＳ４００において、ページ記述言語で書かれた文書データを情報処理装置１２０やＰＤＡ、携帯端末などから選択し、プリンタ１１４へ印刷指示を送信する。
【００３９】
ステップＳ４０１において、入力データ取得部２０１は、ページ記述言語で書かれた文書データを受信する。
【００４０】
ステップＳ３０２からステップＳ３０９までの処理により、ページ記述言語で書かれた文書データのレンダリングが実行される。
【００４１】
ステップＳ３０９の処理で、現在のページに記載されたオブジェクトを全てレンダリングしたか判定し、レンダリングが終了した場合（Ｓ３０９−Ｙｅｓ）、処理はステップＳ４０２に進められる。一方、ステップＳ３０９の判定で、レンダリングが終了していない場合（Ｓ３０９−Ｎｏ）、処理はステップＳ３０４に戻され、Ｓ３０４以降同様の処理が実行される。
【００４２】
現在のページに記載されたオブジェクトを全てレンダリングした場合、ステップＳ４０２において、現在のページに続く次のページが文書データに含まれているか判定する。次ページが有る場合（Ｓ４０２−Ｙｅｓ）、ステップＳ４０１に処理は戻され、入力データ取得部２０１は、次ページの文書データを受信し、以降同様の処理が実行される。全ページのレンダリング処理が終了した場合（Ｓ４０２−Ｎｏ）、処理は終了する。
【００４３】
（外部参照データの取得処理）
次に、図３及び図４の外部参照データの取得処理（Ｓ３０４）の具体的な流れを図５乃至図７の参照により説明する。図５乃至図７のフローチャートは、上述のプリンタ制御ユニット１１３の全体的な制御の下に実行される。
【００４４】
文書データ中に含まれる同一の参照先の外部参照データの参照回数は、ｍ＝Ｍに設定されているものとする（Ｓ３０３）。
【００４５】
ステップＳ５０１において、レンダリングの対象となる文書データに記載されたオブジェクトが外部参照により取得するべきデータか判定する。ステップＳ５０１の判定で、外部参照により取得するべきデータである場合（Ｓ５０１−Ｙｅｓ）、処理はステップＳ５０２に進められる。
【００４６】
一方、外部参照に拠らないオブジェクトの場合（Ｓ５０１−Ｎｏ）、ラスタイメージ処理部（ＲＩＰ部）２０５は、レンダリングを開始する（Ｓ３０５）。
【００４７】
ステップＳ５０２において、内部変数ｍと外部参照の回数Ｍの比較が行われ、ｍ＝Ｍの場合（Ｓ５０２−Ｙｅｓ）、処理はステップＳ５０３に進められる。ステップＳ５０３において、外部参照データ取得部２０６は、文書データ中に記載されたオブジェクトに対応する外部参照データを参照先から取得し、外部メモリ１０８またはＲＡＭ１０２に格納する。
【００４８】
ここで、外部参照データ取得部２０６は、外部参照データの参照先（例えば、ＵＲＬ）から、指定されたプロトコルで外部参照データを取得することが可能である。例えば、ネットワーク１１５上のファイルサーバ１３０、１４０が参照先として指定されている場合、ファイルサーバ１３０、１４０に格納されているＸＭＬデータやＨＴＭＬを外部参照データとして取得することができる。外部参照データは、外部メモリ１０８やＲＡＭ１０２に格納され、後のレンダリング処理のために使用される。
【００４９】
一方、内部変数ｍと外部参照の回数Ｍが等しくない場合（Ｓ５０２−Ｎｏ）、既に、参照先の外部参照データはｍ＝Ｍと判定されたときに取得されているので、同一の参照先（同一のデータの取得）をたどる必要はない。この場合、ステップＳ３０５において、ラスタイメージ処理部（ＲＩＰ部）２０５は、最初のレンダリング（ｍ＝Ｍ）が終了したタイミングで格納された外部参照データのレンダリング結果を再利用する。そして、ラスタイメージ処理部（ＲＩＰ部）２０５は、内部変数ｍにｍ−１をセットする。
【００５０】
本処理により、同一の参照先からの外部参照データの重複取得することなく、外部参照データをレンダリングしたものを再利用により、文書データを効率よく処理することが可能になる。
【００５１】
図６は、図５のフローチャートの処理で、外部参照データが画像データか否かにより処理が異なる場合の例を説明するフローチャートである。説明の重複を避けるため、図５のフローチャートと同一の処理に関しては、同一の参照番号を付している。
【００５２】
ステップＳ６０１において、外部参照の対象となるデータが画像データの場合、処理はステップＳ６０２に進められ、外部参照データ取得部２０６は、参照先より画像データを取得する。このとき、外部メモリ１０８等の容量の関係で参照先の画像データを取得できない場合、外部参照データ取得部２０６は、印刷指示側（情報処理装置１２０等）に、外部参照データを取得できない旨を報知することが可能である。
【００５３】
ステップＳ３０５において、取得した画像データをもとに、ラスタイメージ処理部（ＲＩＰ部）２０５は、レンダリング処理を行い、内部変数ｍにｍ−１をセットする。
【００５４】
一方、ステップＳ６０１の判定で、外部参照の対象となるデータが文書データの場合（Ｓ６０１−Ｎｏ）、外部参照データ取得部２０６は、参照先の文書データを取得する。そして、構造化文書解析部２０４は、取得した文書データを解析して、これを中間データに変換し、格納する（Ｓ６０３）。
【００５５】
ステップＳ６０３で変換した中間データを、図３のステップＳ３０２で変換した中間データに合成して格納することも可能である。変換された中間データを基に、ラスタイメージ処理部（ＲＩＰ部）２０５は、レンダリングを行い、内部変数ｍにｍ−１を代入する（３０５）。
【００５６】
参照先のデータが画像データでも文書データでもない場合、外部参照データ取得部２０６は、印刷指示側（情報処理装置１２０等）に、その旨を報知することが可能である。
【００５７】
次に、複数の参照先から外部参照データを取得する例を図７のフローチャートおよび図８を参照して説明する。
【００５８】
図８は、ネットワーク１１５上の複数の参照先から外部参照データを取得する構成を例示的に示す図である。ファイルサーバ（８０１、８０２、８０３）にはそれぞれ文書データＡ、Ｂ、Ｃが格納されているものとする。各ファイルサーバ（８０１、８０２、８０３）は、ネットワーク１１５を介して相互に通信が可能である。また、各ファイルサーバ（８０１、８０２、８０３）はネットワーク１１５を介してプリンタ１１４とも通信可能であるものとする。
【００５９】
プリンタ１１４の外部参照データ取得部２０６は、第１の外部参照先としてファイルサーバ８０１から文書データＡを外部参照データとして取得する。このとき、文書データＡにおいて第２の外部参照先として、ファイルサーバ８０２に格納されている文書データＢが外部参照データとして指定されている場合、外部参照データ取得部２０６は、文書データＢを外部参照データとして取得することが可能である。更に、文書データＢにおいて第３の外部参照先として、ファイルサーバ８０３に格納されている文書データＣが外部参照データとして指定されている場合、外部参照データ取得部２０６は、データＣを外部参照データとして取得することが可能である。
【００６０】
外部参照の階層数は、プリンタ１１４からファイルサーバ８０１に対する外部参照が階層数１、ファイルサーバ８０２に対する外部参照が階層数２、ファイルサーバ８０３に対する外部参照が階層数３となる。
【００６１】
図７は、複数の参照先から外部参照データを取得する処理の流れを説明するフローチャートである。図７のフローチャートにおいて、説明の重複を避けるため、図６のフローチャートと同一の処理に関しては、同一の参照番号を付している。
【００６２】
ステップＳ７０１において、文書データ中に含まれる同一の参照先の外部参照データの参照回数はｍ＝Ｍに設定されているものとする。外部参照の階層数を管理するための内部変数をｎとし、初期値を１と設定する。また、階層数の上限としてＭＡＸ＝Ｎが設定されているものとする。外部参照の階層数に基づいて、外部参照データ取得部２０６は、外部参照データの取得を制御することが可能である。
【００６３】
ステップＳ５０１、Ｓ５０２、Ｓ６０１〜Ｓ６０３は図６の処理と同一である。
【００６４】
ステップＳ７０２において、構造化文書データ解析部２０４は外部参照データ取得部２０６によりステップＳ６０３で取得された外部参照データにおいて、他の外部参照先に格納されている外部参照データがあるか判定する。判定された他の外部参照先は、構造化文書データ解析部２０４から外部参照データ取得部２０６に通知される。この通知に基づいて、外部参照データ取得部２０６は、他の外部参照先に格納されている外部参照データを取得することが可能である。
【００６５】
ステップＳ７０２の判定で、他の外部参照先に格納されている外部参照データが無い場合（Ｓ７０２−Ｎｏ）、処理はステップＳ３０５に進められる。そして、ラスタイメージ処理部（ＲＩＰ部）２０５はレンダリング処理を行い、内部変数ｍにｍ−１をセットする（Ｓ３０５）。
【００６６】
一方、ステップＳ７０２の判定で、他の外部参照先に格納されている外部参照データが有る場合（Ｓ７０２−Ｙｅｓ）、ステップＳ７０３において、外部参照データ取得部２０６は、外部参照の階層数を管理するための内部変数ｎに１を加算する。
【００６７】
ステップＳ７０４において、外部参照データ取得部２０６は外部参照の階層数を管理するための内部変数ｎと階層数の上限Ｎとを比較する。ステップＳ７０４の判定で、ｎ＜Ｎの場合（Ｓ７０４−Ｎｏ）、処理はステップＳ５０２に戻され、同様の処理を繰り返す。
【００６８】
ステップＳ７０４の判定で、ｎ≧Ｎの場合（Ｓ７０４−Ｙｅｓ）、処理はステップＳ７０５に進められ、外部参照データ取得部２０６は、外部メモリ１０８、ＲＡＭ１０２等のメモリの空き容量を確認する。メモリ（外部メモリ１０８、ＲＡＭ１０２等）に外部参照データの格納が可能であると外部参照データ取得部２０６が判定した場合（Ｓ７０５−Ｙｅｓ）、処理はステップＳ５０２に戻され、同様の処理を繰り返す。一方、ステップＳ７０５の判定で、メモリに外部参照データを格納できないと、外部参照データ取得部２０６が判定した場合（Ｓ７０５−Ｎｏ）、ステップＳ７０６に処理は進められる。
【００６９】
ステップＳ７０６において、外部参照データ取得部２０６は、外部参照データの全てを取得することができない旨を印刷指示側（情報処理装置１２０等）に報知し、レンダリングを実行するか問い合わせる。
【００７０】
レンダリングを実行する場合（Ｓ７０６−Ｙｅｓ）、処理はステップＳ３０５に進められ、取得できた外部参照データを用いて、ラスタイメージ処理部（ＲＩＰ部）２０５はレンダリング処理を行い、内部変数ｍにｍ−１をセットする。
【００７１】
一方、ステップＳ７０７の判定で、レンダリングを中止する場合、ステップＳ７０７に処理は進められ、中間データ、外部参照データを消去して処理を終了する。
【００７２】
複数の参照先からの外部参照データを取得する場合、外部取得の階層数の上限を設定し、メモリ領域の空き容量との関係に基づいて外部取得及びレンダリングの実行を制御することが可能になる。
【００７３】
本発明の実施形態によれば、外部参照を含む文書データを効率よく処理することが可能になる。
【００７４】
（他の実施形態）
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００７５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００７７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施形態に係るネットワークに接続された印刷装置の構成を説明する図である。
【図２】本発明の実施形態に係るプリンタ制御ユニットの機能構成に着目したブロック図である。
【図３】本発明の実施形態に係る印刷装置の基本となる処理の流れを説明するフローチャートである。
【図４】本実施形態に係る印刷装置に入力される文書データがページ単位の概念を含むデータである場合の印刷装置の処理の流れを説明するフローチャートである。
【図５】外部参照データの取得処理の具体的な流れを説明する図である。
【図６】図５のフローチャートの処理で、外部参照データが画像データか否かにより処理が異なる場合の例を説明する図である。
【図７】複数の参照先から外部参照データを取得する処理の流れを説明する図である。
【図８】ネットワーク上の複数の参照先から外部参照データを取得する構成を例示的に示す図である。
【図１】
2007331312.tif 000003
【図２】
2007331312.tif 000004
【図３】
2007331312.tif 000005
【図４】
2007331312.tif 000006
【図５】
2007331312.tif 000007
【図６】
2007331312.tif 000008
【図７】
2007331312.tif 000009
【図８】
2007331312.tif 000010