[0001] The present invention relates to an improvement in a printer having a function for
printing dot image data.
[0002] In a conventional label printer, all contents of print data for one label to be printed
are expanded (or drawn) in a memory (image buffer), and the label is then printed
to issue. In other words, drawing for one print data and printing for the drawn print
data are sequentially performed to issue one label.
[0003] According to the above conventional printer, the memory capacity must be as large
as to hold the maximum size of all available labels, because all contents of a label
to be issued must be expanded in the memory. Thus, the conventional printer requires
a large memory capacity, or the maximum length (label size) of printable labels is
limited by the active memory capacity.
[0004] Further, a conventional printer requires a long print time. That is, according to
a conventional printer, printing is inhibited during the drawing operation in a memory
and the printing can start only after completion of the drawing of print data for
one label.
[0005] A prior art printer is shown in U.S. Patent No.4,862,194 patented on August 29, 1989
to Uematsu. The printer of Uematsu can handle a large label whose one image size may
overflow the limited capacity of an image buffer.
[0006] More specifically, according to Uematsu, a large label image is divided into several
pieces, and each of the divided images are expanded or drawn into the image buffer
for many times, thereby alternatively repeating the drawing and printing operations.
Thus, the printer of Uematsu can print a big label having an image size larger than
the actual memory size of the printer.
[0007] According to the printer of Uematsu, however, the speed of print processing decreases
with increase in the number of division of the label image.
[0008] It is accordingly an object of the invention to provide a printer by which a memory
capacity required to expand a prescribed amount of print data can be reduced and time
required to print out a predetermined amount of print data can be shortened.
[0009] To achieve the above object, a printer of the present invention comprises a print
data source (1) for supplying print data, a print format setter (2) for specifying
an issue format, a print data preparer (3) for specifying print contents in accordance
with the print data and the issue format, a print data memory (4) for storing the
print data representing one print, a data divider (5) for dividing the print data
stored in the print data memory (4) into a plurality of areas, a print buffer (6)
including a drawing area for drawing the data divided by the divider (5) and a printing
area for containing a pre-drawn divided data, a switcher (7) for alternatively switching
between the drawing area and printing area of the print buffer (6) each time the drawing
of the divided data is performed, and a printer block (8), coupled to the print buffer
(6), for printing the data in the printing area.
[0010] The print data prepared by the print data preparer (3) from the print data source
(1) and the print format setter (2) is divided by the divider (5). The divided data
is drawn in the print buffer (6) while printing is performed according to already
drawn divided data, thereby performing a simultaneous operation (parallel processing)
of drawing and printing. A memory capacity required is at most double of the divided
data (small data). Thus, a materially long label can be printed with a relatively
small memory capacity.
[0011] This invention can be more fully understood from the following detailed description
when taken in conjunction with the accompanying drawings, in which:
Fig. 1 is a block diagram showing a claimed configuration of a printer according to
the present invention;
Fig. 2 is a block diagram showing a printer according to an embodiment of the invention;
Fig. 3 is a plan view showing an example of a label to be printed;
Fig. 4 illustrates the contents of print data in an abbreviate manner;
Fig. 5 shows a memory map exemplifying an area setting command;
Fig. 6 illustrates printing process of the invention;
Fig. 7A shows a relation between drawing and printing performed in a conventional
printer;
Fig. 7B shows a relation between drawing and printing performed in the printer of
the invention;
Fig. 8 is a flow chart explaining the drawing process performed by the CPU in Fig.
2; and
Fig. 9 is a flow chart explaining the printing process performed by the CPU in Fig.
2.
[0012] A label printer according to an embodiment of the present invention will be explained
with reference to the accompanying drawings.
[0013] A configuration of the label printer is shown in Fig. 2. In the figure, ROM 9 serving
as a program storage and RAM 10 containing various memory blocks are coupled to CPU
11. Also coupled to CPU 11 are key input device (key board) 12, display 13, weighing
device 14, print buffer 6, printer block 8, area counter 111, switch register 112,
and timer 113.
[0014] Label 15 to be issued by the above label printer can be configured as shown in Fig.
3. Label 15 is formed of pre-printing portion 16, information printing portion 17,
bar code printing portion 18, etc.
[0015] More specifically, as is shown in Fig. 3, it is divided into 5 areas. Area 1 is assigned
as pre-printing portion 16 having a content "A" and an area length "0100". Area 2
is assigned as bar code printing portion 18 having a content "B" and an area length
"0250". Area 3 is assigned as information printing portion 17 having a content "C"
and an area length "0200". Area 4 is assigned as information printing portion 17 having
a content "D" and an area length "0250". Area 5 is assigned as bar code printing portion
18 having a content "E" and an area length "0250". Fig. 4 simply illustrates the above
contents of label 15.
[0016] In the configuration as mentioned above, when label 15 is printed, a suitable format
is set by format setter 2 in accordance with signals from print data source 1. For
instance, when label 15 as shown in Fig. 3 is to be printed, the format shown in Fig.
5 is set. In Fig. 5, symbol *1 denotes an area of the total label length which in
this case is 950 mm. Symbol *2 denotes an area of the number of areas which in this
case is "5". Symbol *3 denotes the length of respective areas, where area 1 is 100
mm, area 2 is 250 mm, area 3 is 200 mm, area 4 is 250 mm, and area 5 is 250 mm. The
data of Fig. 5 is stored in RAM 10 shown in Fig. 2.
[0017] The data to be printed is prepared by print data preparer 3, and the print data thus
prepared is stored in print data memory 4. The print data from memory 4 is divided
for respective areas by divider 5, and each of the divided data is supplied to print
buffer 6. In print buffer 6, memory area 61 for drawing and memory area 62 for printing
are alternatively switched by switcher 7. More specifically, immediately after a memory
block in print buffer 6 has been used for drawing, such a block is then used for printing.
(The function of switcher 7 can be obtained by a software of CPU 11 in Fig. 2).
[0018] The embodiment of the invention will operated as follows. First, as shown in Fig.
6, the bit map image of print content "A" is expanded (or drawn) in drawing area 61
of print buffer 6. After completing the expansion, the memory area including content
"A" is switched to printing area 62 by switcher 7, and the other memory area becomes
drawing area 61 in which the bit image of print content "B" is subsequently expanded.
It should be noted that the printing operation of print content "A" is performed in
parallel to the drawing operation of print content "B".
[0019] Thereafter, print content "B" is printed out while print content "C" is drawn in
buffer 6. In the same manner, printing of content "C" and drawing of content "D",
and printing of content "D" and drawing of content "E" are sequentially performed.
When the printing of last print content "E" is done, the print of one label 15 is
completed.
[0020] Thus, the requirement for print buffer 6 is only that the memory capacity of buffer
6 is as large as to store two sets of divided data. Accordingly, even if the capacity
of buffer 6 is not large, materially long size of label 15 can be printed out. Incidentally,
in actual case, the number of divided data is set at amount 20 or less, and no infinite
long label can practically be issued.
[0021] Meanwhile, there is also an improvement in the printing speed. According to a conventional
art, a print operation starts after completing the drawing of all contents of one
label, and total time T1 necessary for completing the print becomes long as is shown
in Fig. 7A. In contrast, according to the printer of the invention, since most operating
period of drawing overlaps that of printing (i.e., parallel operating period of drawing
and printing is large), total time T2 for the print becomes short, and the time-saving
effect of printing according to the present invention is prominent.
[0022] Fig. 8 is a flow chart explaining the drawing process performed by CPU 11 in Fig.
2.
[0023] When the first area ("A" in Fig. 6) is to be drawn, CPU 11 sets area counter 111
at "1" (ST81). Then, CPU11 starts the drawing of divided print data (in this case
the content of "A" in Fig. 6) which fits one drawing area (61) in print buffer 6 (ST82).
When the drawing is completed, drawing completion flag "1" is set at switch register
112, and drawing area 61 is changed to printing area 62, so that the print of contents
of printing area 62 starts (ST83). (Note that the function of switch register 112
corresponds to that of memory area switcher 7 in Fig. 1.)
[0024] After the print starts, the print sequence is interrupted for each one line printing
in accordance with timer 113, so that print processing (which will be described later)
is activated.
[0025] When the print has started, the content of area counter 111 is incremented by "1"
(ST84). Thereafter, CPU 11 checks whether drawing area 61 in print buffer 6 has a
free space (ST85). If no free space exists (ST85, no), CPU 11 waits for the completion
of current printing process and printing area 62 in print buffer 6 is cleared (ST86).
[0026] When a free space becomes available in drawing area 61 of print buffer 6 (ST85, yes),
CPU 11 checks whether undrawn area exists (ST87). This check can be done by comparing
the content of area counter 111 with data *2 shown in Fig. 5. If there is an undrawn
area, or when the content of counter 111 is less than data *2 (ST87, yes), the program
sequence returns to step ST82. If no undrawn area exists, or when the content of counter
111 matches data *2 (ST87, no), the drawing process of Fig. 8 is finished.
[0027] Fig. 9 is a flow chart explaining the printing process performed by CPU 11 in Fig.
2. When completion of drawing is set during the drawing process of Fig. 8, the printing
process is executed one time. Thereafter, in response to the timer interruption by
timer 113 of Fig. 2, the print processing routine of Fig. 9 is executed in parallel
to the drawing process of Fig. 8.
[0028] More specifically, after the completion of drawing is set during the drawing process
of Fig. 8, interruption timer 113 starts (ST91). Then, feeding of print paper (label)
is performed by the motor shift of printer 8 (ST92). Immediately after activating
the paper feeding, a thermal head (not shown) for printing is energized so that the
label printing starts (ST93). The content of print data is renewed with the progress
of printing (ST94), and the thermal head continues to print in accordance with the
renewed data.
[0029] As has been mentioned above, according to the printer of the invention, print data
prepared by the print data preparer from the print data source and the format setter
is divided by the divider. The divided data is drawn in the print buffer, while pre-drawn
divided data is printed during the drawing operation in the print buffer, so that
a parallel operation of the drawing and the printing is performed, thereby shortening
the time required to achieve the print. Further, since the print buffer may have a
capacity of only a double of the divided data (i.e., a capacity for the drawing area
and the printing area), the printable label length can be made relatively long without
a restriction of the memory capacity, even if the memory capacity is small.
1. A printer apparatus comprising:
means (1-3) for providing print data;
means (4,5) for dividing said print data into a plurality of child data (A,B,C,D,E);
a print buffer (6) having a first area and a second area, each of said first and second
area having a memory capacity equal to or larger than one of said child data;
control means (7) for expanding one of said child data to said first area, assigning
said first area as a printing area (62) and said second area as a drawing area (61)
after completing the expansion of said one child data, and expanding another one of
said child data to said drawing area (61) while the print data of said child data
is output from said printing area (62); and
means (8) for printing the print data output from said printing area (62) on a given
print media (15).
2. A printer apparatus according to claim 1, characterized in that
when one of said child data is printed, said control means (7) has a function for
assigning said second area as said drawing area (61) while said first area is assigned
as said printing area (62); and
when subsequent one of said child data is printed, said control means (7) has a function
for assigning said first area as said drawing area (61) while said second area is
assigned as said printing area (62).
3. A printer apparatus according to claim 1, characterized in that said print data
providing means (1-3) includes:
means (1) for generating original print data;
means (2) for generating print format data; and
means (3) for combining said original print data with said print format data to provide
said print data.
4. A printer apparatus according to claim 3, characterized in that said given print
media includes a label (15), and
said format data (Fig. 5) includes:
data (*1) indicating a total length of said label (15);
data (*2) indicating the number of said child data; and
data (*3) indicating a label length of each said child data.
5. A printer apparatus according to claim 3, characterized in that said print data
includes a bar code (18) relating to contents to be printed.
6. A printer apparatus according to any one of claims 1 to 5, characterized in that
said dividing means (4,5) includes:
means (4;10) for storing said print data; and
means (5;11) for dividing the print data stored in said storing means (4;10) by the
number of said child data (A,B,C,D,E).