如何在 Java 中扫描条形码图像

从制造,一直到销售点 (POS),条形码扫描可以根据订单规格准确跟踪和交付库存和产品。在仓库环境中,此工具可以允许工作人员确保他们根据采购员的要求选择正确的零件并将其添加到产品或产品订单中,并且在运输中,它提供了库存清单的准确维护。对于医院等商业以外的组织,条形码扫描技术可用于确认将适当的药物有效地分发给正确的患者,从而降低用户错误的风险。

以下条码 API 将允许您使用条形码数据通过两种方式自动检索产品信息:图像扫描和文本字符串输入。本教程的目标是通过内部应用程序或 POS 自动化库存和采购流程,从而提高您的组织效率并改善您的产品输出。

第一个 API 提供了条码扫描功能,其中可以扫描输入图像以获取条码信息。它支持多种条码类型,包括 AZTEC、CODABAR、CODE_39、CODE_93、CODE_128、DATA_MATRIX、EAN_8、EAN_13、ITF、MAXICODE、PDF_417、QR_CODE、RSS_14、RSS_EXPANDED、UPC_A、UPC_E、All_1D、UPC_EAN_EXTENSION、MSI、PLESSEY 和 IMB。支持 PNG 和 JPG 等常见图像文件格式作为输入。

要启动此功能,我们首先需要使用 Maven 或 Gradle 安装我们的库。首先在 pom.xml 中添加对存储库的 Jitpack 引用:

<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'
}

安装后,我们可以将导入添加到文件中并调用我们的函数:

// 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.BarcodeScanApi;
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");
BarcodeScanApi apiInstance = new BarcodeScanApi();
File imageFile = new File("/path/to/inputfile"); // File | Image file to perform the operation on.  Common file formats such as PNG, JPEG are supported.
try {
    BarcodeScanResult result = apiInstance.barcodeScanImage(imageFile);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling BarcodeScanApi#barcodeScanImage");
    e.printStackTrace();
}

此函数的输出应返回有关它是否成功使用、扫描的条形码类型以及所表示项目的原始文本描述的值。为确保 API 正常运行,您需要验证:

输入文件有效,并且该函数支持该文件类型。
您的 API 密钥已正确插入到代码块中。这可以在 Cloudmersive 网站上免费检索,并将提供对 800 次跨 API 库的每月调用的访问。
如果您需要输入产品的条形码信息,但由于字符模糊或缺失而无法扫描图像,我们将向您展示的第二个 API 将有助于保持您的操作顺利运行。使用此 API,您可以快速轻松地查找 EAN 条形码值以返回产品数据。

如上所示,我们首先需要通过 Maven 或 Gradle 安装我们的库,然后我们可以将导入添加到我们的文件中。在此之后,我们可以调用该函数:

// 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.BarcodeLookupApi;
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");
BarcodeLookupApi apiInstance = new BarcodeLookupApi();
String value = "value_example"; // String | Barcode value
try {
    BarcodeLookupResponse result = apiInstance.barcodeLookupEanLookup(value);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling BarcodeLookupApi#barcodeLookupEanLookup");
    e.printStackTrace();
}

输入后,此功能将通知您是否已成功激活,是否与输入的 EAN 值匹配,以及产品的标题或描述。

使用这些 API,您可以确保您的运营从头到尾顺利运行,并且您的客户始终收到他们订购的准确订单。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Java识别扫描条形码,你可以使用第三方库ZXing(Zebra Crossing)。ZXing是一个开源的条形码图像处理库,它支持多种条形码格式的识别。 首先,你需要将ZXing添加到你的Java项目。你可以在https://github.com/zxing/zxing下载最新的ZXing源代码包,然后将核心和javase模块导入到你的项目。 接下来,你可以使用以下示例代码来实现条形码识别: ```java import com.google.zxing.*; import com.google.zxing.common.HybridBinarizer; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class BarcodeReader { public static void main(String[] args) { try { File file = new File("barcode.png"); // 替换为你的条形码图片路径 BufferedImage image = ImageIO.read(file); LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Result result = new MultiFormatReader().decode(bitmap); System.out.println("Barcode Format: " + result.getBarcodeFormat()); System.out.println("Barcode Text: " + result.getText()); } catch (IOException | NotFoundException e) { e.printStackTrace(); } } } ``` 在上面的示例,我们首先读取条形码图片,并将其转换为`BufferedImage`对象。然后,我们使用ZXing提供的`BufferedImageLuminanceSource`类将`BufferedImage`对象转换为亮度源。接下来,我们使用`HybridBinarizer`类将亮度源转换为二进制位图。最后,我们使用`MultiFormatReader`类对二进制位图进行解码,获取条形码的格式和文本信息。 请确保将代码的`barcode.png`替换为你实际使用的条形码图片的路径。 以上是使用ZXing库在Java识别扫描条形码的基本实现。你可以根据自己的需求进一步扩展和优化代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小徐博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值