https://github.com/yushulx/dotnet-mrz-sdk
A .NET MRZ SDK built with Dynamsoft C++ Label Recognizer SDK
https://github.com/yushulx/dotnet-mrz-sdk
csharp dotnet mrz passport
Last synced: 8 months ago
JSON representation
A .NET MRZ SDK built with Dynamsoft C++ Label Recognizer SDK
- Host: GitHub
- URL: https://github.com/yushulx/dotnet-mrz-sdk
- Owner: yushulx
- License: mit
- Archived: true
- Created: 2022-09-19T03:12:25.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-10T06:10:27.000Z (about 1 year ago)
- Last Synced: 2024-11-24T11:45:53.641Z (11 months ago)
- Topics: csharp, dotnet, mrz, passport
- Language: Objective-C
- Homepage: https://www.nuget.org/packages/MrzScannerSDK
- Size: 74.1 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# .NET MRZ Scanner SDK
The .NET Machine-readable Zone (MRZ) Scanner SDK is a C# wrapper for [Dynamsoft Label Recognizer](https://www.dynamsoft.com/label-recognition/overview/?utm_content=nav-products), supporting **x64 Windows**, **x64 Linux**, **Android** and **iOS**. It is used to recognize MRZ information from **passport**, **Visa**, **ID card** and **travel documents**.## License Activation
Click [here](https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform) to get a trial license key.## Supported Platforms
- Windows (x64)
- Linux (x64)
- Android
- iOS## API
- `public static void InitLicense(string license)`: Initialize the license. It must be called before creating the MRZ scanner object.
- `public static MrzScanner Create()`: Create the MRZ scanner object.
- `public Result[]? DetectFile(string filename)`: Detect MRZ from an image file.
- `public Result[]? DetectBuffer(byte[] buffer, int width, int height, int stride, ImagePixelFormat format)`: Detect MRZ from a buffer.
- `public static string? GetVersionInfo()`: Get SDK version number.## Usage
- Set the license key:
```csharp
MrzScanner.InitLicense("LICENSE-KEY");
```
- Initialize the MRZ scanner object:
```csharp
MrzScanner scanner = MrzScanner.Create();
```
- Detect MRZ from an image file:```csharp
Result[]? result = scanner.DetectFile(filename);
```
- Detect MRZ from a buffer:```csharp
Result[]? result = scanner.DetectBuffer(bytes, width, height, stride, MrzScanner.ImagePixelFormat.IPF_RGB_888);
```
- Get SDK version number:```csharp
string? version = MrzScanner.GetVersionInfo();
```
- Parse the MRZ information:```csharp
string[] lines = new string[_results.Length];
var index = 0;
foreach (Result result in _results)
{
lines[index++] = result.Text;
}MrzResult info = MrzParser.Parse(lines);
```## Quick Start
```csharp
using System;
using System.Runtime.InteropServices;
using Dynamsoft;namespace Test
{
class Program
{
static void Main(string[] args)
{
MrzScanner.InitLicense("LICENSE-KEY");
Console.WriteLine("Version: " + MrzScanner.GetVersionInfo());
MrzScanner scanner = MrzScanner.Create();MrzScanner.Result[]? results = scanner.DetectFile("1.png");
if (results != null)
{
foreach (MrzScanner.Result result in results)
{
Console.WriteLine(result.Text);
Console.WriteLine(result.Points[0] + ", " +result.Points[1] + ", " + result.Points[2] + ", " + result.Points[3] + ", " + result.Points[4] + ", " + result.Points[5] + ", " + result.Points[6] + ", " + result.Points[7]);
}
}}
}
}```
## Example
- [Command-line MRZ Scanner](https://github.com/yushulx/dotnet-mrz-sdk/tree/main/example/command-line) (**Windows & Linux**)
```bash
# DEBUG
dotnet run
# RELEASE
dotnet run --configuration Release
```- [Command-line MRZ Scanner with OpenCVSharp Windows runtime](https://github.com/yushulx/dotnet-mrz-sdk/tree/main/example/command-line-cv). To make it work on Linux, you need to install [OpenCVSharp4.runtime.ubuntu.18.04-x64](https://www.nuget.org/packages/OpenCvSharp4.runtime.ubuntu.18.04-x64) package.
```bash
dotnet run
```- [WinForms Desktop MRZ Scanner](https://github.com/yushulx/dotnet-mrz-sdk/tree/main/example/desktop-gui) (**Windows Only**)
```bash
dotnet run
```
- [.NET MAUI for Android and iOS](https://github.com/yushulx/dotnet-mrz-sdk/tree/main/example/MauiAndroid)
## Building NuGet Package from Source Code
```bash
# build dll for desktop
cd desktop
dotnet build --configuration Release# build dll for android
cd android/sdk
dotnet build --configuration Release# build dll for ios
cd ios/sdk
dotnet build --configuration Release# build nuget package
nuget pack .\MrzScannerSDK.nuspec
```