JP5728896B2 - 印刷システム及びプログラム - Google Patents

印刷システム及びプログラム Download PDF

Info

Publication number
JP5728896B2
JP5728896B2 JP2010254827A JP2010254827A JP5728896B2 JP 5728896 B2 JP5728896 B2 JP 5728896B2 JP 2010254827 A JP2010254827 A JP 2010254827A JP 2010254827 A JP2010254827 A JP 2010254827A JP 5728896 B2 JP5728896 B2 JP 5728896B2
Authority
JP
Japan
Prior art keywords
image forming
forming apparatus
print data
printer driver
print
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.)
Active
Application number
JP2010254827A
Other languages
English (en)
Other versions
JP2012108591A (ja
Inventor
哲郎 木野
哲郎 木野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010254827A priority Critical patent/JP5728896B2/ja
Priority to US13/289,045 priority patent/US20120120431A1/en
Publication of JP2012108591A publication Critical patent/JP2012108591A/ja
Application granted granted Critical
Publication of JP5728896B2 publication Critical patent/JP5728896B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1214Improving printing performance achieving reduced delay between job submission and print start at the submitting node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1267Job repository, e.g. non-scheduled jobs, delay printing

Description

本発明は、印刷システム及びプログラムに関する。
従来、クライアントPCと画像形成装置との間に位置し、クライアントPCより送信される印刷ジョブを蓄積しておき、画像形成装置からの要求に応じて蓄積されている印刷ジョブを画像形成装置に転送するという印刷サーバが存在する(例えば、特許文献1)。このような印刷サーバを含む印刷システムにおいて、ユーザは、まず、クライアントPCにおいて印刷指示を入力する。クライアントPCは、印刷指示に応じた印刷ジョブを印刷サーバに送信する。印刷サーバは、印刷ジョブを直ちに画像形成装置には転送せず、HDD(Hard Disk Drive)等の記憶装置に蓄積しておく。その後、ユーザは、画像形成装置を操作して、蓄積されている印刷ジョブの印刷を指示する。画像形成装置は、当該指示に応じて印刷サーバより印刷ジョブを取得し、印刷を行う。
このような印刷システムによれば、ユーザは、印刷指示後において、出力先の画像形成装置を選択することができる。
但し、各画像形成装置の機種等が異なる場合、クライアントPCでは汎用的なプリンタドライバが利用される必要がある。汎用的なプリンタドライバとは、特定の機種に特化した印刷データを生成するプリンタドライバではなく、複数機種の画像形成装置が解釈可能な汎用性の高い印刷データを生成するプリンタドライバをいう。
しかしながら、汎用的なプリンタドライバであっても、全ての機種の画像形成装置に対応可能であるとは限らない。仮に、ユーザが、汎用性の高い印刷データを解釈できない画像形成装置を操作して、印刷サーバに蓄積されている印刷ジョブを出力させようとした場合、当該画像形成装置では、出力を実行することはできない。そうすると、ユーザは、他の画像形成装置に移動して操作を行うか、又はクライアントPCに戻り、出力に失敗した画像形成装置に特化したプリンタドライバを利用して印刷指示をし直さなければならない。また、出張先等の遠隔地において、汎用性の高い印刷データを解釈可能な画像形成装置が無い場合、ユーザは、期待していた文書を入手できないことになってしまう。
本発明は、上記の点に鑑みてなされたものであって、クライアントにおける印刷指示時に出力先が限定されない場合の利便性を向上させることのできる印刷システム及びプログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、画像形成装置と、前記画像形成装置にネットワークを介して接続されるコンピュータに処理を実行させるプログラムとを有する印刷システムであって、前記プログラムは、電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成手順と、前記画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信手順と、前記画像形成装置に対応するプリンタドライバの識別情報の受信に応じ、該識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成手順と、前記第二の印刷データを前記画像形成装置に送信する第二の送信手順とを前記コンピュータに実行させ、前記画像形成装置は、前記記憶手段に記録されている前記第一の印刷データを取得する第一の取得手段と、前記第一の印刷データに基づく印刷を実行させる印刷制御手段と、当該画像形成装置が前記第一の印刷データを印刷できない場合に、当該画像形成装置に対応したプリンタドライバの前記識別情報を前記コンピュータに送信して、前記第二の印刷データを受信する第二の取得手段とを有し、前記印刷制御手段は、前記第二の印刷データに基づく印刷を実行させる。
このような印刷システムでは、クライアントにおける印刷指示時に出力先が限定されない場合の利便性を向上させることができる。
本発明によれば、クライアントにおける印刷指示時に出力先が限定されない場合の利便性を向上させることができる。
本発明の実施の形態における情報処理システムの構成例を示す図である。 本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。 ウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。 ウィジェットマネージャ及び印刷ウィジェットの起動時の処理手順を説明するためのシーケンス図である。 ユーザ管理テーブルの構成例を示す図である。 印刷ウィジェットのウィジェット情報の例を示す図である。 スキャンウィジェットのウィジェット情報の例を示す図である。 第一の実施の形態における印刷ウィジェットによる印刷ジョブの登録処理の処理手順を説明するためのシーケンス図である。 第一の実施の形態における印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。 ユーザ選択画面の表示例を示す図である。 ウィジェット選択画面の表示例を示す図である。 第一の実施の形態において出力先の画像形成装置が共通プリンタドライバに対応していない場合に実行される処理手順を説明するためのシーケンス図である。 第二の実施の形態における印刷ウィジェットによる印刷ジョブの登録処理の処理手順を説明するためのシーケンス図である。 第二の実施の形態における印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システム1において、一台以上の画像形成装置10と、一台以上のユーザ端末20とは、LAN(Local Area Network)又はインターネット等のネットワーク(有線又は無線の別は問わない。)を介して接続されている。
画像形成装置10は、例えば、スキャン、印刷、コピー、及びFAX送受信等の機能のうち、2以上の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を有するスキャナ、プリンタ、コピー機、又はファクシミリが画像形成装置10として用いられてもよい。
ユーザ端末20は、ユーザが利用する端末であり、ソフトウェアプログラムのインストール及び実行が可能であり、通信機能を有するものであれば、特定の装置に限定されない。ユーザ端末20の具体例として、デスクトップ型のPC(Personal Computer)、ノートPC、PDA(Personal Digital Assistance)、又は携帯電話等が挙げられる。
ユーザ端末20のソフトウェア構成について説明する。図1において、ユーザ端末20は、印刷ウィジェット21a、スキャンウィジェット21b、ウィジェットマネージャ22、文書アプリ23、共通プリンタドライバ24a、固有プリンタドライバ24b、印刷出力監視部25、及びOS26等を有する。
印刷ウィジェット21a及びスキャンウィジェット21bは、本実施の形態において、「ウィジェット21」として総称されるアプリケーションプログラムである。近年では、ウィジェット(Widget)又はガジェット(Gadget)とよばれる手軽なアプリケーションが流通している。本実施の形態では、手軽にインストールして利用可能なアプリケーションという程度の意味においてこれらのアプリケーションをウィジェット21と呼ぶ(すなわち、技術的な意義において限定する趣旨ではない)。但し、本実施の形態において、各ウィジェット21は、画像形成装置10の機能を利用して(画像形成装置10と連携して)所定の処理フロー(例えば、ワークフロー等の一連の処理フロー)を実現するという点において共通する。
印刷ウィジェット21aは、所定の論理プリンタに対して生成された印刷データについて、画像形成装置10に印刷ジョブを実行させる。
スキャンウィジェット21bは、画像形成装置10にスキャンを実行させ、スキャンされた画像データをユーザ端末20に保存する。
ウィジェットマネージャ22は、ウィジェット21と画像形成装置10との間の通信の仲介等を行う。各ウィジェット21は、ウィジェットマネージャ22によって規定されるインタフェース及び処理手順を備える必要がある。換言すれば、ウィジェットマネージャ22と協調して動作するアプリケーションが、本実施の形態におけるウィジェット21である。なお、ウィジェットマネージャ22は、各ユーザ端末20に配置されなくてもよい。例えば、各ユーザ端末20とは、別のコンピュータにウィジェットマネージャ22が配置されてもよい。この場合、ウィジェットマネージャ22は、各ユーザ端末20のウィジェット21から共用される。
文書アプリ23は、ワープロソフト、表計算ソフト等、印刷対象となりうる電子的な文書データ(電子データ)を作成するアプリケーションである。図中、文書アプリ23は一つのブロックによって表現されているが、文書アプリ23は、文書データのデータ形式に応じて複数の種類が存在しうる。
共通プリンタドライバ24aは、画像形成装置10の複数の機種に対応可能な汎用的なプリンタドライバである。すなわち、共通プリンタドライバ24aは、各種の文書アプリ23によって生成された文書データに関して、複数の機種において解釈可能な汎用的な印刷データを生成する。但し、共通プリンタドライバ24aによって生成される印刷データを、全ての機種が解釈(処理)可能であるとは限らない。
固有プリンタドライバ24bは、画像形成装置10の特定の機種に対応するプリンタドライバである。すなわち、固有プリンタドライバ24bは、各種の文書アプリ23によって生成された文書データに関して、特定の機種において解釈可能な印刷データを生成する。したがって、固有プリンタドライバ24bは、画像形成装置10の機種ごとに、ユーザ端末20にインストールされる。
なお、ユーザ端末20においては、共通プリンタドライバ24a及び各固有プリンタドライバ24bのそれぞれに関して、印刷ウィジェット21aに対応する論理プリンタが設定されている。当該論理プリンタが印刷先として指定された場合、当該論理プリンタに対応する共通プリンタドライバ24a又は固有プリンタドライバ24bは、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する。以下において、共通プリンタドライバ24a及び固有プリンタドライバ24bを区別しない場合、「プリンタドライバ24」という。
印刷出力監視部25は、プリンタドライバ24による中間ファイルの生成を監視する。印刷出力監視部25は、中間ファイルが生成されたことを検知すると、当該中間ファイルを印刷ウィジェット21aに入力する。なお、印刷出力監視部25は、印刷ウィジェット21aの一部であってもよい。
OS26は、いわゆるOS(Operating System)である。ユーザ端末20上の各ソフトウェアは、OS26上においてプロセス又はスレッドとして動作する。
画像形成装置10のソフトウェア構成について説明する。図1において、画像形成装置10は、標準アプリ121、SDKアプリ122、SDKプラットフォーム123、コントロールサービス124、及びOS125等を有する。
標準アプリ121は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションの集合である。同図では、スキャンアプリ1211、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャンジョブを実行する。印刷アプリ1212は印刷ジョブを実行する。コピーアプリ1213は、コピージョブを実行する。FAXアプリ1214は、FAXの送信ジョブ又は受信ジョブを実行する。
コントロールサービス124は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナの制御機能、プリンタの制御機能、メモリの管理機能等を有する。
SDKアプリ122は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、SDKアプリ122として、プロバイダアプリ1221が例示されている。プロバイダアプリ1221は、ウィジェット21を画像形成装置10より操作可能とするための処理を実行する。
SDKプラットフォーム123は、SDKアプリ122の実行環境を提供する。各SDKアプリ122は、SDKプラットフォーム123が提供するAPI(Application Program Interface)を利用して開発される。例えば、SDKプラットフォーム123は、スキャン機能を利用させるためのインタフェース、印刷機能を利用させるためのインタフェース、コピー機能を利用させるためのインタフェース等をSDKアプリ122に提供する。なお、SDKプラットフォーム123のAPIは公開されており、サードベンダ等によってもSDKアプリ122は開発されうる。
OS125は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS125上においてプロセス又はスレッドとして動作する。
続いて、各装置のハードウェア構成について説明する。図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図2において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶表示部等の表示手段を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
図3は、本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。図3のユーザ端末20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205と、表示装置206と、入力装置207とを有する。
ユーザ端末20での処理を実現するプログラムは、CD−ROM又はメモリカード等の記録媒体201によって提供される。プログラムを記録した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従ってユーザ端末20に係る機能を実現する。インタフェース装置205は、ネットワーク接続用のインタフェース、USB(Universal Serial Bus)接続用のインタフェース、Bluetooth等の無線通信用のインタフェース等、各種通信用のインタフェースである。表示装置206はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置207はキーボード、マウス等のポインティングデバイス、又はボタン等で構成され、様々な操作指示を入力させるために用いられる。
続いて、ウィジェット21、ウィジェットマネージャ22、及びプロバイダアプリ1221について更に詳しく説明する。図4は、ウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
同図に示されるように、各ウィジェット21は、ウィジェットUI部211、ウィジェット情報送信部212、連携部213、ロジック部214、及び属性情報管理ファイル215等を有する。
ウィジェットUI部211は、ウィジェット21に関する各種の表示制御及び入力制御等を行う。ウィジェット情報送信部212は、ウィジェット21の起動に応じ、ウィジェット情報(ウィジェット21の属性情報)の登録要求をウィジェットマネージャ22に送信する。ウィジェット情報には、当該ウィジェット21が利用する、画像形成装置10の機能(以下、「連携機能」という。)の識別情報(以下、「連携機能識別子」という。)等が含まれている。連携機能は、ウィジェット21と連携する画像形成装置10が有しているべき(有している必要のある)機能であるともいえる。
連携部213は、プロバイダアプリ1221との連携のための通信(情報のやりとり等)を制御する。属性情報管理ファイル215は、ウィジェット21対する属性情報を格納するファイルである。属性情報には、ウィジェット21に対する設定情報も含まれる。設定情報は、ウィジェット21の振る舞い又はウィジェット21によって実行されるジョブの内容を規定するパラメータの集合である。ロジック部214は、各ウィジェット21に固有の機能が実装される部分である。例えば、印刷ウィジェット21aのロジック部214は、所定の論理プリンタに対して生成された印刷データについて、画像形成装置10に印刷ジョブを実行させるための処理を実行する。スキャンウィジェット21bのロジック部214は、スキャンされた画像データの保存処理等を実行する。
なお、ウィジェット21に含まれる各部について、印刷ウィジェット21aに属するものとスキャンウィジェット21bに属するものとを区別する場合、前者については「a」を、後者については「b」を参照番号の末尾に付加する。例えば、印刷ウィジェット21aのロジック部214は、「ロジック部214a」と表記される。
ウィジェットマネージャ22は、ユーザ広告部221、ウィジェット情報登録部222、ウィジェット情報提供部223、及び仲介部224等を有する。
ユーザ広告部221は、ウィジェットマネージャ22の起動に応じ、ユーザ端末20へのログインユーザのユーザID等をネットワーク上に広告(ブロードキャスト又はマルチキャスト等)する。広告は、ユーザ単位(ユーザID単位)で発行される。したがって、ユーザ広告部221による広告(以下、「ユーザ広告」という。)は、何らかのウィジェット21を利用可能になったユーザが新たに発生したことを画像形成装置10に通知するための情報であるといえる。
ウィジェット情報登録部222は、ウィジェット21より送信されるウィジェット情報の登録要求を受信し、当該ウィジェット情報を、例えば、補助記憶装置202に保存する。
ウィジェット情報提供部223は、画像形成装置10からの要求に応じ、例えば、補助記憶装置202に保存されているウィジェット情報を画像形成装置10に提供(送信)する。仲介部224は、ウィジェット21とプロバイダアプリ1221との通信を仲介又は中継する。
プロバイダアプリ1221は、ユーザ検知部131、UI制御部132、ウィジェット情報取得部133、ウィジェット連携部134、機能制御部135、及びユーザ管理テーブル136等を有する。
ユーザ検知部131は、ウィジェットマネージャ22より発行されるユーザ広告に基づいて、ウィジェット21を利用可能なユーザ(ユーザ端末20)の存在を検知し、ユーザ広告に含まれているユーザID等をユーザ管理テーブル136に登録する。ユーザ管理テーブル136は、利用可能なウィジェット21がネットワーク上に存在するユーザの一覧を管理するテーブルであり、例えば、例えば、HDD114に記憶されている。
UI制御部132は、ユーザよりウィジェット21の操作指示等の入力を受け付ける。すなわち、ウィジェット21は、ユーザ端末20に配置されているが、画像形成装置10の操作パネル15からも操作されうる。
ウィジェット情報取得部133は、ユーザ管理テーブル136に登録されているユーザの中から選択されたユーザに属するウィジェット21のウィジェット情報をウィジェットマネージャ22より取得する。ウィジェット連携部134は、ウィジェットマネージャ22との通信を制御する。機能制御部135は、ウィジェット21から要求された機能の実行を制御する。機能を実現するための処理は、標準アプリ121や他のSDKアプリ122に委譲される。
以下、情報処理システム1の処理手順について説明する。ウィジェット21を利用する前に、ユーザは、ユーザ端末20においてウィジェットマネージャ22を起動し、続いて、利用したいウィジェット21を起動する。そこで、まず、ウィジェットマネージャ22及びウィジェット21の起動時の処理手順について説明する。
図5は、ウィジェットマネージャ及び印刷ウィジェットの起動時の処理手順を説明するためのシーケンス図である。
ユーザの指示に応じ、又は自動的にウィジェットマネージャ22が起動されると、ウィジェットマネージャ22のユーザ広告部221は、ログインユーザのユーザIDとウィジェットマネージャURIとを含むユーザ広告をネットワーク上に送信する(S101)。
続いて、各画像形成装置10のプロバイダアプリ1221のユーザ検知部131は、ユーザ広告を受信すると、当該ユーザ広告に含まれているユーザID及びウィジェットマネージャURIをユーザ管理テーブル136に登録する(S102)。
図6は、ユーザ管理テーブルの構成例を示す図である。同図に示されるように、ユーザ管理テーブル136は、ユーザID及びウィジェットマネージャURIを関連付けて記憶する。ウィジェットマネージャURIは、ウィジェットマネージャ22ごとに一意なURI(Uniform Resource Identifier)である。本実施の形態において、ウィジェットマネージャ22は、一台のユーザ端末20に一つ起動される。したがって、ウィジェットマネージャURIは、ユーザ端末20の識別情報であるともいえる。
多数のユーザが、それぞれのユーザ端末20においてウィジェットマネージャ22を起動することにより、各画像形成装置10のユーザ管理テーブル136には、多数のユーザに対するレコードが登録される。
ウィジェットマネージャ22の起動後、ユーザは、ユーザ端末20において、印刷ウィジェット21a又はスキャンウィジェット21bを起動させる。ここでは、印刷ウィジェット21aが起動された場合について説明する。
印刷ウィジェット21aが起動されると、印刷ウィジェット21aのウィジェット情報送信部212aは、印刷ウィジェット21aのウィジェット情報の登録要求を、ウィジェットマネージャ22に送信する(S111)。
図7は、印刷ウィジェットのウィジェット情報の例を示す図である。同図において、印刷ウィジェット21aのウィジェット情報は、ウィジェットID、連携機能識別子、及び表示名等を含む。
ウィジェットIDは、各ウィジェット21を一意に識別する識別情報である。連携機能識別子は、印刷ウィジェット21aの連携機能識別子である。印刷ウィジェット21aは、画像形成装置10に印刷を実行させるウィジェット21である。すなわち、印刷ウィジェット21aは、画像形成装置10の印刷機能を利用する。したがって、印刷ウィジェット21aの連携機能識別子は、印刷機能を示す「print」である。表示名は、印刷ウィジェット21aの名前の表示用の文字列である。なお、ウィジェット情報は、例えば、属性情報管理ファイル215aより取得される。
印刷ウィジェット21aのウィジェット情報送信部212aより送信されたウィジェット情報は、ウィジェットマネージャ22のウィジェット情報登録部222によって受信される。ウィジェット情報登録部222は、受信されたウィジェット情報に含まれているウィジェットIDを含むURIを生成し、ウィジェット情報を当該URIに関連付けて補助記憶装置202に保存(登録)する(S112)。当該URIは、ウィジェット情報の登録に応じてウィジェットごとに生成されるURIである。以下、当該URIを、「ウィジェットURI」という。ウィジェットURIは、例えば、ウィジェットマネージャURIの末尾に、ウィジェットIDが付与されることにより生成される。ここで、ウィジェットマネージャURIは、ウィジェットマネージャ22ごと(すなわち、ユーザ端末20ごと)に異なるURIである。したがって、同一の印刷ウィジェット21aが、異なるユーザ端末20において起動された場合、各印刷ウィジェット21aに対するウィジェットURIの値は異なる。すなわち、ウィジェットURIに基づいて、ネットワーク上において、一つの印刷ウィジェット21aを特定することができる。
続いて、ウィジェット情報登録部222は、ステップS112において生成したウィジェットURIを、印刷ウィジェット21aのウィジェット情報送信部212aに返信する(S113)。ウィジェット情報送信部212aは、返信されたウィジェットURIを、当該印刷ウィジェット21aに対するウィジェットURIとして、メモリ装置203に記録しておく。また、起動された印刷ウィジェット21aのウィジェットUI部211aは、印刷ウィジェット21aのアイコンを、ユーザ端末20の表示装置206に表示させる。
以上により、印刷ウィジェット21aは、ウィジェットマネージャ22に登録されたことになる。
なお、図5では、印刷ウィジェット21aに関して説明を行ったが、スキャンウィジェット21bの起動時においても、図5と同様の処理手順が実行される。例えば、ステップS111では、起動されたスキャンウィジェット21bのウィジェット情報送信部212bによって、スキャンウィジェット21bのウィジェット情報が、ウィジェットマネージャ22に送信される。
図8は、スキャンウィジェットのウィジェット情報の例を示す図である。同図に示されるウィジェット情報を構成する各項目は、図7において説明した印刷ウィジェット21aのウィジェット情報を構成する項目と同様である。但し、各項目の値は異なる。
すなわち、ウィジェットIDは、スキャンウィジェット21bのウィジェットIDである。また、スキャンウィジェット21bは、画像形成装置10のスキャン機能を利用する。したがって、スキャンウィジェット21bの連携機能識別子は、スキャン機能を示す「scan」である。表示名は、スキャンウィジェット21bの名前の表示用の文字列である。
図8に示されるウィジェット情報に受信に応じて、ウィジェットマネージャ22によってスキャンウィジェット21bに対するウィジェットURIが生成され、当該ウィジェットURIがスキャンウィジェット21bに返信される。
続いて、第一の実施の形態における、印刷ウィジェット21aによる印刷ジョブの登録処理について説明する。図9は、第一の実施の形態における印刷ウィジェットによる印刷ジョブの登録処理の処理手順を説明するためのシーケンス図である。
例えば、印刷ウィジェット21aのアイコンに対して印刷対象の文書ファイルのアイコンがドラッグアンドドロップされると、印刷ウィジェット21aのロジック部214aは、ドロップされたファイルアイコンに係る文書ファイルに対応する文書アプリ23に対して印刷指示を入力する(S201)。当該文書ファイルに対応する文書アプリ23とは、当該文書ファイルの種別に対応する文書アプリ23をいう。例えば、印刷ウィジェット21aは、補助記憶装置202を用いて、文書ファイルの種別(例えば、文書ファイルの拡張子)と文書アプリ23の名前との対応情報を管理している。印刷ウィジェット21aは、当該対応情報に基づいて、ドロップされたアイコンに係る文書ファイルに対応する文書アプリ23を判定する。
文書アプリ23に対する印刷指示は、例えば、ドロップされたアイコンに係る文書ファイルの文書ファイル名が引数に指定された、文書アプリ23に対する印刷指示を示すコマンドラインがOS26に対して入力されることにより実現される。また、当該印刷指示では、印刷先の論理プリンタ名も指定される。ここでは、共通プリンタドライバ24aに対応し、印刷ウィジェット21a用に設定された論理プリンタ名が指定される。
OS26に対するコマンドラインの入力に応じ、当該文書アプリ23はバックグラウンドで起動される。文書アプリ23は、起動に応じ、指定された文書ファイルの印刷イメージを生成する(S202)。続いて、文書アプリ23は、当該印刷イメージの印刷要求を、印刷指示において指定された論理プリンタに係る共通プリンタドライバ24aに入力する(S203)。
印刷要求に応じ、共通プリンタドライバ24aは、文書データに関する印刷データ(PDL(Page Description Language)データ)を生成する。共通プリンタドライバ24aは、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する(S204)。
一方、印刷出力監視部25は、所定のファイル名の中間ファイルが生成されるのを監視している(S205)。具体的には、印刷出力監視部25は、中間ファイルの有無を確認するため所定のフォルダ内の所定のファイル名のファイルをポーリングしている。印刷出力監視部25は、中間ファイルが生成されたことを検知すると、当該中間ファイルより印刷データを読み込む(S206)。印刷出力監視部25は、当該印刷データを印刷ウィジェット21aに入力する(S207)。
続いて、印刷ウィジェット21aの連携部213aは、当該印刷データに係る印刷ジョブの登録要求をウィジェットマネージャ22に送信する(S208)。なお、印刷ジョブの登録要求には、印刷ウィジェット21aに対するウィジェットURIも指定される。
ステップS208において印刷ウィジェット21aの連携部213aより送信された印刷ジョブの登録要求は、ウィジェットマネージャ22のウィジェット情報登録部222によって受信される。ウィジェット情報登録部222は、当該登録要求に係る印刷ジョブを識別するためのURI(印刷ジョブURI)を、受信された登録要求に指定されているウィジェットURIに基づいて生成し、当該印刷ジョブを、生成された印刷ジョブURIに関連付けて、補助記憶装置202に記録する(S209)。印刷ジョブURIは、ウィジェットURIの末尾に対して、印刷ジョブごとの識別子が付与されることにより生成される。ウィジェット情報登録部222は、生成された印刷ジョブURIを、印刷ウィジェット21aの連携部213aに返信する(S210)。
その後、更に、文書ファイルのアイコンが印刷ウィジェット21aのアイコンにドロップされると、当該文書ファイルに係る印刷ジョブが、ウィジェットマネージャ22に登録される。すなわち、一つのウィジェットマネージャ22には、一つの印刷ウィジェット21aに関して複数の印刷ジョブが蓄積されうる。この場合、ウィジェットマネージャ22では、一つのウィジェットURIに基づいて複数の印刷ジョブURIが生成され、各印刷ジョブURIに関連付けられて、印刷ジョブが記憶される。
ユーザは、印刷ウィジェット21aを介して印刷ジョブをウィジェットマネージャ22に登録した後、印刷ジョブを実行させるために画像形成装置10の設置場所へ移動する。なお、複数の画像形成装置10がネットワークに接続されている場合、同一のユーザ広告が各画像形成装置10によって受信され、それぞれの画像形成装置10のユーザ管理テーブル136にユーザ広告の内容が登録されている。したがって、ユーザは、印刷機能を備えた画像形成装置10であれば、複数の画像形成装置10のいずれからも印刷ジョブを実行させることができる。
続いて、画像形成装置10におけるユーザによる操作に応じて実行される処理について説明する。図10は、第一の実施の形態における印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。
操作対象(すなわち、出力先)とされた画像形成装置10の操作パネル15を介してプロバイダアプリ1221が利用対象としてユーザによって選択されると(S301)、プロバイダアプリ1221のUI制御部132は、ユーザ管理テーブル136に登録されている情報に基づいてユーザ選択画面を操作パネル15に表示させる(S302)。
図11は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面610には、ユーザIDごとにボタンが表示されている。同図では、ユーザAに対応するボタン611とユーザBに対応するボタン612とが表示されている。
続いて、ユーザは、ユーザ選択画面610において自らのユーザIDに対応するボタンを押下する(S303)。ボタンの押下に応じ、ウィジェット情報取得部133は、選択されたボタンに対応するユーザIDに関連付けられているウィジェットマネージャURIをユーザ管理テーブル136より取得する。
続いて、ウィジェット情報取得部133は、取得されたウィジェットマネージャURIに係るウィジェットマネージャ22宛に、ウィジェット情報の一覧(ウィジェットリスト)の取得要求を送信する(S304)。ウィジェットリストの取得要求は、当該ウィジェットマネージャ22のウィジェット情報提供部223によって受信される。ウィジェット情報提供部223は、補助記憶装置202に記録されているウィジェット情報の一覧を取得し、当該一覧(すなわち、ウィジェットリスト)をプロバイダアプリ1221に返信する(S305)。なお、各ウィジェット情報は、当該ウィジェット情報に係るウィジェットに対して割り当てられたウィジェットURIが付与された状態でウィジェットリストに含められて、プロバイダアプリ1221に転送される。
続いて、プロバイダアプリ1221のUI制御部132は、受信されたウィジェットリストをRAM112に記録しておき、当該ウィジェットリストに基づいて、ユーザに利用可能なウィジェット21の一覧を含む画面(ウィジェット選択画面)を操作パネル15に表示させる(S306)。
図12は、ウィジェット選択画面の表示例を示す図である。同図においてウィジェット選択画面620には、印刷ウィジェット21aに対応するボタン621とスキャンウィジェット21bに対応するボタン622とが表示されている。すなわち、同図は、印刷ウィジェット21aのウィジェット情報と、スキャンウィジェット21bのウィジェット情報とを含むウィジェットリストがステップS305において受信された場合のウィジェット選択画面620の表示例である。
ウィジェット選択画面620においてボタン621が押下されると(S307)、ウィジェット連携部134は、選択されたボタン621に係るウィジェット情報に含まれている連携機能識別子(「print」)に基づいて、印刷ジョブを実行すべきことを判断する。そこで、ウィジェット連携部134は、当該ウィジェット情報に関連付けられているウィジェットURIを指定して、当該ウィジェットURIに係るウィジェットマネージャ22宛に印刷ジョブの一覧情報(ジョブリスト)の取得要求を送信する(S308)。
当該取得要求は、当該ウィジェットマネージャ22の仲介部224によって受信される。仲介部224は、当該取得要求に指定されているウィジェットURIに関連付けられて補助記憶装置202に記録されている印刷ジョブごとに、印刷ジョブURI及びジョブ名を含むジョブリストを生成し、当該ジョブリストを返信する(S309)。ジョブ名は、例えば、印刷ジョブにおいて印刷対象とされている文書ファイル名である。
プロバイダアプリ1221のウィジェット連携部134は、ジョブリストを受信すると、ジョブリストに含まれているジョブ名の一覧を操作パネル15に表示させる(S310)。ユーザによって、当該一覧の中から実行対象とするジョブ名が選択されると(S311)、ウィジェット連携部134は、選択されたジョブ名に対応する印刷ジョブURIを指定して、当該印刷ジョブURIに係るウィジェットマネージャ22宛に当該印刷ジョブに係る印刷データの取得要求を送信する(S312)。
当該取得要求は、当該ウィジェットマネージャ22の仲介部224によって受信される。仲介部224は、当該取得要求に指定されている印刷ジョブURIに関連付けられて補助記憶装置202に記録されている印刷データ(印刷ジョブ)を補助記憶装置202より取得し、プロバイダアプリ1221に返信する(S313)。
プロバイダアプリ1221のウィジェット連携部134は、受信された印刷データを機能制御部135に入力する。機能制御部135は、入力された印刷データをSDKプラットフォーム123を介して印刷アプリ1212に入力する(S314、S315)。印刷アプリ1212は、印刷データに基づいてプリンタ13を制御し、当該印刷データの印刷をプリンタ13に実行させる(S316)。当該画像形成装置10の印刷アプリ1212又は印刷アプリ1212が利用する下位のプログラムモジュール(例えば、コントロールサービス124に含まれるプログラムモジュール)等が、共通プリンタドライバ24aによって生成される印刷データを処理可能な場合、印刷処理は成功する。
一方、当該画像形成装置10の印刷アプリ1212又は印刷アプリ1212が利用する下位のプログラムモジュール等が、共通プリンタドライバ24aによって生成される印刷データに対応していない場合、印刷処理は失敗する。この場合に実行される処理手順について説明する。
図13は、第一の実施の形態において出力先の画像形成装置が共通プリンタドライバに対応していない場合に実行される処理手順を説明するためのシーケンス図である。
図10のステップS316において、印刷アプリ1212によって実行される印刷処理が失敗した場合、当該失敗を示すエラー情報は、SDKプラットフォーム123を介してプロバイダアプリ1221に通知される(S401、S402)。当該エラーの内容が、印刷データが対応不能(処理不能)な形式であることを示す場合(すなわち、当該画像形成装置10が共通プリンタドライバ24aに対応していない場合)、プロバイダアプリ1221は、図10のステップS311において選択されたジョブ名に対応する印刷ジョブURIを指定して、当該印刷ジョブURIに係るウィジェットマネージャ22宛に当該印刷ジョブに係る印刷データの取得要求を改めて送信する(S403)。但し、ステップS403における印刷データの取得要求には、当該画像形成装置10の機種名(モデル名)が付与される。機種名は、例えば、画像形成装置10のROM113又はHDD114等より取得される。
なお、画像形成装置10が共通プリンタドライバ24aに対応しているか否かは、プロバイダアプリ1221によって判定されてもよい。例えば、各画像形成装置10のHDD114には、共通プリンタドライバ24aに対応している機種名の一覧が記憶されていてもよい。プロバイダアプリ1221の機能制御部135は、図10のステップS314において、SDKプラットフォーム123を介して、印刷アプリ1212に印刷データを入力する前に、当該印刷データを生成したプリンタドライバ24を判定する。印刷データの生成元のプリンタドライバ24は、印刷データのヘッダ情報等を参照することにより判定可能である。機能制御部135は、当該印刷データの生成元が共通プリンタドライバ24である場合、当該画像形成装置10が共通プリンタドライバ24に対応しているか否かを、当該画像形成装置10の機種名と、共通プリンタドライバ24aに対応している機種名の一覧とを照合して判定する。すなわち、当該画像形成装置10の機種名が、当該一覧に含まれていれば、当該画像形成装置10は共通プリンタドライバ24aに対応していると判定される。一方、当該画像形成装置10の機種名が、当該一覧に含まれていなければ、当該画像形成装置10は共通プリンタドライバ24aに対応していないと判定される。
機能制御部135によって、当該画像形成装置10は、共通プリンタドライバ24aに対応していないと判定された場合、プロバイダアプリ1221は、ステップS403を実行する。したがって、この場合、図10のステップS314〜S316は実行されることなく、ステップS403が実行されうる。
ステップS403において送信された印刷データの取得要求は、当該取得要求宛のウィジェットマネージャ22の仲介部224によって受信される。仲介部224は、当該取得要求に機種名が指定されていることに応じ、当該取得要求に指定されている印刷ジョブURIに関連付けられている印刷ジョブの文書ファイル名を指定して、印刷データの生成要求を当該印刷ジョブURIに係る印刷ウィジェット21aに送信する(S404)。当該生成要求には、印刷データの取得要求に指定されていた機種名が指定される。
すなわち、仲介部224は、プロバイダアプリ1221からの印刷データの取得要求に関して、機種名が指定されていない場合は、図10のステップS313のように、当該取得要求に指定されている印刷ジョブURIに関連付けられて補助記憶装置202に記録されている印刷データをプロバイダアプリに返信する。一方、機種名が指定されている場合は、新たな印刷データの生成を当該印刷ジョブURIに係る印刷ウィジェット21aに要求する。
印刷ウィジェットのロジック部214aは、印刷データの生成要求に応じ、当該生成要求に指定されている機種名に対応する固有プリンタドライバ24bを判定する(S405)。通常、各固有プリンタドライバ24bが対応する機種名を示す情報は、各固有プリンタドライバ24bに関連付けられている。本実施の形態では、各固有プリンタドライバ24bの名前には、対応する機種名が含まれている。したがって、ロジック部214aは、当該生成要求に指定されている機種名を名前に含む固有プリンタドライバ24bを、当該機種名に対応するプリンタドライバ24bであると判定する。但し、各固有プリンタドライバ24bと機種名との対応情報は、別の形態で管理されていてもよい。
続いて、ロジック部214aは、印刷データの生成処理を起動させる(S406)。ステップS406における印刷データの生成処理の内容は、図9のステップS201〜S207において説明した処理手順に相当する。但し、ステップS201に相当するステップおいて、ロジック部214aは、ステップS405において判定された固有プリンタドライバ24bに対応し、印刷ウィジェット21a用に設定された論理プリンタ名を指定する。したがって、ステップS406における印刷データの生成処理では、当該固有プリンタドライバ24bによって印刷データが生成される。
続いて、印刷ウィジェット21aの連携部213aは、生成された印刷データを、ステップS404においける印刷データの生成要求に対する応答として、ウィジェットマネージャ22に送信する(S407)。続いて、ウィジェットマネージャ22の仲介部224は、受信された印刷データを、ステップS403の印刷データの取得要求に対する応答として、プロバイダアプリ1221に送信する(S408)。
続く、ステップS409〜S411では、ステップS408に応じてプロバイダアプリ1221によって受信された印刷データに関して、図10のステップS314〜S316と同様の処理が実行される。但し、ステップS408に応じて受信された印刷データは、当該画像形成装置10の機種に対応した固有プリンタドライバ24bによって生成されたものである。したがって、ステップS411においては、当該画像形成装置10に異常等が発生していなければ、成功する可能性が高い。
なお、ステップS405において、機種名に対応する固有プリンタドライバ24bがユーザ端末20にインストールされていなかった場合、ステップS406は実行されない。また、ステップS407及びS408では、印刷データの代わりにエラー情報が転送される。プロバイダアプリ1221のUI制御部132は、エラー情報を操作パネル15に表示させる。
上述したように、第一の実施の形態によれば、共通プリンタドライバ24aによって生成され、ウィジェットマネージャ22に登録されている印刷データ(印刷ジョブ)について、共通プリンタドライバ24aに対応していない画像形成装置10が出力先とされた場合であっても、自動的に、当該画像形成装置10の機種名に対応した固有プリンタドライバ24bによって印刷データが再生成される。したがって、ウィジェットマネージャ22に登録されている印刷データに関する印刷について、当初出力先として選択した画像形成装置10において出力が成功する可能性を高めることができる。
次に、第二の実施の形態について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でよい。
第二の実施の形態では、図9の処理が、例えば、図14に示される処理に置き換わる。
図14は、第二の実施の形態における印刷ウィジェットによる印刷ジョブの登録処理の処理手順を説明するためのシーケンス図である。
例えば、印刷ウィジェット21aのアイコンに対して印刷対象の文書ファイルのアイコンがドラッグアンドドロップされると、印刷ウィジェット21aの連携部213aは、ドロップされた文書ファイルのファイル名と、印刷ウィジェット21aのウィジェットURIとを指定して、印刷ジョブの登録要求をウィジェットマネージャ22に送信する(S451)。
印刷ウィジェット21aの連携部213aより送信された印刷ジョブの登録要求は、ウィジェットマネージャ22のウィジェット情報登録部222によって受信される。ウィジェット情報登録部222は、当該登録要求に係る印刷ジョブに対する印刷ジョブURIを、受信された登録要求に指定されているウィジェットURIに基づいて生成し、当該印刷ジョブを、生成された印刷ジョブURIに関連付けて、補助記憶装置202に記録する(S452)。ウィジェット情報登録部222は、生成された印刷ジョブURIを、印刷ウィジェット21aの連携部213aに返信する(S453)。
ここで、ウィジェットマネージャ22に登録された印刷ジョブの内容は、文書ファイル名であり、印刷データではない。すなわち、第二の実施の形態では、いわば、実体は空である印刷ジョブが、ウィジェットマネージャ22に登録される。
また、第二の実施の形態では、図10のステップS312以降の処理手順が、例えば、図15に示される処理手順に置き換わる。
図15は、第二の実施の形態における印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。同図の処理手順は、図10のステップS301〜S311の処理に続いて実行される。
ステップS501において、プロバイダアプリ1221のウィジェット連携部134は、ジョブ名の一覧の中から選択されたジョブ名に対応する印刷ジョブURIを指定して、当該印刷ジョブURIに係るウィジェットマネージャ22宛に当該印刷ジョブに係る印刷データの取得要求を送信する(S501)。当該取得要求には、当該画像形成装置10の機種名が指定される。
当該取得要求は、当該取得要求宛のウィジェットマネージャ22の仲介部224によって受信される。仲介部224は、当該取得要求に指定されている印刷ジョブURIに関連付けられている印刷ジョブの文書ファイル名と、当該取得要求に指定されている機種名とを指定して、当該印刷ジョブURIに係る印刷ウィジェット21aに印刷データの生成要求を送信する(S502)。
印刷ウィジェット21aのロジック部214aは、印刷データの生成要求に応じ、当該生成要求に指定されている機種名に対応する固有プリンタドライバ24bを判定する(S503)。当該ステップの処理内容は、図13のステップS405の処理内容と同様である。但し、当該機種名に対応する固有プリンタドライバ24bが存在しない場合、共有プリンタドライバ24aが利用対象として判定されてもよい。出力先の画像形成装置10は、共有プリンタドライバ24aに対応している可能性も有るからである。
続いて、ロジック部214aは、印刷データの生成要求に指定されている文書ファイル名に対応する文書アプリ23に対して印刷指示を入力する(S504)。当該印刷指示では、印刷先の論理プリンタ名として、ステップS503において判定されたプリンタドライバ24に対応し、印刷ウィジェット21a用に設定された論理プリンタ名が指定される。
続くステップS505〜S510では、図9のステップS202からS207と同様の処理が実行される。但し、利用されるプリンタドライバ24は、必ずしも、共通プリンタドライバ24aであるとは限らない。出力先の画像形成装置10の機種名に対応する固有プリンタドライバ24bが、ステップS503において優先的に選択されているからである。
続いて、ステップS511〜S515は、図13のステップS407〜S411と同様の処理手順である。上記したように、出力対象の印刷データは、当該画像形成装置10に対応した形式である可能性が高い。したがって、ステップS515においては、印刷処理が成功する可能性が高い。
上述したように、第二の実施の形態では、印刷ジョブの登録時には、印刷データは生成されず、出力先の画像形成装置10が決定された後に、当該画像形成装置10の機種に対応したプリンタドライバ24によって印刷データが生成される。したがって、当初出力先として選択した画像形成装置10において出力が成功する可能性を高めることができる。
なお、上記各実施の形態では、出力先の画像形成装置10に対応した固有プリンタドライバ24bを判定するために、画像形成装置10の機種名が用いられる例について説明した。しかし、画像形成装置10に対応した固有プリンタドライバ24bを識別可能な情報であれば、機種名以外の情報が用いられてもよい。例えば、固有プリンタドライバ24bの名前が機種名の代わりに用いられてもよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 情報処理システム
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20 ユーザ端末
21a 印刷ウィジェット
21b スキャンウィジェット
22 ウィジェットマネージャ
23 文書アプリ
24a 共通プリンタドライバ
24b 固有プリンタドライバ
25 印刷出力監視部
26 OS
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
121 標準アプリ
122 SDKアプリ
123 SDKプラットフォーム
124 コントロールサービス
125 OS
131 ユーザ検知部
132 UI制御部
133 ウィジェット情報取得部
134 ウィジェット連携部
135 機能制御部
136 ユーザ管理テーブル
200 ドライブ装置
201 記録媒体
202 補助記憶装置
203 メモリ装置
204 CPU
205 インタフェース装置
206 表示装置
207 入力装置
211 ウィジェットUI部
212 ウィジェット情報送信部
213 連携部
214 ロジック部
215 属性情報管理ファイル
221 ユーザ広告部
222 ウィジェット情報登録部
223 ウィジェット情報提供部
224 仲介部
1211 スキャンアプリ
1212 印刷アプリ
1213 コピーアプリ
1214 FAXアプリ
1221 プロバイダアプリ
特開2007−200284号公報

Claims (10)

  1. 画像形成装置と、前記画像形成装置にネットワークを介して接続されるコンピュータに処理を実行させるプログラムとを有する印刷システムであって、
    前記プログラムは、
    電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成手順と、
    前記画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信手順と、
    前記画像形成装置に対応するプリンタドライバの識別情報の受信に応じ、該識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成手順と、
    前記第二の印刷データを前記画像形成装置に送信する第二の送信手順とを前記コンピュータに実行させ、
    前記画像形成装置は、
    前記記憶手段に記録されている前記第一の印刷データを取得する第一の取得手段と、
    前記第一の印刷データに基づく印刷を実行させる印刷制御手段と、
    当該画像形成装置が前記第一の印刷データを印刷できない場合に、当該画像形成装置に対応したプリンタドライバの前記識別情報を前記コンピュータに送信して、前記第二の印刷データを受信する第二の取得手段とを有し、
    前記印刷制御手段は、前記第二の印刷データに基づく印刷を実行させる印刷システム。
  2. 前記第一のプリンタドライバは、前記画像形成装置の複数の機種に対応した印刷データを生成する請求項1記載の印刷システム。
  3. 前記識別情報は、前記画像形成装置の機種名である請求項1又は2記載の印刷システム。
  4. 画像形成装置と、前記画像形成装置にネットワークを介して接続されるコンピュータに処理を実行させるプログラムとを有する印刷システムであって、
    前記プログラムは、
    電子データの印刷指示に応じ、前記電子データの識別名を記憶手段に記録する記録手順と、
    前記画像形成装置からの要求に応じ、前記識別名を前記画像形成装置に送信する第一の送信手順と、
    前記画像形成装置に対応するプリンタドライバの識別情報及び前記識別名の受信に応じ、該識別情報に係るプリンタドライバが存在する場合、該識別情報に係るプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させ、該識別情報に係るプリンタドライバが存在しない場合に、該識別情報に係るプリンタドライバとは別のプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させる生成手順と、
    前記印刷データを前記画像形成装置に送信する第二の送信手順とを前記コンピュータに実行させ、
    前記画像形成装置は、
    前記記憶手段に記録されている前記識別名を取得する第一の取得手段と、
    当該画像形成装置に対応したプリンタドライバの前記識別情報と前記識別名とを前記コンピュータに送信して、前記印刷データを受信する第二の取得手段と、
    印刷データに基づく印刷を実行させる印刷制御手段とを有する印刷システム。
  5. 電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成手順と、
    ネットワークを介して接続される画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信手順と、
    前記画像形成装置が前記第一の印刷データを印刷できない場合に、前記画像形成装置に対応するプリンタドライバの識別情報受信する受信手順と、
    前記受信手順において受信された前記識別情報に応じ、前記識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成手順と、
    前記第二の印刷データを前記画像形成装置に送信する第二の送信手順とをコンピュータに実行させるプログラム。
  6. 電子データの印刷指示に応じ、前記電子データの識別名を記憶手段に記録する記録手順と、
    ネットワークを介して接続される画像形成装置からの要求に応じ、前記識別名を前記画像形成装置に送信する第一の送信手順と、
    前記画像形成装置に対応するプリンタドライバの識別情報及び前記識別名の受信に応じ、該識別情報に係るプリンタドライバが存在する場合、該識別情報に係るプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させ、該識別情報に係るプリンタドライバが存在しない場合に、該識別情報に係るプリンタドライバとは別のプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させる生成手順と、
    前記印刷データを前記画像形成装置に送信する第二の送信手順とをコンピュータに実行させるプログラム。
  7. ネットワークを介して接続される端末と画像形成装置とを有する印刷システムであって、
    前記端末は、
    電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成手段と、
    前記画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信手段と、
    前記画像形成装置に対応するプリンタドライバの識別情報の受信に応じ、該識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成手段と、
    前記第二の印刷データを前記画像形成装置に送信する第二の送信手段とを有し、
    前記画像形成装置は、
    前記記憶手段に記録されている前記第一の印刷データを取得する第一の取得手段と、
    前記第一の印刷データに基づく印刷を実行させる印刷制御手段と、
    当該画像形成装置が前記第一の印刷データを印刷できない場合に、当該画像形成装置に対応したプリンタドライバの前記識別情報を前記端末に送信して、前記第二の印刷データを受信する第二の取得手段とを有し、
    前記印刷制御手段は、前記第二の印刷データに基づく印刷を実行させる印刷システム。
  8. ネットワークを介して接続される端末と画像形成装置とを有する印刷システムであって、
    前記端末は、
    電子データの印刷指示に応じ、前記電子データの識別名を記憶手段に記録する記録手段と、
    前記画像形成装置からの要求に応じ、前記識別名を前記画像形成装置に送信する第一の送信手段と、
    前記画像形成装置に対応するプリンタドライバの識別情報及び前記識別名の受信に応じ、該識別情報に係るプリンタドライバが存在する場合に、該識別情報に係るプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させ、該識別情報に係るプリンタドライバが存在しない場合に、該識別情報に係るプリンタドライバとは別のプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させる生成手段と、
    前記印刷データを前記画像形成装置に送信する第二の送信手段とを有し、
    前記画像形成装置は、
    前記記憶手段に記録されている前記識別名を取得する第一の取得手段と、
    当該画像形成装置に対応したプリンタドライバの前記識別情報と前記識別名とを前記端末に送信して、前記印刷データを受信する第二の取得手段と、
    印刷データに基づく印刷を実行させる印刷制御手段とを有する印刷システム。
  9. ネットワークを介して接続される端末と画像形成装置とを有する印刷システムにおける印刷方法であって、
    前記端末が、
    電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成ステップと、
    前記画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信ステップと、
    前記画像形成装置に対応するプリンタドライバの識別情報の受信に応じ、該識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成ステップと、
    前記第二の印刷データを前記画像形成装置に送信する第二の送信ステップとを実行し、
    前記画像形成装置が、
    前記記憶手段に記録されている前記第一の印刷データを取得する第一の取得ステップと、
    前記第一の印刷データに基づく印刷を実行させる印刷制御ステップと、
    当該画像形成装置が前記第一の印刷データを印刷できない場合に、当該画像形成装置に対応したプリンタドライバの前記識別情報を前記端末に送信して、前記第二の印刷データを受信する第二の取得ステップとを実行し、
    前記印刷制御ステップは、前記第二の印刷データに基づく印刷を実行する印刷方法。
  10. ネットワークを介して接続される端末と画像形成装置とを有する印刷システムにおける印刷方法であって、
    前記端末が、
    電子データの印刷指示に応じ、前記電子データの識別名を記憶手段に記録する記録ステップと、
    前記画像形成装置からの要求に応じ、前記識別名を前記画像形成装置に送信する第一の送信ステップと、
    前記画像形成装置に対応するプリンタドライバの識別情報及び前記識別名の受信に応じ、該識別情報に係るプリンタドライバが存在する場合に、該識別情報に係るプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させ、該識別情報に係るプリンタドライバが存在しない場合に、該識別情報に係るプリンタドライバとは別のプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させる生成ステップと、
    前記印刷データを前記画像形成装置に送信する第二の送信ステップとを実行し、
    前記画像形成装置が、
    前記記憶手段に記録されている前記識別名を取得する第一の取得ステップと、
    当該画像形成装置に対応したプリンタドライバの前記識別情報と前記識別名とを前記端末に送信して、前記印刷データを受信する第二の取得ステップと、
    印刷データに基づく印刷を実行させる印刷制御ステップとを実行する印刷方法。
JP2010254827A 2010-11-15 2010-11-15 印刷システム及びプログラム Active JP5728896B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010254827A JP5728896B2 (ja) 2010-11-15 2010-11-15 印刷システム及びプログラム
US13/289,045 US20120120431A1 (en) 2010-11-15 2011-11-04 Printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010254827A JP5728896B2 (ja) 2010-11-15 2010-11-15 印刷システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2012108591A JP2012108591A (ja) 2012-06-07
JP5728896B2 true JP5728896B2 (ja) 2015-06-03

Family

ID=46047501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010254827A Active JP5728896B2 (ja) 2010-11-15 2010-11-15 印刷システム及びプログラム

Country Status (2)

Country Link
US (1) US20120120431A1 (ja)
JP (1) JP5728896B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5746530B2 (ja) * 2011-03-17 2015-07-08 キヤノン株式会社 印刷設定情報を設定する装置及びその制御方法
JP2013239144A (ja) * 2012-04-20 2013-11-28 Canon Inc 印刷システム、および印刷中継サーバー、およびクライアント装置。
US8743403B2 (en) * 2012-05-14 2014-06-03 Xerox Corporation Certified print archiving
JP5991167B2 (ja) * 2012-11-28 2016-09-14 スター精密株式会社 印刷制御装置および印刷制御用プログラム
JP5578259B1 (ja) * 2013-07-22 2014-08-27 富士ゼロックス株式会社 端末装置、画像形成システム及びプログラム
WO2015144242A1 (en) * 2014-03-28 2015-10-01 Sato Holdings Kabushiki Kaisha Multiple platform printer configuration
JP6204281B2 (ja) * 2014-06-30 2017-09-27 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及び画像形成プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4817474B2 (ja) * 1998-03-17 2011-11-16 キヤノン株式会社 データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体
WO2001077808A1 (fr) * 2000-04-07 2001-10-18 Seiko Epson Corporation Commande d'impression decentralisee par des imprimantes
JP3720740B2 (ja) * 2000-09-12 2005-11-30 キヤノン株式会社 分散印刷システム、分散印刷制御方法、記憶媒体、及びプログラム
US7149826B2 (en) * 2002-08-05 2006-12-12 Hewlett-Packard Development Company, L.P. Peripheral device output job routing
JP2004151816A (ja) * 2002-10-29 2004-05-27 Konica Minolta Holdings Inc ホスト装置
JP4006392B2 (ja) * 2003-12-03 2007-11-14 キヤノン株式会社 情報処理装置、及び、制御プログラム
US7777905B2 (en) * 2006-01-24 2010-08-17 Ricoh Company, Ltd. MIME type-based printer driver selection
JP2009294889A (ja) * 2008-06-05 2009-12-17 Ricoh Co Ltd 印刷システムおよび印刷装置
JP2010146353A (ja) * 2008-12-19 2010-07-01 Ricoh Co Ltd 印刷システム、ジョブ処理方法、プログラムおよび記録媒体
JP2010218499A (ja) * 2009-03-19 2010-09-30 Sharp Corp プリンタドライバ及び画像形成装置
JP5489619B2 (ja) * 2009-09-29 2014-05-14 キヤノン株式会社 情報処理装置及びその方法

Also Published As

Publication number Publication date
JP2012108591A (ja) 2012-06-07
US20120120431A1 (en) 2012-05-17

Similar Documents

Publication Publication Date Title
JP5402650B2 (ja) 表示制御装置、情報処理システム、及び表示制御方法
JP5293288B2 (ja) 画像形成装置、情報処理装置、情報処理方法、及びプログラム
JP5728896B2 (ja) 印刷システム及びプログラム
JP5413077B2 (ja) 情報処理システム、画像形成装置、情報処理装置、情報処理方法、及びプログラム
JP6455195B2 (ja) 操作画面提供システム、中継装置及びプログラム
JP2010157027A (ja) 画像形成装置、情報処理装置、印刷処理制御方法、及びプログラム
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
US8990373B2 (en) Information processing apparatus, information processing system, and storage medium
US20110292460A1 (en) Information processing system, information processing apparatus, control method thereof, and storage medium
US8705091B2 (en) Image forming device generating screens for remote and local access, information processing method, and computer-readable recording medium
JP2011129054A (ja) 印刷ジョブ管理装置、印刷ジョブ管理システム、印刷ジョブ管理方法、及び印刷ジョブ管理プログラム
JP2013191196A (ja) 情報処理装置、機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP2012129686A (ja) 画像形成装置、情報処理方法、プログラム、及び記録媒体
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP6492711B2 (ja) 中継装置、操作画面提供装置及びプログラム
JP5369782B2 (ja) 画像形成装置、情報処理方法、及びプログラム
JP5821930B2 (ja) 表示制御装置、表示制御方法、及び表示制御プログラム
JP5482043B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6123109B2 (ja) 画像形成装置
JP5672838B2 (ja) 画像形成装置、情報処理方法、及び情報処理システム
JP2013016077A (ja) 情報処理装置、プログラム、及び印刷システム
JP5696437B2 (ja) 画像形成装置、プログラム、及び情報処理方法
JP5751361B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5447637B2 (ja) 装置、表示制御方法、及び表示制御プログラム
JP2021016183A (ja) 情報処理装置、データ処理方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150323

R151 Written notification of patent or utility model registration

Ref document number: 5728896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151