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 となっている。
これらはもちろん、色やパターンなど色々変更可能。
コメント