(57)【要約】【課題】  プリンタドライバは印刷時に大きな用紙が指定されていると判断した場合に、あらかじめわかっているアプリケーション情報から正常に印刷できない可能性がある場合に、ユーザーに警告メッセージを表示することを目的とする。【解決手段】  印刷時に大きな用紙が設定されているかを判別する手段とドキュメント名から拡張子を取得する手段と拡張子ごとのアプリケーション情報(設定可能な最大用紙サイズ、印刷可能な有効印字領域ピクセル数)データベースを有し、前記大きな用紙が設定されていると判断した場合に前記ドキュメント名の拡張子を取得し、前記アプリケーション情報にその拡張子の情報がある場合には、現在の印刷設定で印刷可能かどうかを判断し、可能な場合はそのまま印刷を実行し、可能でない場合には、ユーザーに印刷設定の変更を促す警告メッセージを表示することである。【選択図】  図１
2008134930.tif 000002
【特許請求の範囲】
【請求項１】
印刷時に大きな用紙が設定されているかを判別する手段とドキュメント名から拡張子を取得する手段と拡張子ごとのアプリケーション情報(設定可能な最大用紙サイズ、印刷可能な有効印字領域ピクセル数)データベースを有し、前記大きな用紙が設定されていると判断した場合に前記ドキュメント名の拡張子を取得し、前記アプリケーション情報にその拡張子の情報がある場合には、現在の印刷設定で印刷可能かどうかを判断し、可能な場合はそのまま印刷を実行し、可能でない場合には、ユーザーに印刷設定の変更を促す警告メッセージを表示する印刷方式。
【請求項２】
請求項１において、印刷プレビューを行う手段を有し、大きな用紙が設定されていると判断した場合に、前記ドキュメント名の拡張子を取得し、前記アプリケーション情報にその拡張子の情報がない場合には、ユーザーに前記印刷プレビューの機能を有効することを促す警告メッセージを表示する印刷方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションから大きな用紙で大判プリンタに印刷をさせる印刷方法に関するものである。
【背景技術】
【０００２】
従来から、大判プリンタに対して、アプリケーションから大きなサイズの用紙で印刷を行った場合、正常に印刷ができない現象や、アプリケーションがハングアップする現象があった。
【０００３】
例えば、構造の異なったオペレーションシステム(16bitで動作する部分を持つOS（オペレーションシステム）と32bitのみで動作するOS（オペレーションシステム）)上で、動作するアプリケーションは、16bitの部分を考慮して作成されていものがある。
【０００４】
16bitで動作する部分を持つOＳの場合、アプリケーションは、用紙の有効印刷領域の横、縦ピクセル数をshort(C言語のデータ型)の範囲(32767ピクセル)で受け取る。32bitのみで動作するOSの場合は、用紙の有効印刷領域の横、縦ピクセル数をlong(C言語のデータ型)の範囲(2147483647ピクセル)で受け取ることが可能であるが、アプリケーションは両方のOSで動作するようにshortを使用しているため、大きな用紙のようにshortを超えるピクセル数を受け取ると、正常な印刷ができない現象や、ハングアップする現象が生じる場合がある。
【０００５】
また、アプリケーションによっては、shortの範囲ではなく、shortの範囲の1/２で正常な印刷ができない場合や、longの範囲まで印刷できる場合など様々だった。
【０００６】
このため、様々なアプリケーションで大きな用紙を印刷する場合に、本当に印刷できるかどうか不明な点が多かった。
【０００７】
この対応として、従来例では、プリンタドライバのヘルプ画面にアプリケーションごとの大きい用紙の印刷例を載せる場合や、プリンタドライバに印刷プレビューのような機能を持ち、印刷プレビューで正常かどうか確認した後に印刷することを推奨していた。
【０００８】
従来例としては、例えば特許文献１と特許文献２をあげることが出来る。
【特許文献１】特開平10-287016号公報
【特許文献２】特開2001-043049号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来技術においては、プリンタドライバのヘルプでアプリケーションごとの大きい用紙の印刷例をユーザーが見て、自分の印刷したい用紙にどのように印刷するかを見つけださなければならないという問題があった。
【００１０】
また、プリンタドライバに印刷プレビューのような機能を使用して、印刷プレビューを確認後、正常でない場合に、どのような設定(アプリケーション及びプリンタドライバ)で印刷すればよいかわからないという問題や、プリンタドライバの設定で印刷プレビューをONしていなかったために、正常に印刷できなかったという問題もあった。
【００１１】
本発明は、上記のような問題点に鑑みてなされたものであり、プリンタドライバは印刷時に大きな用紙が指定されていると判断した場合に、あらかじめわかっているアプリケーション情報から正常に印刷できない可能性がある場合に、ユーザーに警告メッセージを表示することを目的とする。
【００１２】
また、プリンタドライバは、ドキュメント名の拡張子からどのようなアプリケーションから印刷しているかを判別し、拡張子から推測できるアプリケーションごとの情報を警告メッセージに表示することを目的とする。
【００１３】
また、プリンタドライバは、あらかじめわかっているアプリケーション情報がなく、印刷プレビューがONになっていない場合、警告メッセージを表示した後に、印刷プレビューをONにできることを目的とする。
【課題を解決するための手段】
【００１４】
本発明によれば、印刷時に大きな用紙が設定されているかを判別する手段とドキュメント名から拡張子を取得する手段と拡張子ごとのアプリケーション情報(設定可能な最大用紙サイズ、印刷可能な有効印字領域ピクセル数)データベースを有し、前記大きな用紙が設定されていると判断した場合に前記ドキュメント名の拡張子を取得し、前記アプリケーション情報にその拡張子の情報がある場合には、現在の印刷設定で印刷可能かどうかを判断し、可能である場合はそのまま印刷を実行し、可能でないと判断した場合は、ユーザーに印刷設定の変更を促す警告メッセージを表示するように作用するものである。
【００１５】
また、印刷プレビューを行う手段を有し、大きな用紙が設定されていると判断した場合に、前記ドキュメント名の拡張子を取得し、前記アプリケーション情報にその拡張子の情報がない場合には、ユーザーに前記印刷プレビューの機能を有効することを促す警告メッセージを表示するように作用するものである。
【発明の効果】
【００１６】
以上説明したように、大きな用紙を印刷する場合に、プリンタドライバにあらかじめアプリケーションの情報を持つことにより、印刷が正常にできない可能性がある場合には、ユーザーにどのように印刷設定を変更すればよいかを警告メッセージで通知することで、ユーザーは通知された印刷設定により印刷できるという効果がある。
【００１７】
また、プリンタドライバにアプリケーションの情報がないアプリケーションから印刷した場合も、印刷が正常にできない可能性がある場合には、印刷プレビュー機能を有効にすることをユーザーに促す警告メッセージを表示することによって、ユーザーは印刷プレビューを確認してから印刷できるため、印刷が正常にできないケースを減らす効果がある。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の実施例１において、印刷システムの概略構成を示すブロック図である。
【００１９】
図１の印刷システムでは、パーソナルコンピュータ等の上位装置と大判インクジェット方式等のプリンタとによって構成される。上位装置には、アプリケーション１とOS2とプリンタドライバ3のみを図示している。上位装置内では、アプリケーション１が、各種のドキュメントを作成する。このドキュメントをプリンタに印刷するために、OS2及びプリンタドライバ3が動作する。アプリケーション1は、印刷時にOS2の用意している印刷用関数を用いて、印刷処理を行う。ＯＳ2は印刷用関数が呼ばれるとプリンタドライバ3の用意している印刷制御用関数(印刷開始、印刷終了など)とテキスト、グラフィック、イメージの描画関数などの印刷関数を呼ぶ。プリンタドライバ3は、これらの関数が呼ばれた後、プリンタの認識できる印刷データを作成して、プリンタに印刷データを送る。
【００２０】
本発明の主要部分は、このプリンタドライバ3含まれる。
【００２１】
プリンタドライバ3には、OS2から呼ばれる印刷関数をスプールし、印刷関数スプールファイル11を作成し、大きな用紙の場合に警告メッセージを表示する印刷関数スプールモジュール4、印刷関数スプールファイル11を読み出し、読み出した印刷関数を使用して通常の印刷処理を行わせるようにする印刷関数リプレイモジュール12、印刷関数リプレイモジュール12から呼ばれ、プリンタへ送る印刷データを作成するグラフィックス処理モジュール13、印刷方法の設定など印刷設定の画面を有し、ユーザーとのインターフェースを司るUIモジュール14が設けられている。
【００２２】
印刷関数スプールモジュール4は、OS2から呼ばれる印刷関数をスプールし、印刷関数スプールファイル11を作成したり、解析のため読み出したりするスプール処理部5と、印刷関数からドキュメント名の拡張子を取得し、アプリケーション情報DB9にその拡張子情報がある場合は、その情報から現在の設定で印刷できるかどうかを判別する判別処理部6と、判別処理部6でユーザーに対して警告メッセージを表示する必要があると判断された場合にメッセージを表示するメッセージ表示部7と、印刷プレビューを表示する印刷プレビュー処理部から構成されている。
【００２３】
図２は、実施例1において、アプリケーション情報DBの構成を示す。
【００２４】
アプリケーション情報DBは、ドキュメント名の拡張子に対する情報データベースである。ドキュメント名の拡張子だけでは、どのアプリケーションから印刷されているかわからないため、拡張子ごとに使用可能なアプリケーション名の情報を持っている。（標準化されている画像ファイル(BMPファイルやTIFFファイルなど)を編集可能なアプリケーションは数多くある。）
また、そのアプリケーションごとに、アプリケーションで設定可能な最大の用紙サイズと実際にアプリケーションで印刷可能な有効印字領域のピクセル数を持っている。
【００２５】
アプリケーションによっては、アプリケーションで設定できる用紙サイズに制限がないにもかかわらず、印刷可能な有効印字領域のピクセル数がshortの範囲(32767)を超えると正常に印刷できない場合がある。
【００２６】
図３は、実施例1において、警告メッセージ1の画面を示す。
【００２７】
印刷関数からドキュメント名の拡張子を取得し、アプリケーション情報DB9にその拡張子情報がある場合、その情報から現在の設定で印刷できないと判別処理部6が判断した時の警告メッセージである。この警告メッセージでは、ドキュメント名から想定されるアプリケーションごとに、どのような設定にユーザーが変更すれば、設定されている出力用紙サイズに印刷可能かの情報を表示する。
【００２８】
表示する情報は、アプリケーションで作成する入力用紙サイズ(入力用紙サイズを小さくすることによって、アプリケーションに渡す有効印字領域のピクセル数が少なくなる)、印刷品質(一般的に印刷品質が下がるごとに、アプリケーションに渡す有効印字領域のピクセル数が少なくなる)、拡大率(入力用紙サイズを小さくした場合、出力用紙サイズへ印刷するための拡大率)である。
【００２９】
図４は、実施例1において、警告メッセージ2の画面を示す。
【００３０】
印刷関数からドキュメント名の拡張子を取得し、アプリケーション情報DB9にその拡張子情報がない場合、ドキュメントが正常に印刷できるかどうかわからないため、ユーザーに対して、印刷プレビュー画面を確認してから実際の印刷を行うことを促す警告メッセージを表示する。
【００３１】
図５は、本発明の実施例１において、プリンタドライバの動作を示すフローチャートである。
【００３２】
S1では、印刷関数スプールモジュール4のスプール処理部5において、印刷関数スプールファイル11を作成し、印刷時に呼ばれるOSの印刷関数の情報を保存し、S2へ移行する。
【００３３】
S2では、S1で作成した印刷関数スプールファイル11を解析して、出力用紙の有効印字領域の横、縦のピクセル数を取得して、S3へ移行する。S3では、S2で取得した有効印字領域の横、縦ピクセル数が、Shortの範囲(32767)を超えていないかどうかを判別し、超えている場合はS4へ移行し、超えていない場合はS7に移行する。
【００３４】
S4では、プリンタドライバで管理している印刷キャンセルフラグを初期化するため、FALSEに設定して、S5へ移行する。
【００３５】
S5では、現在の印刷設定で、拡張子から想定したアプリケーションが印刷可能かどうかを判別し、印刷ができないと判断した場合にユーザーに警告メッセージを表示し(図６参照)、S6へ移行する。
【００３６】
S6では、印刷キャンセルフラグがFALSEかどうかを判断し、FASLEの場合は、S7へ移行し、TRUEの場合は、印刷を行わないで終了する。
【００３７】
S7では、印刷関数リプレイモジュール12により、印刷関数スプールファイル11を読み出し、読み出した印刷関数を使用して、通常の印刷処理を行わせ、印刷を終了する。
【００３８】
図６は、本発明の実施例１において、図５プリンタドライバの動作の内、アプリケーション判別処理を示すフローチャートである。
【００３９】
S1では、印刷関数スプールファイル11を解析して、ドキュメントの拡張子を取得し、S2へ移行する。
【００４０】
S2では、アプリケーション情報DBを読み込み、拡張子情報を取得し、S3へ移行する。
【００４１】
S3で、S1で取得した拡張子が、S2で取得した拡張子情報に入っているかどうかを判別し、入っていれば、S4へ移行し、入っていなければ、S9へ移行する。
【００４２】
S4では、ユーザーに対して、警告メッセージが必要かどうかを判別する。出力用紙の有効印字領域の横、縦のピクセル数とアプリケーション情報DBの印刷可能な有効印字領域 横、縦ピクセル数を比較し、アプリケーション情報DBの方が大きい場合は、警告メッセージを表示せず、終了する。アプリケーション情報DBの方が小さい場合は、S5へ移行する。
【００４３】
S5では、拡張子情報と出力用紙サイズ(出力用紙の有効印字領域の横、縦のピクセル数)から、アプリケーションごとで印刷可能な入力用紙サイズ、印刷品質と倍率を算出する。
【００４４】
最初に、印刷品質を下げた場合の出力用紙の有効印字領域  横、縦のピクセル数と、アプリケーション情報DBの印刷可能な有効印字領域  横、縦ピクセル数を比較し、アプリケーション情報DBの方が大きい場合は、警告メッセージ1の情報(入力用紙サイズ：現在の印刷設定と同じ、印刷品質：はやい、倍率：現在の印刷設定と同じ)として保存しておく。(この実施例では、印刷品質は、きれい、標準、はやいが選択でき、順に出力用紙の有効印字領域  横、縦のピクセル数が小さくなることを想定している。また、印刷時の初期設定は、標準が設定されていると想定している。)
次に入力用紙サイズの縦、横を２分の１にした場合の出力用紙の有効印字領域  横、縦のピクセル数と、アプリケーション情報DBの印刷可能な有効印字領域  横、縦ピクセル数を比較し、アプリケーション情報DBの方が大きい場合は、警告メッセージ1の情報(入力用紙サイズ：現在の印刷設定の２分の1、印刷品質：標準、倍率：現在の印刷設定の２倍)として保存しておき、S6へ移行する。
【００４５】
S6では、S5で保存していた情報をもとに、図３の警告メッセージ1を表示して、S7へ移行する。
【００４６】
S7では、S6で表示している警告メッセージ1の印刷続行が選択した場合は終了し、印刷プレビュー表示が選択された場合はS8へ移行し、キャンセルが選択された場合は、S10へ移行する。
【００４７】
S8では、印刷プレビューを表示して、終了する。
【００４８】
S9では、ドキュメントが正常に印刷できるかどうかわからないため、ユーザーに対して、印刷プレビュー画面を確認してから実際の印刷を行うことを促す警告メッセージ2を表示して、S7へ移行する。S10では、印刷キャンセルフラグをTRUEに設定して終了する。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施例１において、印刷システムの概略構成を示すブロック図である。
【図２】本発明の実施例１において、アプリケーション情報DBの構造を示す。
【図３】本発明の実施例１において、警告メッセージ1の画面を示す。
【図４】本発明の実施例１において、警告メッセージ2の画面を示す。
【図５】本発明の実施例１において、プリンタドライバの動作を示すフローチャートである。
【図６】本発明の実施例１において、図５プリンタドライバの動作の内、アプリケーション判別処理を示すフローチャートである。
【符号の説明】
【００５０】
1  アプリケーション
2  OS
3  プリンタドライバ
4  印刷関数スプールモジュール
5  スプール処理部
6  判別処理部
7  メッセージ表示部
8  印刷プレビュー処理部
9  アプリケーション情報DB
10  印刷関数スプールファイル
11  印刷関数リプレイモジュール
12  グラフィックス処理モジュール
13  UIモジュール
【図１】
2008134930.tif 000003
【図２】
2008134930.tif 000004
【図３】
2008134930.tif 000005
【図４】
2008134930.tif 000006
【図５】
2008134930.tif 000007
【図６】
2008134930.tif 000008