Django is a popular framework of Python for web development. In this tutorial, we will create a web application with Django and Dynamic Web TWAIN.

About Dynamic Web TWAIN

Python Development Environment

  • Python 3.7.9
python --version
  • Django 3.2.7
python -m pip install Django
python -m django --version

Overall steps

The steps that integrate Django with Dynamic Web Twain are:

  1. Create a Django project.
  2. Create an app inside the project.
  3. Create an HTML template that loads the Dynamic Web Twain library. The library path is dynamically generated by template syntax.
  4. Configure the path of static resource files.

Create your project with Django

Open your terminal to create a project with Django using the…

Last Updated on 2021–09–13

More and more organizations have moved to the Office 365 / SharePoint environment for document management. This article introduces how to integrate Dynamic Web TWAIN SDK into SharePoint client-side web parts.

Key Features of Dynamic Web TWAIN SDK

  • Provides ActiveX for working with 32 bit and 64 bit Internet Explorer.
  • Provides Plugin for working with Chrome, Firefox, Safari on Windows, macOS, and Linux
  • Capable of scanning images from scanners and other TWAIN compatible devices
  • Support for BMP, JPEG, PNG, single/multi-page PDF and single/multi-page TIFF
  • Supports cookie & session integration.
  • Downloads/Uploads image(s) through HTTP/HTTPS or FTP.
  • Supports JavaScript + HTML/HTML5 on the client side

When using a Barcode reader or scanner SDK, we primarily focus on the detection speed and recognition accuracy. There are many factors that may affect the performance of the Barcode detection SDK. The factors can be approximately classified into two categories: image quality and algorithm performance. In this article, we take Dynamsoft Barcode Reader Python edition as the example to discuss how to optimize the performance of the Barcode detection SDK by preprocessing input QR code images and adjusting the algorithm parameters on desktop platforms.


  • OpenCV Python
pip install opencv-python   pip install opencv-contrib-python
  • Dynamsoft Barcode Reader SDK
pip install dbr

If you search for passport scanner software or MRZ reader software, you will find many of them are only available for mobile devices. For police officers, scanning passports by mobile devices is convenient when they are patrolling. However, for customs and immigration officers, they usually use desktop system and professional passport scanner or reader, which cost a lot, to check passengers’ passport information. Dynamsoft’s OCR SDK is available for both mobile and desktop scenarios. …

A few days ago, I wrote a blog post about how to implement a desktop barcode reader application using Qt and C++. The application only supports still image mode. In this article, I am going to add a webcam support to empower the application to scan barcodes in real time.

CMake Configuration for QCamera on Windows

To add webcam support in Qt application, we need to import the QCamera class from QtMultimedia library. In my Windows Qt environment, I only installed Qt 6.1.2, which does not include QtMultimedia library. According to the Qt documentation, we can find the QCamera class in Qt 5.

So, I need…

No matter which edition of Dynamsoft Barcode SDK you use, the underlying algorithm interfaces are all implemented in C/C++. To evaluate Dynamsoft barcode SDK precisely, you’d better get started with the C++ libraries. However, there is only a command-line sample available in the SDK package. I have been tired of the plain sample code because it is not convenient for operation. Therefore, I decide to write a fancy GUI barcode reader using Qt. This article shows how to develop a GUI barcode reader application for Windows and Linux with Qt, MinGW, CMake, and Dynamsoft C++ barcode SDK.

Barcode SDK Download

Dynamsoft C++ SDK…

Last week, I built a simple Android application with Dynamsoft camera SDK and OCR SDK to recognize passport MRZ. To facilitate Flutter development, I determined to make a Flutter plugin for wrapping Dynamsoft OCR SDK this week. Since there has been an official Flutter camera plugin available for download on, I don’t need to put effort into the camera part.

Flutter Plugin for Dynamsoft OCR SDK

As always, the first step is to create the plugin project by running the following command:

flutter create --org com.dynamsoft --template=plugin --platforms=android -a java flutter_ocr_sdk

After that, we add the Dynamsoft maven repository and configure the OCR library in…

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…

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