IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許-情報処理装置及びプログラム 図1
  • 特許-情報処理装置及びプログラム 図2
  • 特許-情報処理装置及びプログラム 図3
  • 特許-情報処理装置及びプログラム 図4
  • 特許-情報処理装置及びプログラム 図5
  • 特許-情報処理装置及びプログラム 図6
  • 特許-情報処理装置及びプログラム 図7
  • 特許-情報処理装置及びプログラム 図8
  • 特許-情報処理装置及びプログラム 図9
  • 特許-情報処理装置及びプログラム 図10
  • 特許-情報処理装置及びプログラム 図11
  • 特許-情報処理装置及びプログラム 図12
  • 特許-情報処理装置及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240729BHJP
   G06F 8/70 20180101ALI20240729BHJP
【FI】
G06F3/12 325
G06F3/12 309
G06F3/12 356
G06F3/12 308
G06F3/12 355
G06F3/12 347
G06F8/70
【請求項の数】 27
(21)【出願番号】P 2022171182
(22)【出願日】2022-10-26
(62)【分割の表示】P 2018128371の分割
【原出願日】2018-07-05
(65)【公開番号】P2023001176
(43)【公開日】2023-01-04
【審査請求日】2022-11-24
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】山▲崎▼ 真也
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2017-068304(JP,A)
【文献】特開2016-146167(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
G06F 8/70
(57)【特許請求の範囲】
【請求項1】
印刷データ生成ソフトウェアと、前記印刷データ生成ソフトウェアとは異なる拡張アプリケーションと、を記憶する情報処理装置であって、
印刷に関する設定値を設定する設定画面を表示させる表示制御手段と、
前記設定画面で設定された設定値に基づく設定情報を提供する提供手段と、を有し、
前記提供手段は、前記設定画面で設定される所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含める場合、前記拡張アプリケーションにより追加される設定値と所定の情報を含めた前記設定情報を提供し、前記設定画面で設定される前記所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含めない場合、前記所定の情報を含まない前記設定情報を提供することを特徴とする情報処理装置。
【請求項2】
前記情報処理装置は、前記情報処理装置に記憶されたオペレーティングシステムを提供するベンダと同じベンダにより提供される前記印刷データ生成ソフトウェアを記憶することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、前記設定情報を受け取る印刷装置を提供するベンダ固有の前記拡張アプリケーションを記憶すること特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記情報処理装置は、前記印刷データ生成ソフトウェアとは異なるタイミングで前記拡張アプリケーションを取得することを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
前記提供手段は、前記設定情報を印刷対象の画像データを提供するアプリケーションに提供することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
【請求項6】
前記提供手段は、前記設定画面で設定される前記所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含める場合、前記設定値がオペレーティングシステムにより編集されないように前記所定の情報を含む前記設定情報を提供することを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
前記情報処理装置は、描画アプリケーションにより生成された描画データと、前記設定情報と、を含む中間データに基づき印刷データを生成する前記印刷データ生成ソフトウェアを記憶することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
【請求項8】
前記情報処理装置は、前記設定情報にレイアウトに関する拡張機能に対応する前記所定の設定項目の設定値が含まれている場合、前記中間データを編集する編集手段と、をさらに有することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記表示制御手段は、前記設定情報に印刷プレビューに関する拡張機能に対応する前記所定の設定項目の設定値が含まれる場合、プレビュー画像を表示させることを特徴とすることを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
【請求項10】
印刷データ生成ソフトウェアとは異なる拡張アプリケーションであって、前記印刷データ生成ソフトウェアを記憶する情報処理装置に、
印刷に関する設定値を設定する設定画面を表示させる表示制御ステップと、
前記設定画面で設定された設定値に基づく設定情報を提供する提供ステップと、を実行させ、
前記提供ステップは、前記設定画面の所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含める場合、前記拡張アプリケーションにより追加される設定値と所定の情報を含めた前記設定情報を提供し、前記設定画面の前記所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含めない場合、前記設定値と前記所定の情報を含まない前記設定情報を提供することを特徴とする拡張アプリケーション。
【請求項11】
前記拡張アプリケーションは、前記情報処理装置に記憶されたオペレーティングシステムを提供するベンダと同じベンダにより提供される前記印刷データ生成ソフトウェアとは異なるソフトウェアであることを特徴とする請求項10に記載の拡張アプリケーション。
【請求項12】
前記拡張アプリケーションは、前記設定情報を受け取る印刷装置を提供するベンダ固有のアプリケーションであることを特徴とする請求項10または11に記載の拡張アプリケーション。
【請求項13】
前記拡張アプリケーションは、前記印刷データ生成ソフトウェアとは異なるタイミングで前記情報処理装置により取得されるアプリケーションであることを特徴とする請求項10乃至12のいずれか一項に記載の拡張アプリケーション。
【請求項14】
前記提供ステップは、前記設定情報を印刷対象の画像データを提供するアプリケーションに提供するステップであることを特徴とする請求項10乃至13のいずれか一項に記載の拡張アプリケーション。
【請求項15】
前記提供ステップは、前記設定画面で設定される前記所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含める場合、前記設定値がオペレーティングシステムにより編集されないように前記所定の情報を含む前記設定情報を提供することを特徴とする請求項10乃至14のいずれか一項に記載の拡張アプリケーション。
【請求項16】
前記拡張アプリケーションは、さらに
前記設定情報にレイアウトに関する拡張機能に対応する前記所定の設定項目の設定値が含まれている場合、中間データを編集する編集ステップを前記情報処理装置に実行させることを特徴とする請求項10乃至15のいずれか一項に記載の拡張アプリケーション。
【請求項17】
前記拡張アプリケーションは、さらに、
前記設定情報に印刷プレビューに関する拡張機能に対応する前記所定の設定項目の設定値が含まれる場合、プレビュー画像を表示させる他の表示制御ステップを前記情報処理装置に実行させることを特徴とする請求項10乃至16のいずれか一項に記載の拡張アプリケーション。
【請求項18】
前記提供ステップにおいて、PrintTicketを前記設定情報として提供することを特徴とする請求項10乃至17のいずれか一項に記載の拡張アプリケーション。
【請求項19】
印刷データ生成ソフトウェアとは異なる拡張アプリケーションにより実現される、前記印刷データ生成ソフトウェアを記憶する情報処理装置の制御方法であって、
印刷に関する設定値を設定する設定画面を表示させる表示制御ステップと、
前記設定画面で設定された設定値に基づく設定情報を提供する提供ステップと、を有し、
前記提供ステップは、前記設定画面の所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含める場合、前記拡張アプリケーションにより追加される設定値と所定の情報を含めた前記設定情報を提供し、前記設定画面の前記所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含めない場合、前記設定値と前記所定の情報を含まない前記設定情報を提供することを特徴とする制御方法。
【請求項20】
前記制御方法は、前記情報処理装置に記憶されたオペレーティングシステムを提供するベンダと同じベンダにより提供される前記印刷データ生成ソフトウェアとは異なる前記拡張アプリケーションにより実現される制御方法であることを特徴とする請求項19に記載の制御方法。
【請求項21】
前記制御方法は、前記設定情報を受け取る印刷装置を提供するベンダ固有の前記拡張アプリケーションにより実現される制御方法であることを特徴とする請求項19または20に記載の制御方法。
【請求項22】
前記制御方法は、前記印刷データ生成ソフトウェアとは異なるタイミングで前記情報処理装置により取得されるアプリケーションにより実現される制御方法であることを特徴とする請求項19乃至21のいずれか一項に記載の制御方法。
【請求項23】
前記提供ステップは、前記設定情報を印刷対象の画像データを提供するアプリケーションに提供するステップであることを特徴とする請求項19乃至22のいずれか一項に記載の制御方法。
【請求項24】
前記提供ステップは、前記設定画面で設定される前記所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含める場合、前記設定値がオペレーティングシステムにより編集されないように前記所定の情報を含む前記設定情報を提供することを特徴とする請求項19乃至23のいずれか一項に記載の制御方法。
【請求項25】
前記制御方法は、前記設定情報にレイアウトに関する拡張機能に対応する前記所定の設定項目の設定値が含まれている場合、中間データを編集する編集ステップをさらに有することを特徴とする請求項19乃至24のいずれか一項に記載の制御方法。
【請求項26】
前記制御方法は、前記設定情報に印刷プレビューに関する拡張機能に対応する前記所定の設定項目の設定値が含まれる場合、プレビュー画像を表示させる他の表示制御ステップをさらに有することを特徴とする請求項19乃至25のいずれか一項に記載の制御方法。
【請求項27】
前記提供ステップにおいて、PrintTicketを前記設定情報として提供することを特徴とする請求項19乃至26のいずれか一項に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
標準仕様に則った印刷データ生成ソフトウェアは、ユーザがデバイス固有の印刷データ生成ソフトウェアを導入することなく印刷が実現できるというメリットがある。一方で、デバイスに対して最適なカスタマイズができない。そこで、ベンダ固有の拡張アプリケーションを用いて、印刷データ生成ソフトウェアの機能を拡張する仕組みが存在する。 Windows(登録商標)においては、プリンタドライバに不足する機能を拡張するための拡張アプリケーションとして、Windows Store Device App(WSDA)と呼ばれる拡張アプリケーションがある。特許文献1には、印刷装置を提供するベンダが、WSDAを提供することで、描画アプリケーションから印刷を実行する際の印刷設定画面をカスタマイズすることが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-16480号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、このWSDAは依然として提供する機能に制限があった。本発明は、このような課題に鑑み、印刷データ生成ソフトウェアの拡張アプリケーションとして、より良い機能を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の一態様の情報処理装置は、印刷データ生成ソフトウェアと、前記印刷データ生成ソフトウェアとは異なる拡張アプリケーションとを記憶する情報処理装置であって、印刷に関する設定値を設定する設定画面を表示させる表示制御手段と、前記設定画面で設定された設定値に基づく設定情報を提供する提供手段と、を有し、前記提供手段は、前記設定画面で設定される所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含める場合、前記拡張アプリケーションにより追加される設定値と所定の情報を含めた前記設定情報を提供し、前記設定画面で設定される前記所定の設定項目について前記拡張アプリケーションにより追加される設定値を前記設定情報に含めない場合、前記所定の情報を含まない前記設定情報を提供することを特徴とする。
【発明の効果】
【0006】
本発明により、印刷データ生成ソフトウェアの拡張アプリケーションとして、より良い機能を提供することが可能となる。
【図面の簡単な説明】
【0007】
図1】印刷システムのハードウェア構成を示すブロック図。
図2】印刷におけるデータフローを説明するためのブロック図。
図3】印刷設定を行う画面を説明するための模式図。
図4】割り付け印刷を説明するための模式図。
図5】印刷プレビュー機能のユーザインタフェースの模式図。
図6】拡張機能を含まない能力情報と印刷設定情報の一例を示す図。
図7】拡張機能を含む能力情報と印刷設定情報の一例を示す図。
図8】印刷設定の整合性チェック実施後の印刷設定情報を示す図。
図9】実施形態1における印刷設定情報の記載例を示す図。
図10】印刷データ生成ソフトウェアの処理を示すフローチャート。
図11】印刷データ生成ソフトウェアの処理を示すフローチャート。
図12】印刷データ生成ソフトウェアの処理を示すフローチャート。
図13】実施形態2における能力情報の記載例を示す図。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0009】
<<実施形態1>>
<印刷システムのハードウェア構成>
図1は、印刷システムのハードウェア構成を示すブロック図である。本図において、ホストコンピュータ101は、情報処理装置の一例であり、入力インタフェース110、CPU111、ROM112、RAM113、外部記憶装置114、出力インタフェース115、及び入出力インタフェース116を有する。また、入力インタフェース110には、キーボード118、ポインティングデバイス117などの入力デバイスが接続され、出力インタフェース115には、表示部119などの表示デバイスが接続されている。
【0010】
ROM112には、初期化プログラムが格納され、外部記憶装置114には、描画アプリケーション等のアプリケーションプログラム群、オペレーティングシステム(OS)、印刷データ生成ソフトウェア、その他の各種のデータが格納されている。RAM113は、外部記憶装置114にストアされる各種のプログラムの実行の際のワークメモリ等として使用される。
【0011】
なお、本実施形態では、CPU111が、ROM112に格納されたプログラムの手順に従って処理を行うことによって、ホストコンピュータ101における後述の機能及び後述するフローチャートに係る処理を実行する。デバイスである印刷装置102は、入出力インタフェース116を介して、ホストコンピュータ101と接続されている。ここでは、ホストコンピュータ101と印刷装置102が分かれて構成されているが、これらが一つの情報処理装置として構成されていても良い。また、印刷装置は、インクを紙面上に吐出することで印刷するインクジェットプリンタを例に説明するが、他の方法(例えば電子写真方式)で印刷が実行されても良い。ホストコンピュータ101は、デスクトップパソコンでも、スマートフォンでも、ノートパソコンでも構わない。
【0012】
<拡張アプリケーションの必要性>
ここで、拡張アプリケーションの必要性について説明する。従来、プリンタベンダはデバイス(印刷装置)毎にプリンタドライバを作成し、ユーザはデバイスに適したプリンタドライバを導入する必要あった。それに対して、複数のデバイスで動作可能なプリンタドライバとしてジェネリックドライバというものが存在する。近年では、OSベンダが標準仕様に則ったジェネリックドライバを提供し、印刷装置を提供するプリンタベンダが標準仕様に則ったデバイス(印刷装置)を作ることで、プリンタベンダ独自のプリンタドライバを導入せずに印刷することも可能となっている。また、印刷環境が多様化する中で、プリンタドライバが導入できないような環境(例えば、スマートフォン等)では、標準仕様に則って印刷データを生成する印刷データ生成アプリケーションによって印刷を行うものも存在する。以降、ジェネリックプリンタドライバや印刷データ生成アプリケーションを、「印刷データ生成ソフトウェア」として説明する。
【0013】
このような印刷データ生成ソフトウェアは、標準仕様に則っているため、ユーザがデバイス固有の印刷データ生成ソフトウェアを導入することなく印刷が実現できるというメリットがある。一方で、デバイスに対して最適なカスタマイズができない。特に、OSと共に提供される印刷データ生成ソフトウェアは、最低限の機能のみ搭載しているため、プリンタベンダの提供する印刷装置を活用するのに十分な機能が利用できない。そこで、本実施形態では、拡張アプリケーションを用いて拡張機能を提供する。本実施形態の拡張アプリケーションは、ユーザによる印刷指示の前に起動して印刷設定画面の表示し、さらに、印刷指示の後に起動し、印刷設定情報や中間データの編集、及びUI(User Interface)表示を伴う機能を提供することができる。このように、印刷設定画面のカスタマイズと中間データの編集といった複数の機能を持ち、印刷指示前及び印刷指示後といった異なるタイミングで複数回起動される。よって、以降の説明において、本実施形態の拡張アプリケーションを、統合拡張アプリケーションとも呼ぶ。以下、本実施形態の処理フローについて説明する。
【0014】
<印刷におけるデータフロー>
図2は、印刷におけるデータフローを説明するための図である。図2(a)は、統合拡張アプリケーション203が、描画アプリケーション201と、印刷データ生成ソフトウェア202と、印刷装置102のいずれとも関連付けられていない場合のデータフローを示す図である。なお、描画アプリケーション201とは印刷されるコンテンツデータ(紙面上に印刷を形成する元となる画像やテキスト情報等の描画データ)を作成するソフトウェアであり、コンテンツ生成アプリケーションとも呼ぶ。描画アプリケーション201は、例えば、文書作成アプリケーション、表計算アプリケーション、プレゼンテーションアプリケーション等が相当する。
【0015】
印刷を指示する場合、ユーザは、描画アプリケーション201の提供する画面を介して表示される、OS(不図示)もしくは印刷データ生成ソフトウェア202が提供する印刷設定画面を用いて、所望の印刷設定を入力する。その後、ユーザは再度、描画アプリケーション201の提供する画面に戻り、描画アプリケーション201の提供する画面を用いて印刷を指示する。この時、描画アプリケーション201は、ユーザによって印刷設定画面が閉じられた際や、印刷指示がされた際に、OSの機能を利用し、印刷設定の整合性チェックを行なわせる。
【0016】
その後、OSは、ユーザからの印刷指示に基づき、描画アプリケーション201が生成した描画データに基づいて中間データ(入力データとも呼ぶ)を生成して、印刷データ生成ソフトウェア202に渡す。なお、ここでは中間データの形式は、XML PaperSpecification形式のデータ(XPS形式のデータ)とする。ただし、本実施形態の中間データの形式は、Graphic Device Interface形式のデータ(GDI形式データ)でもよい。さらには、XPS形式でもGDI形式でもない別の形式のデータでもよい。また、描画アプリケーション201の種類によっては、描画アプリケーション201自体が中間データを生成してもよい。つまり、描画アプリケーション201が、描画データに基づいて中間データを生成し、その中間データがOSを介して印刷データ生成ソフトウェア202に送られてもよい。さらには、OSは、描画アプリケーション201が生成したXPS形式の中間データに修正を加えて新たにXPS形式の中間データを生成してもよい。
【0017】
印刷データ生成ソフトウェア202は、中間データに基づき印刷装置が解釈可能な印刷データ(印刷コマンドとも呼ぶ)を生成し、印刷装置102に送信する。なお、印刷データソフトウェア202は、複数のプリンタベンダの印刷装置に対して使用可能な印刷データを生成する。つまり、ベンダAの印刷装置であっても、ベンダBの印刷装置であっても、同一の印刷データソフトウェア202により生成される印刷データを使って印刷することができる。印刷装置102は、印刷データ生成ソフトウェア202から送られた印刷データに基づき紙面への印刷を行う。
【0018】
次に、図2(b)は、統合拡張アプリケーション203が、印刷データ生成ソフトウェア202と関連付けられた場合のデータフローを示す図である。なお、本実施形態の印刷データ生成ソフトウェア202は、OSに予め含まれるソフトウェアである。つまり、OSがホストコンピュータ101にインストールされた段階で印刷データ生成ソフトウェアも使用可能である。一方、統合拡張アプリケーション203は、OSに予め含まれないソフトウェアである。つまり、OSがホストコンピュータ101にインストールされた段階では、統合拡張アプリケーション203は、インストールされていない。そのため、ユーザは、ホストコンピュータ101を操作して統合拡張アプリケーション203をインターネット等のネットワークを介して所定のサーバからダウンロードして、インストールする必要がある。また、ホストコンピュータ101に印刷装置102が接続された場合、CPU111が印刷装置102から印刷装置102のデバイス識別情報を取得し、この取得されたデバイス識別情報を用いて統合拡張アプリケーション203を取得してもよい。つまり、印刷装置102から取得されたデバイス識別情報に対応する統合拡張アプリケーション203を、インターネット等のネットワークを介して所定のサーバからダウンロードしてインストールしてもよい。
【0019】
このように、印刷データ生成ソフトウェア202と、統合拡張アプリケーション203は、互いに異なるタイミングで取得され、別々のファイルとしてホストコンピュータ101に保持される。なお、印刷データソフトウェア202および統合拡張アプリケーション203は、更新されてバージョンアップされることもある。しかしながら、この更新処理も別々のタイミングで行われる。なお、統合拡張アプリケーション203がインストールされた場合、OSが、印刷データ生成ソフトウェア202と統合拡張アプリケーション203を関連付ける(紐付ける)。なお、統合拡張アプリケーション203と印刷装置102とが紐付いていてもよい。特に、デバイス識別情報を用いて統合拡張アプリケーション203がダウンロードされる場合には、統合拡張アプリケーション203と印刷装置102とはデバイス識別情報により紐付いていると言える。
【0020】
本実施形態で説明する統合拡張アプリケーション203は、印刷設定画面拡張ユニット204と、レイアウト拡張ユニット205と、プレビューユニット206と、を備える。印刷設定画面拡張ユニット204は、印刷設定をユーザに入力させるための印刷設定画面を提供する。レイアウト拡張ユニット205は、印刷データ生成ソフトウェア202が処理する前の中間データに対してレイアウト処理を行う。具体的には、レイアウト拡張ユニット205は、描画アプリケーション201により生成された複数のページを1枚の用紙の面に配置して印刷するための割り付け印刷機能(Nin1機能またはNup機能とも呼ぶ)を提供する。例えば、レイアウト拡張ユニット205は、2ページ分のデータを並べて、1ページにレイアウト処理する。プレビューユニット206は、印刷データ生成ソフトウェア202が生成した印刷データに基づき、表示及び編集の少なくとも一方を実行可能である。
【0021】
なお、各ユニットの処理が終わるたびに統合拡張アプリケーション203の動作が終了しても良い。その場合、各ユニットを使う要求を受ける度にOSが統合拡張アプリケーション203を起動することになる。また、別の形態も考えられる。例えば印刷設定画面拡張ユニット204の処理が終了するとOSは拡張アプリケーション203の動作を終了させるが、レイアウト拡張ユニット205の処理が終了してもOSは拡張アプリケーション203を起動させたままにしても良い。
【0022】
また、統合拡張アプリケーション203の各ユニットは、UIの表示が可能であるが、UIを表示しなくてもよい。例えば、レイアウト拡張ユニット205については、UIを表示せずに中間データの編集のみを行い、編集した中間データを印刷データ生成ソフトウェア202に出力してもよい。なお、レイアウト拡張ユニット205がUIを表示可能である場合は、例えば、中間データに基づいてプレビュー画像および印刷設定を変更するためのコントロールアイテムを含むプレビュー画面を表示してもよい。尚、本発明を実現するための統合拡張アプリケーション203の構成は、前述の機能を全て備えるものに限定されず、機能の一部のみを持つものや、他の機能を有するものでもよいことは言うまでもない。以上のように、拡張アプリケーション203は、設定画面を表示する機能、印刷データ生成ソフトウェアに入力される中間データを編集する機能、および、印刷データを表示する機能の少なくとも1つを備えると言える。
【0023】
印刷を指示する場合、ユーザは、まず、描画アプリケーション201の提供する画面において印刷設定を入力するための指示を行う。この指示に応じて、統合拡張アプリケーション203が起動し、印刷設定画面拡張ユニット204が提供する印刷設定画面が表示される。ユーザは、この印刷設定画面を用いて所望の印刷設定を入力する。
【0024】
図3は、統合拡張アプリケーション203の印刷設定拡張ユニット204が提供する印刷設定画面の一例である。なお、図2(a)のように、統合拡張アプリケーション203が印刷データ生成ソフトウェア202に関連付けられていない場合、OSや印刷データ生成ソフトウェア202が提供する標準の印刷設定画面が使用されることが一般的である。この標準の印刷設定画面では、印刷データ生成ソフトウェア202が提供する機能のみが設定可能である。それに対して、統合拡張アプリケーション203が提供する印刷設定画面では、統合拡張アプリケーション203が提供する拡張機能の設定も可能とする。拡張機能とは、印刷データ生成ソフトウェア202が備えていない機能であり、統合拡張アプリケーション203が提供可能な機能を示す。図3の例では、レイアウト拡張ユニット205で提供される、割り付け印刷の設定と、プレビューユニット206で提供される印刷プレビュー機能の設定と、を行うことができる。つまり、本実施形態の統合拡張アプリケーション203の提供する印刷設定画面は、拡張機能の設定する表示アイテムとして、割り付け印刷を設定可能なコントロールアイテムと、印刷プレビュー画面を表示することを設定可能なコントロールアイテムと、を含む。ただし、本実施形態の統合拡張アプリケーション203は、この2つの拡張機能だけに限らず、スタンプ機能等を設定可能になっていてもよい。つまり、印刷設定画面にスタンプ機能等を設定可能なコントロールアイテムを表示してもよい。統合拡張アプリケーション203が提供可能な拡張機能については、統合拡張アプリケーション203がインストールされた際に、決定されるとよい。その場合、ホストコンピュータ101又は接続されている印刷装置102の種類に応じて提供可能な拡張機能が決定される。また、統合拡張アプリケーション203がインストールされた後に、提供可能な拡張機能が決定されることも考えられる。その場合は、統合拡張アプリケーション203が接続されている印刷装置102と通信を行い、印刷装置102の種類と備えている機能に応じて、提供可能な拡張機能が決定される。具体的には、印刷装置102の種類と備えている機能のうち少なくともいずれかに関する情報を取得し、提供可能な拡張機能が決定される。
【0025】
描画アプリケーション201は、OSにより生成されたデフォルトの印刷設定情報(印刷設定を示す情報)を取得し、印刷設定拡張ユニット204の起動時に、この印刷設定情報を印刷設定拡張ユニット204に渡す。印刷設定拡張ユニット204は、ユーザ指示によって印刷設定画面が閉じられた際や、印刷設定画面内で印刷設定の変更が指示された際に、取得した印刷設定情報を編集する。具体的には、印刷設定画面によりユーザ入力された入力情報に基づき、取得した印刷設定情報を編集して新たな印刷設定情報(印刷設定を示す情報)を生成する。印刷設定情報の生成に関する処理の詳細については、図10を用いて後述する。この印刷設定情報は、OSの定義する書式に基づきXML形式で記述された、PrintTicketと呼ばれるデータ内に含まれるものとする。ただし、本実施形態の印刷設定情報は、PrintTicket(以下、「PT」と表記する場合もある)に限らず、他の形式であってもよい。また、印刷設定拡張ユニット204は、OSにより生成されたデフォルトの印刷設定情報を取得し、そのデフォルトの印刷設定情報に対してユーザによる入力情報を反映し、新たに、印刷設定情報を生成(編集)してもよい。印刷設定拡張ユニット204は、生成したPTを、描画アプリケーション201に返却する。
【0026】
その後、描画アプリケーション201は、OSに対して、OSの機能を利用し、PTの整合性チェックの依頼を行う。つまり、OSは、描画アプリケーション201からの指示に基づき、PTの整合性チェックを行う。この整合性チェックについては、図6図9を用いて後述する。
【0027】
整合性チェック後、OSは、描画アプリケーション201にPTを返却する。そして、描画アプリケーション201の提供する画面においてユーザから印刷指示がなされると、OSは、印刷指示に基づき中間データを生成する。また、OSは、統合拡張アプリケーション203のレイアウト拡張ユニット205を起動する。なお、本実施形態の中間データは、描画アプリケーション201により生成された描画データと、印刷設定情報であるPTと、を含むものとする。また、中間データの形式は、XML Paper Specification形式のデータ(XPS形式のデータ)とする。ただし、本実施形態の中間データの形式は、Graphic Device Interface形式のデータ(GDI形式データ)でもよい。さらには、XPS形式でもGDI形式でもない別の形式のデータでもよい。また、描画アプリケーション201の種類によっては、描画アプリケーション201自体が中間データを生成してもよい。つまり、描画アプリケーション201が、描画データに基づいて中間データを生成し、その中間データがOSを介して印刷データ生成ソフトウェア202に送られてもよい。さらには、OSは、描画アプリケーション201が生成したXPS形式の中間データに修正を加えて新たにXPS形式の中間データを生成してもよい。
【0028】
レイアウト拡張ユニット205は、生成された中間データを取得し、中間データ内のPTに基づいて、中間データの編集を行う。図4は、統合拡張アプリケーション203のレイアウト拡張ユニット205が提供する、割り付け印刷機能の概略を示す図である。割り付け印刷では、印刷データ中の複数のページを1枚の用紙の面に配置するようにレイアウトを行う。図4の例では、2ページ印刷が設定されており、レイアウト拡張ユニット205は、連続する2つのページ401とページ402を1つのページに配置したデータ403を生成する。本実施形態では簡略化のため、レイアウト拡張ユニット205は、割り付け印刷機能として2ページ印刷及び4ページ印刷のレイアウト機能のみを有するものとして以降の説明を行う。しかしながら、実際には1枚の用紙面にさらに多くのページを配置する設定も可能である。レイアウト拡張ユニット205における中間データの編集処理の詳細については、図11を用いて後述する。レイアウト拡張ユニット205は、編集を行った中間データを印刷データ生成ソフトウェア202に出力する。
【0029】
印刷データ生成ソフトウェア202は、取得した中間データ内のPTに基づき、拡張機能以外の機能(印刷データ生成ソフトウェア202が提供可能な機能)について処理を実行する。そして、印刷データ生成ソフトウェア202は、印刷装置が解釈可能な形式の印刷データ(印刷コマンドとも呼ぶ)を生成する。なお、印刷データソフトウェア202は、複数のプリンタベンダの印刷装置に対して使用可能な印刷データを生成する。つまり、ベンダAの印刷装置であっても、ベンダBの印刷装置であっても、同一の印刷データソフトウェア202により生成される印刷データを使って印刷することができる。
【0030】
印刷データ生成ソフトウェア202は、生成した印刷データと、レイアウト拡張ユニット205から取得した中間データ内のPTと、を出力する。次に、OSは統合拡張アプリケーション203のプレビューユニット206を起動する。
【0031】
プレビューユニット206は、印刷データ生成ソフトウェア202が生成した印刷データと、PTと、を取得し、印刷プレビューの表示を行う。ユーザは印刷プレビューによって所望の印刷結果になることを確認した後に、印刷プレビューのUI画面を通して印刷開始を指示する。図5は、統合拡張アプリケーション203のプレビューユニット206が提供する、印刷プレビュー画面の一例である。表示アイテム501は、印刷プレビュー上で表示するページを変更するためのコントロールアイテムである。ユーザは、このコントールアイテムを利用して表示ページを変更できる。また、現在の印刷データと印刷設定で発生する印刷の総ページ数を確認することもできる。表示アイテム502は、指定されているページの印刷結果のイメージを示す印刷プレビュー画面である。表示アイテム503は印刷を開始するためのボタンである。表示アイテム504はキャンセルボタンで、ユーザがこのボタンを押下すると、その後の印刷処理はキャンセルされる。なお、図5の画面において、印刷部レビュー画面と共に、印刷設定を変更するためのコントロールアイテムを表示してもよい。例えば、図3で示した各設定(印刷の向き、フチなし印刷設定、両面印刷設定、割り付け印刷設定等)を変更可能なコントロールアイテムを表示してもよい。プレビューユニット206の詳細な処理については、図12を用いて後述する。プレビューユニット206は、ユーザからの印刷開始指示を受け、印刷データを出力する。
【0032】
プレビューユニット206から出力された印刷データは、印刷装置102に送られる。印刷装置102は、印刷データ生成ソフトウェア202から送られた印刷データに基づき紙面への印刷を行う。上記の構成によって、ユーザは印刷データ生成ソフトウェア202が有していないレイアウト機能や印刷プレビュー機能を、統合拡張アプリケーション203によって使用することが可能となる。以上が、本実施形態の印刷処理フロー構成の概略である。以下では、各処理の詳細について説明する。
【0033】
<印刷設定画面拡張ユニット204の処理>
図10を用いて、印刷設定画面拡張ユニット204における印刷設定情報の生成処理の詳細について説明する。図10は、印刷設定画面拡張ユニット204が行う処理を示すフローチャートである。以降、印刷設定画面拡張ユニット204を、各処理の主体として説明することもあるが、実際には、対応するプログラム(統合拡張アプリケーション203)をCPU111が実行することで、対応する機能が実現されることになる。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで編集アプリケーション205の主要な処理を、便宜的にわかりやすく示したフローである。
【0034】
まず、印刷設定画面拡張ユニット204は、描画アプリケーション201の提供する画面を介したユーザ指示に応じて、図3で示したような印刷設定画面を表示する。印刷設定画面拡張ユニット204が提供する印刷設定画面では、統合拡張アプリケーション203が提供する拡張機能の設定も可能とする。
【0035】
そして、S1001において、印刷設定画面拡張ユニット204は、印刷設定画面においてユーザ入力された入力情報を取得する。そして、S1002において、印刷設定画面拡張ユニット204は、統合拡張アプリケーション203が、印刷データ生成ソフトウェア202が提供する標準機能以外の機能(つまり拡張機能)を提供しているか判定する。拡張機能としては、設定項目の拡張だけでなく、標準の設定項目であってもその設定項目として選択可能な選択肢が、標準より拡張している場合を含む。統合拡張アプリケーション203が拡張機能を提供している場合はS1004へ進み、統合拡張アプリケーション203が拡張機能を提供していない場合はS1003へ進む。
【0036】
ここで、拡張機能について説明するため、まず、図6を用いて印刷データ生成ソフトウェア202の提供する機能(標準の設定機能)について説明する。図6の能力情報601は、印刷データ生成ソフトウェア202の備えている機能を示す能力情報の一例である。この能力情報601は、印刷データ生成ソフトウェア202で設定可能な機能を、OSの定義する書式に基づきXML形式で記述したものであり、PrintCapabilities(以下、「PC」と表記する場合もある)と呼ばれる。印刷設定画面拡張ユニット204はこのPCに記述された情報に基づき印刷設定画面を提供する。なお、ここでは印刷データ生成ソフトウェア202は、標準設定機能の設定項目として、用紙の種類、印刷の向きの機能を備えるものとする。つまり、PC中に、用紙の種類設定(「Feature」に「MediaType」が記載された項目に対応)と、印刷の向きの設定(「Feature」に「Orientation」が記載された項目に対応)が含まれている。また、印刷データ生成ソフトウェア202は、用紙の種類の設定項目に対応する選択肢として、普通紙(「Plain」が記載された「Option」)と、写真用紙(「PhotoPaper」が記載された「Option」)を含む。印刷の向きの設定項目に対応する選択肢として、縦(「Portrait」と記載された「Option」)と、横(「Landscape」と記載された「Option」)を含む。なお、実際には、印刷データ生成ソフトウェア202の標準設定機能としては、上記2つ以外の標準設定機能(用紙サイズ設定等)も含まれるが、ここでは説明の簡略化のため、上記2つ以外の標準設定機能は省略している。
【0037】
S1002においてNOと判定された場合、統合拡張アプリケーション203は拡張機能を提供していない。つまり、図6の能力情報601内に記載された機能以外の設定(つまり拡張機能の設定)は存在しないことを意味する。この場合、S1003では、印刷設定画面拡張ユニット204は、図6の印刷設定情報602に示すとおり、通常通りのPTを作成する。つまり、標準設定機能である用紙種と印刷の向きについて、それぞれ設定された項目をPTに入力する。図6の印刷設定情報602では、用紙の種類として「PhotoPaper」が設定され、印刷の向きとして「Portrait」が設定された場合のPTを示す。
【0038】
一方、S1002においてYESと判定された場合、統合拡張アプリケーション203が拡張機能を提供している。つまり、図6の能力情報601内に記載された機能以外の設定(つまり拡張機能の設定)が存在することを意味する。この場合、S1004では、印刷設定画面拡張ユニット204は、図9に示すPTを生成する。つまり、“Extension”というParameterを設け、拡張機能については、このExtensionというParameter中に記述する。具体的には、図9に示すとおり、拡張機能である、割り付け印刷機能(JobNUpAllDocumentsContiguouslyのFeature)の項目及びその選択肢である4in1設定(PagesPerSheet_4のOption)を“Extension”の中に記載する。さらに、同じく拡張機能である印刷プレビュー機能の設定項目(JobPreviewのFeature)とその選択肢であるON設定を“Extension”の中に記載する。拡張機能以外の設定機能(標準設定機能)については、図6と同様に、通常通り記載する。
【0039】
S1005では、印刷設定画面拡張ユニット204は、S1003又はS1004により生成されたPTを描画アプリケーション201に出力する。
【0040】
なお、上述の例では、S1002において、印刷設定画面拡張ユニット204は、統合拡張アプリケーション203が拡張機能を提供しているかを判定したが、本実施形態はこれに限定されない。例えば、印刷設定画面拡張ユニット204は、S1001にて取得した入力情報の中に拡張機能に関する情報が含まれているかを判定してもよい。この場合、入力情報の中に、いずれかの拡張機能に関する情報が含まれている場合は、S1004へ進む。また、S1002において、取得した入力情報の中に、いずれかの拡張機能に関する情報が含まれていない場合は、S1003へ進むとよい。
【0041】
<印刷設定の整合性チェック>
次に、S1005の後に行われる印刷設定の整合性チェックについて説明する。PTを取得した描画アプリケーション201は、OSの機能を利用し、印刷データ生成ソフトウェア202の能力情報と印刷設定情報とから印刷設定の整合性チェックを行う。具体的には、描画アプリケーション201から指示を受けたOSは、PTに記載されている情報を参照し、PTの中に、PC中には存在しない設定機能に関する情報が含まれているかをチェックする。そして、OSは、PCにはない設定機能に関する情報がPT中に記述されていた場合、その設定機能に関する情報をPTから削除、若しくは、PCに存在する適切な設定値に変更する。これは、印刷データ生成ソフトウェア202の処理可能な機能以外の設定値については、不正な値と見なされてしまうためである。
【0042】
例えば、印刷データ生成ソフトウェア202が、図6の能力情報601に示すPCを持ち、S1003において図6の印刷設定情報602に示すPTが生成された場合を説明する。この場合、印刷設定情報602のPTに存在する設定値は、全て能力情報601のPC中に存在する。よってこの場合、OSは、印刷設定情報601の変更は行わない。
【0043】
一方で、比較例として、仮に、印刷データ生成ソフトウェア202が、図7の能力情報701に示すPCを持ち、図7の印刷設定情報702に示すPTが生成された場合を説明する。この場合、印刷設定情報702に示すPTは、割り付け印刷機能として4ページ分のデータを1ページにレイアウトする4in1設定が設定されており、且つ、印刷プレビュー機能が有効(ON)に設定されている。しかしながら、能力情報701に示すPCの中には、印刷プレビュー機能の設定項目(JobPreviewのFeature)は存在しない。また、能力情報701に示すPCの中には、割り付け印刷機能(JobNUpAllDocumentsContiguouslyのFeature)の設定項目は存在するが、選択肢として、4in1設定(PagesPerSheet_4のOption)は存在しない。このような場合、OSは、PT中の割り付け印刷機能(JobNUpAllDocumentsContiguouslyのFeature)におけるOptionをNoneに変更する。さらに、OSは、PT中の印刷プレビュー機能の設定項目(JobPreviewのFeature)を削除する。その結果、整合性チェックにより、印刷設定情報702は、図8に示すような印刷設定情報(PT)に変更される。なお、図8では、OSは、PT中の割り付け印刷機能(JobNUpAllDocumentsContiguouslyのFeature)におけるOptionをNoneに変更したが、本実施形態はこれに限られない。例えば、PC中に存在する別の設定値(例えば、「PagesPerSheet_2」)に変更してもよい。
【0044】
このように、整合性チェックにおいてOSによりPT中の設定値の編集(変更や削除)が行われると、統合拡張アプリケーション203によって拡張機能を追加した場合でも、整合性チェックにより印刷設定情報が正しく保持されない。その結果、レイアウト拡張ユニット205やプレビューユニット206に正しく印刷設定情報が伝わらない可能性がある。
【0045】
そこで、本実施形態では、図10のS1004において説明したとおり、印刷設定情報であるPTの中に、印刷設定の整合性チェックにおいても設定値が変更されないParameterを設ける。そして、図9に示すように、印刷設定画面拡張ユニット204は、拡張機能については、ExtensionというParameterの中に記載し、その他の設定については通常通り記載し、印刷設定情報であるPTを作成する。これにより、印刷設定の整合性チェックを行なわれても、OSは、このExtensionのParameter内に記載された設定値については変更しないように動作する。
【0046】
尚、ExtensionというParameter名は、OSが印刷設定の変更を行わないParameter名の一例であり、印刷設定の整合性チェックにおいても設定値が変更されない名称であれば、その他のParameter名でも構わない。
【0047】
整合性チェック後、OSは、描画アプリケーション201にPTを返却する。そして、描画アプリケーション201の提供する画面においてユーザから印刷指示がなされると、OSは、印刷指示に基づき中間データを生成する。また、OSは、統合拡張アプリケーション203のレイアウト拡張ユニット205を起動する。
【0048】
<レイアウト拡張ユニット205における処理>
次に、レイアウト拡張ユニット205の処理について、図11を用いて説明する。図11は、レイアウト拡張ユニット205の処理を示すフローチャートである。以降、レイアウト拡張ユニット205を、各処理の主体として説明することもあるが、実際には、対応するプログラム(統合拡張アプリケーション203)をCPU111が実行することで、対応する機能が実現されることになる。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで統合拡張アプリケーション203の主要な処理を、便宜的にわかりやすく示したフローである。
【0049】
まず、S1101において、レイアウト拡張ユニット205は、中間データを取得する。次に、S1102において、レイアウト拡張ユニット205は、中間データ内のPT中に、“Extension”のParameterが存在するか判定する。S1102において、“Extension”が存在しない場合は、S1105へ進む。S1102において、“Extension”存在する場合は、S1103へ進む。
【0050】
S1103では、レイアウト拡張ユニット205は、Extension中に記載されている拡張機能が、レイアウト拡張ユニット205自身の機能か判定する。図9に示すPTの場合、Extension中に、レイアウト拡張ユニット205の機能である割り付け印刷設定が記載されている。よって、S1104へ進む。Extension中に、レイアウト拡張ユニット205の機能が記載されていない場合は、S1105へ進む。
【0051】
S1104では、レイアウト拡張ユニット205は、記載された拡張機能を実行する。つまり、図9に示すPTの場合、4ページ分のデータを用紙の1ページ分の面にレイアウトする処理を実行する。これは、レイアウト拡張ユニット205が、中間データ中の描画データを編集することに対応する。そして、S1105では、レイアウト拡張ユニット205は、編集済みの中間データ(編集済みの描画データとPTとを含む)を、印刷データ生成ソフトウェア202に対して出力する。
【0052】
図11に示す処理の後、印刷データ生成ソフトウェア202は、取得した中間データ内のPTに基づき、拡張機能以外の機能(印刷データ生成ソフトウェア202が提供可能な機能)について処理を実行する。そして、印刷データ生成ソフトウェア202は、印刷装置が解釈可能な形式の印刷データ(印刷コマンドとも呼ぶ)を生成する。そして、印刷データ生成ソフトウェア202は、生成した印刷データと、レイアウト拡張ユニット205から取得した中間データ内のPTと、を出力する。また、OSは統合拡張アプリケーション203のプレビューユニット206を起動する。
【0053】
<プレビューユニット206の処理>
次に、プレビューユニット206の処理について、図12を用いて説明する。図12は、プレビューユニット206の処理を示すフローチャートである。以降、プレビューユニット206を、各処理の主体として説明することもあるが、実際には、対応するプログラム(統合拡張アプリケーション203)をCPU111が実行することで、対応する機能が実現されることになる。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで統合拡張アプリケーション203主要な処理を、便宜的にわかりやすく示したフローである。
【0054】
まず、S1201において、プレビューユニット206は、印刷データ生成ソフトウェア202により生成された印刷データと、PTと、を取得する。
【0055】
S1202では、取得したPT中に、“Extension”のParameterが存在するか判定する。S1202において、“Extension”が存在しない場合は、S1205へ進む。S1202において、“Extension”存在する場合は、S1203へ進む。
【0056】
S1203では、プレビューユニット206は、Extension中に記載されている拡張機能が、プレビューユニット206自身の機能か判定する。図9に示すPTの場合、Extension中に、プレビューユニット206の機能である印刷プレビューが記載されている。よって、S1204へ進む。Extension中に、プレビューユニット206の機能が記載されていない場合は、S1205へ進む。
【0057】
S1204では、プレビューユニット206は、記載された拡張機能を実行する。つまり、図9に示すPTの場合、印刷プレビュー処理を実行する。印刷プレビュー処理は、取得した印刷データに基づくプレビュー画像を含む印刷プレビュー画面を表示することであり、例えば、図5に示すような印刷プレビュー画面を表示する。なお、印刷プレビュー画面には、プレビュー画像と共に、印刷設定を変更可能なコントロールアイテムを表示してもよい。
【0058】
そして、印刷プレビュー画面に設けられたPrintボタン等により印刷指示がなされると、S1205において、プレビューユニット206は、印刷データを出力する。出力された印刷データは、印刷装置102へ送信される。
【0059】
なお、プレビュー画像と共に表示される、印刷設定を変更可能なコントロールアイテムを用いたユーザ操作によって、印刷設定が変更された場合、プレビューユニット206は、変更に基づいて印刷データを編集するとよい。そして、プレビューユニット206は、編集した印刷データに基づき、再度、印刷プレビュー処理を行うとよい。
【0060】
以上説明したとおり、本実施形態の統合拡張アプリケーション201は、印刷設定画面を提供することができ、この印刷設定画面における入力に基づいて印刷設定情報を生成する。この印刷設定情報の生成の際、拡張機能に関する設定情報に関しては、OSによる整合性チェックにより編集(変更もしくは削除)が行われないよう記述する。このような処理により、異なるタイミングで複数回起動される統合拡張アプリケーション203は、印刷ジョブ毎に設定される拡張機能に関する設定情報を、後続の起動タイミングにおいても適切に取得可能となる。
【0061】
尚、上述の例では、拡張機能に関する設定情報を印刷設定情報の中に、編集されないParameterを追加して記載したが、本実施形態はこれに限定されない。拡張機能に関する設定情報の保存方法は他にも考えられる。例えば、印刷設定画面拡張ユニット204は、印刷設定情報中に印刷ジョブを識別するための、固有の識別子のみを記載しておく。そして、印刷設定画面拡張ユニット204は、実際の印刷設定を示す情報を、印刷設定情報とは別の外部ファイルに前述の識別子と共に保存する。そして、その後に起動する、レイアウト拡張ユニット205やプレビューユニット206は、印刷設定情報内に識別子があった場合には、識別子が一致する外部ファイルを参照し、印刷設定に関する情報を読み込むといった構成も考えられる。なお、外部ファイルとは、統合拡張アプリケーション201の各ユニットがそれぞれアクセス可能なファイルであり、UserPropertyBagと呼ばれるファイルやQueuePropertyBagと呼ばれるファイルであってもよい。また、テキストファイル等に記載して、通常のユーザがアクセスしない保存場所に保存してもよい。
【0062】
さらに、印刷設定画面拡張ユニット204は印刷設定を、外部ファイルではなく、レジストリ(OSの提供する設定情報のデータベース)に保存し、外部ファイル使用時と同様の処理を実現することも可能である。このように、外部ファイルやレジストリを用いた場合も、印刷設定情報の整合性チェックがあったとしても、このような保存場所に保存された印刷設定に関する情報はOSによる編集が行われない。よって、統合拡張アプリケーション203は、拡張機能に関する設定情報を、後続の起動タイミングにおいても適切に取得可能となる。
【0063】
<<実施形態2>>
実施形態1では、印刷設定画面拡張ユニット204が、印刷設定情報を適切に拡張することにより、後に起動する拡張アプリケーションに設定を伝えることを可能とした。しかしながら、実施形態1の構成では、印刷データ生成ソフトウェア202の能力情報には、統合拡張アプリケーション203で実現可能な機能が含まれていない。そのため、実際には印刷データ生成ソフトウェア202で実現可能な機能が、描画アプリケーション201からは実現不可能に見えることになる。
【0064】
アプリケーションによっては、自身のUI上に印刷設定の一部を表示し、ユーザに選択可能にさせるものもあり、こういったアプリケーションにおいては、実施形態1の構成は好ましくない。なぜなら、前述のようなアプリケーションでは、印刷データ生成ソフトウェアの能力情報として記載されている機能のみ、UI上に表示するように制御するのが一般的である。そのため、実際には動作可能な機能について、ユーザに提供することが出来ないといったことが起こってしまう。そのため、本実施形態では、描画アプリケーション201に対して、印刷データ生成ソフトウェア202の正しい能力情報を返却しつつ、本提案の課題を解決することを目的とする。
【0065】
本実施形態では、統合拡張アプリケーション203がインストールされている場合に、印刷データ生成ソフトウェア202の能力情報(PC)を拡張する。具体的には、通常、図7の701のような能力情報を持つ、印刷データ生成ソフトウェア202に対応付けて、実施形態1に記載の統合拡張アプリケーション203がインストールされた場合、図13に示すように能力情報が拡張される。能力情報の拡張はOSが行う。具体的には、描画アプリケーション201等から、能力情報の取得要求があった場合に、OSは、印刷データ生成ソフトウェア202が持つ機能を示す能力情報に対して、統合拡張アプリケーション203が持つ機能を示す能力情報を追加して、送信する。例えば、描画アプリケーション201等が、印刷設定のためのUIを表示する場合に、能力情報を把握する必要がある。よって、このような場合に、描画アプリケーション201等は、能力情報の取得要求を行い、OSは、要求元に能力情報を送信する。
【0066】
図13に示す能力情報では、印刷データ生成ソフトウェア202が持つ能力情報に対して、OSは、統合拡張アプリケーション203が持つ、4ページの割り付け印刷機能と、印刷プレビュー機能の能力情報を追加している。能力情報が拡張されるため、アプリケーション201が、印刷設定の整合性チェックを行った場合でも、拡張機能に関する印刷設定が削除されない。そのため、尚、OSは統合拡張アプリケーション203がインストールされている場合には、能力情報の追加処理を行い、インストールされていない場合には、能力情報の追加処理を行わないように動作する。統合拡張アプリケーション203が能力情報をOSに伝える手段としては、専用のAPIを設ける、または、レジストリや外部ファイルに記載することが考えられる。
【0067】
以上の処理により、アプリケーション201に対して、印刷データ生成ソフトウェア202の正しい能力情報を返却しつつ、印刷ジョブ毎に設定した拡張機能に関する設定情報を、後のタイミングで起動する拡張アプリケーションでも取得可能となる。
【0068】
なお、本実施形態の場合、統合拡張アプリケーション203の印刷設定画面拡張ユニット204としては、拡張機能が存在しないものとして動作する。つまり、図10のS1002の判定処理において、常にNOと判定する。そして、S1003において、通常通りPTを生成するとよい。また、本実施形態の場合、統合拡張アプリケーション203のレイアウト拡張ユニット205及びプレビューユニット206は、PT中における“Extension”が記述されているかを確認する必要はない。つまり、図11のS1102及び図12のS1202のステップを実行する必要はない。レイアウト拡張ユニット205は、S1102をスキップしてS1103に進み、自身の機能がPT中に記述されているかの判定を行う。また、プレビューユニット206は、S1202のステップをスキップしてS1203のステップに進み、自身の機能がPT中に記述されているかの判定を行う。以降の処理は実施形態1と同じである。
【0069】
<<実施形態3>>
上述した実施形態は、以下の処理を実行することによっても実行される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。これによって、上述した目的を達成することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0070】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0071】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【0072】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。そして、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。その処理によって前述した実施形態の機能が実現される。
【符号の説明】
【0073】
102 印刷装置
202 印刷データ生成ソフトウェア
203 統合拡張アプリケーション
204 印刷設定拡張ユニット
205 レイアウト拡張ユニット
206 プレビューユニット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13