| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
- namespace addons\WriteOff\common\helpers;
- use Endroid\QrCode\Builder\Builder;
- use Endroid\QrCode\Encoding\Encoding;
- use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh;
- use Endroid\QrCode\Label\Alignment\LabelAlignmentCenter;
- use Endroid\QrCode\Label\Font\NotoSans;
- use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
- use Endroid\QrCode\Writer\PngWriter;
- use Endroid\QrCode\Writer\Result\AbstractResult;
- class QrcodeHelper
- {
- /** @var AbstractResult $result */
- protected $result;
- public function __construct($content, $label = '')
- {
- $builder = Builder::create()
- ->writer(new PngWriter())
- ->writerOptions([])
- ->data($content)
- ->encoding(new Encoding('UTF-8'))
- ->errorCorrectionLevel(new ErrorCorrectionLevelHigh())
- ->size(130)
- ->margin(10)
- ->roundBlockSizeMode(new RoundBlockSizeModeMargin())
- ->labelText($label);
- $result = $builder->labelFont(new NotoSans(20))
- ->labelAlignment(new LabelAlignmentCenter())
- ->validateResult(false)
- ->build();
- $this->result = $result;
- }
- public function save2File($path)
- {
- $this->result->saveToFile($path);
- }
- }
|