7

Как создавать и распознавать штрихкоды с помощью Java

В современном бизнесе и IT-технологиях штрихкоды встречаются повсеместно. От упаковки товаров и логистики до систем доступа и проверки билетов — они обеспечивают быструю и точную передачу информации.

Однако при интеграции функции работы со штрихкодами в Java-приложения разработчики сталкиваются с выбором библиотек, поддержкой различных типов штрихкодов, оптимизацией производительности и удобством использования.

В этой статье представлен эффективный инструмент — Free Spire.Barcode for Java. Это профессиональная Java-библиотека для генерации и распознавания штрихкодов, упрощающая разработку. Мы покажем, как легко реализовать генерацию и считывание штрихкодов в вашем Java-проекте.


1. Обзор Free Spire.Barcode и настройка окружения

Free Spire.Barcode for Java — функциональная Java-библиотека для создания, чтения и сканирования различных одномерных и двумерных штрихкодов. Она поддерживает популярные форматы, включая Code 128, QR Code, EAN-13, UPC-A, Data Matrix, PDF417 и многие другие. API библиотеки гибкий и позволяет тонко настраивать внешний вид штрихкода.

Преимущества

  • Широкая поддержка типов штрихкодов — почти все распространённые стандарты.

  • Простая интеграция — совместимость с Maven, Gradle и другими инструментами сборки.

  • Высокая производительность — быстрое создание и распознавание, подходит для высоконагруженных приложений.

  • Гибкая настройка — размеры, цвет, шрифт и расположение текста штрихкода.

  • Чистая реализация на Java — не требует дополнительных зависимостей, работает кроссплатформенно.

Настройка окружения

Наиболее удобный способ подключения — через Maven:

<repositories>

<repository>

<id>com.e-iceblue</id>

<name>e-iceblue</name>

<url>https://repo.e-iceblue.com/nexus/content/groups/public/&lt;/...

</repository>

</repositories>

<dependency>

<groupId>e-iceblue</groupId>

<artifactId>spire.barcode.free</artifactId>

<version>5.2.1</version>

</dependency>

2. Генерация штрихкодов с использованием Spire.Barcode for Java

Библиотека предоставляет интуитивный API для создания различных типов штрихкодов. Рассмотрим примеры генерации QR Code и PZN.

Генерация QR Code с логотипом

QR Code широко используется для мобильных платежей и обмена информацией. Spire.Barcode позволяет вставлять логотип в QR Code для повышения узнаваемости бренда.

import com.spire.barcode.BarCodeGenerator;

import com.spire.barcode.BarcodeSettings;

import com.spire.barcode.BarCodeType;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

public class GenerateQRCodeWithLogo {

public static void main(String[] args) throws IOException {

BarcodeSettings settings = new BarcodeSettings();

settings.set2DData("Hello World"); // Данные для QR Code

settings.setType(BarCodeType.QR_Code); // Тип штрихкода

settings.setShowText(false); // Не отображать текст

settings.hasBorder(true); // Добавить рамку

BufferedImage logoImage = ImageIO.read(new File("data/Logo.png")); // Чтение логотипа

settings.setQRCodeLogoImage(logoImage); // Вставка логотипа

BarCodeGenerator generator = new BarCodeGenerator(settings);

BufferedImage image = generator.generateImage(); // Генерация изображения

ImageIO.write(image, "PNG", new File("QR_CODE_With_Logo.png"));

System.out.println("QR Code с логотипом успешно создан!");

}

}

Примечания:

  • BarcodeSettings — настройки параметров штрихкода.

  • set2DData() — содержимое QR Code.

  • setQRCodeLogoImage() — вставка логотипа.

  • generateImage() — создание изображения.

  • ImageIO.write() — сохранение изображения.


Генерация PZN штрихкода

PZN (Pharmazentralnummer) — стандарт штрихкода для фармацевтической продукции в Германии.

import com.spire.barcode.BarCodeGenerator;

import com.spire.barcode.BarcodeSettings;

import com.spire.barcode.BarCodeType;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

public class GeneratePZNBarcode {

public static void main(String[] args) throws IOException {

BarcodeSettings settings = new BarcodeSettings();

settings.setData("123456"); // Данные для PZN

settings.setType(BarCodeType.PZN); // Тип штрихкода

settings.setShowTextOnBottom(true); // Отображать текст под штрихкодом

settings.hasBorder(true); // Добавить рамку

BarCodeGenerator generator = new BarCodeGenerator(settings);

BufferedImage image = generator.generateImage();

ImageIO.write(image, "PNG", new File("PZN_Barcode.png"));

System.out.println("PZN штрихкод успешно создан!");

}

}

Библиотека позволяет настраивать ширину, высоту, отступы и цвет штрихкода.


3. Распознавание штрихкодов с помощью Spire.Barcode for Java

Помимо генерации, Spire.Barcode эффективно распознаёт штрихкоды с изображений.

Распознавание из изображения

import com.spire.barcode.BarcodeScanner;

public class ReadBarcodeFromImage {

public static void main(String[] args) {

String imagePath = "CODABAR.png"; // Путь к изображению штрихкода

String[] barcodes = BarcodeScanner.scan(imagePath);

if (barcodes != null && barcodes.length > 0) {

System.out.println("Распознанные штрихкоды:");

for (String barcode : barcodes) {

System.out.println("- " + barcode);

}

} else {

System.out.println("Штрихкод не распознан.");

}

}

}

Советы для повышения точности распознавания:

  • Качество изображения — использовать четкие и высокоразрешённые картинки.

  • Угол наклона штрихкода — по возможности горизонтальный или вертикальный.

  • Контраст с фоном — штрихкод должен быть хорошо виден на фоне.

  • Четкость границ — избегать размытия или зазубрин.

При сложных случаях можно дополнительно обрабатывать изображение (обрезка, вращение, резкость).


Заключение

В этом руководстве показано, как использовать Free Spire.Barcode для:

  1. Настройки окружения;

  2. Генерации различных штрихкодов (QR Code, PZN и др.) с возможностью кастомизации;

  3. Распознавания штрихкодов с изображений.

Благодаря широкой поддержке форматов, высокой производительности, простоте интеграции и гибкости настройки, Free Spire.Barcode for Java является идеальным решением для Java-разработчиков, работающих с штрихкодами. Он упрощает процесс разработки и позволяет сосредоточиться на бизнес-логике приложения.

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества