翻譯|使用教程|編輯:楊鵬連|2020-08-05 14:02:40.380|閱讀 723 次
概述:Dynamsoft的Barcode Reader SDK是一個跨平臺的條形碼檢測和解碼庫。使用條形碼掃描SDK,開發(fā)人員可以輕松地在Windows,Linux和macOS上構建Java條形碼應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Dynamsoft Barcode Reader SDK一款多功能的條碼讀取控件,只需要幾行代碼就可以將條碼讀取功能嵌入到Web或桌面應用程序。這可以節(jié)省數(shù)月的開發(fā)時間和成本。能支持多種圖像文件格式以及從攝像機或掃描儀獲取的DIB格式。使用Dynamsoft Barcode Reader SDK,你可以創(chuàng)建強大且實用的條形碼掃描儀軟件,以滿足你的業(yè)務需求。
點擊下載Dynamsoft Barcode Reader最新版
完整的SDK套件
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使用
加載模板文件和更新參數(shù)
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下載現(xiàn)有模板文件。
解碼文件流
您可以使用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); }
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: