[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2019185627A - Information processing apparatus and information processing program - Google Patents

Information processing apparatus and information processing program Download PDF

Info

Publication number
JP2019185627A
JP2019185627A JP2018078813A JP2018078813A JP2019185627A JP 2019185627 A JP2019185627 A JP 2019185627A JP 2018078813 A JP2018078813 A JP 2018078813A JP 2018078813 A JP2018078813 A JP 2018078813A JP 2019185627 A JP2019185627 A JP 2019185627A
Authority
JP
Japan
Prior art keywords
printer driver
execution request
module
information processing
conversion
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.)
Pending
Application number
JP2018078813A
Other languages
Japanese (ja)
Inventor
英登 野見山
Hideto Nomiyama
英登 野見山
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2018078813A priority Critical patent/JP2019185627A/en
Publication of JP2019185627A publication Critical patent/JP2019185627A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

To provide an information processing apparatus that can cause a printer driver to print according to an execution request after performing transform processing following a rule, in performing print processing under an OS which transforms a function or setting being not able to be processed by the printer driver to a default value.SOLUTION: Receiving means of an information processing apparatus receives an execution request of printing from an OS, transforming means transforms the execution request received by the receiving means to the execution request for a printer driver to be able to interpret following a transformation rule, and transfer means transfers the execution request transformed by the transforming means to the printer driver.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置及び情報処理プログラムに関する。   The present invention relates to an information processing apparatus and an information processing program.

特許文献1には、他の印刷システムにおいて設定された、プリンタドライバ又は印刷装置では解釈できない印刷設定情報を、プリンタドライバ又は印刷装置において解釈できるようにする仕組みを提供することを課題とし、アプリケーションより印刷要求があり、その要求中の印刷設定情報がジョブチケット形式で記述されている場合、ジョブチケットに記述された未知の名前空間を示すタグ文字列があれば、辞書データベースに解釈可のタグ文字列への変換要求を行い、その結果を受け、解釈不可とタグ文字列を解釈可のタグ文字列に置換し、印刷設定を行うことが開示されている。   Patent Document 1 has an object to provide a mechanism that allows a printer driver or a printing apparatus to interpret print setting information that is set in another printing system and cannot be interpreted by a printer driver or a printing apparatus. When there is a print request and the print setting information in the request is described in the job ticket format, if there is a tag character string indicating an unknown name space described in the job ticket, the tag character that can be interpreted in the dictionary database It is disclosed that a conversion request to a column is made, the result is received, the tag character string is replaced with an interpretable tag character string, and the print setting is performed.

特許文献2には、複数の情報処理装置においてユーザーが実行を指示したジョブを取り扱う場合に、その取り扱いの条件を、容易かつ柔軟に変更できるようにすることを課題とし、プリンタドライバの形式を備え、上記プリンタドライバが用いる設定データの形式で、1以上の条件毎に該条件が満たされた場合に実行すべき処理を示す条件情報を含む設定データを記憶するダミードライバに対し、上記設定データの送信を要求して上記設定データを取得し、実行要求を受け付けたジョブが上記取得手順で取得した設定データに含まれる条件情報が示す条件に該当するか否か判断し、該当すると判断した場合に、上記実行要求を受け付けたジョブに対してその条件と対応する処理を実行した後、そのジョブの実行をプリンタドライバに要求するようにしたことが開示されている。   Japanese Patent Laid-Open No. 2004-260688 has an object to enable easy and flexible change of handling conditions when handling jobs that the user has instructed to execute in a plurality of information processing apparatuses. The dummy driver storing the setting data including the condition information indicating the process to be executed when the condition is satisfied for each of one or more conditions in the format of the setting data used by the printer driver. If the setting data is acquired by requesting transmission, and it is determined whether or not the job for which the execution request has been received satisfies the condition indicated by the condition information included in the setting data acquired in the acquisition procedure. After executing the processing corresponding to the condition for the job that has received the execution request, the printer driver is requested to execute the job. Unishi was it has been disclosed.

特開2006−065839号公報JP 2006-065839 A 特開2015−176529号公報JP-A-2015-176529

アプリケーションが印刷処理を行う場合、アプリケーションからの印刷の実行要求をOSが受け取り、OSがプリンタドライバにその印刷の実行要求を渡すことを行っている。例えば、プリンタドライバが処理できない機能又は設定を受け付けた場合は、そのプリンタドライバ内で、その機能又は設定を変換することが行われていた。しかし、OSによっては、アプリケーションからの印刷の実行要求をプリンタドライバに渡す際に、そのプリンタドライバが処理できない機能又は設定をデフォルト値に変換することを行ってしまうものがある。このようにした場合、プリンタドライバが予め備えていた変換処理を行うことができなくなるので、アプリケーションからの印刷の実行要求にしたがった印刷が行われなくなってしまう。
本発明は、プリンタドライバが処理できない機能又は設定をデフォルト値に変換するOS下での印刷処理にあって、プリンタドライバに対して、規則にしたがった変換処理を行った後の実行要求にしたがった印刷を行わせることができる情報処理装置及び情報処理プログラムを提供することを目的としている。
When an application performs print processing, the OS receives a print execution request from the application, and the OS passes the print execution request to the printer driver. For example, when a function or setting that cannot be processed by the printer driver is received, the function or setting is converted in the printer driver. However, depending on the OS, when a print execution request from an application is passed to the printer driver, functions or settings that cannot be processed by the printer driver are converted to default values. In such a case, the conversion process provided in advance in the printer driver cannot be performed, and printing according to the print execution request from the application is not performed.
The present invention is a printing process under an OS that converts a function or setting that cannot be processed by the printer driver into a default value, and follows an execution request after performing a conversion process according to a rule to the printer driver. An object of the present invention is to provide an information processing apparatus and an information processing program that can perform printing.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、印刷の実行要求をOSから受け付ける受付手段と、前記受付手段が受け付けた実行要求を、変換規則にしたがって、プリンタドライバが解釈可能な実行要求に変換する変換手段と、前記変換手段により変換された実行要求を前記プリンタドライバに転送する転送手段を有する情報処理装置である。
The gist of the present invention for achieving the object lies in the inventions of the following items.
The invention of claim 1 is a receiving unit that receives a print execution request from an OS, a conversion unit that converts the execution request received by the receiving unit into an execution request interpretable by a printer driver according to a conversion rule, and An information processing apparatus having transfer means for transferring the execution request converted by the conversion means to the printer driver.

請求項2の発明は、プリンタドライバが受付可能な実行要求の定義を予め記憶しており、該定義をOSによってアクセス可能にしている記憶手段をさらに有する請求項1に記載の情報処理装置である。   The invention according to claim 2 is the information processing apparatus according to claim 1, further comprising storage means for storing in advance definitions of execution requests that can be accepted by the printer driver, and making the definitions accessible by the OS. .

請求項3の発明は、前記記憶手段は、前記プリンタドライバが処理し得る機能又は設定が定義されているGPDファイルを記憶している、請求項2に記載の情報処理装置である。   A third aspect of the present invention is the information processing apparatus according to the second aspect, wherein the storage means stores a GPD file in which functions or settings that can be processed by the printer driver are defined.

請求項4の発明は、前記変換規則を、前記プリンタドライバの構成情報を用いて生成する生成手段をさらに有し、前記変換手段は、前記生成手段によって生成された変換規則にしたがって変換処理を行う、請求項1に記載の情報処理装置である。   The invention according to claim 4 further includes a generation unit that generates the conversion rule using configuration information of the printer driver, and the conversion unit performs conversion processing according to the conversion rule generated by the generation unit. An information processing apparatus according to claim 1.

請求項5の発明は、前記転送手段の転送先のプリンタドライバを選択する選択手段をさらに有し、前記生成手段は、前記変換規則を前記選択手段により選択されたプリンタドライバの構成情報を用いて生成する、請求項4に記載の情報処理装置である。   The invention according to claim 5 further includes a selection unit that selects a printer driver as a transfer destination of the transfer unit, and the generation unit uses the configuration information of the printer driver selected by the selection unit as the conversion rule. The information processing apparatus according to claim 4, which is generated.

請求項6の発明は、コンピュータを、印刷の実行要求をOSから受け付ける受付手段と、前記受付手段が受け付けた実行要求を、変換規則にしたがって、プリンタドライバが解釈可能な実行要求に変換する変換手段と、前記変換手段により変換された実行要求を前記プリンタドライバに転送する転送手段として機能させるための情報処理プログラムである。   According to a sixth aspect of the present invention, a computer receives a print execution request from an OS, and a conversion unit converts the execution request received by the reception unit into an execution request interpretable by a printer driver according to a conversion rule. And an information processing program for causing the execution request converted by the conversion means to function as transfer means for transferring to the printer driver.

請求項1の情報処理装置によれば、プリンタドライバが処理できない機能又は設定をデフォルト値に変換するOS下での印刷処理にあって、プリンタドライバに対して、規則にしたがった変換処理を行った後の実行要求にしたがった印刷を行わせることができる。   According to the information processing apparatus of the first aspect, in the printing process under the OS for converting the function or setting that cannot be processed by the printer driver into the default value, the conversion process according to the rule is performed on the printer driver. Printing can be performed according to a subsequent execution request.

請求項2の情報処理装置によれば、プリンタドライバが受付可能な実行要求の定義を、OSによってアクセス可能にしておくことができる。   According to the information processing apparatus of the second aspect, the definition of the execution request that can be accepted by the printer driver can be made accessible by the OS.

請求項3の情報処理装置によれば、プリンタドライバが処理し得る機能又は設定が定義されているGPDファイルを用いることができる。   According to the information processing apparatus of the third aspect, it is possible to use a GPD file in which functions or settings that can be processed by the printer driver are defined.

請求項4の情報処理装置によれば、事前に変換規則を設定せずに変換処理を行うことができる。   According to the information processing apparatus of the fourth aspect, the conversion process can be performed without setting the conversion rule in advance.

請求項5の情報処理装置によれば、事前に変換規則を設定せずに変換処理を行うことができる。   According to the information processing apparatus of the fifth aspect, the conversion process can be performed without setting the conversion rule in advance.

請求項6の情報処理プログラムによれば、プリンタドライバが処理できない機能又は設定をデフォルト値に変換するOS下での印刷処理にあって、プリンタドライバに対して、規則にしたがった変換処理を行った後の実行要求にしたがった印刷を行わせることができる。   According to the information processing program of the sixth aspect, in the printing process under the OS for converting the function or setting that cannot be processed by the printer driver into the default value, the conversion process according to the rule is performed on the printer driver. Printing can be performed according to a subsequent execution request.

