(57)【要約】【課題】プラグインを追加した場合に機能衝突を回避する。【解決手段】プリンタドライバ１０３は、印刷指示に従って描画データを生成する描画部１２２と、描画データに対して情報を追加する追加描画データを生成する、描画部を有する各プラグインの追加を受け付けるインターフェース部１１２と、描画データと、追加描画データと、を重畳するためのレイヤ番号を取得する配置取得部１２６と、生成された描画データと、プラグインの描画部により生成された追加描画データと、をレイヤ番号に従って重畳する重畳部１２５と、を備える。【選択図】図２
2010218310.tif 000002
【特許請求の範囲】
【請求項１】
印刷指示に従って描画データを生成する描画データ生成手段と、
前記描画データに対して情報を追加する追加描画データを生成する、描画機能を有するプラグインの追加を受け付けるインターフェース手段と、
前記描画データと、前記追加描画データと、を重畳するための設定情報を取得する取得手段と、
前記描画データ生成手段により生成された前記描画データと、前記プラグインの前記描画機能により生成された前記追加描画データと、を前記設定情報に従って重畳する重畳手段と、
を備えることを特徴とするプリンタドライバ。
【請求項２】
前記取得手段が取得する前記設定情報は、前記描画データと、前記追加描画データと、を重畳する順序が設定されていること、
を特徴とする請求項１に記載のプリンタドライバ。
【請求項３】
前記取得手段が取得する前記設定情報は、前記プラグインから取得すること、
を特徴とする請求項１又は２に記載のプリンタドライバ。
【請求項４】
前記設定情報を記憶する記憶手段をさらに備え、
前記取得手段が記憶する前記設定情報は、記憶手段から取得すること、
を特徴とする請求項１又は２に記載のプリンタドライバ。
【請求項５】
前記インターフェース手段は、複数のプラグインの追加を受け付け、
前記重畳手段は、前記描画データと、前記複数のプラグイン毎に生成される複数の前記追加描画データと、を前記設定情報に従って重畳すること、
を特徴とする請求項１乃至４のいずれか一つに記載のプリンタドライバ。
【請求項６】
印刷指示に従って描画データを生成する描画データ生成ステップと、
前記描画データに対して情報を追加する追加描画データを生成する、描画機能を有するプラグインの追加を受け付ける受付ステップと、
前記描画データと、前記追加描画データと、を重畳するための設定情報を取得する取得ステップと、
前記描画データ生成ステップにより生成された前記描画データと、前記プラグインの前記描画機能により生成された前記追加描画データと、を前記設定情報に従って重畳する重畳ステップと、
を有することを特徴とする印刷制御プログラム。
【請求項７】
前記取得ステップが取得する前記設定情報は、前記描画データと、前記追加描画データと、を重畳する順序が設定されていること、
を特徴とする請求項６に記載の印刷制御プログラム。
【請求項８】
印刷指示に従って描画データを生成する描画データ生成手段と、
前記描画データに対して情報を追加する追加描画データを生成する、描画機能を有するプラグインの追加を受け付けるインターフェース手段と、
前記描画データと、前記追加描画データと、を重畳するための設定情報を取得する取得手段と、
前記描画データ生成手段により生成された前記描画データと、前記プラグインの前記描画機能により生成された前記追加描画データと、を前記設定情報に従って重畳する重畳手段と、
を備えることを特徴とする印刷装置。
【請求項９】
前記取得手段が取得する前記設定情報は、前記描画データと、前記追加描画データと、を重畳する順序が設定されていること、
を特徴とする請求項８に記載の印刷装置。
【請求項１０】
請求項５又は６に記載の印刷制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラグインを追加可能なプリンタドライバ、印刷制御プログラム、印刷装置、及び記憶媒体に関する。
【背景技術】
【０００２】
従来から、オフィスのコンピュータ環境について、様々なオフィス機器をネットワークで接続している。そして、ネットワークで接続された機器を制御するために、ドライバソフトをＰＣ等にインストールすることが要求される。例えば、プリンタから印刷を行うためには、ＰＣに対してプリンタドライバをインストールする必要がある。
【０００３】
このプリンタドライバは、両面・集約・カラーなどの機能をどのように使用するかという印刷設定情報を備え、アプリケーションプログラムからの印刷要求を受け付けた場合に、印刷設定情報に従って、描画データをＰＤＬデータに変換してプリンタに送信している。
【０００４】
ところで、近年、当該プリンタドライバにおいて、ユーザのニーズの多様化に従って、プリンタドライバ単体に対する機能拡張のニーズが存在する。
【０００５】
このプリンタドライバを機能拡張するために、拡張モジュール(プラグイン)を組み込む技術が提案されている。これらの拡張モジュールで実現している機能としては、例えば、スタンプ機能、電子透かし、といった印刷追加機能などがある。
【０００６】
しかし、今までのプラグインによる機能拡張が可能なプリンタドライバにおいては、設定が衝突して、機能間で同時に使用することができない場合がある。例えば、プリンタドライバ本体の機能と追加されるプラグインの機能との衝突や、追加される一方のプラグインの機能と追加される他方のプラグインの機能との衝突が考えられる。
【０００７】
このように、同時に設定することができない機能は、プリンタドライバの印刷設定画面などで同時設定をできないようにすることで、衝突を回避している。そして、複数の機能を同時設定できないようにするためには、プラグインによる機能の追加に伴い、印刷画面を提供するプリンタドライバ本体について修正を行う必要がある。この場合、プラグインのみならず、プリンタドライバ本体も修正する必要があるため、開発負担が増大する。
【０００８】
そこで、プラグインによる機能を追加した場合に、プリンタドライバ本体の修正を行わなくともよい技術として、特許文献１に記載された技術がある。この特許文献１に記載された技術では、プリンタドライバに拡張モジュールを追加した後、拡張モジュールの機能衝突を解決するために、プリンタドライバ本体が、印刷設定データを拡張モジュール側に引渡し、拡張モジュールはプリンタドライバ本体の拡張インターフェースを通じて印刷設定データを変更している。これにより、プラグインを追加した場合に、プリンタドライバ本体の修正をしなくとも、機能が衝突を抑止することが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載された技術においては、プリンタドライバ本体と、拡張モジュール側と、の間の印刷設定データの交換で、適切な印刷設定を導き出す必要がある。このため、プラグインの制作者などが、機能が衝突した時に行う、機能が衝突しない印刷設定を予め拡張モジュール内に保持させておく必要があり、開発負担が大きくなる。
【００１０】
本発明は、上記に鑑みてなされたものであって、機能衝突を回避するプリンタドライバ、印刷制御プログラム、印刷装置、及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明にかかるプリンタドライバは、外部からの印刷指示に従って描画データを生成する描画データ生成手段と、前記描画データに対して記載を追加する追加描画データを生成する、描画機能を有するプラグインの追加を受け付けるインターフェース手段と、前記描画データと、前記追加描画データと、を重畳するための設定情報を取得する取得手段と、前記描画データ生成手段により生成された前記描画データと、前記プラグインの前記描画機能により生成された前記追加描画データと、を前記設定情報に従って重畳する重畳手段と、を備えることを特徴とする。
【００１２】
また、本発明にかかる印刷制御プログラムは、外部からの印刷指示に従って描画データを生成する描画データ生成ステップと、前記描画データに対して記載を追加する追加描画データを生成する、描画機能を有するプラグインの追加を受け付ける受付ステップと、前記描画データと、前記追加描画データと、を重畳するための設定情報を取得する取得ステップと、前記描画データ生成ステップにより生成された前記描画データと、前記プラグインの前記描画機能により生成された前記追加描画データと、を前記設定情報に従って重畳する重畳ステップと、を有することを特徴とする。
【００１３】
また、本発明にかかる印刷装置は、外部からの印刷指示に従って描画データを生成する描画データ生成手段と、前記描画データに対して記載を追加する追加描画データを生成する、描画機能を有するプラグインの追加を受け付けるインターフェース手段と、前記描画データと、前記追加描画データと、を重畳するための設定情報を取得する取得手段と、前記描画データ生成手段により生成された前記描画データと、前記プラグインの前記描画機能により生成された前記追加描画データと、を前記設定情報に従って重畳する重畳手段と、を備えることを特徴とする。
【００１４】
また、本発明にかかる記憶媒体は、上述した印刷制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、プリンタドライバと、プラグイン（拡張モジュール）との間で調整することなく、機能の衝突を抑止することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、第１の実施の形態にかかるプリンタシステムの全体構成図を示した図である。
【図２】図２は、第１の実施の形態にかかるＰＣの構成を示すブロック図である。
【図３】図３は、プリンタドライバが生成する描画データの示した説明図である。
【図４】図４は、ストリングプラグインによる文字列の追加機能を示した説明図である。
【図５】図５は、フレームプラグインによる枠線の追加機能を示した説明図である。
【図６】図６は、スタンププラグインによるスタンプの追加機能を示した説明図である。
【図７】図７は、レイヤ番号の取得手法を示した説明図である。
【図８】図８は、重畳して生成される描画データを示した説明図である。
【図９】図９は、複数のレイヤの追加描画データが存在する場合に、上位の対描画データを透過させる例を示した説明図である。
【図１０】図１０は、第１の実施の形態にかかるプリンタドライバにおける全体的な処理の手順を示すフローチャートである。
【図１１】図１１は、第１の実施の形態にかかるプリンタドライバにおけるＰＤＬデータを送信するまでの処理の手順を示すシーケンス図である。
【図１２】図１２は、第２の実施の形態にかかるＰＣの構成を示すブロック図である。
【図１３】図１３は、第２の実施の形態にかかる記憶部に記憶されたプラグイン情報の例を示した図である。
【図１４】図１４は、第１及び第２の実施の形態のＰＣのハードウェア構成を示した図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照して、この発明にかかるプリンタドライバ、印刷制御プログラム、印刷装置、及び記憶媒体の最良な実施の形態を詳細に説明する。
【００１８】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかるプリンタシステムの全体構成図を示した図である。図１に示すように、本実施の形態ではＰＣ１００とプリンタ１５０とがネットワーク１６０を介して接続されているものとする。そして、ＰＣ１００からの印刷要求に応じて、プリンタ１５０が印刷処理を行う。
【００１９】
図２は、ＰＣ１００の構成を示すブロック図である。図２に示すように、ＰＣ１００は、アプリケーション１０１と、ＯＳ１０２と、プリンタドライバ１０３と、通信部１０４とを備えている。
【００２０】
通信部１０４は、ネットワーク１６０を介して接続されたプリンタ１５０と情報の送受信を行う。
【００２１】
アプリケーション１０１は、利用者が利用するソフトウェアとする。ユーザはアプリケーション１０１で編集したデータを印刷したい場合、アプリケーション１０１が、印刷要求を受け付ける。この場合、アプリケーション１０１は、単体でプリンタ１５０に対する印刷データの生成を行わず、印刷要求と共に、印刷対象の情報をＯＳ１０２に受け渡す。
【００２２】
アプリケーション１０１としては、例えば、テキスト編集プログラムや表計算プログラム等とする。
【００２３】
ＯＳ１０２は、ＰＣ１００のハードウェアとソフトウェアとを管理するプログラムである。ＯＳ１０２は、プログラムの起動、情報の読み込み制御、保存制御等を行う。ＯＳのうち代表的なものとしては、ＵＮＩＸ（登録商標）等が知られている。
【００２４】
また、ＯＳ１０２は、アプリケーション１０１から受け渡された印刷要求と共に、印刷対象の情報を、プリンタドライバ１０３に受け渡す。
【００２５】
プリンタドライバ１０３は、コアドライバ１１１と、インターフェース（Ｉ／Ｆ）部１１２と、スタンププラグイン１１３と、フレームプラグイン１１４と、ストリングプラグイン１１５と、を備えている。
【００２６】
プリンタドライバ１０３では、機能を拡張するために、複数のプラグイン（追加モジュール）をインストールすることができる。図２に示す例では、スタンププラグイン１１３、フレームプラグイン１１４、及びストリングプラグイン１１５の三種類のプラグインが追加されている例とする。
【００２７】
本実施の形態にかかるプリンタドライバ１０３では、プラグイン毎に生成された追加描画データと、アプリケーション１０１から印刷要求に従って生成された描画データと、を重畳した描画データから、ＰＤＬデータを生成する。
【００２８】
図３は、プリンタドライバ１０３が生成する描画データの示した説明図である。図３に示すようにアプリケーション１０１から印刷要求に従って生成された描画データ３０１に対して、各プラグインが生成した追加描画データを重畳する。このため、プラグイン毎に、重畳するための順序を示すレイヤ番号が割り当てられているものとする。本実施の形態は、各プラグインが、レイヤ番号を保持している例とする。
【００２９】
インターフェース部１１２は、描画データに対して情報を追加する追加描画データを生成するための、プラグインの追加を受け付けるインターフェースとする。なお、情報とは、例えばスタンプや文字列などを示し、描画データに対して追加する記載が示された情報とする。プリンタドライバ１０３にプラグインが追加された場合、当該インターフェース部１１２を介して、追加されたプラグインの各モジュールを呼び出すことができる。また、追加されたプラグインも、当該インターフェース部１１２を介して、コアドライバ１１１の各モジュールを呼び出すことが可能となる。
【００３０】
ストリングプラグイン１１５は、印刷設定部１３５と、レイヤ番号保持部１３６と、描画部１３７とを備え、文字列の追加描画データを追加するプラグインとする。
【００３１】
印刷設定部１３５は、追加描画データを生成するための印刷設定を決定する機能を有する。
【００３２】
レイヤ番号保持部１３６は、他の描画データや追加描画データ等と重畳するための順序であるレイヤ番号を保持する。当該レイヤ番号は、必要に応じて、コアドライバ１１１に対して出力される。
【００３３】
描画部１３７は、印刷設定部１３５により決定された印刷設定に従って、文字列が表された追加描画データを生成する。
【００３４】
図４は、ストリングプラグイン１１５による文字列の追加機能を示した説明図である。図４の符号４０１が、アプリケーション１０１からの印刷要求に従って生成された描画データとする。そして、符号４０２に示す描画データが、ストリングプラグイン１１５の描画部１３７により生成された追加描画データとする。そして、プラグインとしてストリングプラグイン１１５のみ利用する場合、ストリングプラグイン１１５が生成した追加描画データ４０２が、描画データ４０２に追加されることで、描画データ４０３が生成される。これにより最終的にプリンタに送信する描画データが生成される。
【００３５】
フレームプラグイン１１４は、印刷設定部１４１と、レイヤ番号保持部１４２と、描画部１４３とを備え、枠線を追加するプラグインとする。
【００３６】
なお、印刷設定部１４１、及びレイヤ番号保持部１４２は、ストリングプラグイン１１５の印刷設定部１３５、及びレイヤ番号保持部１３６と同様として説明を省略する。
【００３７】
描画部１４３は、印刷設定部１４１により決定された印刷設定に従って、枠線が表された追加描画データを生成する。
【００３８】
図５は、フレームプラグイン１１４による枠線の追加機能を示した説明図である。図５の符号５０１が、アプリケーション１０１からの印刷要求に従って生成された描画データとする。当該描画データ５０３は、集約印刷として複数のページが示されている。そして、描画部１４３が、ページ毎に枠線が表された追加描画データを生成する。そして、プラグインとしてフレームプラグイン１１４のみ利用する場合、枠線が示された追加描画データ４０２が、描画データ５０１に追加されることで、描画データ５０２が生成される。これにより最終的にプリンタに送信する描画データが生成される。
【００３９】
図２に戻り、スタンププラグイン１１３は、印刷設定部１３１と、レイヤ番号保持部１３２と、描画部１３３とを備え、スタンプ画像を追加するプラグインとする。
【００４０】
なお、印刷設定部１３１、及びレイヤ番号保持部１３２は、ストリングプラグイン１１５の印刷設定部１３５、及びレイヤ番号保持部１３６と同様として説明を省略する。
【００４１】
描画部１３３は、印刷設定部１３１により決定された印刷設定に従って、スタンプが表された追加描画データを生成する。
【００４２】
図６は、スタンププラグイン１１３によるスタンプの追加機能を示した説明図である。図６の描画データ６０１が、アプリケーション１０１からの印刷要求に従って生成された描画データとする。そして、描画データ６０２が、スタンププラグイン１１３の描画部１３３により生成された追加描画データとする。そして、プラグインとしてスタンププラグイン１１３のみ利用する場合、スタンププラグイン１１３が生成した追加描画データ６０２が、描画データ６０１に追加されることで、描画データ６０３が生成される。
【００４３】
上述した各プラグインによる追加描画処理によって、プリンタドライバ本体による描画データの生成と合わせて、最終的にプリンタに送信する描画データが生成される。
【００４４】
なお、上述した各プラグインは、全て印刷設定部を備えていたが、プラグインによっては内部に存在しない場合も存在する。次に、プリンタドライバ本体であるコアドライバ１１１について説明する。
【００４５】
図２に戻り、コアドライバ１１１は、印刷設定部１２１と、描画部１２２と、を備え、プリンタドライバ１０３としての標準機能を有する。これら、印刷設定部１２１、及び描画部１２２は、プリンタドライバ１０３としての機能を果たすためのモジュール群とする。
【００４６】
印刷設定部１２１は、表示部１２３を備え、プリンタドライバ１０３が印刷するために必要な設定を行う。また、印刷設定部１２１は、ユーザやアプリケーションからの印刷設定を受け取り、描画データの生成に反映させる。
【００４７】
表示部１２３は、ユーザに印刷設定を提示する設定画面を表示する。そして、設定画面で入力された印刷設定を、描画データの生成する設定として用いられる。
【００４８】
描画部１２２は、配置取得部１２６と、描画要求部１２４と、重畳部１２５と、を備え、アプリケーションから印刷指示に従って描画データを生成した後、プリンタ１５０が印字できるＰＤＬデータに変換する。
【００４９】
配置取得部１２６は、描画データと、追加描画データと、を重畳するためのレイヤ番号を取得する。本実施の形態においては、配置取得部１２６は、各プラグインから、レイヤ番号を取得する。レイヤ番号とは、描画データと、追加描画データと、を重畳する順序を示す番号とする。本実施の形態では、描画データと、追加描画データとを重畳するための設定情報として、重畳する順序を示したレイヤ番号を用いた例について説明した。しかしながら、本実施の形態は、設定情報をレイヤ番号に制限するものではなく、描画データと、追加描画データと、の重畳手法を特定する情報であればよい。
【００５０】
図７は、レイヤ番号の取得手法を示した説明図である。図７に示すように、コアドライバ１１１の描画部１２２内の、配置取得部１２６が、当該プリンタドライバ１０３に追加されている各プラグイン（例えば、ストリングプラグイン１１５、及びスタンププラグイン１１３）に対して、レイヤ番号の取得要求７０１、７０２を行う。そして、取得要求を受け付けた各プラグインは、レイヤ番号保持部に格納されている、レイヤ番号を、配置取得部１２６に出力する。これにより、配置取得部１２６は、レイヤを配置するためのレイヤ番号を取得できる。これにより、プラグインの追加描画データの重ねあわせの順番を特定できる。
【００５１】
描画要求部１２４は、重畳するための追加描画データの要求を、各プラグインに対して行う。これにより、各プラグインで生成された追加描画データを取得する。
【００５２】
重畳部１２５は、描画部１２２により生成された描画データと、各プラグインの描画部により生成された追加描画データと、を取得したレイヤ番号に従って重畳する。重畳手法としては、図３に示すように、描画データに対して、レイヤ番号の順に追加描画データを重畳する。
【００５３】
そして、描画部１２２は、重畳された描画データを、ＰＤＬデータに変換する。これにより、最終的にプリンタに送信されるＰＤＬデータが生成されたことになる。
【００５４】
図８は、重畳して生成される描画データを示した説明図である。図８に示すように、重畳部１２５は、レイヤ０の描画データ８０１に対して、レイヤ１の「社外秘」と示された追加描画データ８０２と、レイヤ２のスタンプが示された追加描画データ８０３と、を重畳することで、描画データ８０４を生成している。
【００５５】
図８に示すように、レイヤ毎に重畳するため、複数の追加描画データの設定が競合することなく、それぞれ描画データ上に情報を追加することが可能となる。
【００５６】
図３及び図８に示す、重畳処理においては、レイヤ１の文字列が描画した追加描画データが、レイヤ２のスタンプが描画した追加描画データにより、上書きされる。
【００５７】
そして、例えば、本実施の形態にかかるＰＣ１００のプリンタドライバ１０３において、重要度に応じて、プラグイン毎に適切なレイヤ番号を割り当てることで、重要なプラグインによる情報の追加を容易に視認することが可能となる。
【００５８】
また、本実施の形態とは異なるが、レイヤ毎の追加描画データが透過されるように生成しても良い。図９は、複数のレイヤの追加描画データが存在する場合に、上位の追加描画データを透過させる例を示した説明図である。
【００５９】
つまり、レイヤ番号が‘１’のプラグインと、レイヤ番号が‘２’のプラグインとを利用する場合に、レイヤ番号が‘２’のプラグインの追加描画データ９０１が、レイヤ番号が‘１’のプラグインの追加描画データ９０２の上に重畳される。このため、描画要求部１２４は、レイヤ番号が‘２’のプラグインに対して、透過する追加描画データを生成するように要求する。
【００６０】
その後、重畳部１２５が、描画データに対して、透過しないレイヤ１の追加描画データと、透過するレイヤ２の追加描画データと、を重畳することで、複数の追加描画データの内容が確認可能なＰＤＬデータを生成できる。
【００６１】
次に、本実施の形態にかかるプリンタドライバ１０３のコアドライバ１１１における全体的な処理について説明する。図１０は、本実施の形態にかかるプリンタドライバ１０３における上述した処理の手順を示すフローチャートである。
【００６２】
まず、コアドライバ１１１が、アプリケーション１０１から印刷要求を受け付ける（ステップＳ１００１）。
【００６３】
次に、描画部１２２が、印刷要求に従って描画データを生成する（ステップＳ１００２）。
【００６４】
そして、配置取得部１２６が、印刷に用いるプラグインのレイヤ番号を、各プラグインから取得する（ステップＳ１００３）。
【００６５】
その後、描画要求部１２４が、各プラグインに対して、追加描画データの生成要求を行う（ステップＳ１００４）。
【００６６】
そして、描画要求部１２４が、各プラグインから、追加描画データを取得する（ステップＳ１００５）。
【００６７】
これにしたがって、重畳部１２５は、生成された描画データ、及び取得した追加描画データを、取得したレイヤ番号に従って重畳した後、ＰＤＬデータに変換する（ステップＳ１００６）。
【００６８】
そして、通信部１０４が、ＰＤＬデータを、プリンタ１５０に対して送信する（ステップＳ１００７）。
【００６９】
上述した処理手順により、各プラグイン及び、プリンタドライバ１０３の本体であるコアドライバ１１１の処理が競合することなく、ＰＤＬデータを生成できる。
【００７０】
次に、本実施の形態にかかるプリンタドライバ１０３におけるＰＤＬデータを送信するまでの処理について説明する。図１１は、本実施の形態にかかるプリンタドライバ１０３における上述した処理の手順を示すシーケンス図である。本シーケンス図では、プラグインとして、ストリングプラグイン１１５と、スタンププラグイン１１３と、を用いた場合とする。
【００７１】
まずは、アプリケーション１０１から、ＯＳ１０２に対して印字命令（印刷要求）が行われる（ステップＳ１１０１）。印字命令を受け付けたＯＳ１０２は、プリンタドライバ１０３のコアドライバ１１１に対して、印字要求（印刷要求）を行う（ステップＳ１１０２）。
【００７２】
これに伴い、コアドライバ１１１の描画部１２２が、描画データを生成する（ステップＳ１１０３）。次に、配置取得部１２６が、各プラグインに対して、レイヤ番号の取得を要求する。
【００７３】
具体的には、配置取得部１２６が、まず、ストリングプラグイン１１５に対して、レイヤ番号の取得を要求する（ステップＳ１１０４）。そして、ストリングプラグイン１１５のレイヤ番号保持部１３６に保持されたレイヤ番号が、配置取得部１２６に対して出力される（ステップＳ１１０５）。
【００７４】
そして、配置取得部１２６が、次に、スタンププラグイン１１３に対して、レイヤ番号の取得を要求する（ステップＳ１１０６）。そして、スタンププラグイン１１３のレイヤ番号保持部１３２に保持されたレイヤ番号が、配置取得部１２６に対して出力される（ステップＳ１１０７）。
【００７５】
その後、描画要求部１２４が、ストリングプラグイン１１５に対して、印字命令（追加描画データの生成要求）を行う（ステップＳ１１０８）。これにより、ストリングプラグイン１１５の描画部１３７は、追加描画データを生成する（ステップＳ１１０９）。そして、描画部１３７は、生成した追加描画データをコアドライバ１１１に出力する（ステップＳ１１１０）。
【００７６】
さらに、描画要求部１２４が、スタンププラグイン１１３に対して、印字命令（追加描画データの生成要求）を行う（ステップＳ１１１１）。これにより、ストリングプラグイン１１５の描画部１３７は、追加描画データを生成する（ステップＳ１１１２）。そして、描画部１３７は、生成した追加描画データをコアドライバ１１１に出力する（ステップＳ１１１３）。
【００７７】
そして、重畳部１２５は、ステップＳ１１０３で生成された描画データと、ステップＳ１１１０及びステップＳ１１１３で取得した追加描画データとを、ステップＳ１１０５及びステップＳ１１０７で取得したレイヤ番号に従って重畳する（ステップＳ１１１４）。その後、重畳部１２５は、重畳した描画データを、ＰＤＬデータに変換する（ステップＳ１１１５）。
【００７８】
そして、コアドライバ１１１は、通信部１０４にＰＤＬデータを送信する（ステップＳ１１１６）。そして、通信部１０４は、送信されてきたＰＤＬデータを、プリンタ１５０に対して送信する。その後、通信部１０４は、送信が終了したことをコアドライバ１１１に通知する（ステップＳ１１１７）。
【００７９】
これを受けて、コアドライバ１１１は、プリンタ１５０に送信したことをＯＳ１０２に通知する（ステップＳ１１１８）。その後、ＯＳ１０２は、アプリケーション１０１に対して、プリンタ１５０に送信したことを通知する（ステップＳ１１１９）。
【００８０】
上述した処理手順により、プリンタドライバ１０３において、複数のプラグインを用いた印刷処理を可能とする。
【００８１】
本実施の形態にかかるプリンタドライバ１０３では、プリンタドライバ本体（コアドライバ１１１）側のみで、追加されたプラグインにおける印刷追加機能の衝突問題を解決することができる。
【００８２】
また、本実施の形態にかかるプリンタドライバ１０３では、プログラムの再ビルドを行うことなく、追加された機能の衝突問題を解決することができる。
【００８３】
また、本実施の形態にかかるプリンタドライバ１０３では、各プラグイン及びコアドライバ１１１が生成した（追加）描画データを各レイヤに割り当て、各レイヤをレイヤ番号順に重畳することで、プリンタドライバ１０３本体（コアドライバ１１１）と、プラグイン（拡張モジュール）との間で調整することなく、機能の衝突を抑止することができる。
【００８４】
（第２の実施の形態）
第１の実施の形態にかかるプリンタドライバ１０３では、レイヤ番号を各プラグインから取得する例について説明した。しかしながら、レイヤ番号の取得先を各プラグインに制限するものではなく、レイヤ番号を一括して管理しても良い。そこで、第２の実施の形態にかかるプリンタドライバでは、記憶部に記憶されたプラグイン情報から、レイヤ番号を取得する例について説明する。
【００８５】
図１２は、第２の実施の形態にかかるＰＣ１２００の構成を示すブロック図である。ＰＣ１２００は、記憶部１２０１が追加されると共に、プリンタドライバ１０３とは処理が異なるプリンタドライバ１２０２に変更された構成を有している点で異なる。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【００８６】
記憶部１２０１は、プラグイン情報を記憶する。図１３は、プラグイン情報の例を示した図である。図１３に示すように、プラグイン情報では、追加されたプラグインの名称と、プラグインの表すダイナミック・リンク・ライブラリとを対応付けて保持されている。そして、当該プラグイン情報の最初の行から順に、レイヤ番号が割り当てられているものとする。即ち、レイヤ番号１が文字列追加のプラグインであり、レイヤ番号２が枠線追加のプラグインであり、レイヤ番号３がスタンプ追加のプラグインである。そして、当該プラグイン情報を参照することで、各プラグインのレイヤ番号を特定できる。なお、プラグイン情報はどのような形式のファイルでも良いが、例えば‘ｉｎｉ’形式のファイルとすることが考えられる。
【００８７】
図１２に戻り、プリンタドライバ１２０２は、コアドライバ１２１１と、インターフェース部１１２と、スタンププラグイン１２２１と、フレームプラグイン１２２２と、ストリングプラグイン１２２３と、を備える。
【００８８】
スタンププラグイン１２２１、フレームプラグイン１２２２、及びストリングプラグイン１２２３は、スタンププラグイン１１３、フレームプラグイン１１４、及びストリングプラグイン１１５と異なる点として、それぞれのプラグインがレイヤ番号保持部を備えていない点とする。つまり、本実施の形態においては、各プラグインに対して、レイヤ番号の取得要求を行わない。なお、他の構成については、第１の実施の形態と同様として説明を省略する。
【００８９】
コアドライバ１２１１は、第１の実施の形態のコアドライバ１１１と異なる点として、描画部１２２と処理が異なる描画部１２１２を備えている点とする。
【００９０】
描画部１２１２は、第１の実施の形態の描画部１２２と異なる点として、配置取得部１２６と処理が異なる配置取得部１２３１を備えている点とする。
【００９１】
配置取得部１２３１は、描画データと、追加描画データと、を重畳するためのレイヤ番号を、記憶部１２０１に記憶されたプラグイン情報から取得する。これにより、各プラグインのレイヤ番号を取得できる。
【００９２】
第２の実施の形態のＰＣ１２００は、他の構成については、第１の実施の形態と同様なので説明を省略する。そして、第２の実施の形態のＰＣ１２００は、上述した構成を備えることで、第１の実施の形態と同様の効果を得ることができる。
【００９３】
図１４は、上述した実施の形態のＰＣ（１００、１２００）のハードウェア構成を示した図である。図１４に示すようにＰＣ（１００、１２００）は、ＣＰＵ１４０１と、ＲＯＭ（Read  Only  Memory）１４０２と、ＲＡＭ１４０３と、ＨＤＤ１４０４と、ディスプレイ装置などの表示装置１４０５と、キーボードやマウスなどの入力装置１４０６と、通信インターフェース１４０７と、これらを接続するバス１４０８と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９４】
上述した実施の形態にかかるＰＣ（１００、１２００）で実行されるプリンタドライバ（プログラム）１０３、１２０２は、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記録されて提供される。
【００９５】
また、上述した実施の形態にかかるＰＣ（１００、１２００）で実行されるプリンタドライバ１０３、１２０２を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態にかかるＰＣ（１００、１２００）で実行されるプリンタドライバ１０３、１２０２をインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９６】
また、上述した実施の形態にかかるＰＣ（１００、１２００）で実行されるプリンタドライバ１０３、１２０２を、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００９７】
上述した実施の形態にかかるＰＣ（１００、１２００）で実行されるプリンタドライバ１０３、１２０２は、上述した各部（コアドライバ及び各種プラグイン）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ１４０１が上記記憶媒体からプリンタドライバ１０３、１２０２を読み出して実行することにより上記各部がＲＡＭ１４０３上にロードされ、コアドライバ及び各種プラグインがＲＡＭ１４０３上に生成されるようになっている。
【符号の説明】
【００９８】
１０１  アプリケーション
１０２  ＯＳ
１０３、１２０２  プリンタドライバ
１０４  通信部
１１１、１２１１  コアドライバ
１１２  インターフェース部
１１３、１２２１  スタンププラグイン
１１４、１２２２  フレームプラグイン
１１５、１２２３  ストリングプラグイン
１２１  印刷設定部
１２２、１２１２  描画部
１２３  表示部
１２４  描画要求部
１２５  重畳部
１２６、１２３１  配置取得部
１３１、１３５、１４１  印刷設定部
１３２、１３６、１４２  レイヤ番号保持部
１３３、１３７、１４３  描画部
１５０  プリンタ
１６０  ネットワーク
１４０１  ＣＰＵ
１４０２  ＲＯＭ
１４０３  ＲＡＭ
１４０４  ＨＤＤ
１４０５  表示装置
１４０６  入力装置
１４０７  通信インターフェース
１４０８  バス
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２００５−２０８９１６号公報
【図１】
2010218310.tif 000003
【図２】
2010218310.tif 000004
【図３】
2010218310.tif 000005
【図４】
2010218310.tif 000006
【図５】
2010218310.tif 000007
【図６】
2010218310.tif 000008
【図７】
2010218310.tif 000009
【図８】
2010218310.tif 000010
【図９】
2010218310.tif 000011
【図１０】
2010218310.tif 000012
【図１１】
2010218310.tif 000013
【図１２】
2010218310.tif 000014
【図１３】
2010218310.tif 000015
【図１４】
2010218310.tif 000016