JP6669234B1 - Information processing apparatus, print control method, and print control program - Google Patents

Information processing apparatus, print control method, and print control program Download PDF

Info

Publication number
JP6669234B1
JP6669234B1 JP2018217114A JP2018217114A JP6669234B1 JP 6669234 B1 JP6669234 B1 JP 6669234B1 JP 2018217114 A JP2018217114 A JP 2018217114A JP 2018217114 A JP2018217114 A JP 2018217114A JP 6669234 B1 JP6669234 B1 JP 6669234B1
Authority
JP
Japan
Prior art keywords
output
page
instruction
output instruction
printer driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018217114A
Other languages
Japanese (ja)
Other versions
JP2020086699A (en
Inventor
由紀子 網代
由紀子 網代
坂本 浩基
浩基 坂本
尚也 井上
尚也 井上
伊藤 順一
順一 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2018217114A priority Critical patent/JP6669234B1/en
Application granted granted Critical
Publication of JP6669234B1 publication Critical patent/JP6669234B1/en
Publication of JP2020086699A publication Critical patent/JP2020086699A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】プリンタドライバによる印刷ジョブの発行タイミングをより速くすること。【解決手段】本発明にかかる情報処理装置は、出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックするフック部と、フックされた出力命令を解析する解析部と、解析された出力命令をプリンタドライバに向けて再発行する発行部と、を備える。発行部は、解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令の再発行後、かつ、次のページに関する第2の出力命令の再発行前に、対象データの出力の区切りを示す第3の出力命令をプリンタドライバに向けて発行する。【選択図】図1PROBLEM TO BE SOLVED: To accelerate a print job issuing timing by a printer driver. An information processing device according to the present invention analyzes a hooked output command that hooks a series of output commands issued to a printer driver to output target data of an output request, and a hooked output command. An analyzing unit and an issuing unit that reissues the analyzed output command to the printer driver are provided. When the analyzed first output command indicates a page break, the issuing unit writes the target data after reissuing the first output command and before reissuing the second output command for the next page. A third output command indicating an output break is issued to the printer driver. [Selection diagram] Fig. 1

Description

本発明は、情報処理装置、印刷制御方法及び印刷制御プログラムに関し、特に、印刷制御を行うための情報処理装置、印刷制御方法及び印刷制御プログラムに関する。   The present invention relates to an information processing apparatus, a print control method, and a print control program, and more particularly, to an information processing apparatus, a print control method, and a print control program for performing print control.

特許文献1には、情報処理装置からの印刷ジョブをネットワークに接続されたプリンタに転送して印刷処理を行うプリント制御装置に関する技術が開示されている。特許文献1にかかるプリント制御装置は、情報処理装置から受信した印刷ジョブを最小単位に分割して、最小単位プリントジョブを生成し、プリンタへ出力する。   Patent Literature 1 discloses a technique relating to a print control apparatus that transfers a print job from an information processing apparatus to a printer connected to a network and performs print processing. The print control device according to Patent Literature 1 divides a print job received from an information processing device into minimum units, generates a minimum unit print job, and outputs it to a printer.

特許文献2には、プリンタを制御するプリンタコントローラに関する技術が開示されている。特許文献2にかかるプリンタコントローラは、印刷データをプリントジョブとして受信し、印刷データをイメージデータに変換して印刷用紙に印刷出力する。   Patent Literature 2 discloses a technology related to a printer controller that controls a printer. The printer controller according to Patent Literature 2 receives print data as a print job, converts the print data into image data, and prints out the print data on print paper.

特許文献3には、プリンタコントローラに関する技術が開示されている。特許文献3にかかるプリンタコントローラのデータ制御部は、クライアントから受信したPDL(Page Description Language)を、イメージデータ(プリント出力形式)に展開し、ページメモリに保持する。そして、プリンタコントローラの出力IFは、ページメモリに保持されたイメージデータをプリンタに転送する。   Patent Document 3 discloses a technique relating to a printer controller. The data control unit of the printer controller according to Patent Literature 3 develops PDL (Page Description Language) received from the client into image data (print output format) and stores the image data in a page memory. Then, the output IF of the printer controller transfers the image data held in the page memory to the printer.

ここで、上述した特許文献1等において印刷ジョブ等の発行元である情報処理装置又はクライアント等には、プリンタドライバがインストールされている。そして、印刷処理の要求元であるアプリケーションから発行された出力命令に対して、プリンタドライバが印刷ジョブに変換して出力しているといえる。   Here, a printer driver is installed in an information processing apparatus, a client, or the like, which is a source of a print job or the like in Patent Document 1 and the like described above. It can be said that the printer driver converts the print command into a print job and outputs the print job in response to the output command issued from the application that has requested the print processing.

また、近年、米国Microsoft(登録商標)社は、Windows(登録商標)8に搭載するプリンタドライバアーキテクチャとして、これまでのV3プリンタドライバに代えて、新しくV4プリンタドライバを採用することとした。   In recent years, Microsoft (registered trademark) in the United States has adopted a new V4 printer driver as a printer driver architecture to be mounted on Windows (registered trademark) 8, instead of the conventional V3 printer driver.

特開2007−310770号公報JP 2007-310770 A 特開2002−091748号公報JP-A-2002-091748 特開2000−229451号公報JP 2000-229451 A

ここで、V4プリンタドライバのアーキテクチャは、V3プリンタドライバのアーキテクチャと大きく異なり、いくつかの機能差分がある。機能差分の一つとして、出力制御が挙げられる。まず、ユーザのアプリケーションは、ドキュメント等の印刷を行う際に、通常、個別の描画命令や出力制御命令を含む一連の出力命令を発行する。V3プリンタドライバは、発行された出力命令を受信すると順次、プリンタに出力するために必要な解析処理及びコマンド化処理を行って、プリントスプーラへ印刷ジョブとして出力する。一方、V4プリンタドライバでは、印刷対象のドキュメントに対する全ての出力命令を受信し終えた後に、初期化処理を開始し、続いて全ての出力命令をまとめて解析処理及びコマンド化処理を行い、プリントスプーラへ印刷ジョブとして出力する。そのため、V4プリンタドライバを用いた場合、印刷対象のドキュメントの印刷ページ数が多い場合であっても、全ページ分の出力命令を受信し終えるまでプリンタによる出力が開始されないことになる。つまり、プリンタドライバによる印刷ジョブの発行が遅くなる場合があるという課題がある。特に、今後、V4プリンタドライバが普及するにつれて、この課題はより顕著になり得る。   Here, the architecture of the V4 printer driver is significantly different from the architecture of the V3 printer driver, and there are some functional differences. Output control is one of the functional differences. First, when printing a document or the like, the user application normally issues a series of output commands including individual drawing commands and output control commands. Upon receiving the issued output command, the V3 printer driver sequentially performs an analysis process and a command process required for outputting to the printer, and outputs the print command to the print spooler. On the other hand, in the V4 printer driver, after receiving all the output commands for the document to be printed, the initialization process is started, and then all the output commands are collectively analyzed and commanded, and the print spooler is executed. Output as a print job. Therefore, when the V4 printer driver is used, even if the number of printed pages of the document to be printed is large, output by the printer will not be started until output instructions for all pages have been received. That is, there is a problem that the issuance of a print job by the printer driver may be delayed. In particular, this problem may become more prominent as V4 printer drivers become more widespread in the future.

尚、上述した特許文献1から3にかかる技術は、プリンタドライバが発行した印刷ジョブに対する処理の改善であるため、上記課題を解決するものではない。   Note that the techniques according to Patent Documents 1 to 3 described above are improvements in processing of a print job issued by a printer driver, and do not solve the above-described problems.

本開示は、このような問題点を解決するためになされたものであり、プリンタドライバによる印刷ジョブの発行タイミングをより速くするための情報処理装置、印刷制御方法及び印刷制御プログラムを提供することを目的とする。   SUMMARY An advantage of some aspects of the disclosure is to provide an information processing apparatus, a print control method, and a print control program for speeding up issuance of a print job by a printer driver. Aim.

本開示の第1の態様にかかる情報処理装置は、
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックするフック部と、
前記フックされた出力命令を解析する解析部と、
前記解析された出力命令を前記プリンタドライバに向けて再発行する発行部と、
を備え、
前記発行部は、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令の再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する。
An information processing device according to a first aspect of the present disclosure includes:
A hook unit for hooking a series of output instructions issued to the printer driver to output target data of the output request;
An analyzer for analyzing the hooked output instruction;
An issuing unit for reissuing the analyzed output instruction toward the printer driver;
With
The issuing unit,
When the analyzed first output instruction indicates a page break, after the re-issue of the first output instruction and before the re-issue of the second output instruction for the next page, the output of the target data is output. A third output command indicating a break is issued to the printer driver.

本開示の第2の態様にかかる印刷制御方法は、
コンピュータが、
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックし、
前記フックされた出力命令を解析し、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する。
A print control method according to a second aspect of the present disclosure includes:
Computer
Hook a series of output instructions issued to the printer driver to output the target data of the output request,
Analyzing the hooked output instruction,
If the analyzed first output instruction indicates a page break, after re-issuing the first output instruction to the printer driver and before re-issuing the second output instruction for the next page, A third output command indicating a break of output of the target data is issued to the printer driver.

本開示の第3の態様にかかる印刷制御プログラムは、
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックする処理と、
前記フックされた出力命令を解析する処理と、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する処理と、
をコンピュータに実行させる。
A print control program according to a third aspect of the present disclosure includes:
Hooking a series of output instructions issued to the printer driver to output the target data of the output request;
Analyzing the hooked output instruction;
If the analyzed first output instruction indicates a page break, after re-issuing the first output instruction to the printer driver and before re-issuing the second output instruction for the next page, A process of issuing a third output command indicating a break of output of the target data to the printer driver;
On a computer.

本開示により、プリンタドライバによる印刷ジョブの発行タイミングをより速くするための情報処理装置、印刷制御方法及び印刷制御プログラムを提供することができる。   According to the present disclosure, it is possible to provide an information processing apparatus, a print control method, and a print control program for making a print job issuing timing by a printer driver faster.

本実施の形態1にかかる情報処理装置の構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of the information processing apparatus according to the first exemplary embodiment; 本実施の形態1にかかる印刷制御方法の流れを示すフローチャートである。3 is a flowchart illustrating a flow of a print control method according to the first embodiment. 本実施の形態2にかかる情報処理装置の構成を示すブロック図である。FIG. 4 is a block diagram illustrating a configuration of an information processing apparatus according to a second exemplary embodiment; 本実施の形態2にかかる印刷制御部の構成を示すブロック図である。FIG. 9 is a block diagram illustrating a configuration of a print control unit according to the second embodiment. V4プリンタドライバを用いた印刷処理の概念を説明するための図である。FIG. 4 is a diagram for explaining the concept of print processing using a V4 printer driver. 本実施の形態2にかかる印刷制御方法の流れを示すフローチャートである。9 is a flowchart illustrating a flow of a print control method according to the second embodiment. 本実施の形態2にかかる情報処理装置とV4プリンタドライバを用いた印刷処理の概念を説明するための図である。FIG. 9 is a diagram for explaining a concept of a printing process using the information processing apparatus according to the second embodiment and a V4 printer driver.

以下では、本開示の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。   Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In each of the drawings, the same or corresponding elements have the same reference characters allotted, and repeated description will be omitted as necessary to clarify the description.

<実施の形態1>
図1は、本実施の形態1にかかる情報処理装置1の構成を示すブロック図である。情報処理装置1は、プリンタ(不図示)と接続されたコンピュータである。情報処理装置1は、任意のアプリケーションプログラム(不図示)が実行され、ユーザ等の印刷指示に応じてアプリケーションが出力命令を発行する。また、情報処理装置1は、プリンタドライバ(不図示)がインストールされており、プリンタドライバが出力命令から印刷ジョブを生成して、プリンタへ出力する。
<First Embodiment>
FIG. 1 is a block diagram illustrating a configuration of the information processing apparatus 1 according to the first embodiment. The information processing device 1 is a computer connected to a printer (not shown). In the information processing apparatus 1, an arbitrary application program (not shown) is executed, and the application issues an output command in response to a print instruction from a user or the like. In the information processing apparatus 1, a printer driver (not shown) is installed. The printer driver generates a print job from an output command and outputs the print job to the printer.

情報処理装置1は、フック部11と、解析部12と、発行部13とを備える。フック部11は、出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックする。ここで、対象データは、上述したアプリケーション上で処理されるデータであり、例えば、ドキュメント、画像等である。また、出力要求とは、ユーザ等が対象データをプリンタ等へ出力させるためにアプリケーションに対して行った要求である。そのため、アプリケーションは、受け付けた出力要求に応じて出力命令を発行する。また、出力命令は、描画命令や出力制御命令を含む。描画命令は、例えば、ドキュメントの内容を構成する文字や線をプリンタに描画させるためのコマンドである。また、出力制御命令は、例えば、ドキュメントの開始もしくは終了、又は、ページの開始もしくは終了を示す命令等である。尚、ページの終了を示す出力制御命令は、ページ区切りを示す命令ともいえる。   The information processing device 1 includes a hook unit 11, an analyzing unit 12, and an issuing unit 13. The hook unit 11 hooks a series of output commands issued to the printer driver to output target data of the output request. Here, the target data is data processed on the application described above, and is, for example, a document, an image, or the like. The output request is a request made by a user or the like to an application to output target data to a printer or the like. Therefore, the application issues an output instruction in response to the received output request. Further, the output command includes a drawing command and an output control command. The drawing command is, for example, a command for causing a printer to draw characters and lines constituting the contents of the document. The output control command is, for example, a command indicating the start or end of a document or the start or end of a page. Note that the output control instruction indicating the end of a page can be said to be an instruction indicating a page break.

そして、フックとは、アプリケーションが発行した出力命令をOS(Operating System)(不図示)等を介して取得することを指す。そのため、フック部11によりフックされた出力命令は、プリンタドライバには到達しない。言い換えると、フック部11は、プリンタドライバに対して発行された出力命令を横取りする。   The hook refers to obtaining an output instruction issued by an application via an OS (Operating System) (not shown) or the like. Therefore, the output command hooked by the hook unit 11 does not reach the printer driver. In other words, the hook unit 11 intercepts an output command issued to the printer driver.

解析部12は、フックされた出力命令を解析する。ここで、解析には、例えば、出力命令の種別を判定すること、出力命令から印刷設定を抽出すること、印刷設定の範囲を判定すること等が含まれる。また、印刷設定の範囲の判定には、印刷設定の範囲がドキュメント全体であるか否か、ページに特有であるか否か、隣接ページで共通するか否か等が含まれる。   The analysis unit 12 analyzes the hooked output command. Here, the analysis includes, for example, determining the type of the output command, extracting the print setting from the output command, determining the range of the print setting, and the like. The determination of the print setting range includes whether or not the print setting range is the entire document, whether or not the print setting is specific to a page, whether or not the print setting is common to adjacent pages, and the like.

発行部13は、解析された出力命令をプリンタドライバに向けて再発行する。ここで、「再発行」とは、出力命令がすでにアプリケーションにより発行されたものであることから、再度発行されることを意味する。よって、発行部13自体は、「解析された出力命令」をプリンタドライバに向けて初めて発行することになる。そして、発行部13は、解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令の再発行後、かつ、次のページに関する第2の出力命令の再発行前に、対象データの出力の区切りを示す第3の出力命令をプリンタドライバに向けて発行する。ここで、第2の出力命令は、第1の出力命令より後にアプリケーションにより発行された命令である。特に、第2の出力命令は、対象データがプリンタにより複数の印刷用紙にまたがって印刷される場合に、第1の出力命令が対象とするページの次のページを対象とする出力命令である。そして、第3の出力命令は、アプリケーションにより発行されたものではなく、また、フック部11によりフックされたものでもない。すなわち、発行部13は、フックされた第1の出力命令と第2の出力命令を再発行する間に、第3の出力命令を挿入して、発行する。   The issuing unit 13 reissues the analyzed output command to the printer driver. Here, "reissue" means that the output instruction has already been issued by the application, and thus will be issued again. Therefore, the issuing unit 13 itself issues the “analyzed output command” to the printer driver for the first time. Then, when the analyzed first output instruction indicates a page break, the issuing unit 13 performs, after re-issuing the first output instruction and before re-issuing the second output instruction relating to the next page, A third output command indicating a break of output of the target data is issued to the printer driver. Here, the second output instruction is an instruction issued by the application after the first output instruction. In particular, the second output instruction is an output instruction that targets a page next to the page targeted by the first output instruction when the target data is printed over a plurality of printing papers by the printer. The third output command is not issued by the application, nor is it issued by the hook unit 11. That is, the issuing unit 13 inserts and issues the third output instruction while reissuing the hooked first and second output instructions.

図2は、本実施の形態1にかかる印刷制御方法の流れを示すフローチャートである。前提として、情報処理装置1上で実行されるアプリケーションは、ユーザ等からの出力要求に応じて、対象データをプリンタへ出力するために、プリンタドライバ向けの出力命令を順次、発行するものとする。このとき、フック部11は、発行された出力命令のうち第1の出力命令をフックする(S11)。   FIG. 2 is a flowchart illustrating a flow of the print control method according to the first embodiment. As a premise, it is assumed that an application executed on the information processing apparatus 1 sequentially issues output instructions for a printer driver in order to output target data to a printer in response to an output request from a user or the like. At this time, the hook unit 11 hooks the first output instruction among the issued output instructions (S11).

次に、解析部12は、フックされた第1の出力命令を解析する(S12)。そして、解析部12は、解析された第1の出力命令がページ区切りを示すか否かを判定する(S13)。解析された第1の出力命令がページ区切りを示す場合、発行部13は、第1の出力命令の再発行後、かつ、第2の出力命令の再発行前に、第3の出力命令を発行する(S14)。すなわち、発行部13は、第1のページについての第1の出力命令を再発行し、第1のページと第2のページのページ区切りを示す第3の出力命令を挿入して発行し、その後、第2のページについての第2の出力命令を再発行する。尚、ステップS13において解析された第1の出力命令がページ区切りを示さないと判定された場合、発行部13は、第1の出力命令を再発行し、続いて、第2の出力命令を再発行する。   Next, the analysis unit 12 analyzes the hooked first output instruction (S12). Then, the analysis unit 12 determines whether the analyzed first output instruction indicates a page break (S13). When the analyzed first output instruction indicates a page break, the issuing unit 13 issues the third output instruction after reissuing the first output instruction and before reissuing the second output instruction. (S14). That is, the issuing unit 13 re-issues the first output instruction for the first page, inserts and issues the third output instruction indicating the page break between the first page and the second page, and thereafter issues , Reissue a second output instruction for the second page. If it is determined in step S13 that the analyzed first output instruction does not indicate a page break, the issuing unit 13 re-issues the first output instruction, and then re-issues the second output instruction. Issue.

ここで、第1、第2及び第3の出力命令は再度、フックされない。そのため、プリンタドライバは、発行部13により発行された順序、すなわち、第1の出力命令、第3の出力命令、及び第2の出力命令の順序で受信する。そして、プリンタドライバは、第3の出力命令がページ区切りを示すことから、第3の出力命令を受信した段階で、第1の出力命令が対象とする第1のページを出力対象の1ドキュメントとして印刷ジョブを生成し、プリンタ(又はプリンタスプーラ)へ出力する。これにより、プリンタは、当該印刷ジョブに応じて第1のページを印刷できる。つまり、プリンタドライバは、第2のページを出力対象とする第2の出力命令の受信を待たずに、それまでに受信した第1の出力命令が対象とする第1のページに対する印刷ジョブの生成を開始できる。よって、本実施形態によりプリンタドライバによる印刷ジョブの発行タイミングをより速くすることができる。そのため、全ての出力命令の受信を待たずに、プリンタは速やかに印刷を開始させることができる。   Here, the first, second, and third output instructions are not hooked again. Therefore, the printer driver receives in the order issued by the issuing unit 13, that is, in the order of the first output command, the third output command, and the second output command. Then, since the third output command indicates a page break, the printer driver sets the first page targeted by the first output command as one document to be output at the stage of receiving the third output command. Generates a print job and outputs it to a printer (or printer spooler). Thus, the printer can print the first page according to the print job. That is, the printer driver generates the print job for the first page targeted by the first output command received so far without waiting for the reception of the second output command targeted for the second page output. Can start. Therefore, according to the present embodiment, the timing of issuing a print job by the printer driver can be made faster. Therefore, the printer can promptly start printing without waiting for reception of all output commands.

尚、情報処理装置1は、図示しない構成としてプロセッサ、メモリ及び記憶装置等を備えるものである。また、当該記憶装置には、本実施の形態にかかる印刷制御方法の処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムをメモリへ読み込み、当該コンピュータプログラムを実行する。これにより、情報処理装置1のプロセッサは、上述したフック部11、解析部12及び発行部13の機能を実現する。   The information processing apparatus 1 includes a processor, a memory, a storage device, and the like as a configuration (not shown). Further, the storage device stores a computer program in which the processing of the print control method according to the present embodiment is implemented. Then, the processor reads the computer program from the storage device into the memory and executes the computer program. Thereby, the processor of the information processing device 1 realizes the functions of the hook unit 11, the analyzing unit 12, and the issuing unit 13 described above.

<実施の形態2>
本実施の形態2は、上述した実施の形態1の具体的な一実施例である。ここで、前記第3の出力命令は、前記プリンタドライバに対して、発行済みの出力命令の集合を出力単位とした出力ジョブの生成を開始させる命令であることが望ましい。または、前記第3の出力命令は、前記プリンタドライバに対して、前記第1の出力命令が属するページを出力単位とした出力ジョブの生成を開始させる命令であってもよい。これらにより、プリンタドライバは、第2の出力命令を受信する前により確実に出力ジョブの生成を開始することができる。
<Embodiment 2>
The second embodiment is a specific example of the first embodiment. Here, it is preferable that the third output instruction is an instruction for instructing the printer driver to start generating an output job using a set of issued output instructions as an output unit. Alternatively, the third output instruction may be an instruction to cause the printer driver to start generating an output job using a page to which the first output instruction belongs as an output unit. Thus, the printer driver can start generating the output job more reliably before receiving the second output command.

また、前記発行部は、前記第3の出力命令として前記対象データの終了を示す終了命令を発行し、当該終了命令の発行後、かつ、前記第2の出力命令の再発行前に、前記対象データの開始を示す開始命令を発行するようにしてもよい。このように、疑似的にドキュメントの終了位置とドキュメントの開始位置を示す命令を出力することで、プリンタドライバは、各ページを異なるドキュメントとして認識でき、プリンタドライバを適切に制御できる。   Further, the issuing unit issues an end instruction indicating the end of the target data as the third output instruction, and after issuing the end instruction and before reissuing the second output instruction, A start command indicating the start of data may be issued. In this way, by outputting the commands indicating the end position of the document and the start position of the document in a pseudo manner, the printer driver can recognize each page as a different document and can appropriately control the printer driver.

また、前記解析部は、前記解析により、前記フックされた出力命令から特定のページに特有である第1の印刷設定を抽出する。そして、前記発行部は、前記第1の出力命令が前記特定のページのページ区切りを示す場合に、当該特定のページに属し、かつ、前記第3の出力命令以前の出力命令に当該第1の印刷設定を追加することが望ましい。これにより、分割された印刷ジョブ間で印刷設定の整合を取ることができる   In addition, the analysis unit extracts a first print setting specific to a specific page from the hooked output instruction by the analysis. Then, when the first output instruction indicates a page break of the specific page, the issuing unit assigns the first output instruction to an output instruction belonging to the specific page and before the third output instruction. It is desirable to add print settings. This makes it possible to match the print settings between the divided print jobs.

さらに、前記解析部は、前記解析において、前記第1の出力命令が属する第1のページと、前記第2の出力命令が属し、かつ、当該第1のページの次に出力される第2のページとの間で、前記第1の印刷設定が共通するか否かの判定をさらに行うとよい。そして、前記発行部は、前記判定により前記第1の印刷設定が共通する場合、前記第2のページに属する出力命令への当該第1の印刷設定の追加を抑止することが望ましい。このように、連続するページ間で印刷設定が重複する場合、2回目以降の印刷設定を除外することで、出力命令のデータサイズを抑制でき、スループットを向上できる。   Further, in the analysis, the analysis unit may include a first page to which the first output instruction belongs, a second page to which the second output instruction belongs, and a second page to be output next to the first page. It is preferable to further determine whether the first print setting is common to the page. Then, when the first print setting is common according to the determination, it is preferable that the issuing unit suppresses addition of the first print setting to an output command belonging to the second page. As described above, when the print settings overlap between consecutive pages, by excluding the print settings for the second and subsequent times, the data size of the output command can be suppressed, and the throughput can be improved.

さらに、前記第3の出力命令は、前記プリンタドライバにおいて前記第1の印刷設定をクリアさせる第1のクリア命令を含むものであるとよい。この場合、前記発行部は、前記判定により前記第1の印刷設定が共通する場合、前記第1のページに属する前記第3の出力命令から前記第1のクリア命令を除外して当該第3の出力命令を発行するとよい。これにより、連続するページ間で印刷設定が重複する場合、プリンタドライバ又はプリンタにおいて一時的に保持されている受信済みの印刷設定を再利用して後続の印刷ジョブを生成できるため、印刷ジョブの生成効率を向上できる。   Further, the third output instruction may include a first clear instruction for clearing the first print setting in the printer driver. In this case, the issuing unit excludes the first clear command from the third output command belonging to the first page and removes the third clear command from the third output command if the first print setting is common according to the determination. Issue an output instruction. Accordingly, when print settings overlap between consecutive pages, the received print settings temporarily stored in the printer driver or the printer can be reused to generate a subsequent print job. Efficiency can be improved.

また、前記解析部は、前記解析により、前記フックされた出力命令から前記対象データの全体に対する第2の印刷設定を抽出する。その場合、前記第3の出力命令は、前記プリンタドライバにおいて前記第2の印刷設定をクリアさせる第2のクリア命令を含むものである。この場合、前記発行部は、前記第3の出力命令から前記第2のクリア命令を除外して当該第3の出力命令を発行するとよい。これにより、プリンタドライバにおいて、第3の出力命令によりページ単位に印刷ジョブを生成したとしても、印刷ジョブ間で印刷設定を共有でき、印刷ジョブの生成効率を向上できる。   Further, the analysis unit extracts a second print setting for the entire target data from the hooked output instruction by the analysis. In that case, the third output command includes a second clear command for clearing the second print setting in the printer driver. In this case, the issuing unit may issue the third output instruction by excluding the second clear instruction from the third output instruction. As a result, even if a print job is generated for each page by the third output command in the printer driver, print settings can be shared between print jobs, and print job generation efficiency can be improved.

また、前記発行部は、前記第2の出力命令が前記対象データの終了を示す終了命令である場合、当該第2の出力命令の再発行を抑止するとよい。これにより、プリンタドライバは、不要な終了命令の受信がなくなり、不要な処理を抑制できる。   Further, when the second output instruction is an end instruction indicating the end of the target data, the issuing unit may suppress re-issuance of the second output instruction. As a result, the printer driver does not receive an unnecessary end command, and can suppress unnecessary processing.

図3は、本実施の形態2にかかる情報処理装置100の構成を示すブロック図である。情報処理装置100は、上述した情報処理装置1の一例であり、プリンタ200と接続されたコンピュータ装置である。情報処理装置100は、制御装置110と、記憶装置120とを備える。記憶装置120は、揮発性又は不揮発性の記憶装置である。記憶装置120は、プログラム121及びフック済み出力命令122等を記憶する。プログラム121は、本実施の形態2にかかる印刷制御方法の処理が実装されたコンピュータプログラムである。フック済み出力命令122は、後述するように、アプリケーション部111により発行された出力命令が印刷制御部112によりフックされた命令である。尚、記憶装置120は、例えば、ハードディスク、フラッシュメモリ等の不揮発性記憶装置又はROM(Read Only Memory)等が挙げられるがこれらに限定されない。   FIG. 3 is a block diagram illustrating a configuration of the information processing apparatus 100 according to the second embodiment. The information processing device 100 is an example of the information processing device 1 described above, and is a computer device connected to the printer 200. The information processing device 100 includes a control device 110 and a storage device 120. The storage device 120 is a volatile or nonvolatile storage device. The storage device 120 stores a program 121, a hooked output instruction 122, and the like. The program 121 is a computer program in which the processing of the print control method according to the second embodiment is implemented. The hooked output command 122 is a command in which an output command issued by the application unit 111 is hooked by the print control unit 112, as described later. The storage device 120 includes, for example, a non-volatile storage device such as a hard disk and a flash memory, or a ROM (Read Only Memory), but is not limited thereto.

制御装置110は、プロセッサ等の制御回路である。制御装置110は、記憶装置120からプログラム121をメモリ(不図示)に読み出して実行する。これにより、制御装置110は、印刷制御部112として機能する。また、制御装置110は、所定のアプリケーションプログラム(不図示)を実行することによりアプリケーション部111を実現する。また、制御装置110は、OS(不図示)を実行することによりOS部113を実現する。   The control device 110 is a control circuit such as a processor. The control device 110 reads out the program 121 from the storage device 120 to a memory (not shown) and executes it. Accordingly, the control device 110 functions as the print control unit 112. Further, the control device 110 realizes the application unit 111 by executing a predetermined application program (not shown). Further, the control device 110 realizes the OS unit 113 by executing an OS (not shown).

アプリケーション部111は、例えば、GDI(Graphics Device Interface)アプリケーションである。尚、アプリケーション部111は、公知のソフトウェアであってもよい。よって、アプリケーション部111は、ユーザの操作に応じてドキュメント等を作成し、ユーザからの当該ドキュメントの印刷要求(出力要求)に応じて、複数のGDI関数を呼び出して出力命令をOS部113に向けて発行する。   The application unit 111 is, for example, a GDI (Graphics Device Interface) application. Note that the application unit 111 may be known software. Therefore, the application unit 111 creates a document or the like in response to a user operation, calls a plurality of GDI functions in response to a print request (output request) for the document from the user, and directs the OS unit 113 to output commands. Issue.

OS部113は、公知のOSであってもよい。OS部113は、プリンタドライバ1131と、プリントスプーラ1132とを備える。プリンタドライバ1131は、アプリケーション部111から発行された出力命令を受信し、印刷ジョブを生成し、印刷ジョブをプリントスプーラ1132へ出力するデバイスドライバである。プリンタドライバ1131は、例えば、V4プリンタドライバである。   The OS unit 113 may be a known OS. The OS unit 113 includes a printer driver 1131 and a print spooler 1132. The printer driver 1131 is a device driver that receives an output command issued from the application unit 111, generates a print job, and outputs the print job to the print spooler 1132. The printer driver 1131 is, for example, a V4 printer driver.

プリントスプーラ1132は、プリンタドライバ1131から出力された印刷ジョブをFIFO(First−In First−Out)で管理するメッセージキューである。そして、プリントスプーラ1132は、印刷ジョブを登録順にプリンタ200へ出力する。   The print spooler 1132 is a message queue that manages a print job output from the printer driver 1131 by FIFO (First-In First-Out). Then, the print spooler 1132 outputs the print jobs to the printer 200 in the order of registration.

図4は、本実施の形態2にかかる印刷制御部112の構成を示すブロック図である。印刷制御部112は、フック部1121、解析部1122及び発行部1123を備える。フック部1121は、上述したフック部11の一例であり、アプリケーション部111を監視し、アプリケーション部111が発行した出力命令をフックする。解析部1122は、上述した解析部12の一例であり、フック部1121によりフックされた出力命令を解析する。発行部1123は、上述した発行部13の一例であり、解析部1122により解析結果に応じて出力命令の再発行や新規命令の追加発行を行う。   FIG. 4 is a block diagram illustrating a configuration of the print control unit 112 according to the second embodiment. The print control unit 112 includes a hook unit 1121, an analysis unit 1122, and an issuing unit 1123. The hook unit 1121 is an example of the hook unit 11 described above, monitors the application unit 111, and hooks an output command issued by the application unit 111. The analysis unit 1122 is an example of the analysis unit 12 described above, and analyzes an output instruction hooked by the hook unit 1121. The issuing unit 1123 is an example of the issuing unit 13 described above, and re-issues an output instruction or additionally issues a new instruction according to the analysis result by the analyzing unit 1122.

ここで、本実施形態が解決する課題を説明するために、本実施形態を用いない場合の印刷処理について説明する。図5は、V4プリンタドライバを用いた印刷処理の概念を説明するための図である。ここで、GDIアプリ111aはアプリケーション部111の一例であり、V4プリンタドライバ1131aはプリンタドライバ1131の一例である。   Here, in order to explain a problem to be solved by the present embodiment, a printing process when the present embodiment is not used will be described. FIG. 5 is a diagram for explaining the concept of print processing using a V4 printer driver. Here, the GDI application 111a is an example of the application unit 111, and the V4 printer driver 1131a is an example of the printer driver 1131.

まず、GDIアプリ111aは、出力命令としてStartDocを発行する(S900)。そして、V4プリンタドライバ1131aは、StartDocを受信する。続いて、GDIアプリ111aは、1ページ目に関する一連の出力命令を発行する(S901)。そして、V4プリンタドライバ1131aは、1ページ目に関する出力命令を順次、受信する。但し、V4プリンタドライバ1131aは、この時点では、EndDocを受信していないため、印刷ジョブの生成を開始しない。   First, the GDI application 111a issues a StartDoc as an output command (S900). Then, the V4 printer driver 1131a receives the StartDoc. Next, the GDI application 111a issues a series of output commands for the first page (S901). Then, the V4 printer driver 1131a sequentially receives the output commands for the first page. However, at this point, the V4 printer driver 1131a does not start generating a print job because EndDoc has not been received.

その後、GDIアプリ111aは、2ページ目からNページ目に関する一連の出力命令を順次、発行する(S902、S903)。そして、V4プリンタドライバ1131aは、2ページ目からNページ目に関する出力命令を順次、受信する。そして、GDIアプリ111aは、出力対象のドキュメントの終了を示すEndDocを発行する(S904)。そして、V4プリンタドライバ1131aは、EndDocを受信する。V4プリンタドライバ1131aは、EndDocの受信に応じて、印刷ジョブの生成を開始するために初期化処理を行う(S911)。そして、V4プリンタドライバ1131aは、受信済みの1ページ目の出力命令群を対象にXPS(XML(Extensible Markup Language) Paper Specification)解析を行い(S912)、コマンド化を行う(S913)。つまり、V4プリンタドライバ1131aは、印刷対象のドキュメントの全ページ分の出力命令を全て受信した後に、1ページ目の印刷ジョブの生成を開始する。続いて、V4プリンタドライバ1131aは、受信済みの2ページ目以降の出力命令群を対象に、ページごとにXPS解析及びコマンド化を繰り返して(S914)、XPSファイルを生成する。そして、V4プリンタドライバ1131aは、生成した全ページ分のXPSファイルをプリントスプーラ1132へ格納する(S915)。その後、プリンタ200は、プリントスプーラ1132から出力されるXPSファイルに応じて印刷を行い、出力用紙210として出力する。   Thereafter, the GDI application 111a sequentially issues a series of output commands for the second to Nth pages (S902, S903). Then, the V4 printer driver 1131a sequentially receives output commands for the second to Nth pages. Then, the GDI application 111a issues an EndDoc indicating the end of the document to be output (S904). Then, the V4 printer driver 1131a receives the EndDoc. In response to receiving the EndDoc, the V4 printer driver 1131a performs an initialization process to start generating a print job (S911). Then, the V4 printer driver 1131a analyzes the Extensible Markup Language (XML) Paper Specification (XPS) for the output command group of the received first page (S912), and converts it into a command (S913). That is, the V4 printer driver 1131a starts generating a print job for the first page after receiving all output commands for all pages of the document to be printed. Next, the V4 printer driver 1131a repeats the XPS analysis and command conversion for each page of the output command group of the received second and subsequent pages (S914) to generate the XPS file. Then, the V4 printer driver 1131a stores the generated XPS files for all pages in the print spooler 1132 (S915). After that, the printer 200 performs printing in accordance with the XPS file output from the print spooler 1132, and outputs it as output paper 210.

図5に示すように、V4プリンタドライバ1131aは、EndDocを受信するまで印刷ジョブの生成を開始できない。つまり、V4プリンタドライバ1131aは、印刷対象のドキュメントの全てのページに対する出力命令を受信し終えた後に、1ページ目から順番に印刷ジョブの生成を開始する。よって、GDIアプリ111aがStartDocを発行してからV4プリンタドライバ1131aが印刷ジョブの生成を開始するまで時間t1を要する。そして、プリンタ200が1ページ目の出力用紙210の印刷を開始するまでに時間t2を要する。   As shown in FIG. 5, the V4 printer driver 1131a cannot start generating a print job until receiving EndDoc. That is, the V4 printer driver 1131a starts generating print jobs in order from the first page after receiving output instructions for all pages of the document to be printed. Therefore, it takes time t1 from when the GDI application 111a issues the StartDoc to when the V4 printer driver 1131a starts generating a print job. Then, time t2 is required until the printer 200 starts printing the first page of the output paper 210.

そこで、本実施形態では、アプリケーション部111とプリンタドライバ1131の間に印刷制御部112を介在させて、印刷制御部112がページ単位にEndDocを挿入して発行するものである。これにより、プリンタドライバ1131に対して疑似的にドキュメント単位の出力命令の発行が完了したものと認識させて、プリンタドライバ1131における1ページ目の印刷ジョブの生成開始を速くすることができる。   Therefore, in the present embodiment, the print control unit 112 is interposed between the application unit 111 and the printer driver 1131, and the print control unit 112 inserts and issues EndDoc in page units. This makes it possible for the printer driver 1131 to recognize that the issuance of the output instruction in the unit of a document has been completed in a pseudo manner, thereby speeding up the generation of the first page print job in the printer driver 1131.

図6は、本実施の形態2にかかる印刷制御方法の流れを示すフローチャートである。まず前提として、印刷制御部112には、ユーザにより予め監視対象のアプリケーション部111が設定済みであるものとする。   FIG. 6 is a flowchart illustrating the flow of the print control method according to the second embodiment. First, it is assumed that an application unit 111 to be monitored has been set in the print control unit 112 in advance by a user.

そこで、フック部1121は、アプリケーション部111が発行する出力命令を監視する(S101)。そして、フック部1121は、アプリケーション部111が発行した出力命令をフックする(S102)。尚、ここでは、最初の出力命令であることから、印刷対象の開始命令(StarDoc等)が出力命令としてフックされたものとする。そして、解析部1122は、フックした出力命令を解析して、印刷対象の開始命令であると判定して、初期化処理を行う(S103)。   Thus, the hook unit 1121 monitors an output command issued by the application unit 111 (S101). Then, the hook unit 1121 hooks the output command issued by the application unit 111 (S102). Here, since this is the first output command, it is assumed that a print target start command (such as StarDoc) has been hooked as an output command. Then, the analyzing unit 1122 analyzes the hooked output command, determines that the output command is a print target start command, and performs an initialization process (S103).

続いて、フック部1121は、後続の出力命令を順次、フックする(S104)。そして、解析部1122は、フックされた出力命令を解析し、フック済み出力命令122として記憶装置120に蓄積する(S105)。このとき、解析部1122は、出力命令から印刷設定を抽出し、当該印刷設定がドキュメント全体か、ページに特有かなどを判定する。また、解析部1122は、抽出した印刷設定を記憶装置120に保存してもよい。   Subsequently, the hook unit 1121 sequentially hooks subsequent output instructions (S104). Then, the analyzing unit 1122 analyzes the hooked output command and stores the hooked output command in the storage device 120 as the hooked output command 122 (S105). At this time, the analysis unit 1122 extracts the print setting from the output command and determines whether the print setting is specific to the entire document or a page. Further, the analysis unit 1122 may store the extracted print settings in the storage device 120.

そして、解析部1122は、解析により出力命令が1ページの終了(ページ区切り)を示すか否かを判定する(S106)。このとき、出力命令が1ページの終了を示さなければ、ステップS104へ戻り、以降、繰り返す。一方、出力命令が1ページの終了を示す場合、例えば、出力命令がEndPageの場合、発行部1123は、記憶装置120に蓄積されたフック済み出力命令122群についてプリンタドライバ1131に向けて発行する(S107)。すなわち、発行部1123は、記憶装置120から蓄積順にフック済み出力命令122を読み出して発行する。このとき、発行部1123は、上記で抽出した印刷設定を適宜、出力命令に追加してもよい。例えば、印刷設定がページに特有のもの(用紙情報、例えば用紙サイズや用紙方向等)である場合、発行部1123は、StartPageに当該印刷設定を追加する。尚、上述した通り、発行部1123としては出力命令を新規に発行するものであるが、フック済み出力命令122は、アプリケーション部111において発行済みであるため、ステップS107の発行をフック済み出力命令122の「再発行」と表現してもよい。尚、発行部1123は、記憶装置120に蓄積されたフック済み出力命令122を発行後に削除するものとする。   Then, the analyzing unit 1122 determines whether or not the output instruction indicates the end of one page (page break) by analysis (S106). At this time, if the output command does not indicate the end of one page, the process returns to step S104 and repeats thereafter. On the other hand, when the output instruction indicates the end of one page, for example, when the output instruction is EndPage, the issuing unit 1123 issues the group of hooked output instructions 122 stored in the storage device 120 to the printer driver 1131 ( S107). That is, the issuing unit 1123 reads and issues the hooked output instructions 122 from the storage device 120 in the order of accumulation. At this time, the issuing unit 1123 may appropriately add the print settings extracted as described above to the output instruction. For example, if the print settings are specific to the page (paper information, such as paper size and paper direction), the issuing unit 1123 adds the print settings to StartPage. As described above, the issuing unit 1123 newly issues an output instruction. Since the hooked output instruction 122 has been issued in the application unit 111, the issuing of the hooked output instruction 122 is performed in step S107. May be expressed as “reissue”. It is assumed that the issuing unit 1123 deletes the hooked output instruction 122 stored in the storage device 120 after issuing it.

続いて、発行部1123は、印刷対象の終了命令を発行する(S108)。例えば、ステップS107の最後に発行された出力命令がEndPageの場合、発行部1123は、新規にEndDocを終了命令として追加して発行する。   Next, the issuing unit 1123 issues a print target end command (S108). For example, when the output instruction issued last in step S107 is EndPage, the issuing unit 1123 newly issues EndDoc as an end instruction and issues it.

その後、フック部1121は、次の出力命令をフックする(S109)。そして、解析部1122は、ステップS105と同様に、フックした出力命令を解析し、フック済み出力命令122として記憶装置120に蓄積する(S110)。尚、ステップS109でフックされる出力命令は、次ページの開始命令であるStartPageか、次ページがなければドキュメントの終了を示すEndDocとなる。   Thereafter, the hook unit 1121 hooks the next output instruction (S109). Then, the analysis unit 1122 analyzes the hooked output instruction and stores it in the storage device 120 as the hooked output instruction 122, as in step S105 (S110). The output command hooked in step S109 is StartPage, which is a start command for the next page, or EndDoc indicating the end of the document if there is no next page.

そして、解析部1122は、解析により出力命令が印刷対象の終了(対象データの出力の区切り)を示すか否かを判定する(S111)。このとき、出力命令が印刷対象の終了を示さなければ、発行部1123は、印刷対象の開始命令(StartDoc)を発行する(S112)。つまり、ステップS109でフックされた出力命令(StartPage)は蓄積されており、StartPageが再発行される前に、発行部1123は、StartDocを挿入して発行する。このとき、発行部1123は、上記で抽出した印刷設定を適宜、出力命令に追加してもよい。例えば、印刷設定がドキュメント全体を対象としたものである場合、発行部1123は、StartDocに当該印刷設定を追加する。以後、ステップS104へ戻り、以降、繰り返す。そのため、ステップS106において2ページ目のEndPageが検出された場合に、前回のステップS109でフック済みの2ページ目のStartPageから順番に、2ページ目の出力命令が順次、ステップS107において再発行される。その後、ステップS108において2ページ目のEndDocが新規に挿入されて発行される。そして、ステップS109においてEndDocがフックされた場合にはステップS111で印刷対象の終了であると判定され、印刷制御部112は終了処理を行う(S113)。つまり、最後のステップS109においてフックされたEndDocは、再発行されない。   Then, the analysis unit 1122 determines whether or not the output instruction indicates the end of the print target (a break of the output of the target data) by analysis (S111). At this time, if the output instruction does not indicate the end of the print target, the issuing unit 1123 issues a start instruction (StartDoc) of the print target (S112). That is, the output instruction (StartPage) hooked in step S109 is stored, and before the StartPage is reissued, the issuing unit 1123 inserts and issues the StartDoc. At this time, the issuing unit 1123 may appropriately add the print settings extracted as described above to the output instruction. For example, when the print setting is for the entire document, the issuing unit 1123 adds the print setting to the StartDoc. Thereafter, the process returns to step S104, and thereafter, is repeated. Therefore, when the EndPage of the second page is detected in step S106, the output instructions of the second page are sequentially reissued in step S107, starting from the StartPage of the second page hooked in the previous step S109. . Then, in step S108, the EndDoc of the second page is newly inserted and issued. If EndDoc is hooked in step S109, it is determined in step S111 that the printing target is to be ended, and the print control unit 112 performs end processing (S113). That is, EndDoc hooked in the last step S109 is not reissued.

図7は、本実施の形態2にかかる情報処理装置とV4プリンタドライバを用いた印刷処理の概念を説明するための図である。まず、GDIアプリ111aは、出力命令としてStartDocを発行する(S200)。このとき、印刷制御部112は、StartDocをフックし、初期化処理を行う(S210)。また、印刷制御部112がフックするため、この段階ではV4プリンタドライバ1131aはStartDocを受信しない。   FIG. 7 is a diagram for explaining the concept of print processing using the information processing apparatus according to the second embodiment and a V4 printer driver. First, the GDI application 111a issues a StartDoc as an output command (S200). At this time, the print control unit 112 hooks the StartDoc and performs an initialization process (S210). Also, since the print control unit 112 hooks, the V4 printer driver 1131a does not receive the StartDoc at this stage.

続いて、GDIアプリ111aは、1ページ目に関する一連の出力命令を発行する(S201)。そして、印刷制御部112は、1ページ目に関する一連の出力命令をフックし、1ページ目のEndPageをフックした後に、1ページ目に関する一連の出力命令をV4プリンタドライバ1131aに発行する(S211)。その際、1ページ目のEndPageを発行した後に、印刷制御部112は、EndDocを挿入して発行する。   Subsequently, the GDI application 111a issues a series of output commands for the first page (S201). Then, the print control unit 112 hooks a series of output commands for the first page, issues an EndPage for the first page, and then issues a series of output commands for the first page to the V4 printer driver 1131a (S211). At this time, after issuing the EndPage of the first page, the print control unit 112 inserts and issues EndDoc.

これに応じて、V4プリンタドライバ1131aは、1ページ目に関する一連の出力命令を受信し、初期化を開始する(S221)。続いて、V4プリンタドライバ1131aは、1ページ目に関する一連の出力命令を対象にXPS解析(S222)及びコマンド化(S223)を行い、印刷ジョブとして1ページ目のXPSファイル131をプリントスプーラ1132に出力する。その後、プリンタ200は、プリントスプーラ1132から出力されるXPSファイル131(S241)に応じて印刷を行い、出力用紙211として出力する。   In response, the V4 printer driver 1131a receives a series of output commands for the first page and starts initialization (S221). Subsequently, the V4 printer driver 1131a performs an XPS analysis (S222) and a command (S223) on a series of output commands related to the first page, and outputs the XPS file 131 of the first page to the print spooler 1132 as a print job. I do. Thereafter, the printer 200 performs printing in accordance with the XPS file 131 (S241) output from the print spooler 1132, and outputs the output paper 211.

ステップS201の後、GDIアプリ111aは、2ページ目に関する一連の出力命令を発行する(S202)。そして、印刷制御部112は、2ページ目のStartPageをフックした後、当該StartPageを再発行する前に、StartDocを挿入して発行する。そして、印刷制御部112は、2ページ目に関する一連の出力命令をフックし、2ページ目のEndPageをフックした後に、2ページ目に関する一連の出力命令(StartPageからEndPage)をV4プリンタドライバ1131aに発行する(S212)。その際、2ページ目のEndPageを発行した後に、印刷制御部112は、EndDocを挿入して発行する。   After step S201, the GDI application 111a issues a series of output commands for the second page (S202). Then, after hooking the StartPage of the second page, the print control unit 112 inserts and issues a StartDoc before reissuing the StartPage. Then, the print control unit 112 hooks a series of output commands for the second page, issues an EndPage for the second page, and issues a series of output commands (StartPage to EndPage) for the second page to the V4 printer driver 1131a. (S212). At that time, after issuing the EndPage for the second page, the print control unit 112 inserts and issues EndDoc.

これに応じて、V4プリンタドライバ1131aは、2ページ目に関する一連の出力命令を受信し、初期化を開始する(S224)。続いて、V4プリンタドライバ1131aは、2ページ目に関する一連の出力命令を対象にXPS解析(S225)及びコマンド化(S226)を行い、印刷ジョブとして2ページ目のXPSファイル132をプリントスプーラ1132に出力する。その後、プリンタ200は、プリントスプーラ1132から出力されるXPSファイル132(S242)に応じて印刷を行い、出力用紙212として出力する。   In response, the V4 printer driver 1131a receives a series of output commands for the second page and starts initialization (S224). Subsequently, the V4 printer driver 1131a performs XPS analysis (S225) and commandization (S226) on a series of output commands related to the second page, and outputs the XPS file 132 on the second page to the print spooler 1132 as a print job. I do. After that, the printer 200 performs printing in accordance with the XPS file 132 (S242) output from the print spooler 1132, and outputs it as the output paper 212.

以降、同様に、GDIアプリ111aは、Nページ目に関する一連の出力命令を発行し(S203)、印刷制御部112は、Nページ目のStartPageをフックした後、当該StartPageを再発行する前に、StartDocを挿入して発行する。そして、印刷制御部112は、Nページ目に関する一連の出力命令をフックし、Nページ目のEndPageをフックした後に、Nページ目に関する一連の出力命令(StartPageからEndPage)をV4プリンタドライバ1131aに発行する(S213)。その際、Nページ目のEndPageを発行した後に、印刷制御部112は、EndDocを挿入して発行する。   Thereafter, similarly, the GDI application 111a issues a series of output commands for the Nth page (S203), and the print control unit 112 hooks the StartPage of the Nth page, and before re-issuing the StartPage, StartDoc is inserted and issued. Then, the print control unit 112 hooks a series of output commands for the Nth page, issues an EndPage for the Nth page, and then issues a series of output commands for the Nth page (StartPage to EndPage) to the V4 printer driver 1131a. (S213). At this time, after issuing the EndPage of the Nth page, the print control unit 112 inserts and issues EndDoc.

これに応じて、V4プリンタドライバ1131aは、Nページ目に関する一連の出力命令を受信し、初期化を開始する(S227)。続いて、V4プリンタドライバ1131aは、Nページ目に関する一連の出力命令を対象にXPS解析(S228)及びコマンド化(S229)を行い、印刷ジョブとしてNページ目のXPSファイル133をプリントスプーラ1132に出力する。その後、プリンタ200は、プリントスプーラ1132から出力されるXPSファイル133(S243)に応じて印刷を行い、出力用紙213として出力する。   In response, the V4 printer driver 1131a receives a series of output commands for the Nth page and starts initialization (S227). Subsequently, the V4 printer driver 1131a performs XPS analysis (S228) and commandization (S229) on a series of output commands for the Nth page, and outputs the XPS file 133 of the Nth page to the print spooler 1132 as a print job. I do. After that, the printer 200 performs printing in accordance with the XPS file 133 (S243) output from the print spooler 1132, and outputs it as output paper 213.

ステップS203の後、GDIアプリ111aは、印刷対象の終了を示すEndDocを出力命令として発行する(S204)。そして、印刷制御部112は、EndDocをフックした後、終了処理を行う(S214)。尚、このとき、印刷制御部112は、フックしたEndDocの再発行を行わない。   After step S203, the GDI application 111a issues EndDoc indicating the end of the print target as an output command (S204). Then, after hooking the EndDoc, the print control unit 112 performs an end process (S214). At this time, the print control unit 112 does not reissue the hooked EndDoc.

図7に示すように、GDIアプリ111aがStartDocを発行してからV4プリンタドライバ1131aが1ページ目の印刷ジョブの生成を開始するまで時間t3を要する。そして、時間t3は、図5に示した時間t1より短いことを示す。よって、本実施形態により、プリンタドライバによる印刷ジョブの発行タイミングをより速くすることができる。また、プリンタ200が1ページ目の出力用紙211の印刷を開始するまでに時間t4を要する。そして、時間t4は、図5に示した時間t2より短いことを示す。よって、1ページ目をより速く印刷することができる。   As shown in FIG. 7, a time t3 is required from when the GDI application 111a issues the StartDoc to when the V4 printer driver 1131a starts generating the first page print job. The time t3 indicates that it is shorter than the time t1 shown in FIG. Therefore, according to the present embodiment, it is possible to further increase the timing of issuing a print job by the printer driver. Further, time t4 is required until the printer 200 starts printing the output paper 211 of the first page. Then, the time t4 is shorter than the time t2 shown in FIG. Therefore, the first page can be printed faster.

<その他の実施の形態>
上述した各実施形態は、Windows OSのプリントスプーラ及びV4プリンタドライバを利用する印刷システムに対し、適用可能である。また、上述した各実施形態は、V4プリンタドライバと同様の印刷処理、つまり全ての出力命令を受け付けたあとで、プリントスプーラに印刷実行を要求するようなアプリケーションに対しても適用可能である。また、上述した各実施形態は、V4プリンタドライバのXPSファイル出力だけでなく、ファイル最終まで印刷が開始不可となるようなPDF(Portable Document Format)を出力する場合も適用可能であり、同様の効果を奏する。
<Other embodiments>
Each of the embodiments described above is applicable to a print system using a print spooler of the Windows OS and a V4 printer driver. Further, each of the above-described embodiments is also applicable to an application that requests the print spooler to execute printing after accepting all output commands after performing the same printing process as the V4 printer driver. The embodiments described above can be applied not only to the output of the XPS file of the V4 printer driver but also to the case of outputting a PDF (Portable Document Format) in which printing cannot be started until the end of the file. To play.

尚、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、CPUにコンピュータプログラムを実行させることにより実現することも可能である。   In the above-described embodiment, the description has been given as a hardware configuration, but the present invention is not limited to this. The present disclosure can also realize any processing by causing a CPU to execute a computer program.

上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   In the above example, the program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media are magnetic recording media (eg, flexible disk, magnetic tape, hard disk drive), magneto-optical recording media (eg, magneto-optical disk), CD-ROM (Read Only Memory), CD-R, CD-R / W, DVD (Digital Versatile Disc), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)). Also, the program may be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to a computer via a wired communication line such as an electric wire and an optical fiber, or a wireless communication line.

なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。   The present disclosure is not limited to the above embodiment, and can be appropriately modified without departing from the gist. In addition, the present disclosure may be implemented by appropriately combining the embodiments.

上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記A1)
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックするフック部と、
前記フックされた出力命令を解析する解析部と、
前記解析された出力命令を前記プリンタドライバに向けて再発行する発行部と、
を備え、
前記発行部は、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令の再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する
情報処理装置。
(付記A2)
前記第3の出力命令は、前記プリンタドライバに対して、発行済みの出力命令の集合を出力単位とした出力ジョブの生成を開始させる命令である、
付記A1に記載の情報処理装置。
(付記A3)
前記第3の出力命令は、前記プリンタドライバに対して、前記第1の出力命令が属するページを出力単位とした出力ジョブの生成を開始させる命令である、
付記A1又はA2に記載の情報処理装置。
(付記A4)
前記発行部は、
前記第3の出力命令として前記対象データの終了を示す終了命令を発行し、
当該終了命令の発行後、かつ、前記第2の出力命令の再発行前に、前記対象データの開始を示す開始命令を発行する
付記A1乃至A3のいずれか1項に記載の情報処理装置。
(付記A5)
前記解析部は、
前記解析により、前記フックされた出力命令から特定のページに特有である第1の印刷設定を抽出し、
前記発行部は、
前記第1の出力命令が前記特定のページのページ区切りを示す場合に、当該特定のページに属し、かつ、前記第3の出力命令以前の出力命令に当該第1の印刷設定を追加する
付記A1乃至A4のいずれか1項に記載の情報処理装置。
(付記A6)
前記解析部は、
前記解析において、前記第1の出力命令が属する第1のページと、前記第2の出力命令が属し、かつ、当該第1のページの次に出力される第2のページとの間で、前記第1の印刷設定が共通するか否かの判定をさらに行い、
前記発行部は、
前記判定により前記第1の印刷設定が共通する場合、前記第2のページに属する出力命令への当該第1の印刷設定の追加を抑止する
付記A5に記載の情報処理装置。
(付記A7)
前記第3の出力命令は、
前記プリンタドライバにおいて前記第1の印刷設定をクリアさせる第1のクリア命令を含むものであり、
前記発行部は、
前記判定により前記第1の印刷設定が共通する場合、前記第1のページに属する前記第3の出力命令から前記第1のクリア命令を除外して当該第3の出力命令を発行する
付記A6に記載の情報処理装置。
(付記A8)
前記解析部は、
前記解析により、前記フックされた出力命令から前記対象データの全体に対する第2の印刷設定を抽出し、
前記第3の出力命令は、
前記プリンタドライバにおいて前記第2の印刷設定をクリアさせる第2のクリア命令を含むものであり、
前記発行部は、
前記第3の出力命令から前記第2のクリア命令を除外して当該第3の出力命令を発行する
付記A1乃至A7のいずれか1項に記載の情報処理装置。
(付記A9)
前記発行部は、
前記第2の出力命令が前記対象データの終了を示す終了命令である場合、当該第2の出力命令の再発行を抑止する
付記A1乃至A8のいずれか1項に記載の情報処理装置。
(付記B1)
コンピュータが、
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックし、
前記フックされた出力命令を解析し、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する
印刷制御方法。
(付記C1)
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックする処理と、
前記フックされた出力命令を解析する処理と、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する処理と、
をコンピュータに実行させる印刷制御プログラム。
Some or all of the above embodiments may be described as in the following supplementary notes, but are not limited thereto.
(Appendix A1)
A hook unit for hooking a series of output instructions issued to the printer driver to output target data of the output request;
An analyzer for analyzing the hooked output instruction;
An issuing unit for reissuing the analyzed output instruction toward the printer driver;
With
The issuing unit,
When the analyzed first output instruction indicates a page break, after the re-issue of the first output instruction and before the re-issue of the second output instruction for the next page, the output of the target data is output. An information processing apparatus for issuing a third output instruction indicating a break to the printer driver.
(Appendix A2)
The third output instruction is an instruction for causing the printer driver to start generating an output job using a set of issued output instructions as an output unit.
The information processing device according to supplementary note A1.
(Appendix A3)
The third output instruction is an instruction for instructing the printer driver to start generating an output job with the page to which the first output instruction belongs as an output unit.
The information processing device according to supplementary note A1 or A2.
(Appendix A4)
The issuing unit,
Issuing an end instruction indicating the end of the target data as the third output instruction;
The information processing apparatus according to any one of supplementary notes A1 to A3, which issues a start instruction indicating the start of the target data after issuing the end instruction and before reissuing the second output instruction.
(Appendix A5)
The analysis unit,
Extracting, by the analysis, a first print setting specific to a specific page from the hooked output instruction;
The issuing unit,
When the first output instruction indicates a page break of the specific page, the first print setting belongs to the specific page and is added to an output instruction before the third output instruction. Appendix A1 The information processing device according to any one of A to A4.
(Appendix A6)
The analysis unit,
In the analysis, between the first page to which the first output instruction belongs and the second page to which the second output instruction belongs and is output next to the first page, Further determining whether the first print settings are common,
The issuing unit,
The information processing device according to supplementary note A5, wherein when the first print settings are common as a result of the determination, addition of the first print settings to an output command belonging to the second page is suppressed.
(Appendix A7)
The third output instruction is:
The printer driver includes a first clear command for clearing the first print setting,
The issuing unit,
If the first print settings are common as a result of the determination, the third output instruction is issued by excluding the first clear instruction from the third output instructions belonging to the first page. An information processing apparatus according to claim 1.
(Appendix A8)
The analysis unit,
By the analysis, a second print setting for the entire target data is extracted from the hooked output instruction,
The third output instruction is:
A second clear command for clearing the second print setting in the printer driver;
The issuing unit,
The information processing apparatus according to any one of supplementary notes A1 to A7, wherein the third output instruction is issued by excluding the second clear instruction from the third output instruction.
(Appendix A9)
The issuing unit,
The information processing device according to any one of supplementary notes A1 to A8, wherein when the second output instruction is an end instruction indicating the end of the target data, reissue of the second output instruction is suppressed.
(Appendix B1)
Computer
Hook a series of output instructions issued to the printer driver to output the target data of the output request,
Analyzing the hooked output instruction,
If the analyzed first output instruction indicates a page break, after re-issuing the first output instruction to the printer driver and before re-issuing the second output instruction for the next page, A print control method for issuing, to the printer driver, a third output instruction indicating a break of output of the target data.
(Appendix C1)
Hooking a series of output instructions issued to the printer driver to output the target data of the output request;
Analyzing the hooked output instruction;
If the analyzed first output instruction indicates a page break, after reissuing the first output instruction to the printer driver and before reissuing the second output instruction for the next page, A process of issuing a third output command indicating a break of output of the target data to the printer driver;
Print control program that causes a computer to execute

1 情報処理装置
11 フック部
12 解析部
13 発行部
100 情報処理装置
110 制御装置
111 アプリケーション部
112 印刷制御部
1121 フック部
1122 解析部
1123 発行部
113 OS部
1131 プリンタドライバ
1132 プリントスプーラ
120 記憶装置
121 プログラム
122 フック済み出力命令
200 プリンタ
210 出力用紙
211 出力用紙
212 出力用紙
213 出力用紙
111a GDIアプリ
1131a V4プリンタドライバ
131 XPSファイル
132 XPSファイル
133 XPSファイル
t1 時間
t2 時間
t3 時間
t4 時間
REFERENCE SIGNS LIST 1 information processing device 11 hook unit 12 analysis unit 13 issuing unit 100 information processing device 110 control device 111 application unit 112 print control unit 1121 hook unit 1122 analysis unit 1123 issuing unit 113 OS unit 1131 printer driver 1132 print spooler 120 storage device 121 program 122 Hooked output command 200 Printer 210 Output paper 211 Output paper 212 Output paper 213 Output paper 111a GDI application 1131a V4 printer driver 131 XPS file 132 XPS file 133 XPS file t1 time t2 time t3 time t4 time

Claims (8)

出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックするフック部と、
前記フックされた出力命令を解析する解析部と、
前記解析された出力命令を前記プリンタドライバに向けて再発行する発行部と、
を備え、
前記発行部は、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令の再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行し、
前記解析部は、
前記解析により、前記フックされた出力命令から特定のページに特有である第1の印刷設定を抽出し、
前記発行部は、
前記第1の出力命令が前記特定のページのページ区切りを示す場合に、当該特定のページに属し、かつ、前記第3の出力命令以前の出力命令に当該第1の印刷設定を追加し、
前記解析部は、
前記解析において、前記第1の出力命令が属する第1のページと、前記第2の出力命令が属し、かつ、当該第1のページの次に出力される第2のページとの間で、前記第1の印刷設定が共通するか否かの判定をさらに行い、
前記発行部は、
前記判定により前記第1の印刷設定が共通する場合、前記第2のページに属する出力命令への当該第1の印刷設定の追加を抑止する
情報処理装置。
A hook unit for hooking a series of output instructions issued to the printer driver to output target data of the output request;
An analyzer for analyzing the hooked output instruction;
An issuing unit for reissuing the analyzed output instruction toward the printer driver;
With
The issuing unit,
When the analyzed first output instruction indicates a page break, after the re-issue of the first output instruction and before the re-issue of the second output instruction for the next page, the output of the target data is output. Issue a third output instruction indicating a break to the printer driver ;
The analysis unit,
Extracting, by the analysis, a first print setting specific to a specific page from the hooked output instruction;
The issuing unit,
When the first output instruction indicates a page break of the specific page, the first print setting belongs to the specific page, and the first print setting is added to an output instruction before the third output instruction.
The analysis unit,
In the analysis, between the first page to which the first output instruction belongs and the second page to which the second output instruction belongs and is output next to the first page, Further determining whether the first print settings are common,
The issuing unit,
When the first print settings are common as a result of the determination, an information processing apparatus that suppresses addition of the first print settings to an output command belonging to the second page .
前記第3の出力命令は、前記プリンタドライバに対して、発行済みの出力命令の集合を出力単位とした出力ジョブの生成を開始させる命令である、
請求項1に記載の情報処理装置。
The third output instruction is an instruction for causing the printer driver to start generating an output job using a set of issued output instructions as an output unit.
The information processing device according to claim 1.
前記第3の出力命令は、前記プリンタドライバに対して、前記第1の出力命令が属するページを出力単位とした出力ジョブの生成を開始させる命令である、
請求項1又は2に記載の情報処理装置。
The third output instruction is an instruction for instructing the printer driver to start generating an output job with the page to which the first output instruction belongs as an output unit.
The information processing device according to claim 1.
前記発行部は、
前記第3の出力命令として前記対象データの終了を示す終了命令を発行し、
当該終了命令の発行後、かつ、前記第2の出力命令の再発行前に、前記対象データの開始を示す開始命令を発行する
請求項1乃至3のいずれか1項に記載の情報処理装置。
The issuing unit,
Issuing an end instruction indicating the end of the target data as the third output instruction;
4. The information processing apparatus according to claim 1, wherein after issuing the end instruction and before reissuing the second output instruction, a start instruction indicating a start of the target data is issued. 5.
前記第3の出力命令は、
前記プリンタドライバにおいて前記第1の印刷設定をクリアさせる第1のクリア命令を含むものであり、
前記発行部は、
前記判定により前記第1の印刷設定が共通する場合、前記第1のページに属する前記第3の出力命令から前記第1のクリア命令を除外して当該第3の出力命令を発行する
請求項に記載の情報処理装置。
The third output instruction is:
The printer driver includes a first clear command for clearing the first print setting,
The issuing unit,
If the first print setting by the determining is common, claim 1 to the exclusion of the first clear instruction from said third output command belonging to the first page issuing the third output command An information processing apparatus according to claim 1.
前記発行部は、  The issuing unit,
前記第2の出力命令が前記対象データの終了を示す終了命令である場合、当該第2の出力命令の再発行を抑止する  When the second output instruction is an end instruction indicating the end of the target data, re-issue of the second output instruction is suppressed.
請求項1乃至5のいずれか1項に記載の情報処理装置。  The information processing device according to claim 1.
コンピュータが、
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックし、
前記フックされた出力命令を解析し、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行し、
前記解析により、前記フックされた出力命令から特定のページに特有である第1の印刷設定を抽出し、
前記第1の出力命令が前記特定のページのページ区切りを示す場合に、当該特定のページに属し、かつ、前記第3の出力命令以前の出力命令に当該第1の印刷設定を追加し、
前記解析において、前記第1の出力命令が属する第1のページと、前記第2の出力命令が属し、かつ、当該第1のページの次に出力される第2のページとの間で、前記第1の印刷設定が共通するか否かの判定をさらに行い、
前記判定により前記第1の印刷設定が共通する場合、前記第2のページに属する出力命令への当該第1の印刷設定の追加を抑止する
印刷制御方法。
Computer
Hook a series of output instructions issued to the printer driver to output the target data of the output request,
Analyzing the hooked output instruction,
If the analyzed first output instruction indicates a page break, after re-issuing the first output instruction to the printer driver and before re-issuing the second output instruction for the next page, Issuing a third output command indicating a break of output of the target data to the printer driver ;
Extracting, by the analysis, a first print setting specific to a specific page from the hooked output instruction;
When the first output instruction indicates a page break of the specific page, the first print setting belongs to the specific page, and the first print setting is added to an output instruction before the third output instruction.
In the analysis, between the first page to which the first output instruction belongs and the second page to which the second output instruction belongs and is output next to the first page, Further determining whether the first print settings are common,
A print control method for suppressing addition of the first print setting to an output command belonging to the second page when the first print setting is common according to the determination .
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックするフック処理と、
前記フックされた出力命令を解析する解析処理と、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する発行処理と、
をコンピュータに実行させ
前記解析処理は、
前記解析により、前記フックされた出力命令から特定のページに特有である第1の印刷設定を抽出し、
前記発行処理は、
前記第1の出力命令が前記特定のページのページ区切りを示す場合に、当該特定のページに属し、かつ、前記第3の出力命令以前の出力命令に当該第1の印刷設定を追加し、
前記解析処理は、
前記解析において、前記第1の出力命令が属する第1のページと、前記第2の出力命令が属し、かつ、当該第1のページの次に出力される第2のページとの間で、前記第1の印刷設定が共通するか否かの判定をさらに行い、
前記発行処理は、
前記判定により前記第1の印刷設定が共通する場合、前記第2のページに属する出力命令への当該第1の印刷設定の追加を抑止する
印刷制御プログラム。
Hook processing for hooking a series of output instructions issued to a printer driver to output target data of an output request;
Analysis processing for analyzing the hooked output instruction;
If the analyzed first output instruction indicates a page break, after re-issuing the first output instruction to the printer driver and before re-issuing the second output instruction for the next page, An issuance process of issuing a third output instruction indicating an output break of the target data to the printer driver;
To the computer ,
The analysis processing includes:
Extracting, by the analysis, a first print setting specific to a specific page from the hooked output instruction;
The issuing process includes:
When the first output instruction indicates a page break of the specific page, the first print setting belongs to the specific page, and the first print setting is added to an output instruction before the third output instruction.
The analysis processing includes:
In the analysis, between the first page to which the first output instruction belongs and the second page to which the second output instruction belongs and is output next to the first page, Further determining whether the first print settings are common,
The issuing process includes:
If the first print setting is common according to the determination, the addition of the first print setting to the output command belonging to the second page is suppressed.
Print control program.
JP2018217114A 2018-11-20 2018-11-20 Information processing apparatus, print control method, and print control program Active JP6669234B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018217114A JP6669234B1 (en) 2018-11-20 2018-11-20 Information processing apparatus, print control method, and print control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018217114A JP6669234B1 (en) 2018-11-20 2018-11-20 Information processing apparatus, print control method, and print control program

