〔第1実施形態〕
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
図1は、本発明の実施形態を示す印刷システムの構成を示す図である。
図1において、ホストコンピュータ100は、外部メモリ111に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU101を備えている。このCPU101は、システムバス104に接続される各デバイスを総括的に制御する。
また、この外部メモリ111には、CPU101の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶している。RAM102は、CPU101の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)105は、キーボード109や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)106は、CRTディスプレイ(CRT)110の表示を制御する。
ディスクコントローラ(DKC)107は、ハードディスクドライブ(HDD)、フレキシブルディスク(FDD)等の外部メモリ111とのアクセスを制御する。外部メモリ111はブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶する。
プリンタコントローラ(PRTC)108は、双方向性インタフェース130を介してプリンタ150に接続されて、プリンタ150との通信制御処理を実行する。
なお、CPU101は、例えばRAM102上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT110上でのWYSIWYGを可能としている。
また、CPU101は、CRT110上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
プリンタ150は、CPU151により制御される。CPU151は、ROM153に記憶された制御プログラム等あるいは外部メモリ160に記憶された制御プログラム等に基づいてシステムバス154に接続される印刷部(プリンタエンジン)158に出力情報としての画像信号を出力する。また、このROM153には、CPU151の制御プログラム等を記憶する。ROM153のフォント用ROMには、上記出力情報を生成する際に使用するフォントデータ等が記憶される。ROM153のデータ用ROMには、ハードディスク等の外部メモリ160がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
CPU151は、入力部155を介してホストコンピュータ100との通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ100に通知できる。
RAM152は、CPU151の主メモリや、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM152は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。ハードディスクドライブ(HDD)、ICカード等で構成される外部メモリ160は、メモリコントローラ(MC)157によりアクセスを制御される。
外部メモリ160は、前述の制御プログラムに加え、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、159は操作パネルで、操作のためのスイッチ及びLED表示器等が配されている。
また、このプリンタ150には、課金のために、印刷枚数をカウントするカウンタ161が設けられている。カウンタ161は、カラー課金カウンタ、及び、クリアトナー課金カウンタを備えていて、このカウンタ161のカウント動作は、CPU151によって制御されうる。すなわち、カラー印刷、及び、クリアトナー印刷の実行に伴い、カラー課金カウンタ、及び、クリアトナー課金カウンタが、カウントアップされる。
なお、前述した外部メモリ160は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル159からのプリンタモード設定情報を記憶するようにしてもよい。
図2は、本発明の実施形態を示す印刷システムの印刷処理に係るソフトウェア構成を示す図である。
図2に示すように、ホストコンピュータ100において、アプリケーション200、グラフィックエンジン201、プリンタドライバ202、及びシステムスプーラ203は、外部メモリ111に保存されている。それらはOSやそのプログラムを利用する別のプログラムからの指示によってRAM102にロードされ、CPU101によって実行されるプログラムモジュールである。
また、アプリケーション200及びプリンタドライバ202は、外部メモリ111のFDDや不図示のCD−ROM若しくはネットワークを経由して外部メモリ111のHDDに追加(インストール)することが可能となっている。外部メモリ111に保存されているアプリケーション200はRAM102にロードされてCPU101により実行される。アプリケーション200からプリンタ150に対して印刷を行う際には、同様にRAM102にロードされ実行可能となっているグラフィックエンジン201を利用して出力(描画)を行う。
グラフィックエンジン201は、プリンタ150のために用意されたプリンタドライバ202を同様に外部メモリ111からRAM102にロードし、アプリケーション200の出力をプリンタドライバ202に設定する。そして、グラフィックエンジン201は、アプリケーション200から受け取るGDI関数をDDI関数に変換して、プリンタドライバ202へDDI関数を出力する。なお、GDIとは、Graphic Device Interfaceを示す。また、DDIとは、Device Driver Interfaceを示す。また、グラフィックエンジンとは、Windows(登録商標)OS(米国マイクロソフト社の登録商標)では、GDIと呼ばれるOSの描画手段に相当する。
プリンタドライバ202は、グラフィックエンジン201から受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM102にロードされたシステムスプーラ203を経てインタフェース130経由でプリンタ150へ印刷データとして出力される仕組みとなっている。
図3は、プリンタ150の一例を示すカラーレーザプリンタの断面図である。
図3に示すように、プリンタ150は、像担持体としてのドラム状の電子写真感光体、即ち、感光体ドラム301を有する。
感光体ドラム301の周りには、帯電手段としての帯電器306、露光手段としてのレーザ光源302、レーザ光源から照射された光像305を反射するポリゴンミラー303、ミラー304が配置されている。
さらに、クリーニング手段としてのクリーナー307、及び回転式現像装置308も感光体ドラム301の周りに配置されている。また、感光体ドラム301に対向して、ローラ316、317、318、319にて張架された第2の像担持体としての中間転写体としての中間転写ベルト320が配置されている。
回転式現像装置308は、感光体ドラム301に対向して配置され、回転自在に支持された回転体、即ち、現像ロータリー321を有する。この現像ロータリー321には、複数の現像手段として、4色分の有色トナー用現像器と1色分の特殊色トナー用現像器が搭載されている。上記4色分の有色トナー用現像器は、イエロートナー用現像器309、マゼンタトナー用現像器310、シアントナー用現像器311、ブラックトナー用現像器312、ライトブラックトナー用現像器313である。また、上記1色分の特殊色トナー用現像器は、光沢度調整用の特殊色トナーである透明トナー(クリアトナー)用現像器314である。
例えば、フルカラー画像の形成時には、感光体ドラム301は、先ず、その表面が帯電器306によって帯電される。次いで、プリンタ150に接続されたホストコンピュータ100から送られた画像信号などに基づき、帯電された感光体ドラム301の表面にレーザ光源302から光像305が照射される。
この様にして、感光体ドラム301上に静電像(潜像)が形成される。この潜像は、回転式現像装置308により現像される。つまり、現像ロータリー321が矢印321a方向に回転させられ、所定の現像器、例えば、現像器309が感光体ドラム301上と対向した現像部に移動させられる。そして、この現像器308が作動されることで、感光体ドラム301上に現像剤像、即ち、トナー像が形成される。
その後、感光体ドラム301上に形成されたトナー像は、感光体ドラム301と中間転写ベルト320との対向部(一次転写部)において、中間転写ベルト320上に転写される。この転写は一次転写手段としての一次転写ローラ315に印加される一次転写バイアスの作用により行われる。
以上の動作を繰り返すことで、中間転写ベルト320上に、イエロートナー、マゼンタトナー、シアントナー、ブラックトナー、ライトブラックトナー、及び、透明トナー(クリアトナー)が順次重ね合わせられた多重トナー像が形成される。
中間転写ベルト320上に形成された多重トナー像は、二次転写手段としての二次転写ローラ322と中間転写ベルト320との対向部(二次転写部)において、二次転写ローラ322に印加される二次転写バイアスの作用により、記録材330に転写される。記録材330は、中間転写ベルト320上の多重トナー像の先端が二次転写部に搬送されるタイミングに合わせて、図示しない記録材供給部から二次転写部に搬送されてくる。
トナー像が転写された記録材330は、搬送ベルト323、324により定着手段としてのローラ定着器325へと搬送される。記録材330は、ローラ定着器325によって加圧/加熱され、その上にトナー像が永久画像として定着される。その後、記録材330は、機外に排出される。
また、一次転写工程後に感光体ドラム301上に残った一次転写残トナーは、クリーナー307により除去される。更に、二次転写工程後に中間転写ベルト320上に残った二次転写残トナーは、図示しない転写ベルトクリーナにより除去される。
次に、図4〜図8を用いて本実施形態の印刷システムにおけるプリンタドライバ202のCRT110上のユーザインタフェースについて述べる。
図4は、プリンタドライバ202におけるユーザインタフェースの第一階層を示す図である。
図4において、401は印刷設定ダイアログであり、OSの管理するプリンタフォルダやアプリケーション200の印刷設定画面等から開くことができる(表示指示できる)。この表示指示を検知したCPU101がRAM102にロードされたプリンタドライバ202を実行して印刷設定ダイアログ401をCRT110上に表示するように制御する。
なお、図4に示すのは、基本的な印刷設定を行うことのできるページ設定シート402のユーザインタフェースである。
このページ設定シート402では、アプリケーション200から指定される原稿サイズ403や実際に印刷を行う出力用紙サイズ404の指定を行うことができる。また、ページ設定シート402では、印刷を行う部数412や、ポートレートやランドスケープ等の印刷の向き405、N−up等のページレイアウト406や、自由拡縮のための倍率407等を指定することができる。
さらに、ユーザ定義用紙ボタン409によりユーザ定義用紙を作成することもできるようになっている。
また、ページ修飾やオーバレイ等、プリンタドライバ202で行う各種オプションは、ページオプションボタン410を押下することで設定可能になっている。標準に戻すボタン411は、上記設定をデフォルト状態に戻すために用いるボタンである。
プリンタドライバ202は、印刷実行時に、本ユーザインタフェース401で設定された内容とアプリケーションから指示された内容に基づいてPDLデータを生成してプリンタ150へ送信する。
図5は、図4に示したページオプションボタン410がユーザによって押下された時にプリンタドライバ202が開く(CRT110に表示する)ページオプションダイアログ501のユーザインタフェースを示す図である。
本実施形態のページオプションダイアログでは、従来のページ修飾の設定画面(図8に示す)、オーバレイの設定画面に加えて、クリアトナーの使用方法を指定するクリアトナー設定画面502が存在する。以下、このクリアトナー設定画面502について説明する。
クリアトナー設定画面502は、その処理方法を選択可能な「処理方法」領域503を持つ。処理方法は「行わない」504、「全面クリア印字」505、「部分クリア印字」506の選択が可能なラジオボタンから構成される。
「行わない」504が指定された時には、プリンタドライバ202は、クリアトナーを使用しない通常カラージョブとして処理を行う。
また、「全面クリア印字」505が指定された時には、プリンタドライバ202は、通常カラージョブとしての処理に加えて全面クリア印字を行うようにプリンタ150に対して指示を行う。ここで全面クリア印字とは、CMYKのようなカラートナーの印字に加えて、記録紙330の用紙一面に均一にクリアトナーをかぶせる処理を指す。この時、プリンタ150に対しての指示はPDLコマンドで行っても良いし、その他の制御コマンドをプリンタ150に送信することで実施してもよい。
「部分クリア印字」506が指定された時は、プリンタドライバ202は、全面クリア印字ではなく、クリアトナーを一部のみ載せる処理を行う。部分クリア印字を行う際は、プリンタドライバ202は、さらに部分クリア詳細を指定するための「部分クリア詳細」ボタン507を指示可能に制御する。
図6は、図5に示した「部分クリア詳細」ボタン507がユーザにより押下された際にプリンタドライバ202が開く「部分クリア詳細」ダイアログ601のユーザインタフェース(特殊色トナーページ指定画面)の一例を示す図である。
「部分クリア詳細」ダイアログ601には、クリアトナーで印字する画像をどのようなジョブ形態で指定するかを選択するための「ジョブ形態」領域602が存在する。
「ジョブ形態」領域602で「1つのジョブでページごとに指定する」610が選ばれた時には、プリンタドライバ202は、一つのジョブとしてアプリケーション200から指定されるページ群のうちクリアトナーで印字するページを領域611で指定させる。
611に示す領域では、複数の指定方法が用意されている。ここでは、それぞれの指定方法に関してユーザインタフェースに関する説明を行うが、ページごとの描画データをどのような配置で記録紙に印字するかについては、図9以降の解説にて後述する。
まず、指定方法の一つである612では、コンボボックス615において偶数、奇数を選択させる。偶数ページが指定されている時、プリンタドライバ202は、アプリケーション200から描画されてくる複数ページのうち、奇数ページと遇数ページとでは処理を変える。即ち、偶数ページが指定されている時、プリンタドライバ202は、奇数ページに描画されたオブジェクトは全てカラートナーを用いて印字し、偶数ページに描画されたオブジェクトは全てクリアトナーを用いて印字するようプリンタ150に対して指示を行う。一方、奇数ページが指定されている時、プリンタドライバ202は、偶数ページに描画されたオブジェクトは全てカラートナーを用いて印字し、奇数ページに描画されたオブジェクトは全てクリアトナーを用いて印字するようプリンタ150に対して指示を行う。
指定方法の二つ目である「前(後)半ページ」613が選択された時はジョブのうち前半又は後半をクリアトナー専用ページとして指定させる。この場合、クリアトナー専用ページとして指定されていない残りのページに描画されたオブジェクトは全てCMYKのようなカラートナーを用いて印字を行うようにプリンタドライバ202がプリンタ150に対して指示を行う。一方、クリアトナー専用ページとして指定されたページに描画されたオブジェクトは全てクリアトナーを用いて印字を行うようにプリンタドライバ202がプリンタ150に対して指示を行う。
なお、図6ではページ指定を行うためのユーザインタフェース616と前半か後半かを示すユーザインタフェース617が例示してある。しかし、必ずしもユーザにページ指定を行わせる必要はない。例えば、アプリケーション200から1ジョブとして全てのページが印刷された後にページ数を2で割るなどして切り替えのページ数をプリンタドライバ202が自動で計算するようにしても良い。
指定方法の三つ目である「任意ページ」614が選択された時は、後述する図7に示すダイアログボックス701にて任意のページを指定させる。なお、ダイアログボックス701は「ページ指定」ボタン618を押下された時にプリンタドライバ202により表示される。
また、「別のジョブで指定する」620が選択されている時は、カラートナー用ジョブとクリアトナー用ジョブがアプリケーション200から別のジョブで指定されることを想定する。
ユーザは「別のジョブで指定する」620の機能を使用する場合、予めアプリケーション200においてクリアトナー用ジョブを作成してプリンタ150に登録しておく。次に、ユーザは、カラートナー用ジョブをアプリケーション200で別途作成して、印刷時に上記で登録したデータを使用するよう指定する。このようにジョブを分けてプリンタドライバ202から重ね印刷をプリンタ150に指示する方法は、既存のフォームオーバレイ機能と同様である。
ユーザインタフェース621は、今回のジョブを「クリアトナー用ジョブ」として登録するのか、「以前登録したクリアトナー用ジョブを使用する」のかをユーザに選択させるためのユーザインタフェースである。
ユーザインタフェース621において、「クリアファイルを作成する」622が選択された時は、ユーザは「保存ファイル名」624で入力されたファイル名でプリンタ150に登録指示を行う。一方、「部分クリア印字を行う」623が選択された時は、ユーザは「使用ファイル名」625で入力されたファイル名の登録ファイルを今回のジョブに重ねてクリアトナーで印字するようにプリンタ150に印刷指示を行う。このようなクリアトナー用ジョブの登録と、以前登録したクリアトナー用ジョブを使用するジョブとを、別のジョブで指定する時の詳細動作については、本発明の実施形態とは直接関係がないため割愛する。
なお、2種類のジョブを受け付けたプリンタ150がどのようにジョブを処理するかについては本発明にも関わる内容であるので後述する図20の説明にて簡単に説明する。
図7は、図6に示した「ページ指定」ボタン618が押下された時にプリンタドライバ202が開く(CRT110に表示する)ユーザインタフェースを示す図である。
ダイアログボックス701では、ユーザはエディットボックス領域702にクリアトナーで印刷したいページの番号をカンマ区切りで入力する。プリンタドライバ202は、「追加」ボタン703が押下されたら、エディットボックス領域702に入力されたページ番号をリストボックス704に一行ずつ表示する。
ページ番号の表示された行が選択された状態で「削除」ボタン705が押下されたら、プリンタドライバ202は、リストボックス704内の選択されている行を削除する。
本実施形態では、ダイアログボックス701上で入力されたのページ番号Nを、ページ番号N−1のカラートナー印刷に重ねてリアトナーで印字する構成とする。そのため、「1ページ」や「連続番号ページ」に対しては入力できないように、プリンタドライバ202が、ユーザインタフェース上で制御することが望ましい。このようにして指定されたページの前のページは必ずカラートナー用のページとなっていることが望ましい。なお、ダイアログボックス701上で入力されたページ番号Nを、ページ番号N+1のカラートナー印刷に重ねてクリアトナーで印字する構成としてもよい。この構成の場合、「最終ページ」や「連続番号ページ」に対しては入力できないように、プリンタドライバ202が、ユーザインタフェース上で制御することが望ましい。また、このようにして指定されたページの1つ後のページは必ずカラートナー用のページとなっていることが望ましい。
図8は、図4に示したページオプションボタン410がユーザによって押下された時にプリンタドライバ202が開く(CRT110に表示する)ページオプションダイアログ501のユーザインタフェースを示す図である。なお、図8ではページ修飾の設定画面802について説明する。
本ページ修飾機能が指定されると、プリンタドライバ202は、アプリケーション200から描画される描画オブジェクトに追加する形で該当する描画オブジェクトを追加する。具体的には、ページ枠,日付,ユーザ名,ページ番号の印刷がそれぞれコンボボックス803,804,805,806において指定されると、プリンタドライバ202は、印刷処理の際に、それらのオブジェクトをプリンタ150に送信するPDLデータに対して追加する。
以下、図9〜図11を用いて、本実施形態におけるページ処理について説明する。
図9は、図6における部分クリア詳細ダイアログ601で「偶数ページ」612が選択された時のプリンタドライバ202への入力とプリンタ150からの出力を示す図である。
図9では、プリンタドライバ202への入力はアプリケーション原稿の形で示し、プリンタ150からの出力は印字結果の形で示している。
アプリケーション原稿の複数ページのうち、偶数ページをクリアトナーで印字する時には、プリンタドライバ202は、図9に示すように、前ページの奇数ページに重ねて印字するようプリンタ150に対して指示する。即ち、2ページ目の描画オブジェクトは全てクリアトナー描画オブジェクトに置き換えられた上で1ページ目のカラー(CMYK)トナー描画オブジェクトの上に重ねてクリアトナーで印字される。結果として、図9に示すように、全8ページのアプリケーション原稿は、全4ページの印字結果となる。
なお、アプリケーション原稿に対する印字結果が、図9に示すようになっていれば、その実現方法は問わない。即ち、クリアトナーページに指定された偶数ページをクリアトナーを用いた印刷を行うクリアトナーページ(特殊色トナーページ)として処理し、他のページ(奇数ページ)をカラートナーを用いて印刷を行うカラートナーページ(有色トナーページ)として処理し、上記クリアトナーページを上記カラートナーページを印刷する同一用紙の同一面に対して重ねて印刷するようにプリンタ150に指示する構成であればどのような構成であってもよい。例えば、2ページを1ページにまとめる実現手段は、プリンタドライバ202の中でPDLデータとして1ページにまとめてしまっても良い。また、プリンタドライバ202からのPDLデータは2ページのままで、プリントチケットのようなPDLとは別の手段で1ページにまとめる処理をプリンタ150に指示しても良い。さらに、クリアトナー用データの色処理に関しても、プリンタドライバ202の内部で単色化処理をしても良いし、多色のままプリンタ150にデータ送信して、プリンタ150の内部でクリアトナーへの単色化処理を行っても構わない。なお、プリンタドライバ202からプリンタ150への指示の方法の詳細に関しては後述する。
図10は、図6における部分クリア詳細ダイアログ601で「前(後)半ページ」613が選択された時のプリンタドライバ202への入力とプリンタ150からの出力を示す図である。
図10も、図9と同様に、プリンタドライバ202への入力はアプリケーション原稿の形で示し、プリンタ150からの出力は印字結果の形で示している。
図10では、8ページのアプリケーション原稿における5ページ目以降をクリアトナー印字指定で指定された時の実施形態を示している。すなわち、「前(後)半ページ」613が選択された上で、ページ指定ユーザインタフェース616では「5」が、コンボボックス617では「以降」が選択された状況における例である。
プリンタドライバ202は、プリンタ150に対して1ページ目から4ページ目までのデータをカラー(CMYK)トナーで印字し、5ページ目から8ページ目までのデータをクリアトナーで印字するようプリンタ150に対して指示を行う。結果として図に示すように1ページ目のデータがカラー(CMYK)トナー印字された用紙の上に重ねて5ページ目のデータがクリアトナーで印字される。同様に2,3,4ページ目のデータがカラー(CMYK)トナー印字された用紙の上に重ねて6,7,8ページ目のデータがクリアトナーで印字される。
なお、アプリケーション原稿に対する印字結果が、図10に示すようになっていれば、その実現方法は問わない。即ち、クリアトナーページに指定された5〜8ページをクリアトナーを用いた印刷を行うクリアトナーページとして処理し、他のページ(1〜4ページ)をカラートナーを用いて印刷を行うカラートナーページとして処理し、上記クリアトナーページをページ順に対応する上記カラートナーページを印刷する同一用紙の同一面に対して重ねて印刷するようにプリンタ150に指示する構成であればどのような構成であってもよい。なお、プリンタ150への指示の方法に関しては後述する。
図11は、図6における部分クリア詳細ダイアログ601で「任意ページ」614が選択された時のプリンタドライバ202への入力とプリンタ150からの出力を示す図である。
図11も、図9と同様に、プリンタドライバ202への入力はアプリケーション原稿の形で示し、プリンタ150からの出力は印字結果の形で示している。
図11では、図7で示したように、ユーザが3,5,8ページをクリアトナーページとして指定した時の実施形態を表している。
プリンタドライバ202は、1ページ目のカラー(CMYK)トナーの上にはクリアトナー印字は行わせず、2ページ目のカラー(CMYK)トナーの上に3ページ目のデータがクリアトナー印字するようにプリンタ150に対して指示を行う。
同様に、プリンタドライバ202は、4ページ目のカラー(CMYK)トナーの上に5ページ目のデータがクリアトナー印字するようにプリンタ150に対して指示を行う。
同様に、プリンタドライバ202は、6ページ目のカラー(CMYK)トナーの上にはクリアトナー印字は行わせず、7ページ目のカラー(CMYK)トナーの上に8ページ目のデータがクリアトナー印字するようにプリンタ150に対して指示を行う。
なお、アプリケーション原稿に対する印字結果が、図11に示すようになっていれば、その実現方法は問わない。即ち、クリアトナーページに指定された3,5,8ページをクリアトナーを用いた印刷を行うクリアトナーページとして処理し、他のページ(1,2,4,6,7ページ)をカラートナーを用いて印刷を行うカラートナーページとして処理し、上記3,5,8ページのクリアトナーページを上記2,4,7ページのカラートナーページを印刷する同一用紙の同一面に対して重ねて印刷するようにプリンタ150に指示する構成であればどのような構成であってもよい。なお、プリンタ150への指示の方法に関しては後述する。
なお、プリンタドライバ202を、図6に示したクリアトナーで印字するページの指定を、偶数ページ、奇数ページ、前半ページ、後半ページのいずれかに固定する構成としてもよい。この構成の場合、プリンタドライバ202は、上記固定指定ページ(偶数ページ、奇数ページ、前半ページ、後半ページのいずれかのページ)をクリアトナーを用いた印刷を行うクリアトナーページとして処理するように構成する。
以上、図9〜図11で示したように、ユーザは複数の選択肢の中からアプリケーションデータを作成しやすいものを選んで選択することが可能である。
以下、図12〜図15を参照して、図11で示した任意ページ指定(3,5,8ページを指定)の実施形態において、プリンタドライバ202の他の機能を組み合わせた際の動作について説明する。
図12は、図11で示した任意ページ指定(3,5,8ページを指定)の実施形態において、プリンタドライバ202における、ユーザによる2−upの指定が行われた時の動作を示す図である。
図11の印字結果に示すとおり、1ページ目のデータにはクリアトナー用のデータはないが、2ページ目のデータには3ページ目のデータをクリアトナーで印字する必要がある。そのため2−upを行う際には、1,2ページ目のデータを2−upにページ配置(レイアウト)する。3ページ目のデータが2ページ目のデータにちょうど重なるように、図12に示すようなページ配置を行い、クリアトナー印字指定を行う。
また、5ページ目のデータはクリアトナーで印字するデータであるから、図12に示すように、4ページ目のデータと6ページ目のデータを同じ用紙に2−upする。5ページ目のデータは4ページ目のデータにちょうど重なるようにページ配置を行い、クリアトナー印字指定を行う。その結果、プリンタドライバ202は、プリンタ150に対して、図12に示すような全6ページ分のデータの2,4,6ページをクリアトナー印字指定する場合と同じ指定を行う。
ここでは、図7の「任意ページクリア指定」ダイアログ701におけるリストボックス704でページ指定されている時の2−upのページ配置手順を具体的に述べる。簡単のため、図7の説明にて述べたように任意ページとして「1ページ」や「連続番号ページ」が指定できないよう制御されていることを前提とする。
まず、プリンタドライバ202は、全てのページに対して論理ページ番号を1から振りなおす。この時リストボックス704にて指定されているページは飛ばしてページ番号を割り振る。
次に、プリンタドライバ202は、新しく割り振られた論理ページ番号を使用して物理ページに対する通常の2−upのページ配置を行う。
次に、プリンタドライバ202は、リストボックス704で指定されているそれぞれのページに対して、そのページの前のページに割り振られている論理ページ番号を調べる。そして、プリンタドライバ202は、そのページが配置されている物理ページを探索し、そのページの後に、クリアトナー用の物理ページを1ページ分挿入する。なお、プリンタドライバ202は、既にクリアトナー用の物理ページが挿入されている時は、クリアトナー用の物理ページの挿入は行わない。
その後、プリンタドライバ202は、上記挿入したクリアトナー用の物理ページ上に、リストボックス704で指定されているそれぞれのページを、2−upでページ配置する。このときプリンタドライバ202は、上記の物理ページ上の論理ページ上にユーザの指定通り重なるように2−up処理を行い、クリアトナー用ページのない部分は描画を行わないようにする。
プリンタドライバ202は、このようにして作成された新しい物理ページのジョブに対して、再度「任意ページクリア指定」の処理を行うことで2−upを実現する。この際、クリアトナー印字指定する任意ページとして上記手順で挿入したクリアトナー用の物理ページを指定する。図12に示す例では、全6ページ分のデータの2,4,6ページをクリアトナー印字指定する。
なお、ここでは、2−upを例にして説明したが、N(2以上)ページを同一の用紙の同一面にレイアウトして印刷するN−upのレイアウト印刷全てに適用可能である。
以上のように、N−up印刷が指定されている場合、プリンタドライバ202は、カラートナーページを用紙の印刷面にN−upで配置するとともに、クリアトナーページを該クリアトナーページと重ねて印刷するカラートナーページの配置に対応させてN−upで配置するように制御する。
図13は、図11で示した任意ページ指定(3,5,8ページを指定)の実施形態において、プリンタドライバ202における、ユーザによる中とじ製本印刷の指定が行われた時の動作を示す図である。
2ページ目のデータの上に3ページ目のデータがちょうど重なり、4ページ目のデータの上に5ページ目のデータがちょうど重なるように配置する点では、図12に示した2−upの例と同様である。
結果として、プリンタドライバ202は、プリンタ150に対して、図13に示すように、全7ページのデータに3,5,7ページをクリアトナー印字指定する場合と同じ指定を行う。
以上のように、中綴じ印刷が指定されている場合、プリンタドライバ202は、カラートナーページを用紙の両面に中綴じ印刷するように配置するとともに、クリアトナーページを該クリアトナーページと重ねて印刷するカラートナーページの配置に対応させて配置するように制御する。
図14は、図8に示した「ページオプション」ダイアログ501の「ページ修飾」設定画面802において「ページ番号を印刷」806を「中央下」で指定した時のプリンタドライバ202における動作を示す図である。
プリンタドライバ202は、アプリケーション原稿1301に対して3,5,8ページ目は前のページの2,4,7ページ目に重なるクリアトナー用データであるから、それらのページは飛ばして番号を振る。
結果として、プリンタドライバ202は、ページ番号印刷時1302に示すように、アプリケーション原稿の4ページ目にはページ番号「3」の描画データをPDLデータに追加する。また、プリンタドライバ202は、アプリケーション原稿の6ページ目にはページ番号「4」の描画データPDLデータに追加する。さらに、プリンタドライバ202は、アプリケーション原稿の6ページ目にはページ番号「5」の描画データをPDLデータに追加する。
以上のように、「書式設定」807においてメタリック色(光沢のあるページ番号)が指定された時は、プリンタドライバ202は、カラートナーページに対してページ番号を付加するように処理するとともに、ページ番号印刷時(メタリック色指定時)1303に示すように、クリアトナーページに対して該クリアトナーページと重ねて印刷するカラートナーページに付加されたページ番号に対応させてページ番号を付加するように制御する。結果として表面の反射する効果を持つページ番号(光沢のあるページ番号)出力を得ることができる。
図15は、両面印刷指定時の綴じ代(両面綴じ代印刷)の余白作成をプリンタドライバ202で行った時の動作を示す図である。
通常、両面印刷指定時の綴じ代(とじしろ)は、印刷面に応じて各々の端部に適当な余白を作成する。即ち、表面に対応する奇数ページが左端部に余白作成されるのであれば裏面に対応する偶数ページは右端部に余白を作成する。図15に示す例では、2,4,7ページに、クリアトナー用ページである3,5,8ページを重ねるため、プリンタドライバ202は、1,4,5,7,8ページは左端部に余白1401を作成し、2,3,6ページは右端部に余白1402を作成するよう動作する。すなわち、任意のページにおける余白は、ページ数からそのページ以前に指定されているクリアトナー用ページの数を引いた値が偶数か奇数かによって決定する。
このように、両面綴じ代印刷が指定されている場合、プリンタドライバ202は、カラートナーページに対して印刷面に応じて各々の端部に余白を作成するように処理するとともに、クリアトナーページに対して該クリアトナーページと重ねて印刷するカラートナーページに作成された余白に対応させて余白を作成するように制御する。
図16は、カラートナー用ページデータとそのページに重ねられるクリアトナー用ページデータの用紙サイズが異なる場合の動作について示す図である。
図16(a)に示すように、クリアトナー用ページデータの方がサイズが大きい場合、プリンタドライバ202は、印字結果に示すように、左上を原点としてはみ出た分の描画データは切り捨てて印字する。
また、図16(b)に示すように、クリアトナー用ページデータの方がサイズが小さい場合、プリンタドライバ202は、印字結果に示すように、左上を原点として重ねて印字する。
以下、図17〜図18を用いて、本発明の第1実施形態における、プリンタドライバ202のジョブ作成方法の例を解説する。アプリケーション原稿に対する印字結果が、図9,図10,図11に示す印字結果のようになっていれば、その実現手段は問わないことは前述のとおりである。
図17は、プリンタドライバ202のジョブ作成方法の一例を示す図である。
なお、図17(a)は例1におけるアプリケーション原稿と印字結果の例を示している。また、図17(b)はプリンタドライバ202がプリンタ150に対して出力するスプールファイル中のPDLデータの概要を示している。
図17(b)において、1601は、図17(a)のアプリケーション原稿を本発明を用いずに通常ジョブとして発行した時のスプールファイルを示している。
ジョブは16011と16018の二つのコマンドに囲まれている。さらに16012と16014が1ページ目の始めと終わりを示しており、その間に1ページ目の描画コマンドが格納される。同様に16015と16017が2ページ目の始めと終わりを示しており、その間に2ページ目の描画コマンドが格納される。描画データ(1)16013と描画データ(2)16015はそれぞれ別のに囲まれているので、それぞれ別のページへの描画データとして出力される。
一方、本発明を実施して発行したジョブのスプールファイルを示したのが図17(b)の1602である。
図17(b)の1602では、描画データ(1)16023も描画データ(2)16025も一つの16022と16027に囲まれている。これはトナーの種類は異なるものの、どちらも同じページ上へ印字させることを示している。
1ページ目の描画データはカラートナー用データのため通常と同じ配置であるが、2ページ目の描画データ(2)16025は全て16024と16026の間に配置される。
プリンタ150は、上記のジョブを受信すると、とに囲まれていない描画データはカラートナーを用いて印字し、囲まれている描画データはクリアトナーで印字する。
また、プリンタ150は、カラートナー印字した場合は、カラー印刷課金カウンタを、クリアトナーで印字した場合は、クリアトナー印刷課金カウンタを、それぞれカウントアップする。
以上のように、本実施形態では、アプリケーション原稿における2ページ分を1ページ分のPDLデータに変換する作業をプリンタドライバ202にて行う。即ち、本実施形態では、プリンタ150に印刷を指示する1ページの印刷指示内に、カラーページの描画指示とクリアページの描画指示とを含め、クリアページをカラーページを印刷する同一用紙の同一面に対して重ねて印刷するようにプリンタ150に指示する。なお、ここでは、簡易的に2ページの原稿を例としてあげているが、アプリケーション原稿の複数ページのうち、どの2ページの組み合わせを1ページにまとめるかは、前述のとおりである。
次に、図18のフローチャートを参照して、本実施形態におけるプリンタドライバ202の動作を説明する。
図18は、プリンタドライバ202の動作の一例を示すフローチャートである。即ち、本フローチャートに示す機能は、CPU101が、外部メモリ111に記録されたプリンタドライバプログラムをRAM102にロードして実行することにより実現される。
CPU101により実行されるプリンタドライバ202(以下、単にプリンタドライバ202)は、本フローチャートの処理を開始すると(S2001)、まず始めに、ジョブ開始コマンドを発行する(S2002)。
次に、プリンタドライバ202は、アプリケーション200から描画される全てのページに対してS2004〜S2017を繰り返すように制御する(S2003,S2018)。
まず、S2004において、プリンタドライバ202は、ページ開始コマンドを発行する。
次にS2005において、プリンタドライバ202は、処理対象のページがカラートナーページかクリアトナーページかを判断する。判断の方法は図6の「部分クリア詳細」ダイアログ601の「クリアトナーで印字するページ」領域611での指定ページを元に判断する。
S2005において、カラーページであると判断した場合には、プリンタドライバ202は、S2006においてアプリケーション200から描画されるオブジェクトをPDLに変換して通常の描画コマンドを発行する。
ページ内にある全ての描画コマンドの発行が終了したら、プリンタドライバ202は、次のページにフォーカスを移す(S2007)。
次に、S2008において、プリンタドライバ202は、処理対象のページがカラーページかクリアページかそれとも全ページ終了しているかを確認する。
S2008において、処理対象のページがカラーページ、若しくは全ページ終了していると判断した場合には、プリンタドライバ202は、S2017まで処理をスキップし、ページ終了コマンドを発行する。
一方、S2008において、処理対象のページがクリアページであると判断した場合には、プリンタドライバ202は、S2009〜S2012の処理を行う。
S2009では、プリンタドライバ202は、クリア開始コマンドを発行し、ここから先の描画コマンドはクリアトナーでの印字を指示することを宣言する。
次に、S2010において、プリンタドライバ202は、処理対象のページに対してアプリケーション200から描画されるオブジェクトを全てPDLに変換して描画コマンドを発行する。
処理対象のページの描画コマンドを全て発行したら、S2011において、プリンタドライバ202は、クリア終了コマンドを発行して、次のページに処理対象のページを移す(S2012)。
以上で、カラーページ内のカラートナー用描画データとクリアトナー用描画データを全てコマンド化したため、S2017において、プリンタドライバ202は、ページ終了コマンドを発行する。
一方、S2005にて、処理対象のページがクリアページであると判断した場合には、プリンタドライバ202は、そのページがカラートナーのないページになるため、最初にクリア開始コマンドを発行する(2013)。
次に、S2014において、プリンタドライバ202は、アプリケーション200から描画されるオブジェクトを全てPDLに変換して描画コマンドを発行する。
そして、描画コマンドの発行が終了したら、S2015において、プリンタドライバ202は、クリア終了コマンドを発行して次のページにフォーカスを移す(S2016)。されに、S2017において、プリンタドライバ202は、ページ終了コマンドを発行する。
そして、S2003において、全てのページ分、S2004〜S2017の処理を繰り返したと判定した場合には、プリンタドライバ202は、S2019へ処理を進め、ジョブ終了コマンドを発行して、ジョブを終了する(S2020)。
以上のような手順で、プリンタドライバ202は、図17(b)のようなデータを作成して、プリンタ150に対してクリアトナーを使用した印字を指示する。
なお、ここで使用した各コマンドはあくまでも例であるため実施の際にはシステムに対応して自由に変更することが可能である。
〔第2実施形態〕
以下、本発明の第2実施形態について図19、図20、図21を用いて説明する。
上述した第1実施形態では、プリンタ150に対して1つのジョブで印刷指示を行うのに対して、第2実施形態では、プリンタ150に対して2つのジョブで印刷指示を行う点で処理方法が異なる。即ち、第2実施形態では、アプリケーション200から1つのジョブで指定された描画を、プリンタドライバ202の内部でカラートナー用ジョブとクリアトナー用ジョブの2つのジョブに分けて発行する。
本実施形態には、プリンタ150内部にクリアファイルを作成するジョブ(クリアトナーページ登録ジョブ)を受け付ける手段と、指定されたクリアファイルを使用して部分クリア印字を行うジョブ(カラートナーページジョブ)を受け付ける手段が必要である。これは、前述の図6における「別のジョブで指定する」620を行った時の手段と同等のものを想定している。これらのジョブを受け取った際のプリンタ内部の動作詳細は割愛する。
図19は、アプリケーション原稿と、それに対してプリンタドライバ202がプリンタ150に対して発行するクリアトナーページ登録ジョブ、及びカラートナーページジョブのページ出力の概略を示す図である。
図19において、1701はアプリケーション原稿、1702はクリアトナーページをフォーム登録するクリアトナーページ登録ジョブ、1703はカラートナーページジョブである。なお、アプリケーション原稿1701の例は、図11で用いたものと同じものである。
図20,図21は、本発明の第2実施形態においてプリンタドライバ202がクリアトナーページ登録ジョブとカラートナーページ登録ジョブをどのように分けて出力するかを示すフローチャートである。即ち、本フローチャートに示す機能は、CPU101が、外部メモリ111に記録されたプリンタドライバプログラムをRAM102にロードして実行することにより実現される。
本実施形態では、アプリケーション原稿1701に対応するジョブの全てのページを、クリアトナーページ登録ジョブ1702と、カラートナーページジョブ1703に分割する。このために、プリンタドライバ202は、一旦アプリケーション200からの印刷データを全てRAM102にためておく必要がある。なお、図20,図21に示す処理は全ての印刷データが既にたまっている状態を前提としている。
CPU101により実行されるプリンタドライバ202(以下、単にプリンタドライバ202)は、図20に示すフローチャートの処理を開始すると(S1801)、まず、S1802に処理を進める。
S1802では、CPU101は、空のカラーページ用リストとクリアページ用リストをRAM102内に作成する。これらは、それぞれカラートナーページジョブ1703とクリアトナーページ登録ジョブ1702で出力するページデータを順次つなげていくためのリストである。
プリンタドライバ202は、次にS1803において、変数「COLOR」及び変数「CLEAR」に初期値として0を設定する。これらの変数はRAM102内に設けられ、それぞれカラートナーページジョブ1703とクリアトナーページ登録ジョブ1702のそれぞれのページ数を格納するために使用される。
S1804において、プリンタドライバ202は、ジョブの全ページをカラーページ用リストとクリアページ用リストに振り分ける動作を行う。なお、S1804における手順の詳細は図21を用いて後述する。
次に、S1805において、プリンタドライバ202は、クリアページ用リストを使用してクリアトナーページ登録ジョブ1702を出力する。プリンタドライバ202は、クリアトナーページ登録ジョブ1702中でプリンタ150に対して指定する保存ファイル名を任意に決定する。ここで他のジョブとの重複を防ぐために、ファイル名の一部に汎用一意識別子を用いることが望ましい。プリンタ150は、クリアトナーページ登録ジョブを受け取ると、指定された保存ファイル名にてジョブを外部メモリ160に格納し、印刷は行わない。なお、クリアトナーページの総数は変数CLEARに格納されているページ数である。
続けて、プリンタドライバ202は、S1806において、カラーページ用リストを使用してカラートナーページジョブ1703を出力する。その時、S1805でプリンタ150に登録しておいたファイル名を、使用ファイル名として指定して部分クリア印字するようにプリンタ150に指示する。プリンタ150は、部分クリア印字の指示を受け取ると、まず指定された使用ファイル名のクリアトナーページ登録ジョブが外部メモリ160に格納されているかどうかを確認する。格納されている場合はカラートナーページの1ページ目をカラートナーで印刷した後にクリアトナーページ登録ジョブの1ページ目を同じ用紙に重ねてクリアトナーで印刷する。
プリンタドライバ202は、次にS1807において、先にS1805で登録した登録データの削除指示を行い、処理を終了する(S1808)。削除指示を受け取ったプリンタ150は、該当するクリアトナーページ登録ジョブが外部メモリ160に登録されているかどうかを確認して、存在すればその情報を削除する。
図21は、図20のS1804に示した、ジョブの全ページをカラーページ用リストとクリアページ用リストに振り分ける動作の詳細を示すフローチャートである。
プリンタドライバ202は、本フローチャートの処理を開始すると(S1901)、全てのページに対してS1903〜S1914を繰り返すように制御する(S1902,S1916)。
まずS1903において、プリンタドライバ202は、処理対象のページがカラートナーページかクリアトナーページかを判断する。判断の方法は、図6の「部分クリア詳細」ダイアログ601の「クリアトナーで印字するページ」領域611での指定ページを元に判断する。
S1903において、処理対象のページがカラーページであると判断した場合には、プリンタドライバ202は、S1904において、処理対象のページをカラーページ用リストに追加する。
続けて、S1905において、プリンタドライバ202は、変数COLORをインクリメントする。
次に、S1906において、プリンタドライバ202は、COLOR=CLEAR+1となっているかどうかを確認する。そして、S1906において、COLOR=CLEAR+1であると判断した場合は、プリンタドライバ202は、そのまま1ページ分の処理を終えてS1914に処理を進める。
一方、S1906において、COLOR=CLEAR+1でないと判断した場合は、カラーページが2ページ連続で続いた時であるので、プリンタドライバ202は、S1907に処理を進める。S1907では、プリンタドライバ202は、クリアページ用リストに白紙を追加し、S1908において、変数CLEARをインクリメントし、1ページ分の処理を終えてS1914に処理を進める。
一方、S1903において、処理対象のページがクリアページであると判断した場合には、プリンタドライバ202は、S1909において、そのページをクリアページ用リストに追加する。
続けて、S1910において、プリンタドライバ202は、変数CLEARをインクリメントする。
次に、S1911において、プリンタドライバ202は、COLOR=CLEARとなっているかどうかを確認する。そして、S1911において、COLOR=CLEARであると判断した場合は、プリンタドライバ202は、そのまま1ページ分の処理を終えてS1914に処理を進める。
一方、S1911において、COLOR=CLEARでないと判断した場合は、クリアページが2ページ連続で続いた時であるので、プリンタドライバ202は、S1912に処理を進める。S1912では、プリンタドライバ202は、カラーページ用リストに白紙を追加し、S1913において、変数COLORをインクリメントし、1ページ分の処理を終えてS1914に処理を進める。
S1914では、プリンタドライバ202は、次のページに処理対象のページを移し、全ページの処理が済むまでS1903〜S1914の処理を繰り返し、全ページの処理が終了すると、本フローチャートの処理を終了する(S1916)。
以上を繰り返すことで、全部のページがカラーページ用リストかクリアページ用リストにつながれることになる。
以上、本発明の第1,2実施形態について述べた。第1,2実施形態においては、特色トナーとしてクリアトナー(透明トナー)を例にとって説明したが、白トナーや蛍光トナーなど、通常のグラフィックエンジンでは色指定が困難と思われる特色に関してはすべて同様の実施が可能である。
〔第3実施形態〕
以下、図22、図23、図24を用いて、本発明の第3実施形態について説明する。
上述した第1実施形態及び第2実施形態では、アプリケーションで予め作成されたアプリケーション原稿の一部をクリアトナー用ページとして印刷する構成であった。これに対して、第3実施形態では、プリンタドライバ202が、カラートナー用ページからクリアトナー用ページを自動的に生成して印刷するという点で処理方法が異なる。
図22は、アプリケーション原稿と、それに対してプリンタドライバ202がプリンタ150に対して発行するカラートナーページジョブ、プリンタドライバ202が生成するクリアトナーページ登録ジョブ、及び印字結果のページ出力の概略を示す図である。
図22において、2101はアプリケーション原稿、2102はカラートナーページジョブ、2103はクリアトナーページ登録ジョブ、2104は印字結果のページ出力である。
本実施形態では、プリンタドライバ202が、アプリケーション原稿の画像部分(画像オブジェクト)に対してクリアトナーの部分コート処理を行うクリアトナー用ページを自動的に生成する。ここでは、例えばユーザにより「画像部分に対してクリアトナー印字」といった指定を可能とするUIをプリンタドライバにより提供することで上記自動生成の指示を実現してもよい。この場合、ユーザはクリアトナーの印字領域を手動で指定する必要が無くなる。
図23は、本発明の第3実施形態におけるプリンタドライバ202がカラートナー用ページからクリアトナー用ページを自動的に生成する処理を示すフローチャートである。ここでは、例えばカラートナー用ページとクリアトナー用ページとを2つのジョブとしてそれぞれ送信する実施形態を説明している。即ち、本フローチャートに示す機能は、CPU101が、外部メモリ111に記録されたプリンタドライバプログラムをRAM102にロードして実行することにより実現される。
CPU101により実行されるプリンタドライバ202(以下、単にプリンタドライバ202)は、図23に示すフローチャートの処理を開始すると、S2201を実行する。
S2201では、プリンタドライバ202は、アプリケーション200から描画される全てのページに対してS2202〜S2212を繰り返すように制御する。
そして、プリンタドライバ202は、処理対象のページ内で検出される全てのDDI関数に対してS2203〜S2206を繰り返すように制御する(S2202)。
まずS2203において、プリンタドライバ202は、DDI関数の検出を行う。DDI関数は、アプリケーション200が発行したGDI関数がグラフィックエンジン201で変換されたものである。例えば、DrvBitBlt(ビットマップ描画)やDrvFillPath(パスを塗りつぶす)等の関数がある。
次に、S2204において、プリンタドライバ202は、S2203で検出したDDI関数がクリアページ用DDI関数かどうかを判定する。この判断は、図24に示すクリアページ用DDI関数定義リストに基づいて行う。ここで、図24を用いてクリアページ用DDI関数定義リストについて説明する。
図24は、プリンタドライバ202が保持し図23のS2204の判定に用いるクリアページ用DDI関数定義リストの一例を示す図である。
図24に示すように、クリアページ用DDI関数定義リストでは、どのDDI関数をクリアページ用DDI関数とみなすかが予め定義されており、これを元にプリンタドライバ202が判定を行う。
図24に示す例では、画像(画像オブジェクト)を描画するためのDrvBitBlt関数がクリアページ用DDI関数と定義されている。なお、このクリアページ用DDI関数定義リストは固定的に定義されていても、プリンタドライバ202のUI等でユーザが動的に変更できるようにされていてもよい。プリンタドライバ202は、クリアページ用DDI関数で示される描画命令に従って後の工程(S2209)でクリアトナー用ページを動的に生成する。
以下、図23のフローチャートの説明に戻る。
S2204において、プリンタドライバ202は、S2203で検出したDDI関数がクリアページ用DDI関数でないと判定した場合には、S2206に処理を進める。
一方、S2204において、プリンタドライバ202は、S2203で検出したDDI関数がクリアページ用DDI関数であると判定した場合には、S2205に処理を進める。
S2205では、プリンタドライバ202は、RAM102内のクリアページ用DDI関数リストに、S2204でクリアページ用DDI関数と判定されたDDI関数を追加する。
次に、S2206において、プリンタドライバ202は、次の関数を検索させるように、S2202に処理を移す。
そして、1ページ内の全DDI関数に対してS2203〜S2206の処理を完了したら、プリンタドライバ202は、S2207に処理を進める。
S2207では、プリンタドライバ202は、クリアページ用DDI関数リストのサイズが0かどうかを判定する。
そして、S2207において、クリアページ用DDI関数リストのサイズが0であると判定された場合には、プリンタドライバ202は、S2208において、クリアページ用リストに白紙を追加し、S2211に処理を進める。
一方、S2207において、クリアページ用DDI関数リストのサイズが0でないと判定された場合には、プリンタドライバ202は、S2209において、クリアページの自動生成を行う。プリンタドライバ202は、クリアページ用DDI関数リストに含まれるDDI関数の描画命令に従ってクリアページを自動的に生成する。
次に、S2210において、プリンタドライバ202は、S2209で自動生成したクリアページをRAM102内のクリアページ用リストに追加し、S2211に処理を進める。
次に、S2211において、プリンタドライバ202は、クリアページ用DDI関数リストの中身を空にする。
次に、S2212において、プリンタドライバ202は、処理対象のページを次のページに移し、S2201に処理を移す。
そして、全ページに対してS2202〜S2212を完了したら、プリンタドライバ202は、本フローチャートの処理を終了する。
このようにして、プリンタドライバ202は、アプリケーション200から描画される全てのページに対して、クリアページ若しくは白紙をクリアページ用リストに追加する。その結果、プリンタドライバ202によって、図22のクリアトナーページ登録ジョブ2104が自動生成される。その後は、上述した第2実施形態と同じく、プリンタ150に対して2つのジョブ(カラートナーページジョブ2102,クリアトナーページジョブ2103)で印刷指示を行う。
〔第4実施形態〕
以下、図25〜図28を用いて、本発明の第4実施形態について説明する。
上記第3実施形態では、プリンタドライバ202で必ずクリアトナー用ページを自動生成していた。しかし、第4実施形態では、同一の印刷イメージになるページに対してはクリアトナー用ページを重複して生成しないという点で処理方法が異なる。
図25は、本発明の第3実施形態と第4実施形態で生成されるクリアトナーページ登録ジョブの違いを示した概念図である。
図25の2401に示すように、第3実施形態では、2ページ目と5ページ目に同じ印刷イメージのクリアページが生成されており、印刷時に無駄な通信が発生してしまっている。
第4実施形態では、図25の2402に示すように、同じ印刷イメージのクリアページを生成しないことで通信の無駄を省く。これは、プリンタドライバ202において複数部が指定された場合にも有効である。
図26は、本発明の第4実施形態におけるプリンタドライバ202がカラートナー用ページからクリアトナー用ページを自動的に生成する処理を示すフローチャートである。即ち、本フローチャートに示す機能は、CPU101が、外部メモリ111に記録されたプリンタドライバプログラムをRAM102にロードして実行することにより実現される。
なお、図26において図23と同一のステップには同一のステップ番号を付してある。以下、図23との差分のみ説明する。
CPU101により実行されるプリンタドライバ202(以下、単にプリンタドライバ202)は、1ページ内の全DDI関数に対してS2203〜S2206の処理を完了したら、S2501に処理を進める。
S2501では、プリンタドライバ202は、クリアページ用DDI関数リストのサイズが0かどうかを判定する。
そして、S2501において、クリアページ用DDI関数リストのサイズが0であると判定された場合には、プリンタドライバ202は、そのままS2502に処理を進める。
一方、S2501において、クリアページ用DDI関数リストのサイズが0でないと判定された場合には、プリンタドライバ202は、そのままS2503に処理を進める。
S2503では、プリンタドライバ202は、現在解析中のページのクリアページ用DDI関数リストと同様のものが、RAM102内の保存済みDDI関数リスト中に含まれているかどうかを判定する。ここで、図27を用いて保存済みDDI関数リストについて説明する。
図27は、RAM102内の保存済みDDI関数リストの概要を示した図である。
図27に示すように、保存済みDDI関数リストには、各ページで検出されたクリアページ用DDI関数の名前と、パラメータ、及び検出したページ番号が格納されている(後述のS2506にて格納)。プリンタドライバ202は、この情報を元に上述の図26のS2503の判定を行う。
例えば、図27では、図22に示したアプリケーション原稿2101の4ページ目までの解析が終了した時点での保存済みDDI関数リストの状態を示している。
リストには既に、2ページ目と3ページ目にあるDDI関数(DrvBitBlt)の情報が格納されている。5ページ目を解析した際、クリアページ用DDI関数リストには「DrvBitBlt(10,100,200,70)」というDDI関数が格納されている。これは保存済みDDI関数リストの1行目の内容と一致するため、図26のS2503では「保存済みDDI関数リストと一致する」と判定される。
以下、図26のフローチャートの説明に戻る。
S2503において、現在解析中のページのクリアページ用DDI関数リストと同様のものが保存済みDDI関数リスト中に含まれていると判定した場合には、プリンタドライバ202は、そのままS2507に処理を進める。
一方、S2503において、現在解析中のページ(処理対象のページ)のクリアページ用DDI関数リストと同様のものが保存済みDDI関数リスト中に含まれていないと判定した場合には、プリンタドライバ202は、S2504に処理を進める。
S2504では、プリンタドライバ202は、クリアページ用DDI関数リストに格納されたDDI関数が示す描画命令を元にクリアページを自動生成する。
次に、S2505において、プリンタドライバ202は、S2504で生成したクリアページをクリアページ用リストに追加する。
次に、S2506において、プリンタドライバ202は、解析中のページのクリアページ用DDI関数リストの内容を保存済みDDI関数リストに追加し、S2507に処理を進める。
S2507では、プリンタドライバ202は、RAM102内のクリアページ参照リストの更新を行う。ここで、図28を用いてクリアページ参照リストについて説明する。
図28は、クリアページ参照リストの概要を示した図である。
本実施形態では、同様な印刷イメージのクリアページ生成を省略するため、カラートナーページとクリアトナーページのページ数が一致しない場合がある。そのため、図28に示すように、クリアページ参照リストによって、カラートナーページと、そこに適用すべきクリアトナーページのページ番号の対応を保持しておく。
以下、図26のフローチャートの説明に戻る。
S2507では、図28に示したクリアページ参照リストの情報を更新する。例えば、5ページ目の解析が終わった際には、図28のリスト3行目に示すように、「カラートナーページ番号:5」「クリアトナーページ番号:1」という情報を書き加える。そして、S2502に処理を進める。
次に、S2502では、プリンタドライバ202は、クリアページ用DDI関数リストの中身を空にし、S2212において、処理対象のページを次のページに移し、S2201に処理を移す。
このように、S2201〜S2206,S2501〜S2507,S2212の処理を繰り返すことで、プリンタドライバ202により、図25の2402に示した2ページ分のクリアトナーページ登録ジョブが自動生成される。
生成されたジョブは、上述した第2実施形態と同じく、プリンタドライバ202からプリンタ150に対して送信される。このとき、プリンタドライバ202は、プリンタ150に対して、どのカラートナーページに対してどのクリアトナーページを重ねて印刷すべきかを示した、クリアページ参照リストの情報も送信する。プリンタ150はクリアページ参照リストの情報に従って処理を行う。
〔第5実施形態〕
以下、図29〜図31を用いて、本発明の第5実施形態について説明する。
上述した第4実施形態では、印刷イメージが単純に同一かどうかを判定して、クリアトナー用ページ生成の重複を防いでいた。これに対して、第5実施形態では、DDI関数で描画されるオブジェクトの形状やサイズのみで同一かどうかの判定を行うという点で処理方法が異なる。
図29は、アプリケーション原稿と、それに対してプリンタドライバ202がプリンタ150に対して発行するカラートナーページジョブ、及びプリンタドライバ202が生成するクリアトナーページ登録ジョブのページ出力の概略を示す図である。
図29に示すように、アプリケーション原稿2801の2ページ目に含まれる画像2801aと、3ページ目に含まれる画像2801bの縦・横サイズは等しい。
このような場合、本実施形態のプリンタドライバ202は、2803に示すように、クリアトナーページを1枚だけ生成し、印刷時にオフセットをずらして、2802a,2802bに重ねることで、クリアトナー処理を省き、通信量等を節約できる。
第5実施形態のプリンタドライバ202の動作において、上述の第4実施形態と異なる部分は、図26におけるS2503とS2507のみである。以下、図26,図30を用いて、第4実施形態と異なる部分のみ説明する。
図30は、本発明の第5実施形態における保存済みDDI関数リストの概要を示した図である。
第5実施形態では、図26のS2503において、プリンタドライバ202は、保存済みDDI関数リストに含まれるかどうかの判定処理を以下のようにして行う。
保存済みDDI関数リストが、図30のような状態であるとき、クリアページ用DDI関数リストの内容が「DrvBitBlt(15,10,200,70)」とする。
このとき、プリンタドライバ202は、DrvBitBlt命令のサイズに関する部分のみに着目して比較を行う。即ち、クリアページ用DDI関数リストは幅:200、高さ:70で、図30の保存済みDDI関数リストのページ2も幅:200、高さ:70であるため等しい(一致)と判定する。即ち、S2507に処理を進める。なお、図30の関数名中の大括弧([])はその部分の比較を省略すべきことを示している。
続いて、S2507において、プリンタドライバ202は、S2503における判定結果を元にクリアページ参照リストを更新する。
図31は、更新されたクリアページ参照リストの中身を示す図である。
図31において、オフセットX,オフセットYには、図26のS2503で保存済みDDI関数リストとクリアページ用DDI関数リストを比較した際に求まっている、DrvBitBlt関数のX座標差,Y座標差が格納されている。
プリンタドライバ202は、図26のS2507で更新されたクリアページ参照リストをプリンタ150に送信する。プリンタ150は、プリンタドライバ202から送信されたクリアページ参照リストの情報を元に、指示されたクリアトナーページ番号のページを指示されたオフセット分ずらしてカラーページに重ねて印刷する。
〔第6実施形態〕
本発明の第6実施形態では、クリアトナーで印字するページとして、偶数ページ、或いは、奇数ページが指定された場合、偶数ページ或いは奇数ページの中でクリアトナー印刷の対象外とする任意のページを非クリアトナー印刷指定ページ(非特殊色トナー印刷指定ページ)として指定可能とする。
本発明の第6実施形態においては、前述の第1,2実施形態と、クリアトナーページの指定処理、及び、印刷ジョブ生成処理が異なる。したがって、この異なる処理について詳細に記載する。
本実施形態を適用することにより、カラートナー用の描画データとクリアトナー用の描画データが用意されている場合に、任意のページをクリアトナー印字しないように指定したジョブを生成することが可能となる。
また、非クリアトナー印刷指定ページに相当するクリアトナー用の描画データをプリンタ150に送付しないように制御することで、印刷用のジョブのデータ量を削減することができる。
さらに、非クリアトナー印刷指定ページに白紙非課金設定を付加することで、当該ページの印刷時にクリアトナー課金されないように制御することが可能となる、といった効果を奏する。
以下、図32を用いて、本発明の第6実施形態における「部分クリア詳細」ダイアログ601のユーザインタフェース例について説明する。
図32は、図5に示した「部分クリア詳細」ボタン507がユーザにより押下された際にプリンタドライバ202が開く「部分クリア詳細」ダイアログ601のユーザインタフェースの他の例を示す図である。なお、図6と同一のものには同一の符号を付してある。
図32に示すユーザインタフェース例では、クリアトナーで印字するページを611の領域は、「ページ指定」ボタン626を有する。
ラジオボタン612が選択された状態で、さらに、「ページ指定」ボタン626が押下されると、プリンタドライバ202は、後述する図33に示すダイアログボックス3101をCRT110に表示する。そして、このダイアログボックス3101において、偶数ページ、或いは、奇数ページの中でクリアトナー印刷の対象外とする任意のページを非クリアトナーページとして指定可能となる。
図33は、ラジオボタン612が選択された状態で「ページ指定」ボタン626が押下された時にプリンタドライバ202が開く(CRT110に表示する)任意ページ非クリア指定ダイアログのユーザインタフェース(非特殊色トナー印刷指定ページ指定画面)を示す図である。
図33に示すように、ユーザはエディットボックス領域3102にクリアトナーで印刷しないページの番号をカンマ区切りで入力する。プリンタドライバ202は、「追加」ボタン3103が押下されたら、エディットボックス領域3102に入力されたページ番号をリストボックス3104に一行ずつ表示する。
リストボックス3104のページ番号の表示された行が選択された状態で、「削除」ボタン3105が押下されたら、プリンタドライバ202は、リストボックス3104内の選択されている行を削除する。
なお、この例では、クリアトナーで印字するページとしてコンボボックス615で選択した偶数ページあるいは奇数ページの中から、前記ユーザインタフェース上で入力されたページを非クリアトナーページ(クリアトナーで印刷しないページ)として指定する。そのため、コンボボックス615で偶数ページが選択されている場合は、奇数ページを入力できないように、プリンタドライバ202が、ユーザインタフェース上で制御することが望ましい。また逆に、奇数ページが選択されている場合は、偶数ページを入力できないように、プリンタドライバ202が、ユーザインタフェース上で制御することが望ましい。
なお、ラジオボタン613により「前(後)半ページ」が選択された状態でさらに「ページ指定」ボタン626が押下された時にもプリンタドライバ202が図33の任意ページ非クリア指定ダイアログを開く(CRT110に表示する)ように構成してもよい。この場合、クリアトナーで印字するページとしてコンボボックス616,617で選択した前半ページあるいは後半ページの中から、前記ユーザインタフェース上で入力されたページを非クリアトナーページ(クリアトナーで印刷しないページ)として指定する。そのため、コンボボックス616,617で前半ページが選択されている場合は、後半ページを入力できないように、プリンタドライバ202が、ユーザインタフェース上で制御することが望ましい。また逆に、後半ページが選択されている場合は、前半ページを入力できないように、プリンタドライバ202が、ユーザインタフェース上で制御することが望ましい。
以下、図34を用いて、図32,図33で非クリアトナーページが指定された時のプリンタドライバ202への入出力例について説明する。
図34は、図32の「ページ指定」ボタン626aが指示され図33の任意ページ非クリア指定ダイアログで非クリアトナーページが指定された時のプリンタドライバ202への入力とプリンタ150からの出力を示す図である。
図34も、第1実施形態で示した図9と同様に、プリンタドライバ202への入力はアプリケーション原稿の形で示し、プリンタ150からの出力は印字結果の形で示している。
図34では、アプリケーション原稿の複数ページのうち、偶数ページをクリアトナーで印字するように指定し、さらに、図33で示したように、ユーザが4,6ページを非クリアトナーページとして指定した時の例を示している。
図34に示すように、プリンタドライバ202は、ページ4,6以外の偶数ページを、前ページの奇数ページに重ねて印字するようプリンタ150に対して指示する。すなわち、プリンタドライバ202は、1ページ目のカラー(CMYK)トナーの上に2ページ目のデータをクリアトナー印字するようにプリンタ150に対して指示を行う。また、プリンタドライバ202は、3ページ目、及び、5ページ目のカラー(CMYK)トナーの上にはクリアトナー印字しないようにプリンタ150に対して指示を行う。さらに、プリンタドライバ202は、7ページ目のカラー(CMYK)トナーの上に8ページ目のデータをクリアトナー印字するようにプリンタ150に対して指示を行う。結果として、図34に示すように、全8ページのアプリケーション原稿は、全4ページの印刷結果となる。
なお、アプリケーション原稿に対する印字結果が、図34に示すようになっていれば、その実現方法は問わないのは、第1実施形態において図9に示した例と同様である。
以下、図35〜図37を用いて、プリンタドライバ202からプリンタ150への指示の方法を詳細に説明する。
図35は、本発明の第6実施形態においてPDLデータ中にクリアトナー描画情報を埋め込む方法を示す図であり、クリアトナー印刷指定ページの描画データが全て同じ場合に対応する。なお、クリアトナー印刷指定ページの描画データが全て同じにする設定をプリンタドライバに設けてもよい。
図35(a)では実施例3におけるアプリケーション原稿と印字結果の例を示している。また、図35(b)ではプリンタドライバ202がプリンタ150に対して出力するスプールファイル中のPDLデータの概要を示している。
図35(a)に示されるように、アプリケーション原稿の偶数ページ3309,3310には、同一の描画データが含まれている。なお、図35(a)の4ページ(3310)は、非クリアトナーページとして指定されているものとする。
図35(b)における3301は、図35(a)のアプリケーション原稿を本実施形態を適用せずに通常ジョブとして発行した時のスプールファイルの例を示している。
図35(b)の3301において、ジョブは33011と33024の二つのコマンドに囲まれている。
さらに、33012と33014が1ページ目の始めと終わりを示しており、その間に1ページ目の描画コマンド3313が格納される。
以下、同様に、33015と33017が2ページ目の始めと終わりを示し、その間に2ページ目の描画コマンド3316が格納される。
33018と33020が3ページ目の始めと終わりを示し、その間に3ページ目の描画コマンド3319が格納される。
33021と33023が4ページ目の始めと終わりを示し、その間に4ページ目の描画コマンド33022が格納される。
そして、描画データ(1)33013と描画データ(2)33016と描画データ(3)33019と描画データ(2)33022は、各ページのに囲まれていて、それぞれのページの描画データとして出力される。
一方、本実施形態を適用して発行したジョブのスプールファイルの例1を示したのが図35(b)の3302である。なお、図35(a)の4ページ(3310)は、非クリアトナーページとして指定されているものとする。
図35(b)の3302において、ジョブは33031と33042の二つのコマンドに囲まれている。
そして、その直下に、描画データ(2)33033が、33032と33034に囲まれている。これは画像データ(2)33033が全ページにおいてクリアトナーを用いて印字されることを示している。
次に、描画データ(1)33036が、1ページ目の33035と33037に囲まれている。これは、描画データ(1)が、1ページ目のカラートナー用のデータでカラートナーを用いて印字されることを示している。
次に、描画データ(3)33039、及び、白紙非課金設定(3)33040が、2ページ目の33038と33041に囲まれている。なお、白紙非課金設定は、プリンタ150が当該ページに対してクリアトナー課金カウンタをカウントアップしないように(当該ページに対してクリアトナー課金を行わないように)指示するコマンドである。
これは、描画データ(3)33039が、2ページ目のカラートナー用のデータでカラートナーを用いて印字されるが、同じページ上には、クリアトナー印字されないことを示している。これは、図35(b)の4ページ(3310)は、非クリアトナーページとして指定されているためである。
プリンタ150は、上記のジョブ3302を受信すると、描画データ(1)33036をカラートナーで1ページ目に印字後、描画データ(2)33033をクリアトナーで1ページ目に印字する。
さらに、プリンタ150は、描画データ(3)33039をカラーページで2ページ目に印字する。しかし、プリンタ150は、白紙非課金設定(3)33040が2ページ目の33038と33041に含まれているため、2ページ目には描画データ(2)33033をクリアトナーで印字しない。
また、プリンタ150は、カラートナー印字した場合は、カラー印刷課金カウンタを、クリアトナーで印字した場合は、クリアトナー印刷課金カウンタを、それぞれカウントアップする。本実施形態の場合は、カラー課金カウンタが2カウントアップされ、クリアトナー課金カウンタが1カウントアップされる。
図36は、本発明の第6実施形態においてPDLデータ中にクリアトナー描画情報を埋め込む方法を示す図であり、クリアトナー印刷指定ページの描画データが全て同じでない場合に対応する。
図36(a)では実施例6におけるアプリケーション原稿と印字結果の例を示している。また、図36(b)ではプリンタドライバ202がプリンタ150に対して出力するスプールファイル中のPDLデータの概要を示している。
図36(a)に示されるように、アプリケーション原稿の偶数ページ3409,3410は、同一の描画データではない。なお、図36(a)の4ページ(3410)は、非クリアトナーページとして指定されているものとする。
図36(b)における3401は、図36(a)のアプリケーション原稿を本実施形態を適用せずに通常ジョブとして発行した時のスプールファイルの例を示している。
図36(b)の3401において、ジョブは34011と34024の二つのコマンドに囲まれている。
さらに、34012と34014が1ページ目の始めと終わりを示しており、その間に1ページ目の描画コマンド3413が格納される。
以下、同様に、34015と34017が2ページ目の始めと終わりを示し、その間に2ページ目の描画コマンド34016が格納される。
34018と34020が3ページ目の始めと終わりを示し、その間に3ページ目の描画コマンド3419が格納される。
34021と34023が4ページ目の始めと終わりを示し、その間に4ページ目の描画コマンド3422が格納される。
そして、描画データ(1)34013と描画データ(2)34016と描画データ(3)34019と描画データ(4)34022は、各ページのに囲まれていて、それぞれのページの描画データとして出力される。
一方、本実施形態を適用して発行したジョブのスプールファイルの例を示したのが図36(b)の3402である。
図36(b)の3402において、ジョブは34031と34042の二つのコマンドに囲まれている。
そして、描画データ(1)34033と描画データ(2)34035が、一つの34032と34037に囲まれている。これはトナーの種類は異なるものの、どちらも同じページ上へ印字させることを示している。
1ページ目の描画データ34033は、カラートナー用データのため通常と同じ配置であるが、2ページ目の描画データ(2)34035は、34034と34036の間に配置される。
これは、描画データ(1)34033が、1ページ目のカラートナー用のデータでカラートナーを用いて印字され、描画データ(2)34035が、1ページ目のクリアトナー用のデータでクリアトナーを用いて印字されることを示している。
次に、描画データ(3)34039、及び、白紙非課金設定(3)34040が、2ページ目の34038と34041に囲まれている。
これは、描画データ(3)34039が、2ページ目のカラートナー用のデータでカラートナーを用いて印字されるが、同じページ上には、クリアトナー印字されないことを示している。
なお、図36(a)の4ページ(3410)は、非クリアトナーページとして指定されている。そのため、スプールファイル3401の描画データ(4)34022に相当するデータは、印刷JOBを作成する過程で削除され、スプールファイル3402には存在しない。
プリンタ150は、上記の図36(b)の3402で示されるジョブを受信すると、描画データ(1)34033をカラートナーで1ページ目に印字後、描画データ(2)34035をクリアトナーで1ページ目に印字する。
次に、描画データ(3)34039をカラートナーで2ページ目に印字するが、白紙非課金設定(3)34040が2ページ目の34038と34041に含まれているため、2ページ目はクリアトナーで印字しない。
また、プリンタ150は、カラートナー印字した場合は、カラー印刷課金カウンタを、クリアトナーで印字した場合は、クリアトナー印刷課金カウンタを、それぞれカウントアップする。本実施例の場合は、カラー課金カウンタが2カウントアップされ、クリアトナー課金カウンタが1カウントアップされる。
以上のように、第6実施形態では、アプリケーション原稿における4ページ分を2ページ分のPDLデータに変換する作業をプリンタドライバ202にて行う。ここでは、簡易的に4ページの原稿を例としてあげているが、ページ数が増えても処理方法は変わらない。また、アプリケーション原稿の複数ページのうちどのページの組み合わせをまとめるか指定する方法は前述のとおり複数用意されている。
次に、図37のフローチャートを用いて、本発明の第6実施形態におけるプリンタドライバ202の動作を説明する。
図37は、本発明の第6実施形態におけるプリンタドライバ202の動作を説明するフローチャートである。即ち、本フローチャートに示す機能は、CPU101が、外部メモリ111に記録されたプリンタドライバプログラムをRAM102にロードして実行することにより実現される。
ユーザがアプリケーション200で印刷を指示すると、CPU101は、外部メモリ111に保管されているプリンタドライバ202をRAM102にロードし、CPU101によって実行し、印刷処理を開始する。
始めに、CPU101により実行されるプリンタドライバ202(以下、単にプリンタドライバ202)は、S3501において、ジョブ開始コマンドを発行する。
次にS3502において、プリンタドライバ202は、クリアトナー印刷指定ページの描画データが全て同一か判断する。この判断は、プリンタドライバ202が、クリアトナー印刷指定ページの描画データを比較して判断してもよいし、プリンタドライバの設定等に基づいて判断してもよい。
そして、S3502において、クリアトナー印刷指定ページの描画データが全て同一であると判断した場合には、プリンタドライバ202は、S3503に処理を進める。
S3503において、プリンタドライバ202は、クリア開始コマンドを発行し、ここから先の描画コマンドは、全ページに対するクリアトナーでの印字を指示することを宣言する。
次に、S3504において、プリンタドライバ202は、アプリケーション200から描画されるクリアトナー印刷指定ページのオブジェクトを全てPDLに変換して描画コマンドを発行する。
そのページの描画コマンドを全て発行したら、S3505にてクリア終了コマンドを発行する。
次に、プリンタドライバ202は、アプリケーション200から描画される全てのページに対してS3507〜S3514を繰り返すように制御する(S3506,S3514)。
まず、S3507において、プリンタドライバ202は、処理対象のページがカラートナーページかクリアトナーページかを判断する。判断の方法は。図32の「部分クリア詳細」ダイアログ601の「クリアトナーで印字するページ」領域611での指定ページを元に判断する。
そして、S3507において、プリンタドライバ202は、処理対象のページがカラートナーページであると判断した場合には、S3508において、ページ開始コマンドを発行する。
次にS3509において、プリンタドライバ202は、アプリケーション200から描画されるオブジェクトをPDLに変換して通常の描画コマンドを発行する。
そして、当該ページ内にある全ての描画コマンドの発行が終了したら、プリンタドライバ202は、S3510において、当該ページに重ねられるべきクリアページが「非クリアトナーページ」に指定されているか判断する。判断の方法は図33の「任意ページ非クリア指定ダイアログ」3101の「リストボックス」3104で指定されたページを元に判断する。なお、図35(a)に示した例では、アプリケーション原稿の第3ページに重ねられるべきクリアページ(第4ページ)が「非クリアトナーページ」に指定されている。
そして、S3510において、当該ページ(処置対象のページ)に重ねられるべきクリアページが「非クリアトナーページ」に指定されていると判断した場合には、プリンタドライバ202は、S3511に処理を進める。
S3511では、プリンタドライバ202は、白紙非課金設定コマンド(白紙非課金設定指示)を発行し、S3513に処理を進める。
一方、S3510において、当該ページ(処置対象のページ)に重ねられるべきクリアページが「非クリアトナーページ」に指定されていないと判定した場合には、プリンタドライバ202は、そのままS3513に処理を進める。
一方、S3507において、処理対象のページがクリアページであると判断した場合には、プリンタドライバ202は、S3512において描画データを破棄し、S3513に処理を進める。
そして、S3513では、プリンタドライバ202は、ページ終了コマンドを発行して、S314において、次のページにフォーカス(処理対象のページ)を移す。
その後、プリンタドライバ202が、全てのページ分S3507〜S3514の処理を繰り返したと判断した場合には(S3506,3515)、S3516へ処理を進め、ジョブ終了コマンドを発行してジョブを終了する。
一方、S3502において、クリアトナー印刷指定ページの描画データが全て同一ではないと判断した場合には、プリンタドライバ202は、アプリケーション200から描画される全てのページに対してS3518〜S3527を繰り返すように制御する(S3517,S3528)。
まず、S3518において、プリンタドライバ202は、ページ開始コマンドを発行する。
次に、S3519において、プリンタドライバ202は、処理対象のページがカラートナーページかクリアトナーページかを判断する。判断の方法は図32の「部分クリア詳細」ダイアログ601aの「クリアトナーで印字するページ」領域611aでの指定ページを元に判断する。
そして、S3519において、処理対象のページがカラートナーページであると判断した場合には、プリンタドライバ202は、S3520において、アプリケーション200から描画されるオブジェクトをPDLに変換して通常の描画コマンドを発行する。
そして、当該ページ内にある全ての描画コマンドの発行が終了したら、プリンタドライバ202は、S3521において、当該ページ(処置対象のページ)に重ねられるべきクリアページが「非クリアトナーページ」に指定されているか判断する。判断の方法は図33の「任意ページ非クリア指定ダイアログ」3101の「リストボックス」3104で指定されたページを元に判断する。なお、図36(a)に示した例では、アプリケーション原稿の第3ページに重ねられるべきクリアページ(第4ページ)が「非クリアトナーページ」に指定されている。
そして、S3521において、当該ページ(処置対象のページ)に重ねられるべきクリアページが「非クリアトナーページ」に指定されていると判断した場合には、プリンタドライバ202は、S3522に処理を進める。
S3522では、プリンタドライバ202は、白紙非課金設定コマンドを発行し、S3523に処理を進める。
次に、S3523において、プリンタドライバ202は、処理対象のページの次のページがカラートナーページかクリアトナーページかを判断する。判断の方法は。図32の「部分クリア詳細」ダイアログ601の「クリアトナーで印字するページ」領域611での指定ページを元に判断する。
そして、S3523において、プリンタドライバ202は、処理対象のページの次のページがクリアトナーページであると判断した場合には、次のページにフォーカス(処理対称のページ)を移す(S3524)。そして、S3525において、プリンタドライバ202は、当該ページの描画データを破棄し、S3526に処理を進める。
一方、S3523において、プリンタドライバ202は、処理対象のページの次のページがカラートナーページであると判断した場合には、そのまま、S3526に処理を進める。
S3526では、プリンタドライバ202は、ページ終了コマンドを発行して、次のページにフォーカス(処理対称のページ)を移す(S3527)。
一方、S3521において、当該ページ(処置対象のページ)に重ねられるべきクリアページが「非クリアトナーページ」に指定されていないと判断した場合には、プリンタドライバ202は、S3529に処理を進める。
S3529では、プリンタドライバ202は、処理対象のページの次のページがカラートナーページかクリアトナーページかを判断する。判断の方法は。図32の「部分クリア詳細」ダイアログ601の「クリアトナーで印字するページ」領域611での指定ページを元に判断する。
そして、S3529において、プリンタドライバ202は、処理対象のページの次のページがクリアトナーページであると判断した場合には、S3530において、次のページにフォーカス(処理対称のページ)を移す。
次に、S3531において、プリンタドライバ202は、クリア開始コマンドを発行し、ここから先の描画コマンドはクリアトナーでの印字を指示することを宣言する。
次に、S3532において、プリンタドライバ202は、処理対称のページに対してアプリケーション200から描画されるオブジェクトを全てPDLに変換して描画コマンドを発行する。
そして、そのページの描画コマンドを全て発行したら、プリンタドライバ202は、S3533において、クリア終了コマンドを発行し、S3526に処理を進める。
一方、S3529では、処理対象のページの次のページがカラートナーページであると判定した場合には、プリンタドライバ202は、そのままS3526に処理を進める。
S3526では、プリンタドライバ202は、ページ終了コマンドを発行して、次のページにフォーカス(処理対称のページ)を移す(S3527)。
一方、S3519において、処理対象のページがクリアトナーページであると判断した場合には、プリンタドライバ202は、S3537に処理を進める。
S3537において、プリンタドライバ202は、当該ページ(処置対象のページ)が非クリアトナーページ指定されているか判断する。
そして、S3537において、当該ページ(処置対象のページ)が非クリアトナーページ指定されていると判定した場合には、プリンタドライバ202は、S3538において、次のページにフォーカス(処理対称のページ)を移し、S3519に処理を進める。
一方、S3537において、当該ページ(処置対象のページ)が非クリアトナーページ指定されていないと判定した場合には、プリンタドライバ202は、S3534に処理を進める。
S3534では、プリンタドライバ202は、クリア開始コマンドを発行し、ここから先の描画コマンドはクリアトナーでの印字を指示することを宣言する。
次に、S3535において、プリンタドライバ202は、そのページに対してプリンタドライバ202は、アプリケーション200から描画されるオブジェクトをPDLに変換して通常の描画コマンドを発行する。
そして、そのページの描画コマンドを全て発行したら、プリンタドライバ202は、S3536において、クリア終了コマンドを発行し、S3526に処理を進める。
そしてS3526において、プリンタドライバ202は、ページ終了コマンドを発行して、次のページにフォーカスを移す(S3527)。
その後、プリンタドライバ202は、全てのページ分S3518〜S3527の処理を繰り返したと判断した場合には(S3517,S3528)、S3516へ処理を進め、ジョブ終了コマンドを発行して、ジョブを終了する。
プリンタドライバ202は、以上のような手順で、図35(b)の3302、及び、図36(b)の3402に示したようなデータを作成して、プリンタ150に対してクリアトナーを使用した印字を指示する。
なお、ここで使用した各コマンドは、あくまでも例であるため実施の際にはシステムに対応して自由に変更することが可能である。
なお、本実施形態では、プリンタ150に対して1つのジョブで印刷指示を行う構成について説明した。しかし、上述の第2実施形態において図19〜図21を用いて示したように、アプリケーション200から1つのジョブで指定された描画を、プリンタドライバ202の内部でカラートナー用ジョブとクリアトナー用ジョブの2つのジョブに分けて発行してもよい。この場合、プリンタドライバ202は、クリアトナー用ジョブを生成する際、非クリア指定ページに対して白紙ページを挿入するものとする。また、プリンタドライバ202は、カラートナー用ジョブを生成する際、クリアトナー用ジョブ内の白紙ページに対応するカラーページ(クリアトナーを重ねないカラーページ)内に、白紙非課金設定コマンド(33040,34040)を発行するものとする。
以上、本発明の実施形態について述べた。本実施形態においては、特色トナーとしてクリアトナー(透明トナー)を例にとって説明したが、白トナーや蛍光トナーなど、通常のグラフィックエンジンでは色指定が困難と思われる特色に関してはすべて同様の実施が可能である。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
以上説明した各実施形態によれば、一般のアプリケーションでは有色描画しか行うことができないため、一般のアプリケーションからでは指定が困難と思われるクリアトナーによる部分コートを、プリンタドライバを用いて1つのジョブで簡単に作成することができるようになる。即ち、カラー印字画像と異なる任意の画像でカラー印字画像に重ねるクリアトナー印字が可能となる。よって、任意の位置に任意の形状でクリアトナーを印字することが可能となる。さらに、専用のアプリケーションを用意する必要がなく任意のアプリケーションから使用可能である。加えて、アプリケーションのデータファイルが一つで済むようになる等の効果をユーザに提供できる。したがって、一般ユーザが手軽にクリアトナーを使用できるようになる。
以下、図38に示すメモリマップを参照して、本発明に係る印刷制御装置で読み取り可能な各種データ処理プログラムを記録した記憶媒体のメモリマップの構成について説明する。
図38は、各種データ処理プログラムを記録した本発明に係る印刷制御装置で読み取り可能な(コンピュータ読み取り可能な)記憶媒体(記録媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図18,図20,図21,図37に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD-ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
したがって、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のプログラムそのものをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、該ホームページから圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやFTPサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布する。さらに、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。さらに、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のような構成も含まれることは言うまでもない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、該メモリに書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
以上説明したように、本発明は、一般のアプリケーションで作成されたデータを用いて、有色トナー用の画像と任意の特殊色トナー用の画像とを重ねて印刷する指定を行う際に、柔軟な指定を行うことができる等の効果を奏する。