JP7006411B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP7006411B2
JP7006411B2 JP2018050094A JP2018050094A JP7006411B2 JP 7006411 B2 JP7006411 B2 JP 7006411B2 JP 2018050094 A JP2018050094 A JP 2018050094A JP 2018050094 A JP2018050094 A JP 2018050094A JP 7006411 B2 JP7006411 B2 JP 7006411B2
Authority
JP
Japan
Prior art keywords
address book
setting
unit
data
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018050094A
Other languages
English (en)
Other versions
JP2019160237A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2018050094A priority Critical patent/JP7006411B2/ja
Priority to US16/249,972 priority patent/US10552100B2/en
Publication of JP2019160237A publication Critical patent/JP2019160237A/ja
Application granted granted Critical
Publication of JP7006411B2 publication Critical patent/JP7006411B2/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/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/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
    • 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/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

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)
  • Facsimiles In General (AREA)

Description

本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
Windows(登録商標)2000からWindows7までのWindowsOS(Operating System)では、Version3(以降「V3」と称する)プリンタドライバと呼ばれるプリンタドライバのアーキテクチャが採用されている。また、Windows8以降のWindowsOSでは、V3プリンタドライバに加え、Version4(以降「V4」と称する)プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが採用されている。
また、Fax送信装置において、Faxジョブデータに付与されたアドレス帳情報と、Fax送信装置が持つアドレス帳情報とを比較し、アドレス帳情報の間に差異がある場合に送信先の修正を行う技術が知られている(例えば、特許文献1参照)。
Windows8以降のWindowsOSでは、従来のアプリケーション(以下、デスクトップアプリと呼ぶ)に加えて、WindowsOSにアプリケーションを提供する「Windowsストア」から入手可能なストアアプリを利用することができる。
このストアアプリから印刷に関する設定を行う場合、ストアアプリと同様に「Windowsストア」から入手可能なアプリケーションであるストアデバイスアプリを利用して、ストアアプリ用の設定画面を表示させて設定を行う。
しかし、ストアアプリ、及びストアデバイスアプリは、デスクトップアプリと比べてセキュリティが強化されており、情報処理装置内のファイルやレジストリ等へのアクセスが制限されている。そのため、従来の技術では、V4プリンタドライバにおけるストアアプリ用の設定画面から、例えば、情報処理装置のストレージデバイス等のローカルフォルダに記憶されたアドレス帳を編集することには困難を伴っていた。
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、V4プリンタドライバにおけるストアアプリ用の設定画面から、情報処理装置内のローカルフォルダに記憶されたアドレス帳を容易に編集することができるようにする。
上記課題を解決するため、本発明の一実施形態に係る情報処理装置は、プリンタドライバを実行する情報処理装置であって、デスクトップアプリケーションから前記プリンタドライバに関する設定を行う第1の設定画面を表示する第1の設定部と、ストアアプリケーションから前記プリンタドライバに関する設定を行う第2の設定画面を表示する第2の設定部と、前記第1の設定部から編集可能な第1の記憶部に記憶した第1のアドレス帳と、前記第2の設定部から編集可能な第2の記憶部に記憶した第2のアドレス帳と、前記第1のアドレス帳及び前記第2のアドレス帳を編集可能であり、前記第1のアドレス帳と前記第2のアドレス帳とをマージするアドレス帳管理部と、を有する。
本発明の一実施形態によれば、V4プリンタドライバにおけるストアアプリ用の設定画面から、情報処理装置内のローカルフォルダに記憶されたアドレス帳を容易に編集することができるようになる。
一実施形態に係る情報処理システムの一例のシステム構成を示す図である。 一実施形態に係るクライアント装置及びサーバ装置の一例のハードウェア構成を示す図である。 一実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。 クライアント装置の一例のソフトウェア構成を示す図である。 V4プリンタドライバ及びストアデバイスアプリがアクセス可能な記憶領域について説明するための図である。 第1の実施形態に係る情報処理システムのシステム構成の例を示す図である。 第1の実施形態に係るクライアント装置の機能構成の例を示す図である。 第1の実施形態に係る情報処理システムの処理の例を示すシーケンス図(1)である。 第1の実施形態に係る情報処理システムの処理の例を示すシーケンス図(2)である。 第1の実施形態に係るアドレス帳のマージについて説明するための図(1)である。 第1の実施形態に係るアドレス帳のマージについて説明するための図(2)である。 変形例について説明するための図(1)である。 変形例について説明するための図(2)である。 第2の実施形態に係るクライアント装置の機能構成の例を示す図である。 第2の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を用いて説明する。図1は、一実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
図1に示すように、本実施形態に係る情報処理システム1は、1台以上のクライアント装置10と、1台以上の画像形成装置20と、サーバ装置30とを含み、これら装置はLAN(Local Area Network)等のネットワークNを介して互いに通信可能に接続されている。
クライアント装置10は、例えばPC(パーソナルコンピュータ)、スマートフォン、タブレット端末等である。クライアント装置10は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データから印刷データを作成した上で、印刷データを画像形成装置20に送信する。又は、クライアント装置10は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データをサーバ装置30に送信する。
なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データである。また、印刷データとは、例えば、印刷対象データを、画像形成装置20が印刷可能なPDL(Page Description Language)形式に変換した電子データである。
画像形成装置20は、例えばプリンタ、印刷機能を備えたMFP(Multifunction Peripheral)等である。画像形成装置20は、クライアント装置10又はサーバ装置30から受信した印刷データを印刷する。
サーバ装置30は、例えばPC等である。サーバ装置30は、例えば、クライアント装置10から受信した印刷対象データから印刷データを作成して、作成した印刷データを画像形成装置20に送信する。
また、サーバ装置30は、ファイルサーバとして機能しても良い。すなわち、サーバ装置30は、例えば、クライアント装置10から受信した印刷データを記憶しておき、画像形成装置20からの要求に応じて、記憶した印刷データを要求元の画像形成装置20に送信しても良い。
なお、以降では、1台以上のクライアント装置10について、各々を区別するときは、「クライアント装置10-1」、「クライアント装置10-2」等と表す。同様に、1台以上の画像形成装置20について、各々を区別するときは、「画像形成装置20-1」、「画像形成装置20-2」等と表す。
<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるクライアント装置10、画像形成装置20、及びサーバ装置30のハードウェア構成について、図2及び図3を用いて説明する。
≪クライアント装置10及びサーバ装置30≫
図2は、一実施形態に係るクライアント装置10及びサーバ装置30の一例のハードウェア構成を示す図である。なお、クライアント装置10及びサーバ装置30は、同様のハードウェア構成を有しているため、以降では、クライアント装置10のハードウェア構成について説明する。
図2に示すように、本実施形態に係るクライアント装置10は、入力装置101と、表示装置102と、外部I/F103と、RAM(Random Access Memory)104とを有する。また、クライアント装置10は、ROM(Read Only Memory)105と、CPU(Central Processing Unit)106と、通信I/F107と、HDD(Hard Disk Drive)108とを有する。これらのハードウェアは、バスBで互いに接続されている。
入力装置101は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置102は、ディスプレイ等を含み、クライアント装置10による処理結果を表示する。なお、入力装置101及び表示装置102の少なくとも一方は、必要なときにクライアント装置10に接続して利用する形態であっても良い。
通信I/F107は、クライアント装置10をネットワークNに接続するインタフェースである。クライアント装置10は、通信I/F107を介して通信を行うことができる。
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。HDD108に格納されるプログラムやデータには、クライアント装置10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
なお、クライアント装置10は、HDD108に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を有して良い。また、HDD108は、格納しているプログラムやデータを所定のファイルシステムやDBにより管理している。
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103a等がある。クライアント装置10は、外部I/F103を介して記録媒体103aの読み取りや書き込みを行うことができる。記録媒体103aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
ROM105は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM105には、OS設定、ネットワーク設定等のプログラムやデータ、及びクライアント装置10の起動時に実行されるBIOS(Basic Input/Output System)が格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリである。
CPU106は、ROM105やHDD108等の記憶装置からプログラムやデータをRAM104上に読み出し、当該プログラムやデータに基づく処理を実行することで、クライアント装置10全体の制御やその他の機能を実現する演算装置である。
本実施形態に係るクライアント装置10及びサーバ装置30は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
≪画像形成装置20≫
図3は、一実施形態に係る画像形成装置20の一例のハードウェア構成を示す図である。
図3に示すように、本実施形態に係る画像形成装置20は、コントローラ201と、操作パネル202と、外部I/F203と、通信I/F204と、プロッタ205を有する。また、コントローラ201は、CPU211と、RAM221と、ROM231と、NVRAM241と、HDD251とを有する。
ROM231は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM221は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM241は、例えば設定情報等を格納している。また、HDD251は、各種プログラムやデータを格納している不揮発性の記憶装置である。
CPU211は、ROM231やNVRAM241、HDD251等からプログラムやデータ、設定情報等をRAM221上に読み出し、当該プログラムやデータに基づく処理を実行することで、画像形成装置20全体の制御やその他の機能を実現する演算装置である。
操作パネル202は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを有する。外部I/F203は、外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。画像形成装置20は、外部I/F203を介して記録媒体203aの読み取りや書き込みを行うことができる。なお、記録媒体203aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F204は、画像形成装置20をネットワークNに接続するインタフェースである。画像形成装置20は、通信I/F204を介して通信を行うことができる。プロッタ205は、印刷データを印刷する印刷装置である。
本実施形態に係る画像形成装置20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
<クライアント装置10のソフトウェア構成>
次に、本実施形態に係るクライアント装置10のソフトウェア構成について、図4を用いて説明する。図4は、クライアント装置10の一例のソフトウェア構成を示す図である。
図4に示すように、本実施形態に係るクライアント装置10は、アプリケーション301と、OS302と、プリンタドライバ303と、ストアデバイスアプリ304とを有する。
アプリケーション301は、例えば文書作成ソフト、画像閲覧・編集ソフト、ブラウザ等、ユーザの印刷指示に応じて、OS302に印刷の指示(要求)を行うことができるアプリケーションソフトである。アプリケーション301には、ストアアプリ311と、デスクトップアプリ321とが含まれる。
ストアアプリ311は、例えば、Windows(登録商標)8/WindowsRT及びそれ以降のバージョンのWindowsOSにアプリケーションを提供する「Windowsストア」から、入手可能なアプリケーションである。ストアアプリ311では、「ストアアプリ UI」が用いられる。なお、Windows8及びWindows8.1では、OS302によって提供される「Modern UI」又は「Metro UI」とも称されるUIからストアアプリ311が呼び出される。
一方、デスクトップアプリ321は、例えば、Windows7以前のバージョンのWindowsOSにおいても使用可能なアプリケーションである。
OS302は、Windows8/WindowsRT及びそれ以降のバージョンのWindowsOSである。
プリンタドライバ303は、例えば、Version4プリンタドライバ(以降では、「V4プリンタドライバ」と表す。)である。V4プリンタドライバとは、Windows8/WindowsRTから採用されたアーキテクチャに基づくプリンタドライバである。以降では、プリンタドライバ303を「V4プリンタドライバ303」とも表す。
なお、Windows8以降のWindowsOSでは、Windows2000からWindows7で使用されていたVersion3プリンタドライバ(以降では、「V3プリンタドライバ」と表す。)に加えて、V4プリンタドライバも使用可能である。
プリンタドライバ303は、拡張設定部313と、設定制御部323と、描画部333とを含む。
拡張設定部313は、プリンタ拡張とも称され、デスクトップアプリ321から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。
設定制御部323は、禁則スクリプトとも称され、例えば、印刷設定の組み合わせが正当であるか否かを検証する。拡張設定部313は、例えば、設定制御部323により正当でないと検証された印刷設定の組み合わせを非表示にすること等ができる。
また、設定制御部323は、アプリケーション301やOS302等からの要求に応じて、プリンタドライバ303が設定可能な機能の情報を示すPrintCapabilityを返信する。更に、設定制御部323は、アプリケーション301やOS302等からの要求に応じて、プリンタドライバ303に設定されている各種機能の設定値をDevmodePropertyBagから取得し、取得した設定値を示すPrintTicketを返信する。また、設定制御部323は、PrintTicketで示された設定値をDevmodePropertyBagに保存する。
なお、OS302に返信されたPrintCapabilityやPrintTicketは、例えば、拡張設定部313が表示する印刷設定画面における各機能の現在値の表示、選択肢の表示等に利用される。
描画部333は、アプリケーション301において印刷指示が行われた印刷対象データから印刷データを作成する。
ストアデバイスアプリ304は、ストアアプリ311から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。なお、ストアデバイスアプリ304は、ストアアプリ311と同様に、「Windowsストア」から入手可能なアプリケーションである。
デスクトップアプリ321から印刷を行う場合、プリンタドライバ303は、拡張設定部313により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。一方で、ストアアプリ311から印刷を行う場合、プリンタドライバ303は、ストアデバイスアプリ304により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。
拡張設定部313及びストアデバイスアプリ304は、ベンダ独自の印刷設定画面を表示するUI部305を構成する。
<V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域>
次に、V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域について、図5を用いて説明する。図5は、V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域について説明するための図である。
図5に示すように、拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、PropertyBag400と呼ばれる記憶領域にアクセスすることができる。なお、このような記憶領域へのアクセスは、OS302によって提供されるAPI(Application Programming Interface)を用いて行うことができる。
図5に示すように、PropertyBag400には、DriverPropertyBag410と、QueuePropertyBag420と、UserPropertyBag430とが含まれる。
DriverPropertyBag410は、V4プリンタドライバ303を作成するときに決定された構成情報等を記憶する記憶領域である。拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、DriverPropertyBag410から各種情報の読み出しが可能である。一方で、拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、DriverPropertyBag410に対して、情報の書き込みを行うことはできない。
QueuePropertyBag420は、論理プリンタ(プリンタアイコン)毎の設定情報等を記憶する記憶領域である。拡張設定部313及びストアデバイスアプリ304は、QueuePropertyBag420に対して、各種情報の読み出し及び書き込みが可能である。また、設定制御部323及び描画部333は、QueuePropertyBag420に対して、各種情報の読み出しが可能である。
なお、論理プリンタとは、例えば、OS302のプリンタフォルダ等にプリンタアイコンとして表示される仮想的なプリンタである。例えば、クライアント装置10の利用者は、1つの画像形成装置20に対して、設定情報(例えば、用紙サイズや向き、印刷品質等)が異なる複数の論理プリンタを作成することができる。
UserPropertyBag430は、論理プリンタ毎に、ユーザ毎の設定情報等を記憶する記憶領域である。拡張設定部313、設定制御部323、及びストアデバイスアプリ304は、UserPropertyBag430に対して、各種情報の読み出し及び書き込みが可能である。
また、拡張設定部313及び描画部333は、更に、独自記憶領域500に対して、各種情報の読み出し及び書き込みが可能である。
独自記憶領域500は、例えばレジストリやファイル等を用いて実現され、PropertyBag400とは異なる記憶領域である。独自記憶領域500は、V4プリンタドライバ303を提供するベンダ等によって定義される。
ストアデバイスアプリ304は、OS302の課す制約により、PropertyBag400以外の記憶領域に対してアクセスすることはできない。また、設定制御部323は、上述したDevmodePropertyBag及びPropertyBag400以外の記憶領域に対してアクセスすることはできない。すなわち、ストアデバイスアプリ304及び設定制御部323は、独自記憶領域500に対して、各種情報の読み出しや書き込み等を行うことができない。
このことは、ストアアプリ311に課されている制約と同様であり、例えば、ストアデバイスアプリ304及び設定制御部323が、OS302が使用するレジストリ等を変更し、OS302の動作に悪影響を与えることを防ぐためである。このような技術は、「サンドボックス」等と称されている。
[第1の実施形態]
<システム構成>
図6は、第1の実施形態に係る情報処理システムのシステム構成の例を示す図である。図6に示すように、第1の実施形態に係る情報処理システム1は、例えば、クライアント装置10、画像形成装置20、サーバ装置30、クラウドサービス601、及びスマートデバイス602等を含む。上記の各装置は、例えば、インターネットやLAN等のネットワークNを介して、互いに通信可能に接続されている。なお、クライアント装置10、画像形成装置20、及びサーバ装置30は、図1で前述したクライアント装置10、画像形成装置20、及びサーバ装置30に対応している。
本実施形態に係るクライアント装置10は、クライアント装置10で生成した印刷データ、電子ファイル等の出力データを、画像形成装置20、サーバ装置30、クラウドサービス601、及びスマートデバイス602等の送信先のデバイスに送信する機能を有する。
画像形成装置20は、クライアント装置10が出力データを送信する送信先のデバイスの一例であり、例えば、クライアント装置10から送信された印刷データや、ファクスデータ等を印刷する。
サーバ装置30は、クライアント装置10が出力データを送信する送信先のデバイスの一例である。サーバ装置30は、例えば、クライアント装置10から送信された電子ファイルや印刷データ等の出力データを蓄積し、蓄積した電子ファイルや印刷データ等を利用したサービスを提供する。
クラウドサービス601は、例えば、PC等の情報処理装置、又は複数の情報処理装置を含むシステムであり、クライアント装置10が出力データを送信する送信先のデバイスの一例である。クラウドサービス601は、例えば、クライアント装置10が出力する出力データをアップロードするインターネット上のサービスであり、情報処理システム1の外部に設けられているものであっても良い。
スマートデバイス602は、例えば、スマートフォン、タブレット端末、スマートロボット、スマートスピーカ、ウェアラブル端末等の情報端末であり、クライアント装置10が出力データを送信する送信先のデバイスの一例である。
なお、クラウドサービス601、及びスマートデバイス602は、例えば、図2に示すような、一般的なコンピュータのハードウェア構成を有しているものとする。
<機能構成>
図7は、第1の実施形態に係るクライアント装置10の機能構成の例を示す図である。
クライアント装置10は、OS302、プリンタドライバ303、ストアデバイスアプリ304、ストアアプリ311、デスクトップアプリ321、アドレス帳編集アプリ701等のプログラムを実行する情報処理装置である。なお、図7に示すOS302、プリンタドライバ303、ストアデバイスアプリ304、及びデスクトップアプリ321は、図4に示すOS302、プリンタドライバ303、ストアデバイスアプリ304、及びデスクトップアプリ321に、それぞれ対応している。
アドレス帳編集アプリ701は、プリンタドライバ303の拡張設定部313から呼出しされるプログラム(デスクトップアプリ)である。例えば、ユーザが、デスクトップアプリ321から印刷設定画面を呼び出してアドレス帳の編集操作を行うと、拡張設定部313によりアドレス帳編集アプリ701が自動的に起動される。
ユーザは、このアドレス帳編集アプリ701を用いて、ローカルフォルダ(第1の記憶部)703に記憶したアドレス帳A(第1のアドレス帳)の作成、編集、削除等を行うことができる。
通信部702は、プリンタドライバ303が、画像形成装置20、サーバ装置30、クラウドサービス601、及びスマートデバイス602等の送信先のデバイスと通信を行うモジュールであり、例えば、OS302によって提供される。また、別の一例として、通信部702は、プリンタドライバ303の描画部333(又は拡張設定部313)等に含まれる。
ローカルフォルダ703は、拡張設定部(第1の設定部)313から編集可能な記憶領域(第1の記憶部)であり、アドレス帳A630等を記憶する。ローカルフォルダ703は、図2のHDD108等のストレージデバイス上に作成されたフォルダであり、例えば、WindowsOSのc:¥tempの下等の所定のフォルダである。
UserPropertyBag(第2の記憶部)430は、前述したように、ストアデバイスアプリ(第2の設定部)から編集可能な記憶領域(レジストリ等)であり、アドレス帳B(第2のアドレス帳)等を記憶する。
(プリンタドライバの機能構成)
プリンタドライバ303は、V4プリンタドライバ、又は同様のアーキテクチャを有するプリンタドライバである。ここでは、プリンタドライバ303が、V4プリンタドライバであるものとして、以下の説明を行う。
クライアント装置10は、例えば、図2のCPU106でプリンタドライバ303を実行することにより、拡張設定部313、設定制御部323、及び描画部333等を実現している。
拡張設定部(第1の設定部)313は、前述したように、デスクトップアプリ321から印刷を行う際に、プリンタドライバ303に関する設定を行う印刷設定画面(第1の設定画面)を表示する。なお、拡張設定部313は、ローカルフォルダ703に記憶されたアドレス帳A630を読み込むことができる。
設定制御部323は、前述したように、禁則スクリプトにより、プリンタドライバ303の印刷設定情報(例えば、PrintTicket)や、設定能力情報(例えば、PrintCapabilities等)を管理する。
描画部333は、例えば、前述したように、印刷対象となるデータから、画像形成装置20で印刷可能な印刷データを生成する。本実施形態に係る描画部333は、例えば、アドレス帳管理部711、及び出力データ生成部712等を実現している。
出力データ生成部712は、例えば、画像形成装置20、サーバ装置30、クラウドサービス601、及びスマートデバイス602等の出力先のデバイスに出力する出力対象となるデータから、所定の形式の出力データを生成する。例えば、出力データ生成部712は、印刷対象となるデータから、画像形成装置20で印刷可能な印刷データを生成する。また、出力データ生成部712は、スマートデバイス602への出力対象となるデータから、スマートデバイス602で表示可能な表示データを生成する。更に、出力データ生成部712は、サーバ装置30やクラウドサービス601への出力対象となるデータから、サーバ装置30やクラウドサービス601等に蓄積する文書ファイル、画像データ、印刷データ等の出力データを生成する。
アドレス帳管理部711は、アドレス帳A630及びアドレス帳B640を編集可能であり、アドレス帳A630とアドレス帳B640とが同じデータ内容となるように、アドレス帳A630とアドレス帳B640とをマージ(又は同期、更新)する。
好ましくは、アドレス帳管理部711は、出力データ生成部712が出力データを生成するときに、アドレス帳A630とアドレス帳B640とが同じデータ内容となるように、アドレス帳A630とアドレス帳B640とをマージする。
(ストアデバイスアプリの機能構成)
ストアデバイスアプリ(第2の設定部)304は、前述したように、ストアアプリ(ストアアプリケーション)311から印刷を行う際に、プリンタドライバ303に関する設定を行う印刷設定画面(第2の設定画面)を表示するプログラムである。
クライアント装置10は、例えば、図2のCPU106でプリンタドライバ303を実行することにより、印刷設定部721、及びアドレス帳編集部722を実現している。
印刷設定部721は、ストアアプリ311から印刷を行う際に、プリンタドライバ303に関する設定を行う印刷設定画面(第2の設定画面)を、表示装置102等に表示させる。なお、印刷設定部721は、UserPropertyBag430に記憶されたアドレス帳B640を読み出すことができる。
アドレス帳編集部722は、印刷設定部721から呼び出され、ユーザの操作に応じて、UserPropertyBag430に記憶したアドレス帳B640の作成、編集、削除等を行う。
上記の構成により、ユーザは、デスクトップアプリ321からアドレス帳を編集するとき、拡張設定部313が表示させる第1の設定画面から、アドレス帳編集アプリ701を起動して、アドレス帳A630を編集して、保存することができる。
また、ユーザは、デスクトップアプリ321から印刷を実行するとき、拡張設定部313が表示させる第1の設定画面からアドレス帳A630を読み込んで宛先を指定し、印刷を実行することができる。このとき、描画部333のアドレス帳管理部711は、アドレス帳A630とアドレス帳B640とを読み出して、アドレス帳A630とアドレス帳B640とが同じデータ内容となるようにマージし、アドレス帳A630とアドレス帳B640とを更新する。
一方、ユーザは、ストアアプリ311からアドレス帳を編集するとき、ストアデバイスアプリ304が表示させる第2の設定画面から、アドレス帳B640を編集して、保存することができる。
また、ユーザは、ストアアプリ311から印刷を実行するとき、ストアデバイスアプリ304が表示させる第2の設定画面からアドレス帳B640を読み込んで宛先を指定し、印刷を実行することができる。このとき、描画部333のアドレス帳管理部711は、アドレス帳A630とアドレス帳B640とを読み出して、アドレス帳A630とアドレス帳B640とが同じデータ内容となるようにマージし、アドレス帳A630とアドレス帳B640とを更新する。
このように、ユーザが、ストアアプリ311から、UserPropertyBag430に記憶したアドレス帳B640を編集すると、その編集内容がローカルフォルダ703に記憶したアドレス帳A630に反映される。
したがって、本実施形態によれば、V4プリンタドライバにおけるストアアプリ311用の設定画面から、クライアント装置10内のローカルフォルダ703に記憶されたアドレス帳A630を容易に編集することができるようになる。
<処理の流れ>
続いて、第1の実施形態に係る情報処理方法の処理の流れについて説明する。
(情報処理システムの処理1)
図8は、第1の実施形態に係る情報処理システムの処理の例を示すシーケンス図(1)である。この処理は、ユーザが、ストアアプリ311から、アドレス帳を用いて宛先を指定し、画像形成装置20、サーバ装置30、クラウドサービス601、スマートデバイス602等の送信先のデバイス800に出力データを送信する場合の印刷処理の例を示している。
なお、本実施形態に係る印刷処理には、画像形成装置20を用いて印刷を行う処理に限られず、ユーザが印刷操作を行った出力の対象となるデータから所定の形式の出力データを生成し、送信先のデバイス800に出力する様々な処理が含まれる。
ステップS801において、ストアアプリ311から印刷操作を行うユーザが、ストアデバイスアプリ304が提供する印刷設定画面から、アドレス帳(アドレス帳B640)の編集操作(例えば、宛先の追加、送信先情報の変更等)を行う。
ここで、ユーザが、アドレス帳を新たに作成する場合、ステップS802の処理が実行される。ステップS802において、ユーザは、アドレス帳の保存先のパス(例えば、C:¥temp¥address.csv等)の指定操作を行う。
ステップS803において、ユーザは、アドレス帳(アドレス帳B640)の保存操作を行う。これにより、ステップS804において、ストアデバイスアプリ304のアドレス帳編集部722は、編集されたアドレス帳B640をUserPropertyBag430に保存(記憶)する。
ステップS805において、ユーザは、ストアデバイスアプリ304が提供する印刷設定画面から、保存したアドレス帳(アドレス帳B640)を用いて、送信先のデバイス800を指定する送信先の指定操作を行う。
ステップS806において、ユーザは、ストアアプリ311から印刷操作を行う。
ステップS807、S808において、ストアアプリ311から、OS302を介して、プリンタドライバの描画部333に、印刷を要求する印刷要求が通知される。この印刷要求には、例えば、出力(印刷)の対象となるデータ、及びストアデバイスアプリ304で設定された送信先の情報等を含む印刷設定情報(PrintTicket)が含まれる。
ステップS809において、描画部333の出力データ生成部712は、印刷要求に含まれる印刷設定情報に従って、出力の対象となるデータから所定の形式の出力データを生成する。
ステップS810において、描画部333の出力データ生成部712は、通信部702を用いて、印刷設定情報に設定された送信先のデバイス800に、生成した出力データを送信する。なお、このとき、出力データ生成部712は、生成した出力データ(ファイル)をクライアント装置10のHDD108、RAM104等の記憶部に出力するものであっても良い。
ステップS811において、描画部333のアドレス帳管理部711は、ローカルフォルダ703のアドレス帳A630の保存先を参照する。
アドレス帳Aを新たに作成する場合、ステップS812の処理が実行される。ステップS812において、描画部333のアドレス帳管理部711は、ローカルフォルダ703にアドレス帳A630を作成する。
ステップS813において、描画部333のアドレス帳管理部711は、UserPropertyBag430に記憶したアドレス帳B640と、ローカルフォルダ703に記憶したアドレス帳A630とをマージする。なお、アドレス帳のマージについては、図10、11を用いて詳述する。
(情報処理システムの処理2)
図9は、第1の実施形態に係る情報処理システムの処理の例を示すシーケンス図(2)である。この処理は、ユーザが、デスクトップアプリ321から、アドレス帳を用いて宛先を指定し、画像形成装置20、サーバ装置30、クラウドサービス601、スマートデバイス602等の送信先のデバイス800に出力データを送信する場合の印刷処理の例を示している。
ステップS901において、デスクトップアプリ(デスクトップアプリケーション)321から印刷操作を行うユーザが、拡張設定部313が提供する印刷設定画面(第1の設定画面)から、アドレス帳編集アプリ701の起動操作を行う。例えば、ユーザは、拡張設定部313が提供する印刷設定画面に表示された、「アドレス編集」ボタン等を選択する。
これにより、ステップS902において、拡張設定部313は、アドレス帳編集アプリ701を起動させる。
ステップS903において、ユーザが、アドレス帳編集アプリ701が提供するアドレス帳の編集が画面等から、アドレス帳(アドレス帳A630)の編集操作(例えば、宛先の追加、送信先情報の変更等)を行う。
ここで、ユーザが、アドレス帳を新たに作成する場合、ステップS904の処理が実行される。ステップS904において、ユーザは、アドレス帳の保存先のパス(例えば、C:¥temp¥address.csv等)の指定操作を行う。
ステップS905において、ユーザは、アドレス帳(アドレス帳A630)の保存操作を行う。これにより、ステップS906において、アドレス帳編集アプリ701は、編集されたアドレス帳A630をローカルフォルダ703に保存する。
ステップS907において、ユーザは、アドレス帳編集アプリ701の終了操作を行う。例えば、ユーザは、アドレス帳編集アプリ701が表示する編集画面に表示された「終了」ボタン等を選択する。
ステップS908において、ユーザは、拡張設定部313が表示する印刷設定画面から、保存したアドレス帳(アドレス帳A630)を用いて、送信先のデバイス800を指定する送信先の指定操作を行う。
ステップS909において、ユーザは、デスクトップアプリ321から印刷操作を行う。
ステップS910、S911において、デスクトップアプリ321から、OS302を介して、プリンタドライバの描画部333に、印刷を要求する印刷要求が通知される。この印刷要求には、例えば、出力(印刷)の対象となるデータ、及び拡張設定部313で設定された送信先の情報等を含む印刷設定情報(PrintTicket)が含まれる。
ステップS912において、描画部333の出力データ生成部712は、印刷要求に含まれる印刷設定情報に従って、出力の対象となるデータから所定の形式の出力データを生成する。
ステップS913において、描画部333の出力データ生成部712は、通信部702を用いて、印刷設定情報に設定された送信先のデバイス800に、生成した出力データを送信する。なお、このとき、出力データ生成部712は、生成した出力データ(ファイル)をクライアント装置10のHDD108、RAM104等の記憶部に出力するものであっても良い。
ステップS914において、描画部333のアドレス帳管理部711は、UserPropertyBag430に保存されたアドレス帳B640の保存先を参照する。
アドレス帳B640を新規に作成する場合、ステップS915の処理が実行される。ステップS915において、描画部333のアドレス帳管理部711は、UserPropertyBag430にアドレス帳B640を作成する。
ステップS916において、描画部333のアドレス帳管理部711は、UserPropertyBag430に記憶したアドレス帳B640と、ローカルフォルダ703に記憶したアドレス帳A630とをマージする。
(アドレス帳のマージ)
図10、11は、第1の実施形態に係るアドレス帳のマージについて説明するための図である。
プリンタドライバ303の拡張設定部313から呼び出されるアドレス帳編集アプリ701と、ストアデバイスアプリ304のアドレス帳編集部722は、同時に起動することができるため、2つのアドレス帳が同じ内容になるように管理する必要がある。
例えば、図10に示す処理の開始時点において、アドレス帳A630とアドレス帳B640とに同じデータ内容の「データA」が記憶されているものとする。
ステップS1001、S1002において、アドレス帳編集部722は、アドレス帳A630から読み出した「データA」を編集して、内容が変更された「データB」をアドレス帳A630に保存するものとする。
ステップS1003、S1004において、アドレス帳編集アプリ701は、アドレス帳B640から読み出した「データA」を編集して、内容が変更された「データC」をアドレス帳B640に保存するものとする。
この場合、アドレス帳A630のデータ内容「データB」と、アドレス帳B640のデータ内容「データC」とが、異なる内容になる恐れがある。
そこで、アドレス帳管理部711は、ステップS1005、S1006において、アドレス帳A630のデータ内容「データB」と、アドレス帳B640のデータ内容「データC」とを読み込む。
また、アドレス帳管理部711は、ステップS1007において、読み込んだ「データA」と「データB」とを用いて、アドレス帳A630とアドレス帳B640とが同じデータ内容となるように更新した、「データD」を作成する。
更に、アドレス帳管理部711は、ステップS1008、S1009において、作成した「データD」を、アドレス帳A630とアドレス帳B640とに保存する。これにより、アドレス帳A630とアドレス帳B640とが同じデータ内容となるように更新される。
上記のステップS1005~S1006の処理を、本実施形態ではマージ、又はマージ処理と呼ぶ。アドレス帳管理部711は、例えば、描画部333の出力データ生成部712が、出力データを作成したとき等に、マージ処理を実行する。
なお、図10のステップS1008、S1009に示す処理は、アドレス帳A630のデータ内容と、アドレス帳B640のデータ内容とに差異がない場合、省略しても良い。また、ステップS1007~S1009に示す処理は、アドレス帳A630、及びアドレス帳B640が編集されていない場合、省略しても良い。
ここで、図11を用いて、マージ処理の具体的な一例について説明する。
図11(a)は、アドレス帳データA~Dの一例のイメージを示している。図11(a)の例では、アドレス帳データA~Dには、「番号」、「名前」、「送信先情報」、「更新」等の情報が含まれる。
「番号」は、例えば、各レコードを管理する管理番号(レコード番号)である。「名前」は、ユーザや送信先の名前を示す情報である。「送信先情報」は、例えば、ファックス番号、メールアドレス、URL(Uniform Resource Locator)等の送信先の宛先情報である。「更新」は、各レコードが更新されている否かを示す情報である。例えば、情報が更新されたレコードは、「更新」の値に「1」が設定され、情報が更新されていないレコードは、「更新」の値に「0」が設定されるものとする。
また、アドレス帳データA~Dには、それぞれ、データが保存された時刻を示す保存時刻が含まれているものとする。
例えば、図11(a)において、データBは、アドレス帳編集部722によって、番号が「1」、「2」のレコードの「送信先情報」が更新され、保存時刻「12:02」にアドレス帳A630に保存されたデータである。
また、データCは、アドレス帳編集アプリ701によって、番号「3」、「4」の送信先情報が更新され、保存時刻「12:04」にアドレス帳B640に保存されたデータである。
この場合、アドレス帳管理部711は、アドレス帳A630に含まれるデータの保存時刻と、アドレス帳B640に含まれるデータの保存時刻とを比較し、保存時刻が最新のデータを用いて、最新のアドレス帳データである「データD」を作成する。
例えば、図11(a)の例では、番号「1」のレコードは、データBにおいて、保存時刻「12:02」に更新されており、データCにおいて、更新が行われていない。したがって、データBの送信先情報「111-111-1114」が、保存時刻が最新のデータとなり、データDの番号「1」のレコードに保存される。
また、番号「2」のレコードは、データBにおいて、保存時刻「12:02」に更新されており、データCにおいて、保存時刻「12:04」に更新されている。したがって、保存時刻がより新しいデータCの送信先情報「222-222-2226」が、保存時刻が最新のデータとなり、データDの番号「2」のレコードに保存される。
更に、番号「3」のレコードは、データBにおいて、更新が行われておらず、データCにおいて、保存時刻「12:04」に更新されている。したがって、データCの送信先情報「333-333-3337」が、保存時刻が最新のデータとなり、データDの番号「3」のレコードに保存される。
上記の処理により、アドレス帳A630のデータ内容であるデータAと、アドレス帳B640のデータ内容であるデータBとがマージされ、最新のアドレス帳のデータ内容であるデータDが作成される。
図11(b)にアドレス帳データA~Dの別の一例のイメージを示す。図11(b)の例では、アドレス帳データA~Dには、図11(a)の「更新」に代えて、「保存時刻」の情報が含まれている。
「保存時刻」は、各レコードが更新された日時を示す情報であり、更新が行われていない場合、「-」が記録されている。例えば、図11(b)において、番号「1」のレコードは、保存時刻「12:01」に更新されたことが示されている。また、番号「3」のレコードは、更新が行われていないことが示されている。
この場合も、アドレス帳管理部711は、アドレス帳A630に含まれるデータの保存時刻と、アドレス帳B640に含まれるデータの保存時刻とを比較し、保存時刻が最新のデータを用いて、最新のアドレス帳データである「データD」を作成する。
例えば、図11(b)の例では、番号「1」のレコードは、データBにおいて、保存時刻「12:01」に更新されており、データCにおいて、更新が行われていない。したがって、データBの送信先情報「111-111-1114」が、保存時刻が最新のデータとなり、データDの番号「1」のレコードに保存される。
また、番号「2」のレコードは、データBにおいて、保存時刻「12:02」に更新されており、データCにおいて、保存時刻「12:03」に更新されている。したがって、保存時刻がより新しいデータCの送信先情報「222-222-2226」が、保存時刻が最新のデータとなり、データDの番号「2」のレコードに保存される。
更に、番号「3」のレコードは、データBにおいて、更新が行われておらず、データCにおいて、保存時刻「12:04」に更新されている。したがって、データCの送信先情報「333-333-3337」が、保存時刻が最新のデータとなり、データDの番号「3」のレコードに保存される。
上記の処理においても、アドレス帳A630のデータ内容であるデータAと、アドレス帳B640のデータ内容であるデータBとがマージされ、最新のアドレス帳のデータ内容であるデータDが作成される。
なお、図11(a)、(b)に示すアドレス帳データA~Dは説明用の一例であり、アドレス帳データA~Dは任意の形式であって良い。例えば、図11(a)、(b)に示す「保存時刻」は、「保存日時」、「更新時刻」、「更新日時」等の情報であっても良い。また、「送信先情報」には、複数の送信先の情報が含まれていても良い。更に、「名前」の情報には、送信先のデバイスに対応する名前、識別情報、アカウント情報等が記憶されているものであっても良い。
[変形例]
ここでは、図11、12を用いて、アドレス帳を、ストアデバイスアプリ304から利用可能な別の場所に保存した場合の例について説明する。
(変形例1)
変形例1では、例えば、図12(a)に示すように、アドレス帳1201をローカルフォルダ703に保存する。
この場合、プリンタドライバ303の拡張設定部313は、第1の実施形態と同様に、アドレス帳1201を読込可能であり、また、アドレス帳編集アプリ701を起動して、アドレス帳1201を編集、保存することができる。
一方、ストアデバイスアプリ304は、OS302の課す制約により、実行ファイル(exeファイル)を起動することができないので、アドレス帳編集アプリ701を起動して、アドレス帳1201を編集、保存することができないという問題がある。
(変形例2)
変形例2では、例えば、図12(b)に示すように、ローカルフォルダ703に保存したアドレス帳1201を、ストアデバイスアプリ304のアドレス帳編集部722から、読込、編集、保存する。
この場合、ユーザ1202は、ローカルフォルダ703に保存したアドレス帳1201にアクセスする際に、毎回、ストアデバイスアプリ304に対して、アドレス帳1201のファイルパスを指定することになる。したがって、ユーザ1202にとって使い難いものになってしまうという問題がある。
(変形例3)
変形例3では、例えば、図13(a)に示すように、アドレス帳1311をUserPropertyBag430に保存する。
この場合、プリンタドライバ303の拡張設定部313は、第1の実施形態と同様に、アドレス帳1311を読込可能であり、また、アドレス帳編集アプリ701を起動して、アドレス帳1311を編集、保存することができる。
また、ストアデバイスアプリ304も、アドレス帳編集部722を用いて、アドレス帳1311を読込、編集、保存することができる。
しかし、UserPropertyBag430は、プリンタドライバ303に対応する記憶領域なので、プリンタドライバ303をアンインストールすると、アドレス帳1311が削除されてしまうという問題がある。
(変形例4)
変形例4では、例えば、図13(b)に示すように、アドレス帳1322を、ストアデバイスアプリ304のローカルキャッシュ1321に保存する。
この場合、ストアデバイスアプリ304は、アドレス帳編集部722を用いて、アドレス帳1322を読込、編集、保存することができる。
しかし、ストアデバイスアプリ304のローカルキャッシュ1321には、ストアデバイスアプリ304しかアクセスできないので、プリンタドライバ303の拡張設定部313は、アドレス帳1322にアクセスできないという問題がある。また、この場合、例えば、ストアデバイスアプリ304をアンインストールすると、アドレス帳1322が削除されてしまうという問題がある。
(変形例5)
変形例5として、アドレス帳を、例えば、画像形成装置20等の外部装置に記憶することも考えられる。ただし、この場合、プリンタドライバ303の拡張設定部313、及びストアデバイスアプリ304が、アドレス帳を取得するために時間を要するという問題がある。
このように、V4プリンタドライバにおいて、ユーザが、ストアアプリ311、デスクトップアプリ321の双方から、アドレス帳を読込、編集、保存することには困難を伴う場合が多い。
一方、第1の実施形態に係るクライアント装置10によれば、ユーザが、ストアアプリ311、デスクトップアプリ321の双方から、アドレス帳を読込、編集、保存することが容易になる。例えば、本実施形態によれば、変形例1~5に示した次のような問題は発生しない。
1)ユーザが、毎回アドレス帳のファイルのパスを指定しなければならない。
2)プリンタドライバ303やストアデバイスアプリ304をアンインストールしたときに、アドレス帳が削除されてしまう。
3)アドレス帳の読込に時間を要する。
例えば、本実施形態では、クライアント装置10のHDD108等のローカルフォルダ703にアドレス帳A630を保存しているので、プリンタドライバ303やストアデバイスアプリ304が削除されても、アドレス帳A630は削除されない。
また、本実施形態では、ユーザが、ストアデバイスアプリ304が表示する印刷設定画面からアドレス帳を編集する場合、UserPropertyBag430に記憶したアドレス帳B640に対して編集が行われる。したがって、ユーザは、毎回アドレス帳のファイルのパスを指定しなくても良い。なお、アドレス帳B640に対して行われた編集内容は、アドレス帳管理部711によって、例えば、自動的に、ローカルフォルダ703に記憶したアドレス帳A630に反映される。
更に、本実施形態では、アドレス帳を、例えば、画像形成装置20等の外部装置に記憶しないので、アドレス帳を取得するために時間を要するという問題も発生しない。
以上、本実施形態によれば、V4プリンタドライバにおけるストアアプリ311用の設定画面から、クライアント装置10内のローカルフォルダ(第1の記憶部)703に記憶されたアドレス帳A630を容易に編集することができるようになる。
[第2の実施形態]
図14は、第2の実施形態に係るクライアント装置の機能構成の例を示す図である。
図14において、ローカルフォルダ703に保存されたアドレス帳A630が、ユーザ毎のアドレス帳ではなく、複数のユーザが共用するアドレス帳である場合には、アドレス帳A630に対する書込の競合が発生する可能性がある。
第2の実施形態に係るクライアント装置10は、このような書込の競合を回避するために、図14に示すように、ファイル制御部1401を有している。
ファイル制御部1401は、例えば、図2のCPU106で実行される常駐アプリケーションによって実現される。また、ファイル制御部1401は、1つのクライアント装置10に対して1つ存在し、アドレス帳編集アプリ701、及びアドレス帳管理部711は、アドレス帳A630を編集、保存する際には、ファイル制御部1401を介して、編集、保存する。
また、ファイル制御部1401は、例えば、複数のユーザのアドレス帳管理部711から、アドレス帳A630を編集、保存を要求された場合、要求を受け付けた順に、順次にアドレス帳A630に対して書込を行う。
<処理の流れ>
続いて、第2の実施形態に係る情報処理方法の処理の流れについて説明する。
図5は、第2の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。この処理は、ユーザが、ストアアプリ311から、アドレス帳を用いて宛先を指定し、画像形成装置20、サーバ装置30、クラウドサービス601、スマートデバイス602等の送信先のデバイス800に出力データを送信する場合の印刷処理の例を示している。なお、基本的な処理は、図8に示す第1の実施形態に係る情報処理システムの処理1と同様なので、ここでは、第1の実施形態に係る処理との相違点を中心に説明を行う。
ステップS1501において、例えば、図8のステップS801~S804に示すような、アドレス帳B640の編集処理が行われるものとする。
ステップS1502において、ユーザは、ストアデバイスアプリ304が提供する印刷設定画面から、保存したアドレス帳(アドレス帳B640)を用いて、送信先のデバイス800を指定する送信先の指定操作を行う。
ステップS1503において、ユーザは、ストアアプリ311から印刷操作を行う。
ステップS1504、S1505において、ストアアプリ311から、OS302を介して、プリンタドライバの描画部333に、印刷を要求する印刷要求が通知される。
ステップS1506において、描画部333の出力データ生成部712は、印刷要求に含まれる印刷設定情報に従って、出力の対象となるデータから所定の形式の出力データを生成する。
また、出力データ生成部712は、印刷要求に含まれる送信先の情報に応じて、送信先のデバイス(外部装置)800に出力データを送信する場合、ステップS1507において、出力データを送信先のデバイス800に送信する。
一方、出力データ生成部712は、印刷要求に含まれる送信先の情報に応じて、クライアント装置10内にファイルを出力する場合、ステップS1508において、出力データをファイル出力する。
ステップS1509において、描画部333のアドレス帳管理部711は、ローカルフォルダ703のアドレス帳A630の保存先を、ファイル制御部1401に通知する。
ステップS1510において、ファイル制御部1401は、描画部333から通知されたアドレス帳A630の保存先を参照する。
アドレス帳A630を新規に作成する場合、ステップS1511の処理が実行される。ステップS1511において、ファイル制御部1401は、ローカルフォルダ703にアドレス帳A630を作成する。
ステップS1512において、ファイル制御部1401は、例えば、図10、11で説明したようにして、UserPropertyBag430に記憶したアドレス帳B640と、ローカルフォルダ703に記憶したアドレス帳A630とをマージする。
このように、第2の実施形態では、ファイル制御部1401が、UserPropertyBag430に記憶したアドレス帳B640と、ローカルフォルダ703に記憶したアドレス帳A630とをマージするアドレス帳管理部として機能する。
また、ファイル制御部1401は、複数の要求元から、アドレス帳A630の編集や、アドレス帳A630とアドレス帳B640とのマージを要求する要求情報を受け付けた場合、要求情報を受け付けた順に順次に処理する。したがって、本実施形態によれば、ローカルフォルダ703に記憶したアドレス帳A630への書込の競合を効果的に回避することができる。
以上、上記の各実施形態によれば、V4プリンタドライバにおけるストアアプリ用の設定画面から、情報処理装置内の記憶部に記憶されたアドレス帳を容易に編集することができるようになる。
なお、図6、14に示すクライアント装置10の機能構成は一例である。例えば、図6に示すアドレス帳管理部711は、拡張設定部313に含まれていても良い。拡張設定部313は、描画部333と同様に、ローカルフォルダ703に記憶したアドレス帳A630と、UserPropertyBag430に記憶したアドレス帳B640の双方にアクセス可能である。
この場合、拡張設定部313に含まれるアドレス帳管理部711は、例えば、ユーザ(利用者)によってアドレス帳A630、又はアドレス帳B640が開かれたときに、アドレス帳A630とアドレス帳B640とをマージするものであっても良い。
このとき、拡張設定部313は、印刷設定画面にマージ方法の選択画面を表示させて、ユーザによって選択されたマージ方法に従って、アドレス帳A630とアドレス帳B640とをマージするものであっても良い。
1 情報処理システム
10 クライアント装置(情報処理装置)
20 画像形成装置
30 サーバ装置
301 アプリケーション
302 OS
303 プリンタドライバ
304 ストアデバイスアプリ(第2の設定部)
305 UI部
311 ストアアプリ(ストアアプリケーション)
313 拡張設定部(第1の設定部)
321 デスクトップアプリ(デスクトップアプリケーション)
323 設定制御部
333 描画部
430 UserPropertyBag(第2の記憶部)
630 アドレス帳A(第1のアドレス帳)
640 アドレス帳B(第2のアドレス帳)
703 ローカルフォルダ(第1の記憶部)
711 アドレス帳管理部
712 出力データ生成部
1401 ファイル制御部(アドレス帳管理部の別の一例)
特開2017-175229号公報

