Simple QrCode を使った、QRコードの出力とダウンロード。
Composer を使用してパッケージを追加。
- composer require simplesoftwareio/simple-qrcode "~4"
routes\web.php
- // 固定の場合
- Route::get('qr_code', 'SampleController@qr_code')->name('qr_code');
- // DBから取得する場合
- Route::get('{sample}/qr_code', 'SampleController@qr_code')->name('qr_code');
- // 固定の場合
- <a href="{{ route('qr_code') }}">ダウンロード</a>
- // DBから取得する場合
- <a href="{{ route('qr_code', $sample) }}">ダウンロード</a>
app\Http\Controllers\SampleController.php
- // 固定の場合
- public function qr_code()
- {
- return response()->streamDownload(function(){
- echo QrCode::format('svg')->generate('url など');
- }, 'file_name.svg');
- }
- // DBから取得する場合
- public function qr_code(Sample $sample)
- {
- return response()->streamDownload(function() use ($sample){
- echo QrCode::format('svg')->generate($sample->url);
- }, $sample->name . '.svg');
- }
以下 URL にて。
https://www.simplesoftware.io/#/docs/simple-qrcode
デフォルトでは、拡張子が svg、画像サイズが 100*100px となっている。
これらはもちろん、色やパターンなど色々変更可能。
コメント