彩票走势图

Dynamsoft Barcode Reader使用教程:如何使用Java条码阅读器API

翻译|使用教程|编辑:杨鹏连|2020-08-05 14:02:40.380|阅读 628 次

概述:Dynamsoft的Barcode Reader SDK是一个跨平台的条形码检测和解码库。使用条形码扫描SDK,开发人员可以轻松地在Windows,Linux和macOS上构建Java条形码应用程序。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Dynamsoft Barcode Reader SDK一款多功能的条码读取控件,只需要几行代码就可以将条码读取功能嵌入到Web或桌面应用程序。这可以节省数月的开发时间和成本。能支持多种图像文件格式以及从摄像机或扫描仪获取的DIB格式。使用Dynamsoft Barcode Reader SDK,你可以创建强大且实用的条形码扫描仪软件,以满足你的业务需求。

点击下载Dynamsoft Barcode Reader最新版

完整的SDK套件

Dynamsoft Barcode Reader使用教程:如何使用Java条码阅读器API

Java条码快速入门

一个dynamsoft-barcodereader-7.5.jar文件位于下Dynamsoft条码阅读器\ lib文件夹中。您可以轻松地将jar文件导入到Java IDE(例如Eclipse)。如果使用的是Maven项目,则要添加依赖项,您需要按以下方式编辑pom.xml文件:

 <repositories>
    <repository>
         <id>dbr </id>
         <url>//download2.dynamsoft.com/maven/dbr/jar </url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.dynamsoft</groupId>
        <artifactId>dbr</artifactId>
        <version>7.5.0</version>
    </dependency>
</dependencies> 
这是显示如何解码图像文件中条形码的代码段:
import com.dynamsoft.barcode.*;

public class App {
    public static void main(String[] args) {
        String filename = "<file path>";
        try {
            BarcodeReader reader = new BarcodeReader(
                    "<Your trial license>");
            TextResult[] results = reader.decodeFile( filename, "");
            for (TextResult result : results) {
                System.out.println(result.barcodeText);
            }
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println(e);
        }

    }
}
高级API使用

加载模板文件和更新参数

BarcodeReader br = new BarcodeReader("<LICENSE-KEY>");
br.initRuntimeSettingsWithFile("balanced.json", EnumConflictMode.CM_OVERWRITE); // Load a template file

PublicRuntimeSettings runtimeSettings = br.getRuntimeSettings();
runtimeSettings.barcodeFormatIds = EnumBarcodeFormat.BF_PDF417 | EnumBarcodeFormat.BF_QR_CODE; // Update barcode formats
runtimeSettings.barcodeFormatIds_2 = EnumBarcodeFormat_2.BF2_DOTCODE;
br.updateRuntimeSettings(runtimeSettings);
模板配置很复杂。您可以使用在线条形码工具来自定义算法模板,也可以从GitHub下载现有模板文件。

解码文件流

您可以使用Spring框架来构建Web项目并在服务器端解码上传的图像。假设您有以下代码从多部分表单中获取上传的文件:

@PostMapping(value = "/api/dynamsoft"
            , consumes = MediaType.MULTIPART_FORM_DATA_VALUE
            , produces = MediaType.APPLICATION_JSON_VALUE)
public BarcodeResponse getDynamsoft(@RequestPart MultipartFile file) throws Exception {
        return mDynamsoftBarcode.decode(file.getOriginalFilename(), file.getInputStream());
}
然后,您可以直接从文件流中解码条形码:
InputStream inputStream = file.getInputStream();
TextResult[] results = br.decodeFileInMemory(inputStream, "");
inputStream.close();
解码Java OpenCV Mat

通过Maven安装OpenCV Java:

<dependency>
  <groupId>org</groupId>
  <artifactId>opencv</artifactId>
  <version>4.3.0</version>
</dependency>
将帧捕获到OpenCV Mat并从Mat解码条形码:
public static byte[] matToByteArray(Mat original)
{
    int width = original.width(), height = original.height(), channels = original.channels();
    byte[] sourcePixels = new byte[width * height * channels];
    original.get(0, 0, sourcePixels);
    return sourcePixels;
}
Mat frame = grabFrame();
TextResult[] results = reader.decodeBuffer(matToByteArray(frame), frame.width(), frame.height(), (int)frame.step1(), EnumImagePixelFormat.IPF_BGR_888, "");
解码BufferedImage

将图像文件读取到BufferedImage:

import java.awt.image.*;
import javax.imageio.ImageIO;
BufferedImage image = null;
try {
    image = ImageIO.read(new File(filename));
} catch (IOException e) {
    System.out.println(e);
    return;
}
从BufferedImage读取条形码:
TextResult[] results = null;
try {
    results = br.decodeBufferedImage(image, "");
} catch (Exception e) {
    System.out.println("decode buffered image: " + e);
}


想要购买Dynamsoft Barcode Reader正版授权,或了解更多产品信息请点击


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP