JP6897074B2 - Information processing equipment, information processing systems, information processing methods, and programs - Google Patents

Information processing equipment, information processing systems, information processing methods, and programs Download PDF

Info

Publication number
JP6897074B2
JP6897074B2 JP2016231107A JP2016231107A JP6897074B2 JP 6897074 B2 JP6897074 B2 JP 6897074B2 JP 2016231107 A JP2016231107 A JP 2016231107A JP 2016231107 A JP2016231107 A JP 2016231107A JP 6897074 B2 JP6897074 B2 JP 6897074B2
Authority
JP
Japan
Prior art keywords
information
print
execution
unit
predetermined process
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
JP2016231107A
Other languages
Japanese (ja)
Other versions
JP2018049581A (en
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 US15/697,609 priority Critical patent/US10540129B2/en
Publication of JP2018049581A publication Critical patent/JP2018049581A/en
Application granted granted Critical
Publication of JP6897074B2 publication Critical patent/JP6897074B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。 The present invention relates to an information processing device, an information processing system, an information processing method, and a program.

Windows(登録商標)2000からWindows7までのWindowsOS(Operating System)では、Version3(以降「V3」と称する)プリンタドライバと呼ばれるプリンタドライバのアーキテクチャが採用されている。また、Windows8以降のWindowsOSでは、V3プリンタドライバに加え、Version4(以降「V4」と称する)プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが採用されている。 In Windows OS (Operating System) from Windows (registered trademark) 2000 to Windows 7, a printer driver architecture called Version 3 (hereinafter referred to as "V3") printer driver is adopted. Further, in Windows 8 or later, in addition to the V3 printer driver, a new printer driver architecture called a Version 4 (hereinafter referred to as "V4") printer driver is adopted.

V4プリンタドライバは、フィルタパイプライン方式を採用しており、例えば、サードパーティを含むベンダが、プリンタドライバに独自のフィルタモジュールを追加することにより、独自の拡張機能を提供可能な技術が知られている(例えば、特許文献1参照)。 The V4 printer driver adopts the filter pipeline method. For example, a technology that allows a vendor including a third party to provide a unique extended function by adding a unique filter module to the printer driver is known. (See, for example, Patent Document 1).

フィルタを含むプリンタドライバにおいて、フィルタが実行する処理に変更を加えたいとき、フィルタに大幅な変更を加える必要がないような処理の変更であっても、フィルタをインストールし直す必要があり、利用者の利便性が損なわれていた。 In a printer driver that includes a filter, when you want to make changes to the processing performed by the filter, you need to reinstall the filter even if the processing changes do not require major changes to the filter. The convenience of the was impaired.

また、V3プリンタドライバでは、例えば、独自のポートモニタ等を用意することにより、プリンタドライバに独自のフィルタモジュールを追加することなく、拡張機能を実現することができる。しかし、V4プリンタドライバでは、独自のポートモニタの利用が制限されており、ベンダが独自のポートモニタを用意して、独自の機能を追加することは困難である。 Further, in the V3 printer driver, for example, by preparing a unique port monitor or the like, it is possible to realize an extended function without adding a unique filter module to the printer driver. However, in the V4 printer driver, the use of the original port monitor is restricted, and it is difficult for the vendor to prepare the original port monitor and add the original function.

このように、従来の技術では、V4プリンタドライバ、又は同様の制限を持つプリンタドライバにおいて、利用者の利便性を維持しつつ、プリンタドライバに独自の拡張機能を追加することには困難を伴っていた。 As described above, in the conventional technology, it is difficult to add a unique extension function to the printer driver while maintaining the convenience of the user in the V4 printer driver or the printer driver having the same limitation. It was.

本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、V4プリンタドライバ、又は同様の制限を有するプリンタドライバにおいて、利用者の利便性を維持しつつ、プリンタドライバに独自の拡張機能を追加することを容易にすることを目的とする。 The embodiment of the present invention has been made in view of the above problems, and is unique to the printer driver while maintaining the convenience of the user in the V4 printer driver or the printer driver having the same restrictions. The purpose is to make it easy to add extensions to.

上記課題を解決するため、本発明の一実施形態に係る情報処理装置は、印刷を制御するプログラムを実行する情報処理装置であって、前記印刷を制御するプログラムが利用可能な記憶領域であって、前記印刷に用いる印刷情報を記憶する印刷情報記憶部を有し、前記印刷を制御するプログラムは、前記印刷の対象となるデータを画像形成装置で印刷可能な印刷データに変換する印刷データ生成部と、前記印刷情報記憶部に記憶された前記印刷情報に、前記印刷データ生成部が生成する前記印刷データに関する所定の処理の実行情報が含まれている場合、該実行情報に基づいて前記所定の処理を実行する処理実行部と、として前記情報処理装置を機能させ、前記所定の処理の実行情報は、前記所定の処理を実現するためのスクリプト、または前記所定の処理を実現するためのスクリプトの取得先を示す参照情報を含み、前記処理実行部は、前記所定の処理の実行情報に前記参照情報が含まれる場合は前記参照情報に示される前記所定の処理を実現するためのスクリプトを実行する。
In order to solve the above problems, the information processing device according to the embodiment of the present invention is an information processing device that executes a program that controls printing, and is a storage area in which the program that controls printing can be used. , A print information storage unit that stores print information used for printing, and a program that controls printing converts the data to be printed into print data that can be printed by an image forming apparatus. When the print information stored in the print information storage unit includes execution information of a predetermined process related to the print data generated by the print data generation unit, the predetermined process is based on the execution information. The information processing apparatus is made to function as a process execution unit that executes a process, and the execution information of the predetermined process is a script for realizing the predetermined process or a script for realizing the predetermined process. The process execution unit includes reference information indicating an acquisition destination, and when the execution information of the predetermined process includes the reference information, executes a program for realizing the predetermined process shown in the reference information. ..

本発明の一実施形態によれば、V4プリンタドライバ、又は同様の制限を有するプリンタドライバにおいて、利用者の利便性を維持しつつ、プリンタドライバに独自の拡張機能を追加することが容易になる。 According to one embodiment of the present invention, in the V4 printer driver or the printer driver having the same limitation, it becomes easy to add a unique extended function to the printer driver while maintaining the convenience of the user.

一実施形態に係る情報処理システムの一例のシステム構成を示す図である。It is a figure which shows the system configuration of an example of the information processing system which concerns on one Embodiment. 一実施形態に係るクライアント装置及びサーバ装置の一例のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of an example of a client device and a server device which concerns on one Embodiment. 一実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of an example of the image forming apparatus which concerns on one Embodiment. クライアント装置の一例のソフトウェア構成を示す図である。It is a figure which shows the software structure of an example of a client device. V4プリンタドライバ及びストアデバイスアプリがアクセス可能な記憶領域について説明するための図である。It is a figure for demonstrating the storage area accessible by a V4 printer driver and a store device application. 一実施形態に係るクライアント装置の機能構成の例を示す図である。It is a figure which shows the example of the functional structure of the client apparatus which concerns on one Embodiment. 一実施形態に係るプリンタドライバの描画処理の概要を示すフローチャートである。It is a flowchart which shows the outline of the drawing process of the printer driver which concerns on one Embodiment. 一実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the processing of the information processing system which concerns on one Embodiment. 一実施形態に係る情報処理システムの処理の別の一例を示すシーケンス図である。It is a sequence diagram which shows another example of the processing of the information processing system which concerns on one Embodiment. 第1の実施形態に係るクライアント装置の機能構成の一例を示す図である。It is a figure which shows an example of the functional structure of the client apparatus which concerns on 1st Embodiment. 第1の実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the processing of the information processing system which concerns on 1st Embodiment. 第1の実施形態に係る実行情報のイメージを示す図である。It is a figure which shows the image of the execution information which concerns on 1st Embodiment. 第1の実施形態に係るクライアント装置の機能構成の別の一例を示す図である。It is a figure which shows another example of the functional structure of the client apparatus which concerns on 1st Embodiment. 第1の実施形態に係るアプリケーションの印刷要求処理の一例を示すフローチャートである。It is a flowchart which shows an example of the print request processing of the application which concerns on 1st Embodiment. 第2の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the processing of the information processing system which concerns on 2nd Embodiment. 第2の実施形態に係る実行情報のイメージを示す図(1)である。It is a figure (1) which shows the image of the execution information which concerns on the 2nd Embodiment. 第2の実施形態に係る実行情報のイメージを示す図(2)である。It is a figure (2) which shows the image of the execution information which concerns on the 2nd Embodiment. 第3の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the processing of the information processing system which concerns on 3rd Embodiment. 第4の実施形態に係る印刷データの生成処理の例を示すフローチャートである。It is a flowchart which shows the example of the print data generation processing which concerns on 4th Embodiment. 第5の実施形態に係るクライアント装置の機能構成図である。It is a functional block diagram of the client apparatus which concerns on 5th Embodiment. 第5の実施形態に係るプラグイン実行部、及び拡張プラグインの機能構成図である。It is a functional block diagram of the plug-in execution part and the extension plug-in which concerns on 5th Embodiment. 第5の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the processing of the information processing system which concerns on 5th Embodiment. 第5の実施形態に係る実行情報の一例のイメージを示す図である。It is a figure which shows the image of an example of execution information which concerns on 5th Embodiment. 第6の実施形態に係るクライアント装置の機能構成図である。It is a functional block diagram of the client apparatus which concerns on 6th Embodiment. 第6の実施形態に係るプラグイン実行部、及び拡張プラグインの機能構成図である。It is a functional block diagram of the plug-in execution part and the extension plug-in which concerns on 6th Embodiment. 第6の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the processing of the information processing system which concerns on 6th Embodiment. 第7の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the processing of the information processing system which concerns on 7th Embodiment. 第7の実施形態に係る実行情報の一例のイメージを示す図である。It is a figure which shows the image of an example of execution information which concerns on 7th Embodiment. 第8の実施形態に係る情報処理システムの機能構成図である。It is a functional block diagram of the information processing system which concerns on 8th Embodiment. 第8の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the processing of the information processing system which concerns on 8th Embodiment. 第9の実施形態に係る情報処理システムの機能構成図である。It is a functional block diagram of the information processing system which concerns on 9th Embodiment.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を用いて説明する。図1は、一実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
<System configuration>
First, the system configuration of the information processing system 1 according to the present embodiment will be described with reference to FIG. FIG. 1 is a diagram showing a system configuration of an example of the information processing system 1 according to the embodiment.

図1に示すように、本実施形態に係る情報処理システム1は、1台以上のクライアント装置10と、1台以上の画像形成装置20と、サーバ装置30とを含み、これら装置はLAN(Local Area Network)等のネットワークNを介して互いに通信可能に接続されている。 As shown in FIG. 1, the information processing system 1 according to the present embodiment includes one or more client devices 10, one or more image forming devices 20, and a server device 30, and these devices are LANs (Local). Area Network) and other networks are connected so that they can communicate with each other.

クライアント装置10は、例えばPC(パーソナルコンピュータ)、スマートフォン、タブレット端末等である。クライアント装置10は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データから印刷データを作成した上で、印刷データを画像形成装置20に送信する。又は、クライアント装置10は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データをサーバ装置30に送信する。 The client device 10 is, for example, a PC (personal computer), a smartphone, a tablet terminal, or the like. For example, the client device 10 receives a print instruction from the user, creates print data from the print target data, and then transmits the print data to the image forming device 20. Alternatively, the client device 10 receives, for example, a print instruction from the user and transmits the print target data to the server device 30.

なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データである。また、印刷データとは、例えば、印刷対象データを、画像形成装置20が印刷可能なPDL(Page Description Language)形式に変換した電子データである。 The print target data is, for example, printable electronic data such as image data and document data. Further, the print data is, for example, electronic data obtained by converting the print target data into a PDL (Page Description Language) format that can be printed by the image forming apparatus 20.

画像形成装置20は、例えばプリンタ、印刷機能を備えたMFP(Multifunction Peripheral)等である。画像形成装置20は、クライアント装置10又はサーバ装置30から受信した印刷データを印刷する。 The image forming apparatus 20 is, for example, a printer, an MFP (Multifunction Peripheral) having a printing function, or the like. The image forming apparatus 20 prints the print data received from the client apparatus 10 or the server apparatus 30.

サーバ装置30は、例えばPC等である。サーバ装置30は、例えば、クライアント装置10から受信した印刷対象データから印刷データを作成して、作成した印刷データを画像形成装置20に送信する。 The server device 30 is, for example, a PC or the like. For example, the server device 30 creates print data from the print target data received from the client device 10, and transmits the created print data to the image forming device 20.

また、サーバ装置30は、ファイルサーバとして機能しても良い。すなわち、サーバ装置30は、例えば、クライアント装置10から受信した印刷データを記憶しておき、画像形成装置20からの要求に応じて、記憶した印刷データを要求元の画像形成装置20に送信しても良い。 Further, the server device 30 may function as a file server. That is, for example, the server device 30 stores the print data received from the client device 10 and transmits the stored print data to the request source image forming device 20 in response to the request from the image forming device 20. Is also good.

なお、以降では、1台以上のクライアント装置10について、各々を区別するときは、「クライアント装置10−1」、「クライアント装置10−2」等と表す。同様に、1台以上の画像形成装置20について、各々を区別するときは、「画像形成装置20−1」、「画像形成装置20−2」等と表す。 Hereinafter, when distinguishing between one or more client devices 10, they are referred to as “client device 10-1”, “client device 10-2”, and the like. Similarly, when distinguishing each of one or more image forming apparatus 20, it is expressed as "image forming apparatus 20-1", "image forming apparatus 20-2" and the like.

<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるクライアント装置10、画像形成装置20、及びサーバ装置30のハードウェア構成について、図2及び図3を用いて説明する。
<Hardware configuration>
Next, the hardware configurations of the client device 10, the image forming device 20, and the server device 30 included in the information processing system 1 according to the present embodiment will be described with reference to FIGS. 2 and 3.

≪クライアント装置10及びサーバ装置30≫
図2は、一実施形態に係るクライアント装置10及びサーバ装置30の一例のハードウェア構成を示す図である。なお、クライアント装置10及びサーバ装置30は、同様のハードウェア構成を有しているため、以降では、クライアント装置10のハードウェア構成について説明する。
<< Client device 10 and server device 30 >>
FIG. 2 is a diagram showing a hardware configuration of an example of the client device 10 and the server device 30 according to the embodiment. Since the client device 10 and the server device 30 have the same hardware configuration, the hardware configuration of the client device 10 will be described below.

図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で互いに接続されている。 As shown in FIG. 2, the client device 10 according to the present embodiment includes an input device 101, a display device 102, an external I / F 103, and a RAM (Random Access Memory) 104. Further, the client device 10 has a ROM (Read Only Memory) 105, a CPU (Central Processing Unit) 106, a communication I / F 107, and an HDD (Hard Disk Drive) 108. These hardware are connected to each other by bus B.

入力装置101は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置102は、ディスプレイ等を含み、クライアント装置10による処理結果を表示する。なお、入力装置101及び表示装置102の少なくとも一方は、必要なときにクライアント装置10に接続して利用する形態であっても良い。 The input device 101 includes a keyboard, a mouse, a touch panel, and the like, and is used by the user to input each operation signal. The display device 102 includes a display and the like, and displays the processing result by the client device 10. At least one of the input device 101 and the display device 102 may be used by connecting to the client device 10 when necessary.

通信I/F107は、クライアント装置10をネットワークNに接続するインタフェースである。クライアント装置10は、通信I/F107を介して通信を行うことができる。 The communication I / F 107 is an interface for connecting the client device 10 to the network N. The client device 10 can communicate via the communication I / F 107.

HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。HDD108に格納されるプログラムやデータには、クライアント装置10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。 The HDD 108 is a non-volatile storage device that stores programs and data. The programs and data stored in the HDD 108 include an OS (Operating System), which is basic software that controls the entire client device 10, application software that provides various functions on the OS, and the like.

なお、クライアント装置10は、HDD108に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を有して良い。また、HDD108は、格納しているプログラムやデータを所定のファイルシステムやDBにより管理している。 The client device 10 may have a drive device (for example, a solid state drive: SSD) that uses a flash memory as a storage medium instead of the HDD 108. Further, the HDD 108 manages the stored programs and data by a predetermined file system or DB.

外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103a等がある。クライアント装置10は、外部I/F103を介して記録媒体103aの読み取りや書き込みを行うことができる。記録媒体103aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。 The external I / F 103 is an interface with an external device. The external device includes a recording medium 103a and the like. The client device 10 can read and write the recording medium 103a via the external I / F 103. The recording medium 103a includes a flexible disk, a CD, a DVD, an SD memory card, a USB memory, and the like.

ROM105は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM105には、OS設定、ネットワーク設定等のプログラムやデータ、及びクライアント装置10の起動時に実行されるBIOS(Basic Input/Output System)が格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリである。 The ROM 105 is a non-volatile semiconductor memory capable of holding programs and data even when the power is turned off. The ROM 105 stores programs and data such as OS settings and network settings, and a BIOS (Basic Input / Output System) that is executed when the client device 10 is started. The RAM 104 is a volatile semiconductor memory that temporarily holds programs and data.

CPU106は、ROM105やHDD108等の記憶装置からプログラムやデータをRAM104上に読み出し、当該プログラムやデータに基づく処理を実行することで、クライアント装置10全体の制御やその他の機能を実現する演算装置である。 The CPU 106 is an arithmetic unit that realizes control of the entire client device 10 and other functions by reading a program or data from a storage device such as ROM 105 or HDD 108 onto the RAM 104 and executing processing based on the program or data. ..

本実施形態に係るクライアント装置10及びサーバ装置30は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。 By having the hardware configuration shown in FIG. 2 in the client device 10 and the server device 30 according to the present embodiment, various processes as described later can be realized.

≪画像形成装置20≫
図3は、一実施形態に係る画像形成装置20の一例のハードウェア構成を示す図である。
<< Image forming device 20 >>
FIG. 3 is a diagram showing a hardware configuration of an example of the image forming apparatus 20 according to the embodiment.

図3に示すように、本実施形態に係る画像形成装置20は、コントローラ201と、操作パネル202と、外部I/F203と、通信I/F204と、プロッタ205を有する。また、コントローラ201は、CPU211と、RAM221と、ROM231と、NVRAM241と、HDD251とを有する。 As shown in FIG. 3, the image forming apparatus 20 according to the present embodiment includes a controller 201, an operation panel 202, an external I / F 203, a communication I / F 204, and a plotter 205. Further, the controller 201 has a CPU 211, a RAM 221 and a ROM 231, an NVRAM 241 and an HDD 251.

ROM231は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM221は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM241は、例えば設定情報等を格納している。また、HDD251は、各種プログラムやデータを格納している不揮発性の記憶装置である。 The ROM 231 is a non-volatile semiconductor memory that stores various programs and data. The RAM 221 is a volatile semiconductor memory that temporarily holds programs and data. The NVRAM 241 stores, for example, setting information and the like. The HDD 251 is a non-volatile storage device that stores various programs and data.

CPU211は、ROM231やNVRAM241、HDD251等からプログラムやデータ、設定情報等をRAM221上に読み出し、当該プログラムやデータに基づく処理を実行することで、画像形成装置20全体の制御やその他の機能を実現する演算装置である。 The CPU 211 realizes control of the entire image forming apparatus 20 and other functions by reading programs, data, setting information, etc. from ROM 231, NVRAM 241, HDD 251 and the like onto RAM 221 and executing processing based on the programs and data. It is an arithmetic unit.

