以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念等種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。なお、実施形態に係る画像形成装置として複合機(デジタル複合機/MFP)を例に説明する。しかしながら適用範囲は複合機に限定はせず、画像処理機能を有する装置であればよい。
<印刷システムの構成>
以下では、添付図面を参照して、本発明の実施形態について説明する。まず、図1を参照して、本実施形態に係る印刷システムの構成を説明する。本実施形態では画像形成装置の一例として複合機101(MFP:Multifunction Peripheral)を、情報処理装置であるクライアント装置の一例としてPC、携帯端末を例に説明する。複合機101とPC102,103は、ネットワーク100を介して通信可能に接続されている。PC102及びPC103は、異なるオペレーティングシステムによって動作するシステムであっても構わない。或いは、同一オペレーティングシステムの異なるバージョンによるシステムであっても構わない。本実施形態では、このような、クライアント装置のアプリケーション実行環境の種別が混在した印刷システム環境を想定している。
更に、ネットワーク100には、無線LANアクセスポイント105が接続されている。この無線LANアクセスポイント105には、携帯端末104や、図示しないその他様々な種類の機器と無線LANによって通信可能なよう構成される。本実施形態では、携帯端末104のような種類のデバイスも、PC102,PC103と同等のクライアント装置として、以下に説明する印刷環境が提供されうる。このような携帯端末104は、急速に普及が進み、かつ製品の多様化も著しい。また、このような携帯性の高い端末の普及に伴い、例えば同図に示すネットワーク100上に配置された複合機101に対して印刷を要望するユーザのクライアント装置は、パブリック環境から持ちこまれた装置である場合等も想定している。
次にクライアント装置であるPC102,PC103、携帯端末104について説明する。以下、PC102,PC103、携帯端末104を総称するときはクライアント装置とする。
PC102,103は、印刷ジョブを投入するアプリケーションプログラム等の各種のプログラムを実行できる。しかしながら、本実施形態においては、これら印刷用アプリケーションプログラムがインストールされていないことを前提としている。また、近代的なオペレーティングシステムが通常有しているネットワークファイル共有機能、及びウェブブラウザ等のウェブ情報アクセス機能は有していることを前提としている。クライアント装置は、上述のウェブ情報アクセス機能を利用することにより、ネットワーク100上に接続された機器との間で相互にウェブ経由での情報の送受信、共有機能を利用することができる。従って、クライアント装置は、複合機101に対してウェブ情報アクセス機能を利用して、印刷対象ファイルを含む各種データを送受信することが可能である。
<印刷システム全体のシーケンス図>
次に、図2-1乃至図2-3を参照して、ユーザ326が認証、フォルダ移動、及びファイルの印刷指示を行い、実際に印刷されるまでのシーケンスについて説明する。図3に示すユーザ326がUI部301を操作し、ウェブサーバ部328にアクセス要求をすることで処理が開始される。なお、クライアント装置間で構成及び制御に差異はないため、1台のクライアント装置を例に挙げて説明する。
まず、図2-1を参照して、S201乃至S208の処理の手順を説明する。この処理は、ユーザ326がクライアント装置の操作部327を介してブラウザアプリ部302を操作し、複合機101のウェブサーバ部328にウェブページアクセス操作を行なった際に行われる。ウェブサーバ部328を介して認証部304で操作者(ユーザ)の認証処理が実行される。認証処理においてUI部301に表示する画面は図8を用いて後述する。
S201で、ユーザ326がクライアント装置のUI部301を操作すると、クライアント装置のブラウザアプリ部302は、ウェブページ表示を行うための当該操作を受け付ける。機器内蔵ホットフォルダが提供するウェブページの取得を指示する操作であり、具体的にはアドレスを入力することやリンクを選択する等の操作となる。続いて、S202で、ブラウザアプリ部302は、受け付けたURLに対してページ取得要求を複合機101に対して行う。この処理は通常のウェブブラウザの処理であり、GETリクエスト等によって行われる。
次に、S203で、複合機101のウェブサーバ部328は、受信したページ取得要求からユーザ326の情報を取得し、指定のURLにアクセスする権利(アクセス権)を有するか否かを判定する。ユーザ326はログイン認証を行うことによってアクセス権を取得することができる。ここで、ウェブサーバ部328は、ユーザがアクセス権を有していればログイン認証を行うための認証画面の情報をクライアント装置に送信する。
次に、S204で、ブラウザアプリ部302は、ウェブサーバ部328から受信した画面情報に従って認証画面をUI部301に表示する。続いて、S205で、ユーザ326がUI部301に表示された認証画面に認証情報を入力すると、ブラウザアプリ部302は当該入力情報を受け付ける。その後、S206で、ブラウザアプリ部302は、認証画面のウェブページに記載されたURLに認証要求を送信する。認証要求にはユーザ326から入力された認証情報が含まれる。通常、認証要求は暗号化して送信される。
S207で、ウェブサーバ部328は受信した認証要求から認証情報を取得し、複合機101の認証部304に認証情報が有効であるか否かを問い合わせる。認証部304はユーザDB305の情報と受け付けた認証情報とを比較し、結果を返答する。ウェブサーバ部328は認証部304からの結果が認証成功を示す場合には、認証結果とともに、フォルダ画面の情報をブラウザアプリ部302に通知する。S208で、ブラウザアプリ部302は、ウェブサーバ部328から受信した画面情報に従ってフォルダ画面をUI部301に表示する。ここで表示されるフォルダ画面は、ホットフォルダにおける最上位階層のフォルダの画面である。
次に、S210乃至S214に示すフォルダ操作の処理手順を説明する。ここでは、ユーザ326がUI部301に表示されたフォルダ画面を操作してフォルダ画面の要求操作を行うところから処理を開始する。フォルダ画面及び当該画面における操作は図7-1及び図7-2を用いて後述をする。
S210で、クライアント装置のブラウザアプリ部302は、ユーザ326がUI部301に表示されたフォルダ画面を操作して行った、フォルダ画面の要求操作を受け付ける。当該操作は、いずれかの移動先フォルダ指定ボタンの操作、図7-1に示す上階層移動ボタン910の操作、又はブラウザアプリ部302に直接フォルダパスを含むアドレスを指定する操作等である。
次に、S211で、ブラウザアプリ部302は、指定されたアドレスの情報を取得するリクエストをウェブサーバ部328に送信する。詳細は図13及び図14を用いて後述する。続いて、S212で、複合機101のウェブサーバ部328は、フォルダ画面の要求を検知する。さらに、ウェブサーバ部328は、受信したフォルダ画面の要求からフォルダパスを取得し、ファイルシステム部329を介してフォルダのファイルリストを取得する。そして、ウェブサーバ部328は、取得したファイルリストに既定の印刷設定ファイルの拡張子を持つファイルが含まれているかを判定する。詳細は図14を用いて後述する。
次に、S213で、ウェブサーバ部328は、ページ生成部306によって、取得したフォルダ情報に基づいてフォルダ画面を生成する。更にホットフォルダ機能部321を呼び出す。ホットフォルダ機能部321は、プログラム生成部331で確認画面表示プログラムを生成する。生成した情報はブラウザアプリ部302に通知される。詳細は図10、図11及び図14を用いて後述する。
S214で、ブラウザアプリ部302は、ウェブサーバ部328から受信した情報に従ってフォルダ画面をUI部301に表示する。フォルダ画面は図8-1及び図8-2を用いて後述する。
次に、図2-2を参照して、S220乃至S228に示す印刷要求の処理手順を説明する。この処理は、ユーザ326がUI部301に表示されたフォルダ画面を操作して印刷指示操作を行うことから開始される。
S220で、ブラウザアプリ部302は、ユーザ326がUI部301に表示されたフォルダ画面を介して操作した、印刷指示操作を受け付ける。当該操作は、フォルダ画面における所定の表示領域(例えば、例えば図7-1に示すフォルダ種別表示領域908)にファイルをドラッグアンドドロップする操作である。
S221で、ブラウザアプリ部302は、確認画面の表示処理を行う。この確認画面は、印刷指示操作がユーザ326の意図するものであるか否かをユーザ326に確認させるための画面である。次にS222で、ブラウザアプリ部302は、確認画面表示プログラムを実行する。確認画面表示プログラムは、ユーザ326の設定に従って確認画面に表示する情報を取得するためのプログラムである。
S223で、ホットフォルダ機能部321は、ウェブサーバ部328が受信した確認画面表示情報の要求を解析し、取得対象の表示情報の内容を判定する。ホットフォルダ機能部321は、その判定の結果に基づいて、ブラウザアプリ部302に表示情報を返す。ブラウザアプリ部302は、ホットフォルダ機能部321から受信した情報に基づいて、確認画面をUI部301に表示する。
S224で、ユーザ326は、UI部301に表示された確認画面を操作して確認操作を行う。当該操作は、確認画面における所定のボタンを選択する操作である。
S225乃至S228の処理は、印刷指示操作で指定されたファイルの回数だけ実行され、それぞれの処理において1つのファイルがウェブサーバ部328へ送信される。S226乃至S228の処理の詳細は図15を用いて後述する。
S225で、ブラウザアプリ部302は、ウェブサーバ部328に印刷要求処理を行う。この処理は、POSTリクエスト等の通常のウェブブラウザの機能を使用する。印刷要求処理には印刷指示を受けたファイルとフォルダ画面のフォルダパスとが含まれる。続いて、S226で、複合機101のウェブサーバ部328は、受信した印刷要求を検知し、ホットフォルダ機能部321を呼び出してRAM402に記憶する印刷リストに印刷要求を登録する。登録する印刷要求には要求を対応付ける情報としてIDを付加し、受け付けたフォルダパスを含める。
次に、S227で、ウェブサーバ部328は、印刷要求からファイルを読み出し、ファイルシステム部329を介してHDD404に読み出したファイルを格納する。続いて、S228で、ホットフォルダ機能部321は、S226で印刷リストに登録した印刷要求に、保存したファイルのファイルパスを加える。
次に、図2-3を参照して、S230乃至S233に示す印刷処理の処理手順を説明する。ここでは、ホットフォルダ機能部321が、印刷リストが更新されたことを検知するところから処理を開始する。S230乃至S233の処理の詳細は図16から図17を用いて後述する。
S230で、ホットフォルダ機能部321は、複合機101のRAM402に記憶する印刷リストが更新されたことを検知する。S231乃至S233の処理は印刷リストに印刷要求がなくなる、又は先頭の印刷要求のファイルパスが未登録になるまで繰り返し実行される。
S231で、ホットフォルダ機能部321は、印刷リストの先頭の印刷要求を取得する。印刷リストに印刷要求がない場合、又は印刷要求のファイルパスが登録されていない場合は処理を終了する。続いて、S232で、ホットフォルダ機能部321は、印刷要求からフォルダパスを取得し、ファイルシステム部329を介してフォルダ内の印刷設定ファイルを取得する。さらに、ジョブ登録依頼部323によって、取得した印刷設定ファイルの解析を行う。
次に、S233で、ホットフォルダ機能部321は、印刷要求からファイルパスを取得し、ファイルシステム部329を介してファイルを読み出す。ジョブ登録依頼部323はS232で解析した結果と読み出したファイルを用いてジョブ登録部320にジョブ登録リクエストを送信する。同時にRAM402に記憶する印刷リストから印刷要求を削除する。
次に、S240及びS241に示す結果記録の処理手順を説明する。ここでは、印刷キュー管理部319が印刷完了を検知するところから処理を開始する。S240及びS241の処理の詳細は図15を用いて後述する。
S240で、印刷キュー管理部319は、印刷部314から印刷完了(ジョブ終了)を検知し、印刷結果管理部332に通知する。続いて、S241で、印刷結果管理部332は、印刷完了通知を受けて、RAM402に記憶する印刷履歴に印刷結果を登録する。
<システム構成>
次に、図3を参照して、本実施形態に係るホットフォルダ印刷システムの機能構成を説明する。図3に示すように印刷システムは、複数の機能モジュールの集合で表すことができる。各モジュールはハードウェアで実現してもよいし、ソフトウェアで実現してもよい。また、一部の機能モジュールを外部サーバ(不図示)に配置し、この外部サーバと通信することで機能を実現してもよい。なお、図2-1乃至2-3と共通する箇所は同じ参照番号を使用して、それらの説明を省略する。さらに、ここでは、各システムが構成する、機能モジュールと、それらの機能モジュールの処理及び機能間の関連とを説明する。
印刷システムは、前述した操作部327、ウェブサーバ部328、ファイルシステム部329、プリント制御部330、印刷部314、及び認証部304等を備える。操作部327は、UI部301、ブラウザアプリ部302、及びリモートファイルシステム部303を含む。UI部301は、画像情報を表示するため、並びに、データの入出力指示及び操作指示を受け付けるために設けられた機能部である。ユーザ326の操作内容は、ブラウザアプリ部302やリモートファイルシステム部303に反映される。
ブラウザアプリ部302は、UI部301上のウィンドウ画面にウェブコンテンツを表示することによって画面情報を提示する機能部である。ブラウザアプリ部302は、後述するウェブサーバ部328と情報の送受信処理を行う。ブラウザアプリ部302からUI部301には主に画面情報が提供される。
リモートファイルシステム部303は、クライアント装置が備えるファイルシステム機能を用いて複合機101内のフォルダ及びファイルを操作するための機能部である。リモートファイルシステム部303は、共有設定部310の設定情報に基づくアクセス権限のもと、ファイル管理部311にアクセスし各種操作を行う。リモートファイルシステム部303と共有設定部310の間では共有設定情報のやり取りが行われる。なお、リモートファイルシステム機能を利用すると具体的には次のような操作が可能である。例えば、フォルダの階層の情報、パスの情報、フォルダ配下のサブフォルダやファイルのリスト情報取得、フォルダ作成/削除処理、及びファイルの作成/削除処理等のファイルシステム由来の処理の実行がこれに相当する。また機器内蔵ホットフォルダ機能においては、印刷対象データであるPDF形式のファイルの送信処理等が含まれる。ただし、後述するように、本実施形態における機器内蔵ホットフォルダは、ファイルシステム部329に対して操作部327が直接的に印刷関連指示を実行する代わりとして、ウェブサーバ部328を経由して印刷関連指示を実行することを特徴としている。
ウェブサーバ部328は、複合機101が有する、ウェブサービスを外部装置に対して提供する機能部である。ウェブサーバ部328は、外部装置からの各種要求、即ち、リクエストを受信して、その内容に応じた処理を実行した結果をページ情報という形で外部に返却する一連の処理を実行する。
ウェブサーバ部328は、ページ生成部306、PDF転送部307、印刷設定生成部308、及び通知部309を含んで構成される。ページ生成部306は、受け付けたリクエストを実行した結果を外部装置に対して提供するためのページ情報を生成するモジュールである。PDF転送部307は、印刷対象データであるPDFフォーマットのファイルをウェブサーバ部328が外部装置から受信した場合に、当該受信ファイルの格納処理を実行する。具体的には、ファイルシステム部329を介して、ファイル管理部311がPDF312を格納する処理を実行する。
印刷設定生成部308は、ウェブサーバ部328が外部装置から印刷設定を含むリクエストを受信した場合の処理を実行するモジュールである。これは、ホットフォルダ作成処理における、フォルダに対応付ける印刷設定セットをウェブサーバ部328が受信した場合に相当する。この場合、印刷設定生成部308は、ホットフォルダ機能部321が備えるフォーマット変換部325を利用し、JDF形式のファイル313に変換した上で、ファイルシステム部329が有するファイル管理部311経由で格納する。
通知部309は、ウェブサーバ部328が外部装置からのウェブリクエストを受け付けたことをトリガとして、複合機101内部で処理を実行する際の、モジュール間の通知イベントを生成するためのモジュールである。具体的には、ホットフォルダ機能部321に、ウェブサーバ部328が受信した要求に応じ、印刷処理及びフォルダ階層移動処理、それらに付随する描画情報の生成、並びに返信処理等の一連の処理の実行のタイミングを制御するモジュールである。
ウェブサーバ部328は、さらに認証部304と連動し、ウェブサーバ部328を経由して提供するウェブサービスに対するユーザのアクセス制御を実現するための認証処理を実行可能である。認証処理を実行する際には、ウェブサーバ部328は、受信したユーザ情報に基づき、認証部304が備えるユーザDB305に対し、照合及び認証可否の判断を行う。認証部304は、認証が成功した場合に限り、ウェブサーバ部328経由で提供する各種ウェブサービスの利用をユーザに対して許可する。
プリント制御部330は、複合機101が備える、印刷部314、及びメディア管理部315を制御し、印刷対象データに基づいてシート上に画像を形成し、かつシートを加工処理するための一連の制御を司るモジュールである。プリント制御部330はさらに、ジョブ実行部316、印刷キュー管理部319、ジョブ登録部320、及びホットフォルダ機能部321という複数のサブモジュールに分割される。
ジョブ実行部316は、複合機101内部に生成される印刷制御を、ジョブと称される、印刷データの単位でまとめて管理し、かつ実行するモジュールである。印刷キュー管理部319は、ジョブ実行部316で管理される個別のジョブに順序を付けて実行順序を管理するためのモジュールである。ホットフォルダ機能部321は、ホットフォルダ機能を実現するためのモジュールである。ホットフォルダ機能部321が生成する印刷ジョブは、ジョブ登録部320を経由して印刷キュー管理部319に対して、生成順に格納される。
印刷キュー管理部319は、管理するジョブの先頭のジョブに対して、ジョブ実行部316に実行指示を与える。具体的には、まず画像生成部317が、ジョブが印刷対象とする、PDF312等の画像データをラスタライズする。また、印刷設定部318がJDF(Job Definition Format)313等に記述される印刷設定やメディア設定を解析する。さらに、ジョブ実行部316は、印刷部314、及びメディア管理部315を制御し、上記ラスタライズされた画像データを、解析されたコマンドに従って、シート上に画像形成する処理を実行する。これにより、一連の成果物生成処理が実行される。ジョブ実行部316による成果物生成処理が完了すると、印刷キュー管理部319は次のジョブに対して、同様の制御を順に実行するよう制御される。このような処理を、印刷キュー管理部319が管理するジョブの全てについて完了するまで、順に処理するよう制御される。
ホットフォルダ機能部321は、機器内蔵ホットフォルダ機能を複合機101において実現するためのモジュールであり、機能提供部である。ホットフォルダ機能部321が提供する、機器内蔵ホットフォルダ機能を構成する機能群としては、ホットフォルダの作成関連処理、投入された印刷ジョブの実行関連処理、及び機器内蔵ホットフォルダ機能自体の設定処理が含まれる。さらに、当該機能群には、これら各機能を指示するための操作部327に対する操作画面の提示処理等が含まれる。
また、本実施形態における機器内蔵ホットフォルダ機能は、ウェブサーバ部328を経由して印刷対象データを受信することを特徴としている。したがって、ウェブサーバ部328が管理する通知部309からの印刷処理実行トリガをブラウザ経由用通知部324が受けて、ジョブ登録依頼部323がジョブ登録部320に登録することで、印刷ジョブの実行が指示される。
ホットフォルダ機能部321に含まれるプログラム生成部331は、後述する確認画面表示プログラム等、クライアント装置へ提供するプログラムを生成する。印刷結果管理部332は、上述したように、印刷キュー管理部319からの印刷完了通知を受けて、RAM402に記憶する印刷履歴に印刷結果を登録する。
<複合機の構成>
次に、図4を参照して、複合機101の構成について説明する。図4(a)は複合機101のハードウェア構成を示し、図4(b)は複合機101のソフトウェア構成を示す。複合機101は、シート上の画像を読み取る読取機能、及びシートに画像を印刷する印刷機能を有する。また、複合機101は、画像が印刷された複数のシートを綴じたり、複数のシートを揃えたり、複数のシートの排出先を複数のトレイに分けたりする後処理機能を有する。なお、シートには、普通紙や厚紙等の用紙、フィルムシート等が含まれる。
更に、複合機101は、PC102、PC103、携帯端末104等のクライアント装置から利用可能なファイル共有機能を有する。また、複合機101が有するファイル共有機能は前述したウェブ情報アクセス機能を経由しても利用可能なように構成される。ファイル共有機能及びそのウェブ情報アクセス機能や、各装置でこれら機能を提供するプログラム構成、さらにこれらを経由した利用方法についての詳細は後述する。なお、これらの機能に本実施形態に係る複合機の機能を限定する意図はなく、他の機能、例えば、画像データの送信機能等、他の機能を含んでもよい。
複合機101は、コントローラ400、スキャンデバイス409、プリントデバイス410、給紙デバイス411、シート処理デバイス412、及び操作デバイス413を備える。また、コントローラ400は、CPU401、RAM402、ROM403、HDD404、RIP回路405、圧縮展開回路406、NIC407、インタフェース408を備える。複合機101は、展開された画像データを給紙部に格納されたメディア(紙、シート等)を搬送し、当該メディア上にトナーを用いて画像形成するための装置である。複数の異なる役割を持つ装置が相互に連結され、複雑なシート処理が可能なよう構成されている。本実施形態による複合機101は、装置内部に複数の処理対象となるジョブのデータを記憶可能なハードディスクドライブ404(以下、HDDとも称する。)等の不揮発性メモリを具備する。なお、本実施形態ではハードディスクを用いた複合機101の例を示すが、同様の大容量かつ不揮発性の記憶装置であれば、ハードディスクに限定されなくてもよい。
複合機101は、スキャンデバイス409から受け付けたジョブデータを、当該HDD404を介してプリントデバイス410で印刷するコピー機能を具備する。さらに、複合機101は、外部装置からインタフェース408を介して受け付けたジョブデータを、当該HDD404を介してプリントデバイス410で印刷する印刷機能等を具備する。本実施形態による複合機101は、このような複数の機能を具備したMFPタイプの印刷装置(画像形成装置とも称する。)である。本実施形態の複合機101は、カラープリント可能な印刷装置でも、モノクロプリント可能な印刷装置でも、本形態で述べる各種制御を実行可能であるならば如何なる構成でもよい。
スキャンデバイス409は、原稿画像を読み取り、読み取られた画像データを画像処理する。インタフェース408は、ファクシミリ、ネットワーク接続機器、及び外部専用装置と、画像データ等を送受する。また、HDD404は、スキャンデバイス409及びインタフェース408の何れかから受け付けた複数の印刷対象となるジョブの画像データを記憶する。従って、本実施形態に係る複合機101は、スキャンデバイス409から受け付けたジョブデータを、当該HDD404を介してプリントデバイス410で印刷することができる(コピー機能)。さらに、複合機101は、外部装置からインタフェース408を介して受け付けたジョブデータを、当該HDD404を介してプリントデバイス410で印刷することができる(印刷機能)。本実施形態による複合機101は、このような複数の機能を具備したMFPタイプの印刷装置(画像形成装置とも称する。)である。
HDD404には、本実施形態による複合機101によって永続的に記憶及び変更、管理される各種管理情報等も格納される。プリントデバイス410は、HDD404に記憶された印刷対象のジョブのデータの印刷処理を印刷媒体に対して実行する。操作デバイス413は、ユーザインタフェースの一例に該当する表示部である。
CPU401は、複合機101が具備する各種ユニットの処理や動作等を統括的に制御する。ROM403には、後述するフローチャートの各種処理等を実行する為のプログラムを含む本実施形態にて要する各種の制御プログラムが記憶されている。ROM403には、図示しているユーザインタフェース画面(以下、UI画面と称する。)を含む、操作デバイス413の表示部に各種のUI画面を表示させるための表示制御プログラムも記憶されている。
CPU401は、ROM403のプログラムを読み出して実行することで、本実施形態にて説明する各種の動作を複合機101により実行させる。ROM403は、読み出し専用のメモリであり、ブートシーケンスやフォント情報等のプログラムや上記のプログラム等各種プログラムが予め記憶されている。また、ROM403は、クライアント装置に対して、複合機101が備えるファイルシステムを公開し、アクセス可能とするためのファイルサーバ機能プログラムを記憶している。また、ROM403は、ウェブブラウザを使用し複合機101が備えるウェブサーバを経由してウェブページによる機能を提供するウェブプログラム等も記憶している。さらに、ROM403は、ウェブアクセス機能によって機器内蔵ホットフォルダ機能をクライアント装置に対して提供する機器内蔵ホットフォルダプログラムも記憶している。これらROM403に格納される各種プログラムの詳細については後述する。
RAM402は、読み出し及び書き込み可能なメモリであり、スキャンデバイス409やインタフェース408から送られてきた画像データや、各種プログラムや設定情報を記憶する。HDD404は、圧縮展開回路406によって圧縮された画像データや、RIP回路405が印刷データを展開したラスタ画像データ等を記憶する大容量の記憶装置である。当該HDD404には、処理対象となるジョブのプリントデータ等、複数のデータが保持されている。CPU401は、スキャンデバイス409やインタフェース408等の各種入力ユニットを介して入力された処理対象となるジョブのデータを、HDD404を介してプリントデバイス410でプリント可能に制御する。また、CPU401は、インタフェース408を介して外部装置へ送信できるようにも制御する。このように、CPU401は、HDD404に格納した処理対象ジョブのデータの各種出力処理を実行可能に制御する。さらに、CPU401は、HDD404内に構築されたファイルシステムを外部の装置に対してファイル共有や送受信等を行う機能を、ROM403のプログラムを読出し、実行することによって実現可能なように構成されている。
RIP回路405は、受信した印刷データをラスタ画像データに変換するためのRIP(Raster Image Processor)回路を含んで構成される。圧縮展開回路406は、JBIGやJPEG等といった各種圧縮方式によってRAM402、HDD404に記憶されている画像データ等に対して、圧縮・伸張動作を行う。以上のような構成のもと、本印刷システムが具備する制御部の一例としてのCPU401が、各シート処理デバイス412の動作も制御する。
NIC407はLANに接続し、画像データや装置情報の入出力を行うネットワークインタフェースカード(Network Interface Card)である。インタフェース408は、例えばUSBやLAN等のシリアルバスインタフェースであり、スキャンデバイス409やプリントデバイス410が接続される。スキャンデバイス409は、オートドキュメントフィーダーを含むスキャナである。束状の又は一枚の原稿画像に対して、不図示の光源で光を照射し、原稿反射像をレンズでCCD(Charge Coupled Device)センサ等の固体撮像素子上に結像する。そして、固体撮像素子からラスタ状の画像読取信号を画像データとして得る。画像データはインタフェース408を介して転送され、HDD404に格納される。
プリントデバイス410はシートへの画像形成を行う部位であり、一般的な動作原理は以下のとおりである。回転多面鏡(ポリゴンミラー等)が、画像データに応じて変調された、例えばレーザ光等の光線を入射させ、反射ミラーを介して反射走査光として感光ドラムに照射する。感光ドラム上にレーザ光によって形成された潜像はトナーによって現像され、転写ドラム上に貼り付けられたシート材、即ち、メディアに対してトナー像を転写する。この一連の画像形成プロセスをイエロー(Y)、マゼンタ(M)、シアン(C)、ブラック(K)のトナーに対して順次実行することによりフルカラー画像が形成される。また、4色に加え、特色と呼ぶトナーや、透明トナー等を転写可能とする構成としてもよい。フルカラー画像が形成された転写ドラム上のシート材は、その後定着器へ搬送される。定着器は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータ等の熱源を内蔵し、トナー像が転写されたシート材上のトナーを、熱と圧力によって溶解、定着させる。
給紙デバイス411は、印刷に使用する用紙やOHPシート等のメディアを格納するためのカセットやトレイを備える装置であり、格納されたメディアをプリントデバイス410に送り出す。シート処理デバイス412は、プリントデバイス410によって画像形成された後のメディアに対して各種加工を施した成果物を得るための装置である。ここにおける各種加工とは、シート処理デバイス412に搬送されてきたメディアの束の端部を針で閉じる針綴じ処理等が含まれる。また、同様にシート処理デバイス412に搬送されてきたメディアの束の中央部を針で綴じ、針に沿って折り曲げる製本処理が含まれる。また、シート処理デバイス412に搬送されてきたメディアの束の端部を歯型で圧力を加えて閉じる針無綴じ処理等が含まれる。さらに、シート処理デバイス412に搬送されてきたメディアの端部に穴あけ処理を行うパンチ処理が含まれる。
操作デバイス413は本実施形態による複合機101の各種設定や操作等をオペレータが行う場合の各種インタフェースを提供する。
続いて、図4(b)を参照して、複合機101のソフトウェア(プログラム)構成を説明する。これらプログラムはROM403に格納され、複合機101のCPU401によって読み出されて実行される。
ブートローダ601は、複合機101の電源投入直後に実行されるプログラムである。これらプログラムには、システムの起動に必要となる各種起動シーケンスを実行するためのプログラムが含まれる。オペレーティングシステム602は、複合機101の機能を実現する各種プログラムの実行環境を提供することを目的としたプログラムである。これは、主に複合機101のメモリ、即ちROM403やRAM402,HDD404等の資源管理、及び図4に示すその他各部の基本的な入出力制御等の機能を提供する。
ネットワーク制御プログラム603は、ネットワークを介して接続される機器に対してデータを送受信する際に実行されるプログラムである。このプログラムは、印刷するファイルの受信処理や、外部装置からのデータ送信、コマンドの送受信等の各種処理実行時に利用される。ネットワーク制御プログラム603には、NIC407を制御するためのドライバプログラムも含まれる。
ファイルシステムサーバ604は、複合機101が備えるHDD404内部のファイルをネットワーク経由で接続された外部装置に対して、ファイル作成、送信、受信等のリクエストを提供するためのサーバプログラムである。当該プログラムが有効化及び作動することによって、HDD404内のファイル及びファイルシステムが提供するサービスを、ネットワーク接続されたPC102、103や携帯端末104等の外部装置がネットワーク経由で利用することが可能となる。
ウェブサーバ605は、複合機101が備えるウェブコンテンツ及びウェブプログラムによって提供されるウェブサービスをネットワーク経由で接続したPC102、103や携帯端末104等の外部装置が利用可能とするサーバ機能を提供するプログラムである。ホットフォルダ機能プログラム606は、本実施形態による複合機101が備える特徴的なプログラムである。即ち、本プログラムは、ウェブサーバ605によってネットワークに接続されるクライアント装置からのウェブサービスに対するリクエストの受信を検知する。また、当該プログラムは、検知した受信リクエストに応じて機器内蔵ホットフォルダ機能として供される一連の機能を実行する。
JDF機能プログラム607は、JDFジョブデータが受信された場合に、NIC407の指示でCPU401によって実行されるJDFプリント機能を実行するプログラムである。このJDFプリント機能では、このプログラムに記述された処理順序、処理条件に基づいてCPU401が適切な順序で図4に記載の各デバイスの動作を順次指示する。これら各デバイスには、シート処理デバイス412、プリントデバイス410、HDD404、圧縮展開回路406、及びRAM402等が含まれる。また、当該プログラムには、NIC407経由で受信されたJDFジョブデータの解析処理及び、解析処理の結果、JDFに正しくない設定が含まれるか否かの判別処理、及び正しくない設定を解消するための設定変更等を行うプログラム処理も含まれる。
PDLプリント機能プログラム608は、PDLデータ(印刷ジョブデータ)が受信された場合に、CPU401によって実行されるPDLプリント機能を実行する。CPU401によって行われるPDLプリント機能では、このプログラムに記述された処理順序、処理条件に基づいてCPU401によって適切な順序で図4記載の各デバイスの動作を順次指示する。これら各デバイスには、シート処理デバイス412、プリントデバイス410、HDD404、圧縮展開回路406、及びRAM402等が含まれる。
メディア管理プログラム609は、複合機101が利用可能なシートに関連する管理機能を実行するためのプログラムである。このプログラムによって管理されるシート関連情報は、HDD404に格納される。ユーザ認証プログラム610は、複合機101を利用するユーザの利用権限の設定情報に基づいて、複合機101及びそれが提供する機能の利用可否と制限制御とを実行する。ユーザ認証プログラム610は、第1に認証処理を実行し、認証処理の結果に基づいて上述した機能利用可否、利用制御処理等を実行する。認証処理は、複合機101が備える操作デバイス413、又はPC102,103や携帯端末104等が備えるウェブブラウザを経由したウェブ画面を経由して処理することが可能である。
印刷ジョブキュー管理プログラム611は、ジョブの生成から印刷処理、印刷後処理、その過程におけるジョブ状況の確認を含むジョブ管理情報の生成等を司るプログラムである。具体的には、上述したJDF機能プログラム607、PDLプリント機能プログラム608、又はホットフォルダ機能プログラム606等が印刷要求を受けて、印刷ジョブを生成し、生成した印刷ジョブの実行処理のライフサイクルを管理する。また、当該プログラムは、複合機101の内部に生成されたジョブデータを逐次処理すべく、一時的にHDD404等の領域に対して、ジョブ実行要求の順序に従って当該実行順序を管理する処理も含む。その他のプログラム612は、複合機101が実行しうるROM403内に格納されたプログラムのうち、上記のいずれにも該当しないプログラム群が含まれるが、それらの詳細な説明は省略する。
<クライアント装置のハードウェア構成>
次に、図5を参照して、クライアント装置、即ち、図1におけるPC102,103及び携帯端末104の構成を説明する。図5(a)はクライアント装置のハードウェア構成を示し、図5(b)はクライアント装置のソフトウェア構成を示す。クライアント装置は、コントローラ508、キーボード(KB)509、表示部(CRT)510、及びHDD511を備える。コントローラ508は、CPU501、RAM502、ROM503、キーボードコントローラ505、表示コントローラ(CRTC)506、ディスクコントローラ507、及びNIC512を備える。これらの各部はバス504によって信号を相互に伝達可能に接続されている。
CPU501は、ROM503のプログラム用ROMに記憶されたプログラムや、HDD511からRAM502にロードされたOSや一般アプリケーションのプログラムを実行する。ROM503はまた、フォントROMやデータROMを有している。RAM502は、CPU501の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)505は、キーボードやポインティングデバイス(不図示)からの入力を制御する。表示コントローラ(CRTC)506は、表示部(CRT)510への表示を制御する。ディスクコントローラ(DKC)507は、ブートプログラム、種々のアプリケーション、フォントデータ等を記憶するHDD511等とのアクセスを制御する。NIC512(ネットワークコントローラ)は、ネットワークに接続されて、そのネットワークに接続された他の機器との通信制御処理を実行する。バス504は、CPU501、RAM502、ROM503及び各種コントローラ等を接続して、データ信号や制御信号を搬送する。
なお、携帯端末の場合にはキーボードコントローラ(KBC)505の代わりにタッチパネルコントローラ等を構成に含む場合がある。また、HDD511の代わりとなる大容量記憶装置を備える場合もある。さらに、NIC512は、装置が有線LAN、無線LANの何れかを備える場合、或いは双方を備える場合とで、内部構成が異なる。ただし、これらの内部構成による差異は、NIC512内部に隠蔽され、同図に示す他のモジュールには等価なものとしてシステムを制御可能なように構成される。
続いてに、図5(b)を参照して、クライアント装置であるPC102、103、携帯端末104が有するソフトウェア(プログラム)構成を説明する。
ブートローダ701は、PC102、103、携帯端末104の電源投入直後に実行されるプログラムである。これらプログラムには、システムの起動に必要となる各種起動シーケンスを実行するためのプログラムが含まれる。オペレーティングシステム702は、PC102、103、携帯端末104の機能を実現する各種プログラムの実行環境を提供することを目的としたプログラムである。これは、PC102、103、携帯端末104のメモリ、即ちROM503やRAM502,HDD511等の資源管理等の機能を提供する。
ネットワーク制御プログラム703は、ネットワークを介して接続される機器に対してデータを送受信する際に実行されるプログラムである。このプログラムは、印刷するファイルの送信をファイルシステムが実行する際に利用されうる。また、後述するリモートファイルシステムクライアント704やウェブブラウザ705は、ネットワークを介して接続された複合機101が有するファイルシステムサーバ604及びウェブサーバ605が提供する機能を利用する際に副次的に利用される。
リモートファイルシステムクライアント704は、ネットワーク制御プログラム703を利用して、ネットワーク経由で接続された複合機101等の外部機器との間で、ファイルの送受信処理を実行する際に、クライアント装置側で動作するプログラムである。当該プログラムは、ネットワーク経由で接続された外部機器が提供するファイルサーバの機能にアクセスして、当該ファイルサーバ機能を利用する際のクライアントの処理を実行する。リモートファイルシステムクライアント704は、NIC512を介して、ネットワークに接続される外部の機器が供するファイルサーバにアクセスし、ファイルの送受信やコピー等を可能にする。
ウェブブラウザ705は、ネットワーク経由で接続された外部機器であって、ウェブサーバ605が動作する外部装置が提供するウェブサービスを利用する際のクライアントプログラムである。汎用的なオペレーティングシステムであれば、予めオペレーティングシステムの機能の一部として装置に備えられていることもある。一方で、ウェブブラウザは汎用的なクライアント装置上で動作するアプリケーションプログラムでもあるため、当該クライアント装置のユーザが任意のウェブブラウザアプリケーションをインストールした上で利用することも考えられる。本実施形態においては、ウェブブラウザ705がクライアント装置上に対して提供される形態は問わない。
ローカルファイルシステム706は、HDD511内に格納された各種ファイルの作成、編集、削除等のファイル管理を実行するファイル管理機能プログラムである。前述したリモートファイルシステムクライアント704と併用することで、ネットワーク経由で接続された外部装置のファイルシステムサーバ604にアクセスし、ファイルシステムが管理するファイルをリモート装置(外部装置)にコピーする。また、その逆にリモート装置側のファイルをローカルファイルシステム706にコピーする等のネットワークファイル管理機能を実現する。
その他のプログラム707は、上記のいずれにも該当しないプログラム群が含まれるが、それらの詳細な説明は省略する。なお、上述したローカルファイルシステム706、リモートファイルシステムクライアント704、ネットワーク制御プログラム703、及びウェブブラウザ705等の各種プログラムがオペレーティングシステム702の一部として提供される形態でもよい。本実施形態は上述した各種機能をオペレーティングシステム702がそれ自身の機能として内包するか否かに関わらず、クライアント装置がこれら機能を有する限り適用される。
上述した、図3乃至図5までに示したシステム、クライアント装置(102,103,104)、及び複合機101の其々が備えるソフトウェア、ハードウェア構成の対応関係は次に示す通りである。操作部327は、CPU501が、KB509、CRT510、CRTC、及びKBC505等の入出力装置の制御と共にウェブブラウザ705を実行することによって実現される。ウェブサーバ部328は、ウェブサーバ605をCPU401が実行することで実現される。ファイルシステム部329は、ファイルシステムサーバ604及びネットワーク制御プログラム603をCPU401が実行することで実現される。
印刷部314は、JDF機能プログラム607をCPU401が実行し、かつCPU401が各種プリントデバイス、即ちプリントデバイス410、圧縮展開回路406、及びシート処理デバイス412を制御することで実現される。メディア管理部315は、印刷部314で実行する画像形成処理に好適な態様でシートを制御する機能部である。メディア管理部315は、メディア管理プログラム609をCPU401が実行し、給紙デバイス411、及びシート処理デバイス412を制御することで実現される。
ホットフォルダ機能部321は、ホットフォルダ機能プログラム606をCPU401が実行することによって実現される。ジョブ実行部316は、JDF機能プログラム607をCPU401が実行することによって実現される。印刷キュー管理部319及びジョブ登録部320は、印刷ジョブキュー管理プログラム611をCPU401が実行することによって実現される。
<ログインのウェブブラウザ画面の説明>
次に、図6を参照して、ウェブサーバ605がホットフォルダ機能プログラム606を利用する際のウェブリクエストを複合機101に送信した結果、ウェブブラウザ画面に表示される初期画面について説明する。
PC102、103、携帯端末104が複合機101の備えるホットフォルダ機能プログラム606に対してウェブブラウザ705を経由してアクセスした際に、最初に図6(a)に示す認証要求画面がウェブブラウザ画面上に表示される。当該画面には、認証に必要な情報であるユーザ名フィールド801、当該ユーザ名に対応したパスワード入力フィールド802、ログイン先、即ち認証サーバ選択フィールド803、及びログインボタン804が表示されている。
ホットフォルダ機能プログラムのユーザは、図6(b)に示すように、これら画面によって提供される各フィールドに、利用者の情報を適切に入力したうえで、ログインボタン804を押すと、認証処理がユーザ認証プログラム610によって実行される。ユーザ認証プログラム610の認証処理に必要な認証情報は、ウェブブラウザ705から、ネットワークを経由して複合機101のウェブサーバ605経由でユーザ認証プログラム610に送信される。
<フォルダ表示のウェブブラウザ画面の説明>
次に、図7-1及び図7-2を参照して、認証が成功した際にウェブブラウザ画面上に表示される機器内蔵ホットフォルダ機能画面の一例を説明する。
図7-1(a)は、ホットフォルダ機能のウェブブラウザ画面の初期状態を示す。同図を用いて、ウェブブラウザ画面上に表示される画面構成要素について説明する。ただし、ウェブブラウザ画面のアドレス表示部や各ウェブページのタイトルタブ等、ウェブブラウザ機能自身が一般的に提供する画面構成要素であって、本実施形態に係るホットフォルダ機能とは関係ないものについては説明を割愛する。図6に示した認証処理を経た直後に表示されるデフォルト機能の画面は、図7-1(a)に示す画面である。
フォルダ表示領域901は、ウェブブラウザ705によるウェブブラウザ画面を経由して、複合機101が備えるファイルシステムサーバ604が管理する、ファイルシステム上の階層の移動や表示、及び新規フォルダ作成等の操作が可能な階層管理機能領域である。プリント機能選択ボタン902は、ホットフォルダ機能が提供する各種機能のうち、印刷機能を選択する際に使用するボタンである。
ジョブリスト表示ボタン903は、ホットフォルダ機能を経由して複合機101に投入された印刷ジョブのリストを表示する画面に遷移するためのボタンである。カレントパス表示領域904は、ウェブブラウザ705によって複合機101のファイルシステムサーバ604にアクセスした際に、処理対象、即ちカレントパスをルートフォルダからの絶対パス形式によって表示する領域である。図7-1(a)においては、カレントパスは「/share」であることを示している。これは本実施形態における複合機101のファイルシステムサーバ604が管理する、公開フォルダの最上位階層の状態をウェブブラウザ画面によって表示した状態である。公開可能フォルダの最上位階層である「/share」よりも上位層の階層には移動することができず、本実施形態における複合機101のファイルシステムサーバ604は最上位階層フォルダ直下にユーザがフォルダを作成することを許可していない。図7-1(a)はこの挙動を満たす画面の例である。
移動先フォルダ指定ボタンであるfolderボタン905は、現在のフォルダの下層にあるフォルダに対応したボタンである。移動先フォルダ指定ボタンは現在のフォルダの階層にあるフォルダの数だけ表示され、各ボタンはフォルダの名称となっている、選択されると、フォルダ画面要求処理が行われ、名称が示すフォルダの画面に遷移する。即ちfolderボタン905は、「/share/folder」の画面に遷移するためのボタンである。フォルダ画面要求処理は図13及び図14を用いて説明する。
ログインユーザ表示領域906は、図6において示した、ウェブブラウザ画面を利用して認証時に入力したユーザ名を表示する領域である。ユーザ固有機能選択ボタン907は、ログインユーザ毎にカスタマイズされる各種機能提供画面への遷移を指示するためのボタンである。
フォルダ種別表示領域908は、本実施形態において特徴的な画面領域であり、カレントパス表示領域904に表示されるパスが示すファイルシステムサーバ604上のフォルダが、ホットフォルダであるか否かを判別可能とする情報を提供する領域である。図7-1(a)において示した画面の一例においては、カレントパスの「/share」に対応するファイルシステムサーバ604上のフォルダはホットフォルダではないことを示している。この状態で後述するファイル送信処理を行うための操作を行なっても、ファイルの送信は実行されない。
図7-1(b)は、図7-1(a)に示した画面の状態において、移動先フォルダ指定ボタンのfolderボタン905を選択した直後に遷移する画面状態の一例を示す。図7-1(a)に示す「/share」からその直下にある「folder」に遷移した画面であり、カレントパス表示領域904に「/share/folder」が表示される。本実施形態における複合機101のファイルシステムサーバ604は、最上位より下位のフォルダに対しユーザが任意のフォルダやファイルを作成することが可能なように構成される。そのため最上位階層を示す図7-1(a)とは異なり、フォルダ作成ボタン909、及び上階層移動ボタン910が表示される。
フォルダ作成ボタン909は、現在のフォルダに新規フォルダを作成するためのボタンである。上階層移動ボタン910は、現在のフォルダから上位フォルダへ遷移するためのボタンである。上階層移動ボタン910が選択されると、1つ上位のフォルダに対するフォルダ画面要求処理を行う。印刷設定作成ボタン911は、現在のフォルダに印刷設定ファイルを配置するための画面に遷移するボタンである。遷移先の印刷設定作成画面は図8-1及び図8-2を用いて説明をする。
図7-1(c)は、図7-1(b)でフォルダ作成ボタン909を選択した直後に表示されるウェブブラウザの画面状態の一例を示す。フォルダ名称入力欄912は、作成するフォルダの名前を入力するための入力フィールドである。所望のフォルダ名の文字列を入力した状態でOKボタン914を押下すると、前述した名称と同じ名称のフォルダがカレントパス直下に作成される。キャンセルボタン913を押下した場合にはフォルダ作成処理は実行されず、遷移元の図7-1(b)の画面状態に戻る。OKボタン914は、フォルダ名称入力欄912に文字が入力されている場合に選択可能となる。入力されたフォルダ名称がすでに存在するフォルダの名称と同一である場合、フォルダは作成されない。
図7-2(d)は、図7-1(c)でOKボタン914を選択した直後に表示されるウェブブラウザの画面状態の一例を示す。図示の通り、図7-1(c)の画面において示した作成対象となるフォルダ名称である、「folder01」という名称のフォルダが新規作成されていることが、フォルダ表示領域にfolder01ボタン915が追加されていることによって確認できる。
図7-2(e)は、ウェブブラウザにより表示される画面が図7-2(d)に示した状態において、folder01ボタン915を選択した直後に表示されるウェブブラウザの画面状態の一例を示す。図示の通り、カレントパス表示領域904が「/share/folder/folder01」となっている。つまり、図7-1(c)及び図7-2(d)の画面に提示されるフォルダ作成に関わる画面構成要素の操作によって作成されたフォルダにカレントパスが移動していることが確認される。
<印刷設定作成のウェブブラウザ画面の説明>
次に、図8-1及び図8-2を参照して、本実施形態に係る印刷設定作成のウェブブラウザ画面について説明する。図8-1(a)、(b)、(c)は、図7-2(e)で印刷設定作成ボタン911を選択することで遷移する印刷設定作成画面である。複合機101のホットフォルダ機能として指定可能な印刷設定を選択するための機能選択ボタンやセレクトボックス等が配置されている。図8-1(a)、(b)、(c)はそれぞれ、ウェブブラウザ画面の表示領域に制限があるためにスクロール表示した状態の画面の一部を表示したものである。しかし、本実施形態はこの画面構成限定されず、例えば表示ウィンドウサイズの変更や表示文字サイズの変更によって、単一の画面として表示してもよい。ウェブブラウザにおいて一般的な画面制御であるため、詳細な説明は省略する。印刷設定作成画面で設定できる印刷設定には、印刷設定指定、部数、使用する用紙の指定、用紙の出力先、解像度やカラー/モノクロ指定、プロファイル等の印刷時の画像処理に関する指定、ホチキスやパンチ折り等の印刷後のシートに対する後処理の指定がある。
図8-2(d)は、図8-1(a)、(b)、(c)の印刷設定作成画面で印刷設定を作成したフォルダを表示した例を示す。フォルダ種別表示領域908に、印刷機能を利用可能な「ホットフォルダ」であることを示す情報が提示されている。この状態で、PC102、103、携帯端末104内に保持されているファイルをフォルダ種別表示領域908にドラッグアンドドロップすることでファイル送信処理を行うことができる。
また上述のとおり、カレントパス「/share/folder/folder01」がホットフォルダに変更されたことに伴い、ウェブブラウザ画面には新規の機能選択ボタン(1002、1003)が配置される。印刷設定確認ボタン1002は、フォルダに作成されている印刷設定を確認するためのボタンである。一時設定ボタン1003は、フォルダに作成した印刷設定を一時的に変更して設定を適用し、印刷ジョブを実行する際の利便性を向上させることを目的として設けられた機能選択画面への遷移を指示するためのものである。
図8-2(e)は、エラー情報提示画面の一例を示す。当該画面では、ウェブブラウザ画面によって提供されるフォルダの移動及びウェブブラウザの機能を使用したウェブサーバ605を経由しホットフォルダ機能プログラム606に対してフォルダ移動操作を実施した際に、発生しうるエラーを通知する画面である。指定したフォルダが存在しない旨のエラー情報、及び、エラーであるために上述したような正常なフォルダ操作を実施できない旨の情報がフォルダ種別表示領域908に提示される。上述のエラー状態は、第1のユーザがある階層のフォルダをウェブブラウザ画面で閲覧している際に、別のユーザが同一フォルダを消去又はフォルダ名称を変更し、その状態で第1のユーザが当該フォルダに対してアクセスした場合である。この場合、指定された名称のフォルダは既に存在しないため、同図に示すようなエラーを示す画面情報を提示しユーザにその旨通知することが可能である。またユーザが存在しないファイルパスを表示する画面のアドレスを直接ブラウザに指定した場合にも、同様のエラー状態が発生する。
図8-2(f)は、印刷設定作成ボタン911が選択された際にウェブサーバ605に送信される印刷設定作成要求のデータの一例である。本実施形態においてはXML形式で印刷設定情報が記述された例を示しているが、図8-1(a)、(b)、(c)において設定した印刷設定項目の内容を格納可能な形式であれば任意の形式であっても構わない。図8-1(a)、(b)、(c)に示した一連の印刷設定作成画面によって印刷設定が指定され、作成ボタン1001が選択されると、JAVAスクリプト(登録商標)等によって、指定された印刷設定が図8-2(f)に示すXML形式のデータに変換される。
XMLデータ1005は複数のパートから構成されており、それぞれXML宣言部1006、メタデータ部1007、一般印刷設定部1008、及び面付設定部1009を含む。XML宣言部1006はデータ形式がXMLであることを示すために必ず記載しなくてはならない記述である。メタデータ部1007は対象のフォルダに関する情報を記載する部分であり、図例ではフォルダパス部1004に印刷設定を適用するフォルダのアドレス情報又はパス情報が記述されている。一般印刷設定部1008は印刷に使用する用紙の情報や部数、排紙方法等を記述する部分である。面付設定部1009は印刷面や印刷面の順序、面数等を記述する部分である。一般印刷設定部1008の内容は指定された印刷設定に応じて増減する。例えばホチキス設定や折り設定を指定した場合にはホチキス設定部と折り設定部に相応する情報が付加される。作成されたXMLデータ1005は、前述のウェブブラウザ用プログラムによってウェブサーバ605に非同期通信で送信される。ウェブサーバ605は、受信したXMLデータをホットフォルダ機能プログラム606に送信し、ホットフォルダ機能プログラム606は、当該データを解析し、XMLデータに含まれる印刷指定を実現するためのJDFファイルを作成する。
<複合機のファイルシステム構成>
次に、図9を参照して、本実施形態に係る複合機101のファイルシステムの構成を説明する。図9(a)は、複合機101のHDD404上に作成されたフォルダ構成を、ファイルシステムサーバ604を介してクライアント装置102のCRT510に表示したクライアントファイルシステム画面1100である。図8-1及び図8-2の印刷設定作成画面から印刷設定ファイルを作成したフォルダに、印刷設定ファイルとしてJDFファイルが作成されていることが確認できる。
図9(b)は、JDFファイルの一例である。図9(c)は、複合機101のHDD404上のフォルダ構成を示す模式図である。図7-1及ぶ図7-2の操作でfolder01フォルダ1123と、folder02フォルダ1124を作成し、図8-1及び図8-2の操作でそれぞれに印刷設定ファイル1125、1126を作成した状態である。shareフォルダ1121は最上位階層のフォルダであり、folder1122はその1つ下の階層である。
<アプリケーション設定のウェブブラウザ画面の説明>
次に、図10を参照して、本実施形態に係るプログラムの動作を設定するためのアプリケーション設定画面1200を説明する。クライアント装置からブラウザを使用して既定のアドレスにアクセスすることで複合機101から画面を取得することができる。アプリケーション設定画面1200には多くの設定項目があるが、ここでは確認画面表示に関係のある項目のみ説明する。なお、アプリケーション設定画面1200を開いた際の、当該画面の初期選択状態は、その時の設定値であり、RAM402にユーザ情報と紐付けて記憶されている設定を示す項目である。
キャンセルボタン1201は、アプリケーション設定画面1200を終了するためのボタンである。キャンセルボタン1201が選択された場合、アプリケーション設定画面1200で行ったアプリケーション設定は保存されない。ウェブブラウザ705は、遷移元のフォルダ画面の表示要求をウェブサーバ605へ送信し、ウェブサーバ605からのレスポンスに従って画面を遷移する。
OKボタン1202は、アプリケーション設定画面1200を終了するためのボタンである。OKボタン1202が選択された場合、ウェブブラウザ705は、アプリケーション設定画面1200で行なったアプリケーション設定の保存要求をウェブサーバ605へ送信する。アプリケーション設定の保存要求には、少なくとも変更されたアプリケーション設定の項目と設定値が含まれる。ウェブサーバ605は、アプリケーション設定の保存要求を受信すると、RAM402及びHDD404に、保存要求から取得したユーザ識別情報と対応付けて設定値を記憶する。
確認画面表示メニュー1203は、印刷要求を受け付けた場合に、印刷要求をウェブサーバ605へ送信する前に、当該要求の内容を確認するための画面を表示するか、又は何も表示しないかを指定するためのメニューである。確認画面表示メニュー1203には、
‐確認画面の非表示
‐ファイルのリストの表示
‐印刷設定の表示
‐キュー内のジョブの表示
を選択する項目が含まれる。
確認画面表示メニュー1203を用いて、確認の非表示が選択(選択肢「None」が選択)された場合には、確認画面が表示されることなく印刷要求が送信される。このため、ユーザが意図しないファイルを選択してしまった場合、意図しないフォルダを対象として印刷要求を送信してしまった場合、又はキュー内に多数のジョブが存在し、印刷開始まで待たなければならない場合、ユーザはそれに気付くことができない。一方、確認画面表示メニュー1203を用いて、印刷要求の送信前に確認画面として表示すべき内容を選択しておくことによって、ユーザが誤った操作を行ったとしても、印刷の実行開始前にユーザが誤りに気付くことが可能になる。
<確認画面表示プログラムの例>
次に、図11を参照して、ファイル送信要求を受け付けた際に確認画面を表示するためのプログラムの一例として、JAVAスクリプトで構成されたプログラムについて説明する。なお、ウェブブラウザ705上で動作するプログラムはJAVAスクリプトでなくてもよい。なお、図11では、ウェブブラウザ画面の整形に関連する記載を省略し、確認画面表示プログラムの説明に関連する記載のみを示している。
図11(a)に示すプログラム1300は、印刷要求を受け付けたファイルのリストを含む画面を生成するためのJAVAスクリプトの例である。プログラム1300では、HTTPの機能であるFileオブジェクトから、印刷要求を受け付けたファイルの情報を取得する。取得する情報は、ファイルの名前、サイズ、及び最終更新日時である。
図11(b)に示すプログラム1310は、対象のフォルダに設定されている印刷設定の解析結果を含む確認画面を生成するためのJAVAスクリプトの例である。プログラム1310では、JQueryのAJAX通信を用いて、複合機101から印刷設定の解析結果を取得する。GETリクエストにおけるパラメータに、対象のフォルダのパスを設定し、解析結果として、設定項目の名前と、当該設定項目に対して指定されている設定値とを取得する。
図11(c)に示すプログラム1320は、複合機101のジョブキューにおいて印刷中又は待機中のジョブのリストを含む確認画面を生成するためのJAVAスクリプトの例である。プログラム1320では、JQueryのAJAX通信を用いて、複合機101からジョブのリストを取得する。取得するジョブの情報は、投入日時、待機番号、ジョブ名、ジョブ投入者名、及びジョブの状態である。
前述の通り、確認画面表示メニュー1203の設定に従って、ウェブサーバ605は、クライアント装置(ウェブラウザ705)へ送信するJAVAスクリプトを決定する。ウェブサーバ605は、決定したJAVAスクリプト(確認画面表示プログラム)を、図8-2(d)に示す画面(ジョブ投入画面)の画面情報と一緒にクライアント装置へ送信する。ウェブラウザ705からクライアント装置へ送信されたJAVAスクリプトは、ユーザからファイルの印刷指示を受け付けた際に、ウェブブラウザ705上で動作する。当該JAVAスクリプトがウェブラウザ705上で動作することにより、図12-1乃至図12-3を用いて後述する画面が表示される。
<印刷ジョブを投入した際のウェブブラウザ画面の説明>
次に、図12-1乃至図12-3を参照して、図8-2(d)のフォルダ種別表示領域908にマウス等の指示装置を用い、ファイルをドラッグアンドドロップ等の操作によって配置した直後に遷移する画面の一例を説明する。
図7-2(e)における説明で述べたとおり、カレントパスが「/share/folder/folder01」であるフォルダはホットフォルダであり、単なる共有フォルダではない。当該フォルダは、図8-1(a)、(b)及び(c)に示す一連の操作による印刷設定が紐付け(対応付けられた)フォルダである。従って、当該フォルダに対してウェブブラウザ705を介して上述の操作が行われた場合には、ウェブブラウザ705からウェブサーバ605に対する印刷要求及び印刷対象データの送信処理が実行される。当該処理は、図4(b)におけるホットフォルダ機能プログラム606の説明で述べたとおり、(ウェブサーバ605からウェブブラウザ705へ送信された)JAVAスクリプトをウェブブラウザ705が実行することによって実行される。
本実施形態では、以下で説明するように、ホットフォルダに対して上述の操作が行われた場合に、アプリケーション設定画面1200(確認画面表示メニュー1203)を用いて行われた設定(確認画面の表示設定)に応じて、印刷要求及び印刷対象データの送信開始前に、確認画面の表示制御が行われる。
図12-1(a)は、フォルダ種別表示領域908にマウス等の指示装置を用いて、ファイルをドラッグアンドドロップする操作を行う際にウェブブラウザ705が表示する画面の例を示す。ドラッグアンドドロップ表示1401は、ドラッグアンドドロップ操作中であることを示す表示である。この表示は、クライアント装置のシステムによって提供される表示であり、この図に示されるとおりの表示でなくてもよい。
図12-1(b)、図12-1(c)及び図12-1(d)は、図12(a)に示すような、ファイルのドラッグアンドドロップ操作が行われた場合に、図12(a)の画面の次に表示される画面(確認画面)の例である。本実施形態では、アプリケーション設定画面(確認画面表示メニュー1203)を用いて行われた設定(確認画面の表示設定)に応じて、図12(a)の画面の次に表示される画面が変化する。
確認画面の表示設定として、確認画面の非表示が設定されている場合には、図12-1(b)、図12-1(c)及び図12-1(d)のいずれの画面も表示されずに、図12(a)の画面から図12(e)の画面に遷移する。即ち、いずれの確認画面も表示されずに、クライアント装置(ウェブブラウザ705)からウェブサーバ605への、印刷要求及び印刷対象データ(ファイル)の送信が開始される。
図12(b)は、確認画面の表示設定として、ファイルのリストの表示が設定されている場合に、図12(a)の画面の次にウェブブラウザ705が表示する確認画面の例を示す。この確認画面には、送信ファイルリスト1411が表示される。送信ファイルリスト1411は、ドラッグアンドドロップ操作によって印刷要求が行われたファイルのリストである。図12(b)は、「manualA.pdf」、「manualB.pdf」及び「document.pdf」の3つのファイルが同時に選択され、フォルダ種別表示領域908へのドラッグアンドドロップ操作が行われた(即ち、これら3つのファイルについて印刷指示を受け付けた)場合の例を示している。
送信ファイルリスト1411に表示されたファイルは、表示されている順番で印刷される。ユーザ326は、操作ミス等により、意図したファイルと異なるファイルの印刷指示を行った場合、又は期待する印刷順序で印刷が行われない場合には、後述する操作により印刷指示(印刷要求)をキャンセルできる。また、送信ファイルリスト1411において、印刷対象ファイルの追加若しくは削除、又は印刷順序の変更のための操作を行えるように確認画面を構成してもよい。
例えば、送信ファイルリスト1411にファイルをドラッグアンドドロップすることにより、送信ファイルリスト1411へのファイルの追加が可能であってもよい。送信ファイルリスト1411内のファイルをドラッグして送信ファイルリスト1411の外にドロップすることにより、送信ファイルリスト1411からのファイルの削除が可能であってもよい。また、送信ファイルリスト1411内のファイルをドロップして別のファイルの上にドロップすることにより、印刷順序の入れ替えが可能であってもよい。このような操作は、確認画面の表示用のプログラム1300によって実現されてもよいし、ファイルリストの取得要求を受けたウェブサーバ605から応答によって実現されてもよい。
キャンセルボタン1412は、ファイルの送信を中止するためのボタンである。確認画面に表示された情報を確認したユーザが、自らが意図していない操作を行ったことに気づいた場合、キャンセルボタン1412を選択することにより、ファイルの送信の中止を指示できる。キャンセルボタン1412が選択された場合、ウェブサーバ605へのファイルの送信は実行されず、図12(b)の画面から図12(g)の画面に遷移する。
OKボタン1413は、ファイルの送信を実行するためのボタンである。ユーザは、確認画面に表示された情報に基づいて、正しい印刷指示を行ったことを確認できた場合、OKボタン1413を選択することにより、ファイルの送信(印刷)の実行を指示できる。OKボタン1413が選択された場合、ウェブサーバ605へのファイルの送信が開始され、図12(b)の画面から図12(e)の画面に遷移する。即ち、送信ファイルリスト1411の最終的な表示内容に従って、ウェブサーバ605への印刷要求が実行される。
図12(c)は、確認画面の表示設定として、印刷設定の表示が設定されている場合に、図12(a)の画面の次にウェブブラウザ705が表示する確認画面の例を示す。表示領域1421には、ドラッグアンドドロップ操作による印刷要求の対象となっているフォルダに対応付けられている印刷設定が表示される。この表示は、ウェブサーバ605への印刷要求及び印刷対象データ(ファイル)の送信が実行された場合に、表示領域1421に表示されている印刷設定で印刷が実行されることを示している。
ユーザは、表示領域1421に表示された印刷設定を確認し、意図するフォルダと異なるフォルダを対象として印刷指示を行ってしまったことに気付いた場合には、キャンセルボタン1412を選択することにより印刷指示をキャンセルできる。一方、意図するフォルダを対象として印刷指示を行ったことを確認できた場合、OKボタン1413を選択することにより、ファイルの送信(印刷)の実行を指示できる。
表示領域1421に表示された印刷設定を一時的に変更することができるように確認画面を構成してもよい。例えば、部数又は用紙サイズといった、印刷の実行時に変更されることの多い設定項目について、当該項目のクリックにより変更内容を指定可能にしてもよい。このような操作は、確認画面の表示用のプログラム1310によって実現されてもよいし、ファイルリストの取得要求を受けたウェブサーバ605から応答によって実現されてもよい。OKボタン1413の選択によりファイルの送信の実行が指示された場合、上述の操作による変更後の設定値をファイルと一緒にウェブサーバ605へ送信することにより、変更後の設定値に従って当該ファイルの印刷が複合機101において実行される。
図12(d)は、確認画面の表示設定として、キュー内のジョブの表示が設定されている場合に、図12(a)の画面の次にウェブブラウザ705が表示する確認画面の例を示す。表示領域1431には、ドラッグアンドドロップ操作による印刷指示が行われた時点で複合機101のジョブキュー内に存在するジョブのリストが表示される。この表示は、ウェブサーバ605への印刷要求及び印刷対象データ(ファイル)の送信が実行された場合に、表示領域1431に表示されている全てのジョブの実行(印刷)が完了した後に、送信したファイルの印刷が実行されることを示している。
ユーザは、表示領域1431に表示された情報を確認することで、複合機101の印刷状況を把握できる。このため、ユーザは、これから送信されるファイルの印刷が、期待する時間までに完了しないことがわかった場合には、キャンセルボタン1412を選択することにより印刷指示をキャンセルできる。一方、これから送信されるファイルの印刷が、期待する時間までに完了することがわかった場合には、OKボタン1413を選択することにより、ファイルの送信(印刷)の実行を指示できる。
表示領域1431に表示されているジョブのキャンセル、又は割り込み印刷を指示できるように、確認画面を構成してもよい。例えば、表示領域1431に表示されたジョブを選択することにより、キャンセル対象のジョブを指定したキャンセル要求をウェブサーバ605(複合機101)に送信できてもよい。ウェブサーバ605がキャンセル要求を受信した場合、印刷ジョブキュー管理プログラム611は、ウェブサーバ605からユーザ情報及びキャンセル要求を受け取り、指定されたジョブをキャンセルする権限をユーザが有しているか確認する。印刷ジョブキュー管理プログラム611は、当該権限をユーザが有している場合には、指定されたジョブのキャンセルを実行し、有していない場合には、ジョブのキャンセルを実行しない。キャンセルを実行した場合には、印刷ジョブキュー管理プログラム611は、キャンセル実行後のジョブリストを応答としてクライアント装置へ送信する。なお、割り込み印刷の要求についても同様である。このような操作は、確認画面の表示用のプログラム1320によって実現されてもよいし、ファイルリストの取得要求を受けたウェブサーバ605から応答によって実現されてもよい。
図12-1(e)は、ファイルを送信中にウェブブラウザ705が表示する画面の一例を示す。同図に示すように、ファイルの送信中であることが判別可能な情報が、画面上で提示される。また、複数ファイルを同時に送信する場合には、何個目のファイルを送信中であるかを示す情報が表示され、この表示は、例えば、送信中のファイルが変わるごとに変更される。
図12-1(f)は、図12-1(e)においてウェブブラウザ705が実行する処理(即ち、印刷対象ファイルの送信処理)が完了した直後に表示される画面の例を示す。同図に示すように、ファイルの送信処理が完了したことが判別可能な情報が、画面上で提示される。
図12-2(g)は、ウェブブラウザ705が表示する画面が図12-1(f)に示す画面になってから一定時間経過後に遷移する画面の例を示す。同図に示す画面状態は、図7-2(e)と同等である。即ち、カレントパスである「/share/folder/folder01」に対する印刷処理の指示を再び受け付け可能であることを示す情報が提示される。
図12-2(h)は、送信したファイルの印刷の実行中に複合機101の操作デバイス413に表示する画面の例を示す。送信したファイルの印刷順序については、図15のフローチャート及び図18の印刷リストの模式図を用いて後述する。状態表示領域1481は、現在の複合機101の状態を表示する領域である。図12-2(h)に示す例では、複合機101が印刷処理を実行中であることを示す情報(「Printing」)が、状態表示領域1481に表示されている。表示するべき状態がない場合、状態表示領域1481には何も表示されない。複合機101においてジャム又は消耗品切れ等のエラーが発生している場合、発生しているエラーの内容が状態表示領域1481に表示される。
<ウェブブラウザ上で操作を受け付けた際の処理手順>
次に、図13を参照して、図7-1乃至図12-3で説明した機能を実行する際のCPU501の処理手順を説明する。以下で説明する処理は、例えばクライアント装置のCPU501がROM503やHDD511に格納された制御プログラムをRAM502に読み出して実行することにより実現されてもよい。ここでは、図6、図7-1及び図7-2で説明をした操作により操作画面がウェブブラウザ705により表示されることで処理が開始される。
S1501で、CPU501は、ウェブブラウザ705によりウェブブラウザ画面として表示された操作画面に対するユーザからの操作を受け付ける。操作を受け付けたと判定するとS1502に進み、そうでない場合にはS1501にとどまる。S1502で、CPU501は、S1501で受け付けた操作が、表示された画面をクリックする操作であったか否かを判定する。画面をクリックする操作である場合にはS1504に進み、そうでない場合にはS1503に進む。ここでの画面をクリックする操作とは、PC102、103の場合は、マウス等のポインティングデバイスによるクリック操作に対応し、携帯端末104の場合は、タッチパネルデバイスのタッチ操作に対応する。なお、クリック操作については、押下を開始してから所定時間以内に押下を解放した場合に当該操作が行われたと判定する。
S1503で、CPU501は、S1501で受け付けた操作が、画面にファイルをドラッグアンドドロップする操作であったかを判定する。ドラッグアンドドロップする操作である場合にはS1505に進み、そうでない場合にはS1501に戻る。ドラッグアンドドロップ操作については、例えば、マウスのボタンの押下を検知してから、所定時間を超えて、かつ、所定距離の移動の後に当該押下の解放を検知した場合に当該操作が行われたと判定する。S1505で、CPU501は、S1501でファイルをドラッグアンドドロップする操作が、フォルダ種別表示領域908に対する操作であったか否かを判定する。そうである場合にはS1507に進み、そうでない場合にはS1501に戻る。
一方、S1504で、CPU501は、S1501で受け付けた画面をクリックする操作が、印刷設定作成ボタン911に対する操作であったかを判定する。クリック操作については、例えばマウスのボタンが押下された後に、所定時間内に当該押下の解放が検知されると当該操作が行われたと判定する。印刷設定作成ボタン911をクリックする操作である場合にはS1514に進み、そうでない場合にはS1506に進む。S1506で、CPU501は、S1501で受け付けた画面をクリックする操作が、フォルダを移動するための移動ボタン(即ち、上階層移動ボタン910や移動先フォルダ指定ボタン905、915)に対する操作であったかを判定する。移動ボタンをクリックする操作である場合には、S1515に進み、そうでない場合にはS1508に進む。S1508で、CPU501は、S1501で受け付けた画面をクリックする操作が、アプリケーション設定ボタンをクリックする操作であったかを判定する。そうである場合にはS1516に進み、そうでない場合にはS1501に戻る。
S1507で、CPU501は、表示中の操作画面の画面情報の受信時に当該画面情報と一緒に受信したプログラムに、確認画面表示プログラムが含まれているか否かを判定する。確認画面表示プログラムが含まれている場合にはS1509に進み、含まれていない場合にはS1514に進む。
S1509で、CPU501は、確認画面表示プログラム(例えば、プログラム1300、1310、1320のいずれか)を実行することにより、確認画面を表示する。確認画面表示プログラム、及び対応する確認画面については図11及び図12-1乃至図12-3を用いて前述している。確認画面を表示したらS1510に進む。
S1510で、CPU501は、表示した確認画面に対するユーザからの操作を受け付ける。操作を受け付けたと判定するとS1511に進み、そうでない場合にはS1510にとどまる。S1511で、CPU501は、S1510で受け付けた操作が、キャンセルボタン1412をクリックする操作であったか否かを判定する。受け付けた操作がキャンセルボタン1412をクリックする操作である場合には、確認画面の表示を終了してS1501に戻り、そうでない場合にはS1512に進む。
S1512で、CPU501は、S1510で受け付けた操作が、OKボタン1413をクリックする操作であったか否かを判定する。受け付けた操作がOKボタン1413をクリックする操作である場合には確認画面の表示を終了してS1513に進み、そうでない場合にはS1510に戻る。
S1513で、CPU501は、ウェブサーバ605に対して印刷対象ファイルを送信する送信処理を実行する。一回の送信で1つのファイルを送信する。この送信処理に関連する画面の遷移については、図12-1乃至図12-3を用いて前述している。印刷対象ファイルの送信処理が終了したら、S1501に戻る。
S1514で、CPU501は、ウェブブラウザ705上に印刷設定作成画面を表示して入力を受け付ける印刷設定作成処理を実行する。当該処理については図8-1及び図8-2を用いて前述している。処理を終了すると、S1501に戻る。
また、S1515で、CPU501は、複合機101からフォルダ画面を取得し、取得したウェブページを表示するフォルダ画面要求処理を実行する。フォルダ画面要求処理はウェブブラウザの標準的な機能であるGETリクエスト等を用いて、取得するフォルダのパスを送信し、取得したフォルダ画面をウェブブラウザ705上に表示する処理である。表示すると、S1501に戻る。
また、S1516で、CPU501は、アプリケーション設定処理を実行する。アプリケーション設定処理は図10を用いて前述している。アプリケーション設定処理が終了すると、S1501に戻る。
<フォルダ画面の表示要求を受け付けた際の処理手順>
次に、図14を参照して、本実施形態に係るフォルダ画面の表示要求を受け付けた際の複合機101のCPU401における処理手順を説明する。以下で説明する処理は、例えば複合機101のCPU401がROM403やHDD404に格納された制御プログラムをRAM402に読み出して実行することにより実現されてもよい。クライアントからフォルダ画面の表示要求を受け付けた時に処理を開始する。
S1601で、CPU401は、受け付けたフォルダ画面の表示要求から、表示するフォルダのパスを取得する。本実施形態ではHTML通信のGETメッソッドによりフォルダ画面の表示要求を行うものとし、フォルダのパスはGETパラメータで指定するものとする。フォルダのパスを取得するとS1602に進む。
S1602で、CPU401は、S1601で取得したフォルダパスにフォルダが存在するかを判定する。フォルダが存在する場合はS1603に進み、フォルダが存在しない場合はS1604に進む。S1604で、CPU401は、フォルダパスが無効であることを示すフォルダ画面である、図8-2(e)のウェブページを作成し、S1613に進む。
一方、S1603で、CPU401は、S1601で取得したフォルダパスが示すフォルダ内に印刷設定ファイルがあるか否かを判定する。印刷設定ファイルがあるか否かの判定は、フォルダ内のファイルのリストを取得し、既定の拡張子を持つファイルがあるか否かによって判定する。印刷設定ファイルがある場合にはS1605に進み、ない場合にはS1606に進む。なお、フォルダ自体がない場合は印刷設定ファイルがないものとする。S1606で、CPU401は、指定された印刷要求が無効なフォルダ画面である図7-2(d)のウェブページを作成し、S1613に進む。
S1605で、CPU401は、指定された印刷要求可能なフォルダ画面である図8-2(d)のウェブページ及びウェブブラウザ705上で動作するプログラムを作成し、S1607に進む。ここでは印刷要求処理の一部をJAVAスクリプトで行うものとする。
S1607で、CPU401は、アプリケーション設定画面1200(確認画面表示メニュー1203)を用いて行われた設定(確認画面の表示設定)が、ファイルのリストを表示する設定であるか否かを判定する。なお、確認画面の表示設定については、図10を用いて前述している。確認画面の表示設定が、ファイルのリストを表示する設定である場合には、S1610に進み、そうでない場合には、S1608に進む。S1610で、CPU401は、予め作成されているプログラムから、ファイルリストの表示用の確認画面表示プログラム(プログラム1300)を選択し、S1605で作成したプログラムに付加する。なお、前述のように、本実施形態ではプログラム1300はJAVAスクリプトで構成されうる。その後、S1613へ進む。
S1608で、CPU401は、確認画面の表示設定が、印刷設定を表示する設定であるか否かを判定する。確認画面の表示設定が、印刷設定を表示する設定である場合には、S1612に進み、そうでない場合には、S1609に進む。S1612で、CPU401は、予め作成されているプログラムから、印刷設定の表示用の確認画面表示プログラム(プログラム1310)を選択し、S1605で作成したプログラムに付加する。その後、S1613へ進む。
S1609で、CPU401は、確認画面の表示設定が、キュー内のジョブを表示する設定であるか否かを判定する。確認画面の表示設定が、キュー内のジョブを表示する設定である場合には、S1611に進み、そうでない場合には、S1613に進む。S1611で、CPU401は、予め作成されているプログラムから、キュー内のジョブのリストの表示用の確認画面表示プログラム(プログラム1320)を選択し、S1605で作成したプログラムに付加する。その後、S1613へ進む。
S1613で、CPU401は、S1604、S1606、S1605,S1610、S1611又はS1612で作成したウェブページ、ファイル送信プログラム、確認画面表示プログラム等をレスポンス(応答)として送信し、処理を終了する。
<印刷要求の受信処理>
次に、図15を参照して、上記S1513においてクライアント装置102,103,104が送信する印刷要求を受信した際の複合機101のCPU401の処理手順を説明する。以下で説明する処理は、例えば複合機101のCPU401がROM403やHDD404に格納された制御プログラムをRAM402に読み出して実行することにより実現されてもよい。クライアント装置102,103,104からの印刷要求を検知すると処理を開始する。
S1701で、CPU401は、RAM402に記憶する印刷リストの末尾に印刷要求を追加し、S1702に進む。追加する情報には受信したリクエストに含まれる投入先のホットフォルダのパス、投入者の名前、ファイルの名前、等が含まれる。S1702で、CPU401は、リクエストのボディ部分を読み出しファイルをHDD404等の記憶部に保存する。ファイルを保存すると、S1703に進む。
S1703で、CPU401は、ファイルの保存に成功したか否かを判定する。ファイルの受信中にネットワークが切断した場合や、HDD404の記憶領域が不足し保存できなかった場合等に失敗となる。ファイルの保存に成功した場合S1705に進み、そうでない場合にはS1704に進む。
S1704で、CPU401は、S1701で追加した印刷要求を印刷リストから削除する。続いて、S1706で、CPU401は、ファイルの投入に失敗したことを示すレスポンスを作成し返却する。レスポンスにはファイル投入に失敗したことを示す画面を表示するためのウェブページ等を含めてもよい。レスポンスを返却したらネットワークを切断し、処理を終了する。なお、ネットワークが切断されている場合には、レスポンスは返却せずに処理を終了する。
一方、S1705で、CPU401は、S1701で追加した印刷要求にS1702で保存したファイルパス(保存先)を追加する。続いて、S1707で、CPU401は、ファイルの投入に成功したことを示すレスポンスを作成し返却する。レスポンスにはファイル投入に成功したことを示す画面を表示するためのウェブページ等を含めてもよい。レスポンスを返却すると、ネットワークを切断し処理を終了する。なお、ネットワークが切断されている場合には、レスポンスは返却せずに処理を終了する。
<印刷リストの印刷要求を処理する際の処理手順>
次に、図16を参照して、RAM402に記憶されている印刷リストの印刷要求を順番に印刷する処理手順を説明する。以下で説明する処理は、例えば複合機101のCPU401がROM403やHDD404に格納された制御プログラムをRAM402に読み出して実行することにより実現されてもよい。CPU401は図15で示される印刷要求受信時の処理と並行して、図16で示される印刷要求の処理を行う。RAM402に記憶する印刷リストが変更されたことを検知すると処理を開始する。
S1801で、CPU401は、印刷リストの先頭の印刷要求にファイルのパスが格納されているか否かを判定する。印刷リストに印刷要求が1つも格納されていない場合や、先頭の印刷要求にファイルのパスが格納されていない場合には処理を終了する。
S1802で、CPU401は、印刷リストから印刷処理を行なった印刷要求、即ち、先頭の印刷要求を取り出し、印刷リストから削除する。削除したらS1803に進む。続いて、S1803で、CPU401は、S1802で取り出した印刷要求の印刷処理を行う。この処理は図17を用いて後述する。印刷要求の印刷処理を行うと、S1801に進む。
<印刷要求の印刷処理の処理手順>
次に、図17を参照して、本実施形態のS1803の印刷要求の処理におけるCPU401の処理手順を説明する。以下で説明する処理は、例えば複合機101のCPU401がROM403やHDD404に格納された制御プログラムをRAM402に読み出して実行することにより実現されてもよい。本処理は、上記S1801で、CPU401が印刷リストの先頭の印刷要求にファイルのパスが格納されていると判定された場合に処理を開始する。
S1901で、CPU401は、印刷リストの先頭の印刷要求に格納されている投入先フォルダに印刷設定ファイルがあるか否かを判定する。ここでは印刷設定ファイルはJDFファイルであるとし、ファイルの拡張子によってJDFファイルであるか否かを判定する。JDFファイルがある場合には、S1902に進み、JDFファイルがない場合にはS1907に進む。フォルダ自体がない場合にはJDFファイルがないと判定する。
S1902で、CPU401は、JDFファイルの解析を行う。この処理ではJDFファイルの構文解析、意味解析を行い、印刷設定に必要な値を取得する。ここで取得される印刷設定は、図8-1及び図8-2で説明をした作成画面によって指定した印刷設定である。続いて、S1903で、CPU401は、S1902でJDFファイルの解析の結果にエラーがあるかを判定する。構文に不正がある場合や印刷設定に実行不可能な指定が含まれる場合等にエラーとなる。エラーを検出するとS1907に進み、エラーがない場合にはS1904に進む。
S1904で、CPU401は、印刷リストの先頭の印刷要求に格納されているファイルパスを取得し、ファイルを印刷する。ファイルの印刷にはS1902のJDF解析処理によって取得した印刷設定を使用する。続いて、S1905で、CPU401は、S1904で行なったファイルの印刷に成功したか否かを判定する。印刷ファイルが存在しなかった場合や、印刷途中にキャンセルされた場合等に印刷失敗となる。印刷に成功したと判定された場合にはS1906に進み、そうでない場合にはS1907に進む。
S1906で、CPU401は、RAM402に記憶されている印刷履歴の末尾に印刷要求を印刷完了として格納し、処理を終了する。一方、S1907で、CPU401は、RAM402に記憶されている印刷履歴の末尾に印刷要求を印刷失敗として格納し、処理を終了する。
<印刷リストの変化>
次に、図18を参照して、図15及び図16を用いて説明した印刷要求の受信、及び印刷要求処理においてRAM402に記憶される印刷リストが変化する様子を説明する。
図18(a)は、folder02フォルダ1124に受けた「document.pdf」の印刷要求をS1701で印刷リストの最後に追加した際の印刷リストを示している。要求を識別するために割り当てられたID「102」に対応して、印刷要求から取得した投入先フォルダパス、投入者名(ユーザ名)、及びファイル名が登録されている。ただし、ファイルの保存が終わっていないため、ファイルパスは登録されていない。受け付けた「marketing_materials.pdf」については、ファイルの受信が完了しており、S1705でファイルパスが追加で登録されている。
図18(b)は、「marketing_materials.pdf」の印刷要求の処理が開始された際の印刷リストを示している。S1802でID「101」の印刷要求が削除されている。この時点でも「document.pdf」のファイルの受信が終わっていないため、ID「102」の印刷要求にはファイルパスが登録されていない。図16の印刷リストの印刷要求の処理はS1801から一度終了する。
図18(c)は、folder01フォルダ1123に受けた「handout.pdf」の印刷要求をS1701で印刷リストの最後に追加した際の印刷リストを示している。この時点でも「document.pdf」のファイルの受信が終わっておらず、ファイルパスが登録されていないため、図18の印刷リストの印刷要求の処理はS1801から一度終了する。
図18(d)は、「handout.pdf」の保存が完了し、S1705でID「103」の印刷要求にファイルパスが追加で登録された際の印刷リストを示している。この時点でも「document.pdf」のファイルの受信が終わっておらず、ファイルパスが登録されていないため、図18の印刷リストの印刷要求の処理はS1801から一度終了する。
図18(e)は、「document.pdf」の保存が完了し、S1705でID「102」の印刷要求にファイルパスが追加で登録された際の印刷リストを示している。S1803で、印刷リストの先頭の印刷要求の印刷処理が実行される。
以上説明したように、本実施形態に係る複合機101(画像形成装置)は、ウェブブラウザにより表示可能な操作画面の画面情報をクライアント装置へ送信する。具体的には、複合機101は、クライアント装置からアクセス可能なフォルダであって印刷設定が対応付けられたフォルダ(ホットフォルダ)に印刷対象ファイルを格納する操作をユーザから受け付けるための第1操作画面の画面情報を送信する。更に、複合機101は、当該第1操作画面を介して、ファイルの格納操作をユーザから受け付けた際に、印刷対象ファイルを複合機101に送信するか否かの決定をユーザから受け付けるための第2操作画面(確認画面)の画面情報を送信する。複合機101は、ホットフォルダに、クライアント装置から送信されたファイルが格納されると、当該印刷設定に従ってファイルの印刷処理を行う。
また、本実施形態に係るクライアント装置は、複合機101から受信した画面情報に基づいて、ウェブブラウザ画面として操作画面をUI部301に表示する。クライアント装置は、第1操作画面の表示中に、ホットフォルダに印刷対象ファイルを格納する操作をユーザから受け付けると、第2操作画面(確認画面)を表示する。クライアント装置は、第2操作画面を介して、印刷対象ファイルを送信しない決定を受け付けた場合には、当該印刷対象ファイルを複合機101へ送信しない。一方、クライアント装置は、印刷対象ファイルを送信する決定を受け付けた場合には、印刷対象ファイルを複合機101へ送信することで、複合機101に印刷処理を実行させる。
このように、本実施形態によれば、複合機101からクライアント装置へ提供された操作画面を介して、ファイルの格納操作により印刷指示を受け付けた際に、確認画面の表示により、印刷の実行に関してユーザに確認を促すことが可能になる。これにより、ユーザの操作ミスに起因して意図しない印刷が行われることを未然に防止できる。
また、上述の実施形態によれば、印刷指示を受け付けた印刷対象ファイルのリストを確認画面に表示することで、どのファイルが複合機101へ送信されるのかをユーザが確認することが可能になる。その結果、ユーザの操作ミスに起因して意図しない印刷が行われることを未然に防止できる。
また、上述の実施形態によれば、ホットフォルダに対応付けられた、印刷対象ファイルの印刷に用いられる印刷設定を確認画面に表示することで、印刷対象ファイルが複合機101へ送信される前に、ユーザが印刷設定を確認することが可能になる。その結果、ユーザの意図と異なる印刷設定で印刷処理が行われることを未然に防止できる。
また、上述の実施形態によれば、複合機101のキュー内に存在する印刷ジョブのリストを確認画面に表示することで、送信予定の印刷対象ファイルの印刷処理が完了するまでの待ち時間を、ユーザが予測することが可能になる。これにより、多くの待ち時間が発生してしまうことを未然に防止できる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。