JPH1063447A - Printer - Google Patents

Printer

Info

Publication number
JPH1063447A
JPH1063447A JP8224231A JP22423196A JPH1063447A JP H1063447 A JPH1063447 A JP H1063447A JP 8224231 A JP8224231 A JP 8224231A JP 22423196 A JP22423196 A JP 22423196A JP H1063447 A JPH1063447 A JP H1063447A
Authority
JP
Japan
Prior art keywords
data
page
buffer
stored
host data
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
Application number
JP8224231A
Other languages
Japanese (ja)
Other versions
JP3064921B2 (en
Inventor
Toshihiro Shima
敏博 島
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP8224231A priority Critical patent/JP3064921B2/en
Publication of JPH1063447A publication Critical patent/JPH1063447A/en
Application granted granted Critical
Publication of JP3064921B2 publication Critical patent/JP3064921B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Storing Facsimile Image Data (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

PROBLEM TO BE SOLVED: To save the consumption of memory to preserve data of each page in a printer. SOLUTION: After received host data is stored in a host data buffer 13, this data is converted into an intermediate code and stored in an intermediate buffer 17. Then, the intermediate code of a page unit in the buffer 17 and the host data of a corresponded page in the buffer 13 are compared with each other about their sizes, the data whose size is smaller is preserved until the printing of the page is completed and the data whose size is larger is erased. When sheets following a 1st sheet are printed at the time of printing plural sheets of the same page and when a page that can not be printed completely due to an error is printed again, full image data is formed from small data that is stored and printed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータシス
テムで用いられるターミナルプリンタに関わり、特に、
描画データの処理におけるメモリの消費量を節約する技
術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a terminal printer used in a computer system.
The present invention relates to a technology for saving memory consumption in processing of drawing data.

【0002】[0002]

【従来の技術】プリンタの描画データ処理の流れは一般
に次の通りである。まず、ホストコンピュータから到来
した高水準言語の描画データ(以下、ホストデータとい
う)を受信バッファに格納した後、このホストデータを
中間言語で表現した中間コードに変換して中間バッファ
に格納する。このとき、状況によっては、中間コードを
完全なビットイメージデータ(以下、フルイメージデー
タという)に事前展開して(さらに必要に応じて圧縮し
てから)中間バッファに格納することもある。次に、こ
の中間バッファ内のデータに基づいてフルイメージデー
タを印刷バッファ上に展開し、続いて、この印刷バッフ
ァ内のデータを用いて印刷エンジンが用紙上に可視イメ
ージを形成する。
2. Description of the Related Art Generally, the flow of drawing data processing of a printer is as follows. First, drawing data of a high-level language (hereinafter, referred to as host data) received from a host computer is stored in a reception buffer, and then the host data is converted into an intermediate code expressed in an intermediate language and stored in the intermediate buffer. At this time, depending on the situation, the intermediate code may be pre-developed into complete bit image data (hereinafter, referred to as full image data) (and further compressed if necessary) and stored in the intermediate buffer. Next, the full image data is developed on the print buffer based on the data in the intermediate buffer, and subsequently, the print engine forms a visible image on paper using the data in the print buffer.

【0003】このような動作において、ページプリンタ
の場合、中間バッファには通常、中間コード又は事前展
開されたフルイメージデータがページ単位で1ページ分
(このような1ページ分のデータを、以下、ページデー
タという)以上格納される。そして、この中間バッファ
内のページデータは、そのページの印刷が完全に終わる
までずっと、消去されずに保存される。この保存された
ページデータを用いることにより、同じページを複数枚
印刷したり、ページの印刷途中でエラーが生じた場合に
復帰時に同ページの印刷を再実行したりすることができ
る。
[0003] In such an operation, in the case of a page printer, an intermediate buffer or a pre-developed full image data is usually stored in an intermediate buffer for one page in units of a page (such data for one page is hereinafter referred to as a "below"). Page data). The page data in the intermediate buffer is stored without being erased until the page is completely printed. By using the stored page data, the same page can be printed a plurality of times, or if an error occurs during the printing of the page, the same page can be printed again when returning.

【0004】[0004]

【発明が解決しようとする課題】上記のように、ページ
プリンタでは、ページデータを中間バッファに保存して
いるため、ページデータのデータ量が多いと多くのメモ
リを消費することになる。特に両面印刷を行うページプ
リンタの場合、最低でも表面と裏面の2ページ分のペー
ジデータを中間バッファに保存しておく必要があるた
め、メモリの消費量は特に多い。よって、メモリ不足の
エラーが発生する可能性も高い。同様の問題は、程度の
差はあれども、片面印刷のページプリンタやシリアルプ
リンタでも存在する。
As described above, in a page printer, page data is stored in an intermediate buffer, so that a large amount of page data consumes a large amount of memory. Particularly, in the case of a page printer that performs double-sided printing, it is necessary to store at least two pages of front and back page data in an intermediate buffer, so that the memory consumption is particularly large. Therefore, there is a high possibility that a memory shortage error will occur. Similar problems exist, to varying degrees, with single-sided page and serial printers.

【0005】従って、本発明の目的は、印刷未完了のデ
ータの保存に必要なメモリの消費を節約することができ
るプリンタを提供することにある。
Accordingly, it is an object of the present invention to provide a printer capable of saving the memory consumption required for storing unprinted data.

【0006】[0006]

【課題を解決するための手段】本発明のプリンタは、ホ
ストデータを格納するためのホストデータバッファと、
ホストデータから中間コードを生成する中間コード生成
手段と、中間コードを格納するための中間バッファと、
中間コードからフルイメージデータを生成するフルイメ
ージ展開手段と、フルイメージデータに従って印刷を行
う印刷エンジンと、印刷対象文書の各部分の中間コード
とホストデータとをサイズで比較し、サイズのより小さ
い方を判定する比較手段と、前記各部分の中間コードと
ホストデータのうち、比較手段によってサイズがより小
さいと判定された一方を再印刷に備えて保存するよう、
ホストデータバッファ及び中間バッファを制御する制御
手段とを備える。
According to the present invention, there is provided a printer comprising: a host data buffer for storing host data;
Intermediate code generating means for generating an intermediate code from host data, an intermediate buffer for storing the intermediate code,
A full-image developing unit that generates full-image data from the intermediate code, a print engine that prints according to the full-image data, and a comparison between the intermediate code and host data of each part of the document to be printed in terms of size. Comparing means to determine, of the intermediate code and the host data of each part, one of which the size is determined to be smaller by the comparing means is stored for reprinting,
Control means for controlling the host data buffer and the intermediate buffer.

【0007】このプリンタでは、複数部数印刷やエラー
復帰のために同一ページを再印刷するのに備えて文書の
各部分の描画データをプリンタ内に保存しておく場合
に、ホストデータ形式と中間コード形式のうち、いずれ
かサイズの小さい方の形式のデータで保存する。従っ
て、保存に必要なメモリが節約できる。なお、保存する
先は内蔵メモリの他、ハードディスク等の補助記憶装置
でもよい。
In this printer, when the drawing data of each part of the document is stored in the printer in preparation for reprinting the same page for printing a plurality of copies or recovering from an error, the host data format and the intermediate code are used. Save the data in one of the smaller formats. Therefore, the memory required for storage can be saved. The storage destination may be an internal storage or an auxiliary storage device such as a hard disk.

【0008】ページプリンタのようにページ単位で描画
データを処理するプリンタでは、保存するデータ形式も
ページ単位で決めることが便利である。しかし、必ずし
もページ単位でなければならないわけではなく、バンド
単位のような別の単位で保存データ形式を決めてもよ
い。
In a printer such as a page printer that processes drawing data in page units, it is convenient to determine the data format to be saved in page units. However, the storage data format does not necessarily have to be a page unit, and the storage data format may be determined in another unit such as a band unit.

【0009】本発明のプリンタでは、同一ページを再印
刷するときには、(1) 再印刷しようとする部分の保存
データが中間コードである場合は、その中間コードから
フルイメージを再生成して再印刷することができ、ま
た、(2) 再印刷しようとする部分の保存データがホス
トデータである場合は、まずそのホストデータから中間
コードを再生成し、次にその再生成した中間コードから
フルイメージを再生成して再印刷を行うことができる。
In the printer of the present invention, when reprinting the same page, (1) if the stored data of the portion to be reprinted is an intermediate code, a full image is regenerated from the intermediate code and reprinted. (2) If the stored data of the portion to be reprinted is host data, first regenerate the intermediate code from the host data, and then regenerate the full image from the regenerated intermediate code. Can be regenerated and reprinted.

【0010】また、本発明のプリンタでは、同一ページ
の再印刷の可能性がなくなったとき、例えば、そのペー
ジの必要枚数を全て印刷し終えたときや、両面印刷の場
合に表裏両面の印刷が必要枚数だけ全て完了したとき
や、エラー復帰時の再印刷が完了したときには、その再
印刷の可能性がなくなった部分の保存データを消去する
ことができる。
Further, in the printer of the present invention, when the possibility of reprinting the same page is eliminated, for example, when all the required number of pages have been printed, or in the case of double-sided printing, printing on both sides is performed. When the required number of copies have been completed or when reprinting upon error recovery has been completed, the saved data in the portion where the possibility of reprinting has disappeared can be erased.

【0011】[0011]

【発明の実施の形態】図1は、本発明の一実施形態にか
かる両面印刷可能なページプリンタの機能構成を示す。
FIG. 1 shows a functional configuration of a page printer capable of performing both-side printing according to an embodiment of the present invention.

【0012】図1に示すように、このページプリンタ
は、描画処理部1と制御部3と印刷エンジン5とコント
ロールパネル7を有する。描画処理部1と制御部3は、
プログラムされたマイクロコンピュータ及びその付属回
路によって構成される。印刷エンジン5は、用紙搬送や
イメージ形成のためのメカニズム及びそれを駆動する電
子回路からなる。コントロールパネル7は、ユーザが操
作する各種のスイッチ及びメッセージ表示のための液晶
パネルを有している。
As shown in FIG. 1, the page printer has a drawing processing section 1, a control section 3, a print engine 5, and a control panel 7. The drawing processing unit 1 and the control unit 3
It is composed of a programmed microcomputer and its attached circuit. The print engine 5 includes a mechanism for conveying a sheet and forming an image and an electronic circuit for driving the mechanism. The control panel 7 has various switches operated by the user and a liquid crystal panel for displaying messages.

【0013】描画処理部1は、受信部11、ホストデー
タバッファ13、中間コード生成部15、中間バッファ
17、サイズ比較部19、保存データインデックス2
1、フルイメージ展開部23及び印刷バッファ25を有
する。ホストデータバッファ13、中間バッファ17、
保存データインデックス21及び印刷バッファ25はそ
れぞれ、メモリ(図示せず)内に確保されたエリアであ
る。中間コード生成部15、サイズ比較部19及びフル
イメージ展開部23はそれぞれ、マイクロコンピュータ
が実行するプロセスである。また、制御部3も、マイク
ロコンピュータが実行するプロセスである。
The drawing processing unit 1 includes a receiving unit 11, a host data buffer 13, an intermediate code generation unit 15, an intermediate buffer 17, a size comparison unit 19, and a stored data index 2.
1. It has a full image developing unit 23 and a print buffer 25. Host data buffer 13, intermediate buffer 17,
The stored data index 21 and the print buffer 25 are areas secured in a memory (not shown). Each of the intermediate code generation unit 15, the size comparison unit 19, and the full image development unit 23 is a process executed by the microcomputer. The control unit 3 is also a process executed by the microcomputer.

【0014】以下に各部の機能を説明する。The function of each section will be described below.

【0015】受信部11は、外部のホストコンピュータ
(図示せず)からページ記述言語のような高水準言語で
表現されたホストデータを受信して、受信したホストデ
ータをメモリ内のホストデータバッファ13に格納す
る。ホストデータバッファ13は、従来の受信バッファ
の機能を果たす他、場合によっては、後述するように、
あるページの印刷が終了するまでそのページのホストデ
ータを保持しておく機能を果たす。ホストデータバッフ
ァ13は、少なくとも1ページ分のホストデータが格納
できるサイズで確保される。尚、ホストデータバッファ
13は、必ずしも受信バッファの機能をもたなければな
らないわけではなく、受信バッファとは別のメモリエリ
アとして、上記後者の機能の必要に応じて動的に確保さ
れてもよい。
The receiving unit 11 receives host data expressed in a high-level language such as a page description language from an external host computer (not shown), and stores the received host data in a host data buffer 13 in a memory. To be stored. The host data buffer 13 functions as a conventional reception buffer, and in some cases, as described later,
Until the printing of a certain page is completed, the host data of the page is held. The host data buffer 13 is secured in a size that can store at least one page of host data. Note that the host data buffer 13 does not necessarily have to have the function of the reception buffer, and may be dynamically secured as a memory area separate from the reception buffer as needed for the latter function. .

【0016】中間コード生成部15は、ホストデータバ
ッファ3(又は受信バッファ)からホストデータを読込
み、このホストデータを中間言語で表現した中間コード
に翻訳して、この中間コードをメモリ内の中間バッファ
17に格納する。
The intermediate code generation unit 15 reads host data from the host data buffer 3 (or reception buffer), translates the host data into an intermediate code expressed in an intermediate language, and converts the intermediate code into an intermediate buffer in a memory. 17 is stored.

【0017】中間バッファ17は、少なくとも1ページ
分の中間コード又はフルイメージデータ(つまり、ペー
ジデータ)が格納できるサイズで確保される。あるペー
ジのページデータが中間コード生成部15によって生成
されて中間バッファ17に書込まれている間、ホストデ
ータ13内の同じページのホストデータは消去されずに
保持されている。
The intermediate buffer 17 is secured in a size that can store at least one page of intermediate code or full image data (ie, page data). While the page data of a certain page is generated by the intermediate code generation unit 15 and written in the intermediate buffer 17, the host data of the same page in the host data 13 is held without being erased.

【0018】サイズ比較部19は、各ページのページデ
ータが中間バッファ17に格納された都度、中間バッフ
ァ17内のそのページのページデータのサイズ(データ
量)と、ホストデータバッファ13内の同じページのホ
ストデータのサイズとを比較する。その結果、サイズ比
較部19は、サイズの小さい方のデータを判定して、そ
のデータを指し示す情報を、そのページ番号に対応させ
て保存データインデックス21に書込む。例えば、ホス
トデータがラスタデータを多く含むときは、一般にホス
トデータよりページデータの方がサイズが小さい場合が
多く、その場合はページデータを指し示す情報が保存デ
ータインデック21に書込まれる。他方、ホストデータ
がテキストコードやベクトルデータを多く含むときは、
ホストデータの方がページデータよりサイズ小さくなる
場合が多く、その場合はホストデータを指し示す情報が
保存データインデック21に書込まれる。以下、保存デ
ータインデック21に書込まれた情報によって指し示さ
れたデータを、保存データとよぶ。
Each time the page data of each page is stored in the intermediate buffer 17, the size comparing section 19 compares the page data size (data amount) of the page in the intermediate buffer 17 with the same page in the host data buffer 13. Host data size. As a result, the size comparing unit 19 determines the data having the smaller size, and writes information indicating the data in the storage data index 21 in association with the page number. For example, when the host data includes a large amount of raster data, the page data is generally smaller in size than the host data in many cases. In this case, information indicating the page data is written into the storage data index 21. On the other hand, when the host data contains many text codes and vector data,
In many cases, the size of the host data is smaller than that of the page data. In this case, information indicating the host data is written into the stored data index 21. Hereinafter, the data pointed by the information written in the storage data index 21 is referred to as storage data.

【0019】フルイメージ展開部23は、中間バッファ
17からページデータを読み込んで、これをフルイメー
ジデータに翻訳して印刷バッファ25に展開する。印刷
バッファ25には、1ページを分割したバンド単位でフ
ルイメージデータが格納される。印刷バッファ25内の
フルイメージデータは、印刷エンジン5に転送されて実
際の用紙上に可視イメージとして印刷されることにな
る。
The full image developing unit 23 reads page data from the intermediate buffer 17, translates the page data into full image data, and develops the full image data in the print buffer 25. The print buffer 25 stores full image data in band units obtained by dividing one page. The full image data in the print buffer 25 is transferred to the print engine 5 and printed as a visible image on actual paper.

【0020】制御部3は、描画処理部1と印刷エンジン
5を次のように制御する。すなわち、中間バッファ17
に1ページ分のページデータが格納されると、制御部3
は、保存データインデックス21参照して、そのページ
に対応する保存データを認識し、その保存データを以後
も消去せず保存するよう描画処理部1を制御し、かつ、
印刷エンジン5には印刷命令を送ってそのページの印刷
を実行させる。
The control section 3 controls the drawing processing section 1 and the print engine 5 as follows. That is, the intermediate buffer 17
When one page of page data is stored in the
Refers to the storage data index 21, recognizes the storage data corresponding to the page, controls the drawing processing unit 1 to store the storage data without erasing the data thereafter, and
A print command is sent to the print engine 5 to print the page.

【0021】各ページの印刷が失敗することなく終了す
る度に、印刷エンジン5から印刷成功通知が制御部3に
入る。各ページを1枚だけ印刷すればよい場合には、各
ページの印刷が終了する度に、制御部3は描画処理部1
を制御して、中間バッファ17又はホストデータバッフ
ァ13内のそのページの保存データを消去させる。この
場合、片面印刷を行っている時と両面印刷を行っている
ときとで多少制御が異なる。すなわち、片面印刷のとき
は、一つのページの印刷成功通知が入ると、その成功し
たページの保存データを消去させ、他方、両面印刷のと
きは、表面と裏面の双方の印刷が完了したときに、その
完了した表面と裏面の2ページ分の保存データを消去さ
せる。
Each time the printing of each page is completed without failure, a print success notification is sent from the print engine 5 to the control unit 3. If only one page needs to be printed, each time printing of each page is completed, the control unit 3 sets the drawing processing unit 1
To erase the stored data of the page in the intermediate buffer 17 or the host data buffer 13. In this case, the control is slightly different between when performing single-sided printing and when performing double-sided printing. That is, in the case of single-sided printing, when a notification of printing success of one page is received, the stored data of the successful page is erased, and in the case of double-sided printing, when printing on both the front side and the back side is completed. Then, the stored data of two pages of the completed front and back surfaces are erased.

【0022】各ページを複数枚繰り返し印刷する場合に
は、制御部3は、各ページの1枚目の印刷が終了しても
保存データを消去させず、この保存データを利用して2
枚目以降の印刷のためのフルイメージデータを生成さ
せ、そして、必要枚数の印刷が完了した段階で、そのペ
ージの保存データを消去させる。この場合も、片面印刷
のときは、各ページの必要枚数の印刷が完了した段階で
そのページの保存データを消去させるが、両面印刷のと
きは、表裏両面の必要枚数の印刷が完了した段階でその
表裏両ページの保存データを消去させる。2枚目以降の
印刷では、保存データがページデータかホストデータか
によって制御が異なる。すなわち、保存データがページ
データの場合は、制御部3は、描画処理部1にそのペー
ジデータからフルイメージデータを生成させる。他方、
保存データがホストデータの場合は、制御部3は、描画
処理部1にそのホストデータからページデータを再度生
成させた上で、そのページデータからフルイメージデー
タを生成させる。
When a plurality of pages are to be repeatedly printed, the control unit 3 does not erase the stored data even after the printing of the first page of each page is completed.
The full image data for the subsequent pages is generated, and when the required number of pages have been printed, the stored data of the page is deleted. In this case as well, in the case of single-sided printing, the stored data of the page is erased when the required number of pages have been printed, but in the case of double-sided printing, when the required number of front and back sides have been printed. The stored data on both the front and back pages is deleted. In the printing of the second and subsequent sheets, the control differs depending on whether the stored data is page data or host data. That is, when the stored data is page data, the control unit 3 causes the drawing processing unit 1 to generate full image data from the page data. On the other hand,
If the stored data is host data, the control unit 3 causes the drawing processing unit 1 to generate page data again from the host data and then generate full image data from the page data.

【0023】また、印刷途中でエラーが発生した場合に
は、印刷エンジン5からエラー通知が制御部3に入る。
このときは、制御部3はまず、描画処理部1と印刷エン
ジン5の動作を一旦止め、コントロールパネルにエラー
メッセージを表示してユーザにエラーを報知する。その
後、ユーザからの復帰要求がコントロールパネルから入
ると、制御部3は、エラーによって印刷が中断されたペ
ージの保存データを利用して、そのページの印刷を再実
行するよう描画処理部1と印刷エンジン5を制御する。
この制御も片面印刷時と両面印刷時とで多少異なる。す
なわち、片面印刷のときは、描画処理部1にそのページ
の保存データからフルイメージデータを再生成させ、そ
して印刷エンジン5にそのページの印刷を再実行させ
る。他方、両面印刷のときは、描画処理部1にそのペー
ジとその反対側のページの2ページ分の保存データから
その2ページのフルイメージデータを順次に再生成さ
せ、そして印刷エンジン5にその2ページの両面印刷を
再実行させる。また、このエラー復帰時の再印刷の制御
は、保存データがページデータかホストデータかによっ
ても異なる。すなわち、保存データがページデータの場
合は、そのページデータからフルイメージデータを生成
させるが、保存データがホストデータの場合は、そのホ
ストデータからページデータを再度生成させた上で、そ
のページデータからフルイメージデータを生成させる。
If an error occurs during printing, an error notification is sent from the print engine 5 to the control unit 3.
At this time, the control unit 3 first temporarily stops the operations of the drawing processing unit 1 and the print engine 5, and displays an error message on the control panel to notify the user of the error. Thereafter, when a return request from the user is received from the control panel, the control unit 3 uses the drawing processing unit 1 and the print processing unit to re-execute printing of the page using the saved data of the page of which printing was interrupted due to the error. The engine 5 is controlled.
This control is slightly different between single-sided printing and double-sided printing. That is, in the case of single-sided printing, the rendering processing unit 1 regenerates the full image data from the saved data of the page, and causes the print engine 5 to print the page again. On the other hand, in the case of double-sided printing, the drawing processing unit 1 sequentially regenerates the full image data of the two pages from the saved data of the two pages, that is, the page and the page on the opposite side. Re-execute double-sided printing of the page. The control of reprinting at the time of error recovery also differs depending on whether the stored data is page data or host data. That is, when the stored data is page data, full image data is generated from the page data. When the stored data is host data, page data is generated again from the host data, and then the page data is generated from the page data. Generate full image data.

【0024】図2〜図4は、以上のように構成されたペ
ージプリンタの処理の流れを示す。
FIGS. 2 to 4 show the processing flow of the page printer configured as described above.

【0025】まず、図2を参照して、ホストデータを受
信してから、各ページの1枚目を印刷するまでの描画処
理部1及び制御部3による描画処理の流れを説明する。
First, with reference to FIG. 2, the flow of drawing processing by the drawing processing unit 1 and the control unit 3 from reception of host data to printing of the first sheet of each page will be described.

【0026】まず、ホストデータを受信する(S1)
と、受信したホストデータを受信バッファ(本実施形態
ではホストデータバッファ13)に格納する(S2)。
ホストデータバッファ13にはホストデータがページ単
位で格納される。
First, host data is received (S1).
Then, the received host data is stored in the reception buffer (the host data buffer 13 in the present embodiment) (S2).
The host data buffer 13 stores host data in page units.

【0027】次に、ホストデータバッファ13内のホス
トデータから中間コードを生成して中間バッファ17に
格納する(S3)。その際、前述したように、事情によ
ってはフルイメージデータへの事前展開を行う場合もあ
る。結果として、中間バッファ17には中間コード又は
事前展開されたフルイメージデータがページ単位で(つ
まり、ページデータが)格納される。
Next, an intermediate code is generated from the host data in the host data buffer 13 and stored in the intermediate buffer 17 (S3). At that time, as described above, in some cases, advance development to full image data is performed depending on circumstances. As a result, the intermediate buffer 17 stores intermediate codes or pre-deployed full image data in page units (that is, page data).

【0028】次に、中間バッファ17に格納されたペー
ジデータのサイズと、ホストデータバッファ13内の同
ページのホストデータとのサイズとを比較する(S
4)。比較結果に応じ、サイズの小さい方のデータをそ
のページの保存データと決め(S5、S6)、そのペー
ジの保存データインデックス21を作成し保存する(S
7)。
Next, the size of the page data stored in the intermediate buffer 17 is compared with the size of the host data of the same page in the host data buffer 13 (S
4). According to the comparison result, the smaller data is determined as the storage data of the page (S5, S6), and the storage data index 21 of the page is created and stored (S5).
7).

【0029】次に、印刷エンジン5へ印刷要求を発行す
る(S8)とともに、中間バッファ17内の印刷すべき
ページのページデータからフルイメージデータを生成し
て印刷バッファ25に展開する(S9)。その際、その
ページの保存データは消去せずに保存しておくが、保存
データ以外のそのページのデータは消去する。例えば、
保存データがページデータである場合は、中間バッファ
17内のページデータを保存し、ホストデータバッファ
13内のホストデータは消去する。逆に、保存データが
ホストデータである場合は、中間バッファ17内のペー
ジデータを消去し、ホストデータバッファ13内のホス
トデータを保存する。
Next, a print request is issued to the print engine 5 (S8), and at the same time, full image data is generated from the page data of the page to be printed in the intermediate buffer 17 and expanded in the print buffer 25 (S9). At this time, the saved data of the page is saved without erasing, but the data of the page other than the saved data is erased. For example,
If the stored data is page data, the page data in the intermediate buffer 17 is stored, and the host data in the host data buffer 13 is deleted. Conversely, if the stored data is host data, the page data in the intermediate buffer 17 is deleted and the host data in the host data buffer 13 is stored.

【0030】次に、そのフルイメージ展開を行っている
ページの印刷すべき枚数が1枚であるか複数枚であるを
チェックする(S10)。その結果1枚の場合には(S
10でY)、その1枚の印刷が完了した否かを印刷エン
ジン5からの通知に基づいてチェックする(S11)。
つまり、片面印刷の場合はそのページの印刷が終了した
段階で、また、両面印刷の場合はそのページとその反対
側面のページの印刷が終了した段階で、ステップ11の
チェック結果はイエスとなる。ステップ11のチェック
結果がイエスとなると、そのページの保存データを消去
する(S11)。1枚印刷の場合は、これで描画処理が
終了する。
Next, it is checked whether the number of pages to be printed on the page subjected to the full image development is one or plural (S10). As a result, in the case of one sheet (S
Then, it is checked whether or not the printing of one sheet is completed based on the notification from the print engine 5 (S11).
That is, in the case of single-sided printing, at the stage where the printing of the page has been completed, and in the case of double-sided printing, at the stage where the printing of the page and the page on the opposite side have been completed, the check result of step 11 is YES. If the check result of step 11 is YES, the stored data of the page is deleted (S11). In the case of one-sheet printing, the drawing process ends here.

【0031】一方、同じページを複数枚印刷する場合に
は(S10でN)、そのページの保存データを保存した
ままの状態で1枚目の印刷の描画処理を終了する。
On the other hand, if the same page is to be printed on a plurality of pages (N in S10), the drawing processing of the first page is completed with the saved data of the page kept stored.

【0032】次に、図3を参照して、複数部印刷の場合
の2枚目以降を印刷するときの描画処理を説明する。
Next, referring to FIG. 3, a description will be given of a drawing process when printing the second and subsequent sheets in the case of printing a plurality of copies.

【0033】まず、保存データインデックス21を参照
して、その複数枚印刷しようとするページの保存データ
を認識する(S21)。そして、その保存データがホス
トデータであるならば(S22でY)、ホストデータバ
ッファ13内のそのホストデータからページデータを生
成して中間コードバッファ17に格納し(S23)、続
いて印刷エンジン5へ印刷要求を発行する(S24)。
一方、保存データがページデータの場合は(S22で
N)、直ちに印刷エンジン5へ印刷要求を発行する(S
24)。
First, referring to the stored data index 21, the stored data of the page to be printed is recognized (S21). If the stored data is host data (Y in S22), page data is generated from the host data in the host data buffer 13 and stored in the intermediate code buffer 17 (S23). A print request is issued to the printer (S24).
On the other hand, if the stored data is page data (N in S22), a print request is issued to the print engine 5 immediately (S22).
24).

