(57)【要約】【課題】  イメージファイルなどをロゴとして入力可能にする印刷制御装置を提供する。【解決手段】  ステップS５１０２で、入力されたイメージの種類を判別する。入力されたイメージがＤＩＢならば、ステップS５１１０へ進む。入力されたイメージがＤＩＢでなければ、ステップS５１０３へ進む。ステップS５１０３でもまた、イメージの種類を判別する。入力されたイメージがEMFならば、ステップS５１０６へ進む。入力されたイメージがＥＭＦでなければ、ステップS５１０４へ進む。ステップS５１０６では、EMFをレンダリングしてビットマップに描画する。また、入力されたイメージを２値化したロゴイメージを示すプレビュー機能により、プレビュー機能利用者は、意図した偽造抑制地紋が印刷される画像に正しく付加されているか確認することができる。【選択図】  図２４
2005115874.tif 000002
【特許請求の範囲】
【請求項１】
複写時に複写物が原本と異なることを示す地紋画像を生成可能な印刷制御装置であって、
複写時、ユーザが認識可能に現れる顕像部に使用するイメージの入力を受け付けるユーザインタフェース手段と、
前記ユーザインタフェース手段を介して入力されたイメージを用いて、前記地紋画像を生成する地紋生成手段と
を備えることを特徴とする印刷制御装置。
【請求項２】
前記地紋生成手段により生成された前記地紋画像を含むプレビュー画像を生成するプレビュー画像生成手段と、
前記プレビュー画像生成手段により生成されたプレビュー画像を表示する表示手段と
を更に備えることを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
複写時に複写物が原本と異なることを示す地紋画像を生成可能なコンピュータにより実行される印刷制御方法であって、
ユーザインタフェースを通じて、複写時、ユーザが認識可能に現れる顕像部に使用するイメージの入力を受け付けるステップと、
前記受け付けるステップにおいて入力されたイメージを用いて、前記地紋画像を作成するステップと
を備えることを特徴とする印刷制御方法。
【請求項４】
前記生成するステップにおいて生成された前記地紋画像を含むプレビュー画像を生成するステップと、
前記生成されたプレビュー画像を表示するステップと
を更に備えることを特徴とする請求項３に記載の印刷制御方法。
【請求項５】
コンピュータを請求項１または２に記載の印刷制御装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷制御装置、印刷制御方法およびコンピュータプログラムに関し、詳しくは、パーソナルコンピュータ等の情報処理装置とプリンタなどの印刷装置を有して構成されるシステムにおいて、複写物の使用などを牽制する地紋画像を含んだ画像をプリントする際の処理に関するものである。
【背景技術】
【０００２】
従来、帳票や住民票などの複写を禁止、或いは抑止する目的で、これらのコンテンツは偽造防止用紙と呼ばれる特殊な印刷を施した用紙に印刷されていた。この偽造防止用紙は、原本においては人間にとって見えにくいが、複写機などを用いて複写した場合には「禁複写」の文字などが浮び上がるような用紙であり、これにより、複写する者にその複写物の使用などを躊躇わせる効果を生じさせるものである。延いては、このような帳票などは偽造防止用紙に印刷されているとして、複写そのものを抑止する効果をも生じさせるものである。しかし、このような偽造防止用紙は、通常の用紙と比較してコストが高いという問題があり、また、偽造防止用紙の製作時に設定されている文字しか浮び上がらせることができず、その用紙の用途が限られるなど、用途に関して柔軟性に欠ける部分がある。
【０００３】
一方、様々なコンテンツのデジタル化が進む中、帳票や住民票などのコンテンツも同様にデジタル化されている。しかしながら、これら帳票や住民票の利用など、その扱いに関するデジタル化は、まだ過渡期にあり、コンピュータを用いて作成したコンテンツを、プリンタなどを用いて紙に出力して利用することが多い。
【０００４】
こうした状況に加えて、近年のプリンタの性能の飛躍的な向上も起因して、従来の偽造防止用紙と同様の効果をコンピュータとプリンタを用いて行う技術が注目されている(例えば、特許文献１参照)。これは、コンピュータを用いて作られたコンテンツを、プリンタを用いて印刷出力する際に、コンテンツの背景に地紋と呼ばれる画像を重ねて出力する技術である。地紋画像は、原本（プリンタで出力した印刷物）においては単なる模様などに見えるが、複写すると所定の文字などが浮び上がるようなものであり、複写した者に偽造防止用紙と同様の牽制効果を与えることができる。
【０００５】
コンピュータを用いて作成した地紋画像を重ねて出力する場合、当然のことながら通常の印刷用の紙などを用いて出力できるため、偽造防止用紙に比べてコストの面で利点がある。更に、コンテンツを印刷出力する際に地紋画像を生成することができ、これにより、基本的に複写の際に顕在化させる文字等を自由に定めることが可能となる。あるいは、「禁複写」など一定の予め定まった静的な文字列などに加えて、ユーザ名や出力日時などの動的もしくは任意の文字列を浮び上がらせることができるという利点もある。
【０００６】
地紋画像は、上述したように、複写をした場合複写前には認識できなかった所定の文字などが顕在化し、その複写物を使用等することを抑止する効果を実現するものである。この効果を実現すべく、地紋画像は、基本的に、複写後に画像が残る領域と複写後に画像が消えるか、あるいは上記の残る領域に較べて薄くなって認識し難くなる領域の２つの領域から構成される。この２つの領域は印刷した状態ではほぼ同じ濃度であり、マクロ的には、一見すると「禁複写」などの複写によって顕在化する文字などが隠れていることが分からないが、ミクロ的には、例えば、印刷のドットのレベルでは以下に示されるようにそれぞれ異なる特性を持っている。この隠されていて複写によって現れる文字などの画像を「潜像(あるいは潜像画像)」と呼び、複写によって消えるかあるいは薄くなる画像を「背景(あるいは背景画像)」と便宜的に呼ぶ。そして、地紋画像は、基本的にこの潜像画像と背景画像からなるものであり、また、後述のカモフラージュ画像をさらに含む場合もある。なお、ユーザインタフェース上の用語として潜像を前景と呼ぶ場合もある。但し、地紋印刷は上記構成に限定されるものではなく、複写時にユーザが認識可能に「禁複写」などの文字列などが現れる（顕像化する）ように構成すればよい。つまり、文字列などが背景部として指定され、複写時に白抜き文字のような状態で示されても地紋印刷としてはその目的を達成することになる。この場合、潜像部と背景部の上述したドットの集中と分散の関係は白抜きでないものと逆の関係となることはもちろんである。
【０００７】
さて、複写後にドットが残る領域（潜像部または前景部）はドットが集中したドットの塊の集まりで構成され、複写後にドットが消える領域（背景部）は分散したドットの集まりで構成される。さらに、それぞれの集まりが濃度が同じになるよう構成されることにより、潜像部と背景部の濃度をほぼ同じものとすることができる。
【０００８】
図２７は、この２つの領域を示す図である。同図に示すように、ドットが分散して配置される背景部と集中したドットの塊が配置される潜像部によって地紋画像が構成される。このふたつの領域は、それぞれ異なる網点処理や異なるディザ処理により生成することができる。網点処理を用いて地紋画像を生成する場合、潜像部は低い線数の網点処理、背景部は高い線数の網点処理が適している。ディザ処理を用いて地紋画像を生成する場合、潜像部はドット集中型ディザマトリクスを用いたディザ処理、背景部はドット分散型ディザマトリクスを用いたディザ処理が適している。
【０００９】
一般に複写機には、原稿の微小なドットを読み取る入力解像度や微小なドットを再現する出力解像度に依存した再現能力の限界が存在する。地紋画像の背景部のドットが、複写機で再現できるドットの限界より小さく形成され、潜像部のドット塊が限界より大きく形成されている場合、複写により地紋画像の大きなドット塊による画像は再現され、小さなドットによる画像は再現されず、潜像が顕在化される。また、複写によって分散した小さなドットが完全に消えなくとも、集中したドット塊と比較して複写後の濃度がより低い場合でも、潜像は相対的により顕著に認識できる。このように画像が浮かび上がる画像は顕像と呼ばれる。
【００１０】
図２８(ａ)および(ｂ)は、この顕像化を示す図である。同図は集中したドットの塊の集まりによる潜像が現れ、分散したドットによる背景が消えた場合を示している。
【００１１】
また、地紋画像には、潜像をより認識しにくくする「カモフラージュ」という技術が適用されることも良く知られている。カモフラージュは、潜像部や背景部とは濃度を異ならせた模様を地紋画像全体に配置する技術であり、一見、潜像部や背景部とは異なる濃度のカモフラージュ画像が目立ち、潜像が更に目立たなくなる効果がある。また、カモフラージュ画像が存在する地紋画像は、印刷物に装飾的な印象を与える効果もある。図２９(ａ)はカモフラージュ画像が施されない地紋画像を示し、同図(ｂ)はカモフラージュ画像を施した地紋画像を示している。このカモフラージュ画像は、複写後に顕在化される潜像の判別が容易となるように、その画像を構成するドットができるだけ複写後に消失することが望ましい。これは、例えば、図２９(ｂ)に示すように、カモフラージュ画像を地紋画像の中に形成された輪郭のみの画像とし、その輪郭に相当する箇所にドットを打たないことで実現することができる。
【００１２】
【特許文献１】特開２００１−１９７２９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上記のように、従来の地紋パターンは、コピー後に消えるテクスチャ（背景部）と、浮かび上がるロゴ（潜像部）とによって構成されている。しかしながら、潜像部のロゴにはコピー牽制用の文字しか情報しか入力することができない。このため、会社のロゴ等のように特殊なフォントやビットマップで構成されている場合、そのようなビットマップをロゴとして入力することができないという問題があった。
【００１４】
本発明はこのような問題に鑑みてなされたものであり、その目的とするところは、イメージファイルなどをロゴとして入力可能にする印刷制御装置、印刷制御方法およびコンピュータプログラムを提供することにある。
【００１５】
本発明の別の目的は、イメージを２値化したロゴイメージを含む偽造抑制地紋を印刷前に確認することができる印刷制御装置、印刷制御方法およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
このような目的を達成するため、本発明に係る印刷制御装置は、複写時に複写物が原本と異なることを示す地紋画像を生成可能な印刷制御装置であって、複写時、ユーザが認識可能に現れる顕像部に使用するイメージの入力を受け付けるユーザインタフェース手段と、前記ユーザインタフェース手段を介して入力されたイメージを用いて、前記地紋画像を生成する地紋生成手段とを備える。
【発明の効果】
【００１７】
本発明によれば、顕像化することを所望するイメージの入力を受け付け、入力されたイメージを顕像化させる地紋の画像を生成するので、イメージファイルなどを地紋画像として生成可能になるという効果がある。
【００１８】
また、生成された地紋の画像を含むプレビュー画像を生成し、生成されたプレビュー画像を表示するので、ユーザが所望する地紋設定に従ってユーザインナーフェイス上に簡易プレビュー表示し、地紋設定を容易にする効果もある。
【００１９】
本発明の他の目的は、添付の特許請求の範囲および以下の添付図面に基づく説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明を適用するのに好適な実施の形態を詳細に説明する。
【００２１】
図１から図２５は、本発明の一実施形態に係わる情報処理装置であるホストコンピュータと印刷装置であるプリンタを有して構成されるシステムにおける、印刷処理およびそれに伴う地紋画像の描画データの生成に関する構成を説明するとともに、後述される本発明の地紋画像の表示のいくつかの実施形態ための前提となる構成を説明する図である。以下、これらの図を参照して地紋画像表示の前提となる構成について説明する。
【００２２】
なお、本実施形態においては、複写時に顕像化する部分を潜像部または前景部と称し、複写時に消失または潜像部に比較して薄くなる部分を背景部と称している。そして、潜像部には「禁複写」などのテキスト情報を入力している。しかしながら本発明における地紋画像はこれに限られるものではなく、複写時にテキスト情報またはイメージが周囲の画像に対して白抜き文字や画像のように表現される（顕像化する）形態であってもよい。本発明は地紋画像の種類や生成処理、色、形状、サイズなどによって規定されるものではない。
【００２３】
＜印刷システムの構成＞
図１は本発明の実施形態を示すプリンタ制御システムの構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【００２４】
同図において、ホストコンピュータ３０００は、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて、図２６以降で後述される本発明の実施形態に係わる処理を含む、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理およびそれに基づく印刷処理の実行を制御するＣＰＵ１を備える。このＣＰＵ１は、システムバス４に接続される各デバイスの制御を総括する。また、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステム（以下ＯＳ）等を記憶し、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データを記憶する。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００２５】
キーボードコントローラ（ＫＢＣ）５は、キーボード（ＫＢ）９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０による表示を制御する。ディスクコントローラ（ＤＫＣ）７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００２６】
なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００２７】
プリンタ１５００は、そのＣＰＵ１２により制御される。プリンタＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に印刷出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラム用ＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００２８】
ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ１５００内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するメモリで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、入力部１８には前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００２９】
また、前述した外部メモリ１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００３０】
印刷部１７は本実施形態では電子写真方式のエンジンを備えており、従って、画像の印刷およびそれに伴う地紋画像はそれらの印刷データに従って形成されるトナーのドットによって印刷が行われる。なお、本発明の適用上印刷の方式はこのような電子写真方式に限られないことはもちろんであり、例えば、インクジェット方式など、ドットを形成して印刷を行う方式の印刷方式にも本発明を適用することができる。
【００３１】
図２は、図１に示したホストコンピュータ３０００における印刷処理のための構成の一例を示す。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部メモリ１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００３２】
グラフィックエンジン２０２は、プリンタなどの印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ（Graphic Device Interface）関数をＤＤＩ（Device Driver Interface）関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Page Description Language）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経て双方向性インタフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００３３】
本実施形態の印刷システムは、プリンタドライバ２０３内に地紋処理部２０５を有する。地紋処理部２０５はプリンタドライバ２０３のビルトインモジュールであってもよいし、個別のインストーレーションによって追加されるライブラリモジュールの形式であっても構わない。また、プリンタドライバ２０３は、地紋画像の印刷に関し、その地紋処理部２０５の実行により、後述の地紋画像の描画などの処理を行う。
【００３４】
＜印刷関連のソフトウエアモジュール＞
図３は、ホストコンピュータ３０００における印刷処理のための構成の他の例を示す図である。
【００３５】
同図は、図２に示した構成を拡張したものであり、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０３を生成する構成をとる。図２の構成では、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィックエンジン２０２からの全ての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図３の構成は、スプーラ３０２が全ての印刷命令を中間コードデータに変換し、スプールファイル３０３に出力した時点で開放されるという点で異なっている。通常、後者の方がアプリケーションによる印刷処理が短時間で済む。また、図３で示す構成においては、スプールファイル３０３の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーションの持たない機能を実現することができる。
【００３６】
これらの目的のために、図２の構成に対し、図３に示すように中間コードデータでスプールするよう、システムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ２０３がＣＲＴディスプレイ（ＣＲＴ）１０に表示させるウィンドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ２上あるいは外部メモリ１１上に保管する。
【００３７】
以下、図３に示す構成の詳細を説明する。同図に示す通り、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令であるＤＤＩ関数をディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づくものである場合には、ディスパッチャ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令（ＤＤＩ関数）を送付する。
【００３８】
スプーラ３０２は受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル３０３に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル（ＰＤＦ：Page Description File）と呼ぶ。また、スプーラ３０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定（Ｎｕｐ、両面、ステープル、カラー／モノクロ指定等）をプリンタドライバ２０３から取得してジョブ単位のファイルとしてスプールファイル３０３に保存する。このジョブ単位に格納されている設定ファイルをジョブ設定ファイル（簡略してＳＤＦ：Spool Description Fileと呼ぶこともある）と呼ぶ。このジョブ設定ファイルについては後述する。なお、スプールファイル３０３は外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成されても構わない。更にスプーラ３０２は、外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【００３９】
スプールファイルマネージャ３０４がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０５に対して、スプールファイル３０３に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
【００４０】
デスプーラ３０５はスプールファイル３０３に含まれる中間コードのページ描画ファイルをスプールファイル３０３に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、ＧＤＩ関数を再生成し、もう一度グラフィックエンジン２０２経由でＧＤＩ関数を出力する。その際、地紋画像の印刷に関する描画については、地紋処理部２０５をロードし、描画処理を行う。
【００４１】
ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）がデスプーラ３０５からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づいたものである場合には、ディスパッチャ３０１はスプーラ３０２ではなく、プリンタドライバ２０３に印刷命令を送る。
【００４２】
プリンタドライバ２０３はグラフィックエンジン２０２から取得したＤＤＩ関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５００に出力する。
【００４３】
更に、図３に示すように、上述した拡張システムに加えて、プレビューア３０６、設定変更エディタ３０７を配し、地紋画像のプレビューを含むプレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、まずユーザが図４に示すプリンタドライバのプロパティシートにおいて、「出力先の指定」を行う手段であるプルダウンメニュー９０１において「ストア」を指定する必要がある。なお、プレビューだけをみたい場合は、出力先の指定として「プレビュー」を選択することによっても可能である。
【００４４】
このようにプリンタドライバのプロパティで設定されている内容は設定ファイルとしてＯＳが提供する構造体（Windows（登録商標）ＯＳでは、DEVMODEと呼ばれる）に格納される。その構造体には、例えばスプールファイル３０３に含まれる加工設定ファイル中にスプールファイルマネージャ３０４にストアを行うかどうかの設定が含まれている。スプールファイルマネージャ３０４がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、前述したようにスプールファイル３０３にページ描画ファイルとジョブ設定ファイルとが生成・格納される。そして、スプールファイルマネージャのウィンドウ画面がポップアップされ、スプールファイル３０３にスプールされたジョブがリスト表示される。
【００４５】
スプールファイルマネージャのウィンドウ画面上で、ある単体ジョブまたは結合ジョブのプレビュー指定がされた場合、外部メモリ１１に格納されているプレビューア３０６をＲＡＭ２にロードし、プレビューア３０６に対して、スプールファイル３０３に記述された中間コードのジョブのプレビュー処理を行うように指示する。
【００４６】
（プレビューア）
プレビューア３０６はスプールファイル３０３に含まれる中間コードのページ描画ファイル（ＰＤＦ）を順次読み出し、スプールファイル３０３に格納されているジョブ設定ファイル（ＳＤＦ）に含まれる加工設定情報の内容に従って加工する。グラフィックエンジン２０２に対してＧＤＩ関数を出力する。グラフィックエンジン２０２が自身の確保するクライアント領域に描画データを出力することによって、画面上の出力が可能となる。
【００４７】
グラフィックエンジン２０２は、指定された出力先に応じて適切なレンダリングを行うことが可能である。このことから、プレビューア３０６は、デスプーラ３０５同様に、スプールファイル３０３に含まれる中間コードをスプールファイル３０３に含まれる加工設定の内容に従って加工し、グラフィックエンジン２０２を利用して出力する方法で実現可能となる。このようにプリンタドライバで設定されている加工設定をジョブ設定ファイルとしてスプールファイル３０３に格納し、このジョブ設定ファイルに基づいてページ描画ファイルのデータを加工して出力する。
【００４８】
通常の文書作成等のアプリケーションソフトウェアが有しているプレビュー機能は、あくまでそのアプリケーションにおけるページ設定に基づいて描画しているため、プリンタドライバでの印刷設定が反映されず、実際に印刷出力されるプレビューをユーザに認識させることはできなかった。これに対し本発明では上述の処理を行うことにより、実際の描画データがどのように印刷されるか、更には、Ｎｕｐ（Ｎページの論理ページを１ページの物理ページに縮小配置して印刷する処理）指定されている場合、両面印刷されている場合、製本印刷指定されている場合、スタンプが指定されている場合、それぞれに応じて、プリンタで出力されるものに近い印刷プレビューをユーザに提供することができる。
【００４９】
上記のようにプレビュー処理を行うことにより、スプールファイル３０３に含まれる印刷の加工設定の大プレビューがプレビューア３０６によって画面上に表示される。図５はプレビューア３０６が表示するプレビュー画面の一例である。その後、ユーザの非表示指示によって、プレビューア３０６がクローズされ、制御が図６に示すようなスプールファイルマネージャのウィンドウ画面に移行する。そして、ユーザがプレビューア３０６によって表示された内容に従って印刷を行うとき、スプールファイルマネージャ３０４上で、「印刷」または「セーブして印刷」を指示することにより印刷要求を発行する。この印刷要求により、前述したようにデスプーラ３０５がジョブ設定ファイルに基づいてページ描画ファイルを加工してＧＤＩ関数を生成し、グラフィックエンジン２０２に伝える。グラフィックエンジン２０２からディスパッチャ３０１経由でプリンタドライバ２０３に印刷命令が送られ、印刷が実行される。
【００５０】
（設定変更エディタ）
次に、設定変更エディタ３０７を用いた設定変更について説明する。その実現方法としては、プレビュー同様、図４に示す「ストア」指定されたジョブに関して設定変更が可能である。プレビューと同様の手順によりスプールファイルマネージャ３０４のウィンドウがポップアップされ、スプールされたジョブがリスト表示される。スプールファイルマネージャのウィンドウ画面上で、「ジョブ編集」が指定され、設定変更指示がされた場合、外部メモリ１１に格納されている設定変更エディタ３０７をＲＡＭ２にロードし、設定変更エディタ３０７に対して、現在またはデフォルトの加工設定の表示を行うように指示する。そしてジョブ設定画面が表示される。
【００５１】
設定変更エディタ３０７は、「ジョブ編集」が指定されたジョブのジョブ設定ファイルをスプールファイル３０３から取得し、そのジョブ設定ファイルに指定されている設定項目に基づいてジョブ設定画面のデフォルト値を変更する。この設定変更エディタ３０７でもスプールファイル３０３に含まれる中間コードのページ描画ファイルをスプールファイル３０３に格納されているジョブ設定ファイルに含まれる加工設定の内容に従って加工し、グラフィックエンジン２０２を用いてメモリに出力することによって、画面上の小プレビュー出力が可能となる。
【００５２】
また、ここで、スプールファイル３０３に格納されているジョブ設定ファイルに含まれる加工設定の内容を変更、修正することが可能である。その際、設定変更エディタ３０７上のユーザインタフェースがプリンタドライバ２０３の設定可能な項目を持つこととしてもよく、あるいはプリンタドライバ２０３自身のユーザインタフェースを呼び出しても構わない。ここでは、部数、印刷方法（片面、両面、製本印刷）、ステープル（サドルフィニッシャー等）、ページレイアウト、配置順等の指定ができ、また「詳細設定」を押下することにより、プリンタドライバで指定できる項目の大半を設定し直すことが可能となる。ただし、地紋印字は所定範囲の印刷品位により実現されるので、解像度、グラフィックモード等の印刷品位に関する設定の変更は許可しないものとする。
【００５３】
ここで変更された変更項目は設定変更エディタ３０７上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ３０４に移行する。変更が認証されたものは、印刷設定の変更を保存することになるが、オリジナルのジョブ設定ファイルには保存せずに、ジョブ編集等で用いられるジョブ出力用設定ファイルを新たに生成して保存することになる。ジョブ出力用設定ファイルについての詳細は、図１１以降を参照して後述する。
【００５４】
そして、ユーザがプレビューア３０６での確認後、設定変更内容に従って印刷を行うならば、スプールファイルマネージャ３０４上で、印刷要求を発行する。印刷要求はグラフィックエンジン２０２に伝えられる。グラフィックエンジン２０２からディスパッチャ３０１経由でプリンタドライバ２０３に印刷命令が送られ、印刷が実行される。
【００５５】
また、スプールファイルマネージャのウィンドウ画面では、複数の印刷ジョブを結合し、一つの印刷ジョブとして印刷するように指定することが可能である。これも、プレビュー、設定変更同様、図４に示すプリンタドライバのプロパティにおいて出力先を「ストア」指定されたジョブが前提となる。また、メールボックスやセキュアプリントなどの機能もそれぞれメニュー９０１中の「メールボックス」「セキュアプリント」を指定することにより選択可能である。
【００５６】
ユーザが印刷ジョブの結合を行う場合、まず、アプリケーション２０１からプリンタドライバ２０３を呼び出し、図４に示すようなユーザインタフェースからストアを選択する。上記と同様、この選択により中間コードデータがスプールファイル３０３にストアされ、スプールファイルマネージャのウィンドウ画面がポップアップされる。スプールされたジョブはスプールファイルマネージャのウィンドウ上にリスト表示される。アプリケーション２０１から同様の操作をすることにより、スプールファイルマネージャ３０４上に複数ジョブのリスト表示がなされる。
【００５７】
ここで、複数ジョブを選択し、「結合」が指定された場合、外部メモリ１１に格納されている設定変更エディタ３０７をＲＡＭ２にロードし実行する。ユーザは、設定変更エディタ３０７に対して、リスト上の先頭ジョブまたはデフォルトの加工設定の表示を行うように指示する。そして結合設定画面が表示される。ここでは、設定変更エディタ３０７を結合設定画面として用いているが、別モジュールのものを用いても構わない。
【００５８】
この設定変更エディタ３０７は、スプールファイル３０３に含まれる中間コードのページ描画ファイルをスプールファイル３０３に格納されているジョブ設定情報に含まれる加工設定の内容に従って加工し、結合ジョブとして指定された全てのジョブに対して、グラフィックエンジン２０２を用いてメモリに出力することによって、画面上の出力を行う。その際、プレビュー領域に選択された全てのジョブの小プレビューが可能となる。また、結合ジョブを生成する際に、それぞれの単体ジョブのジョブ設定ファイルを拡張したジョブ出力用設定ファイルを生成する。このジョブ出力用設定ファイルは、ジョブ編集を行う際にも生成されるものであり、１つのジョブに対して１つできるものであり、結合ジョブの場合もまた１つ生成される。
【００５９】
ここではそれぞれのジョブに対して、結合する前の加工設定で表示することも、結合ジョブとして統一の加工設定に変更、修正して表示することも可能である。その際、プリンタドライバ２０３の設定可能な項目を設定変更エディタ３０７上のユーザインタフェースで設定可能としてもよく、あるいはプリンタドライバ２０３自身のユーザインタフェースを呼び出しても構わない。
【００６０】
ここで結合されたジョブおよび変更された変更項目は、前述したように、設定変更エディタ３０７上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ３０４に移行する。これらの操作により、先に選択された複数ジョブは、スプールファイルマネージャのウィンドウ上で１つの結合ジョブとして表示される。
【００６１】
そして、ユーザがプレビューア３０６での確認同様、設定変更内容に従って印刷を行うならば、スプールファイルマネージャ３０４上で、印刷要求を発行する。印刷要求はグラフィックエンジン２０２に伝えられる。グラフィックエンジン２０２からディスパッチャ３０１経由でプリンタドライバ２０３に印刷命令が送られ、印刷が実行される。
【００６２】
＜印刷用中間データの保存処理＞
図７は、スプーラ３０２により実行される、スプールファイル３０３の生成におけるページ単位保存ステップの処理を示すフローチャートである。
【００６３】
同図において、まずステップＳ５０１では、スプーラ３０２は、アプリケーション２０１からグラフィックエンジン２０２を介して印刷要求を受け付ける。アプリケーションにおいては、図８に示すような印刷設定を入力するダイアログが表示され、このダイアログから入力された印刷設定がプリンタドライバよりスプーラ３０２に渡される。図８に示す設定入力ダイアログにおいては、リストボックス８０１のように１物理ページにレイアウトする論理ページの数を決定するような設定項目等を含んでいる。
【００６４】
ステップＳ５０２では、受け付けた印刷要求がジョブ開始要求か判定し、ここで、ステップＳ５０２でジョブ開始要求であると判断した場合には、ステップＳ５０３に進み、中間データを一時的に保存するためのスプールファイル３０３を作成する。続いて、ステップＳ５０４では、スプールファイルマネージャ３０４へ印刷処理の進捗を通知し、続くステップＳ５０５でスプーラ３０２のページ数カウンタを１に初期化する。ここで、スプールファイルマネージャ３０４においては、印刷が開始されたジョブに対するジョブの情報や加工設定などをスプールファイル３０３より読み込み、記憶する。
【００６５】
一方、ステップＳ５０２において、ジョブ開始要求ではなかったと判断した場合には、ステップＳ５０６に進む。このステップＳ５０６では、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップＳ５０７に進み、改ページかどうかの判別を行う。もしもステップＳ５０７で改ページであると判断した場合には、ステップＳ５０８に進み、スプールファイルマネージャ３０４へ印刷処理の進捗を通知する。そしてページ数カウンタをインクリメントして、中間コードを格納しているページ描画ファイルを閉じ、次のページ描画ファイルを生成する。
【００６６】
ステップＳ５０７において、受け付けた印刷要求が改ページではないと判断した場合には、ステップＳ５０９に進み、ページ描画ファイルへの中間コードの書き出しの準備を行う。
【００６７】
次に、ステップＳ５１０では、印字要求をスプールファイル３０３へ格納するため、印字要求のＤＤＩ関数の中間コードへの変換処理を行う。ステップＳ５１１では、ステップＳ５１０において格納可能な形に変換された印刷要求（中間コード）をスプールファイル３０３のページ描画ファイルへ書き込む。その後、ステップＳ５０１に戻り、再びアプリケーションからの印刷要求を受け付ける。この一連のステップＳ５０１からステップＳ５１１までの処理を、アプリケーションよりジョブ終了要求（EndDoc）を受け取るまで続ける。また、スプーラ３０２は、上記処理中にプリンタドライバ２０３からDEVMODE構造体に格納されている加工設定等の情報を取得し、ジョブ設定ファイルとしてスプールファイル３０３に格納する。一方、ステップＳ５０６にて、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、ステップＳ５１２に進み、スプールファイルマネージャ３０４へ印刷処理の進捗を通知し、処理を終える。
【００６８】
＜スプールファイルの生成＞
図９は、スプールファイルマネージャ３０４により実行される、スプールファイル３０３生成プロセスと以降説明する印刷データ生成プロセスの間での制御の詳細を示すフローチャートである。
【００６９】
ステップＳ６０１では、スプールファイルマネージャ３０４は、スプーラ３０２あるいはデスプーラ３０５からの印刷処理の進捗通知を受け付ける。
【００７０】
ステップＳ６０２では、進捗通知が前述のステップＳ５０４において通知されるスプーラ３０２からの印刷開始通知であるかどうか判定し、もしそうであればステップＳ６０３へ進み、印刷の加工設定をスプールファイル３０３から読み込み、ジョブの管理を開始する。一方、ステップＳ６０２において、スプーラ３０２からの印刷開始通知でなければステップＳ６０４へ進み、進捗通知が前述のステップＳ５０８において通知されるスプーラ３０２からの１論理ページの印刷終了通知であるか否かを判定する。ここで１論理ページの印刷終了通知であればステップＳ６０５へ進み、この論理ページに関する論理ページ情報を格納する。そして、続くステップＳ６０６では、この時点でスプールが終了したｎ論理ページに対して、１物理ページの印刷が開始できるかを判定する。ここで、印刷可能である場合はステップＳ６０７へ進み、印刷する１物理ページに対して割り付けられる論理数から物理ページ番号を決定する。
【００７１】
物理ページの計算については、例えば、加工設定が１物理ページに４論理ページを配置するような設定の場合、第１物理ページは第４論理ページがスプールされた時点で印刷可能となり、第１物理ページとなる。続いて、第２物理ページは第８論理ページがスプールされた時点で印刷可能となる。
【００７２】
また、論理ページ数の総数が１物理ページに配置する論理ページ数の倍数でなくても、ステップＳ５１２におけるスプール終了通知によって１物理ページに配置する論理ページが決定可能である。
【００７３】
そして、ステップＳ６０８では、図１１に示すような形式で、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報がジョブ出力用設定ファイル（物理ページ情報を含むファイル）に保存され、物理ページ情報が１物理ページ分追加されたことがデスプーラ３０５に通知される。その後ステップＳ６０１に戻り、次の通知を待つ。本実施形態においては、印刷ジョブのスプールが全て終了していなくても、印刷データ１ページ、即ち１物理ページを構成する論理ページがスプールされた時点で印刷処理が可能である。
【００７４】
一方、ステップＳ６０４において、進捗通知がスプーラ３０２からの１論理ページの印刷終了通知でなかった場合ステップＳ６０９へ進み、前述のステップＳ５１２において通知されるスプーラ３０２からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップＳ６０６へ進む。一方、ジョブ終了通知でない場合、ステップＳ６１０へ進み、受け付けた通知がデスプーラ３０５からの１物理ページの印刷終了通知であるかどうか判定する。ここで、１物理ページの印刷終了通知である場合はステップＳ６１２へ進み、印刷が全て終了したかを判定する。印刷終了した場合、ステップＳ６１２へ進み、デスプーラ３０５に印刷終了の通知を行う。一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述のステップＳ６０６へ進む。本実施形態におけるデスプーラ３０５は印刷処理を行う単位として１物理ページ数を想定している。また、ステップＳ６０８では、１物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存し、再利用可能な形式にしているが、再利用不要な場合には、共有メモリ等高速な媒体を使用し、１物理ページ単位で次々と上書きし、速度とリソースを節約するような実装形式であってもよい。また、デスプールの進捗よりもスプールの進捗の方が早い場合や全ページのスプール終了後からデスプールが開始されるような場合、ステップＳ６０８で１物理ページ毎にページ印刷可能を通知せずに、デスプール側の進捗に応じた通知を行ってもよい。例えば、複数物理ページまたは全物理ページが印刷可能になったことを通知すれば、通知回数を節約することが可能である。
【００７５】
ステップＳ６１０において、通知がデスプーラ３０５からの１物理ページの印刷終了通知でないと判断された場合、ステップＳ６１３へ進み、スプールファイルマネージャ３０４は、デスプーラ３０５からの印刷終了通知かどうかを判定する。通知がデスプーラ３０５からの印刷終了通知と判定された場合、ステップＳ６１４へ進み、スプールファイルマネージャ３０４は、スプールファイル３０３の該当するページ描画ファイルの削除を行い、処理を終える。一方、デスプーラ３０５からの印刷終了通知でなかった場合はステップＳ６１５へ進みエラー処理を実行する。その後、図示しないその他の処理を実行し、次の通知を待つ。
【００７６】
＜スプールファイルの出力＞
図１０は、デスプーラ３０５により実行される、印刷データの生成プロセスの詳細を示すフローチャートである。
【００７７】
デスプーラ３０５は、スプールファイルマネージャ３０４からの印刷要求に応じて、スプールファイル３０３から必要な情報（ページ描画ファイルおよびジョブ設定ファイル）を読み出して印刷データを生成する。生成された印刷データにおけるプリンタへの転送方法については図３を用いて前述した通りである。
【００７８】
印刷データの生成では、まず、ステップＳ７０１において、前述のスプールファイルマネージャ３０４からの通知を入力する。続くステップＳ７０２では、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップＳ７０３へ進み、終了フラグを立て、ステップＳ７０５へ進む。一方、ステップＳ７０２においてジョブ終了通知でない場合は、ステップＳ７０４に進み、前述のステップＳ６０８における１物理ページの印刷開始要求が通知されたかどうか判定する。ステップＳ７０４において開始要求と判定されなかった場合は、ステップＳ７１０へ進み、その他エラー処理を行い、ステップＳ７０１へ戻り次の通知を待つ。一方、ステップＳ７０４において１物理ページの印刷開始要求と判定された場合は、ステップＳ７０５へ進み、ステップＳ７０４で通知を受けた印刷処理可能な物理ページのIDを保存する。続くステップＳ７０６では、ステップＳ７０５で保存した物理ページIDの全てのページに関して印刷処理が済んでいるかどうか判定する。ここで全物理ページの処理が済んでいる場合は、ステップＳ７０７へ進み、前述のステップＳ７０３で終了フラグが立てられているのか判定する。終了フラグが立っている場合は、ジョブの印刷が終了したとみなし、デスプーラ３０５の処理終了の通知をスプールファイルマネージャ３０４に通知し、処理を終える。ステップＳ７０７で、終了フラグが立っていないと判定された場合は、ステップＳ７０１へ戻り次の通知を待つ。一方、ステップＳ７０６で、印刷可能な物理ページが残っていると判定された場合には、ステップＳ７０８へ進み、保存された物理ページIDから未処理の物理ページIDを順に読み出し、読み出した物理ページIDに対応する物理ページの印刷データ生成に必要な情報を読み込み、印刷処理を行う。印刷処理はスプールファイル３０３に格納された印刷要求命令をデスプーラ３０５においてグラフィックエンジン２０２が認識可能な形式（ＧＤＩ関数）に変換し、転送する。本実施形態のような、複数論理ページを１物理ページにレイアウトするような加工設定（以下Nページ印刷）については、このステップで縮小配置を考慮にいれながら変換する。必要な印刷処理を終えたならば、続くステップＳ７０９において１物理ページの印刷データ生成終了の通知をスプールファイルマネージャ３０４に対して行う。そして再びステップＳ７０６へ戻り、ステップＳ７０５で保存しておいた印刷可能な物理ページID全てについて印刷処理を行うまで繰り返す。
【００７９】
以上が、ディスパッチャ３０１、スプーラ３０２、スプールファイルマネージャ３０４、デスプーラ３０５を用いた印刷処理の流れである。上記のように処理することにより、スプーラ３０２が中間コードを生成してスプールファイル３０３に格納するタイミングでアプリケーション２０１が印刷処理から開放されるので、プリンタドライバ２０３に直接出力するよりも短時間で済む。また、スプールファイル３０３にプリンタドライバの印刷設定を踏まえた中間ファイル（ページ描画ファイル、ジョブ設定ファイル）として一時保存しているので、実際に印刷されるべき印刷プレビューをユーザに認識させることや、複数のアプリケーションにより生成した印刷ジョブの結合や並べ替えが可能となり、印刷設定の変更を行う場合にも、再度アプリケーションを立ち上げて印刷をすることなしにユーザに行わせることが可能となる。
【００８０】
ここで、スプーラ３０２を用いた印刷処理において、デスプーラ３０５からグラフィックエンジン２０２への印刷要求時にジョブ出力用設定ファイルが生成されるが、プレビューやジョブ結合等を行う場合もジョブ出力用設定ファイルが生成される。ジョブ出力用設定ファイルは、単体ジョブの場合はジョブ設定ファイルと同等のものであり、結合ジョブの場合は複数のジョブ設定情報に基づいて生成されるものである。ここでジョブ出力用設定ファイルについて説明する。
【００８１】
＜ジョブ出力用設定ファイルの構成＞
図１１は、ステップＳ６０８において、スプールファイルマネージャ３０４が生成する印刷可能となった物理ページを構成する情報を保存しているジョブ出力用設定ファイルの例を示す。フィールド１００１は、ジョブを識別するためのIDで、本情報を保存しているファイル名や共有メモリの名称という形で保持することも可能である。フィールド１００２はジョブ設定情報である。ジョブ設定情報には、グラフィックエンジン２０２に対してジョブの印刷を開始するために必要な構造体、Ｎページ印刷の指定、ページ枠などの追加描画の指定、部数、ステープルなどのフィニッシング指定など、１つのジョブに対して１つしか設定できない情報が含まれている。ジョブ設定情報１００２には、ジョブに対する機能に応じて必要なだけ情報が保存される。フィールド１００３はジョブの物理ページ数で、本フィールド以降、この数の分だけ物理ページ情報が保存されていることを示す。本実施形態では、印刷可能な物理ページ数を通知する方式であるので、このフィールドは無くても動作可能である。これ以降、フィールド１００４から最後までフィールド１００３の数だけ物理ページ情報が格納される。物理ページ情報については図１３を参照して後述する。
【００８２】
図１２は、図１１のフィールド１００２に図示されたジョブ設定情報の一例である。フィールド１１０１は全物理ページ数である。フィールド１１０２は、全論理ページ数である。フィールド１１０１および１１０２は、印刷データに追加して、ページ数などを付加情報として印刷する場合などに利用する。印刷が続いている際には、両フィールドは暫定的な値、もしくは、印刷が終了するまでスプールファイルマネージャ３０４は印刷可能な物理ページの情報の作成を延期する。フィールド１１０３は本印刷ジョブを何部印刷するかを指定する部数情報である。フィールド１１０４は、フィールド１１０３で複数部印刷する設定の場合、部単位で印刷するかどうかの指定である。フィールド１１０４はステープル、パンチ、Ｚ折などのフィニッシング情報で、プリンタ本体もしくは外部にフィニッシャーがある場合に指定される。フィールド１１０６は付加印刷情報で、本発明の地紋プリントを始め、ページ枠などの飾り、日付などの付加情報、ユーザ名、ページ数、ウォーターマーク印刷等、ジョブに対して付加する情報が保存される。機能が増えるに従って本ジョブ設定情報に含まれるフィールドの数も増加し、例えば、両面印刷が可能な場合は、両面印刷の指定を保存するフィールドが追加される。
【００８３】
図１３は、図１１のフィールド１００４に図示された物理ページ情報の一例を示す。最初のフィールド１２０１は物理ページ番号で、印刷順序の管理や、物理ページ番号を追加印刷する際に使用される値である。フィールド１２０２は物理ページ設定情報で、物理ページ毎にレイアウトやカラー・モノクロの指定が可能である場合、レイアウトやカラー・モノクロの設定が保存される。フィールド１２０３は本物理ページに割り付けられる論理ページ数で、１物理ページに４ページを割り付ける場合には４もしくは４ページ印刷を示すIDが保存される。フィールド１２０４以降はフィールド１２０３で指定された数だけ論理ページの情報が保存される。アプリケーション２０１から印刷されたページ数によっては、フィールド１２０３で指定されるページ数よりも実際のページデータ数が少なくなる場合がある。その場合には、論理ページ情報に空ページを示す特別なデータを保存して対応する。
【００８４】
図１４は、フィールド１２０２の物理ページ設定情報の例である。フィールド１３０１は物理ページ上への論理ページの配置順で、Ｎページ印刷で、物理ページ上に論理ページを配置する順番（左上から横へ、左上から下へ等）の指定が保存されている。システムによっては、配置順ではなく、フィールド１２０４以降の論理ページ情報の順番をページ番号順ではなく、配置順に応じた順序で配することでフィールド１３０１の設定を代用する場合もある。フィールド１３０２は両面印刷の表・裏の情報で、例えば綴じ代を表裏でそろえる際に使用される。フィールド１３０３はカラーページかモノクロページかの指定を示し、このフィールドを使用して物理ページ単位にカラー／モノクロのモード指定が可能である。フィールド１３０４は付加印刷情報で、物理ページに対して、ページ数や、日付などの付加情報を印刷する場合に使用される。物理ページ設定情報も、システムの機能に応じてフィールドが追加される。
【００８５】
本実施形態の場合、図２１以降を参照して後述する地紋画像印刷に関する情報は物理ページに対して付加される情報なので、フィールド１１０６に保持された地紋プリントに関する情報に基づき、各物理ページに対する設定情報として、フィールド１３０４内にも格納される。ジョブに対する付加印刷情報１１０６および付加印刷情報１３０４内における、地紋プリントに関する設定情報を格納するデータ形式の一例については、図２１を参照して後述する。
【００８６】
図１５は、フィールド１２０４で示された論理ページ情報の一例を示す。フィールド１４０１は論理ページのIDで、このIDを利用して、スプールファイル３０３から論理ページに対応するページ描画ファイルの中間コードを参照する。このIDを利用して論理ページの中間コードへアクセス可能であれば良く、ファイルやメモリポインタであっても、論理ページを構成する中間コード自身が入っていてもよい。フィールド１４０２は論理ページ番号で論理ページ番号を付加情報として印刷する場合や、論理ページIDの補助情報に使用される。フィールド１４０３のフォーマット情報には、論理ページ単位で指定可能である各種設定項目が保存される。例えば、ページ枠などの付加印刷情報、拡縮率などの論理ページ単位に指定される各種設定の情報が保存される。また、必要であれば、論理ページ単位のカラー・モノクロ情報などの論理ページに対する属性情報を保存することも可能である。逆に、論理ページ単位で設定を切りかえることや論理ページ単位での属性情報が不要であるようなシステムでは、フィールド１４０３は不要である。
【００８７】
本実施形態の場合、図２２、２３および２５を参照して後述する地紋プリントに関する機能設定情報はフィールド１４０３内には保持されない。これは、N-Upなどによる論理ページの拡大縮小に対して地紋プリントで使用されるパターンが影響を受けないようにするためである。
【００８８】
ジョブ出力用設定ファイルは、上記のように構成されている。なお、ジョブ設定ファイルもほぼ同様であり、印刷体裁（片面、両面、製本印刷）、印刷レイアウト（Ｎｕｐ、ポスター印刷）、付加情報（地紋プリント情報、ウォーターマーク、日付、ユーザ名など）、部数、用紙サイズ情報がジョブとして有しており、物理ページ毎に、論理ページの配置順、両面印刷の表面か、裏面か、カラーモード等から構成されている。
【００８９】
図３はこれまで説明した拡張システムに加えて、ジョブの設定変更機能を持つ設定変更エディタ３０７を配した例を示している。本実施形態ではジョブの設定内容は、単体ジョブは、ジョブ設定ファイルに、また結合ジョブは、図１１に示すジョブ出力用設定ファイル中に含まれており、中間コードを保存しているページ描画ファイル（スプールファイル）３０３とは独立している。このため、ジョブ出力用設定ファイルを作り変えることでジョブの設定変更が可能である。設定変更エディタ３０７は単独で、あるいはスプールファイルマネージャ３０４と連携して、ジョブ出力用設定ファイルを作り変え、あるいは、一部を書き換えることでジョブの設定変更機能を実現している。
【００９０】
図１６は、設定変更エディタ３０７におけるジョブ設定変更処理プロセスの詳細を示すフローチャートである。
【００９１】
まずステップＳ1501では，設定変更エディタは、ジョブ設定ファイルもしくはジョブ出力用設定ファイルを読み込む。ジョブ出力用設定ファイルはプレビューア３０６，デスプーラ３０５が読み込むものと同じファイルである。次に，ステップＳ1502へ進み，読み込んだ結果を，ユーザに表示する。ステップＳ1503で，図１７に示すようなユーザインタフェースを使用して，ユーザとの対話を行い，前述したメニューの指定等により設定内容を変更する。このステップは，対話形式でなく，ファイルなどに書きこまれた設定変更の内容に応じて変更するバッチ形式でもよい。次にステップＳ1504へ進み，ステップＳ1501で設定変更エディタは、最初に読み込んだ内容と，現在指定されている設定内容に変更があったかどうかの判定を行う。設定内容に変更が合った場合は，ステップＳ1505へ進み，新規のジョブ出力用設定ファイルを生成し，変更があったことをスプールファイルマネージャに通知して終了する。ステップＳ1505で，変更がないと判定された場合は，変更がなかったことをスプールファイルマネージャに通知して終了する。このように新規のジョブ出力用設定ファイルを生成するが、図１７のユーザインタフェース画面において、「ＯＫ」ボタンが選択されることにより、新規のジョブ出力用設定ファイルが有効となり、古いジョブ出力用設定ファイルは削除される。また、ジョブ出力用設定ファイルからの変更ではなく、単体ジョブのジョブ設定ファイルの場合は削除せずに保存しておく。また、図１７の画面で「初期状態に戻す」ボタンが選択された場合は、新規のジョブ出力用設定ファイルを削除し、古いジョブ出力用設定ファイルが有効となり、表示に反映させる。
【００９２】
なお、本実施形態では，設定変更エディタ３０７を別モジュールとして説明しているが，単にスプールファイルマネージャ３０４のユーザインタフェースの一部であってもよい。また、設定変更エディタ３０７で実際に変更内容をジョブ出力用設定ファイルに書きこまずに，設定変更の内容のみをスプールファイルマネージャ３０４へ通知し、実際のジョブ出力用設定ファイルの変更はスプールファイルマネージャ３０４側で行う実装形式でもよい。
【００９３】
＜地紋プリント処理の説明＞
以下、地紋プリントに関する設定を行うユーザインタフェースの一例について、図１８から２０を参照して説明する。
【００９４】
図１８はプリンタドライバ２０３内に配された、地紋プリントに関するユーザインタフェースの初期画面の一例である。この例では、ダイアログ内のプロパティシート２１０１において地紋プリントに関する設定が行えるようになっている。
【００９５】
チェックボックス２１０２は、印刷ジョブに対して地紋プリントを行うかどうかを指定するものであり、図１２における付加印刷情報１１０６内で地紋プリントを行うかどうかの設定が格納される。
【００９６】
リストボックス２１０３は、地紋プリントの複数の設定情報を1つの識別子（スタイル）で指定可能にするものである。プリンタドライバ２０３は複数のスタイルを選択可能となっており、各スタイルと図２１に示す地紋プリント情報との関係がレジストリに登録される。また、ボタン２１０４を押下することにより、図１９に示すスタイル編集用ダイアログ２２０１が表示される。
【００９７】
チェックボックス２１０５は、地紋プリントにおける前景、背景のコントラストを調整する際に用いるもので、ボタン２１０６を押下することにより、図２０に示すダイアログ２３０１が表示される。
【００９８】
図１９（ａ）は地紋プリントの個々の詳細設定を編集するためのダイアログの一例である。
【００９９】
同図において、地紋情報編集用ダイアログ２２０１は、同領域に後述する個々の地紋情報によって生成される地紋画像の結果がプレビューのため表示される。リストボックス２２０２は図１８のリストボックス２１０３にて選択可能なスタイルの一覧を表示する領域であり、ボタン２２０３および２２０４を用いてスタイルの新規追加、削除が可能となる。領域２２０５には、現在指定されているスタイル名称が表示される。
【０１００】
ラジオボタン２２０６は、地紋プリントに用いる描画オブジェクトの種類を選択するものであり、「文字列」を選択するとテキストオブジェクトが使用され、「イメージ」を選択するとBMPなどに代表されるイメージデータが使用される。図１９（ａ）では、「文字列」が選択されているので、地紋情報編集用ダイアログ２２０１には後述するリストボックス２２０７、２２０８および２２０９などのテキストオブジェクトに関する設定情報が表示され、編集可能となっている。一方、ラジオボタン２２０６において「イメージ」が選択されている場合、リストボックス２２０７、２２０８および２２０９は表示されず、その代わりに図１９（ｂ）に示すイメージファイル名称表示２２１５および不図示のファイル選択ダイアログを表示するためのボタン２２１６が表示される。
【０１０１】
リストボックス２２０７は地紋パターンとして使用する文字列を表示、編集するための領域である。リストボックス２２０８は文字列のフォント情報を表示、編集するための領域である。本実施形態ではフォント名称のみの選択画面としているが、書体のファミリー情報（ボールド、イタリックなど）や、飾り文字情報などが選択可能に拡張してもよい。リストボックス２２０９は地紋パターンとして使用する文字列のフォントサイズを表示、設定する領域である。本実施形態では「大」「中」「小」の3段階で指定可能な形式を想定しているが、ポイント数の直接入力など、一般的に用いられるフォントサイズ指定方法を採用してもよい。ラジオボタン２２１０は地紋パターンと原稿データの印刷順序を設定するためのものであり、「透かし印刷」が指定された場合は図２２を参照して後述するように、地紋パターンを描画後、原稿データを描画する。一方、「重ね印刷」が指定された場合は図２３を参照して後述するように、原稿データを描画後、地紋パターンを描画する。
【０１０２】
ラジオボタン２２１１は、地紋パターンの配置角度を指定するものである。本実施形態では「右上がり」「右下がり」「横」の３通りの選択を可能としているが、角度を任意に指定可能な数値入力領域や、直感的に指定可能なスライダーバーなどを配し、角度指定方法を拡張してもよい。
【０１０３】
リストボックス２２１２は、地紋パターン(前景パターン、背景パターン)に用いる色を表示、指定するための領域である。
【０１０４】
チェックボックス２２１３は、前景パターン、背景パターンの入れ替えを行うためのものである。チェックボックスがチェックされていない場合は、複写時に前景パターンが浮かび上がる。つまり、前景パターンとして指定した情報が顕像化し、ユーザがその情報を認識可能になる。一方、チェックボックスがチェックされている場合は複写時に背景パターンが浮かび上がる。この場合は、前景パターンとして指定した情報が白抜き文字等のような状態で顕像化する。リストボックス２２１４は、原稿に埋め込んだ地紋パターンを認識させづらくさせるためのカモフラージュ画像を指定するための領域であり、複数のパターンから選択可能である。また、カモフラージュ画像を使用しないという選択肢も提供されている。
【０１０５】
図２０は、図１８におけるコントラスト設定ボタン２１０６を押下した際に表示されるダイアログの一例である。
【０１０６】
地紋プリントでは、前景パターン背景パターンの面濃度をあわせることで不可視画像を見え難くさせるため、図２０に例示するように、トラックバー２３０２および２３０３で前景パターン、背景パターンそれぞれに対する濃度調整を行うインタフェースを提供する。
【０１０７】
＜地紋プリント設定情報のデータ形式＞
次に、図１９を用いて説明した地紋プリント設定情報に関する付加印刷情報１１０６および１３０４に格納されるデータ形式について図２１を用いて説明する。
【０１０８】
同図において、フィールド２００１は、図１９（ａ）のラジオボタン２２０６で指定される、地紋プリントで描画するオブジェクト種（テキスト形式あるいはイメージ）を示す値を格納する。フィールド２００２は、図１９（ａ）のリストボックス２２０７から２２０９、あるいは図１９（ｂ）のダイアログで指定される、フィールド２００１の情報で指定された描画オブジェクトに対する設定情報を格納する。テキスト選択時は文字列、フォント名、サイズ情報が、イメージ選択時は入力するイメージファイルのロケーションが格納される。
【０１０９】
この図１９（ｂ）のダイアログで指定可能なイメージは、ＤＩＢ（Device Independent Bitmap）、ＪＰＥＧ（Joint Photographic Expert Group）、ＰＮＧ（Portable Network Graphics）、ＴＩＦＦ（Tagged Image File Format）といったビットマップはもちろんＥＭＦ（Enhanced Metafile Format）、ＰＤＦ（Portable Document Format）、ＳＶＧ（Scalable Vector Graphics）などのグラフィック情報を保持した描画データファイルも理論上指定可能である。本実施形態では、具体例としてＤＩＢとＥＭＦを指定した場合を図２４を用いて後述する。
【０１１０】
フィールド２００３は、図１９（ａ）のラジオボタン２２１０で指定される、原稿データに対して地紋パターンを先に描画するか、後から描画するか（印刷順序）を指定する情報を格納する。フィールド２００４は、図１９（ａ）のラジオボタン２２１１で指定される、描画オブジェクトを配置する角度情報を格納する。フィールド２００５は、図１９（ａ）のリストボックス２２１２で指定される、地紋パターン（前景パターン、背景パターン）に使用される色情報を格納する。フィールド２００６は、図１９（ａ）のチェックボックス２２１３で指定される、前景パターン、背景パターンの入れ替えを行うかどうかの情報を格納する。フィールド２００７は、図１９（ａ）のリストボックス２２１４で指定される、カモフラージュ画像のパターン付加情報を格納する。フィールド２００８は、図２０のトラックバー２３０２で指定される、前景パターンの濃度情報を格納する。フィールド２００９は、図２０のトラックバー２３０３で指定される、背景パターンの濃度情報を格納する。
【０１１１】
＜地紋パターンの追加描画処理＞
次に、地紋プリントにおける描画処理の流れについて、図２２および図２３を用いて説明する。なお、これらの処理は、それぞれ図１９（ａ）を参照して説明した「透かし印刷」および「重ね印刷」に対応し、また図１０のステップＳ７０８の印刷処理において行われる。
【０１１２】
まず、地紋パターン情報の追加描画処理について、図１９（ａ）のラジオボタン２２１０において「透かし印刷」、すなわち、先に地紋パターンを描画するケースについて、図２２のフローチャートを用いて説明する。
【０１１３】
ステップＳ１９０１において、図２１に示す地紋パターン情報で示される地紋に関する情報に従い、描画を行う。その詳細な処理については、図２５を参照して後述する。続いて、以降原稿データに関する描画処理を行う。ステップＳ１９０２において、カウンタを初期化する。ステップＳ１９０３において、カウンタが予め設定されている１物理ページあたりの論理ページ数になったかどうかを判定し、論理ページ数と等しくなったらステップＳ１９０８へ進み、等しくなければステップＳ１９０４へ進む。ステップＳ１９０４において、カウンタを１増加させる。ステップＳ１９０５において、１ページあたりの論理ページ数およびカウンタをもとに、これから描画する論理ページに対する有効印字領域を計算する。ステップＳ１９０６において、図１１に示すような形態で通知された物理ページに関する情報から、カウンタをインデックスとして現在の論理ページ番号を読み取り、該当論理ページを有効印字領域内に収まるように縮小描画する。ただし、Ｎページ印刷が指定されていない場合にはもちろん縮小の必要はない。
【０１１４】
次に、図１９（ａ）のラジオボタン２２１０において「重ね印刷」、すなわち、原稿データを描画した後から地紋パターンを描画するケースについて、図２３のフローチャートを用いて詳細に述べる。
【０１１５】
ステップＳ１９０２において、カウンタを初期化する。ステップＳ１９０３において、カウンタが、予め設定されている１物理ページあたりの論理ページ数になったかどうかを判定し、論理ページ数と等しくなったらステップＳ１９０８へ進み、等しくなければステップＳ１９０４へ進む。
【０１１６】
ステップＳ１９０４において、カウンタを１増加させる。ステップＳ１９０５において、１ページあたりの論理ページ数およびカウンタをもとに、これから描画する論理ページに対する有効印字領域を計算する。ステップＳ１９０６において、図１１のような形態で通知された物理ページに関する情報から、カウンタをインデックスとして現在の論理ページ番号を読み取り、該当論理ページを有効印字領域内に収まるように縮小描画する。ただし、Ｎページ印刷が指定されていない場合にはもちろん縮小の必要はない。１物理ページとして所定数の論理ページを展開し終えたなら、ステップＳ１９０８に進む。ステップＳ１９０８ではアプリケーションから取得している物理ページの有効印字領域に対して、図２１に示す地紋パターン情報で示される地紋に関する情報に従い、描画を行う。
【０１１７】
図２４は、本実施の形態における図１９（ｂ）に示すユーザインタフェースを通じてロゴにイメージが指定された場合の前景背景領域指定画像生成のフローチャートである。以下、図２４を用いて、グラフィックエンジン２０２により実行される処理フローを説明する。
【０１１８】
初めにユーザインタフェース等を通じて、ステップS５１０１でロゴにイメージを指定した場合の前景背景領域指定画像生成処理が開始される。
【０１１９】
次にステップS５１０２で、図１９（ｂ）に示すユーザインタフェースを通じて入力されたイメージの種類を判別する。入力されたイメージがＤＩＢならば、ステップS５１１０へ進む。入力されたイメージがＤＩＢでなければ、ステップS５１０３へ進む。ステップS５１１０については後述する。
【０１２０】
ステップS５１０３でもまた、図１９（ｂ）のユーザインタフェースを通じて入力されたイメージの種類を判別する。入力されたイメージがEMFならば、ステップS５１０６へ進む。入力されたイメージがＥＭＦでなければ、ステップS５１０４へ進む。
【０１２１】
ステップS５１０６では、EMFをレンダリングしてビットマップに描画する。つまり、ＥＭＦをＤＩＢ形式に変換する。
【０１２２】
上記ステップS５１０３及びステップS５１０６においてＥＭＦからＤＩＢへの変換処理が述べられたが、これと同じ論理でステップS５１０４及びステップS５１０７やステップS５１０５及びステップS５１０８といった処理が繰り返される。図１９（ｂ）のユーザインタフェースを介した指定により処理可能なイメージの種類として、ＤＩＢとＥＭＦの他にＪＰＥＧ、ＰＮＧ、ＴＩＦＦ、ＰＤＦ、ＳＶＧなどを紹介したが、これらはステップS５１０４及びステップS５１０７や、ステップS５１０５及びステップS５１０８などにおいて処理されることになる。
【０１２３】
例えば、ステップS５１０４で、図１９（ｂ）のユーザインタフェースを介して入力されたイメージの種類がＪＰＥＧであるかを判別する。入力されたイメージがＪＰＥＧならば、ステップS５１０７へ進む。入力されたイメージがＪＰＥＧでなければ、ステップS５１０５へ進む。ステップS５１０７では、ＪＰＥＧをＤＩＢ形式に変換する。そして、サポートするイメージの種類に応じてステップS５１０５及びステップS５１０８といった処理を続けていけばよい。
【０１２４】
ステップS５１１０では、ＤＩＢを２値化する。網点処理を用いてＤＩＢを２値化する場合、低い線数の網点処理が適している。ディザ処理を用いてＤＩＢを２値化する場合、ドット集中型ディザマトリクスを用いたディザ処理が適している。この２値化された画像データが前景背景領域指定画像となる。
【０１２５】
ステップS５１１１でロゴにイメージを指定した場合の前景背景領域指定画像生成処理が終了する。
【０１２６】
図２５は本実施の形態にかかる、図２２に示したステップＳ１９０１における地紋パターン描画および図２３に示したステップＳ１９０８における地紋パターン描画の内部処理手順を記したフローチャートである。以下、図２５を用いて、地紋パターン描画処理を説明する。
【０１２７】
初めにユーザインタフェース等を通じて、ステップＳ２７０１で地紋パターン描画処理が開始される。
【０１２８】
次にステップＳ２７０２で、入力背景画像、背景閾値パターン、前景閾値パターン、前景背景領域指定画像、カモフラージュ領域指定画像を読み込む。
【０１２９】
次にステップＳ２７０３で、地紋画像を生成する際の初期画素を決定する。例えば、入力画像全体に対して左上から右下までラスター走査順に画像処理を行い地紋画像に変更する場合、左上を初期位置とする。
【０１３０】
次にステップＳ２７０４では、背景閾値パターン、前景閾値パターン、前景背景領域指定画像、カモフラージュ画像は入力背景画像の左上からタイル上に配置するとし、処理対象となっている入力背景画像の画素に対して、以下の式（１）を計算し、ステップＳ２７０５で、印刷時のドットに対応する画素値を書き込むか否かを判定する。このとき画素値は入力された色情報に対応する。なお、ここで、背景閾値パターンおよび前景閾値パターンは、ドットの書き込み／非書き込みに対応する「１」と「０」からなる画像データであり、これらの画像は前景（潜像）及び背景画像を作成するに適したそれぞれのディザマトリクスによって２値化されたデータである。
【０１３１】
【数１】
2005115874.tif 000003
【０１３２】
式の構成要素の定義を以下に示す。
【０１３３】
【数２】
2005115874.tif 000004
【０１３４】
なお、各処理対象画素で式（１）の全ての要素を用いて計算する必要は無い。不必要な計算を省くことで処理の高速化を図れる。
【０１３５】
【数３】
2005115874.tif 000005
【０１３６】
【数４】
2005115874.tif 000006
【０１３７】
の計算を省略すると良い。
【０１３８】
また、生成される地紋画像では、背景閾値パターン、前景閾値パターン、前景背景領域指定画像、カモフラージュ領域指定画像の縦横の長さの最小公倍数の大きさの画像が繰り返しの最小単位となる為、地紋パターン描画部では繰り返しの最小単位である地紋画像の一部分のみを生成し、その地紋画像の一部分を入力背景画像の大きさにタイル状に繰り返し並べると地紋画像生成にかかる処理時間を短縮できる。
【０１３９】
【数５】
2005115874.tif 000007
【０１４０】
ステップＳ２７０６では、印刷時のドットに対応する画素値を書き込む処理を行う。
画素値の値は、地紋画像の色により変えることができる。黒色の地紋を作成したい場合、入力背景画像の処理対象画素を黒に設定する。
【０１４１】
その他、プリンタのトナーまたはインクの色に合わせ、シアン、マゼンタ、イエローに設定すれば、カラーの地紋画像を作成することもできる。
【０１４２】
入力背景画像が１画素あたり１〜数ビットの画像データである場合には、インデックスカラーを用いて画素値を表現すればよい。インデックスカラーとは画像データの表現方法で、対象とするカラー画像で頻繁に出現する色情報を目次に設定し（例えばインデックス０は白、インデックス１はシアンなど）、各画素の値は色情報を記載した目次の番号で表現する（例えば、１番目の画素値はインデックス１の値、２番目の画素値はインデックス２の値、・・・と表現する。）
ステップＳ２７０７では、入力背景画像の処理対象領域の全画素が処理されたかを判定する。入力背景画像の処理対象領域の全画素が処理されていない場合はステップＳ２７０８に進み、未処理の画素を選択し、再びステップＳ２７０４〜ステップＳ２７０６の処理を実行する。
【０１４３】
入力背景画像の処理対象領域の全画素に対する処理が完了していれば、ステップＳ２７０９に進む。
【０１４４】
以上の処理により、入力背景画像に対して画像処理を加えた地紋パターンが生成できる。ただし、これだけの処理では、前景背景領域指定画像の前景と背景の切り替わる部分にドットの固まりが生じ前景の概形が目立ち偽造防止地紋の効果が薄れるデメリットが生じる可能性がある。そこで、前景背景領域指定画像の前景と背景の切り替わりでドットの固まりが生じないようにするバウンダリ処理もあわせて施してもよい。図２６は、そのバウンダリ処理まで施した地紋パターン生成の例である。
【０１４５】
再び図２５を参照すると、ここまでの処理で地紋パターンが生成される。この処理は図２２のステップＳ１９０１と図２３のステップＳ１９０８とで共通であるが、以下のステップで説明される生成した地紋パターンの描画方法は各々異なる。
【０１４６】
図２２のステップＳ１９０１の処理では、地紋パターン自体が下地となるのでステップＳ２７１０の透かし描画処理が実行される。ステップＳ２７１０は、地紋パターンの描画の後にアプリケーションソフトで作成した文字などを透かして描画することを意味する。つまり、地紋パターンの描画については何ら特殊な処理は行われない。
【０１４７】
一方、図２３のステップＳ１９０８の処理では、地紋パターンは既に描画済みの下地に対し後から描画することになるので、ステップＳ２７１１の重ね描画処理が実行される。この場合は、アプリケーションソフトで作成した文字などの上に地紋パターンを重ねて描画することになるので、単純に地紋パターンを描画してしまうと下地が上書きされて見えなくなってしまう。そこで、ANDやORといった論理描画を利用することで完全に上書きしてしまうことを避ける。例えば、下地の各ピクセルが白色だったら、そのピクセルに対応する地紋パターンのピクセルを描画するといった論理描画を行う。
【０１４８】
そして、ステップＳ２７１２に進み、地紋パターン描画が終了する。
【０１４９】
以上、地紋パターン描画部の内部処理について述べた。
【０１５０】
なお、図２５を用いて説明した地紋パターンの描画処理は、実際の印刷時だけでなく、図１９（ａ）の簡易プレビューにて地紋パターンを描画する際にも使用される。これによって、図１９の角度指定のラジオボタン２２１１などによる設定を、可視状態で何度でも修正可能となる。
【０１５１】
以上説明したように、本実施形態によれば、文字列以外にビットマップやＥＭＦ（Enhanced Metafile Format、以下ＥＭＦと略する）のような描画情報を保持したイメージファイルなどをロゴとして入力可能にする。
【０１５２】
また、入力されたイメージを２値化した後のロゴイメージを示すプレビュー機能により、プレビュー機能利用者は、意図した偽造抑制地紋が印刷される画像に正しく付加されているか確認することができる。
【０１５３】
（他の実施形態）
本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１５４】
また、本発明は、前述した実施形態の機能を実現する、各図のフローチャートの手順を実現するプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【０１５５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１５７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１５８】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１５９】
【図１】本発明の一実施形態にかかる印刷制御システムの構成を示すブロック図である。
【図２】プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成例を示すブロック図である。
【図３】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦スプールファイルにスプールするプリントシステムの構成例を示すブロック図である。
【図４】印刷ジョブの出力先についての設定画面の一例を示す図である。
【図５】プレビューアが表示するプレビュー画面の一例を示す図である。
【図６】スプールファイルマネージャのユーザインタフェースの一例を示す図である。
【図７】スプーラにおける印刷データのスプールを示すフローチャートである。
【図８】印刷設定入力ダイアログの一例を示す図である。
【図９】スプールファイルマネージャによる印刷制御および物理ページ番号の決定処理の一例を示すフローチャートである。
【図１０】デスプーラにおける処理の一例を示すフローチャートである。
【図１１】スプールファイルマネージャからデスプーラに対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示す図である。
【図１２】図１１に図示されたジョブ設定情報の一例を示す図である。
【図１３】スプールファイルマネージャからデスプーラに対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示す図である。
【図１４】図１３における物理ページ設定情報の一例を示す図である。
【図１５】スプールファイルマネージャからデスプーラに対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示す図である。
【図１６】設定変更エディタにおける設定変更処理の一例を示すフローチャートである。
【図１７】設定変更エディタの画面の一例を示す図である。
【図１８】地紋プリント機能の設定画面の一例を示す図である。
【図１９】地紋プリントの個々の詳細設定を編集するためのダイアログの一例を示す図である。
【図２０】図１８のコントラスト設定ボタンを押下した際に表示されるダイアログの一例を示す図である。
【図２１】図１４の付加印刷情報のデータ形式の一例を示す図である。
【図２２】地紋パターンの描画処理の一例を示すフローチャートである。
【図２３】地紋パターンの描画処理の一例を示すフローチャートである。
【図２４】ロゴにイメージを指定した場合における前景背景領域指定画像生成処理の一例を示すフローチャートである。
【図２５】地紋パターンの描画処理の一例を示すフローチャートである。
【図２６】地紋パターン生成例を示す図である。
【図２７】偽造牽制地紋の画像の２つの領域を示す図である。
【図２８】偽造牽制地紋の顕像を示す図である。
【図２９】偽造牽制地紋におけるカモフラージュを示す図である。
【符号の説明】
【０１６０】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
５  キーボードコントローラ（ＫＢＣ）
６  ＣＲＴコントローラ（ＣＲＴＣ）
７  ディスクコントローラ（ＤＫＣ）
８  プリンタコントローラ（ＰＲＴＣ）
９  キーボード（ＫＢ）
１０  ＣＲＴ
１１  外部メモリ
１２  ＣＰＵ
１３  ＲＯＭ
１４  外部メモリ
１５  システムバス
１６  印刷部Ｉ／Ｆ
１７  印刷部
１８  入力部
１９  ＲＡＭ
２０  メモリコントローラ（ＭＣ）
１５００  プリンタ
１５０１  操作部
３０００  ホストコンピュータ
【図１】
2005115874.tif 000008
【図２】
2005115874.tif 000009
【図３】
2005115874.tif 000010
【図４】
2005115874.tif 000011
【図５】
2005115874.tif 000012
【図６】
2005115874.tif 000013
【図７】
2005115874.tif 000014
【図８】
2005115874.tif 000015
【図９】
2005115874.tif 000016
【図１０】
2005115874.tif 000017
【図１１】
2005115874.tif 000018
【図１２】
2005115874.tif 000019
【図１３】
2005115874.tif 000020
【図１４】
2005115874.tif 000021
【図１５】
2005115874.tif 000022
【図１６】
2005115874.tif 000023
【図１７】
2005115874.tif 000024
【図１８】
2005115874.tif 000025
【図１９】
2005115874.tif 000026
【図２０】
2005115874.tif 000027
【図２１】
2005115874.tif 000028
【図２２】
2005115874.tif 000029
【図２３】
2005115874.tif 000030
【図２４】
2005115874.tif 000031
【図２５】
2005115874.tif 000032
【図２６】
2005115874.tif 000033
【図２７】
2005115874.tif 000034
【図２８】
2005115874.tif 000035
【図２９】
2005115874.tif 000036