Creare QRCode in Java con QRGen

Mattepuffo's logo
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 this Post

Commentami!