二维码识别

构造函数
dynamsoft.BarcodeReader()
方法
decode() decodeBase64String() getRuntimeSettings()
updateRuntimeSettings() resetRuntimeSettings()
dynamsoft.BarcodeReader.initServiceConnection()
属性
productKey bAutoConnectService
resourcesPath ifCheck64bitServiceFirst
事件
onAutoConnectServiceSuccess onAutoConnectServiceError

枚举类

错误

示例代码

以下示例代码演示了如何使用上述API来执行条形码/二维码识别功能。

var reader = new dynamsoft.BarcodeReader("<Put your license key here>");
var runtimeSettings = reader.getRuntimeSettings();
runtimeSettings.mBarcodeFormatIds = 1023; // 1D Barcodes
reader.updateRuntimeSettings(runtimeSettings);
var idx = DWObject.GetSelectedImageIndex(0);
var url = DWObject.GetImagePartURL(idx);
reader.decode(url).then(function(results){
    for(var i = 0; i < results.length; ++i){
        console.log(results[i].BarcodeText);
        console.log(results[i].LocalizationResult.ExtendedResultArray[0].Confidence);
    }
});

构造函数

dynamsoft.BarcodeReader()
创建BarcodeReader实例。
语法 dynamsoft.BarcodeReader();

dynamsoft.BarcodeReader(licenceKeys);
参数 string licenceKeys (optional): 条形码/二维码识别插件的许可证密钥。
返回值 dynamsoft.BarcodeReader
示例代码
var reader = new dynamsoft.BarcodeReader();
使用说明 如果未设置参数licenceKeys,SDK将从dynamsoft.dbrEnv.productKey获取许可证密钥。
版本信息 v14.1

方法

decode()
从图像中解码条形码/二维码。
语法 .decode(source);
参数 要解码的图像,支持png、jpeg、bmp、tiff文件。
该参数source支持以下几种类型:
string source (base64 with mime)
string source (dcsUrl)
仅限HTML5 Edition:
string source (url)
string source (dwtUrl)
返回值 Promise(resolve(array TextResult), reject(ex))
TextResult 对象中可用的方法:
成员 描述
ResultType emResultType Barcode 类型(枚举值)
pszBarcodeFormatString Barcode 类型(字符串)
pszBarcodeText Barcode 文本结果,以'\ 0'结尾
pBarcodeBytes Barcode 结果(字节数组)
nBarcodeBytesLength Barcode 结果字节数组的长度
SLocalizationResult pLocalizationResult 相应barcode的定位结果
示例代码
// dwtUrl: HTML5 Edition only
reader.decode('dwt://dwt_trial_13000404/img?id=306159652&index=0&t=1502184632022').then(
    results=>{
    for(var i = 0; i < results.length; ++i){
        console.log(results[i].BarcodeText);
        // Confidence >= 30 is reliable
        console.log(results[i].LocalizationResult.ExtendedResultArray[0].Confidence);
    }
});
// dcsUrl
reader.decode('dcs://dcs_trial_6110531/img?id=306159652&index=0&t=1502184632022').then(
    function(results){
    // ie6-7 does not support console.log
    var messageArr = [];
    for(var i = 0; i < results.length; ++i){
        messageArr.push(results[i].BarcodeText);
        // Confidence >= 30 is reliable
        messageArr.push(results[i].LocalizationResult.ExtendedResultArray[0].Confidence);
    }
    alert(messageArr.join(''));
})['catch'](function(ex){
    // ie6-9 does not support '.catch(function(ex){...})'
    if(ex){alert(ex.message||ex);}
});
版本信息 v14.1
decodeBase64String()
从base64图像解码条形码/二维码。
语法 .decodeBase64String(base64Str);
参数 string base64Str: 要解码的图像。
返回值 Promise(resolve(array TextResult), reject(ex))
TextResult 对象中可用的方法:
成员 描述
ResultType emResultType Barcode 类型(枚举值)
pszBarcodeFormatString Barcode 类型(字符串)
pszBarcodeText Barcode 文本结果,以'\ 0'结尾
pBarcodeBytes Barcode 结果(字节数组)
nBarcodeBytesLength Barcode 结果字节数组的长度
SLocalizationResult pLocalizationResult 相应barcode的定位结果
示例代码
var base64str = 'data:image/png;base64,xxxxxxx';
//with mime
reader.decodeBase64String(base64str).then(results=>{
    for(var i = 0; i < results.length; ++i){
        console.log(results[i].BarcodeText);
    }
});
//without mime
reader.decodeBase64String(base64str.substring(base64str.indexOf(',') + 1)).then(results=>{
    for(var i = 0; i < results.length; ++i){
        console.log(results[i].BarcodeText);
    }
});
版本信息 v14.1
getRuntimeSettings()
获取当前BarcodeReader的读取设置。
语法 .getRuntimeSettings();
参数
返回值 PlainObject
示例代码
var mysettings = reader.getRuntimeSettings();
版本信息 v14.1
updateRuntimeSettings()
用新的设置更新当前BarcodeReader的读取设置。
语法 .updateRuntimeSettings(settings);
参数 PublicRuntimeSettings Object settings: 新的BarcodeReader设置
typedef struct PublicRuntimeSettings
{
    number mTimeout;
    number mBarcodeFormatIds;
    number mTextureDetectionSensitivity;
    number mDeblurLevel;
    number mAntiDamageLevel;
    number mMaxBarcodesCount;
    number mScaleDownThreshold;
    number mGrayEqualizationSensitivity;
    number mExpectedBarcodesCount;
};
关于结构体里每个参数的详细信息,请参阅 PublicParameterSettings
返回值 undefined
示例代码
// 获取当前的读取设置
var settings = reader.getRuntimeSettings();
// 更改读取设置
settings.mBarcodeFormatIds = 1023; // 一维码
settings.mExpectedBarcodesCount = 10;
settings.mDeblurLevel = 9;
settings.mAntiDamageLevel = 9;
settings.mScaleDownThreshold = 3000;
// 更新读取设置
reader.updateRuntimeSettings(settings);
版本信息 v14.1
resetRuntimeSettings()
将所有读取设置重置为默认值。
语法 .resetRuntimeSettings();
参数
返回值 undefined
示例代码
reader.resetRuntimeSettings();
版本信息 v14.1

错误

Error dynamsoft.BarcodeReader.BarcodeReaderException

成员 类型 描述
code number dynamsoft.BarcodeReader.EnumErrorCode 错误代码
message String 错误信息

Environment APIs (Optional)

以下示例代码演示了如何设置Barcode Reader的环境。

// 以下设置不是必须的,您可以不在您的程序里写以下代码,包括dynamsoft和dynamsoft.dbrEnv,仅在您要更改默认环境时(比如 DBRResources 文件夹的位置)才需要设置。
dynamsoft = self.dynamsoft || {};
dynamsoft.dbrEnv = dynamsoft.dbrEnv || {};
dynamsoft.dbrEnv.productKey = "<a license key>",
dynamsoft.dbrEnv.bAutoConnectService = true;
dynamsoft.dbrEnv.resourcesPath = 'DBRResources';
dynamsoft.dbrEnv.ifCheck64bitServiceFirst = true;
dynamsoft.dbrEnv.onAutoConnectServiceSuccess = function(){
    console.log("success");
};
dynamsoft.dbrEnv.onAutoConnectServiceError = function(status){
    console.log("error");
};

属性

productKey
设置或返回Barcode Reader附加组件的许可证密钥。
类型 String
访问权限 Get Set
使用说明 bAutoConnectService的默认值为true。
如果您想手动连接Dynamsoft Service,请在加载“dynamsoft.barcodereader.min.js”之前将其设置为false并在需要的时候调用dynamsoft.BarcodeReader.initServiceConnection
版本信息 v14.1
bAutoConnectService
设置或返回是否自动连接到Dynamsoft Service。
类型 Bool
访问权限 Get Set
使用说明 如果您未设置许可证或许可证已过期,Barcode Reader附加组件仍然可以继续正常运行,但码结果的最后三个字符将被替换为“***”。
版本信息 v14.1
resourcesPath
设置或返回Barcode Reader相关依赖项的文件夹放置位置,是当前网页的相对路径。
类型 String
访问权限 Get Set
使用说明 该路径非常重要,因为它指向Barcode Reader附加组件所需的所有JavaScript文件,MSI文件,图像等。如果路径设置不正确,Barcode Reader将无法正常使用。
版本信息 v14.1
ifCheck64bitServiceFirst
设置或返回是否优先使用64位Dynamsoft Service。
类型 String
访问权限 Get Set
使用说明 默认值为false。
版本信息 v14.1
onAutoConnectServiceSuccess
Dynamsoft Service连接的成功回调函数。
语法 dynamsoft.dbrEnv.onAutoConnectServiceSuccess = function(){ ... };);
参数
示例代码
dynamsoft.dbrEnv.onAutoConnectServiceSuccess = function(){
    console.log("success");
};
版本信息 v14.1
onAutoConnectServiceError
Dynamsoft Service连接的失败回调函数。
语法 dynamsoft.dbrEnv.onAutoConnectServiceError = function(status){ ... };
参数
  • status: service的状态
