

The resolution should be set so that the 2d barcode is about 2000 pixels long. Scan the back of your license / permit using a medium - high resolution. The available contents varies from state to state, and between generations of licenses.All of this is fairly straight forward. The following example shows the typical (California) barcode contents as provided by the DL/ID reader.
#Drivers license barcode reader driver#
Use these recommendations to mitigate effects of JPEG blocking.Įxample of Driver License reader XML output Avoid using low-quality JPEG compression when saving images.Take the picture head on to keep the barcode rectangular.If needed image can be saved for archival purposes at different resolution and color using the ClearImage API.


S = s + "street: " + decoder.street + vbCrLf S = s + "weight: " + decoder.weight + vbCrLf S = s + "height: " + decoder.height + vbCrLf S = s + "suffix: " + decoder.suffix + vbCrLf S = s + "middle: " + decoder.middle + Vbcrlf S = s + "first: " + decoder.first + vbCrLf If Err.Number 0 Then WScript.Echo Err.Description : Exit Sub Set decoder = CreateObject("ClearImageDLID.DLDecoder") ShowMessage(Format('Error:%s.File:%s', )) ShowMessage ('No Driver License Barcode found') Procedure ReadDrvLic(const fileName: string const page: integer) S := s + 'expires: ' + decoder.expires + CRLF S := s + 'issued: ' + decoder.issued + CRLF S := s + 'postal: ' + decoder.postal + CRLF S := s + 'state: ' + decoder.state + CRLF S := s + 'street: ' + decoder.street + CRLF S := s + 'weight: ' + decoder.weight + CRLF S := s + 'height: ' + decoder.height + CRLF S := s + 'suffix: ' + decoder.suffix + CRLF S := s + 'middle: ' + decoder.middle + CRLF S := s + 'first: ' + decoder.first + CRLF Procedure DecodeDrvLic(const text: string) ,ClearImage_TLB, DriverLicenseDecoder_TLB $ciServer = new COM("ClearImage.ClearImage") $decoder = new COM("ClearImageDLID.DLDecoder") ICiBarcodePtr bc = reader->FirstBarcode() Ĭout << "PDF417 barcode not found" << endl Reader->Image->Open(_bstr_t(fileName), page) Reader->Encodings = (EBarcodeEncoding)102 // Activate DLID reading mode HRESULT hr = decoder.CreateInstance(_uuidof(DLDecoder)) Ĭout last first middle suffix dob eyes hair sex height weight street city state postal country id issued expires xml CreatePdf417() #import "progid:ClearImageDLID.DLDecoder" no_namespace named_guids #import "progid:ClearImage.ClearImage" no_namespace named_guids Private Sub ReadDrvLic(fileName As String, page As Integer)ĭim barcodes As Barcode() = reader.Read(fileName, page) Void ReadDrvLic(string fileName, int page)īarcodeReader reader = new BarcodeReader() īarcode barcodes = reader.Read(fileName, page) ĭim decoder As New ()Ĭonsole.WriteLine("last: " + decoder.last)Ĭonsole.WriteLine("first: " + decoder.first)Ĭonsole.WriteLine("middle: " + decoder.middle)Ĭonsole.WriteLine("eyes: " + decoder.eyes)Ĭonsole.WriteLine("hair: " + decoder.hair)Ĭonsole.WriteLine("height: " + decoder.height)Ĭonsole.WriteLine("street: " + decoder.street)Ĭonsole.WriteLine("city: " + decoder.city)Ĭonsole.WriteLine("state: " + decoder.state)Ĭonsole.WriteLine("postal: " + decoder.postal)Ĭonsole.WriteLine("country: " + untry)Ĭonsole.WriteLine("issued: " + decoder.issued)Ĭonsole.WriteLine("expires: " + decoder.expires) decoder = new () Ĭonsole.WriteLine("last: " + decoder.last) Ĭonsole.WriteLine("first: " + decoder.first) Ĭonsole.WriteLine("middle: " + decoder.middle) Ĭonsole.WriteLine("dob: " + decoder.dob) Ĭonsole.WriteLine("eyes: " + decoder.eyes) Ĭonsole.WriteLine("hair: " + decoder.hair) Ĭonsole.WriteLine("sex: " + x) Ĭonsole.WriteLine("height: " + decoder.height) Ĭonsole.WriteLine("street: " + decoder.street) Ĭonsole.WriteLine("city: " + decoder.city) Ĭonsole.WriteLine("state: " + decoder.state) Ĭonsole.WriteLine("postal: " + decoder.postal) Ĭonsole.WriteLine("country: " + untry) Ĭonsole.WriteLine("issued: " + decoder.issued) Ĭonsole.WriteLine("expires: " + decoder.expires)
