JP2007280148A - Printer and printing method - Google Patents

Printer and printing method Download PDF

Info

Publication number
JP2007280148A
JP2007280148A JP2006106933A JP2006106933A JP2007280148A JP 2007280148 A JP2007280148 A JP 2007280148A JP 2006106933 A JP2006106933 A JP 2006106933A JP 2006106933 A JP2006106933 A JP 2006106933A JP 2007280148 A JP2007280148 A JP 2007280148A
Authority
JP
Japan
Prior art keywords
program
command generation
printer command
generation program
printer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006106933A
Other languages
Japanese (ja)
Inventor
Yasumasa Toratani
泰昌 虎谷
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006106933A priority Critical patent/JP2007280148A/en
Publication of JP2007280148A publication Critical patent/JP2007280148A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To substitute a printer command generation program with another program. <P>SOLUTION: Such a means is provided, which can store correction printer command generation programs in a dedicated directory and selectively linked the correction printer command generation programs by version numbers and execute the correction printer command generation programs to thereby be able to substitute a printer command generation program with another by providing necessary minimum programs. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は印刷装置、印刷方法及びコンピュータプログラムに関し、例えば、プリンタコマンド生成プログラムの置き換えに用いて好適な技術に関する。   The present invention relates to a printing apparatus, a printing method, and a computer program, for example, a technique suitable for use in replacing a printer command generation program.

従来、Unix(登録商標)系のOS上で動作するアプリケーションプログラムから印刷する場合、アプリケーションプログラムは先ず印刷データを生成する。そして、それをOSが用意しているスプーリング・システムに印刷要求として投入して、その後はスプーリング・システムによって処理がなされるのが通常である。   Conventionally, when printing from an application program that runs on a UNIX (registered trademark) OS, the application program first generates print data. Then, it is usually submitted as a print request to a spooling system prepared by the OS, and thereafter, processing is performed by the spooling system.

図2を用いてそれを説明する。アプリケーションプログラム201が生成した印刷データは、スプーリング・システム202に対して印刷要求として渡される。スプーリング・システム202は、印刷要求として投入された印刷データを、プリンタを制御するためのプリンタコマンドに変換するために、レンダラプログラム203を起動する。レンダラプログラム203は通常、印刷データを読み込んで解析する印刷データ解析プログラム204と、解析した結果をプリンタコマンドに変換するプリンタコマンド生成プログラム205とから構成されている。   This will be described with reference to FIG. The print data generated by the application program 201 is passed to the spooling system 202 as a print request. The spooling system 202 activates the renderer program 203 in order to convert print data input as a print request into a printer command for controlling the printer. The renderer program 203 normally includes a print data analysis program 204 that reads and analyzes print data, and a printer command generation program 205 that converts the analysis result into a printer command.

印刷データ解析プログラム204は、受け取った印刷データを順次解析しそれらをプリンタコマンドに変換するために、プリンタコマンド生成プログラムが用意する直線描画や矩形描画、矩形塗り、多角形塗り、画像描画など様々な描画APIを適宜呼び出す。プリンタコマンド生成プログラム205には、描画APIの各々に対応した直線描画や矩形描画、矩形塗り、多角形塗り、画像描画用の個別プリンタコマンド生成プログラム206が用意されている。そして、印刷データ解析プログラム204によって順次呼び出されたAPIに対応する個別プリンタコマンド生成プログラム206が実行されることによってプリンタコマンドが順次生成され、生成されたプリンタコマンドがプリンタに対して出力される。   The print data analysis program 204 sequentially analyzes the received print data and converts them into printer commands. Various data such as line drawing, rectangle drawing, rectangle painting, polygon painting, and image drawing prepared by the printer command generation program are provided. Call drawing API as appropriate. In the printer command generation program 205, individual printer command generation programs 206 for line drawing, rectangle drawing, rectangle painting, polygon painting, and image drawing corresponding to each drawing API are prepared. Then, by executing the individual printer command generation program 206 corresponding to the API sequentially called by the print data analysis program 204, printer commands are sequentially generated, and the generated printer commands are output to the printer.

このような、印刷データ解析プログラム204とプリンタコマンド生成プログラム205およびプリンタコマンドに含まれる個別プリンタコマンド生成プログラム206は、一体のレンダラプログラム203として提供されるのが一般的であった。   The print data analysis program 204, the printer command generation program 205, and the individual printer command generation program 206 included in the printer command are generally provided as an integrated renderer program 203.

しかし、プリンタコマンド生成プログラム205はプリンタの種類や機種毎に用意しなければならない。このことから、印刷データ解析プログラム204とプリンタコマンド生成プログラム205が一体となっている構成の場合、多くのプリンタの種類や機種に対応するレンダラプログラム203を用意しようとすると、レンダラプログラム全体のサイズが肥大する。そして、結果として唯一つのプリンタを使用するためのプログラムを配布する場合でも、配布用のメディアを多く消費したり、ユーザがレンダラプログラムをサーバからダウンロードするために要する時間が長くなったりしてしまう問題点があった。   However, the printer command generation program 205 must be prepared for each printer type and model. Therefore, in the case where the print data analysis program 204 and the printer command generation program 205 are integrated, if the renderer program 203 corresponding to many types and models of printers is prepared, the size of the entire renderer program is reduced. Enlarge. As a result, even when a program for using only one printer is distributed, a large amount of distribution media is consumed, and the time required for the user to download the renderer program from the server becomes long. There was a point.

また、近年では図3のように、レンダラプログラム303とプリンタコマンド生成プログラム305とを別々に構成し、印刷データ解析プログラム304のみがレンダラプログラム303に含まれる方式もとられるようになってきた。この場合、レンダラプログラム303がその実行時にプリンタコマンド生成プログラム305をメモリにロードし、動的にリンクする。その後、レンダラプログラム303に含まれる印刷データ解析プログラム304が、受け取った印刷データを順次解析しそれらをプリンタコマンドに変換するために、プリンタコマンド生成プログラム305が用意する直線描画や矩形描画、矩形塗り、多角形塗り、画像描画など様々な描画APIを適宜呼び出す。   In recent years, as shown in FIG. 3, the renderer program 303 and the printer command generation program 305 are configured separately, and only the print data analysis program 304 is included in the renderer program 303. In this case, the renderer program 303 loads the printer command generation program 305 into the memory at the time of execution, and dynamically links it. Thereafter, in order for the print data analysis program 304 included in the renderer program 303 to sequentially analyze the received print data and convert them into printer commands, straight line drawing, rectangle drawing, rectangle painting, Various drawing APIs such as polygon filling and image drawing are appropriately called.

