hz / qr-invoice
生成二维码电子发票的辅助工具
dev-main
2021-12-27 19:25 UTC
Requires
- php: >=7.4
- ext-mbstring: *
- chillerlan/php-qrcode: ^4.3
Requires (Dev)
- phpunit/phpunit: ~8.0
This package is auto-updated.
Last update: 2024-09-28 01:21:51 UTC
README
- PHP >= 7.2
- 需要安装mbstring扩展
安装
您可以通过composer安装此包
$ composer require hz/qr-invoice
(返回顶部)
使用方法
生成Base64编码
use Hz\QrInvoice\GenerateQrCode; use Hz\QrInvoice\Tags\InvoiceDate; use Hz\QrInvoice\Tags\InvoiceTaxAmount; use Hz\QrInvoice\Tags\InvoiceTotalAmount; use Hz\QrInvoice\Tags\Seller; use Hz\QrInvoice\Tags\TaxNumber; $generatedString = GenerateQrCode::fromArray([ new Seller('Husseinzaher'), // seller name new TaxNumber('1234567891'), // seller tax number new InvoiceDate('2021-07-12T14:25:09Z'), // invoice date as Zulu ISO8601 @see https://en.wikipedia.org/wiki/ISO_8601 new InvoiceTotalAmount('100.00'), // invoice total amount new InvoiceTaxAmount('15.00') // invoice tax amount // TODO :: Support others tags ])->toBase64(); // > Output // AQVTYWxsYQIKMTIzNDU2Nzg5MQMUMjAyMS0wNy0xMlQxNDoyNTowOVoEBjEwMC4wMAUFMTUuMDA=
生成纯文本
use Hz\QrInvoice\GenerateQrCode; use Hz\QrInvoice\Tags\InvoiceDate; use Hz\QrInvoice\Tags\InvoiceTaxAmount; use Hz\QrInvoice\Tags\InvoiceTotalAmount; use Hz\QrInvoice\Tags\Seller; use Hz\QrInvoice\Tags\TaxNumber; $generatedString = GenerateQrCode::fromArray([ new Seller('Husseinzaher'), // seller name new TaxNumber('1234567891'), // seller tax number new InvoiceDate('2021-12-12T14:25:09Z'), // invoice date as Zulu ISO8601 @see https://en.wikipedia.org/wiki/ISO_8601 new InvoiceTotalAmount('100.00'), // invoice total amount new InvoiceTaxAmount('15.00') // invoice tax amount // TODO :: Support others tags ])->toTLV();
(返回顶部)
渲染二维码图片
您可以轻松地将标签渲染为二维码图片
use Hz\QrInvoice\GenerateQrCode; use Hz\QrInvoice\Tags\InvoiceDate; use Hz\QrInvoice\Tags\InvoiceTaxAmount; use Hz\QrInvoice\Tags\InvoiceTotalAmount; use Hz\QrInvoice\Tags\Seller; use Hz\QrInvoice\Tags\TaxNumber; // data:image/png;base64, ......... $displayQRCodeAsBase64 = GenerateQrCode::fromArray([ new Seller('Husseinzaher'), // seller name new TaxNumber('1234567891'), // seller tax number new InvoiceDate('2021-07-12T14:25:09Z'), // invoice date as Zulu ISO8601 @see https://en.wikipedia.org/wiki/ISO_8601 new InvoiceTotalAmount('100.00'), // invoice total amount new InvoiceTaxAmount('15.00') // invoice tax amount // TODO :: Support others tags ])->render(); // now you can inject the output to src of html img tag :) // <img src="$displayQRCodeAsBase64" alt="QR Code" />
(返回顶部)