Barcode Document

barcode

Barcode模块管理二维码,提供二维码扫描识别功能,可调用设备的摄像头对二维码图片扫描进行数据输入。通过plus.barcode可获取二维码管理对象。

常量:

方法:

对象:

回调方法:

权限:

permissions

"Barcode": {
	"description": "访问二维码扫描插件"
}
			

QR

二维码类型常量,QR码,数值为0

plus.barcode.QR;
						

说明:

Number 类型

1994年由日本Denso-Wave公司发明,QR来自英文Quick Response的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。

EAN13

二维码类型常量,EAN码标准版,数值为1

plus.barcode.EAN13;
						

说明:

Number 类型

由国际物品编码协会在全球推广应用的商品条码,是由13位数字组成。

EAN8

二维码类型常量,ENA码简版,数值为2

plus.barcode.EAN8;
						

说明:

Number 类型

由国际物品编码协会在全球推广应用的商品条码,是由8位数字组成。

AZTEC

二维码类型常量,Aztec码,数值为3

plus.barcode.AZTEC;
						

说明:

Number 类型

由Andrew Longacre发明于1995年,该代码是用于国际出版。最小的Aztec码符号编码13个数字或12个英文字母。最大的Aztec码符号编码3832数字或3067英文字母或1914字节的数据。

DATAMATRIX

二维码类型常量,Data Matrix码,数值为4

plus.barcode.DATAMATRIX;
						

说明:

Number 类型

Data Matrix原名Data code,由美国国际资料公司(International Data Matrix, 简称IDMatrix)于1989年发明。可编码字元集包括全部的ASCII字元及扩充ASCII字元,容量可包含2235个英文数字资料、1556个8位元资料,3116个数字资料。由于Data Matrix二维条码只需要读取资料的20%即可精确辨读,因此很适合应用在条码容易受损的场所。

UPCA

二维码类型常量,UPC码标准版,数值为5

plus.barcode.UPCA;
						

说明:

Number 类型

UPC码是美国统一代码委员会制定的一种商品用条码,主要用于美国和加拿大地区,常在美国进口的商品上可以看到。UPC码标准版由12位数字构成,故其字码集为数字0~9。

UPCE

二维码类型常量,UPC码缩短版,数值为6

plus.barcode.UPCE;
						

说明:

Number 类型

UPC码是美国统一代码委员会制定的一种商品用条码,主要用于美国和加拿大地区,常在美国进口的商品上可以看到。UPC码缩短版由8位数字构成,故其字码集为数字0~9。

CODABAR

二维码类型常量,Codabar码,数值为7

plus.barcode.CODABAR;
						

说明:

Number 类型

Codabar码最初是为零售价格标签系统而研制开发的。1975年,National Retail Merchants Association(NRMA)选择了其它符号类型作为标准后,Codabar开始在多个方面用于非零售应用领域,如图书馆、货运和医药业。

平台支持

CODE39

二维码类型常量,Code39码,数值为8

plus.barcode.CODE39;
						

说明:

Number 类型

Code 39码是Intermec公司于1975年推出的一维条码, 39码是一种可供使用者双向扫瞄的分散式条码,也就是说相临两资料码之间,39码必须包含一个不具任何意义的空白(或细白,其逻辑值为0),且 39码具有支援文数字的能力,编码规则简单、误码率低、所能表示字符个数多等特点,39码在各个领域有着极为广泛的应用。

平台支持

CODE93

二维码类型常量,Code93码,数值为9

plus.barcode.CODE93;
						

说明:

Number 类型

Code 93码的条码符号是由Intermec公司于1982年设计的 提供更高的密度和数据安全增强code39 。它是一个字母,长度可变符号。代码93主要用于由加拿大邮政编码补充提供的资料。

平台支持

CODE128

二维码类型常量,Code128码,数值为10

plus.barcode.CODE128;
						

说明:

Number 类型

CODE128码是1981年引入的一种高密度条码,CODE128 码可表示从 ASCII 0 到ASCII 127 共128个字符,故称128码。CODE128码是广泛应用在企业内部管理、生产流程、物流控制系统方面的条码码制,由于其优良的特性在管理信息系统的设计中被广泛使用。

平台支持

ITF

二维码类型常量,ITF码,数值为11

plus.barcode.ITF;
						

说明:

Number 类型

ITF条码,又称交叉二五条码,由14位数字字符代表组成。主要用于运输包装,是印刷条件较差,不允许印刷EAN-13和UPC-A条码时应选用的一种条码。

平台支持

MAXICODE

二维码类型常量,MaxiCode码,数值为12

plus.barcode.MAXICODE;
						

说明:

Number 类型

1996年时,美国自动辨识协会(AIMUSA)制定统一的符号规格,称为Maxicode二维条码,也有人称USS-Maxicode二维条码(Uniform Symbology Specification-Maxicode)。

平台支持

PDF417

二维码类型常量,PDF 417码,数值为13

plus.barcode.PDF417;
						

说明:

Number 类型

PDF417条码是由美国SYMBOL公司发明的,PDF(Portable Data File)意思是“便携数据文件”。组成条码的每一个条码字符由4个条和4个空共17个模块构成,故称为PDF417条码。PDF417条码最大的优势在于其庞大的数据容量和极强的纠错能力。

平台支持

RSS14

二维码类型常量,RSS 14码,数值为14

plus.barcode.RSS14;
						

说明:

Number 类型

RSS条码是有国际物品编码协会EAN和美国统一代码委员会UCC开发的RSS(Reduced Space Symbology)条码符号。它是一种一维码和二维码的组合码。和其它线性条码相比,RSS系列码制具有更高的密度,因为它可以表示更多的字符。

平台支持

RSSEXPANDED

二维码类型常量,扩展式RSS码,数值为15

plus.barcode.RSSEXPANDED;
						

说明:

Number 类型

RSS条码是有国际物品编码协会EAN和美国统一代码委员会UCC开发的RSS(Reduced Space Symbology)条码符号。它是一种一维码和二维码的组合码。和其它线性条码相比,RSS系列码制具有更高的密度,因为它可以表示更多的字符。扩展式RSS码是长度可以变化的线性码制,能够对74个数字字符或41个字母字符的AI单元数据传数据进行编码。

平台支持

scan

通过图片扫描二维码数据

void plus.barcode.scan( path, successCB, errorCB, filters );
				

说明:

从图片中扫描二维码数据,扫描到二维码数据后通过successCallback回调返回数据,扫描失败则通过errorCallback回调返回。

参数:

返回值:

void : 无

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Barcode Example</title>
	<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
  var e = document.getElementById("scan");
  e.removeAttribute( "disabled" );
}
// 从图片中扫描 
function scanImg() {
	plus.barcode.scan( '_www/barcode.png', function (type,result) {
			alert( "Scan success:("+type+")"+result );
		}, function (error) {
			alert( error.message );
		} );
}
	</script>
	<style type="text/css">
*{
	-webkit-user-select: none;
}
html,body{
	margin: 0px;
	padding: 0px;
	height: 100%;
}
	</style>
	</head>
	<body >
		<input id="scan" type='button' disabled="disabled" onclick='scanImg()' value='扫描图片'></input>
	</body>
</html>
				

Barcode

二维码识别控件对象

interface plus.barcode.Barcode {
	// Methods
	function void start( options );
	function void cancel();
	function void setFlash( open );

	// Events
	function void onmarked();
	function void onerror();
}
				

说明:

Barcode对象表示二维码识别控件对象,用于在窗口中显示二维码识别控件,使用此对象可自定义二维码识别界面。

构造:

方法:

事件:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Barcode Example</title>
	<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
	var e = document.getElementById("scan");
	e.removeAttribute( "disabled" );
}
var scan = null;
function onmarked( type, result ) {
	var text = '未知: ';
	switch(type){
		case plus.barcode.QR:
		text = 'QR: ';
		break;
		case plus.barcode.EAN13:
		text = 'EAN13: ';
		break;
		case plus.barcode.EAN8:
		text = 'EAN8: ';
		break;
	}
	alert( text+result );
}
function startRecognize() {
	scan = new plus.barcode.Barcode('bcid');
	scan.onmarked = onmarked; 
}
function startScan() {
	scan.start();
}
function cancelScan() {
	scan.cancel();
}
function setFlash() {
	scan.setFlash();
}
	</script>
	<style type="text/css">
*{
	-webkit-user-select: none;
}
html,body{
	margin: 0px;
	padding: 0px;
	height: 100%;
}
#bcid {
	background:#0F0;
	height:480px;
	width:360px;
}
	</style>
	</head>
	<body >
		<input type='button' onclick='startRecognize()' value='创建扫描控件' />
		<input type='button' onclick='startScan()' value='开始扫描' />
		<input type='button' onclick='cancelScan()' value='取消扫描' />
		<input type='button' onclick='setFlash()' value='开启闪光灯' />
		<div id= "bcid"></div>
		<input type='text' id='text'/>
	</body>
</html>
				

Barcode.constructor(id,filters)

创建Barcode对象

var bc = new plus.barcode.Barcode( id, filters );
						

说明:

创建Barcode对象,并指定Barcode对象的在界面中关联div或object标签的id号。

参数:

返回值:

Barcode :

示例:

// 创建支持默认二维码类型的识别控件
var bc = new plus.barcode.Barcode( "barcode" );
// 创建支持
var filter = [plus.barcode.QR,plus.barcode.AZTEC];
var bc2 = new plus.barcode.Barcode( "barcode", filter );
						

start

开始二维码识别

void bc.start( options );
						

说明:

开始对摄像头获取图片数据进行二维码识别,当识别出二维码数据时通过onmarked回调函数返回。

参数:

返回值:

void : 无

cancel

结束二维码识别

void bc.cancel();
						

说明:

结束对摄像头获取图片数据进行二维码识别操作。

参数:

返回值:

void : 无

setFlash

是否开启闪光灯

void obj.setFlash( open );
						

说明:

设置二维码扫描控件显示时是否开启摄像头的闪光灯,默认是不开启的。

参数:

返回值:

void : 无

onmarked

二维码识别成功事件

void obj.onmarked = function ( type, code, file ) {
	// loaded code 
}
						

说明:

BarcodeSuccessCallback 类型

当扫描控件识别到有效的二维码数据时触发,并返回扫描结果。

onerror

二维码识别错误事件

void obj.onerror = function ( error ) {
	// loaded code 
}
						

说明:

BarcodeErrorCallback 类型

当扫描控件识别发生错误时时触发,并返回错误信息。

BarcodeOption

JSON对象,二维码识别控件扫描参数

interface plus.barcode.BarcodeOption {
	attribute Boolean conserve;
	attribute DOMString filename;
}
				

说明:

用于设置二维码识别控件扫描二维码的参数,如是否保存扫描成功时的图片等。

属性:

BarcodeSuccessCallback

二维码识别成功的回调函数

void BarcodeSuccessCallback ( type, code, file ) {
	// Barcode success code
}
				

说明:

当获取二维码识别成功时的回调函数,用于返回识别成功的数据。

参数:

返回值:

void : 无

BarcodeErrorCallback

二维码识别错误的回调函数

void BarcodeErrorCallback( error ) {
	// Handle error
}
				

参数:

返回值:

void : 无