bitgrave/barcode-bundle

为您的 Symfony2 应用程序提供条码渲染服务。

安装次数: 413,940

依赖关系: 1

建议者: 0

安全: 0

星标: 24

关注者: 3

分支: 17

公开问题: 7

类型:symfony-bundle

1.0.2 2021-06-22 22:31 UTC

README

此捆绑包使用我们的条码生成器基础库 https://github.com/paterik/BGBarcodeGenerator 来提供条码渲染,支持基于 ImageMagick/GDLib 的图像渲染、svg 和以下 1D/2D 条码的 html 表格输出:

一维条码

  • C39 : CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
  • C39+ : 带校验和的 CODE 39
  • C39E : 扩展的 CODE 39
  • C39E+ : 扩展的 CODE 39 + 校验和
  • C93 : CODE 93 - USS-93
  • S25 : 标准 2 of 5
  • S25+ : 标准 2 of 5 + 校验和
  • I25 : 交错 2 of 5
  • I25+ : 交错 2 of 5 + 校验和
  • C128 : CODE 128
  • C128A : CODE 128 A
  • C128B : CODE 128 B
  • C128C : CODE 128 C
  • EAN2 : 基于 UPC 的 2 位扩展
  • EAN5 : 基于 UPC 的 5 位扩展
  • EAN8 : EAN 8
  • EAN13 : EAN 13
  • UPCA : UPC-A
  • UPCE : UPC-E
  • MSI : MSI (Plessey 代码的变体)
  • MSI+ : MSI + 校验和 (模 11)
  • POSTNET : POSTNET
  • PLANET : PLANET
  • RMS4CC : RMS4CC (皇家邮政 4 状态客户代码) - CBC (客户条码)
  • KIX : KIX (Klant index - 客户索引)
  • IMB: 智能邮件条码 - Onecode - USPS-B-3200
  • CODABAR : CODABAR
  • CODE11 : CODE 11
  • PHARMA : PHARMACODE
  • PHARMA2T : 双轨 PHARMACODE

二维条码

  • 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
  • QRCODE, L : 低错误纠正 QRcode
  • QRCODE, M : 中等错误纠正 QRcode
  • QRCODE, Q : 较好错误纠正 QRcode
  • QRCODE, H : 最佳错误纠正 QR-CODE
  • QR, RAW : 原始模式 - 数组行以逗号分隔的列表
  • QR, RAW2 : 原始模式 - 数组行被方括号包围

先决条件

此版本需要 Symfony 2.1

安装

1 - 在您的 composer.json 中添加以下行

针对最新的 symfony 3.n 内核/框架环境

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

旧版 symfony 2.1.n 内核?版本低于 1.0.0

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

2 - 运行 composer 下载捆绑包

    $ php composer.phar update bitgrave/barcode-bundle

3 - 将此捆绑包添加到您的应用程序内核

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

用法

1 - 如果您想使用两种代码类型(1D/2D),请在控制器中添加以下行

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

2 - 设置缓存路径(基于图像的条码渲染)调用图像或 html 渲染器,包括您的代码和条码类型

 $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 - 通过解析 $bcPathAbs(渲染条码图像的绝对路径)或使用此简单辅助方法获取图像

 /**
  * 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 - 将公共路径发送到您的 symfony 视图并将结果放入图像 src 路径或仅渲染基于表格的替代条码 html 结构

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

 // AcmeDemoBundle:Demo:barcode.html.twig
 // ...
 <!-- barcode as image -->
 <img src="{{ barcodePathAndFile }}" alt="barcode" title="my barcode image">
 // ...
 <!-- barcode as table -->
 {{ barcodeHTML|raw }}
 // ...

如何贡献

要贡献更改、修复、新增功能,请打开带有您的新代码的拉取请求。请注意,如果您添加了新功能或修改了现有功能,您必须在项目的 README 文件中记录此信息(还要更新项目的 CHANGELOG 文件!)

许可

见:resources/meta/LICENSE