説明

画像処理装置、画像処理方法、およびプログラム

【課題】 記録媒体に印刷を行う場合に、記録媒体の大きさに合わせたページ設定を簡単な操作で行うことが望まれている。
【解決手段】 記録媒体に印刷するためのデータを設定されている第1のサイズの記録媒体の設定されているページ数で印刷されるように作成する作成手段に、所定のページ数を設定する。また、作成された第1のサイズの所定のページ数に応じたデータに基づき、印刷データを生成する生成手段に、印刷する記録媒体のサイズに応じた印刷データを生成する設定を行う。

【発明の詳細な説明】
【技術分野】
【0001】
印刷装置に印刷させるための処理を行う画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【0002】
文字や数字を入力して表やグラフを作成し、また入力されている数値に基づき計算を行う表計算ソフトウェアが広く使用されている。この表計算ソフトウェアにより表示される表示画面では、数値や文字を入力するための領域がセルと呼ばれる単位に分割されている。ユーザは、この表示画面上のセルに数値や文字を入力することで表を作成することができる。
【0003】
このような表計算ソフトウェアが作成した表やグラフをプリンタが印刷する場合には、表やグラフに対してページが設定される必要がある。そこで表計算ソフトウェアは、印刷対象の表やグラフを用紙サイズに応じた領域に分割し、その分割された各領域を1ページに対応したデータとしている。
【0004】
ただし、ページとして設定されている領域が、ユーザが望んでいるものとは限らず、そのような場合にはページ設定に用いる用紙サイズや、1ページとして含ませるセルの範囲を変更する必要がある。通常、このようなページの調整は、ユーザがマウス等を操作することで行っていた。
【0005】
そこで、ユーザがこのような操作を行わなくとも、印刷範囲に合わせてページ設定を自動で行う技術が提案されている。例えば特許文献1に記載の技術では、ユーザが印刷範囲を設定すると、その印刷範囲に含まれるセルを示す情報や、列の幅を示す情報、また文字フォントの幅を示す情報に基づいて、印刷範囲の大きさを計算する。そして、計算された印刷範囲の大きさが用紙の1枚に収まる用紙サイズをシステム保有の定形の用紙サイズから自動で選択している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平10−006600号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した特許文献1に記載の技術によれば、印刷範囲を用紙の1枚に収めて印刷するためのページ設定を行うことができる。
【0008】
しかしながら、定型の用紙サイズを自動で選択できたとしても、ページ設定に用いた定型の用紙サイズの幅方向と高さ方向の長さが、表計算ソフトウェアで作成した印刷範囲の大きさに合わない場合があり、このような場合には、印刷した際に不要な余白が生じる。
【0009】
そこで本発明は上記の課題を鑑みてなされたもので、記録媒体の大きさに合わせた印刷を簡単な操作で行わせるための画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上述のような課題を解決するために本発明は、設定されている記録媒体の第1のサイズと設定されているページ数とに応じて印刷対象の表計算ドキュメントを変倍して、前記第1のサイズの記録媒体に前記ページ数で印刷するためのデータを作成する作成手段と、前記作成手段により作成されたデータに基づき、設定されている生成方法に従って印刷データを生成する生成手段とを有する画像処理装置であって、印刷する記録媒体のサイズを示す情報を入力する入力手段と、前記作成手段が表計算ドキュメントを変倍するためのページ数として、前記作成手段に所定のページ数を設定する第1の設定手段と、前記生成手段が印刷データを生成するための生成方法として、前記生成手段に、前記入力手段により入力された情報が示す第2のサイズに応じた印刷データを生成する生成方法を設定する第2の設定手段と、を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、記録媒体の大きさに合わせた印刷を行うための設定の少なくとも一部を、ユーザの操作に依らず行うため、記録媒体の大きさに合わせた印刷を簡単な操作で行わせることができる。
【図面の簡単な説明】
【0012】
【図1】実施例における印刷システムの構成を示すブロック図である。
【図2】図1で示した記録システムを構成するプリンタ2の外観斜視図である。
【図3】印刷された記録媒体の一例を示す図である。
【図4】ホスト1のソフトウェア構成を示すブロック図である。
【図5】表計算ソフトウェア401を起動した際の表示画面を示す図である。
【図6】ロール紙幅指定ダイアログを示す図である。
【図7】プリンタ2が備える余白削除機能を説明するための図である。
【図8】プラグインソフトウェア402の処理手順を示したフローチャートである。
【図9】表計算ソフトウェア401における印刷範囲に設定されるページを示す図である。
【図10】S802における表計算ソフトウェア設定部404の処理手順を示す図である。
【図11】表計算ソフトウェアによる変倍方法を設定するためのダイアログを示す図である。
【図12】印刷する記録媒体と印刷データとの関係を示す図である。
【図13】S803における印刷設定部405の処理手順を示す図である。
【図14】印刷設定ウィンドウの一例を示す図である。
【図15】印刷する記録媒体と印刷データとの関係を示す図である。
【発明を実施するための形態】
【0013】
(実施例1)
以下添付図面を参照して本発明の好適な実施例として、表計算ソフトウェアに対するプラグインソフトウェアを例に挙げ、プラグインソフトウェアの動作について具体的かつ詳細に説明する。なお、プラグインソフトウェアとは、アプリケーションに対して機能を追加するプログラムである。現在、様々なアプリケーションの機能を拡張させるための手段が公開されており、このようなプラグインソフトウェアをアプリケーションに登録して機能を追加することが可能となっている。
【0014】
また、本実施例において、アプリケーションとして表計算ソフトウェアを例に説明する。
【0015】
また、本実施例において、「記録」(「印刷」「プリント」という場合もある)とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。さらに人間が視覚で知覚し得るように顕在化したものであるか否かも問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【0016】
また、「記録媒体」とは、一般的なプリンタで用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクやトナーなど記録に用いる記録材が受容可能であればよい。
【0017】
図1は、実施例における印刷システムの構成を示すブロック図である。この印刷システムは、画像処理装置としてのホストコンピュータ(以下、ホスト)1とインクジェットプリンタ(以下、プリンタ)2とから構成される。なお、本発明は、プリンタとしてロール紙に印刷するインクジェットプリンタを例にとって説明するが、電子写真記録方式のプリンタでもよいし、またはオフセット印刷機でもよい。また印刷する記録媒体はロール紙に限定されるものではない。ロール紙に限らず、印刷される範囲が予め定まっておらず印刷される範囲に応じて切断される記録媒体に適用できるものである。さらに、印刷を行う前に用紙サイズが予め決まっている所謂カット紙に対しても適用できるものである。
【0018】
図1に示すように、ホスト1とプリンタ2とは所定の双方向インタフェース3(例えば、USB、IEEE1394、TCP/IPなど)を介して互いに接続される。ホスト1はパーソナルコンピュータ(PC)などの画像処理装置であり、双方向インタフェース3を介してプリンタ2を制御し、印刷を行わせる。
【0019】
まずホスト1は、キーボード105などの操作装置や、LCDなどのディスプレイ107と接続されており、ハードディスク(HDD)などの外部記憶装置109を有する。またホスト1はその内部のメインボード100に、CPU101、RAM102、ROM103、キーボードコントローラ104、ディスプレイコントローラ106、ディスクコントローラ108、プリンタコントローラ110を有する。
【0020】
これらの構成要素はシステムバスに接続されており、CPU101が各構成要素を総括的に制御する。RAM102は、CPU101のメインメモリあるいはワークエリアとして機能する。ROM103は、オペレーティングシステム、またこの実施例における各機能を実現するためのプログラム、ブートプログラム、各種のアプリケーション、ユーザファイル、プリンタ制御コマンド生成プログラム(以下、プリンタドライバ)等を記憶する。CPU101はRAM102をワークメモリとして、ROM103に記憶された各種のプログラムを実行することで、ホスト1の各構成要素を制御することができる。
【0021】
キーボードコントローラ104は、キーボード105やポインティングデバイス(不図示)等の操作装置を制御し、それらの操作装置からユーザの指示を入力する。ディスプレイコントローラ106は、ディスプレイ107を制御し、RAM102に格納されている画像データをディスプレイ107に表示させることができる。
【0022】
ディスクコントローラ108は、ハードディスク等の外部記憶装置109とのアクセスを制御し、外部記憶装置109に対するデータの読み書きを行う。プリンタコントローラ110は、双方向インタフェース3を介してプリンタ2に接続されており、プリンタ2とのデータ及びコマンドの通信処理を制御する。このプリンタコントローラ110の制御によりRAM102に格納されている画像データをプリンタ2に出力して印刷させることができる。
【0023】
次にプリンタ2について説明する。図1に示すようにプリンタ2は、コントローラ121とプリンタエンジン122と操作パネル12と不揮発性記憶装置133とを有し、双方向インタフェース3を介して、ホスト1と接続されている。
【0024】
不揮発性記憶装置133は、ハードディスク128またはEEPROM129等の不揮発性メモリを含む。
【0025】
コントローラ121は、CPU124、ROM125、RAM126、インタフェースコントローラ123、ディスクコントローラ127、パネルインタフェース130、エンジンインタフェース132を有する。これらの構成要素は図1に示すようにシステムバスにより接続されており、CPU124は、各種プログラムを実行して、各構成要素を総括的に制御する。ROM125には、プリンタエンジン122を制御するための各種のプログラムが記憶されている。RAM126は、各種データや、CPU124が実行する各種プログラムを一時的に記憶するワークエリアとして用いられる。CPU124はRAM126をワークメモリとして、ROM125に記憶されたプログラムを実行することで、プリンタ2の各構成要素を制御することができる。
【0026】
インタフェースコントローラ123は、双方向インタフェース3を介してホスト1に接続され、ホスト1とのデータとコマンドの通信処理を制御する。例えば、ホスト1から印刷用画像データや、コマンド(印刷を実行させるコマンドや装置のステータスを問い合わせるコマンド、またプリンタの各種設定を変更するコマンド等)を受信する。このインタフェースコントローラ123が受信したデータやコマンドがCPU124に入力されると、CPU124はこれらの情報に応じて制御を行う。
【0027】
ハードディスク128は、ホスト1からのデータ及びそのデータに関する付属情報など大容量のデータを記憶する。EEPROM129は、記録動作時に使用するプリンタ独自の情報などを記憶する。ディスクコントローラ127は、不揮発性記憶装置133とのアクセスを制御し、不揮発性記憶装置133に対してデータの読み書きを行う。パネルインタフェース130は、操作パネル12への表示や操作パネル12からの入力を制御する。エンジンインタフェース132は、記録を実現させるプリンタエンジン122を直接制御する。プリンタエンジン122はインクジェット記録方法を用いた機構であり、印刷用紙等の記録媒体を搬送して、その記録媒体に記録を行う。印刷を行う印刷用紙の種類としては、ロール紙やカット紙を用いることができ、ロール紙等の搬送方法の長さが予め決まっていない印刷用紙に対しては、不図示のカッターにより印刷を行った印刷用紙を切断する。
【0028】
図2は、図1で示した記録システムを構成するプリンタ2の外観斜視図である。図2に示されるように、プリンタ2の前面には手差し挿入口88が設けられている。また、その下部には開閉可能なロール紙カセット89が設けられていおり、記録媒体としてロール紙を用いる場合には、ここにロール紙がセットされる。そして不図示の搬送ユニットにより、手差し挿入口88又はロール紙カセット89にセットされた印刷用紙等の記録媒体を、記録を実行するプリンタ内部へと供給する。
【0029】
プリンタ2は、さらに2個の脚部93に支持された装置本体94、排紙された記録媒体を積載するスタッカ90、内部が透視可能な透明で開閉可能なアッパカバー91を備えている。また、装置本体94の右側には、制御ユニット5、操作パネル12、インク供給ユニット(不図示)及びインクタンク8が配設されている。図2に示した装置の例では、カット紙に換算して、B0、A0サイズなどの大きなサイズの記録媒体への記録が可能となっている。
【0030】
このプリンタ2では、双方向インタフェース3を介してホスト1から受信した印刷データに基づき、記録媒体に印刷を行う。ただし、印刷するデータの大きさと印刷する記録媒体の大きさが適合していない場合に、印刷するデータが記録媒体からはみ出す、または記録媒体に不要な余白が発生することがある。
【0031】
図3は、余白が発生した場合の記録媒体を示す図であり、図3(A)、図3(B)はそれぞれロール紙、カット紙で生じた余白を示す。例えば図3(A)では、ユーザがロール紙の幅に合わせて表を印刷したい場合であっても、作成された表の幅と、表計算ソフトウェアにおいて設定されている用紙サイズの幅とが異なる場合には、余白301が生じる。また同様にカット紙の場合でも、作成された表やグラフの幅、高さと、表計算ソフトウェアにおいて設定されている用紙サイズの幅、高さが異なる場合には、余白302、余白303が生じる。
【0032】
図4は、ホスト1のソフトウェア構成を示すブロック図である。
【0033】
401は、ホスト1上で動作する表計算ソフトウェアである。この表計算ソフトウェア401は文字や数字といったデータを入力して表を作成し、また入力されたデータに基づきグラフを作成することができる。なお、本実施例では、表計算ソフトウェア401により作成される表やグラフ等を表計算ドキュメントとも呼ぶ。
【0034】
また表計算ソフトウェア401は、用紙サイズを設定して、設定した用紙サイズに応じて表やグラフ等の表計算ドキュメントに対してページを割り当てることでページ設定を行う。また、そのページ設定では、設定されている用紙サイズに対して表やグラフ等のデータを拡大、縮小することができる。そして、印刷の指示を入力すると、ページ設定に従って印刷対象のデータを作成してプリンタドライバ403に渡す。
【0035】
なお、一般的な表計算ソフトウェアは、ユーザが文字や数字を入力するための領域のうち、印刷対象とする領域を決定することができる。たとえば文字や数字の入力、また着色などの所定の処理が行われたセルを全て含む領域を印刷対象の領域として決定する。これにより、ユーザが指示を行わなくとも、印刷対象の領域を決定することができる。
【0036】
402は、表計算ソフトウェアの機能を拡張するためのプラグインソフトウェアである。このプラグインソフトウェア402は、表計算ソフトウェア401に組み込まれており、表計算ソフトウェア401やプリンタドライバ403に対してコマンドを与えるなど、これらのソフトウェアと連携して動作する。
【0037】
403はプリンタドライバであり、オペレーティングシステム(以下OSと表記する)を介してアプリケーションから印刷対象のデータを受け取り、受け取ったデータに基づいてプリンタで印刷可能な印刷データの生成を行う。そして、プリンタ2に作成した印刷データを送信して印刷を実行させる。
【0038】
またプリンタドライバ403は、プリンタ2に印刷させる際の印刷設定を行い、その設定されている印刷設定に応じて印刷データを生成する。その印刷設定には、印刷する用紙のサイズの設定や、印刷データを生成する際の変倍方法の設定が含まれる。印刷を行わせる際には、設定されている用紙サイズや変倍処理といった印刷データの生成方法に従って印刷データを生成する。
【0039】
なお、表計算ソフトウェア401やプリンタドライバ403は、プラグインソフトウェア402と連動できるものであり、プラグインソフトウェア402からのコマンドを受け取ると、そのコマンドに応じて処理を行う。
【0040】
また、以上の表計算ソフトウェア401、プラグインソフトウェア402、プリンタドライバ403のそれぞれに対応したプログラムはROM103または外部記憶装置109に格納されている。そして、そのプログラムをCPU101が実行することにより、これらのソフトウェアの処理を実現できる。
【0041】
404は、プラグインソフトウェア402の備える表計算ソフトウェア設定部であり、表計算ソフトウェア401に各種の設定を行うための処理を行う。405は、プラグインソフトウェアが備える印刷設定部であり、プリンタドライバ403に各種の設定を行い、印刷を実行させる処理を行う。これら表計算ソフトウェア設定部404、印刷設定部405の処理の詳細については後述する。
【0042】
図5は、表計算ソフトウェア401を起動した際の表示画面を示す図である。タイトルバー501には、表計算ソフトウェア401により作成された現在編集中のファイルのタイトル等が表示される。またメニューバー502には、表計算ソフトウェア401の備える機能がメニュー形式で表示される。ツールバー503には、表計算ソフトウェア401の備える各種の機能やプラグインソフトウェアを実行するためのアイコンが表示される。表示領域504には、現在編集中の表やグラフ等の表計算ドキュメントが表示される。
【0043】
アイコン505はプラグインソフトウェアを起動させるためのアイコンであり、プラグインソフトウェア402を表計算ソフトウェア401に登録することにより、表計算ソフトウェア401のツールバー503上に表示される。ユーザがマウス等でこのアイコン505を指定すると、プラグインソフトウェア402が起動する。このプラグインソフトウェア402の処理については後述する。
【0044】
図5に示した表示画面上でユーザがマウス等を用いて指示を行うと、表計算ソフトウェア401に対して各種の設定や命令を行うことができる。例えば図5に示したメニューバー502からページ設定のための項目が選択されると、ページ設定を行うための表示がされて、ユーザはその表示に従って、ページ設定に用いる用紙サイズや、その用紙サイズへのデータの変倍方法を選択することができる。
【0045】
図11は表計算ソフトウェアによる変倍方法を設定するためのダイアログを示す図である。拡大縮小設定ダイアログ1101は、拡大/縮小率指定ラジオボタン1102、ページ数指定ラジオボタン1103、OKボタン1104、キャンセルボタン1105からなる。拡大/縮小率指定ラジオボタン1102を選択すると、指定されている拡大縮小率で印刷対象のデータを変倍するモードとなる。この状態でOKボタン1104が押下されると、印刷対象として設定されているデータに対して、指定されている拡大縮小率で変倍されたページを割り当てる。
【0046】
一方、ページ数指定ラジオボタン1103を選択すると、指定されているページ数となるように印刷対象のデータを変倍するモードとなる。この状態でOKボタン1104が押下されると、印刷対象として設定されているデータに対して指定されているページ数のページが割り当てられる。例えば、ページ数指定ラジオボタン1103を選択し、縦1ページ、横1ページを指定することで、印刷対象のデータが1ページに収まる変倍率を設定することができる。なお、キャンセルボタン1105を押下すると、拡大縮小設定ダイアログ1101を起動した画面へ戻る。
【0047】
また、図5に示したメニューバー502から印刷するための項目を選択し、更に印刷を行うプリンタとしてプリンタ2を選択することで、プリンタ2に対応したプリンタドライバ403を呼び出すことができる。そして、プリンタドライバ403が呼び出されると、印刷設定を行うための印刷設定ウィンドウを表示することができる。
【0048】
図14は、印刷設定ウィンドウの一例を示す図であり、1401は印刷対象のデータの変倍を設定するためのダイアログである。コンボボックス1402にはアプリケーションに設定されている用紙サイズが原稿サイズとして表示されている。そして、ユーザがマウス等で指示するとプルダウンメニューが表示され、そこから選択を行うことによって原稿サイズを変更することができる。
【0049】
また、チェックボックス1403を指定すると、印刷を行う記録媒体のサイズ(出力用紙サイズ)への印刷データを生成する際の変倍方法を選択することができる。出力用紙サイズ指定ラジオボタン1404を選択すると、出力用紙サイズとしてユーザが指定する任意の用紙サイズに対して、1402で登録されている原稿サイズから拡大、または縮小する方法が指定される。ロール紙幅指定ラジオボタン1405を選択すると、コンボボックス1407で指定されているロール紙幅に合わせて、原稿サイズから拡大縮小する方法が指定される。倍率指定ラジオボタン1406を選択すると、ユーザが指定する倍率で原稿サイズを拡大、または縮小する方法が指定される。
【0050】
さらに、チェックボックス1403を指定すると、印刷用紙の搬送方向の余白を低減させるための余白削除機能が設定される。
【0051】
図7は、プリンタ2が備える余白削除機能を説明するための図である。この機能は、プリンタドライバ403からの制御コマンドに応じて、プリンタ2が印刷を制御することによって実現される。プリンタドライバ403は、印刷対象の画像のうち印刷すべきデータを有する領域に対しては紙送り、またインクの吐出を行わせ、印刷対象の画像のうち余白としてのデータを有する領域に対しては紙送りやインクの吐出を行わせない。これにより印刷する画像内の余白を減らして印刷を行うことができる。
【0052】
図7(A)は余白削除機能を使用せずに印刷した記録媒体の一例である。図7(A)に示す701は、印刷すべき有効なデータが印刷された領域である。そして、この領域701の上下に余分な空白702、703が含まれていることがわかる。
【0053】
そこでプリンタ2は、印刷する画像のデータを解析して、例えば白データであるか否かで印刷すべきデータか、余白かを判定し、余白と判定された領域に対しては紙送りやインクの吐出を行わない。図7(B)は余白削除機能を使用して印刷した記録媒体の一例である。余白削除機能を用いることで印刷すべきデータと判定した以外のデータに対しては紙送りを行わないので、領域701の上下に対応するデータに対しては紙送りされずに、図7(B)に示すように領域701以外の余白が除かれた印刷物を得る事ができる。
【0054】
この図7にも示すように、ロール紙等の搬送方向の長さが予め定まっていない用紙に印刷する場合、印刷する印刷データに応じた位置で切断を行うことができる。そのためこのような用紙に対しては、印刷を行う画像の内容に応じた位置で用紙を切断することで、搬送方向に対応して発生する余白を除くことができる。
【0055】
なお、この余白削除機能は、上述のようにプリンタ2において実行されてもよいし、またはプリンタドライバ403が実行してもよい。プリンタドライバ403で実行する場合には、印刷データに対して、印刷すべきデータか余白としてのデータかを判断し、印刷すべきデータと判断した印刷データをプリンタ2に印刷させる。
【0056】
次に、本実施例のプラグインソフトウェア402の動作についてフローチャートを用いて説明する。プラグインソフトウェア402は、図5で示したアイコン505が押下されることで起動する。
【0057】
図8は、プラグインソフトウェア402の処理手順を示したフローチャートである。この処理は、ROM103からプラグインソフトウェア402に対応するプログラムが呼び出されて、CPU101がそのプログラムを実行することで実現される。またこの処理を実行するタイミングは、プラグインソフトウェア402が起動したときに実行されてもよいし、またはプラグインソフトウェアが表示させるメニュー画面において、ユーザにより本処理に対応する機能が選択されたときに実行されてもよい。
【0058】
アイコン505が押下されると、まずS801で、プリンタ2にセットされているロール紙の幅を示す情報を入力する。そのために、ユーザにロール紙の幅を入力させるための表示画面をディスプレイ107に表示させる。
【0059】
図6は、ロール紙幅指定ダイアログを示す図である。ロール紙幅指定ダイアログ601は、ロール紙幅を指定するコンボボックス602と、印刷ボタン603と、キャンセルボタン604からなる。このロール紙幅指定ダイアログでは、印刷するロール紙の幅をコンボボックス602にて指定し、印刷ボタン603を押下することで、指定されているロール紙の幅を示す情報が入力される。またキャンセルボタン604を押下されると、図5で示した画面へ戻る。
【0060】
なお、プリンタ2にロール紙幅を検出するセンサが搭載されている場合には、プリンタ2にロール紙幅の検出を指示して、センサにより検出されたロール紙幅を入力してもよい。また、プラグインソフトウェア402が起動する以前に、ロール紙幅を示す情報をホスト1が記憶している場合には、その記憶されている情報を入力してもよい。
【0061】
S801においてロール紙の幅を示す情報を入力すると、S802に進む。S802では、表計算ソフトウェア設定部404が、表計算ソフトウェア401に対する設定を行う。このS802では、表計算ソフトウェア401に対して、用紙サイズを設定し、またその設定された用紙サイズに対して印刷対象のデータを変倍する変倍方法の設定を行う。このS802における処理の詳細については図9、図10を用いて後述する。
【0062】
S803では、印刷設定部405が、プリンタドライバ403に対する設定と印刷指示を行う。このS803では、S802で設定した用紙サイズに対応したデータがS801で入力した幅のロール紙に印刷されるように、プリンタドライバ403に対して、変倍処理と余白削除機能の設定を行う。このS803における処理の詳細については図12、図13を用いて後述する。
【0063】
次に、S802における表計算ソフトウェア設定部404の処理を説明する。この表計算ソフトウェア設定部404は、表計算ソフトウェア401に対してページ設定を行う。
【0064】
図9は、表計算ソフトウェア401における印刷範囲に設定されるページを示す図である。この図9で示す点線が、表計算ソフトウェア401により作成された表、グラフに対して設定されているページを表している。図9(A)は表計算ソフトウェア設定部404が処理を行う際のページ設定の初期状態であり、この状態では、印刷対象のデータが設定されている用紙サイズに対して12ページで印刷されることとなる。そこでS802では、表計算ソフトウェア401に対して、指定した用紙サイズに指定したページ数でページが設定されるように、印刷対象のデータの変倍方法を設定する。
【0065】
図10は、S802における表計算ソフトウェア設定部404の処理手順を示す図である。図10(A)は、表計算ソフトウェア設定部404の処理手順を示すフローチャートであり、また図10(B)は、表計算ソフトウェア401、プリンタドライバ403に対する処理を示すシーケンス図である。
【0066】
図10(A)に示すフローチャートにおいて、まずS1001では、プリンタドライバ403から、プリンタドライバ403が作成可能な最大の用紙サイズを示す情報を取得する。プリンタドライバ403は、ユーザが指定した任意の用紙サイズを、アプリケーションから受け取るデータに設定される用紙サイズとして作成する機能を持っている。S1001では、プリンタドライバ403が有するこのような機能を用いて作成することが可能な最大の用紙サイズを取得する。
【0067】
次にS1002において、表計算ソフトウェア401に設定する用紙サイズの幅を決定する。この幅は、後述する表計算ソフトウェア401による変倍処理でページの幅方向で余白を生じさせないために、表計算ソフトウェア401が決定した印刷範囲の幅よりも短くなるように設定する。なお、本実施例において1ページに収める印刷対象のデータは、表計算ソフトウェア401が決定する。上述したように表計算ソフトウェア401は、例えば文字や数字の入力、または着色等の所定の処理が行われたセルを印刷対象のデータとして決定することができる。表計算ソフトウェア設定部404は、表計算ソフトウェア401から印刷範囲の幅を示す情報を取得することで、用紙サイズの幅を印刷範囲の幅よりも短く設定する。
【0068】
次にS1003において、表計算ソフトウェア401に設定する用紙サイズの高さを算出する。表計算ソフトウェア401に設定する用紙サイズの縦横比は、後述する表計算ソフトウェア401による変倍処理でページの幅方向で余白を生じさせないために、印刷対象の範囲よりも縦長であることが望ましい。ところで、プリンタドライバ403で作成可能な最大の用紙サイズは、非常に縦長な設定になっている場合が多いため、本実施例では、プリンタドライバ403で作成可能な最大の用紙サイズの縦横比と一致するように、設定する用紙サイズを算出する。本実施例では一例として、S1001にて取得した作成可能な用紙サイズの最大の幅を、設定する用紙サイズの幅として採用する。
【0069】
従って、S1003における算出に必要なパラメータは、S1001にて取得した作成可能な用紙サイズの最大の幅、最大の高さ、S1002にて決定した用紙サイズの幅である。そして、設定する用紙サイズの高さは、「最大の高さ×(設定する用紙サイズの幅/最大の幅)=設定する用紙サイズの高さ」の式で算出される。なお、本実施例では決定した用紙サイズの幅が最大の幅であるため、用紙サイズの高さは、プリンタドライバ403が作成可能な最大の高さとなる。このS1002、S1003に示す処理により、プリンタドライバ403で作成可能な最大の用紙サイズと同じ縦横比の用紙サイズを算出することができる。
【0070】
次にS1004において、S1002において決定した幅とS1003にて算出した高さを有する用紙サイズの作成をプリンタドライバ403に指示する。ここでは、作成可能な最大の用紙サイズの作成をプリンタドライバ403に指示する。
【0071】
次にS1005において、S1002、S1003において算出された用紙サイズを表計算ソフトウェア401に設定する。すると、S1005における処理により図9(A)で示したページ設定が変更されて、図9(B)のように高さ方向に1ページ、幅方向に2ページとなる設定がされる。よって、S1002、S1003で算出した用紙サイズに対して印刷対象のデータを1ページに収めるためには、作成された用紙サイズに対して表計算ソフトウェア401で作成されるデータを変倍する必要がある。
【0072】
そこで、S1006において、設定されている用紙サイズに対するデータの変倍を表計算ソフトウェア401に指示する。ここでは、表計算ソフトウェア401における印刷範囲の高さが1ページに収まり、また幅が1ページに収まるようにデータの拡大縮小を行う。これにより、表計算ソフトウェア401に、プリンタドライバ403へ渡す印刷対象のデータをS1002、S1003で作成した用紙サイズの1ページに合わせて変倍させることができる。
【0073】
なお、このように印刷対象のデータが指定されたページ数に収まるようにページサイズを設定する機能は一般的な表計算ソフトウェアが備えている。上述したように、例えば図11で示したダイアログでは、ページ数指定ラジオボタン1103を選択すると、指定されているページ数となるように印刷対象のデータを変倍するモードとなる。ユーザは、ページ数指定ラジオボタン1103を選択し、縦1ページ、横1ページを指定することで、印刷対象の表やグラフを設定された用紙サイズの1ページに収めるための変倍処理を設定することができる。
【0074】
一方、図10のS1006では、表計算ソフトウェア設定部404が、表計算ソフトウェア401に対してページ数を指定し、またその指定したページ数に合わせた変倍処理を設定する。なお、ラジオボタンが既に選択され、縦1ページ、横1ページが設定されていることを、表計算ソフトウェア設定部404が認識している場合は、表計算ソフトウェア401の設定を変更する動作を行わなくてもよい。
【0075】
このS1006における処理によって、表計算ソフトウェア401により作成された印刷対象のデータに対する変倍処理を、印刷対象のデータがS1005で設定した用紙サイズに合わせて1ページに収まるように設定することができる。これにより、図9(B)で示したドキュメントの状態が変更され、図9(C)のように印刷範囲の幅が、設定されている用紙サイズの1ページに合わせて変倍されたページ設定となる。
【0076】
しかしながら、表計算ソフトウェアの変倍率には制限があることがある。また上述のように、プリンタドライバが作成可能な用紙サイズにも上限があるため、S1005で表計算ソフトウェアに設定する用紙サイズにも上限がある。従って、表計算ソフトウェアにおいて印刷範囲が非常に大きい場合に、設定されている用紙サイズの1ページに収めるための縮小率が表計算ソフトウェアの縮小率の制限を越えてしまうことがある。すると、S1006において表計算ソフトウェアに1ページに収めるための設定を行ったとしても、結果として、表計算ソフトウェアにより作成された印刷対象のデータが、用紙サイズの1ページに収まらない場合がある。
【0077】
そこでS1007では、印刷対象のデータが1ページに収まっているかを判定する。表計算ソフトウェア設定部404は、表計算ソフトウェア401から設定されているページ数を示す情報を取得して印刷対象のデータが1ページに収まっているかを判定する。1ページに収まっていると判定した場合には、そのまま処理を終了し、1ページに収まっていないと判定された場合、S1008において印刷不可フラグを立てて終了する。上記の例では、1ページに収まっていると判定されたものとして説明する。
【0078】
以上のように、図10に示した表計算ソフトウェア設定部404の処理により、表計算ソフトウェア401に対して用紙サイズを設定し、その用紙サイズの1ページに合わせて印刷対象のデータを変倍する変倍処理を設定することができる。これにより、表計算ソフトウェア401からプリンタドライバ403へ渡される印刷対象のデータは、設定されている用紙サイズの1ページに合わせて変倍されたデータとなる。
【0079】
これにより、表計算ソフトウェア401で印刷対象として決定した表やグラフといった表計算ドキュメントが、設定されている用紙サイズの幅に合わせて変倍されたデータが、印刷対象のデータとしてプリンタドライバ403に渡される。したがって、プリンタドライバ403において、表計算ソフトウェア401に設定されている用紙サイズを印刷する記録媒体の大きさに変倍すれば、表やグラフを記録媒体の大きさに合わせて印刷することができる。
【0080】
なお、上述のように、S1005において最大の用紙サイズと同じ縦横比を有する用紙サイズを設定した場合には、通常は高さ方向に1ページ、幅方向に複数ページのページ設定が行われる。そのため、S1006の処理により印刷範囲を1ページに収める変倍を行った場合には、図9(C)に示すように印刷対象として設定した範囲が用紙サイズの幅に合うようにページ設定が行われる。しかしながら、印刷対象として設定した範囲が設定した用紙サイズよりも縦長である場合、1ページに収める変倍を行ったとしても、印刷範囲の高さ方向で用紙サイズに合うが、幅方向では用紙サイズに合わない。よって、このような場合には、印刷する記録媒体の幅方向の長さに合わせて印刷を行ったとしても、幅方向に余白が生じてしまうことがある。したがって、このように印刷対象として設定した範囲が設定した用紙サイズよりも縦長である場合にも、場合にも印刷フラグを設定してもよい。
【0081】
次にS803における印刷設定部405の処理を説明する。この印刷設定部405は、プリンタドライバ403に印刷設定を行って、表計算ソフトウェア401が作成した印刷対象のデータに基づき印刷データを生成させる。
【0082】
図12は、印刷する記録媒体と印刷データとの関係を示す図である。図12(A)は、表計算ソフトウェア設定部404の処理が終了し、印刷設定部405が動作する前に印刷を行った場合の印刷データと記録媒体との関係を示す図である。図10を用いて説明したように、本実施例ではプリンタドライバ403で作成可能な最大の用紙サイズに応じたデータが、表計算ソフトウェア401からプリンタドライバ403に渡されることになる。そのためプリンタドライバ403で作成可能な最大の用紙サイズに応じたデータ印刷データが作成される。ここでは、図12(A)に示すように、プリンタドライバで作成できる最大の用紙サイズの幅より小さな幅を持つロール紙に対する印刷を例に説明する。
【0083】
1201は、図10のS1004において、表計算ソフトウェア設定部404による指示に応じて作成した用紙サイズの幅であり、また1202は、図8のS801において入力した情報が示す、プリンタに装着されているロール紙の幅である。この状態ではロール紙の幅と用紙サイズが適合していないため、印刷を行った場合には印刷すべき画像が用紙からはみ出ることがわかる。
【0084】
そこで、プラグインソフトウェア402に含まれる印刷設定部405が、プリンタドライバ403の設定を行うことで、記録媒体に対する変倍率の設定や余白除去機能の実行を指示する。
【0085】
図13はS803における印刷設定部405の処理手順を示す図である。図13(A)は、表計算ソフトウェア設定部404の処理手順を示すフローチャートであり、また図13(B)は、表計算ソフトウェア401、プリンタドライバ403に対する処理を示すシーケンス図である。
【0086】
まずS1301において、印刷不可フラグが設定されているかを判定する。印刷不可フラグは、表計算ソフトウェア設定部404により前述のS1008において設定されている可能性があり、この印刷不可フラグが設定されている場合、印刷設定処理を終了する。なお、上述した例では印刷不可フラグが設定されていないため、S1302へ進む。
【0087】
S1302においては、プリンタドライバ403に、S1004において設定した用紙サイズから、コンボボックス602で指定されたロール紙幅への印刷データの変倍を設定する。この設定はロール紙に印刷するための一般的なプリンタドライバが備えている機能である。例えば図14に示したダイアログでは、ロール紙幅指定ラジオボタン1405を選択すると、コンボボックス1407で指定されているロール紙幅に合わせて、コンボボックス1402で設定されている原稿サイズから拡大縮小する方法が指定される。
【0088】
一方、S1302では、このような変倍方法の設定を、ダイアログ1401を表示させてユーザの指示に応じて行うのではなく、印刷設定部405がプリンタドライバ403に対して変倍方法の設定を行う。このS1302では、まず表計算ソフトウェア設定部404がS1004で作成した用紙サイズを、表計算ソフトウェア401に設定されている原稿サイズとして登録する。次に印刷設定部405は、ロール紙幅指定ラジオボタン1405を選択し、図8のS801で入力したロール紙幅をコンボボックス1407で指定する処理を行う。すると、このS1302における処理によって、図12(A)で示した状態が変更されて、図12(B)に示すようにロール紙の幅に合わせて縮小された印刷データを生成することができる。
【0089】
従ってS1302の処理によれば、ダイアログ1401の表示やユーザの操作がなくとも、ロール紙幅に合わせて印刷データを生成する方法を自動で選択することができる。ただし、このようにS1302における処理により印刷する印刷データのサイズを縮小することができたとしても、印刷すべき領域の上下に余白ができることがある。
【0090】
そこでS1303において印刷設定部405は、プリンタドライバ403に対して、余白削除機能を設定する。この機能はロール紙に印刷する一般的なプリンタが備えている機能であり、図7に示したように用紙の搬送方向にできる余白を除いて印刷を行うことができる。この余白削除機能を設定する場合、通常は図14に示すようなダイアログで、ユーザが余白削除機能を指定するチェックボックス1408を選択する。一方、S1303においては、プリンタドライバ403に対して余白削除機能を指定する処理を印刷設定部405が行う。図12(B)に示す状態では印刷すべき領域の下側に余白ができているが、S1303の処理によって、図12(C)に示すように余白が削減される。
【0091】
そしてS1304において、印刷をプリンタドライバ403に指示する。これにより、プリンタドライバ403は、S1302、S1303における印刷データに従って印刷データを生成して、プリンタ2に印刷データを出力する。すると、プリンタ2により印刷が行われて、図12(C)に示す印刷物を得る事ができる。
【0092】
このように印刷設定部405の処理により、表計算ソフトウェア401で作成された印刷対象のデータに基づく印刷データを、記録媒体の幅に合わせて生成させることができる。また、余白削除機能を実行させることにより、搬送方向に対応する余白を削除することができる。
【0093】
以上のように本実施例によれば、表計算ソフトウェアが作成した表やグラフ等の表計算ドキュメントを、設定した用紙サイズの大きさに合わせて変倍することができる。したがって、表計算ドキュメントの幅や高さが設定した用紙サイズの幅や高さに合わせて変倍されて、印刷対象のデータとして表計算ソフトウェアからプリンタドライバに渡される。そしてプリンタドライバでは、その設定した用紙サイズを印刷する記録媒体に合わせるように印刷データを作成するので、表やグラフを印刷する用紙サイズの大きさに合わせて印刷させることができる。
【0094】
また、本実施例では、プラグインソフトウェアが表計算ソフトウェアとプリンタドライバに対して設定を行っている。このため、表計算ソフトウェアとプリンタドライバに対する設定を、ユーザが行う必要がなく、ユーザは簡単な操作で記録媒体に合わせた印刷を行うことができる。また、本実施例ではプラグインソフトウェアにより処理を実現しているため、表計算ソフトウェアやプリンタドライバに特別な機能を追加しなくとも、簡単な操作で印刷用紙に合わせた印刷制御を実現することができる。
【0095】
なお以上の説明では、用紙サイズをロール紙幅に合わせるために縮小をする構成を説明したが、本発明はこれに限らず、用紙サイズをロール紙幅に合わせるために拡大する構成であってもよい。このとき印刷設定部405は図13のS1302において、プリンタドライバに対して、印刷対象のデータの拡大を設定する。
【0096】
図15は、印刷する記録媒体と印刷データとの関係を示す図である。この図15に示すように、印刷設定部405による処理により、印刷データをロール紙の幅に合わせて拡大して印刷を行うことができる。
【0097】
また、以上の実施例では、プリンタドライバ403に対して、ロール紙幅に合わせた変倍や余白削除機能など、記録媒体における余白を低減させるための設定を行っていた。しかし本発明はこれに限らず、印刷する記録媒体に対する任意の設定を行うことができる。例えば、表計算ソフトウェア401に設定されている用紙サイズが印刷する記録媒体に対して所定幅の余白を持つようにプリンタドライバ403に設定を行うと、印刷する表やグラフを、設定した幅の余白をもたせて印刷することができる。
【0098】
なお、以上の実施例では、印刷対象の表やグラフを1ページに収めるように表計算ソフトウェア401に対して変倍処理を設定する場合に、図9に示したようにデータを縮小して1ページに収める例を説明した。そのため、図10のS1002では、印刷対象の範囲の幅よりも短い幅を、表計算ソフトウェア401に設定する用紙サイズの幅として決定した。しかしながら、印刷対象の表やグラフを1ページに収めるように変倍処理が設定された場合に、表計算ソフトウェアが1ページに合わせてデータを拡大する場合であってもよい。その場合に、S1002では、プリンタドライバ403が作成可能な用紙サイズの幅以下であれば、任意の幅を決定することができる。
【0099】
さらに、上述の図10のS1002では、図8のS801で取得した記録媒体のサイズを示す情報に応じて設定してもよい。例えばロール紙の幅を示す情報を取得した場合には、その幅を一辺に持つ用紙サイズを設定してもよい。すると、S1004における処理により、この設定された用紙サイズがプリンタドライバ403における原稿サイズとなる。よって、この用紙サイズの1ページに合わせて作成されたデータが、表計算ソフトウェア401からプリンタドライバ403に渡されることになるため、プリンタドライバ403においては、変倍処理を行わなくてもよい。
【0100】
なお、本発明は、ロール紙等の印刷を実行した後に切断する記録媒体に限らず、印刷前に予め搬送方向の長さが定まっている所謂カット紙であっても記録媒体に合わせて印刷データを生成できるものである。以上の実施例によれば、表計算ソフトウェアにおいて設定されている用紙サイズの1ページに合わせて印刷対象のデータが作成される。このため、表計算ソフトウェアに設定されている印刷範囲の幅、高さの少なくとも一方は、その表計算ソフトウェアに設定されている用紙サイズに合わせて変倍されている。一方で、カット紙に印刷するプリンタに対応した一般的なプリンタドライバでは、設定されている用紙サイズの大きさに合わせて印刷データを生成することができる。
【0101】
そこでロール紙の場合と同様に、図8のS801において印刷するカット紙のサイズを入力し、図13のS1302において、S801で入力した用紙サイズに変倍する変倍方法を設定する。これにより、印刷するカット紙の高さ方向、幅方向の少なくとも一方の余白を低減して印刷させることができる。
【0102】
また、ロール紙の場合には、図8のS801において紙幅を入力していたが、カット紙に印刷する場合には用紙の縦横のサイズや、またA4、A3等の用紙の定型サイズを入力してもよい。そして、プリンタドライバには、入力された定型サイズの用紙や、入力された長さを持つ定型サイズの用紙を印刷する用紙サイズとして設定すればよい。
【0103】
さらに、以上の実施例では、表計算ソフトウェアのページ設定の際に、1ページに収まるように変倍処理を設定していたが、本発明はこれに限らず、所定の複数ページになるようにページ設定を行ってもよい。特にカット紙に印刷を行う場合には、複数ページの記録媒体のそれぞれで、記録媒体の大きさに合わせて印刷を行うことができる。
【0104】
なお、以上の説明ではアプリケーションの例として表やグラフを作成する表計算ソフトウェアを例に説明した。しかし、本発明はこれに限らず、設定された用紙サイズの指定されたページ数に合わせてページ設定を行うことができるアプリケーションに対して有効である。
【0105】
さらに、以上の説明では、プラグインソフトウェアがアプリケーションに組み込まれて動作する例を説明したが、このプラグインソフトウェアの機能をアプリケーションが有していても良い。
【0106】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
設定されている記録媒体の第1のサイズと設定されているページ数とに応じて印刷対象の表計算ドキュメントを変倍して、前記第1のサイズの記録媒体に前記ページ数で印刷するためのデータを作成する作成手段と、前記作成手段により作成されたデータに基づき、設定されている生成方法に従って印刷データを生成する生成手段とを有する画像処理装置であって、
印刷する記録媒体のサイズを示す情報を入力する入力手段と、
前記作成手段が表計算ドキュメントを変倍するためのページ数として、前記作成手段に所定のページ数を設定する第1の設定手段と、
前記生成手段が印刷データを生成するための生成方法として、前記生成手段に、前記入力手段により入力された情報が示す第2のサイズに応じた印刷データを生成する生成方法を設定する第2の設定手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記作成手段に前記第1のサイズを設定する第3の設定手段を有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第3の設定手段は、前記入力手段が入力した情報が示す前記第2のサイズを前記第1のサイズとして設定することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記生成手段が前記第1のサイズとして設定することが可能な記録媒体の最大のサイズを示す情報を取得する取得手段を有し、
前記第3の設定手段は、前記取得手段が取得した情報が示すサイズに基づき前記作成手段に前記第1のサイズを設定することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記第3の設定手段は、前記取得手段が取得した情報が示すサイズの記録媒体の縦横比に応じたサイズを設定することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記第1の設定手段は、1ページを設定することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記作成手段は表計算ソフトウェアであり、印刷対象の表計算ドキュメントを作成することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
設定されている記録媒体の第1のサイズと記録媒体の設定されているページ数とに応じて印刷対象の表計算ドキュメントを変倍して、前記第1のサイズの記録媒体に前記ページ数で印刷するためのデータを作成する作成工程と、前記作成工程において作成されたデータに基づき、設定されている生成方法に従って印刷データを生成する生成工程とを有する画像処理方法であって、
印刷する記録媒体のサイズを示す情報を入力する入力工程と、
前記作成工程において表計算ドキュメントを変倍するためのページ数として、所定のページ数を設定する第1の設定工程と、
前記生成工程において印刷データを生成するための生成方法として、前記入力工程において入力された情報が示す第2のサイズに応じた印刷データを生成する生成方法を設定する第2の設定工程と、
を有することを特徴とする画像処理方法。
【請求項9】
請求項8に記載の画像処理方法をコンピュータに実行することを特徴とするプログラム。
【請求項10】
設定されている記録媒体の第1のサイズと設定されているページ数とに応じて印刷対象の表計算ドキュメントを変倍してデータを作成するアプリケーションと、前記アプリケーションが作成したデータに基づき設定されている生成方法に応じて印刷データを生成するプリンタドライバとに指示するプログラムであって、
印刷する記録媒体のサイズを入力する入力工程と、
前記アプリケーションが表計算ドキュメントを変倍するためのページ数として、前記アプリケーションに所定のページ数を設定する第1の設定工程と、
前記プリンタドライバが印刷データを生成するための生成方法として、前記プリンタドライバに、前記入力工程において入力された情報が示す第2のサイズに応じた印刷データを生成する生成方法を設定する第2の設定工程と、
前記プリンタドライバに、前記第1の設定工程における設定に応じて前記アプリケーションにより作成されたデータに基づく、前記第2の設定工程における設定に応じた印刷データの生成を指示する指示工程と、
をコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate