Creare QRCode in Java con QRGen

Creare QRCode in Java con QRGen

Per il weekend vi lascio con la creazione di QRCode in Java usando la libreria QRGen!

Come vedremo è molto facile da usare.

Se usate Maven dovete aggiungere questo codice al vostro pom.xml:

    <dependencies>
        <dependency>
            <groupId>com.github.kenglxn.qrgen</groupId>
            <artifactId>javase</artifactId>
            <version>2.6.0</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>

Fatto questo, vediamo un primo esempio che ci crea un QRCode bianco e nero:

import net.glxn.qrgen.core.image.ImageType;
import net.glxn.qrgen.javase.QRCode;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {

    public static void main(String[] args) {
        try {
            int size=300;
            File file = QRCode.from("IL TESTO CHE VUOI!")
                    .to(ImageType.PNG)
                    .withSize(size, size)
                    .file();

            String fileName = "/home/test/qrcode.png";

            Path path = Paths.get(fileName);
            if (Files.exists(path)) {
                Files.delete(path);
            }
            Files.copy(file.toPath(), path);
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }

}

Ho sottilineato bianco e nero perchè è possibile anche farlo colorato, scegliendo il colore di sfondo e del qr vero e proprio:

import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import net.glxn.qrgen.core.image.ImageType;
import net.glxn.qrgen.javase.QRCode;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {

    public static void main(String[] args) {
        try {
            int size=300;
            File file = QRCode.from("IL TESTO CHE VUOI!")
                    .withColor(Color.ORANGE.getRGB(), Color.WHITE.getRGB())
                    .to(ImageType.PNG)
                    .withSize(size, size)
                    .withErrorCorrection(ErrorCorrectionLevel.Q)
                    .file();

            String fileName = "/home/test/qrcode_color.png";

            Path path = Paths.get(fileName);
            if (Files.exists(path)) {
                Files.delete(path);
            }
            Files.copy(file.toPath(), path);
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }

}

Enjoy!




Share

Commentami!

About Mattepuffo.com

Blog dedicato all'informatica e alla programmazione!
Tutti i contenuti di questo blog, tranne casi particolari, sono sotto licenza Licenza Creative Commons Creative Commons Attribution-Noncommercial-Share Alike 2.5. .

2741 articoli
310 commenti
21 progetti
Altri link
  • About
  • Scrivimi
  • Copyright
  • Sitemap
  • matteo.ferrone@yahoo.it
  • GitHub
  • Privacy Policy