![](https://habrastorage.org/getpro/habr/upload_files/1c6/ea6/ae8/1c6ea6ae8e9a9a83472b730144bec909.png)
Штрих-коды повсеместно используются в коммерции и розничной торговле для помощи в отслеживании товаров, покупках и инвентаризации. Они позволяют организациям вести точный учет их поставок, товаров и других предметов, которые являются ключевыми для их деятельности. Для международного и национального использования существуют разные штрих-коды, которые используются в определенных контекстах. Например, штрих-коды 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, где наша команда будет рада помочь во всем, что вам может понадобиться.