In this article, we will see laravel 9 QR code generator example. As per the current trend, many websites and applications provide features like login with QR code, scan QR code and get more information about products and websites, etc. we will implement a QR code example. there are many packages available to generate QR code. we will use Endroid QR Code Generator. Also, you can generate a dynamic QR code generator in laravel 9.
So, let's see how to generate QR code in laravel 9, laravel 9 generate QR code, generate QR code laravel 9, how to generate dynamic QR code in laravel 9.
Step 1 : Install Laravel 9
Step 2 : Install Endroid QR Code Package
Step 3 : Create Controller
Step 4 : Add Route
Step 5 : Create Blade File
In this step, we will create laravel 9 application using the below command.
composer create-project --prefer-dist laravel/laravel QRcode
After installation of the project, you need to install Endroid QR Code Package using the below command.
composer require endroid/qr-code
Now create a controller app\Http\Controllers\QRController.php and add the below command.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Endroid\QrCode\QrCode;
use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\LabelAlignment;
class QRController extends Controller
{
public function index()
{
return view('qrcode.index');
}
public function create()
{
$qrCode = new QrCode('websolutionstuff.com');
$qrCode->setSize(500);
$qrCode->setMargin(10);
$qrCode->setEncoding('UTF-8');
$qrCode->setWriterByName('png');
$qrCode->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH());
$qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
$qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
$qrCode->setLogoSize(150, 200);
$qrCode->setValidateResult(false);
$qrCode->setRoundBlockSize(true);
$qrCode->setWriterOptions(['exclude_xml_declaration' => true]);
header('Content-Type: '.$qrCode->getContentType());
$qrCode->writeFile(public_path('/qrcode.png'));
return redirect()->route('qrcode.index');
}
}
We need to add a route for generating QR code and viewing files.
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\QRController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('qr_code/index',[QRController::class,'index'])->name('qrcode.index');
Route::get('qr_code/create',[QRController::class,'create'])->name('qrcode.create');
Now, we need to create a blade file for viewing / generating, and downloading QR codes. So, add the below code in your index.blade.php file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Laravel 9 QR Code Generator Example - Websolutionstuff</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<form class="text-center" action="{{route('qrcode.create')}}" method="get" accept-charset="utf-8">
<div class="row mt-5">
<div class="col-md-12">
<h2>Laravel 9 QR Code Generator Example - Websolutionstuff</h2>
<button class="btn btn-success" type="submit">Generate</button>
<a href="{{asset('qrcode.png')}}" class="btn btn-primary" download>Download</a><br>
<img class="img-thumbnail" src="{{asset('qrcode.png')}}" width="150" height="150" style="margin-top: 20px">
</div>
</div>
</form>
</body>
</html>
You can customize this QR code as per your requirements like background colors, foreground color, QR code size, QR code margin, etc...
To check this example run the below code in your browser.
http://localhost:8000/qr_code/index
Output :
You might also like :
Hello, laravel web developers! In this article, we'll see how to load an iframe in jQuery on a load event. In jQuery...
Jun-21-2024
In this article, we will see how to create a calendar event in laravel 9 using ajax. Here, we will learn how to add...
Dec-28-2022
Hey there! I recently faced the need to upgrade my PHP version from 7.4 to the latest 8.0 on my Ubuntu server. It might...
Nov-06-2023
In this article, we will see how to resize images before uploading in laravel 10. Here, we will learn about laravel 10&n...
Mar-29-2023