Claims (10)

  1. プリンタドライバを実行する情報処理装置であって、
    デスクトップアプリケーションから前記プリンタドライバに関する設定を行う第1の設定画面を表示する第1の設定部と、
    ストアアプリケーションから前記プリンタドライバに関する設定を行う第2の設定画面を表示する第2の設定部と、
    前記第1の設定部から編集可能な第1の記憶部に記憶した第1のアドレス帳と、
    前記第2の設定部から編集可能な第2の記憶部に記憶した第2のアドレス帳と、
    前記第1のアドレス帳及び前記第2のアドレス帳を編集可能であり、前記第1のアドレス帳と前記第2のアドレス帳とをマージするアドレス帳管理部と、
    を有する、情報処理装置。
  2. 前記第1の設定画面、又は前記第2の設定画面で設定された設定情報に基づいて、出力対象となるデータから所定の形式の出力データを生成する出力データ生成部を有し、
    前記アドレス帳管理部は、前記出力データ生成部が前記出力データを生成するときに、前記第1のアドレス帳と前記第2のアドレス帳とをマージする、請求項1に記載の情報処理装置。
  3. 前記出力データ生成部は、前記第1の設定画面、又は前記第2の設定画面で設定された出力先に、前記出力データを出力する、請求項2に記載の情報処理装置。
  4. 前記アドレス帳管理部は、利用者によって前記第1のアドレス帳又は前記第2のアドレス帳が開かれたときに、前記利用者によって選択されたマージ方法に従って、前記第1のアドレス帳と前記第2のアドレス帳とをマージする、請求項1に記載の情報処理装置。
  5. 前記アドレス帳管理部は、前記第1のアドレス帳と前記第2のアドレス帳とが同じデータ内容となるように、前記第1のアドレス帳又は前記第2のアドレス帳をマージする、請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記アドレス帳管理部は、前記第1のアドレス帳に含まれるデータの保存時刻と、前記第2のアドレス帳に含まれるデータの保存時刻とを比較し、前記保存時刻が最新のデータを用いて、前記第1のアドレス帳又は前記第2のアドレス帳のデータ内容を更新する、請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 前記第2の記憶部は、前記プリンタドライバに対応するUserPropertyBagを含む、請求項1乃至5のいずれか一項に記載の情報処理装置。
  8. 前記プリンタドライバは、
    前記第1の設定部と、
    前記アドレス帳管理部と、
    前記第1の設定画面、又は前記第2の設定画面で設定された設定情報に基づいて、出力対象となるデータから所定の形式の出力データを生成する出力データ生成部と、
    として前記情報処理装置を機能させる、請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. プリンタドライバを実行する情報処理装置が、
    デスクトップアプリケーションから前記プリンタドライバに関する設定を行う第1の設定画面を表示する第1の設定部から編集可能な第1の記憶部に第1のアドレス帳を記憶するステップと、
    ストアアプリケーションから前記プリンタドライバに関する設定を行う第2の設定画面を表示する第2の設定部から編集可能な第2の記憶部に記憶した第2のアドレス帳を編集するステップと、
    前記第1のアドレス帳及び前記第2のアドレス帳を読出し、前記第1のアドレス帳と前記第2のアドレス帳とをマージするステップと、
    を実行する、情報処理方法。
  10. コンピュータに、
    デスクトップアプリケーションからプリンタドライバに関する設定を行う第1の設定画面を表示する第1の設定部から編集可能な第1の記憶部に第1のアドレス帳を記憶するステップと、
    ストアアプリケーションから前記プリンタドライバに関する設定を行う第2の設定画面を表示する第2の設定部から編集可能な第2の記憶部に記憶した第2のアドレス帳を編集するステップと、
    前記第1のアドレス帳及び前記第2のアドレス帳を読出し、前記第1のアドレス帳と前記第2のアドレス帳とをマージするステップと、
    を実行させる、プログラム。
JP2018050094A 2018-03-16 2018-03-16 情報処理装置、情報処理方法、及びプログラム Active JP7006411B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018050094A JP7006411B2 (ja) 2018-03-16 2018-03-16 情報処理装置、情報処理方法、及びプログラム
US16/249,972 US10552100B2 (en) 2018-03-16 2019-01-17 Information processing apparatus that executes a printer driver for merging address books, information processing method, and non-transitory recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018050094A JP7006411B2 (ja) 2018-03-16 2018-03-16 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019160237A JP2019160237A (ja) 2019-09-19
JP7006411B2 true JP7006411B2 (ja) 2022-01-24

Family

ID=67903622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018050094A Active JP7006411B2 (ja) 2018-03-16 2018-03-16 情報処理装置、情報処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US10552100B2 (ja)
JP (1) JP7006411B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002120417A (ja) 2000-10-17 2002-04-23 Canon Inc 周辺機器管理装置、印刷装置、周辺機器管理システム、印刷システム、周辺機器管理方法、リソース更新方法及び記憶媒体
JP2006268138A (ja) 2005-03-22 2006-10-05 Fuji Xerox Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及びピアツーピアシステム
JP2007324784A (ja) 2006-05-31 2007-12-13 Fuji Xerox Co Ltd 画像通信宛先処理プログラム、画像通信プログラム、画像通信宛先処理装置、画像通信装置および画像通信システム
JP2015011448A (ja) 2013-06-27 2015-01-19 ブラザー工業株式会社 アプリケーションプログラム
JP2015121974A (ja) 2013-12-24 2015-07-02 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7116657B1 (en) * 2000-08-22 2006-10-03 Internet Operator (Asia) Pte. Ltd. System and method for establishing long distance call connections using a desktop application
US20030236842A1 (en) * 2002-06-21 2003-12-25 Krishnamurti Natarajan E-mail address system and method for use between disparate client/server environments
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US20060085373A1 (en) * 2004-09-30 2006-04-20 Dhillion Jasjit S Method and apparatus for creating relationships over a network
US8005897B1 (en) * 2008-03-21 2011-08-23 Sprint Spectrum L.P. Contact list client system and method
JP5559130B2 (ja) * 2011-11-09 2014-07-23 東芝テック株式会社 階層型アドレス帳用データ共用システム
US20140066044A1 (en) * 2012-02-21 2014-03-06 Manoj Ramnani Crowd-sourced contact information and updating system using artificial intelligence
JP6753090B2 (ja) 2016-03-18 2020-09-09 株式会社リコー Fax送信装置、Fax送信システム、Fax送信方法及びプログラム
US10416942B2 (en) * 2016-09-29 2019-09-17 Ricoh Company, Ltd. Image processing apparatus, information processing system, information processing method, and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002120417A (ja) 2000-10-17 2002-04-23 Canon Inc 周辺機器管理装置、印刷装置、周辺機器管理システム、印刷システム、周辺機器管理方法、リソース更新方法及び記憶媒体
JP2006268138A (ja) 2005-03-22 2006-10-05 Fuji Xerox Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及びピアツーピアシステム
JP2007324784A (ja) 2006-05-31 2007-12-13 Fuji Xerox Co Ltd 画像通信宛先処理プログラム、画像通信プログラム、画像通信宛先処理装置、画像通信装置および画像通信システム
JP2015011448A (ja) 2013-06-27 2015-01-19 ブラザー工業株式会社 アプリケーションプログラム
JP2015121974A (ja) 2013-12-24 2015-07-02 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
US10552100B2 (en) 2020-02-04
JP2019160237A (ja) 2019-09-19
US20190286389A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
JP4991402B2 (ja) 情報処理装置、印刷設定方法、プログラム
US20180077305A1 (en) Information processing apparatus, information processing method, and information processing system
JP2008159033A (ja) 電子機器および情報処理システム
US10353646B2 (en) Information processing apparatus, information processing system, and information processing method
WO2014136429A1 (en) Information processing apparatus and method for the same
JP6575270B2 (ja) 印刷設定支援装置及びプログラム
US20240086119A1 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
JP7006411B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US10338857B2 (en) Information processing apparatus, information processing system, and information processing method
JP6303667B2 (ja) プログラム、情報処理装置および情報処理システム
JP4886501B2 (ja) 印刷装置、印刷制御方法、及びプログラム
US20210286564A1 (en) Non-transitory recording medium, information processing apparatus, and print control method
JP2020009055A (ja) 情報処理装置及びプログラム
JP5215802B2 (ja) 印刷装置
US10540129B2 (en) Information processing device, information processing system, and information processing method for executing script included in print information
JP7013976B2 (ja) 情報処理装置、情報処理方法、プログラム、及び画像形成システム
US10194038B2 (en) Information processing apparatus, information processing method, and information processing system
JP7279347B2 (ja) 情報処理装置
JP6852350B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2009289121A (ja) 情報処理装置、出力装置、出力処理方法、及びプログラム
JP5389219B2 (ja) 情報処理装置、印刷設定方法、及びプログラム
JP5791467B2 (ja) 管理装置、管理装置の制御方法、及びプログラム
JP7085920B2 (ja) 印刷制御プログラム、情報処理装置とその制御方法、およびプログラム
JP6627910B2 (ja) 電子機器、及び情報処理システム
JP7242203B2 (ja) 情報処理装置、アプリケーションおよび制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210118

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211130

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220