JP6961412B2 - 画像形成装置、画像形成装置の制御方法、およびプログラム - Google Patents

画像形成装置、画像形成装置の制御方法、およびプログラム Download PDF

Info

Publication number
JP6961412B2
JP6961412B2 JP2017140829A JP2017140829A JP6961412B2 JP 6961412 B2 JP6961412 B2 JP 6961412B2 JP 2017140829 A JP2017140829 A JP 2017140829A JP 2017140829 A JP2017140829 A JP 2017140829A JP 6961412 B2 JP6961412 B2 JP 6961412B2
Authority
JP
Japan
Prior art keywords
application
image processing
executed
image forming
forming apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017140829A
Other languages
English (en)
Other versions
JP2018020562A (ja
Inventor
祐人 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US15/658,044 priority Critical patent/US10447881B2/en
Publication of JP2018020562A publication Critical patent/JP2018020562A/ja
Application granted granted Critical
Publication of JP6961412B2 publication Critical patent/JP6961412B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • H04N1/00941Interaction of different applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00965Input arrangements for operating instructions or parameters, e.g. updating internal software using a plug-in memory module, e.g. memory card, memory stick
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/0097Storage of instructions or parameters, e.g. customised instructions or different parameters for different user IDs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、画像形成装置、画像形成装置の制御方法、およびプログラムに関し、特に、画像形成装置でジョブを実行するために用いて好適なものである。
従来、画像形成装置において、各種ジョブに対し、画像形成装置において工場出荷時から提供されていない画像処理を実現する技術として特許文献1に記載の技術がある。特許文献1には、常駐エージェント(プリンタ制御オブジェクトおよびイメージスキャナ制御オブジェクト)を有する画像形成装置に、プリントデータに対する処理を代行するモバイルエージェントを転送することが記載されている。
特開2006−48725号公報
しかしながら、特許文献1に記載の構成では、モバイルエージェントと常駐エージェントとが独立して存在する。その結果、モバイルエージェントと常駐エージェントは共通の制御ライブラリを利用することはできても、それぞれが連携して動作することができない。従って、新規画像処理をプラグインとして追加したい場合、常駐エージェントとは別に新規モバイルエージェントとして追加する必要がある。しかしながら、この時、新規モバイルエージェントは、ユーザが使い慣れた常駐エージェントの画面や、常駐エージェントに登録済みのユーザ設定などを引き継ぐことができないため、ユーザの利便性の低下を招く虞がある。
本発明は、このような問題点に鑑みてなされたものであり、ジョブを実行するための既存のアプリケーションを用いて、画像形成装置に追加された処理を実行できるようにすることを目的とする。
本発明の画像形成装置は、画像形成装置であって、前記画像形成装置がジョブを実行するために用いられる第1のアプリケーションを記憶する第1の記憶手段と、前記第1のアプリケーションに対する実行指示に伴って前記画像形成装置に第1の処理を実行させるための第2のアプリケーションを記憶する第2の記憶手段と、前記第1のアプリケーションに対する実行指示に伴って前記画像形成装置または外部装置に第2の処理を実行させるための第3のアプリケーションを外部の記憶媒体または記憶装置から取得する取得手段と、前記取得手段が取得した前記第3のアプリケーションを記憶する第3の記憶手段と、前記第1のアプリケーションが前記ジョブの実行指示を受け付けた場合、前記第1のアプリケーションからのリクエストに従って、実行すべきアプリケーションを前記第2のアプリケーションおよび前記第3のアプリケーションのうちから選択する選択手段と、前記選択手段が選択したアプリケーションを、前記第1のアプリケーションの実行に伴って実行させる制御を行う制御手段と、前記第1のアプリケーションからの前記リクエストに伴って実行すべきアプリケーションを、前記選択手段により前記第2のアプリケーションおよび前記第3のアプリケーションのいずれからも選択されない場合に、前記ジョブを中止する中止手段と、を有することを特徴とする。
本発明によれば、ジョブを実行するための既存のアプリケーションを用いて、画像形成装置に追加された処理を実行することができる。
画像形成システムの構成を表す図である。 画像形成装置の構成を表す図である。 第一の実施形態における画像形成装置のソフトウェア構造を表す図である。 第一の実施形態におけるジョブ実行時の画像形成装置の処理を説明するフローチャートである。 S407の処理の第1の例を説明するフローチャートである。 S407の処理の第2の例を説明するフローチャートである。 第二の実施形態における画像形成装置のソフトウェア構造を表す図である。 第二の実施形態におけるジョブ実行時の画像形成装置の処理を説明するフローチャートである。 第三の実施形態における画像形成装置のソフトウェア構造を表す図である。 第三の実施形態における単独機能プラグインアプリケーションが画像処理を実行する例を説明するフローチャートである。
以下、図面を参照しながら、実施形態を説明する。
[第一の実施形態]
まず、第一の実施形態を説明する。
図1は、画像形成システムの構成の一例を表す図である。画像形成システムは、画像形成装置101、102と、情報処理端末103、104と、サーバ105とを有する。画像形成装置101、102と、情報処理端末103、104と、サーバ105は、ネットワーク106により相互に接続されて、通信可能である。図1では、画像形成装置101、102が2つである場合を例に挙げて示すが、画像形成装置の数は任意(1つまたは2以上)である。また、それぞれの画像形成装置101、102は、同じもので実現することができる。従って、以下では、画像形成装置101、102を代表して画像形成装置101について説明し、画像形成装置102についての詳細な説明を省略する。尚、ネットワーク106は、LAN(Local Area Network)、Internet等、画像形成システム内の装置が相互に通信できるものであればよい。
画像形成装置101は、情報処理端末103、104から画像データの印刷依頼(印刷データ)を受信して印刷することや、画像形成装置101に備わるスキャナで画像データを読み取ることや、スキャナで読み取られた画像データを印刷することが可能である。また、画像形成装置101は、情報処理端末103、104から受信した印刷データを保存したり、画像形成装置101のスキャナで読み取られた画像を情報処理端末103、104に送信したりすることが可能である。更に画像形成装置101は、サーバ105を用いて画像処理を行ったり、サーバ105に格納されている文書を印刷したりすることが可能である。画像形成装置101は、この他に、MFP(Multifunction Peripheral)等の公知の画像形成装置が有する機能を実現することが可能である。
図2は、画像形成装置101の構成の一例を表す図である。
画像形成装置101は、コントローラ201、プリンタ202、スキャナ203、および操作部204を有する。コントローラ201は、CPU211、RAM212、HDD213、ネットワークI/F214、プリンタI/F215、スキャナI/F216、操作部I/F217、および拡張I/F218を有する。CPU211は、RAM212、HDD213、ネットワークI/F214、プリンタI/F215、スキャナI/F216、操作部I/F217、および拡張I/F218とデータを授受することが可能である。また、CPU211は、HDD213から読み出した命令をRAM212に展開し、RAM212に展開した命令を実行する。
HDD213には、CPU211で実行可能な命令、画像形成装置101で使用する設定値、およびユーザから依頼された処理に関するデータ等を記憶しておくことが可能である。RAM212は、CPU211がHDD213から読み出した命令を一時的に格納するための領域である。RAM212は、命令の実行に必要な各種のデータを記憶しておくことが可能である。ネットワークI/F214は、画像形成システム内の装置とネットワーク通信を行うためのインターフェイスである。ネットワークI/F214は、データ受信を行ったことをCPU211に伝達することや、RAM212上のデータをネットワーク106に送信することが可能である。
プリンタI/F215は、CPU211から送信された印刷データをプリンタ202に送信することや、プリンタ202から受信したプリンタの状態をCPU211に伝達することが可能である。スキャナI/F216は、CPU211から送信された画像読み取り指示をスキャナ203に送信し、スキャナ203から受信した画像データをCPU211に伝達することや、スキャナ203から受信した状態をCPU211に伝達することが可能である。
操作部I/F217は、操作部204から入力されたユーザからの指示をCPU211に伝達することや、ユーザが操作するための画面情報を操作部204に伝達することが可能である。拡張I/F218は、画像形成装置101に外部機器を接続することを可能とするインターフェイスである。拡張I/F218は、例えば、USB(Universal Serial Bus)形式のインターフェイスを具備する。画像形成装置101は、USBメモリ等の外部記憶装置が拡張I/F218に接続されることにより、当該外部記憶装置に記憶されているデータの読み取りおよび当該外部記憶装置に対するデータの書き込みを行うことが可能である。
プリンタ202は、プリンタI/F215から受信した画像データを用紙に印刷することや、プリンタ202の状態をプリンタI/F215に伝達することが可能である。スキャナ203は、スキャナI/F216から受信した画像読み取り指示に従って、自身に置かれた用紙に表示されている情報を読み取ってデジタル化してスキャナI/F216に伝達することが可能である。また、スキャナ203は、自身の状態をスキャナI/F216に伝達することが可能である。操作部204は、画像形成装置101に対して各種の指示を行うための操作をユーザに行わせるためのインターフェイスである。例えば、操作部204は、タッチパネルを有する液晶画面を具備し、ユーザに操作画面を提供すると共に、ユーザからの操作を受け付ける。
図3は、CPU211が処理するソフトウェアの構造の一例を模式的に表す階層図である。図3に示す構造を有するソフトウェアは、例えば、画像形成装置101のHDD213に記憶されたプログラムを用いることにより構成される。図3において、一部の例外を除いて、下位の階層が提供するサービスを上位の階層が利用する関係になっている。
図3において、最下層は、オペレーティングシステム316を含み、プログラムの実行の管理やメモリ管理等を行う階層である。オペレーティングシステム316の中には、プリンタ制御ドライバ317、スキャナ制御ドライバ318、およびネットワークI/F制御ドライバ319が組み込まれる。プリンタ制御ドライバ317、スキャナ制御ドライバ318、およびネットワークI/F制御ドライバ319は、相互に連携することにより機能することが可能である。プリンタ制御ドライバ317はプリンタI/F215を介してプリンタ202を制御するためのソフトウェアである。スキャナ制御ドライバ318はスキャナI/F216を介してスキャナ203を制御するためのソフトウェアである。ネットワークI/F制御ドライバ319はネットワークI/F214を制御するためのソフトウェアである。
最下層から2段目の層には、デバイス制御ライブラリ309が含まれる。デバイス制御ライブラリ309は、後述の単独機能プラグインアプリケーション302またはデバイス制御アプリケーション304と静的あるいは動的にリンクされる。さらにデバイス制御ライブラリ309は、各アプリケーションプログラムによる指示に基づいて、オペレーティングシステム316を制御する。また、各デバイス制御ライブラリ309は、接続ライブラリ314に対して画像処理を依頼する。画像処理を依頼する一連のフローの一例については後述する。
次に、デバイス制御ライブラリ309の一例について説明する。
プリントライブラリ310は、プリンタ制御ドライバ317の機能を利用してプリントジョブの制御を行うためのAPI(Application Programming Interface)を提供するライブラリである。プリントジョブは、画像形成装置101のHDD213に保存されている印刷データを印刷することや、ネットワークI/F214を通して外部装置から受信した印刷データを印刷するといった一連の処理を指す。外部装置は、例えば、情報処理端末103、104である。
コピーライブラリ311は、スキャナ制御ドライバ318およびプリンタ制御ドライバ317の機能を利用して、コピージョブの制御を行うためのAPIを提供するライブラリである。コピージョブは、スキャナ203でスキャンされた画像データをプリンタ202で印刷する一連の処理を指す。
スキャン保存ライブラリ312は、スキャナ制御ドライバ318の機能を利用してスキャン保存ジョブの制御を行うためのAPIを提供するライブラリである。スキャン保存ジョブは、スキャナ203でスキャンされた画像データを印刷データまたは汎用フォーマットに変換後、HDD213または拡張I/F218に接続されているUSB等の外部記憶装置に保存する一連の処理を指す。尚、汎用フォーマットは、例えば、PDF(Portable Document Format)やJPEG(Joint Photographic Experts Group)といったデータフォーマットである。
スキャン送信ライブラリ313は、スキャナ制御ドライバ318およびネットワークI/F制御ドライバ319の機能を利用して、スキャン送信ジョブの制御を行うためのAPIを提供するライブラリである。スキャン送信ジョブは、スキャナ203でスキャンされた画像データを汎用フォーマットに変換後、ネットワークI/F214を通してファイルサーバに送信したり、電子メールに添付して外部装置に送信したりする一連の処理を指す。ファイルサーバは、例えば、サーバ105であり、外部装置は、例えば、情報処理端末103、104である。
最下層から2段目の層には、さらに接続ライブラリ314および画像処理ライブラリ315が含まれる。
画像処理ライブラリ315は、CPU211によって実行される様々な画像処理を実行するためのAPIを提供するライブラリである。ここでの様々な画像処理は、工場出荷時より画像形成装置101で利用可能な処理を指す。かかる画像処理は、例えば、画像形成装置101に入力された画像データを汎用フォーマットに変換する処理、シャープネス処理、およびページ集約を含む。尚、画像処理ライブラリ315の数は1つであっても複数であってもよい。画像処理ライブラリ315のそれぞれは固有の画像処理名としてImagingName326を保有する。例えば、シャープネス機能を持つ画像処理ライブラリ315は、ImagingName326としてSharpnessを保有する。尚、ImagingName326は、接続ライブラリ314が、HDD213に保存された画像処理ライブラリ315および後述する画像処理プラグインアプリケーション303の中から適したモジュールを選定するために用いられる。
接続ライブラリ314は、デバイス制御ライブラリ309から画像処理実行依頼を受けると、その内容に応じて、画像処理ライブラリ315および後述する画像処理プラグインアプリケーション303を呼び分け、画像処理を行う。尚、接続ライブラリ314による、画像処理ライブラリ315および後述する画像処理プラグインアプリケーション303の呼び分け方法の一例については後述する。
最上層は、プラグインアプリケーション301およびデバイス制御アプリケーション304を含む成り立つアプリケーション層である。デバイス制御アプリケーション304は、デバイス制御ライブラリ309の各APIをコールすることによって様々な機能を提供する。尚、デバイス制御アプリケーション304は、HDD213に記憶されている常駐のアプリケーションである。デバイス制御アプリケーション304は、ファームのバージョンアップにより、その機能を拡張することが可能である。デバイス制御アプリケーション304に含まれるプリントアプリケーション305、コピーアプリケーション306、スキャン保存アプリケーション307、スキャン送信アプリケーション308は、それぞれ画面情報322、323、324、325を有する。CPU211は、操作部I/F217を通して操作部204にそれぞれの画面情報322、323、324、325を表示する。CPU211は、ユーザが操作部204を操作することによりデバイス制御アプリケーション304の設定の変更を検知すると、その変更の内容をHDD213に書き込む。デバイス制御アプリケーション304は、この段階で、必要に応じて各ジョブの設定にImagingNameを設定する。尚、この設定は、例えば、ユーザが操作部204を押下することによる画像処理の選択によって行われる。また、CPU211は、各ジョブに必要な画像処理を自動で設定することも可能である。また、ImagingNameは、デバイス制御アプリケーション304のみならずデバイス制御ライブラリ309が設定することも可能である。デバイス制御ライブラリ309が画像処理名を設定するケースとして、例えば、デバイス制御ライブラリ309がオペレーティングシステム316を制御するにあたり必要な画像処理がある場合、当該画像処理についての画像処理名を設定するケースがある。ジョブに用いられる画像処理の数が複数である場合には、それぞれの画像処理に対応するImagingNameが設定される(即ち、複数のImagingNameが設定される)。また、ジョブの実行に際し、画像処理プラグインアプリケーション303等、画像処理を伴うアプリケーション(即ち、画像処理を行うこと)が選択されなかった場合、画像処理名は設定されない。CPU211(デバイス制御アプリケーション304)は、ユーザによる操作部204の操作に基づくジョブ実行を検知すると、デバイス制御ライブラリ309のAPIをコールすることによりジョブを開始する。
次に、デバイス制御アプリケーション304の一例について説明する。プリントアプリケーション305は、プリントライブラリ310のAPIをコールすることによりプリントジョブを実行する。コピーアプリケーション306は、コピーライブラリ311のAPIをコールすることによりコピージョブを実行する。スキャン保存アプリケーション307は、スキャン保存ライブラリ312のAPIをコールすることによりスキャン保存ジョブを実行する。スキャン送信アプリケーション308は、スキャン送信ライブラリ313のAPIをコールすることでスキャン送信ジョブを実行する。
次に、プラグインアプリケーション301の一例について説明する。プラグインアプリケーション301は、常駐アプリケーションであるデバイス制御アプリケーション304とは別に、プラグインとしてインストールおよびアンインストールが可能なアプリケーションである。プラグインアプリケーション301は、単独機能プラグインアプリケーション302と、画像処理プラグインアプリケーション303とを有する。プラグインアプリケーション301には、それぞれ動作に必要なプログラムがパッケージングされている。プラグインアプリケーション301は、リモートUI(UserInterface)等を用いることにより、画像形成装置101にインストールされる。尚、リモートUIは、外部装置におけるWebブラウザからネットワークI/F214を経由して画像形成装置101にアクセスし、画像形成装置101の状況の確認、印刷ジョブの操作、および各種設定などを行うことができる仕組みである。外部装置は、例えば、情報処理端末103、104である。また、プラグインアプリケーション301のそれぞれ(単独機能プラグインアプリケーション302および画像処理プラグインアプリケーション303)は、それぞれ個別に起動および停止を行うことが可能である。
以下に、プラグインアプリケーション301のインストールから起動、停止、アンインストールまでの一連の流れの一例を示す。
CPU211は、プラグインアプリケーション301のインストールを検知すると、当該プラグインアプリケーション301の情報をHDD213に保存する。続いてCPU211は、プラグインアプリケーション301に対する開始指示を検知すると、当該プラグインアプリケーション301に対する起動指示を行う。プラグインアプリケーション301は起動している間、各プログラムの内容を実行する事が可能である。続いてCPU211は、プラグインアプリケーション301に対する停止指示を検知すると、当該プラグインアプリケーション301に対して停止指示を行う。更にCPU211は、プラグインアプリケーション301に対するアンインストール指示を検知すると、当該プラグインアプリケーション301の情報をHDD213から削除する。尚、これらの指示は、例えば、リモートUIや操作部204から行うことが可能であるが、これ以外でこれらの指示が行われても構わない。
次に、単独機能プラグインアプリケーション302の一例について説明する。単独機能プラグインアプリケーション302は、画面情報320を有する。単独機能プラグインアプリケーション302は、デバイス制御ライブラリ309のAPIをコールすることで常駐のデバイス制御アプリケーション304とは別の機能や画面をユーザに提供することができる。例えば、単独機能プラグインアプリケーション302は、或る画像データをコピーすると共にスキャンして送信する機能等、複数の機能を組み合わせて提供することが可能である。また、単独機能プラグインアプリケーション302は、画面情報320に対するユーザの操作に基づく画像処理の設定を検知すると、ジョブの設定に、当該画像処理に対応する画像処理名としてImagingNameを設定する。単独機能プラグインアプリケーション302は、ユーザからの明示的な設定がなくても、デフォルトで実現したい画像処理のImagingNameを設定することが可能である。尚、単独機能プラグインアプリケーション302は、画像処理を行う機能を有していなくてもよい。この場合、画像処理の設定は行われない。接続ライブラリ314は、以上のようにして設定されたImagingNameを元に必要な画像処理モジュールを選択し、画像処理を実行する。尚、画像処理モジュールの選択方法の一例については後述する。更に、デバイス制御ライブラリ309は、印刷データまたは汎用フォーマットに変換後の画像データを受信すると、適切なオペレーティングシステム316に対して処理制御を指示し、ジョブを実行させる。
次に、画像処理プラグインアプリケーション303の一例について説明する。画像処理プラグインアプリケーション303は、特定の画像処理を提供するアプリケーションである。画像処理プラグインアプリケーション303は、1つであっても複数であってもよい。ここでの特定の画像処理は、画像処理ライブラリ315とは別に拡張する画像処理を指す。例えば、入力画像に対するフォーマット変換や、斜行補正や、OCR(optical character recognition)後の翻訳データの生成といった処理等が、特定の画像処理に含まれる。
画像処理プラグインアプリケーション303は、それ自体が画像処理機能を持っていなくてもよい。例えば、サーバ105に画像処理のプログラムが存在している場合、画像処理プラグインアプリケーション303は、ネットワークI/F214を通し、サーバ105に対して画像処理の指示を送信することで、画像処理を実現することが可能である。画像処理プラグインアプリケーション303のそれぞれは、自身が実行する画像処理の内容を識別するための識別子としてImagingName321を保持する。例えば、斜行補正を行う画像処理プラグインアプリケーション303には、ImagingName321として"TiltCorrect"が設定される。ImagingName321は固有であり、同じImagingName321を持つ複数の画像処理プラグインアプリケーション303は画像形成装置101のHDD213に存在しない。即ち、画像形成装置101に既にインストールされた画像処理プラグインアプリケーション303とImagingName321が同じ画像処理プラグインアプリケーション303を画像形成装置101にインストールすることはできない。デバイス制御ライブラリ309は、接続ライブラリ314に対して画像処理を依頼する際、ImagingNameおよび処理の詳細なパラメータを設定する。接続ライブラリ314は、ジョブに設定されたImagingNameを元に画像処理プラグインアプリケーション303および画像処理ライブラリ315を呼び分けことが可能である。これら呼び分け方の詳細の一例については後述する。接続ライブラリ314が画像処理プラグインアプリケーション303に対して処理の依頼を行う部分は、図3において、下位モジュールが上位モジュールに対してコールすることが可能な部分である。画像形成装置101は、プラグインアプリケーション301と同様に、リモートUI等を用いて、画像処理プラグインアプリケーション303を画像形成装置101にインストールし起動することで、画像処理プラグインアプリケーション303を認識できる。
以上の例では、例えば、デバイス制御アプリケーション304が、HDD213に記憶されることにより、画像形成装置がジョブを実行するために用いられる第1のアプリケーションを記憶する第1の記憶処理の一例が実現される。また、画像処理ライブラリ315およびImagingName326が、HDD213に記憶されることにより第2の記憶処理の一例が実現される。また、例えば、外部の記憶媒体または記憶装置に記憶されているプラグインアプリケーション301のインストールにより、画像形成装置または外部装置に処理を実行させるために用いられる第3のアプリケーションを取得する取得処理の一例が実現される。また、例えば、インストールされたプラグインアプリケーション301をHDD213に記憶することにより第3の記憶処理の一例が実現される。尚、情報の記憶は、HDD213以外の記憶媒体または記憶装置で行われてもよい。
図4は、ジョブ実行時の画像形成装置101の処理の一例を説明するフローチャートである。本フローチャートで示す処理に係るプログラムは画像形成装置101のHDD213に格納されており、RAM212によって呼び出され、CPU211によって実行される。図3および図4を用いて、ジョブ実行時の一連の処理の流れについて説明する。
ジョブのそれぞれは、当該ジョブの設定値と、当該ジョブで扱う画像データとを含む。ジョブの設定値には、当該ジョブで実行される画像処理の画像処理名としてImagingNameを設定することができる。
CPU211は、デバイス制御アプリケーション304において、操作I/F217からジョブの実行指示を検知すると(S401)、当該ジョブの実行に際し、各アプリケーションにおいて実行が必要な画像処理が存在するか否かを判定する。CPU211は、各アプリケーションにおいて実行が必要な画像処理が存在する場合、当該画像処理のImagingNameをジョブの設定値として設定する。尚、ジョブの実行時に必要な画像処理は、ジョブ実行の指示を行う前にユーザが画像形成装置101に対して設定することとしてもよい。また、所定の内容のジョブを実行する場合に必要な画像処理の内容を予め画像形成装置101が記憶しておき、当該所定の内容のジョブの実行が指示された場合に、CPU211が、その画像処理を呼び出すこととしてもよい。
続いて、CPU211は、デバイス制御ライブラリ309のAPIをコールする。CPU211によってコールされたデバイス制御ライブラリ309は、当該ジョブの実行に際し、各デバイスの制御において実行が必要な画像処理が存在する場合、当該画像処理のImagingNameをジョブの設定値として追加する。このように、ジョブの実行指示後に、デバイス制御ライブラリ309でも、ImagingNameを設定することができる。続いて、デバイス制御ライブラリ309は、ジョブの設定値にImagingNameが設定されているか否かによって、ジョブに画像処理が含まれるか否かを判定する(S402)。つまり、デバイス制御ライブラリ309は、ジョブの設定値にImagingNameが設定されている場合に、ジョブに画像処理が含まれると判定する。そして、デバイス制御ライブラリ309は、ジョブの設定値にImagingNameが設定されていない場合、ジョブに画像処理が含まれないと判定する。
デバイス制御ライブラリ309は、ジョブに画像処理が含まれないと判定した場合、オペレーティングシステム316の必要なドライバに対して制御依頼を行い、ジョブを実行させる(S403)。そして、図4のフローチャートによる処理が終了する。
デバイス制御ライブラリ309は、ジョブに画像処理が含まれると判定した場合、接続ライブラリ314のAPIをコールする(S404)。接続ライブラリ314は、ジョブの設定値に設定されたImagingNameが示す画像処理を画像処理ライブラリ315で実現できるか否かを判定する(S405)。以下に、この判定の方法の一例を示す。
第1の判定方法では、まず、接続ライブラリ314は、画像処理ライブラリ315から、画像処理ライブラリ315のそれぞれで処理できる画像処理名としてImagingName326のリストを取得する。そして、接続ライブラリ314は、デバイス制御ライブラリ309から受信したImagingNameと、ImagingName326のリストに含まれるImagingName326とを比較する。即ち、接続ライブラリ314は、ImagingName326のリストに含まれるImagingName326の中に、デバイス制御ライブラリ309から受信したImagingNameと一致するものがあるか否かを判定する。接続ライブラリ314は、一致するものがある場合、ジョブの設定値に設定されたImagingNameが示す画像処理を画像処理ライブラリ315で実現できると判定する。一方、一致するものがない場合、接続ライブラリ314は、ジョブの設定値に設定されたImagingNameが示す画像処理を画像処理ライブラリ315で実現できないと判定する。
第2の判定方法では、まず、接続ライブラリ314は、画像処理ライブラリ315に対して、デバイス制御ライブラリ309から受信したImagingNameが示す画像処理の実行依頼を行う。そして、接続ライブラリ314は、デバイス制御ライブラリ309から受信したImagingNameが示す画像処理を画像処理ライブラリ315で実行できた場合、当該画像処理を画像処理ライブラリ315で実現できると判定する。一方、デバイス制御ライブラリ309から受信したImagingNameが示す画像処理を画像処理ライブラリ315で実行できなかった場合、接続ライブラリ314は、当該画像処理を画像処理ライブラリ315で実現できないと判定する。
以上の第1の判定方法および第2の判定方法では、接続ライブラリ314は、画像処理ライブラリ315との通信の結果を用いて、ジョブの設定値に設定されたImagingNameが示す画像処理を画像処理ライブラリ315で実現できるか否かを判定する。尚、ジョブの設定値に設定されたImagingNameが示す画像処理を画像処理ライブラリ315で実現できるか否かを判定する方法は、前述した第1の判定方法および第2の判定方法以外の方法でも構わない。
接続ライブラリ314は、画像処理ライブラリ315で画像処理を実現できると判定すると、画像処理ライブラリ315のAPIをコールして画像処理を実行させ、デバイス制御ライブラリ309に対して、画像処理後の画像データを送信する(S406)。デバイス制御ライブラリ309は、オペレーティングシステム316の必要なドライバに対して制御依頼を行い、ジョブを実行させる(S403)。そして、図4のフローチャートによる処理が終了する。
接続ライブラリ314は、画像処理ライブラリ315で画像処理を実現できないと判定すると、当該画像処理を画像処理プラグインアプリケーション303で実現できるか否かを判定する(S407)。この判定の方法の一例については後述する。当該画像処理を画像処理プラグインアプリケーション303で実現できる場合、接続ライブラリ314は、当該画像処理プラグインアプリケーション303のAPIに対して処理依頼を行い、画像処理を実行させる(S408)。そして、デバイス制御ライブラリ309は、画像処理プラグインアプリケーション303で画像処理が行われた画像データを受け取った後、オペレーティングシステム316の必要なドライバに対して制御依頼を行い、ジョブを実行させる(S403)。そして、図4のフローチャートによる処理が終了する。
一方、当該画像処理を画像処理プラグインアプリケーション303で実現できないと判定されると、接続ライブラリ314は、次の処理を行う。即ち、接続ライブラリ314は、当該画像処理を実行できないためにジョブが実行できないことを示す情報を操作部204に表示し、実行中のジョブを中止する(S409)。そして、図4のフローチャートによる処理が終了する。
尚、図4では、画像処理ライブラリ315で画像処理を実現できるか否かを判定してから、当該画像処理を画像処理プラグインアプリケーション303で実現できるか否かを判定する場合を例に挙げて説明した(S405、S407)。しかしながら、これとは逆に、画像処理プラグインアプリケーション303で画像処理を実現できるか否かを判定してから、当該画像処理を画像処理ライブラリ315で実現できるか否かを判定してもよい。
図4に示す例では、例えば、S405.S407における判定が行われることにより、選択処理の一例が実現される。また、例えば、S406、S408において、画像処理が実行されることにより、制御処理の一例が実現される。
続いて、画像処理プラグインアプリケーション303が、ジョブの設定値に設定されたImagingNameが示す画像処理を実現できるか否かを判定する方法(即ち、S407の判定の方法)の一例を示す。
図5は、画像処理プラグインアプリケーション303が、ジョブの設定値に設定されたImagingNameが示す画像処理を実現できるか否かを判定する第1の判定方法(S407の第1の判定方法)を説明するフローチャートである。S405にて、ジョブの設定値に設定されたImagingNameが示す画像処理を画像処理ライブラリ315で実現できないと判定されると、図5のフローチャートの実行が開始する。
接続ライブラリ314は、画像形成装置101に登録されている画像処理プラグインアプリケーション303のそれぞれに関連付けられているImagingName321のリストを取得する(S501)。続いて接続ライブラリ314は、当該リストに、ジョブの設定値に設定されたImagingNameが存在するか否かを判定する(S502)。接続ライブラリ314は、ジョブの設定値に設定されたImagingNameが存在すると判定すると、前述したS408の処理を行う。即ち、接続ライブラリ314は、ImagingNameが一致する画像処理プラグインアプリケーション303のAPIに対して処理依頼を行い、画像処理を実行させる(S408)。一方、ジョブの設定値に設定されたImagingNameが存在しないと判定すると、接続ライブラリ314は、画像処理プラグインアプリケーション303では、当該ImagingNameの画像処理を実行できないと判定する。そこで、前述したように、接続ライブラリ314は、当該画像処理を実行できないためにジョブが実行できないことを示す情報を操作部204に表示し、実行中のジョブを中止する(S409)。
図6は、画像処理プラグインアプリケーション303が、ジョブの設定値に設定されたImagingNameが示す画像処理を実現できるか否かを判定する第2の判定方法(S407の第2の判定方法)を説明するフローチャートである。図5と同様に、S405にて、ジョブの設定値に設定されたImagingNameが示す画像処理を画像処理ライブラリ315で実現できないと判定されると、図6のフローチャートの実行が開始する。
接続ライブラリ314は、ImagingNameの比較をしていない画像処理プラグインアプリケーション303が存在するか否かを判定する(S601)。この比較は、デバイス制御ライブラリ309から依頼された画像処理のImagingName(即ち、ジョブの設定値としてのImagingName)と画像処理プラグインアプリケーション303の保持するImagingName321との比較を指す。
ImagingNameの比較をしていない画像処理プラグインアプリケーション303が存在しない場合、接続ライブラリ314は、画像処理プラグインアプリケーション303では、当該ImagingNameの画像処理を実行できないと判定する。そこで、前述したように、接続ライブラリ314は、当該画像処理を実行できないためにジョブが実行できないことを示す情報を操作部204に表示し、実行中のジョブを中止する(S409)。
一方、ImagingNameの比較をしてない画像処理プラグインアプリケーション303が存在する場合、処理はS602に進む。そして、接続ライブラリ314は、比較対象の画像処理プラグインアプリケーション303に、未だImagingNameの比較をしていない画像処理プラグインアプリケーション303をセットする(S602)。続いて、接続ライブラリ314は、比較対象の画像処理プラグインアプリケーション303の保持するImagingName321と、ジョブの設定値に設定されたImagingNameとを比較する(S603)。そして、接続ライブラリ314は、比較対象の画像処理プラグインアプリケーション303の保持するImagingName321と、ジョブの設定値に設定されたImagingNameとが一致するか否かを判定する(S604)。接続ライブラリ314は、これらのImagingNameが一致すると判定すると、前述したS408の処理を行う。即ち、接続ライブラリ314は、ImagingNameが一致する画像処理プラグインアプリケーション303のAPIに対して処理依頼を行い、画像処理を実行させる(S408)。一方、これらのImagingNameが一致しないと判定すると、接続ライブラリ314は、S601に戻り、ImagingNameの比較をしていない画像処理プラグインアプリケーション303が存在するか否かを判定する(S601)。
以上のように本実施形態では、画像形成装置101は、画像処理プラグインアプリケーション303に、当該画像処理プラグインアプリケーション303で実現される画像処理の識別情報としてImagingName321を関連付けて記憶する。また、画像形成装置101は、デバイス制御アプリケーション304で実現される機能(プリント等)で使用される画像処理の識別情報であるImagingName326を記憶する。接続ライブラリ314は、ImagingName321、326のうち、ジョブに設定されたImagingNameと一致するImagingNameを探索する。そして、接続ライブラリ314は、探索したImagingNameに関連する画像処理を画像処理プラグインアプリケーション303または画像処理ライブラリ315に依頼する。従って、新規の画像処理として画像処理プラグインアプリケーション303をインストールすることで、常駐のデバイス制御アプリケーション304の機能を拡張することが可能となる。よって、ユーザは、デバイス制御アプリケーション304から新規の画像処理を利用することができる。これにより、新規の画像処理を利用する際にデバイス制御アプリケーション304の設定を引き継ぐことが可能となり、既存の各種のジョブ機能の設定をそのまま受け継ぐことができる。よって、ユーザの利便性が向上する。
[第二の実施形態]
次に、第二の実施形態を説明する。第一の実施形態においては、デバイス制御ライブラリ309が、ジョブに画像処理が含まれると判断した場合、その画像処理を含むモジュールがいずれの場合においても、必ず接続ライブラリ314のAPIをコールする例を示した。本実施形態においては、デバイス制御ライブラリ309が、画像処理ライブラリ315および、接続ライブラリ314を呼び分ける例を示す。このように本実施形態と第一の実施形態とは、デバイス制御ライブラリ309の機能の一部が主として異なる。従って、本実施形態の説明において、第一の実施形態と同一の部分については、図1〜図6に付した符号と同一の符号を付す等して詳細な説明を省略する。
図7は、本実施形態で用いるソフトウェアの構成の一例を模式的に表す階層図である。また、図8は、本実施形態で用いるジョブ実行の画像処理装置101の処理の一例を説明するフローチャートである。本フローチャートで示す処理に係るプログラムは、画像形成装置101のHDD213に格納されており、RAM212によって呼び出され、CPU211によって実行される。図7および図8を用いて、本実施形態のジョブ実行時一連の処理の流れについて説明する。尚、図7における各コンポーネントは、第一の実施形態における図3において示したものと同様であり、デバイス制御ライブラリ309、接続ライブラリ314、画像処理ライブラリ315の関連線が異なる点が図3と図7との差異である。
図8において、S801、S802、S803の処理は、第一の実施形態におけるS401、S402、S403の処理と同様であるため説明を省略する。デバイス制御ライブラリ309はS802において、ジョブに画像処理が含まれると判断した場合、続いてジョブに設定されたImagingNameが示す画像処理を画像処理ライブラリ315で処理可能か否かを判断する(S804)。この判断の結果、ジョブに設定されたImagingNameが示す画像処理を画像処理ライブラリ315で処理可能であると判断した場合、デバイス制御ライブラリ309は、画像処理ライブラリ315のAPIをコールして画像処理を実行させる(S806)。一方、ジョブに設定されたImagingNameが示す画像処理を画像処理ライブラリ315で処理可能ではないと判断した場合、デバイス制御ライブラリ309は、接続ライブラリ314のAPIをコールする(S805)。これ以降のS807、S808、S809における処理は、第一の実施形態におけるS407、S408、S409の処理と同様であるため省略する。
本実施形態によると、デバイス制御ライブラリ309は自身が実現できない画像処理のみを接続ライブラリ314に依頼する。よって、デバイス制御ライブラリ309は、従来の画像処理を実行するフローの改変をすることなく、新規画像処理のフローを拡張できるといった効果がある。
[第三の実施形態]
次に、第三の実施形態を説明する。第一の実施形態および第二の実施形態においては、デバイス制御アプリケーション304または単独プラグインアプリケーション302が、デバイス接続ライブラリ309を通して画像処理プラグインアプリケーション303の画像処理を実行する例を示した。本実施形態においては、単独機能プラグインアプリケーション302がデバイス制御ライブラリ309をコールすることなく画像処理プラグインアプリケーション303を実行する例を示す。このように本実施形態と第一の実施形態および第二の実施形態とは、単独機能プラグインアプリケーション302の機能の一部が主として異なる。従って、本実施形態の説明において、第一の実施形態および第二の実施形態と同一の部分については、図1〜図8に付した符号と同一の符号を付す等して詳細な説明を省略する。
図9は、本実施形態で用いるソフトウェアの構成の一例を模式的に表す階層図である。また、図10は、本実施形態で用いる、単独アプリケーション302からの画像処理の実行のフローチャートである。本フローチャートで示す処理に係るプログラムは、画像形成装置101のHDD213に格納されており、RAM212によって呼び出され、CPU211によって実行される。図9および図10を用いて、本実施形態の画像処理実行時の一連の処理の流れについて説明する。尚、図9における各コンポーネントは、第一の実施形態における図3において示したものと同様であり、単独機能プラグインアプリケーション302から直接接続ライブラリに314に関連がある点が図3と図9との差異である。
第一の実施形態では単独機能アプリケーション302がデバイス制御ライブラリ309のAPIをコールすることで、ジョブを実行する例を示したが、単独機能アプリケーション302はジョブを伴わず、画像処理を単体で実行してもよい。OCR(optical character recognition)である単語が含まれるドキュメントをプレビューで表示するといった場合などが画像処理を単体で実行する場合の例である。
図10において、単独機能アプリケーション302は、自身の画面情報320に対するユーザの操作に基づくジョブを伴わない画像処理の設定を検知すると(S1001)、当該画像処理名にImagingNameを設定する。
続いて単独機能アプリケーション302は、接続ライブラリ314のAPIを直接コールする(S1002)。次に、接続ライブラリ314は、画像処理名に設定されたImagingNameが示す画像処理を画像処理ライブラリ315で処理可能かどうかを判断する(S1003)。この判断の結果、当該画像処理を画像処理ライブラリ315で処理可能であると判断した場合、接続ライブラリ314は、画像処理ライブラリ314のAPIをコールして画像処理を実行させる(S1007)。
一方で、画像処理名に設定されたImagingNameが示す画像処理を処理可能でないと判断した場合、当該画像処理を画像処理プラグインアプリケーション303で処理可能かどうかを判断する(S1004)。この判断の結果、当該画像処理を画像処理プラグインアプリケーション303で処理可能であると判断した場合、接続ライブラリ314は、画像処理プラグインアプリケーション303のAPIに対して処理依頼を行い、画像処理を実行させる(S1006)。一方で、当該画像処理を画像処理プラグインアプリケーション303で処理可能でないと判断した場合、接続ライブラリ314は、指定された画像処理を実行できない旨を操作部204に表示し、実行中の画像処理を中止する(S1005)。尚、接続ライブラリ314から画像処理を実行できない理由を単独機能アプリケーション302が受信し、単独機能アプリケーション302が操作部204に画像処理を実行できない理由を表示する構成でもよい。
尚、画像処理ライブラリ315で処理可能か否かを判断する処理(S1003)および、画像処理プラグインアプリケーション303で処理可能か判断する処理(S1004)については、第一の実施形態と同様であるため省略する。
本実施形態によると、単独機能プラグインアプリケーション302において、ジョブを伴わない単独の画像処理においても、追加された画像処理プラグインアプリケーションを利用することが可能になる。したがってユーザの利便性が向上する。
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
(その他の実施例)
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101〜102:画像形成装置、103〜104:情報処理端末、105:サーバ

Claims (11)

  1. 画像形成装置であって、
    前記画像形成装置がジョブを実行するために用いられる第1のアプリケーションを記憶する第1の記憶手段と、
    前記第1のアプリケーションに対する実行指示に伴って前記画像形成装置に第1の処理を実行させるための第2のアプリケーションを記憶する第2の記憶手段と、
    前記第1のアプリケーションに対する実行指示に伴って前記画像形成装置または外部装置に第2の処理を実行させるための第3のアプリケーションを外部の記憶媒体または記憶装置から取得する取得手段と、
    前記取得手段が取得した前記第3のアプリケーションを記憶する第3の記憶手段と、
    前記第1のアプリケーションが前記ジョブの実行指示を受け付けた場合、前記第1のアプリケーションからのリクエストに従って、実行すべきアプリケーションを前記第2のアプリケーションおよび前記第3のアプリケーションのうちから選択する選択手段と、
    前記選択手段が選択したアプリケーションを、前記第1のアプリケーションの実行に伴って実行させる制御を行う制御手段と、
    前記第1のアプリケーションからの前記リクエストに伴って実行すべきアプリケーションを、前記選択手段により前記第2のアプリケーションおよび前記第3のアプリケーションのいずれからも選択されない場合に、前記ジョブを中止する中止手段と、
    を有することを特徴とする画像形成装置。
  2. 前記選択手段は、
    前記リクエストに含まれる画像処理の識別情報、および前記画像処理を実行する際に用いられるパラメータに基づいて、前記第2のアプリケーションおよび前記第3のアプリケーションのうちからアプリケーションを選択することを特徴とする請求項1に記載の画像形成装置。
  3. 前記識別情報は前記画像処理の画像処理名であることを特徴とする請求項2に記載の画像形成装置。
  4. 前記第2のアプリケーションを用いて前記第1の処理を実行する処理手段を更に有し、
    前記選択手段は、前記処理手段との通信の結果を用いて、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第2のアプリケーションであるか否かを判定することを特徴とする請求項1乃至3のいずれか一項に記載の画像形成装置。
  5. 前記選択手段は、前記処理手段により処理される前記第1の処理のリストを前記処理手段から取得し、当該取得したリストに含まれる前記第1の処理の中に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションを用いて実行される処理が含まれている場合に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第2のアプリケーションであると判定し、そうでない場合に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第2のアプリケーションでないと判定することを特徴とする請求項4に記載の画像形成装置。
  6. 前記選択手段は、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションを用いて実行される処理の実行を前記処理手段に依頼し、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションを用いて実行される処理が、前記処理手段により実行できた場合に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第2のアプリケーションであると判定し、そうでない場合に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第2のアプリケーションでないと判定することを特徴とする請求項4に記載の画像形成装置。
  7. 前記第2の記憶手段は、前記第2のアプリケーションと、当該第2のアプリケーションの識別情報とを相互に関連付けて記憶し、
    前記選択手段は、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションを用いて実行される処理の識別情報が、前記第2の記憶手段により記憶されている前記第2のアプリケーションの中にある場合に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第2のアプリケーションであると判定し、そうでない場合に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第2のアプリケーションでないと判定することを特徴とする請求項1乃至6のいずれか一項に記載の画像形成装置。
  8. 前記第3の記憶手段は、前記第3のアプリケーションと、当該第3のアプリケーションの識別情報とを相互に関連付けて記憶し、
    前記選択手段は、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションを用いて実行される処理の識別情報が、前記第3の記憶手段により記憶されている前記第3のアプリケーションの識別情報の中にある場合に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第3のアプリケーションであると判定し、そうでない場合に、前記第1のアプリケーションの実行に伴って実行すべきアプリケーションが、前記第3のアプリケーションでないと判定することを特徴とする請求項1乃至7のいずれか一項に記載の画像形成装置。
  9. 前記第1の処理および前記第2の処理は、画像処理を含む処理であることを特徴とする請求項1乃至8のいずれか一項に記載の画像形成装置。
  10. 画像形成装置の制御方法であって、
    前記画像形成装置がジョブを実行するために用いられる第1のアプリケーションを記憶する第1の記憶工程と、
    前記第1のアプリケーションに対する実行指示に伴って前記画像形成装置に第1の処理を実行させるための第2のアプリケーションを記憶する第2の記憶工程と、
    前記第1のアプリケーションに対する実行指示に伴って前記画像形成装置または外部装置に第2の処理を実行させるための第3のアプリケーションを外部の記憶媒体または記憶装置から取得する取得工程と、
    前記取得工程が取得した前記第3のアプリケーションを記憶する第3の記憶工程と、
    前記第1のアプリケーションが前記ジョブの実行指示を受け付けた場合、前記第1のアプリケーションからのリクエストに従って、実行すべきアプリケーションを前記第2のアプリケーションおよび前記第3のアプリケーションのうちから選択する選択工程と、
    前記選択工程が選択したアプリケーションを、前記第1のアプリケーションの実行に伴って実行させる制御を行う制御工程と、
    前記第1のアプリケーションからの前記リクエストに伴って実行すべきアプリケーションを、前記選択工程により前記第2のアプリケーションおよび前記第3のアプリケーションのいずれからも選択されない場合に、前記ジョブを中止する中止工程と、
    を有することを特徴とする画像形成装置の制御方法。
  11. 請求項1乃至のいずれか一項に記載の画像形成装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
JP2017140829A 2016-07-26 2017-07-20 画像形成装置、画像形成装置の制御方法、およびプログラム Active JP6961412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/658,044 US10447881B2 (en) 2016-07-26 2017-07-24 Image forming apparatus, image forming method, and recording medium, for extending image processing functionality

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016146628 2016-07-26
JP2016146628 2016-07-26

Publications (2)

Publication Number Publication Date
JP2018020562A JP2018020562A (ja) 2018-02-08
JP6961412B2 true JP6961412B2 (ja) 2021-11-05

Family

ID=61010394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017140829A Active JP6961412B2 (ja) 2016-07-26 2017-07-20 画像形成装置、画像形成装置の制御方法、およびプログラム

Country Status (3)

Country Link
US (1) US10447881B2 (ja)
JP (1) JP6961412B2 (ja)
CN (1) CN107659746B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10992834B2 (en) 2018-05-17 2021-04-27 Canon Kabushiki Kaisha Image processing apparatus, method for controlling the same, and computer-readable storage medium
JP7186541B2 (ja) * 2018-05-17 2022-12-09 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005161674A (ja) 2003-12-02 2005-06-23 Canon Inc 画像形成装置、画像形成システム、課金処理方法及びプログラム
JP4039439B2 (ja) 2005-07-11 2008-01-30 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置及び画像形成装置の機能追加方法
JP4154416B2 (ja) 2005-10-11 2008-09-24 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、および記憶媒体
JP2007226391A (ja) * 2006-02-22 2007-09-06 Ricoh Co Ltd 画像形成装置、画像形成方法及び画像形成プログラム
JP4754373B2 (ja) * 2006-03-15 2011-08-24 株式会社リコー 画像形成装置、画像形成方法、その方法をコンピュータに実行させるプログラム
JP5089464B2 (ja) 2008-04-02 2012-12-05 キヤノン株式会社 管理装置、管理方法、及びプログラム
JP5228851B2 (ja) * 2008-06-02 2013-07-03 株式会社リコー 機器、インストールシステム、インストール方法、プログラム、記憶媒体
AU2010222360B2 (en) * 2009-03-13 2013-02-07 Ricoh Company, Ltd. Information Processing Apparatus, Service Providing Method, and Service Providing System
JP5310246B2 (ja) * 2009-05-12 2013-10-09 株式会社リコー 情報処理装置、情報処理システム、及びプログラム
JP5446625B2 (ja) * 2009-09-07 2014-03-19 株式会社リコー プリンタドライバ、情報処理装置、およびプリンタドライバを記録したコンピュータ読み取り可能な記録媒体
JP2011192106A (ja) * 2010-03-16 2011-09-29 Seiko Epson Corp 制御装置、記録媒体処理装置、制御装置の制御方法、及び、プログラム
JP2012129686A (ja) * 2010-12-14 2012-07-05 Ricoh Co Ltd 画像形成装置、情報処理方法、プログラム、及び記録媒体
WO2013009797A1 (en) * 2011-07-11 2013-01-17 Uwm Research Foundation, Inc. Osmotic bioelectrochemical systems
JP5799625B2 (ja) 2011-07-14 2015-10-28 株式会社リコー 履歴管理システム、履歴管理方法、プログラム、及び画像形成システム
KR101833337B1 (ko) 2011-09-09 2018-03-02 에스프린팅솔루션 주식회사 관리 서버, 워크폼을 관리하기 위한 관리 방법 및 기록 매체
US8867076B2 (en) * 2012-04-30 2014-10-21 Hewlett-Packard Development Company, L.P. Installing printer applications on a printer using messages

Also Published As

Publication number Publication date
CN107659746B (zh) 2020-07-28
US20180034997A1 (en) 2018-02-01
US10447881B2 (en) 2019-10-15
JP2018020562A (ja) 2018-02-08
CN107659746A (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN109669645B (zh) 控制方法
US11176633B2 (en) Image processing apparatus, method for controlling the same, and non-transitory computer-readable storage medium
US10416937B2 (en) Image forming apparatus, image forming method, and storage medium
US10996998B2 (en) Information processing apparatus and control method thereof
US11089176B2 (en) Control of apps providing same or similar services in image forming device supporting multiple platforms
JP6961412B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
US20090103828A1 (en) Image Processing Apparatus, Image Processing Method, and Computer-Readable Recording Medium Having Image Processing Program
US10922039B2 (en) Image processing apparatus, information processing method, and storage medium
US10602011B2 (en) Image forming apparatus, information processing method, and program
JP6013801B2 (ja) 画像出力システム、及び、画像出力装置
US8804164B2 (en) Image forming system and control method using middleware
JP7080061B2 (ja) 画像処理装置
US10992834B2 (en) Image processing apparatus, method for controlling the same, and computer-readable storage medium
CN110572527B (zh) 图像处理装置、其控制方法及计算机可读存储介质
JP6808520B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP7102248B2 (ja) 画像処理装置、情報処理方法及びプログラム
JP2009294773A (ja) 情報処理装置、情報処理方法、情報処理プログラム、記録媒体
EP2056197A1 (en) Image forming device, image formation controlling method, and image formation controlling program
JP2018129607A (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210901

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211013

R151 Written notification of patent or utility model registration

Ref document number: 6961412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151