Publications (2)

Publication Number Publication Date
JP6669234B1 true JP6669234B1 (en) 2020-03-18
JP2020086699A JP2020086699A (en) 2020-06-04

Family

ID=70000717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018217114A Active JP6669234B1 (en) 2018-11-20 2018-11-20 Information processing apparatus, print control method, and print control program

Country Status (1)

Country Link
JP (1) JP6669234B1 (en)

Also Published As

Publication number Publication date
JP2020086699A (en) 2020-06-04

Similar Documents

Publication Publication Date Title
US7821657B2 (en) Continuous raster image processing control across print jobs
US7707325B2 (en) Job status monitoring system, job status monitoring method, program, and storage medium
US8755060B2 (en) Print control apparatus, image forming system, and non-transitory computer readable medium
US20190065128A1 (en) Server apparatus, method of controlling the same, storage medium, and printing kystem
JP2009003778A (en) Print control device, print control method, program, and storage medium
US10534986B2 (en) Printing apparatus having interpreters interpreting print data, printing method, and storage medium
US9164715B2 (en) Method for managing a print job
JP4543945B2 (en) Printing system, control method therefor, and print management program
JP2011237901A (en) Preview screen display control device and program
US9785871B2 (en) Print control device and non-transitory computer readable medium
JP6669234B1 (en) Information processing apparatus, print control method, and print control program
US20030103224A1 (en) Adaptive print driver selection systems and methods
EP2546783B1 (en) Recovery from an out-of-storage condition at a raster data spool.
JP5268604B2 (en) Information processing apparatus and information processing method
US10635367B2 (en) Server apparatus, information processing system, and image forming apparatus
JP7158895B2 (en) Information processing device, its control method, and program
JP2007152898A (en) Printing processing apparatus
JP7067112B2 (en) Information processing equipment, information processing methods, programs and image processing equipment
US9146700B2 (en) Information processing system having image forming apparatus capable of controlling print data obtainment timing, control method therefor, and storage medium
US9001339B2 (en) Printing apparatus, printing system, printing control method, and storage medium for reducing print time and memory by sending control data via network
US9952816B2 (en) Data processing apparatus, control method, and storage medium
JP2019006044A (en) Printing system, image forming apparatus, reservation printing method, and program
JP2006172043A (en) Direct print system
JP2022157949A (en) printer
US20180150729A1 (en) Dynamic storage of raster data at a rip spool for multiple copy print jobs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R150 Certificate of patent or registration of utility model

Ref document number: 6669234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150