(57)【要約】【課題】アプリケーションから印刷開始指示が出力された後も、印刷条件を変更することができる情報処理装置および印刷システムを提供する。【解決手段】クライアントＰＣ１００は、スプールファイル１０４に保持される印刷条件に基づいてスプールファイル１０４に保持される印刷内容から印刷データを生成する生成部１０５ｂと、アプリケーション１０２から印刷開始指示が出力された後、ＯＳ１０１を介して生成部１０５ｂから印刷条件を取得し、取得した印刷条件を変更してスプールファイル１０４に保持させる印刷設定部１０５ａと、を備える。【選択図】図２
2014029633.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムと、
印刷内容の印刷開始指示を前記オペレーティングシステムに出力し、前記印刷内容の印刷条件の設定を指示する設定指示を前記オペレーティングシステムに出力するアプリケーションと、
前記オペレーティングシステムを介して前記設定指示を受信した場合に、前記印刷条件を設定する設定部と、
前記アプリケーションから前記印刷開始指示が出力された場合に、前記印刷条件および前記印刷内容を一時的に記憶部に保持させる処理管理部と、
前記記憶部に保持される前記印刷条件に基づいて前記記憶部に保持される前記印刷内容から印刷データを生成する生成部と、を備え、
前記設定部は、前記アプリケーションから前記印刷開始指示が出力された場合に、前記オペレーティングシステムを介して前記生成部から前記印刷条件を取得し、前記取得した印刷条件を変更して前記記憶部に保持させる、
ことを特徴とする情報処理装置。
【請求項２】
前記生成部は、前記設定された印刷条件に基づいて、前記記憶部に保持される前記印刷内容から前記アプリケーションに依存しない形式の前記印刷データを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成部により生成された前記印刷データを、当該印刷データの印刷装置が処理可能な形式の印刷データに変換するドライバを有するサーバ装置に対して送信する送信部を備えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記設定部は、前記印刷開始指示が出力されて前記印刷データの印刷が開始された後、前記オペレーティングシステムを介して前記生成部から前記印刷条件を取得し、前記取得した印刷条件を変更することを特徴とする請求項１から３のいずれか一に記載の情報処理装置。
【請求項５】
前記設定部は、前記印刷条件の取得を指示する第１のエスケープシーケンスを前記オペレーティングシステムを介して前記生成部に送信するとともに、前記生成部から送信された前記印刷条件を取得し、
前記生成部は、前記オペレーティングシステムを介して前記設定部から受信した前記第１のエスケープシーケンスに従って、前記オペレーティングシステムを介して前記印刷条件を前記設定部に送信することを特徴とする請求項１から４のいずれか一に記載の情報処理装置。
【請求項６】
前記設定部は、変更した前記印刷条件を含み当該印刷条件の設定を指示する第２のエスケープシーケンスを前記スプーラを介して前記記憶部に保持させ、
前記生成部は、前記第２のエスケープシーケンスに含まれる前記印刷条件に基づいて前記印刷内容から前記印刷データを生成することを特徴とする請求項１から５のいずれか一に記載の情報処理装置。
【請求項７】
オペレーティングシステムと、印刷内容の印刷開始指示を前記オペレーティングシステムに出力し、前記印刷内容の印刷条件の設定を指示する設定指示を前記オペレーティングシステムに出力するアプリケーションと、前記オペレーティングシステムを介して前記設定指示を受信した場合に、前記印刷条件を設定する設定部と、前記アプリケーションから前記印刷開始指示が出力された場合に、前記印刷条件および前記印刷内容を一時的に記憶部に保持させる処理管理部と、前記記憶部に保持される前記印刷条件に基づいて前記記憶部に保持される前記印刷内容から印刷データを生成する生成部と、を備え、前記設定部は、前記アプリケーションから前記印刷開始指示が出力された場合に、前記オペレーティングシステムを介して前記生成部から前記印刷条件を取得し、前記取得した印刷条件を変更して前記記憶部に保持させる情報処理装置と、
前記生成部により生成された前記印刷データを印刷装置に送るサーバと、
を備えたことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および印刷システムに関する。
【背景技術】
【０００２】
特許文献１には、アプリケーションから印刷開始指示が出力された後に、印刷に関する印刷条件を確認するための確認画面を表示し、印刷条件を変更可能にすることにより、印刷条件を変更する前にアプリケーションから印刷開始指示が出力されてしまい、予め設定された印刷条件に従って印刷内容が印刷され、ユーザの意図とは異なる印刷条件で印刷されてしまうことを回避する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、印刷条件を設定する印刷設定部と、設定された印刷条件に基づいて印刷内容から印刷データを生成する生成部と、有するプリンタドライバを備えた印刷制御装置において、アプリケーションから出力された設定指示に応じて印刷設定部により印刷条件が設定された後、アプリケーションから印刷開始指示が出力された場合に、印刷内容を一時的にスプーリングファイルに記憶させ、当該スプーリングファイルから出力された印刷内容を生成部に渡すＥＭＦ（Enhanced  Meta  File）スプーリング等のスプーリングが実行される場合がある。スプーリングが実行された場合、印刷設定部はアプリケーションから出力されたデータ（設定指示）に従って動作するプロセスとなり、生成部はスプーリングファイルから出力されたデータ（印刷内容）に従って動作するプロセスとなる。つまり、印刷設定部と生成部とは、その動作に用いるデータの参照先が異なる。そのため、スプーリングが実行された場合、印刷設定部と生成部との間でデータを共有することができず、アプリケーションから印刷開始指示が出力された後は、印刷条件を変更することができない、という課題がある。
【０００４】
本発明は、上記に鑑みてなされたものであって、アプリケーションから印刷開始指示が出力された後も、印刷条件を変更することができる情報処理装置および印刷システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、オペレーティングシステムと、印刷内容の印刷開始指示を前記オペレーティングシステムに出力し、前記印刷内容の印刷条件の設定を指示する設定指示を前記オペレーティングシステムに出力するアプリケーションと、前記オペレーティングシステムを介して前記設定指示を受信した場合に、前記印刷条件を設定する設定部と、前記アプリケーションから前記印刷開始指示が出力された場合に、前記印刷条件および前記印刷内容を一時的に記憶部に保持させる処理管理部と、前記記憶部に保持される前記印刷条件に基づいて前記記憶部に保持される前記印刷内容から印刷データを生成する生成部と、を備え、前記設定部は、前記アプリケーションから前記印刷開始指示が出力された場合に、前記オペレーティングシステムを介して前記生成部から前記印刷条件を取得し、前記取得した印刷条件を変更して前記記憶部に保持させる、ことを特徴とする。
【０００６】
また、本発明は、オペレーティングシステムと、印刷内容の印刷開始指示を前記オペレーティングシステムに出力し、前記印刷内容の印刷条件の設定を指示する設定指示を前記オペレーティングシステムに出力するアプリケーションと、前記オペレーティングシステムを介して前記設定指示を受信した場合に、前記印刷条件を設定する設定部と、前記アプリケーションから前記印刷開始指示が出力された場合に、前記印刷条件および前記印刷内容を一時的に記憶部に保持させる処理管理部と、前記記憶部に保持される前記印刷条件に基づいて前記記憶部に保持される前記印刷内容から印刷データを生成する生成部と、を備え、前記設定部は、前記アプリケーションから前記印刷開始指示が出力された場合に、前記オペレーティングシステムを介して前記生成部から前記印刷条件を取得し、前記取得した印刷条件を変更して前記記憶部に保持させる情報処理装置と、前記生成部により生成された前記印刷データを印刷装置に送るサーバと、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、アプリケーションから印刷開始指示が出力された後、印刷条件を変更することができる、という効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施の形態にかかる印刷システムの構成を示すブロック図である。
【図２】図２は、第１の実施の形態にかかるクライアントＰＣの機能構成を示すブロック図である。
【図３】図３は、第１の実施の形態にかかるクライアントＰＣにおけるＥＭＦスプール時における一般的な処理の流れを示す図である。
【図４】図４は、第１の実施の形態のアプリケーションが使用するＷｉｎｄｏｗｓ（登録商標）  ＡＰＩの一例を示す図である。
【図５】図５は、第１の実施の形態のプリンタドライバが使用する関数の一例を示す図である。
【図６】図６は、第１の実施の形態のクライアントＰＣのアプリケーションとプリンタドライバとの間でのデータのやりとりを示すシーケンス図である。
【図７】図７は、第１の実施の形態にかかるクライアントＰＣにおいてアプリケーションからの指示に応じて実行される処理の流れを示すシーケンス図である。
【図８】図８は、第１の実施の形態にかかるクライアントＰＣの印刷設定部により表示されるポップアップ画面の一例を示す図である。
【図９】図９は、第１の実施の形態にかかるクライアントＰＣにおいてスプーラからのデータに基づいて実行される処理の流れを示すシーケンス図である。
【図１０】図１０は、第２の実施の形態にかかるクライアントＰＣおよびサーバＰＣの機能構成を示すブロック図である。
【図１１】図１１は、第２の実施の形態におけるクライアントＰＣおよびサーバＰＣにおけるＥＭＦスプール時における一般的な処理の流れを示す図である。
【図１２】図１２は、第３の実施の形態におけるクライアントＰＣおよびサーバＰＣにおけるＥＭＦスプール時における一般的な処理の流れを示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、情報処理装置および印刷システムの実施の形態を詳細に説明する。
【００１０】
（第１の実施の形態）
図１は、第１の実施の形態にかかる印刷システムの構成を示すブロック図である。本実施の形態にかかる印刷システム１は、図１に示すように、クライアントＰＣ（Personal  Computer）１００と、クライアントＰＣ１００において印刷内容から生成された印刷データをプリンタ３００に送信するサーバＰＣ２００と、クライアントＰＣ１００またはサーバＰＣ２００からの印刷データに従って用紙に画像を印刷するプリンタ３００とを、通信ネットワーク４００により接続したシステムである。通信ネットワーク４００としては、ＬＡＮ（Local  Area  Network）規格、シリアルケーブル、パラレルケーブル、ＵＳＢ（Universal  Serial  Bus）規格、ＩＥＥＥ（Institute  of  Electrical  and  Electronic  Engineers）１３９４規格など、有線、無線を問わず任意の通信ネットワークを用いることができる。
【００１１】
図２は、第１の実施の形態にかかるクライアントＰＣの機能構成を示すブロック図である。本実施の形態にかかるクライアントＰＣ１００は、図２に示すように、ＯＳ（Operating  System）１０１と、アプリケーション１０２と、スプーラ１０３と、スプールファイル１０４と、プリンタドライバ１０５と、を備えている。
【００１２】
ＯＳ１０１は、クライアントＰＣ１００全体の入出力デバイス等のハードウェアを制御する基本ソフトウェアである。ＯＳ１０１は、アプリケーション１０２から印刷開始を指示する印刷開始指示が出力された場合に、プリンタドライバ１０５の機能を利用して印刷を実行するために、プリンタドライバ１０５に対して種々の指示を行い、プリンタ３００を制御して印刷を実行させる。また、ＯＳ１０１は、アプリケーション１０２から印刷内容の印刷条件の設定を指示する印刷設定指示が出力された場合に、プリンタドライバ１０５に印刷条件の設定を実行させるために、プリンタドライバ１０５に対して必要な指示を行う。
【００１３】
アプリケーション１０２は、文書作成ソフトウェア、表計算ソフトウェア、画像編集ソフトウェア等の各種ソフトウェアにより実現される。そして、アプリケーション１０２は、ユーザの操作に従って文書や画像等の印刷内容を作成するとともに、作成した文書や画像等の印刷内容をＯＳ１０１に渡す。また、アプリケーション１０２は、作成した印刷内容の印刷開始を指示する印刷開始指示をＯＳ１０１に出力し、作成した印刷内容の印刷条件の設定を指示する印刷設定指示をＯＳ１０１に出力する。
【００１４】
スプーラ１０３は、アプリケーション１０２から印刷開始指示が出力された場合に、アプリケーション１０２により作成された印刷内容およびプリンタドライバ１０５により設定された印刷条件をスプールファイル１０４（記憶部）に一時的に保持させる処理管理部の一例である。
【００１５】
プリンタドライバ１０５は、印刷設定部１０５ａおよび生成部１０５ｂを有している。印刷設定部１０５ａは、ＯＳ１０１を介してアプリケーション１０２から印刷設定指示を受信した場合に、印刷条件を設定する。本実施形態では、印刷設定部１０５ａは、アプリケーション１０２から印刷設定指示を受信した場合に、図示しないディスプレイにＧＵＩ（Graphical  User  Interface）を表示させ、プリンタ３００に印刷内容の印刷を実行させる際に使用する印刷条件を設定する。より具体的には、印刷設定部１０５ａは、アプリケーション１０２から印刷開始指示が出力される前に当該アプリケーション１０２から出力される印刷設定指示に応じて印刷条件を設定する。
【００１６】
本実施形態では、印刷条件には、用紙サイズ、印刷方向、解像度、カラーなど、印刷内容から印刷データを生成する際に必要な印刷条件と、給紙トレイ、印刷部数、両面有無、ユーザのプリンタ利用権限認証用のＩＤおよびパスワードなど、プリンタ３００に送信して当該プリンタ３００の動作内容を指示するための印刷条件と、が含まれる。
【００１７】
また、印刷設定部１０５ａは、アプリケーション１０２から印刷開始指示が出力された場合に、ＯＳ１０１を介して生成部１０５ｂから印刷条件を取得し、取得した印刷条件を変更してスプールファイル１０４に保持させる。本実施形態では、印刷設定部１０５ａは、アプリケーション１０２から印刷開始指示が出力された後、ＯＳ１０１を介して生成部１０５ｂから印刷条件を取得し、取得した印刷条件が表示され当該印刷条件を変更するためのＧＵＩを図示しないディスプレイに表示させる。そして、印刷設定部１０５ａは、ＧＵＩの操作に応じて印刷条件を変更し、変更した印刷条件を、スプールファイル１０４に保持される印刷内容に反映させるため、印刷内容とともにスプールファイル１０４に保持させる。
【００１８】
本実施の形態では、印刷設定部１０５ａは、アプリケーション１０２から印刷開始指示が出力された後かつプリンタ３００における印刷処理が開始される前に、ＯＳ１０１を介して生成部１０５ｂから印刷条件を取得し、取得した印刷条件を変更しているが、これに限定するものではなく、印刷開始指示が出力されて印刷データの印刷が開始された後、ＯＳ１０１を介して生成部１０５ｂから印刷条件を取得し、取得した印刷条件を変更しても良い。これにより、複数ページの画像データ等を含む印刷データを印刷する際に、複数ページのうち一部のページの印刷が終了した後、他のページを印刷する際の印刷条件を変更することができる。
【００１９】
生成部１０５ｂは、印刷設定部１０５ａにより設定されスプールファイル１０４に保持される印刷条件に基づいて、スプールファイル１０４に保持される印刷内容から印刷データを生成する。言い換えると、生成部１０５ｂは、スプールファイル１０４に保持される印刷条件に基づいて、スプールファイル１０４に保持される印刷内容のデータをプリンタ３００において処理可能な印刷データに変換する。本実施形態では、生成部１０５ｂは、アプリケーション１０２から印刷開始指示が出力された後、スプールファイル１０４に保持される印刷条件に基づいて、スプールファイル１０４に保持される印刷内容からアプリケーション１０２に依存しない形式の中間データ（例えば、ＥＭＦデータ）に変換する。また、本実施形態では、生成部１０５ｂが、印刷内容をアプリケーション１０２に依存しない形式の中間データに変換しているが、プリンタ３００が処理可能な形式のデータ（例えば、ＲＡＷデータ）に変換しても良い。
【００２０】
図３は、第１の実施の形態にかかるクライアントＰＣにおけるＥＭＦスプール時における一般的な処理の流れを示す図である。ここで、ＥＭＦスプールとは、Ｗｉｎｄｏｗｓ（登録商標）における共通のデータ形式（プリンタ３００に非依存の形式）に変換した中間データを保持することを言う。なお、ＥＭＦスプールでは、時間のかかる処理がサーバＰＣ２００で行われるため、印刷開始指示後のアプリケーション１０２に制御が戻るまでの時間が短い。
【００２１】
アプリケーション１０２は、ユーザから印刷指示を受けて印刷開始指示を出力した後、印刷内容をＯＳ１０１のＧＤＩ（Graphics  Device  Interface）１０１ａに送る。ＧＤＩ１０１ａは、アプリケーション１０２からの印刷内容を取得する。そして、ＧＤＩ１０１ａは、取得した印刷内容を、プリンタドライバ１０５およびスプーラ１０３を介してスプールファイル１０４に保持させる。なお、プリンタドライバ１０５の印刷設定部１０５ａは、ＯＳ１０１を介してアプリケーション１０２から印刷設定指示を受信すると、印刷条件を設定するとともに、当該印刷条件を、スプーラ１０３を介してスプールファイル１０４に保持させる。
【００２２】
その後、プリントプロセッサ３０１が、スプールファイル１０４に保持される印刷内容に対して所定の画像処理を施して、ＧＤＩ１０１ａに送る。ＧＤＩ１０１ａは、所定の画像処理が施された印刷内容をプリンタドライバ１０５に送る。プリンタドライバ１０５の生成部１０５ｂは、スプールファイル１０４に保持される印刷条件に基づいて、所定の画像処理が施された印刷内容から印刷データを生成する。スプーラ１０３は、生成された印刷データをプリンタ３００に送る。
【００２３】
図４は、第１の実施の形態のアプリケーションが使用するＷｉｎｄｏｗｓ（登録商標）  ＡＰＩの一例を示す図である。Ｗｉｎｄｏｗｓ（登録商標）  ＡＰＩ（Application  Programming  Interface）は、CreateDC()関数で取得したデバイスコンテキストをコールするためのＡＰＩである。アプリケーション１０２は、図４に示すＷｉｎｄｏｗｓ（登録商標）  ＡＰＩであるExtEscape()関数を用いて、プリンタドライバ１０５にデータを出力したり、プリンタドライバ１０５からデータを受信したりする。なお、図４に示すExtEscape()関数の引数nEscapeには、Ｗｉｎｄｏｗｓ（登録商標）で規定されているコマンド（数値）を指定できるほか、ベンダー独自のコマンド（数値）を指定することができる。
【００２４】
図５は、第１の実施の形態のプリンタドライバが使用する関数の一例を示す図である。プリンタドライバ１０５は、図５に示すDrvEscape()関数を用いて、ＧＤＩ１０１ａを介して、アプリケーション１０２から出力されたデータを受信したり、アプリケーション１０２にデータを送信したりする。
【００２５】
図６は、第１の実施の形態のクライアントＰＣのアプリケーションとプリンタドライバとの間でのデータのやりとりを示すシーケンス図である。図６に示すように、アプリケーション１０２がExtEscape()関数をコールすると、ＧＤＩ１０１ａがプリンタドライバ１０５のDrvEscape()関数をコールする。これにより、アプリケーション１０２とプリンタドライバ１０５との間でのデータのやりとりが可能となる。また、本実施形態では、印刷設定部１０５ａがExtEscape()関数を独自のコマンドを指定して呼び出し、生成部１０５ｂがそのコマンドを解釈することにより、ＯＳ１０１を介して印刷設定部１０５ａと生成部１０５ｂとの間でのデータのやりとりが可能となる。
【００２６】
次に、図７および図８を用いて、アプリケーション１０２からの指示に応じて実行される処理の流れについて説明する。図７は、第１の実施の形態にかかるクライアントＰＣにおいてアプリケーションからの指示に応じて実行される処理の流れを示すシーケンス図である。図８は、第１の実施の形態にかかるクライアントＰＣの印刷設定部により表示されるポップアップ画面の一例を示す図である。
【００２７】
まず、アプリケーション１０２は、印刷開始指示に先立って、ＯＳ１０１を介して、印刷条件の設定を指示する印刷設定指示を印刷設定部１０５ａに対して出力する（ステップＳ７０１、ステップＳ７０２）。ＯＳ１０１を介してアプリケーション１０２から印刷設定指示を受信すると、印刷設定部１０５ａは、表示部（図示しない）に印刷設定画面（図示しない）を表示して、当該印刷設定画面において入力された印刷条件を生成部１０５ｂに対して設定する（ステップＳ７０３）。本実施形態では、印刷設定部１０５ａは、印刷設定画面において入力された印刷条件を、スプーラ１０３を介してスプールファイル１０４に保持させることにより、生成部１０５ｂに対して印刷条件を設定する。
【００２８】
次いで、アプリケーション１０２は、ＯＳ１０１に対して印刷開始を指示する印刷開始指示を出力する（ステップＳ７０４）。ＯＳ１０１は、アプリケーション１０２から印刷開始指示が出力されると、当該印刷開始指示を印刷設定部１０５ａに送る（ステップＳ７０５）。
【００２９】
印刷設定部１０５ａは、ＯＳ１０１を介してアプリケーション１０２から印刷開始指示を受信すると、ＯＳ１０１を介して印刷条件の取得を指示するEscapeコマンド（第１のエスケープシーケンス）を生成部１０５ｂに送信する（ステップＳ７０６）。本実施形態では、印刷設定部１０５ａは、ＯＳ１０１（ＧＤＩ１０１ａ）のExtEscape()関数を、独自のコマンド（印刷条件の取得を指示するコマンド）を指定して呼び出すことにより、ＯＳ１０１を介して生成部１０５ｂに対して印刷条件の取得を指示するEscapeコマンドを送信する。
【００３０】
ＯＳ１０１は、印刷設定部１０５ａから印刷条件の取得を指示するEscapeコマンドを受信すると、生成部１０５ｂに対して、印刷条件の取得を指示するEscapeコマンドを送信する（ステップＳ７０７）。本実施形態では、ＯＳ１０１（ＧＤＩ１０１ａ）は、生成部１０５ｂのDrvEscape()関数を、独自のコマンド（印刷条件の取得を指示するコマンド）を指定して呼び出すことにより、生成部１０５ｂに対して印刷条件の取得を指示するEscapeコマンドを送信する。
【００３１】
生成部１０５ｂは、ＯＳ１０１から印刷条件の取得を指示するEscapeコマンドを受信すると、受信したEscapeコマンドを解釈して、当該受信したEscapeコマンドに従って、ＯＳ１０１を介して印刷条件を印刷設定部１０５ａに送信する（ステップＳ７０８）。本実施形態では、生成部１０５ｂは、ＯＳ１０１により呼び出されたDrvEscape()関数のコマンドを解釈して、ＯＳ１０１を介して印刷条件を印刷設定部１０５ａに送信する。
【００３２】
印刷設定部１０５ａは、ＯＳ１０１を介して生成部１０５ｂから送信された印刷条件を取得する。そして、印刷設定部１０５ａは、取得した印刷条件に基づいて、印刷条件の設定を受け付けるためのポップアップ画面（図示しない）を表示部（図示しない）に表示させるとともに、当該ポップアップ画面で受け付けた印刷条件の設定に従って、取得した印刷条件を変更する（ステップＳ７０９）。
【００３３】
図８は、第１の実施の形態にかかるクライアントＰＣにおいて表示されるポップアップ画面の一例である。印刷設定部１０５ａは、図８に示すように、用紙サイズ８０２（Ａ４（２１０×２９７ｍｍ））、印刷方向８０３（タテ）、給紙トレイ８０４（自動トレイ選択）、解像度８０５（小さな字（２００×２００ｄｐｉ）など、生成部１０５ｂから取得した印刷条件が表示されたポップアップ画面８０１を表示部（図示しない）に表示させる。クライアントＰＣ１００のユーザは、ポップアップ画面８０１において、生成部１０５ｂに現在設定されている印刷条件を確認しながら、印刷条件を設定しなおすことができる。
【００３４】
図７に戻り、印刷設定部１０５ａは、印刷条件を変更すると、ＯＳ１０１に対して、変更された印刷条件を含み印刷条件の変更を指示するEscapeコマンド（第２のエスケープシーケンス）を送信する（ステップＳ７１０）。本実施形態では、印刷設定部１０５ａは、ＯＳ１０１のＧＤＩ１０１ａのExtEscape()関数を、独自のコマンド（印刷条件の変更を指示するコマンド）を指定して呼び出すことにより、ＯＳ１０１に対して印刷条件の変更を指示するEscapeコマンドを送信する。
【００３５】
ＯＳ１０１は、印刷設定部１０５ａから印刷条件の変更を指示するEscapeコマンドを受信すると、受信したEscapeコマンドをスプールファイル１０４に送信することにより、当該受信したEscapeコマンドをスプールファイル１０４に保持させる（ステップＳ７１１）。つまり、印刷設定部１０５ａは、ＯＳ１０１を介して生成部１０５ｂから取得した印刷条件を変更してスプールファイル１０４に保持させる。これにより、生成部１０５ｂは、スプールファイル１０４に保持される印刷内容から印刷データを生成する際に、変更された印刷条件を用いることができる。
【００３６】
アプリケーション１０２は、印刷開始指示をＯＳ１０１に対して出力した後、印刷内容を含む印刷命令をＯＳ１０１に対して送信する（ステップＳ７１２）。ＯＳ１０１は、アプリケーション１０２から出力された印刷命令を一時的にスプールファイル１０４に保持させる（ステップＳ７１３）。
【００３７】
次に、図９を用いて、スプーラ１０３からのデータに基づいて実行される処理の流れについて説明する。図９は、第１の実施の形態にかかるクライアントＰＣにおいてスプーラからのデータに基づいて実行される処理の流れを示すシーケンス図である。
【００３８】
アプリケーション１０２から出力された印刷命令がスプールファイル１０４に保持された後、ＯＳ１０１は、スプールファイル１０４から印刷命令を取り出す（ステップＳ９０１）。次いで、ＯＳ１０１は、生成部１０５ｂに対して印刷開始を指示する印刷開始指示を送信する（ステップＳ９０２）。生成部１０５ｂは、ＯＳ１０１から印刷開始指示を受信すると、スプーラ１０３に対して印刷開始指示を送信する（ステップＳ９０３）。
【００３９】
ＯＳ１０１は、スプーラ１０３を介してスプールファイル１０４から印刷条件を含むEscapeコマンドを読み出し、読み出したEscapeコマンドを生成部１０５ｂに送信する（ステップＳ９０４）。本実施形態では、ＯＳ１０１は、生成部１０５ｂのDrvEscape()関数を、独自のコマンド（印刷条件の保持を指示するコマンド）を指定して呼び出すことにより、生成部１０５ｂに対してEscapeコマンドを送信する。
【００４０】
生成部１０５ｂは、受信したEscapeコマンドを解釈して、当該受信したEscapeコマンドに含まれる印刷条件を保持する（ステップＳ９０５）。ここで、生成部１０５ｂにより保持される印刷条件は、ステップＳ７０４においてアプリケーション１０２から印刷開始指示が出力された際に印刷設定部１０５ａにより表示されたポップアップ画面８０１において変更された印刷条件である。よって、生成部１０５ｂは、保持する印刷条件に基づいて、印刷内容から印刷データを生成することにより、変更された印刷条件に従って印刷データを印刷することができる。
【００４１】
次いで、ＯＳ１０１は、生成部１０５ｂに対して、スプールファイル１０４から取り出した印刷命令を送信する（ステップＳ９０６）。生成部１０５ｂは、保持する印刷条件に基づいて、スプールファイル１０４から取り出した印刷命令に含まれる印刷内容から印刷データを生成するとともに、生成した印刷データをスプーラ１０３を介してプリンタ３００に送信することにより、印刷処理を実行する（ステップＳ９０７）。
【００４２】
その後、ＯＳ１０１は、印刷処理の終了を指示する印刷終了指示を生成部１０５ｂに送信する（ステップＳ９０８）。そして、生成部１０５ｂは、ＯＳ１０１から印刷終了指示を受けると、スプーラ１０３に対して印刷終了指示を送信することにより、印刷処理が終了する（ステップＳ９０９）。
【００４３】
このように本実施の形態にかかるクライアントＰＣ１００によれば、スプールファイル１０４に保持される印刷条件に基づいてスプールファイル１０４に保持される印刷内容から印刷データを生成する生成部１０５ｂと、アプリケーション１０２から印刷開始指示が出力された後、ＯＳ１０１を介して生成部１０５ｂから印刷条件を取得し、取得した印刷条件を変更してスプールファイル１０４に保持させる印刷設定部１０５ａと、を備えることにより、印刷設定部１０５ａと生成部１０５ｂとの間でデータを共有することができるので、アプリケーション１０２から印刷開始指示が出力された後、印刷条件を変更することができる。
【００４４】
（第２の実施の形態）
本実施の形態は、クライアントＰＣにおいて、生成部により生成された印刷データ（中間データ）を、当該印刷データを印刷するプリンタが処理可能な形式の印刷データに変換する例である。なお、以下の説明では、第１の実施の形態にかかる印刷システムと同様の構成については説明を省略する。
【００４５】
図１０は、第２の実施の形態にかかるクライアントＰＣおよびサーバＰＣの機能構成を示すブロック図である。本実施の形態にかかるクライアントＰＣ１００は、図１０に示すように、第１の実施の形態にかかるクライアントＰＣ１００と同様の構成を有している。ただし、本実施の形態では、生成部１０５ｂは、スプールファイル１０４に保持される印刷条件に基づいて、スプールファイル１０４に保持される印刷内容を、プリンタ３００が処理可能な形式のデータ（例えば、ＲＡＷデータ）に変換する。
【００４６】
本実施の形態にかかるサーバＰＣ２００は、プリンタドライバ２０１と、スプーラ２０２と、を備えている。プリンタドライバ２０１は、印刷設定部２０１ａおよび生成部２０１ｂを有している。そして、印刷設定部２０１ａおよび生成部２０１ｂは、クライアントＰＣ１００のプリンタドライバ１０５が有する印刷設定部１０５ａおよび生成部１０５ｂと同様の機能を有している。スプーラ２０２は、クライアントＰＣ１００のスプーラ１０３と同様の機能を有している。
【００４７】
図１１は、第２の実施の形態におけるクライアントＰＣおよびサーバＰＣにおけるＥＭＦスプール時における一般的な処理の流れを示す図である。アプリケーション１０２は、ユーザから印刷指示を受けて印刷開始指示を出力した後、印刷内容をＯＳ１０１のＧＤＩ１０１ａに送る。ＧＤＩ１０１ａは、アプリケーション１０２からの印刷内容を取得する。そして、ＧＤＩ１０１ａは、取得した印刷内容を、プリンタドライバ１０５に送る。プリンタドライバ１０５は、取得した印刷内容を中間データ（ＥＭＦデータ）に変換するとともに、中間データをスプーラ１０３に送る。スプーラ１０３は、中間データを、スプールファイル１０４に保持させる。なお、プリンタドライバ１０５の印刷設定部１０５ａは、ＯＳ１０１を介してアプリケーション１０２から印刷設定指示を受信すると、印刷条件を設定するとともに、当該印刷条件を、スプーラ１０３を介してスプールファイル１０４に保持させる。
【００４８】
その後、プリントプロセッサ３０１が、プリントプロバイダ（ネットワーク）およびプリントプロバイダ（ローカル）を介して、スプールファイル１０４に保持される中間データを取得し、当該中間データに対して所定の画像処理を施してＧＤＩ１０１ａに送る。ＧＤＩ１０１ａは、所定の画像処理を施した中間データをプリンタドライバ１０５に送る。プリンタドライバ１０５の生成部１０５ｂは、スプールファイル１０４に保持される印刷条件に基づいて、所定の画像処理を施した中間データから印刷データ（ＲＡＷデータ）を生成する。スプーラ１０３は、生成された印刷データを、プリントプロバイダ（ネットワーク）を介してサーバＰＣ２００に送る。なお、クライアントＰＣ１００において、アプリケーション１０２からの指示に応じて実行される処理およびスプーラ１０３からのデータに基づいて実行される処理の流れは、図７および図８に示す処理と同様である。
【００４９】
サーバＰＣ２００に送られた印刷データ（ＲＡＷデータ）は、サーバＰＣ２００のプリントプロバイダ（ローカル）、プリントプロセッサ、ランゲージモニタ、ポートモニタ等を介してプリンタ３００に送られて印刷される。
【００５０】
このように本実施の形態にかかる印刷システム１によれば、クライアントＰＣ１００が、中間データを印刷するプリンタ３００が処理可能な印刷データに変換する生成部１０５ｂを備えることにより、第１の実施の形態と同様の効果を得ることができる。
【００５１】
（第３の実施の形態）
本実施の形態は、サーバＰＣにおいて、クライアントＰＣにおいて変換された印刷データ（中間データ）を、当該印刷データを印刷するプリンタが処理可能な形式の印刷データに変換する例である。なお、以下の説明では、第２の実施の形態にかかる印刷システムと同様の構成については説明を省略する。
【００５２】
図１２は、第３の実施の形態におけるクライアントＰＣおよびサーバＰＣにおけるＥＭＦスプール時における一般的な処理の流れを示す図である。アプリケーション１０２は、ユーザから印刷指示を受けて印刷開始指示を出力した後、印刷内容をＯＳ１０１のＧＤＩ１０１ａに送る。ＧＤＩ１０１ａは、アプリケーション１０２からの印刷内容を取得する。そして、ＧＤＩ１０１ａは、取得した印刷内容を、プリンタドライバ１０５に送る。プリンタドライバ１０５は、取得した印刷内容を中間データ（ＥＭＦデータ）に変換するとともに、中間データをスプーラ１０３に送る。スプーラ１０３は、中間データを、スプールファイル１０４に保持させる。なお、プリンタドライバ１０５の印刷設定部１０５ａは、ＯＳ１０１を介してアプリケーション１０２から印刷設定指示を受信すると、印刷条件を設定するとともに、当該印刷条件を、スプーラ１０３を介してスプールファイル１０４に保持させる。その後、プリンタプロバイダ（ネットワーク）が、スプールファイル１０４に保持される中間データおよび印刷条件を、サーバＰＣ２００に送信する。
【００５３】
サーバＰＣ２００のプリントプロセッサ１２０１は、プリントプロバイダ（ローカル）を介して、クライアントＰＣ１００から中間データおよび印刷条件を取得し、当該中間データに対して所定の画像処理を施してＧＤＩ１２０２に送る。ＧＤＩ１２０２は、所定の画像処理を施した中間データをプリンタドライバ２０１に送る。プリンタドライバ２０１の生成部２０１ｂは、取得した印刷条件に基づいて、所定の画像処理を施した中間データから印刷データ（ＲＡＷデータ）を生成する。スプーラ２０２は、生成された印刷データを、プリントプロバイダ（ローカル）、ランゲージモニタ、ポートモニタ等を介してプリンタ３００に送る。なお、クライアントＰＣ１００においてアプリケーション１０２からの指示に応じて実行される処理、およびサーバＰＣ２００においてスプーラ１０３からのデータに基づいて実行される処理の流れは、図７および図８に示す処理と同様である。
【００５４】
サーバＰＣ２００に送られた印刷データ（ＲＡＷデータ）は、サーバＰＣ２００のプリントプロバイダ（ローカル）、プリントプロセッサ、ランゲージモニタ、ポートモニタ等を介してプリンタ３００に送られて印刷される。
【００５５】
このように本実施の形態にかかる印刷システム１によれば、サーバＰＣ２００が、中間データを印刷するプリンタ３００が処理可能な印刷データに変換する生成部２０１ｂを備えることにより、第１の実施の形態と同様の効果を得ることができる。
【００５６】
本実施の形態のクライアントＰＣおよびサーバＰＣは、ＣＰＵ（Central  Processing  Unit）などの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）などの記憶装置と、ＨＤＤ（Hard  Disk  Drive）、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００５７】
本実施形態のクライアントＰＣおよびサーバＰＣで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００５８】
また、本実施形態のクライアントＰＣおよびサーバＰＣで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のクライアントＰＣおよびサーバＰＣで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００５９】
また、本実施形態のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成しても良い。本実施の形態のクライアントＰＣで実行されるプログラムは、上述した各部（ＯＳ１０１、アプリケーション１０２、スプーラ１０３、プリンタドライバ１０５）を含むモジュール構成となっている。また、本実施の形態のサーバＰＣで実行されるプログラムは、上述した各部（プリンタドライバ２０１、スプーラ２０２）を含むモジュール構成となっている。
【符号の説明】
【００６０】
１  印刷システム
１００  クライアントＰＣ
１０１  ＯＳ
１０２  アプリケーション
１０３，２０２  スプーラ
１０４  スプールファイル
１０５，２０１  プリンタドライバ
１０５ａ，２０１ａ  印刷設定部
１０５ｂ，２０１ｂ  生成部
２００  サーバＰＣ
３００  プリンタ
【先行技術文献】
【特許文献】
【００６１】
【特許文献１】特開２００６−０７９２４６号公報
【図１】
2014029633.tif 000003
【図２】
2014029633.tif 000004
【図３】
2014029633.tif 000005
【図４】
2014029633.tif 000006
【図５】
2014029633.tif 000007
【図６】
2014029633.tif 000008
【図７】
2014029633.tif 000009
【図８】
2014029633.tif 000010
【図９】
2014029633.tif 000011
【図１０】
2014029633.tif 000012
【図１１】
2014029633.tif 000013
【図１２】
2014029633.tif 000014