В одной из моих предыдущих статей мы увидели, как создать QRCode и его SVG-эквивалент, используя библиотеку Zxing Java. Библиотека Zxing больше не поддерживается, и для этого есть библиотека вокруг библиотеки Zxing под названием QRGen , которая предоставляет API более высокого уровня и синтаксис компоновщика для генерации QR-кодов.
В этой статье мы увидим, как использовать библиотеку QRGen для создания изображений QR-кода.
Настройка зависимостей Maven
Библиотека QRGen размещена в репозитории Mulesoft maven. Вы можете использовать следующие записи pom, чтобы включить их в зависимости вашего приложения:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
<dependencies> <dependency> <groupId>com.github.kenglxn.qrgen</groupId> <artifactId>javase</artifactId> <version>2.5.0</version> </dependency></dependencies><repositories> <repository> <id>mulesoft</id> </repository></repositories> |
Fluent Builder API для генерации QR-кода
Приведенный ниже фрагмент кода показывает генерацию изображения QR-кода, по умолчанию оно создается во временном файле, и мы копируем его в расположение нашего проекта с помощью : Files.copy()
|
01
02
03
04
05
06
07
08
09
10
11
12
|
File file = QRCode.from("www.google.com").to(ImageType.PNG) .withSize(200, 200) .file();String fileName = "qrgen-qrcode.png";Path path = Paths.get(fileName);if ( Files.exists(path)){ Files.delete(path);}Files.copy(file.toPath(), path); |
Красочный QR-код
Используя свободный API, мы можем даже создать красочный QR-код, как показано ниже:
|
01
02
03
04
05
06
07
08
09
10
11
|
Path colorPath = Paths.get("qrgen-color-qrcode.png");if ( Files.exists(colorPath)){ Files.delete(colorPath);}file = QRCode.from("www.google.com") .withColor(Color.RED.getRGB(), Color.WHITE.getRGB()) .withSize(200, 200) .withErrorCorrection(ErrorCorrectionLevel.Q) .file();Files.copy(file.toPath(), colorPath); |
Полный код можно скачать здесь .
|
Опубликовано на Java Code Geeks с разрешения Мохамеда Санауллы, партнера нашей программы JCG . Смотрите оригинальную статью здесь: Как создать QRCode, используя QRGen в Java Мнения, высказанные участниками Java Code Geeks, являются их собственными. |