首页 > 解决方案 > 解析来自 PDF417 内置阅读器 Android 设备的输入

问题描述

首先,我正在学习编码。

我正在使用 Android Studio 3.1.3、Java、API 级别 22(适用于 Android OS 5.1)

我需要编写一个 Android 应用程序,该应用程序将捕获从 PDF417 读取的数据,这些数据位于我所在国家/地区的人们的身份证上。它是一个人员访问控制应用程序,因此您来到一个地方,他们会读取您的 ID 并获取一些保存在设备上的数据,以授权或拒绝访问该地方。它的离线应用程序可以将数据保存到本地 SQLite 数据库中。

为此,我使用的是 Newland MT6550 设备,它具有内置的 1D 和 2D Imager Scanner。因此该设备可以读取 PDF417 和各种其他条码(因此,我不需要创建阅读器应用程序)。

我需要将 PDF417 的输入解析为几个数据字符串,如名称、ID n°、日期和序列号。所有这些都以对我来说是未知格式(或编码?)的形式存储在 PDF417 中。

问题是,当我用扫描仪阅读 PDF417 时,它会在 EditText 上写入几个无法识别的字符(如菱形内的“?”以及中文或韩文字符),这是我获取代码输入的地方,我无法解析,也没有给我所有的数据。

有没有办法设置输入,所以它给了我可以使用的东西?也许是一个没有“?”的字符串 或者一个我可以读取并分离成我需要的数据字符串的 XML 文件。(我知道该怎么做)

TL;DR:我需要解析来自 PDF417 内置扫描仪 Android 设备的数据输入,将该输入捕获到我的应用程序中,并从中保存数据。

以下是结果数据的示例:

178023954111605108 GARC虬 CHL280618A02375463812 � PC1悇o@?h<}r皩z苝u祑偲歝頺b~L哖乺嵟e疂Q鋂o堡Rj_尯畲笋挽1]�:祪臇|甂醃暵洠燫嫻VM焤┫篟a耼觟ㄊEz硠.鮡〩�0m槺棷Φw碨莿M0�?Qじ9�絀ω挄� /聾,盼3裐?EABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghij

标签: javaandroidbarcodehandheldpdf417

解决方案


联系 Newland,他们发送了更新的 SDK 手册,其中包括扫描仪的编码设置。更改编码我能够从 ID 中获取并正确解析数据。该应用程序已完成,我第一次为编码获得报酬!耶!


推荐阅读