(57)【特許請求の範囲】
【請求項１】
アプリケーションの作成した文書ページに基づき、印刷装置に送信されるビットマップデータを生成する印刷データ生成装置であって、
前記アプリケーションから発行され、ページ上に模様を付加するモードが設定された印刷イベントに応じて、少なくとも１つの模様ページを準備する準備手段と、
前記アプリケーションが作成した文書ページと前記準備手段により準備された前記少なくとも１つの模様ページとがオペレーティングシステムで使用される標準形式で格納されたスプールファイルから、前記模様ページと前記文書ページとを読み出して合成し、合成ページを作成する合成手段と、
前記合成手段により作成された合成ページから、前記印刷装置に送信されるビットマップデータを生成する生成手段とを有することを特徴とする印刷データ生成装置。
【請求項２】
前記準備手段は、模様の設定に応じてベージ上に模様を描画することにより、前記模様ページを準備することを特徴とする請求項１に記載の印刷データ生成装置。
【請求項３】
前記合成手段は、ページ上に背景として背面模様を付加する場合、前記模様ページの上に前記文書ページを合成し、ベージ上に前景として前面模様を付加する場合、前記文書ページの上に前記模様ページを合成することを特徴とする請求項１に記載の印刷データ生成装置。
【請求項４】
前記準備手段は、印刷状態の設定が変わる際に前記模様ページを準備することを特徴とする請求項１に記載の印刷データ生成装置。
【請求項５】
前記模様は、前記文書ページに合成するスタンプの模様であることを特徴とする請求項１乃至４のいずれか１項に記載の印刷データ生成装置。
【請求項６】
アプリケーションの作成した文書ページに基づき、印刷装置に送信されるビットマップデータを生成する印刷データ生成方法であって、
前記アプリケーションから発行され、ページ上に模様を付加するモードが設定された印刷イベントに応じて、少なくとも１つの模様ページを準備する準備ステップと、
前記アプリケーションが作成した文書ページと前記準備ステップで準備された前記少なくとも１つの模様ページとがオペレーティングシステムで使用される標準形式で格納されたスプールファイルから、前記模様ページと前記文書ページとを読み出して合成し、合成ページを作成する合成ステップと、
前記合成ステップで作成された合成ページから、前記印刷装置に送信されるビットマップデータを生成する生成ステップとを有することを特徴とする印刷データ生成方法。
【請求項７】
前記準備ステップでは、模様の設定に応じてベージ上に模様を描画することにより、前記模様ページを準備することを特徴とする請求項６に記載の印刷データ生成方法。
【請求項８】
前記合成ステップでは、ページ上に背景として背面模様を付加する場合、前記模様ページの上に前記文書ページを合成し、ベージ上に前景として前面模様を付加する場合、前記文書ページの上に前記模様ページを合成することを特徴とする請求項６に記載の印刷データ生成方法。
【請求項９】
前記準備ステップでは、印刷状態の設定が変わる際に前記模様ページを準備することを特徴とする請求項６に記載の印刷データ生成方法。
【請求項１０】
前記模様は、前記文書ページに合成するスタンプの模様であることを特徴とする請求項６乃至９のいずれか１項に記載の印刷データ生成方法。
【請求項１１】
アプリケーションの作成した文書ページに基づき、印刷装置に送信されるビットマップデータを生成する印刷データ生成方法をコンピュータに実現させるためのコンピュータプログラムであって、
前記アプリケーションから発行され、ページ上に模様を付加するモードが設定された印刷イベントに応じて、少なくとも１つの模様ページを準備する準備ステップと、
前記アプリケーションが作成した文書ページと前記準備ステップで準備された前記少なくとも１つの模様ページとがオペレーティングシステムで使用される標準形式で格納されたスプールファイルから、前記模様ページと前記文書ページとを読み出して合成し、合成ページを作成する合成ステップと、
前記合成ステップで作成された合成ページから、前記印刷装置に送信されるビットマップデータを生成する生成ステップとをコンピュータに実行させるためのコンピュータプログラム。
【請求項１２】
前記準備ステップでは、模様の設定に応じてベージ上に模様を描画することにより、前記模様ページを準備することを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記合成ステップでは、ページ上に背景として背面模様を付加する場合、前記模様ページの上に前記文書ページを合成し、ベージ上に前景として前面模様を付加する場合、前記文書ページの上に前記模様ページを合成することを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１４】
前記準備ステップでは、印刷状態の設定が変わる際に前記模様ページを準備することを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１５】
前記模様は、前記文書ページに合成するスタンプの模様であることを特徴とする請求項１１乃至１４のいずれか１項に記載のコンピュータプログラム。
【請求項１６】
請求項１３乃至１５のいずれか１項に記載のコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１７】
アプリケーションで作成された文書ページが格納されるシステム標準のスプールファイルから文書ページを読み出し、読み出された文書ページに基づきプリンタに供給されるビットマップを生成する印刷データ生成装置であって、
アプリケーションからの印刷開始のイベントに応じて、模様設定がある場合、システムにページ印刷開始を通知し、前記アプリケーションに成り代わり模様の描画された模様ページを生成し、システムにページ印刷の終了を通知するユーザインタフェースドライバと、
前記システム標準のスプールファイルから文書ページと模様ページとを読み出し、合成ページを作成するプリントプロサッセと、
作成された合成ページに基づきビットマップデータを生成するプリンタドライバとを有し、
前記ユーザインタフェースドライバにより生成された模様ページと前記アプリケーションから供給される文書ページとが前記システム標準のスプールファイルに格納されることを特徴とする印刷データ生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は印刷データ生成方法、印刷データ生成装置、コンピュータプログラム、及び記憶媒体、すなわち、情報伝達用の印刷データと機能表示用の印刷データとを含む印刷データを生成する印刷データ生成方法、印刷データ生成装置、特にアプリケーションが出力した文書等の印刷データと、ユーザに指定された模様を用紙上に重ね合わせて印刷する機能を持つ印刷データ生成方法、印刷データ生成装置、コンピュータプログラム、及び記憶媒体に関するものである。
【０００２】
【従来の技術】
情報伝達用の印刷データと機能表示用の印刷データとを含む印刷を行なう一例として、例えば「社外秘」扱いの文書を配布する場合に、文書の各ページに「社外秘」という文字が現われる印を押す場合などがある。ところが、印刷後の印刷物の各ページに人手により印を押すという作業はコストがかかるため、一般に電子化された「社外秘」等のマークを文書と共に印刷する手法が取られる。この「社外秘」といったマークをスタンプと呼んでいる。
【０００３】
スタンプ付きの文書印刷の場合には、アプリケーションはユーザが希望するスタンプの文字列等を受け付ける入力部分を持ち、文書の印刷時において、アプリケーションは文書の各ページの印刷データを作成する際にユーザに指定されたスタンプを合成し、プリンタに対し送信する必要がある。これを改善するため、プリンタドライバによるスタンプ機能の実現手法がある。この手法は、プリンタドライバ中に追加されたコマンドによりプリンタドライバの実行に割り込みをかけて、動作を一時中断し、実行をサブアプリケーションに移して、このサブアプリケーションがスタンプの描画を行うことで、プリンタドライバにスタンプの描画コマンドを提供し、プリンタドライバがアプリケーションの文書ページの印刷データにスタンプの描画データを重ね合わせるという手法である。
【０００４】
【発明が解決しようとする課題】
ところで、前記のような従来の技術には次のような解決すべき課題があった。前記従来例では、スタンプ付きの文書印刷を実行する場合、プリンタドライバによりスタンプのビットマップデータを生成し、文書の各ページのビットマップデータと重ね合わせた後のデータをプリンタに送っていた。従って、プリンタドライバはビットマップデータを合成するために大量の記憶領域を使用する欠点がある。
【０００５】
加えて、ネットワーク環境においてクライアントでアプリケーションが印刷データを作成し、サーバでプリンタドライバが動作する場合で、クライアントでユーザが指定したスタンプのフォント等がサーバに存在しない場合は、スタンプを付加した印刷が出来ない欠点がある。
【０００６】
また、文字列に限らず、用紙に様々なマークや枠や画像（以下、この明細書ではこれらを総称して模様と呼ぶ）を印刷した上で文書を印刷する要求や、逆に文書を印刷した上で模様を印刷する要求も少なくない。このような処理を円滑に効率的に行う印刷システムの開発が望まれている。
【０００７】
本発明は、前記従来の欠点を除去し、文書ページと模様（社外秘などのスタンプ）とを含む印刷データをプリントする場合に、オペレーティングシステムで使用される標準形式で印刷データを格納するスプールファイルにおいて必要とする記憶領域の容量を小さくし、ネットワークにかかる負荷を低減出来、サーバに必要なフォント等が存在しなくても印刷が可能となる印刷データ生成方法、印刷データ生成装置、コンピュータプログラム、及び記憶媒体を提供する。
【０００８】
【課題を解決するための手段】
前記の目的を達成するために、本発明の印刷データ生成方法及びその装置は、システムによる印刷イベントの通知を利用し模様ページをアプリケーションに成り代わり描画し、アプリケーションの文書ページの間に挿入することで、オペレーティングシステムで使用される標準形式のスプールファイルに保存され、デスプーリングにおいてプリントプロセッサにより重ね合わせを行い、プリンタグラフィクスドライバは重ね合わせ処理が行われた印刷データをビットマップイメージに変換しプリンタに供給する。
【０００９】
すなわち、本発明の印刷データ生成方法は、アプリケーションの作成した文書ページに基づき、印刷装置に送信されるビットマップデータを生成する印刷データ生成方法であって、前記アプリケーションから発行され、ページ上に模様を付加するモードが設定された印刷イベントに応じて、少なくとも１つの模様ページを準備する準備ステップと、前記アプリケーションが作成した文書ページと前記準備ステップで準備された前記少なくとも１つの模様ページとが格納されたオペレーティングシステムで使用される標準形式でスプールファイルから、前記模様ページと前記文書ページとを読み出して合成し、合成ページを作成する合成ステップと、前記合成ステップで作成された合成ページから、前記印刷装置に送信されるビットマップデータを生成する生成ステップとを有することを特徴とする。
【００１１】
又、本発明の印刷データ生成装置は、アプリケーションの作成した文書ページに基づき、印刷装置に送信されるビットマップデータを生成する印刷データ生成装置であって、前記アプリケーションから発行され、ページ上に模様を付加するモードが設定された印刷イベントに応じて、少なくとも１つの模様ページを準備する準備手段と、前記アプリケーションが作成した文書ページと前記準備手段により準備された前記少なくとも１つの模様ページとがオペレーティングシステムで使用される標準形式で格納されたスプールファイルから、前記模様ページと前記文書ページとを読み出して合成し、合成ページを作成する合成手段と、前記合成手段により作成された合成ページに対応して、前記印刷装置に送信されるビットマップデータを生成する生成手段とを有することを特徴とする。
【００１６】
又、本発明は、アプリケーションの作成した文書ページに基づき、印刷装置に送信されるビットマップデータを生成する印刷データ生成方法をコンピュータに実現させるためのコンピュータプログラムであって、前記アプリケーションから発行され、ページ上に模様を付加するモードが設定された印刷イベントに応じて、少なくとも１つの模様ページを準備する準備ステップと、前記アプリケーションが作成した文書ページと前記準備ステップで準備された前記少なくとも１つの模様ページとがオペレーティングシステムで使用される標準形式で格納されたスプールファイルから、前記模様ページと前記文書ページとを読み出して合成し、合成ページを作成する合成ステップと、前記合成ステップで作成された合成ページから、前記印刷装置に送信されるビットマップデータを生成する生成ステップとをコンピュータに実行させるためのコンピュータプログラム、及び該コンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体を提供する。
更に、本発明の印刷データ生成装置は、アプリケーションで作成された文書ページが格納されるシステム標準のスプールファイルから文書ページを読み出し、読み出された文書ページに基づきプリンタに供給されるビットマップを生成する印刷データ生成装置であって、アプリケーションからの印刷開始のイベントに応じて、模様設定がある場合、システムにページ印刷開始を通知し、前記アプリケーションに成り代わり模様の描画された模様ページを生成し、システムにページ印刷の終了を通知するユーザインタフェースドライバと、前記システム標準のスプールファイルから文書ページと模様ページとを読み出し、合成ページを作成するプリントプロサッセと、作成された合成ページに基づきビットマップデータを生成するプリンタドライバとを有し、前記ユーザインタフェースドライバにより生成された模様ページと前記アプリケーションから供給される文書ページとが前記システム標準のスプールファイルに格納されることを特徴とする。
【００１７】
かかる構成により、
(1)模様ページの印刷データと文書ページの印刷データとを重ね合わせ合成した後でビットマップデータに変換しプリンタに送るので、記憶領域の使用量を抑えられコンピュータの負荷が減り印刷速度も向上する。
【００１８】
(2)スプールファイル中に挿入される模様ページの数は、アプリケーションが発行した印刷ページ数に依存しないのでスプールされるデータサイズが小さくて済む。
【００１９】
(3)ネットワーク環境における印刷では、クライアントからサーバへ模様ページを転送する特別な手法を用いる必要が無く、データ転送時間が短くなりネットワークにかける付加が小さくなる。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
【００２１】
＜実施形態１＞
（本実施形態の印刷システムの構成例）
図1は、本発明による印刷システムの実施形態を示すブロック図である。図1において、本発明に関るモジュールは、模様設定処理部と模様ページ生成処理部を兼備するユーザインタフェースドライバ3と、模様ページ合成処理部であるプリントプロセッサ5である。なお本実施形態では、オペレーティングシステムとしてWindowsを用いた場合を示すが、本発明はこれに限定されない。
【００２２】
図1のシステムは、上位装置であるパーソナルコンピュータ等でアプリケーション1が作成した文書等の印刷用データを、GDI2を通じてEMFスプールファイル4に一時保持し、これをビットマップデータに変換してプリンタ7に供給して印刷するよう構成されている。ここで、GDIとはグラフィックデバイスインタフェースのことでWindowsのグラフィクスエンジンである。また、EMFとはEnhanced Meta Fileの略でWindowsにおける描画データの論理的な格納形式であり、EMFスプールファイル4には印刷データがEMF形式で格納される。
【００２３】
ユーザインタフェースドライバ3は、一般に印刷に使用する用紙サイズや印刷方向、その他の属性を設定する機能を提供する。同時に本発明におけるユーザインタフェースドライバ3は用紙サイズ等の属性の他にスタンプ等の模様の属性を設定する機能を提供する模様設定処理部を有し、模様の属性が設定された場合、文字列を用いる模様ならばフォント名やポイント数や枠線の色、回転角や位置等の設定値をアプリケーション1に返却する。また、画像を用いる模様ならばファイル名や拡大率、濃度や位置、配置方法等の設定値をアプリケーション1に返却する。
【００２４】
アプリケーション1は任意の文書を作成し、印刷するために印刷システムに印刷開始を通知する。ここで、GDI2はユーザインタフェースドライバ3にアプリケーションによる印刷開始の印刷イベントを通知する。ユーザインタフェースドライバ3は印刷開始の印刷イベントを受け取ると、アプリケーションに成り代わり模様のみ描画されたページを生成する。
【００２５】
続いて、アプリケーション1は、任意の文書のページデータをGDI2に供給し、印刷処理を続行する。ここで、GDI2を経由した印刷データはEMFスプールファイル4に格納される。従って、EMFスプールファイル4には、ユーザインタフェースドライバ3が生成した模様ページの描画データとアプリケーション1が生成した文書ページの描画データが格納される。
【００２６】
プリントプロセッサ5は、Windowsにおいて、印刷時にEMFスプールファイルから印刷出力情報と印刷データとを読込み、印刷データを1ページずつGDI2を介してプリンタグラフィクスドライバ6に供給し印刷を行うモジュールである。本実施形態におけるプリントプロセッサ5は、同時に模様ページ合成処理部であり、EMFスプールファイル4から印刷するべき文書データのページと、ユーザインタフェースドライバ3が作成した模様ページとを読み出し、これらを重ね合わせて新たに合成ページを作成しGDI2に供給する。
【００２７】
イメージ生成処理部であるプリンタグラフィックドライバ6は、プリントプロセッサ5が供給した合成ページの印刷データをもとにGDI2が生成したグラフィック描画コマンドからビットマップデータを生成するモジュールであり、生成したビットマップデータを図に示していないデータ送信部を介してプリンタ7に供給する。
【００２８】
出力デバイスであるプリンタ7は、プリンタグラフィックドライバ6から渡された、印刷データのページ9とスタンプ10が重ね合わされたビットマップデータを用紙8に対し印刷する機能を持つ。用紙8で図示される印刷結果の例は、プリントプロセッサ5が模様ページを文書ページの上に重ね合わせた場合を示しており、これを前面模様と呼ぶことにする。また用紙11で図示される印刷結果の例はプリントプロセッサ5が模様ページを文書ページの上に重ね合わせた場合を示しており、これを背面模様と呼ぶことにする。
【００２９】
また、図示していないが前面模様と背面模様との属性を個別に設定し、ユーザインタフェースドライバ3は前面模様ページと背面模様ページを生成し、プリントプロセッサ5は背面模様ページとアプリケーションの文書ページと前面模様ページとを重ね合わせることとで、前面模様と背面模様を併用することもできる。さらに、ユーザインタフェースドライバ3は前面模様ページと背面模様ページとを1ページずつではなくそれぞれ複数生成し、プリントプロセッサ5はこれらの複数の模様ページと文書ページを重ね合わせてもよい。
【００３０】
本実施形態で模様の属性に文字列を設定する場合、予めユーザインタフェースドライバ3が文字列を描画した模様ページを作成し、EMFスプールファイル4に格納しておき、プリントプロセッサ5で模様ページの印刷データとアプリケーション1の文書ページの印刷データとを重ね合わせた合成ページの印刷データをプリンタグラフィクスドライバ6に供給し、印刷すべき文書ページと模様ページとが重ね合わされた状態のビットマップを生成し、そのビットマップをプリンタ7に供給する。
【００３１】
（本実施形態の印刷システムの動作手順例）
図2には、実施形態1のユーザインタフェースドライバ3の動作フローチャートを示す。また、図3には、実施形態1のプリントプロセッサ5の動作フローチャートを示す。これらの図を用いて、図1に示す印刷システムの全体的な動作を説明する。
【００３２】
まず、図2を用いて模様ページ生成処理の動作を説明する。ユーザインタフェースドライバ3による模様ページ生成処理は、GDI2から印刷イベントを受け取った時に行われる。
【００３３】
まず、ステップS1において、GDI2によって通知された印刷イベントがプリントプロセッサ 5による印刷イベントかアプリケーション1による印刷イベントかを判断し、プロントプロセッサ5による印刷イベントの場合は処理は行わず終了する。アプリケーション1の印刷イベントの場合はステップS2に移る。ステップS2では、印刷イベントの種別を判定し、印刷開始を示す印刷イベントの場合はステップS3に進む。これら以外の印刷イベントの場合は処理は行わず終了する。
【００３４】
次に、ステップS3では、印刷設定に前面模様の設定があるかどうかを判定し、前面模様の設定がされている場合はステップS4に進む。前面模様の設定がされていない場合はステップS5に移る。ステップS4では、前面模様のみが描画された模様ページ挿入処理を行う。模様ページ挿入処理は後に説明する。模様ページ挿入処理が終了した後ステップS5に進む。
【００３５】
次にステップS5では、印刷設定に背面模様の設定があるかどうかを判定し、背面模様の設定がされている場合はステップS6に進む。背面模様の設定がされていない場合は終了する。ステップS6では、背面模様のみが描画された模様ページ挿入処理を行う。模様ページ挿入処理は後に説明する。模様ページ挿入処理が終了した後終了する。
【００３６】
続いて、前記ステップS4及びS6の模様ページ挿入処理を詳細に説明する。
【００３７】
ステップS7で、アプリケーション1に成り代わり模様ページを描画・作成するため印刷システムに1ページ印刷開始を通知する。印刷システムは、この通知がアプリケーション1による通知として扱うため、この後ユーザインタフェースドライバ3が描画する模様ページは、アプリケーション1が描画する文書ページと同様に扱われる。
【００３８】
次にステップS8では、ユーザにより設定された模様の属性の設定値が正当化かどうか判定する。例えば模様に画像を用いる場合、指定された名称が画像ファイルが存在するかどうかなどを判定する。設定値が正当ならばステップS9に進む。設定値が不正ならば模様の描画は行わずステップS10に移り、模様が描画されていないページを作成する。ステップS9では、模様の属性の設定値に従い様々な模様を、GDI2を介しアプリケーション1に代わって描画を行う。たとえば、模様に文字列が指定されている場合は、フォントや文字の色や回転角、描画位置等の設定値に従い文字列を描画し、更に文字列を囲む矩形や円等を描画する。また、模様に画像を用いる場合は、拡大/縮小処理や濃度変換、描画位置や配置等の設定値に従い描画する。
【００３９】
ステップS10では、アプリケーション1に成り代わり印刷システムに1ページ印刷終了の通知を行う。このことで、ユーザインタフェースドライバ3が描画・作成した模様ページがEMFスプールファイル4に格納される。
【００４０】
次に、図3を用いて模様ページ合成処理の動作を説明する。尚、プリントプロセッサ5による模様ページ重ね合わせ処理は印刷ジョブごとに行われる。
【００４１】
まず、ステップS21で模様の設定がなされているかどうかを判定する。模様設定がある場合はEMFスプールファイル4に格納されているページの印刷データ模様、設定がない場合はステップS26に移り通常の印刷を開始する。
【００４２】
ステップS22からS25は、EMFスプールファイル4に格納されている各ページ間の設定の相違からスプールファイル中のページ番号と対応するアプリケーション1の文書ページ番号を記録するループである。ステップS23では、連続する２つのページデータの印刷設定を比較し、印刷設定が途中で変更されたか判定する。変更がなければステップS25へ移る。変更があればステップS24に進む。ステップS24では、EMFスプールファイル4中のページ番号と対応するアプリケーション1のリストに保存し、次に調査するスプールページ番号をユーザインタフェースドライバ3が挿入した模様ページの枚数だけスキップする。ステップS25では、スプールファイル4中のページデータを全て調査したならばステップS26に進み、調査していないページが残っていれば、次のページの印刷設定が変更されたか調査するためステップS22に戻りループを繰り返す。
【００４３】
ステップS26では、プリントプロセッサ5が作成するページを実際に印刷するため印刷システムに印刷開始を通知する。
【００４４】
ステップS27からS36は、印刷されるべき最終物理ページまで各文書ページを印刷するためのループである。各物理ページの印刷処理はステップS28に続く。全ての物理ページの印刷した後、ステップS37に進み印刷システムに印刷処理終了を通知する。
【００４５】
各物理ページの印刷処理はステップS28から始まり、まず印刷システムに1ページ印刷開始を通知する。続いてステップS29で印刷すべき物理ページ番号に対応するアプリケーション1の文書ページ番号を計算する。
【００４６】
ステップS30では、印刷すべき文書ページに背面模様が設定されているか否か判定し、背面模様が設定されていなければアプリケーション1の文書ページを印刷するためにステップS32に移る。背面模様が設定されていればステップS31に進む。ステップS31では、アプリケーション1の印刷すべき文書ページ番号に対応するEMFスプールファイル4中の模様ページの番号を前記ページ対応リストから取得し、EMFスプールファイル4から前記模様ページを読込み描画する。この後、背面模様を描画した上にアプリケーション1の文書ページを重ねて描画するためステップS32に進む。
【００４７】
ステップS32では、ステップS29で計算したアプリケーション1の文書ページ番号に対応するEMFスプールファイル4中のページ番号を前記ページ対応リストから取得し、EMFスプールファイル4から前記文書ページを読込み描画する。
【００４８】
ステップS33では、印刷すべき文書ページに前面模様が設定されているか否か判定し、前面模様が設定されていなければステップS35に移り物理ページの印刷を終了する。前面模様が設定されていればステップS34に進む。ステップS34では、アプリケーション1の印刷すべき文書ページ番号に対応するEMFスプールファイル4中の模様ページの番号を前記ページ対応リストから取得し、EMFスプールファイル4から前記模様ページを読込み描画する。この後、物理ページの印刷を終了するためにステップS35に進む。
【００４９】
ステップ35では、印刷システムに1ページ印刷終了を通知して物理ページの印刷を終了する。
【００５０】
以上で図3に示した模様ページ重ね合わせ処理が終了する。ステップS35でプリントプロセッサ5が重ね合わせページを作成し物理ページの終了を通知するごとに、プリンタグラフィクスドライバ6が合成ページをビットマップデータに変換し、ビットマップデータは図には示さない所定のデータ送信処理を介してプリンタ7に供給され、重ね合わされたページが印刷される。
【００５１】
（本実施形態の印刷システムの印刷例）
次に、図4にはEMFスプールファイル4に格納される模様ページと文書ページの状態と、用紙に印刷される物理ページの関係の概念図を示す。ここで、アプリケーション1は印刷の途中で印刷設定を変更せずに文書ページを3ページ印刷し、印刷設定として前面模様が指定されているを条件とする。
【００５２】
図4の(A)はEMFスプールファイル4に格納されるページ順を示している。EMFスプールファイル4に格納される先頭ページはユーザインタフェースドライバ3が作成した前面模様ページとなり、アプリケーション1が作成した文書ページはEMFスプールファイル4中の2, 3, 4ページ目に格納される。プリントプロセッサ5は、各文書ページに最適な模様ページとしてスプールページ1を採用し、各文書ページの上に重ね合わせて描画することで、図4の(B)に示されるように印刷結果である物理ページ1, 2, 3が得られる。
【００５３】
次に、図5には前面模様と背面模様とを文書ページに重ね合わせて描画する、プリントプロセッサ5の模様ページ重ね合わせ処理の概念図を示す。背景模様が指定されている場合は最初に背景模様ページを描画する。次にアプリケーション 1の文書ページを重ね合わせて描画し、最後に前面模様が指定されている場合は前面模様ページを重ね合わせて描画することで、印刷される重ね合わせページを作成する。図では前面模様ページに枠付きの文字列を示したが、画像を用いてもよい。また背面も用頁にページ全体を覆う模様を示したが、ページの一部分に画像を配置したり、文字列等を用いてもよい。
【００５４】
（本実施形態の印刷システムのハードウエア構成例）
次に、本発明の印刷システムのハードウェアブロック図を説明する。
【００５５】
図6は、本実施形態における印刷システムのハードウェア構成を示すブロック図である。
【００５６】
図において、61は、CRT表示装置であり、図1に示すユーザインタフェースドライバ3が提供するプロパティ設定ウィンドウ等を表示する。62はCRTCで表示装置用のコントローラである。63は、キーボードなどのデータ入力装置であり、64は、キーボードコントローラである。65は、ポインティングデバイス等の座標入力装置であり、66は、ポインティングデバイスコントローラである。
67は、装置全体の制御を司るCPUである。68は、ブートプログラムなどを記憶しているROMである。69は、OS、各アプリケーションプログラム、図1のシステム構成と図2、3のフローチャートに関るプリンタドライバプログラムを格納したり、さらにはワークエリアとしても利用されるRAMである。
【００５７】
70は、OS、各アプリケーションプログラム、図1のシステム構成図と図2、3のフローチャートに関るプログラムを含むプリンタドライバプログラム、フォンとデータ、さらにはデータファイル(模様に用いられる画像)等を記憶しているハードディスク装置であり、71はハードディスクコントローラである。72は、可搬性記憶媒体の駆動装置であるフロッピーディスク装置であり、73はフロッピーディスクコントローラである。74は、インターフェースであり、インターフェースケーブルを介してインクジェットプリンタなどの印刷装置75に接続される。76は、各デバイスを接続するバスである。尚、可搬性記憶媒体はフロッピーディスクに限らず、ＣＤやＭＯ、ＤＶＤ、あるいは磁気や光カード、メモリカード等であってもよい。
【００５８】
本装置に電源が投入されると、CPU67はROM68に格納されているブートプログラムに従って起動し、ハードディスク装置70からOSをロードし、操作者の操作待ち状態になる。そして、操作者からKB63またはPD65からアプリケーションを介して印刷指示やプリンタドライバの印刷設定変更指示を受けた場合、もしくは自動的に起動するように設定されている場合は、ハードディスク装置70に格納されているプリンタドライバプログラムがRAM69にロードされ、本実施形態の処理が実行される。
【００５９】
＜実施形態１の効果＞
以上のように、プリントプロセッサ5において印刷すべきアプリケーション1が作成した文書ページとユーザインタフェースドライバ3が作成した模様ページとを重ね合わせた後、プリンタグラフィクスドライバ6に供給するようにしたので、模様ページの数は文書ページの数に依存しなくなりEMFスプールファイル4が必要とする記憶領域の容量は小さくて済む。また、ネットワーク環境では文書ページの数が多くなっても模様ページの数は変わらないのでネットワークにかかる負荷を低減出来る。また、模様ページはクライアントでユーザインタフェースドライバ3により作成されるので、サーバにおけるプリンタグラフィクスドライバ6実行時に模様を描画するのに必要なフォント等が存在しなくても印刷が可能となる。
【００６０】
＜実施形態２＞
文書を印刷すべき用紙のサイズが常に一定ではなく、一部に異なるサイズの用紙が含まれているような文書を印刷することがある。こうした場合、実施形態1 で説明したような処理を行うと、常に最初にユーザインタフェースドライバ3が作成した大きさの模様ページが用いられるので、模様の位置がずれたり、模様の一部がはみだしたりして好ましくない印刷結果になる場合が在る。例えば、用紙の向きが印刷中に変更された場合に、模様が一部印刷されない問題も生じる。この実施例は、用紙サイズがまちまちの場合においても、スタンプを良好に印刷できる例を説明する。
【００６１】
図1を用いて実施形態2のシステムを説明する。実施形態2では、印刷開始の印刷イベントが通知された時と、印刷設定変更の印刷イベントが通知された時とに、ユーザインタフェースドライバ3がアプリケーション1に成り代わり模様ページを生成することが、実施形態1との違いである。また、プリントプロセッサ5はアプリケーション1が印刷設定を変更してから作成した文書ページに最適な模様ページとを重ね合わせる。
【００６２】
次に、図2を用いて実施形態2のユーザインタフェースドライバの動作を説明する。ステップS1は実施形態1と同一の動作である。ステップS2では、印刷イベントの種別を判定し、印刷開始を示す印刷イベント、または印刷設定変更を示す印刷イベントの場合はステップS3に進む。これら以外の印刷イベントの場合は処理は行わず終了する。印刷設定変更イベントでは、印刷設定が変更された直後に模様ページ挿入処理を行うので、アプリケーション1が変更した印刷設定をもちいて描画することができる。他のステップは実施形態1と同一の動作である。
【００６３】
次に、図7には印刷中に印刷設定が変更された場合の、EMFスプールファイル4に格納される模様ページと文書ページの状態と、用紙に印刷される物理ページの関係の概念図を示す。ここで、アプリケーション1は印刷中に文書ページ2と文書ページ3の間で印刷設定を変更し、用紙の向きを変えてから文書ページ3を印刷し、印刷設定として前面模様が指定されているを条件とする。
【００６４】
図7の(A)はEMF スプールファイル4に格納されるページ順を示している。スプールファイルに格納される先頭ページはユーザインタフェースドライバ3が作成した印刷開始イベントに対応する前面模様ページとなり、続いてアプリケーション 1が作成した文書ページ1, 2はEMFスプールファイル4中の2, 3に格納され、続いてユーザインタフェースドライバ3が作成した印刷設定変更イベントに対応する前面模様ページがスプールページ4に格納され, 最後に文書ページ3がスプールページ5に格納される。ここでアプリケーション1は文書ページ2と文書ページ3の間で印刷設定を変更し用紙の向きを変えたので文書ページ3に対応する模様ページはスプールページ4に格納されている。
【００６５】
ここで、ユーザインタフェースドライバ 3は印刷設定変更イベントにより用紙の向きが変更されたことが通知されるので、例えば文字列の位置の設定が用紙の「左上」となっている場合、用紙サイズが変更されてもバランスよく文字列を描画することが可能である。プリントプロセッサ 5は各文書ページに最適な模様ページとして文書ページ1,2にはスプールページ1を採用し、文書ページ3 にはスプールページ4をそれぞれ採用し、各文書ページの上に重ね合わせて描画することで、図7の(B)に示される印刷結果である物理ページ1, 2, 3が得られる。また、用紙サイズや模様の配置設定が変更された場合においても印刷設定変更イベントに対応して、ユーザインタフェースドライバ3が適切に描画を行うことにより好ましい配置で模様ページを作成し、良好な出力結果が得られる。
【００６６】
尚、図７では示されていないが、例えば、図７の(b)で出力用紙がアプリケーション1からEMF スプールファイル4に格納される文書ページの半分のサイズであると、模様を文書ページに対応させるとはみ出してしまうことになる。この場合には、小さな模様を選択して必要であれば配置し直し重ね合わせる。逆に、出力用紙が文書ページの倍のサイズである場合は、模様が小さすぎることになり、この場合は大きな模様を選択して必要であれば配置し直し重ね合わせる。更に、等倍でない文書と用紙、例えば文書ページと印刷用紙がＡ版とＢ版とで異なる場合には、模様が用紙に収まるように模様が選択され必要であれば配置される。これらの種々のサイズによっても、模様がが適切に選択され配置されるようになる。これらも、本発明に含まれる。
【００６７】
＜実施形態２の効果＞
前記のように、ユーザインタフェースドライバ3で用紙サイズや模様の配置設定に対応させた模様ページを生成し処理するので、用紙の大きさが切り替わったり、様々な状況の変化があっても、それに応じて適切な大きさの模様の印刷が可能となる。
【００６８】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【００６９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７０】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７２】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７３】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを含むプログラムを格納することになる。
【００７４】
【発明の効果】
本発明により、文書ページと模様（社外秘などのスタンプ）とを含む印刷データをプリントする場合に、オペレーティングシステムで使用される標準形式で印刷データを格納するスプールファイルにおいて必要とする記憶領域の容量を小さくし、ネットワークにかかる負荷を低減出来、サーバに必要なフォント等が存在しなくても印刷が可能となる印刷データ生成方法、印刷データ生成装置、コンピュータプログラム、及び記憶媒体を提供できる。
【００７５】
すなわち、プリントプロセッサ5において印刷すべきアプリケーション1が作成した文書ページとユーザインタフェースドライバ3が作成した模様ページとを重ね合わせた後、プリンタグラフィクスドライバ6に供給するようにしたので、模様ページの数は文書ページの数に依存しなくなりEMFスプールファイル4が必要とする記憶領域の容量は小さくて済む。また、ネットワーク環境では文書ページの数が多くなっても模様ページの数は変わらないのでネットワークにかかる負荷を低減出来る。また、模様ページはクライアントでユーザインタフェースドライバ3により作成されるので、サーバにおけるプリンタグラフィクスドライバ6実行時に模様を描画するのに必要なフォント等が存在しなくても印刷が可能となる。
【００７６】
また、ユーザインタフェースドライバ3で用紙サイズや模様の配置設定に対応させた模様ページを生成し処理するので、用紙の大きさが切り替わったり、様々な状況の変化があっても、それに応じて適切な大きさの模様の印刷が可能となる。
【図面の簡単な説明】
【図１】本実施形態に係わる印刷システムのブロック図である。
【図２】本発明の実施形態１に関るユーザインタフェースドライバの模様ページ生成処理方法を示すフローチャートである。
【図３】本発明の実施形態１に関るプリントプロセッサの模様ページ合成処理方法を示すフローチャートである。
【図４】本発明の実施形態１に関るEMFスプールファイルに格納される模様ページと文書ページの状態と、用紙に印刷される物理ページの関係の概念図である。
【図５】本発明の実施形態に関る前面模様と両面模様を文書ページに重ね合わせて描画する、プリントプロセッサの模様ページ合成処理の概念図である。
【図６】本発明の印刷システムのハードウェアブロック図であり、本実施形態における印刷システムの構成である。
【図７】本発明の実施形態２に関るEMFスプールファイルに格納される模様ページと文書ページの状態と、用紙に印刷される物理ページの関係の概念図である。
【図１】
0004109836.tif 000002
【図２】
0004109836.tif 000003
【図３】
0004109836.tif 000004
【図４】
0004109836.tif 000005
【図５】
0004109836.tif 000006
【図６】
0004109836.tif 000007
【図７】
0004109836.tif 000008