All Projects → c0shea → IdParser

c0shea / IdParser

Licence: MIT License
Parses PDF417 AAMVA-compliant driver's licenses and ID cards

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to IdParser

gonids
gonids is a library to parse IDS rules, with a focus primarily on Suricata rule compatibility. There is a discussion forum available that you can join on Google Groups: https://groups.google.com/forum/#!topic/gonids/
Stars: ✭ 140 (+137.29%)
Mutual labels:  parse
Sharer
Arduino & .NET serial communication library to read/write variables and remote call functions using the Sharer protocol. Works on Windows, Linux and MacOS.
Stars: ✭ 21 (-64.41%)
Mutual labels:  net
wisej-examples
Wisej sample applications. See http://wisej.com.
Stars: ✭ 34 (-42.37%)
Mutual labels:  net
LeagueReplayParser
C# library which can read some data from a .rofl file, and start a replay in the client. (no longer actively maintained)
Stars: ✭ 20 (-66.1%)
Mutual labels:  parse
ASP.NET-Core-2-MVC-CRUD-datatables-jQuery-Plugin
Asp.Net Example implementation of datatables.net using Asp.Net Core 2 Mvc CRUD datatables jQuery Plugin
Stars: ✭ 25 (-57.63%)
Mutual labels:  net
common-words
Updated list of the 100 most common words in the English language. Useful for excluding these words from arrays.
Stars: ✭ 13 (-77.97%)
Mutual labels:  parse
Script.apex
Evaluate Javascript expressions in Apex
Stars: ✭ 18 (-69.49%)
Mutual labels:  parse
rankr
🇰🇷 Realtime integrated information analysis service
Stars: ✭ 21 (-64.41%)
Mutual labels:  parse
appleauth-net
AppleAuth.NET is a simple library that facilitates the implementation of "Sign in with Apple" for .NET applications.
Stars: ✭ 23 (-61.02%)
Mutual labels:  net
fefe
Validate, sanitize and transform values with proper TypeScript types and zero dependencies.
Stars: ✭ 34 (-42.37%)
Mutual labels:  parse
ormdb
ORM tool for .Net / .Net.Core
Stars: ✭ 14 (-76.27%)
Mutual labels:  net
angular-expression-parser
This library helps in achieving AngularJs equivalents of $parse, $eval and $watch in Angular.
Stars: ✭ 17 (-71.19%)
Mutual labels:  parse
LemonDeer
Make m3u8 parse and video download as white magic.
Stars: ✭ 38 (-35.59%)
Mutual labels:  parse
pinus-parse-interface
parse interface to pinus-protobuf JSON
Stars: ✭ 25 (-57.63%)
Mutual labels:  parse
H.NotifyIcon.WPF
NotifyIcon for .Net Core 3.1 and .Net 5 WPF.
Stars: ✭ 44 (-25.42%)
Mutual labels:  net
gpp-decrypt
Tool to parse the Group Policy Preferences XML file which extracts the username and decrypts the cpassword attribute.
Stars: ✭ 13 (-77.97%)
Mutual labels:  parse
LoadRunner
Load-testing framework for writing load/stress test scenarios in c#
Stars: ✭ 18 (-69.49%)
Mutual labels:  net
vproto
Protobuf compiler and runtime in V
Stars: ✭ 42 (-28.81%)
Mutual labels:  parse
gnt
🍸 GraphQL Normalized Types
Stars: ✭ 32 (-45.76%)
Mutual labels:  drivers-license
babel-collect-imports
Recursively collect all the internal and external dependencies from an entry point
Stars: ✭ 33 (-44.07%)
Mutual labels:  parse

ID Parser

Build Status

ID Parser can be used to parse AAMVA-compliant driver's licenses and ID cards into objects that you can work with. More information on the versions of the AAMVA standard can be found here. More information on the D20 Data Dictionary can be found here.

Usage

  1. Include the using
using IdParser;
  1. Then you're off to the races!
var idCard = Barcode.Parse(barcode);
Console.WriteLine(idCard.Address.StreetLine1); // "123 NORTH STATE ST."
Console.WriteLine(idCard.IssuerIdentificationNumber.GetDescription()); // "New York"

if (idCard is DriversLicense license)
{
    Console.WriteLine(license.Jurisdiction.VehicleClass); // "C"
}

More Examples

Take a look at the unit test project for more examples and usage.

Client

The IdParser.Client project is a handy GUI application to help test and verify that an ID will be parsed correctly. The app works with both OPOS and HID keyboard emulation scanners.

FAQ

  • I can't build IdParser.Client. It's missing a required dependency. You need to have Microsoft POS for .NET installed. The Microsoft.PointOfService dll is GAC'd and will allow you to build and run the client app.

  • The Height class has the wrong TotalInches or Centimeters. The AAMVA standard has no decimal places in the height subfile record. As a result, the conversion between inches and centimeters will be off.

  • The library is throwing ArgumentExcpetions for every barcode I'm passing in. By default, all barcodes are parsed using the Strict validation level. All barcodes are expected to adhere exactly to the AAMVA standard as defined in the PDFs for parsing to succeed. This is the recommended level for scanners using OPOS. However, if HID keyboard emulation is used, especially when scanning using a web browser, the expected data can become malformed. You can try using the None validation level, however this is not guaranteed to work in all cases. Data elements may be skipped and exceptions may still be thrown.

Find IDs Not in Tests Regex

DAJ(?!(AL|AR|AZ|AK|CA|CO|CT|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NC|ND|NH|NJ|NM|NV|NY|OH|ON|OR|PA|PE|PR|RI|SC|TN|TX|UT|VA|VT|WA|WI|WV|QC|OK|NS|NE|NB|AB|SD|DC))[A-Z]+
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].