(57)【要約】【課題】  アプリケーションで設定可能なサイズで出力させるときに、従来より大きな用紙に拡大印刷して大判印刷する。【解決手段】  プリンタドライバにおいて、各アプリケーションが扱える用紙サイズの最大ピクセル数を管理しておき、印刷指示したアプリケーション名からアプリケーションが扱える用紙サイズのピクセル数のしきい値を決定し、設定した用紙サイズのピクセル数が前記しきい値を越えた場合に解像度を下げ、プリンタドライバにおいて取得した印刷描画データに対して解像度を下げた分の拡大処理を行う。【選択図】  図４
2006004248.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバを備える情報処理装置であって、
印刷時に印刷要求を行うアプリケーションを判別する判別手段と、
各アプリケーションが扱える用紙サイズの最大ピクセル数を管理する管理手段と、
プリンタドライバのユーザインタフェース画面を介して設定された用紙サイズのピクセル数が、前記判別手段で判別したアプリケーションに対応する前記管理手段により管理されている当該アプリケーションの最大ピクセル数を超える場合には、当該最大ピクセル数を超えないピクセル数に変更して変更された仮想ピクセル数を前記アプリケーションに渡す仮想ピクセル数通知手段と、
前記仮想ピクセル数通知手段により変更された仮想ピクセル数を前記アプリケーションに渡した後、前記アプリケーションからオペレーションシステムを介して前記プリンタドライバに描画出力が渡された場合に、前記仮想ピクセル数から前記用紙サイズのピクセル数に拡大する拡大手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記管理手段は、各アプリケーションのバージョン毎に、当該アプリケーションが扱える最大ピクセル数を管理していることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記プリンタドライバのユーザインタフェース画面を介して、アプリケーションごとに扱える用紙サイズの最大ピクセル数を登録する登録手段を更に有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
仮想ピクセル数通知手段は、用紙からマージンを除いて複数頁を隙間なく印刷する長尺印刷時には、定型用紙の場合でも、拡大誤差を考慮した有効印字ピクセル数をプリンタ側に通知することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
プリンタドライバを備える情報処理装置における印刷処理方法であって、
印刷時に印刷要求を行うアプリケーションを判別する判別工程と、
各アプリケーションが扱える用紙サイズの最大ピクセル数を管理する管理工程と、
プリンタドライバのユーザインタフェース画面を介して設定された用紙サイズのピクセル数が、前記判別工程で判別したアプリケーションに対応する前記管理工程により管理されている当該アプリケーションの最大ピクセル数を超える場合には、当該最大ピクセル数を超えないピクセル数に変更して変更された仮想ピクセル数を前記アプリケーションに渡す仮想ピクセル数通知工程と、
前記仮想ピクセル数通知工程により変更された仮想ピクセル数を前記アプリケーションに渡した後、前記アプリケーションからオペレーションシステムを介して前記プリンタドライバに描画出力が渡された場合に、前記仮想ピクセル数から前記用紙サイズのピクセル数に拡大する拡大工程と、
を含むことを特徴とする印刷処理方法。
【請求項６】
プリンタドライバを備える情報処理装置で実行される印刷処理プログラムであって、
印刷時に印刷要求を行うアプリケーションを判別する判別工程と、
各アプリケーションが扱える用紙サイズの最大ピクセル数を管理する管理工程と、
プリンタドライバのユーザインタフェース画面を介して設定された用紙サイズのピクセル数が、前記判別工程で判別したアプリケーションに対応する前記管理工程により管理されている当該アプリケーションの最大ピクセル数を超える場合には、当該最大ピクセル数を超えないピクセル数に変更して変更された仮想ピクセル数を前記アプリケーションに渡す仮想ピクセル数通知工程と、
前記仮想ピクセル数通知工程により変更された仮想ピクセル数を前記アプリケーションに渡した後、前記アプリケーションからオペレーションシステムを介して前記プリンタドライバに描画出力が渡された場合に、前記仮想ピクセル数から前記用紙サイズのピクセル数に拡大する拡大工程と、
を前記情報処理装置に実行させることを特徴とするコンピュータ読み取り可能な印刷処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションから大きな用紙で大判プリンタに印刷をさせるための印刷データを生成する情報処理装置および印刷処理方法および印刷処理プログラムに関するものである。
【背景技術】
【０００２】
従来から、大判プリンタに対して、アプリケーションから大きなサイズの用紙（拡大印刷を含む）で印刷を行った場合、正常に印刷ができない現象や、アプリケーションがハングアップする現象があった。
【０００３】
例えば、マイクロソフト社から入手できるマイクロソフトウィンドウズ（登録商標）のような構造の異なったＯＳ（１６ｂｉｔで動作する部分を持つＯＳ（マイクロソフトウィンドウズ（登録商標）９５／９８など）と３２ｂｉｔのみで動作するＯＳ（マイクロソフトウィンドウズ（登録商標）ＮＴ／２０００／ＸＰなど））上で、動作するアプリケーションは、１６ｂｉｔの部分を考慮して作成されていものがある。
【０００４】
１６ｂｉｔで動作する部分を持つＯＳの場合、アプリケーションは、用紙サイズの横、縦ピクセル数をｓｈｏｒｔ（Ｃ言語のデータ型）の範囲（３２７６７ピクセル）で受け取る。
【０００５】
３２ｂｉｔのみで動作するＯＳの場合は、用紙サイズの横、縦ピクセル数をｌｏｎｇ（Ｃ言語のデータ型）の範囲（２１４７４８３６４７ピクセル）で受け取ることが可能であるが、アプリケーションは両方のＯＳで動作するようにｓｈｏｒｔを使用しているため、大きな用紙のようにｓｈｏｒｔを超えるピクセル数を受け取ると、正常な印刷ができない現象や、ハングアップする現象が生じる場合がある。
【０００６】
また、アプリケーションによっては、ｓｈｏｒｔの範囲ではなく、ｓｈｏｒｔの範囲の１／２で正常な印刷ができない場合や、ｌｏｎｇの範囲まで印刷できる場合など様々であり、また、同じアプリケーションでもバージョンの違いにより、扱えるピクセル数が違っている場合などもある。
【０００７】
このため、様々なアプリケーションで大きな用紙を印刷する場合に、本当に印刷できるかどうか不明な点が多かった。
【０００８】
この対応として、従来例では、プリンタドライバのヘルプ画面にアプリケーションごとの大きい用紙の印刷例を載せる場合や、プリンタドライバに印刷プレビューのような機能を持ち、印刷プレビューで正常かどうか確認した後に印刷することを推奨していた。また、大きい用紙で印刷する場合には、長尺専用アプリケーションを推奨する場合などもあった。
【０００９】
従来の大判印刷を実現するプリンタドライバの処理を開示した文献として、特許文献１がある。
【特許文献１】特開平１０−０５２９６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来技術においては、プリンタドライバのヘルプでアプリケーションごとの大きい用紙の印刷例をユーザーが見て、自分の印刷したい用紙にどのように印刷するかを見つけださなければならないという問題や、印刷したいアプリケーションの記述がない場合があった。
【００１１】
また、プリンタドライバに印刷プレビューのような機能を使用して、印刷プレビューを確認後、正常でない場合に、どのような設定（アプリケーション及びプリンタドライバ）で印刷すればよいかわからないという問題や、プリンタドライバの設定で印刷プレビューをＯＮしていなかったために、正常に印刷できなかったという問題もあった。
【００１２】
また、長尺専用アプリケーションを使用して、大きな用紙を印刷することは可能であるが、ユーザーにとっては、わざわざ専用アプリケーションを購入する費用や、使い慣れていない専用アプリケーションの使い方も習得する手間が必要になるという問題もあった。
【００１３】
本発明は、上記のような問題点に鑑みてなされたものであり、プリンタドライバは印刷時に、アプリケーションを判別し、ドライバ内に保存してあるアプリケーション情報データベースから扱える最大ピクセル数を取得し、その最大ピクセル数を超えないピクセル数をアプリケーションに渡す。そして、アプリケーションからＯＳを通してきた印刷出力を、プリンタドライバで拡大処理することによって、正常な印刷結果を得ることを目的とする。
【００１４】
また、アプリケーション情報（アプリケーションが印刷可能な最大ピクセル数）は、未知（及び新規）のアプリケーションに対しての情報がないため、アプリケーションが扱える最大ピクセル数の内の最小ピクセル数に設定できる項目をドライバＵＩに設けることを目的する。
【００１５】
また、未知（及び新規）のアプリケーションに対しての情報を容易にアプリケーション情報データベースに登録できることを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、プリンタドライバを備える情報処理装置であって、印刷時に印刷要求を行うアプリケーションを判別する判別手段と、各アプリケーションが扱える用紙サイズの最大ピクセル数を管理する管理手段と、プリンタドライバのユーザインタフェース画面を介して設定された用紙サイズのピクセル数が、前記判別手段で判別したアプリケーションに対応する前記管理手段により管理されている当該アプリケーションの最大ピクセル数を超える場合には、当該最大ピクセル数を超えないピクセル数に変更して変更された仮想ピクセル数を前記アプリケーションに渡す仮想ピクセル数通知手段と、前記仮想ピクセル数通知手段により変更された仮想ピクセル数を前記アプリケーションに渡した後、前記アプリケーションからオペレーションシステムを介して前記プリンタドライバに描画出力が渡された場合に、前記仮想ピクセル数から前記用紙サイズのピクセル数に拡大する拡大手段とを有することを特徴とする。
【００１７】
また、前記管理手段は、各アプリケーションのバージョン毎に、当該アプリケーションが扱える最大ピクセル数を管理していることを特徴とする。
【００１８】
また、前記プリンタドライバのユーザインタフェース画面を介して、アプリケーションごとに扱える用紙サイズの最大ピクセル数を登録する登録手段を更に有することを特徴とする。
【００１９】
また、仮想ピクセル数通知手段は、用紙からマージンを除いて複数頁を隙間なく印刷する長尺印刷時には、定型用紙の場合でも、拡大誤差を考慮した有効印字ピクセル数をプリンタ側に通知することを特徴とする。
【００２０】
また本発明は、プリンタドライバを備える情報処理装置における印刷処理方法であって、印刷時に印刷要求を行うアプリケーションを判別する判別工程と、各アプリケーションが扱える用紙サイズの最大ピクセル数を管理する管理工程と、プリンタドライバのユーザインタフェース画面を介して設定された用紙サイズのピクセル数が、前記判別工程で判別したアプリケーションに対応する前記管理工程により管理されている当該アプリケーションの最大ピクセル数を超える場合には、当該最大ピクセル数を超えないピクセル数に変更して変更された仮想ピクセル数を前記アプリケーションに渡す仮想ピクセル数通知工程と、
前記仮想ピクセル数通知工程により変更された仮想ピクセル数を前記アプリケーションに渡した後、前記アプリケーションからオペレーションシステムを介して前記プリンタドライバに描画出力が渡された場合に、前記仮想ピクセル数から前記用紙サイズのピクセル数に拡大する拡大工程とを含むことを特徴とする。
【００２１】
また本発明は、プリンタドライバを備える情報処理装置で実行される印刷処理プログラムであって、印刷時に印刷要求を行うアプリケーションを判別する判別工程と、各アプリケーションが扱える用紙サイズの最大ピクセル数を管理する管理工程と、プリンタドライバのユーザインタフェース画面を介して設定された用紙サイズのピクセル数が、前記判別工程で判別したアプリケーションに対応する前記管理工程により管理されている当該アプリケーションの最大ピクセル数を超える場合には、当該最大ピクセル数を超えないピクセル数に変更して変更された仮想ピクセル数を前記アプリケーションに渡す仮想ピクセル数通知工程と、前記仮想ピクセル数通知工程により変更された仮想ピクセル数を前記アプリケーションに渡した後、前記アプリケーションからオペレーションシステムを介して前記プリンタドライバに描画出力が渡された場合に、前記仮想ピクセル数から前記用紙サイズのピクセル数に拡大する拡大工程とを前記情報処理装置に実行させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、大きな用紙を印刷する場合に、プリンタドライバにあらかじめアプリケーションが印刷可能なピクセル数の情報を持ち、アプリケーションからの印刷出力をプリンタドライバで拡大することにより、今まで印刷できなかったアプリケーションで正常に印刷できるという効果がある。
【００２３】
また、アプリケーションの情報がない場合でも、プリンタドライバのユーザーインターフェースに、設定項目を設ける（解像度変換の設定：“する”）ことにより、アプリケーションで正常に印刷できるという効果がある。
【００２４】
また、ユーザーが、大きな用紙サイズでの印刷時、印刷プレビューを見て、問題がありそうな場合に、容易に、解像度変換への登録を行えるため、次回の印刷からは正常に印刷できるようになるという効果がある。
【発明を実施するための最良の形態】
【００２５】
（実施例１）
図１は、本発明の実施例１において、印刷システムの概略構成を示すブロック図である。
【００２６】
図１の印刷システムでは、パーソナルコンピュータ等の上位装置と大判インクジェット方式等のプリンタとによって構成される。上位装置には、アプリケーション１とＯＳ２とプリンタドライバ３のみを図示している。通常印刷の流れを以下に示す。
【００２７】
上位装置内では、アプリケーション１が、各種のドキュメントを作成する。このドキュメントをプリンタに印刷するために、ＯＳ２及びプリンタドライバ３が動作する。アプリケーション１は、印刷前処理として、指定されている用紙サイズのピクセル数を含めた用紙情報をＯＳ２の用意している関数を用いて取得する。ＯＳ２はこの関数が呼ばれると、プリンタドライバ３の用意している初期設定用の印刷関数を呼び、用紙情報を取得して、アプリケーションへ返す。
【００２８】
そして、アプリケーションは、取得した用紙情報に基づいたドキュメントに再構成し、ＯＳ２の用意している印刷用関数を用いて、印刷処理を行う。ＯＳ２は印刷用関数が呼ばれるとプリンタドライバ３の用意している印刷制御用関数（印刷開始、印刷終了など）とテキスト、グラフィック、イメージの描画関数などの印刷関数を呼ぶ。プリンタドライバ３は、これらの関数が呼ばれた後、プリンタの認識できる印刷データを作成して、プリンタに印刷データを送る。
【００２９】
本発明の主要部分は、このプリンタドライバ３に含まれる。本発明の印刷処理の概略を、図１の矢印を用いて、以下に示す。図１の点線矢印（１）において、アプリケーション１は、印刷前処理として、用紙情報等を取得するため、ＯＳ２の関数を呼ぶ。点線矢印（２）において、ＯＳ２は、プリンタドライバ３（グラフィック処理モジュール４の印刷関数（初期設定）モジュール５）を呼ぶ。印刷関数（初期化）モジュール５では、アプリ判別部６において、現在印刷しているアプリケーションの名称を取得し、ピクセル処理部７へ移行する。ピクセル処理部７において、指定された用紙サイズ（ｍｍ）（または、用紙サイズを示す用紙ＩＤ）及び印刷品質（きれい、標準、はやい）等から用紙サイズのピクセル数を算出する。アプリケーション情報ＤＢ８を参照し、前記取得したアプリケーション名称がある場合には、アプリケーション情報ＤＢ８から取得した用紙サイズの最大ピクセル数と前記算出したピクセル数を比較し、算出したピクセル数が大きい場合は、ピクセル数及びプリンタ解像度を１／２などにし、最大ピクセル数を超えない用紙情報を、ＯＳ２へ返す（点線矢印（３））。ＯＳ２は、前記用紙情報をアプリケーション１へ返す。アプリケーション１は、返された用紙情報に基づいたドキュメントに再構成する。
【００３０】
図１の実線矢印（５）において、アプリケーション１は、ＯＳ２の用意している印刷用関数を用いて、ドキュメントの印刷処理を行う。実線（６）において、ＯＳ２は、プリンタドライバ３の用意している印刷制御用関数や描画関数などの印刷関数を呼ぶ。プリンタドライバ３は、グラフィック処理モジュール４を通して、印刷関数スプールモジュール１０へ、前記印刷関数の情報を渡す。印刷関数スプールモジュール１０では、スプール処理部１１において、前記印刷関数の情報を、印刷関数スプールファイル１２に保存する。実線（７）において、印刷リプレイモジュール１３へ移行する。
【００３１】
拡大処理部１４は、印刷関数（初期化）モジュール５のピクセル処理部７の間にインターフェースを持ち（点線矢印（８））、拡大処理が必要かどうかを判断し、拡大処理が必要な場合は、拡大処理部１４にて拡大処理を行う。印刷プレビューを行う場合には、印刷プレビュー処理部１６にて、リプレイ処理部１５で印刷関数のリプレイ処理を行い、印刷プレビュー画面をディスプレイ上に表示する。
【００３２】
実際の印刷を行う場合には、リプレイ処理部１５にて、印刷関数のリプレイ処理を行い、印刷関数（描画、制御）モジュール９を呼ぶ。印刷関数（描画、制御）モジュール９では、リプレイ処理によって呼ばれた印刷制御用関数（印刷開始、印刷終了など）とテキスト、グラフィック、イメージの描画関数を、プリンタの認識できる印刷データにして、プリンタに印刷データを送る。
【００３３】
上記に説明したように、本発明は、アプリケーションに返す用紙情報（ピクセル数、プリンタ解像度等）を仮想の用紙情報（仮想ピクセル数、仮想プリンタ解像度）にして、プリンタドライバ３で拡大するため、本実施例では、以下より、この機能を解像度変換機能と呼ぶことにする。
【００３４】
ＵＩモジュール１４は、印刷方法の設定など印刷設定の画面を有し、ユーザーとのインターフェースを司るモジュールである。本発明では、このＵＩモジュール１４に、上記解像度変換の機能の設定に、“自動”と“する”を設けている。
【００３５】
図２に、ＵＩモジュール１４の解像度変換機能の設定画面を示す。“自動”の場合は、上記のようにアプリケーションを自動判別して、解像度変換を行う。
【００３６】
“する”の場合は、未知（及び新規）のアプリケーション用で、アプリケーション判別を行わずに、アプリケーション情報ＤＢの最小ピクセル数を印刷時のアプリケーションの最大ピクセル数として解像度変換を行う。
【００３７】
図３は、実施例１において、アプリケーション情報ＤＢの構成を示す。アプリケーション情報ＤＢは、アプリケーション名称に対する情報データベースである。同じアプリケーション名称でも、バージョンによって、最大用紙サイズのピクセル数が変わる場合もあるため、バージョン番号の情報を持っている。また、そのアプリケーションのバージョン番号ごとに、アプリケーションで実際に印刷可能な最大用紙サイズの幅高ピクセル数を持っている。
【００３８】
また、アプリケーション名称の最後に、アプリケーション情報ＤＢに保存されている最大用紙ピクセル数の内の最小ピクセル数を保存しておく。
【００３９】
図４は、実施例１において、アプリケーションに用紙情報を返すフローチャートを示す。アプリケーション１が、各種のドキュメントを作成する。このドキュメントをプリンタに印刷するために、ＯＳ２及びプリンタドライバ３が動作する。アプリケーション１は、印刷前処理として、指定されている用紙サイズのピクセル数を含めた用紙情報をＯＳ２の用意している関数を用いて取得する。図４では、この関数が呼ばれた後のフローチャートを示している。
【００４０】
Ｓ１において、プリンタドライバ３は、ＯＳの印刷関数の情報（用紙ＩＤあるいは、用紙サイズ（ｍｍ）と印刷品質（はやい、標準、きれいなど））を保存して、Ｓ２へ移行する。
【００４１】
Ｓ２において、保存した用紙情報から用紙サイズの縦、横ピクセル数を算出し、Ｓ３へ移行する。ここで、用紙情報は、アプリケーションが印刷データを作成する入力用紙情報のみを使用し、定型拡縮などを行うために設定される出力用紙情報を使用しないものとする。
【００４２】
Ｓ３において、ＵＩモジュール１４の解像度変換の設定が、“自動”になっているかを判別する。自動になっている場合には、Ｓ４へ移行し、自動になっていない場合は、“する”の設定として、Ｓ９へ移行する。Ｓ４において、現在印刷しているアプリケーション名称、バージョン情報を取得して、Ｓ５へ移行する。
【００４３】
Ｓ５において、アプリケーション情報ＤＢ８内を検索し、アプリケーションが存在するかどうかをチェックし、Ｓ６へ移行する。Ｓ６において、アプリケーションが存在するかどうかを判別し、アプリケーションが存在する場合は、Ｓ７へ移行し、存在しない場合は、Ｓ１０へ移行する。
【００４４】
Ｓ７において、取得したアプリケーションのバージョン情報をアプリケーション情報ＤＢ８で登録されているバージョン情報を検索し、バージョンがあれば、そのバージョン情報の最大用紙サイズの縦、横ピクセル数を取得する。バージョン情報がない場合には、そのバージョン情報のうち最小のピクセル数となる最大用紙サイズの縦、横ピクセル数を取得し、Ｓ８へ移行する。
【００４５】
Ｓ８において、Ｓ２で算出したピクセル数が、最大用紙サイズのピクセル数を超えないように、ピクセル数、プリンタ解像度（印刷品質に応じた）を整数分の１（１／Ｎ）にして、ＯＳ２の関数の戻り値に設定して終了する。
【００４６】
尚、本実施例では、整数分の１にしているが、必ずしも整数分の１する必要はなない。整数分の１にするメリットとしては、プリンタドライバ３の拡大時に誤差が少なくなる。また、整数分の１でなく、最大用紙サイズのピクセル数／ピクセル算出したピクセル数倍にしてもよい。アプリケーションによっては、イメージの解像度を取得したプリンタ解像度に下げて渡す場合もあるため、この方法のメリットとしては、アプリケーションから渡されるイメージが高解像度になる場合がある。イメージ系のアプリケーションの場合には、整数分の１にしないという実施例にすることも可能である。
【００４７】
また、バナー印刷（長尺印刷を行うために、用紙のマージンを除いて複数頁を隙間なく印刷する方法）時には、定型用紙の場合でも、拡大時の誤差を考慮して有効印字ピクセル数をプリンタ側に通知することにより、隙間なく印刷することも可能である。
【００４８】
Ｓ９において、ＵＩモジュール１４の解像度変換の設定が“する”になっている場合は、アプリケーション情報ＤＢ内の用紙最小値のピクセル数を最大用紙サイズのピクセル数に設定して、Ｓ８へ移行する。
【００４９】
Ｓ１０において、Ｓ２で算出したピクセル数がｓｈｏｒｔ（３２７６７ピクセル）を超えるかどうかを判別し、超える場合は、Ｓ１１へ移行し、超えない場合は、Ｓ１２へ移行する。Ｓ１１において、最大用紙サイズのピクセル数をｓｈｏｒｔ（３２７６７ピクセル）に設定して、Ｓ８へ移行する。
【００５０】
なお、一般的なアプリケーションは、ｓｈｏｒｔを超えると印刷できない場合が多いため、本実施例では、アプリケーション情報ＤＢ内に登録されていない場合には、Ｓｈｏｒｔで制限をかけている。アプリケーション情報ＤＢが多くの情報を持っている場合や、今後一般アプリケーションでもｓｈｏｒｔの制限が少なくなった場合には、特にｓｈｏｒｔで制限をかけないで、そのままＳ１１の処理へ移行してもよい。また、解像度変換の設定で、“しない”という設定を追加して、“しない”の場合には、解像度変換をせずに、通常印刷をおこなってもよい。
【００５１】
Ｓ１２において、Ｓ２で算出したピクセル数とプリンタ解像度（印刷品質に応じた）を、そのまま、ＯＳ２の関数の戻り値に設定して終了する。アプリケーションは、ＯＳ２の戻り値から取得した用紙情報に基づいたドキュメントに再構成し、ＯＳ２の用意している印刷用関数を用いて、印刷処理を行う。
【００５２】
図５は、実施例１において、印刷時のプリンタドライバの動作を示すフローチャートを示す。
【００５３】
アプリケーション１は、ＯＳ２の用意している印刷用関数を用いて、ドキュメントの印刷処理を行う。ＯＳ２は、プリンタドライバ３の用意している印刷制御用関数や描画関数などの印刷関数を呼ぶ。図５では、この関数が呼ばれた後のフローチャートを示している。
【００５４】
Ｓ１において、プリンタドライバ３は、グラフィック処理モジュール４を通して、印刷関数スプールモジュール１０へ、前記印刷関数の情報を渡す。Ｓ２において、印刷関数スプールモジュール１０では、スプール処理部１１において、前記印刷関数の情報を、印刷関数スプールファイル１２に保存する。
【００５５】
Ｓ３において、拡大処理部１４は、印刷関数（初期化）モジュール５のピクセル処理部７の間にインターフェースを持ち、拡大処理の情報（１／Ｎ）を取得する。
【００５６】
Ｓ４において、ＵＩモジュール１４の印刷プレビュー設定がＯＮになっているかどうかを判別し、ＯＮになっている場合には、Ｓ５へ移行する。ＯＮになっていない場合には、Ｓ７へ移行する。
【００５７】
Ｓ５において、印刷プレビュー処理部１６にて、Ｓ３で取得した拡大情報に基づき、Ｎ倍の印刷関数のリプレイ処理を行い、印刷プレビュー画面をディスプレイ上に表示して、Ｓ６へ移行する。Ｓ６において、印刷プレビュー後に印刷するかどうかを判別し、印刷する場合は、Ｓ７へ移行し、印刷しない場合は、Ｓ９へ移行する。
【００５８】
Ｓ７において、実際の印刷を行う場合に、リプレイ処理部１５にて、Ｓ３で取得した拡大情報に基づき、Ｎ倍の印刷関数のリプレイ処理を行い、印刷関数（描画、制御）モジュール９を呼び、Ｓ８へ移行する。
【００５９】
Ｓ８において、印刷関数（描画、制御）モジュール９では、リプレイ処理によって呼ばれた印刷制御用関数（印刷開始、印刷終了など）とテキスト、グラフィック、イメージの描画関数を、プリンタの認識できる印刷データにして、プリンタに印刷データを送り、終了する。Ｓ９において、印刷ジョブを削除して、終了する。
【００６０】
（実施例２）
実施例２では、実施例１のように、ユーザーが解像度変換の設定（自動、する）を不要にできるように、正常に印刷できないアプリケーションを印刷プレビュー画面で登録できるようにするものである。
【００６１】
一般に、ｓｈｏｒｔ（３２７６７ピクセル）などに制限を持つアプリケーションは、制限を超えた場合に、制限を越えた場所からイメージデータが全く描画されない現象や、線や矩形などグラフィックデータが、制限を越えた場所に描画するのではなく全く違った場所に描画されるなどの現象が発生する。この現象は、印刷プレビュー時にも確認することが可能なため、ユーザーが印刷プレビューを見て問題がある場合には、アプリケーション情報ＤＢへ、現在のアプリケーションを登録できるようにする。
【００６２】
図６は、本発明の実施例２において、印刷システムの概略構成を示すブロック図である。
【００６３】
実施例２のブロック図６は、実施例１のブロック図１とほぼ同じである。図１と図６の違いは、印刷プレビュー処理部１６において、アプリケーション名、バージョンをアプリ判別部６から取得する（点線矢印９）部分と、アプリケーション情報ＤＢに登録する（点線矢印１０）部分である。
【００６４】
実施例２では、図２のようなＵＩモジュール１４の解像度変換の設定画面はないが、図７のように、印刷プレビュー画面を実行する画面から解像度変換設定への登録画面を起動できる。図７において、大きな用紙サイズ（アプリケーション情報ＤＢ内の最小のピクセル数以上）で、ユーザーが意図したプレビュー画面が得られない場合は、登録ボタンを押して、アプリケーション情報ＤＢへ、アプリケーション情報を登録することができる。
【００６５】
また、実施例２で使用するアプリケーション情報ＤＢは、実施例１の図３と同じものを使用する。
【００６６】
図８は、実施例２において、アプリケーションに用紙情報を返すフローチャートを示す。図４とほぼ同様であるが、解像度変換の設定は“自動”固定であるため、“する”を判別する必要がない。
【００６７】
Ｓ１において、プリンタドライバ３は、ＯＳの印刷関数の情報（用紙ＩＤあるいは、用紙サイズ（ｍｍ）と印刷品質（はやい、標準、きれいなど））を保存して、Ｓ２へ移行する。Ｓ２において、保存した用紙情報から用紙サイズの縦、横ピクセル数を算出し、Ｓ３へ移行する。
【００６８】
Ｓ３において、現在印刷しているアプリケーション名称、バージョン情報を取得して、Ｓ４へ移行する。Ｓ４において、アプリケーション情報ＤＢ８内を検索し、アプリケーションが存在するかどうかをチェックし、Ｓ５へ移行する。
【００６９】
Ｓ５において、アプリケーションが存在するかどうかを判別し、アプリケーションが存在する場合は、Ｓ６へ移行し、存在しない場合は、Ｓ８へ移行する。
【００７０】
Ｓ６において、取得したアプリケーションのバージョン情報をアプリケーション情報ＤＢ８で登録されているバージョン情報を検索し、バージョンがあれば、そのバージョン情報の最大用紙サイズの縦、横ピクセル数を取得する。バージョン情報がない場合には、そのバージョン情報のうち最小のピクセル数となる最大用紙サイズの縦、横ピクセル数を取得し、Ｓ７へ移行する。
【００７１】
Ｓ７において、Ｓ２で算出したピクセル数が、最大用紙サイズのピクセル数を超えないように、ピクセル数、プリンタ解像度（印刷品質に応じた）を整数分の１（１／Ｎ）にして、ＯＳ２の関数の戻り値に設定して終了する。
【００７２】
Ｓ８において、Ｓ２で算出したピクセル数がｓｈｏｒｔ（３２７６７ピクセル）を超えるかどうかを判別し、超える場合は、Ｓ９へ移行し、超えない場合は、Ｓ１０へ移行する。
【００７３】
Ｓ９において、最大用紙サイズのピクセル数をｓｈｏｒｔ（３２７６７ピクセル）に設定して、Ｓ７へ移行する。
【００７４】
Ｓ１０において、Ｓ２で算出したピクセル数とプリンタ解像度（印刷品質に応じた）を、そのまま、ＯＳ２の関数の戻り値に設定して終了する。
【００７５】
図９は、実施例２において、印刷時のプリンタドライバの動作を示すフローチャートを示す。図５とほぼ同様であるが、印刷プレビューを行った後に、アプリケーション情報ＤＢへの登録が可能になっている。
【００７６】
Ｓ１において、プリンタドライバ３は、グラフィック処理モジュール４を通して、印刷関数スプールモジュール１０へ、前記印刷関数の情報を渡す。
【００７７】
Ｓ２において、印刷関数スプールモジュール１０では、スプール処理部１１において、前記印刷関数の情報を、印刷関数スプールファイル１２に保存する。
【００７８】
Ｓ３において、拡大処理部１４は、印刷関数（初期化）モジュール５のピクセル処理部７の間にインターフェースを持ち、拡大処理の情報（１／Ｎ）を取得する。
【００７９】
Ｓ４において、ＵＩモジュール１４の印刷プレビュー設定がＯＮになっているかどうかを判別し、ＯＮになっている場合には、Ｓ５へ移行する。ＯＮになっていない場合には、Ｓ７へ移行する。
【００８０】
Ｓ５において、印刷プレビュー処理部１６にて、Ｓ３で取得した拡大情報に基づき、Ｎ倍の印刷関数のリプレイ処理を行い、印刷プレビュー画面をディスプレイ上に表示して、Ｓ６へ移行する。
【００８１】
Ｓ６において、用紙サイズのピクセル数が大きい場合（アプリケーション情報ＤＢ内の最小のピクセル数以上）は、解像度変換への登録を可能にする。ユーザーが印刷プレビューで、問題があると判断した場合は、図７の解像度変換設定への登録画面を表示して、登録を行うかどうかをユーザーに尋ねる。登録を行う場合は、Ｓ１０へ移行し、登録しない場合は、Ｓ７へ移行する。
【００８２】
Ｓ７において、印刷プレビュー後に印刷するかどうかを判別し、印刷する場合は、Ｓ８へ移行し、印刷しない場合は、Ｓ１２へ移行する。
【００８３】
Ｓ８において、実際の印刷を行う場合に、リプレイ処理部１５にて、Ｓ３で取得した拡大情報に基づき、Ｎ倍の印刷関数のリプレイ処理を行い、印刷関数（描画、制御）モジュール９を呼び、Ｓ９へ移行する。
【００８４】
Ｓ９において、印刷関数（描画、制御）モジュール９では、リプレイ処理によって呼ばれた印刷制御用関数（印刷開始、印刷終了など）とテキスト、グラフィック、イメージの描画関数を、プリンタの認識できる印刷データにして、プリンタに印刷データを送り、終了する。
【００８５】
Ｓ１０において、印刷プレビュー処理部１６は、印刷関数（初期化）モジュール５のアプリ判別部６の間にインターフェースを持ち、アプリケーション名、バージョン番号を取得して、Ｓ１１へ移行する。
【００８６】
Ｓ１１において、アプリケーション情報ＤＢに、Ｓ１０で取得したアプリケーション名、バージョン番号、ＤＢ内の最小ピクセル数を登録し、Ｓ１２へ移行する。
【００８７】
Ｓ１２において、印刷ジョブを削除して、終了する。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施例１において、印刷システムの概略構成を示すブロック図である。
【図２】本発明の実施例１において、ＵＩモジュール１４の解像度変換機能の設定画面を示す。
【図３】本発明の実施例１において、アプリケーション情報ＤＢの構成を示す。
【図４】本発明の実施例１において、アプリケーションに用紙情報を返すフローチャートを示す。
【図５】本発明の実施例１において、印刷時のプリンタドライバ３の動作を示すフローチャートを示す。
【図６】本発明の実施例２において、印刷システムの概略構成を示すブロック図である。
【図７】本発明の実施例２において、印刷プレビュー時の解像度変換機能の登録画面を示す。
【図８】本発明の実施例２において、アプリケーションに用紙情報を返すフローチャートを示す。
【図９】本発明の実施例２において、印刷時のプリンタドライバ３の動作を示すフローチャートを示す。
【符号の説明】
【００８９】
１  アプリケーション
２  ＯＳ
３  プリンタドライバ
４  グラフィクス処理モジュール
５  印刷関数（初期化）モジュール
６  アプリ判別部
７  ピクセル処理部
８  アプリケーション情報ＤＢ
９  印刷関数（描画、制御）モジュール
１０  印刷関数スプールモジュール
１１  スプール処理部
１２  印刷関数スプールファイル
１３  印刷関数リプレイモジュール
１４  拡大処理部
１５  リプレイ処理部
１６  印刷プレビュー処理部
１７  ＵＩモジュール
【図１】
2006004248.tif 000003
【図２】
2006004248.tif 000004
【図３】
2006004248.tif 000005
【図４】
2006004248.tif 000006
【図５】
2006004248.tif 000007
【図６】
2006004248.tif 000008
【図７】
2006004248.tif 000009
【図８】
2006004248.tif 000010
【図９】
2006004248.tif 000011