操作パネル202は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを有する。外部I/F203は、外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。画像形成装置20は、外部I/F203を介して記録媒体203aの読み取りや書き込みを行うことができる。なお、記録媒体203aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。 The operation panel 202 has an input unit for receiving input from the user and a display unit for displaying. The external I / F 203 is an interface with an external device. The external device includes a recording medium 203a and the like. The image forming apparatus 20 can read or write the recording medium 203a via the external I / F 203. The recording medium 203a includes, for example, an IC card, a flexible disk, a CD, a DVD, an SD memory card, a USB memory, and the like.

通信I/F204は、画像形成装置20をネットワークNに接続するインタフェースである。画像形成装置20は、通信I/F204を介して通信を行うことができる。プロッタ205は、印刷データを印刷する印刷装置である。 The communication I / F 204 is an interface for connecting the image forming apparatus 20 to the network N. The image forming apparatus 20 can perform communication via the communication I / F 204. The plotter 205 is a printing device that prints print data.

本実施形態に係る画像形成装置20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。 The image forming apparatus 20 according to the present embodiment can realize various processes as described later by having the hardware configuration shown in FIG.

<クライアント装置10のソフトウェア構成>
次に、本実施形態に係るクライアント装置10のソフトウェア構成について、図4を用いて説明する。図4は、クライアント装置10の一例のソフトウェア構成を示す図である。
<Software configuration of client device 10>
Next, the software configuration of the client device 10 according to the present embodiment will be described with reference to FIG. FIG. 4 is a diagram showing a software configuration of an example of the client device 10.

図4に示すように、本実施形態に係るクライアント装置10は、アプリケーション301と、OS302と、プリンタドライバ303と、ストアデバイスアプリ304とを有する。 As shown in FIG. 4, the client device 10 according to the present embodiment includes an application 301, an OS 302, a printer driver 303, and a store device application 304.

アプリケーション301は、例えば文書作成ソフト、画像閲覧・編集ソフト、ブラウザ等、ユーザの印刷指示に応じて、OS302に印刷の指示(要求)を行うことができるアプリケーションソフトである。アプリケーション301には、ストアアプリ311と、デスクトップアプリ321とが含まれる。 The application 301 is application software that can give a print instruction (request) to the OS 302 in response to a user's print instruction, such as a document creation software, an image viewing / editing software, and a browser. The application 301 includes a store application 311 and a desktop application 321.

ストアアプリ311は、例えば、Windows(登録商標)8/WindowsRT及びそれ以降のバージョンのWindowsOSにアプリケーションを提供する「Windowsストア」から、入手可能なアプリケーションである。ストアアプリ311では、「ストアアプリ UI」が用いられる。なお、Windows8及びWindows8.1では、OS302によって提供される「Modern UI」又は「Metro UI」とも称されるUIからストアアプリ311が呼び出される。 The store application 311 is, for example, an application available from the "Windows Store" that provides applications to Windows® 8 / Windows RT and later versions of Windows OS. In the store application 311 the "store application UI" is used. In Windows 8 and Windows 8.1, the store application 311 is called from a UI also called "Modern UI" or "Metaro UI" provided by OS 302.

一方、デスクトップアプリ321は、例えば、Windows7以前のバージョンのWindowsOSにおいても使用可能なアプリケーションである。 On the other hand, the desktop application 321 is an application that can be used in, for example, a version of Windows OS prior to Windows 7.

OS302は、Windows8/WindowsRT及びそれ以降のバージョンのWindowsOSである。 OS 302 is Windows 8 / Windows RT and later versions of Windows OS.

プリンタドライバ303は、例えば、Version4プリンタドライバ(以降では、「V4プリンタドライバ」と表す。)である。V4プリンタドライバとは、Windows8/WindowsRTから採用されたアーキテクチャに基づくプリンタドライバである。以降では、プリンタドライバ303を「V4プリンタドライバ303」とも表す。 The printer driver 303 is, for example, a Version4 printer driver (hereinafter, referred to as a “V4 printer driver”). The V4 printer driver is a printer driver based on the architecture adopted from Windows 8 / Windows RT. Hereinafter, the printer driver 303 will also be referred to as a “V4 printer driver 303”.

なお、Windows8以降のWindowsOSでは、Windows2000からWindows7で使用されていたVersion3プリンタドライバ(以降では、「V3プリンタドライバ」と表す。)に加えて、V4プリンタドライバも使用可能である。 In Windows OS after Windows 8, a V4 printer driver can be used in addition to the Version 3 printer driver (hereinafter referred to as "V3 printer driver") used in Windows 2000 to Windows 7.

プリンタドライバ303は、拡張設定部313と、設定制御部323と、描画部333とを含む。 The printer driver 303 includes an extended setting unit 313, a setting control unit 323, and a drawing unit 333.

拡張設定部313は、プリンタ拡張とも称され、デスクトップアプリ321から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。 The extension setting unit 313, also referred to as a printer extension, displays a vendor-specific print setting screen when printing from the desktop application 321.

設定制御部323は、禁則スクリプトとも称され、例えば、印刷設定の組み合わせが正当であるか否かを検証する。拡張設定部313は、例えば、設定制御部323により正当でないと検証された印刷設定の組み合わせを非表示にすること等ができる。 The setting control unit 323 is also referred to as a kinsoku script, and for example, verifies whether or not the combination of print settings is valid. The extended setting unit 313 can hide, for example, a combination of print settings that has been verified by the setting control unit 323 as invalid.

また、設定制御部323は、アプリケーション301やOS302等からの要求に応じて、プリンタドライバ303が設定可能な機能の情報を示すPrintCapabilityを返信する。更に、設定制御部323は、アプリケーション301やOS302等からの要求に応じて、プリンタドライバ303に設定されている各種機能の設定値をDevmodePropertyBagから取得し、取得した設定値を示すPrintTicketを返信する。また、PrintTicketで示された設定値をDevmodePropertyBagに保存する。 Further, the setting control unit 323 returns a Print Capacity indicating information on the functions that can be set by the printer driver 303 in response to a request from the application 301, the OS 302, or the like. Further, the setting control unit 323 acquires the setting values of various functions set in the printer driver 303 from the DevmodepropertyBag in response to the request from the application 301, the OS 302, or the like, and returns a PrintTicket indicating the acquired setting values. In addition, the set value indicated by PrintTicket is saved in DevmodePropertyBag.

なお、OS302に返信されたPrintCapabilityやPrintTicketは、例えば、拡張設定部313が表示する印刷設定画面における各機能の現在値の表示、選択肢の表示等に利用される。 The Print Capacity and Print Ticket returned to the OS 302 are used, for example, for displaying the current value of each function on the print setting screen displayed by the extended setting unit 313, displaying options, and the like.

描画部333は、アプリケーション301において印刷指示が行われた印刷対象データから印刷データを作成する。 The drawing unit 333 creates print data from the print target data for which the print instruction is given in the application 301.

ストアデバイスアプリ304は、ストアアプリ311から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。なお、ストアデバイスアプリ304は、ストアアプリ311と同様に、「Windowsストア」から入手可能なアプリケーションである。 The store device application 304 displays a vendor-specific print setting screen when printing from the store application 311. The store device application 304 is an application that can be obtained from the "Windows store" like the store application 311.

デスクトップアプリ321から印刷を行う場合、プリンタドライバ303は、拡張設定部313により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。一方で、ストアアプリ311から印刷を行う場合、プリンタドライバ303は、ストアデバイスアプリ304により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。 When printing from the desktop application 321, the printer driver 303 can create print data based on the setting contents set on the print setting screen displayed by the extended setting unit 313. On the other hand, when printing from the store application 311 the printer driver 303 can create print data based on the setting contents set on the print setting screen displayed by the store device application 304.

拡張設定部313及びストアデバイスアプリ304は、ベンダ独自の印刷設定画面を表示するUI部305を構成する。 The extended setting unit 313 and the store device application 304 constitute a UI unit 305 that displays a vendor-specific print setting screen.

<V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域>
次に、V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域について、図5を用いて説明する。図5は、V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域について説明するための図である。
<Storage area accessible to V4 printer driver 303 and store device application 304>
Next, the storage area accessible to the V4 printer driver 303 and the store device application 304 will be described with reference to FIG. FIG. 5 is a diagram for explaining a storage area accessible to the V4 printer driver 303 and the store device application 304.

図5に示すように、拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、PropertyBag400と呼ばれる記憶領域にアクセスすることができる。なお、このような記憶領域へのアクセスは、OS302によって提供されるAPI(Application Programming Interface)を用いて行うことができる。 As shown in FIG. 5, the extended setting unit 313, the setting control unit 323, the drawing unit 333, and the store device application 304 can access a storage area called a property bag 400. It should be noted that such access to the storage area can be performed by using the API (Application Programming Interface) provided by the OS 302.

図5に示すように、PropertyBag400には、DriverPropertyBag410と、QueuePropertyBag420と、UserPropertyBag430とが含まれる。 As shown in FIG. 5, the PropertyBag 400 includes a DriverPropertyBag410, a QueenPropertyBag420, and a UserPropertyBag430.

DriverPropertyBag410は、V4プリンタドライバ303を作成するときに決定された構成情報等を記憶する記憶領域である。拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、DriverPropertyBag410から各種情報の読み出しが可能である。一方で、拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、DriverPropertyBag410に対して、情報の書き込みを行うことはできない。 The DriverPropertyBag410 is a storage area for storing the configuration information and the like determined when the V4 printer driver 303 is created. The extended setting unit 313, the setting control unit 323, the drawing unit 333, and the store device application 304 can read various information from the DriverPropertyBag410. On the other hand, the extended setting unit 313, the setting control unit 323, the drawing unit 333, and the store device application 304 cannot write information to the DrivePropertyBag410.

QueuePropertyBag420は、論理プリンタ(プリンタアイコン)毎の設定情報等を記憶する記憶領域である。拡張設定部313及びストアデバイスアプリ304は、QueuePropertyBag420に対して、各種情報の読み出し及び書き込みが可能である。また、設定制御部323及び描画部333は、QueuePropertyBag420に対して、各種情報の読み出しが可能である。 The QueenPropertyBag420 is a storage area for storing setting information and the like for each logical printer (printer icon). The extended setting unit 313 and the store device application 304 can read and write various types of information to the QueenPropertyBag420. In addition, the setting control unit 323 and the drawing unit 333 can read out various types of information from the QueenPropertyBag420.

なお、論理プリンタとは、例えば、OS302のプリンタフォルダ等にプリンタアイコンとして表示される仮想的なプリンタである。例えば、クライアント装置10の利用者は、1つの画像形成装置20に対して、設定情報(例えば、用紙サイズや向き、印刷品質等)が異なる複数の論理プリンタを作成することができる。 The logical printer is, for example, a virtual printer displayed as a printer icon in the printer folder of OS 302 or the like. For example, the user of the client device 10 can create a plurality of logical printers having different setting information (for example, paper size, orientation, print quality, etc.) for one image forming device 20.

UserPropertyBag430は、論理プリンタ毎に、ユーザ毎の設定情報等を記憶する記憶領域である。拡張設定部313、設定制御部323、及びストアデバイスアプリ304は、UserPropertyBag430に対して、各種情報の読み出し及び書き込みが可能である。 The UserpropertyBag430 is a storage area for storing setting information and the like for each user for each logical printer. The extended setting unit 313, the setting control unit 323, and the store device application 304 can read and write various information to the UserPropertyBag430.

また、拡張設定部313及び描画部333は、更に、独自記憶領域500に対して、各種情報の読み出し及び書き込みが可能である。 Further, the extended setting unit 313 and the drawing unit 333 can further read and write various information to the original storage area 500.

独自記憶領域500は、例えばレジストリやファイル等を用いて実現され、PropertyBag400とは異なる記憶領域である。独自記憶領域500は、V4プリンタドライバ303を提供するベンダ等によって定義される。 The original storage area 500 is realized by using, for example, a registry, a file, or the like, and is a storage area different from the PropertyBag 400. The original storage area 500 is defined by a vendor or the like that provides the V4 printer driver 303.

ストアデバイスアプリ304は、OS302の課す制約により、PropertyBag400以外の記憶領域に対してアクセスすることはできない。また、設定制御部323は、上述したDevmodePropertyBag及びPropertyBag400以外の記憶領域に対してアクセスすることはできない。すなわち、ストアデバイスアプリ304及び設定制御部323は、独自記憶領域500に対して、各種情報の読み出しや書き込み等を行うことができない。 The store device application 304 cannot access a storage area other than the PropertyBag 400 due to the restrictions imposed by the OS 302. Further, the setting control unit 323 cannot access a storage area other than the above-mentioned DevmodepropertyBag and PropertyBag400. That is, the store device application 304 and the setting control unit 323 cannot read or write various information to the original storage area 500.

このことは、ストアアプリ311に課されている制約と同様であり、例えば、ストアデバイスアプリ304及び設定制御部323が、OS302が使用するレジストリ等を変更し、OS302の動作に悪影響を与えることを防ぐためである。このような技術は、「サンドボックス」等と称されている。 This is the same as the restriction imposed on the store application 311. For example, the store device application 304 and the setting control unit 323 change the registry or the like used by the OS 302, which adversely affects the operation of the OS 302. This is to prevent it. Such a technique is called a "sandbox" or the like.

<機能構成>
図6は、一実施形態に係るクライアント装置10の機能構成の例を示す図である。
<Functional configuration>
FIG. 6 is a diagram showing an example of the functional configuration of the client device 10 according to the embodiment.

クライアント装置(情報処理装置)10は、画像形成装置20、サーバ装置30等とネットワークNを介して接続され、プリンタドライバ(印刷を制御するプログラム)を実行する情報処理装置である。 The client device (information processing device) 10 is an information processing device that is connected to the image forming device 20, the server device 30, and the like via the network N and executes a printer driver (a program that controls printing).

図6において、クライアント装置10は、アプリケーション(アプリケーションプログラム)301、OS302、プリンタドライバ303、印刷情報記憶部610、及び通信部620等を含む。このうち、アプリケーション301、OS302、及びプリンタドライバ303は、図4に示すアプリケーション301、OS302、及びプリンタドライバ303に対応している。 In FIG. 6, the client device 10 includes an application (application program) 301, an OS 302, a printer driver 303, a print information storage unit 610, a communication unit 620, and the like. Of these, the application 301, the OS 302, and the printer driver 303 correspond to the application 301, the OS 302, and the printer driver 303 shown in FIG.

印刷情報記憶部610は、プリンタドライバ303から利用可能な記憶領域であり、プリンタドライバ303が印刷に用いる情報である印刷情報611を記憶する。印刷情報記憶部610は、例えば、PrintTicket、レジストリ、又は図5で説明したPropertyBag400、独自記憶領域500等で実現可能である。 The print information storage unit 610 is a storage area that can be used from the printer driver 303, and stores print information 611 that is information used by the printer driver 303 for printing. The print information storage unit 610 can be realized by, for example, the PrintTicket, the registry, the PropertyBag400 described with reference to FIG. 5, the original storage area 500, or the like.

好ましくは、印刷情報記憶部610は、QueuePropertyBag420、又はPrintTicket等で実現される。なお、PrintTicketは、アプリケーション301が、印刷(ジョブ)毎に作成し、プリンタドライバ303が印刷に用いる情報である印刷情報611を記憶する記憶領域である。 Preferably, the print information storage unit 610 is realized by a QueenPropertyBag420, a PrintTicket, or the like. The PrintTicket is a storage area for storing print information 611, which is created by the application 301 for each print (job) and used by the printer driver 303 for printing.

この印刷情報611には、例えば、アプリケーション301によって設定された印刷の設定情報、プリンタドライバ303が保持している既定(デフォルト)の設定情報、及び画像形成装置20の情報等が含まれる。 The print information 611 includes, for example, print setting information set by the application 301, default setting information held by the printer driver 303, information of the image forming apparatus 20, and the like.

また、本実施形態に係る印刷情報611には、描画部333で生成する印刷データに関する所定の処理の実行情報612が含まれる。 In addition, the print information 611 according to the present embodiment includes execution information 612 of predetermined processing related to the print data generated by the drawing unit 333.

この所定の処理には、例えば、印刷データをサーバ装置30にアップロードする処理、印刷データのプレビューを表示する処理、表示したプレビューに対して印刷設定の変更を受け付ける処理等の様々な処理が含まれる。 This predetermined process includes, for example, various processes such as a process of uploading print data to the server device 30, a process of displaying a preview of print data, and a process of accepting a change in print settings for the displayed preview. ..

また、実行情報612は、例えば、プラグイン実行部603で実行する所定の処理の設定情報、プラグイン実行部603で実行するプラグイン、又はプラグインの取得先を示す参照情報等が含まれる。 Further, the execution information 612 includes, for example, setting information of a predetermined process to be executed by the plug-in execution unit 603, a plug-in to be executed by the plug-in execution unit 603, reference information indicating a plug-in acquisition destination, and the like.

通信部620は、クライアント装置10が、ネットワークNを介して、画像形成装置20、又はサーバ装置30等と通信するための手段であり、例えば、クライアント装置10で実行されるOS302、及び図2の通信I/F107等によって実現される。 The communication unit 620 is a means for the client device 10 to communicate with the image forming device 20, the server device 30, and the like via the network N. For example, the OS 302 executed by the client device 10 and FIG. It is realized by communication I / F107 and the like.

プリンタドライバ303は、印刷を制御するプログラムであり、図4の説明で前述したように、拡張設定部313、設定制御部323、及び描画部333を含む。なお、本実施形態では、拡張設定部313、及び設定制御部323は、一般的なプリンタドライバの構成と同様で良いので、ここでは説明を省略する。 The printer driver 303 is a program that controls printing, and includes an extended setting unit 313, a setting control unit 323, and a drawing unit 333, as described above in the description of FIG. In this embodiment, the extended setting unit 313 and the setting control unit 323 may have the same configuration as a general printer driver, and thus the description thereof will be omitted here.

描画部333は、アプリケーション301において印刷指示が行われた印刷対象データから印刷データを作成する手段であり、例えば、描画制御部601、印刷情報取得部602、プラグイン実行部603、印刷データ生成部604等を含む。なお、描画部333は、例えば、フィルタパイプライン方式を採用するV4プリンタドライバの1つのフィルタモジュール等で実現される。 The drawing unit 333 is a means for creating print data from the print target data for which a print instruction has been given in the application 301. For example, the drawing control unit 601, the print information acquisition unit 602, the plug-in execution unit 603, and the print data generation unit. 604 and the like are included. The drawing unit 333 is realized by, for example, one filter module of a V4 printer driver that employs a filter pipeline method.

描画制御部601は、印刷を要求するアプリケーションが印刷を開始させたときに、OS302から送られてくる印刷要求(描画命令)に応じて、描画部333の描画処理を制御する。 The drawing control unit 601 controls the drawing process of the drawing unit 333 in response to the printing request (drawing command) sent from the OS 302 when the application requesting printing starts printing.

印刷情報取得部602は、例えば、描画制御部601、又は印刷データ生成部604等の要求に応じて印刷情報記憶部610から、描画部333が印刷に用いる印刷情報611を取得する。 The print information acquisition unit 602 acquires the print information 611 used by the drawing unit 333 for printing from the print information storage unit 610 in response to a request from, for example, the drawing control unit 601 or the print data generation unit 604.

プラグイン実行部(処理実行部)603は、印刷情報記憶部610が記憶する印刷情報611に、描画部333で生成する印刷データに関する所定の処理の情報である実行情報612が含まれる場合、実行情報612に基づいて所定の処理を実行する。 The plug-in execution unit (processing execution unit) 603 executes when the print information 611 stored in the print information storage unit 610 includes execution information 612, which is information on predetermined processing related to the print data generated by the drawing unit 333. A predetermined process is executed based on the information 612.

一例として、プラグイン実行部603は、例えば、印刷データをサーバ装置30にアップロードする処理等の所定の処理を実行する機能を予め有している。また、実行情報612には、例えば、アップロード先のパス情報(宛先情報の一例)等、所定の処理を実行するために必要な設定情報等が含まれる。 As an example, the plug-in execution unit 603 has a function of executing a predetermined process such as a process of uploading print data to the server device 30 in advance. Further, the execution information 612 includes setting information necessary for executing a predetermined process, such as path information of an upload destination (an example of destination information).

別の一例として、実行情報612には、例えば、印刷データをサーバ装置30にアップロードする処理等の所定の処理を実現するためのスクリプト(又は実行ファイル等)や、スクリプトの取得先を示す参照情報等が含まれる。また、プラグイン実行部603は、所定の処理を実現するためのスクリプト(又は実行ファイル等)を実行する。 As another example, the execution information 612 includes, for example, a script (or an execution file, etc.) for realizing a predetermined process such as a process of uploading print data to the server device 30, and reference information indicating a script acquisition destination. Etc. are included. In addition, the plug-in execution unit 603 executes a script (or an execution file or the like) for realizing a predetermined process.

印刷データ生成部604は、印刷情報記憶部610が記憶する印刷情報611に基づいて、印刷対象データを、画像形成装置20で印刷可能な印刷データに変換する。 The print data generation unit 604 converts the print target data into print data that can be printed by the image forming apparatus 20 based on the print information 611 stored in the print information storage unit 610.

上記の構成により、プリンタドライバ303の描画部333は、印刷情報記憶部610に記憶する印刷情報611に所定の処理の実行情報612が含まれている場合、印刷データの生成処理に加えて、所定の処理を実行することができるようになる。 According to the above configuration, when the print information 611 stored in the print information storage unit 610 includes the execution information 612 of the predetermined process, the drawing unit 333 of the printer driver 303 determines the print data in addition to the print data generation process. You will be able to execute the processing of.

また、描画制御部601、印刷情報取得部602、プラグイン実行部603、及び印刷データ生成部604は、1つ以上のフィルタ(描画部333)を含むV4プリンタドライバにおける1つのフィルタの範囲内で提供される。 Further, the drawing control unit 601, the print information acquisition unit 602, the plug-in execution unit 603, and the print data generation unit 604 are within the range of one filter in the V4 printer driver including one or more filters (drawing unit 333). Provided.

<処理の概要>
続いて、本実施形態に係るクライアント装置10、及び情報処理システム1による情報処理方法の処理の流れについて説明する。
<Outline of processing>
Subsequently, the processing flow of the information processing method by the client device 10 and the information processing system 1 according to the present embodiment will be described.

(プリンタドライバの描画処理の概要)
図7は、一実施形態に係るプリンタドライバ303の描画処理の概要を示すフローチャートである。
(Outline of drawing process of printer driver)
FIG. 7 is a flowchart showing an outline of the drawing process of the printer driver 303 according to the embodiment.

ステップS701において、プリンタドライバ303の描画制御部601は、印刷を要求するアプリケーション301からの印刷要求に応じて、OS302から通知される印刷(描画)を要求する描画命令を受け付ける。 In step S701, the drawing control unit 601 of the printer driver 303 receives a drawing command for printing (drawing) notified from the OS 302 in response to a printing request from the application 301 requesting printing.

ステップS702において、描画制御部601は、印刷情報取得部602を用いて、印刷情報記憶部610から、印刷に用いる情報である印刷情報611を取得する。この印刷情報611には、例えば、アプリケーション301によって設定された印刷の設定情報、プリンタドライバ303が保持している既定の設定情報、画像形成装置20の情報、及び所定の処理の実行情報612等が含まれ得る。 In step S702, the drawing control unit 601 uses the print information acquisition unit 602 to acquire print information 611, which is information used for printing, from the print information storage unit 610. The print information 611 includes, for example, print setting information set by the application 301, default setting information held by the printer driver 303, information on the image forming apparatus 20, information on executing predetermined processing 612, and the like. Can be included.

ステップ703において、描画制御部601は、例えば、印刷データ生成部604に印刷データの生成を指示し、印刷データ生成部604は、印刷情報611に基づいて、印刷対象データを印刷データに変換する(印刷データを生成する)。 In step 703, the drawing control unit 601 instructs, for example, the print data generation unit 604 to generate print data, and the print data generation unit 604 converts the print target data into print data based on the print information 611. Generate print data).

ステップS704において、描画制御部601(又は印刷データ生成部604)は、印刷情報記憶部610に記憶された印刷情報611に、所定の処理の実行情報612が含まれるか否かを判断する。 In step S704, the drawing control unit 601 (or the print data generation unit 604) determines whether or not the print information 611 stored in the print information storage unit 610 includes the execution information 612 of the predetermined process.

印刷情報記憶部610に記憶された印刷情報611に所定の処理の実行情報612が含まれない場合、描画制御部601(又は印刷データ生成部604)は、処理をステップS707に移行させる。一方、印刷情報記憶部610に記憶された印刷情報611に、所定の処理の実行情報612が含まれる場合、描画制御部601(又は印刷データ生成部604)は、処理をステップS705に移行させる。 When the print information 611 stored in the print information storage unit 610 does not include the execution information 612 of the predetermined process, the drawing control unit 601 (or the print data generation unit 604) shifts the process to step S707. On the other hand, when the print information 611 stored in the print information storage unit 610 includes the execution information 612 of the predetermined process, the drawing control unit 601 (or the print data generation unit 604) shifts the process to step S705.

ステップS705に移行すると、プラグイン実行部603は、所定の処理の実行情報612に基づいて、処理の処理(例えば、生成した印刷データをサーバ装置30にアップロードする処理等)を実行する。 When the process proceeds to step S705, the plug-in execution unit 603 executes a processing process (for example, a process of uploading the generated print data to the server device 30) based on the execution information 612 of the predetermined process.

ステップS706において、描画制御部601は、印刷を実行する印刷データがあるかを判断する。これは、例えば、ステップS705の実行した所定の処理が、印刷データをサーバ装置30にアップロードする処理である場合等、印刷データを印刷しなくても良い場合があるためである。 In step S706, the drawing control unit 601 determines whether or not there is print data to be printed. This is because, for example, when the predetermined process executed in step S705 is a process of uploading print data to the server device 30, it may not be necessary to print the print data.

印刷を実行する印刷データがない場合、描画制御部601は、描画処理を終了させる。一方、印刷を実行する印刷データがある場合、描画制御部601は、処理をステップS707に移行させる。 When there is no print data to be printed, the drawing control unit 601 ends the drawing process. On the other hand, when there is print data to be printed, the drawing control unit 601 shifts the process to step S707.

ステップS707に移行すると、描画制御部601は、印刷データ生成部604が生成した印刷データを、OS302のスプーラ等に出力する。印刷データは、OS302により、通信部620を介して、画像形成装置20に送信される。 When the process proceeds to step S707, the drawing control unit 601 outputs the print data generated by the print data generation unit 604 to the spooler or the like of the OS 302. The print data is transmitted by the OS 302 to the image forming apparatus 20 via the communication unit 620.

なお、図7に示す処理の流れは一例である。例えば、図7のステップS704、S705の処理は、ステップS703の前で行われるものであっても良い。 The processing flow shown in FIG. 7 is an example. For example, the processes of steps S704 and S705 in FIG. 7 may be performed before step S703.

また、図7のステップS706の処理は省略可能である。例えば、印刷データがない場合、ステップS707において、印刷データは出力されないので、ステップS706の判断を行わずに、ステップS707の処理を実行するものであっても良い。 Further, the process of step S706 in FIG. 7 can be omitted. For example, if there is no print data, the print data is not output in step S707, so the process of step S707 may be executed without making the determination of step S706.

(情報処理システムの処理の例)
続いて、シーケンス図を用いて、本実施形態に係る情報処理システム1による情報処理方法の基本的な処理の流れについて、さらに詳しく説明する。
(Example of processing of information processing system)
Subsequently, the basic processing flow of the information processing method by the information processing system 1 according to the present embodiment will be described in more detail with reference to the sequence diagram.

図8は、一実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。 FIG. 8 is a sequence diagram showing an example of processing of the information processing system according to the embodiment.

ステップS801において、アプリケーション301は、利用者による印刷操作を受け付けると、ステップS802において、OS302に印刷を要求する印刷要求を通知する。 When the application 301 receives the print operation by the user in step S801, the application 301 notifies the OS 302 of the print request requesting printing in step S802.

ステップS803において、OS302は、アプリケーション301からの印刷要求を受け付けると、プリンタドライバ303に、印刷対象データの描画(印刷データの生成)を指示する描画命令を通知する。なお、プリンタドライバ303に通知された描画命令は、描画部333の描画制御部601によって受け付けられる。 In step S803, when the OS 302 receives the print request from the application 301, the OS 302 notifies the printer driver 303 of a drawing command instructing the drawing of the print target data (generation of print data). The drawing command notified to the printer driver 303 is accepted by the drawing control unit 601 of the drawing unit 333.

ステップS804において、描画制御部601は、OS302から通知される描画命令を受け付けると、印刷情報取得部602に、印刷情報の取得を指示する。 In step S804, when the drawing control unit 601 receives the drawing command notified from the OS 302, the drawing control unit 601 instructs the print information acquisition unit 602 to acquire the print information.

ステップS805において、印刷情報取得部602は、印刷情報記憶部610に記憶された印刷情報を読み出す。ここでは、一例として、印刷情報取得部602は、印刷情報記憶部610に記憶された印刷情報611のうち、例えば、アプリケーション301によって保存された印刷の設定情報、プリンタドライバ303の既定の設定情報、及び画像形成装置20の情報等を読み出すものとする。 In step S805, the print information acquisition unit 602 reads out the print information stored in the print information storage unit 610. Here, as an example, the print information acquisition unit 602 includes, for example, print setting information saved by the application 301, default setting information of the printer driver 303, among the print information 611 stored in the print information storage unit 610. And the information of the image forming apparatus 20 and the like shall be read out.

ステップS806において、印刷情報取得部602は、取得した印刷情報を、描画制御部601に出力する。 In step S806, the print information acquisition unit 602 outputs the acquired print information to the drawing control unit 601.

ステップS807において、描画制御部601は、印刷データ生成部604に、印刷データの生成を指示する。この指示には、例えば、ステップS806で取得した印刷情報等が含まれる。 In step S807, the drawing control unit 601 instructs the print data generation unit 604 to generate print data. This instruction includes, for example, the print information acquired in step S806.

ステップS808、S809において、印刷データ生成部604は、印刷対象データを記憶するOS302のスプーラから印刷対象データを取得する。 In steps S808 and S809, the print data generation unit 604 acquires the print target data from the spooler of the OS 302 that stores the print target data.

ステップS810において、印刷データ生成部604は、描画制御部601から通知された印刷情報に基づいて、印刷対象データを、画像形成装置20で印刷可能な印刷データに変換することにより、印刷データを生成する。 In step S810, the print data generation unit 604 generates print data by converting the print target data into print data that can be printed by the image forming apparatus 20 based on the print information notified from the drawing control unit 601. To do.

ステップS811、S812において、印刷データ生成部604は、印刷情報取得部602を用いて、印刷情報記憶部610に記憶された印刷情報611に含まれる実行情報612を取得する。ここでは、印刷情報611に、所定の処理の実行情報612が含まれているものとして、以下の説明を行う。 In steps S811 and S812, the print data generation unit 604 uses the print information acquisition unit 602 to acquire the execution information 612 included in the print information 611 stored in the print information storage unit 610. Here, it is assumed that the print information 611 includes the execution information 612 of the predetermined process, and the following description will be given.

ステップS813において、印刷データ生成部604は、取得した実行情報612を用いて、プラグイン実行部603に、所定の処理(プラグイン)の実行を指示する。なお、実行情報612、及び所定の処理の具体的な例については、第1〜4の実施形態で後述する。 In step S813, the print data generation unit 604 instructs the plug-in execution unit 603 to execute a predetermined process (plug-in) by using the acquired execution information 612. The execution information 612 and specific examples of the predetermined processing will be described later in the first to fourth embodiments.

ステップS814において、プラグイン実行部603は、印刷データ生成部604から指示された所定の処理を実行し、所定の処理を終えると、ステップS815において、所定の処理の実行結果を通知する。 In step S814, the plug-in execution unit 603 executes a predetermined process instructed by the print data generation unit 604, and when the predetermined process is completed, the plug-in execution unit 603 notifies the execution result of the predetermined process in step S815.

ステップS816、S617において、印刷データ生成部604は、印刷を実行する印刷データがある場合、生成した印刷データを、描画制御部601を介して、OS302のスプーラに出力する。 In steps S816 and S617, when there is print data for executing printing, the print data generation unit 604 outputs the generated print data to the spooler of the OS 302 via the drawing control unit 601.

ステップS818において、OS302は、プリンタドライバ303から受け付けた印刷データを、通信部620を用いて、画像形成装置20に送信する。 In step S818, the OS 302 transmits the print data received from the printer driver 303 to the image forming apparatus 20 by using the communication unit 620.

ステップS819において、画像形成装置20は、クライアント装置10のOS302から受け付けた印刷データを印刷し、ステップS820において、印刷を完了したことを示す完了通知を、クライアント装置10のOS302に通知する。 In step S819, the image forming apparatus 20 prints the print data received from the OS 302 of the client apparatus 10, and in step S820, the image forming apparatus 20 notifies the OS 302 of the client apparatus 10 of the completion notification indicating that the printing is completed.

ステップS821、S822、S823において、OS302が受け付けた完了通知は、プリンタドライバ303(描画制御部601)、及びアプリケーション301に通知される。 In steps S821, S822, and S823, the completion notification received by the OS 302 is notified to the printer driver 303 (drawing control unit 601) and the application 301.

なお、図8に示す処理では、印刷データ生成部604が、プラグイン実行部603による所定の処理の実行を制御しているが、この制御は、描画制御部601が行うものであっても良い。 In the process shown in FIG. 8, the print data generation unit 604 controls the execution of a predetermined process by the plug-in execution unit 603, but this control may be performed by the drawing control unit 601. ..

(別の一例)
図9は、一実施形態に係るシステムの処理の別の一例を示すシーケンス図である。なお、図9のステップS801〜S803、及びS807〜S810の処理は、図8に示す処理と同様なので、ここでは、図8に示す処理との相違点を中心に説明を行う。
(Another example)
FIG. 9 is a sequence diagram showing another example of the processing of the system according to the embodiment. Since the processes of steps S801 to S803 and S807 to S810 of FIG. 9 are the same as the processes shown in FIG. 8, here, the differences from the processes shown in FIG. 8 will be mainly described.

ステップS901において、描画制御部601は、OS302から通知される描画命令を受け付けると、印刷情報取得部602に、印刷情報記憶部610に記憶された、所定の処理の実行情報612を含む印刷情報611の取得を指示する。 In step S901, when the drawing control unit 601 receives the drawing command notified from the OS 302, the print information 611 including the execution information 612 of the predetermined process stored in the print information storage unit 610 in the print information acquisition unit 602. Instruct to acquire.

ステップS902において、印刷情報取得部602は、印刷情報記憶部610に記憶された、所定の処理の実行情報612を含む印刷情報611を読み出す。この印刷情報611には、例えば、アプリケーション301によって保存された印刷の設定情報、プリンタドライバ303の既定の設定情報、画像形成装置20の情報、及び所定の処理の実行情報612等が含まれる。 In step S902, the print information acquisition unit 602 reads out the print information 611 stored in the print information storage unit 610, including the execution information 612 of the predetermined process. The print information 611 includes, for example, print setting information saved by the application 301, default setting information of the printer driver 303, information of the image forming apparatus 20, information of executing a predetermined process 612, and the like.

ステップS903において、印刷情報取得部602は、取得した印刷情報611を、描画制御部601に出力する。 In step S903, the print information acquisition unit 602 outputs the acquired print information 611 to the drawing control unit 601.

ステップS904において、描画制御部601は、取得した印刷情報611に含まれる実行情報612を用いて、プラグイン実行部603に、所定の処理の実行を指示する。 In step S904, the drawing control unit 601 instructs the plug-in execution unit 603 to execute a predetermined process by using the execution information 612 included in the acquired print information 611.

ステップS905において、プラグイン実行部603は、描画制御部601から指示された所定の処理を実行し、所定の処理を終えると、ステップS906において、所定の処理の実行結果を通知する。 In step S905, the plug-in execution unit 603 executes a predetermined process instructed by the drawing control unit 601. When the predetermined process is completed, the plug-in execution unit 603 notifies the execution result of the predetermined process in step S906.

このように、描画制御部601が、プラグイン実行部603による所定の処理の実行を制御することにより、印刷データ生成部604が印刷データを生成した後とは異なるタイミングで、プラグイン実行部603に所定の処理を実行させることができるようになる。 In this way, the drawing control unit 601 controls the execution of the predetermined process by the plug-in execution unit 603, so that the plug-in execution unit 603 is at a timing different from that after the print data generation unit 604 generates the print data. Will be able to execute a predetermined process.

ステップS807〜S810において、描画制御部601は、印刷データ生成部604に印刷データの生成を実行させて、ステップS907において、印刷データ生成部604から、生成された印刷データを取得する。 In steps S807 to S810, the drawing control unit 601 causes the print data generation unit 604 to generate print data, and in step S907, acquires the generated print data from the print data generation unit 604.

ステップS908において、例えば、図8のステップS817〜S823に示す印刷データの送信処理が実行される。 In step S908, for example, the print data transmission process shown in steps S817 to S823 of FIG. 8 is executed.

<処理の詳細>
続いて、具体的な実施形態を例示して、本実施形態に係るクライアント装置10、及び情報処理システム1による情報処理方法の処理の流れについて、詳細に説明する。
<Details of processing>
Subsequently, a specific embodiment will be illustrated, and the processing flow of the information processing method by the client device 10 and the information processing system 1 according to the present embodiment will be described in detail.

[第1の実施形態]
<機能構成>
図10は、第1の実施形態に係るクライアント装置10の機能構成の一例を示す図である。図10に示すクライアント装置10は、図6に示すクライアント装置10に示す印刷情報記憶部610として、図5で説明したPropertyBag400を利用する。なお、他の機能構成は、図6に示すクライアント装置10と同様である。
[First Embodiment]
<Functional configuration>
FIG. 10 is a diagram showing an example of the functional configuration of the client device 10 according to the first embodiment. The client device 10 shown in FIG. 10 uses the Property Bag 400 described in FIG. 5 as the print information storage unit 610 shown in the client device 10 shown in FIG. The other functional configurations are the same as those of the client device 10 shown in FIG.

第1の実施形態では、プラグイン実行部603は、所定の処理の一例として、印刷データ生成部604が生成した印刷データを、ロケーションフリー印刷のファイルサーバであるサーバ装置30の所定のパスに送信する機能を、予め有しているものとする。 In the first embodiment, the plug-in execution unit 603 transmits the print data generated by the print data generation unit 604 to a predetermined path of the server device 30 which is a file server for location-free printing, as an example of the predetermined processing. It is assumed that the function to be used is provided in advance.

また、プラグイン実行部603が、印刷データを送信する宛先のパス情報は、印刷情報611に含まれる実行情報612によって、指定されるものとする。 Further, it is assumed that the path information of the destination to which the plug-in execution unit 603 transmits the print data is specified by the execution information 612 included in the print information 611.

