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

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

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

特許7476262情報処理装置、情報処理装置の制御方法ならびにプログラム
<>
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図1
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図2
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図3
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図4
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図5A
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図5B
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図6A
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図6B
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図7
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図8
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図9
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図10
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図11
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図12
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図13
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図14
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図15
  • 特許-情報処理装置、情報処理装置の制御方法ならびにプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-19
(45)【発行日】2024-04-30
(54)【発明の名称】情報処理装置、情報処理装置の制御方法ならびにプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240422BHJP
【FI】
G06F3/12 353
G06F3/12 324
G06F3/12 332
G06F3/12 350
G06F3/12 305
【請求項の数】 17
(21)【出願番号】P 2022133190
(22)【出願日】2022-08-24
(65)【公開番号】P2024030352
(43)【公開日】2024-03-07
【審査請求日】2022-10-12
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】保田 晃宏
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2008-097573(JP,A)
【文献】特開2021-108001(JP,A)
【文献】特開2021-124790(JP,A)
【文献】特開2022-120952(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
(57)【特許請求の範囲】
【請求項1】
情報処理装置に記憶される印刷設定アプリケーションであって、
印刷データの送信先として第1の印刷方式のプリンタが選択されている場合、前記プリンタの能力情報に画像の周囲の余白領域に関する所定の文字列が含まれることに基づき、第1の機能の情報として第1の文字列を表示手段に表示させる第1の表示制御工程と、
印刷データの送信先として第2の印刷方式のプリンタが選択されている場合、前記能力情報に前記所定の文字列が含まれることに基づき、第2の機能の情報として第2の文字列を前記表示手段に表示させる第2の表示制御工程と、
前記第1の機能が有効に設定されていること、または、前記第2の機能が有効に設定されていることに基づき、前記画像の周囲の余白に関する値を所定の値に設定する設定工程と、前記情報処理装置に実行させることを特徴とするアプリケーション。
【請求項2】
印刷データの送信先として設定されているプリンタの印刷方式を、前記能力情報に基づき判定する判定工程をさらに有することを特徴とする請求項1に記載のアプリケーション。
【請求項3】
記能力情報は、所定のプロトコルで定義された能力情報であることを特徴とする請求項に記載のアプリケーション。
【請求項4】
前記所定のプロトコルはInternet Printing Protocolであることを特徴とする請求項に記載のアプリケーション。
【請求項5】
前記第1の印刷方式は電子写真方式であり、
前記第1の機能は前記第1の文字列は用紙に対して画像が印刷される領域を広げて印刷する機能であり、
前記第2の印刷方式はインクジェット方式であり、
前記第2の機能は前記第2の文字列は用紙の端まで画像が印刷される機能であることを特徴とする請求項1に記載のアプリケーション
【請求項6】
前記印刷設定アプリケーションは、異なる複数のベンダーのプリンタに対応する印刷データを生成するプリンタドライバと対応づけられたプリンタの情報に基づき前記情報処理装置にインストールされるアプリケーションであることを特徴とする請求項1に記載のアプリケーション。
【請求項7】
前記所定の文字列は、PageBoderlessであることを特徴とする請求項1に記載のアプリケーション
【請求項8】
前記第1の文字列で表示された前記第1の機能が無効に設定されていることに基づき、前記画像の周囲の余白領域の幅を前記第1の機能が有効に設定されている場合に設定される幅よりも大きな幅に設定する他の設定工程をさらに有することを特徴とする請求項1に記載のアプリケーション
【請求項9】
報処理装置の制御方法であって、
印刷データの送信先として第1の印刷方式のプリンタが選択されている場合、前記プリンタの能力情報に画像の周囲の余白に関する所定の文字列が含まれていることに基づき、第1の機能の情報として第1の文字列を表示手段に表示させる第1の表示制御工程と、
印刷データの送信先として第2の印刷方式のプリンタが選択されている場合、前記能力情報に前記所定の文字列が含まれることに基づき、第2の機能の情報として第2の文字列を前記表示手段に表示させる第2の表示制御工程と、
前記第1の機能が有効に設定されていること、または、前記第2の機能が有効に設定されていることに基づき、前記画像の周囲の余白に関する値を所定の値に設定する設定工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項10】
印刷データの送信先として設定されているプリンタの印刷方式を、前記能力情報に基づき判定する判定工程をさらに有することを特徴とする請求項に記載の情報処理装置の制御方法。
【請求項11】
前記能力情報は、所定のプロトコルで定義された能力情報であることを特徴とする請求項9に記載の制御方法
【請求項12】
前記所定のプロトコルは、Internet Printing Protocolであることを特徴とする請求項11に記載の制御方法
【請求項13】
前記第1の印刷方式は電子写真方式であり、
前記第1の機能は前記第1の文字列は用紙に対して画像が印刷される領域を広げて印刷する機能であり、
前記第2の印刷方式はインクジェット方式であり、
前記第2の機能は前記第2の文字列は用紙の端まで画像が印刷される機能であることを特徴とする請求項に記載の情報処理装置の制御方法。
【請求項14】
前記制御方法は、異なる複数のベンダーのプリンタに対応する印刷データを生成するプリンタドライバと対応づけられたプリンタの情報に基づき前記情報処理装置にインストールされる印刷設定アプリケーションを実行することで実現されることを特徴とする請求項に記載の情報処理装置の制御方法。
【請求項15】
前記所定の文字列は、PageBoderlessであることを特徴とする請求項9に記載の制御方法
【請求項16】
前記第1の文字列で表示された前記第1の機能が無効に設定されていることに基づき、前記画像の周囲の余白領域の幅を前記第1の機能が有効に設定されている場合に設定される幅よりも大きな幅に設定する他の設定工程をさらに有することを特徴とする請求項9に記載の制御方法
【請求項17】
報処理装置であって、
印刷データの送信先として第1の印刷方式のプリンタが選択されている場合、前記プリンタの能力情報に画像の周囲の余白領域に関する所定の文字列が含まれることに基づき、第1の機能の情報として第1の文字列を表示手段に表示させる表示制御手段と、
前記第1の文字列で表示された前記第1の機能が有効に設定されていることに基づき、前記画像の周囲の余白領域の設定値を所定の値に設定する設定手段と、を有し、
前記表示制御手段は、印刷データの送信先として第2の印刷方式のプリンタが選択されている場合、前記能力情報に前記所定の文字列が含まれることに基づき、第2の機能の情報として第2の文字列を前記表示手段に表示させることを特徴とする情報処理装置
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、情報処理装置の制御方法ならびにプログラムに関するものである。
【背景技術】
【0002】
近年、IPP(Internet Printing Protocol)のような業界標準のプロトコルを用いた、汎用プリンタドライバが考えられている。汎用プリンタドライバとしては、プリンタと直接接続するローカルプリンタドライバやクラウドプリントサービスに印刷データを送信するクラウドプリンタドライバがある。
【0003】
汎用プリンタドライバは、複数のプリンタベンダーのプリンタと通信することができる。そのため、汎用プリンタドライバを利用することで、ユーザがベンダー固有のプリンタドライバをインストールせずとも画像形成装置やクラウドプリントサービスに印刷データを送信することができる。
【0004】
上記の汎用プリンタドライバは様々なベンダーのプリンタで印刷される印刷ジョブを扱うため、印刷設定として設定することの出来る項目や機能が制限されている。そこで特許文献1のように、プリンタドライバに紐づくプリンタの識別情報を用いて、当該プリンタドライバと紐づくプリントキューを拡張することが考えられている。これにより、ベンダー独自の印刷設定UIや印刷ジョブ編集機能を実現することができる。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2021-124791号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
IPPのような業界標準ではプリンタの能力情報を示すための属性が定義されている。業界標準で定義されている属性であってもプリンタの機種や印刷方式のよって得られる出力が変わる場合がある。
【0007】
一方で、情報処理装置のOSが提供する印刷設定画面では、プリンタの機種や印刷方式に関係なく属性に一意に対応する機能名で表示がなされる。そのため、プリンタの機種や印刷方式によっては、機能名で示される出力とは異なる出力物が出力されてしまうことがある。
【0008】
本願に記載の印刷設定アプリケーションは、印刷データの送信先として選択されているプリンタの情報に応じて、同一の属性であっても異なる表示を行うことを目的とする。
【課題を解決するための手段】
【0009】
本願に記載のアプリケーションは、情報処理装置に記憶される印刷設定アプリケーションであって、印刷データの送信先として第1の印刷方式のプリンタが選択されている場合、前記プリンタの能力情報に画像の周囲の余白領域に関する所定の文字列が含まれることに基づき、第1の機能の情報として第1の文字列を表示手段に表示させる第1の表示制御工程と、印刷データの送信先として第2の印刷方式のプリンタが選択されている場合、前記能力情報に前記所定の文字列が含まれることに基づき、第2の機能の情報として第2の文字列を前記表示手段に表示させる第2の表示制御工程と、前記第1の機能が有効に設定されていること、または、前記第2の機能が有効に設定されていることに基づき、前記画像の周囲の余白に関する値を所定の値に設定する設定工程と、を前記情報処理装置に実行させることを特徴とする。
【発明の効果】
【0010】
本発明における印刷設定アプリケーションにより、印刷データの送信先として選択されているプリンタの情報に応じて、同一の属性であっても異なる表示を行うことができる。
【図面の簡単な説明】
【0011】
図1】本実施形態における印刷システムの一例を示す図である。
図2】本実施形態における情報処理装置および画像形成装置のハードウェア構成の一例を示す図である。
図3】本実施形態において、印刷設定拡張アプリをインストールする処理を示すシーケンスの一例を示す図である。
図4】本実施形態において、クライアント端末101に表示される画面の一例を示す図である。
図5A】本実施形態において、電子写真プリンタ104bが記憶する構成情報の一例を示す図である。
図5B】本実施形態において、インクジェットプリンタ104aが記憶する構成情報の一例を示す図である。
図6A】本実施形態において、OS313に同梱されるデバイス構成情報の一例を示す図である。
図6B】本実施形タにおいて、クラウドプリントサービス321から取得された情報により拡張された後のデバイス構成情報の一例を示す図である。
図7】本実施形態において、オンラインサポートサービスから取得される拡張セットアップ情報ファイルの一例を示す図である。
図8】本実施形態において、印刷設定拡張アプリで印刷設定を行い、クラウド経由で印刷データを送信するまでの処理を示すシーケンスの一例を示す図である。
図9】本実施形態において、印刷設定拡張アプリがインストールされていない場合に表示される印刷設定画面の一例を示す図である。
図10】本実施形態において、印刷設定拡張アプリがインストールされている場合に表示される印刷設定画面の一例を示す図である。
図11】本実施形態において、ドキュメント生成アプリが表示する印刷設定画面の一例を示す図である。
図12】本実施形態において、クライアント端末に印刷設定拡張アプリをインストールするための処理を示すフローチャートである。
図13】実施形態1において、印刷データを生成する際の処理を示すフローチャートである。
図14】本実施形態において、印刷結果の一例を示す図である。
図15】実施形態2において、印刷設定拡張アプリで印刷設定を行い、プリンタに直接印刷データを送信するまでの処理を示すシーケンスの一例を示す図である。
図16】実施形態2において、印刷データを生成する際の処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
<実施形態1>
以下、本発明を実施するための形態について図面を用いて説明する。
【0013】
図1は本実施形態におけるクラウドプリントにおける印刷システムの構成図を示したものである。クライアント端末101、クラウドプリントサーバ102、アプリケーション管理サーバ103はネットワーク107を介して接続されている。また、クラウドプリント対応インクジェットプリンタ104a、クラウドプリント対応電子写真プリンタ104b、オンラインサポートサーバ105もネットワーク107を介して接続されている。以降、クラウドプリント対応インクジェットプリンタ104aをインクジェットプリンタ104aと記載する。また、クラウドプリント対応電子写真プリンタ104bを電子写真プリンタ104bと記載する。また、クラウドプリント対応インクジェットプリンタ104a、クラウドプリント対応電子写真プリンタ104bの両方を総称する場合にクラウドプリント対応プリンタ104と記載する。
【0014】
クライアント端末101には、クラウドプリンタドライバ311がインストールされている。クラウドプリンタドライバ311は、クラウドプリントサービス321を介してクラウドプリント対応プリンタ104に送信される印刷データを生成することができるプリンタドライバである。
【0015】
また、クライアント端末101にはローカルプリンタドライバ314がインストールされている。ローカルプリンタドライバ314はクライアント端末101と直接接続されるプリンタへ送信される印刷データを生成可能なプリンタドライバである。
【0016】
なお、本実施形態において、クラウドプリンタドライバ311とローカルプリンタドライバ314はクライアント端末101のOSにあらかじめインストールされており、ユーザによるインストールが不要なドライバである。また、クラウドプリンタドライバ311やローカルプリンタドライバ314は所定のプロトコルに則って印刷データを生成するプリンタドライバである。そのため、クラウドプリントサービス321やローカルプリンタドライバ314の提供するプリントサービスをサポートするプリンタであれば、異なる複数のベンダー製のプリンタで印刷可能な印刷データを生成することができるプリンタドライバである。
【0017】
また、クライアント端末101には、後述する方法で印刷設定拡張アプリ312がインストールされる。印刷設定拡張アプリ312はクラウドプリンタドライバ311やローカルプリンタドライバ314と対応づけられたプリンタに送信される印刷データの印刷設定の機能を拡張するための印刷設定アプリケーションである。
【0018】
図1では、クライアント端末101およびインクジェットプリンタ104a、電子写真プリンタ104bをそれぞれ1台ずつ記載している。しかしながら、クライアント端末101、インクジェットプリンタ104a、電子写真プリンタ104bは複数台あってもよい。
【0019】
また、クラウドプリントサーバ102、アプリケーション管理サーバ103、オンラインサポートサーバ105は複数台の情報処理装置で構成されるサーバシステムであってもよい。各サーバを複数台の情報処理装置で構成されるサーバシステムとすることで、負荷分散を複数台の情報処理装置に分散することができる。
【0020】
また、クラウドプリントサーバ102、アプリケーション管理サーバ103、オンラインサポートサーバ105が物理的には1つの情報処理装置の内部に仮想的に構成されてもよい。
【0021】
ネットワーク107は、クラウドサービスへの接続はインターネットなどのWANを想定しているが、すべてが社内LANなどの閉じた環境であってもよい。
【0022】
クライアント端末101は、PCやタブレット、スマートフォンなどの情報処理装置であり、ユーザによって直接操作される端末である。クライアント端末101上では任意のアプリケーションソフトウェアを実行可能となっている。
【0023】
インクジェットプリンタ104a、電子写真プリンタ104bは、用紙等の記録媒体に対して実際に印刷を行うデバイスであり、ネットワーク107を介して受信した印刷データを画像データに変換して印刷する画像形成装置である。インクジェットプリンタ104aと電子写真プリンタ104bは印刷方式の異なるプリンタである。
【0024】
インクジェットプリンタ104a、電子写真プリンタ104bは、クライアント端末101のクラウドプリンタドライバ311が生成した印刷データを、クラウドプリントサーバ102を介して受信する。また、インクジェットプリンタ104a、電子写真プリンタ104bは、クラウドプリントサーバ102を介さずにクライアント端末101のローカルプリンタドライバ314が生成した印刷データを受信する。
【0025】
クラウドプリントサーバ102は、外部から印刷指示と印刷データを受け付ける。そしてクラウドプリントサーバ102は受信した印刷データを、インクジェットプリンタ104a、電子写真プリンタ104bへ送信する。
【0026】
アプリケーション管理サーバ103は、各種アプリケーションを保持および管理する。アプリケーション管理サーバ103は、クライアント端末101からアプリケーションの識別情報とダウンロード要求を受信し、受信した識別情報に基づき特定されるアプリケーションをクライアント端末101に送信する。
【0027】
オンラインサポートサーバ105はオンラインサポートサービス351を提供するサーバ装置である。オンラインサポートサービス351は、クライアント端末101の機能を拡張するための情報が記述された拡張セットアップ情報ファイルをクライアント端末101に提供するためのサーバ装置である。
【0028】
次に、図2を用いて、本実施形態のシステムにおけるハードウェア構成について説明する。
【0029】
図2(a)は、クライアント端末101のハードウェア構成を示すブロック図である。
【0030】
クライアント端末101は、表示部216、操作部217、記憶部214、制御部211、ネットワーク通信部215を備える。
【0031】
記憶部214は、ハードディスクやSSDなどの不揮発性の記憶装置を指し、デジタルデータの保存と書き換えが可能である。
【0032】
制御部211は、CPU212とメモリ213とから構成され、クライアント端末101の全体の動作を制御する。CPU212は、記憶部214に記憶されたプログラムをメモリ213に展開し、それを実行する。メモリ213は、CPU212の主記憶メモリでありワークエリアや各種プログラムを展開するための一時記憶領域として用いられる。クライアント端末101のCPU212は、印刷設定拡張アプリ312のプログラムに従って拡張印刷設定画面の表示のための表示制御を行う。
【0033】
ネットワーク通信部215は、外部のネットワーク107と通信を行う装置であり、ネットワーク107を介して外部のサーバやクライアント端末等とのデジタルデータの入出力を行う。
【0034】
表示部216は、液晶ディスプレイなどユーザに対して視覚的な情報を表示するための装置である。操作部217は、キーボードやマウスなどによりユーザからの入力を受け付けるための装置である。タッチパネルなど、表示部216と操作部217の両方の機能を備え持つ装置を用いてもよい。
【0035】
図2(b)は、クラウドプリントサーバ102のハードウェア構成を示すブロック図である。クラウドプリントサーバ102は記憶部224、制御部221、ネットワーク通信部225を備える。
【0036】
記憶部224、制御部221、ネットワーク通信部225の説明はクライアント端末101のものと同等であるため割愛する。
【0037】
なお、クラウドプリントサーバ102は図2(b)に示すハードウェア構成を有する1台の情報処理装置で構成されるものとして説明するが、クラウドプリントサーバ102が図2bで示される複数の情報処理装置により構成されるとしてもよい。
【0038】
図2(c)は、アプリケーション管理サーバ103のハードウェア構成を示すブロック図である。アプリケーション管理サーバ103は表示部236、操作部237、記憶部234、制御部231、ネットワーク通信部235を備える。
【0039】
表示部236、操作部237、記憶部234、制御部231、ネットワーク通信部235の説明はクライアント端末101のものと同等であるため割愛する。
【0040】
なお、アプリケーション管理サーバ103は図2(c)に示すハードウェア構成を有する1台の情報処理装置で構成されるものとして説明するが、アプリケーション管理サーバ103が複数の情報処理装置により構成されるとしてもよい。
【0041】
図2(d)は、電子写真プリンタ104bのハードウェア構成を示すブロック図である。
【0042】
電子写真プリンタ104bは、表示部246、操作部247、記憶部244、制御部241、ネットワーク通信部245、印刷部248を備える。
【0043】
表示部246は、電子写真プリンタ104bに備え付けのタッチパネルやLEDなど、ユーザに対して情報を表示するための装置である。
【0044】
操作部247は、ユーザからの入力を受け付けるための装置であり、タッチパネルに加えてテンキーなどのハードキーを含むこともある。記憶部244、制御部241はクライアント端末101のものと同等であるため説明を割愛する。
【0045】
ネットワーク通信部245は、外部のネットワーク107と通信を行う装置であり、主に印刷データの受信を行ったり、エラーなどの電子写真プリンタ104bの状態について外部のサーバ等に向けて送信したりする役割を持つ。
【0046】
印刷部248は、カセットやトレイに用意された用紙に対して、給紙、印字、排紙の一連の動作を行うことで印刷処理を行う装置である。本実施形態において電子写真プリンタ104bは、印刷方式として電子写真方式を採用するプリンタである。また、電子写真プリンタ104bは、排紙する用紙にパンチ穴を開けたり、排紙する用紙をステイプルで綴じる機能を有するフィニッシャが接続されている。
【0047】
図2(d)を用いて、インクジェットプリンタ104aのハードウェア構成も説明する。ここでは、電子写真プリンタ104bと差のある構成のみを説明する。インクジェットプリンタ104aの印刷部は、印刷方式としてインクジェット方式を採用する。
【0048】
また、インクジェットプリンタ104aは保存機能等がない場合があり、その場合は、記憶部244を搭載しないインクジェットプリンタ104aも存在する。
【0049】
なお、本実施形態では、クラウドプリント対応プリンタ104の例として印刷機能のみを行うシングルファンクションプリンタについて説明しているが、スキャナ機能やFAX機能も合わせて持つマルチファンクションプリンタ(複合機)を用いてもよい。
【0050】
図2(e)はオンラインサポートサーバ105の詳細を示すハードウェアブロック図である。本実施形態において、オンラインサポートサーバ105は1台の情報処理装置で構成されるものとして説明するが、複数台の情報処理装置で構成されてもよい。オンラインサポートサーバは、表示部256、操作部257、記憶部254、制御部251、ネットワーク通信部255で構成される。表示部256、および操作部257は、クライアント端末101の表示部216、操作部217と同様であるため説明を省略する。記憶部254は、HDD、SSD等のメモリデバイスである。記憶部254には、クライアント端末101で提供される機能を拡張するための情報が記載されたファイルである拡張セットアップ情報ファイルが記憶されている。
【0051】
制御部251はCPU252、メモリ253から構成される。CPU252はオンラインサポートサーバ105全体の制御を行う。メモリ253は、CPU252により実行される処理に用いられる。ネットワーク通信部255は、オンラインサポートサーバ105がクライアント端末101と通信するためのインタフェースである。オンラインサポートサーバ105は、ネットワーク通信部255を介して、記憶部254に記憶されたファイルの取得要求を受信し、対応するファイルをクライアント端末101に送信する。
【0052】
次に図3を用いて、本実施形態において、クラウドプリント対応プリンタ104の情報をクラウドプリントサービス321に登録し、クライアント端末101から印刷ができるようになるまでのシーケンスを説明する。なお、この手順についてはインクジェットプリンタ104aを用いる場合も、電子写真プリンタ104bを用いる場合も同様であるため、クラウドプリント対応プリンタ104とまとめて説明する。
【0053】
まず、クラウドプリント対応プリンタ104は、ユーザからクラウドプリント対応プリンタ104をクラウドプリントサービス321に登録するためのプリンタ登録操作を受け付ける。クラウドプリント対応プリンタ104は、クラウドプリントサービス321に、プリンタのデバイス識別情報とともにプリンタ登録要求を送信する(S3001)。ここでクラウドプリントサービス321に送信されるデバイス識別情報とは、たとえばプリンタの機種ごとに割り振られるHWID(ハードウェアID)である。なお、デバイス識別情報はプリンタの機種を識別できる情報であればどのような情報であってもよい。例えば、プリンタの種別情報を示すCID(Compatible ID)であってもよい。
【0054】
クラウドプリントサービス321は、登録要求を受信すると、プリンタ登録のためのクラウドプリントサービス321のURLをクラウドプリント対応プリンタ104に送信する。ユーザが、クラウドプリント対応プリンタ104または情報処理装置から当該URLにアクセスすると、当該URLにアクセスした端末の表示部にユーザID、パスワードを入力するための入力画面が表示される。ユーザはクラウドプリントサービス321を利用するためのユーザID、パスワードを入力し、クラウドプリントサービス321にログインする。ユーザのログインが成功すると、クラウドプリントサービス321はクラウドプリント対応プリンタ104にプリンタの登録に必要な情報の取得要求を送信する。クラウドプリント対応プリンタ104は、当該要求に応じてプリンタ情報をクラウドプリントサービス321に送信する。
【0055】
次に、プリンタ登録要求を受けたクラウドプリントサービス321は、クラウドプリント対応プリンタ104の情報を登録し、クラウドプリント対応プリンタ104用のプリントキューを生成する。この際、クラウドプリントサービス321は、クラウドプリント対応プリンタ104の能力情報を取得し、生成したプリントキューに紐づけて記憶する。能力情報とは、プリンタが搭載している機能を表す情報であり、両面可能情報や、カラー可能情報、ステイプル可能情報など、ユーザが印刷時に印刷設定として設定するために必要な情報を指す。また、本実施形態の能力情報を登録する工程において、クラウドプリント対応プリンタ104は、インクジェットプリンタであるか、電子写真プリンタであるかをクラウドプリントサービス321に登録する。
【0056】
図5Aは電子写真プリンタ104bの能力情報の一例を示す図である。能力情報はプリンタ毎に異なる情報である。能力情報は、項目名と属性値で構成される。項目名は印刷設定の設定項目に相当する。属性値は各設定項目において、設定することができる設定値、選択肢や値域に相当する。クラウドプリント対応プリンタ104は、IPPにより業界標準の仕様として定義されている項目名、属性値に加え、プリンタベンダーが独自で定義する項目名、属性値も記憶している。例えば、図5に記載の項目名のうち「ジョブをプリンタに保存」「ジョブ名短縮」「針なしとじ」や、それに付随する属性値はプリンタベンダーが独自で定義している項目名、属性値である。「ジョブをプリンタに保存」は、プリンタがクラウドプリントサービス321から受信した印刷データを印刷後もプリンタに保存しておくか否かを設定するための設定項目である。「ジョブ名短縮」は、プリンタがクラウドプリントサービス321から受信した印刷データの書誌情報をプリンタの表示部に表示する際に、印刷データに付与された名称を短縮して表示するか否かを設定する項目である。「針なしとじ」は、プリンタがクラウドプリントサービス321から受信した印刷データに基づく出力用紙を、ステイプル針を用いずにとじるか否かを設定するための項目である。ステイプル針を用いずにとじるとは、たとえば圧着により用紙をとじることを示している。なお、業界標準の仕様として定義されている項目名に対応する属性値としてプリンタベンダー独自の属性値を定義してもよい。たとえば、「折り設定」は、IPPで定義されている項目名である。一方で「折り設定」の属性値の一つである「サドル折り」は、1枚以上の用紙をステイプルでとじることなく、まとめて折り排紙する機能であり、プリンタベンダーが独自に定義する属性値である。なお、図5Bは、インクジェットプリンタ104aの能力情報である。インクジェットプリンタ104aの能力情報は電子写真プリンタ104bの能力情報には含まれていない用紙の種類や用紙サイズを含む。一方で、インクジェットプリンタ104aの能力情報には、電子写真プリンタ104bの能力情報には含まれているホチキスやパンチ、折り設定といったフィニッシングに関する設定が含まれていない。
【0057】
本実施形態では、通信プロトコルとしてIPPに則って能力情報をクラウドプリントサービス321に伝えるとする。クラウドプリント対応プリンタ104は、クラウドプリント対応プリンタ104がクラウドプリントサービス321に能力情報を登録するために用意されたコマンドを使用して能力情報の登録を行う。クラウドプリント対応プリンタ104は、図5に示される項目名と、各項目名に対応する属性値、デフォルト値をクラウドプリントサービス321に通知する。ここで通知する能力情報は、各項目、属性値がIPPで定義されているか否かにかかわらない。たとえば、図5に示す「ジョブをプリンタに保存」「ジョブ名短縮」「針なしとじ」についても、項目名と属性値がクラウドプリントサービス321に通知される。また、「折り設定」の属性値の一つでプリンタベンダー独自の属性値である「サドル折り」も、「折り設定」の属性値の一つとしてクラウドプリントサービス321に登録する。
【0058】
次に、ユーザがクライアント端末101にて、クラウドプリント対応プリンタ104で印刷をするためのセットアップ操作をした場合に行われる印刷設定拡張アプリ312のインストールについて説明する。クライアント端末101にクラウドプリント対応プリンタ104の登録を行う際には、クライアント端末101のOS(オペレーティングシステム)313の有する機能の一つである標準印刷機能を利用する。
【0059】
クライアント端末101のOS313は、ユーザによるクラウドプリント対応プリンタ104のセットアップ操作であるプリンタの追加操作を受け付ける(S3002)。クラウドプリント対応プリンタ104のセットアップ操作とは、例えば以下のような操作である。図4は、クライアント端末101のOS313が表示する、クライアント端末101に登録されているプリンタに関する画面である。ユーザがオブジェクト401を選択することでOS313にプリンタの探索指示が入力される。
【0060】
プリンタの探索指示を受け付けたOS313は、クラウドプリントサービス321に対するトークンを保持しているか否かを判定する。OS313がトークンを保持していない場合、OS313は不図示のユーザ情報(ログイン名、パスワード)を入力するための画面を表示する。クライアント端末101のOS313は、当該画面を介して入力されたユーザ情報をクラウドプリントサービス321に送信して、ユーザ認証とアクセストークンを要求する(S3003)。
【0061】
クラウドプリントサービス321は、クライアント端末101から受信したユーザ情報を用いて認証処理を行う(S3004)。クラウドプリントサービス321は、認証処理を完了すると、認証処理の結果をクライアント端末101に通知する。
【0062】
ここで、ユーザ認証が成功であれば、クライアント端末101のOS313は、クラウドプリントサービス321からアクセストークンを取得する(S3005)。
【0063】
S3004においてユーザ認証が失敗した場合、クラウドプリントサービス321はクライアント端末101のOS313に認証エラーを通知する(S3006)。クライアント端末101のOS313は、受信した認証エラーの情報に基づき処理を中止する(S3007)。アクセストークンの取得が出来なかった場合、クライアント端末101のOS313は図3の処理を終了する。
【0064】
OS313がアクセストークンを保持している場合や、S3005でトークンを取得した場合、クライアント端末101のOS313はS3008へと処理を進める。OS313は、クラウドプリントサービス321に登録されたプリンタとネットワーク107に接続されたプリンタを探索する。
【0065】
クライアント端末101のOS313は、クラウドプリントサービス321に登録されているプリンタ情報の取得要求を送信し、プリンタ探索を行う(S3008)。S3008において、クライアント端末101のOS313は、アクセストークンを添付したプリンタ情報の取得要求をクラウドプリントサービス321に送信する。
【0066】
クラウドプリントサービス321は、取得要求に添付されていたアクセストークンで識別されるユーザが利用を許可されているプリンタの情報をクライアント端末101用に送信する(S3009)。S3009においてクライアント端末101に送信されるプリンタ情報とは、クラウドプリントサービス321に登録されたプリンタに付与されているプリンタ名および当該プリンタのHWIDである。
【0067】
クライアント端末101のOS313はクラウドプリントサービス321が送信したプリンタ一覧およびそれぞれのプリンタのデバイス識別情報を取得する。なお、S3008、S3009の処理と並行して、クライアント端末101のOS313はクライアント端末101と同じネットワークに接続されているプリンタの探索を行う。これはmDNSやBonjour等によるデバイスの探索である。
【0068】
OS313は、クラウドプリントサービス321から取得したプリンタ情報とネットワーク107への探索で検出したプリンタ情報をもとにクライアント端末101にプリンタ一覧を表示する。図4の領域402には、クラウドプリントサービス321から受信したプリンタ情報が一覧で表示されている。領域402に表示されているうち、「Cloud Printer 001/002/003」は、クラウドプリントサービス321に登録されているプリンタの情報である。一方で「Printer XX」はクライアント端末101がネットワーク107を探索して検出したプリンタである。このように、クラウドプリントサービス321から取得されたプリンタの情報と、ネットワーク107を探索して検出したプリンタの情報が一覧で表示される。クラウドプリントサービス321から受信したプリンタ情報はアイコン403が付加されて表示される。一方で、ネットワーク107を探索して検出したプリンタ情報はアイコン404が付加されて表示される。このようにアイコンを変えることで、クラウドプリントサービス321から受信したプリンタ情報とネットワーク107を探索して検出したプリンタ情報を区別して表示することができる。なお、クラウドプリントサービス321に登録されたプリンタの情報のみをクライアント端末101が表示してもよい。
【0069】
次に、ユーザは領域402に表示されたプリンタ情報からクライアント端末101に登録したいプリンタに対応するプリンタ情報を選択する。
【0070】
クライアント端末101のOS313は、クラウドプリントサービス321に選択されたプリンタ情報に対応するプリンタの能力情報を問い合わせる(S3010)。クライアント端末101のOS313がいずれの設定項目について能力情報を問い合わせるかはOS313の仕様にて決められており、OS313に設定されている。クライアント端末101のOS313は、あらかじめ記憶された設定項目を指定して能力情報の問い合わせを行う。OS313にあらかじめ設定された項目は、IPPにより標準の仕様として定義された設定項目であり、例えば「用紙サイズ」や「用紙の種類」、「カラーモード」「フチなし印刷」といった項目である。
【0071】
クラウドプリントサービス321は、クライアント端末101のOS313に対して、クラウドプリント対応プリンタ104の能力情報を応答する(S3011)。
【0072】
なお、本実施例では、S3001の登録時にクラウドプリントサービス321に登録された情報がS3011でクライアント端末101に送信されるとして説明する。しかしながら上記以外のタイミングでクラウドプリントサービス321に登録された能力情報がクライアント端末101に送信されるとしてもよい。たとえば、クラウドプリント対応プリンタ104の能力情報の変更に伴いクラウドプリントサービス321に登録された能力情報がクライアント端末101に送信されてもよい。また、クラウドプリントサービス321が提供するユーザインタフェース上でユーザが能力情報の更新を指示し、当該指示に伴い更新された能力情報がクライアント端末101に送信されるとしてもよい。また、S3010のタイミングでクラウドプリントサービス321がクラウドプリント対応プリンタ104から能力情報を取得し、取得した能力情報をクライアント端末101に通知するとしてもよい。
【0073】
S3011において、クラウドプリントサービス321は、クライアント端末101から指定された設定項目について、当該設定項目に対応する属性値とデフォルト値を回答する。ここで、回答される属性値は標準として定義されている属性値であるか否かにかかわらずクラウドプリントサービス321に登録されている全ての属性値である。デフォルト値は、クライアント端末101が印刷設定画面を表示するときに最初に設定される値である。なお、クラウドプリントサービス321は、クライアント端末101のOS313が問い合わせた属性に対する応答を記憶していない場合、OS313に対して応答しない。
【0074】
次に、OS313は、ユーザが選択したプリンタのデバイス識別情報やプリンタ名を基にクラウドプリンタドライバ311のインストールを開始する。
【0075】
そして、OS313は、OS313に同梱された基本的な能力情報をもったクラウドプリンタドライバ311のプリントキューを生成する(S3012)。デバイス能力情報とは、プリンタドライバの印刷設定能力情報を生成するために必要な定義情報、例えばPrintDeviceCapabilitesのようなXMLで記載されたものを指す。図6AはOS313に同梱された初期状態のデバイス能力情報の一例を示す図である。例えば、「Feature」は、用紙サイズを表す「PageMediaSize」が設定項目であることを示している。「Option」は、「PageMediaSize」に対応する選択肢を示す。デバイス能力情報の初期値では、図6Aのように、用紙サイズとして、「A4」と「LETTER」の2つの選択肢しかない。この情報はプリントキューの生成時にプリントキューと紐づけて記憶され、OS313により管理される。なお、初期状態のデバイス能力情報は、接続されているプリンタの情報にかかわらず固定のデバイス能力情報である。
【0076】
その後、OS313は、クラウドプリントサービス321から取得した能力情報を用いて、クラウドプリンタドライバ311を構成するデバイス能力情報を更新する。図6Bは、クラウドプリントサービス321から取得した能力情報を用いて更新されたデバイス能力情報の一例を示す図である。例えば、用紙サイズを表す「PageMediaSize」に対して、クラウドプリント対応プリンタ104が印刷可能な用紙サイズとして、「A4」と「LETTER」以外の「Option」が追記される。このように、クライアント端末101は、まず、クラウドプリンタドライバ311とOS313に同梱されているデバイス能力情報を対応づけてプリントキューに登録する。そして、その後プリントキューに紐づけられたデバイス能力情報をクラウドプリントサービス321から取得した能力情報で更新する。このとき、OS313はクラウドプリントサービス321から取得した能力情報のうち、業界標準の仕様で定義される属性値のみを用いてデバイス能力情報を更新する。そのため、例えば、能力情報の取得において、用紙種としてベンダー独自の属性値が取得されたとしても、ベンダー独自の属性値はデバイス能力情報には追加されない。
【0077】
このようにすることで、OS313が同梱するデバイス能力情報では設定することができない印刷設定値を設定することができるようになる。
【0078】
以上により、クラウドプリンタドライバ311のインストールが完了する。ここまでの処理を行うことで、クライアント端末101からクラウドプリントサービス321に生成されたクラウドプリント対応プリンタ104用のプリントキューに印刷データを送信することができるようになる。
【0079】
次に、OS313は、当該プリンタに紐づき、クラウドプリンタドライバを拡張するアプリケーションのインストール処理を開始する。
【0080】
まず、OS313は、デバイス識別情報に対して識別付加情報付与処理を行う。これは、オンラインサポートサーバ105に対して拡張セットアップ情報ファイル700を取得する際に必要な処理であり、通常のデバイス識別情報と異なる文字列であればよい。本実施形態の場合、他のデバイスのアプリケーションと区別するために、OS313が、デバイス識別情報にプリンタに対応するアプリケーションであることを示す識別付加情報(“PrinterApp_”)を付与する。なお、“PrinterApp_”は一例であり他の文字列や数字や記号でも良い。上記処理の結果、例えばクラウドプリント対応プリンタ104のデバイス識別情報がdevice001であった場合、識別付加情報付与処理後のデバイス識別情報はPrinterApp_device001となる。
【0081】
OS313は、オンラインサポートサービス351に対し、対象となる付加情報付きデバイス識別情報を含む拡張セットアップ情報ファイル700の探索要求を送信する(S3013)。S3013により、識別付加情報が付与された“PrinterApp_devoce001”がオンラインサポートサービス351に通知される。
【0082】
オンラインサポートサービス351には、図7に示す拡張セットアップ情報ファイルが記憶されている。図7は拡張セットアップ情報ファイル700の一例である。拡張セットアップ情報ファイルはクラウドプリント対応プリンタ104のベンダーが作成し、オンラインサポートサービス351に登録するファイルである。本実施形態において、拡張セットアップファイルはプリンタの機種ごとに用意されるものとする。
【0083】
拡張セットアップ情報ファイル700には、クラウドプリント対応プリンタ104に送られる印刷データの設定に使用される印刷設定拡張アプリを特定するためのアプリケーション識別子が記述されている。図7に書かれた拡張セットアップ情報ファイルのうち「PackageFamilyName」という項目が印刷設定拡張アプリケーションの識別情報である。一方で、「PrinterHardwareID」は、クラウドプリント対応プリンタ104の識別情報に識別付加情報を付加した文字列が記述されている。
【0084】
なお、オンラインサポートサービス351には、印刷設定拡張アプリケーションの識別情報が記述された拡張セットアップ情報ファイルに加えて、プリンタドライバの識別情報が記述された拡張セットアップ情報が格納されている。プリンタドライバの識別子が記述された拡張セットアップ情報ファイルは、「PackageFamilyName」にプリンタドライバの識別子が記述されている。また、拡張セットアップ情報ファイルの「PrinterHardwareId」は識別付加情報が書かれていないデバイス識別情報が記述されている。
【0085】
このように、オンラインサポートサービス351には、プリンタドライバの識別子を記述した拡張セットアップ情報ファイルと印刷設定拡張アプリケーションの識別子を記述した拡張セットアップ情報ファイルの両方が記憶されている。そのため、OS313が適宜必要な拡張セットアップ情報ファイルを取得するためにデバイス識別情報に識別付加情報の付加を行う。
【0086】
探索のリクエストを受信したオンラインサポートサービス351は、リクエストで指定される識別付加情報付きのデバイス識別情報と、ファイル内の「PackageFamilyName」が一致する拡張セットアップ情報ファイルを特定する。
【0087】
探索の結果、オンラインサポートサービス351が対象となるデバイス識別情報が含まれた拡張セットアップ情報ファイル700を格納している場合、OS313に拡張セットアップ情報ファイル700を返信する(S3014)。この時、拡張セットアップ情報ファイルの内容がOS313のレジストリに書き込まれる。
【0088】
次に、OS313は、オンラインサポートサービス351から取得した拡張セットアップ情報ファイルに書かれた拡張セットアップ情報をS3012で生成したプリントキューと紐づけてインストールする(S3015)。
【0089】
次に、OS313は、インストールした拡張セットアップ情報から、アプリケーションIDを抽出する(S3016)。アプリケーションIDとは、拡張セットアップ情報ファイルにおいて「PackageFamilyName」で規定される識別子である。ここまでが、オンラインサポートサービス351にクラウドプリント対応プリンタ104に対応する拡張セットアップファイルが格納されていた場合の処理である。
【0090】
なお、本実施形態では、インクジェットプリンタ104aに対応する拡張セットアップ情報ファイルに記載されたアプリケーションIDと、電子写真プリンタ104bに対応する拡張セットアップ情報ファイルに記載されたアプリケーションIDは同じである。すなわち、インクジェットプリンタ104aの情報に基づくプリントキュー生成時と電子写真プリンタ104bの情報に基づくプリントキュー生成時には同じ印刷設定拡張アプリケーションがインストールされるものとする。
【0091】
探索の結果、オンラインサポートサービス351が対象となるデバイス識別情報が含まれた拡張セットアップ情報ファイル700が検出されない場合がある。このとき、OS313は、クラウドプリンタドライバのインストールを完了し、アプリケーションのインストール処理を中止する(S3017)。OS313は、S3013の探索リクエストから所定の時間内に拡張セットアップファイルを受信できなかった場合や、オンラインサポートサービス351からエラー通知を受けた場合にS3017の処理に進む。
【0092】
なお、本実施形態では、プリンタの機種ごとに拡張セットアップ情報ファイルがオンラインサポートサービス351に登録されるとした。複数のプリンタのHWIDを併記した拡張セットアップ情報ファイルを一つ用意するとしてもよい。例えば、インクジェットプリンタ104aのHWIDと電子写真プリンタ104bのHWIDが併記された拡張セットアップ情報ファイルをオンラインサポートサービス351に登録する。このようにすることで、インクジェットプリンタ104a、電子写真プリンタ104bのいずれのプリントキューを生成する際も同じ印刷設定拡張アプリをインストールすることができる。
【0093】
S3018以降では拡張セットアップファイルが取得でき、かつ、S3916でアプリケーションIDが抽出できた場合の処理について説明する。
【0094】
OS313は、アプリケーション管理サービス331に対して、抽出したアプリケーションIDが一致するアプリケーションの探索を要求する(S3018)。アプリケーション管理サービス331は、クライアント端末101で動作するアプリケーションと当該アプリケーションの識別子であるアプリケーションIDを対応づけて記憶する。アプリケーションおよびアプリケーションIDはクラウドプリント対応プリンタ104を提供するベンダーにより、アプリケーション管理サービス331に登録される。
【0095】
アプリケーション管理サービス331が、要求されたアプリケーションIDと一致する印刷設定拡張アプリを保持している場合、アプリケーション管理サービス331は、印刷設定拡張アプリ312をクライアント端末101に返信する(S3019)。ここで、返信される印刷設定拡張アプリ312は、送信したアプリケーションIDと同じIDが付与されたアプリケーションである。
【0096】
OS313は、取得した印刷設定拡張アプリ312を、クライアント側のプリントキューと関連付けてインストールする(S3020)。OS313は、レジストリにプリントキューの情報として、アプリケーションIDを保存する。また、印刷設定拡張アプリ312は、OS313に対して当該アプリケーションと紐づけられたプリントキューが印刷設定画面で設定されたタイミングでイベント通知をする様、OS313に設定する。インストールされた印刷設定拡張アプリ312は、クライアント端末101の電源がオンになり、OS313が起動したのちに、起動され、起動後はバックグラウンドタスクとして動作する。
【0097】
アプリケーション管理サービス331が要求されたアプリケーションIDと一致する印刷設定拡張アプリを保持していない場合、OS313はアプリケーションのインストール処理を中止する(S3021)。この場合、生成されたプリントキューとクラウドプリンタドライバ311が紐づけてインストールされ、印刷設定拡張アプリ312はプリントキューと紐づけられずに処理が終了する。
【0098】
なお、上記の説明では、クラウドプリント対応プリンタ104のデバイス識別情報に所定の文字列を付加して拡張セットアップファイルの探索を行った。プリンタドライバのインストール用のファイルを区別できる場合には所定の文字列を付加せず探索を行う構成であってもよい。
【0099】
次に図8を用いて、本実施形態におけるユーザの手順ならびに各ソフトウェアおよびプリントサービス間のシーケンスの一例を説明する。
【0100】
ドキュメント生成アプリ315は、文書データの作成アプリケーションやプレゼンテーション資料の作成アプリケーション、写真や画像データの表示アプリケーション等のアプリケーションである。
【0101】
ドキュメント生成アプリ315は、プリントキューの選択をおこなう印刷設定画面(図11)を印刷設定初期画面として表示する。本実施形態では、ドキュメント生成アプリ315が印刷設定初期画面を表示するが、同様の画面をOS313が表示してもよい。印刷設定初期画面には、プリントキューを選択するためのオブジェクト1101や、様々な印刷設定を行うためのオブジェクト1102、印刷プレビュー画像1103が表示される。OS313はデフォルトプリンタとして設定されているプリンタに紐づくプリントキューを選択する(S801)。
【0102】
本実施形態では、クラウドプリント対応プリンタ104がデフォルトプリンタとして選択されていたとする。なお、S801以降の処理はユーザがオブジェクト1101を操作して使用するプリンタを変更した場合にも実行される。
【0103】
次に、OS313は、クラウドプリントサービス321のクラウドプリント対応プリンタ104に対応したクラウド上のキューに対してクラウドプリント対応プリンタ104の能力情報を問い合わせる(S802)。いずれの設定項目について能力情報を問い合わせるかはOS313の仕様にてあらかじめ決められている。そのため、このタイミングで取得される能力情報は図3のS3011にて取得したものと同様のものである。当該問い合わせは、例えば、Get-print-Attributesのような、IPPにより定義される標準プロトコルのコマンドを用いてクラウドプリント対応プリンタ104に対して行われる。Get-print-Attributesを用いる場合はOS313によって決められている能力情報をリスト形式で問い合わせする。
【0104】
クラウドプリントサービス321は、OS313に対して、Get-print-Attributesで送られてきた能力情報のリストからクラウドプリントサービス321はクラウドプリント対応プリンタ104の能力情報を返答する(S803)。例えば、Get-print-Attributes(IPP)でメディアサイズの属性を指定されたとする。クラウドプリントサービス321はメディアサイズの属性を保有していた場合その属性に紐づく値(A4,B5,Letter等)を返答する。クラウドプリントサービス321はGet-print-Attributesで指定された属性がクラウドプリントサービス321のクラウドプリント対応プリンタ104のキューに存在しない場合、紐づく値のレスポンスは行わない。S803で取得される能力情報はあくまでもOS313が接続されているプリンタの種類や能力にかかわらず問い合わせがなされる属性の能力情報である。
【0105】
OS313は、クラウドプリントサービス321から取得した能力情報を用いて、デバイス能力情報を更新する。OS313は図3のS3012にて生成したデバイス能力情報に対して図8のS803にて取得した能力情報を追加する(S804)。デバイス能力情報に更新がある場合、S803を行うことでクライアント端末101が管理するデバイス能力情報を更新することができる。なお、S804におけるデバイス能力情報の更新では、業界標準の仕様により定義される属性値のみについて、デバイス能力情報が更新される。
【0106】
次に、OS313は、印刷設定拡張アプリ312に対して、イベントとデバイス能力情報の編集に使われるAPIを通知する(S805)。本イベントの通知タイミングは、印刷設定拡張アプリ312がクライアント端末101のOS313にインストールされるときに登録される。
【0107】
印刷設定拡張アプリ312は、本イベントを受信すると、クラウドプリントサービス321に能力情報の取得要求を行う。ここで行われる能力情報の取得は、プリンタベンダーが独自で定義する設定項目や属性値をデバイス能力情報に書き込むための能力情報の取得である。
【0108】
印刷設定拡張アプリ312は、イベントをOS313から受信すると、クラウドプリントサービス321に、クラウドプリント対応プリンタ104の能力情報を問い合わせる(S806)。このとき印刷設定拡張アプリ312は、プリンタベンダー独自の設定項目や、プリンタベンダー固有の属性値を含む設定項目の能力情報をクラウドプリントサービス321に問い合わせる。問い合わせは図8のS802と同様、Get-print-Attributesを用いて行い、項目名として問い合わせたい設定項目の項目名を指定することで能力情報が取得される。OS313による能力情報取得で取得済みの設定項目についても能力情報の取得を行うとしてもよい。また、S806の能力情報取得において、印刷設定拡張アプリ312は、選択されたプリントキューに紐づくプリンタがインク機か電子写真機かを判定するための情報を取得する。
【0109】
クラウドプリントサービス321は、印刷設定拡張アプリ312から能力情報の問い合わせがあると、印刷設定拡張アプリ312に応答する(S807)。ここでの応答方法は、先に説明した図8のS3011と同様である。本実施例では、S807において、クラウドプリントサービス321は、クラウドプリントサービス321が記憶するクラウドプリント対応プリンタ104の能力情報を応答する。なお、S806の要求を受けて、クラウドプリントサービス321がクラウドプリント対応プリンタ104から能力情報を再取得し、クライアント端末101に応答するとしてもよい。
【0110】
印刷設定拡張アプリ312は、クラウドプリント対応プリンタ104から能力情報を取得すると、構成情報オブジェクトを介して、OS313が管理するデバイス能力情報を編集する。構成情報オブジェクトとは、デバイス能力情報を編集するために必要なデータ群の集合である。印刷設定拡張アプリ312は、OS313が持つデバイス能力情報を直接編集することができない。そのため、この構成情報オブジェクトを利用して、OS313が持つデバイス能力情報を変更する。図8のS807で取得した「針無しとじ」や「ジョブをプリンタに保存」等の能力情報をデバイス能力情報に変換し、構成情報オブジェクトに追加することでデバイス能力情報を編集する(S808)。S808までの処理を行うことで、デバイス能力情報に、OS313の問い合わせで取得された標準的な設定項目に関する能力情報に加え、プリンタベンダー独自の設定項目、属性値が記憶される。また、S808を行うことで、デバイス能力情報にプリントキューに紐づくプリンタがインク機であるか電子写真機であるかが記憶される。
【0111】
次に、印刷設定拡張アプリ312は、編集したデバイス能力情報をOS313に渡す(S809)。OS313は印刷設定拡張アプリ312から取得したデバイス能力情報をプリントキューと紐づけて記憶する。
【0112】
OS313は、デバイス能力情報を更新すると、印刷設定拡張アプリ312のUIを表示するトリガーとなるオブジェクトが有効となる(S810)。印刷設定拡張アプリ312のUIを表示するトリガーとなるオブジェクトとは、たとえば、図11のオブジェクト1104である。S810の処理が完了するまで、オブジェクト1104はグレーアウトされており、ユーザがクリックしても印刷設定拡張アプリ312の印刷設定画面は表示されない。S810の処理が完了すると、オブジェクト1104のグレーアウトが解除され、ユーザはオブジェクト1104を選択することができるようになる。
【0113】
ユーザがオブジェクト1104を選択すると、印刷設定拡張アプリ312が起動し、図10のような印刷設定画面を表示する(S811)。この印刷設定画面は利用するドキュメント生成アプリ315の種類に依存しない。
【0114】
なお、選択されているプリントキューに印刷設定拡張アプリ312が紐づいていない場合は図9(a)のようにOS313により提供される標準印刷設定画面が表示される。標準印刷画面では詳細設定ボタン901を押すことで図9(b)の詳細印刷画面を表示し、図9(a)で表示しきれない設定項目を設定するための詳細印刷画面を表示する。なお、図9(b)に示す詳細印刷画面は、スクロールバーを操作することでスクロールが可能であり、図9(c)(d)のように、OS313でサポートされる複数の設定項目について印刷設定を行うことができる。なお、OKボタン902を選択することで、設定されている印刷設定を保存し、図9(a)に戻ることができる。図9(a)の適用ボタン903は印刷設定を保存するボタンであり、キャンセルボタン904は印刷設定を保存せずに図11の画面に戻るためのボタンである。OKボタン905を選択すると印刷設定を保存し、図11の画面に戻る。なお、図9(a)~(d)では、プリンタベンダーが独自に定義した印刷設定項目、属性値を設定することはできない。
【0115】
デバイス能力情報に「フチなし印刷」とその属性値として「ON/OFF」が記憶されている場合、図9(c)のフチなし印刷設定906が表示される。プリントキューに印刷設定拡張アプリが紐づけられていない場合、プリントキューに対応するプリンタがインクジェット機か電子写真機かにかかわらず、「フチなし印刷」という設定項目として表示される。
【0116】
印刷設定拡張アプリ312に話を戻す。印刷設定拡張アプリ312は、OS313がデバイス能力情報から生成した印刷設定能力情報を基に生成した印刷設定情報を受け取り、図10(a)に示す拡張印刷設定画面を表示する。拡張印刷設定画面は図10(a)~(c)に示すようにスクロールバーを操作することでスクロールすることができ、スクロールに応じて様々な設定項目が表示される。
【0117】
例えば、図10(a)の設定項目1001の出力用紙サイズは図6(b)のpsk:PageMediaSizeから生成された印刷設定情報である。また出力用紙サイズの選択肢であるA4は印刷設定拡張アプリ312が印刷設定情報psk:IOSA4という情報を基に生成し、表示を行っている。このように、印刷設定拡張アプリ312はデバイス能力情報を設定値に変換して拡張印刷設定画面を表示する。拡張印刷設定画面は、プリンタベンダー固有の設定項目に関する能力情報を含むデバイス能力情報から生成されるため、OS313が提供する図9に示す画面では設定することが出来ない設定項目や設定値を設定することが可能である。
【0118】
なお、図10(c)は、デバイス能力情報にインク機を示す情報と、フチなし印刷の能力情報が記憶されている場合に表示される拡張印刷設定画面である。プリントキューに紐づけられたプリンタがインクジェットプリンタ104aの場合、印刷設定拡張アプリは、「フチなし印刷」の能力情報に基づき、「フチなし印刷」の有効無効を設定するためのオブジェクト1003を表示する。一方で、図10(d)は、デバイス能力情報に電子写真機であることを示す情報と、フチなし印刷の能力情報が記憶されている場合に印刷設定拡張アプリが表示する拡張印刷設定画面である。図10(d)では、フチなし印刷の能力情報は「印刷領域を広げて印刷」という機能を有効無効に設定するオブジェクト1004に変換され表示される。図10(d)は図10(c)に代えて表示される。このように、印刷設定拡張アプリ312は、プリントキューに紐づけられたプリンタがインク機か電子写真機かに応じて、デバイス能力情報としては一つの「フチなし印刷」の機能名を変えて表示する。これは、以下の様な理由によるものである。
【0119】
インクジェットプリンタ104aにおいては、図14(a)の1401ように用紙の端まで画像を印刷することが可能である。図14(a)は用紙1401に対して用紙と同じ大きさの画像が印刷されていることを示している。そのため、名前の通り画像に余白によるフチをつけることなく印刷を行うことができる。なお、「フチなし印刷」が無効に設定されている場合、1404のように用紙の端から一定の余白部分を設けた内側が印字領域となる。
【0120】
一方で、電子写真プリンタ104bにおいては、フチまでトナーを載せてしまうと、用紙が搬送用のベルトからはがれにくくなってしまうため、画像の周囲にトナーを載せない余白部分を設けている。そのため、インクジェットプリンタのように余白部分のない出力とはせず、図14(b)の1403ように余白を設けている。図14(b)は、電子写真プリンタ104bにおいける出力物の例である。用紙1402に対して、印刷領域は1403となっている。なお、「印刷領域を拡大して印刷」が無効に設定されている場合は、用紙1405に対して印刷領域が1406となる。印刷領域1406は印刷領域1403よりも小さな領域である。
【0121】
電子写真プリンタの印刷設定画面においてフチなし印刷という設定項目名で表示をしてしまうと、ユーザがインクジェット機のようにフチのない出力が得られると想起してしまうことが考えられる。そのため、電子写真プリンタ用の拡張印刷設定画面では「印刷領域を拡大して印刷」と設定項目名称を変更することで、ユーザが出力物をイメージしやすくなる。
【0122】
ユーザが印刷設定拡張アプリ312の表示する図10の画面において、オブジェクト1002を選択する。オブジェクト1002は印刷設定を確定するためのオブジェクトである。印刷設定拡張アプリ312は、ユーザによって任意に印刷設定を変更する機能を提供し、変更した場合はその設定値を保存する。例えば、ユーザがUI上でメディアサイズをA4からLetterへと変更したとする。その場合、印刷設定拡張アプリ312が保有している印刷設定情報がA4からLetterへと変わる。オブジェクト1002が選択されると、印刷設定拡張アプリ312は、印刷設定画面のコントロール内で処理した印刷設定情報を印刷設定画面から取得し、その印刷設定情報をOS313に提供する。印刷設定拡張アプリ312は、印刷設定情報をOS313に提供すると、図10に示す印刷設定画面の表示を終了する(S812)。S812の処理が完了すると、図11に示す印刷設定画面が表示される。この時、表示される印刷設定画面は、印刷設定拡張アプリ312で設定された設定値が設定された画面である。
【0123】
ユーザが図11に示す画面において、オブジェクト1105を選択するとOS313に印刷指示が入力される。OS313は、ドキュメント生成アプリ315を介して入力された指示に基づき印刷に係る処理を実行する(S813)。
【0124】
OS313は印刷の実行が指示されると、中間データを生成し、印刷設定拡張アプリ312に生成した中間データと印刷設定画面部で編集した印刷設定情報を渡す(S814)。中間データとは、PDLのような印刷データに変換する前に生成されるデータであり、例えばXPSデータがこれに当たる。印刷設定情報がこの中間データに包含されてもよい。
【0125】
印刷設定拡張アプリ312は、OS313から中間データと印刷設定情報を受け取ると中間データを基に印刷データを、印刷設定情報を基に印刷能力情報を生成する(S815)。印刷データとは例えば、PDFファイルやPWG-Rasterのような形式の印刷データ、印刷能力情報とは具体的には印刷設定情報をIPPで定義される属性値で記述した情報である。
【0126】
印刷設定拡張アプリ312は印刷データを生成後、生成した印刷データと印刷能力情報をOS313のプリントキューに渡す(S816)。
【0127】
S814~S816は、プリントキューに紐づく印刷設定拡張アプリ312がクライアント端末101にインストールされている場合の処理である。クライアント端末101に印刷設定拡張アプリ312がインストールされていない場合、クライアント端末101はS813ののち、S814~S816に記載の処理を行うことなく、S817で後述する処理を実行する。OS313はXPSデータを生成し、ページレイアウトを編集し、XPSデータをPDFやPWG-Raster等の所定のフォーマットに変換し、印刷データと印刷能力情報を生成する(S817)。
【0128】
OS313は印刷設定拡張アプリ312から渡された印刷データと印刷能力情報またはOS313が生成した印刷データと印刷能力情報を、プリントキューを介して、クラウドプリントサービス321に送信する(S818)。
【0129】
クラウドプリントサービス321はクライアント端末101から渡された印刷データと印刷能力情報をクラウドプリント対応プリンタ104に送信する(S819)。なお、本実施例では、クラウドプリントサービス321が印刷データと印刷能力情報を受信すると、受信した印刷データと能力情報をクラウドプリント対応プリンタ104に送信するとした。クラウドプリント対応プリンタ104が定期的にクラウドプリントサービス321に問い合わせを行い、未印刷の印刷データと当該印刷データに対応する印刷能力情報の取得を行うとしてもよい。
【0130】
以上のようにすることで、印刷設定拡張アプリ312を用いて行った印刷設定を反映した印刷データをクラウドプリントサービス321経由で、クラウドプリント対応プリンタ104に送信することができる。
【0131】
図12は、クライアント端末101に印刷設定拡張アプリをインストールするまでのOS313の処理を示すフローチャートである。本フローチャートの処理に進むためのプログラムは、クライアント端末101の記憶部214に記憶されている。CPU212が当該プログラムを実行することで処理が実現される。
【0132】
CPU212は、図4に示す画面を表示し、プリンタの探索指示を受け付ける(S1201)。ユーザが図4のオブジェクト401を選択すると、CPU212はプリンタ探索指示を受け付ける。
【0133】
CPU212は、クラウドプリントサービス321のアクセストークンを記憶しているか否かを判定する(S1202)。クライアント端末101は、クライアント端末101にログインするユーザ毎にクラウドプリントサービス321から情報を取得するためのアクセストークンを記憶する。CPU212は、クライアント端末101にログインしているユーザに紐づけられたアクセストークンが記憶されているか否かを判定する。アクセストークンが記憶されている場合、CPU212は後述するS1206へと処理を進める。アクセストークンが記憶されていない場合、CPU212はクラウドプリントサービス321に認証要求を送信する(S1203)。そして、CPU212は、クラウドプリントサービス321から認証に必要となる情報を入力する画面を表示するために使われるURLを受信する。
【0134】
CPU212は、受信したURLにアクセスし、認証に使われる情報を入力する画面を表示する(S1204)。認証に使われる情報とは、たとえば、ユーザID(ユーザ識別子)やパスワードである。
【0135】
CPU212は、入力された認証に使われる情報をクラウドプリントサービス321に送信し、アクセストークンを取得する(S1205)。なお、クラウドプリントサービス321への認証が失敗した場合、CPU212はアクセストークンを取得することが出来ず、図12に示す処理を終了する。
【0136】
CPU212は、アクセストークンを利用して、クラウドプリントサービス321に登録されるプリンタの情報の取得要求をクラウドプリントサービス321に送信する(S1206)。クラウドプリントサービス321は、受信したアクセストークンで識別されるユーザが利用することができるプリンタの情報を選択し、クライアント端末101に送信する。ここでは、クライアント端末101から受信したアクセストークンにより識別されるユーザが利用することができるプリンタと紐づけて登録されているプリンタ名と当該プリンタのHWIDがクライアント端末101に送信される。
【0137】
CPU212は、クラウドプリントサービス321から取得したプリンタの情報をクライアント端末101の表示部に表示する(S1207)。S1207による表示を行うことで、図4の領域402にプリンタの情報がリストで表示される。
【0138】
CPU212は、プリンタの情報が選択されたか否かを判定する(S1208)。CPU212はプリンタの情報が選択されるまでは、S1208の処理を繰り返し行う。プリンタの情報が選択された場合、CPU212はS1209の処理に進む。
【0139】
CPU212は選択されたプリンタの能力情報の取得要求をクラウドプリントサービス321に送信する(S1209)。ここでは、OS313にあらかじめ登録された設定項目について、クラウドプリントサービス321に問いあわせをする。
【0140】
CPU212は、クラウドプリントサービス321から取得した情報に基づき、クライアント端末101が記憶するプリンタ能力情報を更新し、プリントキューを生成する。
【0141】
CPU212は、オンラインサポートサービス351に拡張セットアップ情報ファイルの取得要求を送信する(S1211)。この取得要求にはプリンタのHWIDが含まれている。
【0142】
CPU212は、拡張セットアップ情報ファイルの取得に成功したか否かを判定する(S1212)。拡張セットアップ情報ファイルの取得に成功した場合、CPU212はS1213へと処理を進める。拡張セットアップ情報ファイルの取得に失敗した場合、CPU212は図12の処理を終了する。
【0143】
CPU212は、取得した拡張セットアップ情報ファイルに記述された印刷設定拡張アプリの取得要求をアプリケーション管理サービス331に送信する(S1213)。CPU212は、拡張セットアップ情報ファイルから、印刷設定拡張アプリのアプリ識別子を取得し、取得したアプリ識別子を指定して、当該印刷設定拡張アプリの取得要求をアプリケーション管理サービス331に送信する。
【0144】
CPU212は、印刷設定拡張アプリの取得に成功したか否かを判定する(S1214)。印刷設定拡張アプリの取得に失敗した場合、CPU212は図12の処理を終了する。印刷設定拡張アプリの取得に成功した場合、CPU212はS1215の処理に進む。
【0145】
CPU212は、取得した印刷設定拡張アプリをインストールし、印刷設定拡張アプリのアプリ識別子をプリントキューに紐づけて登録する。さらに、OS313に通知のタイミングを示すイベント登録を行う。ここでは、ドキュメントアプリが表示する印刷設定画面で印刷設定拡張アプリと紐づけられたプリントキューが選択された場合に、印刷設定拡張アプリにイベントを通知する様、登録を行う。
【0146】
以上が、印刷設定拡張アプリをクライアント端末101に登録するまでの処理である。
【0147】
次に図13を用いて、インストールされた印刷設定拡張アプリが機種によって印刷設定画面の表示文言を切り替え、ユーザによって決められた印刷設定を行い、印刷データを生成する処理について説明する。図13の処理を実行するためのプログラムは印刷設定拡張アプリ312が記憶しており、当該プログラムはクライアント端末101のメモリ213に展開され、CPU212により実行される。
【0148】
CPU212は、イベント通知を受信したか否かを判定する(S1301)。イベント通知とはOS313により発行される通知であり、図12のS1215で登録したタイミングであることを印刷設定拡張アプリ312に通知するものである。CPU212は、イベント通知を受信していない場合、S1301の処理を繰り返し行う。イベント通知を受信した場合、CPU212はS1302の処理に進む。
【0149】
CPU212は、選択されているプリントキューに対応するプリンタの能力情報の取得要求をクラウドプリントサービス321に送信する(S1302)。CPU212は、印刷設定拡張アプリ312に設定されている設定項目について、能力情報の取得要求をクラウドプリントサービス321に送信する。ここでは、図12のS1206では取得しなかった設定項目についても能力情報を取得する。
【0150】
CPU212は、能力情報の取得が完了したか否かを判定する(S1303)。能力情報の取得が完了していない場合、CPU212はS1303の処理を繰り返し行う。能力情報の取得が完了した場合、CPU212はS1304の処理に進む。
【0151】
CPU212は取得した能力情報でデバイス能力情報を更新する(S1304)。S1304の処理を行うことで、OS313が取得しない設定項目についてもその能力情報がクライアント端末101に記憶される。なお、この工程において、選択されたプリントキューに紐づけされているプリンタがインクジェットプリンタであるか、電子写真プリンタであるかを示す情報を取得する。
【0152】
CPU212は、更新後のデバイス能力情報が記憶されている領域からデバイス能力情報を取得する(S1305)。
【0153】
CPU212は、印刷設定拡張アプリによる印刷設定画面の表示が指示を受け付けた否かを判定する(S1306)。印刷設定拡張アプリによる印刷設定画面の表示の指示とは、たとえば、図11のオブジェクト1104の選択等のユーザ操作に基づき発行される指示である。印刷設定画面の表示指示を受け付けていない場合、CPU212はS1313へと処理を進める。印刷設定画面の表示指示を受け付けた場合、CPU212はS1307の処理に進む。
【0154】
次に、所定の属性を参照し、接続されているプリンタがインクジェットプリンタか電子写真プリンタかに応じて印刷設定画面上での表示を切り替える処理についてS1307~S1310で説明する。
【0155】
CPU212は、選択されているプリンタ情報に対応するデバイス能力情報にインクジェットプリンタと電子写真プリンタで異なる表示を行う属性があるかを判定する(S1306)。本実施形態においては、図6(a)のデバイス能力情報にあるpsk:PageBorderlessがインクジェットプリンタと電子写真プリンタで異なる表示を行う属性であるとする。PageBorderlessは図5の「フチなし印刷」に相当する文字列である。
【0156】
本実施形態において、psk:PageBorderlessは、インクジェットプリンタが選択されている状態では「フチなし印刷」として表示される。一方で、電子写真プリンタが選択されている状態では「印字領域を広げて印刷」として表示される。
【0157】
先にも説明しているように、これらの機能は受け取ったプリンタによって、成果物が異なる。まず、アプリがpsk:PageBorderlessの値を参照する。psk:PageBorderlessがONの場合は画像をそのままジョブデータとし、OFFの場合は端から余白を空けてジョブデータを作る。その後、印刷設定拡張アプリはプリンタにジョブを送信する。ジョブを受け取ったプリンタがインクジェットプリンタの場合はそのままフチが無いように印刷する。ジョブを受け取ったプリンタが電子写真プリンタの場合は印字領域の限界値で印刷がなされる。
【0158】
そのため、インクジェットプリンタでは「フチなし印刷」として利用され、電子写真プリンタでは「印字領域を広げて印刷」として利用される。
【0159】
「フチなし印刷」は図14(a)のように写真のように紙全体に画像を転写したい場合の機能として利用される。一方「印字領域を広げて印刷」は図14(b)のように印字保証が無くても印字領域を確保したいときの機能として利用される。よってそれぞれで利用目的が異なるため、「印字領域を広げて印刷」の例である図14(b)と、「フチなし印刷」の例である図14(a)は別の機能として利用される。
【0160】
ここで話をフローチャートに戻す。S1307において、S1305で取得したデバイス能力情報にpsk:PageBorderlessが含まれていると判定した場合、CPU212はS1308へと処理を進める。一方で、S1305で取得したデバイス能力情報にpsk:PageBorderlessが含まれていないと判定した場合、CPU212はS1311へと処理を進める。
【0161】
CPU212は、図11の1101において選択されているプリンタがインクジェットプリンタであるか否かを判定する(S1308)。CPU212は図11のオブジェクト1101で選択されているプリンタのデバイス能力情報を参照し、当該プリンタがインクジェットプリンタであることを示す属性が記憶されているか否かを判定する。
【0162】
S1308において、選択されているプリンタがインクジェットプリンタであると判定された場合、CPU212はS1310に記載の処理を実行する。一方で選択されているプリンタがインクジェットプリンタでないと判定された場合、CPU212はS1309に記載の処理を実行する。なお、本実施形態ではS1308において、選択されているプリンタがインクジェットプリンタであるかを判定したが、選択されているプリンタが電子写真プリンタであるかを判定してもよい。
【0163】
インクジェットプリンタ、電子写真プリンタの特定にはMarker-typesやPrinter-supplyのようなクラウドプリント対応プリンタ104の種類を識別可能な設定項目、属性値を用いる。例えば、能力情報としてPrinter-supplyの項目が含まれず、Marker-typesの項目からInk-Cartridgeが取得された場合、インクジェットプリンタと判断する。一方で、能力情報にInk-Cartridgeの項目が含まれず、Printer-supplyの項目からTonerが値として取得された場合は電子写真プリンタとして判断する。
【0164】
CPU212は、デバイス能力情報に含まれるpsk:PageBorderlessに対応する設定項目の名称となる文字列として「フチなし印刷」を取得し、図10(c)に示す拡張印刷設定画面の画面情報を生成する(S1310)。
【0165】
一方で、選択されているプリンタが電子写真プリンタの場合、CPU212は、デバイス能力情報に含まれるpsk:PageBorderlessに対応する設定項目の名称となる文字列として「印字領域を広げて印刷」を取得する。CPU212は、図10(d)に示す拡張印刷設定画面の画面情報を生成する(S1309)。
【0166】
CPU212は、S1309、S1310にて生成した拡張印刷設定画面の画面情報に基づき、拡張印刷設定画面を表示する(S1311)。そして、表示した拡張印刷設定画面を介して設定値を選択するユーザ操作を受け付ける。
【0167】
CPU212は、印刷設定拡張アプリによる印刷設定画面の表示を終了する指示がなされていたか否かを判定する(S1312)。S1312において、CPU212は図10(a)~(d)に示すオブジェクト1002が選択されたか否かを判定する。
【0168】
拡張印刷設定画面の表示を終了する指示がなされていない場合、CPU212はS1312の処理を繰り返し行う。印刷設定画面の表示を終了する指示がなされた場合、CPU212はS1313へと処理を進める。
【0169】
CPU212は、印刷設定拡張アプリが表示する拡張印刷設定画面において選択されている設定値で印刷設定情報を編集する(S1313)。印刷設定情報には、IPPで定義された属性情報で設定値が記憶される。そのため、拡張印刷設定画面における表示が「フチなし印刷」であっても「印字領域を広げて印刷」であっても、印刷設定情報には、psk:PageBorderlessが有効であると記述される。そして、CPU212は印刷設定拡張アプリによる印刷設定画面の表示を終了する。
【0170】
CPU212は、印刷設定拡張アプリ312がOS313から中間データを受信したか否かを判定する(S1314)。ユーザが図11に示す印刷設定画面においてオブジェクト1105を選択すると、中間データがOS313から印刷設定拡張アプリ312に渡される。CPU212は、印刷設定拡張アプリ312が中間データを受信したか否かを判定する。
【0171】
中間データを受信していない場合、CPU212はS1306に処理を戻す。中間データを受信している場合S1315へと処理を進める。
【0172】
CPU212は、印刷設定拡張アプリ312が受信した中間データに基づく印刷データと印刷能力情報の生成を行う(S1316)。CPU212は中間データと印刷設定情報に基づき、所定のフォーマットの画像データを生成する。所定のフォーマットは例えば、電子写真プリンタであればPDFを生成し、インクジェットプリンタではPWG-Rasterを生成する。また、CPU212は印刷設定情報に基づき、IPPで定義された属性値で記述される印刷能力情報を生成する。印刷能力情報とは、印刷部数やNin1等のレイアウト情報である。印刷能力情報には、IPPで定義された属性値に加えて、自由に記述することもできる。そのため、プリンタベンダーが独自に定義した設定項目、属性値についても印刷能力情報に記述をすることができる。
【0173】
CPU212は、印刷設定情報においてPageBorderless の属性が有効に設定されているか否かを判定する(S1316)。印刷設定情報においてPageBorderlessの属性が有効に設定されている場合、CPU212はS1317に記載の処理を実行する。一方で、印刷設定情報においてPageBorderlessの属性が無効に設定されている場合、CPU212はS1318に記載の処理を実行する。
【0174】
CPU212は、印刷能力情報における上下左右のmarginを0に設定する(S1317)。marginとは送信する印刷データを印刷する際の画像の周囲の余白に関する設定を示すIPPで定義された属性である。例えば、図14(b)の1407の長さを指定するための属性である。印刷設定画面において「フチなし印刷」、「印字領域を広げて印刷」のいずれと表示した場合も、印刷能力情報では同じmarginという属性が0に設定される。
【0175】
一方、PageBorderlessが無効に設定されている場合、CPU212は印刷能力情報のmarginを500に設定する。marginが500とは、送信する画像データにおいて、用紙の上下左右の辺から50mmは印字しないことを示す。なお、本実施形態ではmarginを500としているが、0よりも大きな所定の数字であればよい。また、上下左右のmarginをユーザやアプリケーションが設定できるとしてもよい。
【0176】
CPU212は、生成した印刷データである所定のフォーマットの画像データと印刷能力情報をOS313へと提供する(S1319)。OS313はプリントキューを介して受け取った印刷データをクラウドプリントサービス321へと送信する。
【0177】
以上が、印刷設定拡張アプリ312を用いて印刷設定を行い、印刷データと印刷能力情報を生成するときの処理を示すフローチャートである。
【0178】
S1317においてmarginが0に設定された印刷データを受信したインクジェットプリンタ104aは用紙の各辺まで印字を行うため、画像の周囲に余白領域のない図14(a)のような印刷物を出力する。
【0179】
一方で、電子写真プリンタ104bは用紙の端までトナーを載せてしまうと用紙を搬送用のベルトからはがすことが難しくなってしまう。そのため、画像の周囲に余白を設けることで用紙がベルトから離れやすくしている。電子写真プリンタ104bは、印刷能力情報のmarginが0であっても、プリンタにおいてmarginを追加し、図14(b)のように画像の周囲に印刷を行わない領域を設ける。この時にプリンタ側で追加されるmarginはS1318で追加されるmarginよりも小さな値である。このようにすることで、「印字領域を広げて印刷」が無効に設定された場合よりも広い範囲に印刷を行うことができる。
【0180】
上記の処理を行うことにより、汎用のクラウドプリンタドライバやローカルプリンタドライバと紐づくプリントキューを選択して印刷データを送信する場合に、プリンタベンダー独自の設定項目の設定値を設定することができる。
【0181】
<実施形態2>
実施形態1では、クラウドプリントサービスを経由して、インクジェットプリンタ、電子写真プリンタと印刷データのやり取りを行うとして説明した。クライアント端末101は、クライアント端末101にインストールされているローカルプリンタドライバ314とインクジェットプリンタ104aを対応づけて登録することができる。このようにすることで、クライアント端末101からクラウドプリントサービス321を経由することなく、インクジェットプリンタ104aに印刷データを送信することができる。
【0182】
実施形態2では、電子写真プリンタ104bへはクラウドプリントサービス321経由で印刷データが送信され、インクジェットプリンタ104aへはクラウドプリントサービス321を経由することなく印刷データが送信される場合について説明する。
【0183】
実施形態2では、電子写真プリンタ104bとインクジェットプリンタ104aが1つの印刷設定拡張アプリ312を使用する場合を例に説明する。実施形態2においてインクジェットプリンタ104a、電子写真プリンタ104bを区別せず説明する場合は、プリンタ104と記載する。
【0184】
はじめに、クラウドプリントサービス321を介さずにプリンタの登録を行う方法について説明する。
【0185】
クライアント端末101とインクジェットプリンタ104aを直接接続するためには、クライアント端末101とインクジェットプリンタ104aを同一のネットワークに参加させる、またはUSBケーブルやLANケーブル等で直接接続することが必要となる。
【0186】
クライアント端末101とインクジェットプリンタ104aが同一のネットワークに接続されている状態で、クライアント端末101に図4に示す画面を表示させる。オブジェクト401を選択すると、クライアント端末101が接続可能なプリンタを探索する。これに対してインクジェットプリンタ104aが応答する。探索結果として表示されるインクジェットプリンタ104aをユーザが選択することで、インクジェットプリンタ104aの情報とローカルプリンタドライバ314の情報が紐づけされる。このときに、インクジェットプリンタ104aのHWIDまたはCIDに基づき特定される印刷設定拡張アプリがインクジェットプリンタ104aの情報と対応づけられてクライアント端末101に記憶される。なお、実施形態2では、インクジェットプリンタ104aと電子写真プリンタ104bが1つの印刷設定拡張アプリを使用する。
【0187】
次に利用する印刷設定拡張アプリ312は同じであるが電子写真プリンタはクラウド経由でジョブを送信し印刷し、インクジェットプリンタはネットワークを経由して、直接ジョブを送信して印刷する場合の実施形態について図15図16を用いて説明する。
【0188】
クラウドを用いて印刷する場合は前記実施形態にて図8を用いて記述してあるため、割愛とする。プリンタに直接ジョブを送信する系について、図15を用いて説明する。
【0189】
ドキュメント生成アプリ315は、文書データの作成アプリケーションやプレゼンテーション資料の作成アプリケーション、写真や画像データの表示アプリケーション等のアプリケーションである。
【0190】
ドキュメント生成アプリ315は、プリントキューの選択をおこなう印刷設定画面(図11)を印刷設定初期画面として表示する。本実施形態では、ドキュメント生成アプリ315が印刷設定初期画面を表示するが、同様の画面をOS313が表示してもよい。印刷設定初期画面には、プリントキューを選択するためのオブジェクト1101や、様々な印刷設定を行うためのオブジェクト1102、印刷プレビュー画像1103が表示される。
【0191】
OS313はデフォルトプリンタとして設定されているプリンタに紐づくプリントキューを選択する(S1501)。本実施例では、クラウド接続されていないクラウドプリント対応プリンタ104がデフォルトプリンタとして選択されていたとする。なお、S801以降の処理はユーザがオブジェクト1101を操作して使用するプリンタを変更した場合にも実行される。
【0192】
次に、OS313は、インクジェットプリンタ104aに能力情報を問い合わせる(S1502)。いずれの設定項目について能力情報を問い合わせるかはOS313の仕様にてあらかじめ決められている。そのため、このタイミングで取得される能力情報は図3のS3001にて取得したものと同様のものである。当該問い合わせは、例えば、Get-print-Attributesのような、IPPにより定義される標準プロトコルのコマンドを用いてクラウドプリント対応プリンタ104に対して行われる。Get-print-Attributesを用いる場合はOS313によって決められている能力情報をリスト形式で問い合わせする。
【0193】
インクジェットプリンタ104aは、OS313に対して、Get-print-Attributesで送られてきた能力情報のリストの能力情報を返答する(S1503)。例えば、Get-print-Attributes(IPP)でメディアサイズの属性を指定されたとする。クラウドプリントサービス321はメディアサイズの属性を保有していた場合その属性に紐づく値(A4,B5,Letter等)を返答する。クラウドプリント対応プリンタ104はGet-print-Attributesで指定された属性がクラウドプリント対応プリンタ104のキューに存在しない場合、紐づく値のレスポンスは行わない。S1503で取得される能力情報はあくまでもOS313が接続されているプリンタの種類や能力にかかわらず問い合わせる能力情報である。
【0194】
OS313は、インクジェットプリンタ104aから取得した能力情報を用いて、デバイス能力情報を更新する。OS313は図3のS3012にて生成したデバイス能力情報に対して図15のS1503にて取得した能力情報を追加する(S1504)。デバイス能力情報に更新がある場合、S1503を行うことでクライアント端末101が管理するデバイス能力情報を更新することができる。なお、S1504におけるデバイス能力情報の更新では、業界標準の仕様により定義される属性値のみについて、デバイス能力情報が更新される。
【0195】
次に、OS313は、印刷設定拡張アプリ312に対して、イベントとデバイス能力情報の編集に使われるAPIを通知する(S1505)。本イベントの通知タイミングは、印刷設定拡張アプリ312がクライアント端末101のOS313にインストールされるときに登録される。
【0196】
印刷設定拡張アプリ312は、本イベントを受信すると、クラウドプリント対応プリンタ104に能力情報の取得要求を行う。ここで行われる能力情報の取得は、プリンタベンダーが独自で定義する設定項目や属性値をデバイス能力情報に書き込むための能力情報の取得である。
【0197】
印刷設定拡張アプリ312は、イベントをOS313から受信すると、インクジェットプリンタ104aの能力情報を問い合わせる(S1506)。このとき印刷設定拡張アプリ312は、プリンタベンダー独自の設定項目や、プリンタベンダー固有の属性値を含む設定項目の能力情報をインクジェットプリンタ104aに問い合わせる。問い合わせは図15のS1502と同様、Get-print-Attributesを用いて行い、項目名として問い合わせたい設定項目の項目名を指定することで能力情報が取得される。なお、本実施例ではS1506においてプリンタベンダー独自に定義した設定項目やプリンタベンダーが独自で定義した属性値を含む設定項目について能力情報取得を行うとして説明する。OS313による能力情報取得で取得済みの設定項目についても能力情報の取得を行うとしてもよい。
【0198】
インクジェットプリンタ104aは、印刷設定拡張アプリ312から独自能力情報の問い合わせがあると、印刷設定拡張アプリ312に応答する(S1507)。ここでの応答方法は、先に説明した図15のS1503と同様である。本実施例では、S1507において、インクジェットプリンタ104aは、インクジェットプリンタ104aが保有する能力情報を応答する。
【0199】
次のS1508からS1517までは、図8のS808からS817までの各対応するブロックと同様の処理となるため説明を割愛する。
【0200】
OS313は印刷設定拡張アプリ312から渡された印刷データと印刷能力情報またはOS313が生成した印刷データと印刷能力情報を、プリントキューを介して、インクジェットプリンタ104aに送信する(S1518)。
【0201】
次に図16を用いて、インストールされた印刷設定拡張アプリの紐づくドライバが異なる場合の印刷設定画面の表示文言を切り替え、その後ユーザによって決められた印刷設定や印刷データを生成する処理について説明する。
【0202】
図16の処理を実行するためのプログラムは印刷設定拡張アプリ312が記憶しており、当該プログラムはクライアント端末101のメモリ213に展開され、CPU212により実行される。
【0203】
CPU212は、イベント通知を受信したか否かを判定する(S1601)。イベントとはOS313により発行されるイベントであり、図12のS1215で登録したタイミングであることを印刷設定拡張アプリ312に通知するためのイベントである。CPU212は、イベント通知を受信していない場合、S1601の処理を繰り返し行う。イベント通知を受信した場合、CPU212はS1602の処理に進む。
【0204】
CPU212は、図11の1101において選択されているプリンタ情報に対応づけられたプリンタドライバがクラウドプリンタドライであるか否かを判定する(S1602)。判定には図2(a)の記憶部214のレジストリに格納されているドライバ情報を用いて登録されているドライバがクラウドプリンタドライバ311であるかローカルプリンタドライバ314であるかの判定を行う。
【0205】
判定の結果、プリンタ情報と対応づけられたドライバがクラウドプリンタドライバ311である場合、CPU212はクラウドプリントサービス321にプリンタの能力情報の取得要求を送信する(S1603)。
【0206】
一方で、選択されているプリンタ情報と対応づけられたドライバがローカルプリンタドライバ314である場合、CPU212はプリンタ104に能力情報の取得要求を送信する(S1604)。なお、本実施形態においてはS1604において、CPU212はインクジェットプリンタ104aに能力情報の取得要求を送信する。
【0207】
CPU212は、印刷設定拡張アプリ312に設定されている設定項目について、能力情報の取得要求をそれぞれクラウドプリントサービス321、クラウドプリント対応プリンタ104に送信する。ここでは、図12のS1206では取得しなかった設定項目についても能力情報を取得する。
【0208】
CPU212は、能力情報の取得が完了したか否かを判定する(S1605)。この時、能力情報の取得が完了していない場合、能力情報の取得完了を待つ。能力情報の取得が完了した場合、CPU212はS1606の処理に進む。
【0209】
S1606からS1621までのステップについては、図13のS1304からS1319までの処理と同じため説明を割愛する。
【0210】
S1621において、OSに提供された印刷データは選択されているプリンタ情報に対応づけられたプリンタドライバの種類に応じて、クラウドプリントサービスまたはプリンタへと送信される。たとえば、クラウドプリントサービス経由で接続された電子写真プリンタ104bに対応するプリンタ情報が選択されていた場合、OSはクラウドプリントサービス321に印刷データを送信する。電子写真プリンタ104bはクラウドプリントサービス321から印刷データを受信し、印刷処理を実行する。このとき、印刷能力情報に設定されているmarginが0であっても電子写真プリンタはmarginを追加して印刷を行う。ここで追加されるmarginは「印刷領域を広げて印刷」が無効に設定されたときに設定されるmarginよりも小さな値である。一方で、受信した印刷データの印刷能力情報においてmarginが設定されている場合、marginの値を変更することなく印刷を行う。このようにすることで、電子写真プリンタにおいては、用紙の各辺から一定の領域に印字を行わずに出力をすることができ、用紙が搬送用のベルトにくっついてしまうのを抑制することができる。
【0211】
一方で、クラウドプリントサービスを経由せずに接続されているインクジェットプリンタ104aが選択されている場合、OSはクラウドプリントサービスを経由することなくインクジェットプリンタ104aに印刷データを送信する。インクジェットプリンタ104aは、marginを0のまま印刷することができる。そのため、受信した印刷データの印刷能力情報においてmarginが0に設定されている場合は受信した画像データのサイズのまま用紙に画像を印刷する。
【0212】
以上がインストールされた印刷設定拡張アプリの紐づくドライバが異なる場合の印刷設定画面の表示文言を切り替え、その後ユーザによって決められた印刷設定や印刷データを生成する処理を示すフローチャートである。
【0213】
これにより、利用する印刷設定拡張アプリ312は同じであるが電子写真プリンタはクラウド経由でジョブを送信し印刷し、インクジェットプリンタはネットワークを経由して、直接ジョブを送信して印刷する場合の実施形態についての説明を終了とする。
【0214】
なお、本実施形態においては、電子写真プリンタ104bはクラウドプリントサービス321に登録され、インクジェットプリンタ104aはクラウドプリントに登録されておらずクライアント端末101と直接接続されるとして説明した。インクジェットプリンタ104aがクラウドプリントサービス321に登録され、電子写真プリンタ104bがクライアント端末101と直接接続されるとしてもよい。
【0215】
この場合であっても、印刷設定拡張アプリは、印刷設定画面で選択されているプリンタがインクジェットプリンタである場合は、IPP属性のPageBorderlessを「フチなし印刷」と表示する。そして、印刷設定画面で選択されているプリンタが電子写真プリンタである場合、IPP属性のPageBorderlessを「印字領域を拡大して印刷」と表示する。
【0216】
<その他の実施形態>
また、実施形態1ではインクジェットプリンタ/電子写真プリンタの両方がクラウドプリント対応の場合を説明した。そして、実施形態2では電子写真プリンタがクラウド対応し、インクジェットプリンタがローカル接続として説明した。インクジェットプリンタ/電子写真プリンタの両方がローカル接続の場合に本願発明を適用するとしてもよい。この場合も、印刷設定拡張アプリ312はインクジェットプリンタ104aと電子写真プリンタ104bの両方に対応することができるとする。そして、印刷データの送信先の候補として選択されているプリンタがインクジェットプリンタ104aである場合、印刷設定拡張アプリはIPP属性のPageBorderlessを「フチなし印刷」に変換した図10(c)の拡張印刷設定画面を表示する。一方で、印刷データの送信先の候補として選択されているプリンタが電子写真プリンタ104bである場合、印刷設定拡張アプリは以下の処理を実行する。印刷設定拡張アプリ312はIPP属性のPageBorderlessを「印刷領域を広げて印刷」と変換し、図10(d)の拡張印刷設定画面を表示する。このようにすることで、IPPの属性上は同じ属性であっても、出力に合わせた設定項目名称で表示を行うことができる。
【0217】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。
図1
図2
図3
図4
図5A
図5B
図6A
図6B
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16