Some developers used JNA to call native C/C++ interfaces of Dynamsoft Barcode Reader in Java program. The app ran slowly and sometimes crashed. Based on the use case, I created a simple project for building JNA and JNI on Windows. The sample does not only show how to invoke native code but also share how to check the Java thread stack size and solve the stack overflow issue on Windows.
The article is not about how to create Java native methods invoking C/C++ APIs. It aims to help developers to build a jar package containing JNI shared library, made with Dynamsoft Barcode Reader, for Windows, Linux, and macOS from scratch. I will demonstrate how to create JNI shared libraries with CMake, as well as how to package class files and shared libraries into jar files with Eclipse and Maven.
Previously, I demonstrated how to use OpenCV and Dynamsoft Barcode SDK to build a Python barcode reader. There’s one problem that when barcode decoding takes a long time, the webcam video didn’t play smoothly. I also tried multithread but failed to tackle the issue either due to the Python GIL(Global Interpreter Lock). Now I’m inspired by multiprocessing which is the recommended way to break through the bottleneck.
ZXing is probably the most popular open source barcode SDK in the world. The library is written in Java and now has been ported to C++, .NET, Python, Objective-C, PHP and some other programming languages. Because ZXing is free, many developers would like to build barcode scanning apps with it. However, it is not competent for complicated business cases especially for images with multiple barcodes. In this article, I will show how to create a .NET barcode reader step by step and compare the performance difference between ZXing.Net and Dynamsoft Barcode Reader.
Previously, I wrote an article sharing how to build Python barcode extension using C/C++ with Dynamsoft Barcode Reader SDK. If Python developers want to use the extension, they have to make it by themselves. It is a little bit inconvenient. A better way is to package the extension and distribute it to PyPi. Then developers could directly install the extension using pip commands.
When searching for barcode SDK online, you can find lots of free and commercial SDKs. However, there are only a few of SDKs cross-platform, which is why Dynamsoft Barcode Reader is outstanding. Dynamsoft Barcode Reader SDK supports Windows, Linux, macOS, Android, iOS, and Raspberry Pi. Currently, the latest DBR 6.0 is better and faster than the previous version. The imperfection is it only supports Windows so far. If you need an SDK available for all platforms, please choose DBR 5.2. The post will help developers create a Node.js barcode reader with DBR 6.0 on Windows.
Two years ago, I created a sample for demonstrating how to wrap Dynamsoft Barcode Reader 4.2, a C++ barcode library, as an extension for PHP5. How time flies, the latest barcode library is up to version 5.2. Meanwhile, many developers start to write web program in PHP7. This post will help PHP developers figure out how to build a PHP barcode reader on Ubuntu 16.04 with DBR 5.2 and PHP7.
Dynamsoft Barcode Reader 6.0 SDK is the best version ever. It dramatically improved barcode detecting speed and accuracy, especially for multiple barcodes per frame. Since there are some new APIs and parameters, I have to update both C++ and Python code for the Python barcode extension that was built with DBR 5.2 correspondingly.
Dynamsoft Barcode Reader 6.0 is on the way. The major upgrade version improves the performance of barcode detection and recognition dramatically. It is over two times faster than version 5.2. In this post, I will disclose some new features and demonstrate the corresponding APIs.