Web Demos

BARCODE READER SDK DEMO

Explore the flexibe barcode reading settings to optimize for your specific usage scenario.

WEB TWAIN SDK DEMO

Try the most popular web scanner features: scan images, import local images and PDF files, edit, save to local, upload to database, and etc.

BARCODE READER JAVASCRIPT DEMO

Transform any camera-equipped devices into real-time, browser-based barcode and QR code scanners.

MRZ SCANNER WEB DEMO

Detects the machine-readable zone of a passport, scans the text, and parses into human-readable data.

APP STORE DEMOS

BARCODE READER SDK FOR IOS

BARCODE READER SDK FOR ANDROID

VIEW MORE DEMOS >
Documentation
Table of contents

Thanks for downloading Dynamsoft Label Recognizer Package!

Your download will start shortly. If your download does not begin, click here to retry.

MRZ Scanner Sample

MRZScanner sample shows you how to develop with Dynamsoft Label Recognizer to create a simple app to scan machine-readable zome (MRZ).

View the samples:

In the MRZScanner sample, we include an additional library MRZRecognizer.framework, which is developed from Dynamsoft Label Recognizer. MRZ models or parameters are preset in the library. As a result, you don’t need to add additional settings.

The following APIs are available in the MRZScanner sample

  • MRZRecognizer: The class extended from DynamsoftLabelRecognizer.
  • MRZResult: The class that stores MRZ result information. When using MRZRecognizer.framework, you can obtain MRZResult as the output of the library instead of DLRResult.
  • MRZResultListener: The listener to handle callbacks when MRZResults are returned.

How to use MRZRecognizer

Setup Camera Module

In this sample, we use Dynamsoft Camera Enhancer to set up the camera module and capture video frames.

  • Objective-C
  • Swift
  1. @property (nonatomic, strong) DynamsoftCameraEnhancer *cameraEnhancer;
    @property (nonatomic, strong) DCECameraView *dceView;
    ...
    - (void)configureMRZ {
       self.dceView = [[DCECameraView alloc] initWithFrame:self.view.bounds];
       self.cameraEnhancer = [[DynamsoftCameraEnhancer alloc] initWithView:self.dceView];
       [self.view addSubview:self.dceView];
       [self.cameraEnhancer open];
    }
    
  2. var cameraEnhancer: DynamsoftCameraEnhancer!
    var dceView: DCECameraView!
    ...
    func configureMRZ() -> Void {
       dceView = DCECameraView.init(frame: self.view.bounds)
       cameraEnhancer = DynamsoftCameraEnhancer.init(view: dceView)
       self.view.addSubview(dceView)
       cameraEnhancer.open()
    }
    

Initialize MRZ Recognizer and Bind the Camera Module

Create an instance of MRZRecognizer. Use the method setImageSource to bind the MRZRecognizer and the camera module you created. After that, the instance of MRZRecognizer will be able to obtain video frames from the camera continuously.

  • Objective-C
  • Swift
  1. @property (nonatomic, strong) DynamsoftMRZRecognizer *mrzRecognizer;
    ...
    - (void)configureMRZ {
       self.mrzRecognizer = [[DynamsoftMRZRecognizer alloc] init];
       // Use setImageSource to bind MRZRecognizer with the camera enhancer.
       // You can also implement the interface ImageSource by yourself.
       [self.mrzRecognizer setImageSource:self.cameraEnhancer];
    }
    
  2. var mrzRecognizer: DynamsoftMRZRecognizer!
    ...
    func configureMRZ() -> Void {
       mrzRecognizer = DynamsoftMRZRecognizer.init()
       // Use setImageSource to bind MRZRecognizer with the camera enhancer.
       // You can also implement the interface ImageSource by yourself.
       mrzRecognizer.setImageSource(cameraEnhancer)
    }
    

Obtain Results

Use setMRZResultListener to Register a MRZResultListener. Trigger startScanning. So that you can obtain the MRZ results from mrzResultCallback.

  • Objective-C
  • Swift
  1. @interface ViewController ()<MRZResultListener>
    [self.mrzRecognizer setMRZResultListener:self];
    [self.mrzRecognizer startScanning];
    - (void)mrzResultCallback:(NSInteger)frameId imageData:(iImageData *)imageData result:(iMRZResult *)result {
       // Implement the mrzResultCallback.
    }
    
  2. class ViewController: BaseViewController, MRZResultListener {
       func configureMRZ() -> Void {
          mrzRecognizer.setMRZResultListener(self)
          mrzRecognizer.startScanning()
       }
       ...
       func mrzResultCallback(_ frameId: Int, imageData: iImageData, result: iMRZResult?) {
          // Implement the mrzResultCallback.
       }
    }
    

Is this page helpful?

YesYes NoNo

In this article:

latest version

    • Latest version
    • Version 2.2.20
    • Version 2.2.11
    • Version 2.2.10
    • Version 2.2.0
    • Version 2.0.0
    • Version 1.2.1
    • Version 1.2
    • Version 1.0
    Change +
    © 2003–2023 Dynamsoft. All rights reserved.
    Privacy Statement / Site Map / Home / Purchase / Support