JP2015075822A - Print control system, print control method and program - Google Patents

Print control system, print control method and program Download PDF

Info

Publication number
JP2015075822A
JP2015075822A JP2013210182A JP2013210182A JP2015075822A JP 2015075822 A JP2015075822 A JP 2015075822A JP 2013210182 A JP2013210182 A JP 2013210182A JP 2013210182 A JP2013210182 A JP 2013210182A JP 2015075822 A JP2015075822 A JP 2015075822A
Authority
JP
Japan
Prior art keywords
intermediate data
print
data
information
unit
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
JP2013210182A
Other languages
Japanese (ja)
Inventor
山本 武
Takeshi Yamamoto
武 山本
輝壮 高橋
Terumasa Takahashi
輝壮 高橋
将幸 佐伯
Masayuki Saeki
将幸 佐伯
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 JP2013210182A priority Critical patent/JP2015075822A/en
Publication of JP2015075822A publication Critical patent/JP2015075822A/en
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

PROBLEM TO BE SOLVED: To automatically distribute a print job and to rightly translate intermediate data into a printer language even in the case where a special font is used.SOLUTION: A client computer produces image data from document data included in a print request, extracts print setting information and information about the client computer from a print request, produces intermediate data therefrom and transmits the intermediate data to a server component. A server computer receives the intermediate data, collates the intermediate data with one or more setting conditions, determines a printer that becomes an output destination, distributes received image data to output waiting data accumulation means corresponding to the printer that becomes the output destination in accordance with the determined output destination, and translates the distributed image data into a language that the printer can interpret within the output waiting data accumulation means.

Description

本発明は、印刷ジョブを各出力先へ自動振り分けする印刷制御システム、印刷制御方法およびその方法をコンピュータに実行させるためのプログラムに関する。   The present invention relates to a print control system for automatically distributing a print job to each output destination, a print control method, and a program for causing a computer to execute the method.

ネットワーク上のプリンタを使用して印刷を行う技術として、ポイントアンドプリントと呼ばれる技術が知られている。この技術は、印刷を指示するクライアントコンピュータにプリンタドライバがインストールされていなくても、ネットワークに接続されているプリントサーバにインストールされているプリンタドライバを使用して印刷を行うことができる技術である。   As a technique for performing printing using a printer on a network, a technique called point-and-print is known. This technique is capable of performing printing using a printer driver installed on a print server connected to a network even if a printer driver is not installed on a client computer that instructs printing.

ポイントアンドプリントには、その利用方法として、クライアントサイドレンダリングと呼ばれる方法と、サーバサイドレンダリングと呼ばれる方法の2つがある。前者の方法は、印刷されたデータを実際のプリンタへ紙により出力する際の、プリンタ言語への変換をクライアントコンピュータ側で行う方法である。後者の方法は、そのプリンタ言語への変換をプリントサーバ側で行う方法である。ここで、プリンタ言語とは、プリンタへ出力するイメージを記述し、そのプリンタに対して指示する言語である。   Point-and-print has two methods of use: a method called client-side rendering and a method called server-side rendering. The former method is a method in which conversion to a printer language is performed on the client computer side when printed data is output to an actual printer by paper. The latter method is a method in which the conversion to the printer language is performed on the print server side. Here, the printer language is a language for describing an image to be output to a printer and instructing the printer.

サーバサイドレンダリングでは、印刷を指示するクライアントコンピュータが中間データ(例えば、拡張メタファイル)を作成して、それをプリントサーバへ送信し、プリントサーバが、中間データに含まれるフォント情報に基づき、プリンタ言語に変換する。   In server-side rendering, a client computer instructing printing creates intermediate data (for example, an extended metafile) and sends it to a print server. The print server uses a printer language based on font information included in the intermediate data. Convert to

このサーバサイドレンダリングを利用した技術として、ネットワーク上のプリンタを使用し、印刷ジョブを特定のルールに基づいて出力先のプリンタへ自動振り分けするシステムや方法が提案されている(例えば、特許文献1参照)。   As a technique using this server-side rendering, a system and a method for automatically distributing a print job to an output destination printer based on a specific rule using a printer on a network have been proposed (for example, see Patent Document 1). ).

しかしながら、サーバサイドレンダリングを利用した上記技術では、中間データに含まれる特殊なフォントが、プリントサーバに実装されていない場合、中間データからプリンタ言語に正しく変換することができないという問題があった。   However, in the above technique using server-side rendering, there is a problem that when special fonts included in the intermediate data are not mounted on the print server, the intermediate data cannot be correctly converted into a printer language.

本発明は、上記課題に鑑み、クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続された印刷装置を選択して印刷を実行させる印刷制御システムであって、印刷制御システムは、サーバコンピュータとクライアントコンピュータとを含んで構成され、
サーバコンピュータは、
アプリケーション実行手段から受信した印刷要求に含まれる文書データから各ページの画像データを生成し、印刷要求から印刷設定情報とクライアントコンピュータに関する情報とを抽出し、画像データと印刷設定情報とクライアントコンピュータに関する情報とから構成される中間データを生成する中間データ生成手段と、中間データ生成手段により生成された中間データを、クライアントコンピュータに送信する中間データ送信手段とを含み、
クライアントコンピュータは、
中間データ送信手段から送信された中間データを受信する中間データ受信手段と、印刷装置と印刷設定情報およびクライアントコンピュータに関する情報の少なくとも1つの情報とを含む予め設定された1以上の設定条件と、中間データ受信手段により受信された中間データとを照合して、出力先となる印刷装置を決定する出力先決定手段と、出力先決定手段により決定された出力先に従って、中間データ受信手段により受信された画像データを、出力先となる印刷装置に対応する出力待ちデータ蓄積手段へ振り分ける振り分け手段と、振り分け手段により振り分けられた画像データを、出力待ちデータ蓄積手段内で印刷装置が解釈可能な言語に変換する変換手段とを含む、印刷制御システムが提供される。
In view of the above problems, the present invention is a print control system that receives a print request output from an application execution unit in response to a print instruction from a client computer, selects a printing device connected to a network, and executes printing. The print control system includes a server computer and a client computer,
The server computer
Image data for each page is generated from document data included in the print request received from the application execution means, print setting information and information about the client computer are extracted from the print request, and image data, print setting information, and information about the client computer are extracted. Intermediate data generating means for generating intermediate data composed of: and intermediate data transmitting means for transmitting the intermediate data generated by the intermediate data generating means to the client computer,
The client computer
Intermediate data receiving means for receiving intermediate data transmitted from the intermediate data transmitting means, at least one preset setting condition including at least one piece of information relating to the printing apparatus, print setting information, and client computer; The intermediate data received by the intermediate data receiving means according to the output destination determined by the output destination determining means and the output destination determined by the output destination determining means by collating with the intermediate data received by the data receiving means Distributing means for distributing the image data to the output waiting data storage means corresponding to the printing apparatus as the output destination, and converting the image data distributed by the distributing means into a language interpretable by the printing apparatus in the output waiting data storage means A printing control system is provided.

本発明によれば、クライアント側で変換を行うので、中間データに含まれる特殊なフォントがサーバに実装されていない場合でも、中間データからプリンタ言語に正しく変換することができる。   According to the present invention, since the conversion is performed on the client side, even if the special font included in the intermediate data is not mounted on the server, the intermediate data can be correctly converted into the printer language.

本実施形態の印刷制御システムとしてのクライアントコンピュータとサーバとを含むネットワークシステムの構成例を示した図。1 is a diagram illustrating a configuration example of a network system including a client computer and a server as a print control system of the present embodiment. 図1に示すクライアントコンピュータのハードウェア構成を例示した図。The figure which illustrated the hardware constitutions of the client computer shown in FIG. 既存の印刷制御システムの機能ブロック図。The functional block diagram of the existing printing control system. 従来のサーバサイドレンダリングを行う印刷制御システムの機能ブロック図。FIG. 9 is a functional block diagram of a print control system that performs conventional server-side rendering. 本実施形態の印刷制御システムの機能ブロック図。FIG. 2 is a functional block diagram of the print control system of the present embodiment. 図5に示す印刷制御システムにより実行される印刷制御の流れを示したフローチャート。6 is a flowchart showing a flow of print control executed by the print control system shown in FIG. 5. 仮想プリンタドライバにより実行される処理の流れを示したフローチャート。6 is a flowchart showing a flow of processing executed by a virtual printer driver. 印刷ジョブのジョブ処理状況を監視する処理の流れを示したフローチャート。6 is a flowchart showing a flow of processing for monitoring the job processing status of a print job.

図1は、本実施形態の印刷制御システムとしてのクライアントコンピュータ(以下、クライアントと略す。)とサーバコンピュータ(以下、サーバと略す。)とを含むネットワークシステムの構成例を示した図である。このネットワークシステムは、4台のクライアント10〜13と、MFP(Multi Function Peripheral)14と、レーザプリンタ15〜17と、サーバ18とから構成されている。これらの機器は、ネットワーク19を介して互いに接続され、互いに通信可能とされている。印刷装置として使用されるMFP14およびレーザプリンタ15〜17は、リモートプリンタとしてネットワーク19に接続されている。   FIG. 1 is a diagram illustrating a configuration example of a network system including a client computer (hereinafter abbreviated as a client) and a server computer (hereinafter abbreviated as a server) as a print control system of the present embodiment. This network system includes four clients 10 to 13, an MFP (Multi Function Peripheral) 14, laser printers 15 to 17, and a server 18. These devices are connected to each other via a network 19 and can communicate with each other. The MFP 14 and the laser printers 15 to 17 used as printing apparatuses are connected to a network 19 as remote printers.

クライアント10〜13は、ここでは4台としているが、1台であってもよいし、2台または3台であってもよいし、5台以上であってもよい。MFP14も、1台に限定されるものではなく、2台以上であってもよい。また、レーザプリンタ15〜17も、1または2台であってもよいし、4台以上であってもよい。また、その他の印字方式のプリンタ、例えばインクジェットプリンタ等を用いてもよい。ただし、自動振り分けを行うためには、リモートプリンタは複数台であることが望ましい。   The number of clients 10 to 13 is four here, but may be one, two or three, or five or more. The MFP 14 is not limited to one, but may be two or more. Further, the laser printers 15 to 17 may be one or two, or four or more. Also, other printing printers such as an ink jet printer may be used. However, in order to perform automatic distribution, it is desirable to have a plurality of remote printers.

クライアント10〜13は、デスクトップPC、ノートPC、タブレットPC等とされ、オフィス等に配置され、各々が各ユーザにより使用される。クライアント10〜13は、クライアント10〜13を制御するOS、文書データを作成し、印刷処理を依頼する機能を備えるアプリケーションを実装している。ここでは、クライアント10〜13が、文書データを作成する機能も有するアプリケーションを実装しているが、この文書データを作成する機能を有するアプリケーションは、別途設けられるアプリケーションサーバに実装されていてもよい。この場合、クライアント10〜13は、印刷処理を依頼する機能のみを有する。このため、クライアント10〜13は、いわゆるシンクライアントとして、サービス要求を発行し、そのアプリケーションサーバに文書データ作成処理を実行させ、処理結果を受領して印刷出力を依頼することができる。   The clients 10 to 13 are desktop PCs, notebook PCs, tablet PCs, etc., and are arranged in an office or the like, and each is used by each user. The clients 10 to 13 have an OS that controls the clients 10 to 13 and an application having a function of creating document data and requesting print processing. Here, the clients 10 to 13 implement an application that also has a function of creating document data, but the application that has the function of creating document data may be implemented in an application server that is provided separately. In this case, the clients 10 to 13 have only a function for requesting print processing. Therefore, the clients 10 to 13 can issue a service request as a so-called thin client, cause the application server to execute document data creation processing, receive a processing result, and request print output.

