(57)【特許請求の範囲】
【請求項１】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力可能な画像形成装置であって、
構造化記述言語で記述されたデータを取得するための取得情報と、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報とを外部装置に報知する報知手段と、
前記外部装置によって生成されたデータを取得する取得手段とを備え、
前記外部装置は、前記報知手段により報知された取得情報に従って構造化記述言語で記述されたデータを取得し、当該取得情報に従って取得した構造化記述言語で記述されたデータと前記報知手段により報知されたレイアウト情報とに基づいてデータを生成することを特徴とする画像形成装置。
【請求項２】
前記取得情報とは、構造化記述言語で記述されたデータを識別する情報であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
構造化記述言語で記述されたデータを識別する情報は、ＵＲＩで表現されていることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
構造化記述言語で記述されたデータが格納されている位置を示す前記取得情報と、前記レイアウト情報とを含む印刷指示を受信する受信手段を有し、
前記報知手段は、前記印刷指示に含まれる前記取得情報及び前記レイアウト情報を報知することを特徴とする請求項１乃至３のいずれかに記載の画像形成装置。
【請求項５】
前記レイアウト情報は、用紙サイズ又はレイアウト方向を示す情報を含むことを特徴とする請求項１乃至４のいずれかに記載の画像形成装置。
【請求項６】
前記レイアウト情報は、ページを指定する情報であり、前記取得手段は、指定されたページに対応するデータを取得することを特徴とする請求項１乃至５のいずれかに記載の画像形成装置。
【請求項７】
前記外部装置は、構造化記述言語で記述されたデータと前記報知手段により報知されたレイアウト情報とに基づいて、ページレイアウト可能な構造化記述言語で記述されたデータを生成することを特徴とする請求項１乃至６のいずれかに記載の画像形成装置。
【請求項８】
前記構造化記述言語は、ＸＭＬまたはＨＴＭＬであることを特徴とする請求項１乃至７のいずれかに記載の画像形成装置。
【請求項９】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力可能な画像形成装置であって、
構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報を含む印刷指示を受信する受信手段と、
前記受信手段により受信されたレイアウト情報を変更する変更手段と、
前記変更手段により変更されたレイアウト情報を、外部装置に報知する報知手段と、
構造化記述言語で記述されたデータと前記報知手段により報知されたレイアウト情報とに基づいて前記外部装置によって生成されたデータを取得する取得手段とを備えることを特徴とする画像形成装置。
【請求項１０】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力可能な画像形成装置であって、
印刷指示を受信する受信手段と、
受信された印刷指示に、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報が含まれていない場合、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報を決定する決定手段と、
前記決定手段により決定されたレイアウト情報を、外部装置に報知する報知手段と、
構造化記述言語で記述されたデータと前記報知手段により報知されたレイアウト情報とに基づいて前記外部装置によって生成されたデータを取得する取得手段とを備えることを特徴とする画像形成装置。
【請求項１１】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力する画像形成方法であって、
構造化記述言語で記述されたデータを取得するための取得情報と、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報とを外部装置に報知する報知ステップと、
前記外部装置によって生成されたデータを取得する取得ステップとを有し、
前記外部装置は、前記報知ステップで報知された取得情報に従って構造化記述言語で記述されたデータを取得し、当該取得情報に従って取得した構造化記述言語で記述されたデータと前記報知ステップで報知されたレイアウト情報とに基づいてデータを生成することを特徴とする画像形成方法。
【請求項１２】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力する画像形成方法であって、
構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報を含む印刷指示を受信する受信ステップと、
受信されたレイアウト情報を変更する変更ステップと、
変更されたレイアウト情報を、外部装置に報知する報知ステップと、
構造化記述言語で記述されたデータと前記報知ステップで報知されたレイアウト情報とに基づいて前記外部装置によって生成されたデータを取得する取得ステップとを有することを特徴とする画像形成方法。
【請求項１３】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力する画像形成方法であって、
印刷指示を受信する受信ステップと、
受信された印刷指示に、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報が含まれていない場合、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報を決定する決定ステップと、
決定されたレイアウト情報を、外部装置に報知する報知ステップと、
構造化記述言語で記述されたデータと前記報知手段により報知されたレイアウト情報とに基づいて前記外部装置によって生成されたデータを取得する取得ステップとを有することを特徴とする画像形成方法。
【請求項１４】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力可能な画像形成装置で実行されるプログラムであって、
構造化記述言語で記述されたデータを取得するための取得情報と、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報とを外部装置に報知する報知ステップと、
前記外部装置によって生成されたデータを取得する取得ステップとをコンピュータに実行させ、
前記外部装置は、前記報知ステップで報知された取得情報に従って構造化記述言語で記述されたデータを取得し、当該取得情報に従って取得した構造化記述言語で記述されたデータと前記報知ステップで報知されたレイアウト情報とに基づいてデータを生成することを特徴とするプログラム。
【請求項１５】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力可能な画像形成装置で実行されるプログラムであって、
構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報を含む印刷指示を受信する受信ステップと、
前記受信ステップにより受信されたレイアウト情報を変更する変更ステップと、
前記変更ステップにより変更されたレイアウト情報を、外部装置に報知する報知ステップと、
構造化記述言語で記述されたデータと前記報知ステップで報知されたレイアウト情報とに基づいて前記外部装置によって生成されたデータを取得する取得ステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
外部装置によって生成されたデータに基づく画像を所定のサイズをそれぞれ有する用紙に出力可能な画像形成装置で実行されるプログラムであって、
印刷指示を受信する受信ステップと、
受信された印刷指示に、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報が含まれていない場合、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報を決定する決定ステップと、
前記決定ステップにより決定されたレイアウト情報を、外部装置に報知する報知ステップと、
構造化記述言語で記述されたデータと前記報知手段により報知されたレイアウト情報とに基づいて前記外部装置によって生成されたデータを取得する取得ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像形成装置および画像形成方法に関し、特に、構造化記述言語で記述された文書データをページレイアウト出力する画像形成装置および画像形成方法に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータおよびインターネットの利用が急速に普及したことにより、業界を問わず文書の電子化が促進されている。しかし、電子化文書（以下、文書データという）のデータ形式は文書を編集するアプリケーションに依存するため、電子化された文書を閲覧するためにはその文書データのデータ形式をサポートするアプリケーションを用意する必要があった。
【０００３】
そこで、そのようなアプリケーションがなくてもいいように、ＨＴＭＬ（Hyper Text Markup Language）やＳＧＭＬ（Standard Generalized Markup Language）、ＸＭＬ（eXtensible Markup Language）といった、特定のアプリケーションに依存しない構造化記述言語で記述された文書データが普及しつつある。
【０００４】
構造化記述言語は一般に、文書を見るためのソフトウェア、すなわちブラウザでディスプレイ画面上に表示することを前提に設計された言語であるため、ページの概念が存在しない。そして、このブラウザを使用してディスプレイに文書を表示する場合には、表示する画面の幅や高さを任意に変えたり画面をスクロールさせたりすることができるため、ページの概念は特に必要ない。
【０００５】
が、このような構造化記述言語をプリンタ制御のためのページ記述言語として利用する場合には、つまり、このような構造化記述言語で記述された文書データを印刷処理する場合には、文書をページに割り付ける処理が必要である。そこで、近年、ページレイアウト可能な構造化記述言語が開発されつつある。出版用の組版ルール等を用いれば、ページの概念の無い構造化記述言語で記述された文書データをページレイアウト可能な構造化記述言語で記述された文書データに変換することができる。
【０００６】
このように、ページの概念の無い構造化記述言語で記述された文書（または文書データ）をページレイアウト可能な構造化記述言語で記述された文書（または文書データ）に変換する工程を、Formattingと呼ぶ。
【０００７】
図１６は、ページの概念のない構造化記述言語で記述された文書の例を示す図である。一般的なブラウザでは、表示画面の大きさを変えたり、スクロールバーを使って画面を縦横スクロールさせることができる。
【０００８】
これに対し、図１７はFormatting後の構造化記述言語で記述された文書の例を示す図である。Formatting後の文書は、このようにページ単位に表示または印刷することができる。
【０００９】
一方で、構造化記述言語で記述された文書は前述したように特定のアプリケーションを必要としないため、印刷装置が構造化記述言語を解釈可能であれば、アプリケーションを搭載しない端末からの印刷が可能となる。例えば、携帯情報端末や携帯電話等の外部装置であっても、これらの外部装置が文書データの格納場所を印刷装置に指示するだけで、印刷装置が文書データを自ら取得してきて印刷処理を行なうため、Ｗebサーバ上の文書の印刷が可能となる。以下の説明では、このような印刷指示を「リファレンス印刷指示」と呼ぶ。
【００１０】
【発明が解決しようとする課題】
しかし、上述したようなFormatting工程では、構造化記述言語がデバイスに依存しない言語であるため、文書データを論理ページにレイアウトするのが一般的である。したがって、構造化記述言語により記述された文書データに基づいて印刷出力するためには、Formatting工程では文書データを物理ページへレイアウトする必要があり、そのためには、出力用紙サイズやポートレイト／ランドスケープといったレイアウト方向を決める必要がある。
【００１１】
しかしながら、Formatting工程がＷebサーバ側（Ｗｅｂサーバ以外のサーバも含まれる）で行なわれる印刷システムにおいて、前記リファレンス印刷指示による印刷出力が行われる場合には、サーバは物理ページのサイズやレイアウト方向がFormatting時に分からない。このため、サーバは論理ページへのレイアウトしかできず、実際の出力用紙サイズに合わせて、文書を見栄え良くレイアウトすることができないという問題があった。
【００１２】
【課題を解決するための手段】
本発明は、このような問題に鑑みてなされたものであり、外部装置によって生成されたデータに基づいて画像を所定のサイズをそれぞれ有する用紙に出力するために、構造化記述言語で記述されたデータを取得するための情報と、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報とを外部装置に報知し、構造化記述言語で記述されたデータとレイアウト情報とに基づいて外部装置によって生成されたデータを取得することを特徴とする。
【００１３】
また、外部装置によって生成されたデータに基づいて画像を所定のサイズをそれぞれ有する用紙に出力するために、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報を含む印刷指示を受信し、受信されたレイアウト情報を変更し、変更されたレイアウト情報を外部装置に報知し、構造化記述言語で記述されたデータとレイアウト情報とに基づいて外部装置によって生成されたデータを取得することを特徴とする。
【００１４】
また、外部装置によって生成されたデータに基づいて画像を所定のサイズをそれぞれ有する用紙に出力するために、印刷指示を受信し、受信された印刷指示に、構造化記述言語で記述されたデータに基づく画像を用紙に割り当てるために必要なレイアウト情報が含まれていない場合、前記レイアウト情報を決定し、決定されたレイアウト情報を外部装置に報知し、構造化記述言語で記述されたデータとレイアウト情報とに基づいて外部装置によって生成されたデータを取得することを特徴とする。
【００１５】
例えば、本発明は、印刷装置が用紙サイズとレイアウト方向とをＦｏｒｍａｔｔｉｎｇ工程を行うサーバへ通知し、サーバが構造化記述言語で記述された文書データを所定の用紙サイズをそれぞれ有する用紙への割り付けが行われた文書データに変換することにより、高品位で効率的な負荷分散型の印刷システムに使用可能な画像形成装置および画像形成方法を提供する。
【００１６】
【発明の実施の形態】
（第１実施形態）
以下、図面を参照して本発明の実施例を詳細に説明する。
【００１７】
図１は、本発明を適用するのに好適なレーザビームプリンタ（以下「ＬＢＰ」と記述）の内部構成の断面図である。なお、本実施例を適用するプリンタは、レーザビームプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【００１８】
図１に示すＬＢＰは、図示しないデータ源から文字パターンの登録や定型書式（フォームデータ）などの登録を行うことができる。図１において、ＬＢＰ本体１０００は、外部に接続されているホストコンピュータから供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。
【００１９】
操作パネル１０１２は、操作のためのスイッチおよびＬＥＤ表示器などが配されている。プリンタ制御ユニット１００１は、ＬＢＰ１０００全体の制御およびホストコンピュータから供給される文字情報などを解析する。この制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。
【００２０】
レーザドライバ１００２は、半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオンオフ切り替えを実行する。
【００２１】
レーザ１００４は、回転多面鏡１００５で左右方向に振られ、静電ドラム１００６上を走査する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム１００６周囲の現像ユニット１００７により現像された後、記録紙に転送される。この記録紙には、カットシールを用い、カットシール記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【００２２】
図２は本発明の実施例を示すプリンタ制御システムの構成を示すブロック図である。なお、ここでは図１に示すレーザビームプリンタを例にして説明するが、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００２３】
図２において、ホストコンピュータ（サーバコンピュータ）３０００は、ＲＯＭ３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて文書データの取り出しやデータ変換を実行するＣＰＵ１を備えており、このＣＰＵ１が、システムデバイス４に接続される各デバイスを総括的に制御する。
【００２４】
また、ＲＯＭ３のプログラム用ＲＯＭにはＣＰＵ１の制御プログラム等を記憶し、ＲＯＭ３のフォント用ＲＯＭには上記データ変換処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭは、上記データ変換処理等を行う際に使用する各種データを記憶する。
【００２５】
ＲＡＭ２は、ＣＰＵ１の主メモリ，ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）５は、キーボード９や図示しないポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。本実施形態において、キーボード９やＣＲＴディスプレイ１０は必ずしも必要ではないが、サーバコンピュータのメンテナンスや動作状況の確認のために通常装備されているものである。
【００２６】
メモリコントローラ（ＭＣ）７は、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。ネットワークコントローラ（ＮＴＣ）８は、所定の双方向性インタフェース（インタフェース）２１を介してプリンタ１０００に接続されて、プリンタ１０００との通信制御処理を実行する。
【００２７】
なお、ＣＰＵ１は、例えばメモリコントローラ７を制御することによって外部メモリ１１に記憶された文書データを取り出したり、ネットワークコントローラ８を制御することによって文書データを外部へ転送することができる。
【００２８】
プリンタ１０００において、プリンタＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等、或いは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１６を介して接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００２９】
また、このＲＯＭ１３のプログラムＲＯＭには、本実施形態のフローチャートに処理手順を示すＣＰＵ１２の制御プログラム等を記憶しても良い。ＲＯＭ１３のフォント用ＲＯＭには、上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４が無いプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。ＣＰＵ１２は、入力部１８を介して外部装置との通信処理が可能となっており、プリンタ内の情報等を外部装置に通知可能に構成されている。ＲＡＭ１９は、ＣＰＵ１２の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００３０】
なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００３１】
前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、文書データ、フォントデータ、フォームデータ等を記憶する。また、入力部１８は、前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００３２】
なお、前述した外部メモリ１４は１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード，言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。さらに、図示しないＮＶＲＡＭを有し、操作パネル１０１２からのプリンタモード設定情報を記憶するようにしても良い。
【００３３】
双方向インタフェース２１が、図２のように、ネットワークに接続されていてもよい。ネットワーク上にはＷｅｂサーバコンピュータ４０００やクライアントコンピュータ５０００等が接続さている。Ｗｅｂサーバコンピュータ４０００は、文書データを格納しており、外部からの要求に応じて文書データを要求元に送信する。クライアントコンピュータ５０００は、Ｗｅｂサーバコンピュータ４０００から文書データを受信して、その文書データに基づく文書をブラウザ上に表示させる。また、文書データのリファレンス印刷指示をプリンタ１０００に送信する。
【００３４】
図３は、本実施例のプリンタ１０００の構成を示す機能ブロック図である。
【００３５】
図３において、プリンタ１０００は、大きく分けてフォーマッタ制御部１１００、プリンタインタフェース１２００、出力制御部１３００、プリンタエンジン部１４００より構成されている。フォーマッタ制御部１１００は、プロトコル制御部１１０１、データ判定部１１０２、文書データ解析部１１０３、データ描画部１１０４、ページメモリ１１０５、およびリファレンス印刷指示処理部１１０６より構成されている。
【００３６】
プリンタインタフェース部１２００は、外部との入出力のための手段である。プロトコル制御部１１０１は、ネットワークプロトコルを解析・送信することによって外部との通信を行なう手段であり、例えばプロトコルにＨＴＴＰ（Hyper Text Transfer Protocol）を使用した場合、ＵＲＩ（Uniform Resource Identifier）で指示された文書の取得やＷebサーバへの情報の送信を行なうものである。
【００３７】
データ判定部１１０２は、受信したデータがリファレンス印刷指示なのか文書データなのかを判定する手段である。受信したデータがリファレンス印刷指示であればデータはリファレンス印刷指示処理部１１０６に引き渡され、文書データであればデータは文書データ解析部１１０３に引き渡される。
【００３８】
リファレンス印刷指示処理部１１０６はリファレンス印刷指示から各情報を抽出し必要な情報をプロトコル制御部１１０１を通じて外部に送信するものである。リファレンス印刷指示の具体例については後述するが、例えば文書データのＵＲＩと物理レイアウト情報を送信することによって文書データを取得することかできる。
【００３９】
文書データ解析部１１０３は、構造化記述言語で記述された文書データを解析し、より処理しやすい形式の中間コードに変換する手段である。文書データ解析部１１０３において生成された中間コードはデータ描画部１１０４に渡されて処理される。データ描画部１１０４は上記中間コードをビットマップデータに展開するものであり、展開されたビットマップデータはページメモリ１１０５に逐次描画されて行く。
【００４０】
なお一般的には、フォーマッタ制御部１１００は、実際のハードウェアではＣＰＵ、ＲＯＭ、ＲＡＭなどを用いたコンピュータシステムによって構成されている。
【００４１】
出力制御部１３００は、ページメモリ１１０５の内容をビデオ信号に変換処理し、プリンタエンジン部１４００へ画像転送を行なう。プリンタエンジン部１４００は受け取ったビデオ信号に従って、記録紙に永久可視画像を形成するための印刷機構部として機能する。
【００４２】
次に、リファレンス印刷指示を示す印刷指示データの一例を参照し、リファレンス印刷指示について具体的に説明する。なお、印刷指示データは、構造化記述言語で記述されている。
【００４３】
図４の印刷指示データの１行目は、このデータが文書データではなくリファレンス印刷指示であることを示している。実際印刷すべき文書データは、２行目でＵＲＩによって指定されている。ＵＲＩは、インターネット上の文書を指定する最も一般的な指定方法であるのでここでは詳細な説明は省くが、図４の２行目は、ＨＴＴＰプロトコルを用いてmyserver.com という名前のＷebサーバ中に格納されているmydocumentという名前の文書を要求することを示している。３行目では、出力用紙サイズを指定しており、ここではＡ４用紙が指定されている。４行目では、レイアウト方向を指定している。ここではポートレイトが指定されている。
【００４４】
このように、簡単な印刷指示データがプリンタ１０００に送られることによって、直接文書データがプリンタ１０００に転送されてなくても、mydocumentという文書をＡ４ポートレイトで印刷することができる。
【００４５】
図５は、本実施形態に係るサーバコンピュータ３０００内のＷｅｂサーバ２０００の構成を示すブロック図で、Ｗebサーバ２０００は、大きく分けてサーバインタフェース２００１と、プロトコル制御部２００２と、レイアウトデータ生成部２００３と、文書サーバ２００４とにより構成されている。
【００４６】
なお、この例では、サーバコンピュータ３０００がＷｅｂサーバ機能を有し、文書データを格納している文書サーバ２００４を有しているものとした。しかし、サーバコンピュータ３０００が文書サーバ２００４を有していなく、Ｗｅｂサーバコンピュータ４０００から必要な文書データを取得してきて、下記のレイアウト処理を行うのでもよい。
【００４７】
Ｗebサーバインタフェース２００１は外部との入出力のための手段である。プロトコル制御部２００２は、ネットワークプロトコルを解析・送信することによって外部との通信を行なう手段であり、例えばプロトコルにＨＴＴＰを使用した場合、情報の受信やＵＲＩで指示された文書データの送信を行なうものである。または、ＵＲＩで受信された文書データの受信を行うものである。
【００４８】
レイアウトデータ生成部２００３は、文書サーバ２００４に格納されている文書データまたは外部のＷｅｂサーバコンピュータに格納されている文書データをページにレイアウトする手段である。文書サーバ２００４は、構造化記述言語で記述された文書ファイルを格納するものである。
【００４９】
Ｗebサーバ２０００は、ＵＲＩと物理レイアウト情報をプリンタ１０００から受信すると、指定された文書データを文書サーバ２００４から取り出し、データ生成部２００３において、指定された物理レイアウト情報に基づいてページに文書データをレイアウトし、生成した文書データをプリンタ１０００へ転送するものであり、文書提供装置として機能する。なお、外部の印刷装置とＷebサーバ２０００との間はインターネット等のネットワークを通じて接続されている。
【００５０】
また、Ｗｅｂサーバ２０００は、ＵＲＩと物理レイアウト情報をプリンタ１０００から受信すると、指定された文書データを外部のＷｅｂサーバコンピュータに要求して取得し、データ生成部２００３において、指定された物理レイアウト情報に基づいてページに文書データをレイアウトし、生成した文書データをプリンタ１０００へ転送するものであってもよい。
【００５１】
次に、図６、図７および図８を参照し、文書サーバ２００４に格納されている文書データとレイアウトデータ生成部２００３が生成した文書データの具体例を説明する。
【００５２】
図６は、ＸＭＬで記述された文書の一例である。この文書は、各データにタグをつけることによってデータの意味付けをしただけのものであり、ページにレイアウトされるために必要な情報が埋め込まれていない。
【００５３】
例えば、３行目では「Sample」という文字列データに＜title＞というタグが付けられている。これは「Sample」という文字列が「title」であることを意味しているが、この文字列がどういう大きさでどの位置にレイアウトされるか、といった情報は含まれていない。この文書をどのようにレイアウトするかは、一般にスタイルシートと呼ばれるレイアウト情報が記述されたファイルを適用することによって決定される。図６に示す文書では、先頭行で適用するスタイルシートが指定されている。
【００５４】
図７は、スタイルシートの具体例を示す図である。図７の２行目および３行目では、「title 」のレイアウトを定義している。具体的には、赤色の大きなフォントで行の中央に配置するように定義している。すなわち、文書サーバ２００４には図６示すような文書データ、および図７に示すようなスタイルシートが格納されている。
【００５５】
図６の文書データは、図７のスタイルシートに基づいて、レイアウトデータ生成部２００３の処理によって図８に示す文書データに変換される。
【００５６】
図８は、物理ページにレイアウトされた文書データの例を示す図である。図８に示す文書データでは、文字サイズや描画位置まで記述されている。例えば、図６および図７で示した「title 」部分は２４ポイントで、（ｘ，ｙ）＝（１００、０）［ｍｍ］の位置にレイアウトされる。
【００５７】
次に、図９、図１０、図１１および図１２のフローチャートを参照し、上述のように構成された印刷システムにおける全体の印刷制御処理手順を説明する。図９におけるＳ５０１〜Ｓ５０６、図１０におけるＳ６０１〜Ｓ６０８、図１１におけるＳ７０１〜Ｓ７０６、および図１２におけるＳ８０１〜Ｓ８０６は各処理ステップを示す。
【００５８】
図９は、プリンタ１０００の動作の開始から終了までのメイン処理を示すフローチャートである。ステップＳ５０１でプリンタインタフェースを通してネットワークからのデータの受け取りを行ない、ステップＳ５０２でプロトコルの解析を行う。
【００５９】
ステップＳ５０３において、受信したデータがリファレンス印刷指示を示す指示データであるか否かを判定する。リファレンス印刷指示でないと判定した場合は、ステップＳ５０５に進んで、受信したデータに対して描画処理を行う。リファレンス印刷指示である場合には、ステップＳ５０４において、文書取得処理を行なった後に描画処理を行なう。
【００６０】
その後、ステップＳ５０６で文書データが終了したか否かを判断し、文書データの終了であれば印刷動作を終了する。一方、文書データの終了でないと判断した場合は、ステップＳ５０１からの処理を繰り返す。
【００６１】
図１０は、図９のステップＳ５０５の描画処理の手順を示すフローチャートである。この処理は、実際に印刷処理を行う処理である。ステップＳ６０１において、文書データ解析部１１０３で、文書データを解析してページ終了タグかどうかをチェックし、ページ終了タグの場合はステップＳ６０６に進む。
【００６２】
一方、ステップＳ６０１においてページ終了タグでないと判断した場合は、解析したタグが文字印字または図形描画などページメモリへの展開処理を必要とするタグかどうかを判別する（ステップＳ６０２）。展開処理を必要とするタグでなければステップＳ６０５に進み、ただちに属性の設定・印字位置の制御などタグに従った処理を行なう。
【００６３】
一方、ステップＳ６０２からステップＳ６０３に進んだ場合は、そのタグに基づいてビットマップへの展開処理がしやすい形の中間コードを生成する。この中間コードを受けて、データ描画部１１０４では、ページメモリ１１０５への展開処理を行う（ステップＳ６０４）。展開処理終了後は、図９のステップＳ５０２に戻り、文書データの解析処理を繰り返す。
【００６４】
また、ステップＳ６０１において、ページ終了タグと判断された場合は、出力制御部１３００が、ページメモリ１１０５の内容をビデオ信号に変換して、、プリンタエンジン部１４００に出力する（ステップＳ６０６）。
【００６５】
プリンタエンジン部１４００では、受け取ったビデオ信号を記録紙に永久可視画像を形成して、印刷を行う（ステップＳ６０７）。そしてステップＳ６０８で、印刷された結果を排紙すると、１ページ当たりの印刷制御処理は終了する。
【００６６】
図１１は、図９のステップＳ５０４における文書取得処理を示すフローチャートである。この処理は、印刷すべき文書データを取得する処理である。
【００６７】
まず、ステップＳ７０１で、リファレンス印刷指示中に記述された物理レイアウト情報を検索し、認識する。図４に示した例では、用紙サイズの「Ａ４」とレイアウト方向の「ポートレイト」が物理レイアウト情報に該当する。ここで、物理レイアウト情報は、文書データを実際の用紙に合わせて印刷するために文書データを物理ページに割り当てるために必要な情報である。
【００６８】
次に、ステップＳ７０２で、リファレンス印刷指示中に記述されたＵＲＩを検索し、認識する。図４に示した例では、「http:／／myserver.com／mydocument」がこれに当たる。次に、ステップＳ７０３に進み、認識したＵＲＩと物理レイアウト情報をＨＴＴＰフォーマットに変換することによって、情報送信の準備が整う。
【００６９】
以上の処理は、リファレンス印刷指示処理部１１０６において実行され、以降の処理はプロトコル制御部１１０１において実行されることとなる。ステップＳ７０４では、ＵＲＩで指定されたＷebサーバを検索し、ステップＳ７０５においてＨＴＴＰプロトコルによりＷebサーバへ、ＵＲＩと物理レイアウト情報とを送信する。そして、ステップＳ７０６でＷebサーバから転送されてくる文書データを受信すると処理を終了する。
【００７０】
なお、ここでは、プリンタ１０００がＷｅｂサーバを検索して、見つけたＷｅｂサーバへＵＲＩと物理レイアウト情報とを送信するようにした。しかし、プリンタ１０００がＷｅｂサーバの検索をするのではなく、サーバコンピュータ３０００がＷｅｂサーバを検索して、文書データを取得するようにしてもよい。この場合、プリンタ１０００は、ＵＲＩと物理レイアウト情報とをそのままサーバコンピュータ３０００へ送信する。
【００７１】
また、プリンタ１０００は、リファレンス印刷指示の指示データに含まれている物理レイアウト情報を必要に応じて変更して、送信してもよい。例えば、リファレンス印刷指示では「Ａ３」の用紙サイズが指定されているが、プリンタ１０００が「Ａ４」にしか対応していなかったり、または現在「Ａ３」の用紙が給紙口になかった場合、「Ａ４」の用紙サイズが指定された物理レイアウト情報を送信する。
【００７２】
このように、プリンタ１０００は、プリンタ１０００の機能や状態に応じて、指示データ中の物理レイアウト情報を変更して、サーバへ送信することにより、ユーザがプリンタ１０００の機能や状態をわざわざ確認しなくても、適切な印刷が行われるようになる。
【００７３】
また、プリンタ１０００は、必要な物理レイアウト情報が指示データに含まれていない場合には、物理レイアウト情報を自ら決定して、決定した物理レイアウト情報を送信してもよい。例えば、指示データが用紙サイズを指定してなかった場合には、プリンタ１０００は、標準に設定されている用紙サイズまたは現在給紙口にある用紙の用紙サイズが指定された物理レイアウト情報を送信する
このように、プリンタ１０００は、プリンタ１０００の機能や状態に応じて、物理レイアウト情報を自ら決定して、サーバへ送信することにより、ユーザが物理レイアウト情報を指定できない場合や、指定するのを忘れた場合でも、適切な印刷が行われるようになる。
【００７４】
図１２は、Ｗebサーバ２０００の動作の開始から終了までのメイン処理を示すフローチャートである。
【００７５】
まず、ステップＳ８０１において、ＨＴＴＰプロトコルでネットワークからのデータの受けとりを行なうが、この処理はＷebサーバインタフェース２００１において実行される。
【００７６】
次に、ステップＳ８０２において、文書サーバ２００４からＵＲＩで指定された文書データを取り出す。ＵＲＩが他のＷｅｂサーバに格納されている文書データを示す場合には、そのＷｅｂサーバに要求を出して、指定された文書データを取得する。
【００７７】
さらにステップＳ８０３において、レイアウトに必要なリソースを取得する。ここで、レイアウトに必要なリソースとは、例えば図７に示したスタイルシートが該当する。
【００７８】
次に、ステップＳ８０４で、ＨＴＴＰプロトコルで通知された物理レイアウト情報を検出し、その後ステップＳ８０５で物理ページレイアウト処理を実行する。
【００７９】
すなわち、ステップＳ８０３で取得したスタイルシートと、ステップＳ８０４で検出した物理レイアウト情報とに基づいて、Formatting処理を行なう。例えば、物理レイアウト情報が、「用紙サイズはＡ４」を指定している場合には、文書データに基づく文書がＡ４の用紙サイズに適切に収まるように、取得した文書データを、ページレイアウト可能な構造化記述言語で記述された文書データに変換する。
【００８０】
ステップＳ８０５において処理が終わるとステップＳ８０６に進み、物理ページレイアウト済みの文書データをＨＴＴＰプロトコルを使って送信し、全ての処理を終了する。
【００８１】
（第２実施形態）
上述の実施形態では、文書サーバ２００４に格納されている文書の記述言語にＸＭＬを用いた例について説明したが、本実施形態ではＨＴＭＬを用いた例について図１３および図１４を参照して説明する。図１３におけるＳ１５０１〜Ｓ１５０５は、各処理ステップを示す。
【００８２】
図１３は、Ｗebサーバ２０００の動作の開始から終了までのメイン処理を示すフローチャートである。
【００８３】
まず、ステップＳ１５０１において、ＨＴＴＰプロトコルでネットワークからのデータの受け取りを行なう。この処理は、Ｗebサーバインタフェース２００１において実行される。次に、ステップＳ１５０２において、文書サーバ２００４からＵＲＩで指定された文書データを取り出す。ＵＲＩが他のＷｅｂサーバに格納されている文書データを示す場合には、そのＷｅｂサーバに要求を出して、指定された文書データを取得する。
【００８４】
上述の実施形態では、ここでレイアウトに必要なリソースの取得処理を行なったが、ＨＴＭＬはレイアウト情報を含んでいるため処理は必要ではない。
【００８５】
次に、ステップＳ１５０３に進み、ＨＴＴＰプロトコルで通知された物理レイアウト情報を検出して、その後ステップＳ１５０４において物理ページレイアウト処理を行なう。すなわち、ステップＳ１５０２とステップＳ１５０３の処理によって得られた情報だけで、Formatting処理が行なわれる。ステップＳ１５０４において処理が終わるとステップＳ１５０５に進み、物理ページレイアウト済みの文書データをＨＴＴＰプロトコルを使って送信し、全ての処理を終了する。
【００８６】
本実施形態で用いられるＨＴＭＬで記述された文書データの具体例を図１４に示す。図１４において、３行目の＜Ｈ１＞タグは、最も大きなフォントでの表示を定義している。このように、ＨＴＭＬは記述言語自体にレイアウト情報を含んでいるため、上述の実施形態に比べて処理手順を簡略化することができる。
【００８７】
（第３実施形態）
本実施形態では、物理ページレイアウト情報の一つとして、印刷するページを指定することにより、例えばリファレンス印刷指示によって指定されたページだけを印刷出力する例について説明する。
【００８８】
図１５は、Ｗebサーバ２０００の動作の開始から終了までのメイン処理を示すフローチャートである。図１５において、Ｓ１７０１〜Ｓ１７０５は各処理ステップを示す。まず、ステップＳ１７０１において、ＨＴＴＰプロトコルでネットワークからのデータの受け取りを行なう。この処理はＷebサーバインタフェース２００１において実行される。
【００８９】
次に、ステップＳ１７０２において、文書サーバ２００４からＵＲＩで指定された文書を取り出し、さらにステップＳ１７０３においてレイアウトに必要なリソースを取得する。ここまでの処理は第１実施形態において説明した処理と同一であるので、詳細は省略する。
【００９０】
次に、ステップＳ１７０４においてＨＴＴＰプロトコルで通知された物理レイアウト情報を検出する。本実施形態では、出力すべきページ番号がリファレンス印刷指示の中で指定されており、物理レイアウト情報として用紙サイズ・レイアウト方向以外にページ番号が通知される。その後、ステップＳ１７０５において、物理ページレイアウト処理を実行しながら、物理ページレイアウト処理された文書データを記憶装置に一時保存（キャッシング）する。記憶装置は、メモリやハードディスク等である。
【００９１】
そして、ステップＳ１７０６で一時保存した文書データのページをカウントした後、ステップＳ１７０７で、記憶装置から前記指定されたページの文書データを抽出する。
【００９２】
ステップＳ１７０７までの処理が終わると、ステップＳ１７０８に進み、抽出した文書データをＨＴＴＰプロトコルを使って送信する。最後に、ステップＳ１７０９で記憶装置に一時保存された文書データを削除して、全ての処理を終了する。
【００９３】
このように、物理レイアウト情報としてページ番号を通知することにより、構造化記述文書であっても必要なページだけを効率的に印刷出力することが可能となる。
【００９４】
（他の実施例）
上述の実施形態では、リファレンス印刷指示を示す指示データが構造化記述言語で記述される例について説明したが、構造化記述言語の文書データを出力指示するものであれば必ずしも構造化記述言語で記述される必要はない。例えば、ＨＴＴＰプロトコルだけで指示することも可能である。
【００９５】
また、上述の実施形態では、文書サーバをＷebサーバの構成要素とした例について説明したが、文書サーバは外部にあっても構わない。例えば、他のパソコンのハードディスクであっても良い。
【００９６】
また、上述の実施形態では、物理ページへのレイアウト情報として用紙サイズとレイアウト方向を通知する例について説明したが、レイアウト時に参照する情報であればこれらに限定するものではない。例えば、ページ拡大／縮小、複数ページ印刷の指定を通知すれば、サーバがこれらを考慮してFormatting処理を行なうことができる。
【００９７】
また、上述の実施形態では、リファレンス印刷指示で指示された情報の中から物理ページレイアウトに関係する情報を通知したが、レイアウト時に参照する情報であればリファレンス印刷指示で指示されない情報を通知しても良い。例えば、印刷装置固有の解像度を通知することでさらに厳密な物理ページレイアウトを行なうことができる。
【００９８】
さらに、上述の実施形態では、文書データを送信すると記憶装置に一時保存されている文書データを全て削除していたが、一時記憶装置の容量に余裕があれば削除せずに残しておくこととしても良い。このような処理を行うことにより、同じ文書の印刷処理が出来た場合に次回の処理から高速化することができる。
【００９９】
なお、プリンタ１０００とサーバコンピュータ３０００とが直接接続されている必要はなく、プリンタ１０００から送信されたデータが、様々な装置、例えば、ゲートウェイやルータなどを介して、サーバコンピュータ３０００に転送されてもよい。同様に、サーバコンピュータ３０００から送信されたデータが、様々な装置、例えば、ゲートウェイやルータなどを介して、プリンタ１０００に転送されてもよい。
【０１００】
なお、本発明は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１０１】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光磁気ディスク、光ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１０３】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【０１０４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【０１０５】
本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体からそのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【０１０６】
【発明の効果】
以上説明したように、本発明によれば、構造化記述言語で記述されたデータに基づいて印刷出力を行なう場合であっても、実際の用紙にデータを見栄え良くレイアウトして印刷出力することが可能となる。
【０１０７】
また、構造化記述言語で記述されたデータを取得するための取得情報がデータの格納位置を示す位置情報またはデータを識別する情報（例えば、ＵＲＩ）を含むことにより、外部装置は、取得情報を画像形成装置から受信し、指定されたデータを内部から或いは外部から取得して、レイアウト処理することができる。
【０１０８】
また、画像形成装置は受信した印刷指示に含まれる取得情報とレイアウト情報とを外部装置へ送信することによって、データを取得することができる。
【０１０９】
また、レイアウト情報が用紙サイズ及びレイアウト方向の情報を含むことにより、データを直接画像形成装置に転送しなくても、希望の用紙サイズおよびレイアウト方向でデータを印刷することができる。
【０１１０】
また、レイアウト情報がページを指定する情報を含みことにより、構造化記述言語で記述されたデータであっても、必要なページだけを効率的に印刷出力することが可能となる。
【０１１１】
また、構造化記述言語がＸＭＬであることにより、スタイルシートと呼ばれるレイアウト情報を記述したファイルを適用することによってデータのレイアウトを決定することができる。
【０１１２】
また、構造化記述言語がＨＴＭＬであることにより、構造化記述言語自体にレイアウト情報を含んでいるため処理手順を簡略化することができる。
【０１１３】
さらに、構造化記述言語で記述されたデータを物理ページへレイアウト可能な構造化記述言語で記述された文書データに変換する外部装置を備えることにより、外部装置はＵＲＩとレイアウト情報とを画像形成装置から受信すると、ＵＲＩで指定されたデータを取得して、レイアウト情報に基づいてＦｏｒｍａｔｔｉｎｇ処理を行ない、生成したデータを画像形成装置へ提供することができ、高品位で効率的な負荷分散型の印刷システムを実現できる。よって、画像形成装置が、Ｆｏｒｍａｔｔｉｎｇ処理などの高機能を有していなくても、ページの概念のない構造化記述言語で記述されたデータを印刷処理することができる。
【０１１４】
また、画像形成装置が、機能や状態に応じて、ユーザから指示されたレイアウト情報を変更して、外部装置へ送信することにより、ユーザが画像形成装置の機能や状態をわざわざ確認しなくても、適切な印刷が行われるようになる。
【０１１５】
また、画像形成装置は、機能や状態に応じて、レイアウト情報を自ら決定して、外部装置へ送信することにより、ユーザがレイアウト情報を指定できない場合や、指定するのを忘れた場合でも、適切な印刷が行われるようになる。
【図面の簡単な説明】
【図１】本発明の一実施形態によるレーザビームプリンタの構造を示す側断面図である。
【図２】本発明の一実施形態による印刷システムの構成を示すブロック図である。
【図３】本発明の一実施形態による印刷装置の基本構成を示す機能ブロック図である。
【図４】リファレンス印刷指示の例を示す図である。
【図５】本発明の一実施形態によるＷebサーバの構成を示すブロック図である。
【図６】ＸＭＬによる文書データの例を示す図である。
【図７】スタイルシートの例を示す図である。
【図８】ページレイアウト後の文書データの例を示す図である。
【図９】本発明の一実施形態による印刷制御手順を示すフローチャートである。
【図１０】図９に示した描画処理の手順を示すフローチャートである。
【図１１】図９に示した文書取得処理の手順を示すフローチャートである。
【図１２】本発明の一実施形態によるＷebサーバ制御手順を示すフローチャートである。
【図１３】本発明の一実施形態によるＷebサーバ制御手順を示すフローチャートである。
【図１４】ＨＴＭＬによる文書データの例を示す図である。
【図１５】本発明の一実施形態によるＷebサーバ制御手順を示すフローチャートである。
【図１６】ページ概念のない構造化記述言語の文書データ表示例を示す図である。
【図１７】ページレイアウトされた構造化記述言語の文書データ表示例を示す図である。
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
５  ＫＢＣ
６  ＣＲＴＣ
７  ＭＣ
８  ＮＴＣ
９  ＫＢ
１０  ＣＲＴ
１１  外部メモリ
１２  ＣＰＵ
１３  ＲＯＭ
１４  外部メモリ
１５  システムバス
１６  印刷部インターフェース
１７  印刷部
１８  入力部
１９  ＲＡＭ
２０  ＭＣ
１０００  印刷装置
１００２  レーザドライバ
１００３  半導体レーザ
１００４  レーザ光
１００５  回転多面鏡
１００６  静電ドラム
１００７  現像ユニット
１００８  用紙カセット
１００９  給紙ローラ
１０１０  搬送ローラ
１０１１  搬送ローラ
１０１２  操作パネル
１１００  フォーマッタ制御部
１１０１  プロトコル制御部
１１０２  データ判別部
１１０３  文書データ解析部
１１０４  データ描画部
１１０５  ページメモリ
１１０６  リファレンス印刷指示処理部
１２００  プリンタインターフェース
１３００  出力制御部
１４００  プリンタエンジン部
２０００  Ｗｅｂサーバ
２００１  Ｗｅｂサーバインターフェース
２００２  プロトコル制御部
２００３  レイアウトデータ生成部
２００４  文書サーバ
【図１】
0003848133.tif 000002
【図２】
0003848133.tif 000003
【図３】
0003848133.tif 000004
【図４】
0003848133.tif 000005
【図５】
0003848133.tif 000006
【図６】
0003848133.tif 000007
【図７】
0003848133.tif 000008
【図８】
0003848133.tif 000009
【図９】
0003848133.tif 000010
【図１０】
0003848133.tif 000011
【図１１】
0003848133.tif 000012
【図１２】
0003848133.tif 000013
【図１３】
0003848133.tif 000014
【図１４】
0003848133.tif 000015
【図１５】
0003848133.tif 000016
【図１６】
0003848133.tif 000017
【図１７】
0003848133.tif 000018