(57)【特許請求の範囲】
【請求項１】
データを入力する入力手段と、
前記入力手段で入力されたデータに基づき、入力されたデータの中間データを生成可能なプリンタドライバに対し、印刷設定の用紙サイズとして当該データの編集領域がページ分割されない用紙サイズを設定させることによって当該プリンタドライバを用いて編集領域がページ分割されていない中間データを生成させる第１の処理手段と、
前記第１の処理手段によって生成された中間データに基づき編集処理を行う第２の処理手段とを有することを特徴とするデータ処理装置。
【請求項２】
前記入力手段で入力したデータの幅サイズ及び高さサイズを判定する判定手段を有し、前記第１の処理手段は、前記印刷設定に含まれる用紙サイズを前記判定手段によって判定された幅サイズ及び高さサイズとして前記プリンタドライバを用いて中間データを生成させることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記第１の処理手段は、前記印刷設定に含まれる用紙サイズとして、前記入力手段で入力されたデータに基づき中間データを生成したときのページ数が１ページとなる用紙サイズを前記プリンタドライバに設定させることによって編集領域がページ分割されていない中間データを生成させることを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記第１の処理手段は、前記入力手段で入力されたデータがベクタ形式であった場合、ベクタ形式の中間データを生成させることを特徴とする請求項１〜３のいずれか１項に記載のデータ処理装置。
【請求項５】
前記第２の処理手段によって編集された結果をプレビューするプレビュー手段を有し、前記第２の処理手段は前記プレビュー手段によるプレビューに対するユーザからの指示に基づき再度編集を行うことを特徴とする請求項１〜４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記第２の処理手段によって処理されたデータを第２のプリンタドライバを用いて当該データに基づく画像を印刷装置に印刷させる印刷制御手段を有し、
前記第２の処理手段は、前記第２のプリンタドライバの印刷設定に従って編集を行うことを特徴とする請求項１〜５のいずれか１項に記載のデータ処理装置。
【請求項７】
前記入力手段は、構造化文書を処理対象のデータとして入力することを特徴とする請求項１〜６のいずれか１項に記載のデータ処理装置。
【請求項８】
前記入力手段は、構造化文書を解析して表示させるためのブラウザから処理対象のデータを入力し、
前記第１の処理手段は、前記ブラウザを介して印刷指示が行われた場合に、前記プリンタドライバに対し、印刷設定の用紙サイズとして編集対象のデータの編集領域がページ分割されないよう決定された用紙サイズを設定させることを特徴とする請求項７に記載のデータ処理装置。
【請求項９】
前記第１の処理手段は、前記プリンタドライバを用いて中間データを生成させる場合に、前記ブラウザの印刷設定としてヘッダー及びフッターの印刷を行わないように設定することを特徴とする請求項８に記載のデータ処理装置。
【請求項１０】
前記第１の処理手段は、前記プリンタドライバを用いて中間データを生成させる場合に、前記ブラウザの設定として余白をゼロに設定することを特徴とする請求項８または９に記載のデータ処理装置。
【請求項１１】
入力されたデータに基づき、入力されたデータの中間データを生成可能なプリンタドライバの印刷設定の用紙サイズとして当該データの編集領域がページ分割されない用紙サイズを決定し、
決定された印刷設定に従ってプリンタドライバを用いて中間データを生成させ、
前記プリンタドライバによって生成された中間データを編集用データとして出力することを特徴とするデータ処理方法。
【請求項１２】
請求項１〜１０のいずれか１項に記載のデータ処理装置の各手段、または請求項１１に記載のデータ処理方法をコンピュータにより実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、編集対象のデータを処理するデータ処理装置、データ処理方法およびプログラムに関する。
【背景技術】
【０００２】
インターネット上のＷｅｂページにアクセスして様々な情報を取得することが一般的に行なわれている。Ｗｅｂページには、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）又はＸＨＴＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のような構造化言語で記述された構造化文書などがある。Ｗｅｂページは、Ｗｅｂブラウザと呼ばれるソフトウェアによってディスプレイ上に表示され、また、プリンタによって印刷出力することができる。
【０００３】
Ｗｅｂブラウザを用いて取得したＷｅｂページを編集してから出力する場合、文字や図形のオブジェクトはベクタ形式のまま取得した方が画質の劣化が生じず、編集後のＷｅｂページの画質が高くなる。
【０００４】
特許文献１には、仮想プリンタドライバを用いて編集可能なデータを生成し、生成されたデータを編集することが示されている。このように仮想プリンタドライバを用いて編集可能なデータを生成することにより、ベクタ形式のオブジェクトをベクタ形式のまま出力可能なプリンタドライバを用いてベクタ形式での編集が可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１８７５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えばＷｅｂページのようにページの情報を持たないデータをプリンタドライバで印刷可能な形式のデータに変換する際、プリンタドライバは印刷に用いる用紙サイズに従ってページ単位で区切りながら印刷用データを生成する。このとき、プリンタドライバによっては、生成される各ページの外縁部分にマージンを設けるものがある。従って、プリンタドライバが生成したデータの編集に際して、ページ間に跨っていたオブジェクトがあった場合、当該オブジェクトに対してマージンが挿入されてしまう。そのため、プリンタドライバが生成したデータの編集に際して当該オブジェクトがページ間で跨らないように移動等を行わせる場合、プリンタドライバによって設けられたマージンを削除しなくてはならず、処理負荷が高くなったり、画質の劣化を招いてしまう。また、プリンタドライバによっては上記のようにページ間に跨るオブジェクトがあった場合、それを次のページに移動させるものがある。この場合、元のデータとはレイアウトが変わってしまうため、元のレイアウトに従った編集結果を得ることができない。
【０００７】
本発明は以上の課題に鑑みなされたものであり、編集対象のデータを、プリンタドライバを用いて生成させる場合に、適切に編集処理を行えるデータを生成させることができるデータ処理装置、データ処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため本発明のデータ処理装置は、データを入力する入力手段と、前記入力手段で入力されたデータに基づき、入力されたデータの中間データを生成可能なプリンタドライバに対し、印刷設定の用紙サイズとして当該データの編集領域がページ分割されない用紙サイズを設定させることによって当該プリンタドライバを用いて編集領域がページ分割されていない中間データを生成させる第１の処理手段と、前記第１の処理手段によって生成された中間データに基づき編集処理を行う第２の処理手段とを有する。
【発明の効果】
【０００９】
本発明によれば、プリンタドライバに編集領域がページ分割されないよう決定された印刷設定に従って中間データを生成させるので、適切に編集処理を行えるデータを生成させることができる。
【図面の簡単な説明】
【００１０】
【図１】実施例におけるデータ処理装置を含むシステムの構成を示す図である。
【図２】ＰＣ１０１の構成を示すブロック図である。
【図３】ＰＣ１０１に含まれるソフトウェアの構成を示すブロック図である。
【図４】ブラウザ３０１の画面の一例を示す図である。
【図５】構造化モジュール３０２による画面の一例を示す図である。
【図６】実施例による処理の流れを示すフローチャートである。
【図７】構造化文書の取得、中間データファイルへの変換、中間データファイルの編集までの流れを示す図である。
【図８】印刷プレビューの例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１２】
図１は、本発明に係る実施例におけるデータ処理装置を含むシステムの構成を示すブロック図である。データ処理装置であるＰＣ１０１は、ネットワーク１０２を介して複数のＷＷＷサーバ１０３からＷｅｂページをＰＣ１０１上へダウンロードして表示することができる。Ｗｅｂページには、ＨＴＭＬやＸＨＴＭＬ等の構造化言語で記述された構造化文書が含まれる。また、ＰＣ１０１はプリンタ１０４とも接続されており、ＷＷＷサーバ１０３上のＷｅｂページをＰＣ１０１上へダウンロードして、これをプリンタ１０４にシート上に印刷出力させることができる。プリンタ１０４はＰＣ１０１から送られてくる印刷データを解釈し、これに基づきシート（用紙）上にインク等の記録剤を付与して可視画像のプリントを行う。
【００１３】
図２は、ＰＣ１０１の内部の構成を示すブロック図である。ＣＰＵ２０１は、ＲＡＭ２０２、ＲＯＭ２０３又はハードディスク２０４に格納されたプログラムに従って、データや命令を処理する。ＲＡＭ２０２は、ＣＰＵ２０１が各種処理を行う際の一時記憶領域として用いられる。ハードディスク２０４は、オペレーティングシステム（ＯＳ）、Ｗｅｂブラウザ（以下、ブラウザという）やその他のアプリケーションソフトウェア等を格納する。ＵＳＢインタフェース２０５は、ＵＳＢケーブルが接続されるインタフェースであり、プリンタ１０４とのデータ通信を行うためのインタフェースである。なお、プリンタ１０４との通信は、ＵＳＢケーブルではなく、ＳＣＳＩや無線等により行われても良い。
【００１４】
表示装置２０６は、ＣＰＵ２０１による制御に基づき、ＷＷＷサーバ１０３からダウンロードしたＷｅｂページや、印刷プレビュー画像、又は、ＧＵＩ等を可視画像として表示する。入力装置２０７は、ユーザがＰＣ１０１に対して各種指示を行うための装置であり、例えば、ポインティングデバイスやキーボードである。システムバス２０９は、ＣＰＵ２０１やＲＡＭ２０２、ＲＯＭ２０３、ハードディスク２０４等との間を接続し、データはシステムバス２０９上で通信される。ＬＡＮインタフェース２０８は、ＰＣ１０１をＬＡＮに接続するためのインタフェースである。ＬＡＮインタフェース２０８を介してルータ（不図示）やネットワーク１０２を経由して接続された外部のＷＷＷサーバ１０３とデータ通信が行われる。また、ＰＣ１０１に無線に対応したインタフェースを構成して、データ通信を無線で行うようにしても良い。また、ＰＣ１０１は、表示装置２０６、入力装置２０７などが一体となった装置であっても別体となった装置であっても良い。
【００１５】
図３は、ＰＣ１０１にインストールされるソフトウェアの構成を示すブロック図である。ブラウザ３０１は、Ｗｅｂページを表示するためのアプリケーションであり、ＷＷＷサーバ１０３からＷｅｂページ（構造化文書）をＰＣ１０１のハードディスク２０４にダウンロードし、表示装置２０６に表示する。ここで、構造化文書とは、ＨＴＭＬやＸＨＴＭＬ等の構造化言語で記述された構造化文書データであり、構造化文書を構成するテキストや画像等の要素が、タグを用いて記述されている。また、それらの要素の表示スタイルを指定するＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）と呼ばれる別ファイルが構造化文書内に指定されている。ブラウザ３０１は、入力された構造化文書を解析してタグ等によって指定された形態に従って構造化文書を表示装置２０６に表示する。なお、ブラウザ３０１は、少なくとも構造化文書の可視化処理が行え、以下に述べるプラグインソフトウェアを組み込むことが可能な汎用的なブラウザを採用可能である。
【００１６】
構造化文書印刷モジュール３０２は、ブラウザ３０１に組み込まれるプラグインソフトウェアであり、ブラウザ３０１によって呼び出される。ブラウザ３０１が起動されたとき、ブラウザ３０１が構造化文書印刷モジュール３０２を実行する。構造化文書印刷モジュール３０２に含まれる各処理単位はサブモジュールとしてモジュール化されたものとしてもよいし、１つのモジュール内の処理単位としてもよく、その形態は種々のものを採用可能である。
【００１７】
構造化文書印刷モジュール３０２において、ユーザインターフェース（ＵＩ）部３０４は、構造化文書印刷モジュール３０２の実行により起動される。そして、ブラウザ３０１のウィンドウ内に、ユーザが印刷開始を指示するための印刷ボタン（図４の４０４）および印刷プレビューの表示を指示するための印刷プレビューボタン（図４の４０５）を表示する。
【００１８】
中間データ生成部３０７は、ＵＩ部３０４によって表示された印刷ボタン４０４または印刷プレビューボタン４０５がユーザにより操作された場合に実行される。中間データ生成部３０７は、上記操作により、ブラウザ３０１が取得した構造化文書の出力先プリンタに対応するプリンタドライバを、ＯＳ３０８に設定されているデフォルトプリンタに拘わらずプリンタドライバ１（３０９）に設定する。プリンタドライバ１（３０９）は、中間データファイル３１０を生成するための仮想プリンタドライバであり、任意のサイズを選択可能なユーザ定義用紙サイズを用紙サイズとして選択することができる。なお、プリンタドライバ１（３０９）は、所定の用紙サイズに従ってページ単位で画像データを生成可能な汎用的な仮想プリンタドライバを採用可能である。
【００１９】
また、中間データ生成部３０７は、上記操作がなされた場合、ブラウザ３０１が取得し、表示する構造化文書３０３の幅（横サイズ）、高さ（縦サイズ）からなるサイズ情報をサイズ情報取得部３０５より取得する。サイズ情報取得部３０５は構造化文書３０３を解析し、サイズ情報を判定（取得）する。判定されるサイズ情報の単位はピクセル、長さ（ミリ、インチ）などである。そして中間データ生成部３０７は、ブラウザ３０１からの構造化文書のプリンタドライバ１（３０９）を用いた印刷処理時の用紙サイズとして印刷設定部３０６を用いてユーザ定義用紙サイズに設定するとともに上記のように取得したサイズ情報を設定する。中間データ生成部３０７は、Ｗｅｂページの編集対象領域（印刷対象のオブジェクトが存在する編集領域）ができるだけ複数ページ（複数の用紙）に跨らないように用紙サイズを決定する。
【００２０】
また、中間データ生成部３０７は、ブラウザ３０１に対して印刷命令を発行し、ブラウザ３０１に構造化文書に基づく印刷処理（印刷用の描画データの生成）を実行させることができる。ブラウザ３０１は印刷命令が発行されるとＯＳ３０８を介してプリンタドライバ１（３０９）に対して描画処理を実行し、プリンタドライバ１（３０９）に描画データを出力する。この描画データは、構造化文書に文字、図形等のベクタ形式のデータが含まれていた場合、ベクタ形式のままとなる。この描画データを受け取ったプリンタドライバ１（３０９）は、この描画データに基づきスプールデータである中間データファイル３１０を生成し、ＲＡＭ２０２内の所定の記憶領域に保存する。中間データ生成部３０７は自身で中間データの生成を行うのではなく、プリンタドライバ１（３０９）に対して印刷ジョブを実行させ、中間データファイルを生成するよう指示するものである。なお、プリンタドライバ１（３０９）は仮想プリンタドライバであるため、中間データファイル３１０の生成を行った後、実際のプリンタへの出力は行わない。ただし、ブラウザ３０１は実際にプリンタへの出力を行う実プリンタドライバへの出力と同様に描画データを出力する。
【００２１】
中間データファイル３１０は、実際にプリンタへ出力される場合に生成される中間データファイルと同様の形式であり、文字や図形等の情報はベクタ形式のままとする。ただし、これらを画像形式に変換し、ビットマップデータ形式等としてもよい。中間データファイルとしては、ＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉｌｅ  Ｆｏｒｍａｔ）、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）などを用いることができる。
【００２２】
中間データ生成部３０７は、ブラウザ３０１に対して印刷命令を発行した後、ＯＳ３０８のスプーラの状況を監視し、ブラウザ３０１によって生成された描画データがプリンタドライバ１（３０９）による中間データファイルへの変換が終了したか判断する。中間データ生成部３０７は、これによってプリンタドライバ１（３０９）による印刷ジョブの処理が終了したことを検出し、これに応じて中間データファイル３１０の編集を行うための中間データ編集部３１１を起動する。中間データファイル３１０は編集用データとして中間データ編集部３１１に出力され、編集処理が行われることになる。
【００２３】
中間データ編集部３１１は、中間データ生成部３０７が抽出した、プリンタドライバ１（３０９）が生成した中間データファイル３１０を取得して印刷設定に従って実際の印刷においてシート上に適切に収まるようレイアウト等の編集を行う。中間データ編集部３１１は中間データファイル３１０の各オブジェクトのレイアウト等の編集を行い、各オブジェクトの配置情報を決定し、記憶するとともに、編集済み中間データファイル３１５を生成する。中間データ編集部３１１は、編集に際して用紙サイズ、解像度、印刷可能領域等の情報を含む印刷設定を、ＯＳ３０８を介してプリンタドライバ２（３１４）から取得する。プリンタドライバ２（３１４）は編集済みのＷｅｂページを実際に印刷する際に用いるプリンタの実プリンタドライバである。プリンタドライバ２（３１４）は、入力された中間データに基づき用紙上に印刷させるための処理が可能な汎用的な実プリンタドライバを用いることができる。プリンタは予め決められたものとしてもよいし、印刷に際してユーザによって選択されたものとしてもよい。ここではプリンタ１０４用のプリンタドライバであるものとする。
【００２４】
印刷プレビュー部３１２は中間データ編集部３１１でレイアウト等の編集が行われた編集済み中間データファイル３１５に基づく印刷プレビュー画像データを生成し、表示装置２０６に表示させる（図５）。印刷プレビュー部３１２による印刷プレビューを行った後、ユーザにより再編集の操作が行われると中間データファイル３１５を再度編集し、その内容が書き換えられる。
【００２５】
印刷処理部３１３は、実際の印刷のための各種印刷制御を実行する。印刷処理部３１３はユーザにより印刷ボタン４０４または印刷ボタン５０３が操作された場合に、中間データ編集部３１１により行われた編集の結果である編集済み中間データファイル３１５の印刷処理（印刷ジョブの処理）を実行する。なお、ここでは編集済み中間データファイル３１５を用いるのに代え、中間データファイル３１０を用い、中間データ編集部３１１が記憶した配置情報等に従ってレイアウト等を変更しながら印刷ジョブの処理を実行するようにしてもよい。印刷処理部３１３は、プリンタドライバ２（３１４）の印刷設定に従ってレイアウト編集された中間データファイルの描画処理を行い、ＯＳ３０８を介してプリンタドライバ２（３１４）に対して描画データを出力する。プリンタドライバ２（３１４）は、印刷処理部３１３から描画データを受け取り、これに基づきプリンタ１０４が解釈可能な形式の印刷データを生成し、これをプリンタ１０４に対して出力する。
【００２６】
ＯＳ３０８は汎用的なＯＳを用いることができる。ＯＳ３０８は構造化文書印刷モジュール３０２とプリンタドライバとが印刷設定データ等のやり取りを行うためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を提供する。またＯＳ３０８はプリンタドライバを介した描画処理のためのやり取りのためのＡＰＩも提供する。またＯＳ３０８には印刷ジョブの管理を行うスプーラシステム、プリントコマンドをポートへ出力するポートモニタ等の各種制御ソフトウェアが含まれる。
【００２７】
図４は、ＰＣ１０１の表示装置２０６で表示されるブラウザ３０１上において構造化文書印刷モジュール３０２を起動させ、さらに取得されたＷｅｂページを表示させた場合のＧＵＩ画面の一例を示す図である。
【００２８】
図４において、戻るボタン４０１、進むボタン４０２、アドレス入力欄４０３などがブラウザ３０１によって提供される。印刷ボタン４０４、印刷プレビューボタン４０５は構造化文書印刷モジュール３０２のＵＩ部３０４によって提供されるものであり、構造化文書印刷モジュール３０２が起動されたときに表示される。印刷ボタン４０４が押されると構造化文書印刷モジュール３０２によって処理されたデータを、印刷プレビューを行うことなくプリンタドライバ２（３１４）によって処理させてプリンタ１０４で当該データに基づく画像を印刷させる。印刷プレビューボタン４０５が押されると、印刷プレビュー部３１２を用いた印刷プレビューを行う。Ｗｅｂページ４０６はブラウザ３０１が取得したＷｅｂページを、ブラウザ３０１によって解釈し、可視画像として表示させたものである。
【００２９】
戻るボタン４０１は現在表示されているＷｅｂページ４０６を表示させる前に表示していたＷｅｂページの表示に切り替えるためのボタンである。進むボタン４０２は一旦戻るボタン４０１で表示を切り替えた後、元のＷｅｂページの表示に切り替えるためのボタンである。アドレス入力欄４０３は取得したいＷｅｂページのＵＲＬを入力する欄であり、現在表示しているＷｅｂページのＵＲＬを表示する。なお、ブラウザ３０１は自身でも印刷メニューを有しており、構造化文書印刷モジュール３０２を用いた処理を行わずにＷｅｂページの印刷を行わせる場合、ブラウザ３０１の印刷メニューを用いて印刷指示を行う。
【００３０】
図５は、ＰＣ１０１の表示装置２０６で表示される構造化文書印刷モジュール３０２によるＧＵＩ画面の一例を示す図である。図５の画面は、図４の画面において印刷プレビューボタン４０５が押された場合に表示される。図５の画面は図４の画面におけるウィンドウとは別のウィンドウとして表示される。
【００３１】
図５において、印刷プレビュー画面５０１は、構造化文書印刷モジュール３０２によって表示される画面（ウィンドウ）である。印刷プレビュー５０２は図４の画面で表示されたＷｅｂページ４０６に基づき印刷プレビュー部３１２が生成した編集済みの印刷プレビュー画像データに基づく画像である。印刷ボタン５０３は印刷プレビューの内容で印刷を開始させるためのボタンである。印刷ボタン５０３の横には印刷設定を変更するための画面を呼び出すボタンも含まれ、これによって呼び出された画面を用いて用紙サイズ、向き、段組みなどの印刷体裁を変更することができる。印刷用倍率指定部５０４は印刷の際、印刷対象のＷｅｂページを拡大させたり縮小させたりする際の拡大・縮小率を設定するためのスライダである。この指定部５０４で拡大・縮小率を変更させることにより印刷プレビュー５０２も変倍され（用紙イメージは変更されない）、用紙上にどのように印刷されるかを確認可能である。ボタン５０５は印刷対象のＷｅｂページが用紙からはみ出してしまう場合に用紙にちょうどフィットするようＷｅｂページの縮小率を自動的に決定して印刷させるためのボタンである。ページ切替ボタン５０６は、現在表示されている印刷プレビュー５０２を前のページまたは次のページに切り替えるためのボタンである。ここでのページは、用紙単位でのページである。表示用変倍ボタン５０７は印刷プレビュー５０２の表示倍率を変更するためのボタンであり、用紙全体を表示させるようにしたり、用紙幅を基準にして表示させるようにしたりするためのボタンである。表示用変倍ボタン５０７による変倍は印刷時の拡大・縮小率には影響しない。また、表示用変倍ボタン５０７において「サムネイル表示」を選択した場合、印刷対象のＷｅｂページが複数ページとなる場合、複数ページ分のＷｅｂページを一覧表示させることができる。
【００３２】
次に以上の構成による構造化文書印刷モジュール３０２によって行われる処理の流れについて説明する。図６は、構造化文書印刷モジュール３０２によって中間データファイル３１５を生成するまでの処理を示すフローチャートである。このフローチャートは、ＣＰＵ２０１が構造化文書印刷モジュール３０２に対応するプログラムをハードディスク２０４から読み出し、ＲＡＭ２０２にロードし、それを実行することにより行われる処理の流れを示す。また、各ステップにおける処理の詳細は図３などを用いて上述した通りである。
【００３３】
図４の画面において印刷ボタン４０４または印刷プレビューボタン４０５がユーザによって押されると、本フローが開始される（Ｓ６０１）。Ｓ６０２では、処理対象のＷｅｂページ４０６の幅及び高さのサイズ（ピクセル単位）をサイズ情報取得部３０５により取得する。このとき取得する幅サイズ及び高さサイズはブラウザ３０１の現在のウィンドウのサイズに依存するものではなく、表示対象となっている全領域である。即ち、ある時点では隠れており表示されていない領域であってもスクロールさせることによって表示させることのできる領域までを指す。なお、ブラウザによってはＷｅｂページの幅が現在のウィンドウサイズに依存するものがあるため、サイズ情報取得部３０５は、ブラウザ３０１のウィンドウ幅を変更した後のサイズ情報を取得するようにしてもよい。このウィンドウ幅の変更は、Ｗｅｂページの幅サイズが所定のサイズより小さい場合に拡張させたり、取得したＷｅｂページの構造化文書を解析した結果、変更の必要があると判断された場合に拡張させるものである。
【００３４】
Ｓ６０３では、中間データ生成部３０７がブラウザ３０１からのＷｅｂページの出力先プリンタ（プリンタドライバ）を仮想プリンタドライバであるプリンタドライバ１（３０９）に設定する。
【００３５】
Ｓ６０４では、印刷設定部３０６がブラウザ３０１から指定可能なプリンタドライバ１（３０９）の印刷設定に含まれる用紙サイズ種類の中からユーザ定義サイズを選択し、用紙サイズを先に取得した幅サイズと高さサイズ（ページ数は１）に設定する。このとき、取得したＷｅｂページの大きさによっては幅サイズまたは高さサイズが大き過ぎて１ページに収まらない場合がある。その場合は、所定のサイズで区切って複数ページとなるように用紙サイズを決定する。また、Ｗｅｂページの大きさが１枚の用紙サイズ分に収めることができる場合、必ずしもページ数を１とする必要はなく、２以上のページ数となるようにしてもよい。ただし、２以上のページとなる場合、編集の妨げとならないように改ページ位置を制御してから分割することが望ましい。また、ページ数を２ページ以上とする条件としては処理対象のＷｅｂページのサイズが所定サイズ以上であった場合が含まれる。例えば、処理対象のＷｅｂページのサイズ（ピクセル）がユーザ定義用紙サイズとして設定可能なサイズに設けられている上限を超える場合、この上限を超えない位置でページを区切る。また、ページ数を２ページ以上とする条件として、Ｗｅｂページのサイズに拘わらず予め２ページ以上とするよう決められている場合などがある。
【００３６】
Ｓ６０５では、ブラウザ３０１の印刷設定に含まれるヘッダー、フッターの印刷をＯＦＦに設定する。このヘッダー、フッターの印刷設定とは、Ｗｅｂページの印刷時に各ページのヘッダー、フッターとしてＷｅｂページのタイトル、ＵＲＬ、日時、ページ数などを印刷させる設定である。これらがプリンタドライバ１（３０９）への出力の際に付加されるとブラウザ３０１で表示させている状態とは見た目が異なってしまうため、ここではこれらをＯＦＦにする。ただし、後の編集処理においてヘッダー、フッターの削除を行うことが可能な場合やヘッダー、フッターを付加したい場合などにはこの処理を省略しても構わない。
【００３７】
Ｓ６０６では、中間データ生成部３０７が、ブラウザ３０１の印刷設定に含まれる余白設定を０（ゼロ）に設定する。この余白設定とは印刷の際、各ページの上下左右に余白を付加するためのものであるが、ここでもよりブラウザ３０１で表示させた場合の見た目に近付けるために０とするものである。この処理は後の編集処理によって解消できる場合や余白が付加されていても構わない場合などには省略しても構わない。
【００３８】
Ｓ６０７では、中間データ生成部３０７が、ブラウザ３０１に対して印刷命令を発行し、これに応じてブラウザ３０１は印刷設定に従ってＯＳ３０８を介してプリンタドライバ１（３０９）に対するＷｅｂページの印刷ジョブの処理を実行する。
【００３９】
Ｓ６０８では、中間データ生成部３０７がＯＳ（スプーラ）３０８から処理対象のＷｅｂページの印刷ジョブのステータスを取得し、Ｓ６０９において印刷ジョブが完了したと判断されるまでスプーラの監視を行う。
【００４０】
Ｓ６０９において印刷ジョブの処理が完了したと判断された場合、Ｓ６１０に進み、当該印刷ジョブの処理により生成された中間データファイルの編集を行うために中間データ編集部３１１を起動し、中間データ生成部３０７の処理を終了する（Ｓ６１１）。
【００４１】
図７は、ブラウザ３０１がＷｅｂページ（構造化文書）を取得し、中間データ生成部３０７がプリンタドライバ１（３０９）に中間データファイルを生成させ、中間データ編集部３１１が編集済み中間データファイルを生成するまでの処理の流れを示す図である。
【００４２】
図７において、３０３はブラウザ３０１が取得したＷｅｂページ（構造化文書）であり、幅サイズがＷピクセル、高さサイズがＨピクセルであるとする。この構造化文書３０３を上述のように中間データ生成部３０７がプリンタドライバ１（３０９）に生成させた中間データファイル３１０は幅サイズがＷピクセル、高さサイズがＨピクセルの１ページ分の印刷データとなる。この幅サイズＷピクセル、高さサイズＨピクセルは、前述のとおり用紙サイズとしてユーザ定義サイズを選択し、そのサイズに幅サイズＷピクセル、高さサイズＨピクセルを指定することによって実現する。
【００４３】
ここで、例えば構造化文書３０３のサイズがユーザ定義サイズに指定可能なサイズの上限値を超えてしまう場合はページ数を２以上とせざるを得ない。このような場合、ページ数をｎとすると、１ページ当たりの高さサイズをＨ／ｎとすると最終ページでの後端部分の余分な余白の発生を防止できる。ただし、これ以外の方法で分割するようにしてもよい。これ以外の分割方法としては、１ページ目を上限値またはそれより微小サイズ分小さいサイズとし、残った分を同サイズ単位で分割する方法がある。この場合、最終ページに大きく余白領域が入ってしまうこともある。この余白領域が発生しないよう、最終ページのサイズを元のＷｅｂページが存在していた位置までとするようにしてもよい。また、上記のようにＨ／ｎとなるように分割位置を特定した後、その分割位置に特定のオブジェクトが存在する場合、分割位置を前後のいずれかにずらす方法もある。この場合、ページ毎の異なるサイズとなることもある。
【００４４】
そしてこの中間データファイル３１０が中間データ編集部３１１によってプリンタ１０４を用いた実際の印刷のためにレイアウト編集等が行われ、編集済み中間データファイル３１５として出力される。ここではプリンタドライバ２（３１４）の印刷設定に含まれる用紙サイズ、解像度、印刷可能領域に応じた変倍やページ区切り処理などが行われる。またＷｅｂページが用紙内に適切に収まるように（オブジェクトの欠けや分断などが発生しないように）各オブジェクトのレイアウトの変更やサイズ変更などの処理も行われる。また、この各オブジェクトのレイアウトの変更やサイズ変更などの処理は、中間データファイル３１０に含まれる各オブジェクトを解析することによって自動的に行うようにしてもよいし、ユーザからの指示に従って行うようにしてもよい。また、ユーザの指示によってオブジェクトの配置パターンを決定し、これに従って自動的に各オブジェクトの位置やサイズを決定するようにしてもよい。
【００４５】
ここでは、編集済みの中間データファイル３１５における各ページが幅サイズＷ’、高さサイズＨ’に編集されたものとする。例えば、プリンタドライバ２（３１４）において印刷時に用いる用紙サイズがＩＳＯ  Ａ４サイズに設定されていた場合、Ｗ’が２１０ｍｍ、Ｈ’が２９７ｍｍとなる。元の構造化文書３０３のサイズが最終的な印刷の際の用紙１枚分以下であった場合、編集済み中間データファイル３１５は複数ページに分割はされない。
【００４６】
このように、中間データファイル３１０のサイズを、実際の印刷に用いる用紙サイズより十分大きいものとした（ここでは最終的には複数ページとなるものが１ページとなる大きさ）。従って、ページ間で余白などが入ったり、オブジェクトの移動などが行われない状態で後段での中間データ編集部３１１による編集を行うことができ、編集の自由度が上がる。
【００４７】
図８は、図５における印刷プレビューにおいて表示用変倍ボタン５０７で「サムネイル表示」が選ばれた場合に表示される複数ページのＷｅｂページの一覧画面である。「サムネイル表示」が選ばれると、図８（ａ）に示すように図５ではページ単位で表示されていた印刷プレビュー５０２が複数ページの一覧表示となる。図８（ａ）では構造化文書３０３の全部を１画面で表示しているが、多数ページとなる場合、画面を順次切り替えて表示させるようにしてもよい。
【００４８】
図８（ａ）は、中間データファイル３１０を中間データ編集部３１１によって編集した結果、８ページに分割された編集済み中間データファイル３１５の印刷プレビューの例を示している。この編集に際してページ間に跨るオブジェクト（文字領域や画像）などは分断されることがないよう次のページへ移動させて配置されている。この状態でユーザが印刷用倍率指定部５０４で縮小を指示すると図８（ｂ）に示すように例えば７ページに分割された印刷プレビューに変更される。このとき、ページ間にくるオブジェクトは図８（ａ）の場合とは異なるので、元の中間データファイル３１０に基づきページ間に跨るオブジェクトを次ページに移動させる処理などが行われる。そしてさらに縮小が指示されると、図８（ｃ）に示すように例えば６ページに分割された印刷プレビューに変更される。このとき元の中間データファイル３１０に従って編集処理が行われるのは上述の通りである。図８（ｄ）はさらに縮小が指示され５ページに分割された印刷プレビューの例である。
【００４９】
また、図８（ｅ）は、印刷設定から用紙の向きと段組みを変更した場合の印刷プレビューの例を示している。例えば、図８（ｄ）の印刷プレビューから印刷設定の用紙の向きを縦（ポートレイト）から横（ランドスケープ）に変更し、段組みを２段組みレイアウトに変更することにより、５ページに分割されていたものが横向きとなった用紙に２ページずつ収められる。結果として、図８（ｅ）に示すように３ページ分の印刷プレビューが表示される。
【００５０】
なお、ここでは印刷用倍率指定部５０４による倍率の変更、あるいは印刷設定の変更による編集の例について示したが、中間データ編集部３１１はこれ以外の編集も可能である。例えばユーザによる入力装置２０７（ポインティングデバイス等）の操作により印刷プレビュー中の所定の領域のトリミングを行ったり、任意のオブジェクトの拡大・縮小・移動などを行ったりすることも可能である。
【００５１】
以上のように、取得した構造化文書に基づき仮想プリンタドライバを用いて中間データファイルを生成させることにより、構造化文書内にベクタ形式のデータが含まれる場合、ベクタ形式の状態のまま後段の編集処理を行うことができる。そのため、後段の編集においても画質のよい画像を得ることができる。そして仮想プリンタドライバを用いて中間データを生成させる際、構造化文書のサイズに応じて用紙サイズを設定することにより、ページ分割されず、またブラウザで表示させた場合と同様の形態で後段の編集を行うことができ、編集の自由度が上がる。
【００５２】
なお、本実施例では仮想プリンタドライバであるプリンタドライバ１と実プリンタドライバであるプリンタドライバ２の２つのプリンタドライバを用いるものとしたが、これを１つのプリンタドライバとするようにしてもよい。この場合、中間データファイル３１０を生成する際は用紙サイズを構造化文書のサイズに従ったものとするとともにプリンタ１０４への出力を行うのではなく、スプーラで保持させたままとする。そして、中間データファイルの生成が完了したら中間データ編集部３１１に処理を移す。そして中間データ編集部３１１では用紙サイズを元々設定されていた実印刷用の用紙サイズに変更し、中間データ編集部３１１による編集が終了した場合、印刷処理部３１３による処理を行い、プリンタ１０４へ出力する。
【００５３】
また、以上の実施例では仮想プリンタドライバにおける中間データの生成において、用紙サイズを構造化文書のサイズに従ったものとすることによりページ分割されないようにするものとした。しかしながら、仮想プリンタドライバに拡大・縮小機能がある場合、これを用いて縮小させたり、用紙サイズの設定と縮小処理とをともに用いてページ分割されないようにしてもよい。また、仮想プリンタドライバの印刷ジョブ処理時の用紙サイズにユーザ定義用紙サイズを用いるのではなく、ページ数が１ページとなる大きさの定型サイズを選択するようにしてもよい。
【００５４】
また、以上の実施例では最終的にＷｅｂページの印刷を行うものとしたが、これには限らず、中間データ編集部３１１で編集された編集済み中間データファイルを所定の記憶装置に記憶させたり、外部の装置に送信したりするようにしてもよい。
【００５５】
また、以上の実施例では処理対象のデータを、ブラウザが取得したＷｅｂページとしたが、ページ単位で区切られていない他の形式のデータを処理対象のデータとしてもよい。
【００５６】
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。
【図１】
0005539280.tif 000002
【図２】
0005539280.tif 000003
【図３】
0005539280.tif 000004
【図４】
0005539280.tif 000005
【図５】
0005539280.tif 000006
【図６】
0005539280.tif 000007
【図７】
0005539280.tif 000008
【図８】
0005539280.tif 000009