解析来自PDF417内置阅读器Android设备的输入

时间:2018-06-20 23:23:31

标签: java android barcode handheld pdf417

首先,我正在学习编码。

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

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

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

我需要将PDF417的输入解析为几个数据字符串,例如Name,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

1 个答案:

答案 0 :(得分:0)

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