プリンタコマンド生成プログラム305には、描画APIの各々に対応した直線描画や矩形描画、矩形塗り、多角形塗り、画像描画用の個別プリンタコマンド生成プログラム306が用意されている。そして、印刷データ解析プログラム304によって順次呼び出されたAPIに対応する個別プリンタコマンド生成プログラム306が実行されることによってプリンタコマンドが順次生成され、生成されたプリンタコマンドがプリンタに対して出力される。   In the printer command generation program 305, individual printer command generation programs 306 for line drawing, rectangle drawing, rectangle painting, polygon painting, and image drawing corresponding to each drawing API are prepared. Then, by executing the individual printer command generation program 306 corresponding to the API sequentially called by the print data analysis program 304, printer commands are sequentially generated, and the generated printer commands are output to the printer.

このような構成では、ユーザはレンダラプログラム303とプリンタコマンド生成プログラム305を別々に、配布用のメディアもしくはサーバからダウンロードしてインストールする。これによって、配布用のメディアの消費を少なくすることが可能となった。また、一旦レンダラプログラム303とプリンタコマンド生成プログラム305をサーバからダウンロードしてインストールした後、別の機種用のプリンタコマンド生成プログラム305のみをサーバからダウンロードしてインストールする。これによって、ダウンロード時間を短縮することが可能となった。   In such a configuration, the user downloads and installs the renderer program 303 and the printer command generation program 305 separately from a distribution medium or server. This has made it possible to reduce the consumption of media for distribution. Also, once the renderer program 303 and the printer command generation program 305 are downloaded from the server and installed, only the printer command generation program 305 for another model is downloaded from the server and installed. This makes it possible to shorten the download time.

しかし、一方で、ユーザは先ずレンダラプログラム303とプリンタコマンド生成プログラム305とを別々にインストールせねばならない。どちらか一方のインストールの方法を間違えたりインストールを忘れたりすると、アプリケーション301が生成した印刷データがスプーリング・システム302に印刷要求として渡されても印刷データ解析プログラム304を含むレンダラプログラム303が無い。このため印刷データを解析できなかったり、プリンタコマンド生成プログラム305が無いためにプリンタを制御するためのプリンタコマンドを生成することができず、結果として印刷できなかったりすることになり、ユーザビリティの視点から問題が生じていた。   However, on the other hand, the user must first install the renderer program 303 and the printer command generation program 305 separately. If either one of the installation methods is wrong or the installation is forgotten, there is no renderer program 303 including the print data analysis program 304 even if the print data generated by the application 301 is passed to the spooling system 302 as a print request. For this reason, the print data cannot be analyzed, or since there is no printer command generation program 305, a printer command for controlling the printer cannot be generated, and as a result, printing cannot be performed. There was a problem.

また、プリンタコマンド生成プログラム305に不具合があった場合に、本構成ではN個全ての個別プリンタコマンド生成プログラム306を含んだプリンタコマンド生成プログラム305全体を入れ替えなければならない。このため、プリンタコマンド生成プログラムのサイズが大きい場合に問題となっていた。   Further, when there is a problem with the printer command generation program 305, the entire printer command generation program 305 including all N individual printer command generation programs 306 must be replaced in this configuration. For this reason, there has been a problem when the size of the printer command generation program is large.

さらに、プログラム開発の観点からは、プリンタコマンド生成プログラム305のデバグ作業において効率的なデバグを可能とするためには、プリンタの動作を一部変更して動作を確認する際に、レンダラプログラム303全体をコンパイルしたりリンクし直したりすることなく、プリンタコマンド生成プログラム305の中の一部の個別プリンタコマンド生成プログラム306を入れ替えたり、入れ替えた機能を元に戻したりする方法が求められていた。   Further, from the viewpoint of program development, in order to enable efficient debugging in the debugging work of the printer command generation program 305, when the operation of the printer is partially changed and the operation is confirmed, the entire renderer program 303 is checked. Therefore, there is a need for a method for replacing a part of the individual printer command generation program 306 in the printer command generation program 305 or returning the replaced function without compiling or relinking the program.

本発明は前述の問題点に鑑み、プリンタコマンド生成プログラムの置き換えを行うことができるようにすることを目的としている。   An object of the present invention is to make it possible to replace a printer command generation program in view of the above-described problems.

そこで本発明では、前記アプリケーションプログラムから出力される印刷データを変換してプリンタに対してプリンタコマンドを出力する印刷方法であって、修正プリンタコマンド生成プログラムの有無を判定する判定工程と、前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムのバージョン番号を取得する第1の番号取得工程と、前記修正プリンタコマンド生成プログラムを実行メモリにロードし、前記レンダラプログラムと動的にリンクする動的リンク工程と、前記修正プリンタコマンド生成プログラムのバージョン番号を取得する第2の番号取得工程と、前記プリンタコマンド生成プログラムのバージョン番号と前記修正プリンタコマンド生成プログラムのバージョン番号とを比較する比較工程と、前記比較工程における比較結果に基づいて前記プリンタコマンドを生成するプリンタコマンド生成工程とを有することを特徴とする印刷方法等、を提供する。   Therefore, in the present invention, there is provided a printing method for converting print data output from the application program and outputting a printer command to a printer, a determination step for determining the presence or absence of a modified printer command generation program, and the renderer program A first number acquisition step of acquiring a version number of a printer command generation program provided together with the dynamic link step of loading the modified printer command generation program into an execution memory and dynamically linking with the renderer program; A second number acquisition step of acquiring a version number of the modified printer command generation program; a comparison step of comparing the version number of the printer command generation program with the version number of the modified printer command generation program; To provide a printing method or the like, characterized in that it comprises a printer command generating process of generating the printer command based on the comparison result in.

本発明によれば、レンダラプログラムと一体となったプリンタコマンド生成プログラムの配布が可能となると同時に、当該プリンタコマンド生成プログラムの機能の全部または一部の修正プリンタコマンド生成プログラムによる置き換えが可能となる。また、必要最小限の修正を行う修正プリンタコマンド生成プログラムを提供することによって、置き換えの必要がないプログラムが配布用のメディアを消費したり余計なダウンロード時間を要したりすることなく、効率的なプリンタコマンド生成プログラムの置き換えが可能となる。さらに、レンダラプログラム全体をコンパイルしたりリンクし直したりすることなく、プリンタコマンド生成プログラムの機能の全部または一部の置き換えを可能とし、プログラム開発の観点からも、効率的なプログラムのデバグが可能となる。   According to the present invention, it is possible to distribute a printer command generation program integrated with a renderer program, and at the same time, it is possible to replace all or part of the functions of the printer command generation program with a modified printer command generation program. In addition, by providing a modified printer command generation program that performs the minimum necessary corrections, programs that do not need to be replaced are efficient without consuming media for distribution or requiring extra download time. It is possible to replace the printer command generation program. In addition, it is possible to replace all or part of the functions of the printer command generation program without compiling or re-linking the entire renderer program, enabling efficient program debugging from the viewpoint of program development. Become.

