(57)【特許請求の範囲】
【請求項１】
入力された文字列から文字を１文字ずつ取得する取得手段と、
前記取得手段により取得された文字を印刷機能の印刷設定値として記述したプリントチケットを生成する生成手段と、
特定機能のための文字列の文字ごとに複数の文字から１文字を選択する選択画面を含むプリンタドライバの印刷設定画面を表示する設定表示手段とを有し、
前記プリンタドライバは前記生成手段により生成されたプリントチケットとアプリケーションからの描画命令に基づく印刷データを生成することを特徴とする情報処理装置。
【請求項２】
前記印刷設定値に文字を選択するための複数の文字の情報を含むファイルを読み出す読み出し手段と、を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
印刷設定アプリケーションにより入力される文字の数が前記印刷設定を記述する領域に記述される特定機能の情報の数より多い場合、エラー表示を行うエラー表示手段と、を有することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記ファイルはＧＰＤファイルであり、前記印刷機能はＦｅａｔｕｒｅであり、前記印刷設定値はＯｐｔｉｏｎであることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
コンピュータに、
入力された文字列から文字を１文字ずつ取得する取得工程と、
前記取得工程により取得された文字を印刷機能の印刷設定値として記述したプリントチケットを生成する生成工程と、
特定機能のための文字列の文字ごとに複数の文字から１文字を選択する選択画面を含むプリンタドライバの印刷設定画面を表示する設定表示工程とを実行させ、
前記プリンタドライバは前記生成工程により生成されたプリントチケットとアプリケーションからの描画命令に基づく印刷データを生成することを特徴とするプログラム。
【請求項６】
前記コンピュータに、
前記印刷設定値に文字を選択するための複数の文字の情報を含むファイルを読み出す読み出し工程と、を実行させることを特徴とする請求項５に記載のプログラム。
【請求項７】
前記コンピュータに、
印刷設定アプリケーションにより入力される文字の数が前記印刷設定を記述する領域に記述される特定機能の情報の数より多い場合、エラー表示を行うエラー表示工程と、を実行させることを特徴とする請求項５又は請求項６に記載のプログラム。
【請求項８】
前記ファイルはＧＰＤファイルであり、前記印刷機能はＦｅａｔｕｒｅであり、前記印刷設定値はＯｐｔｉｏｎであることを特徴とする請求項６に記載のプログラム。
【請求項９】
入力された文字列から文字を１文字ずつ取得する取得工程と、
前記取得工程により取得された文字を印刷機能の印刷設定値として記述したプリントチケットを生成する生成工程と、
特定機能のための文字列の文字ごとに複数の文字から１文字を選択する選択画面を含むプリンタドライバの印刷設定画面を表示する設定表示工程とを有し、
前記プリンタドライバは前記生成工程により生成されたプリントチケットとアプリケーションからの描画命令に基づく印刷データを生成することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
印刷設定を行う情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
プリンタは通常ＰＣ上で動作するプリンタドライバと呼ばれるソフトウェアによって制御される。プリンタドライバの役割は大きく２つある。１つはユーザに対して印刷設定の変更を可能にするもので、一般的にユーザインタフェース（ＵＩ）を有している。もう一つはアプリケーションからの描画命令をプリンタの解釈できる印刷データ（ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ  ））に変換してプリンタにデータを送信するものである。
【０００３】
また、Ｗｉｎｄｏｗｓ（商標登録）  ＯＳにおけるプリンタドライバの中にはＧＰＤ  （Ｇｅｎｅｒｉｃ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ベースのプリンタドライバという種類のプリンタドライバが存在する。ＧＰＤベースのプリンタドライバでは、プリンタメーカーの作成したテキスト形式のＧＰＤファイルを元にＷｉｎｄｏｗｓ  ＯＳに標準で用意されているプリンタドライバがプリンタドライバのＵＩを生成する。今後、セキュリティの高さから、Ｗｉｎｄｏｗｓ  ＯＳにおけるプリンタドライバはこのＧＰＤベースのプリンタドライバが主流になると考えられる。
【０００４】
一方、特許文献１のように、従来からプリンタドライバのＵＩにおいて任意文字列を入力できるような工夫がなされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１７２２０１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＧＰＤベースのプリンタドライバには、任意文字列をユーザに入力させるＵＩを作成できないという課題がある。例えば、印刷設定にウォーターマークとして透かし印刷する文字列をユーザに入力させたくても、そのようなＵＩを作成することができない。これは、ＧＰＤの仕様によるもので、ＧＰＤに記述された既存の選択肢の中からのみ印刷設定の指定が可能だからである。
さらに、ＧＰＤと同様のフォーマットを持つＰＰＤ（ＰｏｓｔＳｃｒｉｐｔ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）を用いたプリンタドライバも同じ課題を持っている。
【課題を解決するための手段】
【０００７】
上記課題を解決するため本発明の情報処理装置は、
入力された文字列から文字を１文字ずつ取得する取得手段と、
前記取得手段により取得された文字を印刷機能の印刷設定値として記述したプリントチケットを生成する生成手段と、
特定機能のための文字列の文字ごとに複数の文字から１文字を選択する選択画面を含むプリンタドライバの印刷設定画面を表示する設定表示手段とを有し、
前記プリンタドライバは前記生成手段により生成されたプリントチケットとアプリケーションからの描画命令に基づく印刷データを生成することを特徴とする。
【発明の効果】
【０００８】
本発明の実施により、ＧＰＤベースのプリンタドライバでありながら、任意の文字列をユーザに入力させるプリンタドライバＵＩを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例のハードウェア構成を示すブロック図である。
【図２】本実施例のソフトウェア構成を示すブロック図である。
【図３】プリンタドライバの構成ファイルを示した図である。
【図４】プリンタドライバ、アプリケーション、印刷設定アプリケーションの関係図である。
【図５】ＧＰＤベースのプリンタドライバＵＩの一例を示している。
【図６】ＧＰＤファイルの一例を示している。
【図７】印刷設定アプリケーションのＵＩの一例を示している。
【図８】実施例１におけるＧＰＤベースのプリンタドライバＵＩの一例を示している。
【図９】実施例１におけるＧＰＤファイルの一部を示している。
【図１０】実施例１におけるＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓの一部を示している。
【図１１】実施例１におけるＧＰＤベースのプリンタドライバＵＩの一例を示している。
【図１２】実施例１におけるＰｒｉｎｔＴｉｃｋｅｔの一部を示している。
【図１３】実施例１における印刷設定アプリケーションのＵＩの一部を示している。
【図１４】印刷設定アプリケーションがＰｒｉｎｔＴｉｃｋｅｔを生成するフローを示している。
【図１５】印刷設定アプリケーションがエディットボックスを表示するフローを示している。
【図１６】印刷設定アプリケーションが表示するエラー表示のＵＩを示している。
【図１７】実施例２におけるＧＰＤベースのプリンタドライバＵＩの一例を示している。
【図１８】実施例２における印刷設定アプリケーションのＵＩの一部を示している。
【図１９】実施例２におけるＧＰＤベースのプリンタドライバＵＩの一部を示している。
【図２０】ＰＰＤファイルの一部を示している。
【図２１】発明の概要を説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１１】
［実施例１］
図１は、本実施例におけるプリントシステムのハードウェア構成を示すブロック図である。コンピュータ（情報処理装置）１００とプリンタ８００がネットワークやＵＳＢを介して接続されている。ＣＰＵ１０１は、システムバス１０４に接続されているデバイスやコントローラを統括的に制御する。ＲＡＭ１０２はＣＰＵ１０１の主メモリ、ワークメモリとして機能する。ＲＯＭ１０３はコンピュータ１００のＢＩＯＳなどが記憶されている。入力コントローラ１０５はマウスやキーボードなどの入力デバイス１０９を制御する。ビデオコントローラ１０６はモニタ１１０への表示を制御する。メモリコントローラ１０７はＨＤＤなどの外部メモリ１１１への読み書きを制御する。通信Ｉ／Ｆコントローラ１０８は外部機器との通信インタフェースを制御する。
【００１２】
本発明を実現するための各種プログラムは、外部メモリ１１１に記憶されており、必要に応じてＲＡＭ１０２にロードされ、ＣＰＵ１０１によって実行される。
【００１３】
図２は、本実施例におけるコンピュータ１００内のソフトウェア構成を示すブロック図である。オペレーティングシステム４００は各種ソフトウェアやハードウェアを制御する。なお、本実施例におけるオペレーティングシステム４００はＷｉｎｄｏｗｓ  ＯＳである。アプリケーション２００は例えば文書作成や表計算を行うためのソフトウェアであり、オペレーティングシステム４００の機能を用いてプリンタ８００への印刷指示を行うことができる。
【００１４】
プリンタドライバ３００はプリンタ８００を制御するためのソフトウェアであり、オペレーティングシステムによって管理され、ロードされ、実行される。印刷設定アプリケーション５００は本発明を具体化したソフトウェアであり、１つのアプリケーションとしてプリンタドライバ３００とオペレーティングシステム４００と連携して動作する。
【００１５】
図３はプリンタドライバ３００の構成ファイルを示している。オペレーティングシステム４００は、コンピュータ１００にインストールされたプリンタドライバ３００の数だけ図に示すようなファイル群を外部メモリ１１１内で管理している。図３は特にＧＰＤベースのプリンタドライバの構成ファイルを示しており、図示したファイルはすべてプリンタメーカーによって作成されて配布されたものである。ＧＰＤファイル３０１にはプリンタ固有の印刷設定がテキストベースで記述されている。また、コンフリクト制御ファイル３０２には印刷設定の組み合わせにおける禁則仕様がテキストベースで記述されている。リソースファイル３０３はプリンタドライバ３００のＵＩ上の文字列などのリソースを保持している。オペレーティングシステム４００に標準で用意されているプリンタドライバ３００は必要に応じてＧＰＤファイル３０１やリソースファイル３０３を元にプリンタドライバ３００のＵＩを生成し、モニタ１１０に対して表示する。ユーザは印刷前にプリンタドライバ３００のＵＩに対して入力デバイス１０９を使用することで印刷設定を編集することができる。
【００１６】
レンダリングモジュール３０４はアプリケーション２００からの印刷時に、描画命令をプリンタ８００の解釈可能なデータ（ＰＤＬ）に変換する。ここで作成されたＰＤＬはオペレーティングシステム４００の管理する通信Ｉ／Ｆコントローラ１０８によってプリンタ８００へと送信され、プリンタ８００によって印刷される。
図４はアプリケーション２００や印刷設定アプリケーション５００が印刷設定のためのＵＩを生成するうえでＧＰＤベースのプリンタドライバ３００とやり取りする情報を概念的に示した図である。
【００１７】
プリンタドライバ３００はＧＰＤファイル３０１とコンフリクト制御ファイル３０２を用いて印刷設定に必要なＵＩを生成する。一方、アプリケーション２００は印刷設定に必要なＵＩを生成するためにプリンタドライバ３００との間でＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ２５０と呼ばれるＸＭＬデータとＰｒｉｎｔＴｉｃｋｅｔ２６０と呼ばれるＸＭＬデータをやり取りする。同様に印刷設定アプリケーション５００も印刷設定に必要なＵＩを生成するためにプリンタドライバ３００との間でＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ５５０と呼ばれるＸＭＬデータとＰｒｉｎｔＴｉｃｋｅｔ５６０と呼ばれるＸＭＬデータをやり取りする。ここで、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（２５０，５５０）にはプリンタドライバ３００のもつ印刷設定の能力が記述されており、ＰｒｉｎｔＴｉｃｋｅｔ（２６０，５６０）には実際の印刷設定が記述されている。これによってアプリケーション２００は現在使用しようとしているプリンタドライバ３００の能力を知ることができ、かつ、求める印刷設定をプリンタドライバ３００に伝えることができる。それぞれのファイルの詳細は後述する。
【００１８】
図５はＧＰＤベースのプリンタドライバ３００のＵＩ（印刷設定画面）（以降、プリンタドライバＵＩと呼ぶ）の一例を示している。プリンタドライバＵＩ１０００はオペレーティングシステム４００に標準で用意されているプリンタドライバ３００によって図のようなダイアログ形式で表示される。印刷設定は１０７０に示す領域にツリー形式で表示される。図４は「ステープル：」１１００の印刷設定をユーザが選択したときのＵＩを示している。ここで「ステープル：」１１００のコンボボックスには、「オフ」１１０１、「左上」１１０２、「中綴じ」１１０３の３つの印刷設定項目の選択肢が用意されており、ユーザはその中から任意の項目を選択することができる。プリンタドライバＵＩ１０００には「ＯＫ」ボタン１０８０と「キャンセル」ボタン１０９０が用意されている。プリンタドライバ３００はユーザによって「ＯＫ」ボタン１０８０が押されるとＵＩでそれぞれ選択されている印刷設定を保存し、「キャンセル」ボタン１０９０が押されるとＵＩで示す印刷設定を破棄する。保存された印刷設定はプリンタドライバ３００によって印刷時に適用される。
【００１９】
図６はＧＰＤファイルの一例として、図５に示したプリンタドライバ３００のＧＰＤファイル３０１の一部２０００を示している。ＧＰＤファイル３０１にはＦｅａｔｕｒｅと呼ばれる印刷設定（印刷機能）とＯｐｔｉｏｎと呼ばれる印刷設定項目（印刷設定値）の組み合わせ（選択肢）が記述されている。図ではＦｅａｔｕｒｅとしての「Ｓｔａｐｌｉｎｇ」２０１０に対して、「ＯＦＦ」２０１１、「ＴＯＰ＿ＬＥＦＴ」２０１２、「ＳＡＤＤＬＥＳＴＩＴＣＨ」２０１３の３つのＯｐｔｉｏｎが記述されている。オペレーティングシステム４００に標準で用意されているプリンタドライバ３００はＧＰＤファイル３０１やリソースファイル３０３を使用して図５に示すプリンタドライバＵＩ１０００を生成する。ＧＰＤファイルフォーマットの詳細に関しては公知であるため割愛する。
【００２０】
図７は印刷設定アプリケーション５００のＵＩ５０１を示している。「原稿サイズ」５０２はコンボボックス形式で複数の用紙サイズの中から選択できるようになっている。また、「印刷の向き」５０３はラジオボタン形式で縦と横のどちらかを選択できるようになっている。「ウォーターマーク」の設定は「ウォーターマーク編集」ボタン５０４によって新たなダイアログを表示することで入力可能になっている。また、プレビュー領域５０５には印刷結果が簡易的にアイコンで表示されており、現在の印刷設定の様子がユーザにわかりやすいように表示されている。印刷設定アプリケーション５００はＧＰＤベースのプリンタドライバＵＩ１０００だけではユーザにわかりづらい点を補完するために用意されたものであり、ＧＰＤファイル３０１などのプリンタドライバ構成ファイルと同様にプリンタメーカーが作成して配布する。
【００２１】
印刷設定アプリケーション５００のＵＩ５０１には「ＯＫ」ボタン５７０と「キャンセル」ボタン５８０と「適用」ボタン５９０が用意されている。印刷設定アプリケーション５００は、ユーザによって「ＯＫ」ボタン５７０や「適用」ボタン５９０が押されるとＵＩで示す印刷設定を保存し、「キャンセル」ボタン５８０が押されるとＵＩで示す印刷設定を破棄する。保存された印刷設定はプリンタドライバ３００によって印刷時に適用される。
【００２２】
次に図２１を用いて本発明の概略を説明する。
【００２３】
まず、ＧＰＤファイル２１０１に１文字ごとのＦｅａｔｕｒｅ（プリンタのパネルに表示される文字）に対してＯｐｔｉｏｎとして「０から９、ＡからＺ、ａからｚ」が記述されたプリンタドライバ３００を準備する。
【００２４】
プリンタドライバ３００はこのＧＰＤファイル２１０１の記述を読み出しプリンタドライバの印刷設定画面を表示する。この印刷設定画面には、プリンタのパネルに表示させる文字を選択する選択画面が含まれる。プリンタドライバは、このプリンタのパネルに表示すべき文字を１文字目から選択画面のプルダウンメニュ（０から９、ＡからＺ、ａからｚから１文字を選択する）により選択された文字を選択する。２１０２では１文字目のプルダウンメニュで「Ｋ」が選択され、２文字目のプルダウンメニュで「Ｉ」が選択され、３文字目のプルダウンメニュで「Ｋ」が選択され、４文字目のプルダウンメニュで「Ｕ」が選択された状態を示す。このプルダウンメニュで選択された文字列（Ｋ、Ｉ、Ｋ、Ｕ、Ｃ、Ｈ、Ｉ）に基づきプリンタドライバはプリントチケット２１０３を生成する。レンダリングモジュール３０４は、このプリントチケット２１０３に記憶された選択された文字の情報とアプリからの描画命令に従い、文書が印刷される際に、プリンタ２１０５のパネルに「ＫＩＫＵＣＨＩ」と表示されるＰＤＬを生成する。
【００２５】
また、もう一つの系では、印刷設定アプリ２１０４のエディットボックスにキーボードから入力された文字に基づき印刷設定アプリ２１０４がプリントチケット２１０３を生成する。このプリントチケット２１０３に記憶された選択された文字の情報とアプリからの描画命令に従い、レンダリングモジュール３０４が、文書が印刷される際に、プリンタ２１０５のパネルに「ＫＩＫＵＣＨＩ」と表示されるＰＤＬを生成する。
【００２６】
以下、各構成をウォーターマーク機能（スタンプ機能）の例を用いて詳細に説明する。
【００２７】
図８はＧＰＤベースのプリンタドライバ３００のＵＩにおいて「ウォーターマーク（１）：」（１０１０）を選択した時のＵＩ（選択画面）を示している。「ウォーターマーク（１）：」（１０１０）の選択肢は図のように「ＮＵＬＬ」（１０１１）、「ＳＰＡＣＥ」（１０１２）、「［０］」（１０１３）、などとなっており、ウォーターマークとして印字したい文字列の１文字目を設定可能になっている。図では「ＮＵＬＬ」（１０１０）から「［５］」（１０１４）までの選択肢が表示されているが、実際はスクロールバーを操作することで「［０］」〜「［９］」、「［Ａ］」〜「［Ｚ］」が選択可能となっている。同様に「ウォーターマーク（２）：」から「ウォーターマーク（５）：」ではウォーターマークとして印字したい文字列の２文字目から５文字目を設定可能になっている。それぞれの選択肢は「ウォーターマーク（１）：」（１０１０）と同じである。
【００２８】
図９は図８に示すプリンタドライバ３００のＧＰＤファイル３０１の一部２１００を示している。ここではＦｅａｔｕｒｅとしての「ＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０１」２１１０に対して、「ＮＵＬＬ」２１１１、「ＳＰＡＣＥ」２１１２、「Ｃｈａｒ＿０」２１１３から「Ｃｈａｒ＿Ｚ」２１１５までが記述されている。具体的にはＦｅａｔｕｒｅには、特定機能の文字であることを示す情報と特定機能の文字列の何文字目かを示す情報が記述されている。Ｏｐｔｉｏｎには文字を選択するための複数の文字の情報が記述されている。Ｆｅａｔｕｒｅ「ＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０２」２１２０に示す２文字目以降も同様のＯｐｔｉｏｎが記述されており、オペレーティングシステムはこのＧＰＤファイル３０１を元に図８に示すプリンタドライバＵＩ１０００を生成する。
【００２９】
図１０は図８に示すＧＰＤベースのプリンタドライバ３００から取得可能なＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（２５０，５５０）の一部２２００を示している。Ｆｅａｔｕｒｅ２２１０の記述の中にウォーターマークの１文字目に入力可能なプリンタドライバの能力が記述されている（Ｆｅａｔｕｒｅ名は「ｎｓ００００：ＪｏｂＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０１」である）。Ｐｒｏｐｅｒｔｙ２２１１はウォーターマークの１文字目が選択肢から１つを選ぶ形式であることを示している。Ｐｒｏｐｅｒｔｙ２２１２はウォーターマークの１文字目をディスプレイに表示される時の名前が記述されている。この例においては「ウォーターマーク（１）」がディスプレイに表示される。Ｏｐｔｉｏｎ２２１３からＯｐｔｉｏｎ２２１７はそれぞれの印刷設定項目としての選択肢とディスプレイに表示される時の名前が記述されている。たとえばＯｐｔｉｏｎ２２１５ではＯｐｔｉｏｎの名前が「ｎｓ００００：Ｃｈａｒ＿０」なのに対してディスプレイに示すときの名前は「［０］」となっている。Ｆｅａｔｕｒｅ２２２０に示される二文字目以降も同様の記述となっている。
【００３０】
図１１は図８に示すＧＰＤベースのプリンタドライバ３００においてユーザが文字列を入力し終わった時の様子を示している。ウォーターマークとして「ＣＯＰＹ」という文字列を指定しており、一文字ずつ［Ｃ］（１０１０）、［Ｏ］（１０２０）、［Ｐ］（１０３０）、［Ｙ］（１０４０）、ＮＵＬＬ（１０５０）が指定されている。このように、ＧＰＤベースのプリンタドライバ３００のＵＩ１０００では、ユーザは任意文字列の入力を行うためにわざわざ一文字ずつ入力しなければならない。
【００３１】
図１２は図１１に示すＵＩにおいて生成されるＰｒｉｎｔＴｉｃｋｅｔ（２６０，５６０）の一部２３００を示している。ＰｒｉｎｔＴｉｃｅｔ（２６０，５６０）には、図に示すようにＦｅａｔｕｒｅごとに選択したＯｐｔｉｏｎが示されている。ウォーターマークの１文字目を示すＦｅａｔｕｒｅである「ｎｓ００００：ＪｏｂＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０１」２３１０で選択されたＯｐｔｉｏｎは「ｎｓ００００：Ｃｈａｒ＿Ｃ」２３１１であることがわかる。ウォーターマークの２文字目を示す「ｎｓ００００：ＪｏｂＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０２」以降も同様の記述となる。
【００３２】
このように生成されたＰｒｉｎｔＴｉｃｋｅｔ（２６０，５６０）は、印刷時にはそのままＰＤＬとともにプリンタ８００に送信されて印刷時にプリンタ８００によって処理される。または、プリンタドライバ３００のレンダリングモジュール３０４によって加工がなされてからプリンタ８００に送られる。前者のように、ＰｒｉｎｔＴｉｃｋｅｔ（２６０，５６０）をそのままプリンタ８００に送信する場合、プリンタ８００がＰｒｉｎｔＴｉｃｋｅｔ（２６０，５６０）のＦｅａｔｕｒｅを解釈する必要がある。すなわち、プリンタ８００はＦｅａｔｕｒｅ２３１０からＦｅａｔｕｒｅ２３５０をウォーターマークの１文字目から５文字目として解釈する。そしてプリンタ８００はそれらの文字を実際のウォーターマーク文字列として、ＰＤＬの描画の上に透かし文字として重ねて描画して印字する。一方、後者のように、プリンタドライバ３００のレンダリングモジュール３０４が加工して送る場合は、プリンタ８００はＰｒｉｎｔＴｉｃｋｅｔ（２６０，５６０）を解釈する必要はない。この場合、レンダリングモジュール３０４がＰｒｉｎｔＴｉｃｋｅｔ（２６０，５６０）のＦｅａｔｕｒｅ（２３１０〜２３５０）をウォーターマーク文字列として解釈して、それぞれの文字をＰＤＬの文字描画として置き換える。すなわちレンダリングモジュール３０４はアプリケーションからの描画に対してウォーターマークの文字描画を透かし文字として重ね合わせる形でＰＤＬを生成する。このようにして生成されたＰＤＬは、プリンタ８００によって、アプリケーションからの描画とウォーターマークの描画とを区別することなくレンダリングされて印字される。
【００３３】
なお、どちらの場合もＰｒｉｎｔＴｉｃｋｅｔ（２６０，５６０）におけるＦｅａｔｕｒｅのＯｐｔｉｏｎとしてＮＵＬＬ（例：２３５１）が指定されていた時には、ウォーターマーク文字列の終端として解釈する。
【００３４】
ここからは、本発明の実施形態である印刷設定アプリケーション５００の動作について詳細に説明する。
【００３５】
図１３は、図７で示した印刷設定アプリケーション５００のＵＩ５０１においてユーザによって「ウォーターマーク編集」ボタン５０４が押下された際に印刷設定アプリケーションが開くダイアログボックス１３００を示している。ダイアログボックス１３００にはウォーターマーク文字列をキーボードから簡単に入力させるためにエディットボックス形式１３１０での入力が可能となっている。また、本実施例ではウォーターマーク文字列は最大半角５文字であるため、その内容もダイアログ内に表示することで、ユーザに注意を促している。ユーザは入力デバイス１０９を用いてエディットボックス１３１０にフォーカスをあて、任意の文字列を入力することができる。ダイアログボックス１３００には「ＯＫ」ボタン１３８０と「キャンセル」ボタン１３９０が用意されている。印刷設定アプリケーション５００は、ユーザによって「ＯＫ」ボタン１３８０が押されるとエディットボックス１３１０に入力された任意文字列をＰｒｉｎｔＴｉｃｋｅｔに反映する。一方、「キャンセル」ボタン５８０が押されるとエディットボックス１３１０に入力された任意文字列を破棄する。
【００３６】
図１４は、上述のように、印刷設定アプリケーション５００がエディットボックス１３１０の文字列をＰｒｉｎｔＴｉｃｋｅｔ５６０に反映させるフローを示している。
【００３７】
印刷設定アプリケーション５００は始めにエディットボックス１３１０から入力文字列を取得する（Ｓ２０１）。次に取得した入力文字列の文字数と該当する設定項目におけるＦｅａｔｕｒｅの数を比較する（Ｓ２０２）。本実施例におけるＦｅａｔｕｒｅ数はＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ５５０に記載されているウォーターマーク文字列のためのＦｅａｔｕｒｅ数を指している。具体的には「ｎｓ００００：ＪｏｂＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０１」（２２１０）から「ｎｓ００００：ＪｏｂＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０５」（不図示）までの５つが該当するＦｅａｔｕｒｅ数となる。ここで、入力文字列の文字数がＦｅａｔｕｒｅ数より多い時は、印刷設定アプリケーション５００はエラー表示を出して（Ｓ２０８）ＰｒｉｎｔＴｉｃｋｅｔの生成処理を行わない。少ない時は、印刷設定アプリケーション５００は入力文字列から１文字分を取り出す（Ｓ２０３）。そして取り出した文字に該当するＯｐｔｉｏｎがＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ５５０に存在するかどうかを確認する（Ｓ２０４）。具体的には最初の文字が「Ｃ」であるため、該当するＯｐｔｉｏｎである「ｎｓ００００：Ｃｈａｒ＿Ｃ」がＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ５５０に存在するかどうかを確認する。なお、入力文字に対応するＯｐｔｉｏｎは、印刷設定アプリケーションが別途保持している不図示の対応テーブルに記載されている。該当するＯｐｔｉｏｎが存在しない場合には、印刷設定アプリケーション５００はエラー表示を出して（Ｓ２０８）ＰｒｉｎｔＴｉｃｋｅｔの生成処理を行わない。図１６のメッセージボックス１５００はその時に印刷設定アプリケーション５００が表示するＵＩを示している。存在する場合には、印刷設定アプリケーション５００は次に該当する１文字分のＦｅａｔｕｒｅに対して、取り出した文字に該当するＯｐｔｉｏｎを指定してＰｒｉｎｔＴｉｃｋｅｔ５６０を生成する。具体的には、図１２のＰｒｉｎｔＴｉｃｋｅｔ５６０において「ｎｓ００００：Ｃｈａｒ＿Ｃ」をＯｐｔｉｏｎ（２３１１）として記述したＦｅａｔｕｒｅ「ｎｓ００００：ＪｏｂＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０１」（２３１０）を生成する（Ｓ２０５）。次に印刷設定アプリケーション５００は入力されたすべての文字に対してＳ２０３からＳ２０５を繰り返す（Ｓ２０６）。すべて繰り返したら最後に、印刷設定アプリケーション５００は、残りの文字のＦｅａｔｕｒｅに対して、Ｏｐｔｉｏｎ「ｎｓ００００：ＮＵＬＬ」（２３５１）を指定してＰｒｉｎｔＴｉｃｋｅｔ５６０を生成する。以上のフローにより、エディットボックス１３１０の入力文字列をすべてＰｒｉｎｔＴｉｃｋｅｔ５６０に反映することができる。これによって、ユーザは本実施例の印刷設定アプリケーション５００を使用することで、ＧＰＤベースのプリンタドライバ３００のＵＩ１０００を使用して１文字ずつ選択するのに比べてはるかに簡単に任意文字列を指定することが可能となる。
【００３８】
図１５は、図１４とは逆に、印刷設定アプリケーション５００がＰｒｉｎｔＴｉｃｋｅｔ５６０の情報をエディットボックス１３１０に文字列として反映させるフローを示している。このフローは、印刷設定アプリケーション５００がＵＩ（５０１，１３００）を表示する際に、プリンタドライバ３００から取得したＰｒｉｎｔＴｉｃｋｅｔ５６０を元に行うものである。
【００３９】
まず、印刷設定アプリケーションは表示させようとしている印刷設定に該当するＦｅａｔｕｒｅをＰｒｉｎｔＴｉｃｋｅｔ５６０から取得する。具体的には図１２に示す「ｎｓ００００：ＪｏｂＷａｔｅｒｍａｒｋＳｔｒｉｎｇ０１」（２３１０）を取得する（Ｓ２１１）。次に印刷設定アプリケーション５６０はそのＦｅａｔｕｒｅのＯｐｔｉｏｎに該当する文字をバッファである文字列Ａに追加する（Ｓ２１２）。具体的には図１２に示す「ｎｓ００００：Ｃｈａｒ＿Ｃ」（２３１１）を元に、対応する文字「Ｃ」を文字列Ａに追加する。Ｏｐｔｉｏｎに対応する文字は前述の対応テーブルを使用して決定する。次に印刷設定アプリケーション５００は次のＦｅａｔｕｒｅとそのＯｐｔｉｏｎを確認する（Ｓ２１３）。続けて、次のＦｅａｔｕｒｅが次の印刷設定を指すまで、または、Ｏｐｔｉｏｎが「ｎｓ００００：ＮＵＬＬ」になるまで、Ｓ２１２とＳ２１３の処理を繰り返す（Ｓ２１４）。このようにして、繰り返した数だけ文字列Ａに文字が入ることになる。最後に、生成された文字列Ａをエディットボックス１３１０に入力して表示する（Ｓ２１５）。以上のフローにより、ＰｒｉｎｔＴｉｃｋｅｔ５６０の情報をエディットボックス１３１０に反映することができる。
【００４０】
図１６のメッセージボックス１５００はＳ２０４において該当するＯｐｔｉｏｎが存在しない時に印刷設定アプリケーション５００が表示するＵＩを示している。印刷設定アプリケーション５００は「ＯＫ」ボタン１５９０が押下されるとメッセージボックス１５００を閉じて、再び任意文字列の入力が可能な状態になる。
【００４１】
以上、図１から図１６を用いて本発明を実施するための最良の形態について述べた。なお、ここで示したＧＰＤファイルやＰｒｉｎｔＴｉｃｋｅｔ、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｓなどは説明のための一例であり、本発明の実施のためにはフォーマットが異なっていても構わない。ＧＰＤベースのプリンタドライバＵＩ１０００におけるツリー表示や印刷設定アプリケーションのＵＩ５０１も一例に過ぎず、異なる形式で表示されるＵＩであっても問題なく実施することが可能である。
【００４２】
［実施例２］
実施例１においては１つの文字を１つのＦｅａｔｕｒｅに割り当てた例を示したが、このままで日本語などの複数バイト文字の入力に適応することができない。なぜなら、Ｆｅａｔｕｒｅに対するＯｐｔｉｏｎの数に制限があるためである。
【００４３】
図１７は、上記の課題を解決するために１つの文字に対応する文字コードの数値を４つのＦｅａｔｕｒｅに割り当てた場合のプリンタドライバ３００のＵＩを示している。すなわち、１つの文字をＵＴＦ−１６の１６ビットで表現し、４ビットごとにＦｅａｔｕｒｅを割り当てた例である。図において「ウォーターマーク（１）  １ｓｔ」、「ウォーターマーク（１）  ２ｎｄ」、「ウォーターマーク（１）  ３ｒｄ」、「ウォーターマーク（１）  ４ｔｈ」の４つのＦｅａｔｕｒｅがウォーターマークの１文字目を表している。それぞれにユーザが指定可能なＯｐｔｉｏｎは「０」から「ｆ」の８進数であり、４つの８進数が１文字目の文字を示している。どのように割り当てるかを示したのが図１８と図１９である。
【００４４】
図１８は、プリンタドライバ３００の構成が図１７に示す構成になっていた場合に、本発明を実施した時の印刷設定アプリケーション５００が表示するＵＩを示している。具体的には実施例１と同じ図７に示す印刷設定アプリケーション５００のＵＩにおける「ウォーターマーク編集」ボタン５０４が押された時に印刷設定アプリケーション５００が表示するダイアログボックス１４００を示している。図に示すようにエディットボックス１４１０に対して日本語の全角入力が可能になっており、ユーザは容易に全角の任意文字列を入力することができる。
【００４５】
図１９は、図１８に示す印刷設定アプリケーション５００における「マル秘」という文字列がＰｒｉｎｔＴｉｃｋｅｔに反映された時の、各Ｆｅａｔｕｒｅに対するＯｐｔｉｏｎを示した図である。
【００４６】
一文字目の「マ」はＵＴＦ−１６で示すと、１６進で「３０ｄｅ」となる。これを「ウォーターマーク（１）  １ｓｔ」に［３］、「ウォーターマーク（１）  ２ｎｄ」に［０］、「ウォーターマーク（１）  ３ｒｄ」に［ｄ］、「ウォーターマーク（１）  ４ｔｈ」に［ｅ］として割り当てている。このようにして１文字を４つのＦｅａｔｕｒｅに割り当てることで日本語などの複数バイトの文字の時も、ユーザは印刷設定アプリケーション５００を用いて簡単に入力することが可能となる。なお、１文字を複数バイトで示した時の印刷設定アプリケーション５００が行う基本的なフローは実施例１のものと変わらないため、ここでの説明は割愛する。
【００４７】
以上、本発明を実施するための形態についてＧＰＤベースのプリンタドライバを例として説明を行った。しかし、本発明はＧＰＤベースのプリンタドライバに限って実施が可能なものではない。ＧＰＤと同様のフォーマットを持つＰＰＤ（ＰｏｓｔＳｃｒｉｐｔ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）を用いたプリンタドライバでも同様に実施することが可能である。また、ユーザに入力させる任意文字列として、ウォーターマークを例に説明を行ってきたが、ウォーターマーク以外にも同様に実施することができる。例えば、スタンプ、ユーザ名、パスワード、ヘッダーフッターとして印字する文字列、プリンタ８００のパネルに表示させる文字列、プリンタ８００のＨＤＤに印刷データを保存する際の保存名称など、様々な任意文字列に対して適応することができる。
なお、本発明の実施形態においては、ＧＰＤファイルを例に説明したが、図２０に示すＰＰＤファイルを使った印刷システムにも適用できる。
【符号の説明】
【００４８】
１００  コンピュータ
３００  プリンタドライバ
３０１  ＧＰＤファイル
４００  オペレーティングシステム
５００  印刷設定アプリケーション
５５０  ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ
５６０  ＰｒｉｎｔＴｉｃｋｅｔ
８００  プリンタ
【図１】
0005924892.tif 000002
【図２】
0005924892.tif 000003
【図３】
0005924892.tif 000004
【図４】
0005924892.tif 000005
【図５】
0005924892.tif 000006
【図６】
0005924892.tif 000007
【図７】
0005924892.tif 000008
【図８】
0005924892.tif 000009
【図９】
0005924892.tif 000010
【図１０】
0005924892.tif 000011
【図１１】
0005924892.tif 000012
【図１２】
0005924892.tif 000013
【図１３】
0005924892.tif 000014
【図１４】
0005924892.tif 000015
【図１５】
0005924892.tif 000016
【図１６】
0005924892.tif 000017
【図１７】
0005924892.tif 000018
【図１８】
0005924892.tif 000019
【図１９】
0005924892.tif 000020
【図２０】
0005924892.tif 000021
【図２１】
0005924892.tif 000022