Files
pad_scanner/docs/Android扫描接口文档.md
Misaka 8fa02424a5 Add D500 scanner SDK documentation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-06 21:47:04 +08:00

754 lines
22 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Android 扫描接口说明
> 江苏东大集成电路系统工程技术有限公司
> www.seuic.com
![SEUIC 东集 Logo 图片占位符]
![世界地图装饰图片占位符]
## 修订记录
| 版本号 | 修订日期 | 修订内容 | 修订人员 |
| --- | --- | --- | --- |
| 1.0 | 2017/03/16 | 建立本文档 | 罗涛 |
| 1.1 | 2017/5/31 | 加入回调函数注意事项说明 | 罗涛 |
| 1.2 | 2017/11/13 | 修正关于图像读取接口的描述 | 罗涛 |
| 1.3 | 2017/11/20 | 添加新增参数介绍 | 罗涛 |
## 目录
- 概述
- 硬件平台
- 软件平台
- 适用对象
- 准备工作
- Jar 包引用方法
- 所需的相关权限
- 扫描相关类介绍
- 扫描工厂类
- 扫描类
- 扫描数据回调接口类
- 读取图像回调接口类
- 扫描状态回调接口类
- 扫描数据类
- 扫描按键监听类
- 扫描接口介绍
- 获取扫描头上下文
- 打开扫描头
- 关闭扫描头
- 开始扫描
- 停止扫描
- 设置扫描条码回调
- 启用扫描头
- 禁用扫描头
- 获取条码参数
- 设置条码参数
- 获取扫描成功后图像
- 开始读取图像
- 停止读取图像
- 设置读取图像回调
- 设置扫描头状态回调
- 扫描参数介绍
- 条码设置参数
- 扫描状态参数
---
# 概述
我司提供的所有设备上已经内置了扫描服务及应用,方便客户定制扫描服务,但是由于有部分客户需要自己开发基于我司扫描 SDK 的应用,故本文档致力于介绍有关扫描 SDK 的相关内容,以便帮助用户更为灵活地使用我们的设备。
## 硬件平台
SDK 适用于我司所有终端设备,具体使用范围在函数接口说明中指明,若无指明表示都支持。
## 软件平台
SDK 基于 Android 4.3、Android 4.4、Android 5.1 版本,支持 Eclipse、Android Studio 开发工具。
## 适用对象
希望在自己的应用中定制扫描的开发人员。
---
# 准备工作
## Jar 包引用方法
**1、首先以 Eclipse 为例**,右击项目 → Properties → Java Build Path → Libraries → Add External JARs选择 `ScannerAPI.jar` 文件。
![Eclipse 添加外部 JAR 包截图占位符]
**2、以 Android Studio Version2.2.2 版本为例**,在 project 中,在 app 目录下新建一个 `libsref` 目录,将 `ScannerAPI` 放入该目录下,并右击工程选择 Open Module Settings 选中相应的 Module切换至最右方的 Dependencies点击右方加号选择 File dependency 添加 `ScannerAPI.jar`,并且修改 scope 为 `provided`,声明该 `ScannerAPI.jar` 只在编译时需要依赖,在运行时不需要。
① 将 `ScannerAPI.jar` 放入 `app/libsref/`
![Android Studio 项目结构 libsref 目录截图占位符]
② 右击工程选择 Open Module Settings 选中相应的 Module切换至最后方的 Dependencies点击右方加号选择 File dependency 添加 `ScannerAPI.jar`
![Android Studio Open Module Settings 菜单截图占位符]
![Android Studio Dependencies 添加 jar 包截图占位符]
③ 更改 compile 为 provided声明该 `ScannerAPI.jar` 只在编译时需要依赖,在运行时不需要,最后保存设置即可。
![Android Studio scope 设置为 Provided 截图占位符]
④ 如果设置成功,会在相应的 `build.gradle` 中有如下 dependencies
```gradle
dependencies {
provided files('libsref/ScannerAPI.jar')
}
```
## 所需的相关权限
在进行基于我们的扫描 SDK 开发的时候,需在 `AndroidManifest.xml` 的 application 节点下添加以下代码:
```xml
<uses-library android:name="android.scanner.library"/>
```
D500/D510/D330S 设备中二维扫描需添加以下权限:
```xml
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
```
**注意点:**
1. 在一个应用中只需要打开一次扫描头即可,不需要打开多次,否则会耗时太大,产生卡屏现象。
2. 退出程序的时候可以选择关闭扫描头,其余场合不可关闭。
3. 可以参照测试 demo 中的方式,在 `ScannerService` 中定义 action在使用扫描的 UI 中直接使用动态注册广播接收器接收到扫描解析的结果。
---
# 扫描相关类介绍
## 扫描工厂类
| 项目 | 内容 |
| --- | --- |
| 包名 | `com.seuic.scanner` |
| 类名 | `ScannerFactory` |
| 说明 | 扫描工厂类,主要用于获取扫描头资源 |
## 扫描类
| 项目 | 内容 |
| --- | --- |
| 包名 | `com.seuic.scanner` |
| 类名 | `Scanner` |
| 说明 | 扫描主要实现类,定义了一系列扫描操作方法 |
## 扫描数据回调接口类
| 项目 | 内容 |
| --- | --- |
| 包名 | `com.seuic.scanner` |
| 类名 | `DecodeInfoCallBack` |
| 回调函数 | `onDecodeComplete(DecodeInfo barcodeInfo)` |
| 回调函数参数 | param1: 条码信息,`DecodeInfo` |
| 回调函数返回值 | void |
| 说明 | 扫描回调函数,用户需引用该接口,并调用 `Scanner` 类中 `setDecodeInfoCallBack` 后可获得条码信息。 |
> **注意:** 该回调方法中请勿进行 UI 操作!
## 读取图像回调接口类
| 项目 | 内容 |
| --- | --- |
| 包名 | `com.seuic.scanner` |
| 类名 | `VideoCallBack` |
| 回调函数 | `onVideoCallBack(int width, int height, byte[] img)` |
| 回调函数参数 | param1: 返回图像宽度<br>param2: 返回图像高度<br>param3: 返回的图像数据Bitmap 格式) |
| 回调函数返回值 | `true`:操作成功,停止出光并终止对图像的读取<br>`false`:操作失败,继续读取图像 |
| 说明 | 扫描回调函数,用户需引用该接口,并调用 `Scanner` 类中的 `setVideoCallBack` 后可获得图像数据,同时每取得一帧图像都会调用该函数,第三方的相关操作在此处处理。 |
> **注意:** 该回调方法中请勿进行 UI 操作!
## 扫描状态回调接口类
| 项目 | 内容 |
| --- | --- |
| 包名 | `com.seuic.scanner` |
| 类名 | `StatusCallBack` |
| 回调函数 | `onStatusCallBack(int status, int info)` |
| 回调函数参数 | param1: 状态信息<br> 0扫描成功<br> 1扫描超时<br> 2扫描被取消<br> 3扫描出现错误暂未使用<br> 4其他事件暂未使用<br>param2: 其他额外信息(暂未使用)<br>扫描状态参数参见:扫描状态参数 |
| 回调函数返回值 | void |
| 说明 | 状态回调函数,用户可引用该接口,并且调用 `Scanner` 类中的 `setStatusCallBack` 后可以当扫描头状态更新时获得当前扫描状态。 |
> **注意:** 该回调方法中请勿进行 UI 操作!
## 扫描数据类
| 项目 | 内容 |
| --- | --- |
| 包名 | `com.seuic.scanner` |
| 类名 | `DecodeInfo` |
| 类成员 | `String barcode`:条码数据<br>`String codetype`:条码类型<br>`int length`:条码长度 |
## 扫描按键监听类
| 项目 | 内容 |
| --- | --- |
| 包名 | `com.seuic.scanner` |
| 类名 | `ScannerKey` |
| 类成员变量 | `KEY_DOWN`:扫描按键按下<br>`KEY_UP`:扫描按键抬起 |
| 类方法 | `int open()`:打开扫描键监听,返回 1打开成功-1打开失败<br>`int getKeyEvent()`获取按键事件返回1扫描键按下0扫描键抬起-1获取失败。注意该方法将阻塞进程推荐异步调用。<br>`void close()`:关闭扫描键监听 |
| 说明 | 扫描按键监听类 |
**示例代码:**
```java
import com.seuic.scanner.Scanner;
import com.seuic.scanner.ScannerKey;
import com.seuic.scanner.ScannerFactory;
public class ScannerApiTest {
// ……
Runnable runnable = new Runnable() {
@Override
public void run() {
int ret1 = ScannerKey.open();
if (ret1 > -1) {
while (true) {
int ret = ScannerKey.getKeyEvent();
if (ret > -1) {
switch (ret) {
case ScannerKey.KEY_DOWN:
scanner.startScan();
break;
case ScannerKey.KEY_UP:
scanner.stopScan();
break;
}
}
}
}
}
};
// ……
ScannerKey.close();
}
```
---
# 扫描接口介绍
> 接口具体使用范围若无指明表示所有扫描头都支持。
## 获取扫描头上下文
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `ScannerFactory` |
| 接口 | `getScanner` |
| 接口参数 | `Context context` |
| 返回值 | `Scanner` 实例 |
| 说明 | 获取扫描类实例 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
public class ScannerApiTest {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
// ……
}
```
## 打开扫描头
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `open` |
| 接口参数 | void |
| 接口返回值 | boolean |
| 说明 | 返回 `true`,打开扫描头成功;返回 `false`,打开扫描头失败。**注意**:仅在该方法返回为 `true` 时,才可进行扫描头其他操作。 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
public class ScannerApiTest {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
Boolean status = scanner.open();
// ……
}
```
## 关闭扫描头
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `close` |
| 接口参数 | void |
| 接口返回值 | void |
| 说明 | 释放扫描头资源 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
public class ScannerApiTest {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
Boolean status = scanner.close();
// ……
}
```
## 开始扫描
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `startScan` |
| 接口参数 | void |
| 接口返回值 | void |
| 说明 | 开始扫描:扫描头出光进入条码读取模式 |
## 停止扫描
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `stopScan` |
| 接口参数 | void |
| 接口返回值 | void |
| 说明 | 停止扫描,可使扫描头灭光并终止条码读取 |
## 设置扫描条码回调
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类名 | `Scanner``DecodeInfoCallBack``DecodeInfo` |
| 接口名称 | `setDecodeInfoCallBack` |
| 接口参数 | param1`DecodeInfoCallBack` |
| 接口返回值 | void |
| 说明 | 设置用户扫描结束后的回调函数,该函数是获取包括条码数据、长度、类型的信息。在设置之前确保实现了 `DecodeInfoCallBack` 中的 `onDecodeComplete` 方法。 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
import com.seuic.scanner.DecodeInfoCallBack;
import com.seuic.scanner.DecodeInfo;
public class ScannerApiTest implements DecodeInfoCallBack {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
scanner.setDecodeInfoCallBack(this);
scanner.startScan();
// …….
scanner.stopScan();
@Override
public void onDecodeComplete(DecodeInfo info) {
// ……
}
// ……
}
```
## 启用扫描头
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `enable` |
| 接口参数 | void |
| 接口返回值 | void |
| 说明 | 启用扫描头 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
public class ScannerApiTest {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
scanner.enable();
// ……
}
```
## 禁用扫描头
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `disable` |
| 接口参数 | void |
| 接口返回值 | void |
| 说明 | 禁用扫描头,该操作完成后,将无法进行扫描操作 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
public class ScannerApiTest {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
scanner.disable();
// ……
}
```
## 获取条码参数
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `getParams` |
| 接口参数 | param1参数代码。例如获取 Scan Angle 的值,条码参数便是 `0x02`,具体参数代码参见:条码设置参数 |
| 接口返回值 | int 类型,条码参数当前值 |
| 说明 | 根据参数代码获取该参数当前的设定值 |
## 设置条码参数
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `setParams` |
| 接口参数 | param1参数代码。例如设置 Scan Angle 的值,条码参数便是 `0x02`<br>param2需要设置的参数值<br>参数代码参见:条码设置参数 |
| 接口返回值 | boolean`true` 设置成功,`false` 设置失败 |
| 说明 | 根据参数代码设置扫描参数值 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
public class ScannerApiTest {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
int value = scanner.getParams(0x02);
// ……
scanner.setParams(0x02, 1);
}
```
## 获取扫描成功后图像
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `getLastImage` |
| 接口参数 | void |
| 接口返回值 | `byte[]`图像数据width: 832 height: 640图像格式为 bitmap |
| 说明 | 当完成一次成功的扫描后,调用该接口,获取该次用于解码的扫描图像 |
> **注意:** 该接口仅适用于 A9/A-PAD/A6L-P/CRUISE 中的 S8
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
public class ScannerApiTest {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
scanner.startScan();
// ……
byte[] image = scanner.getLastImage();
}
```
## 开始读取图像
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `startVideo` |
| 接口参数 | param1int 类型设置超时时间单位为ms |
| 接口返回值 | `0`:回调函数 `onVideoCallback` 返回成功自动退出无需调用 `stopVideo`<br>`9`:参数无效退出<br>`17`:调用 `stopVideo` 手动退出<br>`6`:取图像失败退出<br>`25`:超时退出<br>`2`:未知错误退出 |
| 说明 | 开始读取图像:扫描头开始出光并进入图像读取模式,为阻塞函数,且与 `startScan` 不可同时使用。 |
> **注意:** 该接口仅适用于 A9/A-PAD/A6L-P/CRUISE 中的 S8
## 停止读取图像
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类 | `Scanner` |
| 接口名称 | `stopVideo` |
| 接口参数 | void |
| 接口返回值 | void |
| 说明 | 扫描头停止出光并终止对图像地读取。 |
> **注意:** 该接口仅适用于 A9/A-PAD/A6L-P/CRUISE 中的 S8
## 设置读取图像回调
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类名 | `Scanner``VideoCallBack` |
| 接口名称 | `setVideoCallBack` |
| 接口参数 | param1`VideoCallBack` |
| 接口返回值 | void |
| 说明 | 设置用户扫描进入读取图像模式后的回调函数,该接口仅适用于 A9/A-PAD/A6L-P/CRUISE 中的 S8 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
import com.seuic.scanner.VideoCallBack;
public class ScannerApiTest implements VideoCallBack {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
scanner.setVideoCallBack(this);
scanner.startVideo(3000);
// ……
scanner.stopVideo();
@Override
public boolean onVideoCallBack(int width, int height, byte[] img) {
// ……
}
// ……
}
```
## 设置扫描头状态回调
| 项目 | 内容 |
| --- | --- |
| 引用包名 | `com.seuic.scanner` |
| 引用类名 | `Scanner``StatusCallBack` |
| 接口名称 | `setStatusCallBack` |
| 接口参数 | param1`StatusCallBack` 接口类 |
| 接口返回值 | void |
| 说明 | 设置用户获取当前扫描状态的回调函数,在设置之前务必实现 `StatusCallBack` 中的 `onStatusCallBack` 方法,设置之后有关扫描的状态会自动回调 `onStatusCallBack` 将当前状态反馈给用户 |
**示例代码:**
```java
import com.seuic.scanner.ScannerFactory;
import com.seuic.scanner.Scanner;
public class ScannerApiTest implements StatusCallBack {
// ……
Scanner scanner = ScannerFactory.getScanner(context);
scanner.setStatusCallBack(this);
@Override
public boolean onStatusCallBack(int status, int info) {
// ……
}
// ……
}
```
---
# 扫描参数介绍
## 条码设置参数
| Parameter | Parameter Number (Hex) |
| --- | --- |
| Laser On Time | 0x01 |
| Scan Angle | 0x02 |
| Time Out Between Same Symbol | 0x03 |
| Linear Code Type Security Levels | 0x04 |
| Bi-directional Redundancy | 0x06 |
| Aimer/Illumination lighting combinations | 0x07 |
| Mobile Phone/Display Mode | 0x08 |
| Illumination Power Level | 0x09 |
| Decode Time Out | 0x0a |
| Adaptive Scanning | 0x0b |
| Continue Scan Mode | 0x0c |
| Exposure Mode | 0x0d |
| Picklist Mode | 0x0e |
| Aim Accuracy Level | 0x0f |
| GS1 AI Separator | 0x10 |
| Transfer Aim ID | 0x11 |
| Inverse Mode | 0x12 |
| Low Power Delay Time | 0x13 |
| Hold Scanning Time Out | 0x14 |
| UPC-A | 0x101 |
| UPC-E | 0x102 |
| UPC-E1 | 0x103 |
| EAN-8 | 0x104 |
| EAN-13 | 0x105 |
| Bookland EAN | 0x106 |
| Transmit UPC-A Check Digit | 0x107 |
| Transmit UPC-E Check Digit | 0x108 |
| Transmit UPC-E1 Check Digit | 0x109 |
| Transmit EAN-13 Check Digit | 0x10a |
| Transmit EAN-8 Check Digit | 0x10b |
| UPC-A Preamble | 0x10c |
| UPC-E Preamble | 0x10d |
| UPC-E1 Preamble | 0x10e |
| Convert UPC-E to A | 0x10f |
| Convert UPC-E1 to A | 0x110 |
| Convert EAN-8 to 13 | 0x111 |
| UCC Coupon Extended Code | 0x112 |
| UPC-E Expand | 0x113 |
| UPC-A 2 Char Addenda | 0x114 |
| UPC-A 5 Char Addenda | 0x115 |
| UPC-E 2 Char Addenda | 0x116 |
| UPC-E 5 Char Addenda | 0x117 |
| EAN13 2 Char Addenda | 0x118 |
| EAN13 5 Char Addenda | 0x119 |
| EAN8 2 Char Addenda | 0x11a |
| EAN8 5 Char Addenda | 0x11b |
| Code 128 | 0x121 |
| Code 128 Minimum Length | 0x122 |
| Code 128 Maximum Length | 0x123 |
| ISBT 128 | 0x124 |
| GS1-128 | 0x125 |
| ISBT 128 Predefined Concatenation Sequences On/Off | 0x126 |
| Code 39 | 0x131 |
| Trioptic Code 39 | 0x132 |
| Code 39 Full ASCII | 0x133 |
| Convert Code 39 to Code 32 | 0x134 |
| Code 32 Prefix | 0x135 |
| Code 39 Minimum Length | 0x136 |
| Code 39 Maximum Length | 0x137 |
| Transmit Code 39 Check Digit | 0x138 |
| Code 39 Check Digit Verification | 0x139 |
| Transmit Code 39 Start/Stop Characters | 0x13a |
| Code 39 Quiet Zone | 0x13b |
| Code 93 | 0x141 |
| Code 93 Minimum Length | 0x142 |
| Code 93 Maximum Length | 0x143 |
| Code 11 | 0x151 |
| Code 11 Minimum Length | 0x152 |
| Code 11 Maximum Length | 0x153 |
| Code 11 Check Digit Verification | 0x154 |
| Transmit Code 11 Check Digit | 0x155 |
| Interleaved 2 of 5 | 0x161 |
| Interleaved 2 of 5 Minimum Length | 0x162 |
| Interleaved 2 of 5 Maximum Length | 0x163 |
| Discrete 2 of 5 | 0x171 |
| Discrete 2 of 5 Minimum Length | 0x172 |
| Discrete 2 of 5 Maximum Length | 0x173 |
| Chinese 2 of 5 | 0x181 |
| Chinese 2 of 5 Minimum Length | 0x182 |
| Chinese 2 of 5 Maximum Length | 0x183 |
| Codabar | 0x191 |
| Codabar Minimum Length | 0x192 |
| Codabar Maximum Length | 0x193 |
| Transmit Codabar Start/Stop Characters | 0x194 |
| MSI | 0x201 |
| MSI Minimum Length | 0x202 |
| MSI Maximum Length | 0x203 |
| RSS 14 | 0x211 |
| RSS limit | 0x212 |
| RSS expanded | 0x213 |
| Convert RSS to UPC/EAN | 0x214 |
| QR Code | 0x221 |
| QR Code Minimum Length | 0x222 |
| QR Code Maximum Length | 0x223 |
| QR Inverse | 0x224 |
| MicroQR | 0x225 |
| Data Matrix | 0x231 |
| Data Matrix Minimum Length | 0x232 |
| Data Matrix Maximum Length | 0x233 |
| Data Matrix Inverse | 0x234 |
| Data Matrix Decode Mirror Images | 0x235 |
| China Post | 0x241 |
| China Post Minimum Length | 0x242 |
| China Post Maximum Length | 0x243 |
| Matrix 2 of 5 | 0x251 |
| Matrix 2 of 5 Minimum Length | 0x252 |
| Matrix 2 of 5 Maximum Length | 0x253 |
| US Postnet | 0x261 |
| US Planet | 0x262 |
| British Post | 0x263 |
| Japanese Post | 0x264 |
| Australian Post | 0x265 |
| UPU FICS Postal | 0x266 |
| USPS 4CB/One Code/Intelligent Mail | 0x267 |
| KIX(Netherlands) Post | 0x268 |
| Transmit US Postal Check Digit | 0x269 |
| Transmit Planet Check Digit | 0x26a |
| Korean 2 of 5 | 0x271 |
| EAN UCC Composite | 0x2b1 |
| EAN UCC Composite Minimum Length | 0x2b2 |
| EAN UCC Composite Maximum Length | 0x2b3 |
| PDF417 | 0x2c1 |
| PDF417 Minimum Length | 0x2c2 |
| PDF417 Maximum Length | 0x2c3 |
| Micro PDF417 | 0x2d1 |
| Micro PDF417 Minimum Length | 0x2d2 |
| Micro PDF417 Maximum Length | 0x2d3 |
| MaxiCode | 0x2e1 |
| MaxiCode Minimum Length | 0x2e2 |
| MaxiCode Maximum Length | 0x2e3 |
| Aztec Code | 0x2f1 |
| Aztec Code Minimum Length | 0x2f2 |
| Aztec Code Maximum Length | 0x2f3 |
| Aztec Inverse | 0x2f4 |
| Codablock | 0x301 |
| Codablock Minimum Length | 0x302 |
| Codablock Maximum Length | 0x303 |
| Telepen | 0x311 |
| Telepen Minimum Length | 0x312 |
| Telepen Maximum Length | 0x313 |
| Telepen Old Syle Mode | 0x314 |
| Set Default Parameter | 0x321 |
| Set Code Charset | 0x322 |
| OCR | 0x331 |
| Set OCR Template | 0x332 |
| Composite CC-C | 0x341 |
| Composite CC-A/B | 0x342 |
| Composite TLC-39 | 0x343 |
| UPC Composite | 0x344 |
| Transmit Code ID Character | 0x351 |
| Grid Matrix | 0x361 |
> 各扫描头参数详细信息见:扫描头条码参数汇总(仅供内部使用)
## 扫描状态参数
| Status | Status Number (Hex) |
| --- | --- |
| Decode Complete | 0x00 |
| Decode Time Out | 0x01 |
| Decode has been Canceled | 0x02 |
| Some Errors Happened | 0x03 |
| Decode Event | 0x04 |