JP2023125749A - プログラム、情報処理装置および制御方法 - Google Patents
プログラム、情報処理装置および制御方法 Download PDFInfo
- Publication number
- JP2023125749A JP2023125749A JP2022030018A JP2022030018A JP2023125749A JP 2023125749 A JP2023125749 A JP 2023125749A JP 2022030018 A JP2022030018 A JP 2022030018A JP 2022030018 A JP2022030018 A JP 2022030018A JP 2023125749 A JP2023125749 A JP 2023125749A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- information
- print data
- printing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000010365 information processing Effects 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 41
- 230000006870 function Effects 0.000 description 65
- 238000004891 communication Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1218—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
- G06F3/1219—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to consumables, e.g. ink, toner, paper
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1232—Transmitting printer device capabilities, e.g. upon request or periodically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1234—Errors handling and recovery, e.g. reprinting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1239—Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1287—Remote printer device, e.g. being remote from client or server via internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1293—Printer information exchange with computer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】 クラウド印刷サービスについてさらなる利便性の向上が求められている。【解決手段】 印刷装置と通信可能な情報処理装置のコンピュータに、前記印刷装置によって印刷処理が実行される印刷データを取得する第1取得ステップと、前記情報処理装置の外部にあり前記印刷装置と通信可能なサーバの印刷に関する制限情報を取得する第2取得ステップと、前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たす場合、印刷処理が実行されないエラーに関する通知を実行するための処理を実行する通知ステップと、を実行させることを特徴とする。【選択図】 図5
Description
本発明は、プログラム、情報処理装置および制御方法に関する。
パーソナルコンピュータ等の情報処理装置からクラウドを利用した印刷サービスが知られている。そのサービスでは、情報処理装置がクラウド印刷サービスに対して印刷要求を発行し、クラウド印刷サービスで関連付けられた印刷装置に対して印刷要求を送信する。こうすることで、クラウドを経由して印刷を実行することができる。(特許文献1)。
しかしながら、クラウド印刷サービスについてさらなる利便性の向上が求められている。
上述のような課題を解決するため、本開示に係るプログラムは、プログラムであって、印刷装置と通信可能な情報処理装置のコンピュータに、前記印刷装置によって印刷処理が実行される印刷データを取得する第1取得ステップと、前記情報処理装置の外部にあり前記印刷装置と通信可能なサーバの印刷に関する制限情報を取得する第2取得ステップと、前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たす場合、印刷処理が実行されないエラーに関する通知を実行するための処理を実行する通知ステップと、を実行させることを特徴とするプログラム。
本開示によれば、クラウド印刷サービスについてさらなる利便性の向上を実現できる。
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
(第1の実施形態)
本実施形態の印刷システムに含まれる情報処理装置及び印刷装置について説明する。ホストコンピュータ101は、情報処理装置の一例であり、入力インタフェース110、CPU111、ROM112、RAM113、外部記憶装置114、出力インタフェース115、及び入出力インタフェース116を有する。また、入力インタフェース110には、キーボード118、ポインティングデバイス117などの入力デバイスが接続され、出力インタフェース115には、表示部119などの表示デバイスが接続されている。NETIF120は、ネットワークインタフェイスであり、ネットワークを介して外部機器との間でデータ転送を行うための制御を行う。
本実施形態の印刷システムに含まれる情報処理装置及び印刷装置について説明する。ホストコンピュータ101は、情報処理装置の一例であり、入力インタフェース110、CPU111、ROM112、RAM113、外部記憶装置114、出力インタフェース115、及び入出力インタフェース116を有する。また、入力インタフェース110には、キーボード118、ポインティングデバイス117などの入力デバイスが接続され、出力インタフェース115には、表示部119などの表示デバイスが接続されている。NETIF120は、ネットワークインタフェイスであり、ネットワークを介して外部機器との間でデータ転送を行うための制御を行う。
ROM112には、初期化プログラムが格納されている。外部記憶装置114には、アプリケーションプログラム群、オペレーティングシステム(OS)、印刷データ生成ソフトウェア、その他の各種のデータが格納されている。後述する拡張アプリケーション204も外部記憶装置114に保存されている。RAM113は、外部記憶装置114にストアされる各種のプログラムの実行の際のワークメモリ等として使用され、各種プログラムがホストコンピュータ101内で動作可能となっている。
なお、本実施形態では、CPU111が、ROM112に格納されたプログラムの手順に従って処理を行うことによって、ホストコンピュータ101における後述の機能及び後述するフローチャートに係る処理を実行する。
印刷装置1004は、入出力インタフェース116を介して、ホストコンピュータ101と接続されている。ここでは、ホストコンピュータ101と印刷装置1004が分かれて構成されているが、これらが一つの情報処理装置として構成されていても良い。なお後述する印刷装置1005も印刷装置1004と同様の構成とする。
なお情報処理装置として、本実施形態ではホストコンピュータ101を例示しているが、これに限定されない。例えば情報処理装置として、携帯端末、パーソナルコンピュータ、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、印刷装置1004として、本実施形態ではプリンタを例示しているが、例えば、インクジェット方式のプリンタ(インクジェットプリンタ)、フルカラーレーザービーム(電子写真)方式のプリンタ(レーザービームプリンタ)、モノクロプリンタ等に適用することができる。
なお、印刷装置1004の制御用ソフトウェアとしてホストコンピュータ101にインストールされたプリンタドライバを利用し、ホストコンピュータ101に接続された印刷装置1004に対して印刷指示を行う構成が知られている。ホストコンピュータ101には、基本ソフトウェアであるオペレーティングシステム(OS)がインストールされており、プリンタドライバはそのOSの規定する仕様に従って構成され、OSから呼び出されて動作する。印刷装置1004を提供するベンダは、OSの仕様に適合するプリンタドライバを提供することにより、そのOSを用いて印刷装置1004に印刷を指示する手段を提供することができる。近年、Windows(登録商標)において、複数のベンダの提供する印刷装置で共通して利用可能な標準的なクラスドライバ(以下、「標準ドライバ」とも呼ぶ)が提供されている。このような標準ドライバは、OSのパッケージの中に同梱されており、ホストコンピュータ101に任意の印刷装置を接続することにより簡易に利用可能となる。よって、印刷装置1004に適した機種固有のプリンタドライバを別途インストールする必要が無く、利便性が高い。また、標準ドライバは、接続した印刷装置1004から取得した情報に基づき生成されたPrintCapabilitiesに応じて印刷機能を指定可能に構成される。これにより、標準ドライバを利用するユーザは、1つの標準ドライバを利用しているにも関わらず、接続した印刷装置1004の能力に応じた印刷機能を指定することができる。なお本実施形態において、標準ドライバは印刷データ生成ソフトウェア202として説明する。
ここで、標準ドライバには機能拡張用のアプリケーション(拡張アプリケーション204)を関連付けることができる。拡張アプリケーション204は、印刷装置1004印刷装置1004を提供するベンダが提供することができる。ベンダはこの拡張アプリケーション204を提供することにより、標準ドライバのみでは実現できない機能(拡張機能)を提供することができる。
拡張アプリケーション204は、標準ドライバに相当する、後述する印刷データ生成ソフトウェア202の機能を拡張するためのソフトウェアであり、OSに予め含まれていない(同梱されていない)ソフトウェアである。そのためユーザがホストコンピュータ101においてインターネットを介してサーバから拡張アプリケーション204をダウンロードし、インストールする必要がある。若しくは、ホストコンピュータ101に印刷装置1004印刷装置1004が接続されたことに基づき、自動的にインストールされてもよい。具体的には、ホストコンピュータ101に印刷装置1004印刷装置1004が接続された場合、OSは印刷装置1004印刷装置1004からデバイス識別情報(デバイスID)を取得する。OSは、取得されたデバイス識別情報に対応する拡張アプリケーション204を、インターネットを介してサーバからダウンロードし、インストールしても良い。つまり、印刷データ生成ソフトウェア202と、拡張アプリケーション204は別ファイルとしてホストコンピュータ101に保持される。なお、印刷データ生成ソフトウェア202および拡張アプリケーション204は、更新されてバージョンアップされることもあるが、この更新処理も別々のタイミングで行われる。つまり、ホストコンピュータ101により印刷データ生成ソフトウェア202が取得されるタイミングと、拡張アプリケーション204が取得されるタイミングは異なる。また、ホストコンピュータ101により印刷データ生成ソフトウェア202が取得されるトリガーと、拡張アプリケーション204が取得されるトリガーも異なる。なお、拡張アプリケーション204がインストールされた場合、OSが、拡張アプリケーション204を、印刷データ生成ソフトウェア202および印刷装置1004に関連付ける。
本実施形態で説明する拡張アプリケーション204は、印刷設定画面拡張ユニット205とスキップ制御ユニット206と印刷機能拡張ユニット207と印刷データ編集ユニット208と通知ユニット209を備える。また、拡張アプリケーション204は、各ユニットから共通してアクセス可能な共有情報(共有情報部)210を備える。共有情報210の実態は、外部記憶装置114に保存されたファイル、もしくはRAM113上に格納された情報である。拡張アプリケーション204は、OSが提供するAPI(Application Program Interface)を利用することで、共有情報210への情報の書き込みや読み出しを行う。
図2は、ホストコンピュータ101の各ソフトウェアと印刷装置1004による印刷システムの構成を模式的に示す図である。ここでは、OSとしてMicrosoft(登録商標)のWindows(登録商標)11を搭載したホストコンピュータ101を用いた印刷システムを前提として説明する。図2(a)は、拡張アプリケーション204が、印刷データ生成ソフトウェア202および印刷装置1004と関連付けられていない場合の一般的な構成を示す図である。
描画アプリケーション201は印刷される描画データ(画像データ)を作成するソフトウェアである。例えば、文書作成アプリケーションや表計算アプリケーションが描画アプリケーション201に相当する。描画アプリケーション201は、ユーザから印刷要求を受けると、印刷指示をOSに発行する。印刷指示には、印刷データ生成ソフトウェア202及び印刷装置1004の動作を指示するための印刷設定情報が含まれる。印刷設定情報はPrintTicket(以下、「PT」)とも呼ばれる。
描画アプリケーション201は、印刷設定情報を出力するために、印刷データ生成ソフトウェア202、OS、もしくは描画アプリケーション201、のうちいずれかが提供する印刷設定画面を表示させる事ができる。印刷設定画面は、印刷データ生成ソフトウェア202から取得する能力情報(印刷装置1004が動作可能な情報)に従い、設定可能な印刷機能を示す設定アイテムと、設定アイテムの設定値を示すコントロールアイテムが表示される。能力情報は、PrintCapabilities(以下、「PC」)とも呼ばれる。印刷データ生成ソフトウェア202は、印刷機能情報203に基づき、PCを決定する。印刷機能情報203は、設定可能なすべての印刷機能とその設定値、並びに、設定値同士の排他関係が記載されている印刷機能を示すデータである。印刷機能情報203は、PDC(Print Device Capabilities)とも呼ばれる。印刷機能情報203は、印刷データ生成ソフトウェア202の構成ファイルに含まれ、変更不可能なファイルとして外部記憶装置114に配置される。もしくは、印刷データ生成ソフトウェア202により、印刷機能情報203は動的に生成されることもできる。具体的には、印刷データ生成ソフトウェア202もしくはOSは、印刷装置1004から印刷装置1004の属性データを取得し、取得した属性データ内の属性情報に応じて印刷機能情報203を生成するよう構成することができる。なお、動的に印刷機能情報203が生成される場合、生成された印刷機能情報203は編集可能である。なお、印刷装置1004から取得される印刷装置1004の属性データとは、印刷装置1004に対してIPP(Internet Print Protocol)のGet-Printer-Attributesオペレーションを発行することにより取得するレスポンスである。レスポンスの中には、印刷装置1004が動作可能な機能(印刷装置1004の能力)を示す属性情報とその属性情報に関連する設定値を含む。このレスポンスはRAM113に保存される。
以上の構成により、印刷データ生成ソフトウェア202は、接続された印刷装置に応じて、それぞれの印刷装置1004で利用可能な印刷機能をユーザが指定可能に構成する事ができる。すなわち、異なる機能を持つ印刷装置や、異なるベンダが開発(提供)した印刷装置を接続した場合であっても、印刷データ生成ソフトウェア202は、接続した印刷装置に応じて利用可能な印刷機能をユーザが指定可能に構成することができる。なお、ここでは、印刷データ生成ソフトウェア202として、Windows(登録商標)11に搭載されている、IPP Class DriverもしくはUP Class Driverを利用した構成について説明する。IPP Class DriverおよびUP Class Driverは、IPP(Internet Print Protocol)と呼ばれる標準的な印刷プロトコルの仕様に従って印刷処理を実行するプリンタドライバであり、OSのパッケージの中に同梱されている。IPP ClassDriverおよびUP Class Driverは、印刷装置1004の機種に応じた固有のプリンタドライバではなく、複数の印刷装置で共通して利用可能な標準的なクラスドライバである。IPP Class Driverは上記仕様に則ってローカル印刷を、UP Class Driverはクラウド印刷を実行する標準ドライバである。ローカル印刷とは、印刷データが後述するクラウド印刷関連サービス等のクラウドサービスを介さず印刷装置に直接送信され、印刷される形態である。クラウド印刷とは、印刷データが印刷装置へ直接は送信されず、後述するクラウド印刷関連サービスを介して送信され、印刷される形態である。また、IPP Class DriverおよびUP Class Driverは、接続した印刷装置でサポートする印刷機能をユーザが指定できるように、接続した印刷装置1004の能力情報を取得し、その情報を元に印刷機能情報203を生成する。
なお拡張アプリケーション204が、IPP Class Driverと関連づいている場合は、ホストコンピュータ101と印刷装置1004が相互に通信可能に接続されている形態(以降、直接通信形態とも呼ぶ)とする。また、拡張アプリケーション204がUP Class Driverが関連づいている場合はホストコンピュータ101と印刷装置1004がクラウド印刷関連サービスを介して間接的に通信を行う形態(以降、間接通信形態とも呼ぶ)と判断する。なおクラウド印刷関連サービスのうち、少なくとも1つのクラウドサービスを介してホストコンピュータ101と印刷装置1004が通信を行う形態を間接通信形態とも呼ぶ。
なお、ホストコンピュータ101と印刷装置1004が直接通信形態をとる一例として、ホストコンピュータ101が、入出力インタフェース116を介して印刷装置1004とUSBケーブル等の物理ケーブルで直接接続される場合が挙げられる。もしくは、ホストコンピュータ101と印刷装置1004は、NETIF120を介してローカルエリアネットワーク上で接続されても良い。また、ローカルエリアネットワークへの接続は有線接続でも無線接続でも構わない。この時、ホストコンピュータ101と印刷装置1004は、IPPのプロトコル仕様に沿っての通信が可能である。
対して、ホストコンピュータ101と印刷装置1004が間接通信形態をとる場合は、ホストコンピュータ101と印刷装置1004は相互に通信可能には接続されていない。ホストコンピュータ101はインターネットを介してクラウド印刷関連サービスと通信可能であり、印刷装置1004もインターネットを介してクラウド印刷関連サービスと通信可能に構成されている。ホストコンピュータ101から印刷装置1004への印刷指示はクラウド印刷関連サービスを経由して実行される。
ここで、図2(a)において印刷データが印刷装置1004に送信されて印刷される処理を説明する。OSは、描画アプリケーション201から出力された印刷指示に基づき中間データ302(入力データとも呼ぶ)を生成して、印刷データ生成ソフトウェア202に渡す。なお、描画アプリケーション201が印刷用に出力するデータは、Graphic Device Interface形式のデータ(GDI形式データ)またはXML Paper Specification形式のデータ(XPS形式のデータ)である。印刷データ生成ソフトウェア202として、IPP Class Driverを利用する場合、描画アプリケーション201が出力するデータがGDI形式のデータなら、OSは、描画アプリケーション201から出力されたGDI形式のデータをXPS形式のデータに変換する。そして、変換したXPS形式のデータを中間データ302として印刷データ生成ソフトウェア202に渡す。描画アプリケーション201が出力するデータがXPS形式のデータなら、OSは、XPS形式のデータを中間データ302として印刷データ生成ソフトウェア202に渡す。なお、中間データ302には、紙面上に形成する絵の情報である画像データと、ユーザにより設定された印刷設定情報と、が含まれる。
印刷データ生成ソフトウェア202は、取得した中間データ302を印刷装置1004が解釈可能な印刷データに変換し、印刷装置1004に送信する。なお、印刷データには、紙面上に形成される絵の情報である描画データと、ユーザにより設定された印刷設定情報に基づき生成された印刷設定属性情報(印刷設定を指定する属性情報)とが含まれる。印刷設定属性情報は、印刷装置1004が動作可能な機能(印刷装置の能力)を示す属性情報とその属性情報に関連する設定値を含む。
印刷装置1004は、印刷データ生成ソフトウェア202から送られた印刷データに基づき紙面への印刷(印字)を行う。この時、印刷装置1004は、印刷データに含まれる印刷設定属性情報に従った動作で、印刷データに含まれる描画データを紙面上に形成する。印刷設定属性情報には、印刷品位(画質優先、速度優先、等)や、描画データのサイズ、描画位置(余白)の情報が含まれている。
図2(b)は、拡張アプリケーション204が、印刷データ生成ソフトウェア202および印刷装置1004と関連付けられている場合の構成を示す図である。なお、以下において特に言及しない構成や処理については、図2(a)と同等の構成となる。
描画アプリケーション201は、ユーザから印刷要求を受けると、印刷指示をOSに発行する。本構成下でも、図2(a)の構成と同様、描画アプリケーション201は、印刷設定画面を表示させることができる。本構成下では、拡張アプリケーション204が提供する印刷設定画面が表示される。具体的には、拡張アプリケーション204が備える印刷設定画面拡張ユニット205が提供する印刷設定画面が表示される。なお、印刷設定画面拡張ユニット205により提供される印刷設定画面が表示されるか否かはユーザの操作に依存する。なお上述したように、印刷設定画面は、印刷データ生成ソフトウェア202から取得する能力情報に従い、設定可能な印刷機能を示す設定アイテムのみが表示される。これにより、印刷装置の能力情報に含まれない印刷設定がユーザによってされることを軽減している。
また、描画アプリケーション201がユーザから印刷要求を受けつけ、印刷指示がOSに発行されると、OSはスキップ制御ユニット206を起動する。スキップ制御ユニット206は、印刷データ生成ソフトウェア202の処理をスキップするか否かの制御を行う。スキップ制御ユニット206のスキップ制御処理の後、OSは、描画アプリケーション201から出力された印刷指示に基づき中間データ302を生成し、中間データ302が印刷データ生成ソフトウェア202に渡される。ここで、スキップ制御ユニット206でスキップ制御が行われない場合、中間データ302は印刷データ生成ソフトウェア202で印刷装置1004が解釈可能な印刷データ303へ処理され、印刷データ編集ユニット208へ渡される。一方、印刷データ生成ソフトウェア202のスキップが行われる場合は、中間データ302は印刷データ生成ソフトウェア202で処理されずに、印刷データ編集ユニット208に渡される。これにより、中間データ302を印刷データ編集ユニット208で処理することが可能となる。
印刷データ編集ユニット208は、印刷データ生成ソフトウェア202から渡される中間データ302もしくは印刷データ生成ソフトウェア202により処理された印刷データの編集を行う。編集内容として、割り付け印刷を例にとると、印刷データ編集ユニット208は、OSから受け取った割り付け印刷の印刷設定情報に基づいて、中間データ302もしくは印刷データのレイアウトを変更する。また、印刷データ編集ユニット208は表示部119にUI画面を表示することが可能であり、中間データ302もしくは印刷データの印刷結果のイメージをプレビュー画面として表示することができる。なお、印刷データ編集ユニット208では、画面を開いたままの状態では印刷データは印刷装置1004に送信されず、画面を閉じることで印刷データの送信処理が動作する。
印刷データ編集ユニット208が中間データ302もしくは印刷データを編集した後、印刷データは印刷装置1004へ送信される。印刷装置1004は、受け付けた印刷データに基づき紙面への印刷を行う。
なお、スキップ制御ユニット206で印刷データ生成ソフトウェア202がスキップされた場合、印刷データ編集ユニット208が、受け取った中間データ302を印刷装置1004が解釈可能な印刷データへ変換しても良い。また、中間データ302を印刷データへ変換するために、OSが提供する機能を利用しても良い。
拡張アプリケーション204は、印刷機能拡張ユニット207を有する。印刷機能拡張ユニット207は、印刷データ生成ソフトウェア202もしくはOSが生成した印刷機能情報203(PDC)を編集することができる。これにより、印刷機能拡張ユニット207は、拡張アプリケーション204が提供する機能の追加、印刷装置1004はサポートしているが印刷データ生成ソフトウェア202がサポートしていない機能の追加、印刷機能の設定値同士の排他関係の追加、等を行うことができる。OSは、拡張アプリケーション204が印刷装置1004と印刷データ生成ソフトウェア202に最初に関連付けられた時に、印刷機能拡張ユニット207を起動する。さらに、OSは、OS起動時等、それ以外のタイミングで印刷機能拡張ユニット207を起動してもよい。このようにすることで、印刷装置1004に対して後からオプション装置(例えば、フィニッシャー等)が追加され、印刷に関わる機能が拡張されるようなケースにおいて、印刷機能拡張ユニット207は、拡張機能を検知し、印刷機能情報203に追加することができる。
また、拡張アプリケーション204は通知ユニット209を有する。通知ユニット209は、印刷装置1004のエラー発生に呼応してユーザに対して通知(ステータス通知)を表示することが可能である。例えば、印刷装置1004で用紙なしエラーが発生すると、用紙なしエラーを印刷データ生成ソフトウェア202が検知し、OSは、OSの機能であるトースト通知と呼ばれる通知機能を使って、メッセージを表示部119に表示させる。ユーザがこのトースト通知を押下すると、拡張アプリケーション204の通知ユニット209がOSにより呼び出され、通知ユニット209のUI画面が表示される。通知ユニット209のUI画面では、例えば用紙なしエラーの詳細メッセージや用紙充填方法などの表示を行うことができる。
なお、本実施形態を実現するための拡張アプリケーション204の構成は、前述の機能(ユニット)を全て備えるものに限定されず、機能の一部のみを持つものや、他の機能を有するものでもよい。また、拡張アプリケーション204は、単に印刷ソフトウェアと呼ばれることもある。以上のように、拡張アプリケーション204は、設定画面を表示する機能(印刷設定画面拡張ユニット205)、印刷データ生成ソフトウェア202の処理をスキップするか否かを制御する機能(スキップ制御ユニット206)、印刷装置に入力される印刷データを編集する機能(印刷データ編集ユニット208)、印刷データ生成ソフトウェアで指定可能な機能を拡張する機能(印刷機能拡張ユニット207)、印刷装置1004のエラー発生に対応して画面を表示する機能(通知ユニット209)、の少なくとも1つを備える。
また、拡張アプリケーション204は、各ユニットの処理が終わるたびに動作を終了しても良い。その場合、各ユニットを使う要求を受ける度にOSが拡張アプリケーション204を起動することになる。また、別の形態も考えられる。例えば印刷設定画面拡張ユニット205の処理が終了するとOSは拡張アプリケーション204の動作を終了させるが、スキップ制御ユニット206の処理が終了してもOSは拡張アプリケーション204を起動させたままにしても良い。
さらに、拡張アプリケーション204は、各ユニットの処理の中で、処理をキャンセルしても良い。キャンセルした場合、印刷キュー上の処理中の印刷ジョブがOSにより削除される。なお印刷ジョブには印刷データが含まれる。
さらにここで、印刷データが印刷装置1004に送信されて印刷されるまでの各処理における印刷データのフォーマットについて説明する。
印刷データ生成ソフトウェア202は、印刷装置1004から能力情報を取得し、印刷装置1004がサポートしている印刷データのフォーマットを判断し、判断結果に基づいて中間データ302を印刷装置1004の解釈可能な印刷データに変換することが可能となる。なお、以降で印刷データのフォーマットと記述している部分については、実際は印刷データに含まれる描画データのフォーマットのことを指す場合もある。
図3は、本実施形態の印刷システムの各処理で扱われるデータのフォーマット(データ形式)を示した図である。なお、図3のデータフォーマットを示した図はホストコンピュータ101と印刷装置1004が直接通信可能に構成されている印刷システムを一例としているが、ホストコンピュータ101と印刷装置1004はクラウドサービスなどを介して間接的に通信可能に接続していても構わない。なお具体的には、ホストコンピュータ101と印刷装置1004は、後述するクラウド印刷関連サービスを介して間接的に通信可能に接続していても構わない。図3の(a)は、拡張アプリケーション204が関連付けられていない場合に印刷システムの各処理で扱われるデータフォーマットを示した図である。描画アプリケーション201からの印刷指示を受けると、OSは中間データであるXPSデータ302を生成する。印刷データ生成ソフトウェア202は、XPSデータ302を印刷装置1004が解釈可能な印刷データに変換する。具体的には、印刷データ生成ソフトウェア202は、印刷装置1004から取得した属性データから、印刷装置1004がサポートしている印刷データのフォーマットを判断し、印刷装置1004が解釈可能な印刷データを生成する。印刷データのフォーマットは、PDFやPWGRasterなどが考えられるが、これらに限定されるものではない。本実施形態では、印刷装置1004がサポートする印刷データのフォーマットとして、PWGRasterが用いられるものとする。そのため、印刷データ生成ソフトウェア202は、XPSデータ302をPWGRasterデータ303に変換して、印刷装置1004に送信する。そして印刷装置1004は、受信したPWGRasterデータ303に基づき印刷を行う。なお中間データ302や印刷データ303を、印刷データに関するデータとして印刷データとも呼ぶ。
図3の(b)は、拡張アプリケーション204が関連付けられており、且つ印刷データ生成ソフトウェア202による印刷データ生成処理のスキップ指示が行われない場合に、印刷システムの各処理で扱われるデータのフォーマットを示した図である。描画アプリケーション201からの印刷指示を受けると、拡張アプリケーション204のスキップ制御ユニット206が呼び出される。ただし、図3(b)では、スキップ制御ユニット206は印刷データ生成ソフトウェア202の処理をスキップする指示は行わない。これにより、図3(a)の場合と同様に、印刷データ生成ソフトウェア202は、XPSデータ302を、PWGRasterデータ303に変換する。印刷データ編集ユニット208は、入力データとしてPWGRasterデータ303を受け取る。PWGRasterデータ303は印刷装置1004が解釈可能な印刷データなので、印刷データ編集ユニット208は、入力データであるPWGRasterデータ303をそのまま印刷装置1004に送る。印刷装置1004は、受信したPWGRasterデータ303に基づき印刷を行う。
図3の(c)は、拡張アプリケーション204が関連付けられており、且つ印刷データ生成ソフトウェア202による印刷データ生成処理のスキップ指示が行われた場合に扱われるデータのフォーマットを示した図である。描画アプリケーション201からの印刷指示を受けると、拡張アプリケーション204のスキップ制御ユニット206が呼び出される。スキップ制御ユニット206は、OS、もしくは印刷データ生成ソフトウェア202に対して、中間データ302から印刷データへの変換処理を実行しないように指示を出す。スキップ制御ユニット206からのスキップ指示を受けると、印刷データ生成ソフトウェア202は、中間データ302を印刷データへ変換することなく、中間データ302を拡張アプリケーション204の印刷データ編集ユニット208に渡す。印刷データ編集ユニット208は、印刷設定情報に基づき、XPSデータに対して印刷データのレイアウト変更処理等の必要な編集を行った上で、PWGRasterデータ303に変換して、印刷装置1004に送信する。印刷装置1004は受信したデータに基づき印刷を行う。ただし、印刷装置1004が解釈可能な印刷データのフォーマットにXPSデータが含まれている場合、印刷データ編集ユニット208は、XPSデータを別のフォーマットに変換することなく、印刷装置1004に送信して印刷を行うことも可能である。
なお、本実施形態では、変換前のXPSデータを中間データ302または変換前データ302、PWGRasterデータ303へ変換された後のデータを印刷データ303または変換後データ303とも呼ぶこととする。
次に、図4を用いて間接通信形態における印刷システムの構成を説明する。図4は本実施形態の印刷システムの一例を示す概略図である。ホストコンピュータ101、印刷装置1004、1005はインターネットに接続されている。印刷装置1004、1005が対応していないクラウド印刷サービス1001や、クラウド印刷仲介サービス1002、印刷装置1004、1005が対応しているクラウド印刷サービス1003(以降、印刷装置対応クラウド印刷サービス1003とも呼ぶ)も同様にインターネットに接続されている。本実施形態においては、クラウド印刷サービス1001、クラウド印刷仲介サービス1002、印刷装置対応クラウド印刷サービスを総称し、クラウド印刷関連サービスと呼ぶ。なおクラウド印刷関連サービスにおけるそれぞれのサービスは、クラウドサーバ(サーバ)である。
ホストコンピュータ101は、ユーザによってホストコンピュータ101上でクラウド印刷サービス1001へのログインが実行された場合、クラウド印刷サービス1001に印刷データを送信することができる。ホストコンピュータ101からクラウド印刷サービス1001への印刷データ送信時に使用されるのが、OSの提供する印刷データ生成ソフトウェア202の一つであるUP Class Driverである。ユーザはこのUP Class Driverを使用して印刷指示を行うことで、クラウド印刷サービス1001の1つであるUniversal Print(登録商標)を介した印刷処理を実行することができる。
また、印刷装置対応クラウド印刷サービス1003は印刷装置1004および1005が通信するインターネット上でプリントサービスを提供するクラウドサービスである。印刷装置1004および1005と関連付けられたクラウド印刷サービス1003に対して印刷データを送信することで印刷装置1004もしくは1005に印刷処理を実行させることができる。
クラウド印刷仲介サービス1002はクラウド印刷サービス1001と印刷装置対応クラウド印刷サービス1003間における印刷データを仲介することができる。具体的には、ホストコンピュータ101からクラウド印刷サービス1001の論理印刷装置に対して印刷データが送信されたことに基づいて、クラウド印刷仲介サービス1002がクラウド印刷サービス1001の論理印刷装置に送信された印刷データを印刷装置対応クラウド印刷サービス1003に対応可能な形式に変換する。そして変換した印刷データを印刷装置対応クラウド印刷サービス1003に送信し、印刷装置対応クラウド印刷サービス1003が印刷装置1004もしくは1005に印刷データを送信することで印刷装置1004もしくは1005に印刷処理を実行させることが可能となる。
ホストコンピュータ101、クラウド印刷仲介サービス1002はインターネットを介してクラウド印刷サービス1001と通信することが可能である。そして印刷装置1004と1005、クラウド印刷仲介サービス1002はインターネットを介して印刷装置対応クラウド印刷サービス1003と通信することができる。ホストコンピュータ101と印刷装置1004、1005は直接通信しておらず、クラウド印刷関連サービスを介して通信を行う。具体的には、ホストコンピュータ101は、クラウド印刷サービス1001に印刷データを送信し、クラウド印刷サービス1001はクラウド印刷仲介サービス1002に印刷データを送信する。そしてクラウド印刷仲介サービス1002は印刷装置対応クラウド印刷サービス1003に印刷データを送信し、印刷装置対応クラウド印刷サービス1003が印刷装置1004または1005に印刷データを送信することで、印刷装置1004または1005において印刷処理が実行される。
なおクラウド印刷サービス1001は、本実施例の一例としてMicrosoft社の提供するUniversal Print(登録商標)を想定することとするが、Microsoft社以外の提供するクラウド印刷サービスでも構わない。また、クラウド印刷仲介サービス1002や印刷装置対応クラウド印刷サービス1003は、印刷装置1004、1005を提供(製造)するベンダによって提供されるクラウドサービスである。本実施形態の印刷装置1004、1005はクラウド印刷サービス1001に対応していないが、クラウド印刷仲介サービス1002によって、ホストコンピュータ101から送信された印刷データがクラウド印刷サービス1001を介して印刷装置1004,1005に送信されることで、印刷処理が実行される。
なお本実施形態の印刷システムは上記に限定されるものではなく、ホストコンピュータ101とクラウド印刷サービス1001、印刷装置対応クラウド印刷サービス1003、クラウド印刷仲介サービス1002と印刷装置1004、1005がネットワークを介して通信可能に接続されていればよい。また、ネットワークにおける通信形態は無線通信であっても有線通信であっても良い。さらに、クラウド印刷仲介サービス1002と印刷装置対応クラウド印刷サービス1003は1つのクラウドサービスとなっていてもよい。また、本実施形態の印刷装置1004、1005はクラウド印刷サービス1001に対応していないが、対応していても構わない。
ところで、印刷形態が間接通信形態である場合に使用される印刷装置対応クラウド印刷サービス1003は印刷に関する制限情報(以下、印刷制限情報)を有する場合がある。つまり、印刷制限情報(以降、制限情報とも呼ぶ。)は印刷装置対応クラウド印刷サービス1003を利用する印刷システム(つまり、上述した間接通信形態)において存在する場合がある。印刷制限情報とは、印刷装置対応クラウド印刷サービス1003に設定されている情報であり、印刷データに関する情報が印刷データに関する所定の制限情報に基づく所定の条件を満たす場合に、印刷処理が実行されるための制御が実行されないエラーが発生することを示す情報である。
印刷装置対応クラウド印刷サービス1003は、印刷データを受信した場合、所定の印刷制限情報に基づく所定の条件を印刷データに関する情報が満たすか否かを判定する制限判定を実行する。印刷装置対応クラウド印刷サービス1003は、制限判定において、所定の印刷制限情報に基づく所定の条件を印刷データに関する情報が満たすと判定した場合、印刷処理が実行されないエラーに関する通知を実行するための処理を実行する。具体的には印刷装置対応クラウド印刷サービス1003は、印刷処理が実行されないエラーに関する情報をクラウド印刷仲介サービス1002に送信し、印刷装置1004または1005に印刷データを送信しない。そしてクラウド印刷仲介サービス1002は、受信したエラーに関する情報をクラウド印刷サービス1001に送信する。そしてクラウド印刷サービス1001は、受信したエラーに関する情報に基づいて印刷処理が実行されないエラーが発生することを示すエラー通知をクラウド印刷サービス1001上で実行する。また、印刷装置対応クラウド印刷サービス1003は、制限判定において、所定の印刷制限情報に基づく所定の条件を印刷データに関する情報が満たさないと判定した場合、印刷装置1004または1005に印刷データを送信する。
所定の印刷制限情報とは例えば、制限判定において利用される印刷データに関する所定の制限値であり、印刷処理が実行されるための制御が実行されないエラーが発生することを示す値である。また、所定の条件は、印刷データの印刷処理が実行されないエラーが発生することを示す条件である。つまり、印刷データに関する所定の値が印刷データに関する所定の制限値を超えると判定された場合、所定の印刷制限情報に基づく所定の条件を印刷データに関する情報が満たすと判定される。例えば印刷データに関する所定の値や印刷データに関する所定の制限値は、ページ数を示す値やデータサイズの値であるが、その他の値であってもよい。なお、所定の印刷制限情報は印刷データに関する所定の制限値でなくてもよく、印刷データに関する所定の制限情報であればよい。
また、印刷装置対応クラウド印刷サービス1003が印刷制限情報を有する場合、クラウド印刷仲介サービス1002が印刷制限情報を有していてもよい。この場合、クラウド印刷仲介サービス1002は、印刷データを受信した場合、所定の印刷制限情報に基づく所定の条件を印刷データに関する情報が満たすか否かを判定する制限判定を実行する。クラウド印刷仲介サービス1002は、制限判定において、所定の印刷制限情報に基づく所定の条件を印刷データに関する情報が満たすと判定した場合、印刷処理が実行されないエラーに関する情報をクラウド印刷サービス1001に送信し、印刷装置対応クラウド印刷サービス1003に印刷データを送信しない。そして受信したエラーに関する情報に基づいて印刷処理が実行されないエラーが発生することを示すエラー通知がクラウド印刷サービス1001上で実行される。また、クラウド印刷仲介サービス1002は、制限判定において、所定の印刷制限情報を印刷データに関する情報が満たさないと判定した場合、印刷装置対応クラウド印刷サービス1003に印刷データを送信する。そして、印刷装置対応クラウド印刷サービス1003によって、印刷装置1004または1005に印刷データが送信される。なお印刷装置対応クラウド印刷サービス1003が印刷制限情報を有する場合、クラウド印刷仲介サービス1002が印刷制限情報を有していなくてもよい。
またクラウド印刷サービス1001上でエラー通知が実行される場合、ユーザは、クラウド印刷サービス1001にログインすることによって、クラウド印刷サービス1001上に表示されたエラー通知を認識することができる。
しかしながら、上記の形態では、既に印刷データが拡張アプリケーション204から送信されてしまった後にユーザがエラーの発生を認識することになるため、ユーザがエラーの発生を認識するまでに時間を要してしまう。さらに、ユーザは、クラウド印刷サービス1001にログインした場合にのみエラー通知を認識することができるため、ユーザビリティが低下してしまう。
そこで本実施形態では、拡張アプリケーション204が、印刷データをクラウド印刷サービス1001に送信する前に、クラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003の印刷制限情報を取得し、印刷データに関する情報が印刷制限情報に基づく所定の条件を満たすか否かを判定する。そして拡張アプリケーション204は、印刷データに関する値が印刷制限情報に基づく所定の条件を満たす場合は、ユーザにエラー発生の通知のための処理を実行し、クラウド印刷サービス1001への印刷データの送信を行わない。また、拡張アプリケーション204は、印刷データに関する値が印刷制限情報を満たさない場合はクラウド印刷サービス1001へ印刷データを送信する。これにより、ユーザがエラーの発生を認識するまでに時間を有してしまうことを軽減できる。さらに、ユーザは、クラウド印刷サービス1001にログインせずともエラー通知を認識することができるため、ユーザビリティが向上する。
なお拡張アプリケーション204において実行されるエラー発生の通知のための処理として、拡張アプリケーション204でエラー通知を実行せずに、拡張アプリケーション204が、情報処理装置において通知処理を実行可能な他のプログラムに実行させる処理であってもよい。
図5は、本印刷システムにおける拡張アプリケーション204の印刷データ編集ユニット208により実行されるフローチャートである。本フローチャートの処理は、ユーザによって印刷指示が実行され、印刷データ生成ソフトウェア202から中間データ302が送信された場合に開始される。以降、拡張アプリケーション204の印刷データ編集ユニット208を、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU111が実行することで、対応する機能が実現されることになる。
S501で、印刷データ編集ユニット208は、印刷データ生成ソフトウェア202から中間データ302を取得する。なお本実施形態では、上述した図3(c)の形態で中間データ302を取得するものとし、取得する中間データ302はXPSデータであるものとする。しかしながら、上述した図3(b)の形態で印刷データ303を取得するものとし、取得する印刷データ303はPWGRasterデータであってもよい。
S502で、印刷データ編集ユニット208は、取得した中間データ302を印刷装置1004が解釈可能な形式である変換後データ303へ変換する。ここでは、変換後データ303はPWGRasterデータである。なおS502では、印刷指示に含まれる印刷設定情報に基づき、中間データ302に対してレイアウト変更処理等の編集処理を行う。
S503で、印刷データ編集ユニット208は、拡張アプリケーション204が関連づく印刷キューの名称情報を、APIを使用しOSへ問い合わせ、印刷装置の名称に関する情報として取得する。もしくは、印刷データ編集ユニット208は、印刷装置1004に対してIPPのGet-Printer-Attributesオペレーションを発行し、返却情報として得られた印刷装置1004の名称に関する情報を取得しても良い。例えば、印刷装置の名称に関する情報として「プリンタA」を取得する。なおS503において、S504で後述するIPPのGet-Printer-Attributesオペレーションを発行し、印刷装置の名称に関する情報を取得してもよい。
S504で、印刷データ編集ユニット208は、印刷装置1004に対してIPPのGet-Printer-Attributesオペレーションを発行し、印刷装置の種類に関する情報を取得することによって、印刷装置の種類を特定する。例えば、印刷データ編集ユニット208が、Get-Printer-Attributesオペレーションの返却情報として、消耗品がインクであることを示す情報を取得したとする。この場合、印刷データ編集ユニット208は、消耗品に関する情報に基づいて、プリンタAの印刷装置の種類がインクジェット方式のプリンタであると特定する。なお特定される印刷装置の種類としては、インクジェット方式のプリンタやレーザービーム方式のプリンタが挙げられる。また、印刷装置の種類としては、スキャナ機能やFAX機能などを備えるMFP(Multi Function Printer)や、プリント機能のみを備えるSFP(Single Function Printer)が挙げられる。なお、インクジェット方式やレーザービーム方式のプリンタの中でも、一般消費者やオフィスユースを対象としたプリンタであるか、図面や広告用に使用される大判出力などに代表される専門的なユースケースを対象としたプリンタか、が特定されてもよい。
S505で、印刷データ編集ユニット208は、印刷処理における接続形態を特定する。つまり、印刷データ編集ユニット208は、拡張アプリケーション204が関連づけられている印刷データ生成ソフトウェア202が、IPP Class DriverかUP Class Driverかを特定する。本処理について具体的に説明する。まず、印刷データ編集ユニット208は、S504において印刷装置1004に対してIPPのGet-Printer-Attributesオペレーションを発行した際に、印刷装置1004のデバイスIDを取得している。デバイスIDには、拡張アプリケーション204が関連付けられている印刷データ生成ソフトウェア202が、IPP Class DriverかUP Class Driverかを示す情報(例えば、接頭語を示す情報)が付与されている。よって印刷データ編集ユニット208は、デバイスIDの例えば接頭語を参照し、拡張アプリケーション204が関連づけられている印刷データ生成ソフトウェア202が、IPP Class DriverかUP Class Driverかを特定する。なお印刷データ編集ユニット208は、拡張アプリケーション204がIPP Class Driverと関連づいている場合は、接続形態は直接通信形態であると特定する。また、印刷データ編集ユニット208は、拡張アプリケーション204がUP Class Driverが関連づいている場合は、接続形態は間接通信形態であると特定する。なお拡張アプリケーション204が関連づけられている印刷データ生成ソフトウェア202が、IPP Class DriverであるかUP Class Driverであるかは、拡張アプリケーション204がClass Driverに関連づけられたタイミングで特定され、記憶されてもよい。この場合、印刷データ編集ユニット208は、S505で、拡張アプリケーション204が関連づけられているClass Driverが、IPP Class DriverであるかUP Class Driverであるかの情報はRAM等の記憶部から取得してもよい。また、なお拡張アプリケーション204が関連づけられている印刷データ生成ソフトウェア202が、IPP Class DriverであるかUP Class Driverであるかは、拡張アプリケーション204がClass Driverに関連づけられて初めて起動されたタイミングで特定され、記憶されてもよい。
S506で、印刷データ編集ユニット208は、印刷制限に関する情報が格納されたリスト(以降、印刷制限対象リストとも呼ぶ)を共有情報210から取得する。印刷制限対象リストは、印刷装置の名称に関する情報、印刷装置の種類に関する情報、印刷装置の接続形態に関する情報のうち少なくとも1つの情報に基づいて、所定の印刷システムにおいて印刷制限が存在するか否かを示す情報が格納されたリストである。なお格納されている情報は、印刷装置の名称に関する情報、印刷装置の種類に関する情報、印刷装置の接続形態に関する情報のうち、それぞれの情報の組み合わせに基づいて印刷制限が存在するか否かを示す情報であってもよい。印刷制限対象リストは、拡張アプリケーション204がベンダによって生成された際に、同じベンダによって提供されるクラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003の印刷制限情報に基づいて、予め共有情報210へ格納されているものとする。ここで、図6を用いて印刷制限対象リストについて詳細に説明する。
図6は、印刷制限対象リストの一例であり、印刷装置の種類に関する情報と接続形態に関する情報を組み合わせた場合において印刷制限が存在するか否かを示す情報が格納されている場合である。例えば、印刷装置の種類がインクジェットプリンタであり、かつ接続形態が間接通信形態である場合は印刷制限があることを示している。また、印刷装置の種類がレーザービームプリンタであり、かつ接続形態が間接通信形態である場合は印刷制限がないことを示している。
図5に戻って説明する。S507で、印刷データ編集ユニット208は、拡張アプリケーション204を含む印刷システムが、印刷制限情報が存在する印刷システムに該当するか否かを判定する。具体的には、印刷データ編集ユニット208は、S506で取得した印刷制限対象リストを参照し、S503で取得した印刷装置の名称に関する情報、S504で取得した印刷装置の種類に関する情報、S505で取得した印刷装置の接続形態に関する情報や各情報の組み合わせに基づいて、拡張アプリケーション204を含む印刷システムが、印刷制限情報が存在する印刷システムに該当するか否かを判定する。つまり、印刷装置対応クラウド印刷サービス1003を含む印刷システムであるか否かを判定する。なお例えば、本判定は、S504で特定した印刷装置の種類がインクジェットプリンタであるかレーザービームプリンタであるかの判定(特定)を含む。より具体的には例えば、印刷制限対象リストが図6であり、S504で印刷装置の種類がインクジェットプリンタであると特定され、かつS505で接続形態が間接通信形態であると特定された場合、印刷制限情報が存在する印刷システムに該当すると判定される。また例えば、印刷制限対象リストが図6であり、S504で印刷装置の種類がレーザービームプリンタであると特定され、かつS505で接続形態が間接通信形態であると特定された場合、印刷制限情報が存在する印刷システムに該当しないと判定される。ここで、印刷装置の種類がレーザービームプリンタである場合は、クラウド印刷の場合に、クラウド印刷仲介サービス1002や印刷装置対応クラウド印刷サービス1003を介さずにクラウド印刷サービス1001のみを介してホストコンピュータ101と印刷装置1004や1005が通信を行う場合がある。よって、S504で印刷装置の種類がレーザービームプリンタであると特定され、かつS505で接続形態が間接通信形態であると特定された場合、印刷制限情報が存在する印刷システムに該当しないと判定される。さらに、接続形態が直接通信形態である場合は、印刷装置対応クラウド印刷サービス1003を含む印刷システムでないため、印刷制限情報が存在しない印刷システムであると判定される(S507においてNOと判定される)。S507においてYESと判定された場合、S508に進み、S507においてNOと判定された場合、S509に進む。
S508で、印刷データ編集ユニット208は、印刷制限情報の値が格納されたリスト(以降、印刷制限詳細リストとも呼ぶ)を共有情報210から取得する。印刷制限詳細リストには、印刷データに関する所定の制限情報が格納されている。例えば所定の制限情報として、印刷データに関する所定の制限値が格納されている。具体的な所定の制限値は、例えば印刷可能なページ枚数、印刷可能なデータサイズ、印刷可能なデータフォーマットが挙げられる。なお、印刷可能データサイズは、ジョブ単位であっても良いし、ページ単位でも良い。印刷制限詳細リストについて、図7を用いて詳細に説明する。図7では、所定の制限値として印刷可能なページ枚数が格納されており、印刷可能なページ枚数は100枚であることを示している。また、所定の制限値として印刷可能なデータサイズが格納されており、印刷可能なデータサイズは100MBであることを示している。なお図6に示す印刷制限対象リストにおいて、制限の存在の欄にYESまたはNOが示されているが、制限の存在の欄に制限値が記載されていてもよく、この場合、S508において共有情報210から印刷制限詳細リストを再度取得しなくてもよい。
S509で、印刷データ編集ユニット208は、所定の制限情報に対応する情報であり変換後データ303における印刷データに関する情報を上述した変換後データ303から取得する。例えば、印刷制限詳細リストが図7である場合、変換後データ303のページ数とデータサイズに関する情報の値をそれぞれ取得する。なお変換後データ303ではなく、中間データ302から印刷データに関する情報を取得してもよい。
S510で、印刷データ編集ユニット208は、所定の制限情報に対応する情報であり変換後データ303における印刷データに関する情報が、印刷制限詳細リストに格納されている所定の制限情報を超えるか否かを判定する。例えば、印刷制限詳細リストが図7である場合、印刷データ編集ユニット208は、変換後データ303のページ数が100枚を超えている(101枚以上である)か否かを判定する。また、印刷データ編集ユニット208は、変換後データ303のデータサイズが100MBを超えているか否かを判定する。S510においてYESと判定された場合、S511に進み、S510においてNOと判定された場合、S512に進む。なお印刷制限詳細リストにおいて、所定の制限情報に対応する情報であり変換後データ303における印刷データに関する情報が複数ある場合は、少なくとも一つの、所定の制限情報に対応する情報であり変換後データ303における印刷データに関する情報が、印刷制限詳細リストに格納されている所定の制限情報を超える場合、S510においてYESと判定される。
S511で、印刷データ編集ユニット208は、表示部119を介してエラーが発生したことを示す通知(以降、エラー通知とも呼ぶ。)を出力(表示)する。図8は印刷データ編集ユニット208が表示部119に表示するエラー通知の一例である。図8においては、通知画面には、印刷が失敗したことを示す内容と、印刷が失敗した理由を示す情報が表示されている。例えば、印刷制限詳細リストが図7である場合であり、変換後データ303のページ数が100枚を超えており、かつデータサイズが100MBを超えている場合、通知画面801が表示される。また、印刷制限詳細リストが図7である場合であり、変換後データ303のページ数が100枚を超えており、かつデータサイズが100MBを超えていない場合、通知画面802が表示される。さらに、印刷制限詳細リストが図7である場合であり、変換後データ303のページ数が100枚を超えておらず、かつデータサイズが100MBを超えている場合、通知画面803が表示される。つまり、印刷が失敗した理由に応じて通知の内容が変更されてよい。また、通知画面には印刷が失敗した理由が表示される形態を示しているが、実際にはS511において、変換後データ303はクラウド印刷サービス1001に送信されていないため、通知画面には、印刷データを送信できないことを示す情報が表示されてもよい。なお、本実施形態ではホストコンピュータ101に備える表示部119でエラー通知を表示することを想定しているが、例えば、印刷データ編集ユニット208が印刷装置1004に対して印刷制限に該当することを示すコマンドを送信することによって、印刷装置1004に備える表示部でエラー通知が表示されても良い。また、印刷データ編集ユニット208が、ホストコンピュータ101における拡張アプリケーション204以外のプログラムに対してエラー通知を実行するよう指示コマンドを送信することによって、当該プログラムによってエラー通知が実行されても良い。また、図8においては、通知画面には、印刷が失敗したことを示す内容と、印刷が失敗した理由が表示されているが、印刷に失敗した印刷ジョブ名や、印刷に失敗した印刷装置の名称、印刷装置の種類、接続形態などの情報を表示しても構わないし、以上示した情報のうち少なくとも1つの情報が表示されてもよい。また、エラーが発生したことを示す通知の出力は表示部119を介して行われなくてもよく、例えばホストコンピュータ101が音声部を備えている場合は音声部を介して行われてもよい。
図5に戻って説明する。S512で、印刷データ編集ユニット208は、図8における通知画面のOKボタンが押下されたことに基づき、変換後データ303の印刷処理が実行されないための制御を実行する。具体的には、印刷データ編集ユニット208は、変換後データ303を、指定した印刷装置1004または1005、もしくはクラウド印刷サービス1001に送信しない制御を実行し、本フローチャートの処理を終了する。なお接続形態が直接通信形態である場合に変換後データ303を、指定した印刷装置1004または1005に送信しない制御が実行される場合がある。また、接続形態が間接通信形態である場合に変換後データ303を、クラウド印刷サービス1001に送信しない制御が実行される場合がある。
S507でNOの場合やS510でNOの場合に続くS513で、印刷データ編集ユニット208は、変換後データ303の印刷処理が実行されるための制御を実行する。具体的には、印刷データ編集ユニット208は、変換後データ303を、指定した印刷装置1004または1005、もしくはクラウド印刷サービス1001に送信する制御を実行し、本フローチャートの処理を終了する。例えば印刷装置の種類がレーザービームプリンタで間接通信形態である場合は、印刷データ編集ユニット208は、クラウド印刷サービス1001に変換後データ303を送信する。その後、変換後データ303は、クラウド印刷サービス1001から印刷装置1004または1005に送信される。また例えば、印刷装置の種類がインクジェットプリンタで間接通信形態である場合であり、印刷データに関する所定の値が所定の制限値を超えない場合は、印刷データ編集ユニット208は、クラウド印刷サービス1001に変換後データ303を送信する。その後、変換後データ303は、クラウド印刷サービス1001から、クラウド印刷仲介サービス1002や印刷装置対応クラウド印刷サービス1003を介して印刷装置1004または1005に送信される。なお接続形態が直接通信形態である場合に変換後データ303を、指定した印刷装置1004または1005に送信する制御が実行される場合がある。また接続形態が間接通信形態である場合に変換後データ303を、クラウド印刷サービス1001に送信する制御が実行される場合がある。
以上の実施形態において、拡張アプリケーション204は、印刷データをクラウド印刷サービス1001に送信する前に、印刷制限に関する情報を取得し、印刷データに関する情報が印刷制限情報に基づく所定の条件を満たすか否かを判定する。そして拡張アプリケーション204は、印刷データに関する情報が印刷制限情報に基づく所定の条件を満たす場合は、ユーザにエラー発生の通知を実行し、クラウド印刷サービス1001への印刷データの送信を中断する。また、拡張アプリケーション204は、印刷データに関する情報が印刷データに関する所定の制限情報を満たさない場合はクラウド印刷サービス1001へ印刷データを送信する。これにより、ユーザがエラーの発生を認識するまでに時間を有してしまうことを軽減できる。さらに、ユーザは、クラウド印刷サービス1001にログインせずともエラー通知を認識することができるため、ユーザビリティが向上する。
上述した実施形態において、印刷データ編集ユニット208は、印刷制限対象リストや印刷制限詳細リストを、拡張アプリケーション204内の共有情報210から取得していた。しかしながら、ホストコンピュータ101の外部に、印刷制限対象リストおよび印刷制限詳細リストを予め格納したサーバであり、クラウド印刷関連サービスとは異なるサーバを設置し、印刷データ編集ユニット208が当該サーバに問い合わせることで印刷制限対象リストおよび印刷制限詳細リストを取得しても良い。なおこの場合、本サーバはインターネットに接続されており、ホストコンピュータ101との通信が可能である。これにより、制限対象リストおよび印刷制限詳細リストが更新された場合において、拡張アプリケーション204の更新を行う手間を軽減できる。なお外部のサーバから印刷制限対象リストおよび印刷制限詳細リストを取得した場合、共有情報210に格納してもよく、この場合、次回以降は共有情報210から取得してもよい。
(第2の実施形態)
第1の実施形態では、印刷データ編集ユニット208は、印刷制限詳細リストを、拡張アプリケーション204内の共有情報210または外部のサーバから取得していた。この形態において、例えば、クラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003に設けられている印刷制限が更新された場合、印刷制限の更新に伴い、拡張アプリケーション204または外部のサーバの印刷制限詳細リストも更新する必要がある。しかしながら、印刷制限詳細リストの更新作業を行っている最中は、クラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003に設けられている印刷制限の値と一致するまでの間にタイムラグが生じ、印刷制限詳細リストに記載されている印刷制限の値と、実際のクラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003に設けられている印刷制限の値が異なる時間が生じる場合がある。また、印刷制限詳細リストの更新作業は手間が生じる。そこで、本実施形態では、印刷処理における接続形態に応じて、印刷制限詳細リストを共有情報210から取得するか、クラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003から取得するかを切り替える。具体的には、接続形態が直接通信形態である場合は、印刷制限詳細リストを共有情報210から取得し、接続形態が間接通信形態である場合は印刷制限詳細リストをクラウド印刷関連サービスから取得する。なお、印刷制限詳細リストは、クラウド印刷関連サービスのうち、クラウド印刷仲介サービス1002から取得してもよいし、印刷装置対応クラウド印刷サービス1003から取得してもよい。本実施形態では、以下の説明において特に言及の無い構成については実施形態1と同様の処理であるため、説明を省略する。
第1の実施形態では、印刷データ編集ユニット208は、印刷制限詳細リストを、拡張アプリケーション204内の共有情報210または外部のサーバから取得していた。この形態において、例えば、クラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003に設けられている印刷制限が更新された場合、印刷制限の更新に伴い、拡張アプリケーション204または外部のサーバの印刷制限詳細リストも更新する必要がある。しかしながら、印刷制限詳細リストの更新作業を行っている最中は、クラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003に設けられている印刷制限の値と一致するまでの間にタイムラグが生じ、印刷制限詳細リストに記載されている印刷制限の値と、実際のクラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003に設けられている印刷制限の値が異なる時間が生じる場合がある。また、印刷制限詳細リストの更新作業は手間が生じる。そこで、本実施形態では、印刷処理における接続形態に応じて、印刷制限詳細リストを共有情報210から取得するか、クラウド印刷仲介サービス1002または印刷装置対応クラウド印刷サービス1003から取得するかを切り替える。具体的には、接続形態が直接通信形態である場合は、印刷制限詳細リストを共有情報210から取得し、接続形態が間接通信形態である場合は印刷制限詳細リストをクラウド印刷関連サービスから取得する。なお、印刷制限詳細リストは、クラウド印刷関連サービスのうち、クラウド印刷仲介サービス1002から取得してもよいし、印刷装置対応クラウド印刷サービス1003から取得してもよい。本実施形態では、以下の説明において特に言及の無い構成については実施形態1と同様の処理であるため、説明を省略する。
図9は、本印刷システムにおける拡張アプリケーション204の印刷データ編集ユニット208により実行されるフローチャートである。本フローチャートの処理は、ユーザによって印刷指示が実行され、印刷データ生成ソフトウェア202から中間データ302が送信された場合に開始される。以降、拡張アプリケーション204の印刷データ編集ユニット208を、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU111が実行することで、対応する機能が実現されることになる。
S901~S906の処理は図5のS501~S506と同様の処理であるため説明を省略する。
S907で、印刷データ編集ユニット208は、印刷処理におけるS906で取得した印刷制限対象リストを参照し、S903で取得した印刷装置の名称に関する情報、S904で取得した印刷装置の種類に関する情報、S905で取得した接続形態に関する情報に基づいて、各情報や各情報の組み合わせが、印刷制限情報が存在する印刷システムに該当するか否かを判定する。つまり、印刷装置対応クラウド印刷サービス1003を含む印刷システムであるか否かを判定する。S907においてYESと判定された場合、S911に進み、S907においてNOと判定された場合、S908に進む。具体的には、取得した印刷制限対象情報リストが図6の場合を一例として説明する。図6では印刷装置の種類がインクジェットプリンタかつ接続形態が間接通信形態をとる場合、印刷制限情報が存在する印刷システムに該当することを示している。印刷データ編集ユニット208は、S905までで取得した印刷装置の種類に関する情報と接続形態に関する情報と、図6に示す印刷制限対象情報リストを用いて、インクジェットプリンタが間接通信形態をとる場合には印刷制限情報が存在する印刷システムに該当すると判定する。また、図6では印刷装置の種類がレーザービームプリンタで、かつ接続形態が間接通信形態をとる場合、印刷制限情報が存在する印刷システムに該当しないことを示している。この場合、印刷データ編集ユニット208は、S905までで取得した印刷装置の種類に関する情報と接続形態に関する情報と、図6に示す印刷制限対象情報リストを用いて、レーザービームプリンタが間接通信形態をとる場合には印刷制限情報が存在する印刷システムに該当しないと判定する。
S908で、印刷データ編集ユニット208は、接続形態が直接通信形態か間接通信形態かを判定する。S908においてYESと判定された場合、S917に進み、S908においてNOと判定された場合、S909に進む。なお間接通信形態であった場合(S908においてYESと判定された場合)は、印刷データ編集ユニット208は、S907とS908の処理に基づいて、印刷制限情報が存在する印刷システムに該当しないと判定できるため、S917へ処理を進める。例えば、図6に示す印刷制限対象情報リストを取得した場合であり、S905までで取得した印刷装置の種類に関する情報と接続形態に関する情報からレーザービームプリンタが間接通信形態をとる場合は、S908においてYESと判定される。
S909~S910は図5のS507~S508と同様の処理であるため説明を省略する。
S911で、印刷データ編集ユニット208は、印刷制限詳細リストをどのクラウド印刷関連サービスから取得するかを特定するために、クラウド印刷関連サービスの種類に関する情報を取得する。クラウド印刷関連サービスの種類とは、クラウド印刷仲介サービス1002を示す情報または印刷装置対応クラウド印刷サービス1003を示す情報である。具体的には印刷データ編集ユニット208は、図10に示す、印刷装置対応クラウド印刷サービスリストを共有情報210から取得する。印刷装置対応クラウド印刷サービスリストとは、印刷装置の名称に関する情報、印刷装置の種類に関する情報、印刷装置の接続形態に関する情報やそれぞれの情報の組み合わせに基づいて、印刷制限詳細リストをどのクラウド印刷関連サービスから取得するかを示すリストである。印刷データ編集ユニット208は、図10を参照し、本フローチャートの処理のS905までの処理で取得した印刷装置の名称に関する情報、印刷装置の種類に関する情報、印刷装置の接続形態に関する情報やそれぞれの情報の組み合わせに基づいて、印刷制限詳細リストを取得するクラウド印刷関連サービスの種類を特定する。例えば、本フローチャートの処理のS905までの処理で印刷データ編集ユニット208が取得した、印刷装置の種類に関する情報と接続形態に関する情報の組み合わせが、インクジェットプリンタと間接通信形態である場合、図10の印刷装置対応クラウド印刷サービスリストから、印刷制限詳細リストを取得するクラウド印刷関連サービスの種類は、クラウド印刷仲介サービスAであると特定される。なおクラウド印刷仲介サービスAは、クラウド印刷仲介サービス1002の名称の一例を示しており、印刷装置対応クラウド印刷サービスリストに記載されていることにより、クラウド印刷仲介サービスAと関連づいている印刷装置対応クラウド印刷サービス1003にも印刷制限が設けられていることを示す。なお印刷装置対応クラウド印刷サービスリストには、印刷装置対応クラウド印刷サービス1003の名称の一例が記載されていてもよい。
S912で、印刷データ編集ユニット208は、印刷装置対応クラウド印刷サービスリストに基づいて特定されたクラウド印刷関連サービスから印刷制限詳細情報を取得する。例えば本フローチャートの処理のS905までの処理で印刷データ編集ユニット208が取得した、印刷装置の種類に関する情報と接続形態に関する情報の組み合わせが、インクジェットプリンタを示す情報と間接通信形態を示す情報である場合、図10におけるクラウド印刷仲介サービスAから印刷制限詳細情報を取得する。
S913~S917は図5のS509~S513と同様の処理であるため説明を省略する。
以上により、印刷処理における接続形態に応じて、印刷制限詳細リストを共有情報210から取得するか、印刷装置対応クラウド印刷サービス1003から取得するかを切り替えることが可能となる。これにより、印刷制限詳細リストに記載されている印刷制限の値と、実際の刷装置対応クラウド印刷サービス1003に設けられている印刷制限の値が異なる時間が生じることを軽減できる。また、印刷制限詳細リストの更新作業を行う手間を省くことができる。
(その他の実施形態)
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
101 ホストコンピュータ
1004 印刷装置
202 印刷データ生成ソフトウェア
204 拡張アプリケーション
1004 印刷装置
202 印刷データ生成ソフトウェア
204 拡張アプリケーション
Claims (22)
- プログラムであって、
印刷装置と通信可能な情報処理装置のコンピュータに、
前記印刷装置によって印刷処理が実行される印刷データを取得する第1取得ステップと、
前記情報処理装置の外部にあり前記印刷装置と通信可能なサーバの印刷に関する制限情報を取得する第2取得ステップと、
前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たす場合、印刷処理が実行されないエラーに関する通知を実行するための処理を実行する通知ステップと、
を実行させることを特徴とするプログラム。 - 前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たす場合、
前記印刷データを前記印刷装置に送信しないための制御を実行することを特徴とする請求項1に記載のプログラム。 - 前記コンピュータに、
前記制限情報を前記印刷データに関する情報が満たさない場合、前記通知ステップを実行せずに前記印刷データを前記印刷装置に送信するための処理を実行する送信ステップをさらに実行させることを特徴とする請求項1または2に記載のプログラム。 - 前記送信ステップにおいて、前記印刷データを、前記サーバを介して前記印刷装置に送信することを特徴する請求項3に記載のプログラム。
- 前記送信ステップにおいて、前記印刷データを、前記サーバを介さずに前記サーバとは異なる外部のサーバを介して前記印刷装置に送信することを特徴する請求項3または4に記載のプログラム。
- 前記コンピュータに、
前記印刷装置に関する情報を取得する第3取得ステップと
前記印刷装置に関する情報に基づいて、前記印刷装置に関するシステムが、前記サーバを含むシステムに該当するか否かを判定する第1判定ステップを前記コンピュータにさらに実行させ、
前記印刷装置に関するシステムが、前記サーバを含むシステムに該当すると判定された場合、前記制限情報を取得し、
前記印刷装置に関するシステムが、前記サーバを含むシステムに該当しないと判定された場合、前記制限情報を取得せず、かつ前記通知ステップを実行せずに前記印刷装置に前記印刷データが送信されるための処理を実行することを特徴とする請求項1乃至5のいずれか一項に記載のプログラム。 - 前記制限情報は、前記プログラムに格納されている共有情報部から取得されることを特徴とする請求項1乃至6のいずれか一項に記載のプログラム。
- 前記制限情報は、前記情報処理装置の外部にあり前記サーバとは異なる外部のサーバから取得されることを特徴とする請求項1乃至6のいずれか一項に記載のプログラム。
- 前記制限情報は、前記サーバから取得されることを特徴とする請求項1乃至6のいずれか一項に記載のプログラム。
- 前記制限情報は、前記印刷データのページ数を示す値と、データサイズを示す値のうち少なくとも一つを含むことを特徴とする請求項1乃至9のいずれか一項に記載のプログラム。
- 前記印刷装置に関する情報は、前記印刷装置の名称に関する情報と、前記印刷装置の種類に関する情報と、前記印刷装置と前記情報処理装置との間の接続形態に関する情報のうち少なくとも一つの情報を含む請求項6に記載のプログラム。
- 前記接続形態に関する情報は、クラウドを介さずに前記印刷装置と前記情報処理装置が通信可能である第1の接続形態を示す情報と、前記クラウドを介して前記印刷装置と前記情報処理装置が通信可能である第2の接続形態を示す情報のうち少なくとも1つを含むことを特徴とする請求項11に記載のプログラム。
- 前記印刷装置の種類に関する情報は、前記印刷装置がインクジェットプリンタであることを示す情報と、レーザービームプリンタであることを示す情報のうち少なくとも1つであることを特徴とする請求項11に記載のプログラム。
- 前記印刷装置に関する情報に含まれる前記印刷装置の種類に関する情報が、レーザービームプリンタであることを示す情報である場合、前記第1判定ステップにおいて、前記サーバを含むシステムに該当しないと判定され、前記第2取得ステップにおいて制限情報を取得せず、かつ前記通知ステップを実行せずに前記印刷装置に前記印刷データを前記印刷装置に送信するための処理を実行することを特徴とする請求項6に記載のプログラム。
- 前記印刷装置に関する情報に含まれる前記印刷装置の種類に関する情報が、インクジェットプリンタであることを示す情報である場合、前記第1判定ステップにおいて、前記サーバを含むシステムに該当すると判定され、かつ前記第2取得ステップを実行し、
前記第2取得ステップが実行された場合、前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たすか否かを判定する第2判定ステップを前記コンピュータにさらに実行させ、
前記第2判定ステップにおいて前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たすと判定された場合、前記通知ステップを実行し、かつ前記印刷装置に前記印刷データを送信しないための制御を実行し、
前記第2判定ステップにおいて前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たさないと判定された場合、前記通知ステップを実行せずに前記印刷装置に前記印刷データを送信するための処理を実行することを特徴とする請求項6に記載のプログラム。 - 前記印刷データは、前記印刷装置が解釈可能なデータに変換される前のデータ形式であることを特徴とする請求項1乃至15のいずれか一項に記載のプログラム。
- 前記印刷データは、前記印刷装置が解釈可能なデータであることを特徴とする請求項1乃至15のいずれか一項に記載のプログラム。
- 前記サーバは、互いに通信可能な第1のサーバと第2のサーバのいずれかであり、
前記制限情報は、前記第1のサーバと前記第2のサーバのいずれかに関する制限情報であることを特徴とする請求項1乃至17のいずれか一項に記載のプログラム。 - 前記第1のサーバは、前記印刷装置が通信可能でない第3のサーバと通信可能でないサーバであり、前記第2のサーバは、前記第3のサーバと通信可能であるサーバであることを特徴とする請求項18に記載のプログラム。
- 前記所定の条件は、前記印刷データの印刷処理が実行されないエラーが発生することを示す条件であることを特徴とする請求項1乃至19のいずれか一項に記載のプログラム。
- 印刷装置と通信可能な情報処理装置であって、
前記印刷装置によって印刷処理が実行される印刷データを取得する第1取得手段と、
前記情報処理装置の外部にあり前記印刷装置と通信可能なサーバの印刷に関する制限情報を取得する第2取得手段と、
前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たす場合、印刷処理が実行されないエラーに関する通知を実行するための処理を実行する通知手段と、
を備えることを特徴とする情報処理装置。 - 印刷装置と通信可能な情報処理装置の制御方法であって、
前記印刷装置によって印刷処理が実行される印刷データを取得する第1取得ステップと、
前記情報処理装置の外部にあり前記印刷装置と通信可能なサーバの印刷に関する制限情報を取得する第2取得ステップと、
前記制限情報に基づく所定の条件を前記印刷データに関する情報が満たす場合、印刷処理が実行されないエラーに関する通知を実行するための処理を実行する通知ステップと、
を有することを特徴とする制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022030018A JP2023125749A (ja) | 2022-02-28 | 2022-02-28 | プログラム、情報処理装置および制御方法 |
US18/172,991 US20230273759A1 (en) | 2022-02-28 | 2023-02-22 | Storage medium, information processing apparatus, and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022030018A JP2023125749A (ja) | 2022-02-28 | 2022-02-28 | プログラム、情報処理装置および制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023125749A true JP2023125749A (ja) | 2023-09-07 |
Family
ID=87761665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022030018A Pending JP2023125749A (ja) | 2022-02-28 | 2022-02-28 | プログラム、情報処理装置および制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230273759A1 (ja) |
JP (1) | JP2023125749A (ja) |
-
2022
- 2022-02-28 JP JP2022030018A patent/JP2023125749A/ja active Pending
-
2023
- 2023-02-22 US US18/172,991 patent/US20230273759A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230273759A1 (en) | 2023-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102549370B1 (ko) | 정보 처리 장치, 제어 방법 및 프로그램 | |
JP7086754B2 (ja) | 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム | |
JP5704834B2 (ja) | 情報処理装置および制御方法およびプログラム | |
CN111251732B (zh) | 控制方法和存储介质 | |
US11843753B2 (en) | Non-transitory computer-readable recording medium, information processing apparatus and printing method | |
US9552332B2 (en) | Information processing apparatus having improved preview function | |
JP7422462B2 (ja) | プログラム、及び情報処理装置 | |
JP7443056B2 (ja) | 情報処理装置、制御方法およびプログラム | |
JP2023125749A (ja) | プログラム、情報処理装置および制御方法 | |
JP2023158310A (ja) | 情報処理装置、情報処理装置の制御方法ならびにプログラム | |
JP2023034958A (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
JP7362384B2 (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP7439973B2 (ja) | プログラムセット、プログラム、および情報処理装置 | |
JP2014056424A (ja) | 印刷制御装置、印刷制御方法及び印刷制御システム | |
JP7328405B2 (ja) | 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション | |
JP2015016611A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP7422463B2 (ja) | プログラム、及び情報処理装置 | |
JP2023116259A (ja) | プログラム、情報処理装置および制御方法 | |
JP7255277B2 (ja) | 画像処理装置および画像処理システム | |
JP5473458B2 (ja) | データ処理装置、データ処理方法、プログラム | |
JP7324009B2 (ja) | 情報処理装置、印刷装置、それらの制御方法、及びプログラム | |
JP2024018592A (ja) | 情報処理装置、方法およびプログラム | |
JP2023041245A (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
JP2022109424A (ja) | サポートプログラム | |
JP2024016351A (ja) | 情報処理装置、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20231213 |