(57)【要約】【課題】  既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用しつつ、印刷開始時間を短縮できるプリンタ制御用プログラムおよび文書操作端末、並びに文書処理システム、印刷データ作成方法の提供。【解決手段】文書操作用アプリケーションソフトウェア４０と共に動作するプリンタドライバ１００によって前記アプリケーションソフトウェア４０の操作状況を監視し、前記アプリケーションソフトウェア４０の文書操作中に任意の操作情報を取得し、その操作情報に基づいて予めその文書データの印刷データを作成する。これによって、印刷指示が行われる前に既に殆どのデータのレンダリングが終了しているため、印刷開始時間を大幅に短縮できる。【選択図】        図１
2005100356.tif 000002
【特許請求の範囲】
【請求項１】
印刷機能を利用する文書操作用のソフトウェアと共に動作するプリンタ制御用プログラムであって、
コンピュータを、
前記ソフトウェアの操作情報を、当該ソフトウェアの操作中に取得する操作情報取得手段と、
当該操作情報取得手段で取得した操作情報に基づいて前記ソフトウェアで作成される文書の印刷用データを作成する印刷データ作成手段と、
して機能させることを特徴とするプリンタ制御用プログラム。
【請求項２】
印刷機能を利用する文書操作用のソフトウェアと共に動作するプリンタ制御用プログラムであって、
コンピュータを、
前記ソフトウェアの操作情報を、当該ソフトウェアの操作中に取得する操作情報取得手段と、
当該操作情報取得手段で取得した操作情報に基づいて前記ソフトウェアで作成される文書の印刷用データを作成する印刷データ作成手段と、
前記印刷データ作成手段で作成された印刷用データの各素材をそのまま保持するレンダリング情報保持手段と、
して機能させることを特徴とするプリンタ制御用プログラム。
【請求項３】
印刷機能を利用する文書操作用のソフトウェアと共に動作するプリンタ制御用プログラムであって、
コンピュータを、
前記ソフトウェアの操作情報を、当該ソフトウェアの操作中に取得する操作情報取得手段と、
当該操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択する操作情報選択手段と、
当該操作情報選択手段で選択した操作情報に基づいて前記ソフトウェアで作成される文書の印刷用データを作成する印刷データ作成手段と、して機能させることを特徴とするプリンタ制御用プログラム。
【請求項４】
印刷機能を利用する文書操作用のソフトウェアと共に動作するプリンタ制御用プログラムであって、
コンピュータを、
前記ソフトウェアの操作情報を、当該ソフトウェアの操作中に取得する操作情報取得手段と、
前記ソフトウェアが動作するコンピュータのＣＰＵの負荷情報を取得するＣＰＵ負荷情報取得手段と、
当該ＣＰＵ負荷情報取得手段で取得したＣＰＵの負荷情報に基づいて前記操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択する操作情報選択手段と、
当該操作情報選択手段で選択した操作情報に基づいて前記ソフトウェアで作成される文書の印刷用データを作成する印刷データ作成手段と、して機能させることを特徴とするプリンタ制御用プログラム。
【請求項５】
請求項１〜４のいずれか１項に記載のプリンタ制御用プログラムにおいて、
前記ソフトウェアは、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、前記アプリケーションソフトウェアから前記オペレーティングシステムに対する操作に関する情報であることを特徴とするプリンタ制御用プログラム。
【請求項６】
請求項１〜４のいずれか１項に記載のプリンタ制御用プログラムにおいて、
前記ソフトウェアは、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、前記オペレーティングシステムから前記ソフトウェアに対するコマンド操作に関する情報であることを特徴とするプリンタ制御用プログラム。
【請求項７】
請求項３に記載のプリンタ制御用プログラムにおいて、
前記オペレーティングシステムから前記ソフトウェアに対するコマンド操作に関する情報は、前記ソフトウェアのファイル操作に関する情報であることを特徴とするプリンタ制御用プログラム。
【請求項８】
請求項１〜４のいずれか１項に記載のプリンタ制御用プログラムにおいて、
前記ソフトウェアは、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、当該ソフトウェアが協働するハードウェアの入力装置から前記オペレーティングシステムに対する入力操作に関する情報であることを特徴とするプリンタ制御用プログラム。
【請求項９】
プリンタと通信可能に接続された文書操作端末であって、
前記プリンタで印刷実行される文書を作成する文書操作手段と、
当該文書操作手段の操作情報を、当該文書操作手段の操作中に取得する操作情報取得手段と、
当該操作情報取得手段で取得した操作情報に基づいて前記文書操作手段で作成される文書の印刷用データを作成する印刷データ作成手段と、
当該印刷データ作成手段で作成された印刷用データを前記プリンタに送信するデータ送信手段と、を有することを特徴とする文書操作端末。
【請求項１０】
プリンタと、当該プリンタを利用する文書操作端末とを有する文書処理システムであって、
前記文書操作端末は、
前記プリンタで印刷実行される文書を作成する文書操作手段と、
当該文書操作手段の操作情報を、当該文書操作手段の操作中に取得する操作情報取得手段と、
当該操作情報取得手段で取得した操作情報に基づいて前記文書操作手段で作成される文書の印刷用データを作成する印刷データ作成手段と、
当該印刷データ作成手段で作成された印刷用データを前記プリンタに送信するデータ送信手段と、を有することを特徴とする文書処理システム。
【請求項１１】
印刷機能を利用する文書操作用のソフトウェアで作成される文書の印刷データを作成する方法であって、
前記ソフトウェアによる文書作成状況を監視し、前記ソフトウェアの文書作成中に所定の操作情報を取得すると共に、取得した前記操作情報に基づいて前記ソフトウェアで作成中の文書の印刷データを印刷指示がある前に予め作成するようにしたことを特徴とする印刷データ作成方法。
【請求項１２】
文書操作用のアプリケーションソフトウェアが動作する環境に常駐してプリンタを制御するプリンタ制御用プログラムであって、
前記アプリケーションソフトウェアの操作情報を、当該アプリケーションソフトウェアの操作中に取得する操作情報取得手段と、
前記操作情報取得手段で取得した操作情報に基づいて前記文書操作アプリケーションソフトウェアで操作される文書の印刷用データを作成する印刷データ作成手段と、
を有することを特徴とするプリンタ制御用プログラム。
【請求項１３】
請求項１２に記載のプリンタ制御用プログラムにおいて、
前記操作情報取得手段で取得される前記アプリケーションソフトウェアの操作情報は、オペレーティングシステムまたは前記アプリケーションソフトウェアが利用する環境に対する操作情報であることを特徴とするプリンタ制御用プログラム。
【請求項１４】
請求項１２に記載のプリンタ制御用プログラムにおいて、
前記操作情報取得手段で取得される前記アプリケーションソフトウェアの操作情報は、当該アプリケーションソフトウェアの文書操作コマンドに関する操作情報であることを特徴とするプリンタ制御用プログラム。
【請求項１５】
請求項１２に記載のプリンタ制御用プログラムにおいて、
前記操作情報取得手段による前記アプリケーションソフトウェアの操作情報は、当該ソフトウェアが協働するハードウェアの入力装置に対する入力操作に関する操作情報であることを特徴とするプリンタ制御用プログラム。
【請求項１６】
請求項１２に記載のプリンタ制御用プログラムにおいて、
前記操作情報取得手段で取得される前記アプリケーションソフトウェアの操作情報は、当該ソフトウェアのファイル操作に関する情報であることを特徴とするプリンタ制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パソコン（ＰＣ）等の文書操作端末に組み込まれるプリンタ用デバイスドライバであるプリンタ制御用プログラム等に係り、特に印刷開始時間の短縮化を目的としたプリンタ制御用プログラムおよび文書操作端末、並びに文書処理システム、印刷データ作成方法に関するものである。
【背景技術】
【０００２】
一般に、パソコン等の文書操作端末によって作成された文書データは、そのままではプリンタで印刷処理ができないため、ドットごとの色情報を羅列した形式のラスタ画像データからなる印刷データに変換されてから印刷処理が行われるようになっている。
このような文書データからラスタ画像データへの変換処理は、一般にレンダリング（ｒｅｎｄｅｒｉｎｇ）処理と呼ばれ、例えば、一般的なインクジェットプリンタにあっては、前記文書操作端末のオペレーションシステム（ＯＳ）に予め組み込まれたプリンタ制御用のプログラムによってその処理が実行されるようになっている。
【０００３】
そして、このようなレンダリング処理は、文書操作端末における文書作成完了後にユーザが文書操作を行っているアプリケーションソフトウェア、例えば、ワープロソフトウェアの印刷指示ボタンが押されてからプリンタ制御用プログラムが実行するようになっているため、そのレンダリング処理に要する時間分だけ実際にプリンタで印刷が開始されるまで時間がかかってしまうといった不都合がある。特に、作成した文書が画像等を主体としたデータ容量が大きい場合や、文書操作端末自体の情報処理能力が低い場合等にはその不都合が顕著に現れる。
【０００４】
このため、例えば、以下の特許文献１や２等では、文書操作端末（クライアント装置）のアプリケーションソフトウェアが文書の作成作業と並行して文書データをプリンタ（印刷装置）に逐次転送し、これを受信したプリンタがその文書データを印刷に適した画像データに変換し、文書作成完了後に送られてくる印刷命令および条件に従って、先に作成されたその画像データを用いて印刷処理を行うことで、プリンタにおける実際の印刷開始時間を短縮するようにした方法が提案されている。
【特許文献１】特開２０００−２６７８２７号公報
【特許文献２】特開平１１−３１０５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来技術では、文書操作用のアプリケーションソフトウェアに文書の作成（操作）作業と並行して作成中の文書データの一部をプリンタ側に逐次転送する機能や仕組みが必要となってくるため、例えば、既に市販または実際に文書操作端末にインストルーされて利用されているワープロソフトウェアやエディタ等の汎用の文書操作用アプリケーションソフトウェアではこのような機能を発揮することができない。
【０００６】
また、このような機能を享受するためには、アプリケーションソフトウェアのみならず、プリンタやプリンタ制御用プログラム等の各種印刷制御用のソフトウェアに至る印刷システムの殆どを新たに構築しなければならず、多大な開発や実現のための多くのコストがかかる等といった不都合がある。
そこで、本発明はこのような課題を有効に解決するために案出されたものであり、その主な目的の一つは、印刷開始時間を短縮化することができる新規なプリンタ制御用プログラムおよび文書操作端末、並びに文書処理システム、印刷データ作成方法を提供するものである。
【０００７】
また、本発明の主な目的の一つは、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用しつつ、印刷開始時間を短縮化することができる新規なプリンタ制御用プログラムおよび文書操作端末、並びに文書処理システム、印刷データ作成方法を提供するものである。
【課題を解決するための手段】
【０００８】
〔発明１〕前記課題を解決するために発明１のプリンタ制御用プログラムは、
印刷機能を利用する文書操作用のソフトウェアと、時分割のタスク実行や実行場所の分散などにより、共に動作するプリンタ制御用プログラムであって、コンピュータを、前記ソフトウェアの操作情報を、当該ソフトウェアの操作中に取得する操作情報取得手段と、当該操作情報取得手段で取得した操作情報に基づいて前記ソフトウェアで作成される文書の印刷用データを作成する印刷データ作成手段と、して機能させることを特徴とするものである。
【０００９】
これによって、ワードプロセッサや画像閲覧など電子ファイルを取り扱う、文書操作用のソフトウェアの操作中に、すなわち、文書操作用ソフトウェアのプロセスが起動され、終了するまでの任意の間に、その文書を構成するデータを取得して先行的に印刷データの作成処理（以下、本実施の形態では、従来と同様に、この印刷データ作成処理のことを「レンダリング」という。）を開始することができるため、従来、文書作成完了後に行われていたレンダリング処理の一部あるいは全部を省略することができる。
【００１０】
この結果、文書作成終了後のレンダリング処理に要する時間を大幅に短縮、あるいは省略することが可能となるため、プリンタへのデータ送信からそのプリンタでのファーストプリントアウトまでの時間を大幅に短縮できる。
また、プリンタをコントロールするソフトウェアのみによってそれらの機能を発揮できるため、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェア等をそのまま利用することができ、開発コストや導入コストを最小限に抑えることができる。
【００１１】
なお、本発明でいう「印刷機能を利用する文書操作用のソフトウェア」とは、ワープロソフトウェアやエディタのように、ユーザなどの操作によって新たな文書データを作成するためのソフトウェアのみならず、画像閲覧ソフトウェアのような閲覧専用であって、新たな文書データを作成しないソフトウェアも含むものとする（以下の「プリンタ制御用プログラム」、「文書操作端末」、「文書処理システム」、「印刷データ作成方法」に関する発明において同じである）
【００１２】
〔発明２〕また、発明２のプリンタ制御用プログラムは、
印刷機能を利用する文書操作用のソフトウェアと共に動作するプリンタ制御用プログラムであって、コンピュータを、前記ソフトウェアの操作情報を、当該ソフトウェアの操作中に取得する操作情報取得手段と、当該操作情報取得手段で取得した操作情報に基づいて前記ソフトウェアで作成される文書の印刷用データを作成する印刷データ作成手段と、前記印刷データ作成手段で作成された印刷用データの各素材をそのまま保持するレンダリング情報保持手段と、して機能させることを特徴とするものである。
【００１３】
これによって、発明１の効果に加え、レンダリング情報保持手段によって前記印刷データ作成手段で作成された印刷用データの各素材をレンダリング済みの状態でそのまま保持するようになっていることから、以後同様なデータのレンダリングが必要になったときに、このレンダリング情報保持手段に保持されたレンダリング済みの素材をそのまま利用することができる。
この結果、同じようなデータをその都度レンダリングする必要がなくなるため、より短時間で印刷データを作成することが可能となる。
【００１４】
〔発明３〕また、発明３のプリンタ制御用プログラムは、
印刷機能を利用する文書操作用のソフトウェアと共に動作するプリンタ制御用プログラムであって、コンピュータを、前記ソフトウェアの操作情報を、当該ソフトウェアの操作中に取得する操作情報取得手段と、当該操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択する操作情報選択手段と、当該操作情報選択手段で選択した操作情報に基づいて前記ソフトウェアで作成される文書の印刷用データを作成する印刷データ作成手段と、して機能させることを特徴とするものである。
【００１５】
これによって、発明１の効果に加え、操作情報選択手段によって操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択してその操作情報を印刷データ作成手段に受け渡すことができるようになっていることから、取得する操作情報の種類をユーザの設定等により固定するのではなく、アプリケーションソフトウェアの種類などに応じて最適に切り替えることができる。例えば、操作情報の種別や内容等に優先度を設け、アプリケーションソフトウェアの利用状況に応じて操作情報の作成などの後続処理を行ったり、監視するリストを切り替えたり、あるいは扱われる頻度が高い文書に関しては優先度を高くし、他の文書の優先度を下げるなどの取り扱いをすることが可能となる。
【００１６】
〔発明４〕また、発明４のプリンタ制御用プログラムは、
印刷機能を利用する文書操作用のソフトウェアと共に動作するプリンタ制御用プログラムであって、コンピュータを、前記ソフトウェアの操作情報を、当該ソフトウェアの操作中に取得する操作情報取得手段と、前記ソフトウェアが動作するコンピュータのＣＰＵの負荷情報を取得するＣＰＵ負荷情報取得手段と、当該ＣＰＵ負荷情報取得手段で取得したＣＰＵの負荷情報に基づいて前記操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択する操作情報選択手段と、当該操作情報選択手段で選択した操作情報に基づいて前記ソフトウェアで作成される文書の印刷用データを作成する印刷データ作成手段と、して機能させることを特徴とするものである。
【００１７】
これによって、発明１の効果に加え、ＣＰＵ負荷情報取得手段がソフトウェアが動作するコンピュータのＣＰＵの負荷情報を取得すると共に、操作情報選択手段がＣＰＵの負荷情報に基づいて前記操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択するようになっていることから、操作情報の取得および操作中のレンダリング処理に要するＣＰＵ負荷の増大を回避することができる。
【００１８】
すなわち、本発明は、取得した操作情報に基づくレンダリング処理（印刷データ生成処理）が、前記ソフトウェアが稼働するコンピュータのＣＰＵによって実行される場合、そのＣＰＵの負荷状況（利用頻度）に応じて監視対象の操作情報の種類を変更するようにしたものである。例えば、ＣＰＵの利用頻度が少ないときには、次の発明５に示すように、オペレーティングシステム（以下、適宜ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）という）がアプリケーションソフトウェアに対して公開しているプログラムインターフェースであるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）に関する全ての操作情報（ＲｅａｄＦｉｌｅ、ＯｌｅＬｏａｄＰｉｃｔｕｒｅＦｉｌｅ、ＷｒｉｔｅＦｉｌｅ、ＴｅｘｔＯｕｔ、ＭｏｖｅＴｏＥｘ、ＬｉｎｅＴｏ、Ｅｌｌｉｐｓｅ）を監視対象とするが、ＣＰＵの利用頻度がこれよりも高いときは、このＡＰＩのなかからＣＰＵ負荷の大きい操作情報（例えば、ＷｒｉｔｅＦｉｌｅ、Ｅｌｌｉｐｓｅ）を監視対象から外し、さらにＣＰＵの利用頻度がそれ以上のときは、このＡＰＩのなかから次にＣＰＵ負荷の大きい操作情報（例えば、ＴｅｘｔＯｕｔ、ＭｏｖｅＴｏＥｘ、ＬｉｎｅＴｏ）を監視対象から外せば、操作情報の取得および操作中のレンダリングによるＣＰＵ負荷の増大を効果的に回避することができる。
【００１９】
〔発明５〕また、発明５のプリンタ制御用プログラムは、
発明１〜４のいずれかに記載のプリンタ制御用プログラムにおいて、
前記ソフトウェアは、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、前記アプリケーションソフトウェアから前記オペレーティングシステムに対する操作に関する情報であることを特徴とするものである。
【００２０】
すなわち、本発明は前記発明１〜４のように前記操作情報取得手段で取得する操作情報として、具体的に前記アプリケーションソフトウェアの操作情報のうち、ＯＳ等に対する操作情報、例えば、ＯＳの機能の一部を利用するために呼び出されたＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）等のプログラムインターフェースを対象としたものである。
【００２１】
つまり、例えば、Ｍｉｃｒｏｓｏｆｔ社の「Ｗｏｒｄ」（登録商標）等といった汎用の文書操作用アプリケーションソフトウェア（ワープロソフト）は、同社のＷｉｎｄｏｗｓ（登録商標）というＯＳ上で動作し、描画を実施するに際して同ＯＳが標準的に有するＧＤＩ（Ｇｒａｐｈｉｃａｌ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）やＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅ  Ｉｎｔｅｒｆａｃｅ）等の描画用のＡＰＩを利用してモニター等に描画を行うようになっており、本発明はこのＯＳ等が有するアプリケーションソフトウェア用のインターフェースの動作状況を監視し、その動作状況を取得（以下適宜「フック」ともいう）して文書操作中にレンダリング処理を実行するようにしたものである。
【００２２】
これによって、前記発明１〜４と同様にファーストプリントアウトまでの時間を大幅に短縮できると共に、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用できるため、本機能を得るための開発コストや開発時間を最小限に抑えることが可能となる。
しかも、本発明はＯＳ等のアプリケーションソフトウェアが利用する環境の一般的な枠組みを利用しているため、この環境を利用する全ての文書操作用アプリケーションソフトウェアに対応することができる。例えば、ＵＮＩＸ（登録商標）等で、ＯＳ以外にもＸ−Ｗｉｎｄｏｗｓ（登録商標）等のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供する環境も存在する。このようなＯＳに付随する環境からも情報を取得する枠組みを利用すれば、前記のＷｉｎｄｏｗｓ（登録商標）の場合と同様の効果を得ることが可能となる。
【００２３】
なお、本発明でいう「オペレーティングシステム」とは、オペレーティングシステムに相当する文書操作アプリケーション実行環境、例えば、前記Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）などのような一般的なＯＳと、「Ｘ−Ｗｉｎｄｏｗｓ（登録商標）」、「ＭｉｃｒｏＷｉｎｄｏｗｓ（登録商標）」などの描画モジュールを含むものとする（以下の「プリンタ制御用プログラム」、「文書操作端末」、「文書処理システム」、「印刷データ作成方法」に関する発明において同じである）。
【００２４】
〔発明６〕また、発明６のプリンタ制御用プログラムは、
発明１〜４のいずれかに記載のプリンタ制御用プログラムにおいて、前記ソフトウェアは、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、前記オペレーティングシステムから前記ソフトウェアに対するコマンド操作に関する情報であることを特徴とするものである。
【００２５】
すなわち、本発明は、前記発明５のようにＯＳに対する前記アプリケーションソフトウェアの操作情報ではなく、前記アプリケーションソフトウェアに対するユーザ等が実行した文書操作用のコマンド操作、例えば、「コピー」や「切り取り」、「貼り付け」等といった予め選択自由に設定されたコマンド操作に対する情報を操作情報として取得してレンダリング処理を実行するようにしたものである。
【００２６】
これによって、前記発明５等と同様に、ファーストプリントアウトまでの時間を大幅に短縮できると共に、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用できるため、本機能を得るための開発コストや開発時間を最小限に抑えることが可能となる。
しかも、適用する文書操作用アプリケーションソフトウェアとして、例えば、前記Ｍｉｃｒｏｓｏｆｔ社の「Ｗｏｒｄ」（登録商標）等といった著名なワープロソフトを用いた場合では、ユーザの操作を質の高い内容で認識・把握できるため、前記発明５等と比べてより正確に文書内容を取得することが可能となる。
【００２７】
また、適用する文書操作用アプリケーションソフトウェアとして、例えば、前記Ｍｉｃｒｏｓｏｆｔ社の「ｏｆｆｉｃｅ」（登録商標）を用いた場合では、同様に、その「ｏｆｆｉｃｅ」（登録商標）上でのアプリケーションイベントを取得することで、実現可能であり、例えば、以下のＵＲＬ、
ｈｔｔｐ：／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｌｉｂｒａｒｙ／ｄｅｆａｕｌｔ．ａｓｐ？ｕｒｌ＝／ｌｉｂｒａｒｙ／ｅｎ￣ｕｓ／ｏｄｃ  ｖｓｔｏ２００３  ｔａ／ｈｔｍｌ／ｏｄｃ  ＶＳＴＨｏｏｋＷｒｄ．ａｓｐ
に開示されるような方法によってアプリケーション中のイベントを取得することが可能である。なかでもＤｏｃｕｍｅｎｔｓオブジェクトをイベントフックすることで、Ａｄｄ（新規作成）やＯｐｅｎ（文書を開く）といったコマンドの検知を容易に行うことができる。
【００２８】
〔発明７〕また、発明７のプリンタ制御用プログラムは、
発明３に記載のプリンタ制御用プログラムにおいて、前記オペレーティングシステムから前記ソフトウェアに対するコマンド操作に関する情報は、前記ソフトウェアのファイル操作に関する情報であることを特徴とするものである。
すなわち、本発明は、前記ソフトウェアに対するコマンド操作に関する情報として、ユーザがあるファイルを編集し始めたことや、ある画像ファイルを作成中の文書に挿入した等といった、ユーザが作成中の文書内容に大きな変化を与えるファイル操作の情報を取得するようにしたものである。
【００２９】
このような操作に関する情報は、繰り返し間違いを訂正する文字入力などの情報と比べ、変更され難い内容操作に関する情報である。つまり、この方法により得られた情報からレンダリングした素材は無駄になる可能性が低く、また、無駄になる資源を大量に保持する必要もなくなる。そのため、比較的、情報処理能力が低いコンピュータであっても前記発明３と同様の効果を得ることができる。
【００３０】
〔発明８〕また、発明８のプリンタ制御用プログラムは、
発明１〜４のいずれかに記載のプリンタ制御用プログラムにおいて、前記ソフトウェアは、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、当該ソフトウェアが協働するハードウェアの入力装置から前記オペレーティングシステムに対する入力操作に関する情報であることを特徴とするものである。
【００３１】
すなわち、本発明は、前記発明のようにＯＳに対する操作情報や前記アプリケーションソフトウェアに対する操作コマンド等といった、アプリケーションソフトウェアに認識・把握される操作情報ではなく、キーボードやマウス等といった入力装置を用いてユーザがハードウェア（コンピュータ）に対して直接実行する入力操作に関する操作情報を取得してレンダリング処理を実行するようにしたものである。
【００３２】
これによって、前記発明１〜４と同様に、ファーストプリントアウトまでの時間短縮や開発コストの削減といった効果が発揮できることは勿論、入力装置から発生する電気的な入力信号をフックすることになるため、単純な構造で技術的に容易かつ確実にユーザが行った操作情報を取得することが可能となる。
なお、前記のＷｉｎｄｏｗｓ（登録商標）において、キーボード、マウス等の入植装置の操作については、Ｗｉｎｄｏｗｓ（登録商標）のイベント（キー操作、マウス操作）として取得することが可能であり、例えば、以下のＵＲＬ、
ｈｔｔｐ：／／ｈｐ．ｖｅｃｔｏｒ．ｃｏ．ｊｐ／ａｕｔｈｏｒｓ／ＶＡ０１６１１７／ｈｏｏｋ．ｈｔｍｌ
のようなＷｉｎｄｏｗｓ（登録商標）のグローバルフックと呼ばれる技法を使って入力装置からＯＳへの操作情報を取得することが可能である。
【００３３】
〔発明９〕また、発明９の文書操作端末は、
プリンタと通信可能に接続された文書操作端末であって、前記プリンタで印刷実行される文書を作成する文書操作手段と、当該文書操作手段の操作情報を、当該文書操作手段の操作中に取得する操作情報取得手段と、当該操作情報取得手段で取得した操作情報に基づいて前記文書操作手段で作成される文書の印刷用データを作成する印刷データ作成手段と、当該印刷データ作成手段で作成された印刷用データを前記プリンタに送信するデータ送信手段と、を有することを特徴とするものである。
【００３４】
これによって発明１と同様に、先行的にレンダリング処理を開始することができるため、従来、文書作成完了後に行われていたレンダリング処理の一部あるいは全部を省略することができる。
この結果、文書作成終了後のレンダリング処理に要する時間を大幅に短縮、あるいは省略することが可能となるため、データ送信手段によるプリンタへのデータ送信からそのプリンタでのファーストプリントアウトまでの時間を大幅に短縮できる。
【００３５】
また、発明１のようなソフトウェアで実現するほかに、専用の回路によるハードウェアによって各手段を実現することも可能となり、この場合、ソフトウェアで実現するよりも、さらに高速にレンダリング処理を行うことが可能となる。
【００３６】
〔発明１０〕また、発明１０の文書操作端末は、
プリンタと通信可能に接続された文書操作端末であって、前記プリンタで印刷実行される文書を作成する文書操作手段と、当該文書操作手段の操作情報を、当該文書操作手段の操作中に取得する操作情報取得手段と、当該操作情報取得手段で取得した操作情報に基づいて前記文書操作手段で作成される文書の印刷用データを作成する印刷データ作成手段と、当該印刷データ作成手段で作成された印刷用データの各素材をそのまま保持するレンダリング情報保持手段と、前記印刷データ作成手段で作成された印刷用データを前記プリンタに送信するデータ送信手段と、を有することを特徴とするものである。
【００３７】
これによって発明９と同様な効果が得られると共に、発明２のように、レンダリング情報保持手段によって前記印刷データ作成手段で作成された印刷用データの各素材をレンダリング済みの状態でそのまま保持するようになっていることから、以後同様なデータのレンダリングが必要になったときに、このレンダリング情報保持手段に保持されたレンダリング済みの素材をそのまま利用することができる。この結果、同じようなデータをその都度レンダリングする必要がなくなるため、より短時間で印刷データを作成することが可能となる。
【００３８】
〔発明１１〕また、発明１１の文書操作端末は、
プリンタと通信可能に接続された文書操作端末であって、前記プリンタで印刷実行される文書を作成する文書操作手段と、当該文書操作手段の操作情報を、当該文書操作手段の操作中に取得する操作情報取得手段と、当該操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択する操作情報選択手段と、当該操作情報選択手段で選択した操作情報に基づいて前記文書操作手段で作成される文書の印刷用データを作成する印刷データ作成手段と、前記印刷データ作成手段で作成された印刷用データを前記プリンタに送信するデータ送信手段と、を有することを特徴とするものである。
【００３９】
これによって、発明９の効果に加え、発明３と同様に、操作情報選択手段によって操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択してその操作情報を印刷データ作成手段に受け渡すことができるようになっていることから、取得する操作情報の種類をユーザの設定等により固定するのではなく、アプリケーションソフトウェアの種類などに応じて最適に切り替えることができる。
【００４０】
〔発明１２〕また、発明１２の文書操作端末は、
プリンタと通信可能に接続された文書操作端末であって、前記プリンタで印刷実行される文書を作成する文書操作手段と、当該文書操作手段の操作情報を、当該文書操作手段の操作中に取得する操作情報取得手段と、前記文書操作手段を実現するコンピュータのＣＰＵの負荷情報を取得するＣＰＵ負荷情報取得手段と、当該ＣＰＵ負荷情報取得手段で取得したＣＰＵの負荷情報に基づいて前記操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択する操作情報選択手段と、当該操作情報選択手段で選択した操作情報に基づいて前記文書操作手段で作成される文書の印刷用データを作成する印刷データ作成手段と、前記印刷データ作成手段で作成された印刷用データを前記プリンタに送信するデータ送信手段と、を有することを特徴とするものである。
【００４１】
これによって、発明１の効果に加え、発明４に示すように、ＣＰＵ負荷情報取得手段がソフトウェアが動作するコンピュータのＣＰＵの負荷情報を取得すると共に、操作情報選択手段がＣＰＵの負荷情報に基づいて前記操作情報取得手段で取得した操作情報のなかから所定の操作情報を選択するようになっていることから、操作情報の取得および操作中のレンダリング処理に要するＣＰＵ負荷の増大を回避することができる。
【００４２】
〔発明１３〕また、発明１３の文書操作端末は、
発明９〜１２のいずれかの文書操作端末であって、前記文書操作手段は、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、前記アプリケーションソフトウェアから前記オペレーティングシステムに対する操作に関する情報であることを特徴とするものである。
【００４３】
これによって、前記発明９〜１２と同様にファーストプリントアウトまでの時間を大幅に短縮できると共に、発明５と同様に、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用できるため、本機能を得るための開発コストや開発時間を最小限に抑えることが可能となる。
【００４４】
〔発明１４〕また、発明１４の文書操作端末は、
発明９〜１２のいずれかの文書操作端末であって、前記文書操作手段は、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、前記オペレーティングシステムから前記ソフトウェアに対するコマンド操作に関する情報であることを特徴とするものである。
これによって、前記発明９〜１２および発明６と同様な効果が得られる。
【００４５】
〔発明１５〕また、発明１５の文書操作端末は、
発明１１に記載の文書操作端末において、前記オペレーティングシステムから前記ソフトウェアに対するコマンド操作に関する情報は、前記ソフトウェアのファイル操作に関する情報であることを特徴とするものである。
これによって、発明１１および発明７と同様な効果が得られる。
【００４６】
〔発明１６〕また、発明１６の文書操作端末は、
発明９〜１２のいずれかに記載の文書操作端末において、前記文書操作手段は、オペレーティングシステムを利用するアプリケーションソフトウェアであって、前記操作情報取得手段で取得される前記ソフトウェアの操作情報は、当該ソフトウェアが協働するハードウェアの入力装置から前記オペレーティングシステムに対する入力操作に関する情報であることを特徴とするものである。
これによって、前記発明９〜１２および発明８と同様な効果が得られる。
【００４７】
〔発明１７〕また、発明１７の文書処理システムは、
プリンタと、当該プリンタを利用する文書操作端末とを有する文書処理システムであって、前記文書操作端末は、前記プリンタで印刷実行される文書を作成する文書操作手段と、当該文書操作手段の操作情報を、当該文書操作手段の操作中に取得する操作情報取得手段と、当該操作情報取得手段で取得した操作情報に基づいて前記文書操作手段で作成される文書の印刷用データを作成する印刷データ作成手段と、当該印刷データ作成手段で作成された印刷用データを前記プリンタに送信するデータ送信手段と、を有することを特徴とするものである。
【００４８】
これによって、発明１と同様に、先行的にレンダリング処理を開始することができるため、従来、文書作成完了後に行われていたレンダリング処理の一部あるいは全部を省略することができる。
この結果、文書作成終了後のレンダリング処理に要する時間を大幅に短縮、あるいは省略することが可能となるため、データ送信手段によるプリンタへのデータ送信からそのプリンタでのファーストプリントアウトまでの時間を大幅に短縮できる。
【００４９】
また、発明１のようなソフトウェアで実現するほかに、専用の回路によるハードウェアによって各手段を実現することも可能となり、この場合、ソフトウェアで実現するよりも、さらに高速にレンダリング処理を行うことが可能となる。
【００５０】
〔発明１８〕また、発明１８の印刷データ作成方法は、
印刷機能を利用する文書操作用のソフトウェアで作成される文書の印刷データを作成する方法であって、前記ソフトウェアによる文書作成状況を監視し、前記ソフトウェアの文書作成中に所定の操作情報を取得すると共に、取得した前記操作情報に基づいて前記ソフトウェアで作成中の文書の印刷データを印刷指示がある前に予め作成するようにしたことを特徴とするものである。
【００５１】
これによって、発明１と同様に、文書操作用のソフトウェアの操作中にその文書を構成するデータを取得して先行的にレンダリング処理を開始することができるため、従来、文書作成完了後に行われていたレンダリング処理の一部あるいは全部を省略することができる。
この結果、文書作成終了後のレンダリング処理に要する時間を大幅に短縮、あるいは省略することが可能となるため、プリンタへのデータ送信からそのプリンタでのファーストプリントアウトまでの時間を大幅に短縮できる。
【００５２】
〔発明１９〕また、前記課題を解決するために発明１９のプリンタ制御用プログラムは、
文書操作用のアプリケーションソフトウェアが動作する環境に常駐してプリンタを制御するプリンタ制御用プログラムであって、前記アプリケーションソフトウェアの操作情報を、当該アプリケーションソフトウェアの操作中に取得する操作情報取得手段と、前記操作情報取得手段で取得した操作情報に基づいて前記文書操作アプリケーションソフトウェアで操作される文書の印刷用データを作成する印刷データ作成手段と、を有することを特徴とするものである。
【００５３】
これによって、前記アプリケーションソフトウェアの文書操作中にその文書を構成するデータを取得して先行的に印刷データの作成処理（以下、本実施の形態では、この印刷データ作成処理のことを「レンダリング」という。）を開始することができるため、従来、文書操作作業後に行われていたレンダリング時間を大幅に短縮、あるいは省略することが可能となる。
【００５４】
この結果、ファーストプリントアウトまでの時間を大幅に短縮できることは勿論、プリンタをコントロールするソフトウェアであるプリンタ制御用プログラムのみによってそれらの機能を発揮できるため、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用することができ、導入コストを最小限に抑えることができる。
【００５５】
〔発明２０〕また、発明２０のプリンタ制御用プログラムは、
発明１９に記載のプリンタ制御用プログラムにおいて、前記操作情報取得手段で取得される前記アプリケーションソフトウェアの操作情報は、オペレーティングシステムまたは前記アプリケーションソフトウェアが利用する環境に対する操作情報であることを特徴とするものである。
【００５６】
すなわち、本発明は前記発明１のように前記操作情報取得手段で取得する操作情報として、具体的に前記アプリケーションソフトウェアの操作情報のうち、ＯＳ等に対する操作情報、例えば、ＯＳの機能の一部を利用するために呼び出されたＡＰＩ等のインターフェースを対象としたものである。
つまり、例えば、Ｍｉｃｒｏｓｏｆｔ社の「Ｗｏｒｄ」（登録商標）等といった汎用の文書操作用アプリケーションソフトウェア（ワープロソフトウェア）は、同社のＷｉｎｄｏｗｓ（登録商標）というＯＳ上で動作し、描画を実施するに際して同ＯＳが標準的に有するＧＤＩやＤＤＩ等の描画用のＡＰＩを利用してモニター等に描画を行うようになっており、本発明はこのＯＳ等が有するアプリケーションソフトウェア用のインターフェースの動作状況を監視し、その動作状況を取得（フックともいう）して文書操作中に所定の印刷データ作成処理を実行するようにしたものである。
【００５７】
これによって、発明１９と同様にファーストプリントアウトまでの時間を大幅に短縮できると共に、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用できるため、本機能を得るための開発コストや開発時間を最小限に抑えることが可能となる。
しかも、本発明はＯＳ等のアプリケーションが利用する環境の一般的な枠組みを利用しているため、この環境を利用する全ての文書操作用アプリケーションソフトウェアに対応することができる。例えば、ＵＮＩＸ（登録商標）等で、ＯＳ以外にもＸ−Ｗｉｎｄｏｗｓ（登録商標）等のＧＵＩを提供する環境も存在する。このようなＯＳに付随する環境からも情報を取得する枠組みを利用すれば前記のＷｉｎｄｏｗｓ（登録商標）の場合と同様の効果を得ることが可能となる。
【００５８】
〔発明２１〕また、発明２１のプリンタ制御用プログラムは、
発明１９に記載のプリンタ制御用プログラムにおいて、前記操作情報取得手段で取得される前記アプリケーションソフトウェアの操作情報は、当該アプリケーションソフトウェアの文書操作コマンドに関する操作情報であることを特徴とするものである。
すなわち、本発明は、前記発明２０のようにＯＳに対する前記アプリケーションソフトウェアの操作情報ではなく、前記アプリケーションソフトウェアに対するユーザが実行した文書操作コマンド、例えば、「コピー」や「切り取り」、「貼り付け」等といった予め選択自由に設定されたコマンドを操作情報として取得して印刷データ作成を実行するようにしたものである。
【００５９】
これによって、前記発明１および２と同様にファーストプリントアウトまでの時間を大幅に短縮できると共に、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用できるため、本機能を得るための開発コストや開発時間を最小限に抑えることが可能となる。
しかも、適用する文書操作用アプリケーションソフトウェアとして、例えば前記Ｍｉｃｒｏｓｏｆｔ社の「Ｗｏｒｄ」（登録商標）等といった著名なものを用いた場合では、ユーザの操作を質の高い内容で認識・把握できるため、発明１９や発明２０等と比べてより正確に文書内容を取得することが可能となる。
【００６０】
〔発明２２〕また、発明２２のプリンタ制御用プログラムは、
発明１９に記載のプリンタ制御用プログラムにおいて、前記操作情報取得手段による前記アプリケーションソフトウェアの操作情報は、当該ソフトウェアが協働するハードウェアの入力装置に対する入力操作に関する操作情報であることを特徴とするものである。
すなわち、本発明は、前記発明２０、２１のように、ＯＳに対する操作情報や前記アプリケーションソフトウェアに対する操作コマンド等といったアプリケーションソフトウェアに認識・把握される操作情報ではなく、キーボードやマウス等といったユーザがハードウェアに対して直接実行する入力操作に関する操作情報を取得して印刷データ作成処理を実行するようにしたものである。
【００６１】
これによって、前記発明１９〜２１と同様にファーストプリントアウトまでの時間短縮や開発コストの削減といった効果が発揮できることは勿論、電気的な入力信号をフックすることになるため、単純な構造で技術的に容易かつ確実にユーザが行った操作情報を取得することが可能となる。
【００６２】
〔発明２３〕また、発明２３のプリンタ制御用プログラムは、
発明１９に記載のプリンタ制御用プログラムにおいて、前記操作情報取得手段で取得される前記アプリケーションソフトウェアの操作情報は、当該ソフトウェアのファイル操作に関する情報であることを特徴とするものである。
【００６３】
すなわち、ユーザがあるファイルを編集し始めたことや、ある画像ファイルを作成中の文書に挿入したといった、ユーザが作成中の文書内容に大きな変化を与えるファイル操作の情報を取得するようにしたものである。このような操作に関する情報は、繰り返し間違いを訂正する文字入力などの情報と比べ、変更され難い内容操作に関する情報である。つまり、この方法により得られた情報からレンダリングした素材は無駄になる可能性が低く、また無駄になる資源を大量に保持する必要もなくなる。そのため、比較的、情報処理能力に乏しいコンピュータでも前記発明と同様の効果を得ることができる。
【００６４】
〔発明２４〕また、発明２４の印刷データ作成方法は、
プリンタ制御用プログラムを用いて文書操作用アプリケーションソフトウェアで操作される文書データから印刷データを作成する方法であって、前記文書操作用アプリケーションソフトウェアが動作するコンピュータに前記プリンタ制御用プログラムを常駐させて前記アプリケーションソフトウェアの操作作業を監視し、前記アプリケーションソフトウェアの文書操作中に任意の操作情報を取得して予めその文書データから印刷データを作成するようにしたことを特徴とするものである。
【００６５】
これによって、発明１と同様に前記アプリケーションソフトウェアの文書操作中にその文書を構成するデータを取得して先行的に印刷データ作成処理を開始することができるため、従来、文書操作後に行われていた印刷データ作成（レンダリング処理）時間を大幅に短縮、あるいは省略することが可能となる。
この結果、ファーストプリントアウトまでの時間を大幅に短縮できることは勿論、プリンタをコントロールするソフトウェアであるプリンタ制御用プログラムのみによってそれらの機能を発揮できるため、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま利用することができ、開発コストや開発時間を最小限に抑えることができる。
【００６６】
〔発明２５〕また、発明２５の文書処理システムは、
文書操作用のアプリケーションソフトウェアが稼働する文書操作端末と、この文書操作端末の指示に基づいて印刷を実行するプリンタとを備えた文書処理システムであって、前記アプリケーションソフトウェアの操作情報を操作中に取得する操作情報取得手段と、この操作情報取得手段で取得した操作情報から前記プリンタで印刷処理される文書の印刷用データを作成する印刷データ作成手段と、を有することを特徴とするものである。
【００６７】
すなわち、前記発明１９〜２３は、いずれも「プリンタ制御用プログラム」といった、文書操作用アプリケーションソフトウェアが動作するコンピュータ上に常駐して動作するソフトウェアを介してそれらの機能を実現するようにしたものであるが、その主たる機能、すなわち、操作情報取得手段や印刷データ作成手段は、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の専用の論理回路からなるハードウェアによっても実現可能である。しかも、これらの機能をハードウェア化すれば、ソフトウェアで実現するよりも各機能を高速にかつ正確に実行することが可能となる。
【００６８】
また、操作情報取得手段と印刷データ作成手段とを分散して配置、例えば、操作情報取得手段をパソコン（ＰＣ）等の文書操作端末側に設け、印刷データ作成手段をプリンタ側に設ける等といった構成を採用することも可能となり、その結果、負荷分散による信頼性や可用性の向上のみならず、システム全体での処理能力および処理効率の向上を図ることができる。
【００６９】
〔発明２６〕また、発明２６の文書処理装置は、
文書操作用のアプリケーションソフトウェアの操作情報を操作中に取得する操作情報取得手段と、この操作情報取得手段で取得した操作情報から前記文書操作アプリケーションソフトウェアで操作される文書の印刷用データを作成する印刷データ作成手段と、を有することを特徴とするものである。
【００７０】
これによって、発明２５と同様に、ハードウェアによる高速処理や各機能の分散配置が可能となるため、ソフトウェアで実現する場合に比べてより優れた処理能力および処理効率の向上を図ることができる。
なお、発明１９〜２３に示すように各機能をソフトウェアで実現した場合には、専用のハードウェアを製作する場合に比べて大幅なコスト削減が可能になったり、バージョンアップ等によって機能改良や改変が容易に行える等、ハードウェアで実現するケースよりも優れた長所を有していることは勿論である。
【発明を実施するための最良の形態】
【００７１】
以下、本発明を実施するための最良の形態を添付図面を参照しながら詳述する。
図１は、本発明に係るプリンタ制御用プログラム１００およびこれを備えた文書操作端末１０の実施の一形態を示したものである。
図示するように、このプリンタ制御用プログラム１００は、文書操作用のアプリケーションソフトウェア４０等が動作するコンピュータのメモリ（ハードウェア）上に、ＯＳ３０と共に常駐してプリンタ６０を制御するためのプリンタ制御用プログラム（ソフトウェア）であり、従来のそれと同様に、文書操作端末１０側で作成した文書データを、接続したプリンタごとに異なる内部的な制御方法に適した形態に変換すると共に、変換した印刷データをデータ送信手段２０を利用して、ユーザからの明示的な印刷指示と共に該当するプリンタ６０に送信する機能を提供するようになっている。
【００７２】
また、図示するように、このプリンタ制御用プログラム１００には、前記のような基本的な機能を発揮する手段に加えて、操作情報取得手段１１０と、印刷データ作成手段（レンダリング手段）１２０とが備えられている。
この操作情報取得手段１１０は、ＯＳ３０上で動作する文書操作用アプリケーションソフトウェア４０の操作情報を取得し、取得した操作情報を印刷データ作成手段１２０に提供する機能を発揮するようになっている。
【００７３】
すなわち、この操作情報取得手段１１０による取得対象となる操作情報としては、図１に示すように、キーボートやマウス等の入力装置（図示せず）からの入力信号を認識する入力装置用ドライバ５０からＯＳ３０への入力操作情報と、ＯＳ３０からアプリケーションソフトウェア４０へのコマンド操作に関するコマンド操作情報、およびアプリケーションソフトウェア４０からＯＳ３０へのＡＰＩに関する操作情報等であり、これらいずれかの操作情報、あるいは全ての操作情報が適宜操作情報取得手段１１０によってリアルタイムに取得された後、その操作情報が印刷データ作成手段１２０に送られるようになっている。
【００７４】
ここで、この操作情報取得手段１１０によって取得される具体的な操作情報として例示すると、前記アプリケーションソフトウェア４０に対するユーザが実行した文書操作コマンドとしては、例えば、「コピー」や「切り取り」、「貼り付け」、「ファイル読み出し」、「ファイル保存」等といった予め各アプリケーションソフトウェア４０ごとに選択自由に設定された特有のコマンド操作情報である。
【００７５】
また、ＡＰＩに関する操作情報としては、例えば、図４に示すような各メソッド（ＲｅａｄＦｉｌｅ（ファイル読み込み）２００、ＯｌｅＬｏａｄＰｉｃｔｕｒｅＦｉｌｅ（文書に画像を読込む）２０１、ＷｒｉｔｅＦｉｌｅ（ファイル書込み）２０２、ＴｅｘｔＯｕｔ（テキスト描画）２０３、ＭｏｖｅＴｏＥｘ、ＬｉｎｅＴｏ、Ｅｌｌｉｐｓｅ（描画）２０４）に対するＯＳのＡＰＩ等であり、さらに、入力装置（入力装置用ドライバ）からの直接的な入力に関する操作情報としては、キーボートやマウスのほかにバーコードリーダやＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）、ＯＭＲ（Ｏｐｔｉｃａｌ  Ｍａｒｋ  Ｒｅａｄｅｒ）、ＭＩＣＲ（Ｍａｇｎｅｔｉｃ  Ｉｎｋ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）、ディジタイザ、イメージスキャナ、音声認識装置等の入力装置からの入力操作情報等を対象とすることができる。
【００７６】
また、さらに例えば、Ｗｉｎｄｏｗｓ（登録商標）ＮＴ、Ｗｉｎｄｏｗｓ（登録商標）２０００、Ｗｉｎｄｏｗｓ（登録商標）ＸＰ等のＯＳの環境下では、以下に示す方法で現存するプロセスに対してＡＰＩを取得する（フック）ことが可能となる。
１．ＯｐｅｎＰｒｏｃｅｓｓＴｏｋｅｎ、ＬｏｏｋｕｐＰｒｉｖｉｌｅｇｅＶａｌｕｅ      （“ＳｅｄｅｂｕｇＰｒｉｖｉｌｅｇｅ”）、
ＡｄｊｕｓｔＴｏｋｅｎＰｒｉｖｉｌｅｇｅｓを使って特権を取得する。
【００７７】
２．ＮｔＱｕｅｒｙＳｙｓｔｅｍＩｎｆｏｒｍａｔｉｏｎを使ってプロセスのリストを      取得する。
３．ＶｉｒｔｕａｌＰｒｏｔｅｃｔＥｘとＷｒｉｔｅＰｒｏｃｅｓｓＭｅｍｏｒｙを使      って自分のコードをプロセスのなかに書き込む。
一方、印刷データ作成手段１２０は、この操作情報取得手段１１０で取得した操作情報から前記文書操作アプリケーションソフトウェア４０で操作される文書の印刷用データを作成する機能を発揮するようになっている。
【００７８】
すなわち、前述したように、従来の印刷データ作成手段は、ユーザからの印刷指示を受けてから、その文書データをラスタ画像データへ変換するといったレンダリング処理を行うようになっているが、本実施の形態に係る印刷データ作成手段１２０は、後述するように、前記操作情報取得手段１１０で逐一取得された操作情報から文書データを取得し、その文書操作アプリケーションソフトウェア４０による文書編集処理が終了する前に、すなわちユーザから明示的な印刷指示が行われる前に、文書データを取得後、これをレンダリング処理する機能を発揮するようになっている。
【００７９】
なお、本実施の形態でいう文書操作端末１０とは、操作対象となるアプリケーションソフトウェア４０を動作させる環境やその環境を提供するＯＳ３０、およびそのＯＳ３０や本発明に係るプリンタ制御用プログラム１００等のソフトウェアによって動作するコンピュータシステムを備えたものであれば、文書操作専用のコンピュータのほかに、汎用のパソコン（ＰＣ）等をそのまま用いることができる。
【００８０】
図２は、この文書操作端末１０を構成するコンピュータシステムのハードウェア構成を示したものである。
図示するように、この文書操作端末１０は、各種制御や演算処理を担う中央演算処理装置であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０と、主記憶装置（Ｍａｉｎ  Ｓｔｏｒａｇｅ）を構成するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７２と、読み出し専用の記憶装置であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７４との間を、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスやＩＳＡ（Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス等からなるバス７６で接続すると共に、このバス７６に入出力インターフェース（Ｉ／Ｆ）７８を介して、ハードディスクドライブ装置（ＨＤＤ）等の外部記憶装置（Ｓｅｃｏｎｄａｒｙ  Ｓｔｏｒａｇｅ）８４と、前述したキーボードやマウス等の入力装置８０と、液晶モニター等の出力装置７２、およびプリンタ６０等の外部の機器と通信するためのネットワークＮ等を接続したものである。
【００８１】
そして、電源を投入すると同時に、ＲＯＭ７４等に記憶されたＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等の基本システム用のプログラムが、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）等の記憶媒体、あるいはインターネット等の通信ネットワークＮを介して記憶装置８４にインストールされたＯＳ３０やアプリケーションソフトウェア４０、およびプリンタ制御用プログラム１００等の各種コンピュータプログラムをＲＡＭ７２にロードし、そのＲＡＭ７２にロードされたプログラムに記述された命令に従ってＣＰＵ７０が各種リソースを駆使して所定の制御および演算処理を行うことで、前述したような文書編集処理や操作情報取得処理、および印刷データ作成処理等の各種処理を実現するようになっている。
【００８２】
また、この文書操作端末１０に接続されるプリンタ６０としては、図示するように、文書操作端末１０側から送られてくる印刷データをネットワークＮを介して受信するためのデータ受信手段６２と、受信した印刷データに基づいて印刷を実行するための印刷手段６４といった印刷装置として基本的な機能を備えたものであれば、特に限定されるものでなく、汎用のインクジェット式プリンタやレーザープリンタ等のほかに、サーマルプリンタ、ドット式プリンタ等の旧来のものを何ら改良することなく、そのまま適用することが可能となっている。
【００８３】
さらに、前記ハードウェア上で動作するアプリケーションソフトウェア４０やＯＳ３０も市販の汎用品をそのまま適用することができる。
次に、このような機能を備えた本発明のプリンタ制御用プログラム１００の動作を図３のフローチャートを主に参照しながら説明する。
先ず、本発明のプリンタ制御用プログラム１００は、文書操作端末１０の起動時（電源投入時）に、ＯＳ３０と共にハードディスクドライブ装置（ＨＤＤ）等の記憶装置８４から読み込まれてメモリ（主記憶装置）７４上に常駐して、プリンタ６０の印刷機能を利用するワープロソフト等の文書操作用アプリケーションソフトウェア４０の操作情報を監視することになる。なお、このプリンタ制御用プログラム１００は、必ずしもＯＳ３０と共にメモリ７４上に常駐している必要はなく、少なくともプリンタ６０の印刷機能を利用する文書操作用アプリケーションソフトウェア４０が読み出されてユーザによって利用可能になったときに、メモリ７４上に存在して文書操作用アプリケーションソフトウェア４０を監視できるような状態になっていれば良い。
【００８４】
そして、同図に示すように、このプリンタ制御用プログラム１００は、最初のステップＳ１００において、監視対象となるアプリケーションソフトウェア４０の操作情報のリストを取得する。
すなわち、前述したように、監視対象となる文書操作用アプリケーションソフトウェア４０の操作情報およびその取得方法は多数あり、その全ての操作情報を取得するのは無駄になるばかりでなく、似たような操作情報からレンダリング処理が重複して行われるのを回避するためである。
【００８５】
なお、監視対象となる操作情報を纏めて記述した複数の操作情報リストを記憶装置８４等に予め用意（保存）しておき、そのなかから、対象となる文書操作用アプリケーションソフトウェア４０が決定したときに、最適な操作情報を纏めた操作情報リストを選択することが望ましい。例えば、Ｗｉｎｄｏｗｓ（登録商標）のＧＤＩやＣＯＭ（Ｃｏｍｐｏｎｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）等のＡＰＩを対象とする場合には、図４に示すような各種メソッドが記述された操作情報リストＬを用意しておく。
【００８６】
次に、このようにして監視対象となる操作情報リストを取得したならば、次のステップＳ１０２、Ｓ１０４に順次移行してアプリケーションソフトウェア４０の操作情報を監視する。
そして、操作情報の発生が確認されたと判断したとき（Ｙｅｓ）は、このプリンタ制御用プログラム１００（操作情報取得手段１１０）は、次のステップＳ１０６に移行してその操作情報の種別を解析、すなわち、その操作情報が取得対象となる操作情報か否かを前記操作情報リストと照らし合わせる（ステップＳ１０８）。
【００８７】
この解析の結果、操作情報リストに載っている監視対象の操作情報であると判断したとき（Ｙｅｓ）は、次のステップＳ１１０に移行してその操作情報を取得すると共にその操作情報に基づいて、そのプリンタ制御用プログラム１００の印刷データ作成手段１２０が該当する文書データを取得して、これをラスタ画像化してレンダリング処理（印刷データ作成処理）を実行する。
【００８８】
なお、このようにレンダリングされたラスタ画像データは、プリンタ６０側に送られるのではなく、ユーザからの明示的な印刷指示があるまでそのままプリンタ制御用プログラム１００によって文書操作端末１０側に一時的に保持されることになる。
そして、このようなレンダリング処理が行われた後、および前記ステップＳ１０８において操作情報の解析の結果、その操作情報が監視対象外の操作情報と判断したとき（Ｎｏ）は、再び先のステップＳ１０２に戻って、その後逐一発生するアプリケーションソフトウェア４０の操作情報に対して監視を続行し、発生した操作情報に対して同様な捨拾選択処理を行う。
【００８９】
その後、このようなアプリケーションソフトウェア４０の操作情報の取得は、ステップＳ１０４において操作情報の発生が一定時間ないと判断されるまで続けられ、一定時間操作情報の発生がないと判断されたとき（Ｎｏ）は、文書編集処理が終了したと判断してステップＳ１１４に移行してユーザからの明示的な印刷指示を待つことになる。
このステップＳ１１４では、ユーザからの明示的な印刷指示の有無が判断され、印刷指示があったと判断したとき（Ｙｅｓ）は、その印刷指示と同時に確定した実際の文書データを解析して（ステップＳ１１６）、既にレンダリング処理が実行された文書データと照らし合わせる。
【００９０】
この文書データの解析の結果、ステップＳ１１８において既にレンダリング処理されたデータ以外に未だレンダリング処理されていないデータがあると判断したとき（Ｙｅｓ）は、ステップＳ１２０に移行してその未レンダリングデータに対してレンダリング処理を行うことになるが、反対に未レンダリングデータがないと判断したとき（Ｎｏ）は、そのままステップＳ１２０をジャンプして次のステップＳ１２２に移行する。
【００９１】
このステップＳ１１６からステップＳ１２０までの処理を詳しく説明すると、例えば、ユーザがアプリケーションソフトウェア４０を利用して実際に作成した文書が、３つのテキストデータＡ、Ｂ、Ｃと、４つの画像データＤ、Ｅ、Ｆ、Ｇからなるものであって、既に４つの画像データＤ、Ｅ、Ｆ、Ｇと、テキストデータＡ、Ｂについてその操作情報が文書操作中に取得されることにより既にプリンタ制御用プログラム１００によってレンダリング処理が終了している場合には、ステップＳ１２０においては残りのテキストＣのみについてレンダリング処理が実行されることになる。また、ステップＳ１１６以前で既に全てのデータについてレンダリング処理が終了していれば、そのままステップＳ１２０をジャンプしてステップＳ１２２に移行することになる。さらに、既にレンダリング処理が終了したものの実際に得られた文書データからはそのデータが削除されていたケース等でもステップＳ１２０において整合処理がなされることもある。
【００９２】
そして、このようにして全てのデータについてレンダリング処理が終了したならば、このプリンタ制御用プログラム１００（印刷データ作成手段１２０）は、その後、ステップＳ１２２に移行して、印刷用紙の種類や印刷品質等に関するさらに詳細な印刷設定が成された印刷データを作成してから対象となるプリンタ６０に対して印刷指示および印刷データを送信すると共に、必要に応じてその送信結果をユーザに知らせて処理を終了することになる。
【００９３】
このように本発明は、前記アプリケーションソフトウェア４０の文書操作（編集）なかにその文書操作時の操作情報を取得して先行的にレンダリング処理を実行するようになっているため、従来、文書操作作業後、ユーザから明示的な印刷指示があった後に行われていたレンダリング処理時間を大幅に短縮することが可能となる。
この結果、プリンタ６０におけるファーストプリントアウトまでの時間を大幅に短縮できることは勿論、そのプリンタ６０をコントロールするソフトウェア（プリンタ制御用プログラム）であるプリンタ制御用プログラムのみを改良するによってそれらの機能を発揮できるため、既存の印刷システムや汎用の文書操作用のアプリケーションソフトウェアをそのまま活用することができ、開発コストや開発時間を最小限に抑えることができる。
【００９４】
なお、本実施の形態では、取得する操作情報の対象として、図１に示すように、入力装置用ドライバ５０とＯＳ３０との間の入力操作に関する情報、または、ＯＳ３０とアプリケーションソフトウェア４０との間のコマンドに関する操作情報、または前記アプリケーションソフトウェア４０とＯＳ３０との間のＡＰＩに関する操作情報の例で説明したが、本発明はこれに限定されることなく、その他の操作情報、例えば、ユーザが実行するファイル操作に関する操作情報であっても良い。
【００９５】
すなわち、ユーザが作成中の文書内容に大きな変化を与えるファイル操作の情報は、繰り返し間違いを訂正する文字入力などの情報と比べ、変更され難い内容操作に関する情報であることから、この方法により得られた情報からレンダリングした素材は無駄になる可能性が低く、また、無駄になる資源を大量に保持する必要もなくなるため、比較的情報処理能力に乏しい文書操作端末１０でも前記のような効果を得ることができる。
【００９６】
例えば、ＷｒｉｔｅＦｉｌｅ等のＡＰＩ利用やファイルのタイムスタンプの状態からユーザがあるファイルを保存したという操作情報を受け取った場合、そのファイルを読み込んでレンダリングを実行したり、また、あるファイルを開いた後、それに対する描画コマンドがあった場合に、そのファイルを挿入したと判断してレンダリング処理を実行するようにしても良い。
【００９７】
また、操作情報取得手段１１０は、一つずつの操作情報に対応するのではなく、複数の操作情報を統合し、一つの操作情報として判断しても良い。
例えば、「緑の線を描画する」という操作情報は、線色として「緑」を選択すると共にその線の種類、ある始点からある終点まで描画等といった複数の操作情報からなっているため、これらを一つの情報として扱えば迅速に判断することができる。
【００９８】
また、操作情報の取得方法に際して、操作情報の差分内容から判断したり、定期的にＯＳ３０からスクリーンのコピーを取得することにより、コピー画面を比較することで必要な操作情報を取得するようにしても良い。
また、操作情報取得手段１１０は、取得する操作情報の種類をユーザの設定により固定するのではなく、アプリケーションソフトウェア４０の種類などに応じて自動的に切り替えるようにしても良い。例えば、図１に示すように、さらに操作情報選択手段１１２を利用し、この操作情報選択手段１１２によって、操作情報の内容に優先度を設け、アプリケーションソフトウェア４０の利用状況に応じて操作情報の作成などの後続処理を行ったり、監視する操作情報リストを切り替えたり、あるいは扱われる頻度が高い文書に関しては優先度を高くし、他の文書の優先度を下げるなどの取り扱いをしても良い。
【００９９】
また、操作情報取得手段１１０は、フックした操作情報に対してレンダリングを実施する際、ハードウェア２０のＣＰＵの利用頻度（ＣＰＵ負荷）に関する情報も同時に取得し、その利用頻度に応じて監視対象の操作情報の種類を変更しても良い。
例えば、図１に示すように、文書操作端末１０を構成するハードウェアのＣＰＵ７０の負荷情報を取得するためのＣＰＵ負荷情報取得手段１１４をさらに設け、図５に示すように、そのＣＰＵ７０の利用頻度が、例えば０〜３３％の場合には、ＡＰＩに関する全ての操作情報（ＲｅａｄＦｉｌｅ、ＯｌｅＬｏａｄＰｉｃｔｕｒｅＦｉｌｅ、ＷｒｉｔｅＦｉｌｅ、ＴｅｘｔＯｕｔ、ＭｏｖｅＴｏＥｘ、ＬｉｎｅＴｏ、Ｅｌｌｉｐｓｅ）を監視対象とするが、ＣＰＵ７０の利用頻度がこれよりも高い３４〜６６％のときは、次にＣＰＵ負荷の大きい操作情報（例えば、ＷｒｉｔｅＦｉｌｅ、Ｅｌｌｉｐｓｅ）を監視対象から外し、さらにＣＰＵ７０の利用頻度がそれ以上（６７〜１００％）のときは、次にＣＰＵ負荷の大きい操作情報（例えば、ＴｅｘｔＯｕｔ、ＭｏｖｅＴｏＥｘ、ＬｉｎｅＴｏ）を監視対象から外せば、操作情報の取得および操作中のレンダリング処理によるＣＰＵ負荷の増大を回避することができる。
【０１００】
また、前記操作情報取得手段１１０は、描画コマンドの呼び出しの順序や画面のコピーから文書オブジェクトの重なり、順序を検知する処理を行っても良い。
すなわち、このような処理を設ければ、描画命令の順番や描画する際のオプションを理解して、重なり合った文字や図形のレンダリング処理を行うことができる。そのため、最終的にプリンタに転送する印刷データにより近いデータを準備することができ、より高速なプリントアウトを行うことができる。
【０１０１】
また、印刷データ作成手段１２０によるレンダリング処理に際しては、文書情報より属性値を作成し、レンダリング処理された内容と対応付けて管理を行い、同一属性値を持つ内容に関しては再度レンダリング処理を行わないようにすれば、重複したレンダリングを回避することができる。
また、前記操作情報取得手段１１０による監視対象としては、その他、ＯＳ３０のシステムコールやｓｔｒａｃｅコマンド、ｌｔｒａｃｅコマンドおよびそれに準ずる仕組みを利用したものであっても良い。
【０１０２】
さらに、作成される印刷データについて、ビットマップ情報であってもページ記述言語であってもその参照情報であっても実際の印刷の際に利用されるものであれば、どのような情報を作成しても良い。
また、上記実施の形態では、同一のコンピュータのメモリ７２上にプリンタ制御用プログラム１００を常駐させているが、分散環境などにおいてはネットワーク越しのレンダリング処理も可能なため、操作情報取得手段１１０や印刷データ作成手段１２０は、ＯＳ３０やアプリケーションソフトウェア４０が利用しているコンピュータ上に存在していなくとも良い。
【０１０３】
また、この操作情報取得手段１１０および印刷データ作成手段１２０は必ずしもプリンタ制御用プログラム１００というプリンタ制御用プログラムであるソフトウェアといった形態によって提供されるだけでなく、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の専用の論理回路からなるハードウェアによっても実現可能であり、この場合、一般にソフトウェアで実現するよりもより高速にレンダリング処理を実行することが可能となる。
【０１０４】
また、本発明に係るプリンタ制御用プログラム１００は、従来と同様、図１２に示すように、ＣＤ−ＲＯＭなどの記録媒体Ｒを介して文書操作端末１０に供給されるほか、インターネット等のネットワークＮを供給されるような形態であって良く、その供給形態は、特に限定されるものではない。
次に、本発明に係るプリンタ制御用プログラム１００の第２の実施の形態を説明する。
【０１０５】
先ず、図６は、文書操作用アプリケーションソフトウェア４０の一つである、Ｍｉｃｒｏｓｏｆｔ社の「ｏｆｆｉｃｅ」（登録商標）で用いられるコマンドの操作情報の例を示したものであり、「Ｄｏｃｕｍｅｎｔ．Ａｄｄ（新規作成）」、「Ｄｏｃｕｍｅｎｔ．Ｏｐｅｎ（文書を開く）」等が取得対象の操作情報となる。また、図７は、ＣＰＵ７０の利用頻度０〜１００％の範囲で常にこれら操作情報が監視対象の操作情報であることを示したものである。
【０１０６】
そして、図１０のフローチャート図に示すように、まず最初のステップＳ２００において、図４に示す「Ｗｉｎｄｏｗｓ（登録商標）」コマンド操作に関する操作情報リストを取得すると共に、図７に示す「ｏｆｆｉｃｅ」（登録商標）コマンド操作（図では「アプリケーションコマンド操作」と表記（以下、同じ））に関する操作情報リストを取得する。
【０１０７】
次に、ステップＳ２０２およびステップＳ２０４に順に移行して「Ｗｉｎｄｏｗｓ（登録商標）」コマンド操作（図では「ＯＳコマンド操作」と表記（以下、同じ））、および「ｏｆｆｉｃｅ」（登録商標）コマンド操作に関するそれぞれの操作情報取得手段（前記操作情報取得手段１１０に相当）を起動してから、ステップＳ２０６に移行し、各操作情報取得手段から操作情報があるか否かを判断する。
【０１０８】
この判断処理の結果、操作情報があると判断したとき（Ｙｅｓ）は、そのまま次のステップＳ２０８に移行して、その操作情報が「ｏｆｆｉｃｅ」（登録商標）コマンド操作に関する操作情報か否かを判断し、「ｏｆｆｉｃｅ」（登録商標）コマンド操作に関する操作情報であると判断したとき（Ｙｅｓ）は、さらに次のステップＳ２１０に移行し、その操作情報が監視対象となるコマンドか否かを判断する。
【０１０９】
そして、このステップＳ２１０において、その操作情報が監視対象となるコマンドであると判断したとき（Ｙｅｓ）は、次のステップＳ２１２に移行して、さらにそのコマンドが図７に示すような文書ファイルを開くコマンドであるか否かを判断し、文書ファイルを開くコマンドであると判断したとき（Ｙｅｓ）は、次のステップＳ２１４に移行して開かれた文書ファイルを取得してから、次のステップＳ２１６に移行してその文書ファイルで用いられているフォントサイズを調べて、そのフォントサイズを図１に示すように新たに設けられたレンダリング情報保持手段１１６にフォントサイズの候補として保持した後、次のステップＳ２１８に移行してその文書のレンダリングを行い、レンダリング処理した素材をレンダリング情報保持手段１１６に保持させる。
【０１１０】
その後、再びステップＳ２０６の上流側に戻り、新たな操作情報を監視して同様な処理を繰り返すことになる。
また、前記ステップＳ２１０およびステップＳ２１２において、それぞれ所定のコマンドではないと判断したとき（Ｎｏ）は、それ以降のステップ（Ｓ２１４〜Ｓ２１８）をジャンプして同様にステップＳ２０６の上流側に戻り、新たな操作情報を監視して同様な処理を繰り返すことになる。
【０１１１】
また、前記ステップＳ２０８において、取得した操作情報が「ｏｆｆｉｃｅ」（登録商標）コマンド操作に関する操作情報ではないと判断したとき（Ｎｏ）は、傍流のステップＳ２２０側に移行し、ここで、その操作情報が「Ｗｉｎｄｏｗｓ（登録商標）」コマンド操作に関する操作情報か否かが判断され、「Ｗｉｎｄｏｗｓ（登録商標）」コマンド操作に関する操作情報であると判断されたとき（Ｙｅｓ）は、さらに次のステップＳ２２２に移行し、その操作情報が監視対象となるコマンドであるか否かが判断され、監視対象となるコマンドであると判断したとき（Ｙｅｓ）は、さらに、次のステップＳ２２４に移行してその監視対象コマンドが「Ｔｅｘｔ  Ｏｕｔ」に関するコマンドであるか否かが判断される。そして、その監視対象コマンドが「Ｔｅｘｔ  Ｏｕｔ」に関するコマンドであると判断されたとき（Ｙｅｓ）は、次のステップＳ２２６に移行して書き出される文字を取得した後、次のステップＳ２２８に移行して前記レンダリング保持手段１１６からフォントサイズの候補を取得してから、次のステップＳ２３０に移行し、フォントサイズ候補に合わせて文字をレンダリング処理し、それを同じくレンダリング保持手段１１６に保持した後、再びステップＳ２０６の上流側に戻り、新たな操作情報を監視して同様な処理を繰り返すことになる。
【０１１２】
図８は監視対象となるアプリケーションソフトウェア４０に関する情報の保持例を示したものであり、使用するフォントサイズ候補として１０．５ポイントと、９．０ポイントの２種類のフォントサイズ候補を有すると共に、画像サイズ情報として１５ｍｍ×１５ｍｍの画像を保持していることを示している。また、図９は、レンダリング処理された素材データに関する情報の保持例を示したものであり、それぞれの素材データごとに、その特徴値、データの種類、その識別子などが記述されている。
【０１１３】
図１０のフローチャート図に戻り、前記ステップＳ２２４において、監視対象のコマンドが「Ｔｅｘｔ  Ｏｕｔ」に関するコマンドでないと判断されたとき（Ｎｏ）は、他のステップＳ２３２に移行して、その他のコマンドであるか否かが判断され、その他のコマンドでないと判断したとき（Ｎｏ）は、そのままステップＳ２０６の上流側に戻ることになるが、その他のコマンドであると判断したとき（Ｙｅｓ）は、次のステップＳ２３４に移行して該当する処理を実行した後、同様にステップＳ２０６の上流側に戻ることになる。
【０１１４】
また、前記ステップＳ２２０およびステップＳ２２２において、それぞれ所定の操作情報あるいは所定のコマンドでないと判断したとき（Ｎｏ）も、同様にステップＳ２０６の上流側に戻って新たな操作情報を監視して同様な処理を繰り返すことになる。
一方、前記ステップＳ２０６において、一定時間操作情報の発生がないと判断されたとき（Ｎｏ）は、図１１のステップＳ２３６側に移行してアプリケーションソフトウェア４０（ユーザ）から明示的な印刷指示があったと判断して、次のステップＳ２３８に移行して、その文書データを印刷要素ごとに分割してから次のループステップＳ２４０に移行して分割した各印刷用素ごとに、そのレンダリングの要否を判断する。
【０１１５】
すなわち、先ず、このループステップＳ２４０の最初のステップＳ２４２において、アプリケーションソフトウェア４０からＧＤＩ（Ｗｉｎｄｏｗｓ（登録商標））に対してアプリケーションソフトウェア４０が保持する印刷すべき内容に応じた印刷処理を要求した後、次のステップＳ２４４に移行し、Ｗｉｎｄｏｗｓ（登録商標）からＤＤＩ（プリンタ制御用プログラム）に対してＧＤＩの要求に応じたうちの処理を要求する。
【０１１６】
その後、次のステップＳ２４６に移行して印刷処理すべきデータの内容に基づいて特徴を算出してから、次の判断ステップＳ２４８に移行し、該当する特徴量のデータが前記レンダリング情報保持手段１１６に含まれているか否かを判断し、含まれていると判断したときは、次のステップＳ２５０に移行してレンダリング情報保持手段１１６からレンダリング処理済みの素材を取得する。
【０１１７】
そして、次の判断ステップＳ２５２に移行して、取得したレンダリング済み素材に対して特徴量が一致する操作情報が一つだけか否かが判断され、一つだけであると判断されたとき（Ｙｅｓ）は、次のステップＳ２５４に移行して該当する情報をレンダリング素材とし、その後、ステップＳ２５６に移行して、分割した各印刷用素の全てについて同様にそのレンダリングの要否を判断する。
【０１１８】
このループ処理のステップＳ２４８において、該当する特徴量のデータがレンダリング情報保持手段１１６に含まれていないと判断したとき（Ｎｏ）は、他のステップＳ２６２側に移行して与えられたデータに対して実際にレンダリング処理を行い、レンダリングした素材を作成した後、ステップＳ２５６側に移行して同様に他の印刷用素の全てについて同様にそのレンダリングの要否を判断する。
【０１１９】
また、前記ステップＳ２５２において、特徴量が一致する情報が一つだけではないと判断したとき（Ｎｏ）は、他のステップＳ２６４側に移行して印刷処理すべきデータ内容同士を比較し、一致するものをレンダリング素材としてから、ステップＳ２５６側に移行して同様に他の印刷用素の全てについて同様にそのレンダリングの要否を判断する。
そして、このようにして、全ての印刷要素についてのレンダリング処理が終了したならば、次のステップＳ２５８側に移行して各印刷要素を統合してから次のステップＳ２６０に移行してレンダリングした素材をスプーラに送って処理を終了することになる。
【０１２０】
Ｗｉｎｄｏｗｓ（登録商標）の印刷フレームワークでは、アプリケーションソフトウェア４０での印刷コマンド実行がなされたときに始めて、ＧＤＩ用ハンドルコンテキスト作成（印刷処理のイメージ領域準備）を実行する。各アプリケーションソフトウェア４０は、このＧＤＩに対して、各ページのどこに文字を打つなどの処理を要求する。ＧＤＩを通じて印刷処理要求を受け取ったＷｉｎｄｏｗｓ（登録商標）は、対応する各プリンタ用のＤＤＩインターフェースを呼び出し、レンダリング処理（インクジェットプリンタであれば２値化等を含む）を行う。
【０１２１】
Ｗｉｎｄｏｗｓ（登録商標）の印刷フレームワークでは、ＤＤＩインターフェースでは、レンダリング処理のために、テキストを配置するＤｒｖＴｅｘｔＯｕｔ、ビットマップを展開するＤｒｖＢｉｔＢｌｔなどが準備されており、各プリンタベンダ（プリンタ供給元）は、これらの処理を各プリンタ機種に応じてプリンタ制御用プログラムとして実装することで、プリンタの機種に応じたイメージを作成することが可能である。このＤｒｖＴｅｘｔＯｕｔなどが呼び出された際に図１１の手順によって呼び出された内容に応じ、例えば、文字列のハッシュ値をとるなどの特徴量の算出を行い、特徴量に一致する該当するレンダリング対象を選択することで、効率的にレンダリング済みデータを取得することができので、アプリケーションソフトウェア４０に印刷用の特別な処理を追加することなく、ユーザの入力操作に並行してレンダリング処理が行われるため、高速なファーストプリントアウトが可能となる。
【０１２２】
なお、発明９〜１７等でいう「文書操作手段」とは、本実施の形態でいうと、ＯＳ３０と、ユーザが操作する入力装置からの信号をこのＯＳ３０に入力する入力用ドライバ５０と、実際に所定の文書作成を実行するアプリケーションソフトウェア４０とからなるものに対応するものである。
また、図１の例では、レンダリング情報保持手段１１６は、操作情報取得手段１１０の機能の一部となっているが、印刷データ作成手段１２０側に設けても良く、また、このレンダリング情報保持手段１１６で保持されているレンダリング済みの素材データを、例えば、文書操作端末１０を構成するＨＤＤなどの記憶装置８４等に保存させれば、大量の素材データを保持できると共に必要に応じて瞬時に利用することが可能となる。
【図面の簡単な説明】
【０１２３】
【図１】本発明に係るプリンタ制御用プログラムおよび文書操作端末を示すブロック図である。
【図２】本発明に係る文書操作端末を構成するハードウェアを示すブロック図である。
【図３】本発明に係るプリンタ制御用プログラムの処理の流れを示すフローチャート図である。
【図４】監視対象となる操作情報リストの一例を示す図である。
【図５】ＣＰＵ利用頻度に対する監視対象操作情報の例を示す図である。
【図６】監視対象となる操作情報リストの他の例を示す図である。
【図７】ＣＰＵ利用頻度に対する監視対象操作情報の他の例を示す図である。
【図８】アプリケーションソフトウェアに関する情報の保持例を示す図である。
【図９】レンダリング処理された素材データに関する情報の保持例を示す図である。
【図１０】プリンタ制御用プログラムによる他の処理の主な流れを示すフローチャート図である。
【図１１】プリンタ制御用プログラムによる他の処理の他の流れを示すフローチャート図である。
【図１２】プリンタ制御用プログラムを記録した記録媒体の一例を示す図である。
【符号の説明】
【０１２４】
１０…文書操作端末、２０…データ送信手段、３０…オペレーティングシステム（ＯＳ）、４０…文書操作用アプリケーションソフトウェア、５０…入力装置用ドライバ、６０…プリンタ、６２…データ受信手段、６４…印刷手段、７０…ＣＰＵ、７２…ＲＡＭ、７４…ＲＯＭ、７６…バス、７８…インターフェース、８０…入力装置、８２…出力装置、８４…記憶装置、１００…プリンタ制御用プログラム、１１０…操作情報取得手段、１１２…操作情報選択手段、１１４…ＣＰＵ負荷情報取得手段、１１６…レンダリング情報保持手段、１２０…印刷データ作成手段（レンダリング手段）、Ｌ…操作情報リスト、Ｒ…記録媒体、Ｎ…ネットワーク。
【図１】
2005100356.tif 000003
【図２】
2005100356.tif 000004
【図３】
2005100356.tif 000005
【図４】
2005100356.tif 000006
【図５】
2005100356.tif 000007
【図６】
2005100356.tif 000008
【図７】
2005100356.tif 000009
【図８】
2005100356.tif 000010
【図９】
2005100356.tif 000011
【図１０】
2005100356.tif 000012
【図１１】
2005100356.tif 000013
【図１２】
2005100356.tif 000014