JP2020086699A - Information processing device, printing control method and printing control program - Google Patents
Information processing device, printing control method and printing control program Download PDFInfo
- Publication number
- JP2020086699A JP2020086699A JP2018217114A JP2018217114A JP2020086699A JP 2020086699 A JP2020086699 A JP 2020086699A JP 2018217114 A JP2018217114 A JP 2018217114A JP 2018217114 A JP2018217114 A JP 2018217114A JP 2020086699 A JP2020086699 A JP 2020086699A
- Authority
- JP
- Japan
- Prior art keywords
- output
- page
- command
- printer driver
- instruction
- 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.)
- Granted
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
本発明は、情報処理装置、印刷制御方法及び印刷制御プログラムに関し、特に、印刷制御を行うための情報処理装置、印刷制御方法及び印刷制御プログラムに関する。 The present invention relates to an information processing device, a print control method, and a print control program, and more particularly to an information processing device, a print control method, and a print control program for performing print control.
特許文献1には、情報処理装置からの印刷ジョブをネットワークに接続されたプリンタに転送して印刷処理を行うプリント制御装置に関する技術が開示されている。特許文献1にかかるプリント制御装置は、情報処理装置から受信した印刷ジョブを最小単位に分割して、最小単位プリントジョブを生成し、プリンタへ出力する。 Japanese Unexamined Patent Application Publication No. 2004-242242 discloses a technique related to a print control device that transfers a print job from an information processing device to a printer connected to a network and performs print processing. The print control device according to Japanese Patent Application Laid-Open No. 2004-242242 divides a print job received from an information processing device into minimum units, generates a minimum unit print job, and outputs the print job to a printer.
特許文献2には、プリンタを制御するプリンタコントローラに関する技術が開示されている。特許文献2にかかるプリンタコントローラは、印刷データをプリントジョブとして受信し、印刷データをイメージデータに変換して印刷用紙に印刷出力する。 Japanese Unexamined Patent Application Publication No. 2004-242242 discloses a technique related to a printer controller that controls a printer. The printer controller according to Patent Document 2 receives print data as a print job, converts the print data into image data, and prints and outputs the image data onto a print sheet.
特許文献3には、プリンタコントローラに関する技術が開示されている。特許文献3にかかるプリンタコントローラのデータ制御部は、クライアントから受信したPDL(Page Description Language)を、イメージデータ(プリント出力形式)に展開し、ページメモリに保持する。そして、プリンタコントローラの出力IFは、ページメモリに保持されたイメージデータをプリンタに転送する。 Patent Document 3 discloses a technique related to a printer controller. The data control unit of the printer controller according to Japanese Unexamined Patent Application Publication No. 2003-242242 develops PDL (Page Description Language) received from the client into image data (print output format) and holds it in the 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 the information processing apparatus, the client, or the like, which is the issuer of the print job or the like in
また、近年、米国Microsoft(登録商標)社は、Windows(登録商標)8に搭載するプリンタドライバアーキテクチャとして、これまでのV3プリンタドライバに代えて、新しくV4プリンタドライバを採用することとした。 In recent years, Microsoft Corporation (registered trademark) of the United States has decided to adopt a new V4 printer driver as a printer driver architecture to be installed in Windows (registered trademark) 8 in place of the conventional V3 printer driver.
ここで、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, a user application normally issues a series of output commands including individual drawing commands and output control commands when printing a document or the like. When the V3 printer driver receives the issued output command, the V3 printer driver sequentially performs an analysis process and a command process necessary for outputting to the printer, and outputs the print job 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 when the number of print pages of the document to be printed is large, the printer does not start the output until the output instructions for all the pages are received. That is, there is a problem that the print job issuance by the printer driver may be delayed. In particular, as the V4 printer driver becomes widespread in the future, this problem may become more remarkable.
尚、上述した特許文献1から3にかかる技術は、プリンタドライバが発行した印刷ジョブに対する処理の改善であるため、上記課題を解決するものではない。
Note that the techniques according to the above-mentioned
本開示は、このような問題点を解決するためになされたものであり、プリンタドライバによる印刷ジョブの発行タイミングをより速くするための情報処理装置、印刷制御方法及び印刷制御プログラムを提供することを目的とする。 The present disclosure has been made to solve such problems, and an object thereof is to provide an information processing device, a print control method, and a print control program for speeding up the print job issuing timing by the printer driver. To aim.
本開示の第1の態様にかかる情報処理装置は、
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックするフック部と、
前記フックされた出力命令を解析する解析部と、
前記解析された出力命令を前記プリンタドライバに向けて再発行する発行部と、
を備え、
前記発行部は、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令の再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する。
An information processing apparatus according to the first aspect of the present disclosure is
A hook unit that hooks a series of output instructions issued to the printer driver in order to output the target data of the output request,
An analysis unit for analyzing the hooked output instruction,
An issuing unit for reissuing the analyzed output command toward the printer driver;
Equipped with
The issuing unit is
When the analyzed first output instruction indicates a page break, the output of the target data is output after the first output instruction is reissued and before the second output instruction for the next page is reissued. 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,
Computer
Hook a series of output commands issued to the printer driver to output the target data of the output request,
Parse the hooked output instruction,
When the analyzed first output command indicates a page break, after reissuing the first output command toward the printer driver and before reissuing the second output command for the next page, A third output command indicating an output delimiter of the target data is issued to the printer driver.
本開示の第3の態様にかかる印刷制御プログラムは、
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックする処理と、
前記フックされた出力命令を解析する処理と、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する処理と、
をコンピュータに実行させる。
A print control program according to the third aspect of the present disclosure,
A process of hooking a series of output commands issued to the printer driver in order to output the target data of the output request,
Analyzing the hooked output instruction,
When the analyzed first output command indicates a page break, after reissuing the first output command toward the printer driver and before reissuing the second output command for the next page, A process of issuing a third output command indicating an output delimiter of the target data to the printer driver;
Causes the computer to execute.
本開示により、プリンタドライバによる印刷ジョブの発行タイミングをより速くするための情報処理装置、印刷制御方法及び印刷制御プログラムを提供することができる。 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 issuance timing faster by a printer driver.
以下では、本開示の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。 Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In each drawing, the same or corresponding elements are designated by the same reference numerals, and repeated explanations are omitted as necessary for the sake of clarity.
<実施の形態1>
図1は、本実施の形態1にかかる情報処理装置1の構成を示すブロック図である。情報処理装置1は、プリンタ(不図示)と接続されたコンピュータである。情報処理装置1は、任意のアプリケーションプログラム(不図示)が実行され、ユーザ等の印刷指示に応じてアプリケーションが出力命令を発行する。また、情報処理装置1は、プリンタドライバ(不図示)がインストールされており、プリンタドライバが出力命令から印刷ジョブを生成して、プリンタへ出力する。
<
FIG. 1 is a block diagram showing the configuration of the
情報処理装置1は、フック部11と、解析部12と、発行部13とを備える。フック部11は、出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックする。ここで、対象データは、上述したアプリケーション上で処理されるデータであり、例えば、ドキュメント、画像等である。また、出力要求とは、ユーザ等が対象データをプリンタ等へ出力させるためにアプリケーションに対して行った要求である。そのため、アプリケーションは、受け付けた出力要求に応じて出力命令を発行する。また、出力命令は、描画命令や出力制御命令を含む。描画命令は、例えば、ドキュメントの内容を構成する文字や線をプリンタに描画させるためのコマンドである。また、出力制御命令は、例えば、ドキュメントの開始もしくは終了、又は、ページの開始もしくは終了を示す命令等である。尚、ページの終了を示す出力制御命令は、ページ区切りを示す命令ともいえる。
The
そして、フックとは、アプリケーションが発行した出力命令をOS(Operating System)(不図示)等を介して取得することを指す。そのため、フック部11によりフックされた出力命令は、プリンタドライバには到達しない。言い換えると、フック部11は、プリンタドライバに対して発行された出力命令を横取りする。
The hook refers to acquiring the output command issued by the application via an OS (Operating System) (not shown) or the like. Therefore, the output command hooked by the
解析部12は、フックされた出力命令を解析する。ここで、解析には、例えば、出力命令の種別を判定すること、出力命令から印刷設定を抽出すること、印刷設定の範囲を判定すること等が含まれる。また、印刷設定の範囲の判定には、印刷設定の範囲がドキュメント全体であるか否か、ページに特有であるか否か、隣接ページで共通するか否か等が含まれる。
The
発行部13は、解析された出力命令をプリンタドライバに向けて再発行する。ここで、「再発行」とは、出力命令がすでにアプリケーションにより発行されたものであることから、再度発行されることを意味する。よって、発行部13自体は、「解析された出力命令」をプリンタドライバに向けて初めて発行することになる。そして、発行部13は、解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令の再発行後、かつ、次のページに関する第2の出力命令の再発行前に、対象データの出力の区切りを示す第3の出力命令をプリンタドライバに向けて発行する。ここで、第2の出力命令は、第1の出力命令より後にアプリケーションにより発行された命令である。特に、第2の出力命令は、対象データがプリンタにより複数の印刷用紙にまたがって印刷される場合に、第1の出力命令が対象とするページの次のページを対象とする出力命令である。そして、第3の出力命令は、アプリケーションにより発行されたものではなく、また、フック部11によりフックされたものでもない。すなわち、発行部13は、フックされた第1の出力命令と第2の出力命令を再発行する間に、第3の出力命令を挿入して、発行する。
The issuing
図2は、本実施の形態1にかかる印刷制御方法の流れを示すフローチャートである。前提として、情報処理装置1上で実行されるアプリケーションは、ユーザ等からの出力要求に応じて、対象データをプリンタへ出力するために、プリンタドライバ向けの出力命令を順次、発行するものとする。このとき、フック部11は、発行された出力命令のうち第1の出力命令をフックする(S11)。
FIG. 2 is a flowchart showing the flow of the print control method according to the first embodiment. As a premise, it is assumed that the application executed on the
次に、解析部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
ここで、第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
尚、情報処理装置1は、図示しない構成としてプロセッサ、メモリ及び記憶装置等を備えるものである。また、当該記憶装置には、本実施の形態にかかる印刷制御方法の処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムをメモリへ読み込み、当該コンピュータプログラムを実行する。これにより、情報処理装置1のプロセッサは、上述したフック部11、解析部12及び発行部13の機能を実現する。
The
<実施の形態2>
本実施の形態2は、上述した実施の形態1の具体的な一実施例である。ここで、前記第3の出力命令は、前記プリンタドライバに対して、発行済みの出力命令の集合を出力単位とした出力ジョブの生成を開始させる命令であることが望ましい。または、前記第3の出力命令は、前記プリンタドライバに対して、前記第1の出力命令が属するページを出力単位とした出力ジョブの生成を開始させる命令であってもよい。これらにより、プリンタドライバは、第2の出力命令を受信する前により確実に出力ジョブの生成を開始することができる。
<Second Embodiment>
The second embodiment is a specific example of the first embodiment described above. Here, it is preferable that the third output instruction is an instruction for causing the printer driver to start generating an output job with a set of issued output instructions as an output unit. Alternatively, the third output instruction may be an instruction for causing the printer driver to start generating an output job with the page to which the first output instruction belongs as an output unit. As a result, the printer driver can more surely start the generation of the output job before receiving the second output command.
また、前記発行部は、前記第3の出力命令として前記対象データの終了を示す終了命令を発行し、当該終了命令の発行後、かつ、前記第2の出力命令の再発行前に、前記対象データの開始を示す開始命令を発行するようにしてもよい。このように、疑似的にドキュメントの終了位置とドキュメントの開始位置を示す命令を出力することで、プリンタドライバは、各ページを異なるドキュメントとして認識でき、プリンタドライバを適切に制御できる。 Also, the issuing unit issues an end instruction indicating the end of the target data as the third output instruction, and after the end instruction is issued and before the second output instruction is reissued. A start instruction indicating the start of data may be issued. In this way, the printer driver can recognize each page as a different document by appropriately outputting the command indicating the end position of the document and the start position of the document, and can appropriately control the printer driver.
また、前記解析部は、前記解析により、前記フックされた出力命令から特定のページに特有である第1の印刷設定を抽出する。そして、前記発行部は、前記第1の出力命令が前記特定のページのページ区切りを示す場合に、当該特定のページに属し、かつ、前記第3の出力命令以前の出力命令に当該第1の印刷設定を追加することが望ましい。これにより、分割された印刷ジョブ間で印刷設定の整合を取ることができる Further, the analysis unit extracts the first print setting unique to a specific page from the hooked output command 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 that belongs to the specific page to the output instruction before the third output instruction. It is desirable to add print settings. This makes it possible to match print settings between divided print jobs.
さらに、前記解析部は、前記解析において、前記第1の出力命令が属する第1のページと、前記第2の出力命令が属し、かつ、当該第1のページの次に出力される第2のページとの間で、前記第1の印刷設定が共通するか否かの判定をさらに行うとよい。そして、前記発行部は、前記判定により前記第1の印刷設定が共通する場合、前記第2のページに属する出力命令への当該第1の印刷設定の追加を抑止することが望ましい。このように、連続するページ間で印刷設定が重複する場合、2回目以降の印刷設定を除外することで、出力命令のデータサイズを抑制でき、スループットを向上できる。 Further, in the analysis, the analysis unit may output a first page to which the first output instruction belongs and a second page to which the second output instruction belongs and which is output next to the first page. It is preferable to further determine whether or not the first print setting is common to the page. Then, when the first print setting is common in the determination, the issuing unit preferably suppresses addition of the first print setting to the output command belonging to the second page. In this way, when the print settings overlap between consecutive pages, the data size of the output command can be suppressed and the throughput can be improved by excluding the second and subsequent print settings.
さらに、前記第3の出力命令は、前記プリンタドライバにおいて前記第1の印刷設定をクリアさせる第1のクリア命令を含むものであるとよい。この場合、前記発行部は、前記判定により前記第1の印刷設定が共通する場合、前記第1のページに属する前記第3の出力命令から前記第1のクリア命令を除外して当該第3の出力命令を発行するとよい。これにより、連続するページ間で印刷設定が重複する場合、プリンタドライバ又はプリンタにおいて一時的に保持されている受信済みの印刷設定を再利用して後続の印刷ジョブを生成できるため、印刷ジョブの生成効率を向上できる。 Further, the third output command may include a first clear command that causes the printer driver to clear the first print setting. In this case, the issuing unit excludes the first clear instruction from the third output instruction belonging to the first page when the first print setting is common according to the determination. Issue an output command. As a result, when the print settings are duplicated between consecutive pages, the subsequent print job can be generated by reusing the received print settings temporarily stored in the printer driver or the printer. The efficiency can be improved.
また、前記解析部は、前記解析により、前記フックされた出力命令から前記対象データの全体に対する第2の印刷設定を抽出する。その場合、前記第3の出力命令は、前記プリンタドライバにおいて前記第2の印刷設定をクリアさせる第2のクリア命令を含むものである。この場合、前記発行部は、前記第3の出力命令から前記第2のクリア命令を除外して当該第3の出力命令を発行するとよい。これにより、プリンタドライバにおいて、第3の出力命令によりページ単位に印刷ジョブを生成したとしても、印刷ジョブ間で印刷設定を共有でき、印刷ジョブの生成効率を向上できる。 Further, the analysis unit extracts the 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 exclude the second clear instruction from the third output instruction and issue the third output instruction. As a result, even if a print job is generated page by page in the printer driver by the third output command, print settings can be shared between print jobs, and the print job generation efficiency can be improved.
また、前記発行部は、前記第2の出力命令が前記対象データの終了を示す終了命令である場合、当該第2の出力命令の再発行を抑止するとよい。これにより、プリンタドライバは、不要な終了命令の受信がなくなり、不要な処理を抑制できる。 Further, the issuing unit may suppress reissuance of the second output instruction when the second output instruction is an end instruction indicating the end of the target data. 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 showing the configuration of the
制御装置110は、プロセッサ等の制御回路である。制御装置110は、記憶装置120からプログラム121をメモリ(不図示)に読み出して実行する。これにより、制御装置110は、印刷制御部112として機能する。また、制御装置110は、所定のアプリケーションプログラム(不図示)を実行することによりアプリケーション部111を実現する。また、制御装置110は、OS(不図示)を実行することによりOS部113を実現する。
The
アプリケーション部111は、例えば、GDI(Graphics Device Interface)アプリケーションである。尚、アプリケーション部111は、公知のソフトウェアであってもよい。よって、アプリケーション部111は、ユーザの操作に応じてドキュメント等を作成し、ユーザからの当該ドキュメントの印刷要求(出力要求)に応じて、複数のGDI関数を呼び出して出力命令をOS部113に向けて発行する。
The application unit 111 is, for example, a GDI (Graphics Device Interface) application. The application unit 111 may be known software. Therefore, the application unit 111 creates a document or the like according to a user's operation, calls a plurality of GDI functions according to a print request (output request) of the document from the user, and directs an output command to the
OS部113は、公知のOSであってもよい。OS部113は、プリンタドライバ1131と、プリントスプーラ1132とを備える。プリンタドライバ1131は、アプリケーション部111から発行された出力命令を受信し、印刷ジョブを生成し、印刷ジョブをプリントスプーラ1132へ出力するデバイスドライバである。プリンタドライバ1131は、例えば、V4プリンタドライバである。
The
プリントスプーラ1132は、プリンタドライバ1131から出力された印刷ジョブをFIFO(First−In First−Out)で管理するメッセージキューである。そして、プリントスプーラ1132は、印刷ジョブを登録順にプリンタ200へ出力する。
The
図4は、本実施の形態2にかかる印刷制御部112の構成を示すブロック図である。印刷制御部112は、フック部1121、解析部1122及び発行部1123を備える。フック部1121は、上述したフック部11の一例であり、アプリケーション部111を監視し、アプリケーション部111が発行した出力命令をフックする。解析部1122は、上述した解析部12の一例であり、フック部1121によりフックされた出力命令を解析する。発行部1123は、上述した発行部13の一例であり、解析部1122により解析結果に応じて出力命令の再発行や新規命令の追加発行を行う。
FIG. 4 is a block diagram showing the configuration of the
ここで、本実施形態が解決する課題を説明するために、本実施形態を用いない場合の印刷処理について説明する。図5は、V4プリンタドライバを用いた印刷処理の概念を説明するための図である。ここで、GDIアプリ111aはアプリケーション部111の一例であり、V4プリンタドライバ1131aはプリンタドライバ1131の一例である。
Here, in order to describe the problem to be solved by the present embodiment, a print process when the present embodiment is not used will be described. FIG. 5 is a diagram for explaining the concept of print processing using the V4 printer driver. Here, the GDI application 111a is an example of the application unit 111, and the
まず、GDIアプリ111aは、出力命令としてStartDocを発行する(S900)。そして、V4プリンタドライバ1131aは、StartDocを受信する。続いて、GDIアプリ111aは、1ページ目に関する一連の出力命令を発行する(S901)。そして、V4プリンタドライバ1131aは、1ページ目に関する出力命令を順次、受信する。但し、V4プリンタドライバ1131aは、この時点では、EndDocを受信していないため、印刷ジョブの生成を開始しない。
First, the GDI application 111a issues StartDoc as an output command (S900). Then, the
その後、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として出力する。
After that, the GDI application 111a sequentially issues a series of output commands for the second page to the Nth page (S902, S903). Then, the
図5に示すように、V4プリンタドライバ1131aは、EndDocを受信するまで印刷ジョブの生成を開始できない。つまり、V4プリンタドライバ1131aは、印刷対象のドキュメントの全てのページに対する出力命令を受信し終えた後に、1ページ目から順番に印刷ジョブの生成を開始する。よって、GDIアプリ111aがStartDocを発行してからV4プリンタドライバ1131aが印刷ジョブの生成を開始するまで時間t1を要する。そして、プリンタ200が1ページ目の出力用紙210の印刷を開始するまでに時間t2を要する。
As shown in FIG. 5, the
そこで、本実施形態では、アプリケーション部111とプリンタドライバ1131の間に印刷制御部112を介在させて、印刷制御部112がページ単位にEndDocを挿入して発行するものである。これにより、プリンタドライバ1131に対して疑似的にドキュメント単位の出力命令の発行が完了したものと認識させて、プリンタドライバ1131における1ページ目の印刷ジョブの生成開始を速くすることができる。
Therefore, in the present embodiment, the
図6は、本実施の形態2にかかる印刷制御方法の流れを示すフローチャートである。まず前提として、印刷制御部112には、ユーザにより予め監視対象のアプリケーション部111が設定済みであるものとする。
FIG. 6 is a flowchart showing the flow of the print control method according to the second embodiment. First, as a premise, it is assumed that the user has previously set the application unit 111 to be monitored in the
そこで、フック部1121は、アプリケーション部111が発行する出力命令を監視する(S101)。そして、フック部1121は、アプリケーション部111が発行した出力命令をフックする(S102)。尚、ここでは、最初の出力命令であることから、印刷対象の開始命令(StarDoc等)が出力命令としてフックされたものとする。そして、解析部1122は、フックした出力命令を解析して、印刷対象の開始命令であると判定して、初期化処理を行う(S103)。
Therefore, the
続いて、フック部1121は、後続の出力命令を順次、フックする(S104)。そして、解析部1122は、フックされた出力命令を解析し、フック済み出力命令122として記憶装置120に蓄積する(S105)。このとき、解析部1122は、出力命令から印刷設定を抽出し、当該印刷設定がドキュメント全体か、ページに特有かなどを判定する。また、解析部1122は、抽出した印刷設定を記憶装置120に保存してもよい。
Subsequently, the
そして、解析部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
続いて、発行部1123は、印刷対象の終了命令を発行する(S108)。例えば、ステップS107の最後に発行された出力命令がEndPageの場合、発行部1123は、新規にEndDocを終了命令として追加して発行する。
Subsequently, the
その後、フック部1121は、次の出力命令をフックする(S109)。そして、解析部1122は、ステップS105と同様に、フックした出力命令を解析し、フック済み出力命令122として記憶装置120に蓄積する(S110)。尚、ステップS109でフックされる出力命令は、次ページの開始命令であるStartPageか、次ページがなければドキュメントの終了を示すEndDocとなる。
After that, the
そして、解析部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
図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 the V4 printer driver. First, the GDI application 111a issues StartDoc as an output command (S200). At this time, the
続いて、GDIアプリ111aは、1ページ目に関する一連の出力命令を発行する(S201)。そして、印刷制御部112は、1ページ目に関する一連の出力命令をフックし、1ページ目のEndPageをフックした後に、1ページ目に関する一連の出力命令をV4プリンタドライバ1131aに発行する(S211)。その際、1ページ目のEndPageを発行した後に、印刷制御部112は、EndDocを挿入して発行する。
Then, the GDI application 111a issues a series of output commands for the first page (S201). Then, the
これに応じて、V4プリンタドライバ1131aは、1ページ目に関する一連の出力命令を受信し、初期化を開始する(S221)。続いて、V4プリンタドライバ1131aは、1ページ目に関する一連の出力命令を対象にXPS解析(S222)及びコマンド化(S223)を行い、印刷ジョブとして1ページ目のXPSファイル131をプリントスプーラ1132に出力する。その後、プリンタ200は、プリントスプーラ1132から出力されるXPSファイル131(S241)に応じて印刷を行い、出力用紙211として出力する。
In response to this, the
ステップ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, the
これに応じて、V4プリンタドライバ1131aは、2ページ目に関する一連の出力命令を受信し、初期化を開始する(S224)。続いて、V4プリンタドライバ1131aは、2ページ目に関する一連の出力命令を対象にXPS解析(S225)及びコマンド化(S226)を行い、印刷ジョブとして2ページ目のXPSファイル132をプリントスプーラ1132に出力する。その後、プリンタ200は、プリントスプーラ1132から出力されるXPSファイル132(S242)に応じて印刷を行い、出力用紙212として出力する。
In response to this, the
以降、同様に、GDIアプリ111aは、Nページ目に関する一連の出力命令を発行し(S203)、印刷制御部112は、Nページ目のStartPageをフックした後、当該StartPageを再発行する前に、StartDocを挿入して発行する。そして、印刷制御部112は、Nページ目に関する一連の出力命令をフックし、Nページ目のEndPageをフックした後に、Nページ目に関する一連の出力命令(StartPageからEndPage)をV4プリンタドライバ1131aに発行する(S213)。その際、Nページ目のEndPageを発行した後に、印刷制御部112は、EndDocを挿入して発行する。
After that, similarly, the GDI application 111a issues a series of output commands regarding the Nth page (S203), and the
これに応じて、V4プリンタドライバ1131aは、Nページ目に関する一連の出力命令を受信し、初期化を開始する(S227)。続いて、V4プリンタドライバ1131aは、Nページ目に関する一連の出力命令を対象にXPS解析(S228)及びコマンド化(S229)を行い、印刷ジョブとしてNページ目のXPSファイル133をプリントスプーラ1132に出力する。その後、プリンタ200は、プリントスプーラ1132から出力されるXPSファイル133(S243)に応じて印刷を行い、出力用紙213として出力する。
In response to this, the
ステップ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, the
図7に示すように、GDIアプリ111aがStartDocを発行してからV4プリンタドライバ1131aが1ページ目の印刷ジョブの生成を開始するまで時間t3を要する。そして、時間t3は、図5に示した時間t1より短いことを示す。よって、本実施形態により、プリンタドライバによる印刷ジョブの発行タイミングをより速くすることができる。また、プリンタ200が1ページ目の出力用紙211の印刷を開始するまでに時間t4を要する。そして、時間t4は、図5に示した時間t2より短いことを示す。よって、1ページ目をより速く印刷することができる。
As shown in FIG. 7, it takes a time t3 from when the GDI application 111a issues the StartDoc to when the
<その他の実施の形態>
上述した各実施形態は、Windows OSのプリントスプーラ及びV4プリンタドライバを利用する印刷システムに対し、適用可能である。また、上述した各実施形態は、V4プリンタドライバと同様の印刷処理、つまり全ての出力命令を受け付けたあとで、プリントスプーラに印刷実行を要求するようなアプリケーションに対しても適用可能である。また、上述した各実施形態は、V4プリンタドライバのXPSファイル出力だけでなく、ファイル最終まで印刷が開始不可となるようなPDF(Portable Document Format)を出力する場合も適用可能であり、同様の効果を奏する。
<Other Embodiments>
Each of the above-described embodiments is applicable to a printing system that uses a print spooler of Windows OS and a V4 printer driver. The above-described embodiments are also applicable to the same print processing as the V4 printer driver, that is, an application that requests the print spooler to execute print after receiving all output commands. Further, the above-described embodiments are applicable not only to the XPS file output of the V4 printer driver but also to the case of outputting a PDF (Portable Document Format) such that printing cannot be started until the end of the file. Play.
尚、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、CPUにコンピュータプログラムを実行させることにより実現することも可能である。 In the above embodiment, the hardware configuration has been described, but the hardware configuration is not limited to this. The present disclosure can also be realized by causing a CPU to execute a computer program for arbitrary processing.
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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 using various types of non-transitory computer readable media and supplied to the computer. Non-transitory computer readable media include various types of tangible storage media. Examples of the non-transitory computer-readable medium include a magnetic recording medium (for example, flexible disk, magnetic tape, hard disk drive), magneto-optical recording medium (for example, magneto-optical disk), CD-ROM (Read Only Memory), CD-R, It includes a CD-R/W, a DVD (Digital Versatile Disc), and a semiconductor memory (for example, a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM, and a RAM (Random Access Memory)). In addition, 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. The transitory computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。 It should be noted that the present disclosure is not limited to the above-described embodiments, and can be modified as appropriate without departing from the spirit of the present disclosure. Further, the present disclosure may be implemented by appropriately combining the respective 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の出力命令を前記プリンタドライバに向けて発行する処理と、
をコンピュータに実行させる印刷制御プログラム。
The whole or part of the exemplary embodiments disclosed above can be described as, but not limited to, the following supplementary notes.
(Appendix A1)
A hook unit that hooks a series of output instructions issued to the printer driver in order to output the target data of the output request,
An analysis unit for analyzing the hooked output instruction,
An issuing unit for reissuing the analyzed output command toward the printer driver;
Equipped with
The issuing unit is
When the analyzed first output instruction indicates a page break, the output of the target data is output after the first output instruction is reissued and before the second output instruction for the next page is reissued. An information processing apparatus that issues a third output command indicating a break to the printer driver.
(Appendix A2)
The third output command is a command for causing the printer driver to start generating an output job with a set of issued output commands as an output unit.
The information processing device according to attachment A1.
(Appendix A3)
The third output command is a command for causing the printer driver to start generation of an output job with the page to which the first output command belongs as an output unit.
The information processing apparatus according to appendix A1 or A2.
(Appendix A4)
The issuing unit is
An end instruction indicating the end of the target data is issued 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 the end instruction is issued and before the second output instruction is reissued.
(Appendix A5)
The analysis unit is
The analysis extracts a first print setting that is unique to a particular page from the hooked output instruction,
The issuing unit is
When the first output command 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 the output commands prior to the third output command. The information processing apparatus according to any one of A to A4.
(Appendix A6)
The analysis unit is
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 which is output next to the first page, Further determine whether the first print setting is common,
The issuing unit is
The information processing apparatus according to attachment A5, wherein when the first print settings are common due to the determination, addition of the first print settings to an output command belonging to the second page is suppressed.
(Appendix A7)
The third output command is
The printer driver includes a first clear command for clearing the first print setting;
The issuing unit is
When the first print setting is common according to the determination, the first clear command is excluded from the third output commands belonging to the first page, and the third output command is issued. The information processing device described.
(Appendix A8)
The analysis unit is
By the analysis, the second print setting for the entire target data is extracted from the hooked output command,
The third output command is
The printer driver includes a second clear command for clearing the second print setting,
The issuing unit is
The information processing apparatus according to any one of supplementary notes A1 to A7, wherein the second clear instruction is excluded from the third output instruction and the third output instruction is issued.
(Appendix A9)
The issuing unit is
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, reissuance of the second output instruction is suppressed.
(Appendix B1)
Computer
Hook a series of output commands issued to the printer driver to output the target data of the output request,
Parse the hooked output instruction,
When the analyzed first output command indicates a page break, after reissuing the first output command toward the printer driver and before reissuing the second output command for the next page, A print control method for issuing to the printer driver a third output command indicating an output break of the target data.
(Appendix C1)
A process of hooking a series of output commands issued to the printer driver in order to output the target data of the output request,
Analyzing the hooked output instruction,
When the analyzed first output command indicates a page break, after reissuing the first output command toward the printer driver and before reissuing the second output command for the next page, A process of issuing a third output command indicating an output delimiter of the target data to the printer driver;
A 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 時間
DESCRIPTION OF
Claims (10)
前記フックされた出力命令を解析する解析部と、
前記解析された出力命令を前記プリンタドライバに向けて再発行する発行部と、
を備え、
前記発行部は、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令の再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する
情報処理装置。 A hook unit that hooks a series of output instructions issued to the printer driver in order to output the target data of the output request,
An analysis unit for analyzing the hooked output instruction,
An issuing unit for reissuing the analyzed output command toward the printer driver;
Equipped with
The issuing unit is
When the analyzed first output instruction indicates a page break, the output of the target data is output after the first output instruction is reissued and before the second output instruction for the next page is reissued. An information processing apparatus that issues a third output command indicating a break to the printer driver.
請求項1に記載の情報処理装置。 The third output command is a command for causing the printer driver to start generating an output job with a set of issued output commands as an output unit.
The information processing apparatus according to claim 1.
請求項1又は2に記載の情報処理装置。 The third output instruction is an instruction for causing the printer driver to start generating an output job in which the page to which the first output instruction belongs is set as an output unit.
The information processing apparatus according to claim 1.
前記第3の出力命令として前記対象データの終了を示す終了命令を発行し、
当該終了命令の発行後、かつ、前記第2の出力命令の再発行前に、前記対象データの開始を示す開始命令を発行する
請求項1乃至3のいずれか1項に記載の情報処理装置。 The issuing unit is
An end instruction indicating the end of the target data is issued as the third output instruction,
The information processing apparatus according to claim 1, wherein a start command indicating the start of the target data is issued after the end command is issued and before the second output command is reissued.
前記解析により、前記フックされた出力命令から特定のページに特有である第1の印刷設定を抽出し、
前記発行部は、
前記第1の出力命令が前記特定のページのページ区切りを示す場合に、当該特定のページに属し、かつ、前記第3の出力命令以前の出力命令に当該第1の印刷設定を追加する
請求項1乃至4のいずれか1項に記載の情報処理装置。 The analysis unit is
The analysis extracts a first print setting that is unique to a particular page from the hooked output instruction,
The issuing unit is
When the first output command indicates a page break of the specific page, the first print setting is added to an output command that belongs to the specific page and is before the third output command. The information processing apparatus according to any one of 1 to 4.
前記解析において、前記第1の出力命令が属する第1のページと、前記第2の出力命令が属し、かつ、当該第1のページの次に出力される第2のページとの間で、前記第1の印刷設定が共通するか否かの判定をさらに行い、
前記発行部は、
前記判定により前記第1の印刷設定が共通する場合、前記第2のページに属する出力命令への当該第1の印刷設定の追加を抑止する
請求項5に記載の情報処理装置。 The analysis unit is
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 which is output next to the first page, Further determine whether the first print setting is common,
The issuing unit is
The information processing apparatus according to claim 5, wherein when the first print setting is common due to the determination, addition of the first print setting to an output command belonging to the second page is suppressed.
前記プリンタドライバにおいて前記第1の印刷設定をクリアさせる第1のクリア命令を含むものであり、
前記発行部は、
前記判定により前記第1の印刷設定が共通する場合、前記第1のページに属する前記第3の出力命令から前記第1のクリア命令を除外して当該第3の出力命令を発行する
請求項6に記載の情報処理装置。 The third output command is
The printer driver includes a first clear command for clearing the first print setting;
The issuing unit is
7. When the first print setting is common due to the determination, the first clear command is excluded from the third output commands belonging to the first page, and the third output command is issued. The information processing device described in 1.
前記解析により、前記フックされた出力命令から前記対象データの全体に対する第2の印刷設定を抽出し、
前記第3の出力命令は、
前記プリンタドライバにおいて前記第2の印刷設定をクリアさせる第2のクリア命令を含むものであり、
前記発行部は、
前記第3の出力命令から前記第2のクリア命令を除外して当該第3の出力命令を発行する
請求項1乃至7のいずれか1項に記載の情報処理装置。 The analysis unit is
By the analysis, the second print setting for the entire target data is extracted from the hooked output command,
The third output command is
The printer driver includes a second clear command for clearing the second print setting,
The issuing unit is
The information processing apparatus according to claim 1, wherein the third output instruction is issued by excluding the second clear instruction from the third output instruction.
出力要求の対象データを出力するためにプリンタドライバに向けて発行された一連の出力命令をフックし、
前記フックされた出力命令を解析し、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する
印刷制御方法。 Computer
Hook a series of output commands issued to the printer driver to output the target data of the output request,
Parse the hooked output instruction,
When the analyzed first output command indicates a page break, after reissuing the first output command toward the printer driver and before reissuing the second output command for the next page, A print control method for issuing to the printer driver a third output command indicating an output break of the target data.
前記フックされた出力命令を解析する処理と、
前記解析された第1の出力命令がページ区切りを示す場合、当該第1の出力命令を前記プリンタドライバに向けて再発行後、かつ、次のページに関する第2の出力命令の再発行前に、前記対象データの出力の区切りを示す第3の出力命令を前記プリンタドライバに向けて発行する処理と、
をコンピュータに実行させる印刷制御プログラム。 A process of hooking a series of output commands issued to the printer driver in order to output the target data of the output request,
Analyzing the hooked output instruction,
When the analyzed first output command indicates a page break, after reissuing the first output command toward the printer driver and before reissuing the second output command for the next page, A process of issuing a third output command indicating an output delimiter of the target data to the printer driver;
A print control program that causes a computer to execute.
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 JP6669234B1 (en) | 2020-03-18 |
JP2020086699A true 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) |
-
2018
- 2018-11-20 JP JP2018217114A patent/JP6669234B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP6669234B1 (en) | 2020-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7821657B2 (en) | Continuous raster image processing control across print jobs | |
US8867081B2 (en) | Printing method and apparatus for dividing each of the two or more print jobs into a plurality of sub-print jobs | |
US7707325B2 (en) | Job status monitoring system, job status monitoring method, program, and storage medium | |
US9507544B2 (en) | Information processing apparatus, recording medium, and control method to process print data using filters | |
US20190065128A1 (en) | Server apparatus, method of controlling the same, storage medium, and printing kystem | |
US20130194598A1 (en) | Print control apparatus, image forming system, and non-transitory computer readable medium | |
US9164715B2 (en) | Method for managing a print job | |
US9940082B2 (en) | System, printing apparatus and method for controlling the same, and post-processing apparatus and method for controlling the same for performing re-printing processing for a first job preferentially | |
US10534986B2 (en) | Printing apparatus having interpreters interpreting print data, printing method, and storage medium | |
JP3344268B2 (en) | Printing control device | |
EP2634730B1 (en) | Media determination for a print job from a rasterization process | |
JP4978556B2 (en) | Image processing apparatus, printing system, and program | |
JP2011237901A (en) | Preview screen display control device and program | |
US20130070271A1 (en) | Print control device and non-transitory computer readable medium | |
US20120250053A1 (en) | Method and system for handling sub-jobs | |
EP2546783B1 (en) | Recovery from an out-of-storage condition at a raster data spool. | |
JP6669234B1 (en) | Information processing apparatus, print control method, and print control program | |
CN101231573A (en) | Host device and printing control method thereof | |
US20160196093A1 (en) | Processing print jobs in reverse order | |
JP7158895B2 (en) | Information processing device, its control method, and program | |
US20150181049A1 (en) | Information processing method and program thereof | |
US8482777B2 (en) | Image information processing device including comparing unit for printing processing system, computer-readable medium and image information processing method for the same | |
JP2010105191A (en) | Image processing apparatus | |
EP3767451A1 (en) | Server device, information processing system and image formation device | |
JP2007152898A (en) | Printing processing apparatus |
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 |