JP6834402B2 - 情報処理装置、情報処理システム、情報処理方法、及びプログラム - Google Patents

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

Info

Publication number
JP6834402B2
JP6834402B2 JP2016228015A JP2016228015A JP6834402B2 JP 6834402 B2 JP6834402 B2 JP 6834402B2 JP 2016228015 A JP2016228015 A JP 2016228015A JP 2016228015 A JP2016228015 A JP 2016228015A JP 6834402 B2 JP6834402 B2 JP 6834402B2
Authority
JP
Japan
Prior art keywords
unit
processing
information
executed
execution
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
JP2016228015A
Other languages
English (en)
Other versions
JP2018084978A (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 JP2016228015A priority Critical patent/JP6834402B2/ja
Priority to US15/815,853 priority patent/US10353646B2/en
Publication of JP2018084978A publication Critical patent/JP2018084978A/ja
Application granted granted Critical
Publication of JP6834402B2 publication Critical patent/JP6834402B2/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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32523Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices
    • H04N1/32529Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices of different type, e.g. internal and external devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
Windows(登録商標)2000からWindows7までのWindowsOS(Operating System)では、Version3(以降「V3」と称する)プリンタドライバと呼ばれるプリンタドライバのアーキテクチャが採用されている。また、Windows8以降のWindowsOSでは、V3プリンタドライバに加え、Version4(以降「V4」と称する)プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが採用されている。
また、プリンタドライバに、拡張機能をプラグインとして後から追加する技術が知られている(例えば、特許文献1参照)。
プリンタドライバに後から複数の拡張機能(プラグイン、拡張プログラム等)を追加して使用する場合、拡張機能を実行する順序を考慮しないと、印刷データに対する望ましい(拡張機能を追加することによって想定されていた)処理を行えないことがある。
例えば、印刷データ編集を行う拡張機能Aと印刷データのプレビューを行う拡張機能Bがあるものとする。このとき、拡張機能Bを実行した後に、拡張機能Aを実行してしまうと、拡張機能Bのプレビューでは拡張機能Aで印刷データが編集される前の印刷データの画像が表示されることになるため、実際の印刷物の内容が相違してしまう。
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、複数の拡張機能を追加可能なプリンタドライバにおいて、追加した拡張機能により、望ましい順序で処理が行われるようにすることを目的とする。
上記課題を解決するため、本発明の一実施形態に係る情報処理装置は、アプリケーションと、前記アプリケーションで作成された印刷対象データの印刷処理を前記画像処理装置に要求するプリンタドライバとを有する情報処理装置であって、前記プリンタドライバは、前記印刷対象データから印刷データを作成する描画部と、前記描画部からの制御に従って所定の処理を実行する複数の処理実行部と、前記処理実行部の各々が実行する処理に関する処理情報を記憶し、前記アプリケーションからのアクセスが不可能な記憶部と、前記記憶部に記憶された前記処理情報に基づいて、前記複数の処理実行部が実行する処理の前記プリンタドライバにおける実行順序を決定する決定部と、を有し、前記描画部は、前記決定部で決定された前記実行順序に従って、前記処理実行部に処理の実行を要求する。
本発明の一実施形態によれば、複数の拡張機能を追加可能なプリンタドライバにおいて、追加した拡張機能により、望ましい順序で処理が行われるようにすることができる。
一実施形態に係る情報処理システムの一例のシステム構成を示す図である。 一実施形態に係るクライアント装置及びサーバ装置の一例のハードウェア構成を示す図である。 一実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。 クライアント装置の一例のソフトウェア構成を示す図である。 V4プリンタドライバ及びストアデバイスアプリがアクセス可能な記憶領域について説明するための図である。 一実施形態に係るクライアント装置の機能構成図である。 第1の実施形態に係る描画部、及び連携プログラムの機能構成図である。 第1の実施形態に係る処理情報の例を示す図である。 第1の実施形態に係る描画部の処理の例を示すフローチャートである。 第1の実施形態に係る実行順序の決定処理の例を示すフローチャートである。 第1の実施形態に係る処理の実行順序の例を示す図である。 第1の実施形態に係る要求処理の例を示すシーケンス図である。 第2の実施形態に係る描画部、UI部及び連携プログラムの機能構成図である。 第2の実施形態に係る設定画面の例を示す図である。 第2の実施形態に係る印刷処理の例を示すシーケンス図である。 第2の実施形態に係る要求処理の例を示すフローチャートである。 第3の実施形態に係る描画部、及び連携プログラムの機能構成図である。 第3の実施形態に係る連携プログラムのインストール処理の例を示すフローチャートである。 第3の実施形態に係る処理情報の例を示す図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<システム構成>
まず、本実施形態に係る情報処理システム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の動作に悪影響を与えることを防ぐためである。このような技術は、「サンドボックス」等と称されている。
<機能構成>
(クライアント装置の機能構成)
図6は、一実施形態に係るクライアント装置の機能構成図である。
クライアント装置(情報処理装置)10は、画像形成装置(画像処理装置)20、サーバ装置30とネットワーク等を介して接続され、画像形成装置20に印刷(画像処理)の要求を行うプリンタドライバを実行する情報処理装置である。
クライアント装置10は、例えば、図2のCPU106でプログラムを実行することにより、アプリケーション301、OS302、UI部305、描画部333、ランゲージモニタ601、ポートモニタ602、処理情報記憶部603、1つ以上の連携プログラム604、及び複数の処理実行部605等を実現している。このうち、アプリケーション301、OS302、UI部305、及び描画部333は、図4に示すアプリケーション301、OS302、UI部305、及び描画部333に対応している。
ランゲージモニタ601は、例えば、図2のCPU106等で実行されるDLL(Dynamic Link Library)等によって実現され、双方向通信に対応する画像形成装置20から、例えば、印刷状態等を示す状態情報を受信する。
ポートモニタ602は、例えば、図2のCPU106等で実行されるDLL等によって実現され、プリンタポートの種類(USB、TCP/IP等)に合わせて、印刷データの出力処理を行う。
連携プログラム604は、例えば、図2のCPU106等で実行され、クライアント装置10で実行されるプリンタドライバ303と連携して、例えば、印刷データ(描画データ)の変更処理、読出処理、転送処理等の様々な拡張機能を提供するプログラムである。
連携プログラム604は、例えば、クライアント装置10にインストールされたとき等に、クライアント装置10のプログラム領域606に複数の処理実行部605を配置(コピー)する。また、連携プログラム604は、複数の処理実行部605の各々が実行する処理に関する処理情報を、処理情報記憶部603に記憶する。
処理実行部605は、例えば、図2のCPU106で実行されるDLL等によって実現されるプラグインであり、描画部333等からの制御に従って、例えば、印刷データの変更処理、読出処理、又は転送処理等の様々な拡張機能を実行する。
処理情報記憶部(記憶部)603は、例えば、図5の独自記憶領域500や、QueuePropertyBag420等によって実現され、複数の処理実行部605の各々が実行する処理に関する情報である処理情報を記憶する。独自記憶領域500の一例としては、例えば、通常のWindowsアプリケーションで使用されるレジストリHKLM(HKEY_LOCAL_MACHINE)等が用いられる。
続いて、いくつかの実施形態を例示して、クライアント装置10の具体的な機能構成と、処理の流れについて説明する。
[第1の実施形態]
図7は、第1の実施形態に係る描画部、及び連携プログラムの機能構成図である。
(描画部の機能構成)
描画部333は、例えば、図2のCPU106で実行されるプログラム(プリンタドライバ303)によって実現され、設定情報取得部711、描画データ生成部712、処理情報取得部713、決定部714、及び要求部715等を含む。
設定情報取得部711は、例えば、アプリケーション301から渡されるPrintTicketや、図5のPropertyBag400に等に含まれる印刷設定情報を取得する。
描画データ生成部712は、設定情報取得部711が取得した印刷設定情報に基づいて、印刷(画像処理)の対象となるデータを、画像形成装置20で処理可能な描画データ(印刷データ)に変換する。
処理情報取得部713は、処理情報記憶部603から、プリンタドライバ303に対応する処理情報701を取得する。なお、処理情報701の例については、図8を用いて後述する。
決定部714は、処理情報取得部713が取得した処理情報701に基づいて、複数の処理実行部605−1〜605−3が実行する処理のプリンタドライバ303における実行順序を決定する。なお、決定部714による実行順序の決定処理の例については、図10を用いて後述する。
要求部715は、決定部714で決定された処理の実行順序に従って、複数の処理実行部605−1〜605−3に処理の実行を要求する。なお、要求部715による要求処理の例については、図12を用いて後述する。
(連携プログラムの機能構成)
連携プログラム604は、例えば、図2のCPU106で実行されるプログラムによって実現され、処理情報保存部721、配置部722、及び処理部723等を含む。
配置部722は、例えば、連携プログラム604がクライアント装置10にインストールされたとき等に、様々な拡張機能を実行する複数の処理実行部605−1〜605−3を、クライアント装置のプログラム領域606に配置する。例えば、配置部722は、クライアント装置10のプログラム領域606に、複数の処理実行部605−1〜605−3をコピーして、プリンタドライバ303の描画部333からアクセスできるようにする。
なお、以下の説明の中で、複数の処理実行部605−1〜605−3のうち、任意の処理実行部605を示す場合、「処理実行部605」を用いる。また、図に示す処理実行部605の数は一例であり、処理実行部605の数は2つ以上の他の数であっても良い。
処理情報保存部721は、配置部722がプログラム領域606に配置した複数の処理実行部605−1〜605−3の各々が実行する処理に関する情報である処理情報701を、処理情報記憶部603に記憶する。
処理部723は、連携プログラム604で実行する様々な処理、例えば、連携プログラム604の設定処理、ログの収集処理、他の連携プログラムとの調整処理等を実行する。
(処理実行部の機能構成)
処理実行部605は、例えば、図2のCPU106で実行されるプログラム(DLL等)によって実現され、処理制御部731、及び処理部732等を含む。
処理部732は、例えば、印刷データ(描画データ)に変更を加える変更処理(第1の処理)、印刷データから情報を読出する読出処理(第2の処理)、及び印刷データを転送する転送処理(第3の処理)のうち、少なくとも1つの処理を実行する。
処理制御部731は、描画部333からの処理要求を受付し、受付した処理要求に従って、処理部732に処理を実行させる。
(処理実行部が実行する処理の例)
処理実行部605が実行する処理の例を表1に示す。
Figure 0006834402
表1に示すように、処理実行部605が実行する処理は、例えば、変更(Modifi)、読出(Read)、又は転送(Transfer)の3つの処理種別に分けられる。
処理種別が「変更(Modifi)」の処理(以下、変更処理と呼ぶ)は、処理内容として印刷データの変更を行う処理、例えば、カラー→モノクロ変換処理、認証処理等が含まれる。[0]
処理種別が「読出(Read)」の処理(以下、読出処理と呼ぶ)は、処理内容として印刷データの参照(情報の取得)を行う処理、例えば、ログ収集処理、課金予測処理、プレビュー処理等が含まれる。
処理種別「転送(Transfer)」の処理(以下、転送処理と呼ぶ)は、処理内容として、印刷データの転送を行う処理、例えば、共有フォルダへの保存処理、クラウドへのアップロード処理、プリンタドライバ303への返却処理等が含まれる。
(処理情報の例)
図8は、第1の実施形態に係る処理情報の例を示す図である。図8(a)は、変更処理の処理情報810の一例のイメージを示している。変更処理の処理情報810には、処理実行部605の名前を示す情報811、処理実行部605が格納されたパスを示す情報812、及び処理実行部605の処理種別を示す情報813等が含まれている。図8(a)に示すように、変更処理の処理情報810の処理種別を示す情報813には、「modify」の文字列が含まれる。
また、図8(b)は、読出処理の処理情報820の一例のイメージが示されており、読出処理の処理情報820の処理種別を示す情報には、「read」の文字列が含まれている。同様に、図8(c)は、転送処理の処理情報830の一例のイメージが示されており、転送処理の処理情報830の処理種別を示す情報には、「transfer」の文字が含まれている。
なお、上記の説明は、プリンタドライバ303がV4プリンタドライバであるものとして説明を行ったが、これらの構成は、V4プリンタドライバに限られず、V3プリンタドライバでも同様の構成とすることで、本発明の効果が得られる。プリンタドライバ303がV3プリンタドライバである場合、図7の処理情報記憶部603として、レジストリHKLMを用いることができる。
<処理の流れ>
次に、第1の実施形態に係る情報処理方法の処理の流れについて説明する。
(描画部の処理)
図9は、第1の実施形態に係る描画部の処理の例を示すフローチャートである。この処理は、プリンタドライバ303の描画部333が、アプリケーション301等から印刷を要求する描画命令を受付したときに実行する処理の例を示している。
ステップS901において、描画部333は、アプリケーション301等から描画命令を受付すると、ステップS902以降の処理を実行する。
ステップS902において、描画部333の設定情報取得部711は、印刷設定情報を取得する。例えば、設定情報取得部711は、アプリケーション301から渡される印刷の設定情報であるPrintTicket等から印刷設定情報を取得する。
ステップS903において、描画部333の描画データ生成部712は、設定情報取得部711が取得した印刷設定情報に従って、印刷の対象となるデータを、画像形成装置20で印刷可能な印刷データ(描画データ)に変換する。
ステップS904において、描画部333の処理情報取得部713は、処理情報記憶部603から、プリンタドライバ303に対応する処理情報701を取得する。
なお、ステップS904〜S906の処理は、ステップS903の処理と並行して行われるものであっても良い。
ステップS905において、描画部333は、処理情報取得部713が、処理情報701を取得できたか否か(処理情報701があるか否か)に応じて、処理を分岐させる。
処理情報取得部713が、処理情報記憶部603からプリンタドライバ303に対応する処理情報701を取得した場合、すなわち、プリンタドライバ303に対応する処理情報701がある場合、描画部333は処理をステップS906に移行させる。
一方、処理情報取得部713が、処理情報記憶部603からプリンタドライバ303に対応する処理情報701を取得できない場合、すなわち、プリンタドライバ303に対応する処理情報701がない場合、描画部333は処理をステップS909に移行させる。
ステップS906に移行すると、描画部333の決定部714は、処理情報取得部713が取得した処理情報701に基づいて、プリンタドライバ303における、複数の処理実行部605が実行する処理の実行順序を決定する。
ステップS907において、描画部333の要求部715は、決定部714で決定された実行順序に従って、複数の処理実行部605に処理の実行を要求する。これにより、印刷データに対する様々な拡張機能の実行が実現される。
ステップS908において、描画部333は、印刷を実行する印刷データ(描画データ)があるかを判断する。
例えば、ステップS907において、処理実行部605により、印刷データが描画部333に返却されない場合、例えば、処理実行部605により、印刷データがサーバ装置30に転送された場合、描画部333は、印刷を実行する印刷データがないと判断する。この場合、描画部333は、処理を終了させる。
一方、ステップS907において、処理実行部605により、印刷データが描画部333に返却された場合、描画部333は、印刷を実行する印刷データがあると判断する。この場合、描画部333は、ステップS909において、印刷データ(描画データ)を画像形成装置20に出力する。
上記の処理により、プリンタドライバ303の描画部333は、複数の処理実行部605を用いて、印刷データに様々な処理(拡張機能)を実行させることができるようになる。
(実行順序の決定処理)
決定部714は、例えば、表2に示すような実行順序、及び実行方法の情報に従って、複数の処理実行部605が実行する処理の実行順序を決定する。
Figure 0006834402
表2の例では、変更処理の実行順序は、読出し処理及び転送処理より前であることが定められている。これは、読出し処理では、変更処理を実行した後の情報を読み出しする必要があり、転送処理では、変更処理を実行した後の印刷データを転送する必要があるためである。また、変更処理の実行方法は直列に実行すること、すなわち、複数の処理を順次に実行することが定められている。これは、印刷データに全ての変更を反映させるためには、印刷データに対して順次に処理を実行する必要があるためである。
また、表2の例では、読出処理の実行順序は、転送処理より前であり、変更処理より後であることが定められている。これは、読出し処理は、変更処理を実行した後の情報を読み出しする必要があり、転送処理が行われると印刷データが削除されてしまう恐れがあるためである。また、読出し処理の実行方法は、並列又は直列に実行すること、すなわち、複数の処理を並行して処理できることが定められている。これは、読出処理では、印刷データが変更されないので、複数の情報を並行して読出しても問題がないためである。
さらに、表2の例では、転送処理の実行順序は、変更処理及び読出処理より後であることが定められている。これは、転送処理では、変更、読出が行われた印刷データを転送する必要があるためである。また、転送処理の実行方法は、並列又は直列に実行すること、すなわち、複数の処理を並行して処理できることが定められている。これは、転送処理では、印刷データの内容が変更されないので、複数の転送先に並行して印刷データを送信しても問題がないためである。
図10は、第1の実施形態に係る実行順序の決定処理の例を示すフローチャートである。この処理は、図9のステップS906において、描画部333の決定部714が、表2に示す実行順序、及び実行方法の情報に従って、複数の処理実行部605が実行する処理の実行順序を決定する処理の例を示している。
ステップS1001において、描画部333の決定部714は、処理情報取得部713が取得した処理情報701の中に、変更処理があるかを判断する。例えば、決定部714は、図8(a)に示すように、処理種別を示す情報813に「modify」の文字列を含む変更処理の処理情報810があるかを判断する。
変更処理がない場合、決定部714は、処理をステップS1003に移行させる。一方、変更処理がある場合、決定部714は、処理をステップS1002に移行させる。
ステップS1002に移行すると、決定部714は、処理情報取得部713が取得した処理情報701に含まれる変更処理を、他の処理種別(読出処理、転送処理)より前に実行するように実行順序を決定する。また、決定部714は、複数の変更処理がある場合、複数の変更処理を直列に(順次に)実行するように、複数の変更処理の実行順序を決定する。なお、複数の変更処理の実行順序は、一例として、処理情報701に記載された順序に従って決定する。
ステップS1003に移行すると、描画部333の決定部714は、処理情報取得部713が取得した処理情報701の中に、読出処理があるかを判断する。例えば、決定部714は、図8(b)に示すように、処理種別を示す情報に「read」の文字列を含む読出処理の処理情報820があるかを判断する。
読出処理がない場合、決定部714は、処理をステップS1005に移行させる。一方、読出処理がある場合、決定部714は、処理をステップS1004に移行させる。
ステップS1004に移行すると、決定部714は、処理情報取得部713が取得した処理情報701に含まれる読出処理を、変更処理の後に実行するように処理順序を決定する。また、決定部714は、複数の読出処理がある場合、複数の読出処理を並列又は直列に実行するように、複数の読出処理の実行順序を決定する。
好ましくは、決定部714は、複数の読出処理がある場合、複数の読出処理を並列に(並行して)実行するように、複数の読出処理の実行順序を決定する。
ステップS1005に移行すると、描画部333の決定部714は、処理情報取得部713が取得した処理情報701の中に、転送処理があるかを判断する。例えば、決定部714は、図8(c)に示すように、処理種別を示す情報に「transfer」の文字列を含む転送処理の処理情報830があるかを判断する。
転送処理がない場合、決定部714は、処理を終了させる。一方、転送処理がある場合、決定部714は、処理をステップS1006に移行させる。
ステップS1006に移行すると、決定部714は、処理情報取得部713が取得した処理情報701に含まれる転送処理を、他の処理種別の処理(変更処理、読出処理)の後に実行するように処理順序を決定する。また、決定部714は、複数の転送処理がある場合、複数の転送処理を並列又は直列に実行するように、複数の転送処理の実行順序を決定する。
好ましくは、決定部714は、複数の転送処理がある場合、複数の転送処理を並列に(並行して)実行するように、複数の読出処理の実行順序を決定する。
上記の処理により、複数の処理実行部605が実行する処理の実行順序が決定される。
図11は、第1の実施形態に係る処理の実行順序の例を示す図である。図11(a)は、直列に実行する処理情報1110の一例のイメージを示している。図11(a)に示されるように、直列に実行される処理情報(変更処理1112、1113)は、例えば、角括弧1111内にカンマ「,」を介して列記される。
また、図11(b)は、並列に実行する処理情報1120の一例のイメージを示している。図11(b)に示されるように、並列に実行される処理情報(読出処理1122、1124)の各々は、角括弧1121、1123で閉じられて、カンマ「,」を介して列記される。
決定部714は、例えば、このように、処理情報を直列、又は並列に列記することにより、実行順序が決定された処理情報を作成する。
なお、図10に示す処理は、決定部714による実行順序の決定処理の一例である。例えば、決定部714は、図10のような処理の順番(変更→読出→転送)で処理の実行順序を決定することを前提に、1つの処理実行部605による処理の実行順序が決定した段階で、要求部715による処理実行部605の呼び出しを行うものであっても良い。
この場合、変更処理の実行順序を決定する際には、決定部714は、前に変更処理の実行を要求した処理実行部605における変更処理が完了した後で、次に処理の実行を要求する処理実行部605を決定する。
別の一例として、決定部714は、前に変更処理の実行を要求した処理実行部605における変更処理の完了を待たずに、次に変更処理の実行を要求する処理実行部605を決定するものであっても良い。この場合、要求部715は、前に変更処理の実行を要求した処理実行部605における変更処理の完了を待ってから、次の処理実行部605に処理の実行を要求する。
また、読出処理の実行順序を決定する際には、決定部714は、前に読出処理の実行を要求した処理実行部605における読出処理の完了を待たずに、次に読出処理の実行を要求する処理実行部605を決定する。
さらに、転送処理の実行順序を決定する際には、決定部714は、読出処理の実行順序の決定の際と同様に、前に転送処理の実行を要求した処理実行部605における転送処理の完了を待たずに、次に転送処理の実行を要求する処理実行部605を決定する。
(要求処理)
図12は、第1の実施形態に係る要求処理の例を示すシーケンス図である。この処理は、図9のステップS907において、要求部715が、決定部714によって決定された実行順序に従って、複数の処理実行部605−1〜605−6に処理の実行を要求する処理の例を示している。ここでは、一例として、変更処理、読出処理、及び転送処理が2つずつある場合の要求処理の例を示す。
ステップS1201において、描画部333の決定部714は、例えば、図10に示すような実行順序の決定処理を実行する。
ステップS1202において、描画部333の要求部715は、決定部714によって決定された実行順序に従って、処理実行部605−1に変更処理1(例えば、カラー→モノクロ変換等)の実行を要求する処理要求を送信する。この処理要求には、描画データ生成部712によって生成された描画データ(以下、描画データAと呼ぶ)が含まれる。
ステップS1203において、処理実行部605−1は、処理要求に従って、描画データAに変更処理1を実行し、変更処理1が実行された描画データ(以下、描画データBと呼ぶ)を生成する。
ステップS1204において、処理実行部605−1は、変更処理1が完了したことを示す完了通知を、描画部333に返信する。この完了通知には、例えば、描画データBが含まれる。
ステップS1205において、描画部333の要求部715は、決定部714によって決定された実行順序に従って、処理実行部605−2に変更処理2(例えば、ユーザ名のマスク処理等)の実行を要求する処理要求を送信する。この処理要求には、変更処理1が実行された描画データBが含まれる。
ステップS1206において、処理実行部605−2は、処理要求に従って、描画データBに変更処理2を実行し、変更処理1、及び変更処理2が実行された描画データ(以下、描画データCと呼ぶ)を生成する。
ステップS1207において、処理実行部605−2は、変更処理2が完了したことを示す完了通知を、描画部333に返信する。この完了通知には、例えば、描画データCが含まれる。
このように、要求部715は、変更処理を実行する処理実行部605−1、605−2に順次に変更処理を要求し、変更処理1、及び変更処理2が実行された描画データCを生成する。
ステップS1208において、描画部333の要求部715は、決定部714によって決定された実行順序に従って、処理実行部605−3に読出処理1(例えば、ログ収集処理等)の実行を要求する処理要求を送信する。この処理要求には、変更処理1、及び変更処理2が実行された描画データCが含まれる。
また、ステップS1209において、描画部333の要求部715は、ステップS1208の処理と並行して、処理実行部605−4に読出処理2(例えば、課金予測処理等)の実行を要求する処理要求を送信する。この処理要求には、変更処理1、及び変更処理2が実行された描画データCが含まれる。
ステップS1210において、処理実行部605−3は、読出処理1を実行する。また、ステップS1211において、処理実行部605−4は、ステップS1210の処理と並行して、読出処理2を実行する。
このように、要求部715は、読出処理を実行する処理実行部605−3、605−4に、並行して読出し処理を要求する処理要求を送信することができる。
また、要求部715は、読出処理を実行する処理実行部605−3、605−4に処理要求を送信した後、応答を待たずに、転送処理を実行する処理実行部605−5、605−6に、処理要求を送信することができる。
ステップS1212において、描画部333の要求部715は、決定部714によって決定された実行順序に従って、処理実行部605−5に転送処理1(例えば、共有フォルダに保存した後、描画部333に返却する処理)の実行を要求する処理要求を送信する。この処理要求には、変更処理1、及び変更処理2が実行された描画データCが含まれる。
また、ステップS1213において、描画部333の要求部715は、ステップS1212の処理と並行して、処理実行部605−6に転送処理2(例えば、クラウドへのアップロード等)の実行を要求する処理要求を送信する。この処理要求には、変更処理1、及び変更処理2が実行された描画データCが含まれる。
ステップS1214において、処理実行部605−5は、転送処理1を実行する。また、ステップS1215において、処理実行部605−6は、ステップS1214の処理と並行して、転送処理2を実行する。
ステップS1215において、処理実行部605−6は、描画データCを含む完了通知を、描画部333に送信する。
ステップS1217において、描画部333は、描画データCを、ランゲージモニタ601、ポートモニタ602等を介して、画像形成装置20に出力する。
このように、描画部333の要求部715は、決定部714によって決定された実行順序に従って、複数の処理実行部605−1〜605−6に、処理の実行を要求する。
本実施形態によれば、V4プリンタドライバ、又は同様の制限を有するプリンタドライバ303において、利用者の利便性を維持しつつ、プリンタドライバ303に独自の拡張機能を容易に追加することができるようになる。
[第2の実施形態]
第2の実施形態では、複数の処理実行部605が実行する処理のうち、描画データ(印刷データ)に対して実行する処理を、利用者が選択できるようにする場合の例について説明する。
<機能構成>
図13は、第2の実施形態に係る描画部、UI部、及び連携プログラムの機能構成図である。図13示す機能構成図には、図7に示す第1の実施形態の機能構成に加えて、UI部305が含まれている。なお、図13に示す描画部333、連携プログラム604、複数の処理実行部605、及び処理情報記憶部603等の構成は、図7に示す第1の実施形態の構成と同様なので、ここでは第1の実施形態との相違点を中心に説明を行う。
UI部305は、図4に示すUI部305に対応しており、拡張機能設定部1301を有している。
拡張機能設定部1301は、複数の処理実行部605が実行する処理のうち、描画データ生成部712が生成した描画データ(印刷データ)に対して実行する処理を選択する設定画面を提供する。
拡張機能設定部1301は、例えば、論理プリンタのアイコンを右クリックしたときに表示されるコンテキストメニューに表示される操作の一覧等から呼び出され、例えば、図14に示すような設定画面を、表示装置102に表示させる。
図14は、第2の実施形態に係る設定画面の例を示す図である。
図14(a)は、拡張機能設定部1301が表示する拡張機能の設定画面1410の例を示している。拡張機能の設定画面1410には、連携プログラム604に関する設定を行うための「ソリューション連携」ボタン1411が含まれる。利用者は、「ソリューション連携」ボタン1411を選択することにより、例えば、図14(b)に示すような拡張機能の選択画面1420を表示させることができる。
図14(b)に示す拡張機能の選択画面1420には、複数の処理実行部605で実行可能な処理の一覧1421が表示され、利用者は各処理のチェックボックス1422により、処理を実行するか否かを選択することができる。図14(b)の例では、処理の名前が「データ監視」、「クラウド転送」の処理が実行され、「個人認証」の処理が実行されないように設定されている場合の例が示されている。
このように、第2の実施形態では、利用者は、図14(b)に示すような拡張機能の選択画面1420を用いて、複数の処理実行部605が実行する処理のうち、実行する処理を選択することができる。
<処理の流れ>
(印刷処理の例)
図15は、第2の実施形態に係る印刷処理の例を示すシーケンス図である。この処理は、印刷処理の全体の流れを示している。なお、図15の開始時点において、クライアント装置10には1つ以上の連携プログラム604がインストールされているものとする。
ステップS1501において、アプリケーション301は、OS302に対して印刷設定の確認を要求する。
ステップS1502において、OS302は、例えば、ValidatePrintTicket等のAPIを用いて、設定制御部(禁則スクリプト)323に、設定情報の取得を要求する。
ステップS1503において、設定制御部323は、プリンタドライバ303に設定されている各種機能の設定値を取得し、取得した設定値を示すPrintTicketを生成する。
ステップS1504において、設定制御部323は、生成したPrintTicketを含む完了通知をOS302に通知する。
ステップS1504において、OS302は、PrintTicketを含む完了通知をアプリケーション301に通知する。
上記の処理により、アプリケーション301は、プリンタドライバ303の現在の設定情報を取得することができる。また、アプリケーション301は、設定情報の設定(変更)を行う場合、ステップS1506〜S1514の処理を実行する。
ステップS1506において、アプリケーション301は、印刷設定の表示をOS302に要求する。
ステップS1507において、OS302は、設定制御部323に設定情報の取得を要求する。
ステップS1508において、設定制御部323は、PrintTicketを生成し、ステップS1509において、PrintTicketを含む完了通知を、OS302に通知する。
ステップS1510において、OS302は、UI部305に、設定画面の表示を要求する起動要求を通知する。この起動要求には、ステップS1509で取得したPrintTicketが含まれる。
ステップS1511において、UI部305は、設定情報の設定画面を表示させ、ステップS1512において、利用者による設定操作を受付する。例えば、UI部305の拡張機能設定部1301は、図14(b)に示すような拡張機能の選択画面1420に対する拡張機能の選択操作を受付する。
このタイミングで拡張機能の設定操作を受付することにより、例えば、ジョブ毎に転送するか、通常の印刷を行うかを変更するか等、1つの論理プリンタでジョブ毎に処理を変更することが可能となる。
ステップS1513において、UI部305は、設定情報の変更が反映されたPrintTicketを含む完了通知を、OS302に通知する。
ステップS1514において、OS302は、設定情報の変更が反映されたPrintTicketを含む完了通知を、アプリケーション301に通知する。
上記の処理により、アプリケーション301は、複数の処理実行部605が実行する処理のうち、実行する処理の情報を含む設定情報を取得することができる。
ステップ1515において、アプリケーション301は、ステップS1514で取得したPrintTicketを用いて、OS302に印刷の実行を要求する。
ステップS1516において、OS302は、アプリケーション301から通知されたPrintTicketを含む描画命令を、プリンタドライバ303の描画部333に通知する。
ステップS1517において、プリンタドライバ303の描画部333は、例えば、図9に示すような描画部の処理を実行する。
なお、第2の実施形態では、図9のステップS907において、描画部333の要求部715は、決定部714によって決定された実行順序と、設定情報取得部711が取得した設定情報とに基づいて、複数の処理実行部605に処理の実行を要求する。
図16は、第2の実施形態に係る要求処理の例を示すフローチャートである。
ステップS1601において、描画部333の要求部715は、決定部714が実行順序を決定した処理情報の中に変更処理があるかを判断する。
変更処理がない場合、要求部715は、処理をステップS1605に移行させる。一方、変更処理がある場合、要求部715は、処理をステップS1602に移行させる。
ステップS1602に移行すると、要求部715は、決定部714が実行順序を決定した処理情報に含まれる変更処理の各々に対して、順次にステップS1603、S1604の処理を実行する。
ステップS1603において、要求部715は、設定情報取得部711が取得した設定情報を用いて、処理の対象となる変更処理の連携が選択されているかを判断する。
当該変更処理の連携が選択されている場合、要求部715は、ステップS1604において、当該変更処理の実行を処理実行部605に要求する。一方、当該変更処理の連携が選択されていない場合、要求部715は、当該変更処理の実行を処理実行部605に要求しない。この処理により、要求部715は、決定部714が実行順序を決定した変更処理のうち、例えば、図14(b)に示す拡張機能の選択画面1420で、「連携する」のチェックボックス1422が選択された変更処理のみを、実行させることができるようになる。
ステップS1605に移行すると、要求部715は、決定部714が実行順序を決定した処理情報の中に読出処理があるかを判断する。
読出処理がない場合、要求部715は、処理をステップS1609に移行させる。一方、読出処理がある場合、要求部715は、処理をステップS1606に移行させる。
ステップS1606に移行すると、要求部715は、決定部714が実行順序を決定した処理情報に含まれる読出処理の各々に対して、ステップS1607、S1608の処理を実行する。
ステップS1606において、要求部715は、設定情報取得部711が取得した設定情報を用いて、処理の対象となる読出処理の連携が選択されているかを判断する。
当該読出処理の連携が選択されている場合、要求部715は、ステップS1608において、当該読出処理の実行を処理実行部605に要求する。一方、当該読出処理の連携が選択されていない場合、要求部715は、当該読出処理の実行を処理実行部605に要求しない。この処理により、要求部715は、決定部714が実行順序を決定した読出処理のうち、例えば、図14(b)に示す拡張機能の選択画面1420で、「連携する」のチェックボックス1422が選択された読出処理のみを、実行させることができるようになる。
ステップS1609に移行すると、要求部715は、決定部714が実行順序を決定した処理情報の中に転送処理があるかを判断する。
転送処理がない場合、要求部715は、処理を終了させる。一方、転送処理がある場合、要求部715は、処理をステップS1610に移行させる。
ステップS1610に移行すると、要求部715は、決定部714が実行順序を決定した処理情報に含まれる転送処理の各々に対して、ステップS1611、S1612の処理を実行する。
ステップS1611において、要求部715は、設定情報取得部711が取得した設定情報を用いて、処理の対象となる転送処理の連携が選択されているかを判断する。
当該転送処理の連携が選択されている場合、要求部715は、ステップS1612において、当該転送処理の実行を処理実行部605に要求する。一方、当該転送処理の連携が選択されていない場合、要求部715は、当該転送処理の実行を処理実行部605に要求しない。この処理により、要求部715は、決定部714が実行順序を決定した転送処理のうち、例えば、図14(b)に示す拡張機能の選択画面1420で、「連携する」のチェックボックス1422が選択された転送処理のみを、実行させることができるようになる。
ここで、図15に戻り、印刷処理のシーケンスの説明を続ける。
ステップS1517の描画部の処理において、描画部333から描画データが出力されると、描画部333は、画像形成装置20に印刷を指示する描画命令を送信する。
ステップS1519において、画像形成装置20は、描画データの印刷を実行する。
ステップS1520〜S1522において、印刷の完了を示す完了通知が、描画部333、OS302、アプリケーション301等に通知される。
以上、本実施形態に係るクライアント装置10によれば、利用者は、複数の処理実行部605が実行する処理のうち、利用したい機能を選択的に実行させることができるようになる。
V3プリンタドライバでは、例えば、描画データをクラウドにアップロードするような拡張機能は、ポートモニタ602等で実現されていた。しかし、印刷時に複数のポートモニタ602を選択することはできないので、従来の技術では、複数の拡張機能を組み合わせて、実行することは困難である。
一方、本実施形態によれば、複数の拡張機能の中から、任意の拡張機能を組み合わせて実行することができるようになる。
[第3の実施形態]
第1、2の実施形態では、複数の処理実行部605が実行する処理の実行順序を決定する決定部714が、プリンタドライバ303の描画部333に含まれる場合の例について説明を行った。
第3の実施形態では、複数の処理実行部605が実行する処理の実行順序を決定する決定部714が、連携プログラム604に含まれる場合の例について説明する。
<機能構成>
図17は、第3の実施形態に係る描画部、及び連携プログラムの機能構成図である。図17に示す描画部333は、図7に示す第1の実施形態に係る描画部333に含まれる機能構成のうち、決定部714を有していない。また、図17に示す連携プログラム604は、図7に示す第1の実施形態に係る連携プログラム604の機能構成に加えて、決定部714を有している。
上記の構成により、連携プログラム604の決定部714は、例えば、クライアント装置10にインストールされたとき等に、複数の処理実行部605で実行する処理の実行順序を決定する。また、連携プログラム604の処理情報保存部721は、決定部714によって処理の実行順序が決定された処理情報701を、処理情報記憶部603に記憶する。
<処理の流れ>
図18は、第3の実施形態に係る連携プログラムのインストール処理の例を示すフローチャートである。
ステップS1801において、クライアント装置10に連携プログラム604をインストールすると、連携プログラム604は、ステップS1802以降の処理を実行する。
ステップS1802において、連携プログラム604の配置部722は、複数の処理実行部605をプログラム領域606に配置する。例えば、配置部722は、複数の処理実行部605を、所定のフォルダ(例えば、C:\ProgramFiles等)に保存する。
ステップS1803において、連携プログラム604は、処理情報記憶部603に既に処理情報701が記憶されているか否かに応じて、処理を分岐させる。
処理情報記憶部603に処理情報701が記憶されていない場合、連携プログラム604の処理情報保存部721は、処理情報701を処理情報記憶部603に保存する。なお、本実施形態に係る処理情報701は、複数の処理実行部605が実行する処理の実行順序が予め定められているものとする。
一方、処理情報記憶部603に処理情報701が記憶されている場合、連携プログラム604は、処理をステップS1805に移行させる。
ステップS1805に移行すると、連携プログラム604の決定部714は、処理情報記憶部603に記憶されている処理情報701を読出する。
ステップS1806において、決定部714は、連携プログラム604の処理情報に、処理情報記憶部603から読出した処理情報701を加えて、例えば、図10に示すような実行順序の決定処理を実行する。
ステップS1807において、処理情報保存部721は、ステップS1806で実行順序が決定された処理情報701を、処理情報記憶部603に保存する。
上記の処理により、連携プログラム604は、クライアント装置10にインストールされたとき等に、複数の処理実行部605が実行する処理の実行順序を決定し、実行順序が決定された処理情報701を処理情報記憶部603に保存することができるようになる。
(処理情報の例)
図19は、第3の実施形態に係る処理情報の例を示す図である。図19の例では、処理情報701には、変更処理1901、読出処理1902、及び転送処理1903が、カンマ「,」を介して列記されており、3つの処理が直列に(順次に)実行されるように記述されている。このように、第3の実施形態に係る処理情報701では、複数の処理実行部605が実行する処理の実行順序が予め定められている。
なお、図19に示す処理情報701は一例であり、各処理は、並列に実行されるように実行順序が定められていても良いし、直列に実行される処理と並列に実行される処理とが混在しているものであっても良い。
好適な一例として、処理情報701には、処理が実行される条件を示す情報1904が含まれていても良い。図19の例では、変更処理1901は、処理が実行される条件を示す情報1904を含み、処理が実行される条件として「color==color」の文字列が含まれている。この「color==color」の文字列は、印刷の設定が「カラー印刷」の場合にのみ、処理を実行することを示している。
つまり、図19に示す処理情報701に含まれる変更処理1901、読出処理1902、及び転送処理1903のうち、変更処理1901と読出処理1902とは、印刷の設定が「カラー印刷」であるときに実行される。これにより、例えば、カラー印刷のときのみ、認証処理(変更処理1901の一例)と、ログ取得処理(読出処理1902の一例)を実行させることができるようになる。
このように、本実施形態によれば、処理情報記憶部603に記憶された処理情報701に、処理の実行順序や、実行条件等が予め設定されているので、プリンタドライバ303の負荷を低減させることができる。
以上、本発明の各実施形態によれば、V4プリンタドライバ、又は同様の制限を有するプリンタドライバにおいて、利用者の利便性を維持しつつ、プリンタドライバに独自の拡張機能を容易に追加することができるようになる。
1 情報処理システム
10 クライアント装置(情報処理装置)
20 画像形成装置(画像処理装置)
30 サーバ装置
301 アプリケーション
302 OS
303 プリンタドライバ
304 ストアデバイスアプリ
305 UI部
311 ストアアプリ
313 拡張設定部
321 デスクトップアプリ
323 設定制御部
333 描画部
400 PropertyBag
420 QueuePropertyBag
603 処理情報記憶部(記憶部)
604 連携プログラム
605 処理実行部
701 処理情報
712 描画データ生成部
714 決定部
715 要求部
721 処理情報保存部
722 配置部
特開2010−218309号公報

Claims (15)

  1. アプリケーションと、前記アプリケーションで作成された印刷対象データの印刷処理を前記画像処理装置に要求するプリンタドライバとを有する情報処理装置であって、
    前記プリンタドライバは、
    前記印刷対象データから印刷データを作成する描画部と、
    前記描画部からの制御に従って所定の処理を実行する複数の処理実行部と、
    前記処理実行部の各々が実行する処理に関する処理情報を記憶し、前記アプリケーションからのアクセスが不可能な記憶部と、
    前記記憶部に記憶された前記処理情報に基づいて、前記複数の処理実行部が実行する処理の前記プリンタドライバにおける実行順序を決定する決定部と、
    を有し、
    前記描画部は、
    前記決定部で決定された前記実行順序に従って、前記処理実行部に処理の実行を要求する情報処理装置。
  2. 前記描画部は、
    前記印刷対象データを前記画像処理装置で処理可能な描画データに変換する請求項1に記載の情報処理装置。
  3. 前記複数の処理実行部が実行する処理は、
    前記描画データに変更を加える第1の処理、前記描画データから情報を読出する第2の処理、及び前記描画データを転送先に転送する第3の処理のうち、少なくとも1つの処理を含む請求項2に記載の情報処理装置。
  4. 前記決定部は、
    前記複数の処理実行部が実行する処理が、前記第1の処理及び前記第2の処理を含む場合、前記第1の処理が前記第2の処理より前に実行されるように前記実行順序を決定する請求項3に記載の情報処理装置。
  5. 前記決定部は、
    前記複数の処理実行部が実行する処理が、前記第2の処理及び前記第3の処理を含む場合、前記第2の処理が前記第3の処理より前に実行されるように前記実行順序を決定する請求項3又は4に記載の情報処理装置。
  6. 前記決定部は、
    前記複数の処理実行部が実行する処理が、前記第1の処理及び前記第3の処理を含む場合、前記第1の処理が前記第3の処理より前に実行されるように前記実行順序を決定する請求項3乃至5のいずれか一項に記載の情報処理装置。
  7. 前記決定部は、
    前記複数の処理実行部が実行する処理が、複数の前記第1の処理を含む場合、前記複数の前記第1の処理が順次に実行されるように前記実行順序を決定する請求項3乃至6のいずれか一項に記載の情報処理装置。
  8. 前記決定部は、
    前記複数の処理実行部が実行する処理が、複数の前記第2の処理を含む場合、前記複数の前記第2の処理が並行又は順次に実行されるように前記実行順序を決定する請求項3乃至7のいずれか一項に記載の情報処理装置。
  9. 前記決定部は、
    前記複数の処理実行部が実行する処理が、複数の前記第3の処理を含む場合、前記複数の前記第3の処理が並行又は順次に実行されるように前記実行順序を決定する請求項3乃至8のいずれか一項に記載の情報処理装置。
  10. 前記プリンタドライバは、
    前記複数の処理実行部が実行する処理のうち、前記描画データに対して実行する処理を選択する設定画面を表示するUI部を有する請求項3乃至9のいずれか一項に記載の情報処理装置。
  11. 前記描画部は、
    前記複数の処理実行部が実行する処理のうち、前記設定画面で選択された処理の実行を前記複数の処理実行部に要求する請求項10に記載の情報処理装置。
  12. 前記情報処理装置は、前記プリンタドライバと連携する連携プログラムを実行し、
    前記連携プログラムは、
    前記複数の処理実行部を、前記プリンタドライバからアクセス可能な記憶領域に配置する配置部と、
    前記プリンタドライバが、前記複数の処理実行部に処理を実行するために用いる前記処理情報を前記記憶部に保存する処理情報保存部と、
    を有する請求項1乃至11のいずれか一項に記載の情報処理装置。
  13. 画像処理装置と、アプリケーションと前記アプリケーションで作成された印刷対象データの印刷処理を前記画像処理装置に要求するプリンタドライバする情報処理装置とを含む情報処理システムであって、
    前記プリンタドライバは、
    前記印刷対象データから印刷データを作成する描画部と、
    前記描画部からの制御に従って所定の処理を実行する複数の処理実行部と、
    前記処理実行部の各々が実行する処理に関する処理情報を記憶し、前記アプリケーションからのアクセスが不可能な記憶部と、
    前記記憶部に記憶された前記処理情報に基づいて、前記複数の処理実行部が実行する処理の前記プリンタドライバにおける実行順序を決定する決定部と、
    を有し、
    前記描画部は、
    前記決定部で決定された前記実行順序に従って、前記処理実行部に処理の実行を要求する情報処理システム。
  14. アプリケーションと、前記アプリケーションで作成された印刷対象データの印刷処理を前記画像処理装置に要求するプリンタドライバとを有する情報処理装置における情報処理方法であって、
    前記情報処理装置が、
    前記印刷対象データから印刷データを作成する要求部からの制御に従って所定の処理を実行する複数の処理実行部を記憶するステップと、
    前記処理実行部の各々が実行する処理に関する処理情報を前記アプリケーションからのアクセスが不可能な記憶部に記憶するステップと、
    前記記憶された前記処理情報に基づいて、前記複数の処理実行部が実行する処理の前記プリンタドライバにおける実行順序を決定するステップと、
    前記描画部により、前記決定された前記実行順序に従って前記処理実行部に処理の実行を要求するステップと、
    を含む情報処理方法。
  15. アプリケーションと、前記アプリケーションで作成された印刷対象データの印刷処理を画像処理装置に要求する情報処理装置を、
    前記印刷対象データから印刷データを作成する描画部からの要求に応じて所定の処理を実行する複数の処理実行部と、
    前記処理実行部の各々が実行する処理に関する処理情報を記憶し、前記アプリケーションからのアクセスが不可能な記憶部と、
    前記記憶部に記憶された前記処理情報に基づいて、前記複数の処理実行部が実行する処理の前記プリンタドライバにおける実行順序を決定する決定部と、
    前記決定部で決定された前記実行順序に従って、前記処理実行部に処理の実行を要求する要求部と、
    として機能させるためのプログラム。
JP2016228015A 2016-11-24 2016-11-24 情報処理装置、情報処理システム、情報処理方法、及びプログラム Active JP6834402B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016228015A JP6834402B2 (ja) 2016-11-24 2016-11-24 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US15/815,853 US10353646B2 (en) 2016-11-24 2017-11-17 Information processing apparatus, information processing system, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016228015A JP6834402B2 (ja) 2016-11-24 2016-11-24 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018084978A JP2018084978A (ja) 2018-05-31
JP6834402B2 true JP6834402B2 (ja) 2021-02-24

Family

ID=62146973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016228015A Active JP6834402B2 (ja) 2016-11-24 2016-11-24 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US10353646B2 (ja)
JP (1) JP6834402B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018147124A (ja) * 2017-03-02 2018-09-20 キヤノン株式会社 システムおよび制御方法
JP7225738B2 (ja) 2018-11-30 2023-02-21 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP7479121B2 (ja) * 2019-02-01 2024-05-08 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP7298241B2 (ja) * 2019-03-28 2023-06-27 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4419519B2 (ja) * 2003-10-31 2010-02-24 セイコーエプソン株式会社 プリンタドライバプログラム
JP4501593B2 (ja) * 2004-08-25 2010-07-14 セイコーエプソン株式会社 画像処理を並列処理で実行する際の負荷の割り付け
JP4434886B2 (ja) * 2004-08-31 2010-03-17 キヤノン株式会社 印刷処理を管理するサーバ及びその制御方法並びにコンピュータプログラム
JP2008020994A (ja) * 2006-07-11 2008-01-31 Kyocera Mita Corp プリンタドライバソフトウェア及びコンピュータ
JP4903092B2 (ja) * 2007-07-05 2012-03-21 株式会社リコー 画像処理装置、画像処理制御方法、及び画像処理制御プログラム
JP4396749B2 (ja) * 2007-08-24 2010-01-13 ブラザー工業株式会社 印刷制御装置およびプリンタドライバのプログラム
JP2009205320A (ja) * 2008-02-27 2009-09-10 Seiko Epson Corp 印刷システム
JP2009278470A (ja) * 2008-05-15 2009-11-26 Ricoh Co Ltd 画像処理装置及び画像処理方法
JP5317641B2 (ja) * 2008-11-17 2013-10-16 キヤノン株式会社 画像処理方法及び画像処理装置ならびに該画像処理方法を実行するためのプログラム
US8832173B2 (en) * 2009-01-20 2014-09-09 Sap Ag System and method of multithreaded processing across multiple servers
JP5343643B2 (ja) 2009-03-17 2013-11-13 株式会社リコー プリンタドライバ、記憶媒体、及び情報処理装置
JP5267337B2 (ja) 2009-06-01 2013-08-21 株式会社リコー プログラム、記憶媒体、情報処理装置、プリンタ装置およびシステム
JP5446625B2 (ja) * 2009-09-07 2014-03-19 株式会社リコー プリンタドライバ、情報処理装置、およびプリンタドライバを記録したコンピュータ読み取り可能な記録媒体
JP5532770B2 (ja) 2009-09-08 2014-06-25 株式会社リコー 印刷制御プログラム、情報処理装置、および印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5438481B2 (ja) * 2009-12-02 2014-03-12 キヤノン株式会社 画像形成装置およびその制御方法
JP5793830B2 (ja) 2010-05-18 2015-10-14 株式会社リコー 情報処理装置、印刷制御プログラム、および記憶媒体
US8887163B2 (en) * 2010-06-25 2014-11-11 Ebay Inc. Task scheduling based on dependencies and resources
JP2012118824A (ja) 2010-12-01 2012-06-21 Ricoh Co Ltd 印刷プログラム、情報処理装置および記録媒体
JP2012198674A (ja) * 2011-03-18 2012-10-18 Ricoh Co Ltd プリンタドライバ、情報処理装置、及び記録媒体
JP2012226582A (ja) 2011-04-20 2012-11-15 Ricoh Co Ltd プリンタドライバ、プログラムおよび記録媒体
JP5803290B2 (ja) * 2011-06-01 2015-11-04 株式会社リコー データ処理装置およびプログラム
JP5821399B2 (ja) 2011-08-17 2015-11-24 株式会社リコー 印刷制御プログラム、情報処理装置及び記録媒体
AU2011213795A1 (en) * 2011-08-19 2013-03-07 Canon Kabushiki Kaisha Efficient cache reuse through application determined scheduling
JP5857611B2 (ja) 2011-10-13 2016-02-10 株式会社リコー 情報処理装置、システム、プログラム
JP2013140423A (ja) * 2011-12-28 2013-07-18 Ricoh Co Ltd 情報処理装置及び印刷処理プログラム
JP5919930B2 (ja) 2012-03-21 2016-05-18 株式会社リコー プログラム、情報処理装置、記憶媒体
JP6115340B2 (ja) 2012-08-29 2017-04-19 株式会社リコー 情報処理装置、プリントシステムおよびプログラム
JP6102264B2 (ja) * 2013-01-08 2017-03-29 株式会社リコー 処理実行システム、情報処理装置、プログラム
JP6331910B2 (ja) 2013-09-17 2018-05-30 株式会社リコー 情報処理装置、情報処理システム、及びプログラム
AU2013273660A1 (en) * 2013-12-18 2015-07-02 Canon Kabushiki Kaisha Method, apparatus and system for generating an intermediate region-based representation of a document
JP6303571B2 (ja) * 2014-02-17 2018-04-04 株式会社リコー データ処理装置、データ処理システム、データ処理方法、及びプログラム
JP6447215B2 (ja) 2014-03-10 2019-01-09 株式会社リコー 情報配信システム、情報処理装置、情報配信方法及びプログラム
JP6343226B2 (ja) * 2014-11-04 2018-06-13 キヤノン株式会社 情報処理装置およびその制御方法、プログラム、並びにシステム
JP6531581B2 (ja) 2015-09-10 2019-06-19 株式会社リコー 情報配信システム、情報処理装置、情報配信方法及びプログラム

Also Published As

Publication number Publication date
US20180143793A1 (en) 2018-05-24
JP2018084978A (ja) 2018-05-31
US10353646B2 (en) 2019-07-16

Similar Documents

Publication Publication Date Title
JP4630751B2 (ja) 印刷システム、印刷装置及びその制御方法、プログラム
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
EP2629192B1 (en) Information processing apparatus, information processing method, and program
JP6834402B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6714839B2 (ja) 印刷システム、印刷管理サーバ、通信中継装置およびプログラム
JP2013033422A (ja) 情報処理システム、情報処理装置、ボタン処理方法およびプログラム
JP5786464B2 (ja) ウェブサーバ、印刷装置、印刷システム、および、ウェバサーバ用プログラム
JP6756270B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
US10338857B2 (en) Information processing apparatus, information processing system, and information processing method
JP2014141058A (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
JP2014199655A (ja) クライアント機器、印刷システム、表示方法およびプログラム
JP7027846B2 (ja) 入出力デバイス、プログラム及び情報処理システム
JP2021172073A (ja) 画像形成装置と画像形成装置の制御方法、及びプログラム
JP2019215753A (ja) 印刷システム、印刷装置と情報処理装置及びその制御方法、並びにプログラム
JP6926809B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP7279347B2 (ja) 情報処理装置
JP6221543B2 (ja) プログラム、情報処理装置、情報処理システム及び画像処理システム
JP7006411B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7242203B2 (ja) 情報処理装置、アプリケーションおよび制御方法
JP2023044178A (ja) 印刷システム、印刷サーバ、印刷制御方法、及びプログラム
JP2017050813A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2022081343A (ja) 画像形成装置及びその制御方法、プログラム
JP6188402B2 (ja) 情報処理装置、情報処理装置の制御方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R151 Written notification of patent or utility model registration

Ref document number: 6834402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151