(第1の実施形態)
以下、図面に基づいて、本発明の実施形態を詳細に、かつ具体的に説明する。
図1は、本実施形態のプログラムの構成例を示すブロック図である。
101はアプリケーションプログラムであり、102はスプーリング・システムである。また、103はレンダラプログラムであり、104はレンダラプログラム103に含まれる印刷データ解析プログラムである。
(First embodiment)
Hereinafter, embodiments of the present invention will be described in detail and specifically based on the drawings.
FIG. 1 is a block diagram illustrating a configuration example of a program according to the present embodiment.
Reference numeral 101 denotes an application program, and reference numeral 102 denotes a spooling system. Reference numeral 103 denotes a renderer program, and reference numeral 104 denotes a print data analysis program included in the renderer program 103.

105はプリンタコマンド生成プログラムであり、106はプリンタコマンド生成プログラムに含まれる個別プリンタコマンド生成プログラムである。また、107は修正プリンタコマンド生成プログラムであり、108は修正プリンタコマンド生成プログラムに含まれる個別プリンタコマンド生成プログラムである。   Reference numeral 105 denotes a printer command generation program, and reference numeral 106 denotes an individual printer command generation program included in the printer command generation program. Reference numeral 107 denotes a modified printer command generation program, and reference numeral 108 denotes an individual printer command generation program included in the modified printer command generation program.

さらに、110は印刷データ解析プログラムに含まれる関数テーブルである。関数テーブル110は、プリンタコマンド生成プログラム105に含まれる個別プリンタコマンド生成プログラム106の各々のASCII文字列による関数名と先頭アドレスを格納するテーブルである。また、関数テーブル110の要素数は、個別プリンタコマンド生成プログラム106の数分だけ予め用意するものとする。なお、関数テーブル110の関数名を格納する領域は、個別プリンタコマンド生成プログラム106の関数名を格納するのに十分な長さの固定バイト数の領域とする。そして、その領域にASCIIコードおよび0で終端された文字列を格納するものとする。   Reference numeral 110 denotes a function table included in the print data analysis program. The function table 110 is a table that stores a function name and a head address of each individual printer command generation program 106 included in the printer command generation program 105 using ASCII character strings. The number of elements in the function table 110 is prepared in advance for the number of individual printer command generation programs 106. Note that the area for storing the function name in the function table 110 is an area having a fixed number of bytes long enough to store the function name of the individual printer command generation program 106. Then, an ASCII code and a character string terminated with 0 are stored in the area.

図6は、本実施形態におけるコンピュータシステム構成例を示すブロック図である。
CPU601は制御を司る中央処理装置である。RAM602はプログラムをロードして動作させると共にデータを一時的に格納しておくメモリである。外部記憶装置603は、ハードディスク等の外部記憶装置によって構成され、プログラムを格納する。I/O604は、プリンタと接続するためのUSB等の物理インタフェースである。
FIG. 6 is a block diagram illustrating a configuration example of a computer system according to the present embodiment.
A CPU 601 is a central processing unit that performs control. A RAM 602 is a memory that loads and operates a program and temporarily stores data. The external storage device 603 is configured by an external storage device such as a hard disk and stores a program. An I / O 604 is a physical interface such as a USB for connecting to a printer.

図4−1、図4−2及び図4−3は、本実施形態における印刷装置の処理手順を示すフローチャートである。図1及び図4−1〜図4−3に示すフローチャートを参照しながら、本装置の動作を以下に説明する。   4A, 4B, and 4C are flowcharts illustrating a processing procedure of the printing apparatus according to the present exemplary embodiment. The operation of this apparatus will be described below with reference to the flowcharts shown in FIG. 1 and FIGS. 4-1 to 4-3.

まず、図1のアプリケーションプログラム101が印刷データを生成し、それをスプーリング・システム102に対して印刷要求として投入するによって、印刷処理が開始される。当該印刷処理の開始が、図4−1のフローチャートの印刷開始に相当する。   First, when the application program 101 in FIG. 1 generates print data and inputs it as a print request to the spooling system 102, print processing is started. The start of the printing process corresponds to the printing start in the flowchart of FIG.

印刷処理が開始されると、ステップS401ではスプーリング・システム102がレンダラプログラム103をメモリ上にロードして起動する。レンダラプログラム103とスプーリング・システム102はOS上における別の実行単位、即ち別のプロセスとして実行され、スプーリング・システム102からレンダラプログラム103への印刷データの受け渡しは、OSに備わるパイプの機能を用いて行う。   When the printing process is started, the spooling system 102 loads the renderer program 103 onto the memory and starts it in step S401. The renderer program 103 and the spooling system 102 are executed as separate execution units on the OS, that is, as separate processes. The print data transfer from the spooling system 102 to the renderer program 103 is performed by a pipe function provided in the OS. To do.

レンダラプログラム103は起動されると、ステップS402において、プリンタコマンド生成プログラム105をメモリ上にロードしてリンクする。この時、レンダラプログラム103とプリンタコマンド生成プログラム105はOS上における同じ実行単位、即ち同一プロセスとして実行される。   When the renderer program 103 is activated, the printer command generation program 105 is loaded onto the memory and linked in step S402. At this time, the renderer program 103 and the printer command generation program 105 are executed as the same execution unit on the OS, that is, as the same process.

次に、ステップS403において、レンダラプログラム103はリンクしたプリンタコマンド生成プログラム105のデータ領域に記録されているバージョン番号を取得してそれをレジスタR1にセットする。   In step S403, the renderer program 103 acquires the version number recorded in the data area of the linked printer command generation program 105 and sets it in the register R1.

次に、ステップS404において、レンダラプログラム103がプリンタコマンド生成プログラム105に含まれる各々の個別プリンタコマンド生成プログラム106の関数名と先頭アドレスを、関数テーブル110にセットする。この時点で、関数テーブル110の全ての要素には、プリンタコマンド生成プログラム105に含まれる何れかの個別プリンタコマンド生成プログラム106の関数名および先頭アドレスがセットされることになる。   In step S <b> 404, the renderer program 103 sets the function name and head address of each individual printer command generation program 106 included in the printer command generation program 105 in the function table 110. At this point, the function name and head address of any individual printer command generation program 106 included in the printer command generation program 105 are set in all elements of the function table 110.

次に、ステップS405において、修正プリンタコマンド生成プログラム107の有無をチェックする。修正プリンタコマンド生成プログラム107は、予めハードディスクのような外部記憶装置603の専用のディレクトリに予め記録されているものとする。そして、修正プリンタコマンド生成プログラム107の有無のチェックは、外部記憶装置603の専用のディレクトリに、プログラムが存在するか否かによって行う。   Next, in step S405, the presence or absence of the modified printer command generation program 107 is checked. The modified printer command generation program 107 is recorded in advance in a dedicated directory of the external storage device 603 such as a hard disk. The presence / absence of the modified printer command generation program 107 is checked based on whether the program exists in a dedicated directory of the external storage device 603.

このチェックの結果、前記ディレクトリにプログラムが存在しない場合は、修正プリンタコマンド生成プログラムが一切用意されていないものと判断し、図4−3におけるステップS420に進む。一方、ステップS405のチェックの結果、前記ディレクトリにプログラムが存在する場合は、ステップS411に進む。前記ディレクトリにプログラムが存在する場合についての詳細な説明は後述する。   As a result of this check, if there is no program in the directory, it is determined that no modified printer command generation program is prepared, and the process proceeds to step S420 in FIG. 4-3. On the other hand, if it is determined in step S405 that the program exists in the directory, the process proceeds to step S411. A detailed description of the case where the program exists in the directory will be described later.

ステップS420では、レンダラプログラム103がOSが用意するパイプ経由でスプーリング・システム102から印刷データを順次読み込んでレンダラプログラム103のバッファに格納し、そのデータを印刷データ解析プログラム104に渡す。それと並行して、レンダラプログラム103とは別のプロセスであるスプーリング・システム102は、順次印刷データをパイプに書き込むが、全ての印刷データをパイプ経由でレンダラプログラム103に送付し終えるとパイプをクローズする。レンダラプログラム103はパイプがクローズされたことを検知することによって、全ての印刷データの読み込みが完了したか否かを判別する。   In step S420, the renderer program 103 sequentially reads print data from the spooling system 102 via a pipe provided by the OS, stores the print data in the buffer of the renderer program 103, and passes the data to the print data analysis program 104. At the same time, the spooling system 102, which is a process different from the renderer program 103, sequentially writes the print data to the pipe, but closes the pipe when all the print data has been sent to the renderer program 103 via the pipe. To do. The renderer program 103 determines whether all print data has been read by detecting that the pipe has been closed.

この判別の結果、レンダラプログラム103がスプーリング・システム102から全ての印刷データの読み込みの完了した場合は、ステップS423に進み、完了していない場合は、ステップS421に進む。なお、印刷データ解析プログラム104はレンダラプログラム103に含まれるプログラムであることから、レンダラプログラム103から印刷データ解析プログラム104への印刷データの受け渡しはレンダラプログラム103のバッファを介して行う。   As a result of the determination, if the renderer program 103 has finished reading all print data from the spooling system 102, the process proceeds to step S423, and if not completed, the process proceeds to step S421. Since the print data analysis program 104 is a program included in the renderer program 103, print data is transferred from the renderer program 103 to the print data analysis program 104 via the buffer of the renderer program 103.

次に、ステップS421では、印刷データ解析プログラム104が印刷データを解析する。そして、印刷データの種類に応じて直線描画や矩形描画、矩形塗り、多角形塗り、画像描画用の個別プリンタコマンド生成プログラム106を実行するために、各々のプログラムの先頭アドレスが格納されている関数テーブル110を参照する。これにより、各プログラムの先頭アドレスを取得し、そのアドレスから個別プリンタコマンド生成プログラム106実行することによって個々のプリンタコマンドを生成する。   Next, in step S421, the print data analysis program 104 analyzes the print data. In order to execute the individual printer command generation program 106 for line drawing, rectangle drawing, rectangle painting, polygon painting, and image drawing according to the type of print data, a function that stores the top address of each program is stored. Refer to table 110. As a result, the head address of each program is acquired, and the individual printer command is generated by executing the individual printer command generation program 106 from the address.

次に、ステップS422では、生成したプリンタコマンドをプリンタに出力してプリンタを駆動し、ステップS420に戻って処理を繰り返す。一方、ステップS423において、レンダラプログラム103がリンクしていたプリンタコマンド生成プログラム105を解放し、レンダラプログラム103自身のプロセスの実行を終了して、全体の印刷処理を終了する。   In step S422, the generated printer command is output to the printer to drive the printer, and the process returns to step S420 to repeat the process. On the other hand, in step S423, the printer command generation program 105 linked by the renderer program 103 is released, the execution of the process of the renderer program 103 itself is terminated, and the entire printing process is terminated.

以上の処理のように、アプリケーションが生成した印刷データが複数のプリンタコマンド生成プログラム105によってプリンタコマンドに変換されてプリンタに出力されることによってプリンタが駆動され、印刷結果がプリンタから出力される。   As described above, the print data generated by the application is converted into a printer command by a plurality of printer command generation programs 105 and output to the printer, whereby the printer is driven, and the print result is output from the printer.

次に、修正プリンタコマンド生成プログラム107によって、プリンタコマンドの生成プログラムの一部を置き換える処理について説明する。図1のアプリケーションプログラム101が印刷データを生成し、それをスプーリング・システム102に対して印刷要求として投入するによって、印刷処理が開始される点においては、修正プリンタコマンド生成プログラム107が無い場合と同様である。また、ステップS401からステップS404までの処理についても同様である。   Next, processing for replacing a part of the printer command generation program by the modified printer command generation program 107 will be described. The application program 101 in FIG. 1 generates print data and inputs it as a print request to the spooling system 102, so that the printing process is started and there is no modified printer command generation program 107. It is the same. The same applies to the processing from step S401 to step S404.

次に、ステップS405では、修正プリンタコマンド生成プログラム107の有無をチェックする。修正プリンタコマンド生成プログラム107の有無のチェックは、同様に外部記憶装置603の専用のディレクトリに、プログラムが存在するか否かによって行う。上記ディレクトリにプログラムが存在する場合は、修正プリンタコマンド生成プログラム107が存在すると判断して、図4−2のステップS411に処理を進める。   In step S405, the presence / absence of the modified printer command generation program 107 is checked. The presence / absence of the modified printer command generation program 107 is similarly checked based on whether or not the program exists in a dedicated directory of the external storage device 603. If there is a program in the directory, it is determined that the modified printer command generation program 107 exists, and the process proceeds to step S411 in FIG.

ステップS411では、まず修正プリンタコマンド生成プログラム107のプログラム名の一覧を作成する。プログラム名の一覧は、外部記憶装置603の専用のディレクトリに格納されているプログラムの名前を1つずつ取り出して、図5のようなリスト構造を用いて作成することにより行う。   In step S411, a list of program names of the modified printer command generation program 107 is first created. The list of program names is obtained by taking out the names of programs stored in a dedicated directory of the external storage device 603 one by one and using a list structure as shown in FIG.

図5では、修正プリンタコマンド生成プログラム107の名前リストのポインタ501に、最初のプログラム名を格納するための要素511の先頭アドレスを格納する。なお、修正プリンタコマンド生成プログラム107の名前リストのポインタ501は、RAM602に用意するものとする。   In FIG. 5, the head address of the element 511 for storing the first program name is stored in the name list pointer 501 of the modified printer command generation program 107. It should be noted that the name list pointer 501 of the modified printer command generation program 107 is prepared in the RAM 602.

要素511中のポインタ"next"には、次のプログラム名を格納するための要素512の先頭アドレスを格納し、要素511中のポインタ"str"には、要素511が格納するプログラム名の文字列521の先頭アドレスを格納する。文字列はASCIIコード等の一般的な文字コードで表現され、その終端は値0の文字コードによって表す。以下、専用のディレクトリに格納されているプログラムの名前を1つずつ要素512、513、514と格納し、最後の要素のポインタ"next"にはNULL値(ゼロ)を格納して、最後の要素であることを明示する。   The pointer “next” in the element 511 stores the start address of the element 512 for storing the next program name, and the pointer “str” in the element 511 stores the character string of the program name stored in the element 511. The head address of 521 is stored. The character string is represented by a general character code such as an ASCII code, and the end thereof is represented by a character code having a value of 0. Hereinafter, the names of the programs stored in the dedicated directory are stored one by one as elements 512, 513, and 514, the NULL value (zero) is stored in the pointer “next” of the last element, and the last element It is clearly indicated that

なお、図5は要素が4つ、即ち専用のディレクトリに格納されているプログラムの数が4つで、それらの名前4つをリスト構造に格納した場合となっているが、プログラムの数は4つに制限されるものではない。専用ディレクトリに格納されている1つ以上のプログラムの個数と同じ要素数を持つリスト構造を作るものとする。   FIG. 5 shows a case in which there are four elements, that is, the number of programs stored in the dedicated directory is four, and four names thereof are stored in the list structure, but the number of programs is four. It is not limited to one. Assume that a list structure having the same number of elements as the number of one or more programs stored in a dedicated directory is created.

次に、ステップS412では、図5に示す修正プリンタコマンド生成プログラム107の名前の先頭アドレスを指すポインタ501を用いて、リストの最初の要素511に格納されているプログラム名を指定する。そして、最初の修正プリンタコマンド生成プログラム107を外部記憶装置603の専用ディレクトリからメモリ上にロードしてリンクする。   Next, in step S412, the program name stored in the first element 511 of the list is designated using the pointer 501 indicating the head address of the name of the modified printer command generation program 107 shown in FIG. Then, the first modified printer command generation program 107 is loaded from the dedicated directory of the external storage device 603 onto the memory and linked.

次に、ステップS413では、ステップS412にてリンクした修正プリンタコマンド生成プログラム107のデータ領域に記録されているバージョン番号を取得してそれをレジスタR2にセットする。   In step S413, the version number recorded in the data area of the modified printer command generation program 107 linked in step S412 is acquired and set in the register R2.

次にステップS414では、レジスタR1とレジスタR2にセットされている2つのバージョン番号を比較して、レジスタR2のバージョン番号の方がレジスタR1のバージョン番号よりも新しいか否かを判断する。この判断の結果、レジスタR2のバージョン番号の方が新しい場合は、ステップS415に進み、それ以外の場合はステップS416に進む。   Next, in step S414, the two version numbers set in the registers R1 and R2 are compared, and it is determined whether or not the version number of the register R2 is newer than the version number of the register R1. As a result of the determination, if the version number of the register R2 is newer, the process proceeds to step S415. Otherwise, the process proceeds to step S416.

ステップS415では、修正プリンタコマンド生成プログラム107に含まれる個別プリンタコマンド生成プログラム108の先頭アドレスを、関数テーブル110中の対応する個別プリンタコマンド生成プログラム106の要素に対して上書きする。なお、個別プリンタコマンド生成プログラム108に対応する関数テーブル110中の要素の選択は、個別プリンタコマンド生成プログラムの関数名を関数テーブル110のN個の要素に格納されている関数名と一つ一つ照合する。そして、一致した要素X(1≦X≦N)を選択すればよい。   In step S415, the head address of the individual printer command generation program 108 included in the modified printer command generation program 107 is overwritten on the corresponding element of the individual printer command generation program 106 in the function table 110. The selection of the elements in the function table 110 corresponding to the individual printer command generation program 108 is performed by selecting the function names of the individual printer command generation program and the function names stored in the N elements of the function table 110 one by one. Match. Then, a matching element X (1 ≦ X ≦ N) may be selected.

本処理よって、元々プリンタコマンド生成プログラム105において用意されていた個別プリンタコマンド生成プログラム106は、もはや印刷データ解析プログラム104からは呼び出されることはなくなる。そして、修正プリンタコマンド生成プログラム107によって提供される新しい個別プリンタコマンド生成プログラム108が代わって呼び出され実行されることとなる。一方、ステップS416では、メモリ上にロードしてリンクした修正プリンタコマンド生成プログラム107のリンクを解除しメモリから解放してステップS417へ処理を進める。   By this processing, the individual printer command generation program 106 originally prepared in the printer command generation program 105 is no longer called from the print data analysis program 104. Then, the new individual printer command generation program 108 provided by the modified printer command generation program 107 is called and executed instead. On the other hand, in step S416, the modified printer command generation program 107 loaded and linked in the memory is unlinked and released from the memory, and the process proceeds to step S417.

次にステップS417では、図5のリスト構造の要素中のポインタ"next"を参照して、NULL値が格納されているか否かを判断する。この判断の結果、NULL値が格納されていなければ次の要素があるものと判断して、ステップS418に進み、NULL値が格納されていた場合は次の要素はないと判断して、図4−3のステップS420に進む。   In step S417, it is determined whether or not a NULL value is stored with reference to the pointer “next” in the elements of the list structure of FIG. If a NULL value is not stored as a result of this determination, it is determined that there is a next element, and the process proceeds to step S418. If a NULL value is stored, it is determined that there is no next element, and FIG. -3.

ステップS418では、次の要素に格納されているプログラム名を指定して、その修正プリンタコマンド生成プログラム107をメモリ上にロードしリンクして、ステップS413に戻る。   In step S418, the program name stored in the next element is designated, the corrected printer command generation program 107 is loaded and linked on the memory, and the process returns to step S413.

以上の一連の処理によって、外部記憶装置603の専用のディレクトリに格納されている修正プリンタコマンド生成プログラム107のうち、プリンタコマンド生成プログラム105のバージョン番号よりも新しいバージョン番号を持つ修正プリンタコマンド生成プログラム107がメモリ上にロードかつリンクされる。それらのプログラムに含まれている個別プリンタコマンド生成プログラム108の先頭アドレスが関数テーブル110にセットされた後に、ステップS420に処理が進められることになる。   Through the series of processes described above, the modified printer command generation program 107 having a version number newer than the version number of the printer command generation program 105 among the modified printer command generation programs 107 stored in the dedicated directory of the external storage device 603. Are loaded and linked into memory. After the head address of the individual printer command generation program 108 included in these programs is set in the function table 110, the process proceeds to step S420.

ステップS420では、修正プリンタコマンド生成プログラム107が無い場合と同様に、レンダラプログラム103がOSが用意するパイプ経由で印刷データを順次読み込んでレンダラプログラム103のバッファに格納する。そして、そのデータを印刷データ解析プログラム104に渡す。   In step S420, as in the case where there is no modified printer command generation program 107, the renderer program 103 sequentially reads print data via a pipe prepared by the OS and stores it in the buffer of the renderer program 103. Then, the data is transferred to the print data analysis program 104.

それと並行して、スプーリング・システム102が、順次印刷データをパイプに書き込み、全ての印刷データを送付し終えるとパイプをクローズし、レンダラプログラム103はパイプがクローズされたことを検知する。これによって、全ての印刷データの読み込みが完了したか否かを判別する。この判別の結果、全ての印刷データの読み込みの完了した場合は、ステップS423に進み、完了していない場合は、ステップS421に進む。   At the same time, the spooling system 102 sequentially writes the print data to the pipe and closes the pipe when all the print data has been sent, and the renderer program 103 detects that the pipe has been closed. Thereby, it is determined whether or not reading of all print data is completed. As a result of the determination, if reading of all print data is completed, the process proceeds to step S423, and if not completed, the process proceeds to step S421.

次に、ステップS421では、関数テーブル110の幾つかの要素には、修正プリンタコマンド生成プログラム107内の個別プリンタコマンド生成プログラム108の先頭アドレスがセットされている。また、残りの要素には、プリンタコマンド生成プログラム105内の個別プリンタコマンド生成プログラム106の先頭アドレスがセットされたままとなっている。   In step S421, the top address of the individual printer command generation program 108 in the modified printer command generation program 107 is set in some elements of the function table 110. In the remaining elements, the head address of the individual printer command generation program 106 in the printer command generation program 105 remains set.

この状態で、印刷データ解析プログラム104が印刷データを解析する。印刷データの種類に応じて、直線描画や矩形描画、矩形塗り、多角形塗り、画像描画用の個別プリンタコマンド生成プログラムを実行するために、各々のプログラムの先頭アドレスが格納されている関数テーブル110を参照する。そして、各プログラムの先頭アドレスを取得する。   In this state, the print data analysis program 104 analyzes the print data. In order to execute the individual printer command generation program for straight line drawing, rectangular drawing, rectangular painting, polygon painting, and image drawing according to the type of print data, the function table 110 that stores the top address of each program is stored. Refer to Then, the top address of each program is acquired.

次に、そのアドレスから個別プリンタコマンド生成プログラムを実行することによって、修正プリンタコマンド生成プログラム107によって置き換えられたプリンタコマンド生成は個別プリンタコマンド生成プログラム108によって行われる。それ以外のプリンタコマンド生成は、元のプリンタコマンド生成プログラム105内の個別プリンタコマンド生成プログラム106によって行われる。   Next, by executing the individual printer command generation program from the address, the printer command generation replaced by the modified printer command generation program 107 is performed by the individual printer command generation program 108. Other printer command generation is performed by the individual printer command generation program 106 in the original printer command generation program 105.

次に、ステップS422では、生成したプリンタコマンドをプリンタに出力しプリンタを駆動して、ステップS420に戻って処理を繰り返す。最後に、ステップS420からステップS422までの一連の処理によって全ての印刷データの読み込みとそれによるプリンタコマンドの生成およびプリンタへの出力が完了すると、ステップS423に処理を進める。   In step S422, the generated printer command is output to the printer to drive the printer, and the process returns to step S420 to repeat the process. Finally, when reading of all print data, generation of a printer command and output to the printer are completed by a series of processes from step S420 to step S422, the process proceeds to step S423.

ステップS423において、レンダラプログラム103がリンクしていたプリンタコマンド生成プログラムおよび全ての修正プリンタコマンド生成プログラムを解放し、レンダラプログラム103自身のプロセスの実行を終了して、全体の印刷処理を終了する。   In step S423, the printer command generation program linked to the renderer program 103 and all the modified printer command generation programs are released, the execution of the process of the renderer program 103 itself is terminated, and the entire printing process is terminated.

以上の処理のように、アプリケーションが生成した印刷データがプリンタコマンドに変換される際に、修正プリンタコマンド生成プログラム107によって提供される個別プリンタコマンド生成プログラム108によって、任意かつ複数のプリンタコマンド生成プログラム105が置き換えられた上でプリンタコマンドが生成され、プリンタに出力されることによってプリンタが駆動され、印刷結果がプリンタから出力される。   As described above, when the print data generated by the application is converted into a printer command, the individual printer command generation program 108 provided by the modified printer command generation program 107 can be used to arbitrarily and a plurality of printer command generation programs 105. Is replaced, and a printer command is generated and output to the printer, thereby driving the printer and outputting a print result from the printer.

以上の説明では、プリンタコマンド生成プログラム105内の個別プリンタコマンド生成プログラム106を、別の個別プリンタコマンド生成プログラム108によって置き換える場合の処理の流れについて説明してきた。しかしながら、プリンタコマンド生成プログラム105内のどの個別プリンタコマンド生成プログラム106を置き換えるかは、外部記憶装置603の専用のディレクトリに格納する修正プリンタコマンド生成プログラム107の数やそれらが提供する個別プリンタコマンド生成プログラム108によって、いかようにも変更可能であるという点が重要である。   In the above description, the flow of processing when the individual printer command generation program 106 in the printer command generation program 105 is replaced by another individual printer command generation program 108 has been described. However, which individual printer command generation program 106 in the printer command generation program 105 is replaced depends on the number of modified printer command generation programs 107 stored in a dedicated directory in the external storage device 603 and the individual printer command generation program provided by them. It is important that 108 can be changed in any way.

この特性によって、例えば、プリンタコマンドの生成プログラムの一部をデバグするために、デバグ用の個別プリンタコマンド生成プログラム108を含んだ修正プリンタコマンド生成プログラム107を用意し、それを専用ディレクトリに格納する。その後アプリケーションから印刷要求を発行させるだけで、プリンタコマンド生成プログラム105を再コンパイルおよび再リンクすることなく、その機能の一部を置き換えるデバグ用の個別プリンタコマンド生成プログラムを容易に実行させることが可能となる。   Based on this characteristic, for example, in order to debug a part of the printer command generation program, a modified printer command generation program 107 including an individual printer command generation program 108 for debugging is prepared and stored in a dedicated directory. After that, it is possible to easily execute an individual printer command generation program for debugging that replaces a part of the function without recompiling and relinking the printer command generation program 105 only by issuing a print request from the application. Become.

