dscmall / barcodegen
生成 PNG 或 DATA-URL 格式的条形码图像
v1.5.0
2020-12-31 10:04 UTC
Requires
- php: >=5.5.0
- intervention/image: ^2.3
README
Barcode Generator 是一个简单的库,帮助您创建条形码图像。它为 Laravel 5 设计,可以创建 PNG 图像或 DATA-URL 字符串。基于 php-generator,由 David Tufts 开发
安装
显然,通过 Composer
composer require dscmall/barcodegen
或者您可以编辑 composer.json 文件,并在 "require" 部分添加 "dscmall/barcodegen": "~1.0"
。
设置
在 Laravel 5 中成功测试。使其工作步骤如下
- 按照上述说明编辑 composer.json 中的 "require" 部分
- 在 Laravel 5.5 或更高版本中忽略此步骤 - 包将自动发现 编辑 config/app.php 文件并在 providers 中添加
PicoPrime\BarcodeGen\BarcodeGenServiceProvider::class,
- 创建控制器或向现有控制器添加新方法(示例在 "docs" 文件夹中)。您可以直接使用
PicoPrime\BarcodeGen\BarcodeGenerator
类或PicoPrime\BarcodeGen\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'))
或使用门面
\PicoPrime\BarcodeGen\BarcodeGen::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
文件夹中的示例路由。
前端使用
最后,为了在前端使用它,只需在 img
的 "src" 属性中使用您的路由即可
<img src="/barcode/img/someText" alt="barcode">
此示例应生成水平、50 像素、code128 条形码 "someText"。
问题
如果您遇到任何错误或有改进的想法,请随时在 GitHub 上创建一个问题。