さらに、印刷情報611は、PropertyBag400のQueuePropertyBag420に記憶されているものとする。 Further, it is assumed that the print information 611 is stored in the QueenPropertyBag 420 of the PropertyBag400.

QueuePropertyBag420は、OS302が提供する機能(例えば、ポイントアンドプリント機能等)を利用して、プリンタドライバ303をクライアント環境に移行させるとき、設定情報等が引き継がれる。したがって、QueuePropertyBag420は、印刷情報611を記憶する印刷情報記憶部610として、好適である。 The QueenPropertyBag420 inherits the setting information and the like when the printer driver 303 is transferred to the client environment by using the function provided by the OS 302 (for example, the point and print function and the like). Therefore, the QueenPropertyBag 420 is suitable as the print information storage unit 610 for storing the print information 611.

<処理の詳細>
図11は、第1の実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。なお、図11のステップS801〜S810の処理は、図8に示す処理と同様なので、ここでは、図8に示す処理との相違点を中心に説明を行う。
<Details of processing>
FIG. 11 is a sequence diagram showing an example of processing of the information processing system according to the first embodiment. Since the processes of steps S801 to S810 of FIG. 11 are the same as the processes shown in FIG. 8, here, the differences from the processes shown in FIG. 8 will be mainly described.

ステップS1101、S1102において、印刷データ生成部604は、印刷情報取得部602を用いて、PropertyBag400に記憶された印刷情報611に含まれる実行情報612を取得する。本実施形態では、実行情報612には、プラグイン実行部603が、印刷データを送信するファイル保存先のパスを示す情報が含まれているものとする。図12(a)に、第1の実施形態に係る印刷情報611に含まれる実行情報612の一例のイメージを示す。 In steps S1101 and S1102, the print data generation unit 604 uses the print information acquisition unit 602 to acquire the execution information 612 included in the print information 611 stored in the propertybag 400. In the present embodiment, it is assumed that the execution information 612 includes information indicating the path of the file storage destination to which the plug-in execution unit 603 transmits the print data. FIG. 12A shows an image of an example of execution information 612 included in the print information 611 according to the first embodiment.

図12(a)の例では、QueuePropertyBag420に記憶された印刷情報611に、ファイルの保存先のパスを示す文字列1201が定義された実行情報612が含まれている。 In the example of FIG. 12A, the print information 611 stored in the QueenPropertyBag420 includes the execution information 612 in which the character string 1201 indicating the path where the file is saved is defined.

このように、実行情報612は、実行情報612としてのキー1202と、実行情報である文字列とを組合せて、印刷情報611に記憶されている。 As described above, the execution information 612 is stored in the print information 611 by combining the key 1202 as the execution information 612 and the character string which is the execution information.

図11に戻り、シーケンス図の説明を続ける。 Returning to FIG. 11, the description of the sequence diagram will be continued.

ステップS1103において、印刷データ生成部604は、取得した実行情報612に基づいて、プラグイン実行部603に、所定の処理の実行を指示する。この指示には、例えば、印刷データ、及び実行情報612等が含まれる。 In step S1103, the print data generation unit 604 instructs the plug-in execution unit 603 to execute a predetermined process based on the acquired execution information 612. This instruction includes, for example, print data, execution information 612, and the like.

ステップS1104、S1105において、プラグイン実行部603は、所定の処理1000の一例として、印刷データ生成部604が生成した印刷データを、サーバ装置30の所定のパスに送信する処理1000を実行する。 In steps S1104 and S1105, the plug-in execution unit 603 executes the process 1000 of transmitting the print data generated by the print data generation unit 604 to the predetermined path of the server device 30 as an example of the predetermined process 1000.

例えば、ステップS1104、S1005において、プラグイン実行部603は、OS302を介して、実行情報612に含まれるサーバ装置30のパス情報に従って、サーバ装置30に印刷データを送信する。 For example, in steps S1104 and S1005, the plug-in execution unit 603 transmits print data to the server device 30 via the OS 302 according to the path information of the server device 30 included in the execution information 612.

なお、図11に示す処理1000は、プラグイン実行部603が実行する所定の処理の一例である。プラグイン実行部603は、予め定められた処理を、実行情報612に含まれる設定情報に従って実行するものであれば良い。 The process 1000 shown in FIG. 11 is an example of a predetermined process executed by the plug-in execution unit 603. The plug-in execution unit 603 may execute a predetermined process according to the setting information included in the execution information 612.

ステップS1106、S1107において、プラグイン実行部603は、所定の処理1000の実行が完了すると、所定の処理が完了したことを示す完了通知を、印刷データ生成部604、描画制御部601等に通知する。 In steps S1106 and S1107, when the execution of the predetermined process 1000 is completed, the plug-in execution unit 603 notifies the print data generation unit 604, the drawing control unit 601 and the like of the completion notification indicating that the predetermined process is completed. ..

(別の一例)
図11に示す処理では、印刷情報記憶部610が、PropertyBag400のQueuePropertyBag420である場合の例について説明を行った。
(Another example)
In the process shown in FIG. 11, an example in which the print information storage unit 610 is the QueenpropertyBag420 of the PropertyBag400 has been described.

ここでは、別の一例として、印刷情報記憶部610が、アプリケーション301が、印刷(ジョブ)毎に作成し、印刷情報611を記憶する記憶領域であるPrintTicketである場合の例について説明する。 Here, as another example, an example will be described in which the print information storage unit 610 is a PrintTicket, which is a storage area for storing the print information 611, which is created by the application 301 for each print (job).

<機能構成>
図13は、第1の実施形態に係るクライアント装置の機能構成の別の一例を示す図である。図13に示すクライアント装置10は、図6に示すクライアント装置10に示す印刷情報記憶部610として、PrintTicket1320を利用する。
<Functional configuration>
FIG. 13 is a diagram showing another example of the functional configuration of the client device according to the first embodiment. The client device 10 shown in FIG. 13 uses the PrintTicket 1320 as the print information storage unit 610 shown in the client device 10 shown in FIG.

この場合、例えば、図5で前述したプリンタドライバ303がアクセス可能な独自記憶領域500等に、既定(デフォルト)のPrintTicket1310を予め記憶しておく。この既定のPrintTicket1310には、実行情報612を含む既定の印刷情報1311が含まれる。 In this case, for example, the default PrintTicket 1310 is stored in advance in the original storage area 500 or the like that can be accessed by the printer driver 303 described in FIG. The default PrintTicket 1310 includes default print information 1311 including execution information 612.

アプリケーション301は、印刷を要求する際に、独自記憶領域500に記憶された既定のPrintTicket1310を用いて、印刷対象データのPrintTicket1320を作成する。この処理により、アプリケーション301が、印刷毎に生成するPrintTicket1320に、独自記憶領域500に記憶した実行情報612が含まれるようになる。 When requesting printing, the application 301 creates the PrintTicket 1320 of the data to be printed by using the default PrintTicket 1310 stored in the original storage area 500. By this process, the PrintTicket 1320 generated by the application 301 for each print includes the execution information 612 stored in the original storage area 500.

<処理の流れ>
図14は、第1の実施形態に係るアプリケーションの印刷要求処理の一例を示すフローチャートである。
<Processing flow>
FIG. 14 is a flowchart showing an example of print request processing of the application according to the first embodiment.

ステップS1401において、アプリケーション301は、例えば、利用者による印刷処理を受け付ける。 In step S1401, the application 301 receives, for example, a printing process by the user.

ステップS1402において、アプリケーション301は、所定の記憶領域(例えば、独自記憶領域500)に、既定のPrintTicket1310が記憶されているか否かを判断する。 In step S1402, the application 301 determines whether or not the default PrintTicket 1310 is stored in the predetermined storage area (for example, the original storage area 500).

所定の記憶領域に、既定のPrintTicket1310が記憶されていない場合、アプリケーション301は、ステップS1403において、通常通り、印刷の設定情報を含む、印刷対象データの印刷に用いるPrintTicketを作成する。 When the default PrintTicket 1310 is not stored in the predetermined storage area, the application 301 creates the PrintTicket used for printing the print target data including the print setting information as usual in step S1403.

一方、所定の記憶領域に、既定のPrintTicket1310が記憶されている場合、アプリケーション301は、処理をステップS1404に移行させる。 On the other hand, when the default PrintTicket 1310 is stored in the predetermined storage area, the application 301 shifts the process to step S1404.

ステップS1404に移行すると、アプリケーション301は、所定の記憶領域から、既定のPrintTicket1310を取得する。 When the process proceeds to step S1404, the application 301 acquires the default PrintTicket 1310 from the predetermined storage area.

ステップS1405において、アプリケーション301は、既定のPrintTicket1310に、印刷の設定情報を反映し、印刷対象データの印刷に用いるPrintTicket1320を作成する。 In step S1405, the application 301 reflects the print setting information in the default PrintTicket1310 and creates the PrintTicket1320 used for printing the print target data.

ステップS1406において、アプリケーション301は、印刷対象データと、作成したPrintTicket1320とを用いて、OS302に印刷を要求する。 In step S1406, the application 301 requests the OS 302 to print using the print target data and the created PrintTicket1320.

この例では、図11に示すシーケンス図のステップS1101、S1102において、印刷情報取得部602は、PrintTicket1320に記憶された印刷情報611に含まれる実行情報612を取得すれば良い。他の処理は、前述した図11の処理と同様である。図12(b)に、第1の実施形態に係る印刷情報611に含まれる実行情報612の別の一例のイメージを示す。 In this example, in steps S1101 and S1102 of the sequence diagram shown in FIG. 11, the print information acquisition unit 602 may acquire the execution information 612 included in the print information 611 stored in the PrintTicket 1320. Other processing is the same as the processing of FIG. 11 described above. FIG. 12B shows an image of another example of the execution information 612 included in the print information 611 according to the first embodiment.

図12(b)の例では、PrintTicket1320に記憶された印刷情報611に、ファイルの保存先のパスを示す文字列1201が定義された実行情報612が含まれている。 In the example of FIG. 12B, the print information 611 stored in the PrintTicket 1320 includes the execution information 612 in which the character string 1201 indicating the path where the file is saved is defined.

以上、本実施形態によれば、QueuePropertyBag420、又はPrintTicket1320に記憶された印刷情報611に含まれる実行情報612を用いて、プラグイン実行部603によるファイルの送信先を変更することができるようになる。 As described above, according to the present embodiment, the transmission destination of the file by the plug-in execution unit 603 can be changed by using the execution information 612 included in the print information 611 stored in the QueenPropertyBag420 or the PrintTicket1320.

[第2の実施形態]
第1の実施形態では、プラグイン実行部603が、所定の処理を実行する機能を、予め有している場合の例について説明を行った。
[Second Embodiment]
In the first embodiment, an example in which the plug-in execution unit 603 has a function of executing a predetermined process in advance has been described.

第2の実施形態では、プラグイン実行部603は、実行情報612に含まれるスクリプト言語に従って処理を実行する場合の例について説明する。 In the second embodiment, the plug-in execution unit 603 describes an example in which the process is executed according to the script language included in the execution information 612.

スクリプト言語は、比較的単純なプログラムを記述するための、簡易的なプログラミング言語全般を示す。スクリプト言語は、一般的にインタプリタ方式を採用しており、言語を逐次に解釈して実行することができる。 Scripting languages refer to all simple programming languages for writing relatively simple programs. The script language generally adopts an interpreter method, and the language can be interpreted and executed sequentially.

本実施形態では、プラグイン実行部603は、スクリプト言語で作成されたプログラム(以下、スクリプトと呼ぶ)を実行する機能を有しているものとする。 In the present embodiment, it is assumed that the plug-in execution unit 603 has a function of executing a program (hereinafter referred to as a script) created in a script language.

また、本実施形態では、印刷情報記憶部610に記憶された印刷情報611に含まれる実行情報612には、スクリプト言語で記述されたスクリプトが記憶されているものとする。 Further, in the present embodiment, it is assumed that the script written in the script language is stored in the execution information 612 included in the print information 611 stored in the print information storage unit 610.

<処理の流れ>
図15は、第2の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。なお、図15のステップS801〜S810の処理は、図8に示す処理と同様なので、ここでは、図8に示す処理との相違点を中心に説明を行う。
<Processing flow>
FIG. 15 is a sequence diagram showing an example of processing of the information processing system according to the second embodiment. Since the processes of steps S801 to S810 of FIG. 15 are the same as the processes shown in FIG. 8, here, the differences from the processes shown in FIG. 8 will be mainly described.

ステップS1501、S1502において、印刷データ生成部604は、印刷情報取得部602を用いて、印刷情報記憶部610に記憶された印刷情報611に含まれる実行情報612を取得する。なお、印刷情報記憶部610は、前述したように、PropertyBag400(例えば、QueuePropertyBag420)、又はPrintTicket1320等を用いることができる。 In steps S1501 and S1502, the print data generation unit 604 uses the print information acquisition unit 602 to acquire the execution information 612 included in the print information 611 stored in the print information storage unit 610. As described above, the print information storage unit 610 can use a PropertyBag 400 (for example, QueenPropertyBag420), a PrintTicket1320, or the like.

図16、17は、第2の実施形態に係る実行情報のイメージを示す図である。 16 and 17 are diagrams showing images of execution information according to the second embodiment.

図16(a)は、第2の実施形態に係る印刷情報611に含まれる実行情報612の例1を示している。図16(a)の例では、QueuePropertyBag420(印刷情報記憶部610の一例)に記憶された印刷情報611には、プラグイン実行部603で実行するスクリプト1611が記述された実行情報612が含まれている。このように、印刷情報611に含まれる実行情報612には、例えば、プラグイン実行部603で実行するスクリプト1611が記述されている。 FIG. 16A shows Example 1 of the execution information 612 included in the print information 611 according to the second embodiment. In the example of FIG. 16A, the print information 611 stored in the QueenPropertyBag420 (an example of the print information storage unit 610) includes the execution information 612 in which the script 1611 to be executed by the plug-in execution unit 603 is described. There is. As described above, in the execution information 612 included in the print information 611, for example, the script 1611 to be executed by the plug-in execution unit 603 is described.

図16(b)は、第2の実施形態に係る印刷情報611に含まれる実行情報612の例2を示している。図16(b)の例では、QueuePropertyBag420(印刷情報記憶部610の一例)に記憶された印刷情報611には、プラグイン実行部603で実行するスクリプト1611の取得先を示す参照情報(リンク情報)1622が記述されている。このように、印刷情報611に含まれる実行情報612には、プラグイン実行部603で実行するスクリプトの取得先を示す参照情報が含まれているものであっても良い。 FIG. 16B shows Example 2 of the execution information 612 included in the print information 611 according to the second embodiment. In the example of FIG. 16B, the print information 611 stored in the QueenPropertyBag420 (an example of the print information storage unit 610) includes reference information (link information) indicating the acquisition destination of the script 1611 executed by the plug-in execution unit 603. 1622 is described. As described above, the execution information 612 included in the print information 611 may include reference information indicating the acquisition destination of the script to be executed by the plug-in execution unit 603.

図17(a)は、第2の実施形態に係る印刷情報611に含まれる実行情報612の例3を示している。図17(a)に示すように、実行情報612を含む印刷情報611を記憶する印刷情報記憶部610は、PrintTicket1320であっても良い。この場合も同様に、実行情報612には、プラグイン実行部603で実行するスクリプト、又はプラグイン実行部603で実行するスクリプトの取得先を示す参照情報等が含まれる。 FIG. 17A shows Example 3 of the execution information 612 included in the print information 611 according to the second embodiment. As shown in FIG. 17A, the print information storage unit 610 that stores the print information 611 including the execution information 612 may be the PrintTicket 1320. In this case as well, the execution information 612 includes reference information indicating the acquisition destination of the script executed by the plug-in execution unit 603 or the script executed by the plug-in execution unit 603.

ここでは、一例として、実行情報612に、印刷データ生成部604が生成した印刷データを、サーバ装置30の所定のパスに送信する処理を実行させるスクリプトが保存されているものとする。ただし、この処理は、所定の処理の一例であり、本実施形態では、実行情報612に保存するスクリプトを変更することにより、プラグイン実行部603に、様々な処理を実行させることができる。 Here, as an example, it is assumed that the execution information 612 stores a script for executing a process of transmitting the print data generated by the print data generation unit 604 to a predetermined path of the server device 30. However, this process is an example of a predetermined process, and in the present embodiment, the plug-in execution unit 603 can execute various processes by changing the script saved in the execution information 612.

図15に戻り、シーケンス図の説明を続ける。 Returning to FIG. 15, the description of the sequence diagram will be continued.

ステップS1503において、印刷データ生成部604は、取得した実行情報612に基づいて、プラグイン実行部603に、所定の処理の実行を指示する。この指示には、例えば、印刷データ、及び実行情報612(スクリプト)等が含まれる。 In step S1503, the print data generation unit 604 instructs the plug-in execution unit 603 to execute a predetermined process based on the acquired execution information 612. This instruction includes, for example, print data, execution information 612 (script), and the like.

ステップS1504、S1505において、プラグイン実行部603は、印刷データ生成部604から通知された実行情報612に含まれる、所定の処理1500を実現するためのスクリプトを実行する。ここでは、プラグイン実行部603は、所定の処理1500の一例として、印刷データ生成部604が生成した印刷データを、サーバ装置30の所定のパスに送信する処理を実行する。 In steps S1504 and S1505, the plug-in execution unit 603 executes a script for realizing the predetermined process 1500 included in the execution information 612 notified from the print data generation unit 604. Here, the plug-in execution unit 603 executes a process of transmitting the print data generated by the print data generation unit 604 to a predetermined path of the server device 30 as an example of the predetermined process 1500.

例えば、ステップS1504、S1505において、プラグイン実行部603は、スクリプトを実行することにより、OS302を介して、サーバ装置30に印刷データを送信する。なお、サーバ装置30のパス情報は、例えば、スクリプトに記述されているものとする。 For example, in steps S1504 and S1505, the plug-in execution unit 603 transmits print data to the server device 30 via the OS 302 by executing a script. It is assumed that the path information of the server device 30 is described in, for example, a script.

なお、図15に示す所定の処理1500はあくまで一例である。プラグイン実行部603は、実行情報612に記述されたスクリプト、又は実行情報612に示されるリンク先から取得したスクリプトを、を実行するものであれば良い。 The predetermined process 1500 shown in FIG. 15 is just an example. The plug-in execution unit 603 may execute the script described in the execution information 612 or the script acquired from the link destination shown in the execution information 612.

ステップS1106、S1107において、プラグイン実行部603は、所定の処理1500の実行が完了すると、例えば、所定の処理が完了したことを示す完了通知を、印刷データ生成部604、描画制御部601等に通知する。 In steps S1106 and S1107, when the execution of the predetermined process 1500 is completed, the plug-in execution unit 603 notifies the print data generation unit 604, the drawing control unit 601 and the like, for example, a completion notification indicating that the predetermined process is completed. Notice.

上記の処理により、プリンタドライバ303の描画部333は、印刷情報記憶部610に記憶された印刷情報611に含まれる実行情報612に基づいて、様々な処理の実行することができるようになる。 By the above processing, the drawing unit 333 of the printer driver 303 can execute various processes based on the execution information 612 included in the print information 611 stored in the print information storage unit 610.