MFP14は、コピー機能、ファックス機能、プリンタ機能、スキャナ機能、データ配信機能等の複数の機能を実装し、その機能を実現するために、プロッタ、スキャナ、通信I/F等をハードウェアとして備えている。プロッタは、レーザプリンタ15〜17と同様の電子写真方式のプロッタを用いることができる。MFP14やレーザプリンタ15〜17は、ネットワークインタフェース(NIC)を実装し、これらの機器が解釈可能なプリンタ言語に変換された印刷コマンドを、ネットワーク19を介して受領し、その印刷コマンドに基づき、印刷を実行する。   The MFP 14 has a plurality of functions such as a copy function, a fax function, a printer function, a scanner function, and a data distribution function, and includes a plotter, a scanner, a communication I / F, and the like as hardware in order to realize the functions. Yes. As the plotter, an electrophotographic plotter similar to the laser printers 15 to 17 can be used. The MFP 14 and the laser printers 15 to 17 are equipped with a network interface (NIC), receive a print command converted into a printer language interpretable by these devices via the network 19, and print based on the print command. Execute.

サーバ18は、クライアント10〜13と同様のPC、ワークステーション等とされ、クライアント10〜13から印刷要求を受け付け、描画処理等の所定の処理を実行し、また、プリントサーバの機能として、リモートプリンタの管理を行う。ここでは、サーバ18がプリントサーバの機能を有する構成としたが、プリントサーバを別途設けることもできる。   The server 18 is a PC, workstation, or the like similar to the clients 10 to 13, receives a print request from the clients 10 to 13, executes a predetermined process such as a drawing process, and functions as a print server as a remote printer Manage. Here, the server 18 has a print server function, but a print server may be provided separately.

ネットワーク19は、1000Base−TX等のイーサネット(登録商標)、光ネットワーク、IEEE802.11等の規格の無線ネットワークを含んで構成することができる。ネットワーク19は、フレームまたはTCP/IPプロトコルに基づくパケット通信により、相互通信を行うことができる。また、ネットワーク19は、LAN、VAN(Virtual Private Network)等によるセキュア環境下でインターネット等の広域ネットワークを含んで構成されていてもよい。   The network 19 can include an Ethernet (registered trademark) such as 1000Base-TX, an optical network, and a wireless network of a standard such as IEEE 802.11. The network 19 can perform mutual communication by frame communication or packet communication based on the TCP / IP protocol. The network 19 may be configured to include a wide area network such as the Internet under a secure environment such as a LAN or a VAN (Virtual Private Network).

印刷制御システムは、クライアント10〜13がポイントアンドプリント機能によりサーバ18との間の接続を確立することにより、その機能を実現する。これらの間の接続は、接続する機器に応じて、RPC接続やSMB接続により確立することができる。RPC、すなわちリモートプロシージャコールは、ネットワークに接続された他の機器でプログラムを呼び出し、実行させるためのプロトコルで、RPC接続は、そのプロトコルを使用して接続を行うものである。SMB、すなわちサーバメッセージブロックは、ファイル共有やプリンタ共有を実現するためのプロトコルで、SMB接続は、そのプロトコルを使用して接続を行うものである。   The print control system realizes the function when the clients 10 to 13 establish a connection with the server 18 by the point-and-print function. The connection between them can be established by RPC connection or SMB connection according to the connected device. RPC, that is, remote procedure call, is a protocol for calling and executing a program by another device connected to the network, and RPC connection is a connection using the protocol. The SMB, that is, the server message block is a protocol for realizing file sharing and printer sharing, and the SMB connection is performed using the protocol.

クライアント10〜13は、サーバ18へ要求メッセージ等を送信し、サーバ18が応答を返すことにより、この接続を確立することができる。また、クライアント10〜13は、例えばファイル名を指定して実行することにより、また、同一のワーキンググループや同一のドメインに含まれるコンピュータを一覧するNet Viewコマンドを使用して、接続を確立することもできる。なお、クライアント10〜13とサーバ18との間は、RDP(Remote Desktop Protocol)等の適切な遠隔接続プロトコルを使用して通信を行うことができる。   The clients 10 to 13 can establish a connection by transmitting a request message or the like to the server 18 and returning a response from the server 18. In addition, the clients 10 to 13 establish a connection by, for example, specifying and executing a file name, and using a Net View command that lists computers included in the same working group or the same domain. You can also. The clients 10 to 13 and the server 18 can communicate with each other using an appropriate remote connection protocol such as RDP (Remote Desktop Protocol).

各ユーザは、自分が使用するクライアント10〜13を利用し、それに実装されているアプリケーションを使用して文書を作成する。各ユーザは、作成した文書を印刷したい場合、そのアプリケーションを起動して印刷設定を行い、アプリケーションが、その設定された印刷設定情報と作成した文書の文書データとを含めて印刷要求を生成する。印刷要求には、クライアント10〜13を利用するユーザとして登録されたユーザの情報や、クライアント10〜13の装置情報が、クライアントコンピュータに関する情報として含まれる。このクライアントコンピュータに関する情報は、以下、システム情報として説明する。   Each user uses the clients 10 to 13 used by the user, and creates a document using an application installed therein. When each user wants to print the created document, the user activates the application and performs print settings, and the application generates a print request including the set print setting information and the document data of the created document. The print request includes information on a user registered as a user who uses the clients 10 to 13 and device information on the clients 10 to 13 as information on the client computer. Information regarding this client computer will be described below as system information.

ここで、印刷設定情報としては、例えば、用紙の種類、用紙のサイズ、用紙の向き、枚数、カラー印刷の有無、両面印刷の有無、集約印刷の有無、行数、列数、フォントの種類、フォントのサイズ等が挙げられる。システム情報としては、例えば、ユーザ名、装置名、IPアドレス、MAC(Media Access Control)アドレス等が挙げられる。   Here, as the print setting information, for example, paper type, paper size, paper orientation, number of sheets, presence / absence of color printing, presence / absence of double-sided printing, presence / absence of consolidated printing, number of rows, number of columns, font type, Examples include font size. Examples of system information include a user name, a device name, an IP address, and a MAC (Media Access Control) address.

アプリケーションは、クライアント10〜13が備えるCPUにより実行されることにより、アプリケーション実行手段として機能し、このアプリケーション実行手段が、上記の印刷要求を作成し、その印刷要求を出力する。なお、この印刷要求は、クライアント10〜13がユーザからの印刷指示を受け付け、クライアント10〜13からアプリケーションがその印刷指示を受け付けることにより出力される。   The application is executed by a CPU included in the clients 10 to 13 to function as an application execution unit. The application execution unit creates the print request and outputs the print request. The print request is output when the clients 10 to 13 receive a print instruction from the user and the application receives the print instruction from the clients 10 to 13.

印刷制御システムは、印刷要求を受け付け、描画処理を行い、中間画像の画像データを生成し、また、印刷要求から印刷設定情報とシステム情報とを抽出し、それらから構成される中間データを生成する。また、印刷制御システムは、この中間データを用いて、出力先となるリモートプリンタを決定し、その決定したリモートプリンタへ出力するために一時的にデータを蓄積する出力待ちデータ蓄積手段として機能するプリントキューへ印刷ジョブを振り分ける。プリントキューでは、決定したリモートプリンタが解釈可能なプリンタ言語に変換して印刷コマンドを生成し、その印刷コマンドを当該リモートプリンタへ出力する。   The print control system receives a print request, performs a drawing process, generates image data of an intermediate image, extracts print setting information and system information from the print request, and generates intermediate data composed of them . In addition, the print control system uses this intermediate data to determine a remote printer as an output destination, and a print functioning as output waiting data storage means for temporarily storing data for output to the determined remote printer. Distribute print jobs to the queue. The print queue converts the determined remote printer into a printer language that can be interpreted, generates a print command, and outputs the print command to the remote printer.

また、印刷制御システムは、出力先の情報を基に、監視する対象のリモートプリンタを特定し、そのリモートプリンタとの間で通信を行い、当該リモートプリンタのジョブ処理状況を監視する。そして、印刷制御システムは、出力先の情報、エラーが発生した場合のエラー情報、印刷が終了した旨の情報等を、クライアント10〜13が備える表示装置に表示させる。   The print control system identifies a remote printer to be monitored based on the output destination information, communicates with the remote printer, and monitors the job processing status of the remote printer. Then, the print control system displays information on the output destination, error information when an error occurs, information indicating that printing has ended, and the like on a display device included in the clients 10 to 13.

これにより、自動的に印刷ジョブを振り分けることができ、また、印刷ジョブのジョブ処理状況も監視することができる。   As a result, print jobs can be automatically distributed, and the job processing status of print jobs can be monitored.

図2は、クライアント10〜13のハードウェア構成を例示した図である。クライアント10〜13は、いずれも同じハードウェア構成を採用することができる。このため、ここではクライアント10のみについて説明する。   FIG. 2 is a diagram illustrating a hardware configuration of the clients 10 to 13. All of the clients 10 to 13 can adopt the same hardware configuration. For this reason, only the client 10 will be described here.

クライアント10は、CPU20、ROM21、RAM22、HDD23、通信I/F24、外部機器I/F25、外部メモリI/F26、表示装置27、入力装置28をハードウェアとして含んで構成される。これらのハードウェアは、バス29を介して互いに接続され、データ等のやりとりを行うことができるようになっている。   The client 10 includes a CPU 20, ROM 21, RAM 22, HDD 23, communication I / F 24, external device I / F 25, external memory I / F 26, display device 27, and input device 28 as hardware. These pieces of hardware are connected to each other via a bus 29 so that data can be exchanged.

CPU20は、クライアント10の全体の制御を行う。CPU20は、ROM21やHDD23に記憶される各種プログラムを実行し、所定の処理を行う。ROM21は、電源を投入してからOSが起動するまでの処理を行うブートプログラム、HDD23や外部メモリI/F26等を制御するBIOS(Basic Input/Output System)等のプログラムを記憶する。HDD23は、OS、プリンタドライバ、各種のアプリケーション、各種データ等を記憶する。RAM22は、CPU20が上記のプログラムを実行して各種の制御を行う際の作業エリアとして使用される。   The CPU 20 controls the entire client 10. The CPU 20 executes various programs stored in the ROM 21 and the HDD 23 and performs predetermined processing. The ROM 21 stores a boot program that performs processing from when the power is turned on until the OS is started, and a program such as a BIOS (Basic Input / Output System) that controls the HDD 23, the external memory I / F 26, and the like. The HDD 23 stores an OS, a printer driver, various applications, various data, and the like. The RAM 22 is used as a work area when the CPU 20 executes the above program and performs various controls.

通信I/F24は、ネットワーク19に接続し、クライアント10が他のクライアント11〜13、MFP14、レーザプリンタ15〜17、サーバ18と通信を行うことを可能にする。通信I/F24は、送受信機を備え、Wi−Fi等による無線LAN接続により、無線通信を行うことができるようにされていてもよい。   The communication I / F 24 is connected to the network 19 and enables the client 10 to communicate with the other clients 11 to 13, the MFP 14, the laser printers 15 to 17, and the server 18. The communication I / F 24 may include a transceiver, and may be configured to perform wireless communication through a wireless LAN connection such as Wi-Fi.

