以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。なお、実施形態に係る画像形成装置として複合機(デジタル複合機/MFP/Multi Function Peripheral)を例に説明する。しかしながら適用範囲は複合機に限定はせず、画像処理機能を有する装置であればよい。
<第1の実施形態>
<印刷システムの構成>
以下では、添付図面を参照して、本発明の第1の実施形態について説明する。まず、図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に対してウェブ情報アクセス機能を利用して、印刷対象ファイルを含む各種データを送受信することが可能である。
<印刷システム全体のシーケンス図>
次に、図2A乃至図2Cを参照して、ユーザ326が認証、フォルダ移動、一時設定、設定の確認、及び印刷指示の操作を行い、実際に印刷されるまでのシーケンスについて説明する。図3に示すユーザ326がUI部301を操作し、ウェブサーバ部328にアクセス要求をしたところから処理が開始される。なお、クライアント装置ごとによる構成や制御に差異はないため、1台を例に挙げて説明する。
まず、図2Aを説明する。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に表示されたフォルダ画面を操作してフォルダ画面の要求操作を行うところから処理を開始する。フォルダ画面及び当該画面における操作は図7A及び図7Bを用いて後述をする。
S210で、クライアント装置のウェブブラウザアプリ部302は、ユーザ326がUI部301に表示されたフォルダ画面を操作して行った、フォルダ画面の要求操作を受け付ける。当該操作は、いずれかの移動先フォルダ指定ボタンの操作、図7Aに示す上階層移動ボタン910の操作、又はウェブブラウザアプリ部302に直接フォルダパスを含むアドレスを指定する操作などである。
次に、S211で、ウェブブラウザアプリ部302は、指定されたアドレスの情報を取得するリクエストをウェブサーバ部328に送信する。詳細は図13及び図14を用いて後述する。続いて、S212で、複合機101のウェブサーバ部328は、フォルダ画面の要求を検知する。さらに、ウェブサーバ部328は、受信したフォルダ画面の要求からフォルダパスを取得し、ファイルシステム部329を介してフォルダのファイルリストを取得する。そして、ウェブサーバ部328は、取得したファイルリストに既定の印刷設定ファイルの拡張子を持つファイルが含まれているか否かを判定する。詳細は図14を用いて後述する。
次に、S213で、ウェブサーバ部328は、ページ生成部306によって、取得したフォルダ情報に基づいてフォルダ画面を生成する。また、ページ生成部306は、予め保持している印刷ファイル送信プログラムや一時設定画面表示プログラムを、生成した画面情報に付加する。
S214で、ウェブブラウザアプリ部302は、ウェブサーバ部328から受信した情報に従った、フォルダ画面をUI部301に表示する。フォルダ画面は図8A及び図8Bを用いて後述する。
次に、S220乃至S222に示す一時設定の処理手順を説明する。ここでは、ユーザ326がUI部301に表示されたフォルダ表示画面を操作して一時設定の指定操作を行うところから処理を開始する。S220で、ウェブブラウザアプリ部302は、ユーザがUI部301に表示されたフォルダ表示画面を介して一時設定画面を選択して一時設定を入力するためのユーザ操作を受け付ける。続いて、S221で、ウェブブラウザアプリ部302は、入力された一時設定を記憶する。さらに、S222で、ウェブブラウザアプリ部302は、一時設定を有効として画面を更新し、UI部301に有効な一時設定を重畳したフォルダ表示画面を表示する。
次に、図2Bを説明する。S230乃至S236に示す印刷設定確認画面の要求の処理手順を説明する。ここでは、ユーザ326がUI部301に表示されたフォルダ表示画面を操作して印刷設定確認画面を要求する操作を行うところから開始し、印刷設定確認画面を表示するまでの処理の流れである。印刷設定確認画面は図11を用いて後述する。
S230で、ウェブブラウザアプリ部302は、ユーザ326がUI部301に表示されたフォルダ表示画面を操作して行った、印刷設定確認画面の要求を受け付ける。続いて、S231で、ウェブブラウザアプリ部302は、印刷設定確認画面の要求処理を行う。当該処理では、一時設定で指定された設定、及びフォルダ表示画面で表示しているフォルダのパスを含むデータをウェブサーバ部328への送信を行う。
S232で、ホットフォルダ機能部321は、ウェブサーバ部328が印刷設定確認画面の要求から取り出したフォルダパスを取得し、ファイルシステム部329を介してフォルダ内の印刷設定ファイルを取得する。さらに、ジョブ登録依頼部323で、取得した印刷設定ファイルの解析を行う。続いて、S233で、ジョブ登録依頼部323は、印刷設定ファイルの解析結果に、ウェブサーバ部328が印刷設定確認画面の要求から取り出した一時設定を適用する。続いて、S234で、ジョブ登録依頼部323は、一時設定を適用した印刷設定ファイルの解析結果の整合性チェックを行う。さらに、S235で、ページ生成部306は、ジョブ登録依頼部323から一時設定を適用した印刷設定ファイルの解析結果と、整合性チェックの結果とを受け取る。さらに、ページ生成部306は、エラーが発生していない場合は、確認画面1300、1310のウェブページを作成し、エラーが発生している場合は、印刷設定エラー画面1320のウェブページを作成する。作成された情報は、クライアント装置へ送信される。
S236で、ウェブブラウザアプリ部302は、ウェブサーバ部328から受信した印刷設定確認画面又は印刷設定エラー画面を表示部に表示する。
次に、240乃至S244に示す印刷要求の処理手順を説明する。ここでは、ユーザ326がUI部301に表示されたフォルダ表示画面を操作して印刷指示操作を行うところから処理を開始する。
S240で、ウェブブラウザアプリ部302は、ユーザがUI部301に表示されたフォルダ表示画面を操作して行った、印刷指示操作を受け付ける。この操作はフォルダ種別表示領域908にファイルをドラッグ・アンド・ドロップする操作である。続いて、S241で、ウェブブラウザアプリ部302は、ウェブサーバ部328に印刷要求処理を行う。この処理はPOSTリクエストなどの通常のウェブブラウザの機能を使用する。印刷要求処理には印刷指示を受けたファイル、一時設定、及びフォルダ表示画面のフォルダパスが含まれる。
S242で、ウェブサーバ部328は、受信した印刷要求を検知し、ホットフォルダ機能部321を呼び出してRAM402に記憶する印刷リストに印刷要求を登録する。登録する印刷要求には要求を対応付ける情報としてIDを付加し、対応付けて一時設定、受け付けたフォルダパスを含める。S243で、ウェブサーバ部328は、印刷要求からファイルを読み出し、ファイルシステム部329を介してHDD404に格納する。さらに、S244で、ホットフォルダ機能部321は、S223で印刷リストに登録した印刷要求に保存したファイルのファイルパスを加える。
次に、図2Cを説明する。S250乃至S255に示す印刷処理の処理手順を説明する。ここでは、ホットフォルダ機能部321が、印刷リストが更新されたことを検知するところから処理を開始する。S250で、ホットフォルダ機能部321は、RAM402に記憶する印刷リストが更新されたことを検知する。S251乃至S255は印刷リストに印刷要求がなくなるか、又は先頭の印刷要求のファイルパスが未登録になるまで繰り返す。
S251で、ホットフォルダ機能部321は、印刷リストの先頭の印刷要求を取得する。印刷要求がない場合、又は印刷要求のファイルパスが登録されていない場合は処理を終了する。続いて、S252で、ホットフォルダ機能部321は、印刷要求からフォルダパスを取得し、ファイルシステム部329を介してフォルダ内の印刷設定ファイルを取得する。ジョブ登録依頼部323で取得した印刷設定ファイルの解析を行う。続いて、S253で、ジョブ登録依頼部323は、印刷要求から一時設定を取得し、印刷設定ファイルの解析結果に適用する。S254で、ジョブ登録依頼部323は、一時設定を適用した印刷設定ファイルの解析結果の整合性チェックを行う。S255で、ホットフォルダ機能部321は、印刷要求からファイルパスを取得し、ファイルシステム部329を介してファイルを読み出す。ジョブ登録依頼部323は、解析した結果と、読み出したファイルとを用いて、ジョブ登録部320にジョブ登録リクエストを送信する。同時にRAM402に記憶する印刷リストから印刷要求を削除する。
次に、S260及びS261に示す結果記録の処理手順を説明する。ここでは、印刷キュー管理部319が印刷完了を検知するところから処理を開始する。S260及びS261の詳細な処理は図15を用いて後述をする。
S260で、印刷キュー管理部319は、印刷部314から印刷完了(ジョブ終了)を検知し、印刷結果管理部331に通知する。S261で、印刷結果管理部331は、印刷完了通知を受けRAM402に記憶する印刷履歴に印刷結果を登録する。
<システム構成>
次に、図3を参照して、本実施形態に係るホットフォルダ印刷システムの機能構成を説明する。図3に示すように印刷システムは、複数の機能モジュールの集合で表すことができる。各モジュールはハードウェアで実現してもよいし、ソフトウェアで実現してもよい。また、一部の機能モジュールを外部サーバ(不図示)に配置し、この外部サーバと通信することで機能を実現してもよい。なお、図2と共通する箇所は同じ参照番号を使用して、それらの説明を省略する。さらに、ここでは、各システムが構成する、機能モジュールと、それらの機能モジュールの処理並びに機能間の関連とを説明する。
印刷システムは、前述した操作部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経由で格納する。
印刷結果管理部331は、上述したように、印刷キュー管理部319からの印刷完了通知を受けて、RAM402に記憶する印刷履歴に印刷結果を登録する。
通知部309は、ウェブサーバ部328が外部装置からのウェブリクエストを受け付けたことをトリガとして、複合機101内部で処理を実行する際の、モジュール間の通知イベントを生成するためのモジュールである。具体的には、ホットフォルダ機能部321に、ウェブサーバ部328が受理した要求に応じ、印刷処理やフォルダ階層移動処理、並びにそれらに付随する描画情報の生成、返信処理等の一連の処理実行のタイミングを制御するモジュールである。
ウェブサーバ部328は、さらに認証部304と連動し、ウェブサーバ部328を経由して提供するウェブサービスに対するユーザのアクセス制御を実現するための認証処理を実行可能である。認証処理を実行する際には、ウェブサーバ部328は、受信したユーザ情報に基づき、認証部304が備えるユーザDB305に対し、照合及び認証可否の判断を行う。認証が成功した場合に限り、ウェブサーバ部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に登録することで、印刷ジョブの実行が指示される。
<複合機の構成>
次に、図4を参照して、複合機101の構成について説明する。図4(a)は複合機101のハードウェア構成を示し、図4(b)は複合機101のソフトウェア構成を示す。複合機101は、シート上の画像を読み取る読取機能、及びシートに画像を印刷する印刷機能を有する。また、複合機101は、画像が印刷された複数のシートを綴じたり、複数のシートを揃えたり、複数のシートの排出先を複数のトレイに分けたりする後処理機能を有する。なお、シートには、普通紙や厚紙などの用紙、フィルムシートなどが含まれる。
更に、複合機101は、PC102、PC103、携帯端末104などのクライアント装置から利用可能なファイル共有機能を有する。また、複合機101が有するファイル共有機能は前述したウェブ情報アクセス機能を経由しても利用可能なように構成される。ファイル共有機能及びそのウェブ情報アクセス機能や、各装置でこれら機能を提供するプログラム構成、さらにこれらを経由した利用方法についての詳細は後述する。なお、これらの機能に本発明に係る複合機の機能を限定する意図はなく、他の機能、例えば、画像データの送信機能等、他の機能を含んでもよい。
複合機101は、コントローラ400、スキャンデバイス409、プリントデバイス410、給紙デバイス411、シート処理デバイス412、操作デバイス413、及び外部ストレージ414を備える。また、コントローラ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等とのアクセスを制御する。ネットワークコントローラ(NIC)512は、ネットワークに接続されて、そのネットワークに接続された他の機器との通信制御処理を実行する。バス504は、CPU501、RAM502、ROM503及び各種コントローラ等を接続して、データ信号や制御信号を搬送する。
なお、携帯端末の場合にはキーボードコントローラ(KBC)505の代わりにタッチパネルコントローラ等を構成に含む場合がある。また、HDD511の代わりとなる大容量記憶装置を備える場合もある。さらに、ネットワークコントローラ(NIC)512は、装置が有線LAN、無線LANの何れかを備える場合、或いは双方を備える場合とで、内部構成が異なる。ただし、これらの内部構成による差異は、ネットワークコントローラ(NIC)512内部に隠蔽され、同図に示す他のモジュールには等価なものとしてシステムを制御可能なように構成される。
続いてに、図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は、ネットワークコントローラ(NIC)512を介して、ネットワークに接続される外部の機器が供するファイルサーバにアクセスし、ファイルの送受信やコピー等を可能にする。
ウェブブラウザ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に送信される。
<フォルダ表示のウェブブラウザ画面の説明>
次に、図7A及び図7Bを参照して、認証が成功した際にウェブブラウザ画面上に表示される機器内蔵ホットフォルダ機能画面の一例を説明する。
図7A(a)はホットフォルダ機能のウェブブラウザ画面の初期状態を示す。同図を用いて、ウェブブラウザ画面上に表示される画面構成要素について説明する。ただし、ウェブブラウザ画面のアドレス表示部や各ウェブページのタイトルタブ等、ウェブブラウザ機能自身が一般的に提供する画面構成要素であって、本実施形態に係るホットフォルダ機能とは関係ないものについては説明を割愛する。
フォルダ表示領域901は、ウェブブラウザ705によるウェブブラウザ画面を経由して、複合機101が備えるファイルシステムサーバ604が管理する、ファイルシステム上の階層の移動や表示、及び新規フォルダ作成等が操作可能な階層管理機能領域である。プリント機能選択ボタン902は、ホットフォルダ機能が提供する各種機能のうち、印刷機能を選択する際に使用するボタンである。図6に示した認証処理を経た直後に表示されるデフォルト機能の画面は、図7A(a)に示す画面である。
ジョブリスト表示ボタン903は、ホットフォルダ機能を経由して複合機101に投入された印刷ジョブのリストを表示する画面に遷移するためのボタンである。カレントパス表示領域904は、ウェブブラウザ705によって複合機101のファイルシステムサーバ604にアクセスした際に、処理対象、即ちカレントパスをルートフォルダからの絶対パス形式によって表示する領域である。図7A(a)においては、カレントパスは”/share”であることを示している。これは本実施形態における複合機101のファイルシステムサーバ604が管理する、公開フォルダの最上位階層の状態をウェブブラウザ画面によって表示した状態である。公開可能フォルダの最上位階層である”/share”よりも上位層の階層には移動することができず、本実施形態における複合機101のファイルシステムサーバ604は最上位階層フォルダ直下にユーザがフォルダを作成することを許可していない。図7A(a)はこの挙動を満たす画面の例である。
移動先フォルダ指定ボタンであるfolderボタン905は、現在のフォルダの下層にあるフォルダに対応したボタンである。移動先フォルダ指定ボタンは現在のフォルダの階層にあるフォルダの数だけ表示され、各ボタンはフォルダの名称となっている、選択されると、フォルダ画面要求処理が行われ、名称が示すフォルダの画面に遷移する。即ちfolderボタン905は、”/share/folder”の画面に遷移するためのボタンである。フォルダ画面要求処理は図13及び図14を用いて説明する。
ログインユーザ表示領域906は、図6において示した、ウェブブラウザ画面を利用して認証時に入力したユーザ名を表示する領域である。ユーザ固有機能選択ボタン907は、ログインユーザ毎にカスタマイズされる各種機能提供画面への遷移を指示するためのボタンである。
フォルダ種別表示領域908は、本発明において特徴的な画面領域であり、カレントパス表示領域904に表示されるパスが示すファイルシステムサーバ604上のフォルダが、ホットフォルダであるか否かを判別可能とする情報を提供する領域である。図7A(a)において示した画面の一例においては、カレントパスの”/share”に対応するファイルシステムサーバ604上のフォルダはホットフォルダではないことを示している。この状態で後述するファイル送信処理を行うための操作を行なっても、ファイルの送信は実行されない。
図7A(b)は、図7A(a)に示した画面の状態において、移動先フォルダ指定ボタンのfolderボタン905を選択した直後に遷移する画面状態の一例を示す。図7A(a)に示す”/share”からその直下にある”folder”に遷移した画面であり、カレントパス表示領域904に”/share/folder”が表示される。本実施形態における複合機101のファイルシステムサーバ604は、最上位より下位のフォルダに対しユーザが任意のフォルダやファイルを作成することが可能なように構成される。そのため最上位階層を示す図7A(a)とは異なり、フォルダ作成ボタン909、及び上階層移動ボタン910が表示される。
フォルダ作成ボタン909は、現在のフォルダに新規フォルダを作成するためのボタンである。上階層移動ボタン910は、現在のフォルダから上位フォルダへ遷移するためのボタンである。上階層移動ボタン910が選択されると、1つ上位のフォルダに対するフォルダ画面要求処理を行う。印刷設定作成ボタン911は、現在のフォルダに印刷設定ファイルを配置するための画面に遷移するボタンである。遷移先の印刷設定作成画面は図8A及び図8Bを用いて説明をする。
図7A(c)は、図7A(b)でフォルダ作成ボタン909を選択した直後に表示されるウェブブラウザの画面状態の一例を示す。フォルダ名称入力欄912は、作成するフォルダの名前を入力するための入力フィールドである。所望のフォルダ名の文字列を入力した状態でOKボタン914を押下すると、前述した名称と同じ名称のフォルダがカレントパス直下に作成される。キャンセルボタン913を押下した場合にはフォルダ作成処理は実行されず、遷移元の図7A(b)の画面状態に戻る。OKボタン914は、フォルダ名称入力欄912に文字が入力されている場合に選択可能となる。入力されたフォルダ名称がすでに存在するフォルダの名称と同一である場合、フォルダは作成されない。
図7B(d)は、図7A(c)でOKボタン914を選択した直後に表示されるウェブブラウザの画面状態の一例を示す。図示の通り、図7A(c)の画面において示した作成対象となるフォルダ名称である、”folder01”という名称のフォルダが新規作成されていることが、フォルダ表示領域にfolder01ボタン915が追加されていることによって確認できる。
図7B(e)は、ウェブブラウザに表示される画面が図7B(d)に示した状態において、folder01ボタン915を選択した直後に表示されるウェブブラウザの画面状態の一例を示す。図示の通り、カレントパス表示領域904が”/share/folder/folder01”となっている。つまり、図7A(c)及び図7B(d)の画面に提示されるフォルダ作成に関わる画面構成要素の操作によって作成されたフォルダにカレントパスが移動していることが確認される。
<印刷設定作成のウェブブラウザ画面の説明>
次に、図8A及び図8Bを参照して、本実施形態に係る印刷設定作成のウェブブラウザ画面について説明する。図8A(a)、(b)、(c)は、図7B(e)で印刷設定作成ボタン911を選択することで遷移する印刷設定作成画面である。複合機101のホットフォルダ機能として指定可能な印刷設定を選択するための機能選択ボタンやセレクトボックス等が配置されている。図8A(a)、(b)、(c)はそれぞれ、ウェブブラウザ画面の表示領域に制限があるためにスクロール表示した状態の画面の一部を表示したものである。しかし、本発明はこの画面構成限定されず、例えば表示ウィンドウサイズの変更や表示文字サイズの変更によって、単一の画面として表示してもよい。ウェブブラウザにおいて一般的な画面制御であるため、詳細な説明は省略する。印刷設定作成画面で設定できる印刷設定には、印刷設定指定、部数、使用する用紙の指定、用紙の出力先、解像度やカラー/モノクロ指定、プロファイルなどの印刷時の画像処理に関する指定、ホチキスやパンチ折り等の印刷後のシートに対する後処理の指定がある。
図8B(d)は、図8A(a)、(b)、(c)の印刷設定作成画面で印刷設定を作成したフォルダを表示した例を示す。フォルダ種別表示領域908に、印刷機能を利用可能な「ホットフォルダ」であることを示す情報が提示されている。この状態で、PC102、103、携帯端末104内に保持されているファイルをフォルダ種別表示領域908にドラッグ・アンド・ドロップすることでファイル送信処理を行うことができる。
また上述のとおり、カレントパス”/share/folder/folder01”がホットフォルダに変更されたことに伴い、ウェブブラウザの画面には新規の機能選択ボタン(1002、1003)が配置される。印刷設定確認ボタン1002は、フォルダに作成されている印刷設定を確認するためのボタンである。一時設定ボタン1003は、フォルダに作成した印刷設定を一時的に変更して設定を適用し、印刷ジョブを実行する際の利便性を向上させることを目的として設けられた機能選択画面への遷移を指示するためのものである。
図8B(e)は、エラー情報提示画面の一例を示す。当該画面では、ウェブブラウザ画面によって提供されるフォルダの移動及びウェブブラウザの機能を使用したウェブサーバ605を経由しホットフォルダ機能プログラム606に対してフォルダ移動操作を実施した際に、発生しうるエラーを通知する画面である。指定したフォルダが存在しない旨のエラー情報、及び、エラーであるために上述したような正常なフォルダ操作を実施できない旨の情報がフォルダ種別表示領域908に提示される。上述のエラー状態は、第1のユーザがある階層のフォルダをウェブブラウザ画面で閲覧している際に、別のユーザが同一フォルダを消去又はフォルダ名称を変更し、その状態で第1のユーザが当該フォルダに対してアクセスした場合である。この場合、指定された名称のフォルダは既に存在しないため、同図に示すようなエラーを示す画面情報を提示しユーザにその旨通知することが可能である。またユーザが存在しないファイルパスを表示する画面のアドレスを直接ブラウザに指定した場合にも、同様のエラー状態が発生する。
図8B(f)は、印刷設定作成ボタン911が選択された際にウェブサーバ605に送信される印刷設定作成要求のデータの一例である。本実施形態においてはXML形式で印刷設定情報が記述された例を示しているが、図8A(a)、(b)、(c)において設定した印刷設定項目の内容を格納可能な形式であれば任意の形式であっても構わない。図8A(a)、(b)、(c)に示した一連の印刷設定作成画面によって印刷設定が指定され、作成ボタン1001が選択されると、JAVA(登録商標)スクリプトなどによって、指定された印刷設定が図8B(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である。図8A及び図8Bの印刷設定作成画面から印刷設定ファイルを作成したフォルダに、印刷設定ファイルとしてJDFファイルが作成されていることが確認できる。
図9(b)はJDFファイルの一例である。図9(c)は複合機101のHDD404上のフォルダ構成を示す模式図である。図7A及ぶ図7Bの操作でfolder01フォルダ1123と、folder02フォルダ1124を作成し、図8A及び図8Bの操作でそれぞれに印刷設定ファイル1125、1126を作成した状態である。shareフォルダ1121は最上位階層のフォルダであり、folder1122はその1つ下の階層である。
<一時設定のウェブブラウザ画面の説明>
次に、図10を参照して、本実施形態に係る一時設定のウェブブラウザ画面について説明する。図10(a)は、フォルダ表示画面上で選択されて表示される、フォルダに設定された印刷設定の一部を変更して印刷ジョブを投入する際に使用する一時設定画面1200である。一時設定画面1200で指定された印刷設定は、ページを更新又は遷移するまでの間有効であり、図8A及び図8Bで作成したフォルダに配置された印刷設定ファイルと同じ設定項目の値よりも優先して適用される。しかし、一時的な印刷設定は、印刷設定ファイル自体には更新されず、一時的に使用されるものである。一時設定画面1200では、例えば印刷ページ範囲、部数、及び用紙サイズを一時設定で指定できる項目としているが、本発明はこれに限るものではない。一時設定画面1200の各指定項目が既に設定されている場合には、一時設定画面1200を表示する初期状態として、設定されている値を変更可能に各設定部1201~1203に表示する。
印刷ページ範囲指定部1201は、印刷ファイルのうち印刷するページを指定するための設定部である。印刷ページ範囲は、印刷するページを”,”で区切って並べて個別にページを指定するか、”~”で最初のページと最後のページを指定することで範囲を指定するか、又はそれらの組み合わせによって行うこととしてもよい。入力できるのは前述の記号及び数字であり、数字以外の文字を入力することはできない。不正な入力がされたときの動作、入力がされなかったときの動作については後述する。印刷ファイルに存在しないページが指定された場合、そのページの指定は無視される。例えば、印刷ファイルが5ページの場合に、1ページと10ページを指定した場合、1ページのみが印刷され、10ページは印刷データが存在しないため無視される。指定された全てのページが存在しない場合、エラーとなり印刷は実施されない。
部数指定部1202は印刷する部数を指定するための設定部である。印刷部数には1から9999までの数字を指定することができ、それ以外の文字を入力することはできない。不正な入力がされたときの動作、入力がされなかったときの動作について後述する。用紙サイズ指定部1203は、印刷に使用する用紙のサイズを設定するための設定部である。プルダウンメニューであり、デバイスで使用可能な複数の用紙サイズから選択できるようになっている。プルダウンメニューの一番上、即ち、選択を行っていないときの最初の状態はフォルダに配置された印刷設定ファイルで指定されている用紙サイズを使用することが指定される。
キャンセルボタン1204は、一時設定画面1200を終了するためのボタンである。キャンセルボタン1204が選択されると一時設定画面1200で入力した設定を有効にすることなく、一時設定画面1200の表示を終了し、図8B(d)のフォルダ表示画面に戻る。
OKボタン1205が選択された場合には、ウェブページと合わせて複合機101から送信された一時設定入力チェックプログラムが動作し、入力内容が正しいかを判定する。入力内容が不正である設定項目がある場合、該当する入力又は設定項目名を赤文字で表示し(強調表示し)、一時設定画面1200にとどまる。入力内容に不正な入力がない場合には、指定を有効な値として記憶し一時設定画面1200を閉じ、フォルダ表示画面に一時設定の指定を重畳表示したフォルダ表示画面1210を表示する(図10(b))。
一時設定表示1211は、一時設定画面1200で入力した有効な一時設定の設定内容が表示される表示領域である。この例では一時設定の印刷ページ範囲指定部1201に2~10を入力し、部数指定部1202に1を指定した場合の一時設定表示1211を示している。この状態でフォルダ種別表示領域908にファイルをドラッグ・アンド・ドロップすると、印刷設定ファイルの印刷ページ範囲と部数の指定は使用されずに、一時設定で指定された印刷ページ範囲と部数が使用されて印刷が実行される。一時設定は一時設定表示1211が表示されている状態で印刷要求操作を行った場合に有効となる。一時設定の有効期間は一度の印刷要求操作がされるまでとしてもよく、ウェブページを更新、又は遷移するまでとしてもよい。いずれにおいても印刷設定ファイル自体は変更せず、一時設定の値は複合機101には記憶されない。
図10(b)の状態で印刷指示が実行された場合には、一時設定で指定した設定が印刷設定ファイルに指定されている設定よりも優先して適用される。入力がされていない設定項目は、印刷設定ファイルの対応する設定の指定が有効となる。一時設定で指定された設定は、ウェブブラウザ705によって記憶され、印刷要求、及び印刷設定の確認画面の要求を受け付けた際に複合機101に送信される。指定されなかった設定は送信されない。
図10(c)はフォルダ表示画面1210のフォルダ種別表示領域908にファイルをドラッグ・アンド・ドロップし印刷要求を行う際に、クライアント装置102から複合機101に送信されるデータの模式図を示す。印刷要求を受け付けた際の複合機101のCPU401の処理の流れについては、図15を用いて詳細に後述する。
HTTPヘッダ部1221はHTTP接続を要求する際に必要な部位であり、接続の種類、接続先情報、及び送信するデータの種類などが記載されている。この例ではデータの送信にMIME形式を用いるものとし、MIMEを構成する各パートを区切るためのBoundary文字列が記載されている。
MIMEパートはMIMEデータを構成する要素であり、投入先フォルダパスパート1222、一時設定パート1223、1224、及びファイルパート1225である。一時設定パートには印刷ページ範囲指定パート1223と部数指定パート1224がある。それぞれのパートはパートの最初の空行までのMIMEパートヘッダ部とデータ部から構成されている。パートの識別はContent-Dispositionのnameによって行う。図例ではContent-Dispositionのnameを、投入先フォルダパスパートはfolderpath、印刷ページ範囲指定パートはpages、部数指定パートはcopies、ファイルパートはfileと値を定めておくことで区別している。
MIME終端文字列1226はMIMEデータの終了を宣言するための特殊な文字列である。Boundary文字列に“――”を付加したものである。
各MIMEパートのデータ内での位置は予め定められた順番で固定となる。特に図15で後述するように、投入先フォルダパスパートは必ずファイルパートよりも前に定義されている必要がある。上述したように、一時設定パートに含まれるのは一時設定が指定された項目だけである。指定されなかった項目のパートはMIMEに含まれない。
印刷設定の確認画面の要求を受け付けた場合には、投入対象となるフォルダのパスに加えて一時設定の指定を含めたXMLが送信される。図10(d)は一時設定が有効なフォルダ表示画面1210の印刷設定確認ボタン1002を選択した際に、クライアント装置102から複合機101に送信される印刷設定の確認画面の要求XML1230の一例を示す。
印刷設定の確認画面の要求XML1230は印刷設定確認を行う対象のフォルダのパスを格納するフォルダパス要素1231と、各一時設定で指定された項目の値を格納する一時設定要素1232、1233からなる。図例は一時設定で印刷範囲設定と部数設定が指定された場合の例を示しており、一時設定要素は印刷範囲設定1232と部数設定要素1233からなる。一時設定で指定されなかった項目は一時設定要素に含まれない。この時に表示される設定確認画面に関しては図11(b)、(c)を用いて後述する。また印刷設定の確認画面の要求XML1230を受信した場合のCPU401の処理の流れは図16のフローチャートを用いて後述する。
<設定確認のウェブブラウザ画面の説明>
次に、図11を参照して、図8B(d)や図10(b)で印刷設定確認ボタン1002を選択した際に、ウェブブラウザ705が表示する画面例を説明する。
図11(a)は、一時設定を行なっていない状態の図8B(d)の印刷設定確認ボタン1002を選択した場合の確認画面1300を示す。印刷設定表示領域1301は、図8A及び図8Bで説明をした印刷設定作成操作によってフォルダに作成した印刷設定ファイルの内容を解析して、ユーザが理解できるように表示したものである。表示される内容は作成した印刷設定の内容によって異なる。表示されている多くの印刷設定項目の中で、印刷設定ファイルには部数が3に指定されており、印刷範囲は指定されていないことがわかる。Closeボタン1302は、確認画面1300を終了するためのボタンである。Closeボタン1302が選択されると、印刷設定表示領域1301を終了し、図8B(d)のフォルダ表示画面に戻る。
図11(b)は、一時設定を行なった後の状態の図10(b)の一時設定が有効なフォルダ表示画面1210で印刷設定確認ボタン1002を選択した場合の一時設定の有効な印刷設定を確認する確認画面1310を示す。一時設定の有効な印刷設定を表示する表示領域1311は、図11(a)の印刷設定表示領域1301のうち一時設定で指定された印刷設定項目の値が置き換えられたものである。一時設定では部数を1、印刷範囲を2~10ページと指定したので、部数が1になり、確認画面1300では表示されていなかった印刷範囲の項目が追加され、指定が2~10ページとなっている。一時設定によって置き換えられた項目は文字の色を変更する、フォントを太字にする、など他の項目と区別できる表示とすることでユーザが識別しやすくしてもよい。Closeボタン1302は、図11(a)で説明したものと同じ機能である。選択されると、表示領域1311を終了し、図8B(d)のフォルダ表示画面に戻る。
図11(c)は、一時設定を行なった後の状態の図10(b)のフォルダ表示画面1210で印刷設定確認ボタン1002を選択した場合に、一時設定と印刷設定ファイルの設定に競合(不整合)が発生した場合にその要因を確認可能な印刷設定エラー画面1320を示す。競合エラー表示領域1321は、一時設定と印刷設定との間で発生した競合をユーザに示すための表示領域である。この例では一時設定の用紙サイズ指定部1203で指定した用紙サイズが、印刷設定の製本面付の指定と競合したことを示すメッセージが表示されている。表示を確認することで、ユーザは印刷要求操作を行ってしまうことなく事前にエラーを知ることができ、設定を修正することができる。Closeボタン1302は、図11(b)で説明したものと同じである。選択されると、競合エラー表示領域1321を終了し、図10(b)に遷移する。
<印刷ジョブを投入した際のウェブブラウザ画面の説明>
次に、図12A及び図12Bを参照して、図8B(d)のフォルダ種別表示領域908にマウス等の指示装置を用い、ファイルをドラッグ・アンド・ドロップ等の操作によって配置した直後に遷移する画面の一例を説明する。図7B(e)における説明で述べたとおり、カレントパスが”/share/folder/folder01”であるフォルダはホットフォルダであり、単なる共有フォルダではない。図8A(a)、(b)、(c)に示す一連の操作による印刷設定が紐づいたフォルダである。従って、当該フォルダに対してウェブブラウザを経由して上述の操作を実施した場合には、ウェブブラウザ705からウェブサーバ605に対する処理要求及び印刷対象データの送信処理が実行される。当該処理は図4(b)におけるホットフォルダ機能プログラム606の説明で述べたとおり、JAVAスクリプトをウェブブラウザ705が実行することによって処理される。
図12A(a)はフォルダ種別表示領域908にマウス等の指示装置を用いて、ファイルをドラッグ・アンド・ドロップする操作を行う時にウェブブラウザ705が表示するファイル送信選択画面1400を示す。ドラッグ・アンド・ドロップ表示1401は、ドラッグ・アンド・ドロップ操作中であることを示す表示である。クライアント装置のシステムによって提供される表示であり、この図が示すようになるとは限らない。どのように表示されても本発明の実施には影響がない。
図12A(b)はファイルを送信中にウェブブラウザ705が表示するファイル送信中画面1410の一例を示す。図示の通り、ファイルの送信中であることが判別可能な情報が提示される。また複数ファイルを同時に送信する場合には、何個目のファイルを送信しているかを識別可能に表示する。例えば、送信中のファイルが変わる度に表示が変更される。
図12A(c)は図12A(b)においてウェブブラウザ705が選択ファイルの送信処理が完了した直後に表示する送信完了画面1420を示す。図示の通り、ファイルの送信処理が完了したことが判別可能な情報が提示される。図12B(d)はウェブブラウザ705が表示する画面が図12A(c)に示した状態となった一定時間経過後に遷移するフォルダ表示画面1430の一例を示す。同図に示した画面状態は図7B(e)と同等である。即ち、カレントパスである”/share/folder/folder01”に対する印刷処理の指示を再び受け付け可能であることを示す情報が提示される。
図12B(e)は送信したファイルの印刷が実行されている時の複合機101の操作デバイス413に表示する印刷中画面1440を示す。送信したファイルの印刷順序は図15のチャート及び図19の印刷リストの模式図を用いて後述する。デバイス状態表示1402は現在の複合機101の状態を表示する領域である。図12B(e)では複合機101は印刷処理を実行中であるため、“Printing”が表示されている。表示するべき状態がない場合は何も表示されず、ジャムや消耗品切れなどのエラーが発生している場合には発生しているエラーの内容(要因)が表示される。
<ウェブブラウザ上で操作を受け付けた際の処理手順>
次に、図13を参照して、図7A乃至図12Bで説明した機能を実行する際のCPU501の処理手順を説明する。以下で説明する処理は、例えばクライアント装置のCPU501がROM503やHDD511に格納された制御プログラムをRAM502に読み出して実行することにより実現されてもよい。ここでは、図6、図7A及び図7Bで説明をした操作によりフォルダ表示画面をウェブブラウザ705上に表示したところから処理を開始する。
S1501で、CPU501は、ウェブブラウザ705に対するユーザからの操作(ユーザ入力)を受け付ける。操作を受け付けたと判定するとS1502に進み、そうでない場合にはS1501にとどまる。S1502で、CPU501は、S1501で受け付けた操作が、クライアント装置の画面をクリックする操作であったか否かを判定する。画面をクリックする操作である場合にはS1504に進み、そうでない場合にはS1503に進む。ここでの画面をクリックする操作とは、PC102、103の場合は、マウス等のポインティングデバイスによるクリック操作に対応し、携帯端末104の場合は、タッチパネルデバイスのタッチ操作に対応する。なお、クリック操作については、押下を開始してから所定時間以内に押下を解放した場合に当該操作が行われたと判定する。
S1503で、CPU501は、S1501で受け付けた操作が、画面にファイルをドラッグ・アンド・ドロップする操作であったかを判定する。ドラッグ・アンド・ドロップする操作である場合にはS1508に進み、そうでない場合にはS1501に処理を戻す。ドラッグ・アンド・ドロップ操作については、例えば、マウスのボタンの押下を検知してから、所定時間を超えて、かつ、所定距離の移動の後に当該押下の解放を検知した場合に当該操作が行われたと判定する。S1508で、CPU501は、S1501でファイルをドラッグ・アンド・ドロップする操作が、フォルダ種別表示領域908に対する操作であったか否かを判定する。そうである場合にはS1510に進み、そうでない場合にはS1501に処理を戻す。S1510で、CPU501は、ウェブサーバ605に対してファイルを送信する通信処理を実行する。印刷対象データの送信処理が終了すると、S1501に処理を戻す。
一方、S1504で、CPU501は、S1501で受け付けた画面をクリックする操作が、印刷設定作成ボタン911に対する操作であったかを判定する。クリック操作については、例えばマウスのボタンが押下された後に、所定時間内に当該押下の解放が検知されると当該操作が行われたと判定する。印刷設定作成ボタン911をクリックする操作である場合にはS1511に進み、そうでない場合にはS1505に進む。S1511で、CPU501は、ウェブブラウザ705上にジョブ設定作成画面を表示して入力を受け付ける印刷設定作成の画面処理を行う。印刷設定作成の画面処理は図8A及び図8Bで説明をした。処理を終了するとS1501に処理を戻す。
S1505で、CPU501は、S1501で受け付けた画面をクリックする操作が、フォルダを移動するボタン、即ち上階層移動ボタン910や移動先フォルダ指定ボタン905、915に対する操作であったかを判定する。移動先フォルダ指定ボタンをクリックする操作である場合には、S1512に進み、そうでない場合にはS1506に進む。S1512で、CPU501は、複合機101からフォルダ画面を取得し、取得したウェブページを表示するフォルダ画面の要求処理を行う。フォルダ画面の要求処理はウェブブラウザの標準的な機能であるGETリクエストなどを用いて、取得するフォルダのパスを送信し、取得したフォルダ画面をウェブブラウザ705上に表示する処理である。表示するとS1501に処理を戻す。
S1506で、CPU501は、S1501で受け付けた画面をクリックする操作が、印刷設定確認ボタン1002に対する操作であったかを判定する。印刷設定確認ボタン1002をクリックする操作である場合にはS1513に進み、そうでない場合にはS1507に進む。S1513で、CPU501は、複合機101から印刷設定の確認画面を取得し、取得したウェブページを表示する印刷設定の確認画面の要求処理を行う。印刷設定の確認画面の要求処理はウェブブラウザの標準的な機能であるPOSTリクエストなどを用いて、図10(d)で説明をした印刷設定の確認画面の要求XML1230を送信し、取得した確認画面をウェブブラウザ705上に表示する処理である。
S1507で、CPU501はS1501で受け付けた画面をクリックする操作が、一時設定ボタン1507に対する操作であったかを判定する。一時設定ボタン1003をクリックする操作である場合にはS1509に進み、そうでない場合にはS1501に処理を戻す。S1509で、CPU501は、ウェブブラウザ705上に一時設定画面1200を表示し、入力を受け付ける。表示すると、S1514に進む。S1514で、CPU501は、ユーザからの入力を待機する。入力を受け付けるまでS1514に留まる。入力を受け付けると、S1515に進む。
S1515で、CPU501は、S1514で受け付けた操作が、OKボタン1205をクリックする操作であったかを判定する。OKボタン1205をクリックする操作であった場合にはS1517に進み、そうでない場合にはS1516に進む。S1516で、CPU501は、S1514で受け付けた操作が、キャンセルボタン1204をクリックする操作であったかを判定する。キャンセルボタン1204をクリックする操作であった場合にはS1518に進み、そうでない場合にはS1514に処理を戻す。S1517で、CPU501は、一時設定画面で受け付けた一時設定をRAM502に記憶し、S1518に進む。前述の通り記憶した一時設定は、フォルダ表示画面1210が表示されている間だけ有効であり、別のウェブページに遷移したり、ウェブブラウザ705の更新機能を使用したりといった操作が行われた場合にはRAM502に記憶した一時設定は消去される。S1518で、CPU501は、一時設定画面を終了し、フォルダ表示画面1210を表示し、処理をS1501に戻す。
<フォルダ画面の表示要求を受け付けた際の処理手順>
次に、図14を参照して、フォルダ画面の表示要求を受け付けた時の複合機101のCPU401の処理手順を説明する。以下で説明する処理は、例えば複合機101のCPU401がROM403やHDD404に格納された制御プログラムをRAM402に読み出して実行することにより実現されてもよい。クライアントからフォルダ画面の表示要求を受け付けた際に処理を開始する。
S1601で、CPU401は、受付手段として機能し、受け付けたフォルダ画面の表示要求から表示するフォルダのパスを取得する。本実施形態では、ウェブブラウザ705が標準的に備えるGETリクエストによりフォルダ画面の表示要求を行うものとし、フォルダのパスはGETパラメータで指定するものとする。フォルダのパスを取得するとS1602に進む。
S1602で、CPU401は、S1601で取得したフォルダパスにフォルダが存在するかを判定する。フォルダが存在する場合はS1603に進み、フォルダが存在しない場合はS1604に進む。S1604で、CPU401は、フォルダパスが無効であること示すフォルダ表示画面である図8B(e)に示したウェブページを作成し、S1607に進む。
S1603で、CPU401は、S1601で取得したフォルダパスが示すフォルダ内に印刷設定ファイルがあるか否かを判定する。印刷設定ファイルがあるかどうかの判定は、フォルダ内のファイルのリストを取得し、既定の拡張子を持つファイルがあるかによって判定する。印刷設定ファイルがある場合にはS1605に進み、ない場合にはS1606に進む。なお、フォルダ自体がない場合は印刷設定ファイルがないものとする。
S1605で、CPU401は、指定された印刷要求可能なフォルダ表示画面である図8B(d)のウェブページ及びウェブブラウザ上で動作するプログラムを作成し、S1607に進む。ここでは印刷要求処理、印刷設定の確認画面の要求処理、一時設定画面表示処理の一部をJAVAスクリプトで行うものとする。一方、S1606で、CPU401は、指定された印刷要求が無効なフォルダ表示画面である図7B(d)のウェブページを作成し、S1607に進む。
S1607で、CPU401は、S1604乃至S1606で作成したウェブページ及びプログラムをレスポンスとして送信し、処理を終了する。
<印刷要求の受信処理>
次に、図15を参照して、上記S1510においてクライアント装置102,103,104が送信する印刷要求を受信した際の複合機101のCPU401の処理手順を説明する。以下で説明する処理は、例えば複合機101のCPU401がROM403やHDD404に格納された制御プログラムをRAM402に読み出して実行することにより実現されてもよい。クライアント装置102,103,104からの印刷要求を検知すると処理を開始する。
S1701で、CPU401は、RAM402に記憶する印刷リストの末尾に印刷要求を追加し、S1702に進む。追加する情報には受信したリクエストに含まれる投入先のホットフォルダのパス、投入者の名前、ファイルの名前、などが含まれる。S1702で、CPU401は、受信した印刷要求の中から、図10(c)に示す1つ分のMIMEパートの読み込みを開始し、S1703に進む。S1703で、CPU401は、読み込みを開始したMIMEパートがファイルパート1225であるか否かを判定する。ファイルパート1225に関しては図10(c)を用いて説明をした。ファイルパート1225である場合はS1705に進み、そうでない場合にはS1704に進む。
S1705で、CPU401は、投入先フォルダパスパート1222を読み出し済みであるか否かを判定する。読み出し済みである場合にはS1707に進み、読み出し済みではない場合にはS1713に進む。S1713で、CPU401は、印刷要求のレスポンスとしてエラーを示す情報を送信し、処理を終了する。S1707で、CPU401は、ファイルパート1225を最後まで読み出し、読み出したファイルをS1708で記憶した投入フォルダパスに保存する。保存する際の名称はContent-Dispositionのnameで指定された文字列を使用するものとし、同名の名称のファイルがある場合には末尾に既定の規則により作成した文字列を付加し重複しない名称を作成する。Content-Dispositionのfilenameで指定された値をファイル名、ファイルを保存した際の名称を保存名として記憶する。記憶するとS1710に進む。
一方、S1704で、CPU401は、読み込みを開始したMIMEパートが図10(c)に示す一時設定パート1223、1224であるか否かを判定する。一時設定パートである場合S1709に進み、そうでない場合S1706に進む。S1709で、CPU401は、一時設定パートを最後まで読み出し、読み出した一時設定を項目名と対応して記憶し、S1710に進む。
S1706で、CPU401は、読み込みを開始したパートが、図10(c)に示す投入先フォルダパスパート1222であるか否かを判定する。投入先フォルダパスパート1222である場合にはS1708に進み、そうでない場合にはS1710に進む。S1708で、CPU401は、投入先フォルダパスパート1222を最後まで読み出し、読み出したフォルダパスを記憶する。記憶したらS1710に進む。
S1710で、CPU401は、読み出したパートの終端文字列が、図10(c)に示すMIME終端文字列1226であるか否かを判定する。終端文字列がMIME終端文字列1226である場合にはS1711に進み、そうでない場合にはS1702に処理を戻す。S1711で、CPU401は、ファイルパート1225を読み出し済みであるか否かを判定する。ファイルパート1225を読み出し済みである場合にはS1712に進み、そうでない場合にはS1713に進む。上述したように、S1713で、CPU401は、印刷要求のレスポンスとしてエラーを示す情報を送信し、処理を終了する。
S1712で、CPU401は、S1707で記憶したファイル名と保存名、S1708で記憶した投入先フォルダパス、S1709で保存した一時設定を関連付けて、S1701で印刷リストに登録した印刷要求に追加登録する。続いて、S1714で、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ファイルがない場合にはS1910に進む。フォルダ自体がない場合にはJDFファイルがないと判定する。
S1902で、CPU401はJDFファイルの解析を行う。この処理ではJDFファイルの構文解析、意味解析を行い、印刷設定に必要な値を取得する。ここで取得される印刷設定は、図8A及び図8Bで説明をした作成画面によって指定した印刷設定である。続いて、S1903で、CPU401は、印刷要求に一時設定が登録されているか否かを判定する。登録されている場合にはS1904に進み、登録されていない場合にはS1905に進む。S1904で、CPU401は、印刷要求に登録されている一時設定の内容で、S1902で取得したJDFの解析結果を変更し、S1905に進む。変更するのは一時設定で指定されている項目の値のみである。変更するのはJDFの解析結果であり、JDFファイル自体ではない。
S1905で、CPU401は、JDFの解析結果の整合性チェックを行い、S1906に進む。JDFファイルで指定されている印刷設定が、現在の機器構成で実施不可能な場合などJDFファイル自体に不整合がある場合や、一時設定で変更したことにより他の設定と競合を起こした場合などに不整合と判定される。S1906で、CPU401は、S1905の結果を判定し、不整合があると判定した場合にはS1910に進み、不整合がないと判定した場合にはS1907に進む。
S1907で、CPU401は、印刷リストの先頭の印刷要求に格納されているファイルパスを取得し、ファイルを印刷し、S1908に進む。ファイルの印刷には、一時設定がある場合はS1904で一時設定に基づき変更したJDFの解析結果を印刷設定として使用し、ない場合にはS1902のJDFの解析結果を印刷設定として使用する。続いて、S1908で、CPU401は、S1907で行なったファイルの印刷に成功したか否かを判定する。印刷ファイルが存在しなかった場合や、印刷途中にキャンセルされた場合などには印刷失敗となる。印刷に成功したと判定された場合にはS1909に進み、そうでない場合にはS1910に進む。
S1909で、CPU401は、RAM402に記憶されている印刷履歴の末尾に印刷要求を印刷完了として格納し、処理を終了する。一方、S1910で、CPU401は、RAM402に記憶されている印刷履歴の末尾に印刷要求を印刷失敗として格納し、処理を終了する。
<印刷設定の確認画面の要求を受け付けた際の処理手順>
次に、図18を参照して、印刷設定の確認画面の要求を受け付けた際の複合機101のCPU401の処理手順を説明する。以下で説明する処理は、例えば複合機101のCPU401がROM403やHDD404に格納された制御プログラムをRAM402に読み出して実行することにより実現されてもよい。本処理は、クライアント装置のウェブブラウザ705から印刷設定の確認画面の要求を受け付けた際に処理を開始する。
S2001で、CPU401は、受信したジョブ設定確認要求から、図10(d)に示す印刷設定の確認画面の要求XML1230を読み出し、S2002に進む。S2002で、CPU401は、フォルダパス要素1231で指定されたフォルダパスのフォルダ内に印刷設定ファイルがあるか否かを判定する。この処理はS1901と同じ処理である。JDFファイルがある場合にはS2003に進み、JDFファイルがない場合にはS2009に進む。
S2003で、CPU401は、JDFファイルの解析を行う。この処理はS1902と同じである。解析が終了するとS2004に進む。S2004で、CPU401は、S2001で読み出した印刷設定の確認画面の要求XML1230に一時設定が含まれているか否かを判定する。含まれている場合にはS2005に進み、含まれていない場合にはS2006に進む。S2005で、CPU401は、S2001で取得した一時設定で、S2003で取得したJDFの解析結果を変更し、S2006に進む。この処理はS1904と同じである。
S2006で、CPU401は、JDFの解析結果の整合性チェックを行い、S2007に進む。この処理はS1905と同じである。S2007で、CPU401は、S2006の結果を判定する。この処理はS1906と同じである。不整合があると判定した場合にはS2009に進み、不整合がないと判定した場合にはS2008に進む。
S2008で、CPU401は、確認画面1300又は確認画面1310のウェブページを作成し、S2010に進む。S2001で読み出した印刷設定の確認画面の要求XML1230に一時設定がある場合は確認画面1300となり、一時設定がない場合は確認画面1310となる。図11(b)で説明したとおり、確認画面1310は印刷設定ファイルの指定を一時設定で変更したものであり、CPU401は、変更した項目について色やフォントを変更してウェブページを作成する。作成したらS2010に進む。一方、S2009で、CPU401は、印刷設定エラー画面1320のウェブページを作成し、S2010に進む。図11(c)で説明したとおり、印刷設定エラー画面1320にはS2007で発生したエラーの内容を示すメッセージが含まれる。
S2010で、CPU401は、S2008又はS2009で作成したウェブページをレスポンスとしてクライアント装置のウェブブラウザ705に送信し、処理を終了する。
<印刷リストの変化>
次に、図19を参照して、図15及び図16を用いて説明した印刷要求の受信、及び印刷要求処理においてRAM402に記憶される印刷リストが変化する様子を説明する。
図19(a)はfolder02フォルダ1124に受けた“document.pdf”の印刷要求をS1701で印刷リストの最後に追加したところである。要求を識別するために割り当てられたID”102”に対応して、印刷要求から取得した投入先フォルダパス、投入者名、ファイル名、一時設定で指定された部数指定”5”と印刷メディア”A3”が登録されている。しかし、ファイルの保存が終わっていないため、当該ファイルパスは登録されていない。先に受け付けた“marketing_materials.pdf”はファイルの受信が完了しておりS1705でファイルパスが追加で登録されている。
図19(b)は、“marketing_materials.pdf”の印刷要求の処理が開始された際の印刷リストを示している。S1802でIDが101の印刷要求が削除されている。この時点でも“document.pdf”のファイルの受信が終わっていないため対応するIDが102の印刷要求にはファイルパスが登録されていない。図16の印刷リストの印刷要求の処理はS1801から一度終了する。
図19(c)は、folder01フォルダ1123に受けた“handout.pdf”の印刷要求をS1701で印刷リストの最後に追加したところである。一時設定は指定されていないため、一時設定は登録されていない。この時点でも“document.pdf”のファイルの受信が終わっておらずファイルパスが登録されていないため、図16の印刷リストの印刷要求の処理はS1801から一度終了する。
図19(d)は、“handout.pdf”の保存が完了し、S1705でIDが103の印刷要求にファイルパスが追加で登録された際の印刷リストである。この時点でも“document.pdf”のファイルの受信が終わっておらずファイルパスが登録されていないため、図16の印刷リストの印刷要求の処理はS1801から一度終了する。
図19(e)は、“document.pdf”の保存が完了し、S1705でIDが102の印刷要求にファイルパスが追加で登録された際の印刷リストである。S1802で印刷リストの先頭の印刷要求を取り出し、S1803で印刷要求の処理を開始する。
以上説明したように、本実施形態に係る複合機(画像形成装置)は、印刷設定情報が関連付けられたフォルダを提供する記憶部と、シートに画像を形成する画像形成部とを有する。本画像形成装置は、フォルダに紐づけて画像形成装置に転送する印刷ファイルの指定を受け付ける画面を表示させるための画面情報を外部装置に送信する。当該画面は、当該フォルダに予め格納されている印刷設定情報よりも優先して適用される一時設定を受付可能である。また、本画像形成装置は、印刷設定情報に対して一時設定の設定項目を優先して適用した印刷設定に従って、フォルダに紐づけて転送されてきた印刷ファイルに基づく画像形成を画像形成部に実行させる。
このように、本実施形態では、印刷設定ファイルを複合機101のフォルダ内に保存し、フォルダに印刷ファイルを投入することで、印刷設定ファイルの印刷設定を使用して印刷する機器内蔵ホットフォルダであっても、好適に設定を一時的に変更することができる。具体的には、部数や用紙サイズなどファイルに応じて変更することの多い印刷設定を、印刷設定ファイルを変更することなく一時的に使用する設定として指定することが可能となる。また、一時的に使用する設定を適応した後の印刷設定の整合性チェックを実行し、結果をウェブページに表示可能な印刷設定確認画面として送信する。これにより、ユーザは一時設定で行なった設定が元の設定と競合を起こした場合でも、印刷要求をする前に知ることができ、事前に修正することが可能となる。
<第2の実施形態>
以下では、本発明の第2の実施形態について説明する。上記第1の実施形態では印刷指示を行う前に一時設定を指定しておく必要がある。しかし、部数などの設定は印刷の度に変更するものであり、事前の指定は手間となる。また指定するのを忘れてしまうことも想定される。本実施形態では、印刷指示前の一時設定操作を不要とし、印刷要求操作の際に一時設定を指定できるようにすることで、手間を省き、指定を忘れてしまうことを防止する構成及び制御について説明する。上記第1の実施形態と同様の構成及び制御については説明を省略する。なお、本実施形態は、上記第1の実施形態と組み合わせて適用することができる。即ち、本実施形態では、印刷指示を行う前と、印刷要求操作の際との2つのタイミングで一時設定を行うことができる。従って、印刷要求操作の際に一時設定を行う場合には、印刷指示を行う前に一時設定が行われていれば、その際の設定値が反映された設定画面が変更可能に表示されることとなる。
<ウェブブラウザ上で操作を受け付けた際の処理手順>
図20を参照して、図7Aから図12Bで説明した機能を実行する際のCPU501の処理手順を説明する。以下で説明する処理は、例えばクライアント装置のCPU501がROM503やHDD511に格納された制御プログラムをRAM502に読み出して実行することにより実現されてもよい。本フローチャートは、上記第1の実施形態の図13のフローチャートに対応する。図13と同様の処理については省略して説明をする。即ち、S2201乃至S2209は、S1501乃至S1509と同様である。また、S2212乃至S2215は、S1511乃至S1514と同様である。S2217はS1515と同様である。S2219及びS2220は、S1516及びS1517と同様である。S2222は、S1510と同様である。S2223は、S1518と同様である。
S2210で、CPU501は、一時設定が設定済みであるか否かを判定する。一時設定が設定済みである状態とは、一時設定有効フォルダ表示画面1220が表示されており、RAM502に一時設定が記憶されている状態である。一時設定が設定済みの場合はS2222に進み、そうでない場合はS2211に進む。
S2211で、CPU501は、ウェブブラウザ705上に一時設定画面1200を表示し、入力を受け付ける。続いて、S2216で、CPU501は、ユーザからの入力を待機する。入力を受け付けるまでS2216に留まる。入力を受け付けると、S2218に進む。S2218で、CPU501は、S2216で受け付けた操作が、OKボタン1205をクリックする操作であったか否かを判定する。OKボタン1205をクリックする操作であった場合にはS2222に進み、そうでない場合にはS2221に進む。
S2221で、CPU501は、S2216で受け付けた操作が、キャンセルボタン1204をクリックする操作であったか否かを判定する。キャンセルボタン1204をクリックする操作であった場合にはS2224に進み、そうでない場合にはS2216に進む。S2224で、CPU501は、一時設定画面1200を終了し、一時設定画面1200を表示する前のフォルダ表示画面を表示する。この場合印刷要求は実行されない。
以上説明したように、本実施形態に係る複合機(画像形成装置)は、印刷要求操作を受け付けた際に一時設定が指定されていない場合には、一時設定を行うための画面を表示するように制御する。これにより、印刷要求前に一時設定を行う必要がなくなり、ユーザの手間を軽減することができる。また、OKボタン1205を選択し確認するまで印刷要求が実行されないため、設定を忘れてしまうことも防止できる。なお、本実施形態では印刷要求操作時に一時設定を表示する条件として、事前に一時設定が指定されていない場合とした。しかし、本発明はこれに限定されず、印刷要求操作時に一時設定を表示する条件として、フォルダごと又は全体設定として一時設定画面を表示するかを設定する機能を設け、この設定に応じて表示・非表示を切り替えてもよい。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。