本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural example of this Embodiment. 本実施の形態を利用したシステム構成例を示す説明図である。It is explanatory drawing which shows the system configuration example using this Embodiment. アプリケーション、OS、プリンタドライバの処理例を示す説明図である。It is explanatory drawing which shows the example of a process of an application, OS, and a printer driver. アプリケーション、OS、プリンタドライバの処理例を示す説明図である。It is explanatory drawing which shows the example of a process of an application, OS, and a printer driver. アプリケーション、OS、プリンタドライバの処理例を示す説明図である。It is explanatory drawing which shows the example of a process of an application, OS, and a printer driver. 本実施の形態の構成例についての具体的なモジュール構成図である。It is a specific module block diagram about the structural example of this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 本実施の形態による処理例を示す説明図である。It is explanatory drawing which shows the process example by this Embodiment. 本実施の形態による処理例を示す説明図である。It is explanatory drawing which shows the process example by this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. アプリケーション・プリンタドライバ対応テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of an application printer printer correspondence table. 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which implement | achieves this Embodiment.

以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
Hereinafter, an example of a preferred embodiment for realizing the present invention will be described with reference to the drawings.
FIG. 1 shows a conceptual module configuration diagram of a configuration example of the present embodiment.
The module generally refers to components such as software (computer program) and hardware that can be logically separated. Therefore, the module in the present embodiment indicates not only a module in a computer program but also a module in a hardware configuration. Therefore, the present embodiment is a computer program for causing these modules to function (a program for causing a computer to execute each procedure, a program for causing a computer to function as each means, and a function for each computer. This also serves as an explanation of the program and system and method for realizing the above. However, for the sake of explanation, the words “store”, “store”, and equivalents thereof are used. However, when the embodiment is a computer program, these words are stored in a storage device or stored in memory. This means that control is performed so as to be stored in the apparatus. Modules may correspond to functions one-to-one, but in mounting, one module may be configured by one program, or a plurality of modules may be configured by one program, and conversely, one module May be composed of a plurality of programs. The plurality of modules may be executed by one computer, or one module may be executed by a plurality of computers in a distributed or parallel environment. Note that one module may include other modules. Hereinafter, “connection” is used not only for physical connection but also for logical connection (data exchange, instruction, reference relationship between data, login, etc.). “Predetermined” means that the process is determined before the target process, and not only before the process according to this embodiment starts but also after the process according to this embodiment starts. Also, if it is before the target processing, it is used in accordance with the situation / status at that time or with the intention to be decided according to the status / status up to that point. When there are a plurality of “predetermined values”, they may be different values, or two or more values (of course, including all values) may be the same. In addition, the description of “do B when A” is used to mean “determine whether or not A and do B when A”. However, the case where it is not necessary to determine whether or not A is excluded. In addition, when enumerating things such as “A, B, C”, etc., it is an enumerated list unless otherwise specified, and includes cases where only one of them is selected (for example, only A).
In addition, the system or device is configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including one-to-one correspondence communication connection), etc., and one computer, hardware, device. The case where it implement | achieves by etc. is also included. “Apparatus” and “system” are used as synonymous terms. Of course, the “system” does not include a social “mechanism” (social system) that is an artificial arrangement.
In addition, when performing a plurality of processes in each module or in each module, the target information is read from the storage device for each process, and the processing result is written to the storage device after performing the processing. is there. Therefore, description of reading from the storage device before processing and writing to the storage device after processing may be omitted. Here, the storage device may include a hard disk, a RAM (Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like.

本実施の形態である情報処理モジュール100は、プリンタドライバ170を介して画像処理装置に印刷させるものであって、図1の例に示すように、実行要求受付モジュール110、実行要求変換モジュール120、実行要求転送モジュール130を有しており、OS160、プリンタドライバ170と接続されている。情報処理モジュール100は、印刷実行を受け付けるプリンタドライバ170が処理し得ない実行要求が行われた際に、その実行要求に類似した処理(機能又は設定)に代替させて実行させることを可能とするものである。
情報処理モジュール100は、OS160とプリンタドライバ170との間を仲介する機能を有する。なお、情報処理モジュール100は、アプリケーション150からの印刷親和性を鑑み、一般的なプリンタドライバを模した中間プリンタドライバの1機能形態をとるのが望ましい。また、情報処理モジュール100とプリンタドライバ170が一対一に対応していてもよいし、情報処理モジュール100に対してプリンタドライバ170が複数あってもよい。前者の場合は、OS160に対して情報処理モジュール100が複数あってもよい。具体的には、OS160が制御できるプリンタドライバ170の数だけ情報処理モジュール100もあることになる。後者の場合は、OS160と情報処理モジュール100が一対一に対応しており、OS160は情報処理モジュール100を介して複数のプリンタドライバ170を制御することが可能である。
The information processing module 100 according to the present embodiment causes the image processing apparatus to print via the printer driver 170. As illustrated in the example of FIG. 1, the execution request reception module 110, the execution request conversion module 120, It has an execution request transfer module 130 and is connected to the OS 160 and the printer driver 170. When an execution request that cannot be processed by the printer driver 170 that accepts print execution is made, the information processing module 100 can be executed instead of processing (function or setting) similar to the execution request. Is.
The information processing module 100 has a function of mediating between the OS 160 and the printer driver 170. Note that the information processing module 100 preferably takes one function form of an intermediate printer driver imitating a general printer driver in view of printing affinity from the application 150. Further, the information processing module 100 and the printer driver 170 may correspond one-to-one, or a plurality of printer drivers 170 may be provided for the information processing module 100. In the former case, there may be a plurality of information processing modules 100 for the OS 160. Specifically, there are as many information processing modules 100 as printer drivers 170 that can be controlled by the OS 160. In the latter case, the OS 160 and the information processing module 100 correspond one-to-one, and the OS 160 can control a plurality of printer drivers 170 via the information processing module 100.

アプリケーション150は、OS160と接続されている。アプリケーション150は、ユーザーの操作又は予め定められたプログラムにしたがって、印刷の実行要求をOS160に対して行う。アプリケーション150として、例えば、文書作成プログラム(いわゆるワープロソフト)等が該当する。ここで、アプリケーション150は、プリンタドライバ170の処理できる機能を印刷要求前に問合せ、その機能範囲内でのみ印刷要求を行うよう作成されていることが一般的である。一方で、ある個別のプリンタ特有の機能又は設定を利用する前提で固定的(「固定的」とは、汎用的にではなく、そのプリンタ専用という意味)に作成される場合もあり、この場合にプリンタドライバ170の処理できない印刷の実行要求を行うことがある。本実施の形態である情報処理モジュール100は、主にそのような実行要求に対応するものであるが、前述の一般的なアプリケーションにも対応できるようにしている。   The application 150 is connected to the OS 160. The application 150 makes a print execution request to the OS 160 according to a user operation or a predetermined program. The application 150 corresponds to, for example, a document creation program (so-called word processor software). Here, the application 150 is generally created so as to inquire before the print request for a function that can be processed by the printer driver 170 and to make a print request only within the function range. On the other hand, it may be created in a fixed manner on the premise of using a function or setting specific to an individual printer (“fixed” means not for general use but only for the printer). A print execution request that cannot be processed by the printer driver 170 may be made. The information processing module 100 according to the present embodiment mainly responds to such an execution request, but can also handle the above-described general application.

OS160は、情報処理モジュール100、アプリケーション150と接続されている。OS160は、アプリケーション150から受け付けた印刷の実行要求を情報処理モジュール100(プリンタドライバ170)に渡す。ただし、OS160は、プリンタドライバ170が処理できない機能又は設定をデフォルト値に変換することを行う。具体例として、Windows(登録商標)におけるversion4(v4)と呼ばれる新しいプリンタドライバのアーキテクチャを採用したものが該当する。詳細については、図3〜5の例を用いて後述する。   The OS 160 is connected to the information processing module 100 and the application 150. The OS 160 passes the print execution request received from the application 150 to the information processing module 100 (printer driver 170). However, the OS 160 converts functions or settings that cannot be processed by the printer driver 170 into default values. As a specific example, a new printer driver architecture called version 4 (v4) in Windows (registered trademark) is applicable. Details will be described later using the examples of FIGS.

プリンタドライバ170は、情報処理モジュール100と接続されている。プリンタドライバ170は、プリンタを制御するためのプログラムであり、プリンタ毎に用意されている。例えば、プリンタがカラー印刷対応であるか(白黒印刷のみか)、給紙手段又は排紙手段の種類(取り扱うことができる用意サイズ等)等によって、制御できる機能又は設定が異なる。   The printer driver 170 is connected to the information processing module 100. The printer driver 170 is a program for controlling the printer, and is prepared for each printer. For example, the controllable functions or settings differ depending on whether the printer is compatible with color printing (only monochrome printing), the type of paper feeding means or paper discharging means (prepared size that can be handled, etc.), and the like.

実行要求受付モジュール110は、印刷の実行要求をOS160から受け付ける。そして、この印刷の実行要求を解釈する。
実行要求変換モジュール120は、実行要求受付モジュール110が受け付けた実行要求を、変換規則にしたがって、プリンタドライバ170が解釈可能な実行要求に変換する。
また、実行要求変換モジュール120は、変換規則を、プリンタドライバ170の構成情報を用いて生成するようにしてもよい。そして、実行要求変換モジュール120は、その変換規則にしたがって変換処理を行うようにしてもよい。
また、実行要求変換モジュール120は、転送先のプリンタドライバを選択してもよい。そして、実行要求変換モジュール120は、変換規則を選択したプリンタドライバの構成情報を用いて生成するようにしてもよい。
The execution request receiving module 110 receives a print execution request from the OS 160. Then, the print execution request is interpreted.
The execution request conversion module 120 converts the execution request received by the execution request reception module 110 into an execution request that can be interpreted by the printer driver 170 according to a conversion rule.
Further, the execution request conversion module 120 may generate a conversion rule using the configuration information of the printer driver 170. Then, the execution request conversion module 120 may perform conversion processing according to the conversion rule.
Further, the execution request conversion module 120 may select a destination printer driver. Then, the execution request conversion module 120 may generate the conversion request using the configuration information of the printer driver that has selected the conversion rule.

また、情報処理モジュール100は、プリンタドライバ170が受付可能な実行要求の定義を予め記憶しており、その定義をOS160によってアクセス可能にしている記憶手段を有していてもよい。
OS160側は、この記憶手段内の定義にアクセスし、プリンタドライバ170が処理できない機能又は設定があった場合は、デフォルト値に変換することを行う。ただし、本実施の形態では、「プリンタドライバ170が受付可能な実行要求」であるので、変換前の実行要求についても定義しているので、デフォルト値に変換されることなく、アプリケーション150からの印刷の実行要求がそのまま情報処理モジュール100(中間プリンタドライバ)に渡されることになる。
具体例として、記憶手段は、プリンタドライバ170が処理し得る機能又は設定が定義されているGPDファイルを記憶していてもよい。この記憶手段は、より詳細には、後述する図6の例に示す設定項目/禁則(GPD/PPD)記憶モジュール61111が該当する。
Further, the information processing module 100 may store a definition of an execution request that can be accepted by the printer driver 170 in advance, and may include a storage unit that allows the OS 160 to access the definition.
The OS 160 side accesses the definition in the storage unit, and if there is a function or setting that cannot be processed by the printer driver 170, converts it to a default value. However, in the present embodiment, since the “execution request that can be accepted by the printer driver 170” is defined, the execution request before conversion is also defined. Therefore, the print request from the application 150 is not converted to the default value. Is executed as it is to the information processing module 100 (intermediate printer driver).
As a specific example, the storage unit may store a GPD file in which functions or settings that can be processed by the printer driver 170 are defined. More specifically, this storage means corresponds to the setting item / prohibition (GPD / PPD) storage module 61111 shown in the example of FIG. 6 described later.

実行要求転送モジュール130は、実行要求変換モジュール120により変換された実行要求をプリンタドライバ170に転送する。   The execution request transfer module 130 transfers the execution request converted by the execution request conversion module 120 to the printer driver 170.

図2は、本実施の形態を利用したシステム構成例を示す説明図である。
図2(a)の例は、スタンドアロンとしてのシステム構成を示している。情報処理装置200は、情報処理モジュール100、アプリケーション150、OS160、プリンタドライバ170を有している。情報処理装置200と画像処理装置250は、接続されている。情報処理装置200に対して複数の画像処理装置250が接続されていてもよい。アプリケーション150からの印刷の実行要求にしたがって、画像処理装置250が印刷を行う。
図2(b)の例は、通信回線290を介して、情報処理装置200と画像処理装置250が接続されるシステム構成を示している。情報処理装置200A、情報処理装置200B、情報処理装置200C、画像処理装置250は、通信回線290を介してそれぞれ接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。いずれかの情報処理装置200からの印刷の実行要求にしたがって、画像処理装置250が印刷を行う。
FIG. 2 is an explanatory diagram showing a system configuration example using the present embodiment.
The example in FIG. 2A shows a stand-alone system configuration. The information processing apparatus 200 includes an information processing module 100, an application 150, an OS 160, and a printer driver 170. The information processing apparatus 200 and the image processing apparatus 250 are connected. A plurality of image processing devices 250 may be connected to the information processing device 200. The image processing apparatus 250 performs printing in accordance with a print execution request from the application 150.
The example of FIG. 2B shows a system configuration in which the information processing apparatus 200 and the image processing apparatus 250 are connected via the communication line 290. The information processing apparatus 200A, the information processing apparatus 200B, the information processing apparatus 200C, and the image processing apparatus 250 are connected via a communication line 290, respectively. The communication line 290 may be wireless, wired, or a combination thereof, and may be, for example, the Internet or an intranet as a communication infrastructure. In response to a print execution request from any of the information processing apparatuses 200, the image processing apparatus 250 performs printing.

情報処理モジュール100を用いないで、印刷の実行要求が行われる場合について、図3〜5を用いて説明する。
例えば、Windowsプリンタドライバは、DEVMODEやPrintTicketといった印刷設定情報を記述する公知のデータ構造をアプリケーション150から受け取って印刷処理を実行する。一方、これらDEVMODEやPrintTicketは構造の大枠や一部既定の設定は定義されているものの、詳細はプリンタドライバによって異なる。このため、例えば、特定のプリンタドライバを利用する前提で特定のDEVMODEやPrintTicketを固定的に指示するようなアプリケーションが存在した場合、プリンタドライバの変更に伴い正常に動作しなくなることがあった。
これに対し、プリンタドライバが、自身の処理し得ない実行要求を受けた段階で、その実行要求を自身が処理し得る要求に自己変換して代替実行させる手段が考え得る。
しかし、Windows8以降に導入されているV4と呼ばれる新しいアーキテクチャに基づくプリンタドライバにおいては、プリンタドライバが実行要求を受ける前にOSが介在して、実行できない要求をデフォルト値に丸め込む(変更する)場合がある。このために、実行要求を受けたプリンタドライバは、元々がどのような実行要求であったかを知る術がなく、本来実施したい代替実行ができない状況にあった。
A case where a print execution request is made without using the information processing module 100 will be described with reference to FIGS.
For example, the Windows printer driver receives a known data structure describing print setting information such as DEVMODE and PrintTicket from the application 150 and executes print processing. On the other hand, although these DEVMODE and PrintTicket are defined as the outline of the structure and some default settings, the details differ depending on the printer driver. For this reason, for example, when there is an application that fixedly instructs a specific DEVMODE or PrintTicket on the assumption that a specific printer driver is used, it may not operate normally due to a change in the printer driver.
On the other hand, when the printer driver receives an execution request that cannot be processed by the printer driver, a means can be considered in which the execution request is converted into a request that can be processed by the printer driver and executed instead.
However, in a printer driver based on a new architecture called V4 introduced after Windows 8, there is a case where a request that cannot be executed is rounded (changed) to a default value by the OS before the printer driver receives an execution request. is there. For this reason, the printer driver that has received the execution request has no way of knowing what the original execution request was, and was unable to perform the alternative execution originally desired.

図3、図4、図5の例を用いて、V4アーキテクチャにおけるOS160、プリンタドライバ170の機能、処理を説明し、プリンタドライバ170における課題例を示す。
図3は、アプリケーション150、OS160、プリンタドライバA:170A、プリンタドライバB:170Bの処理例を示す説明図である。
図3の例では、あるGDI(Graphic Device Interface)用のアプリケーション150が固定のDEVMODEを用いて給紙手段(InputBin)を指示している例を示している。より具体的には、プリンタドライバA:170AでTray1:325を示すInputBin内部定義値が[101](設定値310)であった前提で、InputBin=[101]を固定的に指示している。
The functions and processing of the OS 160 and printer driver 170 in the V4 architecture will be described using the examples of FIGS. 3, 4, and 5, and examples of problems in the printer driver 170 will be shown.
FIG. 3 is an explanatory diagram showing a processing example of the application 150, the OS 160, the printer driver A: 170A, and the printer driver B: 170B.
In the example of FIG. 3, an example in which an application 150 for a certain GDI (Graphic Device Interface) instructs a paper feeding unit (InputBin) using a fixed DEVMODE. More specifically, InputBin = [101] is fixedly instructed on the assumption that the InputBin internal definition value indicating Tray1: 325 in the printer driver A: 170A is [101] (setting value 310).

なお、V4プリンタドライバでは自身の処理し得る機能/設定をGPD(Generic Printer Description)ファイル記憶モジュール350に定義する。具体的には、プリンタドライバA:170AのGPDファイル記憶モジュール350Aでは、以下のような定義がなされている。
つまり、GPDファイル記憶モジュール350Aに、例えば、
「*Feature:InputBin{
*Auto{*ID:7}
*Bypass{*ID:4}
*Tray1{*ID:101}
}」
が記憶されている。つまり、プリンタドライバA:170Aでは、“Tray1”を示すInputBin内部定義値を[101]としている(GPDファイル記憶モジュール350A内の定義における「*Tray1{*ID:101}」参照)。
そして、プリンタドライバB:170BのGPDファイル記憶モジュール350Bに、例えば、
「*Feature:InputBin{
*AutoTray{*ID:7}
*Manual{*ID:4}
*Tray1{*ID:1}
}」
が記憶されている。プリンタドライバ毎にIDが違うことがある。つまり、プリンタドライバB:170Bでは、“Tray1”を示すInputBin内部定義値を[1]としている(GPDファイル記憶モジュール350B内の定義における「*Tray1{*ID:1}」参照)。そして、GPDファイル記憶モジュール350B内では[101]は定義されていない。
In the V4 printer driver, functions / settings that can be processed by the V4 printer driver are defined in a GPD (Generic Printer Description) file storage module 350. Specifically, in the GPD file storage module 350A of the printer driver A: 170A, the following definition is made.
That is, the GPD file storage module 350A has, for example,
“* Feature: InputBin {
* Auto {* ID: 7}
* Bypass {* ID: 4}
* Tray 1 {* ID: 101}
}
Is remembered. That is, in the printer driver A: 170A, the InputBin internal definition value indicating “Tray1” is set to [101] (see “* Tray1 {* ID: 101}” in the definition in the GPD file storage module 350A).
Then, to the GPD file storage module 350B of the printer driver B: 170B, for example,
“* Feature: InputBin {
* AutoRay {* ID: 7}
* Manual {* ID: 4}
* Tray 1 {* ID: 1}
}
Is remembered. The ID may be different for each printer driver. That is, in the printer driver B: 170B, the InputBin internal definition value indicating “Tray1” is set to [1] (see “* Tray1 {* ID: 1}” in the definition in the GPD file storage module 350B). [101] is not defined in the GPD file storage module 350B.

アプリケーション150は、プリンタドライバ毎に指示を変えられない場合がある。例えば、同じアプリケーション150からそのままプリンタドライバB:170Bに印刷要求を行うと、設定値310[101]はGPDファイル記憶モジュール350B内に定義されていないので、OS160が「InputBin=[101]はプリンタドライバB:170Bが処理し得ない」と判断して、InputBin=[7](デフォルト値)に変換処理360Bを行う。つまり、OS160は、Devmode値315からPT320への変換処理360を行うものであり、いわゆるGPDの未定義の値を「AutoSelect」(デフォルト値330であるAutoSelect335)に変換している。これにより、本来アプリケーション150では“Tray1”からの給紙を期待していたはずが、“AutoSelect”で給紙されてしまうこととなる。プリンタドライバB:170Bでは、GPDファイル記憶モジュール350B内の定義によってデフォルト値330はAutoSelect335に対応している。
なお、変換処理360Aでは、設定値310は、GPDファイル記憶モジュール350A内に定義されているので、変換処理360Aを行わずに、設定値310をそのままプリンタドライバA:170Aに渡している。プリンタドライバA:170Aでは、GPDファイル記憶モジュール350A内の定義によって設定値310はTray1:325に対応している。
The application 150 may not be able to change the instruction for each printer driver. For example, when a print request is made from the same application 150 to the printer driver B: 170B as it is, the setting value 310 [101] is not defined in the GPD file storage module 350B, so the OS 160 determines that “InputBin = [101] is a printer driver. B: 170B cannot be processed ”and the conversion process 360B is performed to InputBin = [7] (default value). That is, the OS 160 performs a conversion process 360 from the Devmode value 315 to the PT 320, and converts an undefined value of the so-called GPD into “AutoSelect” (AutoSelect 335 which is the default value 330). As a result, the application 150 originally expects paper feeding from “Tray 1”, but paper is fed by “AutoSelect”. In the printer driver B: 170B, the default value 330 corresponds to the AutoSelect 335 according to the definition in the GPD file storage module 350B.
In the conversion process 360A, since the setting value 310 is defined in the GPD file storage module 350A, the setting value 310 is directly passed to the printer driver A: 170A without performing the conversion process 360A. In the printer driver A: 170A, the setting value 310 corresponds to Tray 1: 325 according to the definition in the GPD file storage module 350A.

図4は、アプリケーション150、OS160、プリンタドライバB:170Bの処理例を示す説明図である。図4の例は、図3の例を改良したものである。具体例として、プリンタドライバB:170B内に代替実行処理モジュール410を加えたものである。
V4アーキテクチャが導入される前、つまり、OS160が変換処理360の処理を行っていない場合は、代替実行処理モジュール410が、“101”を“1”に読みかえて実行すれば、GPDファイル記憶モジュール350B内に“101”の定義がなかったとしても、“101”の対応ができることになる。
しかし、前述したように、V4アーキテクチャが導入された後のOS160では変換処理360Bが行われてしまうので、代替実行処理モジュール410が変換すべきであるか否か、そして、変換すべきとわかったとしても、元々の指示(設定値310の[101])を知ることができないので、代替実行処理モジュール410での処理を行うことができない。
FIG. 4 is an explanatory diagram showing a processing example of the application 150, the OS 160, and the printer driver B: 170B. The example of FIG. 4 is an improvement of the example of FIG. As a specific example, an alternative execution processing module 410 is added to the printer driver B: 170B.
Before the V4 architecture is introduced, that is, when the OS 160 is not performing the conversion process 360, if the alternative execution processing module 410 reads and executes “101” as “1”, the GPD file storage module 350B Even if there is no definition of “101”, “101” can be handled.
However, as described above, since the conversion process 360B is performed in the OS 160 after the introduction of the V4 architecture, it is determined whether or not the alternative execution processing module 410 should be converted and should be converted. However, since the original instruction (the setting value 310 [101]) cannot be known, the processing in the alternative execution processing module 410 cannot be performed.

図5は、アプリケーション150、OS160、プリンタドライバB:170Bの処理例を示す説明図である。図5の例は、図4の例を改良したものである。具体例として、GPDファイル記憶モジュール350B内に[101]の定義を加えたものである。つまり、元の実行要求を解釈できるようにGPDファイルにダミーの定義を追加しておくものである。
GPDファイル記憶モジュール350B内に[101]の定義があるので、OS160は、実行要求された値([101])を取得することが可能となる。そして、代替実行処理モジュール410は、“101”を“1”に読みかえて実行することができることになる。
しかし、ユーザー510が印刷指示を行う場合に、表示装置520にドライバユーザーインタフェース550が表示されるが、余計な設定項目が並び、操作性が低下することになる。例えば、ドライバユーザーインタフェース550として、給紙手段の選択があり、その設定項目として、「自動選択」、「手差し」、「トレイ1」、「トレイ1(ダミー1)」、「トレイ1(ダミー2)」、「トレイ1(ダミー3)」、「トレイ1(ダミー4)」等がある。このように、設定項目が多く並ぶことになる。これは、プリンタドライバA:170A(又は、他のプリンタドライバ170)における設定項目を全て網羅して、GPDファイル記憶モジュール350B内に提示するため、多くの設定項目がドライバユーザーインタフェース550内に表示されることになるからである。
FIG. 5 is an explanatory diagram showing a processing example of the application 150, the OS 160, and the printer driver B: 170B. The example of FIG. 5 is an improvement of the example of FIG. As a specific example, the definition of [101] is added to the GPD file storage module 350B. That is, a dummy definition is added to the GPD file so that the original execution request can be interpreted.
Since [101] is defined in the GPD file storage module 350B, the OS 160 can acquire the execution requested value ([101]). Then, the alternative execution processing module 410 can execute by replacing “101” with “1”.
However, when the user 510 issues a print instruction, the driver user interface 550 is displayed on the display device 520. However, extra setting items are arranged and the operability is lowered. For example, as the driver user interface 550, there is a selection of paper feeding means, and setting items thereof are “automatic selection”, “manual feed”, “tray 1”, “tray 1 (dummy 1)”, “tray 1 (dummy 2). ) ”,“ Tray 1 (dummy 3) ”,“ tray 1 (dummy 4) ”, and the like. In this way, many setting items are arranged. Since all the setting items in the printer driver A: 170A (or other printer driver 170) are covered and presented in the GPD file storage module 350B, many setting items are displayed in the driver user interface 550. Because it will be.

