(57)【特許請求の範囲】
【請求項１】
印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバであって、
前記プリンタドライバは、前記印刷装置の印刷機能に関する情報を提供するPrinter Driver core部と、前記Printer Driver core部から取得した情報に基づいて、各々の印刷機能を設定するための１又は複数の設定UIを表示部に表示させる印刷設定UI部と、が別々に構成されるものであり、
前記コンピュータ装置に、
前記Printer Driver core部から取得した指示情報で指示された設定UIが実装されているかを判断する判断処理、
前記指示情報で指示された設定UIが実装されていない場合に、予め取得した互換性情報を参照して、前記指示された設定UIと互換性がある設定UIを検索する検索処理、
前記指示された設定UI又は前記互換性がある設定UIが実装されている場合に、当該設定UIを前記表示部に表示させる表示制御処理、を実行させる、
ことを特徴とするプリンタドライバ。
【請求項２】
前記コンピュータ装置に、更に、
前記互換性がある設定UIを前記表示部に表示させる際に、前記Printer Driver core部から取得したPrintTicketで指定された設定値が前記設定UIで選択できない場合は、当該設定値を前記設定UIで選択可能な設定値に変更する禁則処理を実行させる、
ことを特徴とする請求項１に記載のプリンタドライバ。
【請求項３】
前記表示制御処理では、前記指示された設定UIと互換性がある設定UIが実装されていない場合は、前記指示された設定UIを前記表示部に表示させない、
ことを特徴とする請求項１又は２に記載のプリンタドライバ。
【請求項４】
前記互換性情報は、設定UIに対して非表示の指定が可能であり、
前記表示制御処理では、前記指示された設定UIが実装されておらず、かつ、前記指示された設定UIに対して前記互換性情報において非表示の指定がされている場合は、前記指示された設定UIを前記表示部に表示させない、
ことを特徴とする請求項１又は２に記載のプリンタドライバ。
【請求項５】
前記表示制御処理では、前記指示された設定UIを前記表示部に表示させない場合は、当該設定UIが表示できない旨の情報を前記表示部に表示させる、
ことを特徴とする請求項３又は４に記載のプリンタドライバ。
【請求項６】
前記互換性情報は、１つの印刷機能に対して前記互換性がある設定UIを複数設定することができ、
前記検索処理では、前記指示された設定UIが実装されていない場合は、予め定められた優先度に従って、前記互換性がある設定UIを順番に検索する、
ことを特徴とする請求項１乃至５のいずれか一に記載のプリンタドライバ。
【請求項７】
前記印刷設定UI部は、前記Printer Driver core部とはバージョンが異なる、
ことを特徴とする請求項１乃至６のいずれか一に記載のプリンタドライバ。
【請求項８】
前記印刷設定UI部は、前記Printer Driver core部よりもバージョンが古い、
ことを特徴とする請求項７に記載のプリンタドライバ。
【請求項９】
前記プリンタドライバは、Windows（登録商標）のオペレーティングシステム上で動作するversion4のプリンタドライバである、
ことを特徴とする請求項１乃至８のいずれか一に記載のプリンタドライバ。
【請求項１０】
前記指示情報及び前記互換性情報は、前記Printer Driver core部のDriverPropertybagで定義されている、
ことを特徴とする請求項９に記載のプリンタドライバ。
【請求項１１】
前記指示情報は、前記DriverPropertybagのUITypeSettingsで定義され、前記互換性情報は、前記DriverPropertybagのUITypeCompatibilityで定義される、
ことを特徴とする請求項１０に記載のプリンタドライバ。
【請求項１２】
印刷装置と、前記印刷装置に印刷を指示するコンピュータ装置と、が通信ネットワークで接続された印刷システムにおいて、
前記コンピュータ装置は、前記印刷装置の印刷機能に関する情報を提供するPrinter Driver core部と、前記Printer Driver core部から取得した情報に基づいて、各々の印刷機能を設定するための１又は複数の設定UIを表示部に表示させる印刷設定UI部と、を別々に備え、
前記印刷設定UI部は、
前記Printer Driver core部から取得した指示情報で指示された設定UIが実装されているかを判断する判断部と、
前記指示情報で指示された設定UIが実装されていない場合に、予め取得した互換性情報を参照して、前記指示された設定UIと互換性がある設定UIを検索する検索部と、
前記指示された設定UI又は前記互換性がある設定UIが実装されている場合に、当該設定UIを前記表示部に表示させる表示制御部と、を備える、
ことを特徴とする印刷システム。
【請求項１３】
印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバの画面表示方法であって、
前記プリンタドライバは、前記印刷装置の印刷機能に関する情報を提供するPrinter Driver core部と、前記Printer Driver core部から取得した情報に基づいて、各々の印刷機能を設定するための１又は複数の設定UIを表示部に表示させる印刷設定UI部と、が別々に構成され、
前記コンピュータ装置は、
前記Printer Driver core部から取得した指示情報で指示された設定UIが実装されているかを判断する判断処理と、
前記指示情報で指示された設定UIが実装されていない場合に、予め取得した互換性情報を参照して、前記指示された設定UIと互換性がある設定UIを検索する検索処理と、
前記指示された設定UI又は前記互換性がある設定UIが実装されている場合に、当該設定UIを前記表示部に表示させる表示制御処理と、を実行する、
ことを特徴とするプリンタドライバの画面表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバ及び印刷システム並びにプリンタドライバの画面表示方法に関し、特に、Windows（登録商標、以下省略）のオペレーティングシステム（OS：Operating System）上で動作するVersion4のプリンタドライバ及び当該プリンタドライバが動作するコンピュータ装置を含む印刷システム並びに当該プリンタドライバにおける画面表示方法に関する。
【背景技術】
【０００２】
WindowsOS上で動作するプリンタドライバに関して、Microsoft（登録商標、以下省略）社からハードウェアメーカー向けのガイドラインが示されており、ハードウェアメーカーでは、このガイドラインに従って、Windows2000〜Windows7を想定したVersion3のプリンタドライバを提供している。
【０００３】
その後、WindowsOSとしてWindows8やServer2012が登場しており、特にWindows8では、UI（User Interface）がタイル状のユーザーインタフェースであるMetroスタイルに変更されたことから、ハードウェアメーカーでは、新しいプリンタドライバアーキテクチャを採用したVersion4のプリンタドライバの開発を進めている。
【０００４】
このVersion4のプリンタドライバモデルは、大別するとPrinter Driver core部と印刷設定UI部の２つのレイヤーで構成される。これら２つのレイヤーはプロセス分離が図られており、個別に提供することができるようになっている。
【０００５】
Printer Driver core部は、印刷機能を提供するアプリケーションであり、各印刷機能を定義するGPD（Generic Printer Description）/PPD（PostScript Printer Description）などの構成ファイル、レンダリング時に描画命令の編集を行う印刷フィルタ、印刷機能の設定の競合を処理する禁則JavaScript（登録商標、以下省略）部などのモジュールから構成されている。
【０００６】
また、印刷設定UI部は、Printer Driver core部から独立したアプリケーションであり、Printer Driver core部から提供されるPrintCapabilitiesと呼ばれる印刷機能情報と、PrintTicketと呼ばれる印刷設定情報とを元にして設定UIの提供を行う。
【０００７】
このように、Version4のプリンタドライバではPrinter Driver core部と印刷設定UI部とは独立して提供されるため、これらのバージョンが非同期になることがある。例えば、Printer Driver core部をＣＤやｗｅｂなどから取得し、印刷設定UI部をWindowsストアなどから取得するなど、それぞれの別々の提供経路から取得した場合、これらのバージョンが非同期になる可能性が高く、両者に互換性がない場合が生じる。
【０００８】
上記Version4のプリンタドライバモデルに関する技術ではないが、プリンタドライバの互換性に関する技術として、例えば、下記特許文献１には、プリンタドライバのバージョンと印刷装置のファームウェアのバージョンから互換性の有無を判断し、互換性が無い場合には印刷されない旨の情報と互換性があるプリンタドライバのバージョン情報の表示を行う技術が開示されている。また、下記特許文献２には、プリンタドライバが印刷装置のファームウェアのバージョンを取得し、印刷可能な印刷装置かを判別し、印刷が不可能と判断された場合には印刷をキャンセルする技術が開示されている。また、下記特許文献３には、プリンタドライバは印刷装置から構成データを取得し不揮発性記憶装置に格納し、構成データを元にＧＵＩ（Graphical User Interface）を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１３−１７５０８０号公報
【特許文献２】特開２００８−２０４１６９号公報
【特許文献３】特開２００５−３０２０３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
プリンタドライバによって表示される設定UIには、ＭＦＰ（Multi Function Peripheral）向け、プリンタ向けなど、印刷機能に応じた複数の設定UIが存在することがあり、これらの設定UIの中には互換性があるものと無いものとが混在する。例えば、設定UIとして、MFP_V1、MFP_V2、Printerと３種類があった時に、MFP_V1とMFP_V2は互換性があるが、Printerは、MFP_V1およびMFP_V2と互換性が無い場合などがある。
【００１１】
ここで、設定UIは印刷機能毎にPrinter Driver core部が指示し、印刷設定UI部はその指示に従って設定UIを表示する。そのため、例えば、Printer Driver core部のバージョンが印刷設定UI部のバージョンよりも新しく、Printer Driver core部に指示された設定UIが印刷設定UI部に実装されていない場合は、その設定UIを表示することができないという問題が生じる。
【００１２】
この問題に対して、無条件に印刷設定UI部に実装されている設定UIを表示する方法も考えられる。しかしながら、この方法では、Printer Driver core部が指示した設定UIと印刷設定UI部に実装されている設定UIとに互換性がない場合は、その印刷機能の設定ができない。
【００１３】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、Printer Driver core部と印刷設定UI部のバージョンが異なる場合であっても、適切に印刷設定を行うことができるプリンタドライバ及び印刷システム並びにプリンタドライバの画面表示方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の一側面は、印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバであって、前記プリンタドライバは、前記印刷装置の印刷機能に関する情報を提供するPrinter Driver core部と、前記Printer Driver core部から取得した情報に基づいて、各々の印刷機能を設定するための１又は複数の設定UIを表示部に表示させる印刷設定UI部と、が別々に構成されるものであり、前記コンピュータ装置に、前記Printer Driver core部から取得した指示情報で指示された設定UIが実装されているかを判断する判断処理、前記指示情報で指示された設定UIが実装されていない場合に、予め取得した互換性情報を参照して、前記指示された設定UIと互換性がある設定UIを検索する検索処理、前記指示された設定UI又は前記互換性がある設定UIが実装されている場合に、当該設定UIを前記表示部に表示させる表示制御処理、を実行させることを特徴とする。
【００１５】
本発明の一側面は、印刷装置と、前記印刷装置に印刷を指示するコンピュータ装置と、が通信ネットワークで接続された印刷システムにおいて、前記コンピュータ装置は、前記印刷装置の印刷機能に関する情報を提供するPrinter Driver core部と、前記Printer Driver core部から取得した情報に基づいて、各々の印刷機能を設定するための１又は複数の設定UIを表示部に表示させる印刷設定UI部と、を別々に備え、前記印刷設定UI部は、前記Printer Driver core部から取得した指示情報で指示された設定UIが実装されているかを判断する判断部と、前記指示情報で指示された設定UIが実装されていない場合に、予め取得した互換性情報を参照して、前記指示された設定UIと互換性がある設定UIを検索する検索部と、前記指示された設定UI又は前記互換性がある設定UIが実装されている場合に、当該設定UIを前記表示部に表示させる表示制御部と、を備えることを特徴とする。
【００１６】
本発明の一側面は、印刷装置に印刷を指示するコンピュータ装置で動作するプリンタドライバの画面表示方法であって、前記プリンタドライバは、前記印刷装置の印刷機能に関する情報を提供するPrinter Driver core部と、前記Printer Driver core部から取得した情報に基づいて、各々の印刷機能を設定するための１又は複数の設定UIを表示部に表示させる印刷設定UI部と、が別々に構成され、前記コンピュータ装置は、前記Printer Driver core部から取得した指示情報で指示された設定UIが実装されているかを判断する判断処理と、前記指示情報で指示された設定UIが実装されていない場合に、予め取得した互換性情報を参照して、前記指示された設定UIと互換性がある設定UIを検索する検索処理と、前記指示された設定UI又は前記互換性がある設定UIが実装されている場合に、当該設定UIを前記表示部に表示させる表示制御処理と、を実行することを特徴とする。
【発明の効果】
【００１７】
本発明のプリンタドライバ及び印刷システム並びにプリンタドライバの印刷機能の追加方法によれば、Printer Driver core部と印刷設定UI部のバージョンが異なる場合であっても、適切に印刷設定を行うことができる。
【００１８】
その理由は、プリンタドライバの印刷設定UI部は、各々の印刷機能を設定するための１又は複数の設定UIを表示する際に、Printer Driver core部から取得した指示情報で指示された設定UIが実装されている場合はその設定UIを表示し、指示された設定UIが実装されていない場合は、予め取得した互換性情報に基づいて当該設定UIと互換性がある設定UIを検索し、互換性がある設定UIが実装されている場合はその設定UIを表示し、互換性がある設定UIが実装されていない場合はその機能に関する設定UIを非表示にする制御を行うからである。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施例に係る印刷システムの構成を模式的に示す図である。
【図２】本発明の一実施例に係るコンピュータ装置の構成を示すブロック図である。
【図３】本発明の一実施例に係るコンピュータ装置の機能を示すブロック図である。
【図４】本発明の一実施例に係るGPDファイルの一例である。
【図５】本発明の一実施例に係るDriverPropertybagの一例である。
【図６】本発明の一実施例に係る設定UIの一例である。
【図７】本発明の一実施例に係るステープル機能の設定UI（Staple Type1）の一例である。
【図８】本発明の一実施例に係るステープル機能の設定UI（Staple Type2）の一例である。
【図９】本発明の一実施例に係るステープル機能の設定UI（Staple Type3）の一例である。
【図１０】本発明の一実施例に係るVersion1の印刷設定UI部に実装される設定UIの一例である。
【図１１】本発明の一実施例に係るVersion2の印刷設定UI部に実装される設定UIの一例である。
【図１２】本発明の一実施例に係るVersion3の印刷設定UI部に実装される設定UIの一例である。
【図１３】本発明の一実施例に係るVersion1のPrinter Driver core部に実装されるDriverPropertybagの一例である。
【図１４】本発明の一実施例に係るVersion2のPrinter Driver core部に実装されるDriverPropertybagの一例である。
【図１５】本発明の一実施例に係るVersion3のPrinter Driver core部に実装されるDriverPropertybagの一例である。
【図１６】本発明の一実施例に係るPrinter Driver core部と印刷設定UI部のバージョンの組み合わせ毎の設定UIの一例である。
【図１７】本発明の一実施例に係る設定UI（#1）の一例である。
【図１８】本発明の一実施例に係る設定UI（#2）の一例である。
【図１９】本発明の一実施例に係る設定UI（#3）の一例である。
【図２０】本発明の一実施例に係る設定UI（#4）の一例である。
【図２１】本発明の一実施例に係るプリンタドライバの処理を示すフローチャート図である。
【発明を実施するための形態】
【００２０】
背景技術で示したように、ハードウェアメーカーによりWindowsOSに応じたプリンタドライバが提供されており、新たなWindowsOSであるWindows8やServer2012向けに、Version4のプリンタドライバの開発が行われている。このVersion4のプリンタドライバは、Printer Driver core部と印刷設定UI部の２つのレイヤーから構成されており、Printer Driver core部と印刷設定UI部の関係は「V4 Printer Driver White Paper」（http://msdn.microsoft.com/library/windows/hardware/br259124）などに記載されている。
【００２１】
この「V4 Printer Drover White Paper」によれば、印刷設定の定義はPrinter Driver core部（GPD/PPDファイル、JavaScript、Constraints）にて実施し、その結果としてPrintTicket及びPrintCapabilitiesが生成される。そして、Printer Driver core部と印刷設定UI部とのやり取りは、このPrintTicket、PrintCapabilities及びDriverPropertybagにて行われる。
【００２２】
このように、Version4のプリンタドライバではPrinter Driver core部と印刷設定UI部とは独立しているため、これらのバージョンが非同期になることがあり、バージョンが非同期になった場合には、Printer Driver core部が指示した設定UIを印刷設定UI部が表示できない場合が生じる。例えば、Printer Driver core部のバージョンが印刷設定UI部のバージョンよりも新しく、Printer Driver core部が指示した設定UIが印刷設定UI部に実装されていない場合は、指示された設定UIを表示することができない。この問題に対して、無条件に印刷設定UI部に実装されている設定UIを表示することも可能であるが、この方法では指示された設定UIと実装されている設定UIとに互換性が無い場合は印刷機能を設定することができない。
【００２３】
上記問題は、Printer Driver core部と印刷設定UI部とが別のレイヤーとして構成されるVersion4のプリンタドライバモデルにおいて新たに生じる問題であり、印刷設定UI部にて事前に互換性が無いケースを想定するのは不可能である（新しいバージョンのPrinter Driver core部でどのような設定UIが指示されるかを印刷設定UI部が知ることはできない）ことから、Version4のプリンタドライバの開発に当たって、上記問題を解決する手法が求められている。
【００２４】
そこで、本発明の一実施の形態では、印刷設定UI部は、Printer Driver core部から各機能の設定UIの指示情報を取得したら、その指示情報で指示された設定UIが実装されているかを判断する。指示情報で指示された設定UIが実装されている場合は、その設定UIを表示し、ある機能の設定UIが実装されていない場合は、予め取得した互換性情報を参照して互換性がある（代替可能な）設定UIを検索し、互換性がある設定UIが実装されている場合にはその設定UIを表示し、互換性がある設定UIが実装されていない場合にはその機能の設定UIを表示しないように制御する。
【００２５】
これにより、Printer Driver core部と印刷設定UI部のバージョンが異なる（特に、Printer Driver core部のバージョンが印刷設定UI部のバージョンよりも新しい）場合であっても、互換性がある設定UIで印刷設定を行うことが可能となる。また、ある機能に関して互換性がある設定UIが存在しない時には、設定UIを非表示にすることにより、その機能に対して誤った設定を行うといった不具合を未然に防止することが可能となる。
【実施例１】
【００２６】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るプリンタドライバ及び印刷システム並びにプリンタドライバの画面表示方法について、図１乃至図２１を参照して説明する。図１は、本実施例の印刷システムの構成を模式的に示す図であり、図２は、本実施例のコンピュータ装置の構成を示すブロック図、図３は、コンピュータ装置の機能を示すブロック図である。また、図４は、GPDファイルの一例であり、図５は、DriverPropertybagの一例である。また、図６は、設定UIの一例であり、図７乃至図９は、ステープル機能の設定UIの一例である。また、図１０乃至図１２は、本実施例の印刷設定UI部に実装される設定UIの一例であり、図１３乃至図１５は、本実施例のPrinter Driver core部に実装されるDriverPropertybagの一例である。また、図１６は、本実施例のPrinter Driver core部と印刷設定UI部のバージョンの組み合わせ毎の設定UIの一例、図１７乃至図２０は、本実施例の設定UIの表示例であり、図２１は、本実施例のプリンタドライバの処理を示すフローチャート図である。
【００２７】
図１に示すように、本実施例の印刷システムは、印刷指示に従って印刷処理を実行する印刷装置１０と、印刷指示を行う印刷指示装置（コンピュータ装置２０と呼ぶ。）とで構成され、これらはＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）などの通信ネットワークを介して接続されている。
【００２８】
印刷装置１０は、XPS（XML Paper Specification）形式などの文書を印刷可能なプリンタやＭＦＰ（Multi Function Peripheral）などであり、コンピュータ装置２０から送信される印刷データを解析し、印刷データの各ページをラスタライズしてページ毎の画像データを生成し、電子写真方式や静電記録方式等の作像プロセスを利用して画像データに基づく画像を用紙に印刷する機能を備えている。
【００２９】
また、コンピュータ装置２０は、パーソナルコンピュータやWindowsOS上で動作するモバイル機器（スマートフォンやタブレット端末）などであり、図２に示すように、制御部２１と、記憶部２２と、通信Ｉ/Ｆ部２３と、表示部２４と、操作部２５などで構成される。
【００３０】
制御部２１は、CPU（Central Processing Unit）２１ａと、ROM（Read Only Memory）２１ｂやRAM（Random Access Memory）２１ｃなどのメモリとで構成される。CPU２１ａは、コンピュータ装置２０の動作を制御するためのプログラム、OS（本実施例では、Version4のプリンタドライバが動作可能なWindowsOS）、アプリケーション、印刷装置１０を制御するプリンタドライバ（本実施例では、Printer Driver core部と印刷設定UI部とが別レイヤーで構成されるVersion4のプリンタドライバ）をROM２１ｂ又は記憶部２２から読み出してRAM２１ｃに展開し実行する。なお、アプリケーション、Printer Driver core部、印刷設定UI部については後述する。
【００３１】
記憶部２２は、HDD（Hard Disk Drive）などで構成され、プログラムや文書データ、印刷データなどを記憶する。
【００３２】
通信Ｉ/Ｆ部２３は、NIC（Network Interface Card）やモデムなどで構成され、無線ネットワークや有線ネットワークを介して、印刷装置１０とのデータ通信を行う。
【００３３】
表示部２４は、LCD（Liquid Crystal Display）などで構成され、アプリケーションの画面や印刷設定UI部に実装された設定UI（印刷設定を可能にするインターフェース画面）などを表示する。
【００３４】
操作部２５は、マウスやキーボード、表示部２４上に形成されたタッチセンサなどで構成され、文書の作成や印刷装置１０の印刷機能の設定等の操作を可能にする。
【００３５】
図３は、コンピュータ装置２０の制御部２１の機能を示すブロック図である。コンピュータ装置２０の制御部２１は、アプリケーション３０、Printer Driver core部４０、印刷設定UI部５０などとして機能する。
【００３６】
アプリケーション３０は、OS上で動作するプログラム（例えば、WindowsOS上で動作するMicrosoft Officeなど）であり、印刷対象となる文書データを作成する。
【００３７】
Printer Driver core部４０は、OS上で動作するプログラムであり、アプリケーション３０、印刷設定UI部５０と連動して、印刷装置１０に印刷指示を行う。このPrinter Driver core部４０は、GPDファイル４１、DriverPropertybag４２、構成処理部４３、禁則JavaScript部４４、レンダリング処理部４５、印刷フィルタ４６などで構成される。
【００３８】
GPDファイル４１は、構成ファイルの一つであり、印刷装置１０の各印刷機能を定義する。DriverPropertybag４２は、ベンダー独自のデータを保存する領域であり、例えば、設定UIの指示情報であるUITypeSettingsと互換性情報であるUITypeCompatibilityとが定義され、Printer Driver core部４０の各部および印刷設定UI部５０にて参照可能になっている。構成処理部４３は、GPDファイル４１を元に、XML形式にてユーザが設定可能な印刷機能の設定項目と設定可能な設定値とが記述されたPrintCapabilities（印刷機能情報）の生成、PrintCapabilitiesに記述されている設定値の中からユーザが選択した設定値を記述したPrintTicket（印刷設定情報）の生成、及び禁則JavaScript部４４の呼び出しを行う。
【００３９】
禁則JavaScript部４４は、PrintTicket/PrintCapabilitiesに対して、印刷機能の設定の競合を処理する。例えば、第１の機能（面付け機能など）の設定と第２の機能（パンチの機能など）の設定とが両立しない場合に、一方の機能の設定を他方の機能の設定と両立するように変更する。レンダリング処理部４５は、アプリケーション３０からの印刷命令を印刷装置１０にて解釈可能な言語に変換する。印刷フィルタ４６は、レンダリング時に描画命令や印刷制御コマンドの編集を行う。
【００４０】
印刷設定UI部５０は、OS上で動作するプログラムであり、PT/PC/Propertybag制御部５１、禁則処理部５２、UIコントロール制御部５３、UI表示部５４などで構成される。この印刷設定UI部５０には、各機能の設定UI（各機能に対応する設定項目の画面情報）が実装されている。
【００４１】
PT/PC/Propertybag制御部５１は、Printer Driver core部４０から取得したPrintTicket、PrintCapabilities、DriverPropertybagを処理（解釈）し、印刷機能情報や印刷設定情報、設定UIの指示情報及び互換性情報をUIコントロール制御部５３に通知する。禁則処理部５２は、印刷設定の組み合わせに禁則が無いかの判別を行う。UIコントロール制御部５３は、印刷設定UI部５０全体を制御する。UI表示部５４は、UIコントロール制御部５３から通知された各機能の設定UIからなる設定画面６０を表示部２４に表示させる。また、UIコントロール制御部５３から通知された設定値を設定UIに反映させる。
【００４２】
具体的には、上記UIコントロール制御部５３は、UI表示部５４を制御して表示部２４に設定UIを表示させる表示制御部として機能すると共に、判断部、検索部としても機能する。判断部は、PT/PC/Propertybag制御部５１が解釈した指示情報で指示された設定UIが実装されているかを判断し、指示された設定UIが実装されている場合は、その設定UIをUI表示部５４に通知して表示部２４に表示させる。一方、指示された設定UIが実装されていない場合は、検索部は、PT/PC/Propertybag制御部５１が解釈した互換性情報に基づいて、互換性がある設定UIを検索し、互換性がある設定UIが実装されている場合は、その設定UIをUI表示部５４に通知して表示部２４に表示させる。また、互換性がある設定UIが実装されていない場合は、その設定UIを表示しない旨をUI表示部５４に通知して表示部２４に表示させないように制御する（必要に応じてPrinter Driver core部４０と印刷設定UI部５０のバージョンが異なるために設定UIが表示できない旨を表示部２４に表示させる）。また、互換性がある設定UIが実装されている場合に、禁則処理部５２は、その設定UIにPrintTicketで指示された設定値を設定可能であるか（禁則が生じるか）を判断し、禁則が生じる場合には、PrintTicketで指示された設定値を禁則が生じない設定値に変更する。
【００４３】
なお、本実施例では、設定UIの互換性情報をDriverPropertybagに保持する構成とするが、この互換性情報は必ずしもDriverPropertybagに保持する必要はなく、例えば、コンピュータ装置２０の記憶部２２など、Printer Driver core部４０及び印刷設定UI部５０が参照可能な任意の場所に保持することができる。また、本実施例では、印刷機能を定義する構成ファイルとしてGPDファイル４１を使用する場合について説明するが、PPDファイルなどを使用する場合についても、本実施例の画面表示方法を同様に適用することができる。
【００４４】
以下、どのように設定UIを表示するかについて、GPDファイル４１及びDriverPropertybag４２の具体的な記述例を参照して説明する。
【００４５】
図４は、GPDファイル４１の一例である。GPDファイル４１では図中の「*Feature:」にて、印刷機能の定義を行う。また、「*Feature:」の下位要素の「*Option:」にて、各印刷機能の設定値の定義を行う。この例では、印刷機能として、Orientation（用紙方向）、PaperSize（用紙サイズ）、Staple（綴じ止め）が定義されており、各印刷機能の設定値として、OrientationはLANDSCAPE（横置き）、PaperSizeはLETTER、StapleはStapleTopLeft（左上綴じ）が定義されている。
【００４６】
図５は、DriverPropertybag４２の例である。本実施例のDriverPropertybag４２では、設定UIの指示情報であるUITypeSettingsと互換性情報であるUITypeCompatibilityとが定義されている。UITypeSettingsは、印刷機能毎の設定UIの指示情報であり、本実施例ではFeatureXという印刷機能はType2の設定UIで表示する旨を指示している。UITypeCompatibilityは、印刷機能毎の設定UIの互換性情報であり、本実施例ではFeatureXという印刷機能の設定UIに関する互換性を示している。
【００４７】
具体的には、「FeatureX：Type2,Type1」は、FeatureXという印刷機能の設定UIについて、Type2とType1は互換性があることを示している。例として、UITypeSettingsにて設定UIとしてType2が指定された時に、印刷設定UI部５０にType2の設定UIが実装されていない場合には、互換性があるType1の設定UIを表示することを意味する。なお、互換性がある設定UIは”:”以降のUITypeSettingsで指定された値を起点に左から右に検索を行う。また、「FeatureX：Type3,#NotShow#」は、FeatureXという印刷機能の設定UIはType3と互換性がある設定UIが無いことを意味し、印刷設定UI部５０にType3の設定UIが実装されていない場合にはFeatureXという印刷機能の設定UIは非表示にすることを意味する。
【００４８】
図６は、UI表示部５４により表示部２４に表示される設定画面６０の一例である。この設定画面６０には、DriverPropertybag４２のUITypeSettingsに基づいて設定された各機能の設定UI（若しくはUITypeCompatibilityに基づいて検索された各機能の設定UI）が表示されており、各々の設定UIに、PrintCapabilities（印刷機能情報）及びPrintTicket（印刷設定情報）に基づいて設定された設定項目及び設定値が表示される。なお、本実施例では、説明を容易にするために、設定画面６０にステープルと両面／片面の２つの機能に関する設定UIのみを表示しているが、印刷に関する各種機能の設定UIを表示することができる。以降、設定画面６０の中の破線で囲んだステープルの機能の設定UIに関して、図７乃至図２０を参照して説明する。
【００４９】
図７乃至図９は、ステープル機能の各種設定UIの表示例である。具体的には、図７は、ステープル機能の設定UIの表示形態の一つである「Staple Type1」の表示例である。この「Staple Type1」では、ステープル機能はチェックボックスで表現され、ステープル機能の設定値として、「Off」、「1点左」の切り替えが可能である。すなわち、チェックボックスにチェックを入れた場合は、ステープル機能の設定値は予め設定された「1点左」となり、チェックボックスのチェックを外した場合は、ステープル機能の設定値は「Off」となる。
【００５０】
図８は、ステープル機能の設定UIの表示形態の他の一つである「Staple Type2」の表示例である。この「Staple Type2」では、ステープル機能は複数の選択肢が選択可能に表示されるコンボボックスで表現され、ステープル機能の設定値として、「Off」、「1点左」、「2点左」、「2点上」の切り替えが可能である。
【００５１】
図９は、ステープル機能の設定UIの表示形態の他の一つである「Staple Type3」の表示例である。この「Staple Type3」では、ステープル機能は図７で示したチェックボックスと図８で示したコンボボックスとで表現される。チェックボックスでは「Off」と「On」の切り替えが可能であり、チェックボックスが「On」の時（チェックボックスにチェックを入れた場合）、コンボボックスが有効となり、「1点左」、「2点左」、「2点上」の切り替えが可能になる。
【００５２】
ここで、図５のDriverPropertybag４２のUITypeCompatibilityで示したように、図７に示した「Staple Type1」と図８に示した「Staple Type2」は互換性があるが、図９に示した「Staple Type3」はチェックボックスとコンボボックスの複数の表示形態で表示するため、設定UIに互換性が無い。従って、Printer Driver core部４０に実装されたUITypeSettingsと印刷設定UI部５０に実装された設定UIとの組み合わせに応じて設定画面６０に表示する設定UIを選択する必要がある。
【００５３】
以下、各バージョンの印刷設定UI部５０及びPrinter Driver core部４０に以下のような設定UI及びDriverPropertybag４２が実装されている場合に、表示部２４にどのような設定UIが表示されるかについて具体的に説明する。なお、以下の説明において、ステープル機能の設定UIは「Staple Type1」、「Staple Type2」、「Staple Type3」の３種類とし、「Staple Type1」と「Staple Type2」は互換性があり、「Staple Type3」は互換性が無いものとする。
【００５４】
図１０乃至図１２は、Version4のプリンタドライバの各バージョンの印刷設定UI部５０に実装されるステープル機能の設定UIの一例である。具体的には、図１０は、Version1の印刷設定UI部５０に実装される設定UIの一例であり、Version1の印刷設定UI部５０には「Staple Type1」の設定UIのみが実装されている。図１１は、Version2の印刷設定UI部５０に実装される設定UIの一例であり、Version2の印刷設定UI部５０には「Staple Type1」、「Staple Type2」の２つの設定UIが実装されている。図１２は、Version3の印刷設定UI部５０に実装される設定UIの一例であり、Version3の印刷設定UI部５０には「Staple Type1」、「Staple Type2」、「Staple Type3」の３つの設定UIが実装されている。
【００５５】
図１３乃至図１５は、Version4のプリンタドライバの各バージョンのPrinter Driver core部４０に実装されるDriverPropertybag４２の一例である。具体的には、図１３は、Version1のPrinter Driver core部４０のDriverPropertybagの一例であり、UITypeSettingsにおいて、ステープル機能に関してType1の設定UIが指定されている。図１４は、Version2のPrinter Driver core部４０のDriverPropertybagの一例であり、UITypeSettingsにおいて、ステープル機能に関してはType2の設定UIが指定されており、UITypeCompatibilityにおいて、ステープル機能のType2と互換性がある設定UIとしてType1が指定されている。図１５は、Version3のPrinter Driver core部４０に実装されるDriverPropertybagの一例であり、UITypeSettingsにおいて、ステープル機能はType3の設定UIが指定されており、UITypeCompatibilityにおいて、ステープル機能のType3と互換性がある設定UIとして#NotShow#（非表示にする設定UI）が指定されている。
【００５６】
図１６は、Printer Driver core部４０と印刷設定UI部５０の各バージョンを組み合わせた場合に表示される設定UIの一例である。図中の設定UIの「#1」〜「#4」は、各々図１７〜図２０に相当する。
【００５７】
例えば、Version1のPrinter Driver core部４０に対して、Version1〜3の印刷設定UI部５０を組み合わせた場合には、Printer Driver core部４０のDriverPropertybag４２のUITypeSettingsにて指定されている「Staple Type1」の設定UIは、各印刷設定UI部５０に実装されているため、ステープル機能は、図１７に示すような「Staple Type1」の設定UIで表示される。
【００５８】
また、Version2のPrinter Driver core部４０に対して、Version1の印刷設定UI部５０を組み合わせた場合には、Printer Driver core部４０のDriverPropertybag４２のUITypeSettingsにて指定されている「Staple Type2」の設定UIは印刷設定UI部５０に実装されていないため、UITypeCompatibilityに従って「Staple Type2」と互換性がある「Staple Type1」の設定UI（図１７参照）が表示される。また、Version2のPrinter Driver core部４０に対して、Version2、3の印刷設定UI部５０を組み合わせた場合には、Printer Driver core部４０のDriverPropertybag４２にて指定されている「Staple Type2」の設定UIは印刷設定UI部５０に実装されているため、ステープル機能は、図１８に示すような「Staple Type2」の設定UIで表示される。
【００５９】
また、Version3のPrinter Driver core部４０に対して、Version1、2の印刷設定UI部５０を組み合わせた場合には、Printer Driver core部４０のDriverPropertybag４２のUITypeSettingsにて指定されている「Staple Type3」の設定UIは印刷設定UI部５０に実装されていないため、UITypeCompatibilityに従って設定UIは非表示にされる（図２０参照）。また、Version3のPrinter Driver core部４０に対して、Version3の印刷設定UI部５０を組み合わせた場合には、Printer Driver core部４０のDriverPropertybag４２のUITypeSettingsにて指定されている「Staple Type3」の設定UIは印刷設定UI部５０に実装されているため、ステープル機能は、図１９に示すような「Staple Type3」の設定UIで表示される。
【００６０】
以下、本実施例のプリンタドライバの処理（印刷設定UI部５０の処理）について説明する。CPU２１ａは、ROM２１ｂ又は記憶部２２に記憶したプリンタドライバをRAM２１ｃに展開して実行することにより、図２１のフローチャート図に示す各処理を実行する。なお、図２１のフローでは、設定画面に一つの機能に関する設定UIが表示されるものとして説明する。
【００６１】
まず、PT/PC/Propertybag制御部５１は、Printer Driver core部４０から取得したDriverPropertybag（UITypeSettings）を解釈して設定画面（設定UI）の指示情報を取得し（Ｓ１０１）、UIコントロール制御部５３（判断部）は、指示情報で指示された設定UIが印刷設定UI部５０に実装されているかを判断する（Ｓ１０２）。
【００６２】
指示情報で指示された設定UIが印刷設定UI部５０に実装されている場合は（Ｓ１０２のＹｅｓ）、指示された設定UIをUI表示部５４に通知し、UI表示部５４は指示された設定UIを表示部２４に表示させる（Ｓ１０３）。図１６の例では、印刷設定UI部５０のバージョンがPrinter Driver core部４０のバージョンと等しいか、若しくは、Printer Driver core部４０のバージョンよりも新しい場合に相当する。次に、PT/PC/Propertybag制御部５１は、Printer Driver core部４０から取得したPrintTicketを解釈して設定値を読み込み（Ｓ１０４）、UIコントロール制御部５３は、PrintTicketの設定値を設定UIの初期値に設定し、UI表示部５４は設定された初期値を設定UIに表示させる（Ｓ１０５）。
【００６３】
一方、指示情報で指示された設定UIが印刷設定UI部５０に実装されていない場合は（Ｓ１０２のＮｏ）、PT/PC/Propertybag制御部５１は、Printer Driver core部４０から取得したDriverPropertybag（UITypeCompatibility）を解釈して互換性情報を取得し（Ｓ１０６）、UIコントロール制御部５３（検索部）は、互換性情報を参照して、指示情報で指示された設定UIと互換性がある設定UIを検索する（Ｓ１０７）。
【００６４】
互換性がある設定UIが印刷設定UI部５０に実装されている場合は（Ｓ１０８のＹｅｓ）、検索した設定UIをUI表示部５４に通知し、UI表示部５４は指示された設定UIを表示部２４に表示させる（Ｓ１０９）。図１６の例では、Printer Driver core部４０がVersion2であり、印刷設定UI部５０がVersion1の場合（図の粗い網掛け部分）に相当する。次に、PT/PC/Propertybag制御部５１は、Printer Driver core部４０から取得したPrintTicketを解釈して設定値を読み込み（Ｓ１１０）、禁則処理部５２は、PrintTicketの設定値が、互換性がある設定UIで選択可能な設定値であるかを判断し（Ｓ１１１）、PrintTicketの設定値が、互換性がある設定UIで選択可能な設定値でない場合は、設定値を互換性がある設定UIで選択可能な設定値に変更する（Ｓ１１２）。その後、PrintTicketの設定値（若しくは変更された設定値）を設定UIの初期値に設定し、UI表示部５４は設定された初期値を設定UIに表示させる（Ｓ１１３）。
【００６５】
また、互換性がある設定UIが印刷設定UI部５０に実装されていない場合、若しくは、指示された設定UIが非表示に指定されている場合は（Ｓ１０８のＮｏ）、UIコントロール制御部５３は、UI表示部５４に設定UIを表示させないように通知する（Ｓ１１４）。図１６の例では、Printer Driver core部４０がVersion3であり、印刷設定UI部５０がVersion1、2の場合（図の細かい網掛け部分）に相当する。
【００６６】
なお、上記フローでは、ある機能に関して互換性がある設定UIが印刷設定UI部５０に実装されていない場合に、当該機能に関する設定UIを表示させない（すなわち、当該機能以外の機能に関する設定UIは表示させる）構成としたが、Printer Driver core部４０と印刷設定UI部５０のバージョンが異なるために当該機能に関する設定UIが表示できない旨を表示部２４に表示させたり、一部の機能に関して指示された設定UI又は互換性がある設定UIが実装されていない場合に設定画面全体を非表示としたりしてもよい。
【００６７】
このように、印刷設定UI部５０のUIコントロール制御部５３は、DriverPropertybag４２のUITypeSettingsで指示された設定UIが印刷設定UI部５０に実装されていない場合に、UITypeCompatibilityに従って互換性がある設定UIを検索し、互換性がある設定UIが実装されている場合はその設定UIを表示させ、互換性がある設定UIが実装されていない場合は設定UIを表示させない制御を行うことにより、Printer Driver core部４０と印刷設定UI部５０のバージョンが異なる場合であっても、設定UIを表示させることができ、適切に印刷設定を行うことができる。
【００６８】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、プリンタドライバの構成や印刷機能の追加方法は適宜変更可能である。
【００６９】
例えば、上記実施例では、Version4のプリンタドライバにおいて、ステープル機能のUI表示が「Staple Type1」、「Staple Type2」、「Staple Type3」、非表示のいずれかの場合を示したが、上記以外のタイプを含む場合においても本発明の画面表示方法を同様に適用することができる。また、上記実施例では、Printer Driver core部４０と印刷設定UI部５０のバージョンがVersion1〜3の場合を示したが、Version4以降のバージョンを含む場合においても本発明の画面表示方法を同様に適用することができる。また、上記実施例では、Version4のプリンタドライバに関して説明したが、Printer Driver core部４０と印刷設定UI部５０とが別々に提供される任意のバージョンのプリンタドライバに対して、本発明の画面表示方法を同様に適用することができる。
【００７０】
また、上記実施例では、Printer Driver core部４０から指示された設定UIが印刷設定UI部５０に実装されていない場合に、印刷設定UI部５０がPrinter Driver core部４０から互換性情報を取得し、指示された設定UIと互換性がある設定UIを検索する構成としたが、印刷設定UI部５０の立ち上げ時に、Printer Driver core部４０が印刷設定UI部５０からバージョン情報を取得し、互換性情報に基づいて印刷設定UI部５０で表示可能な設定UIを指示することも可能である。
【産業上の利用可能性】
【００７１】
本発明は、WindowsOS上で動作するプリンタドライバ、特に、Version4のプリンタドライバ及び当該プリンタドライバを記録した記録媒体並びに当該プリンタドライバを動作させるコンピュータ装置を含む印刷システム並びに当該プリンタドライバを用いた画面表示方法に利用可能である。
【符号の説明】
【００７２】
１０  印刷装置
２０  コンピュータ装置
２１  制御部
２１ａ  CPU
２１ｂ  ROM
２１ｃ  RAM
２２  記憶部
２３  通信I/F部
２４  表示部
２５  操作部
３０  アプリケーション
４０  Printer Driver core部
４１  GPDファイル
４２  Driver Propertybag
４３  構成処理部
４４  禁則JavaScript部
４５  レンダリング処理部
４６  印刷フィルタ
５０  印刷設定UI部
５１  PT/PC/Propertybag制御部
５２  禁則処理部
５３  UIコントロール制御部
５４  UI表示部
６０  設定画面
【図１】
0006032567.tif 000002
【図２】
0006032567.tif 000003
【図３】
0006032567.tif 000004
【図４】
0006032567.tif 000005
【図５】
0006032567.tif 000006
【図６】
0006032567.tif 000007
【図７】
0006032567.tif 000008
【図８】
0006032567.tif 000009
【図９】
0006032567.tif 000010
【図１０】
0006032567.tif 000011
【図１１】
0006032567.tif 000012
【図１２】
0006032567.tif 000013
【図１３】
0006032567.tif 000014
【図１４】
0006032567.tif 000015
【図１５】
0006032567.tif 000016
【図１６】
0006032567.tif 000017
【図１７】
0006032567.tif 000018
【図１８】
0006032567.tif 000019
【図１９】
0006032567.tif 000020
【図２０】
0006032567.tif 000021
【図２１】
0006032567.tif 000022