(57)【要約】【課題】  アプリケーションで設定可能なサイズで出力させるときに、従来より大きな用紙に拡大印刷して大判印刷する。【解決手段】  印刷指示したアプリケーション名からアプリケーションが扱える用紙サイズのピクセル数のしきい値を決定し、設定した用紙サイズのピクセル数が前記しきい値を越えた場合に解像度を下げ、プリンタドライバにおいて取得した印刷描画データに対して解像度を下げた分の拡大処理を行う。【選択図】  図４
2005301888.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバを備える情報処理装置であって、
アプリケーションが扱える用紙サイズのピクセル数のしきい値をアプリケーション名と関連付けて保存する手段と、
アプリケーションから印刷を行った時にそのアプリケーション名を判別する手段と、
前記保存手段によって保存された情報を基に、前記判別手段によって判別したアプリケーション名からアプリケーションが扱える用紙サイズのピクセル数のしきい値を決定する手段と、
設定した用紙サイズのピクセル数が前記しきい値を越えた場合に解像度を下げる手段と、
下げた解像度に連動して用紙サイズのピクセル数を下げる手段と、
取得した印刷描画データに対して解像度を下げた分の拡大処理を行う手段とを有し、
拡大を伴う印刷の場合には、設定可能な用紙幅が、プリンタが給紙できる最小用紙幅より小さくても、設定可能であることを特徴とする情報処理装置。
【請求項２】
拡大を伴う印刷の場合には、設定可能な用紙幅が、プリンタが給紙できる最小用紙幅より小さくても、印刷可能であることを特徴とする請求項１記載の情報処理装置。
【請求項３】
拡大縮小を伴わない印刷の場合に、プリンタが給紙できる最小用紙幅より小さい用紙幅を設定した場合には、プリンタが給紙できる最小用紙幅を仮想用紙幅としてプリンタに送信することを特徴とする請求項１記載の情報処理装置。
【請求項４】
印刷データを生成する情報処理装置で実行されるプリンタドライバであって、
アプリケーションが扱える用紙サイズのピクセル数のしきい値をアプリケーション名と関連付けて保存する工程と、
アプリケーションから印刷を行った時にそのアプリケーション名を判別する工程と、
前記保存された情報を基に、前記判別したアプリケーション名からアプリケーションが扱える用紙サイズのピクセル数のしきい値を決定する工程と、
設定した用紙サイズのピクセル数が前記しきい値を越えた場合に解像度を下げる工程と、
下げた解像度に連動して用紙サイズのピクセル数を下げる工程と、
取得した印刷描画データに対して解像度を下げた分の拡大処理を行う工程とを含み、
拡大を伴う印刷の場合には、設定可能な用紙幅が、プリンタが給紙できる最小用紙幅より小さくても、設定可能であることを特徴とする前記情報処理装置で実行可能なプリンタドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置で印刷すべき印刷データを生成する情報処理装置及び情報処理方法及び印刷制御プログラムに関し、特に、大判印刷を行なうための印刷データを生成するプリンタドライバに関するものである。
【背景技術】
【０００２】
一般的に、ビット数の異なるＯＳ上で共通に動作させるアプリケーションでは、用紙サイズ、用紙のピクセル数に制限が有り、その制限によって、扱える用紙の最大サイズが決まってしまう。例えば、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅなどの１６ビットＯＳ（オペレーションシステム）においては、用紙のピクセル数の上限が１６ビット（符号付）になるため、３２７６７ピクセルとなり、６００ｄｐｉの解像度下では１３８７ｍｍまでしか設定することができない。
【０００３】
また、通常Ａ０幅クラスの大判プリンタにおいては、本体の給紙機構の制約により最小用紙幅が決められており、それ以下の幅の用紙は設定できないようになっている。例えば、最小用紙幅は最大通紙幅の１／４程度で、Ａ０サイズ幅のプリンタでは最小用紙幅はＡ４サイズ幅の２１０ｍｍに設定されている場合が多い。よって、従来の大判印刷用のプリンタドライバでは、Ａ４横よりも小さい幅を指定することができなかった。
【０００４】
従来の大判印刷を実現するプリンタドライバの処理を開示した文献として、特許文献１がある。
【特許文献１】特開平１０−０５２９６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来例では、次のような問題があった。
【０００６】
まず第１に、一般的なアプリケーションでは、大きなサイズの用紙を扱えないため、大きなサイズの用紙に印刷するためには、プリンタドライバまたはＯＳのプリントプロセッサによる拡大機能を使用しなければならない。
【０００７】
第２に、一般的なアプリケーションでは、扱える用紙の最大サイズが限られているために、長尺印刷を行なう場合には、用紙の縦横比を大きく設定し拡大印刷する必要があるが、上述したように、プリンタが給紙できる用紙のサイズに制限があるため、幅の小さな用紙を設定することができず、幅方向の拡大率が頭打ちになり、それ以上拡大することができない。
【０００８】
本発明は、上記問題点を鑑みてなされたものであり、その目的とするところは、アプリケーションで設定可能なサイズで出力させるときに、従来より大きな用紙に拡大印刷することで大判印刷を可能にすることである。
【課題を解決するための手段】
【０００９】
本発明は、プリンタドライバを備える情報処理装置であって、アプリケーションが扱える用紙サイズのピクセル数のしきい値をアプリケーション名と関連付けて保存する手段と、アプリケーションから印刷を行った時にそのアプリケーション名を判別する手段と、前記保存手段によって保存された情報を基に、前記判別手段によって判別したアプリケーション名からアプリケーションが扱える用紙サイズのピクセル数のしきい値を決定する手段と、設定した用紙サイズのピクセル数が前記しきい値を越えた場合に解像度を下げる手段と、下げた解像度に連動して用紙サイズのピクセル数を下げる手段と、取得した印刷描画データに対して解像度を下げた分の拡大処理を行う手段とを有し、拡大を伴う印刷の場合には、設定可能な用紙幅が、プリンタが給紙できる最小用紙幅より小さくても、設定可能であることを特徴とする。
【００１０】
また、拡大を伴う印刷の場合には、設定可能な用紙幅が、プリンタが給紙できる最小用紙幅より小さくても、印刷可能であることを特徴とする。
【００１１】
また、拡大縮小を伴わない印刷の場合に、プリンタが給紙できる最小用紙幅より小さい用紙幅を設定した場合には、プリンタが給紙できる最小用紙幅を仮想用紙幅としてプリンタに送信することを特徴とする。
【００１２】
また、本発明は、印刷データを生成する情報処理装置で実行されるプリンタドライバであって、アプリケーションが扱える用紙サイズのピクセル数のしきい値をアプリケーション名と関連付けて保存する工程と、アプリケーションから印刷を行った時にそのアプリケーション名を判別する工程と、前記保存された情報を基に、前記判別したアプリケーション名からアプリケーションが扱える用紙サイズのピクセル数のしきい値を決定する工程と、設定した用紙サイズのピクセル数が前記しきい値を越えた場合に解像度を下げる工程と、下げた解像度に連動して用紙サイズのピクセル数を下げる工程と、取得した印刷描画データに対して解像度を下げた分の拡大処理を行う工程とを含み、拡大を伴う印刷の場合には、設定可能な用紙幅が、プリンタが給紙できる最小用紙幅より小さくても、設定可能であることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、プリンタドライバからアプリケーションに返す解像度を低くし、印刷装置における印刷解像度との差だけ、印刷データ生成時に拡大処理を行い、扱えるビット数が少ないＯＳにおいても、長尺印刷ができ、設定できる最小用紙サイズを、プリンタが給紙できる最小サイズよりも小さく設定することにより、アプリケーションで設定できる最大サイズで、できるだけ大きな用紙に拡大印刷することができる。
【発明を実施するための最良の形態】
【００１４】
（実施例１）
図１は、本発明の第１の実施の形態に係るホスト装置８としての情報処理装置の構成を示すブロック図である。
【００１５】
図１において、ホスト装置（ホストコンピュータ）８は、ＣＰＵ１０１（制御手段）を備えている。ＣＰＵ１０１は、ＲＯＭ１０２あるいは外部メモリ１１１に記憶された文書処理プログラム等に基づいて、図形や、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行し、システムバス１０８に接続される各デバイスをＣＰＵ１０１が総括的に制御する。また、このＲＯＭ１０２あるいは外部メモリ１１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶され、ＲＯＭ１０２あるいは外部メモリ１１には、上記文書処理の際に使用するフォントデータ、および上記文書処理等を行う際に使用する各種データが記憶されている。
【００１６】
ＲＡＭ１０３で、ＣＰＵ１の主メモリやワークエリア等として機能する。１０４はキーボードコントローラ（ＫＢＣ）で、キーボード１０９や不図示のポインティングデバイスからのキー入力を制御する。１０５はＣＲＴコントローラ（ＣＲＴＣ：表示制御手段）で、ＣＲＴディスプレイ（ＣＲＴ：表示部）１１０の表示を制御する。１０６はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及びプリンタ制御コマンド生成プログラム（以下、プリンタドライバと記す）等を記憶する外部メモリ１１１とのアクセスを制御する。外部メモリ１１１は、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）等で構成される。
【００１７】
１０７はインタフェース（Ｉ／Ｆ）で、大判印刷可能なインクジェット記録装置（印刷装置）に接続されて、通信制御処理を実行する。なお、ＣＰＵ１０１は、例えばＲＡＭ１０３上に設定された表示情報のアウトラインフォントへの展開（ラスタライズ）処理を実行し、ＣＲＴ１１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１０上に表示されるマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウィンドウを開き、種々のデータ処理を実行する。これによって、ユーザは、印刷を実行する際、印刷の設定に関するウィンドウを開き、印刷装置に対する印刷設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
【００１８】
図６は、ホスト装置８における各ソフトウェアモジュールの構成を説明するための図である。図６において、アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、及びシステムスプーラ２０４は、ＲＯＭ１０２または外部メモリ１１１に保存されるファイルとして存在し、オペレーティングシステム（ＯＳ）やその他のモジュールによってＲＡＭ１０３にロードされ実行されるプログラムモジュールである。
【００１９】
また、アプリケーション２０１及びプリンタドライバ２０３は、ＦＤ、ＣＤ−ＲＯＭあるいは不図示のネットワークを経由して外部メモリ１１１（ＨＤ）に追加することが可能となっている。
【００２０】
外部メモリ１１１に保存されているアプリケーション２０１は、ＲＡＭ１０３にロードされて実行されるが、このアプリケーション２０１から印刷装置で印刷を行う際には、同様にＲＡＭ１０３にロードされることで実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００２１】
グラフィックエンジン２０２は、プリンタごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１１からＲＡＭ１０３にロードし、アプリケーション２０１の出力を、プリンタドライバ２０３を用いてインクジェット記録装置で制御可能な制御コマンドに変換し、印刷ジョブを生成する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ１０３にロードされたシステムスプーラ２０４を経てインタフェース１０７経由でインクジェット記録装置へ出力される仕組みとなっている。
【００２２】
図２、図３、図４が本発明の特徴をもっとも良くあらわしているプリンタドライバ側の処理に関するフローチャートである。
【００２３】
まず、ステップＳ２−１において、プリンタドライバにおいて、ユーザからの操作入力に従って、入力用紙のサイズを決定する。ここで、大判印刷を行うため、入力用紙サイズとしてユーザ定義サイズの用紙を作成する。そして、ステップＳ２−２において、プリンタドライバは、ユーザからの操作入力に従って、拡大処理後の出力用紙のサイズを、ユーザ定義サイズの用紙として作成する。
【００２４】
ここで注意しなければいけないのが、拡大率で、図３において、アプリケーションで設定できる最大用紙サイズ（３−１）を（Ｘａ、Ｙａ）、出力したい用紙サイズ（３−２）を（Ｘｐ、Ｙｐ）とすると、長尺印刷ということでＹ方向の拡大率を採用するため、拡大率は、Ｙｐ／Ｙａとなる。縦横比は変更せずに拡大するため、この拡大率をＸ方向に適用すると、Ｘａ＊Ｙｐ／Ｙａ＝Ｘｐとなるので、Ｘａ＝Ｘｐ＊Ｙａ／Ｙｐとなる用紙幅Ｘａをユーザ定義用紙で定義する必要がある（３−３）。例えば、（Ｘａ、Ｙａ）＝（６０ｃｍ、６０ｃｍ）とし、（Ｘｐ、Ｙｐ）＝（１００ｃｍ、６００ｃｍ）とすると、設定すべき入力用紙のユーザ定義用紙は、（１０ｃｍ、６０ｃｍ）となる。
【００２５】
次に、アプリケーションにおいて、入力用紙を選択し（Ｓ２−３）、データを作成する（Ｓ２−４）。データを作成し終えたら、印刷の設定を行なう（Ｓ２−５）。まず、給紙口の設定を行なう。一般的に長尺印刷を行なう場合には、ロール紙を選択する（Ｓ２−６）。次に、入力用紙サイズ、出力用紙サイズを選択する（Ｓ２−７）。出力用紙サイズの幅が、プリンタの最小用紙幅より小さければ（Ｓ２−８）、ワーニングメッセージを表示後（Ｓ２−９）印刷を開始し（Ｓ２−１０）、大きければ、メッセージを表示せずに印刷を開始する（Ｓ２−１０）。
【００２６】
ドライバにおける処理は、印刷開始時（Ｓ４−１）、印刷を行なうアプリケーションを自動判別し（Ｓ４−２）、アプリケーション別制限ＤＢからアプリケーションに対する制限値を取得する（Ｓ４−３）。例えば、１６ビットＯＳにおいては、用紙サイズのピクセル数において３２７６７ピクセルという制限値が存在する。次に、出力用紙サイズを取得し（Ｓ４−４）、アプリケーションに返す有効印刷領域のピクセル数を計算する（Ｓ４−５）。例えば、先ほどの６００ｃｍの出力用紙を選択し、解像度３００ｄｐｉで印刷を行なうとすると、出力用紙のピクセル数は、（６００／２．５４）＊３００＝７０８６６となる。取得した制限値と有効印刷領域のピクセル数を比較し（Ｓ４−６）、制限値を越えているようであれば、制限内におさまるように整数分の一に解像度を変更し（Ｓ４−７）、ピクセル数を再計算する（Ｓ４−８）。例えば、前述の値を使用すると、制限ピクセル数は３２７６７ピクセル、出力用紙のピクセル数は７０８６６ピクセルなので、解像度を１００ｄｐｉつまり１／３に設定することにより、用紙のピクセル数を２３６２２ピクセルにすることができる。アプリケーションに対して、再計算後のピクセル数を返し（Ｓ４−９）、印刷データを受信する（Ｓ４−１０）。アプリケーションから送られてきた印刷データは、当初の解像度から整数分の一に変換された値になっているので、そのまま印刷してしまうと縮小されて印刷されるため、現在設定されている有効印刷領域のピクセル数から、解像度を下げる前の有効印刷領域のピクセル数に拡大処理を行なう（Ｓ４−１１）。例えば、前述の値を使用すると、アプリケーションからは２３６２２ピクセルの用紙サイズのデータが送られてくるので、解像度を下げる前の７０８６６ピクセルに３倍の拡大処理を行なう。拡大処理が行われたデータは、そのままレンダリングされ（Ｓ４−１２）、用紙情報の処理（Ｓ４−１３）を行った後、プリンタにデータを転送する（Ｓ４−１４）。
【００２７】
このような処理を行うことによって、例えば、Ｍｉｃｒｏｓｏｆｔ社製のアプリケーションであるＭＳ−Ｗｏｒｄでは、用紙の最大サイズが５８．８ｃｍまでしか設定できないため、Ａ１幅（５９．４ｃｍ）の幅でできるだけ長いデータを作成しようとすると、できるだけ狭い幅のユーザ定義用紙を作成しなければならず、例えば、一般的な大判プリンタでは、２１ｃｍが最小用紙幅であるが、ここから５９．４ｃｍまで幅方向を拡大すると、５９．４ｃｍ／２１ｃｍ＝２８２％までしか拡大できず、長さ方向では、５８．８ｃｍの２８２％拡大ということで、１６５．８ｃｍまでのデータしか作成することができない。ここで、例えば１０ｃｍ幅のユーザ定義用紙を作成できるとすると、５９．４ｃｍ／１０ｃｍ＝５９４％まで拡大することができ、５８．８ｃｍの５９４％拡大ということで、３４９．２ｃｍまでのデータを作成することができる。
【００２８】
このように、最大用紙サイズの設定に制限があるアプリケーションにおいても、最小用紙幅をプリンタが給紙できる最小用紙幅より小さく設定できることによって、拡大処理を行い、ユーザの希望する出力結果を提供することができる。
【００２９】
（実施例２）
図５が本発明の第２の実施例の特徴をもっとも良くあらわしているプリンタドライバ側の処理に関するフローチャートである。
【００３０】
実施例１において、印刷を行った場合に、給紙口を確認し（Ｓ５−１）、ロール紙であったなら、そのまま用紙サイズをプリンタに転送する（Ｓ５−４）。カット紙であったなら、出力用紙サイズを確認し（Ｓ５−２）、出力用紙サイズの幅が、プリンタの最小用紙幅より小さければ、用紙サイズをプリンタの最小用紙幅に設定して（Ｓ５−３）、設定した用紙サイズを用紙データとしてプリンタに転送する（Ｓ５−４）。大きければ、そのままの用紙サイズを用紙データとしてプリンタに転送する（Ｓ５−４）。その後、印刷データを転送する（Ｓ５−５）。
【００３１】
１０ｃｍ幅のユーザ定義用紙をそのまま拡大せずに印刷を行なった場合、プリンタドライバで、用紙幅を２１ｃｍに設定し、印刷データを２１ｃｍ幅の左側に配置することによって、プリンタがエラーになることなしに、転送したデータで印刷を行なうことができる。
【００３２】
このように、最大用紙サイズの設定に制限があるアプリケーションにおいても、最小用紙幅をプリンタが給紙できる最小用紙幅より小さく設定できることによって、拡大処理を行い、ユーザの希望する出力結果を提供することができ、プリンタ側で給紙できる最小用紙幅より小さい用紙サイズが設定された場合にエラーになってしまう場合でも、エラーになることなくユーザの希望する出力結果を提供することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明を実施したシステムのブロック図
【図２】本発明の実施例１のフローチャート
【図３】本発明の実施例１の用紙サイズの例
【図４】本発明の実施例１のフローチャート
【図５】本発明の実施例２のフローチャート
【図６】本発明のモジュール構成図
【符号の説明】
【００３４】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＫＢＣ
１０５  ＣＲＴＣ
１０６  ＤＫＣ
１０７  Ｉ／Ｆ
１０８  バス
１０９  キーボード
１１０  ＣＲＴ
１１１  外部メモリ
２０１  アプリケーション
２０２  グラフィックエンジン
２０３  プリンタドライバ
２０４  システムスプーラ
【図１】
2005301888.tif 000003
【図２】
2005301888.tif 000004
【図３】
2005301888.tif 000005
【図４】
2005301888.tif 000006
【図５】
2005301888.tif 000007
【図６】
2005301888.tif 000008