(57)【特許請求の範囲】
【請求項１】
下記（１）及び（２）のフィールドを含んで構成されるデータブロックである構造体、
（１）オペレーティングシステム（ＯＳ）用のフィールドであり、書かれたデータをアプリケーションプログラム及びプリンタドライバが理解する事ができ、且つ、書かれたデータをプリンタドライバが変更することのできないＯＳ用フィールド、
（２）ＯＳ上で動作するコンピュータプログラム用に用意されたベンダ用フィールドの一つであり、書かれたデータをプリンタドライバは理解できるがアプリケーションプログラムは理解する事ができないドライバ用フィールド、
における前記ＯＳ用フィールドに、ＯＳが提供するユーザインタフェースを介してユーザから入力され前記ＯＳにより書き込まれた、カスタム用紙サイズとカスタム用紙のマージンサイズである第一マージンサイズとを、前記ＯＳ用フィールドから取得するステップと、
前記ＯＳ用フィールドに前記カスタム用紙サイズ及び前記第一マージンサイズが書き込まれている構造体を受けたアプリケーションプログラムから、前記アプリケーションプログラムによって前記構造体の前記ＯＳ用フィールドに書き込まれている前記第一マージンサイズを用いて作成されたイメージデータを受信するステップと、
カスタム用紙サイズと第一マージンサイズに関する条件であるカスタム条件を複数個と各カスタム条件に対応した複数のペーパソースとを記録した、予め保持されている表示制御情報から、前記取得したカスタム用紙サイズ及び第一マージンサイズに適合するカスタム条件を特定し、見つかったカスタム条件に対応する複数のペーパソースを前記表示制御情報から特定するステップと、
前記特定した複数のペーパソースを一覧表示した画面である選択画面を表示するステップと、
前記選択画面を介して前記ユーザからペーパソースの指定を受けるステップと、
複数のペーパソースにそれぞれ予め対応付けられた第二マージンサイズを表すデフォルト群の中から、前記指定されたペーパソースに対応する第二マージンサイズを特定するステップと、
前記第二マージンサイズを前記構造体の前記ドライバ用フィールドに書き込むステップと、
前記構造体の前記ドライバ用フィールドに書き込まれている第二マージンサイズと、前記取得した第一マージンサイズとを比較するステップと、
前記比較するステップにより、前記第二マージンサイズよりも前記第一マージンサイズの方が小さいことが識別された場合、前記受信したイメージデータが有するマージンのサイズを第二マージンサイズに変更するステップと、
マージンサイズが変更されたイメージデータの印刷データを生成して出力するステップと
をコンピュータに実行させるためのプリンタドライバ。
【請求項２】
前記比較するステップにより、前記取得した第一マージンサイズが前記構造体のドライバ用フィールドに書き込まれている第二マージンサイズ以上であることが識別された場合、前記受信したイメージデータのマージンサイズを変更せず、前記受信したイメージデータの印刷データを生成して出力する、請求項１記載のプリンタドライバ。
【請求項３】
ＯＳ（オペレーティングシステム）が、カスタム用紙サイズとカスタム用紙のマージンサイズである第一マージンサイズとの入力を受付けるためのユーザインタフェースを介して、ユーザから、カスタム用紙サイズ及び第一マージンサイズの入力を受けるステップと、
前記ＯＳが、下記（１）及び（２）のフィールドを含んで構成されるデータブロックである構造体、
（１）ＯＳ用のフィールドであり、書かれたデータをアプリケーションプログラム及びプリンタドライバが理解する事ができ、且つ、書かれたデータをプリンタドライバが変更することのできないＯＳ用フィールド、
（２）ＯＳ上で動作するコンピュータプログラム用に用意されたベンダ用フィールドの一つであり、書かれたデータをプリンタドライバは理解できるがアプリケーションプログラムは理解する事ができないドライバ用フィールド、
における前記ＯＳ用フィールドに、前記ユーザから受けたカスタム用紙サイズ及び第一マージンサイズを書き込むステップと、
前記アプリケーションプログラムが、前記構造体の前記ＯＳ用フィールドに書き込まれている第一マージンサイズを用いてイメージデータを生成し、前記生成されたイメージデータをプリンタドライバに送信するステップと、
前記プリンタドライバが、前記構造体の前記ＯＳ用フィールドから前記カスタム用紙サイズ及び前記第一マージンサイズを取得するステップと、
前記プリンタドライバが、カスタム用紙サイズと第一マージンサイズに関する条件であるカスタム条件を複数個と各カスタム条件に対応した複数のペーパソースとを記録した、予め保持されている表示制御情報から、前記取得したカスタム用紙サイズ及び第一マージンサイズに対応する複数のペーパソースを特定するステップと、
前記プリンタドライバが、前記特定した複数のペーパソースを一覧表示した画面である選択画面を表示するステップと、
前記プリンタドライバが、前記選択画面を介して、前記ユーザから、ペーパソースの指定を受けるステップと、
前記プリンタドライバが、複数のペーパソースにそれぞれ予め対応付けられた第二マージンサイズを表すデフォルト群の中から、前記指定されたペーパソースに対応する第二マージンサイズを特定するステップと、
前記プリンタドライバが、前記第二マージンサイズを前記構造体の前記ドライバ用フィールドに書き込むステップと、
前記プリンタドライバが、前記構造体の前記ドライバ用フィールドに書き込まれている第二マージンサイズと、前記取得した第一マージンサイズとを比較するステップと、
前記プリンタドライバが、前記比較するステップにより、前記第二マージンサイズよりも前記第一マージンサイズの方が小さいことが識別された場合、前記受信したイメージデータが有するマージンのサイズを前記第二マージンサイズに変更するステップと、
前記プリンタドライバが、マージンサイズが変更されたイメージデータと、前記指定されたペーパソースを表す情報とを含んだ印刷データを生成し、前記生成した印刷データをプリンタに送信するステップと、
前記プリンタが、前記プリンタドライバから印刷データを受信するステップと、
前記プリンタが、複数の給紙装置の中から、前記受信した印刷データで指定されているペーパソースに対応した給紙装置を選択するステップと、
前記プリンタが、前記選択された給紙装置にセットされている用紙に、前記受信した印刷データが表すイメージを印刷するステップと
を有する印刷方法。
【請求項４】
カスタム用紙サイズとカスタム用紙のマージンサイズである第一マージンサイズとの入力をユーザから受付けるためのユーザインタフェースを提供するオペレーティングシステム（ＯＳ）と、
イメージデータを生成して出力するアプリケーションプログラムと、
プリンタドライバと
を有し、
前記ＯＳが、下記（１）及び（２）のフィールドを含んで構成されるデータブロックである構造体、
（１）ＯＳ用のフィールドであり、書かれたデータをアプリケーションプログラム及びプリンタドライバが理解する事ができ、且つ、書かれたデータをプリンタドライバが変更することのできないＯＳ用フィールド、
（２）ＯＳ上で動作するコンピュータプログラム用に用意されたベンダ用フィールドの一つであり、書かれたデータをプリンタドライバは理解できるがアプリケーションプログラムは理解する事ができないドライバ用フィールド、
における前記ＯＳ用フィールドに、前記ユーザから受けたカスタム用紙サイズ及び第一マージンサイズを書き込み、
前記アプリケーションプログラムが、前記構造体の前記ＯＳ用フィールドに書き込まれている第一マージンサイズを用いてイメージデータを生成し、前記生成されたイメージデータを前記プリンタドライバに送信し、
前記プリンタドライバが、
（ａ）前記構造体の前記ＯＳ用フィールドから前記カスタム用紙サイズ及び前記第一マージンサイズを取得し、
（ｂ）カスタム用紙サイズと第一マージンサイズに関する条件であるカスタム条件を複数個と各カスタム条件に対応した複数のペーパソースとを記録した、予め保持されている表示制御情報から、前記取得したカスタム用紙サイズ及び第一マージンサイズに対応する複数のペーパソースを特定し、
（ｃ）前記特定した複数のペーパソースを一覧表示した画面である選択画面を表示し、
（ｄ）前記選択画面を介して、前記ユーザから、ペーパソースの指定を受け、
（ｅ）複数のペーパソースにそれぞれ予め対応付けられた第二マージンサイズを表すデフォルト群の中から、前記指定されたペーパソースに対応する第二マージンサイズを特定し、
（ｆ）前記特定された第二マージンサイズと、前記取得された第一マージンサイズとを比較し、
（ｇ）その比較により、前記特定された第二マージンサイズよりも前記取得された第一マージンサイズの方が小さいことが識別された場合、前記受信したイメージデータが有するマージンのサイズを第二マージンサイズに変更し、
（ｈ）マージンサイズが変更されたイメージデータの印刷データを生成し、
（ｉ）前記生成された印刷データを出力する、
制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバに関する。
【背景技術】
【０００２】
一般に、プリンタドライバは、オペレーティングシステム（以下、ＯＳ）の仕様に基づいて設計される。ＯＳには、例えば、MacOSＸ（マック・オーエス・テン）（商標）と呼ばれるものがある。このＯＳは、用紙設定画面を提供することができる。このようなＯＳを備えるコンピュータシステムに搭載可能なプリンタドライバが、例えば特許文献１に開示されている。
【０００３】
【特許文献１】特開２００４−１３９５１９号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
MacOSＸは、用紙サイズやマージンを設定するための用紙設定画面を提供することができ、ユーザは、その用紙設定画面を介して、用紙サイズやマージンを入力することができる。MacOSＸの下では、その用紙設定画面を介して入力された用紙サイズやマージンが、同ＯＳの下にあるアプリケーションプログラムに渡される。プリンタドライバは、その用紙サイズやマージンを変えることができない。このため、プリンタドライバの使い勝手が悪いという印象をユーザに与えてしまい得る。
【０００５】
本発明の目的は、ユーザからマージンの入力を受付けるオペレーティングシステムの下で動作可能なプリンタドライバの使い勝手を向上することにある。
【０００６】
本発明の更なる目的は、後述の記載から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本発明に従うプリンタドライバは、オペレーティングシステムが提供するユーザインタフェースを介して入力されたカスタム用紙のマージンサイズである第一マージンサイズを取得するステップと、ペーパソースの指定を受けるステップと、前記第一マージンサイズを用いて処理されたイメージデータを受信するステップと、複数のペーパソースにそれぞれ予め対応付けられた第二マージンサイズを表すデフォルト群の中から、前記指定されたペーパソースに対応する第二マージンサイズを特定するステップと、前記特定された第二マージンサイズと、前記取得された第一マージンサイズとを比較するステップと、前記比較するステップにより、前記特定された第二マージンサイズよりも前記取得された第一マージンサイズの方が小さいことが識別された場合、前記受信したイメージデータが有するマージンのサイズを第二マージンサイズに変更するステップと、マージンサイズが変更されたイメージデータの印刷データを生成して出力するステップとをコンピュータ（例えばＣＰＵ等のプロセッサ）に実行させるコンピュータプログラムである。ここで「ペーパソース」とは、例えば用紙種類及び印刷方式のセットのことを示している。
【０００８】
プリンタドライバは、上記ユーザインタフェースを介して入力された第一マージンサイズを、例えば、受信したイメージデータを解析することにより取得してもよいし、イメージデータとは別の情報から取得してもよい。
【０００９】
プリンタドライバとしてのコンピュータプログラムは、ＣＤ−ＲＯＭ等の記録媒体からコンピュータマシンにインストールすることができるし、インターネット等の通信ネットワークを介してコンピュータマシンにダウンロードすることもできる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施の形態について、図面を参照して説明する。
【００１１】
図１Ａは、本発明の一実施形態に係るプリンタドライバを備えた印刷システムの構成例を示す。
【００１２】
プリンタ２０に、プリンタ２０の制御装置として機能するコンピュータ１０が接続されている。
【００１３】
プリンタ２０は、複数の給紙装置を備えている。プリンタ２０は、コンピュータ１０から印刷データを受信し、複数の給紙装置の中から一つの給紙装置を選択し、選択した給紙装置内の用紙を給紙して、その用紙に、受信した印刷データが表すイメージ（例えば、文字、線画及び写真のうちの少なくとも一つ）を印刷する。複数の給紙装置としては、例えば、標準給紙装置（オートシードフィーダ）、手差し給紙装置及びロール紙給紙装置がある。標準給紙装置や手差し給紙装置には、単票紙をセットすることができる。ロール紙給紙装置には、ロール紙（帯状に長い用紙が巻かれたもの）をセットすることができる。
【００１４】
コンピュータ１０は、ＣＰＵ、記憶資源（例えば、ＲＡＭやＲＯＭ等のメモリ、及び、ハードディスク装置といった主記憶装置）、表示装置及び入力装置（例えばキーボード及びマウス）を備えた情報処理装置（例えばパーソナルコンピュータ）である。記憶資源には、複数のコンピュータプログラムが格納されており、ＣＰＵが、それらのコンピュータプログラムを読み込んで実行することができる。コンピュータ１０に備えられるコンピュータプログラムとして、オペレーティングシステム（以下、ＯＳ）１１０と、アプリケーションプログラム（ＡＰ）１３０と、プリンタドライバ１２０とがある。
【００１５】
ＯＳ１１０は、例えばMacOSＸのように、ユーザから用紙サイズやマージンの入力を受付ける機能を持っているものである。ＯＳ１１０は、例えば、図１Ｂに例示するような、ユーザが定義する用紙（以下、カスタム用紙）やマージンのサイズを受け付けるための用紙設定画面（以下、ＯＳダイアログ）を、コンピュータ１０の表示装置に表示する。ユーザは、そのＯＳダイアログを介して、カスタム用紙のサイズ（例えば横及び縦の長さ、以下、カスタム用紙サイズ）や、上下左右のマージンのサイズを入力することができる（以下、ここで入力されたマージンサイズを、便宜上、「ＯＳマージンサイズ」と称する）。
【００１６】
このＯＳ１１０の下では、図１Ｃに例示する構造体（データブロック）１００を用いて、各プログラム１１０、１２０、１３０間でやり取りを行うことができる。構造体１００には、ＯＳ用に用意されたＯＳ用フィールド７Ａと、ＯＳ上で動作させるためのコンピュータプログラム用に用意されたベンダ用フィールドとが含まれている。ベンダ用フィールドの一つとして、図１Ｃに示すように、ドライバ用フィールド７Ｂを設けることができる。
【００１７】
ＯＳ１１０は、上記のＯＳダイアログを介してカスタム用紙サイズやＯＳマージンサイズの入力を受けた場合、入力されたカスタム用紙サイズやＯＳマージンサイズを、構造体１００のＯＳ用フィールド７Ａに書き込む。ＯＳ１１０は、その構造体１００を、このＯＳ１１０上で動作するＡＰ１３０（例えば、ワープロソフト、表計算ソフト或いはフォトレタッチソフト）に渡す。ＡＰ１３０は、その渡された構造体１００中のＯＳ用フィールド７Ａを参照して、カスタム用紙サイズやＯＳマージンサイズを特定し、そのカスタム用紙サイズやＯＳマージンサイズに基づいて、そのＯＳマージンサイズのＯＳマージンを有するイメージデータを生成し、生成したイメージデータをプリンタドライバ１２０に出力する。
【００１８】
構造体１００において、ＯＳ用フィールド７Ａは、ＯＳ規定のものなので、プリンタドライバ１２０もＡＰ１３０も、そこに書かれたデータを理解することはできる。一方、ドライバ用フィールド７Ｂは、ベンダ用のフィールドなので、ＡＰ１３０が、そこに書かれたデータを理解することはできない。そのため、例えば、ＯＳ用フィールド７Ａ及びドライバ用フィールド７Ｂの両方にマージンサイズが書かれたとしても、ＡＰ１３０は、ＯＳ用フィールド７Ａに書かれているマージンサイズを理解することができるが、ドライバ用フィールド７Ｂに書かれているマージンサイズを理解することができない。このため、ＡＰ１３０は、ＯＳ用フィールド７Ａに書かれているマージンサイズや用紙サイズに基づいて、後述するように、イメージデータを作成することになる。
【００１９】
また、ＯＳ用フィールド７は、ＯＳ１１０用の領域なので、ＯＳ１１０ではないプリンタドライバ１２０が、ＯＳ用フィールド７Ａに書かれたマージンサイズを、変えることもできない。
【００２０】
そこで、本実施形態では、プリンタドライバ１２０に、種々の工夫が施されている。以下、それについて、詳細に説明する。
【００２１】
プリンタドライバ１２０は、図２Ａに例示する表示制御テーブル１５を備える。この表示制御テーブル１５には、複数のカスタム条件と、各カスタム条件に対応したペーパソースグループとが登録されている。
【００２２】
カスタム条件とは、カスタム用紙サイズ及びＯＳマージンサイズの少なくともＯＳマージンサイズに関する条件を表す。例えば、上下左右のＯＳマージンサイズが０ｍｍであり、且つ、カスタム用紙サイズにおける横の長さがロール紙の幅に６ｍｍを加えた長さであれば、このテーブル１５における一番右の列のカスタム条件が適合することになる。
【００２３】
ペーパソースグループは、プリンタ２０でサポートされている多数のペーパソースのうちの複数のペーパソースで構成されている（「多数」という言葉は、「複数」よりも多いという意味で用いる）。この実施形態で言う「ペーパソース」とは、用紙種類及び印刷方式のセットのことである。用紙種類としては、例えば、単票紙（Sheet）とロール紙（Roll Paper）とがある。印刷方式としては、例えば、左右にはマージンを必要とするが上下には必要としない「Banner」、イメージデータを拡大してふち無し印刷を行う「Borderless (Auto Expand)」などがある。このテーブル１５では、例えば、「Roll Paper- Banner」となっていれば、ロール紙を使って「Banner」という印刷方式で印刷を行うことを意味する。単に「Roll Paper」となっている場合には、ロール紙を使って標準の印刷方式で印刷を行うことを意味する。
【００２４】
ペーパソースグループを構成する複数のペーパソースは、後述するように、プリンタドライバ１２０が提供する所定の設定画面（以下、ドライバ画面）で、ユーザが選択できるように一覧表示される。この表示制御テーブル１５には、それら複数のペーパソースの各々の表示順位が定義されている。表示順位とは、一覧表示エリアにおいて何番目の位置に表示されるかを意味する。例えば、表示順位が１位であれば、一覧表示エリアの先頭（一番上）に表示される。
【００２５】
また、ペーパソースグループを構成する複数のペーパソースには、そのペーパソースグループに対応したカスタム条件に推奨のペーパソース（以下、推奨ペーパソース）と、そうではないペーパソース（以下、非推奨ペーパソース）とが含まれている。このテーブル１５には、どれが推奨ペーパソースでどれが非推奨ペーパソースであるかが記録されている。図２Ａでは、太線枠で囲まれたペーパソースが推奨ペーパソースであり、それ以外が非推奨ペーパソースである。
【００２６】
カスタム条件によっては、一つのペーパソースグループに、二以上の推奨ペーパソースが存在することがある。その場合には、表示順位がより若い推奨ペーパソースが、より推奨度の高い推奨ペーパソースとして、プリンタドライバ１２０によって表示される。
【００２７】
プリンタドライバ１２０は、この表示制御テーブル１５を基に、以下に説明するペーパソース一覧表示処理を行うことができる。
【００２８】
図２Ｂは、ペーパソース一覧表示処理の流れの一例を示す。
【００２９】
プリンタドライバ１２０は、構造体１００のＯＳ用フィールド７Ａからカスタム用紙サイズ及びＯＳマージンサイズを取得する（ステップＳ１）。
【００３０】
次に、プリンタドライバ１２０は、表示制御テーブル１５を参照し、取得されたカスタム用紙サイズ及びＯＳマージンサイズが適合するカスタム条件を、表示制御テーブル１５上の複数のカスタム条件の中から検索する（Ｓ２）。ここでは、例えば、上下のＯＳマージンサイズが１５ｍｍの場合、表示制御テーブル１５の一番左の列に存在するカスタム条件が検索ヒットとなる。
【００３１】
次に、プリンタドライバ１２０は、ドライバ画面上に、検索ヒットしたカスタム条件に対応する複数のペーパソースを表示制御テーブル１５から特定し、特定された複数のペーパソースの全てを、ユーザが選択できるように一覧表示する（Ｓ３）。その際、プリンタドライバ１２０は、表示された複数のペーパソースのうち、どれが推奨ペーパソースでどれが非推奨ペーパソースであるかをユーザが区別することができるように、推奨ペーパソースと非推奨ペーパソースとの表示態様を違えて表示する。表示態様の違え方としては、例えば、推奨ペーパソースにはマーク（例えば○マーク或いはチェックマーク）を並べて表示し、非推奨ペーパソースには何のマークも表示しないといった方法を採用することができる。
【００３２】
また、Ｓ３の際、プリンタドライバ１２０は、表示対象となる複数のペーパソースの中に、二以上の推奨ペーパソースが含まれていることを検出した場合、それら二以上の推奨ペーパソースのうちどれが最も推奨度が高いかを、ユーザが識別することができるように表示する。その表示方法としては、例えば、図示のように、推奨度が最も高い推奨ペーパソースには、それ特有のマーク（例えば◎マーク）を表示し、それ以外の推奨ペーパソースには、同種のマーク（例えば○マーク）を表示する方法を採用することができる。
【００３３】
プリンタドライバ１２０は、ドライバ画面上でペーパソースが選択された場合、選択されたペーパソースに対応する後述のドライバマージンサイズを特定し、特定されたドライバマージンサイズを、同構造体１００におけるドライバ用フィールド７Ｂに書き込む（Ｓ４）。
【００３４】
以上の処理により、ユーザは、ＯＳダイアログで入力したカスタム用紙サイズ及びＯＳマージンサイズに関わらず、必ず、複数のペーパソースを選択肢として与えられ、それら複数のペーパソースの中から、所望のペーパソースを選択することができる。プリンタドライバ１２０は、ユーザから選択されたペーパソースに応じて、印刷データを生成することができる。
【００３５】
ところで、プリンタドライバ１２０には、例えば図３Ａに示すように、予め、各ペーパソース毎にマージンのサイズが定められている（以下、そのマージンを、便宜上、「ドライバマージン」と称する）。ドライバマージンサイズは、例えば、プリンタ２０のメカ仕様（例えば、用紙送りの際に生じ得るスキューの度合い）に基づいて定めることができる。
【００３６】
プリンタドライバ１２０は、ドライバ画面上でユーザ所望のペーパソースが選択された場合、そのペーパソースに対応したドライバマージンサイズを、構造体１００のドライバ用フィールド７Ｂに書くことができる。そして、プリンタドライバ１２０は、ドライバマージンサイズ及びＯＳマージンサイズの両方が書かれた構造体１００や、ＡＰ１３０で生成された、ＯＳマージンを有するイメージデータを受けて、選択されたペーパソースが推奨ペーパソースであるか非推奨ペーパソースであるかに応じた処理を行って、印刷データを生成することができる。
【００３７】
以下、コンピュータ１０において行われる印刷のための処理の流れを、図３Ｂを参照して説明する。なお、以下の説明では、この処理の開始よりも前に、ＯＳマージンサイズ及びドライバマージンサイズの両方が、構造体１００に書かれたものとする。
【００３８】
ＯＳ１１０又はプリンタドライバ１２０が、カスタム用紙サイズ及びＯＳマージンサイズ等が書かれた構造体１００を、ＡＰ１３０に渡す（Ｓ１１）。
【００３９】
ＡＰ１３０は、渡された構造体１００のＯＳ用フィールド７Ａに書かれている用紙サイズ及びＯＳマージンに基づいて、そのＯＳマージンサイズのＯＳマージンを持ったイメージデータを生成し、生成されたイメージデータと、上記渡された構造体１００とを、プリンタドライバ１２０に送信する（Ｓ１２）。
【００４０】
プリンタドライバ１２０は、ＯＳマージンを有するイメージデータを受けた場合、ドライバ画面上でユーザに選択されたペーパソースが推奨ペーパソースか否かを判断する（Ｓ１３）。この判断は、例えば、ペーパソースが選択された場合に、プリンタドライバ１２０が、そのペーパソースに対応するドライバマージンサイズと共に、選択されたペーパソースが推奨ペーパソースか否かをドライバ用フィールド７Ｂに書き込んでおき、受けた構造体１００のドライバ用フィールド７Ｂを参照することで、行うことができる。
【００４１】
Ｓ１３において、推奨ペーパソースであると判断した場合（Ｓ１３でＹＥＳ）、プリンタドライバ１２０は、受信したイメージデータの印刷データ、すなわち、ＯＳマージンを有するイメージデータの印刷データを生成し（Ｓ１４）、生成した印刷データをプリンタ２０に送信する（Ｓ１６）。プリンタドライバ１２０は、選択されたペーパソースを表す情報を印刷データに含めることができる。プリンタ２０は、印刷データを解析し、印刷データで指定されているペーパソースに対応した給紙装置を複数の給紙装置の中から選択し、選択した給紙装置から給紙した用紙に、印刷データが表すイメージデータを印刷する。
【００４２】
一方、Ｓ１３において、推奨ペーパソースではない（換言すれば非推奨ペーパソースである）と判断した場合（Ｓ１２でＮＯ）、プリンタドライバ１２０は、Ｓ１５の処理を行う。すなわち、プリンタドライバ１２０は、イメージデータのＯＳマージンサイズ（構造体１００のＯＳ用フィールド７Ａに書かれているＯＳマージンサイズ）と、選択されたペーパソースのドライバマージンサイズ（構造体１００のドライバ用フィールド７Ｂに書かれているドライバマージンサイズ）とを比較し、ＯＳマージンサイズがドライバマージンサイズよりも小さい場合に、ＯＳマージンに代えてドライバマージンをイメージデータに反映し、その反映後のイメージデータの印刷データを生成する（Ｓ１５）。プリンタドライバ１２０は、生成された印刷データをプリンタ２０に送信する（Ｓ１６）。
【００４３】
以上の通り、プリンタドライバ１２０は、ユーザから選択されたペーパソースが推奨ペーパソースであるか非推奨ペーパソースであるかを判断し、推奨ペーパソースであると判断された場合には、ＡＰ１３０からのイメージデータの印刷データを生成し、非推奨ペーパソースであると判断された場合には、必要に応じて、ＡＰ１３０からのイメージデータにマージンを付加し、マージン付加後のイメージデータの印刷データを生成する。
【００４４】
以下、上記Ｓ１５の処理の具体例を説明する。
【００４５】
図４は、上３ｍｍ、右３ｍｍ、左５ｍｍ、下２ｍｍのＯＳマージンを持ったイメージデータを受けた場合のＳ１５の処理の具体例を示す。
【００４６】
参照番号２０１は、上記のＯＳマージンを持った、ＡＰ１３０からのイメージデータを示す。
【００４７】
選択された非推奨ペーパソースが、「Roll Paper」の場合、Ｓ１５の処理により、参照番号２０２に示すようなイメージデータとなる。すなわち、ペーパソース「Roll Paper」に対応したドライバマージンサイズは、図３Ａによれば、上下左右とも３ｍｍである。プリンタドライバ１２０は、各マージンサイズ同士を比較した場合、下のマージンサイズについてのみ、ＯＳマージンサイズの方が小さいと認識することができる。この場合、プリンタドライバ１２０は、イメージデータ２０１の下側のＯＳマージンを、下側のドライバマージンサイズ３ｍｍを持ったドライバマージンに変更する。別の言い方をすれば、プリンタドライバ１２０は、不足分１ｍｍのマージンを下のＯＳマージンに付加する（例えば、イメージデータにおけるその不足分の領域に係るデータを全てヌルデータに変える）ことにより、ＡＰ１３０からのイメージデータ２０１を、参照番号２０２のようなイメージデータに変える。ＯＳマージンサイズがドライバマージンサイズ以上の場合には、プリンタドライバ１２０は、図示のように、格別の処理は行わない。
【００４８】
他の非推奨ペーパソースについても同様の処理を行うことができる。
【００４９】
すなわち、選択された非推奨ペーパソースが、「Roll Paper- Banner」の場合、それに対応したドライバマージンサイズは、図３Ａによれば、上下０ｍｍで左右３ｍｍである。このため、上記の比較の結果、ＯＳマージンサイズの方が小さい部分は得られない。従って、プリンタドライバ１２０は、ＡＰ１３０からのイメージデータ２０３の印刷データを生成する。
【００５０】
選択された非推奨ペーパソースが、「Sheet」の場合、それに対応したドライバマージンサイズは、図３Ａによれば、上左右３ｍｍで下１４ｍｍである。このため、上記の比較の結果、下のマージンについて、ＯＳマージンサイズの方が小さいことが認識される。この場合、プリンタドライバ１２０は、下側のマージンをドライバマージンに置換する（換言すれば、不足分１２ｍｍのマージンを下のＯＳマージンに付加する）ことにより、ＡＰ１３０からのイメージデータ２０１を、参照番号２０４のようなイメージデータに変える。
【００５１】
図５は、上下左右０ｍｍのＯＳマージンを持ったイメージデータを受けた場合のＳ１５の処理の具体例を示す。
【００５２】
参照番号２１１は、上記のＯＳマージンを持った、ＡＰ１３０からのイメージデータを示す。
【００５３】
選択された非推奨ペーパソースが、「Roll Paper」の場合、それに対応したドライバマージンは、図３Ａによれば、上下左右とも３ｍｍなので、プリンタドライバ１２０は、各マージンサイズ同士を比較した場合、全てのＯＳマージンについて、ＯＳマージンサイズの方が小さいと認識する。この場合、プリンタドライバ１２０は、イメージデータ２１１の各ＯＳマージンを３ｍｍのドライバマージンに置換したイメージデータ２１２を得ることができる。
【００５４】
選択された非推奨ペーパソースが、「Roll Paper- Banner」の場合、それに対応したドライバマージンサイズは、図３Ａによれば、上下０ｍｍで左右３ｍｍである。このため、上記の比較の結果、左右のＯＳマージンについてのみ、ＯＳマージンサイズの方が小さいという結果が得られる。従って、プリンタドライバ１２０は、イメージデータ２１１の左右のＯＳマージンを３ｍｍのドライバマージンに置換したイメージデータ２１３を得ることができる。
【００５５】
選択された非推奨ペーパソースが、「Sheet」の場合、それに対応したドライバマージンサイズは、図３Ａによれば、上左右３ｍｍで下１４ｍｍである。このため、プリンタドライバ１２０は、全てのＯＳマージンについて、ＯＳマージンサイズの方が小さいと認識する。この場合、プリンタドライバ１２０は、イメージデータ２１１の各ＯＳマージンを上記のドライバマージン（上左右３ｍｍ、下１４ｍｍ）に置換したイメージデータ２１４を得ることができる。
【００５６】
以上、上述した実施形態によれば、ＯＳダイアログで入力したＯＳマージンサイズと各ドライバマージンサイズとの関係に関わらず、ユーザは、複数のペーパソースを選択肢と受けて、それら複数のペーパソースの中から、所望のペーパソースを選択することができる。また、選択可能に表示される複数のペーパソースは、どれが推奨ペーパソースでどれが非推奨ペーパソースであるかが、ユーザが区別できるように表示される。更に、二以上の推奨ペーパソースが含まれている場合には、どれが最も推奨度が高いものかがユーザにわかるように表示される。このため、ＯＳ１１０の仕様により、ユーザに設定されＡＰ１３０で認識されるマージンサイズをプリンタドライバ１２０で変えられなくても、そのプリンタドライバ１２０の使い勝手が向上したという印象をユーザに与えることが期待できる。
【００５７】
また、上述した実施形態によれば、非推奨ペーパソースが選択された場合、ＡＰ１３０からのイメージデータの各ＯＳマージンサイズと、選択された非推奨ペーパソースの各ドライバマージンサイズとが比較される。そして、ＯＳマージンサイズの方が小さいとの結果が得られた場合には、プリンタドライバ１２０は、それに該当するＯＳマージンを、それよりも大きいサイズを有するドライバマージンに変え、ドライバマージンが反映されたイメージデータをプリンタ２０に印刷させる。これにより、非推奨ペーパソースが選択された場合であっても、良好な印刷結果が得られることを期待できる。
【００５８】
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこれの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【００５９】
例えば、上述のような表示制御テーブル１５に推奨ペーパソースがどれであるかが記録されていなくても、プリンタドライバ１２０は、所定のアルゴリズムにより、カスタム用紙サイズ及びＯＳマージンサイズが適合するカスタム条件に対応する推奨ペーパソース及び非推奨ペーパソースを決定することができる。推奨ペーパソースを決定するための判断には、さまざまな形態が考えられる。例えば、処理されたイメージデータのＯＳマージンサイズに一致するドライバマージンサイズに対応するペーパソースのみを、推奨ペーパソースとしても良いし、イメージデータのＯＳマージンサイズより大きく且つそれに近い（例えば最も近い）ドライバマージンサイズに対応する単数若しくは複数のペーパソースが推奨ペーパソースとされても良い。一方、非推奨ペーパソースは、推奨ペーパソースと判断されなかった一以上のペーパソースから選択することができる。その際、プリンタドライバ１２０は、イメージデータのＯＳマージンサイズがドライバマージンサイズより小さいペーパソースであっても、非推奨ペーパソースとしてユーザに提示してもよい。
【００６０】
また、例えば、上記実施形態では、推奨ペーパソースが選択された場合には、ＯＳマージンサイズがドライバマージンサイズより小さいか否かに関わらずに、ＯＳマージンを用いて処理されたイメージデータが印刷されたが、それに代えて、推奨ペーパソースが選択された場合であっても、プリンタドライバ１２０は、図３ＢのＳ１５を行ってもよい。
【００６１】
また、例えば、最高表示順位の推奨ペーパソースは、ＯＳマージンサイズとドライバマージンサイズとの差分が最も小さくなるペーパソースとすることができる。
【００６２】
また、例えば、ＯＳマージンサイズがドライバマージンサイズより小さい場合であっても（例えば、非推奨ペーパソースが選択された場合であっても）、プリンタドライバ１２０は、ユーザの要求により、ＯＳマージンサイズのマージンを有するイメージデータを印刷させても良い。
【図面の簡単な説明】
【００６３】
【図１】図１Ａは、本発明の一実施形態に係るプリンタドライバを備えた印刷システムの構成例を示す。図１Ｂは、ＯＳダイアログの一例を示す。図１Ｃは、構造体の一例を示す。
【図２】図２Ａは、表示制御テーブル１５の構成例を示す。図２Ｂは、ペーパソース一覧表示処理の流れの一例を示す。
【図３】図３Ａは、ペーパソースとドライバマージンサイズとの対応関係の一例を示す。図３Ｂは、コンピュータ１０において行われる印刷のための処理の流れの一例を示す。
【図４】図４は、上３ｍｍ、右３ｍｍ、左５ｍｍ、下２ｍｍのＯＳマージンを持ったイメージデータを受けた場合のＳ１５の処理の具体例を示す。
【図５】図５は、上下左右０ｍｍのＯＳマージンを持ったイメージデータを受けた場合のＳ１５の処理の具体例を示す。
【符号の説明】
【００６４】
１０…コンピュータ  ２０…プリンタ  １１０…オペレーティングシステム（ＯＳ）  １２０…プリンタドライバ  １３０…アプリケーションプログラム
【図１】
0004581899.tif 000002
【図２】
0004581899.tif 000003
【図３】
0004581899.tif 000004
【図４】
0004581899.tif 000005
【図５】
0004581899.tif 000006