How to read and write Driver License Barcode pdf417?

4.8k views Asked by At

When i scan a Nevada driver license back side barcode pdf417 with android apps i get unreadable data.

@<0xA><0x1E><0xD>ANS­I 636049030002DL004104­66ZN05070057DLDCABCD­E<0xA>DCBBCDEFJKLMW<­0xA>DCDHLPT <0xA>DBA00000000<0xA­>DCSLASTNAME <0xA>DCTFIRSTNAME <0xA>DBD00000000<0xA­>DBB00000000<0xA>DBC­1<0xA>DAYAAA<0xA>DAU­ <0xA>DAG123 ABCDEF DRIVE <0xA>DAHAPT. 00 <0xA>DAIANYTOWN <0xA>DAJNV<0xA>DAK12­3450000 <0xA>DAQ123456789123­ <0xA>DCE <0xA>DCF000000000000­0012345671234<0xA>DC­GUSA<0xA>DCHNONE<0xA­>DCK <0xA>DAZABC<0xA>DCU <0xA><0xD>ZNZNAORGAN­ DONOR<0xA>ZNBREVISIO­N DATE00000000<0xA>ZNC­603<0xA>ZND180<0xA><­0xD>

What is that data? how to read, modify and create new same looking pdf417 barcode?

2

There are 2 answers

0
Ryan H. On

They are right you're just getting an example. If you scan your actual I.D. it will bring back your personal details.

An example looks like this:

"@\n\x1e\rANSI 636000090002DL00410278ZV03190008DLDAQT64235789\nDCSSAMPLE\nDDEN\nDACMICHAEL\nDDFN\nDADJOHN\nDDGN\nDCUJR\nDCAD\nDCBK\nDCDPH\nDBD06062016\nDBB06061986\nDBA12102024\nDBC1\nDAU068 in\nDAYBRO\nDAG2300 WEST BROAD STREET\nDAIRICHMOND\nDAJVA\nDAK232690000 \nDCF2424244747474786102204\nDCGUSA\nDCK123456789\nDDAF\nDDB06062008\nDDC06062009\nDDD1\rZVZVA01\r"

OR THIS:

<AAMVA>
<user>
    <last e="DCS">Lastnamexyxyxyxyxyxyxyxyxxyxyxyxyxyxyxyx</last>
    <first e="DAC">Firstxyxyxyxyxyxyxyxyxxyxyxyxyxyxyxyxxyx</first>
    <middle e="DAD">Xyxyxyxyxyxyxyxyxxyxyxyxyxyxyxyxxyxyxyxy</middle>
    <suffix e="DCU">SUFFIX</suffix>
    <dob e="DBB">1977-10-31</dob>
    <eyes e="DAY">BRO</eyes>
    <hair e="DAZ">BLK XY1XY1XY</hair>
    <sex e="DBC">M</sex>
    <height e="DAU">5'8"</height>
    <weight e="DAW">150 lbs</weight>
    <street e="DAG">1234 Any Street Xy1Xy1Xy1Xy1Xy1Xy1X</street>
    <city e="DAI">City Xy1Xy1Xy1Xy1Xy1</city>
    <state e="DAJ">CA</state>
    <postal e="DAK">00000-0000</postal>
    <country e="DCG">USA</country>
    <id e="DAQ">D1234562 XYXYXYXYXYXYXYXYX</id>
    <issued e="DBD">2009-10-31</issued>
    <expires e="DBA">2014-10-31</expires>
</user>
<head>
    <filetype name="File Type">ANSI</filetype>
    <format name="Data Format">21</format>
    <issuer name="Issuer Identification Number">636014</issuer>
    <state name="Issuer Name">California</state>
    <st name="Issuer Name Abbreviated">CA</st>
</head>
<subfile designator="DL">
    <element id="DAQ" name="Customer ID Number">D1234562 XYXYXYXYXYXYXYXYX</element>
    <element id="DCS" name="Customer Family Name">LASTNAMEXYXYXYXYXYXYXYXYXXYXYXYXYXYXYXYX</element>
    <element id="DDE" name="Family name truncation">U</element>
    <element id="DAC" name="Driver First Name">FIRSTXYXYXYXYXYXYXYXYXXYXYXYXYXYXYXYXXYX</element>
    <element id="DDF" name="First name truncation">U</element>
    <element id="DAD" name="Driver Middle Name or Initial">XYXYXYXYXYXYXYXYXXYXYXYXYXYXYXYXXYXYXYXY</element>
    <element id="DDG" name="Middle name truncation">U</element>
    <element id="DCA" name="Jurisdiction-specific vehicle class">A XYXY</element>
    <element id="DCB" name="Jurisdiction-specific restriction codes">NONEY1XY1XY1</element>
    <element id="DCD" name="Jurisdiction-specific endorsement codes">NONEX</element>
    <element id="DBD" name="Document Issue Date">10312009</element>
    <element id="DBB" name="Date of Birth">10311977</element>
    <element id="DBA" name="Document Expiration Date">10312014</element>
    <element id="DBC" name="Physical Description – Sex">1</element>
    <element id="DAU" name="Physical Description – Height">068 IN</element>
    <element id="DAY" name="Physical Description – Eye Color">BRO</element>
    <element id="DAG" name="Address – Street 1">1234 ANY STREET XY1XY1XY1XY1XY1XY1X</element>
    <element id="DAI" name="Address – City">CITY XY1XY1XY1XY1XY1</element>
    <element id="DAJ" name="Address – Jurisdiction Code">CA</element>
    <element id="DAK" name="Address – Postal Code">000000000</element>
    <element id="DCF" name="Document Discriminator">00/00/0000NNNAN/ANFD/YY X</element>
    <element id="DCG" name="Country Identification">USA</element>
    <element id="DCU" name="Name Suffix">SUFFIX</element>
    <element id="DAW" name="Physical Description – Weight">150</element>
    <element id="DAZ" name="Hair color">BLK XY1XY1XY</element>
    <element id="DCK" name="Inventory control number">XY1XY1XY1XY1XY1XY1XY1XY1X</element>
    <element id="DDA" name="Compliance Type">F</element>
    <element id="DDB" name="Card Revision Date">MMDDCCYY</element>
    <element id="DDD" name="Limited Duration Document Indicator">1</element>
</subfile>
<subfile designator="ZC">
    <element id="A" name="Optional field A">Y</element>
    <element id="B" name="Optional field B">CORR LENS</element>
    <element id="C" name="Optional field C">BRN</element>
    <element id="D" name="Optional field D">XYX</element>
    <element id="E" name="Optional field E">XYXYXYXYXYXYXY</element>
    <element id="F" name="Optional field F">XY1XY1XY1XY1XY1XY1XYXYXYXYXYXYXY</element>
</subfile>

You can check yours with this. https://online-barcode-reader.inliteresearch.com/

Here is a link to the AAMVA Manual, go to ANNEX D page 46 and it will explain it all there.

https://www.aamva.org/getmedia/99ac7057-0f4d-4461-b0a2-3a5532e1b35c/AAMVA-2020-DLID-Card-Design-Standard.pdf

Good luck!

0
reflex189 On

It is a string for the DL data. You must be reading a sample as there is no data in it.
ie - DCSLASTNAME = DCS is the "header" for last name - then the next XXX character should be the last name that is on the license.

Research will take you here: https://www.aamva.org/FL-ITN-DriverRelatedCredentialPrintSolutionExh3-022016/ for the standard and how to parse the data out of the DL barcode.