(57)【要約】【課題】印刷処理が開始されてから終了するまでの時間を短くする。【解決手段】印刷指示によらずにアプリケーションデータ１０４が作成されると、そのアプリケーションデータ１０４から、使用頻度の高い印刷レイアウトに対応し、且つ印刷装置１１０に対応した数種類のオブジェクトを生成する。生成したオブジェクトをレンダリングしてＰＤＬデータを生成し、生成したＰＤＬデータを、前記作成されたアプリケーションデータ１０４が記憶されているフォルダ２０１に対応する記憶領域２０２に記憶させる。印刷指示があると、その印刷指示に対応するオブジェクトのうち、既にレンダリングしてＰＤＬデータが生成されているオブジェクトについては、そのＰＤＬデータを使用し、レンダリングしていないオブジェクトのみをレンダリングして印刷を実行する。【選択図】図４
2007149056.tif 000002
【特許請求の範囲】
【請求項１】
印刷指示とは無関係に、特定領域のアプリケーションデータに基づき画像形成装置に対応した印刷データを生成する生成ステップと、
前記特定領域のアプリケーションデータの印刷指示に応じて、前記生成ステップにより生成されている画像形成装置に対応した印刷データを前記画像形成装置に印刷させる印刷ステップとを有することを特徴とする画像形成方法。
【請求項２】
前記生成ステップにより生成された印刷データを前記画像形成装置に出力する出力ステップを有し、
前記印刷ステップは、前記特定領域のアプリケーションデータの印刷指示に応じて、前記画像形成装置に格納されている印刷データを前記画像形成装置に印刷させることを特徴とする請求項１に記載の画像形成方法。
【請求項３】
前記特定領域のアプリケーションデータが更新された場合、前記印刷データを更新する更新ステップを有することを特徴とする請求項１に記載の画像形成方法。
【請求項４】
前記特定領域のアプリケーションデータが更新された場合、前記画像形成装置に格納されている印刷データを更新する更新ステップを有することを特徴とする請求項２に記載の画像形成方法。
【請求項５】
前記特定領域のアプリケーションデータと前記印刷データとを関連付ける関連情報を記憶する記憶ステップを有することを特徴とする請求項１に記載の画像形成方法。
【請求項６】
前記特定領域のアプリケーションデータと前記画像形成装置に格納される印刷データとを関連付ける関連情報を記憶する記憶ステップを有することを特徴とする請求項２に記載の画像形成方法。
【請求項７】
前記特定領域以外のアプリケーションデータの印刷指示に応じて、前記特定領域以外のアプリケーションデータに基づき、前記画像形成装置に対応する印刷データを生成する生成ステップと、
前記生成ステップにより生成された印刷データを前記画像形成装置に印刷させる印刷ステップとを有することを特徴とする請求項１に記載の画像形成方法。
【請求項８】
アプリケーションデータに対してユーザにより指定された印刷開始時刻又は印刷終了時刻を受け付ける受付ステップと、
前記受付ステップにより受け付けられた印刷開始時刻、又は前記受付ステップにより受け付けられた印刷終了時刻に基づく印刷開始時刻になる前に、前記印刷開始時刻又は印刷終了時刻が指定されたアプリケーションデータに基づき、画像形成装置に対応した印刷データを生成する印刷データ生成ステップと、
前記受付ステップにより受け付けられた印刷開始時刻、又は前記受付ステップにより受け付けられた印刷終了時刻に基づく印刷開始時刻になると、前記印刷データ生成ステップにより生成された印刷データを前記画像形成装置に印刷させる印刷ステップとを有することを特徴とする画像形成方法。
【請求項９】
前記印刷データ生成ステップにより印刷データが生成されてから、その印刷データに基づく印刷が開始されるまでの間に、その印刷データに対応するアプリケーションデータが更新されたか否かを判断する更新判断ステップと、
前記更新判断ステップにより、アプリケーションデータが更新されたと判断された場合、更新前のアプリケーションデータと更新後のアプリケーションデータとの差分データ、又は更新後のアプリケーションデータ全体に基づき、前記画像形成装置に対応した印刷データを生成する更新データ生成ステップと、
前記更新データ生成ステップにより生成された印刷データに基づき、前記格納ステップにより格納された印刷データを更新する印刷データ更新ステップとを有することを特徴とする請求項８に記載の画像形成方法。
【請求項１０】
前記印刷データ生成ステップにより生成された印刷データを前記画像形成装置に格納する格納ステップを有し、
前記更新判断ステップは、前記格納ステップにより印刷データが格納されてから、その印刷データに基づく印刷が開始されるまでの間に、その印刷データに対応するアプリケーションデータが更新されたか否かを判断することを特徴とする請求項９に記載の画像形成方法。
【請求項１１】
前記印刷開始時刻又は前記印刷終了時刻がユーザによって指定されたアプリケーションデータの複製を作成する複製ステップと、
前記更新判断ステップにより、アプリケーションデータが更新されたと判断された場合に、更新されたアプリケーションデータと、前記複製ステップにより複製されたアプリケーションデータとの比較をページ単位で行う比較ステップとを有し、
前記更新データ生成ステップは、前記比較ステップによる比較結果に基づいて、更新されたアプリケーションデータと、前記複製ステップにより複製されたアプリケーションデータとが異なるページについて、前記画像形成装置に対応した印刷データを生成することを特徴とする請求項１０に記載の画像形成方法。
【請求項１２】
前記印刷データ生成ステップにより生成された印刷データの印刷時間を算出する印刷時間算出ステップを有し、
前記印刷ステップは、前記アプリケーションデータに対してユーザにより指定された印刷終了時刻から、前記印刷時間算出ステップにより算出された印刷時間だけ前の時刻になると、前記印刷データ生成ステップにより生成された印刷データを前記画像形成装置に印刷させることを特徴とする請求項８乃至１１のいずれか１項に記載の画像形成方法。
【請求項１３】
前記印刷データ生成ステップにより生成された印刷データの複雑度を取得する複雑度取得ステップと、
前記画像形成装置における前記印刷データの処理能力を取得する処理能力取得ステップと、
前記印刷データの総印刷ページを取得する総印刷ページ取得ステップとを有し、
前記印刷時間算出ステップは、前記複雑度取得ステップにより取得された印刷データの複雑度と、前記処理能力取得ステップにより取得された画像形成装置における印刷データの処理能力と、前記総印刷ページ取得ステップにより取得された印刷データの総印刷ページとを用いて、前記印刷データ生成ステップにより生成された印刷データの印刷時間を算出することを特徴とする請求項１２に記載の画像形成方法。
【請求項１４】
前記印刷データの複雑度と、前記画像形成装置における前記印刷データの処理能力とに基づいて、前記画像形成装置が前記印刷データを最大印刷速度で印刷できるか否かを判断する処理能力判断ステップと、
前記処理能力判断ステップにより、前記画像形成装置が前記印刷データを最大印刷速度で印刷できないと判断された場合に、前記印刷データの１ページ当たりの平均的な印刷時間を取得する印刷時間取得ステップとを有し、
印刷時間算出ステップは、前記前記処理能力判断ステップにより判断された結果と、前記印刷時間取得ステップにより取得された印刷データの１ページ当たりの平均的な印刷時間とを更に用いて、前記印刷データ生成ステップにより生成された印刷データの印刷時間を算出することを特徴とする請求項１３に記載の画像形成方法。
【請求項１５】
印刷指示とは無関係に、特定領域のアプリケーションデータに基づき画像形成装置に対応した印刷データを生成する生成手段と、
前記特定領域のアプリケーションデータの印刷指示に応じて、前記生成手段により生成されている画像形成装置に対応した印刷データを前記画像形成装置に印刷させる手段とを有することを特徴とする情報処理装置。
【請求項１６】
前記生成手段により生成された印刷データを前記画像形成装置に出力する出力手段を有し、
前記印刷させる手段は、前記特定領域のアプリケーションデータの印刷指示に応じて、前記画像形成装置に格納されている印刷データを前記画像形成装置に印刷させることを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記特定領域のアプリケーションデータが更新された場合、前記印刷データを更新する更新手段を有することを特徴とする請求項１５に記載の情報処理装置。
【請求項１８】
前記特定領域のアプリケーションデータが更新された場合、前記画像形成装置に格納されている印刷データを更新させる更新手段を有することを特徴とする請求項１６に記載の情報処理装置。
【請求項１９】
前記特定領域のアプリケーションデータと前記印刷データとを関連付ける関連情報を記憶する記憶手段を有することを特徴とする請求項１５に記載の情報処理装置。
【請求項２０】
前記特定領域のアプリケーションデータと前記画像形成装置に格納される印刷データとを関連付ける関連情報を記憶する記憶手段を有することを特徴とする請求項１６に記載の情報処理装置。
【請求項２１】
前記特定領域以外のアプリケーションデータの印刷指示に応じて、前記特定領域以外のアプリケーションデータに基づき、前記画像形成装置に対応する印刷データを生成する生成手段と、
前記生成手段により生成された印刷データを前記画像形成装置に印刷させる手段とを有することを特徴とする請求項１５に記載の情報処理装置。
【請求項２２】
アプリケーションデータに対してユーザにより指定された印刷開始時刻又は印刷終了時刻を受け付ける受付手段と、
前記受付手段により受け付けられた印刷開始時刻、又は前記受付手段により受け付けられた印刷終了時刻に基づく印刷開始時刻になる前に、前記印刷開始時刻又は印刷終了時刻が指定されたアプリケーションデータに基づき、画像形成装置に対応した印刷データを生成する印刷データ生成手段と、
前記受付手段により受け付けられた印刷開始時刻、又は前記受付手段により受け付けられた印刷終了時刻に基づく印刷開始時刻になると、前記印刷データ生成手段により生成された印刷データを前記画像形成装置に印刷させる印刷制御手段とを有することを特徴とする情報処理装置。
【請求項２３】
前記印刷データ生成手段により印刷データが生成されてから、その印刷データに基づく印刷が開始されるまでの間に、その印刷データに対応するアプリケーションデータが更新されたか否かを判断する更新判断手段と、
前記更新判断手段により、アプリケーションデータが更新されたと判断された場合、更新前のアプリケーションデータと更新後のアプリケーションデータとの差分データ、又は更新後のアプリケーションデータ全体に基づき、前記画像形成装置に対応した印刷データを生成する更新データ生成手段と、
前記更新データ生成手段により生成された印刷データに基づき、前記格納手段により格納された印刷データを更新する印刷データ更新手段とを有することを特徴とする請求項２２に記載の情報処理装置。
【請求項２４】
前記印刷データ生成手段により生成された印刷データを前記画像形成装置に格納する格納手段を有し、
前記更新判断手段は、前記格納手段により印刷データが格納されてから、その印刷データに基づく印刷が開始されるまでの間に、その印刷データに対応するアプリケーションデータが更新されたか否かを判断することを特徴とする請求項２３に記載の情報処理装置。
【請求項２５】
前記印刷開始時刻又は前記印刷終了時刻がユーザによって指定されたアプリケーションデータの複製を作成する複製手段と、
前記更新判断手段により、アプリケーションデータが更新されたと判断された場合に、更新されたアプリケーションデータと、前記複製手段により複製されたアプリケーションデータとの比較をページ単位で行う比較手段とを有し、
前記更新データ生成手段は、前記比較手段による比較結果に基づいて、更新されたアプリケーションデータと、前記複製手段により複製されたアプリケーションデータとが異なるページについて、前記画像形成装置に対応した印刷データを生成することを特徴とする請求項２４に記載の情報処理装置。
【請求項２６】
前記印刷データ生成手段により生成された印刷データの印刷時間を算出する印刷時間算出手段を有し、
前記印刷制御手段は、前記アプリケーションデータに対してユーザにより指定された印刷終了時刻から、前記印刷時間算出手段により算出された印刷時間だけ前の時刻になると、前記印刷データ生成手段により生成された印刷データを前記画像形成装置に印刷させることを特徴とする請求項２２乃至２５のいずれか１項に記載の情報処理装置。
【請求項２７】
前記印刷データ生成手段により生成された印刷データの複雑度を取得する複雑度取得手段と、
前記画像形成装置における前記印刷データの処理能力を取得する処理能力取得手段と、
前記印刷データの総印刷ページを取得する総印刷ページ取得手段とを有し、
前記印刷時間算出手段は、前記複雑度取得手段により取得された印刷データの複雑度と、前記処理能力取得手段により取得された画像形成装置における印刷データの処理能力と、前記総印刷ページ取得手段により取得された印刷データの総印刷ページとを用いて、前記印刷データ生成手段により生成された印刷データの印刷時間を算出することを特徴とする請求項２６に記載の情報処理装置。
【請求項２８】
前記印刷データの複雑度と、前記画像形成装置における前記印刷データの処理能力とに基づいて、前記画像形成装置が前記印刷データを最大印刷速度で印刷できるか否かを判断する処理能力判断手段と、
前記処理能力判断手段により、前記画像形成装置が前記印刷データを最大印刷速度で印刷できないと判断された場合に、前記印刷データの１ページ当たりの平均的な印刷時間を取得する印刷時間取得手段とを有し、
印刷時間算出手段は、前記前記処理能力判断手段により判断された結果と、前記印刷時間取得手段により取得された印刷データの１ページ当たりの平均的な印刷時間とを更に用いて、前記印刷データ生成手段により生成された印刷データの印刷時間を算出することを特徴とする請求項２７に記載の情報処理装置。
【請求項２９】
印刷指示とは無関係に、特定領域のアプリケーションデータに基づき画像形成装置に対応した印刷データを生成する生成手段と、
前記特定領域のアプリケーションデータの印刷指示に応じて、前記生成手段により生成されている画像形成装置に対応した印刷データを印刷する画像形成装置とを有することを特徴とする画像形成システム。
【請求項３０】
アプリケーションデータに対してユーザにより指定された印刷開始時刻又は印刷終了時刻を受け付ける受付手段と、
前記受付手段により受け付けられた印刷開始時刻、又は前記受付手段により受け付けられた印刷終了時刻に基づく印刷開始時刻になる前に、前記印刷開始時刻又は印刷終了時刻が指定されたアプリケーションデータに基づき、画像形成装置に対応した印刷データを生成する印刷データ生成手段と、
前記受付手段により受け付けられた印刷開始時刻、又は前記受付手段により受け付けられた印刷終了時刻に基づく印刷開始時刻になると、前記印刷データ生成手段により生成された印刷データを印刷する画像形成装置とを有することを特徴とする画像形成システム。
【請求項３１】
請求項１乃至１４のいずれか１項に記載の画像形成方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項３２】
請求項１乃至１４のいずれか１項に記載の画像形成方法をコンピュータに実行させるためのコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成方法、情報処理装置、画像形成システム、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体に関し、特に、情報処理装置から画像形成装置へ画像の印刷を依頼して印刷を行うために用いて好適なものである。
【背景技術】
【０００２】
従来、ＯＳ（オペレーティングシステム）により実行されるドキュメントの作成や、印刷アプリケーションプログラムにより実行される印刷に関しては、以下に示す（１）〜（３）の方法が一般的であった。
【０００３】
（１）  Windows（登録商標）に代表されるオペレーティングシステムが使用される環境
においては、ＳＤＫ（Software Development Kit）により、共通のアプリケーションプログラムインタフェース（ＡＰＩ）が提供される。そこで、このアプリケーションプログラムインタフェースを利用して最小限の印刷属性設定及び印刷指示が行われるようにする。（２）  情報処理装置は、プリンタドライバの一般的な動作の中で、ユーザインターフェース（ダイアログ）を利用してユーザにオプション情報を指定させる。そして、情報処理装置は、そのオプション情報に基づき、最終的なアプリケーションデータを作成して、印刷装置に送信する。
【０００４】
（３）印刷装置と双方向通信を行い、印刷装置の有するオプション類等の構成情報を取得するユーティリティアプリケーションプログラムが情報処理装置に用意され、情報処理装置が、印刷装置から構成情報を取得する。そして、情報処理装置は、取得した構成情報を表示し、表示した構成情報に基づいてユーザが印刷指示を行う。
しかしながら、前述した従来の技術では、ドキュメントの作成や、アプリケーションプログラムに基づく印刷を行う場合、以下に示す（ａ）〜（ｃ）のような問題があった。
【０００５】
（ａ）  Windows（登録商標）におけるＳＤＫ等、オペレーティングシステムに付属する
開発キットでは、印刷装置に対して、一般的な印刷属性しか設定できないことに加えて、一般的な印刷指示しかできない。このため、高機能を有する印刷装置であっても、その印刷装置が有する機能の一部の一般的な機能のみしか使用することができず、その他の付加価値の高い機能を使用することができない。
【０００６】
（ｂ）  印刷装置のオプション機能やオプション装置を利用する場合、情報処理装置は、ユーザインターフェース（ダイアログ）等を利用して、オプション類をユーザに選択・指定させる。そして、情報処理装置は、そのオプション類を示すオプション情報に基づいて、最終的なアプリケーションデータを作成する。したがって、オプション類を設定するための操作が煩雑である。
（ｃ）  アプリケーションプログラム、プリンタドライバ及び印刷装置で使用されるために用意される従来のアプリケーションプログラムインタフェース（ＡＰＩ）では、印刷装置の有するオプション類等の構成情報の取得のみが行われる。この構成情報では、印刷に関する機能を実現するための各種印刷属性の設定を行うことができない。
【０００７】
以上のような問題点に対する技術として、特開２００４−２８８０１３号公報（特許文献１）に記載されている技術がある。かかる技術では、アプリケーションプログラム、プリンタドライバ及び印刷装置からなる印刷システムにおいて、印刷装置の標準的な印刷機能を使用可能にしている。さらに、高機能を有する印刷装置に対しては、その印刷装置が有する付加価値の高い機能を好適に使用可能にしている。
【０００８】
具体的に、プリンタドライバは、印刷装置に関する機器構成情報を取得し、印刷装置で動作可能な印刷機能情報を前記機器構成情報に基づいて生成し、生成した印刷機能情報を、前記オペレーティングシステムを介して前記アプリケーションプログラムに通知する。前記アプリケーションプログラムは、前記印刷機能情報に基づいて印刷ドキュメントを構成して前記プリンタドライバに対して印刷指示を行う。前記プリンタドライバは、前記印刷指示に基づいて前記印刷装置に対する印刷制御命令を生成する。このようにすれば、印刷装置に最適なアプリケーションデータを生成することができる。
【０００９】
しかしながら、ユーザにとっては、画像形成装置の機能を好適に使用するだけでは不十
分である。すなわち、ユーザが印刷指示を行ってから、実際に印刷物の印刷終了までの時間をいかに短縮するかが重要である。
【００１０】
また、特開２００４−３５５４９２号公報（特許文献２）では、印刷時刻を指定して印刷処理する画像形成装置に関する技術が提案されている。かかる技術では、指定された印刷時刻になる前に印刷すべきデータを取得しておく。そして、指定された印刷時刻になるとサーバへ印刷すべきデータの変更が無いか否かを問い合わせる。この問い合わせの結果、印刷すべきデータが変更されれば、画像形成装置は、変更されたデータの差分データだけを受信してデータを更新し、更新した後のデータに基づいて印刷処理を行う。
【００１１】
【特許文献１】特開２００４−２８８０１３号公報
【特許文献２】特開２００４−３５５４９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、ユーザにとっては、印刷装置の機能を好適に使用するだけでは不十分である。すなわち、ユーザが印刷指示を行ってから、実際に印刷物の印刷終了までの時間をいかに短縮するかが重要である。
しかしながら、特許文献１に記載された従来の技術では、印刷指示を行ってから、印刷処理を行うようにしている。従って、印刷指示が行われ、印刷処理が開始してから終了するまでの時間を大幅に短縮することは難しい。
【００１３】
また、印刷装置に対応した印刷形式のデータにアプリケーションデータを変換する必要がある。
しかしながら、特許文献２に記載された従来の技術では、予め指定された印刷時刻になってから、印刷装置に対応した印刷形式のデータにアプリケーションデータを変換するようにしている。従って、印刷処理が開始してから終了するまでの時間を大幅に短縮することは難しい。
本発明は、このような問題点に鑑みてなされたものであり、印刷処理が開始してから終了するまでの時間を短くすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明の画像形成方法は、印刷指示とは無関係に、特定領域のアプリケーションデータに基づき画像形成装置に対応した印刷データを生成する生成ステップと、前記特定領域のアプリケーションデータの印刷指示に応じて、前記生成ステップにより生成されている画像形成装置に対応した印刷データを前記画像形成装置に印刷させる印刷ステップとを有することを特徴とする。
また、本発明の他の特徴とするところは、アプリケーションデータに対してユーザにより指定された印刷開始時刻又は印刷終了時刻を受け付ける受付ステップと、前記受付ステップにより受け付けられた印刷開始時刻、又は前記受付ステップにより受け付けられた印刷終了時刻に基づく印刷開始時刻になる前に、前記印刷開始時刻又は印刷終了時刻が指定されたアプリケーションデータに基づき、画像形成装置に対応した印刷データを生成する印刷データ生成ステップと、前記受付ステップにより受け付けられた印刷開始時刻、又は前記受付ステップにより受け付けられた印刷終了時刻に基づく印刷開始時刻になると、前記印刷データ生成ステップにより生成された印刷データを前記画像形成装置に印刷させる印刷ステップとを有することを特徴とする。
【００１５】
本発明の情報処理装置は、印刷指示とは無関係に、特定領域のアプリケーションデータに基づき画像形成装置に対応した印刷データを生成する生成手段と、前記特定領域のアプリケーションデータの印刷指示に応じて、前記生成手段により生成されている画像形成装置に対応した印刷データを前記画像形成装置に印刷させる手段とを有することを特徴とする。
また、本発明の他の特徴とするところは、アプリケーションデータに対してユーザにより指定された印刷開始時刻又は印刷終了時刻を受け付ける受付手段と、前記受付手段により受け付けられた印刷開始時刻、又は前記受付手段により受け付けられた印刷終了時刻に基づく印刷開始時刻になる前に、前記印刷開始時刻又は印刷終了時刻が指定されたアプリケーションデータに基づき、画像形成装置に対応した印刷データを生成する印刷データ生成手段と、前記受付手段により受け付けられた印刷開始時刻、又は前記受付手段により受け付けられた印刷終了時刻に基づく印刷開始時刻になると、前記印刷データ生成手段により生成された印刷データを前記画像形成装置に印刷させる印刷制御手段とを有することを特徴とする。
【００１６】
本発明の画像形成システムは、印刷指示とは無関係に、特定領域のアプリケーションデータに基づき画像形成装置に対応した印刷データを生成する生成手段と、前記特定領域のアプリケーションデータの印刷指示に応じて、前記生成手段により生成されている画像形成装置に対応した印刷データを印刷する画像形成装置とを有することを特徴とする。
また、本発明の他の特徴とするところは、アプリケーションデータに対してユーザにより指定された印刷開始時刻又は印刷終了時刻を受け付ける受付手段と、前記受付手段により受け付けられた印刷開始時刻、又は前記受付手段により受け付けられた印刷終了時刻に基づく印刷開始時刻になる前に、前記印刷開始時刻又は印刷終了時刻が指定されたアプリケーションデータに基づき、画像形成装置に対応した印刷データを生成する印刷データ生成手段と、前記受付手段により受け付けられた印刷開始時刻、又は前記受付手段により受け付けられた印刷終了時刻に基づく印刷開始時刻になると、前記印刷データ生成手段により生成された印刷データを印刷する画像形成装置とを有することを特徴とする。
【００１７】
本発明のコンピュータプログラムは、前記画像形成方法をコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記憶媒体は、前記画像形成方法をコンピュータに実行させるためのコンピュータプログラムを記憶したことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、情報処理装置の特定領域にアプリケーションデータが作成（記憶）されると、印刷装置への印刷指示とは無関係のタイミングで、そのアプリケーションデータに基づき印刷装置に対応した印刷データ（例えばＰＤＬデータ）を生成する。よって、印刷装置で印刷を行う際に使用される印刷データ（例えばＰＤＬデータ）を予め用意することができる。この印刷データ（例えばＰＤＬデータ）を利用して印刷を行うことにより、印刷処理を開始してから終了するまでの時間を短くすることができる。
【００１９】
また、本発明の他の特徴によれば、印刷開始時刻になる前に、印刷開始時刻又は印刷終了時刻が指定されたアプリケーションデータに基づき、画像形成装置に対応した印刷データ（例えばＰＤＬデータ）を生成する。よって、印刷装置で印刷を行う際に使用される印刷データ（例えばＰＤＬデータ）を予め用意することができる。そして、印刷開始時刻になると、生成した印刷データ（例えばＰＤＬデータ）を利用して印刷を行う。これにより、画像形成装置で印刷可能な印刷データの生成処理を適切に実行した上で印刷処理を開始することができ、印刷処理を開始してから終了するまでの時間を短くすることができる。
【００２０】
また、本発明のその他の特徴によれば、印刷が開始する前にアプリケーションデータが更新されると、更新された内容を反映した印刷データを生成する。これにより、印刷が開始する前にアプリケーションデータの変更があった場合でも、画像形成装置で印刷可能な印刷データの生成処理を適切に実行した上で印刷処理を開始することができる。
【００２１】
また、本発明のその他の特徴によれば、アプリケーションデータを複製し、複製したアプリケーションデータと、更新されたアプリケーションデータとをページ単位で比較する。そして、複製したアプリケーションデータと異なるページについて、更新されたアプリケーションデータに基づく印刷データを生成する。これにより、アプリケーションデータの全てを印刷データにする必要がなくなるので、印刷データを高速に生成することが可能になる。
【発明を実施するための最良の形態】
【００２２】
（第１の実施形態）
次に、図面を参照しながら本発明に係る第１の実施形態を詳細に説明する。
図１は、本実施形態における画像形成システムのハードウェア構成の一例を示す図である。
画像形成システムは、コンピュータ１００と、画像形成装置の一例である印刷装置１１０とが、ネットワーク１０６を介して相互に接続されて構成される。コンピュータ１００は、例えば、ユーザによる印刷指示に基づいて、印刷装置１１０に印刷を依頼する情報処理装置であり、印刷装置１１０は、コンピュータ１００からの依頼に基づいて印刷を実行する装置である。印刷装置１１０としては、例えば、ＭＦＰ（デジタル複合機）やプリンタ等を用いることができる。なお、ネットワーク１０６は、コンピュータ１００と印刷装置１１０とを相互に通信可能に接続するためのものであり、例えば、ＬＡＮやインターネット等である。
【００２３】
まず、コンピュータ（情報処理装置）１００について説明する。ＣＰＵ１１は、ＲＯＭ１５やＨＤドライブ１３等に記憶されているＯＳ（オペレーティングシステム）１０１や各種のプログラムを実行し、コンピュータ１００の各部を統括的に制御する（図３を参照）。
ＲＡＭ１２は、ＯＳ１０１や各種のプログラムをＣＰＵ１１が実行する際の主メモリや、ワークエリアとして機能する。ＨＤドライブ１３は、印刷装置１１０を制御するための印刷制御プログラムを含む各種のアプリケーションプログラムや、ＯＳ１０１や、各種のデータを格納する。また、本実施形態のＨＤドライブ１３には、特定領域として扱われるフォルダ２０１が設けられている（図４を参照）。このフォルダ２０１には、アプリケーションデータ１０４が記憶される。アプリケーションデータ１０４は、ユーザからの印刷指示によらずに（例えば、印刷指示とは異なるタイミングで行われたユーザからの指示で）アプリケーションプログラム１０７によって生成される。また、本実施形態では、アプリケーションデータ１０４は、印刷装置１１０に対応したＰＤＬ（Page Description Language：ページ記述言語）データへ変換される。ＰＤＬデータの代わりとしては、例えば、ＰＤＬデータから変換される描画ハードが解釈できるディスプレイリスト形式のデータや、ディスプレイリスト形式のデータから変換されるプリントエンジンで印刷可能なイメージ形式のデータが挙げられる。
【００２４】
ディスプレイ１４は、例えば、ＣＲＴディスプレイ又は液晶ディスプレイであり、データや結果などを表示する。
ＲＯＭ１５には、各種のプログラムや、フォントや、各種のデータ（例えば、テンプレート用データ）が記憶されている。ＤＶＤ１６には、プリンタドライバ１０３や、各種のプログラムや、各種のデータが格納されている。ＤＶＤドライブ１７は、ＤＶＤ１６に格納されているプリンタドライバ１０３や、各種のプログラムや、データを、ＲＡＭ１２やＨＤドライブ１３に書き込む。
操作部１８は、ユーザインターフェースであり、例えば、キーボード及びポインティングデバイスを備えている。ユーザは、この操作部１８を操作して印刷指示や、アプリケーションデータ１０４の作成指示等を行う。ネットワークＩ／Ｆ（インタフェース）１９は、コンピュータ１００が、ネットワーク１０６を介して外部装置（例えば印刷装置１１０）と情報のやり取りを行うためのインタフェースである。
【００２５】
ＣＰＵ１１は、例えばＲＡＭ１２に設定された表示情報ＲＡＭに、アウトラインフォントを展開（ラスタライズ）する処理を実行するものである。また、ＣＰＵ２０１は、ディスプレイ２０４に表示されたマウスカーソル等でユーザにより指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。
【００２６】
例えば、ユーザは、印刷を実行する際、印刷の設定に関するウィンドウを開き、印刷装置１１０の印刷形式に関する設定と、印刷モードの選択とを含むプリンタドライバ１０３に対する印刷処理方法の設定等を行って、印刷装置１１０への印刷指示を行う。また、ユーザは、アプリケーションデータ１０４の設定に関するウィンドウを開き、アプリケーションデータ１０４の内容を設定する。
【００２７】
また、アプリケーションデータ１０４の設定に関するウィンドウにおいて、ユーザは、アプリケーションデータ１０４が記憶されるＨＤドライブ１３内の特定領域として扱われるフォルダ２０１の場所の指定を行う。さらに、アプリケーションデータ１０４から後述するようにして得られるＰＤＬデータの種別の設定や、そのＰＤＬデータの出力先となる印刷装置１１０の設定等を行う。これにより、特定領域として扱われるフォルダ２０１に対して、特定領域として扱われるフォルダ２０１に記憶されるアプリケーションデータ１０４から得られるＰＤＬデータの種別と、そのＰＤＬデータの出力先となる印刷装置１１０とが指定される。これらの指定は、例えば、テーブルを用いたり、アプリケーションデータ１０４の中に、ＰＤＬデータの種別と、ＰＤＬデータの出力先となる印刷装置１１０とを含めるようにしたりすることによって実現することができる。
【００２８】
なお、ＣＰＵ１１、ＲＡＭ１２、ＨＤドライブ１３、ディスプレイ１４、ＲＯＭ１５、ＤＶＤドライブ１７、操作部１７、及びネットワークＩ／Ｆ１９は、バス２０を介して相互に接続されている。
【００２９】
次に、印刷装置１１０について説明する。ネットワークＩ／Ｆ（インタフェース）２１は、印刷装置１１０が、ネットワーク１０６を介して外部装置（例えばコンピュータ１００）と情報のやり取りを行うためのインタフェースである。
ＲＯＭ２２には、各種のプログラムが記憶されている。ＣＰＵ２３は、ＲＯＭ２２やＨＤドライブ２６等に記憶されているプログラムを、ＲＡＭ２４をワークエリアとして使用する等して実行し、印刷装置１１０の各部を総括的に制御する。例えば、ＣＰＵ２３は、エンジンＩ／Ｆ（インタフェース）２６を介してプリンタエンジン２８に対して、出力情報としての印刷命令を出力する。
【００３０】
ＲＡＭ２４は、ＣＰＵ２１２がプログラムを実行する際の主メモリや、ワークエリアとして機能する。ＨＤドライブ２５には、前述したＨＤドライブ１３に設けられているフォルダ２０１に保存されたアプリケーションデータ１０４毎に、印刷装置１１０に対応した印刷形式のデータが記憶されている。
なお、ネットワークＩ／Ｆ２１、ＲＯＭ２２、ＣＰＵ２３、ＲＡＭ２４、ＨＤドライブ２５、エンジンＩ／Ｆ２６は、バス２７を介して相互に接続されている。
プリンタエンジン２８は、エンジンＩ／Ｆ２６を介して入力した印刷命令に基づいて、紙の搬送や、印刷等を行う。
【００３１】
図２は、印刷装置１１０に設けられたプリンタエンジン２８の概略構成の一例を示した図である。
エンジンＩ／Ｆ２６を介して入力した画像信号に基づいて得られる各色毎の画像データで偏重されたレーザ光が、ポリゴンミラー２１０１により感光ドラム２１０２を走査されることにより、静電潜像が形成される。そして、この静電潜像がトナー現像されることにより可視画像が得られ、この可視画像の全色が中間転写体２１０３へ多重転写されると、カラー可視画像が形成される。さらに、このカラー可視画像が転写材２１０４へ転写され、転写材２１０４上にカラー可視画像が定着する。
【００３２】
図３は、本実施形態における画像形成システムの主要部分の構成の一例を示す図である。
オペレーティングシステム１０１は、コンピュータ１００上で動作し、コンピュータ１００に備えられたハードウェア及びソフトウェアの制御を行う。また、オペレーティングシステム１０１は、コンピュータ１００に備えられたハードウェア及びソフトウェア同士のやりとりに介在する。
プリンタドライバ１０３は、コンピュータ１００で動作するアプリケーションプログラム１０７から印刷装置１１０に印刷依頼を行う際に、印刷装置１１０に好適な印刷データを生成する。
また、プリンタドライバ１０３は、コンピュータ１００に備えられたＨＤドライブ１３や、印刷装置１１０に備えられたＨＤドライブ２５の指定された領域に記憶されたアプリケーションデータ１０４を監視する。そして、アプリケーションデータ１０４が更新された際に、そのアプリケーションデータ１０４に含まれるオブジェクトを印刷装置１１０に対応したＰＤＬデータに変換する。そして、コンピュータ１００に備えられたＨＤドライブ１３や、印刷装置１１０に備えられたＨＤドライブ２５にＰＤＬデータを記憶させる。
【００３３】
このアプリケーションデータ１０４は、アプリケーションプログラム１０７により生成されるデータであり、プリンタドライバ１０３とネットワークＩ／Ｆ１９とを介して、印刷装置１１０に送信される。このように、アプリケーションプログラム１０７は、アプリケーションデータ１０４を生成し、プリンタドライバ１０３に対して印刷依頼を行う。この印刷依頼に基づいて、印刷装置１１０で印刷が行われる。
【００３４】
コントローラソフトウェア１１２は、印刷装置１１０の動作を制御し、プリンタエンジン２８へ印刷命令を行うためのソフトウェアである。このコントローラソフトウェア１１２は、例えば、ＲＯＭ２２に記憶されており、ＣＰＵ２３により実行されるものである。プリンタエンジン２８は、コントローラソフトウェア１１２からの印刷命令に従い印刷処理（印字処理）を行う。
【００３５】
図４は、コンピュータ１００に設けられたＨＤドライブ１３と、印刷装置１１０に設けられたＨＤドライブ２５との対応関係の一例を概念的に示した図である。
前述したように、フォルダ２０１は、コンピュータ１００のＨＤドライブ１３に設けられ、特定領域として扱われる。フォルダ２０１には、アプリケーションデータ１０４が記憶される。フォルダ２０３は、たとえばマイドキュメント等のフォルダであり、通常のアプリケーションデータが格納される。アプリケーションデータ１０４は、印刷指示によらずに、印刷装置１１０に対応したＰＤＬデータへの変換が行われるものである。プリンタドライバ１０３は、フォルダ２０１に対して、例えば、出力すべき印刷装置１１０の種類、及びＰＤＬの種別が指定できるようになっている。
【００３６】
なお、アプリケーションデータ１０４を記憶する領域は、必ずしも図４に示したものに限定されない。例えば、印刷装置１１０のＨＤドライブ２０２の記憶領域をコンピュータ１００の記録媒体にマウントし、マウントした記憶領域を特定領域としてアプリケーションデータ１０４を記憶させるようにしてもよい。
記憶領域２０２は、印刷装置１１０のＨＤドライブ２５に形成されており、フォルダ２０１に記憶されているアプリケーションデータ１０４毎に、印刷装置１１０に対応したＰＤＬデータが保持される。たとえば、特定の領域にアプリケーションデータ（２０５、２０６）が記憶された場合、対応するＰＤＬデータ（２０８，２０９）が作成され、印刷装置に記憶される。しかしながら、特定領域以外にアプリケーションデータ（２０７）が記憶された場合、対応するＰＤＬデータは作成されず、印刷装置に記憶されない。
【００３７】
図５は、フォルダ２０１に対応する記憶領域２０２を印刷装置１１０のＨＤドライブ２５に形成する際の画像形成システムにおける動作の一例を説明するフローチャートである。
図５において、プリンタドライバ１０３は、印刷指示によらずに、印刷装置１１０に対応したＰＤＬデータに変換されるアプリケーションデータを特定するための、ユーザにより指定されたフォルダを特定する（ステップＳ３０１）。
そうすると、プリンタドライバ１０３は、その特定されたフォルダ２０１の場所に対応する格納領域２０２を、ＨＤドライブ２５に生成させる（ステップＳ３０２）。
【００３８】
具体的に説明すると、例えば、プリンタドライバ１０３は、入力したフォルダ２０１の場所に関する情報をネットワークＩ／Ｆ１９を介して印刷装置１１０に送信する。印刷装置１１０のコントローラソフトウェア１１２は、フォルダ２０１の場所に関する情報を入力すると、その入力された場所に対応する記憶領域２０２を、ＨＤドライブ２５に生成する。
そして、プリンタドライバ１０３は、そのフォルダ２０１をリストに追加して、そのフォルダに記憶されるアプリケーションデータ１０４を、監視する対象のアプリケーションデータとする（ステップＳ３０３）。
このリストに登録されたフォルダ２０１が監視対象となる。プリンタドライバ１０３は、例えば、このリストに登録されたフォルダ２０１にアプリケーションデータ１０４が新規に作成されたか否かを判別する。後述する図１０の情報を用いて、アプリケーションデータ１０４が、新規追加されたか、更新されたか否かを判別したりすることができる。
【００３９】
図６は、アプリケーションデータ１０４が新規に作成された際の画像形成システムの動作の一例を説明するフローチャートである。
図６において、まず、プリンタドライバ１０３は、アプリケーションプログラム１０７によりアプリケーションデータ１０４が特定領域として扱われるフォルダ２０１に新規に作成されているか否かを判定する（ステップＳ４０１）。
この判定の結果、アプリケーションデータ１０４が新規に作成されている場合には、プリンタドライバ１０３は、使用頻度の高い印刷レイアウトに対応し、且つ印刷装置１１０に対応したＰＤＬデータを、一種類又は複数種類生成する（ステップＳ４０２）。すなわちステップＳ４０２の処理は、アプリケーションデータが新規に作成された場合に実行され、印刷指示とは無関係に行われるものである。以下の説明では数種類とする。
【００４０】
なお、本実施形態では、プリンタドライバ１０３は、前述したようにして特定領域２０１に対して指定されている印刷装置１１０に関する情報に基づいて、印刷装置１１０の印刷形式を識別するようにしている。また、本実施形態では、プリンタドライバ１０３が過去に使用した印刷レイアウトの使用回数をＨＤドライブ１３等に記憶させておくようにする。そして、記憶させた印刷レイアウトの使用回数がしきい値以上である場合に、その印刷レイアウトの使用頻度が高いものであるとしている。たとえば、通常、２ＵＰ（１枚の用紙に２ページ印刷）が多いユーザの場合は、２ＵＰ印刷用のＰＤＬデータが作成される。
【００４１】
次に、プリンタドライバ１０３は、生成した数種類のオブジェクトに基づきＰＤＬデータを生成する。そして、生成したＰＤＬデータを、新規に作成されたアプリケーションデータ１０４が記憶されているフォルダ２０１の場所に対応する記憶領域２０２内に記憶させる（ステップＳ４０３）。具体的に説明すると、例えば、プリンタドライバ１０３は、生成した数種類のオブジェクトに基づきＰＤＬデータを生成する。そして、そのＰＤＬデータに登録場所を指定した登録コマンドを付加して印刷装置に送信する。そして、アプリケーションデータを特定する情報とＰＤＬデータを特定する情報とを関連付けた関連情報がＨＤドライブ１３に記憶される。
【００４２】
印刷装置のコントローラは、登録コマンドに基づきアプリケーションデータ１０４が記憶されているフォルダ２０１の場所に対応する記憶領域２０２にＰＤＬデータを記憶させる。またはそのＰＤＬデータを、例えば、コメント文等を用いてアプリケーションデータ１０４に追記し、そのＰＤＬデータを追記したアプリケーションデータ１０４を、ネットワークＩ／Ｆ１９を介して印刷装置１１０に送信する。そうすると、印刷装置１１０のコントローラソフトウェア１１２は、入力したアプリケーションデータ１０４に含まれるＰＤＬデータを、アプリケーションデータ１０４に対応した印刷形式データとして、記憶領域２０２の印刷形式ファイル内に記憶する。なお、本実施形態では、プリンタドライバ１０３は、前述したようにして特定領域として扱われるフォルダ２０１に対して指定されているＰＤＬデータの種別から、生成するＰＤＬデータの種別を識別するようにしている。また、図１０に示すように、ファイル名１００１、更新日時１００２、データサイズ１００３、対応するＰＤＬデータのファイル名１００４、格納アドレス１００５をＨＤ１３に記憶する。
【００４３】
次に、プリンタドライバ１０３は、アプリケーションプログラム１０７が、アプリケーションデータ１０４を作成する処理を終了させているか否かを判定する（ステップＳ４０４）。この判定の結果、アプリケーションプログラム１０７が、アプリケーションデータ１０４を作成する処理を終了させていない場合、終了させるまでステップＳ４０１〜Ｓ４０４を繰り返し行う。
【００４４】
図７は、アプリケーションデータ１０４が更新された際の画像形成システムの動作の一例を説明するフローチャートである。この処理は、設定された所定時間毎に実行される。
図７において、まず、プリンタドライバ１０３は、アプリケーションプログラム１０７によりアプリケーションデータ１０４が更新されているか否かを判定する（ステップＳ５０１）。
たとえば、特定領域として扱われるフォルダ２０１の各ファイル（２０５、２０６）の更新日時、データサイズの情報と図１０の情報を比較し、更新日時、データサイズが変わっていれば、更新されたと判定できる。
アプリケーションデータ１０４が更新されたと判定されると、プリンタドライバ１０３は、更新されたアプリケーションデータ１０４の中に、印刷装置１１０に対応したＰＤＬデータに変換されていないオブジェクトがあるか否かを判定する（ステップＳ５０２）。
【００４５】
ＰＤＬデータに変換されていないオブジェクトがあると判定された場合、プリンタドライバ１０３は、そのオブジェクトを、使用頻度の高い印刷レイアウトに対応し、且つ印刷装置１１０に対応したＰＤＬデータに変換する（ステップＳ５０３）。
【００４６】
次に、プリンタドライバ１０３は、ステップＳ５０３で変換したＰＤＬデータを、更新されたアプリケーションデータ１０４が記憶されているフォルダ２０１の場所に対応する印刷形式ファイル（記憶領域２０２）内に生成する。そして、ＰＤＬデータファイル（２０８、２０９）を更新させる（ステップＳ５０４）。その際、更新されたアプリケーションデータに関する図１０の更新日時やデータサイズも更新する。
具体的に説明すると、例えば、プリンタドライバ１０３は、更新されたアプリケーションデータに基づきＰＤＬデータを生成する。
そして、プリンタドライバ１０３は、アプリケーションデータに対応してＰＤＬデータが更新される印刷装置のＨＤ内のＰＤＬデータファイル名やアドレスを指定して、生成されたＰＤＬデータに更新コマンドを付加する。そして、更新コマンドが付加されたＰＤＬデータを、ネットワークＩ／Ｆ１９を介して印刷装置１１０に送信する。なお、更新コマンドは、更新すべきＰＤＬデータファイルのファイル名やアドレスを含む。
そうすると、印刷装置１１０のコントローラソフトウェア１１２は、入力した更新コマンドつきのＰＤＬデータに基づき、指定されたファイル名またはアドレスのＰＤＬデータを更新する。
【００４７】
次に、プリンタドライバ１０３は、アプリケーションプログラム１０７が、アプリケーションデータ１０４を更新する処理を終了させているか否かを判定する（ステップＳ５０５）。この判定の結果、アプリケーションプログラム１０７が、アプリケーションデータ１０４を更新する処理を終了させていない場合、終了させるまでステップＳ５０１〜Ｓ５０５を繰り返し行う。なお、図７では更新された一部のＰＤＬデータを更新する例を説明したが、もう一度アプリケーションがデータからＰＤＬデータを全て作り直し、作り直したＰＤＬデータに差し替える形式でも実現できる。
【００４８】
図８は、印刷装置１１０に印刷指示を行う際の画像形成システムの動作の一例を説明するフローチャートである。
図８の処理は、ユーザによる操作部１８の操作に基づいて、アプリケーションプログラム１０７から印刷の実行指示が行われると実行される。プリンタドライバ１０３は、その印刷の実行指示に対応するアプリケーションデータが、ＨＤドライブ１３内の特定領域として扱われるフォルダ２０１に記憶されているアプリケーションデータ１０４か否かを判定する（ステップＳ６０１）。
この判定の結果、印刷指示に対応するアプリケーションデータが、フォルダ２０１に記憶されているアプリケーションデータ１０４でない場合、従来通りの通常の印刷処理を行う。具体的には、プリンタドライバ１０３は、アプリケーションデータに基づきＰＤＬデータ生成する（ステップＳ６０７）。次に、生成したＰＤＬデータを印刷装置に送信する（ステップＳ６０８）。
【００４９】
ステップＳ６０１で、特定領域として扱われるフォルダ２０１上のアプリケーションデータ１０４であると判別された場合、ステップＳ６０２に進む。そして、プリンタドライバ１０３は、アプリケーションデータ１０４に対応するＰＤＬデータファイルが印刷装置１１０の記憶領域２０２にあるか否かを判定する（ステップＳ６０２）。この判定の結果、アプリケーションデータ１０４に対応するＰＤＬデータファイルがない場合、プリンタドライバ１０３は、従来通りの通常の印刷処理を行う（ステップＳ６０７、ステップＳ６０８）。
【００５０】
一方、アプリケーションデータ１０４に対応するＰＤＬデータファイルが、印刷装置１１０のＨＤドライブ２５の記憶領域２０２にある場合、ステップＳ６０３に進む。そして、プリンタドライバ１０３は、ＰＤＬデータに変換されていないオブジェクトがあるか否かを判定する（ステップＳ６０３）。
印刷装置１１０に対応したＰＤＬデータに変換されていないオブジェクトがある場合、プリンタドライバ１０３は、指定された印刷レイアウトで、アプリケーションデータに基づき印刷装置１１０に対応したＰＤＬデータを生成する（ステップＳ６０４）。
【００５１】
次に、プリンタドライバ１０３は、生成されたＰＤＬデータと更新すべきＰＤＬデータのファイル名やアドレスとを含む更新命令を印刷装置に送信する。そうすることにより、印刷装置に格納されている更新されたアプリケーションデータに対応するＰＤＬデータを更新させる（ステップＳ６０５）。印刷装置は、更新命令に基づき、更新命令中のファイル名あるいはアドレスの記憶領域２０２に格納されているＰＤＬデータを、更新命令中のＰＤＬデータに基づき更新する。
次に、プリンタドライバ１０３は、ネットワークＩ／Ｆ１９を介して印刷設定情報を印刷装置１１０に通知して、印刷指示を行う（ステップＳ６０６）。なお、印刷設定情報には、印刷指示されたアプリケーションデータに対応する印刷装置に記憶されているＰＤＬデータファイルを特定する情報（ファイル名、格納アドレス）とそのＰＤＬデータファイルを印刷させるための命令が含まれる。
ステップＳ６０３において、ＰＤＬデータに変換されていないオブジェクトがないと判定された場合には、ステップＳ６０４、Ｓ６０５を省略してステップＳ６０６を実行する。
【００５２】
図９は、印刷を実行する際の画像形成システムの動作の一例を説明するフローチャートである。
図９において、印刷装置１１０のコントローラソフトウェア１１２は、コンピュータ１００から受け取った印刷指示の内容が、ＨＤドライブ２５の記憶領域２０２に記憶されているＰＤＬデータファイルの印刷指示か否かを判定する（ステップＳ７０１）。ＨＤドライブ２５の記憶領域２０２に記憶されているＰＤＬデータファイルの印刷指示でないと判定された場合、印刷装置１１０のコントローラソフトウェア１１２は、従来通りの通常の印刷処理を行う（ステップＳ７０４）。従来通りの通常の印刷処理とは、受信したＰＤＬデータに基づきイメージデータを生成し、生成されたイメージデータをプリントエンジンに送信し、プリントエンジンに印刷を実行させる処理である。
そして、プリンタエンジン２８は、ステップＳ７０４で生成されたイメージデータに従って印刷を実行する（ステップＳ７０３）。
【００５３】
一方、ＨＤドライブ２５の記憶領域２０２に記憶されているＰＤＬデータファイルの印刷指示である場合は、コントローラソフトウェア１１２は、ＨＤドライブ２５の記憶領域２０２に記憶されているＰＤＬデータファイルを用いてイメージデータを生成する。生成されたイメージデータをプリンタエンジン２８に送信して、印刷命令を行う（ステップＳ７０２）。そして、プリンタエンジン２８は、ステップＳ７０２における印刷命令に従って印刷を実行する（ステップＳ７０３）。
【００５４】
以上のように本実施形態では、アプリケーションデータ１０４が作成（又は更新）され、フォルダ２０１に記憶されると、そのアプリケーションデータ１０４から、使用頻度の高い印刷レイアウトに対応し、且つ印刷装置１１０に対応したデータを生成する。そして、生成したデータ（例えばＰＤＬデータ）を、前記作成されたアプリケーションデータ１０４が記憶されているフォルダ２０１に対応する記憶領域２０２に記憶させる。このように、使用頻度の高い印刷レイアウトに対応し、且つ印刷装置１１０に対応した数種類のオブジェクトを、印刷指示によらずに予め生成し、生成したオブジェクトに基づきＰＤＬデータを生成して記憶するようにした。そして、印刷指示があると、その印刷指示に対応するオブジェクトのうち、既にＰＤＬデータが生成されているオブジェクトについては、そのＰＤＬデータを使用し、生成されていないオブジェクトのＰＤＬデータを生成して印刷を実行する。
以上のようにしたので、印刷指示によらずに（印刷指示が行われる前に）、予め印刷処理の一部を行うことが可能となり、ユーザが印刷指示を行って印刷処理を開始してから、実際に印刷物の印刷を終了させるまでの時間を従来よりも短縮することができる。
【００５５】
なお、本実施形態では、印刷装置１１０に対応したＰＤＬデータを、印刷装置１１０のＨＤドライブ２５に保持したが、コンピュータ１００のＨＤドライブ１３に保持してもよい。また、ネットワーク１０６に接続された記憶領域（記憶装置）に保持してもよい。
【００５６】
また、本実施形態では、ＰＤＬデータをアプリケーションデータ１０４に追記するようにしたが、必ずしもこのようにする必要はない。例えば、アプリケーションデータ１０４が更新された場合には、元の印刷形式ファイルに対応するファイルを新たに生成し、生成したファイルにＰＤＬデータを含めるようにしてもよい。そして、このＰＤＬデータを含むファイルをコンピュータ１００から印刷装置１１０に送信するようにする。
【００５７】
さらに、本実施形態では、コンピュータ１００がＰＤＬデータを生成して印刷装置１１０に送信するようにしたが、コンピュータ１００が印刷装置１１０にＰＤＬデータの生成を依頼するようにしてもよい。このようにした場合には、まず、コンピュータ１００は、印刷装置１１０に対応した印刷形式のオブジェクトを印刷装置１１０に送信し、印刷装置１１０にそのオブジェクトを保持させる。その後、コンピュータ１００により、ＰＤＬデータの生成が依頼されると、印刷装置１１０は、保持したオブジェクトからＰＤＬデータを生成して保持する。このようにすることによっても、印刷装置１１０に対応した印刷形式のオブジェクトが既に生成されているので、印刷指示があってから実際に印刷するまでの時間を短縮させることができる。
【００５８】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第１の実施形態では、フォルダ２０１に記憶されたアプリケーションデータ１０４を、印刷指示によらずに、印刷装置１１０に対応した印刷形式のデータに変換するようにした。これに対し、本実施形態では、印刷開始時刻や印刷終了時刻が指定されたアプリケーションデータを、印刷装置１１０に対応した印刷形式のデータに変換する。このように、本実施形態と第１の実施形態とは、ソフトウェア処理の一部が異なるだけであるので、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図１０に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５９】
図１１は、本実施形態における画像形成システムの主要部分の構成の一例を示す図である。
オペレーティングシステム１０２は、コンピュータ１００上で動作し、コンピュータ１００に備えられたハードウェア及びソフトウェアの制御を行う。また、オペレーティングシステム１０２は、コンピュータ１００に備えられたハードウェア及びソフトウェア同士のやりとりに介在する。更にオペレーティングシステム１０２は時刻管理機能を有し、オペレーティングシステム１０２上で動作するソフトウェアから現在時刻を取得できる。
【００６０】
ＨＤドライブ１３は、コンピュータ１００に内蔵され、コンピュータ１００上で動作するソフトウェアや、ソフトウェアが使用するデータ等を格納する。コンピュータ１００上で動作するスケジュール印刷管理プログラム１０５から、画像形成装置の一例である印刷装置１１０に印刷指示を行う際に、プリンタドライバ１０８は、画像形成装置１１０に好適な印刷データを生成する。
【００６１】
スケジュール印刷管理プログラム１０５を用いることによりユーザは、アプリケーションデータ１０９に対して印刷開始時刻（又は印刷終了時刻）を指定することが可能である。オペレーティングシステム１０２は、印刷開始時刻（又は印刷終了時刻）が指定されたアプリケーションデータ１０９をプリンタドライバ１０８に指示する。プリンタドライバ１０８は、オペレーティングシステム１０２から指示されたアプリケーションデータ１０９を、印刷装置１１０に対応した印刷形式のデータ（例えば、ＰＤＬデータ）に変換する。印刷装置１１０に対応した印刷形式のデータは、コンピュータ１００のＨＤドライブ１３又は印刷装置１１０のＨＤドライブ２５に保存される。印刷装置１１０に対応した印刷形式のデータを、コンピュータ１００のＨＤドライブ１３及び印刷装置１１０のＨＤドライブ２５の何れに保存するのかは、例えばユーザによる指示に基づいて決定する。なお、以下の説明では、印刷装置１１０に対応した印刷形式のデータを、必要に応じて印刷形式データと称する。
【００６２】
本実施形態では、アプリケーションデータ１０９として、特定のアプリケーションからのみ解析可能なフォーマットではなく、例えばＸＭＬ等の一般的に公開されたフォーマットのデータを想定している。もしアプリケーションデータ１０９が特定のアプリケーションのみが解析可能なフォーマットのデータであるならば、次のようにする必要がある。すなわち、スケジュール印刷管理プログラム１０５又はプリンタドライバ１０８からの指示に基づいて、オペレーティングシステム１０２がアプリケーションプログラム１０７を起動する必要がある。そして、アプリケーションプログラム１０７がアプリケーションデータ１０９を解析する必要がある。
【００６３】
また、コンピュータ１００のＨＤドライブ１３又は印刷装置１１０のＨＤドライブ２５に保存された印刷形式データに対する印刷処理を、ユーザによって指定された時刻に開始する方法としては、例えば以下の２つの方法が挙げられる。
まず、スケジュール印刷管理プログラム１０５が、ユーザによって指定された印刷開始時刻（又はユーザやジョブによって指定された印刷終了時刻に基づく印刷開始時刻）に、印刷処理の開始を印刷装置１１０に指示する方法がある。
また、スケジュール印刷管理プログラム１０５から印刷装置１１０に、ユーザによって指定された印刷開始時刻（又はジョブやユーザによって指定された印刷終了時刻に基づく印刷開始時刻）を予め通知し、印刷装置１１０の判断で印刷処理を開始する方法がある。
【００６４】
また、スケジュール印刷管理プログラム１０５は、コンピュータ１００のＨＤドライブ１３に格納されているアプリケーションデータ１０９であって、ユーザにより印刷開始時刻（又は印刷終了時刻）が指定されたアプリケーションデータ１０９を監視する。プリンタドライバ１０８は、アプリケーションデータ１０９が更新された際に、その更新されたプリケーションデータ１０４を、印刷形式データに変換する。そして、プリンタドライバ１０８は、コンピュータ１００のＨＤドライブ１３又は印刷装置２５のＨＤドライブ２５に、変換した印刷形式データを保持させる。アプリケーションデータ１０９の監視と、印刷形式データへの更新は、印刷データが生成されてから（又は印刷データが保持されてから）印刷処理が開始されるまで継続する。
【００６５】
アプリケーションデータ１０９は、アプリケーションプログラム１０７により生成される。このアプリケーションデータ１０９を変換して得られた印刷形式データは、プリンタドライバ１０８とネットワークＩ／Ｆ１９とを介して印刷装置１１０に送信される。ネットワークＩ／Ｆ１９は、コンピュータ１００とネットワーク１０６とを相互に接続する。ネットワーク１０６は、コンピュータ１００と印刷装置１１０とを相互に接続する。アプリケーションプログラム１０７は、アプリケーションデータ１０９を生成する。
【００６６】
印刷装置１１０のネットワークＩ／Ｆ２１は、印刷装置１１０とネットワーク１０６とを相互に接続する。コントローラソフトウェア１１２は、印刷装置１１０の動作を制御し、プリンタエンジン２８へ印字命令を行うためのソフトウェアである。プリンタエンジン２８は、コントローラソフトウェア１１２からの印刷命令に従い印刷処理（印字処理）を行う。ＨＤドライブ２５は、印刷装置１１０に内蔵される外部記憶装置である。
【００６７】
図１２は、印刷開始時刻（又印刷終了時刻）をユーザが設定するためのＧＵＩの一例と、その設定が行われた後に必要な情報をユーザに伝えるためのＧＵＩの一例とを示した図である。
図１２（ａ）に示すスケジュール印刷指定ユーザインターフェース１２０１は、ユーザが印刷開始時刻（又は印刷終了時刻）を設定するためにコンピュータ１００のディスプレイ１４に表示されるグラフィックユーザインターフェースである。
【００６８】
ユーザは、スケジュール印刷指定ユーザインターフェース１２０１を用いて、対象となるアプリケーションデータ、印刷開始時刻（又は印刷終了時刻）、印刷開始又は印刷終了の選択、及び印刷処理終了後に印刷形式データを削除するか否かの選択を指定できる。
【００６９】
また、ユーザが印刷設定指定ボタン１２０５を押すと、図１２（ｂ）に示すように、印刷設定指定ユーザインターフェース１２０４が、コンピュータ１００のディスプレイ１４に表示される。ユーザは、この印刷設定指定ユーザインターフェース１２０４を用いて、両面印刷、ページレイアウト、及び印刷部数等の印刷設定を指定できる。
【００７０】
この印刷設定指定ユーザインターフェース１２０４における印刷設定の指定により、印刷設定が確定する。このため、アプリケーションデータ１０９を、印刷形式データに変換すると、その印刷形式データは印刷設定に則したデータになる。印刷形式データのページレイアウトを変更する処理等を、印刷処理を行うときに行うと、印刷装置１１０での処理が重くなり、最大印刷速度で印刷装置１１０を動作できなくなるという問題点が生じる。しかしながら、本実施形態のように、アプリケーションデータ１０９を、印刷形式データに変換する際に、最初から印刷設定に則したデータに変換すれば、このような問題点を解消できる。
【００７１】
スケジュール印刷指定ユーザインターフェース１２０１によってアプリケーションデータ１０９の印刷開始時間（又は印刷終了時間）が指定されると、スケジュール印刷管理プログラム１０５は、プリンタドライバ１０８に以下のような指示を行う。まず、スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９を、印刷形式データに変換することを、プリンタドライバ１０８に指示する。この指示と共にスケジュール印刷管理プログラム１０５は、印刷形式データを、コンピュータ１００のＨＤドライブ１３又は印刷装置１１０上のＨＤ２５に格納することを、プリンタドライバ１０８に指示する。
【００７２】
プリンタドライバ１０８は、アプリケーションデータ１０９を、印刷形式データに変換するときに、以下の算出を行う。すなわち、プリンタドライバ１０８は、アプリケーションデータ１０９を、印刷形式データに変換する処理に要した時間を算出する。また、プリンタドライバ１０８は、印刷形式データの複雑度と、印刷装置１１０の処理能力と、印刷設定（主に部数）等から、印刷処理時間（印刷装置１１０が印刷形式データを印刷処理するのに要する時間）を算出する。
【００７３】
以下に、印刷処理時間の算出例を説明する。まず、プリンタドライバ１０８は、印刷形式データ１３０２に含まれるオブジェクトの種類（文字、グラフィック、イメージ）と、各オブジェクトのサイズと、使用されている描画処理方法等から、印刷形式データの複雑度を求める。また、プリンタドライバ１０８は、ＣＰＵ２３の性能（クロック、キャッシュサイズ等）と、専用のアクセラレータ（例えば圧縮データの伸長Ｈ／Ｗ）の有無等から、印刷装置１１０の処理能力を求める。
【００７４】
次に、プリンタドライバ１０８は、印刷形式データの複雑度と、印刷装置１１０の処理能力とに基づいて、印刷装置１１０が印刷形式データを印刷装置１１０の最大印刷速度で印刷できるか否かを判定する。この判定の結果、印刷装置１１０が印刷形式データを印刷装置１１０の最大印刷速度で印刷できない場合、プリンタドライバ１０８は、印刷形式データの内容と、印刷装置１１０の処理能力等から、印刷形式データの１ページ当たりの平均的な印刷処理時間を求める。ここで、印刷装置１１０の最大印刷速度は、印刷装置１１０が単位時間内に印刷処理することが可能なページ数の最大値である。また、プリンタドライバ１０８は、印刷形式データの内容と印刷設定（主に部数）とから、印刷形式データの総印刷ページ数を求める。
【００７５】
プリンタドライバ１０８は、印刷形式データを印刷装置１１０の最大印刷速度で印刷できる場合には、その最大印刷速度と、印刷形式データの複雑度と、印刷装置１１０の処理能力と、印刷設定と、総印刷ページ数とを用いて、印刷処理時間を算出する。一方、印刷形式データを印刷装置１１０の最大印刷速度で印刷できない場合には、最大印刷速度の代わりに、印刷形式データの１ページ当たりの平均的な印刷処理時間を用いて、印刷処理時間を算出する。
【００７６】
これらの算出結果は、図１２（ｃ）に示す印刷開始時間通知ユーザインターフェース１２０２を用いてユーザに通知される。具体的に説明すると、印刷開始時刻と、印刷終了予定時刻と、印刷設定の変更が印刷処理結果に反映される最終時刻とがユーザに通知される。
【００７７】
スケジュール印刷管理プログラム１０５は、印刷開始時刻の直前に、図１２（ｄ）に示す印刷開始通知ユーザインターフェース１２０３を、コンピュータ１００のディスプレイ１４に表示する。これにより、印刷処理を開始することの最終確認がユーザに対して行われる。例えば、アプリケーションデータ１０９の変更が間に合っていなければ、ユーザは、印刷開始通知ユーザインターフェース１２０３を用いて延長時間を入力することにより、印刷開始時間の延長を行うことができる。また、印刷開始通知ユーザインターフェース１２０３を表示した後、ユーザからの操作がある一定時間以上行われない場合は、ユーザの操作を待たずに印刷処理を開始する。
【００７８】
図１３は、印刷スケジュールを格納するスケジュールテーブルと、バックアップデータとを作成するためのコンピュータ１００の主な構成の一例を示す図である。
アプリケーションプログラム１０７は、ユーザによる操作部１８の操作に基づいて、コンピュータ１００のＨＤドライブ１３にアプリケーションデータ１０９を作成する。
【００７９】
スケジュール印刷指定ユーザインターフェース１２０１がコンピュータ１００のディスプレイ１４に表示されると、ユーザは、操作部１８を操作して前述した指定を行う。すなわち、ユーザは、対象となるアプリケーションデータ、印刷開始時刻（又は印刷終了時刻）、印刷開始又は印刷終了の選択、及び印刷処理終了後に印刷形式データ１３０２を削除するか否かの選択を指定する。スケジュール印刷指定ユーザインターフェース１２０１によって指定された情報は、スケジュール印刷管理プログラム１０５に伝えられる。
【００８０】
スケジュール印刷管理プログラム１０５は、スケジュール印刷指定ユーザインターフェース１２０１で設定されたアプリケーションデータ１０９が、コンピュータ１００のＨＤドライブ１３に格納されているか否かを確認する。アプリケーションデータ１０９が格納されている場合、スケジュール印刷管理プログラム１０５は、スケジュール印刷指定ユーザインターフェース１２０１によって設定された情報が有効であると判断する。そして、スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９の名称と格納先と、印刷開始時刻（又は印刷終了時刻）と、印刷処理終了後に印刷形式データ１３０２を削除するか否かを、スケジュールテーブル１３０３に書き込む。更に、スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９の複写処理（コピー）を行い、コンピュータ１００のＨＤドライブ１３にバックアップデータ１３０１を作成する。そして、スケジュール印刷管理プログラム１０５は、そのバックアップデータ１３０１の名称及び格納先をスケジュールテーブル１３０３に書き込む。
【００８１】
その後、スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９を、印刷形式データ１３０２に変換することと、その印刷形式データ１３０２を所定のＨＤドライブへ格納することとを、プリンタドライバ１０８に指示する。プリンタドライバ１０８は、アプリケーションデータ１０９を、印刷形式データ１３０２に変換し、その印刷形式データ１３０２を所定のＨＤドライブへ格納する。また、プリンタドライバ１０８は、アプリケーションデータ１０９を、印刷形式データ１３０２に変換する処理に要した時間を算出する。更に、プリンタドライバ１０８は、変換したデータの複雑度、印刷装置１１０の処理能力、及び印刷設定（主に部数）等から印刷処理時間も算出する。
【００８２】
プリンタドライバ１０８は、印刷形式データ１３０２の格納先と、印刷処理時間とをスケジュール印刷管理プログラム１０５に通知する。スケジュール印刷管理プログラム１０５は、印刷形式データ１３０２の格納先をスケジュールテーブル１３０３に書き込む。また、スケジュール印刷管理プログラム１０５は、印刷処理時間から実際の印刷処理を開始する時間（印刷処理開始時刻）を算出し、その印刷処理開始時間の算出結果をスケジュールテーブル１３０３に書き込む。例えば、ユーザにより印刷終了時刻が指定された場合、スケジュール印刷管理プログラム１０５は、その印刷終了時刻より印刷処理時間だけ前の時刻を印刷処理開始時刻としてスケジュールテーブル１３０３に書き込む。
【００８３】
次に、図１４〜図１７のフローチャートを参照しながら、本実施形態の画像形成システムの動作の一例を示すフローチャートである。
図１４は、ユーザがスケジュール印刷指定ユーザインターフェース１２０１を用いてアプリケーションデータ１０９の印刷開始時刻（又は印刷終了時刻）の設定を行った際のスケジュール印刷管理プログラム１０５の処理の一例を説明するフローチャートである。
【００８４】
スケジュール印刷管理プログラム１０５は、ユーザが、スケジュール印刷指定ユーザインターフェース１２０１を用いて、アプリケーションデータ１０９の印刷開始時刻（又は印刷終了時刻）を設定するまで待機する（ステップＳ１４０１）。すなわち、ユーザにより指定された印刷開示時刻または印刷終了時刻が受け付けられたか否かを判別する。アプリケーションデータ１０９の印刷開始時刻（又は印刷終了時刻）が設定されると、ステップＳ１４０２に進む。そして、スケジュール印刷管理プログラム１０５は、コンピュータ１００のＨＤドライブ１３に、印刷開始時刻（又は印刷終了時刻）が設定されたアプリケーションデータ１０９が存在するか否かを判定する（ステップＳ１４０２）。
【００８５】
この判定の結果、印刷開始時刻（又は印刷終了時刻）が設定されたアプリケーションデータ１０９が存在しない場合には、処理を終了する。一方、印刷開始時刻（又は印刷終了時刻）が設定されたアプリケーションデータ１０９が存在する場合には、ステップＳ１４０３に進む。そして、スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９の名称及び格納場所と、印刷開始時刻（又は印刷終了時刻）と、印刷処理終了後に印刷形式データ１３０２を削除するか否かを、スケジュールテーブル３０３に書き込む。
【００８６】
次に、スケジュール印刷管理プログラム１０５は、コンピュータ１００のＨＤドライブ１３にバックアップデータ１３０１を作成する（ステップＳ１４０４）。
次に、スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９を、印刷形式データ１３０２に変換することを、プリンタドライバ１０８に指示する（ステップＳ１４０５）。プリンタドライバ１０８は、印刷形式データ１３０２に変換する処理に要した時間と、印刷処理時間とを算出する。そして、プリンタドライバ１０８は、算出した結果と、印刷装置１１０に対応した印刷形式のデータの格納先とをスケジュール印刷管理プログラム１０５に返す（ステップＳ１４０６）。
【００８７】
次に、スケジュール印刷管理プログラム１０５は、印刷処理時間から印刷処理開始時刻を算出し、その算出結果を、印刷形式データ１３０２の格納先と共に、スケジュールテーブル１３０３に書き込む（ステップＳ１４０７）。
次に、スケジュール印刷管理プログラム１０５は、印刷開始時間通知ユーザインターフェース１２０２を、コンピュータ１００のディスプレイ１４に表示する（ステップＳ１４０８）。
【００８８】
図１５は、アプリケーションデータ１０９を、印刷形式データ１３０２へ変換することが、スケジュール印刷管理プログラム１０５から要求された際のプリンタドライバ１０８の処理の一例を説明するフローチャートである。
【００８９】
プリンタドライバ１０８は、変換対象のアプリケーションデータ１０９と、バックアップデータ１３０１とを比較する（ステップＳ１５０１）。なお、アプリケーションデータ１０９が初めて変換される場合には、このステップＳ１５０１の処理を省略する。
次に、プリンタドライバ１０８は、バックアップデータ１３０１に対して変更されたページを、アプリケーションデータ１０９から抽出する（ステップＳ１５０２）。なお、アプリケーションデータ１０９が初めて変換される場合には、全てのページが変更されたページと判断し、全てのページを抽出する。
【００９０】
次に、プリンタドライバ１０８は、抽出したページを、印刷形式データ１３０２へ変換する（ステップＳ１５０３）。
次に、プリンタドライバ１０８は、印刷形式データ１３０２を所定のＨＤドライブへ格納する（ステップＳ１５０４）。
【００９１】
次に、プリンタドライバ１０８は、変換したデータの複雑度と、印刷装置１１０の処理能力とを調べる（ステップＳ１５０５）。変換したデータの複雑度は、印刷形式データ１３０２に含まれるオブジェクトの種類（文字、グラフィック、イメージ）と、各オブジェクトのサイズと、使用されている描画処理方法等から算出される。印刷装置１１０の処理能力は、ＣＰＵ２３の性能（クロック、キャッシュサイズ等）と、専用のアクセラレータ（例えば圧縮データの伸長Ｈ／Ｗ）の有無等から算出される。
そして、プリンタドライバ１０８は、印刷形式データ１３０２の格納先及び複雑度と、印刷装置１１０の処理能力とをスケジュール印刷管理プログラム１０５に通知する（ステップＳ１５０６）。
【００９２】
図１６は、印刷形式データ１３０２の更新が指示された際のスケジュール印刷管理プログラム１０５の処理の一例を説明するフローチャートである。この図１６の処理は、印刷形式データ１３０２を最初に作成したときから、実際の印刷処理が開始されるまでの間、継続して行われる。
スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９の変更があるまで待機する（ステップＳ１６０１）。例えば、アプリケーションデータ１０９のサイズや保存日付の違いから、アプリケーションデータ１０９の変更を検出することができる。
【００９３】
アプリケーションデータ１０９の変更があると、スケジュール印刷管理プログラム１０５は、印刷形式データ１３０２の更新が必要か否かを、スケジュールテーブル１３０３の内容に基づいて判定する（ステップＳ１６０２）。この判定の結果、印刷形式データ１３０２の更新が必要ない場合には、ステップＳ１６０１に戻る。一方、印刷形式データ１３０２の更新が必要な場合には、スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９を複写（コピー）してバックアップデータ１３０１を作成する（ステップＳ１６０３）。すなわちアプリケーションデータの複製を行う。このとき、前に作成されたバックアップデータ１３０１は消さない。なお、以下の説明では、前に作成されたバックアップデータ１３０１を、便宜上プレバックアップデータ１３０１と称する。
【００９４】
次に、スケジュール印刷管理プログラム１０５は、アプリケーションデータ１０９を、印刷装置１１０に対応した印刷形式のデータへ変換することを、プリンタドライバ１０８に指示する（ステップＳ１６０４）。プリンタドライバ１０８は、アプリケーションデータ１０９とプレバックアップデータ１３０１との差分のみを、例えばページ単位で印刷形式データ１３０２にする。
【００９５】
プリンタドライバ１０８は、印刷形式データ１３０２に変換する処理に要した時間と、印刷処理時間とを算出する。そして、プリンタドライバ１０８は、算出した結果と、印刷形式データ１３０２の格納先とをスケジュール印刷管理プログラム１０５に返す（ステップＳ１６０５）。
次に、スケジュール印刷管理プログラム１０５は、印刷処理時間から印刷開始時刻（又は印刷終了時刻）を算出し、その算出した結果を、印刷形式データ１３０２の格納先と共に、スケジュールテーブル１３０３に書き込む（ステップＳ１６０６）。
【００９６】
次に、スケジュール印刷管理プログラム１０５は、印刷開始時間通知ユーザインターフェース１２０２を、コンピュータ１００のディスプレイ１４に表示する（ステップＳ１６０７）。
次に、スケジュール印刷管理プログラム１０５は、プレバックアップデータ１３０１を削除し、ステップＳ１６０３で作成したバックアップデータ１３０１をスケジュールテーブル１３０３に書き込む（ステップＳ１６０８）。
【００９７】
図１７は、印刷処理開始時刻になったときに印刷装置１１０に印刷処理開始を指示する際のスケジュール印刷管理プログラム１０５の処理の一例を説明するフローチャートである。この図１７の処理は、アプリケーションデータ１０９の印刷開始時刻（又は印刷終了時刻）が、ユーザによって１つでも指定されている場合は常に動作する。
【００９８】
スケジュール印刷管理プログラム１０５は、スケジュールテーブル１３０３の印刷処理開始時刻と現在の時刻とを比較し、現在の時刻が印刷処理開始時刻の一定時間前になるまで待機する。現在の時刻が印刷処理開始時刻の一定時間前になると、スケジュール印刷管理プログラム１０５は、印刷開始通知インタフェース１２０３をコンピュータ１００のディスプレイ１４に表示する（ステップＳ１７０２）。これによって、印刷が開始されることがユーザに通知される。
【００９９】
次に、スケジュール印刷管理プログラム１０５は、例えば、印刷開始通知インタフェース１２０３をコンピュータ１００のディスプレイ１４に表示してから５分が経過するまで待機する（ステップＳ１７０３）。印刷開始通知インタフェース１２０３を表示してから５分が経過すると、ステップＳ１７０４に進む。そして、スケジュール印刷管理プログラム１０５は、印刷開始通知インタフェース１２０３に対するユーザの操作部１８の操作に基づいて、印刷開始通知インタフェース１２０３の延長時間の欄に入力があるか否かを判定する（ステップＳ１７０４）。すなわち、印刷開始時刻の延長要求があるか否かを判定する。
【０１００】
この判定の結果、延長要求がある場合、ステップＳ１７０５に進む。そして、スケジュール印刷管理プログラム１０５は、スケジュールテーブル１３０３に記憶されている印刷処理開始時刻を、印刷開始通知インタフェース１２０３の延長時間の欄に入力された内容に応じて延長する（ステップＳ１７０５）。そして、ステップＳ１７０１に戻る。一方、延長要求がない場合、スケジュール印刷管理プログラム１０５は、印刷装置１１０に対し、印刷処理の開始を指示する（ステップＳ１７０６）。そして、スケジュール印刷管理プログラム１０５は、印刷処理の終了が印刷装置１１０から通知されるまで待機する（ステップＳ１７０７）。
【０１０１】
そして、印刷処理の終了が印刷装置１１０から通知されると、スケジュール印刷管理プログラム１０５は、印刷形式データ１３０２と、バックアップデータ１３０１を削除する。更に、スケジュール印刷管理プログラム１０５は、印刷処理を行ったアプリケーションデータ１０９に関する記述を、スケジュールテーブル１３０３から削除する（ステップＳ１７０８）。
【０１０２】
ただし、印刷形式データ１３０２の削除に関してはユーザの設定に従う。スケジュール印刷管理プログラム１０５は、削除しなかった印刷形式データ１３０２を、別の管理モジュールに引き渡すことによって、印刷形式データ１３０２の再利用を可能にすることができる。この他、スケジュール印刷管理プログラム１０５が図示しない管理テーブルを保持し、この管理テーブルに印刷形式データ１３０２を格納するようにしても良い。このようにした場合、管理テーブルに格納した印刷形式データ１３０２を、その後にアプリケーションデータ１０９に対して設定された印刷開始時刻（又は印刷終了時刻）になったときに再利用するようにしても良い。
【０１０３】
以上のように本実施形態では、印刷開始時刻（又は印刷終了時刻）の指定がユーザによって行なわれたアプリケーションデータ１０９のみを印刷開始時刻前に印刷装置１１０に対応した印刷形式のデータ（印刷形式データ１３０２）に変換する。そして、変換された印刷形式データ１３０２を印刷装置１１０に印刷開始時刻前に格納し、印刷形式データ１３０２を印刷装置１１０に格納してから、印刷処理が開始する前までアプリケーションデータ１０９を監視する。アプリケーションデータ１０９の更新が行なわれた場合、変更前のアプリケーションデータ１０９と、変更後のアプリケーションデータ１０９との差分のみを、例えばページ単位で印刷形式データ１３０２に変換する。従って、印刷を行うことがユーザによって指定されたアプリケーションデータ１０９を、ユーザによって指定された印刷開始時刻より前に、印刷装置１１０に対応した印刷形式のデータ（印刷形式データ１３０２）に変換することができる。更に、印刷形式データ１３０２が生成された後、ユーザによって指定された印刷開始時刻より前に、アプリケーションデータ１０９の変更があった場合には、その変更内容を反映した印刷形式データ１３０２を生成することができる。従って、アプリケーションデータ１０９の印刷形式データ１３０２への変換処理を適切に実行した上で印刷処理を開始することができ、印刷処理を開始してから、実際に印刷物の印刷を終了させるまでの時間を従来よりも短縮することができる。
【０１０４】
また、アプリケーションデータ１０９のバックアップデータ１３０１を作成しておき、アプリケーションデータ１０９と、バックアップデータ１３０１とをページ単位で比較する。そして、バックアップデータ１３０１と異なるページについてのみアプリケーションデータ１０９を印刷形式データ１３０２に変換するようにした。さらに、アプリケーションデータ１０９の更新があった場合には、プレバックアップデータ１３０１との差分データのみを、印刷形式データ１３０２にするようにした。従って、印刷形式データ１３０２への変換処理を高速に行うことが可能になる。
【０１０５】
ところで、前述した第１の実施形態では、ユーザによる印刷指示によらなければ印刷処理を開始することができない。また、フォルダ２０１に記憶されているアプリケーションデータ１０４を一律に変換処理するので、印刷処理に用いられるデータであるか否かに関わらずアプリケーションデータ１０４の変換処理を実行してしまい、無駄な処理となる場合がある。更に、アプリケーションデータ１０４が更新されたときに、アプリケーションデータ１０４とＰＤＬデータ（印刷装置１１０に対応した印刷形式のデータ）とのオブジェクトごとの差分を取り、まだ生成されていないオブジェクトのＰＤＬデータを生成する。アプリケーションデータ１０４には無数のオブジェクトが含まれているので、このようにしてオブジェクト毎にＰＤＬデータを作成すると、ＰＤＬデータの更新を行うために非常に処理時間がかかる場合がある。
【０１０６】
これに対し本実施形態では、印刷を行うことがユーザによって指定されたアプリケーションデータ１０９を、ユーザによって指定された印刷開始時刻より前に、印刷装置１１０に対応した印刷形式のデータ（印刷形式データ１３０２）に変換する。更に、バックアップデータ１３０１と異なるページ、又はプレバックアップデータ１３０１との差分のみを印刷形式データ１３０２にする。従って、前述した第１の実施形態で起こり得る前述した問題点を解消することができる。
【０１０７】
なお、本実施形態では、スケジュール管理プログラム１０５がコンピュータ１００上で動作する場合を例に挙げて説明したが、スケジュール管理プログラム１０５が印刷装置１１０上で動作しても良い。このようにした場合であって、アプリケーションデータ１０９がコンピュータ１００上のＨＤドライブ１３に格納されている場合には、印刷装置１１０にコンピュータ１００上のＨＤドライブ１３をマウントする機能が必要となる。
【０１０８】
また、本実施形態では、アプリケーションデータ１０９が各ユーザのコンピュータ１００上で動作する場合を例に挙げて説明したが、アプリケーションデータ１０９が図１８に示すようなデータ管理サーバ１８００上に保存されるようにしても良い。このようにした場合、スケジュール管理プログラム１０５はデータ管理サーバ１８００上に置かれても良い。
【０１０９】
また、本実施形態では、アプリケーションデータ１０９の印刷開始時刻（又は印刷終了時刻）がスケジュール印刷指定ユーザインターフェース１２０１で指定された直後に、スケジュール印刷管理プログラム１０５が、印刷形式データ１３０２への変換を指示した。しかしながら、スケジュール印刷管理プログラム１０５が、印刷形式データ１３０２への変換を指示するタイミングは、アプリケーションデータ１０９の印刷開始時刻（又は印刷終了時刻）が指定された直後でなくても良い。すなわち、コンピュータ１００や印刷装置１１０の処理負荷の少ない時間に、スケジュール印刷管理プログラム１０５が、印刷形式データ１３０２への変換を指示しても良い。例えば、ユーザが印刷開始時刻（又は印刷終了時刻）を設定した直後は、ユーザがコンピュータ１００を使用している最中であるので、コンピュータ１００の処理負荷が重いので、このタイミングを避けて印刷形式データ１３０２への変換を指示することが好ましい。また、印刷処理が実際に実行されている時間は印刷装置１１０の処理負荷が重いので、このタイミングを避けて印刷形式データ１３０２への変換を指示することが好ましい。
【０１１０】
また、複数のアプリケーションデータ１０９の印刷スケジュールが重なってしまう場合がある。このような場合の対策として、予めスケジュールが重なることを許可しないようにすることができる。この他、後から設定されたアプリケーションデータ１０９の印刷を無効とすることもできる。印刷終了時刻が指定された場合、アプリケーションデータ１０９の印刷は、その印刷終了時刻に終わる必要はなく、その印刷終了時刻より前に終わっていれば良い。
【０１１１】
しかしながら、セキュリティのために他人に資料を見せたくない場合、ユーザは指定した印刷終了時刻に印刷処理が終わることを必須とする場合がある。このような場合の対策として、図１９に示すように、印刷終了時刻を設定するときにセキュリティレベルを設定できるようにしたスケジュールテーブル１９０１を用いるようにすることができる。例えば、セキュリティレベルが高いものはユーザが指定した印刷終了時刻に印刷処理を終了させ、セキュリティレベルが低いものはユーザが指定した印刷終了時刻より前に印刷処理を終了させる。
【０１１２】
図１９では、スケジュール１９０２、１９０３の印刷終了時刻が重なっている。この場合、セキュリティレベルが低いスケジュール１９０２は印刷処理終了時刻を早め、スケジュール１９０３はユーザが指定した印刷終了時刻に印刷処理が終了するようにする。なお、スケジュール１９０２の印刷処理終了時刻を遅くしてもよい。
【０１１３】
なお、本実施形態では、プリンタドライバ１０８が、印刷処理時間を算出するようにしたが、スケジュール印刷管理プログラム１０５が、印刷処理時間を算出するようにしても良い。このようにする場合、プリンタドライバ１０８は、アプリケーションデータ１０９の変換処理が終了すると、印刷処理時間の算出に必要な情報と、印刷形式データ１３０２の格納先とをスケジュール印刷管理プログラム１０５に送信すれば良い。
【０１１４】
また、本実施形態では、アプリケーションデータ１０９の変更があった場合には、その変更があったアプリケーションデータ１０９と、プレバックアップデータ１３０１との差分を印刷形式データ１３０２に変換するようにした。しかしながら、必ずしもアプリケーションデータ１０９と、プレバックアップデータ１３０１との差分を印刷形式データ１３０２に変換する必要はなく、アプリケーションデータ１０９全体を印刷形式データ１３０２に変換するようにしても良い。
【０１１５】
また、第１の実施形態と同様に、アプリケーションデータ１０９をコンピュータ１００のＨＤドライブ１３内の特定領域として扱われるフォルダに記憶するようにしても良い。そして、そのアプリケーションデータ１０９を変換して生成された印刷形式データ１３０２を印刷装置１１０のＨＤドライブ２５内の記憶領域であって、前記フォルダに対応する記憶領域に記憶するようにしても良い。
【０１１６】
（本発明の他の実施形態）
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【０１１７】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１１８】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【０１１９】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるＣＰＵが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【０１２０】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【０１２１】
【図１】本発明の第１の実施形態を示し、画像形成システムのハードウェア構成の一例を示す図である。
【図２】本発明の第１の実施形態を示し、印刷装置に設けられたプリンタエンジンの構成の一例を示した図である。
【図３】本発明の第１の実施形態を示し、画像形成システムの主要部分の構成の一例を示す図である。
【図４】本発明の第１の実施形態を示し、コンピュータに設けられたＨＤドライブと、印刷装置に設けられたＨＤドライブとの対応関係の一例を概念的に示した図である。
【図５】本発明の第１の実施形態を示し、フォルダに対応する記憶領域を印刷装置のＨＤドライブに形成する際の画像形成システムにおける動作の一例を説明するフローチャートである。
【図６】本発明の第１の実施形態を示し、アプリケーションデータが新規に作成された際の画像形成システムの動作の一例を説明するフローチャートである。
【図７】本発明の第１の実施形態を示し、アプリケーションデータが更新された際の画像形成システムの動作の一例を説明するフローチャートである。
【図８】本発明の第１の実施形態を示し、印刷装置に印刷指示を行う際の画像形成システムの動作の一例を説明するフローチャートである。
【図９】本発明の第１の実施形態を示し、印刷を実行する際の画像形成システムの動作の一例を説明するフローチャートである。
【図１０】本発明の第１の実施形態を示し、アプリケーションデータとＰＤＬデータとの関連を示す関連情報を示す図である。
【図１１】本発明の第２の実施形態を示し、画像形成システムの主要部分の構成の一例を示す図である。
【図１２】本発明の第２の実施形態を示し、印刷開始時刻（又印刷終了時刻）をユーザが設定するためのＧＵＩの一例と、その設定が行われた後に必要な情報をユーザに伝えるためのＧＵＩの一例とを示した図である。
【図１３】本発明の第２の実施形態を示し、印刷スケジュールを格納するスケジュールテーブルと、バックアップデータとを作成するためのコンピュータの主な構成の一例を示す図である。
【図１４】本発明の第２の実施形態を示し、ユーザがアプリケーションデータの印刷開始時刻（又は印刷終了時刻）の設定を行った際のスケジュール印刷管理プログラムの処理の一例を説明するフローチャートである。
【図１５】本発明の第２の実施形態を示し、アプリケーションデータを、印刷形式データへ変換することが、スケジュール印刷管理プログラムから要求された際のプリンタドライバの処理の一例を説明するフローチャートである。
【図１６】本発明の第２の実施形態を示し、印刷形式データの更新が指示された際のスケジュール印刷管理プログラムの処理の一例を説明するフローチャートである。
【図１７】本発明の第２の実施形態を示し、印刷処理開始時間になったときに印刷装置に印刷処理開始を指示する際のスケジュール印刷管理プログラムの処理の一例を説明するフローチャートである。
【図１８】本発明の第２の実施形態を示し、画像形成システムの他の構成例を示す図である。
【図１９】本発明の第２の実施形態を示し、スケジュールテーブルの他の構成例を示す図である。
【符号の説明】
【０１２２】
１３、２５  ＨＤドライブ
１８  操作部
２８  プリンタエンジン
１００  コンピュータ
１０３、１０８  プリンタドライバ
１０４、１０９  アプリケーションデータ
１０５  スケジュール印刷管理プログラム
１０７  アプリケーションプログラム
１１０  印刷装置
１１２  コントローラソフトウェア
２０１  フォルダ
２０２  記憶領域
１２０１  スケジュール印刷指定ユーザインターフェース
１２０２  印刷開始時間通知ユーザインターフェース
１２０３  印刷開始通知ユーザインターフェース
１２０４  印刷設定指定ユーザインターフェース
１３０１  バックアップデータ
１３０２  印刷形式データ
１３０３、１９０１  スケジュールテーブル
【図１】
2007149056.tif 000003
【図２】
2007149056.tif 000004
【図３】
2007149056.tif 000005
【図４】
2007149056.tif 000006
【図５】
2007149056.tif 000007
【図６】
2007149056.tif 000008
【図７】
2007149056.tif 000009
【図８】
2007149056.tif 000010
【図９】
2007149056.tif 000011
【図１０】
2007149056.tif 000012
【図１１】
2007149056.tif 000013
【図１２】
2007149056.tif 000014
【図１３】
2007149056.tif 000015
【図１４】
2007149056.tif 000016
【図１５】
2007149056.tif 000017
【図１６】
2007149056.tif 000018
【図１７】
2007149056.tif 000019
【図１８】
2007149056.tif 000020
【図１９】
2007149056.tif 000021