(57)【特許請求の範囲】
【請求項１】
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての情報処理装置であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力手段と、
前記入力手段で付加情報を付加する設定が入力されている場合に、前記入力手段で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断手段と、
前記判断手段により前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合は、前記付加情報の描画命令を、前記印刷ドキュメントの描画命令よりも先にスプールするスプール順序制御手段と、
前記判断手段により前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合、前記印刷ドキュメントの描画命令をスプールする際に、該印刷ドキュメントの描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断手段と、
前記描画設定判断手段により該印刷ドキュメントの文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更手段と、
前記スプール順序制御手段によりスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記スプール順序制御手段は、前記付加情報を前記印刷ドキュメントの前面に印刷する場合は、前記印刷ドキュメントの描画命令を前記付加情報の描画命令よりも先にスプールし、前記文字設定変更手段による前記印刷ドキュメントの文字描画命令の設定の変更をスキップすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記文字設定変更手段は、前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報の描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定である場合は、当該文字の周りを白色で塗りつぶさない設定に変更することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報がビットマップデータである場合は、当該ビットマップに相当する領域内で当該ビットマップの白色の領域のすでにスプールされている描画内容が残るようにマスク用データを生成するマスク生成手段を更に有することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記印刷データ生成手段は、スプールされている描画命令をスプールされた順序で読み出し、展開メモリにビットマップ展開する描画手段を有しており、
前記描画手段により描画されたビットマップデータに基づいてイメージプリンタ用の印刷データを生成し、該イメージプリンタに出力する出力手段を更に有することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記印刷データ生成手段は、前記プリンタドライバを用いて、スプールされている描画命令をスプールされた順序で読み出し、該描画命令に基づいてプリンタ言語の印刷データを生成することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項７】
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての情報処理装置であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力手段と、
前記入力手段で付加情報を付加する設定が入力されている場合に、前記入力手段で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断手段と、
前記判断手段により前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令を、前記付加情報の描画命令よりも先にスプールするスプール順序制御手段と、
前記判断手段により前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報の描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断手段と、
前記描画設定判断手段により該付加情報の文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更手段と、
前記スプール順序制御手段によりスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成手段と、
を有することを特徴とする情報処理装置。
【請求項８】
前記スプール順序制御手段は、前記付加情報を前記印刷ドキュメントの背面に印刷する場合は、前記付加情報の描画命令を前記印刷ドキュメントの描画命令よりも先にスプールし、前記文字設定変更手段による前記付加情報の文字描画命令の設定の変更をスキップすることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記文字設定変更手段は、前記印刷ドキュメントの描画命令をスプールする際に、該印刷ドキュメントの描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定である場合は、当該文字の周りを白色で塗りつぶさない設定に変更することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報がビットマップデータである場合は、当該ビットマップに相当する領域内で当該ビットマップの白色の領域のすでにスプールされている描画内容が残るようにマスク用データを生成するマスク生成手段を更に有することを特徴とする請求項７乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記印刷データ生成手段は、スプールされている描画命令をスプールされた順序で読み出し、展開メモリにビットマップ展開する描画手段を有しており、
前記描画手段により描画されたビットマップデータに基づいてイメージプリンタ用の印刷データを生成し、該イメージプリンタに出力する出力手段を更に有することを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記印刷データ生成手段は、前記プリンタドライバを用いて、スプールされている描画命令をスプールされた順序で読み出し、該描画命令に基づいてプリンタ言語の印刷データを生成することを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理装置。
【請求項１３】
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成する情報処理方法であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力工程と、
前記入力工程で付加情報を付加する設定が入力されている場合に、前記入力工程で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断工程と、
前記判断工程で、前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合は、前記付加情報の描画命令を、前記印刷ドキュメントの描画命令よりも先にスプールするスプール順序制御工程と、
前記判断工程で前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令をスプールする際に、該印刷ドキュメントの描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断工程と、
前記描画設定判断工程で前記印刷ドキュメントの文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更工程と、
前記スプール順序制御工程でスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成工程と、
を有することを特徴とする情報処理方法。
【請求項１４】
前記スプール順序制御工程では、前記付加情報を前記印刷ドキュメントの前面に印刷する場合は、前記印刷ドキュメントの描画命令を前記付加情報の描画命令よりも先にスプールし、前記文字設定変更手段による前記印刷ドキュメントの文字描画命令の設定の変更をスキップすることを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記文字設定変更工程では、前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報の描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定である場合は、当該文字の周りを白色で塗りつぶさない設定に変更することを特徴とする請求項１４に記載の情報処理方法。
【請求項１６】
前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報がビットマップデータである場合は、当該ビットマップに相当する領域内で当該ビットマップの白色の領域のすでにスプールされている描画内容が残るようにマスク用データを生成するマスク生成工程を更に有することを特徴とする請求項１３乃至１５のいずれか１項に記載の情報処理方法。
【請求項１７】
前記印刷データ生成工程では、スプールされている描画命令をスプールされた順序で読み出し、展開メモリにビットマップ展開する描画工程を有し、
前記描画工程により描画されたビットマップデータに基づいてイメージプリンタ用の印刷データを生成し、該イメージプリンタに出力する出力工程を更に有することを特徴とする請求項１３乃至１６のいずれか１項に記載の情報処理方法。
【請求項１８】
前記印刷データ生成工程では、前記プリンタドライバを用いて、スプールされている描画命令をスプールされた順序で読み出し、該描画命令に基づいてプリンタ言語の印刷データを生成することを特徴とする請求項１３乃至１６のいずれか１項に記載の情報処理方法。
【請求項１９】
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成する情報処理方法であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力工程と、
前記入力工程で付加情報を付加する設定が入力されている場合に、前記入力工程で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断工程と、
前記判断工程で、前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令を、前記付加情報の描画命令よりも先にスプールするスプール順序制御工程と、
前記判断工程で前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報の描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断工程と、
前記描画設定判断工程で前記付加情報の文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更工程と、
前記スプール順序制御工程でスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成工程と、
を有することを特徴とする情報処理方法。
【請求項２０】
前記スプール順序制御工程では、前記付加情報を前記印刷ドキュメントの背面に印刷する場合は、前記付加情報の描画命令を前記印刷ドキュメントの描画命令よりも先にスプールし、前記文字設定変更手段による前記付加情報の文字描画命令の設定の変更をスキップすることを特徴とする請求項１９に記載の情報処理方法。
【請求項２１】
前記文字設定変更工程では、前記印刷ドキュメントの描画命令をスプールする際に、該印刷ドキュメントの描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定である場合は、当該文字の周りを白色で塗りつぶさない設定に変更することを特徴とする請求項２０に記載の情報処理方法。
【請求項２２】
前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報がビットマップデータである場合は、当該ビットマップに相当する領域内で当該ビットマップの白色の領域のすでにスプールされている描画内容が残るようにマスク用データを生成するマスク生成工程を更に有することを特徴とする請求項１９乃至２１のいずれか１項に記載の情報処理方法。
【請求項２３】
前記印刷データ生成工程は、スプールされている描画命令をスプールされた順序で読み出し、展開メモリにビットマップ展開する描画工程を有しており、
前記描画工程で描画されたビットマップデータに基づいてイメージプリンタ用の印刷データを生成し、該イメージプリンタに出力する出力工程を更に有することを特徴とする請求項１９乃至２２のいずれか１項に記載の情報処理方法。
【請求項２４】
前記印刷データ生成工程は、前記プリンタドライバを用いて、スプールされている描画命令をスプールされた順序で読み出し、該描画命令に基づいてプリンタ言語の印刷データを生成することを特徴とする請求項１９乃至２２のいずれか１項に記載の情報処理方法。
【請求項２５】
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成する情報処理方法を実行するプログラムを記憶するコンピュータにより読取り可能な記憶媒体であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力工程モジュールと、
前記入力工程で付加情報を付加する設定が入力されている場合に、前記入力工程で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断工程モジュールと、
前記判定工程により前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合は、前記付加情報の描画命令を、前記印刷ドキュメントの描画命令よりも先にスプールするスプール順序制御工程モジュールと、
前記判断工程で前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令をスプールする際に、該印刷ドキュメントの描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断工程モジュールと、
前記描画設定判断工程で前記印刷ドキュメントの文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更工程モジュールと、
前記スプール順序制御工程でスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成工程モジュールと、
を有することを特徴とする記憶媒体。
【請求項２６】
前記スプール順序制御工程では、前記付加情報を前記印刷ドキュメントの前面に印刷する場合は、前記印刷ドキュメントの描画命令を前記付加情報の描画命令よりも先にスプールし、前記文字設定変更手段による前記付加情報の文字描画命令の設定の変更をスキップすることを特徴とする請求項２５に記載の記憶媒体。
【請求項２７】
前記文字設定変更工程では、前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報の描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定である場合は、当該文字の周りを白色で塗りつぶさない設定に変更することを特徴とする請求項２６に記載の記憶媒体。
【請求項２８】
前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報がビットマップデータである場合は、当該ビットマップに相当する領域内で当該ビットマップの白色の領域のすでにスプールされている描画内容が残るようにマスク用データを生成するマスク生成工程モジュールを更に有することを特徴とする請求項２５乃至２７のいずれか１項に記載の記憶媒体。
【請求項２９】
前記印刷データ生成工程では、スプールされている描画命令をスプールされた順序で読み出し、展開メモリにビットマップ展開する描画工程モジュールを有しており、
前記描画工程で描画されたビットマップデータに基づいてイメージプリンタ用の印刷データを生成し、該イメージプリンタに出力する出力工程モジュールを更に有することを特徴とする請求項２５乃至２８のいずれか１項に記載の記憶媒体。
【請求項３０】
前記印刷データ生成工程では、前記プリンタドライバを用いて、スプールされている描画命令をスプールされた順序で読み出し、該描画命令に基づいてプリンタ言語の印刷データを生成することを特徴とする請求項２５乃至２８のいずれか１項に記載の記憶媒体。
【請求項３１】
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成する情報処理方法を実行するプログラムを記憶するコンピュータにより読取り可能な記憶媒体であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力工程モジュールと、
前記入力工程で付加情報を付加する設定が入力されている場合に、前記入力工程で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断工程モジュールと、
前記判断工程により前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令を、前記付加情報の描画命令よりも先にスプールするスプール順序制御工程モジュールと、
前記判断工程で前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報の描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断工程と、
前記描画設定判断工程で前記付加情報の文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更工程モジュールと、
前記スプール順序制御工程でスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成工程モジュールと、
を有することを特徴とする記憶媒体。
【請求項３２】
前記スプール順序制御工程では、前記付加情報を前記印刷ドキュメントの背面に印刷する場合は、前記付加情報の描画命令を前記印刷ドキュメントの描画命令よりも先にスプールし、前記文字設定変更手段による前記付加情報の文字描画命令の設定の変更をスキップすることを特徴とする請求項３１に記載の記憶媒体。
【請求項３３】
前記文字設定変更工程では、前記印刷ドキュメントの描画命令をスプールする際に、該印刷ドキュメントの描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定である場合は、当該文字の周りを白色で塗りつぶさない設定に変更することを特徴とする請求項３２に記載の記憶媒体。
【請求項３４】
前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報がビットマップデータである場合は、当該ビットマップに相当する領域内で当該ビットマップの白色の領域のすでにスプールされている描画内容が残るようにマスク用データを生成するマスク生成工程モジュールを更に有することを特徴とする請求項３１乃至３３のいずれか１項に記載の記憶媒体。
【請求項３５】
前記印刷データ生成工程モジュールは、スプールされている描画命令をスプールされた順序で読み出し、展開メモリにビットマップ展開する描画工程モジュールを有しており、
前記描画工程で描画されたビットマップデータに基づいてイメージプリンタ用の印刷データを生成し、該イメージプリンタに出力する出力工程モジュールを更に有することを特徴とする請求項３１乃至３４のいずれか１項に記載の記憶媒体。
【請求項３６】
前記印刷データ生成工程では、前記プリンタドライバを用いて、スプールされている描画命令をスプールされた順序で読み出し、該描画命令に基づいてプリンタ言語の印刷データを生成することを特徴とする請求項３１乃至３４のいずれか１項に記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理方法および装置と記憶媒体に関するものであり、特にオーバーレイ印刷を行う情報処理方法および装置と記憶媒体に関するものである。
【０００２】
【従来の技術】
従来のオーバーレイ印刷では、オーバーレイ画像を対象画像の手前側に印刷するか、後方（背景）側に印刷する場合、例えば特許掲載公報第２７２６７５２号のように、オーバーレイをイメージメモリへ描画する順番を変える方法があった。この方法は、低解像度のページプリンタのように、描画命令をイメージメモリへ直接描画する場合には有効な方法である。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の方法ではオーバーレイを描画する処理と、印刷ドキュメントを描画する処理とが分離されるために、処理が複雑になっていた。
【０００４】
例えば、高解像度ページプリンタやカラープリンタを例にとると、イメージメモリが不足することになりバンディング処理を行うことが多い。ここでオーバーレイの描画処理と印刷ドキュメントの描画処理を分離すると、バンディング処理もオーバーレイと印刷ドキュメントと別々に行わなければならなくなる。従って処理量が増え、総合すると処理速度の低下が発生していた。
【０００５】
従来のようにプリンタ側におけるオーバーレイ処理では、予めホストコンピュータ上のアプリケーションにおいて作成した文書は帳票等のオーバーレイデータをプリンタに登録しておかなければならなかった。しかしながら、オーバーレイ機能のないプリンタで印刷出力をしたい場合には、従来の方法ではオーバーレイ等の付加情報を文書データに付加することができなかった。
【０００６】
そこで、アプリケーションにより生成した印刷ドキュメントに対して、プリンタドライバでスタンプやページ番号等を付加することにより、オーバーレイ機能のないプリンタでもスタンプはページ番号の付加された印刷ドキュメントを得ることを可能とすることが考えられている。
【０００７】
しかしながら、印刷ドキュメントに付加情報をいれた場合は、プリンタは１つの印刷ジョブとして受信するので、印刷ジョブ内の与えられた順序で描画して印刷してしまうため、順序を考慮して印刷ドキュメントに付加情報をいれなければならない。
【０００８】
また従来の印刷ドキュメントではオーバーレイがあることが分からないため、文字を区別して分かりやすくするために、文字の周りを白で塗りつぶすことがある。するとオーバーレイと印刷ドキュメントが重なったところで、文字の周りが白く抜けることがあった。
【０００９】
本発明は上記従来例に鑑みてなされたもので、文字とオーバーレイが重なるとき、又は手前側に印刷されるオーバーレイに文字がある場合に、文字の周囲の白抜きを防止できる情報処理方法及び装置と記憶媒体を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために本発明の情報処理装置は、
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての情報処理装置であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力手段と、
前記入力手段で付加情報を付加する設定が入力されている場合に、前記入力手段で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断手段と、
前記判断手段により前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合は、前記付加情報の描画命令を、前記印刷ドキュメントの描画命令よりも先にスプールするスプール順序制御手段と、
前記判断手段により前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合、前記印刷ドキュメントの描画命令をスプールする際に、該印刷ドキュメントの描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断手段と、
前記描画設定判断手段により該印刷ドキュメントの文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更手段と、
前記スプール順序制御手段によりスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成手段と、
を有することを特徴とする。
【００１１】
更に本発明によれば、
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての情報処理装置であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力手段と、
前記入力手段で付加情報を付加する設定が入力されている場合に、前記入力手段で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断手段と、
前記判断手段により前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令を、前記付加情報の描画命令よりも先にスプールするスプール順序制御手段と、
前記判断手段により前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報の描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断手段と、
前記描画設定判断手段により該付加情報の文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更手段と、
前記スプール順序制御手段によりスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成手段とを有することを特徴とする。
【００１２】
又本発明の情報処理方法によれば、
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成する情報処理方法であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力工程と、
前記入力工程で付加情報を付加する設定が入力されている場合に、前記入力工程で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断工程と、
前記判断工程で、前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合は、前記付加情報の描画命令を、前記印刷ドキュメントの描画命令よりも先にスプールするスプール順序制御工程と、
前記判断工程で前記付加情報を前記印刷ドキュメントの背面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令をスプールする際に、該印刷ドキュメントの描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断工程と、
前記描画設定判断工程で前記印刷ドキュメントの文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更工程と、
前記スプール順序制御工程でスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成工程とを有することを特徴とする。
【００１３】
又本発明の情報処理方法によれば、
アプリケーションにより生成された印刷ドキュメントに付加情報を付加し、印刷装置で印刷されるべき印刷データを生成する情報処理方法であって、
アプリケーションにより作成された印刷ドキュメントに付加情報を付加する設定および該付加情報を印刷ドキュメントの前面に描画するか背面に描画するかの指定をプリンタドライバの印刷設定画面を介して入力する入力工程と、
前記入力工程で付加情報を付加する設定が入力されている場合に、前記入力工程で入力された指定に基づいて前記付加情報を印刷ドキュメントの前面に描画するか背面に描画するかを判断する判断工程と、
前記判断工程で、前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令を、前記付加情報の描画命令よりも先にスプールするスプール順序制御工程と、
前記判断工程で前記付加情報を前記印刷ドキュメントの前面に印刷する指定であると判断された場合は、前記印刷ドキュメントの描画命令の後に前記付加情報の描画命令をスプールする際に、該付加情報の描画命令における文字描画命令の設定が文字の周りを白色で塗りつぶす設定であるか否かを判断する描画設定判断工程と、
前記描画設定判断工程で前記付加情報の文字描画命令の設定が文字の周りを白色で塗りつぶす設定であると判断された場合は、当該文字の周りを白色で塗りつぶさない設定に変更する文字設定変更工程と、
前記スプール順序制御工程でスプールされている描画命令をスプールされた順序で読み出し、当該読み出した各描画命令の順序の上書き処理で印刷装置で印刷されるべき印刷データを生成する印刷データ生成工程とを有することを特徴とする。
【００１４】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１５】
［実施の形態１］
＜用語の説明＞
最初に、本実施の形態における主要な用語の説明を行う。
「スプール処理」＝描画命令をファイルに保存する処理。
「スプールファイル」＝スプール処理により保存されたファイル（本実施の形態では、外部記憶装置のないシステムで、メモリ内に保存した場合もファイルと呼ぶことにする）。
「バンディング処理」＝画像を分割して描画転送処理を行うこと。
「バンド」＝バンディング処理で分割された画像。
「イメージメモリ」＝画面には表示されないが、画面と同じようにイメージを展開できるメモリ空間のこと。
【００１６】
＜プリンタドライバの処理の概要＞
次に、本実施の形態におけるプリンタドライバの処理の概要を説明する。
【００１７】
図１は、本実施の形態の付加情報であるオーバーレイと、アプリケーションにより生成された印刷ドキュメントとを描画するプリンタ制御システムの階層図である。
【００１８】
図１において、１０１はアプリケーションプログラムであり、１０２はＯＳ（オペレーティングシステム）である。１０３はプリンタドライバで、１０４はプリンタ、１０５はオフスクリーン（イメージメモリ）、１０６はスプールファイルである。１０７はオーバーレイ情報（スタンプ、付加情報）である。
【００１９】
図１から明らかなように、プリンタドライバ１０３はホストコンピュータのＯＳ１０２の下位層に位置し、アプリケーションプログラム１０１から描画命令を受け取り、それをプリンタ１０４が処理できる印刷命令に変換した後にプリンタ１０４に転送する。
【００２０】
特にラスタ画像を印刷するプリンタの場合、処理機能として複雑な描画命令の処理機能を持っていないために、アプリケーションプログラム１０１からの描画命令を一度スプールファイル１０６に保存し、転送時に保存されたスプールファイル１０６を用いてイメージメモリ１０５でビットマップ画像を作成し、プリンタ１０４に転送する。
【００２１】
ここで、ビットマップ画像を作成する時にホストコンピュータのメモリが少ない場合は画像を分割して描画及び転送処理を行う。
【００２２】
本実施の形態１は、ラスタープリンタを例にして説明しているが、高度なＰＤＬ（ページ記述言語）を持つページプリンタでもページプリンタ内部でＰＤＬをメモリにスプールし、イメージメモリに画像を描画し、印刷エンジンにイメージメモリの内容を転送するという意味では同じ処理構成になっている。
【００２３】
＜ハードウエアの構成＞
本実施の形態１を実現するためのハードウェアの構成例を図２に基づいて説明する。
【００２４】
図２の構成で、２０１は本実施の形態１の制御を司る制御部（以後ＣＰＵと称する）である。２０２は各種データを入力するキーボード、２０３はカラー表示器で、ＲＡＭ２０５に貯えられている画像データを表示する。２０４はＲＯＭで、この装置全体を制御する制御手順およびその他の必要な処理手順、データ、情報等が予め記憶されている。２０５はワークメモリとして利用されるランダムアクセスメモリ（ＲＡＭ）である。２０６はハードディスクで、各種データの読み書きやプログラムが格納されている。２０７は印刷データを送信するプリンタインターフェースであり、１０４は前述したプリンタである。２０９はデータバスであり、各種データを転送するために用いられる。なおハードディスク２０６にはアプリケーションプログラムやプリンタドライバなどが格納されており、ＲＡＭ２０５にロードされて、ＣＰＵ２０１により制御される。
【００２５】
＜スプール処理＞
次に本実施の形態１におけるプリンタドライバのスプール処理を図３及び図４に示すフローチャートを用いて以下説明する。本実施の形態の画面表記ではオーバーレイをスタンプと表現している。
【００２６】
図３及び図４に示す処理は、プリンタドライバがアプリケーションからの印刷命令を受けて、スプールファイルと呼ばれるファイルに保存する処理であり、実際の印刷命令への変換はこの処理の後に行う。
【００２７】
まずステップＳ１で、プリンタドライバはスプールファイルを初期化する。ステップＳ２乃至Ｓ５の処理は、オーバーレイをドキュメントの背景としてスプールする処理（図３）である。ステップＳ２では、プリンタドライバは図８の「前面に印刷」チェックボックスのチェック状態を調べ、チェックボックスがチェックされていなければオーバーレイを背景側に印刷すると判断し、チェックされていればオーバーレイを手前側に印刷すると判断する。図８の「スタンプ」メニューが「なし」の場合はオーバーレイを印刷しないと判断する。オーバーレイを背景側に印刷する場合はステップＳ３へ進み、オーバーレイを手前側に印刷するか、またはオーバーレイを印刷しない場合はステップＳ６へ進む。
【００２８】
ステップＳ３では、プリンタドライバは図８の「スタンプ」メニューで選ばれたオーバーレイ描画命令を図１のオーバーレイ情報１０７から取り出し、次にステップＳ４に進み、ステップＳ３で取り出したオーバーレイ命令をスプールファイルに付加する。そしてステップＳ５に進み、オーバーレイが複数の描画命令から成り立っているか判断し、オーバーレイが終了していない場合はステップＳ３へ戻り、終了していればステップＳ６へ進む。これで、書類の背景側にオーバーレイがスプールされたことになる。
【００２９】
（ドキュメントをスプールするためのステップ）
ステップＳ６では、プリンタドライバはアプリケーションからの描画命令を受け取る。具体的にはアプリケーションからＯＳに渡った描画命令をＯＳが細分化し、プリンタドライバのＤＤＩ(Device Driver Interface)を呼び出す。呼び出されたプリンタドライバは、呼ばれたＤＤＩの種類と引数の内容をメモリに保存する。ステップＳ７で、プリンタドライバはオーバーレイを背景側にスプールしたか否かを判断する。オーバーレイを背景側にスプールした場合は文字の白ぬけ防止処理を行うためにステップＳ８へ進み、そうでなければステップＳ１２へ進む。
【００３０】
ステップＳ８では、プリンタドライバはオーバーレイを背景側にスプールした場合であって、アプリケーションからの描画命令が文字描画命令かどうか判断する。具体的にはステップＳ６で、ＤＤＩのExtTextOut関数が呼び出されたか判断する。ExtTextOut関数はプリンタドライバが持つＤＤＩの一つである。ExtTextOut関数が呼び出されていたら、ステップＳ９へ進み、ExtTextOut関数が呼び出されていなければステップＳ１２へ進む。
【００３１】
ステップＳ９では、ステップＳ６で受け取った命令が文字列描画として文字の背景を白色で描画するか否かを判断する。具体的にはステップＳ６で保存したExtTextOut関数の引数lpDrawMode構造体のbkColorメンバが“0xFFFFFF（白色）”になっているか判断する。bkColorのメンバが“0xFFFFFF”になっていなければステップＳ１２へ進む。bkColorのメンバが“0xFFFFFF”ならステップＳ１０へ進む。ステップＳ１０では文字を塗りつぶしモードで描画するか判断する。具体的には、引数のwOptionsのETO_OPAQUEフラグが立っているか判断する。フラグが立っていなければステップＳ１２へ進む。フラグが立っていれば、文字の周りを白で塗りつぶすと判断してステップＳ１１へ進む。ステップＳ１１ではステップＳ６で保存したwOptionsのETO_OPAQUEフラグをクリアし、lpDrawMode構造体のbkModeメンバがOPAQUEならTRANSPARENTに変更することで、文字描画命令の文字の周りを白色で塗りつぶすという設定から文字の周囲を透明にするという設定に変更する。その後ステップＳ１２へ進む。
【００３２】
ステップＳ１２では、プリンタドライバはメモリに保存してある描画命令をスプールファイルに付加する。そしてステップＳ１３に進み、１ページ分の描画が終了したか判断し、１ページ分の描画が終了していればステップＳ１４へ進み、そうでなければステップＳ６へ戻る。
【００３３】
（オーバーレイをアプリケーションの手前側にスプールする処理：図４）
ステップＳ１４では、プリンタドライバは図８の「前面に印刷」チェックボックスのチェック状態を調べ、チェックボックスがチェックされていなければオーバーレイを背景側に印刷すると判断し、チェックされていればオーバーレイを手前側に印刷するかと判断する。図８の「スタンプ」メニューが「なし」の場合はオーバーレイを印刷しないと判断する。手前側に印刷するならステップＳ１５へ進み、そうでなければステップＳ２２へ進む。ステップＳ１５では、プリンタドライバは図８の「スタンプ」メニューで選ばれたオーバーレイ描画命令を図１のオーバーレイ情報１０７から取り出し、次にステップＳ１６で、プリンタドライバはオーバーレイ描画命令が文字描画命令かどうか判断する。即ち、オーバーレイの中に、文字の描画があるか否かを判断する。文字描画命令ならステップＳ１７へ進み、そうでなければステップＳ２０へ進む。
【００３４】
ステップＳ１７では、プリンタドライバは文字列描画として文字の背景色を白色で描画するか否かを判断し、白色で描画するように設定されている場合はステップＳ１８へ進み、そうでなければステップＳ２０へ進む。ステップＳ１８では、文字を塗りつぶしモードで描画するか判断し、塗りつぶしモードで描画するならステップＳ１９へ進み、そうでなければステップＳ２０へ進む。ステップＳ２０では、文字の周囲を白で塗りつぶすという設定を、文字の周りは透明という設定に変更する。そしてステップＳ２０に進み、オーバーレイ描画命令をスプールファイルに付加する。次にステップＳ２１に進み、プリンタドライバはオーバーレイが複数の描画命令から成り立っているか調べ、オーバーレイが完了したかを判断する。ここで完了していればステップＳ２２へ進み、そうでなければステップＳ１５へ戻る。
【００３５】
ステップＳ２２では、プリンタドライバは印刷ドキュメントの全ページについて、スプール処理が終了したか否かを判断し、まだ全ページのスプール処理が終了していないならステップＳ２へ進み、全ページのスプール処理が終了したらならば、スプール処理は終了する。
【００３６】
次に本実施の形態１におけるプリンタドライバの印刷処理を図７に示すフローチャートを用いて説明する。この印刷処理は通常の印刷処理と同じで、ラスタライズ処理、色変換処理、二値化処理、コマンド変換処理を行う。オーバーレイのための特別な処理は必要ない。
【００３７】
ステップＳ２０１では、スプール処理で作成されたスプールファイルをオープンする。ステップＳ２０２では全ページ印刷したかどうかを判断する。全ページ印刷したらステップＳ２１２へ進む。全ページ印刷していなければステップＳ２０３へ進む。
【００３８】
ステップＳ２０３ではオフスクリーンメモリの初期化を行う。ステップＳ２０４では、１ページ分の描画命令が終了したか判断する。１ページ終了したらステップＳ２０７へ進む。まだ終了していなければステップＳ２０５へ進む。ステップＳ２０５では、スプールファイルから描画命令を取得する。ステップＳ２０６では、取得した描画命令にオフスクリーンメモリに描画を行う。
【００３９】
プリンタドライバ１０３はスプールファイル１０６から描画命令を取り出してオフスクリーンメモリ１０５に描画している。スプールファイル１０６からの描画命令（印刷データ描画命令およびスタンプ描画命令を含む）の取得は、スプールファイル１０６に描画命令がスプールされた順序で取り出すことになる。つまり、先にスプールされたものが先に読み出され、結果として先に描画されることになる。よって、背面に描画されるべき付加情報は、アプリケーションから受け取った描画命令よりも先にスプールファイル１０６にスプールされているので、背面に描画されるべき付加情報はプリンタドライバに先に読み出され、オフスクリーンメモリ１０５に描画される。
【００４０】
プリンタドライバ１０３のオフスクリーンメモリ１０５への描画は、上書きすることにより描画される。つまり描画命令が重なる部分については、後で描画される方が優先となる。関連技術として、スタンプ等の付加情報はアプリケーションからの描画命令よりも後に描画し、その描画時に、前面に印刷する場合はそのまま上書きを行い、背面に印刷する場合はＲＯＰ処理（ラスターオペレーション：論理描画の一種）を行い、ＯＲを取って元のデータが消えないようにすることも可能である。この場合はアプリケーションからの描画命令である文字の周りが白く塗りつぶされる指定がなされていても、付加情報が消えてなくなることはない。しかしながら、この方法だと、例えば、赤い文字の背面に緑の背景を描画したい場合は、ＯＲを取ることにより文字が黄色になってしまうことになる。つまり、ユーザの希望する出力とならないという不具合がある。よって、本実施の形態では、描画は上書きで行い、描画順序を考慮しているのである。そして、描画順序に加え更に、文字の周りの属性を制御しているのである。
【００４１】
ステップＳ２０７では、オフスクリーンの全ての行を印刷命令に変換し、送信したかどうか判断する。全ての行を送信したらステップＳ２０２へ戻る。全ての行を送信していなければステップＳ２０８へ進む。ステップＳ２０８では、オフスクリーンのＲＧＢ→ＣＭＹＫ色変換を行う。ステップＳ２０９では、変換した多値のＣＭＹＫデータを２値データに変換する。ステップＳ２１０では、変換したＣＭＹＫ２値データを印刷命令に変換する。ステップＳ２１１では、変換した印刷命令をプリンタに送信する。その後ステップＳ２０７へ戻る。
【００４２】
ステップＳ２１２では、印刷処理終了後のスプールファイルのクローズを行う。ステップＳ２１３はスプールファイルの削除を行う。
【００４３】
［実施の形態２］
本発明の実施の形態２は、オーバーレイとして描画命令ではなくビットマップを用いる例である。
【００４４】
図５並びに図６のフローチャートを用いて本実施の形態２のビットマップを用いるオーバーレイの処理を以下説明する。
【００４５】
＜スプール処理＞
まずステップＳ１０１で、プリンタドライバはスプールファイルの初期化処理を行う。ここでステップＳ１０２乃至Ｓ１０４は、オーバーレイをドキュメントの背景側にスプールする処理（図５）を示す。即ち、ステップＳ１０２では、図８の「前面に印刷」チェックボックスのチェック状態を調べ、チェックボックスがチェックされていなければオーバーレイを背景側に印刷すると判断し、チェックされていればオーバーレイを手前側に印刷すると判断する。図８の「スタンプ」メニューが「なし」の場合はオーバーレイを印刷しないと判断する。背景側に印刷する場合はステップＳ１０３へ進む。オーバーレイを手前側に印刷するか、またはオーバーレイを印刷しない場合ステップＳ１０５へ進む。
【００４６】
ステップＳ１０３では、プリンタドライバは図８の「スタンプ」メニューで選ばれたオーバーレイ画像に対応するオーバーレイビットマップを図１の１０７から取り出す処理をする。そしてステップＳ１０４に進み、プリンタドライバは取り出されたオーバーレイビットマップをスプールファイルに付加する。
【００４７】
（ドキュメントをスプールするためのステップ）
ステップＳ１０５では、プリンタドライバはアプリケーションからの描画命令を受け取る。具体的には、アプリケーションからＯＳに渡った描画命令をＯＳが細分化し、プリンタドライバのＤＤＩ(Device Driver Interface)を呼び出す。呼び出されたプリンタドライバは呼ばれたＤＤＩの種類と引数の内容をメモリに保存する。次にステップＳ１０６に進み、プリンタドライバはオーバーレイを背景側にスルールしたか否かを判断する。オーバーレイを背景側にスプールした場合は文字の白ぬけ防止処理を行うためにステップＳ１０７へ進み、そうでない場合はステップＳ１１１へ進む。ステップＳ１０７では、アプリケーションから受け取った描画命令が文字描画命令であるかどうかを判断する。具体的には、ステップＳ１０５でＤＤＩのExtTextOut関数が呼び出されたか判断する。ExtTextOut関数は、プリンタドライバが持つＤＤＩの一つである。ExtTextOut関数が呼び出されていたら文字描画命令と判断する。文字描画命令ならステップＳ１０８へ進み、そうでない場合はステップＳ１１１へ進む。
【００４８】
ステップＳ１０８では、文字列描画として文字の背景を白色で描画するか否かを判断する。具体的にはステップＳ１０５で保存したExtTextOut関数の引数lpDrawMode構造体のbkColorメンバが“0xFFFFFF（白色）”になっているか判断する。bkColorのメンバが“0xFFFFFF”になっていなければステップＳ１１１へ進む。bkColorメンバが“0xFFFFFF”ならステップＳ１０９へ進む。ステップＳ１０９では文字を塗りつぶしモードで描画するか判断する。フラグが立っていなければステップＳ１１１へ進む。フラグが立っていれば、文字の周りを白で塗りつぶすと判断してステップＳ１１０へ進む。ステップＳ１１０では、ステップＳ１０５で保存したwOptionsのETO_OPAQUEフラグをクリアし、lpDrawMode構造体のbkModeメンバがOPAQUEならTRANSPARENTに変更することで、文字描画命令の文字の周りを白色で塗りつぶすという設定から文字の周囲を透明にするという設定に変更する。そしてステップＳ１１１に進み、プリンタドライバはメモリに保存してある描画命令をスプールファイルに付加する。次にステップＳ１１２では、１ページ分の描画が終了したか否かを判断し、１ページ分の描画が終了していればステップＳ１１３へ進み、そうでない場合はステップＳ１０５へ戻る。
【００４９】
次に図６のフローチャートを参照して、オーバーレイをアプリケーションの手前側にスプールする処理を説明する。
【００５０】
ステップＳ１１３では、プリンタドライバは図８の「前面に印刷」チェックボックスのチェック状態を調べ、チェックボックスがチェックされていなければオーバーレイを背景側に印刷すると判断し、チェックされていればオーバーレイを手前側に印刷すると判断する。図８の「スタンプ」メニューが「なし」の場合はオーバーレイを印刷しないと判断する。オーバーレイを手前側に印刷する場合はステップＳ１１４へ進み、そうでない場合はステップＳ１２２へ進む。ステップＳ１１４では、プリンタドライバは図８の「スタンプ」メニューで選ばれたオーバーレイビットマップを図１のオーバーレイ情報１０７から取り出す。ステップＳ１１５では、Ｓ１１４で取得したオーバーレイビットマップと同じサイズのマスク用ビットマップを作成する。ここで作成されるマスク用ビットマップは白か黒の２値データとして扱い、予めマスク用ビットマップは全ての点を“０（黒）”に指定する。そしてステップＳ１１６に進み、プリンタドライバはオーバーレイビットマップの（ｘ，ｙ）座標の点が白で塗りつぶす設定になっているか否かを判断する。オーバーレイビットマップの（ｘ，ｙ）座標の点が白で塗りつぶすことになっている場合はステップＳ１１７へ進み、そうでない場合はステップＳ１１９へ進む。
【００５１】
ステップＳ１１７では、プリンタドライバはオーバーレイのビットマップの（ｘ，ｙ）座標の色を白で塗りつぶす設定から“0x000000（黒）”に置き換える。これは後でＯＲ処理（ステップＳ１２１）をするときに、すでにスプールされているデータを消さないための処理である。ステップＳ１１８では、プリンタドライバは、オーバーレイのビットマップの白く塗りつぶす設定がされている座標に相当するマスク用ビットマップの（ｘ，ｙ）座標の色を“１（白）”にする。こうすることにより、例えば、「秘密」と描画されているビットマップの文字の周りの部分だけ白く反転されたマスク用ビットマップが生成される。そしてステップＳ１１９に進み、プリンタドライバはオーバーレイビットマップの全ての点をチェックしたかどうかを確認する。全ての点のチェックが終わっていない場合はステップＳ１１６へ戻り、全ての点のチェックが終わったならばステップＳ１２０へ進む。
【００５２】
ステップＳ１２０では、プリンタドライバはマスク用ビットマップを論理モードＡＮＤで描画するようにスプールファイルに付加する。こうすることにより、すでにスプールファイルに付加されているアプリケーションが生成した描画命令のスタンプと重なる部分について、スタンプのビットマップの文字の周りの部分だけが描画されることになる。ステップＳ１２１では、プリンタドライバはオーバーレイビットマップをＯＲで描画するようにスプールファイルに付加する。描画時にはスタンプのオーバーレイビットマップと重なる部分は文字の周りの部分だけがデータとして残っているはずなので、ＯＲ処理をするとアプリケーションが生成した描画命令のスタンプと重ならない部分についてのデータが残ることになる。そしてステップＳ１２２で、印刷ドキュメントの全ページが終了したか否かを判断し、全ページが終了していない場合はステップＳ１０２へ進み、全ページが終了した場合はスプール処理を終了する。
【００５３】
本実施の形態２に係るプリンタドライバの印刷処理は形態１と同じである。
【００５４】
［実施の形態３］
上記の実施の形態１，２では、いずれもホストコンピュータ側でラスタライズして得られたイメージデータに基づく印刷データをプリンタ（インクジェットプリンタやホストベースプリンタ）に送る制御について説明している。
【００５５】
この実施の形態３では、ページ記述言語等のプリンタ言語をプリンタに送り、プリンタでプリンタ言語を解釈して印刷処理を行う場合のホストコンピュータの処理について説明する。
【００５６】
アプリケーションにより生成された描画命令とスタンプ等の付加情報をスプールする図２及び図３の処理については同様である。図７の制御が変更される。
【００５７】
実施の形態３の処理では、ステップＳ２０３〜Ｓ２１１の制御は行わずに、スプールファイルから順次描画命令を読み出して、描画命令（付加情報の描画命令およびアプリケーションから受け取ったオリジナル描画命令）を解析して、付加情報の描画命令と重なるオリジナル描画命令を判断する。もし、付加情報と重なるオリジナル描画命令がある場合は以下の処理を行う。
【００５８】
該当する付加情報が「背面に印刷」か「前面に印刷」かを判断し、「背面に印刷」の場合はオリジナル描画命令が付加情報の上に上書きするように印刷順序を指定する。また、付加情報が「前面に印刷」の場合は、付加情報がオリジナル描画命令の上に上書きするように印刷順序を指定する。このように印刷順序の描画属性を設定した後、それぞれの描画命令に基づいてページ記述言語のプリンタ言語に変換した印刷データを生成し、プリンタに出力する。
【００５９】
このように制御することにより、プリンタ言語を解釈して印刷処理を行うプリンタに対しても、アプリケーションが生成した印刷ドキュメント（オリジナル描画命令）にスタンプ等の付加情報を付加することが可能となり、その際に、印刷ドキュメントの前面に印刷するか背面に印刷するかを指定された場合でも、文字の周りが抜けることなくプリンタ側で印刷処理を行うことが可能となる。
【００６０】
［その他の実施の形態］
前述の実施の形態では、全ページのスプール処理が終了してから印刷処理へ移行する流れを説明したが、１ページ単位でスプール処理と印刷処理を繰り返す処理も本発明の実施の形態となることは言うまでもない。
【００６１】
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【００６２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或は装置に供給し、そのシステムあるいは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【００６３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６７】
【発明の効果】
以上に説明したように本発明によれば、オーバーレイに重なるドキュメント中の文字の回りが白抜きされずに印刷される。
【００６８】
また文字があるオーバーレイが手前側にある場合でもその文字の回りは白抜きされない。
【００６９】
また更に、オーバーレイが後ろでも、前でも文字の周囲の白抜けを防止できる。従って、特別な描画処理機能を備えずに、オーバーレイを印刷ドキュメントの手前側に置いたり背景側におくことが可能になる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るシステムの階層図である。
【図２】本実施の形態に係るハードウェアの構成を示すブロック図である。
【図３】本発明の実施の形態１に係る処理を説明するフローチャートである。
【図４】本発明の実施の形態１に係る処理を説明するフローチャートである。
【図５】本発明の実施の形態２に係る処理を説明するフローチャートである。
【図６】本発明の実施の形態２に係る処理を説明するフローチャートである。
【図７】本発明の実施の形態１に係る印刷処理を説明するフローチャートである。
【図８】本発明の実施の形態１と２のプリンタドライバの画面例で、オーバーレイを使わない状態を示す図である。
【図９】本発明の実施の形態１と２のプリンタドライバの画面例で、オーバーレイをドキュメントの背面に印刷する状態を示す図である。
【図１】
0003862460.tif 000002
【図２】
0003862460.tif 000003
【図３】
0003862460.tif 000004
【図４】
0003862460.tif 000005
【図５】
0003862460.tif 000006
【図６】
0003862460.tif 000007
【図７】
0003862460.tif 000008
【図８】
0003862460.tif 000009
【図９】
0003862460.tif 000010