Daniel White 9862f569c4
datamatrix: GS1 DataMatrix support added
This supports generating a compliant GS1 DataMatrix when the FNC1
character is used as a start character in the barcode.

The FNC1 character may also be used as a separator between GS1 element
strings that do not have a pre-defined length.

From the GS1 DataMatrix guidelines:

	2.2.1 Function 1 Symbol Character (FNC1)

	By definition in ISO/IEC 16022 GS1 DataMatrix uses a special
	start sequence to differentiate GS1 DataMatrix from other
	ISO/IEC Data Matrix symbols. This is achieved by using the
	Function 1 Symbol Character (FNC1) in the first position of
	the data encoded. It enables scanners to process the
	information according to the GS1 System Rules.

	The FNC1 (codeword 232) has two separate uses in GS1 DataMatrix:

	■ Start character.

	■ Separator character to separate element strings that are not
	  in the predefined list

See: https://www.gs1.org/standards/gs1-datamatrix-guideline/25
2024-08-30 18:57:28 +10:00
2017-06-05 21:46:43 +02:00
2024-08-02 12:31:58 -03:00
2018-07-24 13:09:03 +02:00
2014-06-15 21:33:44 +02:00
2017-09-22 12:33:52 +02:00

Join the chat at https://gitter.im/golang-barcode/Lobby

Introduction

This is a package for GO which can be used to create different types of barcodes.

Supported Barcode Types

  • 2 of 5
  • Aztec Code
  • Codabar
  • Code 128
  • Code 39
  • Code 93
  • Datamatrix
  • EAN 13
  • EAN 8
  • PDF 417
  • QR Code

Example

This is a simple example on how to create a QR-Code and write it to a png-file

package main

import (
	"image/png"
	"os"

	"github.com/boombuler/barcode"
	"github.com/boombuler/barcode/qr"
)

func main() {
	// Create the barcode
	qrCode, _ := qr.Encode("Hello World", qr.M, qr.Auto)

	// Scale the barcode to 200x200 pixels
	qrCode, _ = barcode.Scale(qrCode, 200, 200)

	// create the output file
	file, _ := os.Create("qrcode.png")
	defer file.Close()

	// encode the barcode as png
	png.Encode(file, qrCode)
}

Documentation

See GoDoc

To create a barcode use the Encode function from one of the subpackages.

Languages
Go 100%