図6は、本実施の形態の構成例についての具体的なモジュール構成図である。
中間プリンタドライバコンポーネント群600は、図1の例に示した情報処理モジュール100を含んでいる。
中間プリンタドライバコンポーネント群600は、印刷実行するプリンタドライバが処理し得ない実行要求が行われた際にその実行要求に類似する処理に代替させるための処理を行うものである。
まず印刷の実行要求を解釈することが可能な中間プリンタドライバ(中間プリンタドライバコンポーネント群600の1つ)で印刷の実行要求を受け付け、印刷実行するプリンタドライバ(プリンタドライバコンポーネント群670の1つ)が解釈可能な実行要求に変換した後に、印刷実行するプリンタドライバ(プリンタドライバコンポーネント群670の1つ)に印刷の実行要求を転送する。
これによって、例えば特定の基幹アプリケーションにハードコード(特定の動作環境を前提とした処理やデータをソースコードの中に直に記述すること)されたような既定の印刷の実行要求を変更することなく、その実行要求の指示意図を保ったままで任意のプリンタに出力先を変更することができるようになる。また、プリンタそのものを置き換える場合、旧プリンタ(旧プリンタドライバ)への印刷の実行要求にも新プリンタ(旧プリンタドライバ)が対応できるようになる。
FIG. 6 is a specific module configuration diagram for a configuration example of the present embodiment.
The intermediate printer driver component group 600 includes the information processing module 100 shown in the example of FIG.
The intermediate printer driver component group 600 performs processing for substituting processing similar to the execution request when an execution request that cannot be processed by the printer driver that executes printing is performed.
First, an intermediate printer driver (one of intermediate printer driver component group 600) capable of interpreting a print execution request accepts a print execution request, and a printer driver (one of printer driver component group 670) that executes printing executes. After conversion into an interpretable execution request, the print execution request is transferred to a printer driver (one of the printer driver component group 670) that executes printing.
Thus, for example, without changing the default print execution request that is hard-coded into a specific core application (processing or data that assumes a specific operating environment is described directly in the source code) Thus, it is possible to change the output destination to an arbitrary printer while maintaining the instruction intention of the execution request. Further, when replacing the printer itself, the new printer (old printer driver) can cope with a print execution request to the old printer (old printer driver).

図6の例では、実線の矢印で、主な印刷経路(印刷の実行要求の流れ)を示している。
アプリケーション150は、OS160のXPSスプールファイル記憶モジュール605、中間プリンタドライバコンポーネント群600内のプリンタドライバCoreモジュール611のConfigurationモジュール6111と接続されている。アプリケーション150は、印刷の実行を指示するアプリケーションである。
OS160は、XPSスプールファイル記憶モジュール605、プリントスプーラ606、ポートモニタ607を有している。
XPSスプールファイル記憶モジュール605は、アプリケーション150、中間プリンタドライバコンポーネント群600内の情報処理モジュール100の実行要求受付モジュール110と実行要求転送モジュール130、プリンタドライバコンポーネント群670内のプリンタドライバCoreモジュール621のRenderingモジュール6213と接続されている。XPSスプールファイル記憶モジュール605(XPSはXML Paper Specificationの略)は、V4アーキテクチャでは印刷データをXPSファイルフォーマットにてスプールする。OS管理の領域である。
プリントスプーラ606は、ポートモニタ607、プリンタドライバコンポーネント群670内のプリンタドライバCoreモジュール621のRenderingモジュール6213と接続されている。プリントスプーラ606は、印刷処理のスケジュール管理を行う。Rendering(印刷データ生成処理)された印刷データを受け付け、順次送信制御する。OS管理の領域である。
ポートモニタ607は、プリントスプーラ606、プリンタドライバコンポーネント群670内のプリンタドライバCoreモジュール621のConectionモジュール6214、プリンタ690と接続されている。ポートモニタ607は、プリントスプーラ606とプリンタ690とのデータやり取りを仲介する。OS管理の領域である。
プリンタ690は、OS160のポートモニタ607と接続されている。プリンタ690は、画像処理装置250(印刷装置)である。
In the example of FIG. 6, the solid print arrows indicate the main print path (flow of print execution requests).
The application 150 is connected to the XPS spool file storage module 605 of the OS 160 and the configuration module 6111 of the printer driver Core module 611 in the intermediate printer driver component group 600. The application 150 is an application that instructs execution of printing.
The OS 160 includes an XPS spool file storage module 605, a print spooler 606, and a port monitor 607.
The XPS spool file storage module 605 renders the application 150, the execution request reception module 110 and the execution request transfer module 130 of the information processing module 100 in the intermediate printer driver component group 600, and the rendering of the printer driver Core module 621 in the printer driver component group 670. A module 6213 is connected. An XPS spool file storage module 605 (XPS is an abbreviation of XML Paper Specification) spools print data in the XPS file format in the V4 architecture. This is an area for OS management.
The print spooler 606 is connected to the port monitor 607 and the rendering module 6213 of the printer driver core module 621 in the printer driver component group 670. A print spooler 606 manages a print processing schedule. Rendering (print data generation processing) print data is received, and transmission control is sequentially performed. This is an area for OS management.
The port monitor 607 is connected to the print spooler 606, the connection module 6214 of the printer driver Core module 621 in the printer driver component group 670, and the printer 690. The port monitor 607 mediates data exchange between the print spooler 606 and the printer 690. This is an area for OS management.
The printer 690 is connected to the port monitor 607 of the OS 160. The printer 690 is an image processing apparatus 250 (printing apparatus).

中間プリンタドライバコンポーネント群600は、プリンタドライバCoreモジュール611、情報処理モジュール100を有している。中間プリンタドライバコンポーネント群600は、プリンタドライバの形式を有し、印刷に関する実行応答を行う。なお、WindowsのV4アーキテクチャ形式では、プリンタドライバとしてのCore部分と拡張処理を行うアプリケーション部分があり、これらを連動させて動作させる。ここではこれらコンポーネント群をまとめて1つのプリンタドライバと説明する。   The intermediate printer driver component group 600 includes a printer driver Core module 611 and an information processing module 100. The intermediate printer driver component group 600 has a printer driver format and makes an execution response related to printing. In the Windows V4 architecture format, there are a core portion as a printer driver and an application portion for performing extension processing, and these are operated in conjunction with each other. Here, these component groups are collectively described as one printer driver.

