Java: ejemplo de generador de código QR simple: cree códigos QR de forma gratuita
Publicado: 2020-01-16
Escanee esto: será redirigido a https://crunchify.com
El QR code
(abreviado de Quick Response Code
) es la marca comercial de un tipo de código de barras de matriz (o código de barras bidimensional) diseñado por primera vez para la industria automotriz en Japón. Los códigos de barras son etiquetas ópticas legibles por máquina adheridas a artículos que registran información relacionada con el artículo. Inicialmente patentado, el titular de la patente ha optado por no ejercer esos derechos. Recientemente, el sistema de códigos QR se ha vuelto popular fuera de la industria automotriz debido a su rápida legibilidad y mayor capacidad de almacenamiento en comparación con los códigos de barras UPC estándar.
El código consta de módulos negros (puntos cuadrados) dispuestos en una cuadrícula sobre un fondo blanco. ZXING
es una biblioteca de procesamiento de imágenes de códigos de barras 1D/2D multiformato con clientes para Android, Java. Es una biblioteca de procesamiento de imágenes de código de barras 1D/2D multiformato de código abierto implementada en Java, con puertos a otros lenguajes.
Ejemplo de pago en vivo:
Nuestro objetivo es usar la cámara integrada en los teléfonos móviles para escanear y decodificar códigos de barras en el dispositivo, sin comunicarnos con un servidor. Sin embargo, el proyecto también se puede usar para codificar y decodificar códigos de barras en computadoras de escritorio y servidores.
Aquí hay un código Java simple que genera un código QR para usted.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
package crunchify . com . tutorials ; import com . google . zxing . BarcodeFormat ; import com . google . zxing . EncodeHintType ; import com . google . zxing . WriterException ; import com . google . zxing . common . BitMatrix ; import com . google . zxing . qrcode . QRCodeWriter ; import com . google . zxing . qrcode . decoder . ErrorCorrectionLevel ; import javax . imageio . ImageIO ; import java . awt . * ; import java . awt . image . BufferedImage ; import java . io . File ; import java . io . IOException ; import java . util . EnumMap ; import java . util . Map ; /** * @author Crunchify.com * Simple QR Code Generator Example - Create QR codes for free. */ public class CrunchifyQRCodeGenerator { public static void main ( String [ ] args ) { String myCodeText = "https://crunchify.com" ; String filePath = "//cdn.crunchify.com/Users/app/Document/Crunchify.com-QRCode.png" ; int size = 512 ; String crunchifyFileType = "png" ; File crunchifyFile = new File ( filePath ) ; try { Map < EncodeHintType , Object > crunchifyHintType = new EnumMap < EncodeHintType , Object > ( EncodeHintType . class ) ; crunchifyHintType . put ( EncodeHintType . CHARACTER_SET , "UTF-8" ) ; // Now with version 3.4.1 you could change margin (white border size) crunchifyHintType . put ( EncodeHintType . MARGIN , 1 ) ; /* default = 4 */ Object put = crunchifyHintType . put ( EncodeHintType . ERROR_CORRECTION , ErrorCorrectionLevel . H ) ; QRCodeWriter mYQRCodeWriter = new QRCodeWriter ( ) ; // throws com.google.zxing.WriterException BitMatrix crunchifyBitMatrix = mYQRCodeWriter . encode ( myCodeText , BarcodeFormat . QR_CODE , size , size , crunchifyHintType ) ; int CrunchifyWidth = crunchifyBitMatrix . getWidth ( ) ; // The BufferedImage subclass describes an Image with an accessible buffer of crunchifyImage data. BufferedImage crunchifyImage = new BufferedImage ( CrunchifyWidth , CrunchifyWidth , BufferedImage . TYPE_INT_RGB ) ; // Creates a Graphics2D, which can be used to draw into this BufferedImage. crunchifyImage . createGraphics ( ) ; // This Graphics2D class extends the Graphics class to provide more sophisticated control over geometry, coordinate transformations, color management, and text layout. // This is the fundamental class for rendering 2-dimensional shapes, text and images on the Java(tm) platform. Graphics2D crunchifyGraphics = ( Graphics2D ) crunchifyImage . getGraphics ( ) ; // setColor() sets this graphics context's current color to the specified color. // All subsequent graphics operations using this graphics context use this specified color. crunchifyGraphics . setColor ( Color . white ) ; // fillRect() fills the specified rectangle. The left and right edges of the rectangle are at x and x + width - 1. crunchifyGraphics . fillRect ( 0 , 0 , CrunchifyWidth , CrunchifyWidth ) ; // TODO: Please change this color as per your need crunchifyGraphics . setColor ( Color . BLUE ) ; for ( int i = 0 ; i < CrunchifyWidth ; i ++ ) { for ( int j = 0 ; j < CrunchifyWidth ; j ++ ) { if ( crunchifyBitMatrix . get ( i , j ) ) { crunchifyGraphics . fillRect ( i , j , 1 , 1 ) ; } } } // A class containing static convenience methods for locating // ImageReaders and ImageWriters, and performing simple encoding and decoding. ImageIO . write ( crunchifyImage , crunchifyFileType , crunchifyFile ) ; System . out . println ( "\nCongratulation.. You have successfully created QR Code.. \n" + "Check your code here: " + filePath ) ; } catch ( WriterException e ) { System . out . println ( "\nSorry.. Something went wrong...\n" ) ; e . printStackTrace ( ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } } } |
Salida: (escanéelo usted mismo)

¿Qué biblioteca tengo que descargar?
Si tiene un proyecto Maven, incluya esta dependencia en su archivo pom.xml.

1 2 3 4 5 6 |
< dependency > < groupId > com . google . zxing < / groupId > < artifactId > core < / artifactId > < version > 3.4.1 < / version > < / dependency > |

O Descargue el archivo .jar manualmente
Paso 1:
Enlace de descarga.

Paso 2
Una vez que lo descargue, debe incluirlo en el classpath de su proyecto. Cómo agregar un archivo .jar a Project Build Path en Eclipse.

Avíseme si tiene algún problema al generar el código QR.