Making,Dynamsoft,Barcode,SDK,A computer Making Dynamsoft Barcode SDK an Addon for Node.js


Gone are those times when the companies and the organisations didn't need a hi-tech system to handle them. Owing to the considerable increase in the business sector and thus, an enormous increase in the complexity of the organisational struc ----------------------------------------------------------Permission is granted for the below article to forward,reprint, distribute, use for ezine, newsletter, website,offer as free bonus or part of a product for sale as longas no changes a


Do you know which programming language is currently ranking first on GitHub? It is JavaScript! JavaScript is not only used for HTML5 Web application development, but also for server-side programming with runtime environment Node.js. With npm, the package manager for Node.js, it is so easy to install any Web frameworks or utilities. Although Node.js has provided many powerful JavaScript APIs, sometimes we have to create add-ons to empower Node.js with extra functionalities. In this tutorial, I’d like to share how to implement a JavaScript Barcode application with the custom addon, wrapped with C/C++ APIs of Dynamsoft Barcode SDK, for Node.js. Setting Up Environment for Node.js Addon DevelopmentTo build add-ons for Node.js, we need to install the tool node-gyp:1npm install -g node-gypCreate an empty C/C++ file dbr.cc and a configuration file binding.gyp. Specify add-on name and C/C++ source files:12345678{  "targets": [    {      "target_name": "dbr",      "sources": [ "dbr.cc" ]    }  ]}Build dbr.node with the following command:1node-gyp configure installUnder folder build, you will see Visual Studio files and dbr.node:123456789build    / binding.sln    / dbr.vcxproj    / dbr.vcxproj.filters    / config.gypi    / Release        / dbr.node        / dbr.pdb        / objFor more information, please read the basic tutorial of Node.js addons.Wrapping Dynamsoft Barcode SDK as the Addon for Node.jsLet’s double-click binding.sln to import the project to Visual Studio. Since node-gyp has added Node.js-relevant configurations, you just need to insert the directories of Dynamsoft Barcode SDK header files and libraries. Besides, add the post-build event:1copy "{installation directory}DynamsoftBarcode Reader 2.0 TrialRedistC_C++*.dll" "$(OutDir)"Register a native method, and export the initialization function:12345void Init(Handle exports) {    NODE_SET_METHOD(exports, "decodeFile", DecodeFile);} NODE_MODULE(dbr, Init)Convert barcode results to readable data for V8 JavaScript engine:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253void DecodeFile(const FunctionCallbackInfo& args) {     Isolate* isolate = Isolate::GetCurrent();    HandleScope scope(isolate);     // convert v8 string to char *    String::Utf8Value utfStr(args[0]->ToString());    char *pFileName = *utfStr;     int option_iMaxBarcodesNumPerPage = -1;    int option_llBarcodeFormat = -1;     pBarcodeResultArray pResults = NULL;    ReaderOptions option;    SetOptions(&option, option_iMaxBarcodesNumPerPage, option_llBarcodeFormat);     // decode barcode image file    int ret = DBR_DecodeFile(        pFileName,        &option,        &pResults        );     if (ret == DBR_OK){        int count = pResults->iBarcodeCount;        pBarcodeResult* ppBarcodes = pResults->ppBarcodes;        pBarcodeResult tmp = NULL;         // javascript callback function        Local cb = Local::Cast(args[1]);        const unsigned argc = 1;         // array for storing barcode results        Local barcodeResults = Array::New(isolate);         for (int i = 0; i Set(String::NewFromUtf8(isolate, "format"), Number::New(isolate, tmp->llFormat));            result->Set(String::NewFromUtf8(isolate, "value"), String::NewFromUtf8(isolate, tmp->pBarcodeData));             barcodeResults->Set(Number::New(isolate, i), result);        }         // release memory        DBR_FreeBarcodeResults(&pResults);         Local argv[argc] = { barcodeResults };        cb->Call(isolate->GetCurrentContext()->Global(), argc, argv);    }}For more information, please refer to v8.h and Chrome V8.Create a JavaScript file for test:12345678910111213141516171819202122232425var dbr = require('./build/Release/dbr');var readline = require('readline'); var rl = readline.createInterface({  input: process.stdin,  output: process.stdout}); rl.question("Please input a barcode image path: ", function(answer) {  // e.g. F:gitDynamsoft-Barcode-ReaderImagesAllSupportedBarcodeTypes.tif  dbr.decodeFile(    answer,    function(msg){      var result = null;      for (index in msg) {        result = msg[index]        console.log(result['format']);        console.log(result['value']);        console.log("##################");      }    }  );   rl.close();});Finally, run your simple JavaScript Barcode application with command line tool:Source Codehttps://github.com/Dynamsoft/Dynamsoft-Barcode-Reader/tree/master/samples/Node.js

Making,Dynamsoft,Barcode,SDK,A

computer

Equipment Rental Software – Features And Cost

Equipment rental management software is an essential thing these days for any equipment rental company.A well-developed equipment rental software provides you with a variety of features that can really help you maintain and organise your cus ...

computer

5 Big Reasons Why I Migrated From Angularjs To React

I have 5 main reasons for my angularjs to react migration. No, it's not a comparison on which is better. A comparison between apples and oranges would make no point. React is a library, and angular is a framework. Both can do stuff in their ...

computer

How to troubleshoot McAfee error 2318?

Security software means McAfee! For many computer users, McAfee antivirus is the only choice for security software as it provides all the features and tools which are necessary for device and data protection. This robust antivirus merely sho ...

computer

Manage Multiple Counter With AlignBooks Point of Sale

Fulfilling your businesss needs which can grow your firm is our aim. AlignBooks is better known for providing a strong pillar to newly started or midway businesss. Those companies who dont want to fall back with irregularity manage the inven ...

computer

How to Autoplay Embedded YouTube Videos

Source: How to Autoplay Embedded YouTube VideosEmbedding a video or audio enables the users to share their videos with any of their preferred sites or any social networking platforms. They can do so by copying the embedded link of the parti ...

computer

3 Major Mistakes to Avoid in Retail Business

Truth be told, nearly half of the retail businesses survive longer than four years and which can be something to ponder for a newbie before stepping into the industry. However, this being said, it is also true that you can excel in the indus ...

computer

Start Your Own Computer Repair Business

1. Know your street value. In the early 90's, running a PC repair business centered around selling parts and products, with service on the side. Today, it's about selling hours. If you run a business, you need to consider the X3 rule. That m ...

computer

How Establishments Show Up in Restaurant Searches

The revolutionary rise of technology has made things easy-peasy for consumers in the restaurant industry. Unlike the old days, the availability of innumerable platforms has made it possible for diners to choose from various searching options ...

computer

GuildWars 2 :

The last expansion pack for Guild Wars 2 was Path of Fire, which was released in 2017 and brings you a new enemy-Balthazar, the evil god of war. Although this doesn't sound like another expansion pack currently in production, some fans ma ...

computer

Customer Support at the time of COVID-19 Pandemic

COVID-19 is the worst crisis of our time as we observe social distancing protocols being imposed all around the world. While these measures are a step in effectively managing the COVID-19 pandemic, Hospitality and Retail businesses are confr ...

computer

How to Choose a Contract Management Solution (CLM)?

Contract life cycle management (CLM) systems can simplify and automate contract creation, negotiation, execution and storage. They are an intelligent alternative to the tedious hand tools formerly used for these tasks, which lacked visibili ...

computer

Contacting Google Live Person to Resolve Your Issues

Users are fond of all the Google supported products and look forward to the best services. Also, Google as a whole has never disappointed its users and helped them at every point with its commendable services. Also, being a customer-oriente ...

computer

how to uninstall discord

How to Uninstall Discord in Windows 10? has supported open source technologies, our tool is secure and safe to use. To uninstall a discord from your windows, you'll use this method which is given below.USING THIRD PARTY TOOLS1. Firstly, you ...