(57)【特許請求の範囲】
【請求項１】
印刷装置と通信可能であり、スプール用の記憶手段を備えた情報処理装置であって、
前記スプール用の記憶手段における利用可能な領域の大きさを確認する領域確認手段と、
アプリケーションから送信された描画データに基づいて印刷データを生成する生成手段と、
前記領域確認手段によって確認された前記利用可能な領域の大きさと、前記生成手段によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できると判断した場合、前記印刷データを前記スプール用の記憶手段に記憶してから前記印刷装置に対して送信する印刷処理を実行することを決定する一方、前記領域確認手段によって確認された前記利用可能な領域の大きさと、前記生成手段によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できないと判断した場合、前記スプール用の記憶手段に記憶することなく印刷すべき全ての印刷データの一部を前記印刷装置へ送信した後、前記全ての印刷データの次の一部の印刷データを前記印刷装置へ送信する処理を当該全ての印刷データ用に繰り返す印刷処理を実行することを決定する制御手段とを備えたことを特徴とする情報処理装置。
【請求項２】
前記スプール用の記憶手段に前記印刷データを記憶できないと判断した場合、前記スプール用の記憶手段の利用可能な領域が不足していることを表すメッセージを表示装置に表示するメッセージ表示手段を備えたことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、ハードディスクドライブを備えないハンドヘルドパソコンであることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記メッセージ表示手段は、前記メッセージとともに前記表示装置に印刷処理を停止するための停止指示部及び印刷処理を続行するための印刷指示部を表示し、前記印刷指示部が選択された場合、前記制御手段は、前記スプールすることなく印刷データを前記印刷装置へ送信する印刷処理を実行することを決定し、前記停止指示部が選択された場合、前記制御手段は、印刷処理の停止を決定することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記印刷データは、前記印刷装置を直接制御することができる印刷コマンド又は前記コマンドを解析することによって前記印刷コマンドを形成することができる中間印刷コマンドであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
印刷装置と通信可能であり、スプール用の記憶手段を備えた情報処理装置による情報処理方法であって、
前記スプール用の記憶手段における利用可能な領域の大きさを確認する領域確認手順と、
アプリケーションから送信された描画データに基づいて印刷データを生成する生成手順と、
前記領域確認手順によって確認された前記利用可能な領域の大きさと、前記生成手順によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できると判断した場合、前記印刷データを前記スプール用の記憶手段に記憶してから前記印刷装置に対して送信する印刷処理を実行することを決定する一方、前記領域確認手順によって確認された前記利用可能な領域の大きさと、前記生成手順によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できないと判断した場合、前記スプール用の記憶手段に記憶することなく印刷すべき全ての印刷データの一部を前記印刷装置へ送信した後、前記全ての印刷データの次の一部の印刷データを前記印刷装置へ送信する処理を当該全ての印刷データ用に繰り返す印刷処理を実行することを決定する制御手順とを有することを特徴とする情報処理方法。
【請求項７】
前記スプール用の記憶手段に前記印刷データを記憶できないと判断した場合、前記スプール用の記憶手段の利用可能な領域が不足していることを表すメッセージを表示装置に表示するメッセージ表示手順を有することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記情報処理装置は、ハードディスクドライブを備えないハンドヘルドパソコンであることを特徴とする請求項６又は７に記載の情報処理方法。
【請求項９】
前記メッセージ表示手順は、前記メッセージとともに前記表示装置に印刷処理を停止するための停止指示部及び印刷処理を続行するための印刷指示部を表示し、前記印刷指示部が選択された場合、前記制御手順では、前記スプールすることなく印刷データを前記印刷装置へ送信する印刷処理を実行することを決定し、前記停止指示部が選択された場合、前記制御手順では、印刷処理の停止を決定することを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
前記印刷データは、前記印刷装置を直接制御することができる印刷コマンド又は前記コマンドを解析することによって前記印刷コマンドを形成することができる中間印刷コマンドであることを特徴とする請求項６乃至９のいずれか１項に記載の情報処理方法。
【請求項１１】
印刷装置と通信可能であり、スプール用の記憶手段を備えたコンピュータを制御するためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、
前記スプール用の記憶手段における利用可能な領域の大きさを確認する領域確認処理と、
アプリケーションから送信された描画データに基づいて印刷データを生成する生成処理と、
前記領域確認処理によって確認された前記利用可能な領域の大きさと、前記生成処理によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できると判断した場合、前記印刷データを前記スプール用の記憶手段に記憶してから前記印刷装置に対して送信する印刷処理を実行することを決定する一方、前記領域確認処理によって確認された前記利用可能な領域の大きさと、前記生成処理によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できないと判断した場合、前記スプール用の記憶手段に記憶することなく印刷すべき全ての印刷データの一部を前記印刷装置へ送信した後、前記全ての印刷データの次の一部の印刷データを前記印刷装置へ送信する処理を当該全ての印刷データ用に繰り返す印刷処理を実行することを決定する制御処理をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷装置と通信可能であり、スプール用の記憶手段を備えた情報処理装置、方法及びコンピュータ読み取り可能な記憶媒体に関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータ（以下、パソコンと略すことがある）をホストとし、印刷可能な記録装置（プリンタ）等の周辺機器を前記パソコンと接続することにより、様々なアプリケーションソフトウェアから前記記録装置において印刷させることができる印刷システムが存在している。
【０００３】
このようなシステムにおいては、前記アプリケーションソフトウェアから印刷処理を行うと、印刷データを一時的なファイルとして作成し、ファイルが完成した後、そのファイル内の印刷データを前記パソコンから前記記録装置に送信することで、記録装置において印刷させることができる。この場合、前記一時的なファイルの作成が完了した時点でアプリケーションソフトウェアから印刷処理を解放することができ、その後は当該アプリケーションソフトウェアにおいて任意の操作が可能となる。
【０００４】
前記一時的なファイルの大きさは、印刷対象にもよるが、通常、数１０〜１００ＭＢのデータである。また、通常、パソコンは大容量記憶装置として数ＧＢのデータを記憶できるハードディスクドライブを備えており、前記一時的なファイルはこのハードディスクドライブ内に作成されるので、ほとんどのケースにおいて、ハードディスクドライブの空領域不足が原因となって一時的なファイルが作成できないということはない。このようなシステムの例として、特開平５−１０８２８１号公報、特開平７−３２５６７８号公報、特開２０００−１６８１９８号公報に記載されているもの等が挙げられる。
【０００５】
一方、近年では、パソコンの簡易型のものとして、ハードディスクドライブ等の大容量記憶装置を備えず、その代わりとして通常数十ＭＢのデータを記憶できるメモリ（ＲＡＭ）のみを記憶手段として備える小型携帯用パーソナルコンピュータ（以下、ハンドヘルドパソコンと呼ぶことがある）が開発されている。
【０００６】
かかるハンドヘルドパソコンにおいて、前記記録装置を周辺機器として接続して利用しようとした場合、前記パソコンと同様な一時的なファイルを作成する方法を用いると、メモリ（ＲＡＭ）内にファイルを作成することになるので、メモリ（ＲＡＭ）の空領域不足が原因となって一時的なファイルが作成できないケースが多々発生する。
【０００７】
したがって、このようなハンドヘルドパソコンを利用した印刷システムの場合、通常、一時的なファイルを作成せず、アプリケーションソフトウェアから渡される印刷データの一部を順次記録装置へ送信することで印刷処理が行われる。
【０００８】
【発明が解決しようとする課題】
しかしながら、ハンドヘルドパソコンを利用した印刷システムの場合、通常、一時的なファイルを作成せず、アプリケーションソフトウェアから渡される印刷データの一部を順次記録装置へ送信することで印刷処理が行われるので、ハンドヘルドパソコンから記録装置へ全印刷データが送信されるまで、アプリケーションソフトウェアから印刷処理を解放することができない。その結果、印刷処理を解放するのに非常に時間がかかってしまい、その間は、アプリケーションソフトウェアを操作することができないという問題が生じる。
【０００９】
また、仮に一時的なファイルを作成する方法で印刷を試みたとしても、ファイルを作成している段階で、前記メモリ（ＲＡＭ）の空領域が不足してファイルが完成できないケースが多々発生し、このようなケースにおいては、途中までファイルを作成するものの、ファイルが作成できなくなった時点でエラー終了することになる。それまでの間、ユーザは印刷されるのをひたすら待つことになるが、結局は全く印刷されずにエラー終了することになる、という問題が生じる。
【００１０】
本発明は上記のような点に鑑みてなされたものであり、ハンドヘルドパソコンを用いるような場合でも、印刷操作に関する操作性を向上させるとともに、エラー終了することなく、全てのケースにおいて、正常に印刷を完了させられるようにすることを目的とする。
【００１１】
【課題を解決するための手段】
本発明の情報処理装置は、印刷装置と通信可能であり、スプール用の記憶手段を備えた情報処理装置であって、前記スプール用の記憶手段における利用可能な領域の大きさを確認する領域確認手段と、アプリケーションから送信された描画データに基づいて印刷データを生成する生成手段と、前記領域確認手段によって確認された前記利用可能な領域の大きさと、前記生成手段によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できると判断した場合、前記印刷データを前記スプール用の記憶手段に記憶してから前記印刷装置に対して送信する印刷処理を実行することを決定する一方、前記領域確認手段によって確認された前記利用可能な領域の大きさと、前記生成手段によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できないと判断した場合、前記スプール用の記憶手段に記憶することなく印刷すべき全ての印刷データの一部を前記印刷装置へ送信した後、前記全ての印刷データの次の一部の印刷データを前記印刷装置へ送信する処理を当該全ての印刷データ用に繰り返す印刷処理を実行することを決定する制御手段とを備えたことを特徴とする。
本発明の情報処理方法は、印刷装置と通信可能であり、スプール用の記憶手段を備えた情報処理装置による情報処理方法であって、前記スプール用の記憶手段における利用可能な領域の大きさを確認する領域確認手順と、アプリケーションから送信された描画データに基づいて印刷データを生成する生成手順と、前記領域確認手順によって確認された前記利用可能な領域の大きさと、前記生成手順によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できると判断した場合、前記印刷データを前記スプール用の記憶手段に記憶してから前記印刷装置に対して送信する印刷処理を実行することを決定する一方、前記領域確認手順によって確認された前記利用可能な領域の大きさと、前記生成手順によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できないと判断した場合、前記スプール用の記憶手段に記憶することなく印刷すべき全ての印刷データの一部を前記印刷装置へ送信した後、前記全ての印刷データの次の一部の印刷データを前記印刷装置へ送信する処理を当該全ての印刷データ用に繰り返す印刷処理を実行することを決定する制御手順とを有することを特徴とする。
本発明のコンピュータ読み取り可能な記憶媒体は、印刷装置と通信可能であり、スプール用の記憶手段を備えたコンピュータを制御するためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記スプール用の記憶手段における利用可能な領域の大きさを確認する領域確認処理と、アプリケーションから送信された描画データに基づいて印刷データを生成する生成処理と、前記領域確認処理によって確認された前記利用可能な領域の大きさと、前記生成処理によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できると判断した場合、前記印刷データを前記スプール用の記憶手段に記憶してから前記印刷装置に対して送信する印刷処理を実行することを決定する一方、前記領域確認処理によって確認された前記利用可能な領域の大きさと、前記生成処理によって生成された印刷データとを用いて、前記スプール用の記憶手段に前記印刷データを記憶できないと判断した場合、前記スプール用の記憶手段に記憶することなく印刷すべき全ての印刷データの一部を前記印刷装置へ送信した後、前記全ての印刷データの次の一部の印刷データを前記印刷装置へ送信する処理を当該全ての印刷データ用に繰り返す印刷処理を実行することを決定する制御処理をコンピュータに実行させるためのプログラムを記憶したことを特徴とする。
【００２１】
上記のようにした本発明においては、情報処理装置としてハンドヘルドパソコンを用いたような場合に、容量不足で総印刷データを作成できないときには、順次記録装置へ印刷データを送るダイレクト印刷に処理を切り替えることにより、全てのケースにおいて、正常に印刷を完了することができる。
【００２２】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。なお、以下において、ＵＳＢとはUniversal Serial Busの略で、双方向通信が可能な公知のインタフェースであり、その詳細説明は省略する。
【００２３】
図１は、本実施の形態の印刷システムの構成を表す図である。同図において１はハンドヘルドパソコンであり、搭載されているＯＳはMicrosoft Windows CEである。２は液晶ディスプレイ、３はキーボード、４はＵＳＢポート（ホスト）である。液晶ディスプレイ２はタッチパネルとなっており、スタイラスペン６を用いて、ドラッグ、ドロップ、タップ等の操作をすることにより、パソコン用マウスと同様な機能を実現する。なお、このハンドヘルドパソコン１が、本発明でいう情報処理装置に相当するものである。
【００２４】
５はインクジェット方式のカラープリンタであり、７はＵＳＢポート（クライアント）である。なお、このカラープリンタ５が、本発明でいう記録装置に相当するものである。
【００２５】
ハンドヘルドパソコン１とプリンタ５とはＵＳＢケーブル８を介して接続されており、これらの装置１、５間でデータの双方向通信が可能である。
【００２６】
図２は、ハンドヘルドパソコン１の内部ハードウェア構成を表すブロック図である。ハンドヘルドパソコン１は簡易パソコンとして活用される携帯端末であり、その主な特徴としてハードディスクドライブのような大容量記憶装置（通常、数ＧＢのデータを記憶できる装置）を備えておらず、記憶手段としてはＲＡＭのみを備える。
【００２７】
同図において、９はマイクロプロセッサ等から構成されるＣＰＵであり、ハンドヘルドパソコン１の中央処理装置として、ＲＯＭ１０に記憶されているプログラムに従って、ＲＡＭ１１、通信部１２、表示部１３、操作部１４を制御する。
【００２８】
ＲＯＭ１０には前記ＯＳ、ディスプレイやポートを制御する各デバイスドライバ、ハンドヘルドパソコン１上で起動できる各アプリケーション等が記憶されている。ＲＡＭ１１は通常３２ＭＢ程度の容量で構成され、その内の半分がプログラム実行用に、残りの半分がデータ記憶用に割り当てられる。
【００２９】
通信部１２にはＵＳＢポート４が含まれており、ＵＳＢの通信を制御する。表示部１３には液晶ディスプレイ２が含まれており、アプリケーション等のユーザインタフェース（以降、ＵＩと省略することがある）の表示等の制御を行う。操作部１４にはキーボード３が含まれており、キー入力を制御する。
【００３０】
図３は、プリンタ５の内部ハードウェア構成を表すブロック図である。同図において、１５はマイクロプロセッサ等から構成されるＣＰＵであり、プリンタ５の中央処理装置として、ＲＯＭ１６に記憶されているプログラムに従って、ＲＡＭ１７、通信部１８、記録部１９を制御する。
【００３１】
ＲＯＭ１６にはプリンタドライバ２０（図４にて後述する）の制御に従ってプリンタ５が記録（印刷）処理を行うプログラムが記憶されている。ＲＡＭ１７は主にハンドヘルドパソコン１から送られて、それをもとに記録部１９によって印刷される印字データが一時的に記憶される。
【００３２】
通信部１８にはＵＳＢポート７が含まれており、ＵＳＢの通信を制御する。記録部１９は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印字データをもとに前記記録ヘッドにて印字用パルスを発生させる為のＡＳＩＣ等から構成される電気回路とから構成される。
【００３３】
印刷可能なアプリケーション（図６にて後述する）上での印刷操作によって、アプリケーションで開かれているファイルの表示内容（画像データ）が、プリンタドライバを介してプリンタ制御用コマンドを含む印字データに変換された後、ハンドヘルドパソコン１のＲＡＭ１１のデータ記憶用エリアに一時的に格納され、ＵＳＢポート４からＵＳＢインタフェースを介してプリンタ５に送られる。
【００３４】
プリンタ５にて受信された印字データは、記録部１９によって印字用パルスに変換されて、記録紙上に印刷される。
【００３５】
図４は、プリンタ５を制御するプリンタドライバ２０の機能構成を表すブロック図である。このプリンタドライバ２０が本発明でいう領域確認手段、制御手段として機能する。プリンタドライバ２０は、ハンドヘルドパソコン１のＲＯＭ１０に記憶されている。同図において、矢印はデータのフローを表す。
【００３６】
２１はＵＩ制御部であり、プリンタドライバ２０のＵＩを制御する。２２はプリンタ制御部であり、ＵＩ制御部２１からの指示に従ってプリンタ５に制御コマンドを送ることによりプリンタ５を制御したり、プリンタ５からの応答コマンドに基づいてＵＩ制御部にプリンタ５の状態を伝えたりする。
【００３７】
２３はスプール制御部であり、アプリケーションから印刷された時、ハンドヘルドパソコン１のＲＡＭ１１に十分な空領域がある場合、アプリケーションから渡された画像データを印字データに変換した後ＲＡＭ１１に当該印字データをスプールファイルとして一時的に格納し、全印字データ（総印刷データ）が格納されてスプールファイルが完成した時点でアプリケーションにおける印刷処理を解放し、バックグラウンドでスプールファイル内の印字データをプリンタ５へ送る。このように、全印字データをハンドヘルドパソコン１のＲＡＭ１１にスプールファイルとして一時的に格納し、バックグラウンドでスプールファイル内の印字データをプリンタ５へ送って印刷処理を行うことをスプール印刷と呼ぶ。スプール印刷中は、アプリケーション上において任意の操作を行うことができる。
【００３８】
これに対して、ハンドヘルドパソコン１のＲＡＭ１１に十分な空領域がない場合、全印字データをスプールファイルとして一時的に格納することなく、アプリケーションから渡されたラスタ単位の画像データを印字データ（総印刷データの内の一部の印刷データ）に変換して、フォアグランドで順次プリンタ５へ印字データを送って印刷処理を行う。このように順次プリンタ５へ印字データを送って印刷処理を行うことをダイレクト印刷と呼ぶ。ダイレクト印刷中は、アプリケーション上において操作を行うことができない。
【００３９】
２４はポート制御部であり、スプール制御部２３から渡された印字データを、通信部１２に対してライトしたり、プリンタ５からの応答コマンドを通信部１２からリードしたり、主にプリンタドライバレベルからみたポートの制御を行う。
【００４０】
図５は、プリンタドライバ２０のＵＩの一例を示す図であり、プリンタドライバ２０が起動したとき、ハンドヘルドパソコン１の液晶ディスプレイ２に表示される。同図において、３５はメインウィンドウである。
【００４１】
２５はプリンタ選択部であり、コンボボックスにて構成され、接続されているプリンタを選択することにより、そのプリンタにて印刷を行うことができる。同図では、プリンタ５で印刷できる"ＢＪプリンタ"が選択されている。
【００４２】
２６はポート選択部であり、コンボボックスにて構成され、ハンドヘルドパソコン１に装備されている印刷可能なポートを選択することができる。同図では、ＵＳＢポートが選択されている。
【００４３】
２７は用紙サイズ選択部であり、コンボボックスにて構成され、用紙サイズとして、Ａ６、Ａ５、Ａ４の３タイプのうちから何れか一つを選択可能となっている。同図では、Ａ４サイズが選択されている。
【００４４】
２８は下書き印刷選択部であり、チェックボックスにて構成され、チェックされている場合、印字品位を落として下書き印刷の品位で印刷処理を行い、チェックが外されている場合、標準品位で印刷処理を行う。同図では、チェックが外されている状態となっている。
【００４５】
２９はカラー印刷選択部であり、チェックボックスにて構成され、チェックされている場合、カラー印刷が行われ、チェックが外されている場合、モノクロ印刷が行われる。同図では、チェックされている状態となっている。
【００４６】
３０は印刷範囲選択部であり、ラジオボタンで構成され、"すべて"が選択されている場合、アプリケーションの表示上で選択されている領域に関わらず全ての範囲が印刷され、"選択"が選択されている場合、アプリケーションの表示上で選択された領域内が印刷される。同図では、"すべて"が選択されている状態となっている。
【００４７】
３１は印刷の向き選択部であり、ラジオボタンで構成され、"縦"が選択されている場合、アプリケーションの表示を用紙の縦方向に展開して印刷し、"横"が選択されている場合、アプリケーションの表示を用紙の横方向に展開して印刷する。同図では、"縦"が選択された状態となっている。
【００４８】
３２は余白設定部であり、数値を入力可能としたテキストボックスで構成され、用紙の上下左右の余白をミリメートル単位でそれぞれ設定することができる。同図では、上下左右の余白が全て２５ｍｍで設定されている状態となっている。
【００４９】
３３はＯＫボタンであり、このＯＫボタン３３がタップされると印刷が開始される。３４はキャンセルボタンであり、このキャンセルボタン３４がタップされると、印刷を行うことなく、メインウィンドウ３５が閉じられる。
【００５０】
以下では、プリンタ選択部２５、ポート選択部２６、用紙サイズ選択部２７、下書き印刷選択部２８、カラー印刷選択部２９、印刷範囲選択部３０、印刷の向き選択部３１、余白設定部３２における設定の組み合わせを「印刷設定」と称する。
【００５１】
図６は、印刷可能なアプリケーションのＵＩの一例を示す図であり、本アプリケーションは、日本語ワードプロセッサのアプリケーションである。同図において、３６はメインウィンドウであり、文字列３７が入力された状態を表す。
【００５２】
３８は印刷を開始する為の印刷ボタンであり、この印刷ボタン３８をタップすることにより、プリンタドライバ２０が起動して、図５に示したメインウィンドウ３５が表示される。そして、メインウィンドウ３５内のＯＫボタン３３をタップすることにより、表示されている文字列３７の印刷が開始される。
【００５３】
３９は本アプリケーションを閉じる為のクローズボタンであり、このクローズボタン３９をタップすることにより、メインウィンドウ３６を閉じ、本アプリケーションを終了する。
【００５４】
図７は、スプール印刷を行う為のメモリ（ＲＡＭ１１）を確保することができない場合の空メモリ不足メッセージを表す図である。同図において、４０は空メモリ不足メッセージであり、メッセージ文字列４１、ＯＫボタン４２、キャンセルボタン４３から構成される。本メッセージは、ハンドヘルドパソコン１の空メモリ（ＲＡＭ１１）の容量が不足している場合で、スプール印刷を行う為のメモリ（ＲＡＭ１１）が確保できないときに表示される（メッセージ表示手段）。
【００５５】
ＯＫボタン４２がタップされると、スプール印刷を行わず、ダイレクト印刷を開始する。キャンセルボタン４３がタップされると、印刷を中止する。キャンセルボタン４３がタップされ、印刷が中止された場合、その後、不要なファイルを削除する等してスプール印刷を行う為の空メモリ（ＲＡＭ１１）の容量を十分に増やしてから、印刷ボタン３８をタップして再度印刷を試みることにより、スプール印刷を行うことが可能である。なお、本実施の形態においては、これらＯＫボタン４２、キャンセルボタン４３が、本発明でいう継続選択部、中止選択部に相当するものである。
【００５６】
このように、本実施の形態では、空メモリ不足メッセージ４０を表示させることで、印刷処理を継続するか、中止するかをユーザが容易に選択できるようにし、例えば、ユーザが再度スプール印刷を試みること等ができるようにしている。ただし、空メモリ不足メッセージ４０を表示させることなく、空メモリ（ＲＡＭ１１）の容量が不足している場合は、自動的にダイレクト印刷に処理を切り替えるようにすれば、ユーザが空メモリ不足メッセージ４０に応えるという操作が不要となり、印刷操作に関するユーザの操作性を向上させることができる。
【００５７】
印刷可能なアプリケーションにおいて、これらのうちいずれの仕様を選択するかは、そのアプリケーションの使用目的に依存することであり、本発明の本質には関わらない。
【００５８】
図８、９は、本実施の形態の印刷システムにおける動作（処理）を表すフローチャートであり、以下、これらの図面に従って動作の説明をする。図８は、プリンタドライバ２０のメインウィンドウ３５内のＯＫボタン３３がタップされて、印刷処理が開始された後の処理を表すフローチャートである。プリンタドライバ２０のメインウィンドウ３５内のＯＫボタン３３がタップされて、印刷処理が開始されると（ステップＳ８０１）、スプール印刷時にハンドヘルドパソコン１のメモリ（ＲＡＭ１１）に一時的に格納されるスプールファイルのデータサイズを計算し（ステップＳ８０２）、メモリ（ＲＡＭ１１）のデータ記憶用エリアの空容量がこのスプールファイルのデータサイズより大きいかどうかをチェックする（ステップＳ８０３）。
【００５９】
メモリ（ＲＡＭ１１）の空容量が十分にある場合（ステップＳ８１５）、メモリ（ＲＡＭ１１）の空領域からスプールファイル用の領域を確保し（ステップＳ８０４）、アプリケーションから印刷対象の１ラスタ分の印刷画像データを受け取る（ステップＳ８０５）。この印刷画像データに印刷制御コマンドを付加して印字データに変換した後、スプールファイルに格納する（ステップＳ８０６）。
【００６０】
アプリケーションから印刷対象の全ラスタ分の印刷画像データが渡されてスプール処理が完了した（スプールファイルが完成した）場合（ステップＳ８０７）、スプール印刷を開始し（ステップＳ８０８）、アプリケーションに戻る（ステップＳ８１６）。ステップＳ８０７において全ラスタ分の印刷画像データのスプール処理が完了していない場合、ステップＳ８０５に戻る。
【００６１】
一方、メモリ（ＲＡＭ１１）の空容量が不足している場合（ステップＳ８１５）、空メモリ不足メッセージ４０を表示し（ステップＳ８０９）、ＯＫボタン４２がタップされた場合（ステップＳ８１０）、ダイレクト印刷が開始され、アプリケーションから印刷対象の１ラスタ分の印刷画像データを受け取り（ステップＳ８１１）、この印刷画像データに印刷制御コマンドを付加して印字データに変換し（ステップＳ８１２）、この１ラスタ分の印字データをポート制御部２４に書き込むことによりプリンタ５へこの印字データが送られる（ステップＳ８１３）。
【００６２】
アプリケーションから印刷対象の全ラスタ分の印刷画像データが渡されて全印字データの送信が完了した場合（ステップＳ８１４）、アプリケーションに戻る（ステップＳ８１６）。ステップＳ８１４において、全印字データの送信が完了していない場合、ステップＳ８１１に戻る。ステップＳ８１１〜Ｓ８１４が終了するまでの間の処理が、ダイレクト印刷の処理を表すものである。
【００６３】
ステップＳ８１０において、キャンセルボタン４３がタップされた場合、印刷処理を中止してアプリケーションに戻る（ステップＳ８１６）。例えば、ステップＳ８１５において、メモリ（ＲＡＭ１１）の空容量が不足している場合、ステップＳ８０９とステップＳ８１０をとばしてステップＳ８１１に進むことにより、図７で説明したように、空メモリ不足メッセージ４０を表示させることなく自動的にダイレクト印刷に処理を切り替えることにより、ユーザが空メモリ不足メッセージ４０に応えるという操作が不要になり、印刷操作に関するユーザの操作性を向上させることができる。
【００６４】
以上の動作において、ステップＳ８１６でアプリケーションに戻ると、アプリケーションはプリンタドライバ２０のメインウィンドウ３５を閉じて、プリンタドライバ２０を解放する。プリンタドライバ２０が起動中はアプリケーション上にて操作を行うことができないが、プリンタドライバ２０が解放されると、アプリケーション上にて任意の操作を行うことができる。
【００６５】
図９は、スプール印刷の処理を表すフローチャートである。図８のステップＳ８０８においてスプール印刷が開始されると（ステップＳ９０１）、スプールファイルから印字データをロードし、この印字データをポート制御部２４に書き込むことにより、この印字データがプリンタ５へ送られる（ステップＳ９０３）。その後、書き込んだ印字データをスプールファイルから削除して、その分のメモリ（ＲＡＭ１１）を解放する（ステップＳ９０４）。
【００６６】
全印字データの送信が完了した場合（ステップＳ９０５）、スプール印刷を終了する（ステップＳ９０６）。ステップＳ９０５において、全印字データの送信が完了していない場合、ステップＳ９０２に戻る。
【００６７】
以上、本実施の形態の各状態における動作について説明した。前述した通り、ハンドヘルドパソコン１はハードディスクドライブのような大容量記憶装置を備えておらず、記憶手段としてはＲＡＭ１１のみを備えるので、ユーザの使用状況に応じてメモリ（ＲＡＭ１１）内のデータ記憶用エリアに記憶可能なデータ量が限られてしまい、特にスプール印刷処理のように、比較的データサイズの大きいスプールファイルをメモリ（ＲＡＭ１１）内に格納する必要がある場合、スプールファイルを作成できず、正常に印刷を行うことができないケースが発生する。
【００６８】
かかる問題点に着目し、ハンドヘルドパソコン１において、スプール印刷処理のように比較的データサイズの大きいスプールファイルをメモリ（ＲＡＭ１１）内に格納する必要がある場合も、もし、スプールファイルが作成できない場合は、スプールファイルの作成を必要としないダイレクト印刷に処理を切り替えることにより、全てのケースにおいて、正常に印刷を完了することができる。
【００６９】
ダイレクト印刷時は、メモリ（ＲＡＭ１１）の空領域の範囲内で専用のメモリ（ＲＡＭ１１）を確保すればよいので、容易に実現することができる。また、もし、スプールファイルが作成できる場合は、スプール印刷を行うので、アプリケーションから印刷ジョブをより速く開放でき、バックグラウンドで印刷ジョブを走らせた状態で、アプリケーション上にて任意の操作を行うことができる。
【００７０】
また、アプリケーションの使用目的に応じて、空メモリ不足メッセージ４０を表示させたり、表示させなかったりすることで、スプール印刷を優先させてアプリケーションの操作性を向上させるか、印刷操作に関するユーザの操作性を向上させるかの何れかを重視させて設計することが考えられる。空メモリ不足メッセージ４０を表示させる場合は、ユーザがハンドヘルドパソコン１のメモリ（ＲＡＭ１１）の空領域の状態を容易に把握することができる。
【００７１】
なお、本実施の形態においては、周辺機器の例としてカラープリンタ５を挙げたが、この例に限らず、同様なスプールの概念を有する全ての周辺機器に関して有効である。また、本実施の形態においては、インクジェット方式のカラープリンタの例を挙げたが、この例に限らずレーザービームプリンタやモノクロプリンタに対しても有効であることは言うまでもない。
【００７２】
本実施の形態においては、スプールファイルに書き込むデータとして、プリンタ５を直接制御することが可能な印字データを利用することで容易に実現することができるが、この例に限らず、アプリケーションから渡される印刷画像データと前記印字データとの中間処理に必要とされる中間データをスプールファイルに書き込むことによっても、同様な効果が得られ、さらにこの場合は、スプールファイルの大きさを小さくすることができる。
【００７３】
本実施の形態においては、印刷可能なアプリケーションの例として日本語ワードプロセッサを使用したが、この例に限られることなく、印刷可能な任意のアプリケーションにおいて実現可能である。
【００７４】
本実施の形態においては、ＯＳにMicrosoft Windows CEを使用したが、このＯＳに限られることなく、同様な構成をとることにより、任意のＯＳにおいて実現可能である。
【００７５】
本実施の形態においては、ハンドヘルドパソコン１とプリンタ５との間のインタフェースとして、ＵＳＢ（Universal Serial Bus）インタフェースを用いたが、このインタフェースに限られることなく、同様な構成をとることにより、任意のインタフェースにおいて実現可能である。
【００７６】
（その他の実施の形態）
上述した実施の形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置或いはシステム内のコンピュータに対し、上記実施の形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ或いはＭＰＵ）に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００７７】
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００７８】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施の形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフト等と共同して上述の実施の形態の機能が実現される場合にもかかるプログラムコードは本発明の実施の形態に含まれることはいうまでもない。
【００７９】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合にも本発明に含まれることはいうまでもない。
【００８０】
なお、上記実施の形態において示した各部の形状及び構造は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００８１】
【発明の効果】
以上説明したように本発明によれば、印刷操作に関するユーザの操作性を向上させることができ、全てのケースにおいて、正常に印刷を終了することができるとともに、アプリケーションをより速く解放できる。
さらに、メッセージ表示を行うようにすれば、ユーザが利用可能な領域の状態を容易に把握することができる。
【図面の簡単な説明】
【図１】本実施の形態の印刷システムの構成を示す図である。
【図２】ハンドヘルドパソコン１の内部ハードウェア構成を表すブロック図である。
【図３】プリンタ５の内部ハードウェア構成を表すブロック図である。
【図４】プリンタ５を制御するプリンタドライバ２０の機能構成を表すブロック図である。
【図５】プリンタドライバ２０のＵＩの一例を示す図である。
【図６】印刷可能なアプリケーションのＵＩの一例を示す図である。
【図７】空メモリ不足メッセージを表す図である。
【図８】印刷処理が開始された後の処理を表すフローチャートである。
【図９】スプール印刷の処理を表すフローチャートである。
【符号の説明】
１    ハンドヘルドパソコン
２    液晶ディスプレイ
４    ＵＳＢポート
５    プリンタ
７    ＵＳＢポート
８    ＵＳＢケーブル
１１  ＲＡＭ
１９  記録部
２０  プリンタドライバ
２３  スプール制御部
３３  ＯＫボタン
３８  印刷ボタン
４０  空メモリ不足メッセージ
４２  ＯＫボタン
４３  キャンセルボタン
【図１】
0004109827.tif 000002
【図２】
0004109827.tif 000003
【図３】
0004109827.tif 000004
【図４】
0004109827.tif 000005
【図５】
0004109827.tif 000006
【図６】
0004109827.tif 000007
【図７】
0004109827.tif 000008
【図８】
0004109827.tif 000009
【図９】
0004109827.tif 000010