How To Generate QRcode In Laravel

Today we will see how to generate QR Code In laravel. Now a day many websites and mobile applications are provide features like login with qrcode, scan qrcode and get more information about products and websites etc using QR Code. In this article we will learn how to create QR Code in Laravel.

So, Here I will show you QRcode example In laravel in my project to give you demo, there are many packeges availalbe in laravel to generate qrcode. here, in this example I will use Endroid QR Code Generator package.

Let's start with code and see how to implement qrcode in laravel.

 Step 1 : Install Application for QRcode Example In Laravel

Type the following command in terminal for create new project in your system.

composer create-project --prefer-dist laravel/laravel qrcode_demo

 

Step 2 : Install Endroid QRcode Package In Your Application

Now, we need to install Endroid QRcode Package for dynamic qrcode generator

composer require endroid/qr-code

 

 

Step 3 : Create Controller

Now create controller on this path app\Http\Controllers\QRController.php and add 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('techsolutionstuff.com');
		$qrCode->setSize(300);
		$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');
    }
}

 

Step 4 : Add Route

We need to add route for generating QR code and view file.

<?php

use Illuminate\Support\Facades\Route;

Route::get('qr_code/index','[email protected]')->name('qrcode.index');
Route::get('qr_code/create','[email protected]')->name('qrcode.create');

 

Step 5 :  Create Blade File

And after that we need to create blade file for view / generate and download QRcode. So, add 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>How To Generate QRcode In Laravel- techsolutionstuff</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>Click on button to generate Qrcode - techsolutionstuff</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 QRcode as per your requirments like changes in background and foreground color, QRcode size, QRcode margin etc...

 

FEATURE POSTS