Previously, I wrote a post about how to recognize passport MRZ from an image file using C++. In this post, I will create a more productive Android app, which utilizes camera to recognize MRZ.


Getting Started with Android Camera View

Android camera2 API is a replacement for the older Camera API. Since it is more powerful and flexible, Android officially recommends it. However, it is still a bit complicated to use. To simplify the programming progress, I will use Dynamsoft Camera Enhancer which not only wraps the camera2 API, but also provides image processing functions to optimize camera frames.


As the original writer of Dynamsoft Barcode Reader for Python ( pip install dbr), I prefer using CPython and Dynamsoft C/C++ Barcode SDK to bring barcode detection APIs to Python. However, Ctypes is also worth to be explored. It allows developers to call C functions of shared libraries in pure Python code. The article goes through the steps of how to invoke Dynamsoft C/C++ Barcode APIs by Python Ctypes.

Attempting to Call C Functions of Dynamsoft Barcode SDK in Pure Python

Assume you have downloaded the C/C++ packages, which contains *.dll and *.so files for Windows and Linux, from Dynamsoft website. We copy the *.dll and *.so …

MRZ stands for machine readable zone. A passport has a machine-readable zone which contains the information about name, nationality, passport number, date of birth, sex, and expiration date of passport. This article introduces how to use Dynamsoft OCR SDK to recognize MRZ and parse the corresponding information.

About Dynamsoft OCR SDK




sudo apt install libopencv-dev cmake

Passport MRZ Recognition in C++

In the following paragraphs, we firstly use Dynamsoft OCR SDK to localize the machine-readable zone of a passport and recognize the corresponding text string, and then extract…

Since from version 17.1, Chromes OS comes into the supporting list of Dynamic Web TWAIN. The supported desktop operating systems of Dynamic Web TWAIN now include Windows, Linux, macOS, Raspberry Pi OS and Chrome OS. This article helps Chromebook users to install Dynamic Web TWAIN service in Chrome OS. Building web document management applications for Chrome OS has come true.

Experiencing the Free Online Document Management Application in Chrome OS

Let’s open the free online demo of Dynamic Web TWAIN.

As you visit the page for the first time, you will be required to download the *.deb file for Chrome OS.

After clicking the download button, a file named DynamsoftServiceSetup.deb

If you are looking for a JavaScript barcode scanner SDK, Dynamsoft JavaScript Barcode SDK is no doubt the best. The SDK enables developers to quickly build web barcode scanner applications with a few lines of code. Besides, it authorizes developers to use the SDK for 7 days without extra registration and activation steps. This article gives you a better understanding of Dynamsoft JavaScript Barcode Scanner.

What You Should Know About Dynamsoft JavaScript Barcode SDK


JavaScript Barcode Scanner API

Getting Started with Dynamsoft JavaScript Barcode Scanner

The JavaScript Barcode Scanner is a part of Dynamsoft…

The Flutter barcode SDK series is coming to the end. This week, we switch the coding environment to macOS to finish the rest of the plugin platforms — iOS and MacOS — using Swift.

The Series of Flutter Barcode SDK


30-day FREE Trial

Flutter Barcode Plugin for iOS

As always, we add the iOS template to the existing plugin project first:

flutter create --template=plugin --platforms=ios .

The command generates…

For the past several weeks, the Flutter plugin of Dynamsoft Barcode Reader has covered Windows, Android and Web. This week, we go through the plugin implementation for Linux. Similar to Windows, we combine Dart and C++ code for Linux. The unexpected thing is the C++ data types of Flutter defined for Linux change a lot. So it still takes a little bit of time to make the plugin work.

What You Should Know About Dynamsoft Barcode Reader

Learning Resources for Flutter Desktop Development

Step-by-step Flutter Linux Plugin Development

To initialize the plugin template for Linux, we need to switch the coding environment to Linux firstly, and then run the following command to add the…

This week, I made a new attempt, integrating Dynamsoft JavaScript Barcode SDK into the ongoing Flutter barcode plugin project. It is exciting to be capable of building web barcode reader apps with the same decodeFile() method used for mobile and desktop development.

What You Should Know


Flutter Barcode SDK Plugin for Web Development

The above firebase_web is an excellent example of learning how to bridge Dart and JavaScript APIs. It inspired me a lot for Flutter web plugin implementation.

Initialize the Flutter plugin for web

Let’s add a web platform template to the existing plugin project:

flutter create --template=plugin --platforms=web .

The command only generates a flutter_barcode_sdk_web.dart file under the lib folder…

Last week, I wrote a step-by-step tutorial sharing how to build a Flutter barcode SDK plugin with Dynamsoft Barcode Reader. The platform-specific code of Android is done. This week, I am going to focus on Windows desktop. Since the Flutter desktop plugin development is still on the early stage, there are not too many learning resources available. It will be interesting and challenging to explore the desktop plugin implementation using C++.

What You Should Know

Learning Resources

The following resources are inspiring for Flutter Windows plugin development.

Integrating C++ Barcode SDK into Flutter Windows Plugin

Let’s peek the windows plugin folder structure:


About two years ago, I wrote an article sharing how to build a Flutter barcode plugin with Dynamsoft Barcode Reader step by step. At that time, Flutter was still under development and only supported Android and iOS. Nowadays, Google has released Flutter 2, which allows developers to build apps for mobile, web, and desktop from a single codebase. If you want to build cross-platform apps, it is worth putting much effort into Flutter from now on. …

Xiao Ling

Manager of Dynamsoft Open Source Projects | Tech Lover

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store