(57)【特許請求の範囲】
【請求項１】
印刷対象の領域に対するページの割り当てが可能なアプリケーションにより生成された印刷データに基づく画像を、印刷装置に印刷用紙へ印刷させるための印刷制御装置であって、
前記アプリケーションに所定の用紙サイズを設定することによって前記アプリケーションに当該所定の用紙サイズに対応するページを前記印刷対象の領域に対して割り当てさせ、当該割り当てられたページのページ数に応じて、当該所定の用紙サイズが当該ページ数により積算されたときのサイズに基づく当該印刷対象の領域に対応する用紙サイズを決定する決定手段と、
前記決定手段により決定された用紙サイズに基づき、前記アプリケーションにより当該用紙サイズに応じて生成された前記印刷対象の領域に対応する印刷データに基づく画像であって、印刷対象の印刷用紙の大きさに応じた大きさの画像を、印刷装置に当該印刷用紙へ印刷させる印刷制御手段と、
を有することを特徴とする印刷制御装置。
【請求項２】
前記アプリケーションに割り当てられているページの大きさを前記アプリケーションに変更させる変更手段を有し、
前記決定手段は、前記変更手段により前記アプリケーションに割り当てられたページの大きさが変更されたときの、当該印刷対象の領域に対するページ数に応じて、当該印刷対象の領域に対応する用紙サイズを決定することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記決定手段は、前記所定の用紙サイズの第１のページが前記印刷対象の領域に割り当てられたときのページ数に応じて、当該所定の用紙サイズが当該ページ数により積算されたときのサイズに基づく大きさの第２のページを決定し、当該第２のページの大きさが前記変更手段により変更されたときの当該印刷対象の領域に対するページ数に応じて、当該印刷対象の領域に対応する用紙サイズを決定することを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
前記決定手段は、前記第２のページの大きさが前記変更手段により変更されたときのページサイズの複数の候補のうちの、前記印刷対象の領域を１ページで含み、当該印刷対象の領域の大きさに合った大きさのページサイズを、当該印刷対象の領域に対応する用紙サイズとして決定することを特徴とする請求項３に記載の印刷制御装置。
【請求項５】
前記印刷制御手段は、前記決定手段により決定された用紙サイズをプリンタドライバに通知し、当該プリンタドライバに、前記アプリケーションにより生成された印刷データに基づく当該用紙サイズに応じた大きさの画像を、印刷対象の印刷用紙の大きさに合わせて変倍させることによって、当該印刷用紙の大きさに応じた当該画像を当該印刷用紙へ印刷させることを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御装置。
【請求項６】
前記アプリケーションは表計算ソフトウェアであり、前記印刷対象の領域は、当該表計算ソフトウェアにおいて入力可能なセルのうちの、ユーザによる指示に応じて選択されたセルに対応する領域であることを特徴とする請求項１乃至５のいずれか１項に記載の印刷制御装置。
【請求項７】
印刷対象の領域に対するページの割り当てが可能なアプリケーションにより生成された印刷データに基づく画像を、印刷装置に印刷用紙へ印刷させるための印刷制御方法であって、
印刷制御装置の決定手段が、前記アプリケーションに所定の用紙サイズを設定することによって前記アプリケーションに当該所定の用紙サイズに対応するページを前記印刷対象の領域に対して割り当てさせ、当該割り当てられたページのページ数に応じて、当該所定の用紙サイズが当該ページ数により積算されたときのサイズに基づく当該印刷対象の領域に対応する用紙サイズを決定する決定工程と、
印刷制御装置の印刷制御手段が、前記決定工程において決定された用紙サイズに基づき、前記アプリケーションにより当該用紙サイズに応じて生成された前記印刷対象の領域に対応する印刷データに基づく画像であって、印刷対象の印刷用紙の大きさに応じた大きさの画像を、印刷装置に当該印刷用紙へ印刷させる印刷制御工程と、
を有することを特徴とする印刷制御方法。
【請求項８】
請求項７に記載の印刷制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表計算ソフトウェアにおける用紙サイズを算出する方法に関する。
【背景技術】
【０００２】
表計算ソフトではページの概念が無い。そのため、表計算ドキュメントを印刷する際は、特許文献１に記載のように、ユーザは必ず一度は用紙サイズの設定を行う必要があった。
【０００３】
そこで、特許文献２に記載のシステムでは、ユーザの設定している印刷範囲を基に、システム保有の定形の用紙サイズから、印刷範囲が収まる用紙サイズを自動で選択するという技術が公開されている。
【０００４】
しかし、表計算ドキュメントに定形の用紙サイズを設定して印刷を行うと、意図しない箇所でページが分割されたり、意図しない余白が追加されたりする恐れがある。
【０００５】
ここで、図１１に図示したような表計算ドキュメントを印刷する場面を想定する。図１２（Ａ）は、表計算ドキュメントに対しＡ４サイズを用紙サイズとして設定した時の印刷物を図示したものである。また、図１２（Ｂ）は、表計算ドキュメントに対し、Ａ３サイズを設定した時の印刷物を図示したものである。
【０００６】
図示したように、図１２（Ａ）ではページの幅一杯に印刷されているが、途中でページが分割されてしまう。また、図１２（Ｂ）では、ページ内に表計算データ全体が印刷されているが、右側に余白が入ってしまう。
【０００７】
これは、表計算データの縦横比が定形サイズと異なるためであるが、ページの概念の無い表計算ソフトでは、大部分の表計算ドキュメントにおいて、図１１のように表計算データの縦横比は定型サイズと異なっていると考えられる。
【０００８】
そこで、図１１のような表計算ドキュメントを、ページの幅一杯に、かつ、ページ内に収めて印刷する手法として、ページの縦横比を自由にとることが可能であるロール紙への印刷が挙げられる。
【特許文献１】特開平１−２１７５１６
【特許文献２】特開平１０−００６６００
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来の技術においては、次のような問題があった。
【００１０】
まず、特許文献２に記載のシステムでは、ユーザは、表計算ドキュメントに対して、あらかじめ印刷範囲を指定する必要があった。
【００１１】
また、表計算ドキュメントを、ロール紙に対してページの幅一杯に、かつ、ページ内に収めて印刷するためには、
（１）表計算ドキュメント毎に、印刷範囲の縦横比に応じた非定型の用紙サイズを算出し、
（２）表計算ソフトに対して、算出した用紙サイズを設定し、
（３）印刷を行うプリンタのプリンタドライバに対して、算出した用紙サイズの原稿をロール紙の幅一杯に印刷されるように設定を行う
という一連の手順を踏む必要があった。そして、以上述べてきた手順は、高度な技術を要し、表計算ドキュメントを印刷する際の大きなハードルとなっていた。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明の印刷制御装置は、印刷対象の領域に対するページの割り当てが可能なアプリケーションにより生成された印刷データに基づく画像を、印刷装置に印刷用紙へ印刷させるための印刷制御装置であって、前記アプリケーションに所定の用紙サイズを設定することによって前記アプリケーションに当該所定の用紙サイズに対応するページを前記印刷対象の領域に対して割り当てさせ、当該割り当てられたページのページ数に応じて、当該所定の用紙サイズが当該ページ数により積算されたときのサイズに基づく当該印刷対象の領域に対応する用紙サイズを決定する決定手段と、前記決定手段により決定された用紙サイズに基づき、前記アプリケーションにより当該用紙サイズに応じて生成された前記印刷対象の領域に対応する印刷データに基づく画像であって、印刷対象の印刷用紙の大きさに応じた大きさの画像を、印刷装置に当該印刷用紙へ印刷させる印刷制御手段と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、印刷用紙の大きさに応じた大きさの画像を、印刷装置に印刷させることができる。
【発明を実施するための最良の形態】
【００１９】
以下では、本発明の好適な実施形態の一例として、表計算ソフトのプラグインソフトウェア（以下プラグインと表記）を挙げ、プラグインの動作に基づき、表計算ソフトでの用紙サイズの決定方法について説明する。
【００２０】
ここで、プラグインとは、アプリケーションに対して機能を追加するプログラムである。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ（米国マイクロソフト社）や、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（米国マイクロソフト社）やＮｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（米国Ｎｅｔｓｃａｐｅ社）などは、自身の機能を拡張させるための手段を公開している。そのため、これらのアプリケーションはプラグインを登録して機能を追加することが可能となっている。
【００２１】
図１は、本発明の一実施形態であるプラグインを有するシステムのシステム構成図を示したものでであり、ＰＣ１０１と、大判プリンタに代表されるプリンタ１０２によって構成される。
１０３は、ＰＣ１０１上で動作する表計算ソフトであり、本実施例では、一般的な表計算ソフトである、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（米国マイクロソフト社）を想定して説明する。
【００２２】
１０４は、表計算ソフトの機能を拡張する拡張手段（プラグイン）であり、表計算ソフト上で動作し、表計算ソフトや、プリンタを制御するプリンタドライバと連携して動作する。
【００２３】
１０５は、アプリケーションがオペレーティングシステム（以下ＯＳと表記）を介してプリンタに印刷を依頼するプリンタドライバである。プリンタドライバはＯＳを介して受け取った印刷命令を解釈し、プリンタで解釈可能な印刷データの生成を行う。また、プラグイン１０４からの印刷設定の変更を受け付ける。
【００２４】
１０５は、プラグインの備える印刷設定管理部であり、後述する印刷設定プログラムを有する。
【００２５】
１０６は、プラグインの備える用紙サイズ管理部であり、表計算ドキュメントの用紙サイズの算出を行う用紙サイズ算出プログラムを有する。本発明の実施例の主要部分は、用紙サイズ管理部１０６に含まれる。
【００２６】
図２はＰＣの内部構造と外部との接続を示したブロック図である。
【００２７】
このＰＣは一般的な構成からなり、ＣＰＵを備えた中央処理装置２０１、ＲＡＭなどの記憶装置２０２、マウスやキーボード等の入力装置２０３、ＣＲＴやＬＣＤなどの表示装置２０４、ハードディスクや光磁気ディスク等の補助記憶装置２０５からなり、それぞれが内部バスラインＩＢにより接続されている。
【００２８】
入力装置２０３は、表計算ソフト１０３やプラグイン１０４が表示装置に表示するアイコンやメニュー、その他のオブジェクトに対し、ユーザからの各種入力を行うものである。
【００２９】
補助記憶装置２０５には、プラグイン１０４や表計算ソフト１０３やＯＳ、その他プログラム情報が格納されており、中央処理装置２０１から適宜呼び出され記憶装置２０２に格納される。
【００３０】
また、ＰＣ１０１の内部バスラインＩＢはプリンタ１０２と外部バスラインＢＬによって接続され、ＰＣからプリンタ１０２に対して、印刷ジョブの登録を行うことができる。
【００３１】
図３は表計算ソフト１０３を起動した画面を表している。表計算ソフトの画面は、現在編集中のドキュメントのタイトル等を表示するタイトルバー３０１と、表計算ソフトの備える機能をメニュー形式で表示するメニューバー３０２と、プラグインや表計算ソフトの備える機能がアイコン等にコントロール化して配置されるツールバー３０３と、現在編集中の表計算ドキュメントの表示を行う文書表示領域３０４からなる。
【００３２】
３０５はプラグイン１０４を表計算ソフト１０３にシステム登録することにより、表計算ソフトのツールバー３０３上に表示されるプラグイン起動アイコンである。ここで、表計算ソフトには既にプラグインが登録されているものとする。表計算ソフトに対するプラグインのシステム登録の方法については、公知であるため説明を省く。
【００３３】
図４はプラグイン起動アイコン３０５をユーザが押下することにより、プラグイン１０４が表示装置２０４に表示する印刷メニューダイアログ４０１である。
【００３４】
印刷メニューダイアログ４０１は、現在編集中の表計算ドキュメントに対して二通りの印刷方法を選択できるメニューを備えている。
【００３５】
４０２は現在編集中の表計算ドキュメントにおいて、表計算データが存在するセル範囲全体を印刷範囲として１ページに収めて印刷を行う「シート全体を印刷する」メニューである。
【００３６】
４０３はユーザがプラグイン起動アイコン３０５を押下する直前に選択していたセルの範囲を印刷範囲として１ページに収めて印刷を行う「選択した範囲を印刷する」メニューである。
【００３７】
４０４はキャンセルボタンであり、ユーザによって押下されると、印刷メニューダイアログを閉じ、プラグインの動作を終了する。
【００３８】
本実施例では、特にメニュー４０２が押下された時の動作について説明する。
【００３９】
図５はユーザが印刷メニューダイアログ４０１でメニュー４０２を押下することにより、プリンタ１０２の備えるロール紙に出力される印刷物のイメージ図である。図示したように、本実施例のプラグインを通して印刷を行うことにより、表計算ドキュメント上で表計算データが存在する範囲を自動で印刷範囲とし、印刷範囲の収まる用紙サイズを自動で算出して表計算ソフトに設定し、プリンタからロール幅紙一杯に印刷を行う。
【００４０】
以下では、プラグインの動作についてフローチャートに沿って説明し、本発明における用紙サイズの算出方法について詳細に説明する。
【００４１】
図６はプラグイン１０４の備える印刷メニューダイアログ４０１で、ユーザがメニュー４０２を押下した時に呼び出される印刷設定プログラムの動作を示したフローチャートである。
【００４２】
まずＳ６０１では、表計算ドキュメントにおいて表計算データが存在するセル範囲全体が１ページ内収まる用紙サイズの算出と設定を行う。ここで、用紙サイズの算出と設定については、後述する用紙サイズ算出プログラムによって行われる。
【００４３】
図７は、用紙サイズ算出プログラムの動作を示したフローチャートである。
【００４４】
まずＳ７０１では、表計算ドキュメントに対して基準とする用紙サイズ（基準用紙サイズ）を用紙サイズとして設定する。
【００４５】
ここで基準用紙サイズについては、特に大きさを特定するものではなく、プリンタドライバで扱えるサイズであればいかなるサイズであってもよいものとする。
【００４６】
ここでは、基準用紙サイズの一例としてプリンタドライバの扱える最小の用紙サイズを想定して説明を進める。
【００４７】
次にＳ７０２では、現在の用紙サイズ設定（Ｓ７０１で基準用紙サイズに設定されている）でのページ数（横方向Ｘページ×縦方向Ｙページ）によって、処理の分岐を行う。
【００４８】
ここで表計算ソフトは、一般的に、表計算ドキュメントのセルの幅高に対応するサイズを保持している。そのため、設定された用紙サイズの幅高に対して、どの範囲のセルが用紙サイズに収まるかが分かる。つまり、現在の用紙サイズで印刷するとどのセルでページが分割されるかが分かるようになっている。
【００４９】
Ｓ７０２では基準用紙サイズで印刷した時に１×１ページに収まる場合は、基準用紙サイズを用紙サイズと設定した状態で用紙サイズ算出プログラムを終了する。一方、１×１ページに収まらない場合は、処理をＳ７０３に進める。
【００５０】
Ｓ７０３では基準用紙サイズと、Ｓ７０２で取得したページ数（横方向Ｘページ×縦方向Ｙページ）から、表計算ドキュメント上の表計算データの存在するセル範囲が１ページ内に収まる用紙サイズ（ダミー用紙サイズ）を算出する。
【００５１】
ここで、ダミー用紙サイズの幅は、基準用紙サイズの幅を取得したページ数倍に拡大して求め、ダミー用紙サイズの高さは、基準用紙サイズの高さを取得したページ数倍に拡大して求める。具体的には、ダミー用紙サイズは、以下の計算式によって算出するものとする。
・ダミー用紙サイズ（幅）＝基準用紙サイズ（幅）×Ｘ
・ダミー用紙サイズ（高）＝基準用紙サイズ（高）×Ｙ
Ｓ７０４では、Ｓ７０３で算出したダミー用紙サイズを用紙サイズとして設定する。
【００５２】
次にＳ７０５では、現在の用紙サイズ設定（Ｓ７０４でダミー用紙サイズに設定されている）での横方向のページ数によって処理の分岐を行う。
【００５３】
横方向に１ページに収まると判別された場合は、Ｓ７０６に処理を移す。
【００５４】
Ｓ７０６では、ダミー用紙サイズの幅を１０％縮小したサイズを、再度、用紙サイズとして設定し、Ｓ７０５に処理を戻す。
【００５５】
そしてＳ７０５において１ページに収まると判別する間、Ｓ７０６の処理を繰り返し、Ｓ７０５において１ページに収まらないと判別された場合にＳ７０７に処理を移す。
【００５６】
次に、Ｓ７０７では、現在の用紙サイズ設定での縦方向のページ数によって処理の分岐を行う。
【００５７】
縦方向に１ページに収まると判別された場合は、Ｓ７０８に処理を移す。
【００５８】
Ｓ７０８では、ダミー用紙サイズの高さを１０％縮小したサイズを、再度、用紙サイズとして設定し、Ｓ７０７に処理を戻す。
【００５９】
そして、Ｓ７０７において１ページに収まると判別する間、Ｓ７０８の処理を繰り返し、Ｓ７０７において１ページに収まらないと判別された場合にＳ７０９に処理を移す。
【００６０】
続いてＳ７０９では、現在の用紙サイズ設定に対して、表計算データが存在するセル範囲全体を１ページに収めるための表計算ドキュメントの縮小率を取得する。前述したように表計算ソフトはセルの幅高に対応するサイズを保持している。そのため、セルの幅高に対応するサイズを縮小させれば１ページに収めることが可能であり、表計算ソフトからはその縮小率を取得できるようになっている。
【００６１】
Ｓ７１０では、現在設定されている用紙サイズをＳ７０９で取得した縮小率で除算したサイズを算出し、再度、用紙サイズとして設定を行う。
【００６２】
以上、述べてきたＳ７０１〜Ｓ７１０の処理を経て用紙サイズ算出プログラムを終了する。
【００６３】
図６の印刷設定プログラムのフローに戻る。
【００６４】
Ｓ６０１で用紙サイズの算出と、表計算ソフトに用紙サイズの設定を行った後、Ｓ６０２に処理が移る。
【００６５】
Ｓ６０２では、プリンタドライバ１０５に対して、Ｓ６０１で算出した用紙サイズの原稿をプリンタ１０２に装着されているロール紙の幅一杯に印刷されるように変倍設定を行う。
【００６６】
以上、説明してきた印刷設定プログラムの動作の後、プラグインは、表計算ソフトに対して印刷コマンドを送るように指示を行う。これによりプリンタからは図５に図示したような印刷物を得ることができる。
【００６７】
以下では、いくつかの表計算ドキュメント例において、前述した用紙サイズ算出プログラムが用紙サイズを算出するまでのフローを説明する。
【００６８】
まず、図８に示したような表計算ドキュメントを例として説明する。ここで図８の表計算ドキュメントは全てのセルの大きさが等しいものとする。
【００６９】
図８の点線８０１は、Ｓ７０１において基準用紙サイズ（本実施例では、プリンタドライバの扱える最小サイズを想定）を設定した時に、各ページに割り当るセル範囲を示している。
【００７０】
図８に示したように、基準用紙サイズでは、横方向４ページ×縦方向３ページに分割されるとする。用紙サイズ算出プログラムはこの分割数から、基準用紙サイズの幅を４倍、高さを３倍したダミー用紙サイズを算出して設定する。
【００７１】
図９は表計算ドキュメントにダミー用紙サイズを設定した時に、各ページに割り当るセル範囲を示した図である。図示したように、ダミー用紙サイズでは縦方向に２ページ×横方向に２ページに分割されるとする。そしてこの時、用紙算出プログラムはＳ７０６、Ｓ７０８の処理を行わない。
【００７２】
最後に、Ｓ７０９にて、ダミー用紙サイズに表計算データの存在するセル範囲を１ページに収めるための表計算ドキュメントの縮小率を取得し、Ｓ７１０にてダミー用紙サイズを縮小率で除算したサイズを用紙サイズとして決定する。
【００７３】
次に、図１０に示したような表計算ドキュメントを例として説明する。ここで図１０に示したように、この表計算ドキュメントはセルの大きさが種々異なっているとする。
【００７４】
図１０の点線で囲まれた範囲は、基準用紙サイズを設定した時に、各ページに割り当るセル範囲を示しており、基準用紙サイズでは、横３ページ×縦３ページになるとする。
【００７５】
図示したようにセルの大きさが異なる場合、１ページに収まるセルの個数も異なってくる。そして、このような表計算ドキュメントでは、ダミー用紙サイズ（幅：基準用紙サイズ幅の３倍、高さ：基準用紙サイズ高の３倍）を算出すると求めたい用紙サイズよりも大きくなりすぎてしまうことが多い。
【００７６】
そこで、用紙算出プログラムではＳ７０５〜Ｓ７０８において、１×１ページに収まらない程度のサイズまでダミー用紙サイズを縮小させる。
【００７７】
次に、Ｓ７０９では、現在のダミー用紙サイズに対し、表計算データの存在するセル範囲全てを１ページ内に収めるための、表計算ドキュメントの縮小率を取得する。
【００７８】
そして最後にＳ７１０でダミー用紙サイズを前述の縮小率で除算したサイズを用紙サイズとして決定する。
【００７９】
以上、述べたように、用紙算出プログラムを実行することにより、表計算ドキュメントを縮小させることなく、表計算データの存在するセル範囲全体を丁度１ページ内に収めるための用紙サイズが求めることができる。
【図面の簡単な説明】
【００８０】
【図１】本発明の一適用例の表計算ソフトのプラグインを有するシステムの概略構成を示すブロック図である。
【図２】本発明の一適用例の表計算ソフトのプラグインを有するＰＣの内部構造と外部との接続を示した図である。
【図３】表計算ソフトを起動した時の画面を示している。
【図４】プラグインの表示する印刷メニューダイアログを一例を示している。
【図５】本発明の一適用例の表計算ソフトのプラグインを用いて印刷した印刷物を図示したものである。
【図６】印刷設定プログラムの動作を示したフローチャートである。
【図７】用紙算出プログラムの動作を示したフローチャートである。
【図８】表計算ドキュメントの一例に対して、基準用紙サイズを設定した様子を図示したものである。
【図９】表計算ドキュメントの一例に対して、ダミー用紙サイズを設定した様子を図示したものである。
【図１０】表計算ドキュメントの一例に対して、基準用紙サイズを設定した様子を図示したものである。
【図１１】表計算ドキュメントの一例を図示したものである。
【図１２】図１１の表計算ドキュメントに定形の用紙サイズを設定して印刷した印刷物を図示したものである。
【図１】
0005253060.tif 000002
【図２】
0005253060.tif 000003
【図３】
0005253060.tif 000004
【図４】
0005253060.tif 000005
【図５】
0005253060.tif 000006
【図６】
0005253060.tif 000007
【図７】
0005253060.tif 000008
【図８】
0005253060.tif 000009
【図９】
0005253060.tif 000010
【図１０】
0005253060.tif 000011
【図１１】
0005253060.tif 000012
【図１２】
0005253060.tif 000013