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

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

Info

Publication number
JP2018129607A
JP2018129607A JP2017020215A JP2017020215A JP2018129607A JP 2018129607 A JP2018129607 A JP 2018129607A JP 2017020215 A JP2017020215 A JP 2017020215A JP 2017020215 A JP2017020215 A JP 2017020215A JP 2018129607 A JP2018129607 A JP 2018129607A
Authority
JP
Japan
Prior art keywords
application
image processing
setting
plug
processing
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.)
Pending
Application number
JP2017020215A
Other languages
English (en)
Inventor
王徳 笠原
Otoku Kasahara
王徳 笠原
祐人 佐々木
Hiroto Sasaki
祐人 佐々木
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 JP2017020215A priority Critical patent/JP2018129607A/ja
Publication of JP2018129607A publication Critical patent/JP2018129607A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 プラグインの管理を容易にする。【解決手段】 プラグインとして画像形成装置101に追加される画像処理プラグインアプリケーション303は、自身の使用が可能であるか否かを判断する使用可否判断部328を有する。【選択図】 図1

Description

本発明は、画像形成装置、画像形成装置の制御方法、およびプログラムに関し、特に、画像処理を行うアプリケーションを画像形成装置に追加するために用いて好適なものである。
画像形成装置に関する技術として、画像形成装置で提供されていない画像処理を含む各種ジョブを実行するために、新規の画像処理を含むアプリケーションをプラグインとして作成する技術が知られている。また、プラグインの機能の排他を実現するための技術についても提案されている(特許文献1を参照)。
特開2008−98944号公報
しかしながら、特許文献1に記載の画像処理装置は、プラグインの追加のタイミングに同期して、プラグインを含む機能の排他表を別途ダウンロードする構成をとる。特許文献1に記載の技術では、排他表を作成するために、サーバは画像形成装置に適用可能な全てのプラグインの排他関係を示す排他表を管理、更新する必要がある。このように、排他管理のための特別なサーバを設ける必要がある。
本発明は、このような問題点に鑑みてなされたものであり、プラグインの管理を容易に行えるようにすることを目的とする。
本発明の画像形成装置は、画像を形成するための処理を行う少なくとも1つの第1のアプリケーションを記憶する記憶手段と、前記第1のアプリケーションの少なくとも1つと、プラグインとして追加された第2のアプリケーションとを相互に関連付けて管理する第1の管理手段と、を有し、前記第2のアプリケーションは、当該第2のアプリケーションによる処理の実行を管理する第2の管理手段を有することを特徴とする。
本発明によれば、プラグインの管理を容易に行うことができる。
画像形成システムの構成を示す図である。 画像形成装置の構成を示す図である。 画像処理装置のソフトウェアの構造の第1の例を示す図である。 デバイス制御アプリケーションの画面情報を示す図である。 画像処理プラグインアプリケーションの画面情報を示す図である。 メインメニュー画面を示す図である。 コピーアプリケーションのメイン画面を示す図である。 画像処理設定画面を示す図である。 画像処理個別設定画面を示す図である。 画像処理設定画面の表示処理の第1の例を示すフローチャートである。 ジョブ実行時の制御を示すフローチャートである。 画像処理装置のソフトウェアの構造の第2の例を示す図である。 排他情報を保存する際の処理を示すフローチャートである。 図13のS1307を示すフローチャートである。 画像処理装置のソフトウェアの構造の第3の例を示す図である。 画像処理設定画面の表示処理の第2の例を示すフローチャートである。 使用可否判断情報の構成を示す図である。 画像処理設定画面の表示処理の第3の例を示すフローチャートである。 画像処理装置のソフトウェアの構造の第3の例を示す図である。 拡張画像処理アイコンが有効化された画面処理設定画面を示す図である。 補正メッセージ画面を示す図である。 警告メッセージ画面を示す図である。 機能選択画面を示す図である。
以下、実施形態について図面を用いて説明する。
(第1の実施形態)
図1は、画像形成システムの構成の一例を示す図である。画像形成システムは、画像形成装置101、102をはじめとする複数の画像形成装置と、情報処理端末103、104と、サーバ105とを有する。これらは、ネットワーク106を介して相互に接続されて、相互に通信可能な状態である。画像形成装置101、102をはじめとする複数の画像形成装置は、同じ構成で実現することができる。そこで、以下、複数の画像形成装置を代表して画像形成装置101について説明を行い、その他の画像形成装置の詳細な説明を省略する。。尚、ここでいうネットワーク106は、LAN(Local Area Network)やInternet等、画像形成システム内の装置が相互に通信できる方式であれば、どのようなものであってもよい。
画像形成装置101は、例えば、情報処理端末103、104からの画像データの印刷依頼を受信して画像を印刷することや、自装置内のスキャナを用いて画像を読み取ることや、読み取った画像を印刷することが可能である。また、画像形成装置101は、情報処理端末103、104から受信した印刷データを保存することや、自装置内のスキャナで読み取った画像を情報処理端末103、104に送信することが可能である。更に、画像形成装置101は、サーバ105を用いて画像処理を行うことや、サーバ105に格納されている文書に対して印刷を行うことが可能である。その他、画像形成装置101は、例えば、MFP(Multifunction Peripheral)が有する公知の機能を実現することができる。尚、画像形成装置101は、コピー機能等の画像を形成する機能を有する装置であれば、MFPに限定されない。
図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から読み出した命令を一時的に格納するための領域であり、命令の実行に必要な各種のデータを記憶しておくことが可能である。
ネットワークI/F214は、画像形成システム内の装置とネットワーク通信を行うためのI/F(インターフェース)である。ネットワークI/F214は、データ受信を行ったことをCPU211に伝達することや、RAM212上のデータをネットワーク106に送信することが可能である。プリンタI/F215は、CPU211から送信された印刷データをプリンタ202に送信することや、プリンタ202から受信したプリンタの状態をCPU211に伝達することが可能なI/Fである。スキャナI/F216は、CPU211から送信された画像読み取り指示をスキャナ203に送信しスキャナ203から受信した画像データをCPU211に伝達することや、スキャナ203から受信した状態をCPU211に伝達することが可能なI/Fである。
操作部I/F217は、操作部204から入力されたユーザからの指示をCPU211に伝達することや、ユーザが操作するための画面情報を操作部204に伝達することが可能なI/Fである。拡張I/F218は、画像形成装置101に外部機器を接続することを可能とするI/Fである。拡張I/F218は、例えば、USB(Universal Serial Bus)形式のI/Fを具備する。この場合、拡張I/F218は、USBメモリ等の外部記憶装置と接続され、外部記憶装置に対してデータの読み取り・書き込みを行うことが可能である。
プリンタ202は、プリンタI/F215から受信した画像データを用紙に印刷することや、プリンタ202の状態をプリンタI/F215に伝達することが可能である。スキャナ203は、スキャナI/F216から受信した画像読み取り指示に従って、スキャナ203に置かれた用紙を読み取りデジタル化してスキャナI/F216に伝達することや、スキャナ203の状態をスキャナI/F216に伝達することが可能である。操作部204は、画像形成装置101に対する操作をユーザに行わせるためのI/Fである。操作部204は、例えば、タッチパネルを有する液晶画面を具備し、液晶画面に操作画面を表示することによりユーザに操作画面を提供すると共に、この液晶画面に対するユーザによる操作を受け付ける。
図3は、画像形成装置101のHDD213に記憶されたプログラムに係るソフトウェアの構造の一例を示す模式的な階層図である。本図において、一部例外を除いて基本的には、下位の階層が提供するサービスを上位の階層が利用する関係になっている。
図3において最下層は、オペレーティングシステム316であり、プログラムの実行の管理やメモリの管理等を行うための階層である。オペレーティングシステム316の中には、プリンタ制御ドライバ317、スキャナ制御ドライバ318、およびネットワークI/F制御ドライバ319が組み込まれる。オペレーティングシステム316は、これらが連携することにより機能する。プリンタ制御ドライバ317は、プリンタI/F215を介してプリンタ202を制御するためのソフトウェアである。スキャナ制御ドライバ318は、スキャナI/F216を介してスキャナ203を制御するためのソフトウェアである。ネットワークI/F制御ドライバ319は、ネットワークI/F214を制御するためのソフトウェアである。
最下層から2段目の層であるデバイス制御ライブラリ309は、後述の単独機能プラグインアプリケーション302またはデバイス制御アプリケーション304と静的あるいは動的にリンクされる。更にデバイス制御ライブラリ309は、各アプリケーションプログラムによる指示に対して、オペレーティングシステム316を制御する。また、各デバイス制御ライブラリ309は、プラグイン接続ライブラリ314および画像処理ライブラリ315に対して画像処理を依頼する。画像処理を依頼する一連のフローの一例については後述する。
次に、デバイス制御ライブラリ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)といったデータフォーマットを表す。前述の汎用フォーマットは、その他のデータフォーマット(例えば、TIFF(Tagged Image File Format)やXPS(XML Paper Specification)であってもよい。
スキャン送信ライブラリ313は、スキャナ制御ドライバ318およびネットワークI/F制御ドライバ319の機能を利用してスキャン送信ジョブの制御を行うためのAPIを提供するライブラリである。ここでのスキャン送信ジョブとは、スキャナ203でスキャンした画像データを汎用フォーマットに変換した後、ネットワークI/F214を通してファイルサーバに送信したり、電子メールに添付して送信したりする一連の処理を表す。
管理ライブラリ330は、画像形成装置101の構成に関する情報を保持・管理するためのライブラリである。本実施形態では、画像形成装置101の構成としては、印刷済みの用紙に対してステープルやパンチ穴を付与するためのフィニッシャーや、ソフトウェアライセンスにより有効化された機能の一覧等を指すものとする。しかしながら、画像形成装置101全体としてとして管理すべき情報であれば、画像形成装置101の構成に関する情報は、これらに限らない。
最下層から2段目の層には、更にプラグイン接続ライブラリ314および画像処理ライブラリ315が存在する。
画像処理ライブラリ315は、CPU211によって実行される様々な画像処理を実行するためのAPIを提供するライブラリである。様々な画像処理とは、画像形成装置101に入力された画像データを汎用フォーマットに変換する処理や、工場出荷時より常駐で利用可能な処理を表す。工場出荷時より常駐で利用可能な処理としては、例えば、シャープネス処理やページ集約等がある。尚、画像処理ライブラリ315のそれぞれは、固有の画像処理名326を保有する。例えば、シャープネス機能を持つ画像処理ライブラリ315は画像処理名326には、Sharpnessが設定される。画像処理名326は、デバイス制御ライブラリ309が画像処理ライブラリ315を呼び分けるための識別子として利用される。
プラグイン接続ライブラリ314は、デバイス制御ライブラリ309からの画像処理の実行依頼に応じて、画像形成装置101にインストールされている画像処理プラグインアプリケーション303に対し実行指示を行うライブラリである。プラグイン接続ライブラリ314は、画像処理プラグインアプリケーション303に対し、静的または動的にリンクしている。プラグイン接続ライブラリ314は、後述するデバイス制御アプリケーション304ともリンクしており、実行可能な画像処理プラグインアプリケーション303のリストをデバイス制御アプリケーション304に伝達することも可能である。本実施形態では、例えば、デバイス制御アプリケーション304を用いることにより第1のアプリケーションの一例が実現される。また、本実施形態では、例えば、画像処理プラグインアプリケーション303を用いることにより第2のアプリケーションの一例が実現される。また、本実施形態では、例えば、プラグイン接続ライブラリ314を用いることにより、第1のアプリケーションの少なくとも1つと、プラグインとして追加された第2のアプリケーションとを相互に関連付けて管理する第1の管理手段の一例が実現される。
最上層は、プラグインアプリケーション301およびデバイス制御アプリケーション304によって成り立つアプリケーション層である。デバイス制御アプリケーション304は、デバイス制御ライブラリ309の各APIをコールすることによって様々な機能を提供する。尚、デバイス制御アプリケーション304は、HDD213に書き込まれている常駐のアプリケーションであり、ファームのバージョンアップにより、その機能を拡張することが可能である。各デバイス制御アプリケーション304は、それぞれ画面情報322、323、324、325を有する。CPU211は、操作部I/F217を通して操作部204にそれぞれの画面情報を表示する。また、各デバイス制御アプリケーション304は、プラグイン接続ライブラリ314に対して、画像処理プラグインアプリケーション303の画像処理名321および画面情報327の取得の依頼を行うことが可能である。この処理は、後述するデバイス制御アプリケーション304の画面に対して、画像形成装置101にインストールされている画像処理プラグインアプリケーション303を有効化するための画面情報を表示する処理のために利用される。
次に、デバイス制御アプリケーション304の画面情報322、323、324、325の内容の一例について、図4を用いて説明する。図4は、デバイス制御アプリケーション304の画面情報322、323、324、325の具体的な内容の一例を示す図である。
例えば、画面情報322には、起動用アイコン402、メイン画面403、依存画面405、および設定画面404の夫々の画面を表示するために用いる画面情報が含まれる。画面情報323、324、325についても同様である。以下、起動用アイコン402、メイン画面403、依存画面405、および設定画面404を総称して、デバイス制御アプリケーション画面401と呼ぶ。
起動用アイコン402は、画像形成装置101の起動後に操作部204に表示されるトップ画面に表示されるアイコンである。CPU211は、起動用アイコン402の押下を検知すると、それぞれのアイコンに応じたデバイス制御アプリケーション304に対して起動指示を行う。メイン画面403は、画像形成装置101の起動指示後に表示されるデバイス制御アプリケーション304のトップ画面である。設定画面404は、それぞれのジョブに対して画像処理を設定する際に用いられる画面である。
依存画面405は、各デバイス制御アプリケーション304に固有の設定を行う画面である。例えば、依存画面405は、スキャン送信アプリケーション308における宛先設定を行う画面や、コピーアプリケーション306における印刷設定を行う画面を指す。CPU211は、画面情報322、323、324、325に対するユーザの操作による設定を検知すると、その設定の内容をRAM212に書き込む。各デバイス制御アプリケーション304はこの段階で、必要に応じて各ジョブの設定に画像処理名を設定する。尚、各デバイス制御アプリケーション304は、ユーザが操作部204を押下することによる画像処理の選択に基づいて各ジョブの設定に画像処理名を設定したり、各ジョブに必要な画像処理の画像処理名を自動で各ジョブに設定したりすることも可能である。
また、デバイス制御アプリケーション304のみならずデバイス制御ライブラリ309が、各ジョブの設定に画像処理名を設定することも可能である。例えば、各デバイス制御ライブラリ309は、オペレーティングシステム316を制御するにあたり、必要な画像処理がある場合に画像処理名を設定する。尚、デバイス制御アプリケーション304およびデバイス制御ライブラリ309は、画像処理名を、複数設定することも、設定しないことも可能である。CPU211は、操作部204に対するユーザの操作に基づいてジョブの実行の開始を検知すると、各デバイス制御ライブラリ309のAPIをコールすることによりジョブを開始させる。尚、ジョブの設定方法、および画像処理の設定方法の具体例については後述する。
次に、各デバイス制御アプリケーション304の一例について説明する。プリントアプリケーション305は、プリントライブラリ310のAPIをコールすることによりプリントジョブを実行する。コピーアプリケーション306は、コピーライブラリ311のAPIをコールすることによりコピージョブを実行する。スキャン保存アプリケーション307は、スキャン保存ライブラリ312のAPIをコールすることによりスキャン保存ジョブを実行する。スキャン送信アプリケーション308は、スキャン送信ライブラリ313のAPIをコールすることによりスキャン送信ジョブを実行する。
次に、プラグインアプリケーション301の一例について説明する。プラグインアプリケーション301は、常駐アプリケーションであるデバイス制御アプリケーション304とは別に、プラグインとして、画像形成装置101に対しインストールおよびアンインストールすることが可能なアプリケーションである。プラグインアプリケーション301は、単独機能プラグインアプリケーション302と、画像処理プラグインアプリケーション303とを有する。各プラグインアプリケーション301には、それぞれの動作に必要なプログラムがパッケージングされている。各プラグインアプリケーション301は、リモートUI(UserInterface)等によって、画像形成装置101にインストールされる。尚、リモートUIとは、外部の情報処理端末103においてWebブラウザからネットワークI/F214を経由して画像形成装置101にアクセスし、画像形成装置101の状況の確認、印刷ジョブの操作、および各種設定等を行うことができる仕組みである。また、各プラグインアプリケーション301は、それぞれ個別に起動および停止を行うことが可能である。
次に、単独機能プラグインアプリケーション302の一例について説明する。単独機能プラグインアプリケーション302は、アプリケーション自体が画面情報320を持っており、デバイス制御ライブラリ309のAPIをコールすることで常駐のデバイス制御アプリケーション304とは別の機能や画面をユーザに提供することができる。例えば、ある画像データをコピーすると共にスキャンして送信する機能等、複数の機能を組み合わせることも可能である。また、単独機能プラグインアプリケーション302は、画面情報320に対する画像処理の設定を検知すると、当該画像処理に対応する画像処理名をジョブに設定する。尚、単独機能プラグインアプリケーション302は、ユーザからの明示的な設定がなくても、単独機能プラグインアプリケーション302がデフォルトで実現したい画像処理の画像処理名を設定することも可能である。
次に、画像処理プラグインアプリケーション303の一例について説明する。画像処理プラグインアプリケーション303は、特定の画像処理を提供するアプリケーションである。特定の画像処理とは、画像処理ライブラリ315とは別に画像形成装置101において拡張される画像処理を表す。例えば、特定の画像処理には、入力画像に対するフォーマットの変換、斜行補正、およびOCR(optical character recognition)後の翻訳データの生成といった処理等が含まれる。また、画像処理プラグインアプリケーション303は、それ自体が画像処理の機能を持っていなくてもよい。例えば、サーバ105が、画像処理のプログラムを管理し、画像処理プラグインアプリケーション303が、ネットワークI/F214を通し、サーバ105に対して画像処理の指示を送信することで、画像処理を実現することも可能である。各画像処理プラグインアプリケーション303は、それらの画像処理の内容を識別するための識別子として画像処理名321を保持する。例えば、斜行補正を行う画像処理プラグインアプリケーション303の場合、画像処理名321として"TiltCorrect"が設定される。画像処理名321は固有であり、同じ画像処理名321を持つ複数の画像処理プラグインアプリケーション303は、画像形成装置101のHDD213には存在しない。つまり、画像形成装置101に既にインストールされた画像処理プラグインアプリケーション303の画像処理名321と同じ画像処理名の画像処理プラグインアプリケーション303を画像形成装置101にインストールすることはできない。
各デバイス制御ライブラリ309は、プラグイン接続ライブラリ314に対して画像処理を依頼する際、画像処理名および処理の詳細なパラメータをジョブに設定する。プラグイン接続ライブラリ314は、ジョブに設定された画像処理名を元に画像処理プラグインアプリケーション303に対し処理依頼を行う。画像処理プラグインアプリケーション303の処理依頼の具体的な方法については、図11のフローチャートで説明を行う。尚、プラグイン接続ライブラリ314が画像処理プラグインアプリケーション303に対して処理依頼を行う部分は、図3において、下位モジュールが上位モジュールに対してコールすることが可能な唯一の箇所である。画像処理プラグインアプリケーション303は、プラグインアプリケーション301の説明で示した通り、リモートUI等によって画像形成装置101にインストールされ、起動することで、画像形成装置101により認識される。また、画像処理プラグインアプリケーション303は、画面情報327を保持する。また、画像処理プラグインアプリケーション303は、所与の入力をもとに自身の使用の可否判断する使用可否判断部328を有する。本実施形態では、例えば、使用可否判断部328を用いることにより、第2のアプリケーションによる処理の実行を管理する第2の管理手段の一例が実現される。
図5は、画像処理プラグインアプリケーション303の画面情報327の具体的な内容の一例を示す図である。画面情報327には、画像処理アイコン501および画像処理個別設定画面502の画像情報が含まれる。画面情報327は、デバイス制御アプリケーション304の起動時において、デバイス制御アプリケーション画面401を生成するのに用いられる。尚、デバイス制御アプリケーション画面401の具体的な生成方法の一例については後述する。画像処理プラグインアプリケーション303は、各画像処理アイコン501および画像処理個別設定画面502を画像データとして保持する構成を採用することができる。また、画像処理プラグインアプリケーション303は、各画像処理アイコン501および画像処理個別設定画面502を文字データとして保持しておき、実際の画面の生成時に、動的に画面を生成する構成を採用することができる。文字データとしては、XML(Extensible Markup Language)や、HTML(Hyper Text Markup Language)等が挙げられる。また、画像処理アイコン501および画像処理個別設定画面502の構成についてはこれ以外でも構わない。
次に、画像形成装置101起動時の処理の一例について説明する。
図6は、操作部204に表示されるメインメニュー画面601の一例を示す図である。CPU211は、画像形成装置101の起動時に、HDD213からメインメニューを構成するデバイス制御アプリケーション304を取得する。更に、CPU211は、このデバイス制御アプリケーション304のデバイス制御アプリケーション画面401から、起動用アイコン402を取得し、メインメニュー画面601に表示する。プリントアイコン602、コピーアイコン603、スキャン保存アイコン604、およびスキャン送信アイコン605は、起動用アイコン402である。メインメニュー画面601には、常駐のデバイス制御アプリケーション304の他にも、単独機能プラグインアプリケーション302用のアイコン606を表示することが可能である。この場合、CPU211は、画像形成装置101の起動時に、プラグインアプリケーション301から、単独機能プラグインアプリケーション302の画面情報320として、単独機能プラグインアプリケーション302用のアイコン606を取得する。そして、CPU211は、単独機能プラグインアプリケーション302用のアイコン606をメインメニュー画面601に表示する。単独機能プラグインアプリケーション302用のアイコン606は、単独機能プラグインアプリケーション302の画面情報320に含まれている。CPU211は、単独機能プラグインアプリケーション302用のアイコン606の押下を検知すると、単独機能プラグインアプリケーション302を起動する。
次に、デバイス制御アプリケーション304が自身のデバイス制御アプリケーション画面401に対し、画像処理プラグインアプリケーション303を有効化するための画面情報を挿入するまでの一連の流れの一例を説明する。ここでは、デバイス制御アプリケーション304の具体例として、コピーアプリケーション306を用いる。まず、コピーアプリケーション306の画面構成の一例について説明する。尚、以下では、まず、図7、図8および図9において、コピーアプリケーション306の画面構成について説明する。その後、図10において、デバイス制御アプリケーション画面401に対し画像処理プラグインアプリケーション303を有効化する画面を挿入するフローの説明を行う。
図7は、コピーアプリケーション306のメイン画面701の一例を示す図である。依存画面702は、図4を用いて説明した依存画面405に相当する画面であり、コピーアプリケーション306に特化した設定画面である。依存画面702は、印刷の倍率設定や部数設定といった、コピージョブに特化した設定をすることが可能である。設定ボタン703は、コピージョブに対する画像処理を指定する設定画面を表示するためのボタンである。
図8は、設定ボタン703が押下されると表示される画像処理設定画面801の一例を示す図である。画像処理設定画面801には、各画像処理を設定するためのアイコン802、803、804、805、806、807が表示される。尚、アイコン802、803、804、805は、コピーアプリケーション306の設定画面404に含まれる画像処理のアイコンである。また、拡張画像処理アイコン806、807は、プラグインとして追加された画像処理プラグインアプリケーション303の画像処理アイコン501である。前述のように、コピーアプリケーション306の画面情報323に含まれるアイコンと、画像処理プラグインアプリケーション303の画面情報327に含まれるアイコンとは、同じ画像処理設定画面801に表示される。従って、プラグインして追加された画像処理の設定も、通常のデバイス制御アプリケーション304のデバイス制御アプリケーション画面401の中で設定することが可能となる。尚、拡張画像処理アイコン807にはハッチングが施されている。これは、現在のアプリケーションの設定ではこの拡張画像処理アイコン807を選択できないが、他の画像処理の設定を変更することで選択できるようになることを示唆する表示形態である。
図9は、プラグインとして追加された画像処理プラグインアプリケーション303に対する画像処理個別設定画面502の一例を示す図である。画像処理個別設定画面502は、拡張画像処理設定901、キャンセルボタン902、および設定ボタン903を有する。ユーザは、拡張画像処理設定901に対する操作を行うことにより、画像処理プラグインアプリケーション303により拡張される画像処理に対する設定を個別に行うことができる。拡張画像処理設定901には、この設定に必要なチェックボックスやスライダ等が表示される。キャンセルボタン902は、拡張画像処理設定901に対して入力された項目をキャンセルするためのボタンである。設定ボタン903は、拡張画像処理設定901に対して入力された項目を設定するためのボタンである。
図10は、デバイス制御アプリケーション304が、画像処理設定画面801を表示する際の処理の一例を示すフローチャートである。以下に、コピーアプリケーション306の起動を例に挙げ、デバイス制御アプリケーション304内の画像処理設定画面801を表示する際のフローについて説明する。尚、図10のフローチャートで示す処理は、画像形成装置101のHDD213に格納されたコピーアプリケーション306のプログラムにより制御されるものであり、RAM212によって呼び出され、CPU211によって実行されるものとする。
コピーアプリケーション306は、画像処理設定画面801の表示要求を受信すると、画像処理ライブラリ315により実現可能な画像処理に対応するアイコンを表示する(S1001)。図8に示した例では、S1001で表示されるアイコンは、アイコン802、803、804、805である。本実施形態では、例えば、S1001の処理により、表示手段の一例が実現される。また、例えば、画像処理設定画面801により第1の画面の一例が実現される。また、例えば、アイコン802〜805により、第1のアプリケーションにより実行される処理の設定を選択する部分の一例が実現される。
次に、コピーアプリケーション306は、プラグイン接続ライブラリ314に問い合わせ、画面情報327を含んだ画像処理プラグインアプリケーション303のリストを取得する(S1002)。次に、コピーアプリケーション306は、S1002で取得したリストに含まれる画像処理プラグインアプリケーション303のうち、未選択のものを1つ選択する。S1004〜S1007の処理は、プラグイン接続ライブラリ314の機能を利用し、S1003で選択された画像処理プラグインアプリケーション303について行われる。
まず、コピーアプリケーション306は、S1003で選択した画像処理プラグインアプリケーション303の画面情報327と当該画像処理プラグインアプリケーション303の表示形態とを取得する(S1004)。具体的にコピーアプリケーション306は、リスト内の要素を指定すると共に、メイン画面403や依存画面405で設定された設定内容をプラグイン接続ライブラリ314に入力する。これに対応して、プラグイン接続ライブラリ314は、管理ライブラリ330から現在の機器構成を取得する。そして、プラグイン接続ライブラリ314は、画像処理プラグインアプリケーション303の使用可否判断部328に、当該画像処理プラグインアプリケーション303の使用可否を問い合わせる。このとき、プラグイン接続ライブラリ314は、コピーアプリケーション306から受信した情報を送信する。コピーアプリケーション306の設定および現在の機器構成を受け取った使用可否判断部328は、これらの情報をもとに、画像処理プラグインアプリケーション303自身が現在の状況で使用可能であるか否かを判断する。そして、使用可否判断部328は、その判断の結果に基づいて、画像処理プラグインアプリケーション303自身の表示形態を判断し、画面情報327と共に当該表示形態を、プラグイン接続ライブラリ314を介してコピーアプリケーション306に返却する。本実施形態では、例えば、S1004の処理により、決定手段の一例が実現される。
本実施形態では、画像処理プラグインアプリケーション303の表示形態を以下のように三つ定義するものとする。一つ目は、ユーザが選択可能な"可視状態(表示)"である。二つ目は、現在のデバイス制御アプリケーション304の状態では選択できないがユーザによる設定の変更により使用可能となり得る"選択不可状態(グレーアプト)"である。三つ目は、現在の装置の状態ではユーザの操作に関わらず使用不可能な"不可視状態(非表示)"である。本実施形態では、これら三つを表示形態として定義するが、他に適切な表示形態があれば、その表示形態が追加されても構わない。
次に、コピーアプリケーション306は、S1004で返却された表示形態の内容を確認する(S1005)。S1005において、画像処理プラグインアプリケーション303から"非表示"の表示形態が返却された場合、コピーアプリケーション306は、以下のようにする。即ち、コピーアプリケーション306は、画像処理プラグインアプリケーション303から返却された画面情報327に含まれるアイコンを表示することなく、後述するS1008に処理を進める。S1005において、画像処理プラグインアプリケーション303から"グレーアウト"の表示形態が返却された場合、コピーアプリケーション306は、以下の処理を行う(S1006)。即ち、コピーアプリケーション306は、ユーザによる選択が不可能な形態で画面情報327に含まれるアイコンを画像処理設定画面801に表示する(S1006)。図8の拡張画像処理アイコン807が"グレーアウト"に対応する表示形態を示す。本実施形態では、例えば、拡張画像処理アイコン806、807により、第2のアプリケーションにより実行される処理の設定を選択する部分の一例が実現される。また、例えば、S1006の処理により、表示手段の一例が実現される。
S1005において、画像処理プラグインアプリケーション303から"表示"の表示形態が返却された場合、コピーアプリケーション306は、以下の処理を行う。即ち、コピーアプリケーション306は、ユーザによる選択が可能な形態で画面情報327に含まれるアイコンを画像処理設定画面801に表示する(S1007)。本実施形態では、例えば、S1007の処理により、表示手段の一例が実現される。
次に、コピーアプリケーション306は、S1002で取得したリストに含まれる画像処理プラグインアプリケーション303のリストに含まれる全ての画像処理プラグインアプリケーション303を選択したか否かを判定する(S1008)。この判定の結果、全ての画像処理プラグインアプリケーション303を選択していない場合、処理は、S1003に戻り、全ての画像処理プラグインアプリケーション303が選択されるまでS1003〜S1208の処理が繰り返し実行される。そして、全ての画像処理プラグインアプリケーション303についてS1003〜S1007の処理が実行されると、図10のフローチャートによる処理は終了する。
以上の処理により、コピーアプリケーション306は、画像処理設定画面801に、画像処理プラグインアプリケーション303の画像処理アイコン501(拡張画像処理アイコン806、807)を挿入することができる。
次に、デバイス制御アプリケーション304におけるユーザによる設定に関する画像形成装置101の処理の一例について説明する。
CPU211は、コピーアプリケーション306のメイン画面701において、依存画面702での設定を検知すると、当該設定の内容をRAM212に書き込む。依存画面702については、それぞれのボタンの押下に応じて別画面に遷移し、遷移した画面で設定が行われるようにしてもよい。CPU211は、設定ボタン703の押下を検知すると、コピーアプリケーション306の画像処理設定画面801を表示する。CPU211は、画像処理アイコン802〜805および拡張画像処理アイコン806の何れかの押下を検知すると、それぞれのアイコンに紐づいている画像処理に対して、画像処理個別設定画面が存在するか否かを判断する。画像処理個別設定画面とは、各画像処理に対する詳細を設定することが可能な画面であり、図9に示した画像処理個別設定画面502も含められる。画像処理個別設定画面は、各画像処理アイコンに対し、詳細な設定が必要な場合のみ存在する。
CPU211は、画像処理アイコン802〜805および拡張画像処理アイコン806のうち押下されたアイコンに対し、画像処理個別設定画面が存在しない場合、画像処理名として当該アイコンに対応する画像処理名を設定し、RAM212に書き込む。一方、画像処理アイコン802〜805および拡張画像処理アイコン806のうち押下されたアイコンに対し画像処理個別設定画面が存在する場合、CPU211は、当該アイコンに対応する画像処理個別設定画面を表示する。拡張画像処理アイコン806が押下された場合を例として挙げると、CPU211は、図9に示した画像処理個別設定画面502を表示する。
CPU211は、拡張画像処理設定901に対するユーザの操作を検知すると、その操作の内容を設定情報としてRAM212に書き込む。CPU211は、キャンセルボタン902の押下を検知すると、RAM212に書き込んだ設定情報を破棄し、画像処理設定画面801を表示する。一方、CPU211は、設定ボタン903の押下を検知すると、RAM212に書き込んだ設定情報を読み出す。そして、CPU211は、画像処理名として、画像処理設定画面801に対して押下されたアイコンに対応する画像処理名を設定した上で、RAM212に書き込み、画像処理設定画面801を表示する。このとき、操作部204は、画像処理設定画面801で押下されたアイコンの色を変化させたり、有効化表示をしたりするのが好ましい。拡張画像処理設定901(画像処理プラグインアプリケーション303による画像処理の設定)が有効化されたことをユーザに認識させることができるからである。ユーザは、以上の操作を所望の設定が完了するまで行い、CPU211は、その都度RAM212に設定情報を追加で書き込む。つまり、ユーザが複数の画像処理を設定した場合には、画像処理名は複数設定されることになる。また、画像処理設定画面801において、設定の更新ごとに動的にアイコンの選択可否を制御できることが好ましい。従って、CPU211は、画像処理の設定をRAM212に書き込む毎に、図10のフローチャートによる処理を実施する。
次に、ジョブ実行時のフローの一例について、コピーアプリケーション306を例に挙げて説明する。図11は、ジョブ実行の画像形成装置101の制御の一例を示すフローチャートである。図11のフローチャートで示す処理に係るプログラムは画像形成装置101のHDD213に格納されており、RAM212によって呼び出され、CPU211によって実行されるものとする。
まず、デバイス制御アプリケーション304は、コピージョブ実行指示を検知する(S1101)。そして、デバイス制御アプリケーション304は、コピーライブラリ311のAPIをコールし、更にコピーライブラリ311がスキャナ制御ドライバ318に対してスキャン指示を行う。スキャナ制御ドライバ318は、スキャナ203からスキャンした画像データを、コピーライブラリ311に送信する。
コピーライブラリ311は、コピーアプリケーション306で設定された設定情報をRAM212から取得すると、設定情報に含まれる画像処理名のうち未選択の画像処理名を1つ選択する(S1102)。以下のS1103〜S1106の処理は、S1102で選択された画像処理について行われる。
次に、コピーライブラリ311は、S1102で選択した画像処理名の画像処理が、画像処理ライブラリ315で処理可能であるか否かを判定する(S1103)。具体的にコピーライブラリ311は、設定情報に含まれる画像処理名と等しい画像処理名326を持つ画像処理ライブラリ315が存在するか否かを画像処理ライブラリ315に問い合わせることにより、S1103の判定を行う。この判定の結果、S1102で選択した画像処理名の画像処理が、画像処理ライブラリ315で処理可能である場合、コピーライブラリ311は、画像処理ライブラリ315のAPIをコールして、画像処理を実行する(S1106)。
一方、S1102で選択した画像処理名の画像処理が、画像処理ライブラリ315で処理可能でない場合、コピーライブラリ311は、プラグイン接続ライブラリ314のAPIをコールする(S1104)。プラグイン接続ライブラリ314は、S1102で選択された画像処理名に一致する画像処理名を、画像処理プラグインアプリケーション303の画像処理名321から探索する。そして、プラグイン接続ライブラリ314は、探索した画像処理名321に紐づく画像処理プラグインアプリケーション303のAPIをコールし、画像処理を実行する(S1105)。このとき、画像処理プラグインアプリケーション303は、画像処理個別設定画面502に対して入力された設定値の情報をそれぞれの画像処理に反映する。
次に、コピーライブラリ311は、コピーアプリケーション306で設定された設定情報に含まれる画像処理名の全てを選択したか否かを判定する(S1107)。この判定の結果、全ての画像処理名を選択していない場合、処理は、S1102に戻る。そして、全ての画像処理名が選択されるまで、S1102〜S1107の処理が繰り返し実行される。そして、全ての画像処理名の画像処理が終了すると、コピーライブラリ311は、プリンタ制御ドライバ317に対し印刷指示を送信する。プリンタ制御ドライバ317は、プリンタI/F215より、プリンタ202に対し印刷指示を送信する。プリンタ202は、当該印刷指示に基づいて印刷を実行する。以上によりコピージョブが完結する(S1107)。
以上のように本実施形態では、プラグインとして画像形成装置101に追加される画像処理プラグインアプリケーション303は、自身の使用が可能であるか否かを判断する使用可否判断部328を有し、自身が使用可能であるかどうかを判断する。そして、デバイス制御アプリケーション304は、この判断の結果に基づく表示形態で、当該画像処理プラグインアプリケーション303に対する拡張画像処理アイコン806を画像処理設定画面801に表示する。従って、プラグイン同士の排他関係を管理するためのサーバを設けなくても、プラグイン同士の排他の管理を適切に行うことができる。そして、プラグインとして追加された新規の画像処理と、既存の画像処理とをデバイス制御アプリケーション画面401から実行し、且つ、アプリケーションの設定内容によってプラグインの使用の可否を切り替えることができる。よって、ユーザは、プラグインとして追加された新規の画像処理と、従来の画像処理とを意識して使い分けることなく、所望のジョブを実行することが可能となるため、利便性が向上する。
(第2の実施形態)
次に、第2の実施形態を説明する。第1の実施形態では、プラグインとして追加された新規の画像処理と、既存の画像処理とをデバイス制御アプリケーション画面401から実行し、且つ、アプリケーションの設定の内容によってプラグインの使用の可否を切り替える。この他にも、プラグインの使用の可否の切り替えに際してアプリケーションの設定の内容だけではなく、他のプラグインの選択の内容を考慮することが有効な場合がある。本実施形態では、プラグイン同士で互いの機能(画像処理)を排他する場合の処理について説明する。このように本実施形態と第1の実施形態とでは、プラグイン同士で互いの機能(画像処理)を排他する点が主として異なる。従って、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図11に付した符号と同一の符号を付す等して詳細な説明を省略する。
図12は、本実施形態の画像形成装置101のソフトウェア構造の一例を示す模式的な階層図である。本実施形態では、画像処理プラグインアプリケーション303は、他の画像処理プラグインアプリケーション303との排他関係が記載されている排他情報350を保持する。表1に排他情報350の内容の一例を示す。
Figure 2018129607
排他情報350には、画像処理プラグイン名、排他関係の有無、および情報の更新日が含まれる。表1を例に挙げると、この排他情報350を保持している画像処理プラグインアプリケーション303は、「プラグインA」および「プラグインD」とは排他関係が有り、「プラグインB」とは排他関係が無いということになる。本実施形態では、例えば、排他情報350により、第2のアプリケーションによる処理の実行が可能または不可能になる要因を示す情報の一例が実現される。また、例えば、排他情報350により、第2のアプリケーションによる処理と同時に実行することができない処理を実行する他のアプリケーションの情報と、当該第2のアプリケーションと異なる他の第2のアプリケーションを示す情報の一例が実現される。
以下に、プラグインアプリケーション301のインストールから起動、停止、アンインストールまでの一連の流れの一例を示す。
CPU211は、プラグインアプリケーション301のインストールを検知すると、当該プラグインアプリケーション301の情報をHDD213に保存する。次に、CPU211は、プラグインアプリケーション301に対する開始指示を検知すると、当該プラグインアプリケーション301に対する起動指示を行う。プラグインアプリケーション301は、起動している間、各プログラムの内容を実行する事が可能である。次に、CPU211はプラグインアプリケーション301に対する停止指示を検知すると、当該プラグインアプリケーション301に対して停止指示を行う。更にCPU211は、プラグインアプリケーション301に対するアンインストール指示を検知すると、HDD213に保存されたプラグインアプリケーション301の情報を削除する。尚、これらの指示は、リモートUIや操作部204から行うことが可能だが、これ以外でも構わない。また、画像処理プラグインアプリケーション303のインストール時には、以上の処理に加えて、CPU211は、画像処理プラグインアプリケーション303に同梱されている排他情報350をHDD213に保存する。
ここで、図13のフローチャートを参照しながら、排他情報350をHDD213に保存する際の画像形成装置101の処理の一例を説明する。尚、図13のフローチャートで示す処理は、画像形成装置101のHDD213に格納されたプラグイン接続ライブラリ314を利用することによって実行されるものとする。なお、ここでは前述の表1のような排他情報350を保持する「プラグインC」というプラグイン名のプラグインがインストールされることとする。
プラグイン接続ライブラリ314は、画像処理プラグインアプリケーション303のインストール時に、そのプラグイン名と、それに紐づいた排他情報350との登録を受け付ける(S1301)。次に、プラグイン接続ライブラリ314は、S1301で登録された排他情報350に、排他関係にあるプラグイン名の記載があるか否かを判定する(S1302)。本実施形態では、例えば、S1302の処理により、第1の管理手段が、第2のアプリケーションにより実行される処理と同時に実行できない他のアプリケーションの処理を特定することの一例が実現される。
この判定の結果、プラグイン名の記載がある場合、処理はS1303へ進み、記載がない場合、処理はS1303〜S1306を省略して後述するS1307に進む。「プラグインC」の排他情報350として表1のような排他情報350が登録された場合、排他関係にあるが画像処理プラグインアプリケーション303として「プラグインA」および「プラグインD」の記載があるので、処理は、S1303に進む。次に、プラグイン接続ライブラリ314は、その排他関係にある画像処理プラグインアプリケーション303に紐づいて保存されている排他情報350を当該画像処理プラグインアプリケーション303から取得する(S1303)。ここでは、「プラグインA」の排他情報350が、以下の表2のようなものであったとする。
Figure 2018129607
次に、プラグイン接続ライブラリ314は、その排他情報350に、S1301で登録を受け付けた画像処理プラグインアプリケーション303(ここでは「プラグインC」)との排他関係の情報の記載がないか否かを判定する(S1304)。この判定の結果、排他関係にある画像処理プラグインアプリケーション303の排他情報350に、登録を受け付けた画像処理プラグインアプリケーション303との排他関係の情報の記載がない場合、処理はS1306へ進む。表2の例では、「プラグインC」の排他情報350に排他関係にある画像処理プラグインアプリケーション303として記載されている「プラグインA」の排他情報350には「プラグインC」との排他関係の情報の記載がない。このため、処理はS1305を省略してS1306へ進む。
一方、排他関係にある画像処理プラグインアプリケーション303の排他情報350に、S1301で登録を受け付けた画像処理プラグインアプリケーション303との排他関係の情報の記載がある場合、処理はS1305へ進む。そして、プラグイン接続ライブラリ314は、その排他関係の情報における更新日が、S1301で登録を受け付けた排他情報350に記載されている更新日よりも古いか否かを判定する(S1305)。この判定の結果、更新日が古い場合、処理はS1306へ進み、古くない場合、処理はS1306を省略して後述するS1307へ進む。
S1306に進むと、プラグイン接続ライブラリ314は、S1301で登録を受け付けた画像処理プラグインアプリケーション303と排他関係にある画像処理プラグインアプリケーション303に対して修正依頼を行う(S1306)。この修正依頼は、S1301で登録を受け付けた画像処理プラグインアプリケーション303と排他関係にある画像処理プラグインアプリケーション303の排他情報350の内容をS1301で登録を受け付けた排他情報350と一致させる依頼である。表2の例では、「プラグインA」の排他情報350は、表1の「プラグインC」の排他情報350の内容と一致するように、以下の表3のように修正される。この修正は、画像処理プラグインアプリケーション303の使用可否判断部328で行われる。本実施形態では、例えば、S1306の処理により、第2のアプリケーションが有する第2の管理手段が、当該第2の管理手段が管理する管理情報を変更することの一例が実現される。また、例えば、「プラグインC」、「プラグインA」の排他情報350の「プラグインA」、「プラグインC」の更新日により、同時に処理を実行することができない複数の第2のアプリケーションに対する管理情報の更新のタイミングの一例が実現される。また、例えば、プラグイン接続ライブラリ314が、「プラグインA」の排他情報350を変更すると決定することにより、第1の管理手段が、変更する管理情報を決定することの一例が実現される。
Figure 2018129607
以上のようにしてS1301で登録を受け付けた画像処理プラグインアプリケーション303と排他関係にある画像処理プラグインアプリケーション303の排他情報350の修正が完了する。そして、S1707に進むと、プラグイン接続ライブラリ314は、S601で登録を受け付けた画像処理プラグインアプリケーション303の排他情報350の修正を依頼する。そして、当該画像処理プラグインアプリケーション303は、自身の排他情報350の内容を修正する(S1707)。
次に、図14のフローチャートを参照しながら、図13のS1307の詳細の一例を説明する。尚、図14のフローチャートで示す処理は、CPU211が画像形成装置101のHDD213に格納されたプラグイン接続ライブラリ314を利用することによって実行されるものとする。
初めに、プラグイン接続ライブラリ314は、HDD213に保存されている、登録済みの全ての画像処理プラグインアプリケーション303に紐づいた排他情報350を各画像処理プラグインアプリケーション303から取得する(S1401)。次に、プラグイン接続ライブラリ314は、S1301で登録を受け付けた画像処理プラグインアプリケーション303のプラグイン名の記載がある排他情報350が、S1401で取得された排他情報350から検出されたか否か判定する(S1402)。本実施形態では、例えば、S1402の処理により、第1の管理手段が、第2のアプリケーションにより実行される処理と同時に実行できない他のアプリケーションの処理を特定することの一例が実現される。
この判定の結果、排他情報350が検出された場合、処理はS1403へ進み、検出されなかった場合、図14のフローチャートによる処理は終了する。ここでは、「プラグインD」という名前の画像処理プラグインアプリケーション303に紐づいた、表4のような排他情報350が検出されたこととする。
Figure 2018129607
表4の例では、「プラグインD」の排他情報350には、「プラグインC」との排他関係の情報の記載があるため、処理はS1403へ進む。尚、このとき、複数の排他情報350が検出された場合は、次のS1403、S1404、S1405、S1406の処理はそれぞれの排他情報350に対して繰り返し行われる。S1403に進むと、プラグイン接続ライブラリ314は、S1301で登録を受け付けた画像処理プラグインアプリケーション303に紐づく排他情報350をS1401で取得した複数の排他情報350の中から検索する(S1403)。次に、プラグイン接続ライブラリ314は、S1403で検索した排他情報350に、S1402で検出された排他情報350に紐づく画像処理プラグインアプリケーション303のプラグイン名の記載がないか否かを判定する(S1404)。この判定の結果、プラグイン名の記載がある場合、処理はS1405へ進み、記載がない場合、処理はS1405を省略してS1406へ進む。
S1405に進むと、プラグイン接続ライブラリ314は、S1403で検索した排他情報350とS1402で検出された排他情報350とのそれぞれに記載されている更新日を比較する。そして、プラグイン接続ライブラリ314は、S1402で検出された排他情報350の更新日の方S1403で検索した排他情報350よりも、更新日が新しいか否かを判定する(S1405)。この判定の結果、更新日が新しい場合、処理はS1406へ進み、新しくない場合、図14のフローチャートによる処理は終了する。
表1(S1403で検索した排他情報350)と表4(S1802で検出された排他情報350)の例では、表4の更新日の方が表1の「プラグインD」の更新日よりも新しいため、処理はS1406へ進む。S1406に進むと、プラグイン接続ライブラリ314は、S1301で登録を受け付けた画像処理プラグインアプリケーション303に対して修正依頼を行う(S1406)。この修正依頼は、S1301で登録を受け付けた排他情報350の内容を、S1402で検出された排他情報350の記載と一致させる依頼である。表1の排他情報350は、表4の排他情報350の内容と一致するように、以下の表5のように修正される。この修正は、画像処理プラグインアプリケーション303の使用可否判断部328で行われる。本実施形態では、例えば、S1406の処理により、第2のアプリケーションが有する第2の管理手段が、当該第2の管理手段が管理する管理情報を変更することの一例が実現される。また、例えば、「プラグインC」、「プラグインD」の排他情報350の「プラグインD」、「プラグインC」の更新日により、同時に処理を実行することができない複数の第2のアプリケーションに対する管理情報の更新のタイミングの一例が実現される。また、例えば、プラグイン接続ライブラリ314が、「プラグインC」の排他情報350を変更すると決定することにより、第1の管理手段が、変更する管理情報を決定することの一例が実現される。
Figure 2018129607
本実施形態においては、S1004で行われる表示形態の決定のために使用可否判断部328の内部で排他情報350を用いる。即ち、画像処理プラグインアプリケーション303は、HDD213に保存されている排他情報350のファイルの内容をもとに、画像処理プラグインアプリケーション303自身が使用可能であるかどうかを判断する。そして、プラグイン接続ライブラリ314は、画像処理プラグインアプリケーション303から取得した画面情報327と共に表示形態を、プラグイン接続ライブラリ314を介してコピーアプリケーション306に返却する。
以上のように本実施形態では、プラグインとして画像形成装置101に追加される画像処理プラグインアプリケーション303は、自身と同時に実行することができない他の画像処理プラグインアプリケーション303の情報を排他情報350として保持する。そして、プラグイン接続ライブラリ314は、排他情報350の内容の変更を依頼する。例えば、プラグイン接続ライブラリ314は、排他の関係にある複数の画像処理プラグインアプリケーション303の排他情報350について、更新日が相対的に新しい排他情報350に合わせて更新日が相対的に古い排他情報350を変更することを依頼する。また、画像処理プラグインアプリケーション303は、排他情報350に基づいて、自身が使用可能であるかどうかを判断する。従って、画像処理プラグインアプリケーション303の同士が同時に使用されることに制約がある場合でも、適切に処理を行うことができる。よって、ユーザは、プラグインとして追加された新規の画像処理と、既存の画像処理とを意識して使い分けることなく、所望のジョブを実行することが可能となるため、利便性が向上する。尚、第1の実施形態における使用可否判断部328の判断と、本実施形態における使用可否判断部328の判断とを組み合わせてもよい。例えば、本実施形態の判断手法では使用が可能であっても、第1の実施形態の判断手法では使用が可能でない場合、使用可否判断部328は、自身が属する画像処理プラグインアプリケーション303の使用が可能ではないと判断してもよい。
(第3の実施形態)
次に、第3の実施形態を説明する。第1の実施形態では、プラグインとして追加された新規の画像処理と、既存の画像処理とをデバイス制御アプリケーション画面401から実行し、且つ、アプリケーションの設定の内容によってプラグインの使用の可否を切り替える。この他にも、画像処理プラグインアプリケーション303の設定に応じて、従来の画像処理の使用可否を切り替えることが有効な場合がある。そこで、本実施形態では、画像処理プラグインアプリケーション303の設定を考慮した上で、従来の画像処理の使用可否を切り替える。従来の画像処理とは、画像形成装置101のHDD213に常時格納されている画像処理プログラムであり、ファームの更新においてのみ追加可能な画像処理を指す。このように本実施形態と、第1〜第3の実施形態とは、画像処理の使用可否の判断に係る処理が主として異なる。従って、本実施形態の説明において、第1〜第2の実施形態と同一の部分については、図1〜図14に付した符号と同一の符号を付す等して詳細な説明を省略する。
図15は、本実施形態の画像形成装置101のソフトウェアの構造の一例を示す模式的な階層図である。本実施形態では、画像処理プラグインアプリケーション303は、従来の画像処理との排他関係が記載されている表6のような従来画像処理排他情報360を保持しているものとする。前述したように従来の画像処理とは、画像形成装置101のHDD213に常時格納されている画像処理プログラムであり、ファームの更新においてのみ追加可能な画像処理を指す。
Figure 2018129607
従来画像処理排他情報360には、排他対象の従来の画像処理が記載されている。表6を例に挙げると、この従来画像処理排他情報360を保持している画像処理プラグインアプリケーション303は、「画像処理A」および「画像処理C」と排他関係があることを表している。CPU211は、画像処理プラグインアプリケーション303のインストール時に、従来画像処理排他情報360をHDD213に書き込む。本実施形態では、例えば、従来画像処理排他情報360により、第2のアプリケーションによる処理の実行が可能または不可能になる要因を示す情報の一例が実現される。また、例えば、従来画像処理排他情報360により、第2のアプリケーションによる処理と同時に実行することができない処理を実行する他のアプリケーションの情報と、プラグインではないアプリケーションにより実行される処理を示す情報の一例が実現される。
図16は、デバイス制御アプリケーション304が、画像処理設定画面801を表示する際の処理の一例を示すフローチャートである。図16は、従来の画像処理に対するアイコンの表示の切り替え処理を示したフローチャートである。以下に、コピーアプリケーション306の起動を例に挙げ、画像処理設定画面801を表示する際のフローについて説明する。尚、図16のフローチャートで示す処理は、画像形成装置101のHDD213に格納されたコピーアプリケーション306のプログラムにより制御されるものであり、RAM212によって呼び出され、CPU211によって実行されるものとする。
コピーアプリケーション306は、画像処理設定画面801の表示要求を受信すると、RAM212に書き込まれた設定済み画像処理プラグインアプリケーション303のリストを取得する(S1601)。そしてコピーアプリケーション306は、次に、コピーアプリケーション306は、設定済み画像処理プラグインアプリケーション303のリストから、未選択の設定済み画像処理プラグインアプリケーションを1つ選択する(S1602)。設定済み画像処理プラグインアプリケーション303は、画像処理個別設定画面502により既に設定がなされている画像処理プラグインアプリケーション303を指す。
次に、コピーアプリケーション306は、プラグイン接続ライブラリ314の機能を利用し、S1602で選択した設定済み画像処理プラグインアプリケーション303から従来画像処理排他情報360を取得する(S1603)。次に、コピーアプリケーション306は、S1603で取得した従来画像処理排他情報360に含まれる従来の画像処理のうち、未選択の画像処理を1つ選択する(S1604)。次に、コピーアプリケーション306は、S1603で取得した従来画像処理排他情報360に記載されている従来の画像処理に対するアイコンの表示形態を判定する(S1605)。この判定は、HDD213に格納された表示設定に基づいて行われる。この表示設定は、画像形成装置101の管理者等が操作部204を用いて設定する。本実施形態では、表示設定として、第1の実施形態で説明した"可視状態(表示)"、"選択不可状態(グレーアウト)"、および"不可視状態(非表示)"の何れかが設定されるものとする。
そして、コピーアプリケーション306は、表示設定に応じて、S2004で選択した従来の画像処理を設定するためのアイコンを、非表示、グレーアウト(S1606)、および選択可能な形で表示(S1607)の何れかの処理を行う。本実施形態では、このようにしてコピーアプリケーション306が表示形態を決定することにより、決定手段の一例が実現される。また、本実施形態では、例えば、S1606、S1607の処理により、表示手段の一例が実現される。
そして、コピーアプリケーション306は、S1603で取得した従来画像処理排他情報360に含まれる従来の画像処理の全てを選択したか否かを判定する(S1608)。この判定の結果、従来の画像処理の全てを選択していない場合、処理は、S1604に戻る。そして、従来の画像処理の全てについてS1604〜S1607の処理が終了すると、S1602で選択された設定済み画像処理プラグインアプリケーションに対する処理が完了する。そして、コピーアプリケーション306は、設定済み画像処理プラグインアプリケーション303のリストから、全ての設定済み画像処理プラグインアプリケーションを選択したか否かを判定する(S1609)。この判定の結果、全ての設定済み画像処理プラグインアプリケーションを選択していない場合、処理は、S1602に戻る。そして、全ての設定済み画像処理プラグインアプリケーションについてS1602〜S1808の処理が終了すると、図16のフローチャートによる全ての処理が終了する。
以上のように本実施形態では、画像処理プラグインアプリケーション303に対する設定に応じて、画像形成装置101に常時格納されている画像処理(従来の画像処理)の設定を行うためのアイコンの表示形態を決定する。従って、アプリケーションに対するプラグインの設定の内容に応じて、従来の画像処理の使用の可否を切り替えることが可能となるため、ユーザの利便性が向上する。尚、本実施形態において、第1の実施形態で説明した図10のフローチャートによる処理を図16のフローチャートと組み合わせて行うようにしてもよい。
(第4の実施形態)
次に、第4の実施形態を説明する。第1の実施形態では、画像処理プラグインアプリケーション303が、デバイス制御アプリケーション304の設定および現在の機器構成を取得し、自身の表示形態を返却する場合について説明したが、表示形態を直接返却しない場合も考えられる。本実施形態では、プラグイン接続ライブラリ314が、画像処理プラグインアプリケーション303の表示形態を直接返却せず、デバイス制御アプリケーション304が、プラグイン接続ライブラリ314から返却された情報に基づいて、表示形態を判断する。このように本実施形態と第1〜第3の実施形態とは、画像処理プラグインアプリケーション303のアイコンの表示形態に係る処理が主として異なる。従って、本実施形態の説明において、第1〜第3の実施形態と同一の部分については、図1〜図16に付した符号と同一の符号を付す等して詳細な説明を省略する。
図17は、本実施形態における使用可否判断部328の構成の一例を示す図である。本実施形態では、使用可否判断部328は、以下の2つの判断部を有する。一つ目は、機器構成判断部1701である。機器構成判断部1701は、所与の機器構成で画像処理プラグインアプリケーション303が使用可能であるか否かを判断する。二つ目は、アプリケーション設定判断部1702である。アプリケーション設定判断部1702は、所与のデバイス制御アプリケーションの設定で画像処理プラグインアプリケーション303が使用可能であるか否かを判断する。
図18は、デバイス制御アプリケーション304が、画像処理設定画面801を表示する際の処理の一例を示すフローチャートである。以下に、コピーアプリケーション306の起動を例に挙げ、デバイス制御アプリケーション304内の画像処理設定画面801を表示する際のフローについて説明する。尚、図18のフローチャートで示す処理は、画像形成装置101のHDD213に格納されたコピーアプリケーション306のプログラムにより制御されるものであり、RAM212によって呼び出され、CPU211によって実行されるものとする。
コピーアプリケーション306は、画像処理設定画面801の表示要求を受信すると、画像処理ライブラリ315により実現可能な画像処理に対応するアイコンを表示する(S1801)。S1801で表示されるアイコンは、図8に示した例ではアイコン802、803、804、805である。本実施形態では、例えば、S1801の処理により、表示手段の一例が実現される。
次に、コピーアプリケーション306は、プラグイン接続ライブラリ314に問い合わせ、画像処理プラグインアプリケーション303のリストを取得する(S1802)。次に、コピーアプリケーション306は、S1802で取得したリストに含まれる画像処理プラグインアプリケーション303のうち、未選択のものを1つ選択する。S1804〜S1808の処理は、プラグイン接続ライブラリ314の機能を利用し、S1803で選択された画像処理プラグインアプリケーション303について行われる。
まず、コピーアプリケーション306は、S1803で選択した画像処理プラグインアプリケーション303が、現在の機器構成で使用可能であるか否かを判定する(S1804)。具体的には、コピーアプリケーション306は、当該画像処理プラグインアプリケーション303が現在の機器構成で使用可能であるか否かをプラグイン接続ライブラリ314に確認する。これに対応して、プラグイン接続ライブラリ314は、管理ライブラリ330から現在の機器構成を取得して機器構成判断部1701に出力することにより、当該画像処理プラグインアプリケーション303の機器構成判断部1701に使用可否を問い合わせる。問い合わせを受信した機器構成判断部1701は、受信した機器構成に基づいて、自身が属する画像処理プラグインアプリケーション303が使用可能であるか否かを判定し、使用可否を返却する。この判定の結果、画像処理プラグインアプリケーション303が使用可能でない場合、処理は、後述するS1809に進む。一方、画像処理プラグインアプリケーション303が使用可能である場合、コピーアプリケーション306は、S1803で選択した画像処理プラグインアプリケーション303に対応する画面情報327を取得する(S1805)。
次に、コピーアプリケーション306は、S1803で選択した画像処理プラグインアプリケーション303が現在のアプリケーション設定で使用可能であるか否かを判定する(S1806)。具体的には、コピーアプリケーション306は、S1603で選択した画像処理プラグインアプリケーション303が現在のアプリケーション設定で使用可能か否かをプラグイン接続ライブラリ314に問い合わせる。このとき、コピーアプリケーション306は、現在のコピーアプリケーション306の設定情報をプラグイン接続ライブラリ314に送信する。これに対応してプラグイン接続ライブラリ314は、S1603で選択した画像処理プラグインアプリケーション303のアプリケーション設定判断部1702に使用可否を問い合わせる。このとき、プラグイン接続ライブラリ314は、コピーアプリケーション306から受信した現在のコピーアプリケーション306の設定情報を送信する。この問い合わせを受信したアプリケーション設定判断部1702は、この問い合わせに含まれるアプリケーション設定に基づいて、自身が属する画像処理プラグインアプリケーション303が使用可能であるか否かを判断し、使用可否を返却する。
この判定の結果、画像処理プラグインアプリケーション303が現在のアプリケーション設定で使用可能でない場合、コピーアプリケーション306は、拡張画像処理アイコンの表示形態を、ユーザによる選択が不可能な形態に決定する。そして、コピーアプリケーション306は、ユーザによる選択が不可能な形態で、拡張画像処理アイコンを画像処理設定画面801に表示する(S1807)。図8に示す例では、拡張画像処理アイコン807が、ユーザによる選択を不可能とする表示形態の一例である。本実施形態では、このようにしてコピーアプリケーション306が表示形態を決定することにより、決定手段の一例が実現される。また、本実施形態では、例えば、S1807の処理により、表示手段の一例が実現される。
一方、画像処理プラグインアプリケーションが現在のアプリケーション設定で使用可能である場合、コピーアプリケーション306は、拡張画像処理アイコンの表示形態を、ユーザによる選択が可能な形態に決定する。そして、コピーアプリケーション306は、ユーザによる選択が可能な形態で、拡張画像処理アイコンを画像処理設定画面801に表示する(S1808)。本実施形態では、このようにしてコピーアプリケーション306が表示形態を決定することにより、決定手段の一例が実現される。また、本実施形態では、例えば、S1808の処理により、表示手段の一例が実現される。
次に、コピーアプリケーション306は、S1802で取得したリストに含まれる画像処理プラグインアプリケーション303のリストに含まれる全ての画像処理プラグインアプリケーション303を選択したか否かを判定する(S1809)。この判定の結果、全ての画像処理プラグインアプリケーション303を選択していない場合、処理は、S1803に戻り、全ての画像処理プラグインアプリケーション303が選択されるまでS1803〜S1809の処理が繰り返し実行される。そして、全ての画像処理プラグインアプリケーション303についてS1803〜S1808の処理が実行されると、図18のフローチャートによる処理は終了する。
以上の処理により、コピーアプリケーション306の画像処理設定画面801に、画像処理プラグインアプリケーション303の画像処理アイコン501を挿入することができる。
本実施形態で示した方法で画像処理プラグインアプリケーション303の画像処理アイコン501の表示形態を決定することにより、デバイス制御アプリケーション304側の都合で表示形態を制御することが可能になる。例えば、画像形成装置101の管理者向けのデバイス制御アプリケーション304の場合、機器構成を変更することで有効化される機能の確認が必要である可能性がある。このような場合でも、画像処理プラグインアプリケーション側の制御を変えずに表示形態を柔軟に制御することが可能となる。
(第5の実施形態)
次に、第5の実施形態を説明する。第1の実施形態では、画像処理プラグインアプリケーション303が、デバイス制御アプリケーション304の設定および現在の機器構成を取得し、自身の表示状態を返却する場合について説明した。その他にも、ユーザによって既に設定された内容とは組み合わせられない画像処理の選択を不可能にするのではなく、ユーザにより画像処理を選択させたうえで、当該画像処理が有効となるように他のアプリケーションの設定を変更することも可能である。本実施形態では、このような場合の実施形態の例について説明する。本実施形態では、このような場合について説明する。このように本実施形態と第1〜第4の実施形態では、画像処理の使用可否の判断に係る処理が主として異なる。従って、本実施形態の説明において、第1〜第4の実施形態と同一の部分については、図1〜図18に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態では、デバイス制御アプリケーション304としてコピーアプリケーション306を例に挙げて説明を行う。尚、本実施形態においては、プラグイン接続ライブラリ314は、S1004において常に表示形態を"表示"で返却するものとする。
図19は、本実施形態の画像形成装置101のソフトウェア構造の一例を示す模式的な階層図である。
本実施形態では、画像処理プラグインアプリケーション303は、設定補正部340を更に有する。設定補正部340は、画像処理プラグインアプリケーション303自身が動作するために、デバイス制御アプリケーション304の設定を加工する処理が含まれる。
本実施形態では、デバイス制御アプリケーション304は、画像処理設定画面801を表示中に拡張画像処理アイコン806の押下を検知するタイミングに関連付けて、必要に応じて以下の処理を行う。即ち、プラグイン接続ライブラリ314は、拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の設定補正部340を呼び出す。具体的にプラグイン接続ライブラリ314は、拡張画像処理アイコン806に対応する画像処理個別設定画面502が存在しない場合、拡張画像処理アイコン806の押下を検知したタイミングで、直ちに設定補正部340を呼び出す。このとき、プラグイン接続ライブラリ314は、現在のコピーアプリケーション306の設定情報を送信する。一方、拡張画像処理アイコン806に対応する対応する画像処理個別設定画面502が存在する場合、プラグイン接続ライブラリ314は、以下の処理を行う。即ち、プラグイン接続ライブラリ314は、当該画像処理個別設定画面502を表示し、設定ボタン903の押下を検知したタイミングで現在のコピーアプリケーション306の設定情報を取得する。そして、プラグイン接続ライブラリ314は、設定補正部340を呼び出す。このとき、プラグイン接続ライブラリ314は、現在のコピーアプリケーション306の設定情報を送信する。
プラグイン接続ライブラリ314により呼び出された設定補正部340は、当該プラグイン接続ライブラリ314から受信した現在のコピーアプリケーション306の設定情報の内容を確認する。この確認の結果、現在のコピーアプリケーション306の設定の中に、拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の実行を妨げる設定があれば、設定補正部340は、以下の処理を行う。即ち、設定補正部340は、現在のコピーアプリケーション306の設定を変更し、変更したコピーアプリケーション306の設定の内容を返却する。これに対応し、コピーアプリケーション306は、変更された設定の内容に従い画像処理個別設定画面を含むデバイス制御アプリケーション画面401の内容を再描画する。本実施形態では、以上のようにして設定補正部340が、コピーアプリケーション306の設定を変更することにより、第2の管理手段が、第1のアプリケーションの処理の設定を変更することの一例が実現される。
以上のように本実施形態では、画像処理プラグインアプリケーション303の実行を妨げる設定がコピーアプリケーション306になされている場合、当該実行が妨げられないようにコピーアプリケーション306の設定を変更する。従って、ユーザが頻繁に設定する機能など、予めユーザによる選択を不可能にしてしまうことで利便性が低下してしまう機能を実現することが可能となる。本実施例で示した方法によると、例えばあらかじめユーザによる選択を不可能にしてしまうことで利便性が低下してしまう機能においても、適切な制御を行うことが可能となる。尚、本実施形態で説明した処理は、コピーアプリケーション306ではなく、プラグイン接続ライブラリ314やデバイス制御アプリケーション304で行ってもよい。
(第6の実施形態)
次に、第6の実施形態を説明する。第5の実施形態では、設定補正部340は、現在のコピーアプリケーション306の設定の内容では使用できない機能であっても、機能が選択された際に、この機能が動作可能になるようにコピーアプリケーション306の設定を変更する。しかしながら、これに限らず、設定補正部340により加工された他のアプリケーションの設定が、ユーザが変更可能な設定であるか否かの情報を設定補正部340が更に付与してデバイス制御アプリケーション304に返却してもよい。本実施形態では、このような場合について説明する。このように本実施形態と第1〜第5の実施形態では、画像処理の設定に係る処理が主として異なる。従って、本実施形態の説明において、第1〜第5の実施形態と同一の部分については、図1〜図19に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態では、デバイス制御アプリケーション304としてコピーアプリケーション306を例に挙げて説明を行う。また、本実施形態では、拡張画像処理アイコン806に対応する画像処理が、製本面付け機能と排他である場合を例に挙げて説明する。
本実施形態では、設定補正部340は、コピーアプリケーション306に、コピーアプリケーション306の変更後の設定の内容を返却する際、各設定内容の表示形態を併せて返却するものとする。本実施形態では、設定内容の表示形態は、第1の実施形態で説明した"可視状態(表示)"、"選択不可状態(グレーアウト)"、および"不可視状態(非表示)"の何れかから選択されるものとする。設定補正部340は、製本面付けを無効として、コピーアプリケーション306の設定の内容を加工すると共に、製本面付けの表示形態を"グレーアウト"として設定し、コピーアプリケーション306に返信する。これに対応し、コピーアプリケーション306は、変更された設定の内容に従い、画像処理個別設定画面を含むデバイス制御アプリケーション画面401の内容を再描画する。本実施形態では、このようにして設定補正部340が表示形態を決定することにより、決定手段の一例が実現される。
図20は、拡張画像処理アイコン806に対応する画像処理が有効化された後の画像処理設定画面801の状態の一例を示す図である。コピーアプリケーション306による再描画の結果、製本面付け機能に対応するアイコン802が選択不可能な形態で表示される。このため、ユーザは、製本面付け機能に対し設定の変更を行うことはできない。よって、適切な設定でコピー処理を行うことが可能となる。本実施形態では、アイコン802の表示形態が選択不可能な形態とされることにより、第1のアプリケーションにより実行される処理の設定を選択することができない表示形態に、当該処理の設定を選択する部分の表示形態が決定されることの一例が実現される。
(第7の実施形態)
次に、第7の実施形態を説明する。第5の実施形態では、設定補正部340は、現在のコピーアプリケーション306の設定の内容では使用できない機能であっても、機能が選択された際に、この機能が動作可能になるようにコピーアプリケーション306の設定を変更する。このような場合において、特定の機能を有効化するために既に存在する設定を補正するだけではなく、補正すべき情報をユーザに提示する形態としてもよい。本実施形態では、このような場合について説明する。このように本実施形態と第1〜第6の実施形態では、画像処理の設定に係る情報を表示する点が主として異なる。従って、本実施形態の説明において、第1〜第6の実施形態と同一の部分については、図1〜図20に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態では、拡張画像処理アイコン806に対応する画像処理が、アイコン802に対応する製本面付け機能と排他である場合を例に挙げて説明する。また、製本面付け設定が既になされているものとする。デバイス制御アプリケーション304は、画像処理設定画面801を表示中に拡張画像処理アイコン806の押下を検知すると、プラグイン接続ライブラリ314を通して、以下の処理を行う。即ち、デバイス制御アプリケーション304は、当該拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の設定補正部340を呼び出す。
具体的にプラグイン接続ライブラリ314は、拡張画像処理アイコン806に対応する画像処理個別設定画面502が存在しない場合、拡張画像処理アイコン806の押下を検知したタイミングで、直ちに設定補正部340を呼び出す。このとき、プラグイン接続ライブラリ314は、現在のコピーアプリケーション306の設定情報を送信する。一方、拡張画像処理アイコン806に対応する対応する画像処理個別設定画面502が存在する場合、プラグイン接続ライブラリ314は、以下の処理を行う。即ち、プラグイン接続ライブラリ314は、当該画像処理個別設定画面502を表示し、設定ボタン903の押下を検知したタイミングで現在のコピーアプリケーション306の設定情報を取得する。そして、プラグイン接続ライブラリ314は、設定補正部340を呼び出す。このとき、プラグイン接続ライブラリ314は、現在のコピーアプリケーション306の設定情報を送信する。
プラグイン接続ライブラリ314により呼び出された設定補正部340は、当該プラグイン接続ライブラリ314から受信した現在のコピーアプリケーション306の設定情報の内容を確認する。この確認の結果、現在のコピーアプリケーション306の設定の中に、拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の実行を妨げる設定があれば、設定補正部340は、以下の処理を行う。即ち、設定補正部340は、現在のコピーアプリケーション306の設定を変更し、変更したコピーアプリケーション306の設定の内容を返却する。これに対応し、コピーアプリケーション306は、変更された設定の内容に従い、デバイス制御アプリケーション304の現在の設定を補正する必要があることを示す補正メッセージ画面を生成して画像処理設定画面801に対しポップアップ表示する。
図21は、補正メッセージ表示画面の一例を示す図である。補正メッセージ画面は、画像処理設定画面801に対して拡張画像処理アイコン806が押下されると画像処理設定画面801に対してポップアップ表示される。補正メッセージ表示画面は、補正メッセージ2101およびOKボタン2102を含む。補正メッセージ2101は、どの設定において排他が存在するかを明示的に示すメッセージである。ユーザは、補正メッセージ2101を確認することで、補正された設定を知ることが可能である。尚、ユーザが、OKボタン2102を押下すると、コピーアプリケーション306は、補正メッセージ画面を消去して画像処理設定画面801を表示する。これによりユーザは再び画像処理の設定を継続することが可能である。また、このタイミングでコピーアプリケーション306は、画像処理個別設定画面を含むデバイス制御アプリケーション画面401の内容を再描画する。本実施形態では、例えば、補正メッセージ2101により、第2のアプリケーションによる処理の実行を妨げる第1のアプリケーションの処理の設定を、当該第2のアプリケーションによる処理の実行ができるように変更されたことを示す情報の一例が実現される。
以上のように本実施形態では、拡張画像処理アイコン806と排他の関係にならないように、デバイス制御アプリケーション304の現在の設定を補正する。そして、そのことを示す補正メッセージ2101を表示する。従って、現在のコピーアプリケーション306の設定の内容で使用できない機能の内容を、ユーザに明示的に示すことが可能となる。よって、ユーザの利便性が向上する。
(第8の実施形態)
次に、第8の実施形態を説明する。第7の実施形態では、現在のコピーアプリケーション306の設定の内容では使用できない機能がある場合、当該設定を補正した上で、そのことを示す補正メッセージ2101を表示する。しかしながら、このような場合において、排他情報をユーザに表示するのみで、補正しないという手段をとってもよい。本実施形態では、このような場合について説明する。このように本実施形態と第1〜第7の実施形態では、画像処理の設定に係る情報を表示する点が主として異なる。従って、本実施形態の説明において、第1〜第7の実施形態と同一の部分については、図1〜図21に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態では、拡張画像処理アイコン806に対応する画像処理が、アイコン802に対応する製本面付機能と排他である場合を例に挙げて説明する。また、製本面付け設定が既になされているものとする。デバイス制御アプリケーション304は、画像処理設定画面801を表示中に拡張画像処理アイコン806の押下を検知すると、プラグイン接続ライブラリ314を通して、以下の処理を行う。即ち、デバイス制御アプリケーション304は、当該拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の設定補正部340を呼び出す。
具体的にプラグイン接続ライブラリ314は、拡張画像処理アイコン806に対応する画像処理個別設定画面502が存在しない場合、拡張画像処理アイコン806の押下を検知したタイミングで、直ちに設定補正部340を呼び出す。このとき、プラグイン接続ライブラリ314は、現在のコピーアプリケーション306の設定情報を送信する。一方、拡張画像処理アイコン806に対応する対応する画像処理個別設定画面502が存在する場合、プラグイン接続ライブラリ314は、以下の処理を行う。即ち、プラグイン接続ライブラリ314は、当該画像処理個別設定画面502を表示し、設定ボタン903の押下を検知したタイミングで現在のコピーアプリケーション306の設定情報を取得する。そして、プラグイン接続ライブラリ314は、設定補正部340を呼び出す。このとき、プラグイン接続ライブラリ314は、現在のコピーアプリケーション306の設定情報を送信する。
プラグイン接続ライブラリ314により呼び出された設定補正部340は、当該プラグイン接続ライブラリ314から受信した現在のコピーアプリケーション306の設定情報の内容を確認する。この確認の結果、現在のコピーアプリケーション306の設定の中に、拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の実行を妨げる設定があれば、設定補正部340は、以下の処理を行う。即ち、設定補正部340は、現在のコピーアプリケーション306の設定を変更し、変更したコピーアプリケーション306の設定の内容を返却する。これに対応し、コピーアプリケーション306は、変更された設定の内容に従い、警告メッセージ画面を生成して画像処理設定画面801に対してポップアップで表示する。
図22は、警告メッセージの表示画面の一例を示す図である。警告メッセージ表示画面は、画像処理設定画面801の拡張画像処理アイコン806が押下されると画像処理設定画面801に対してポップアップで表示される。警告メッセージ2201は、どの設定において排他が存在するか明示的に示すメッセージである。ユーザは、警告メッセージ2201を確認することで、設定が有効化できない理由を知ることが可能である。尚、ユーザが、OKボタン2202を押下すると、コピーアプリケーション306は、警告メッセージ画面を消去して画像処理設定画面801を表示する。これによりユーザは再び画像処理の設定を継続することが可能である。本実施形態では、例えば、警告メッセージ2201により、第2のアプリケーションにより実行される処理が実行できないことを示す情報の一例が実現される。
以上のように本実施形態では、デバイス制御アプリケーション304の設定により、拡張画像処理アイコン806に対応する画像処理を有効化が可能でない場合、そのことを示す情報を表示する。従って、現在のコピーアプリケーション306の設定の内容で使用できない機能の内容を、ユーザに明示的に示すことが可能となる。よって、ユーザの利便性が向上する。
(第9の実施形態)
次に、第9の実施形態を説明する。第7および第8の実施形態では、画像処理プラグインアプリケーション303の機能として、現在のデバイス制御アプリケーション304の設定の内容では使用できない機能の設定の選択時に補正メッセージ2101または警告メッセージ2201を表示する。このとき、補正メッセージ2101を表示する場合には、当該設定を変更し、警告メッセージ2201を表示する場合には、当該設定を変更しない。このような場合において、当該機能を変更するかしないかをユーザに選択させることも可能である。本実施形態では、このような場合について説明する。このように本実施形態と第1〜第8の実施形態では、画像処理の設定に係る情報を表示する点が主として異なる。従って、本実施形態の説明において、第1〜第8の実施形態と同一の部分については、図1〜図22に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態では、拡張画像処理アイコン806に対応する画像処理が、アイコン802に対応する製本面付機能と排他である場合を例に挙げて説明する。また、製本面付け設定が既になされているものとする。デバイス制御アプリケーション304は、画像処理設定画面801を表示中に拡張画像処理アイコン806の押下を検知すると、プラグイン接続ライブラリ314を通して、以下の処理を行う。即ち、デバイス制御アプリケーション304は、当該拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の設定補正部340を呼び出す。
具体的にプラグイン接続ライブラリ314は、拡張画像処理アイコン806に対応する画像処理個別設定画面502が存在しない場合、拡張画像処理アイコン806の押下を検知したタイミングで、直ちに設定補正部340を呼び出す。このとき、プラグイン接続ライブラリ314は、現在のコピーアプリケーション306の設定情報を送信する。一方、拡張画像処理アイコン806に対応する対応する画像処理個別設定画面502が存在する場合、プラグイン接続ライブラリ314は、以下の処理を行う。即ち、プラグイン接続ライブラリ314は、当該画像処理個別設定画面502を表示し、設定ボタン903の押下を検知したタイミングで現在のコピーアプリケーション306の設定情報を取得する。そして、プラグイン接続ライブラリ314は、設定補正部340を呼び出す。このとき、プラグイン接続ライブラリ314は、現在のコピーアプリケーション306の設定情報を送信する。
プラグイン接続ライブラリ314により呼び出された設定補正部340は、当該プラグイン接続ライブラリ314から受信した現在のコピーアプリケーション306の設定情報の内容を確認する。この確認の結果、現在のコピーアプリケーション306の設定の中に、拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の実行を妨げる設定があれば、設定補正部340は、以下の処理を行う。即ち、設定補正部340は、拡張画像処理アイコン806に対応する画像処理プラグインアプリケーション303の実行を妨げる設定の内容をコピーアプリケーション306に送信する。これに対応し、コピーアプリケーション306は、機能選択画面を生成して画像処理設定画面801に対してポップアップで表示する。
図23は、機能選択画面の一例を示す図である。排他メッセージ2301は、どの設定において排他が存在するか明示的に示すメッセージである。ユーザは、排他メッセージ2301を確認することで、設定に対する排他情報を知ることが可能である。ユーザは、有効化ボタン2302を押下することで、コピーアプリケーション306の現在の設定を補正した上で当該設定を有効化させることが可能である。一方、ユーザは、非有効化ボタン2303を押下することで、コピーアプリケーション306の現在の設定を優先し、当該設定を有効化しないことが可能である。
コピーアプリケーション306は、有効化ボタン2302の押下を検知すると、画像処理プラグインアプリケーション303の設定補正部340に対し、コピーアプリケーション306の設定の変更を依頼する。設定補正部340は、この依頼に対応して、コピーアプリケーション306の設定を変更し、変更したコピーアプリケーション306の設定の内容を返信する。これに対応し、コピーアプリケーション306は、変更された設定の内容に従い、画像処理個別設定画面を含むデバイス制御アプリケーション画面401の内容を再描画する。一方、コピーアプリケーション306は、非有効化ボタン2303の押下を検知すると、機能選択画面を閉じ画像処理設定画面801を表示する。本実施形態では、例えば、設定補正部340が、デバイス制御アプリケーション304の現在の設定を補正することにより、第2の管理手段が、第1のアプリケーションによる処理の設定を変更することの一例が実現される。また、本実施形態では、例えば、機能選択画面により、第2の画面の一例が実現される。
以上のように本実施形態では、拡張画像処理アイコン806に対応する画像処理と排他の関係にあるコピーアプリケーション306の設定を変更するか否かをユーザに選択させる。従って、現在のコピーアプリケーション306の設定の内容で使用できない機能の内容について、ユーザに明示的に示し、且つ先にした設定か後にした設定かどちらを優先するのかをユーザに選択させることが可能となる。従って、ユーザの利便性が向上する。
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
(その他の実施例)
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101〜102:画像形成装置、103〜104:情報処理端末、105:サーバ、106:ネットワーク

Claims (20)

  1. 画像を形成するための処理を行う少なくとも1つの第1のアプリケーションを記憶する記憶手段と、
    前記第1のアプリケーションの少なくとも1つと、プラグインとして追加された第2のアプリケーションとを相互に関連付けて管理する第1の管理手段と、を有し、
    前記第2のアプリケーションは、当該第2のアプリケーションによる処理の実行を管理する第2の管理手段を有することを特徴とする画像形成装置。
  2. 前記第2のアプリケーションが有する前記第2の管理手段は、当該第2のアプリケーションによる処理の実行が可能であるか否かを判断することを特徴とする請求項1に記載の画像形成装置。
  3. 前記第2の管理手段は、前記第1のアプリケーションに対する設定と、前記画像形成装置の構成との少なくとも何れかに基づいて、前記第2のアプリケーションによる処理の実行が可能であるか否かを判断することを特徴とする請求項2に記載の画像形成装置。
  4. 前記第1のアプリケーションにより実行される処理の設定を選択する部分と、当該第1のアプリケーションと相互に関連付けられて前記管理手段により管理される前記第2のアプリケーションにより実行される処理の設定を選択する部分とを含む第1の画面を表示する表示手段と、
    前記第2のアプリケーションによる処理の実行が可能であるか否かの前記判断の結果に基づいて、前記第1のアプリケーションにより実行される処理の設定を選択する部分と、前記第2のアプリケーションにより実行される処理の設定を選択する部分との少なくとも何れか一方の表示形態を決定する決定手段と、を更に有することを特徴とする請求項2または3に記載の画像形成装置。
  5. 前記第1のアプリケーションまたは前記第2のアプリケーションが、前記決定手段を有することを特徴とする請求項4に記載の画像形成装置。
  6. 前記決定手段は、前記第1のアプリケーションにより実行される処理の設定と、前記第2のアプリケーションにより実行される処理の設定とを同時に実行することができない場合、当該第1のアプリケーションにより実行される処理の設定を選択することができない表示形態に、当該第1のアプリケーションにより実行される処理の設定を選択する部分の表示形態を決定することを特徴とする請求項4または5に記載の画像形成装置。
  7. 前記第2の管理手段は、前記第2のアプリケーションによる処理の実行が可能または不可能になる要因を示す情報を管理情報として管理することを特徴とする請求項1〜6の何れか1項に記載の画像形成装置。
  8. 前記第2のアプリケーションが有する前記第2の管理手段は、当該第2の管理手段が管理する前記管理情報に基づいて、当該第2のアプリケーションによる処理の実行が可能であるか否かを判断することを特徴とする請求項7に記載の画像形成装置。
  9. 前記第1の管理手段は、前記第2のアプリケーションが有する前記第2の管理手段が管理する前記管理情報に基づいて、当該第2のアプリケーションにより実行される処理と同時に実行することができない他のアプリケーションの処理を特定することを特徴とする請求項7または8に記載の画像形成装置。
  10. 前記第2のアプリケーションが有する前記第2の管理手段は、当該第2のアプリケーションと同時に処理を実行することができない他の前記第2のアプリケーションがある場合に、当該第2の管理手段が管理する前記管理情報を変更することを特徴とする請求項9に記載の画像形成装置。
  11. 前記第1の管理手段は、前記同時に処理を実行することができない複数の前記第2のアプリケーションに対する前記管理情報の更新のタイミングに基づいて、変更する前記管理情報を決定し、
    前記第2の管理手段は、前記第1の管理手段により変更すると決定された前記管理情報を変更することを特徴とする請求項9または10に記載の画像形成装置。
  12. 前記管理情報は、前記第2のアプリケーションによる処理の実行が可能または不可能になる要因を示す情報として、当該第2のアプリケーションによる処理と同時に実行することができない処理を実行する他のアプリケーションの情報を含むことを特徴とする請求項7〜11の何れか1項に記載の画像形成装置。
  13. 前記第2のアプリケーションによる処理と同時に実行することができない処理を実行する他のアプリケーションの情報は、当該第2のアプリケーションと異なる他の前記第2のアプリケーションを示す情報であることを特徴とする請求項12に記載の画像形成装置。
  14. 前記第2のアプリケーションによる処理と同時に実行することができない処理を実行する他のアプリケーションの情報は、プラグインではないアプリケーションにより実行される処理を示す情報であることを特徴とする請求項12に記載の画像形成装置。
  15. 前記第2の管理手段は、前記第2のアプリケーションによる処理の実行を妨げる前記第1のアプリケーションの処理の設定を、当該第2のアプリケーションによる処理の実行ができるように変更することを特徴とする請求項1〜14の何れか1項に記載の画像形成装置。
  16. 前記第1のアプリケーションにより実行される処理の設定を選択する部分と、当該第1のアプリケーションと相互に関連付けられて前記管理手段により管理される前記第2のアプリケーションにより実行される処理の設定を選択する部分とを含む第1の画面を表示する表示手段を更に有し、
    前記表示手段は、前記第2のアプリケーションにより実行される処理の設定を選択する部分がユーザにより選択されると、当該第2のアプリケーションによる処理の実行を妨げる前記第1のアプリケーションの処理の設定を、当該第2のアプリケーションによる処理の実行ができるように変更されたことを示す情報を更に表示することを特徴とする請求項15に記載の画像形成装置。
  17. 前記第1のアプリケーションにより実行される処理の設定を選択する部分と、当該第1のアプリケーションと相互に関連付けられて前記管理手段により管理される前記第2のアプリケーションにより実行される処理の設定を選択する部分とを含む第1の画面を表示する表示手段を更に有し、
    前記表示手段は、前記第1のアプリケーションにより実行される処理の設定と前記第2のアプリケーションにより実行される処理の設定とを同時に実行することができない場合、当該第2のアプリケーションにより実行される処理の設定を選択する部分がユーザにより選択されると、当該処理が実行できないことを示す情報を更に表示することを特徴とする請求項1〜16の何れか1項に記載の画像形成装置。
  18. 前記第1のアプリケーションにより実行される処理の設定を選択する部分と、当該第1のアプリケーションと相互に関連付けられて前記管理手段により管理される前記第2のアプリケーションにより実行される処理の設定を選択する部分とを含む第1の画面を表示する表示手段を更に有し、
    前記表示手段は、前記第1のアプリケーションにより実行される処理の設定と前記第2のアプリケーションにより実行される処理の設定とを同時に実行することができない場合に、当該第2のアプリケーションにより実行される処理の設定を選択する部分がユーザにより選択されると、当該第1のアプリケーションにより実行される処理の設定を変更するか否かを選択するための第2の画面を更に表示し、
    前記第2の管理手段は、前記第2の画面に対し、前記第1のアプリケーションの設定を変更することがユーザにより選択されると、当該第1のアプリケーションによる処理の設定を変更することを特徴とする請求項1〜16の何れか1項に記載の画像形成装置。
  19. 画像を形成するための処理を行う少なくとも1つの第1のアプリケーションを記憶する記憶工程と、
    前記第1のアプリケーションの少なくとも1つと、プラグインとして追加された第2のアプリケーションとを相互に関連付けて管理する第1の管理工程と、を有し、
    前記第2のアプリケーションは、当該第2のアプリケーションによる処理の実行を管理する第2の管理工程を行うことを特徴とする画像形成装置の制御方法。
  20. 請求項1〜18の何れか1項に記載の画像形成装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
JP2017020215A 2017-02-07 2017-02-07 画像形成装置、画像形成装置の制御方法、およびプログラム Pending JP2018129607A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017020215A JP2018129607A (ja) 2017-02-07 2017-02-07 画像形成装置、画像形成装置の制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017020215A JP2018129607A (ja) 2017-02-07 2017-02-07 画像形成装置、画像形成装置の制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2018129607A true JP2018129607A (ja) 2018-08-16

Family

ID=63174445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017020215A Pending JP2018129607A (ja) 2017-02-07 2017-02-07 画像形成装置、画像形成装置の制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2018129607A (ja)

Similar Documents

Publication Publication Date Title
KR102461063B1 (ko) 제어 방법
US9357088B2 (en) Image processing apparatus, image processing method, and computer-readable medium
JP5975666B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP4565505B2 (ja) 印刷制御装置、印刷制御方法、プログラム及び記録媒体
US8610919B2 (en) Image forming apparatus, control method and control program therefor
KR101337160B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
US8144346B2 (en) Apparatus and method for controlling a device with a device driver
CN107656709B (zh) 图像形成设备及其控制方法和存储介质
JP4344203B2 (ja) 画像形成装置および情報表示方法
JP2013254483A (ja) 情報処理装置、情報処理装置の制御プログラム、画像形成装置
JP5634132B2 (ja) 情報処理システム、情報処理装置、それらの制御方法及びプログラム
JP2018120348A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP4394740B2 (ja) 画像形成装置、方法、及びプログラム
JP6961412B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
US8094334B2 (en) Image forming apparatus for managing application and control method therefor
JP6808520B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP2018129607A (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP6949629B2 (ja) 画像形成装置、制御方法及びプログラム
JP5279516B2 (ja) 情報処理装置、表示制御方法及びプログラム
JP4859241B2 (ja) 複合装置、情報処理方法及びプログラム
JP2015079283A (ja) デバイスドライバ、情報処理装置および出力設定変換方法
US8947700B2 (en) Information processing apparatus, information processing method, and storage medium to provide a screen
JP2024089125A (ja) プログラム、情報処理装置、情報処理装置の制御方法
JP2021047588A (ja) 情報処理装置、その制御方法、及びプログラム
JP2020088487A (ja) 情報処理装置とその制御方法、及びプログラム