PHPackages                             bitgrave/barcode-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bitgrave/barcode-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

bitgrave/barcode-bundle
=======================

provide barcode rendering service into your Symfony2 application.

1.0.2(5y ago)24447.2k↓49.9%19[6 issues](https://github.com/paterik/BGBarcodeBundle/issues)[1 PRs](https://github.com/paterik/BGBarcodeBundle/pulls)1LGPL-3.0-or-laterPHPPHP ^5.5 || ^5.6 || ^7.0

Since Feb 20Pushed 2y ago2 watchersCompare

[ Source](https://github.com/paterik/BGBarcodeBundle)[ Packagist](https://packagist.org/packages/bitgrave/barcode-bundle)[ Docs](https://github.com/paterik/BGBarcodeBundle)[ RSS](/packages/bitgrave-barcode-bundle/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (3)Versions (16)Used By (1)

Introduction
============

[](#introduction)

This Bundle provide barcode rendering using our barcode generator base library supports ImageMagick/GDLib based image rendering, svg and html table drawn output of the following 1D/2D bar codes:

1d barcodes
-----------

[](#1d-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 Extention
- EAN5 : 5-Digits UPC-Based Extention
- 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: Intelligent Mail Barcode - Onecode - USPS-B-3200
- CODABAR : CODABAR
- CODE11 : CODE 11
- PHARMA : PHARMACODE
- PHARMA2T : PHARMACODE TWO-TRACKS

2d barcodes
-----------

[](#2d-barcodes)

- DATAMATRIX : Datamatrix (ISO/IEC 16022)
- PDF417 : PDF417 (ISO/IEC 15438:2006) / a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6
- QRCODE : QRcode Low error correction
- QRCODE, L : QRcode Low error correction
- QRCODE, M : QRcode Medium error correction
- QRCODE, Q : QRcode Better error correction
- QRCODE, H : QR-CODE Best error correction
- QR, RAW : raw mode - comma-separad list of array rows
- QR, RAW2 : raw mode - array rows are surrounded by square parenthesis.

Prerequisites
=============

[](#prerequisites)

This version requires Symfony 2.1

Installation
============

[](#installation)

1 - Add the following lines in your composer.json:

*for latest symfony 3.n kernel / framework environment:*

```
    "require": {
        "bitgrave/barcode-bundle": "^1.0"
    }

```

\_legacy symfony 2.1.n kernel? user version prior 1.0.0:

```
    "require": {
        "bitgrave/barcode-bundle": "0.0.9"
    }

```

2 - Run the composer to download the bundle

```
    $ php composer.phar update bitgrave/barcode-bundle

```

3 - Add this bundle to your application's kernel:

```
      // app/AppKernel.php
      public function registerBundles()
      {
          return array(
              // ...
              new BG\BarcodeBundle\BarcodeBundle(),
              // ...
          );
      }

```

Usage
=====

[](#usage)

1 - Add the following lines in your controller if you want to use both code types (1d/2d) :

```
use BG\BarcodeBundle\Util\Base1DBarcode as barCode;
use BG\BarcodeBundle\Util\Base2DBarcode as matrixCode;

```

2 - set the cache path (for image based barcode rendering) call the image- or html renderer including your code and barcode type :

```
 $myBarcode = new barCode();
 $myBarcode->savePath = '/my/temp/media/path';
 $bcPathAbs = $myBarcode->getBarcodePNGPath('501234567890', 'EAN13', 1.75, 45);
 $bcHTMLRaw = $myBarcode->getBarcodeHTML('501234567890', 'EAN13', 1.75, 45);

```

3 - fetch image by parse $bcPathAbs (absolute path to rendered barcode image) or using this a simple helper method

```
 /**
  * simple cache path returning method (sample cache path: "upload/barcode/cache" )
  *
  * @param bool $public
  *
  * @return string
  *
  */
 protected function getBarcodeCachePath($public = false)
 {

     return (!$public) ? $this->get('kernel')->getRootDir(). '/../web/upload/barcode/cache' : '/upload/barcode/cache';
 }

```

4 - send public path to your symfony view and put result into your image src path or just render out the alternative table based barcode html structure

```
 $this->render('AcmeDemoBundle:Demo:barcode.html.twig', array(
     'barcodePathAndFile' => $this->getBarcodeCachePath($bcPathAbs),
     'barcodeHTML' => $bcHTMLRaw,
 ));

 // AcmeDemoBundle:Demo:barcode.html.twig
 // ...

 // ...

 {{ barcodeHTML|raw }}
 // ...

```

How To Contribute
=================

[](#how-to-contribute)

To contribute changes, fixes, additions/features please open a pull request with your new code. please take not, that if you add new features or modify existing ones you have to doc this in projects README file (also update projects CHANGELOG file!)

License
=======

[](#license)

See: resources/meta/LICENSE

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity46

Moderate usage in the ecosystem

Community22

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 68.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~212 days

Recently: every ~531 days

Total

13

Last Release

1837d ago

Major Versions

0.9.9 → 1.0.02017-01-24

PHP version history (4 changes)0.9.0PHP &gt;=5.3.2

0.9.8PHP &gt;=5.3.3

1.0.0PHP ^5.6 || ^7.0

1.0.1PHP ^5.5 || ^5.6 || ^7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/87bd61dc79af606ee4f9fc5612c646a8c9e89f1727ad61cc2074fab46e3a32d5?d=identicon)[paterik](/maintainers/paterik)

---

Top Contributors

[![paterik](https://avatars.githubusercontent.com/u/2572857?v=4)](https://github.com/paterik "paterik (24 commits)")[![meron1122](https://avatars.githubusercontent.com/u/2895090?v=4)](https://github.com/meron1122 "meron1122 (3 commits)")[![zittix](https://avatars.githubusercontent.com/u/818748?v=4)](https://github.com/zittix "zittix (2 commits)")[![rabauss](https://avatars.githubusercontent.com/u/14016098?v=4)](https://github.com/rabauss "rabauss (2 commits)")[![mfuehrer](https://avatars.githubusercontent.com/u/5175375?v=4)](https://github.com/mfuehrer "mfuehrer (1 commits)")[![benjaminlong](https://avatars.githubusercontent.com/u/913526?v=4)](https://github.com/benjaminlong "benjaminlong (1 commits)")[![zes-richard](https://avatars.githubusercontent.com/u/70267672?v=4)](https://github.com/zes-richard "zes-richard (1 commits)")[![Nyholm](https://avatars.githubusercontent.com/u/1275206?v=4)](https://github.com/Nyholm "Nyholm (1 commits)")

---

Tags

qrcodedatamatrixpdf417barcodesbarcodeean

### Embed Badge

![Health badge](/badges/bitgrave-barcode-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/bitgrave-barcode-bundle/health.svg)](https://phpackages.com/packages/bitgrave-barcode-bundle)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
