(57)【特許請求の範囲】
【請求項１】
プレゼンテーションソフトを用いて作成されたドキュメントの描画命令が、１ページ目の描画命令か否かを判断し、
１ページ目の描画命令と判断すると、
前記１ページ目の描画命令をキャッシュし、
前記１ページ目の描画命令に基づき１ページ目の印刷データを生成し、前記１ページ目の印刷データをキャッシュし、
２ページ目以降の描画命令と判断すると、
前記２ページ目以降の描画命令と、前記キャッシュされた１ページ目の描画命令との、少なくとも一部が共通するか否かを判断し、
前記２ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、前記キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する
制御部及び
前記制御部が生成した印刷データを、画像形成装置に送信する通信インターフェース
として情報処理装置のコンピューターを機能させ、
前記制御部は、さらに、
前記描画命令が１ページ目の描画命令か、２ページ目の描画命令か、又は３ページ目以降の描画命令かを、ページごとに判断し、
２ページ目の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、
３ページ目以降の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分の始まりの描画命令を前記３ページ目以降から検出すると、
前記３ページ目以降の検出された描画命令から前記共通部分のデータサイズ分後の描画命令と前記共通部分の終わりの描画命令とが共通するか否かを判断することにより、前記３ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かを判断する
プログラム。
【請求項２】
プレゼンテーションソフトを用いて作成されたドキュメントの描画命令が、１ページ目の描画命令か否かを判断し、
１ページ目の描画命令と判断すると、
前記１ページ目の描画命令をキャッシュし、
前記１ページ目の描画命令に基づき１ページ目の印刷データを生成し、前記１ページ目の印刷データをキャッシュし、
２ページ目以降の描画命令と判断すると、
前記２ページ目以降の描画命令と、前記キャッシュされた１ページ目の描画命令との、少なくとも一部が共通するか否かを判断し、
前記２ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、前記キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する
制御部及び
前記制御部が生成した印刷データを、画像形成装置に送信する通信インターフェース
として情報処理装置のコンピューターを機能させ、
前記制御部は、さらに、
前記描画命令が１ページ目の描画命令か、２ページ目の描画命令か、又は３ページ目以降の描画命令かを、ページごとに判断し、
２ページ目の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、
３ページ目以降の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分の始まりの描画命令を前記３ページ目以降から検出すると、
その後、前記３ページ目以降の描画命令と、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分とが共通するか否かを断続的に判断することにより、前記３ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かを判断する
プログラム。
【請求項３】
請求項１又は２に記載のプログラムであって、
前記制御部は、前記２ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、共通部分をフォーム又はマクロのコマンドで記述することで、前記キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する
プログラム。
【請求項４】
請求項１乃至３のいずれか一項に記載のプログラムであって、
前記制御部は、さらに、取得した描画命令に関するドキュメントが、プレゼンテーションソフトを用いて作成されたか否かを判別する
プログラム。
【請求項５】
プレゼンテーションソフトを用いて作成されたドキュメントの描画命令が、１ページ目の描画命令か否かを判断し、
１ページ目の描画命令と判断すると、
前記１ページ目の描画命令をキャッシュし、
前記１ページ目の描画命令に基づき１ページ目の印刷データを生成し、前記１ページ目の印刷データをキャッシュし、
２ページ目以降の描画命令と判断すると、
前記２ページ目以降の描画命令と、前記キャッシュされた１ページ目の描画命令との、少なくとも一部が共通するか否かを判断し、
前記２ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、前記キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する
制御部と、
前記制御部が生成した印刷データを、画像形成装置に送信する通信インターフェースと
を備え、
前記制御部は、さらに、
前記描画命令が１ページ目の描画命令か、２ページ目の描画命令か、又は３ページ目以降の描画命令かを、ページごとに判断し、
２ページ目の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、
３ページ目以降の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分の始まりの描画命令を前記３ページ目以降から検出すると、
前記３ページ目以降の検出された描画命令から前記共通部分のデータサイズ分後の描画命令と前記共通部分の終わりの描画命令とが共通するか否かを判断することにより、前記３ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かを判断する
情報処理装置。
【請求項６】
プレゼンテーションソフトを用いて作成されたドキュメントの描画命令が、１ページ目の描画命令か否かを判断し、
１ページ目の描画命令と判断すると、
前記１ページ目の描画命令をキャッシュし、
前記１ページ目の描画命令に基づき１ページ目の印刷データを生成し、前記１ページ目の印刷データをキャッシュし、
２ページ目以降の描画命令と判断すると、
前記２ページ目以降の描画命令と、前記キャッシュされた１ページ目の描画命令との、少なくとも一部が共通するか否かを判断し、
前記２ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、前記キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する
制御部と、
前記制御部が生成した印刷データを、画像形成装置に送信する通信インターフェースと
を備え、
前記制御部は、さらに、
前記描画命令が１ページ目の描画命令か、２ページ目の描画命令か、又は３ページ目以降の描画命令かを、ページごとに判断し、
２ページ目の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、
３ページ目以降の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分の始まりの描画命令を前記３ページ目以降から検出すると、
その後、前記３ページ目以降の描画命令と、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分とが共通するか否かを断続的に判断することにより、前記３ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かを判断する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレゼンテーションソフトを用いて作成されたドキュメントの画像を画像形成装置に形成させることが可能な情報処理装置及びそのプログラムに関する。
【背景技術】
【０００２】
特許文献１には、印刷ジョブのページを印刷する装置が記載される。印刷装置は、印刷ジョブ内のページ・データからの静的ページ要素と可変ページ要素を識別し、静的ページ要素を静的ページ・レイアウト・オブジェクトに変換し、静的ページ・レイアウト・オブジェクトを可変印刷データと合成する（請求項１参照）。
【０００３】
特許文献２によれば、ホストコンピュータは、先の印刷要求の画像データをキャッシュデータとして格納して、次の印刷要求に応じ、格納キャッシュデータ中に同文書の有無を確認する。該当ありの場合、ホストコンピュータは、印刷データとキャッシュデータとの変更点を差分検出手段で確認する。ホストコンピュータは、先の印刷データキャッシュ時に蓄積の画像データ作成コマンドと、印刷要求の印刷データから変換の画像データ作成コマンドを比較し、差分（変更点）を検出する。変更ありの場合、ホストコンピュータは、画像データ作成コマンドから差分画像データ（ＰＤＬデータ）を作成し、キャッシュデータの該当部分と置換し、変更点を置換した画像データを印刷装置へ送信する。変更なしの場合、ホストコンピュータは、該当キャッシュデータを印刷装置へ送信する（要約書参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１９９１０５号公報
【特許文献２】特開２００１−３２５０８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術によれば、静的ページ要素と可変ページ要素とを識別する過程や、静的ページ要素を静的ページ・レイアウト・オブジェクトに変換する過程の処理に時間がかかるおそれがある。
【０００６】
特許文献２の技術によれば、通常のアプリケーションプログラムにより作成された文書において、印刷出力された後の次の印刷要求による印刷は、先に印刷出力された印刷データの修正を行って印刷出力することから、画像データ全体から見て変更点は少ない（００２２段落参照）ことを利用している。しかしながら、特許文献２の技術によれば、１回の印刷要求に対する処理の高速化等を図ることは想定されていない。
【０００７】
以上のような事情に鑑み、本発明の目的は、複数のページに互いに共通な部分が含まれるドキュメントの画像形成速度を向上することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一形態に係るプログラムは、
プレゼンテーションソフトを用いて作成されたドキュメントの描画命令が、１ページ目の描画命令か否かを判断し、
１ページ目の描画命令と判断すると、
前記１ページ目の描画命令をキャッシュし、
前記１ページ目の描画命令に基づき１ページ目の印刷データを生成し、前記１ページ目の印刷データをキャッシュし、
２ページ目以降の描画命令と判断すると、
前記２ページ目以降の描画命令と、前記キャッシュされた１ページ目の描画命令との、少なくとも一部が共通するか否かを判断し、
前記２ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、前記キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する
制御部及び
前記制御部が生成した印刷データを、画像形成装置に送信する通信インターフェース
として情報処理装置のコンピューターを機能させる。
【０００９】
本形態によれば、２ページ目以降（１ページ目以外）では、キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かを判断し、少なくとも一部が共通する場合、１ページ目の印刷データを使用して、２ページ目以降の印刷データを生成する。これにより、１ページ目との共通部分（具体的には、背景等）の画像データを、２ページ目以降、毎回個別に作成する必要が無くなる。これにより、本形態によれば、通常の印刷データ生成方法（たとえ全ページの背景画像が共通であるとしても、それぞれのページの描画命令に従って、全ページの印刷データを毎回個別に作成する）に比べて、印刷データの生成処理の高速化を図ることが出来る。すなわち、１ページ目の印刷データのキャッシュを利用して、２ページ目以降の印刷データの生成処理を行うことにより、２ページ目以降の印刷データの生成処理にかかる時間を省くことが出来るので、印刷データの生成処理速度が向上する。
【００１０】
前記制御部は、前記２ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、共通部分をフォーム又はマクロのコマンドで記述することで、前記キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する。
【００１１】
これにより、画像形成装置は、フォームやマクロを呼び出すことができるので、画像形成装置による画像形成速度が向上する。
【００１２】
前記制御部は、さらに、
前記描画命令が１ページ目の描画命令か、２ページ目の描画命令か、又は３ページ目以降の描画命令かを判断し、
２ページ目の描画命令のとき、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、
３ページ目の描画命令のとき、前記３ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かの判断を、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かの判断よりも、簡略化した方法で行う。
【００１３】
本形態によれば、３ページ目以降、少なくとも一部が共通するか否かの判断を簡略化することで、３ページ目以降に含まれる共通部分（背景）を比較的正確かつ高速に特定することが可能となる。
【００１４】
前記制御部は、３ページ目の描画命令のとき、前記３ページ目の描画命令の少なくとも一部と、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分の少なくとも一部とが共通するか否かを判断することにより、前記３ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かを判断する。
【００１５】
本形態によれば、２ページ目の描画命令とキャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断した時点で、２ページ目と１ページ目との共通部分（背景）を特定できている。従って、３ページ目以降は、上記共通部分（背景）のうちの少なくとも一部と共通するか否かの判断を行えば、３ページ目以降に含まれる共通部分（背景）を比較的正確かつ高速に特定することが可能となる。
【００１６】
具体的には、
前記制御部は、３ページ目の描画命令のとき、前記３ページ目の描画命令の始まり及び終わりと、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分の始まり及び終わりとが共通するか否かを判断することにより、前記３ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かを判断する。
【００１７】
あるいは、
前記制御部は、３ページ目の描画命令のとき、前記３ページ目の描画命令と、前記２ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との共通部分とが共通するか否かを断続的に判断することにより、前記３ページ目の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通するか否かを判断する。
【００１８】
前記制御部は、さらに、取得した描画命令に関するドキュメントが、プレゼンテーションソフトを用いて作成されたか否かを判別する。
【００１９】
本形態によれば、ドキュメントデータを作成したソフトに応じて、適切な印刷データの生成方法を選択することが出来る。
【００２０】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、
プレゼンテーションソフトを用いて作成されたドキュメントの描画命令が、１ページ目の描画命令か否かを判断し、
１ページ目の描画命令と判断すると、
前記１ページ目の描画命令をキャッシュし、
前記１ページ目の描画命令に基づき１ページ目の印刷データを生成し、前記１ページ目の印刷データをキャッシュし、
２ページ目以降の描画命令と判断すると、
前記２ページ目以降の描画命令と、前記キャッシュされた１ページ目の描画命令との、少なくとも一部が共通するか否かを判断し、
前記２ページ目以降の描画命令と前記キャッシュされた１ページ目の描画命令との少なくとも一部が共通すると判断すると、前記キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する
制御部と、
前記制御部が生成した印刷データを、画像形成装置に送信する通信インターフェースと
を備える。
【発明の効果】
【００２１】
本発明によれば、複数のページに互いに共通な部分が含まれるドキュメントの画像形成速度が向上される。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る画像形成システムを示す模式図である。
【図２】情報処理装置のハードウェア構成を示すブロック図である。
【図３】画像形成装置のハードウェア構成を示すブロック図である。
【図４】情報処理装置の機能的構成を示すブロック図である。
【図５】情報処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００２４】
（１．画像形成システムの概要）
図１は、本発明の一実施形態に係る画像形成システムを示す模式図である。
画像形成システム１は、情報処理装置１０と、画像形成装置２０とを有する。
【００２５】
情報処理装置１０は、典型的には、ＰＣ（Personal Computer）であり、以下、「ＰＣ１０」と記載する。ＰＣ１０は、プレゼンテーションソフト（例えば、POWERPOINT（登録商標））等のソフトウェアを用いてプリンタブルデータを作成する。ＰＣ１０は、作成したプリンタブルデータを、ネットワークＮを通じて、画像形成装置２０に送信する。すなわち、情報処理装置１０は、画像形成装置２０との関係において、ホストコンピュータの役割を持つ。ネットワークＮは、例えば、ＬＡＮ（Local Area Network）である。
【００２６】
画像形成装置２０は、典型的には、ＭＦＰ（Multifunction Peripheral）であり、以下、「ＭＦＰ２０」と記載する。ＭＦＰ２０は、ネットワークＮを通じて、ＰＣ１０から、プリンタブルデータを受信する。ＭＦＰ２０は、受信したプリンタブルデータの画像形成処理を行う。
【００２７】
（２．情報処理装置のハードウェア構成）
図２は、情報処理装置のハードウェア構成を示すブロック図である。
ＰＣ１０は、制御部１１と、制御部１１とバス１７を介して接続された表示部１２、通信インターフェース１０５、操作部１５及び記憶部１６とを有する。
【００２８】
制御部１１は、ＣＰＵ（Central Processing Unit）等を含む。制御部１１は、ＲＡＭ（Random Access Memory）にロードされたプログラムを実行する。
【００２９】
記憶部１６は、ＲＯＭ（Read Only Memory）と、ＲＡＭと、ＨＤＤ（Hard Disk Drive）などの大容量の記憶装置とを含む。ＲＯＭは、制御部１１が実行するプログラムやデータなどを固定的に格納する。ＲＡＭには、ＲＯＭに格納されたプログラムがロードされる。大容量の記憶装置は、データベースが格納される。
【００３０】
表示部１２は、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electroluminescence）ディスプレイ等を含む。表示部１２は、制御部１１から受け取った情報に基づいて演算処理を行い、生成した画像信号を画面に表示する。典型的には、表示部１２は外付けの表示装置である。
【００３１】
操作部１５は、キーボード、マウス及び各種スイッチ等を含む。操作部１５は、ユーザーからの操作を検出して制御部１１に出力する。
【００３２】
通信インターフェース１０５は、ネットワークＮに接続するためのインターフェースである。
【００３３】
（３．画像形成装置のハードウェア構成）
図３は、画像形成装置のハードウェア構成を示すブロック図である。
ＭＦＰ２０は、制御部２１を備える。制御部２１は、ＣＰＵ、ＲＡＭ、ＲＯＭ及び専用のハードウェア回路等から構成され、ＭＦＰ２０の全体的な動作制御を司る。
【００３４】
制御部２１は、画像読取部２２、画像処理部２４、画像メモリー２５、出力部２６、操作部２７、通信インターフェース２９、記憶部２８等と接続されている。制御部２１は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。
【００３５】
制御部２１は、ユーザーから、操作部２７またはネッワーク接続されたＰＣ１０等を通じて入力されるジョブの実行指示に従って、スキャナー機能、印刷機能、コピー機能、およびファクシミリ送受信機能などの各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。
【００３６】
画像読取部２２は、原稿から画像を読み取るスキャナーである。
【００３７】
画像処理部２４は、画像読取部２２で読み取られた画像の画像データを必要に応じて画像処理する画像処理プロセッサーである。例えば、画像処理部２４は、画像読取部２２により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
【００３８】
画像メモリー２５は、画像読取部２２による読み取りで得られた原稿画像のデータを一時的に記憶したり、通信インターフェース１０１を介して受信された印刷対象となるデータを一時的に記憶したりする領域を有する。
【００３９】
出力部２６は、画像読取部２２で読み取られた画像データ等の画像形成を行って出力する。
【００４０】
操作部２７は、ＭＦＰ２０が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたＬＣＤ（Liquid Crystal Display）等の表示部２７ａを備えている。
【００４１】
通信インターフェース２９は、ネットワークＮに接続するためのインターフェースである。
【００４２】
記憶部２８は、画像読取部２２によって読み取られた原稿画像等を記憶する領域を有する、ＨＤＤなどの大容量の記憶装置である。
【００４３】
（４．情報処理装置の機能的構成）
図４は、情報処理装置の機能的構成を示すブロック図である。
ＰＣ１０は、アプリケーション１０１、グラフィックスライブラリ１０２、プリンタードライバー１０３（制御部）、スプーラ１０４、通信インターフェース１０５、キャッシュ制御部１０６及びキャッシュ保存部１０７を有する。
【００４４】
アプリケーション１０１は、ＰＣ１０上で実行される、プレゼンテーションソフト、ワードプロセッサソフト、スプレッドシートソフト等のアプリケーションプログラムである。
【００４５】
グラフィックスライブラリ１０２は、ＰＣ１０上のＯＳ（Operation System）がサポートしている、グラフィックス関係のモジュールである。
【００４６】
プリンタードライバー１０３は、グラフィックスライブラリ１０２から取得した第１描画命令を、ＭＦＰ２０用の第２描画命令に変換して印刷データを作成する。なお、本実施形態では制御部１１がプリンタードライバー（プログラム）を実行することにより、形成される機能ブロックを「プリンタードライバー１０３」として記述している。
【００４７】
スプーラ１０４は、プリンタードライバー１０３が生成した印刷データを、一時的に記憶部１６のＨＤＤ等に蓄え、順次ＭＦＰ２０に送信する。なお、制御部１１は、印刷データをスプールするための実行ファイルを実行することにより、スプーラ１０４として動作する。
【００４８】
通信インターフェース１０５は、ＭＦＰ２０や他のホストコンピュータ（図示せず）等との通信を行う。
【００４９】
キャッシュ制御部１０６は、プリンタードライバー１０３がグラフィックスライブラリ１０２から取得した第１描画命令（変換前のアプリケーションのデータ）や、プリンタードライバー１０３が作成したＭＦＰ２０用の第２描画命令（変換後の印刷データ）のキャッシュの制御を行う。
【００５０】
キャッシュ保存部１０７は、プリンタードライバー１０３がグラフィックスライブラリ１０２から取得した第１描画命令（変換前のアプリケーションのデータ）や、プリンタードライバー１０３が作成したＭＦＰ２０用の第２描画命令（変換後の印刷データ）のキャッシュを保存する。
【００５１】
制御部２１は、プログラムを実行することにより、キャッシュ制御部１０６及びキャッシュ保存部１０７として動作する。
【００５２】
（５．情報処理装置の動作）
図５は、情報処理装置の動作を示すフローチャートである。
（ステップＳ１０１）
アプリケーション１０１は、ユーザーから操作部１５に対する特定の操作を、画像形成命令として検出する。
【００５３】
（ステップＳ１０２）
アプリケーション１０１は、画像形成命令を検出すると、グラフィックスライブラリ１０２を利用して、画像形成処理を開始する。グラフィックスライブラリ１０２は、第１描画命令をプリンタードライバー１０３に供給する。
【００５４】
（ステップＳ１０３）
プリンタードライバー１０３は、グラフィックスライブラリ１０２から第１描画命令を取得する。プリンタードライバー１０３は、グラフィックスライブラリ１０２から取得した第１描画命令を参照し、この第１描画命令が、プレゼンテーションソフトを使用して作成されたドキュメントの１ページ目に関するものであるか否かを判断する。
【００５５】
なお、プリンタードライバー１０３は、プレゼンテーションソフトを使用して作成されたドキュメントであるかどうかを、例えば、以下の各例（１）、（２）のうち何れか一方の方法で判断すればよい。
【００５６】
（１）プリンタードライバー１０３は、ダイナミックリンクライブラリの一種で、アプリケーション１０１のプロセスに連結されている。プリンタードライバー１０３は、そのプロセスの情報に基づき、アプリケーションソフトウェア名を取得する。
【００５７】
（２）アプリケーション１０１は、画像形成処理を開始すると、その画像形成ジョブの情報（アプリケーションソフトウェア名を含む）を、プリンタードライバー１０３に通知する。プリンタードライバー１０３は、取得した印刷ジョブの情報から、アプリケーションソフトウェア名を読み出す。
【００５８】
一方、記憶部１６（図２）には、アプリケーションソフトウェアを一意に示す識別情報（アプリケーションソフトウェア名）と、そのアプリケーションソフトウェアの種別（プレゼンテーションソフト、表計算ソフト、ワープロソフト等）とが、テーブル（図示せず）として記憶されている。プリンタードライバー１０３は、このテーブルを参照し、取得したアプリケーションソフトウェア名により識別されるアプリケーションソフトウェアの種別を判別する。
【００５９】
（ステップＳ１０４）
フローの説明に戻る。プリンタードライバー１０３は、第１描画命令が１ページ目に関すると判断すると（ステップＳ１０３、ＹＥＳ）、グラフィックスライブラリ１０２から取得した第１描画命令をＭＦＰ２０用の第２描画命令に変換することにより、印刷データを作成する。その際、プリンタードライバー１０３は、キャッシュ制御部１０６を介して、キャッシュ保存部１０７に、変換前のデータ（グラフィックスライブラリ１０２からの第１描画命令。即ち、１ページ目の描画命令）と、変換後のデータ（ＭＦＰ２０用の印刷データ。即ち、１ページ目の印刷データ）とを、特定のキャッシュＩＤを紐づけて保存する。言い換えれば、１ページ目に関して、キャッシュＩＤと、第１描画命令と、印刷データとが、互いに紐づけられてキャッシュ保存部１０７に保存される。
【００６０】
（ステップＳ１０８）
一方、プリンタードライバー１０３は、第１描画命令が２ページ目以降（本例では、２ページ目とする）に関すると判断する（ステップＳ１０３、ＮＯ）。この場合、プリンタードライバー１０３は、グラフィックスライブラリ１０２から取得した第１描画命令（即ち、２ページ目の第１描画命令）の少なくとも一部がキャッシュ保存部１０７にキャッシュされているか否かを、キャッシュ制御部１０６に問い合わせる（第１描画命令のキャッシュのヒットチェックを行う）。
【００６１】
なお、２ページ目の第１描画命令の少なくとも一部がキャッシュ保存部１０７にキャッシュされている（第１描画命令のキャッシュがヒットする）場合、本例で言えば、キャッシュ制御部１０６は、プリンタードライバー１０３から問い合わせを受けた２ページ目の第１描画命令が、キャッシュ保存部１０７にキャッシュされている１ページ目の第１描画命令と、少なくとも一部が共通すると判断することができる。
【００６２】
キャッシュ制御部１０６は、プリンタードライバー１０３から問い合わせを受けた２ページ目の第１描画命令を、キャッシュ保存部１０７に保存されている１ページ目の描画命令のキャッシュと照合する。キャッシュ制御部１０６は、照合結果をプリンタードライバー１０３に供給する。照合結果の供給は、具体的には、以下のように行う。
【００６３】
２ページ目の第１描画命令の少なくとも一部がキャッシュ保存部１０７にキャッシュされている（第１描画命令のキャッシュがヒットした）場合、キャッシュ制御部１０６は、照合結果として、ヒットしたキャッシュに紐付けられたキャッシュＩＤを、プリンタードライバー１０３に供給する（ステップＳ１０８、ＹＥＳ）。キャッシュ制御部１０６は、キャッシュ保存部１０７に保存されている、１ページ目と２ページ目との第１描画命令の非共通部分（典型的には、背景以外）に対応するキャッシュを解放する（すなわち、問い合わせを受けた２ページ目と共通しない第１描画命令のキャッシュＩＤに対応するキャッシュ（第１描画命令と印刷データ）をキャッシュ保存部１０７から消去する）。その結果、キャッシュ保存部１０７には、１ページ目の印刷データと２ページ目の印刷データとの共通部分（典型的には、背景）が残る。
【００６４】
２ページ目の第１描画命令の少なくとも一部がキャッシュ保存部１０７にキャッシュされていない（第１描画命令のキャッシュがヒットしなかった）場合、キャッシュ制御部１０６は、照合結果として、例えば「キャッシュ無し」との通知を、プリンタードライバー１０３に供給する（ステップＳ１０８、ＮＯ）。キャッシュ制御部１０９は、第１描画命令のキャッシュがヒットしなかった場合、キャッシュ保存部１０７に保存されている、１ページ目の印刷データのキャッシュを全て解放する（すなわち、１ページ目の第１描画命令と印刷データを全て、キャッシュ保存部１０７から消去する）。
【００６５】
（ステップＳ１０９）
プリンタードライバー１０３は、キャッシュ制御部１０６からキャッシュＩＤを取得すると、２ページ目の第１描画命令と、キャッシュ保存部１０７にキャッシュされている１ページ目の第１描画命令との、少なくとも一部が共通すると判断する。その場合、プリンタードライバー１０３は、このキャッシュＩＤが紐づけられた印刷データ（即ち、１ページ目の印刷データと２ページ目の印刷データとの共通部分（典型的には、背景））を、キャッシュ制御部１０６を介してキャッシュ保存部１０７から取り出す。
【００６６】
さらに、プリンタードライバー１０３は、グラフィックスライブラリ１０２から取得した第１描画命令に従って、印刷データを作成する。なお、ここでプリンタードライバー１０３がキャッシュＩＤを用いずに新たに作成する印刷データは、１ページ目の第１描画命令と２ページ目の第１描画命令との非共通部分（典型的には、背景以外）に関する印刷データである。
【００６７】
要するに、プリンタードライバー１０３は、１ページ目との共通部分（典型的には、背景）は、キャッシュされている１ページ目の印刷データをそのまま使用し、非共通部分のみ、印刷データを新たに生成し、共通部分の印刷データと非共通部分の印刷データとを合成することで、２ページ目の印刷データを生成する。
【００６８】
（ステップＳ１１０）
一方、プリンタードライバー１０３は、キャッシュ制御部１０６から「キャッシュ無し」との通知を取得すると、２ページ目の描画処理命令の全てが、キャッシュ保存部１０７にキャッシュされている１ページ目の描画処理命令のいずれとも共通しないと判断する。その場合、グラフィックスライブラリ１０２からの第１描画命令をＭＦＰ２０用の第２描画命令に変換して、印刷データを作成する。すなわち、プリンタードライバー１０３は、キャッシュを使用せずに、印刷データを作成する。
【００６９】
（ステップＳ１０５）
プリンタードライバー１０３は、作成（ステップＳ１０４、Ｓ１０９又はＳ１１０）した印刷データを、スプーラ１０４に蓄積する。
【００７０】
（ステップＳ１０６）
プリンタードライバー１０３は、印刷データを全て処理したか否かを判断する。プリンタードライバー１０３は、印刷データを全て処理したかと判断すると（ステップＳ１０６、ＹＥＳ）、その旨をスプーラ１０４に通知する。
【００７１】
（ステップＳ１０７）
スプーラ１０４は、プリンタードライバー１０３から、印刷データを全て処理したとの通知を取得すると（ステップＳ１０６、ＹＥＳ）、作成済みの印刷データを、通信インターフェース１０５を介して、順次ＭＦＰ２０に送信する。
【００７２】
（６．まとめ）
プレゼンテーションソフト（例えば、POWERPOINT（登録商標））を用いて作成されたドキュメントにおいて、複数のページのドキュメント同士は、それぞれ、少なくとも一部に共通部分を有していることが一般的である。具体的には、複数のページにおいて、背景や一部の部品は全ページにおいて共通であり、テキスト等はページ毎に異なることが一般的である。
【００７３】
本実施形態によれば、プリンタードライバー１０３は、１ページ目の第１描画命令のとき（ステップＳ１０３、ＹＥＳ）、１ページ目の第１描画命令をキャッシュし、１ページ目の第１描画命令に基づき１ページ目の印刷データを生成し、１ページ目の印刷データをキャッシュし（ステップＳ１０４）、２ページ目以降の第１描画命令のとき（ステップＳ１０３、ＮＯ）、２ページ目以降の第１描画命令と、キャッシュされた１ページ目の第１描画命令との、少なくとも一部が共通するか否かを判断し（ステップＳ１０８）、少なくとも一部が共通すると判断すると（ステップＳ１０８、ＹＥＳ）、キャッシュされた１ページ目の印刷データを用いて、２ページ目以降の印刷データを生成する（ステップＳ１０９）。
【００７４】
要するに、２ページ目以降（１ページ目以外）では、１ページ目に対して第１描画命令のキャッシュのヒットチェックを行い、第１描画命令のキャッシュがヒットした場合、１ページ目の印刷データを使用して、２ページ目以降の印刷データを生成する。これにより、１ページ目との共通部分（具体的には、背景等）の印刷データを、２ページ目以降、毎回個別に作成する必要が無くなる。これにより、本実施形態によれば、通常の画像形成方法（たとえ全ページの背景画像が共通であるとしても、それぞれのページの第１描画命令に従って、全ページの印刷データを個別に作成する）に比べて、印刷データの生成処理の高速化を図ることが出来る。すなわち、１ページ目の印刷データのキャッシュを利用して、２ページ目以降の印刷データの生成処理を行うことにより、２ページ目以降の印刷データの生成処理にかかる時間を省くことが出来るので、印刷データの生成処理速度が向上する。
【００７５】
（７．変形例）
ステップＳ１０９において、プリンタードライバー１０３は、変換後のＰＤＬ（Page Description Language）の機能を利用して、フォームやマクロのコマンドを追加してもよい。すなわち、プリンタードライバー１０３は、２ページ目の第１描画命令とキャッシュされた１ページ目の第１描画命令との少なくとも一部が共通すると判断すると、共通部分に対応する印刷データをフォーム又はマクロのコマンドで記述する。そして、プリンタードライバー１０３は、フォームやマクロのコマンドを追加したことを、キャッシュ制御部１０６に通知する。キャッシュ制御部１０６は、通知を受けると、フォームやマクロのコマンドを用いて、キャッシュを適切に更新する。これにより、ＭＦＰ２０は、そのフォームやマクロを呼び出すことができるので、ＭＦＰ２０による画像形成速度が向上する。
【００７６】
上記実施形態では、１ページ目以外（２ページ目以降）の第１描画命令を取得した場合の処理については、それぞれ区別をしなかった。言い換えれば、２ページ目の第１描画命令の処理と、３ページ目以降の第１描画命令の処理とを、区別しなかった。これらを区別しても良い。具体的には、以下のとおりである。
【００７７】
プリンタードライバー１０３は、第１描画命令が２ページ目のとき、２ページ目の第１描画命令とキャッシュされた１ページ目の第１描画命令との少なくとも一部が共通する（第１描画命令のキャッシュがヒットした）と判断する。この場合、プリンタードライバー１０３は、３ページ目の第１描画命令とキャッシュされた１ページ目の第１描画命令との少なくとも一部が共通するか否かの判断を、２ページ目の第１描画命令と前記キャッシュされた１ページ目の第１描画命令との少なくとも一部が共通するか否かの判断よりも、簡略化した方法で行ってもよい。簡略化の方法としては、例えば、以下の各例が挙げられる。
【００７８】
（１）プリンタードライバー１０３は、２ページ目でヒットしたキャッシュの連続する共通部分（背景）のデータサイズを記憶しておく。３ページ目の第１描画命令のキャッシュのヒットチェックにおいては、プリンタードライバー１０３は、キャッシュ制御部１０６からのキャッシュＩＤを取得して共通部分（背景）の始まりを検出すると、その箇所を始点として上記データサイズをカウントし始め、上記データサイズを有するデータ群の終点を検出する。データサイズをカウントしている間、プリンタードライバー１０３は、３ページ目の第１描画命令の少なくとも一部がキャッシュされているか否かをキャッシュ制御部１０６に問い合わせない。プリンタードライバー１０３は、この終点付近の第１描画命令の少なくとも一部がキャッシュされているか否かをキャッシュ制御部１０６に問い合わせる。つまり、プリンタードライバー１０３は、共通部分（背景）の始まりと終わりだけのヒットチェックを行い、中間部分はヒットチェックを省略する。プリンタードライバー１０３は、上記実施形態と同様にして、共通部分の始点及び終点の第１描画命令に対応するキャッシュＩＤをキャッシュ制御部１０６から取得する。さらに、プリンタードライバー１０３は、共通部分の始点から終点までの間の第１描画命令に対応するキャッシュＩＤの供給をキャッシュ制御部１０６に要求する。プリンタードライバー１０３は、この要求に応じて供給されたキャッシュＩＤを取得する。
【００７９】
これにより、プリンタードライバー１０３は、ドキュメントの３ページ目において、共通部分の始点、終点、及び始点から終点までの間の第１描画命令と、キャッシュ保存部１０７にキャッシュされている１ページ目の第１描画命令とが共通すると判断する。
【００８０】
（２）プリンタードライバー１０３は、２ページ目でヒットしたキャッシュの連続する共通部分（背景）のデータサイズを記憶しておく。３ページ目の第１描画命令のキャッシュのヒットチェックにおいては、プリンタードライバー１０３は、キャッシュ制御部１０６からのキャッシュＩＤを取得して共通部分（背景）の始まりを検出すると、その箇所を始点として上記データサイズをカウントし始め、上記データサイズ分のヒットチェック（第１描画命令がキャッシュされているか否かをキャッシュ制御部１０６に問い合わせること）を、断続的に（間引きして）行う。つまり、プリンタードライバー１０３は、共通部分（背景）のヒットチェックを断続的に（間引きして）行い、逆に言えば、断続的にヒットチェックを省略する。プリンタードライバー１０３は、上記実施形態と同様にして、共通部分の始点を含むヒットチェックした箇所の第１描画命令に対応するキャッシュＩＤをキャッシュ制御部１０６から取得する。さらに、プリンタードライバー１０３は、共通部分のうち、ヒットチェックを省略した箇所の描画処理命令に対応するキャッシュＩＤの供給をキャッシュ制御部１０６に要求する。プリンタードライバー１０３は、この要求に応じて供給されたキャッシュＩＤを取得する。
【００８１】
これにより、プリンタードライバー１０３は、ドキュメントの３ページ目において、共通部分の始点を含むヒットチェックした箇所及びヒットチェックを省略した箇所の第１描画命令と、キャッシュ保存部１０７にキャッシュされている１ページ目の第１描画命令とが共通すると判断する。
【００８２】
なお、上記例（２）において、上記例（１）と同様に、共通部分の終点のヒットチェックを行ってもよい。
【００８３】
上記例（１）及び（２）では、４ページ目以降のプリンタブルデータも３ページ目と同様に処理される。
【００８４】
上記例（１）及び（２）によれば、２ページ目で第１描画命令のキャッシュがヒットした時点で、２ページ目と１ページ目との共通部分（背景）を特定できている。従って、３ページ目以降は、上記共通部分（背景）のうちの少なくとも一部とヒットチェックを行えば、３ページ目以降に含まれる共通部分（背景）を比較的正確かつ高速に特定することが可能となる。
【００８５】
上記実施形態及び変形例において、「１ページ目」、「２ページ目」及び「３ページ目」と述べたが、これは、厳密な意味での値でもよい。あるいは、表紙を「０ページ目」、表紙の次を「１ページ目」（表紙を「１ページ目」とすると厳密には「２ページ目」であるが）としてカウントした値でもよい。プレゼンテーションソフトにおいては、表紙の背景デザインのみ、それ以降と背景が異なるデザインの場合もある。そのような場合においては、後者の形態（表紙の次を「１ページ目」とする）を採用するのがよい。
【符号の説明】
【００８６】
１０…ＰＣ
２０…ＭＦＰ
１０１…アプリケーション
１０２…グラフィックスライブラリ
１０３…プリンタードライバー（制御部）
１０４…スプーラ
１０５…通信インターフェース
１０６…キャッシュ制御部
１０７…キャッシュ保存部
【図１】
0006455392.tif 000002
【図２】
0006455392.tif 000003
【図３】
0006455392.tif 000004
【図４】
0006455392.tif 000005
【図５】
0006455392.tif 000006