(57)【要約】【課題】  印刷設定の特定の機能をごく短い間だけ解除することが困難であった。さらに、解除対象の機能を選択する際に手動操作を強いる分運用が面倒という課題もあった。【解決手段】  印刷設定の拘束を解除する際に、適切なジョブ数をカウントすることで、印刷設定をごく短い間だけ解除可能になる。また、印刷設定の拘束対象機能を工場出荷時の初期設定値とカスタマイズされた初期設定値の差分から自動的に抽出するため、ユーザーに機能を手動で選択させる必要が無い。【選択図】  図９
2011008469.tif 000002
【特許請求の範囲】
【請求項１】
プリンタの印刷条件を示す初期設定内容（６０）とカスタマイズ済み初期設定内容（６１）の差分を抽出する手段（９０２、９０３）と、現在設定内容（７２）が前記差分を包含するかどうか判断する手段（９０４、９０５）と、現在設定内容（７２）を前記差分に従うように変更する手段（９１４）と、現在のプロセス識別子と保存しておいたプロセス識別子を比較する手段（９１８、９１９）と、前記比較手段の結果、異なる識別子と判断した際、ジョブ数を増やす手段（９１９、９２０）と、一定のジョブ数に達したとき、設定拘束解除状態から設定拘束状態へ遷移する手段（９２１、９２２）と、
を有することを特徴とする情報処理装置。
【請求項２】
プリンタの印刷条件を示す初期設定内容（６０）とカスタマイズ済み初期設定内容（６１）の差分を抽出するステップ（９０２、９０３）と、現在設定内容（７２）が前記差分を包含するかどうか判断するステップ（９０４、９０５）と、現在設定内容（７２）を前記差分に従うように変更するステップ（９１４）と、現在のプロセス識別子と保存しておいたプロセス識別子を比較するステップ（９１８、９１９）と、前記比較手段の結果、異なる識別子と判断した際、ジョブ数を増やすステップ（９１９、９２０）を有する、一定のジョブ数に達したとき、設定拘束解除状態から設定拘束状態へ遷移するステップ（９２１、９２２）と、
を特徴とする情報処理方法。
【請求項３】
プリンタの印刷条件を示す初期設定内容（６０）とカスタマイズ済み初期設定内容（６１）の差分を抽出するステップ（９０２、９０３）と、現在設定内容（７２）が前記差分を包含するかどうか判断するステップ（９０４、９０５）と、現在設定内容（７２）を前記差分に従うように変更するステップ（９１４）と、現在のプロセス識別子と保存しておいたプロセス識別子を比較するステップ（９１８、９１９）と、前記比較手段の結果、異なる識別子と判断した際、ジョブ数を増やすステップ（９１９、９２０）と、一定のジョブ数に達したとき、設定拘束解除状態から設定拘束状態へ遷移するステップ（９２１、９２２）と、
をコンピュータに実行させるためのプログラム。
【請求項４】
請求項３記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【請求項５】
請求項１において、
現在の時間と保存しておいた時間を比較する手段（９１６、９１７）と、前記比較手段の結果、一定の時間に達したとき、設定拘束解除状態から設定拘束状態へ遷移する手段（９１７、９２２）と、
を有することを特徴とする情報処理装置。
【請求項６】
請求項２において、
現在の時間と保存しておいた時間を比較するステップ（９１６、９１７）と、前記比較手段の結果、一定の時間に達したとき、設定拘束解除状態から設定拘束状態へ遷移するステップ（９１７、９２２）と、
を有することを特徴とする情報処理方法。
【請求項７】
請求項３において、
現在の時間と保存しておいた時間を比較するステップ（９１６、９１７）と、前記比較手段の結果、一定の時間に達したとき、設定拘束解除状態から設定拘束状態へ遷移するステップ（９１７、９２２）と、
をコンピュータに実行させるためのプログラム。
【請求項８】
請求項７記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【請求項９】
請求項１において、設定拘束解除状態から設定拘束状態へ遷移してから、設定された特定の時間を経過しているかどうか判断する手段（９０７、９０８）と、メッセージを表示する手段（９０９、９１０）と、
を有することを特徴とする情報処理装置。
【請求項１０】
請求項２において、設定拘束解除状態から設定拘束状態へ遷移してから、設定された特定の時間を経過しているかどうか判断するステップ（９０７、９０８）と、メッセージを表示するステップ（９０９、９１０）と、
を有することを特徴とする情報処理方法。
【請求項１１】
請求項３において、設定拘束解除状態から設定拘束状態へ遷移してから、設定された特定の時間を経過しているかどうか判断するステップ（９０７、９０８）と、メッセージを表示するステップ（９０９、９１０）と、
をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１１記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタへ印刷する際の印刷設定に関する。
【背景技術】
【０００２】
近年、印刷システム導入の際に、印刷設定の初期値を業務に合わせて変更することを望むユーザーが増えてきた。具体的には、用紙節約のために、印刷の初期設定において両面機能を有効にするといった事例がある。この課題に対し、プリンタドライバをインストールする前に、プリンタドライバが保持している印刷設定の初期値をカスタマイズする方法があった（例えば、特許文献１参照）。この方法によって、プリンタドライバをオペレーティングシステムにインストール後に、オペレーティングシステム毎に印刷の初期設定を変更する手間が省け、運用コストを下げることが可能となった。ただし、この方法は印刷設定を固定化するものではないので、システム導入後にユーザーが改めてデフォルト設定を変更することを妨げることはできない。
【０００３】
一方で、印刷設定をユーザーに変更させない技術も印刷システムに導入されてきた（例えば、特許文献２参照）。この技術を組み合わせることで、印刷設定を初期状態から固定化することが可能になった。
【０００４】
しかしながら、現実には例外的な業務というのは常に発生するものである。例えば、カラープリンタを導入されたオフィスにおいて、印刷設定をモノクロに固定化されている場合に、例外的にカラーで印刷する必要が生じるとことがあるだろう。このように固定化された印刷設定を解除するには、固定化解除の手順が非常に面倒であった。
【０００５】
つまり、印刷設定の推奨設定を維持しつつユーザーに例外的な印刷設定も許すような柔軟なシステムが求められている。これまでに印刷の初期設定を維持する方法（例えば、特許文献３参照）や印刷制限を一時的に解除する方法（例えば、特許文献４参照）がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３０９７２５号公報
【特許文献２】特開２００６−３３０９４０号公報
【特許文献３】特開２００７−１２２１３７号公報
【特許文献４】特開２００７−２３００１３号公報
【特許文献５】特開２００５−１０７７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献３や特許文献４で示された方法だけでは、印刷設定をごく短い間だけ解除する場合に対応が困難である。特に特許文献５で示されるような地紋プリントを解除する場合、地紋プリントの本来の目的を鑑みると、解除期間が長いことはセキュリティ上好ましくない。この場合、ごく短い間のみ機能を解除する必要があるが、従来の印刷ジョブ数や時間制限による制限だけでは、印刷処理の途中で制限値を越えてしまうという課題があった。さらに、特許文献４において、印刷設定を拘束する対象機能を手動で選択するが、システム導入者に手動選択という操作を強いる分運用が面倒という課題もあった。
【課題を解決するための手段】
【０００８】
プリンタの印刷条件を示す初期設定内容（６０）とカスタマイズ済み初期設定内容（６１）の差分を抽出する手段（９０２、９０３）と、現在設定内容（７２）が前記差分を包含するかどうか判断する手段（９０４、９０５）と、現在設定内容（７２）を前記差分に従うように変更する手段（９１４）と、現在のプロセス識別子と保存しておいたプロセス識別子を比較する手段（９１８、９１９）と、前記比較手段の結果、異なる識別子と判断した際、ジョブ数を増やす手段（９１９、９２０）を有する、
ことを特徴とする情報処理装置。
【発明の効果】
【０００９】
印刷設定の拘束を解除する際に、適切なジョブ数をカウントできるので、印刷設定をごく短い間だけ解除することが可能になる。また、印刷設定を拘束する対象機能を工場出荷時の初期設定値とカスタマイズされた初期設定値の差分から自動的に抽出するため、ユーザーに機能を手動で選択・指定させる必要が無い。つまり、システム運用が容易になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る印刷処理システムの構成を示すブロック図
【図２】所定のアプリケーション及び印刷処理関連プログラムが起動して、ホストコンピュータ３０００のＲＡＭ２にプログラムやデータがロードされた状態でのＲＡＭ２のメモリマップを示す図
【図３】カスタマイズツールのＵＩを例示する図
【図４】初期設定値カスタマイズ用プリンタドライバＵＩを示す図
【図５】カスタマイズツール適用前のプリンタドライバＵＩ制御モジュールの状態図
【図６】カスタマイズツール適用後のプリンタドライバＵＩ制御モジュールの状態図
【図７】印刷設定初期値の遷移図
【図８】印刷設定初期値の詳細一覧
【図９】印刷設定の一時解除方法を説明するフローチャート
【図１０】図９のステップ９１０で表示するメッセージボックスを例示する図
【図１１】図９のステップ９０９で表示するメッセージボックスを例示する図
【図１２】プリンタドライバのＵＩ（拘束復帰条件シート）を例示する図
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１２】
本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。図１は、本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。この印刷処理システムは、情報処理装置（以下、「ホストコンピュータ」ともいう）３０００と、このホストコンピュータ３０００より印刷データを受信して印刷を行なうプリンタ１５００を備えている。
【００１３】
ホストコンピュータ３０００において、ＣＰＵ１は、ＲＡＭ２に記憶されているプログラムに従って、システムバス４に接続される各デバイスを総括的に制御している。このＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等としても機能している。ＲＯＭ３は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントＲＯＭ３ａ、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ３ｂ、及び各種データを記憶するデータＲＯＭ３ｃに区分けして構成されている。
【００１４】
キーボードコントローラＩ／Ｆ５は、キーボード９や不図示のポインティングデバイス（マウス）からのキー入力を制御する。ディスプレイＩ／Ｆ６は、ディスプレイ１０への表示を制御している。外部メモリＩ／Ｆ７は、ハードディスクなどの外部メモリ１１へのアクセスを制御している。プリンタＩ／Ｆ８は、双方向性インターフェイス２１を介してプリンタ１５００に接続され、プリンタ１５００との間で通信制御処理を行なう。
【００１５】
外部メモリ１１は、例えばハードディスク（ＨＤ）やＳＳＤ（Solid State Disk）やＭＯやフロッピー（登録商標）ディスク等であり、図示の如く、オペレーティングシステムプログラム（以下、ＯＳ）２０５をはじめ各種アプリケーション（例えば、図形、イメージ、文字、表等が混在した文書処理を行なう文書処理アプリケーションプログラム）２０１、印刷処理関連プログラム２０４を記憶している他に、ユーザファイル、編集ファイル等も記憶している。印刷処理関連プログラム２０４は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用され得る。また、この印刷処理関連プログラム２０４は、本実施形態に係るプリンタ制御コマンド生成モジュール（以下、プリンタドライバ）２０４１、及びプリンタドライバＵＩ制御モジュール２０４２をも含んでいる。
【００１６】
外部メモリ１１に記憶された、本実施形態に係るカスタマイズツールプログラム（以下、単に、「カスタマイズツール」という）を含むアプリケーション２０１は、ＲＡＭ２にロードされてＣＰＵ１により実行される。またＣＰＵ１は、例えば、ＲＡＭ２へのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディスプレイ１０上でのＷＹＳＩＷＹＧ（What You See Is What You Get）を可能としている。更に、ＣＰＵ１は、ディスプレイ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザーは印刷を実行する際、印刷設定画面（プリンタドライバＵＩ制御モジュール２０４２により制御される）を開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバ２０４１に対する印刷処理の設定を行なうことができる。
【００１７】
次にプリンタ１５００の構成について説明する。ＣＰＵ１２は、プリンタ１５００の全体の動作を制御している。ＲＡＭ１９は、ＣＰＵ１２の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。またこのＲＡＭ１９は、ＮＶＲＡＭ（Ｎon-volatile  ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。ＲＯＭ１３は、各種フォントを記憶するフォントＲＯＭ１３ａ、ＣＰＵ１２により実行される制御プログラム等を記憶するプログラムＲＯＭ１３ｂ、及び各種データを記憶するデータＲＯＭ１３ｃを備えている。入力部１８は、ホストコンピュータ３０００との間でデータの送受信を行なう。印刷部Ｉ／Ｆ１６は、プリンタエンジンである印刷部１７とのインターフェイスを制御している。
【００１８】
外部メモリ１４は、外部メモリＩ／Ｆ２０によりアクセスが制御されており、オプションとして接続されるハードディスク（ＨＤ）、ＭＯ、フロッピー（登録商標）ディスク（ＦＤ）、ＩＣカード等を含んでおり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。尚、ハードディスク等の外部メモリ１４が接続されていない場合には、ＲＯＭ１３のデータＲＯＭ１３ｃに、ホストコンピュータ３０００で利用される情報等を記憶することになる。尚、この外部メモリ１４は１個に限らず複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
【００１９】
操作部１５０１には、ユーザーによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配されている（不図示）。また、不図示のＮＶＲＡＭ（Ｎon-volatile  ＲＡＭ：不揮発性ＲＡＭ）を有し、操作パネルからのプリンタモード設定情報を記憶するようにしてもよい。
【００２０】
ＣＰＵ１２は、ＲＯＭ１３のプログラムＲＯＭ１３ｂに記憶された制御プログラム等に基づき、印刷部Ｉ／Ｆ１６を介して印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、ＣＰＵ１２は入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、ホストコンピュータ３０００から送信される印刷データを受信すると共に、プリンタ１５００内の情報等をホストコンピュータ３０００に通知可能に構成されている。
【００２１】
図２は、所定のアプリケーション及び印刷処理関連プログラムを起動して、ホストコンピュータ３０００のＲＡＭ２にプログラムやデータがロードされた状態でのＲＡＭ２のメモリマップを示す図である。
【００２２】
ＲＡＭ２には、図示の如く、ＢＩＯＳ２０６、ＯＳ２０５をはじめ、アプリケーション２０１、印刷処理関連プログラム２０４、及び関連データ２０３がロードされている。更に、空きメモリ領域２０２も確保されている。これにより、アプリケーション２０１及び印刷処理関連プログラム２０４が実行可能な状態となる。尚、印刷処理関連プログラム２０４におけるプリンタドライバＵＩ制御モジュール２０４２（図１）は、ユーザーによる印刷設定指令に応じてディスプレイ１０に印刷設定画面を表示し、キーボード９などを使用したユーザーからの設定を可能にする。
【００２３】
図３は、アプリケーション２０１の一例であるカスタマイズツールのＵＩを例示する図である。カスタマイズツールは、Windows（登録商標）2000/XP/Server 2003/Vista上で動作し、Windows（登録商標）98/Me、Windows（登録商標）NT4.0、Windows（登録商標）2000/XP/Server 2003/Vista向けの各プリンタドライバをカスタマイズすることを、例としている。もちろん、これらのＯＳに限定されるものではない。
【００２４】
図３において、ユーザーからメニュー３０１の“開く（C）...”の選択を受け付けたカスタマイズツールは、カスタマイズを行なうプリンタドライバセットのフォルダを指示するためのダイアログ（不図示）を表示し、カスタマイズを行なうドライバの格納先の入力をユーザーへ指示する。ユーザーからプリンタドライバ格納先を受け付けたカスタマイズツールは、表示欄３０２にそのドライバ格納先を表示し、プリンタドライバセットの対応ＯＳを表示欄３０３に表示する。 そして、リストビュー３０５において、カスタマイズを行なうプリンタドライバの対応機種とカスタマイズを行った情報に対して識別表示「On」を表示するようになっている。
【００２５】
チェックボックス３１０において、ユーザーからのチェックを受け付けたカスタマイズツールは、ボタン３１１を有効にする。ボタン３１１において、ユーザーから押下を受け付けたカスタマイズツールは、カスタマイズ用のプリンタドライバＵＩ（図４）を表示する。図４で示されるＵＩはプリンタドライバＵＩ制御モジュール２０４２に含まれる。図４に示されるＵＩにおいて、ユーザーによるＵＩの操作を受け付けたプリンタドライバＵＩ制御モジュール２０４２は、印刷設定（ドキュメントプロパティ）の初期値設定、デバイスの設定（プリンタプロパティ）等の初期値設定を行なうことができる。
【００２６】
ボタン３２０において、ユーザーから押下を受け付けたカスタマイズツールは、カスタマイズされたプリンタドライバの作成先を指定するためのダイアログ（不図示）を表示し、カスタマイズされたプリンタドライバの作成先をユーザーへ指示することができる。
【００２７】
ボタン３３０において、ユーザーから押下を受け付けたカスタマイズツールは、設定に従ってカスタマイズされたプリンタドライバを作成する。
【００２８】
ここで述べたカスタマイズツールは特開２００６−３０９７２５で述べられたものと同等と考えてよい。本発明においては、カスタマイズツールを使ってプリンタドライバをカスタマイズした後の課題解決が重要であるので、カスタマイズツール自体の仕組みや機能等の詳細については省略する。
【００２９】
図５は、ＯＳにインストールされる前のプリンタドライバＵＩ制御モジュールの状態を示している。前述したカスタマイズツールは適用していない。この図５の状態に対し、カスタマイズツールは、プリンタドライバＵＩ制御モジュールが保持する工場出荷時の初期設定値６０をカスタマイズする。その結果、図６のようにプリンタドライバＵＩ制御モジュールは、工場出荷時の初期設定値６０に加え、カスタマイズされた初期設定値６１も保持することになる。図６の構成のプリンタドライバがＯＳにインストールされると、ＯＳはカスタマイズされた初期設定値６１をそのＯＳにおける初期値として認識する。
【００３０】
図７は、プリンタドライバＵＩ制御モジュールがＯＳにインストールされた後、初期印刷設定の遷移状態を示した図である。なお、ＯＳ管理下において一意であることをシステムグローバルと称する。システムグローバルな初期設定値７０は、プリンタドライバＵＩ制御モジュールが保持しているカスタマイズされた初期設定値６１から取り出されたもので、ＯＳが管理している初期設定値である。システムグローバルなので、１つのＯＳ内に１つだけ存在する。管理者権限を持たないユーザーはこの初期値を変更できない。ＯＳは複数のユーザーアカウントを管理するが、ＯＳはユーザー毎に初期設定値もコピーする。ユーザーはこのユーザー毎の初期設定値７１を変更することができる。さらにアプリケーションが、独自に印刷設定を管理することもある。その場合、アプリケーションは、ユーザー毎の初期設定値から印刷設定を取得して、以後独自に印刷設定を管理することになる。アプリケーションが印刷を実行するならば、そのとき使用される印刷設定は、この現在の印刷設定値７２ということになる。
【００３１】
図８は、図７における各印刷設定に関する情報を整理した図である。印刷設定を保持するモジュールという観点では、工場出荷時の初期設定値６０とカスタマイズされた初期設定値６１を保持しているのはプリンタドライバであるという点が重要である。アプリケーションは、自身が保持する現在の印刷設定値７２はもちろん、ＯＳが保持するユーザー毎の初期設定値７１やシステムグローバルな初期設定値７０もＯＳが提供するＡＰＩを通じて取得することができるが、プリンタドライバが保持する工場出荷時の初期設定値６０とカスタマイズされた初期設定値６１は取得することができない。もちろん、プリンタドライバが特殊なインターフェイスを用意して工場出荷時の初期設定値６０とカスタマイズされた初期設定値６１を公開することも可能なだが、アプリケーションもその特殊なインターフェイスに対応する必要が生じる。前に説明したカスタマイズツールのようなプリンタドライバと密結合したアプリケーションのみ工場出荷時の初期設定値６０とカスタマイズされた初期設定値６１を操作可能となる。一般的なアプリケーションは工場出荷時の初期設定値６０とカスタマイズされた初期設定値６１を操作不可能である。
【００３２】
図９は、プリンタドライバ２０４１が印刷処理中に実施する本発案特有の処理について説明したフローチャートである。ステップ９０１から処理を開始する。なお、プリンタドライバ２０４１がMicrosoft Windows（登録商標）で動作するGDI（Graphics Device Interface）ドライバの場合、DrvStartDoc関数やDrvResetPDEV関数や最初に呼ばれるDrvStartPage関数において当処理を開始する。プリンタドライバ２０４１がMicrosoft Windows（登録商標）で動作するXPS（XML Paper Specification）（「XPS」は登録商標）ドライバの場合、IPrintPipelineFilter::StartOperationメンバ関数において当処理を開始する。ステップ９０２にて、工場出荷時の初期設定値６０とカスタマイズされた初期設定値６１を得る。ステップ９０３にて、工場出荷時の初期設定値６０とカスタマイズされた初期設定値６１の差分を抽出する。以降、この差分を拘束条件と呼ぶ。例えば、工場出荷時の初期設定値６０に対し、地紋プリントを有効にして、カスタマイズされた初期設定値６１を作成した場合、拘束条件は、地紋プリントが有効、のみである。この拘束条件の自動生成は本発案における重要なポイントである。プリンタドライバ２０４１が工場出荷時の初期設定値６０とカスタマイズされた初期設定値６１の差分から自動的に抽出するため、ユーザーに機能を手動で選択・指定させる必要が無い。つまり、システム運用が容易になる。ステップ９０４にて、現在の設定値７０を得る。そして、ステップ９０５にて、現在の設定値７０が拘束条件を満たすかどうか判断する。拘束条件を満たすならば、ステップ９１５へ進み印刷処理を続行する。拘束条件を満たさないならば、ステップ９０６へ進む。ここで、先ほどの例えで説明する。拘束条件は、地紋プリントが有効、のみであって、現在の設定値７０における地紋プリントが有効であるなら、拘束条件を満たす。一方、現在の設定値７０における地紋プリントが無効ならば、拘束条件を満たさない。このように、ユーザーの手動による操作が一切介在せずに自動的に拘束条件が確定するので、当システムの運用は容易になる。ステップ９０６では、拘束解除モード、開始時間、プロセス識別子、ジョブ数、といった変数値を読み込む。拘束速モードは真偽を示すブール値であり、値が真のとき当印刷処理は拘束解除モード（ステップ９１６からステップ９２２までの処理に該当、詳細は後述）下、偽のときは当印刷処理を通常処理下にある。開始時間は、拘束解除モードが変わったときの時間を示す。プロセス識別子は、印刷を実行するアプリケーションを特定するための一意な値である。このプロセス識別子は、Windows（登録商標） API（Application Program Interface）を使ってプロセス名とプロセスIDの文字列得て、さらに組み合わせることによって、印刷を実行するアプリケーションを特定する一意な識別子を作る。ジョブ数は印刷処理を実行した回数である。ステップ９０７にて、拘束解除モードの真偽を判定する。真の場合、ステップ９１６へ進み、偽の場合、ステップ９０８へ進む。ステップ９０８にて、開始時間がT時間以上経過しているかどうか判断する。T時間の値の設定については、後述する図１２にて説明する。開始時間がT時間以上経過している場合、ステップ９１０へ進み、図１０のメッセージボックスを表示する。ここで、ユーザーによる「一時解除」ボタンの押下を受け付けると、ステップ９１６へ進む。ユーザーによる「推奨設定に従う」ボタンの押下を受け付けると、ステップ９１４へ進む。ユーザーによる「キャンセル」ボタンの押下を受け付けると、ステップ９１３へ進む。開始時間がT時間未満の場合、ステップ９０９へ進み、図１１のメッセージボックスを表示する。ユーザーによる「推奨設定に従う」ボタンの押下を受け付けると、ステップ９１４へ進む。ユーザーによる「キャンセル」ボタンの押下を受け付けると、ステップ９１３へ進む。ステップ９１３では、印刷中止処理を実施して、ステップ９２３へ進み、当処理を終了する。ステップ９１４では、現在の設定値７０が拘束条件を満たすように設定を変更する。ここで、先ほどの例えで説明する。拘束条件は、地紋プリントが有効、のみなので、現在の設定値７０における地紋プリントは無効である。このとき、拘束条件を満たすように、現在の設定値７０における地紋プリントを有効に変更することになる。工場出荷時の初期設定値６０やカスタマイズされた初期設定値６１を使って現在の設定値７０の全内容を書き換えるわけではなく、現在の設定値７０の変更点は拘束条件に関る部分のみであるため、ユーザーの設定の自由度や利便性を極力活かしつつ設定の管理も実現できている。そしてステップ９１５へ進み、印刷処理を続行し、ステップ９２３へ進み、当処理を終了する。次に、拘束解除モードは真の場合の説明に移る。ステップ９０７にて、拘束解除モードを真と判定すると、ステップ９１６へ進む。ステップ９１６にて、Windows（登録商標） APIを使って現在のシステム日時を得て、開始時間との差分得る。ステップ９１７にて、その差分がN時間以上かどうか判断する。N時間以上の場合、ステップ９２２へ進み、N時間未満の場合、ステップ９１８へ進む。N時間の値の設定については、後述する図１２にて説明する。ステップ９１８にて、プロセス識別子を生成して、保存しておいてプロセス識別子と比較する。ステップ９１９にて、同じプロセスと判断する場合、ステップ９１５へ進み、印刷処理を続行し、ステップ９２３へ進み、当処理を終了する。異なるプロセスと判断する場合、ステップ９２０へ進み、保存しておいたプロセス識別子を新しいプロセス識別子で更新する。ステップ９２１にて、ジョブ数を１つ増やす。ステップ９２２にて、ジョブ数がM以上かどうか判断する。ジョブ数がM以上の場合、ステップ９２２へ進む。ジョブ数がM未満の場合、ステップ９１５へ進み、印刷処理を続行し、ステップ９２３へ進み、当処理を終了する。Mの値の設定については、後述する図１２にて説明する。なお、このプロセス識別子による判断は、本発案における重要なポイントである。ユーザーがアプリケーションに対し一回だけ印刷を指示した場合であっても、プリンタドライバ２０４１に複数回の印刷ジョブが投入されることは多々あるが、このプロセス識別子による判断があれば、本来のジョブ数を正しくカウントできる。例えば、Microsoft Excelは、ブック印刷を実行するとシート単位で印刷ジョブを投入する。Mの値が１で、４シートをブック印刷すると、プロセス識別子による判断が無ければ、最初のシートだけ地紋プリントが無効で、残りの３シートは地紋プリントが有効になってしまう。プロセス識別子による判断があれば、４シートとも地紋プリントを無効にできる。
【００３３】
ステップ９２２にて、プロセス識別子とジョブ数を初期値に、拘束解除モードを偽に、開始時間を現在時間に更新して、ステップ９０９へ進む。以降の処理は、説明済みなので省略する。
【００３４】
図１２は、図９における値T、N、Mを設定するためのＵＩを図示したものである。プリンタドライバＵＩ制御モジュール２０４２に含まれる。エディットボックス１２０１の値が図９におけるMになる。エディットボックス１２０２の値が図９におけるNになる。エディットボックス１２０１の値が図９におけるTになる。
【図１】
2011008469.tif 000003
【図２】
2011008469.tif 000004
【図３】
2011008469.tif 000005
【図４】
2011008469.tif 000006
【図５】
2011008469.tif 000007
【図６】
2011008469.tif 000008
【図７】
2011008469.tif 000009
【図８】
2011008469.tif 000010
【図９】
2011008469.tif 000011
【図１０】
2011008469.tif 000012
【図１１】
2011008469.tif 000013
【図１２】
2011008469.tif 000014