さらに、デバグが完了した時点で、専用ディレクトリから修正プリンタコマンド生成プログラム107を削除するだけで、元のプリンタコマンド生成プログラム105の処理に簡単に戻すことができる。これだけでなく、デバグの結果、プリンタコマンド生成プログラム105の一部の機能を置き換える必要が発生した場合には、それ用の修正プリンタコマンド生成プログラム107を専用ディレクトリに格納する。これだけで、プリンタコマンド生成プログラム105を再コンパイルおよび再リンクすることなく、所望の個別プリンタ生成プログラムのみを置き換えることが可能となる。   Further, when the debugging is completed, it is possible to easily return to the processing of the original printer command generation program 105 only by deleting the corrected printer command generation program 107 from the dedicated directory. In addition to this, when it is necessary to replace a part of the functions of the printer command generation program 105 as a result of debugging, the modified printer command generation program 107 for that purpose is stored in a dedicated directory. With this alone, it is possible to replace only the desired individual printer generation program without recompiling and relinking the printer command generation program 105.

さらに本実施形態では、ユーザが新しいバージョンのプリンタコマンド生成プログラム105をインストールした場合には、それよりも古いバージョンを持つ修正プリンタコマンド生成プログラム107が実行されないようにすることが可能となる。この特性によって、プリンタコマンド生成プログラム105の全体を入れ替える必要がある場合には、バージョンの新しいプリンタコマンド生成プログラム105を提供する。プリンタコマンド生成プログラム105の一部の機能のみを入れ替える必要がある場合には、バージョンの新しい修正プリンタコマンド生成プログラム107提供する。これにより、入れ替えるプログラムを必要最小限に抑えつつ、プリンタコマンド生成プログラム105の全体の入れ替えも矛盾無く行うことが可能となる。   Furthermore, in the present embodiment, when the user installs a new version of the printer command generation program 105, it is possible to prevent the modified printer command generation program 107 having an older version from being executed. When it is necessary to replace the entire printer command generation program 105 due to this characteristic, a new version of the printer command generation program 105 is provided. When it is necessary to replace only part of the functions of the printer command generation program 105, a new version of the corrected printer command generation program 107 is provided. As a result, it is possible to replace the entire printer command generation program 105 without contradiction while minimizing the number of programs to be replaced.

(本発明に係る他の実施形態)
前述した本発明の実施形態における印刷装置を構成する各手段、並びに印刷方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments according to the present invention)
Each means constituting the printing apparatus and each process of the printing method in the embodiment of the present invention described above can be realized by operating a program stored in a RAM or ROM of a computer. This program and a computer-readable recording medium recording the program are included in the present invention.

また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。   In addition, the present invention can be implemented as, for example, a system, apparatus, method, program, or recording medium. Specifically, the present invention may be applied to a system including a plurality of devices. The present invention may be applied to an apparatus composed of a single device.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図4−1〜図4−3に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給する。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowcharts shown in FIGS. 4-1 to 4-3) that realizes the functions of the above-described embodiments is directly or remotely transmitted to the system or apparatus. Supply. In addition, this includes a case where the system or the computer of the apparatus is also achieved by reading and executing the supplied program code.

したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。   Examples of the recording medium for supplying the program include a floppy (registered trademark) disk, a hard disk, an optical disk, and a magneto-optical disk. Further, there are MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, there is a method of connecting to a homepage on the Internet using a browser of a client computer. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、その他の方法として、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   As another method, the program of the present invention is encrypted, stored in a recording medium such as a CD-ROM, distributed to users, and encrypted from a homepage via the Internet to users who have cleared predetermined conditions. Download the key information to be solved. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   Further, the functions of the above-described embodiments are realized by the computer executing the read program. Furthermore, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can be realized by the processing.

さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   As another method, the program read from the recording medium is first written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Then, based on the instructions of the program, the CPU or the like provided in the function expansion board or function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.

本発明の実施形態のプログラムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the program of embodiment of this invention. 従来のUnix(登録商標)系OSにおいて、印刷処理を行う構成を示すブロック図である。FIG. 10 is a block diagram showing a configuration for performing print processing in a conventional Unix (registered trademark) OS. 従来のUnix(登録商標)系OSにおいて、レンダラプログラムとプリンタコマンド生成プログラムが分離した場合の処理を行う構成を示すブロック図である。FIG. 10 is a block diagram showing a configuration for performing processing when a renderer program and a printer command generation program are separated in a conventional Unix (registered trademark) OS. 本発明の実施形態における印刷装置の処理手順を示すフローチャートである。6 is a flowchart illustrating a processing procedure of the printing apparatus according to the embodiment of the present invention. 本発明の実施形態における印刷装置の処理手順を示すフローチャートである。6 is a flowchart illustrating a processing procedure of the printing apparatus according to the embodiment of the present invention. 本発明の実施形態における印刷装置の処理手順を示すフローチャートである。6 is a flowchart illustrating a processing procedure of the printing apparatus according to the embodiment of the present invention. 本発明の実施形態における修正プリンタコマンド生成プログラムの名前を格納するリスト構造を示す図である。It is a figure which shows the list structure which stores the name of the correction printer command generation program in embodiment of this invention. 本発明の実施形態におけるコンピュータシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer system in embodiment of this invention.

符号の説明Explanation of symbols

101 アプリケーションプログラム
102 スプーリング・システム
103 レンダラプログラム
104 印刷データ解析プログラム
105 プリンタコマンド生成プログラム
106 個別プリンタコマンド生成プログラム
107 修正プリンタコマンド生成プログラム
108 個別プリンタコマンド生成プログラム
110 関数テーブル
201 アプリケーションプログラム
202 スプーリング・システム
203 レンダラプログラム
204 印刷データ解析プログラム
205 プリンタコマンド生成プログラム
206 個別プリンタコマンド生成プログラム
301 アプリケーションプログラム
302 スプーリング・システム
303 レンダラプログラム
304 印刷データ解析プログラム
305 プリンタコマンド生成プログラム
306 個別プリンタコマンド生成プログラム
501 ポインタ
511〜514 要素
521 プログラム名の文字列
601 CPU
602 RAM
603 外部記憶装置
604 物理インタフェース
DESCRIPTION OF SYMBOLS 101 Application program 102 Spooling system 103 Renderer program 104 Print data analysis program 105 Printer command generation program 106 Individual printer command generation program 107 Correction printer command generation program 108 Individual printer command generation program 110 Function table 201 Application program 202 Spooling system 203 Renderer Program 204 Print Data Analysis Program 205 Printer Command Generation Program 206 Individual Printer Command Generation Program 301 Application Program 302 Spooling System 303 Renderer Program 304 Print Data Analysis Program 305 Printer Command Generation Program 306 Individual Printer command of generating program 501 pointer 511-514 element 521 program name string 601 CPU
602 RAM
603 External storage device 604 Physical interface

Claims (4)

