tc-lib-barcode

PHP library to generate linear and bidimensional barcodes

Github星跟蹤圖

tc-lib-barcode

PHP barcode library

Latest Stable Version
Master Build Status
Master Coverage Status
License
Total Downloads

Develop Branch
Develop Build Status
Develop Coverage Status

Donate via PayPal
Please consider supporting this project by making a donation via PayPal

Description

This library includes utility PHP classes to generate linear and bidimensional barcodes:

  • 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)
  • 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
  • CODABAR : CODABAR
  • CODE11 : CODE 11
  • PHARMA : PHARMACODE
  • PHARMA2T : PHARMACODE TWO-TRACKS
  • 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

Output Formats

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

The initial source code has been derived from TCPDF.

Getting started

First, you need to install all development dependencies using Composer:

$ curl -sS https://getcomposer.org/installer, php
$ mv composer.phar /usr/local/bin/composer

This project include a Makefile that allows you to test and build the project with simple commands.
To see all available options:

make help

To install all the development dependencies:

make build_dev

Running all tests

Before committing the code, please check if it passes all tests using

make qa_all

this generates the phpunit coverage report in target/coverage.
Please check if the tests are covering all code.

Generate the documentation:

make docs

Generate static analysis reports in target/report:

make reports

Other make options allows you to install this library globally and build an RPM package.
Please check all the available options using make help.

Examples

Examples are located in the example directory.

Start a development server (requires PHP 5.4) using the command:

make server

and point your browser to http://localhost:8000/index.php

Simple Code Example

// instantiate the barcode class
$barcode = new \Com\Tecnick\Barcode\Barcode();

// generate a barcode
$bobj = $barcode->getBarcodeObj(
    'QRCODE,H',                     // barcode type and additional comma-separated parameters
    'https://tecnick.com',          // data string to encode
    -4,                             // bar width (use absolute or negative value as multiplication factor)
    -4,                             // bar height (use absolute or negative value as multiplication factor)
    'black',                        // foreground color
    array(-2, -2, -2, -2)           // padding (use absolute or negative values as multiplication factors)
    )->setBackgroundColor('white'); // background color

// output the barcode as HTML div (see other output formats in the documentation and examples)
$bobj->getHtmlDiv();

Installation

Create a composer.json in your projects root-directory:

{
    "require": {
        "tecnickcom/tc-lib-barcode": "^1.15"
    }
}

Or add to an existing project with:

composer require tecnickcom/tc-lib-barcode ^1.15

Packaging

This library is mainly intended to be used and included in other PHP projects using Composer.
However, since some production environments dictates the installation of any application as RPM or DEB packages,
this library includes make targets for building these packages (make rpm and make deb).
The packages are generated under the target directory.

When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader:

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

NOTE: Updated RPM and Debian packages of this library can be downloaded from: https://bintray.com/tecnickcom

Developer(s) Contact

主要指標

概覽
名稱與所有者tecnickcom/tc-lib-barcode
主編程語言PHP
編程語言Makefile (語言數: 2)
平台
許可證Other
所有者活动
創建於2015-04-06 15:56:38
推送於2025-02-07 10:37:51
最后一次提交
發布數119
最新版本名稱2.4.3 (發布於 2025-02-07 10:37:50)
第一版名稱1.0.0 (發布於 2015-04-06 17:03:25)
用户参与
星數274
關注者數20
派生數92
提交數350
已啟用問題?
問題數54
打開的問題數0
拉請求數18
打開的拉請求數0
關閉的拉請求數17
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?