外部機器I/F25は、USB(Universal Serial Bus)やIEEE1394等の接続規格をもつ外部機器を接続し、データ等の入出力を行う。外部メモリI/F26は、CD−ROM、DVD、SDカード等の外部メモリと接続し、HDD23と外部メモリとの間のデータの入出力を行う。表示装置27は、各種のデータを表示画面に表示するディスプレイで、入力装置28は、ユーザが各種の入力操作を行い、その入力を受け付ける装置である。入力装置28としては、キーボード、マウス、タッチパッド等を使用することができる。これら表示装置27と入力装置28とは、ディスプレイとキーボードといったように別個の装置であってもよいが、タッチパネルといった両方の機能を備えた装置を使用することも可能である。   The external device I / F 25 connects an external device having a connection standard such as USB (Universal Serial Bus) or IEEE1394, and inputs / outputs data and the like. The external memory I / F 26 is connected to an external memory such as a CD-ROM, DVD, or SD card, and inputs / outputs data between the HDD 23 and the external memory. The display device 27 is a display that displays various data on a display screen, and the input device 28 is a device that receives various inputs by the user performing various input operations. As the input device 28, a keyboard, a mouse, a touch pad, or the like can be used. The display device 27 and the input device 28 may be separate devices such as a display and a keyboard, but a device having both functions such as a touch panel may be used.

なお、MFP14、レーザプリンタ15〜17、サーバ18も、これらのハードウェアを含んで構成することができる。ただし、MFP14は、これらのハードウェアに加えて、さらにプロッタおよびスキャナを含み、レーザプリンタ15〜17は、これらのハードウェアに加えて、さらにプロッタを含む。サーバ18は、外部機器I/F25、外部メモリI/F26、表示装置27、入力装置28を備えていても、備えていなくてもよい。   The MFP 14, the laser printers 15 to 17, and the server 18 can also be configured to include these hardware. However, the MFP 14 further includes a plotter and a scanner in addition to these hardware, and the laser printers 15 to 17 further include a plotter in addition to these hardware. The server 18 may or may not include the external device I / F 25, the external memory I / F 26, the display device 27, and the input device 28.

本実施形態の印刷制御システムの機能、その機能により実現される処理の詳細を説明する前に、既存の自動振り分けを行う印刷制御システムの機能構成について簡単に説明しておく。既存の自動振り分けを行う印刷制御システムは、仮想プリンタドライバ、振り分け機能、出力先決定機能、印刷ジョブ監視機能といった4つの機能を有し、これらの機能を実現するためのプログラムは、OS上で動作する。印刷制御システムは、このプログラム以外に、印刷要求を出力するアプリケーション、プリントキューを実現し、その内部で動作するプリンタドライバを備える。なお、このプログラムは、クライアントをシンクライアントとし、アプリケーションサーバ等に実装してシンクライアントから利用する、Terminal Service上の公開アプリケーションとすることも可能である。プリンタドライバは、リモートプリンタ(以下、単にプリンタという。)が解釈可能なプリンタ言語に変換し、印刷コマンドとしてそのプリンタに出力する。   Before describing the functions of the print control system of the present embodiment and the details of the processing realized by the functions, the functional configuration of an existing print control system that performs automatic distribution will be briefly described. An existing print control system that performs automatic distribution has four functions such as a virtual printer driver, a distribution function, an output destination determination function, and a print job monitoring function, and a program for realizing these functions operates on the OS. To do. In addition to this program, the print control system includes an application that outputs a print request, a print queue, and a printer driver that operates inside the application. This program can also be a public application on the Terminal Service that is implemented on an application server or the like and used from the thin client as a thin client. The printer driver converts the printer language into a printer language that can be interpreted by a remote printer (hereinafter simply referred to as a printer), and outputs it to the printer as a print command.

図3は、既存の自動振り分けを行う印刷制御システムの機能ブロック図である。この印刷制御システムは、例えばクライアントから構成され、その機能部として、アプリケーション実行部30、仮想プリンタドライバ31、中間データ蓄積部32、振り分け部33、出力先決定部34、印刷ジョブ監視部35を備える。また、この印刷制御システムは、各々が出力先のプリンタ37に対応したプリンタドライバを備える1以上のプリントキュー36も有する。図3に示すように、ネットワーク19には、利用可能な3台のプリンタ37としてプリンタA〜プリンタCが接続されているため、それらに対応した3つのプリントキューA〜プリントキューCが設けられている。ここでは、各機能部として説明するが、これらは各手段として機能するものである。   FIG. 3 is a functional block diagram of an existing print control system that performs automatic distribution. The print control system includes, for example, a client, and includes an application execution unit 30, a virtual printer driver 31, an intermediate data storage unit 32, a distribution unit 33, an output destination determination unit 34, and a print job monitoring unit 35 as functional units. . The print control system also includes one or more print queues 36 each including a printer driver corresponding to the output destination printer 37. As shown in FIG. 3, since the printer 19 is connected to the network 19 as the three printers 37 that can be used, three print queues A to C corresponding to them are provided. Yes. Here, although it demonstrates as each function part, these function as each means.

アプリケーション実行部30は、CPUがOS上でアプリケーションを実行することにより実現され、クライアントに実装されていてもよいし、アプリケーションサーバ等の別の機器に実装されていてもよい。アプリケーション実行部30は、印刷対象の文書データを生成し、その文書データを印刷するために、文書データ、印刷設定情報、システム情報から構成される印刷要求を出力する。ここでは文書データとしているが、その他のデータであってもよい。   The application execution unit 30 is realized by the CPU executing an application on the OS, and may be mounted on the client or may be mounted on another device such as an application server. The application execution unit 30 generates document data to be printed, and outputs a print request including document data, print setting information, and system information in order to print the document data. Here, the document data is used, but other data may be used.

仮想プリンタドライバ31は、仮想プリンタドライバ部として機能し、通常のプリンタドライバと同様の動作を行いつつ、アプリケーション実行部30から印刷要求を受け付け、印刷要求から、印刷対象の文書をページ単位で中間画像の画像データを生成する。ここで、通常のプリンタドライバと同様の動作とは、描画処理、すなわち、この印刷対象の文書からページ単位の中間画像の画像データを生成する処理である。   The virtual printer driver 31 functions as a virtual printer driver unit, accepts a print request from the application execution unit 30 while performing the same operation as a normal printer driver, and prints a document to be printed from the print request as an intermediate image in units of pages. Image data is generated. Here, the operation similar to that of a normal printer driver is a drawing process, that is, a process of generating image data of an intermediate image for each page from the document to be printed.

仮想プリンタドライバ31は、その文書の文書名や各種の印刷設定を含む印刷設定情報、印刷制御システムを動作させているユーザの情報を含むシステム情報を、印刷要求から抽出する。そして、仮想プリンタドライバ31は、生成した画像データ、抽出した印刷設定情報およびシステム情報から構成される中間データを生成する。仮想プリンタドライバ31は、生成した中間データを、中間データ蓄積部32に蓄積し、蓄積した旨を振り分け部33に通知する。   The virtual printer driver 31 extracts, from the print request, system setting information including the document name of the document, print setting information including various print settings, and information of a user operating the print control system. Then, the virtual printer driver 31 generates intermediate data composed of the generated image data, the extracted print setting information, and system information. The virtual printer driver 31 accumulates the generated intermediate data in the intermediate data accumulation unit 32 and notifies the distribution unit 33 of the accumulation.

振り分け部33は、その通知を受けて、中間データ蓄積部32から蓄積された中間データを取得し、出力先を決定するために、出力先決定部34を呼び出し、取得した中間データを渡す。出力先決定部34は、中間データを構成する印刷設定情報およびシステム情報と、予め設定された設定条件と照合し、その設定条件に合致する出力先を決定し、その出力先の情報を返答する。予め設定された設定条件としては、ユーザ名「Taro」から指示された印刷はプリンタAから出力する、という条件が挙げられる。   Upon receiving the notification, the distribution unit 33 acquires the intermediate data accumulated from the intermediate data storage unit 32, calls the output destination determination unit 34 to determine the output destination, and passes the acquired intermediate data. The output destination determination unit 34 compares the print setting information and system information constituting the intermediate data with preset setting conditions, determines an output destination that matches the setting conditions, and returns information on the output destination. . An example of the setting condition set in advance includes a condition that printing instructed by the user name “Taro” is output from the printer A.

出力先決定部34は、呼び出しを受け、渡された中間データに基づき出力先を決定した後、振り分け部33に対して出力先のプリンタ37に対応するプリントキュー36の情報を返答する。上記の例で言えば、プリンタAに対応するプリントキューAを特定するためのアドレス等の情報を返答する。   The output destination determination unit 34 receives the call, determines the output destination based on the passed intermediate data, and then returns information on the print queue 36 corresponding to the output destination printer 37 to the distribution unit 33. In the above example, information such as an address for specifying the print queue A corresponding to the printer A is returned.

振り分け部33は、出力先決定部34が返答したプリントキュー36の情報に対して仮想プリンタドライバ31が出力した中間データを構成する中間画像の画像データを、印刷ジョブとして出力する。また、振り分け部33は、プリントキュー36からプリンタ37の情報を取得し、印刷ジョブ監視部35にプリンタ37の印刷ジョブのジョブ処理状況を監視させる。印刷ジョブ監視部35は、振り分け部33が出力した印刷ジョブをプリンタ37が実行中に、そのプリンタ37においてエラーが発生していないかどうかを監視する。印刷ジョブ監視部35は、プリンタ37でエラーが発生したことを検出した場合、表示装置27にエラーが発生した旨を通知し、画面上に表示させる。   The distribution unit 33 outputs the image data of the intermediate image constituting the intermediate data output by the virtual printer driver 31 with respect to the information of the print queue 36 returned by the output destination determination unit 34 as a print job. The distribution unit 33 acquires information about the printer 37 from the print queue 36 and causes the print job monitoring unit 35 to monitor the job processing status of the print job of the printer 37. The print job monitoring unit 35 monitors whether an error has occurred in the printer 37 while the printer 37 is executing the print job output by the distribution unit 33. When the print job monitoring unit 35 detects that an error has occurred in the printer 37, the print job monitoring unit 35 notifies the display device 27 that the error has occurred and displays it on the screen.

プリントキュー36では、プリントキュー36の内部で動作するプリンタドライバにより、対応するプリンタ37が解釈可能なプリンタ言語に変換し、印刷コマンドとしてそのプリンタ37に出力する。プリンタ37は、プリントキュー36から受け付けた印刷コマンドに基づき、印刷を実行する。   In the print queue 36, the printer driver operating inside the print queue 36 converts the printer language into a printer language that can be interpreted by the corresponding printer 37, and outputs it to the printer 37 as a print command. The printer 37 executes printing based on the print command received from the print queue 36.

ポイントアンドプリント機能を使用した印刷では、仮想プリンタドライブ部による処理が、図3に示す印刷制御システムの仮想プリンタドライバ31による処理とは異なることから、図3に示すシステムでは、ポイントアンドプリント機能を使用できない。そこで、この機能を使用できるようにするため、図4に示すような、2つのコンポーネントに分け、各コンポーネントをクライアント、サーバにそれぞれ実装する。図4を参照して、クライアント、サーバの機能ブロック、その処理について簡単に説明する。   In printing using the point-and-print function, the processing by the virtual printer drive unit is different from the processing by the virtual printer driver 31 of the printing control system shown in FIG. 3, and therefore the system shown in FIG. I can not use it. Therefore, in order to be able to use this function, it is divided into two components as shown in FIG. 4, and each component is mounted on a client and a server, respectively. With reference to FIG. 4, functional blocks of the client and server and their processing will be briefly described.

図4に示すシステムは、サーバサイドレンダリングを行うシステムであり、プリンタドライバによる描画処理がサーバにより実行され、プリンタ言語への変換もサーバにより実行される。このため、描画処理を行う仮想プリンタドライバ31、中間データ蓄積部32、プリントキュー36は、サーバに実装する必要がある。振り分け部33、出力先決定部34も、サーバに実装することができるが、印刷ジョブ監視部35については、クライアントに実装しなければ、ユーザがクライアントを使用してプリンタ37を監視することができない。   The system shown in FIG. 4 is a system that performs server-side rendering, in which drawing processing by a printer driver is executed by the server, and conversion to a printer language is also executed by the server. For this reason, the virtual printer driver 31, the intermediate data storage unit 32, and the print queue 36 that perform drawing processing need to be mounted on the server. The distribution unit 33 and the output destination determination unit 34 can also be mounted on the server. However, if the print job monitoring unit 35 is not mounted on the client, the user cannot monitor the printer 37 using the client. .

このため、図4に示すように、図3に示した機能部のうち、ユーザが使用して印刷要求を作成するアプリケーション実行部30、印刷ジョブ監視部35のみをクライアントが実装し、その他はサーバが実装する。印刷ジョブ監視部35は、振り分け部33からの指示を受けて印刷ジョブの監視を開始するが、そのためには、その指示を受け付ける機能、どのプリンタを監視するかを決定するための機能が別途必要になる。そこで、クライアントには、その指示を受け付けるための振り分け先情報受信部38、どのプリンタ37を監視するかを決定するための印刷ジョブ監視制御部39をさらに備える。これにより、サーバ上での描画処理や振り分け処理に正しく出力先の情報の受信やプリンタ37の監視を行うことができる。   For this reason, as shown in FIG. 4, the client implements only the application execution unit 30 and the print job monitoring unit 35 that are used by the user to create a print request among the functional units shown in FIG. Implement. The print job monitoring unit 35 starts monitoring a print job in response to an instruction from the distribution unit 33. For this purpose, a function for receiving the instruction and a function for determining which printer to monitor are separately required. become. Therefore, the client further includes a distribution destination information receiving unit 38 for receiving the instruction and a print job monitoring control unit 39 for determining which printer 37 is to be monitored. Accordingly, it is possible to correctly receive the output destination information and monitor the printer 37 for the drawing process and the distribution process on the server.

クライアントは、アプリケーション実行部30、印刷ジョブ監視部35に加えて、上記の振り分け先情報受信部38、1以上のプリンタ37に対応した1以上の印刷ジョブ監視制御部39を備える。また、クライアントは、印刷要求を、サーバが実装する仮想プリンタドライバ31に転送する仮想プリンタドライバ40も備える。仮想プリンタドライバ40は、アプリケーション実行部30から出力された印刷要求をOSが受け、OSによって起動され、印刷処理を開始させる。そして、仮想プリンタドライバ40は、振り分け先情報受信部38および印刷ジョブ監視制御部39が起動していない場合、それらの機能部を起動させる。この仮想プリンタドライバ40は、描画処理は実施しない。   In addition to the application execution unit 30 and the print job monitoring unit 35, the client includes one or more print job monitoring control units 39 corresponding to the distribution destination information receiving unit 38 and one or more printers 37. The client also includes a virtual printer driver 40 that transfers a print request to the virtual printer driver 31 mounted on the server. The virtual printer driver 40 receives the print request output from the application execution unit 30 and is activated by the OS to start print processing. The virtual printer driver 40 activates the function units when the distribution destination information receiving unit 38 and the print job monitoring control unit 39 are not activated. The virtual printer driver 40 does not perform drawing processing.

サーバに実装された仮想プリンタドライバ31は、クライアントに実装された仮想プリンタドライバ40から印刷要求を受け取る。仮想プリンタドライバ31は、印刷要求に含まれる文書データからページ単位で中間画像の画像データを生成する。また、仮想プリンタドライバ31は、印刷要求から、その文書の文書名や各種の印刷設定を含む印刷設定情報およびクライアントを動作させているユーザの情報を含むシステム情報を抽出する。そして、仮想プリンタドライバ31は、生成した画像データ、抽出した印刷設定情報およびシステム情報から構成される中間データを生成する。仮想プリンタドライバ31は、生成した中間データを、中間データ蓄積部32に蓄積し、蓄積した旨を振り分け部33に通知する。   The virtual printer driver 31 installed in the server receives a print request from the virtual printer driver 40 installed in the client. The virtual printer driver 31 generates image data of an intermediate image for each page from document data included in the print request. Further, the virtual printer driver 31 extracts system information including the print setting information including the document name of the document and various print settings and the information of the user operating the client from the print request. Then, the virtual printer driver 31 generates intermediate data composed of the generated image data, the extracted print setting information, and system information. The virtual printer driver 31 accumulates the generated intermediate data in the intermediate data accumulation unit 32 and notifies the distribution unit 33 of the accumulation.

サーバは、振り分け制御部41をさらに備えていて、仮想プリンタドライバ31から振り分け指示を受け付ける。振り分け制御部41は、その指示を受け付け、仮想プリンタドライバ31が中間データ蓄積部32に蓄積した中間データの出力先の情報を取得し、振り分け部33を起動させる。また、振り分け制御部41は、出力先の情報を取得するために、出力先決定部34を呼び出す。そして、振り分け制御部41は、起動した振り分け部33に対して、出力先の情報および中間データ蓄積部32における中間データの蓄積場所を通知する。   The server further includes a distribution control unit 41 and receives a distribution instruction from the virtual printer driver 31. The distribution control unit 41 receives the instruction, acquires information on the output destination of the intermediate data stored in the intermediate data storage unit 32 by the virtual printer driver 31, and activates the distribution unit 33. In addition, the distribution control unit 41 calls the output destination determination unit 34 in order to acquire output destination information. The distribution control unit 41 notifies the activated distribution unit 33 of the output destination information and the storage location of the intermediate data in the intermediate data storage unit 32.

出力先決定部34は、中間データ蓄積部32に蓄積された印刷設定情報およびシステム情報と、予め設定された設定条件と照合し、その条件に合致する出力先を決定し、その出力先の情報を振り分け制御部41に対して返答する。振り分け部33は、振り分け制御部41から出力先の情報を取得し、蓄積場所の情報に基づき中間データ蓄積部32から中間データを取得し、中間画像の画像データを、印刷ジョブとして出力先のプリンタ37に対応したプリントキュー36へ出力する。また、振り分け部33は、そのプリントキュー36からプリンタ37の情報を取得し、中間データに含まれるシステム情報、例えば装置名、IPアドレス、MACアドレスを使用して、プリンタ37の情報を、振り分け先情報受信部38へ送信する。   The output destination determination unit 34 compares the print setting information and system information stored in the intermediate data storage unit 32 with preset setting conditions, determines an output destination that matches the conditions, and outputs the output destination information. Is returned to the distribution control unit 41. The distribution unit 33 acquires output destination information from the distribution control unit 41, acquires intermediate data from the intermediate data storage unit 32 based on the storage location information, and outputs the image data of the intermediate image as a print job to the output destination printer. 37 to the print queue 36 corresponding to 37. Further, the distribution unit 33 acquires the information of the printer 37 from the print queue 36, and uses the system information included in the intermediate data, for example, the device name, IP address, and MAC address, to transfer the information of the printer 37 to the distribution destination. It transmits to the information receiving part 38.

振り分け先情報受信部38は、プリンタ37の情報を、振り分け部33から受信すると、そのプリンタ37の情報を、印刷ジョブ監視制御部39に渡す。印刷ジョブ監視制御部39は、印刷ジョブ監視部35に対してプリンタ37の情報を渡し、出力先であるプリンタ37を監視させる。印刷ジョブ監視部35は、プリンタ37と通信し、プリンタ37の現在の状態に関する情報、すなわちジョブ処理状況を取得する。印刷実行中に何らかのエラーが発生した場合、印刷ジョブ監視部35は、プリンタ37からジョブ処理状況としてエラー情報を取得し、表示装置の画面上にそのエラー情報を表示させる。エラーが発生することなく、印刷が終了した場合は、印刷ジョブ監視部35は、プリンタ37から印刷が終了した旨の通知を受け取り、その画面上に印刷が終了した旨と、出力したプリンタ37の情報とを表示させる。   When receiving the information on the printer 37 from the distribution unit 33, the distribution destination information receiving unit 38 passes the information on the printer 37 to the print job monitoring control unit 39. The print job monitoring control unit 39 passes information of the printer 37 to the print job monitoring unit 35 and monitors the printer 37 that is the output destination. The print job monitoring unit 35 communicates with the printer 37 and acquires information regarding the current state of the printer 37, that is, the job processing status. If any error occurs during printing, the print job monitoring unit 35 acquires error information as the job processing status from the printer 37 and displays the error information on the screen of the display device. When the printing is completed without causing an error, the print job monitoring unit 35 receives a notification that the printing has been completed from the printer 37, and that the printing has been completed on the screen and the output of the printer 37. Display information.

プリントキュー36では、プリントキュー36の内部で動作するプリンタドライバにより、対応するプリンタ37が解釈可能なプリンタ言語に変換し、印刷コマンドとしてプリンタ37に出力する。プリンタ37は、プリントキュー36から出力された印刷コマンドに基づき、印刷を実行する。   In the print queue 36, the printer driver operating inside the print queue 36 converts the printer language into a printer language that can be interpreted by the corresponding printer 37, and outputs it to the printer 37 as a print command. The printer 37 executes printing based on the print command output from the print queue 36.

これまで既存の印刷制御システムについて説明してきた。図4に示したサーバサイドレンダリングを行うシステムでは、サーバにおいて描画処理を行い、プリンタ言語への変換も行うため、サーバに実装されていない特殊なフォントが使用された場合、正しく変換できず、文字化けが発生することになる。そこで、サーバサイドレンダリングではなく、クライアントサイドレンダリングを行うシステムとすれば、このような問題を解消することができる。これは、クライアントで特殊なフォントを使用して文書を作成した場合であっても、同じクライアントでプリンタ言語への変換も行うからである。   The existing print control system has been described so far. The server-side rendering system shown in FIG. 4 performs drawing processing on the server and converts it into a printer language. If a special font that is not installed on the server is used, it cannot be converted correctly, and characters Haunting will occur. Therefore, if the system performs client side rendering instead of server side rendering, such a problem can be solved. This is because even if a document is created using a special font on the client, conversion to the printer language is also performed on the same client.

しかしながら、クライアントサイドレンダリングでは、クライアントで作成したジョブIDを、プリントサーバに送信した際に、ジョブIDが変更されてしまい、クライアントから印刷ジョブのジョブ処理状況を監視することができない。また、クライアントで描画処理を行うためには、独自に開発したプリントプロセッサモジュールをクライアントにコピーしなければならない。しかしながら、クライアントに実装されるOSとの互換性や信頼性を得るために、ロゴ認証と呼ばれる認証テストを行う必要があり、認証が得られない場合、描画処理を行うことができない。   However, in client-side rendering, when a job ID created by the client is transmitted to the print server, the job ID is changed, and the job processing status of the print job cannot be monitored from the client. In addition, in order to perform drawing processing at the client, the print processor module developed independently must be copied to the client. However, in order to obtain compatibility and reliability with the OS mounted on the client, it is necessary to perform an authentication test called logo authentication. If authentication cannot be obtained, drawing processing cannot be performed.

そうすると、描画処理は、サーバで行い、プリンタ言語への変換および印刷ジョブのジョブ処理状況の監視を、クライアントで実行することができれば、このような問題は生じなくなる。   Then, if the drawing process is performed by the server and the conversion to the printer language and the monitoring of the job processing status of the print job can be executed by the client, such a problem does not occur.

