Abstract:
Computer software which includes code configured to create a printer label format based on a printed label that has been scanned. The code is configured to scan a label by either using a plurality of different types of scanners, or by using a single piece of hardware which can perform a plurality of different types of scans. Then, the scanned label is used to generate a label format. The label format created from the scanned label is thereafter useable to print labels similar in format to the label which was scanned. Preferably, barcodes are recognized as barcodes, and not just as graphics. Preferably, a user is prompted, via a visual display, to confirm that the scanned objects have been correctly characterized and the user can change any of the characterizations made by the software. The user can link any object to a variable field, and can add embedded printer-specific non-printing control codes to the label format.

Description:
BACKGROUND  
       [0001]     The present invention relates generally to computer software packages for creating and editing printer label formats, and relates more specifically to a computer software package which can create a printer label format based on a printed label that has been scanned. The present invention also specifically relates to a method of creating a printer label format by scanning a printed label.  
         [0002]     Barcode printers, such as on-demand barcode printers, use label formats to print labels. Presently, software packages are available which a user can use to create and edit printer label formats. For example, there are a variety of software packages for the PC (personal computer) and Macintosh® which a user can use to design barcode label formats.  
         [0003]     The software packages which are generally available are user-friendly and generally make creating and editing a label format easy for a user. Such software packages generally provide that the label format is displayed on a computer monitor as the user uses the software package to design the label format. The user can place text, graphical objects, barcode objects, etc. onto a graphical representation of a printed label, and can manipulate the objects into the desired label design. Typically, the user can also link any of the objects to variable data. In addition, these software packages generally provide that the user can embed special printer command codes into the label format, where the command codes subsequently do not physically print, but rather control specific features of the printer which subsequently uses the label format to print labels.  
         [0004]     These software packages are convenient for a user to use to create new label formats and to edit existing label formats, so long as the existing label format has been created using the same software package (or a compatible package). However, these software packages do not provide that a user can easily import existing label formats that were not created using the software package (or a compatible package), such as printer labels which were created in a printer-specific command language. The software packages which are presently available require that a user has to manually create a similar label format from scratch, manually interpreting and measuring the different features and characteristics of the label. This process is often time consuming and obviously provides room for error. Furthermore, if the label contains any barcodes, the user must be able to identify the barcodes as the user designs the label format. Hence, the user needs to be trained and experienced in barcodes in order to create an accurate label format that includes barcodes.  
         [0005]     Another aspect of the present invention relates to optical character recognition (OCR) software. OCR software has been available for many years, and currently recognizes characters, fonts and graphics, such as raster or vector graphics. Current OCR software also recognizes certain primitive formatting, such as margins, indents, tabs, etc. However, current OCR software does no generally recognize barcodes, such as what type of barcode a scanned barcode is, or any of the parameters associated with the barcode which has been scanned. Instead, current OCR software typically interprets a barcode as a mere graphic.  
       OBJECTS AND SUMMARY  
       [0006]     An object of an embodiment of the present invention is to provide a computer software package which can create a printer label format based on a printed label that has been scanned.  
         [0007]     Another object of an embodiment of the present invention is to provide a method of creating a printer label format by scanning an existing, printed label.  
         [0008]     Still another object of an embodiment of the present invention is to provide OCR software which can identify barcodes.  
         [0009]     Yet another object of an embodiment of the present invention is to provide software which provides for multiple types of scans of a label (either in a single pass or in multiple passes using different types of scanners/readers), including reading of an RFID tag on the label.  
         [0010]     Briefly, and in accordance with at least one of the foregoing objects, an embodiment of the present invention provides computer software which is configured to create a printer label format based on a printed label that has been scanned. Specifically, the software provides that an existing label is scanned, and then the software converts the scan into a label format through optical character recognition (OCR). Preferably, the software is configured such that text on the label is recognized as text, graphics are recognized as graphics, etc. and anything on the label which is not specifically recognized by the software is characterized as being a graphic. Preferably, the software recognizes barcodes as barcodes, and not just as graphics. Subsequently, the software preferably prompts a user, using a visual display, to confirm that the scanned objects have been correctly characterized and allows the user to change any of the characterizations made by the software. Additionally, preferably the software allows the user to link any of the objects to a variable field, and to input embedded printer-specific non-printing control codes into the label format. The software preferably provides that once this process is complete, and a label format has been created, the label format can be saved and printed at any time, using any supported printer.  
         [0011]     Another object of an embodiment of the present invention is to provide a method of creating a printer label format by scanning a printed label. Specifically, the printed label is scanned, and then the scanned label is converted to a label format. One or more objects may be linked to a variable field, and embedded printer-specific non-printing control codes may be added to the label format. Once this process is complete, and a label format has been created, the label format can be saved and printed at any time, using any supported printer.  
         [0012]     Still another object of an embodiment of the present invention is to provide OCR software which is configured to identify barcodes as being barcodes and not just as graphics.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]     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:  
         [0014]      FIG. 1  is a block diagram of a method of creating a label format, where the method is in accordance with an embodiment of the present invention;  
         [0015]      FIG. 2  is a block diagram of a system which can be used to perform the method illustrated in  FIG. 1 , wherein a computer runs a computer software package which is in accordance with an embodiment of the present invention;  
         [0016]      FIG. 3  is an illustration of a printed label sample which has been printed by an existing printer;  
         [0017]      FIG. 4  is a screen shot showing the computer software package opened, before the label shown in  FIG. 3  is scanned;  
         [0018]      FIG. 5  is a screen shot showing the computer software package being directed to scan;  
         [0019]      FIG. 6  is a screen shot showing the computer software package after the label shown in  FIG. 3  has been scanned, and showing the computer software package prompting a user to confirm/change characterizations which have been made by the computer software package with regard to the scanned label;  
         [0020]      FIG. 7  is a screen shot showing the computer software package prompting a user to confirm print time preferences before a label is printed;  
         [0021]      FIG. 8  is a block diagram of steps of another method of creating a label format, where the method is in accordance with another embodiment of the present invention; and  
         [0022]      FIG. 9  is a block diagram of steps of another method of creating a label format, where the method is in accordance with still yet another embodiment of the present invention.  
     
    
     DESCRIPTION  
       [0023]     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.  
         [0024]      FIG. 1  provides a block diagram of a method of creating a label format, where the method is in accordance with an embodiment of the present invention. The method provides that a label format can be created by scanning an existing, printed label. As such, a user can easily import existing label formats that were not created using a given software package (or a compatible package), such as printer labels which were created in a printer-specific command language. The method obviates the need for the user to have to manually create a similar label format from scratch, manually interpreting and measuring the different features and characteristics of the label.  
         [0025]     As shown in  FIG. 1 , the method provides that an existing, printed label is scanned (box  10 ). Then, the scanned label is converted to a label format (box  12 ), and the user confirms and/or changes characterizations which were made regarding the scanned label (box  14 ). The user may also link any of the objects to variable fields, and input embedded printer specific non-printing control codes, where the command codes subsequently do not physically print, but rather control specific features of a printer which subsequently uses the label format to print one or more labels. As shown in  FIG. 1 , once the label format has been created, it can be saved (box  16 ), and then used by a supported printer to print labels (box  18 ).  
         [0026]      FIG. 2  illustrates a system  20  which can be used to perform the method shown in  FIG. 1 . As shown in  FIG. 2 , the system  20  includes a scanner  22  which is connected to a computer  24 . The computer  24  is connected to a computer monitor  26  and may be connected to one or more printers  28 . Preferably, the computer  24  runs a computer software package which is configured to create a label format based on a scanned label (i.e. in accordance with  FIG. 1 ). The computer software package will be described in more detail below with reference to certain screen shots which are illustrated in  FIGS. 4-6 .  
         [0027]     The method illustrated in  FIG. 1  and briefly described above will now be described in connection with the system  20  shown in  FIG. 2  and the computer software package. A sample label  30  which has been printed by an existing printer is illustrated in  FIG. 3 . Assuming a user wishes to create a label format based on the label  30  shown in  FIG. 3 , the user places the label  30  on the scanner  22  shown in  FIG. 2 , and uses the computer  24  shown in  FIG. 2  to open the computer software package such that the monitor  26  shown in  FIG. 2  provides a screen shot  32  as shown in  FIG. 4 .  
         [0028]     Subsequently, the user uses the computer  24  shown in  FIG. 2  to direct the computer software package to scan the label  30 , at which time the monitor  26  shown in  FIG. 2  provides a screen shot  34  as shown in  FIG. 5 . The computer  26  then directs the scanner  22  to scan the label  30 , and afterward, the monitor  26  provides a screen shot  36  as shown in  FIG. 6 , wherein a graphic representation  38  of the label  30  is displayed. The computer software package is configured to convert the scanned label  30  to a label format and in so doing, recognizes text on the label as text, graphics as graphics, etc. and anything on the label which is not specifically recognized by the software is characterized as being a graphic. Preferably, the computer software package is configured to recognize barcodes as barcodes (and not just as a graphic). Specifically, preferably the computer software package is configured to determine what type of barcode (i.e., Code 39, Code 128, Maxicode, etc.) a scanned barcode is, and is configured to determine certain parameters about the barcode, such as aspect ratio, size, and human readability.  
         [0029]     As shown in  FIG. 6 , after the label  30  has been scanned, the computer software package preferably prompts the user (via window  40 ) to confirm and/or change the characterizations about the objects on the label which the computer software package has made. At such time, the user may confirm/change any of the characterizations, as well as link any of the objects to variable fields, and input embedded printer specific non-printing control codes, where the command codes subsequently do not physically print, but rather control specific features of a printer which subsequently uses the label format to print one or more labels. Once the label format has been created, it can be saved (see box  16  in  FIG. 1 ).  
         [0030]     As shown in  FIG. 2 , one or more printers  28  may be connected to the computer  26 . After a label format has been created, the user may direct the computer  26  to have one of the printers  28  print one or more labels based on the label format. As shown in  FIG. 7 , the computer software package may provide a screen shot  42  wherein the user is prompted (via window  44 ) confirm certain print time preferences before printing begins. Once the label has been printed, the label may appear exactly, or at least substantially similar to, the label shown in  FIG. 3 .  
         [0031]     As described, the method (and computer software package) provides that a label format can be created by scanning an existing, printed label. As such, a user can easily import existing label formats that were not created using a given software package (or a compatible package), such as printer labels which were created in a printer-specific command language. Hence, the user does not have to manually create a similar label format from scratch, manually interpreting and measuring the different features and characteristics of the label.  
         [0032]     Additionally, as described, the computer software package provides barcode OCR which is a distinct advantage over OCR which is currently available, which would characterize a barcode as being a mere graphic.  
         [0033]     In all of the embodiments previously described, preferably the OCR is performed in a single scan of the label.  
         [0034]     In another embodiment of the present invention, not only is the OCR preferably performed in a single scan, but additional data is input through software drivers that support other scanning devices that scan the original label. In other words, the label can be scanned with an optical scanner which performs OCR on the label. Subsequently, the label can be scanned by another type of scanner to gain additional information regarding, and further classify, items on the label. In other words, preferably the software is configured to provide multiple scanner input capability from different types of devices, such as: PC Based Optical Scanners, application specific barcode scanners/readers, RFID encoders/readers, as well as new devices as driver support becomes available. The method would be as illustrated in  FIG. 1 , and as described above, except box  10  would be as shown in  FIG. 8 .  
         [0035]     For example, as shown in  FIG. 8 , after OCR scanning a “smart label” (a printed label with an embedded RFID tag containing information) using an optical scanner (box  100  in  FIG. 8 ) and then classifying the identified portions of the label (as described above in connection with the previous embodiments) (box  102  in  FIG. 8 ), the label is scanned by an RFID reader that reads information from the RFID tag on the label (box  104  in  FIG. 8 ), and the software classifies the identified portions of the label (box  106  in  FIG. 8 ). Preferably, the software is configured to allow the information to be embedded into a label format (box  12  in  FIG. 1 ) to print and program “smart labels” on supported printers/encoders (box  18  in  FIG. 1 ). This can be employed in a method to input data from symbologies that were not recognized by the Barcode OCR software (for example, the label being scanned may have a defect) but are instead read and inputted to the software through an alternate scanning device that supports the symbology rather than having to identify and characterize the symbology manually.  
         [0036]     As such, RFID data can be input through an additional supported device and embedded into the label format for printing on supported printer/encoders. Preferably, the software provides that the RFID data can be reconfigured, changed, as well linked with variable fields.  
         [0037]     The software can be configured such that a printed label is scanned and input into the Barcode OCR application in a single pass/scan, with additional input/characterization and clarification being capable through additional scans with other supported scanning devices (such as barcode scanners/readers, RFID encoder/readers, etc.) instead of just human input characterization. As shown in  FIG. 1 , preferably the method still provides that characterizations can be confirmed or changed, that objects can be linked to variable fields, and that specific non-printing control codes can be embedded (box  14  in  FIG. 1 ).  
         [0038]     With regards to RFID capability and “smart labels”, a hardware device could be provided which effectively combines the capability of current document scanners with OCR capability with an integrated RFID reader/encoder. This would allow the above “smart labels” to be reproduced in a single scanning pass, as shown in  FIG. 9 , where optical and RFID information is obtained in parallel. In other words, the hardware may effectively be a combined document scanner and RFID reader/encoder, which is capable of performing Barcode OCR of “smart labels” in a single scanning pass (i.e., wherein OCR is performed and an RFID tag is read in a single pass). The hardware device is used to scan/read the label (box  200  in  FIG. 9 ), and any identified portions of the label are classified (box  202  in  FIG. 9 ). Then the method from the box  12  as shown in  FIG. 1 .  
         [0039]     While embodiments of the present invention are 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.