(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-07
(45)【発行日】2024-05-15
(54)【発明の名称】アプリケーション、及びアプリケーションにおける制御方法
(51)【国際特許分類】
G06F 3/12 20060101AFI20240508BHJP
【FI】
G06F3/12 355
G06F3/12 304
G06F3/12 388
(21)【出願番号】P 2021052906
(22)【出願日】2021-03-26
【審査請求日】2023-05-01
【早期審査対象出願】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】挾間 裕一
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2020-009420(JP,A)
【文献】特開2018-196990(JP,A)
【文献】特開2020-154376(JP,A)
【文献】特開2019-164447(JP,A)
【文献】特開2011-118474(JP,A)
【文献】特開2019-106100(JP,A)
【文献】特開2013-238924(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09-3/12
(57)【特許請求の範囲】
【請求項1】
画像形成装置からの登録要求により前記画像形成装置の情報が登録されたクラウドサーバへ印刷データを送信する情報処理装置にインストールされるアプリケーションで、且つ、前記印刷データに含まれる設定値を設定するプリンタドライバの機能を拡張するアプリケーションであって、
前記クラウドサーバから禁則情報を前記情報
処理装置に取得させ、
印刷設定項目の設定値を受け付ける印刷設定画面を前記情報処理装置に表示させ、
前記印刷設定画面を介して受け付けた前記設定値と他の印刷設定項目の設定値がコンフリクトしているかを前記禁則情報に基づいて前記情報処理装置に判定させ
、
前記印刷設定画面を介して受け付けた設定値と前記他の印刷設定項目の設定値がコンフリクトする場合、前記他の印刷設定項目の設定値を変更することを特徴とするアプリケーション。
【請求項2】
前記印刷設定画面を介して受け付けた設定値と前記他の印刷設定項目の設定値がコンフリクトする場合、前記印刷設定項目と前記他の印刷設定項目の少なくともいずれかを通知する通知手段をさらに有することを特徴とする請求項1に記載のアプリケーション。
【請求項3】
画像形成装置からの登録要求により前記画像形成装置の情報が登録されたクラウドサーバへ印刷データを送信する情報処理装置にインストールされるアプリケーションで、且つ、前記印刷データに含まれる設定値を設定するプリンタドライバの機能を拡張するアプリケーションであって、
前記クラウドサーバから禁則情報を前記情報
処理装置に取得させ、
印刷設定項目の設定値を受け付ける印刷設定画面を前記情報処理装置に表示させ、
前記印刷設定画面を介して受け付けた前記設定値と他の印刷設定項目の設定値がコンフリクトしているかを前記禁則情報に基づいて前記情報処理装置に判定させ
、
前記印刷設定画面を介して受け付けた設定値と前記他の印刷設定項目の設定値がコンフリクトする場合、前記印刷設定画面を介して受け付けた設定値と前記他の印刷設定項目の設定値を変更せずに、前記印刷設定項目と前記他の印刷設定項目の少なくともいずれかを通知させることを特徴とするアプリケーション。
【請求項4】
前記禁則情報は、前記クラウドサーバが前記画像形成装置から取得した禁則情報であることを特徴とする請求項1
乃至3のいずれか一項に記載のアプリケーション。
【請求項5】
前記アプリケーションはアプリケーション配布用サーバから取得され、前記情報処理装置にインストールされることを特徴とする請求項1
乃至4のいずれか一項に記載のアプリケーション。
【請求項6】
前記アプリケーションは、前記禁則情報を内包することを特徴とする請求項1乃至
5のいずれか一項に記載のアプリケーション。
【請求項7】
前記情報処理装置は、印刷ジョブを送信し、
前記印刷ジョブは、前記印刷設定項目の設定値と前記設定値とコンフリクトしない前記他の印刷設定項目の設定値を含むことを特徴とする請求項1乃至6のいずれか一項に記載のアプリケーション。
【請求項8】
前記アプリケーションはベンダ固有の印刷設定を管理することを特徴とする請求項1乃至7のいずれか一項に記載のアプリケーション。
【請求項9】
前記印刷設定項目の設定値と前記他の印刷設定項目の設定値が禁則情報と一致する場合、前記印刷設定項目の設定値と前記他の印刷設定項目の設定値がコンフリクトすると判定することを特徴とする請求項1乃至8のいずれか一項に記載のアプリケーション。
【請求項10】
画像形成装置からの登録要求により前記画像形成装置の情報が登録されたクラウドサーバへ印刷データを送信する情報処理装置にインストールされるアプリケーションで、且つ、前記印刷データに含まれる設定値を設定するプリンタドライバの機能を拡張するアプリケーションにおける制御方法であって、
前記クラウドサーバから禁則情報を前記情報
処理装置に取得させ、
印刷設定項目の設定値を受け付ける印刷設定画面を前記情報処理装置に表示させ、
前記印刷設定画面を介して受け付けた前記設定値と他の印刷設定項目の設定値がコンフリクトしているかを前記禁則情報に基づいて前記情報処理装置に判定させ
、
前記印刷設定画面を介して受け付けた設定値と前記他の印刷設定項目の設定値がコンフリクトする場合、前記他の印刷設定項目の設定値を変更させることを特徴とする制御方法。
【請求項11】
画像形成装置からの登録要求により前記画像形成装置の情報が登録されたクラウドサーバへ印刷データを送信する情報処理装置にインストールされるアプリケーションで、且つ、前記印刷データに含まれる設定値を設定するプリンタドライバの機能を拡張するアプリケーションにおける制御方法であって、
前記クラウドサーバから禁則情報を前記情報
処理装置に取得させ、
印刷設定項目の設定値を受け付ける印刷設定画面を前記情報処理装置に表示させ、
前記印刷設定画面を介して受け付けた前記設定値と他の印刷設定項目の設定値がコンフリクトしているかを前記禁則情報に基づいて前記情報処理装置に判定させ
、
前記印刷設定画面を介して受け付けた設定値と前記他の印刷設定項目の設定値がコンフリクトする場合、前記印刷設定画面を介して受け付けた設定値と前記他の印刷設定項目の設定値を変更せずに、前記印刷設定項目と前記他の印刷設定項目の少なくともいずれかを通知させることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はアプリケーション、及びアプリケーションにおける制御方法に関するものである。
【背景技術】
【0002】
ユーザーがクラウドプリントサービスにプリンターの情報を登録しておき、印刷データをクラウドプリントサービス経由でプリンターに送信して印刷する印刷システムが知られている。ユーザーは、PC等の情報処理装置からクラウドプリントサービスにアクセスし、クラウドプリントサービスに登録されたプリンターから印刷に使用するプリンターを選択し、印刷データの印刷を指示する。
【0003】
情報処理装置は、印刷ジョブを生成し、クラウドプリントサービス上の選択されたプリンターに対応するプリントキューに印刷ジョブを投入する。プリンターは、クラウドプリントサービスにアクセスし、クラウドプリントサービス上に生成されたプリントキューにスプールされた印刷ジョブを取得し、出力する(特許文献1)。
【0004】
クラウドプリントサービスの代表例として、例えばGoogleCloudPrint(登録商標)(特許文献1)、MicrosoftHybridCloudPrint(登録商標)、uniFLOW Online(登録商標)などがある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
印刷設定時、ユーザーはクライアント端末にて用紙種類の選択、画質設定、フィニッシング処理の選択など、複数の設定項目の設定値を設定することができる。しかし、これらの複数の設定値のなかには、一つの印刷ジョブに対して同時に適用することのできない設定値の組み合わせがある。このように一つの印刷ジョブに対して同時に設定することのできない設定値の組み合わせは、「禁則条件」と呼ばれている。
【0007】
クラウドプリントサービスでは、複数種類のプリンターに対応することのできるクラウドプリントサービス用のドライバーが用いられる。クラウドプリントサービス用のドライバーは禁則条件に基づき、現在の印刷設定に禁則条件に一致する設定値が含まれているかの判定を行わない。そのため、クラウドプリントサービス用のドライバーが生成する印刷ジョブに禁則条件に一致する設定値が含まれてしまう可能性がある。
【0008】
本明細書に記載のアプリケーションは、印刷設定画面を介して受け付けた設定値と他の印刷設定項目の設定値がコンフリクトしているかを、クラウドサーバから取得した禁則情報に基づいて情報処理装置に判定させることを目的とする。
【課題を解決するための手段】
【0009】
本願に記載のアプリケーションは、画像形成装置からの登録要求により前記画像形成装置の情報が登録されたクラウドサーバへ印刷データを送信する情報処理装置にインストールされるアプリケーションで、且つ、前記印刷データに含まれる設定値を設定するプリンタドライバの機能を拡張するアプリケーションであって、前記クラウドサーバから禁則情報を前記情報処理装置に取得させ、印刷設定項目の設定値を受け付ける印刷設定画面を前記情報処理装置に表示させ、前記印刷設定画面を介して受け付けた前記設定値と他の印刷設定項目の設定値がコンフリクトしているかを前記禁則情報に基づいて前記情報処理装置に判定させ、前記印刷設定画面を介して受け付けた設定値と前記他の印刷設定項目の設定値がコンフリクトする場合、前記他の印刷設定項目の設定値を変更することを特徴とする。
【発明の効果】
【0010】
本発明により、印刷設定画面を介して受け付けた設定値と他の印刷設定項目の設定値がコンフリクトしているかを、クラウドサーバから取得した禁則情報に基づいて情報処理装置に判定させることができる。
【図面の簡単な説明】
【0011】
【
図1】本明細書に記載の実施形態におけるシステム構成の一例を示す図である。
【
図2】本明細書に記載の実施形態における各装置のハードウェア構成の一例を示す図である。
【
図3】本明細書に記載の実施形態における各装置のソフトウェア構成の一例を示す図である。
【
図4】本明細書に記載の実施形態における、印刷設定画面の一例を示す図である。
【
図5】本明細書に記載の実施形態における、拡張印刷設定画面の一例を示す図である。
【
図6】本明細書に記載の実施形態における、データ構造の一例を示す図である。
【
図7】本明細書に記載の実施形態において、クラウドプリントサービスにプリンター情報を登録するための処理を示すシーケンス図である。
【
図8】本明細書に記載の実施形態において、クラウドプリントサービスがプリントキューを生成するときの処理を示すフローチャートである。
【
図9】本明細書に記載の実施形態において、クラウドプリント対応プリンターを用いて印刷を実行するまでの処理を示すシーケンス図である。
【
図10】本明細書に記載の実施形態において、クラウドプリント非対応プリンターを用いて印刷を実行するまでの処理を示すシーケンス図である。
【
図11】本明細書に記載の実施例1における、印刷設定拡張アプリにおける印刷設定の変更時と確定時の処理を示すフローチャートである。
【
図12】本明細書に記載の実施例2における、印刷設定拡張アプリにおける印刷設定の変更時と確定時の処理を示すフローチャートである。
【
図13】本明細書に記載の実施例における、禁則情報の一例を示す図である。
【
図14】本明細書に記載の実施例3における、印刷設定拡張アプリにおける印刷設定の変更時と確定時の処理を示すフローチャートである。
【
図15】本明細書に記載の実施例における、アプリからの印刷設定画面の一例を示す図である。
【
図16】本明細書に記載の実施例において、印刷設定に競合する印刷設定が含まれるか否かを判定するための処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について図面を用いて説明する。
【0013】
[実施例1]
図1は、本実施形態におけるクラウドプリントにおける印刷システムの構成図を示したものである。クライアント端末101、クラウドプリントサーバー102、クラウドプリントプロキシサーバー103、クラウドプリント対応プリンター104、クラウドプリント非対応プリンター105がネットワーク106を介して接続されている。
【0014】
図1ではクライアント端末101、クラウドプリント対応プリンター104およびクラウドプリント非対応プリンター105をそれぞれ1つずつ記載しているが、これらは複数あっても構わない。
【0015】
クラウドプリントサーバー102、クラウドプリントプロキシサーバー103は、1台の情報処理装置で構成されるサーバーシステムであっても、複数台の情報処理装置で構成されるサーバーシステムであってもよい。各サーバを複数台の情報処理装置で構成することで、処理負荷を分散させることができる。また、物理的には1つのサーバが内部で仮想的に各サーバの役割を果たす構成であってもよい。
【0016】
ネットワーク106は、インターネットなどのWANを想定しているが、社内LANなどの閉じた環境であってもよい。
【0017】
ユーザーの操作するPCやタブレット、スマートフォンが、クライアント端末101として動作する。クライアント端末101上では任意のアプリケーションソフトウェアを実行可能となっている。クライアント端末101には、クラウドプリントドライバー311、印刷設定拡張アプリ312がインストールされている。
【0018】
クラウドプリント対応プリンター104およびクラウドプリント非対応プリンター105は、物理用紙に対して実際に印刷を行うデバイスであり、画像形成装置として動作する。クラウドプリント対応プリンター104、クラウドプリント非対応プリンター105はネットワーク106を介してクラウドプリントサーバー102が送信した印刷データを受信し、画像データに変換して印刷する。クラウドプリント対応プリンター104は、クラウドプリントサーバー102と所定のプロトコルで通信をすることができるプリンターである。所定のプロトコルとは、たとえば、IPP(Internet Printing Protocol)である。クラウドプリント非対応プリンター105は所定のプロトコルで通信を行うことが出来ないプリンターである。そこで、クラウドプリント非対応プリンター105を用いてクラウドプリント経由の印刷を行う際、クラウドプリント非対応プリンター105はクラウドプリントプロキシサーバー103を経由して通信を行う。
【0019】
クラウドプリントサーバー102は、クライアント端末101から印刷設定と画像データで構成される印刷データを受信し、受信した印刷データをクラウドプリント対応プリンター104もしくはクラウドプリントプロキシサーバー103へ送信する役割を持つ。クラウドプリントサービス321は、クラウドプリントサーバー102上で動作する。
【0020】
クラウドプリントプロキシサーバー103は、クラウドプリント非対応プリンター105の代わりに、クラウドプリントサーバー102と通信を行い、プリンター情報や印刷データの送受信などのやり取りを行う。クラウドプリントプロキシサーバー103には、クラウドプリントプロキシ331とプリンタードライバー332がインストールされている。
【0021】
次に、
図2を用いて本実施形態のシステムにおけるハードウェア構成について説明する。
【0022】
図2(a)はクライアント端末101のハードウェア構成を示すブロック図である。クライアント端末101は表示部216、操作部217、補助記憶部214、制御部211、ネットワーク通信部215を備える。
【0023】
補助記憶部214は、ハードディスクやSSDなどの不揮発性の記憶装置を指し、デジタルデータの保存と書き換えが可能である。
【0024】
制御部211は、CPU212とメモリ213とから構成され、クライアント端末101の全体の動作を制御する。CPU212は、補助記憶部214に記憶されたプログラムをメモリ213に展開し、それを実行する。メモリ213は、CPU212の主記憶メモリでありワークエリアや各種プログラムを展開するための一時記憶領域として用いられる。
【0025】
ネットワーク通信部215は外部のネットワーク106と通信を行う装置であり、ネットワーク106を介して外部のサーバやクライアント端末等とのデジタルデータの入出力を行う。
【0026】
表示部216は液晶ディスプレイなどユーザーに対して視覚的な情報を表示するための装置である。
【0027】
操作部217はキーボードやマウスなどによりユーザーからの入力を受け付けるための装置である。タッチパネルなど、表示部216と操作部217の両方の機能を備え持つ装置を用いることもある。
【0028】
図2(b)はクラウドプリントサーバー102のハードウェア構成を示すブロック図である。クラウドプリントサーバー102は表示部226、操作部227、補助記憶部224、制御部221、ネットワーク通信部225を備える。表示部226、操作部227、補助記憶部224、制御部221、ネットワーク通信部225の説明はクライアント端末101のものと同等であるため割愛する。なお、
図2(b)では、補助記憶部224、制御部221、ネットワーク通信部225をそれぞれ一つずつ記載したが、それぞれを1または複数有する構成であってもよい。
【0029】
図2(c)はクラウドプリントプロキシサーバー103のハードウェア構成を示すブロック図である。クラウドプリントプロキシサーバー103は表示部236、操作部237、補助記憶部234、制御部231、ネットワーク通信部235を備える。表示部236、操作部237、補助記憶部234、制御部231、ネットワーク通信部235の説明はクライアント端末101のものと同等であるため割愛する。
図2(c)では、表示部236、操作部237、補助記憶部234、制御部231、ネットワーク通信部235を一つずつ記載したが、それぞれが1または複数あるとしてもよい。
【0030】
図2(d)はクラウドプリント対応プリンター104のハードウェア構成を示すブロック図である。クラウドプリント対応プリンター104は表示部246、操作部247、補助記憶部244、制御部241、ネットワーク通信部245、印刷部248を備える。
【0031】
表示部246はクラウドプリント対応プリンター104に備え付けのタッチパネルやLEDなど、ユーザーに対して情報をリアルタイムに表示するための装置である。
【0032】
操作部247はユーザーからの入力を受け付けるための装置であり、タッチパネルに加えてテンキーなどのハードキーを含むこともある。補助記憶部244、制御部241についてはクライアント端末101のものと同等であるため説明を割愛する。なお、補助記憶部244、制御部241がそれぞれ1または複数ある構成であってもよい。
【0033】
ネットワーク通信部245は外部のネットワーク106と通信を行う装置であり、主に印刷データの受信を行ったり、エラーなどのクラウドプリント対応プリンター104の状態について外部のサーバ等に向けて送信したりする役割を持つ。
【0034】
印刷部248はカセットやトレイに用意された用紙に対して、給紙、印字、排紙の一連の動作を行うことで印刷処理を行う装置である。印字の方式は電子写真方式やインクジェット方式など特に限定されない。排紙時に使用される両面ユニットやステイプル、パンチ処理などのフィニッシング装置も印刷部248に含まれる。
【0035】
なお、本実施形態ではクラウドプリント対応プリンター104の例として印刷機能のみを行うシングルファンクションプリンタについて説明しているが、スキャナ機能やFAX機能も合わせて持つマルチファンクションプリンタ(複合機)を用いてもよい。
【0036】
図2(e)はクラウドプリント非対応プリンター105のハードウェア構成を示すブロック図である。クラウドプリント非対応プリンター105は表示部256、操作部257、補助記憶部254、制御部251、ネットワーク通信部255、印刷部258を備える。
【0037】
表示部256、操作部257、補助記憶部254、制御部251、ネットワーク通信部255、印刷部258の説明はクラウドプリント対応プリンター104のものと同等であるため割愛する。
【0038】
次に、
図3を用いて本実施形態のシステムにおけるソフトウェア構成について説明する。
【0039】
図3(a)はクライアント端末101のソフトウェア構成を示すブロック図である。
【0040】
クライアント端末101は、クラウドプリントドライバー311と印刷設定拡張アプリ312を有する。クラウドプリントドライバー311は、クラウドプリントサーバー102に送信する印刷データを生成するためのソフトウェアである。印刷設定拡張アプリ312は、クラウドプリントドライバー311の機能を拡張するためのアプリケーションであり、印刷設定画面の表示制御等の処理を実行する。
【0041】
クラウドプリントドライバー311は、さらに以下のソフトウェア構成を有する。
【0042】
クラウドプリントサービスI/F部31101は、クラウドプリントサービス321とデータやコマンドのやり取りを処理する。
【0043】
印刷ジョブ管理部31102は、印刷データを含む印刷ジョブの生成や印刷ジョブの送信などの処理を行う。印刷ジョブ管理部31102は、クラウドプリントサービス321が対応するプロトコルに則った印刷データを生成し、当該印刷データを印刷ジョブとして送信する。たとえば、クラウドプリントサービスがIPPに則って印刷データの送受信を行う場合、印刷設定をIPPに則った印刷データを生成する。また、印刷データに含まれる画像データのファイル形式についても、クラウドプリントサービスがサポートするファイル形式(たとえば、PDFやPWG-Raster)に則って印刷データを生成する。
【0044】
UI部31103は、クラウドプリントドライバー311が用意するUIの表示や、クライアント端末101からユーザーの操作を受け付けるなどの役割を持つ。UI部31103は、
図4に示す印刷設定画面400を表示する。印刷設定画面400には、クラウドプリントサービス321を利用した印刷における印刷を行うためのオブジェクトが配置されている。
図4の領域401はクラウドプリントサーバー102に登録されているプリントキューの情報が表示される。ボタン402は、クラウドプリントサーバー102に登録されているプリントキューの一覧を表示するためのボタンである。ユーザーはボタン402を選択し、表示されるプリントキューから印刷に利用するプリンターに対応するプリントキューを選択する。領域403は印刷部数を設定する為の領域である。領域404はカラーモードを設定するための領域である。ボタン405はカラーモードを変更する為のボタンであり、ユーザーはボタン405選択した後、印刷時のカラーモードを選択することができる。詳細設定ボタン406は、印刷設定拡張アプリ312を起動するためのボタンである。印刷ボタン407は、クラウドプリントサーバー102に印刷指示を送信するためのボタンである。ユーザーが印刷ボタン407を選択すると、印刷ジョブ管理部31102が印刷ジョブを生成する。生成された印刷ジョブはクラウドプリントサービスI/F部31101を介して、クラウドプリントサービス321に送信される。
【0045】
なお、本実施形態では、クラウドプリントドライバー311がUI部31103を有し、印刷設定画面400を表示するとして説明をした。クライアント端末101のOSまたは、クライアント端末101にインストールされたアプリケーションがUI部を有し、印刷設定画面400を表示するとしてもよい。そのような場合、領域401には、クラウドプリントサーバー102に登録されているプリントキューに加えて、クライアント端末101が直接印刷データを送信することのできるプリントキューが表示される。クライアント端末101が直接印刷データを送信することのできるプリントキューが選択された場合、クライアント端末101は選択されたプリントキューに対応するプリンタードライバーで印刷データを生成する。生成された印刷データは、クラウドプリントサーバー102を経由せず、プリンターに直接送られる。
【0046】
印刷設定拡張アプリI/F部31104は、印刷設定拡張アプリ312とデータやコマンドのやり取りを処理する。
【0047】
禁則処理部31105は、クラウドプリントサービス321から取得した禁則情報を基にUI部31103で設定されている印刷設定に対して禁則処理を実行する。禁則処理部31105はUI部31103の印刷設定に禁則条件に合致する設定が含まれる場合、禁則が発生していると判定して、禁則が発生しない印刷設定に変更してUI部31103に表示する。UI部31103の印刷設定に禁則条件に合致する設定が含まれていない場合、禁則処理部31105は禁則が発生していないと判定する。なお、禁則処理部31105は、UI部31103が表示する印刷設定画面にて印刷設定が変更されたときに、印刷設定に禁則条件が含まれるか否かを判定する。
【0048】
印刷設定拡張アプリ312は、さらに以下のソフトウェア構成を有する。
【0049】
クラウドプリントサービスI/F部31201は、クラウドプリントサービス321とデータやコマンドのやり取りを処理する。クラウドプリントサービスI/F部31201は、クラウドプリントドライバー311の印刷設定拡張アプリI/F311104から、印刷設定画面400で設定されているプリンターの情報や印刷設定を取得する。また、クラウドプリントサービスI/F部31201は、印刷設定拡張アプリ312で設定された印刷設定をクラウドプリントドライバー311に渡す役割を有している。
【0050】
情報取得部31202は、クラウドプリントサービス321からプリントキュー情報などの情報を取得する。
【0051】
拡張印刷設定部31203は、クラウドプリントドライバー311では対応していない、プリンタベンダー固有の印刷設定を含む印刷設定を管理する。
【0052】
拡張アプリUI部31204は、印刷設定拡張アプリが用意するUIの表示や、クライアント端末101からユーザーの操作を受け付けるなどの役割を持つ。
図5(a)は、印刷設定拡張アプリ312の拡張アプリUI部31204が表示する印刷設定UIの一例を示している。拡張印刷設定画面500は、印刷設定画面400においてユーザーが詳細設定ボタン406を選択することで表示される画面である。拡張印刷設定画面500は印刷設定画面400では設定することのできない印刷設定を設定することができる。たとえば、501は出力する用紙のサイズ、502は印刷の向き、503は用紙種類を示す領域であり、それぞれ、用紙サイズが「A4」、印刷の向きが「縦」、用紙種類が「普通紙」に設定されていることを示す。504は両面印刷の設定を行う領域である。「する(長辺とじ)」とは長辺をとじ位置とした両面印刷を行うことを意味している。505はホチキス止めの設定する領域であり、「する(左辺2か所)」は用紙の左辺の2ヵ所でホチキス止めを行うことを意味している。ユーザーが506の「OK」ボタンを選択すると、拡張印刷設定画面500は閉じられて、印刷設定画面400が表示される。
【0053】
なお、本実施形態において、拡張印刷設定画面500は、印刷設定画面400で設定することのできない設定項目のみを表示した。拡張印刷設定画面500に印刷設定画面で設定することのできる設定項目も表示し、それらの設定項目の設定を変更することができるとしてもよい。
【0054】
印刷ジョブ管理部31205は、印刷ジョブの生成、クラウドプリントドライバー311が生成した印刷ジョブの編集、印刷ジョブの送信などの処理を行う。印刷設定拡張アプリ312の印刷ジョブ管理部31205は、クラウドプリントドライバー311の印刷ジョブ管理部31102が生成した印刷ジョブの編集をすることができる。
【0055】
禁則処理部31206は、クラウドプリントサービス321から取得した禁則情報を基に拡張アプリUI部31204で設定されている印刷設定に対して禁則処理を実行する。禁則処理部31206は拡張アプリUI部31204の印刷設定に禁則情報に含まれる禁則条件に一致する設定が含まれるか否かを判定する。印刷設定に禁則条件に一致する設定値が含まれる場合、禁則処理部31206は禁則が発生しない値に設定値を変更して拡張アプリUI部31204に表示する。拡張アプリUI部31204の印刷設定に禁則条件に一致する設定が含まれていない場合、禁則処理部31206は禁則が発生していないと判定する。
【0056】
図3(b)は、クラウドプリントサーバー102上で動作するクラウドプリントサービス321のソフトウェア構成を示すブロック図である。
【0057】
アカウント管理部32101は、クラウドプリントサービス321に登録済みのテナントならびにユーザーの認証を管理する。テナントは、1または複数のユーザーが属するグループである。アカウント管理部32101は各ユーザーのユーザーIDと認証に必要なパスワード等の情報を紐づけて管理する。さらに、アカウント管理部32101は、ユーザーIDとユーザーの所属するテナントIDとを対応づけて管理する。
【0058】
デバイス管理部32102は、クラウドプリントサービス321に登録済みのプリンターに関する情報を管理する。デバイス情報は、プリンターからの登録要求によりデバイス管理部32102に登録される。
図6(a)は、デバイス管理部32102に登録されるデバイス情報の一例である。デバイスIDはプリンター固有の識別情報であり、ハードウェアIDとも呼ばれる。テナントIDは当該デバイスを利用することのできるテナントの識別情報である。プリンター名はプリンターから通知される当該デバイスの名称である。機器構成情報は、プリンターの構成情報であり、プリンターにステイプルやパンチ等の後処理を行うフィニッシャーが接続されているか、両面印刷を行うためのユニットが接続されているか等の情報である。能力情報は、プリンターが実行することのできる機能を示す情報である。能力情報には、カラー印刷ができるか否か、両面印刷ができるか否か、ステイプルをすることのできる位置の情報や、利用することのできるパンチ穴の情報、セキュアプリント機能を利用することが出来るか否か等の情報が含まれる。禁則情報は、プリンターが同時に実行できない印刷設定である競合する設定値の組み合わせを示す情報である。禁則情報には、例えば用紙種類の「OHPフィルム」に対して「両面印刷」ができないプリンターの場合、「OHPフィルム」と「両面印刷」は同時に設定できない等の情報が含まれる。
【0059】
印刷管理部32103は、クラウドプリント対応プリンター104やクラウドプリントプロキシサーバー103からの印刷ジョブ受け渡し要求に対して、許可するか否かの判定や、印刷ジョブの受け渡しの管理などを行う。
【0060】
プリントキュー管理部32104は、外部から印刷ジョブを受信し、クラウドプリントサーバー102の補助記憶部224内に用意された領域に受信した印刷ジョブを保持する。プリントキュー管理部32104は
図6(b)に記載のプリントキュー情報を管理する。プリントキュー情報には、プリントキュー名称、機器構成情報、能力情報、接続形態情報、テナントID、禁則情報が含まれている。プリントキュー名称は、当該プリントキューの名称であり、印刷設定画面400に表示される名称である。機器構成情報、能力情報、禁則情報は
図6(a)のデバイス情報と同様の情報である。接続形態情報は、当該プリントキューがクラウドプリントプロキシサーバー103を経由せずにプリンターに印刷データを送信するキューであるか、クラウドプリントプロキシサーバー103に印刷データ送信するキューであるかを示す情報である。テナントIDは、当該プリントキューを利用することのできるテナントの識別情報である。
図6(a)に記載のデバイス情報と
図6(b)に記載のプリントキュー情報はテナントIDをキーとして紐づけられる。
【0061】
図3(c)は、クラウドプリントプロキシサーバー103のソフトウェア構成を示すブロック図である。クラウドプリントプロキシサーバー103は、クラウドプリントプロキシ331とプリンタードライバー332を有する。
【0062】
クラウドプリントプロキシ331は、さらに以下のソフトウェア構成を有する。
【0063】
クラウドプリントサービスI/F部33101は、クラウドプリントサービス321との間で行われるデータやコマンドのやり取りを処理する。
【0064】
印刷データ変換部33102は、クラウドプリントサービス321とプリンタードライバー332の間で交わされるデータの変換を必要に応じて行う。
【0065】
プリンタードライバーI/F部33103は、プリンタードライバー332との間で行われるデータやコマンドのやり取りを処理する。
【0066】
また、プリンタードライバー332は、以下のソフトウェア構成を有する。
【0067】
印刷管理部33201は、クラウドプリントプロキシ331から受け取った印刷設定と描画データを含む印刷データを、プリンターが処理可能なPDL(Page Description Language)に変換し、プリンターに送信する。
【0068】
デバイスI/F部33202は、プリンタードライバー332とクラウドプリント非対応プリンター105との間で行われるデータやコマンドのやり取りを処理する。
【0069】
また、印刷管理部33201は、当該プリンタードライバー332と対応づけられるクラウドプリント非対応プリンター105の能力情報を管理する。印刷管理部33201が管理する能力情報は、クラウドプリントプロキシ331の印刷データ変換部33102によってクラウドプリントサーバー102が解釈可能な相互交換情報に変換され、クラウドプリントサーバー102に通知される。
図6(c)は、印刷データ変換部33102によって生成される相互交換情報の一例を示す図である。相互交換情報には、プロキシID、プリントキュー名、機器構成情報、能力情報、禁則情報が含まれている。プロキシIDはクラウドプリントプロキシ331の識別情報である。プリントキュー名は、クラウドプリントプロキシサーバー103上でプリンタードライバー332と紐づけられたプリントキューの名称である。機器構成情報はプリンタードライバー332と対応するクラウドプリント非対応プリンター105の構成情報である。能力情報は、プリンタードライバー332と対応するクラウドプリント非対応プリンター105の能力情報である。禁則情報は、プリンタードライバー332と対応するクラウドプリント非対応プリンター105の禁則情報である。上記のように、クラウドプリントプロキシサーバー103を経由する場合、クラウドプリントサーバー102には、デバイスIDの代わりにプロキシIDが通知される。
【0070】
図6(d)に記載の相互交換情報はクラウドプリントサーバー102から印刷データ変換部33102に通知される印刷データの一例である。この相互交換情報には印刷設定601と描画データ602が含まれる。印刷データ変換部33102は、
図6(d)に記載の相互交換情報をプリンタードライバー332で扱える形式に変換し、プリンタードライバー332へと渡す。
【0071】
図3(d)は、クラウドプリント対応プリンター104のデバイス制御部341のソフトウェア構成を示すブロック図である。
【0072】
印刷データ受信部34101は、外部からネットワーク106を介して送信された印刷データを受け付け、クラウドプリント対応プリンター104の補助記憶部244に保管する。印刷データ受信部34101は、クラウドプリントサーバー102が生成することのできる所定のプロトコルの印刷データを処理することができる。
【0073】
デバイス管理部34102は、クラウドプリント対応プリンター104に接続されているオプション、能力情報、用紙残量、インク/トナー残量などを管理する。デバイス管理部34102は、クラウドプリントサーバー102が解釈することのできる能力情報を生成することができる。
【0074】
印刷出力部34103は、用紙への印字をおこなう。
【0075】
UI操作部34104は、クラウドプリント対応プリンター104の操作部247へのUIの表示や、UIを介して入力された指示や情報を取得する。
【0076】
クラウドプリントサービスI/F部34105は、クラウドプリントサービス321との間で行われるデータやコマンドのやり取りを処理する。
【0077】
図3(e)は、クラウドプリント非対応プリンター105のデバイス制御部351のソフトウェア構成を示すブロック図である。
【0078】
印刷データ受信部35101は、プリンタードライバー332のデバイスI/F部33202から印刷データを受信する。印刷データ受信部35101は、クラウドプリントサーバー102が送信した印刷データの形式をサポートしておらず、当該印刷データを解釈することができない。本実施形態では、クラウドプリントサーバー102が送信した印刷データをクラウドプリントプロキシサーバー103のプリンタードライバーで印刷データ受信部35101が処理できる形式へと変換する。このようにすることで、クラウドプリント非対応プリンター105を使ってクラウドプリントサーバー102経由の印刷を実現する。
【0079】
デバイス管理部35102は、クラウドプリント非対応プリンター105の能力情報、用紙残量、インク/トナー残量を管理する。デバイス管理部35102は、クラウドプリントサーバー102とは異なる形式で上記の情報を管理する。そのため、クラウドプリント非対応プリンター105の能力情報をクラウドプリントサーバー102に通知するためには、クラウドプリントプロキシサーバー103による変換が必要となる。
【0080】
印刷出力部35103、UI操作部35104の説明はクラウドプリント対応プリンター104のものと同等であるため割愛する。
【0081】
次に、
図7(a)を用いて、本実施形態におけるクラウドプリントサービス321へのクラウドプリント対応プリンター104の登録に関するユーザーの手順ならびに各ソフトウェアおよびサービス間のシーケンスの一例を以下に説明する。
【0082】
まずユーザーは、クラウドプリント対応プリンター104の操作部247からプリンター登録を指示する(S701)。
【0083】
次に、クラウドプリント対応プリンター104は、操作部247上にクラウドプリントサービス321へのログインUIを表示する(S702)。
【0084】
次に、ユーザーは、ログインUIにログイン情報を入力する(S703)。ログイン情報とは、ユーザーIDやパスワードである。
【0085】
次に、クラウドプリント対応プリンター104は、入力されたログイン情報と認証要求をクラウドプリントサービス321に送信する(S704)。
【0086】
次に、クラウドプリントサービス321は、認証要求とともに受信したログイン情報に基づき認証処理を行う(S705)。認証が成功した場合、クラウドプリントサービス321はアクセス用のトークンを発行し、当該トークンをクラウドプリント対応プリンター104に送信する(S706)。このトークンは、クラウドプリント対応プリンター104が次回以降、クラウドプリントサービス321にアクセスするときに用いられるトークンである。なお、S705において、認証が失敗した場合、
図7(a)に記載の処理は終了する。
【0087】
次に、クラウドプリント対応プリンター104は、受信したトークンならびにプリンター情報と共に、クラウドプリントサービス321へプリンター登録要求を送信する(S707)。プリンター情報には、デバイスIDやプリンター名、機器構成情報、能力情報、禁則情報が含まれる。
【0088】
クラウドプリントサービス321は、プリンター登録処理を行う(S708)。S708で実行されるプリンター登録処理の詳細は後述する。
【0089】
次に、クラウドプリントサービス321は、プリンター登録処理後、登録完了ステータスをクラウドプリント対応プリンター104に返信する(S709)。そして、クラウドプリント対応プリンター104は、登録完了ステータスを操作部247上に表示する(S910)。
【0090】
上記のように、クラウドプリントサービスにプリンターの情報を登録したのち、ユーザーはクライアント端末を操作して、クラウドプリントサービスに登録したプリンターへ印刷ジョブを送信するためのプリントキューを生成する。まず、ユーザーはクラウドプリントサービスにログインし、ユーザーが利用することのできるプリンターをクラウドプリントサービスから取得する。取得したプリンターの情報から、ユーザーは利用するプリンターを選択する。クライアント端末は、選択されたプリンターの情報をクラウドプリントサービスから取得する。ここでのプリンターの情報とは、プリンター名やプリンターのデバイスID、COID、モデル名、機器構成情報、禁則情報などである。クライアント端末は、クラウドプリントサービスから受信したデバイスIDを外部サーバに通知し、生成するプリントキューに対応する印刷設定拡張アプリの識別情報を取得する。外部サーバから取得した識別情報で識別される印刷設定拡張アプリがクライアント端末にインストールされている場合、クライアント端末は生成するプリントキューと当該印刷設定拡張アプリの紐づけを行う。外部サーバから取得した識別情報で識別されるアプリがクライアント端末にインストールされていない場合、クライアント端末はアプリ配布用のサーバにアクセスし、印刷設定拡張アプリをインストールする。そして、インストールした拡張印刷設定アプリと生成するプリントキューを紐づける。これにより、クラウドプリントドライバーが表示する印刷設定画面の詳細設定ボタンが選択されたときに、プリンターに対応する印刷設定拡張アプリが起動されるようになる。なお、印刷設定拡張アプリを配布するアプリ配布用のサーバは、クラウドプリントサービスを経由した印刷時に印刷データが送信されるサーバとは異なるサーバである。
【0091】
次に、
図7(b)を用いて、本実施形態におけるクラウドプリントサービスへのクラウドプリント非対応プリンターの登録に関するユーザーの手順ならびに各ソフトウェアおよびサービス間のシーケンスの一例を説明する。なお、クラウドプリントプロキシサーバー103には、プリンタードライバー332がインストールされており、クラウドプリント非対応プリンター105に対応するプリントキューが生成されているとする。プリンタードライバー332は、プリンタキューの生成を行う際に、クラウドプリント非対応プリンター105と通信し、プリンターのハードウェアID、モデル名、機器構成情報、能力情報を取得している。
【0092】
まずユーザーは、クラウドプリントプロキシ331にて、接続するクラウドプリント非対応プリンター105用のプリンタードライバー332を選択する(S721)。
【0093】
次に、クラウドプリントプロキシ331は、選択されたプリンタードライバー332にプリンター情報を要求する(S722)。プリンター情報とは、プリンターのハードウェアID、モデル名、機器構成情報、設定可能な能力情報、禁則情報などである。
【0094】
次に、プリンタードライバー332は、クラウドプリントプロキシ331にプリンター情報を返信する(S723)。
【0095】
次に、クラウドプリントプロキシ331は、受信したプリンター情報をプリンタードライバー332と関連付けて保存する(S724)。
【0096】
次に、クラウドプリントプロキシ331は、UI上のプリンター登録ボタンを有効化し、プリンター登録が有効になったことを示す(S725)。
【0097】
次に、ユーザーは、プリンター登録ボタンを押下し、プリンター登録を指示する。(S726)。
【0098】
次に、クラウドプリントプロキシ331は、UI上にクラウドプリントサービス321
ログインUIを表示する(S727)。
【0099】
次に、ユーザーは、ログインUIにログイン情報を入力する(S728)。
【0100】
次に、クラウドプリントプロキシ331は、入力されたログイン情報と共に、クラウドプリントサービス321へ認証要求を送信する(S729)。
【0101】
次に、クラウドプリントサービス321は、認証処理を行う(S730)。認証が成功すると、クラウドプリントサービス321はアクセス用のトークンを発行し、クラウドプリントプロキシ331に返信する(S731)。なお、認証が失敗した場合、
図7(b)に記載の処理は終了する。
【0102】
次に、クラウドプリントプロキシ331は、保存していたプリンター情報のデータ形式をクラウドプリントサービス321が取り扱うことのできる形式に変換する(S732)。クラウドプリントサービス321が扱うことのできる形式とは、例えばIPPに則った形式である。
【0103】
そして、クラウドプリントプロキシ331は、受信したトークンならびに変換後のプリンター情報と共に、クラウドプリントサービス321へプリンター登録要求を送信する(S733)。
【0104】
次に、クラウドプリントサービス321は、プリンター登録処理を行う(S734)。プリンター登録処理の詳細は後述する。
【0105】
次に、クラウドプリントサービス321は、プリンター登録処理後、登録完了ステータスをク次に、クラウドプリントプロキシ331に返信する(S735)。
【0106】
そして、クラウドプリントプロキシ331は、登録完了ステータスをUI上に表示する(S736)。
【0107】
クラウドプリント非対応プリンターについても、クラウドプリントサービスにプリンターの情報の登録をしたのち、ユーザーはクライアント端末にプリントキューを生成する。ここでの処理はクラウドプリント対応プリンターと同様であるため説明は省略する。
【0108】
図8は
図7(a)のS708、
図7(b)のS734でクラウドプリントサービス321が実行するプリンター登録処理の一例を示すフローチャートである。
【0109】
図8に示す処理は、クラウドプリントサーバー102の補助記憶部224に格納されたクラウドプリントサービス321のプログラムがメモリ223にロードされてCPU222によって実行されることにより実現される。
【0110】
図8に記載の処理は、クラウドプリントサービス321が、外部よりネットワーク106を介してプリンター登録要求を受信した結果開始される。
【0111】
まず、クラウドプリントサービス321のデバイス管理部32102は、プリンター登録要求を受け付ける(S801)。プリンターの登録要求には、
図6(e)に示すデバイス情報、または、
図6(c)に示す相互交換情報が含まれる。デバイス管理部32102は、受信したデバイス情報、または、相互交換情報とログイン中のユーザーに対応するテナントIDに基づき
図6(a)に示すデバイス情報を生成する。すなわち、クラウドプリントサービス321は、S801においてクラウドプリント対応プリンターまたはクラウドプリントプロキシからプリンターの禁則情報を取得する。
【0112】
ここで、クラウドプリントサービス321が受信する禁則情報について説明する。
図7(a)のS708のようにクラウドプリント対応プリンター104からの登録要求の場合、クラウドプリント対応プリンター104で保持している禁則情報をクラウドプリントサービス321のデバイス管理部32102は受け取る。
図13(a)は、本実施例におけるクラウドプリント対応プリンター104で保持している禁則情報の一例である。データ1300はIPPの形式で記載されている。禁則情報は、Job―constraints―supported1301とJob―resolvers―supported1302で構成されている。Job―constraints―supported1301とJob―resolvers―supported1302は共通するresolver-nameを有している。
【0113】
たとえば、Job―constraints―supported1301はresolver nameが”AAA”という禁則情報である。この禁則情報は、両面印刷の「長辺とじ」または「短辺とじ」という設定値と、用紙種類の「OHPフィルム」が競合することを示している。
【0114】
Job―resolvers―supported1302はresolver-nameが”AAA”という禁則情報について、競合を解消するための設定値を示している。
【0115】
Job―resolvers―supported1302は、resolver-nameが“AAA”の禁則情報に書かれた印刷設定がなされている場合に、両面設定を「片面」に変更し、用紙種類が「普通紙」に変更することを示している。本実施例ではIPPで定義されている禁則情報について説明したが、クラウドプリントサービス321のデバイス管理部32102が受け取れる禁則情報はIPPで定義された設定項目、設定値に限定されるものではない。
【0116】
一方、
図7(b)のS734のようにクラウドプリントプロキシ331からの登録要求の場合、プリンターやプリンタードライバーが
図13(a)のようなIPP形式の禁則情報を持っていないことが考えられる。そのため、クラウドプリントプロキシはプリンタードライバーが保持するPrintTicketとPrintCapabilitiesの組をクラウドプリントサービスが解釈できる形に変換して、禁則情報としてクラウドプリントサービスに登録する。PrintTicketとは、印刷設定の組が記載されたデータである。PrintCapabilitiesは、PtintTicketに記載された印刷設定の組に対して、各印刷設定の設定値が競合するか否かを示す情報が記載されたデータである。本実施例において、プリンタードライバーは代表的ないくつかの印刷設定と対応するPrintTicketと、それぞれのPrintTicketに対応するPrintCapabilitiesを記憶しているものとする。
【0117】
図13(b)は、プリンタードライバー332が保持しているあるPrintTicketに対応するPrintCapabilities1350を示す図である。領域1351は、両面印刷の設定について記載をしており、両面印刷に対して、“しない”“長辺とじ”“短辺とじ”の3つの設定値があることを示している。また、”constrained”の箇所で各設定値が、他の設定項目の設定値と競合するか否かを記載している。領域1351ではいずれの“constrained”も”None”になっており、いずれの設定値も他の設定項目の設定値と競合しないことが示されている。PrintTicketに記載された他の設定項目の設定値と競合する場合には、”constrained”の値が”PrintTicketSettings”となる。
【0118】
PrintCapabilities1350は拡張可能なマーク付け言語(XML)の形式で記載されており、クラウドプリント非対応プリンター105で実現可能な設定項目とその選択肢が記載されている。領域1352は用紙種類に関する選択肢になっている。本実施例ではPrintCapabilitiesについて説明したが、禁則処理に用いることができる情報であれば何でもよいことは言うまでもない。
【0119】
プリントキュー管理部32104は、生成したデバイス情報に基づき、プリントキューを生成する(S802)。
【0120】
次に、プリントキュー管理部32104は、
図6(b)に示すプリントキュー情報を生成する(S803)。登録要求とともに受信した情報が
図6(e)に示すデバイス情報である場合プリントキュー名称にはプリンター名を設定する。登録要求とともに受信した情報が
図6(c)に示す相互交換情報である場合、相互交換情報内のプリントキュー名称を生成するプリントキュー名称とする。
【0121】
プリントキュー管理部32104は、受信した登録要求がクラウドプリント対応プリンターからの登録要求であるか否かを判定する(S804)。S804において、プリントキュー管理部32104は登録要求とともに受信した情報にプロキシIDが含まれるか否かに基づいて判定する。受信した情報にプロキシIDが含まれるか否かは、受信した情報に含まれる文字列に基づき判定される。受信した情報に特定の文字列が含まれる場合、当該情報はプロキシサーバ102から取得されたものであると判定される。一方で、受信した情報が特定の文字列を含まない場合、当該情報はクラウドプリント対応プリンター104から取得されたものであると判定する。なお、S804における判定は、登録要求を送信したプリンターがクラウドプリント対応プリンターであるか、プロキシサーバ経由で接続されるクラウドプリント非対応プリンターであるかを判定することができればよく、上記の方法に限定されない。
【0122】
受信した登録要求がクラウドプリント対応プリンター104の送信した登録要求である場合、プリントキュー管理部32104はプリントキュー情報の接続形態情報に「プリンター直接接続」であることを示す情報を設定する(S805)。
【0123】
一方、受信した登録要求がクラウドプリント非対応プリンター105の送信した登録要求である場合、プリントキュー情報にプリンター接続形態として「クラウドプリントプロキシ経由接続」であることを示す情報を設定する(S806)。
【0124】
上記処理の後、クラウドプリントサービス321は、
図8に示すプリンター登録処理を終了する。
【0125】
図9は、本実施形態における印刷設定および印刷処理に関する処理を示すシーケンスの一例を示す図である。
図9は、クラウドプリント対応プリンター104を用いた場合のシーケンスである。
【0126】
ユーザーは、アプリケーションにおいて、印刷設定画面の表示指示をする(S901)。クラウドプリントドライバー311はアプリケーション経由で印刷設定画面の表示指示を受け付ける。
【0127】
クラウドプリントドライバー311は、印刷設定画面400を表示する(S902)。
【0128】
ユーザーは、印刷設定画面400の領域401を操作し、印刷に利用するプリンターに対応するプリントキューを選択する(S903)。
【0129】
クラウドプリントドライバー311は、選択されたプリントキューの情報を参照し、印刷設定画面400を更新する(S904)。
【0130】
ユーザーは、印刷設定画面400を操作して、印刷設定拡張アプリ312の起動を指示する(S905)。ユーザーが印刷設定画面400の詳細設定ボタン406を選択することで、クラウドプリントドライバー311は印刷設定拡張アプリ312の起動指示を受け付ける(S906)。
【0131】
次に、印刷設定拡張アプリ312は、初期化処理の後、
図5(a)に示す拡張印刷設定画面500を表示する(S907)。
【0132】
ユーザーは、印刷設定拡張アプリ312を操作して印刷設定を変更する(S908)。印刷設定拡張アプリ312は禁則情報を用いて、UIで設定された印刷設定に競合する印刷設定がなされているかを検証する(S909)。
【0133】
印刷設定拡張アプリ312は、競合(コンフリクト)が発生しているか否かを調べ、競合が発生している場合は競合を解消した状態の印刷設定を拡張印刷設定画面500に表示する(S910)。競合が発生していない場合、印刷設定拡張アプリ312は表示を変更しない。
【0134】
次にユーザーは、拡張印刷設定画面500に表示されている印刷設定で確定する場合に拡張印刷設定画面500の「OK」ボタン506を選択する(S911)。印刷設定拡張アプリ312は必要に応じて、アプリを終了する(S912)。
【0135】
印刷設定拡張アプリ312は、確定された印刷設定をクラウドプリントドライバー311に送信する(S913)。クラウドプリントドライバー311は、再度、
図4で示す印刷設定画面400を表示する。ユーザーは印刷設定画面400を操作して、印刷ボタン407を押下する(S914)。クラウドプリントドライバー311は、印刷設定拡張アプリ312から受け取った印刷設定に基づき、印刷データを生成し、クラウドプリントサービス321に送信する(S915)。S915において、クラウドプリントドライバー311は、IPPに則って記載された印刷設定とPDF,PWG-Raster等所定のフォーマットの画像データに基づく印刷データを生成する。そして、クラウドプリントドライバー311は、生成した印刷データをクラウドプリントサービス321に送信する。クラウドプリントサービス321は、受信した印刷データを、指定されたプリントキューと対応づけて記憶する。
【0136】
クラウドプリント対応プリンター104は、クラウドプリントサービス321に対して、印刷データの取得要求を送信する(S916)。当該取得要求は一定時間毎のポーリング処理によって送信されてもよいし、ユーザーがクラウドプリント対応プリンター104にログインしたことを契機としてもよい。
【0137】
クラウドプリントサービス321は、プリントキューに対応づけて記憶している印刷データをクラウドプリント対応プリンター104に送信する(S917)。クラウドプリント対応プリンター104は、受信した印刷データに基づく画像を印刷する(S918)。その後、クラウドプリント対応プリンター104はクラウドプリントサービス321に印刷完了を通知する(S919)。
【0138】
以上が、印刷設定から、クラウドプリント対応プリンター104で印刷が実行されるまでのシーケンスである。
【0139】
次に、
図10を用いて、クラウドプリント非対応プリンター105を用いた印刷のシーケンスを説明する。
【0140】
S1001~S1015のステップは
図9のS901~S915のステップと同じであるため、説明を省略する。
【0141】
クラウドプリントプロキシ331は、クラウドプリントサービス321に定期的に印刷データの取得要求を送信する(S1016)。
【0142】
クラウドプリントサービス321は、プリントキュー情報を参照し、データの取得要求の送信元がクラウドプリント対応プリンター104であるかクラウドプリントプロキシ331であるかを判定する。印刷データの取得要求の送信元がクラウドプリントプロキシ331であると判定した場合、クラウドプリントサービス321は、印刷データの変換処理を行う(S1017)。クラウドプリントサービスは例えばIPPに則って書かれている印刷設定をPrint Ticketに変換し、PDF形式の画像データをXPS形式のデータへと変換する。
【0143】
そして、クラウドプリントサービス321は、S1017における変換によって得られた印刷データをクラウドプリントプロキシ331に送信する(S1018)。なお、本実施形態では、クラウドプリントサービス321において、印刷データの形式をプリンタードライバー332が扱うことのできる形式へと変換するとした。上記の変換はクラウドプリントプロキシ331で行うとしてもよい。その場合、クラウドプリントサービス321はS1017の処理を行うことなく、印刷データをクラウドプリントプロキシ331に送信する。クラウドプリントプロキシ331は、受信した印刷データに対してS1017に相当する処理を実行する。
【0144】
クラウドプリントプロキシ331は、受信した印刷データをプリンタードライバー332に送信する(S1019)。
【0145】
プリンタードライバー332は、受信した印刷データをクラウドプリント非対応プリンター105が処理することのできる描画データへと変換する変換処理を実行する(S1020)。S1020において、プリンタードライバー332は、例えば、クラウドプリントプロキシ331から受信したPrint Ticket、XPS形式のデータに基づきPDL(Page Description Page)データを生成する。
【0146】
プリンタードライバー332は、クラウドプリント非対応プリンター105へ生成した描画データを送信する(S1021)。
【0147】
クラウドプリント非対応プリンター105は、受信した描画データに基づいて印刷を実行する(S1022)。
【0148】
次に
図11を用いて印刷設定拡張アプリ312における印刷設定の変更時と確定時の処理の説明を行う。
図9のS906~S915、
図10の1006~S1015に対応する処理のフローであり、
図4(a)で詳細設定ボタン406が選択されたことに基づき開始される。
【0149】
図11に示す処理は全てクライアント端末101の補助記憶部214に格納された印刷設定拡張アプリ312のプログラムがメモリ213にロードされCPU212によって実行される。
【0150】
印刷設定拡張アプリ312は
図5(a)の拡張印刷設定画面500を表示する(S1101)。そして、印刷設定拡張アプリ312は、ユーザーからの印刷設定の操作を受け付ける(S1102)。印刷設定拡張アプリ312はユーザーによって印刷設定を確定させるための「OK」ボタン506が選択された否かを判定する(S1103)。S1103において「OK」ボタン506が選択されたと判定した場合、印刷設定拡張アプリ312は印刷設定を確定し、クラウドプリントドライバー311にこの印刷設定を通知する(S1104)。
【0151】
一方、S1103において印刷設定を確定させるための「OK」ボタン506が選択されていないと判定した場合、印刷設定拡張アプリ312はS1105に処理を進める。
【0152】
印刷設定拡張アプリ312は拡張印刷設定画面500の印刷設定が変更されたか否かを判定する(S1105)。S1105において印刷設定が変更されていないと判定した場合、S1102に戻り、ユーザーからの印刷設定の操作を受け付ける。
【0153】
一方、S1105のステップにおいて拡張印刷設定画面500の印刷設定が変更されたと判断した場合、印刷設定拡張アプリ312はS1106に処理を進める。
【0154】
印刷設定拡張アプリ312は、禁則情報をクラウドプリントサービス321のプリントキュー管理部32104から既に取得しているか否かを判定する(S1106)。本実施例では、クライアント端末101の補助記憶部214内にプリントキュー管理部32104から取得した禁則情報が存在するか否かで判断するが、禁則情報をプリントキュー管理部32104から取得したことが判断できれば、どのような方法でも構わない。
【0155】
S1106のステップにおいて禁則情報をまだ取得していないと判定した場合、クラウドプリントサービス321から禁則情報を取得し、取得した禁則情報はクライアント端末101の補助記憶部214内の用意された領域に保存する。(S1107)。
【0156】
一方、S1106のステップにおいて禁則情報をクラウドプリントサービス321から既に取得していると判断した場合、印刷設定拡張アプリ312はS1108に処理を進める。
【0157】
印刷設定拡張アプリ312の禁則処理部31206は禁則情報を基に禁則処理を実行する(S1108)。S1108の処理の詳細は
図16で後述する。
【0158】
その後、印刷設定拡張アプリ312は、S1102に処理を戻す。
【0159】
【0160】
印刷設定拡張アプリ312は、選択されているプリントキューがクラウドプリント対応プリンターのプリントキューであるか否かを判定する(S1601)。クラウドプリント対応プリンターのプリントキューである場合、印刷設定拡張アプリ312はS1602に処理を進める。印刷設定拡張アプリ312は、
図8のS805、S806で設定された情報に基づき、選択されているプリントキューがクラウドプリント対応プリンターのプリントキューであるか否かを判定する。
【0161】
印刷設定拡張アプリ312は、クラウドプリントサービス321から取得した禁則情報の一つを選択する(S1602)。たとえば、
図13(a)のようにresolver-nameが“AAA”の禁則条件を選択したとする。
【0162】
印刷設定拡張アプリ312は、設定されている印刷設定に選択した禁則条件に一致する印刷設定が含まれているか否かを判定する(S1603)。たとえば、
図5(b)に示すように、両面印刷の設定が“長辺とじ”、用紙タイプが“OHP”である場合、印刷設定拡張アプリ312は、resolver-nameが“AAA”の禁則条件に合致する印刷設定が含まれていると判定する。
【0163】
選択した禁則条件に合致する印刷設定が含まれていない場合、印刷設定拡張アプリ312はS1605に処理を進める。
【0164】
選択した禁則条件に合致する印刷設定が含まれている場合、印刷設定拡張アプリ312は印刷設定の設定値を変更する(S1604)。印刷設定拡張アプリ312は、
図13(a)のJob-resolvers-supportに基づき、両面印刷の設定を“片面印刷”、用紙タイプを“普通紙”に変更する。印刷設定拡張アプリ312は、
図5(c)のように変更後の設定値を印刷設定画面に表示する。なお、設定値を変更するだけでなく、設定値が変更された設定項目がいずれの項目かを印刷設定画面に表示し、ユーザーに通知するとしてもよい。
【0165】
印刷設定拡張アプリ312は、印刷設定に含まれているか否かを確認していない禁則情報があるか否かを判定する(S1605)。判定に使われていない禁則情報がある場合、印刷設定拡張アプリ312はS1602に処理を戻す。判定に使われていない禁則情報がない場合、印刷設定拡張アプリ312は、
図16に記載のフローを終了する。
【0166】
S1601において、選択されているプリントキューがクラウドプリント対応プリンターのプリントキューではないと判定された場合、印刷設定拡張アプリ312はS1606へと処理を進める。この場合、選択されているプリントキューはクラウドプリントプロキシを経由するプリンターのプリントキューである。
【0167】
印刷設定拡張アプリ312は、印刷設定画面で設定されている現在の印刷設定と一致するPrintTicketの情報が記憶されているか否かを判定する(S1606)。PrintTicketが記憶されていない場合、本フローを終了する。一致するPrintTicketが記憶されている場合、印刷設定拡張アプリ312はS1607に記載の処理を実行する。
【0168】
印刷設定拡張アプリ312は、設定されている印刷設定と一致するPrintTicketと、当該PrintTicketに対応するPrintCapabilitiesを参照し、競合する設定項目があるか否かを判定する(S1607)。印刷設定拡張アプリ312は、PrintTicketで設定されている設定値についてPrintCapabilitiesのconstrainedの値を参照する。constrainedの値がPrintTicketになっている項目がある場合、印刷設定拡張アプリ312はS1608へと処理を進める。constrainedの値がPrintTicketになっている項目がない場合、印刷設定拡張アプリ312は
図16に示す処理を終了する。
【0169】
印刷設定拡張アプリ312は、PrintCapabilitiesを参照し、constrainedの値がPrintTicketとなっている項目について、constrainedの値がNoneとなる設定値に設定値を変更する。設定値の変更後、印刷設定拡張アプリ312はS1606へと処理を戻す。なお、S1608において、印刷設定拡張アプリは変更後の設定値を印刷設定画面に表示し、いずれの設定項目の設定が変更されたかをユーザーに通知する。
【0170】
図16のS1604、S1608では、印刷設定の設定値を禁則条件に一致しないように設定変更を行うとして説明した。設定値を変更することなく、いずれの設定項目が禁則条件に一致しているかを印刷設定画面に表示し、ユーザーに通知するとしてもよい。この場合、ユーザーが禁則条件に一致するとして通知された設定項目の設定値を変更することで設定値の競合が解消される。
【0171】
なお、本実施例では印刷設定拡張アプリ312がクラウドプリントサービス321から禁則情報を取得して、印刷設定拡張アプリ312の禁則処理部31206が禁則処理を実行した。クラウドプリントドライバー311がクラウドプリントサービス321から禁則情報を取得して、クラウドプリントドライバー311の禁則処理部31105が禁則処理を実行してもよいことは言うまでもない。
【0172】
以上の手順により、印刷設定拡張アプリ312はクラウドプリントサービス321から禁則情報を取得し、取得した禁則情報を基に禁則処理を行う。このようにすることで、クラウドプリントサービス用のプリンタードライバーを利用する際に、印刷ジョブに禁則条件に一致する設定値の組み合わせが含まれてしまうことを抑制することができる。また、クライアント端末が禁則情報を取得し、記憶することで、印刷設定が変更されたときに、外部のサーバ等に問い合わせを行わずとも、禁則条件に一致する設定が含まれるかを判定することができる。
【0173】
[実施例2]
実施例1では、印刷設定拡張アプリ312がクラウドプリントサービス321から禁則情報を取得していた。実施例1では、クラウドプリントサービスから禁則情報を取得できない場合、印刷設定の競合を検証することができない。
【0174】
そこで実施例2では、印刷設定拡張アプリ312が機種共通の禁則情報を初めから保持し、クラウドプリントサービスから禁則情報を取得できない場合に保持している禁則情報を使って印刷設定を検証する。このようにすることで、クラウドプリントサービスから禁則情報を取得することができない場合であっても、禁則情報に関する検証を行うことが可能となる。
【0175】
実施例2における機種共通の禁則情報とは、印刷設定拡張アプリを提供するベンダのプリンターであればいずれのプリンターも有していると想定される機能に限定した禁則情報である。印刷設定拡張アプリ312が機種共通の禁則情報を有することで、クラウドプリントサービスから禁則情報を取得することができない場合に、いずれの機種でも共通する機能については禁則情報に一致する設定がされているかを判定することができる。
【0176】
実施例2における処理について、
図12のフローチャートを用いて説明する。
【0177】
図12に示す処理は全てクライアント端末101の補助記憶部214に格納された印刷設定拡張アプリ312のプログラムがメモリ213にロードされCPU212によって実行される。
【0178】
図12において、実施例1と同様の処理については
図11と同じ符号を付与し、説明を省略する。
【0179】
S1106において、クラウドプリントサービス321のプリントキュー管理部32104から禁則情報を取得していないと判定した場合、印刷設定拡張アプリ312はプリントキュー管理部32104から禁則情報と接続形態情報を取得する(S1201)。接続形態情報は、
図8のS805、S806にてクラウドプリントサービスに設定される情報である。
【0180】
印刷設定拡張アプリ312は禁則情報と接続形態情報をプリントキュー管理部32104から取得できたか否かを判断する(S1202)。禁則情報と接続形態情報を取得した場合、印刷設定拡張アプリ312は、取得した禁則情報をクライアント端末101の補助記憶部214内の用意された領域に保存する。
【0181】
S1202において禁則情報をプリントキュー管理部32104から取得できなかった場合、印刷設定拡張アプリ312は、印刷設定拡張アプリ312で予め保持している機種共通の禁則情報を基に禁則処理を行う(S1204)。本実施例における機種共通の禁則情報とはクラウドプリント対応プリンター104やクラウドプリント非対応プリンター105などのプリンターの種類に依存しない禁則情報のことであり、クライアント端末101の補助記憶部214内に保存されているものとする。
【0182】
一方、S1202において禁則情報をクラウドプリントサービス321のプリントキュー管理部32104から取得できたと判断した場合、印刷設定拡張アプリ312はS1203へ処理を進める。
【0183】
印刷設定拡張アプリ312はプリントキュー管理部32104から取得した接続形態情報が「プリンター直接接続」か否かを判定する(S1203)。接続形態情報が「プリンター直接接続」であると判定した場合、印刷設定拡張アプリ312はS1108へ処理を進める。
【0184】
一方、S1203において取得した接続形態情報が「プリンター直接接続」でないと判定した場合、印刷設定拡張アプリ312はS1204に処理を進める。なお、S1204における処理は
図16のS1602~S1605と同様である。印刷設定拡張アプリは、機種共通の禁則情報から禁則条件を一つ選び、選択した禁則条件に一致する印刷設定が含まれているかを判断する処理をすべての禁則条件に対して行う。
【0185】
なお、実施例2では印刷設定拡張アプリ312がクラウドプリントサービス321から禁則情報を取得して、印刷設定拡張アプリ312の禁則処理部31206が禁則処理を実行した。クラウドプリントドライバー311がクラウドプリントサービス321から禁則情報を取得して、クラウドプリントドライバー311の禁則処理部31105が禁則処理を実行してもよい。また、クラウドプリントドライバー311が機種共通の禁則情報を初めから保持してもよいことは言うまでもない。
【0186】
以上の手順により、印刷設定拡張アプリ312はクラウドプリントサービス321から禁則情報を取得できなかった場合、印刷設定拡張アプリ312で初めから保持している機種共通の禁則情報を基に禁則処理を行う。
【0187】
これにより、クラウドプリントサービス321から禁則情報を取得できなかった場合においても印刷設定拡張アプリ312は機種共通の禁則処理を行うことが可能となる。
【0188】
[実施例3]
実施例2では、印刷設定拡張アプリ312が機種共通の禁則情報を予め保持していた。本実施例では、印刷設定拡張アプリ312がクラウドプリントサービス321の禁則情報と同等の禁則情報を予め保持している場合の処理を説明する。実施例3では、印刷設定拡張アプリ312は当該印刷設定拡張アプリで設定することのできるすべての設定項目、設定値に関する禁則条件を禁則情報として記憶しているものとする。この場合は、
図7(a)のS707や
図7(b)のS733等でクラウドプリントサービスに禁則情報の登録を行わなくてもよい。
【0189】
印刷設定拡張アプリ312は、
図9または
図10に示すプリンターの登録処理が完了した後、ユーザーがクライアント端末にクラウドプリントサービスに登録したプリンターのプリントキューを生成するときにインストールされる。実施例3では、印刷設定拡張アプリ312が禁則情報を記憶しているため、上記のタイミングで禁則情報もクライアント端末に記憶される。なお、印刷設定拡張アプリは、アプリ配布用のサーバから行われるものであり、クライアント端末が印刷データを送信するサーバとは異なるサーバから取得される。すなわち、禁則情報も印刷データの送信先となるサーバとは異なるサーバから取得される。
【0190】
図14は、実施例3における印刷設定拡張アプリの処理を示すフローチャートを用いて説明する。
【0191】
図14に示す処理は全てクライアント端末101の補助記憶部214に格納された印刷設定拡張アプリ312のプログラムがメモリ213にロードされCPU212によって実行される。なお、
図11と同様の処理を行う箇所には
図11と同様の符号を付与し、説明を省略する。
【0192】
S1105において拡張印刷設定画面500の印刷設定が変更されたと判定した場合、印刷設定拡張アプリ312はS1401へ処理を進める。
【0193】
印刷設定拡張アプリ312の禁則処理部31206は印刷設定拡張アプリ312で初めから保持している禁則情報を基に禁則処理を行う(S1401)。本実施例における禁則情報とはクラウドプリント対応プリンター104やクラウドプリント非対応プリンター105など各々のプリンターに依存した禁則情報のことであり、クライアント端末101の補助記憶部214内に保存されているものとする。
【0194】
印刷設定拡張アプリ312は、拡張印刷設定画面500で現在設定されている印刷設定において競合(コンフリクト)が発生しているか否かを判定する(S1402)。印刷設定拡張アプリは、現在設定されている印刷設定値に記憶している禁則情報に含まれる禁則条件に一致する設定値が含まれるか否かを判定する。
【0195】
S1402において、禁則条件に一致する設定値が含まれており、設定値の競合が発生していると判定した場合、印刷設定拡張アプリ312は競合が解消するように設定値を変更する(S1403)。なお、実施例3では、現在設定されている印刷設定に禁則条件に一致する設定値が含まれる場合、競合が解消するように設定値を変更した。印刷設定拡張アプリ312が、設定値を変更し、さらに設定値が変更された設定項目を通知するとしてもよい。また、印刷設定拡張アプリ312が、設定値を変更せず、設定値が競合している設定項目をユーザーに通知するとしてもよい。
【0196】
一方、S1402において禁則条件に一致する設定値が含まれておらず、設定値の競合が発生していないと判定した場合、印刷設定拡張アプリ312は、S1102に処理を戻し、ユーザーからの印刷設定の操作を受け付ける。
【0197】
以上の手順により、印刷設定拡張アプリ312は初めから保持している禁則情報を基に禁則処理を行うことができる。
【0198】
[その他の実施例]
図15に文書編集アプリからの印刷における印刷設定画面1500を示す。文書編集アプリはクライアント端末101の補助記憶部214に格納されており、文書編集アプリのプログラムがメモリ213にロードされCPU212によって実行される。
【0199】
図15の領域1501ではプリンターの選択や印刷設定を選択できるようになっており、領域1502では印刷対象の文書のプレビューが表示されている。文書編集アプリは印刷設定拡張アプリ312に保存されている禁則情報(PrintCapabilities1350)を呼び出すことで領域1501の印刷設定に対して禁則処理を適応することが可能となる。
【0200】
なお、実施例1~3はいずれも印刷設定拡張アプリ312が表示する拡張印刷設定画面において、ユーザーが設定値を変更したときに、現在の印刷設定が禁則条件に一致するかを判定した。設定値の変更時には禁則条件に一致するか否かの判定を行わず、ユーザーが
図5(a)のボタン506を選択したときに、現在設定されている設定値が禁則条件に一致するかを判定するとしてもよい。その場合、現在設定されている設定値が禁則条件に一致しない場合、印刷設定拡張アプリ312は、設定値をクラウドプリントドライバーに渡す。一方で、現在設定されている印刷設定に禁則条件に一致する設定値が含まれている場合、印刷設定拡張アプリ312は設定値の変更を行い設定値の変更をユーザーに通知する。または、印刷設定拡張アプリ312は、設定値の変更は行わず、設定値の変更が必要であることをユーザーに通知するとしてもよい。
【0201】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。