そこで、本発明では、描画処理のみをサーバ18で行い、その他の処理についてはクライアント10〜13で行うように構成した印刷制御システムを提供する。これにより、上記の問題を解決することができる。図5は、本実施形態の印刷制御システムの機能ブロック図である。この印刷制御システムも、クライアント10とサーバ18とを含んで構成されるものとして説明する。なお、印刷制御システムは、クライアント11とサーバ18、クライアント12とサーバ18、クラインアント13とサーバ18から構成されていてもよいし、2以上のクライアントとサーバ18とから構成されていてもよい。   Therefore, the present invention provides a print control system configured such that only the drawing process is performed by the server 18 and the other processes are performed by the clients 10 to 13. Thereby, said problem can be solved. FIG. 5 is a functional block diagram of the print control system of the present embodiment. This print control system will also be described as including the client 10 and the server 18. The print control system may be configured by the client 11 and the server 18, the client 12 and the server 18, the client 13 and the server 18, or may be configured by two or more clients and the server 18.

クライアント10は、アプリケーション実行部60、仮想プリンタドライバ61、中間データ受信部62、中間データ蓄積部63、振り分け制御部64、出力先決定部65、振り分け先情報受信部66、印刷ジョブ監視制御部67を備えている。また、クライアント10は、出力先であるプリンタ80の各プリンタA〜プリンタCを監視するための印刷ジョブ監視部68、各プリンタ80に対応した振り分け部69およびプリントキュー70を備えている。   The client 10 includes an application execution unit 60, a virtual printer driver 61, an intermediate data reception unit 62, an intermediate data storage unit 63, an allocation control unit 64, an output destination determination unit 65, an allocation destination information reception unit 66, and a print job monitoring control unit 67. It has. The client 10 also includes a print job monitoring unit 68 for monitoring each of the printers A to C of the printer 80 that is an output destination, a distribution unit 69 corresponding to each printer 80, and a print queue 70.

サーバ18は、中間データ生成手段としての仮想プリンタドライバ50、中間データ蓄積部51、中間データ送信部52を備えている。これらの機能部は、各装置に実装されるプログラムをCPUが実行することによって、また、RAMやHDD等の記憶装置、通信I/F等によって実現される。これらの各機能部は、上記のように各手段として機能するものである。   The server 18 includes a virtual printer driver 50 as an intermediate data generation unit, an intermediate data storage unit 51, and an intermediate data transmission unit 52. These functional units are realized by a CPU executing a program installed in each device, a storage device such as a RAM or an HDD, a communication I / F, or the like. Each of these functional units functions as each means as described above.

クライアント10が備えるアプリケーション実行部60は、印刷対象の文書データ、印刷設定情報、システム情報を含む印刷要求を出力する。アプリケーション実行部60が印刷要求を出力すると、OSが仮想プリンタドライバ61を起動させ、仮想プリンタドライバ61が、振り分け制御部64、振り分け先情報受信部66、印刷ジョブ監視制御部67が起動していない場合、それらの機能部を起動させる。その後、仮想プリンタドライバ61は、振り分け制御部64に対して振り分け処理を実行させるための指示を送る。そして、仮想プリンタドライバ61は、中間データ受信部62を起動させ、中間データ受信部62が、サーバ18から送信された中間データを受信する。中間データ受信部62は、サーバ18から受信した中間データを、中間データ蓄積部63に蓄積させる。   The application execution unit 60 included in the client 10 outputs a print request including document data to be printed, print setting information, and system information. When the application execution unit 60 outputs a print request, the OS activates the virtual printer driver 61, and the virtual printer driver 61 does not activate the distribution control unit 64, the distribution destination information reception unit 66, and the print job monitoring control unit 67. If so, activate those functional units. Thereafter, the virtual printer driver 61 sends an instruction for executing the distribution process to the distribution control unit 64. Then, the virtual printer driver 61 activates the intermediate data receiving unit 62, and the intermediate data receiving unit 62 receives the intermediate data transmitted from the server 18. The intermediate data receiving unit 62 causes the intermediate data storage unit 63 to store the intermediate data received from the server 18.

サーバ18が備える仮想プリンタドライバ50は、クライアント10が備える仮想プリンタドライバ61との間で通信を行い、仮想プリンタドライバ61から印刷要求を受信する。仮想プリンタドライバ50は、その印刷要求から、中間画像の画像データを生成し、印刷設定情報およびシステム情報を抽出して、それらのデータや情報から中間データを生成して、中間データ蓄積部51に蓄積させる。中間データ送信部52は、中間データ蓄積部51に蓄積された中間データが存在するかどうかを適宜確認し、中間データが存在する場合、それを取得し、クライアント10が備える中間データ受信部62へ取得した中間データを送信する。   The virtual printer driver 50 included in the server 18 communicates with the virtual printer driver 61 included in the client 10 and receives a print request from the virtual printer driver 61. The virtual printer driver 50 generates intermediate image data from the print request, extracts print setting information and system information, generates intermediate data from the data and information, and stores the intermediate data in the intermediate data storage unit 51. Accumulate. The intermediate data transmission unit 52 appropriately checks whether or not the intermediate data stored in the intermediate data storage unit 51 exists. If the intermediate data exists, the intermediate data transmission unit 52 acquires the intermediate data and sends it to the intermediate data reception unit 62 included in the client 10. Send the acquired intermediate data.

振り分け制御部64は、仮想プリンタドライバ61からの指示を受け、出力先決定部65を起動させ、中間データ蓄積部63に蓄積された中間データを取得し、中間データを出力先決定部65に渡す。出力先決定部65は、予め設定された1以上の設定条件と、取得した中間データを構成する印刷設定情報およびシステム情報とを照合し、その条件に合致する出力先を決定し、その出力先の情報を振り分け制御部64に対して返答する。設定条件は、上記に例示したような条件であり、印刷装置であるプリンタ80と印刷設定情報およびシステム情報の少なくとも1つの情報とを含む。   The distribution control unit 64 receives an instruction from the virtual printer driver 61, activates the output destination determination unit 65, acquires the intermediate data stored in the intermediate data storage unit 63, and passes the intermediate data to the output destination determination unit 65. . The output destination determination unit 65 collates one or more preset setting conditions with the print setting information and system information constituting the acquired intermediate data, determines an output destination that matches the conditions, and outputs the output destination. Is returned to the distribution control unit 64. The setting conditions are conditions as exemplified above, and include the printer 80 that is a printing apparatus and at least one piece of information of print setting information and system information.

振り分け制御部64は、振り分け部69を起動させ、出力先の情報および中間画像の画像データの蓄積場所を振り分け部69に対して通知する。振り分け部69は、通知された蓄積場所に基づき、画像データを取得し、出力先の情報に基づき、画像データを印刷ジョブとして、出力先のプリンタ80に対応するプリントキュー70に出力し、プリントキュー70から出力先のプリンタ80の情報を取得する。そして、振り分け部69は、取得したプリンタの情報を、振り分け先情報受信部66へ送る。   The distribution control unit 64 activates the distribution unit 69 and notifies the distribution unit 69 of the output destination information and the storage location of the image data of the intermediate image. The distribution unit 69 acquires image data based on the notified storage location, and outputs the image data as a print job to the print queue 70 corresponding to the output destination printer 80 based on the output destination information. The information of the output destination printer 80 is acquired from 70. Then, the distribution unit 69 sends the acquired printer information to the distribution destination information reception unit 66.

振り分け先情報受信部66は、振り分け部69からプリンタ80の情報を受け取り、それを印刷ジョブ監視制御部67へ渡す。印刷ジョブ監視制御部67は、印刷ジョブ監視部68に対してプリンタ80の情報を渡し、出力先であるプリンタ80を監視させる。印刷ジョブ監視部68は、プリンタ80の情報を使用してプリンタ80と通信し、プリンタ80の現在の状態に関する情報、すなわちジョブ処理状況を取得する。   The distribution destination information receiving unit 66 receives information about the printer 80 from the distribution unit 69 and passes it to the print job monitoring control unit 67. The print job monitoring control unit 67 passes information about the printer 80 to the print job monitoring unit 68 and monitors the printer 80 that is the output destination. The print job monitoring unit 68 communicates with the printer 80 using information of the printer 80, and acquires information regarding the current state of the printer 80, that is, job processing status.

印刷実行中に何らかのエラーが発生した場合、印刷ジョブ監視部68は、プリンタ80からエラー情報を取得し、取得したエラー情報を、表示装置27の画面上に表示させ、ユーザに知らせる。エラーが発生することなく、印刷が終了した場合は、印刷ジョブ監視部68は、プリンタから印刷が終了した旨の通知を受け取り、表示装置27の画面上に印刷が終了した旨と、出力したプリンタ80の情報とを表示させる。これらの情報は、画面上にダイアログを表示させ、そのダイアログ内にメッセージや警告等として表示させることができる。   If any error occurs during printing, the print job monitoring unit 68 acquires error information from the printer 80, displays the acquired error information on the screen of the display device 27, and notifies the user. When the printing is completed without causing an error, the print job monitoring unit 68 receives a notification that the printing is finished from the printer, and prints on the screen of the display device 27 that the printing is finished. 80 information is displayed. Such information can be displayed as a message, warning, or the like in a dialog displayed on the screen.

プリントキュー70では、プリントキュー70の内部で動作する変換手段としてのプリンタドライバにより、対応するプリンタ80が解釈可能なプリンタ言語に変換し、印刷コマンドとしてプリンタ80へ出力する。プリンタ80は、プリントキュー70から受け付けた印刷コマンドに基づき、印刷を実行する。   In the print queue 70, the printer driver serving as conversion means operating inside the print queue 70 converts the printer language into a printer language that can be interpreted by the corresponding printer 80, and outputs the print command to the printer 80. The printer 80 executes printing based on the print command received from the print queue 70.

サーバ18とクライアント10とはネットワークを介して接続されるため、その通信事情によっては、印刷要求を受け、それに対応する中間データを即座に返すことができない場合がある。すると、中間データが返される前に次の印刷要求が出力された場合、当該次の印刷要求とその中間データとが対応するものと判断され、異なる印刷結果となってしまう。   Since the server 18 and the client 10 are connected via a network, depending on the communication situation, the print request may be received and the corresponding intermediate data may not be returned immediately. Then, if the next print request is output before the intermediate data is returned, it is determined that the next print request and the intermediate data correspond to each other, resulting in a different print result.

これを回避するために、印刷制御システムは、ネットワークの通信状態を判断する判断部と、その判断部の判断結果に応じて、仮想プリンタドライバ50により生成された中間データを圧縮する圧縮部とをさらに備えることができる。これらの機能部は、サーバ18が備えることができる。これに伴い、クライアント10は、圧縮された中間データを伸長し、元の中間データに復元する伸長部を備えることができる。ネットワークの通信状態が良好でない場合であっても、中間データを圧縮し、サイズを小さくして送信することができるので、中間データを即座に返すことが可能となる。   In order to avoid this, the print control system includes a determination unit that determines the communication state of the network, and a compression unit that compresses the intermediate data generated by the virtual printer driver 50 according to the determination result of the determination unit. Furthermore, it can be provided. These functional units can be included in the server 18. Accordingly, the client 10 can include a decompressing unit that decompresses the compressed intermediate data and restores the original intermediate data. Even when the communication state of the network is not good, the intermediate data can be compressed and transmitted with a reduced size, so that the intermediate data can be returned immediately.

ネットワークの通信状態は、例えば、pingと呼ばれるソフトウェアを利用し、通信対象のノードにパケットを送り、その応答が得られるまでの時間や応答率から判断することができる。これは一例であるので、それ以外の方法を使用して判断することもできる。   The communication state of the network can be determined from the time until a response is obtained by sending a packet to a communication target node using software called ping, for example. Since this is an example, it can be determined using other methods.

