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

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

Info

Publication number
JP7387342B2
JP7387342B2 JP2019161544A JP2019161544A JP7387342B2 JP 7387342 B2 JP7387342 B2 JP 7387342B2 JP 2019161544 A JP2019161544 A JP 2019161544A JP 2019161544 A JP2019161544 A JP 2019161544A JP 7387342 B2 JP7387342 B2 JP 7387342B2
Authority
JP
Japan
Prior art keywords
print
application
add
printer
information
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
JP2019161544A
Other languages
English (en)
Other versions
JP2021039613A5 (ja
JP2021039613A (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 JP2019161544A priority Critical patent/JP7387342B2/ja
Priority to US17/006,659 priority patent/US11372598B2/en
Priority to KR1020200109050A priority patent/KR20210028579A/ko
Priority to EP20193654.9A priority patent/EP3789867A1/en
Priority to CN202010921371.9A priority patent/CN112445436B/zh
Publication of JP2021039613A publication Critical patent/JP2021039613A/ja
Publication of JP2021039613A5 publication Critical patent/JP2021039613A5/ja
Application granted granted Critical
Publication of JP7387342B2 publication Critical patent/JP7387342B2/ja
Active 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • 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/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • 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/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • 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/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • 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
    • 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/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • 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/1279Controller construction, e.g. aspects of the interface hardware
    • 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
    • G06F3/129Remote printer device, e.g. being remote from client or server in server-printer device-client configuration, e.g. print flow goes from server to printer and then bidirectional from printer to client, i.e. the client does not communicate with the 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/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet 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/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/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • 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/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • H04N1/12Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa using the sheet-feed movement or the medium-advance or the drum-rotation movement as the slow scanning component, e.g. arrangements for the main-scanning
    • 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)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プリンタドライバとは分離された該プリンタドライバの機能を拡張するアプリケーション情報処理装置及び制御方法に関する。
プリンタドライバを利用し、ホストコンピュータから印刷装置に対して印刷データを送信する構成が一般に知られている。ホストコンピュータには、基本ソフトウェアであるオペレーティングシステム(OS)がインストールされており、プリンタドライバはそのOSの規定する仕様に従って構成され、OSから呼び出されて動作する。
印刷装置を提供するベンダーは、OSの仕様に適合する印刷装置に適したプリンタドライバを提供することにより、そのOSを用いてプリンタに印刷を指示する手段を提供することができる。
OSとしてMicrosoft(登録商標)社のWindows(登録商標)8より前のバージョンを利用する場合、プリンタドライバはV3プリンタドライバと呼ばれるアーキテクチャで構成される。V3プリンタドライバは、ユーザーからの要求が発生したタイミングでユーザーインタフェース(UI)を表示し、何らかの操作をユーザーに促すような機能を提供することができる。
また、近年、Windows8以降のバージョンにおいて、V4プリンタドライバと呼ばれるアーキテクチャが登場している。V4プリンタドライバは、セキュリティ性が重視されているため、プリンタドライバそのもののカスタマイズ性がV3プリンタドライバと比較して低下している。
V4プリンタドライバでは、例えば、コンフィグレーションモジュールはOSにより提供され、印刷装置を提供するベンダーは、その動作をカスタマイズする設定ファイルやスクリプトファイルのみを提供可能である。V4プリンタドライバのようなカスタマイズ性の低下を補うため、印刷装置を提供するベンダーは、プリンタドライバの機能を補助(拡張)するための専用のアプリケーションを提供することができる。このアプリケーションは、UWP(Universal Windows Platform) Device Appsと呼ばれる。UWP Device Appsは、プリンタドライバとは分離されたアプリケーションである。
UWP Device Appsでは、デバイスステージと呼ばれるドライバのHardwareIDとUWP Device AppsのIDを内包するメタデータを、印刷装置を提供するベンダーがプリンタドライバ毎に提供する。これにより、プリンタドライバと、プリンタドライバとは分離されているUWP Device Appsを関連付けることができる。なお、一つのUWP Device Appで複数のプリンタドライバをサポートすることが一般的である。UWP Device Appは、Microsoft Store(商標登録)で公開され、ユーザーに自動で配信される。
UWP Device Appsは、所定のユーザー操作などを契機としてプリントに関する処理を実行させるWorkflow(WF)と呼ばれる機能を備えることが可能である。また、UWP Device Appsは、プリンタ固有の印刷設定を設定するPrintPreferenceと呼ばれる機能を備えることも可能である。
また、機能が異なる複数種類の印刷装置を制御するためのプリンタドライバとしてユニバーサルプリンタードライバと称されるプリンタドライバが知られている(特許文献1)。この種のプリンタドライバでは、機種やモデル毎に個々の印刷装置ごとの機能を内包しておき、機種に応じて最適なUIを表示する。
特開2015-135658号公報
上述のように、UWP Device Appは、Microsoft Store等から全ユーザーに提供されるため、機能をユーザーごとにカスタマイズすることができない。このため、ユーザーによってはあまり使い勝手が良いものになっていない可能性があった。
本発明は、上記の課題を解決するためになされたものである。本発明の目的は、プリンタドライバとは分離されたプリンタドライバを拡張するアプリケーションの機能をユーザーごとにカスタマイズすることが可能となり、ユーザーにとって使い勝手の良いものにできる仕組みを提供することである。
本発明は、数のプリントキューと対応づけられ、プリンタドライバに提供される印刷設定を設定する印刷設定画面を表示させる印刷設定アプリケーションであって、前記印刷設定画面を表示させる第1の表示制御工程と、前記印刷設定画面を介した第1の所定の操作に従って、印刷データの送信先として選択されているプリンタの情報に基づき特定される、前記印刷設定アプリケーションの拡張機能に対応するオブジェクトを表示させる第2の表示制御工程と、前記複数のプリントキューの情報が表示されている画面において、第2の所定の操作がなされたことに従って、前記複数のプリントキューに対応するいずれのプリンタでも利用することができる拡張機能に対応するオブジェクトを表示させる第3の表示制御工程と、を情報処理装置に実行させることを特徴とする。
本発明によれば、プリンタドライバとは分離されたプリンタドライバを拡張するアプリケーションの機能をユーザーごとにカスタマイズすることが可能となり、ユーザーにとって使い勝手の良いものにできる。
本実施形態に係る印刷システムの構成の一例を示す図。 本実施形態の情報処理装置のハードウェア構成の一例を示すブロック図。 本実施形態の情報処理装置のソフトウェア構成の一例を示す図。 メタデータの記述の一例を示す図。 メタデータ3701により構築される印刷環境の一例を示す図。 プリント拡張アプリの標準UIについて説明する図。 プリント拡張アプリの標準UIについて説明する図。 本実施形態の情報処理装置の基本的な印刷の流れの一例を示すフローチャート。 本実施形態の情報処理装置の基本的な印刷の流れの一例を示すフローチャート。 プリント拡張アプリの詳細印刷設定UIについて説明する図。 プリント拡張アプリの詳細印刷設定UIについて説明する図。 プリント拡張アプリの詳細印刷設定UIについて説明する図。 印刷時起動処理の一例を示すフローチャート。 印刷時起動処理の一例を示すフローチャート。 プリント拡張アプリの印刷時起動UIについて説明する図。 アドイン情報記述部3008に記述されているアドイン情報の一例を示す図。 アドイン画面表示処理の一例を示すフローチャート。 アドイン画面表示処理の一例を示すフローチャート。 アドインアプリ起動処理の一例を示すフローチャート。 アドインアプリのUI及び受け渡し情報の一例を示す図。
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
まず図1を用いて、本発明に係る印刷システムの構成について説明する。
図1は、本発明の一実施形態に係る印刷システムの構成の一例を示す図である。
本実施形態の印刷システムは、クライアントコンピュータ101、サーバー104、プリンタ102、プリンタ102とは別のプリンタ105を備える。クライアントコンピュータ101は、情報処理装置の一例である。サーバー104は、クライアントコンピュータ101へ対してデータを配信するものであり、クラウドサービス等を利用して実現される構成であってもよい。プリンタ102、105は、ページ記述言語(PDL)形式の印刷データを受信して印刷を行う。これら各装置は、Wide Area Network(WAN)を含むネットワーク103を通じて相互に通信可能である。
なお、プリンタ102及びプリンタ105は、印刷機能のみを備えるシングルファンクションプリンタ(SFP)でも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタ(MFP)でもよい。また、プリンタは、ネットワーク103に対し2台に限らず、1台でも3台以上接続されていてもよい。
また、クライアントコンピュータ101は、ネットワーク103に対し1台に限らず、複数台接続されていてもよい。クライアントコンピュータ101は、プリンタ102やプリンタ105などに印刷データを送信することができる。
図2は、クライアントコンピュータ101のハードウェア構成の一例を示すブロック図である。
クライアントコンピュータ101は、CPU(Central Processing Unit)201、RAM(Random Access Memory)202、外部メモリ209、ROM(Read Only Memory)203を有する。
CPU201を含む制御部200は、クライアントコンピュータ101全体の動作を制御する。CPU201は、ROM203又は外部メモリ209に記憶されたプログラムをRAM202に展開し、それを実行してUI画面の制御や印刷データの生成、印刷データの転送などの各種制御を行う。ROM203は、CPU201で実行可能な制御プログラムやブートプログラム、各種データ等を格納する。RAM202は、CPU201の主記憶メモリであり、ワークエリア又は各種プログラムを展開するための一時記憶領域として用いられる。
外部メモリ209は、外部メモリI/F208を介して制御部200に接続される。外部メモリ209は、後述する図3に詳述するアプリケーション210、アプリケーション実行環境211、OS212などの各種プログラムや不図示の各種データ等を記憶する。本実施形態では、外部メモリ209としてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、HDDの代わりに又は併用してSSD(Solid State Drive)などの不揮発性メモリを用いるようにしてもよい。
以上のCPU201、RAM202、ROM203、外部メモリ209等のハードウェアは、いわゆるコンピュータを構成している。
操作入力装置I/F204は、操作入力装置205を制御するインタフェースである。操作入力装置205は、ユーザーからの操作を受け付ける受付部として機能する。操作入力装置205は、例えば、キーボードやポインティングデバイス(マウス)、タッチ入力デバイスなどである。
ディスプレイI/F206は、ディスプレイ207への画面の表示を制御する。ディスプレイ207は、ユーザーに対して情報を表示する表示部として機能する。
なお、タッチパネル等の操作入力装置205とディスプレイ207が一体となった装置を備えていてもよい。
制御部200は、ネットワークI/F213を介してネットワーク103に接続される。ネットワークI/F213は、ネットワーク103上のプリンタに印刷データを送信したり、ネットワーク103上のサーバーからアプリケーションやプリンタドライバなどを受信したりする。なお、ネットワーク103上の外部端末とのデータ通信は、例えばIEEE802.11シリーズに準拠する無線通信やLTEや5Gなどの移動通信システムや、LANケーブルなどの有線ケーブルを介した通信である。
続けて、図3を用いて、クライアントコンピュータ101のソフトウェア構成の一例について説明する。
図3は、クライアントコンピュータ101のソフトウェア構成の一例を示す図である。
図3に示すように、クライアントコンピュータ101内のソフトウェアは、アプリケーション210、アプリケーション実行環境211とOS212の3つの層を有する。これらは、CPU201がROM203又は外部メモリ209等に記憶されたプログラムをRAM202に展開して実行することにより実現される。
まず、OS212を構成する個々の要素について説明する。
OS212は、外部設定ファイル群3700、プリンティングシステム3800、プリンタドライバ3900、スレッドプール3600を有する。
まず、外部設定ファイル群3700の構成について説明する。
外部設定ファイル群3700には、メタデータ3701、レジストリ3702が含まれる。
メタデータ3701は、プリント拡張アプリ3000のプリント拡張アプリ識別子とプリンタベンダーが提供したプリンタドライバ3900のプリントキュー3803のHWID(HardwareId)という双方の識別子を持つ定義情報である。メタデータ3701は、プリント拡張アプリ識別子と、HWIDとを関連付ける(紐付ける)役割を持つ。なお、メタデータ3701の一例を後述する図4に示す。
レジストリ3702は、OS212の設定群が記述された設定情報のデータベースである。レジストリ3702は、Key And Value方式で値を記載することができる。レジストリ3702は、OS212に関する基本情報やアプリケーション210の設定と拡張情報のほか、プリントキュー3803毎の設定などを記述することができる。レジストリ3702には、印刷時起動アプリランチャ3801によるバックグラウンドタスクの起動の有効と無効を切り替える設定や、プリンタドライバ3900に関連づくプリント拡張アプリ3000の識別子なども登録されている。なお、当該レジストリ3702に登録されている設定は、OS212の設定画面を介して変更可能である。
続いてプリンティングシステム3800を構成する要素について説明する。
プリンティングシステム3800には、プリントキュー3803、スプーラ3802、フィルタパイプラインマネージャ3805、コンフィグレーションモジュール3804、印刷時起動アプリランチャ3801等が含まれる。
プリントキュー3803は、ネットワーク103内に存在するプリンタを使用して印刷を行う際に、発生した印刷ジョブを一時的に記憶しておく領域である。プリントキュー3803は、複数存在し得る。なお、1つのプリンタ102に対し、複数のプリンタキュー3803が存在することも可能である。本実施形態では、プリンタ102に対応するプリントキューとプリンタ105に対応するプリントキューが既にそれぞれ作成されているものとする。図3の例では1つのプリントキューのみを図示しているが、プリンタ102に対応するプリントキューとプリンタ105に対応するプリントキューがそれぞれ存在する。プリントキュー3803は、対応するプリンタのIPアドレスなど宛先情報なども持つ。
スプーラ3802は、アプリケーション210のいずれかから印刷処理された印刷対象のデータであるXPS(XML Paper Specification)ファイルを一時的に記憶及び管理するモジュールである。スプーラ3802に保存されたXPSファイルは、フィルタパイプラインマネージャ3805を通して、PDL(Page Description Language)に変換された後に、再度スプーラ3802を通じてプリンタへと送信される。
フィルタパイプラインマネージャ3805は、プリンタドライバ3900の1つ以上のフィルタ3904をロードして、XPSファイルをPDLファイルへと変換するモジュールである。フィルタパイプラインマネージャ3805は、OS212が提供する印刷アーキテクチャ(印刷システムとも呼ぶ)の一部として構成されている。フィルタパイプラインマネージャ3805は、フィルタコンフィグ3903の定義に基づき、プリンタドライバ3900を構成する要素の一つである1以上のフィルタ3904を読み込み、当該1以上のフィルタ3904を使用してPDLを生成する。PDLには、例えば、PCL(Printer Command Language)やPDF(Portable Document Format)などを採用することができる。なお、フィルタコンフィグ3903、フィルタ3904の詳細は後述する。
コンフィグレーションモジュール3804は、PrintTicket(「プリントチケット」とも呼ぶ)の生成、変更を行うモジュールである。また、コンフィグレーションモジュール3804は、組み合わせることができない印刷設定が行われないよう制限する禁則機能を有する。また、コンフィグレーションモジュール3804は、プリンタの能力情報であるPrintCapabilitiesの管理も行う。なお、後述するプリント拡張アプリ3000の印刷時起動UI部3003、詳細印刷設定UI部3004、印刷時起動バックグラウンドタスク部3005は、コンフィグレーションモジュール3804が提供するAPIを呼び出すことができる。これら各部は、当該APIを呼び出すことで、XML(Extensible Markup Language)形式のPrintTicketやPrintCapabilitiesを取得することができる。
コンフィグレーションモジュール3804の動作は、プリンタドライバ3900のスクリプトファイル3901やデバイス機能テキストファイル3902に基づきカスタマイズされる。V4プリンタドライバは、プリンタドライバ3900として、印刷時の処理が記述されたスクリプトファイル3901や、禁則ルールやデバイスの機能が記述されたデバイス機能テキストファイル3902をOS212に提供する。
印刷時起動アプリランチャ3801は、印刷時起動バックグラウンドタスク部3005などが提供するバックグラウンドタスクの実行を制御するモジュールである。印刷時起動アプリランチャ3801は、ユーザーにより印刷開始指示が入力されたことをOS212が検知し、印刷を行う場合に、印刷時起動バックグラウンドタスク部3005を起動する。なお、レジストリ3702にバックグラウンドタスクの起動を無効とする設定が記憶されている場合、OS212は印刷時起動バックグラウンドタスク部3005の実行を抑制する。
続いて、プリンタドライバ3900の構成について説明する。
プリンタドライバ3900は、スクリプトファイル3901、デバイス機能テキストファイル3902、フィルタコンフィグ3903、フィルタ3904、INF3905を有する。プリンタドライバ3900は、OS212内にインストールされる。なお、プリンタドライバ3900は、1つとは限らず、複数種類存在することがあり得る。
スクリプトファイル3901には、印刷時の処理が記述されている。デバイス機能テキストファイル3902には、禁則ルールやデバイスの機能が記述されている。スクリプトファイル3901とデバイス機能テキストファイル3902は、コンフィグレーションモジュール3804によって呼び出されるファイルである。これらのファイルにより、コンフィグレーションモジュール3804の動作をカスタマイズできる。
フィルタコンフィグ3903は、フィルタパイプラインマネージャ3805が参照する定義ファイルであり、1つ以上のフィルタ3904を呼び出す順序が記述されている。
フィルタ3904は、フィルタパイプラインマネージャ3805によって呼び出されるフィルタであり、入力されたXPSファイルをPDLへと変換して出力する機能を有している。
INF3905は、プリンタドライバ3900をインストールするための設定情報が記載されたテキストファイルである。
続いて、スレッドプール3600について説明する。
スレッドプール3600は、各種アプリケーション210、アプリケーション実行環境211やOS212内のモジュール群が実行される際に利用されるスレッドを格納するモジュールである。
次に、アプリケーション実行環境211を構成する個々の要素について説明する。
アプリケーション実行環境211は、デスクトップアプリ実行環境3500、タッチアプリ実行環境3400を含む。
タッチアプリ実行環境3400は、後述するアプリケーション210の一種であるOS212上で動作するタッチアプリ3100やプリント拡張アプリ3000を、実行するための実行環境である。タッチアプリ実行環境3400は、サーバー104から配布されたUWP(Universal Windows Platform)アプリケーションを動作させるための実行環境であり、UWPアプリケーションの実行を制御する。
デスクトップアプリ実行環境3500は、後述するアプリケーション210の一種であるデスクトップアプリ3300を実行するための実行環境である。デスクトップアプリ実行環境3500は、「Win32/64アプリケーション」や「.NETアプリケーション」などの実行を制御する。
次に、アプリケーション210を構成する個々の要素について説明する。
アプリケーション210には、プリント拡張アプリ3000、タッチアプリ3100、デスクトップブリッジアプリ3200、デスクトップアプリ3300の4種類のアプリケーションなどが含まれる。
デスクトップアプリ3300は、従来の「Win32/64アプリケーション」や「.NETアプリケーション」であり、標準UI部3301を持ち、実行ファイルの形式である。デスクトップアプリ3300は、デスクトップアプリ実行環境3500で動作するアプリケーションである。
タッチアプリ3100は、タッチアプリ実行環境3400で動作するアプリケーションである。タッチアプリ3100は、Microsoft Storeなどに代表されるインターネット上で公開されるアプリケーション配布システムを通じて、ダウンロードされ、クライアントコンピュータ101にインストールされる。タッチアプリ3100では、標準UI部3101や、タッチアプリ3100の識別子などが記述されたマニフェスト3102などの必要なファイル群がパッケージ化されて署名されており、OS212内のAPIの呼び出しを制限されている。
デスクトップブリッジアプリ3200は、デスクトップアプリを、タッチアプリと同様にインターネット上で公開されるMicrosoft Storeなどのアプリケーション配布システムを通じて配布できるようにしたものである。デスクトップブリッジアプリ3200は、デスクトップアプリ3300とタッチアプリ3100を複合的に組み合わせた構成を持つことが可能になっている。デスクトップブリッジアプリ3200では、タッチアプリ3100と同様に、標準UI部3101やアプリケーションを識別するための識別子が記述されたマニフェスト3202などの必要なファイル群がパッケージ化されて署名されている。
なお、デスクトップブリッジアプリ3200は、標準UI部3201の構成に応じて、タッチアプリ実行環境3400かデスクトップアプリ実行環境3500のいずれか、又は双方で動作することが可能である。標準UI部3201の中で、デスクトップアプリ実行環境3500のAPI群を利用している場合には、デスクトップブリッジアプリ3200は、デスクトップアプリ実行環境3500上で動作する。また、標準UI部3201の中で、タッチアプリ実行環境3400のAPI群を利用している場合には、デスクトップブリッジアプリ3200は、タッチアプリ実行環境3400上で動作する。
プリント拡張アプリ3000は、タッチアプリ3100の一種であり、タッチアプリ3100と同様にタッチアプリ実行環境3400の上で動作する。プリント拡張アプリ3000は、情報処理装置上の1又は複数のプリンタドライバ3900と紐づけされるプリンタドライバ3900とは分離されたプリンタドライバ3900の機能を拡張するアプリケーションである。プリント拡張アプリ3000は、UWP Device Appsと呼ばれるアプリケーションである。プリント拡張アプリ3000は、プリンタドライバ3900のインストールに伴い、OS212によりアプリケーション配布システムからインターネットを経由して取得されインストールされる。
プリント拡張アプリ3000は、標準UI部3002、詳細印刷設定UI部3004、印刷時起動バックグラウンドタスク部3005、印刷時起動UI部3003を有する。また、プリント拡張アプリ3000は、アプリストア3006、通信部3007、アドイン情報記述部3008、マニフェスト3009を有する。なお、プリント拡張アプリ3000は、詳細印刷設定UI部3004、印刷時起動バックグラウンドタスク部3005及び印刷時起動UI部3003を、必ずしも備えていなくてもよい。
標準UI部3002部は、OS212により提供されるメニューから拡張アプリ3000を起動するユーザー操作を受け付けたことによりOS212によって発行される標準UI起動イベントを受信したことに従って実行されるUI部である。標準UI部3002部は、関連付いたプリントキュー3803のステータス表示など、タッチアプリとして自由に機能を提供できる。
詳細印刷設定UI部3004は、OS212によって発行された詳細設定イベントを受信したことに従って実行されるUI部である。詳細設定イベントは、例えば、ユーザーがOS212より提供される印刷設定画面が表示されている状況でプリンタドライバ3900が生成する印刷ジョブに含めるさらに詳細な印刷設定を行うための指示をした場合に発行される。印刷装置を提供するベンダーは、詳細印刷設定UI部3004により、印刷設定時に独自にカスタマイズしたUIを表示させることができる。詳細印刷設定UI部3004は、コンフィグレーションモジュール3804からAPIを通じて取得した印刷設定情報のPrintTicketと印刷能力情報のPrintCapabilitiesに基づき印刷設定用のUIを生成して表示する。詳細印刷設定UI部3004は、ユーザー操作(詳細印刷設定操作)に従って、適宜、PrintTicketの設定を変更し、コンフィグレーションモジュール3804に返却する。詳細印刷設定UI部3004は、プリンタ固有の印刷設定を設定するPrintPreferenceと呼ばれる機能に対応するUI部である。
印刷時起動バックグラウンドタスク部3005は、印刷イベントが発行された際に実行すべきバックグラウンドタスクに対応するコンポーネントである。印刷時起動バックグラウンドタスク部3005が提供するタスクは、生存時間に限りがあり、一定時間が経過するとOS212によって強制的に終了させられる。また、印刷時起動バックグラウンドタスク部3005は、UIスレッドとは別のスレッドで動作する。
印刷時起動バックグラウンドタスク部3005は、コンフィグレーションモジュール3804のAPIを通じてPrintTicketの取得や読み書きをすることができる。バックグラウンドタスクは、印刷時起動UI部3003を起動するか否かを判断し、必要に応じてフォアグラウンドタスクのコンポーネントである印刷時起動UI部3003の起動をOS212に要求する。なお、バックグラウンドタスクと印刷時起動UI部3003との情報の受け渡しは、アプリストア3006に情報を読み書きすることで行うことができる。
なお、印刷時起動UI部3003を起動しないと判断した場合は、印刷時起動アプリランチャ3801は、プリント拡張アプリ3000を起動しない。
さらに、印刷時起動バックグラウンドタスク部3005により起動された印刷時起動UI部3003は、印刷対象のデータとなるXPSやPrintTicketを編集して、OS212に返すことができる。
印刷時起動バックグラウンドタスク部3005よりOS212に対して印刷時起動UI部3003の起動要求が行われると、OS212は、印刷時起動UI部3003を起動する。印刷時起動UI部3003は、PrintTicketやPrintCapabilitiesの取得と設定の変更ができる他に、印刷対象のデータのXPSファイルを取得することができる。XPSファイルの変更を行う場合には、一度、アプリストア3006を通じて編集後のXPSファイルを印刷時起動バックグラウンドタスク部3005に渡し、タスク部3005が編集したXPSファイルをOS212に返す必要がある。本実施形態において、印刷時起動UI部3003は、印刷に関する確認を行うためのUIや、未入力の設定をユーザーに入力させるためのUIなどを表示するものとするが、印刷時にUIを表示する処理であれば他の処理のためのUIを表示するものでもよい。印刷時起動UI部3003は、所定のユーザー操作などを契機としてプリントに関する処理を実行させるWorkflow(WF)と呼ばれる機能に対応するUI部である。
マニフェスト3009は、プリント拡張アプリ3000の設定値が記述されているファイルである。プリント拡張アプリ3000を一意に示すプリント拡張アプリ識別子や、機能情報などが記述されている。
通信部3007は、プリンタから情報取得をする場合などに、通信を担うモジュールである。
アドイン情報記述部3008には、プリント拡張アプリ3000を後から拡張可能なアドインアプリの識別子などの情報が記述されている。アドインアプリは、タッチアプリ3100やデスクトップブリッジアプリ3200のいずれかの形式で構成され、プリント拡張アプリ3000に対する追加機能を提供する。アドインアプリは、例えばMicrosoft Storeからインストール可能である。また、アドインアプリは、複数インストール可能である。
図4は、デバイスであるプリンタ102とプリント拡張アプリ3000とを関連付けるメタデータ3701の記述の一例を示す図である。
図4(a)は、メタデータ3701における、対応デバイス情報を示す記述の一例に対応する。
図4(a)に示すように、メタデータ3701には、このメタデータを利用するプリンタ102の一覧を示すHardwareIDListタグ402が記述される。項目403は、“MFP1_abcd”というHardwareIDを持つプリンタ102が、このメタデータ3701を利用することを示す。同様に、項目404は、“MFP2_ijkl”というHardwareIDを持つプリンタ105が、このメタデータを利用することを示している。このように、1つのメタデータ3701に、そのメタデータを利用するプリンタを複数列挙することができる。
本実施形態では、一例としてメタデータ3701に、2つのプリンタのHardwareIDが指定されている場合を例示しているが、これに限定されるものではない。メタデータ3701に記述されるプリンタ102のHardwareIDは1つであっても、3つ以上であってもよい。なお、HardwareIDとは、プリンタから返却される、プリンタを一意に特定するための識別情報である。
図4(b)は、メタデータ3701におけるプリント拡張アプリ3000を示す記述の一例に対応する。
図4(b)に示すように、メタデータ3701には、このメタデータを利用するプリント拡張アプリ3000の一覧を示すDeviceCompanionApplicationsタグ411が記述される。項目412は、“12345678-abcd-efgh-ijkl-123456789012”というプリンタベンダーが提供する、“1234abcd.MFPUtility”というプリント拡張アプリ3000が、このメタデータを利用することを示す。すなわち図4(a)及び(b)の記載を含むメタデータ371は、プリント拡張アプリ3000(1234abcd.MFPUtility)を、プリンタ102(MFP1_abcd)及びプリンタ105(MFP2_ijkl)に関連付けることを示す。
プリンタベンダーは、このようなメタデータ3701を事前にMicrosoft社等が管理するメタデータ用サーバーに提供しておく。これにより、プリンタベンダーは、ユーザー環境にプリンタドライバ3900がインストールされた際に、接続されたデバイスに最適なプリント拡張アプリ3000を自動的にインストールするように制御可能となる。以下、クライアントコンピュータ101にプリンタ102が接続された場合を例に説明する。
クライアントコンピュータ101にプリンタ102が接続されると、OS212は、所定のサーバー(例えばMicrosoftが管理するメタデータ用サーバー)に登録されているメタデータ3701を検索する。OS212は、該検索により上記接続されたプリンタ102から返却されるHardwareIDがHardwareIDListタグ402に記述されたメタデータ3701を見つけると、それをクライアントコンピュータ101の外部メモリ209に保存する。さらに、OS212は、該保存したメタデータ3701のDeviceCompanionApplicationタグ401に記述されたプリント拡張アプリ3000を、不図示のアプリケーション配布システムから取得する。そして、OS212は、該取得したプリント拡張アプリ3000を、クライアントコンピュータ101の外部メモリ209にインストールし、プリンタ102と関連付ける。これにより、プリンタ102に対してプリンタドライバ3900を経由して印刷要求が発生した際に、対応するプリント拡張アプリ3000を起動できるようになる。このメタデータ3701は、プリンタベンダーによって提供されるものである。プリンタベンダーは、このメタデータ3701を事前にMicrosoft社等が管理するメタデータ用サーバーに提供する。これにより、プリンタベンダーは、ユーザー環境にプリンタドライバ3900がインストールされた際に、接続されたデバイスに最適なプリント拡張アプリ3000を自動的にインストールするように制御することができる。
図5は、メタデータ3701により構築される印刷環境の一例を示す図である。
プリンタ102は、“MFP1_abcd”というHardwareIDを有する。プリンタ102がクライアントコンピュータ101に接続されると、OS212は、HardwareIDListタグに“MFP1_abcd”というHardwareIDが記述されているメタデータ3701をメタデータ用サーバーから取得する。さらに、OS212は、取得したメタデータ3701に記述されているMFPUtility506というプリント拡張アプリ3000を、アプリケーション配布システムから取得し、プリンタ102と関連付ける。
なお、メタデータ3701のHardwareIDList402に記述されている、プリンタ102用にクライアントコンピュータ101にインストールされるプリンタドライバ3900は、複数種類存在し得る。つまり、1つのデバイスであるプリンタ102に対応するプリンタドライバとして、複数のプリンタドライバが存在し得る。ここでは、それぞれ機種別プリンタドライバ508、共通プリンタドライバ509及び標準プリンタドライバ510の3つのドライバがインストールされているとして説明を行う。
機種別プリンタドライバ508は、プリンタベンダーにより提供されるプリンタ102の専用プリンタドライバである。共通プリンタドライバ509は、プリンタベンダーにより提供される、該プリンタベンダーの複数種類のプリンタ102を処理可能な共通のプリンタドライバである。そして、標準プリンタドライバ510は、OS212と共にOS212のパッケージ内の機能の1つとして提供されるプリンタドライバである。標準プリンタドライバ510は、複数ベンダーにより提供される印刷装置に共通して利用可能なクラスドライバである。標準プリンタドライバ510は、標準化された印刷方法を利用することで、幅広いプリンタを処理可能なプリンタドライバである。
このように、プリンタ用に利用可能なプリンタドライバは複数存在し、利用されるプリンタドライバは、インターネット接続状態やOS212の種類、利用環境等に応じて異なる。通常、OS212は、プリンタドライバのバージョン情報等を参照して、利用可能なプリンタドライバのうち、もっとも機能が高く新しいプリンタドライバを自動的に選定しインストールする。なお、プリンタドライバには、HardwareIDや、CompatibleIDと呼ばれる装置を特定するための情報が含まれている。クライアントコンピュータ101にプリンタが接続されると、OS212はプリンタからこれらのID情報を取得し、該当するIDを有するプリンタドライバを探索し、インストールする。なお、本例ではプリンタ102についての関連付けの説明をしたが、プリンタ105を含む他のプリンタにおいても同様の方法によって、プリント拡張アプリ3000と関連づく。
以上のように、プリンタを提供するプリンタベンダーは、メタデータ3701を提供することで、それぞれのプリンタに対してどのプリント拡張アプリ3000を提供するかを制御することができる。例えば、プリンタベンダーは、複数のプリンタで共通して1つのプリント拡張アプリ3000を提供することもできるし、それぞれ異なるプリント拡張アプリ3000を提供することもできる。しかし、1つのプリンタに関連付けられたプリンタドライバの種類に応じて、プリント拡張アプリ3000を提供し分けることはできない。図5においては、プリンタ102で利用されるプリンタドライバは、508~510の3種類存在するが、各ドライバと連携できるプリント拡張アプリ3000は常に1種類である。
ここで、図11を用いて、アドイン情報記述部3008に記述(保持)されているアドイン情報について説明する。
図11は、アドイン情報記述部3008に記述されているアドイン情報の一例を示す図である。
アドイン情報は、プリント拡張アプリ3000がアドインアプリを起動するための情報である。アドイン情報は、個々のアドインに関しての情報をJSON型式で記述したものであり、アドイン情報記述部3008に記述されている。なお、アドイン情報のデータフォーマットとして本実施例では、JSONを用いたが、XMLや他のフォーマットを用いてもよい。
図11において、スキーマネーム901は、このアドインアプリが持つ名前空間である。
ファミリーネーム902は、このアドインアプリを識別する識別子としての役割を持つ。
TileSupported903は、このアドインアプリがプリント拡張アプリ3000の標準UI部3002をサポートしているかどうかを示す。TileSupported903が“true”の場合はこのアドインアプリが標準UI部3002をサポートしていることを示し、“false”の場合はサポートしていないことを示す。
PpSupported904は、このアドインアプリがプリント拡張アプリ3000の詳細印刷設定UI部3004をサポートしているかどうかを示す。PpSupported904が“true”の場合はこのアドインアプリが詳細印刷設定UI部3004をサポートしていることを示し、“false”の場合はサポートしていないことを示す。
WfSupported905は、このアドインアプリが、プリント拡張アプリ3000の印刷時起動UI部3003をサポートしているかどうかを示す。WfSupported905が“true”の場合はこのアドインアプリが印刷時起動UI部3003をサポートしていることを示し、“false”の場合はサポートしていないことを示す。
デバイスタイプ906は、このアドインアプリがサポートしているプリンタ102のタイプ(プリンタ機種)を表している。本例では、このアドインアプリが“MFP”(すなわち複合機タイプのプリンタ)をサポートしている(すなわち複合機以外のタイプのプリンタをサポートしない)ことを示している。なお、デバイスタイプ906が“ALL”の場合、このアドインアプリが全てのタイプのプリンタをサポートしていることを示す。
Visibility907は、プリント拡張アプリ3000が、このアドインアプリを起動するためのUI(起動ボタン)を表示するかどうかを示す値である。Visibility907が“true”の場合はこのアドインアプリを起動するためのUIを表示することを示し、“false”の場合は表示しないことを示す。
アイコンファイルパス908は、このアドインアプリを起動するためのUI(起動ボタン)を表示する際に利用するアイコンのファイルパスを示す。
上述のようなアドイン情報は、アドイン情報記述部3008に記述されている。
ここで、アドイン情報記述部3008に記述されているアドイン情報の更新方法について説明する。
ユーザーがクライアントコンピュータ101から例えばMicrosoft Storeにアクセスし、Microsoft Store内でアドインを選択する。これにより、そのアドインがMicrosoft Storeより、クライアントコンピュータ101にインストールされる。
インストールされたアドインは例えば以下の方法(1)又は(2)により起動される。
(1)アドインのインストールが完了した後に、ユーザーが自発的にそのアドインを選択すると、そのアドインが起動する。
(2)アドインのインストールが完了した後に、インストールが完了した旨がOS212の機能によりトースト通知される(トースト通知とは、Windowsの画面の右端に表示されるボタンによる通知に対応する)。このトースト通知をユーザーが選択すると、その選択に応じて、そのアドインが起動するという構成でもよい。この場合、アドイン内には、インストール完了後に、自分自身のアプリを起動するためのトースト通知を行う旨の設定情報が含まれることになり、OS212は、その設定情報を読み取ってトースト通知を行うことになる。
上記(1)又は(2)の方法により、アドインは起動され、該起動したことに応じて、アドインは、プリント拡張アプリ3000を起動する。アプリを起動する際には、Windowsで定義されているアプリ起動APIを呼び出す。アドインは、該APIに対して、起動したいアプリケーション(即ちここでは「プリント拡張アプリ3000」)のIDとValue setを引数として指定する。Value setの各値には図11に示したような各アドイン情報に対応する値が含まれる。即ち、図11において“{”と“}”で囲まれる部分がValue setに含まれる。さらに、これらの値に加えて、name(即ち「アドイン名」)を暗号化した値もValue setの中に含まれる。
プリント拡張アプリ3000は、起動されると共に、上記Value setを受け取る。プリント拡張アプリ3000は、Value setの中に含まれている暗号化されたnameを復号化し、もともと平文で含まれていたnameと比較し、それらが同じ値であれば、そのアドインは信頼できるものと判定する。そして、プリント拡張アプリ3000は、Value setの値(のうちの暗号化されていたnameを除く値)をプリント拡張アプリ300の管理領域(アドイン情報記述部3008)に記憶する。これにより、新たにアドインがインストールされた場合、該インストールされたアドインのアドイン情報がアドイン情報記述部3008に記憶されることになる。
以上の処理により、図11のようなアドイン情報がアドイン情報記述部3008に登録された状態が実現される。以上の状態が実現されると、プリント拡張アプリ3000及びアドインは自動的に自らの起動状態を解除して処理を終了してもよいし、「処理を終了しました。アプリ(又はアドイン)を閉じて下さい」等の表示を行い、ユーザーにプリント拡張アプリ3000及びアドインを閉じさせてもよい。
なお、上述したように、アドインが起動される度にプリント拡張アプリ3000の起動、及び、IDとValue setを引数としてプリント拡張アプリ3000に渡す等の処理が行われてもよい。また、一度プリント拡張アプリ3000を起動した後は、アドインが起動されても、プリント拡張アプリ3000の起動、及び、IDとValue setを引数としてプリント拡張アプリ3000に渡す等の処理は行わないようにしてもよい。また、アドインの起動に応じプリント拡張アプリ3000の起動が毎回行われるものの、プリント拡張アプリ3000側は、その後の処理を行わないようにしてもよい。すなわち、プリント拡張アプリ3000側では、同じValue setが既に登録されていることを確認した場合は、Value setの値のアドイン情報記述部3008への登録処理は行わない。さらに、上述したような「処理を終了しました。アプリを閉じて下さい」等を表示するUIの表示も行わず、自動的にプリント拡張アプリ3000を終了するようにしてもよい。
次に、プリント拡張アプリ3000の標準UI部3002について説明する。
図6A、図6Bは、プリント拡張アプリ3000の標準UIについて説明する図である。なお、図6A、図6Bに示すUIの画面遷移は、CPU201が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、実行することにより実現される。以下、図6A、図6Bをまとめて図6と記載する。
図6(a)は、OS212のUIの一例を示す図である。
ユーザー操作により、スタートメニューボタン601が押下されると、OS212により、アプリメニュー602が表示される。
アプリメニュー602には、OS212にインストールされているプリント拡張アプリ3000、タッチアプリ3100、デスクトップアプリ3300、デスクトップブリッジアプリ3200が羅列される。ここで、アイコン603は、プリント拡張アプリ3000のアイコンである。ユーザーは、アイコン603を押下することで、OS212より標準UI起動イベントが発行され、プリント拡張アプリ3000の標準UI部3002を起動することができる。
図6(b)は、標準UI部3002のデバイスメニュー画面の一例を示す図である。
図6(b)に示すように、デバイスメニュー画面は、メニュー610とメインビュー611とで構成される。
メニュー610には、プリント拡張アプリ3000の機能の一覧が表示され、表示されたボタンのいずれか(例えばアドインメニューボタン613)を押下することで、対応するページがメインビュー611に表示される。
アドインメニューボタン613は、全プリンタに共通で利用できるアドインアプリ画面(図6(e)のような画面)を表示するためのボタンである。アドインメニューボタン613が押下されると、後述する図12A、図12Bに示すような処理が実行され、図6(e)のようなアドインアプリ画面が表示される。アドインアプリ画面の表示に関しては後述する。
デバイスメニュー画面(図6(b))では、メインビュー611に、プリントキュー3803に対応したアイコンの一覧が表示されている。
例えば、アイコン612は、プリンタ102に対応したプリントキュー3803のアイコンである。アイコン612を押下することで、プリンタ102の機種別プリンタドライバのプリントキューに対応したデバイスページが、図6(c)のように表示される。
図6(c)は、標準UI部3002のデバイスページの一例を示す図である。
デバイスページには、プリントキューに応じた機能の一覧が羅列される。図6(c)の例では、デバイスページに、機能の一覧(プリンタ102機能1~3に対応する各ボタン)と、アドインボタン621が表示されている。ここでアドインボタン621が押下されると、後述する図12A、図12Bに示すようなアドイン画面表示処理が実行され、図6(d)のように、プリンタ102の機種別プリンタドライバのプリントキューに対応したアドイン画面が表示される。この際、プリント拡張アプリ3000は、アドインボタン621が押下されたことを、起動するアドイン画面表示処理(図12A(a))に渡す、又は、該アドイン画面表示処理から確認可能な記憶領域に記憶しておく。この情報は、後述する図12A(a)のS1006の判断で用いられる。
図6(d)は、アドインボタン621が押下された際に、表示されるアドイン画面の一例を示す図である。本アドイン画面では、プリント拡張アプリ3000が、標準UI部3002をサポートし、且つ、プリンタ102の機種別プリンタドライバのプリントキューで利用できるアドインアプリの、アドインアプリ起動ボタンの一覧が表示される。
ボタン631は、スキャナーアドインアプリを起動するアドインアプリ起動ボタンであり、押下することで、対応するスキャナーアドインアプリを起動することができる。
ボタン632は、ストレージアドインアプリ起動ボタンであり、押下することで、対応するストレージアドインアプリを起動することができる。
図6(e)は、アドインメニューボタン613を押下された際に表示されるアドイン画面の一例を示す図である。
図6(e)に示すアドイン画面は、図6(d)に示したアドイン画面と異なる。図6(e)に示すアドイン画面には、プリント拡張アプリ3000が標準UI部3002をサポートし且つプリント機種に依存しないアドインアプリのアドインアプリ起動ボタンの一覧が表示される。プリント機種に依存しないアドインアプリとは、図11のデバイスタイプ906が“ALL”のアドインアプリを示す。このため、図6(e)に示すアドイン画面では、図6(d)に示したアドイン画面と異なり、起動ボタン631が表示されていない。なお、アドイン画面に、どのアドインアプリ起動ボタンを表示するか判断する処理の説明は、図12A、図12Bを用いて後述する。
なお、他の実施例として、アドインメニューボタン613を押下された際に表示されるアドイン画面に以下のようなアドインアプリ起動ボタンが表示される構成でもよい。例えば、アドイン画面に、プリント拡張アプリ3000が標準UI部3002をサポートし且つ関連づいている全てのプリントキュー3803で利用できるアドインアプリのアドインアプリ起動ボタンの一覧が表示される構成でもよい。この構成の場合、例えば関連づいている全てのプリントキューに対応するプリンタが“MFP”の場合、図11のデバイスタイプ906が“ALL”又は“MFP”のアドインアプリのアドインアプリ起動ボタンの一覧が表示される。
また別の実施例として、アドインメニューボタン613を押下された際に表示されるアドイン画面に、プリント拡張アプリ3000が標準UI部3002をサポートしている全てのアドインアプリのアドインアプリ起動ボタンの一覧が表示される構成でもよい。
次に、基本的な印刷の流れについて、図7A、図7B、図8A~図8Cを用いて説明する。
図7Aは、本実施形態の情報処理装置の基本的な印刷の流れの一例を示すフローチャートである。なお、図7A及び図7Bのフローチャートの処理は、CPU201が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、実行することにより実現される。
図8A~図8Cは、プリント拡張アプリ3000の詳細印刷設定UIについて説明する図である。
ユーザーがタッチアプリ3100のメニュー等から印刷を選択する操作を行う。すると、タッチアプリ3100は、ユーザー操作に従ってOS212に要求を出し、図8Aに示すようなOS212が生成するOS標準印刷UI(OS標準印刷画面)を起動する(S701)。これにより、図8AのようなOS標準印刷UIがディスプレイ207に表示される。
図8Aに示すように、OS標準印刷UIは、任意のプリントキュー3803を選択可能なコンボボックス801と、標準化されている印刷機能の簡易的な印刷設定を変更できるコントロール一覧804、詳細設定リンク805を有する。また、OS標準印刷UIは、印刷ボタン802、キャンセルボタン803を有する。OS212は、これら801~805から、ユーザー操作を受け付ける(S702)。なお、該受け付けたユーザー操作が詳細設定リンク805の指示の場合(S703でYesの場合)、OS212は、“詳細設定イベント”を発行する(S704)。
“詳細設定イベント”を発行すると、OS212は、コンボボックス801で選択されているプリントキュー3803に関連づいたプリント拡張アプリ3000が、OS212にインストールされているかを確認する。そして、インストールされている場合、OS212は、プリント拡張アプリ3000の詳細印刷設定UI部3004を起動する。詳細印刷設定UI部3004は、図8Bのような詳細印刷設定UIを表示する。
図8Bは、詳細印刷設定UIの一例を示す図である。詳細印刷設定UIでは、プリントキュー3803のデバイス特有の機能や、より詳細な印刷設定をするためのUIを表示することができる。
確定ボタン811は、押下されることで、詳細印刷設定UI(図8B)で設定された印刷設定を確定することができる。確定ボタン811が押下された場合、詳細印刷設定UI部3004は、詳細印刷設定UI(図8B)で設定された印刷設定を確定するとともに詳細印刷設定UIを閉じ、OS212に制御を戻す。OS212は、S702に処理を戻し、OS標準印刷UI(図8A)から再度ユーザー操作を受け付ける。
キャンセルボタン812は、押下されることで、詳細印刷設定UI(図8B)で設定された印刷設定をキャンセルすることができる。キャンセルボタン812が押下された場合、詳細印刷設定UI部3004は、詳細印刷設定UI(図8B)で設定された印刷設定をキャンセルするとともに詳細印刷設定UIを閉じ、OS212に制御を戻す。OS212は、S702に処理を戻し、OS標準印刷UI(図8A)から再度ユーザー操作を受け付ける。
また、アドインボタン813は、押下されることで、後述する図12A、図12Bに示すような処理が実行され、詳細印刷設定UI部3004により、図8Cのようなアドイン画面が表示される。
図8Cのアドイン画面には、詳細設定UIをサポートし且つプリンタ102のデバイスタイプ(例えば“MFP”)をサポートしているアドインアプリの起動ボタンが表示される。この例では、詳細設定アプリの起動ボタンである詳細設定ボタン821が表示されている。詳細設定ボタン821を押下することで、詳細設定アプリを起動することができる。また、戻るボタン822を押下することで、詳細印刷設定UI(図8B)へと画面を戻すことができる。
OS212は、上記S702で受け付けたユーザー操作がOS標準印刷UI(図8A)の印刷ボタン802の押下の場合(S703でNo且つS705でYesの場合)、OS212は、印刷イベントを発行し、S706の印刷処理へと処理を移行する。この際、OS212は、OS標準印刷UIを閉じる。S706の印刷処理については、図7Bで後述する。上記S706の印刷処理が終了すると、OS212は、本フローチャートの処理を終了する。
また、OS標準印刷UIにて、キャンセルボタン803が押下された場合(S703でNo且つS705でNoの場合)、OS212は、本フローチャートの処理を終了し、OS標準印刷UIを閉じる。
なお、図7Aでは省略しているが、OS標準印刷UIにて、印刷ボタン802及びキャンセルボタン803の押下以外のユーザー操作があった場合、OS212は、ユーザー操作に応じた処理を行い、S702に処理を戻す。そして、OS212は、OS標準印刷UI(図8A)から再度ユーザー操作を受け付ける。
以下、図7Bを用いて、S706の印刷処理について説明する。
図7Bは、図7AのS706の印刷処理の一例を示すフローチャートである。
まず、スプーラ3802は、印刷を行った任意のアプリケーション210から、印刷対象のデータとなるXPSファイルを受け取る(S711)。
次に、OS212は、プリント拡張アプリ3000の印刷時起動処理を行う(S712)。なお、印刷時起動処理については図9A、図9Bを用いて後述する。
上記S712の印刷時アプリ起動処理の終了後、フィルタパイプラインマネージャ3805は、PrintTicketとXPSファイルを取得する(S713)。
次に、フィルタパイプラインマネージャ3805は、フィルタ3904をロードする(S714)。
次に、フィルタパイプラインマネージャ3805は、上記S714でロードしたフィルタを用いて、上記S713で取得したXPSファイルをPDLに変換する(S715)。
次に、スプーラ3802は、上記S715で変換したPDLを、プリンタ102に送信し(S716)、印刷処理を終了する。
次に、印刷時起動処理について、図9A、図9B、図10を用いて説明する。
図9A、図9Bは、印刷時起動処理の一例を示すフローチャートである。なお、図9A、図9Bのフローチャートの処理は、CPU201が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、実行することにより実現される。
図10は、プリント拡張アプリ3000の印刷時起動UIについて説明する図である。
印刷時起動処理において、まずOS212は、レジストリ3702の情報を読み込む(S1101)。
次に、OS212は、レジストリ3702に、印刷時起動バックグラウンドタスク部3005が起動されるように設定されているか否かを判定する(S1102)。レジストリ3702に、印刷時起動バックグラウンドタスク部3005が起動されないように設定されている場合(S1102でNoの場合)、OS212は、本フローチャートの処理を終了する。
一方、レジストリ3702に、印刷時起動バックグラウンドタスク部3005が起動されるように設定されている場合(S1102でYesの場合)、OS212は、S1103に処理を進める。
S1103において、OS212は、プリント拡張アプリ3000が印刷時起動バックグラウンドタスク部3005を持っているか確認する。プリント拡張アプリ3000が印刷時起動バックグラウンドタスク部3005を持っていない場合(S1103でNoの場合)、OS212は、本フローチャートの処理を終了する。
一方、プリント拡張アプリ3000が印刷時起動バックグラウンドタスク部3005を持っている場合(S1103でYesの場合)、OS212は、S1104に処理を進める。
S1104において、OS212は、プリント拡張アプリ3000の印刷時起動アプリランチャ3801を起動する。
次に、印刷時起動アプリランチャ3801が、印刷時起動バックグラウンドタスク部3005を起動する(S1105)。
その後、印刷時起動バックグラウンドタスク部3005が、印刷時起動UI部3003を呼び出す(S1106)。
次に、印刷時起動UI部3003が、現在、処理を進めていることを示すために、図10(a)のように、プログレスリングをUI上に表示する(S1111)。
図10(a)は、プログレスリングを表示している印刷時起動UI部3003のプログレス画面の一例を示す図である。
プログレスリング1201では、処理の間、表示されているサークルが円状に回り続ける。ラベル1202は、印刷のステータスを表示するラベルであり、印刷中であることを示している。
次に、印刷時起動UI部3003は、コンフィグレーションモジュール3804からPrintTicketを取得する(S1112)。
次に、印刷時起動UI部3003は、PrintTicketにセキュアプリントが設定されているかを確認する(S1113)。セキュアプリントが設定されていなかった場合(S1113でNoの場合)、印刷時起動UI部3003は、S1120に処理を進める。
S1120において、印刷時起動UI部3003は、図12A、図12Bのようなアドイン画面表示処理を行い、図10(c)に示すようなアドイン画面を表示する。なお、アドイン画面表示処理の説明、及び、アドイン画面については後述する。S1120のアドイン画面表示処理の後、印刷時起動UI部3003は、S1117に処理を進める。
また、上記S1113において、PrintTicketにセキュアプリントが設定されていた場合(S1113でYesの場合)、印刷時起動UI部3003は、S1114に処理を進める。
S1114において、印刷時起動UI部3003は、図10(b)に示すような暗証番号を入力するためのセキュアプリント入力画面を表示する。
図10(b)は、印刷時起動UI部3003により表示されるセキュアプリント入力画面の一例を示す図である。
図10(b)において、暗証番号テキストボックス1210は、ユーザーから任意の暗証番号の入力を受け付けるためのものである。
アドインボタン1213は、図10(c)に示すようなアドイン画面へと遷移するためのボタンである。
確定ボタン1211は、最終的に印刷を確定するためのボタンである。なお、確定ボタン1211が押下された時点での印刷時起動UI部3003における変更が、PrintTicketや印刷対象のデータのXPSファイルへ反映され、印刷が行われることになる。
キャンセルボタン1212は、印刷をキャンセルするためのボタンである。
S1115において、印刷時起動UI部3003は、セキュアプリント入力画面(図10(b))からのユーザー操作を受け付ける。ここで受け付けたユーザー操作がアドインボタン1213の押下の場合(S1116でYesの場合)、印刷時起動UI部3003は、S1120に処理を進め、アドイン画面表示処理を行い、図10(c)に示すようなアドイン画面を表示する。なお、アドイン画面表示処理の説明は図12A、図12Bを用いて後述する。
ここで、図10(c)のアドイン画面について説明する。
図10(c)は、印刷時起動UI部3003により表示されるアドイン画面の一例を示す図である。このアドイン画面では、図11で説明したアドイン情報に基づき、印刷時起動UIをサポートし且つ図7Bの印刷処理に対応する印刷キューに紐付くプリンタ(例えばプリンタ102)をサポートしているアドインアプリ起動ボタンが表示される。図10(c)に示すアドイン画面の例では、プレビューアドインアプリ起動ボタン1222と印刷設定アドインアプリ起動ボタン1221が表示されている。
プレビューアドインアプリ起動ボタン1222は、アドインアプリの一種であるプレビューアドインアプリ用のアドインアプリ起動ボタンである。プレビューアドインアプリ起動ボタン1222を押下することで、プレビューアドインアプリを起動することができる。
印刷設定アドインアプリ起動ボタン1221は、アドインアプリの一種である詳細設定用アドインアプリのアドインアプリ起動ボタンである。印刷設定アドインアプリ起動ボタン1221を押下することで、印刷設定アドインアプリを起動することができる。
戻るボタン1223は、セキュアプリントの入力画面(図10(b))に戻るためのボタンである。なお、セキュアプリントの入力画面(図10(b))からこのアドイン画面に遷移せず、プログレスリング画面(図10(a))の次に最初からこのアドイン画面が表示された場合には、戻るべき画面がないため、戻るボタン1223は表示されない。
また、図10(c)のアドイン画面には、図10(b)のセキュアプリントの入力画面と同様に、確定ボタン1211、キャンセルボタン1212が表示される。
また、上記S1115で受け付けたユーザー操作がアドインボタン1211の押下でない場合(S1116でNoの場合)、印刷時起動UI部3003は、S1117に処理を進める。
S1117において、確定ボタン1211が押下されると、印刷時起動UI部3003は、S1118に処理を進める。この際、印刷が最終的に確定したことが印刷時起動UI部3003から印刷時起動バックグラウンドタスク部3005に通知されるものとする。また、図示しないが、上記S1115で受け付けたユーザー操作が暗証番号テキストボックス1210への入力の場合には、印刷時起動UI部3003は、S1115に処理を戻し、再度ユーザー操作を受け付ける。また、キャンセルボタン1212が押下された場合には、印刷時起動UI部3003は、本フローチャートの処理を終了し、印刷をキャンセルする。
S1118において、印刷時起動バックグラウンドタスク部3005は、印刷時起動UI部3003からPrintTicketとXPSファイルを取得する。
次に、印刷時起動バックグラウンドタスク部3005は、アドイン情報においてVisibility907が非表示に設定されているアドインアプリを実行する(S1119)。すなわち、Visibility907が非表示(“false”)に設定されているアドインアプリは、ユーザーによるアドインアプリの起動操作とは関係なく自動で起動される。該S1119のアドインアプリの実行が完了すると、該アドインアプリからプリント拡張アプリ3000に受け渡し情報が戻される。なお、受け渡し情報については図14(b)で後述する。
最後に、印刷時起動バックグラウンドタスク部3005は、上記S1118で取得したPrintTicketとXPSファイルを、フィルタパイプラインマネージャ3805に送信し(S1119)、本フローチャートの処理を終了する。
以下、図12A、図12Bを用いて、アドイン画面表示処理について説明する。以下、図12A、図12Bをまとめて図12と記載する。
図12(a)は、アドイン画面表示処理の一例を示すフローチャートである。なお、図12(a)、図12(b)及び図12(c)に示す処理は、CPU201が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、実行することにより実現される。
図12(a)に示す処理は、図6(b)のアドインボタン613、図6(c)のアドインボタン621、図8Bのアドインボタン813又は図10(b)のアドインボタン1213が押下された場合に開始される。
まず、プリント拡張アプリ3000は、OS212内部に既にインストールされているアドインアプリのリストをOS212から取得する(S1001)。
次に、プリント拡張アプリ3000は、プリント拡張アプリ3000を起動したOS(すなわちクライアントコンピュータ101で稼働しているOS212)のイベントを確認する(S1002)。該イベントには、図6(a)のアイコン610押下により発行される標準UI起動イベント、図8Aの詳細設定リンク805指示により発行される詳細設定イベント、印刷ボタン802押下により発行される印刷イベント等がある。
次に、プリント拡張アプリ3000は、アドイン情報リスト生成処理を行う(S1003)。ここで、図12(b)を用いて、アドイン情報リスト生成処理について説明する。
図12(b)は、アドイン情報リスト生成処理の一例を示すフローチャートである。
まず、プリント拡張アプリ3000は、アドイン情報をアドイン情報記述部3008から読み込む(S1051)。
次に、プリント拡張アプリ3000は、上記S1051で読み込んだアドイン情報に基づいてアドイン情報リストを生成する(S1052)。
次に、プリント拡張アプリ3000は、アドイン情報リストの中に未インストールのアドインアプリが存在しているか確認する(S1053)。インストールされていないアドインアプリが存在する場合(S1015でYesの場合)、プリント拡張アプリ3000は、アドイン情報リストから該当するアドインアプリを削除し(S1054)、アドインリスト生成処理を終了する。
一方、アドイン情報リストの中に未インストールのアドインアプリが存在しない場合(S1053でNoの場合)、プリント拡張アプリ3000は、そのままアドインリスト生成処理を終了する。
以下、図12(a)の説明に戻る。
アドイン情報リスト生成処理の後、プリント拡張アプリ3000は、上記S1002での確認に基づき、自身が標準UI起動イベントで起動されているか判断する(S1004)。標準UI起動イベント起動されている場合(S1004でYesの場合)、S1005に処理を進める。
S1005において、プリント拡張アプリ3000は、アドイン情報リストを基に、標準UI起動イベントをサポートしているアドインアプリによりアドイン情報リストを再生成する。
次に、プリント拡張アプリ3000は、本アドイン画面表示処理が、デバイスページのアドインボタン(図6(c)の例ではボタン621)から起動されたかどうかを判断する(S1006)。本アドイン画面表示処理がデバイスページのアドインボタンから起動されたものでない場合(S1006でNoの場合)、プリント拡張アプリ3000は、S1016に処理を進める。すなわち本アドイン画面表示処理がアドインメニューボタン613から起動された場合、S1016に処理を進める。
S1016において、プリント拡張アプリ3000は、アドイン情報リストから、機種依存するアドインアプリを除き、機種に依存しないアドインアプリのみでアドイン情報リストを再生成し、S1007に処理を進める。なお、機種依存するアドインアプリとは、デバイスタイプ906が“ALL”でないアドインアプリ(例えばデバイスタイプ906が“MFP”のアドインアプリ)を示す。一方、機種依存しないアドインアプリとは、デバイスタイプ906が“ALL”のアドインアプリを示す。
この場合、S1007において、プリント拡張アプリ3000は、アドイン情報リストに基づいて、アドイン画面を表示する。すなわち、プリント拡張アプリ3000は、アドイン画面に、アドイン情報リストに含まれるアドインアプリの起動ボタンを追加し、表示する。この場合、図6(e)のようなアドイン画面が表示される。
一方、本アドイン画面表示処理がデバイスページのアドインボタン(例えば図6(c)のアドインボタン621)から起動されたものである場合(S1006でYesの場合)、プリント拡張アプリ3000は、S1008に処理を進める。
S1008において、プリント拡張アプリ3000は、S1008の機種依存アドインアプリ確認処理に移行する。ここで、図12(c)を用いて、機種依存アドインアプリ確認処理について説明する。
図12(c)は、機種依存アドインアプリ確認処理の一例を示すフローチャートである。
機種依存アドイン確認処理では、プリント拡張アプリ3000は、まずアドイン情報リストの中に機種依存しているアドインアプリが存在するかどうかを確認する(S1071)。機種依存しているアドインアプリが存在している場合(S1071でYesの場合)、プリント拡張アプリ3000は、S1072に処理を進める。
S1072において、プリント拡張アプリ3000は、通信部3007を用いてプリンタ102から機種情報を取得する。
次に、プリント拡張アプリ3000は、アドイン情報リストから、表示しているデバイスページに対応するプリントキュー3803をサポートしていないアドインアプリを除く。そして、プリント拡張アプリ3000は、表示しているデバイスページに対応するプリントキュー3803をサポートしているアドインアプリのみでアドイン情報リストを再生成する(S1073)。例えば、アドイン情報の906が“MFP”のアドインアプリであり、表示されているデバイスページがMFPのプリンタに対応したものであった場合、そのアドインアプリのアドイン情報は、アドイン情報リストに含まれる。なお、本実施形態では、機種情報は通信部3007で取得したが、その他、プリンタドライバ3900のデバイス機能テキストファイル3902や他の情報から機種情報を取得してもよい。
S1073の処理の後、プリント拡張アプリ3000は、機種依存アドインアプリ確認処理を終了する。
一方、アドイン情報リストの中に機種依存しているアドインアプリが存在しない場合(S1071でNoの場合)、プリント拡張アプリ3000は、そのまま機種依存アドインアプリ確認処理を終了する。
機種依存アドインアプリ確認処理を終了すると、プリント拡張アプリ3000は、図12(a)のS1007において、プリント拡張アプリ3000は、アドイン情報リストに基づいて、アドイン画面を表示する。すなわち、プリント拡張アプリ3000は、アドイン画面に、アドイン情報リストに含まれるアドインアプリの起動ボタンを追加し、表示する。この場合、図6(d)のようなアドイン画面が表示される。アドイン画面の表示の際、プリント拡張アプリ3000は、アドイン情報リストに基づき、アドイン画面にアドインアプリを起動するためのアドインアプリ起動ボタン(例えば631、632)を表示する。この際、プリント拡張アプリ3000は、アドイン情報の907が“false”になっているものは除外して表示する。さらに、プリント拡張アプリ3000は、アイコンファイルパス908からアイコン画像をメモリにロードしてアドインアプリ起動ボタンとしてUIに表示する。
そして、アドイン画面のアドインアプリ起動ボタンのいずれかが押下された場合(S1014でYesの場合)、プリント拡張アプリ3000は、S1015のアドインアプリ起動処理に移行する。その際、プリント拡張アプリ3000は、押下されたアドインアプリ起動ボタンに対応したアドイン情報の名前空間901とファミリーネーム902を用いて、OS212にインストールされているアドインアプリを一意に定める。さらに、プリント拡張アプリ3000は、図14(b)に示すような受け渡し情報ともに、アドインアプリの起動をOS212に依頼する。OS212は、依頼されたアドインアプリを、プリント拡張アプリ3000とは異なったプロセスで起動し、図14(b)に示すような受け渡し情報を、アドインアプリに渡して、アドインアプリ起動処理(S1015)に処理を移る。受け渡し情報とアドインアプリ起動処理については後述する。
一方、アドインアプリ起動ボタンが押下されることなくアドイン画面が閉じられた場合(S1014でNoの場合)、プリント拡張アプリ3000は、本フローチャートの処理を終了する。
また、上記S1004において、プリント拡張アプリ3000が、標準UI起動イベントで起動されていないと判断した場合(S1004でNoの場合)、S1009に処理を進める。
S1009において、プリント拡張アプリ3000は、自身が詳細設定イベントで起動されているかどうかを確認する。自身が詳細設定イベントで起動されていた場合(S1009でYesの場合)、プリント拡張アプリ3000は、S1010に処理を進める。
S1010において、プリント拡張アプリ3000は、アドイン情報に基づき、詳細設定をサポートしているアドインアプリのアドイン情報リストを再生成する。
次に、プリント拡張アプリ3000は、図8Aのコンボボックス801で選択されているプリントキュー3803の情報をOS212から取得し(S1011)、S1008の機種依存アドインアプリ確認処理へと移行する。なお、機種依存アドインアプリ確認処理は、基本的にすでに説明したものと同じである。しかし、S1073においては、コンボボックス801で選択されたプリントキュー3803に対応するプリンタのデバイスタイプ(プリンタ種別)をサポートするアドインアプリに限定して、アドイン情報リストを再生成する。機種依存アドインアプリ確認処理の後、プリント拡張アプリ3000は、アドイン情報リストに基づき、アドイン画面を表示する(S1007)。すなわち、プリント拡張アプリ3000は、アドイン画面に、アドイン情報リストに含まれるアドインアプリの起動ボタンを追加し、表示する。この場合、図8Cのようなアドイン画面が表示される。
また、上記S1009にて、プリント拡張アプリ3000が、自身が詳細設定ベントで起動されたものでないと判断した場合(S1009でNoの場合)、S1012に移行する。
S1012において、プリント拡張アプリ3000は、自身が印刷イベントで起動されているかどうかを確認する。自身が印刷イベントで起動されていた場合(S1012でYesの場合)、プリント拡張アプリ3000は、S1013に処理を進める。
S1013において、プリント拡張アプリ3000は、アドイン情報に基づき、印刷イベントをサポートしているアドインアプリのアドイン情報リストを再生成し、S1008の機種依存アドインアプリ確認処理へと移行する。なお、機種依存アドインアプリ確認処理は、基本的にすでに説明したものと同じである。しかし、S1073においては、コンボボックス801で選択されたプリントキュー3803に対応するプリンタのデバイスタイプ(プリンタ種別)をサポートするアドインアプリに限定して、アドイン情報リストを再生成する。機種依存アドインアプリ確認処理の後、プリント拡張アプリ3000は、アドイン情報リストに基づき、アドイン画面を表示する(S1007)。すなわち、プリント拡張アプリ3000は、アドイン画面に、アドイン情報リストに含まれるアドインアプリの起動ボタンを追加し、表示する。この場合、図10(c)のようなアドイン画面が表示される。
一方、上記S1012において、プリント拡張アプリ3000が、自身が印刷イベントで起動されていないと判断した場合(S1012でNoの場合)、本フローチャートの処理を終了する。
ここで、図14(b)を用いて、プリント拡張アプリ3000とアドインアプリの間で受け渡しされる受け渡し情報について説明する。
図14(b)は、プリント拡張アプリ3000とアドインアプリの間で受け渡しされる受け渡し情報の一例を示す図である。
図14(b)に示すように、受け渡し情報は、Key And Value形式になっており、Keyを選択することによって、Valueが一意に定まるようになっている。
本実施形態の受け渡し情報は、左の列に書かれているのがKeyの例であり、右の列にValueにあたる情報の実態が格納される。
図14(b)では、一例として4つの種類の情報がプリント拡張アプリ3000とアドインアプリの間で受け渡されている。ジョブ名1501では、印刷された際のジョブの名称から取得された値、ここでは“job0001”が受け渡しされている。印刷元のアプリケーション名1502では、ここでは“Web Browser”が受け渡しされている。印刷対象のデータ1503では、ここではXPS形式の“Document.xps”が受け渡しされている。印刷設定情報1504は、PrintTicketとして“pt.xmk”が受け渡しされている。
なお、図14(b)では、受け渡し情報の一例として、4つの種類の情報を挙げたが、受け渡す情報の種類や型式、数に制限はない。また、受け渡しは必ずしもしなければならないものでもない。さらに受け渡し情報は、プリント拡張アプリ3000をハブとして、異なったアドインアプリ間での受け渡しも可能である。
ここで図13を用いて、アドインアプリ起動処理について説明する。
図13は、アドインアプリ起動処理の一例を示すフローチャートである。本フローチャートの処理は、CPU201が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、実行することにより実現される。
図13の例では、アドインボタン1222を押下されることで起動したプレビューアドインアプリを例に説明する。ただし、これは一例であり、アドインアプリは特にこれに限定されるものではない。アドインアプリは、プリント拡張アプリ3000の標準UI部3002、詳細印刷設定UI部3004、印刷時起動UI部3003のいずれかからの要求に従い、OS212によって、プリント拡張アプリ3000とは異なったプロセスとして起動をされる。ただし、そのプロセスは、プリント拡張アプリ3000のプロセスに対してモーダルであっても、モーダルでなくてもよい。
まず、プレビューアドインアプリは、呼び出し元となったプリント拡張アプリ3000から、図14(b)に示すような受け渡し情報を受け取る(S1301)。
次に、プレビューアドインアプリは、上記S1301で受け取った受け渡し情報を基に、図14(a)に示すようなUIを表示する(S1302)。ここで、図14(a)を用いて、アドインアプリのUIについて説明する。
図14(a)は、アドインアプリのUIの一例を示す図である。ここでは特にプレビューアドインアプリの例を示す。
図14(a)に例示するように、プレビューアドインアプリは、印刷プレビュー1402と、プレビューに表示しているページのページ番号1405、簡易印刷設定1401、さらに確定ボタン1403と、キャンセルボタン1404を有する。
印刷プレビュー1402には、印刷対象のデータとPrintTicketに基づきプリンタ102により出力される最終的な印刷成果物のプレビューが表示される。
ページ番号1405には、プレビューしている印刷情報のページ数の総数と表示しているページの番号が示されており、図14(a)の例では12ページある印刷対象のデータの1ページ目が表示されていることが示されている。また、ページ番号1405の左右に表示されている矢印を押下することで、印刷プレビュー1402に表示するページを変更することが可能である。
簡易印刷設定1401では、受け渡し情報のPrintTicketを基に簡易印刷設定が表示されている。ユーザーは、簡易印刷設定1401において印刷設定を変更可能である。
以下、図13のフローチャートの説明に戻る。
プレビューアドインアプリは、上記S1302でUI表示した後、ユーザー操作を受け付ける(S1303)。上記S1302のユーザー操作の受け付けで、簡易印刷設定1401を通じて印刷設定が変更を受け付けた場合(S1304でYesの場合)、プレビューアドインアプリは、S1305に処理を進める。
S1305において、プレビューアドインアプリは、上記受け付けた印刷設定の変更情報に基づき、印刷設定情報のPrintTicket及び印刷対象のデータのXPSファイルを変更する。そして、プレビューアドインアプリは、印刷プレビュー1402を再描画し(S1306)、S1303に処理を戻す。
上記S1302のユーザー操作の受け付けで、印刷設定の変更ではなく、確定ボタン1403の押下を受け付けた場合(S1304でNo且つS1307でYesの場合)、プレビューアドインアプリは、S1308に処理を進める。
S1308において、プレビューアドインアプリは、受け渡し情報を再度、呼び出し元のプリント拡張アプリ3000に受け渡して、本フローチャートの処理を終了する。
また、上記S1302のユーザー操作の受け付けで、キャンセルボタン1404の押下を受け付けた場合(S1304でNo、S1307でNo且つS1309でYesの場合)、プレビューアドインアプリは、本フローチャートの処理を終了する。
また、印刷設定が変更、確定ボタン1403の押下又はキャンセルボタン1404の押下おいずれの受け付けもない場合(S1304でNo、S1307でNo且つS1309でNoの場合)、プレビューアドインアプリは、S1303に処理を戻す。
以上、プレビューアドインアプリについて説明したが、プレビューアドインアプリ以外のアドインアプリでも同様である。
以上のように、本実施形態によれば、プリンタドライバとは分離されたプリンタドライバの機能を拡張するプリント拡張アプリ3000のUIに、プリント拡張アプリ3000に機能追加するアドインアプリの起動ボタンを追加することができる。特に、アドインアプリがサポートしているUIにのみ、該アドインアプリの起動ボタンを表示することができる。よって、ユーザーが利用する機能だけに限定した印刷設定のUIを提供できる。
したがって、プリント拡張アプリ3000の機能をユーザーごとにカスタマイズすることが可能となり、ユーザーにとって使い勝手の良いものにできる。
また、ベンダーでは、アドインアプリによりユースケースに応じた高機能を柔軟にユーザーに提供することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 クライアントコンピュータ
102 プリンタ
105 プリンタ

Claims (15)

  1. 数のプリントキューと対応づけられ、プリンタドライバに提供される印刷設定を設定する印刷設定画面を表示させる印刷設定アプリケーションであって、
    前記印刷設定画面を表示させる第1の表示制御工程と、
    前記印刷設定画面を介した第1の所定の操作に従って、印刷データの送信先として選択されているプリンタの情報に基づき特定される、前記印刷設定アプリケーションの拡張機能に対応するオブジェクトを表示させる第2の表示制御工程と、
    前記複数のプリントキューの情報が表示されている画面において、第2の所定の操作がなされたことに従って、前記複数のプリントキューに対応するいずれのプリンタでも利用することができる拡張機能に対応するオブジェクトを表示させる第3の表示制御工程と、
    を情報処理装置に実行させることを特徴とするアプリケーション。
  2. 前記プリンタから、前記プリンタの機種に関する情報を受信する受信工程をさらに有し、
    前記第2の表示制御工程は、前記受信工程で受信された前記情報に基づき特定される拡張機能に対応するオブジェクトを表示させることを特徴とする請求項1に記載のアプリケーション。
  3. 前記印刷設定アプリケーションは、プリンタドライバと対応づけられたアプリケーションであることを特徴とする請求項1または2に記載のアプリケーション。
  4. 前記複数のプリントキューに対応するいずれのプリンタでも利用することができる拡張機能は、印刷される画像データに基づくプレビュー表示をする機能であることを特徴とする請求項1乃至3のいずれか一項に記載のアプリケーション。
  5. 前記印刷データの送信先として選択されているプリンタの情報に基づき特定される拡張機能は、原稿を読み取り画像データを生成する機能に関する設定を行う機能を含むことを特徴とする請求項1乃至4のいずれか一項に記載のアプリケーション。
  6. 情報処理装置が記憶する印刷設定アプリケーションにより実行される情報処理装置の制御方法であって、
    印刷設定画面を表示させる第1の表示制御工程と、
    前記印刷設定画面を介した第1の所定の操作に従って、印刷データの送信先として選択されているプリンタの情報に基づき特定される、前記印刷設定アプリケーションの拡張機能に対応するオブジェクトを表示させる第2の表示制御工程と、
    前記印刷設定アプリケーションと対応づけされる複数のプリントキューの情報が表示された画面において、第2の所定の操作がなされたことに従って、前記複数のプリントキューに対応するいずれのプリンタでも利用することができる拡張機能に対応するオブジェクトを表示させる第3の表示制御工程と、
    を情報処理装置に実行させることを特徴とする制御方法。
  7. 前記プリンタから、前記プリンタで利用することができる機能に関する情報を受信する受信工程をさらに有し、
    前記第2の表示制御工程は、前記受信工程で受信された前記情報に基づき特定される拡張機能に対応するオブジェクトを表示させることを特徴とする請求項6に記載の制御方法。
  8. 前記印刷設定アプリケーションは、プリンタドライバと対応づけられたアプリケーションであることを特徴とする請求項6または7に記載の制御方法。
  9. 前記複数のプリントキューに対応するいずれのプリンタでも利用することができる拡張機能は、印刷される画像データに基づくプレビュー表示をする機能であることを特徴とする請求項6乃至8のいずれか一項に記載の制御方法。
  10. 前記印刷データの送信先として選択されているプリンタの情報に基づき特定される拡張機能は、原稿を読み取り画像データを生成する機能に関する設定を行う機能を含むことを特徴とする請求項6乃至9のいずれか一項に記載の制御方法。
  11. 印刷設定画面を表示させる印刷設定アプリケーションを記憶する記憶手段と、
    前記印刷設定アプリケーションに従って、画面を表示させる表示制御手段と、を有する情報処理装置であって、
    前記表示制御手段は、
    前記印刷設定画面を介した第1の所定の操作に従って、印刷データの送信先として選択されているプリンタの情報に基づき特定される、前記印刷設定アプリケーションの拡張機能に対応するオブジェクトを表示させ、
    前記印刷設定アプリケーションと対応づけされる複数のプリントキューの情報が表示された画面において、第2の所定の操作がなされたことに従って、前記複数のプリントキューに対応するいずれのプリンタでも利用することができる拡張機能に対応するオブジェクトを表示させることを特徴とする情報処理装置。
  12. 前記プリンタから、前記プリンタで利用することができる機能に関する情報を受信する受信手段をさらに有し、
    表示制御手段は、前記受信手段で受信された前記情報に基づき特定される拡張機能に対応するオブジェクトを表示させることを特徴とする請求項11に記載の情報処理装置。
  13. 前記印刷設定アプリケーションは、プリンタドライバと対応づけられたアプリケーションであることを特徴とする請求項11または12に記載の情報処理装置。
  14. 前記複数のプリントキューに対応するいずれのプリンタでも利用することができる拡張機能は、印刷される画像データに基づくプレビュー表示をする機能であることを特徴とする請求項11乃至13のいずれか一項に記載の情報処理装置。
  15. 前記印刷データの送信先として選択されているプリンタの情報に基づき特定される拡張機能は、原稿を読み取り画像データを生成する機能に関する設定を行う機能を含むことを特徴とする請求項11乃至14のいずれか一項に記載の情報処理装置。
JP2019161544A 2019-09-04 2019-09-04 アプリケーション、情報処理装置及び制御方法 Active JP7387342B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019161544A JP7387342B2 (ja) 2019-09-04 2019-09-04 アプリケーション、情報処理装置及び制御方法
US17/006,659 US11372598B2 (en) 2019-09-04 2020-08-28 Application and information processing apparatus
KR1020200109050A KR20210028579A (ko) 2019-09-04 2020-08-28 애플리케이션 및 정보 처리 장치
EP20193654.9A EP3789867A1 (en) 2019-09-04 2020-08-31 Application and information processing apparatus
CN202010921371.9A CN112445436B (zh) 2019-09-04 2020-09-04 信息处理装置和用于信息处理装置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019161544A JP7387342B2 (ja) 2019-09-04 2019-09-04 アプリケーション、情報処理装置及び制御方法

Publications (3)

Publication Number Publication Date
JP2021039613A JP2021039613A (ja) 2021-03-11
JP2021039613A5 JP2021039613A5 (ja) 2022-09-05
JP7387342B2 true JP7387342B2 (ja) 2023-11-28

Family

ID=72292399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019161544A Active JP7387342B2 (ja) 2019-09-04 2019-09-04 アプリケーション、情報処理装置及び制御方法

Country Status (5)

Country Link
US (1) US11372598B2 (ja)
EP (1) EP3789867A1 (ja)
JP (1) JP7387342B2 (ja)
KR (1) KR20210028579A (ja)
CN (1) CN112445436B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022136579A (ja) * 2021-03-08 2022-09-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
KR102666784B1 (ko) 2021-12-30 2024-05-17 이동조 회전식 고기구이장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217500A (ja) 2007-03-06 2008-09-18 Seiko Epson Corp 印刷管理システム及び印刷ログ管理方法
JP2018181068A (ja) 2017-04-17 2018-11-15 キヤノン株式会社 情報処理装置、プログラム及び制御方法
JP2019074906A (ja) 2017-10-16 2019-05-16 キヤノン株式会社 プログラム
JP2019091461A (ja) 2018-12-12 2019-06-13 ブラザー工業株式会社 プログラム、および通信装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6888537B2 (en) * 2002-02-13 2005-05-03 Siemens Technology-To-Business Center, Llc Configurable industrial input devices that use electrically conductive elastomer
US7284246B2 (en) * 2002-04-23 2007-10-16 Canon Kabushiki Kaisha Extensible device driver
JP2005161674A (ja) * 2003-12-02 2005-06-23 Canon Inc 画像形成装置、画像形成システム、課金処理方法及びプログラム
KR100530235B1 (ko) * 2003-12-15 2005-11-22 삼성전자주식회사 공용 드라이버 적용 장치 및 방법
JP2006048537A (ja) * 2004-08-06 2006-02-16 Canon Inc 印刷システム及び印刷処理方法
JP4455397B2 (ja) * 2005-04-26 2010-04-21 キヤノン株式会社 情報処理装置及びその制御方法
JP4761538B2 (ja) * 2006-03-31 2011-08-31 キヤノン株式会社 デバイス管理システム、情報処理装置及びその制御方法、プログラム
JP4944812B2 (ja) * 2008-02-20 2012-06-06 株式会社リコー 情報処理システムと情報処理方法とプログラム
JP5343643B2 (ja) 2009-03-17 2013-11-13 株式会社リコー プリンタドライバ、記憶媒体、及び情報処理装置
CN102270224B (zh) * 2011-06-28 2013-04-24 用友软件股份有限公司 信息系统数据输出装置和信息系统数据输出方法
JP5943571B2 (ja) * 2011-09-09 2016-07-05 キヤノン株式会社 印刷システム、プリンター、プリントサーバー、及びその方法
JP5174268B1 (ja) * 2011-10-14 2013-04-03 キヤノン株式会社 ネットワークシステム及びクライアント装置とその方法
JP2014085749A (ja) * 2012-10-22 2014-05-12 Oki Data Corp ドライバインストーラ、画像処理装置、画像形成システム及び画像形成装置
JP6351405B2 (ja) 2013-12-16 2018-07-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217500A (ja) 2007-03-06 2008-09-18 Seiko Epson Corp 印刷管理システム及び印刷ログ管理方法
JP2018181068A (ja) 2017-04-17 2018-11-15 キヤノン株式会社 情報処理装置、プログラム及び制御方法
JP2019074906A (ja) 2017-10-16 2019-05-16 キヤノン株式会社 プログラム
JP2019091461A (ja) 2018-12-12 2019-06-13 ブラザー工業株式会社 プログラム、および通信装置

Also Published As

Publication number Publication date
US11372598B2 (en) 2022-06-28
US20210064300A1 (en) 2021-03-04
CN112445436B (zh) 2024-10-18
KR20210028579A (ko) 2021-03-12
EP3789867A1 (en) 2021-03-10
CN112445436A (zh) 2021-03-05
JP2021039613A (ja) 2021-03-11

Similar Documents

Publication Publication Date Title
US11789676B2 (en) Information apparatus, controlling method for information apparatus, and storage medium
JP3720740B2 (ja) 分散印刷システム、分散印刷制御方法、記憶媒体、及びプログラム
JP5489619B2 (ja) 情報処理装置及びその方法
US9367266B2 (en) Information processing apparatus, control method, and storage medium
JP6108864B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5460215B2 (ja) 情報処理装置及びその方法
JP2012216166A (ja) 情報処理装置、その方法、及びプログラム
JP5391844B2 (ja) 印刷制御プログラム、記憶媒体および情報処理装置
JP2007317088A (ja) 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体
KR20110010574A (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
JP7439207B2 (ja) プログラム
JP3903024B2 (ja) 出力管理方法及び情報処理装置
CN110456992B (zh) 记录介质、控制方法和信息处理装置
JP7387342B2 (ja) アプリケーション、情報処理装置及び制御方法
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP2011145955A (ja) 情報処理装置、情報処理方法及びプログラム
JP2019008673A (ja) 情報処理装置およびドライバーインストール方法
JP7171227B2 (ja) 情報処理装置、その制御方法およびアプリケーション
JP5961937B2 (ja) 情報処理システム
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP2020071693A (ja) 情報処理装置、及びその制御方法並びにプログラム
JP2006244278A (ja) データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231115

R151 Written notification of patent or utility model registration

Ref document number: 7387342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151