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 条码读取器
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!");
}
如何自定义软件包
-
安装 Dynamsoft 条码读取器。
-
获取 源代码;
-
将
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
-
将函数定义添加到
reader.h
,并将函数实现添加到reader.c
。 -
使用 bindgen 生成
reader.rs
。cargo install bindgen cd src bindgen reader.h -o reader.rs
-
将本地包添加到您的 Rust 项目中
[dependencies] dbr = { path = "../dbr" }