中間データの圧縮は、所定の圧縮アルゴリズムを適用して実施することができる。ここで、圧縮とは、データを実質的な性質を保持したままデータの容量を減らす処理である。この圧縮は、中間データがクライアント10へ送信された場合、伸長して元のデータに復元する必要があるので、可逆圧縮でなければならない。圧縮アルゴリズムは、これまでに知られたいかなるアルゴリズムであってもよく、例えば、ZIP、LHA、LZH等を使用することができる。圧縮データの伸長は、伸長プログラム(解凍プログラムとも呼ばれる。)を使用して実施することができる。   The compression of the intermediate data can be performed by applying a predetermined compression algorithm. Here, the compression is a process of reducing the data capacity while maintaining the substantial property of the data. This compression must be lossless compression because when intermediate data is transmitted to the client 10, it must be decompressed and restored to the original data. The compression algorithm may be any algorithm known so far, and for example, ZIP, LHA, LZH, etc. can be used. The decompression of the compressed data can be performed using a decompression program (also called a decompression program).

ネットワークの通信状態によっては、上記の圧縮のみでは不十分な場合がある。この場合、中間データを複数に分割し、分割したデータを1つずつ送信したり、分割したデータをさらに圧縮し、その圧縮したデータを送信したりすることができる。このため、印刷制御システムは、さらに、サーバ18が、仮想プリンタドライバ50により生成された中間データを、複数のデータに分割し、複数に分割したデータを出力する分割部を備えることができる。また、クライアント10が、複数のデータを結合し、元の中間データに復元する結合部を備えることができる。この結合は、結合プログラムを使用して実施することができる。   Depending on the communication state of the network, the above compression alone may not be sufficient. In this case, the intermediate data can be divided into a plurality of parts, and the divided data can be transmitted one by one, or the divided data can be further compressed and the compressed data can be transmitted. For this reason, the print control system can further include a dividing unit in which the server 18 divides the intermediate data generated by the virtual printer driver 50 into a plurality of data and outputs the divided data. In addition, the client 10 can include a combining unit that combines a plurality of data and restores the original intermediate data. This combination can be performed using a combination program.

分割部は、任意の数あるいは任意のサイズに中間データを分割することができる。分割部は、複数に分割したデータを、上記の圧縮部に出力し、圧縮部が、複数の圧縮データを生成し、中間データ送信部52がそれをクライアント10へ送信することができる。また、クライアント10では、中間データ受信部62が、複数の圧縮データを受信し、伸長部が複数の圧縮データを伸長して元の複数のデータに復元し、結合部が複数のデータを結合して、元の中間データに復元することができる。   The dividing unit can divide the intermediate data into an arbitrary number or an arbitrary size. The dividing unit outputs the divided data to the compression unit, the compression unit generates a plurality of compressed data, and the intermediate data transmission unit 52 can transmit it to the client 10. In the client 10, the intermediate data receiving unit 62 receives a plurality of compressed data, the decompressing unit decompresses the plurality of compressed data and restores the original plurality of data, and the combining unit combines the plurality of data. Thus, the original intermediate data can be restored.

図6に示すフローチャートを参照して、印刷制御システムが実行する印刷制御について詳細に説明する。ユーザは、自己が使用するクライアント10上でアプリケーションのアイコンをダブルクリックする等して開き、起動させる。これにより、アプリケーション実行部60が起動する。ユーザは、入力装置28を使用して、文字等を入力し、文書を作成する。また、ユーザは、既に作成した文書を開き、修正等を行う。その後、ユーザは、印刷設定画面を要求し、アプリケーション実行部60は、それを受けて、印刷設定画面を表示させる。ユーザは、用紙サイズの選択等の印刷設定を行い、印刷開始ボタンを押下する等して、印刷を指示する。この指示を受けて、印刷制御システムは、ステップ600から処理を開始する。   The print control executed by the print control system will be described in detail with reference to the flowchart shown in FIG. The user opens and activates an application icon on the client 10 used by the user by, for example, double-clicking. Thereby, the application execution part 60 starts. The user uses the input device 28 to input characters and create a document. In addition, the user opens a document that has already been created and makes corrections. Thereafter, the user requests a print setting screen, and the application execution unit 60 receives the request and displays the print setting screen. The user makes print settings such as paper size selection, and presses a print start button to instruct printing. Upon receiving this instruction, the print control system starts processing from step 600.

ステップ605では、アプリケーション実行部60は、仮想プリンタドライバ61が起動していない場合、クライアント10に実装されているOSに指示し、仮想プリンタドライバ61を起動させる。そして、アプリケーション実行部60は、画面上に開かれた文書の文書データと、印刷設定情報と、クライアント10に登録されているシステム情報とを含む印刷要求を、仮想プリンタドライバ61に出力する。このとき、サーバ18の仮想プリンタドライバ50が起動していない場合、サーバ18に実装されているOSに指示し、仮想プリンタドライバ50を起動させる。ステップ610では、仮想プリンタドライバ61が、アプリケーション実行部60から出力された印刷要求を、サーバ18の仮想プリンタドライバ50へ転送する。   In step 605, when the virtual printer driver 61 is not activated, the application execution unit 60 instructs the OS installed in the client 10 to activate the virtual printer driver 61. Then, the application execution unit 60 outputs a print request including the document data of the document opened on the screen, the print setting information, and the system information registered in the client 10 to the virtual printer driver 61. At this time, when the virtual printer driver 50 of the server 18 is not activated, the OS installed in the server 18 is instructed to activate the virtual printer driver 50. In step 610, the virtual printer driver 61 transfers the print request output from the application execution unit 60 to the virtual printer driver 50 of the server 18.

ステップ615では、仮想プリンタドライバ50が、印刷要求から中間データを生成する。仮想プリンタドライバ50は、中間データ蓄積部51に、生成した中間データを蓄積させる。ここで、仮想プリンタドライバ50は、中間データ送信部52が起動していない場合、起動させる。ステップ620では、中間データ送信部52が、中間データ蓄積部51に蓄積された中間データの有無を確認し、中間データが蓄積されている場合に当該中間データを取得し、クライアント10にその中間データを送信する。   In step 615, the virtual printer driver 50 generates intermediate data from the print request. The virtual printer driver 50 causes the intermediate data storage unit 51 to store the generated intermediate data. Here, the virtual printer driver 50 is activated when the intermediate data transmission unit 52 is not activated. In step 620, the intermediate data transmission unit 52 confirms the presence or absence of intermediate data stored in the intermediate data storage unit 51, acquires the intermediate data when the intermediate data is stored, and sends the intermediate data to the client 10. Send.

ステップ625では、クライアント10の中間データ受信部62が、中間データ送信部52が送信した中間データを受信する。そして、中間データ受信部62は、受信した中間データを中間データ蓄積部63に蓄積させる。ステップ630では、振り分け制御部64が、中間データ蓄積部63に蓄積された中間データの有無を確認し、中間データが蓄積されている場合に当該中間データを取得する。振り分け制御部64は、出力先を決定させるために、出力先決定部65が起動していない場合、起動させる。そして、振り分け制御部64は、取得した中間データを、出力先決定部65に渡す。   In step 625, the intermediate data receiving unit 62 of the client 10 receives the intermediate data transmitted by the intermediate data transmitting unit 52. Then, the intermediate data receiving unit 62 causes the intermediate data storage unit 63 to store the received intermediate data. In step 630, the distribution control unit 64 confirms the presence or absence of intermediate data stored in the intermediate data storage unit 63, and acquires the intermediate data when the intermediate data is stored. The distribution control unit 64 is activated when the output destination determination unit 65 is not activated in order to determine the output destination. Then, the distribution control unit 64 passes the acquired intermediate data to the output destination determination unit 65.

ステップ635では、出力先決定部65が、振り分け制御部64から取得した中間データを構成する印刷設定情報およびシステム情報と、出力先決定部65が保持する、予め設定された1以上の設定条件とを照合し、その条件に合致する出力先を決定する。例えば、ユーザAから指示された印刷は、プリンタBから出力する、という条件が設定条件として設定されていて、中間データを構成するシステム情報に、ユーザAが含まれる場合、その設定条件に合致する出力先としてプリンタBと決定する。   In step 635, the output destination determination unit 65 print setting information and system information constituting the intermediate data acquired from the distribution control unit 64, and one or more preset setting conditions held by the output destination determination unit 65. And determine the output destination that matches the condition. For example, if printing A instructed by the user A is output from the printer B as a setting condition, and the user A is included in the system information constituting the intermediate data, the setting condition is met. Printer B is determined as the output destination.

ステップ640では、出力先決定部65が、決定した出力先の情報を、振り分け制御部64に対して返答する。ステップ645では、振り分け制御部64が、振り分け部69が起動していない場合は起動させ、出力先の情報および中間データの蓄積場所を振り分け部69に通知する。   In step 640, the output destination determination unit 65 returns information on the determined output destination to the distribution control unit 64. In step 645, the distribution control unit 64 activates the distribution unit 69 when it is not activated, and notifies the distribution unit 69 of the output destination information and the storage location of the intermediate data.

ステップ650では、振り分け部69が、その出力先に対応するプリントキュー70へ印刷ジョブを振り分け、中間データを構成する画像データを印刷ジョブとして出力する。ステップ655では、プリントキュー70内で動作するプリンタドライバが、変換手段として機能し、画像データを出力先のプリンタ80が解釈可能なプリンタ言語に変換し、印刷コマンドとしてそのプリンタ80に出力する。ステップ660では、プリンタ80が、印刷コマンドを受領し、その印刷コマンドに基づき、印刷を実行し、紙に印字等して出力されたところで、ステップ665へ進み、この処理を終了する。   In step 650, the distribution unit 69 distributes the print job to the print queue 70 corresponding to the output destination, and outputs the image data constituting the intermediate data as a print job. In step 655, the printer driver operating in the print queue 70 functions as a conversion unit, converts the image data into a printer language that can be interpreted by the output destination printer 80, and outputs it to the printer 80 as a print command. In step 660, the printer 80 receives the print command, executes printing based on the print command, and prints on paper or the like, and then proceeds to step 665 to end this processing.

図7は、クライアント10が備える仮想プリンタドライバ61により実行される処理の流れを示したフローチャートである。仮想プリンタドライバ61は、クライアント10に実装されるOSによって起動され、その起動によって、ステップ700から処理を開始する。仮想プリンタドライバ61は、1つの処理として、アプリケーション実行部60から出力された印刷要求を、サーバ18が備える仮想プリンタドライバ50へ転送する処理を行う。また、仮想プリンタドライバ61は、その処理に並行し、もう1つの処理として、以下のステップの処理を実行する。   FIG. 7 is a flowchart showing a flow of processing executed by the virtual printer driver 61 provided in the client 10. The virtual printer driver 61 is activated by the OS installed in the client 10, and starts processing from step 700 by the activation. The virtual printer driver 61 performs a process of transferring the print request output from the application execution unit 60 to the virtual printer driver 50 provided in the server 18 as one process. The virtual printer driver 61 executes the following steps in parallel with the processing.

ステップ705では、印刷ジョブ監視制御部67が起動しているかどうかを判断する。起動していない場合、ステップ710へ進み、印刷ジョブ監視制御部67を起動させる。既に起動している場合は、ステップ715へ直接進む。ステップ715では、振り分け先情報受信部66が起動しているかどうかを判断する。起動していない場合、ステップ720へ進み、振り分け先情報受信部66を起動させる。既に起動している場合は、ステップ725へ直接進む。   In step 705, it is determined whether the print job monitoring control unit 67 is activated. If not activated, the process proceeds to step 710 to activate the print job monitoring controller 67. If it has already been started, the process proceeds directly to step 715. In step 715, it is determined whether the distribution destination information receiving unit 66 is activated. If not activated, the process proceeds to step 720, where the distribution destination information receiving unit 66 is activated. If it has already been activated, the process proceeds directly to step 725.

