(57)【要約】【課題】アプリケーションソフトウェアから印刷処理をより早く解放する。【解決手段】印刷開始時に、ＲＡＭ１１における利用可能な領域のサイズを取得し、ハンドヘルドコンピュータからカラープリンタへ送信される総印刷データのサイズが、取得された利用可能な領域のサイズより大きいか否かを判定し、総印刷データのサイズの方が大きいと判定された場合に、メモリカードにおける利用可能な領域のサイズを取得する。取得された利用可能な領域のサイズが総印刷データのサイズより大きいか否かを判定し、利用可能な領域のサイズの方が大きいと判定された場合に、メモリカードにおける利用可能な領域上に総印刷データを作成し、作成した総印刷データをカラープリンタへ送信する。【選択図】　　　　図２
2004078884.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と、着脱可能な外部記憶手段とを有する情報処理装置と、該情報処理装置に接続した記録装置とを有する印刷システムにおいて、
印刷開始時に、前記記憶手段における利用可能な領域のサイズを取得する第１取得手段と、
前記情報処理装置から前記記録装置へ送信される総印刷データのサイズが前記第１取得手段により取得された前記記憶手段における利用可能な領域のサイズより大きいか否かを判定する第１判定手段と、
該第１判定手段により前記総印刷データのサイズが前記記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記外部記憶手段における利用可能な領域のサイズを取得する第２取得手段と、
該第２取得手段により取得された前記外部記憶手段における利用可能な領域のサイズが前記総印刷データのサイズより大きいか否かを判定する第２判定手段と、
該第２判定手段により前記外部記憶手段における利用可能な領域のサイズが前記総印刷データのサイズより大きいと判定された場合に、前記外部記憶手段における利用可能な領域上に前記総印刷データを作成し、作成した総印刷データを前記記録装置へ送信する処理手段と
を備えたことを特徴とする印刷システム。
【請求項２】
記憶手段と、着脱可能な外部記憶手段とを有する情報処理装置と、該情報処理装置に接続した記録装置とを有する印刷システムにおいて、
印刷開始時に、前記記憶手段における利用可能な領域のサイズを取得する第１取得手段と、
前記情報処理装置から前記記録装置へ送信される総印刷データのサイズが前記第１取得手段により取得された前記記憶手段における利用可能な領域のサイズより大きいか否かを判定する第１判定手段と、
該第１判定手段により前記総印刷データのサイズが前記記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記外部記憶手段における利用可能な領域のサイズを取得する第２取得手段と、
該第２取得手段により取得された前記外部記憶手段における利用可能な領域のサイズが前記総印刷データのサイズより大きいか否かを判定する第２判定手段と、
該第２判定手段により前記総印刷データのサイズが前記外部記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記記憶手段における利用可能な領域のサイズと、前記外部記憶手段における利用可能な領域のサイズとの総計サイズを取得する総計サイズ取得手段と、
該総計サイズ取得手段により取得された総計領域サイズが前記総印刷データのサイズより大きいか否かを判定する第３判定手段と、
該第３判定手段により総計領域サイズが前記総印刷データのサイズより大きいと判定された場合に、前記記憶手段における利用可能な領域、又は前記外部記憶手段における利用可能な領域を利用して、前記総印刷データを、複数のデータ群から構成される分割総印刷データとして作成し、前記記録装置へ送信する処理手段と
を備えたことを特徴とする印刷システム。
【請求項３】
請求項１において、前記処理手段は、前記第２判定手段により前記総印刷データのサイズが前記外部記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記記憶手段における利用可能な領域上に前記総印刷データのうちの一部の印刷データを作成し、作成した印刷データを前記記録装置へ送信することを特徴とする印刷システム。
【請求項４】
請求項２において、前記処理手段は、前記第３判定手段により前記総印刷データのサイズが総計領域サイズより大きいと判定された場合に、前記記憶手段における利用可能な領域を利用して、前記総印刷データのうちの一部の印刷データを作成し、作成した印刷データを前記情報処理装置から前記記録装置へ送信することを特徴とする印刷システム。
【請求項５】
請求項１又は２において、前記処理手段は、前記第１判定手段により前記記憶手段における利用可能な領域のサイズが前記総印刷データのサイズより大きいと判定された場合に、前記記憶手段における利用可能な領域上に前記総印刷データを作成し、作成した総印刷データを前記記録装置へ送信することを特徴とする印刷システム。
【請求項６】
請求項１又は２において、前記総印刷データは、前記記録装置を直接制御するための印刷命令、または該印刷命令を作成することができる中間印刷コマンドを有することを特徴とする印刷システム。
【請求項７】
請求項１又は２において、前記第１判定手段により前記総印刷データのサイズが前記記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記記憶手段の利用可能な領域が不足している旨のメッセージを表示する第１表示制御手段を備えたことを特徴とする印刷システム。
【請求項８】
請求項７において、前記第１表示制御手段は、継続選択ボタンと、中止選択ボタンを表示し、
本印刷システムは、
前記継続選択ボタンの選択に応答して、前記外部記憶手段における利用可能な領域のサイズを確認して印刷処理を継続する継続手段と、
前記中止選択ボタンの選択に応答して、印刷処理を中止する中止手段と
を備えたことを特徴とする印刷システム。
【請求項９】
請求項１において、前記第１及び第２判定手段による判定が競合した場合に、前記第１判定手段による判定を優先させる調停手段を備えたことを特徴とする印刷システム。
【請求項１０】
請求項２において、前記第１及び第３判定手段による判定が競合した場合に、前記第１判定手段による判定を優先させる調停手段を備えたことを特徴とする印刷システム。
【請求項１１】
請求項１又は２において、前記情報処理装置は、ハンドヘルドパソコンであることを特徴とする印刷システム。
【請求項１２】
請求項３又は４において、前記処理手段は、印刷データを前記記録装置へ送信した後、前記総印刷データのうちの次の一部の印刷データを作成し、前記記録装置へ送信する処理を繰り返すことを特徴とする印刷システム。
【請求項１３】
請求項３において、前記第２判定手段により前記総印刷データのサイズが前記外部記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記外部記憶手段の利用可能な領域が不足している旨のメッセージを表示する第２表示制御手段を備えたことを特徴とする印刷システム。
【請求項１４】
請求項１３において、前記第２表示制御手段は、継続選択ボタンと、中止選択ボタンを表示し、
本印刷システムは、
前記継続選択ボタンの選択に応答して、前記記憶手段における利用可能な領域上に前記総印刷データのうちの一部の印刷データを作成し、作成した印刷データを前記記録装置へ送信して印刷処理を継続する継続手段と、
前記中止選択ボタンの選択に応答して、印刷処理を中止する中止手段と
を備えたことを特徴とする印刷システム。
【請求項１５】
請求項４において、前記第３判定手段により前記総印刷データのサイズが総計領域サイズより大きいと判定された場合に、前記記憶手段又は前記外部記憶手段の利用可能な領域が不足している旨のメッセージを表示する第３表示制御手段を備えたことを特徴とする印刷システム。
【請求項１６】
請求項１５において、前記第３表示制御手段は、継続選択ボタンと、中止選択ボタンを表示し、
本印刷システムは、
前記継続選択ボタンの選択に応答して、前記記憶手段における利用可能な領域上に前記総印刷データのうちの一部の印刷データを作成し、作成した印刷データを前記記録装置へ送信して印刷処理を継続する継続手段と、
前記中止選択ボタンの選択に応答して、印刷処理を中止する中止手段と
を備えたことを特徴とする印刷システム。
【請求項１７】
請求項２において、前記分割総印刷データは、前記記憶手段における利用可能な領域を利用して作成される第１データ群と、前記外部記憶手段における利用可能な領域を利用して作成される第２データ群とを有し、
前記処理手段は、前記分割総印刷データを前記記録装置へ送信する際に、前記第１データ群の方を前記第２データ群より優先して送信する
ことを特徴とする印刷システム。
【請求項１８】
請求項２において、前記処理手段は、前記分割総印刷データを前記記録装置へ送信する際に、前記第１データ群を送信した後、前記第２データ群からそのデータのうちの一部又は全部を前記記憶手段に移動して新たなデータ群を作成し、この作成した新データ群を前記記録装置へ送信することを特徴とする印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置と記録装置とを有する印刷システムに関するものである。
【０００２】
【従来の技術】
従来から、パーソナルコンピュータ（以下「パソコン」ともいう。）をホストとし、このパソコンに、印刷可能な記録装置（プリンタ）などの周辺機器を接続し、様々なアプリケーションソフトウェアから、記録装置において印刷させることができる印刷システムが知られている。
【０００３】
このような印刷システムにおいては、アプリケーションソフトウェアから印刷処理を行うと、印刷データを一時的なファイルとして作成し、ファイルが完成した後、パソコンから記録装置にこのファイル内の印刷データを送信することで、記録装置において印刷させることができ、一時的なファイルの作成が完了した時点でアプリケーションソフトウェアから印刷処理を解放することができるので、その後はこのアプリケーションソフトウェアにおいて、任意の操作が可能となる。
【０００４】
このような印刷処理は一般的にスプール印刷と呼ばれている。この場合、一時的なファイルのサイズは、印刷対象にもよるが、通常、数１０〜１００ＭＢのデータである。また、通常、パソコンが大容量記憶装置として数ＧＢのデータを記憶できるハードディスクドライブを備えていて、一時的なファイルがこのハードディスクドライブ内に作成されるから、ハードディスクドライブの空領域不足が原因となって一時的なファイルが作成できないということはない。
【０００５】
このようなシステムとしては、例えば、特許文献１ないし３等に開示されているものが知られている。
【０００６】
パソコンの簡易型のものとしては、ハードディスクドライブなどの大容量記憶装置を備えず、その代わりとして通常数１０ＭＢのデータを記憶できるＲＡＭ（ｒａｎｄｏｍ　ａｃｃｅｓｓ　ｍｅｍｏｒｙ）のみを記憶手段として備える簡易パーソナルコンピュータ（以下「ハンドヘルドコンピュータ」ともいう。）が知られている。
【０００７】
しかしながら、このハンドヘルドコンピュータと、その周辺機器としての記録装置とを有する印刷システムでは、ハンドヘルドコンピュータにおいて、ＲＡＭ内に一時ファイルを作成するので、ＲＡＭの空領域不足が原因となって一時的なファイルが作成できないことが多い。
【０００８】
そこで、一時的なファイルを作成せず、アプリケーションソフトウェアから渡される印刷データの一部を順次記録装置へ送信することで印刷処理が行われる。
【０００９】
しかし、ハンドヘルドコンピュータから記録装置へ全印刷データが送信されるまでアプリケーションソフトウェアから印刷処理を解放することができず、その結果、印刷処理を解放するのに非常に時間がかかってしまい、その間、アプリケーションソフトウェアを操作することができないという問題がある。
【００１０】
また、仮に一時的なファイルを作成する方法で印刷を試みたとしても、ファイルを作成している段階で、ＲＡＭの空領域が不足してファイルが完成できないケースが多々発生し、このようなケースにおいては、途中までファイルを作成するものの、ファイルが作成できなくなった時点で、エラー終了することになり、ユーザーはそれまでの間、印刷されるのをひたすら待つことになるが、結局全く印刷されずにエラー終了することになる、という問題もある。
【００１１】
これらの問題点を解決した印刷システムとしては、例えば、特許文献４に開示されているものが知られている。この印刷システムによれば、印刷操作に関する操作性が向上し、エラー終了することなく、全てのケースにおいて、正常に印刷が完了する。
【００１２】
【特許文献１】
特開平０５−１０８２８１号公報
【００１３】
【特許文献２】
特開平０７−３２５６７８号公報
【００１４】
【特許文献３】
特開２０００−１６８１９８号公報
【００１５】
【特許文献４】
特開２００２−１８９５７４号公報
【００１６】
【発明が解決しようとする課題】
しかしながら、この印刷システムは、全てのケースにおいて正常に印刷を完了させることに重点がおかれているので、ハンドヘルドコンピュータのＲＡＭの空領域が不足して、一時的なファイルが作成できないケースが多発するような印刷システムまたは使用環境においては、アプリケーションソフトウェアから必ず印刷ができるものの、ハンドヘルドコンピュータから記録装置へ全印刷データが送信されるまでアプリケーションソフトウェアから印刷処理を解放することができないので、その間、アプリケーションソフトウェアを操作することができないケースが多発するという問題がある。
【００１７】
そこで、本発明の目的は、上記のような問題点を解決し、アプリケーションソフトウェアから印刷処理をより早く解放できる印刷システムを提供することにある。
【００１８】
【課題を解決するための手段】
請求項１の発明は、記憶手段と、着脱可能な外部記憶手段とを有する情報処理装置と、該情報処理装置に接続した記録装置とを有するにおいて、印刷開始時に、前記記憶手段における利用可能な領域のサイズを取得する第１取得手段と、前記情報処理装置から前記記録装置へ送信される総印刷データのサイズが前記第１取得手段により取得された前記記憶手段における利用可能な領域のサイズより大きいか否かを判定する第１判定手段と、該第１判定手段により前記総印刷データのサイズが前記記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記外部記憶手段における利用可能な領域のサイズを取得する第２取得手段と、該第２取得手段により取得された前記外部記憶手段における利用可能な領域のサイズが前記総印刷データのサイズより大きいか否かを判定する第２判定手段と、該第２判定手段により前記外部記憶手段における利用可能な領域のサイズが前記総印刷データのサイズより大きいと判定された場合に、前記外部記憶手段における利用可能な領域上に前記総印刷データを作成し、作成した総印刷データを前記記録装置へ送信する処理手段とを備えたことを特徴とする。
【００１９】
請求項２の発明は、記憶手段と、着脱可能な外部記憶手段とを有する情報処理装置と、該情報処理装置に接続した記録装置とを有するにおいて、印刷開始時に、前記記憶手段における利用可能な領域のサイズを取得する第１取得手段と、前記情報処理装置から前記記録装置へ送信される総印刷データのサイズが前記第１取得手段により取得された前記記憶手段における利用可能な領域のサイズより大きいか否かを判定する第１判定手段と、該第１判定手段により前記総印刷データのサイズが前記記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記外部記憶手段における利用可能な領域のサイズを取得する第２取得手段と、該第２取得手段により取得された前記外部記憶手段における利用可能な領域のサイズが前記総印刷データのサイズより大きいか否かを判定する第２判定手段と、該第２判定手段により前記総印刷データのサイズが前記外部記憶手段における利用可能な領域のサイズより大きいと判定された場合に、前記記憶手段における利用可能な領域のサイズと、前記外部記憶手段における利用可能な領域のサイズとの総計サイズを取得する総計サイズ取得手段と、該総計サイズ取得手段により取得された総計領域サイズが前記総印刷データのサイズより大きいか否かを判定する第３判定手段と、該第３判定手段により総計領域サイズが前記総印刷データのサイズより大きいと判定された場合に、前記記憶手段における利用可能な領域、又は前記外部記憶手段における利用可能な領域を利用して、前記総印刷データを、複数のデータ群から構成される分割総印刷データとして作成し、前記記録装置へ送信する処理手段とを備えたことを特徴とする。
【００２０】
請求項１において、処理手段は、第２判定手段により総印刷データのサイズが外部記憶手段における利用可能な領域のサイズより大きいと判定された場合に、記憶手段における利用可能な領域上に総印刷データのうちの一部の印刷データを作成し、作成した印刷データを記録装置へ送信することができる。
【００２１】
請求項２において、処理手段は、第３判定手段により総印刷データのサイズが総計領域サイズより大きいと判定された場合に、記憶手段における利用可能な領域を利用して、総印刷データのうちの一部の印刷データを作成し、作成した印刷データを情報処理装置から記録装置へ送信することができる。
【００２２】
請求項１又は２において、処理手段は、第１判定手段により記憶手段における利用可能な領域のサイズが総印刷データのサイズより大きいと判定された場合に、記憶手段における利用可能な領域上に総印刷データを作成し、作成した総印刷データを記録装置へ送信することができる。
【００２３】
請求項１又は２において、総印刷データは、記録装置を直接制御するための印刷命令、または該印刷命令を作成することができる中間印刷コマンドを有することができる。
【００２４】
請求項１又は２において、第１判定手段により総印刷データのサイズが記憶手段における利用可能な領域のサイズより大きいと判定された場合に、記憶手段の利用可能な領域が不足している旨のメッセージを表示する第１表示制御手段を備えたことができる。
【００２５】
請求項７において、第１表示制御手段は、継続選択ボタンと、中止選択ボタンを表示することができ、本印刷システムは、継続選択ボタンの選択に応答して、外部記憶手段における利用可能な領域のサイズを確認して印刷処理を継続する継続手段と、中止選択ボタンの選択に応答して、印刷処理を中止する中止手段とを備えることができる。
【００２６】
請求項１において、第１及び第２判定手段による判定が競合した場合に、第１判定手段による判定を優先させる調停手段を備えることができる。
【００２７】
請求項２において、第１及び第３判定手段による判定が競合した場合に、第１判定手段による判定を優先させる調停手段を備えることができる。
【００２８】
請求項１又は２において、情報処理装置は、ハンドヘルドパソコンとすることができる。
【００２９】
請求項３又は４において、処理手段は、印刷データを記録装置へ送信した後、総印刷データのうちの次の一部の印刷データを作成し、記録装置へ送信する処理を繰り返すことができる。
【００３０】
請求項３において、第２判定手段により総印刷データのサイズが外部記憶手段における利用可能な領域のサイズより大きいと判定された場合に、外部記憶手段の利用可能な領域が不足している旨のメッセージを表示する第２表示制御手段を備えることができる。
【００３１】
請求項１３において、第２表示制御手段は、継続選択ボタンと、中止選択ボタンを表示することができ、本印刷システムは、継続選択ボタンの選択に応答して、記憶手段における利用可能な領域上に総印刷データのうちの一部の印刷データを作成し、作成した印刷データを記録装置へ送信して印刷処理を継続する継続手段と、中止選択ボタンの選択に応答して、印刷処理を中止する中止手段と
を備えることができる。
【００３２】
請求項４において、第３判定手段により総印刷データのサイズが総計領域サイズより大きいと判定された場合に、記憶手段又は外部記憶手段の利用可能な領域が不足している旨のメッセージを表示する第３表示制御手段を備えることができる。
【００３３】
請求項１５において、第３表示制御手段は、継続選択ボタンと、中止選択ボタンを表示することができ、本印刷システムは、継続選択ボタンの選択に応答して、記憶手段における利用可能な領域上に総印刷データのうちの一部の印刷データを作成し、作成した印刷データを記録装置へ送信して印刷処理を継続する継続手段と、中止選択ボタンの選択に応答して、印刷処理を中止する中止手段と
を備えることができる。
【００３４】
請求項２において、分割総印刷データは、記憶手段における利用可能な領域を利用して作成される第１データ群と、外部記憶手段における利用可能な領域を利用して作成される第２データ群とを有することができ、処理手段は、分割総印刷データを記録装置へ送信する際に、第１データ群の方を第２データ群より優先して送信することができる。
【００３５】
請求項２において、処理手段は、分割総印刷データを記録装置へ送信する際に、第１データ群を送信した後、第２データ群からそのデータのうちの一部又は全部を記憶手段に移動して新たなデータ群を作成し、この作成した新データ群を記録装置へ送信することができる。
【００３６】
【発明の実施の形態】
（発明の実施の形態１）
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００３７】
図１は本発明の一実施の形態を示す。これは印刷システムの例である。図１において、１はハンドヘルドコンピュータであり、搭載されているＯＳはＭｉｃｒｏｓｏｆｔ　Ｗｉｎｄｏｗｓ（登録商標）　ＣＥである。２は液晶ディスプレイ、３はキーボード、４はＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）ポート（ホスト）である。液晶ディスプレイ２はタッチパネルとなっており、スタイラスペン６を用いて、ドラッグ、ドロップ、タップ等の操作をすることにより、パソコン用マウスと同様な機能を実現している。５はインクジェット方式のカラープリンタであり、７はＵＳＢポート（クライアント）である。ハンドヘルドコンピュータ１とプリンタ５とはＵＳＢケーブル８で接続されており、これらの装置間でデータの双方向通信が可能である。
【００３８】
４５はメモリカードであり、フラッシュメモリなどの不揮発性メモリで構成される。メモリカード４５は主にアプリケーション（ソフトウェア）やファイルを格納する目的に使用される。メモリカード４５は１ＧＢの容量であり、本印刷システムで行われるスプール印刷（後述する）で必要なメモリ容量を十分に満足できる容量である。４４はメモリカード４５を装着できるカードスロットであり、４６はメモリカード４５の着脱を操作するための着脱スイッチである。着脱スイッチ４６を操作することにより、メモリカード４５を自由にハンドヘルドコンピュータ１のカードスロット４４に装着したり、取り外したりすることができる。また、ハンドヘルドコンピュータ１に搭載されているＯＳは着脱スイッチ４６の状態を認識でき、メモリカード４５の着脱状態（メモリカード４５の有無）を識別できる。図１ではメモリカード４５が取り外されている状態を示す。
【００３９】
図２は図１のハンドヘルドコンピュータ１の構成を示す。ハンドヘルドコンピュータ１は簡易パソコンとして活用される携帯端末であり、その主な特徴としてハードディスクドライブのような大容量記憶装置（通常、数ＧＢのデータを記憶できる装置）を備えておらず、記憶手段としてはＲＡＭのみを備える。このような構成にすることで、低コストで持ち運びが可能な情報処理装置を実現している。
【００４０】
ハンドヘルドコンピュータ１は、マイクロプロセッサ等から構成されるＣＰＵ（ｃｅｎｔｒａｌ　ｐｒｏｃｅｓｓｉｎｇ　ｕｎｉｔ）９と、ＲＯＭ（ｒｅａｄ　ｏｎｌｙ　ｍｅｍｏｒｙ）１０と、ＲＡＭ１１と、通信部１２と、表示部１３と、操作部１４とを、アドレスデータバス２１を介して相互に接続してある。
【００４１】
ＲＯＭ１０はＯＳ、ディスプレイやポートを制御する各デバイスドライバ、ハンドヘルドコンピュータ１上で起動できる各アプリケーション等をストアしてある。ＣＰＵ９はＲＯＭ１０にストアしたプログラムに従って、ＲＡＭ１１、通信部１２、表示部１３、操作部１４を制御するものである。ＲＯＭ１０にはプリンタドライバ２０（図４を参照して後述する）が記憶してある。ＲＡＭ１１は通常３２ＭＢ程度の容量で構成され、その内の半分がプログラム実行用に、残りの半分がデータ記憶用に割り当ててある。通信部１２はＵＳＢポート４を含んでおり、ＵＳＢの通信を制御するものである。表示部１３は液晶ディスプレイ２を含んでおり、アプリケーション等のユーザインタフェース（以下「ＵＩ」という。）の表示等の制御を行うものである。操作部１４はキーボード３を含んでおり、キー入力を制御するものである。操作部１４は着脱スイッチ４６を含んでおり、メモリカード４５の着脱状態を制御するものである。
【００４２】
図３は図１のプリンタ５の構成を示す。プリンタ５は、マイクロプロセッサ等から構成されるＣＰＵ１５と、ＲＯＭ１６と、ＲＡＭ１７と、通信部１８と、記録部１９を、アドレスデータバス３１を介して相互に接続してある。
【００４３】
ＲＯＭ１６には、プリンタ５がプリンタドライバ２０の制御に従って記録（印刷）処理を行うプログラムをストアしてある。ＣＰＵ１５はＲＯＭ１６に記憶されているプログラムに従って、ＲＡＭ１７、通信部１８、記録部１９を制御するものである。ＲＡＭ１７は主にハンドヘルドコンピュータ１から送られて、それをもとに記録部１９によって印刷される印刷データを一時的にストアしてある。通信部１８はＵＳＢポート７を含んでおり、ＵＳＢの通信を制御するものである。
【００４４】
記録部１９は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、印刷データをもとに記録ヘッドにて印字用パルスを発生させるためのＡＳＩＣ等から構成される電気回路とから構成される。印刷可能なアプリケーション（図６を参照して後述する）上での印刷操作によって、アプリケーションで開かれているファイルの表示内容（画像データ）が、プリンタドライバ２０を介してプリンタ５制御用コマンドを含む印刷データに変換された後、ハンドヘルドコンピュータ１のＲＡＭ１１のデータ記憶用エリアに一時的に格納され、ＵＳＢポート４からＵＳＢインタフェースを介してプリンタ５に送られる。プリンタ５にて受信された印刷データは、記録部１９によって印字用パルスに変換されて、記録紙上に印刷される。
【００４５】
図４はプリンタ５を制御するプリンタドライバ２０の構成を示す。図４においては矢印でデータのフローを示す。図４において、２１はＵＩ制御部であり、プリンタドライバ２０のＵＩを制御する。２２はプリンタ制御部であり、ＵＩ制御部からの指示に従ってプリンタ５に制御コマンドを送ることによりプリンタ５を制御したり、プリンタ５からの応答コマンドに基づいてＵＩ制御部にプリンタ５の状態を伝えたりする。
【００４６】
２３はスプール制御部であり、アプリケーションから印刷された時、ハンドヘルドコンピュータ１のＲＡＭ１１に十分な空領域がある場合、アプリケーションから渡された画像データを印刷データに変換した後、この印刷データをＲＡＭ１１にスプールファイルとして一時的に格納し、全印刷データが格納されてスプールファイルが完成した時点でアプリケーションにおける印刷処理を解放し、バックグラウンドでスプールファイル内の印刷データをプリンタ５へ送り、プリンタ５において印刷処理が行われる。
【００４７】
また、ハンドヘルドコンピュータ１のＲＡＭ１１に十分な空領域がない場合、メモリカード４５の有無を確認し、メモリカードが有る（ハンドヘルドコンピュータ１に装着されている）場合でメモリカード４５に十分な空領域がある場合、アプリケーションから渡された画像データを印刷データに変換した後メモリカード４５にこの印刷データをスプールファイルとして一時的に格納し、全印刷データが格納されてスプールファイルが完成した時点でアプリケーションにおける印刷処理を解放し、バックグラウンドでスプールファイル内の印刷データをプリンタ５へ送り、プリンタ５において印刷処理が行われる。
【００４８】
このように、全印刷データをハンドヘルドコンピュータ１のＲＡＭ１１またはメモリカード４５にスプールファイルとして一時的に格納し、バックグラウンドでスプールファイル内の印刷データをプリンタ５へ送って印刷処理を行うことをスプール印刷と呼ぶ。スプール印刷中はアプリケーション上において任意の操作を行うことができる。
【００４９】
これに対して、全印刷データをスプールファイルとして一時的に格納することなく、アプリケーションから渡されたラスタ単位の画像データを印刷データに変換して、フォアグランドで順次プリンタ５へ印刷データを送って印刷処理を行うことをダイレクト印刷と呼ぶ。ダイレクト印刷中はアプリケーション上において操作を行うことができない。
【００５０】
ハンドヘルドコンピュータ１のＲＡＭ１１に十分な空領域がなく、ハンドヘルドコンピュータ１にメモリカード４５が装着されていない場合、またはメモリカード４５が装着されているが十分な空領域がない場合、スプール制御部２３において、スプール印刷処理を行わず、ダイレクト印刷処理を行う。
【００５１】
ここで、スプール印刷時のスプールファイル内の印刷データまたはダイレクト印刷時の印刷データは２通りの構成が考えられる。一方は、プリンタ５を直接制御することができる印刷コマンドであり、他方、アプリケーションから渡される印刷画像データと印刷コマンドとの中間処理に必要とされる中間印刷コマンドである。印刷コマンドはデータ量が多いので、スプールファイルのサイズが大きくなるが、プリンタ５へ印刷データを転送するだけでよいので処理が高速である。中間印刷コマンドは印刷コマンドに比べてデータ量が少ないので、スプールファイルのサイズが小さくてすむが、中間印刷コマンドを印刷コマンドに変換してからプリンタ５へ印刷データを転送するので、スプール印刷の処理速度が遅くなる。
【００５２】
印刷データをどちらのコマンドを用いて構成するかは、そのシステムにおけるＣＰＵの性能やＲＡＭの容量等を考慮して最適な方を選択することが推奨される。本実施の形態では、印刷データは印刷コマンドで構成される例を説明する。
【００５３】
２４はポート制御部であり、スプール制御部２３から渡された印刷データを、通信部１２に対してライトしたり、プリンタ５からの応答コマンドを通信部１２からリードしたり、主にプリンタドライバレベルからみたポートの制御を行うものである。
【００５４】
図５は、プリンタドライバ２０が起動した時にハンドヘルドコンピュータ１の液晶ディスプレイ２に表示されるＵＩの一例を示す。図５において、３５はメインウィンドウである。２５はプリンタ選択部であり、コンボボックスにて構成され、接続されているプリンタを選択することにより、そのプリンタにて印刷を行うことができる。図５の例では、プリンタ５で印刷できる「ＢＪプリンタ」が選択されている。２６はポート選択部であり、コンボボックスにて構成され、ハンドヘルドコンピュータ１に装備されている印刷可能なポートを選択することができる。図５の例では、ＵＳＢポートが選択されている。
【００５５】
２７は用紙サイズ選択部であり、コンボボックスにて構成され、用紙サイズとして、Ａ６、Ａ５、Ａ４の３タイプのうちから何れか１つを選択可能である。２８は下書き印刷選択部であり、チェックボックスで構成され、チェックされている場合、印字品位を落として下書き印刷の品位で印刷処理を行い。チェックが外されている場合、標準品位で印刷処理を行う。図５の例では、チェックが外されている。２９はカラー印刷選択部であり、チェックボックスで構成され、チェックされている場合、カラー印刷が行われ、チェックが外されている場合、モノクロ印刷が行われる。図５の例ではチェックされている。
【００５６】
３０は印刷範囲選択部であり、ラジオボタンで構成され、「すべて」が選択されている場合、アプリケーションの表示上で選択されている領域に関わらず全ての範囲が印刷され、「選択」が選択されている場合、アプリケーションの表示上で選択された領域内が印刷される。図５の例では「すべて」が選択されている。３１は印刷の向き選択部であり、ラジオボタンで構成され、「縦」が選択されている場合、アプリケーションの表示を用紙の縦方向に展開して印刷し、「横」が選択されている場合、アプリケーションの表示を用紙の横方向に展開して印刷する。図５の例では「縦」が選択されている。
【００５７】
３２は余白設定部であり、数値を入力可能なテキストボックスで構成され、用紙の上下左右の余白をｍｍ単位でそれぞれ設定することができる。図５の例では上下左右の余白が全て２５ｍｍで設定されている。３３はＯＫボタンであり、このボタンがタップされると印刷が開始される。３４はキャンセルボタンであり、このボタンがタップされると、印刷を行うことなく、メインウィンドウ３５を閉じる。以下、プリンタ選択部２５、ポート選択部２６、用紙サイズ選択部２７、下書き印刷選択部２８、カラー印刷選択部２９、印刷範囲選択部３０、印刷の向き選択部３１、余白設定部３２における設定の組み合わせを「印刷設定」という。
【００５８】
図６は印刷可能なアプリケーションのＵＩを示す図であり、本アプリケーションは日本語ワードプロセッサのアプリケーションである。図６において、３６はメインウィンドウであり、文字列３７が入力された状態を表す。３８は印刷を開始する為の印刷ボタンであり、このボタンをタップすることにより、プリンタドライバ２０が起動してメインウィンドウ３５が表示される。そして、メインウィンドウ３５内のＯＫボタン３３をタップすることにより、表示されている文字列３７の印刷が開始される。３９は本アプリケーションを閉じる為のクローズボタンであり、このボタンをタップすることにより、メインウィンドウ３６を閉じ、本アプリケーションを終了する。
【００５９】
図７はスプール印刷を行うためのメモリをＲＡＭ１１から確保することができない場合の空メモリ（ＲＡＭ１１）不足メッセージを示す図である。図７において、４０は空メモリ不足メッセージであり、メッセージ文字列４１、ＯＫボタン４２、キャンセルボタン４３から構成される。空メモリ不足メッセージ４０はハンドヘルドコンピュータ１の空メモリ（ＲＡＭ１１）の容量が不足している時で、スプール印刷を行うためのメモリ（ＲＡＭ１１）が確保できない時に表示される。ＯＫボタン４２がタップされると、ハンドヘルドコンピュータ１にメモリカード４５が装着されているかを確認し、メモリカード４５を用いたスプール印刷を試みる。
【００６０】
キャンセルボタン４３がタップされると、印刷を中止する。キャンセルボタン４３がタップされ、印刷が中止された場合も、その後、不要なファイルを削除する等してスプール印刷を行うための空メモリ（ＲＡＭ１１）の容量を十分に増やしてから、印刷ボタン３８をタップして再度印刷を試みることにより、スプール印刷を行うことが可能である。このように、本実施の形態では、空メモリ不足メッセージ４０を表示させることで、印刷処理を継続するか中止するかをユーザが容易に選択できるようにし、例えば、ユーザが再度スプール印刷を試みること等ができるようにしているが、空メモリ不足メッセージ４０を表示させることなく、ＲＡＭ１１やメモリカード４５の空容量が不足している時は自動的にダイレクト印刷に処理を切り替えることにより、ユーザが空メモリ不足メッセージ４０に応えるという操作が不要になり、印刷操作に関するユーザの操作性を向上することができる。
【００６１】
印刷可能なアプリケーションにおいて、これらのうちのどちらの仕様を選択するかは、そのアプリケーションの使用目的に依存することであり、本発明の本質には関わらない。
【００６２】
図８はハンドヘルドコンピュータ１にメモリカード４５が装着されていないときにユーザにメモリカード４５の装着を促すメモリカード装着メッセージを示す図である。図８において、４７はメモリカード装着メッセージであり、メッセージ文字列４８、ＯＫボタン４９、キャンセルボタン５０から構成される。メモリカード装着メッセージ４７は、空メモリ不足メッセージ４０においてＯＫボタン４２がタップされた時、ハンドヘルドコンピュータ１にメモリカード４５が装着されていない場合に表示される。ＯＫボタン４９がタップされるとハンドヘルドコンピュータ１にメモリカード４５が装着されているかを確認し、メモリカード４５を用いたスプール印刷を試みる。キャンセルボタン５０がタップされると図９で後述する空メモリ不足メッセージ５１を表示して、ダイレクト印刷を試みる。
【００６３】
図９はスプール印刷を行うためのメモリをメモリカード４５から確保することができない場合の空メモリ（メモリカード４５）不足メッセージを表す図である。図９において、５１は空メモリ不足メッセージであり、メッセージ文字列５２、ＯＫボタン５３、キャンセルボタン５４から構成される。本メッセージは、ハンドヘルドコンピュータ１のＲＡＭ１１に十分な空領域がなく、ハンドヘルドコンピュータ１にメモリカード４５が装着されていない場合またはメモリカード４５が装着されているが十分な空領域がない場合に表示される。ＯＫボタン５３がタップされるとスプール印刷を行わず、ダイレクト印刷を開始する。
【００６４】
キャンセルボタン５４がタップされると印刷を中止する。キャンセルボタン５４がタップされ、印刷が中止された場合も、その後、不要なファイルを削除する等してスプール印刷を行うための空メモリ（ＲＡＭ１１）の容量を十分に増やしたり、十分な空容量を確保したメモリカード４５をハンドヘルドコンピュータ１に装着してから、印刷ボタン３８をタップして再度印刷を試みることにより、スプール印刷を行うことが可能である。
【００６５】
このように、本実施の形態では、空メモリ不足メッセージ５１を表示させることで、印刷処理を継続するか中止するかをユーザが容易に選択できるようにし、例えば、ユーザが再度スプール印刷を試みること等ができるようにしているが、空メモリ不足メッセージ５１を表示させることなく、ＲＡＭ１１やメモリカード４５の空容量が不足している時は自動的にダイレクト印刷に処理を切り替えることにより、ユーザが空メモリ不足メッセージ５１に応えるという操作が不要になり、印刷操作に関するユーザの操作性を向上することができる。
【００６６】
印刷可能なアプリケーションにおいて、これらのうちのどちらの仕様を選択するかは、そのアプリケーションの使用目的に依存することであり、本発明の本質には関わらない。
【００６７】
図１０ないし図１２は図２のＲＯＭ１０にストアされる印刷処理プログラムの一例を示すフローチャートである。ＯＫボタン３３（図５）がタップされると、印刷処理が開始され（Ｓ１００１）、スプール印刷時に、ＲＡＭ１１か、装着されたメモリカード４５（図１）に一時的に格納されるスプールファイルのデータサイズを計算する（Ｓ１００２）。そして、ＲＡＭ１１のデータ記憶用エリアの空容量がこのスプールファイルのデータサイズより大きいかどうかをチェックし（Ｓ１００３）、ＲＡＭ１１の空容量が十分にある場合（Ｓ１００４）、ＲＡＭ１１の空領域からスプールファイル用の領域を確保し（Ｓ１００５）、アプリケーションから印刷対象の１ラスタ分の印刷画像データを受け取る（Ｓ１００６）。この印刷画像データに印刷制御コマンドを付加して印刷データに変換した後、スプールファイルに格納する（Ｓ１００７）。
【００６８】
アプリケーションから印刷対象の全ラスタ分の印刷画像データが渡されてスプール処理が完了した（スプールファイルが完成した）場合（Ｓ１００８）、スプール印刷を開始し（Ｓ１００９）、アプリケーションに戻る（Ｓ１０２４）。他方、ステップＳ１００８にて、全ラスタ分の印刷画像データのスプール処理が完了していない場合、ステップＳ１００６に戻る。
【００６９】
他方、ステップＳ１００４において、ＲＡＭ１１の空容量が不足している場合、空メモリ不足メッセージ４０を表示し（Ｓ１０１０）、ＯＫボタン４２がタップされた場合（Ｓ１０１１）、ハンドヘルドコンピュータ１にメモリカード４５が装着されているか否かを確認し（Ｓ１０１２）、装着されている場合、メモリカード４５の空容量がスプールファイルのデータサイズより大きいかどうかをチェックする（Ｓ１０１３）。
【００７０】
メモリカード４５の空容量が十分にある場合（Ｓ１０１４）、メモリカード４５の空領域からスプールファイル用の領域を確保し（Ｓ１０１５）、ステップＳ１００６に進み、スプール印刷の処理を行う。他方、メモリカード４５の空容量が不足している場合、空メモリ不足メッセージ５１を表示し（Ｓ１０１８）、ＯＫボタン５３がタップされたどうか判定する（Ｓ１０１９）。
【００７１】
ＯＫボタン５３がタップされていないと判定した場合、アプリケーションに戻り、他方、ＯＫボタン５３がタップされたと判定した場合、ダイレクト印刷が開始され、アプリケーションから印刷対象の１ラスタ分の印刷画像データを受け取る（Ｓ１０２０）。そして、この印刷画像データに印刷制御コマンドを付加して印刷データに変換し（Ｓ１０２１）、この１ラスタ分の印刷データをポート制御部２４に書き込むことにより、プリンタ５へこの印刷データが送られる（Ｓ１０２２）。
【００７２】
アプリケーションから印刷対象の全ラスタ分の印刷画像データが渡されて全印刷データの送信が完了したかどうかを判定する（Ｓ１０２３）。完了したと判定した場合、アプリケーションに戻り（Ｓ１０２４）、他方、全印刷データの送信が完了していないと判定した場合、ステップＳ１０２０に戻る。
【００７３】
ステップＳ１０２０からＳ１０２３が終了するまでの処理がダイレクト印刷の処理である。
【００７４】
他方、ステップＳ１０１９において、キャンセルボタン５４がタップされた場合、印刷処理を中止してアプリケーションに戻る（Ｓ１０２４）。
【００７５】
他方、ステップＳ１０１２において、ハンドヘルドコンピュータ１にメモリカード４５が装着されていない場合、メモリカード装着メッセージ４７を表示し（Ｓ１０１６）、ＯＫボタン４９がタップされた場合（Ｓ１０１７）、ステップＳ１０１２に戻る。
【００７６】
他方、ステップＳ１０１７において、キャンセルボタン５０がタップされた場合、ステップＳ１０１８に進む。
【００７７】
他方、ステップＳ１０１１において、キャンセルボタン４３がタップされた場合、印刷処理を中止してアプリケーションに戻る（Ｓ１０２４）。
【００７８】
例えば、Ｓ１００４において、ＲＡＭ１１の空容量が不足している場合、ステップＳ１０１０〜Ｓ１０１９をとばしてステップＳ１０２０に進むことにより、図７ないし図９で説明したように、空メモリ不足メッセージ４０、メモリカード装着メッセージ４７、空メモリ不足メッセージ５１を表示せずに、自動的にダイレクト印刷に処理を切り替えることにより、ユーザが空メモリ不足メッセージ４０、メモリカード装着メッセージ４７、空メモリ不足メッセージ５１に応えるという操作が不要になり、印刷操作に関するユーザの操作性を向上することができる。
【００７９】
このようにして、ステップＳ１０２４において、アプリケーションに戻ると、アプリケーションはプリンタドライバ２０のメインウィンドウ３５を閉じて、プリンタドライバ２０を解放する。プリンタドライバ２０が起動中は、アプリケーション上にて操作を行うことができないが、プリンタドライバ２０が解放されると、アプリケーション上にて任意の操作を行うことができる。
【００８０】
通常、メモリへのライト、リード等のアクセスにかかる時間は、ＲＡＭ１１へアクセスする方がメモリカード４５にアクセスするより速いので、スプールファイルに必要なメモリを最初にＲＡＭ１１から確保することを試み、ＲＡＭ１１から確保できなかった場合に、次にメモリカード４５から確保することを試みるように、優先順位をつけることで、印刷速度が優先され、印刷速度の低下を防ぐことができる。
【００８１】
図１３は図２のＲＯＭ１０にストアされるスプール印刷処理プログラムの一例を示すフローチャートである。図１０のステップＳ１００９においてスプール印刷が開始されると（Ｓ１１０１）、スプールファイルから印刷データをロードし（Ｓ１１０２）、この印刷データをポート制御部２４に書き込むことによりプリンタ５へこの印刷データが送られる（Ｓ１１０３）。その後、書き込んだ印刷データをスプールファイルから削除して、その分のメモリ（ＲＡＭ１１またはメモリカード４５）を解放する（Ｓ１１０４）。全印刷データの送信が完了した場合（Ｓ１１０５）、スプール印刷を終了し（Ｓ１１０６）、他方、全印刷データの送信が完了していない場合、ステップＳ１１０２に戻る。
【００８２】
前述した通り、ハンドヘルドコンピュータ１はハードディスクドライブのような大容量記憶装置を備えておらず、記憶手段としてはＲＡＭ１１のみを備えるので、ユーザの使用状況に応じてＲＡＭ１１内のデータ記憶用エリアに記憶可能なデータ量が限られてしまい、特にスプール印刷処理のように、比較的データサイズの大きいスプールファイルをＲＡＭ１１内に格納する必要がある場合、スプールファイルを作成できず、正常に印刷を行うことができないケースが発生する。
【００８３】
ハンドヘルドコンピュータ１にカードスロット４４を装備し、自由に着脱が可能なメモリカード４５を装着することができるようにした上で、ハンドヘルドコンピュータ１において、スプール印刷処理のように比較的データサイズの大きいスプールファイルをＲＡＭ１１内に格納する必要がある場合において、ＲＡＭ１１の空領域が不足した場合も、スプールファイルをメモリカード４５に格納することで、スプールファイルを作成して、正常にスプール印刷を行うことができる。
【００８４】
もし、ＲＡＭ１１の空領域が不足し、メモリカード４５の空領域も不足して、スプールファイルが作成できない場合は、スプールファイルの作成を必要としないダイレクト印刷処理に処理を切り替えることにより、全てのケースにおいて、正常に印刷を完了することができる。
【００８５】
このように、ダイレクト印刷時は、ＲＡＭ１１の空領域の範囲内で専用の領域を確保すればよいので、容易に実現することができる。
【００８６】
また、もし、スプールファイルが作成できる場合は、スプール印刷を行うので、アプリケーションから印刷ジョブをより速く解放でき、バックグラウンドで印刷ジョブを走らせた状態で、アプリケーション上にて任意の操作を行うことができる。
【００８７】
また、アプリケーションの使用目的に応じて、空メモリ不足メッセージ４０、メモリカード装着メッセージ４７、空メモリ不足メッセージ５１を表示させたり、表示させなかったりすることで、スプール印刷を優先させてアプリケーションの操作性を向上させるか、印刷操作に関するユーザの操作性を向上させるかの何れかを重視させて設計することが考えられる。
【００８８】
空メモリ不足メッセージ４０、メモリカード装着メッセージ４７、空メモリ不足メッセージ５１を表示させる場合は、ユーザがハンドヘルドコンピュータ１のメモリ（ＲＡＭ１１）、メモリカード４５の空領域の状態を容易に把握できる。
【００８９】
本実施の形態においては、周辺機器の例として、カラープリンタ５を挙げたが、この例に限らず、同様なスプールの概念を有する全ての周辺機器に関して有効である。
【００９０】
また、本実施の形態においては、インクジェット方式のカラープリンタの例を挙げたが、この例に限らずレーザービームプリンタや、モノクロプリンタに対しても有効であることは、言うまでもない。
【００９１】
本実施の形態においては、スプールファイルに書き込むデータとして、プリンタ５を直接制御することが可能な印刷コマンドで構成される印刷データを利用することで容易に実現することができるが、この例に限らず、アプリケーションから渡される印刷画像データと印刷データとの中間処理に必要とされる中間印刷コマンドをスプールファイルに書き込むことによっても、同様な効果が得られ、さらに、この場合は、スプールファイルのサイズを小さくすることができる。
【００９２】
本実施の形態においては、印刷可能なアプリケーションの例として日本語ワードプロセッサを使用したが、この例に限られることなく、印刷可能な任意のアプリケーションにおいて実現可能である。
【００９３】
本実施の形態においては、例としてＯＳにＭｉｃｒｏｓｏｆｔ　Ｗｉｎｄｏｗｓ（登録商標）　ＣＥを使用したが、このＯＳに限られることなく、同様な構成をとることにより、任意のＯＳにおいて実現可能である。
【００９４】
本実施の形態においては、例として、ハンドヘルドコンピュータ１とプリンタ５との間のインタフェースとして、ＵＳＢインタフェースを用いたが、このインタフェースに限られることなく、同様な構成をとることにより、任意のインタフェースにおいて実現可能である。
【００９５】
（発明の実施の形態２）
次に発明の実施の形態２を説明する。発明の実施の形態１では、ＲＡＭ１１かメモリカード４５の何れか一方において１つのスプールファイルを作成するので、ＲＡＭ１１にスプールファイルを作成してスプール印刷を行う為に必要な空領域が十分に無い場合や、メモリカード４５にスプールファイルを作成してスプール印刷を行う為に必要な空領域が十分に無い場合において、スプール印刷を行うことができなく、ダイレクト印刷を行っていた。この為、アプリケーションから印刷処理を解放するのに非常に時間がかかってしまい、その間、アプリケーションを操作することができないという問題が残っていた。しかしながら、実際の使用状況においては、ＲＡＭ１１とメモリカード４５の空領域を合わせると、スプールファイルを作成してスプール印刷を行う為に必要な空領域が十分に存在するケースが多く、このようなケースにおいて、スプールファイルをＲＡＭ１１とメモリカード４５に分割ファイルとして作成することで、スプール印刷を行うことができるので、アプリケーションから印刷ジョブをより速く解放でき、バックグラウンドで印刷ジョブを走らせた状態で、アプリケーション上にて任意の操作を行うことができる。発明の実施の形態２では、このようなケースにおいて、スプール印刷を行う例を示す。尚、前提となる印刷システムは、その大部分が発明の実施の形態１と同様な構成であり、特に図１から図１２は発明の実施の形態１と同一であるので、ここでの説明は省略する。
【００９６】
図１４は図２のＲＯＭ１０にストアされるスプール印刷処理プログラムの一例を示すフローチャートである。図１０のステップＳ１００９においてスプール印刷が開始されると（Ｓ９１０１）、スプールファイルから印字データをロードし（Ｓ９１０２）、この印字データをポート制御部２４に書き込んでプリンタ５へ送る（Ｓ９１０３）。
【００９７】
メモリカード４５にスプールファイルが存在するかどうかを判定し、存在すると判定した場合には（Ｓ９１０４）、ＲＡＭ１１にもスプールファイルが存在するかどうかを判定し（Ｓ９１０５）、存在すると判定した場合には、ＲＡＭ１１のスプールファイルのスプール印刷処理が終了したかどうかを判定し、スプール印刷処理が終了したと判定した場合には（Ｓ９１０６）、ＲＡＭ１１のスプールファイルを削除する（Ｓ９１０７）。
【００９８】
ついで、ＲＡＭ１１に確保されているスプールファイル用メモリのデータサイズの方が、メモリカード４５のスプールファイルのデータサイズより大きいとき、メモリカード４５のスプールファイルをそのままＲＡＭ１１にコピーし、他方、ＲＡＭ１１に確保されているスプールファイル用メモリのデータサイズの方が、メモリカード４５のスプールファイルのデータサイズより小さいとき、メモリカード４５のスプールファイルを、ＲＡＭ１１に確保されているスプールファイル用メモリのデータサイズのスプールファイルと、それ以外のスプールファイルとに分割し、前者をＲＡＭ１１にコピーする（Ｓ９１０８）。
【００９９】
そして、ステップＳ９１０８におけるコピー元のファイルをメモリカード４５から削除し、その分のメモリをメモリカード４５から解放し（Ｓ９１０９）、その後、ステップＳ９１０２に戻る。
【０１００】
他方、ステップＳ９１０４においてメモリカード４５にスプールファイルが存在しないと判定した場合には、書き込んだ印字データをスプールファイルから削除し、その分のメモリ（ＲＡＭ１１またはメモリカード４５）を解放する（Ｓ９１１０）。ついで、全印字データの送信が完了したかどうかを判定し、完了したと判定した場合には（Ｓ９１１１）、その後、このスプール印刷を終了する（Ｓ９１１２）。他方、ステップＳ９１１１において全印字データの送信が完了していないと判定した場合には、その後、ステップＳ９１０２に戻る。
【０１０１】
他方、ステップＳ９１０５においてＲＡＭ１１にスプールファイルが存在しないと判定した場合には、ステップＳ９１１０へ進む。
【０１０２】
他方、ステップＳ９１０６においてＲＡＭ１１のスプールファイルのスプール印刷処理が終了していないと判定した場合には、ステップＳ９１０２に戻る。
【０１０３】
このように、ＲＡＭ１１の第１のスプールファイルの全印字データを印刷した後、その領域にメモリカード４５から第２のスプールファイル、または、第２のスプールファイルを分割して作成した第２のスプールファイルの一部のスプールファイルを、ＲＡＭ１１にコピーし、ＲＡＭ１１のスプールファイルを優先して印刷するようにし、しかもＲＡＭ１１に対するアクセス時間の方がメモリカード４５に対するアクセス時間より短いので、印刷速度をより高速にすることができる。
【０１０４】
前述したように、ハンドヘルドパソコン１が、ハードディスクドライブのような大容量記憶装置を備えておらず、記憶手段としてはＲＡＭ１１のみを備えるので、ユーザの使用状況に応じてＲＡＭ１１内のデータ記憶用エリアに記憶可能なデータ量が限られてしまい、特にスプール印刷処理のように、比較的データサイズの大きいスプールファイルをＲＡＭ１１内に格納する必要がある場合、スプールファイルを作成できず、正常に印刷を行うことができないおそれがあるところ、本実施の形態においては、ハンドヘルドパソコン１にカードスロット４４を装備し、自由に着脱が可能なメモリカード４５を装着することができるようにした上で、ハンドヘルドパソコン１において、スプール印刷処理のように比較的データサイズの大きいスプールファイルをＲＡＭ１１内に格納する必要がある場合において、ＲＡＭ１１の空領域が不足した場合も、スプールファイルをＲＡＭ１１とメモリカード４５に分割ファイル形式のスプールファイルとして格納するようにしたので、スプールファイルを作成して、正常にスプール印刷を行うことができる。
【０１０５】
その際、ＲＡＭ１１に対するアクセス時間の方がメモリカード４５に対するアクセス時間より短いという特性を活かし、ＲＡＭ１１のスプールファイルを先に印刷し、その後メモリカード４５のスプールファイルの全部または一部のスプールファイルをＲＡＭ１１にコピーして、このＲＡＭ１１のスプールファイルを印刷するように、ＲＡＭ１１のスプールファイルをメモリカード４５より優先して印刷するようにしたので、印刷速度が優先され、印刷速度を向上させることができる。
【０１０６】
もし、ＲＡＭ１１の空領域が不足し、メモリカード４５の空領域も不足して、１つのファイルで構成されるスプールファイルまたは複数の分割ファイルから構成されるスプールファイルが作成できない場合は、スプールファイルの作成を必要としないダイレクト印刷処理に処理を切り替えることにより、全てのケースにおいて、正常に印刷を完了することができる。
【０１０７】
このように、ダイレクト印刷時は、ＲＡＭ１１の空領域の範囲内で専用の領域を確保すればよいので、容易に実現することができる。
【０１０８】
また、もし、スプールファイルが作成できる場合は、スプール印刷を行うので、アプリケーションから印刷ジョブをより速く解放でき、バックグラウンドで印刷ジョブを走らせた状態で、アプリケーション上にて任意の操作を行うことができる。
【０１０９】
また、アプリケーションの使用目的に応じて、空メモリ不足メッセージ４０、メモリカード装着メッセージ４７、空メモリ不足メッセージ５１を表示させたり、表示させなかったりすることで、スプール印刷を優先させてアプリケーションの操作性を向上させるか、印刷操作に関するユーザの操作性を向上させるかのいずれかを重視させて設計することが考えられる。
【０１１０】
空メモリ不足メッセージ４０、メモリカード装着メッセージ４７、空メモリ不足メッセージ５１を表示させる場合は、ユーザがハンドヘルドパソコン１のメモリ（ＲＡＭ１１）やメモリカード４５の空領域の状態を容易に把握できる。
【０１１１】
本実施の形態においては、周辺機器の例として、カラープリンタ５を挙げたが、この例に限らず、同様なスプールの概念を有する全ての周辺機器に関して有効である。また、本実施の形態においてはインクジェット方式のカラープリンタの例を挙げたが、この例に限らずレーザービームプリンタや、モノクロプリンタに対しても有効であることは、言うまでもない。
【０１１２】
本実施の形態においては、分割ファイル形式のスプールファイルの例として、２つの分割ファイルから構成されるスプールファイルを挙げたが、この例に限らず、例えば複数のメモリカードを装着可能なシステムにおいて、複数の分割ファイルから構成されるスプールファイルを用いてスプール印刷するような構成も考えられ、容易に実現可能である。
【０１１３】
本実施の形態においては、スプールファイルに書き込むデータとして、プリンタ５を直接制御することが可能な印刷コマンドで構成される印字データを利用することで容易に実現することができるが、この例に限らず、アプリケーションから渡される印刷画像データと前記印字データとの中間処理に必要とされる中間印刷コマンドをスプールファイルに書き込むことによっても、同様な効果が得られ、さらにこの場合は、スプールファイルの大きさを小さくすることができる。
【０１１４】
本実施の形態においては、印刷可能なアプリケーションの例として日本語ワードプロセッサを使用したが、この例に限られることなく、印刷可能な任意のアプリケーションにおいて実現可能である。
【０１１５】
本実施の形態においては、例としてＯＳにＭｉｃｒｏｓｏｆｔ　Ｗｉｎｄｏｗｓ　（登録商標）ＣＥを使用したが、このＯＳに限られることなく、同様な構成をとることにより、任意のＯＳにおいて実現可能である。
【０１１６】
本実施の形態においては、例として、ハンドヘルドパソコン１とプリンタ５との間のインタフェースとして、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）インタフェースを用いたが、このインタフェースに限られることなく、同様な構成をとることにより、任意のインタフェースにおいて実現可能である。
【０１１７】
【発明の効果】
以上説明したように、本発明によれば、次のような効果が得られる。
【０１１８】
請求項１の発明によれば、アプリケーションから印刷処理をより早く解放でき、バックグラウンドで印刷ジョブを走らせた状態で、アプリケーション上にて任意の操作を行うことができる。
【０１１９】
請求項２の発明によれば、アプリケーションから印刷処理をより早く解放でき、バックグラウンドで印刷ジョブを走らせた状態で、アプリケーション上にて任意の操作を行うことができる。
【０１２０】
請求項３の発明によれば、アプリケーションの操作性を向上させつつ、印刷操作に関するユーザの操作性を向上させることができ、全てのケースにおいて、正常に印刷を完了することができる。
【０１２１】
請求項４の発明によれば、アプリケーションの操作性を向上させつつ、印刷操作に関するユーザの操作性を向上させることができ、全てのケースにおいて、正常に印刷を完了することができる。
【０１２２】
請求項５の発明によれば、アプリケーションから印刷処理をより早く解放でき、バックグラウンドで印刷ジョブを走らせた状態で、アプリケーション上にて任意の操作を行うことができる。
【０１２３】
請求項６の発明によれば、プリンタを直接制御することが可能な印字データ、または、アプリケーションから渡される印刷画像データと前記印字データとの中間処理に必要とされる中間データをスプールファイルに書き込むにことよって、容易に実現することができ、後者の場合はスプールファイルの大きさを小さくすることができる。
【０１２４】
請求項７の発明によれば、ユーザが情報処理装置の記憶手段の利用可能な領域の状態を容易に把握できる。
【０１２５】
請求項８の発明によれば、印刷処理を継続するか中止することができる。
【０１２６】
請求項９の発明によれば、印刷速度が優先され印刷速度をより高速にすることができる。
【０１２７】
請求項１０の発明によれば、印刷速度が優先され印刷速度をより高速にすることができる。
【０１２８】
請求項１１の発明によれば、低コストで持ち運びが可能な情報処理装置からの印刷を実現することができる。
【０１２９】
請求項１２の発明によれば、情報処理装置の記憶手段における利用可能な領域の範囲内で印刷処理に必要な領域を確保すればよいので、容易に実現することができる。
【０１３０】
請求項１３の発明によれば、ユーザが情報処理装置に装着された外部記憶手段の利用可能な領域の状態を容易に把握できる。
【０１３１】
請求項１４の発明によれば、印刷処理を継続するか中止することができる。
【０１３２】
請求項１５の発明によれば、ユーザが情報処理装置の記憶手段、または装着された外部記憶手段の利用可能な領域の状態を容易に把握できる。
【０１３３】
請求項１６の発明によれば、印刷処理を継続するか中止することができる。
【０１３４】
請求項１７の発明によれば、印刷速度が優先され印刷速度をより高速にすることができる。
【０１３５】
請求項１８の発明によれば、印刷速度が優先され印刷速度をより高速にすることができる。
【図面の簡単な説明】
【図１】本発明を一実施の形態を示すブロック図である。
【図２】図１のハンドヘルドコンピュータ１の構成を示すブロック図である。
【図３】図１のプリンタ５の構成を示すブロック図である。
【図４】プリンタドライバ２０の構成を示すブロック図である。
【図５】液晶ディスプレイ２に表示されるＵＩの一例を示す図である。
【図６】印刷可能なアプリケーションのＵＩを示す図である。
【図７】空メモリ不足メッセージの一例を示す図である。
【図８】メモリカード装着メッセージの一例を示す図である。
【図９】空メモリ不足メッセージの一例を示す図である。
【図１０】図２のＲＯＭ１０にストアされる印刷処理プログラムの一例を示すフローチャート（その１）である。
【図１１】図２のＲＯＭ１０にストアされる印刷処理プログラムの一例を示すフローチャート（その２）である。
【図１２】図２のＲＯＭ１０にストアされる印刷処理プログラムの一例を示すフローチャート（その３）である。
【図１３】図２のＲＯＭ１０にストアされるスプール印刷処理プログラムの一例を示すフローチャートである。
【図１４】図２のＲＯＭ１０にストアされるスプール印刷処理プログラムの一例を示すフローチャートである。
【符号の説明】
１　ハンドヘルドコンピュータ
２　液晶ディスプレイ
４，７　ＵＳＢポート
５　プリンタ
８　ＵＳＢケーブル
１１　ＲＡＭ
１９　記録部
２０　プリンタドライバ
２３　スプール制御部
３３，４２，４９，５３　ＯＫボタン
３８　印刷ボタン
４３，５０，５４　キャンセルボタン
４４　カードスロット
４５　メモリカード
４６　着脱スイッチ
【図１】
2004078884.tif 000003
【図２】
2004078884.tif 000004
【図３】
2004078884.tif 000005
【図４】
2004078884.tif 000006
【図５】
2004078884.tif 000007
【図６】
2004078884.tif 000008
【図７】
2004078884.tif 000009
【図８】
2004078884.tif 000010
【図９】
2004078884.tif 000011
【図１０】
2004078884.tif 000012
【図１１】
2004078884.tif 000013
【図１２】
2004078884.tif 000014
【図１３】
2004078884.tif 000015
【図１４】
2004078884.tif 000016