アプリケーションプログラムから出力される印刷データを変換してプリンタに対してプリンタコマンドを出力する印刷装置であって、
特定のディレクトリ中の修正プリンタコマンド生成プログラムの有無を判定する判定手段と、
レンダラプログラムと共に提供されるプリンタコマンド生成プログラムのバージョン番号を取得する第1の番号取得手段と、
前記修正プリンタコマンド生成プログラムを実行メモリにロードし、前記レンダラプログラムと動的にリンクする動的リンク手段と、
前記修正プリンタコマンド生成プログラムのバージョン番号を取得する第2の番号取得手段と、
前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムのバージョン番号と、前記修正プリンタコマンド生成プログラムのバージョン番号とを比較する比較手段とを有し、
前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムのバージョン番号の方が前記修正プリンタコマンド生成プログラムのバージョン番号よりも新しい番号であれば、前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムを使用して前記プリンタコマンドの生成を行い、前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムのバージョン番号の方が前記修正プリンタコマンド生成プログラムのバージョン番号よりも古い番号であれば、前記修正プリンタコマンド生成プログラムを使用して前記プリンタコマンドの生成を行い、前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムのバージョン番号と前記修正プリンタコマンド生成プログラムのバージョン番号とが等しい番号であれば、前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムまたは前記修正プリンタコマンド生成プログラムの何れか一方を使用して前記プリンタコマンドの生成を行うことを特徴とする印刷装置。
A printing apparatus that converts print data output from an application program and outputs a printer command to a printer.
Determining means for determining the presence or absence of a modified printer command generation program in a specific directory;
First number acquisition means for acquiring a version number of a printer command generation program provided together with the renderer program;
Dynamic link means for loading the modified printer command generation program into an execution memory and dynamically linking with the renderer program;
Second number acquisition means for acquiring a version number of the modified printer command generation program;
Comparing means for comparing the version number of the printer command generation program provided together with the renderer program and the version number of the modified printer command generation program;
If the version number of the printer command generation program provided with the renderer program is newer than the version number of the modified printer command generation program, the printer command generation program provided with the renderer program is used to If the version number of the printer command generation program provided with the renderer program is older than the version number of the modified printer command generation program, the modified printer command generation program is used. The printer command is generated, the version number of the printer command generation program provided together with the renderer program, and the version of the modified printer command generation program. If numbers are equal numbers, printing apparatus characterized by using either the printer command generation program or the modified printer command generation program is provided with the renderer program for generating the printer commands.
前記修正プリンタコマンド生成プログラムが、前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムの機能の一部を置き換えることを特徴とする請求項1に記載の印刷装置。   The printing apparatus according to claim 1, wherein the modified printer command generation program replaces a part of a function of a printer command generation program provided together with the renderer program. 前記アプリケーションプログラムから出力される印刷データを変換してプリンタに対してプリンタコマンドを出力する印刷方法であって、
修正プリンタコマンド生成プログラムの有無を判定する判定工程と、
前記レンダラプログラムと共に提供されるプリンタコマンド生成プログラムのバージョン番号を取得する第1の番号取得工程と、
前記修正プリンタコマンド生成プログラムを実行メモリにロードし、前記レンダラプログラムと動的にリンクする動的リンク工程と、
前記修正プリンタコマンド生成プログラムのバージョン番号を取得する第2の番号取得工程と、
前記プリンタコマンド生成プログラムのバージョン番号と前記修正プリンタコマンド生成プログラムのバージョン番号とを比較する比較工程と、
前記比較工程における比較結果に基づいて前記プリンタコマンドを生成するプリンタコマンド生成工程とを有することを特徴とする印刷方法。
A printing method for converting print data output from the application program and outputting a printer command to a printer,
A determination step of determining the presence or absence of a modified printer command generation program;
A first number acquisition step of acquiring a version number of a printer command generation program provided together with the renderer program;
A dynamic link step of loading the modified printer command generation program into an execution memory and dynamically linking with the renderer program;
A second number acquisition step of acquiring a version number of the modified printer command generation program;
A comparison step of comparing the version number of the printer command generation program with the version number of the modified printer command generation program;
And a printer command generation step of generating the printer command based on a comparison result in the comparison step.
前記請求項3に記載の方法の各工程をコンピュータにて実施させることを特徴とするコンピュータプログラム。   A computer program that causes a computer to execute the steps of the method according to claim 3.
JP2006106933A 2006-04-07 2006-04-07 Printer and printing method Pending JP2007280148A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006106933A JP2007280148A (en) 2006-04-07 2006-04-07 Printer and printing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006106933A JP2007280148A (en) 2006-04-07 2006-04-07 Printer and printing method

Publications (1)

Publication Number Publication Date
JP2007280148A true JP2007280148A (en) 2007-10-25

Family

ID=38681520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006106933A Pending JP2007280148A (en) 2006-04-07 2006-04-07 Printer and printing method

Country Status (1)

Country Link
JP (1) JP2007280148A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021049717A (en) * 2019-09-25 2021-04-01 東芝テック株式会社 Controller of printer head

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021049717A (en) * 2019-09-25 2021-04-01 東芝テック株式会社 Controller of printer head

Similar Documents

Publication Publication Date Title
JP4979287B2 (en) Image processing apparatus and program
US8392872B2 (en) Pseudo translation within integrated development environment
JP5007046B2 (en) Maintaining component-based software products
JP2008234673A (en) System and method for managing application installation for mobile device
US8561049B2 (en) Method and system for updating content stored in a storage device
US20020144249A1 (en) Method and apparatus for installing and upgrading an application in a computer system
US5991763A (en) Method and apparatus for embedding concatenated data files into object files during runtime in a virtual file system
US8397055B2 (en) Method and system for post-build modification of firmware binaries to support different hardware configurations
JP2007018175A (en) Information processor, its method, and program
JP2000242501A (en) Information processor, information processing method and program writing device
JP2011096100A (en) Setting change device and program
JP2008502968A (en) Method for loading software comprising an intermediate object-oriented language onto a portable device
JP2011070533A (en) Code editing program and code editing apparatus
JP5014366B2 (en) Information processing apparatus, method and program
JP2007280148A (en) Printer and printing method
JP5380895B2 (en) Management program, management method and management apparatus
JP6597356B2 (en) Control program, control device, and control method
JP2018077690A (en) Installation considering compatibility depending on difference in application execution environment, and firmware update method
JP4484001B2 (en) Library function version matching method.
JP2005251127A (en) Pattern system construction device and pattern application device
JP2010072685A (en) Operation implementation system, operation implementation device, control device, operation implementation program, and control program
JP2006268609A (en) File update program and file update method
JP2004348667A (en) Program binding support device and program binding support program
JP2003015827A (en) Device, method for processing character, computer program and storage medium
WO2012066635A1 (en) Test method, test device, and test execution program