Skip to content

tecnickcom/tc-lib-barcode

tc-lib-barcode

PHP library for generating linear and 2D barcodes.

Latest Stable Version Build Coverage License Downloads

Donate via PayPal

If this library saves you time, please consider supporting development via PayPal.


Overview

tc-lib-barcode is a pure-PHP barcode generation library with broad support for industrial, retail, logistics, and document automation use cases.

Namespace \Com\Tecnick\Barcode
Author Nicola Asuni info@tecnick.com
License GNU LGPL v3 - see LICENSE
API docs https://tcpdf.org/docs/srcdoc/tc-lib-barcode
Packagist https://packagist.org/packages/tecnickcom/tc-lib-barcode

Supported Formats

Linear

Format Description
C39 CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9
C39+ CODE 39 with checksum
C39E CODE 39 EXTENDED
C39E+ CODE 39 EXTENDED + CHECKSUM
C93 CODE 93 - USS-93
S25 Standard 2 of 5
S25+ Standard 2 of 5 + CHECKSUM
I25 Interleaved 2 of 5
I25+ Interleaved 2 of 5 + CHECKSUM
C128 CODE 128
C128A CODE 128 A
C128B CODE 128 B
C128C CODE 128 C
EAN2 2-Digits UPC-Based Extension
EAN5 5-Digits UPC-Based Extension
EAN8 EAN 8
EAN13 EAN 13
UPCA UPC-A
UPCE UPC-E
MSI MSI (Variation of Plessey code)
MSI+ MSI + CHECKSUM (modulo 11)
CODABAR CODABAR
CODE11 CODE 11
PHARMA PHARMACODE
PHARMA2T PHARMACODE TWO-TRACKS

2D

Format Description
AZTEC AZTEC Code (ISO/IEC 24778:2008)
DATAMATRIX DATAMATRIX (ISO/IEC 16022)
PDF417 PDF417 (ISO/IEC 15438:2006)
QRCODE QR-CODE
RAW 2D RAW MODE comma-separated rows
RAW2 2D RAW MODE rows enclosed in square parentheses

Postal

Format Description
POSTNET POSTNET
PLANET PLANET
RMS4CC RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code)
KIX KIX (Klant index - Customer index)
IMB IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200
IMBPRE IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 - pre-processed

Rendering

  • HTML output for web previews
  • Image-based rendering for downstream processing
  • Configurable dimensions, padding, and color

Output Formats

  • PNG Image
  • SVG Image
  • HTML DIV
  • Unicode String
  • Binary String

Requirements

  • PHP 8.1 or later
  • Extensions: bcmath, date, gd, pcre
  • Composer

Installation

composer require tecnickcom/tc-lib-barcode

Quick Start

<?php

require_once __DIR__ . '/vendor/autoload.php';

$barcode = new \Com\Tecnick\Barcode\Barcode();
$bobj = $barcode->getBarcodeObj(
    'QRCODE,H',
    'https://tecnick.com',
    -4,
    -4,
    'black',
    [-2, -2, -2, -2]
)->setBackgroundColor('white');

echo $bobj->getHtmlDiv();

For more formats and rendering options, see the example/ directory.


Development

make deps
make help
make qa

Build artifacts and reports are generated in target/.


Packaging

make rpm
make deb

For system packages, bootstrap with:

require_once '/usr/share/php/Com/Tecnick/Barcode/autoload.php';

Contributing

Contributions are welcome. Please read CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md before submitting a pull request.


Contact

Nicola Asuni - info@tecnick.com

Sponsor this project

Packages

 
 
 

Contributors