(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-07
(45)【発行日】2024-05-15
(54)【発明の名称】画像形成装置及びその制御方法、並びにプログラム
(51)【国際特許分類】
B41J 29/38 20060101AFI20240508BHJP
G06F 3/12 20060101ALI20240508BHJP
H04N 1/00 20060101ALI20240508BHJP
【FI】
B41J29/38 301
G06F3/12 310
G06F3/12 365
G06F3/12 373
G06F3/12 385
H04N1/00 127Z
B41J29/38 801
B41J29/38 201
G06F3/12 334
(21)【出願番号】P 2020103089
(22)【出願日】2020-06-15
【審査請求日】2023-05-15
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100125254
【氏名又は名称】別役 重尚
(72)【発明者】
【氏名】木暮 岳史
(72)【発明者】
【氏名】池田 篤
(72)【発明者】
【氏名】小池 宏明
【審査官】小野 郁磨
(56)【参考文献】
【文献】特開2020-019237(JP,A)
【文献】特開2018-151981(JP,A)
【文献】特開2016-092757(JP,A)
【文献】特開2005-189973(JP,A)
【文献】特開2017-217880(JP,A)
【文献】特開2002-314779(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 29/38-29/42
G03G 21/00
G06F 3/12
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
ネットワーク通信機能と、投入された印刷ジョブに含まれる印刷データを印刷する印刷機能と、前記印刷機能による印刷結果をジョブ履歴として記録するジョブ履歴記録機能と、
表示機能と、起動要因が発生したときに起動するアプリケーションとを有する画像形成装置において、
前記アプリケーションは、
起動後、前記ネットワーク通信機能を用いて、ネットワーク上のファイルを取得するファイル取得手段と、
前記ファイル取得手段で取得した前記ファイルの印刷ジョブを前記画像形成装置に投入するジョブ投入手段と、
前記起動後にエラーが発生し、且つ前記ジョブ投入手段により前記印刷ジョブが投入されなかった場合、エラー記録用ジョブを前記画像形成装置に投入するエラー記録用ジョブ投入手段とを備え
、
前記起動後にエラーが発生し、且つ前記ジョブ投入手段により前記印刷ジョブが投入された場合、前記エラー記録用ジョブ投入手段は、前記エラー記録用ジョブを投入せずに、前記表示機能を用いてエラー画面を表示することを特徴とする画像形成装置。
【請求項2】
前記エラー記録用ジョブに含まれるジョブ情報には、前記エラーが発生した前記アプリケーションにより実行される処理内容、前記アプリケーションの識別情報、及びエラー内容の少なくとも1つの情報が含まれることを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記エラー記録用ジョブに含まれるエラー記録用印刷データには、前記印刷機能が動作しないようなデータであることを特徴とする請求項1又は2記載の画像形成装置。
【請求項4】
前記エラー記録用印刷データは、空のデータであることを特徴とする請求項3記載の画像形成装置。
【請求項5】
ネットワーク通信機能と、投入された印刷ジョブに含まれる印刷データを印刷する印刷機能と、前記印刷機能による印刷結果をジョブ履歴として記録するジョブ履歴記録機能と、スケジュールされた印刷日時となったときに起動するアプリケーションと
、起動要因が発生したときに起動し、当該起動後にエラーが発生した場合、第2のエラーレポートを生成し、前記印刷機能を用いて前記第2のエラーレポートを印刷する他のアプリケーションとを有する画像形成装置において、
前記アプリケーションは、
起動後、前記ネットワーク通信機能を用いて、ネットワーク上のファイルを取得するファイル取得手段と、
前記ファイル取得手段で取得した前記ファイルの印刷ジョブを前記画像形成装置に投入するジョブ投入手段と、
前記起動後にエラーが発生した場合、第1のエラーレポートを生成し、前記印刷機能を用いて前記第1のエラーレポートを印刷するエラーレポート印刷手段とを備え
、
前記第1及び第2のエラーレポートの印刷を行うか否かの設定を行うことを特徴とする画像形成装置。
【請求項6】
前記ファイル取得手段が取得するファイルが複数ある場合、前記第1のエラーレポートの印刷は、前記印刷機能により、前記複数あるファイルの印刷ジョブに含まれる印刷データの全ての印刷が終了した後に行われることを特徴とする請求項5記載の画像形成装置。
【請求項7】
前記第1のエラーレポートには、前記スケジュールされた印刷日時、前記エラーが発生した前記アプリケーションにより実行される処理内容、前記アプリケーションの識別情報、及びエラー内容の少なくとも1つの情報が含まれることを特徴とする請求項5又は6記載の画像形成装置。
【請求項8】
ネットワーク通信機能と、投入された印刷ジョブに含まれる印刷データを印刷する印刷機能と、前記印刷機能による印刷結果をジョブ履歴として記録するジョブ履歴記録機能と、
表示機能と、起動要因が発生したときに起動するアプリケーションとを有する画像形成装置の制御方法において、
前記アプリケーションにより、
起動後、前記ネットワーク通信機能を用いて、ネットワーク上のファイルを取得するファイル取得ステップと、
前記ファイル取得ステップにおいて取得した前記ファイルの印刷ジョブを前記画像形成装置に投入するジョブ投入ステップと、
前記起動後にエラーが発生し、且つ前記ジョブ投入ステップにおいて前記印刷ジョブが投入されなかった場合、エラー記録用ジョブを前記画像形成装置に投入するエラー記録用ジョブ投入ステップとを実行
し、
前記起動後にエラーが発生し、且つ前記ジョブ投入ステップにおいて前記印刷ジョブが投入された場合、前記エラー記録用ジョブ投入ステップにおいて、前記エラー記録用ジョブは投入されずに、前記表示機能を用いてエラー画面が表示されることを特徴とする制御方法。
【請求項9】
ネットワーク通信機能と、投入された印刷ジョブに含まれる印刷データを印刷する印刷機能と、前記印刷機能による印刷結果をジョブ履歴として記録するジョブ履歴記録機能と、スケジュールされた印刷日時となったときに起動するアプリケーションと
、起動要因が発生したときに起動し、当該起動後にエラーが発生した場合、第2のエラーレポートを生成し、前記印刷機能を用いて前記第2のエラーレポートを印刷する他のアプリケーションとを有する画像形成装置の制御方法において、
前記アプリケーションにより、
起動後、前記ネットワーク通信機能を用いて、ネットワーク上のファイルを取得するファイル取得ステップと、
前記ファイル取得ステップにおいて取得した前記ファイルの印刷ジョブを前記画像形成装置に投入するジョブ投入ステップと、
前記起動後にエラーが発生した場合、第1のエラーレポートを生成し、前記印刷機能を用いて前記第1のエラーレポートを印刷するエラーレポート印刷ステップとを実行
し、
前記第1及び第2のエラーレポートの印刷を行うか否かの設定を行うことを特徴とする制御方法。
【請求項10】
請求項
8又は
9記載の制御方法を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置及びその制御方法、並びにプログラムに関し、特に、ネットワーク上のドキュメントをフォーム印刷するアプリケーションによって画像形成装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【0002】
従来より、画像形成装置に投入されたジョブの実行中にエラーが発生した場合、その旨をジョブ実行履歴に記録する技術が知られている(例えば、特許文献1参照)。
【0003】
また、ネットワーク上のファイルを取得し、そのファイルを含む印刷ジョブを画像形成装置に投入する印刷アプリケーションも知られている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術では、画像形成装置へ投入前のジョブについてジョブ実行履歴を記録することはできない。このため、なんらかのエラーの発生により印刷アプリケーションが画像形成装置に投入できなかったジョブについては、特許文献1の技術では、かかるエラーが発生したことをジョブ実行履歴に記録できなかった。
【0006】
以上を鑑みて本発明は、ジョブ投入前に発生したエラーをジョブ実行履歴に記録することが出来る画像形成装置及びその制御方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の請求項1に係る画像形成装置は、ネットワーク通信機能と、投入された印刷ジョブに含まれる印刷データを印刷する印刷機能と、前記印刷機能による印刷結果をジョブ履歴として記録するジョブ履歴記録機能と、表示機能と、起動要因が発生したときに起動するアプリケーションとを有する画像形成装置において、前記アプリケーションは、起動後、前記ネットワーク通信機能を用いて、ネットワーク上のファイルを取得するファイル取得手段と、前記ファイル取得手段で取得した前記ファイルの印刷ジョブを前記画像形成装置に投入するジョブ投入手段と、前記起動後にエラーが発生し、且つ前記ジョブ投入手段により前記印刷ジョブが投入されなかった場合、エラー記録用ジョブを前記画像形成装置に投入するエラー記録用ジョブ投入手段とを備え、前記起動後にエラーが発生し、且つ前記ジョブ投入手段により前記印刷ジョブが投入された場合、前記エラー記録用ジョブ投入手段は、前記エラー記録用ジョブを投入せずに、前記表示機能を用いてエラー画面を表示することを特徴とする。
【0008】
本発明の請求項5に係る画像形成装置は、ネットワーク通信機能と、投入された印刷ジョブに含まれる印刷データを印刷する印刷機能と、前記印刷機能による印刷結果をジョブ履歴として記録するジョブ履歴記録機能と、スケジュールされた印刷日時となったときに起動するアプリケーションと、起動要因が発生したときに起動し、当該起動後にエラーが発生した場合、第2のエラーレポートを生成し、前記印刷機能を用いて前記第2のエラーレポートを印刷する他のアプリケーションとを有する画像形成装置において、前記アプリケーションは、起動後、前記ネットワーク通信機能を用いて、ネットワーク上のファイルを取得するファイル取得手段と、前記ファイル取得手段で取得した前記ファイルの印刷ジョブを前記画像形成装置に投入するジョブ投入手段と、前記起動後にエラーが発生した場合、第1のエラーレポートを生成し、前記印刷機能を用いて前記第1のエラーレポートを印刷するエラーレポート印刷手段とを備え、前記第1及び第2のエラーレポートの印刷を行うか否かの設定を行うことを特徴とする。
【発明の効果】
【0009】
本発明によれば、ジョブ投入前に発生したエラーをジョブ実行履歴に記録することが出来る。
【図面の簡単な説明】
【0010】
【
図1】実施例1に係る画像形成装置の主要部のハードウェア構成を示すブロック図である。
【
図2】画像形成装置のソフトウェア構成を示す図である。
【
図3】画像形成装置のソフトウェアモジュールの構成図である。
【
図4】本発明の実施例における印刷システムの全体図である。
【
図5】
図4におけるホストPCから画像形成装置に
図2における拡張アプリケーションをインストールする際のシーケンス図である。
【
図6】フォーム印刷アプリケーションである拡張アプリケーションの設定画面を示す図である。
【
図7】フォーム印刷アプリケーションである拡張アプリケーションを設定する際のシーケンス図である。
【
図8】フォーム印刷アプリケーションである拡張アプリケーションが実行する登録処理により登録される設定データの例を示す図である。
【
図9】ボタン押下に応じて実行されるフォーム印刷処理のシーケンスである。
【
図10】本発明の実施形態におけるアプリケーション構成を示す図である。
【
図11】本発明の実施形態における印刷データの処理状態を示す図である。
【
図12】
図9のステップS907で表示されるエラー画面を例示する図である。
【
図13】
図9のステップS911で表示される確認画面を例示する図である。
【
図14】
図9のステップS915で表示される印刷処理中画面を例示する図である。
【
図15】
図6の設定画面で設定されたスケジュールで実行されるフォーム印刷処理のシーケンスである。
【
図16】実施例1に係る、
図9のステップS923及び
図15のステップS1513のエラー処理のフローチャートである。
【
図17】
図16のステップS1606で表示されるエラー画面を例示する図である。
【
図18】画像形成装置における、印刷ジョブの実行処理のフローチャートである。
【
図19】
図9のステップS922で表示されるエラー画面の例を示す図である。
【
図20】操作部に表示されたジョブ履歴確認画面を示す図である。
【
図21】
図16のステップS1604のエラー記録用ジョブ投入処理のフローチャートである。
【
図22】実施例2に係る、
図9のステップS923及び
図15のステップS1513のエラー処理のフローチャートである。
【
図23】実施例2に係るアプリケーションのエラーレポートを示す図である。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0012】
(実施例1)
図1は、本実施例に係る画像形成装置401の主要部のハードウェア構成を示すブロック図である。
【0013】
画像形成装置401は、
図4を用いて後述する印刷システム400に接続される装置である。
【0014】
画像形成装置401は、コントローラユニット100、画像入力デバイスであるスキャナ170、タッチパネルを有する操作部112、データを格納する外部記憶装置であるUSBストレージ114、及び画像出力デバイスであるプリンタ195を備える。
【0015】
コントローラユニット100は、スキャナ170、プリンタ195、操作部112、及びUSBストレージ114と接続する。また、コントローラユニット100は、スキャナ170で読み取られた画像データをプリンタ195により印刷出力するコピー機能を実現するための制御を行う。また、コントローラユニット100は、画像形成装置401に投入された印刷ジョブに含まれる印刷データをプリンタ195により印刷出力する印刷機能を実現するための制御を行う。
【0016】
コントローラユニット100は、CPU101、RAM102、ROM103、ストレージ104、画像バスI/F105、操作部I/F106、システムバス107、画像バス108、ネットワークI/F110、及びUSBホストI/F113を備える。また、コントローラユニット100は、USBストレージ114、RTC115、デバイスI/F120、スキャナ画像処理部180、及びプリンタ画像処理部190を備える。
【0017】
CPU101は、ROM103に格納されているブートプログラムによりオペレーションシステム(OS)を立ち上げる。CPU101は、このOS上で、ストレージ104に格納されているプログラムを実行し、これによって画像形成装置401における各種処理を実行する。このCPU101の作業領域としてはRAM102が用いられる。RAM102は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ストレージ104は、プログラム及び画像データ等を格納する。またコントローラユニット100は、後述するネットワークI/F110を介してサーバ403からのデータを取得するネットワーク通信機能を実現するための制御を行う。
【0018】
CPU101には、システムバス107を介して、ROM103及びRAM102、操作部I/F106、ネットワークI/F110、USBホストI/F113、画像バスI/F105が接続される。
【0019】
操作部I/F106は、操作部112とのインターフェースであり、操作部112に表示すべき画像データを操作部112に対して出力する。また、操作部I/F106は、操作部112においてユーザにより入力された情報をCPU101に送出する。
【0020】
ネットワークI/F110は、画像形成装置401をイーサネット404(
図4)に接続するためのインターフェースである。コントローラユニット100は、ネットワークI/F110を介してサーバ403からのデータを取得するネットワーク通信機能を実現するための制御を行う。
【0021】
USBホストI/F113は、USBストレージ114と通信するインターフェース部である。USBホストI/F113は、USBストレージ114に格納されているデータをUSBストレージ114に記憶させるための出力部である。また、USBホストI/F113は、USBストレージ114に格納されているデータを入力し、CPU101にそれを伝える。USBホストI/F113は、USBストレージ114を含む複数のUSBデバイスと着脱可能に構成される。
【0022】
RTC115は、現在時刻を制御する。このRTC115で制御する時刻情報はジョブ投入時間の記録などに利用する。
【0023】
画像バスI/F105は、システムバス107と、画像データを高速で転送する画像バス108とを接続し、データ形式を変換するためのバスブリッジである。
【0024】
画像バス108は、PCIバスまたはIEEE1394等によって構成される。画像バス108上には、デバイスI/F120、スキャナ画像処理部180、プリンタ画像処理部190が設けられる。
【0025】
デバイスI/F120には、スキャナ170及びプリンタ195が接続され、デバイスI/F120は、画像データの同期系/非同期系の変換を行う。
【0026】
スキャナ画像処理部180は、デバイスI/F120を介してスキャナ170から入力された画像データに対し補正、加工、編集を行う。
【0027】
プリンタ画像処理部190は、デバイスI/F120を介してプリンタ195に出力する画像データに対してプリンタ195に応じた補正、解像度変換などを行う。
【0028】
図2は、画像形成装置401のソフトウェア構成を示す図である。
【0029】
ストレージ104に記憶されているプログラムを、CPU101がRAM102にロードし、プログラムを
図2に示すソフトウェア上で実行することで以下後述する
図3に示す各モジュールが画像形成装置401において実現される。
【0030】
図2に示すように、画像形成装置401では、OS201、ネイティブプログラム210、VMシステムサービス220、仮想マシン(Virtual Machine:VM)230、及び拡張アプリケーション240を備える。
【0031】
OS201は、オペレーティングシステムであり、OS201上には、ネイティブプログラム210と、VM230が動作している。
【0032】
ネイティブプログラム210は、プリンタ195やスキャナ170等の画像処理ユニットを制御する。
【0033】
VM230は、拡張アプリケーション240の実行環境である。すなわち、VM230は、拡張アプリケーション240を制御するプログラムを理解し実行するモジュールである。拡張アプリケーション240は、必ずVM230上で動作する。VM230で動作するプログラムは、CPU101で動作する命令とは異なり、VM230専用の命令で動作する。この命令をバイトコードと呼ぶ。一方でCPU101の専用命令をネイティブコードと呼ぶ。VM230がこのバイトコードを逐次解釈し処理することで、CPU101上ではネイティブコードと、VM230のバイトコードが動作する。VM230には、バイトコードをそのまま逐次解釈処理するタイプと、バイトコードをネイティブコードに変換して実行するタイプがある。本実施例のVM230は前者のタイプであるが、後者のタイプであってもよい。一般的にCPUの種別が異なると、CPUで動作する命令に互換性が無い様に、VMが異なるとVMで動作する命令も互換性が無い。また本実施例のVM230は、CPU101上で動作するソフトウェアモジュールであるが、ハードウェアモジュールであってもよい。
【0034】
ネイティブプログラム210内には、プリンタ195やスキャナ170等の画像処理ユニットを制御するためのネイティブスレッド214と、VM230を動かすためのVMスレッド215とがある。VMスレッド215は、VM230の数に対応する数だけ存在するVMスレッドの総称である。本実施例では、VMスレッド A-1 211、VMスレッド A-2 212,VMスレッド B-1 213の3つのVMスレッドが生成されている。
【0035】
VMシステムサービス220は、拡張アプリケーション240から共通利用されるユーティリティライブラリである。拡張アプリケーション240からVMシステムサービス220の機能を呼び出すことにより、拡張アプリケーション240を開発する手間を省く、または画像形成装置401の各モジュールへアクセスすることができる。VMシステムサービス220には、VM230として最低限動作させる標準VMシステムサービス221と、画像形成装置401の各モジュールにアクセスや、OS201の機能を提供する拡張VMシステムサービス222がある。標準VMシステムサービス221は、拡張アプリケーション240をロードする機能も含む。VMシステムサービス220は、VM230が拡張アプリケーション240内のバイトコードで指示されているAPIを実行することで、APIに関連づけられているVMシステムサービス220が呼び出される。
【0036】
VM230は、拡張アプリケーション240を実行する。VM230は、拡張アプリケーション240のスレッド毎に生成されるVMの総称であり、本実施例では、VM A-1 231、VM A-2 232、及びVM B-1 233の3つのVMが生成されている。また、拡張アプリケーション240は、複数の拡張アプリケーションの総称であり、本実施例では、拡張アプリケーションA241と拡張アプリケーションB242が存在する。すなわち、VM A-1 231及びVM A-2 232は、拡張アプリケーションA241で2つのスレッド(VMスレッド A-1 211及びVMスレッド A-2 212)を夫々動かすためのVMである。また、VM B-1 233は、拡張アプリケーションB242で1つのスレッド(VMスレッド B-1 213)を動かすためのVMである。
【0037】
また、画像形成装置401の操作部112に表示されるメインメニュー画面には、拡張アプリケーションA241と拡張アプリケーションB242の夫々を起動するためのアイコンが表示される。例えば、拡張アプリケーションA241を起動するためのアイコンをユーザが選択したことを、操作部112を通じて操作部I/F106が検知すると、操作部I/F106はその旨をCPU101に送信する。その旨を受け取ったCPU101は拡張アプリケーションA241を起動する。
【0038】
図3は、画像形成装置401のCPU101上で動作する本実施例のソフトウェアモジュールの構成図である。
【0039】
本実施例のソフトウェアモジュールは、8つのモジュールを含む。具体的には、標準機能制御部301、アプリケーション管理部302、UI制御部303、サーブレットサービス304、アプリケーション実行制御部305、ストレージ制御部306、タイマー管理部307、及びジョブ実行履歴制御部308である。
【0040】
サーブレットサービス304は、ネットワークI/F110を通してHTTPで特定のURLへのアクセス要求があると、そのURLによってアプリケーション管理部302及び標準機能制御部301のいずれかのモジュールに処理を振り分ける。
【0041】
UI制御部303は、操作部112に画面を表示し、ユーザからの操作を受け付けて、その操作情報を、アプリケーション管理部302及び標準機能制御部301のうちの適切なモジュールに通知を行う。
【0042】
アプリケーション管理部302は、拡張アプリケーション240のインストールやその起動等の管理を行う。
【0043】
アプリケーション実行制御部305は、アプリケーション管理部302で起動された拡張アプリケーション240の実行制御を行うモジュールである。具体的には、VMスレッド215、VMシステムサービス220、VM230、及び拡張アプリケーション240を制御する。
【0044】
ストレージ制御部306は、拡張アプリケーション240のプログラムや、設定情報を記録管理する。アプリケーション実行制御部305は、ストレージ制御部306にアクセスして拡張アプリケーション240のプログラムを読み出す。また、各モジュールは、ストレージ制御部306にアクセスし、設定値の参照、設定を行う。
【0045】
標準機能制御部301は、画像形成装置401の標準機能であるコピーやFAXの実行の制御や、その他の画像形成装置401に必要な制御(例えばUSBホストパスI/F113の制御)を行う。また、標準機能制御部301は、画像形成装置401で実行されたコピーやFAXなどをジョブとして管理し、そのジョブの実行結果の記録をジョブ実行履歴制御部308に依頼する。
【0046】
ジョブ実行履歴制御部308(ジョブ履歴記録機能)は、ジョブの実行結果をジョブ履歴としてストレージ104に残すため、ストレージ制御部306にジョブ履歴の記録を依頼する。
【0047】
タイマー管理部307は、RTC115から現在時刻情報を取得し、規定の時刻が経過したことを検知し、アプリケーション管理部302に通知する。アプリケーション管理部302は、タイマー管理部307から通知を受けると、拡張アプリケーション240を起動させると共に、拡張アプリケーション240のタイマー処理の実行をアプリケーション実行制御部305に依頼する。この依頼を受け、アプリケーション実行制御部305は、拡張アプリケーション240に対してタイマー処理実行指示を行う。
【0048】
図4は、画像形成装置401を含む印刷システム400の全体図である。
【0049】
拡張アプリケーション240は、印刷システム400に画像形成装置401が接続されている状態において、画像形成装置401にインストールされる。
【0050】
印刷システム400は、画像形成装置401、ホストPC402、及びサーバ403を含み、これらは、イーサネット404によって互いに接続される。
【0051】
画像形成装置401は、イーサネット404経由で、拡張アプリケーション240のインストール手段をホストPC402に提供する。
【0052】
ホストPC402は、拡張アプリケーション240のインストールデータを有しており、画像形成装置401が提供する拡張アプリケーション240のインストール手段を用いて画像形成装置401に拡張アプリケーション240をインストールする。
【0053】
サーバ403は、印刷する画像データを有しており、画像形成装置401からの画像データ取得要求を受けて、画像データを画像形成装置401に送信する。
【0054】
図5は、ホストPC402から画像形成装置401に拡張アプリケーション240をインストールする際のシーケンス図である。
【0055】
本シーケンスにおいて、アプリケーション管理部302、サーブレットサービス304、ストレージ制御部306、及びタイマー管理部307における処理は、CPU101がストレージ104に格納されたプログラムに従って実行する。また、
図5のシーケンスにおけるホストPC402における処理はホストPC402内の不図示のCPUが同じくホストPC402内の不図示のストレージに格納されたプログラムに従って実行する。但し、以下の説明においては、各ステップの実行主体は、アプリケーション管理部302、サーブレットサービス304、ストレージ制御部306、タイマー管理部307、及びホストPC402とする。
【0056】
まずステップS501で、ホストPC402は、画像形成装置401に拡張アプリケーション240のインストールを行うため、認証要求を行う。この時、認証に必要な情報(ユーザID,パスワード)を画像形成装置401に通知する。
【0057】
ステップS502で認証要求を受けたサーブレットサービス304は、認証情報を確認し問題なければ認証許可を返す。この時、認証許可を示す文字列(Token)を一緒に返す。
【0058】
認証許可を受けたホストPCはステップS503で、インストール開始要求を画像形成装置401に通知する。この時、ホストPC402が有する拡張アプリケーション240のインストールデータ(以下、アプリケーションデータ1001という)とステップS502で取得したTokenを通知する。尚、このアプリケーションデータ1001の構成については
図10を用いて後述する。
【0059】
ステップS504で、インストール開始要求を受けたサーブレットサービス304は、Tokenが正しいことを確認し、問題なければステップS504でアプリケーション管理部302に拡張アプリケーション240のインストール要求をする。
【0060】
インストール要求を受けたアプリケーション管理部302は、ステップS505でストレージ制御部306にアプリケーションデータ書き込み要求をする。ストレージ制御部306は、アプリケーションデータ書き込み要求を受け、ストレージ104にアプリケーションデータ1001の書き込みを開始する。
【0061】
ストレージ制御部306は、ステップS505のアプリケーションデータ書き込み要求を受けて開始したアプリケーションデータ1001の書き込みが完了すると、ステップS506でアプリケーション管理部302に完了を通知する。
【0062】
ステップS507でアプリケーション管理部302は、インストールされたアプリケーションデータ1001に含まれるタイマー情報をタイマー管理部307に登録する。
【0063】
タイマー管理部307は、ステップS508でタイマー情報の登録が完了した旨をアプリケーション管理部302に通知する。タイマー情報については後述する。
【0064】
ステップS509でホストPC402は、インストール状況取得要求を画像形成装置401に通知し、インストール状況を確認する。この時、ステップS502で取得したTokenを画像形成装置401に通知する。
【0065】
ステップS506で、インストール状況取得要求を受けたサーブレットサービス304は、その際に通知されたTokenが正しいことを確認する。この結果、Tokenに問題なければサーブレットサービス304はステップS510でアプリケーション管理部302にインストール状況を問い合わせることで、インストール状況を確認する。
【0066】
インストール状況の問い合わせを受けたアプリケーション管理部302は、ステップS511で現在のインストール状況を返す。本実施例ではこの時点でのインストール状況はインストール中であるため、アプリケーション管理部302は現在のインストール状況としてインストール中状態を返す。
【0067】
サーブレットサービス304は、ステップS512でアプリケーション管理部302から取得した現在のインストール状況をホストPC402に通知する。本実施例ではこの時点で取得した現在のインストール状況はインストール中であるため、サーブレットサービス304はホストPC402にインストール状態を通知する。
【0068】
ホストPC402は、サーブレットサービス304へのインストール状況取得要求を、サーブレットサービス304からインストール完了という通知がくるまで繰り返す。本実施例では、ホストPC402によるステップS513で行った2回目のインストール状況取得要求の際、サーブレットサービス304からホストPC402へインストール完了が通知される(ステップS516)。
【0069】
以上の処理により、本実施例では、ホストPC402が有する拡張アプリケーション240のデータが、画像形成装置401にインストールされる。また、このインストールが完了した際、画像形成装置401の操作部112に表示されるメインメニュー画面には、拡張アプリケーションA241と拡張アプリケーションB242の夫々を起動するためのアイコンが表示される。
【0070】
次に、ユーザが、画像形成装置401の操作部112のメインメニュー画面に表示される拡張アプリケーションA241を起動するためのアイコンをクリックしたときに表示される拡張アプリケーションA241用の設定画面601について説明する。
【0071】
尚、拡張アプリケーションA241は、ユーザが登録したフォーム画像データを印刷するフォーム印刷アプリケーションである。
【0072】
図6は、フォーム印刷アプリケーションである拡張アプリケーションA241用の設定画面601を示す図である。この設定画面601は画像形成装置401とイーサネット404で接続されたホストPC402上で動作するWebブラウザに表示される。
【0073】
設定画面601には、基本設定として、ボタン名入力部604、ファイル/フォルダ指定部605、場所情報入力部606、ユーザ名入力部607、チェックボックス608、パスワード入力部609、及び選択チェックボックス610を有する。
【0074】
ボタン名入力部604は、
図6の設定画面601において設定された、拡張アプリケーションA241により実行されるフォーム印刷の名称(ボタン名)をユーザ入力するためのテキストボックスである。ボタン名入力部604に入力されたボタン名(
図6に示す例では、「トピックス」)は、画像形成装置401の操作部112のメインメニュー画面に表示されるアイコンのボタン名に設定される。ユーザは、メインメニュー画面においてこの「トピックス」というボタン名のアイコンをクリックすると、このアイコンが紐づく設定内容で拡張アプリケーションA241によるフォーム印刷を実行する。
【0075】
ファイル/フォルダ指定部605は、印刷対象であるファイルの場所を、そのファイル自体の場所を特定するURLで指定するか、そのファイルが格納されているフォルダのパスで指定するかをユーザ選択させる2つのラジオボタンを有する。
【0076】
場所情報入力部606は、ファイル/フォルダ指定部605で指定された方法で印刷対象であるファイルの場所の情報(すなわち、URL又はパス)を入力するためのテキストボックスである。
【0077】
ユーザ名入力部607は、場所情報入力部606で場所が入力されたファイルまたはそのファイルが格納されるフォルダにアクセスする為のユーザ名を入力するためのテキストボックスである。
【0078】
チェックボックス608は、パスワードを設定/変更するためのチェックボックスである。
【0079】
パスワード入力部609は、チェックボックス608にチェックが入っている場合に、場所情報入力部606で場所が入力されたファイルまたはそのファイルが格納されるフォルダにアクセスする為のパスワードを入力するためのテキストボックスである。
【0080】
選択チェックボックス610は、操作部112のメインメニュー画面の「トピックス」というボタン名のアイコンの押下時に、このアイコンが紐づく設定内容でフォーム印刷が実行される前に実行確認画面を表示するためのチェックボックスである。
【0081】
設定画面601には、さらに、用紙サイズ、両面、カラーモード、部数、給紙部といった項目611を設定するプリント設定や、指定した曜日/時間に印刷を実行する為のスケジュール設定も含まれる。スケジュール設定ではプリントスケジュール設定を有効にするためのチェックボックス612と、各曜日におけるプリント実行時間の設定部613が含まれる。
【0082】
また、設定画面601には、OKボタン602と、キャンセルボタン603が含まれる。
【0083】
OKボタン602が押下されると、設定画面601が閉じられ、設定画面601においてユーザ設定された内容に紐付いた「トピックス」というボタン名のアイコンが画像形成装置401の操作部112のメインメニュー画面に表示される。
【0084】
キャンセルボタン603が押下されると、設定画面601で設定された内容を破棄し、設定画面601が閉じられる。
【0085】
図7は、フォーム印刷アプリケーションである拡張アプリケーション240を設定する際のシーケンス図である。具体的には、
図7では、フォーム印刷アプリケーションである拡張アプリケーションA241に対してユーザ設定された内容に紐づいたアイコン情報を生成する流れについて説明する。尚、拡張アプリケーション240の種類によってその設定する際の細かい処理内容は、
図7に示す処理とは異なるが、基本的な処理は同じとなる。
【0086】
尚、
図7のシーケンスにおいて、アプリケーション管理部302、サーブレットサービス304、拡張アプリケーションA241における処理は画像形成装置401のCPU101がストレージ104に格納されたプログラムに従って実行する。また、
図7のシーケンスにおけるWebブラウザにおける処理はホストPC402内の不図示のCPUが同じくホストPC402内の不図示のストレージに格納されたプログラムに従って実行する。但し、以下の説明においては、各ステップの実行主体は、アプリケーション管理部302、サーブレットサービス304、拡張アプリケーションA241、及びWebブラウザとする。
【0087】
本シーケンスは、ユーザが、画像形成装置401の操作部112のメインメニュー画面に表示される拡張アプリケーションA241を起動するためのアイコンをクリックしたときに、開始する。
【0088】
まず、Webブラウザが、サーブレットサービス304に対して、拡張アプリケーションA241を設定するための情報を保持する設定用URLと、その設定URLに保持される情報の取得要求(設定用URLリクエスト)を行う(ステップS701)。
【0089】
設定用URLリクエストを受けたサーブレットサービス304は、アプリケーション管理部302に設定用URLリクエストに対する処理を依頼する(ステップS702)。
【0090】
設定用URLリクエストに対する処理を依頼されたアプリケーション管理部302は、設定用URLから該当アプリケーションが拡張アプリケーションA241であることを特定する。その後、アプリケーション管理部302は、拡張アプリケーションA241のVM(すなわち、VM A-1 231及びVM A-2 232)の起動処理を行う(ステップS703)。
【0091】
次にアプリケーション管理部302は、拡張アプリケーションA241のアプリケーションサーブレットを実行する。この時、Webブラウザから通知された設定用URLと設定用URLリクエストを拡張アプリケーションA241に通知する(ステップS704)。
【0092】
拡張アプリケーションA241は、アプリケーション管理部302から通知された設定用URLリクエストに対するレスポンス処理を行う(ステップS705)。ここでは、設定用URLに対するHTMLリソースを返す準備を行う。このHTMLリソースには、フォーム印刷処理に必要な
図8に示す情報を参照・設定するための HTML FORM が記述されている。
【0093】
次に、拡張アプリケーションA241は、準備したHTMLリソースをアプリケーション管理部302にレスポンスする(ステップS706)。
【0094】
アプリケーション管理部302は、拡張アプリケーションA241からのレスポンスをそのままサーブレットサービス304にレスポンスした後(ステップS707)、続いてVM終了処理を行う(ステップS708)。
【0095】
サーブレットサービス304は、アプリケーション管理部302からのレスポンスをWEBブラウザにそのままレスポンスする(ステップS709)。
【0096】
Webブラウザは、サーブレットサービス304からのレスポンスに基づき、
図6の設定画面601を表示する。ユーザはWebブラウザに表示された設定画面601を
図6を用いて前述したように編集し、拡張アプリケーションA241の設定内容を変更した後、OKボタン602を押下する(ステップS710)。ここでは、拡張アプリケーションA241の設定内容は、新規登録された印刷フォームである場合について説明する。
【0097】
Webブラウザは、ステップS710で変更された拡張アプリケーションA241の設定内容を含む設定情報登録リクエストをサーブレットサービス304に要求する(ステップS711)。
【0098】
設定情報登録リクエストを受けたサーブレットサービス304は、アプリケーション管理部302に設定情報登録リクエストに対する処理を依頼する(ステップS712)。
【0099】
設定情報登録リクエストに対する処理を依頼されたアプリケーション管理部302は、ステップS703と同様に、設定用URLから該当アプリケーションが拡張アプリケーションA241であることを特定する。その後、アプリケーション管理部302は、拡張アプリケーションA241のVM(すなわち、VM A-1 231及びVM A-2 232)の起動処理を行う(ステップS713)。
【0100】
次にアプリケーション管理部302は、ステップS704と同様に、拡張アプリケーションA241のアプリケーションサーブレットを実行する(ステップS714)。
【0101】
拡張アプリケーションA241は、Webブラウザからの設定用URLリクエストを処理し、設定データ801(
図8)を登録する登録処理を行う(ステップS715)。その後、拡張アプリケーションA241は、登録処理結果をアプリケーション管理部302にレスポンスする(ステップSS716)。
【0102】
アプリケーション管理部302は、拡張アプリケーションA241からのレスポンスをそのままサーブレットサービス304にレスポンスする(ステップS717)。
【0103】
サーブレットサービス304は、アプリケーション管理部302からのレスポンスをそのままWEBブラウザにレスポンスする(ステップS718)。
【0104】
拡張アプリケーションA241は、ステップS715の登録処理により新規登録された印刷フォームに紐づくアイコンを登録するために、アプリケーション管理部302にアイコン情報更新通知を送る(ステップS719)。
【0105】
アプリケーション管理部302は、拡張アプリケーションA241からのアイコン情報更新通知を受けると、VM終了処理を実行し(ステップS720)、次に、アイコン更新処理を行う(ステップS721)。
【0106】
図8は、フォーム印刷アプリケーションである拡張アプリケーションA241が実行する
図7のステップS715の登録処理により登録される設定データ801の例を示す図である。尚、
図8に示す設定データ801は、
図7のステップS715の登録処理により登録される設定データの一例であり、これに限定するものではない。
【0107】
設定データ801は、設定画面601でOKボタン602が押下された際にWEBブラウザが要求する設定情報登録リクエストに応じて(ステップS711)、拡張アプリケーションA241により登録される、すなわちストレージ104に書き込まれる。
【0108】
設定データ801は、9つ項目802~811からなる。
【0109】
項目802は、設定画面601のボタン名入力部604に入力されたボタン名を示す。
【0110】
項目803は、設定を有効にするか否か(画像形成装置401の操作部112にアイコンを表示するか否か)の設定を示す。本実施例では、項目803のデフォルト設定は有効である。尚、項目803の設定変更は、設定画面601においてはできず、管理者のみ可能である。また、項目803が無効の場合、
図6の基本設定の部分はグレー表示となり、ユーザ入力(選択)はできなくなる。また、
図7のステップS719のアイコン情報更新通知や、この通知を受けて行われるステップS721のアイコン更新処理は実行されない。また、アプリケーション管理部302は、ステップSS716の登録処理結果のレスポンスを受けた際、項目803が無効であると判断した場合、ステップS719のアイコン情報更新通知を待つことなくステップS720のVM終了処理を行う。
【0111】
項目804は、設定画面601のファイル/フォルダ指定部605において設定された、ファイル/フォルダの情報をパスで指定するかURLで指定するかの設定を示す。
【0112】
項目805は、設定画面601の場所情報入力部606において設定された、ファイル/フォルダの場所の情報(以下、単に「パス情報」という)を示す。
【0113】
項目806は、設定画面601のユーザ名入力部607において設定された、ファイル/フォルダにアクセスする為のユーザ名を示す。
【0114】
項目807は、設定画面601のチェックボックス608において設定された、パスワードを設定/変更するか否かの設定を示す。
【0115】
項目808は、設定画面601のパスワード入力部609において設定された、パスワードを示す。
【0116】
項目809は、設定画面601の選択チェックボックス610において設定された、実行前確認画面を表示するか否かの設定を示す。
【0117】
項目810は、設定画面601の項目611において設定された、用紙サイズ、両面、カラーモード、部数、給紙部の設定を示す。
【0118】
項目811は、設定画面601のチェックボックス612において設定された、スケジュールの設定を行うか否かの設定と、設定画面601の設定部613において設定された、スケジュール設定を示す。ここでは、スケジュールの設定を行うか否かの設定は、「true」、すなわちスケジュール設定を行う旨の設定がされている。また、日曜日のAM1:30、月曜日のPM5:45にスケジュール設定がされている。
【0119】
図9は、操作部112のメインメニュー画面の「トピックス」というボタン名のアイコンの押下(ボタン押下)に応じて実行されるフォーム印刷処理のシーケンスである。
【0120】
尚、
図9のシーケンスにおいて、操作部112、及び拡張アプリケーションA241における処理は画像形成装置401のCPU101が、ストレージ104に格納されたプログラムに従って実行する。また、
図9のシーケンスにおけるサーバ403における処理はサーバ403内の不図示のCPUが同じくサーバ403内の不図示のストレージに格納されたプログラムに従って実行する。但し、以下の説明においては、各ステップの実行主体は、操作部112、拡張アプリケーションA241、及びサーバ403とする。
【0121】
操作部112は、「トピックス」というボタン名のアイコンが押下されると(ステップS901)、拡張アプリケーションA241に対しアプリケーション実行指示を行う(ステップS902)。
【0122】
ステップS903aにおいて、拡張アプリケーションA241は、操作部112からのアプリケーション実行指示を受けると起動する。その起動後、起動要因が、ボタン押下であるかスケジュールであるかを判定する。ここでは、操作部112からのアプリケーション実行指示を受けて起動しているので、起動要因はボタン押下であると判定し、ステップS903bに進む。尚、起動要因がスケジュールであると判定された場合については
図15を用いて後述する。
【0123】
起動要因がボタン押下であると判定した拡張アプリケーションA241は、次に、「トピックス」というボタン名のアイコンに紐付いたパス情報を取得する。その後、拡張アプリケーションA241は、その取得したパス情報に基づき、サーバ403に対し、ファイル情報取得要求を行う(ステップS903)。
【0124】
サーバ403は、拡張アプリケーションA241からファイル情報取得要求を受けると、サーバ403内のファイルから対象ファイルの特定を行う(ステップS904)。ここで、対象ファイルの特定とは、パス情報がファイルを指定するURLである場合はそのURLで指定されるファイル、パス情報がフォルダを指定するパスである場合はそのパスで指定されるフォルダに含まれる1つ以上のファイルを示す。
【0125】
次にサーバ403は、ステップS904による対象ファイルの特定結果を示す情報(以下、「対象ファイル情報」という)を生成し、拡張アプリケーション240に送信する(ステップS905)。ステップS904で対象ファイルが特定されている場合、対象ファイル情報として、対象ファイルの数や名称とパス情報等を含む情報が生成される。尚、対象ファイル情報として、対象ファイルなしという特定結果を示す情報が生成される場合もある。具体的には、パス情報のURLやパスが存在しない場合、パス情報であるパスで指定されるフォルダに1つもファイルが存在しないような場合に、かかる特定結果となる。また、ステップS903bの取得要求から所定時間経過内に対象ファイル情報がサーバ403から送信されなかった場合、後述するステップS923に直接進む。
【0126】
サーバ403から取得した対象ファイル情報が対象ファイルなしという特定結果を示す場合、拡張アプリケーションA241は操作部112に対しエラー画面表示指示を行う(ステップS906)。
【0127】
操作部112は、拡張アプリケーション240からエラー画面表示指示を受けるとエラー画面1200の表示を行う(ステップS907)。
【0128】
図12に例示するように、エラー画面1200には、ファイルの取得に失敗した旨のメッセージと閉じるボタン1201が表示される。
【0129】
ステップS907で表示されたエラー画面1200中の閉じるボタン1201が押下されると、操作部112は拡張アプリケーションA241に対し閉じるボタン1201が押下されたことを通知する(ステップS908)。
【0130】
拡張アプリケーション240は、操作部112から閉じるボタン1201が押下されたと通知された場合、操作部112に対しエラー画面1200を閉じるように指示を行い(ステップS909)、処理を終了する。
【0131】
一方、サーバ403から取得した対象ファイル情報に対象ファイルの数や名称とパス情報等が含まれる場合、拡張アプリケーションA241は操作部112に対し確認画面と対象ファイルの情報の表示指示を行う(ステップS910)。
【0132】
操作部112は拡張アプリケーション240から確認画面と対象ファイル情報の表示指示を受けると、設定画面601で設定されたプリント設定と対象ファイル情報を含む確認画面1300の表示を行う(ステップS911)。
【0133】
図13に例示するように、確認画面1300には、印刷を実行するかの確認を行うメッセージ、「はい」ボタン1301、及び「いいえ」ボタン1302が含まれる。また、確認画面1300には、対象ファイルが格納されるフォルダーパスを少なくとも一部表示するボタン1303、対象ファイル数を表示するボタン1304、設定画面601で設定されたプリント設定の一つである部数を表示するボタン1305も含まれる。尚、確認画面1300に、設定画面601で設定されたプリント設定の他の項目の設定情報を表示するボタンも表示するようにしてもよい。
【0134】
ボタン1303が押下されると、対象ファイルが格納されるフォルダーパスの詳細情報を示す画面1306aが表示され、ボタン1304が押下されると、ステップS905で取得した対象ファイルの名称の一覧を示す画面1306bが表示される。画面1306a,1306bのいずれにも戻るボタン1307が設けられており、戻るボタン1307が押下されると確認画面1300に画面表示が戻る。
【0135】
ステップS911で表示された確認画面1300で「はい」ボタン1301が押下されると、操作部112は、拡張アプリケーション240に「はい」ボタンが押下された旨を通知する(ステップS912)。
【0136】
拡張アプリケーションA241は、かかる通知を受けると、操作部112に対し確認画面を閉じるように指示を行う(ステップS913)。
【0137】
次に拡張アプリケーションA241は、操作部112に対し印刷処理中画面の表示指示を行う(ステップS914)。
【0138】
操作部112は、拡張アプリケーション240から印刷処理中画面表示指示を受けると印刷処理中画面1400の表示を開始する(ステップS915)。
【0139】
図14に例示するように、印刷処理中画面1400には、印刷処理中であることを示すメッセージや、プリント処理を中止する為の中止ボタン1403が表示される。また、印刷処理中画面1400には、対象ファイル数と処理済みのファイル数とを表示する項目1401や、処理中ファイルのデータ量と印刷ジョブへの投入済みのデータ量とを表示する項目1402も表示される。
【0140】
拡張アプリケーションA241は、ステップS914で操作部112に対し印刷処理中画面1400の表示指示を行った後、サーバ403に対しファイル取得要求を行う(ステップS916)。このファイル取得要求には、対象ファイルの数や名称とパス情報等が含まれる。
【0141】
サーバ403は、拡張アプリケーションA241からファイル取得要求を受け取ると、拡張アプリケーションA241に対し対象ファイルのファイルデータの送信を行う(ステップS917)。
【0142】
拡張アプリケーションA241は、サーバ403から送信された対象ファイルのファイルデータを全て受信すると(ステップS918)、受信した全てのファイルデータの印刷ジョブの投入を行う(ステップS919)。
【0143】
その後拡張アプリケーションA241は、ステップS919での印刷ジョブの投入を終えると、操作部112に対し印刷処理中画面1400を閉じるように指示を行い(ステップS920)、処理を終了する。
【0144】
操作部112は、拡張アプリケーションA241からのステップS920の指示を受けて、ステップS915で開始した印刷処理中画面1400の表示を終了する。
【0145】
拡張アプリケーションA241によって投入された印刷ジョブの実行時に用紙なしエラーや紙詰まりエラーが発生した際は、ネイティブプログラム210が操作部112に対し、エラー画面の表示指示を行う(ステップS921)。その後、操作部112はネイティブプログラム210からエラー画面表示指示を受けるとエラー画面の表示を行う(ステップS922)。例えば、用紙なしエラーが発生した場合、
図19に示すエラー画面1900が操作部112に表示される。エラー画面1900には、不足している用紙のサイズ/種別の情報と用紙の補給を促すメッセージ1902、用紙を給紙すべき給紙部が強調表示された画像形成装置401のイラストの表示欄1901、及びジョブの中止を行う中止ボタン1903が表示される。ボタン1906は、カセット1の詳細情報を表示するためのボタンであり、ユーザに選択されることにより不図示の詳細情報画面が表示される。また、ボタン1906には、カセット1の用紙残量を示す絵とカセット1に設定されている用紙のサイズ/種類が表示されている。
【0146】
また、本処理の実行中に拡張アプリケーションA241において何等かのエラーが発生した場合、拡張アプリケーションA241は、ステップS923において、
図16で後述するエラー処理を実行する。
【0147】
図10は、拡張アプリケーション240のインストールデータ(アプリケーションデータ1001)の構成を示す。
【0148】
アプリケーションデータ1001は、拡張アプリケーション240を構成するすべてのデータを1つに纏めたデータ(アーカイブ)である。
【0149】
アプリケーションデータ1001は、大きく3つのファイルに分けて構成される。
【0150】
1つ目のファイルは、拡張アプリケーション240の動作をプログラム言語で記述した、メインスクリプト1002、サーブレットスクリプト1003、ハンドラースクリプト1004、及び共通スクリプト1005を格納する。
【0151】
2つ目のファイルは、拡張アプリケーション240で利用する画像データや表示メッセージなどを格納するリソース1006,1007を格納する。
【0152】
3つ目のファイルは、アプリケーション名などを宣言するmetaデータ1008を格納する。
【0153】
メインスクリプト1002は、操作部112に表示されるアイコンが押下された時の動作を記載する。
【0154】
サーブレットスクリプト1003は、サーブレットサービス304の処理を行う。
【0155】
ハンドラースクリプト1004は、タイマー処理を行う。
【0156】
共通スクリプト1005は、メインスクリプト1002、サーブレットスクリプト1003、及びハンドラースクリプト1004が共通で利用する。
【0157】
拡張アプリケーション240を実行する際、メインスクリプト1002、サーブレットスクリプト1003、ハンドラースクリプト1004、及び共通スクリプト1005のうち必要なスクリプトだけがRAM102にロードされる。このため、無駄なメモリ消費を抑えることができる。
【0158】
図11は、画像形成装置401において、設定画面601でスケジュール設定が行われた複数ページからなるドキュメント(対象ファイル)を印刷する際、そのドキュメントの各ページがどのように処理されるかを示す図である。
【0159】
まず、拡張アプリケーションA241は、スケジュールされた曜日/時間になると、サーバ403の場所情報入力部606において入力された場所に保存される複数ページで構成されるドキュメント(対象ファイル)をダウンロードする(ステップS1101)。
【0160】
拡張アプリケーションA241は、このダウンロード中にデータを逐次印刷ジョブへ投入する(ステップS1102)。
【0161】
ネイティブプログラム210は、まず投入されたデータをスプールし(ステップS1103)、スプールされたデータをレンダリングした後(ステップS1104)、レンダリングされたデータをプリンタ195でプリントする(ステップS1105)。
【0162】
プリンタ195は、プリントされたデータを順次出力する(ステップS1106)。
【0163】
拡張アプリケーションA241は、ダウンロードした複数ページで構成されるドキュメントの全データを印刷ジョブへ投入し終わった時点で終了するが、その後も、その各データのスプール、レンダリング、プリントは継続される。
【0164】
図15は、
図6の設定画面601において各曜日におけるプリント実行時間の設定部613によって設定されたスケジュールで実行されるフォーム印刷処理のシーケンスである。
【0165】
尚、
図15のシーケンスにおいて、操作部112、及び拡張アプリケーションA241における処理は画像形成装置401のCPU101が、ストレージ104に格納されたプログラムに従って実行する。また、
図15のシーケンスにおけるサーバ403における処理はサーバ403内の不図示のCPUが同じくサーバ403内の不図示のストレージに格納されたプログラムに従って実行する。但し、以下の説明においては、各ステップの実行主体は、操作部112、拡張アプリケーションA241、及びサーバ403とする。
【0166】
本処理は、拡張アプリケーションA241は、設定画面601においてスケジュール設定された時刻となり、アプリケーション管理部302により起動させられた後、アプリケーション実行制御部305からタイマー処理実行指示を受けたときに開始する。
【0167】
ステップS1501において、拡張アプリケーションA241は、起動要因が、ボタン押下であるかスケジュールであるかを判定する。ここでは、起動時にアプリケーション実行制御部305からのタイマー処理実行指示を受けているので、起動要因はスケジュールであると判定し、ステップS1502に進む。尚、起動要因がボタン押下であると判定された場合については
図9を用いて前述した通りである。
【0168】
ステップS1502において、拡張アプリケーションA241は、画像形成装置401の電源管理状態がスリープ状態にある場合は、スリープ状態から画像形成装置401を復帰させる。
【0169】
ステップS1503~S1505,S1506~S1512では、夫々ステップS903~S905,S914~S920と同じ処理を行う。
【0170】
本処理の実行中に拡張アプリケーションA241において何等かのエラーが発生した場合、拡張アプリケーションA241は、ステップS1513において、
図16で後述するエラー処理を実行する。尚、また、ステップS1503の取得要求から所定時間経過内に対象ファイル情報がサーバ403から送信されなかった場合も、このエラー処理が実行される。
【0171】
図16は、本実施例に係る、
図9のステップS923及び
図15のステップS1513のエラー処理のフローチャートである。
【0172】
本処理は、ストレージ104に格納されたプログラムに従って、CPU101が実行する。但し、以下の説明においては、各ステップの実行主体は、拡張アプリケーションA241とする。
【0173】
拡張アプリケーションA241は、ステップS1601において、サーバ403からの対象ファイルのファイルデータの取得エラー(ファイル情報取得エラー)が発生しているか否かを判定する。判定の結果、ファイル情報取得エラーが発生している場合、ステップS1603に進み、ファイル情報取得エラーが発生していない場合、ステップS1602に進む。例えば、サーバ403から取得した対象ファイル情報が対象ファイルなしという特定結果を示す場合、ファイル情報取得エラーが発生していると判定される。また、ネットワークエラーにより、設定画面601においてスケジュール設定された時刻から規定時間内に対象ファイル情報が取得できなかった場合も、ファイル情報取得エラーが発生していると判定される。
【0174】
ステップS1602では、拡張アプリケーションA241は、投入した印刷ジョブに基づいてエラーなく印刷できたか(ファイル印刷エラーが発生したか)どうかを判定する。この判定の結果、エラーなく印刷できた場合は、本処理を終了する。一方、対象ファイルの内容が印刷未対応のフォーマットだった場合など、ファイル印刷エラーが発生したと判定し、ステップS1603に進む。
【0175】
ステップS1603において、拡張アプリケーションA241は、印刷ジョブの投入がステップS919又はステップS1511で行われているかどうかを判定する。尚、ファイル情報取得エラーが発生している場合は、印刷ジョブの投入は行われないが、ファイル印刷エラーが発生している場合は、印刷ジョブの投入は行われる。ステップS1603の判定の結果、印刷ジョブの投入が行われていない場合は、ステップS1604に進み、印刷ジョブの投入が行われている場合は、ステップS1605に進む。
【0176】
ステップS1604では、ジョブ履歴にエラーを記録するためのエラー記録用ジョブ投入処理を行い、ステップS1605に進む。エラー記録用ジョブ投入処理の詳細は
図21で後述する。
【0177】
ステップS1605では、拡張アプリケーションA241の起動要因を確認する。拡張アプリケーションA241がボタン押下によって起動された場合、ステップS1606に進み、拡張アプリケーションA241がスケジュールによって起動された場合、本処理を終了する。尚、ファイル印刷エラーの場合は印刷ジョブの投入は行われているため、ジョブ履歴にファイル印刷エラーは記録されるため、ユーザはジョブ履歴を参照すればスケジュール印刷時におけるファイル印刷エラーは確認することができる。
【0178】
ステップS1606では、拡張アプリケーションA241は、操作部112に対して、エラー原因の情報を含むエラー画面表示指示を送信し、本処理を終了する。操作部112はこのエラー画面表示指示を受けると、エラー画面1700の表示を行う。
【0179】
図17に例示するように、エラー画面1700には、ファイルの印刷に失敗した旨のメッセージと閉じるボタン1701が表示される。尚、
図17のエラー画面1700は例示であり、ファイル情報取得エラーが生じている場合は、その旨のメッセージが表示される。
【0180】
以上説明したように、本実施例では、拡張アプリケーションA241は、起動時にその起動要因を判定する。起動要因がユーザが画像形成装置401のそばにいないことが想定されるスケジュールである場合、印刷ジョブの投入後に発生するファイル印刷エラーのみならず、印刷ジョブの投入前に発生するファイル情報取得エラーについてもジョブ履歴として記録される。一方、起動要因がユーザが画像形成装置401のそばにいることが想定されるボタン押下である場合、さらに、ジョブ履歴エラー発生を検知したタイミングで随時、操作部112にエラー画面を表示する。これにより、フォーム印刷処理において発生したエラーを確実にユーザに通知することが出来る。
【0181】
図18は、画像形成装置401における、印刷ジョブの実行処理のフローチャートである。本処理は、ストレージ104に格納されたプログラムに従って、CPU101が実行する。
【0182】
まず、ステップS1801において、印刷ジョブが投入されると、ステップS1802に進み、投入された印刷ジョブを実行する。具体的には、プリンタ195を制御して、印刷ジョブに含まれる印刷データの印刷を行う。
【0183】
次にステップS1803で、実行した印刷ジョブの情報をジョブ履歴に書き込み、本処理を終了する。ここでジョブ履歴に書き込まれる情報には、タイトル、実行結果、ページ数が含まれる。
【0184】
ユーザは、
図18の処理によってジョブ履歴に書き込まれた、画像形成装置401で実行された全ての印刷ジョブの履歴情報は、操作部112にジョブ履歴確認画面2000を表示することにより確認することができる。
【0185】
図20は、操作部112に表示されたジョブ履歴確認画面2000を示す図である。
【0186】
ジョブ履歴確認画面2000は、ジョブ履歴の一覧表示する領域2001を持つ。
【0187】
領域2001は、
図18の処理によってジョブ履歴に書き込まれた印刷ジョブの情報(印刷ジョブの実行結果やタイトル等)を表示する他、ステップS1604のエラー記録用ジョブ投入処理によって投入されたエラー記録用ジョブの情報2002も含まれる。
【0188】
図21は、
図16のステップS1604のエラー記録用ジョブ投入処理のフローチャートである。本処理は、ストレージ104に格納されたプログラムに従って、CPU101が実行する。
【0189】
まず、ステップS2101において、拡張アプリケーションA241のエラーを記録するためのエラー記録用ジョブ情報を生成する。尚、エラー記録用ジョブ情報は、実行結果として「NG」、ページ数として「0」、及びタイトルとして、拡張アプリケーションA241により実行される処理内容:ボタン名:エラー内容を含む。
図20の情報2002は、このエラー記録用ジョブ情報に基づき表示される。尚、本実施例ではボタン名が表示されるが、拡張アプリケーションA241の識別情報であればよく、例えば、
図6の設定画面へのリンク情報であってもよい。
図20の情報2002には、
図21で示す情報の一部のみが含まれていてもよい。
【0190】
次にステップS2102において、エラー記録用印刷データを生成する。通常の印刷ジョブは、投入された印刷ジョブに含まれる印刷データの印刷を行う。しかし、本処理ではエラーをジョブ履歴に記録することが目的であり、実際に印刷を行うと紙などの資源を消費してしまう。従って、本ステップでは、かかる資源の消費を避けるため、プリンタ195が動作しないようなデータをエラー記録用印刷データとして生成する。尚、エラー記録用印刷データは空のデータであってもよい。
【0191】
次にステップS2103において、エラー記録用ジョブ情報及びエラー記録用印刷データを含むエラー記録用ジョブを生成し、これを投入した後、本処理を終了する。
【0192】
図21のエラー記録用ジョブ投入処理によれば、拡張アプリケーションA241においてファイル情報取得エラーが発生した場合、印刷ジョブの代わりにエラー記録用ジョブが生成・投入されるため、ファイル情報取得エラーについてもジョブ履歴に記録できる。また、エラー記録用ジョブの投入による資源の消費も避けることができる。
【0193】
(実施例2)
実施例1では、フォーム印刷の実行時に、ファイル情報取得エラーが発生した場合、エラー記録用ジョブを投入することによって、ユーザにフォーム印刷処理でエラーが発生したことを通知した。これに対し、本実施例では、フォーム印刷の実行時に、ファイル情報取得エラーが発生した際に、エラーレポートを印刷することによって、ユーザにフォーム印刷処理でファイル情報取得エラーが発生したことを通知する例を説明する。
【0194】
本実施例では、実施例1と同様のハードウェア、ソフトウェア、処理については、同一の符号を付し、重複した説明は省略する。
【0195】
図22は、本実施例に係る、
図9のステップS923及び
図15のステップS1513のエラー処理のフローチャートである。
【0196】
本処理は、ストレージ104に格納されたプログラムに従って、CPU101が実行する。但し、以下の説明においては、各ステップの実行主体は、拡張アプリケーションA241とする。
【0197】
拡張アプリケーションA241は、ステップS2201において、ステップS1601と同様に、ファイル情報取得エラーが発生しているかどうかを判定する。判定の結果、ファイル情報取得エラーが発生している場合、ステップS2203に進み、ファイル情報取得エラーが発生していない場合、ステップS2202に進む。
【0198】
ステップS2202では、ステップS1602と同様に、ファイル印刷エラーが発生したかどうかを判定する。この判定の結果、エラーなく印刷できた場合は、本処理を終了する。一方、ファイル印刷エラーが発生した場合、ステップS2203に進む。
【0199】
ステップS2203において、拡張アプリケーションA241は、ステップS1605と同様に、拡張アプリケーションA241の起動要因を確認する。拡張アプリケーションA241がボタン押下によって起動された場合、ステップS2206に進み、拡張アプリケーションA241がスケジュールによって起動された場合、ステップS2204に進む。
【0200】
ステップS2204において、エラーレポートの印刷を行うか否かの設定を、拡張アプリケーションA241の側の設定ではなく、画像形成装置401の側のエラーレポートを印刷する拡張アプリケーション240に対する一括設定から確認する。確認の結果、印刷を行わない設定である場合は、本処理を終了する一方、印刷を行う設定である場合は、ステップS2205に進む。
【0201】
ステップS2205において、拡張アプリケーションA241(エラーレポート印刷手段)は、エラーの内容を示すエラーレポートを生成し、そのエラーレポートの印刷指示をプリンタ195に対して行い、本処理を終了する。
【0202】
ステップS2206において、拡張アプリケーションA241は、ステップS1606と同様に、操作部112に対して、エラー原因の情報を含むエラー画面表示指示を送信し、本処理を終了する。操作部112はこのエラー画面表示指示を受けると、エラー画面1700の表示を行う。
【0203】
図22の処理によれば、エラーレポートを印刷する拡張アプリケーション240毎に、ユーザがエラーレポートを印刷するか否かの設定を行う必要をなくすことができる。また、フォーム印刷時における、印刷ジョブ投入前に生じたエラー(ファイル情報取得エラー)の検出結果と、印刷ジョブ投入後に生じたエラー(ファイル印刷エラー)の検出結果とが1つのエラーレポートとしてまとめられる。これにより、ユーザはフォーム印刷時に発生したエラーを把握しやすくなる。
【0204】
図23は、
図22のステップS2205で印刷されるエラーレポートの例である。ここでは、拡張アプリケーションA241により実行されるフォーム印刷時に発生したエラーについてのエラーレポート2300を例に挙げて説明する。
【0205】
図23において、エラーレポート2300は、そのスケジュールされた印刷日時2301と、拡張アプリケーションA241により実行される処理内容2302と、拡張アプリケーションA241のボタン名2303と、エラー内容2304から構成される。尚、本実施例ではボタン名が表示されるが、拡張アプリケーションA241の識別情報であればよく、例えば、
図6の設定画面へのリンク情報であってもよい。また、エラーレポート2300には、
図23で示す情報の一部のみが含まれていてもよい。
【0206】
本実施例に係るエラー処理によれば、フォーム印刷時においてエラーレポートが印刷される。このため、そのフォーム印刷が画像形成装置401のそばにユーザがいない間に行われた場合も、ユーザはそのエラーレポートを確認することで、すぐにエラーを確認することが出来る。
【0207】
また、複数ファイルのスケジュール印刷の途中に印刷エラーが発生した時に、そのエラー発生時にエラーレポートを印刷するのではなく、複数ファイルの全ての印刷が終了した後にエラーレポートを印刷する。これにより、エラーレポートが他の印刷結果に紛れることなくユーザがエラーに気づきやすくすることができる。
【0208】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0209】
101 CPU
104 ストレージ
110 ネットワークI/F
112 操作部
195 プリンタ
241 拡張アプリケーションA
400 印刷システム
401 画像形成装置
403 サーバ
404 イーサネット