条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

翻译|其它|编辑:莫成敏|2019-11-05 11:14:38.393|阅读 31 次

概述:Dynamsoft Barcode Reader SDK是一款多功能的条码读取控件。本文介绍了如何解码PDF417条码。

Dynamsoft Barcode Reader SDK一款多功能的条码读取控件,只需要几行代码就可以将条码读取功能嵌入到Web或桌面应用程序。它支持读取所有主要的1D和2D条形码,仅需使用几行代码即可实现。本文主要介绍如何解码PDF417条码。

点击下载Dynamsoft Barcode Reader SDK试用版

PDF417条码是一种堆叠式、可变长度、双向2D条码。它是使用最广泛的2D条码之一,最常见于物流、运输(登机证)、政府识别(驾驶执照和身份证)、库存和文件管理(邮政包裹)中。

PDF417代码的一些主要功能是:

  • 编码所有128个ASCII字符和扩展字符

  • 高数据容量——最多可容纳1850个字母数字字符,超过2700位数字或大约1100字节的数据

  • 公共领域格式,无需使用许可

  • 纠错能力0 – 8

通过将PDF417条形码分为节、行、列和数据字来理解。在本文中,我们将解构PDF417符号并识别其所有元素,并向您展示如何解码PDF417条码。

栏目

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

PDF417条码由许多模块组成,但可以分为三个不同的部分。每个模块均以纯黑色列开始,并以纯白色列结束,因此您可以直观地看到每个模块的起点和终点。在条形码的两侧也有空白页边空白,称为安静区。这用于对条形码进行本地化,这有助于条形码扫描器识别条形码的开始和停止位置,并防止扫描可能围绕条形码的其他信息。PDF417符号的格式如下:

  • 安静区域

  • 开始模式

  • 离开指示器

  • 数据码字

  • 正确的指示器

  • 停止模式

  • 安静区域

20191105110255.png

从驾驶执照PDF417中提取数据

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

开始和停止模式

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

由一组黑白垂直条和空格组成,开始和停止模式指示条形码的开始和结束区域。它们可帮助条形码扫描仪找到条形码,但不包含任何数据。

左右指示器

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

左右指示器不包含任何文本数据,而是包含有关条形码的信息,例如条形码具有多少行、纠错级别等。

数据码字

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

数据代码字部分中的数字、字母或其他符号以条形和空格的群集模式进行解码,每个条形和空格由纯白色列分隔。在上图中,显示了两个部分。可能只有一个或多达30个数据代码字簇。PDF417条码的大小取决于编码的数据量。

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

PDF417条码由行组成。它必须至少有三行,最多90行,每行都像一个小的线性条形码。在上图中,显示了八行。每行具有相同的宽度,并具有相同数量的代码字。

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

每个模块由17列组成。如前所述,每个模块以纯黑色列开始,以纯白色列结束。

数据字

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

每个数据字段长17个单元,由4个黑条和4个空格组成,这就是名称PDF417的来源——便携式数据文件(PDF)+数据字模式由4个黑白单元组成,并且长17个单元格。从左到右,从上到下读取每个数据字。

Millennial Vision,Inc.选择Dynamsoft条码读取器来自动填充驾驶执照数据

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

编码方式

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

PDF417使用基数929编码,其中每个数据字代表0到928之间的值。该值由黑白单元格的序列确定。在上图中,我们在一个数据字中看到一个序列,该序列包括:1黑色,4白色,2黑色,3白色,2黑色,2白色,1黑色和2白色组成。这将创建一个14232212的值。

注意,包括开始的黑色单元格和结束的白色单元格。接下来,我们可以在PDF417 Codeword Combo网站中查找序列,该站点列出了所有929个编码值。我们可以使用CTRL F搜索我们的序列。

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

现在我们找到了序列,我们看到它等于900的值,这意味着我们正在执行文本编码。那么这是什么意思?

在929个可用代码字中,0-900用于数据,其他28个用于定义条形码的特殊功能。通常,PDF417仅用于文本。

无论序列号是多少,都需要应用以下数学公式来提取数据块。

注意:F代表第一个字符,S代表第二个字符。

  • F =#MOD 30

  • S =(#– F)/ 30

注意:在计算中,MOD命令是一个数字除以另一个后的余数。

在我们的示例中,我们的数据字之一是733。因此,我们采用733 MOD 30,然后得出13。

接下来,我们采用数字733减去13,然后除以30,即24。

现在,我们可以获取这些数字,并在PDF417文本解码器表中查找它们以解密编码数据。

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

在上图中,请注意有五列:

  • Number

  • Alpha

  • Lower

  • Mixed

  • Punctuation

默认情况下,PDF417在“Alpha”列中启动。因此,当我们将公式应用于数据码字时,我们得到的第一个字符为5,根据我们的表格,该字符为大写D。

条码读取控件Dynamsoft Barcode Reader,如何解码PDF417条码

某些字符(26 – 29)转换为特殊功能。在我们的示例中,下一个字符是27,等于ll。使用该表,我们看到ll =锁存器降低。这意味着我们需要将第一个字母之后的所有内容都锁存到下一列(即小写字母列)。

当我们将公式应用于所有数据代码字时,我们便可以解密PDF417中的文本。在我们的示例中,PDF417条码显示为“Dynamsoft”。

错误修正

EC级012345678
生成的EC码字2468163264128512
数据码字

1-4041-160161-320321-863


数据字节编码

1-5657-192193-384385-1035


PDF417使用Reed–Solomon纠错技术,该技术已增加了冗余度,从而确保即使损坏了条形码也仍可读取。纠错级别的范围是0到8。纠错级别越高,条形码的冗余度就越高。但是,用于纠错的区域越多,意味着可以将更少的数据编码到条形码中。根据AIM标准,建议最小错误纠正级别为2。

下表显示了添加到PDF417条形码中的纠错码字的数量以及AIM纠错建议。

要查看Dynamsoft条码阅读器在特定条码情况下的性能,请下载Dynamsoft Barcode Reader SDK免费版~


想要购买该产品正版授权,或了解更多产品信息请点击“咨询在线客服”

850×682.png



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:Dynamsoft https://www.dynamsoft.com/Products/Barcode-Reader-Resources.aspx

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Dynamsoft Barcode Reader

Dynamsoft Barcode Reader SDK是一款多功能的条码读取控件。

在线
客服
在线
QQ
电话
咨询
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat