0.2.0 • Published 12 months ago

@li0ard/tsemrtd v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 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

12 months ago

0.1.8

12 months ago

0.1.7

12 months ago

0.1.6

1 year ago

0.1.5

1 year ago