【0034】続いて、中間バッファ17内のそのページ
のページデータからフルイメージデータを生成して印刷
バッファ25に展開する(S25)。その際、そのペー
ジの保存データは消去せずに保存しておくが、保存デー
タ以外のそのページのデータは消去する。例えば、保存
データがページデータである場合は、中間バッファ17
内のページデータを保存し、ホストデータバッファ13
内のホストデータは消去する。逆に、保存データがホス
トデータである場合は、中間バッファ17内のページデ
ータを消去し、ホストデータバッファ13内のホストデ
ータを保存する。
Subsequently, full image data is generated from the page data of the page in the intermediate buffer 17 and is developed in the print buffer 25 (S25). At this time, the saved data of the page is saved without erasing, but the data of the page other than the saved data is erased. For example, if the stored data is page data, the intermediate buffer 17
Page data in the host data buffer 13
The host data in is erased. Conversely, if the stored data is host data, the page data in the intermediate buffer 17 is deleted and the host data in the host data buffer 13 is stored.

【0035】次に、そのページについて印刷すべき枚数
の全てを印刷し終わった否かをチェックする(S2
6)。その結果、まだ全枚の印刷が終わってなければ
(S26でN)、保存データを保存したままの状態で当
該枚の描画処理を終了し、後続枚について再び同様の処
理を繰り返す。
Next, it is checked whether or not printing of all pages to be printed on the page has been completed (S2).
6). As a result, if all the sheets have not been printed yet (N in S26), the drawing processing of the sheet is ended in a state where the save data is stored, and the same processing is repeated again for the subsequent sheet.

