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

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

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

特許7532482拡張アプリケーション、制御方法および情報処理装置
<>
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図1
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図2
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図3
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図4
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図5
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図6
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図7
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図8
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図9
  • 特許-拡張アプリケーション、制御方法および情報処理装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-02
(45)【発行日】2024-08-13
(54)【発明の名称】拡張アプリケーション、制御方法および情報処理装置
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240805BHJP
【FI】
G06F3/12 324
G06F3/12 305
G06F3/12 356
G06F3/12 353
【請求項の数】 21
(21)【出願番号】P 2022189869
(22)【出願日】2022-11-29
(62)【分割の表示】P 2018125043の分割
【原出願日】2018-06-29
(65)【公開番号】P2023021149
(43)【公開日】2023-02-09
【審査請求日】2022-12-22
【前置審査】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】塩原 徹矢
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2018-049581(JP,A)
【文献】特開2018-092583(JP,A)
【文献】特開2015-166918(JP,A)
【文献】特開2010-218309(JP,A)
【文献】特開2013-140423(JP,A)
【文献】特開2013-242923(JP,A)
【文献】特開2006-164253(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
複数のベンダの印刷装置で印刷可能な印刷データを生成し、前記印刷データを前記印刷装置に送信する印刷データ生成ソフトウェアの拡張アプリケーションであって、コンピュータに、
印刷設定を受け付ける設定画面を表示部に表示させるための処理を実行させ、
アプリケーションが出力した画像データに基づく印刷プレビューであって、前記設定画面によって受け付けた印刷設定の少なくとも一部の印刷設定が反映された印刷プレビューを前記表示部に表示させるための処理を、ユーザから印刷指示を受け付けた一方、所定の指示を受け付けていない場合に実行させずに、ユーザから前記印刷指示を受け付け、且つ、前記所定の指示を受け付けている場合に実行させ、
複数のベンダの印刷装置で印刷可能な印刷データを生成する前記印刷データ生成ソフトウェアにより、前記画像データに基づいて印刷データが生成され、前記印刷データが前記印刷装置に送信されることを特徴とする拡張アプリケーション。
【請求項2】
前記複数のベンダの印刷装置で印刷可能な印刷データを生成し、前記印刷データを前記印刷装置に送信する前記印刷データ生成ソフトウェアにより、前記画像データと前記設定画面を用いて設定された印刷設定に基づいて印刷データが生成されることを特徴とする請求項1に記載の拡張アプリケーション。
【請求項3】
前記印刷設定は、1枚の用紙の同じ面に複数のページを印刷する印刷機能の設定を含むことを特徴とする請求項1または2に記載の拡張アプリケーション。
【請求項4】
前記印刷データ生成ソフトウェアは、OSに予め含まれるソフトウェアであることを特徴とする請求項1乃至のいずれか1項に記載の拡張アプリケーション。
【請求項5】
前記拡張アプリケーションは、前記OSに予め含まれないソフトウェアであることを特徴とする請求項に記載の拡張アプリケーション。
【請求項6】
前記拡張アプリケーションは、ネットワークを介してサーバからダウンロードされることを特徴とする請求項1乃至のいずれか1項に記載の拡張アプリケーション。
【請求項7】
印刷装置から取得された識別情報に対応する拡張アプリケーションがダウンロードされる請求項に記載の拡張アプリケーション。
【請求項8】
OSによって、前記拡張アプリケーションと前記印刷データ生成ソフトウェアは関連付けられることを特徴とする請求項1乃至のいずれか1項に記載の拡張アプリケーション。
【請求項9】
前記設定画面は、前記アプリケーションから印刷指示を受け付けたときに表示されることを特徴とする請求項1乃至のいずれか1項に記載の拡張アプリケーション。
【請求項10】
前記アプリケーションが出力した画像データはXPS形式のデータであることを特徴とする請求項1乃至のいずれか1項に記載の拡張アプリケーション。
【請求項11】
前記アプリケーションが出力した画像データはGDI形式のデータであることを特徴とする請求項1乃至のいずれか1項に記載の拡張アプリケーション。
【請求項12】
前記コンピュータに、アドレス情報を使って印刷装置の状態情報を取得するための処理をさらに実行させることを特徴とする請求項1乃至11のいずれか1項に記載の拡張アプリケーション。
【請求項13】
前記印刷装置は、前記印刷データに基づいて紙に印刷を行うことを特徴とする請求項1乃至12のいずれか1項に記載の拡張アプリケーション。
【請求項14】
前記コンピュータに、前記印刷プレビューされるページを変更するための処理をさらに実行させることを特徴とする請求項1乃至13のいずれか1項に記載の拡張アプリケーション。
【請求項15】
前記コンピュータに、前記印刷プレビューとともに、前記印刷プレビューされるページを変更するアイテムを前記表示部に表示させるための処理をさらに実行させることを特徴とする請求項14に記載の拡張アプリケーション。
【請求項16】
前記コンピュータに、前記印刷プレビューとともに、前記画像データに基づく印刷を開始させるボタンを前記表示部に表示させるための処理をさらに実行させることを特徴とする請求項1乃至15のいずれか1項に記載の拡張アプリケーション。
【請求項17】
前記コンピュータに、前記印刷プレビューとともに、前記画像データに基づく印刷をキャンセルするボタンを前記表示部に表示させるための処理をさらに実行させることを特徴とする請求項1乃至16のいずれか1項に記載の拡張アプリケーション。
【請求項18】
請求項1乃至17のいずれか1項に記載の拡張アプリケーションを記憶した、コンピュータ読取可能な記憶媒体。
【請求項19】
複数のベンダの印刷装置で印刷可能な印刷データを生成し、前記印刷データを前記印刷装置に送信する印刷データ生成ソフトウェアの拡張アプリケーションを実行することによって行われる制御方法であって、
印刷設定を受け付ける設定画面を表示部に表示させるための処理を行う工程と、
アプリケーションが出力した画像データに基づく印刷プレビューであって、前記設定画面によって受け付けた印刷設定の少なくとも一部の印刷設定が反映された印刷プレビューを前記表示部に表示させるための処理を、ユーザから印刷指示を受け付けた一方、所定の指示を受け付けていない場合に実行させずに、ユーザから前記印刷指示を受け付け、且つ、前記所定の指示を受け付けている場合に行う工程とを有し、
複数のベンダの印刷装置で印刷可能な印刷データを生成する前記印刷データ生成ソフトウェアにより、前記画像データに基づいて印刷データが生成され、前記印刷データが前記印刷装置に送信されることを特徴とする制御方法。
【請求項20】
前記複数のベンダの印刷装置で印刷可能な印刷データを生成し、前記印刷データを前記印刷装置に送信する前記印刷データ生成ソフトウェアにより、前記画像データと前記設定画面を用いて設定された印刷設定に基づいて印刷データが生成されることを特徴とする請求項19に記載の制御方法。
【請求項21】
複数のベンダの印刷装置で印刷可能な印刷データを生成し、前記印刷データを前記印刷装置に送信する印刷データ生成ソフトウェアの拡張アプリケーションを有する情報処理装置であって、
印刷設定を受け付ける設定画面を表示部に表示させるための処理を前記拡張アプリケーションを実行することで行う表示手段と、
アプリケーションが出力した画像データに基づく印刷プレビューであって、前記設定画面によって受け付けた印刷設定の少なくとも一部の印刷設定が反映された印刷プレビューを前記表示部に表示させるための処理を、ユーザから印刷指示を受け付けた一方、所定の指示を受け付けていない場合に実行させずに、ユーザから前記印刷指示を受け付け、且つ、前記所定の指示を受け付けている場合に前記拡張アプリケーションを実行することで行う表示制御手段とを有し、
複数のベンダの印刷装置で印刷可能な印刷データを生成する前記印刷データ生成ソフトウェアにより、前記画像データに基づいて印刷データが生成され、前記印刷データが前記印刷装置に送信されることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、拡張アプリケーション、制御方法および情報処理装置に関するものである。
【背景技術】
【0002】
Windows(登録商標)において、プリンタドライバの機能を拡張するための専用のアプリケーションを提供することができる。このアプリケーションはWindows Store Device App(WSDA)と呼ばれる。印刷装置を提供するベンダは、WSDAを提供することで、特定のアプリケーションから印刷する際の印刷設定画面をカスタマイズすることができる(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-16480号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、印刷処理における更なる利便性の向上が望まれている。
【0005】
本発明は、このような課題に鑑み、複数のベンダの印刷装置で印刷可能な印刷データを生成し、当該印刷データを当該印刷装置に送信する印刷データ生成ソフトウェアの拡張アプリケーションで、アプリケーションが出力した画像データに基づ印刷プレビューであって、設定画面によって受け付けた印刷設定の少なくとも一部の印刷設定が反映された印刷プレビューを表示部に表示させるための処理を、ユーザから印刷指示を受け付けた一方、所定の指示を受け付けていない場合に実行させずに、ユーザから当該印刷指示を受け付け、且つ、当該所定の指示を受け付けている場合に実行させることを目的とする。
【課題を解決するための手段】
【0006】
上述のような課題を解決するため、本発明は、複数のベンダの印刷装置で印刷可能な印刷データを生成し、前記印刷データを前記印刷装置に送信する印刷データ生成ソフトウェアの拡張アプリケーションであって、コンピュータに、印刷設定を受け付ける設定画面を表示部に表示させるための処理を実行させ、アプリケーションが出力した画像データに基づく印刷プレビューであって、前記設定画面によって受け付けた印刷設定の少なくとも一部の印刷設定が反映された印刷プレビューを前記表示部に表示させるための処理を、ユーザから印刷指示を受け付けた一方、所定の指示を受け付けていない場合に実行させずに、ユーザから前記印刷指示を受け付け、且つ、前記所定の指示を受け付けている場合に実行させ、複数のベンダの印刷装置で印刷可能な印刷データを生成する前記印刷データ生成ソフトウェアにより、前記画像データに基づいて印刷データが生成され、前記印刷データが前記印刷装置に送信されることを特徴とする。
【発明の効果】
【0007】
本発明により、複数のベンダの印刷装置で印刷可能な印刷データを生成し、当該印刷データを当該印刷装置に送信する印刷データ生成ソフトウェアの拡張アプリケーションで、アプリケーションが出力した画像データに基づ印刷プレビューであって、設定画面によって受け付けた印刷設定の少なくとも一部の印刷設定が反映された印刷プレビューを表示部に表示させるための処理を、ユーザから印刷指示を受け付けた一方、所定の指示を受け付けていない場合に実行させずに、ユーザから当該印刷指示を受け付け、且つ、当該所定の指示を受け付けている場合に実行させることが可能となる。
【図面の簡単な説明】
【0008】

図1】印刷システムのハードウェア構成を示すブロック図。
図2】印刷におけるデータフローを説明するためのブロック図。
図3】印刷設定を行う画面を説明するための模式図。
図4】割り付け印刷を説明するための模式図。
図5】印刷プレビュー機能のユーザインタフェースの模式図。
図6】起動条件の登録情報の一例を示す図。
図7】実施形態1における拡張アプリケーションの起動処理のフローチャート
図8】拡張アプリケーション起動設定処理のフローチャート
図9】実施形態2における拡張アプリケーションの起動処理のフローチャート
図10】拡張アプリケーションにより提供される画面の一例を示す図
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0010】
<実施形態1>
図1は、印刷システムのハードウェア構成を示すブロック図である。本図において、ホストコンピュータ101は、情報処理装置の一例であり、入力インタフェース110、CPU111、ROM112、RAM113、外部記憶装置114、出力インタフェース115、及び入出力インタフェース116を有する。また、入力インタフェース110には、キーボード118、ポインティングデバイス117などの入力デバイスが接続され、出力インタフェース115には、表示部119などの表示デバイスが接続されている。
【0011】
ROM112には、初期化プログラムが格納され、外部記憶装置114には、アプリケーションプログラム群、オペレーティングシステム(OS)、印刷データ生成アプリケーション、その他の各種のデータが格納されている。RAM113は、外部記憶装置114にストアされる各種のプログラムの実行の際のワークメモリ等として使用される。
【0012】
なお、本実施形態では、CPU111が、ROM112に格納されたプログラムの手順に従って処理を行うことによって、ホストコンピュータ101における後述の機能及び後述するフローチャートに係る処理を実行する。デバイスである印刷装置102は、入出力インタフェース116を介して、ホストコンピュータ101と接続されている。ここでは、ホストコンピュータ101と印刷装置102が分かれて構成されているが、これらが一つの情報処理装置として構成されていても良い。なお、印刷装置は、インクを紙面上に吐出することで印刷するインクジェットプリンタを例に説明するが、他の方法(例えば電子写真方式)で印刷が実行されても良い。また、ホストコンピュータ101は、デスクトップパソコンでも、スマートフォンでも、ノートパソコンでも構わない。
【0013】
図2は、印刷におけるデータフローを示す図である。図2(a)は、拡張アプリケーション203が、アプリケーション201、印刷データ生成ソフトウェア202および印刷装置102と関連付けられていない場合のデータフローを示す図である。ユーザは、アプリケーション201から印刷を指示する。なお、アプリケーション201とは印刷されるコンテンツを作成するソフトウェアであり、例えば、文書作成アプリケーションまたは表計算アプリケーションが相当する。印刷を指示する場合、ユーザは、OS、もしくは印刷データ生成ソフトウェア202が提供する印刷設定画面を使って設定処理を行う。この設定処理により、印刷データ生成ソフトウェアが印刷設定情報を生成する。なお、印刷設定情報には、印刷設定画面を使って設定された設定値に対応する設定情報が含まれる。なお、印刷設定情報をPrintTciketと呼ぶこともある。OSは印刷指示に基づきアプリケーションから出力されたアプリケーションデータに基づいて中間データ(入力データとも呼ぶ)を生成して、印刷データ生成ソフトウェア202に渡す。なお、アプリケーションが印刷用に出力するデータは、Graphic Device Interface形式のデータ(GDI形式データ)またはXML Paper Specification形式のデータ(XPS形式のデータ)である。印刷データ生成ソフトウェア202は、ユーザにより設定された印刷設定情報に基づき中間データから印刷装置が解釈可能な印刷データを生成し、印刷装置102に送信する。なお、印刷データ生成ソフトウェア202は、複数ベンダの印刷装置において使用可能な印刷データを生成する。つまり、ベンダAの印刷装置が印刷データ生成ソフトウェア202により生成される印刷データを使って印刷することができる。また、ベンダBの印刷装置が印刷データ生成ソフトウェア202により生成される印刷データを使って印刷することもできる。印刷装置102は、印刷データ生成ソフトウェア202から送られた印刷データに基づき紙面への印刷を行う。
【0014】
図2(b)は、拡張アプリケーション203が印刷データ生成ソフトウェア202と関連付けられた場合のデータフローを示す図である。なお、印刷データ生成ソフトウェア202は、OSに予め含まれるソフトウェアである。つまり、OSが装置にインストールされた段階で印刷データ生成ソフトウェアも使用可能である。一方、拡張アプリケーション203は、OSに予め含まれないソフトウェアである。そのためユーザがホストコンピュータを操作して拡張アプリケーション203をネットワークを介してサーバからダウンロードして、インストールする必要がある。また、ホストコンピュータ101に印刷装置102が接続された場合、CPU111が印刷装置102からデバイス識別情報を取得する。そして、CPU111は、取得されたデバイス識別情報に対応する拡張アプリケーション203をネットワークを介してサーバから取得してインストールしても良い。つまり、印刷データ生成ソフトウェア202と、拡張アプリケーション203は別ファイルとしてホストコンピュータ101に保持される。なお、印刷データ生成ソフトウェア202および拡張アプリケーション203は、更新されてバージョンアップされることもあるが、この更新処理も別々のタイミングで行われる。つまり、ホストコンピュータ101により印刷データ生成ソフトウェア202が取得されるタイミングと、拡張アプリケーション203が取得されるタイミングは異なる。また、ホストコンピュータ101により印刷データ生成ソフトウェア202が取得されるトリガーと、拡張アプリケーション203が取得されるトリガーも異なる。なお、拡張アプリケーション203がインストールされた場合、OSが、印刷データ生成ソフトウェア202と拡張アプリケーション203を関連付ける。本実施形態で説明する拡張アプリケーション203は、印刷設定画面拡張ユニット204とレイアウト拡張ユニット205とプレビューユニット206を備える。
【0015】
なお、各ユニットの処理が終わるたびに拡張アプリケーション203の動作が終了しても良い。その場合、各ユニットを使う要求を受ける度にOSが拡張アプリケーション203を起動することになる。また、別の形態も考えられる。例えば印刷設定画面拡張ユニット204の処理が終了するとOSは拡張アプリケーション203の動作を終了させるが、レイアウト拡張ユニット205の処理が終了してもOSは拡張アプリケーション203を起動させたままにしても良い。
【0016】
続いて、レイアウト拡張ユニット205とプレビューユニット206について説明する。レイアウト拡張ユニット205は、印刷データ生成ソフトウェア202が処理する前の中間データに基づいてレイアウト処理を行う。例えば、レイアウト拡張ユニット205は、複数のページを1枚の用紙の面に配置して印刷する割り付け印刷機能(Nin1印刷とも呼ぶ)を提供する。また、プレビューユニット206は、印刷データ生成ソフトウェア202が生成した印刷データの表示および編集の少なくとも1つを実行可能である。また、拡張アプリケーション203の各ユニットはUIの表示が可能であるが、UIを表示しなくても良い。例えば、レイアウト拡張ユニット205については、UIを表示せずに中間データの編集のみを行い、編集した中間データを印刷データ生成ソフトウェア202に出力しても良い。なお、レイアウト拡張ユニット205がUIを表示可能である場合は、例えば、中間データに基づいてプレビュー画像および印刷設定情報を変更する設定領域を含むプレビュー画面を表示しても良い。尚、本発明を実現するための拡張アプリケーション203の構成は、前述の機能を全て備えるものに限定されず、機能の一部のみを持つものや、他の機能を有するものでもよいことは言うまでもない。なお、拡張アプリケーション203は、単に印刷ソフトウェアと呼ばれることもある。以上のように、拡張アプリケーション203は、設定画面を表示する機能、印刷データ生成ソフトウェアに入力される入力データを編集する機能、および、印刷データを表示する機能の少なくとも1つを備えると言える。
【0017】
ユーザは、アプリケーション201から印刷を指示する。その際、ユーザは、拡張アプリケーション203の提供する印刷設定画面拡張ユニット204により提供される印刷設定画面を使って設定処理を行う。この設定処理により、印刷設定画面拡張ユニット204は、印刷設定情報を生成する。印刷設定機能の詳細については図3を用いて後述する。
【0018】
OSは印刷指示に基づきアプリケーションデータと印刷設定情報に基づいて中間データを生成し、拡張アプリケーション203のレイアウト拡張ユニット205を起動する。中間データの中には、印刷されるコンテンツに対応する描画データと印刷設定情報が含まれる。なお、OSは、例えば、アプリケーション201から出力されたGDIデータに基づいて中間データとしてXPS形式のデータを生成する。アプリケーション201がアプリケーションデータとしてXPS形式のデータを出力した場合、OSは、当該XPS形式のデータをそのままレイアウト拡張ユニット205に渡しても良い。また、アプリケーション201がアプリケーションデータとしてXPS形式のデータを出力した場合、OSがアプリケーションデータであるXPS形式のデータに修正を加えたXPS形式のデータを生成しても良い。レイアウト拡張ユニット205は、生成された中間データに含まれる描画データと、例えば図3の画面を使って生成された印刷設定情報に基づいて描画データの編集を行う。レイアウト拡張ユニット205は、編集を行った描画データを印刷データ生成ソフトウェア202に出力する。印刷データ生成ソフトウェア202は、ユーザにより設定操作に基づいて生成された印刷設定情報と編集後の描画データに基づき、印刷装置が解釈可能な印刷データを生成し、出力する。次に、OSは拡張アプリケーション203のプレビューユニット206を起動する。プレビューユニット206は、印刷データ生成ソフトウェア202が生成した印刷データを取得し、印刷プレビューの表示を行う。ユーザは印刷プレビューによって所望の印刷結果になることを確認した後に、印刷プレビューのUIを用いて印刷開始を指示する。プレビューユニット206は、ユーザからの印刷開始指示を受けた場合、印刷データを出力する。プレビューユニット206から出力された印刷データは印刷装置102に送られる。印刷装置102は、ホストコンピュータ101から送られた印刷データに基づき紙面への印刷を行う。上記の構成によって、ユーザは印刷データ生成ソフトウェア202が有していないレイアウト機能や印刷プレビュー機能を、拡張アプリケーションによって使用することが可能となる。
【0019】
図3は、拡張アプリケーション203の印刷設定画面拡張ユニット204が提供する、印刷設定画面の一例である。ユーザは、アプリケーションから印刷行う際に、本画面を用いて印刷設定情報を設定する。拡張アプリケーション203が印刷データ生成ソフトウェア202などに関連付けられていない場合、OSや印刷データ生成ソフトウェア202が提供する標準の印刷設定画面が使用されることが一般的である。標準の印刷設定画面では、印刷データ生成ソフトウェア202が提供する機能に対応する印刷設定情報のみが設定可能である。それに対して、拡張アプリケーション203が提供する印刷設定画面では、拡張アプリケーション203が提供する拡張機能に対応する印刷設定情報も設定可能となる。図3の例では、レイアウト拡張ユニット205で提供される割り付け印刷の設定や、プレビューユニット206で提供される印刷プレビュー機能の設定を行うことができる。
【0020】
図4は、拡張アプリケーション203のレイアウト拡張ユニット205が提供する、割り付け印刷機能の概略を示す図である。割り付け印刷では、アプリケーションデータに基づく中間データ中の複数のページを1枚の用紙の面に配置するようにレイアウトを行う。図4の例では、2ページ印刷(2in1)が設定されており、レイアウト拡張ユニット205は、連続する2つのページ401と402を1つの用紙の面に配置した描画データ403を生成する。また、2ページ印刷以外にも、1枚の用紙の面にさらに多くのページを配置する設定も存在する。本実施形態におけるレイアウト拡張ユニット205は、割り付け印刷機能として2ページ印刷と4ページ印刷のレイアウト機能を有するものとして以降の説明を行う。
【0021】
図5は、拡張アプリケーション203のプレビューユニット206が提供する、印刷プレビュー画面の一例である。表示アイテム501は、印刷プレビュー上で表示するページを変更するために使用される。ユーザは、この表示アイテム501を操作することで表示対象となるページを変更できるし、また、現在の印刷データと印刷設定で発生する印刷の総ページ数を確認することもできる。表示アイテム502は、指定されているページの印刷結果のイメージを示す印刷プレビュー画面である。表示アイテム503は印刷を開始するためのボタンである。表示アイテム504はキャンセルボタンで、ユーザがこのボタンを押下すると、その後の印刷処理はキャンセルされる。なお、図5に表示されるプレビュー画像は、アプリケーションにより生成されたコンテンツに対応する。
【0022】
印刷装置を提供するベンダは、拡張アプリケーション203を用いることで、印刷データ生成ソフトウェア202の機能を拡張することができる。しかし、拡張アプリケーション203が印刷データ生成ソフトウェア202に関連付けられることにより、印刷の度に拡張アプリケーション203が起動されてしまうと印刷全体にかかる時間が増加してしまうという懸念がある。そこで、ユーザが拡張アプリケーション203の起動設定を行うことによって、拡張アプリケーション203を起動するか否かを切り替えることにより、適切な印刷処理が実行される。
【0023】
つまり、ユーザは、拡張アプリケーション203の起動設定としてON/OFFを設定する。例えば、図3の画面を用いて拡張アプリケーション203の起動設定としてON/OFFが設定されても良い。また、ユーザは、拡張アプリケーション203を使用する前に別のアプリケーションを使って拡張アプリケーション203の起動設定としてON/OFFを設定しても良い。OSは、拡張アプリケーション203の起動設定を確認し、ONの場合のみ起動する。これにより、ユーザは、拡張アプリケーション203を使用するか否かを選択することが可能となる。この仕組みにより、ユーザは、拡張アプリケーション203による機能拡張を必要としない場合には、設定をOFFにすることで印刷全体にかかる時間の増加を抑制できる。
【0024】
また、ユーザが、拡張アプリケーション203の提供する機能を使用したい場合のみ、拡張アプリケーション203が起動されることが望ましい。例えば、拡張アプリケーション203が印刷プレビュー機能を提供する場合、ユーザが図3の画面で印刷プレビュー設定をONにした状態で印刷を指示した場合にのみ、拡張アプリケーション203が起動されるべきである。そのためには、拡張アプリケーション203の起動元が、何の印刷設定情報が設定された場合に拡張アプリケーションを起動すべきかを認識している必要がある(以降、拡張アプリケーションの起動元はOSとして説明する)。そこで、拡張アプリケーション203が、起動条件を登録し、OSが登録された起動条件に合致する場合に拡張アプリケーション203を起動する構成について説明する。
【0025】
本構成を実現するにあたり、まず前述の拡張アプリケーション203の起動条件に、印刷設定情報に基づいて起動可否を判断するCUSTOM設定を追加する。OSは、起動設定でCUSTOMが選択されている場合、登録された起動条件に基づき拡張アプリケーションの起動判断を行う。
【0026】
図6は、起動条件の登録情報の一例を示す図である。本実施形態において、拡張アプリケーション203は、レイアウト拡張ユニット205による割り付け印刷と、プレビューユニット206による印刷プレビュー機能を提供する。また、ユーザは、印刷設定画面拡張ユニット204において、印刷ジョブに関連付けられる印刷設定に対して、割り付け印刷と印刷プレビューの設定を行うことができる。
【0027】
拡張アプリケーション203は、印刷データ生成ソフトウェア202に関連付けられた際に、拡張アプリケーション203自身の起動トリガーとなる印刷設定情報を登録する。尚、情報の登録を行うタイミングについては、拡張アプリケーション203が印刷データ生成ソフトウェア202に関連付けられたタイミングに限るものではない。ユーザが拡張アプリケーション203を通して任意のタイミングで変更することも可能であり、起動条件情報の登録タイミングは限定されるものではない。
【0028】
登録情報としては、対象となる機能を示すFeatureと、設定されていた場合に起動対象となる設定項目のリストであるOptions、起動タイミングを示すTimingの3つの情報が存在する。Timingは数値と起動タイミングが対応付けられており、1の場合は印刷データ生成ソフトウェア202の起動前、2の場合は印刷データ生成ソフトウェア202の起動後に拡張アプリケーション203が起動する。図6の例では、印刷プレビュー機能に対応したJobPreview設定がONの場合、印刷データ生成ソフトウェア202の起動後に拡張アプリケーション203が起動するように登録されている。併せて、割り付け印刷設定に対応したJobNUpAllDocumentsContiguouslyというFeatureで、2ページ印刷(PagesPerSheet_2)、もしくは4ページ印刷(PagesPerSheet_4)が設定された場合に、印刷データ生成ソフトウェア202の起動前に拡張アプリケーション203が起動するように登録されている。
【0029】
尚、本実施形態で説明した起動条件の登録情報は本構成を実現する上での一例であり、登録情報の内容は前述した情報に限定されるものではない。例えば、前後どちらでも起動する必要がある設定が存在する場合、Timingには前述の設定に加え、前後どちらも起動を行う対象となる設定を設けることも考えられる。また、拡張アプリケーション203が印刷データ生成ソフトウェア202の前後どちらかでしか起動しない場合、Timingの設定自体が不要となることも考えられる。
【0030】
図7は、実施形態1における拡張アプリケーション203の起動処理の制御に関するフローチャートである。本実施形態では、拡張アプリケーションの起動はOSが担うものとして記載するが、実際はOSが抱える起動モジュールが存在する構成が考えらえる。なお、図7のフローチャートは、例えば、ユーザが図3を使って印刷設定情報を設定した後にアプリケーションを使って印刷を指示したこと(つまり、OSにおいて中間データを生成させる指示)に基づいて開始される。また、図7のフローチャートは、印刷データ生成ソフトウェア202が印刷データを出力したことに基づいて開始される。
【0031】
まず、OSは拡張アプリケーション203の起動設定を確認する(S701)。拡張アプリケーション203の起動設定は、ON/OFF/CUSTOMの3つが設定され得る。例えば、図3の設定画面における「拡張アプリ起動」の選択肢には、オン、オフ、自動が存在する。図3を用いて「拡張アプリ起動」としてオンが選ばれた場合、S701はONと判定され、オフが選ばれた場合、S701はOFFと判定される。一方、自動が選ばれた場合、CUSTOMと判定される。拡張アプリケーション203の起動設定がONの場合、S702に移り、OSは拡張アプリケーション203を起動する。拡張アプリケーション203の起動設定がOFFの場合、拡張アプリケーション203を起動することなく起動処理を終了する。拡張アプリケーション203を起動しなかった場合、OSは、図2(a)と同様に、印刷データ生成ソフトウェア202への中間データを入力し、印刷装置102への印刷データの出力を行う。
【0032】
拡張アプリケーション203の起動設定がCUSTOMの場合、起動タイミングが印刷データ生成ソフトウェア202の処理前かを判定し(S703)、起動条件情報の内で確認対象となるTimingに対応した数値を変数nに格納する。なお、S703は、図7のフローチャートが、ユーザがアプリケーションを使って印刷を指示したことに基づいて開始されたのか、印刷データ生成ソフトウェア202が印刷データを出力したことに基づいて開始されたのかを判定することで実現される。
【0033】
ユーザがアプリケーションを使って印刷を指示したことに基づいて図7のフローチャートが開始された場合、OSは、起動タイミングが印刷データ生成ソフトウェア202の処理前と判定し、変数nに1を格納する(S704)。一方、印刷データ生成ソフトウェア202が印刷データを出力したことに基づいて図7のフローチャートが開始された場合、OSは、起動タイミングが印刷データ生成ソフトウェア202の処理後と判定し、変数nに2を格納する(S705)。次に、OSは起動条件情報からTimingがS704、S705で格納したnの値と一致する情報を取得する(S706)。例えば、S703において起動タイミングが印刷データ生成ソフトウェア202の処理前と判定された場合、S704で変数nに1が格納されている。そして、S706で図6の起動条件の登録情報からTimingが1の項目が取得される。つまり、「JobNUpAllDocumentsContiguously」と「PagesPerSheet_2/4」が取得される。
【0034】
次に、OSは、ユーザによって設定された印刷設定情報を特定し、S706で取得した起動条件情報と比較し、一致する印刷設定情報が存在するかを確認する(S707)。図6の起動条件が登録されている場合、OSは、印刷設定情報のJobNUpAllDocumentsContiguouslyの設定値がPagesPerSheet_2であるかPagesPerSheet_4であるかを確認する。一致する印刷設定情報があると判定された場合、S702に移り、OSは、拡張アプリケーション203を起動する。図6の例ではTimingが1の設定が1つしか存在しないが、レイアウト拡張ユニットが複数のレイアウト設定を持ち、それぞれに設定が存在することも考えられる。その場合、OSは登録された全ての情報に対して照合を行い、1つでも一致するものがあればS702に移り、拡張アプリケーション203を起動する。全ての起動条件情報を照合した結果、一致する印刷設定情報が存在しない場合、OSは拡張アプリケーション203を起動することなく起動処理を終了する。つまり、本実施形態では、印刷データ生成ソフトウェア202が印刷データを生成する前に拡張アプリケーション203が起動された場合、拡張アプリケーション203が中間データ(入力データ)に対する編集処理を実行する。
【0035】
また、例えば、起動タイミングが印刷データ生成ソフトウェア202の処理後と判定された場合、S705で変数nに2が格納されている。そして、S706で図6の起動条件の登録情報からTimingが2の項目が取得される。つまり、「JobPreview」と「ON」が取得される。次に、OSは、ユーザによって設定された印刷設定情報を確認し、S706で取得した起動条件情報と比較し、一致する印刷設定情報が存在するかを確認する(S707)。図6の起動条件が登録されている場合、OSは、印刷設定情報のPreviewの設定値がONであるかを確認する。一致する印刷設定情報があると判定された場合、S702に移り、OSは、拡張アプリケーション203を起動する。つまり、本実施形態では、印刷データ生成ソフトウェア202が印刷データを生成した後に拡張アプリケーション203が起動された場合、拡張アプリケーション203は、印刷データを用いたプレビュー画像表示処理を実行する。
【0036】
以上のように、本実施形態において、OSは、登録された起動条件情報に基づき、拡張アプリケーション203が提供する機能が使用される場合のみ拡張アプリケーション203を起動することができるようになる。これにより、拡張アプリケーション203が提供する拡張機能をユーザが使用しない印刷について、拡張アプリケーション203が関連付けられたことに起因するパフォーマンスの低下を低減することが可能となる。
【0037】
なお、図7の処理では拡張アプリケーション203の起動設定として、ON/OFF/CUSTOMの3つが設定され得るケースについて説明したが図3の「拡張アプリ起動」の選択肢がON/OFFのみでも構わない。この場合、OSは、S703-S707を実行しない。一方、図7の処理では拡張アプリケーション203の起動設定として、CUSTOMのみが設定され得るケースも考えられる。この場合、図3の画面に「拡張アプリ起動」の選択肢が存在しなくても良く、OSは、S702とS703-S707を実行するがS701を実行しない。
【0038】
また、本実施形態では、図3の画面を使って拡張アプリケーション203の起動設定を行うと記載したが他の方法でも構わない。例えば拡張アプリケーション203を単独起動することで図10(A)のような画面1000が表示されても良い。表示アイテム1001は対象となる印刷装置の選択を受け付ける。表示アイテム1002は、図10(B)を表示するために使用される。ユーザは、図10(B)の表示アイテム1003を使って拡張アプリケーション203の起動方法を指定しても良い。また、図10(A)において表示アイテム1002が選択された場合に図3が表示されても構わない。なお、図10Aの表示アイテム1001には、関連付けられている印刷データ生成ソフトウェア202に登録されている印刷装置が表示される。もし、複数の印刷装置が印刷データ生成ソフトウェア202に登録されている場合は、複数の印刷装置が選択肢として表示される。また、図10Aの画面においてプリンタ情報が選択された場合、表示アイテム1001で選択されている印刷装置の状態情報(印刷装置の状態、印刷装置のインク残量など)が表示される。なお、印刷装置の状態情報は印刷データ生成ソフトウェア202を介して取得されても良い。また、印刷データ生成ソフトウェア202から表示アイテム1001で選択されている印刷装置のアドレス情報を取得し、拡張アプリケーション203が取得されたアドレス情報を使って印刷装置の状態情報を取得しても良い。また、インク注文が選択された場合、Webブラウザを起動して印刷注文用のWebページが表示されても良い。また、インクモデルが選択された場合、表示アイテム1001で選択されている印刷装置で利用可能なインク情報が表示されても良い。
【0039】
<実施形態2>
実施形態1では、起動条件となる印刷設定情報を登録し、該当の印刷設定情報が設定された場合のみOSが拡張アプリケーション203を起動することで、ユーザが拡張機能を必要とした時にのみ拡張アプリケーション203を起動することを実現した。しかし、実施形態1では、各起動タイミングにおいて、登録した起動条件と、ユーザが行った印刷設定情報とを比較する必要があるため、設定の確認処理に時間がかかるという問題がある。特に、起動条件が多く設定されているほど、OSは印刷設定情報が起動条件に合致しているかの判定に時間がかかってしまう。そこで、本実施形態では、拡張アプリケーション203を起動するか否かの判断にかかる時間を削減する方法を提案する。本実施形態では、印刷設定情報に拡張アプリケーション203を起動するトリガーとなる共通の拡張アプリ起動設定を設ける。そして、拡張アプリケーション203の印刷設定画面拡張ユニット204が、ユーザが設定した印刷設定情報に基づき、拡張アプリ起動設定を変更することで起動を指示する。拡張アプリケーション203はそれぞれのベンダから提供されるが、前述の拡張アプリ起動設定は、どのベンダの拡張アプリケーション203からも共通で設定される。これにより、拡張アプリケーション203を起動するOSは、例えば、印刷設定情報内の拡張アプリ起動設定のみを参照すれば良い。その結果、OSが参照する情報を削減することができるため拡張アプリケーション203を起動するか否かの判断にかかる時間を短縮できる。
【0040】
図8は、印刷設定画面拡張ユニット204による拡張アプリ起動設定の設定処理を示すフローチャートの一例である。なお、図8は、図3の画面においてOKボタンが押下されたタイミングで実行されても良い、図3の画面において印刷設定情報が変更されるたびに実行されても良い。
【0041】
ここでは、拡張アプリ起動設定として、拡張アプリケーション203を印刷データ生成ソフトウェア202の前に起動させることを示すLaunchExtendAppBeforeと、拡張アプリケーション203を印刷データ生成ソフトウェア202の後に起動させることを示すLaunchExtendAppLaterの2つが設けられる。拡張アプリ起動設定は、それぞれについてONとOFFが設定可能であり、ONが設定されることで対応したタイミングで拡張アプリケーション203を起動することを示す。本実施形態では2つの設定を持ち、前後どちらで起動するかを判断しているが、単一の設定を用いて、設定値によって前後をどちらで起動するかと判断する構成も考えられる。その場合、設定値には、印刷データ生成ソフトウェア202の前に起動する/印刷データ生成ソフトウェア202の後ろに起動する/起動しない、の3値を設ける必要がある。また、拡張アプリケーション203が印刷データ生成ソフトウェア202の前後どちらかのみで起動する場合、単一の設定値のON/OFFで判断することが可能である。
【0042】
まず、印刷設定画面拡張ユニット204は、ユーザにより設定された印刷設定情報にレイアウト拡張ユニット205を使用する設定があるかを確認する(S801)。図6で示した登録情報と同条件で起動させたい場合、印刷設定画面拡張ユニット204は、割り付け設定で2ページ印刷や4ページ印刷が設定されているか否かを確認する。
【0043】
レイアウト拡張ユニット205を使用する印刷設定情報が存在すると判定された場合、印刷設定画面拡張ユニット204は、LaunchExtendAppBefore設定をONに設定する(S802)。
【0044】
次に印刷設定画面拡張ユニット204は、ユーザにより設定された印刷設定情報にプレビューユニット206を使用する設定があるかを確認する(S803)。図6で示した登録情報と同条件で起動させたい場合、印刷設定画面拡張ユニット204は、印刷プレビュー設定がONに設定されているか否かを確認する。プレビューユニット206を使用する印刷設定情報が存在すると判定された場合、印刷設定画面拡張ユニット204は、LaunchExtendAppLater設定をONに設定する(S804)。これにより、ユーザにより設定された印刷設定情報に応じて、適切な拡張アプリ起動設定を行うことができる。
【0045】
図9は、実施形態2における拡張アプリケーション203の起動処理の一例を示すフローチャートである。OSは、印刷設定画面拡張ユニット204が設定した拡張アプリ起動設定に基づき、適切なタイミングで拡張アプリケーション203の起動を行う。本実施形態においても、拡張アプリケーションの起動はOSが担うものとして記載するが、実際はOSが抱える起動モジュールが存在する構成が考えらえる。
【0046】
なお、図9におけるS901においてONまたはOFFと判定された場合の処理は図7と同じであるため、説明を省略し、CUSTOMが設定された場合のS903以降について説明する。
【0047】
拡張アプリケーション203の起動設定がCUSTOMの場合、OSは、起動タイミングが印刷データ生成ソフトウェア202の処理前かを判定し(S703)、処理前の場合はS904に、処理後の場合はS905に移る。S904では、印刷データ生成ソフトウェア202の前に拡張アプリケーション203を起動するかを示すLaunchExtendAppBefore設定にONが設定されているかを確認する。ONが設定されている場合、OSは拡張アプリケーション203を起動する。OFFが設定されている場合、OSは、拡張アプリケーション203を起動することなく、起動処理を終了する。
【0048】
S905では、印刷データ生成ソフトウェア202の後に拡張アプリケーション203を起動するかを示すLaunchExtendAppLater設定にONが設定されているかを確認する。ONが設定されている場合、OSは拡張アプリケーション203を起動する。OFFが設定されている場合、OSは、拡張アプリケーション203を起動することなく、起動処理を終了する。尚、実施形態1と同様に、OSは印刷データ生成ソフトウェア202への中間データの出力や、印刷装置102への印刷データの出力を行う。
【0049】
本実施形態では、印刷設定に基づく拡張アプリケーション203の起動判断の一部を印刷時に行い、拡張アプリ起動設定を設定することで、起動モジュールが行う起動可否判定処理の負荷を軽減することができる。これによって、判定処理の一部を印刷設定時に担うこととなり、実施形態1と比較して、ユーザの印刷開始指示から印刷完了までにかかる時間を短縮することができる。
【0050】
<その他の実施形態>
上述した実施形態は、以下の処理を実行することによっても実行される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。これによって、上述した目的を達成することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0051】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0052】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【0053】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。そして、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。その処理によって前述した実施形態の機能が実現される。
【符号の説明】
【0054】
102 印刷装置
202 印刷データ生成ソフトウェア
203 拡張アプリケーション
204 印刷設定画面拡張ユニット
205 レイアウト拡張ユニット
206 プレビューユニット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10