MCPcopy Index your code
hub / github.com/ZsBT/mrz-java

github.com/ZsBT/mrz-java @mrz-java-0.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release mrz-java-0.5 ↗ · + Follow
120 symbols 319 edges 25 files 49 documented · 41%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MRZ

Machine-Readable Zone (MRZ, see http://en.wikipedia.org/wiki/Machine-readable_passport ) parser for Java, as defined by ICAO: http://www.icao.int/

Example

See the https://github.com/ZsBT/mrz-java/blob/master/src/main/java/com/innovatrics/mrz/Demo.java file for example on usage. Simple usage:

final MrzRecord record = MrzParser.parse("I<UTOSTEVENSON<<PETER<<<<<<<<<<<<<<<\nD231458907UTO3407127M9507122<<<<<<<2");
System.out.println("Name: " + record.givenNames + " " + record.surname);

Usage with Maven 2/3

Add the baka.sk maven 2 repo to your maven installation - edit ~/.m2/settings.xml so that it will look like the following:

<settings>
 <profiles>
  <profile>
   <id>default</id>
   <activation><activeByDefault>true</activeByDefault></activation>
   <repositories>
    <repository>
     <id>baka</id>
     <name>baka.sk</name>
     <url>http://www.baka.sk/maven2</url>
    </repository>
   </repositories>
  </profile>
 </profiles>
</settings>

Then add the following to your dependencies:

<dependency>
 <groupId>org.innovatrics.mrz</groupId>
 <artifactId>mrz-java</artifactId>
 <version>0.4</version>
</dependency>

NOTE: use com.innovatrics.mrz for versions higher than 0.4.

Changelog

0.4.1 ("Checkdigit" branch)

  • check digit validation does not throw exception
  • introducing check digit validity properties ( validDateOfBirth, validExpirationDate, validDocumentNumber, validComposite ) in result object

0.4

  • Fixed final checksum field, thanks to Marin Moulinier

0.3

  • Added support for shortening names.

  • Fixed name conversion: D'Artagnan gets properly converted to DARTAGNAN

  • Added character expansion, e.g. Ä gets expanded to AE

0.2

  • Added support for serializing record back to the MRZ form

  • Fixed failing tests on Windows

  • Added support for French ID Card records (Pierrick Martin)

  • Added support for VISA A/B records (Jeremy Le Berre)

0.1

  • Initial release

License

Java parser for the MRZ records, as specified by the ICAO organization. Copyright (C) 2011 Innovatrics s.r.o.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Original maintainer (till 2017-05-28): Martin Vysny

Core symbols most depended-on inside this repo

toMrz
called by 51
src/main/java/com/innovatrics/mrz/MrzParser.java
parseString
called by 29
src/main/java/com/innovatrics/mrz/MrzParser.java
computeCheckDigitChar
called by 27
src/main/java/com/innovatrics/mrz/MrzParser.java
checkDigit
called by 25
src/main/java/com/innovatrics/mrz/MrzParser.java
length
called by 22
src/main/java/com/innovatrics/mrz/MrzRange.java
parse
called by 16
src/main/java/com/innovatrics/mrz/MrzParser.java
parseDate
called by 15
src/main/java/com/innovatrics/mrz/MrzParser.java
nameToMrz
called by 12
src/main/java/com/innovatrics/mrz/MrzParser.java

Shape

Method 95
Class 22
Enum 3

Languages

Java100%

Modules by API surface

src/main/java/com/innovatrics/mrz/MrzParser.java20 symbols
src/main/java/com/innovatrics/mrz/types/MrzDate.java8 symbols
src/test/java/com/innovatrics/mrz/MrzParserTest.java6 symbols
src/main/java/com/innovatrics/mrz/MrzRecord.java6 symbols
src/main/java/com/innovatrics/mrz/types/MrzFormat.java5 symbols
src/main/java/com/innovatrics/mrz/records/SlovakId2_34.java5 symbols
src/main/java/com/innovatrics/mrz/records/MrvB.java5 symbols
src/main/java/com/innovatrics/mrz/records/MrvA.java5 symbols
src/main/java/com/innovatrics/mrz/records/MrtdTd2.java5 symbols
src/main/java/com/innovatrics/mrz/records/MrtdTd1.java5 symbols
src/main/java/com/innovatrics/mrz/records/MRP.java5 symbols
src/main/java/com/innovatrics/mrz/records/FrenchIdCard.java5 symbols

For agents

$ claude mcp add mrz-java \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact