PDF417条码(Portable Data File 便携式数据文件)是一种线性堆叠式的二维码,因为这个特性,在识读上,可以采用线性扫描的产品比如 激光扫描枪,CCD之类的条码阅读器读取,但实际操作效果不如影像式产品来的速度更快。
PDF417条码作为一个二维码和Maxicode(为UPS定制)、Datamatrix同被美国国家标准协会 (American National Standards Institute, ANSI) MH10 SBC-8委员会选为二维条码国际标准制定范围,其中PDF417主要是预备应用於运输包裹与商品资料标签(Burnell, 1995)。PDF417不仅具有错误侦测能力,且可从受损的条码中读回完整的资料(Moore, 1994),亦即「错误复原能力」,其错误复原率最高可达50%,如图所列各种情形,皆可将资料复原。
图: PDF417的错误复原能力 (图片来自网络,用于参考)
PDF417二维条码的结构
PDF417是一个公开码,任何人皆可用其演算法而不必付费,因此是一个开放的条码系统。PDF417的PDF为可携性资料档(Portable Data File)的缩写,取其条码类似一个资料档,可储存较多资料,每一个PDF码的储存量可高达1,108个文数字(Bytes),若将数字压缩则可存放至2,729Bytes。
每一个PDF417码是由3~90横列堆叠而成,而为了扫瞄方便,其四周皆有静空区,静空区分为水平静空区与垂直静空区,至少应为0.020英寸,即20mil,如图所示。
图 :PDF417码的结构 (图片来自网络,用于参考)
其中每一层都包括下列五个部份:
起始码。
左标区:在起始码後面,为一指示符号字元。
资料区:可容纳1~30个资料字元。
右标区: 在资料区的後面,为一指示符号字元。
结束码:在横列之最右边。
除了起始码和结束码外,左标区、资料区和右标区的组成字元皆可称为字码 (Codeword),每一个字码由17个模组(Modules)所构成,每一个字码又可分成4线条(或黑线)及4空白(或白线),每个线条至多不能超过6个模组宽。每个417码因资料大小不同,其行数及每行的资料模组数与字码数都可以从1至30不等。字码的组成如图所示。
图:PDF417字码的组成 (图片来自网络,用于参考)
PDF417的尺寸
也因为符号的组合较有弹性,每一个PDF417二维条码可因应不同的实体设备印成不同的长宽比例与密度,以适应印刷条件及扫瞄条件的要求。其中每个模组宽X是PDF417码中最重要的尺寸之一,X值的最小限制为0.0075英寸(约0.191mm),在同一个条码符号中,X的值是固定不变的。
PDF417的最小高度与长度可由下列算式算出:
W= (17C+69)X+ 2Q
H = R ×Y+ 2Q
其中:
C=每层符号字元的总数(含左右标区),R=层高,Q=静空区大小
PDF417的错误纠正能力
PDF417的一个重要特性是其自动纠正错误的能力较高,不过PDF417的错误纠正能力与每个条码可存放的资料量呈现反比关系,PDF417码将错误复原分为9个等级,其值从0到8,级数愈高,错误纠正能力愈强,但可存放资料量就愈少,一般建议编入至少10%的检查字码。
表1:可存放资料量与错误纠正等级对照表
错误纠正等级 | 纠正码数 | 可存资料量(位元) |
自动设定 | 64 | 1024 |
0 | 2 | 1108 |
1 | 4 | 1106 |
2 | 8 | 1101 |
3 | 16 | 1092 |
4 | 32 | 1072 |
5 | 64 | 1024 |
6 | 128 | 957 |
7 | 256 | 804 |
8 | 512 | 496 |
表2:PDF417的建议错误纠正等级
资料字码数 | 错误纠正等级 |
1~40 | 2 |
40~160 | 3 |
161~320 | 4 |
321~863 | 5 |
如前所述,错误纠正等级涉及拒读错误(E错误)与替代错误(T错误)两种错误类型。无论使用哪一种条码机都有一定的精密度极限,造成线条和空白的宽度与理想宽度间必有偏差存在,条码扫瞄设备能够读出解码演算法所允许范围内的不精确条码符号,目前标准中规定X的值最小为0.0075英寸(约0.191mm),此一限制同时反映出目前标准设备的技术现状。
表3: PDF417的特性
项目 | 特性 |
可编码字元集 | 8位二进制资料,多达811800种不同的字元集或解释 |
类型 | 连续型,多层 |
字元自我检查 | 有 |
尺寸 | 可变 高:3~90层 宽:1~30栏 |
读码方式 | 双向可读 |
错误纠正字码数 | 2~512个 |
最大资料容量 | 安全等级为0, 每个符号可表示1108个位元 |