示例代码
dynamsoft.dbrEnv.onAutoConnectServiceError = function(status){
    console.log("error");
};
版本信息 v14.1
dynamsoft.BarcodeReader.initServiceConnection()
初始化与Dynamsoft Service的连接。
语法 dynamsoft.BarcodeReader.initServiceConnection();
参数
返回值 Promise(resolve(null), reject(ex))
版本信息 v14.1

枚举类

enum dynamsoft.BarcodeReader.EnumBarcodeFormat

dynamsoft.BarcodeReader.EnumBarcodeFormat.All = 503317503;
dynamsoft.BarcodeReader.EnumBarcodeFormat.OneD = 0x3FF;
dynamsoft.BarcodeReader.EnumBarcodeFormat.CODE_39 = 0x1;
dynamsoft.BarcodeReader.EnumBarcodeFormat.CODE_128 = 0x2;
dynamsoft.BarcodeReader.EnumBarcodeFormat.CODE_93 = 0x4;
dynamsoft.BarcodeReader.EnumBarcodeFormat.CODABAR = 0x8;
dynamsoft.BarcodeReader.EnumBarcodeFormat.ITF = 0x10;
dynamsoft.BarcodeReader.EnumBarcodeFormat.EAN_13 = 0x20;
dynamsoft.BarcodeReader.EnumBarcodeFormat.EAN_8 = 0x40;
dynamsoft.BarcodeReader.EnumBarcodeFormat.UPC_A = 0x80;
dynamsoft.BarcodeReader.EnumBarcodeFormat.UPC_E = 0x100;
dynamsoft.BarcodeReader.EnumBarcodeFormat.INDUSTRIAL_25 = 0x200;
dynamsoft.BarcodeReader.EnumBarcodeFormat.PDF417 = 0x2000000;
dynamsoft.BarcodeReader.EnumBarcodeFormat.QR_CODE = 0x4000000;
dynamsoft.BarcodeReader.EnumBarcodeFormat.DATAMATRIX = 0x8000000;
dynamsoft.BarcodeReader.EnumBarcodeFormat.AZTEC = 0x10000000;

enum dynamsoft.BarcodeReader.EnumErrorCode

dynamsoft.BarcodeReader.EnumErrorCode.DBR_SYSTEM_EXCEPTION = 1;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_SUCCESS = 0;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_UNKNOWN = -10000;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_NO_MEMORY = -10001;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_NULL_REFERENCE = -10002;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_LICENSE_INVALID = -10003;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_LICENSE_EXPIRED = -10004;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_FILE_NOT_FOUND = -10005;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_FILETYPE_NOT_SUPPORTED = -10006;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_BPP_NOT_SUPPORTED = -10007;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_INDEX_INVALID = -10008;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_BARCODE_FORMAT_INVALID = -10009;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_CUSTOM_REGION_INVALID = -10010;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_MAX_BARCODE_NUMBER_INVALID = -10011;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_IMAGE_READ_FAILED = -10012;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_TIFF_READ_FAILED = -10013;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_QR_LICENSE_INVALID = -10016;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_1D_LICENSE_INVALID = -10017;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_DIB_BUFFER_INVALID = -10018;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_PDF417_LICENSE_INVALID = 10019;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_DATAMATRIX_LICENSE_INVALID = -10020;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_PDF_READ_FAILED = -10021;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_PDF_DLL_MISSING = -10022;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_PAGE_NUMBER_INVALID = -10023;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_CUSTOM_SIZE_INVALID = -10024;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_CUSTOM_MODULESIZE_INVALID = -10025;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_RECOGNITION_TIMEOUT = -10026;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_JSON_PARSE_FAILED = -10030;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_JSON_TYPE_INVALID = -10031;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_JSON_KEY_INVALID = -10032;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_JSON_VALUE_INVALID = -10033;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_JSON_NAME_KEY_MISSING = -10034;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_JSON_NAME_VALUE_DUPLICATED = -10035;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_TEMPLATE_NAME_INVALID = -10036;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_JSON_NAME_REFERENCE_INVALID = -10037;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_PARAMETER_VALUE_INVALID = 10038;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_DOMAIN_NOT_MATCHED = -10039;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_RESERVEDINFO_NOT_MATCHED = -10040;
dynamsoft.BarcodeReader.EnumErrorCode.DBR_DBRERR_AZTEC_LICENSE_INVALID = -10041;

results matching ""

    No results matching ""