Tag: android
-
Barcode has been around for more than half a century. There are various types of barcodes and reading libraries. Some libraries focus on one barcode format like libdmtx while most libraries can read all kinds of formats. In this article, we are going to implement a mobile barcode scanner with...
-
In this article, we are going to write a React Native demo to crop images. It uses React Native Skia and React Native Gesture Handler to provide an interactive cropper. Dynamsoft Document Normalizer is used to detect the document boundaries and do perspective transformation to crop the image. New Project...
-
Machine Readable Zone (MRZ) recognition is a critical feature in applications that require scanning and processing identity documents, such as passports and visas. On Android devices, implementing accurate MRZ recognition can significantly enhance the efficiency and user experience of such apps. In this article, we will explore how to use...
-
According to the American Association of Motor Vehicle Administrators (AAMVA) specification, US driver’s licenses store personal information using the PDF417 barcode symbology. Google’s Mobile Vision APIs can recognize PDF417 barcodes and extract driver’s license data, while the combination of Dynamsoft Barcode Reader and Dynamsoft Code Parser achieves the same goal....
-
In today’s fast-paced digital environment, efficient document management is vital across industries such as finance, healthcare, legal, and education. Traditional paper handling methods are not only slow but also susceptible to errors and inefficiencies. Document PDF scanner apps offer a modern solution by streamlining workflows and significantly boosting productivity. This...
-
Exchangeable image file format (officially Exif) is a standard that specifies formats for images, sound, and ancillary tags used by digital cameras (including smartphones). It contains metadata like camera parameters, image dimensions, and image orientation. Most camera sensors have a shape where its width is larger than the height. If...
-
Recently, Dynamsoft released a new .NET MAUI Barcode SDK for building barcode scanning applications on Android and iOS. In this tutorial, we will use Visual Studio Code to create a .NET MAUI Barcode Scanner from scratch. Our application will decode barcodes and QR codes from both image files and camera...
-
Sometimes, we may need to merge multiple images into a single PDF file. For example, we scan the front side and the back side of an ID card and want to store them in a single PDF file. In this article, we are going to talk about how to build...
-
MRZ (machine-readable zone) is a section on ID documents. It is designed to be read by a machine to get the document owner’s info, like name, age, sex and nationality. In this article, we are going to build an expo application to scan MRZ. Dynamsoft Label Recognizer is used to...
-
Barcode scanning is an essential tool for modern inventory management. It improves accuracy, efficiency, real-time tracking, and cost savings, making it an important part of any effective inventory management system. In this article, we will demonstrate how to build a scanner for multiple barcodes, QR codes, and DataMatrix codes with...
-
When considering the creation of a Flutter barcode scanner application, your first thought might be to search for an existing Flutter plugin. One option is to combine the camera plugin with a barcode scanning plugin, or to utilize a barcode scanning plugin that includes a camera preview feature. However, the...
-
In a previous article, we developed a barcode and QR code scanner for Windows and Android using Qt6. In this follow-up, we’ll extend the project to include support for iOS devices. To achieve this, we’ll integrate the Dynamsoft iOS Barcode Reader SDK. To facilitate seamless communication between the SDK and...
-
Qt is renowned for its cross-platform capabilities, enabling developers to craft applications for Windows, macOS, Linux, iOS, and Android. In this article, we will construct a QR code scanner for Windows and Android utilizing Qt6. The sample code will be presented in C++ and QML, employing the Dynamsoft Barcode Reader...
-
Identity documents are adopted in many countries to prove a person’s identity. They usually have a card design around 8.6 cm x 5.4 cm in size with three-line MRZ, like ID cards in Germany and the Netherlands. Dutch ID Card Specimen: In this article, we are going to talk about...
-
React Native Vision Camera is a React Native camera library which makes it easy to build a camera app with various image processing features like barcode reading, document scanning and OCR. It has a feature called frame processor. We can write frame processor plugins to integrate image processing features with...
-
Last week, we enhanced the .NET MAUI library Capture.Vision.Maui by adding document and MRZ (Machine-Readable Zone) detection capabilities for the Windows platform. We also enabled our .NET MAUI application to scan barcodes, documents, and MRZs in Windows. This week, we will further enhance the library by adding Android support. We...
-
Jetpack Compose is Android’s recommended modern toolkit for building native UI. It simplifies and accelerates UI development on Android. In this article, we are going to create an MRZ text scanner in Jetpack Compose with CameraX for camera access and Dynamsoft Label Recognizer to perform OCR. Note: MRZ stands for...
-
Expo is an open-source platform for making universal native apps for Android, iOS, and the web with JavaScript and React. It is basically a set of tools built on top of React Native, which makes it easy to develop and distribute apps. In this article, we are going to build...
-
Jetpack Compose is Android’s recommended modern toolkit for building native UI. It simplifies and accelerates UI development on Android. In this article, we are going to build a document scanner in Jetpack Compose. It can acquire images from document scanners or cameras and run document detection and correction. Here are...
-
Many countries have now adopted an ID card design around 8.6 cm x 5.4 cm in size with three-line MRZ, like ID cards in Germany and the Netherlands. Dutch ID Card Specimen: In this article, we are going to talk about how to build an ID card scanner in Ionic...
-
Machine-Readable Zone (MRZ) recognition is an essential technology in various sectors, including security, immigration, and automation. Its application in Android software can enhance a wide array of services by enabling quick and accurate data capture from identification documents like passports and ID cards. This article aims to guide you through...
-
In the previous article, we talked about the possibility of transferring files via QR codes and built a demo web app. In this article, we are going to build a cross-platform version using Ionic Vue which can run on Android, iOS and Web. The mechanism is also improved by adding...
-
The term “augmented reality (AR)” generally refers to the integration of digital information with the user’s environment in real time. AR can make user interfaces more immersive and intuitive, overlaying real-time information onto the real world to make tasks more efficient and less error-prone. For example, in warehouse management, AR...
-
A document scanner app is a software application that leverages your device’s camera to capture images of physical documents and transform them into digital formats. Typically, these apps can scan documents, photos, receipts, business cards, and more. Document scanner apps are useful in a variety of industries and scenarios, including...
-
React Native is an open-source UI software framework to create apps mainly for Android and iOS. Apart from native components, we can also use React-Native-WebView to utilize web technologies. In this article, we are going to take about how to start a QR code scanner in React-Native-WebView. We can use...
-
Barcode scanner apps can be used across a variety of industries, including retail, manufacturing, logistics, and healthcare. They are used to track inventory, manage assets, and improve the efficiency of business operations. In this article, we will walk through the steps of building a multiple barcode and QR code scanner...
-
Jetpack Compose is Android’s recommended modern toolkit for building native UI. It simplifies and accelerates UI development on Android. In this article, we are going to create a QR code scanner to demonstrate how to use Dynamsoft Barcode Reader and Dynamsoft Camera Enhancer in Jetpack Compose. Here is a video...
-
Machine-Readable Zone (MRZ) scanner applications are used for quick and automated data entry from identification documents such as passports, visas, ID cards, and other types of travel documents. Some industries such as banking, healthcare, hospitality, and transportation require MRZ scanning to verify the identity of their customers. With the increasing...
-
A last-mile delivery app is a software application used to manage, coordinate, and track the delivery of goods from a transportation hub to their final destination, which is usually a personal residence. This is often the most complex part of the entire delivery process because it involves navigating residential areas,...
-
A Mobile Check Capture app, also known as a Check Deposit app or Mobile Check Deposit app, is a mobile application that allows users to deposit checks using their smartphones or tablets. It provides a convenient way for individuals and businesses to deposit checks without visiting a bank branch or...
-
AirPrint MFPs (Multifunction Printers) are printers that are compatible with Apple’s AirPrint technology. The eSCL (eXtensible Scanner Control Language) protocol, a driverless scanning protocol, is a part of the AirPrint technology. It facilitates wireless scanning functionality on AirPrint MFPs. Users can discover AirPrint MFPs on the same network and initiate...
-
.NET Multi-platform App UI (MAUI) is a cross-platform UI framework for building native and modern applications in C#. It allows developers to create a single codebase for multiple platforms. Blazor is a web UI framework for building interactive client-side web applications with .NET. It allows developers to write C# code...
-
In my previous article, I demonstrated how to package C++ libraries into a NuGet package. This week, I’ll be expanding the package to include Android and iOS binding libraries, enabling multi-platform development across Windows, Linux, macOS, Android and iOS. The advantage of an all-in-one NuGet package is that you can...
-
Barcode scanning technology is crucial for many enterprises, such as those in the supermarket, logistics, and warehousing industries. The data obtained from scanning barcodes is used to track inventory, manage orders, and process payments. Handheld barcode scanners are widely used as peripheral devices in these industries. However, traditional handheld laser...
-
Previously, we created a Flutter document rectification plugin for web, Windows, and Linux. In this article, we will add support for Android and iOS. As a result, you will be able to create a document rectification app that corrects the perspective of an image of a document on all platforms....
-
Since Dynamsoft Label Recognizer supports Windows, Linux, Android, iOS and Web, we can create a 5 in 1 Flutter plugin for it to cover desktop, mobile and web platform development. In this article, you will see how to write an MRZ Flutter plugin using different platform-specific code, such as Java,...
-
In the previous article, we’ve built a NativeScript plugin for camera preview. In this article, we are going to create a NativeScript plugin for Dynamsoft Barcode Reader which can be used for scanning barcodes or QR codes. This article is Part 2 in a 2-Part Series. Part 1 - How...
-
NativeScript is an open-source native runtime for building native mobile apps with JavaScript. We can easily call native APIs using JavaScript. A NativeScript plugin is any npm package that exposes a native API via JavaScript which is made convenient for projects to use. In this article, we are going to...
-
Dynamic Web TWAIN has a new scanDocument API since v17.2, which makes it easy to capture documents using mobile cameras with its document border detection and editing feature along with ready-to-use UIs. In this article, we are going to create a mobile document scanning app using Ionic Vue. Ionic is...
-
In the previous article, we demonstrated how to build a React Native QR code scanner using Vision Camera and the Dynamsoft Barcode Reader frame processor plugin. In this article, we are going to talk about how to build a barcode scanner using Expo. Expo is an open-source platform for making...
-
In the previous article, we built a Capacitor document scanning plugin based on the Dynamsoft Document Normalizer SDK. In this article, we are going to build a document scanner in Angular using the Ionic framework. Demo video of the final result: The app can take a photo or load an...
-
Capacitor is an open-source native runtime created by the Ionic team for building Web Native apps. We can use it to create cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS. Using Capacitor plugins, we can use JavaScript to interface directly with native APIs. In this article,...
-
In the previous article, we’ve built a document normalization React Native Vision Camera frame processor based on Dynamsoft Document Normalizer SDK. In this article, we are going to use it to build a React Native document scanning demo app. This article is Part 2 in a 2-Part Series. Part 1...
-
Mobile document scanning apps bring convenience to users by allowing them to scan travel documents, ID cards, passports and other types of documents on the go. This article aims to help C# developers, who do not have the background in computer vision, to build a mobile document scanning app for...
-
Dynamsoft Document Normalizer is an SDK to detect the boundary of documents and runs perspective transformation to get a normalized document image. A normalized image can be used for further processing such as OCR. In this article, we are going to create a React Native Vision Camera frame processor plugin...
-
Capacitor is an open-source native runtime created by the Ionic team for building Web Native apps. We can use it to create cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS. Using Capacitor plugins, we can use JavaScript to interface directly with native APIs. In this article,...
-
Capacitor is an open-source native runtime created by the Ionic team for building Web Native apps. We can use it to create cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS. Using Capacitor plugins, we can use JavaScript to interface directly with native APIs. In this article,...
-
Ionic is a popular framework to build cross-platform mobile web apps. In this article, we are going to build an Ionic Angular app based on Cordova to scan the MRZ codes which are often found on passports. The JavaScript version of Dynamsoft Label Recognizer is used to provide the ability...
-
Quasar is a Vue.js-based framework, which allows web developers to quickly create responsive websites/apps, while Capacitor is a runtime for creating cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS. In this article, we are going to use the two to create a QR code scanner using...
-
Dynamsoft Document Normalizer is an SDK to detect the boundary of documents and runs perspective transformation to get a normalized document image. A normalized image can be used for further processing such as OCR. In this article, we are going to create an Android document scanner using Dynamsoft Document Normalizer...
-
Previously, we created a Xamarin.Forms Barcode QR code scanner for Android and iOS. Xamarin.Forms is not the end for developing cross-platform mobile apps in C#, because .NET MAUI is on the way. Microsoft mentions that .NET MAUI is the evolution of Xamarin.Forms, and it supports both mobile and desktop development....
-
If you try to port Xamarin mobile projects to .NET MAUI, you will find there is no problem with packages built for Xamarin Android, but packages built for Xamarin iOS are incompatible. To tackle this issue, you need to change target framework to .NET 6 and rebuild related packages. Dynamsoft...
-
In the previous series of articles, we’ve created a react-native-vision-camera frame processor plugin of Dynamsoft Label Recognizer to recognize text. In this article, we are going to build an MRZ scanner using this plugin to better illustrate how to use it. MRZ stands for machine-readable zone, which is usually at...
-
Dynamsoft Label Recognizer (DLR) is an SDK that makes it easy to add text recognition function to our apps. We can use it to recognize text on labels, ID cards, etc. In this article, we are going to create a React Native Vision Camera frame processor plugin for DLR to...
-
Xamarin.Forms lets .NET developers create cross-platform mobile apps for Android and iOS in C#. This article demonstrates how to scan barcode and QR code from image file and live video stream using Xamarin.Forms Custom Renderers and Dynamsoft Barcode Reader SDK. In the end of this article, we will also demonstrate...
-
In the previous article, we’ve given a brief demonstration on how to use the capacitor-plugin-dynamsoft-barcode-reader to create a cross-platform QR code scanner using Ionic React. In this article, we are going to use Ionic Vue to create such a QR code scanner. Online demo Getting started with Dynamsoft Barcode Reader...
-
The Ionic framework has shifted its native runtime from Cordova to Capacitor. But we can still create Ionic Angular projects based on Cordova. In this article, we are going to create an Ionic Angular QR code scanning app based on Cordova using the cordova-plugin-dynamsoft-barcode-reader and the ionic wrapper. Preview of...
-
The WebView component included in modern mobile operating systems is becoming more and more powerful. For example, it supports showing the camera preview using getUserMedia and has support for WebAssembly, which makes it possible to use Dynamsoft Label Recognizer to create a text scanner to recognize text like passports’ machine-readable...
-
Google Chrome has getUserMedia support since v53 and WebAssembly support since v57, which makes it possible to use Dynamsoft Barcode Reader to scan barcodes and QR codes in the web context. The WebView component included in modern Android uses Chrome as its backend, so we can also run a barcode...
-
.NET MAUI is a cross-platform framework that allows developers to create desktop and mobile applications from a single codebase with C#. It is currently in preview and the production release is slated for Q2 2022. This article goes through the steps to build a .NET MAUI barcode and QR code...
-
The Ionic framework has shifted its native runtime from Cordova to Capacitor. But for compatibility concerns and the fact that there are many good Cordova plugins, we can still use Cordova plugins in an Ionic project. We can directly use Cordova plugins with the cordova object, but there is a...
-
Normally, we scan barcodes and QR codes from live camera streams or static images. But sometimes, we may need to read barcodes from video files, like scanning the barcodes on a long shelf and evaluating the performance of live scanning. A video contains rich information. A state-of-art mobile phone can...
-
Dynamic Web TWAIN has a new scanDocument API since v17.2, which makes it easy to capture documents using mobile cameras with its document border detection feature. Along with the RemoteScan feature that connects physical document scanners, we can now build a decent mobile document scanner with web technologies. In this...
-
In the previous article, we’ve given a brief demonstration on how to use the capacitor-plugin-dynamsoft-barcode-reader to create a cross-platform QR code scanner using web technologies with Capacitor. In this article, we are going to take a step further to create an Ionic React QR Code Scanner. Online demo on netlify:...
-
In the previous series articles, we’ve created a react-native-vision-camera frame processor plugin of Dynamsoft Barcode Reader to scan barcodes. In this article, we are going to build a QR Code scanner using this plugin to better illustrate how to use it. A preview of the final result: The app consists...
-
The MediaDevices.getUserMedia() API is the standard method for accessing cameras from web browsers. While it is straightforward, creating a complete web camera viewer involves considerable effort. Until recently, there was no ready-to-use JavaScript camera widget. However, with the release of the Dynamsoft Camera Enhancer library, this task has become much...
-
The previous popular react-native-camera project is now deprecated in favor of react-native-vision-camera. Vision Camera offers new APIs, better performance, improved stability and more features. It has a feature called Frame processors, which makes it easy to integrate extra image processing abilities. We are going to create a frame processor plugin...
-
I conducted an experiment to evaluate QR code detection performance using YOLOv4 on Android. The results showed that running the YOLOv4 model on the CPU took over 100ms per inference, which fell short of my expectations. To improve inference speed, I decided to leverage the Android Neural Networks API (NNAPI)...
-
In my previous article, I demonstrated how to create a simple Android QR code scanner. Building on that foundation, I’m taking things a step further by integrating the YOLOv4 Tiny model that I trained specifically for QR code detection into the Android project. But how effective is YOLO Tiny for...
-
Note: This article talks about how to build a QR code scanner native UI component for React Native. If you need to use Dynamsoft Barcode Reader in a React Native project for production, please use the official Dynamsoft Capture Vision SDK. React Native is an open-source UI software framework made...
-
A QR code scanner application is fundamentally composed of two key components: the camera preview and the QR code scanning functionality. While there are numerous QR code scanner apps available for download on the Google Play Store, building your own can be a more rewarding and educational experience. This article...
-
Although almost every Android phone is equipped with cameras, some Android devices, like TV boxes and kiosks, may not have cameras built-in. An easy way to add extra camera functionality to these devices is by connecting with a USB camera if they support USB-OTG. Starting from Android 9, the Android...
-
Capacitor is an open source native runtime created by the Ionic team for building Web Native apps. We can use it to create cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS.1 As an alternative to Cordova, Capacitor delivers the same cross-platform benefits, but with a more...
-
Apache Cordova is a tool to create cross-platform apps from standard web technologies (HTML, CSS, and JavaScript). Its primary purpose is to provide a bridge for native device API access and to bundle for distribution.1 In this article, we are going to use Cordova to build a QR code scanner...
-
ZeroMQ is a high-performance asynchronous messaging library, aimed at use in distributed or concurrent applications. It supports common messaging patterns (pub/sub, request/reply, client/server and others) over a variety of transports (TCP, in-process, inter-process, multicast, WebSocket and more), making inter-process messaging as simple as inter-thread messaging. 1 ZeroMQ can be used...
-
The market offers numerous QR code tools and SDKs, but not all are created equal. For Android development, Google ML Kit is a popular and free option, providing reliable support for general QR code detection. However, it falls short when it comes to high-density QR code detection. On the other...
-
Dynamsoft Camera Enhancer (DCE) provides high-level APIs for developers to quickly create a camera application, such as a barcode scanner and a text scanner. The API surface works across most Android and iOS devices. While it leverages the capabilities of Android’s Camera2 and iOS’s AVCaptureSession, it is much easier to...
-
This article is Part 2 in a 3-Part Series. Part 1 - Cross-Platform Barcode Reader with B4X Part 2 - B4X Live Barcode Scanner | Scan QR Codes From Camera Stream Part 3 - Web Barcode Reader using B4X In the previous article, we created a Dynamsoft Barcode Reader library...
-
B4X is a set of rapid development tools which can be used to develop apps for all the major mobile and desktop platforms. It has four products: B4A, B4i, B4J and B4R, which aim at Android, iOS, Java (desktop with JavaFX, server and Raspberry Pi) and Arduino development. Apart from...
-
Let’s continue discussing scanning QR codes at a distance. In this article, we’ll talk about resolution. Using the camera’s highest resolution Most of the current smartphones’ video stream resolution can be set to 1080P (Full HD) and many of them support 4K (Ultra HD) video capturing. The higher the resolution...
-
Have you had such an experience that you need to scan a QR code displayed on a screen in the front of a meeting room, but you sat in the back? You opened the barcode scanning app and aimed it at the code, but it just couldn’t read the code....
-
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...
-
Camera control and barcode reading are two essential parts of a barcode scanner. Dynamsoft Barcode Reader is an advanced barcode reader with an easy-to-use Android library. The implementation of the barcode reading function is simple and straightforward. Making a good camera app, however, is not easy. In Android, there are...
-
Previously, I shared an article on how to use the Camera2 APIs and Dynamsoft Barcode Reader to build an Android barcode scanner app capable of detecting fast-moving barcodes. In that project, the barcode decoding was implemented in Java, which left some room for performance improvements. By accessing the native buffer...
-
Imagine you’re using barcode technology to scan parcels on a fast-moving logistics conveyor belt. A common challenge is recognizing barcodes from blurred images caused by motion. While advanced algorithms can mitigate this issue, enhancing image quality is a more effective first step. One straightforward solution is to adjust the camera’s...
-
Developing Android camera apps can be more complex compared to iOS due to varying hardware specifications and vendor implementations. Since API level 21, the older Camera API has been deprecated in favor of the more powerful and flexible Camera2 API. In this post, we’ll explore how to create Android camera...
-
Dynamsoft Android Camera SDK is coming soon. In this article, let’s preview the SDK and learn how to write an Android document scanning app with a few lines of Kotlin code. Features Automatic border detection Trimming and perspective correction Image enhancement iOS image processing Offline I/O and PDF Customizable UI...
-
Last week I made a warm up for Kotlin, getting started to learn tutorials and reference. Now it is time to take the next step. Since Kotlin is hundred percent compatible with Java, we can use both programming languages without barriers in one project. In this article, I want to...
-
Cordova is a mobile application development framework that enables developers to build Android, iOS and Windows Phone apps using HTML5, JavaScript, and CSS3. It uses web views to render UI elements instead of the platform’s native UI framework. Cordova can be extended to add more functionalities with plugins. There are...
-
Flutter, a framework developed by Google, aims to help developers build iOS and Android apps from a single codebase in Dart programming language. It is still an early-stage open-source project. The development environment only works on macOS and Linux (64-bit). I was curious about how Flutter performs comparing to Xamarin...
-
No matter whether you are a mobile developer of Android or iOS, your ultimate goal is definitely to publish your apps on Google Play or App Store. Before submitting apps for review, you need to attach some screenshots used for promotion. Furthermore, you can record screen video in order to...
-
When creating an Android library for distribution, besides the class package, source code and documentation are also needed in order to assist developers. Although Eclipse is convenient that you just need to right-click on the project and choose export to generate Javadoc and JAR file, more and more Android developer...
-
When making third party libraries and SDKs for Android development, you could build so files, jar files, or aar files. I prefer providing aar files for distribution since aar file is a simple zip file which includes so files, jar files, and other resources. What’s inside aar file? /AndroidManifest.xml (mandatory) /classes.jar (mandatory)...
-
Tesseract is a well-known open source OCR engine that released under the Apache License 2.0. In this tutorial, I’d like to share how to build the OCR library for Android, as well as how to implement a simple Android OCR application with it. Ads Powered by Dynamsoft Tesseract Android Tools...
-
If you have a TWAIN-compliant scanner, you can easily control it with Dynamic Web TWAIN or Dynamic .NET TWAIN. Both SDKs can help you create some excellent applications for document scanning and management on PCs. However, have you ever complained that it’s so inconvenient to stay with your scanners and...
-
Java Native Interface (JNI) is the glue between Java and native code such as C, C++, and assembly. With JNI, Java applications are capable of supporting platform-specific features. JNI enables developers to call low-level APIs (e.g. SQL, OpenGL etc.) to make Java application more powerful with higher performance. For example, we can...
-
When you are going to purchase a new smartphone like iPhone 6 or Galaxy S5, don’t just throw your old devices away. Via socket connection, we can build a remote monitoring system with obsolete mobile devices instead of purchasing expensive Webcams or wireless cameras. In this article, I’d like to...
-
Barcode scanning, especially QR code scans, are now widely used in various applications. This includes advertisements, newspapers, social networks, signage, and so on. The growth of QR codes is in large part due to the smartphone market’s booming growth. As a result, scanning technology tends to be more and more useful...