0.2.0 • Published 10 months ago

@li0ard/tsemrtd v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

!WARNING tsemrtd is currently in alpha stage: the lib is not very stable yet, and there may be a lot of bugs feel free to try it out, though, any feedback is appreciated!

Features

  • Simple: Hides decoding process and provides simple and modern API
  • Type-Safe: Most of the APIs are strictly typed to help your workflow
  • Compliance: Fully complies with ICAO 9303 and ISO/IEC 19794 standards
  • Supports Bun, Node.js, Deno, Browsers, Cloudflare Workers
  • Supports CSCA masterlist's (ICAO PKD)

Installation

# from NPM
npm i @li0ard/tsemrtd

# from JSR
bunx jsr add @li0ard/tsemrtd 

Usage

Get MRZ

import { DG1 } from "@li0ard/tsemrtd"

let file = await Bun.file("EF_DG1.bin").bytes()
let data = DG1.load(Buffer.from(file))
console.log(data)
// P<D<<MUSTERMANN<<ERIKA<<<<<<<<<<<<<<<<<<<<<<
// C11T002JM4D<<9608122F1310317<<<<<<<<<<<<<<<6

Extract and save photo

import { DG2 } from "@li0ard/tsemrtd"

let file = await Bun.file("EF_DG2.bin").bytes()
let data = DG2.load(Buffer.from(file))

await Bun.write("image.jp2",data[0].imageData)

Supported DG's

NameDescripion
COMManifest
DG1MRZ Info
DG2Face image
DG3Fingerprint image (Optional)
DG4Iris image (Optional)
DG5Displayed image (Optional)
DG7Signature image (Optional)
DG11Additional personal data (Optional)
DG12Additional document data (Optional)
DG14EAC/PACE data (Conditionally mandatory)
DG15Active authentication data (Conditionally mandatory)
SODSecurity object of document

Library doesn't support datagroups #6,8,9,10,13,16 because they are defined for optional information for each state.

Links

0.2.0

10 months ago

0.1.8

10 months ago

0.1.7

10 months ago

0.1.6

10 months ago

0.1.5

10 months ago