Java: semplice esempio di generatore di codici QR: crea codici QR gratuitamente
Pubblicato: 2020-01-16
Scansiona questo: verrai reindirizzato a https://crunchify.com
Il QR code
(abbreviato da Quick Response Code
) è il marchio di un tipo di codice a barre a matrice (o codice a barre bidimensionale) inizialmente progettato per l'industria automobilistica in Giappone. I codici a barre sono etichette ottiche leggibili dalla macchina attaccate agli articoli che registrano le informazioni relative all'articolo. Inizialmente brevettato, il suo titolare del brevetto ha scelto di non esercitare tali diritti. Di recente, il sistema QR Code è diventato popolare al di fuori dell'industria automobilistica grazie alla sua rapida leggibilità e alla maggiore capacità di archiviazione rispetto ai codici a barre UPC standard.
Il codice è composto da moduli neri (punti quadrati) disposti in una griglia quadrata su fondo bianco. ZXING
è una libreria di elaborazione di immagini di codici a barre 1D/2D multiformato con client per Android, Java. Si tratta di una libreria di elaborazione di immagini di codici a barre 1D/2D multiformato open source implementata in Java, con port in altri linguaggi.
Esempio di pagamento dal vivo:
Il nostro obiettivo è utilizzare la fotocamera integrata sui telefoni cellulari per scansionare e decodificare i codici a barre sul dispositivo, senza comunicare con un server. Tuttavia, il progetto può essere utilizzato per codificare e decodificare codici a barre anche su desktop e server.
Ecco un semplice codice Java che genera il codice QR per te.
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 ( ) ; } } } |
Output: (Scansiona da solo)

Quale libreria devo scaricare?
Se hai un progetto Maven, includi questa dipendenza nel tuo file pom.xml.

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

OPPURE Scarica manualmente il file .jar
Passo 1:
Link per scaricare.

Passo 2
Una volta scaricato, devi includerlo nel percorso di classe del tuo progetto. Come aggiungere il file .jar al percorso di creazione del progetto in Eclipse.

Fammi sapere se riscontri problemi durante la generazione del codice QR.