📱 二维码工具库 QrCode

最新稳定版本最新非稳定版本总下载量月下载量许可协议

QrCode 是二维码工具库,基于 endroid/qr-codefork 版本,最低支持 PHP 7.1。

🚀 主要功能

  • 二维码生成: 支持多种格式的二维码生成
  • 自定义样式: 支持自定义颜色、大小、边距等
  • 多种输出: 支持 PNG、SVG、EPS 等多种输出格式
  • 错误纠正: 支持不同级别的错误纠正
  • Logo 嵌入: 支持在二维码中嵌入 Logo
  • 批量生成: 支持批量生成二维码

📋 技术特性

  • PHP 版本: 最低支持 PHP 7.1
  • 基于库: 基于 endroid/qr-code 的 fork 版本
  • 详细文档: 原库文档参考 GitHub
  • 轻量级: 轻量级实现,性能优异

⚠️ 安装注意

冲突避免: 安装此库时请确保未安装原库 endroid/qr-code,否则可能导致冲突。

安装

使用 Composer 安装该库:

composer require zoujingli/qrcode

注意: 安装此库时请确保未安装原库 endroid/qr-code,否则可能导致冲突。

快速开始

以下为基本配置示例,更多参数请参考官方文档:

use Endroid\QrCode\Builder\Builder;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\Encoding\Encoding;

$result = Builder::create()
    ->writer(new PngWriter())
    ->writerOptions([])
    ->data('Custom QR code contents')
    ->encoding(new Encoding('UTF-8'))
    // 可选:设置二维码纠错级别
    // ->errorCorrectionLevel(new \Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh())
    ->size(300)
    ->margin(10)
    // 可选:设置块大小的模式
    // ->roundBlockSizeMode(new \Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin())

    // 可选:设置二维码的 LOGO
    // ->logoPath(__DIR__ . '/icon.png')

    // 可选:设置二维码标签
    // ->labelText('This is the label')
    // 若需要显示中文,请加载中文字体文件
    // ->labelFont(new \Endroid\QrCode\Label\Font\OpenSans(20))
    // ->labelAlignment(new \Endroid\QrCode\Label\Alignment\LabelAlignmentCenter())
    ->validateResult(false)
    ->build();

// 输出 Base64 图片
echo $result->getDataUri();

更多功能

有关高级用法和功能的详细信息,请参阅原库的官方文档:https://github.com/endroid/qr-code


提示: 本库在功能上与 endroid/qr-code 基本一致,但进行了部分修改以满足特定需求,请根据实际情况选择合适的库版本。

最近更新:
Contributors: 邹景立