プリンタドライバCoreモジュール611は、Configurationモジュール6111を有している。プリンタドライバCoreモジュール611は、プリンタドライバの本体部分である。標準的な構成では、UIモジュール、設定項目/禁則(GPD/PPD)記憶モジュール61111、Renderingモジュール、Connectionモジュールを有する。ここでは、本実施の形態に必要なConfigurationモジュール6111のみを記載しているが、他を併せて有してもよい。   The printer driver Core module 611 has a configuration module 6111. The printer driver Core module 611 is a main part of the printer driver. The standard configuration includes a UI module, a setting item / prohibition (GPD / PPD) storage module 61111, a Rendering module, and a Connection module. Here, only the configuration module 6111 necessary for this embodiment is described, but other modules may be included.

Configurationモジュール6111は、設定項目/禁則(GPD/PPD)記憶モジュール61111、拡張禁則モジュール61112を有しており、情報処理モジュール100、アプリケーション150と接続されている。Configurationモジュール6111は、プリンタドライバが備える設定項目や禁則定義の情報を保持し、印刷設定(DEVMODE/PrintTicket682)や構成情報(PrintCapabilites686)の応答を行う。
設定項目/禁則(GPD/PPD)記憶モジュール61111は、OS160が規定する形式に則って定義した設定項目(機能又は設定)、禁則定義情報を保持する。
拡張禁則モジュール61112は、各プリンタベンダーで独自拡張した設定項目、その挙動を定義し、処理する。
本実施の形態では、アプリケーション150からの様々な印刷の実行要求を受け付けできるよう(解釈できるよう)、想定でき得る全ての機能又は設定を有しておく。ここで「想定でき得る全ての機能又は設定」として、プリンタドライバコンポーネント群670(複数のプリンタドライバ)が実行可能な機能又は設定の総和をいう。
The configuration module 6111 includes a setting item / prohibition (GPD / PPD) storage module 61111 and an extended prohibition module 61112, and is connected to the information processing module 100 and the application 150. The configuration module 6111 holds setting items and prohibition definition information provided in the printer driver, and responds with print settings (DEVMODE / PrintTicket 682) and configuration information (PrintCapabilities 686).
The setting item / prohibition (GPD / PPD) storage module 61111 holds setting items (functions or settings) defined in accordance with the format defined by the OS 160 and prohibition definition information.
The expansion prohibition module 61112 defines and processes setting items uniquely expanded by each printer vendor and their behavior.
In the present embodiment, all functions or settings that can be assumed are provided so that various print execution requests from the application 150 can be received (interpreted). Here, “all functions or settings that can be assumed” refers to the sum of functions or settings that can be executed by the printer driver component group 670 (a plurality of printer drivers).

情報処理モジュール100は、実行要求受付モジュール110、実行要求変換モジュール120、実行要求転送モジュール130を有しており、プリンタドライバCoreモジュール611のConfigurationモジュール6111、プリンタドライバコンポーネント群670のプリンタドライバCoreモジュール621と接続されている。本実施の形態では、情報処理モジュール100は、WindowsのV4アーキテクチャ形式のプリンタドライバにおけるプレプリント機能の拡張コンポーネントとして備える。特に、WindowsのV4アーキテクチャでは、ワークフローアプリケーションともいわれる構成部分である。本実施の形態では、実行要求の解釈、変換、転送の処理を行う。
情報処理モジュール100は、アプリケーション150からの印刷指示後に呼び出され、XPSスプールファイル記憶モジュール605内のXPSスプールデータに加工を施した後、通常はプリントスプーラ606へデータを送る。本実施の形態では、再度スプール領域(XPSスプールファイル記憶モジュール605)へ送り、印刷実行をプリンタドライバコンポーネント群670に転送する。
処理中は、プリンタドライバCoreモジュール611の情報を構成情報(PrintCapabilites684)にて参照する。
後述する実行要求の解釈、変換、転送内容を事後設定、又は、都度設定できるよう、情報処理モジュール100自体に別途UIモジュールを設けてもよい。
The information processing module 100 includes an execution request reception module 110, an execution request conversion module 120, and an execution request transfer module 130. The configuration module 6111 of the printer driver Core module 611 and the printer driver Core module 621 of the printer driver component group 670. Connected with. In the present embodiment, the information processing module 100 is provided as an extension component of a preprint function in a Windows V4 architecture format printer driver. In particular, the Windows V4 architecture is a component called a workflow application. In the present embodiment, execution requests are interpreted, converted, and transferred.
The information processing module 100 is called after a print instruction from the application 150, processes the XPS spool data in the XPS spool file storage module 605, and normally sends the data to the print spooler 606. In the present embodiment, the image data is sent again to the spool area (XPS spool file storage module 605), and print execution is transferred to the printer driver component group 670.
During processing, the information of the printer driver Core module 611 is referred to by the configuration information (PrintCapabilities 684).
A UI module may be separately provided in the information processing module 100 itself so that the interpretation, conversion, and transfer contents of an execution request, which will be described later, can be set later or each time.

実行要求受付モジュール110は、OS160のXPSスプールファイル記憶モジュール605と接続されている。実行要求受付モジュール110は、印刷の実行要求を受け付け、その受け付けた印刷の実行要求の意味を解釈する。
実装の一例としては、プリンタドライバCoreモジュール611に定義される構成情報(Print Capabilities686)から意味を解釈するが、情報処理モジュール100自体にこれを定義又は都度設定できてもよい。ここでは後段の印刷実行するプリンタドライバコンポーネント群670が解釈できない要求のみを抽出するだけとし、後段の実行要求変換モジュール120の定義ルールにて単純変換させてもよい。
The execution request receiving module 110 is connected to the XPS spool file storage module 605 of the OS 160. The execution request reception module 110 receives a print execution request and interprets the meaning of the received print execution request.
As an example of the implementation, the meaning is interpreted from the configuration information (Print Capabilities 686) defined in the printer driver Core module 611, but this may be defined or set in the information processing module 100 itself. Here, only requests that cannot be interpreted by the printer driver component group 670 that executes the subsequent printing may be extracted, and simple conversion may be performed using the definition rules of the subsequent execution request conversion module 120.

実行要求変換モジュール120は、実行要求受付モジュール110が受け付けた印刷の実行要求を、後段の印刷実行するプリンタドライバコンポーネント群670が解釈できる要求に変換する。
実装の一例としては、特定の変換ルールを事前設定しておき、このルールにしたがった変換を行う。この変換ルールについては、適当なタイミングでユーザー設定できるようにしてもよい。さらに、それぞれのプリンタドライバCoreモジュール611、プリンタドライバCoreモジュール621の構成情報(Print Capabilities688)を踏まえて変換ルールを自動生成させてもよい。
The execution request conversion module 120 converts the print execution request received by the execution request reception module 110 into a request that can be interpreted by the printer driver component group 670 that executes the subsequent printing.
As an example of implementation, a specific conversion rule is set in advance, and conversion according to this rule is performed. This conversion rule may be set by the user at an appropriate timing. Furthermore, conversion rules may be automatically generated based on the configuration information (Print Capabilities 688) of each printer driver Core module 611 and printer driver Core module 621.

実行要求転送モジュール130は、OS160のXPSスプールファイル記憶モジュール605と接続されている。実行要求転送モジュール130は、実行要求変換モジュール120によって変換された印刷の実行要求を、後段の印刷実行するプリンタドライバコンポーネント群670に転送する。
実装の一例としては、中間プリンタドライバコンポーネント群611設置時に転送先を設定するが、都度転送先を設定できてもよい。
The execution request transfer module 130 is connected to the XPS spool file storage module 605 of the OS 160. The execution request transfer module 130 transfers the print execution request converted by the execution request conversion module 120 to the printer driver component group 670 that executes the subsequent printing.
As an example of implementation, the transfer destination is set when the intermediate printer driver component group 611 is installed, but the transfer destination may be set each time.

プリンタドライバコンポーネント群670は、プリンタドライバCoreモジュール621を有している。プリンタドライバコンポーネント群670は、標準的なプリンタドライバ(WindowsV4アーキテクチャ形式)である。本実施の形態では、実質的な印刷実行(印刷データ生成等を含む)を行う。ここでは、プリンタドライバCoreモジュール621のみを有するが、中間プリンタドライバコンポーネント群600のように拡張アプリケーションである情報処理モジュール100を有してもよい。   The printer driver component group 670 includes a printer driver Core module 621. The printer driver component group 670 is a standard printer driver (Windows V4 architecture format). In the present embodiment, substantial print execution (including print data generation and the like) is performed. Here, only the printer driver Core module 621 is provided, but an information processing module 100 that is an extended application like the intermediate printer driver component group 600 may be provided.

プリンタドライバCoreモジュール621は、Configurationモジュール6211、UIモジュール6212、Renderingモジュール6213、Conectionモジュール6214を有しており、中間プリンタドライバコンポーネント群600の情報処理モジュール100と接続されている。プリンタドライバCoreモジュール621は、プリンタドライバの本体部分である。標準的な構成では、UIモジュール6212、Configurationモジュール6211、Renderingモジュール6213、Connectionモジュール6214を有する。   The printer driver Core module 621 includes a configuration module 6211, a UI module 6212, a rendering module 6213, and a connection module 6214, and is connected to the information processing module 100 of the intermediate printer driver component group 600. The printer driver Core module 621 is a main part of the printer driver. The standard configuration includes a UI module 6212, a configuration module 6211, a rendering module 6213, and a connection module 6214.

Configurationモジュール6211は、設定項目/禁則(GPD/PPD)記憶モジュール62111、拡張禁則モジュール62112を有している。Configurationモジュール6211は、プリンタドライバが備える設定項目や禁則定義の情報を保持し、印刷設定(DEVMODE/PrintTicket682)や構成情報(PrintCapabilites688)の応答を行う。
設定項目/禁則(GPD/PPD)記憶モジュール62111は、OS160が規定する形式に則って定義した設定項目(機能又は設定)、禁則定義情報を保持する。
拡張禁則モジュール62112は、各プリンタベンダーで独自拡張した設定項目、その挙動を定義し、処理する。
ただし、設定項目/禁則(GPD/PPD)記憶モジュール62111、拡張禁則モジュール62112では、出力先のプリンタ690が実行可能な範囲の設定のみを有している。
The configuration module 6211 includes a setting item / prohibition (GPD / PPD) storage module 62111 and an extended prohibition module 62112. The configuration module 6211 holds setting items and prohibition definition information included in the printer driver, and responds with print settings (DEVMODE / PrintTicket 682) and configuration information (PrintCapabilities 688).
The setting item / prohibition (GPD / PPD) storage module 62111 holds setting items (functions or settings) defined in accordance with the format defined by the OS 160 and prohibition definition information.
The expansion prohibition module 62112 defines and processes setting items uniquely expanded by each printer vendor and their behavior.
However, the setting item / prohibition (GPD / PPD) storage module 62111 and the extended prohibition module 62112 have only settings of a range that can be executed by the output destination printer 690.

