(57)【特許請求の範囲】
【請求項１】
印刷装置に印刷出力を実行させるための印刷制御装置であって、
プリンタドライバとして機能することにより印刷出力するべき画像及びユーザによって設定された印刷出力の設定を取得し、前記取得した画像に対して画像処理を行うことにより、仕様が公開された形式の第１の印刷情報を生成する第１の印刷情報生成部と、
前記印刷出力の設定において指定された印刷装置に送信するための第２の印刷情報を生成するプリンタドライバである第２の印刷情報生成部に、前記生成された第１の印刷情報に基づいて前記第２の印刷情報を生成させる再印刷制御部とを含み、
前記第１の印刷情報は、前記印刷出力の設定が前記仕様が公開された形式に変換された情報である設定情報を含み、
前記再印刷制御部は、ユーザの操作に応じて前記設定情報を編集する機能を含み、前記第１の印刷情報が生成された後、前記第２の印刷情報生成部による前記第２の印刷情報の生成に関する設定を行うための画面を表示するための情報を前記第２の印刷情報生成部から取得して出力することを特徴とする印刷制御装置。
【請求項２】
前記第１の印刷情報は、前記印刷出力するべき画像が前記仕様が公開された形式に変換された情報である画像情報を含み、
前記再印刷制御部は、前記画像情報に基づいて印刷出力するべき画像を表示装置に表示させるための表示情報を出力する機能を含むことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記再印刷制御部は、ユーザの操作に応じて前記画像情報を編集する機能を含むことを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
印刷装置に印刷出力を実行させるための印刷制御装置であって、
プリンタドライバとして機能することにより印刷出力するべき画像及びユーザによって設定された印刷出力の設定を取得し、前記取得した画像に対して画像処理を行うことにより、仕様が公開された形式の第１の印刷情報を生成する第１の印刷情報生成部と、
前記印刷出力の設定において指定された印刷装置に送信するための第２の印刷情報を生成するプリンタドライバである第２の印刷情報生成部に、前記生成された第１の印刷情報に基づいて前記第２の印刷情報を生成させる再印刷制御部とを含み、
前記第１の印刷情報生成部は、前記印刷出力の設定の取得に際して、前記第２の印刷情報生成部による前記第２の印刷情報の生成に関する機能の情報を取得し、前記第１の印刷情報に生成に関する機能及び前記第２の印刷情報の生成に関する機能の設定が可能な画面を表示するための表示情報を生成して出力することを特徴とする印刷制御装置。
【請求項５】
前記再印刷制御部は、前記第１の印刷情報生成部による要求に応じて、前記第２の印刷情報生成部による前記第２の印刷情報の生成に関する機能の情報を取得して前記第１の印刷情報生成部に通知することを特徴とする請求項４に記載の印刷制御装置。
【請求項６】
前記第１の印刷情報は、前記印刷出力するべき画像が前記仕様が公開された形式に変換された情報である画像情報を含み、
前記再印刷制御部は、前記画像情報に基づいて印刷出力するべき画像を表示装置に表示させるための表示情報を出力する機能を含むことを特徴とする請求項４または５に記載の印刷制御装置。
【請求項７】
前記再印刷制御部は、ユーザの操作に応じて前記画像情報を編集する機能を含むことを特徴とする請求項６に記載の印刷制御装置。
【請求項８】
前記再印刷制御部は、前記印刷出力の設定において指定された前記第２の印刷情報生成部に応じて、前記仕様が公開された形式とは異なる形式に変換された前記生成された前記第１の印刷情報に基づいて前記第２の印刷情報を生成させることを特徴とする請求項１乃至７いずれか１項に記載の印刷制御装置。
【請求項９】
印刷装置に印刷出力を実行させるための印刷制御装置を構成するための制御プログラムであって、
印刷出力するべき画像及びユーザによって設定された印刷出力の設定を取得するステップと、
前記取得した画像に対して画像処理を行うことにより、前記印刷出力の設定が仕様が公開された形式に変換された情報である設定情報を含む第１の印刷情報を生成するステップと、
前記印刷出力の設定において指定された印刷装置に送信するための第２の印刷情報を生成するプリンタドライバに対して、前記生成された第１の印刷情報に基づいて前記第２の印刷情報を生成させるステップと
前記第１の印刷情報が生成された後、前記プリンタドライバによる前記第２の印刷情報の生成に関する設定を行うための画面を表示するための情報を前記プリンタドライバから取得して出力するステップと、
ユーザの操作に応じて前記設定情報を編集するステップとを情報処理装置に実行させることを特徴とする制御プログラム。
【請求項１０】
請求項９に記載の制御プログラムを情報処理装置が読み取り可能な形式で記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷制御プログラム及び記録媒体に関し、特に、情報処理装置を介して印刷装置に印刷を実行させるための構成に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような画像処理装置のうち、電子化された書類の出力に用いられる印刷装置においては、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置において生成された印刷ジョブに基づいて印刷出力を実行するプリンタが一般的に利用されている。そして、プリンタに入力する印刷ジョブを生成するための機能を実現するソフトウェア・プログラムとして、夫々のプリンタの機能に対応したプリンタドライバを情報処理装置にインストールすることが一般的である。
【０００４】
プリンタドライバは、印刷対象の画像情報や印刷設定の情報を、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ）や、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）等のＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）言語によって記述された情報に変換することにより、印刷ジョブを生成する。
【０００５】
また、プリンタドライバを利用して提供される機能として、夫々の印刷装置に印刷ジョブを送信するための夫々のプリンタドライバと、夫々のプリンタドライバに印刷ジョブを送信させるための仮想的なプリンタドライバとの２段階にプリンタドライバを分けることにより、印刷出力が実行される装置を制御する方法が提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、印刷装置においては、プリンタドライバの機能を拡張し、若しくはプリンタドライバと他のシステムとを連携させることにより、様々なサービスが提供されている。しかしながら、プリンタドライバには、上述したようなＰＳ、ＰＣＬの他、印刷装置メーカー独自のＰＤＬ言語に対応したもの等、様々な形式のものがあり、特定のＰＤＬ言語に対応したプリンタドライバによって提供されるサービスを、他のＰＤＬ言語に対応させるためには、新たにプリンタドライバを構築し直す必要があるため、開発に負荷がかかると言う問題があった。
【０００７】
また、ＰＤＬ言語の使用によっては、特にメーカー独自のＰＤＬ言語の場合等、仕様が非公開の場合もあり、機能を拡張することや他のシステムとの連携が困難な場合もあり得る。尚、特許文献１に開示された方法は、印刷ジョブの送信先の制御に関するものであり、プリンタドライバを利用した様々な機能拡張に関する本件とは発明の趣旨が異なる。
【０００８】
本発明は、上記実情を考慮してなされたものであり、プリンタドライバを利用したサービスの提供を容易化することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一態様は、印刷装置に印刷出力を実行させるための印刷制御装置であって、プリンタドライバとして機能することにより印刷出力するべき画像及びユーザによって設定された印刷出力の設定を取得し、前記取得した画像に対して画像処理を行うことにより、仕様が公開された形式の第１の印刷情報を生成する第１の印刷情報生成部と、前記印刷出力の設定において指定された印刷装置に送信するための第２の印刷情報を生成するプリンタドライバである第２の印刷情報生成部に、前記生成された第１の印刷情報に基づいて前記第２の印刷情報を生成させる再印刷制御部とを含み、前記第１の印刷情報は、前記印刷出力の設定が前記仕様が公開された形式に変換された情報である設定情報を含み、前記再印刷制御部は、ユーザの操作に応じて前記設定情報を編集する機能を含み、前記第１の印刷情報が生成された後、前記第２の印刷情報生成部による前記第２の印刷情報の生成に関する設定を行うための画面を表示するための情報を前記第２の印刷情報生成部から取得して出力することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、プリンタドライバを利用したサービスの提供を容易化することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る印刷システムの機能構成を示すブロック図である。
【図２】本発明の実施形態に係るＰＣのハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係るＰＣ内のモジュールの詳細を示す図である。
【図４】本発明の実施形態に係る印刷データのデータ形式を示す図である。
【図５】本発明の実施形態に係る印刷設定データのデータ形式を示す図である。
【図６】本発明の実施形態に係る追加機能設定ファイルの例を示す図である。
【図７】本発明の実施形態に係るシステムの動作を示すシーケンス図である。
【図８】本発明の実施形態に係るシステムの動作を示すシーケンス図である。
【図９】本発明の実施形態に係るシステムの動作を示すシーケンス図である。
【図１０】本発明の実施形態に係るシステムの動作を示すシーケンス図である。
【図１１】本発明の実施形態に係るシステムの動作を示すシーケンス図である。
【図１２】本発明の実施形態に係るシステムの動作を示すシーケンス図である。
【図１３】本発明の実施形態に係るシステムの動作を示すシーケンス図である。
【図１４】本発明の実施形態に係るシステムの動作を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、印刷装置に印刷ジョブを入力するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）において、付加的な機能を実現した上で仕様の公開されたデータ形式で印刷出力するべき画像の情報を出力する付加機能ドライバと、夫々の印刷装置毎に対応したデータ形式で印刷ジョブを生成する個別ドライバに対して付加機能ドライバの出力結果を印刷指示として入力する再印刷制御モジュールとがインストールされていることにより、印刷制御装置として機能する例について説明する。
【００１５】
図１は、本実施形態に係る印刷システムの機能構成を示すブロック図である。図１に示すように、本実施形態に係る印刷システムはＰＣ１及び複数のプリンタ２を含み、ＰＣ１とプリンタ２とは、ネットワーク３を介して接続されている。ＰＣ１においては、インストールされたアプリケーション・プログラムやプリンタドライバ等がＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）１０１上で動作することにより、文書作成や画像編集等の機能を提供し、ユーザの操作に応じて、印刷出力するべき画像の元となる情報を提供する。
【００１６】
図１に示すようにＰＣ１は、コントローラ１００、記憶媒体１０１、モニタＩ／Ｆ１０２及びプリンタＩ／Ｆ１０３を含む。また、コントローラ１００は、ＯＳ１１０、アプリケーション１２０、付加機能ドライバ１３０、再印刷制御モジュール１４０及び複数の個別ドライバ１５０を含む。
【００１７】
記憶媒体１０１は、デジタル化された情報を記憶する記憶容量を提供するデバイスであり、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置によって実現される。モニタＩ／Ｆ１２０は、ディスプレイモニタを接続するためのインタフェースであり、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）等が用いられる。プリンタＩ／Ｆ１３０は、ＰＣ１と複数のプリンタ２とを接続するためのインタフェースであり、本実施形態においてはＥｔｈｅｒｎｅｔ（登録商標）が用いられる。
【００１８】
ＯＳ１１０は、Ｗｉｎｄｏｗｓ（登録商標）等の基本ソフトウェアであり、ＧＵＩ（Ｇｒａｐｈｉａｃｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）や、ハードウェアを制御するインタフェース等を提供する。また、本実施形態に係るＯＳ１１０は、アプリケーション１２０から印刷出力するべき画像データや文書データを取得し、付加機能ドライバが処理を施すためのデータである中間データを生成する。
【００１９】
アプリケーション１２０は、画像データや文書データ等を閲覧、編集するための機能を実現するソフトウェアである。上述したように、アプリケーション１２０は、ユーザの操作に従って閲覧または編集中の画像データや文書データ等をＯＳ１１０に入力し、上述した中間データの生成を要求する。
【００２０】
付加機能ドライバ１３０は、本実施形態の要旨に係る構成であり、アプリケーション１２０及びＯＳ１１０から従来のプリンタドライバと同様に一次的なプリンタドライバとして認識される第１の印刷情報生成部である。付加機能ドライバ１３０は、ＯＳ１１０によって生成された中間データに基づき、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）言語によって記述された画像情報である印刷データを生成すると共に、ユーザによって設定された印刷設定を示す印刷設定データを生成する。印刷データ及び印刷設定データが印刷情報として用いられる。この印刷データが、印刷出力するべき画像が仕様が公開された形式に変換された情報である画像情報として用いられ、印刷設定データが、印刷出力の設定が仕様が公開された形式に変換された情報である設定情報として用いられる。
【００２１】
ここで、付加機能ドライバ１３０は、仕様が公開されたＰＤＬ言語によって記述された印刷情報を生成する。本実施形態に係る付加機能ドライバ１３０は、仕様が公開されたＰＤＬ言語としてＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）を用いる。また、付加機能ドライバ１３０は、仕様が公開された形式の印刷設定データとして、ＰｒｉｎｔＴｉｃｋｅｔ形式の情報を生成する。このような汎用的な情報を用いることにより、付加機能ドライバ１３０における機能拡張の開発容易性を向上することが可能となる。
【００２２】
更に、付加機能ドライバ１３０は、プリンタドライバの機能を拡張することにより提供される様々な機能、即ち付加機能を実現する。付加機能ドライバ１３０によって実現される付加機能とは、プリンタ２のハードウェアを用いることなくソフトウェア処理によって実行可能な機能である。上述したように、仕様が公開された形式の情報を出力する付加機能ドライバ１３０において付加的な機能を実現することにより、機能付加の容易性を向上することが本実施形態に係る要旨の１つである。
【００２３】
再印刷制御モジュール１４０は、付加機能ドライバ１３０が出力した情報に基づき、夫々のプリンタ２に対応した個別ドライバ１５０に対する印刷指示、即ち再印刷の指示を行う再印刷制御部である。この再印刷制御モジュール１４０の機能により、夫々のプリンタ２に対応した個別ドライバ１５０を、従来通りアプリケーション１２０から直接動作させる場合と同様に動作させることが可能となる。
【００２４】
個別ドライバ１５０は、再印刷制御モジュール１４０による印刷指示に基づき、夫々対応するプリンタ２に対応した形式で記述された画像情報を含む印刷ジョブを生成し、ネットワークを介してプリンタ２に送信する。即ち、個別ドライバ１５０は、二次的なプリンタドライバとして機能する第２の印刷情報生成部である。個別ドライバ１５０が動作することにより、印刷出力が実行される。
【００２５】
尚、図１に示すような機能は、ソフトウェアとハードウェアとの組み合わせによって実現される。以下、本実施形態に係るＰＣ１のハードウェア構成について図２を参照して説明する。図２に示すように、本実施形態に係るＰＣ１は、一般的な情報処理端末と同様の構成を有する。即ち、本実施形態に係るＰＣ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４及びＩ／Ｆ１５がバス１３を介して接続されている。また、Ｉ／Ｆ１５にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）１６及び操作部１７が接続されている。
【００２６】
ＣＰＵ１０は演算手段であり、ＰＣ１全体の動作を制御する。ＲＡＭ１１は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ１２は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
【００２７】
ＨＤＤ１４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ１１０等の、コントローラ１００を構成するための各種の制御プログラム、アプリケーション・プログラム等が格納されている。また、ＨＤＤ１４は、図１に示す構成のうち記憶媒体１０１として機能する。
【００２８】
Ｉ／Ｆ１５は、バス１４と各種のハードウェアやネットワーク等を接続し制御する。また、Ｉ／Ｆ１５は、図１に示す構成のうち、モニタＩ／Ｆ１２０及びプリンタＩ／Ｆ１３０として機能する。ＬＣＤ１６は、ユーザがＰＣ１の状態を確認するための視覚的ユーザインタフェースである。操作部１７は、キーボードやマウス等、ユーザがＰＣ１に情報を入力するためのユーザインタフェースである。
【００２９】
このようなハードウェア構成において、ＲＯＭ１２やＨＤＤ１４若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがＲＡＭ１１に読み出され、それらのプログラムに従ってＣＰＵ１０が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、図１に示すような、本実施形態に係るＰＣ１の機能を実現する機能ブロックが構成される。
【００３０】
次に、本実施形態に係る付加機能ドライバ１３０、再印刷制御モジュール１４０及び個別ドライバ１５０の処理について、図３を参照して更に詳細に説明する。上述したように、アプリケーション１２０は、ユーザの操作に応じて、一次的なプリンタドライバである付加機能ドライバ１３０を起動し、付加機能ドライバ１３０のＧＵＩを介して設定される印刷出力の設定情報をＤＥＶＭＯＤＥ構造体と呼ばれる情報形式で取得する。
【００３１】
そして、ユーザの操作により印刷実行命令が入力されると、アプリケーション１２０は、ＯＳ１１０に含まれる描画エンジンであるＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）を起動し、中間データを生成させると共に、付加機能ドライバ１３０に対して印刷指示を入力する。
【００３２】
ＯＳ１１０は、ＧＤＩの機能によって中間データを生成すると、付加機能ドライバ１３０に中間データを入力する。付加機能ドライバ１３０は、ユーザによって設定された設定情報に従ってＯＳ１１０から取得した中間データを処理し、図３に示すようにＸＰＳ形式の印刷データを生成すると共に、ＤＥＶＭＯＤＥ構造体をＰｒｉｎｔＴｉｃｋｅｔ形式の印刷設定データに変換し、記憶媒体１０１に格納する。また、付加機能ドライバ１３０は再印刷制御モジュール１４０に対して印刷指示を入力する。
【００３３】
ここで、印刷データ及び印刷設定データのデータ形式について説明する。図４、図５は、夫々印刷データ及び印刷設定データのデータ形式を示す図である。図４、図５に示すように、本実施形態においてＸＰＳ形式である印刷データ及びＰｒｉｎｔＴｉｃｋｅｔ形式である印刷設定データは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）により記述されており、容易に編集することが可能である。
【００３４】
再印刷制御モジュール１４０は、付加機能ドライバ１３０からの印刷指示に従って記憶媒体１０１から印刷データ及び印刷設定データを取得すると、アプリケーション１２０が付加機能ドライバ１３０を起動するのと同様に個別ドライバ１５０を起動し、印刷指示を行う。再印刷制御モジュール１４０は、個別ドライバ１５０の起動に際して、ＰｒｉｎｔＴｉｃｋｅｔの情報に基づいて起動するべき個別ドライバ１５０を判断する。ここで、本実施形態に係る再印刷制御モジュール１４０は、プラグインとして追加される機能により、様々な機能を実現する。
【００３５】
図３に示すように、本実施形態に係る再印刷制御モジュール１４０は、プラグインとして実現される機能として、データ加工モジュール１４１、プレビューモジュール１４２及び設定変更モジュール１４３を含む。再印刷制御モジュール１４０においては、プレビューモジュール１４２が、付加機能ドライバ１３０からの印刷指示に従って記憶媒体１０１から印刷データを取得し、モニタＩ／Ｆ１０２を介してＬＣＤ１６に印刷出力のプレビューＧＵＩを表示する。これにより、ユーザは、プリンタ２に印刷ジョブが送信される前であって、且つ元の画像データから印刷データにデータが変換された後に、出力結果のプレビューを参照することが出来る。
【００３６】
データ加工モジュール１４１は、プレビューモジュール１４２がプレビューを表示するための再印刷制御モジュール１４０のＧＵＩにおけるユーザによる操作に応じて、印刷データを加工する機能を提供する。即ち、再印刷制御モジュール１４０のＧＵＩには、印刷データのプレビューを表示する表示部の他、ユーザがデータ加工モジュール１４１に対してデータ加工を指示するためのユーザインタフェースが含まれる。換言すると、再印刷制御モジュール１４０のＧＵＩは、ＸＭＬの編集により可能な画像加工の操作をユーザが行うためのインタフェースを提供する。
【００３７】
設定変更モジュール１４３は、付加機能ドライバ１３０からの印刷指示に従って記憶媒体１０１から印刷設定データを取得し、再印刷制御モジュール１４０のＧＵＩにおけるユーザによる操作に応じて印刷設定データの設定を変更する。即ち、再印刷制御モジュール１４０のＧＵＩには、ユーザが設定変更モジュール１４３に対して設定変更を指示するためのユーザインタフェースが含まれる。換言すると、再印刷制御モジュール１４０のＧＵＩは、ＸＭＬの編集により可能な設定変更の操作をユーザが行うためのインタフェースを提供する。
【００３８】
再印刷制御モジュール１４０は、データ加工モジュール１４１、プレビューモジュール１４２及び設定変更モジュール１４３夫々の機能を、図６に示すような追加機能設定ファイルによって管理している。図６に示すように、追加機能設定ファイルには、“機能名”、“プログラム名”、“呼び出しタイミング”の情報が含まれる。
【００３９】
“機能名”は、データ加工モジュール１４１、プレビューモジュール１４２及び設定変更モジュール１４３夫々の機能を識別するための識別子として用いられる。“プログラム名”は、データ加工モジュール１４１、プレビューモジュール１４２及び設定変更モジュール１４３夫々の機能を構成するためのプログラム名を示す情報である。“読出しタイミング”は、夫々の機能が実行されるタイミングを示す情報である。
【００４０】
本実施形態に係る個別ドライバ１５０は、図３に示すように、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）ドライバ１５１、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ）ドライバ１５２及び独自言語ドライバ１５３を含む。これら夫々のドライバは、プリンタ２の構成に応じてメーカーにより提供されるドライバであり、上述した印刷データ及び印刷設定データに基づき、夫々のプリンタ２において対応している言語形式の印刷データを生成する。
【００４１】
本実施形態においては、夫々のプリンタ２に対応して提供されるプリンタドライバである個別ドライバ１５０をそのまま残しつつ、付加的な機能を実現するためのプリンタドライバとして、アプリケーション１２０に対して従来のプリンタドライバと同様の一次的なドライバとして振る舞うことにより印刷指示を受け付ける付加機能ドライバ１３０を設ける。また、付加機能ドライバ１３０の出力結果に応じて、二次的なドライバとして振る舞う個別ドライバ１５０に印刷指示を入力する、即ち再印刷を実行する再印刷制御モジュール１４０を設ける。
【００４２】
そして、付加機能ドライバ１３０が、付加的な機能によって提供される処理を実行した上で、汎用的且つ仕様の公開されたデータ形式の印刷データ及び印刷設定データを出力する。そのため、個別ドライバ１５０は、再印刷制御モジュール１４０による再印刷の指示に応じて、従来通りの処理により印刷ジョブを生成して、対応するプリンタ２に印刷出力を実行させることが可能となる。
【００４３】
次に、本実施形態に係るＰＣ１における印刷出力の全体動作について、図７のシ−ケンス図を参照して説明する。図７に示すように、まずアプリケーション１２０が、ユーザの操作に応じて印刷を開始し（Ｓ７０１）、ユーザによって設定された印刷設定の情報を付加機能ドライバ１３０に入力する。これにより、付加機能ドライバ１３０は、ＤＥＶＭＯＤＥ構造体として取得した印刷設定の情報をＰｒｉｎｔＴｉｃｋｅｔに変換して記憶媒体１０１に格納する（Ｓ７０２）。
【００４４】
また、アプリケーション１２０は、ユーザの操作に応じて印刷が開始されると、ＯＳ１１０を介して中間データを付加機能ドライバ１３０に入力する（Ｓ７０３）。ここで、ＯＳ１１０によって生成される中間データは、ＥＭＦ（Ｅｎｈａｎｃｅｄ  ＭｅｔａＦｉｌｅ）形式の情報の他、ＸＰＳ形式の場合もあり得る。これにより、付加機能ドライバ１３０は、Ｓ７０１の結果取得した印刷設定に基づいて付加機能に関する処理を実行した上で、ＸＰＳ形式の印刷データを記憶媒体１０１に格納する（Ｓ７０４）。
【００４５】
印刷設定の情報及び中間データの出力が完了すると、アプリケーション１２０は、印刷終了を付加機能ドライバ１３０に通知する（Ｓ７０５）。これにより、付加機能ドライバ１３０は、再印刷制御モジュール１４０に対して印刷開始指示を通知する（Ｓ７０６）。
【００４６】
付加機能ドライバ１３０から印刷開始時指示、即ち再印刷の指示を受けた再印刷制御モジュール１４０は、記憶媒体１０１から印刷設定データを取得し、その言印刷設定データに基づいて個別ドライバ１５０に対して印刷開始指示を行う（Ｓ７０７）。Ｓ７０７において、再印刷制御モジュール１４０は、起動するべき個別ドライバ１５０を記憶媒体１０１から取得した印刷設定データに基づいて決定した上で、その印刷設定データを、決定した個別ドライバ１５０に送信する。
【００４７】
再印刷制御モジュール１４０から印刷設定データを取得した個別ドライバ１５０は、対応するプリンタ２に対応した形式に変換した印刷設定データを送信する（Ｓ７０８）。これにより、プリンタ２への印刷ジョブの送信が開始される。また、再印刷制御モジュール１４０は、印刷を開始すると、記憶媒体１０１から印刷データを取得し、起動した個別ドライバ１５０に入力する印刷処理を行う（Ｓ７０９）。これにより、個別ドライバ１５０は、再印刷制御モジュール１４０から取得した印刷データを、対応するプリンタ２に対応した形式に変換し、プリンタ２に送信する（Ｓ７１０）。これにより、プリンタ２において印刷出力が開始される。
【００４８】
再印刷制御モジュール１４０は、一連の印刷処理のデータとして記憶媒体１０１に格納されている印刷データを個別ドライバ１５０に出力し終えると、個別ドライバ１５０に印刷終了を通知する（Ｓ７１１）。これにより、個別ドライバ１５０による印刷ジョブの送信が完了する。その後、再印刷制御モジュール１４０は、個別ドライバ１５０に出力した印刷設定データ及び印刷データを破棄し（Ｓ７１２）、処理を終了する。このような処理により、上述したような本実施形態に係る効果が達成される。
【００４９】
次に、再印刷制御部モジュール１４０のプレビューモジュール１４２及びデータ加工モジュール１４１が用いられる場合の動作について、図８を参照して説明する。図８においては、図７のＳ７０６とＳ７０７の間の再印刷制御モジュール１４０の動作を中心にして説明する。図８に示すように、再印刷制御モジュール１４０は、Ｓ７０６において付加機能ドライバ１３０から印刷開始指示を受ける。
【００５０】
印刷開始指示を受けた再印刷制御モジュール１４０は、図６において説明した追加機能設定ファイルにおいてプレビュー及びデータ加工が設定されている場合、記録媒体１０１から印刷データを取得する（Ｓ８０１）。そして、再印刷制御モジュール１４０は、プレビュー画面を含むＧＵＩを生成してＬＣＤ１６に表示させると共に、ＧＵＩに対するユーザの操作に応じてデータ加工の操作を受け付ける（Ｓ８０２）。
【００５１】
データ加工の操作を受け付けると、再印刷制御モジュール１４０は、受け付けた操作に応じて印刷データを編集し（Ｓ８０３）、記憶媒体１０１に対して編集後の印刷データを上書きする（Ｓ８０４）。その後、再印刷制御モジュールは、上述したＳ７０７以降の処理を実行する。このような処理により、本実施形態に係る再印刷制御モジュール１４０においてプラグインとして実現されるデータ加工モジュール１４１及びプレビューモジュール１４２の処理が完了する。上述したように、Ｓ８０１〜Ｓ８０４の処理が実行されるか否かは、追加機能設定ファイルに記述された情報に基づいて再印刷制御モジュール１４０が判断する。
【００５２】
次に、再印刷制御部モジュール１４０の設定変更モジュール１４３が用いられる場合の動作について、図９を参照して説明する。図９においても、図７のＳ７０６とＳ７０７の間の再印刷制御モジュール１４０の動作を中心にして説明する。図９に示すように、再印刷制御モジュール１４０は、Ｓ７０６において付加機能ドライバ１３０から印刷開始指示を受ける。
【００５３】
印刷開始指示を受けた再印刷制御モジュール１４０は、図６において説明した追加機能設定ファイルにおいて印刷設定変更機能が設定されている場合、記録媒体１０１から印刷設定データを取得する（Ｓ９０１）。そして、再印刷制御モジュール１４０は、設定変更の受付画面を含むＧＵＩを生成してＬＣＤ１６に表示させると共に、ＧＵＩに対するユーザの操作に応じて設定変更の操作を受け付ける（Ｓ９０２）。
【００５４】
設定変更の操作を受け付けると、再印刷制御モジュール１４０は、受け付けた操作に応じて印刷設定データを編集し（Ｓ９０３）、記憶媒体１０１に対して編集後の印刷設定データを上書きする（Ｓ９０４）。その後、再印刷制御モジュールは、上述したＳ７０７以降の処理を実行する。このような処理により、本実施形態に係る再印刷制御モジュール１４０においてプラグインとして実現される設定変更モジュール１４２の処理が完了する。上述したように、Ｓ９０１〜Ｓ９０４の処理が実行されるか否かは、追加機能設定ファイルに記述された情報に基づいて再印刷制御モジュール１４０が判断する。
【００５５】
尚、図９の説明においては、設定変更の受付画面のＧＵＩとして、再印刷制御モジュール１４０のＧＵＩを用いる場合を例として説明した。しかしながら、再印刷制御モジュール１４０は、個別ドライバ１５０に対して印刷指示を入力する構成であるため、個別ドライバ１５０のＧＵＩを呼び出すことが可能である。従って、Ｓ９０２において、再印刷制御モジュール１４０は、個別ドライバ１５０のＧＵＩを呼び出し、既に記憶媒体１０１に格納されている印刷設定データの設定内容を反映させて表示するようにしても良い。
【００５６】
印刷出力に関する設定のうち、製本やステープル等のハードウェア的な処理が必要な設定は、夫々のプリンタ２に搭載されている機能に従って設定される必要がある。しかしながら、アプリケーション１２０を介して表示されるＧＵＩは付加機能ドライバ１３０のＧＵＩであり、個別ドライバ１５０のＧＵＩではない。そのため、最終的に印刷出力を実行するプリンタ２において実行可能な処理の設定項目が不十分となる可能性がある。
【００５７】
これに対して、再印刷制御モジュール１４０において、個別ドライバ１５０のＧＵＩを呼び出してユーザに提示することにより、上述したような課題を解決することが可能となる。
【００５８】
以上、説明したように、本実施形態に係る構成によれば、夫々のプリンタに対応したプリンタドライバである個別ドライバ１５０を二次的ドライバとして利用し、その前段で処理を行う一次的ドライバとして付加機能ドライバ１３０を構成する。そして、付加機能ドライバ１３０において、様々な付加機能を実現する。これにより、個別ドライバ１５０において用いられている言語や仕様に関わらず、付加機能を自由に設計することが可能となる。
【００５９】
また、付加機能ドライバ１３０は、上記様々な付加機能を実現した上で、汎用的且つ仕様が公開されたデータ形式のデータを印刷データ及び印刷設定データとして出力する。そして、一次的ドライバである付加機能ドライバ１３０の出力に基づいて個別ドライバ１５０に印刷指示を行う再印刷制御モジュール１４０を設ける。これにより、個別ドライバ１５０の前段において付加機能ドライバ１３０を動作させる構成において、ユーザになんら複雑な操作を行わせることなく、印刷出力を実行することが可能となる。
【００６０】
尚、上記実施形態においては、図１に示すように、付加機能ドライバ１３０及び個別ドライバ１５０が１つのＰＣ１内にインストールされている場合を例として説明した。この場合において付加機能ドライバ１３０及び個別ドライバ１５０をインストールする処理は、図１０のような手順で実行される。図１０は、ＰＣ１において付加機能ドライバ１３０及び個別ドライバ１５０をインストールする処理を示すシーケンス図である。
【００６１】
図１０に示すように、ＯＳ１１０は、ユーザの操作に応じて付加機能ドライバ１３０を構成するためのプログラムをＨＤＤ１４に記憶させることによりインストールする（Ｓ１００１）。これにより、ＰＣ１において付加機能ドライバ１３０が動作可能となる。また、ＯＳ１１０は、ユーザの操作に応じて個別ドライバ１５０を構成するためのプログラムをＨＤＤ１４に記憶させることによりインストールする（Ｓ１００２）。これにより、ＰＣ１において個別ドライバ１５０が動作可能となる。
【００６２】
ここで、本実施形態に係る効果は、図１に示すような態様の他、付加機能ドライバ１３０と個別ドライバ１５０とが異なる情報処理装置にインストールされている場合であっても得ることが可能である。その場合、再印刷制御モジュール１４０が、付加機能ドライバ１３０、個別ドライバ１５０夫々が動作する装置に設けられて互いに通信することにより上記実施形態と同様に動作する。
【００６３】
図１１は、付加機能ドライバ１３０と個別ドライバ１５０とが異なる情報処理装置であるＰＣ１ａ、ＰＣ１ｂにインストールされる場合における、付加機能ドライバ１３０及び個別ドライバ１５０をインストールする処理を示すシーケンス図である。図１１に示すように、一方の情報処理装置であるＰＣ１ａにおいて付加機能ドライバ１３０及び個別ドライバ１５０の両方がインストールされていることを前提とし、他の情報処理装置であるＰＣ１ｂにおいては、付加機能ドライバ１３０のみをインストールしてＰＣ１ａにインストールされている個別ドライバ１５０を用いることにより上記と同様の効果を得ることができる。
【００６４】
そのため、図１１に示すように、ＰＣ１ａのＯＳ１１０は、図１０の処理と同様に付加機能ドライバ１３０及び個別機能ドライバ１５０のインストールを実行する（Ｓ１１０１、Ｓ１１０２）。その後、ＰＣ１ｂのＯＳ１１０は、ユーザの操作に応じて付加機能ドライバ１３０を構成するためのプログラム及び設定するべきパラメータ情報を、ネットワークを介してＰＣ１ａのＯＳ１１０から取得する（Ｓ１１０３）。
【００６５】
Ｓ１１０３において、ＰＣ１ｂのＯＳ１１０は、ＰＣ１ｂにおいて動作する再印刷モジュール１４０及びＰＣ１ａにおいて動作する再印刷モジュール１４０を介して情報をやり取りする。また、Ｓ１１０３において取得される情報は、付加機能ドライバ１３０を構成するためのプログラムの他、ＰＣ１ａにインストールされている個別ドライバ１５０を用いるための通信に要するパラメータ等である。
【００６６】
Ｓ１１０３により必要な情報を取得すると、ＰＣ１ｂのＯＳ１１０は、取得した情報を用いて付加機能ドライバ１３０のインストールを実行し（Ｓ１１０４）、処理を終了する。Ｓ１１０４においては、付加機能ドライバ１３０を構成するためのプログラムをＨＤＤ１４に記憶させる処理の他、ＰＣ１ａとの間での通信を行うためのパラメータ設定処理等が行われる。
【００６７】
図１０、図１１における付加機能ドライバ１３０と個別ドライバ１５０とのインストール順は特に限定されるものではなく、先に個別ドライバ１５０をインストールしても良い。また、図１に示すように複数の個別ドライバ１５０が構成される場合、Ｓ１００２、Ｓ１００１の処理を繰り返すことにより対応可能である。
【００６８】
また、上記実施形態においては、付加機能ドライバ１３０がＸＰＳやＰｒｉｎｔＴｉｃｋｅｔ等の汎用的且つ仕様の公開された形式の情報を出力し、個別ドライバ１５０がそれらの情報に対応していることを前提として説明した。しかしながら、個別ドライバ１５０が仕様の古いドライバであり、付加機能ドライバ１３０が出力する形式の情報に対応していない場合もあり得る。そのような場合の動作について、図１２を参照して説明する。
【００６９】
図１２は、図７のＳ７０６とＳ７０７の間の再印刷制御モジュール１４０の処理を中心として説明するシーケンス図である。図１２に示すように、再印刷制御モジュール１４０は付加機能ドライバ１３０から印刷開始指示を取得すると、記憶媒体１０１から印刷設定データを取得し、印刷設定データにおいて指定されている出力先、即ち個別ドライバ１５０が、付加機能ドライバ１３０が出力する形式の情報に対応していない場合、ＯＳ１５０に対してデータ変換要求を行う（Ｓ１２０１）。
【００７０】
ＯＳ１５０においては、再印刷制御モジュール１４０からのデータ変換要求に応じて、記憶媒体１０１から印刷データ及び印刷設定データを取得し（Ｓ１２０２）、対象の個別ドライバ１５０が対応している形式に変換する（Ｓ１２０３）。その後、再印刷制御モジュール１４０は、変換後のデータを記憶媒体１０１における元データに上書きする（Ｓ１２０４）。
【００７１】
ＯＳ１１０による処理が終了すると、再印刷制御モジュール１４０は、変換されたデータを取得して、個別ドライバ１５０に印刷開始指示を行う（Ｓ７０７）。このような処理により、個別ドライバ１５０が仕様の古いドライバであり、付加機能ドライバ１３０が出力する形式の情報に対応していない場合も、上記と同様の効果を得ることができる。尚、ＯＳ１１０が変換するデータ形式としては、例えばＥＭＦ形式である。
【００７２】
また、上記実施形態においては、図９において説明したように、処理が付加機能ドライバ１３０から再印刷制御モジュール１４０に受け渡された後に、再印刷制御モジュール１４０の処理によって個別ドライバ１５０のＧＵＩを表示させる場合を例として説明した。このような場合、ユーザは、付加機能ドライバ１３０のＧＵＩにおける設定操作と、個別ドライバ１５０のＧＵＩにおける設定操作とを行うことになり、操作の手間が増える。
【００７３】
これに対して、付加機能ドライバ１３０のＧＵＩにおいて、個別ドライバ１５０の機能も含めて表示することができれば、上述したような操作の手間を解消することが可能である。そのような例について以下に説明する。図１３は、付加機能ドライバ１３０のＧＵＩにおいて、個別ドライバ１５０の機能も含めて表示する一態様を示すシーケンス図であり、図７のＳ７０１よりも前段の処理を示す図である。
【００７４】
ユーザによってプリンタドライバのＧＵＩ表示の操作が行われると、図１３に示すように、アプリケーション１２０は、付加機能ドライバ１３０にＧＵＩを要求する（Ｓ１３０１）。付加機能ドライバ１３０は、アプリケーション１２０からＧＵＩの要求を受けると、個別ドライバ１５０から機能情報を取得し（Ｓ１３０２）、取得した機能情報についての設定が可能なＧＵＩを生成してアプリケーション１２０に送信する（Ｓ１３０３）。アプリケーション１２０は、付加機能ドライバ１３０から取得したＧＵＩを表示する（Ｓ１３０４）。
【００７５】
Ｓ１３０３においては、上述したように、取得した機能情報についての設定が可能なＧＵＩを生成する場合の他、付加機能ドライバ１３０のＧＵＩに含まれる設定項目であって、個別ドライバ１５０の機能として含まれない設定項目を無効にする場合もあり得る。
【００７６】
図１３の態様は、付加機能ドライバ１３０が個別ドライバ１５０から機能情報を取得する構成であるが、ドライバ間の情報のやり取りがソフトウェアの仕様上難しいこともあり得る。そのような場合において、再印刷制御モジュール１４０が処理を仲介することにより個別ドライバ１５０の機能情報を取得することが容易になる場合もある。そのような態様について図１４に示す。
【００７７】
ユーザによってプリンタドライバのＧＵＩ表示の操作が行われると、図１４に示すように、アプリケーション１２０は、付加機能ドライバ１３０にＧＵＩを要求する（Ｓ１４０１）。付加機能ドライバ１３０は、アプリケーション１２０からＧＵＩの要求を受けると、再印刷制御モジュール１４０に対して、対象の個別ドライバ１５０を指定して機能情報を要求する（Ｓ１４０２）。
【００７８】
再印刷制御モジュール１４０は、付加機能ドライバ１３０から機能情報の要求を受けると、個別ドライバ１５０から機能情報を取得し（Ｓ１４０３）、取得した機能情報を付加機能ドライバ１３０に通知する（Ｓ１４０４）。付加機能ドライバ１３０は、再印刷制御モジュール１４０から機能情報を取得すると、取得した機能情報についての設定が可能なＧＵＩを生成してアプリケーション１２０に送信する（Ｓ１４０５）。アプリケーション１２０は、付加機能ドライバ１３０から取得したＧＵＩを表示する（Ｓ１４０６）。
【００７９】
このような処理により、付加機能ドライバ１３０と個別ドライバ１５０との間の直接の情報のやり取りが難しい場合であっても、付加機能ドライバ１３０が個別ドライバ１５０の機能情報を取得し、付加機能ドライバ１３０及び個別ドライバ１５０の機能設定を行うことが可能なＧＵＩをまとめて表示することができる。
【００８０】
尚、図１３、図１４においては、個別ドライバ１５０の機能情報を取得する場合を例として説明した。この機能情報とは、個別ドライバ１５０が所定期間毎にプリンタ２と通信することによって取得するプリンタ２の機能情報でも良いし、個別ドライバ１５０のＧＵＩを表示するための情報として個別ドライバ１５０に含まれる情報でも良い。
【符号の説明】
【００８１】
１、１ａ、１ｂ  ＰＣ
２  プリンタ
３  ネットワーク
１０  ＣＰＵ
１１  ＲＡＭ
１２  ＲＯＭ
１３  バス
１４  ＨＤＤ
１５  Ｉ／Ｆ
１６  ＬＣＤ
１７  操作部
１０１  記憶媒体
１０２  モニタＩ／Ｆ
１０３  プリンタＩ／Ｆ
１１０  ＯＳ
１２０  アプリケーション
１３０  付加機能ドライバ
１４０  再印刷制御モジュール
１４１  データ加工モジュール
１４２  プレビューモジュール
１４３  設定変更モジュール
１５０  個別ドライバ
１５１  ＰＣＬドライバ
１５２  ＰＳドライバ
１５３  独自言語ドライバ
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特開２０１０−２８６８７３号公報
【図１】
0005879807.tif 000002
【図２】
0005879807.tif 000003
【図３】
0005879807.tif 000004
【図４】
0005879807.tif 000005
【図５】
0005879807.tif 000006
【図６】
0005879807.tif 000007
【図７】
0005879807.tif 000008
【図８】
0005879807.tif 000009
【図９】
0005879807.tif 000010
【図１０】
0005879807.tif 000011
【図１１】
0005879807.tif 000012
【図１２】
0005879807.tif 000013
【図１３】
0005879807.tif 000014
【図１４】
0005879807.tif 000015