JP6478850B2 - 情報処理装置、アプリケーションプログラム及び制御方法 - Google Patents

情報処理装置、アプリケーションプログラム及び制御方法 Download PDF

Info

Publication number
JP6478850B2
JP6478850B2 JP2015140046A JP2015140046A JP6478850B2 JP 6478850 B2 JP6478850 B2 JP 6478850B2 JP 2015140046 A JP2015140046 A JP 2015140046A JP 2015140046 A JP2015140046 A JP 2015140046A JP 6478850 B2 JP6478850 B2 JP 6478850B2
Authority
JP
Japan
Prior art keywords
module
initialization
print
completed
setting
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.)
Expired - Fee Related
Application number
JP2015140046A
Other languages
English (en)
Other versions
JP2017021666A5 (ja
JP2017021666A (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 JP2015140046A priority Critical patent/JP6478850B2/ja
Priority to US15/207,977 priority patent/US9971554B2/en
Publication of JP2017021666A publication Critical patent/JP2017021666A/ja
Priority to US15/969,659 priority patent/US10481848B2/en
Publication of JP2017021666A5 publication Critical patent/JP2017021666A5/ja
Application granted granted Critical
Publication of JP6478850B2 publication Critical patent/JP6478850B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1255Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • 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/00915Assigning priority to, or interrupting, a particular operation
    • 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)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は印刷設定のコンフリクトの解消を行う技術に関する。
ユーザーが印刷設定を変更することによって、変更後の印刷設定が2つの印刷設定が無効となる組み合わせ(コンフリクト)を含むことがある。
特許文献1はこのようなコンフリクトを想定して、コンフリクト処理ルールの読み込み、コントロールの制御を行う技術を開示している。
特開2003−099170号
コンフリクトが発生した場合、特許文献1が示すコントロールの制御の他に、例えば優先順位が最も低い機能を使用しないように強制的に印刷設定を変更することでコンフリクトを解消する処理を行うことができる。
本明細書ではコンフリクトの解消処理について2つのモジュールを利用可能な場合について検討する。第1のモジュールは初期化に時間がかかるが、初期化後は高速にコンフリクトの解消処理を行うことができる。第2のモジュールは例えば印刷設定を行うアプリケーションが初期化を行う必要はないが、コンフリクトの解消処理自体は低速である。
この2つのモジュールのうち、第1のモジュールだけを用いるとユーザーは第1のモジュールが初期化されるまで待機しなければならない。一方、第2のモジュールだけを用いると、ユーザーは印刷設定を変更する度に、第1のモジュールのコンフリクトの解消処理よりも長い時間、第2のモジュールのコンフリクトの解消処理の完了を待機しなければならない。
これに対して本発明は第1のモジュールと第2のモジュールの2つのモジュールによって生じるユーザーの待機時間を短縮することを目的とする。
上記の目的を達成するための本発明に係る情報処理装置は、
2以上の印刷設定間の競合を解消するコンフリクトの解消処理を行う第1のモジュールの初期化を行う初期化手段と、
前記第1のモジュールを有するアプリケーションが提供する画面を介して印刷設定の変更を受け付ける受付手段と、
前記受付手段が前記印刷設定の変更を受け付けてかつ前記第1のモジュールの初期化が完了している場合は前記第1のモジュールによる前記コンフリクトの解消処理を行い、前記受付手段が前記印刷設定の変更を受け付けてかつ前記第1のモジュールの初期化が完了していない場合は前記アプリケーションの外部のモジュールである第2のモジュールによるコンフリクトの解消処理の機能を呼び出す制御手段と、を有することを特徴とする。
本発明は第1のモジュールと第2のモジュールの2つのモジュールによって生じるユーザーの待機時間を短縮することができる。
システム構成を示す模式図である クライアントコンピュータのハードウェア構成を示す図である アプリケーションとドライバーの構成を示す図である タッチパネルアプリケーションの画面遷移を示す図である タッチパネル印刷詳細設定アプリケーションの画面を示す図である タッチパネル印刷詳細設定アプリケーションのフローチャートである 実施例2のタッチパネル印刷詳細設定アプリケーションのフローチャートである 実施例3のタッチパネル印刷詳細設定アプリケーションのフローチャートである 実施例4のタッチパネル印刷詳細設定アプリケーションのフローチャートである 実施例5のタッチパネル印刷詳細設定アプリケーションのフローチャートである タッチアプリUIの模式図である プリントケイパビリティとプリントチケットの一例である アプリGPDファイルの一例である タッチパネル印刷設定機能の構成図である。 実施例6のタッチパネル印刷詳細設定アプリケーションのフローチャートである コンフリクト処理の通知を示す図である
〔実施例1〕
図1に、本発明に係るシステム構成の概略を表す模式図を示す。このシステムは、情報処理装置の一例であるクライアントコンピュータ101とページ記述言語(PDL)形式の印刷データを受信し印刷を行うことが可能なプリンタ102を備える。これらはローカル・エリア・ネットワーク(LAN)に代表されるネットワーク103を介して接続され通信可能であり、ネットワーク103は、外部のネットワークと接続され通信可能である。なお、プリンタ102は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。
図2は、図1のクライアントコンピュータ101のハードウェア構成を示すブロック図である。クライアントコンピュータ101において、中央演算処理装置(CPU)は、ランダムアクセスメモリ(RAM202)に記憶されているプログラムに従って、システムバスに接続される各デバイスを制御する。なお、クライアントコンピュータ101は、少なくとも1つのCPU201を備える。加えて、CPU201が外部メモリ209に記憶されているプログラムに基づき処理を実行することによって、図3に示されるようなクライアントコンピュータ101のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。このRAM202は、CPU201の主メモリ、ワークエリア等として機能する。リードオンリーメモリ(ROM)203は、ブートプログラムや基本入出力システム(BIOS)等の各種プログラムが書き込まれてある。操作入力装置インターフェース(I/F)204は、キーボードやポインティングデバイス(マウス)タッチUI(User Interface)などの操作入力装置205を制御するインターフェースである。ディスプレイI/F206はディスプレイ207への画面表示を制御する。外部メモリI/F208は、例えばハードディスク(HD)、ソリッドステートディスク(SSD)等の外部メモリ209とのアクセスを制御する。外部メモリ209は、オペレーティングシステムプログラム(OS)210をはじめ、タッチパネル、デスクトップそれぞれに対応した各種アプリケーション212、プリンタードライバーを含むドライバー211、各種ファイル等を記憶し、コンピューターが読み取り可能な記憶媒体として機能する。ネットワークI/F213は、ネットワーク103を介してプリンタ102に接続され、プリンタ102との間で通信制御処理を行なう。
図3に、OS210で動作するアプリケーションとドライバーの構成図を示す。本図は、ユーザーが直接操作を行うことができるアプリケーション層とアプリケーションからの要求に応じ、OS210が制御するドライバー・OS層に分かれる。各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。OS210で行われる印刷に関する処理はタッチパネルで行われる印刷指示と、ドライバー・OS層の印刷処理に分けられる。最初にタッチパネルで行われる印刷指示におけるソフトウェアコンポーネントについて説明する。
各タッチパネルアプリケーション3004は、印刷用の基本UIである基本印刷設定UI8500を持ち、ユーザーの要求に応じてプリントキュー情報3302をOS210から取得し、プリントキュー情報3302と関連づいた基本印刷設定UI8500を表示する。ここでプリントキュー情報3302とは、インストールされているプリンタードライバー名などを含む、プリンタードライバーごとの情報である。また、基本印刷設定UI8500とはプリントケイパビリティ3202とプリントチケット3102を基にOS210が作成して表示する簡易的な印刷設定UIである。プリントチケット3102とは設定されている印刷設定の情報である。プリントケイパビリティ3202とは、ドライバー211が設定できる印刷設定の一覧の情報である。プリントチケット3102とプリントケイパビリティ3202はXML(Extensive Markup Language)と呼ばれるタグで項目を区切って情報を管理する形式で記述されている。なお、プリントチケット3102はOS210により生成された時点ではコンフリクトが起きていない状態である。
タッチパネル印刷詳細設定アプリケーション3006は、基本印刷設定UI8500からユーザーの要求に応じて起動される。タッチパネル印刷詳細設定アプリケーション3006は、印刷詳細設定用のアプリケーションであり、各種ドライバー211の機能の一覧の表示と詳細な印刷設定の変更をタッチパネルアプリケーション3004から行うことを目的とする。タッチパネル印刷詳細設定アプリケーション3006は他のアプリケーションが印刷実行する際に呼び出されて起動された場合、タッチパネル印刷設定機能30062として動作する。一方、タッチパネル印刷詳細設定アプリケーション3006はユーザーがスタート画面でタイルを選択することによって起動された場合、タイルアプリ機能30063として動作する。タイルアプリ機能30063とタッチパネル印刷設定機能30062は、タッチパネル印刷詳細設定アプリケーション3006のデータ保存領域のアプリデータ領域3030のアプリデータを共有する。タッチパネル印刷詳細設定アプリケーション3006は、コンフリクトを解消する処理を行う第1のモジュールであるGPDエンジン30061を持っている。GPDエンジン30061はタッチパネル印刷詳細設定アプリケーション3006の内部モジュールである。
また、タッチパネル印刷詳細設定アプリケーション3006は、ユーザープロパティバッグ3012やレジストリ3016に独自のデータの出し入れができる。ユーザープロパティバッグ3012とは、タッチパネル印刷詳細設定アプリケーション3006のタッチパネル印刷設定機能30062用の保存領域であり、印刷設定におけるユーザーの設定情報などを保存する。タッチパネル印刷詳細設定アプリケーション3006は、タッチパネル印刷設定機能30062として動作する場合に、OS210にプリントチケット3102とプリントケイパビリティ3202を要求する。ドライバープロパティバッグ3020からアプリGPDファイル3021を取得する。ここでGPDファイルとは、コンフリクトが発生した際に、優先させる設定を決めるための優先順位などを含むコンフリクトルールが記述されているスクリプトファイルである。アプリGPDファイル3021は、タッチパネルアプリケーション3004がコンフリクトを解消するために利用するGPDファイルである。プリントケイパビリティ3202、プリントチケット3102及びアプリGPDファイル3021の構成については、後述する。また、ドライバープロパティバッグ3020とは、ドライバー211ごとのデータ領域である。本実施例ではアプリGPDファイル3021がドライバープロパティバッグ3020に格納されている。タッチパネル印刷詳細設定アプリケーション3006は、プリントケイパビリティ3202とプリントチケット3102に基づいてUIを生成し、ユーザー操作を受け付ける。受付完了後、タッチパネル印刷詳細設定アプリケーション3006は印刷設定を確定し、OS210に確定した印刷設定であるプリントチケット3102を渡す。
OS210は、プリントコンフィグ3007によるコンフリクトを解消する処理をプリントチケット3102に行い、基本印刷設定UI8500にコンフリクトが解消されたプリントチケット3102を渡す。プリントコンフィグ3007は、OS210のモジュールであり、GPDファイル3014に基づいてコンフリクトを解消する。基本印刷設定UI8500は、ユーザー操作で印刷イベントを受け付け、プリントチケット3102と印刷対象であるXPS(XML Paper Specification)ファイル3402をマージモジュール3018に渡す。XPSファイルとは、XML形式で記述されている文書ファイルである。
次に、ドライバー・OS層の印刷処理におけるソフトウェアコンポーネントについて説明する。この印刷処理ではタッチパネルアプリケーション3004からXPSファイル3402とプリントチケット3102を受けとり、PDL3600を生成して、プリンタ102に渡すところまで処理が行われる。タッチパネルアプリケーション3004からプリントチケット3102とXPSファイル3402を渡されたマージモジュール3018は、プリントチケット3102とXPSファイル3402を結合して印刷対象のXPSファイル3402を生成する。マージモジュール3018は、XPSファイル3402に印刷設定であるプリントチケット3102を付加する形で結合を行う。マージモジュール3018は、XPSファイル3402をプリントスプーラー3008に渡す。プリントスプーラー3008は、XPSファイル3402をプリントコンフィグ3007に渡してコンフリクトを解消する。プリントスプーラー3008は、プリントコンフィグ3007から、コンフリクトを解消する処理が行われたXPSファイル3402を取得する。プリントスプーラー3008は、フィルターパイプラインマネージャー3009にXPSファイル3402を渡す。フィルターパイプラインマネージャー3009は、フィルターと呼ばれるモジュールを呼び出すことを担うモジュールであり、フィルターを通じてXPSファイル3402からPDL3600を生成する。フィルターコンフィグ3106には、フィルターパイプラインマネージャー3009が呼び出すべきフィルターの構成がXMLで記述してあり、その記述に応じて必要なフィルターを呼び出す。本実施例では、一例としてレンダラーフィルター3010を呼び出している。プリントスプーラー3008は、フィルターパイプラインからPDL3600を取得し、プリンタ102にPDL3600を渡すことで印刷が行われる。
ドライバープロパティバッグ3020内のアプリGPDファイル3021について図13(a)、図13(b)、図13(c)を用いて説明する。アプリGPDファイル3021は、コンフリクトルールや用紙サイズなどの選択項目の選択肢のデータ等から構成されている。1700は、コンフリクトルールを示した例である。コンフリクトルールは、二つの印刷設定が無効となる組み合わせを記述することで表す。この図では、用紙サイズの「はがき」と両面印刷の「長辺両面」の組み合わせになっており、それぞれPaperSize.PostCard,DUPLEX.VERTICALで表現されている。1701は、用紙サイズの選択項目の印刷設定が記述されていることを表しており、同様に、1702は、両面印刷の印刷設定が記述されていることを表している。1703は、設定項目の選択肢であり、本図では用紙サイズの「はがき」の詳細なデータに関して記述してある例である。1704は、用紙サイズの優先度であり、値が低い設定項目ほどコンフリクトを解消する際に優先されることを表す。例えば、本図では用紙サイズの優先度は1であり、1705は両面印刷の優先度は15であることを示している。従って、1700のコンフリクトを解消する際には、用紙サイズである「はがき」は変更されずに両面印刷の設定が変更される。
次にプリントケイパビリティ3202及びプリントチケット3102について、図12(a)、図12(b)を用いて説明する。図12(a)は、プリントケイパビリティ3202の一例である。プリントケイパビリティ3202は、プリンタードライバーが持っている機能及び項目の一覧であり、XMLで記述されている。機能の一覧はFeatureと呼ばれるタグで記述される。本図では、一例として用紙サイズを表す、PageMediaSizeを12001に示してある。各機能の項目の一覧は、Optionと呼ばれるタグで記述される。本実施例では、12002にOptionの一例として用紙サイズの一つであるLetterが示している。Feature、Optionは、それぞれ1つから複数個存在している。図12(b)は、プリントチケット3102の一例である。プリントチケット3102は、印刷設定の選択項目の一覧であり、XMLで記述されている。機能と項目は、プリントケイパビリティ3202と同様にFeatureとOptionのタグで記述されている。本実施例では、Featureの一例として、12003に選択項目である両面を意味するDocumentDuplexを示し、Optionの一例として、12004に選択肢である片面印刷を意味するOneSidedを示している。
図4に、OS210で動作するタッチパネルUIの一例を示す。また、この図を用いてタッチパネルUIから印刷の基本フローを説明する。タッチパネルアプリケーション3004は、タッチディスプレイでの操作に重きを置いたUIのデザインになっている。指やペンなどのタッチでの操作が容易であるように、大きなボタンで構成される。タッチパネルアプリケーション3004はマウスやキーボードの操作入力も受け付けるが、以下タッチ操作を行うことを前提に説明する。
図4(a)にタッチパネルアプリケーション3004のスタート画面8000を示す。スタート画面8000は、タッチディスプレイ上の全面に表示されている。スタート画面には、タッチパネルアプリケーション3004がタイル8001という形式で表示されている。ユーザーがタイルをタップすると、そのタイルに該当するタッチパネルアプリがディスプレイ上全面に表示される。図4(b)は、WEBブラウザ8100の表示例である。WEBブラウザ8100は、タッチパネルディスプレイの全面に表示され、他のアプリは表示されない。タッチパネルアプリケーション3004で印刷を行う場合は、8101のタッチディスプレイ上の右端にタッチし、指を左に滑らせて、図4(c)のチャーム8200というメニュー画面を開くことから始まる。チャームの中には、複数の選択肢が存在し、その中のデバイスをタップすることで、さらにデバイスに関連するメニューの一覧であるデバイスメニューボタン8201をタップすることで、デバイスメニュー8300を開くことができる。図4(d)は、デバイスメニュー8300の図である。デバイスメニュー8300には、再生、印刷、表示など複数の選択肢が存在し、その中で印刷8301をタップすることで、図4(e)の印刷出力先のプリントキューを選ぶプリントキュー選択メニュー8400が表示される。プリントキュー選択メニュー8400には印刷出力先の候補が、列挙されている。その一つである“プリンタ01”8401をタップすると、図4(f)に示すOS210により提供される基本印刷設定UI8500が表示される。基本印刷設定UI8500で部数やカラーモードなどの基本的な印刷設定情報が設定できる。詳細設定8501が押下されると、タッチパネル印刷詳細設定アプリケーション3006が起動され、ユーザーは、基本設定にはないさらに詳細な設定を行うことができる。これに関しては、後に詳細に説明する。設定完了後、ユーザーが印刷ボタン8502をタップすることで、PDL3600が作成され、印刷が行われる。
図5に、タッチパネル印刷詳細設定アプリケーション3006の図を示す。本発明の実施形態で対象とするタッチパネル印刷詳細設定アプリケーション3006は、図5(a)のトップページ画面と、出力方法などを含む図5(b)フル機能設定画面を持つ。2つの設定画面は特に断りがない限りユーザーから印刷設定の変更を受け付ける。トップページ画面は、ドライバーの基本的な機能に関する設定の項目を集めたものであり、フル機能設定画面は、さらに詳細な設定機能を集めたものである。これらの2つの印刷設定画面は、タッチパネル上で指をスライドすることで移動することができる。フル機能設定画面は、フリップビューと呼ばれるコントロールにより複数のシートから構成されている。フリップビューでは、ユーザーが指を左右にスライドすることで隣接するページに遷移することができる。
また、タッチパネル印刷詳細設定アプリケーション3006には、ページドット9002が下部領域に表示されている。ページドット9002は、ページ数分だけ表示され、それぞれにページ番号が表示されている。ユーザーはページドット9002をタップすることで、対応するページ番号のシートに一回の操作で遷移することができる。なお、ページの遷移はタブなどの他の遷移方法でも良いことは言うまでもない。図5(a)の例では印刷の向きを設定する設定項目9003を示す。9001は戻るボタンであり、ユーザーが印刷設定を確定してタッチパネル印刷詳細設定アプリケーション3006を終了させる時にタップする。図5(b)では、一例とし、9011にセキュアプリントなどの選択肢を設定可能な項目である出力方法9011を示す。本図では、通常の印刷を示す「印刷」が設定されている。また、9012は原稿サイズを設定できる項目である。
図14を用いて、タッチパネル印刷設定機能30062の構成について説明する。タッチパネル印刷設定機能30062は、モード1とモード2の二つのモードから構成される。モード1は、タッチパネル印刷詳細設定アプリケーション3006がタッチパネル印刷設定機能30062で起動された際に最初に起動されるモードである。タッチパネル印刷設定機能30062を高速に起動することを目的としており、GPDエンジン30061の初期化の完了を待たずに起動することができる。また、GPDエンジン30061の初期化が完了した後には、所定のタイミングでモード2へとモードを変更することができる。また、モード1で印刷設定を確定することもできる。モード1では、コンフリクトを解消する際には、GPDエンジン30061を呼び出さない変わりにOS210のAPIを呼び出してコンフリクトを解消する処理が行われる。一方で、モード2はGPDエンジン30061の初期化が完了した時点で起動ができるようになるモードであり、コンフリクトを解消する処理がGPDエンジン30061を用いて行われる。モードは、基本的にモード1からモード2へのみ変更することができ、モード2からモード1への変更は行わない。
図16を用いて、コンフリクトの通知方法について説明する。コンフリクトの通知方法は、OS210のAPIによってコンフリクトを解消された場合(コンフリクトをOSにより解消する処理)、ユーザーが操作した時にGPDエンジン30061によってコンフリクトが解消される場合に分けることができる。コンフリクトをOSにより解消する処理による通知は後述する図6(a)のs6013で行われ、ユーザーが操作した時にGPDエンジン30061によってコンフリクトが解消される場合の通知は後述する図6(c)のs6053で行われる。また、後者はユーザーが変更した印刷設定のコンフリクトを解消する際に、ユーザーが変更した印刷設定項目がコンフリクト対象の印刷設定項目に優先されて設定される場合(優先コンフリクト通知)と優先されない場合(劣後コンフリクト通知)の2つに分けることができる。よって計3つの通知方法が存在する。
まず、OS210のAPIによってコンフリクトを解消された場合について説明する。図16(a)の16001は、コンフリクトをOSにより解消する処理の際に、ユーザーにコンフリクトを通知するためのOSコンフリクト通知ポップアップ16001である。コンフリクトを解消する際に変更された印刷設定のみをユーザーに通知する。通知する印刷設定は、トップページ、フル機能設定画面を含む他のページのどの印刷設定でも通知される。また、複数の印刷設定が変更される場合には、全てOSコンフリクト通知ポップアップ16001に表示される。OSコンフリクト通知ポップアップ16001は、OSコンフリクト通知ポップアップ16001外のタッチパネル印刷詳細設定アプリケーション3006の領域をタップするか、画面内のOKボタン16002をタップすることで消すことができる。本図は、ユーザーが変更した印刷設定項目によって、印刷設定の「長辺両面」が「片面印刷」に変更された例である。
図16(b)を用いて優先コンフリクト通知について説明する。優先コンフリクト通知の場合には、下部コンフリクトマーク16003が表示される。ユーザーが、下部コンフリクトマーク16003をタップすると優先コンフリクト通知ポップアップ16004が表示される。優先コンフリクト通知ポップアップ16004には、コンフリクトを解消する際に変更された印刷設定が表示される。なお、表示される印刷設定はトップページ、フル機能設定画面を含む、表示していないページの印刷設定でも優先コンフリクト通知ポップアップ16004に表示される。また、複数の印刷設定が変更された場合には、複数の印刷設定が優先コンフリクト通知ポップアップ16004に表示される。下部コンフリクトマーク16003が表示されている間も、タッチパネル印刷詳細設定アプリケーション3006は、印刷設定の変更及び他の画面への遷移を受け付ける。下部コンフリクトマーク16003は、再度、印刷設定が変更されるかタッチパネル印刷詳細設定アプリケーション3006を終了しない限り消えない。優先コンフリクト通知ポップアップ16004は、優先コンフリクト通知ポップアップ16004の外のタッチパネル印刷詳細設定アプリケーション3006の領域をタップするか、画面内のOKボタン16005をタップすることで消すことができる。本図は、ユーザーが変更した印刷設定項目によって、印刷設定の「長辺両面」が「片面印刷」に変更された例である。
図16(c)を用いて劣後コンフリクト通知について説明する。16006は、劣後コンフリクト通知ポップアップである。劣後コンフリクト通知ポップアップ16006では、コンフリクトが起きていて、ユーザーが意図した印刷設定を設定できない時に表示される。表示される内容は、ユーザーが設定しようとした印刷設定とコンフリクトが起きている印刷設定である。複数の印刷設定とコンフリクトが起きている場合には、複数の印刷設定が表示される。劣後コンフリクト通知ポップアップ16006の外のタッチパネル印刷詳細設定アプリケーション3006の領域をタップするか、画面内のOKボタン16007をタップすることで消すことができる。本図の劣後コンフリクト通知ポップアップ16006は、「はがき」が原稿サイズに設定されている状態で、ユーザーが「長辺両面」を印刷設定に設定しようとした際に、「はがき」が優先されたことで、「長辺両面」への変更が失敗したことを示す表示例である。
図6のフローチャートを用いて、タッチパネル印刷詳細設定アプリケーション3006の起動から印刷設定を確定するまでのフローについて説明をする。尚、特に指定がない限り、本フローチャートはタッチパネル印刷詳細設定アプリケーション3006によって実行される。また、タッチパネル印刷詳細設定アプリケーション3006はタッチパネル印刷設定機能30062として動作しているものとする。タッチパネル印刷詳細設定アプリケーション3006は、他のシステムやユーザーの要求に応じて外部メモリ209からRAM202にロードされ、CPU201で実行される。
タッチパネル印刷詳細設定アプリケーション3006は、プリントケイパビリティ3202とプリントチケット3102を読み込み(s6002、s6003)、印刷設定の確定時に全ての設定項目に対して、コンフリクトをOS210のAPIを用いて解消する処理を施すモード1で図5(a)に示すトップページ画面を表示する(s6005)。本実施例のモード1では、コンフリクトを印刷設定の変更時の度ではなく、図5(a)の戻るボタン9001が押された時に一括で解消する。なお、戻るボタン9001が押された時の代わりに印刷設定変更時に毎回コンフリクトをOSにより解消する処理を呼び出しても良い。
モード1のトップページ画面ではページドット9002は非表示にしておき、ユーザーが操作してフル機能設定画面に遷移できないようにしておく。なお、ページドット9002を利用できないことを通知する手段としてはプログレスリングを回すなど他の方法でも良い。
トップページ画面表示後に、GPDエンジン30061の初期化をバックグラウンドで行う(s6006)。GPDエンジン30061は、アプリGPDファイル3021を基にコンフリクトを通知及び、コンフリクトを解消する処理を行うモジュールである。GPDエンジン30061の初期化のステップを図6(b)に示す。タッチパネル印刷詳細設定アプリケーション3006は、ユーザーの入力を受け付けるUIスレッドと別にバックグランドスレッドを作成し、作成したバックグラウンドスレッドで図6(b)の処理を行う。最初にアプリGPDファイル3021を読み込み(s6032)、コンフリクトルールの記載の文法的な関係を解析する処理である構文解析を行う。構文解析後に、GPDエンジン30061の初期化を行い(s6033)、完了後にスレッドを終了させる(s6034)。
図6(a)に戻り説明を続ける。s6006のステップを終了後、タッチパネル印刷詳細設定アプリケーション3006はGPDエンジン30061の初期化の間、フォアグラウンドで、ユーザー入力を受け付ける(s6007)。
ユーザー入力を受け付けた後に、入力を判断する(s6501)。モード1で、印刷の向き9003を始めとする設定項目が変更された場合、プリントチケット3102に設定項目の変更を反映する(s6008)。モード1で戻るボタン9001が押された場合、現在のプリントチケット3102に設定項目を反映し、そのプリントチケット3102を入力値としてコンフリクトをOSにより解消する処理を呼び出す(s6011)。これはタッチパネル印刷詳細設定アプリケーション3006が第2のモジュールによるコンフリクトの解消処理を呼び出すことによって実現される。第2のモジュールはタッチパネル印刷詳細設定アプリケーション3006の外部モジュールであり、タッチパネル印刷詳細設定アプリケーション3006が初期化を行う必要がない。ただし、印刷設定の変更が行われていない場合には、コンフリクトを解消する処理を呼び出さなくても良い。コンフリクトをOSにより解消する処理は、プリントコンフィグ3007がGPDファイル3014を基に実行する。プリントコンフィグ3007は、タッチパネル印刷詳細設定アプリケーション3006からプリントチケット3102(入力時のプリントチケット)を取得し、コンフリクトが存在した場合にはコンフリクトを解消したプリントチケット3102(出力時のプリントチケット)を作成する。コンフリクトをOSにより解消する処理は、コンフリクトが起きているプリントチケット3102が入力された場合に、GPDファイル3014に基づきコンフリクトが解消されたプリントチケット3102を出力する。
入力時のプリントチケットと出力時のプリントチケットの2つのプリントチケットに基づいてコンフリクトが存在するか判断する(s6012)。コンフリクトを解消したプリントチケットが出力された場合には、コンフリクトが存在すると判断し、コンフリクトがあったことを図16(a)に示した通知方法で通知する(s6013)。この際に、入力時のプリントチケットと出力時のプリントチケットを比較し、コンフリクトを解消する処理によって変更された項目の一覧をOSコンフリクト通知ポップアップ16001で表示する。また、出力時のプリントチケットをUIに反映するが(s6014)、基本印刷設定UI8500には遷移しない。s6012でコンフリクトが存在しないと判断した場合にはs6022に進む。
s6501においてタッチパネル上でユーザーが指をスライドしたと判断したことに応じて、すなわち、印刷設定画面を遷移するための指示をユーザーから受け付けたことに応じてs6010に進む。そして、スライドイベントを受け付けバックグラウンドスレッドで行っているアプリGPDファイル3021の読み込み処理とGPDエンジン30061の初期化処理が完了しているかどうかを確認する(s6010)。完了していない場合にはスライドイベントを無視し、完了していた場合には、図5(b)に示すフル機能設定画面を表示し(s6015)、モード1から、モード2へとモードが変更される。尚、本実施例では、モード2では、タッチパネル印刷詳細設定アプリケーション3006が設定項目の変更をする度にコンフリクトを通知する。モード2への変更を行うイベントは、スライドイベントに限らず、タッチ、クリックなど他のイベントでも良いことは言うまでもない。また、モード2においては、ページドット9002は全てのページで表示される。モード2への変更後、コンフリクトを解消する処理を行う(s6016)。
図6(c)を用いてs6016の処理を説明する。コンフリクトが存在するかを確認する(s6051)。確認した後に、コンフリクトが存在するかの判断をする(s6052)。コンフリクトが存在した場合には、ポップアップを表示して(s6053)、ユーザーに対しコンフリクトの内容を通知する。s6053では、優先コンフリクト通知又は劣後コンフリクト通知のどちらにより通知するかがコンフリクトルールに従って決定される。なお、通知方法は図16(b)、図16(c)の通知方法に限らず、その他のどのような方法でも良い。通知後、コンフリクトの起きている機能の項目を比較し、アプリGPDファイル3021に基づき、優先順位の低い設定を変更することでコンフリクトを解消する(s6054)。
コンフリクトの解消後は、設定項目をUIに反映し、再度ユーザーの入力を受け付ける(s6017)。
モード2でユーザーの入力を受け付けた際に、ユーザーの入力を判断する(s6018)。ユーザーによるスライドイベント発生により、図5(a)に示すトップページ画面を表示することもできるが、動作しているモードはモード2からモード1に変更されない(s6019)。無論、ページドット9002も継続して表示される。動作しているモードがモード1に変更されないことにより、モード2への変更後はトップページ画面においても設定項目の変更をする度にコンフリクトを通知することができる。モード2で、出力方法9011の「印刷」をはじめとする機能の設定項目が変更された場合、アプリGPDファイル3021を基にコンフリクトを解消する処理を行う(s6020)。なお、s6020の説明はs6016と同じため省略する。
コンフリクトが起きていない場合には、設定項目の変更をUIに反映し(s6021)、ユーザーの入力を再度受け付ける。戻るボタン9001が入力された場合、プリントチケット3102に設定項目を反映してプリントチケット3102を作成した後に、作成したプリントチケット3102を保存して(s6022)、OS210によってプリントチケット3102のコンフリクトが解消される(s6023)。s6023のコンフリクトの解消はs6011とは異なりOS210によって自動的に行われる処理であり、コンフリクトが解消されても通知等は行われない。コンフリクトの解消後に、基本印刷設定UI8500に遷移して終了する(s6024)。以上の実施例により、ユーザーはGPDエンジン30061の初期化時間を待つことなく、印刷設定を変更することができる。
〔実施例2〕
実施例1では、フル機能設定画面に遷移しない限り、モード2にモードを変更できなかった。そこで、モード1においてGPDエンジン30061の起動が完了した時点でモード2に変更する方法について、図7のフローチャートを用いて説明する。尚、特に指定がない限り、本フローチャートはタッチパネル印刷詳細設定アプリケーション3006によって実行される。また、タッチパネル印刷詳細設定アプリケーション3006はタッチパネル印刷設定機能30062として動作しているものとする。さらに、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。タッチパネル印刷詳細設定アプリケーション3006は、他のシステムやユーザーの要求に応じて外部メモリ209からRAM202にロードされ、CPU201で実行される。
s6501において設定項目が変更されたと判断した場合、GPDエンジン30061の初期化が完了しているかどうかを確認する(s7008)。GPDエンジン30061の初期化が完了していない場合、設定項目の変更をUIに反映する(s7010)。GPDエンジン30061の初期化が完了していた場合には、モードをモード2に変更し、アプリGPDファイル3021を基にコンフリクトを解消する処理を行う(図7(b)のs6016)。なお、コンフリクトを解消する処理の説明は図6(c)の処理と同じため省略する。
s6501においてタッチパネル上でユーザーが指をスライドしたと判断した場合、スライドイベントを受け付けバックグラウンドスレッドで行っているアプリGPDファイル3021の読み込み処理とGPDエンジン30061の初期化処理が完了しているかどうかを確認する(s6010)。
本実施例により、設定項目が変更された場合にGPDエンジン30061の初期化が完了しているかどうかを確認し、GPDエンジン30061の初期化が完了している場合にモード2にモードを変更することができる。
〔実施例3〕
実施例1では、GPDエンジン30061の初期化が完了するまで、ページドット9002の表示とフル機能設定画面への遷移をすることができなかった。本実施例では、GPDエンジン30061の初期化が完了する前に、ページの遷移とページドット9002によるページ数の表示を行える実施例を図8のフローチャートを用いて説明する。尚、特に指定がない限り、本フローチャートはタッチパネル印刷詳細設定アプリケーション3006によって実行される。また、タッチパネル印刷詳細設定アプリケーション3006はタッチパネル印刷設定機能30062として動作しているものとする。さらに、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。タッチパネル印刷詳細設定アプリケーション3006は、他のシステムやユーザーの要求に応じて外部メモリ209からRAM202にロードされ、CPU201で実行される。
図8にて、タッチパネル印刷詳細設定アプリケーション3006は、プリントケイパビリティ3202、プリントチケット3102を読み込む(s8002、s8003)。
読み込んだ後にプリントチケット3102に、各ページに配置する機能と各ページにある機能に対応するFeatureが存在するかどうかを確認し(s8004)、作成するページのページ情報とページに対応するページドット9002の作成を行う(s8005)。一例として、プリントケイパビリティ3202のFeatureにPageMediaSizeが存在した場合について説明する。PageMediaSizeは、図5(b)の原稿サイズ9012と関連づいている。プリントケイパビリティ3202のFeatureにPageMediaSizeが存在している時には、原稿サイズ9012を表示する必要がある。よって、プリントケイパビリティ3202のFeatureにPageMediaSizeが存在する時は原稿サイズ9012を含むフル機能設定画面のページを作成すると判断し、ページ情報を作成及びページドット9002の作成を行う。フル機能設定画面は複数のページで構成されているため、それぞれのページでも同様に存在するコントロールに対応するFeatureが存在するかどうかを確認し、ページ数を確認する。なお、ページ数を判断する際には、プリントチケット3102とプリントケイパビリティ3202のどちらの情報から判断してもよく、他のFeatureとOptionを含むプリントチケット3102又はプリントケイパビリティ3202に載っている情報ならば、どの情報を利用して判断しても良いことは言うまでもない。また、作成したページ情報をアプリデータ領域3030やユーザープロパティバッグ3012に保存しておき、二度目以降の起動時にはプリントケイパビリティ3202とプリントチケット3102を用いずに保存したページ情報を再利用しても良い。
ページドット9002及び各ページの作成後、モード1でトップページ画面を表示する(s8006)。
モード1のトップページ画面の表示時に、ページドット9002も表示する。次に、バックグラウンドスレッドでGPDエンジン30061の初期化を行う(s8007)。なお、s8007のGPDエンジン30061の初期化は図6(b)の処理と同じため説明を省略する。
GPDエンジン30061の初期化の間、フォアグラウンドで、ユーザー入力を受け付ける(s8008)。そして、s8008で受け付けた入力の判断を行う(s8009)。
モード1で、印刷の向き9003をはじめとする設定項目が変更された場合、GPDエンジン30061の初期化が完了しているかを確認する(s8010)。初期化が完了していない場合には、設定項目の変更を受け付け、UIに反映する(s8011)。初期化が完了している場合、モード2に変更して、アプリGPDファイル3021を基にコンフリクトを解消する処理を行う(s6016)。
s8009でモード1のまま戻るボタン9001が押されたと判断した場合、s6011へと遷移する。
s8009でモード1のままタッチパネル上でユーザーが指をスライドしたと判断した場合、及びページドット9002がタップされた場合、フル機能設定画面へ遷移するイベントを受け付け、フル機能設定画面を表示する(s8016)。
遷移後、バックグラウンドスレッドで行っているアプリGPDファイル3021の読み込み処理とGPDエンジン30061の初期化処理が完了しているかどうかを確認する(s8017)。
完了していない場合には、フル機能設定画面にプログレスリングを表示する(s8018)。プログレスリングはGPDエンジン30061の初期化処理が完了するまで表示され、表示されている間フル機能設定画面で印刷設定の変更を受け付けない。さらに、遷移後のフル機能設定画面では印刷設定の全設定項目の変更を受け付けず、ページ遷移及び戻るボタン9001のタップのみユーザー入力を受け付ける。その際、モードはモード1が保たれる。
GPDエンジン30061の初期化が完了している場合は、モードをモード2に変更し、コンフリクトを解消する処理を行う(s6016)。また、フル機能設定画面は利用できる全ての機能を表示する。
以上の実施例により、印刷詳細設定アプリケーションは、モード1でページドット9002の表示とフル機能設定画面への遷移を行うことができる。
〔実施例4〕
実施例1では、モード1にて、GPDエンジン30061の初期化の完了に関係なく印刷設定変更ができたが、その場合には、コンフリクトをOSにより解消する処理を行う必要があり、印刷設定を確定するまでコンフリクトが分からないまま設定してしまう問題がある。この場合、多くのコンフリクトが設定されていると、ユーザーが設定した印刷設定と全く別の設定になってしまい、ユーザーは再度、多くの設定をし直さなければならなくなる可能性がある。本実施例では、モード1で機能及び項目の一覧のみを確認するために起動を行い、モード1で設定項目の変更時にモード2に移行してから設定項目を確定する。これにより、起動時間を高速化しつつ、コンフリクトが起きている印刷設定が一斉に表示されることを防ぐ方法について図9を用いて説明する。尚、特に指定がない限り、本フローチャートはタッチパネル印刷詳細設定アプリケーション3006によって実行される。また、タッチパネル印刷詳細設定アプリケーション3006はタッチパネル印刷設定機能30062として動作しているものとする。さらに、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。タッチパネル印刷詳細設定アプリケーション3006は、他のシステムやユーザーの要求に応じて外部メモリ209からRAM202にロードされ、CPU201で実行される。
GPDエンジン30061の初期化の間、フォアグラウンドで、ユーザー入力を受け付ける(s8008)。そして受け付けたユーザー入力を判断する(s9011)。モード1で、スライドを含むページ遷移イベントを受け付けた場合、フル機能設定画面の表示を行う(s9010)。印刷の向き9003をはじめとする設定項目が変更された場合、GPDエンジン30061の初期化が完了しているかを確認する(s9012)。初期化が完了している場合、モードをモード2に変更し、コンフリクトを解消する処理を行う(s6016)。s9012にて、GPDエンジン30061の初期化が完了していなかった場合、プログレスリングを表示して、ユーザーからさらなる印刷設定の変更を受け付けず、GPDエンジン30061の初期化が完了するまで待機する(s9013)。
なお、プログレスリングを表示するタイミングは、機能の項目の一覧を表示するイベントが起きた時でも、選択項目が選ばれて確定される時のどちらでも良い。モード1で戻るボタン9001が押された場合、プリントチケット3102は変更されていないため、何もせずに終了する。
以上の実施例により、起動を高速化しつつ、コンフリクトが起きていることを印刷設定の変更時に必ず通知することができる。
〔実施例5〕
起動時のモードをモード1とモード2で切り替える方法について図10(a)、図10(b)、図10(c)と図11を用いて説明する。タッチパネル印刷詳細設定アプリケーション3006は、他のシステムやユーザーの要求に応じて外部メモリ209からRAM202にロードされ、CPU201で実行される。最初に、タッチパネル印刷詳細設定アプリケーション3006が持つ、ユーザーがタイルを選択することで起動し動作するタイルアプリ機能30063から説明する。尚、タイルアプリ機能30063として動作させる際の起動方法は、図4(a)で説明した通常のタッチパネルアプリケーション3004と同様である。さらに、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
図11は、タイルアプリ機能30063として動作するタッチパネル印刷詳細設定アプリケーション3006の一例として起動時のUIを示す。1101は、モード切り替えのコンボボックスであり、指をタップしてモードの一覧を表示する。表示された一覧の中から任意の一つを再度タップすることで、モードを選択することができる。当然ながら、モードを切り替える方法については、コンボボックスに限る必要はなく、他のどのような方法であっても良い。
図10(a)を用いて、タイルアプリ機能30063として動作するタッチパネル印刷詳細設定アプリケーション3006からモードを切り替える際の処理について説明する。尚、特に指定がない限り、本フローチャートはタッチパネル印刷詳細設定アプリケーション3006によって実行される。また、タッチパネル印刷詳細設定アプリケーション3006はタイルアプリ機能30063として動作しているものとする。タッチパネル印刷詳細設定アプリケーション3006は、起動後にアプリデータ領域3030から、起動時のモードが書かれているアプリデータ3032を読み込む(s10002)。アプリデータ3032を読み込んだ後、アプリデータ3032内に書かれているモードを選択されたモードとして、コンボボックスの選択肢のデフォルト値に設定してアプリ上に表示する(s10003)。表示後にユーザー入力を受け付ける(s10004)。タッチパネル印刷詳細設定アプリケーション3006は、ユーザー入力を受け付けた後、アプリデータ3032を書き換えて、書き換えたアプリデータ3031をアプリデータ領域3030に書き込む(s10005)。その後、タッチパネル印刷詳細設定アプリケーション3006の処理を終了する(s10006)。
次に、タッチパネル印刷詳細設定アプリケーション3006の起動について、図10(b)と図10(c)を用いて説明する。尚、特に指定がない限り本フローチャートはタッチパネル印刷詳細設定アプリケーション3006によって実行される。また、タッチパネル印刷詳細設定アプリケーション3006はタッチパネル印刷設定機能30062として動作しているものとする。
タッチパネル印刷詳細設定アプリケーション3006は、起動後にアプリデータ3031を読み込む(s10008)。図3を用いて説明した通り、タイルアプリ機能30063は、同一アプリケーションであるタッチパネル印刷設定機能30062とアプリデータ領域3030のデータを共有する。よって、s10008では図10(a)のs10005で書き込まれたアプリデータ3031が読み込まれる。アプリデータ3031を読み込んだ後にタッチパネル印刷詳細設定アプリケーションは、モードを判断する(s10009)。
読み込んだ後、アプリデータ3031にモード1と書いてあった場合には、実施例1の図6(a)のs6002に遷移する(s10010)。
モード2と書いてあった場合には、タッチパネル印刷詳細設定アプリケーションの起動時である本ステップでアプリGPDファイル3021を読み込み、構文解析する(s10012)。構文解析後に、GPDエンジン30061の初期化を行う(s10013)。
初期化完了後、フル機能設定画面を作成し(s10014)、そのあとにトップページ画面を表示して(s10015)、ユーザーの入力を受け付ける(s10016)。そして、受け付けたユーザーの入力の判断を行う(s10018)。
ページドット9002の押下やスライド操作などによりページ遷移のイベントが起きた場合にはページを遷移してユーザー入力を再度受け付ける(s10017)。出力方法9011の「印刷」をはじめとする機能の設定項目が変更された場合、アプリGPDファイル3021を基にコンフリクトを解消する処理を行う(s6020)。
戻るボタン9001が入力された場合、設定項目をプリントチケット3102に反映した後、プリントチケット3102を保存して(s10023)、OS210によってプリントチケット3102のコンフリクトが解消される(s6023)。コンフリクトが解消された後に、基本印刷設定UI8500に遷移する(s10024)。
本実施例により、モード1とモード2の起動を切り替えることができ、高速に起動したい場合にはモード1を利用し、必ずコンフリクトを解消したい場合にはモード2を利用することができるようになる。
〔実施例6〕
プリンタードライバーの機能数が増えると、アプリGPDファイル3021と共にプリントケイパビリティ3202も大きくなる。その場合、プリントケイパビリティを読み込む処理に時間がかかり起動が遅くなることがある。本実施例では、GPDエンジン30061の初期化とプリントケイパビリティ3202の読み込む処理の双方をUIスレッドとは別のバックグラウンドのスレッドで行うことで起動の高速化を実現する方法を、図15を用いて示す。尚、特に指定がない限り、本フローチャートはタッチパネル印刷詳細設定アプリケーション3006によって実行される。また、タッチパネル印刷詳細設定アプリケーション3006はタッチパネル印刷設定機能30062として動作しているものとする。さらに、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
s15001で、プリントケイパビリティ3202をUIスレッドとは別のスレッド上で読み込む。s15001はs6006と同一スレッドで行い、GPDエンジン30061の初期化処理を完了した後に開始する。これにより、プリントケイパビリティ3202の読み込みが完了した時点でGPDエンジン30061の初期化は必ず完了している。s6010において、GPDエンジン30061の初期化が完了していた場合、プリントケイパビリティ3202の読み込みが完了してなくても、モードをモード1からモード2へと変更して、s6020へと遷移する。
s6501においてタッチパネル上でユーザーが指をスライドしたと判断した場合、スライドイベントを受け付けバックグラウンドスレッドで行っているプリントケイパビリティ3202の読み込み処理が完了しているかどうかを確認する(s15002)。読み込みが完了していた場合には、フル機能設定画面を表示する(s6015)。プリントケイパビリティ3202の読み込みが完了していない場合にはプログレスリングを表示して、読み込みの完了を待つ(s15003)。読み込みの完了が終わった時点でフル機能設定画面を表示する(s6015)。
s6018においてタッチパネル上でユーザーが指を右から左へとスライドしたと判断した場合には、トップページを表示しているかどうかを判断する(s15004)。トップページを表示している場合には、s15002へと遷移する。フル機能設定画面を表示している場合には、s6015へと遷移する。
この実施例により、プリントケイパビリティ3202の読み込みに時間がかかっても起動を高速化することができる。また、プリントケイパビリティ3202の読み込みが完了する前に、モード1からモード2へとモードを変更することができるため、トップページにおいては高速に印刷設定の変更する度にコンフリクトを解消する処理とコンフリクトを通知する処理を行える。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (21)

  1. 2以上の印刷設定間の競合を解消するコンフリクトの解消処理を行う第1のモジュールの初期化を行う初期化手段と、
    前記第1のモジュールを有するアプリケーションが提供する画面を介して印刷設定の変更を受け付ける受付手段と、
    前記受付手段が前記印刷設定の変更を受け付けてかつ前記第1のモジュールの初期化が完了している場合は前記第1のモジュールによる前記コンフリクトの解消処理を行い、前記受付手段が前記印刷設定の変更を受け付けてかつ前記第1のモジュールの初期化が完了していない場合は前記アプリケーションの外部のモジュールである第2のモジュールによるコンフリクトの解消処理の機能を呼び出す制御手段と、を有することを特徴とする情報処理装置。
  2. 前記第1のモジュールの初期化が完了しているか否かを判断する判断手段と、を有し、
    前記制御手段は、前記受付手段が前記印刷設定の変更を受け付けてかつ前記判断手段が前記第1のモジュールの初期化完了していると判断した場合に前記第1のモジュールによる前記コンフリクトの解消処理を行い、前記受付手段が前記印刷設定の変更を受け付けてかつ前記判断手段が前記第1のモジュールの初期化完了していないと判断した場合に前記第2のモジュールによるコンフリクトの解消処理の機能を呼び出すことを特徴とする請求項1に記載の情報処理装置。
  3. 2以上の印刷設定間の競合を解消するコンフリクトの解消処理を行う第1のモジュールの初期化を行う初期化手段と、
    前記第1のモジュールを有するアプリケーションが提供する画面を介して印刷設定の変更を受け付ける受付手段と、
    前記アプリケーションが提供する画面を介して所定の指示が受け付けられたかと、前記第1のモジュールの初期化が完了しているか否かの条件に基づき、前記第1のモジュールによる前記コンフリクトの解消処理を行うよう制御するか、前記アプリケーションの外部のモジュールである第2のモジュールによるコンフリクトの解消処理の機能を呼び出すよう制御するかを異ならせる制御手段と、を有することを特徴とする情報処理装置。
  4. 前記第1のモジュールの初期化が完了しているか否かを判断する判断手段と、を有し、
    前記制御手段は、前記受付手段が前記印刷設定の変更を受け付けてかつ前記判断手段が前記第1のモジュールの初期化が完了していると判断した場合に前記第1のモジュールによる前記コンフリクトの解消処理を行い、前記アプリケーションを終了する前記所定の指示を受け付けてかつ前記判断手段が前記第1のモジュールの初期化が完了していないと判断した場合に前記第2のモジュールによるコンフリクトの解消処理の機能を呼び出すことを特徴とする請求項3に記載の情報処理装置。
  5. 前記判断手段は、第1の印刷設定画面から第2の印刷設定画面に遷移するための指示をユーザーから受け付けたことに応じて、前記第1のモジュールの初期化が完了しているか否かを判断することを特徴とする請求項2又は4に記載の情報処理装置。
  6. 前記制御手段は、前記判断手段が前記第1のモジュールの初期化は完了していないと判断した場合に、前記第2の印刷設定画面で印刷設定の変更を受け付けないように制御を行うことを特徴とする請求項に記載の情報処理装置。
  7. 前記判断手段は、印刷設定を変更する指示をユーザーから受け付けたことに応じて、前記第1のモジュールの初期化が完了しているか否かを判断することを特徴とする請求項2又は4に記載の情報処理装置。
  8. 前記制御手段は、前記判断手段が前記第1のモジュールの初期化は完了していないと判断した場合に、前記第1のモジュールの初期化が完了するまでユーザーからさらなる印刷設定の変更を受け付けずに待機することを特徴とする請求項に記載の情報処理装置。
  9. 前記第1のモジュールの初期化をバックグラウンドで行うか、又はアプリケーションの起動時に行うかを設定する設定手段と、を有し、
    前記判断手段は、前記設定手段が前記第1のモジュールの初期化をバックグラウンドで行う設定を行った場合に、前記第1のモジュールの初期化が完了しているか否かを判断し、
    前記制御手段は、前記設定手段が前記第1のモジュールの初期化を前記アプリケーションの起動時に行う設定を行った場合に、前記アプリケーションの起動時に前記第1のモジュールの初期化を行うことを特徴とする請求項2又は4に記載の情報処理装置。
  10. コンピューターに、印刷設定制御を実行させるためのアプリケーションプログラムであって、
    前記アプリケーションプログラムは、前記コンピューターに、
    2以上の印刷設定間の競合を解消するコンフリクトの解消処理を行う第1のモジュールの初期化を行う初期化工程と、
    印刷設定の変更を受け付ける受付工程と、
    前記受付工程で前記印刷設定の変更を受け付けてかつ前記第1のモジュールの初期化が完了している場合は前記第1のモジュールによる前記コンフリクトの解消処理を行い、前記受付工程で前記印刷設定の変更を受け付けてかつ前記第1のモジュールの初期化が完了していない場合は前記アプリケーションプログラムの外部のモジュールである第2のモジュールによるコンフリクトの解消処理の機能を呼び出す制御工程と、
    を実行させることを特徴とするアプリケーションプログラム。
  11. 前記コンピューターに、
    前記第1のモジュールの初期化が完了しているか否かを判断する判断工程を更に実行させ、
    前記制御工程は、前記受付工程で前記印刷設定の変更を受け付けてかつ前記判断工程で前記第1のモジュールの初期化完了していると判断した場合に前記第1のモジュールによる前記コンフリクトの解消処理を行い、前記受付工程で前記印刷設定の変更を受け付けてかつ前記判断工程で前記第1のモジュールの初期化完了していないと判断した場合に前記第2のモジュールによるコンフリクトの解消処理の機能を呼び出すことを特徴とする請求項10に記載のアプリケーションプログラム。
  12. コンピューターに、印刷設定制御を実行させるためのアプリケーションプログラムであって、
    前記アプリケーションプログラムは、前記コンピューターに、
    2以上の印刷設定間の競合を解消するコンフリクトの解消処理を行う第1のモジュールの初期化を行う初期化工程と、
    印刷設定の変更を受け付ける受付工程と、
    前記アプリケーションプログラムが提供する画面を介して所定の指示が受け付けられたかと、前記第1のモジュールの初期化が完了しているか否かの条件に基づき、前記第1のモジュールによる前記コンフリクトの解消処理を行うよう制御するか、前記アプリケーションプログラムの外部のモジュールである第2のモジュールによるコンフリクトの解消処理の機能を呼び出すよう制御するかを異ならせる制御工程と、
    を実行させることを特徴とするアプリケーションプログラム。
  13. 前記コンピューターに、
    前記第1のモジュールの初期化が完了しているか否かを判断する判断工程を更に実行させ、
    前記制御工程では、前記受付工程で前記印刷設定の変更を受け付けてかつ前記判断工程で前記第1のモジュールの初期化が完了していると判断した場合に前記第1のモジュールによる前記コンフリクトの解消処理を行い、前記アプリケーションプログラムを終了する前記所定の指示を受け付けてかつ前記判断工程で前記第1のモジュールの初期化が完了していないと判断した場合に前記第2のモジュールによるコンフリクトの解消処理の機能を呼び出すことを特徴とする請求項12に記載のアプリケーションプログラム。
  14. 前記判断工程は、第1の印刷設定画面から第2の印刷設定画面に遷移するための指示をユーザーから受け付けたことに応じて、前記第1のモジュールの初期化が完了しているか否かを判断することを特徴とする請求項11又は13に記載のアプリケーションプログラム。
  15. 前記制御工程は、前記判断工程で前記第1のモジュールの初期化は完了していないと判断した場合に、前記第2の印刷設定画面で印刷設定の変更を受け付けないように制御を行うことを特徴とする請求項14に記載のアプリケーションプログラム。
  16. 前記判断工程は、印刷設定を変更する指示をユーザーから受け付けたことに応じて、前記第1のモジュールの初期化が完了しているか否かを判断することを特徴とする請求項11又は13に記載のアプリケーションプログラム。
  17. 前記制御工程は、前記判断工程で前記第1のモジュールの初期化は完了していないと判断した場合に、前記第1のモジュールの初期化が完了するまでユーザーからさらなる印刷設定の変更を受け付けずに待機することを特徴とする請求項16に記載のアプリケーションプログラム。
  18. 前記コンピューターに、
    前記第1のモジュールの初期化をバックグラウンドで行うか、又はアプリケーションの起動時に行うかを設定する設定工程を更に実行させ、
    前記判断工程は、前記設定工程で前記第1のモジュールの初期化をバックグラウンドで行う設定を行った場合に、前記第1のモジュールの初期化が完了しているか否かを判断し、
    前記制御工程は、前記設定工程で前記第1のモジュールの初期化を前記アプリケーションの起動時に行う設定を行った場合に、前記アプリケーションの起動時に前記第1のモジュールの初期化を行うことを特徴とする請求項11又は13に記載のアプリケーションプログラム。
  19. 前記第2のモジュールは、前記コンピューター上で動作するOS(Operating System)が提供するモジュールであることを特徴とする請求項10乃至18のいずれか1項に記載のアプリケーションプログラム。
  20. 2以上の印刷設定間の競合を解消するコンフリクトの解消処理を行う第1のモジュールの初期化を行う初期化工程と、
    前記第1のモジュールを有するアプリケーションの画面を介して印刷設定の変更を受け付ける受付工程と、
    前記受付工程で前記印刷設定の変更を受け付けてかつ前記第1のモジュールの初期化が完了している場合は前記第1のモジュールによる前記コンフリクトの解消処理を行い、前記受付工程で前記印刷設定の変更を受け付けてかつ前記第1のモジュールの初期化が完了していない場合は前記アプリケーションの外部のモジュールである第2のモジュールによるコンフリクトの解消処理の機能を呼び出す制御工程と、を有することを特徴とする制御方法。
  21. 2以上の印刷設定間の競合を解消するコンフリクトの解消処理を行う第1のモジュールの初期化を行う初期化工程と、
    前記第1のモジュールを有するアプリケーションの画面を介して印刷設定の変更を受け付ける受付工程と、
    前記アプリケーションが提供する画面を介して所定の指示が受け付けられたかと、前記第1のモジュールの初期化が完了しているか否かの条件に基づき、前記第1のモジュールによる前記コンフリクトの解消処理を行うよう制御するか、前記アプリケーションの外部のモジュールである第2のモジュールによるコンフリクトの解消処理の機能を呼び出すよう制御するかを異ならせる制御工程と、を有することを特徴とする制御方法。
JP2015140046A 2015-07-13 2015-07-13 情報処理装置、アプリケーションプログラム及び制御方法 Expired - Fee Related JP6478850B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015140046A JP6478850B2 (ja) 2015-07-13 2015-07-13 情報処理装置、アプリケーションプログラム及び制御方法
US15/207,977 US9971554B2 (en) 2015-07-13 2016-07-12 Resolving print setting conflicts in an image forming system
US15/969,659 US10481848B2 (en) 2015-07-13 2018-05-02 Resolving print setting conflicts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015140046A JP6478850B2 (ja) 2015-07-13 2015-07-13 情報処理装置、アプリケーションプログラム及び制御方法

Publications (3)

Publication Number Publication Date
JP2017021666A JP2017021666A (ja) 2017-01-26
JP2017021666A5 JP2017021666A5 (ja) 2018-08-16
JP6478850B2 true JP6478850B2 (ja) 2019-03-06

Family

ID=57775029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015140046A Expired - Fee Related JP6478850B2 (ja) 2015-07-13 2015-07-13 情報処理装置、アプリケーションプログラム及び制御方法

Country Status (2)

Country Link
US (2) US9971554B2 (ja)
JP (1) JP6478850B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965231B2 (en) * 2015-07-23 2018-05-08 Konica Minolta, Inc. Printer driver and information processing device
US10785380B2 (en) * 2016-02-26 2020-09-22 Brother Kogyo Kabushiki Kaisha Non-transitory computer-readable medium and terminal apparatus
US11038946B2 (en) * 2018-03-30 2021-06-15 Ricoh Company, Ltd. Approach for providing access to cloud services on end-user devices using local management of third-party services and conflict checking
JP7169838B2 (ja) * 2018-10-04 2022-11-11 キヤノン株式会社 印刷装置、その制御方法、及びプログラム
JP7282576B2 (ja) * 2019-04-09 2023-05-29 キヤノン株式会社 印刷システム、印刷装置と情報処理装置の制御方法、及びプログラム
JP7321827B2 (ja) * 2019-08-21 2023-08-07 キヤノン株式会社 情報処理装置の制御方法、印刷設定アプリケーション、ならびに情報処理装置
JP2024046140A (ja) * 2022-09-22 2024-04-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2024058153A (ja) * 2022-10-14 2024-04-25 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149979B2 (en) * 2001-03-08 2006-12-12 Lexmark International, Inc. Data management system and method for peripheral devices
JP5062932B2 (ja) 2001-09-19 2012-10-31 キヤノン株式会社 ユーザインタフェース制御装置及び方法及びコンピュータプログラム及び記憶媒体
JP4518095B2 (ja) * 2007-03-30 2010-08-04 ブラザー工業株式会社 画像形成装置
JP5020131B2 (ja) * 2008-03-14 2012-09-05 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
JP5791311B2 (ja) * 2011-03-02 2015-10-07 キヤノン株式会社 情報処理装置、印刷設定方法、及びコンピュータプログラム
JP5882623B2 (ja) * 2011-08-03 2016-03-09 キヤノン株式会社 情報処理装置、制御方法、プログラム
JP2013250613A (ja) * 2012-05-30 2013-12-12 Canon Inc 情報処理装置、制御方法及びプログラム

Also Published As

Publication number Publication date
US10481848B2 (en) 2019-11-19
US9971554B2 (en) 2018-05-15
US20180246690A1 (en) 2018-08-30
JP2017021666A (ja) 2017-01-26
US20170017447A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
JP6478850B2 (ja) 情報処理装置、アプリケーションプログラム及び制御方法
US10705774B2 (en) Managing print settings in multiple different setting software
US10846032B2 (en) Information processing apparatus and method of controlling information processing apparatus, with display control for displaying print setting screens as data become available
US9088678B2 (en) Image processing device, non-transitory computer readable recording medium and operational event determining method
US9715359B2 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
JP7314488B2 (ja) アプリケーション装置、プログラム、及び画像処理装置
WO2014112331A1 (en) Information processing apparatus and control method, and storage medium
JP6786199B2 (ja) 印刷制御装置、印刷制御装置の制御方法、及びプリンタドライバプログラム
JP6659192B2 (ja) 情報処理装置、情報処理装置の制御方法、及びアプリケーションプログラム
JP7322116B2 (ja) 印刷設定uiを表示するためのアプリケーション
US20230161608A1 (en) Information processing apparatus, control method, and storage medium
JP6362423B2 (ja) リアルタイムコンフリクト処理システム
JP2019079473A (ja) 情報処理装置及びプログラム
EP2953015A1 (en) Device and method for providing user interface screen
JP2020126681A (ja) アプリケーション及び情報処理装置
JP2018031950A (ja) 情報処理装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181221

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: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190205

R151 Written notification of patent or utility model registration

Ref document number: 6478850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees