WO2001030581A1 - Printer programming tool and method - Google Patents

Printer programming tool and method Download PDF

Info

Publication number
WO2001030581A1
WO2001030581A1 PCT/US2000/041690 US0041690W WO0130581A1 WO 2001030581 A1 WO2001030581 A1 WO 2001030581A1 US 0041690 W US0041690 W US 0041690W WO 0130581 A1 WO0130581 A1 WO 0130581A1
Authority
WO
WIPO (PCT)
Prior art keywords
printer
data stream
programming tool
label
delimiters
Prior art date
Application number
PCT/US2000/041690
Other languages
French (fr)
Inventor
Jeffrey R. Kaufman
David L. Poole
Original Assignee
Zih Corporation
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 Zih Corporation filed Critical Zih Corporation
Priority to AU29195/01A priority Critical patent/AU2919501A/en
Priority to CA002386843A priority patent/CA2386843A1/en
Priority to JP2001532964A priority patent/JP2003526845A/en
Priority to EP20000992737 priority patent/EP1226037A4/en
Priority to MXPA02004155A priority patent/MXPA02004155A/en
Publication of WO2001030581A1 publication Critical patent/WO2001030581A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J3/00Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
    • B41J3/407Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed for marking on special material
    • B41J3/4075Tape printers; Label printers

Definitions

  • the present invention relates generally to bar code printers adapted
  • the present invention relates more specifically
  • the present invention also specifically relates to a
  • the printer uses to print labels, tags or the like.
  • the data stream contains information
  • the same data stream may optionally specify variable data to be rendered or encoded by one or more of those objects, or
  • ZPL Programming Language
  • Bar code printers typically use microprocessors to perform imaging and
  • EPROM Programmable Read Only Memory
  • FLASH Memory Erasable Read-Only-Memory
  • FLASH memory via a serial, parallel, network, or other interface.
  • JetForm which allow a designer to design a label using a "wysiwyg"
  • a basic printer 10 is illustrated schematically in FIGURE 1. As shown,
  • the printer 10 receives a data stream through a port 12, and a formatter 14 in the
  • printer 10 uses the data stream to generate a bit map 16. The printer 10 then prints
  • the data stream and formatter 14 must be compatible. In other words,
  • the data stream must be in a format that the formatter 14 can use to generate an
  • the formatter 14 will not be able to
  • FIGURE 2 A more advanced printer 20 is illustrated schematically in FIGURE 2.
  • the printer 20 receives a data stream through a port 22, and an interpreter
  • the interpreter 24 in the printer receives the data stream.
  • the interpreter 24 interprets the data
  • formatter 26 uses the newly-formatted data to generate a bit map 28, and the
  • printer 20 prints a label, tag, etc. according to the bit map 28. Therefore, the
  • printer 20 illustrated in FIGURE 2 provides an advantage which the printer 10
  • FIGURE 1 does not provide. Specifically, the printer 20 shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in
  • FIGURE 2 provides that the printer 20 can receive a data stream which would
  • printer 20 illustrated in FIGURE 2 does provide a distinct
  • the interpreter 24 of the printer 20 must be configured such that the
  • interpreter 24 can properly convert the data stream which is received through the
  • An object of an embodiment of the present invention is to provide a printer
  • printer programming tool as an easy-to-use graphical tool which can be
  • the printer can print labels, tags or the like using a data stream which
  • the printer programming tool provides a visual comparison of
  • the printer programming tool displays a data
  • conelator which lists the variables of the label, tag or the like, and provides fields
  • the printer programming tool may also be configured to
  • the method includes
  • printer programming tool generate a program based on delimiters which have been
  • printer can print labels, tags or the like using a data stream which would otherwise
  • the printer programming tool displays at least a portion of the
  • the printer programming tool displays a data
  • the printer programming tool may also be
  • FIGURE 1 is a simplified schematic diagram of a basic printer, showing
  • the printer receiving a data stream and printing a label, tag or the like;
  • FIGURE 2 is a simplified schematic diagram of a printer which is more
  • Form B Format B
  • FIGURE 3 is a block diagram of an anangement which can be used to
  • FIGURE 4 is a block diagram of an exemplary computer network
  • FIGURE 5 is a block diagram of a method which can be used in
  • FIGURE 6 is a screen shot of the printer programming tool illustrated in
  • FIGURES 3 and 4 depicting a portion of a data stream, a label containing
  • variables and a data conelator that lists variables of the label and includes fields
  • FIGURE 7 is another screen shot of the printer programming tool
  • FIGURES 3 and 4 depicting a program which has been generated by
  • FIGURE 3 depicts an anangement 30 which can be used to program an
  • the interpreter 24 of a printer 20 includes a printer programming
  • the printer programming tool 40 receives data in a given
  • Form A Format A
  • an interpreter 24 uses the program to interpret a data stream that is received in one format ("Format A"), and converts
  • Form B the new format
  • the formatter 26 uses the newly-
  • each company has its own data format.
  • programming tool 40 in accordance with the present invention provides a
  • a data stream in one format or language (i.e. BASIC, IPL, EPL, etc.) and
  • FIGURE 4 illustrates an exemplary computer network which includes a
  • server 42 runs operating system 44 having a
  • connection 48 to a network 50, allowing it to communicate with a line printer
  • Server 42 runs a prior art "legacy"
  • application 54 such as an ERP application which is adapted to print human-
  • variable data typically consists of the variable data to be printed intermingled with formatting
  • client system 56 (generally
  • system 56 further has a graphics display 64 and a user input system 66, preferably
  • Operating system 58 is preferably a
  • Client 56 further has its own connection
  • client 56 is running the printer
  • Bar code printer 72 preferably includes a microprocessor, FLASH
  • RAM Random Access Memory
  • the print mechanism is of the thermal printing type, but may instead be
  • ink jet, laser, or some other type adapted to print bar codes are examples of ink jet, laser, or some other type adapted to print bar codes.
  • bar code printer 72, client 56 and server 42 are preferably used.
  • variable data and formatting codes appropriate to line printer 52 as described
  • printer programming tool 40 optionally displays
  • Printer programming tool 40 may be configured to
  • variable fields (step 90) on the label which has been created.
  • printer programming tool 40 may be any printer programming tool 40.
  • step 86 and 88 the user then identifies the variable data in the
  • printer programming tool 40 is configured to
  • label or is configured to have a user create the label manually, after the variable data in the data stream has been conelated with variable fields on the label,
  • printer programming tool preferably the printer programming tool generates a program (step 92), executable
  • This program is downloaded to the legacy data stream 84.
  • step 94 which stores it in its Flash ROM in the prior art manner.
  • step 98 printer, using the program (step 98) which has been downloaded, separates the
  • the printer programming tool 40 is a computer program which
  • the printer programming tool 40 displays a
  • printer programming tool 40 also displays
  • the displayed label 110 looks generally like the legacy label. As shown, the displayed label 110
  • the printer programming tool 40 also displays a data
  • the data conelator 112 is preferably in a spread sheet format and
  • column 114 (i.e. "Column A") displays the names of the variables which will be printed on the label and which are contained in the displayed data stream (i.e.
  • column B contains fields in which
  • a user can insert data which is identified in the data stream.
  • each row Preferably, each row
  • the user can insert the data entry which is identified.
  • one column 118 may contain fields for inserting
  • variable data i.e. a company's name
  • Cold D may contain fields for inserting right delimiters, or data which is to
  • printer programming tool 40 to generate a program based thereon
  • programming tool may 40 be configured to automatically detect the delimiters in a
  • the printer programming tool 40 may be configured to allow the user to
  • FIGURE 6 depicts a prefened screen shot 104, it is possible to
  • the printer programming tool 40 may merely provide a
  • the programming tool 40 may automatically identify the delimiters in a given data stream.
  • the printer programming tool 40 may provide still other features and
  • the printer programming tool 40 is configured such that it
  • the printer Preferably, the printer
  • variables identified in the data stream The user can then identify which variables
  • the program which has been generated by the printer is the program which has been generated by the printer
  • programming tool 40 is downloaded to the printer over a network, via a telephone
  • the printer is connected to the telephone line via a modem.
  • a modem preferably,
  • the printer can be directed, either offsite through the telephone line or on site, to
  • the delimiters of the data stream are
  • printer may not be printing labels conectly.
  • the printer programming tool and method provide that the programmer
  • the printer programming tool 40 is configured to interpret and
  • XML is a text/ ASCII based data format that comprises a

Abstract

A printer programming tool (40) that is configured for use by a programmer to generate a program which a printer (20) can use such that the printer can print labels, tags or the like using a data stream (84) which would otherwise be incompatible with the printer. The printer programming tool is configured to provide a visual display of at least a portion (108), of a data stream, and allows a user to specify delimiters which the user identifies in the data stream and/or automatically identifies the delimiters in the data stream. The printer programming tool generates a program (140) based on the delimiters which have been identified, where the program is configured to be used by a printer. Preferably, the printer programming tool provides a visual comparison of at least a portion of the data stream and at least a portion of a label, tag or the like (110) containing variables. Preferably, the printer programming tool displays a data correlator (112) which lists the variables of the label, tag or the like and provides fields in which identified delimiters are displayed. A method for programming an interpreter in a printer is also provided.

Description

PRINTER PROGRAMMING TOOL AND METHOD
Related Application
This application claims the benefit of United States Provisional
Application Serial No. 60/162,789, filed October 29, 1999.
Background
The present invention relates generally to bar code printers adapted
to print labels, tags or the like. The present invention relates more specifically
to a data extraction tool or printer programming tool which is used to generate a
program which can be executed by a printer to cause it to accept a legacy data
stream that would otherwise be unacceptable to it, and to cause printing of one or
more labels, tags or the like. The present invention also specifically relates to a
method of programming a bar code printer using a printer programming tool.
A typical bar code printer according to the prior art is connected to a host
system which sends a data stream in a proprietary protocol which the bar code
printer uses to print labels, tags or the like. The data stream contains information
defining the design and layout of the label, tag, etc. to be printed. This
information typically includes descriptions of lines, boxes, logos and other
graphics, bar code symbologies, and text fields together with their dimensions and
their intended locations on the label. The same data stream may optionally specify variable data to be rendered or encoded by one or more of those objects, or
it may name the data in such a way that it can be accepted in a further, proprietary
data stream. By way of example, one such proprietary protocol is the Zebra
Programming Language (ZPL) which is described in detail in the ZPL II®
Programming Guide, Rev. 1, available from Zebra Technologies Corporation,
located in Vernon Hills, Illinois.
Bar code printers typically use microprocessors to perform imaging and
printing functions. According to prior art, the protocol received is taken as data
by a firmware program stored in Read Only Memory (ROM) or light-Erasable
Programmable Read Only Memory (EPROM.) The program performs the
operations necessary to render data as printed fonts or encode data into printed bar
code symbols. More recently, bar code printers are equipped with Electrically
Erasable Read-Only-Memory (FLASH Memory) which can be electrically erased
and reprogrammed in the printer. This provides a means to upgrade or replace all
or part of the printer's firmware program with a new program created by the
printer manufacturer. The upgraded or replacement program is supplied over the
Internet, floppy diskette, or CD-ROM containing a memory image and optionally
a program to download it from a personal computer and store it into the printer's
FLASH memory via a serial, parallel, network, or other interface.
The use of proprietary protocols has limited the usefulness of prior art bar
code printers to applications having software specifically written for them or to
use with "middleware" applications designed to translate "legacy" data from other sources or intended for other uses into the bar code printer's proprietary protocols.
Among such middleware systems are "label prep" applications such as BarOne
and JetForm, which allow a designer to design a label using a "wysiwyg"
graphical interface, and which then incorporate legacy data from other sources,
and assemble the proprietary protocol stream required by the bar code printer.
These systems run on a computer which is dedicated to the bar code printer, or as
a process or driver on a multitasked computer, either of which must be running
when ever the bar code printer is in use.
A basic printer 10 is illustrated schematically in FIGURE 1. As shown,
the printer 10 receives a data stream through a port 12, and a formatter 14 in the
printer 10 uses the data stream to generate a bit map 16. The printer 10 then prints
a label, tag, etc. according to the bit map 16. For the printer 10 to operate
normally, the data stream and formatter 14 must be compatible. In other words,
the data stream must be in a format that the formatter 14 can use to generate an
appropriate bit map 16. If the data stream is in a format which is incompatible
with the formatter 14 in the printer 10, the formatter 14 will not be able to
generate an appropriate bit map 16, and the printer 10 will not print acceptable
labels, tags, etc.
A more advanced printer 20 is illustrated schematically in FIGURE 2. As
shown, the printer 20 receives a data stream through a port 22, and an interpreter
24 in the printer receives the data stream. The interpreter 24 interprets the data
stream and effectively converts the data stream from one format into another, where the new format is compatible with a formatter 26 in the printer 20. The
formatter 26 uses the newly-formatted data to generate a bit map 28, and the
printer 20 prints a label, tag, etc. according to the bit map 28. Therefore, the
printer 20 illustrated in FIGURE 2 provides an advantage which the printer 10
shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in
FIGURE 2 provides that the printer 20 can receive a data stream which would
otherwise be incompatible with the printer 20, can convert the data stream into a
format which is compatible with the printer 20, and can print labels, tags, etc.
using the newly-formatted data.
While the printer 20 illustrated in FIGURE 2 does provide a distinct
advantage, the interpreter 24 of the printer 20 must be configured such that the
interpreter 24 can properly convert the data stream which is received through the
port 22. To configure the interpreter 24 as such, typically a program must be
provided for the interpreter 24 to use. Unfortunately, drafting such a program
typically requires that one have a fair amount of programming skill.
Objects and Summary
From the foregoing, it may be appreciated that a need has arisen for a
system and method which adapts the bar code printer to accept the available data
stream directly from a non-barcoding application, thereby eliminating the
middleware. An object of an embodiment of the present invention is to provide a printer
programming tool which can be used to generate an executable program for a bar
code printer which will print labels, tags or the like using a data stream which
would otherwise be incompatible with the printer.
A further object of an embodiment of the present invention is to provide
executable code which is directly executable by the microprocessor in the printer
so as to print the label, ticket, or tag from the arbitrary data stream as quickly as
possible.
A still further object of an embodiment of the present invention is to
provide a printer programming tool as an easy-to-use graphical tool which can be
used to create the executable program by a person having limited programming
skill.
Briefly, and in accordance with at least one of the foregoing objects, an
embodiment of the present invention provides a printer programming tool that is
configured for use by a programmer to generate a program which a printer can use
such that the printer can print labels, tags or the like using a data stream which
would otherwise be incompatible with the printer. The printer programming tool
is configured to provide a visual display of at least a portion of a data stream, and
generates a program based on identified delimiters, where the program is
configured to be used by a printer. Preferably, the printer programming tool provides a visual comparison of
at least a portion of the data stream and at least a portion of a label, tag or the like
containing variables. Preferably, the printer programming tool displays a data
conelator which lists the variables of the label, tag or the like, and provides fields
in which a user can specify delimiters which have been identified in the displayed
data stream. The printer programming tool may also be configured to
automatically identify delimiters in a given data stream.
Another embodiment of the present invention provides a method of
programming a printer using a printer programming tool. The method includes
importing a data stream into the printer programming tool, having the printer
programming tool display at least a portion of the data stream, and having the
printer programming tool generate a program based on delimiters which have been
identified, where the program is configured for use by a printer such that the
printer can print labels, tags or the like using a data stream which would otherwise
be incompatible with the printer.
Preferably, the printer programming tool displays at least a portion of the
data stream and at least a portion of a label, tag or the like, where the label, tag,
etc. includes variables. Preferably, the printer programming tool displays a data
conelator, and the data conelator lists the variables of the label, tag or the like,
and provides fields in which a user can specify delimiters which have been
identified in the data stream. The printer programming tool may also be
configured to automatically identify delimiters in a given data stream. Brief Description of the Drawings
The organization and manner of the structure and function of the
invention, together with further objects and advantages thereof, may be
understood by reference to the following description taken in connection with the
accompanying drawings, wherein:
FIGURE 1 is a simplified schematic diagram of a basic printer, showing
the printer receiving a data stream and printing a label, tag or the like;
FIGURE 2 is a simplified schematic diagram of a printer which is more
advanced than the printer illustrated in FIGURE 1 , showing the printer receiving a
data stream in one format ("Format A"), converting the data stream into another
format ("Format B"), and printing a label, tag or the like;
FIGURE 3 is a block diagram of an anangement which can be used to
program an interpreter of a printer, wherein the anangement includes a printer
programming tool which is in accordance with an embodiment of the present
invention;
FIGURE 4 is a block diagram of an exemplary computer network which
includes a printer programming tool that is in accordance with an embodiment of
the present invention;
FIGURE 5 is a block diagram of a method which can be used in
connection with the arrangement shown in FIGURES 3 and 4; FIGURE 6 is a screen shot of the printer programming tool illustrated in
FIGURES 3 and 4, depicting a portion of a data stream, a label containing
variables, and a data conelator that lists variables of the label and includes fields
in which delimiters which are identified in the data stream are listed; and
FIGURE 7 is another screen shot of the printer programming tool
illustrated in FIGURES 3 and 4, depicting a program which has been generated by
the printer programming tool, where the program is configured for use in
programming a printer as shown in FIGURES 3 and 4.
Description of the Preferred Embodiment
While the present invention may be susceptible to embodiment in different
forms, there is shown in the drawings, and herein will be described in detail, an
embodiment of the invention with the understanding that the present description is
to be considered an exemplification of the principles of the invention and is not
intended to limit the invention to that as illustrated and described herein.
FIGURE 3 depicts an anangement 30 which can be used to program an
interpreter 24 of a printer 20. The anangement 30 includes a printer programming
tool or data extraction tool 40 which is in accordance with an embodiment of the
present invention. The printer programming tool 40 receives data in a given
format ("Format A"), and generates a program which converts the given format
("Format A") into another format ("Format B"). The program is then downloaded
to the printer 20, and an interpreter 24 (as shown in FIGURE 2) uses the program to interpret a data stream that is received in one format ("Format A"), and converts
the data stream to a different format ("Format B"), where the new format is
compatible with a formatter 26 in the printer. The formatter 26 uses the newly-
formatted data to generate a bit map 28, and the printer 20 prints a label, tag, etc.
according to the bit map 28. Hence, the program which is used by the interpreter
24 allows the printer 20 to use a data stream which otherwise would be
incompatible with the printer 20.
In the past, one had to have a fair amount of programming skill to write an
appropriate program for converting the format of a given data stream. The
program typically depends on what data format is compatible with the formatter
26 of the printer 20 and what data format is expected to be received through the
port 22 of the printer 20. Typically, each company has its own data format. Some
of the existing data stream formats are: BASIC, IPL (Intermec Printer Language),
Datamax Printer Language, Sato Printer Language, ZPL (Zebra Programming
Language), EPL (Eltron Programming Language), QMS and EPOS (Epson Point
of Sale).
For example, if a printer which is configured to print label, tags or like
based on ZPL is expected to receive a data stream which is formatted in EPOS, a
given program must be written for use by the interpreter in the printer so that the
interpreter can convert EPOS to ZPL. On the other hand, if the printer which is
configured to print based on ZPL is expected to receive a data stream which is
formatted in QMS, a different program must be written for use by the interpreter in the printer so that the interpreter can convert QMS to ZPL. A printer
programming tool 40 in accordance with the present invention provides a
relatively easy-to-use graphical tool which can be used by a programmer to
generate a program that can be used by a printer 20 so that the printer 20 can
receive a data stream in one format or language (i.e. BASIC, IPL, EPL, etc.) and
convert the data stream into another format (i.e. ZPL, etc.) which the printer 20
can use to print labels, tags or the like.
FIGURE 4 illustrates an exemplary computer network which includes a
printer programming tool in accordance with an embodiment of the present
invention. As shown in FIGURE 4, server 42 runs operating system 44 having a
print queue 46 and a connection 48 to a network 50. Operating system 44 need
not be graphically oriented and may be of any type, such as Unix, Linux,
Windows NT Server, or an earlier "legacy" operating system. Server 42 further
has connection 48 to a network 50, allowing it to communicate with a line printer
52 similarly connected to network 50. Server 42 runs a prior art "legacy"
application 54 such as an ERP application which is adapted to print human-
readable documents such as purchase orders and packing lists on line printer 52.
As such, the print job transmitted from application 54 through operating system
44 and print queue 46, over connection 42 and network 48 to line printer 52
typically consists of the variable data to be printed intermingled with formatting
codes appropriate to the type of line printer to specify the text fonts and character
positionings appropriate to the form to be printed. With continued reference to FIGURE 4, client system 56 (generally
conesponding to printer 20 in FIGURE 3) is shown having operating system 58
further having print queue 60 and a connection 62 to the network 50. Client
system 56 further has a graphics display 64 and a user input system 66, preferably
consisting of a keyboard 68 and mouse 70. Operating system 58 is preferably a
graphically oriented operating system such as Windows 95 or Windows NT for
reasons that will become apparent below. Client 56 further has its own connection
62 to network 50, allowing it to communicate with bar code printer 72 similarly
connected to network 50. As shown, preferably client 56 is running the printer
programming tool 40 that is in accordance with an embodiment of the present
invention.
Bar code printer 72 preferably includes a microprocessor, FLASH
Memory, Random Access Memory (RAM) for storing bitmap images of labels to
be printed, and a port for connection to a network (see FIGURE 4). The printer 72
further preferably includes a motor driver and a print head interface which is
connected to a print mechanism, all of which is generally known in the prior art.
Preferably, the print mechanism is of the thermal printing type, but may instead be
ink jet, laser, or some other type adapted to print bar codes.
Preferably, bar code printer 72, client 56 and server 42 (see FIGURE 4) are
continuously connected by network 50; however, each may be equipped with
serial, or parallel ports of the ordinary type through which the bar code printer 72
is connected. The printer programming tool 40 and a method using same will now be
described in further detail. With reference to FIGURES 4 and 5, preferably the
user selects a new project from the file menu at step 80. The legacy data stream
from non bar-code application 54 is then imported at step 82, containing both
variable data and formatting codes appropriate to line printer 52 as described
previously. Also at step 82, printer programming tool 40 optionally displays
legacy data 108 intact in a window 106 (see FIGURE 6), which will be described
more fully later herein. Printer programming tool 40 may be configured to
perform the functions of line printer 52 with respect to formatting codes and to
display the image thereby printed in an on-screen window, generally interpret the
formatting codes and create a label that looks similar to the legacy label (steps 86
and 88), and then automatically conelate the data 84 from the data stream to
variable fields (step 90) on the label which has been created.
In addition, or in the alternative, printer programming tool 40 may be
configured to allow a user to draw, or otherwise create, a label that looks similar
to the legacy label, where user identifies the fixed information that is on the label
(step 86 and 88). At step 90, the user then identifies the variable data in the
legacy data stream and indicates where on the label of step 86 the variable
information should be printed (step 90).
Regardless of whether the printer programming tool 40 is configured to
automatically interpret the data stream to create a label that looks like the legacy
label or is configured to have a user create the label manually, after the variable data in the data stream has been conelated with variable fields on the label,
preferably the printer programming tool generates a program (step 92), executable
by the microprocessor of the printer which later separates the designated
information from the legacy data stream 84. This program is downloaded to the
printer (step 94) which stores it in its Flash ROM in the prior art manner.
Thereafter, when the printer receives legacy label data (boxes 86 and 88), the
printer, using the program (step 98) which has been downloaded, separates the
required data and printer an appropriate label, tag or the like (boxes 100 and 102).
Preferably the printer programming tool 40 is a computer program which
operates under Windows® as shown in the screen shots 104 and 140 illustrated in
FIGURES 6 and 7, respectively. As shown in FIGURE 6, preferably after the
legacy label data has been imported, the printer programming tool 40 displays a
window 106 that contains at least a portion of the legacy data 108 that has been
imported. Additionally, preferably the printer programming tool 40 also displays
the label 110 which has been generated (either automatically or by a user) which
looks generally like the legacy label. As shown, the displayed label 110
preferably contains names of variables which will be printed on the label and
which are contained in the data stream which is displayed.
As shown, preferably the printer programming tool 40 also displays a data
conelator 112. The data conelator 112 is preferably in a spread sheet format and
contains a plurality of fields ananged in columns and rows. Preferably, one
column 114 (i.e. "Column A") displays the names of the variables which will be printed on the label and which are contained in the displayed data stream (i.e.
"Company Name," "Company Address," "Company Phone," Vendor ID" and
"Container ID") as well as displays "Start-of-Format" and "End-of-Format."
Preferably, another column 116 (i.e. "Column B") contains fields in which
a user can insert data which is identified in the data stream. Preferably, each row
initially lists the data as being "Delimited." However, if a user detects that
particular type of data (i.e. "Start-of-Format," "Company Name," "Company
Address," "Company Phone," Vendor ID," "Container ID" and "End-of-Format")
is constant in the data stream, the user can insert the data entry which is identified.
For example, in the data stream which is shown in FIGURE 6 (in window 106), it
can be discerned that the "Start-of-Format" (i.e. the beginning of a new label, tag
or the like) is always indicated with "S50-C-" and the "End-of-Format" (i.e. the
end of a new label, tag or the like) is always indicated with "E5-5-", therefore a
user enters "S50-C-" and "E5-5-"in the appropriate fields.
Preferably, other columns (i.e. "Columns C and D") 118 and 120 contain
fields in which a user can insert delimiters which are identified in the data stream.
For example, one column 118 (i.e. "Column C") may contain fields for inserting
left delimiters, or data which is to the left of variable data (i.e. a company's name,
address, phone, vendor ID and container ID), and another column 120 (i.e.
"Column D") may contain fields for inserting right delimiters, or data which is to
the right of variable data. For example, "Sears" appears in the data stream
displayed in FIGURE 6. Obviously, "Sears" is a company's name. Therefore, a user inserts the left delimiter, i.e. "HO;041,45;FOC20,7,1 l;d3," in the appropriate
column and row, and does the same for the right delimiter. After imputing all the
identified delimiters in the appropriate positions in the data conelator 112, the
user directs the printer programming tool 40 to generate a program based thereon
which can be used by a printer to operate with a data stream which would
otherwise be incompatible. Such a program is shown in the screen shot 140
illustrated in FIGURE 7.
Alternatively, or in addition to, that which has been described, the printer
programming tool may 40 be configured to automatically detect the delimiters in a
given data stream and generate a program, such as the program shown in FIGURE
7, which can be used by a printer to operate with a data stream which would
otherwise be incompatible.
The printer programming tool 40 may be configured to allow the user to
draw a label design in window 110 by dragging and dropping objects from an
associated tool bar and filling in the dialogs in a manner customary to Windows
applications.
While FIGURE 6 depicts a prefened screen shot 104, it is possible to
provide a different screen shot which would effectively provide the same
advantages. For example, the printer programming tool 40 may merely provide a
visual display of a portion of the legacy data stream 108 and have the user indicate
the delimiters of each of the variables, etc. contained therein and/or the printer
programming tool 40 may automatically identify the delimiters in a given data stream. The printer programming tool 40 may provide still other features and
advantages which will become evident from reviewing the appendix which is
attached to United States Provisional Application Serial No. 60/162,789, filed
October 29, 1999, from which this application claims benefit. United States
Provisional Application Serial No. 60/162,789 is hereby incorporated in its
entirety by reference.
Preferably, the printer programming tool 40 is configured such that it
automatically recognizes certain, known printer label languages, and can quickly
generate the program for downloading to a printer. Preferably, the printer
programming tool identifies the delimiters in the data stream, and displays a list of
variables identified in the data stream. The user can then identify which variables
are desired from the list of variables.
Preferably, the program which has been generated by the printer
programming tool 40 is downloaded to the printer over a network, via a telephone
line, where the printer is connected to the telephone line via a modem. Preferably,
the printer can be directed, either offsite through the telephone line or on site, to
run a print test, where the results of the test are communicated back over the
telephone line and/or onto a label. Preferably, the delimiters of the data stream are
identified or any other information which would be helpful to determine why the
printer may not be printing labels conectly. Providing a printer programming tool and method in accordance with the
present invention preferably provides that a programmer can effectively write a
program which a printer can use to convert a data stream in one format into a
different format which the printer can use to print labels, tags or the like.
Preferably, the printer programming tool and method provide that the programmer
need not have a high level of programming skill.
Preferably, the printer programming tool 40 is configured to interpret and
extract variable data from XML data streams. As one having ordinary skill in the
art would recognize, XML is a text/ ASCII based data format that comprises a
series of hierarchical tags that label variable data.
While an embodiment of the present invention is shown and described, it
is envisioned that those skilled in the art may devise various modifications
without departing from the spirit and scope of the foregoing description.

Claims

What is claimed is:
1. A printer programming tool (40) that is configured for use by a
programmer to generate a program which a printer (20) can use such that the
printer can print labels, tags or the like using a data stream (84, 108) which would
otherwise be incompatible with the printer, wherein the printer programming tool
is characterized by being configured to provide a visual display (106) of at least a
portion (108) of a data stream (84), and is configured to generate a program (140)
based on identified delimiters, and wherein the program is configured to be used
by the printer to print labels, tags or the like using a data stream which would
otherwise be incompatible with the printer.
2. A printer programming tool (40) as recited in claim 1 ,
characterized in that the printer programming tool is configured to provide a
visual comparison of at least a portion of the data stream (108) and at least a
portion of a label, tag or the like (110).
3. A printer programming tool (40) as recited in claim 1,
characterized in that the printer programming tool is configured to display a data
conelator (112) which lists variables of the label, tag or the like, and provides
fields in which a user can specify delimiters which have been identified in the
displayed data stream (108).
4. A printer programming tool (40) as recited in claim 1 ,
characterized in that the printer programming tool is configured to automatically
identify delimiters in the data stream (84).
5. A printer programming tool (40) as recited in claim 1 ,
characterized in that the printer programming tool is configured to interpret and
extract variable data from an XML data stream (84).
6. A printer programming tool (40) that is configured for use by a
programmer to generate a program which a printer can use such that the printer
can print labels, tags or the like using a data stream (84) which would otherwise
be incompatible with the printer, wherein the printer programming tool is
characterized by being configured to provide a visual display (106) of at least a
portion (108) of a data stream (84), and is configured to generate a program based
on identified delimiters, and wherein the program is configured to be used by the
printer to print labels, tags or the like using a data stream which would otherwise
be incompatible with the printer, wherein the printer programming tool is
configured to provide a visual comparison of at least a portion of the data stream
and at least a portion of a label, tag or the like (110), wherein the printer
programming tool is configured to display a data conelator (112) which lists
variables of the label, tag or the like, and provides fields in which a user can
specify delimiters which have been identified in the displayed data stream.
7. A printer programming tool (40) as recited in claim 6,
characterized in that the printer programming tool is configured to automatically
identify delimiters in the data stream (84).
8. A printer programming tool (40) as recited in claim 6,
characterized in that the printer programming tool is configured to interpret and
extract variable data from an XML data stream (84).
9. A method of programming a printer (20) using a printer
programming tool (40), said method characterized by importing a data stream (84)
into the printer programming tool; having the printer programming tool display at
least a portion (108) of the data stream; and having the printer programming tool
generate a program (140) based on delimiters which have been identified, where
the program is configured for use by a printer such that the printer can print labels,
tags or the like using a data stream which would otherwise be incompatible with
the printer.
10. A method as recited in claim 9, characterized by displaying at least
a portion (108) of the data stream (106) and at least a portion of a label, tag or the
like (110).
11. A method as recited in claim 10, characterized by using the printer
programming tool (40) to display at least a portion (108) of the data stream (84)
and at least a portion of a label, tag or the like (110).
12. A method as recited in claim 9, characterized by displaying a data
conelator (112) which lists variables of the label, tag or the like, and provides
fields in which a user can specify delimiters which have been identified in the data
stream (108).
13. A method as recited in claim 12, characterized by using the printer
programming tool (40) to display a data conelator (112) which lists variables of
the label, tag or the like, and provides fields in which a user can specify delimiters
which have been identified in the data stream (108).
14. A method as recited in claim 9, characterized by automatically
identifying delimiters in the data stream (84).
15. A method as recited in claim 14, characterized by using the printer
programming tool (40) to identify delimiters in the data stream (84).
16. A method as recited in claim 9, characterized by using the printer
programming tool (40) to interpret and extract variable data from an XML data
stream (84).
17. A method of programming a printer (20) using a printer
programming tool (40) , said method characterized by importing a data stream
(84) into the printer programming tool; having the printer programming tool
display at least a portion (108) of the data stream; and having the printer
programming tool generate a program (140) based on delimiters which have been
identified, where the program is configured for use by a printer such that the printer can print labels, tags or the like using a data stream which would otherwise
be incompatible with the printer, further comprising using the printer
programming tool to display at least a portion (108) of the data stream and at least
a portion of a label, tag or the like (110) and using the printer programming tool to
display a data conelator (112) which lists variables of the label, tag or the like,
and provides fields in which a user can specify delimiters which have been
identified in the data stream.
18. A method as recited in claim 17, characterized by automatically
identifying delimiters in the data stream (84).
19. A method as recited in claim 18, characterized by using the printer
programming tool (40) to identify delimiters in the data stream (84).
20. A method as recited in claim 17, characterized in that the printer
programming tool (40) is configured to interpret and extract variable data from an
XML data stream (84).
PCT/US2000/041690 1999-10-29 2000-10-27 Printer programming tool and method WO2001030581A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU29195/01A AU2919501A (en) 1999-10-29 2000-10-27 Printer programming tool and method
CA002386843A CA2386843A1 (en) 1999-10-29 2000-10-27 Printer programming tool and method
JP2001532964A JP2003526845A (en) 1999-10-29 2000-10-27 Printer programming tools and methods
EP20000992737 EP1226037A4 (en) 1999-10-29 2000-10-27 Printer programming tool and method
MXPA02004155A MXPA02004155A (en) 1999-10-29 2000-10-27 Printer programming tool and method.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16278999P 1999-10-29 1999-10-29
US60/162,789 1999-10-29

Publications (1)

Publication Number Publication Date
WO2001030581A1 true WO2001030581A1 (en) 2001-05-03

Family

ID=22587140

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/041690 WO2001030581A1 (en) 1999-10-29 2000-10-27 Printer programming tool and method

Country Status (7)

Country Link
EP (1) EP1226037A4 (en)
JP (1) JP2003526845A (en)
AU (1) AU2919501A (en)
CA (1) CA2386843A1 (en)
MX (1) MXPA02004155A (en)
WO (1) WO2001030581A1 (en)
ZA (1) ZA200202485B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1639517A1 (en) * 2003-06-20 2006-03-29 ZIH Corp. Xml printer system with rfid capability
EP2244180A3 (en) * 2009-04-24 2010-11-03 Sanford, L. P. Printing apparatus and controller therefor
US7959083B2 (en) 2002-07-17 2011-06-14 Zih Corp. XML printer system
US7988051B2 (en) 2001-12-17 2011-08-02 ZIP Corp. XML printer system with RFID capability
US8393540B2 (en) 2001-12-17 2013-03-12 Zih Corp. XML printer system with RFID capability
US9870522B2 (en) 2008-10-27 2018-01-16 Sato Holdings Kabushiki Kaisha Label printer API using LUA program scripting language
US9886289B2 (en) 2009-06-08 2018-02-06 Sato Holdings Kabushiki Kaisha System and method for injecting run-time programming code in a printing device
CN111857610A (en) * 2020-06-12 2020-10-30 至本医疗科技(上海)有限公司 Label printing method and device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4743083B2 (en) * 2006-11-02 2011-08-10 ブラザー工業株式会社 Printing device
TW201322165A (en) * 2011-11-30 2013-06-01 Hardware & Software Technology Co Ltd Real-time updating system of electronic tags
JP5727067B2 (en) * 2014-04-09 2015-06-03 サトーホールディングス株式会社 System and method for introducing runtime programming code into a printing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239622A (en) * 1991-11-28 1993-08-24 Monarch Marking Systems, Inc. Barcode identification system format editor
US5345091A (en) * 1991-10-28 1994-09-06 Craig Gina M Barcode identification system
US5467433A (en) * 1992-04-15 1995-11-14 Monarch Marking Systems, Inc. Label printing and data collection program generator
US5524184A (en) * 1993-08-04 1996-06-04 Monarch Marking Systems, Inc. On-line barcode printer with automatic communication parameter determining system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939674A (en) * 1988-04-22 1990-07-03 Engineered Data Products, Inc. Label generation apparatus
US5862310A (en) * 1996-08-21 1999-01-19 Becton Dickinson And Company Data formatting system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345091A (en) * 1991-10-28 1994-09-06 Craig Gina M Barcode identification system
US5239622A (en) * 1991-11-28 1993-08-24 Monarch Marking Systems, Inc. Barcode identification system format editor
US5467433A (en) * 1992-04-15 1995-11-14 Monarch Marking Systems, Inc. Label printing and data collection program generator
US5524184A (en) * 1993-08-04 1996-06-04 Monarch Marking Systems, Inc. On-line barcode printer with automatic communication parameter determining system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1226037A4 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8820642B2 (en) 2001-12-17 2014-09-02 Zih Corp. XML printer system with RFID capability
US8393540B2 (en) 2001-12-17 2013-03-12 Zih Corp. XML printer system with RFID capability
US8459555B2 (en) 2001-12-17 2013-06-11 Zih Corp. XML system
US9418322B2 (en) 2001-12-17 2016-08-16 Zih Corp. XML printer system with RFID capability
US9600463B2 (en) 2001-12-17 2017-03-21 Zih Corp. XML printer system
US7959082B2 (en) 2001-12-17 2011-06-14 Zih Corp. XML system
US7988051B2 (en) 2001-12-17 2011-08-02 ZIP Corp. XML printer system with RFID capability
US9201845B2 (en) 2001-12-17 2015-12-01 Zih Corp. XML printer system
US8544746B2 (en) 2001-12-17 2013-10-01 Zih Corp. XML printer system
US8919652B2 (en) 2001-12-17 2014-12-30 Zih Corp. XML system
US7959083B2 (en) 2002-07-17 2011-06-14 Zih Corp. XML printer system
EP1639517A1 (en) * 2003-06-20 2006-03-29 ZIH Corp. Xml printer system with rfid capability
EP1639517A4 (en) * 2003-06-20 2008-04-09 Zih Corp Xml printer system with rfid capability
EP2275967A3 (en) * 2003-06-20 2011-02-23 ZIH Corporation XML System
US9870522B2 (en) 2008-10-27 2018-01-16 Sato Holdings Kabushiki Kaisha Label printer API using LUA program scripting language
US9304671B2 (en) 2009-04-24 2016-04-05 Sanford, L.P. Printing apparatus and controller therefor
EP2244180A3 (en) * 2009-04-24 2010-11-03 Sanford, L. P. Printing apparatus and controller therefor
US9886289B2 (en) 2009-06-08 2018-02-06 Sato Holdings Kabushiki Kaisha System and method for injecting run-time programming code in a printing device
CN111857610B (en) * 2020-06-12 2024-02-13 至本医疗科技(上海)有限公司 Label printing method and device
CN111857610A (en) * 2020-06-12 2020-10-30 至本医疗科技(上海)有限公司 Label printing method and device

Also Published As

Publication number Publication date
MXPA02004155A (en) 2002-10-17
AU2919501A (en) 2001-05-08
EP1226037A1 (en) 2002-07-31
ZA200202485B (en) 2003-09-23
JP2003526845A (en) 2003-09-09
CA2386843A1 (en) 2001-05-03
EP1226037A4 (en) 2002-10-25

Similar Documents

Publication Publication Date Title
US5823689A (en) Computer system with bi-directional communication and method
US10402809B2 (en) Point-of-sale printer interpreting a markup language from a client device to control a scanner using scanner-control commands
US6426798B1 (en) Data structure for printer description file
US20130057885A1 (en) Printing System, POS System, Connection Device, Control Method of Printing System, and Program Therefor
US7082574B2 (en) Printing output user interface control method, recording medium storing the method in program, and printing data supply device and information processing system executing the program
US6377354B1 (en) System and method for printing a document having merged text and graphics contained therein
US9110615B2 (en) Point of sale control device, control method, and storage medium storing a program for a point of sale device
US20160098236A1 (en) Method, Computer, and System for an Operating System Independent Device Driver
EP2434390A2 (en) Method of adding value to print data, a value-adding device, and a recording medium
WO2001030581A1 (en) Printer programming tool and method
US5878198A (en) Information processing apparatus and method and memory medium storing information processing program
US7561289B2 (en) Method for editing a printed page
US5579449A (en) Method for downloading and printing bitmapped graphics
US5544287A (en) On-line barcode printer system with multi-level user printer commands
US6986462B2 (en) Automated parts labeling system
US20020074408A1 (en) Barcode optical character recognition
US6633292B2 (en) Recording device and recording method
EP1736863B1 (en) Print system
US9224275B2 (en) Media processing method using multiple processing units for performing multiple processes
JPH11221946A (en) Print system and method
US20040145760A1 (en) Font downloading apparatus and method
EP3346376B1 (en) Printer script autocorrect
CN100384637C (en) Letter information transaction system, letter information handling instrument and letter information handling program
JP2013037388A (en) Output control device, control method of output device, and program
JP7074226B2 (en) Printing system and printing method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 29195/01

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2386843

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2000992737

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 532964

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: PA/a/2002/004155

Country of ref document: MX

WWP Wipo information: published in national office

Ref document number: 2000992737

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 2000992737

Country of ref document: EP