(57)【特許請求の範囲】
【請求項１】
表示装置を備えるコンピュータで実行されるプリンタドライバであって、
前記コンピュータは、アプリケーションプログラムを実行することによって機能するアプリケーション手段であって、当該プリンタドライバに印刷解像度を問い合わせ、問い合わせた印刷解像度に応じて印刷対象ページから印刷命令を生成するアプリケーション手段と、当該プリンタドライバに印刷解像度を問い合わせ、問い合わせた印刷解像度に応じて前記印刷命令から印刷データを生成するオペレーティング手段とを備えており、
当該プリンタドライバは、
前記アプリケーション手段に、予め設定されている印刷解像度より低い解像度及び当該印刷解像度より高い解像度のいずれか一方を返信するか、又は、当該印刷解像度を返信するかを前記アプリケーションプログラムに応じて判断する判断手段と、
前記アプリケーション手段から印刷解像度を問い合わせられた場合に、前記判断手段によって前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方を返信すると判断された場合は、予め設定されている前記印刷解像度ではなく、前記表示装置の表示解像度が前記印刷解像度より低い場合には前記印刷解像度より低い解像度を、また、前記表示解像度が前記印刷解像度より高い場合には前記印刷解像度より高い解像度を返信し、前記判断手段によって前記印刷解像度を返信すると判断された場合は前記印刷解像度を返信する第１の返信手段と、
前記オペレーティング手段から印刷解像度を問い合わせられた場合に、予め設定されている前記印刷解像度を返信する第２の返信手段と、
前記オペレーティング手段によって生成された前記印刷データを所定の印刷装置で解釈可能な印刷コマンドに変換する変換手段として前記コンピュータを機能させる、プリンタドライバ。
【請求項２】
請求項１に記載のプリンタドライバであって、
前記第１の返信手段は、前記表示装置の表示解像度を返信する、プリンタドライバ。
【請求項３】
請求項１又は請求項２に記載のプリンタドライバであって、
変倍処理を伴う印刷条件を設定するための印刷条件設定手段として前記コンピュータを機能させ、
前記第２の返信手段は、前記印刷条件設定手段によって設定された前記変倍処理を伴う印刷条件に応じて前記印刷解像度を補正し、前記オペレーティング手段に補正後の前記印刷解像度を返信する、プリンタドライバ。
【請求項４】
請求項１乃至請求項３のいずれか一項に記載のプリンタドライバであって、
前記第１の返信手段から前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方が返信されるアプリケーションプログラムをユーザに指定させるアプリケーション指定手段として前記コンピュータを機能させ、
前記判断手段は、前記アプリケーションプログラムが前記アプリケーション指定手段によって指定されたアプリケーションである場合に、前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方を返信すると判断する、プリンタドライバ。
【請求項５】
表示装置と、
アプリケーションプログラムを実行することによって機能するアプリケーション手段であって、印刷解像度を問い合わせ、問い合わせた印刷解像度に基づいて印刷対象ページから印刷命令を生成するアプリケーション手段と、
前記アプリケーション手段に、予め設定されている印刷解像度より低い解像度及び当該印刷解像度より高い解像度のいずれか一方を返信するか、又は、当該印刷解像度を返信するかを前記アプリケーションプログラムに応じて判断する判断手段と、
前記アプリケーション手段から印刷解像度を問い合わせられた場合に、前記判断手段によって前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方を返信すると判断された場合は、予め設定されている前記印刷解像度ではなく、前記表示装置の表示解像度が前記印刷解像度より低い場合には前記印刷解像度より低い解像度を、また、前記表示解像度が前記印刷解像度より高い場合には前記印刷解像度より高い解像度を返信し、前記判断手段によって前記印刷解像度を返信すると判断された場合は前記印刷解像度を返信する第１の返信手段と、
印刷解像度を問い合わせられた場合に、予め設定されている前記印刷解像度を返信する第２の返信手段と、
前記第２の返信手段に印刷解像度を問い合わせ、問い合わせた印刷解像度に基づいて前記印刷命令から印刷データを生成するオペレーティング手段と、
前記オペレーティング手段によって生成された前記印刷データを所定の印刷装置で解釈可能な印刷コマンドに変換する変換手段と、
を備える印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバ、及び印刷制御装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータからプリンタに印刷を行わせる処理の流れは一般に次のようなものである。先ず、アプリケーションプログラムがオペレーティングシステムを介してプリンタドライバに印刷解像度を問い合わせ（例えば、特許文献１参照）、問い合わせた印刷解像度に応じて印刷命令を生成する。次に、オペレーティングシステムがプリンタドライバに印刷解像度を問い合わせ、印刷解像度に応じて印刷命令から印刷データを生成する。次に、プリンタドライバが印刷データをプリンタで解釈可能な印刷コマンドに変換してプリンタに送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１６７７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、アプリケーションプログラムの中には、表示装置にページを表示するとき（印刷プレビュ表示ではなく通常の編集画面上での表示）とそのページをプリンタで印刷するときとでレイアウトが異なるものがある。例えば、Microsoft社のExcel（登録商標）という製品名の表計算ソフトでは、図７に示すように、表示装置１０１上では文字列がセル内に収まっていても、プリンタ１０２によって印刷された紙などの被記録媒体１０３上では文字列がセル内に収まらずに切れてしまうという現象が起きる場合がある、言い換えると、表示装置１０１に表示されたページのレイアウトとプリンタ１０３で印刷されたページのレイアウトとのずれが生じる場合がある。
【０００５】
表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとがずれてしまうと、表示装置に表示されたレイアウトでページが印刷されることを期待するユーザにとって不便である。
本発明は上記のような事情に基づいて完成されたものであって、表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとのずれを低減するプリンタドライバ、及び印刷制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、表示装置を備えるコンピュータで実行されるプリンタドライバであって、前記コンピュータは、当該プリンタドライバに印刷解像度を問い合わせ、問い合わせた印刷解像度に応じて印刷対象ページから印刷命令を生成するアプリケーション手段と、当該プリンタドライバに印刷解像度を問い合わせ、問い合わせた印刷解像度に応じて前記印刷命令から印刷データを生成するオペレーティング手段とを備えており、当該プリンタドライバは、前記アプリケーション手段から印刷解像度を問い合わせられた場合に、予め設定されている印刷解像度ではなく、前記表示装置の表示解像度が前記印刷解像度より低い場合には前記印刷解像度より低い解像度を、また、前記表示解像度が前記印刷解像度より高い場合には前記印刷解像度より高い解像度を返信する第１の返信手段と、前記オペレーティング手段から印刷解像度を問い合わせられた場合に、予め設定されている前記印刷解像度を返信する第２の返信手段と、前記オペレーティング手段によって生成された前記印刷データを所定の印刷装置で解釈可能な印刷コマンドに変換する変換手段として前記コンピュータを機能させる。
【０００７】
アプリケーション手段の中には表示装置の表示解像度に合わせて画面を表示し、印刷装置の印刷解像度に合わせて印刷命令を生成するものがあると考えられる。しかしながら、一般に表示解像度と印刷解像度とは異なる場合が多いので、表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとがずれてしまう。このようなアプリケーション手段の場合には、アプリケーション手段が印刷命令を生成するときに用いる解像度を、表示装置の表示解像度が印刷解像度より低い場合には印刷解像度より低い解像度に、また、表示解像度が印刷解像度より高い場合には印刷解像度より高い解像度にしてやり、オペレーション手段が印刷データを生成するときに用いる解像度については従来通り印刷解像度にしてやると、ずれが小さくなることが期待できる。また、そのことは本願発明者らによって実験で確認されている。
【０００８】
この発明によると、アプリケーション手段から印刷解像度を問い合わせられた場合には、予め設定されている印刷解像度ではなく、表示装置の表示解像度が印刷解像度より低い場合には印刷解像度より低い解像度を、また、表示解像度が印刷解像度より高い場合には印刷解像度より高い解像度を返信し、オペレーティング手段から印刷解像度を問い合わせられた場合には予め設定されている印刷解像度を返信するので、表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとのずれを低減できる。
【０００９】
第２の発明は、第１の発明のプリンタドライバであって、前記第１の返信手段は、前記表示装置の表示解像度を返信する。
上述のアプリケーション手段に対しては、表示装置の表示解像度を返信すると、表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとのずれをほぼ解消できることが期待できる。また、そのことは発明者らによって実験で確認されている。
【００１０】
第３の発明は、第１又は第２の発明のプリンタドライバであって、変倍処理を伴う印刷条件を設定するための印刷条件設定手段として前記コンピュータを機能させ、前記第２の返信手段は、前記印刷条件設定手段によって設定された前記変倍処理を伴う印刷条件に応じて前記印刷解像度を補正し、前記オペレーティング手段に補正後の前記印刷解像度を返信する。
この発明によると、表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとのずれを低減しつつ、目的の変倍処理を行うことができる。
【００１１】
第４の発明は、第１〜第３のいずれかの発明のプリンタドライバであって、前記コンピュータはアプリケーションプログラムを実行することによって前記アプリケーション手段として機能し、当該プリンタドライバは、前記アプリケーション手段に前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方を返信するか、又は前記印刷解像度を返信するかを前記アプリケーションプログラムに応じて判断する判断手段として前記コンピュータを機能させ、前記第１の返信手段は、前記判断手段によって前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方を返信すると判断された場合に、前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方を前記アプリケーション手段に返信する。
【００１２】
一般にアプリケーション手段の仕様は公開されていないので一概にはいえないが、印刷解像度より低い解像度及び印刷解像度より高い解像度のいずれか一方に応じて生成された印刷命令から印刷解像度に応じた印刷データを生成することに起因して印刷結果に何らかの予期しない影響が生じる虞もある。この発明によると、表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとがずれないアプリケーションプログラムの場合には印刷解像度を返信することにより、印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方に応じて生成された印刷命令から印刷解像度に応じた印刷データを生成することに起因する予期しない影響を確実に低減できる。
【００１３】
第５の発明は、第４の発明のプリンタドライバであって、前記第１の返信手段から前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方が返信されるアプリケーションプログラムをユーザに指定させるアプリケーション指定手段として前記コンピュータを機能させ、前記判断手段は、前記アプリケーションプログラムが前記アプリケーション指定手段によって指定されたアプリケーションである場合に、前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方を返信すると判断する。
この発明によると、プリンタドライバに印刷解像度を問い合わせたときに第１の返信手段から印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方が返信されるアプリケーションプログラムをユーザが指定できる。
【００１４】
第６の発明は、第１〜第３のいずれかの発明のプリンタドライバであって、当該プリンタドライバは、前記第１の返信手段によって前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方を返信するモード、又は前記印刷解像度を返信するモードをユーザの操作に応じて設定するモード設定手段として前記コンピュータを機能させ、前記第１の返信手段は、前記モード設定手段によって設定されたモードに応じて、前記印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方、又は前記印刷解像度を前記アプリケーション手段に返信する。
この発明によると、ユーザの操作に応じて設定されたモードに応じて印刷解像度より低い解像度及び前記印刷解像度より高い解像度のいずれか一方、又は印刷解像度をアプリケーション手段に返信することができる。
【００１５】
第７の発明は、印刷制御装置であって、表示装置と、印刷解像度を問い合わせられた場合に、予め設定されている印刷解像度ではなく、前記表示装置の表示解像度が前記印刷解像度より低い場合には前記印刷解像度より低い解像度を、また、前記表示解像度が前記印刷解像度より高い場合には前記印刷解像度より高い解像度を返信する第１の返信手段と、前記第１の返信手段に印刷解像度を問い合わせ、問い合わせた印刷解像度に基づいて印刷対象ページから印刷命令を生成するアプリケーション手段と、印刷解像度を問い合わせられた場合に、予め設定されている前記印刷解像度を返信する第２の返信手段と、前記第２の返信手段に印刷解像度を問い合わせ、問い合わせた印刷解像度に基づいて前記印刷命令から印刷データを生成するオペレーティング手段と、前記オペレーティング手段によって生成された前記印刷データを所定の印刷装置で解釈可能な印刷コマンドに変換する変換手段と、を備える。
この発明によると、表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとのずれを低減できる。
【発明の効果】
【００１６】
本発明によれば、表示装置に表示されたページのレイアウトと印刷装置で印刷されたページのレイアウトとのずれを低減できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態１に係る印刷制御装置の電気的構成を示すブロック図。
【図２】印刷制御装置のプログラム構成を示すブロック図。
【図３】印刷処理の流れを示すシーケンスチャート。
【図４】印刷処理の流れを示すシーケンスチャート。
【図５】解像度決定処理の流れを示すフローチャート。
【図６】実施形態１に係るプリンタドライバを用いた場合の印刷結果を示す模式図。
【図７】従来のプリンタドライバを用いた場合の印刷結果を示す模式図。
【発明を実施するための形態】
【００１８】
＜実施形態１＞
本発明の実施形態１を図１ないし図７によって説明する。
（１）印刷制御装置の構成
図１は、本発明の実施形態１に係るパーソナルコンピュータ１（コンピュータ、及び印刷制御装置の一例、以下「ＰＣ」という）の電気的構成を示すブロック図である。ＰＣ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、記憶部１４、ディスプレイ駆動回路１５、通信インタフェース（通信Ｉ／Ｆ）１６などを備えて構成されている。
【００１９】
ＣＰＵ１１（第１の返信手段、第２の返信手段、変換手段、印刷条件設定手段、判断手段、アプリケーション指定手段の一例）は、ＲＯＭ１２や記憶部１４に記憶されている各種のプログラムを実行することによりＰＣ１の各部を制御する。ＲＯＭ１２にはＣＰＵ１１が実行するための各種のプログラムやデータなどが記憶されている。ＲＡＭ１３はＣＰＵ１１が各種の処理を実行するための主記憶装置として用いられる。
【００２０】
記憶部１４は、ハードディスクやフラッシュメモリなどの不揮発性の記憶媒体を用いて各種のプログラムやデータを記憶する外部記憶装置である。記憶部１４には、ＣＰＵ１１をアプリケーション手段として機能させる各種のアプリケーションプログラム、ＣＰＵ１１をオペレーティング手段として機能させるオペレーティングシステム（ＯＳ）、プリンタ２用のプリンタドライバなどが記憶されている。実施形態１ではＯＳとしてMicrosoft社のWindows（登録商標）を例に説明する。
【００２１】
ディスプレイ駆動回路１５は、表示装置１７（ＣＲＴ、液晶ディスプレイなど）を駆動する回路であり、ケーブルを介して表示装置１７と接続されている。
通信インタフェース１６は、例えばＵＳＢ（Universal Serial Bus）ホストインタフェースとして構成されており、ＵＳＢケーブルを介して入力装置１８（マウス、キーボードなど）やプリンタ２と接続されている。
【００２２】
プリンタ２（印刷装置の一例）は、紙などの被記録媒体に電子写真方式、インクジェット方式などで画像を形成する装置である。なお、プリンタ２はＬＡＮ（Local Area Network）などの通信ネットワークを介してＰＣ１と接続される構成であってもよい。
【００２３】
（２）ＰＣのプログラム構成
図２は、ＰＣ１のプログラム構成を示すブロック図である。
アプリケーションプログラム２１（以下「アプリケーション」という）は、具体的には表計算ソフト、ワードプロセッサ、画像編集ソフトなどであり、図示しないディスプレイドライバを介して表示装置１７にページを表示させる処理、ユーザによってページの印刷が指示されると、グラフィックデバイスインタフェース２２（ＧＤＩ）に印刷解像度を問い合わせ、問い合わせた印刷解像度に応じてページ（印刷対象ページ）から印刷命令を生成する処理などを実行するためのプログラムである。印刷命令とは、印刷対象ページを構成している文字列、画像、図形などのオブジェクト毎に生成される命令であり、オブジェクトの内容やそのオブジェクトが描画されるべき座標などを示す情報である。
【００２４】
また、アプリケーションの中には、表示装置１７の表示解像度に合わせて画面を表示し、プリンタ２の印刷解像度に合わせて印刷命令を作成するものがある。一般に、Windows（登録商標）上で動作するアプリケーションの画面の表示に使われる解像度としては９６ｄｐｉという値が用いられており、プリンタ２の印刷に用いられる解像度としては３００ｄｐｉ以上という値が用いられている。表示装置１７で表示されるページのレイアウトとプリンタ２で印刷されるページのレイアウトがずれるのは、この解像度の違いによるものということが発明者によって見出された。従って、印刷解像度を表示解像度に近づけて、アプリケーションに印刷命令を作成させれば、このような問題を解決することができると考えられる。
【００２５】
ＧＤＩ２２は、ＯＳの一部として提供されるプログラムであり、アプリケーション２１から印刷解像度を問い合わせられると、プリンタドライバ２４に印刷解像度を問い合わせ、問い合わせた印刷解像度をアプリケーション２１に返信する処理、アプリケーション２１によって印刷命令が生成されると、プリンタドライバ２４に印刷解像度を問い合わせ、問い合わせた印刷解像度に応じて印刷命令から描画命令（印刷データ）を生成する処理などを実行するためのプログラムである。
【００２６】
ここで、ＧＤＩ２２による描画命令の生成には、プリントスプーラ（図示せず）を介して生成する方法と、プリントスプーラを介さずに生成する方法とがある。
プリントスプーラを介する方法では、ＧＤＩ２２はアプリケーション２１によって生成された印刷命令に基づいてプリンタ２の機種に依存しない形式（ｅｍｆ形式、ＰｏｓｔＳｃｒｉｐｔ形式など）の印刷ジョブ（以下「中間データ」という）を生成し、生成した中間データをプリントスプーラに出力する。プリントスプーラとは、中間データを一時的に保存することにより、アプリケーション２１を早期に印刷処理から解放するための仕組みである。プリントスプーラからはプリントプロセッサ２３が呼び出され、呼び出されたプリントプロセッサ２３は、中間データをＧＤＩ２２に出力する。なお、このときプリントプロセッサ２３は中間データをＲＡＷデータ（プリンタ用の生データ）に変換してもよい。ＧＤＩ２２は図示しないＧＤＩレンダリングエンジンを呼び出して中間データから描画命令（印刷データの一例）を生成する。
【００２７】
一方、プリントスプーラを介さない方法では、ＧＤＩ２２は中間データを生成せずに直接描画命令を生成する。
本実施形態では中間データを生成する場合を例に説明する。
【００２８】
プリンタドライバ２４は、プリンタ２の機種毎に作成されるプログラムであり、主としてプリンタ２の開発元から提供される。プリンタドライバ２４は、印刷設定ウィンドウを表示してユーザに印刷条件を設定させる処理、アプリケーション２１からＧＤＩ２２を介して印刷解像度を問い合わせられると、予め設定されている印刷解像度ではなく、表示装置１７の表示解像度を返信する処理、ＧＤＩ２２から印刷解像度を問い合わせられると、予め設定されている印刷解像度を返信する処理、ＧＤＩ２２によって生成された描画命令にディザ法や誤差拡散法などによるハーフトーン処理を施してドットパターンを表す二値データ（所謂ハーフトーンデータ）をトナーやインクの色毎に生成し、生成した二値データをプリンタ２が解釈可能な形式の印刷コマンド（ＰＤＬ）に変換する処理、変換した印刷コマンドをプリントスプーラに出力する処理などを実行するためのプログラムである。
【００２９】
プリントプロセッサ２３（プリンタドライバ２４の一部）は、前述したように中間データをＧＤＩ２２に出力する処理を実行するためのプログラムである。プリントプロセッサはＯＳの一部として提供される他、プリンタドライバ２４の開発元がプリンタドライバ２４の一部として提供することもできる。プリンタドライバ２４の開発元は独自のプリントプロセッサを提供することにより、印刷条件に応じて中間データの内容を書き換えることができる。
【００３０】
（３）印刷処理
図３及び図４は、ＰＣ１による印刷処理の流れを示すシーケンスチャートである。本処理はユーザがアプリケーション２１で印刷を指示すると開始される。
【００３１】
ここで、ユーザはアプリケーション２１によって印刷を指示する前に、プリンタドライバ２４を呼び出して印刷条件の設定を行っておくものとする。プリンタドライバ２４はユーザから呼び出されると印刷設定ウィンドウ（図示せず）を表示し、ユーザはその印刷設定ウィンドウで印刷条件の設定を行うことができる。
印刷条件とは、被記録媒体のサイズ、片面／両面印刷、カラー／モノクロ、片面複数ページ印刷（片面２ページ印刷など）、被記録媒体の縦／横、印刷部数、高解像度／低解像度（予め設定されている印刷解像度の一例）、画質、拡大／縮小率などといった各種の印刷設定項目の設定値のことをいう。
上述した印刷条件のうち、片面複数ページ印刷、及び、拡大／縮小率は、ページのサイズを変倍（拡大あるいは縮小）する処理（変倍処理）を伴う印刷条件である。
【００３２】
また、印刷設定ウィンドウでは、解像度変更対象のアプリケーションとするアプリケーション２１を指定しておくことができる。アプリケーション２１を解像度変更対象のアプリケーションとして指定すると、当該アプリケーション２１がプリンタドライバ２４に印刷解像度を問い合わせたときに、プリンタドライバ２４は「予め設定されている印刷解像度」ではなく表示装置１７の表示解像度を返信する。
【００３３】
印刷設定ウィンドウで印刷条件の設定を行った後、ユーザがアプリケーション２１で印刷を指示すると、以下に説明する印刷処理が開始される。ここでは解像度変更対象のアプリケーションとして指定されたアプリケーション２１でユーザが印刷を指示した場合を例に説明する。以降の説明において単にアプリケーション２１というときは、アプリケーション２１を実行するＣＰＵ１１のことをいうものとする。他のプログラムについても同様である。
【００３４】
Ｓ１０１では、アプリケーション２１はＧＤＩ２２に印刷解像度を問い合わせる。
Ｓ１０２では、アプリケーション２１から印刷解像度を問い合わせられたＧＤＩ２２は、プリンタドライバ２４に印刷解像度を問い合わせる。
Ｓ１０３では、プリンタドライバ２４は中間データを作成済みであるか否かを示す変数である中間データ作成済みフラグに、中間データが未だ作成されていないことを示す値である「偽」をセットする。
【００３５】
Ｓ１０４では、プリンタドライバ２４は、ＧＤＩ２２に返信する解像度を決定する処理である「解像度決定処理」を実行する。「解像度決定処理」の詳細については後述するが、解像度変更対象のアプリケーションとして指定されたアプリケーション２１でユーザが印刷を指示した場合には、返信する解像度として表示装置１７の表示解像度が決定される。
Ｓ１０５では、プリンタドライバ２４はＳ１０４で決定した解像度（ここでは表示解像度）をＧＤＩ２２に返信する。
【００３６】
Ｓ１０６では、ＧＤＩ２２はプリンタドライバ２４から返信された解像度（表示解像度）をアプリケーション２１に返信する。
Ｓ１０７では、アプリケーション２１は、問い合わせた解像度（表示解像度）に応じて印刷対象ページから印刷命令を生成する。
Ｓ１０８では、アプリケーション２１は生成した印刷命令をＧＤＩ２２に出力する。
【００３７】
Ｓ１０９では、ＧＤＩ２２はアプリケーション２１によって生成された印刷命令から中間データを生成する。
Ｓ１１０では、ＧＤＩ２２は生成した中間データを、図示しないプリントスプーラを介してプリントプロセッサ２３に出力する。
Ｓ１１１では、プリントプロセッサ２３は中間データ作成済みフラグに中間データが作成済みであることを示す値である「真」をセットする。
【００３８】
Ｓ１１２では、プリントプロセッサ２３はプリントスプーラを介してＧＤＩ２２から中間データを受け取る。そして、プリントプロセッサ２３は変倍処理を伴う印刷条件が設定されているか否かを判断し、設定されている場合は中間データに定義されているオブジェクトの座標を変倍後の座標に変換する。
【００３９】
Ｓ１１３では、プリントプロセッサ２３は図示しないプリントスプーラを介してＧＤＩ２２に中間データを出力する。
Ｓ１１４では、ＧＤＩ２２はプリンタドライバ２４に印刷解像度を問い合わせる。
Ｓ１１５では、プリンタドライバ２４は、ＧＤＩ２２に返信する印刷解像度を決定する処理である「解像度決定処理」を実行する。「解像度決定処理」の詳細については後述するが、Ｓ１１５で「解像度決定処理」を実行した場合には、解像度変更対象のアプリケーションとして指定されたアプリケーション２１で印刷が指示されたか否かによらず、返信する解像度として「予め設定されている印刷解像度」が決定される。
【００４０】
Ｓ１１６では、プリンタドライバ２４はＳ１１５で決定した印刷解像度をＧＤＩ２２に返信する。
Ｓ１１７では、ＧＤＩ２２は、問い合わせた印刷解像度に応じて中間データから描画命令を生成する。
Ｓ１１８では、ＧＤＩ２２は生成した描画命令をプリンタドライバ２４に出力する。
【００４１】
Ｓ１１９では、プリンタドライバ２４は描画命令に基づいて印刷コマンドを生成する。
Ｓ１２０では、プリンタドライバ２４は図示しないプリントスプーラを介してプリンタ２に印刷コマンドを送信する。
【００４２】
（４）解像度決定処理
図５は、上述した解像度決定処理の流れを示すフローチャートである。
Ｓ２０１では、プリンタドライバ２４は、中間データ生成済みフラグが「真」であるか否かを判断し、「真」ではない場合（「偽」である場合）はＳ２０２に進み、「真」である場合はＳ２０４に進む。
【００４３】
Ｓ２０２では、プリンタドライバ２４はユーザが印刷を指示したアプリケーション２１が解像度変更対象のアプリケーションであるか否かを判断し、解像度変更対象のアプリケーションである場合はＳ２０３に進み、解像度変更対象のアプリケーションではない場合はＳ２０４に進む。
Ｓ２０３では、プリンタドライバ２４はＯＳから表示装置１７の表示解像度（例えば９６ｄｐｉ）を取得し、取得した表示解像度を、返信する解像度として決定する。
【００４４】
Ｓ２０４では、プリンタドライバ２４はユーザによって設定された印刷解像度が高解像度であるか否かを判断し、高解像度である場合はＳ２０５に進み、低解像度である場合はＳ２０６に進む。
Ｓ２０５では、プリンタドライバ２４は、返信する解像度を６００ｄｐｉに決定する。
Ｓ２０６では、プリンタドライバ２４は、返信する解像度を３００ｄｐｉに決定する。
【００４５】
Ｓ２０７では、プリンタドライバ２４は変倍処理を伴う印刷条件に基づいて印刷解像度を補正する。例えば、片面２ページ印刷が設定されている場合には、プリンタドライバ２４は印刷解像度を１／２に補正し、また、例えば拡大／縮小率が７５％に設定されている場合には、印刷解像度を７５％に補正する。Ｓ２０７の処理は、変倍処理を伴う印刷条件が設定されていない場合には実行されない。
【００４６】
（５）実施形態の効果
以上説明した本発明の実施形態１に係るプリンタドライバ２４の効果を、Microsoft社のExcel（登録商標）を例に説明する。
図６は、実施形態１に係るプリンタドライバ２４を用いた場合の印刷結果を示す模式図である。実施形態１に係るプリンタドライバ２４を用いると、従来のプリンタドライバを用いた場合と同じ条件で印刷を行っても、図示するように文字列がセル内に収まることが本願発明者らによって実験で確認されている。これは、プリンタドライバ２４がアプリケーション２１からの問い合わせに対して表示装置１７の表示解像度を返信することにより、アプリケーション２１は表示解像度に基づいた印刷命令を作成することができるためであると考えられる。なお、本発明は、同様の現象が生じるExcel以外のアプリケーションにも適用可能である。
【００４７】
このように、実施形態１に係るプリンタドライバ２４によると、アプリケーション２１から印刷解像度を問い合わせられた場合に、予め設定されている印刷解像度ではなく、表示装置１７の表示解像度を返信することにより、表示装置１７に表示されたページのレイアウトとプリンタ２で印刷されたページのレイアウトとのずれをほぼ解消できる。これにより、表示装置１７に表示されたページのレイアウトとプリンタ２で印刷されたページのレイアウトとがずれてしまうことによるユーザの不便を低減できる。
【００４８】
更に、このプリンタドライバ２４によると、変倍処理を伴う印刷条件に応じて印刷解像度を補正し、補正後の印刷解像度をＧＤＩ２２に返信するので、表示装置１７に表示されたページのレイアウトとプリンタ２で印刷されたページのレイアウトとのずれを低減しつつ、目的の変倍処理を行うことができる。
【００４９】
更に、このプリンタドライバ２４によると、表示解像度を返信するか、又は印刷解像度を返信するかをアプリケーション２１に応じて判断するので、表示装置１７に表示されたページのレイアウトとプリンタ２で印刷されたページのレイアウトとがずれないアプリケーション２１の場合には印刷解像度を返信することにより、表示解像度に応じて生成された印刷命令から印刷解像度に応じた印刷データを生成することに起因する予期しない影響を確実に低減できる。
【００５０】
更に、このプリンタドライバ２４によると、プリンタドライバ２４に印刷解像度を問い合わせたときにプリンタドライバ２４から表示解像度が返信されるアプリケーション２１をユーザが指定できる。
【００５１】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００５２】
（１）上記実施形態では解像度変更対象のアプリケーションとして指定されたアプリケーション２１から印刷解像度を問い合わせられると表示装置１７の表示解像度を返信する場合を例に説明したが、アプリケーション２１に返信する解像度は表示解像度に限られるものではない。例えば、表示装置１７の表示解像度が印刷解像度より低い場合には、返信する解像度は印刷解像度より低い解像度であればよい。また、表示解像度が印刷解像度より高い場合には、返信する解像度は印刷解像度より高い解像度であればよい。これにより、少なくとも予め設定されている印刷解像度を返信した場合に比べてレイアウトのずれが小さくすることを期待できる。また、そのことは本願発明者らによって実験で確認されている。なお、返信する解像度は、表示装置１７の表示解像度に近い解像度であることが望ましい。
【００５３】
（２）上記実施形態では印刷設定ウィンドウでユーザが解像度変更対象のアプリケーションを指定しておく場合を例に説明したが、表示解像度を返信するモード、又は印刷解像度を返信するモードのいずれか一方を設定するようにしてもよい。例えば、印刷設定ウィンドウに「表示解像度にあわせてレイアウトをする」といった設定項目を設け、ユーザがその項目をＯＮにした場合はアプリケーション２１によらず表示解像度を返信するようにしてもよい（モード設定手段の一例）。
【００５４】
その場合には、前述したＳ２０２で「表示解像度にあわせてレイアウトをする」がＯＮに設定されているか否かを判断し、ＯＮに設定されている場合はＳ２０３に進み、ＯＮに設定されていない場合はＳ２０４に進むようにすればよい。これにより、ユーザの操作に応じて設定されたモードに応じて表示解像度、又は印刷解像度のいずれか一方をアプリケーション２１に返信することができる。
【００５５】
（３）上記実施形態ではユーザが解像度変更対象のアプリケーションを指定しておく場合を例に説明したが、プリンタドライバ２４の開発元が解像度変更対象のアプリケーションを予めプリンタドライバ２４に固定で設定しておいてもよいし、全てのアプリケーション２１について表示解像度を返信するようにしてもよい。
【００５６】
（４）上記実施形態では中間データを生成する場合を例に説明したが、中間データを生成しない場合に本発明を適用してもよい。
【符号の説明】
【００５７】
１・・・パーソナルコンピュータ
２・・・プリンタ
１１・・・ＣＰＵ
１２・・・ＲＯＭ
１３・・・ＲＡＭ
１４・・・記憶部
１５・・・ディスプレイ駆動回路
１６・・・通信インタフェース
１７・・・表示装置
１８・・・入力装置
２１・・・アプリケーションプログラム
２２・・・グラフィックデバイスインタフェース
２３・・・プリントプロセッサ
２４・・・プリンタドライバ
【図１】
0005526863.tif 000002
【図２】
0005526863.tif 000003
【図３】
0005526863.tif 000004
【図４】
0005526863.tif 000005
【図５】
0005526863.tif 000006
【図６】
0005526863.tif 000007
【図７】
0005526863.tif 000008