java – 从pdf417中提取数据,如驱动程序许可证
发布时间:2020-05-24 18:41:44 所属栏目:Java 来源:互联网
导读:我有一个 Android应用程序,我正在扫描PDF417条形码图像.扫描条形码后,我得到如下结果. @ANSI 636014040002DL00410477ZC05180089DLDAQD1234562 XYXYXYXYXYXYXYXYXDCSLASTNAMEXYXYXYXYXYXYXYXYXXYXYXYXYXYXYXYXDDEUDACFIRSTXYXYXYXYXYXYXYXYXXYXY
|
我有一个 Android应用程序,我正在扫描PDF417条形码图像.扫描条形码后,我得到如下结果. @ ANSI 636014040002DL00410477ZC05180089DLDAQD1234562 XYXYXYXYXYXYXYXYX DCSLASTNAMEXYXYXYXYXYXYXYXYXXYXYXYXYXYXYXYX DDEU DACFIRSTXYXYXYXYXYXYXYXYXXYXYXYXYXYXYXYXXYX DDFU DADXYXYXYXYXYXYXYXYXXYXYXYXYXYXYXYXXYXYXYXY DDGU DCAA XYXY DCBNONEY1XY1XY1 DCDNONEX DBD10312009 DBB10311977 DBA10312014 DBC1 DAU068 IN DAYBRO DAG1234 ANY STREET XY1XY1XY1XY1XY1XY1X DAICITY XY1XY1XY1XY1XY1 DAJCA DAK000000000 DCF00/00/0000NNNAN/ANFD/YY X DCGUSA DCUSUFIX DAW150 DAZBLK XY1XY1XY DCKXY1XY1XY1XY1XY1XY1XY1XY1X DDAF DDBMMDDCCYY DDD1 ZCZCAY ZCBCORR LENS ZCCBRN ZCDXYX ZCEXYXYXYXYXYXYXY ZCFXY1XY1XY1XY1XY1XY1XYXYXYXYXYXYXY 我想从上述字符串中获取FirstName,LastName,City,Address等细节. 谢谢. 解决方法请参见下面的链接,并生成解析器以提取驱动程序许可证的信息.http://www.dol.wa.gov/external/docs/barcodeCalibration-EDLEID.pdf 我已经为ios应用制作了这个解码器 这里的代码: NSString * message = barcode.barcodeString; NSMutableArray *arrFixedData=[[NSMutableArray alloc]initWithObjects:@"DCS",@"DCT",@"DCU",@"DAG",@"DAI",@"DAJ",@"DAK",@"DCG",@"DAQ",@"DCA",@"DCB",@"DCD",@"DCF",@"DCH",@"DBA",@"DBB",@"DBC",@"DBD",@"DAU",@"DCE",@"DAY",@"ZWA",@"ZWB",@"ZWC",@"ZWD",@"ZWE",@"ZWF",nil];
NSMutableArray *arrDriverData=[[NSMutableArray alloc]initWithObjects:@"Customer Family Name",@"Customer Given Name",@"Name Suffix",@"Street Address 1",@"City",@"Jurisdction Code",@"Postal Code",@"Country Identification",@"Customer Id Number",@"Class",@"Restrictions",@"Endorsements",@"Document Discriminator",@"Vehicle Code",@"Expiration Date",@"Date Of Birth",@"Sex",@"Issue Date",@"Height",@"Weight",@"Eye Color",@"Control Number",@"Transaction Types",@"Under 18 Until",@"Under 21 Until",@"Revision Date",nil];
NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];
for (int i=0; i<[arrFixedData count]; i++)
{
NSRange range = [message rangeOfString: [arrFixedData objectAtIndex:i] options: NSCaseInsensitiveSearch];
NSLog(@"found: %@",(range.location != NSNotFound) ? @"Yes" : @"No");
if (range.location != NSNotFound)
{
NSString *temp=[message substringFromIndex:range.location+range.length];
NSRange end = [temp rangeOfString:@"n"];
if (end.location != NSNotFound)
{
temp = [temp substringToIndex:end.location];
temp =[temp stringByReplacingOccurrencesOfString:@"n" withString:@""];
temp=[temp stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
NSLog(@"temp data : %@",temp);
[dict setObject:temp forKey:[arrDriverData objectAtIndex:i]];
}
}
NSLog(@"Dictionary : %@",dict);
barcodestring包含从pdf 417扫描的数据. 谢谢 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
