当前位置:首页 > 测试测量 > 测试测量
[导读]摘要:二堆条码PDF417因具有信息容量大、纠错能力强、编码范围广、应用方便高效等诸多优点而被广泛应用。本文基于此在简要介绍二维条码PDF417的结构和编解码原理的基础上,利用VC++6.0作为开发工具,实现了对二维条

摘要:二堆条码PDF417因具有信息容量大、纠错能力强、编码范围广、应用方便高效等诸多优点而被广泛应用。本文基于此在简要介绍二维条码PDF417的结构和编解码原理的基础上,利用VC++6.0作为开发工具,实现了对二维条码PDF417编解码软件系统的设计和开发。实验表明,该系统切实可行,可准确的实现二维条码PDF417的编解码和打印工作,可作为二维条码PDF417应用系统的开发基础。
关键词:PDF417;二维条码;编解码;VC++

    二维条码PDF417是一种高密度、高信息含量的便携式数据文件,是实现证件及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读的理想手段。它可以将照片、指纹、掌纹、签字、声音、文字等凡可数字化的信息进行编码。它作为一种新的信息存储和传递技术,从诞生之初就受到了国际社会的广泛关注。经过几年的努力,现已被广泛地应用在国防、公共安全、交通运输、工业、商业、金融、海关及政府管理等领域。PDF417最大的优势在于其庞大的数据容量和极强的纠错能力,同时对印制要求不高,可用多种阅读设备阅读,另外,码制已公开且形成国际标准,我国也已制定了PDF417码的国标。此外,二维条码还具有成本低、信息可随载体移动、不依赖于数据库和计算机网络、保密防伪性强等优点,再结合我国人口多、底子薄、计算机网络投资资金难度较大、对证件的防伪措施要求较高等特点,可以预见,二维条码PDF417在我国极有推广价值。本文结合此情况对PDF417的编码和解码进行分析和研究,开发出一套二维条码PDF417编码和解码系统。

1 二维条码PDF417简介
1.1 二维条码PDF417结构
    PDF417条码符号是一个多行结构。符号的顶部和底部为空白区,上下空白区之间为多行结构。每行数据符合字符数相同,行与行左右对齐直接衔接,其最小行数为3,最大行数为90,符号结构图如图1所示。


    每行构成如下:(A)左空白区;(B)起始符;(C)左行指示符号字符;(D)1~30个数据符号字符;(E)右行指示符号字符;(F)终止符;(G)右空白区。其中每一符号字符由4个条和4个空构成,自左向右从条开始,每一个条或空包含1~6个模块,在一个符号字符中,4个条和4个空的总模块数为17,因此称之为417码。
1.2 二维条码PDF417编码原理
    PDF417有3种数据压缩模式:文本压缩模式(TC)、数字压缩模式(NC)和字节压缩模式(BC)。在一个条码符号编码中,可通过应用模式锁定/转移(Latch/Shift)码字进而运用多种模式表示数据。
    文本压缩模式(TC)主要包括4个子模式:大写字母型子模式(Alpha)、小写字母型子模式(Lower Case)、混合型子模式(Mixed)和标点型子模式(Punctuation)。子模式的设置是为了更有效地表示数据,每种子模式选择了文件中出现频率较高的一组字符组成的字符集。在子模式中,每一个字符对应一个值(0~29),这样可用一个单独的码字表示一个字符对,表示字符对的码字计算公式如下:码字=30xH+L,其中:
H、L分别表示字符对中的高位和低位字符值。
    数字压缩模式(NC)是指从基10至基900的数据压缩的一种方法。它能把约3个数字位用一个码字表示,一般当连续的数字位数大于13时用此种模式。在数字模式下,根据以下算法对数字位进行编码:1)将数字序列从左向右每44位分为一组,最后一组包含的数字位可少于44个。  2)对每一组数字:首先在数字序列前加一位有效数字1(即前导位),然后执行基10至基900的转换。例如:数字序列000213298174000的表示过程为:首先,对其进行分组。因其共有15位,故只有一组;其次,在其最左边加1,将得到数字序列1000213298174000;最后将其转移成基900的码字序列,结果为:1,624,434,632,282,200。
    字节压缩模式(BC)是通过基256至基900的转换,将字节序列转换为码字序列。对于字节压缩模式,有两个模式锁定(901,924)。当所要表示的字节总数不是6的倍数时,用模式锁定901;当所要表示的字节总数是6的倍数时,用模式锁定924。在应用模式锁定924的情况下,6个字节可通过基256至基900的转换用5个码字表示,从左到右进行转换。例如:一个二位16进制的数据序列01H,02H,03H,04H,05H,06H(H代表16进制)可表示为一个码字序列924,1,620,89,74,846。
1.3 错误检测与纠正码字的计算
    对于一组给定的数据码字,错误纠正码字根据Reed Solomon错误控制码算法来计算。
    第一步:建立符号数据多项式。
    符号多项式如下:
    
    式中di是数据码字。
    第二步:建立纠正码字的生成多项式。
    k个错误纠正码字的生成多项式如下:
    
    式中k为错误纠正码字ci(i=0…k-2,k-1)的个数。
    第三步:错误纠正码字ci的计算。
    对一组给定的数据码字和一选定的错误纠正等级,ci为符号数据多项d(x)式乘以xk,然后除以生成多项式g(x),所得余式的各系数的补数。

2 二维条码PDF417编解码软件系统设计
2.1 软件系统界面设计
    本文采用VC++6.0作为软件系统开发工具,搭建前台人机界面,该界面主要分为3部分,分别是编码区、解码区和其他按钮操作区。在编码区主要操作有编码文本输入、纠错等级和条码列数的设置、条码的生成及保存。在解码区主要操作有选择待解码的条码和对条码进行解码。在其他按钮操作区主要实现条码的打印和退出系统的功能。
2.2 PDF417条码软件编码实现
    由于二维条码PDF417可将照片、声音、文本等多种信息进行编码,本文实现的是常用的文本信息编码。计算机编码就是指将相关文本信息转换成可实现条码绘制的码字,同时再加入相关的附加信息。基本流程:利用编码算法将文本信息转换成PDF417码字,然后通过查询数据库将码字进一步转换成相对应的条空相间(黑白相间)的符号字符,最后计算机绘制出这些黑白相间的条空,即得到本文实现的PDF417二维条码图像。具体的软件实现流程如图2所示。


2.3 PDF417条码软件解码实现
    理论上,解码的过程是编码的逆过程,通过解码不但可以实现对条码的识别,而且还可以进一步验证编码的正确性。首先计算机要获取到待解码的PDF417二维条码,然后对该条码进行全部扫描,并将扫描结果存在一个二维数组中,接下来将扫描到的条码符号转换成码字,再将码字按照不同的编码规则转化为可读的字符、汉字等相关文本信息并在计算机屏幕上显示出来。本文通过对系统编码实现的PDF417二维条码进行解码对比,解码得到的文本信息和编码时输入的文本信息完全一致,也进一步验证了编码的准确性。
2.4 软件系统验证
    以原始条码文本信息“长安大学直属国家教育部,是教育部和交通运输部、陕西省人民政府共建的国家211工程重点建设大学01234567 89abcdefghPDF417”为例,利用该系统对其进行编码和解码,其中纠错等级和条码列数分别设置为1和5,实现界面如图3所示,最终编码生成的PDF417二维条码如图4所示,以bmp格式将其保存在指定的文件夹中。最后点击打印编码按钮,选择以Adobe PDF Converter类型打印编码后的PDF417二维条码,结果如图5所示。



3 结束语
    文中在分析和研究二维条码PDF417的结构和编解码原理的基础上,以VC++6.0为开发环境,开出一套简易的二维条码PDF417编解码系统,实现了对汉字、字母、数字等文本信息进行编码,以及对该系统生成的PDF417二维条码进行解码。该系统编码精确,速度快,方便灵活,同时还实现了对编码后的PDF417二维条码的解码和打印。此外,该系统再配置上其它相关硬件控制设备,即可制成一套PDF417二维条码打印和扫描系统。总之,二维条码在我国有着广阔的应用前景,PDF417二维条码技术在我国的推广应用也必将为我国信息产业的发展和现代化的经济建设带来可观的社会效益和经济效益。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