本文目录导读:

- Milon Barcode(最推荐)
- SimpleSoftwareIO\QrCode(二维码 + 条形码)
- Picqer/php-barcode-generator
- Barcode Buddy(Laravel 包)
- 推荐选择
- 完整示例(Milon Barcode)
在 Laravel 中,条形码生成推荐使用以下库:
Milon Barcode(最推荐)
最流行的 Laravel 条形码库,支持多种格式。
安装:
composer require milon/barcode
使用示例:
use Milon\Barcode\DNS1D;
// 生成 Code128 条形码
$barcode = new DNS1D();
$barcode->getBarcodeHTML('123456789', 'C128');
// 生成图片
$barcode->getBarcodePNG('123456789', 'C128');
// 生成 SVG
$barcode->getBarcodeSVG('123456789', 'C128');
// 在 Blade 模板中使用
<img src="data:image/png;base64,{{ DNS1D::getBarcodePNG('123456789', 'C128') }}" alt="barcode">
支持的格式: C39, C39+, C39E, C39E+, C93, S25, S25+, I25, I25+, C128, C128A, C128B, C128C, 等
SimpleSoftwareIO\QrCode(二维码 + 条形码)
同时支持二维码和条形码。
安装:
composer require simplesoftwareio/simple-qrcode
使用示例:
use SimpleSoftwareIO\QrCode\Facades\QrCode;
// 生成条形码
QrCode::format('png')->generate('123456789');
// 保存到文件
QrCode::format('png')->generate('123456789', public_path('barcodes/barcode.png'));
Picqer/php-barcode-generator
PHP 原生的条形码生成库。
安装:
composer require picqer/php-barcode-generator
使用示例:
use Picqer\Barcode\BarcodeGeneratorPNG;
use Picqer\Barcode\BarcodeGeneratorHTML;
$generator = new BarcodeGeneratorPNG();
echo '<img src="data:image/png;base64,' . base64_encode($generator->getBarcode('123456789', $generator::TYPE_CODE_128)) . '">';
// 或生成 HTML 格式
$generator = new BarcodeGeneratorHTML();
echo $generator->getBarcode('123456789', $generator::TYPE_CODE_128);
Barcode Buddy(Laravel 包)
专门为 Laravel 封装的条形码包。
安装:
composer require lexing/barcode-buddy
推荐选择
- Milon Barcode - 如果你只需要条形码,功能最全
- SimpleSoftwareIO\QrCode - 如果你同时需要二维码和条形码
- Picqer/php-barcode-generator - 如果你想要更轻量级的方案
完整示例(Milon Barcode)
在 Controller 中:
<?php
namespace App\Http\Controllers;
use Milon\Barcode\DNS1D;
class BarcodeController extends Controller
{
public function generate($code)
{
$barcode = new DNS1D();
$barcode->setStorPath(storage_path('app/public/barcodes/'));
// 生成图片并保存
$barcode->getBarcodePNGPath($code, 'C128', 2, 30);
// 返回图片
return response($barcode->getBarcodePNG($code, 'C128'))
->header('Content-Type', 'image/png');
}
}
在 Blade 模板中:
<!-- 直接显示条形码 -->
<img src="data:image/png;base64,{{ DNS1D::getBarcodePNG('123456789', 'C128') }}"
alt="barcode"
style="width: {{ $width }}px; height: {{ $height }}px;">
最推荐使用 Milon Barcode,因为它最稳定、功能最全面,且专门为 Laravel 优化。