なお、上記の説明では、プラグイン実行部603は、スクリプトを実行するものとして説明を行ったが、変形例として、プラグイン実行部603は、実行情報612に記述された参照情報に基づいて、EXE(Executable)ファイル等の実行ファイルを取得して実行するものであっても良い。 In the above description, the plug-in execution unit 603 has been described as executing a script, but as a modification, the plug-in execution unit 603 is based on the reference information described in the execution information 612. An executable file such as an EXE (Executable) file may be acquired and executed.

図17(b)は、第2の実施形態に係る実行情報の例4を示している。図17(b)の例では、印刷情報記憶部610に記憶された印刷情報611には、プラグイン実行部603が実行する実行ファイルの取得先のパスを示す参照情報1711が記述されている。 FIG. 17B shows Example 4 of execution information according to the second embodiment. In the example of FIG. 17B, the print information 611 stored in the print information storage unit 610 includes reference information 1711 indicating the path of the acquisition destination of the execution file executed by the plug-in execution unit 603.

プラグイン実行部603は、参照情報1711に示されるパスから実行ファイルを取得し、実行する。 The plug-in execution unit 603 acquires an execution file from the path shown in the reference information 1711 and executes it.

以上、本実施形態によれば、印刷情報記憶部610に記憶された印刷情報611に含まれる実行情報612に、所定の処理を実現するためのスクリプトや、参照情報等を記憶し、プリンタドライバ303に様々な処理を実行させることができる。 As described above, according to the present embodiment, the execution information 612 included in the print information 611 stored in the print information storage unit 610 stores a script for realizing a predetermined process, reference information, and the like, and the printer driver 303. Can perform various processes.

[第3の実施形態]
第1、2の実施形態では、プラグイン実行部603が実行する処理の一例として、印刷データをサーバ装置30に送信する処理について説明を行った。第3の実施形態では、プラグイン実行部603が実行する処理の別一例として、印刷データのプレビュー処理を行う場合の例について説明する。
[Third Embodiment]
In the first and second embodiments, as an example of the process executed by the plug-in execution unit 603, the process of transmitting the print data to the server device 30 has been described. In the third embodiment, as another example of the processing executed by the plug-in execution unit 603, an example in which the print data preview processing is performed will be described.

なお、本実施形態では、プラグイン実行部603は、第2の実施形態と同様に、スクリプト言語で作成されたスクリプトを実行する機能を有しているものとする。 In this embodiment, the plug-in execution unit 603 has a function of executing a script created in the script language, as in the second embodiment.

また、実行情報612には、印刷データ生成部604が生成した印刷データのプレビュー処理を行うスクリプトが記述されているものとして、以下の説明を行う。 Further, assuming that the execution information 612 describes a script for previewing the print data generated by the print data generation unit 604, the following description will be given.

<処理の流れ>
(情報処理システムの処理)
図18は、第3の実施形態に係る情報処理システムの処理の例を示す図である。なお、図18のステップS801〜S810の処理は、図8に示す処理と同様なので、ここでは、図8に示す処理との相違点を中心に説明を行う。
<Processing flow>
(Processing of information processing system)
FIG. 18 is a diagram showing an example of processing of the information processing system according to the third embodiment. Since the processes of steps S801 to S810 of FIG. 18 are the same as the processes shown in FIG. 8, here, the differences from the processes shown in FIG. 8 will be mainly described.

また、実行情報612に記述された、プラグイン実行部603で実行するスクリプト1611の記述内容以外の処理は、第2の実施形態と同様なので、詳細な説明は省略する。 Further, since the processing other than the description content of the script 1611 described in the execution information 612 and executed by the plug-in execution unit 603 is the same as that of the second embodiment, detailed description thereof will be omitted.

ステップS1801、S1802において、印刷データ生成部604は、印刷情報取得部602を用いて、印刷情報記憶部610に記憶された印刷情報611に含まれる実行情報612を取得する。なお、本実施形態では、実行情報612には、プラグイン実行部603で実行するスクリプト1611として、印刷データのプレビュー用のスクリプトが記述されている。 In steps S1801 and S1802, the print data generation unit 604 uses the print information acquisition unit 602 to acquire the execution information 612 included in the print information 611 stored in the print information storage unit 610. In the present embodiment, the execution information 612 describes a script for previewing print data as a script 1611 executed by the plug-in execution unit 603.

ステップS1803において、印刷データ生成部604は、取得した実行情報612に基づいて、プラグイン実行部603に、所定の処理の実行を指示する。この指示には、例えば、印刷データ、及び実行情報612(プレビュー用のスクリプト)等が含まれる。 In step S1803, the print data generation unit 604 instructs the plug-in execution unit 603 to execute a predetermined process based on the acquired execution information 612. This instruction includes, for example, print data, execution information 612 (script for preview), and the like.

続いて、プラグイン実行部603は、印刷データ生成部604から通知された実行情報612に含まれる、プレビュー用のスクリプトを実行することにより、印刷データのプレビュー処理1800を実行する。 Subsequently, the plug-in execution unit 603 executes the print data preview process 1800 by executing the preview script included in the execution information 612 notified from the print data generation unit 604.

例えば、ステップS1804において、プラグイン実行部603は、拡張設定部313、設定制御部323、又はOS302のAPI等を利用して、印刷データを表示装置102にプレビュー表示させる。 For example, in step S1804, the plug-in execution unit 603 causes the display device 102 to preview the print data by using the extended setting unit 313, the setting control unit 323, the API of the OS 302, or the like.

ステップS1805において、プラグイン実行部603は、利用者の確認操作を受け付けると、ステップS1806において、実行結果(OK)を印刷データ生成部604に通知する。 When the plug-in execution unit 603 receives the confirmation operation of the user in step S1805, the plug-in execution unit 603 notifies the print data generation unit 604 of the execution result (OK) in step S1806.

ステップS1807において、印刷データ生成部604は、プラグイン実行部603から、実行結果(OK)を受け付けると、生成した印刷データを、描画制御部601に出力する。 In step S1807, when the print data generation unit 604 receives the execution result (OK) from the plug-in execution unit 603, the print data generation unit 604 outputs the generated print data to the drawing control unit 601.

ステップS1808において、例えば、図8のステップS817〜S823に示すような印刷データの送信処理が実行される。 In step S1808, for example, the print data transmission process as shown in steps S817 to S823 of FIG. 8 is executed.

(印刷データの生成処理)
図19は、第4の実施形態に係る印刷データ生成処理の例を示すフローチャートである。この処理は、例えば、図18のステップS807〜S809、S1801〜S1807で実行される印刷データの生成処理において、プレビュー表示の後に、印刷設定の変更を行う場合の処理の一例を示している。
(Print data generation process)
FIG. 19 is a flowchart showing an example of the print data generation process according to the fourth embodiment. This process shows, for example, an example of a process in which the print setting is changed after the preview display in the print data generation process executed in steps S807 to S809 and S1801 to S1807 of FIG.

ステップS1901において、印刷データ生成部604は、印刷対象データを取得する。この処理は、例えば、図18のステップS808、S809の処理に対応している。 In step S1901, the print data generation unit 604 acquires the print target data. This process corresponds to, for example, the process of steps S808 and S809 of FIG.

ステップS1902において、印刷データ生成部604は、印刷対象データを画像形成装置20で印刷可能な印刷データに変換することにより、印刷データを生成する。この処理は、例えば、図18のステップS810の処理に対応している。 In step S1902, the print data generation unit 604 generates print data by converting the print target data into printable print data by the image forming apparatus 20. This process corresponds to, for example, the process of step S810 in FIG.

ステップS1903において、プラグイン実行部603は、生成された印刷データの印刷後のイメージを示す印刷プレビュー画面を、表示装置102等に表示させる。 In step S1903, the plug-in execution unit 603 causes the display device 102 or the like to display a print preview screen showing a printed image of the generated print data.

ステップS1904において、表示させた印刷プレビュー画面に対して、利用者から受け付けた確認結果が「OK」である場合、プラグイン実行部603は、処理をステップS1907に移行させる。一方、利用者から受け付けた確認結果が「OK」でない場合、プラグイン実行部603は、処理をステップS1905に移行させる。 If the confirmation result received from the user is "OK" with respect to the displayed print preview screen in step S1904, the plug-in execution unit 603 shifts the process to step S1907. On the other hand, if the confirmation result received from the user is not "OK", the plug-in execution unit 603 shifts the process to step S1905.

ステップS1905に移行すると、プラグイン実行部603は、印刷設定の変更画面を、表示装置102等に表示させる。 When the process proceeds to step S1905, the plug-in execution unit 603 displays the print setting change screen on the display device 102 or the like.

ステップS1906において、プラグイン実行部603は、利用者による印刷設定の変更操作を受け付けると、受け付けた変更を印刷の設定情報に反映し、処理をステップS1902に戻す。 In step S1906, when the plug-in execution unit 603 receives the print setting change operation by the user, the received change is reflected in the print setting information, and the process returns to step S1902.

なお、上記のステップS1903〜S1905の処理は、例えば、図18の印刷データのプレビュー処理1800に対応している。 The process of steps S1903 to S1905 described above corresponds to, for example, the preview process 1800 of the print data of FIG.

ステップS1907に移行すると、印刷データ生成部604は、生成した印刷データを、例えば、描画制御部601等に出力する。 When the process proceeds to step S1907, the print data generation unit 604 outputs the generated print data to, for example, the drawing control unit 601 or the like.

上記の処理により、クライアント装置10の利用者は、印刷データのプレビュー画面を確認し、必要に応じて、印刷の設定情報を変更することができるようになる。 By the above processing, the user of the client device 10 can check the preview screen of the print data and change the print setting information as needed.

このように、本実施形態に係るプリンタドライバ303は、印刷情報記憶部610に記憶されたスクリプトや、参照情報等に応じて、様々な処理を実行することができる。 As described above, the printer driver 303 according to the present embodiment can execute various processes according to the script stored in the print information storage unit 610, the reference information, and the like.

以上、本発明の各実施形態によれば、V4プリンタドライバ、又は同様の制限を有するプリンタドライバにおいて、利用者の利便性を維持しつつ、プリンタドライバに独自の拡張機能を容易に追加することができるようになる。 As described above, according to each embodiment of the present invention, in the V4 printer driver or the printer driver having the same limitation, it is possible to easily add a unique extended function to the printer driver while maintaining the convenience of the user. become able to.

[第5の実施形態]
<機能構成>
(クライアント装置の機能構成)
図20は、第5の実施形態に係るクライアント装置の機能構成図である。図20に示す第5の実施形態に係るクライアント装置10は、図6に示す一実施形態に係るクライアント装置10の機能構成に加えて、1つ以上の拡張プラグイン2001、及び連携アプリ2002を含む。
[Fifth Embodiment]
<Functional configuration>
(Functional configuration of client device)
FIG. 20 is a functional configuration diagram of the client device according to the fifth embodiment. The client device 10 according to the fifth embodiment shown in FIG. 20 includes one or more extension plug-ins 2001 and a cooperative application 2002 in addition to the functional configuration of the client device 10 according to the one embodiment shown in FIG. ..

拡張プラグイン2001は、例えば、図2のCPU106で実行されるプログラム、例えば、DLL(Dynamic Link Library)、又は実行ファイル等によって実現される。拡張プラグイン2001は、描画部333のプラグイン実行部603からの制御に従って、例えば、印刷データの変更処理、読出処理、又は転送処理等の様々な拡張機能を実行する。 The extension plug-in 2001 is realized by, for example, a program executed by the CPU 106 of FIG. 2, for example, a DLL (Dynamic Link Library), an executable file, or the like. The extension plug-in 2001 executes various extended functions such as print data change processing, reading processing, and transfer processing according to the control from the plug-in execution unit 603 of the drawing unit 333.

