(57)【特許請求の範囲】
【請求項１】
フォーマット変換装置とプリンタを含んだプリンタシステムであって、
前記フォーマット変換装置は、
第１のマークアップ言語で記述された文書データをネットワークを介して外部装置から取得する取得手段と、
前記取得手段で取得した文書データを、１ページ毎の文書のレイアウトを定義することが可能であり且つ複数の装置間で互換性のある第２のマークアップ言語で記述した文書データに変換する変換手段と、
前記変換手段によって変換された文書データをプリンタに送信する送信手段と
を有し、
前記プリンタは、
前記送信手段によって送信された文書データを展開し、画像データを生成する生成手段と、
前記生成手段で生成された画像データに基づいて印刷を実行する印刷手段と
を有することを特徴とするプリンタシステム。
【請求項２】
前記フォーマット変換装置は、
印刷指示データを受信する受信手段を更に備え、
前記受信手段で受信した印刷指示データに、文書データのネットワーク上における場所を指定した場所データが含まれていた場合、前記取得手段は、指定された場所データに基づいて文書データを取得することを特徴とする請求項１に記載のプリンタシステム。
【請求項３】
フォーマット変換装置とプリンタを含んだプリンタシステムであって、
前記フォーマット変換装置は、
第１のマークアップ言語で記述された文書データを前記プリンタから取得する取得手段と、
前記取得手段で取得した文書データを、１ページ毎の文書のレイアウトを定義することが可能であり且つ複数の装置間で互換性のある第２のマークアップ言語で記述した文書データに変換する変換手段と、
前記変換手段によって変換された文書データをプリンタに送信する第１の送信手段と
を有し、
前記プリンタは、
第１のマークアップ言語で記述された文書データをネットワークを介して外部装置から取得する取得手段と、
前記取得手段によって取得された文書データを前記フォーマット変換装置に送信する第２の送信手段と、
前記第１の送信手段によって送信された文書データを展開し、画像データを生成する生成手段と、
前記生成手段で生成された画像データに基づいて印刷を実行する印刷手段と
を有することを特徴とするプリンタシステム。
【請求項４】
前記変換手段は、前記受信手段で受信した印刷指示データに含まれる文書属性の情報に基づいて、前記第１のマークアップ言語で記述された文書データを前記第２のマークアップ言語で記述した文書データに変換することを特徴とする請求項１乃至３の何れか一項に記載のプリンタシステム。
【請求項５】
前記文書属性の情報は、少なくとも用紙サイズを示す情報を含むことを特徴とする請求項４記載のプリンタシステム。
【請求項６】
プリンタの能力を示す情報を取得する第２の取得手段を更に有し、
前記変換手段は、前記第２の取得手段で取得したプリンタの能力を示す情報に基づいて、前記第１のマークアップ言語で記述された文書データを前記第２のマークアップ言語で記述した文書データに変換することを特徴とする請求項４又は５に記載のプリンタシステム。
【請求項７】
前記プリンタの能力を示す情報は、少なくとも当該プリンタの解像度を示す情報を含むことを特徴とする請求項６記載のプリンタシステム。
【請求項８】
前記第１のマークアップ言語は、ＨＴＭＬ又はＸＭＬであり、前記第２のマークアップ言語は、ＳＶＧであることを特徴とした請求項１乃至７の何れか一項に記載のプリンタシステム。
【請求項９】
フォーマット変換装置とプリンタを含んだプリンタシステムの制御方法であって、
前記フォーマット変換装置が、
第１のマークアップ言語で記述された文書データをネットワークを介して外部装置から取得する取得工程と、
前記取得工程で取得した文書データを、１ページ毎の文書のレイアウトを定義することが可能であり且つ複数の装置間で互換性のある第２のマークアップ言語で記述した文書データに変換する変換工程と、
前記変換工程によって変換された文書データをプリンタに送信する送信工程と
前記プリンタが、
前記送信工程によって送信された文書データを展開し、画像データを生成する生成工程と、
前記生成工程で生成された画像データに基づいて印刷を実行する印刷工程と
を有することを特徴とするプリンタシステムの制御方法。
【請求項１０】
フォーマット変換装置とプリンタを含んだプリンタシステムの制御方法であって、
前記フォーマット変換装置が、
第１のマークアップ言語で記述された文書データを前記プリンタから取得する取得工程と、
前記取得工程で取得した文書データを、１ページ毎の文書のレイアウトを定義することが可能であり且つ複数の装置間で互換性のある第２のマークアップ言語で記述した文書データに変換する変換工程と、
前記変換工程によって変換された文書データをプリンタに送信する第１の送信工程と
を有し、
前記プリンタが、
第１のマークアップ言語で記述された文書データをネットワークを介して外部装置から取得する取得工程と、
前記取得工程によって取得された文書データを前記フォーマット変換装置に送信する第２の送信工程と、
前記第１の送信工程によって送信された文書データを展開し、画像データを生成する生成工程と、
前記生成工程で生成された画像データに基づいて印刷を実行する印刷工程と
を有することを特徴とするプリンタシステムの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえばホストコンピュータで作成された文書データを印刷するためのプリンタシステムに関し、特に、文字や画像といったオブジェクトの論理構造を指定をすることで文書の体裁を定義するマークアップ言語により記述された文書をそのまま印刷するためのプリンタシステムに関する。
【０００２】
【従来の技術】
近年、インターネットの普及により、多くの文書がＨＴＭＬと呼ばれるマークアップ言語で記述されてＷＷＷサーバ（ＨＴＴＰサーバ）により提供され、インターネットに接続した端末からアクセス可能になっている。ＨＴＭＬで記述された文書はウエブブラウザと呼ばれるアプリケーションにより読み込まれ、ウェブブラウザは文書中に埋め込まれたタグを解釈することで、文書や画像を端末画面上に配置・表示する。その際、文書中のオブジェクトは、オブジェクトそのものではなく、それがおかれた場所及びオブジェクトの識別子によって指定されている場合もある。そのような場合には、ウェブブラウザは指定された場所（ＵＲＬと呼ばれる記述子により記述される）にアクセスして、指定されたオブジェクトを読み、文書に合成して表示する。
【０００３】
ホストコンピュータは、このＨＴＭＬ文書を印刷する際には、通常の文書と同様、ウエブブラウザにより形成された画像データ（オブジェクトの集合体である画像）を、オペレーティングシステムの関数を使用してプリンタに送出する。その際に、使用するプリンタに対応したプリンタドライバによって、画像データはプリンタにより解釈可能な形式に変換される。
【０００４】
このように、ホストコンピュータが、ＨＴＭＬ文書を印刷するためには、必要なオブジェクトをすべて収集して表示形式に変換した上で、さらにプリンタで解釈可能な形式に変換するという工程を踏んでいた。
【０００５】
一方、ＨＴＭＬを拡張したＸＭＬというマークアップ言語も普及しつつある。ＸＭＬは、文書の構造をＤＴＤ（文書型定義）という文書型定義ファイルで表すことで、表現方法の指定や文章中の文字列に意味を付加するような独自のタグを拡張することができる。このＸＭＬによってＨＴＭＬを定義したＸＨＴＭＬというマークアップ言語も使用されつつある。
【０００６】
【発明が解決しようとする課題】
このように、ＨＴＭＬ文書の印刷のためには、ホストコンピュータは、データの収集や変換といった多くの処理を実行しなければならず、負担が大きかった。
【０００７】
また、ＸＭＬやＨＴＭＬ、ＸＨＴＭＬといったマークアップ言語は標準化が進められており、オペレーティングシステムやアプリケーションプログラムに関わらず、それらマークアップ言語で記述された文書であればその互換性が保障される体制が整いつつある。このようなきわめて互換性の高い、ハードウエアやオペレーティングシステム、アプリケーションから独立した言語であれば、プリンタが解釈可能な形式にホストコンピュータにより変換されなくとも、その言語そのものを解釈・印刷するプリンタもまた多くの異なる種類の環境下で使用可能である。このようなプリンタであれば、ますますホストコンピュータの負担を軽減することができる。
【０００８】
本発明は上記従来例に鑑みて成されたもので、標準化された言語で記述された文書データをそのままの形式で解釈でき、印刷できるプリンタシステムを提供することを目的とする。
【０００９】
さらに、文書中に埋め込まれたオブジェクトが、ＵＲＬやファイル名といった参照データであっても、それら参照データからオブジェクトを収集して文書を完成させて印刷させることができるプリンタシステムを提供することを目的とする。
【００１０】
さらに、文書そのものではなく、参照データを受け取ることで印刷が可能なプリンタシステムを提供することを目的とする。
【００１１】
さらに、ひとつの文書について、簡単にレイアウトを変更して印刷することが可能なプリンタシステムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために本発明は次のような構成からなる。
【００１３】
フォーマット変換装置とプリンタを含んだプリンタシステムであって、
前記フォーマット変換装置は、
第１のマークアップ言語で記述された文書データをネットワークを介して外部装置から取得する取得手段と、
前記取得手段で取得した文書データを、１ページ毎の文書のレイアウトを定義することが可能であり且つ複数の装置間で互換性のある第２のマークアップ言語で記述した文書データに変換する変換手段と、
前記変換手段によって変換された文書データをプリンタに送信する送信手段と
を有し、
前記プリンタは、
前記送信手段によって送信された文書データを展開し、画像データを生成する生成手段と、
前記生成手段で生成された画像データに基づいて印刷を実行する印刷手段とを有する。
【００１４】
あるいは、
フォーマット変換装置とプリンタを含んだプリンタシステムであって、
前記フォーマット変換装置は、
第１のマークアップ言語で記述された文書データを前記プリンタから取得する取得手段と、
前記取得手段で取得した文書データを、１ページ毎の文書のレイアウトを定義することが可能であり且つ複数の装置間で互換性のある第２のマークアップ言語で記述した文書データに変換する変換手段と、
前記変換手段によって変換された文書データをプリンタに送信する第１の送信手段と
を有し、
前記プリンタは、
第１のマークアップ言語で記述された文書データをネットワークを介して外部装置から取得する取得手段と、
前記取得手段によって取得された文書データを前記フォーマット変換装置に送信する第２の送信手段と、
前記第１の送信手段によって送信された文書データを展開し、画像データを生成する生成手段と、
前記生成手段で生成された画像データに基づいて印刷を実行する印刷手段とを有する。
【００２５】
図１は、本実施形態におけるＸＭＬプリンタシステムの概要を示す図である。プリンタのクライアント１０１は、たとえばインターネットに接続して利用者が指定したロケーションのＨＴＭＬページを獲得し（１）、ジョブチケットと呼ばれるプリント要求を、フォーマッティングサーバ１００ａとＸＭＬプリンタ１００ｂとを有するＸＭＬプリントシステムへ発行する（２）。この要求にはＨＴＭＬ文書そのものが含まれていても良いし、文書そのものの代わりに、文書の在処を指定するＵＲＬが含まれるものであってもよい。また、ＸＭＬプリントシステム１００は、フォーマッティングサーバがバックエンドにあっても良いし、フロントエンドにあっても良い。いずれにしてもフロントエンドにある方の装置がジョブチケットの受け手となるが、それぞれの果たす機能そのものは変わらない。ここではフォーマッティングサーバ１００ａがフロントエンドにあるものとして説明する。
【００２６】
ジョブチケットに文書そのものが含まれる場合、すなわちダイレクト印刷の場合には、ＸＭＬプリンタ１００ｂは、その文書をフォーマッティングサーバに対して送信してＨＴＭＬ文書からＳＶＧ文書に変換させる。ＳＶＧデータとは、ＨＴＭＬと同様にタグを用いたＳＶＧと呼ばれる言語で記述したデータであり、ＳＶＧはＸＭＬを使用して定義されている。またＳＶＧは１ページごとの文書の体裁を定義する機能を有している。図７は、ＸＨＴＭＬからＳＶＧへと変換された文書の一例を示す図である。ＸＨＴＭＬ文書はレイアウトが固定化されておらず、表示領域を文書７０１の状態から文書７０３の状態に変えると、それにともなってレイアウトが変わってしまう。ところが別途指定されたレイアウト情報を参照してＳＶＧへと変換すれば、文書７０２のように、出力レイアウトを確定できる。文書７０３は、ＳＶＧによってたとえば、文字の間隔や、画像のページ中における座標位置などが記述されている。
【００２７】
そしてＸＭＬプリンタ１００ｂが、フォーマッティングサーバ１００ａからＳＶＧ形式のデータを受信すると（４）、ＸＭＬプリンタ１００ｂの有するＳＶＧインタプリタにそのデータを解釈させて、印刷する。
【００２８】
一方、ジョブチケットに印刷すべきページのＵＲＬが含まれている場合、すなわちリファレンス印刷の場合には、フォーマッティングサーバ１００ａは、受信したジョブチケットを解析して、指定されたＵＲＬに基づいてウエブサーバ１０３からＨＴＭＬページを取得する（３）。そして、ＨＴＭＬ形式のデータをＳＶＧ形式のデータに変換して、ＳＶＧ形式のデータをＸＭＬプリンタ１００ｂに送信する（４）。以下は、ダイレクトプリンタの場合と同様の手順となる。
【００２９】
また、ＸＭＬプリンタ１００ｂは、ＳＶＧデータの中に、オブジェクトを参照するタグが埋め込まれていた場合には、その参照先からオブジェクト、たとえばイメージデータをダウンロードして（５）、文書中の指定位置（タグの位置）にイメージを埋め込み、それを印刷する。この場合の参照先は、単なるファイル名の場合もあれば、ディレクトリのパスが記述されている場合も、ＵＲＬの場合もある。それぞれの場合に応じて、参照先を認定して参照する。
【００３０】
図６は、ユーザにおける印刷画面の例を示す図（ａ）と図（ｂ）である。図（ａ）は、ホストコンピュータのウエブブラウザにおける印刷画面の例であり、図（ｂ）は、携帯端末における印刷画面の例である。印刷の際には、ホストコンピュータ（ウェブブラウザ）或い携帯端末は、印刷画面が定義されたＨＴＭＬページをＸＭＬプリンタから取り込んで、画面表示する。ユーザは、その画面を見ながら、必要な箇所に所望の値を入力する。すると、ホストコンピュータは、入力された値をジョブチケットに付加して、ＸＭＬプリンタに送信する。入力欄としては、プリンタアドレス、印刷すべき文書のＵＲＬ、部数、用紙サイズ、用紙方向、マージン、使用するスタイルシート、オペレーション（プレビュー，ダイレクト印刷，リファレンス印刷の指定）等を指定できる。
【００３１】
オペレーションとして、ダイレクト印刷が指定されると、指定されたＵＲＬから読み出された文書がジョブチケットと共にがＸＭＬプリンタに送信される。ジョブチケットには、部数、用紙サイズ、用紙方向、マージン、使用するスタイルシート、オペレーション（プレビュー，ダイレクト印刷，リファレンス印刷の指定）の値がそれぞれ含まれている。
【００３２】
一方、リファレンス印刷が指定されると、指定された文書のＵＲＬがジョブチケットとしてプリンタに送信される。この場合も、ジョブチケットには、印刷すべき文書のＵＲＬ、部数、用紙サイズ、用紙方向、マージン、使用するスタイルシート、オペレーション（プレビュー，ダイレクト印刷，リファレンス印刷の指定）の値がそれぞれ含まれている。
【００３３】
図２は、フォーマッティングサーバ２０２がバックエンドにある場合のＸＭＬプリントシステムのブロック図である。ユーザのホストコンピュータ或いは携帯端末２０４はＨＴＴＰクライアントであり、たとえばウエブブラウザプログラム等が実行されている。ＸＭＬプリンタ２０１は、フォーマッティングサーバ２０２の有するＨＴＴＰサーバ２０２ａやドキュメントサーバ２０３の有するＨＴＴＰサーバ１０３ａとデータを交換するためのＨＴＴＰクライアント２０１ａと、プリンタを制御するための、後述するＸＭＬコントローラ２０１ｂとを有する。ドキュメントサーバ２０３は、インターネットに接続された通常のＨＴＴＰサーバ（ＷＷＷサーバ）であればよい。このドキュメントサーバから提供される文書を、ＸＭＬプリンタ２０１により印刷する。
【００３４】
フォーマッティングサーバ２０２は、ＨＴＴＰサーバ２０２ａとＸＨＴＭＬフォーマッタ２０２ｂとを含む。ＸＨＴＭＬフォーマッタ２０２ｂは、後述するように、ＨＴＭＬ形式のデータやＸＭＬ形式のデータをＸＨＴＭＬ形式に変換し、それをＳＶＧ形式に変換する機能を有する。
【００３５】
図１３はフォーマッティングサーバとして使用可能な汎用コンピュータのブロック図であり、図１４は、ＸＭＬプリンタのブロック図である。
【００３６】
図１３において、コンピュータ３０００は、ＲＯＭ３のプログラム用ＲＯＭに記憶された処理プログラム等に基づいて後述するフォーマッティングサーバとしての機能を遂行するためのＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が統括的に制御する。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ１０の表示を制御する。ディスクコントローラ（ＤＫＣ）７は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。ＬＡＮ制御部８はＬＡＮに制御されるが、フォーマッティングサーバはＬＡＮに限らず、公衆あるいは専用電話回線に接続するインターフェースを備える。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭヘのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧ（表示内容と印刷内容とを一致させる機能）を可能としている。また、ＣＰＵ１はＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。
【００３７】
図１４においては、プリンタＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等に記憶された制御プログラム等に基づいてシステムバス１５に接続される各種のデバイスとのアクセスを統括的に制御し、印刷部Ｉ／Ｆ１６を介して接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。ＣＰＵ１２は双方向Ｉ／Ｆ２１を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。ＲＡＭ１９はＣＰＵ２１の主メモリ、ワークエリア等として機能するＲＡＭである。入力部１８は、ＬＡＮや専用回線、公衆回線等を介してコンピュータ３０００と接続され、文書データやＵＲＬ等をホストコンピュータ３０００に通知可能に構成されている。メモリコントローラ（ＭＣ）２０は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述するフローチャートの手順のプログラムコード記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１４とのアクセスを制御する。操作部１０１２は、表示パネルやキーボードを含んでおり、オペレータへの情報の提供や、オペレータからの指示の入力を行わせる。
【００３８】
＜ＸＭＬコントローラ＞
図３はＸＭＬプリンタ２０１におけるＸＭＬコントローラ２０１ｂのブロック図である。
【００３９】
図において、ジョブチケットインタプリタ３０１は、発行されたジョブチケットに添付されたＸＭＬデータの分析や、用紙サイズ，排紙ビン，レイアウト等の文書属性の設定などのほか、リファレンス印刷の場合には後述するドキュメントコレクタ３０２の起動を行う。
【００４０】
ドキュメントコレクタ３０２は、ＨＴＴＰクライアントとＩＰＰサーバとを含む。ＨＴＴＰクライアントはＴＣＰ／ＩＰネットワークに接続されており、指定されたＵＲＬのリソースを取得する。また、サーバにおける変換に必要な情報である用紙サイズ等を通知する。さらに、ドキュメントファイルマネージャ３０３を起動して、文書中のエラーの管理や、文書の階層構造、キャッシュの管理等を行わせる。
【００４１】
ドキュメントパーサ３０４は、ＳＶＧ形式のデータ構造の分析と埋め込まれたデータ（例えば、イメージデータ）の取り出しを行う。また、機能ごとの各処理モジュールへの負荷の分散や、エラーイベント発生時のジョブ終了処理を行い、さらに、データがＵＲＬの際には、ドキュメントコレクタの起動も行う。
【００４２】
ＳＶＧインタプリタ３０５は、ＳＶＧ形式のデータを解釈し、指定されたオブジェクトを指定されたように配置する機能を有する。そのために、オブジェクトが配置される座標などを、論理値からデバイス値へと変換するなどの処理を行う。インタプリタとしては他にＣＳＳインタプリタも備えている。
【００４３】
なお、プリンタがカラー印刷機能を有する場合には、ドキュメントデータで指定された色をプリンタの色に合わせるために、いわゆるカラーマッチング機能をＳＶＧインタプリタは有している。
【００４４】
ＸＭＬグラフィックライブラリ３０７は、レンダラ３０８には不足した描画機能を提供し、レンダラ依存部分を吸収する機能を有する。ＸＭＬグラフィックライブラリ３０７によって、レンダラ３０８によるレンダリング処理が可能な形式のデータが生成される。
【００４５】
レンダラ３０８は、ビットマップ形式のデータを生成して、プリンタエンジン３０９へ送出し、プリントさせる。
【００４６】
デコーダ３１０は、ＪＰＥＧやＧＩＦといった圧縮イメージを復号する。
【００４７】
キャパビリティデスクリプタ３１１は、フォーマッティングサーバに対して、プリンタの機能（画像処理機能など）や能力（解像度など）等に関する情報を送信する。
【００４８】
以上の構成によって、ジョブチケットを解釈し、必要な文書やイメージ等のリソース（ＨＴＭＬあるいはＸＭＬ形式）を獲得して、必要に応じてフォーマッティングサーバによりＳＶＧ形式へと変換を行わせ、変換されたデータをレンダリングし、それを印刷すことができる。
【００４９】
＜フォーマッティングサーバの構成＞
図４は、フォーマッティングサーバ２０２のブロック図である。
【００５０】
フォーマッティングサーバ２０２において、ドキュメントリクエストレシーバ４０５は、ドキュメントコレクタ３０２から送られる用紙サイズ等のフォーマッティングに必要な情報や、リファレンス印刷であればドキュメントのＵＲＬを、ダイレクト印刷であればＸＭＬやＨＴＭＬ形式のデータを受信する。また、ドキュメントリクエストレシーバ４０５は、ドキュメントコレクタ３０２に対して、ＸＭＬやＨＴＭＬから変換された、ＳＶＧのタグセットを利用して記述されたドキュメントファイルや画像データファイルを送信する。
【００５１】
トランスレータ４０２は、ファイルシステム４０３から必要に応じてスタイルシート等を読み込んで、ＨＴＭＬやＸＭＬデータをＸＨＴＭＬ形式に変換し、そのデータはさらにフォーマッタ４０１によって、ＳＶＧ形式に変換される。ＸＨＴＭＬ形式は、先に説明したようにＸＭＬによって定義されたＨＴＭＬであることから、ＨＴＭＬからの変換も、ＸＭＬからの変換も比較的容易である。
【００５２】
また、ＳＶＧもＸＭＬによって定義されている形式であるが、この変換は、キャパビリティレジスタ４０４により受信されたプリンタの機能や能力等、またドキュメントリクエストレシーバ４０５により受信したサイズ情報等を参照して行われる。たとえば、ＸＨＴＭＬには印刷の際のページなる概念がないために、ＳＶＧへの変換の際にはページ区切りをしなければならない。このとき、区切り位置の決定のためなどに用紙サイズや、解像度などの情報が参照される。
【００５３】
このようにして変換されたＳＶＧ形式のデータは、ドキュメントリクエストレシーバ４０５に渡されて、そこからＸＭＬプリンタのＸＭＬコントローラ１０１ｂに送信される。
【００５４】
こうしてフォーマッティングサーバ２０２により、ＨＴＭＬあるいはＸＭＬで記述されたデータはＳＶＧに変換され、ＸＭＬプリンタ２０１に入力される。
【００５５】
ＸＭＬプリンタ２０１に入力されたＳＶＧのデータは、先に説明したとおり、ドキュメントパーサ３０４で分析され、埋込みオブジェクトがあればそれを読み込んで文書に埋め込み、指定された書式に整形された上で印刷出力される。
【００５６】
＜印刷手順＞
図５は、ＸＭＬプリンタとフォーマッティングサーバ、ドキュメントサーバの間における、リファレンス印刷時のメッセージの交換手順を示している。
【００５７】
まず、ジョブチケットがＸＭＬプリンタに対して発行されると、ＸＭＬプリンタは指定された文書のＵＲＬに従って、ドキュメントサーバからの文書の読み出しを行い（５０２）、指定されたＨＴＭＬドキュメントを獲得する（５０４）。ＸＭＬプリンタはいったんそれを格納した後、フォーマッティングサーバに対して、ドキュメントサーバから獲得したＨＴＭＬドキュメントを送信し、ＳＶＧ形式に変換させる（５０６）。フォーマッティングサーバは、変換時に必要となる用紙サイズなどの情報や、プリンタの性能に関するたとえば解像度などの情報を、ＸＭＬプリンタに対して要求し（５０８）、獲得する（５１０）。
【００５８】
フォーマッティングサーバはそれらの情報を参照してＨＴＭＬドキュメントをＳＶＧドキュメントに変換し、ＸＭＬプリンタに返送する（５１２）。
【００５９】
ＸＭＬプリンタは、受信したＳＶＧドキュメントを解析して、埋め込まれたＵＲＬがあれば、それによって指定されるオブジェクトを獲得すべく、ドキュメントサーバにアクセスし（５１４）、オブジェクトを獲得する（５１６）。
【００６０】
上記シーケンスにおいて、ＸＭＬプリンタ及びフォーマッティングサーバそれぞれの手順は次のようになる。図１１はユーザからジョブチケットを受信したＸＭＬプリンタの処理手順のフローチャートを示し、図１２は、ＸＭＬプリンタからＸＭＬあるいはＨＴＭＬドキュメントを受信したフォーマッティングサーバの処理手順のフローチャートを示している。
【００６１】
図１１において、ジョブチケットがＸＭＬプリンタに対して発行されると、ＸＭＬプリンタはそれを受信し、指定されたオペレーションがリファレンス印刷であるか、ダイレクト印刷であるか判定する（ステップＳ１１００）。リファレンス印刷であれば、ＨＴＴＰクライアント機能を用いて、ＵＲＬで指定されたドキュメントをドキュメントサーバから読み込む（ステップＳ１１０１）。なお、このとき、まずキャッシュを参照して、キャッシュされている文書やオブジェクトは、キャッシュから読み出す。
【００６２】
ドキュメントが獲得できた場合には、リファレンス印刷の場合には獲得したＨＴＭＬ文書を、ダイレクト印刷の場合には、ジョブチケット共に受信したＸＭＬ文書あるいはＨＴＭＬ文書を、フォーマッティングサーバに送信する（ステップＳ１１０２）。
【００６３】
この後、フォーマッティングサーバとの間で、必要に応じてプリンタキャパビリティ情報の交換が行われた後、フォーマッティングサーバからＳＶＧドキュメントを受信する（ステップＳ１１０３）。そして、そのドキュメントを分析し（ステップＳ１１０４）、埋込みオブジェクトがあるか判定して（ステップＳ１１０５）、オブジェクトがあれば、そのオブジェクトがＨＴＭＬドキュメントまたはＸＭＬドキュメントのいずれかであるか、あるいはＨＴＭＬドキュメントやＸＭＬドキュメントではない画像等であるかが判定される（ステップＳ１１０７）。何れでもない場合、たとえばビットマップ画像やＪＰＥＧ、ＧＩＦ画像等であれば、そのオブジェクトをＵＲＬに基づいて取得し、再び埋込みオブジェクトの判定を繰り返す（ステップＳ１１０５）。このとき、取得した文書やオブジェクトは、ハードディスク等のキャッシュ領域キャッシュしておき、ステップＳ１００１において参照する。
【００６４】
埋込みオブジェクトの処理を終えたなら、そのＳＶＧドキュメントをレンダリングしてビットマップ化し、プリンタエンジンから印刷させる（ステップＳ１１０６）。
【００６５】
図１２においては、まず、フォーマッティングサーバは、ＸＭＬプリンタからＸＭＬあるいはＨＴＭＬドキュメントを受信すると、プリンタキャパビリティ情報をＸＭＬプリンタのコントローラに要求し、取得する（ステップＳ１２０１）。そして受信したＨＴＭＬドキュメントをＸＨＴＭＬドキュメントに変換する（ステップＳ１２０２）。この際、ジョブチケットで指定されたスタイルシートを参照し、そのスタイルシートで定義された文書の書式に、ＨＴＭＬドキュメントをはめ込んで、新たな形式のＸＨＴＭＬドキュメントとする。スタイルシートでは、たとえば文字の書体やサイズ、段落分けの仕方、画像のレイアウト等が定義される。
【００６６】
いったんＸＨＴＭＬに変換されたドキュメントは、ステップＳ１２０１で取得したプリンタの機能や性能を参照してＳＶＧドキュメントに変換される（ステップＳ１２０３）。
【００６７】
以上のようにして、本来表示されるべきものとして定義されているＨＴＭＬドキュメントを、スタイルシートやプリンタキャパビリティ情報を参照することで、印刷されるページ単位のＳＶＧドキュメントに変換することができる。
【００６８】
このように、ＨＴＭＬやＸＨＴＭＬで記述された文書を、ＸＭＬで定義されたＳＶＧ形式に変換することで、そのままプリンタによって印刷可能となる。このシステムでは、従来の印刷システムのように、ホストコンピュータによって文書を完成させ、その文書をプリンタで解釈可能な形式に変換しておく必要がない。このシステムでは、文書は、その中に埋め込むべきオブジェクトが、ＵＲＬやファイル名といった参照データであっても、プリンタが、それら参照データからオブジェクトを収集して文書を完成させ印刷させることができる。
【００６９】
そのため、従来のプリンタドライバが不要となり、印刷に際しての、ホストコンピュータにおける出力処理がなくなり、ホストの負荷が軽減される。
【００７０】
また、文書そのものをプリンタに渡す必要すらなく、ＵＲＬ等の参照データをプリンタに渡すことでリファレンス印刷を行わせることができる。
【００７１】
さらに埋め込まれるオブジェクトが文書から独立しているために、そのオブジェクトを変える場合でも文書全体の編集し直しなどが不要であり、オブジェクトを入れ替えておくだけで済む。そのために、オブジェクトが画像であれば、表示と印刷とで異なる解像度の画像を用意することなどもできる。
【００７２】
さらに、文書やオブジェクトをキャッシュしておくことで、キャッシュに格納してある限りは通信を介してオブジェクトの取得をおこなわずに済む。
【００７３】
さらに、スタイルシートを利用していることで、ひとつの文書であっても、スタイルシートを変えることでレイアウトを変更して印刷することが可能である。
【００７４】
さらに、ＪＰＥＧやＧＩＦといった符号化データを復号する機能をプリンタに内蔵するために、ホストコンピュータにおける負荷を軽減できる。
【００７５】
＜印刷手順のバリエーション＞
図８は、上記のような構成により行なわれるリファレンス印刷の様子を示す模式図である。図８においては、ジョブチケットがＸＭＬプリンタに送信されると（１）、ＸＭＬプリンタはそれをドキュメントサーバ兼フォーマッティングサーバに転送し（２）、ドキュメントサーバ兼フォーマッティングサーバは受信したＵＲＬからドキュメントの本体を獲得する（３）。ドキュメントサーバ兼フォーマッティングサーバがそのドキュメントを受信すると、ＳＶＧ形式に変換して（４）、ＸＭＬプリンタに送信して印刷させる（５）。
【００７６】
上述したシステムでは、ＸＭＬプリンタが文書の獲得を行っていたが、このように、ドキュメントサーバ兼フォーマッティングサーバに文書獲得及びＳＶＧ形式への変換の処理を行わせ、プリンタはジョブチケットの受信と印刷を行うように構成することもできる。このシステム構成においては、プリンタはフォーマッティングサーバからＳＶＧ文書が入力されるのを待って印刷するだけでよい。図１１、図１２の処理はすべてフォーマッティングサーバにより行われる。
【００７７】
図９はダイレクト印刷の他の形態を示す模式図である。ＸＭＬ形式のドキュメントがワードプロセッサなどから出力され、その文書をユーザが端末で受信すると、ユーザはその文書に書式等の指定を追加してサーバ（図９ではフォーマッティングサーバをかねる）に転送する。これがジョブチケットとなる（１）。サーバはそれをＸＭＬプリンタに転送し（２）、ＸＭＬプリンタはフォーマッティングサーバに送信してＳＶＧ形式に変換させる（３）。フォーマッティングサーバはＳＶＧに変換した文書をＸＭＬプリンタに送信して印刷させる（４）。また、ユーザ端末は、ＸＭＬ形式のドキュメントを電子メールに添付して、サーバに送信してもよい。サーバは、その電子メールを受信して、添付されたドキュメントをＳＶＧ形式のデータに変換して、ＸＭＬプリンタに送信する。
【００７８】
以上のように、フォーマッティングサーバとＸＭＬプリンタとの機能分担が変わることはあっても、本実施例で示したようなシステムとしての機能や効果にかわるところはない。
【００７９】
［その他の実施の形態］
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【００８０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードに記憶した記憶媒体は本発明を構成することになる。
【００８１】
また、デバイス情報データは、画像処理装置及び画像データ展開装置に内蔵されているＨＤＤ、外部接続されている記憶媒体、画像データ展開装置からアクセス可能なサーバ等に保持されていても構わない。さらに、デバイス情報データはユーザが任意に設定したものを使用することが可能であっても構わない。
【００８２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが、実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【００８４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図１１乃至図１２に示す）フローチャートに対応するプログラムコードが格納されることになる。
【００８６】
【発明の効果】
以上説明したように本発明によれば、標準化された言語で記述された文書データをそのままの形式で解釈でき、印刷できるプリンタシステムが実現できる。
【００８７】
さらに、文書中に埋め込まれたオブジェクトが、ＵＲＬやファイル名といった参照データであっても、それら参照データからオブジェクトを収集して文書を完成させて印刷させることができる。
【００８８】
さらに、文書そのものではなく、参照データを受け取ることで印刷が可能である。
【００８９】
さらに、ひとつの文書について、簡単にレイアウトを変更して印刷することが可能である。
【図面の簡単な説明】
【図１】本実施形態におけるＸＭＬプリンタシステムの概要を示す図である。
【図２】フォーマッティングサーバ２０２がバックエンドにあるＸＭＬプリントシステムのブロック図である。
【図３】ＸＭＬプリンタ２０１におけるＸＭＬコントローラ２０１ｂのブロック図である。
【図４】フォーマッティングサーバ２０２のブロック図である。
【図５】ＸＭＬプリンタとフォーマッティングサーバ、ドキュメントサーバの間における、リファレンス印刷時のメッセージの交換手順を示す図である。
【図６】ユーザにおける印刷画面の例を示す図（ａ）と、ジョブチケットの構成を示す一例の図（ｂ）である。
【図７】ＸＨＴＭＬからＳＶＧへと変換された文書の一例を示す図である。
【図８】リファレンス印刷の様子を示す模式図である。
【図９】ダイレクト印刷の他の形態を示す模式図である。
【図１０】拠点システムとセンタシステムとの間で行われる、デバイスへの設定値のダウンロードの手順を説明するためのフローチャートである。
【図１１】ユーザからジョブチケットを受信したＸＭＬプリンタの処理手順のフローチャートである。
【図１２】ＸＭＬプリンタからＸＭＬあるいはＨＴＭＬドキュメントを受信したフォーマッティングサーバの処理手順のフローチャートである。
【図１３】フォーマッティングサーバとして使用可能な汎用コンピュータのブロック図である。
【図１４】ＸＭＬプリンタのブロック図である。
【図１】
0004590080.tif 000002
【図２】
0004590080.tif 000003
【図３】
0004590080.tif 000004
【図４】
0004590080.tif 000005
【図５】
0004590080.tif 000006
【図６】
0004590080.tif 000007
【図７】
0004590080.tif 000008
【図８】
0004590080.tif 000009
【図９】
0004590080.tif 000010
【図１０】
0004590080.tif 000011
【図１１】
0004590080.tif 000012
【図１２】
0004590080.tif 000013
【図１３】
0004590080.tif 000014
【図１４】
0004590080.tif 000015