JP7102216B2 - プログラム - Google Patents

プログラム Download PDF

Info

Publication number
JP7102216B2
JP7102216B2 JP2018089181A JP2018089181A JP7102216B2 JP 7102216 B2 JP7102216 B2 JP 7102216B2 JP 2018089181 A JP2018089181 A JP 2018089181A JP 2018089181 A JP2018089181 A JP 2018089181A JP 7102216 B2 JP7102216 B2 JP 7102216B2
Authority
JP
Japan
Prior art keywords
print
application
setting
password
printer
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
JP2018089181A
Other languages
English (en)
Other versions
JP2019197249A5 (ja
JP2019197249A (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 JP2018089181A priority Critical patent/JP7102216B2/ja
Priority to US16/382,445 priority patent/US11275542B2/en
Priority to CN202410250566.3A priority patent/CN118092825A/zh
Priority to CN201910376155.8A priority patent/CN110456992B/zh
Publication of JP2019197249A publication Critical patent/JP2019197249A/ja
Publication of JP2019197249A5 publication Critical patent/JP2019197249A5/ja
Priority to US17/571,869 priority patent/US12014097B2/en
Priority to JP2022104363A priority patent/JP7328410B2/ja
Application granted granted Critical
Publication of JP7102216B2 publication Critical patent/JP7102216B2/ja
Priority to JP2023120256A priority patent/JP2023138544A/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/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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/1267Job repository, e.g. non-scheduled jobs, delay printing
    • 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/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1276Print workflow management, e.g. defining or changing a workflow, cross publishing within a printer driver, e.g. driver resides either on a server or on a 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

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)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、印刷に関するGUI(Graphical User Interface)を提供するプログラムに関する。
画像形成装置の制御用ソフトウェアとして、ホストコンピュータにインストールされたプリンタドライバを利用し、ホストコンピュータに接続された画像形成装置に対して印刷を行う構成が一般に知られる。ホストコンピュータには、基本ソフトウェアであるオペレーティングシステム(以下、OSと呼ぶ)がインストールされており、プリンタドライバはそのOSの規定する仕様に従って構成される。画像形成装置を提供するベンダは、OSの仕様に適合するプリンタドライバを提供することにより、画像形成装置に対して印刷指示する手段を得ることができる。
ホストコンピュータのOSとしてMicrosoft(登録商標)のWindows(登録商標)8より前のバージョンを利用する場合、プリンタドライバは、V3プリンタドライバと呼ばれるアーキテクチャで構成される。V3プリンタドライバは、ユーザからの印刷要求が発生したタイミングでUI(User Interface)を表示し、何らかの操作をユーザに促すような機能を提供することができる。例えば、印刷要求が発生すると、V3プリンタドライバの構成物であるコンフィグレーションモジュールの規定のイベントが呼び出されるため、コンフィグレーションモジュールは、そのイベント処理の中でユーザインタフェースを表示することが可能である。
一方、Windows(登録商標)8以降において、V4プリンタドライバと呼ばれる新しいアーキテクチャが登場した。V4プリンタドライバのアーキテクチャでは、セキュリティ性が重視されているため、プリンタドライバそのもののカスタマイズ性は低下している。例えば、前述のコンフィグレーションモジュールはOSにより提供され、ベンダは、その動作をカスタマイズする設定ファイルやスクリプトファイルのみを提供可能である。このようなカスタマイズ性の低下を補うため、画像形成装置を提供するベンダは、プリンタドライバの機能を補助するための専用のアプリケーションを提供することができる。このアプリケーションはWindows Store Device Apps(WSDA)と呼ばれる。
また、Windows(登録商標)10以降においては、Universal Windows Platform (UWP)と呼ばれる新しい形式のプラットフォームでアプリケーションが作成できる。そのアプリケーションは、UWP Device Appsと呼ばれる。UWP Device AppsはWSDAの機能を拡張し、Workflow(WF)と呼ばれるアプリケーションをWSDAに追加することができる。
WF機能では、印刷時にバックグラウンドタスクと呼ばれるUIを持たないスレッドがOSによって生成される。バックグラウンドタスクは、フォアグラウンドのタスク(UI)を呼び出すことも可能である。また、画像形成装置は、セキュアプリント(認証プリントとも呼ぶ)という認証機能を利用した機能を備える。本機能を利用する場合、プリンタドライバは、パスワードのような認証情報を付加した印刷ジョブを画像形成装置に送信する。画像形成装置は、上記認証情報を付加した印刷ジョブを受信し、ユーザが画像形成装置上で認証することにより出力が可能となる。本機能を利用すると、印刷指示を行った際には出力が開始されず、画像形成装置で本人であることが認証されない限り出力されないため、だれにも印刷物を見られずに安全に出力することが可能となる。
特開2015-166918号公報
V4プリンタドライバを使用する印刷では、セキュリティ性や利便性が向上している一方、印刷要求を行った後は、OSが提供するフレームワークが主体となって制御を行うことになる。従って、従来は、V4プリンタドライバを使用する印刷において、印刷実行指示後に、ユーザに対してUIなどの通知を行うことができなかった。そのため、パスワードの認証によって本人確認を行うセキュアプリント機能を選択したにも関わらず、パスワード入力漏れがあった場合に、ポップアップUIを表示し、ユーザに対して入力を促すことができなかった。特許文献1のように、印刷データへの変換時にポップアップ表示させようとする提案も出ている。しかしながら、印刷データへの変換を担うXPSフィルタやV4プリンタドライバが、プロセス間通信を行って、制御の調停を行うなどの拡張を行う必要があり、煩雑であった。また、特殊な拡張によりポップアップを実現するため、依然として機能制限があった。
本発明は、上記課題を鑑みて、印刷のための第2のオブジェクトが選択された後に、パスワード入力漏れを抑制するプリンタードライバーとは異なるアプリケーションを提供することを目的の1つとする
上記の課題を解決するために、本発明のアプリケーションは、プリンターのためのプリンタードライバーとは異なり、前記プリンタードライバーに含まれないアプリケーションであり、前記プリンタードライバーを記憶するコンピュータに方法を実行させるアプリケーションであって、前記方法は、印刷設定画面を表示するための第1のオブジェクトと、印刷のための第2のオブジェクトと、印刷のために使われるプリンターを示す第3のオブジェクトを含む画面の前記第1のオブジェクトのユーザによる選択を前記コンピュータが受け付けたことに基づいて前記印刷設定画面を表示手段に表示させる第1の表示工程と、前記画面の前記第2のオブジェクトのユーザによる選択を前記コンピュータが受け付けたことに基づいて、前記印刷設定画面を介して行われた印刷設定が、印刷時にパスワードをユーザに要求する設定を含むか判定する判定工程と、前記判定工程で前記印刷設定が前記設定を含むと判定したことに基づいて、前記パスワードを前記ユーザが入力できるようにするパスワード入力画面を前記表示手段に表示させる第2の表示工程と、を有する。前記判定工程で前記印刷設定が前記設定を含まないと判定したことに基づいて、前記パスワード入力画面は表示されず、前記プリンタードライバーを介して前記プリンターに前記印刷のためのデータが提供されることを特徴とする。
願請求項1に係る発明によれば、印刷のための第2のオブジェクトが選択された後に、パスワード入力漏れを抑制するプリンタードライバーとは異なるアプリケーションを提供することができる。
システム構成を示す図である。 クライアントコンピュータのハードウェア構成の一例を示す図である。 クライアントコンピュータのソフトウェア構成の一例を示す図である。 メタデータの記述例を示す図である。 印刷システムで構築される印刷環境の一例を示すブロック図である。 第1の実施形態に係る印刷処理の一例を示すフローチャートである。 第1実施形態に係る印刷時起動処理の一例を示すフローチャートである。 第1実施形態に係る印刷時起動処理の一例を示すフローチャートである。 印刷ダイアログ及び警告用印刷時起動UIの画面の一例を示す図である。 タッチアプリ及び印刷ダイアログの模式図である。 プリントケーパビリティの一例を示す図である。 プリントチケットの一例を示す図である。 デバイス機能テキストファイルにおける定義項目の記載例を示す図である。 印刷時のデータフローを説明する模式図である。 ポップアップ表示を行うかを選択するためのUIの画面の一例を示す図である。 第2実施形態に係る印刷時起動処理の一例を示すフローチャートである。 第2実施形態に係る印刷時起動処理の一例を示すフローチャートである。 第3実施形態に係る印刷時起動処理の一例を示すフローチャートである。 第3実施形態に係る印刷時起動処理の一例を示すフローチャートである。 第1実施形態に係る印刷設定処理を示すフローチャートである。
以下、本発明を実施するための最良の形態について図面及び表を用いて説明する。以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
(第1実施形態)
まず、図1を用いて、本実施形態に係るシステムの構成について説明する。図1は、本実施形態に係るシステム構成の概略を表す模式図を示す。本実施形態に係るシステムは、クライアントコンピュータ101と、サーバー104と、プリンタ102を備える。クライアントコンピュータ101は、情報処理装置の一例である。サーバー104は、クライアントコンピュータ101へ対してデータを配信する。プリンタ102は、ページ記述言語(Page Description Language、以下PDLと呼ぶ)形式の印刷データを受信し印刷を行う。各装置は、Wide Area Network(WAN)を含むネットワーク103を通じて相互に通信可能である。なお、プリンタ102は、印刷機能のみを備えるシングルファンクションプリンタであってもよく、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタであってもよい。また、クライアントコンピュータ101は、ネットワーク103に対し一台に限らず、複数台接続されていてもよい。
図2は、図1のクライアントコンピュータ101のハードウェア構成を示すブロック図である。クライアントコンピュータ101において、中央演算処理装置(CPU201)は、ランダムアクセスメモリ(RAM202)に記憶されているプログラムに従って、システムバスに接続される各デバイスを制御する。なお、クライアントコンピュータ101は、少なくとも1つのCPU201を備えるものとする。加えて、CPU201が外部メモリ209に記憶されているプログラムに基づき処理を実行することによって、クライアントコンピュータ101のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。リードオンリーメモリ(ROM)203は、ブートプログラムや基本入出力システム(BIOS)等の各種プログラムが書き込まれてある。
操作入力装置インターフェース(I/F)204は、キーボードやポインティングデバイス(マウス)タッチUI(User Interface)などの操作入力装置205を制御するインターフェースである。操作入力装置205は、ユーザからの操作を受け付ける受付部として機能する。ディスプレイI/F206はディスプレイ207への画面の表示制御を行う。ディスプレイ207は、ユーザに対して情報を表示する表示部として機能する。外部メモリI/F208は、例えばハードディスク(HD)、ソリッドステートディスク(SSD)等の外部メモリ209とのアクセスを制御する。外部メモリ209は、オペレーティングシステムプログラム(OS)210をはじめ、アプリケーション実行環境213、タッチパネル、デスクトップそれぞれに対応した各種アプリケーション212や各種ファイル等を記憶する。そして、クライアントコンピュータ101が読み取り可能な記憶媒体として機能する。ネットワークI/F215は、ネットワーク103を介してプリンタ102に接続され通信制御処理を行う。尚、サーバー104もクライアントコンピュータ101のハードウェア構成と同じ構成を内包しており、同様に動作する。
次に、図3を用いて、クライアントコンピュータ101のソフトウェアの構成について説明する。まず、クライアントコンピュータ101内の動作ソフトウェアについて説明する。クライアントコンピュータ101内のソフトウェアは、OS210、アプリケーション実行環境213とアプリケーション212の3つの層から構成される。
まず、OS210を構成する個々の要素について説明する。OS210は、大きくプリンティングシステム337、プリンタドライバ211、外部設定ファイル群352とスレッドプール355で構成される。次に、OS210の外部設定ファイル群352を構成する要素について説明する。外部設定ファイル群352のメタデータ320は、プリント拡張アプリ300とプリントキュー308の双方の識別子を持つ定義情報であり各々を関連付ける役割を持つ。メタデータ320は、図4を用いて後述する。レジストリ353は、OS210の設定群が記述されている領域である。レジストリ353には、後述する印刷時起動アプリランチャ350がバックグラウンドタスクである印刷時起動アプリケーション305を起動するかどうかの設定を、登録することができる。バックグランドタスクとは、UWP Apps((Universal Windows Platform)アプリケーション)で利用可能な機能である。バックグランドタスクは、主に、アプリをユーザが操作しない状態であっても、最新の状態を維持したり、更新情報を受信したりといった処理を実現するために用いられる。一方、アプリがバックグラウンドで動作すると、バッテリーや演算リソースを消耗したりする。そのためOS210はUWP Appsごとにバックグラウンドタスクの利用を許可するか否かを設定する機能をユーザに対して提供する。レジストリ353には、当該機能を介して設定された、アプリケーションごとにバックグラウンドタスクの利用を許可するか否かの設定が登録されている。
続いて、プリンティングシステム337を構成する要素について説明する。プリントキュー308は、ネットワーク103内に存在するプリンタを使用して印刷を行う際に、印刷ジョブを一時的に保存する領域である。本実施形態では、プリンタ102のプリントキュー308が作成されているものとする。プリントキュー308が作成されると、デバイス機能テキストファイル332に記載されている一部の機能に基づきプリントキューに紐づく記憶領域340が生成される。記憶領域340はプリントキューごとに個別の設定や機能を記憶する。これは、デバイス機能テキストファイル332の機能定義部に対して、特定の記述を行うことにより、ジョブ毎に切り替える印刷設定機能ではなく、プリントキュー毎に制御可能な機能を提供することができる。
スプーラ325は、アプリケーション212から印刷された印刷対象データであるXPS(XML Paper Specification)ファイルを一時的に保存及び管理するモジュールである。スプーラ325に保存されたXPSファイルは、後述するフィルタパイプラインマネージャ335を通して、PDLに変換された後に、スプーラ325を通じてプリンタ102へと送信される。
フィルタパイプラインマネージャ335は、OS210の一部として構成されており、フィルタ330は、後述するプリンタドライバ211を構成する要素の一つである。フィルタパイプラインマネージャ335は、フィルタコンフィグ336の定義に基づき、フィルタ330を1つ乃至複数読み込み、スプーラ325に保存されているXPSファイルをPDLへと変換する。
コンフィグレーションモジュール331は、プリントチケットの生成、変更、及び不正な設定を訂正する禁則機能などを持つモジュールである。コンフィグレーションモジュール331のAPI(Application Programming Interface)を呼び出すことで、印刷設定情報であるプリントチケットや、デバイス能力情報であるプリントケーパビリティを取得することができる。プリントチケットや、プリントケーパビリティは、XML(Extensible Markup Language)形式で記述される。
後述するプリント拡張アプリ300の詳細印刷設定UI部304、印刷時起動アプリケーション305、印刷時起動UI部303は、選択されたプリンタドライバ211のコンフィグレーションモジュール331のAPIを呼び出す。これにより、プリントチケットやプリントケーパビリティを取得する。印刷時起動アプリランチャ350は、アプリケーション212から印刷が行われた際に、レジストリ353に保存された設定に基づき、印刷時起動アプリケーション305を起動する。
プリンタドライバ211は、フィルタ330、フィルタコンフィグ336、スクリプトファイル333、印刷設定UI360、デバイス機能テキストファイル332、で構成される。フィルタ330は、フィルタパイプラインマネージャ335によって呼び出されるモジュールであり、XPSファイルをPDLへと変換する役割を持っている。フィルタコンフィグ336は、フィルタパイプラインマネージャ335参照する定義ファイルであり、フィルタ330を呼び出す順序が記述されている。スクリプトファイル333とデバイスの機能が記述されたデバイス機能テキストファイル332は、コンフィグレーションモジュール331の動作をカスタマイズする。印刷設定UI360は、後述するデスクトップアプリ実行環境323で動作する設定変更機能を提供するUIであり、プリントキュー308に紐づいた印刷設定であるプリントチケットを編集する。また、プリントキュー308に紐づく記憶領域340の編集機能を有することも可能である。スレッドプール355は、各種アプリケーション212やOS210内のモジュール群が実行される際に利用されるスレッドを溜め置いておくモジュールである。
次に、アプリケーション実行環境213を構成する個々の要素について説明する。アプリケーション実行環境213は、デスクトップアプリ実行環境323及びタッチアプリ実行環境301から構成される。タッチアプリ実行環境301は、後述するアプリケーション212の一種であるタッチアプリ321やプリント拡張アプリ300を実行するためのAPI群を有し、それらを実行する際のメモリ管理なども行う。一方で、デスクトップアプリ実行環境323は、後述するアプリケーション212の一種であるデスクトップアプリ322を実行するためAPI群を有し、それらを実行する際のメモリ管理などを行う。
次に、アプリケーション212を構成する個々の要素について説明する。アプリケーション212は、タッチアプリ321、プリント拡張アプリ300ならびにデスクトップアプリ322の三種類のアプリケーションで構成される。タッチアプリ321は、アプリケーション212の一種で、タッチアプリ実行環境301の上で動作する。タッチアプリ321は、インターネット上で公開されるアプリケーション配布システムを通じて、ユーザ自身が選択し、クライアントコンピュータ101にインストールする。プリント拡張アプリ300は、タッチアプリ321の一種であり、タッチアプリ321と同様にタッチアプリ実行環境301の上で動作する。プリント拡張アプリ300は、OS210がアプリケーション配布システムからインターネットを経由して取得しクライアントコンピュータ101にインストールする。プリント拡張アプリ300は、タイルアプリ部302、詳細印刷設定UI部304、印刷時起動アプリケーション305、印刷時起動UI部303で構成される。
タイルアプリ部302は、プリント拡張アプリ300を起動するというユーザ操作をきっかけにして、タイル形式のUI(例えば、GUI(Graphical User Interface)など)を表示する。詳細印刷設定UI部304は、OS210によって発行された詳細印刷設定イベントを受信したことをきっかけに、詳細印刷設定用のUIを表示する。詳細印刷設定UI部304は、コンフィグレーションモジュール331からAPIを通じて取得したプリントチケットとプリントケーパビリティに基づき、詳細印刷設定用のUIを生成する。詳細印刷設定UI部304は、ユーザの入力に応じてプリントチケットの値を変更した後に、プリントチケットをコンフィグレーションモジュール331に返却する。印刷時起動アプリケーション305及び印刷時起動UI部303は、所定のユーザ操作などを契機としてプリントに関する処理を実行させるWorkflow(WF)と呼ばれる機能を提供する。印刷時起動アプリケーション305は、印刷イベントが発行された際に、印刷時起動アプリランチャ350によって起動されるバックグラウンドタスクを実行するためのコンポーネントである。印刷時起動アプリケーション305は、コンフィグレーションモジュール331のAPIを通じてプリントチケットの取得やその内容の読み書きをする。印刷時起動アプリケーション305は、プリントチケットの設定やパラメータから、フォアグラウンドタスクを実行するためのコンポーネントである印刷時起動UI部303を起動するか否かを判断し、印刷時起動UI部303の起動をOS210に要求する。
印刷時起動アプリケーション305は、印刷時起動UI部303を起動しないと判断した場合は、印刷時起動UI部303を起動することなく後述の印刷処理に処理を進める。また、印刷時起動アプリケーション305は、アプリストア334を介して、印刷時起動UI部303とプリントチケットの設定やパラメータの受け渡しをする。印刷時起動UI部303は、プリントチケットやプリントケーパビリティの取得と設定の変更を行う。本実施形態において、印刷時起動UI部303は、印刷に関する確認を行うためのUIや、未入力の設定をユーザに入力させるためのUIなどを表示する。ここで、デバイスであるプリンタ102とプリント拡張アプリ300は、メタデータ320によって関連づけられている。
図4は、メタデータ320の記述の一例である。図4(A)は、プリント拡張アプリ300に関連付けするデバイス情報一覧を示す記述の一例である。メタデータ320には、プリンタ102の一覧を示すHardwareIDListタグ402が記述される。なお、Hardware IDとは、プリンタから返却される、プリンタを一意に特定するための識別情報である。項目403は、MFP1_abcdというHardware IDを持つプリンタ102を表し、同様に、項目404は、MFP2_ijklというHardware IDを持つプリンタ102を表している。このように、1つのメタデータ320に、プリント拡張アプリ300に関連付けするプリンタ102を複数列挙することができる。本実施形態では、一例としてメタデータ320に、2つのプリンタのHardware IDが指定されている場合を例示しているがこれに限定されるものではない。1つであっても、3つ以上であっても構わない。
図4(B)のメタデータ320内には、プリント拡張アプリ300を示すDeviceCompanionApplicationsタグ411が記述されている。項目412は、プリント拡張アプリ300のIDとベンダのIDとが記述されている。本実施形態では、1234abcd.MFPUtilityという値がプリント拡張アプリ300を表している。そして、12345678-abcd-efgh-ijkl-123456789012という値が、プリント拡張アプリ300を提供しているプリンタベンダを表している。
このように、図4(A)及び(B)のメタデータによって、デバイスであるプリンタ102とプリント拡張アプリ300の関連付けがなされる。クライアントコンピュータ101にプリンタ102が接続されると、OS210は、所定のサーバー(Microsoft(登録商標)が管理するメタデータ用サーバー)に登録されているメタデータ320を検索する。そして、HardwareIDListに、接続されたプリンタ102の返却するHardware IDが記述されたメタデータ320を見つけると、それをクライアントコンピュータ101がインストールされている外部メモリ209に保存する。さらに、OS210は、保存したメタデータ320のDeviceCompanionApplicationタグ411に記述されたプリント拡張アプリ300を図示省略のアプリケーション配布システムから取得する。そして、外部メモリ209にプリント拡張アプリ300をインストールし、プリンタ102と関連付ける。
これにより、プリンタ102に対してプリンタドライバ211を経由して印刷要求が発生した際に、プリント拡張アプリ300を起動できるようになる。このメタデータ320は、プリンタベンダにより提供されるものである。プリンタベンダは、このメタデータ320を事前にMicrosoft(登録商標)が管理するメタデータ用サーバーに提供する。それによって、ユーザ環境にプリンタドライバ211がインストールされた際に、ユーザ環境に接続されているデバイスに最適なプリント拡張アプリ300を自動的にインストールするように制御する。
図5は、メタデータ320で構築される印刷環境の一例を示す図である。プリンタ102であるMFP501は、MFP1_abcdというHardware IDを有する。MFP501をクライアントコンピュータ101に接続すると、OS210は、HardwareIDListタグにMFP1_abcdというHardware IDが記述されているメタデータ320を取得する。さらに、OS210は、メタデータ320に記述されているMFPUtility506というプリント拡張アプリ300を取得し、MFP501と関連付ける。
なお、MFP501用にクライアントコンピュータ101にインストールされるプリンタドライバは、複数種類存在し得る。つまり、1つのデバイスであるMFP501に対応するプリンタドライバとして、複数のプリンタドライバが存在しうる。例えば、機種別プリンタドライバ508は、MFP501の専用プリンタドライバである。また、共通プリンタドライバ509は、1つのプリンタドライバで複数種類のプリンタ102への印刷を可能にするプリンタドライバである。なお、機種別プリンタドライバ508と共通プリンタドライバ509は、各ベンダ固有のドライバである。そして、標準プリンタドライバ510は、標準化された印刷方法を利用することで、1つのドライバで複数ベンダのプリンタ102への印刷を可能にするプリンタドライバである。標準プリンタドライバ510は、OS210と共にOS210のパッケージ内の機能の1つとして提供される。
このように、プリンタ102用に利用可能なプリンタドライバは複数存在し、利用されるプリンタドライバは、インターネット接続状態やOS210の種類、利用環境等に応じて異なる。通常、OS210は、プリンタドライバのバージョン情報等を参照して、利用可能なプリンタドライバのうち、もっとも機能が高く新しいプリンタドライバを自動的に選定しインストールする。なお、プリンタドライバには、Hardware IDや、Compatible IDと呼ばれる装置を特定するための情報が含まれている。クライアントコンピュータ101にプリンタが接続されると、OS210は、プリンタからこれらのID情報を取得し、該当するIDを有するプリンタドライバを探索し、インストールする。
以上のように、プリンタを提供するプリンタベンダは、メタデータ320を提供することで、それぞれのプリンタに対して、どのプリント拡張アプリ300を提供するか否かを制御することができる。例えば、プリンタベンダは、複数のプリンタに共通した一つのプリント拡張アプリ300を提供することもできるし、それぞれ異なるプリント拡張アプリ300を提供することもできる。しかしながら、1つのプリンタに関連付けられたプリンタドライバ211の種類に応じて異なるプリント拡張アプリ300を提供することはできない。図5においては、MFP501で利用されるプリンタドライバ211は、ドライバ508からドライバ510の3種類存在するが、各ドライバと連携できるプリント拡張アプリ300は常に1種類である。
また、ユーザー印刷環境では複数台のプリンタ102や、複数種類のプリンタ102を使い分ける場合がある。出力先のプリンタ102毎に、プリンタドライバ211に対応するモデルや印刷設定の初期値および印刷ジョブをそれぞれ管理する必要がある。そのためOS210は、設置の際に出力先のプリンタ102に対応するオブジェクトとしてプリントキュー308を生成する。OS210は、プリントキュー308に紐づけてプリンタドライバ211の構成モジュールや印刷設定の初期値を管理する。
ここで、プリンタ102がセキュアプリント機能(認証プリント機能)を有していることと、プリント拡張アプリ300がどのようにしてプリンタ102の保有する機能を知るのかについて説明する。プリンタ102は、クライアントコンピュータ101で設定した暗証番号の入力を印刷時に求めるセキュアプリント機能を保有している。プリンタ102が保有する機能は、プリンタドライバ211のデバイス機能テキストファイル332に記載されている。プリント拡張アプリ300は、デバイス機能テキストファイル332に基づいてコンフィグレーションモジュール331が生成したプリントケーパビリティを受け取ることで、プリンタ102がセキュアプリント機能を保有することを把握する。また、プリント拡張アプリ300は、コンフィグレーションモジュール331によって生成されたプリントチケットを読み込むことで、セキュアプリント機能が現在の印刷設定に設定されていることを把握する。
図11は、デバイス機能テキストファイル332に基づいて、コンフィグレーションモジュール331が生成したプリントケーパビリティの一例である。図11で示されるプリントケーパビリティは、XML形式でプリンタドライバ211の能力一覧が示されている。プリントケーパビリティは、1つのFeatureの要素の中に、複数のOptionを持つ。Featureは、機能を表し、その機能で内包するOption群は選択肢を表している。プリントケーパビリティ1001は、セキュアプリントのFeatureとOptionのXMLでの記述例を示す。FeatureにJobSecurePrintが記述されていることで、セキュアプリント機能が可能であることを示している。また、JobSecurePrintのFeatureの選択肢として、ns0000:SecurePrintすなわち機能を有効にする「オン」と、ns0000:Noneすなわち機能を無効にする「オフ」の二つが選択肢であることを示している。
次に、図12は、ユーザの入力に基づいて、コンフィグレーションモジュール331が生成したプリントチケットの一例である。プリントチケットには、プリントケーパビリティで定義されたXML形式の各機能の設定値のいずれかが、現在の印刷設定として格納される。例えば、項目1101に示すns0000:JobSecurePrintというFeatureの要素は、本人か否かをパスワード入力によって認証するセキュアプリントの機能を示している。JobSecurePrintのFeatureで内包するOptionがns0000:SecurePrintになっていることで、セキュアプリント機能がオンに設定されていることを示している。また、同Optionにns0000:Noneが設定されていた場合は、セキュアプリント機能がオフに設定されていることを意味する。また、もしも同Optionに何も設定されていない場合には、本実施形態における印刷時起動UI部303は、Optionにns0000:Noneが設定されていた場合と同等と判定する。項目1102に示すpsf:ParameterInitには、本人認証のためのパスワードとして入力された値“XXXXXX”が保持される。本図では、印刷時にセキュアプリントがOnと設定され、パスワードが入力され、プリントチケットにパスワードの値が保持されている場合の例を示している。もしも、印刷時にセキュアプリントがOnと設定されたにも関わらず、パスワードが入力されなかった場合は、パスワードの値の箇所は空欄となる。
次に、図6を用いて、タッチアプリ321から印刷が行われるまでの基本フローを説明する。図6のフローチャートに示す各動作(ステップ)は、CPU201が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、実行することにより実現される。各制御モジュール、コンポーネント、アプリケーションによって提供される制御を説明する場合、CPU201によって実現される各部を主語として説明する。また、表示、ユーザ操作の受け付け、及びデータ送受信処理などの一部処理は、CPU201、各I/F及び、I/Fに接続された入出力デバイスが協働して実現するものとする。尚、本実施形態では、タッチアプリ321(図10)を用いて説明を行うが、デスクトップアプリ322からも印刷可能なことは言うまでもない。図10(A)は、タッチアプリ321が起動された模式図である。タッチアプリ321は、メニューコンボタン900をタップされることで、メニューの選択肢の一覧を羅列する。次に、メニューの選択肢である印刷アイテム901がユーザ操作によって選択されることで、タッチアプリ321は、OS210に印刷ダイアログ表示の要求を依頼し、印刷ダイアログを表示する。図10(B)は、OS210によって生成される簡易的な印刷設定を行う印刷ダイアログである。印刷ダイアログは、印刷設定部920と印刷イベント発生部930から構成される。印刷設定部920には、簡易的な印刷設定の一覧が表示される。921は、選択されているプリンタキュー308の名称であり、922は、設定されている印刷設定の例である。印刷ダイアログは、表示後にユーザ操作を受け付け、印刷イベント発生部930の印刷ボタン932が押されることで、印刷イベントを発生させる。
印刷イベント発生後に、タッチアプリ321は、印刷対象のデータのXPSファイルを生成し、図6で説明する印刷時の基本フローを開始する。本実施形態では、ワークフローを使用して、印刷開始後に確認UIや設定の再入力を行うためのUIを表示する仕組みを提供する。具体的な制御方法について、図6に例示する印刷時の基本フローを用いて説明する。尚、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。図6に示すフローは、アプリケーション212から印刷イベントが発生したところから始まる。印刷イベントを引き起こすアプリケーション212は、タッチアプリ321であっても、デスクトップアプリ322であってもかまわない。
まず、ステップS601にて、OS210は、印刷イベントを発生させたアプリケーション212が生成したXPSファイルを、スプーラ325に渡す。次に、ステップS602にて、印刷時起動アプリケーション305の処理が実行される。本処理は、重要な役割を占めるため、後述する。次に、ステップS603にて、フィルタパイプラインマネージャ335は、プリントチケットとXPSファイルを、ステップS602の処理の結果に応じて、スプーラまたは印刷時起動アプリケーション305から取得する。次に、ステップS604にて、フィルタパイプラインマネージャ335は、フィルタコンフィグ336の定義に基づき、フィルタ330を外部メモリ209から読み出し、RAM202に展開する。次に、ステップS605にて、フィルタパイプラインマネージャ335は、XPSファイルをフィルタ330に渡す。ステップS606にて、フィルタ330は、XPSファイルをPDLに変換し、スプーラ325にPDLを渡す。そして、ステップS607にて、スプーラ325は、PDLをプリンタ102に送信する。
次に、図14を用いて、基本的な印刷フローに関して説明する。本フローの説明ではデスクトップアプリ322からの印刷について記載する。印刷機能を持ったデスクトップアプリ322から印刷を開始するために、ユーザーは出力先のプリンタ102と紐づいたプリントキュー308を選択する。その際、対象のプリントキュー308に関連したプリンタドライバ211の印刷設定UI360を開くことにより、様々な機能変更行うことができる。例えば、一枚の紙に両面印字する設定である「両面設定」や、印字結果をモノクロ印刷する「白黒」などの設定変更が可能となる。ここで、複数の画像形成装置が混在するエンタープライズ環境においては、ポップアップUIを表示するか否かを画像形成装置ごとに使い分けたいといった要望がある。そこで、本実施形態では、画像形成装置に紐づくプリントキュー毎にポップアップ表示を制御できるようにする。具体的には、プリントキューに紐付く記憶領域340に、ポップアップ表示を行うか否かを示す設定を記憶させる。
続いて当該設定の変更する方法について説明する。ユーザは、当該設定を、プリンタドライバの印刷設定UI360が表示するプロパティ画面を介して変更することができる。図15は、プロパティ画面の一例であり、「印刷時にユーザー設定情報を確認する」の設定項目が選択され、設定値のリストが表示されている場合を例示している。設定値としては、「オン」/「オフ」が用意される。ユーザは、当該リストから設定値を選択することで設定を変更することができる。ユーザによって設定変更の操作がなされたことを検知した印刷設定UI360は、この設定情報に基づき、デバイス機能テキストファイル332の機能定義部に対して、特定の記述を行う。プリンティングシステム337は、当該特定の記述に基づき当該プリンタドライバに対応付けられたプリントキューに紐付く記憶領域340の設定を変更する。
図13を用いて具体的な記述を説明する。Feature属性に対して*FeatureType:PRINTER_PROPERTY属性(1201)を記載することで、プリントキュー毎の設定を表現する。プロパティ画面で「オン」が設定された場合、ONを示すオブション1203が記述され、オブション1202の記述は消去される。また、プロパティ画面で「オフ」が設定された場合、OFFを示すオプション1202が記述される。プリンティングシステム337は、当該記述を参照することで、記憶領域340の設定を更新する。
次に、当該変更処理の具体的な制御方法について図20のフローチャートを用いて説明する。図20のフローチャートに示す各動作(ステップ)は、CPU201が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、実行することにより実現される。各制御モジュール、コンポーネント、アプリケーションによって提供される制御を説明する場合、CPU201によって実現される各部を主語として説明する。また、表示、ユーザ操作の受け付け、及びデータ送受信処理などの一部処理は、CPU201、各I/F及び、I/Fに接続された入出力デバイスが協働して実現するものとする。
まず、ステップS2001にて、印刷設定UI360は、プリントキューに対応付けて記憶された設定情報を取得し、図15で例示した選択肢を含む画面を表示する。次に、ステップS2002にて、印刷設定UI360は、ユーザー操作を受け付ける状態に遷移し、ユーザ入力を受け付ける。当該入力には、セキュアプリント機能を使用するか否かの設定変更などが含まれる。ステップS2003にて、印刷設定UI360は、ユーザー操作により入力が行われたか否かのの判定を行い、入力が行われていない場合はステップS2002に戻る。一方、入力が行われた場合は、ステップS2004へ進む。次に、ステップS2004において、印刷設定UI360は、OSと協働し、ステップS2002で入力された設定情報を、プリントキューに紐づく記憶領域340に保存し、一連の処理を終了する。なお、プリントキューに記憶されたセキュアプリント機能使用するか否かの設定は、後述のフローチャートにて参照される。
続けて図7~図9を用いて、印刷時起動処理について説明する。図7及び図8のフローチャートに示す各動作(ステップ)は、CPU201が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、実行することにより実現される。各制御モジュール、コンポーネント、アプリケーションによって提供される制御を説明する場合、CPU201によって実現される各部を主語として説明する。また、表示、ユーザ操作の受け付け、及びデータ送受信処理などの一部処理は、CPU201、各I/F及び、I/Fに接続された入出力デバイスが協働して実現するものとする。まず、ステップS701にて、OS210は、レジストリ353の設定を読み込む。次に、ステップS702にて、レジストリ353に印刷時起動アプリケーション305を起動することが設定されていない場合、OS210は、一連のUI起動処理をスキップし、処理をステップS603以降のデータ変換、送信処理に進める。一方、レジストリ353に印刷時起動アプリケーション305を起動するように設定されている場合には、OS201は、処理をステップS703に進める。なお、レジストリ353にバックグラウンドタスクを使用しないことが設定されている場合も、一連のUI起動処理をスキップするものとする。
次に、ステップS703にて、OS210は、印刷時起動アプリランチャ350を起動する。その後、ステップS704にて、印刷時起動アプリランチャ350は、OS210に印刷時起動アプリケーション305をバックグラウンドタスクとして起動するよう要求を出す。すると、タッチアプリ実行環境301がプリント拡張アプリ300をRAM202に展開することで、印刷時起動アプリケーション305が起動される。次に、ステップS705にて、印刷時起動アプリケーション305は、プリントチケットをコンフィグレーションモジュール331から取得し、プリントチケットの内容を解析し、解析結果からどのような機能設定やパラメータが記述されているかを抽出する。
次に、ステップS713において、印刷時起動アプリケーション305は、印刷に使用する画像形成装置に対応するプリントキュー308に紐づいた記憶領域340の情報を取得する。本実施形態では、ポップアップ表示をするか否かの設定情報を取得し、ステップS714に進む。ステップS714において、印刷時起動アプリケーション305は、ステップS713で取得した設定情報を用いて、ポップアップ表示を行うか否かを判定する。判定結果から、ポップアップを行わない、つまり「オフ」が設定されている場合、OS210は、一連のUI起動処理をスキップし、処理をステップS603以降のデータ変換、送信処理に進める。もしポップアップ表示を行う、つまり「オン」が設定されている場合はステップS706に進む。
そして、ステップS706にて、印刷時起動アプリケーション305は、プリントチケットから抽出した機能に、セキュアプリントの機能の設定があり、かつONと設定されているかどうかを判定する。ステップS706でセキュアプリントが設定されていない場合には、OS210は、一連のUI起動処理をスキップし、処理をステップS603以降のデータ変換、送信処理に進める。ステップS706でセキュアプリント設定があり、かつONと設定されているのであれば、ステップS707にて、印刷時起動アプリケーション305は、OS210に印刷時起動UI部303の表示要求を出す。要求を受け付けたOS210は、ステップS708にて、OS210内のスレッドプール355からパスワード入力用UIスレッドをプリント拡張アプリ300に割り当て、プリント拡張アプリ300の印刷時起動UI部303を生成する。
そして、印刷時起動UI部303をディスプレイ207に表示する。本実施形態では、ステップS708にて、図9(A)に示すパスワード入力画面が表示される。続けて、ステップS709にて、印刷時起動UI部303は、ユーザ操作を受け付ける。図9(A)のテキストボックス810は、パスワード入力テキストボックスであり、ユーザからのパスワードの入力を受け付ける。ボタン811は、OKボタンであり、クリックなどの操作イベントを受け付けた際に、パスワード入力テキストボックス810で入力されたパスワードを確定させ、プリントチケットに反映する。このOKボタン811は、パスワード入力テキストボックス810の入力が不正の場合や、未入力である場合には、グレーアウトやメッセージを表示することでパスワードの確定を受け付けなくてもよい。ボタン812は、キャンセルボタンであり、クリックなどの操作を受け付けることで、印刷をキャンセルする。
図8の説明に戻り、ユーザ操作による入力を受け付けると、印刷時起動UI部303は、ウィンドウを閉じ、処理をステップS711に進める。そして、ステップS711にて、印刷時起動アプリケーション305は、印刷時起動UI部303からプリントチケットとXPSファイルを取得する。続けて、ステップS712にて、印刷時起動アプリケーション305は、取得したプリントチケットとXPSファイルをフィルタパイプラインマネージャ335に送信する。
以上、本実施形態によれば、印刷時起動アプリケーション305は、プリントチケットを解析し、セキュアプリント機能の設定の有効/無効によって印刷起動UI部の表示を判定する。そのため、セキュアプリント機能の設定が有効になっている場合に、ユーザに強制的に入力を促すような画面を表示することが可能となる。また、本実施形態によれば、画像形成装置に紐づくプリントキュー毎にポップアップ表示を行うか否かを切り替えることができる。従って、ユーザや管理者の意図に沿った画面表示を行うことができるようになる。
(第2実施形態)
第1実施形態では、セキュアプリント機能の設定の有効/無効によって印刷起動UI部の表示を判定することによって、ユーザに強制的に入力を促すような画面を表示する仕組みについて説明した。本実施形態では、パスワードというパラメータの有無をも印刷起動UI部の表示の判定に利用する仕組みについて説明する。
本実施形態に係る具体的な処理について、図16及び図17を用いて説明する。尚、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。また、既に説明済みの番号は、その詳細な説明を省略する。ステップS1201~ステップS1204に示す印刷時起動アプリケーション305の起動処理までは第1実施形態の図7のステップS701~ステップS704と同様の処理であるため、その詳細な説明を省略する。そして、ステップS1205にて、印刷時起動アプリケーション305は、プリントチケットをコンフィグレーションモジュール331から取得し、プリントチケットの内容を解析し、どのような機能設定やパラメータが記述されているかを抽出する。
次に、ステップS1214において、印刷時起動アプリケーション305は、プリントキュー308に紐づいた記憶領域340の情報を取得する。本実施形態では、ポップアップ表示をするか否かの設定情報を取得し、ステップS1215に進む。ステップS1215において、印刷時起動アプリケーション305は、ステップS1214で取得した設定情報を用いて、ポップアップ表示を行うか否かを判定する。もしポップアップを行わない、つまり「オフ」が設定されている場合、OS210は、一連のUI起動処理をスキップし、処理をステップS603以降のデータ変換、送信処理に進める。もしポップアップ表示を行う、つまり「オン」が設定されている場合はステップS1206に進む。
そして、ステップS1206にて、印刷時起動アプリケーション305は、プリントチケットから抽出した機能に、セキュアプリントの機能の設定があり、かつONと設定されているかどうかを判定する。ステップS1206でセキュアプリントが設定されていない場合には、OS210は、一連のUI起動処理をスキップし、処理をステップS603以降のデータ変換、送信処理に進める。一方、ステップS1206でセキュアプリント設定があり、かつONと設定されているのであれば、ステップS1207にて、プリントチケット内のパスワードの有無を判定する。
そして、ステップS1207で印刷時起動アプリケーション305が、プリントチケット内にパスワードが無いと判定した場合は、ステップS1208にて、印刷時起動アプリケーション305は、OS210に印刷時起動UI部303の表示要求を出す。要求を受け付けたOS210は、ステップS1209にて、OS210内のスレッドプール355からパスワード入力用UIスレッドをプリント拡張アプリ300に割り当て、プリント拡張アプリ300の印刷時起動UI部303を生成する。そして、印刷時起動UI部303をディスプレイ207に表示する。本実施形態では、ステップS1209で図9(A)に示すパスワード入力画面が表示される。続けて、ステップS1210にて、印刷時起動UI部303は、ユーザ操作を受け付ける。
ここで、図9(A)のテキストボックス810は、パスワード入力テキストボックスであり、ユーザからのパスワードの入力を受け付ける。OKボタン811は、OKボタンであり、クリックなどの操作イベントを受け付けた際に、パスワード入力テキストボックス810で入力されたパスワードを確定させ、プリントチケットに反映する。このOKボタン811は、パスワード入力テキストボックス810の入力が不正の場合や、未入力である場合には、グレーアウトやメッセージを表示することでパスワードの確定を受け付けなくてもよい。ボタン812は、キャンセルボタンであり、クリックなどの操作を受け付けることで、印刷をキャンセルする。
図17の説明に戻り、ユーザ操作による入力を受け付けると、印刷時起動UI部303は、ウィンドウを閉じ、処理をステップS1212に進める。ステップS1212にて、印刷時起動アプリケーション305は、印刷時起動UI部303からプリントチケットとXPSファイルを取得する。続けて、ステップS1213にて、印刷時起動アプリケーション305は、取得したプリントチケットとXPSファイルをフィルタパイプラインマネージャ335に送信する。
以上、本実施形態によれば、印刷時起動アプリケーション305は、プリントチケットを解析し、セキュアプリント機能の設定の有効/無効だけでなく、パスワードというパラメータの有無によって印刷起動UI部の表示を判定する。そのため、セキュアプリント機能のパスワードの入力漏れの場合のみに、ユーザに画面を表示することが可能となる。
(第3実施形態)
第2実施形態では、パスワードというパラメータの有無をも印刷起動UI部の表示の判定に利用する仕組みについて説明した。本実施形態では、パスワードというパラメータの有無を、印刷起動UI部の表示における画面の種類を動的に変更するために利用する仕組みについて説明する。本実施形態に係る具体的な処理について、図18及び図19を用いて説明する。尚、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。また、既に説明済みの番号は、その詳細な説明を省略する。ステップS1301~ステップS1304に示す印刷時起動アプリケーション305の起動処理までは第1実施形態の図7のステップS701~ステップS704と同様の処理であるため、その詳細な説明を省略する。そして、ステップS1305にて、印刷時起動アプリケーション305は、プリントチケットをコンフィグレーションモジュール331から取得し、プリントチケットの内容を解析し、どのような機能設定やパラメータが記述されているかを抽出する。
次に、ステップS1316において、印刷時起動アプリケーション305は、プリントキュー308に紐づいた記憶領域340の情報を取得する。本実施形態では、ポップアップ表示をするか否かの設定情報を取得し、ステップS1317に進む。ステップS1317において、印刷時起動アプリケーション305は、ステップS1316で取得した設定情報を用いて、ポップアップ表示を行うか否かを判定する。もしポップアップを行わない、つまり「オフ」が設定されている場合、OS210は、一連のUI起動処理をスキップし、処理をステップS603以降のデータ変換、送信処理に進める。もしポップアップ表示を行う、つまり「オン」が設定されている場合はステップS1306に進む。
そして、ステップS1306にて、印刷時起動アプリケーション305は、プリントチケットから抽出した機能に、セキュアプリントの機能の設定があり、かつONと設定されているかどうかを判定する。ステップS1306でセキュアプリントが設定されていない場合には、OS210は、一連のUI起動処理をスキップし、処理をステップS603以降のデータ変換、送信処理に進める。一方、ステップS1306でセキュアプリント設定があり、かつONと設定されているのであれば、ステップS1307にて、プリントチケット内のパスワードの有無を判定する。
そして、ステップS1307で印刷時起動アプリケーション305がプリントチケット内にパスワードが無いと判定した場合、ステップS1308にて、印刷時起動アプリケーション305は、OS210に、警告用の印刷時起動UI部303の表示要求を出す。要求を受け付けたOS210は、ステップS1309にて、OS210内のスレッドプール355からパスワード入力用UIスレッドをプリント拡張アプリ300に割り当て、プリント拡張アプリ300の印刷時起動UI部303を警告用画面に生成する。そして、警告用画面に生成した印刷時起動UI部303をディスプレイ207に表示する。本実施形態では、ステップS1309で図9(B)に示す画面が表示される。
一方、ステップS1307で印刷時起動アプリケーション305がプリントチケット内にパスワードが有ると判定した場合、ステップS1314にて、印刷時起動アプリケーション305は、OS210に、確認用の印刷時起動UI部303の表示要求を出す。要求を受け付けたOS210は、ステップS1315にて、OS210内のスレッドプール355からパスワード入力用UIスレッドをプリント拡張アプリ300に割り当て、プリント拡張アプリ300の印刷時起動UI部303を確認用画面に生成する。そして、確認用画面に生成した印刷時起動UI部303をディスプレイ207に表示する。
本実施形態では、ステップS1315で図9(C)に示す画面が表示される。警告用、もしくは確認用に生成した印刷時起動UI部303を表示した後の処理は共通であるため図9(B)を用いて説明する。ステップS1310にて、印刷時起動UI部303は、ユーザ操作を受け付ける。図9(B)のテキストボックス820は、パスワード入力テキストボックスであり、ユーザからのパスワードの入力を受け付ける。OKボタン821は、OKボタンであり、クリックなどの操作イベントを受け付けた際に、パスワード入力テキストボックス820で入力されたパスワードを確定させ、プリントチケットに反映する。このOKボタン821は、パスワード入力テキストボックス820の入力が不正の場合や、未入力である場合には、グレーアウトやメッセージを表示することでパスワードの確定を受け付けなくてもよい。キャンセルボタン822は、キャンセルボタンであり、クリックなどの操作を受け付けることで、印刷をキャンセルする。
図19の説明に戻り、ユーザ操作による入力を受け付けると、印刷時起動UI部303は、ウィンドウを閉じ、処理をステップS1312に進める。ステップS1312にて、印刷時起動アプリケーション305は、印刷時起動UI部303からプリントチケットとXPSファイルを取得する。続けて、ステップS1313にて、印刷時起動アプリケーション305は、取得したプリントチケットとXPSファイルをフィルタパイプラインマネージャ335に送信する。
以上、本実施形態によれば、印刷時起動アプリケーション305は、プリントチケットを解析し、パスワードというパラメータの有無によって印刷起動UI部の表示を判定し、かつ表示する画面の種類を動的に変更する。そのため、ユーザにどのような状況が発生しているのかを知らしめることが可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。

Claims (12)

  1. プリンターのためのプリンタードライバーとは異なり、前記プリンタードライバーに含まれないアプリケーションであり、前記プリンタードライバーを記憶するコンピュータに方法を実行させるアプリケーションであって、
    前記方法は、
    印刷設定画面を表示するための第1のオブジェクトと、印刷のための第2のオブジェクトと、印刷のために使われるプリンターを示す第3のオブジェクトを含む画面の前記第1のオブジェクトのユーザによる選択を前記コンピュータが受け付けたことに基づいて前記印刷設定画面を表示手段に表示させる第1の表示工程と、
    前記画面の前記第2のオブジェクトのユーザによる選択を前記コンピュータが受け付けたことに基づいて、前記印刷設定画面を介して行われた印刷設定が、印刷時にパスワードをユーザに要求する設定を含むか判定する判定工程と、
    前記判定工程で前記印刷設定が前記設定を含むと判定したことに基づいて、前記パスワードを前記ユーザが入力できるようにするパスワード入力画面を前記表示手段に表示させる第2の表示工程とを有し
    前記判定工程で前記印刷設定が前記設定を含まないと判定したことに基づいて、前記パスワード入力画面は表示されず、前記プリンタードライバーを介して前記プリンターに前記印刷のためのデータが提供される
    ことを特徴とするアプリケーション。
  2. 前記第2のオブジェクト、印刷ボタンである
    ことを特徴とする請求項1に記載のアプリケーション。
  3. 前記印刷設定画面は、印刷のための前記パスワードの入力をユーザに要求する前記設定をユーザが行うことを可能にする画面である
    ことを特徴とする請求項2に記載のアプリケーション。
  4. 前記プリンターの操作部を介して前記ユーザから、前記パスワード入力画面で入力された前記パスワードと同じパスワードを前記プリンターが受け付けたことに基づいて前記印刷は開始される
    ことを特徴とする請求項1乃至3のいずれか1項に記載のアプリケーション。
  5. 前記設定は、さらに前記ユーザが前記プリンタの操作部で印刷のための前記パスワードを入力することを要求する設定である
    ことを特徴とする請求項1乃至のいずれか1項に記載のアプリケーション。
  6. 前記印刷設定が前記設定を含むが、前記パスワードが印刷設定に含まれないと判定された場合に、前記パスワード入力画面は表示される
    ことを特徴とする請求項4に記載のアプリケーション。
  7. プリンターのためのプリンタードライバーとは異なり、前記プリンタードライバーに含まれないアプリケーションであり、前記プリンタードライバーを記憶する情報処理装置に方法を実行させるアプリケーションがインストールされた前記情報処理装置であって、
    前記アプリケーションを実行することにより、
    印刷設定画面を表示するための第1のオブジェクトと、印刷のための第2のオブジェクトと、印刷のために使われるプリンターを示す第3のオブジェクトを含む画面の前記第1のオブジェクトのユーザによる選択を前記情報処理装置が受け付けたことに基づいて前記印刷設定画面を前記情報処理装置の表示手段に表示し、
    前記画面の前記第2のオブジェクトのユーザによる選択を前記情報処理装置が受け付けたことに基づいて、前記印刷設定画面を介して行われた印刷設定が、印刷時にパスワードをユーザに要求する設定を含むか判定し、
    前記印刷設定が前記設定を含むと判定したことに基づいて、前記パスワードを前記ユーザが入力できるようにするパスワード入力画面を前記表示手段に表示し、
    前記印刷設定が前記設定を含まないと判定したことに基づいて、前記パスワード入力画面は表示せず、前記プリンタードライバーを介して前記プリンターに前記印刷のためのデータを提供する
    ことを特徴とする情報処理装置。
  8. 前記第2のオブジェクト、印刷ボタンである
    ことを特徴とする請求項に記載の情報処理装置。
  9. 前記印刷設定画面は、印刷のための前記パスワードの入力をユーザに要求する前記設定をユーザが行うことを可能にする画面である
    ことを特徴とする請求項に記載の情報処理装置。
  10. 前記プリンターの操作部を介して前記ユーザから、前記パスワード入力画面で入力された前記パスワードと同じパスワードを前記プリンターが受け付けたことに基づいて前記印刷は開始される
    ことを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  11. 前記設定は、さらに前記ユーザが前記プリンタの操作部で印刷のための前記パスワードを入力することを要求する設定である
    ことを特徴とする請求項7乃至10のいずれか1項に記載の情報処理装置。
  12. 前記印刷設定が前記設定を含むが、前記パスワードが印刷設定に含まれないと判定した場合に、前記パスワード入力画面を表示する
    ことを特徴とする請求項10に記載の情報処理装置。
JP2018089181A 2018-05-07 2018-05-07 プログラム Active JP7102216B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2018089181A JP7102216B2 (ja) 2018-05-07 2018-05-07 プログラム
US16/382,445 US11275542B2 (en) 2018-05-07 2019-04-12 Recording medium, control method and information processing apparatus
CN201910376155.8A CN110456992B (zh) 2018-05-07 2019-05-07 记录介质、控制方法和信息处理装置
CN202410250566.3A CN118092825A (zh) 2018-05-07 2019-05-07 记录介质、方法和信息处理装置
US17/571,869 US12014097B2 (en) 2018-05-07 2022-01-10 Recording medium, control method and information processing apparatus having print setting that selectively requires a password
JP2022104363A JP7328410B2 (ja) 2018-05-07 2022-06-29 アプリケーション、方法及び記録媒体
JP2023120256A JP2023138544A (ja) 2018-05-07 2023-07-24 プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018089181A JP7102216B2 (ja) 2018-05-07 2018-05-07 プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022104363A Division JP7328410B2 (ja) 2018-05-07 2022-06-29 アプリケーション、方法及び記録媒体

Publications (3)

Publication Number Publication Date
JP2019197249A JP2019197249A (ja) 2019-11-14
JP2019197249A5 JP2019197249A5 (ja) 2021-08-26
JP7102216B2 true JP7102216B2 (ja) 2022-07-19

Family

ID=68385227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018089181A Active JP7102216B2 (ja) 2018-05-07 2018-05-07 プログラム

Country Status (3)

Country Link
US (2) US11275542B2 (ja)
JP (1) JP7102216B2 (ja)
CN (2) CN110456992B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7102216B2 (ja) * 2018-05-07 2022-07-19 キヤノン株式会社 プログラム
JP7255209B2 (ja) * 2019-01-31 2023-04-11 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP2021189799A (ja) * 2020-05-29 2021-12-13 株式会社リコー 認証システム、情報処理装置、機器および認証方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013145494A (ja) 2012-01-16 2013-07-25 Canon Inc 情報処理装置、制御方法、及びプログラム
JP2013152608A (ja) 2012-01-25 2013-08-08 Canon Inc 情報処理装置、その方法、及びプログラム
JP2015018474A (ja) 2013-07-12 2015-01-29 キヤノン株式会社 情報処理装置および制御方法およびプログラム
JP2016057878A (ja) 2014-09-10 2016-04-21 株式会社リコー プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP2016110612A (ja) 2014-12-05 2016-06-20 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2017054222A (ja) 2015-09-08 2017-03-16 富士ゼロックス株式会社 情報処理装置、プリントシステムおよびプログラム
JP2018049580A (ja) 2016-09-15 2018-03-29 株式会社リコー 情報処理装置、プログラム、及び情報処理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272713A (ja) * 2006-03-31 2007-10-18 Canon Inc 情報処理装置及び情報処理方法
JP2008217433A (ja) * 2007-03-05 2008-09-18 Canon Inc 情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP5728896B2 (ja) 2010-11-15 2015-06-03 株式会社リコー 印刷システム及びプログラム
JP5701039B2 (ja) * 2010-12-14 2015-04-15 キヤノン株式会社 印刷装置、印刷制御システム、印刷制御システムの制御方法、及びプログラム
JP5828693B2 (ja) * 2011-07-12 2015-12-09 キヤノン株式会社 印刷装置、印刷装置の制御方法、及びプログラム
JP6034555B2 (ja) * 2011-09-20 2016-11-30 キヤノン株式会社 印刷制御装置及びその制御方法
JP6000828B2 (ja) * 2012-11-29 2016-10-05 キヤノン株式会社 情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。
JP2015001829A (ja) 2013-06-14 2015-01-05 キヤノン株式会社 印刷システム、情報処理装置およびその制御方法、並びにプログラム
JP6303609B2 (ja) 2014-03-03 2018-04-04 株式会社リコー プログラム、情報処理装置、情報処理方法、及び情報処理システム
US9715359B2 (en) * 2014-12-05 2017-07-25 Canon Kabushiki Kaisha Information processing apparatus, method of controlling information processing apparatus, and storage medium
JP6183352B2 (ja) 2014-12-25 2017-08-23 コニカミノルタ株式会社 印刷システム、印刷出力装置およびプログラム
JP6552341B2 (ja) * 2015-08-28 2019-07-31 キヤノン株式会社 画像処理装置、その制御方法、およびプログラム
JP6570990B2 (ja) * 2015-12-14 2019-09-04 株式会社東芝 設定制御方法及びプログラム
JP6784538B2 (ja) * 2016-08-18 2020-11-11 キヤノン株式会社 情報処理装置、方法およびプログラム
JP7102216B2 (ja) * 2018-05-07 2022-07-19 キヤノン株式会社 プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013145494A (ja) 2012-01-16 2013-07-25 Canon Inc 情報処理装置、制御方法、及びプログラム
JP2013152608A (ja) 2012-01-25 2013-08-08 Canon Inc 情報処理装置、その方法、及びプログラム
JP2015018474A (ja) 2013-07-12 2015-01-29 キヤノン株式会社 情報処理装置および制御方法およびプログラム
JP2016057878A (ja) 2014-09-10 2016-04-21 株式会社リコー プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP2016110612A (ja) 2014-12-05 2016-06-20 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2017054222A (ja) 2015-09-08 2017-03-16 富士ゼロックス株式会社 情報処理装置、プリントシステムおよびプログラム
JP2018049580A (ja) 2016-09-15 2018-03-29 株式会社リコー 情報処理装置、プログラム、及び情報処理方法

Also Published As

Publication number Publication date
CN118092825A (zh) 2024-05-28
CN110456992A (zh) 2019-11-15
US11275542B2 (en) 2022-03-15
US20190339915A1 (en) 2019-11-07
CN110456992B (zh) 2024-03-15
US20220129220A1 (en) 2022-04-28
JP2019197249A (ja) 2019-11-14
US12014097B2 (en) 2024-06-18

Similar Documents

Publication Publication Date Title
JP7086754B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
EP2437157B1 (en) Printing system, printing method, print server, control method, and program
US9355046B2 (en) Information processing apparatus, information processing method, and computer-readable medium
US20120081731A1 (en) Printing system, printing method, print server, control method and computer-readable medium
US20120229833A1 (en) Printing system, information processing apparatus, control method, and computer-readable medium
JP2007179197A (ja) プリントシステムおよびプリントサーバおよび印刷管理サーバおよび印刷装置およびプリント方法およびプログラムおよび記録媒体
JP7439207B2 (ja) プログラム
US12014097B2 (en) Recording medium, control method and information processing apparatus having print setting that selectively requires a password
JP2014237305A (ja) 画像形成装置及び情報処理装置と印刷システム、及びその制御方法とプログラム
JP2019147384A (ja) 印刷装置とその制御方法、及びプログラム
JP2013175889A (ja) 画像形成装置及びその制御方法
JP7328410B2 (ja) アプリケーション、方法及び記録媒体
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
US11409485B2 (en) Printing system and control method that maintains a response performance when processing load increases
CN110764720A (zh) 打印设备、打印设备的控制方法和存储介质
JP7171227B2 (ja) 情報処理装置、その制御方法およびアプリケーション
US11262961B2 (en) Printing system and control method for performing user authentication
JP2006244278A (ja) データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220706

R151 Written notification of patent or utility model registration

Ref document number: 7102216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151