Reducir borde de código QR con PHP
Reducir borde de código QR con PHP. Si deseamos personalizar o reducir el borde por defecto al generar un código QR solo debemos de aplicar una línea de código y en código este articulo hablaremos concretamente sobre este tema para darle solución.
Para este ejemplo usaremos la librería Endroid y pueden ver su repositorio oficial aquí
¿Cómo reducir borde de código QR en PHP?
La solución es agregar el código $qrCode->setMargin(2);
para reducir o aumentar el margen a nuestros códigos QR generados dinámicamente con PHP.
Nota:
Por defecto en la librería Endroid, el margen de la parte superior, inferior, derecha e izquierda es de 10px para cualquier código QR generado y el tamaño es de 300.
Veamos un ejemplo por defecto
// Tamaño por defecto
protected $size = 300;
Tamaño de margen por defecto
protected $margin = 10;
Configurar el tamaño de los códigos QR
Para personalizar el tamaño debemos de agregar esta línea de código $qrCode->setSize($sizeqr);
después de llamar a la instancia de crear el QR. Veamos un ejemplo de uso.
<?php
$textqr="www.minegocio.com";//Información del codigo QR
$sizeqr=200;//Tamaño del codigo QR
include('vendor/autoload.php');//Llamare el autoload de la clase que genera el QR
use Endroid\QrCode\QrCode;
$qrCode = new QrCode($textqr);//Creo una nueva instancia de la clase
$qrCode->setSize($sizeqr);//Establece el tamaño del qr
$image= $qrCode->writeString();//Salida en formato de texto
$imageData = base64_encode($image);//Codifico la imagen usando base64_encode
// Imprimir la imagen del codigo QR
echo '<img src="data:image/png;base64,'.$imageData.'">';
?>
Con el script anterior hemos logrado generar el código QR con un tamaño de 200. Sin embargo, si se desea un tamaño más grande solo hay que modificar la variable $sizeqr
en este ejemplo.
Además, hemos creado una variable $textqr
para almacenar el texto que será plasmado en el código QR al ser escaneado.
Reducir el ancho del borde en los códigos QR
Ahora nos toca reducir el margen a nuestro código QR. Sin embargo, en líneas arriba hemos descrito que solo necesitamos una línea de código para indicarle a la librería que tamaño de borde deseamos:
$qrCode->setMargin(2); //Establece margin del qr
Esta línea apicaremos a nuestro ejemplo
<?php
$textqr="www.minegocio.com";//Información del codigo QR
$sizeqr=200;//Tamaño del codigo QR
include('vendor/autoload.php');//Llamare el autoload de la clase que genera el QR
use Endroid\QrCode\QrCode;
$qrCode = new QrCode($textqr);//Creo una nueva instancia de la clase
$qrCode->setSize($sizeqr);//Establece el tamaño del qr
$qrCode->setMargin(2); //Establece margin del codigo QR
$image= $qrCode->writeString();//Salida en formato de texto
$imageData = base64_encode($image);//Codifico la imagen usando base64_encode
echo '<img src="data:image/png;base64,'.$imageData.'">';
?>
Nota:
Recuerda que el margen por defecto es 10. Por lo tanto, podemos cambiarlo a un 5 o 3 dependiendo de nuestras necesidades, además recuerda no dejarlo en cero porque podría entorpecer el escaneo del código con el lector.
Instalar la librería endroid/qr-code
Para instalar esta potente librería para crear QR solo debemos de correr esta línea de código usando composer, aquí te dejo un enlace para más información.
Una vez ejecutado esta línea de código te creara una carpeta llamada «vendor» y con esto ya podremos crear códigos QR sin inconvenientes.
Recomendación
Utilice Composer para instalar la biblioteca. También, asegúrese de haber habilitado y configurado la extensión GD si desea generar imágenes.
composer require endroid/qr-code
Resumen
Los códigos QR son imprescindibles para un negocio, proyecto, etc. porque nos ayuda por ejemplo a realizar pagos de nuestros clientes, informar sobre una página web. etc. Su uso es muy diverso.
En este articulo hemos aprendido a configurar el margen y el tamaño de estos famosos códigos QR.