(57)【要約】【課題】Ｐｏｉｎｔ＆Ｐｒｉｎｔにおいて、ＸＰＳ等の汎用性の高いデータを生成する第一段階の処理と、汎用性の高いデータに基づいて付加機能を実現する第二段階の処理とを実現すること。【解決手段】画像形成出力対象の画像に基づいて生成された中間データを、印刷データのスプール処理によって所定の記憶領域に格納し、印刷データのスプール処理において中間データの格納を行うランゲージモニタを介して、格納された中間データを取得し、取得された中間データに基づき、画像形成出力に際して付加的に定められた処理を実行することを特徴とする。【選択図】図６
2014160406.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から画像形成装置を利用するためのプログラムがインストールされている画像形成出力制御装置と、同じく画像形成装置を利用するためのプログラムがインストールされている他の情報処理装置とが連動して前記画像形成装置に画像形成出力を実行させる画像形成出力制御システムであって、
画像形成出力対象の画像を取得し、複数のソフトウェアモジュールによって処理可能な形式の印刷データである中間データを生成する中間データ生成部と、
生成された前記中間データを、印刷データのスプール処理によって所定の記憶領域に格納させる中間データ格納処理部と、
印刷データのスプール処理において前記中間データの格納を行うソフトウェアモジュールを介して、前記中間データを取得する中間データ取得部と、
取得された前記中間データに基づき、画像形成出力に際して付加的に定められた処理を実行する付加処理部と、
前記画像形成装置に画像形成出力を実行させるための印刷ジョブを生成する印刷ジョブ生成部に、前記中間データに基づいて印刷ジョブを生成させる印刷ジョブ生成制御部とを含むことを特徴とする画像形成出力制御システム。
【請求項２】
前記中間データに対応して生成された前記画像形成出力に関する設定情報を、印刷データのスプール処理によって所定の記憶領域に格納させる設定情報格納処理部を含み、
前記中間データ取得部は、前記中間データ及び前記設定情報を前記中間データの格納を行うソフトウェアモジュールを介して取得し、
前記印刷ジョブ生成制御部は、前記中間データに基づき、前記設定情報に従って印刷ジョブを生成させることを特徴とする請求項１に記載の画像形成出力制御システム。
【請求項３】
前記中間データ格納処理部は、前記中間データの格納を行うソフトウェアモジュールに対して予め定められた識別子を指定して前記中間データを所定の記憶領域に格納させ、
前記中間データ取得部は、前記中間データの格納を行うソフトウェアモジュールに対して前記予め定められた識別子を指定して前記中間データを取得することを特徴とする請求項１または２に記載の画像形成出力制御システム。
【請求項４】
前記付加処理部は、前記他の情報処理装置において、取得された前記中間データに基づいて前記画像形成出力対象の画像を表示装置に表示するための処理を行う機能を有することを特徴とする請求項１乃至３いずれか１項に記載の画像形成出力制御システム。
【請求項５】
前記付加処理部は、取得された前記中間データに基づき、前記画像形成出力対象の画像から所定の情報が検知された場合には、前記中間データに対して予め定められた情報を付加する処理を行う機能を有することを特徴とする請求項１乃至４いずれか１項に記載の画像形成出力制御システム。
【請求項６】
情報処理装置から画像形成装置を利用するためのプログラムがインストールされている画像形成出力制御装置と、同じく画像形成装置を利用するためのプログラムがインストールされている他の情報処理装置とが連動して前記画像形成装置に画像形成出力を実行させる画像形成出力制御プログラムであって、
画像形成出力対象の画像を取得し、複数のソフトウェアモジュールによって処理可能な形式の印刷データである中間データを生成するステップと、
生成された前記中間データを、印刷データのスプール処理によって所定の記憶領域に格納させるステップと、
印刷データのスプール処理において前記中間データの格納を行うソフトウェアモジュールを介して、前記中間データを取得するステップと、
取得された前記中間データに基づき、画像形成出力に際して付加的に定められた処理を実行するステップと、
前記画像形成装置に画像形成出力を実行させるための印刷ジョブを生成する印刷ジョブ生成部に、前記中間データに基づいて印刷ジョブを生成させるステップとを情報処理装置に実行させることを特徴とする画像形成出力制御プログラム。
【請求項７】
情報処理装置から画像形成装置を利用するためのプログラムがインストールされている画像形成出力制御装置と、同じく画像形成装置を利用するためのプログラムがインストールされている他の情報処理装置とが連動して前記画像形成装置に画像形成出力を実行させる画像形成出力制御システムにおいて用いられる画像形成出力制御装置であって、
画像形成出力対象の画像を取得し、複数のソフトウェアモジュールによって処理可能な形式の印刷データである中間データを取得し、印刷データのスプール処理によって所定の記憶領域に格納する中間データ格納処理部と、
印刷データのスプール処理において前記中間データの格納を行うソフトウェアモジュールを介して、前記中間データを取得する中間データ取得部と、
取得された前記中間データに基づき、画像形成出力に際して付加的に定められた処理を実行する付加処理部と、
前記画像形成装置に画像形成出力を実行させるための印刷ジョブを生成する印刷ジョブ生成部に、前記中間データに基づいて印刷ジョブを生成させる印刷ジョブ生成制御部とを含むことを特徴とする画像形成出力制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成出力制御システム、画像形成出力制御プログラム及び制御装置に関し、特に、情報処理装置から画像形成装置を利用するための機能をネットワークを介して提供する場合の制御に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）として構成されることが多い。
【０００３】
このような画像処理装置のうち、電子化された書類の出力に用いられる印刷装置においては、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置において生成された印刷ジョブに基づいて印刷出力を実行するプリンタが一般的に利用されている。そして、プリンタに入力する印刷ジョブを生成するための機能を実現するソフトウェア・プログラムとして、夫々のプリンタの機能に対応したプリンタドライバを情報処理装置にインストールすることが一般的である。
【０００４】
他方、上述したプリンタドライバの機能を、ＰＣ側で全て担うのではなく、機能の一部をサーバに委託するような態様もある。例えば、Ｐｏｉｎｔ＆Ｐｒｉｎｔと呼ばれる仕組みでは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の制御により、サーバにインストールされているプリンタドライバを構成する情報がＰＣにコピーされ、ＰＣとサーバとで機能を分担することによってプリンタドライバが対象としている画像形成装置からの画像形成出力が実現される。
【０００５】
また、印刷ジョブを送信する先のプリンタを動的に振り分けるため、ＸＰＳ（ＸＭＬ  Ｐａｒｓｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）等の高次イメージフォーマットを生成する第１の機能及び生成された高次イメージフォーマットのデータをプリンタに送信する第２の機能を有するプリンタドライバが提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、プリンタドライバによる印刷出力の機能として、プリンタへの印刷ジョブの送信に加えて様々な機能が提供されている。例えば、プリンタドライバによって印刷用の情報に変換された状態でのプレビュー表示を行う機能や、そのようにプレビュー表示された状態の情報に対して編集を行う付加機能が提案されている。
【０００７】
このようなプリンタドライバの一機能としての態様は、そのプリンタドライバが対応しているＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に限定された機能である。従って、同様の機能を異なるＰＤＬに対応させるためには、夫々のＰＤＬ毎にプリンタドライバを設計、作成する必要がある。
【０００８】
これに対して、特許文献１に開示されているような、ＸＰＳ等の高次イメージフォーマットのデータのような汎用性の高いデータを中間データとして用いる二段階の処理が考えられる。その場合、一段階目の処理で中間データを生成し、二段階目の処理で付加機能が実現されることとなる。具体的には、生成された中間データに基づくプレビュー機能やデータ編集機能を有するアプリケーションを上記二段階目の処理を実行するためのモジュールとして構築することになる。これにより、二段階目の処理を実行するモジュールは、元々汎用性の高いデータに対応して構築されるため、汎用的にプレビュー機能やデータ編集機能等の付加機能を実現することが可能である。
【０００９】
ここで、上述したプレビュー機能やデータ編集機能等を実現する際、そのためのアプリケーション（以降、「追記処理アプリ」とする）は、生成された中間データを取得する必要がある。しかしながら、上述したＰｏｉｎｔ＆Ｐｒｉｎｔのように、情報処理装置とサーバとで印刷出力時の処理を分散して行う場合、追加処理アプリは、何らかの手段を用いて中間データの保存先を認識する必要があり、ソフトウェアの構築が煩雑なものとなってしまう。
【００１０】
また、プレビュー機能のための追加処理アプリが情報処理装置側において構成され、中間データがサーバ側に保存される場合、追加処理アプリが中間データを取得するためには、ネットワークアクセスが必要となる。ネットワークアクセスを要する場合には、そのためのプロトコルを意識してソフトウェア構築を行う必要がある。また、情報処理装置及びサーバが接続されているネットワークのアクセス制限を考慮する必要も生じ得る。
【００１１】
本発明は、このような課題を解決するためになされたものであり、情報処理装置を介して画像形成装置を利用するための機能の一部を、ネットワークを介して接続された他の装置との間で分散する場合において、汎用性の高いデータを生成する第一段階の処理と、汎用性の高いデータに基づいて付加機能を実現する第二段階の処理とを実現することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の一態様は、情報処理装置から画像形成装置を利用するためのプログラムがインストールされている画像形成出力制御装置と、同じく画像形成装置を利用するためのプログラムがインストールされている他の情報処理装置とが連動して前記画像形成装置に画像形成出力を実行させる画像形成出力制御システムであって、画像形成出力対象の画像を取得し、複数のソフトウェアモジュールによって処理可能な形式の印刷データである中間データを生成する中間データ生成部と、生成された前記中間データを、印刷データのスプール処理によって所定の記憶領域に格納させる中間データ格納処理部と、印刷データのスプール処理において前記中間データの格納を行うソフトウェアモジュールを介して、前記中間データを取得する中間データ取得部と、取得された前記中間データに基づき、画像形成出力に際して付加的に定められた処理を実行する付加処理部と、前記画像形成装置に画像形成出力を実行させるための印刷ジョブを生成する印刷ジョブ生成部に、前記中間データに基づいて印刷ジョブを生成させる印刷ジョブ生成制御部とを含むことを特徴とする。
【００１３】
また、本発明の他の態様は、情報処理装置から画像形成装置を利用するためのプログラムがインストールされている画像形成出力制御装置と、同じく画像形成装置を利用するためのプログラムがインストールされている他の情報処理装置とが連動して前記画像形成装置に画像形成出力を実行させる画像形成出力制御プログラムであって、画像形成出力対象の画像を取得し、複数のソフトウェアモジュールによって処理可能な形式の印刷データである中間データを生成するステップと、生成された前記中間データを、印刷データのスプール処理によって所定の記憶領域に格納させるステップと、印刷データのスプール処理において前記中間データの格納を行うソフトウェアモジュールを介して、前記中間データを取得するステップと、取得された前記中間データに基づき、画像形成出力に際して付加的に定められた処理を実行するステップと、前記画像形成装置に画像形成出力を実行させるための印刷ジョブを生成する印刷ジョブ生成部に、前記中間データに基づいて印刷ジョブを生成させるステップとを情報処理装置に実行させることを特徴とする。
【００１４】
また、本発明の更に他の態様は、情報処理装置から画像形成装置を利用するためのプログラムがインストールされている画像形成出力制御装置と、同じく画像形成装置を利用するためのプログラムがインストールされている他の情報処理装置とが連動して前記画像形成装置に画像形成出力を実行させる画像形成出力制御システムにおいて用いられる画像形成出力制御装置であって、画像形成出力対象の画像を取得し、複数のソフトウェアモジュールによって処理可能な形式の印刷データである中間データを取得し、印刷データのスプール処理によって所定の記憶領域に格納する中間データ格納処理部と、印刷データのスプール処理において前記中間データの格納を行うソフトウェアモジュールを介して、前記中間データを取得する中間データ取得部と、取得された前記中間データに基づき、画像形成出力に際して付加的に定められた処理を実行する付加処理部と、前記画像形成装置に画像形成出力を実行させるための印刷ジョブを生成する印刷ジョブ生成部に、前記中間データに基づいて印刷ジョブを生成させる印刷ジョブ生成制御部とを含むことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、情報処理装置を介して画像形成装置を利用するための機能の一部を、ネットワークを介して接続された他の装置との間で分散する場合において、汎用性の高いデータを生成する第一段階の処理と、汎用性の高いデータに基づいて付加機能を実現する第二段階の処理とを実現することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るシステムの運用形態を示す図である。
【図２】本発明の実施形態に係る情報処理装置のハードウェア構成を模式的に示すブロック図である。
【図３】本発明の実施形態に係るＰＣの機能構成を示す図である。
【図４】本発明の実施形態に係るドライバサーバの機能構成を示す図である。
【図５】本発明の実施形態に係るプリンタドライバの全体の機能を示す図である。
【図６】本発明の実施形態に係るプリンタドライバのＰＣ側及びドライバサーバ側夫々で実現される機能の例を示す図である。
【図７】本発明の実施形態に係るランゲージモニタ前後の処理を示す図である。
【図８】本発明の実施形態に係るスプーラを介したランゲージモニタの利用態様を示す図である。
【図９】本発明の実施形態に係るメールスロットを介したイベント送信の態様を示す図である。
【図１０】本発明の実施形態に係るプレビュー表示動作を示すシーケンス図である。
【図１１】本発明の実施形態に係るプレビュー表示後の印刷動作を示すシーケンス図である。
【図１２】ＸＰＳデータの構造を示す図である。
【図１３】本発明の実施形態に係る仮想プリンタドライバの描画部の構成例を示す図である。
【図１４】本発明の実施形態に係る中間データ生成部による中間データの出力態様を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、サーバにインストールされているプリンタドライバをＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）にコピーした上で、サーバとＰＣとで画像形成出力に係るプリンタドライバの機能を分散する画像形成出力制御システムについて説明する。このような仕組みは、例えばＰｏｉｎｔ＆Ｐｒｉｎｔとして知られている。
【００１８】
図１は、本実施の形態に係る画像形成出力制御システムの運用形態の例を示す図である。図１に示すように、本実施形態に係る画像形成出力制御システムは、ドライバサーバ１、ＰＣ２、画像処理装置３がＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して接続されて構成されている。
【００１９】
ドライバサーバ１は、画像処理装置３をはじめとした様々な画像処理装置を利用するためのソフトウェア・プログラムであるプリンタドライバが、利用対象の画像処理装置毎にインストールされている情報処理装置である。ドライバサーバ１にインストールされているプリンタドライバを構成する情報がＰＣ２にコピーされることにより、ＰＣ２にプリンタドライバがインストールされると共に、ドライバサーバ１との連携による画像形成出力が実現される。即ち、ドライバサーバ１が、画像形成出力制御装置として機能する。
【００２０】
ＰＣ２は一般的な情報処理装置であり、本実施形態に係るシステムにおいては、ドライバサーバ１にインストールされているプリンタドライバのファイルを取得して記憶することにより、画像処理装置３を利用するためのソフトウェア・プログラムであるプリンタドライバのインストールを行う。また、ＰＣ２は、ドライバサーバ１にインストールされているプリンタドライバのすべての機能を実行するのではなく、プリンタドライバの機能をドライバサーバ１との間で分散処理し、自身は機能の一部を実行する。
【００２１】
画像処理装置３は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）である。
【００２２】
次に、本実施形態に係るシステムに含まれるドライバサーバ１、ＰＣ２、画像処理装置３等の装置のハードウェア構成について説明する。図２は、本実施形態に係るＰＣ２のハードウェア構成を示すブロック図であるが、ドライバサーバ１、画像処理装置３においても同様の構成を有する。図２に示すように、本実施形態に係るＰＣ２は、情報処理装置としての一般的な構成を有する。
【００２３】
即ち、本実施形態に係るＰＣ２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０及びＩ／Ｆ５０がバス８０を介して接続されている。また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０及び操作部７０が接続されている。この他、画像処理装置３は、画像形成出力やスキャンを実行するエンジンを含む。
【００２４】
ＣＰＵ１０は演算手段であり、ＰＣ２全体の動作を制御する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００２５】
Ｉ／Ｆ５０は、バス８０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ６０は、ユーザがＰＣ２の状態を確認するための視覚的ユーザインタフェースである。操作部７０は、キーボード、マウス、各種のハードボタン、タッチパネル等、ユーザが画像処理装置３に情報を入力するためのユーザインタフェースである。尚、ドライバサーバ１は、サーバとして運用されるため、ＬＣＤ６０や操作部７０などのユーザインタフェースは省略可能である。
【００２６】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ４０若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０がそれらのプログラムに従って演算を行うことによりソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るシステムを構成する各機器の機能を実現する機能ブロックが構成される。
【００２７】
次に、本実施形態に係るＰＣ２において、画像形成出力に関する機能について説明する。図３は、本実施形態に係るＰＣ２の機能のうち、画像形成出力に関する機能の構成を示すブロック図である。図３に示すように、本実施形態に係るＰＣ２は、アプリケーション２０１、ＯＳ２０２、ネットワークＩ／Ｆ２０３及びプリンタドライバ２１０を含む。
【００２８】
アプリケーション２０１は、対応するソフトウェア・プログラムがＰＣ２にインストールされて構成されるソフトウェアモジュールであり、ワープロソフト、表計算ソフト、画像編集ソフト等の一般的なアプリケーション・ソフトウェアである。アプリケーション２０１は、ユーザの操作に応じてプリンタドライバ２１０のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を起動し、ＧＵＩを介して設定される印刷出力の設定情報を取得して、出力対象の画像の情報と共に出力する。
【００２９】
ＯＳ２０２は、ＰＣ２全体を制御する基本ソフトウェアである。また、ＯＳ２０２は、ＰＣ２が画像処理装置３を利用して画像形成出力を実行させる際の制御に関する機能や、ドライバサーバ１からＰＣ２へのプリンタドライバのコピー機能も含む。ネットワークＩ／Ｆ２０３は、ＰＣ２がネットワークを介して他の機器と通信するためのインタフェースである。
【００３０】
プリンタドライバ２１０は、ＰＣ２から画像処理装置３を利用するためのソフトウェアモジュールであり、対応するソフトウェア・プログラムがＰＣ２にインストールされることによって構成される。「プリンタドライバ」とは、狭義には画像処理装置３に印刷を実行させるための印刷ジョブを生成するソフトウェアモジュールを指すが、プリンタドライバ２１０は、ＰＣ２から画像処理装置３を利用するために設けられる様々なソフトウェアモジュールの群を示す。プリンタドライバ２１０に含まれる機能については後に詳述する。
【００３１】
次に、本実施形態に係るドライバサーバ１の機能構成について、図４を参照して説明する。図４は、本実施形態に係るドライバサーバ１の機能の構成を示すブロック図である。図４に示すように、本実施形態に係るドライバサーバ１は、ＯＳ１０１、ネットワークＩ／Ｆ１０２及びプリンタドライバ１１０を含む。
【００３２】
ＯＳ１０１は、ドライバサーバ１全体を制御する基本ソフトウェアである。また、ＯＳ１０１は、ＰＣ２のＯＳ２０２と同様に、画像処理装置３を利用して画像形成出力を実行させる際の制御に関する機能や、ドライバサーバ１からＰＣ２へのプリンタドライバのコピー機能も含む。ネットワークＩ／Ｆ１０２は、ネットワークＩ／Ｆ２０３と同様に、ドライバサーバ１がネットワークを介して他の機器と通信するためのインタフェースである。
【００３３】
プリンタドライバ１１０は、ＰＣ２におけるプリンタドライバ２１０と同様に、画像処理装置３を利用するためのソフトウェアモジュール群である。但し、ドライバサーバ１は、単独で画像処理装置３を利用して画像形成出力を実行する処理は原則として発生せず、ＰＣ２との連動により画像処理装置３を動作させる場合が基本となる。また、プリンタドライバ１１０は、ドライバサーバ１からＰＣ２にプリンタドライバをコピーする際のコピー元でもある。
【００３４】
ここで、本実施形態に係るプリンタドライバ２１０、１１０に含まれる機能について説明する。図５は、本実施形態に係るプリンタドライバ２１０、１１０によって実現される機能全体を示す図である。図５に示すように、本実施形態に係るプリンタドライバは、仮想プリンタドライバ、ランゲージモニタ、追加処理アプリ及び実プリンタドライバを含む。
【００３５】
仮想プリンタドライバは、印刷設定部及び描画部を含む。印刷設定部は、ユーザが画像処理装置３に印刷を実行させる際の各種の設定を行うためのＧＵＩを提供し、ユーザによる操作に応じて印刷設定を取得する。描画部は、画像形成出力の対象画像である印刷対象の文書や画像の情報に基づき、印刷ジョブを生成する前の中間データを生成する中間データ生成部と、印刷処理の開始や終了などのイベントを後段のモジュールに通知するイベント送信部とを含む。
【００３６】
本実施形態に係る中間データは、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）やＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）等、複数のソフトウェアモジュールによって処理可能な汎用的なデータ形式の情報であって、ページ毎に画像がレイアウトされた情報である。これにより、後段のモジュールは、汎用的なデータ形式に対応したモジュールによって実現することが可能であり、システムの汎用性を向上することが可能である。
【００３７】
ランゲージモニタは、ＯＳの仕組みに組み込まれたソフトウェアモジュールであり、特定のキーを用いてデータの読み書きを行うためのインタフェースや、ネットワークを介した通信機能を有する。中間データ生成部は、中間データの生成に際して、ランゲージモニタのインタフェースを呼び出すことにより、生成した中間データを印刷データとして所定の記憶領域に格納させる。また、印刷設定部は、ランゲージモニタを介して、取得した印刷設定を印刷設定情報として所定の記憶領域に格納させる。
【００３８】
追加処理アプリは、プリンタドライバの仕組みの中で、印刷に際して付加的に定められた機能を提供するためのソフトウェアモジュールである。付加的な機能の例としては、中間データに変換された情報によるプレビューの機能や、中間データに変換された情報の編集機能等が挙げられる。また情報の編集機能とは、例えば“社外秘”、“機密”等の特定の文字列が中間データに含まれており、それらの情報が検知された場合に、ウォーターマークや地紋を付加する等のデータ加工処理である。そのような付加機能は、追加処理アプリを構成するモジュールである中間データ処理部によって実現される。即ち、追加処理アプリが付加処理部として機能する。
【００３９】
中間データ処理部は、ランゲージモニタによって提供されているインタフェースを呼び出すことにより、所定の記憶領域に格納された中間データを取得し、上述したような付加機能を実現する。この中間データ処理部によるランゲージモニタの利用が、本実施形態に係る要旨の１つである。ランゲージモニタは、ＯＳに組み込まれた仕組みであるため、ＯＳが想定している処理の枠組みの中で情報をやり取りすることができる。
【００４０】
中間データの取得に際して、追加処理アプリは、予め定められた識別子であるキーを用いてランゲージモニタのインタフェースを呼び出すだけで良いため、中間データ生成部によって生成された中間データの格納先を追加処理アプリに対して通知する必要がなく、処理を簡略化することが可能である。また、ランゲージモニタを用いることにより、ＯＳが想定している枠組みの中で処理を行うこととなるため、ランゲージモニタによる情報の読み出しや書き込みに際しては、処理の度にユーザの同意を得るようなポップアップメッセージが発生することがなく、追加処理アプリケーションによる処理を円滑に行うことが可能である。
【００４１】
更に、ランゲージモニタには、ネットワークを介した通信機能も備えられているため、画像処理装置３を用いた印刷処理に際して、ＰＣ２とドライバサーバ１との間でのネットワークを介した情報のやり取りが発生したとしても、そのための通信プロトコルに対応したソフトウェアモジュールを作りこむことなく、ランゲージモニタによって処理を実現することが可能である。
【００４２】
また、追加処理アプリは、イベント受信部を含む。イベント受信部は、イベント送信部によるイベント通知を取得し、仮想プリンタドライバから処理が受け渡されたことを認識する。
【００４３】
実プリンタドライバは、上述した狭義のプリンタドライバであり、中間データ生成部によって生成され、中間データ処理部によって処理された中間データに基づき、画像処理装置３に印刷を実行させるための印刷ジョブを生成する印刷ジョブ生成部である。実プリンタドライバは、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）６、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ）、ＲＰＣＳ（Ｒｅｆｉｎｅｄ  Ｐｒｉｎｔｉｎｇ  Ｃｏｍｍａｎｄ  Ｓｔｒｅａｍ）等の、画像処理装置３に対応した形式のＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を用いて印刷ジョブを生成する。その際、中間データは汎用的なデータ形式で構成されているため、本実施形態に係るシステムの実現に際して、画像処理装置３に対応して提供されているプリンタドライバを実プリンタドライバとして用いることが可能である。
【００４４】
上述したように、ＰＣ２のプリンタドライバ２１０は、ドライバサーバ１のプリンタドライバ１１０がコピーされることによって構成される。そのため、ドライバサーバ１のプリンタドライバ１１０は、図５に示す全モジュールを含むが、ＰＣ２のプリンタドライバ２１０は、図５に示す機能のうち、少なくともＰＣ２側で実行される機能に対応したモジュールのみで実現することが可能である。
【００４５】
次に、本実施形態に係るＰＣ２側のプリンタドライバ２１０と、ドライバサーバ１側のプリンタドライバ１１０との機能の分散態様について図６を用いて説明する。図６に示すように、ＰＣ２側のプリンタドライバ２１０においては、仮想プリンタドライバ２１１及び追加処理アプリ２１６に対応した機能が実現される。また、ドライバサーバ１側のプリンタドライバ１１０においては、ランゲージモニタ１１３、追加処理アプリ１１４及び実プリンタドライバ１１７に対応した機能が実現される。また、印刷データ１１１及び印刷設定情報１１２は、ドライバサーバ１側に設けられた記憶領域に格納される。
【００４６】
図５において説明したように、仮想プリンタドライバ２１１は、印刷設定部２１２及び描画部２１３を含み、描画部２１３は、中間データ生成部２１４及びイベント送信部２１５を含む。また、プリンタドライバ２１０側の追加処理アプリ２１６は、中間データ処理部２１７及びイベント受信部２１８を含み、プリンタドライバ１１０側の追加処理アプリ１１４は、中間データ処理部１１５及びイベント受信部１１６を含む。
【００４７】
図６に示すように、本実施形態に係るシステムにおいては、プリンタドライバ２１０側に追加処理アプリ２１６が構成され、プリンタドライバ１１０側に追加処理アプリ１１４が構成される。これは、中間データに基づくプレビュー表示のようなＰＣ２側で実現するべき付加機能と、中間データの編集処理のような、ドライバサーバ１側に任せても良い付加機能とを夫々ＰＣ２側、ドライバサーバ１側で実現するためである。
【００４８】
ここで、ランゲージモニタ１１３の機能について説明する。図７は、印刷処理におけるモジュールの処理順を示す図である。図７に示すように、プリンタドライバによって出力される印刷データは、ＯＳの機能の１つであるスプーラに受け渡される。ランゲージモニタ１１３は、スプーラによって呼び出されて動作するモジュールであり、スプーラから印刷データを取得して、指定されたキーに従って所定の領域に印刷データを格納する。
【００４９】
ランゲージモニタによって格納された印刷データは、通常の印刷処理においてはポートモニタに受け渡され、ポートモニタはポートドライバを介して画像処理装置３等のプリンタに印刷データを送信する。これにより、プリンタによる印刷が実行される。
【００５０】
図８は、本実施形態に係るシステムにおけるランゲージモニタ１１３とプリンタドライバ２１０及びプリンタドライバ１１０夫々のスプーラとの関わりを示す図である。図８に示すように、仮想プリンタドライバ２１１による中間データ生成処理の場合、プリンタドライバ２１０側のスプーラ２１９によってランゲージモニタ１１３が呼び出され、仮想プリンタドライバ２１１によって生成された中間データがランゲージモニタ１１３を介してプリンタドライバ１１０側の記憶領域に格納される。即ち、ランゲージモニタ１１３は、スプール処理において中間データの格納を行うソフトウェアモジュールである。
【００５１】
また、プリンタドライバ２１０に含まれる追加処理アプリ２１６によってプレビュー処理が実行される場合、追加処理アプリ２１６は、スプーラ２１９を介してランゲージモニタ１１３を呼び出し、プリンタドライバ１１０側に格納された中間データを取得してプレビュー処理を実行する。また、プリンタドライバ１１０に含まれる追加処理アプリ１１４によってデータ編集処理が実行される場合、追加処理アプリ１１４は、スプーラ１１８を介してランゲージモニタ１１３を呼び出し、プリンタドライバ１１０側に格納された中間データを取得してデータ編集処理を実行する。
【００５２】
次に、イベント送信部２１５、イベント受信部２１８、イベント受信部１１６によるイベント情報のやり取りについて図９を参照して説明する。本実施形態に係るイベント情報のやり取りには、メールスロットが用いられる。本実施形態に係るイベント情報のやり取りに際しては、イベント受信部１１６がメールスロット名を指定してメールスロットを生成する。
【００５３】
イベント送信部２１５は、イベント受信部１１６によって指定されたメールスロット名を使用してメールスロットへの書き込みを行うイベント受信部２１８及びイベント受信部１１６は、同一のメールスロットへの書き込み有無を監視しており、メールスロットへの書き込みがあった場合には、メールスロットの読み込みを行う。これにより、イベント送信部２１５からイベント受信部１１６、イベント受信部２１８へのイベント情報の通知が実現される。尚、本実施形態においては、プリンタドライバ２１０に含まれるモジュールはプリンタドライバ１１０からコピーされるものであるため、その際にメールスロット名を指定することが可能であるが、使用するメールスロット名は、レジストリや外部設定によって変更可能とすることもできる。
【００５４】
次に、本実施形態に係るシステムにおいてプレビュー処理が実行される場合の動作について図１０のシーケンスを用いて説明する。図１０に示すように、まずＰＣ２側においてアプリケーション２０１により印刷開始処理が実行される（Ｓ１００１）。Ｓ１００１の処理は、ユーザがＰＣ２を操作することにより印刷設定などを入力し、印刷の実行操作を行うことによって実行される。
【００５５】
アプリケーション２０１の動作を受けて、仮想プリンタドライバ２１１の印刷設定部２１２が印刷設定を取得し、スプーラ２１９を介してランゲージモニタ１１３に印刷設定を出力する（Ｓ１００２）。即ち、Ｓ１００２においては、仮想プリンタドライバ２１１の印刷設定部２１２が設定情報格納処理部として機能する。これにより、ランゲージモニタ１１３は、プリンタドライバ１１０側において印刷設定情報を所定の記憶領域に格納する（Ｓ１００３）。
【００５６】
続いて、アプリケーション２０１は、印刷処理を実行して印刷するべき画像情報を仮想プリンタドライバ２１１に受け渡す（Ｓ１００４）。これにより、仮想プリンタドライバ２１１の中間データ生成部２１４が中間データを生成し、スプーラ２１９を介してランゲージモニタ１１３に出力する（Ｓ１００５）。これにより、ランゲージモニタ１１３は、プリンタドライバ１１０側において中間データを印刷データとして所定の記憶領域に格納する（Ｓ１００６）。即ち、中間データ生成部２１４が、中間データ格納処理部として機能する。
【００５７】
印刷するべき画像情報の出力が完了すると、アプリケーション２０１は印刷終了処理を実行する（Ｓ１００７）。これにより、仮想プリンタドライバ２１１のイベント送信部２１５は、図９において説明した仕組みを用いて印刷終了通知を行う（Ｓ１００８）。イベント送信部２１５による印刷終了通知により、追加処理アプリ２１６のイベント受信部２１８が、仮想プリンタドライバ２１１から処理が受け渡されたことを認識する。
【００５８】
仮想プリンタドライバ２１１から処理が受け渡されたことを認識した追加処理アプリ２１６においては、中間データ処理部２１７が、図８において説明した仕組みを用いてランゲージモニタ１１３から中間データを取得し（Ｓ１００９）、取得した中間データに基づいてプレビュー表示を行う（Ｓ１０１０）。Ｓ１０１０において、追加処理アプリ２１６は、ＰＣ２に設けられているＬＣＤ６０等の表示装置を介して、ＧＵＩの表示によりプレビュー表示を行う。このような処理により、本実施形態に係るプレビュー表示動作が完了する。
【００５９】
次に、本実施形態に係るシステムにおいてプレビュー処理が実行された後、データ加工が施されて最終的に印刷が実行されるまでの動作について、図１１のシーケンスを用いて説明する。図１１に示す動作は、図１０の動作によってＰＣ２側で実行されたプレビュー表示のＧＵＩに対して、ユーザがデータ加工の操作及び印刷実行の操作を行うことにより開始される。
【００６０】
図１１に示すように、ドライバサーバ１側において、追加処理アプリ１１４の中間データ処理部１１５が、ランゲージモニタ１１３を呼び出して印刷設定及び中間データを取得する（Ｓ１１０１、Ｓ１１０２）。即ち、中間データ処理部１１５が中間データ取得部として機能する。そして、中間データ処理部１１５は、ユーザによるデータ加工の指定操作に従ってデータ加工処理を実行し（Ｓ１１０３）、印刷設定及び加工後の中間データを実プリンタドライバ１１７に入力して印刷開始処理を行う（Ｓ１１０４）。即ち、Ｓ１１０４においては、追加処理アプリ１１４が印刷ジョブ生成制御部として機能する。尚、追加処理アプリ１１４の付加機能によっては、Ｓ１１０３において印刷設定の編集も行われる。
【００６１】
追加処理アプリ１１４から印刷設定及び中間データを取得した実プリンタドライバ１１７は、一般的なプリンタドライバによって実行される処理と同様の処理により、印刷設定に従って中間データに応じた印刷ジョブを生成して画像処理装置３に入力する印刷ジョブの生成処理を開始する（Ｓ１１０５）。これにより、画像処理装置３に対して順次印刷ジョブが送信され、画像処理装置３において印刷が実行される。
【００６２】
印刷対象の中間データをすべて実プリンタドライバに入力すると、追加処理アプリ１１４は印刷終了処理を行い（Ｓ１１０６）、実プリンタドライバ１１７の処理を終了させる。そして、追加処理アプリ１１４は、ランゲージモニタ１１３を呼び出して中間データの削除処理を行うと共に（Ｓ１１０７、Ｓ１１０８）、印刷設定の削除処理を行う（Ｓ１１０９、Ｓ１１１０）。これにより、印刷の完了した中間データ及びその印刷設定が、プリンタドライバ１１０側の記憶領域から削除される。これにより、本実施形態に係るシステムにおける最終的な印刷動作が完了する。
【００６３】
このように、本実施形態に係るシステムにおいては、中間データに基づくプレビュー機能やデータ編集機能を実現するために、追加処理アプリ２１６及び追加処理アプリ１１４が中間データを取得する際、ＯＳに組み込まれた仕組みであるランゲージモニタを介して中間データを取得する。従って中間データの保存先がＰＣ２側の場合であってもドライバサーバ１側の場合であっても、ランゲージモニタによってハンドリングされた情報を取得するのみで良いため、追加処理アプリ２１６及び追加処理アプリ１１４による中間データの取得を容易に実現することが可能となる。
【００６４】
従って、本実施形態に係るシステムによれば、情報処理装置を介して画像形成装置を利用するための機能の一部を、ネットワークを介して接続された他の装置との間で分散する場合において、汎用性の高いデータを生成する第一段階の処理と、汎用性の高いデータに基づいて付加機能を実現する第二段階の処理とを実現することが可能である。その結果、第二段階の処理において付加機能を実現するモジュールは、汎用性の高いデータに対応させれば良い。
【００６５】
また、最終的に画像処理装置３に入力するための印刷ジョブは、このようにして生成され、編集された汎用性の高いデータに基づいて生成される。従って、特定のデータ形式に対応させた新たなプリンタドライバを構築する必要がなく、従来から画像処理装置３に対応して用いられているプリンタドライバを実プリンタドライバとして用いることが可能であり、システムの実現がより容易である。
【００６６】
ここで、本実施形態においては、汎用性の高いデータ形式である中間データの例として、ＸＰＳやＰＤＦを例として説明した。ここで、ＸＰＳデータの構造について図１２を参照して説明する。図１２に示すようにＸＰＳデータは、Ｆｉｘｅｄ  Ｄｏｃｕｍｅｎｔ  Ｓｅｑｕｅｎｃｅ、Ｆｉｘｅｄ  Ｄｏｃｕｍｅｎｔ、Ｆｉｘｅｄ  Ｐａｇe、Ｉｍａｇｅ及びＦｏｎｔの情報を含むと共に、それらに関連付けられたプリントチケットから構成されている。
【００６７】
このようなＸＰＳデータの構成は、ＸＰＳドライバによって実現される仮想プリンタドライバ２１１の描画部２１３によるＸＰＳデータの生成処理に関連する。図１３は、仮想プリンタドライバ２１１にＸＰＳドライバを用いた場合の描画部２１３の構成を示す図である。ＸＰＳドライバの描画部はＰｒｉｎｔ  Ｆｉｌｔｅｒ  Ｐｉｐｅｌｉｎｅ  Ｓｅｒｖｉｃｅのプロセスで動作する。
【００６８】
図１３に示す各モジュールのうち、ベンダ側、即ち画像処理装置３を提供する業者側で開発できるのはフィルタ部分である。このフィルタ部分が、描画部２１３に含まれる中間データ生成部２１４として機能する。Ｆｉｌｔｅｒ  Ｐｉｐｅｌｉｎｅ  ＭａｎａｇｅｒとＩｎｔｅｒ−ｆｉｌｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｏｒが連携してフィルタを呼び出し、全てのフィルタの処理が終了するとフィルタによって処理が施された後のＸＰＳデータがスプーラ２１９に送信される。フィルタ間で必要となる描画情報はＰｒｉｎｔＰｉｐｅｌｉｎｅ  Ｐｒｏｐｅｒｔｙ  Ｂａｇを使って設定および取得が可能になる。
【００６９】
ＸＰＳのフィルタには種類があり、大きくはＸｔｏＸＦｉｌｔｅｒとＳｔｏＳＦｉｌｔｅｒがある。ＸｔｏＸＦｉｌｔｅｒはＸＰＳファイルをパーツごとに扱うことができる。ここで言うパーツとは、図１１において説明したＸＰＳデータを構成する夫々の情報である。一方ＳｔｏＳＦｉｌｔｅｒはＸＰＳファイルをストリームとして扱うことができる。
【００７０】
本実施形態に係る仮想プリンタドライバ２１１は、図１０において説明したように、印刷データと印刷設定情報を別個に出力する機能を有するが、この機能は夫々の機能を有するフィルタを実装することによって実現される。
【００７１】
図１４（ａ）、（ｂ）は、ＸｔｏＸＦｉｌｔｅｒ及びＳｔｏＳＦｉｌｔｅｒ夫々の場合における、中間データ生成部２１４からランゲージモニタを介したＸＰＳデータの出力態様を示す図である。図１４（ａ）は、描画部２１３を構成するフィルタをＳｔｏＳＦｉｌｔｅｒによって構成した場合を示す図である。上述したように、ＳｔｏＳＦｉｌｔｅｒはＸＰＳファイルをストリームとして扱うため、まとまったＸＰＳデータとしてデータが出力される。この場合、図１２において説明したように、ＸＰＳデータにはプリントチケットが含まれるため、別途プリントチケットを出力する必要はない。
【００７２】
図１４（ｂ）は、描画部２１３を構成するフィルタをＸｔｏＸＦｉｌｔｅｒによって構成した場合を示す図である。上述したように、ＸｔｏＸＦｉｌｔｅｒはＸＰＳファイルをパーツごとに扱うことができる。そのため、図１４（ｂ）の場合、中間データ生成部２１４は、ＸＰＳデータを構成するページ毎のＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データと、それに関連するＦｏｎｔ及びＩｍａｇｅのデータを出力する。
【００７３】
図１４（ｂ）の態様の場合、図１４（ａ）の態様と異なり、追加処理アプリ２１６及び追加処理アプリ１１４は、ＸＰＳデータがすべて出力される前に、ページ毎に中間データにアクセスすることが可能になる。尚、図１４（ｂ）の場合、ＸＰＳデータを構成するパーツ毎にデータが出力されるため、プリントチケットも出力される。これにより、追加処理アプリ２１６及び追加処理アプリ１１４が印刷設定を参照することが可能となる。
【００７４】
尚、上記実施形態においては、図６において説明したように、印刷データや印刷設定情報がドライバサーバ１側に格納される場合を例として説明した。これは一例であり、ＰＣ２側に格納されるような構成も可能である。但し、一般的なＰｏｉｎｔ＆Ｐｒｉｎｔにおいては、ランゲージモニタ１１３はＰＣ２にコピーされない。従って、ＰＣ２のプリンタドライバ２１０側でスプーラ２１９を介してランゲージモニタ１１３を呼び出す場合には、ドライバサーバ１側のランゲージモニタ１１３を呼び出すことが一般的な処理となる。
【００７５】
そのため、ＰＣ２側に中間データを格納する場合には、ランゲージモニタ１１３に受け渡すために一度ドライバサーバ１側に送信された中間データが、ランゲージモニタ１１３によって再度ＰＣ２側に送信されて格納されることとなり、非効率的な処理となる。これに対して、図６において説明したように、印刷データや印刷設定情報がドライバサーバ１側に格納される場合には、ランゲージモニタ１１３がドライバサーバ１側に構成されるため、効率的な処理が実現される。
【符号の説明】
【００７６】
１  ドライバサーバ
２  ＰＣ
３  画像処理装置
１０  ＣＰＵ
２０  ＲＡＭ
３０  ＲＯＭ
４０  ＨＤＤ
５０  Ｉ／Ｆ
６０  ＬＣＤ
７０  操作部
８０  バス
１０１  ＯＳ
１０２  ネットワークＩ／Ｆ
１１０  プリンタドライバ
１１１  印刷データ
１１２  印刷設定情報
１１３  ランゲージモニタ
１１４  追加処理アプリ
１１５  中間データ処理部
１１６  イベント受信部
１１７  実プリンタドライバ
１１８  スプーラ
１１９  メールスロット
２０１  アプリケーション
２０２  ＯＳ
２０３  ネットワークＩ／Ｆ
２１０  プリンタドライバ
２１１  仮想プリンタドライバ
２１２  印刷設定部
２１３  描画部
２１４  中間データ生成部
２１５  イベント送信部
２１６  追加処理アプリ
２１７  中間データ処理部
２１８  イベント受信部
２１９  スプーラ
【先行技術文献】
【特許文献】
【００７７】
【特許文献１】特開２０１０−２８６８７３号公報
【図１】
2014160406.tif 000003
【図２】
2014160406.tif 000004
【図３】
2014160406.tif 000005
【図４】
2014160406.tif 000006
【図５】
2014160406.tif 000007
【図６】
2014160406.tif 000008
【図７】
2014160406.tif 000009
【図８】
2014160406.tif 000010
【図９】
2014160406.tif 000011
【図１０】
2014160406.tif 000012
【図１１】
2014160406.tif 000013
【図１２】
2014160406.tif 000014
【図１３】
2014160406.tif 000015
【図１４】
2014160406.tif 000016