【0036】一方、そのページについて全枚の印刷が完
了すると(S26でY)、そのページの保存データを消
去する(S27)。これで、当該ページについての描画
処理が完了する。
On the other hand, when printing of all the pages is completed for the page (Y in S26), the stored data of the page is deleted (S27). This completes the drawing process for the page.

【0037】また、印刷途中でエラーが生じて印刷を中
断した場合は、図3に示すように、ユーザからの復帰要
求が入ったときに(S28でY)、エラーで印刷中断し
たページについて、上述した2枚目以降の描画処理と同
様な処理を実行する。これにより、エラーページが再印
刷される。
If an error occurs during printing and printing is interrupted, as shown in FIG. 3, when a return request is received from the user (Y in S28), the page for which printing was interrupted due to an error is Processing similar to the above-described drawing processing for the second and subsequent sheets is executed. As a result, the error page is reprinted.

【0038】次に、図4を参照して、印刷エンジン5の
処理を説明する。
Next, the processing of the print engine 5 will be described with reference to FIG.

【0039】制御部3から印刷要求を受けると(S31
でY)、エンジン独自のタイミングで印刷バッファ25
からフルイメージデータを読み込み(S32)、そのフ
ルイメージデータに従って用紙上に可視イメージを印刷
する(S33)。そして、ページ全体の印刷が成功する
と(S34でY)、印刷成功通知を制御部3に送り(S
35)、一方、印刷途中でエラーが生じた場合には、エ
ラー通知を制御部3に送る(S36)。
When a print request is received from the control unit 3 (S31)
Y), the print buffer 25 at the timing unique to the engine.
Then, the full image data is read (S32), and a visible image is printed on a sheet according to the full image data (S33). When the printing of the entire page is successful (Y in S34), a print success notification is sent to the control unit 3 (S34).
35) On the other hand, if an error occurs during printing, an error notification is sent to the control unit 3 (S36).

【0040】以上説明した実施形態によれば、ホストデ
ータとページデータ(中間コード又はフルイメージデー
タ)の2つのデータ形式のうち、データ量の小さい方の
データ形式で各ページの描画データを保存するため、従
来の必ずページデータで保存するプリンタに比較し、メ
モリの節約ができるようになる。特に、ホストデータが
テキストコードやベクトルデータを多く含むときは、ホ
ストデータの方がページデータよりデータ量が小さい場
合が多いため、メモリ節約効果が顕著に現れる。図5
は、メモリ節約効果が現れる典型的な例を説明してい
る。この例は、両面印刷を行う場合であって、表面と裏
面の双方のホストデータがページデータよりサイズが小
さい場合である。
According to the embodiment described above, the drawing data of each page is stored in the smaller data amount of the two data formats of host data and page data (intermediate code or full image data). Therefore, the memory can be saved as compared with a conventional printer which always saves page data. In particular, when the host data includes a large amount of text code and vector data, the host data often has a smaller data amount than the page data. FIG.
Describes a typical example where a memory saving effect appears. In this example, double-sided printing is performed, and the size of the host data on both the front and back sides is smaller than the page data.

【0041】従来装置では、図5(A)に示すように、
ホストデータバッファ13は、最低限1ページ分のホス
トデータが格納できればよく、そこに表面と裏面のホス
トデータを順番に格納し、それを順番にページデータに
変換して中間バッファ17に格納し保存する。よって、
中間バッファ17は、2ページ分の大サイズのページデ
ータが格納できる必要がある。
In the conventional device, as shown in FIG.
The host data buffer 13 only needs to be able to store at least one page of host data. The host data on the front side and the back side are sequentially stored therein, converted into page data in order, and stored in the intermediate buffer 17 for storage. I do. Therefore,
The intermediate buffer 17 needs to be able to store large page data for two pages.

【0042】一方、本実施形態では、図5(B)に示す
ように、表面と裏面の小サイズのホストデータを保存す
るホストデータバッファ13と、最低限1ページ分のペ
ージデータが格納できる中間バッファ17が必要であ
る。そして、ホストデータバッファ13に保存された表
面と裏面のホストデータを、順番にページデータに変換
して中間バッファ17に格納し順番にフルイメージデー
タへ変換する。図5(A)と(B)を比較して明らかな
ように、本実施形態の方がメモリを節約できる。
On the other hand, in the present embodiment, as shown in FIG. 5B, a host data buffer 13 for storing small-sized host data on the front and back surfaces, and an intermediate memory capable of storing at least one page of page data. Buffer 17 is required. Then, the host data on the front surface and the back surface stored in the host data buffer 13 are sequentially converted into page data, stored in the intermediate buffer 17, and sequentially converted into full image data. As is apparent from a comparison between FIGS. 5A and 5B, the present embodiment can save memory.

【0043】更に、次のような場合には、本実施形態に
よるメモリ節約効果は一層大きくなる。すなわち、用紙
搬送路が長くてそこに2枚以上の用紙が入るページプリ
ンタでは、両面印刷を行う場合、例えば1枚目の用紙の
表面に第1ページの印刷を行っているとき、既に2枚目
の用紙が用紙搬送路に取り込まれているために、第1ペ
ージの印刷の後には、2枚目の用紙の表面に第3ページ
の印刷を行い、その後に、1枚目の用紙の裏面に第2ペ
ージを印刷し、その後に、2枚目の用紙の裏面に第4ペ
ージを印刷する、というような複雑な印刷スケジュール
を採用することがある。このような印刷スケジュールの
下では、多数ページ分(例えば、上記例では4ページ
分)のデータを保存しておく必要がある。従って、この
ような場合には本実施形態によるメモリ節約の効果は特
に大きい。
Further, in the following cases, the memory saving effect of the present embodiment is further enhanced. That is, in a page printer having a long paper transport path and two or more sheets inserted therein, when performing double-sided printing, for example, when printing the first page on the surface of the first sheet, two pages have already been printed. Since the first sheet has been taken into the sheet transport path, after printing the first page, the third page is printed on the front side of the second sheet, and then the back side of the first sheet In some cases, a complicated print schedule is adopted, such as printing the second page and then printing the fourth page on the back side of the second sheet. Under such a print schedule, it is necessary to store data for many pages (for example, four pages in the above example). Therefore, in such a case, the effect of the memory saving according to the present embodiment is particularly large.

【0044】尚、本発明は、ページプリンタに限らずシ
リアルプリンタにも適用できる。
The present invention can be applied not only to a page printer but also to a serial printer.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態にかかる両面印刷可能なペ
ージプリンタの機能構成を示すブロック図。
FIG. 1 is a block diagram showing a functional configuration of a page printer capable of performing double-sided printing according to an embodiment of the present invention.

【図2】ホストデータを受信してから、各ページの1枚
目を印刷するためにフルイメージデータを展開するまで
の描画処理を示すフローチャート。
FIG. 2 is a flowchart showing a drawing process from reception of host data to development of full image data for printing the first page of each page.

【図3】複数部印刷の場合に2枚目以降を印刷すると
き、又は、エラー復帰時にエラーページを再度印刷し直
すときの描画処理を示すフローチャート。
FIG. 3 is a flowchart illustrating a drawing process when printing the second and subsequent sheets in the case of printing a plurality of copies, or when reprinting an error page again after error recovery.

【図4】印刷エンジンの処理流れを示すフローチャー
ト。
FIG. 4 is a flowchart illustrating a processing flow of a print engine.

【図5】従来装置と本発明の実施形態の必要メモリ量を
比較して示す説明図。
FIG. 5 is an explanatory diagram showing a comparison between required memory amounts of a conventional device and an embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1 描画処理部 3 制御部 5 印刷エンジン 13 ホストデータバッファ 15 中間コード生成部 17 中間バッファ 19 サイズ比較部 21 保存データインデックス 23 フルイメージ展開部 25 印刷バッファ DESCRIPTION OF SYMBOLS 1 Drawing processing part 3 Control part 5 Print engine 13 Host data buffer 15 Intermediate code generation part 17 Intermediate buffer 19 Size comparison part 21 Saved data index 23 Full image development part 25 Print buffer

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 ホストデータを格納するためのホストデ
ータバッファと、 前記ホストデータから中間コードを生成する中間コード
生成手段と、 前記中間コードを格納するための中間バッファと、 前記中間コードからフルイメージデータを生成するフル
イメージ展開手段と、 前記フルイメージデータに従って印刷を行う印刷エンジ
ンと、 印刷対象文書の各部分の中間コードとホストデータとを
サイズで比較し、サイズのより小さい方を判定する比較
手段と、 前記各部分の中間コードとホストデータのうち、前記比
較手段によってサイズがより小さいと判定された一方を
再印刷に備えて保存するよう、前記ホストデータバッフ
ァ及び中間バッファを制御する制御手段とを備えたプリ
ンタ。
A host data buffer for storing host data; an intermediate code generating means for generating an intermediate code from the host data; an intermediate buffer for storing the intermediate code; and a full image from the intermediate code. A full-image developing unit that generates data; a print engine that performs printing in accordance with the full-image data; and a comparison in which an intermediate code of each part of the document to be printed and host data are compared in size and a smaller one is determined. Control means for controlling the host data buffer and the intermediate buffer so that one of the intermediate code and the host data of each of the portions determined to be smaller by the comparing means is stored in preparation for reprinting. And a printer with.
【請求項2】 前記各部分が各ページであることを特徴
とする請求項1記載のプリンタ。
2. The printer according to claim 1, wherein each part is each page.
【請求項3】 前記各部分を再印刷するとき、(1) 前
記各部分の保存されたデータが中間コードである場合
は、前記フルイメージ展開手段が前記保存された中間コ
ードからフルイメージを再生成し、(2) 前記各部分の
保存されたデータがホストデータである場合は、前記中
間コード生成手段が前記保存されたホストデータから中
間コードを再生成し、前記フルイメージ展開手段が前記
再生成された中間コードからフルイメージを再生成する
ことを特徴とする請求項1記載のプリンタ。
3. When reprinting each part, (1) when the stored data of each part is an intermediate code, the full image developing means reproduces a full image from the stored intermediate code. (2) when the stored data of each of the parts is host data, the intermediate code generating means regenerates intermediate codes from the stored host data, and the full image developing means 2. The printer according to claim 1, wherein a full image is regenerated from the generated intermediate code.
【請求項4】 前記制御手段が、前記各部分の再印刷の
可能性がなくなったときに前記各部分の保存されている
データを消去するよう、前記ホストデータバッファ及び
中間バッファを制御することを特徴とする請求項1記載
のプリンタ。
4. The control means controls the host data buffer and the intermediate buffer such that data stored in each of the portions is erased when the possibility of reprinting of each of the portions is eliminated. The printer according to claim 1, wherein:
JP8224231A 1996-08-26 1996-08-26 Printer Expired - Lifetime JP3064921B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8224231A JP3064921B2 (en) 1996-08-26 1996-08-26 Printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8224231A JP3064921B2 (en) 1996-08-26 1996-08-26 Printer

Publications (2)

Publication Number Publication Date
JPH1063447A true JPH1063447A (en) 1998-03-06
JP3064921B2 JP3064921B2 (en) 2000-07-12

Family

ID=16810564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8224231A Expired - Lifetime JP3064921B2 (en) 1996-08-26 1996-08-26 Printer

Country Status (1)

Country Link
JP (1) JP3064921B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7180623B2 (en) 2001-12-03 2007-02-20 Canon Kabushiki Kaisha Method and apparatus for print error recovery
US10540580B2 (en) 2017-06-07 2020-01-21 Brother Kogyo Kabushiki Kaisha Non-transitory storage medium storing program, information processing apparatus, printing apparatus, and communication system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7180623B2 (en) 2001-12-03 2007-02-20 Canon Kabushiki Kaisha Method and apparatus for print error recovery
US8218172B2 (en) 2001-12-03 2012-07-10 Canon Kabushiki Kaisha Method and apparatus for print error recovery
US10540580B2 (en) 2017-06-07 2020-01-21 Brother Kogyo Kabushiki Kaisha Non-transitory storage medium storing program, information processing apparatus, printing apparatus, and communication system

Also Published As

Publication number Publication date
JP3064921B2 (en) 2000-07-12

Similar Documents

Publication Publication Date Title
JPS6022234A (en) Form overlay type printer
JP3019515B2 (en) Printing control method
US6317193B2 (en) Image forming apparatus
JPH1040031A (en) Print system, printer driver, and printer
JPH0263763A (en) Printing apparatus
JP3064921B2 (en) Printer
JPS60141076A (en) Control system of printer
US5097426A (en) Printer controlling apparatus
JP2876987B2 (en) Printing system
JP3245270B2 (en) Character processing apparatus and method
JPH10309835A (en) Page printer
JP2981400B2 (en) Printing apparatus and data processing method for printing apparatus
JPH05224846A (en) Printing and recording device
JPH0659833A (en) Printer in network environment
JP3193551B2 (en) Printing equipment
JP2506110B2 (en) Double-sided printing control device
JP2003182163A (en) Method of double-sided printing in printing controller
JPH07195760A (en) Control device of printer
JP2005018153A (en) Font management device
JPH10244713A (en) Printer apparatus
JP3004656B2 (en) Output control device
JP2989727B2 (en) Printing apparatus and printing method
JPH09327959A (en) Printer money-allocating system
JP2738174B2 (en) Format control method
JPH064064A (en) Pattern generation system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000411

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080512

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090512

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130512

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140512

Year of fee payment: 14

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term