UIモジュール6212は、プリンタドライバの印刷設定画面を表示する。
Renderingモジュール6213は、OS160のXPSスプールファイル記憶モジュール605、プリントスプーラ606と接続されている。Renderingモジュール6213は、XPSスプールファイル記憶モジュール605内のXPSスプールデータからプリンタ690が処理可能な印刷データを生成する。XPS Filterは、この印刷データ生成処理を行う実体であり、一般的に処理要求単位に用意する。
Conectionモジュール6214は、OS160のポートモニタ607と接続されている。Conectionモジュール6214は、プリンタ690との通信制御を行う。プリンタ690の状態を問い合わせたり、プリンタ690の設定を取得したりする。
The UI module 6212 displays a print setting screen of the printer driver.
The Rendering module 6213 is connected to the XPS spool file storage module 605 and the print spooler 606 of the OS 160. The Rendering module 6213 generates print data that can be processed by the printer 690 from the XPS spool data in the XPS spool file storage module 605. The XPS Filter is an entity that performs this print data generation processing, and is generally prepared for each processing request unit.
The Connection module 6214 is connected to the port monitor 607 of the OS 160. The Connection module 6214 performs communication control with the printer 690. Inquires about the status of the printer 690 and obtains settings of the printer 690.

図7は、本実施の形態の導入例を示すフローチャートである。
なお、特定の印刷の実行要求を固定実行するアプリケーション150(例えば、図3等の例で示した設定[101]等としているアプリケーション150)、印刷実行するプリンタドライバ170(標準ドライバ)が設置されている環境があるとする。図9に示す例を用いて説明する。図9の例では、前述のアプリケーション150、プリンタドライバB:170B(プリンタドライバコンポーネント群670に相当)が設置されているとする。プリンタドライバB:170BのGPDファイル記憶モジュール350Bに、例えば、
「*Feature:InputBin{
*AutoTray{*ID:7}
*Manual{*ID:4}
*Tray1{*ID:1}
}」
が記憶されている。つまり、[101]は定義されていない。
FIG. 7 is a flowchart showing an introduction example of the present embodiment.
Note that an application 150 for fixedly executing a specific print execution request (for example, the application 150 having the setting [101] shown in the example of FIG. 3) and a printer driver 170 (standard driver) for executing printing are installed. Suppose you have an environment. This will be described using the example shown in FIG. In the example of FIG. 9, it is assumed that the above-described application 150 and printer driver B: 170B (corresponding to the printer driver component group 670) are installed. For example, in the GPD file storage module 350B of the printer driver B: 170B,
“* Feature: InputBin {
* AutoRay {* ID: 7}
* Manual {* ID: 4}
* Tray 1 {* ID: 1}
}
Is remembered. That is, [101] is not defined.

ステップS702では、想定される設定をGPDファイルに定義する。アプリケーション150からの様々な印刷の実行要求を受け付けできるよう(解釈できるよう)、想定でき得る設定をGPDファイルに定義しておく。
例えば、給紙トレイ(InputBin)の“Tray1”指定パターンとして、定義値[1]/[11]/[101]/[261]/[901]等を用意しておく。前述したように、他のプリンタドライバ170(例えば、前述のプリンタドライバA:170A)が対応している設定である。
図9の例に示すように、設定項目/禁則(GPD/PPD)記憶モジュール61111内のGPDファイルには、このステップS702によって、
「*Feature:InputBin{
*AutoTray{*ID:7}
*Manual{*ID:4}
*Tray1{*ID:1}
*Tray1_Dummy1{*ID:11}
*Tray1_Dummy2{*ID:101}
*Tray1_Dummy3{*ID:261}
*Tray1_Dummy4{*ID:901}
・・・
}」
を記憶する。
In step S702, an assumed setting is defined in the GPD file. Settings that can be assumed are defined in the GPD file so that various print execution requests from the application 150 can be received (interpreted).
For example, definition values [1] / [11] / [101] / [261] / [901] and the like are prepared as the “Tray1” designation pattern of the paper feed tray (InputBin). As described above, this setting is compatible with another printer driver 170 (for example, the above-described printer driver A: 170A).
As shown in the example of FIG. 9, the GPD file in the setting item / prohibition (GPD / PPD) storage module 61111 is subjected to this step S702.
“* Feature: InputBin {
* AutoRay {* ID: 7}
* Manual {* ID: 4}
* Tray 1 {* ID: 1}
* Tray1_Dummy1 {* ID: 11}
* Tray1_Dummy2 {* ID: 101}
* Tray1_Dummy3 {* ID: 261}
* Tray1_Dummy4 {* ID: 901}
...
}
Remember.

ステップS704では、変換ルールを設定する。印刷の実行要求の変換ルールを実行要求変換モジュール120内に設定しておく。例えば、給紙トレイ(InputBin)の“Tray1”変換ルールとして、定義値[11]/[101]/[261]/[901]を受け付けた場合に[1]に変換するルールを設定しておく。図9に示す例では、実行要求変換モジュール120内で、変換処理915として「Tray1_Dummy2→Tray1」を設定する。   In step S704, a conversion rule is set. A print execution request conversion rule is set in the execution request conversion module 120 in advance. For example, as a “Tray1” conversion rule for a paper feed tray (InputBin), a rule for converting to [1] when a definition value [11] / [101] / [261] / [901] is received is set. . In the example illustrated in FIG. 9, “Tray1_Dummy2 → Tray1” is set as the conversion process 915 in the execution request conversion module 120.

ステップS706では、中間プリンタドライバ(図6の例では、中間プリンタドライバコンポーネント群600)を設置する。
ステップS708では、印刷の実行要求の転送先として、設置済みのプリンタドライバ170(標準ドライバ)を設定する。
In step S706, an intermediate printer driver (in the example of FIG. 6, the intermediate printer driver component group 600) is installed.
In step S708, the installed printer driver 170 (standard driver) is set as the transfer destination of the print execution request.

図8は、本実施の形態による処理例を示すフローチャートである。図7の例に示すフローチャートによる導入の後に、印刷処理を行うものである。
ステップS802では、アプリケーション150が印刷の実行要求を行う。これによって、中間ドライバ(中間プリンタドライバコンポーネント群600)に対して印刷の実行要求が行われる。図9に示す例では、アプリケーション150が、設定値310として[101]を設定している。なお、OS160では、設定項目/禁則(GPD/PPD)記憶モジュール61111に[101]が定義されているので、変換処理は行われない。
FIG. 8 is a flowchart showing an example of processing according to this embodiment. After the introduction according to the flowchart shown in the example of FIG. 7, the printing process is performed.
In step S802, the application 150 makes a print execution request. As a result, a print execution request is made to the intermediate driver (intermediate printer driver component group 600). In the example illustrated in FIG. 9, the application 150 sets [101] as the setting value 310. In the OS 160, since [101] is defined in the setting item / prohibition (GPD / PPD) storage module 61111, conversion processing is not performed.

ステップS804では、実行要求受付モジュール110が、印刷の実行要求を受け付け、その内容を解釈する。例えば、給紙トレイ(InputBin)の[101]設定を受け取り、これが“Tray1”を示していることを解釈する。図9に示す例では、実行要求受付モジュール110が、Tray1_Dummy2:910として設定値310を受け付ける。   In step S804, the execution request receiving module 110 receives a print execution request and interprets the contents. For example, it receives the [101] setting of the paper feed tray (InputBin) and interprets that it indicates “Tray1”. In the example illustrated in FIG. 9, the execution request receiving module 110 receives the setting value 310 as Ray1_Dummy2: 910.

ステップS806では、実行要求変換モジュール120が、変換ルールに基づいて、印刷の実行要求を変換する。例えば、給紙トレイ(InputBin)の[101]設定を、[1]設定に変換する。図9に示す例では、実行要求変換モジュール120が、具体的変換処理920として「101→1」を行う。
ステップS808では、実行要求転送モジュール130が、変換後の印刷の実行要求をプリンタドライバ170に転送する。例えば、転送先として登録されたプリンタドライバ170に対して印刷の実行要求を行う。図9に示す例では、実行要求転送モジュール130が、Tray1:925の設定値930「1」で転送する。
ステップS810では、標準ドライバであるプリンタドライバ170は、印刷処理を行う。図9に示す例では、プリンタドライバB:170Bが、Tray1:925の設定値930「1」で、画像処理装置250で印刷させる。
In step S806, the execution request conversion module 120 converts the print execution request based on the conversion rule. For example, the [101] setting of the paper feed tray (InputBin) is converted into the [1] setting. In the example illustrated in FIG. 9, the execution request conversion module 120 performs “101 → 1” as the specific conversion process 920.
In step S <b> 808, the execution request transfer module 130 transfers the converted print execution request to the printer driver 170. For example, a print execution request is issued to the printer driver 170 registered as the transfer destination. In the example illustrated in FIG. 9, the execution request transfer module 130 transfers with the set value 930 “1” of Tray 1: 925.
In step S810, the printer driver 170, which is a standard driver, performs print processing. In the example illustrated in FIG. 9, the printer driver B: 170 </ b> B causes the image processing apparatus 250 to print with the setting value 930 “1” of Ray 1: 925.

なお、本実施の形態によれば、ユーザー510が別用途でドライバユーザーインタフェース1050を操作する際には、画像処理装置250に対して印刷実行するプリンタドライバB:170Bを直接操作すればよく、その場合にドライバユーザーインタフェース1050に余分な選択肢が表示されることも無い。
図10は、本実施の形態による処理例を示す説明図である。ドライバユーザーインタフェース1050を表示装置520に表示し、ユーザー510に選択させる。例えば、ドライバユーザーインタフェース1050として。給紙手段の選択があり、プリンタドライバB:170Bにおける設定項目として、「自動選択」、「手差し」、「トレイ1」がある。中間プリンタドライバコンポーネント群600の設定項目/禁則(GPD/PPD)記憶モジュール61111内の定義内の項目を用いるのではなく、プリンタドライバB:170BのGPDファイル記憶モジュール350Bを用いているので、余分な設定項目が表示されることもない。
According to the present embodiment, when the user 510 operates the driver user interface 1050 for another purpose, the printer driver B: 170B that performs printing on the image processing apparatus 250 may be directly operated. In some cases, no extra options are displayed on the driver user interface 1050.
FIG. 10 is an explanatory diagram showing a processing example according to the present embodiment. The driver user interface 1050 is displayed on the display device 520, and the user 510 is selected. For example, as the driver user interface 1050. There is a selection of paper feeding means, and setting items in the printer driver B: 170B include “automatic selection”, “manual feed”, and “tray 1”. Since the GPD file storage module 350B of the printer driver B: 170B is used instead of the items in the definition in the setting item / prohibition (GPD / PPD) storage module 61111 of the intermediate printer driver component group 600, an extra Setting items are not displayed.