ステップ725では、振り分け制御部64が起動しているかどうかを判断する。起動していない場合、ステップ730へ進み、振り分け制御部64を起動させる。既に起動している場合は、ステップ735へ直接進む。ステップ735では、中間データ受信部62が起動しているかどうかを判断する。起動していない場合、ステップ740へ進み、中間データ受信部62を起動させる。既に起動している場合は、ステップ745へ直接進み、仮想プリンタドライバ61による処理を終了する。   In step 725, it is determined whether the distribution control unit 64 is activated. If not activated, the process proceeds to step 730 to activate the distribution control unit 64. If it has already been started, the process proceeds directly to step 735. In step 735, it is determined whether the intermediate data receiving unit 62 is activated. If not activated, the process proceeds to step 740, where the intermediate data receiving unit 62 is activated. If it has already been activated, the process proceeds directly to step 745 and the process by the virtual printer driver 61 is terminated.

各機能は、例えば、プログラムモジュールとして提供することができ、当該モジュールが実行されているかどうかにより、各機能部が起動しているかどうかを判断することができる。ここでは、印刷ジョブ監視制御部67、振り分け先情報受信部66,振り分け制御部64、中間データ受信部62の順に判断しているが、この順に限られるものではなく、その他の順に判断を行ってもよい。   Each function can be provided as, for example, a program module, and it can be determined whether each functional unit is activated based on whether the module is executed. Here, the print job monitoring control unit 67, the distribution destination information receiving unit 66, the distribution control unit 64, and the intermediate data receiving unit 62 are determined in this order. However, the order is not limited to this order. Also good.

印刷制御システムは、図6に示した自動振り分けを実現するほか、印刷ジョブのジョブ状況を監視することもできる。この監視する処理について、図8に示すフローチャートを参照して詳細に説明する。図6に示すステップ645で振り分け制御部64が振り分け部69に中間データを出力したことを受けて、ステップ800からこの処理を開始する。   In addition to realizing the automatic distribution shown in FIG. 6, the print control system can also monitor the job status of a print job. This monitoring process will be described in detail with reference to the flowchart shown in FIG. In response to the fact that the distribution control unit 64 has output the intermediate data to the distribution unit 69 in step 645 shown in FIG.

ステップ805では、振り分け部69が、対応するプリントキュー70から出力先のプリンタ80の情報を取得する。プリンタ80の情報としては、プリンタ名、IPアドレス、MACアドレス等を挙げることができる。そして、振り分け部69は、取得したプリンタの情報を、振り分け先情報受信部66へ送る。   In step 805, the distribution unit 69 acquires information of the output destination printer 80 from the corresponding print queue 70. Examples of the information about the printer 80 include a printer name, an IP address, and a MAC address. Then, the distribution unit 69 sends the acquired printer information to the distribution destination information reception unit 66.

ステップ810では、振り分け先情報受信部66が、振り分け部69から受け取ったプリンタ80の情報を、印刷ジョブ監視制御部67に渡す。ステップ815では、印刷ジョブ監視制御部67は、印刷ジョブ監視部68を起動させ、受け取ったプリンタ80の情報を印刷ジョブ監視部68に渡す。   In step 810, the distribution destination information receiving unit 66 passes the printer 80 information received from the distribution unit 69 to the print job monitoring control unit 67. In step 815, the print job monitoring control unit 67 activates the print job monitoring unit 68 and passes the received information on the printer 80 to the print job monitoring unit 68.

ステップ820では、印刷ジョブ監視部68は、プリンタ80の情報を使用してプリンタ80へ適宜アクセスし、プリンタ80の状態に関する情報を取得して、プリンタ80の印刷ジョブのジョブ処理状況を監視する。印刷実行中に何らかのエラーが発生した場合、印刷ジョブ監視部68は、プリンタ80からエラー情報を取得し、取得したエラー情報を、表示装置27の画面上に表示させ、ユーザに知らせる。エラーが発生することなく、印刷が終了した場合は、印刷ジョブ監視部68は、プリンタ80から印刷が終了した旨の通知を受け取り、表示装置27の画面上に印刷が終了した旨と、出力したプリンタ80の情報とを表示させる。このように、エラー情報や印刷が終了した旨を画面上に表示したところで、ステップ825へ進み、この処理を終了する。   In step 820, the print job monitoring unit 68 appropriately accesses the printer 80 using the information of the printer 80, acquires information related to the status of the printer 80, and monitors the job processing status of the print job of the printer 80. If any error occurs during printing, the print job monitoring unit 68 acquires error information from the printer 80, displays the acquired error information on the screen of the display device 27, and notifies the user. When the printing is completed without causing an error, the print job monitoring unit 68 receives a notification that the printing is completed from the printer 80, and outputs on the screen of the display device 27 that the printing is completed. Information on the printer 80 is displayed. In this way, when error information or printing completion is displayed on the screen, the process proceeds to step 825, and this process is terminated.

サーバ18において描画処理のみを行い、その結果としての中間データをクライアント10へ送信するように構成し、クライアント10で、自動振り分け、プリンタ言語への変換を実施するように構成することで、特殊なフォントの文字化けを回避することができる。これにより、サーバサイドレンダリングで生じる問題を解決することができる。また、サーバ18で描画処理を行うので、独自に開発したプリントプロセッサモジュールをコピーする必要がなくなり、クライアント10が直接監視を行うので、クライアントサイドレンダリングで生じる問題も解決することができる。   The server 18 is configured to perform only the rendering process and transmit the resulting intermediate data to the client 10, and the client 10 is configured to perform automatic distribution and conversion into the printer language. The garbled font can be avoided. Thereby, the problem which arises by server side rendering can be solved. In addition, since the drawing process is performed by the server 18, it is not necessary to copy the originally developed print processor module, and since the client 10 directly monitors, the problem caused by the client side rendering can be solved.

印刷制御システムは、上記のような文字化けを回避するための処理を実行する機能を使用するか否かを切り替えることができるように、ユーザインタフェース等によりON/OFF制御することも可能である。例えば、ユーザは、クライアント10が備える入力装置28を使用し、その機能に対応して設けられるチェックボックスにチェックを入れてONにすることで、その機能を使用することができる。これは一例であるので、その他の設定方法を採用することもできる。なお、その機能がOFFの場合は、自動振り分けも行わず、通常の印刷処理のみを実行することができる。その機能がOFFの場合、文字化けを回避するための処理を実行する機能を有していなければ、これに限定されるものではなく、実行するプログラムを切り替え、印刷制御システムを、図3や図4に示した機能構成とし、自動振り分けを実行できるようにしてもよい。   The print control system can also perform ON / OFF control by a user interface or the like so that it is possible to switch whether or not to use a function for executing processing for avoiding garbled characters as described above. For example, the user can use the function by using the input device 28 included in the client 10 and checking a check box provided corresponding to the function to turn it ON. Since this is an example, other setting methods can be employed. When the function is OFF, only normal printing processing can be executed without performing automatic distribution. When the function is OFF, the present invention is not limited to this as long as it does not have a function of executing processing for avoiding garbled characters. The program to be executed is switched, and the print control system is switched to FIG. The function configuration shown in FIG. 4 may be used so that automatic distribution can be executed.

上記のON/OFF制御を実現するために、印刷制御システムは、機能部として、印刷制御システムの機能を使用する設定を受け付ける設定受付部をさらに備えることができる。設定受付部がその設定を受け付けたことに応答して、上述した各機能部を起動、あるいは各機能部として機能させ、上述した各処理を実行させることができる。   In order to realize the above-described ON / OFF control, the print control system can further include a setting reception unit that receives a setting for using the function of the print control system as a function unit. In response to the setting accepting unit accepting the setting, each function unit described above can be activated or function as each function unit to execute each process described above.

これまで本発明の印刷制御システムおよびそのシステムにより実行される印刷制御方法について図面に示した実施形態を参照しながら詳細に説明してきたが、本発明は、上述した実施形態に限定されるものではない。したがって、他の実施形態や、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。よって、本発明では、上記の印刷制御方法をコンピュータに実行させるためのプログラムや、当該プログラムが記録された記録媒体等も提供することができるものである。   The print control system of the present invention and the print control method executed by the system have been described in detail with reference to the embodiments shown in the drawings, but the present invention is not limited to the above-described embodiments. Absent. Therefore, other embodiments, additions, changes, deletions, and the like can be changed within a range that can be conceived by those skilled in the art, and as long as the effects and advantages of the present invention are exhibited in any aspect, the present invention It is included in the range. Therefore, the present invention can also provide a program for causing a computer to execute the print control method described above, a recording medium on which the program is recorded, and the like.

10〜13…クライアント、14…MFP、15〜17…レーザプリンタ、18…サーバ、19…ネットワーク、20…CPU、21…ROM、22…RAM、23…HDD、24…通信I/F、25…外部機器I/F、26…外部メモリI/F、27…表示装置27、28…入力装置、29…バス、30…アプリケーション実行部、31…仮想プリンタドライバ、32…中間データ蓄積部、33…振り分け部、34…出力先決定部、35…印刷ジョブ監視部、36…プリントキュー、37…プリンタ、38…振り分け先情報受信部、39…印刷ジョブ監視制御部、40…仮想プリンタドライバ、41…振り分け制御部、50…仮想プリンタドライバ、51…中間データ蓄積部、52…中間データ送信部、60…アプリケーション実行部、61…仮想プリンタドライバ、62…中間データ受信部、63…中間データ蓄積部、64…振り分け制御部、65…出力先決定部、66…振り分け先情報受信部、67…印刷ジョブ監視制御部、68…印刷ジョブ監視部、69…振り分け部、70…プリントキュー、80…プリンタ DESCRIPTION OF SYMBOLS 10-13 ... Client, 14 ... MFP, 15-17 ... Laser printer, 18 ... Server, 19 ... Network, 20 ... CPU, 21 ... ROM, 22 ... RAM, 23 ... HDD, 24 ... Communication I / F, 25 ... External device I / F, 26 ... External memory I / F, 27 ... Display device 27, 28 ... Input device, 29 ... Bus, 30 ... Application execution unit, 31 ... Virtual printer driver, 32 ... Intermediate data storage unit, 33 ... Distribution unit 34... Output destination determination unit 35... Print job monitoring unit 36... Print queue 37. Printer 38 38 distribution destination information reception unit 39 print job monitoring control unit 40 virtual printer driver 41. Distribution control unit 50... Virtual printer driver 51. Intermediate data storage unit 52. Intermediate data transmission unit 60. Application execution unit 6 ... Virtual printer driver, 62 ... Intermediate data receiving unit, 63 ... Intermediate data storage unit, 64 ... Distribution control unit, 65 ... Output destination determination unit, 66 ... Distribution destination information reception unit, 67 ... Print job monitoring control unit, 68 ... Print job monitoring unit 69... Sorting unit 70... Print queue 80.

特開2012−194621号公報JP 2012-194621 A

Claims (11)

クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続された印刷装置を選択して印刷を実行させる印刷制御システムであって、前記印刷制御システムは、サーバコンピュータとクライアントコンピュータとを含んで構成され、
前記サーバコンピュータは、
前記アプリケーション実行手段から受信した前記印刷要求に含まれる文書データから各ページの画像データを生成し、前記印刷要求から印刷設定情報と前記クライアントコンピュータに関する情報とを抽出し、前記画像データと前記印刷設定情報と前記クライアントコンピュータに関する情報とから構成される中間データを生成する中間データ生成手段と、
前記中間データ生成手段により生成された前記中間データを、前記クライアントコンピュータに送信する中間データ送信手段とを含み、
前記クライアントコンピュータは、
前記中間データ送信手段から送信された前記中間データを受信する中間データ受信手段と、
印刷装置と印刷設定情報および前記クライアントコンピュータに関する情報の少なくとも1つの情報とを含む予め設定された1以上の設定条件と、前記中間データ受信手段により受信された前記中間データとを照合して、出力先となる印刷装置を決定する出力先決定手段と、
前記出力先決定手段により決定された出力先に従って、前記中間データ受信手段により受信された前記画像データを、出力先となる印刷装置に対応する出力待ちデータ蓄積手段へ振り分ける振り分け手段と、
前記振り分け手段により振り分けられた前記画像データを、前記出力待ちデータ蓄積手段内で前記印刷装置が解釈可能な言語に変換する変換手段とを含む、印刷制御システム。
A print control system that receives a print request output from an application execution unit in response to a print instruction from a client computer, selects a printing device connected to a network, and executes printing. The print control system includes a server Comprising a computer and a client computer,
The server computer
Generating image data of each page from document data included in the print request received from the application execution unit, extracting print setting information and information about the client computer from the print request, and outputting the image data and the print setting; Intermediate data generating means for generating intermediate data composed of information and information about the client computer;
Intermediate data transmission means for transmitting the intermediate data generated by the intermediate data generation means to the client computer,
The client computer is
Intermediate data receiving means for receiving the intermediate data transmitted from the intermediate data transmitting means;
One or more preset setting conditions including at least one piece of information regarding a printing apparatus, print setting information, and information about the client computer, and the intermediate data received by the intermediate data receiving means are collated and output Output destination determining means for determining a destination printing device;
A distribution unit that distributes the image data received by the intermediate data receiving unit to an output waiting data storage unit corresponding to a printing apparatus that is an output destination according to the output destination determined by the output destination determination unit;
A printing control system comprising: conversion means for converting the image data sorted by the sorting means into a language interpretable by the printing device in the output waiting data storage means.
前記クライアントコンピュータは、
前記振り分け手段から取得した出力先となる前記印刷装置の情報を受け取り、当該印刷装置の情報を使用して当該印刷装置へアクセスすることにより当該印刷装置のジョブ処理状況を監視し、監視することにより得られた情報を、前記クライアントコンピュータが備える表示装置の画面上に表示させる印刷ジョブ監視手段をさらに含む、請求項1に記載の印刷制御システム。
The client computer is
By receiving the information of the printing device as the output destination acquired from the distribution unit, and monitoring the job processing status of the printing device by accessing the printing device using the information of the printing device, and by monitoring The print control system according to claim 1, further comprising print job monitoring means for displaying the obtained information on a screen of a display device provided in the client computer.
前記サーバコンピュータは、前記ネットワークの通信状態を判断する判断手段と、前記中間データ生成手段により生成された前記中間データを圧縮し、圧縮データとして前記中間データ送信手段に出力する圧縮手段とをさらに含み、
前記クライアントコンピュータは、前記中間データ受信手段により受信された前記圧縮データを伸長し、元の中間データに復元する伸長手段をさらに含む、請求項2に記載の印刷制御システム。
The server computer further includes determination means for determining a communication state of the network, and compression means for compressing the intermediate data generated by the intermediate data generation means and outputting the compressed data as compressed data to the intermediate data transmission means. ,
The print control system according to claim 2, wherein the client computer further includes decompression means for decompressing the compressed data received by the intermediate data reception means and restoring the original intermediate data.
前記サーバコンピュータは、前記中間データ生成手段により生成された前記中間データを、複数のデータに分割し、複数に分割したデータを前記圧縮手段に出力する分割手段をさらに含み、
前記クライアントコンピュータは、前記伸長手段により伸長された複数のデータを結合し、元の中間データに復元する結合手段をさらに含む、請求項3に記載の印刷制御システム。
The server computer further includes a dividing unit that divides the intermediate data generated by the intermediate data generating unit into a plurality of data, and outputs the divided data to the compression unit,
The print control system according to claim 3, wherein the client computer further includes a combining unit that combines a plurality of data expanded by the expansion unit and restores the original intermediate data.
前記クライアントコンピュータが、前記アプリケーション実行手段を備える、請求項1〜4のいずれか1項に記載の印刷制御システム。   The print control system according to claim 1, wherein the client computer includes the application execution unit. 前記印刷制御システムの機能を使用する設定を受け付ける設定受付手段をさらに備え、前記設定受付手段が前記設定を受け付けたことに応答して、前記中間データ生成手段、前記中間データ送信手段、前記中間データ受信手段、前記出力先決定手段、前記振り分け手段および前記変換手段を起動させる、請求項1〜5のいずれか1項に記載の印刷制御システム。   The apparatus further comprises setting accepting means for accepting settings for using the functions of the print control system, and in response to the setting accepting means accepting the settings, the intermediate data generating means, the intermediate data transmitting means, and the intermediate data The print control system according to claim 1, wherein a reception unit, the output destination determination unit, the distribution unit, and the conversion unit are activated. クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続された印刷装置を選択して印刷を実行させる印刷制御システムにより実行される印刷制御方法であって、前記印刷制御システムは、サーバコンピュータと、前記クライアントコンピュータとを含んで構成され、
前記サーバコンピュータが、
前記アプリケーション実行手段から受信した前記印刷要求に含まれる文書データから各ページの画像データを生成し、前記印刷要求から印刷設定情報と前記クライアントコンピュータに関する情報とを抽出し、前記画像データと前記印刷設定情報と前記クライアントコンピュータに関する情報とから構成される中間データを生成するステップと、
生成された前記中間データを、前記クライアントコンピュータに送信するステップとを実行し、
前記クライアントコンピュータが、
前記サーバコンピュータから送信された前記中間データを受信するステップと、
前記クライアントコンピュータが保持する、印刷装置と印刷設定情報および前記クライアントコンピュータに関する情報の少なくとも1つの情報とを含む予め設定された1以上の設定条件と、受信された前記中間データとを照合して、出力先となる印刷装置を決定するステップと、
前記決定するステップで決定された出力先に従って、前記受信するステップで受信された前記画像データを、出力先となる印刷装置に対応する出力待ちデータ蓄積手段へ振り分けるステップと、
前記振り分けるステップで振り分けられた前記画像データを、前記出力待ちデータ蓄積手段内で前記印刷装置が解釈可能な言語に変換するステップとを実行する、印刷制御方法。
A print control method executed by a print control system that receives a print request from an application execution unit in response to a print instruction from a client computer, selects a printing device connected to a network, and executes printing. The print control system includes a server computer and the client computer,
The server computer is
Generating image data of each page from document data included in the print request received from the application execution unit, extracting print setting information and information about the client computer from the print request, and outputting the image data and the print setting; Generating intermediate data comprising information and information relating to the client computer;
Transmitting the generated intermediate data to the client computer;
The client computer is
Receiving the intermediate data transmitted from the server computer;
Collating the received intermediate data with one or more preset setting conditions including at least one information of a printing apparatus, print setting information, and information about the client computer held by the client computer; Determining a printing device as an output destination;
Allocating the image data received in the receiving step to output waiting data storage means corresponding to the printing apparatus serving as the output destination according to the output destination determined in the determining step;
And a step of converting the image data sorted in the sorting step into a language interpretable by the printing apparatus in the output waiting data storage means.
前記クライアントコンピュータが、さらに、
出力先となる前記印刷装置の情報を受け取り、当該印刷装置の情報を使用して当該印刷装置へアクセスすることにより当該印刷装置のジョブ処理状況を監視し、監視することにより得られた情報を、前記クライアントコンピュータが備える表示装置の画面上に表示させるステップを実行する、請求項7に記載の印刷制御方法。
The client computer further comprises:
Receive the information of the printing device as the output destination, monitor the job processing status of the printing device by accessing the printing device using the information of the printing device, and obtain the information obtained by monitoring, The print control method according to claim 7, wherein a step of displaying on a screen of a display device provided in the client computer is executed.
前記サーバコンピュータが、前記ネットワークの通信状態を判断するステップと、前記中間データを生成するステップで生成された前記中間データを圧縮し、圧縮データとして出力するステップとをさらに実行し、
前記クライアントコンピュータが、前記中間データを受信するステップで受信された前記圧縮データを伸長し、元の中間データに復元するステップをさらに実行する、請求項7または8に記載の印刷制御方法。
The server computer further executes a step of determining a communication state of the network and a step of compressing the intermediate data generated in the step of generating the intermediate data and outputting as compressed data,
The print control method according to claim 7 or 8, wherein the client computer further executes a step of decompressing the compressed data received in the step of receiving the intermediate data and restoring the original intermediate data.
前記サーバコンピュータが、前記中間データを生成するステップで生成された前記中間データを、複数のデータに分割し、複数に分割したデータを出力するステップをさらに実行し、
前記クライアントコンピュータが、前記復元するステップで伸長された複数のデータを結合し、元の中間データに復元するステップをさらに実行する、請求項9に記載の印刷制御方法。
The server computer further executes a step of dividing the intermediate data generated in the step of generating the intermediate data into a plurality of data and outputting the divided data.
The print control method according to claim 9, wherein the client computer further executes a step of combining the plurality of data decompressed in the restoration step and restoring the original intermediate data.
請求項7〜10のいずれか1項に記載の印刷制御方法をコンピュータに実行させるためのプログラム。
The program for making a computer perform the printing control method of any one of Claims 7-10.
JP2013210182A 2013-10-07 2013-10-07 Print control system, print control method and program Pending JP2015075822A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013210182A JP2015075822A (en) 2013-10-07 2013-10-07 Print control system, print control method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013210182A JP2015075822A (en) 2013-10-07 2013-10-07 Print control system, print control method and program

Publications (1)

Publication Number Publication Date
JP2015075822A true JP2015075822A (en) 2015-04-20

Family

ID=53000660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013210182A Pending JP2015075822A (en) 2013-10-07 2013-10-07 Print control system, print control method and program

Country Status (1)

Country Link
JP (1) JP2015075822A (en)

Similar Documents

Publication Publication Date Title
US9086826B2 (en) Information processing apparatus, method for controlling the same, and storage medium
US9086832B2 (en) Printer
US8570574B2 (en) Processing system, control method, and storage medium therefor
JP2012037944A (en) Image forming device, substitute operation system, image forming device control method, and program
US20120314244A1 (en) Information processing apparatus, method of controlling information processing apparatus, program, and storage medium
JP5673177B2 (en) Network system, network system printing control method, and client terminal
KR101506764B1 (en) Job processing apparatus, control method, and computer readable storage medium
US20130182286A1 (en) Information processing apparatus, control method, and storage medium
WO2013108377A9 (en) Device, information processor, information processing system, control method, and program
JP2017144684A (en) Printing system, image formation apparatus, control method of printing system, control method and program of image formation apparatus
JP4045800B2 (en) Printing system and method
JP2018081416A (en) Information processing device, control method of information processing device and program
JP6768544B2 (en) Information processing equipment, control methods and programs
JP6465755B2 (en) Control method, program, and client terminal
JP2015075822A (en) Print control system, print control method and program
JP5900593B2 (en) Network system control method, print control script control method, and print control script
JP5623465B2 (en) Image forming system and print server thereof
JP6248594B2 (en) Image processing system, image processing apparatus, processing method, and control program
JP2004046304A (en) Print system
JP6410974B2 (en) Information processing apparatus, method, and program
JP6289688B2 (en) Information processing apparatus, method, and program
JP6260682B2 (en) Printer and printer control method
JP6065132B2 (en) Print control script and client terminal control method
JP5729036B2 (en) Data processing system, printing control method, program, and recording medium
JP5900592B2 (en) Network system, client terminal, and client terminal control method