(57)【要約】      （修正有）【課題】Ｖ４プリンタドライバのアーキテクチャでＦＡＸドライバを構成する上で、アプリケーションの作りによらず、宛先情報が流出しないようにする。【解決手段】アプリケーションで生成された描画データに基づく送信データを生成するドライバプログラムと、ドライバプログラムに関連付けられた拡張アプリケーションプログラムとを含むデバイス制御プログラムであって、受信側機器の宛先情報入力画面から入力された宛先情報を、メモリに保存し、ドライバプログラムに送信する印刷設定ファイルに格納する。ドライバプログラムは、アプリケーションで生成された描画データと、拡張アプリケーションプログラムから送信された宛先情報が格納された印刷設定ファイルとに基づいて、送信するデータと、宛先情報を含むジョブを生成して送信させる。拡張アプリケーションプログラムは、アプリケーションからアクセス可能な印刷設定ファイルに、宛先情報を含めない。【選択図】図２
2020027358.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションで生成された描画データに基づく送信データを生成するドライバプログラムと、前記ドライバプログラムに関連付けられた拡張アプリケーションプログラムとを含むデバイス制御プログラムであって、
前記拡張アプリケーションプログラムは、コンピュータに、
前記ドライバプログラムを用いた出力処理を行うユーザの指示に従って、受信側機器の宛先情報をユーザに入力させる入力画面を表示する表示工程と、
前記入力画面を介して入力された前記宛先情報をメモリに保存する保存工程と、
前記メモリに保存された前記宛先情報を前記ドライバプログラムに送信する印刷設定ファイルに格納する格納工程と、を実行させ、
前記ドライバプログラムは、前記コンピュータに、
前記アプリケーションで生成された描画データと前記拡張アプリケーションプログラムから送信された前記宛先情報が格納された前記印刷設定ファイルとに基づいて、前記受信側機器に送信する送信データと、前記受信側機器の宛先情報を含むジョブを生成して送信する送信工程を実行させ、
前記拡張アプリケーションプログラムは、前記アプリケーションからアクセス可能な印刷設定ファイルには、前記入力画面を介して設定された宛先情報を含めないよう制御することを特徴とするデバイス制御プログラム。
【請求項２】
前記ユーザの指示は、ＯＳ（オペレーティングシステム）により提供される所定の画面を介してなされるものであり、当該所定の画面では、更に、前記ユーザが所定の印刷設定を変更することが可能であることを特徴とする請求項１に記載のデバイス制御プログラム。
【請求項３】
前記所定の画面は、前記ＯＳによって提供されるＭＰＤ（Ｍｏｄｅｒｎ  Ｐｒｉｎｔ  Ｄｉａｌｏｇ）であることを特徴とする請求項２に記載のデバイス制御プログラム。
【請求項４】
前記拡張アプリケーションプログラムは、前記ＭＰＤを介して印刷が指示されたことに従って前記ＯＳにより起動されることを特徴とする請求項３に記載のデバイス制御プログラム。
【請求項５】
前記格納工程では、前記印刷設定ファイルを示すＰｒｉｎｔＴｉｃｋｅｔのＰｒｏｐｅｒｔｙに前記宛先情報を格納することを特徴とする請求項１乃至４のいずれか１項に記載のデバイス制御プログラム。
【請求項６】
前記拡張アプリケーションプログラムは、前記コンピュータに、前記ユーザの指示が行われたことに従って受信したＰｒｉｎｔＴｉｃｋｅｔのＰｒｏｐｅｒｔｙに既に宛先情報が保存されている場合、当該保存されている宛先情報を削除する削除工程を実行させることを特徴とする請求項５に記載のデバイス制御プログラム。
【請求項７】
前記ドライバプログラムは、前記印刷設定ファイルに前記宛先情報が格納されていな場合、前記ジョブの実行をキャンセルすることを特徴とする請求項１乃至６のいずれか１項に記載のデバイス制御プログラム。
【請求項８】
前記拡張アプリケーションプログラムは、Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐで実現されていることを特徴とする請求項１乃至７のいずれか１項に記載のデバイス制御プログラム。
【請求項９】
前記ＯＳは、前記ドライバプログラムのプリンタキューごとに設定されている属性情報が、前記拡張アプリケーションプログラムが提供する表示工程を起動する設定である場合であって、前記ドライバプログラムを用いた出力処理を行うユーザの指示に従って、前記拡張アプリケーションプログラムを起動することを特徴とする請求項２乃至４のいずれか１項に記載のデバイス制御プログラム。
【請求項１０】
前記ドライバプログラムは、前記属性情報が前記起動する設定でない場合、前記ジョブをキャンセルし、前記属性情報を、前記起動する設定にすることを特徴とする請求項９に記載のデバイス制御プログラム。
【請求項１１】
前記デバイス制御プログラムは、Ｗｉｎｄｏｗｓ  Ｓｔｏｒｅ  Ｄｅｖｉｃｅ  Ａｐｐｌｉｃａｔｉｏｎ（ＷＳＤＡ）であることを特徴とする請求項１乃至１０のいずれか１項に記載のデバイス制御プログラム。
【請求項１２】
前記拡張アプリケーションプログラムと、前記ドライバプログラムは前記コンピュータによって起動される場合に、別のプロセスとして起動されることを特徴とする請求項１乃至１１のいずれか１項に記載のデバイス制御プログラム。
【請求項１３】
請求項１乃至１２のいずれか１項に記載のデバイス制御プログラムをインストールするためのインストーラプログラムであって、
前記インストーラプログラムは、前記ドライバプログラムをインストールする際に、コンピュータに、
生成したプリンタキューと、ユーザインタフェースとを対応づける第１の設定工程と、
前記生成したプリンタキューの属性情報として、前記ユーザインタフェースを起動する設定を設定する第２の設定工程と、
を実行させることを特徴とするインストーラプログラム。
【請求項１４】
請求項１乃至１２のいずれか１項に記載のデバイス制御プログラムを記憶した、コンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス制御プログラムと、前記デバイス制御プログラムをインストールするインストーラプログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
一般的に、コンピュータからＦＡＸデバイスに対してＦＡＸ送信を指示するためのソフトウェアとしてＦＡＸドライバというソフトウェアが知られている。コンピュータには基本ソフトウェアであるオペレーティングシステム（ＯＳ）がインストールされており、ＦＡＸドライバはＯＳが規定するプリンタドライバの仕様に従って設計される。一般的なプリンタドライバとＦＡＸドライバの違いは、ＦＡＸドライバには、ＦＡＸ送信の宛先情報（通常はＦＡＸ番号）の入力が必須となる点が挙げられる。ユーザはＦＡＸ送信したいデータを一般のアプリケーションで作成し、そのアプリケーションで印刷操作を行ってＦＡＸドライバを指定する。これによりＦＡＸの宛先入力画面が表示され、ユーザは、その宛先入力画面を介して宛先情報を入力して印刷指示を行う。これによりＦＡＸドライバは、その入力された宛先に送信する送信データを作成してＦＡＸ送信を行うようにＦＡＸデバイスを制御する。
【０００３】
ＯＳとしてＭｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ（登録商標）８より前のバージョンを利用する場合は、Ｖ３プリンタドライバと呼ばれるアーキテクチャが使用される。またＷｉｎｄｏｗｓ８以降のバージョンを利用する場合は、Ｖ４プリンタドライバと呼ばれるアーキテクチャも使用できる。このＶ４プリンタドライバは、Ｖ３プリンタドライバに比べてセキュリティ性が重視されているため、プリンタドライバそのもののカスタマイズ性は低下している。その例としてＶ４プリンタドライバは、印刷指示がなされた後に任意のユーザインタフェース（ＵＩ）を起動することができない。このようなカスタマイズ性の低下を補うため、デバイスを提供するベンダは、プリンタドライバの機能を補助するための専用のアプリケーションを提供することができる。このアプリケーションはＷｉｎｄｏｗｓ  Ｓｔｏｒｅ  Ｄｅｖｉｃｅ  Ａｐｐ（ＷＳＤＡ）と呼ばれる。デバイスを提供するベンダは、このＷＳＤＡを提供することにより、印刷設定画面などのカスタマイズを行い、任意のＵＩを表示することができる（特許文献１）。
【０００４】
Ｖ４プリンタドライバのアーキテクチャに対応するＦＡＸドライバでは、このＷＳＤＡを使用することにより、ユーザが宛先情報を入力することができる。またＶ４プリンタドライバでは、ジョブごとの印刷設定項目を、ＰｒｉｎｔＴｉｃｋｅｔと呼ばれるＸＭＬ形式のフォーマットで扱うことが規定されている。そして、ＦＡＸドライバで入力された宛先情報も、このＰｒｉｎｔＴｉｃｋｅｔ形式の中に埋め込まれる形で、ＷＳＤＡからＶ４プリンタドライバへ伝達される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−３３０５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ジョブごとの印刷設定ファイルを用いてＰｒｉｎｔＴｉｃｋｅｔに宛先情報を格納すると、印刷設定に含まれる宛先情報が印刷元のアプリケーションに伝わってしまう虞がある。この場合、印刷元のアプリケーションの作りによっては、そのアプリケーションのユーザデータに宛先情報が埋め込まれて宛先情報が流出してしまう可能性がある。従って、Ｖ４プリンタドライバのアーキテクチャでＦＡＸドライバを構成する際、アプリケーションの作りによらず、個人情報となりうる宛先情報が流出しないようにしなければならない。
【０００７】
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
【０００８】
本発明の目的は、入力された宛先情報が、アプリケーションに伝わらないようにする技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係るデバイス制御プログラムは以下のような構成を備える。即ち、
アプリケーションで生成された描画データに基づく送信データを生成するドライバプログラムと、前記ドライバプログラムに関連付けられた拡張アプリケーションプログラムとを含むデバイス制御プログラムであって、
前記拡張アプリケーションプログラムは、コンピュータに、
前記ドライバプログラムを用いた出力処理を行うユーザの指示に従って、受信側機器の宛先情報をユーザに入力させる入力画面を表示する表示工程と、
前記入力画面を介して入力された前記宛先情報をメモリに保存する保存工程と、
前記メモリに保存された前記宛先情報を前記ドライバプログラムに送信する印刷設定ファイルに格納する格納工程と、を実行させ、
前記ドライバプログラムは、前記コンピュータに、
前記アプリケーションで生成された描画データと前記拡張アプリケーションプログラムから送信された前記宛先情報が格納された前記印刷設定ファイルとに基づいて、前記受信側機器に送信する送信データと、前記受信側機器の宛先情報を含むジョブを生成して送信する送信工程を実行させ、
前記拡張アプリケーションプログラムは、前記アプリケーションからアクセス可能な印刷設定ファイルには、前記入力画面を介して設定された宛先情報を、含めないよう制御することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、入力された宛先情報がアプリケーションに伝わることがなくなるため、アプリケーションの作りによらず、宛先情報がアプリケーションデータと共に流出するのを防ぐことができる。
【００１１】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１２】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態１に係るＦＡＸシステムの構成図。
【図２】実施形態１に係るコンピュータの機能構成と、印刷に関わるデータフローを説明する図。
【図３】実施形態１に係る印刷拡張アプリで表示される印刷設定ＵＩの一例を示す図。
【図４】実施形態１に係る印刷拡張アプリの印刷時ＵＩの一例を示す図。
【図５】実施形態１に係る印刷設定のＰｒｉｎｔＴｉｃｋｅｔの一例を示す図。
【図６】実施形態１に係る宛先情報のＰｒｉｎｔＴｉｃｋｅｔの一例を示す図。
【図７】実施形態１に係る印刷拡張アプリのバックグラウンドタスクによる処理を説明するフローチャート。
【図８】実施形態１に係る印刷拡張アプリの印刷時ＵＩによる処理を説明するフローチャート。
【図９】実施形態１に係るＦＡＸドライバによる処理を説明するフローチャート。
【図１０】実施形態２に係る印刷実行時のＯＳによる処理を説明するフローチャート。
【図１１】実施形態２に係るＦＡＸドライバのインストーラによる処理を説明するフローチャート。
【図１２】実施形態２に係るＦＡＸドライバによる処理を説明するフローチャート。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでするものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、以下に説明する実施形態では、本発明に係るデバイス制御プログラムの一例を印刷拡張アプリ（拡張アプリケーションプログラム）２００を例に説明し、また通信装置の一例をコンピュータ１００を例に説明する。
【００１４】
［実施形態１］
図１は、本発明の実施形態１に係るＦＡＸシステムの構成図である。
【００１５】
このシステムは、コンピュータ１００、送信側のＦＡＸ装置１２１、及び、受信側機器であるＦＡＸ装置１２２とを含んでいる。コンピュータ１００とＦＡＸ装置１２１との間はネットワークで接続されている。図１はネットワーク接続について記載した例となっているが、ＵＳＢ接続など他の接続形態でも構わない。またネットワーク接続に関してもＴＣＰ／ＩＰ接続やＷＳＤ接続やＩＰＰ接続など、どのような接続形態でも構わない。送信側のＦＡＸ装置１２１と受信側のＦＡＸ装置１２２との間はＦＡＸ回線によって接続されている。ＦＡＸ回線にはＧ３回線やＧ４回線などの種類があるが、互いにＦＡＸを送受信できる関係であればどのような回線でも構わない。
【００１６】
コンピュータ１００は、ＣＰＵ１１１とメモリ１１２を有する制御部１０１が、コンピ１００全体を制御している。表示部１０２はディスプレイなどの表示装置、操作部１０３はポインティングデバイスやキーボードなどの入力装置を示す。また記憶部１０４には、ＯＳ（オペレーティングシステム）１０７、各種アプリ（アプリケーション）１０５、及びＦＡＸドライバ（ドライバプログラム）１０６などのソフトウェアが保存されている。それらのプログラムは必要に応じてメモリ１１２にロードされ、ＣＰＵ１１１によって実行される。ＯＳ１０７は、コンピュータ１００の基本動作を司るソフトウェアである。ネットワーク通信部１２０は、ネットワークに接続して外部装置とのデータの入出力を行う。後述のフローチャートで示す実施形態に係る処理は、ＣＰＵ１１１が、記憶部１０４に記憶されたソフトウェアを制御部１０１のメモリ１１２に展開し、その展開したプログラムをＣＰＵ１１１が実行することによって実現される。尚、ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。
【００１７】
図２は、実施形態１に係るコンピュータ１００の機能構成と、印刷に関わるデータフローを説明する図である。ここでは、コンピュータ１００で動作する印刷元アプリ１０５からＦＡＸドライバ１０６を経由してＦＡＸ装置１２１にＦＡＸ送信を行わせるまでのデータフローが図示されている。
【００１８】
印刷元アプリ１０５は、コンピュータ１００にインストールされている任意のアプリケーションである。印刷元アプリ１０５は、印刷機能を持っていることを前提としており、任意のユーザデータを任意のプリンタキューに対して出力する機能を有している。プリンタキューとは、インストールされているプリンタドライバの個々のインスタンスのことである。一般的に一つのプリンタキューは、一つの物理デバイスと一対一で対応している。実施形態１では、印刷元アプリ１０５は、ＵＷＰ（Ｕｎｉｖｅｒｓａｌ  Ｗｉｎｄｏｗｓ  Ｐｌａｔｆｏｒｍ）アプリケーションと呼ばれる形式のアプリケーションである例で説明する。
【００１９】
ユーザが、印刷元アプリ１０５から出力処理を指示すると、ＯＳ１０７の機能である不図示のＭＰＤ（Ｍｏｄｅｒｎ  Ｐｒｉｎｔ  Ｄｉａｌｏｇ）により所定の画面が表示される。このＭＰＤにより提供される画面は、印刷結果を画面上で確認できる印刷プレビュー機能と、基本的な印刷設定をユーザが選択可能な機能とを有する。ユーザは、このＯＳ１０７のＭＰＤにより、印刷プレビューを見ながら、基本的な印刷設定を変更することができる。更にＭＰＤにおいて、ユーザは使用するドライバを選択することもできる。実施形態１では、ユーザがＦＡＸドライバ１０６を選択した場合で説明する。
【００２０】
ＦＡＸドライバ１０６はプリンタドライバの一種であり、基本的な機能はプリンタドライバと同等である。プリンタドライバは、接続された印刷装置に対して印刷データの印刷を指示するのに対して、ＦＡＸドライバ１０６は、接続されたＦＡＸ装置１２１に対して、印刷データを他のＦＡＸ装置１２２へＦＡＸ送信するように指示する。ＦＡＸ装置１２１は、ＦＡＸドライバ１０６からのＦＡＸ送信指示に応答して、指定された宛先にＦＡＸ送信を行う。この際、ＦＡＸ装置１２１からは印刷物は出力されない。ＦＡＸドライバ１０６は、必ず宛先情報をＦＡＸ装置１２１に伝える点が、プリンタドライバとの相違点である。実施形態１に係るＦＡＸドライバ１０６は、ＯＳ１０７としてＭｉｃｒｏｓｏｆｔのＷｉｎｄｏｗｓ８以降のＯＳを搭載したコンピュータ１００におけるＶ４プリンタドライバと呼ばれるアーキテクチャであることを前提とする。
【００２１】
印刷拡張アプリ２００は、ＦＡＸドライバ１０６に予め関連付けてインストールされている特殊なアプリケーションであり、Ｗｉｎｄｏｗｓ  Ｓｔｏｒｅ  Ｄｅｖｉｃｅ  Ａｐｐｌｉｃａｔｉｏｎ（以降、ＷＳＤＡ）と呼ばれている。前述のＯＳ１０７の機能であるＭＰＤでは、ユーザは基本的な印刷設定しか変更できないが、印刷拡張アプリ２００を使用することで、より詳細な印刷設定を行うことができる。なお、印刷アプリ２００は、ＦＡＸドライバ１０６と関連付けられてはいるが、独立したアプリケーションプログラムである。従って、印刷アプリ２００と、ＦＡＸドライバ１０６のプログラムがＣＰＵ１１１によって実行される際には別のプロセスとして起動することになる。
【００２２】
具体的には、ＭＰＤのＵＩ（ユーザインタフェース）の「その他の設定」ボタンが押下されると、ＯＳ１０７によって印刷拡張アプリ２００の持つ印刷設定ＵＩ２０１が表示される。印刷拡張アプリ２００は、一般的にプリンタを提供するベンダが提供するプリンタドライバの機能を拡張するためのアプリケーションである。印刷拡張アプリ２００の印刷設定ＵＩ２０１は、ＭＰＤから印刷設定を示す情報を受け取り、ユーザ操作に応じてその設定情報を変更し、ＭＰＤに返却する。ここで、印刷設定を示す情報は、ＯＳ１０７が定義する書式に基づきＸＭＬ形式で記述されたものであり、ＰｒｉｎｔＴｉｃｋｅｔと呼ばれるデータ内に含まれる。印刷拡張アプリ２００の印刷設定ＵＩ２０１は、ＰｒｉｎｔＴｉｃｋｅｔを参照及び変更することができるが、描画データ（紙面上に画像を印刷する基になる画像データやテキスト情報等）を参照する事はできない。また、印刷拡張アプリ２００の印刷設定ＵＩ２０１は、ＭＰＤが提供する印刷設定画面上でユーザが「その他の設定」ボタンを押下した時にのみ起動されるものであって、印刷設定時に必ず起動されるわけではない。
【００２３】
印刷拡張アプリ２００の印刷設定ＵＩ２０１で詳細印刷設定が指定された後に、ＯＳ１０７のＭＰＤが提供する設定画面で「印刷」ボタンが押下されると、ＭＰＤによる印刷要求が発行される。このＭＰＤ上でユーザにより印刷が指示されると、ＭＰＤからの要求を受け、印刷元アプリ１０５は、印刷に必要な印刷データを生成する。この印刷データはＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以降、ＸＰＳ）という書式で記述されたＸＰＳ文書に格納される。このＸＰＳ文書には、印刷データと、前述のＰｒｉｎｔＴｉｃｋｅｔとの両方が格納されているが、実施形態１では、印刷元アプリ１０５により生成された描画データを印刷データと呼び、ＰｒｉｎｔＴｉｃｋｅｔとは分けて表現する。
【００２４】
印刷元アプリ１０５が生成したＰｒｉｎｔＴｉｃｋｅｔと印刷データは、ＯＳ１０７によって、再度、印刷拡張アプリ２００に渡される。実際には、ＯＳ１０７は、印刷拡張アプリ２００に渡すか渡さないかの判断を行うが、この判断の詳細は、図１０を参照して後述する。ＰｒｉｎｔＴｉｃｋｅｔと印刷データは、印刷拡張アプリ２００のバックグラウンドタスク２０３に渡される。バックグラウンドタスク２０３が受信したＰｒｉｎｔＴｉｃｋｅｔは、印刷時ＵＩ２０２に渡される。実際には、印刷時ＵＩ２０２を起動するかどうかをバックグラウンドタスク２０３が判断するが、この判断の詳細は別途図７を参照して後述する。
【００２５】
印刷拡張アプリ２００が有するバックグラウンドタスク２０３と印刷時ＵＩ２０２は、合わせてＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐと呼ばれている。Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐは、印刷拡張アプリ２００の持つ機能の名称であり、一般的には、印刷実行後の印刷設定や、印刷データの編集が可能である。印刷時ＵＩ２０２によってＭＰＤ上の印刷指示がなされた後に任意のＵＩを表示することができ、バックグラウンドタスク２０３は、そのＵＩで指定された設定に基づいてＰｒｉｎｔＴｉｃｋｅｔ及び印刷データを編集できる。実施形態１に係る印刷時ＵＩ２０２は、ＦＡＸの宛先情報が入力可能である。入力された宛先情報はバックグラウンドタスク２０３によってＰｒｉｎｔＴｉｃｋｅｔに埋め込まれる。バックグラウンドタスク２０３が編集したＰｒｉｎｔＴｉｋｃｅｔと、印刷元アプリ１０５によって生成された印刷データは、ＯＳ１０７によってスプールファイルとしてＦＡＸドライバ１０６に渡される。
【００２６】
ＦＡＸドライバ１０６は、ＰｒｉｎｔＴｉｃｋｅｔと印刷データを取得すると、それをＦＡＸ装置１２１が解釈できるコマンドに変換する。具体的には、印刷データをラスタライズし、グレースケール変換や中間調処理を行い、ＦＡＸ装置１２１が解釈できるＭＭＲ形式に圧縮する。更にＦＡＸドライバ１０６は、ＰｒｉｎｔＴｉｃｋｅｔの宛先情報もＦＡＸ装置１２１が解釈できる形式に変換し、ＭＭＲ形式の印刷データに付与してＰＤＬデータとしてＦＡＸ装置１２１に送信する。ＦＡＸ装置１２１は、受信したＰＤＬデータを解釈し、ＭＭＲ形式の印刷データを、指定された宛先に対してＦＡＸ送信する。
【００２７】
図２では、それぞれのデータの流れに対して、宛先情報を含まないデータの流れと、宛先情報を含むデータの流れとを区別して示している。印刷元アプリ１０５に対して入出力されるデータは、全て宛先情報を含まない。宛先情報を含むデータは、ＭＰＤの「印刷」ボタンが押下された後、印刷時ＵＩ２０２が起動された後のデータのみである。このようなデータの流れを作ることで、印刷元アプリ１０５に宛先情報が渡らないようにすることができる。
【００２８】
続いて、図３と図４を参照して、印刷拡張アプリ２００が有するＵＩについて説明する。
【００２９】
図３は、実施形態１に係る印刷拡張アプリ２００で表示される印刷設定ＵＩ２０１の一例を示す図である。
【００３０】
実施形態１に係る印刷設定ＵＩ２０１は、原稿サイズ、印刷の向き、解像度の指定が可能である。右下のＯＫボタン３０１が押下されると、前述のＭＰＤの印刷設定画面に戻る。尚、ＭＰＤに比べて詳細な設定を行えるのが、実施形態１に係る印刷拡張アプリ２００の印刷設定ＵＩ２０１の特徴である。よって、図３に示す画面よりも、より多くの多彩な印刷設定（カバーシートの設定やレイアウト指定など）を行えるようにしても構わない。但し、実施形態１に係る印刷設定ＵＩ２０１では、ＦＡＸ送信先である宛先情報の入力は受け付けない。
【００３１】
一般的に、印刷拡張アプリ２００の印刷設定ＵＩ２０１で編集したＰｒｉｎｔＴｉｃｋｅｔは、印刷元アプリ１０５に渡ってしまう可能性がある。印刷元アプリ１０５に渡ってしまったＰｒｉｎｔＴｉｃｋｅｔは、次回の印刷時に再利用されることがあり、ＦＡＸ送信の場合には、誤送信が生じる虞がある。また、宛先情報が印刷設定と共に印刷元アプリ１０５のユーザデータに格納されてしまう虞もある。宛先情報は個人情報となり得るため、一般的な印刷設定と異なり、ユーザデータに格納されることは避けるべきである。よって実施形態１では、印刷設定ＵＩ２０１で宛先情報の入力を行わせないことで、アプリケーションからアクセス可能な印刷設定ファイルに宛先情報が格納されることを防ぐことができるという効果がある。
【００３２】
図４は、実施形態１に係る印刷拡張アプリ２００の印刷時ＵＩ２０２の一例を示す図である。
【００３３】
前述の印刷設定ＵＩ２０１で宛先情報を入力できない代わりに、印刷時ＵＩ２０２において宛先情報を入力できるようにしている。ユーザは、印刷時ＵＩ２０２の「追加（＋マーク）」ボタン４０１を押下することで、ＦＡＸ送信を行いたい任意の宛先情報を入力することができる。ここで宛先情報は複数入力することができ、同じ印刷データを複数の宛先に同報で送信することができる。複数の宛先にＦＡＸ送信することを同報送信と呼ぶ。
【００３４】
また実施形態１では、図示していないが、アドレス帳機能を搭載することで、予めアドレス帳に登録された宛先を簡単に宛先情報として追加することも可能である。印刷時ＵＩ２０２では他に、「編集（鉛筆マーク）」ボタン４０２を押下することで、入力済みの宛先情報を編集することができる。また「削除（ゴミ箱マーク）」ボタン４０３を押下することで、入力済みの宛先情報を削除することもできる。印刷時ＵＩ２０２で入力された宛先情報は、別途、バックグラウンドタスク２０３によってＰｒｉｎｔＴｉｃｋｅｔに反映される。尚、印刷時ＵＩ２０２は、よりシンプルに、例えば、宛先となるＦＡＸ番号を直接入力するだけのＵＩであってもよい。このＵＩを介してユーザが宛先を入力した後、右下の「送信」ボタン４０４を押すとＦＡＸ装置１２１からＦＡＸ送信が行われる。一方、ユーザが「キャンセル」ボタン４０５を押すと、このＦＡＸジョブはキャンセルされる。また、印刷時ＵＩ２０２は、更に、印刷設定ＵＩ２０１では入力できない、その他の宛先情報を入力することもできる。具体的には、Ｆａｘ送信におけるジョブの終了通知を受信する連絡先メールアドレスなどを印刷時ＵＩ２０２から設定することができる。
【００３５】
次に、図５と図６を参照して、印刷拡張アプリ２００が編集するＰｒｉｎｔＴｉｃｋｅｔについて説明する。
【００３６】
図５は、実施形態１に係る印刷設定ファイルのＰｒｉｎｔＴｉｃｋｅｔの一例を示す図である。ここでは、図３に示す印刷設定ＵＩ２０１で指定された印刷設定を基に、印刷拡張アプリ２００が生成したＰｒｉｎｔＴｉｃｋｅｔの例を示している。
【００３７】
印刷設定ＵＩ２０１における原稿サイズ（図３では「Ａ４」）に該当するのがＦｅａｔｕｒｅとして登録されている「ＰａｇｅＭｅｄｉａＳｉｚｅ」５０１である。同様に、印刷設定ＵＩ２０１における印刷の向き（図３では「縦」）と解像度（図３では「ファイン」）に該当するのが、Ｆｅａｔｕｒｅとして登録されている「ＰａｇｅＯｒｉｅｎｔａｔｉｏｎ」５０２と、「ＰａｇｅＲｅｓｏｌｕｔｉｏｎ」５０３である。このように、印刷設定ＵＩ２０１で指定された印刷設定は、それぞれＰｒｉｎｔＴｉｃｋｅｔに登録されて伝達される。尚、ＦＡＸの送信先を示す宛先情報は、図５のＰｒｉｎｔＴｉｃｋｅｔに含まれていない点が、この実施形態１の特徴である。
【００３８】
図６は、実施形態１に係る宛先情報のＰｒｉｎｔＴｉｃｋｅｔの一例を示す図である。これは図４に示す印刷時ＵＩ２０２で入力された宛先情報を基に、印刷拡張アプリ２００が生成したＰｒｉｎｔＴｉｃｋｅｔの一例を示している。
【００３９】
図４の印刷時ＵＩ２０２で入力された宛先情報（電話番号）は、Ｐｒｏｐｅｒｔｙ情報の「ＦａｘＮｕｍｂｅｒ」６０１としてＰｒｉｎｔＴｉｃｋｅｔに格納される。宛先情報が含まれるＰｒｉｎｔＴｉｃｋｅｔは、印刷拡張アプリ２００の印刷時ＵＩ２０２を表示した後のデータフローにのみ存在する点が、実施形態１の特徴である。
【００４０】
次に、図７〜図９のフローチャートを参照して、実施形態１に係る印刷拡張アプリ２００のＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐ及びＦＡＸドライバ１０６の処理について説明する。Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐは前述したように、バックグラウンドタスク２０３と印刷時ＵＩ２０２とを有しているため、それぞれ別のフローチャートで説明する。尚、実施形態１の処理フローは、すべて記憶部１０４に保存されたソフトウェアがメモリ１１２に展開され、ＣＰＵ１１１によって実行されることにより実現される。よって、以下のフローチャートの説明では、各処理ステップの処理の主体をＣＰＵ１１１として説明する。
【００４１】
図７は、実施形態１に係る印刷拡張アプリ２００のバックグラウンドタスク２０３による処理を説明するフローチャートである。
【００４２】
このバックグラウンドタスク２０３は、ＭＰＤの「印刷」ボタンが押下されることにより起動される。バックグラウンドタスク２０３が起動すると、まずＳ７０１でＣＰＵ１１１は、今回の印刷処理における印刷設定情報であるＰｒｉｎｔＴｉｃｋｅｔを取得する。次にＳ７０２に進みＣＰＵ１１１は、その取得したＰｒｉｎｔＴｉｃｋｅｔの妥当性を検証する。これはまれに印刷元アプリ１０５から不正なＰｒｉｎｔＴｉｃｋｅｔが届いたり、ＰｒｉｎｔＴｉｃｋｅｔが空だったりすることがあるためである。ここで妥当でないと判定すると、そのまま処理を終了する。
【００４３】
Ｓ７０２でＣＰＵ１１１は、ＰｒｉｎｔＴｉｃｋｅｔが妥当であると判定するとＳ７０３に進みＣＰＵ１１１は、そのＰｒｉｎｔＴｉｃｋｅｔのＰｒｏｐｅｒｔｙに宛先情報が入っているかどうかを判定する。通常、この段階で宛先情報が入っていることはないが、何らかの理由により宛先情報が入っているときはＳ７０４に進みＣＰＵ１１１は、その宛先情報を削除してＳ７０５に進む。一方、宛先情報が入っていないときもＳ７０５に進む。
【００４４】
Ｓ７０５でＣＰＵ１１１は、ＯＳ１０７に対して、印刷時ＵＩ２０２を起動するように伝える。尚、Ｓ７０３で宛先情報がＰｒｉｎｔＴｉｃｋｅｔに入っているときは、ＯＳ１０７に対して印刷時ＵＩ２０２を起動しないように伝えるようにしてもよい。
【００４５】
実施形態１では、ＭＰＤの「印刷」ボタンの押下後に、必ず印刷時ＵＩ２０２を表示することでＦＡＸの誤送信を防ぐことを目的としているために、無条件にＳ７０５で印刷時ＵＩ２０２を起動するようにＯＳ１０７に伝えている。そしてＳ７０６に進みＣＰＵ１１１は、印刷時ＵＩ２０２がクローズされるのを待ってＳ７０７に進む。Ｓ７０７でＣＰＵ１１１は、宛先情報が所定のメモリに保存されているかどうかを判定する。後述するが、印刷時ＵＩ２０２を介してユーザが入力した宛先情報は、全て、この所定のメモリに保存されている。このメモリは、印刷ジョブごとに確保されるため、他のジョブと競合することなく、ユーザが入力した宛先情報は、バックグラウンドタスク２０３により参照することができる。Ｓ７０７でＣＰＵ１１１は、そのメモリに宛先情報が保存されていると判定するとＳ７０８に進み、ＣＰＵ１１１は、その宛先情報をＰｒｉｎｔＴｉｃｋｅｔのＰｒｏｐｅｒｔｙ情報として格納して、この処理を終了する。このＳ７０８の処理が終了した後のＰｒｉｎｔＴｉｃｋｅｔは、ＯＳ１０７によってスプールファイルとしてＦＡＸドライバ１０６に渡される。
【００４６】
図８は、実施形態１に係る印刷拡張アプリ２００の印刷時ＵＩ２０２による処理を説明するフローチャートである。この処理は、図７のＳ７０５で、バックグラウンドタスク２０３によって印刷時ＵＩ２０２を起動するように伝えられると、ＯＳ１０７が印刷時ＵＩ２０２を起動することにより開始される。
【００４７】
まずＳ８０１で起動された印刷時ＵＩ２０２を実行するＣＰＵ１１１は、例えば図４に示すＵＩを表示して、ユーザにＦＡＸの送信先である宛先情報の入力を促す。次にＳ８０２でＣＰＵ１１１は、ユーザが「送信」ボタン４０４を押下したかどうか判定し、「送信」ボタン４０４が押下されたと判定したときはＳ８０３に進む。Ｓ８０３でＣＰＵ１１１は、そのＵＩで宛先情報が入力されているかどうかを判定し、宛先情報が入力されていないときは、その旨をユーザに通知してＳ８０２に進み、再度、「送信」ボタン４０４が押下されるのを待つ。
【００４８】
Ｓ８０３でＣＰＵ１１１１は、宛先情報が入力されていると判定した場合はＳ８０４に進み、そのＵＩで入力された宛先情報をすべて、前述の所定のメモリに保存する。前述したように、このメモリは、印刷ジョブごとに確保されるため、他のジョブと競合することなくユーザが入力した宛先情報を格納することができる。そしてＳ８０５に進みＣＰＵ１１１は、そのＵＩをクローズして、この処理を終了する。
【００４９】
一方、Ｓ８０２で「送信」ボタン４０４が押下されていないときはＳ８０６に進みＣＰＵ１１１は、「キャンセル」ボタン４０５が押下されたかどうか判定し、「キャンセル」ボタン４０５が押下されたと判定したときはＳＳ８０５に進む。Ｓ８０５でＣＰＵ１１１は、そのＵＩで宛先情報が入力されているかどうかに拘わらず、そのＵＩをクローズして、この処理を終了する。またＳ８０６でＣＰＵ１１１は、「キャンセル」ボタン４０５が押下されていないと判定したときはＳ８０２に進み、再度、「送信」ボタン４０４が押下されるのを待つ。
【００５０】
図９は、実施形態１に係るＦＡＸドライバ１０６による処理を説明するフローチャートである。このＦＡＸドライバ１０６は、バックグラウンドタスク２０３が終了した後にＯＳ１０７によって起動される。
【００５１】
ＦＡＸドライバ１０６が起動されるとまずＳ９０１でＣＰＵ１１１は、ＰｒｉｎｔＴｉｃｋｅｔと印刷データをスプールファイルから取得する。次にＳ９０２に進みＣＰＵ１１１は、ＰｒｉｎｔＴｉｃｋｅｔのＰｒｏｐｅｒｔｙ情報として宛先情報が存在するかどうか判定する。ここで宛先情報が存在すると判定したときはＳ９０３に進みＣＰＵ１１１は、ＰｒｉｎｔＴｉｃｋｅｔ、印刷データをＦＡＸ装置１２１が解釈できるＦＡＸコマンドに変換して、この処理を終了する。尚、このＦＡＸコマンドは、ＦＡＸ装置１２１が解釈できる形式であればどのようなものでも構わない。一方、Ｓ９０２でＣＰＵ１１１は、ＰｒｉｎｔＴｉｃｋｅｔに宛先情報が存在しないと判定したときは、何らかの理由でＭＰＤの「印刷」ボタン押下後に印刷時ＵＩ２０２が起動しなかった可能性があるためＳ９０４に進み、そのジョブをキャンセルして、この処理を終了する。
【００５２】
実施形態１に係るＦＡＸドライバ１０６は、印刷データをラスタライズしてグレースケースに変換し、中間調処理を施してからＭＭＲ圧縮を行う。更に、宛先情報をＦＡＸ装置１２１が解釈できる形式に変換し、ＭＭＲデータと結合してＦＡＸコマンドを生成する。こうしてＦＡＸドライバ１０６が生成したＦＡＸコマンドは、ＯＳ１０７によって接続先のＦＡＸ装置１２１に送られる。
【００５３】
ＦＡＸドライバ１０６からＦＡＸコマンドを受信したＦＡＸ装置１２１は、指定された宛先（ここでは受信側のＦＡＸ装置１２２の宛先）に対してＦＡＸ回線を通じてＦＡＸを送信する。
【００５４】
実施形態１に係るＦＡＸ送信に際しては、必ず印刷時ＵＩ２０２を表示するため、ユーザが意図しない宛先に誤ってＦＡＸを送信するのを防止できる。尚、ＦＡＸコマンドに変換された後、宛先情報を含むＰｒｉｎｔＴｉｃｋｅｔは、ＦＡＸドライバ１０６によって破棄される。
【００５５】
以上説明したように実施形態１によれば、印刷元アプリ１０５に送信宛先を示す宛先情報が伝わらないため、個人情報となり得る送信宛先の宛先情報が、アプリケーションデータと共に流出するのを防止できる。更に、印刷元アプリ１０５にジョブ終了通知の送信先である連絡先メールアドレスを示す宛先情報も伝わらないため、個人情報となりうるメールアドレスがアプリケーションデータと共に流出することを防止できる。また、印刷元アプリ１０５に送信宛先を示す宛先情報が伝わらないため、アプリケーションデータに基づくＦＡＸ送信する指示を再度受け付ける場合に、前回設定した宛先に誤送信が行われることを防止できる。
【００５６】
［実施形態２］
前述の実施形態１では、説明を簡略化するために、ＯＳ１０７が印刷時に必ずＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐを起動するものとして説明した。これに対して実施形態２では、実施形態１の処理に加え、ＯＳ１０７のＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐに関する実行ポリシーを考慮した処理を行う例で説明する。実施形態２の説明に入る前に、ＭＰＤで「印刷」ボタンが押下された後のＯＳ１０７の処理について図１０を参照して、もう少し詳細に説明する。尚、実施形態２に係るＦＡＸシステム、コンピュータ１００の構成等は前述の実施形態１と同様であるため、その説明を省略する。
【００５７】
図１０は、実施形態２に係る印刷実行時のＯＳ１０７による処理を説明するフローチャートである。
【００５８】
ＭＰＤで「印刷」ボタンが押下されるとＳ１００１でＣＰＵ１１１は、まずＭＰＤで指定されたプリンタキューのプリンタ名と、今回の印刷におけるＰｒｉｎｔＴｉｃｋｅｔと印刷データを取得する。次にＳ１００２に進みＣＰＵ１１１は、そのプリンタ名に該当するプリンタキューにおけるＷｏｒｋｆｌｏｗポリシーを取得する。このＷｏｒｋｆｌｏｗポリシーは、インストールされたプリンタドライバのプリンタキューごとに設定されている属性情報であり、ＯＳ１０７が管理している。Ｗｏｒｋｆｌｏｗポリシーは「ＯＮ」「ＯＦＦ」「Ｏｐｔｉｏｎａｌ」の３つのうちのいずれかの値を持つ。Ｓ１００３でＣＰＵ１１１は、Ｓ１００２で取得したＷｏｒｋｆｌｏｗポリシーが「ＯＮ」でも「Ｏｐｔｉｏｎａｌ」でもない場合はＳ１００６に進み、Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐを起動することなく、ＰｒｉｎｔＴｉｃｋｅｔと印刷データをプリンタドライバに渡して、この処理を終了する。尚、ここでは一般的なＯＳ１０７の挙動としてプリンタドライバと表現しているが、実施形態２では、ＦＡＸドライバ１０６のことを指している。
【００５９】
一方、Ｓ１００３で、Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」または「Ｏｐｔｉｏｎａｌ」である場合はＳ１００４に進みＣＰＵ１１１は、指定されたプリンタキューに対してＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐが関連づいているかどうかを判定する。前述したように、実施形態２においてＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐは、印刷拡張アプリ２００の一機能であるため、実際には指定されたプリンタキューに対して印刷拡張アプリ２００が関連づいているかどうかを判定する。ここで関連づいていると判定したときはＳ１００５に進みＣＰＵ１１１は、関連づいているＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐを起動し、ＰｒｉｎｔＴｉｃｋｅｔと印刷データを、そのＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐに渡す。その後、Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐのバックグラウンドタスク２０３が終了するとＳ１００６に進みＣＰＵ１１１は、バックグラウンドタスク２０３によって編集されたＰｒｉｎｔＴｉｃｋｅｔと印刷データを、該当するプリンタドライバに渡して、この処理を終了する。
【００６０】
一方、Ｓ１００４でＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐが関連づいていないと判定したときはＳ１００７に進みＣＰＵ１１１は、先ほど取得したＷｏｒｋｆｌｏｗポリシーが「ＯＮ」だったかどうか判定する。ここで「ＯＮ」であると判定したときはＳ１００８に進みＣＰＵ１１１は、そのジョブをキャンセルして、この処理を終了する。またＳ１００７でＣＰＵ１１１は、Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」でなかったとき、即ち、Ｗｏｒｋｆｌｏｗポリシーが「Ｏｐｔｉｏｎａｌ」であった場合はＳ１００６に進み、ジョブをキャンセルすることなくＰｒｉｎｔＴｉｃｋｅｔと印刷データをプリンタドライバに渡して、この処理を終了する。
【００６１】
以上の動きをまとめると以下のようになる。Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」の場合、プリンタドライバが起動されるときは必ずＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐを経由されていることをＯＳ１０７が保証する。またＷｏｒｋｆｌｏｗポリシーが「ＯＦＦ」の場合、プリンタが起動されるときは、必ずＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐを経由されていないことをＯＳ１０７が保証する。更に、Ｗｏｒｋｆｌｏｗポリシーが「Ｏｐｔｉｏｎａｌ」の場合、プリンタドライバが起動されるときは、Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐが関連づいている時のみＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐを経由されていることをＯＳ１０７が保証する。尚、プリンタドライバがインストールされた直後のデフォルトは「Ｏｐｔｉｏｎａｌ」である。このようにしてＯＳ１０７は、インストールされた全てのプリンタキューに対して、それぞれＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐを起動するかどうかをＷｏｒｋｆｌｏｗポリシーに基づいて制御することができる。
【００６２】
実施形態２に係るＦＡＸドライバ１０６は、ユーザが意図しない宛先にＦＡＸが送信されることを防ぐために、ＭＰＤの「印刷」ボタンが押された後に必ず印刷時ＵＩ２０２を起動させる必要がある。この場合、Ｗｏｒｋｆｌｏｗポリシーは「ＯＮ」であることが望ましい。「Ｏｐｔｉｏｎａｌ」でも、Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐが関連づいていれば必ず印刷時ＵＩ２０２は起動するが、関連づいていない場合にもＦＡＸドライバ１０６にジョブが渡ってしまう。Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」であれば、Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐが関連づいていない場合、ＯＳ１０７が、そのジョブをキャンセルする。ＯＳ１０７や印刷元アプリ１０５に対して明示的にキャンセルであることが伝わるため、その後の処理をＯＳ１０７や印刷元アプリ１０５に委ねることができる。
【００６３】
次に、Ｐｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐが関連づいていない場合に、ＦＡＸドライバ１０６がキャンセルする場合とＯＳ１０７がキャンセルする場合との違いについて説明する。
【００６４】
ＦＡＸドライバ１０６は、実行時にＵＩを出すことが禁止されているため、ＦＡＸドライバ１０６は印刷ジョブをキャンセルする場合にユーザにそれを伝えるのが難しい。そのため場合によっては、印刷ジョブがキャンセルされたことにユーザが気付かない可能性もある。一方、ＯＳ１０７がジョブをキャンセルする場合は、ＯＳ１０７が印刷元アプリ１０５にキャンセルを伝える仕組みがあるため、印刷元アプリ１０５の画面上で印刷がキャンセルされたことを明示的に伝えることができる。このため、同じジョブキャンセルでも、Ｗｏｒｋｆｌｏｗポリシーが「Ｏｐｔｉｏｎａｌ」の時のキャンセルよりも、Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」の時のキャンセルの方が望ましい。
【００６５】
実施形態２では、Ｗｏｒｋｆｌｏｗポリシーを「ＯＮ」にするために、ＦＡＸドライバ１０６のインストーラプログラムを用いる方法と、ＦＡＸドライバ１０６自身を用いる方法の２通りの方法について図１１と図１２を参照して説明する。実施の際にはどちらも実施しても構わないし、どちらか一方だけ実施しても構わない。尚、図１１と図１２に示すフローチャートで示す処理は、すべて記憶部１０４に保存されたソフトウェアがメモリ１１２に展開され、その展開されたプログラムがＣＰＵ１１１によって実行されることにより実現される。
【００６６】
図１１は、実施形態２に係るＦＡＸドライバ１０６のインストーラプログラムによる処理を説明するフローチャートである。
【００６７】
ユーザは、実施形態２に係るＦＡＸドライバ１０６を、ＯＳ１０７の機能によりインストールすることも可能だが、ＦＡＸドライバ１０６をインストールするための専用のインストーラプログラムを用いてインストールすることもできる。
【００６８】
ＦＡＸドライバ１０６のインストーラプログラムがユーザによって明示的に起動されると、そのインストーラプログラムを実行するＣＰＵ１１１はＳ１１０１で、インストーラプログラムのＵＩを表示する。そしてＳ１１０２に進みＣＰＵ１１１は、インストールするＦＡＸドライバ１０６のプリンタ名や接続されているポートの情報など、インストールに必要な情報のユーザ入力を受け付ける。尚、インストーラプログラムのＵＩについて既存のプリンタドライバのインストーラプログラムと特に変わるところがないため、その説明を割愛する。
【００６９】
そしてＣＰＵ１１１は、インストールに必要な情報が揃ったらＳ１１０３に進み、ＯＳ１０７のＡＰＩを使用して、ドライバのインストールを行う。これにより指定されたプリンタ名のプリンタキューがＯＳ１０７によって作成される。ここまでは既存のプリンタドライバのインストーラプログラムの動作と変わらない。次にＳ１１０４に進みＣＰＵ１１１は、作成されたプリンタキューのＷｏｒｋｆｌｏｗポリシーを「ＯＮ」にセットして、このインストーラプログラムの処理を終了する。インストール直後のＷｏｒｋｆｌｏｗポリシーのデフォルトは「Ｏｐｔｉｏｎａｌ」であるため、このＳ１１０４で、Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」に変更されることになる。
【００７０】
このように、ＦＡＸドライバ１０６のインストーラプログラムが、このフローチャートで示す処理を実行することにより、ユーザは最初にＦＡＸドライバ１０６を使う時からＷｏｒｋｆｌｏｗポリシーを「ＯＮ」の状態で使用することができる。
【００７１】
図１２は、実施形態２に係るＦＡＸドライバ１０６による処理を説明するフローチャートである。
【００７２】
前述の実施形態１では、図９を参照して、ＦＡＸドライバ１０６がＰｒｉｎｔＴｉｃｋｅｔと印刷データからＦＡＸ装置１２１が解釈できるＦＡＸコマンドに変換するところまでを説明した。実施形態２ではこれに加えて、Ｗｏｒｋｆｌｏｗポリシーを「ＯＮ」にセットする処理を追加する。それを示したのが図１２である。
【００７３】
ＦＡＸドライバ１０６が起動されるとまずＳ１２０１でＣＰＵ１１１は、ＰｒｉｎｔＴｉｃｋｅｔと印刷データを取得する。次にＳ１２０２に進みＣＰＵ１１１は、自身のＷｏｒｋｆｌｏｗポリシーの値をＯＳ１０７から取得する。そしてＳ１２０３に進みＣＰＵ１１１は、Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」かどうか判定し、「ＯＮ」であるときはＳ１２０４に進みＳ１２０４〜Ｓ１２０６で、前述の図９のＳ９０２〜Ｓ９０４と同じ処理を行う。
【００７４】
一方、Ｓ１２０３でＣＰＵ１１１は、Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」でない、即ち、「ＯＦＦ」や「Ｏｐｔｉｏｎａｌ」であると判定したときはＳ１２０７に進む。Ｓ１２０７でＣＰＵ１１１は、ＯＳ１０７のＡＰＩを用いて、自身のＷｏｒｋｆｌｏｗポリシーを「ＯＮ」にセットする。そしてＳ１２０８に進みＣＰＵ１１１は、今回のジョブをキャンセルして、この処理を終了する。
【００７５】
このような処理を加えることで、次回以降、ＦＡＸドライバ１０６が印刷ジョブを発行する場合、Ｗｏｒｋｆｌｏｗポリシーを常に「ＯＮ」であるように制御することができる。
【００７６】
尚、図１１の処理を実行するインストーラプログラムを用いてＦＡＸドライバ１０６をインストールした場合は、Ｗｏｒｋｆｌｏｗポリシーは常に「ＯＮ」である。但し、インストーラプログラムを用いずにＦＡＸドライバ１０６がインストールされた場合や、共有プリンタにおけるクライアント環境等の場合は、Ｗｏｒｋｆｌｏｗポリシーが「Ｏｐｔｉｏｎａｌ」のままインストールされていることもある。このような場合でも図１２の処理を実行するＦＡＸドライバ１０６により、Ｗｏｒｋｆｌｏｗポリシーを「ＯＮ」にセットすることで、より確実にＷｏｒｋｆｌｏｗポリシーが「ＯＮ」であることを保証することができる。
【００７７】
更に、Ｗｏｒｋｆｌｏｗポリシーが「ＯＮ」であることを確実にするために、印刷設定ＵＩ２０１の起動時に、Ｗｏｒｋｆｌｏｗポリシーを「ＯＮ」にする処理を行ってもよい。
【００７８】
以上、本発明の実施形態１，２について説明した。上述の実施形態１，２では、拡張ユーザインタフェースとしてＷＳＤＡのＰｒｉｎｔ  Ｗｏｒｋｆｌｏｗ  Ａｐｐを使用する例で説明したが、他の拡張ソフトウェアを用いても実現が可能である。
【００７９】
また実施形態１，２では説明を割愛したが、Ｖ４プリンタドライバのアーキテクチャの印刷設定ＵＩには、Ｐｒｉｎｔｅｒ  Ｅｘｔｅｎｓｉｏｎと呼ばれるアプリケーションも存在する。実施形態１，２において、印刷設定ＵＩ２０１として説明した部分の処理は、Ｐｒｉｎｔｅｒ  Ｅｘｔｅｎｓｉｏｎにおいても同等の処理が可能である。
【００８０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８１】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００８２】
１００…コンピュータ、１０２…表示部、１０３…操作部、１０５…アプリ、１０６…ＦＡＸドライバ、１０７…ＯＳ、１０５…印刷元アプリ、１１１…ＣＰＵ、１１２…メモリ、１２１，１２２…ＦＡＸ装置、２００…印刷拡張アプリ、２０１…印刷設定ＵＩ、２０２…印刷時ＵＩ
【図１】
2020027358.tif 000003
【図２】
2020027358.tif 000004
【図３】
2020027358.tif 000005
【図４】
2020027358.tif 000006
【図５】
2020027358.tif 000007
【図６】
2020027358.tif 000008
【図７】
2020027358.tif 000009
【図８】
2020027358.tif 000010
【図９】
2020027358.tif 000011
【図１０】
2020027358.tif 000012
【図１１】
2020027358.tif 000013
【図１２】
2020027358.tif 000014