glz/barcodegen

生成条形码图像为 PNG 或 DATA-URL

1.0.0 2017-08-12 14:23 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:44:36 UTC


README

Author

条形码生成器是一个简单的库,可以帮助您创建条形码图像。它为 Laravel 5 设计,可以创建 PNG 图像或 DATA-URL 字符串。基于 David Tufts 的优秀 php-generator

安装

通过 Composer 显然

composer require picoprime/barcodegen:@dev

或者您可以直接编辑 composer.json 文件,并在 "require" 部分添加 "picoprime/barcodegen": "@dev"

设置

已经在 Laravel 5 中成功测试。使其工作的步骤如下

  • 按照上述说明编辑 composer.json 中的 "require" 部分
  • 编辑 config/app.php 文件,并将 PicoPrime\BarcodeGen\BarcodeGenServiceProvider::class, 添加到 providers 中
  • 创建控制器或向现有控制器添加新方法(示例在 "docs" 文件夹中)。您必须在控制器中使用 PicoPrime\BarcodeGen\BarcodeGenerator。它也可以被注入。在调用 generate() 方法之前,您必须像这样传递变量给 init()
$this->barcode
    ->init($text, $size, $orientation, $codeType, $scale)
    ->generate()

或者

$this->barcode
    ->generate($text, $size, $orientation, $codeType, $scale)

其中

  • "text" 是您要转换为条形码的文本
  • "size" 是条形码的高度(以像素为单位)。如果您还需要更改宽度,请同时使用 "scale" 和 "size"!
  • "orientation" 如其名所示 - 改变条形码的方向。可用的:水平方向和垂直方向
  • "codeType" 是您想要生成的代码类型。可用的:code128,code128a,code39,code25,codabar。
  • "scale" - 如果您需要更宽或更大的条形码,请输入一个数字:1 - 默认,2 - 2 倍更大,2.5,...

您也可以将这些参数作为关联数组或数字数组传递,如下所示

$this->barcode
    ->generate(compact('text', 'size', 'orientation', 'codeType', 'scale'))

或者

$this->barcode
    ->generate(['textToTransform', 50, 'horizontal', 'code128', 1])

生成图像的最后一步是将上面生成的任何内容发送到 ->response('png')->encode('data-url')。响应将创建 Laravel 的响应并显示图像,而 "encode" 将创建一个字符串。

请查看 "docs" 文件夹中的示例控制器。

路由

您可以像喜欢的那样创建路由。我们通常使用的两个示例

Route::get('barcode/img/{text}/{size?}/{scale?}/{codeType?}/{orientation?}', 'BarcodeController@barcodeAsPng');
Route::get('barcode/url/{text}/{size?}/{scale?}/{codeType?}/{orientation?}', 'BarcodeController@barcodeAsDataUrl');

请查看 "docs" 文件夹中的示例路由。

前端使用

最后,在 frontend 中使用它,只需在 img "src" 属性中使用您的路由

<img src="/barcode/img/someText" alt="barcode">

此示例应生成水平、50 像素、code128 条形码 "someText"。

问题

我们仍在开发中,因此请注意可能从我们手中滑过的少量错误。如果您发现任何问题,请通过电子邮件 raff@picoprime.com 反馈,而不是使用问题跟踪器。

享受

哦,如果您已经看到了这里,您可能会想关注我的 twitter 或查看我们公司的 网站