次に、本発明の実施の形態について、詳細に説明する。なお、本実施形態では出力システムの一例としての印刷システムを例として説明するが、印刷システムに限定するものではない。出力システムは投影システムや表示システムの他、蓄積先に蓄積してあるジョブを出力するシステムであればよい。
[第1の実施形態]
<システム構成>
図1は、本実施形態に係る印刷システムの一例の構成図である。図1の印刷システム1はLANなどのネットワークN1を介して接続された管理者端末11、アプリケーションサーバ装置12、認証サーバ装置13、印刷サーバ装置14、クライアント端末16、共有の出力装置17、携帯端末18を有する。また、印刷システム1はクライアント端末16と接続されたローカルの出力装置15を有する。
管理者端末11、アプリケーションサーバ装置12、認証サーバ装置13、印刷サーバ装置14、ローカルの出力装置15、クライアント端末16、共有の出力装置17、携帯端末18は無線又は有線による通信手段を有している。
図1では管理者端末11、アプリケーションサーバ装置12、認証サーバ装置13、印刷サーバ装置14、ローカルの出力装置15、クライアント端末16、共有の出力装置17、携帯端末18が1台である例を示しているが、複数台あってもよい。
管理者端末11は管理者が利用するPC等の情報処理装置(コンピュータ)である。管理者端末11は管理者からの要求に基づき、各ユーザのクライアント端末16に対する設定等を行い、設定した内容(設定データ)をアプリケーションサーバ装置12やクライアント端末16等、ネットワークN1を介して接続する装置に送信することができる。
アプリケーションサーバ装置12は一台以上の情報処理装置によって実現される。アプリケーションサーバ装置12はクライアント端末16に配布する印刷アプリケーションソフトウェア等のアプリケーションソフトウェアや該アプリケーションソフトウェアに関する設定データである印刷設定データ等を保有している。アプリケーションサーバ装置12は保有している印刷アプリケーションソフトウェアや印刷設定データをクライアント端末16に配布する。
認証サーバ装置13は一台以上の情報処理装置によって実現される。認証サーバ装置13はユーザ情報を保有し、出力装置17等からの要求に基づき認証を行う。印刷サーバ装置14は一台以上の情報処理装置によって実現される。印刷サーバ装置14は印刷データや印刷ジョブ情報を保有している。印刷サーバ装置14は出力装置17等からの要求に基づき、印刷データや印刷ジョブ情報を出力装置17等に送信する。
印刷サーバ装置14は、印刷データ等の出力データや印刷ジョブ情報等の出力データに関する情報である出力データ関連情報(印刷データの書誌情報など)を保持し、出力装置17等に送信するデータ保持装置の一例である。
例えば、出力装置17がプロジェクタであれば、印刷サーバ装置14はプロジェクタを用いて表示出力(投影)したい表示データ(出力データ)を保持する。また、印刷サーバ装置14は表示出力する際の表示方法等の設定(出力データ関連情報)を保持することもできる。また、印刷サーバ装置14は印刷データと表示データの両方を保持することもできる。印刷サーバ装置14は印刷データを印刷出力する複合機や表示データを表示出力するプロジェクタ等、異なる出力データを出力する複数の出力装置17に対して、出力装置17に応じた出力データを送信する、又は、出力データ関連情報を送信することも可能である。従って、本発明の適用範囲は印刷データや印刷ジョブ情報に限らない。
出力装置15は有線や無線通信でクライアント端末16に直接接続されるプリンタ等の画像形成装置等である。出力装置15はプリンタ、コピー機、複合機、レーザプリンタなどの画像形成装置の他、プロジェクタやモニタなどの表示出力を実行する投影装置や表示装置、オーディオなどの音声データを出力する音声出力装置等であってもよい。
クライアント端末16はユーザが利用するPC等の情報処理装置である。また、携帯端末18もユーザが利用するPC等の情報処理装置である。クライアント端末16及び携帯端末18はスマートフォンや携帯電話、PCなどの端末装置である。なお、図1の印刷システム1では印刷アプリケーションソフトウェアが搭載されたクライアント端末16と印刷アプリケーションソフトウェアが搭載されていない携帯端末18とを区別して記載しているが、必ずしも区別する必要もない。
出力装置17は、有線や無線通信でネットワークN1に接続されるプリンタ等の画像形成装置等である。出力装置17は、プリンタ、コピー機、複合機、レーザプリンタなどの画像形成装置の他、プロジェクタやモニタなどの表示出力を実行する投影装置や表示装置等、オーディオなどの音声データを出力する音声出力装置であってもよい。
なお、図1の印刷システム1は一例であり、アプリケーションサーバ装置12が無い構成や、認証サーバ装置13と印刷サーバ装置14とが備える機能を一台の装置で実現する構成等であってもよい。
<ハードウェア構成>
図1の管理者端末11、アプリケーションサーバ装置12、認証サーバ装置13、印刷サーバ装置14、クライアント端末16、携帯端末18は例えば図2に示すようなハードウェア構成のコンピュータにより実現される。図2は本実施形態に係るコンピュータの一例のハードウェア構成図である。
図2に示したコンピュータ500は、入力装置501、表示装置502、外部I/F503、RAM504、ROM505、CPU506、通信I/F507、及びHDD508などを備え、それぞれがバスBで相互に接続されている。なお、入力装置501及び表示装置502は必要なときに接続して利用する形態であってもよい。
入力装置501はキーボードやマウスなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置502はディスプレイなどを含み、コンピュータ500による処理結果を表示する。
通信I/F507はコンピュータ500をネットワークN1に接続するインタフェースである。これにより、コンピュータ500は通信I/F507を介してデータ通信を行うことができる。
HDD508はプログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータにはコンピュータ500全体を制御する基本ソフトウェアであるOSや、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
外部I/F503は、外部装置とのインタフェースである。外部装置には、記録媒体503aなどがある。これにより、コンピュータ500は外部I/F503を介して記録媒体503aの読み取り及び/又は書き込みを行うことができる。記録媒体503aにはフレキシブルディスク、CD、DVD、SDメモリカード、USBメモリなどがある。
ROM505は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM505には、コンピュータ500の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM504は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
CPU506は、ROM505やHDD508などの記憶装置からプログラムやデータをRAM504上に読み出し、処理を実行することで、コンピュータ500全体の制御や機能を実現する演算装置である。
本実施形態に係る管理者端末11、アプリケーションサーバ装置12、認証サーバ装置13、印刷サーバ装置14、クライアント端末16、携帯端末18は上記のコンピュータ500のハードウェア構成により後述するような各種処理を実現できる。
<ソフトウェア構成>
《クライアント端末》
本実施形態に係るソフトウェアパッケージが搭載される前のクライアント端末16は例えば図3に示すような処理ブロックにより実現される。図3は、本実施形態に係るソフトウェアパッケージが搭載される前のクライアント端末の一例の処理ブロック図である。
図3に示すクライアント端末16は、プログラムを実行することにより、文書作成アプリケーション21、仮想プリンタドライバ22、実プリンタドライバ23、プラグイン24、プラットフォームAPI25、プラットフォーム26、記憶部27を実現する。
プラグイン24には1つ以上のプラグイン31を搭載可能である。プラットフォーム26は、表示制御(UI制御)部41、設定部42、通信部43を有する。文書作成アプリケーション21はユーザから印刷の要求を受け付けるアプリケーションの一例である。文書作成アプリケーション21は一例であって、ユーザから印刷等の出力の要求を受け付けるアプリケーションであればよい。
仮想プリンタドライバ22はアプリケーションデータを機種依存しない中間印刷データに変換して出力するプリンタドライバである。なお、中間印刷データは、出力装置17等の機種に依存しない印刷データである。XPS(XML Paper Specification)形式のデータは中間印刷データの一例である。また、アプリケーションデータは出力対象データの一例である。なお、仮想プリンタドライバ22には例えばプラグイン31を利用するためのプラグイン31用の仮想プリンタドライバが含まれる場合がある。
実プリンタドライバ23は中間印刷データを出力装置15又は出力装置17が印刷できる形式の実印刷データに変換して出力するプリンタドライバである。RAW形式のデータは実印刷データの一例である。
プラグイン24はプラットフォーム26上で動作するソフトウェアである。プラグイン24はプラットフォームAPI25を利用することで、プラットフォーム26の機能を利用できる。
プラットフォームAPI25はプラグイン24が、プラットフォーム26の機能を利用するためのインタフェースである。プラットフォームAPI25はプラグイン24からの要求をプラットフォーム26が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
プラットフォーム26の表示制御部41は例えば文書作成アプリケーション21やプラグイン24等からの要求に基づいて表示装置502の表示を制御する。設定部42はプラグイン24の設定を行う。通信部43は印刷サーバ装置14等との通信を実行する。記憶部27は設定等を記憶する。
クライアント端末16はプラグイン24が共通に利用する機能をプラットフォーム26に集約することで、処理を集約している。なお、図3の処理ブロック図の分類形態は一例であり、図3に示されるような階層で分類されていることは必須でない。
また、プラグイン24は、例えば、アプリケーションサーバ装置12から図4に示すソフトウェアパッケージを利用してインストールすることが可能であり、各プラグイン24に関する設定データも同様にインストールすることが可能である。
図4は本実施形態に係るソフトウェアパッケージの一例の構成図である。図4に示すようにソフトウェアパッケージ50は機能プラグイン51と本体52と仮想プリンタドライバ22aとを含む構成である。
本体52はルールベース印刷制御プラグイン64を含む。また、機能プラグイン51は独立したジョブ蓄積プラグイン61と、代理印刷プラグイン62と、アカウントプラグイン63とを含む。ジョブ蓄積プラグイン61と、代理印刷プラグイン62と、アカウントプラグイン63とは、適宜追加して利用できる。つまり、3つ全てが揃っていることを必須とせず、所望のプラグインだけを選択してソフトウェアパッケージとして提供することが可能である。
なお、図4のソフトウェアパッケージ50は機能プラグイン51と本体52とを分けている例を示したが、図4に示すように分けることは必須でない。ソフトウェアパッケージ50は一つのプラグインにより提供することも、図4に示す以外の分け方によりプラグインを構成するようにしてもよい。例えばソフトウェアパッケージ50は本体52を機能プラグイン51と並列にプラグインとして扱うものであってもよい。仮想プリンタドライバ22aはソフトウェアパッケージ50に必須でなく、ソフトウェアパッケージ50と別に提供してもよい。
また、本実施形態に係るソフトウェアパッケージ50が搭載された後のクライアント端末16は例えば図5に示すような処理ブロックにより実現される。図5は、本実施形態に係るソフトウェアパッケージが搭載された後のクライアント端末の一例の処理ブロック図である。図5に示すクライアント端末16は、図3に示すクライアント端末16に図4のソフトウェアパッケージ50が搭載された例を表している。
図5に示すクライアント端末16は図3のクライアント端末16に、仮想プリンタドライバ22a、ジョブ蓄積プラグイン61、代理印刷プラグイン62、アカウントプラグイン63、ルールベース印刷制御プラグイン64が追加された構成である。
仮想プリンタドライバ22aは図5のジョブ蓄積プラグイン61、代理印刷プラグイン62、アカウントプラグイン63、ルールベース印刷制御プラグイン64を利用するための仮想プリンタドライバの一例である。仮想プリンタドライバ22aはアプリケーションデータを機種依存しない中間印刷データに変換して出力するプリンタドライバである。
なお、中間印刷データは、出力装置17等の機種に依存しない印刷データである。XPS(XML Paper Specification)形式のデータは中間印刷データの一例である。また、アプリケーションデータは出力対象データの一例である。
ルールベース印刷制御プラグイン64は印刷フロー制御を行う。ジョブ蓄積プラグイン61は印刷ジョブの蓄積に関する処理を行う。代理印刷プラグイン62は代理印刷(代理出力)に関する処理を行う。また、アカウントプラグイン63はアカウントに関する処理を行う。例えばアカウントプラグイン63はローカルの出力装置15において行われる出力処理や印刷サーバ装置14を経由せずに出力装置15への出力を行なう出力処理においてアカウント情報を生成し、アカウントログを記憶する装置に送信する処理を行う。
なお、プラグイン24は管理者やユーザが所望するものを適宜インストールして使用することができるため、必ずしも図5の構成に限定されない。
《ルールベース印刷制御プラグイン》
クライアント端末16のルールベース印刷制御プラグイン64は例えば図6に示す処理ブロックで実現される。図6はルールベース印刷制御プラグインの一例の処理ブロック図である。図6のルールベース印刷制御プラグイン64は、印刷フロー制御部71、表示部72、印刷フロー設定部73、設定管理部74、設定用情報保持部75を有する。
印刷フロー制御部71は印刷フロー(処理フロー)の実行を制御する。表示部72は後述するような機能選択画面を表示装置502等に表示させる。印刷フロー設定部73は印刷フローの設定を受け付ける。
設定管理部74は、例えば図4のソフトウェアパッケージ50によりクライアント端末16に搭載された各プラグイン24の各種設定を管理する。例えば追加される機能プラグイン51の状況に応じて設定できる内容が変わるが、設定管理部74は設定できる内容を管理する。設定用情報保持部75はルールベース印刷制御プラグイン64が自身における設定を行うための設定用の情報(設定項目に関する情報)を保持している。なお、実際に設定された内容は後述するようにプラットフォーム26の設定部42により記憶部27に記憶される。
《ジョブ蓄積プラグイン》
クライアント端末16のジョブ蓄積プラグイン61は例えば図7に示す処理ブロックで実現される。図7はジョブ蓄積プラグインの一例の処理ブロック図である。図7に示したジョブ蓄積プラグイン61は、印刷データ蓄積部81、印刷ジョブ管理部82、サーバ接続部83、印刷データ移動部84、印刷ジョブ情報保持部85、設定用情報保持部86を有している。
印刷データ蓄積部81は記憶部27等に印刷データの蓄積を行う。印刷ジョブ管理部82は印刷ジョブの管理を行う。サーバ接続部83は認証サーバ装置13や印刷サーバ装置14などとの接続を行う。印刷データ移動部84は印刷データの蓄積場所を変更するための処理を行う。
例えば印刷データ移動部84は印刷データをクライアント端末16から印刷サーバ装置14に移動させるための処理、印刷データを印刷サーバ装置14からクライアント端末16に移動させるための処理を行う。また、印刷データ移動部84は印刷データを一のクライアント端末16から他のクライアント端末16に移動させるための処理を行う。
また、印刷ジョブ情報保持部85は印刷ジョブに関する情報である印刷ジョブ情報を保持する。設定用情報保持部86はジョブ蓄積プラグイン61が自身における設定を行うための設定用の情報(設定項目に関する情報)を保持している。
《代理印刷プラグイン》
クライアント端末16の代理印刷プラグイン62は例えば図8に示す処理ブロックで実現される。図8は代理印刷プラグインの一例の処理ブロック図である。図8に示した代理印刷プラグイン62は、ユーザ情報付加部91、代理ユーザ管理部92、サーバ接続部93、代理ユーザ情報保持部94、設定用情報保持部95を有している。
ユーザ情報付加部91は、印刷ジョブ情報に代理ユーザIDなどの代理ユーザ情報を付加する。代理ユーザ管理部92は代理ユーザ情報を管理する。サーバ接続部93は、認証サーバ装置13などとの接続を行う。代理ユーザ情報保持部94は代理ユーザに関する情報である代理ユーザ情報を保持する。また、設定用情報保持部95は代理印刷プラグイン62が自身における設定を行うための設定用の情報(設定項目に関する情報)を保持している。
《アカウントプラグイン》
クライアント端末16のアカウントプラグイン63は例えば図9に示す処理ブロックで実現される。図9はアカウントプラグインの一例の処理ブロック図である。図9に示したアカウントプラグイン63は、認証処理部101、印刷制御部102、アカウント制御部103、設定用情報保持部104を有している。
認証処理部101は認証に関する処理を行う。印刷制御部102は印刷制御に関する処理を行う。アカウント制御部103はアカウント制御に関する処理を行う。また、設定用情報保持部104はアカウントプラグイン63が自身における設定を行うための設定用の情報(設定項目に関する情報)を保持している。
《印刷サーバ装置》
本実施形態に係る印刷サーバ装置14は例えば図10に示す処理ブロックにより実現される。図10は本実施形態に係る印刷サーバ装置の一例の処理ブロック図である。図10の印刷サーバ装置14はプログラムを実行することにより、印刷制御部111、アカウント制御部112、印刷データ移動部113、印刷データ保持部114、印刷ジョブ情報保持部115を実現する。
印刷データ保持部114は印刷データを保持する。印刷ジョブ情報保持部115は印刷ジョブ情報を保持する。印刷制御部111は出力装置17等から印刷ジョブ情報の要求を受け付け、印刷ジョブ情報を出力装置17等に提供する。また、印刷制御部111は出力装置17等から印刷データの要求を受け付け、印刷データ保持部114が保持している印刷データを出力装置17等に提供する。
アカウント制御部112は印刷ジョブ情報に基づいて実行された印刷データのアカウント情報を出力装置17から受信し、認証サーバ装置13のアカウント記憶部に印刷データのアカウント情報を送信して記憶させる。なお、アカウント制御部112は印刷データのアカウント情報を、認証サーバ装置13のアカウント記憶部以外に記憶するようにしてもよい。
《印刷ジョブ情報》
図11は印刷ジョブ情報の一例の構成図である。図11の印刷ジョブ情報は、ジョブID、ジョブ名、蓄積先、蓄積形式、ユーザID、代理ユーザID、日付、カラーモード情報、部数、両面情報、集約情報、ファイルパスなどのデータ項目を有している。
ジョブIDは印刷ジョブの識別情報である。ジョブ名は印刷ジョブの名前である。蓄積先は中間印刷データ又は実印刷データが蓄積されている場所(印刷サーバ装置14やクライアント端末16などの機器)を示している。例えば蓄積先が「Server01」である場合、実印刷データは印刷サーバ装置14に蓄積されている。
なお、印刷サーバ装置14は中間印刷データを受信し、中間印刷データを蓄積してもよい。印刷サーバ装置14は出力装置17等から実印刷データを要求された際など、必要に応じて中間印刷データを実印刷データに変換し、実印刷データを提供するようにしてもよい。
蓄積先が「Client01」又は「Client02」である場合、中間印刷データ又は実印刷データは「Client01」又は「Client02」により特定されるクライアント端末16に蓄積されている。例えば出力装置17は図11に示す印刷ジョブ情報に従って、印刷データの要求先を制御する。
蓄積形式は蓄積先に蓄積されている印刷データの形式を示す。図11の印刷ジョブ情報では蓄積形式が「XPS」である場合、蓄積先に中間印刷データが蓄積されていることを示し、蓄積形式が「PCL」である場合、蓄積先に実印刷データが蓄積されていることを示す。
なお、中間印刷データとはフォーマットに関する共通仕様が一般に公開され、かつ、再編集が容易な形式の印刷データである。また、中間印刷データのデータ形式はXPS(XML Paper Specification)に限らない。例えば中間印刷データのデータ形式はPDF(Portable Document Format)等であってもよい。
一方、実印刷データとは出力装置17等に依存したPDL(Page Description Language)の印刷データである。なお、実印刷データのデータ形式はPCL(Printer Cotrol Language)に限らない。例えば実印刷データのデータ形式はPS(Post Script)等であってもよい。
ユーザIDは印刷データのオーナを示すユーザ識別情報である。代理ユーザIDは印刷ジョブを印刷できる代理ユーザのユーザIDである。例えばユーザID「11」のユーザがログインした場合、出力装置17の操作パネル等の表示装置にはユーザID「11」のユーザがオーナであるジョブID「4」の印刷ジョブと代理ユーザとして設定されているジョブID「2」の印刷ジョブとが表示される。
日付は印刷ジョブが生成された日付である。カラーモード、部数、両面情報、集約情報は印刷設定の一例である。ファイルパスは、中間印刷データ又は実印刷データが蓄積されている場所(印刷サーバ装置14やクライアント端末16などの機器内における中間印刷データ又は実印刷データの所在)を示している。
《代理ユーザ情報》
図12は代理ユーザ情報の一例の構成図である。代理ユーザ情報は、ユーザID及び代理ユーザIDを紐付けるための情報である。例えば図12の代理ユーザ情報は、ユーザID「1」のユーザの代理ユーザとしてユーザID「11」及び「12」のユーザが設定されている。
<処理の詳細>
以下では、本実施形態に係る印刷システム1の処理の詳細について説明する。
《基本設定》
本実施形態に係るソフトウェアパッケージ50が搭載されたクライアント端末16は図13に示すような基本設定画面から印刷時動作の基本設定を受け付ける。図13は基本設定画面の一例のイメージ図である。図13の基本設定画面1000では本実施形態に係るソフトウェアパッケージ50が「印刷アプリ」と記載されている。以下、本実施形態に係るソフトウェアパッケージ50を印刷アプリと呼ぶ。
図13の基本設定画面1000は、機能プラグイン51の数が、ジョブ蓄積プラグイン61、代理印刷プラグイン62、アカウントプラグイン63の3つであるときの例を示している。したがって、図13の基本設定画面1000の左欄では印刷アプリの下にジョブ蓄積プラグイン61と、代理印刷プラグイン62と、アカウントプラグイン63とに対応した子ノード「ジョブ蓄積設定」と「代理印刷設定」と「アカウント設定」とが表示されている。また、機能プラグイン51の数が1以上であるため、図13の基本設定画面1000の左欄では印刷アプリの下に子ノード「共通設定」が表示されている。図13は左欄の「印刷アプリ」が選択されているときの基本設定画面1000の例である。
また、図13の基本設定画面1000の右欄には印刷時に機能を選ぶかどうかの設定のチェックボックスが含まれる。印刷時に機能を選ぶかどうかの設定のチェックボックスは機能プラグイン51の数が0又は1の場合に非表示となる。
また、図13の基本設定画面1000の右欄には印刷のときに実行される機能を選択するラジオボタンが含まれる。印刷のときに実行される機能を選択するラジオボタンは機能プラグイン51の数が0又は1の場合に非表示となる。また、図13の基本設定画面1000の右欄には、印刷時にカスタマイズされたルールファイルによるワークフローを実施するか否かの設定のチェックボックスが含まれる。
なお、機能プラグイン51の数が2つ以上の場合にユーザが「印刷のときに実行される機能」として選択していた機能プラグイン51のアンインストールを行うと、図13の基本設定画面1000は残りの機能プラグイン51の数に応じて以下のように動作する。
残りの機能プラグイン51が2つ以上の場合は「印刷のときに実行される機能」として残りの機能プラグイン51の中から優先順位に従い、自動的に「印刷のときに実行される機能」が選択される。例えばジョブ蓄積プラグイン61、代理印刷プラグイン62、アカウントプラグイン63の順番に優先順位を設定しておいてもよい。残りの機能プラグイン51が1つの場合は「印刷のときに実行される機能」として残りの機能プラグイン51が自動的に「印刷のときに実行される機能」として選択される。
機能プラグイン51の数が1つであるとき、図13の基本設定画面1000は図14の基本設定画面1000aのように変化する。図14は基本設定画面の他の例のイメージ図である。図14の基本設定画面1000aは、機能プラグイン51がジョブ蓄積プラグイン61の1つであるときの例を示している。
したがって、図14の基本設定画面1000aの左欄では印刷アプリの下にジョブ蓄積プラグイン61に対応した子ノード「ジョブ蓄積設定」が表示されている。また、機能プラグイン51の数が1以上であるため、図14の基本設定画面1000aの左欄では印刷アプリの下に子ノード「共通設定」が表示されている。また、図14の基本設定画面1000aの右欄には印刷時にカスタマイズされたルールファイルによるワークフローを実施するか否かの設定のチェックボックスが含まれる。
なお、図14の基本設定画面1000aは機能プラグイン51の数が0又は1の場合に相当するため、印刷時に機能を選ぶかどうかの設定のチェックボックス、及び、印刷のときに実行される機能を選択するラジオボタンが非表示となっている。
《サーバ設定》
図13の基本設定画面1000の左欄の「共通設定」が選択されると、クライアント端末16は図15に示すサーバ設定画面1010から認証サーバ装置13及び印刷サーバ装置14に対するサーバ設定を受け付ける。図15はサーバ設定画面の一例のイメージ図である。
なお、図15に示したサーバ設定画面1010では認証サーバ装置13に対するサーバ設定を受け付ける部分しか表示されていないが、垂直スクロールバーを操作することで印刷サーバ装置14に対するサーバ設定を受け付ける部分を表示できる。
図15のサーバ設定画面1010の右欄には認証サーバ装置13及び印刷サーバ装置14に対するサーバ設定を行う項目が表示される。まず、サーバ設定画面1010の右欄にはフェイルオーバの動作時に有効にする認証サーバ装置13及び印刷サーバ装置14のセカンダリサーバを設定するチェックボックスが含まれる。フェイルオーバの動作時に有効にするセカンダリサーバを設定するチェックボックスにチェックを付けると、選択したセカンダリサーバの設定欄が有効となる。
また、サーバ設定画面1010の右欄には、印刷アプリがプライマリサーバである認証サーバ装置13又は印刷サーバ装置14からの応答を待機する時間を接続タイムアウトとして設定するエディットボックスが含まれる。
また、サーバ設定画面1010の右欄には、認証サーバ装置13及び印刷サーバ装置14のプライマリサーバ及びセカンダリサーバの設定欄が含まれる。認証サーバ装置13のプライマリサーバ及びセカンダリサーバの設定欄には、IPアドレスまたはホスト名を設定するエディットボックス、HTTPSポート番号を設定するエディットボックスが含まれる。また、認証サーバ装置13のプライマリサーバ及びセカンダリサーバの設定欄にはエディットボックスに設定されたIPアドレスまたはホスト名、HTTPSポート番号による認証サーバ装置13への接続を確認するための接続テストボタンが含まれる。
印刷サーバ装置14のプライマリサーバ及びセカンダリサーバの設定欄には、IPアドレスまたはホスト名を設定するエディットボックス、ポート番号を設定するエディットボックスが含まれる。
また、印刷サーバ装置14のプライマリサーバ及びセカンダリサーバの設定欄には印刷サーバ装置14へのアクセスにSSL通信を使用するか否かを設定するチェックボックスが含まれる。また、印刷サーバ装置14のプライマリサーバ及びセカンダリサーバの設定欄にはエディットボックスに設定されたIPアドレスまたはホスト名、ポート番号による印刷サーバ装置14への接続を確認するための接続テストボタンが含まれる。
《ジョブ蓄積設定》
図13の基本設定画面1000の左欄の「ジョブ蓄積設定」が選択されると、クライアント端末16は、図16に示すジョブ蓄積設定画面1020からジョブ蓄積設定を受け付ける。図16はジョブ蓄積設定画面の一例のイメージ図である。
ジョブ蓄積設定画面1020の右欄には、レンダリングした印刷データをスプールするためにクライアント端末16で使用するプリンタドライバを設定するコンボボックスが含まれる。また、ジョブ蓄積設定画面1020の右欄には蓄積した印刷ジョブ(文書)の保存期間を設定するテキストボックスが含まれる。保存期間を過ぎた文書は削除される。
《代理印刷設定》
図13の基本設定画面1000の左欄の「代理印刷設定」が選択されると、クライアント端末16は、図17に示すような代理印刷設定画面1030から代理印刷設定を受け付ける。図17は代理印刷設定画面の一例のイメージ図である。
代理印刷設定画面1030の右欄には、代理ユーザ候補がチェックボックス付きのリストで表示される代理ユーザ候補リストが含まれる。また、代理印刷設定画面1030の右欄には印刷毎に表示される代理ユーザ選択ダイアログの表示/非表示を設定するチェックボックスが含まれる。図17に示した代理ユーザ選択ダイアログの表示/非表示を設定するチェックボックスは、チェックされた状態であるとき、印刷時に代理ユーザを毎回選択しない設定を表している。
代理ユーザ選択ダイアログの表示/非表示を設定するチェックボックスがチェックされた状態であれば、クライアント端末16には代理ユーザ選択ダイアログが表示されず、代理ユーザ候補リストにおいてチェックされているユーザが暗黙的に代理ユーザとなる。
また、代理印刷設定画面1030の右欄には、全ユーザから代理ユーザ候補を選択するためのダイアログを開くためのボタンが含まれる。さらに、代理印刷設定画面1030の右欄には、印刷サーバ装置14で使用するプリンタドライバを設定するコンボボックスが含まれる。
《アカウント設定》
図13の基本設定画面1000の左欄の「アカウント設定」が選択されると、クライアント端末16は、図18に示すようなアカウント設定画面1040からアカウント設定を受け付ける。図18はアカウント設定画面の一例のイメージ図である。
アカウント設定画面1040の右欄には「指定したプリンタに印刷する」機能を選択してアカウントプラグイン63で印刷する際に使用する出力装置15等を選択するコンボボックスが含まれる。アカウントプラグイン63で印刷する際に使用する出力装置15等を選択するコンボボックスにはOSに登録されているプリンタのリストが表示される。
ただし、コンボボックスに表示されるプリンタのリストからは、二重アカウントを防ぐため、仮想プリンタや印刷サーバ装置14の共有プリンタ、ダイレクトプリントのポートのプリンタを除外する。
印刷サーバ装置14の共有プリンタとは印刷サーバ装置14が印刷データの送信先に設定されたプリンタである。ダイレクトプリントのポートのプリンタとは、印刷サーバ装置14を経由して出力装置17等にプッシュで印刷データを送信するプリンタである。このように、コンボボックスに表示されるプリンタのリストからは、印刷データの入力から出力までの間に印刷サーバ装置14を中継する印刷プロセスのプリンタが除外される。
この理由は印刷サーバ装置14がアカウント情報を認証サーバ装置13に送信する機能を有しており、印刷サーバ装置14を中継する印刷プロセスのプリンタのアカウント情報をクライアント端末16から送信すると二重アカウントになるためである。
また、アカウント設定画面1040の右欄には、印刷のたびにプリンタを選択するか否かを設定させるチェックボックスが含まれる。さらに、アカウント設定画面1040の右欄には、レポートに表示されるユーザ名をマスクするか否かを設定させるチェックボックスが含まれる。マスク設定により、プライバシの保護を強化できる。
《印刷ジョブ蓄積処理》
例えばユーザは文書作成アプリケーション21を操作して図19の印刷設定画面2000を開き、印刷アプリの仮想プリンタドライバ22aを選択して印刷を要求することにより印刷ジョブ蓄積処理を開始できる。
図19は印刷設定画面の一例のイメージ図である。ユーザは印刷設定画面2000のプリンタ選択欄2001から仮想プリンタドライバ22aを選択できる。また、ユーザは印刷設定画面2000のプリンタ選択欄2001から、ローカルの出力装置15に直接、印刷を実行させる実プリンタドライバ23を選択することもできる。
なお、図19に示す印刷設定画面2000からは本実施形態に係る印刷アプリの仮想プリンタドライバ22aの他、プラグイン31等の他のソフトウェアを利用するための仮想プリンタドライバ22を選択することもできる。仮想プリンタドライバ22を選択して印刷を要求することでユーザは選択した仮想プリンタドライバ22に応じた処理(プルプリントなど)を開始できる。
例えばプルプリントを行うプラグイン31の仮想プリンタドライバ22が選択された場合は仮想プリンタドライバ22がアプリケーションデータを中間印刷データに変換した後で実プリンタドライバ23に実印刷データへの変換を要求する。仮想プリンタドライバ22は印刷ジョブ情報と共に、実印刷データを印刷サーバ装置14に送信することでプルプリントを実現している。ダイレクトプリントを行う実プリンタドライバ23が選択された場合は仮想プリンタドライバ22で変換された中間印刷データを実プリンタドライバ23で実印刷データに変換したあと、出力装置15等に送信することでダイレクトプリントを実現している。
また、ユーザは印刷設定画面2000から印刷部数を指定できる。さらに、ユーザは印刷設定画面2000の「プロパティ」ボタン2002を押下することで詳細な印刷設定を行う画面を開き、両面/片面などの印刷面の設定やカラー/白黒などのカラーモードの設定、2in1などの集約の設定を行うことができる。そして、ユーザは印刷設定画面2000の「OK」ボタン2003を押下することで印刷を要求できる。
ユーザが仮想プリンタドライバ22aを選択して印刷を要求すると、クライアント端末16は図20に示すような印刷ジョブ蓄積処理を開始する。図20は印刷ジョブ蓄積処理の一例のフローチャートである。
ステップS1において、文書作成アプリケーション21はユーザから印刷の要求を受け付ける。ステップS2において、文書作成アプリケーション21は印刷設定画面2000のプリンタ選択欄2001から印刷アプリの仮想プリンタドライバ22aが選択されたか否かを判定する。印刷アプリの仮想プリンタドライバ22a以外が選択された場合、文書作成アプリケーション21はステップS17に進み、ユーザにより選択された仮想プリンタドライバ22等のプリンタドライバに印刷イベントを通知する。したがって、ユーザは選択したプリンタドライバに応じた印刷処理(プルプリントなど)を開始できる。
文書作成アプリケーション21は印刷アプリの仮想プリンタドライバ22aが選択された場合にステップS3に進み、印刷イベントを印刷アプリの仮想プリンタドライバ22aに送信する。仮想プリンタドライバ22aはルールベース印刷制御プラグイン64の印刷フロー制御部71に印刷イベントを送信する。また、仮想プリンタドライバ22aはアプリケーションデータを中間印刷データに変換する。
印刷フロー制御部71は図13の基本設定画面1000の右欄において、カスタマイズされたルールファイルによるワークフローを印刷時に実施する設定が選択されている場合に図20のフローチャートの処理を終了する。その後、印刷フロー制御部71は後述する機能選択画面を表示せず、ルールファイルに従ってワークフローを実施する。
印刷フロー制御部71はカスタマイズされたルールファイルによるワークフローを印刷時に実施しない設定が選択されておらず、かつ、機能プラグイン51の数が0の場合に図20のフローチャートの処理を終了する。
印刷フロー制御部71はカスタマイズされたルールファイルによるワークフローを印刷時に実施する設定が選択されておらず、かつ、機能プラグイン51の数が1の場合、その機能プラグイン51の機能を選択する。
印刷フロー制御部71はカスタマイズされたルールファイルによるワークフローを印刷時に実施する設定が選択されておらず、機能プラグイン51の数が2以上、かつ、印刷時に機能を選ぶ設定が選択されていない場合、後述する機能選択画面を表示しない。この場合は、印刷のときに実行される機能を選択するラジオボタンにより選択された機能を選択する。
印刷フロー制御部71はカスタマイズされたルールファイルによるワークフローを印刷時に実施する設定が選択されておらず、機能プラグイン51の数が2以上、かつ、印刷時に機能を選ぶ設定が選択されている場合、表示部72に機能選択画面を表示させる。図21は機能選択画面の一例のイメージ図である。
機能選択画面2010は「このPCにジョブを保存する」機能、「代理ユーザに印刷させる」機能、「指定したプリンタに印刷する」機能、から一つの機能をユーザに選択させる場合の例である。「このPCにジョブを保存する」機能はジョブ蓄積プラグイン61の機能を選択するものである。「代理ユーザに印刷させる」機能は代理印刷プラグイン62の機能を選択するものである。「指定したプリンタに印刷する」機能はアカウントプラグイン63の機能を選択するものである。
ステップS4において、ユーザは機能選択画面2010から「このPCにジョブを保存する」機能、「代理ユーザに印刷させる」機能、「指定したプリンタに印刷する」機能、から一つの機能を選択する。ルールベース印刷制御プラグイン64の印刷フロー制御部71は機能選択画面2010からユーザが選択した機能を判定する。
ユーザが選択した機能が「代理ユーザに印刷させる」機能であれば、印刷フロー制御部71は代理印刷が選択されたと判定する。また、ユーザが選択した機能が「代理ユーザに印刷させる」機能でなければ、印刷フロー制御部71はステップS9において、ユーザが選択した機能が「指定したプリンタに印刷する」機能であるか「このPCにジョブを保存する」機能であるか判定する。
代理印刷が選択されたと判定すると、代理印刷プラグイン62のユーザ情報付加部91はステップS5の処理を行う。ステップS5において、ユーザ情報付加部91は印刷毎に表示される代理ユーザ選択ダイアログの非表示が設定されていれば、代理ユーザ選択ダイアログを表示せず、代理ユーザ候補リストにおいてチェックされている代理ユーザを選択する。代理ユーザ候補リストにおいてチェックされている代理ユーザは、印刷を要求したユーザ(以下、印刷要求ユーザと呼ぶ)と紐付く代理ユーザIDとして代理ユーザ情報保持部94から取得できる。
一方、ステップS5において、ユーザ情報付加部91は印刷毎に表示される代理ユーザ選択ダイアログの表示が設定されていれば、代理ユーザ選択ダイアログを表示し、印刷要求ユーザに代理ユーザを選択させる。ユーザ情報付加部91は印刷ジョブ情報に印刷要求ユーザのユーザIDと代理ユーザIDを付加する。
なお、印刷要求ユーザのユーザIDは、例えば、ユーザがクライアント端末16にログインする時に使用したユーザIDを付加してもよく、あるいは、別途、認証サーバ装置13に認証した時に使用したユーザIDを付加してもよい。いずれのユーザIDを使用するかは予め設定が可能である。
ステップS6において、ジョブ蓄積プラグイン61の印刷データ蓄積部81は実プリンタドライバ23を利用して、中間印刷データから実印刷データを生成する。印刷ジョブ管理部82は実印刷データを管理対象として管理する。
ステップS7において、サーバ接続部83は印刷ジョブ情報を印刷サーバ装置14に送信する。また、ステップS8において、サーバ接続部83は実印刷データを印刷サーバ装置14に送信する。
「指定したプリンタに印刷する」機能が選択されたと判定すると、アカウントプラグイン63の認証処理部101はステップS10に進む。ステップS10において、認証処理部101は認証サーバ装置13を利用し、印刷要求ユーザの認証確認を行う。
印刷要求ユーザの認証確認に失敗すると、アカウントプラグイン63の印刷制御部102は図20のフローチャートの処理を終了する。印刷要求ユーザの認証に成功すると、印刷制御部102は、図18のアカウント設定画面1040の右欄において印刷のたびにプリンタを選択する設定が選択されている場合にプリンタを選択する画面を表示し、ユーザにプリンタを選択させる。ここで選択できるプリンタは、「アカウント設定」において選択できるプリンタと同様である。
また、印刷のたびにプリンタを選択する設定が選択されていない場合、印刷制御部102はアカウントプラグイン63で印刷する際に使用する出力装置15等を選択するコンボボックスにより選択されたプリンタを選択する。
アカウントプラグイン63の印刷制御部102はステップS11に進み、印刷ジョブ情報及び中間印刷データを実プリンタドライバ23に送信し、実プリンタドライバ23に印刷ジョブの実行を指示する。実プリンタドライバ23は中間印刷データから実印刷データを生成する。
ステップS12において、実プリンタドライバ23は印刷ジョブ情報を指定された出力装置15等に送信する。また、ステップS13において、実プリンタドライバ23は実印刷データを指定された出力装置15等に送信する。印刷ジョブ情報及び実印刷データを受信した出力装置15等は印刷ジョブを実行し、実印刷データの印刷を行う。ステップS11の印刷ジョブ情報の送信は必須でなく、省略も可能である。
ステップS14に進み、アカウントプラグイン63のアカウント制御部103は実印刷データの印刷に応じたアカウント情報を生成し、アカウントログを記憶する認証サーバ装置13に送信する。
図22はアカウント情報の一例の構成図である。図22のアカウント情報は、出力装置15等で印刷された実印刷データのアカウント情報の項目の一例である。図22に示すようにアカウント情報は実印刷データの白黒・カラーの情報、両面・片面の情報、ページ数の情報、部数の情報、用紙サイズの情報、ユーザコードの情報を項目として有する。
アカウント情報に含まれるユーザコードは図11の印刷ジョブ情報におけるユーザIDに相当する。したがって、代理印刷の場合、アカウント情報に含まれるユーザコードには代理ユーザIDでなくオーナのユーザIDが設定される。なお、代理印刷の場合、アカウント情報にはユーザコードの他、印刷を実行した代理ユーザのユーザIDなどのユーザ情報を含めるようにしてもよい。
「このPCにジョブを保存する」機能が選択されたと判定すると、ジョブ蓄積プラグイン61の印刷ジョブ管理部82はステップS15に進み、印刷ジョブ情報を印刷サーバ装置14に送信する。
また、ステップS16において、ジョブ蓄積プラグイン61の印刷データ蓄積部81は中間印刷データを記憶部27に蓄積して管理する。なお、図20の印刷ジョブ蓄積処理では中間印刷データをクライアント端末16で蓄積する例を示しているが、実印刷データをクライアント端末16で蓄積するようにしてもよい。
図20の印刷ジョブ蓄積処理によれば、ユーザは代理印刷を選択することにより、実印刷データを印刷サーバ装置14に蓄積できる。実印刷データは変更できる印刷設定の内容が限定されてしまうが、代理印刷の特徴から、印刷ジョブの実行時に印刷設定が変更される場合が少ないと考えられる。
また、実印刷データを印刷サーバ装置14に蓄積しておくことにより、クライアント端末16の電源がOFFされている場合であっても、代理ユーザは印刷ジョブを実行することができる。
図20の印刷ジョブ蓄積処理によれば、ユーザに機能を選択させることで、機能に応じた印刷データの蓄積先や蓄積形式などの蓄積設定の変更をユーザに容易に行わせることができる。
なお、カスタマイズされたルールファイルによるワークフローを印刷時に実施する設定が選択されている場合、印刷フロー制御部71はルールファイルに従ってワークフローを次のように実施する。
例えば印刷フロー制御部71は所定のフォーマットに沿ったXMLのワークフロー定義ファイルをルールファイルとし、そのルールファイルに従ったワークフローを実現することができる。ルールファイルは予め編集しておき、クライアント端末16の所定の位置に配置しておく。
なお、本実施形態の印刷システム1では、共有フォルダに配置したルールファイルをリモート設定機能によりクライアント端末16に配布することもできる。また、本実施形態の印刷システム1では印刷時にカスタマイズされたルールファイルによるワークフローを実施する設定の解除を禁止できるようにしてもよい。
例えばルールファイルにはページ数によって印刷ジョブを複数の出力装置17等に振り分けるワークフロー、カラーを強制的に白黒に変更するワークフロー、ジョブ名により印刷ジョブを複数の出力装置17等に振り分けるワークフロー等を表現するものがある。その他、ルールファイルにはジョブ蓄積プラグイン61、代理印刷プラグイン62、アカウントプラグイン63の何れかの機能を含めるワークフロー等を表現するものがある。
ルールファイルは条件とアクションとを組み合わせて定義できる。条件にはページ数やカラー設定、ジョブ名など、印刷ジョブ情報の印刷設定が定義される。アクションには印刷、印刷設定の変更、処理の振り分けなど、決定処理が定義される。ルールファイルには複数の条件を定義することも、条件分岐を定義することも可能である。
《印刷データ移動処理》
前述した印刷ジョブ蓄積処理により、中間印刷データや実印刷データ等の印刷データが印刷サーバ装置14やクライアント端末16等の蓄積先に蓄積される。本実施形態の印刷システム1は、印刷サーバ装置14やクライアント端末16等の蓄積先に蓄積された印刷データを、指定した他の蓄積先に蓄積し直す機能を備えている。
例えばユーザはクライアント端末16、出力装置17又は携帯端末18から印刷サーバ装置14にアクセス及びログインする。印刷サーバ装置14にログインしたクライアント端末16、出力装置17又は携帯端末18は印刷サーバ装置14からログインユーザの印刷ジョブ情報を受信し、ログインユーザの印刷ジョブ情報の一覧を表示(提示)する。
ユーザは印刷ジョブ情報の一覧から印刷データの蓄積先を変更する印刷ジョブ情報を選択すると共に、印刷データの新たな蓄積先を指定する。印刷サーバ装置14はクライアント端末16と連携しながら後述のように、ユーザが選択した印刷データを、ユーザが指定した新たな蓄積先に蓄積し直す。
なお、本実施形態の印刷システム1は印刷データ移動処理として、クライアント端末16から印刷サーバ装置14に印刷データを蓄積し直す処理、一のクライアント端末16から他のクライアント端末16に印刷データを蓄積し直す処理が可能である。また、本実施形態の印刷システム1では、印刷サーバ装置14からクライアント端末16に印刷データを蓄積し直す処理が可能である。
図23はクライアント端末に蓄積された印刷データを印刷サーバ装置に蓄積し直す処理の一例のシーケンス図である。ステップS100において、ユーザは印刷サーバ装置14にアクセス及びログインする。なお、印刷サーバ装置14へのアクセス及びログインは携帯端末18からWebUIを利用して、又は出力装置17の操作パネルから、又はクライアント端末16の印刷アプリから行うことができる。ここでは、クライアント端末16から印刷サーバ装置14にアクセス及びログインした例を説明する。
ステップS101において、クライアント端末16のジョブ蓄積プラグイン61に含まれる印刷データ移動部84は印刷サーバ装置14からログインユーザの印刷ジョブ情報を取得し、図24のような印刷ジョブ情報一覧画面3000を表示する。
図24は印刷ジョブ情報一覧画面の一例のイメージ図である。印刷ジョブ情報一覧画面3000はログインユーザの印刷ジョブ情報の一覧から蓄積先を変更したい印刷データをユーザに選択させる画面の一例である。ユーザが印刷データを選択したあとで印刷ジョブ情報一覧画面3000の移動ボタン3001を押下すると、印刷データ移動部84は図25のような蓄積先選択画面3010を表示する。
図25は蓄積先選択画面の一例のイメージ図である。蓄積先選択画面3010は図24の印刷ジョブ情報一覧画面3000から選択された印刷データの新たな蓄積先をユーザに選択させる画面の一例である。ユーザは蓄積先選択画面3010から新たな蓄積先を選択する。ここでは新たな蓄積先として印刷サーバ装置14が選択される。
ステップS102において、印刷データ移動部84はユーザが印刷ジョブ情報一覧画面3000から選択した印刷データを、ユーザが蓄積先選択画面3010から選択した新たな蓄積先(印刷サーバ装置14)に蓄積し直す処理を、印刷サーバ装置14に要求する。
ステップS103において、印刷サーバ装置14の印刷データ移動部113はユーザが印刷ジョブ情報一覧画面3000から選択した印刷データの蓄積元のクライアント端末16に印刷データ送信依頼を行う。ステップS104において、印刷データ送信依頼を受けたクライアント端末16のジョブ蓄積プラグイン61に含まれる印刷データ移動部84は印刷データ送信依頼に対応する印刷データを印刷サーバ装置14に送信する。ステップS105において、印刷データ移動部113は受信した印刷データを印刷データ保持部114に保存する。
受信した印刷データを印刷データ保持部114に保存したあと、印刷サーバ装置14は印刷データを新たな蓄積先へ蓄積し直す処理が終了した旨を、印刷データの蓄積元のクライアント端末16に通知する。また、印刷サーバ装置14はステップS102において印刷データの蓄積先を変更する処理を要求してきたクライアント端末16に対して完了を通知する。
さらに、印刷サーバ装置14の印刷データ移動部113はステップS104における蓄積元から新たな蓄積先への印刷データの移動に基づき、図11の印刷ジョブ情報の蓄積先及びファイルパスを変更する。なお、図23では新たな蓄積先に印刷データを蓄積し直す処理の要求を行ったクライアント端末16と、印刷データの蓄積元のクライアント端末16が別であるように記載されているが、同一であってもよい。
図26は一のクライアント端末に蓄積された印刷データを他のクライアント端末に蓄積し直す処理の一例のシーケンス図である。ステップS110、S111は図23のシーケンス図に記載したステップS100、S101と同様であり、説明を省略する。
ステップS112において、印刷データ移動部84はユーザが印刷ジョブ情報一覧画面3000から選択した印刷データを、ユーザが蓄積先選択画面3010から選択した新たな蓄積先に蓄積し直す処理を、印刷サーバ装置14に要求する。ここでは新たな蓄積先としてクライアント端末16Bが選択されたものとして説明する。
ステップS113において、印刷サーバ装置14の印刷データ移動部113はユーザが印刷ジョブ情報一覧画面3000から選択した印刷データの蓄積元のクライアント端末16Aに印刷データ送信依頼を行う。ステップS114において、印刷データ送信依頼を受けたクライアント端末16Aのジョブ蓄積プラグイン61に含まれる印刷データ移動部84は印刷データ送信依頼に対応する印刷データをクライアント端末16Bに送信する。ステップS115において、クライアント端末16Bの印刷データ移動部84は受信した印刷データを印刷データ蓄積部81に保存させる。
受信した印刷データを印刷データ蓄積部81に保存させたあと、クライアント端末16Bは印刷データを新たな蓄積先へ蓄積し直す処理が終了した旨を、印刷データの蓄積元のクライアント端末16Aに通知する。また、クライアント端末16Aは印刷データを新たな蓄積先へ蓄積し直す処理が終了した旨を、印刷サーバ装置14に通知する。また、印刷サーバ装置14はステップS112において印刷データの蓄積先を変更する処理を要求してきたクライアント端末16に対して完了を通知する。
さらに、印刷サーバ装置14の印刷データ移動部113はステップS114における蓄積元から新たな蓄積先への印刷データの移動に基づき、図11の印刷ジョブ情報の蓄積先及びファイルパスを変更する。なお、図26では新たな蓄積先に印刷データを蓄積し直す処理の要求を行ったクライアント端末16と、印刷データの蓄積元のクライアント端末16A及び印刷データの蓄積先のクライアント端末16Bと、が別であるように記載されているが、同一であってもよい。
図27は印刷サーバ装置に蓄積された印刷データをクライアント端末に蓄積し直す処理の一例のシーケンス図である。ステップS120、S121は図23のシーケンス図に記載したステップS100、S101と同様であり、説明を省略する。
ステップS122において、印刷データ移動部84はユーザが印刷ジョブ情報一覧画面3000から選択した印刷データを、ユーザが蓄積先選択画面3010から選択した新たな蓄積先に蓄積し直す処理を、印刷サーバ装置14に要求する。ここでは新たな蓄積先としてクライアント端末16が選択されたものとして説明する。
ステップS123において、印刷サーバ装置14の印刷データ移動部113はユーザが印刷ジョブ情報一覧画面3000から選択した印刷データの蓄積元が印刷サーバ装置14であることを確認する。そこで、印刷サーバ装置14の印刷データ移動部113は自分自身に対してクライアント端末16への印刷データ送信依頼を行う。ステップS124において、印刷サーバ装置14の印刷データ移動部113は印刷データ送信依頼に対応する印刷データをクライアント端末16に送信する。ステップS125において、クライアント端末16の印刷データ移動部84は受信した印刷データを印刷データ蓄積部81に保存させる。
受信した印刷データを印刷データ蓄積部81に保存させたあと、クライアント端末16は印刷データを新たな蓄積先へ蓄積し直す処理が終了した旨を、印刷データの蓄積元の印刷サーバ装置14に通知する。また、印刷サーバ装置14はステップS122において印刷データの蓄積先を変更する処理を要求してきたクライアント端末16に対して完了を通知する。
さらに、印刷サーバ装置14の印刷データ移動部113はステップS124における蓄積元から新たな蓄積先への印刷データの移動に基づき、図11の印刷ジョブ情報の蓄積先及びファイルパスを変更する。なお、図27では新たな蓄積先に印刷データを蓄積し直す処理の要求を行ったクライアント端末16と、印刷データの蓄積先のクライアント端末16と、が別であるように記載されているが、同一であってもよい。
図23〜図27ではログインユーザの印刷ジョブ情報の一覧から蓄積先を変更したい印刷データをユーザに選択させたあとで、選択された印刷データの新たな蓄積先をユーザに選択させていた。
本実施形態の印刷システム1では、図28に示す印刷データ移動処理選択画面3020を利用し、ログインユーザに蓄積先を変更したい印刷データを選択させる前に、蓄積元や新たな蓄積先を選択させるようにしてもよい。図28は印刷データ移動処理選択画面の一例のイメージ図である。
図28の印刷データ移動処理選択画面3020は「先に印刷データを選択する」「先に印刷データの蓄積元を選択する」「先に印刷データの蓄積先を選択する」から蓄積先を変更する印刷データの選択方法をユーザに選択させる例である。
例えば印刷データ移動処理選択画面3020からログインユーザが「先に印刷データを選択する」を選択すると、ログインユーザは図23〜図27に示したように、印刷ジョブ情報の一覧から印刷データを選択し、その印刷データの新たな蓄積先を選択できる。
また、印刷データ移動処理選択画面3020からログインユーザが「先に印刷データの蓄積元を選択する」を選択すると、ログインユーザは印刷データを選択する前に、例えば図25のような蓄積元選択画面から印刷データの蓄積元を選択できる。
例えば印刷データ移動部113は選択された蓄積元に蓄積されている印刷データの一覧を印刷ジョブ情報一覧画面3000に表示し、蓄積元により絞り込まれた印刷データから蓄積先を変更したい印刷データをログインユーザに選択させることができる。
さらに、印刷データ移動処理選択画面3020からログインユーザが「先に印刷データの蓄積先を選択する」を選択すると、ログインユーザは印刷データを選択する前に、図25の蓄積先選択画面3010から印刷データの蓄積先を選択できる。
例えば印刷データ移動部113は選択された蓄積先に蓄積されている印刷データを除いた印刷データの一覧を印刷ジョブ情報一覧画面3000に表示し、蓄積先を変更したい印刷データをログインユーザに選択させることができる。
このように、本実施形態の印刷システム1は、一度、蓄積先に蓄積した印刷データを新たな蓄積先に蓄積し直すことができる。例えば本実施形態の印刷システム1はクライアント端末16に蓄積されている印刷データを印刷サーバ装置14に蓄積し直すことで、クライアント端末16の記憶領域の枯渇を防ぐことができる。また、本実施形態の印刷システム1は、印刷サーバ装置14に蓄積されている印刷データをクライアント端末16に蓄積し直せるようにしたことで、印刷サーバ装置14の負荷をクライアント端末16に分散させることができる。
《印刷ジョブ出力処理》
印刷データを印刷サーバ装置14に蓄積した場合、印刷システム1は例えば図29に示す印刷ジョブ出力処理を行う。図29は、印刷ジョブ出力処理の一例のフローチャートである。なお、ここでは出力装置17において印刷ジョブを実行する例を説明する。
ステップS21において、ユーザは出力装置17の操作パネル等から認証情報を入力してログインを要求する。ユーザからログインを要求された出力装置17はステップS22において、認証サーバ装置13に認証情報を送信して認証を要求する。認証サーバ装置13は受信した認証情報を利用して認証を行い、認証結果を出力装置17に返す。ここでは認証結果が認証成功であったものとして説明を続ける。なお、認証結果が認証失敗である場合は例えばログインに失敗した旨を操作パネル等の表示装置に表示し、ステップS23以降の処理を行わない。
ステップS23において、出力装置17は認証に成功したユーザの印刷ジョブ情報を印刷サーバ装置14に要求する。ステップS24において、印刷サーバ装置14は認証に成功したユーザのユーザIDが付与されている印刷ジョブ情報を検索する。印刷サーバ装置14は検索した印刷ジョブ情報の一覧を出力装置17に送信する。
出力装置17は受信した印刷ジョブ情報の一覧を表示し、印刷ジョブ情報の一覧から印刷ジョブ情報をユーザに選択させる。ユーザが印刷ジョブ情報の一覧から印刷ジョブ情報を選択すると、出力装置17はユーザにより選択された印刷ジョブ情報の蓄積先、ファイルパスから印刷ジョブの印刷データの蓄積先、ファイルパスを判断できる。ここでは印刷サーバ装置14が印刷データの蓄積先として判断される。出力装置17はステップS25において、ユーザにより選択された印刷ジョブの印刷データの取得を印刷サーバ装置14に要求(取得要求)する。
第1の実施形態では印刷サーバ装置14に蓄積されている印刷データは実印刷データである。ステップS26において、印刷サーバ装置14は出力装置17から要求された印刷ジョブの実印刷データを出力装置17に送信する。ステップS27において、出力装置17は受信した実印刷データを出力する。
ステップS28において、出力装置17は実印刷データの出力結果としてアカウント情報を印刷サーバ装置14に送信する。印刷サーバ装置14のアカウント制御部112はステップS29において、認証サーバ装置13のアカウント記憶部に実印刷データのアカウント情報を送信して記憶させる。
印刷データをクライアント端末16に蓄積した場合、印刷システム1は例えば図30に示す印刷ジョブ出力処理を行う。図30は印刷ジョブ出力処理の他の例のフローチャートである。なお、ここでは出力装置17において印刷ジョブを実行する例を説明する。
ステップS31において、ユーザは出力装置17の操作パネル等から認証情報を入力してログインを要求する。ユーザからログインを要求された出力装置17はステップS32において、認証サーバ装置13に認証情報を送信して認証を要求する。認証サーバ装置13は受信した認証情報を利用して認証を行い、認証結果を出力装置17に返す。ここでは認証結果が認証成功であったものとして説明を続ける。なお、認証結果が認証失敗である場合は例えばログインに失敗した旨を操作パネル等の表示装置に表示し、ステップS33以降の処理を行わない。
ステップS33において、出力装置17は認証に成功したユーザの印刷ジョブ情報を印刷サーバ装置14に要求する。ステップS34において、印刷サーバ装置14は認証に成功したユーザのユーザIDが付与されている印刷ジョブ情報を検索する。印刷サーバ装置14は検索した印刷ジョブ情報の一覧を出力装置17に送信する。
出力装置17は受信した印刷ジョブ情報の一覧を表示し、印刷ジョブ情報の一覧から印刷ジョブをユーザに選択させる。ユーザが印刷ジョブ情報の一覧から印刷ジョブ情報を選択すると、出力装置17はユーザが選択した印刷ジョブ情報の蓄積先、ファイルパスから印刷ジョブの印刷データの蓄積先、ファイルパスを判断できる。ここではクライアント端末16が印刷データの蓄積先として判断される。ステップS35において、出力装置17はユーザにより選択された印刷ジョブの印刷データを印刷サーバ装置14に要求する。
第1の実施形態では印刷サーバ装置14に蓄積されている印刷データは中間印刷データである。ステップS36において、クライアント端末16のジョブ蓄積プラグイン61の印刷ジョブ管理部82は実プリンタドライバ23を利用し、中間印刷データから実印刷データに変換する。なお、クライアント端末16は実印刷データをクライアント端末16で蓄積するようにしてもよい。この場合はステップS36の処理は省略される。
ステップS37において、クライアント端末16は出力装置17から要求された印刷ジョブの実印刷データを出力装置17に送信する。ステップS38において、出力装置17は受信した実印刷データを出力する。
ステップS39において、出力装置17は実印刷データの出力結果としてアカウント情報を印刷サーバ装置14に送信する。印刷サーバ装置14のアカウント制御部112はステップS40において、認証サーバ装置13のアカウント記憶部に実印刷データのアカウント情報を送信して記憶させる。
出力装置17は受信した印刷ジョブ情報の一覧を例えば図31に示すように操作パネル等の表示装置に表示する。図31は印刷ジョブ情報一覧画面の一例のイメージ図である。
図31の印刷ジョブ情報一覧画面2020は認証に成功したユーザの印刷ジョブ情報のリスト2021が含まれる。印刷ジョブ情報のリスト2021は各印刷ジョブ情報がボタン等の選択可能な部品で表されている。図31の各印刷ジョブ情報を表す部品には、印刷ジョブ名、日時、ページ数、部数、印刷面、カラーモード、印刷データの蓄積先が一例として表示されている。
また、図31の印刷ジョブ情報一覧画面2020は全選択ボタン2022、設定ボタン2023、削除ボタン2024、印刷ボタン2025、代理印刷ボタン2026、更新ボタン2027が含まれる。
全選択ボタン2022は印刷ジョブ情報のリスト2021の全ての印刷ジョブ情報を選択するボタンである。設定ボタン2023は選択されている印刷ジョブ情報の印刷設定変更画面を表示するボタンである。削除ボタン2024は選択されている印刷ジョブ情報を削除するボタンである。印刷ボタン2025は選択されている印刷ジョブ情報の印刷開始を要求するボタンである。
代理印刷ボタン2026はログインユーザが代理ユーザとして印刷可能な印刷ジョブ情報を表示させるボタンである。更新ボタン2027は印刷ジョブ情報のリスト2021を更新するボタンである。更新ボタン2027が押下されると、出力装置17は印刷サーバ装置14から印刷ジョブ情報を再取得する。
《ソフトウェア更新及びリモート設定》
本実施形態の印刷システム1では、例えばクライアント端末16の印刷アプリが自動又はユーザからの指示によりアプリケーションサーバ装置12にソフトウェア更新の確認を行い、更新できるソフトウェアがあれば更新を行う。
印刷アプリの自動更新を行うように設定されている場合は例えばクライアント端末16の印刷アプリが起動時などにアプリケーションサーバ装置12にソフトウェア更新の確認を行い、更新できるソフトウェアがあれば更新を行う。
ユーザが例えば「更新の確認」ボタンなどを押下することでソフトウェア更新の確認を指示すると、クライアント端末16の印刷アプリはアプリケーションサーバ装置12にソフトウェア更新の確認を行い、更新できるソフトウェアがあれば更新を行う。
また、本実施形態の印刷システム1は印刷アプリ上で動作する各種機能を、機能に対する設定を変更することで、その動作や処理内容を変更できる。したがって、本実施形態の印刷システム1では一部設定についてユーザ個別に設定させるのではなく、管理者が設定した内容をクライアント端末16に反映させたい場合がある。
そこで、本実施形態の印刷システム1では各種の設定をクライアント端末16で行う機能の他、管理者端末11で行った各種の設定をアプリケーションサーバ装置12からクライアント端末16に配布する機能を設けてもよい。
<まとめ>
第1の実施形態に係る印刷システム1は、出力毎の蓄積設定の変更を容易に行わせることができる。
なお、本実施形態における出力データは出力対象のデータであって、クライアント端末16においてユーザから出力要求を受付けた段階から出力装置17等によって出力されるまでの間において、出力の対象となっているデータのことである。本実施形態における出力プロセスでは、出力要求を受付けた段階から出力装置17等によって出力されるまでの間において、出力対象のデータのデータ形式が、様々に変換される。
出力対象のデータはアプリケーションデータの形式(Word(登録商標)ファイルなど)、中間データ形式(XPSデータなど)、印刷データ形式(PDLデータなど)等に変換される。本実施形態における出力対象のデータの変換のタイミングは種々である。
例えばクライアント端末16は出力データを中間データ形式で保持しても印刷データ形式で保持してもよい。また印刷サーバ装置14は出力データをアプリケーションデータ形式で保持しても中間データ形式で保持してもよく、出力装置17等において印刷を実行するときに印刷データ形式になっていればよい。
また、出力装置17において中間データ形式の印刷が実行できるのであれば(例えばPDFデータ等)、印刷サーバ装置14やクライアント端末16は、中間データ形式の出力データを送信して印刷を実行させてもよい。中間データ形式の出力データは印刷データ形式の出力データとして利用される場合もある。
したがって、本実施形態における出力データは、クライアント端末16においてユーザから出力要求を受付けた段階から出力装置17によって出力されるまでの間に、どのようなデータ形式になっているかが必ずしも特定されているわけではない。本実施形態における出力データとしてはユーザが出力を要求する対象として選択したデータを取り扱う。
また、出力制御システムとは、クライアント端末16や出力装置17とネットワークを介して接続される1台以上の情報処理装置のことであり、例えば1台以上の印刷サーバ装置14や、認証サーバ装置13及び印刷サーバ装置14などである。出力制御システムはユーザによりクライアント端末16から出力要求が実行されてから、ユーザにより出力装置17等において出力処理が実行されるまでの間に、出力プロセス(印刷プロセス)を制御する機能を備える。なお、出力制御システムは認証サーバ装置13及び印刷サーバ装置14以外の他の装置を含んでいてもよい。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。上述した実施形態における印刷システム1は出力システムの一例である。
印刷データ保持部114は出力データを端末装置又は出力制御システムに蓄積する蓄積制御手段の一例である。印刷ジョブ情報保持部115は蓄積した出力データに関する出力データ関連情報を保持する出力データ関連情報保持手段の一例である。印刷データ移動部84、113は、蓄積した出力データの蓄積先を変更する変更要求をユーザから受け付けて出力データの蓄積先を変更し、その変更を出力データ関連情報保持手段が保持する出力データ関連情報に反映させる出力データ移動手段の一例である。
出力装置17は出力制御システムから受信した出力データ関連情報に基づき、端末装置または出力制御システムに蓄積される出力データを取得して出力データを出力する出力手段の一例である。印刷ジョブ情報の一覧は出力データ一覧の一例である。