目次

QRコードダウンロード

Simple QrCode を使った、QRコードの出力とダウンロード。

https://www.simplesoftware.io/#/docs/simple-qrcode

インストール

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');

Blade

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