(57)【要約】【課題】ロールの筒の位置を、印刷ページのすぐ下に表示し、実際に使われない部分であるにも関わらず、使われているという誤解を解消する印刷プレビューを提供することを目的とする。【解決手段】印刷プレビュー画像を表示する情報処理装置において、印刷される画像のサイズを取得する取得手段と、上記取得手段が取得した画像のサイズに応じて、印刷プレビュー画像上で表示すべきロール紙の筒の表示位置を算出する算出手段と、上記算出手段が算出した表示位置に、上記ロール紙の筒が配置されている印刷プレビュー画像を生成するプレビュー画像生成手段とを有する情報処理装置である。【選択図】図６
2010003186.tif 000002
【特許請求の範囲】
【請求項１】
印刷プレビュー画像を表示する情報処理装置において、
印刷される画像のサイズを取得する取得手段と；
上記取得手段が取得した画像のサイズに応じて、印刷プレビュー画像上で表示すべきロール紙の筒の表示位置を算出する算出手段と；
上記算出手段が算出した表示位置に、上記ロール紙の筒が配置されている印刷プレビュー画像を生成するプレビュー画像生成手段と；
を有することを特徴とする情報処理装置。
【請求項２】
請求項１において、
上記プレビュー画像生成手段は、上記印刷される画像が表示されている印刷プレビュー画像であって、上記表示されている画像と上記ロール紙の筒との間には、白紙がほぼ表示されていない印刷プレビュー画像を生成する手段であることを特徴とする情報処理装置。
【請求項３】
印刷プレビュー画像を表示する情報処理装置において、
上下余白無しで記録する設定を入力する入力手段と；
上記入力手段により上下余白無しが設定されたことに応じて、上下余白無しの印刷プレビュー画像を生成するプレビュー画像生成手段と；
を有することを特徴とする情報処理装置。
【請求項４】
印刷プレビュー画像を表示する情報処理装置において、
プレビュー表示中の画像の回転を指示する指示手段と；
プレビュー画像を生成するとともに、上記指示手段により回転が指示されたことに応じて、回転後の印刷プレビュー画像を生成するプレビュー画像生成手段と；
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に係り、特に、印刷結果をプレビューする情報処理装置に関する。
【背景技術】
【０００２】
従来のコンピュータにおいて、種々のアプリケーションプログラムで作成した文書を印刷するために、プリンタが用いられている。文書を印刷した状態を、事前に確認することができるように、アプリケーションプログラムやプリンタドライバは、コンピュータのディスプレイに、印刷プレビューを表示する機能を有している。たとえば、Ｍａｃｉｎｔｏｓｈ（登録商標）用のＣａｎｏｎ（登録商標）ｉｍａｇｅＰＲＯＧＲＡＦプレビューがある。
【０００３】
ロール紙を用いたプリンタで実際に印刷される状態を考慮した印刷プレビューがあった（たとえば、特許文献１参照）。
【特許文献１】特開２００６−２０２１１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来の印刷プレビューで表示される画像は、以下に示す点で、現実の印刷物の状態を正確に認識するには不十分である。
【０００５】
図１７は、プリンタに画像の印刷を指示するホストコンピュータ上のプリンタドライバと、プレビュー表示用アプリケーションソフトウェアとの従来技術を示す図である。
【０００６】
図１７（１）は、Ｃａｎｏｎ（登録商標）プリンタドライバのダイアログを示す図であり、上下余白なし機能の使用可否を操作するコントロールであるチェックボックスＣＢ１を含む。
【０００７】
図１７（２）は、Ｍａｃｉｎｔｏｓｈ（登録商標）用のＣａｎｏｎ（登録商標）ｉｍａｇｅＰＲＯＧＲＡＦプレビューの画面を示す図である。
【０００８】
図１７（１）は、図１７（２）に示すプレビュー画面９２を表示する直前の表示画面９１を示す図である。表示画面９１中のチェックボックスＣＢ１をクリックしＯＫボタンをクリックすると、図１７（２）に示すプレビュー画面９２が表示される。
【０００９】
現状のプレビュー表現方法では、ロール紙の使用量を、カットラインとルーラのみで表現する。この場合、小さい原稿サイズの原稿を１ページ印刷するためにプレビューする（印刷部分９２ｐをプレビューする）と、印刷部分９２ｐと、白紙部分９２ｗとがプレビュー表示される。このようにプレビュー表示すると、プレビュー画面９２において、ロール紙領域の後方（ロールの筒ＲＰ側のロール紙）には、白紙部分９２ｗが表示されるので、ロール紙の使用量を視覚的に誤解することがあるという問題がある。
【００１０】
つまり、実際には、図１７（２）に破線で示すカットラインまでしか、ロール紙が使用されないのに、白紙部分９２ｗもカットされ、白紙部分９２ｗが印刷されずに無駄にカットされる（ロール紙が無駄に消費される）という誤解を生じさせることがある。
【００１１】
また、プリンタドライバの設定に、「上下余白なし」という機能がある。この機能は、印刷ページの画像データ内の上下に余白があれば、余白分を詰めて印刷することによって、用紙の使用量を節約する機能である。しかし、この機能は、図１７の表示画面９１に示すように、チェックボックスＣＢ１が１つ設定されているだけであり、しかも、機能が有効になるかどうかは、データに依存する。つまり、画像データ内に余白がなければ何もしない（余白を詰めた印刷は行われない）。よって、どのような印刷結果が実際に得られるのかは、プリンタに出力されるまで、分からないという問題がある。また、従来の印刷プレビューでは、この問題を解決していない。
【００１２】
本発明は、ロールの筒の位置を、印刷ページのすぐ下に表示し、実際に使われない部分であるにも関わらずプレビュー表示画面に余白として表示される部分があれば、その部分が記録に使われて消費されるという誤解を解消することを目的とする。
【００１３】
また、本発明は、上下余白なしの実行によって、実際に節約されている様子を、プレビュー表示に反映することによって、使用されるロール紙の量をより正確に把握することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、印刷プレビュー画像を表示する情報処理装置において、印刷される画像のサイズを取得する取得手段と、上記取得手段が取得した画像のサイズに応じて、印刷プレビュー画像上で表示すべきロール紙の筒の表示位置を算出する算出手段と、上記算出手段が算出した表示位置に、上記ロール紙の筒が配置されている印刷プレビュー画像を生成するプレビュー画像生成手段とを有する情報処理装置である。
【発明の効果】
【００１５】
本発明によれば、実際に印刷される画像の大きさに応じて、ロール紙の筒の位置を変更して印刷プレビューを表示するので、使用されるロール紙の量を、ユーザがより正確に把握することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１７】
図１は、本発明の実施例１である印刷システムＰＳ１の構成を示すブロック図である。
【００１８】
印刷システムＰＳ１は、印刷プレビュー画像を表示する情報処理装置の例である。なお、本発明の機能が実行されるのであれば、単体の機器であってもよく、複数の機器からなるシステムであってもよく、また、ＬＡＮ、ＷＡＮ等のネットワークを介して接続され、処理されるシステムであってもよい。すなわち、実施例で接続される各種端末の構成は一例であり、用途や目的に応じて、様々な構成例がある。
【００１９】
印刷システムＰＳ１は、ホストコンピュータＨＣ１と、プリンタＰＲ１とを有する。
【００２０】
ホストコンピュータＨＣ１は、ホストコンピュータ本体ＨＣ１ａと、キーボード９と、ＣＲＴ１０と、外部メモリ１１とを有する。
【００２１】
ホストコンピュータＨＣ１において、ＲＯＭ３又は外部メモリ１１には、ＣＰＵ１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下ＯＳという）が記憶されている。また、ＲＯＭ３又は外部メモリ１１には、各サーバ又は各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、ホストコンピュータＨＣ１には、システムバス４が設けられている。
【００２２】
実施例１で使用するＯＳは、たとえばウィンドウズ（登録商標）ＸＰ（マイクロソフト（登録商標）社製）を想定するが、これに限るものではない。
【００２３】
ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。ＣＰＵ１は、処理の実行に際して必要なプログラム等を、ＲＡＭ２にロードし、プログラムを実行することによって、各種動作を実現するものである。
【００２４】
また、入力コントローラ５は、キーボード９や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントローラ６は、ＣＲＴ１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００２５】
メモリコントローラ７は、ブートプログラム、ハードディスクやフロッピー（登録商標）ディスク、又はコンパクトフラッシュ（登録商標）メモリ等の外部メモリ１１へのアクセスを制御する。
【００２６】
ハードディスクやフロッピー（登録商標）ディスクは、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。コンパクトフラッシュ（登録商標）メモリは、アダプタを介して、ＰＣＭＣＩＡカードスロットに接続される。
【００２７】
通信Ｉ／Ｆコントローラ８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。たとえば、ＴＣＰ／ＩＰを用いたインターネット通信やプリンタＰＲ１との間でデータ送受信等が可能である。なお、ＣＰＵ１は、たとえばＲＡＭ２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することによって、ＣＲＴ１０上での表示を可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２８】
プリンタＰＲ１は、コントロールボードＰＲ１ａと、印刷部１７と、操作部ＯＰ１と、外部メモリ１４とを有する。
【００２９】
プリンタのＣＰＵ１２は、ＲＯＭ１３ｂのプログラム用ＲＯＭに記憶されている制御プログラム等又は外部メモリ１４に記憶されている制御プログラム等に基づいて、印刷部Ｉ／Ｆ１６を介して、出力情報としての画像信号を、印刷部１７に出力する。印刷部Ｉ／Ｆ１６は、システムバス１５に接続されている。印刷部１７は、プリンタエンジンである。
【００３０】
また、ＲＯＭ１３ｂのプログラム用ＲＯＭには、ＣＰＵ１２の制御プログラム等が記憶される。ＲＯＭ１３ａのフォント用ＲＯＭには、上記出力情報を生成する際に使用するフォントデータ等を記憶する。ＲＯＭ１３ｃのデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタであれば、ホストコンピュータ上で利用される情報等も記憶される。
【００３１】
ＣＰＵ１２は、入力部１８を介して、ホストコンピュータＨＣ１との間で、通信処理が可能であり、プリンタＰＲ１内の情報等を、ホストコンピュータＨＣ１に通知することができる。
【００３２】
ＲＡＭ１９は、ＣＰＵ１２の主メモリであり、ワークエリア等として機能する。ＲＡＭ１９は、図示しない増設ポートに接続されているオプションＲＡＭによって、メモリ容量を拡張することができる。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等にも用いられる。
【００３３】
外部メモリ１４は、ハードディスク、ＩＣカード等で構成され、メモリコントローラ２０によって、アクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、入力部１８は、操作パネルで構成され、操作のためのスイッチ及びＬＥＤ表示器等が配されている。
【００３４】
また、外部メモリ１４は、１個に限らず、１個以上設けられ、内蔵フォントに加えて、オプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納している外部メモリを、複数接続できるようにしてもよい。さらに、図示しないＮＶＲＡＭを有し、操作部ＯＰ１からのプリンタモード設定情報を記憶するようにしてもよい。
【００３５】
また、実施例１では、プリンタＰＲ１がサポートするページ記述言語（以下、ＰＤＬという）が、ＬＩＰＳ等、比較的に高度なＰＤＬであると想定しているが、これに限る必要はない。なお、ＬＩＰＳは、ＬＢＰ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ（キヤノン（登録商標）社製）である。
【００３６】
本発明を実現するための印刷機器制御プログラム（以下、プリンタドライバという）は、外部メモリ１１に記録され、必要に応じてＲＡＭ２にロードすることによって、ＣＰＵ１が実行する。
【００３７】
さらに、本発明に係わるプリンタドライバが用いる定義ファイル及び各種情報テーブルは、外部メモリ１１に格納され、これらについての詳細な説明を後述する。
【００３８】
図２は、ホストコンピュータＨＣ１からプリンタＰＲ１に印刷ジョブデータを送信する場合における主要な機能を示すブロック図である。
【００３９】
ホストコンピュータＨＣ１におけるアプリケーション２１、グラフィックスエンジン２２、プリンタドライバ２３、プリントサブシステム２４は、それぞれ、外部メモリ１１に保存されたファイルとして存在する。また、アプリケーション２１、グラフィックスエンジン２２、プリンタドライバ２３、プリントサブシステム２４は、実行される際に、ＯＳやそのモジュールを利用するモジュールによって、ＲＡＭ２にロードされ、実行されるプログラムモジュールである。
【００４０】
なお、アプリケーション２１及びプリンタドライバ２３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ又は後述するネットワークを経由して、外部メモリ１１のハードディスクに追加可能である。
【００４１】
外部メモリ１１に保存されているアプリケーション２１は、ＣＰＵ１がＲＡＭ２にロードし、実行される。アプリケーション２１が、プリンタＰＲ１に印刷を行わせる際に、同様に、ＣＰＵ１がＲＡＭ２にロードされ、実行されるグラフィックスエンジン２２を利用して出力（描画）する。
【００４２】
グラフィックスエンジン２２は、印刷装置毎に用意されているプリンタドライバ２３を起動する。これによって、ＣＰＵ１が外部メモリ１１からＲＡＭ２に、プリンタドライバ２３をロードし、プリンタドライバ２３を実行する。グラフィックスエンジン２２は、プリンタドライバ２３を用いて、アプリケーション２１の出力を、ＰＤＬによるプリンタ制御命令に変換する。
【００４３】
プリンタドライバ２３によって変換されたプリンタ制御コマンドは、プリントサブシステム２４、通信Ｉ／Ｆコントローラ８経由で、プリンタＰＲ１に出力される。プリントサブシステム２４は、ＯＳによって起動され、ＣＰＵ１によって外部メモリ１１からＲＡＭ２にロードされ、実行され、印刷ジョブのスケジューリング、プリンタＰＲ１とホストコンピュータＨＣ１との接続制御、プリンタＰＲ１のステータスを管理する。
【００４４】
なお、プリンタドライバ２３は、アプリケーション２１から指示された印字や描画命令の出力に対して、プリンタ制御コマンドを生成し、プリント出力に反映されるようにプリンタＰＲ１に指示する。
【００４５】
また、プリンタドライバ２３は、プリンタドライバ２３やプリンタＰＲ１本体が持つ機能を制御するための設定を行う機能（以下、ユーザインタフェース）と、その設定を記憶する機能とを実現する。プリンタドライバ２３は、プリンタドライバ２３やプリンタＰＲ１が持つ能力をアプリケーションやＯＳに情報提供する機能、上記ユーザインタフェースで設定された機能がプリンタＰＲ１の有する機能である場合にプリンタ制御命令を生成する機能を実現する。また、プリンタドライバ２３は、ユーザインタフェースで設定された機能が、プリンタドライバ独自で行う機能である場合に、その機能を実現する。
【００４６】
ＣＰＵ１は、印刷される画像のサイズを取得する取得手段の例であり、上記取得手段が取得した画像のサイズに応じて、印刷プレビュー画像上で表示すべきロール紙の筒の表示位置を算出する算出手段の例である。また、ＣＰＵ１は、上記算出手段が算出した表示位置に、上記ロール紙の筒が配置されている印刷プレビュー画像を生成するプレビュー画像生成手段の例である。
【００４７】
この場合、上記プレビュー画像生成手段は、上記印刷される画像が表示されている印刷プレビュー画像であって、上記表示されている画像と上記ロール紙の筒との間には、白紙がほぼ表示されていない印刷プレビュー画像を生成する手段である。
【００４８】
また、上記実施例において、上下余白無しで記録する設定を入力する入力手段と、上記入力手段により上下余白無しが設定されたことに応じて、上下余白無しの印刷プレビュー画像を生成するプレビュー画像生成手段とが設けられている。
【００４９】
また、上記実施例において、プレビュー表示中の画像の回転を指示する指示手段と、プレビュー画像を生成するとともに、上記指示手段により回転が指示されたことに応じて、回転後の印刷プレビュー画像を生成するプレビュー画像生成手段とが設けられている。
【００５０】
図３は、ホストコンピュータＨＣ１、プリンタＰＲ１を適用可能な印刷システムＰＳ２の一例を示すシステム構成図である。
【００５１】
ネットワークＮＷ１は、複数のホストコンピュータＨＣ１、ＨＣ２、ＨＣ３、ＨＣ４、プリンタＰＲ１、ＰＲ２、プリントサーバコンピュータＳＣ１を接続している。なお、ホストコンピュータＨＣ２、ＨＣ３、ＨＣ４の構成は、ホストコンピュータＨＣ１と同様である。
【００５２】
この場合、ホストコンピュータＨＣ１、ＨＣ２、ＨＣ３、ＨＣ４の通信Ｉ／Ｆコントローラ８は、ネットワークインタフェースカード（ＮＩＣ）の機能を有する。プリンタＰＲ２は、セントロニクスやＵＳＢ等のローカルインタフェース３２を介して、プリントサーバコンピュータＳＣ１と接続され、プリントサーバコンピュータＳＣ１を介して、ネットワークＮＷ１に接続されるようにしてもよい。また、ネットワークＮＷ１に直接接続されるようにしてもよい。なお、ネットワークＮＷ１に直接接続されているプリンタＰＲ１の入力部１８は、ネットワークインタフェースカード（ＮＩＣ）の機能を有する。
【００５３】
プリントサーバコンピュータＳＣ１を介して、ネットワークＮＷ１に接続されているプリンタＰＲ２に、各ホストコンピュータＨＣ１、ＨＣ２、ＨＣ３、ＨＣ４から印刷ジョブを送信する場合、次のようにする。まず、各ホストコンピュータＨＣ１、ＨＣ２、ＨＣ３、ＨＣ４は、プリントサブシステム２４を介して、プリントサーバコンピュータＳＣ１へ印刷ジョブを送信する。
【００５４】
そして、プリントサーバコンピュータＳＣ１は、各ホストコンピュータＨＣ１、ＨＣ２、ＨＣ３、ＨＣ４から送信された印刷ジョブを、プリントサーバコンピュータＳＣ１上のプリントサブシステム（不図示）を介して、プリンタＰＲ１へ送信する。これによって、各ホストコンピュータＨＣ１、ＨＣ２、ＨＣ３、ＨＣ４は、プリントサーバコンピュータＳＣ１を介して、印刷ジョブをプリンタＰＲ２へ送信することができる。
【００５５】
また、ネットワークＮＷ１に直接接続されているプリンタＰＲ１に、各ホストコンピュータＨＣ１、ＨＣ２、ＨＣ３、ＨＣ４から印刷ジョブを送信する場合、次のようにする。つまり、各ホストコンピュータＨＣ１、ＨＣ２、ＨＣ３、ＨＣ４は、プリントサブシステム２４を介して、ネットワークＮＷ１に直接接続されているプリンタＰＲ１へ印刷ジョブを送信する。
【００５６】
次に、実施例１を適用するのに好適なプリンタドライバ２３の基本的な処理の流れについて説明する。
【００５７】
図４は、実施例１を適用するのに好適なプリンタドライバ２３の基本的な処理を示すステータス図である。
【００５８】
このステータス図は、アプリケーション２１、グラフィックスエンジン２２、プリンタドライバ２３の処理に対応する。図２に示すように、アプリケーション２１は、プリンタドライバ２３との間で直接やり取りするのではなく、ＯＳの持つグラフィックスエンジン２２を介して実行するので、アプリケーション２１自体は、実際にはグラフィックスエンジン２２とやり取りする。グラフィックスエンジン２２は、アプリケーション２１から指示を受け、プリンタドライバ２３に指示する。
【００５９】
まず、アプリケーション２１は、片面／両面設定や部数設定などの印刷のための設定を、ＲＡＭ２に確保されているメモリを介して、グラフィックスエンジン２２に通知する。プリンタドライバ２３は、その印刷設定とプリンタドライバ情報を格納するためのメモリ領域の初期化要求を、グラフィックスエンジン２２から受信する（Ｓ１）。ここで、プリンタドライバ情報を格納するためのメモリ領域とは、グラフィックスエンジン２２からプリンタドライバ２３へ送信された印刷設定に基づいて、プリンタドライバ２３が印刷処理を行う上で必要な情報である。
【００６０】
これによって、プリンタドライバ２３は、そのプリンタドライバ２３が印刷処理を行うために必要な情報（プリンタドライバ情報）を保持するメモリ領域を新たに確保し、印刷設定に従って、そのメモリ領域を初期化する。
【００６１】
プリンタドライバ２３は、プリンタドライバ２３が参照する情報メモリの初期化処理要求の受信によって、必要な処理を完了すると、Ｓ１で受信した印刷設定に応じたプリンタドライバ２３の印刷能力を、グラフィックスエンジン２２に通知する。アプリケーション２１は、最終的にプリンタＰＲ１に送信される印刷ジョブとその印刷ジョブに反映する印刷設定とを関連付けるために必要なハンドル値を、グラフィックスエンジン２２から取得する（Ｓ２）。
【００６２】
次に、アプリケーション２１が、印刷の開始要求をグラフィックスエンジン２２に行うと、プリンタドライバ２３は、グラフィックスエンジン２２から、印刷開始要求を受信する（Ｓ３）。これによって、プリンタドライバ２３は、ＰＤＬの生成処理を開始し、まず、プリンタＰＲ１が印刷開始に必要なプリンタＰＲ１命令を生成する。ただし、プリンタＰＲ１が印刷を開始するに必要なプリンタＰＲ１命令を生成する処理は、最初のページ（１ページ目）の印刷処理が開始された時点（アプリケーションからの最初のページの描画指示を受信した時点）でもあってもよい。
【００６３】
アプリケーション２１は、文字やイメージ等の描画オブジェクトの描画を実現するための描画指示を、グラフィックスエンジン２２に行う。プリンタドライバ２３は、その描画指示を、グラフィックスエンジン２２から受信する（Ｓ４）。これによって、プリンタドライバ２３は、指定された描画オブジェクトや改ページ、更には不図示の印刷設定を、途中で変更するための要求などを反映したプリンタ制御命令を、適宜生成し、プリンタＰＲ１へ出力する。なお、印刷するページ数は、アプリケーション２１からの指定に従う。
【００６４】
次に、アプリケーション２１が、印刷の終了要求をグラフィックスエンジン２２に行うと、プリンタドライバ２３は、グラフィックスエンジン２２から印刷終了要求を受信する（Ｓ５）。これによって、プリンタドライバ２３は、プリンタＰＲ１が印刷終了に必要なプリンタＰＲ１命令を生成し、ＰＤＬの生成処理を終了する。
【００６５】
次に、アプリケーション２１は、Ｓ２で取得したハンドル値の破棄要求を、グラフィックスエンジン２２に通知する。プリンタドライバ２３は、プリンタドライバ２３が印刷処理を行う上で必要な情報を格納するメモリ領域にある情報（プリンタドライバ情報）の破棄要求を、グラフィックスエンジン２２から受信する。これによって、プリンタドライバ２３は、上記プリンタドライバ情報の破棄処理を行う（Ｓ６）。
【００６６】
上記Ｓ３〜Ｓ５の処理によって、プリンタＰＲ１へ送信するための１つのジョブが生成される。
【００６７】
実施例１の印刷システムＰＳ１は、図１及び図２で示すプリンタＰＲ１とホストコンピュータＨＣ１とからなる印刷システムに加えて、更にアプリケーション２１からの印刷データを一旦中間コードデータでスプールする構成を有する。このシステムにおいて、一旦スプールした中間コードデータの内容に加工することができる。これによって、アプリケーション２１からの印刷データに、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーション２１が持っていない機能を実現することができる。
【００６８】
図５は、印刷システムＰＳ１において、グラフィックスエンジン２２からプリンタドライバ２３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル５４を生成するために拡張されたシステム構成を示す図である。
【００６９】
図５に示す印刷システムＰＳ１において、スプールファイル５４の内容を加工することができる。これによって、アプリケーション２１からの印刷データに、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーション２１の持たない機能を実現することができる。
【００７０】
これらの目的のために、図５に示すように、図２に示すシステムに対して、中間コードデータでスプールするように、システムが拡張されている。なお、印刷データを加工するためには、通常、プリンタドライバ２３が提供するウインドウから設定を行い、プリンタドライバ２３が、その設定内容を、ＲＡＭ２上又は外部メモリ１１上に保管する。
【００７１】
次に、図５に示す印刷システムＰＳ１を詳細に説明する。
【００７２】
図５に示すように、この拡張された処理方式では、グラフィックスエンジン２２からの印刷命令であるＤＤＩ関数を、ディスパッチャ５１が受け取る。ディスパッチャ５１がグラフィックスエンジン２２から受け取った印刷命令（ＤＤＩ関数）が、アプリケーション２１からグラフィックスエンジン２２へ発行された印刷命令（ＧＤＩ関数）に基づくものであれば、スプーラ５３へ印刷命令（ＤＤＩ関数）を送付する。つまり、ディスパッチャ５１は、外部メモリ１１に格納されている内部スプール処理モジュールであるスプーラ５３を、ＲＡＭ２にロードし、通常の印刷データ作成処理５７ではなく、スプーラ５３へ印刷命令（ＤＤＩ関数）を送付する。
【００７３】
スプーラ５３は、受け取った印刷命令を解析し、ページ単位に中間コードに変換し、スプールファイル５４に出力する。このページ単位に格納されている中間コードのスプールファイルを、「ページ描画ファイル」と呼ぶ。「ページ描画ファイル」は、ＰＤＦ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅ）である。スプーラ５３は、プリンタドライバ２３に設定されている印刷データに関する加工設定を、プリンタドライバ２３から取得し、ジョブ単位のファイルとして、スプールファイル５４に保存する。なお、上記印刷データに関する加工設定は、製本印刷、Ｎｕｐ、両面、ステイプル、カラー／モノクロ指定等である。
【００７４】
このときに、ジョブ単位に格納されている設定ファイルを、「ジョブ設定ファイル」と呼ぶ。なお、「ジョブ設定ファイル」を、簡略して、ＳＤＦ（Ｓｐｏｏｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅ）と呼ぶこともある。このジョブ設定ファイルについては、後述する。
【００７５】
なお、スプールファイル５４は、外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成するようにしてもよい。更に、スプーラ５３は、外部メモリ１１に格納されているスプールファイルマネージャ５５を、ＲＡＭ２にロードし、スプールファイルマネージャ５５に、スプールファイル５４の生成状況を通知する。その後に、スプールファイルマネージャ５５は、スプールファイル５４に保存されている印刷データに関する加工設定の内容に従って、印刷を終了するかどうかを判断する。
【００７６】
スプールファイルマネージャ５５が、グラフィックスエンジン２２を利用して印刷することができると判断すると、外部メモリ１１に格納されているデスプーラ５６を、ＲＡＭ２にロードする。そして、スプールファイル５４に記述されている中間コードのページ描画ファイルの印刷処理を行うように、デスプーラ５６に指示する。
【００７７】
デスプーラ５６は、スプールファイル５４に含まれている中間コードのページ描画ファイルを、スプールファイル５４に含まれている加工設定情報を含むジョブ設定ファイルに従って加工する。そして、ＧＤＩ関数を再生成し、もう一度、グラフィックスエンジン２２経由でＧＤＩ関数を出力する。
【００７８】
ディスパッチャ５１がグラフィックスエンジン２２から受け取った印刷命令（ＤＤＩ関数）が、デスプーラ５６からグラフィックスエンジン２２へ発行された印刷命令（ＧＤＩ関数）に基づいたものであれば、印刷データ作成処理５７に印刷命令を送る。つまり、ディスパッチャ５１は、スプーラ５３ではなく、プリンタドライバの通常の印刷データ作成処理５７に印刷命令を送る。
【００７９】
プリンタドライバ２３は、グラフィックスエンジン２２から取得したＤＤＩ関数に基づいて、ＰＤＬ等からなるプリンタ制御コマンドを生成する。この生成されたプリンタ制御コマンドは、プリントサブシステム２４、プリントサブシステム２４から呼び出されるプリントプロセッサ５８を経由し、プリンタＰＲ１に出力する。
【００８０】
実施例１に好適な動作環境、プリンタドライバ２３の全体的な処理内容を説明したが、以下では、実施例１を詳述する。
【００８１】
図６は、グラフィックスエンジン２２から印刷開始要求（Ｓ３）を受け付けたプリンタドライバ２３において、印刷データ作成処理５７が印字データを作成し、プリントサブシステム２４に印刷命令を送った際における実施例１の処理を示すフローチャートである。
【００８２】
図７は、図６に示すＳ１６の詳細処理を示す図である。
【００８３】
図８は、図６のＳ１７の詳細処理を示すフローチャートである。
【００８４】
図９は、図６のＳ２２の詳細処理を示すフローチャートである。
【００８５】
図１０は、図６のＳ２３の詳細処理を示すフローチャートである。
【００８６】
図１１は、実施例１において、プレビュー画面を表示する直前の状態を表示している画面（プリンタドライバの画面）の例を示す図である。
【００８７】
図１１に示す図は、ドライバの表示画面であり、ドライバのＵＩとも呼ばれる画面であり、各機能の使用可否を操作するコントロールを含むダイアログ例を示す。
【００８８】
図１２は、Ｓ１７〜Ｓ２４の処理の流れを示すイメージ図であり、処理の結果、表示されるプレビューのイメージを示す表示画面を示す図である。
【００８９】
図１３は、印刷プレビュー５９が、プリントプロセッサ５８を経由し、プリンタドライバ２３に作成させる印刷ページに関する情報を記録したファイル（以下、管理ファイルと呼ぶ）の構成を説明する図である。
【００９０】
図１４は、プリンタドライバ２３が、印刷ページの管理ファイルを作成し、それをプレビューが取得し、ビットマップを作成するまでのイメージを示す図である。
【００９１】
図１５は、図７の上下余白なしの各ステップが実行された結果得られる効果を示すイメージ図であり、上下余白なしが選択されていない場合の処理である図８の各ステップが実行された結果得られる画像と対比したものである。
【００９２】
図１５の上の図が、図８に示す「上下余白なし」が選択されていない場合の処理の結果得られる画像であり、図１５の下の図が、図７に示す「上下余白なし」が選択された場合の処理の結果得られる画像である。「上下余白なし」が選択されていると、画像内の三角形の下の白、山の図の上の白が削除される。
【００９３】
図１６は、図１２に示す印刷プレビュー画像７３のように、プレビュー画面に全印刷ページを表示しきれない場合に、スクロールによって表示ページを切り替える処理を示す概念図である。
【００９４】
プリンタドライバ２３が、グラフィックスエンジン２２から印刷開始要求を受け付けると、プリンタドライバ２３は、受信した印刷設定のうちで、図１１に示すコントロール６１に対応する値を参照する。つまり、コントロール６１のチェックボックスのＯＮ／ＯＦＦを参照する。そして、その値（ＯＮかＯＦＦか）に応じて、プリントプロセッサ５８がプレビューを起動するか否かを判断するための情報を印刷設定の予め両者が取り決めておいた領域に埋め込む。
【００９５】
このときに、プレビューを起動することを示す値が設定されていなければ（チェックボックスがＯＦＦであれば）、プリントプロセッサ５８は、プリンタドライバ２３が印刷開始要求を受け付けた際の処理を変更せずに、そのままプリンタＰＲ１に出力する。一方、プレビューを起動することを示す値が設定されていれば（チェックボックスがＯＮであれば）、プリントプロセッサ５８が、プレビューを起動する（Ｓ１１）。
【００９６】
Ｓ１２で、印刷データの１ページ目の印刷設定を取得し、これをアプリケーションの内部データ（以下、ＤＥＶ＿ＭＡＩＮと呼ぶ）として保持する。Ｓ１３で、印刷された全ページの高さを保持する値（以下、ｈｅｉｇｈｔと呼ぶ）を、０に初期化し、Ｓ１４で、現在のアプリケーションの表示倍率の設定（以下、ＺＯＯＭと呼ぶ）を取得する。
【００９７】
Ｓ１５では、Ｓ１２で取得したＤＥＶ＿ＭＡＩＮが上下余白なしの機能を使用する設定になっているかどうかを判別し、使用するになっていれば、上下余白なしの場合のｈｅｉｇｈｔを求めるＳ１６へ進む。一方、Ｓ１２で取得したＤＥＶ＿ＭＡＩＮが上下余白なしの機能を使用するになっていなければ、余白を間引かない通常のｈｅｉｇｈｔを求めるＳ１７へ進む。
【００９８】
Ｓ１８で、印刷プレビュー５９が、印刷データを表示するためのウィンドウサイズの幅と高さ（以下、幅：ｗｉｎｄｏｗ＿Ｗ、高さ：ｗｉｎｄｏｗ＿Ｈと呼ぶ）を取得する。ｗｉｎｄｏｗ＿Ｈは、ロールの筒の部分の表示領域を確保するために、その高さ分を引いておく。Ｓ１９では、Ｓ１６又はＳ１７で求めたｈｅｉｇｈｔがｗｉｎｄｏｗ＿Ｈを超えているか否かを判定する。
【００９９】
ｈｅｉｇｈｔがｗｉｎｄｏｗ＿Ｈを超えていれば、Ｓ２１へ進み、ｗｉｎｄｏｗ＿Ｈ×ＤＥＶ＿ＭＡＩＮのロール紙幅の面積で、ロール紙領域を描画し、その下に、ロールの筒を付ける。一方、ｈｅｉｇｈｔがｗｉｎｄｏｗ＿Ｈを超えていなければ、Ｓ２０へ進み、ｈｅｉｇｈｔ×ＤＥＶ＿ＭＡＩＮのロール紙幅の面積で、ロール紙領域を描画し、その下にロールの筒を付ける。
【０１００】
Ｓ２２で、印刷データのうち現在プレビューに表示されているページ情報を取得し、Ｓ２３で、上記表示されているページのビットマップを作り、実際にプレビューに表示する。Ｓ２３までの処理が終わると、プレビューの表示までの処理が完了し、Ｓ２４で、ユーザの操作を待機する。
【０１０１】
図１２（１）は、ロール紙に何も表示されていない印刷プレビュー画像７１を示す図である。図１２（２）は、ロール紙に印刷される画像Ｐ１を示す図である。図１２（３）は、印刷プレビュー画像７２を示す図である。この印刷プレビュー画像７２は、印刷される画像Ｐ１がロール紙に表示され、印刷される画像Ｐ１の図１２（３）中、最下部に、ロールの筒ＲＰが表示されている。このように、印刷される画像Ｐ１が表示されている印刷プレビュー画像７２であって、表示されている画像Ｐ１とロール紙の筒ＲＰとの間には、白紙がほぼ表示されていない印刷プレビュー画像７２を生成し、プレビューする。このようにすれば、白紙部分を無駄に使用するという誤解が生じない。
【０１０２】
Ｓ２０を通った場合のプレビューのイメージが、図１２に示す印刷プレビュー画像７２であり、Ｓ２１を通った場合のプレビューのイメージが、図１２（４）に示す印刷プレビュー画像７３である。
【０１０３】
印刷プレビュー画像７３は、図１２（４）に示す画面の上下いっぱいに印刷プレビュー画像を表示したものであり、印刷される画像Ｐ１とＰ２とが、ロール紙に表示されている。印刷される画像Ｐ２は、その全部が表示されずに、上下の半分または２／３程度が表示されている。この状態で、画像Ｐ１、Ｐ２等をスクロールすることができる。
【０１０４】
図１２（５）は、印刷される画像Ｐ１、Ｐ２のそれぞれが１００％表示されるように、印刷される画像Ｐ１、Ｐ２を縮小して表示した印刷プレビュー画像７４を示す図である。この状態で、スクロールすることができる。
【０１０５】
印刷プレビュー画像７３、７４も、図１２中でロールの筒ＲＰの上側に、白紙部分がないので、白紙部分を無駄に使用するという誤解が生じない。
【０１０６】
ユーザ操作の待機中に、プレビュー画面上に表示された不図示の回転ボタンがユーザにより操作されることによって、プレビューで回転の設定がされると、Ｓ２５から処理が開始し、Ｓ２８で、ＤＥＶ＿ＭＡＩＮに回転の設定を反映させる。
【０１０７】
次に、Ｓ３０で、これまでに作成した印刷ページの管理ファイルを全て削除し、Ｓ１３へ進む。その後は、上記の通りである。上記と同様に、Ｓ２６で、表示倍率が変更された場合に開始され、Ｓ２９で、ＺＯＯＭを更新する。
【０１０８】
次に、Ｓ１３へ進み、その後は、上記の通りである。Ｓ２７で、ユーザがスクロール操作すると、開始される。このときに、プレビューのスクロールバーのバーの部分が移動し、スクロールポジションの情報が更新される。スクロールバーに、高ささえ設定しておけば、ＯＳが自動的に更新する。
【０１０９】
図１６の符号８２で示すように、スクロールポジションは、スクロールバーに設定された全体の高さの中での現在位置を表現し、その位置から、現在表示されるべきページを検索することができる。検索の方法の詳細については、後述する。Ｓ１８へ進み、その後は、上記の通りである。
【０１１０】
印刷開始、又は印刷中止が実行されると（Ｓ３１）、プレビューは、プリントプロセッサ５８に、ＤＥＶ＿ＭＡＩＮの設定情報を渡し、印刷開始又は中止を指示し（Ｓ３２）、終了する。
【０１１１】
図７に示す各ステップは、上下余白なしの処理Ｓ１６の詳細な処理の一例である。
【０１１２】
Ｓ４１で、印刷データの総ページ数Ｐを取得し、操作対象のページを示す変数Ｎを、１で初期化する。Ｓ４４以下は、各ページの管理ファイル作成と高さとの合計を求める処理であり、Ｓ４２で、ループ処理の終了条件を示す。Ｓ４４で、Ｎページ目の管理ファイルが作成済かどうかを判断し、未作成であれば、Ｓ４５へ進む。
【０１１３】
一方、作成済みであれば、Ｓ４７へ進む。Ｓ４５で、ＤＥＶ＿ＭＡＩＮの設定を、変数ＤＥＶ＿ＴＭＰにコピーし、これに対して、Ｎページ目の印刷設定から、出力用紙サイズと印刷の向きとを設定する。Ｓ４６で、上記ＤＥＶ＿ＴＭＰの設定を用いて、Ｎページ目の管理ファイルを、ドライバに作成させる。管理ファイルは、プレビューの指示があると、プリンタドライバが作成する印刷ページのビットマップなどの情報を格納したファイルであり、図１３に示すように、ヘッダー部、データ部から構成されている。
【０１１４】
このデータ部の中に、さらに矩形の幅や高さ、座標情報等を格納した矩形ヘッダー部と、ビットマップ情報を格納した実データ部とがある。この管理ファイルは、１ページ情報に付き、１つ作成される。図１４は、この管理ファイルを用いてビットマップを作成する流れを説明する図である。
【０１１５】
プリンタドライバは、ビットマップをそれぞれの矩形ごとに分割し、位置情報などと共に管理ファイルに格納し、プレビューは、各描画を格納した矩形情報と、その座標位置都に基づいて、ビットマップを作成する。
【０１１６】
この管理ファイルより、一番上と下に位置する矩形情報を取得し（Ｓ４７）、その座標の引き算によって、上下余白なし時のＮページ目のサイズを求めることができる（Ｓ４８）。なお、上下余白なしの場合、ビットマップの矩形情報から、サイズを求めるために、回転を判定する必要はない。つまり、回転の設定がされていれば、プリンタドライバが既に回転済みのビットマップを生成し、管理ファイルに格納しているために、回転を判定する必要がない。
【０１１７】
これに、倍率の設定を反映し（Ｓ４９）、ここで求めたＮページ目のサイズ、ｈｅｉｇｈｔとビットマップとを、ページ管理情報として保持する（Ｓ５０）。ページ管理情報は、図１６の符号８３で示すように、各ページの表示位置やビットマップを格納した情報である。Ｓ５１で、ｈｅｉｇｈｔにＮページ目のサイズの高さを足し、Ｎを１つインクリメントし（Ｓ５２）、終了条件を満たす（Ｓ４２）まで、同処理を繰り返す。
【０１１８】
ループ処理が終了すると、Ｓ４３へ進み、求められた全ページの高さｈｅｉｇｈｔを、スクロールバーの高さとして設定し、処理を戻す。ここで返したｈｅｉｇｈｔを用いて、Ｓ１９で、分岐の条件が判断される。
【０１１９】
図８の各ステップは、各ページの情報を取得する処理Ｓ１７の詳細な処理の一例である。Ｓ６１で、印刷データの総ページ数Ｐを取得し、操作対象のページを示す変数Ｎを１で初期化する。Ｓ６４以下は、各ページの描画位置と高さとの合計を求める処理であり、Ｓ６２は、ループ処理の終了条件を示す。
【０１２０】
Ｓ６４で、Ｎページ目の印刷設定から出力用紙サイズ、高さＰＡＰ＿Ｈ、幅ＰＡＰ＿Ｗを取得する。Ｓ６５で、ＤＥＶ＿ＭＡＩＮに用紙節約（９０度回転）機能が有効になっているかどうかを判定し、有効であり、Ｎページ目が出力するロール紙幅に回転可能であれば、高さＰＡＰ＿Ｈ、幅ＰＡＰ＿Ｗを入れ替える（Ｓ６６）。一方、有効でなければ、Ｓ６７へ進む。
【０１２１】
Ｓ６７で、求めた出力用紙サイズに倍率の設定を反映し、高さＰＡＰ＿Ｈ、幅ＰＡＰ＿Ｗ及びｈｅｉｇｈｔを、ページの描画開始位置として、ページ管理情報８３に保持する（Ｓ６８）。
【０１２２】
Ｓ６９で、ｈｅｉｇｈｔにＮページ目のサイズの高さを足し、Ｎを１つインクリメントし（Ｓ７０）、終了条件を満たす（Ｓ６２）まで、同処理を繰り返す。ループ処理が終了すると、Ｓ６３で、求められた全ページの高さｈｅｉｇｈｔをスクロールバーの高さとして設定し、処理を戻す。ここで返したｈｅｉｇｈｔを用いて、Ｓ１９で、分岐の条件が判断される。
【０１２３】
図９に示す各ステップは、現在プレビューに表示されているページのページ番号を取得する処理Ｓ２２の詳細の一例である。
【０１２４】
Ｓ８１で、スクロールポジションＳを取得する。このスクロールポジションは、上記の通り、現在表示しているページが、ページ全体のどの部分になるかを示す位置情報である。Ｓ８２で、印刷データの総ページ数Ｐを取得し、操作対象のページを示す変数Ｎを１で初期化する。また、表示開始位置を示す変数ＰＡＧＥ＿ＦＲＯＭ及び表示終了位置を示す変数ＰＡＧＥ＿ＴＯも、それぞれ０で初期化する。
【０１２５】
Ｓ８４以下は、プレビューに表示されているページを求める処理であり、Ｓ８３は、ループ処理の終了条件を示す。Ｓ８４で、ページ管理情報８３から、Ｎページ目の描画開始位置Ｙ、高さＰＡＰ＿Ｈを取得する。Ｓ８５で、取得したＮページ目が、プレビュー画面内に表示されているかどうかを判定し、図１６の８４に示すように、スクロールポジションとＮページ目の描画開始位置Ｙ、高さＰＡＰ＿Ｈ、及びウィンドウサイズの高さ、ｗｉｎｄｏｗ＿Ｈとを使って判断する。
【０１２６】
プレビュー画面に表示されていないと判断されると、Ｓ８９へ進む。一方、表示されていると判断されると、Ｓ８６に進み、ＰＡＧＥ＿ＦＲＯＭが０であれば、ＰＡＧＥ＿ＦＲＯＭにＮを代入する（Ｓ８７）。これが、プレビュー画面に表示されている最初のページである。一方、ＰＡＧＥ＿ＦＲＯＭが０ではなければ、ＰＡＧＥ＿ＴＯに、Ｎを代入する（Ｓ８８）。これは、プレビュー画面に表示されている最後のページを示す。Ｓ８９で、Ｎを１つインクリメントし、終了条件を満たす（Ｓ８３）まで、同処理を繰り返す。ループ処理が終了すると、表示しているページの範囲であるＰＡＧＥ＿ＦＲＯＭとＰＡＧＥ＿ＴＯとを返す。
【０１２７】
図１０に示す各ステップは、現在プレビューに表示されているページのビットマップを表示する処理Ｓ２３の詳細な処理の一例である。
【０１２８】
Ｓ９１では、Ｓ２２で求めたプレビュー画面に表示するページＰＡＧＥ＿ＦＲＯＭとＰＡＧＥ＿ＴＯとを取得し、変数Ｎを、ＰＡＧＥ＿ＦＲＯＭで初期化する（Ｓ９２）。Ｓ９４以下は、プレビューに表示されているページのビットマップを表示する処理であり、Ｓ９３は、ループ処理の終了条件を示す。
【０１２９】
Ｓ９４で、Ｎページ目の管理ファイルが作成済みかどうかを判定し、作成済みであれば、Ｓ９７へ進み、未作成であれば、Ｓ９５へ進む。Ｓ９５で、ＤＥＶ＿ＭＡＩＮを変数ＤＥＶ＿ＴＭＰにコピーし、Ｎページ目の印刷設定から取得した出力用紙サイズと印刷の向きとを、ＤＥＶ＿ＴＭＰに設定し、このＤＥＶ＿ＴＭＰの設定で、プリンタドライバに管理ファイルを作成させる（Ｓ９６）。
【０１３０】
Ｓ９７で、ページ管理情報８３よりＮページ目の表示開始位置を取得して変数Ｙにセットし、続いて、スクロールポジションを取得して変数Ｓにセットする（Ｓ９８）。図１６における８４に示すように、Ｎページ目の開始位置とスクロールポジションの差分の値とが、Ｎページ目のプレビュー上の描画開始位置であるので、Ｙ−Ｓの位置から、Ｎページ目のビットマップを描画させる（Ｓ９９）。
【０１３１】
次に、Ｎページ目のビットマップの終わりに、カットラインを描画する（Ｓ１００）。Ｓ１０１で、Ｎを１つインクリメントして終了条件を満たす（Ｓ９３）まで、同処理を繰り返す。ループ処理が終了すると、プレビュー画面に表示されているページのビットマップが全て描画されていることになる。
【０１３２】
上記実施例１によれば、印刷実行時にプリンタＰＲ１に出力してみないとわからなかった上下余白なしによる節約量を、視覚的に分かるという効果があり、結果として、実際の出力結果に近いプレビューを得ることができる。
【０１３３】
また、図１２の印刷プレビュー画像７２に示すように、ロール紙の筒の位置を出力する最終ページのすぐ下に付けることによって、実際に使われない部分であるにもかかわらず、使われるような誤解を解消し、ロール紙の使用量を、ユーザが視覚的に把握し易い。以上のことから、ユーザは、より正確にロール紙の使用量を、事前に把握できるので、自分が考えている以上の量のロール紙が消費されることなく、安心して印刷を行うことができる。
【０１３４】
なお、印刷プレビュー５９は、取得手段が取得した画像のサイズに応じて、印刷プレビュー画像上で表示すべきロール紙の筒の表示位置を算出する算出手段の例であるとも考えられる。また、印刷プレビュー５９は、上記算出手段が算出した表示位置に、上記ロール紙の筒が配置されている印刷プレビュー画像を生成するプレビュー画像生成手段の例であるとも考えられる。
【図面の簡単な説明】
【０１３５】
【図１】本発明の実施例１である印刷システムＰＳ１の構成を示すブロック図である。
【図２】ホストコンピュータＨＣ１からプリンタＰＲ１に印刷ジョブデータを送信する場合における主要な機能を示すブロック図である。
【図３】ホストコンピュータＨＣ１、プリンタＰＲ１を適用可能な印刷システムＰＳ２の一例を示すシステム構成図である。
【図４】実施例１を適用するのに好適なプリンタドライバ２３の基本的な処理を示すステータス図である。
【図５】印刷システムＰＳ１において、グラフィックスエンジン２２からプリンタドライバ２３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル５４を生成するために拡張されたシステム構成を示す図である。
【図６】グラフィックスエンジン２２から印刷開始要求（Ｓ３）を受け付けたプリンタドライバ２３において、印刷データ作成処理５７が印字データを作成し、プリントサブシステム２４に印刷命令を送った際における実施例１の処理を示すフローチャートである。
【図７】図６に示すＳ１６の詳細処理を示す図である。
【図８】図６のＳ１７の詳細処理を示すフローチャートである。
【図９】図６のＳ２２の詳細処理を示すフローチャートである。
【図１０】図６のＳ２３の詳細処理を示すフローチャートである。
【図１１】実施例１の機能の使用可否を操作するコントロールを含むダイアログ例を示す図である。
【図１２】Ｓ１７〜Ｓ２４の処理の流れを示すイメージ図である。
【図１３】印刷プレビュー５９が、プリントプロセッサ５８を経由し、プリンタドライバ２３に作成させる印刷ページに関する情報を記録したファイル（以下、管理ファイルと呼ぶ）の構成を説明する図である。
【図１４】プリンタドライバ２３が、印刷ページの管理ファイルを作成し、それをプレビューが取得し、ビットマップを作成するまでのイメージを示す図である。
【図１５】図７の上下余白なしのステップが実行された結果得られる効果を示すイメージ図である。
【図１６】図１２に示す印刷プレビュー画像７３のように、プレビュー画面に全印刷ページを表示しきれない場合に、スクロールによって表示ページを切り替える処理を示す概念図である。
【図１７】プリンタに画像の印刷を指示するホストコンピュータ上のプリンタドライバと、プレビュー表示用アプリケーションソフトウェアとの従来技術を示す図である。
【符号の説明】
【０１３６】
ＰＲ１…プリンタ、
ＯＰ１…操作部、
ＨＣ１…ホストコンピュータ、
ＳＣ１…プリントサーバコンピュータ、
１…ＣＰＵ、
３…ＲＯＭ、
５…入力コントローラ、
６…ビデオコントローラ、
７…メモリコントローラ、
８…通信Ｉ／Ｆコントローラ、
９…キーボード、
１０…ＣＲＴ、
１１…外部メモリ、
１２…ＣＰＵ、
１７…印刷部、
２１…アプリケーション、
２２…グラフィックスエンジン、
２３…プリンタドライバ、
２４…プリントサブシステム、
ＮＷ１…ネットワーク、
５１…ディスパッチャ、
５２…内部スプール処理、
５３…スプーラ、
５４…スプールファイル、
５５…スプールフィルマネージャ、
５６…デスプーラ、
５７…印刷データ作成処理、
５８…プリントプロセッサ、
５９…印刷プレビュー。
【図１】
2010003186.tif 000003
【図２】
2010003186.tif 000004
【図３】
2010003186.tif 000005
【図４】
2010003186.tif 000006
【図５】
2010003186.tif 000007
【図６】
2010003186.tif 000008
【図７】
2010003186.tif 000009
【図８】
2010003186.tif 000010
【図９】
2010003186.tif 000011
【図１０】
2010003186.tif 000012
【図１１】
2010003186.tif 000013
【図１２】
2010003186.tif 000014
【図１３】
2010003186.tif 000015
【図１４】
2010003186.tif 000016
【図１５】
2010003186.tif 000017
【図１６】
2010003186.tif 000018
【図１７】
2010003186.tif 000019