#barcode #qr #data-matrix #aztec #pdf417

bin+lib dbr

Dynamsoft 条码读取器 SDK 允许您通过几行代码,高效地在您的网页、桌面或移动应用程序中嵌入条码读取功能。

4 个版本

使用旧 Rust 2015

0.1.3 2018年10月16日
0.1.2 2018年10月16日
0.1.1 2018年10月16日
0.1.0 2018年10月16日

#barcode 中排名 #32

自定义许可证

6MB
148

包含 (Windows DLL, 6MB) DynamsoftBarcodeReaderx64.dll,(静态库, 28KB) platforms/win/DBRx64.lib

Dynamsoft 条码读取器

crates.io version

FFI 绑定到 Dynamsoft 条码读取器 SDK

许可证

获取试用许可证

联系我们

https://www.dynamsoft.com/Company/Contact.aspx

用法

从图像文件中解码条码

extern crate dbr;

use std::ffi::CStr;
use std::ffi::CString;
use std::os::raw::c_char;
use std::env;

use dbr::reader::*;

extern "C" fn callback(index: i32, barcode_type: *const c_char, barcode_value: *const c_char) {
    unsafe {
        println!(
            "Index {}, {}, {}",
            index,
            CStr::from_ptr(barcode_type).to_str().unwrap(),
            CStr::from_ptr(barcode_value).to_str().unwrap()
        );
    }
}

fn main() {
    let args: Vec<String> = env::args().collect();
    if args.len() == 1 {
        println!("Please input an image file.");
        return
    }

    println!("Hello Dynamsoft Barcode Reader!");
    unsafe {
        register_callback(Some(callback));
        let image_file = CString::new(env::args().nth(1).expect("Missing argument")).unwrap();
        let license = CString::new("t0068NQAAAFKYHV9xSZDEThUtClXNzxXH9TLSj/vYcY8mSKa0RxaGw3qNynyAMJ9Ib8UPxzFsbAMIugqPO313BvfiOdmZFTY=").unwrap();
        c_decodeFile(image_file.as_ptr(), license.as_ptr());
    }

    println!("Bye!");
}

Rust barcode reader

如何自定义软件包

  1. 安装 Dynamsoft 条码读取器

  2. 获取 源代码;

  3. Dynamsoft\Barcode Reader <版本号>\Components\C_C++\Redist\x64\DynamsoftBarcodeReaderx64.dll 复制到 platforms\win\DynamsoftBarcodeReaderx64.dll

    Dynamsoft\Barcode Reader <版本号>\Components\C_C++\Lib\DBRx64.lib 复制到 platforms\win\DBRx64.lib

  4. 将函数定义添加到 reader.h,并将函数实现添加到 reader.c

  5. 使用 bindgen 生成 reader.rs

    cargo install bindgen
    cd src
    bindgen reader.h -o reader.rs
    
  6. 将本地包添加到您的 Rust 项目中

    [dependencies]
    dbr = { path = "../dbr" }
    

无运行时依赖