Getthe new Resources folder under the installation folder of Dynamic Web TWAIN and update the folder in your application. Use your original dynamsoft.webtwain.config.js if you want to keep the old settings.
If your application uses a framework or library like Angular, React, Vue, etc. and uses the dwt package, you can just install the new version of Dynamic Web TWAIN to replace the old one and update the types definition as well. For example:
In certain scenarios, there may be requirements to store encrypted image caches on a local disk for temporary data storage or backup purposes. Dynamic Web TWAIN introduces a new feature that facilitates developers in securely storing image caches in encrypted form within the Dynamsoft Service folder.
Dynamic Web TWAIN v18.1 is restructured into two editions. While the standard Service Edition focuses on interactions with scanners, the Plus Edition offers support for mobile cameras as well. The goal is to make sure the Service Edition is small-sized, easy-to-use, and stable. The Plus Edition, on the other hand, is more comprehensive and offers flexibility in platforms and devices.
Plus Edition is a temporary edition as its enhanced features will be separated into another SDK product by the end of 2023. Due to the upcoming change, the Plus Edition is not available to download from the public website. If you want to access the Plus Edition now, please send a request to
sup...@dynamsoft.com.
Remote Document Scanning enables document scanning from all available Dynamsoft Services and eSCL scanners on the intranet through one proxy service, via any supported devices and browsers, without any software installation. Please refer to this documentation for more details.
In 18.0+, if you call Dynamsoft.DWT.GetWebTwain against a non-existant ContainerID, you will get a null return. Previously, if you made the same call in the same situation, the WebTWAIN object would still initialize. To initiate the WebTWAIN object against a ContainerID, please use GetWebTwain. To utilize a viewer-less WebTWAIN object, please use CreateDWTObjectEx
Added property organizationID which can be used to fetch license(s) belonging to the specified organization from the License Tracking Server. With this property, the licensing of the library is smoother from trial to full and it is much easier to manage a license change without code updates.
All enumerations are moved under Dynamsoft.DWT. For example, Dynamsoft.EnumDWT_PixelType and EnumDWT_PixelType work in version 16.2 and lower but now it must be written as Dynamsoft.DWT.EnumDWT_PixelType.
Added a new global property Dynamsoft.WebTwainEnv.IfAlwaysFocusOnPopupWindow to control whether to set focus on scanner-related windows opened by the Dynamsoft Service when the browser tab on which the SDK is running is active. In the past, these windows will be on top no matter which browser tab is active.
The second parameter for the method BindViewer() is deleted and it has only one parameter to specify the HTML element now. Therefore, you cannot use this method to create a thumbnail viewer anymore. Use the new method createThumbnailViewer() instead.
Fixed a bug where if you create a WebTwain instance under WASM-mode and then destroy it and create another WebTwain instance under Service-mode, you will be prompted to install the Dynamsoft Service even if it is already installed.
Fixed a bug where if the Dynamsoft Service is not installed and a WebTwain instance is created using the method CreateDWTObject() or CreateDWTObjectEx(), the connection to the service is not attempted automatically as expected (a page refreshing is required).
Added method SetProductKeyAsync() which sets the product key asynchronously. Previously, the property ProductKey was used for both setting and reading the key. The same behavior is kept in 16.1 but the recommendation now is to use the method SetProductKeyAsync() to set it and use the property ProductKey to read it.
Added built-in video processing feature which enables video streaming, edge detection, perspective adjustment, capturing, etc. Related APIs include showVideo(), closeVideo() and two callbacks video-closed and video-error .
If a WebTwain instance is created without a built-in Dynamsoft Viewer, you can create a Viewer later and bind it to the existing WebTwain instance using the new method BindViewer() . The Viewer can also be updated or unbound with the new methods UpdateViewer() and UnbindViewer() .
Dynamsoft Service keeps a whitelist of all images in buffer as well as images saved by the Service. The whitelist lives on until the current service process is destroyed.Each Dynamic Web TWAIN object keeps a whitelist of file paths that are retrieved in the callback OnGetFilePath for the method ShowFileDialog() .
[HTML5] Fixed a bug where Dynamsoft Service gets stuck when you try to perform concurrent operations on the same image(s) like uploading and converting them at the same time.[HTML5] Fixed a bug where Dynamsoft Service crashes when the callback OnBitmapChanged is called recursively.
In v10.0.1 there is no limit to the size of an Http Request. In v10.0, the WebSocket connection could have failed to be built if the size of Http Header exceeds 1kB, which led to a recurring prompt for installation.
Please note that Dynamsoft provides maintenance and support for every version of SDK for TWO years from their general availability date. Therefore, if you are using a very old version, we suggest you schedule an upgrade to the latest version. You can contact
sa...@dynamsoft.com for any questions.
I am trying to implement Dynamsoft Web Twain in my Angular project. There is no config.js file in my node modules. Only dynamsoft.webtwain.min.js and dynamsoft.webtwain.min.mjs is available. So how to add or change the configurations of the dynamsoft without changing library files?
Due to Dynamic Web TWAIN being a long-standing and popular product among enterprises, customers who have integrated Dynamic Web TWAIN may be using various versions. To provide better technical support, customers will need to provide the SDK version number they are using to help Dynamsoft understand the situation more accurately. This article will outline several methods to assist users in finding the current SDK version they are using.
However, since Dynamic Web TWAIN is a popular document scanning SDK and has been integrated to many web applications all over the world, it is not uncommon that some end users use two different websites (developed by two different vendors) integrated with different versions of Dynamic Web TWAIN on the same computer.
This library is the Node.js edition of Dynamsoft Barcode Reader. If you are looking to implement barcode reading feature in a web page, please check out the other library Dynamsoft JavaScript Barcode SDK for Web.
The library is based on webassembly which has been an official feature of Node.js since LTS 8. If you are using Node.js LTS 8 and have no plan to upgrade it, check out how to use the library in Node.js LTS 8. That said, Node.js version >= LTS 12 is recommended because the library will try to use worker_threads when decoding.
Dynamsoft Service is the core piece of Dynamic Web TWAIN when running in Service mode. It handles the communication between hardware (scanner, webcam, etc.) and browser, manages the image buffer, and coordinates data between different modules.
For security purposes, you may want the Dynamsoft Service to only respond to requests from specified origins. Starting from Dynamic Web TWAIN version 18.5, this can be achieved by adding Access-Control-Allow-Origin in the DSConfiguration.ini file.
You can set multiple origins by using commas as the separator, and or needs to be specified before each origin. If there is a port for the origin, please remember to specify it. If not specified, the default port is 80.
On a desktop, when a new user accesses a web page using Dynamic Web TWAIN SDK for the first time, he will be prompted to install the Dynamsoft Service. This is a built-in behaviour of the library. The prompt will display the download link. Once the installer is downloaded, the installation process will take just a few seconds.
Dynamsoft Barcode Reader JavaScript Edition (DBR-JS) is equipped with industry-leading algorithms for exceptional speed, accuracy and read rates in barcode reading. Using its well-designed API, you can turn your web page into a barcode scanner with just a few lines of code.
However, please DO NOT use
download2.dynamsoft.com resources in a production application as they are for temporary testing purposes only. Instead, you can try hosting the SDK yourself.
To work properly, the SDK requires a few engine files, which are relatively large and may take quite a few seconds to download. We recommend that you set a longer cache time for these engine files, to maximize the performance of your web application.
Upon registering a Dynamsoft account and obtaining the SDK package from the official website, Dynamsoft will automatically create a 30-day free trial license and embed the corresponding license key into all the provided SDK samples.
The image processing logic is encapsulated within .wasm library files, and these files may require some time for downloading. To enhance the speed, we advise utilizing the following method to preload the libraries.
The CaptureVisionRouter object, denoted as cvRouter, is responsible for handling images provided by an image source. In our scenario, we aim to detect barcodes directly from a live video stream. To facilitate this, we initialize a CameraEnhancer object, identified as cameraEnhancer, which is specifically designed to capture image frames from the video feed and subsequently forward them to cvRouter.
You can use the parameter roi (region of interest) together with the parameter roiMeasuredInPercentage to configure the SDK to only read a specific region on the image frames. For example, the following code limits the reading in the center 25%( = 50% * 50%) of the image frames:
3a8082e126