Lenguaje PHP

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.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba