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

其中:

W= 条码宽度,H=条码高度,X=条码模组宽,Y=层数

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个位元

学习一下 PDF417 条码相关推荐

  1. Aspose.BarCode已修复关于PDF417条码识别和生成的各种问题条码控件网

    Aspose.BarCode是由Aspose Pty Ltd所开发的一款功能强大,且稳健的条形码生成和条码识别组件,其使用托管的C#编写,能帮助开发者快速简便的向其Microsoft应用程序(WinF ...

  2. pdf417条码解码(上)——图像的预处理

    pdf417条码的符号结构 预处理步骤 OSTU二值化 假定该图像根据双模直方图包含两类像素:前景像素和背景像素.计算能将两类分开的最佳阈值,要使得它们的类内方差最小:由于两两平方距离恒定,即它们的类 ...

  3. 【办公软件应用】万彩办公大师教程丨PDF417条码生成工具

    关于万彩办公大师的PDF417条码生成工具 免费PDF417条码生成工具近在咫尺.3种条码类型,5种模式,8种安全级别可供自由组合,自定义PDF417条码,一键输出,即可获得格式为.bmp的条码图片. ...

  4. java生成pdf417_java生成PDF417条码

    最近要做一个功能 1.生成PDF417条形码. 2.识别PDF417条形码. 3.把条码插入到word文档的最有一页. 目前做好的只有第一点. 用到的一个jar包是 iText.jar PS:这个功能 ...

  5. PDF417条码简介

    PDF417是美国符号科技(Symbol Technologies, Inc.)发明的二维条码,发明人是台湾赴美学人王寅君博士,王博士於1984年毕业於国立交通大学资讯系,获得纽约州立大学石溪分校(U ...

  6. linux 条码识别,PDF417二维条码识别技术的研究及其在Linux平台下的实现

    摘要: 随着计算机技术的不断发展,条码技术也得到了进一步的研究以及应用,由原先的一维条码发展到了现在的二维条码,条码的各方面性能得到了大大的提高.而条码技术中,条码的识别技术一直是研究的重点,也是应用 ...

  7. C++Builder下利用TImage制作二维条码PDF417打印控件(一)

    PDF417二维条码的应用 现代社会,由于条码的使用,极大地提高了数据采集和信息处理的速度,提高了工作效率,为管理的科学化和现代化作出了很大贡献. 受信息容量的限制,一维条码必须依赖于后台的数据库才能 ...

  8. 什么是二维条码与及特点

    条码技术是在计算机技术与信息技术基础上发展起来的一门容编码.印刷.识别.数据采集和处理于一身的新兴技术.人们日常见到的印刷在商品包装上的条码,是普通的一维条码.作为一项自动识别技术,一维条码自本世纪7 ...

  9. 【条码检测算法】不起眼的条码识别也能玩出这么多花样

    不知道从什么时候开始, 我们的生活中充满了二维码, 看网页需要扫二维码,加好友需要扫二维码, 就连公司门口卖烤红薯的大爷都要大家扫二维码了. 你有没有想过,这个长得很奇怪的东西, 是怎么来的呢,又是什 ...

  10. 条码和自动识别的基础知识

    一.什么是自动识别与条码技术? 自动识别技术是一种自动收集数据的技术,几乎涵盖了所有领域,用来收集相关的人物.物品及信息的资料.条码本身并不是一种技术,而是一种信息载体,通常表现为由不同宽度的浅色和深 ...

最新文章

  1. 【Ant Design Pro 二】 创建页面,组件,并在页面调用
  2. httpHandlers使用和问题
  3. 分享一个简单程序(webApi+castle+Automapper+Ef+angular)
  4. 【C语言简单说】十三:逻辑运算符||
  5. VS2010 + QT 5 +open inventor 环境配置
  6. 系统架构设计师 - 信息安全技术
  7. bulk of the 用法_代词的用法详解:第三部分(不定代词)
  8. Vue.js 条件渲染 v-if、v-show、v-else
  9. Python 路径处理(os.path模块)
  10. 一周学会php 视频,一周学会PHP视频 普通下载
  11. java armeabi_armeabi和armeabi-v7a 解释
  12. 91位图和bigemap大地图的区别
  13. Paragon ntfs2022轻松让mac读写NTFS格式磁盘移动硬盘U盘
  14. MongoDB应用之自增id
  15. Deamon有名的守护进程
  16. aotorun专杀工具(U盘病毒专杀)
  17. Towards More Flexible and Accurate Object Tracking with Natural Language:Algorithms and Benchmark
  18. 介绍Hosts文件和DNS及DNS的解析过程
  19. sending data 慢SQL原因排查命令
  20. kurento项目介绍

热门文章

  1. STM32F411移植FreeRtos教程
  2. Spire.pdf-使用学习记录
  3. 超参数调整——网格搜索
  4. Matlab下载 安装 与 和谐教程
  5. python语言程序设计二级教程pdf_二级python语言程序设计教程
  6. Android ~ 国际化(多语言)
  7. 简明的wifi通信协议介绍
  8. 【树莓派】搭建局域网内网页实时视频监控
  9. 驾考你准备好了吗 之 交通标志、标线篇
  10. P6800 - 刷入CWM