Как создать изображение штрих-кода на Java

от автора

Штрих-коды повсеместно используются в коммерции и розничной торговле для помощи в отслеживании товаров, покупках и инвентаризации. Это позволяет организациям вести точный учет их поставок, товаров и других предметов, которые являются ключевыми для их деятельности. Для международного и национального использования существуют разные штрих-коды, которые используются в определенных контекстах. Например, штрих-коды UPC и EAN выглядят одинаково по своему форматированию и могут использоваться аналогичным образом, но UPC — это в основном североамериканская система кодирования; однако, UPC и EAN используются во всем мире. QR — коды также используется во всем мире, но они обычно используется для обмена сложными наборами информации, например, сведениями о товарах или ссылками на веб-сайты.

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

Чтобы использовать любой из следующих API, вам сначала необходимо установить ссылку на SDK с Maven или Gradle. Чтобы установить с Maven, добавьте ссылку Jitpack на репозиторий в pom.xml: 

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

Затем добавьте ссылку на зависимость:

<dependencies> <dependency>     <groupId>com.github.Cloudmersive</groupId>     <artifactId>Cloudmersive.APIClient.Java</artifactId>     <version>v3.54</version> </dependency> </dependencies>

Чтобы установить нужную зависимость с помощью Gradle, добавьте ссылку на свой корневой build.gradle в конце репозиториев:

allprojects {     repositories {         ...         maven { url 'https://jitpack.io' }     } }

Затем добавьте зависимость в build.gradle:

dependencies {    implementation 'com.github.Cloudmersive:Cloudmersive.APIClient.Java:v3.54' }

Первый набор функций сосредоточен на создании штрих-кодов UPC в двух форматах: UPC-A и UPC-E. UPC-A — это стандартный тип штрих-кода UPC, содержащий 12 цифр, которые кодируют информацию о продукте. UPC-E действует как сжатая форма этого кода, поскольку он может принимать исходное 12-значное значение и сокращать его до 6 цифр с седьмой цифрой контрольной суммы. Однако если ваше значение UPC не начинается с нуля, вы не можете сжать его в код UPC-E. Их следует в основном использовать в розничной торговле и простой кодировке продуктов, поскольку они не приспособлены для передачи сложной информации. Чтобы создать штрих-код UPC-A, установите SDK, как показано выше, а затем вызовите функцию:

// Import classes: //import com.cloudmersive.client.invoker.ApiClient; //import com.cloudmersive.client.invoker.ApiException; //import com.cloudmersive.client.invoker.Configuration; //import com.cloudmersive.client.invoker.auth.*; //import com.cloudmersive.client.GenerateBarcodeApi;  ApiClient defaultClient = Configuration.getDefaultApiClient();  // Configure API key authorization: Apikey ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey"); Apikey.setApiKey("YOUR API KEY");  // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //Apikey.setApiKeyPrefix("Token");  GenerateBarcodeApi apiInstance = new GenerateBarcodeApi();  String value = "value_example"; // String | UPC-A barcode value to generate from  try {     byte[] result = apiInstance.generateBarcodeUPCA(value);     System.out.println(result); } catch (ApiException e) {     System.err.println("Exception when calling GenerateBarcodeApi#generateBarcodeUPCA");     e.printStackTrace(); }

Единственный ввод, необходимый для этой функции, — это значение штрих-кода UPC, из которого будет создано изображение. Это вернет выходной файл, содержащий изображение штрих-кода в формате PNG. Чтобы этот API работал правильно, необходимо обеспечить выполнение определенных требований:

  • Значение штрих-кода UPC действительное и вводится правильно.

  • Вы ввели свой ключ ключ API, обеспечивающий 800 ежемесячных вызовов через нашу библиотеку API. Его можно бесплатно получить на веб-сайте Cloudmersive.

Чтобы создать код UPC-E, выполните те же действия что и выше, чтобы установить и вызвать следующую функцию:

// Import classes: //import com.cloudmersive.client.invoker.ApiClient; //import com.cloudmersive.client.invoker.ApiException; //import com.cloudmersive.client.invoker.Configuration; //import com.cloudmersive.client.invoker.auth.*; //import com.cloudmersive.client.GenerateBarcodeApi;  ApiClient defaultClient = Configuration.getDefaultApiClient();  // Configure API key authorization: Apikey ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey"); Apikey.setApiKey("YOUR API KEY");  // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //Apikey.setApiKeyPrefix("Token");  GenerateBarcodeApi apiInstance = new GenerateBarcodeApi(); String value = "value_example"; // String | UPC-E barcode value to generate from  try {     byte[] result = apiInstance.generateBarcodeUPCE(value);     System.out.println(result); } catch (ApiException e) {     System.err.println("Exception when calling GenerateBarcodeApi#generateBarcodeUPCE");     e.printStackTrace(); }

Штрих-коды EAN были созданы для использования в Европе, но признаны во всем мире. Есть два типа EAN кода — это EAN-13 и EAN-8, причем EAN-13 является наиболее широко используемым. Как и в формате UPC, коды EAN могут кодировать только числовые данные, что позволяет их быстро и легко сканировать. EAN-13 содержит 13 цифр, которые представляют код страны, информацию о продукте и производителе, а также цифры контрольной суммы. EAN-8 состоит из 8 цифр и предназначен для использования на продуктах с упаковкой, которая слишком мала для использования кода EAN-13.

Чтобы сгенерировать код EAN-13, установите SDK, как показано выше, а затем вызовите функцию:

// Import classes: //import com.cloudmersive.client.invoker.ApiClient; //import com.cloudmersive.client.invoker.ApiException; //import com.cloudmersive.client.invoker.Configuration; //import com.cloudmersive.client.invoker.auth.*; //import com.cloudmersive.client.GenerateBarcodeApi;  ApiClient defaultClient = Configuration.getDefaultApiClient();  // Configure API key authorization: Apikey ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey"); Apikey.setApiKey("YOUR API KEY");  // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //Apikey.setApiKeyPrefix("Token");  GenerateBarcodeApi apiInstance = new GenerateBarcodeApi(); String value = "value_example"; // String | Barcode value to generate from  try {     byte[] result = apiInstance.generateBarcodeEAN13(value);     System.out.println(result); } catch (ApiException e) {     System.err.println("Exception when calling GenerateBarcodeApi#generateBarcodeEAN13");     e.printStackTrace(); }

Для кода EAN-8 выполните те же начальные шаги и вызовите функцию ниже:

 // Import classes: //import com.cloudmersive.client.invoker.ApiClient; //import com.cloudmersive.client.invoker.ApiException; //import com.cloudmersive.client.invoker.Configuration; //import com.cloudmersive.client.invoker.auth.*; //import com.cloudmersive.client.GenerateBarcodeApi;  ApiClient defaultClient = Configuration.getDefaultApiClient();  // Configure API key authorization: Apikey ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey"); Apikey.setApiKey("YOUR API KEY");  // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //Apikey.setApiKeyPrefix("Token");  GenerateBarcodeApi apiInstance = new GenerateBarcodeApi(); String value = "value_example"; // String | Barcode value to generate from  try {     byte[] result = apiInstance.generateBarcodeEAN8(value);     System.out.println(result); } catch (ApiException e) {     System.err.println("Exception when calling GenerateBarcodeApi#generateBarcodeEAN8");     e.printStackTrace(); }

Все предыдущие форматы штрих-кодов считаются одномерными типами, поскольку они могут кодировать только простые числовые данные, такие как коды продуктов. Однако, если вы хотите передать более сложную информацию, идеально подойдет QR-код в формате 2D. QR-код, означающий Quick Return code (кода быстрого возврата), может использоваться для передачи широкого спектра информации путем сканирования с помощью устройства, имеющего поддержку QR-кода, такого как смартфон. Их можно использовать для получения сведений о продукте в маркетинговых целях и для обмена служебной информацией, например меню.

Чтобы сгенерировать QR-код, вызовите следующую функцию:

// Import classes: //import com.cloudmersive.client.invoker.ApiClient; //import com.cloudmersive.client.invoker.ApiException; //import com.cloudmersive.client.invoker.Configuration; //import com.cloudmersive.client.invoker.auth.*; //import com.cloudmersive.client.GenerateBarcodeApi;  ApiClient defaultClient = Configuration.getDefaultApiClient();  // Configure API key authorization: Apikey ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey"); Apikey.setApiKey("YOUR API KEY");  // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //Apikey.setApiKeyPrefix("Token");  GenerateBarcodeApi apiInstance = new GenerateBarcodeApi(); String value = "value_example"; // String | QR code text to convert into the QR code barcode  try {     byte[] result = apiInstance.generateBarcodeQRCode(value);     System.out.println(result); } catch (ApiException e) {     System.err.println("Exception when calling GenerateBarcodeApi#generateBarcodeQRCode");     e.printStackTrace(); }

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

Все эти функции возвращают файл PNG, содержащий изображение вашего штрих-кода, для использования на любом продукте или предмете. Если у вас есть какие-либо вопросы об использовании этих API-интерфейсов или вопросы, касающиеся других решений API, вы можете посетить веб-сайт Cloudmersive, где наша команда будет рада помочь во всем, что вам может понадобиться.

ссылка на оригинал статьи https://habr.com/ru/post/533194/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *