Difference between revisions of "LazBarcodes"

From Lazarus wiki
Jump to navigationJump to search
(→‎1D barcodes: Add UPC/EAN)
Line 9: Line 9:
  
 
* [[Image:tbarcodec128.png]] <tt>TBarcodeC128</tt>: Property <tt>BarcodeType</tt> allows to select one of the subsets:
 
* [[Image:tbarcodec128.png]] <tt>TBarcodeC128</tt>: Property <tt>BarcodeType</tt> allows to select one of the subsets:
** [https://en.wikipedia.org/wiki/Code_128 '''Code-128''']: max 160 text characters (ASCII)
+
** <tt>bctC128</tt>: [https://en.wikipedia.org/wiki/Code_128 '''Code-128'''] - max 160 text characters (ASCII)
** [https://en.wikipedia.org/wiki/GS1-128 '''UPC/EAN-128''', also known as '''GS1-128''']]: variable length depending on "Application Identifier" to be given in square brackets.  
+
** <tt>bctEAN128</tt>: [https://en.wikipedia.org/wiki/GS1-128 '''UPC/EAN-128''', also known as '''GS1-128''']] - variable length depending on "Application Identifier" to be given in square brackets.  
  
 
* [[Image:tbarcode2of5.png]] <tt>TBarcode2of5</tt>: Property <tt>BarcodeType</tt> allows to select one of the following subsets:
 
* [[Image:tbarcode2of5.png]] <tt>TBarcode2of5</tt>: Property <tt>BarcodeType</tt> allows to select one of the following subsets:
** [https://en.wikipedia.org/wiki/Matrix_2_of_5 '''DataLogic 2-of-5''']: up to 80 numerical digits
+
** <tt>bctCode25Standard</tt>: [https://en.wikipedia.org/wiki/Matrix_2_of_5 '''Standard 2-of-5, also known as '''Matrix 2-of-5'''] - up to 80 numerical digits
** [https://en.wikipedia.org/wiki/Industrial_2_of_5#IATA_2_of_5 '''IATA_2_of_5''']: up to 45 numerical digits
+
** <tt>bctCode25DataLogic</tt>: [https://en.wikipedia.org/wiki/Matrix_2_of_5 '''DataLogic 2-of-5'''] - up to 80 numerical digits
** [https://en.wikipedia.org/wiki/Industrial_2_of_5 '''Industrial 2-of-5''']: up to 45 numerical digits
+
** <tt>bctCode25IATA</tt>: [https://en.wikipedia.org/wiki/Industrial_2_of_5#IATA_2_of_5 '''IATA_2_of_5'''] - up to 45 numerical digits
** [https://en.wikipedia.org/wiki/Interleaved_2_of_5 '''Interleaved 2-of-5''']: up to 89 numerical digits
+
** <tt>bctCode25Industrial</tt>: [https://en.wikipedia.org/wiki/Industrial_2_of_5 '''Industrial 2-of-5'''] - up to 45 numerical digits
** [https://en.wikipedia.org/wiki/Matrix_2_of_5 '''Matrix 2-of-5''']: up to 80 numerical digits
+
** <tt>bctCode25Interleaved</tt>: [https://en.wikipedia.org/wiki/Interleaved_2_of_5 '''Interleaved 2-of-5'''] - up to 89 numerical digits
** [https://en.wikipedia.org/wiki/ITF-14 '''ITF-14''']: up to 13 numerical digits
+
** <tt>bctITF14</tt>: [https://en.wikipedia.org/wiki/ITF-14 '''ITF-14'''] - up to 13 numerical digits
  
 
* [[Image:tbarcode3of9.png]] <tt>TBarcode3of9</tt>: supports the following subsets via property <tt>BarcodeType</tt>:
 
* [[Image:tbarcode3of9.png]] <tt>TBarcode3of9</tt>: supports the following subsets via property <tt>BarcodeType</tt>:
** [https://en.wikipedia.org/wiki/Code_39 '''Code 3-of-9 (C39)''']: up to 74 characters: numeric, uppercase-alpha and some special characters (<tt>-. $/+%abcd</tt>).
+
** <tt>bctCode39</tt>: [https://en.wikipedia.org/wiki/Code_39 '''Code 3-of-9 (C39)'''] - up to 74 characters: numeric, uppercase-alpha and some special characters (<tt>-. $/+%abcd</tt>).
** [https://en.wikipedia.org/wiki/Code_39#Full_ASCII_Code_39 '''Extended Code 3-of-9 (C39+)''']: up to 74 characters, all ASCII characters allowed (<tt>< #128</tt>).
+
** <tt>bctCode39Ext</tt>: [https://en.wikipedia.org/wiki/Code_39#Full_ASCII_Code_39 '''Extended Code 3-of-9 (C39+)'''] - up to 74 characters, all ASCII characters allowed (<tt>< #128</tt>).
** '''LOGMARS''': like C39, different wide bar width.
+
** <tt>bctLOGMARS</tt>: '''LOGMARS''' - like C39, different wide bar width.
** [https://en.wikipedia.org/wiki/Code_93 '''Code-93''']: up to 107 characters. Allowed characters like C39.
+
** <tt>bctCode93</tt>: [https://en.wikipedia.org/wiki/Code_93 '''Code-93'''] - up to 107 characters like C39.
 +
 
 +
* [[Image:tbarcodeean.png]] <tt>TBarcodeEAN</tt>: supports the following subsets via property <tt>BarcodeType</tt>:
 +
** <tt>bctEAN</tt>: [https://en.wikipedia.org/wiki/International_Article_Number '''EAN-8''' and '''EAN-13'''] - up to 13 numeric digits
 +
** <tt>bctEAN14</tt>: '''EAN-14''' - up to 13 numeric digits
 +
** <tt>bctISBN</tt>: [https://en.wikipedia.org/wiki/International_Standard_Book_Number '''ISBN'''] - 9, 10 or 13 numeric characters or <tt>'X'</tt>
 +
** <tt>bctNVE18</tt>: '''NVE-18''' - up to 25 numeric digits
 +
** <tt>bctUPCA</tt>: [https://en.wikipedia.org/wiki/Universal_Product_Code '''UPC-A'''] - up to 10 numeric digits (plus 2 check digits)
 +
** <tt>bctUPCE</tt>: [https://en.wikipedia.org/wiki/Universal_Product_Code#UPC-E '''UPC-E'''] - up to 7 numeric digits
  
 
==== 2D barcodes ====
 
==== 2D barcodes ====

Revision as of 23:41, 20 February 2022

About

LazBarcodes is a set of controls to create 1D and 2D barcodes. The backend engine is a port of Zint at sourceforge. Some units were heavily refactored to obtain a more Pascal-like code.

The library supports the generation of 1D and 2D barcodes:

1D barcodes

  • tbarcodec11.png TBarcodeC11:
    • Code-11: max 121 numeric characters ('0'..'9')
  • tbarcodec128.png TBarcodeC128: Property BarcodeType allows to select one of the subsets:
  • tbarcode3of9.png TBarcode3of9: supports the following subsets via property BarcodeType:
    • bctCode39: Code 3-of-9 (C39) - up to 74 characters: numeric, uppercase-alpha and some special characters (-. $/+%abcd).
    • bctCode39Ext: Extended Code 3-of-9 (C39+) - up to 74 characters, all ASCII characters allowed (< #128).
    • bctLOGMARS: LOGMARS - like C39, different wide bar width.
    • bctCode93: Code-93 - up to 107 characters like C39.
  • tbarcodeean.png TBarcodeEAN: supports the following subsets via property BarcodeType:
    • bctEAN: EAN-8 and EAN-13 - up to 13 numeric digits
    • bctEAN14: EAN-14 - up to 13 numeric digits
    • bctISBN: ISBN - 9, 10 or 13 numeric characters or 'X'
    • bctNVE18: NVE-18 - up to 25 numeric digits
    • bctUPCA: UPC-A - up to 10 numeric digits (plus 2 check digits)
    • bctUPCE: UPC-E - up to 7 numeric digits

2D barcodes

The download contains the packages "lazbarcodes" and "lazbarcodes_runtimeonly". The first one gives you visual components of the above barcodes and the second can be used just to access the ported zint code for advanced barcode generation.

Screenshot

lazbarcodes demo.png

Author

2011 - Jose Mejuto

License

BSD 3 as it is being inherited from the zint source code.

Download

The latest source code can be found on Lazarus-CCR

Change Log

  • v1.0.3: Internally used units renamed to avoid naming conflict with CodeTyphon package PL_APE.
  • v1.0.2: Change of license from GPL to BSD
  • Initial development.

Dependencies / System Requirements

  • None

Status: In development

Issues: None by now.

Installation

  • Step 1: Compile the package "lazbarcodes_runtimeonly".
  • Step 2: Install the package "lazbarcodes".

Final notes

If you need the generation of another barcode and it is present in Zint, please ask for it in the Lazarus forum or mailing lists.