En esta ocasión le veremos como poder generar códigos QR en nuestras aplicaciones Laravel.
Empecemos instalando la librera que generará los qr, desde la terminal ejecuten la siguiente linea:
composer require werneckbh/laravel-qr-code
Si todo sale bien, debemos el siguiente mensaje
Si tu versión de Laravel es la 5.4 o menor hay que hacer un par de pasos adicionales:
1.- En tu archivo config/app.app en la sección de provider agrega la linea:
LaravelQRCode\Providers\QRCodeServiceProvider::class,
2.- En la sección de Alias (aliases) agrega la linea
'QRCode' => LaravelQRCode\Facades\QRCode::class,
Ahora vamos a la vista donde se mostrará el QR.
Ahí debemos agregar las siguientes lineas
@php
$qrimage= public_path('/files/voucher/qr.png');
\QRCode::url('www.pharalax.com')->setOutfile($qrimage)->png();
@endphp
La variable $qrimage indica la ruta y el nombre de la imagen que se va a generar.
La siguiente linea ejecuta la instrucción para crear el QR. Se le pasa el contenido del QR, la ubicación donde guardará la imagen y el tipo de imagen.
En este ejemplo estoy usando la propiedad para generar una URL, pero si quieren una cadena de texto entonces deberán usar la instrucción: \QRCode::text(' Lo que quieran imprimir')->setOutfile($qrimage)->png();
Ahora lo que falta es mostrar la imagen que acabamos de crear.
<img src='../files/voucher/qr.png'>
Obtendríamos algo así:
Intenté imprimir en la vista de forma directa el QR pero no me fue posible, por eso tuve que almacenar primero imagen y luego mostrarla en la vista.
Este es el link de la libreria usada en este articulo