yellowskies/qr-code-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

yellowskies/qr-code-bundle

Composer 安装命令:

composer require yellowskies/qr-code-bundle

包简介

Symfony Barcode & QR Code Generator Bundle with Twig extension

README 文档

README

Latest Stable Version License

A Symfony Barcode & QR Code Generator Bundle with Twig extension.

Supports PHP 8.2+ and Symfony 6.4 / 7.x / 8.x

Features

  • Support 3 two-dimensional (2D) and 30 one-dimensional (1D) Barcode types
  • Three output formats: HTML, PNG and SVG
  • Twig integration: use the barcode function directly in your templates
  • No external dependencies for barcode generation

Installation

composer require yellowskies/qr-code-bundle

The bundle uses Symfony Flex and will be automatically configured.

Manual registration (if not using Flex)

Add to config/bundles.php:

return [
    // ...
    Skies\QRcodeBundle\SkiesQRcodeBundle::class => ['all' => true],
];

Usage

Generate options

Option Type Required Allowed values Description
code string required What you want to encode
type string required See types below Type of barcode
format string required html, svg, png Output format
width int optional Width of unit
height int optional Height of unit
color string/array optional HTML color / [R,G,B] Barcode color

Default width/height: 2D = 5x5, 1D = 2x30 Default color: html/svg = "black", png = [0, 0, 0]

In Twig templates

{# HTML barcode #}
{{ barcode({code: 'Hello World', type: 'qrcode', format: 'html'}) }}

{# SVG with custom size and color #}
{{ barcode({code: 'Hello World', type: 'qrcode', format: 'svg', width: 10, height: 10, color: 'green'}) }}

{# PNG (base64 encoded) #}
<img src="data:image/png;base64,{{ barcode({code: 'Hello World', type: 'datamatrix', format: 'png'}) }}" />

In a controller/service

use Skies\QRcodeBundle\Generator\Generator;

class MyController extends AbstractController
{
    public function index(Generator $generator): Response
    {
        $barcode = $generator->generate([
            'code'   => 'Hello World',
            'type'   => 'qrcode',
            'format' => 'svg',
            'width'  => 10,
            'height' => 10,
            'color'  => 'green',
        ]);

        return new Response($barcode);
    }
}

Standalone usage

use Skies\QRcodeBundle\Generator\Generator;

$generator = new Generator();
$barcode = $generator->generate([
    'code'   => 'Hello World',
    'type'   => 'qrcode',
    'format' => 'html',
]);

Save to file

// HTML or SVG
file_put_contents('/tmp/barcode.svg', $barcode);

// PNG (decode base64 first)
file_put_contents('/tmp/barcode.png', base64_decode($barcode));

Supported Barcode Types

2D Barcodes

Type Name Example
qrcode QR Code
pdf417 PDF417
datamatrix Data Matrix

1D Barcodes

Type Name
c128 Code 128
c128a/b/c Code 128 A/B/C
c39 Code 39
c39+ Code 39 with check digit
c39e Code 39 Extended
c39e+ Code 39 Extended with check digit
c93 Code 93
ean8 EAN-8
ean13 EAN-13
upca UPC-A
upce UPC-E
i25 Interleaved 2 of 5
s25 Standard 2 of 5
msi MSI
postnet POSTNET
planet PLANET
rms4cc RMS4CC
kix KIX-code
imb Intelligent Mail
codabar Codabar
code11 Code 11
pharma Pharmacode
pharma2t Pharmacode Two-Track

Requirements

  • PHP 8.2+
  • Symfony 6.4+ / 7.x / 8.x
  • GD extension (for PNG output)
  • bcmath extension (for Intelligent Mail barcodes)

Upgrade from 1.x

If upgrading from version 1.x:

  1. Update your composer.json to require "yellowskies/qr-code-bundle": "^2.0"
  2. Ensure you're running PHP 8.2+ and Symfony 6.4+
  3. The Twig function now returns the barcode string instead of echoing it (no change needed in templates)

License

Apache-2.0

统计信息

  • 总下载量: 707.93k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 37
  • 点击次数: 20
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 36
  • Watchers: 2
  • Forks: 8
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2016-09-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固