連携アプリ2002は、例えば、図2のCPU106等で実行され、拡張プラグイン2001を用いて拡張機能を実行するための情報を、実行情報612として印刷情報記憶部610に記憶する。例えば、連携アプリ2002は、クライアント装置10にインストールされると、クライアント装置10のプログラム領域(例えば、"C:\ProgramFiles\"等)に、1つ以上の拡張プラグイン2001を配置(コピー)する。また、連携アプリ2002は、プログラム領域に配置した1つ以上の拡張プラグイン2001を配置した場所を示すパス情報、プラグイン名等を含む実行情報612を、印刷情報記憶部610に記憶する。 The cooperative application 2002 is executed by, for example, the CPU 106 of FIG. 2, and stores information for executing an extended function using the extended plug-in 2001 in the print information storage unit 610 as execution information 612. For example, when the linked application 2002 is installed on the client device 10, one or more extension plug-ins 2001 are arranged (copied) in the program area (for example, "C: \ Program Files \") of the client device 10. .. Further, the linked application 2002 stores the execution information 612 including the path information indicating the location where one or more extended plug-ins 2001 arranged in the program area are arranged, the plug-in name, and the like in the print information storage unit 610.

印刷情報記憶部610は、例えば、図5の独自記憶領域500や、QueuePropertyBag420等によって実現され、1つ以上の拡張プラグイン2001に関する実行情報612を記憶する。例えば、独自記憶領域500の一例として、通常のWindowsアプリケーションで使用されるレジストリHKLM(HKEY_LOCAL_MACHINE)等を用いることができる。なお、独自記憶領域500以外に、OS302のポイントアンドプリント機能で情報が引き継がれる他の論理プリンタ毎の記憶領域(例えば、QueuePropertyBag420等)であっても良い。 The print information storage unit 610 is realized by, for example, the original storage area 500 of FIG. 5, the QueenPropertyBag420, or the like, and stores execution information 612 related to one or more extended plug-ins 2001. For example, as an example of the original storage area 500, the registry HKLM (HKEY_LOCAL_MACHINE) used in a normal Windows application can be used. In addition to the original storage area 500, it may be a storage area for each other logical printer (for example, QueuepropertyBag420 or the like) in which information is inherited by the point-and-print function of the OS 302.

本実施形態に係るプラグイン実行部(処理実行部)603は、印刷情報記憶部610に記憶された印刷情報611に実行情報612が含まれている場合、実行情報612に従って1つ以上の拡張プラグイン2001を呼び出すことにより、所定の処理を実行する。 When the print information 611 stored in the print information storage unit 610 includes the execution information 612, the plug-in execution unit (processing execution unit) 603 according to the present embodiment has one or more expansion plugs according to the execution information 612. By calling in 2001, a predetermined process is executed.

なお、上記以外の機能構成については、例えば、図6に示す一実施形態に係るクライアント装置10の機能構成と同様で良い。 The functional configuration other than the above may be the same as the functional configuration of the client device 10 according to the embodiment shown in FIG. 6, for example.

図21は、第5の実施形態に係るプラグイン実行部、及び拡張プラグインの機能構成図である。 FIG. 21 is a functional configuration diagram of the plug-in execution unit and the extension plug-in according to the fifth embodiment.

(プラグイン実行部の機能構成)
プラグイン実行部(処理実行部)603は、実行制御部2101を有する。また、好ましくは、プラグイン実行部603は、出力制御部2102を有する。
(Functional configuration of plug-in execution part)
The plug-in execution unit (processing execution unit) 603 has an execution control unit 2101. Further, preferably, the plug-in execution unit 603 has an output control unit 2102.

実行制御部2101は、印刷情報記憶部610に実行情報612が記憶されている場合、実行情報612に従って、1つ以上の拡張プラグイン2001を呼出して、拡張プラグイン2001による拡張機能の実行を制御する。 When the execution information 612 is stored in the print information storage unit 610, the execution control unit 2101 calls one or more extension plug-ins 2001 according to the execution information 612 to control the execution of the extension function by the extension plug-in 2001. To do.

出力制御部2102は、1つ以上の拡張プラグイン2001から、印刷データを含む出力要求(印刷要求)を受け付けると、印刷データを画像形成装置20等に出力する制御を行う。例えば、出力制御部2102は、受付した印刷データを、OS302のスプーラ等に出力する。 When the output control unit 2102 receives an output request (print request) including print data from one or more expansion plug-ins 2001, the output control unit 2102 controls to output the print data to the image forming apparatus 20 or the like. For example, the output control unit 2102 outputs the received print data to the spooler or the like of the OS 302.

このように、プラグイン実行部603は、拡張プラグイン2001に対して、印刷データの出力要求を受付するためのインタフェース(出力制御部2102)を備えることができる。 As described above, the plug-in execution unit 603 can provide the extension plug-in 2001 with an interface (output control unit 2102) for receiving an output request for print data.

(拡張プラグインの機能構成)
拡張プラグイン2001は、例えば、処理制御部2103、及び処理部2104を有する。また、好ましくは、拡張プラグイン2001は、出力要求部2105等を有する。
(Functional configuration of extension plug-in)
The expansion plug-in 2001 has, for example, a processing control unit 2103 and a processing unit 2104. Further, preferably, the expansion plug-in 2001 has an output request unit 2105 and the like.

処理部2104は、処理制御部2103からの制御に従って、予め定められた処理(拡張機能)を実行する。なお、予め定められた処理には、例えば、印刷データに変更を加える変更処理、印刷データから情報を読出する読出処理、印刷データを転送する転送処理、又は認証処理等が含まれる。 The processing unit 2104 executes a predetermined process (extended function) according to the control from the processing control unit 2103. The predetermined process includes, for example, a change process for changing the print data, a read process for reading information from the print data, a transfer process for transferring the print data, an authentication process, and the like.

処理制御部2103は、描画部333のプラグイン実行部603からの処理要求を受付し、受付した処理要求に従って、処理部2104に処理を実行させる。 The processing control unit 2103 receives a processing request from the plug-in execution unit 603 of the drawing unit 333, and causes the processing unit 2104 to execute the processing according to the received processing request.

出力要求部2105は、処理制御部2103が処理(例えば変更処理)を実行した印刷データを、画像形成装置20等に出力する場合、プラグイン実行部603の出力制御部2102に、印刷データの出力を要求する。 When the output request unit 2105 outputs the print data executed by the process control unit 2103 (for example, change processing) to the image forming apparatus 20 or the like, the output request unit 2105 outputs the print data to the output control unit 2102 of the plug-in execution unit 603. To request.

このように、拡張プラグイン2001は、描画部333に対して、印刷データの出力を要求することができる。 In this way, the extension plug-in 2001 can request the drawing unit 333 to output print data.

なお、例えば、拡張プラグイン2001にて印刷データの転送処理を行った場合等、クライアント装置10から画像形成装置20へ印刷データを出力することが不要である場合、拡張プラグイン2001は、出力要求を行わずに処理の終了の通知のみを行う。 When it is not necessary to output the print data from the client device 10 to the image forming device 20, for example, when the print data is transferred by the extension plug-in 2001, the extension plug-in 2001 requests an output. Only notifies the end of processing without performing.

<処理の流れ>
図22は、第5の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。なお、OS302、描画制御部601、印刷データ生成部604、印刷情報取得部602等の処理は、第1〜4の実施形態と同様なので、ここでは詳細な説明は省略する。
<Processing flow>
FIG. 22 is a sequence diagram showing an example of processing of the information processing system according to the fifth embodiment. Since the processes of the OS 302, the drawing control unit 601, the print data generation unit 604, the print information acquisition unit 602, and the like are the same as those in the first to fourth embodiments, detailed description thereof will be omitted here.

ステップS2201において、OS302は、例えば、デスクトップアプリ321等からの印刷要求に応じて、プリンタドライバ303に、印刷対象データの描画(印刷データの生成)を指示する描画命令を通知する。なお、プリンタドライバ303に通知された描画命令は、描画部333の描画制御部601によって受け付けられる。 In step S2201, the OS 302 notifies the printer driver 303 of a drawing command instructing drawing of print target data (generation of print data), for example, in response to a print request from the desktop application 321 or the like. The drawing command notified to the printer driver 303 is accepted by the drawing control unit 601 of the drawing unit 333.

ステップS2202において、描画制御部601は、OS302から通知される描画命令を受け付けると、印刷情報取得部602に、印刷情報611の取得を指示する。 In step S2202, when the drawing control unit 601 receives the drawing command notified from the OS 302, the drawing control unit 601 instructs the print information acquisition unit 602 to acquire the print information 611.

ステップS2203において、印刷情報取得部602は、印刷情報記憶部610に記憶された印刷情報611を読み出す。なお、ここでは、印刷情報611には、連携アプリ2002等によって記憶された1つ以上の拡張プラグイン2001が実行する処理に関する実行情報612が含まれているものとする。 In step S2203, the print information acquisition unit 602 reads out the print information 611 stored in the print information storage unit 610. Here, it is assumed that the print information 611 includes execution information 612 regarding the processing executed by one or more extension plug-ins 2001 stored by the linked application 2002 or the like.

ステップS2204において、印刷情報取得部602は、取得した印刷情報611を、描画制御部601に通知する。 In step S2204, the print information acquisition unit 602 notifies the drawing control unit 601 of the acquired print information 611.

ステップS2205において、描画制御部601は、印刷データ生成部604に、印刷データの生成を指示する。 In step S2205, the drawing control unit 601 instructs the print data generation unit 604 to generate print data.

ステップS2206、S2207において、印刷データ生成部604は、印刷対象データを記憶するOS302のスプーラ等から印刷対象データを取得する。 In steps S2206 and S2207, the print data generation unit 604 acquires the print target data from the spooler or the like of the OS 302 that stores the print target data.

ステップS2208において、印刷データ生成部604は、印刷対象データを、画像形成装置20で印刷可能な印刷データに変換することにより、印刷データ1を生成する。 In step S2208, the print data generation unit 604 generates the print data 1 by converting the print target data into print data that can be printed by the image forming apparatus 20.

ステップS2209において、印刷データ生成部604は、生成した印刷データ1を描画制御部601に通知する。 In step S2209, the print data generation unit 604 notifies the drawing control unit 601 of the generated print data 1.

ステップS2210において、描画制御部601は、ステップS2209で取得した印刷データ1と、ステップS2204で取得した印刷情報611に含まれる実行情報612とを含む実行指示をプラグイン実行部603に通知する。 In step S2210, the drawing control unit 601 notifies the plug-in execution unit 603 of an execution instruction including the print data 1 acquired in step S2209 and the execution information 612 included in the print information 611 acquired in step S2204.

ステップS2211〜S2216において、プラグイン実行部603は、実行指示に含まれる実行情報612に従って、1つ以上の拡張プラグイン2001を呼出して、処理を実行させる。 In steps S221 to S2216, the plug-in execution unit 603 calls one or more extension plug-ins 2001 according to the execution information 612 included in the execution instruction to execute the process.

ここで、実行情報612の一例のイメージを図23に示す。図23の例では、実行情報2300は、第1の拡張プラグイン2302と、第2の拡張プラグイン2303とを含む配列2301で定義されている。各プラグインは、例えば、「name」、「path」、「ReadOnly」等の情報要素を含む。 Here, an image of an example of execution information 612 is shown in FIG. In the example of FIG. 23, the execution information 2300 is defined by an array 2301 including a first extension plug-in 2302 and a second extension plug-in 2303. Each plug-in contains information elements such as "name", "path", "ReadOnly" and the like.

「name」は、各プラグインの名前(プラグイン名)を示す情報である。「path」は、各プラグインにアクセスするためのパス情報である。「ReadOnly」は、各プラグインが、読出し専用の属性を有している(true)か、読出し専用の属性を有していないか(false)を示す情報である。 “Name” is information indicating the name of each plug-in (plug-in name). "Path" is path information for accessing each plug-in. "ReadOnly" is information indicating whether each plug-in has a read-only attribute (true) or does not have a read-only attribute (false).

なお、図23に示す実行情報2300は、印刷情報記憶部610に記憶される実行情報612の一例である。実行情報612は、1つ以上の拡張プラグイン2001を呼出するための情報が含まれていれば良い。 The execution information 2300 shown in FIG. 23 is an example of the execution information 612 stored in the print information storage unit 610. The execution information 612 may include information for calling one or more extension plug-ins 2001.

プラグイン実行部603は、実行情報612に含まれるパス情報に従って、例えば、順次に拡張プラグイン2001を呼出することにより、各拡張プラグイン2001に処理を実行させる。 The plug-in execution unit 603 causes each extension plug-in 2001 to execute a process by, for example, sequentially calling the extension plug-ins 2001 according to the path information included in the execution information 612.

例えば、図22のステップS2211において、プラグイン実行部603の実行制御部2101は、第1の拡張プラグインであるプラグイン1を呼出し、プラグイン1に印刷データ1を通知する。このとき、プラグイン実行部603は、処理の要求元を特定するための情報である論理プリンタ名や、ジョブID等の情報も、拡張プラグイン2001(プラグイン1)に通知する。 For example, in step S2211 of FIG. 22, the execution control unit 2101 of the plug-in execution unit 603 calls the plug-in 1, which is the first extension plug-in, and notifies the plug-in 1 of the print data 1. At this time, the plug-in execution unit 603 also notifies the extension plug-in 2001 (plug-in 1) of information such as the logical printer name and the job ID, which are information for specifying the processing request source.

ステップS2212において、プラグイン1の処理制御部2103は、予め定められた処理(例えば、印刷データ1をカラーからモノクロに変換する変更処理等)を、処理部2104に実行させる。 In step S2212, the processing control unit 2103 of the plug-in 1 causes the processing unit 2104 to execute a predetermined process (for example, a change process for converting the print data 1 from color to monochrome).

ステップS2213において、プラグイン1の処理制御部2103は、変更処理が実行された印刷データ2を含む完了通知を、プラグイン実行部603に通知する。 In step S2213, the process control unit 2103 of the plug-in 1 notifies the plug-in execution unit 603 of the completion notification including the print data 2 for which the change process has been executed.

ステップS2214において、プラグイン実行部603の実行制御部2101は、第2の拡張プラグインであるプラグイン2を呼出し、プラグイン2に印刷データ2を通知する。 In step S2214, the execution control unit 2101 of the plug-in execution unit 603 calls the plug-in 2 which is the second extension plug-in, and notifies the plug-in 2 of the print data 2.

ステップS2215、S2216において、プラグイン2の処理制御部2103は、予め定められた処理(例えば、印刷データ2をサーバ装置30に転送し、印刷データ2を画像形成装置20に出力する処理等)を、処理部2104、及び出力要求部2105に実行させる。 In steps S2215 and S2216, the process control unit 2103 of the plug-in 2 performs a predetermined process (for example, a process of transferring the print data 2 to the server device 30 and outputting the print data 2 to the image forming device 20). , Processing unit 2104, and output requesting unit 2105.

これにより、例えば、ステップS2215において、プラグイン2の処理部2104は、印刷データ2をサーバ装置30に転送する処理を実行する。また、ステップS2216において、プラグイン2の出力要求部2105は、印刷データ2の出力(印刷)を描画部333に要求する。 As a result, for example, in step S2215, the processing unit 2104 of the plug-in 2 executes a process of transferring the print data 2 to the server device 30. Further, in step S2216, the output request unit 2105 of the plug-in 2 requests the drawing unit 333 to output (print) the print data 2.

ステップS2217において、プラグイン実行部603の出力制御部2102は、拡張プラグイン2001から、印刷データ2の出力要求を受付すると、印刷データ2の出力要求を描画制御部601に通知する。 In step S2217, when the output control unit 2102 of the plug-in execution unit 603 receives the output request of the print data 2 from the extension plug-in 2001, the output control unit 2102 notifies the drawing control unit 601 of the output request of the print data 2.

ステップS2218、S2219において、描画部333の描画制御部601は、OS302を介して、画像形成装置20に印刷データ2を送信する。 In steps S2218 and S2219, the drawing control unit 601 of the drawing unit 333 transmits the print data 2 to the image forming apparatus 20 via the OS 302.

ステップS2220において、画像形成装置20は、受信した印刷データ2の印刷を実行する。 In step S2220, the image forming apparatus 20 executes printing of the received print data 2.

上記の処理により、プリンタドライバ303は、プリンタドライバ303の外部にある1つ以上の拡張プラグイン2001を呼出して、拡張機能を実行させることができるようになる。また、プリンタドライバ303は、拡張プラグイン2001からの印刷データの出力を受付するインタフェースを有しているので、印刷データの出力を要する拡張機能を、拡張プラグイン2001に実行させることができるようになる。 By the above processing, the printer driver 303 can call one or more extension plug-ins 2001 outside the printer driver 303 to execute the extension function. Further, since the printer driver 303 has an interface for receiving the output of the print data from the extension plug-in 2001, the extension plug-in 2001 can execute the extension function that requires the output of the print data. Become.

[第6の実施形態]
<機能構成>
(クライアント装置の機能構成)
図24は、第6の実施形態に係るクライアント装置の機能構成図である。図24に示す第6の実施形態に係るクライアント装置10は、図20に示す第5の実施形態に係るクライアント装置10の機能構成に加えて、UI部305が図示されている。このUI部305は、図4に示すUI部305に対応しており、拡張設定部313、ストアデバイスアプリ304等が含まれる。
[Sixth Embodiment]
<Functional configuration>
(Functional configuration of client device)
FIG. 24 is a functional configuration diagram of the client device according to the sixth embodiment. In the client device 10 according to the sixth embodiment shown in FIG. 24, the UI unit 305 is shown in addition to the functional configuration of the client device 10 according to the fifth embodiment shown in FIG. This UI unit 305 corresponds to the UI unit 305 shown in FIG. 4, and includes an extended setting unit 313, a store device application 304, and the like.

本実施形態に係るUI部305は、プラグイン実行部603からのUI表示要求に従って、設定画面や認証画面等の表示画面(UI)を表示装置102等に表示させて、ユーザの入力操作を受け付ける。なお、UI部305は、拡張設定部313、ストアデバイスアプリ304とは異なるアプリ(実行ファイル)等によって実現されるものであっても良い。 The UI unit 305 according to the present embodiment displays a display screen (UI) such as a setting screen or an authentication screen on the display device 102 or the like in accordance with a UI display request from the plug-in execution unit 603, and accepts a user's input operation. .. The UI unit 305 may be realized by an application (executable file) different from the extended setting unit 313 and the store device application 304.

図25は、第6の実施形態に係るプラグイン実行部、及び拡張プラグインの機能構成図である。 FIG. 25 is a functional configuration diagram of the plug-in execution unit and the extension plug-in according to the sixth embodiment.

(プラグイン実行部の機能構成)
図25に示す第6の実施形態に係るプラグイン実行部603は、図20に示す第5の実施形態に係るプラグイン実行部603の機能構成に加えて、UI制御部2501を含む。
(Functional configuration of plug-in execution part)
The plug-in execution unit 603 according to the sixth embodiment shown in FIG. 25 includes a UI control unit 2501 in addition to the functional configuration of the plug-in execution unit 603 according to the fifth embodiment shown in FIG.

UI制御部2501は、拡張プラグイン2001から、UI(ユーザインタフェース)の表示を要求するUI表示要求を受け付けると、UI表示要求に含まれるUI情報を用いて、例えば、設定画面や認証画面等の表示画面(UI)をUI部305に表示させる。また、UI制御部2501は、UI部305が受け付けた入力データを、要求元の拡張プラグイン2001に通知する。 When the UI control unit 2501 receives a UI display request requesting the display of the UI (user interface) from the extension plug-in 2001, the UI control unit 2501 uses the UI information included in the UI display request to, for example, a setting screen, an authentication screen, or the like. The display screen (UI) is displayed on the UI unit 305. Further, the UI control unit 2501 notifies the extension plug-in 2001 of the request source of the input data received by the UI unit 305.

このように、プラグイン実行部603は、拡張プラグイン2001に対して、UIの表示要求を受付するためのインタフェース(UI制御部2501)を有していることが望ましい。これにより、拡張プラグイン2001の各々でUIを表示させるためのUI表示機能を用意する必要がなくなると共に、1つの印刷処理の中で、複数の表示プロセスが実行されることを低減させることができる。ここで、UI表示機能とは、UIの画面を立ち上げるための実行ファイルである。 As described above, it is desirable that the plug-in execution unit 603 has an interface (UI control unit 2501) for receiving a UI display request for the extension plug-in 2001. This eliminates the need to prepare a UI display function for displaying the UI in each of the extension plug-ins 2001, and can reduce the execution of a plurality of display processes in one printing process. .. Here, the UI display function is an executable file for launching the UI screen.

(拡張プラグインの機能構成)
図25に示す第6の実施形態に係る拡張プラグイン2001は、図20に示す第5の実施形態に係る拡張プラグイン2001の機能構成に加えて、UI呼出部2502を含む。
(Functional configuration of extension plug-in)
The extension plug-in 2001 according to the sixth embodiment shown in FIG. 25 includes a UI calling unit 2502 in addition to the functional configuration of the extension plug-in 2001 according to the fifth embodiment shown in FIG.

UI呼出部2502は、拡張プラグイン2001から、UIを表示する必要がある場合、プラグイン実行部603のUI制御部2501に、UIの表示を要求する。これにより、拡張プラグイン2001は、プラグイン実行部603のUI制御部2501を利用して、UIの表示を要求することができる。 When it is necessary to display the UI from the extension plug-in 2001, the UI calling unit 2502 requests the UI control unit 2501 of the plug-in execution unit 603 to display the UI. As a result, the extension plug-in 2001 can request the display of the UI by using the UI control unit 2501 of the plug-in execution unit 603.

<処理の流れ>
図26は、第6の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。なお、図26のステップS2201〜S2210の処理は、図22に示す第5の実施形態に係る処理と同様なので、ここでは、第5の実施形態との相違点を中心に説明を行う。
<Processing flow>
FIG. 26 is a sequence diagram showing an example of processing of the information processing system according to the sixth embodiment. Since the processes of steps S2201 to S2210 of FIG. 26 are the same as the processes of the fifth embodiment shown in FIG. 22, the differences from the fifth embodiment will be mainly described here.

ステップS2601〜S2608において、プラグイン実行部603は、実行指示に含まれる実行情報612に従って、1つ以上の拡張プラグイン2001を呼出して、処理を実行させる。ここでは、実行情報612に、UIを表示させる処理を含むプラグイン3の情報が含まれているものとして以下の説明を行う。 In steps S2601 to S2608, the plug-in execution unit 603 calls one or more extension plug-ins 2001 according to the execution information 612 included in the execution instruction to execute the process. Here, the following description will be given assuming that the execution information 612 includes the information of the plug-in 3 including the process of displaying the UI.

ステップS2601において、プラグイン実行部603の実行制御部2101は、プラグイン3を呼出し、プラグイン3に印刷データ1を通知する。これにより、プラグイン3の処理制御部2103は、予め定められた処理(例えば、UIを表示させて、入力された入力データを用いて印刷データを変更する変更処理等)を、処理部2104に実行させる。 In step S2601, the execution control unit 2101 of the plug-in execution unit 603 calls the plug-in 3 and notifies the plug-in 3 of the print data 1. As a result, the processing control unit 2103 of the plug-in 3 performs predetermined processing (for example, a change processing of displaying the UI and changing the print data using the input input data) to the processing unit 2104. Let it run.

ステップS2602において、プラグイン3の処理部2104は、UI呼出部2502を用いて、プラグイン実行部603にUIの表示を要求するUI表示要求を通知する。このUI表示要求には、例えば、UIを表示するためのUI情報が含まれる。なお、このUI情報には、例えば、画面のサイズやタイトル、画面に表示させる内容に関する情報等が含まれる。 In step S2602, the processing unit 2104 of the plug-in 3 uses the UI calling unit 2502 to notify the plug-in execution unit 603 of the UI display request requesting the display of the UI. This UI display request includes, for example, UI information for displaying the UI. The UI information includes, for example, screen size and title, information on the content to be displayed on the screen, and the like.

ステップS2603において、プラグイン実行部603のUI制御部2501は、UI表示要求を受付すると、UI部305にUIの起動を要求し、UI情報を通知する。 In step S2603, when the UI control unit 2501 of the plug-in execution unit 603 receives the UI display request, it requests the UI unit 305 to start the UI and notifies the UI information.

ステップS2604において、UI部305は、受付したUI情報を用いてUIを表示し、ユーザによって入力される入力データを受付する。つまり、このUIで表示する表示内容は、拡張プラグイン2001において生成され、UIの表示はUI部305のプロセスにおいて行われる。 In step S2604, the UI unit 305 displays the UI using the received UI information and receives the input data input by the user. That is, the display content to be displayed by this UI is generated in the extension plug-in 2001, and the UI is displayed in the process of the UI unit 305.

ステップS2605において、UI部305は、受付した入力データをプラグイン実行部603に通知する。 In step S2605, the UI unit 305 notifies the plug-in execution unit 603 of the received input data.

ステップS2606において、プラグイン実行部603のUI制御部2501は、UI部305から受付した入力データを、要求元のプラグイン3のUI呼出部2502に通知する。 In step S2606, the UI control unit 2501 of the plug-in execution unit 603 notifies the UI calling unit 2502 of the requesting plug-in 3 of the input data received from the UI unit 305.

ステップS2607において、プラグイン3の処理部2104は、UI呼出部2502が受付した入力データを用いて印刷データを変更する変更処理を実行し、印刷データ3を生成する。 In step S2607, the processing unit 2104 of the plug-in 3 executes a change process of changing the print data using the input data received by the UI calling unit 2502, and generates the print data 3.

ステップS2608において、プラグイン3の処理部2104は、出力要求部2105を用いて、印刷データ3の出力(印刷)を描画部333に要求する。 In step S2608, the processing unit 2104 of the plug-in 3 requests the drawing unit 333 to output (print) the print data 3 by using the output requesting unit 2105.

なお、上記に示すような変更処理を行う拡張プラグイン2001以外に、サーバ装置30等に印刷データの転送処理を行う拡張プラグイン2001にて、UIを表示することが考えられる。 In addition to the extension plug-in 2001 that performs the change processing as shown above, it is conceivable that the UI is displayed by the extension plug-in 2001 that performs the transfer processing of print data to the server device 30 or the like.

この場合、UI部305は、ステップS2604において、転送処理を行うか否かの選択を表示したUIを表示し、ユーザによる選択操作を受付する。 In this case, in step S2604, the UI unit 305 displays the UI displaying the selection of whether or not to perform the transfer process, and accepts the selection operation by the user.

UI部305が、転送処理を行うという選択を受付した場合、拡張プラグイン2001は、ステップS2607において、印刷データ3をサーバ装置30等に転送し、ステップS2608において、描画部333に、処理の終了の通知を行う。このとき、拡張プラグイン2001は、描画部333に印刷データ3の出力要求は行わない。 When the UI unit 305 accepts the option to perform the transfer process, the extension plug-in 2001 transfers the print data 3 to the server device 30 or the like in step S2607, and ends the process to the drawing unit 333 in step S2608. Notify. At this time, the extension plug-in 2001 does not request the drawing unit 333 to output the print data 3.

一方、UI部305が、転送処理を行わないという選択を受付した場合、拡張プラグイン2001は、ステップS2607において、特に処理を行わずに、ステップS2608において、印刷データ3の出力を描画部333に要求する。 On the other hand, when the UI unit 305 accepts the option of not performing the transfer process, the extension plug-in 2001 outputs the print data 3 to the drawing unit 333 in step S2608 without performing any particular process in step S2607. Request.

このように、本実施形態によれば、プラグイン実行部603は、拡張プラグイン2001からのUI表示要求に応じて、UI部305にUIを表示させるUI制御部2501を有している。これにより、プリンタドライバ303は、拡張プラグイン2001に、UIを用いて入力された入力データを利用する様々な拡張処理を実行させることができるようになる。 As described above, according to the present embodiment, the plug-in execution unit 603 has a UI control unit 2501 that causes the UI unit 305 to display the UI in response to the UI display request from the extension plug-in 2001. As a result, the printer driver 303 enables the extension plug-in 2001 to execute various extension processes using the input data input using the UI.

また、本実施形態では、拡張プラグイン2001は、プラグイン実行部603のUI制御部2501を利用してUIを表示することができる。したがって、クライアント装置10に複数の拡張プラグイン2001を組み込む場合であっても、UI表示をするためのアプリケーション(実行ファイル)を、拡張プラグイン2001毎に配置することが不要となる。これにより、本実施形態に係るクライアント装置10によれば、印刷実行時において1回の印刷処理で、複数の表示プロセスが実行されることを低減させることができる。 Further, in the present embodiment, the extension plug-in 2001 can display the UI by using the UI control unit 2501 of the plug-in execution unit 603. Therefore, even when a plurality of extension plug-ins 2001 are incorporated in the client device 10, it is not necessary to arrange an application (executable file) for displaying the UI for each extension plug-in 2001. As a result, according to the client device 10 according to the present embodiment, it is possible to reduce the execution of a plurality of display processes in one printing process at the time of printing execution.

[第7の実施形態]
第5、6の実施形態では、プラグイン実行部603は、印刷データが生成された後に、拡張プラグイン2001を用いて、拡張機能を実行させていた。しかし、これは一例であり、プラグイン実行部603は、他のタイミング、例えば、印刷処理の開始時や、終了時等に、拡張プラグイン2001を用いて、拡張機能を実行させるものであっても良い。
[7th Embodiment]
In the fifth and sixth embodiments, the plug-in execution unit 603 executes the extension function by using the extension plug-in 2001 after the print data is generated. However, this is only an example, and the plug-in execution unit 603 executes the extended function by using the extended plug-in 2001 at another timing, for example, at the start or end of the printing process. Is also good.

<処理の流れ>
図27は、第7の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。この処理は、印刷処理の開始時に、拡張プラグイン2001を用いて拡張機能を実行する処理の一例を示している。なお、図27のステップS2201〜S2204、及びステップS2205〜S2210の処理は、図22に示す第5の実施形態の処理と同様なので、ここでは、第5の実施形態との相違点を中心に説明を行う。
<Processing flow>
FIG. 27 is a sequence diagram showing an example of processing of the information processing system according to the seventh embodiment. This process shows an example of a process of executing an extended function by using the extended plug-in 2001 at the start of the printed process. Since the processes of steps S2201 to S2204 and steps S2205 to S2210 of FIG. 27 are the same as the processes of the fifth embodiment shown in FIG. 22, the differences from the fifth embodiment will be mainly described here. I do.

また、ここでは、ステップS2204で取得する印刷情報に、例えば、図28に示すような実行情報2800が含まれているものとする。 Further, here, it is assumed that the print information acquired in step S2204 includes, for example, the execution information 2800 as shown in FIG. 28.

図28に示す実行情報2800において、プラグインAの実行情報2801、及びプラグインBの実行情報2803には、図23で説明した「name」、「path」、及び「ReadOnly」の情報要素に加えて、「Timing」の情報要素が含まれている。 In the execution information 2800 shown in FIG. 28, the execution information 2801 of the plug-in A and the execution information 2803 of the plug-in B include the information elements of “name”, “path”, and “ReadOnly” described in FIG. And the information element of "Timing" is included.

「Timing」は、各プラグインの実行タイミングを示す情報の一例であり、例えば、「Start」は、印刷処理の開始したときに拡張プラグイン2001を呼出することを示している。また「Page」は、印刷データを生成したときに拡張プラグイン2001を呼出することを示している。 "Timing" is an example of information indicating the execution timing of each plug-in. For example, "Start" indicates that the extension plug-in 2001 is called when the printing process is started. Further, "Page" indicates that the extension plug-in 2001 is called when the print data is generated.

例えば、図28のプラグインAの実行情報2801において、情報要素「Timing」2802には、「Start」が設定されているので、プラグインAは、印刷処理の開始時に呼出される。また、図29のプラグインBの実行情報2803において、情報要素「Timing」2804には、「Page」が設定されているので、プラグインBは、印刷データの生成時に呼出される。 For example, in the execution information 2801 of the plug-in A of FIG. 28, “Start” is set in the information element “Timing” 2802, so that the plug-in A is called at the start of the printing process. Further, in the execution information 2803 of the plug-in B of FIG. 29, since "Page" is set in the information element "Timing" 2804, the plug-in B is called when the print data is generated.

図27のステップS2701において、描画制御部601は、印刷処理の開始時に呼出するプラグインの実行情報(実行情報A)をプラグイン実行部603に通知する。図28に示す実行情報2800の例では、プラグインAの実行情報2801が、プラグイン実行部603に通知される。 In step S2701 of FIG. 27, the drawing control unit 601 notifies the plug-in execution unit 603 of the execution information (execution information A) of the plug-in to be called at the start of the printing process. In the example of the execution information 2800 shown in FIG. 28, the execution information 2801 of the plug-in A is notified to the plug-in execution unit 603.

ステップS2702〜S2710において、プラグイン実行部603は、実行指示に含まれる実行情報Aに従って、プラグインAを呼出して処理を実行させる。ここでは、プラグインAが、UIを用いてユーザの認証処理を行うプラグインであるものとして、以下の説明を行う。 In steps S2702 to S2710, the plug-in execution unit 603 calls the plug-in A to execute the process according to the execution information A included in the execution instruction. Here, the following description will be given assuming that the plug-in A is a plug-in that performs user authentication processing using the UI.

ステップS2702において、プラグイン実行部603の実行制御部2101は、プラグインAを呼出し、プラグインAに処理の実行を開始させる。 In step S2702, the execution control unit 2101 of the plug-in execution unit 603 calls the plug-in A and causes the plug-in A to start executing the process.

ステップS2703において、プラグインAの処理部2104は、UI呼出部2502を用いて、プラグイン実行部603にUIの表示を要求するUI表示要求を通知する。このUI表示要求には、例えば、認証画面を表示するためのUI情報が含まれる。 In step S2703, the processing unit 2104 of the plug-in A uses the UI calling unit 2502 to notify the plug-in execution unit 603 of the UI display request requesting the display of the UI. This UI display request includes, for example, UI information for displaying the authentication screen.

ステップS2704において、プラグイン実行部603のUI制御部2501は、UI表示要求を受付すると、UI部305にUIの起動を要求し、UI情報を通知する。 In step S2704, when the UI control unit 2501 of the plug-in execution unit 603 receives the UI display request, it requests the UI unit 305 to start the UI and notifies the UI information.

ステップS2705において、UI部305は、受付したUI情報を用いて認証画面のUIを表示し、ユーザによって入力される認証データ(例えばパスワード等)を受付する。 In step S2705, the UI unit 305 displays the UI of the authentication screen using the received UI information, and receives the authentication data (for example, password) input by the user.

ステップS2706において、UI部305は、受付した認証データをプラグイン実行部603に通知する。 In step S2706, the UI unit 305 notifies the plug-in execution unit 603 of the received authentication data.

ステップS2707において、プラグイン実行部603のUI制御部2501は、UI部305から受付した認証データを、要求元のプラグインAのUI呼出部2502に通知する。 In step S2707, the UI control unit 2501 of the plug-in execution unit 603 notifies the UI calling unit 2502 of the requesting plug-in A of the authentication data received from the UI unit 305.

ステップS2708において、プラグインAの処理部2104は、UI呼出部2502が受付した認証データを用いて認証処理を実行する。 In step S2708, the processing unit 2104 of the plug-in A executes the authentication process using the authentication data received by the UI calling unit 2502.

ステップS2709において、プラグインAの処理部2104は、描画部222のプラグイン実行部603に認証結果(図27の例では認証OK)を通知する。 In step S2709, the processing unit 2104 of the plug-in A notifies the plug-in execution unit 603 of the drawing unit 222 of the authentication result (authentication OK in the example of FIG. 27).

ステップS2710において、プラグイン実行部603は、描画制御部601に認証結果を含む完了通知を通知する。 In step S2710, the plug-in execution unit 603 notifies the drawing control unit 601 of the completion notification including the authentication result.

描画制御部601は、認証結果がOKである場合、ステップS2205以降の処理を実行させる。一方、描画制御部601は、認証結果がOKでない場合、例えば、印刷処理を終了させる。 When the authentication result is OK, the drawing control unit 601 executes the processes after step S2205. On the other hand, if the authentication result is not OK, the drawing control unit 601 ends, for example, the printing process.

このように、描画部333のプラグイン実行部603は、例えば、印刷処理の開始時に拡張プラグイン2001を呼出して、拡張機能を実行させることができる。 In this way, the plug-in execution unit 603 of the drawing unit 333 can call the extension plug-in 2001 at the start of the printing process to execute the extension function, for example.

同様に、プラグイン実行部603は、印刷処理の終了時等に拡張プラグイン2001を呼出して、拡張機能を実行させるものであっても良い。この場合、例えば、図28に示す実行情報2800において、「Timing」の情報要素を「End」に設定する。 Similarly, the plug-in execution unit 603 may call the extension plug-in 2001 at the end of the printing process or the like to execute the extension function. In this case, for example, in the execution information 2800 shown in FIG. 28, the information element of "Timing" is set to "End".

[第8の実施形態]
第1〜7の実施形態では、プリンタドライバ303の各機能がクライアント装置10に含まれるものとして説明を行った。
[8th Embodiment]
In the first to seventh embodiments, each function of the printer driver 303 has been described as being included in the client device 10.

しかし、例えば、OS302のポイントアンドプリント機能を用いて印刷を行う場合等、プリンタドライバ303に含まれる機能構成は、クライアント装置10とサーバ装置30とに分散されて配置されるものであっても良い。本実施形態では、サーバ装置30で印刷データを生成するサーバサイドレンダリングを行う場合の処理の例について説明する。 However, for example, when printing is performed using the point-and-print function of the OS 302, the functional configuration included in the printer driver 303 may be distributed and arranged in the client device 10 and the server device 30. .. In this embodiment, an example of processing in the case of performing server-side rendering in which print data is generated by the server device 30 will be described.

<機能構成>
図29は、第8の実施形態に係る情報処理システムの機能構成図である。
<Functional configuration>
FIG. 29 is a functional configuration diagram of the information processing system according to the eighth embodiment.

本実施形態に係るクライアント装置10は、例えば、図24に示す第6の実施形態に係るクライアント装置10に含まれる機能構成のうち、デスクトップアプリ321、OS302(OS302−1)、プリンタドライバ303、UI部305等を含む。また、クライアント装置10側では、プリンタドライバ303に含まれる機能構成のうち、設定制御部323、及び拡張設定部313等を用いる。 The client device 10 according to the present embodiment is, for example, the desktop application 321 and OS302 (OS302-1), the printer driver 303, and the UI among the functional configurations included in the client device 10 according to the sixth embodiment shown in FIG. Includes part 305 and the like. Further, on the client device 10 side, among the functional configurations included in the printer driver 303, the setting control unit 323, the extended setting unit 313, and the like are used.

一方、本実施形態に係るサーバ装置30は、例えば、図24に示す第6の実施形態に係るクライアント装置10に含まれる機能構成のうち、連携アプリ2002、OS302(OS302−2)、印刷情報記憶部610、プリンタドライバ303、及び1つ以上の拡張プラグイン2001等を含む。また、サーバ装置30側では、プリンタドライバ303に含まれる機能構成のうち、描画部333等を用いる。 On the other hand, the server device 30 according to the present embodiment is, for example, among the functional configurations included in the client device 10 according to the sixth embodiment shown in FIG. 24, the linked application 2002, OS302 (OS302-2), and print information storage. 610, printer driver 303, and one or more extension plug-ins 2001 and the like. Further, on the server device 30 side, the drawing unit 333 and the like are used among the functional configurations included in the printer driver 303.

なお、各部の機能は、例えば、図24に示す第6の実施形態に示す機能構成と同様である。 The functions of each part are the same as those shown in the sixth embodiment shown in FIG. 24, for example.

<処理の流れ>
図30は、第8の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。本実施形態では、クライアント装置10でユーザによる印刷操作が行われ、サーバ装置30側で描画処理が行われる。この場合、サーバ装置30にインストールされたプリンタドライバ303の描画部333による描画処理は、基本的に第5〜7の実施形態と同様である。
<Processing flow>
FIG. 30 is a sequence diagram showing an example of processing of the information processing system according to the eighth embodiment. In the present embodiment, the client device 10 performs a printing operation by the user, and the server device 30 performs a drawing process. In this case, the drawing process by the drawing unit 333 of the printer driver 303 installed in the server device 30 is basically the same as that of the fifth to seventh embodiments.

ただし、サーバ装置30側の拡張プラグイン2001が、UIを表示させる処理を実行する場合、クライアント装置10側でUIを表示させる必要がある。ここでは、サーバ装置30側の拡張プラグイン2001が、クライアント装置10側でUIを表示させる場合の処理を中心に説明する。 However, when the extension plug-in 2001 on the server device 30 side executes the process of displaying the UI, it is necessary to display the UI on the client device 10 side. Here, the processing when the extension plug-in 2001 on the server device 30 side displays the UI on the client device 10 side will be mainly described.

ステップS3001において、クライアント装置10のOS302−1は、デスクトップアプリ321から印刷要求を受付する。この印刷要求には、例えば、印刷の設定情報であるPrintTicketが含まれる。また、PrintTicketには、例えば、クライアント装置10のIPアドレス、及び印刷要求に対応するUI部305のプロセスID等が含まれるものとする。なお、このPrintTicketは、例えば、デスクトップアプリ321が、OS302を介して、プリンタドライバ303にPrintTicketの取得を要求したときに、設定制御部323によって生成される。 In step S3001, the OS 302-1 of the client device 10 receives a print request from the desktop application 321. This print request includes, for example, PrintTicket which is print setting information. Further, it is assumed that the PrintTicket includes, for example, the IP address of the client device 10, the process ID of the UI unit 305 corresponding to the print request, and the like. The PrintTicket is generated by the setting control unit 323, for example, when the desktop application 321 requests the printer driver 303 to acquire the PrintTicket via the OS 302.

ステップS3002、S3003において、OS302−1は、印刷データの生成を要求する描画命令を、サーバ装置30のOS302−2を介して、サーバ装置30の描画部333の描画制御部601に送信する。 In steps S3002 and S3003, the OS 302-1 transmits a drawing command requesting the generation of print data to the drawing control unit 601 of the drawing unit 333 of the server device 30 via the OS 302-2 of the server device 30.

ステップS3004において、描画制御部601は、描画命令を受け付けると、印刷情報取得部602に、印刷情報611の取得を指示する。 In step S3004, when the drawing control unit 601 receives the drawing command, the drawing control unit 601 instructs the print information acquisition unit 602 to acquire the print information 611.

ステップS3005において、印刷情報取得部602は、印刷情報記憶部610に記憶された印刷情報611を読み出す。なお、ここでは、印刷情報611には、連携アプリ2002等によって記憶された1つ以上の拡張プラグイン2001が実行する処理に関する実行情報612が含まれているものとする。 In step S3005, the print information acquisition unit 602 reads out the print information 611 stored in the print information storage unit 610. Here, it is assumed that the print information 611 includes execution information 612 regarding the processing executed by one or more extension plug-ins 2001 stored by the linked application 2002 or the like.

ステップS3006において、印刷情報取得部602は、取得した印刷情報611を、描画制御部601に通知する。 In step S3006, the print information acquisition unit 602 notifies the drawing control unit 601 of the acquired print information 611.

ステップS3007において、描画制御部601は、印刷データ生成部604に、印刷データの生成を指示する。 In step S3007, the drawing control unit 601 instructs the print data generation unit 604 to generate print data.

ステップS3008、S3009において、印刷データ生成部604は、印刷対象データを記憶するOS302−2のスプーラ等から印刷対象データを取得する。 In steps S3008 and S3009, the print data generation unit 604 acquires the print target data from the spooler or the like of the OS 302-2 that stores the print target data.

ステップS3010において、印刷データ生成部604は、印刷対象データを、画像形成装置20で印刷可能な印刷データに変換することにより、印刷データ1を生成する。 In step S3010, the print data generation unit 604 generates the print data 1 by converting the print target data into print data that can be printed by the image forming apparatus 20.

ステップS3011において、印刷データ生成部604は、生成した印刷データ1を描画制御部601に通知する。 In step S3011, the print data generation unit 604 notifies the drawing control unit 601 of the generated print data 1.

ステップS3012において、描画制御部601は、印刷データ1、実行情報612、クライアント装置10のIPアドレス、プロセスID等を含む実行指示をプラグイン実行部603に通知する。 In step S3012, the drawing control unit 601 notifies the plug-in execution unit 603 of an execution instruction including the print data 1, the execution information 612, the IP address of the client device 10, the process ID, and the like.

ステップS3013〜S3026において、プラグイン実行部603は、実行指示に含まれる実行情報612に従って、1つ以上の拡張プラグイン2001を呼出して、処理を実行させる。ここでは、実行情報612に、UIを表示させる処理を含むプラグイン3の情報が含まれているものとして以下の説明を行う。 In steps S3013 to S3026, the plug-in execution unit 603 calls one or more extension plug-ins 2001 according to the execution information 612 included in the execution instruction to execute the process. Here, the following description will be given assuming that the execution information 612 includes the information of the plug-in 3 including the process of displaying the UI.

ステップS3013において、プラグイン実行部603の実行制御部2101は、拡張プラグイン2001(プラグイン3)を呼出し、拡張プラグイン2001に印刷データ1を通知する。これにより、拡張プラグイン2001の処理制御部2103は、予め定められた処理(例えば、UIを表示させて、入力された入力データを用いて印刷データを変更する変更処理等)を、処理部2104に実行させる。 In step S3013, the execution control unit 2101 of the plug-in execution unit 603 calls the extension plug-in 2001 (plug-in 3) and notifies the extension plug-in 2001 of the print data 1. As a result, the processing control unit 2103 of the extension plug-in 2001 performs predetermined processing (for example, a change processing of displaying the UI and changing the print data using the input input data) in the processing unit 2104. To execute.

ステップS3014において、拡張プラグイン2001の処理部2104は、UI呼出部2502を用いて、プラグイン実行部603にUIの表示を要求するUI表示要求を通知する。このUI表示要求には、例えば、UIを表示するためのUI情報が含まれる。 In step S3014, the processing unit 2104 of the extension plug-in 2001 uses the UI calling unit 2502 to notify the plug-in execution unit 603 of the UI display request requesting the display of the UI. This UI display request includes, for example, UI information for displaying the UI.

ステップS3015において、プラグイン実行部603のUI制御部2501は、UI表示要求を受付すると、OS302−2を介して、クライアント装置10にUIの起動を要求するUI起動要求を送信する。このUI起動要求には、例えば、クライアント装置10のIPアドレス、プロセスID、及びUI情報等が含まれる。 In step S3015, when the UI control unit 2501 of the plug-in execution unit 603 receives the UI display request, it transmits a UI activation request requesting the activation of the UI to the client device 10 via the OS 302-2. The UI activation request includes, for example, the IP address, process ID, UI information, and the like of the client device 10.

別の一例として、プラグイン実行部603のUI制御部2501は、UI情報を含むUI起動要求を描画制御部601に通知するものであっても良い。この場合、描画制御部601は、クライアント装置10のIPアドレス、プロセスIDをUI起動要求に付加し、UI起動要求を、OS302−2を介して、クライアント装置10に送信する。 As another example, the UI control unit 2501 of the plug-in execution unit 603 may notify the drawing control unit 601 of a UI activation request including UI information. In this case, the drawing control unit 601 adds the IP address and process ID of the client device 10 to the UI start request, and transmits the UI start request to the client device 10 via the OS 302-2.

ステップS3016において、クライアント装置10のUI部305は、受付したUI情報を用いてUIを表示し、ユーザによって入力される入力データを受付する。 In step S3016, the UI unit 305 of the client device 10 displays the UI using the received UI information, and receives the input data input by the user.

ステップS3017において、クライアント装置10のUI部305は、入力データを要求元のプラグイン実行部603に通知する。 In step S3017, the UI unit 305 of the client device 10 notifies the input data to the requesting plug-in execution unit 603.

ステップS3018において、プラグイン実行部603のUI制御部2501は、受付した入力データを、要求元の拡張プラグイン2001のUI呼出部2502に通知する。 In step S3018, the UI control unit 2501 of the plug-in execution unit 603 notifies the UI call unit 2502 of the extension plug-in 2001 of the request source of the received input data.

ステップS3019において、拡張プラグイン2001の処理部2104は、UI呼出部2502が受付した入力データを用いて印刷データを変更する変更処理を実行し、印刷データ3を生成する。 In step S3019, the processing unit 2104 of the extension plug-in 2001 executes a change process of changing the print data using the input data received by the UI calling unit 2502, and generates the print data 3.

ステップS3020において、拡張プラグイン2001の処理部2104は、出力要求部2105を用いて、印刷データ3の出力(印刷)を描画部333に要求する。 In step S3020, the processing unit 2104 of the expansion plug-in 2001 requests the drawing unit 333 to output (print) the print data 3 by using the output requesting unit 2105.

ステップS3021において、プラグイン実行部603の出力制御部2102は、受付した印刷データ3を含む出力要求を描画制御部601に通知する。 In step S3021, the output control unit 2102 of the plug-in execution unit 603 notifies the drawing control unit 601 of the output request including the received print data 3.

ステップS3022において、描画制御部601は、OS302−2に印刷データ3を通知することにより、例えば、図29の画像形成装置20により印刷が行われる。 In step S3022, the drawing control unit 601 notifies the OS 302-2 of the print data 3, so that, for example, the image forming apparatus 20 of FIG. 29 prints.

このように、プリンタドライバ303の各機能構成は、クライアント装置10とサーバ装置30とに分散して配置されていても、クライアント装置10に配置されているときと同様に処理を実行することができる。 As described above, even if each functional configuration of the printer driver 303 is distributed and arranged in the client device 10 and the server device 30, the process can be executed in the same manner as when the printer driver 303 is arranged in the client device 10. ..

[第9の実施形態]
図31は、第9の実施形態に係る情報処理システムの機能構成図である。本実施形態では、OS302のポイントアンドプリント機能を用いて印刷を行う場合であって、クライアント装置10側で印刷データを生成するクライアントサイドレンダリングを行う場合の例について説明する。
[9th Embodiment]
FIG. 31 is a functional configuration diagram of the information processing system according to the ninth embodiment. In the present embodiment, an example will be described in which printing is performed using the point-and-print function of OS 302 and client-side rendering is performed in which print data is generated on the client device 10 side.

この場合、クライアント装置10の機能構成は、例えば、図24に示す第6の実施形態に係るクライアント装置10と同様で良い。図31の例では、クライアント装置10は、サーバ装置30に接続された画像形成装置20を用いて、印刷を実行することができる。この場合、プリンタドライバ303の描画部333の処理は、図26に示す第6の実施形態の処理と同様である。 In this case, the functional configuration of the client device 10 may be the same as that of the client device 10 according to the sixth embodiment shown in FIG. 24, for example. In the example of FIG. 31, the client device 10 can perform printing by using the image forming device 20 connected to the server device 30. In this case, the processing of the drawing unit 333 of the printer driver 303 is the same as the processing of the sixth embodiment shown in FIG.

また、図31において、OS302のポイントアンドプリント機能を用いて、サーバ装置30からクライアント装置10にプリンタドライバ303をインストールすることができる。この場合、サーバ装置30の印刷情報記憶部610に記憶された印刷情報611、及び実行情報612は、クライアント装置10の印刷情報記憶部610に引き継がれる。 Further, in FIG. 31, the printer driver 303 can be installed from the server device 30 to the client device 10 by using the point-and-print function of the OS 302. In this case, the print information 611 and the execution information 612 stored in the print information storage unit 610 of the server device 30 are taken over by the print information storage unit 610 of the client device 10.

したがって、例えば、第1〜4の実施形態に示すように、プラグイン実行部603が、実行情報612(例えばスクリプト、宛先情報等)に従って処理を実行する場合、クライアント装置10は、そのまま拡張機能を利用することができる。 Therefore, for example, as shown in the first to fourth embodiments, when the plug-in execution unit 603 executes the process according to the execution information 612 (for example, script, destination information, etc.), the client device 10 directly performs the extended function. It can be used.

1 情報処理システム
10 クライアント装置(情報処理装置)
20 画像形成装置
30 サーバ装置(外部装置)
301 アプリケーション(アプリケーションプログラム)
302 OS
303 プリンタドライバ(印刷を制御するプログラム)
304 ストアデバイスアプリ
305 UI部
311 ストアアプリ
313 拡張設定部
321 デスクトップアプリ
323 設定制御部
333 描画部
400 PropertyBag
420 QueuePropertyBag
603 プラグイン実行部(処理実行部)
604 印刷データ生成部
610 印刷情報記憶部
611 印刷情報
612 実行情報
1320 PrintTicket
2001 拡張プラグイン
2101 実行制御部
2102 出力制御部
2501 UI制御部
1 Information processing system 10 Client device (information processing device)
20 Image forming device 30 Server device (external device)
301 application (application program)
302 OS
303 Printer driver (program that controls printing)
304 Store device application 305 UI unit 311 Store application 313 Extended setting unit 321 Desktop application 323 Setting control unit 333 Drawing unit 400 PropertyBag
420 QueenPropertyBag
603 Plug-in execution unit (processing execution unit)
604 Print data generation unit 610 Print information storage unit 611 Print information 612 Execution information 1320 PrintTicket
2001 Extended plug-in 2101 Execution control unit 2102 Output control unit 2501 UI control unit

特開2012−226582号公報Japanese Unexamined Patent Publication No. 2012-226582

Claims (12)

印刷を制御するプログラムを実行する情報処理装置であって、
前記印刷を制御するプログラムが利用可能な記憶領域であって、前記印刷に用いる印刷情報を記憶する印刷情報記憶部を有し、
前記印刷を制御するプログラムは、
前記印刷の対象となるデータを画像形成装置で印刷可能な印刷データに変換する印刷データ生成部と、
前記印刷情報記憶部に記憶された前記印刷情報に、前記印刷データ生成部が生成する前記印刷データに関する所定の処理の実行情報が含まれている場合、該実行情報に基づいて前記所定の処理を実行する処理実行部と、
として前記情報処理装置を機能させ、
前記所定の処理の実行情報は、
前記所定の処理を実現するためのスクリプト、または前記所定の処理を実現するためのスクリプトの取得先を示す参照情報を含み、
前記処理実行部は、
前記所定の処理の実行情報に前記参照情報が含まれる場合は前記参照情報に示される前記所定の処理を実現するためのスクリプトを実行する
ことを特徴とする情報処理装置。
An information processing device that executes a program that controls printing.
A storage area that can be used by a program that controls printing, and has a print information storage unit that stores print information used for printing.
The program that controls printing is
A print data generation unit that converts the data to be printed into print data that can be printed by an image forming apparatus, and a print data generation unit.
When the print information stored in the print information storage unit includes execution information of a predetermined process related to the print data generated by the print data generation unit, the predetermined process is performed based on the execution information. The process execution part to be executed and
To make the information processing device function as
The execution information of the predetermined process is
Includes reference information indicating the acquisition destination of the script for realizing the predetermined process or the script for realizing the predetermined process.
The processing execution unit
An information processing apparatus characterized in that when the reference information is included in the execution information of the predetermined process, a script for realizing the predetermined process shown in the reference information is executed.
前記印刷情報記憶部に記憶された前記印刷情報は、
前記所定の処理の実行情報を含む
ことを特徴とする請求項1に記載の情報処理装置。
The print information stored in the print information storage unit is
The information processing apparatus according to claim 1, further comprising execution information of the predetermined process.
前記処理実行部は、
前記所定の処理を実行する機能を予め有し、
前記所定の処理の実行情報は、
前記処理実行部が前記所定の処理を実行するための設定情報を含む請求項1又は2に記載の情報処理装置。
The processing execution unit
It has a function to execute the predetermined process in advance, and has a function to execute the predetermined process.
The execution information of the predetermined process is
The information processing apparatus according to claim 1 or 2, wherein the processing execution unit includes setting information for executing the predetermined processing.
前記印刷情報記憶部は、
論理プリンタ毎に、前記印刷を制御するプログラムの設定情報を記憶する記憶領域である請求項1乃至3のいずれか一項に記載の情報処理装置。
The print information storage unit
The information processing apparatus according to any one of claims 1 to 3, which is a storage area for storing setting information of a program that controls printing for each logical printer.
前記印刷を制御するプログラムは、プリンタドライバである請求項1乃至4のいずれか一項に記載の情報処理装置。 The information processing device according to any one of claims 1 to 4, wherein the program that controls printing is a printer driver. 前記プリンタドライバは、1つ以上のフィルタを含むV4プリンタドライバであり、
前記印刷データ生成部、及び処理実行部は、1つのフィルタの範囲内で提供される請求項5に記載の情報処理装置。
The printer driver is a V4 printer driver that includes one or more filters.
The information processing apparatus according to claim 5, wherein the print data generation unit and the processing execution unit are provided within the range of one filter.
前記所定の処理は、
前記印刷データ生成部が生成する前記印刷データを、所定の外部装置に送信する処理を含む請求項1乃至6のいずれか一項に記載の情報処理装置。
The predetermined process is
The information processing apparatus according to any one of claims 1 to 6, which includes a process of transmitting the print data generated by the print data generation unit to a predetermined external device.
前記所定の処理の実行情報は、
前記外部装置の宛先情報を含む請求項7に記載の情報処理装置。
The execution information of the predetermined process is
The information processing device according to claim 7, which includes destination information of the external device.
前記所定の処理は、
前記印刷データ生成部が生成する前記印刷データのプレビューを表示させる処理を含む請求項1乃至8のいずれか一項に記載の情報処理装置。
The predetermined process is
The information processing apparatus according to any one of claims 1 to 8, which includes a process of displaying a preview of the print data generated by the print data generation unit.
印刷を実行する画像形成装置と、前記画像形成装置による前記印刷を制御するプログラムを実行する情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記印刷を制御するプログラムが利用可能な記憶領域であって、前記印刷に用いる印刷情報を記憶する印刷情報記憶部を有し、
前記印刷を制御するプログラムは、
前記印刷の対象となるデータを前記画像形成装置で印刷可能な印刷データに変換する印刷データ生成部と、
前記印刷情報記憶部に記憶された前記印刷情報に、前記印刷データ生成部が生成する前記印刷データに関する所定の処理の実行情報が含まれている場合、該実行情報に基づいて前記所定の処理を実行する処理実行部と、
として前記情報処理装置を機能させ、
前記所定の処理の実行情報は、
前記所定の処理を実現するためのスクリプト、または前記所定の処理を実現するためのスクリプトの取得先を示す参照情報を含み、
前記処理実行部は、
前記所定の処理の実行情報に前記参照情報が含まれる場合は前記参照情報に示される前記所定の処理を実現するためのスクリプトを実行する
ことを特徴とする情報処理システム。
An information processing system including an image forming apparatus that executes printing and an information processing apparatus that executes a program that controls printing by the image forming apparatus.
The information processing device
A storage area that can be used by a program that controls printing, and has a print information storage unit that stores print information used for printing.
The program that controls printing is
A print data generation unit that converts data to be printed into print data that can be printed by the image forming apparatus, and a print data generation unit.
When the print information stored in the print information storage unit includes execution information of a predetermined process related to the print data generated by the print data generation unit, the predetermined process is performed based on the execution information. The process execution part to be executed and
To make the information processing device function as
The execution information of the predetermined process is
Includes reference information indicating the acquisition destination of the script for realizing the predetermined process or the script for realizing the predetermined process.
The processing execution unit
An information processing system characterized in that when the reference information is included in the execution information of the predetermined process, a script for realizing the predetermined process shown in the reference information is executed.
印刷を制御するプログラムであって、
前記印刷を制御するプログラムから利用可能な記憶領域であって、前記印刷に用いる印刷情報を記憶する印刷情報記憶部と、
前記印刷の対象となるデータを画像形成装置で印刷可能な印刷データに変換する印刷データ生成部と、
前記印刷情報記憶部に記憶された前記印刷情報に、前記印刷データ生成部が生成する前記印刷データに関する所定の処理の実行情報が含まれている場合、該実行情報に基づいて前記所定の処理を実行する処理実行部と、
としてコンピュータを機能させ、
前記所定の処理の実行情報は、
前記所定の処理を実現するためのスクリプト、または前記所定の処理を実現するためのスクリプトの取得先を示す参照情報を含み、
前記処理実行部は、
前記所定の処理の実行情報に前記参照情報が含まれる場合は前記参照情報に示される前記所定の処理を実現するためのスクリプトを実行する
ことを特徴とするプログラム。
A program that controls printing
A storage area that is available from the program that controls printing, and is a print information storage unit that stores print information used for printing.
A print data generation unit that converts the data to be printed into print data that can be printed by an image forming apparatus, and a print data generation unit.
When the print information stored in the print information storage unit includes execution information of a predetermined process related to the print data generated by the print data generation unit, the predetermined process is performed based on the execution information. The process execution part to be executed and
Make your computer work as
The execution information of the predetermined process is
Includes reference information indicating the acquisition destination of the script for realizing the predetermined process or the script for realizing the predetermined process.
The processing execution unit
A program characterized in that when the reference information is included in the execution information of the predetermined process , a script for realizing the predetermined process shown in the reference information is executed.
印刷を制御するプログラムを実行する情報処理装置による情報処理方法であって、
前記印刷を制御するプログラムから利用可能な記憶領域であって、前記印刷に用いる印刷情報を記憶する印刷情報記憶部に前記印刷情報を記憶し、
前記印刷の対象となるデータを画像形成装置で印刷可能な印刷データに変換して、印刷データを生成するステップと、
前記印刷情報記憶部に記憶された前記印刷情報に、前記生成するステップで生成する前記印刷データに関する所定の処理の実行情報が含まれている場合、該実行情報に基づいて前記所定の処理を実行するステップと、
を含み、
前記所定の処理の実行情報は、
前記所定の処理を実現するためのスクリプト、または前記所定の処理を実現するためのスクリプトの取得先を示す参照情報を含み、
前記処理実行部は、
前記所定の処理の実行情報に前記参照情報が含まれる場合は前記参照情報に示される前記所定の処理を実現するためのスクリプトを実行する
ことを特徴とする情報処理方法。
It is an information processing method by an information processing device that executes a program that controls printing.
The print information is stored in a print information storage unit that is a storage area that can be used from the program that controls the print and that stores the print information used for the print.
A step of converting the data to be printed into printable data that can be printed by an image forming apparatus to generate print data, and
When the print information stored in the print information storage unit includes execution information of a predetermined process related to the print data generated in the generation step, the predetermined process is executed based on the execution information. Steps to do and
Including
The execution information of the predetermined process is
Includes reference information indicating the acquisition destination of the script for realizing the predetermined process or the script for realizing the predetermined process.
The processing execution unit
An information processing method comprising executing a script for realizing the predetermined process shown in the reference information when the reference information is included in the execution information of the predetermined process.
JP2016231107A 2016-09-15 2016-11-29 Information processing equipment, information processing systems, information processing methods, and programs Active JP6897074B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/697,609 US10540129B2 (en) 2016-09-15 2017-09-07 Information processing device, information processing system, and information processing method for executing script included in print information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016180201 2016-09-15
JP2016180201 2016-09-15

Publications (2)

Publication Number Publication Date
JP2018049581A JP2018049581A (en) 2018-03-29
JP6897074B2 true JP6897074B2 (en) 2021-06-30

Family

ID=61766421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016231107A Active JP6897074B2 (en) 2016-09-15 2016-11-29 Information processing equipment, information processing systems, information processing methods, and programs

Country Status (1)

Country Link
JP (1) JP6897074B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009016936A (en) * 2007-06-29 2009-01-22 Canon Inc Image formation system and control method thereof
JP2009037405A (en) * 2007-08-01 2009-02-19 Canon Inc Image processor
JP5164818B2 (en) * 2008-12-11 2013-03-21 キヤノン株式会社 Job processing system, job processing apparatus and control method thereof
JP2011065557A (en) * 2009-09-18 2011-03-31 Canon Inc Print controller, method, and program

Also Published As

Publication number Publication date
JP2018049581A (en) 2018-03-29

Similar Documents

Publication Publication Date Title
JP5528136B2 (en) Information processing apparatus, information processing apparatus control method, and computer program
KR101337160B1 (en) Information processing apparatus, information processing method and storage medium
JP5595035B2 (en) Information processing apparatus, method and program
JP7166741B2 (en) Information processing apparatus, information processing apparatus control method, image forming apparatus, image forming apparatus control method, information processing system, and program
WO2014083757A1 (en) Information processing apparatus, print server system, method for controlling print server system, and program
JP2008159033A (en) Electronic apparatus and information processing system
JP2011187063A (en) Printing internet inaccessible web content via remote printing service
JP2008092556A (en) System and method for remotely constructing remote interface for image processing device
JP2013033422A (en) Information processing system, information processor, button processing method and program
JP7224821B2 (en) Device diagnostic web system and device diagnostic method
JP5786464B2 (en) Web server, printing apparatus, printing system, and web server program
JP2013218445A (en) Management apparatus, system, control method for management apparatus, and program
JP2023153147A (en) Print setting application, control method, and information processing apparatus
JP5137858B2 (en) Image processing apparatus, image processing method, storage medium, and program
CN111638856A (en) Image forming system, image forming apparatus, output method, and storage medium
WO2014136429A1 (en) Information processing apparatus and method for the same
JP6897074B2 (en) Information processing equipment, information processing systems, information processing methods, and programs
JP6160102B2 (en) Image formation output control system, image formation output control device, and control program
JP7006411B2 (en) Information processing equipment, information processing methods, and programs
JP5791467B2 (en) Management apparatus, management apparatus control method, and program
US20180074764A1 (en) Information processing device, information processing system, and information processing method
JP5745013B2 (en) Image processing system, image processing apparatus, control method in image processing system, control method for image processing apparatus, and program
JP2012133590A (en) Print system, client pc and control method thereof, print server and control method thereof
JP7279347B2 (en) Information processing equipment
JP7242203B2 (en) Information processing device, application and control method

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210524

R151 Written notification of patent or utility model registration

Ref document number: 6897074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151