JP7086754B2 - 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム - Google Patents
情報処理装置、情報処理装置の制御方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP7086754B2 JP7086754B2 JP2018123999A JP2018123999A JP7086754B2 JP 7086754 B2 JP7086754 B2 JP 7086754B2 JP 2018123999 A JP2018123999 A JP 2018123999A JP 2018123999 A JP2018123999 A JP 2018123999A JP 7086754 B2 JP7086754 B2 JP 7086754B2
- Authority
- JP
- Japan
- Prior art keywords
- printer
- application
- printer driver
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1225—Software update, e.g. print driver, modules, plug-ins, fonts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1228—Printing driverless or using generic drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1231—Device related settings, e.g. IP address, Name, Identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1232—Transmitting printer device capabilities, e.g. upon request or periodically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Description
本実施の形態では、オペレーティングシステム(OS)としてMicrosoft社のWindows8以降のバージョンで導入されたversion 4 (V4)と呼ばれるプリンタドライバのアーキテクチャのプリンタドライバを例に説明する。以下、このプリンタドライバを「V4プリンタドライバ」又は「V4ドライバ」という。また、本実施の形態では、OSの機能等として提供される、複数のプリンタベンダが提供するプリンタに対して共通して利用可能なプリンタドライバ(以下「OS共通プリンタドライバ」)について説明する。このOS共通プリンタドライバもV4ドライバ形式とする。ただし、本発明は、これらに限定されるものではない。
まず図1を用いて、本発明に係る印刷システムの構成を説明する。
図1は、本発明の一実施形態を示す情報処理装置を含む印刷システムの一例を示す図である。本実施形態の印刷システムは、クライアントコンピュータ101、サーバ104、プリンタ102、プリンタ105を備える。各装置は、Wide Area Network(WAN)を含むネットワーク103を通じて相互に通信可能である。ネットワーク103は、有線でも無線でもよい。
プリンタ102は、ページ記述言語形式の印刷データを受信し印刷を行う印刷装置(画像形成装置)である。プリンタ105は、プリンタ102と同様にページ記述言語形式の印刷データを受信し印刷を行うものである。例えばプリンタ102とプリンタ105とは異なるベンダにより提供されているプリンタである。
クライアントコンピュータ101は、制御部200を有する。制御部200は、CPU(Central Processing Unit)、RAM(Random Access Memory)202、外部メモリ209、ROM(Read Only Memory)203等を有する。制御部200は、クライアントコンピュータ101全体の動作を制御する。
ディスプレイI/F206は、ディスプレイ207への画面の表示を制御する。ディスプレイ207は、ユーザに対して情報を表示する表示部として機能する。
図3は、クライアントコンピュータ101のソフトウェア構成の一例を示す図である。なお、図3に示すソフトウェア構成は、クライアントコンピュータ101のCPU201が外部メモリ209等に格納されるプログラムをRAM202にロードして実行することにより実現される。
OS210は、プリンティングシステム337、プリンタドライバ211、外部設定ファイル群352、スレッドプール355を有する。
外部設定ファイル群352には、メタデータ(Metadata)320、レジストリ353が含まれる。
メタデータ320は、プリント拡張アプリ300のプリント拡張アプリ識別子と、プリンタベンダ提供のプリンタドライバのプリントキュー308のHWID(HardwareId)という双方の識別子を持つ定義情報であり、各々を関連付ける役割を持つ。プリント拡張アプリ300は、プリンタベンダが提供する、プリンタドライバの機能を補助するための拡張プログラムであり、ベンダごと又は機種ごと等の専用のアプリケーションである。
プリントキュー308は、ネットワーク103内に存在するプリンタを使用して印刷を行う際に、印刷ジョブを一時的に保存する領域であり、複数個存在することができる。後述する図12に示す例では、後述する図5に示すMFP501、MFP502に対応するプリントキュー308が作成されているものとする。
フィルタコンフィグ336は、フィルタパイプラインマネージャ335が参照する定義ファイルであり、1以上のフィルタ330を呼び出す順序が記述されている。
INF361は、プリンタドライバ211をインストールするための設定情報が記載されたテキストファイルである。
タッチアプリ実行環境301は、後述するアプリケーション212の一種であるOS210上で動作するタッチアプリ321や、プリント拡張アプリ300を実行するための実行環境である。
タッチアプリ実行環境301は、サーバ104から配布されたUWPアプリケーション(UWP Device Apps)を動作させるための実行環境であり、UWPアプリケーションの実行を制御する。プリント拡張アプリ300も、UWP Device Appsに対応する。
タイルアプリ部302部は、拡張アプリ300を起動するユーザ操作を受け付けたことに従って実行されるUI部であり、登録されたプリンタのステータス表示などの機能を提供する。
バックグラウンドタスクによってOS210に対して起動要求が行われると、OS210は、印刷時起動UI部303を起動する。印刷時起動UI部303は、PrintTicketやPrintCapabilitiesの取得と設定の変更ができる他に、印刷対象のデータのXPSファイルを取得することができる。XPSファイルの変更を行う場合には、一度、アプリストア334を通じて編集後のXPSファイルを印刷時起動バックグラウンドタスク部305に渡し、印刷時起動バックグラウンドタスク部305が編集したXPSファイルをOS210に返す必要がある。本実施形態において、印刷時起動UI部303は、印刷に関する確認を行うためのUIや、未入力の設定をユーザに入力させるためのUIなど(例えば後述する図8(b)に示すパスワード入力画面等)を表示するものとする。
カスタム設定ファイル363は、プリント拡張アプリ300がプリンタドライバに対して利用できるサービスの設定を記載した設定ファイルである。
図4は、プリンタ、OS共通プリンタドライバ500とプリント拡張アプリ300の関係の一例を表す図である。
図5は、OS共通プリンタドライバ500とプリント拡張アプリ300とを関連付ける処理の一例を示すフローチャートである。図5、後述する図6、図7A、図7B、図14A及び図14Bの処理は、CPU201が外部メモリ209等に格納される各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202にロードして実行することにより実現される。各制御モジュール、コンポーネント、アプリケーションによって提供される制御を説明する場合、CPU201によって実現される各部を主語として説明する。また、表示、ユーザ操作の受け付け、及びデータ送受信処理などの一部処理は、CPU201、各I/F及び、I/Fに接続された入出力デバイスが協働して実現するものとする。
OS共通プリンタドライバ500は、印刷を行うための基本的な機能に関するフィルタ3300などが記載された基本ドライバINF505を持つ。なお、OS共通プリンタドライバ500が生成するPDLは、PCL、PSに限らず、PDFやPWG Rasterなど標準化されている言語ならば、どの形式であってもよい。また、本実施形態では、OS共通プリンタドライバ500とプリンティングシステム337とが、協働し、所定の印刷プロトコルに則する印刷ジョブを生成し、各プリンタに印刷ジョブを送信できるものとする。例えば、所定の印刷プロトコルは、IPP(Internet Printing Protocol)などである。
OS210は、まず、ネットワーク103内にマルチキャストで問い合わせを行い、印刷可能なプリンタの応答を待つ(S501)。本実施例では、MFP501とMFP502が応答したとする。
OS210は、ネットワーク103内のプリンタ群から応答を受け取り、リスト等のUIを表示する(S502)。なお、本実施形態ではキー924を押下した場合に探索処理が行われる場合を例示しているがこれに限定されるものではない。例えば、印刷前に出力先のプリンタを選択するための画面が表示されたことに従って、セットアップ済みのプリンタと検索で見つかったがセットアップを行っていないプリンタの両方を一覧表示するようにしてもよい。この場合、セットアップ済みのプリンタと、セットアップを行っていないプリンタを区別可能に表示するようにしてもよい。表示後に、OS210は、ユーザ操作を受け付ける(S503)。
さらに、OS210は、上記S506で取得したHWIDもしくはCOIDを記載した拡張基本INF508を動的に生成し、基本INF505を上書き及び拡張する形でOS共通プリンタドライバ500に適用する(S506)。なお、拡張基本INFは、プリンタ毎に作成される。また、OS210は、HWID、COIDに限らず、デバイスから取得した情報を基に、OS共通プリンタドライバ500のインストール時に設定する情報を生成し、拡張基本INF508に記載してもよい。
また、OS210は、上記S506で作成した拡張基本INF508の内容をレジストリ353に書き込む(S507)。
拡張INF5030には、HWID、COID、拡張ID、プリント拡張アプリID、InterfaceID、カスタム設定ファイル識別子、スクリプトファイル3331やデバイス機能テキストファイル3321のインストール先などのインストール時の設定情報が記載される。なお、拡張IDは、拡張INFの識別子を表す。InterfaceIDは、プリント拡張アプリ300がアクセスできるInterfaceを表す。カスタム設定ファイル識別子は、プリント拡張アプリ300が内包するカスタム設定ファイルを識別できる識別子を表す。
スクリプトファイル3331には、プリンタベンダの独自の禁則ロジックが記載されており、デバイス機能テキストファイル3321には、プリンタ102の独自の能力情報や禁則情報が記載されている。OS共通プリンタドライバ500は、拡張INFパッケージ503内のスクリプトファイル3331やデバイス機能テキストファイル3321を使って、ドライバ格納領域5001内のスクリプトファイル3330やデバイス機能テキストファイル3320の上書き及び拡張を行う。また、拡張INFパッケージ503は拡張INF5030を内包しており、OS210は、基本ドライバINF505及び拡張基本INF508を上書き及び拡張する形で適用する。S509の処理により、OS共通プリンタドライバ500から、ベンダ独自の禁則ロジックなどを利用可能とすることができる。
図13は、第1実施形態においてOS共通プリンタドライバが複数のプリンタに対してインストールされた場合の構成の一例を説明する図である。ここでは、図4で示したMFP501とMFP502に対し印刷ジョブを出力する共通プリンタドライバがインストールされた場合について説明する。
また、プリンタドライバ、プリントキュー、プリント拡張アプリ300を関連付けるための情報として基本INF505、拡張基本INF508、拡張INF5030の内容がレジストリ353に書き込まれる。これについては、図12を用いて後述する。
レジストリ353は、プリントキュー308毎に作成される。項目1201は、キュー名属性であり、プリントキュー308の名称が記載される。項目1202は、HWID列であり、プリンタ102のHWIDが記載される。項目1203は、AppID列である。AppID列は、プリントキュー308に関連づくプリント拡張アプリ300のプリント拡張アプリ識別子が記載される。
なお、図13で示したように、デバイス機能テキストファイルは、拡張INFパッケージ内のデバイス機能テキストファイルで置き換えられる可能性がある。置き換えられた場合には、置き換えられたデバイス機能テキストファイルからPrintCapabilitiesが生成される。
Featureは、設定可能な機能を表す。
Feature内のOptionは、選択肢を表している。
図11に示す情報1101は、認証プリント(セキュアプリント)のFeatureとOptionを例示する。この例では、JobSecurePrintのFeatureの選択肢として、「ns0000:SecurePrint」と「ns0000:None」の2つが選択可能であることが定義されている。
図10は、認証プリントの設定がなされたPrintTicketの一例を示す図である。
PrintTicketには、PrintCapabilitiesで定義された設定値のいずれかが、現在の印刷設定として格納される。
情報1001は、印刷時に暗証番号の入力を求める認証プリント機能が設定されていることを示している。この例では、JobSecurePrintのFeatureで内包するOptionが「ns0000:SecurePrint」になっているので、認証プリントが「オン」に設定されていることを示している。なお、認証プリントがオンに設定されていない場合、Optionに「ns0000:None」が設定される。
図9A、図9Bは、MFP501を使用する印刷について説明するための図である。
なお、本実施形態では、UWPアプリであるタッチアプリ321から印刷を行う場合を例示しているがこれに限定されるものではない。デスクトップアプリ322から印刷を行うことも可能である。
印刷キー901が選択されたことを検知すると、タッチアプリ321は、OS210に印刷ダイアログ表示の要求を依頼する。
印刷ダイアログは、OS210によって表示される簡易的な印刷設定を行うダイアログである。印刷ダイアログは、印刷設定のための項目920と印刷指示に関する項目930を有している。ユーザは、項目920を選択して、簡易的な印刷設定を行うことができる。
また、項目931は、プリント拡張アプリ300が提供する詳細印刷設定UI部304を呼び出す場合に使用する表示アイテムである。ユーザによって項目931がクリックされることで、詳細印刷設定イベントが発生し、詳細印刷設定UI部304により図9B(b)のような印刷ダイアログが表示される。なお、これ以降のプリンタドライバは、OS共通プリンタドライバ500を指し、プリント拡張アプリはMFPUtility506を指すものとして説明する。
OS210は、印刷ダイアログとして表示している項目932が押下されたことを検知すると、印刷イベントを発生させる。印刷イベント発生後に、タッチアプリ321はOS210と協働して印刷対象となるコンテンツ(印刷コンテンツとも呼ぶ)に基づいてXPSファイルを生成し、図6のフローチャートに示す印刷処理に進む。印刷処理における具体的な制御方法について図6及び図7に示すフローチャートを用いて後述する。
項目950は、詳細印刷設定部であり、OS共通プリンタドライバ500から取得したPrintCapabilitiesとPrintTicketを基に生成される。これらの印刷設定は、ユーザ操作を受け付けることで変更され、項目951に示す印刷確定ボタンが押されることで確定される。確定後は、図9B(a)に示す印刷ダイアログへと画面遷移する。
図14AのS1400において、OS210は、プリント拡張アプリ探索処理を行う。プリント拡張アプリ探索処理の詳細については図14Bを用いて説明する。
次に、OS210は、上記S1411で読み込んだレジストリの項目1203のAppID列に値(プリント拡張アプリ識別子)が記載されているか否かを確認する。そして、プリント拡張アプリ識別子が記載されていないと判定した場合(S1412でNoの場合)、OS210は、選択されているプリントキューに関連付くプリント拡張アプリがないと判断し、S1416に処理を進める。
S1416において、OS210は、「False」を呼び出し元の処理に返す。
S1413において、OS210は、プリント拡張アプリ識別子と一致するプリント拡張アプリを、OS210内部で全てのタッチアプリ321がインストールされている保存先で探索する。
以上で、プリント拡張アプリ探索処理(S1400)を終了する。以下、図14Aの説明に戻る。
次にS1405において、プリント拡張アプリ300は、上記ユーザ操作により変更された印刷設定をOS210へと渡し、本フローチャートの処理を終了する。S1402乃至S1405の処理により、OS共通プリンタドライバ500を使用する場合であっても、ベンダが提供するプリント拡張アプリ300で印刷設定のためのユーザインタフェースを表示し、PrintTicketの編集を行えるようになる。例えば、ベンダはプリント拡張アプリ300として柔軟なユーザインタフェースを実装できる。従って、例えば、OS共通プリンタドライバを使用するユーザに対しても、従来ベンダが提供していたV3やV4プリンタドライバと類似する操作感を有するユーザインタフェースを提供できるようになる。
S1406において、OS210は、OS標準の詳細設定UIを表示する。OS標準の詳細設定は、プリント拡張アプリ300と比較して、プリンタベンダに依存しない程度の簡易的な設定しかできない特徴を持つ。S1406で表示する印刷設定は、共通プリンタドライバ500がサポートする所定の印刷プロトコル(例えば、IPP)の仕組みに基づき取得されたプリンタの能力情報(属性情報)に基づき生成されたPrintCapabilitiesや現在の印刷設定を示すPrintTicketに基づき表示される。ここでは、共通プリンタドライバ500がIPPに準拠するプリンタドライバである場合を例として詳述する。この場合、RFC2911で既定されたプリンタ属性要求操作(Get-Printer-Attributes Operations)を用いてプリンタの標準的な能力が取得される。具体的には、図5で説明したインストール処理において、共通プリンタドライバ500は、Get-Printer-Attributes Requestをユーザにより選択されたプリンタに対して送信する。続いて、共通プリンタドライバ500は、当該リクエストの応答として、IPPで既定されたプリンタの能力を示す属性情報を取得し、当該取得した属性情報ファイルをデバイス機能テキストファイルに変換し、ドライバ格納領域5001に格納する。なお、PrintTicketやPrintCapabilitiesは、図10や図11を用いて説明したように、当該デバイス機能テキストファイルに基づき、プリンティングシステム337によって生成される。
次にS1407において、OS210は、ユーザ操作として印刷設定の変更を受け付け、本フローチャートの処理を終了する。
次にS610において、OS210は、プリント拡張アプリ探索処理の戻り値が「True」か否かを判定する。そして、戻り値が「True」でない(「False」である)と判定した場合(S610でNoの場合)、OS210は、S603に処理を進める。
S602において、OS210は、印刷時アプリ起動処理(WF機能の起動処理)を実行する。本処理の詳細については、図7を用いて後述する。
上記印刷時アプリ起動処理(WF機能の起動処理)に関する一連の処理が完了すると、OS210は、S603に処理を進める。
S604において、フィルタパイプラインマネージャ335は、フィルタコンフィグ336の定義に基づき、印刷に使用するプリンタドライバ211に対応するフィルタ330を外部メモリ209から読み出し、RAM202に展開する。
図7A、図7Bは、印刷時アプリ起動処理(WF機能の起動処理)の一例を示すフローチャートである。
S701において、OS210は、選択されているキューに対応するレジストリ353のポリシー列(項目1204)の設定を読み込む。
S704において、印刷時起動アプリランチャ350は、OS210に対してプリント拡張アプリ300のコンポーネントである印刷時起動バックグラウンドタスク部305の起動要求を行う。具体的には、印刷時起動アプリランチャ350は、起動すべきプリント拡張アプリを特定するための情報(AppID)に基づき起動するプリント拡張アプリを特定する。続けて、印刷時起動アプリランチャ350は、タッチアプリ実行環境301と協働して、上記特定したプリント拡張アプリのバックグラウンドタスクを実行するコンポーネントを起動するよう制御する。本実施形態では、プリント拡張アプリ300の印刷時起動バックグラウンドタスク部305のコンポーネントが起動されるものとする。
図8は、印刷時起動UI部303によってディスプレイ207上に表示される画面の一例を示す図であり、図8(A)はプログレス画面の一例を示す。
S707において、印刷時起動UI部303は、OS210に、UIスレッドとは非同期に実行される解析スレッドの起動を要求する。OS210は、スレッドプール355内に当該解析スレッドを割り当てる。当該解析スレッドは、PrintTicketをコンフィグレーションモジュール331から取得し、該取得したPrintTicketの解析を試みる。なお、本実施形態では、解析処理とUI制御処理を別スレッドで制御する場合を例示しているがこれに限定されるものではない。
S709において、印刷時起動UI部303のUIスレッドは、ディスプレイ207上に表示する画面を、図8(B)のような入力画面に切り替える。
図8(B)において、領域810は、認証情報を入力するためのテキストボックスを示している。ユーザは、領域810にパスワードやPINコードなどを入力する。ボタン811は、OKボタンであり、クリックなどの操作イベントを受け付けた際に、領域810に入力された認証情報を確定させるキーである。このOKボタン811は、領域810に認証情報が入力されるまでグレーアウトで表示してもよい。
キャンセルボタン812は、印刷をキャンセルする場合に使用するキーである。キャンセルキー812が押下された場合、印刷ジョブの実行が中止される。
S710において、印刷時起動UI部303のUIスレッドは、ユーザ操作を受け付け、当該ユーザ操作に基づき、PrintTicketの設定を変更する。具体的には、入力された認証情報に基づき、図10で例示した情報1002を書き換える。また、情報1002に相当する属性が無ければ、PrintTicketに当該属性を追加する。
また、印刷時起動UI部303は、ユーザとのやり取りが完了したことをOS210に通知するため、遅延オブジェクトを解放するメソッドを呼び出す。遅延オブジェクトが解放し、フォアグラウンドタスクの終了処理が完了すると、処理の主体がバックグラウンドタスクに遷移する。
上述した第1実施形態では、図13に示したように、2つのドライバ格納領域に同じドライバコンポーネントがインストールされているため、ドライバの構成要素に重複部分がある。第2実施形態では、この重複部分を除いてドライバ格納領域にドライバの構成要素を保存する構成について説明する。なお、第1実施形態と同一の構成には同一の符号を付し、説明は省略する。
16001は、拡張ファイル保存先である。拡張ファイル保存先16001は、図15で説明した項目15001や項目15002などプリントキューが利用する拡張ファイルの保存先を指示している。OS210は、必要に応じて、拡張ファイル保存先16001に記載されている保存先の情報を利用して、PrintTicketやPrintCapabilitiesを生成や禁則に必要な情報を取得する。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
300 プリント拡張アプリ
500 OS共通プリンタドライバ
501,502 MFP
503,513 拡張INFパッケージ
506,507 MFPUtility
508,510 拡張基本INF
Claims (11)
- 第1のユーザ操作に基づきプリンタを探索する探索手段と、
前記探索手段により検出されたプリンタに送信する印刷データを生成するプリンタドライバをインストールするインストール手段と、
イントールした前記プリンタドライバが生成する印刷データに含まれる印刷設定を設定するための印刷設定画面であって、外部サーバから取得した前記プリンタの能力情報に基づく印刷設定画面を表示するアプリケーションを前記外部サーバから取得する取得手段と、
前記アプリケーションと前記能力情報が取得された状態で、第2のユーザ操作を受け付ける受付手段と、
前記第2のユーザ操作に基づき、前記アプリケーションに前記印刷設定画面を表示させる表示制御手段と、
前記プリンタドライバが生成した印刷データであって、前記印刷設定画面で設定された設定を含む印刷データを前記プリンタに送信する送信手段と、を有することを特徴とする情報処理装置。 - 前記プリンタから前記プリンタの識別情報を取得する他の取得手段をさらに有し、
前記取得手段は、前記他の取得手段が取得した前記プリンタの識別情報を用いて取得したアプリケーションの識別情報を用いて、前記アプリケーションを取得することを特徴とする請求項1に記載の情報処理装置。 - 前記他の取得手段が取得した前記プリンタの識別情報を用いて、前記プリンタの能力情報を取得することを特徴とする請求項2に記載の情報処理装置。
- 前記プリンタの識別情報は、前記プリンタのハードウェアIDであることを特徴とする請求項2または3に記載の情報処理装置。
- 前記能力情報は、前記プリンタドライバのインストール開始から、前記印刷設定画面の表示までに取得されることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
- 前記能力情報は、前記印刷設定画面で設定することができる設定項目と、当該設定項目において選択可能な選択肢を示す情報を含むことを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
- 前記外部サーバは、検出した前記プリンタとは異なる装置であることを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
- 前記第2のユーザ操作は、前記第1のユーザ操作と異なる操作であることを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
- 前記第2のユーザ操作は、印刷に使用するプリンタをユーザが選択することができる画面において受け付けられる操作であることを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
- 情報処理装置の制御方法であって、
第1のユーザ操作に基づきプリンタを探索する探索工程
前記探索工程において検出されたプリンタに送信する印刷データを生成するプリンタドライバをインストールするインストール工程と、
イントールした前記プリンタドライバが生成する印刷データに含まれる印刷設定を設定するための印刷設定画面であって、外部サーバから取得した前記プリンタの能力情報に基づく印刷設定画面を表示するアプリケーションを前記外部サーバから取得する取得工程と、
前記アプリケーションと前記能力情報が取得された状態で、第2のユーザ操作を受け付ける受付工程と、
前記第2のユーザ操作に基づき、前記アプリケーションに前記印刷設定画面を表示させる表示制御工程と、
前記プリンタドライバが生成した印刷データであって、前記印刷設定画面で設定された設定を含む印刷データを前記プリンタに送信する送信工程と、を有することを特徴とする情報処理装置の制御方法。 - コンピュータを、請求項1乃至9のいずれか一項に記載の各手段として機能させるためのコンピュータプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018123999A JP7086754B2 (ja) | 2018-06-29 | 2018-06-29 | 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム |
US16/453,829 US11487483B2 (en) | 2018-06-29 | 2019-06-26 | Information apparatus, controlling method for information apparatus, and storage medium to install and activate software based on obtained information |
JP2022090948A JP7328405B2 (ja) | 2018-06-29 | 2022-06-03 | 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション |
US17/937,748 US11789676B2 (en) | 2018-06-29 | 2022-10-03 | Information apparatus, controlling method for information apparatus, and storage medium |
JP2023122969A JP2023153904A (ja) | 2018-06-29 | 2023-07-28 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018123999A JP7086754B2 (ja) | 2018-06-29 | 2018-06-29 | 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022090948A Division JP7328405B2 (ja) | 2018-06-29 | 2022-06-03 | 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020004158A JP2020004158A (ja) | 2020-01-09 |
JP2020004158A5 JP2020004158A5 (ja) | 2021-08-26 |
JP7086754B2 true JP7086754B2 (ja) | 2022-06-20 |
Family
ID=69055220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018123999A Active JP7086754B2 (ja) | 2018-06-29 | 2018-06-29 | 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (2) | US11487483B2 (ja) |
JP (1) | JP7086754B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021124790A (ja) * | 2020-01-31 | 2021-08-30 | キヤノン株式会社 | サーバシステム、およびサーバシステムと通信する情報処理装置ならびにコンピュータプログラム |
JP7433940B2 (ja) * | 2020-01-31 | 2024-02-20 | キヤノン株式会社 | 情報処理装置、印刷装置および当該情報処理装置の制御方法、プログラム |
JP7427459B2 (ja) * | 2020-01-31 | 2024-02-05 | キヤノン株式会社 | サーバシステム、およびサーバシステムと通信する印刷装置 |
JP2022052157A (ja) * | 2020-09-23 | 2022-04-04 | セイコーエプソン株式会社 | プログラム、印刷制御方法、および、印刷制御装置 |
JP2022086157A (ja) * | 2020-11-30 | 2022-06-09 | ブラザー工業株式会社 | セットアッププログラム、情報処理装置、およびシステム |
JP2022148580A (ja) * | 2021-03-24 | 2022-10-06 | ブラザー工業株式会社 | サポートプログラムおよび印刷システム |
JP2022164184A (ja) * | 2021-04-16 | 2022-10-27 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法ならびにプログラム |
JP2024016353A (ja) * | 2022-07-26 | 2024-02-07 | キヤノン株式会社 | 情報処理装置、プログラム |
EP4328735A1 (en) * | 2022-08-24 | 2024-02-28 | Canon Kabushiki Kaisha | Information processing apparatus, method for controlling information processing apparatus, and storage medium |
JP2024039180A (ja) * | 2022-09-09 | 2024-03-22 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法ならびに情報処理装置にインストールされるアプリケーション |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013058151A (ja) | 2011-09-09 | 2013-03-28 | Canon Inc | 印刷システム、プリンター、プリントサーバー、及びその方法 |
US20140036287A1 (en) | 2012-07-31 | 2014-02-06 | Google Inc. | Semantic printing options |
JP2015135658A (ja) | 2013-12-16 | 2015-07-27 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びコンピュータプログラム |
JP2017021537A (ja) | 2015-07-09 | 2017-01-26 | キヤノン株式会社 | 情報処理装置、プログラム及び制御方法。 |
JP2017097667A (ja) | 2015-11-25 | 2017-06-01 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
JP2017199219A (ja) | 2016-04-27 | 2017-11-02 | ブラザー工業株式会社 | ドライバプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5783679B2 (ja) * | 2010-01-15 | 2015-09-24 | キヤノン株式会社 | 印刷装置、印刷システム、制御方法、及び、プログラム |
US9817622B2 (en) * | 2010-01-20 | 2017-11-14 | Hewlett-Packard Development Company, L.P. | Cloud printer with a common user print experience |
JP5665590B2 (ja) * | 2010-04-28 | 2015-02-04 | キヤノン株式会社 | 印刷システム、クライアント、制御方法、およびプログラム |
JP4973821B1 (ja) * | 2012-02-16 | 2012-07-11 | 富士ゼロックス株式会社 | 印刷制御装置およびプログラム |
JP6146334B2 (ja) * | 2014-02-17 | 2017-06-14 | 富士ゼロックス株式会社 | 印刷指示支援装置、印刷システム及びプログラム |
US9665314B2 (en) * | 2014-04-03 | 2017-05-30 | Canon Kabushiki Kaisha | Methods and systems for managing a print-setting user interface |
JP6432256B2 (ja) * | 2014-09-30 | 2018-12-05 | ブラザー工業株式会社 | プリンタ |
JP6859870B2 (ja) * | 2017-06-28 | 2021-04-14 | 株式会社リコー | サーバ、システムおよび情報処理方法 |
-
2018
- 2018-06-29 JP JP2018123999A patent/JP7086754B2/ja active Active
-
2019
- 2019-06-26 US US16/453,829 patent/US11487483B2/en active Active
-
2022
- 2022-10-03 US US17/937,748 patent/US11789676B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013058151A (ja) | 2011-09-09 | 2013-03-28 | Canon Inc | 印刷システム、プリンター、プリントサーバー、及びその方法 |
US20140036287A1 (en) | 2012-07-31 | 2014-02-06 | Google Inc. | Semantic printing options |
JP2015135658A (ja) | 2013-12-16 | 2015-07-27 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びコンピュータプログラム |
JP2017021537A (ja) | 2015-07-09 | 2017-01-26 | キヤノン株式会社 | 情報処理装置、プログラム及び制御方法。 |
JP2017097667A (ja) | 2015-11-25 | 2017-06-01 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
JP2017199219A (ja) | 2016-04-27 | 2017-11-02 | ブラザー工業株式会社 | ドライバプログラム |
Also Published As
Publication number | Publication date |
---|---|
US11487483B2 (en) | 2022-11-01 |
US20230026187A1 (en) | 2023-01-26 |
US20200004473A1 (en) | 2020-01-02 |
US11789676B2 (en) | 2023-10-17 |
JP2020004158A (ja) | 2020-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7086754B2 (ja) | 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム | |
US20230115514A1 (en) | Print processing system and control method | |
JP7229680B2 (ja) | 情報処理装置、制御方法及びプログラム | |
US9355046B2 (en) | Information processing apparatus, information processing method, and computer-readable medium | |
US9830544B2 (en) | Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password | |
US8994970B2 (en) | Information processing apparatus, control method, and storage medium | |
US8605316B2 (en) | Information processing apparatus and control method thereof, and storage medium | |
JP7439207B2 (ja) | プログラム | |
US20160253128A1 (en) | Output system, terminal device and output method | |
CN107102826B (zh) | 图像处理设备及其控制方法 | |
JP7102216B2 (ja) | プログラム | |
JP2023018114A (ja) | プログラム、情報処理装置、及び情報処理装置の制御方法 | |
JP7328405B2 (ja) | 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション | |
JP2023034958A (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
JP7171227B2 (ja) | 情報処理装置、その制御方法およびアプリケーション | |
JP6357957B2 (ja) | 印刷データ送信装置、プログラム、印刷データ生成方法 | |
JP7350525B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US20230333793A1 (en) | Information processing apparatus, control method for controlling information processing apparatus, and storage medium | |
JP2023138544A (ja) | プログラム | |
JP6440573B2 (ja) | 情報処理装置および情報処理方法 | |
CN113596275A (zh) | 图像形成设备、图像形成设备的控制方法和存储介质 | |
JP2008070952A (ja) | 情報処理装置及びプリント配布プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220428 |
|
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: 20220510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220608 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7086754 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |