我有一个
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扫描的数据.
谢谢