Java – extract data from PDF417, such as driver licenses
•
Java
I have an android app and I'm scanning PDF417 barcode images After scanning the bar code, I got the following results
@ 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
I want to get firstname, LastName, city, address and other details from the above string Anyone can tell me how to get the details
thank you.
Solution
See the link below and generate a parser to extract driver license information
http://www.dol.wa.gov/external/docs/barcodeCalibration-EDLEID.pdf
I've made this decoder for IOS applications
Code here:
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);
Barcodesting contains data scanned from PDF 417
thank you
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码