前述の例では、事前に変換ルールを設定しておかなければならず、基本的には標準ドライバ(プリンタドライバ170)毎に中間ドライバ(情報処理モジュール100、中間プリンタドライバコンポーネント群600における中間ドライバの1つ)を用意する必要がある。
前述の図8の例に示すフローチャートのステップS806にて、実行要求変換モジュール120による処理として、図11の例に示すフローチャートの処理を追加することで、変換ルールを生成でき、標準ドライバ(プリンタドライバ170)によらない中間ドライバ(情報処理モジュール100)を提供することができる。つまり、複数のプリンタドライバ170を1つの情報処理モジュール100で管理することができるようになる。
In the above example, conversion rules must be set in advance. Basically, an intermediate driver (information processing module 100, intermediate printer driver component group 600) for each intermediate driver (standard driver (printer driver 170)). 1) need to be prepared.
In step S806 of the flowchart shown in the example of FIG. 8 described above, a conversion rule can be generated by adding the process of the flowchart shown in the example of FIG. 170), an intermediate driver (information processing module 100) can be provided. That is, a plurality of printer drivers 170 can be managed by one information processing module 100.

図11は、本実施の形態(主に実行要求変換モジュール120)による処理例を示すフローチャートである。実行要求変換モジュール120が行う、事前に変換処理が定義されていない機能又は設定が、印刷の実行要求に含まれていた場合の対処例を示すものである。
ステップS1102では、実行要求受付モジュール110から印刷の実行要求と解釈結果を受け取る。
ステップS1104では、中間ドライバ自身のプリンタドライバCoreモジュール611、標準ドライバのプリンタドライバCoreモジュール621から構成情報(Print Capabilities686、Print Capabilities688)を取得する。
FIG. 11 is a flowchart showing an example of processing by the present embodiment (mainly the execution request conversion module 120). The following shows an example of handling when a function or setting for which conversion processing is not defined in advance performed by the execution request conversion module 120 is included in a print execution request.
In step S1102, a print execution request and interpretation result are received from the execution request receiving module 110.
In step S1104, configuration information (Print Capabilities 686, Print Capabilities 688) is acquired from the printer driver Core module 611 of the intermediate driver itself and the printer driver Core module 621 of the standard driver.

ステップS1106では、印刷の実行要求された機能毎(又は設定毎)に以下(ステップS1108〜ステップS1114までの処理)を繰り返す。
ステップS1108では、印刷要求された設定値が標準ドライバの構成情報(Print Capabilities688)に含まれるか否かを判断し、含まれる場合はステップS1114へ進み(変換処理不要)、含まれない場合はステップS1110へ進む(変換処理必要)。
In step S1106, the following (the processing from step S1108 to step S1114) is repeated for each function (or each setting) requested to be printed.
In step S1108, it is determined whether the setting value requested for printing is included in the configuration information (Print Capabilities 688) of the standard driver. If included, the process proceeds to step S1114 (no conversion processing is required). The process proceeds to S1110 (conversion processing is necessary).

ステップS1110では、印刷要求の解釈結果と標準ドライバの構成情報(Print Capabilities688)をつき合わせ、同じ要求を意図する標準ドライバ側の設定値を特定する。例えば、GPDの定義にしたがって設定値[101]は“Tray1”と解釈され、変換規則を持たない実行要求変換モジュール120は、転送先の標準ドライバ(予め定められている標準ドライバ、又は、後述するように標準ドライバを選択する)の構成情報から“Tray1”の設定値を抽出する。その上で、設定値[101]から設定値[1]に変更する変換規則を生成する。
ステップS1112では、印刷要求された設定値を、特定した設定値に変換する。例えば、図3では設定値[101]を“Tray1”である[1]に変換する。
In step S1110, the interpretation result of the print request is combined with the configuration information (Print Capabilities 688) of the standard driver, and the setting value on the standard driver side that intends the same request is specified. For example, the setting value [101] is interpreted as “Tray1” in accordance with the definition of GPD, and the execution request conversion module 120 that does not have a conversion rule is a transfer destination standard driver (a predetermined standard driver or a later-described standard driver). The setting value of “Tray1” is extracted from the configuration information of the standard driver is selected. Then, a conversion rule for changing from the set value [101] to the set value [1] is generated.
In step S1112, the setting value requested for printing is converted into the specified setting value. For example, in FIG. 3, the set value [101] is converted to [1] which is “Tray1”.

ステップS1114では、対象としている印刷の実行要求内で全ての機能(又は設定)を処理したか否かを判断し、処理した場合はステップS1116へ進み、それ以外の場合はステップS1108へ戻る。
ステップS1116では、実行要求転送モジュール130に処理結果を渡す。
In step S1114, it is determined whether or not all functions (or settings) have been processed within the target print execution request. If processed, the process proceeds to step S1116; otherwise, the process returns to step S1108.
In step S 1116, the processing result is passed to the execution request transfer module 130.

さらに、この図11の例に示すフローチャートによる処理を追加することと併せて、実行要求転送モジュール130に設定する印刷の実行要求の転送先(プリンタドライバ170)を、中間ドライバ(情報処理モジュール100)の設置後に任意に変更できる仕組みを設けてもよい。例えば、アプリケーション・プリンタドライバ対応テーブル1200を設けてもよい。実行要求転送モジュール130は、アプリケーション・プリンタドライバ対応テーブル1200にしたがって、プリンタドライバ170を選択して転送すればよい。図12は、アプリケーション・プリンタドライバ対応テーブル1200のデータ構造例を示す説明図である。アプリケーション・プリンタドライバ対応テーブル1200は、アプリケーション欄1210、プリンタドライバ欄1220を有している。アプリケーション欄1210は、アプリケーション150の識別子を記憶している。プリンタドライバ欄1220は、プリンタドライバ170の識別子(識別子には名称を含めてもよい)を記憶している。アプリケーション・プリンタドライバ対応テーブル1200は、アプリケーション150が印刷の実行要求を行った際に生成される。そして、その後、ユーザーの操作等によって任意の時期に変更されてもよい。このアプリケーション・プリンタドライバ対応テーブル1200によって、実行要求転送モジュール130は、アプリケーション150に合わせて、プリンタドライバ170を選択することができる。
これらを組み合わせることで、同一環境に複数種の標準ドライバ(プリンタドライバ170)が存在した場合でも、1つの中間ドライバ(情報処理モジュール100)で対処可能となる。
In addition to the addition of the processing according to the flowchart shown in the example of FIG. 11, the transfer destination (printer driver 170) of the print execution request set in the execution request transfer module 130 is set as the intermediate driver (information processing module 100). You may provide a mechanism that can be changed arbitrarily after installation. For example, an application / printer driver correspondence table 1200 may be provided. The execution request transfer module 130 may select and transfer the printer driver 170 in accordance with the application / printer driver correspondence table 1200. FIG. 12 is an explanatory diagram showing an example of the data structure of the application / printer driver correspondence table 1200. The application / printer driver correspondence table 1200 has an application column 1210 and a printer driver column 1220. The application column 1210 stores the identifier of the application 150. The printer driver column 1220 stores the identifier of the printer driver 170 (the identifier may include a name). The application / printer driver correspondence table 1200 is generated when the application 150 makes a print execution request. After that, it may be changed at an arbitrary time by a user operation or the like. Using the application / printer driver correspondence table 1200, the execution request transfer module 130 can select the printer driver 170 in accordance with the application 150.
By combining these, even if a plurality of types of standard drivers (printer drivers 170) exist in the same environment, it is possible to cope with one intermediate driver (information processing module 100).

図13を参照して、本実施の形態の情報処理装置200、画像処理装置250のハードウェア構成例について説明する。図13に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部1317と、プリンタ等のデータ出力部1318を備えたハードウェア構成例を示している。   A hardware configuration example of the information processing apparatus 200 and the image processing apparatus 250 according to the present embodiment will be described with reference to FIG. The configuration illustrated in FIG. 13 is configured by, for example, a personal computer (PC) or the like, and illustrates a hardware configuration example including a data reading unit 1317 such as a scanner and a data output unit 1318 such as a printer.

CPU(Central Processing Unit)1301は、前述の実施の形態において説明した各種のモジュール、すなわち、アプリケーション150、OS160、情報処理モジュール100、実行要求受付モジュール110、実行要求変換モジュール120、実行要求転送モジュール130、プリンタドライバ170等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。   A CPU (Central Processing Unit) 1301 is the various modules described in the above-described embodiments, that is, the application 150, the OS 160, the information processing module 100, the execution request receiving module 110, the execution request converting module 120, and the execution request transferring module 130. The control unit executes processing according to a computer program describing an execution sequence of each module such as the printer driver 170.

ROM(Read Only Memory)1302は、CPU1301が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1303は、CPU1301の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス1304により相互に接続されている。   A ROM (Read Only Memory) 1302 stores programs used by the CPU 1301, calculation parameters, and the like. A RAM (Random Access Memory) 1303 stores programs used in the execution of the CPU 1301, parameters that change as appropriate during the execution, and the like. These are connected to each other by a host bus 1304 including a CPU bus or the like.

ホストバス1304は、ブリッジ1305を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス1306に接続されている。   The host bus 1304 is connected via a bridge 1305 to an external bus 1306 such as a PCI (Peripheral Component Interconnect / Interface) bus.

キーボード1308、マウス等のポインティングデバイス1309は、操作者により操作されるデバイスである。ディスプレイ1310は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス1309とディスプレイ1310の両方の機能を備えているタッチスクリーン等であってもよい。その場合、キーボードの機能の実現について、キーボード1308のように物理的に接続しなくても、画面(タッチスクリーン)上にソフトウェアでキーボード(いわゆるソフトウェアキーボード、スクリーンキーボード等ともいわれる)を描画して、キーボードの機能を実現するようにしてもよい。   A keyboard 1308 and a pointing device 1309 such as a mouse are devices operated by an operator. The display 1310 includes a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various types of information as text or image information. Alternatively, a touch screen or the like having both functions of the pointing device 1309 and the display 1310 may be used. In that case, with respect to the realization of the keyboard function, even if the keyboard 1308 is not physically connected, a keyboard (so-called software keyboard, screen keyboard, etc.) is drawn on the screen (touch screen) by software, You may make it implement | achieve the function of a keyboard.

HDD(Hard Disk Drive)1311は、ハードディスク(フラッシュ・メモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU1301によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、設定項目/禁則(GPD/PPD)記憶モジュール61111、設定項目/禁則(GPD/PPD)記憶モジュール62111等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。   An HDD (Hard Disk Drive) 1311 includes a hard disk (may be a flash memory or the like), drives the hard disk, and records or reproduces a program executed by the CPU 1301 and information. The hard disk realizes functions as a setting item / prohibition (GPD / PPD) storage module 61111, a setting item / prohibition (GPD / PPD) storage module 62111, and the like. Further, various other data, various computer programs, and the like are stored.

ドライブ1312は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1313に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1307、外部バス1306、ブリッジ1305、及びホストバス1304を介して接続されているRAM1303に供給する。なお、リムーバブル記録媒体1313も、データ記録領域として利用可能である。   The drive 1312 reads data or a program recorded on a removable recording medium 1313 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and reads the data or program into an interface 1307 and an external bus 1306. , The bridge 1305, and the RAM 1303 connected via the host bus 1304. The removable recording medium 1313 can also be used as a data recording area.

接続ポート1314は、外部接続機器1315を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1314は、インタフェース1307、及び外部バス1306、ブリッジ1305、ホストバス1304等を介してCPU1301等に接続されている。通信部1316は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1317は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1318は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。   The connection port 1314 is a port for connecting the external connection device 1315 and has a connection unit such as USB and IEEE1394. The connection port 1314 is connected to the CPU 1301 and the like via the interface 1307, the external bus 1306, the bridge 1305, the host bus 1304, and the like. A communication unit 1316 is connected to a communication line and executes data communication processing with the outside. The data reading unit 1317 is, for example, a scanner, and executes document reading processing. The data output unit 1318 is, for example, a printer, and executes document data output processing.

なお、図13に示す情報処理装置200、画像処理装置250のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図13に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図13に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。   Note that the hardware configurations of the information processing apparatus 200 and the image processing apparatus 250 shown in FIG. 13 show one configuration example, and the present embodiment is not limited to the configuration shown in FIG. Any configuration can be used as long as it can execute the module described in. For example, some modules may be configured with dedicated hardware (for example, Application Specific Integrated Circuit (ASIC), etc.), and some modules are in an external system and connected via a communication line Alternatively, a plurality of systems shown in FIG. 13 may be connected to each other via a communication line so as to cooperate with each other. In particular, in addition to personal computers, portable information communication devices (including mobile phones, smartphones, mobile devices, wearable computers, etc.), information appliances, robots, copiers, fax machines, scanners, printers, multifunction devices (scanners, printers, An image processing apparatus having two or more functions such as a copying machine and a fax machine) may be incorporated.

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
The program described above may be provided by being stored in a recording medium, or the program may be provided by communication means. In that case, for example, the above-described program may be regarded as an invention of a “computer-readable recording medium recording the program”.
The “computer-readable recording medium on which a program is recorded” refers to a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, such as “DVD-R, DVD-RW, DVD-RAM,” and DVD + RW. Standard “DVD + R, DVD + RW, etc.”, compact disc (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), Blu-ray disc ( Blu-ray (registered trademark) Disc), magneto-optical disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM (registered trademark)) )), Flash memory, Random access memory (RAM) SD (Secure Digital) memory card and the like.
Then, the whole or a part of the program may be recorded on the recording medium for storage or distribution. Also, by communication, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wired network used for the Internet, an intranet, an extranet, or a wireless communication It may be transmitted using a transmission medium such as a network or a combination of these, or may be carried on a carrier wave.
Furthermore, the program may be a part or all of another program, or may be recorded on a recording medium together with a separate program. Moreover, it may be divided and recorded on a plurality of recording media. Further, it may be recorded in any manner as long as it can be restored, such as compression or encryption.

100…情報処理モジュール
110…実行要求受付モジュール
120…実行要求変換モジュール
130…実行要求転送モジュール
150…アプリケーション
160…OS
170…プリンタドライバ
200…情報処理装置
250…画像処理装置
290…通信回線
310…設定値
315…Devmode値
320…PT
325…Tray1
330…デフォルト値
335…AutoSelect
350…GPDファイル記憶モジュール
360…変換処理
410…代替実行処理モジュール
600…中間プリンタドライバコンポーネント群
605…XPSスプールファイル記憶モジュール
606…プリントスプーラ
607…ポートモニタ
611…プリンタドライバCoreモジュール
6111…Configurationモジュール
61111…設定項目/禁則(GPD/PPD)記憶モジュール
61112…拡張禁則モジュール
621…プリンタドライバCoreモジュール
6211…Configurationモジュール
62111…設定項目/禁則(GPD/PPD)記憶モジュール
62112…拡張禁則モジュール
6212…UIモジュール
6213…Renderingモジュール
6214…Conectionモジュール
670…プリンタドライバコンポーネント群
682…DEVMODE/PrintTicket
684、686、688…Print Capabilities
690…プリンタ
DESCRIPTION OF SYMBOLS 100 ... Information processing module 110 ... Execution request reception module 120 ... Execution request conversion module 130 ... Execution request transfer module 150 ... Application 160 ... OS
170: Printer driver 200 ... Information processing device 250 ... Image processing device 290 ... Communication line 310 ... Setting value 315 ... Devmode value 320 ... PT
325 ... Tray1
330 ... Default value 335 ... AutoSelect
350 ... GPD file storage module 360 ... conversion processing 410 ... alternative execution processing module 600 ... intermediate printer driver component group 605 ... XPS spool file storage module 606 ... print spooler 607 ... port monitor 611 ... printer driver core module 6111 ... configuration module 61111 ... Setting item / prohibition (GPD / PPD) storage module 61112 ... Expansion prohibition module 621 ... Printer driver Core module 6211 ... Configuration module 62111 ... Setting item / prohibition (GPD / PPD) storage module 62112 ... Expansion prohibition module 6212 ... UI module 6213 ... Rendering module 6214 ... Connector Module 670 ... printer driver component group 682 ... DEVMODE / PrintTicket
684, 686, 688 ... Print Capabilities
690 ... Printer

Claims (6)

印刷の実行要求をOSから受け付ける受付手段と、
前記受付手段が受け付けた実行要求を、変換規則にしたがって、プリンタドライバが解釈可能な実行要求に変換する変換手段と、
前記変換手段により変換された実行要求を前記プリンタドライバに転送する転送手段
を有する情報処理装置。
Accepting means for accepting a print execution request from the OS;
Conversion means for converting the execution request received by the reception means into an execution request interpretable by a printer driver according to a conversion rule;
An information processing apparatus comprising transfer means for transferring the execution request converted by the conversion means to the printer driver.
プリンタドライバが受付可能な実行要求の定義を予め記憶しており、該定義をOSによってアクセス可能にしている記憶手段
をさらに有する請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, further comprising: a storage unit that stores in advance a definition of an execution request that can be accepted by the printer driver, and makes the definition accessible by the OS.
前記記憶手段は、前記プリンタドライバが処理し得る機能又は設定が定義されているGPDファイルを記憶している、
請求項2に記載の情報処理装置。
The storage means stores a GPD file in which functions or settings that can be processed by the printer driver are defined.
The information processing apparatus according to claim 2.
前記変換規則を、前記プリンタドライバの構成情報を用いて生成する生成手段
をさらに有し、
前記変換手段は、前記生成手段によって生成された変換規則にしたがって変換処理を行う、
請求項1に記載の情報処理装置。
Generating means for generating the conversion rule using configuration information of the printer driver;
The conversion means performs conversion processing according to the conversion rule generated by the generation means.
The information processing apparatus according to claim 1.
前記転送手段の転送先のプリンタドライバを選択する選択手段をさらに有し、
前記生成手段は、前記変換規則を前記選択手段により選択されたプリンタドライバの構成情報を用いて生成する、
請求項4に記載の情報処理装置。
A selection unit that selects a destination printer driver of the transfer unit;
The generation unit generates the conversion rule using configuration information of a printer driver selected by the selection unit.
The information processing apparatus according to claim 4.
コンピュータを、
印刷の実行要求をOSから受け付ける受付手段と、
前記受付手段が受け付けた実行要求を、変換規則にしたがって、プリンタドライバが解釈可能な実行要求に変換する変換手段と、
前記変換手段により変換された実行要求を前記プリンタドライバに転送する転送手段
として機能させるための情報処理プログラム。
Computer
Accepting means for accepting a print execution request from the OS;
Conversion means for converting the execution request received by the reception means into an execution request interpretable by a printer driver according to a conversion rule;
An information processing program for causing an execution request converted by the conversion means to function as a transfer means for transferring to the printer driver.
JP2018078813A 2018-04-17 2018-04-17 Information processing apparatus and information processing program Pending JP2019185627A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018078813A JP2019185627A (en) 2018-04-17 2018-04-17 Information processing apparatus and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018078813A JP2019185627A (en) 2018-04-17 2018-04-17 Information processing apparatus and information processing program

Publications (1)

Publication Number Publication Date
JP2019185627A true JP2019185627A (en) 2019-10-24

Family

ID=68341480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018078813A Pending JP2019185627A (en) 2018-04-17 2018-04-17 Information processing apparatus and information processing program

Country Status (1)

Country Link
JP (1) JP2019185627A (en)

Similar Documents

Publication Publication Date Title
JP5677047B2 (en) Printing system, information processing apparatus, printing method, and program
US8773691B2 (en) Printing control apparatus, printing control method, and storage medium
EP3471389A2 (en) Program
JP2020004158A (en) Information processing apparatus, method of controlling information processing apparatus, and program
US9311036B2 (en) Data processing system and method of data processing
KR100601696B1 (en) Method and apparatus for processing image file directly
US10353646B2 (en) Information processing apparatus, information processing system, and information processing method
JP7230387B2 (en) Information processing device and information processing program
US20230350613A1 (en) Computer-readable storage medium, information processing device, and method for printing composite image
JP7255117B2 (en) Information processing device, printing method, and program
JP6481508B2 (en) Terminal device, program, and output system
US20110055689A1 (en) Method of performing at least one operation in image forming apparatus, and image forming apparatus and host device to perform the method
US8270014B2 (en) Printing method, recordable medium recorded with a program to execute the method and host apparatus
US20180074764A1 (en) Information processing device, information processing system, and information processing method
JP2008158645A (en) Printing apparatus, data processing apparatus, printing control method, storage medium and program
JP2014228954A (en) Functional description creation program, functional description creation method, and functional description creation system
US10891087B2 (en) Print system, printer and non-transitory computer-readable recording medium storing instructions therefor
JP2019185627A (en) Information processing apparatus and information processing program
JP7351126B2 (en) Information processing system, server device and information processing method
US10194038B2 (en) Information processing apparatus, information processing method, and information processing system
US9990168B2 (en) Recording medium, information processing apparatus, and information processing method
JP2008046821A (en) Image forming system, information processor, and print control method and program
JP2015225535A (en) Information processor, and authentication printing system using same
JP2014056424A (en) Printing control device, printing control method, and printing control system
JP2006243840A (en) Print information processor, print information processing method, print information processing program, and computer-readable storage medium