Thanks for Downloading Dynamic Web TWAIN 30-Day Trial!
Your download will start shortly. If your download does not begin, click here to retry.
Stable Releases
18.5 (05/14/2024)
New features
-
Save the encrypted image caches in local Dynamsoft Service folder
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.
-
Access-Control-Allow-Origin for Dynamsoft Service
A new security feature configures Dynamsoft Service to respond only to requests from specified origins.
-
Generate the encrypted PDF files
Supports the generation of encrypted PDF files with password protection.
New APIs
-
Global
APIs Description IfCheckCORS
Whether to check CORS issue in detail. -
Buffer
APIs Description updateImage()
Update the specified image with a new image. OnDiskExceedLimit
A built-in callback triggered when disk cache exceeds the limit. -
Input/Output
APIs Description createLocalStorage()
Create a storage folder locally to save the cache of encrypted images. localStorageExist()
Determine whether the storage folder exists or not. saveToLocalStorage()
Save encrypted image caches to the specified storage folder. loadFromLocalStorage()
Load image from the specified storage folder. removeLocalStorage()
Remove the specified storage folder. httpUploadBlob()
Upload images which are in blob format. saveBlob()
Save image which are in blob format. IfSortBySelectionOrder
Whether to load the files by the selection order when load files by open file dialog.
Improvements
- Updated third-party libraries to enhance security.
- Added an optional parameter
capabilities
to the methodgetCapabilities()
for getting specified capabilities. - Added
modifyId
to the interfaceBufferChangeInfo
for returning theimageId
of the modified image whenOnBufferChanged
is triggered. - Added
password
to the interfacePDFWSettings
for configuring the password of the PDF file to save whenWrite.Setup()
is called. - Added data type
Device
to the parameterscanner
in the interfaceScanSetup
for supporting the device object whenstartScan()
is used. - Optimized the quality of the deskewed image in the built-in ImageEditor.
Changes
-
Changed the design of the default Dynamsoft Service installation pop-up.
-
Changed the data type of
imageId
fromnumber
tostring
. The affected APIs are as follows:- Methods:
ImageIDToIndex()
,IndexToImageID()
-
Interfaces:
Interfaces Related Methods or Events TagInfo
GetTagList()
DocumentInfo
GetDocumentInfoList()
OutputInfo
OnPostTransferAsync
BufferChangeInfo
OnBufferChanged
- Methods:
Bug fixes
- Resolved a bug where a predominantly white image turned black when changing its bit depth to 1 or converting it to B&W by fixing a threshold issue in the methods
ChangeBitDepth()
andConvertToBW()
. - Resolved the file compatibility issue when loading PDF files via drag and drop.
- Resolved a bug where
Dynamsoft.DWT.Unload()
was still called even when the web page reload was cancelled.
Barcode Reader Addon
- Updated to version 9.6.40.
18.4.2 (12/05/2023)
- Security update for Dynamsoft Service.
18.4.1 (10/24/2023)
MacOS Service Hotfix
- Due to changes introduced with ICA drivers, Dynamic Web TWAIN may exhibit strange behaviour while scanning. This release updates the Dynamsoft Service for MacOS to address these issues. See this article for more details.
DWTObject process optimization
- Fixed an issue where if the Web TWAIN object was deleted from context mid scan, the scanning queue would not terminate, leaving any future requests being left pending in queue.
18.4 (09/26/2023)
This Version’s Highlights
- Enhanced the encryption algorithm to strengthen local cache security.
- Added the ability to stylize the selection box in the Viewer and Image Editor.
- Added a new function that allows you to export the selected image area to either a blob or base64 format.
- Added a property to relocate the server-side folder that hosts the Dynamsoft Service installers.
- Added a new blank page detection method.
- Added a RESTful API (See this article for more details)
New APIs and Properties
Viewer and Image Editor Improvements
- Added
updateSelectionBoxStyle()
to both the Viewer and the Image Editor to allow for custom styling of the rectangular selection box used when selecting a portion of an image in the Viewer and Image Editor.
Editor Functionality
- Added
OutputSelectedAreaAsync()
to export the selected image area to blob or base64.
Resource Optimization
- Added
Dynamsoft.DWT.ServiceInstallerLocation
to allow moving the dist folder to a different location than the Resources folder.
Buffer
- Added
MoveToDocumentAsync()
andCopyToDocumentAsync()
to allow for more multi-document handling. - Added
IsBlankImageAsync()
as an additional blank page detection method using a different algorithm than the existingIsBlankImage()
andIsBlankImageExpress()
functions. This method allows for sensitivity customization, enabling users to overlook minor marks and disregard background patterns. This API currently is Windows only.
Improvements
PDF Rasterizer
- Added new
ReaderOptions
interface. - Added functions
SetReaderOptions()
andGetReaderOptions()
to utilize the newReaderOptions
interface.
File Saving
- Saving a Black and White JPG will now automatically convert the image to grayscale prior to saving. This is due to the limitation that JPGs do not allow black and white images. Previously, Black and White images were not able to be saved to JPG without manually converting the colourspace prior.
Bug Fixes
- Fixed a bug where the Content-Type of ConvertToBlob was sometimes incorrectly reported in the response back from the Dynamsoft Service.
- Fixed a bug where setting the container size by percentage caused incorrect viewer sizing.
Deprecations
PDF Rasterizer
[Alternative] Use the
SetReaderOptions()
andGetReaderOptions()
functions instead.
- GetConvertMode()
- SetConvertMode()
- SetPassword()
- SetResolution()
Viewer
- selectedAreaBorderColor has been deprecated. Please use the
updateSelectionBoxStyle()
function.
18.3 (06/20/2023)
New Features
Image Viewer
- Add a new property zoomOrigin to determine the zoom origin as well as adding to ImageEditor and EditorSettings.
Preview Feature
PDF Compressor (Beta)
- PDF Compressor is a compression technology based on color clustering which can help to reduce the file size when saving images as a PDF file. To preview this feature, please see this demo. Please contact us if you have any feedback or suggestions.
Improvements
Image Viewer
- Optimized display speed of images in the viewer when view is set to n*n ViewMode.
Android Service
- When the remaining valid date of the local.dynamsoft.com certificate is less than or equal to 21 days, the certificate will be automatically renewed in the network environment.
Remote Scan
- Optimize the configuration pages of Bonjour Service and Proxy Service to make the process clearer and easier to proceed.
General Improvements
- Update third-party libraries to the latest version.
- Remove redundant 32-bit dlls from Dynamsoft Service 64-bit installation directory.
18.2 (05/09/2023)
New Features
WIA 2.0 Scanner Support
- Added support for direct control of WIA 2.0 drivers in EnumDWT_DeviceType.
Optimized Android Service for document scanning from Android devices
- The Android service is available on Google Play Store.
- Expanded the capabilities of the Android platform. See the APIs supported on Android service.
Remote Scan
- The Remote Scan solution powered by Dynamic Web TWAIN is now officially available. Using Remote Scan, you can turn any of your traditional document scanners into a network accessible scanner and allow your end users to use it without any client side installs. Read this documentation to learn how the Remote Scan solution works.
Improvements
Image Viewer
- The Viewer component has been migrated to a dedicated resource file. This will allow for viewerless implementations of Dynamic Web TWAIN, as well as reducing the load on the browser by removing the necessity of loading the Viewer resources into memory when the Viewer is not being used. See the property Dynamsoft.DWT.UseDefaultViewer.
- Added the enum EnumDWT_WorkMode with a new option for image editor setting. Please refer to createImageEditor.
- Added new method
save()
to the ImageEditor object, please refer to createImageEditor.
Optimized error handling during web twain initialization
- Added the OnWebTwainError event for better capturing errors during the Web Twain object initialization.
General Improvements
- Updated the barcode reader library to v9.6.20
- Improved progress bar accuracy during the encoding and decoding operations
Bug fixes
Fixed bug where ShowFileDialog might not work properly on MacOS.
18.1 (01/12/2023)
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.
The following table gives a quick comparison between the two editions.
Service Edition | Plus Edition | |
---|---|---|
Interact with scanners from browsers on Windows, macOS and Linux | Yes | Yes |
Interact with scanners from browsers on Android | This will be supported in the next release. | Yes |
Interact with mobile cameras on iOS and Android devices | No | Yes |
Barcode Reader addon | Windows platform for now | Cross-platform support on all desktops and mobile |
Remote Scan | Windows/macOS/Linux support | Cross-platform support |
NOTE:
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 support@dynamsoft.com.
18.0 (12/22/2022)
Localhost Scan
New Features
Service Edition for Android
- Enable document scanning from eSCL-compatible scanners or Wi-Fi Direct scanners directly to your Android mobile device. Please refer to this blog for more details.
Get Dynamsoft Service in Google Play
Scanner
- Added new method GetDevicesAsync.
- Added new method SelectDeviceAsync.
- Added new method AcquireImageAsync.
- Added new optional parameter
deviceType
to the method SelectSourceAsync.
Mobile Web Capture
- Support turning on/off torch
- Added new method turnOnTorch and turnOffTorch.
- Added new method getCapabilities.
- Added new property
torch
toScannerViewer
. Refer to scanDocument.
Improved Features
- All license key types can now be specified with the API Dynamsoft.DWT.ProductKey.
- Added new property Dynamsoft.DWT.DeviceFriendlyName which defines the specific device that consumes the license quota
- Added new enumeration Dynamsoft.DWT.EnumDWT_ExtImageInfo
- Updated Barcode Reader add-on library to version 9.4. Check out the release notes for Barcode Reader JavaScript SDK - 9.x
Bug Fixes
- Base64 string returning null on load
- Scanner source name not showing on source list
- OnPreExecute not removing loading bar
- ConvertToBase64 not working in v17.3
Deprecations
- Check out the Deprecations page for v18.0 deprecations.
Changes to ActiveX Edition
- Added the following API supports for better compatibility with HTML5 Edition: HTTPUpload, ConvertToBase64, OnBufferChanged, CloseSourceAsync, OpenSourceAsync, GetSourceNamesAsync, CloseSourceManagerAsync, OpenSourceManagerAsync
Remote Scan
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.
Breaking Changes
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
17.3 (06/30/2022)
New and Improved Features
Mobile Web Capture
- Improved performance and user experience with re-designed mobile document capture workflow. Some highlights:
- The original copy of an image is kept in the new document editor object so you can always go back to the original image to make any edit.
- Building your custom workflow to trigger actions in your desired sequence is made easy.
- Interface elements in the viewer/editor are now customizable. You can easily add/remove icons or change their style.
See the live demo.
Buffer
- Added new method RenameDocument.
- Renamed methods
- CreateFile -> CreateDocument
- OpenFile -> OpenDocument
- GetCurrentFileName -> GetCurrentDocumentName
- RemoveFile -> RemoveDocument
- GetFileInfoList -> GetDocumentInfoList
- Added new method GetRawDataAsync.
Viewer
- Added new method updateCheckboxStyle to customize checkboxes. This method is also added to
ThumbnailViewer
. Refer to createThumbnailViewer. - Added new method updatePageNumberStyle to customize page numbers. This method is also added to
ThumbnailViewer
. Refer to createThumbnailViewer. - Added new properties
checkbox
andpageNumber
toThumbnailViewerSettings
. Refer to createThumbnailViewer. - Added a new parameter
documentConfiguration
to the method createTemplate. - Added new method createDocumentEditor.
- Added new property selectionMode.
- Added new property allowPageDragging.
Minor Improvements
- Modified Dynamsoft.DWT.EnumDWT_PDFCompressionType from
PDF_JBig2
toPDF_JBIG2
. - Made changes to support organizationID value for Dynamsoft.DWT.ProductKey.
- Enabled license key validation for the correct version during initialization.
Bug Fixes
- On MacOS, images in the viewer were sometimes lost when waking up from sleep mode.
- Incorrect error message displayed when using camera function with UseLocalService set to true.
- Unchecking checkboxes did not trigger the OnBufferChanged event.
- Failed to load dll for PDF decoding or encoding when using v17.x SDK with an older version image dll file.
- Images failed to display in print window.
- Edited images not showing correctly in Image Editor.
- Images not displaying correctly in landscape mode when printing from Image Editor.
- Iframe not working in Edge due to Content Security Policy.
Deprecations
- Check out the Deprecations page for v17.3 deprecations.
17.2.5 (03/29/2022)
Improved Features
- Updated the files dynamsoft.webtwain.initiate.js and dynamsoft.webtwain.addon.camera.js for better performance of mobile document capturing when using Safari on iOS/iPadOS 13+
Bug Fixes
- Updated the file dynamsoft.webtwain.initiate.js to resolve a memory leak issue in v17.2.1 on Chrome 98+ when the view mode is set to (-1, -1) or if a thumbnail viewer is used.
17.2.1 (02/24/2022)
Improved Features
- Made changes to handle CORS preflight requests sent by Chrome from V98. Learn more here.
- For Chromium V84+, use userAgentData instead of userAgent in response to UserAgent String phasing out issue.
Bug Fixes
- Fixed a bug where Dynamsoft Service installation/uninstallation failed due to the current user account does not match the user account under C:\Users{account}. Learn more here.
- [HTML5 on MacOS] Fixed a bug where the short key (set by organizationID) did not work on macOS 12+.
- Fixed a bug where the mouse wheel did not work when the mouse was over the viewer.
- [HTML5 on MacOS] Fixed a bug where buttons were not visible during Dynamic Web TWAIN/Dynamsoft Service installation when using dark mode.
17.2 (01/20/2022)
New Features
Buffer
- Organize images in a set
- [HTML5 & WASM] Added new method
CreateFile()
. - [HTML5 & WASM] Added new method
OpenFile()
. - [HTML5 & WASM] Added new method
RemoveFile()
. - [HTML5 & WASM] Added new method
GetCurrentFileName()
. - [HTML5 & WASM] Added new method
GetFileInfoList()
.
- [HTML5 & WASM] Added new method
- [HTML5 & WASM] Added new method
GetTagListByIndex()
.
Editor
- [HTML5 & WASM] Added new method
ChangeBrightnessAsync()
. - [HTML5 & WASM] Added new method
ChangeContrastAsnyc()
.
Camera
- [WASM] Added new method
scanDocument()
to capture document(s).
Viewer
- [HTML5 & WASM] Added new property
showCheckbox
. - [HTML5 & WASM] Added new method
createTemplate()
to create document scanner template.
Improved Features
- Improved the mobile document capture in WASM mode. See more here.
- Added
CM_RENDERALLWITHANNOTATION
convert mode to EnumDWT_ConvertMode to support loading PDFs with annotations. - Modified DynamicImage.dll(DynamicImagex64.dll) to improve encoding and decoding mode of TIFF files.
- Updated Barcode Reader library to version 8.6. Check out the release notes for Barcode Reader JavaScript SDK - 8.6
Bug Fixes
- Fixed a bug where the image displayed in the thumbnail may be inconsistent with that on the canvas when switching tags through
FilterImageByTag
. - Fixed a bug that Dynamic Web TWAIN object could not be initialized when using iframe in Edge.
- [HTML5 on macOS] Fixed a bug where
IfDuplexEnabled
may not work for some scanners. - [HTML5 on macOS & Linux] Fixed a bug where calling
LoadDibFromClipboard
does not work after callingCropToClipboard
.
17.1.1 (08/19/2021)
Improved Features
- Updated DSSCN2.exe and DSSCN2x64.exe to optimize scanner compatibility.
- Improved the performance for the Dynamsoft Service connection.
- Improved LoadDibFromClipboard to make it more stable.
Bug Fixes
- Fixed a bug where operating system incorrectly judged when using Dynamic Web TWAIN with Electron.
- Fixed a bug that drag and drop does not work when loading multiple files.
17.1 (06/15/2021)
New Features
-
Added support for ChromeOS. See more here
-
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.
Improved Features
-
The built-in viewer can now display thumbnails faster.
-
Installers for ARM x64 and MIPS x64 are now included in the package by default.
-
Separated the library into two distinctive modes: Desktop Service and WebAssembly for easier understanding and usage.
Major Bug Fixes
-
Fixed a bug where the image fails to be displayed after it gets cropped and saved in the built-in ImageEditor.
-
Fixed a bug where images meant to be saved on the hard disk end up in the image buffer on macOS.
-
Fixed a bug where erasing part of an image will change its original display mode to be ‘centered’.
Changes to ActiveX Edition
- Fixed a bug where the barcode reader addon fails to initiate on IE 10.
17.0 (04/20/2021)
New Features
-
Added support for 64-bit ARM based computers. Video
-
Added support for 64-bit MIPS based computers.
-
Added support for trackable license types such as “Per Browser Client”. This new license mechanism is incompatible with the traditional product key. The related APIs are licenseServer, handshakeCode, sessionPassword, licenseException.
-
Added method
RemoveTag()
to remove a specified tag from one or multiple images. -
Added method
GetTagList()
to return the status of all current tags. -
Added method
PrintEx()
to support selective printing. -
Added property
autoChangeIndex
which, when set to true, will make sure the first image in the viewer is always selected when scrolling through multiple images.
Improved Features
-
The built-in viewer now consumes less memory than before.
-
Scanning via ICA now supports the transfer modes File and Memory.
-
Upgraded the encryption algorithm for locally cached images from 64-bit Blowfish to AES-256-GCM encryption.
-
DefaultSourceName
now refers to the last used source. -
Updated Barcode Reader library to version 8.2.1. Check out release notes for Barcode Reader JavaScript SDK - 8.2.1.
Changed Behaviours
- The property Viewer.selectedAreaBorderColor now also applies to the selection box on the video opened by the method
showVideo
.
Breaking changes
Moved
-
The original namespace
Dynamsoft.WebTwainEnv
is renamed toDynamsoft.DWT
. -
All enumerations are moved under
Dynamsoft.DWT
. For example,Dynamsoft.EnumDWT_PixelType
andEnumDWT_PixelType
work in version 16.2 and lower but now it must be written asDynamsoft.DWT.EnumDWT_PixelType
.
Others
-
Server-side OCR pro is no longer supported in this version.
-
When OCR Pro is used on the client side, it requires a trackable license. The traditional product key no longer works.
Bug Fixes
-
Fixed a bug where the method
CloseSourceManager()
gets called too many times and slows down scanning when you use SelectSourceByIndex() for source selection. -
Fixed a bug where you get an incorrect name with the API
CurrentSourceName
orDefaultSourceName
.
Notice
- The package @types/dwt is no longer maintained, the type definitions are included by default in the dwt package since version 16.2.
NPM related
- Add changes to Types
- Added definition for
UseLocalService
,RemoveTag()
andGetTagList()
. - Removed old definitions based on version 12, 13 and 14.
- Renamed namespace WebTwainEnv to DWT.
- Moved enumerations under Dynamsoft.WebTwainEnv.
- Added definition for
16.2
(01/18/2021)
New Features
- Connection with the Dynamsoft Service is now maintained after the computer awake from sleep or hibernation.
- Only on Windows or macOS.
- Added a new event
OnBufferChanged
which is triggered when the buffer changes like- New pages enter the buffer.
- Existing pages are removed.
- Existing pages are modified.
- Existing pages are shifted.
- Existing pages are filtered by a specified tag.
- Page selection changes.
-
Added a configuration page to update the host or ports of the Dynamsoft Service. By default, this page can be accessed by the URL http://127.0.0.1:18625/admin/.
- The default loader bar can now be customized with the API
Dynamsoft.WebTwainEnv.CustomizableDisplayInfo.loaderBarSource
.- Only effective when set before the page finishes loading (i.e. before DOMContentLoaded).
-
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. -
Shadow DOM is officially supported.
-
Added support for ARM-based macOS.
- Added support for 64-bit Raspberry Pi.
Improved Features
- Made the viewer more independent and robust. Related APIs are redesigned.
- Added a new global property
Dynamsoft.WebTwainEnv.UseDefaultViewer
to control whether the built-in viewer is used.
- Added a new global property
- Scanning remotely now supports showing the Manufacturer’s User Interface.
- Only when the remote machine is Windows.
- To show the UI, use
AcquireImage()
with the parameterdeviceConfiguration
instead of the APIIfShowUI
. - Check out how to enable remote scan.
- Improved the tagging mechanism
- Added a new method
RenameTag()
to rename an existing tag. - Added a new method
ClearFilter()
to stop filtering images by tag. - The method
FilterImagesByTag()
shows all images if no parameter is passed or shows no image at all if the tag value passed doesn’t exist or there is no images under that tag.
- Added a new method
-
Updated the signatures for the files on macOS so that TWAIN drivers can be populated correctly.
-
Added global configuration options for the WASM-mode which includes
maxHeapSize
andfetchOptions
. -
Improved the methods getCapabilities and setCapabilities so that they work for ICA drivers on macOS too.
- The Barcode Reader add-on is upgraded from 7.4.0.0428 to 7.6.0.0112.
- Improved the display quality of the viewer in single-image mode (-1 * -1).
Changed Behaviours
-
When the view changes from single-image mode to multi-image mode, the cursor used to be changed to “hand” which means you can drag and drop images, in v16.2, the cursor will stay unchanged. In other words, if the cursor was “crosshair” in single-image mode, it’ll continue to be “crosshair” in multi-image mode which means you can continue to draw rectangles on these images (NOTE that you can only draw on the current image). You can use the property Viewer.cursor to change the cursor in this case.
-
The properties
Width
andHeight
will always return the actual number of pixels even if you set them with a percentage like “50%”. -
The properties
BackgroundColor
andSelectionImageBorderColor
will always return a string that represents the style (colour, border, etc.) even if you set them with numbers. For example,BackgroundColor
returns “#000032” if you set it to “50” andSelectionImageBorderColor
returns “1px solid #000032” when you set it to “50”. Also, these two properties are deprecated and should be replaced byViewer.background
andViewer.selectedPageBorder
. -
The properties
IfFitWindow
andFitWindowType
are now write-only as their actual values may not be correct when you read them. As these properties are deprecated, usefitWindow()
instead. -
Added a 3rd parameter
fill
to the methodplay()
which determines whether the video should fill the whole viewer and have a part of the video hidden. In v16.1.1-, the default behavior is to fill the whole viewer and in v16.2, it’ll put the video within the viewer and possibly leave some margin. -
On macOS, the default transfer mode for TWAIN drivers is changed from “native” to “memory”.
-
The “Cut” (“Erase”) button in the image editor now cuts the selected area to the clipboard instead of just erasing the area.
-
The “Stretch” button is deleted from the image editor.
-
The type declaration files are now included in the
Dynamic Web TWAIN
package. From version 16.2 on, these files are no longer maintained on DefinitelyTyped.
Breaking changes
Moved
-
The methods
showVideo()
andcloseVideo()
are moved from the interfaceViewer
toAddon.Camera
. -
The method
showVideo()
has added two more parametersmode
andfill
and the video starts in the new defaultpicture
mode. To get the old behavior, use thedocument
mode.
Deleted
-
The property
SelectedImagesCount
and the methodGetSelectedImageIndex()
are deleted. UseSelectedImagesIndices
instead. -
The method
SetSelectedImageIndex()
is deleted. UseSelectImages()
instead. -
The method
UpdateViewer()
is deleted. There is no alternative method. -
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 methodcreateThumbnailViewer()
instead.
Others
- Check out Viewer related API changes in version 16.2.
Bug Fixes
-
Fixed a bug where if you create a
WebTwain
instance under WASM-mode and then destroy it and create anotherWebTwain
instance under Service-mode, you will be prompted to install the Dynamsoft Service even if it is already installed. -
Fixed a bug with the scanner model “Canon DR-M260” (200 series) where the manufacturer’s UI hangs or disappears once it is shown.
-
Fixed a bug on macOS where 1-bit TIFF files become inverted once they are transferred via the system clipboard.
-
Fixed a bug where changing the UI of the image editor will affect the main viewer.
-
Fixed a bug where the method
updateRuntimeSettings
will overwrite all settings you set with the methodinitRuntimeSettingsWithString
. -
Fixed a bug where the wrong PDF library is referenced when the SDK switches to the Service-mode from WASM-mode.
-
Fixed a bug on mobile devices where once an image is cut, its metadata is lost and can no longer be printed (it appears blank when being printed).
-
Fixed a bug where if the Dynamsoft Service is not installed and a
WebTwain
instance is created using the methodCreateDWTObject()
orCreateDWTObjectEx()
, the connection to the service is not attempted automatically as expected (a page refreshing is required). -
Fixed a bug with the API
Dynamsoft.WebTwainEnv.CustomizableDisplayInfo
so that it now works again. -
Fixed a bug where removed images remain in the viewer.
-
Fixed a bug where if you set the
display
attribute of the viewer tonone
, it becomes black. -
Fixed a bug where global keyboard or mouse events registered to the Dynamsoft Viewer were not released correctly.
Deprecations
- Check out the Deprecations page for v16.2.
Changes to ActiveX Edition
- Internet Explorer 8 is no longer supported.
- Fixed a bug where when saving an image as TIFF, the same image gets duplicated in the buffer.
16.1.1
(08/13/2020)
Changed Behaviours
-
Whether to load the
WASM
for the Camera module is now optional (used to be mandatory in16.1
) and is disabled by default. -
The webcam/camera license is now considered a core license and can be used without a scan license.
16.1
(08/04/2020)
New Features
-
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 methodSetProductKeyAsync()
to set it and use the propertyProductKey
to read it. -
Added methods
GetSourceNamesAsync()
,SelectSourceAsync()
,SelectSourceByIndexAsync()
,OpenSourceAsync()
,CloseSourceAsync()
,OpenSourceManagerAsync()
,CloseSourceManagerAsync()
, as asynchronous complements to their existing synchronous methods. -
Support showing both 64-bit TWAIN drivers and 32-bit TWAIN drivers at the same time.
NOTE: This driver type does not work if we call
SelectSource()
synchronously (without callbacks).
-
Added APIs under
Addon.Camera
as a complement to the existing APIs underAddon.Webcam
. These APIs includegetSourceList()
,selectSource()
,getCurrentSource()
,closeSource()
,getResolution()
,setResolution()
,getCurrentResolution()
,play()
,pause()
,resume()
,stop()
,getStatus()
andcapture()
. Unlike the old APIs underAddon.Webcam
which are good only on Windows, the new APIs are good on Windows, macOS, Linux as well as iOS & Android. -
Added a property
UseLocalService
to return whether aWebTwain
instance is running in the Local-Service mode or WASM mode. -
Added built-in video processing feature which enables video streaming, edge detection, perspective adjustment, capturing, etc. Related APIs include
showVideo()
,closeVideo()
and two callbacksvideo-closed
andvideo-error
.
NOTE: on desktop, this feature requires a webcam/camera addon license.
Extra Features
- Added a feature to run Dynamsoft Service with the account “Local Service”. By default, it is still “Local System”. Contact Dynamsoft to learn more.
Beta Feature
- 16.1 now supports acquiring images from a remote scanner which is connected to a machine which is connected via HTTP. This feature is designed to enable document scanning on mobile devices.
Better Performance
- Improved the speed to initialize the library under WASM mode by splitting one WebAssembly file into multiple files and loading them in the background.
- Improved memory usage by sharing the same heap among multiple WebAssembly workers.
- Improved image decoding by removing unnecessary image processing operations as well as lowering the memory usage.
- Improved data transferring efficiency by using pointers instead of strings.
- Improved performance by saving compiled WebAssembly code into the working process for later use.
Changed Behaviours
- This version is backward compatible with version 16.0. This means once you have installed the Dynamsoft Service for version 16.1, an application running version 16.0 also works without the need to install the Service for version 16.0.
- The method
LoadImageEx()
now supports mobile platforms as well. - Dynamsoft Service directory is now named with its major version in it. For example,
/DynamsoftServicex64/
is now/DynamsoftServicex64_16/
. Also ActiveX related files are put into a different directory called/WebTWAINActiveX/
.
Bug Fixes
- Fixed a bug where images fail to show in the viewer in IE 10.
- Fixed a bug in Chrome where the print UI invoked by the API
Print()
disappears immediately after showing up. - Fixed a bug with the API
Dynamsoft.WebTwainEnv.Host
which is now effective. - Fixed a bug with consecutive cropping operations with the API
Crop()
. - Fixed a bug with
WebTwain
instances created by the APIDynamsoft.WebTwainEnv.CreateDWTObjectEx()
so that their UI binding works correctly.
Deprecations
No deprecation in version 16.1.
Changes to ActiveX Edition
No changes in version 16.1.
16.0
(06/16/2020)
Features to the Core Module
- Added a new mobile edition that enables document capturing via mobile cameras and other document manipulation functionalities. Most of the existing methods and properties are made compliant with this new edition.
- Added WASM based document manipulation functionalities which enable the use of all features of Dynamic Web TWAIN except for document scanning without installing the Dynamsoft Service.
- Added setting
Dynamsoft.WebTwainEnv.UseLocalService
to switch the working mode of the library between Local-Service mode and WASM mode. Only valid on desktop operating systems. - Replaced the built-in image viewer including the built-in image editor with the Dynamsoft Viewer.
- The creation of a
WebTwain
instance is now independent from the UI. In version 16.0, you can create aWebTwain
instance in 4 ways- Specify a
Container
that has aContainerId
and assign it toDynamsoft.WebTwainEnv.Containers
. AContainerId
is essentially the id of anHTMLDivElement
element which is required for generating a built-in Dynamsoft Viewer. Then call the methodDynamsoft.WebTwainEnv.GetWebTwain()
withContainerId
as the argument to get the instance. - Call the method
Dynamsoft.WebTwainEnv.CreateDWTObject()
to create an instance with built-in Dynamsoft Viewer. - Specify a
Container
that has aWebTwainId
but noContainerId
and assign it toDynamsoft.WebTwainEnv.Containers
. AWebTwainId
is just a string to uniquely specify the instance. Then call the new methodDynamsoft.WebTwainEnv.GetWebTwainEx()
withWebTwainId
as the argument to get the instance. - Call the method
Dynamsoft.WebTwainEnv.CreateDWTObjectEx()
to create an instance without a built-in Dynamsoft Viewer.
- Specify a
Note
If a
WebTwain
instance is created without a built-in Dynamsoft Viewer, you can create a Viewer later and bind it to the existingWebTwain
instance using the new methodBindViewer()
. The Viewer can also be updated or unbound with the new methodsUpdateViewer()
andUnbindViewer()
.
- Added method
LoadImageFromBinary()
to enable importing data from binary (an object of the type Blob or ArrayBuffer). - Added methods
getCapabilities()
andsetCapabilities()
which enables fast capability negotiation. - Added method
EnableSourceUI()
to enable TWAIN configuration without scanning. - Added method
SelectImages()
to select one or multiple images programmatically. This method replaces the old APIsSetSelectedImageIndex()
andSelectedImagesCount
. - Added property
SelectedImagesIndices
to return the indices of selected images. This property replaces the old APIGetSelectedImageIndex()
. - Added Viewer-specific APIs:
setViewMode()
,updateUISettings()
,setButtonClass()
,setSelectedImageArea()
,zoomIn()
,zoomOut()
,bindCustomElement()
,showCustomElement()
,hideCustomElement()
,toggleCustomElement()
. These methods should be called like this:DWTObject.Viewer.zoomIn()
.
Updated Add-on Features
- Added PDF Rasterizer mobile edition.
- Extended the PDF Rasterizer on desktop to the WASM mode.
- Replaced the old barcode reader add-on with a new add-on which now supports both Local-Service mode and WASM mode of the desktop editions as well as the mobile edition.
Better Performance
- In favor of the WASM mode, image transferring now uses JPEG more often than PNG. Previously, there was only the Local-Service mode and only PNG was used.
- The following methods are made asynchronous (while still synchronous-compliant):
ChangeImageSize()
, ConvertToBW()
, ConvertToGrayScale()
, Crop()
, Erase()
, FilterImageByTag()
, Flip()
, GetSelectedImagesSize()
, GetSkewAngle()
, Invert()
, Mirror()
, Rotate()
, RotateEx()
, RotateLeft()
, RotateRight()
, SetDPI()
, SetImageWidth()
NOTE
These APIs must be called asynchronously in the WASM mode.
Changed Behaviours
- The methods
HTTPDownload()
andHTTPDownloadEx()
no longer has the “Content-Type” header in their HTTP Get requests. - The method
GetSourceNames(true)
now returns more information which includes “DriverType” and “DeviceInfo”.
Deprecations
- Deprecated
SetSelectedImageIndex()
,GetSelectedImageIndex()
andSelectedImagesCount
in favor of the new methodSelectImages()
. - Deprecated
IfOpenImageWithGDIPlus
in favor of the built-in imaging decoder. - Deprecated the following APIs in favor of the new methods
getCapabilities()
andsetCapabilities()
:
CapGet()
, CapGetHelp()
, CapGetCurrent()
, CapGetDefault()
, CapGetFrameBottom()
, CapGetFrameLeft()
, CapGetFrameRight()
, CapGetFrameTop()
, CapGetLabel()
, CapGetLabels()
, CapSet()
, CapReset()
, CapSetFrame()
, CapIfSupported()
, GetCapItems()
, GetCapItemsString()
, SetCapItems()
, SetCapItemsString()
, Capability
, CapNumItems
, CapMaxValue
, CapMinValue
, CapCurrentValue
, CapCurrentIndex
, CapDefaultValue
, CapDefaultIndex
, CapType
, CapValueType
, CapDescription
, CapStepSize
, CapValue
, CapValueString
Changes to ActiveX Edition
- Added method
SelectImages()
. - Added property
SelectedImagesIndices
.
15.3.1
(03/05/2020)
Improved
- [HTML5] When reinstalling the Dynamsoft service, the service configuration file
DSConfiguration.ini
will now be replaced directly.
Fixed
- [HTML5] Fixed a bug where the scanner stops responding when you cancel the scan multiple times.
- [HTML5] Fixed a bug where the scanner stops responding when the library tries to retrieve extended information that contains magnetic data.
- [HTML5] Fixed a bug where images can’t be selected in batches (CTRL/SHIFT + Click) after swapping the current tag.
15.3
(01/07/2020)
New
- [HTML5] Added a new configuration
extendedImageInfoQueryLevel
for the methodAcquireImage()
that allows setting up how the library queries extended image info items. In version 15.2, the default level would result in scanning failure or serious performance issues with some scanners. - [HTML5] Added a new method
GetSourceNames(bool bIncludeDetails)
that returns the list of available data sources as a string array. On Windows, whenbIncludeDetails
is set totrue
, this method returns more details about the sources including its protocol versions, manufacturer and whether it’s the default/current source, etc. - [HTML5] Added a new method
SelectAllImages()
that can select all images in buffer or all images that have been filtered by tags. - [HTML5] Added a new method
ConvertToBW(number imageIndex)
that converts a specific image to Black & White. - [HTML5] Added a new method
Invert(number imageIndex)
that inverts a specific image.
Improved
- [HTML5] changing the methods
HTTPUploadThroughPostDirectly()
,HTTPDownloadDirectly()
to only work on whitelisted images/files (check NOTE below). - [HTML5] Changing the default SSL certificates is now officially supported.
- [HTML5] Changed the property
LogLevel
so that when it’s set to1\0
, it’s equivalent to settingLogLevel
to14\1
in the fileC:\Windows\SysWOW64\Dynamsoft\DynamsoftServicex64\DSConfiguration.ini
- [HTML5] Local caching is made smoother by introducing a new process to do the caching when the threshold is reached. As a result, it is significantly faster when loading a great many files.
- [HTML5 on macOS] When using ICA(Image Capture Architecture) sources, info that was written to system log is now written to
wtss.log
. - [Upload Module] Now the module can only upload files/images that are whitelisted (check NOTE below)
Note on how whitelisting is done
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 methodShowFileDialog()
.
Deprecated
[HTML5] Further improved security by deleting the methods FTPUploadDirectly()
, FTPDownloadDirectly()
, FileExists()
.
Fixed
[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.
15.2
(09/19/2019)
New
- [HTML5] Added the capability to add tags to images. The tags can then be used to filter the images. The new APIs are
TagImages()
,ClearImageTags()
,SetDefaultTag()
andFilterImagesByTag()
.
Improved
- [HTML5] Tidied up the Dynamsoft Service installer by removing redundant files.
- [HTML5] Unified image decoding capabilities for JPEG and PNG on Windows, macOS and Linux.
- [HTML5] Improved the speed of PDF decoding by loading the file as a whole instead of per page.
- [HTML5 on Windows] Improved Windows buffer management so that its capacity is only limited by the size of disk space on the machine.
- [HTML5 on macOS] Improved macOS installers for better user experience.
- [ActiveX] Aligned PDF rasterizer in ActiveX so that it shares the same feature set with the HTML5 edition.
Fixed
- [HTML5] Fixed a bug with the API
CreateTextFont()
where the text takes up extra space when it is rotated by 90 degrees. - [HTML5] Fixed a bug where printing results in unnecessary extra blank pages in Firefox or IE11.
- [HTML5] Fixed a bug where a missing filename parameter results in upload failure.
- [HTML5 on Windows] Fixed a bug where the library attempts to download an incorrect installer when the Barcode Reader add-on is used.
- [HTML5 on Windows] Fixed a bug with the API
GenerateURLForUploadData()
so that it returns an URL that shows the correct SDK version. - [All] Fixed a bug where 8-bit image data can’t be compressed as a JPEG-TIFF.
- [All] Fixed a bug with the event
OnTopImageInTheViewChanged()
where it doesn’t get triggered if images are acquired into an empty buffer.
15.1
(08/13/2019)
New
- [macOS] Added 64bit support to macOS.
- [macOS & Linux] Expanded the event
OnPostTransferAsync
from Windows to macOS & Linux. The method serves as the asynchronous counterpart to the existing synchronous eventOnPostTransfer
. Information about the transferred image is returned in the event listener. - [macOS & Linux] Expanded the method
startScan()
from Windows to macOS & Linux. The method accepts a JSON object that specifies all the scan parameters. This makes it simpler and even faster to initiate a scan job. At the same time, you can specify how you want the scanned data to be processed by adding extra output parameters in the same JSON object.
Improved
- [Win] Improved the methods
ConvertToBlob()
,ConvertToBase64()
and image loading methods so that they can handle much bigger files. - [Linux] Improved the image encode/decode functionalities on Linux so that it can encode/decode files just like Windows.
- [macOS & Linux] Expanded PDF related capabilities to macOS and Linux so that all 3 platforms share the same features.
- [macOS & Linux] Improved the PDF decode engine so that it can load more PDF files without invoking the PDF rasterizer.
Fixed
- [Win] Fixed a bug where some scanners can only scan with document feeder but not the flatbed.
15.0
(06/27/2019)
New
- [HTML5 on Windows] Added a new method
startScan()
which accepts a JSON object that specifies all the scan parameters. This makes it simpler and even faster to initiate a scan job. At the same time, you can specify how you want the scanned data to be processed by adding extra output parameters in the same JSON object. - [HTML5 on Windows] Added a new event
OnPostTransferAsync
as the asynchronous counterpart to the existing synchronous eventOnPostTransfer
. Information about the transferred image is returned in the event listener. - [HTML5 on Windows] Added a new PDF core DLL as the default engine for PDF encoding & decoding. This new PDF DLL has added support for JPEG2000 and JBIG2 compression types.
- [HTML5 on Windows] Added a new method
PDF.Write.Setup()
which accepts a JSON object that contains all the parameters needed for creating PDF files. - [HTML5 on macOS] Added a new file
libDynamicImg.dylib
to the macOS edition which provides functionalities equal to those provided by the fileDynamicImage.dll
on Windows. Essentially, this file offers better image encoding and decoding. - [HTML5] Added a pair of methods
IndexToImageID()
andImageIDToIndex()
which converts the index of an image to its image id or vice versa. The id of an image is an unique number that can be used to specify the image. - [HTML5] Added a new event
OnIndexChangeDragDropDone
which is triggered when you drag and drop images to resort them in the viewer. The event returns the from and to indices for the operation.
Improved
- [HTML5] Improved the method
AcquireImage()
by adding two more optionsIfGetImageInfo
&IfGetExtImageInfo
to its parameteroptionalDeviceConfig
which aretrue
by default and means extra image info will be returned with each transferred image. - [HTML5 on Windows] Improved the method
SetFileXferInfo()
so that you can specify a naming pattern for the transferred images when the transfer mode is Disk File. - [HTML5] Improved the performance of Dynamsoft Service by allowing two time-consuming operations to occur concurrently. The affected methods are
ConvertToBlob()
,ConvertToBase64()
,GenerateURLForUploadedData()
as well as a few HTTP Upload methods. - [HTML5] Improved service connecting efficiency by removing optional ports and use the same ports no matter it’s 64bit service or 32bit. Also, during initialization, JavaScript will attempt to connect to the core scan module directly instead of connecting to the service first.
- [HTML5] Improved the functions
ConvertToBase64()
,ConvertToBlob()
,GenerateURLForUploadData()
,HTTPUpload()
,HTTPUploadAllThroughPostAsMultiPageTIFF()
,HTTPUploadAllThroughPostAsPDF()
,HTTPUploadThroughPost()
,HTTPUploadThroughPostAsMultiPagePDF()
,HTTPUploadThroughPostAsMultiPageTIFF()
,HTTPUploadThroughPostEx()
so that the current indices of the images which were operated on in these methods are returned in the callback functions. This is due to the fact that the indices might have changed during these time-consuming operations.
Changed
- [HTML5 on Windows] 64bit service has been made the default option on 64bit machines.
Fixed
- [HTML5 on Windows] Fixed a bug where it takes too much time to load a network file in RDS-mode Chrome.
- [HTML5 on Windows] Fixed a bug where an unwanted black line may appear as the right edge of saved TIFF files.
14.3.1
(01/15/2019)
New
- [ActiveX] Added method
GetImagePartURL()
to work with the Barcode Reader. - [HTML5] Added a few global settings which may speed up the initialization process of the SDK. The settings are
IfCheckDCP
,IfCheckDWT
,IfDisableDefaultSettings
andIsLicensePromptFriendly
.
Improved
- [HTML5 on Windows] Improved the TIFF compression algorithm when it’s set to JPEG so that the resulting file size is significantly reduced.
- [ActiveX & HTML5 on Windows] Included the Webcam and Barcode reader libraries in the service installer for easier distribution.
- [HTML5] Improved the built-in image viewer to be more responsive when navigating through images.
Changed
- [All Editions] Changed the Hex Code for representing a color from
#BBGGRR
to#RRGGBB
for all methods that may require a color as one of its parameters.
Fixed
- [HTML5 on Windows] Fixed a bug where the method
LoadImageFromBase64Binary()
may fail to decode a string. - [HTML5 on Windows] Fixed a bug where the service may crash during string conversion.
- [File Uploader] Fixed a bug where the upload module may fail to open 4 threads for uploading.
14.3
(11/20/2018)
Improved
- [All Editions] Unified the installation prompt for all editions.
Fixed
- [HTML5] Fixed a bug where images to print appear shrunken when rotated.
- [HTML5] Fixed a bug where the method
CancelAllUpload()
only cancels one job. - [HTML5] Fixed a bug where OCR Pro Full license gives out an error message when used on the client-side.
14.2
(10/16/2018)
Improved
- [All Editions] Simplified the installation process of the SDK by putting multiple installers together. From this version on, you can get the Dynamsoft Service, Dynamic Web TWAIN and its PDF Rasterizer addon installed with one installer.
- [HTML5] Improved the method
ConvertToBlob()
so that it can be called multiple times in a row. - [File Uploader] Added a property
FormField
to allow adding extra fields when uploading.
Fixed
- [HTML5] Fixed a bug with the file
DynamicSocket.dll
to avoid service crash.
Changed
- Removed Dynamsoft Camera SDK related files.
14.1
(09/06/2018)
Improved
- [ActiveX] Improved the
SelectSource()
method so that it can also be used asynchronously. - [File Uploader] Updated the upload module so that the information returned from the server can be accessed in the callback functions of an upload job.
- [File Uploader] Added the version number of the library to the name of the library so that different versions of the library can co-exist.
Fixed
- [HTML5] Fixed a bug with the event
OnInternetTransferPercentage
which doesn’t fire whenIfShowCancelDialogWhenImageTransfer
is set tofalse
. - [HTML5] Fixed a bug with the image editor where it stops responding after you scan or load new images without saving the currently modified image.
- [HTML5] Fixed a bug with the image editor where it no longer adapts to the size change of the browser window after you pressed the scan button in its toolbar.
- [HTML5] Fixed a bug that some files would fail to load when you drag and drop multiple TIFF files to load in Dynamic Web TWAIN.
- [HTML5] Fixed a bug where loading a file from a path that is composed of Unicode characters would fail.
- [HTML5 on Windows] Fixed a bug where the multi-user service doesn’t start under the Enhanced Mode.
- [HTML5 on macOS] Fixed a bug on macOS where the built-in Select-Source dialog appears to be too wide.
- [HTML5 on macOS] Fixed a bug on macOS where
Undefined
shows up as available sources. - [HTML5 on macOS] Fixed a bug on macOS where you can’t press Ctrl to select multiple zones on an image. Instead, you need to use the meta Key.
Changed
- [File Uploader] Changed
GenerateURLForUploadData()
to be an asynchronous method. - [File Uploader] Changed the module so that the encrypted files which are in the cache waiting to be uploaded will be cleared when the upload fails or when it is cancelled
14.0
(07/17/2018)
New
- [HTML5 on Windows] Added a new upload module to handle upload jobs which can carry out upload jobs behind the scene even after the browser is closed.
- [HTML5 on Windows] Added a new API
GenerateURLForUploadData()
to generate a URL which will be used by the upload module to fetch the file/data to upload. - [HTML5 on Windows] Added a 64-bit service, 64-bit scan module, and 64-bit PDF Rasterizer. However, the 32-bit service and modules are still installed by default.
- [HTML5 on Windows] Added Enhanced Mode to the service to optimize the performance for environments like Citrix. When enabled, the service can handle multiple client connections much better.
- [HTML5] Added a JS-based
SelectSource()
dialog to replace the system’s default dialog. - [HTML5] Added a feature to drag and drop one or multiple images in the viewer to rearrange them.
- [HTML5] Added a feature to load images when they are dropped onto the viewer from the local disk. When dropping in-between 2 images in the viewer, the new images will be inserted between them, otherwise, the new images will be appended.
- [HTML5] Added scan, load, and remove features to the image editor.
- [HTML5] Added a configuration
IfCheck64bitServiceFirst
indynamsoft.webtwain.config.js
which determines whether the JavaScript library checks the 64-bit Dynamsoft Service first. If 64-bit server is installed, this setting will speed up the initialization of the SDK. The default value is false. - [HTML5] Added a configuration
IfAddMD5InUploadHeader
indynamsoft.webtwain.config.js
which determines whether the headerdwt-md5
is added in HTTP posts. The default value isfalse
. - [HTML5] Added a configuration
IfConfineMaskWithinTheViewer
indynamsoft.webtwain.config.js
which determines whether the mask during SDK initialization or time-consuming operations covers the complete page or just the built-in viewer. The default value isfalse
. - [HTML5] Added configurations in
dynamsoft.webtwain.config.js
that enables setting the display language for built-in prompts and image editor, etc. The default language is English. - [HTML5] Added configurations in
dynamsoft.webtwain.config.js
to show/hide certain buttons on the image editor.
Improved
- [All Editions] Rearranged the
/Resources/
folder in the installation directory which contains all the JavaScript library files and files for distribution. Removed the deprecated plug-in completely. - [HTML5 on Windows] Improved the file transfer mode to be able to transfer multiple files in one scan session.
- [HTML5 on Windows] Added Unicode support to make it possible to access files which has special characters from non-English languages in its path or name.
- [HTML5] When the viewer is set to the view mode of 1 * 1 or -1 * -1, users can now select multiple areas on the image by drawing rectangles while pressing the CTRL button. These selected areas can be moved around too.
- [HTML5] Improved the event
OnImageAreaSelected
so that when it’s triggered, it will return the 1-based index of the rectangle which represents a selected area on the image. The event is triggered when a new area is selected or a selected area is moved. - [HTML5] The HTML5 license can now be used to restrict the usage of the SDK in certain browsers.
- [ActiveX] Updated the license verification module to be compatible with that of the HTML5 edition.
Changed
- [All Editions] Removed intellisense files but still available upon request.
- [HTML5 on Windows] The service is now installed with a
.msi
by default instead of a.exe
. - [HTML5 on macOS] Changed the API
ImageCaptureDriverType
which now is set to 4 by default and the only allowed values are 0 (TWAIN), 3 (ICA) and 4 (TWAIN & ICA). - [HTML5] All the required images in the SDK are hard-coded into JavaScript code.
- [HTML5] The non-production server license will now come with a prompt of license notice.
- [HTML5] Changed the background color for images when they are selected or when the mouse hovers over one of them. This only works when the view mode is n * n. By comparison, in old versions, the background stays white.
- [HTML5] Changed the background color for the image editor.
- [HTML5] Changed the theme of the SDK including the progress bar color, waiting spinner, etc.
- [HTML5] Changed the events
OnMouseClick
,OnMouseDoubleClick
andOnMouseRightClick
to be triggered when the mouse is up. In old versions, they were triggered when the mouse is down.
13.4.1
(04/16/2018)
New
- [All Editions] Dynamic Web TWAIN is officially published to NPM.
Improved
- [HTML5 on Windows & Linux] Optimized the scanner module for better compatibility with certain scanner models.
- [All Editions] Improved the JS library so that it works better with Angular 5.
13.4
(03/12/2018)
Improved
- [HTML5] Optimized the installation process so that users who are not able to download Dynamic Web TWAIN module as a ZIP can now download it as an MSI file to install.
Changed
- Updated the SDK installer to make it possible to download and install other Dynamsoft SDKs together with Dynamic Web TWAIN during the installation process.
Fixed
[HTML5] Fixed a bug where you see the progress bar displayed on the page for no reason when you use Dynamic Web TWAIN with other libraries or frameworks like the popular BootStrap.
13.3
(01/16/2018)
Improved
- [Add-on] Replaced the PDF Rasterizer add-on with a new technology which made it possible to use the rasterizer on macOS as well as Linux besides Windows.
- [HTML5] Optimized the memory usage by Dynamsoft Service and the JavaScript library so that users can scan and process even more pages.
- [HTML5] Optimized the scan module on Linux for better user experience.
- [HTML5] Updated the
HTTPUpload***
methods so that they can be used in a for-loop. - [HTML5] Updated the installer of Dynamsoft Service so that Firefox no longer needs to be restarted twice.
- [HTML5] Added a new button for the “Erase” feature on the built-in image editor.
- [HTML5] Improved the method
OverlayRectangle()
so that the overlays will move with the image. - [HTML5] Improved the method
OverlayRectangle()
so that the image is moved automatically to make sure the newly added overlay is placed in the center of the viewer. This only works when the image is larger than the viewer. - [HTML5] Added a “readme” file in the
/Resources/
folder to explain what each file is for in that folder.
Changed
- [HTML5] Changed the installing process especially for users who need to use the SDK in a domain network.
- [ActiveX] Changed the default value for
IfAllowLocalCache
totrue
.
Fixed
- [All Editions] Fixed a bug where the uploaded PDF files might be corrupted if the upload was interrupted during the process due to insufficient physical memory.
- [HTML5] Fixed a bug where an error is thrown even after a TIFF file is loaded successfully.
- [ActiveX] Fixed a bug where a very big PDF file might fail to be loaded.
- [ActiveX] Fixed a bug where IE might crash when saving scanned images to a multi-page PDF or TIFF.
13.2
(11/01/2017)
- [HTML5] Fixed a memory leak where the scanning service didn’t release memory after transferring image data to web browsers. Note: this bug started in version 13.0.
- [HTML5] Fixed a bug where sometimes the web twain service didn’t get shut down properly
- [ActiveX] Fixed a bug where a base64 string ended with “==” could not be decoded by using the
SetCustomDSDataEx()
method - [ActiveX] Fixed a bug where the
Dynamsoft.WebTwainEnv.Load()
method didn’t work after calling theDynamsoft.WebTwainEnv.Unload()
method - [ActiveX] Fixed a bug where the
TransferMode
property didn’t work properly
13.1
(08/22/2017)
New
- [HTML5 Only] Added the
ConvertToBlob()
API to return the Blob of specified indices in the designated file type.
Improved
- [HTML5 Only] Improved the
SetHTTPFormField()
API to be able to set Blobs in HTTP Forms aside from strings. - [HTML5 Only] Improved the
HTTPUpload()
API to be able to upload binary data set bySetHTTPFormField()
. - [HTML5 Only] Improved the
SetHTTPHeader()
API to supportHTTPDownload()
andHTTPDownloadEx()
methods as well. - [HTML5 Only] Added prefix to all names used in CSS to avoid possible conflict.
- [HTML5 Only] Much improved performance for the communication between browsers and the service.
Fixed
- Fixed a bug where you can’t initialize the SDK with the method
Dynamsoft.WebTwainEnv.Load()
on the page without firstDynamsoft.WebTwainEnv.Unload()
it. - Fixed a bug where the
HTTPUpload()
API doesn’t work if it’s done asynchronously in a loop. - Fixed a bug where you get an error when setting the size of the viewer by percentage.
NOTICE
- The ActiveX edition stays unchanged for this upgrade.
13.0
(06/20/2017)
Improved
- [HTML5 Only] Replaced Dynamic Web TWAIN service with the unified Dynamsoft Service.
- [HTML5 Only] Replaced the barcode add-on and the webcam add-on with Dynamsoft Barcode Reader SDK and Dynamsoft Camera SDK.
- [HTML5 Only] Authorization prompts now support multiple languages.
- [HTML5 Only] The method
LoadImageFromBase64Binary()
can now be called asynchronously. - [HTML5 Only] Much improved performance for the communication between browsers and the service.
Changed
- [HTML5 Only] Changed the default behavior of the authorization prompts to “always hide”.
Fixed
- Fixed a bug where cropping an image doesn’t use the new coordinates when the image has been scrolled.
- Fixed a bug where you see an unnecessary error ‘TypeMismatchError’ when loading a multi-page TIFF/PDF.
### NOTICE
- The ActiveX edition stays unchanged for this upgrade.
12.3.1
(04/14/2017)
- [HTML5 Only] Updated the certificates used by Dynamic Web TWAIN service to handle the incompatibility in IE 10/11 on Windows 7/8/8.1.
12.3
(04/06/2017)
- [HTML5 Only] Updated the certificates used by Dynamic Web TWAIN service to handle the updates introduced in Chrome 58+.
- [HTML5 Only] Updated the key exchange as well as the cipher in Dynamic Web TWAIN service for secure connections.
12.2
(01/10/2017)
Improved
- [HTML5 Only] Improved the SSL certificate by updating the signature algorithm to SHA256
- [HTML5 Only] Improved the Web TWAIN service to handle the new certificate
Fixed
- Fixed a bug where scanning might fail if the user doesn’t register the event
OnPostTransfer
- Fixed a bug where
Dynamsoft.WebTwainEnv.CreateDWTObject()
still tries to connect to non-SSL ports even when the page is running in HTTPS
12.1
(11/03/2016)
New
- Added the Linux Edition to support Firefox and Chrome on 64bit Linux OS.
- [HTML5 Only] Added a new method
SetUploadSegment()
which can be used to set the threshold for segmented upload as well as size of each segment.
Improved
- [HTML5 Only] Improved the method
Dynamsoft.WebTwainEnv.CreateDWTObject()
to allow listening on multiple IPs. - [HTML5 Only] Improved the OCR pro license to allow using multiple licenses.
- Improved how the SDK works in Edge. Now you can run local pages directly in Edge.
Fixed
- Fixed a bug where
CurrentImageIndexInBuffer
andHowManyImagesInBuffer
return wrong values in the callback for the eventOnPostLoad
. - Fixed errors with license error messages.
- Fixed a bug where an image disappears when you try to get information like resolution or size of the image in the callback for the
OnPostTransfer
event. - Fixed a bug where the ‘decoding tiff’ dialogue appears when converting PDF files to images.
12.0
(09/22/2016)
New
- [HTML5 Only] Added a new method
HTTPUpload()
which supports uploading files as binary as well as base64 string. The method also supports segmented upload when handling big files. - [HTML5 Only] Added a new method
ConvertToBase64()
which supports converting one or more images to a base64 string. - [HTML5 Only] Added a new method
SetHTTPHeader()
which supports adding a header to an HTTP Upload Post request. - [HTML5 Only] Added a new method
GetImageURL()
which returns the direct URL of an image based on its index in the buffer. - Added a new property
IfAutoScroll
which when set to false will stop the automatic scrolling of the viewer when scanning or loading images. - [HTML5 Only] Added a new security feature called Dynamsoft Authentication which requires more user interaction when dealing with local files or devices.
- Added MSI installers for both ActiveX and HTML5 editions.
Improved
- Improved the method
ChangeImageSize()
by adding a new mechanism for the new option “Best Quality”. - Improved the way license verification is done and optimized the error messages for license issues.
- Improved the way a
WebTwain
instance is created by adding global methods likeDynamsoft.WebTwainEnv.CreateDWTObject()
andDynamsoft.WebTwainEnv.DeleteDWTObject()
. - Improved the image editor’s zooming feature by allowing it to zoom centered by the position of the mouse.
- Improved the way uploading is done by adding a MD5 to every upload Post request.
Fixed
- Fixed a bug where
MagData
doesn’t work during scanning. - Fixed a bug with the Mac edition where TIFF files are loaded with inverted colors.
- Fixed a bug where the event
OnPostLoad
gets triggered twice when loading a file. - Fixed a bug with the ActiveX where selecting an image area returns the wrong coordinates when the image is bigger than the viewer (scrollbars are shown).
- Fixed a bug where
CurrentImageIndexInBuffer
andHowManyImagesInBuffer
are not updated correctly when the methodLoadImagesFromBase64Binary()
is used.
11.3.2
(07/05/2016)
New
- Added the feature to automatically create a dump file for debugging purposes when the scanning service crashes
- Added official support for OCR Professional
Improved
- Optimized the scanning performance by reducing unnecessary web socket messages
- Optimized the compatibility of the accompanying JS files so that they can work with different versions of scanning services
- Added an internal mechanism in the accompanying JS files to support Angular2
- Optimized Mac scanning process to make it possible to switch from TWAIN protocol to ICA protocol
11.3
(03/01/2016)
New
- Added
IsTextBasedPDF()
API to the PDF rasterizer to determine whether a PDF is text-based. - Added support for reading binary barcode and returning the result as a base64 string.
Improved
- Updated barcode reader library to v4.1.0.112 which uses improved positioning algorithm that can better identify and locate DataMatrix barcodes.
- Improved the event
OnPostLoad
so that it gets triggered for the methodsHTTPDownload(Ex)
,FTPDownload(Ex)
as well asLoadImageFromBase64Binary()
. - [HTML5 edition only] Improved the API
AcquireImage()
. Now you can set two callback functions to this method to check its status.
Fixed
- Fixed bugs related to asynchronous APIs such as the bug where the image index is not updated properly for the first and second images.
- Fixed a bug where the error message for cancelling the “Open File Dialog” says “fail to open file dialog box”. Now it correctly says that “User cancelled the operation”.
- [HTML5 edition only] Fixed a bug in printing where no matter how you set up, you can only get one copy.
- [HTML5 edition only] Fixed a bug where the event
OnSourceUIClose
never gets triggered. - Fixed a few small bugs with the API documentation and Samples within the product installer.
- The API
CloseSource()
used to be called automatically after a scanning job is done in v11.2 and a few earlier versions. This has caused issues for a few customers. In this version, this API is no longer called automatically. - We have improved the SDK so that it can also work seamlessly with our OCR add-on.
11.2
(11/24/2015)
New
- Added PDF Rasterizer Add-on to convert text PDF files to images. This way, text PDF files can be successfully displayed in the viewer.
- Added DataMatrix Reader add-on to read data matrix code from an image.
- Added PDF 417 reader add-on to read PDF 417 code from an image.
- Added
CloseWorkingProcess()
method to close the current HTML5 scanning process.
Improved
- Improved
Print()
method to support printing images via Windows’ native print program. - Improved the upload mechanism to indicate a successful upload if the returned string from server side only contains invisible characters.
- Improved the performance of scanning by optimizing the scanning process.
Fixed
- Fixed a bug where scanner source can’t be displayed when multiple scanning pages are opened in a browser on Mac.
- Fixed a bug where the HTML/JS samples in the product installation folder failed to run locally in Edge browser unless the demos are deployed to an HTTP Server.
- Fixed a bug where the return value is incorrect when users click on Cancel button in the Select Source dialog.
- Fixed a bug where OnPostLoad event is not triggered when loading a local image via its full file path.
- Fixed a bug where scanning log is enabled by default. It could affect the performance of HTML5 scanning.
11.1
(09/08/2015)
- [HTML5 Edition] Added support for Microsoft Edge browser.
- [Windows Edition] Added QR Code Reader Add-on.
- [Mac Edition] Added Webcam Addon.
- [Mac Edition] Added 1D Barcode Reader Add-on.
- [Mac Edition] Added QR Code Reader Add-on.
11.0
(07/23/2015)
New
- [Mac Edition] Added HTML5 support for Safari v7+, Chrome v27+ and Firefox v27+ on Mac OS X 10.6 or later.
- [HTML5 Edition] Added HTML5 support for Internet Explorer 10 and 11.
- Added
SetOpenSourceTimeout()
method to checkErrorString
property whenSelectSource()
method fails after a specified number of milliseconds. This prevents the scan page from being unresponsive when the selected device is not connected. - [Webcam Add-on] Added
SetVideoRotateMode()
method to rotate the video preview stream. - [HTML5 Edition] Added
OnWebTwainPreExecuteCallback
,OnWebTwainPostExecuteCallback
events andShowCustomMask()
,HideCustomMask()
methods indynamsoft.webtwain.install.js
to display or hide the Dynamsoft’s progress overlay during scanning.
Improved
- [Barcode Add-on] Improved 1D Barcode Reader Add-on to support reading CodeBar, Code_93, EAN_8, EAN_13, ITF, UPC_A, UPC_E.
- [HTML5 Edition] Improved performance of built-in image viewer when viewing images in 1 * 1 view mode.
- [HTML5 Edition] The method Print now supports printing multiple pages.
- Improved security by limiting the access of Dynamsoft Scanning Service to registered domain(s) or IP(s) for a particular website.
Fixed
- [HTML5 Edition] Fixed a bug where users are continuously prompt to install Dynamic Web TWAIN on Firefox when accessing a secure website on a different Windows user account.
- [ActiveX Edition] Fixed a bug where the system’s save-file dialog does not appear when saving images in IE11 on Windows 8.1.
- [ActiveX Edition] Fixed a bug where the
DynamicWebTwainCtrl.dll
crashes whenLogLevel
is set to 1 andHTTPPostResponseString
returns more than 1024 characters. - [ActiveX Edition] Fixed a bug where the remote file URL gets truncated if it is too long when uploading or downloading.
- Fixed a bug where the method
SetHTTPFormField()
does not work as expected. - [HTML5 Edition] Fixed a bug where ‘Upload Error’ is returned when image uploading is cancelled.
- Fixed a bug where the method
SetTiffCustomTag()
does not work. - [All Editions for Windows] Fixed a bug where the method
CapIfSupported()
does not return support level of specified capability.
10.2
(03/24/2015)
New
- [All Editions for Windows] Added Webcam Add-on to support image capturing from Webcams using Microsoft DirectShow API. The related APIs are:
Addon.Webcam.CaptureImage()
Addon.Webcam.CloseSource()
Addon.Webcam.Download()
Addon.Webcam.GetCameraControlMoreSetting()
Addon.Webcam.GetCameraControlSetting()
Addon.Webcam.GetFrameRate()
Addon.Webcam.GetMediaType()
Addon.Webcam.GetResolution()
Addon.Webcam.GetSourceList()
Addon.Webcam.GetVideoPropertyMoreSetting()
Addon.Webcam.GetVideoPropertySetting()
Addon.Webcam.SelectSource()
Addon.Webcam.SetCameraControlPropertySetting()
Addon.Webcam.SetFrameRate()
Addon.Webcam.SetMediaType()
Addon.Webcam.SetResolution()
Addon.Webcam.SetVideoPropertySetting()
- [HTML5 Edition] Added the view mode n*-1 to allow horizontal thumbnails.
- [HTML5 Edition] Added the property
ShowPageNumber
to allow hiding or showing of the number labels at the top-left corner of the images in the viewer.
Improved
- [HTML5 Edition] Greatly improved the performance of the built-in image viewer and editor by rewriting it.
- [HTML5 Edition] Reduced CPU/Memory consumption when handling very big images.
- Improved the property
Height
andWidth
to allow the use of percentages - [HTML5 Edition] Improved performance when navigating through images quickly using the built-in image editor
- [HTML5 Edition] Improved security by limiting the web server to listen to ‘localhost’ only.
- Improved IntelliSense by separating the original document into different modules.
- Improved error message management by separating the add-on related messages.
- Improved the property
MaxUploadImageSize
by providing a clear error message. - [HTML5 Edition] Methods which returns a Boolean value now returns
true
orfalse
instead of1
, or0
. - Separated the old Plug-in edition from the HTML5 edition for easier deployment and better performance. The previous Chrome&Firefox Edition is now divided into 2 editions: Plugin Edition and HTML5 Edition.
IfShowFileDialog
andIfDisableSourceAfterAcquire
are set totrue
by default in the JS Client.
Fixed
- Fixed the bug in the Barcode Reader add-on where barcode location fails for 200 DPI.
- [HTML5 Edition] Fixed the bug where the event
OnImageAreaSelected
is triggered when the mouse enters or leaves the image editor. - [HTML5 Edition] Fixed the bug where the event
OnImageAreaSelected
is triggered multiple times when selecting the area in the image editor. - [HTML5 Edition] Fixed the bug where the initialization of the SDK fails if
Dynamsoft.WebTwainEnv.Load()
is called more than once. - [HTML5 Edition] Fixed the bug where the SDK sends unnecessary WebSocket requests when loading images.
- Fixed the bug with the method
ChangeBitDepth()
where the processed image appears to be covered in a grey mask. - Fixed the bug with the method
ConvertToGrayScale()
where calling this method on a 1-bit image turns it black. - Fixed the bug with the methods
SaveAsTIFF()
andSaveAsPDF()
where the progress bar doesn’t show. - Fixed the bug with image uploading when ‘successful’ is returned when it’s actually cancelled.
- Fixed a few unclear or wrong error messages.
10.1.1
(12/23/2014)
New
- Added
Dynamsoft.WebTwainEnv.AutoLoad
property to enable or disable automatic loading of Dynamic Web TWAIN. - Added dynamic loading and unloading methods
Dynamsoft.WebTwainEnv.Load()
andDynamsoft.WebTwainEnv.Unload()
.
Improved
- Improved the initiation process for Dynamic Web TWAIN so that you don’t need to worry about the order of
dynamsoft.webtwain.initiate.js
anddynamsoft.webtwain.config.js
.
Fixed
- Fixed a bug where the event
OnImageAreaSelected
gets fired multiple times when you draw a rectangle on the image.
10.1
(12/16/2014)
Dynamsoft’s Dynamic Web TWAIN V10.1 SDK Upgrades Include JavaScript IntelliSense, 1D Barcoding.
New
- Added 1D Barcode Reader Add-on to support reading Code39 and Code128.
- Added JavaScript IntelliSense to help you write code faster and with fewer errors. You can use IntelliSense in Visual Studio 2010 or above and Eclipse 4.2 or above.
- Added
BufferMemoryLimit
property to set how much physical memory is allowed for storing images. Once the limit is reached, images will be cached on the hard disk. Cached image data will be automatically deleted when the scan page is closed. - Added enumerated constants to make your code more readable.
Improved
- Greatly improved user experience by providing well-arranged API document and simplifying all sample code.
- Dynamic Web TWAIN v10.1 now supports Internet Explorer (IE) 6 and 7. In v10.0 and v10.0.1, IE 6 and 7 were not supported.
- The improvements below are specifically for Chrome&Firefox Edition - which uses HTML5 WebSocket.
- Optimized memory usage to handle more scanned images,
- Added support for cropping an image when the image viewer is set to 1 x 1 view mode,
- Improved page size setting of the
Print()
method, - Supported
SetSelectedImageArea()
method andOverlayRectangle()
method.
Fixed
- Fixed a bug where the property
TIFFCompressionType
does not work properly. - Fixed a bug where clipboard related APIs did not work in the HTML5 version.
- Fixed a bug where uploading images in a loop did not work in the HTML5 version.
10.0.1
(10/16/2014)
Dynamsoft’s Dynamic Web TWAIN V10.0.1 SDK introduced improvements to the Chrome & Firefox Edition. The ActiveX and Mac Editions remained the same (these components remain as v10.0).
New
- Enhanced robustness of WebSocket connection: The new version will automatically try re-building the connection in case it is inadvertently closed due to network problems.
- Better support for Chrome 38, such as downloading large files using the
HttpDownload()
method.
Improved
- When a user visits the scan page for the first time the new version takes 1~2 seconds to detect whether the client-side browser has Dynamic Web TWAIN installed. With v10.0, it took around 7 seconds before the installation prompt.
- With the file updated to
dynamsoft.webtwain.config.js
you can freely move the Resources folder to any directory you like. - More detailed log files.
Fixed
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.
- Fixed a bug where the browser crashed if the WebSocket was closed during the upload process.
- Fixed a bug where a time-out error might occur during uploading of a big file.
- Fixed a bug where the property settings on
TIFFCompressionType
does not work. - Fixed the bug where the method
FTPDownloadDirectly()
does not work. - Fixed the bug where the method
FTPUploadDirectly()
does not work using “\” in path parameters. - The responses from the server after upload are now wholly put into the property
HTTPPostResponseString
. With previous versions, the responses would be trimmed if longer than 1024 KB.
10.0
(09/16/2014) - Based on 10.0 Preview
New
- Added HTML5 Image Viewer to the Chrome&Firefox Edition.
- Added progress bar when loading, saving, uploading & downloading multiple images.
Improved
- Faster and more stable image acquisition.
- Improved samples in the installer.
Fixed
- Fixed the bug where image acquisition service sometimes stops during multiple operations.
- Fixed the bug where
HTTPDownloadDirectly()
fail to download files. - Fixed the bug where some scanning settings don’t work for some models of Neat scanners.
10.0 Preview
(08/21/2014)
- New HTML5 WebSocket SDK to enable TWAIN scanning in Chrome and Firefox 27+ on Windows.
- Added Disk Caching mechanism. This feature enables high volume document scanning which was limited by the physical memory size.
- Added JPEG compression type to TIFF encoding/decoding. You can reduce the size of TIFF files significantly by using the JPEG compression.
- Much improved image editing features like
ChangeBitDepth()
,GrayScale()
, etc.
9.3 Preview
(06/10/2014)
- New HTML5 WebSocket SDK to enable TWAIN scanning in post-NPAPI Chrome. The new SDK will be added to the Plugin Edition of Dynamic Web TWAIN.
9.2
(01/02/2014)
- Fully support Internet Explorer 11.
- Added
RegisterEvent()
method andUnregisterEvent()
method for using Dynamic Web TWAIN events in IE 11 and other web browsers(e.g. Chrome, Firefox, Safari and Opera).
9.1
(08/27/2013)
- Added native scanning support for Mac Edition.
- The new property -
ImageCaptureDriverType
- allows Mac users to directly acquire images via native scan(without installing a TWAIN driver). - Improved IE users’ experience when using a separate process(i.e.
BrokerProcessType
= 1) for document scanning. In v9.0, IE users might need to manually allow the broker process to run. It is now automated with the enhanced security of the ActiveX edition. - Fixed bug where
OnPostTransfer
event is not triggered in some cases.
9.0
(03/26/2013)
- Simplified installation and deployment process.
- For developers: no need to generate a LPK file to verify the license. The
ProductKey
property is available to set a series of alphanumeric code for license verification at runtime. Developers only need to generate a product key with Licensing Manager which is installed with Dynamic Web TWAIN. - For end users: no need to install/enable Microsoft Licensed Class Manager. It would be much easier for end users to activate the control.
- Added a new feature to acquire images in an independent process which greatly improves the robustness of the application.
- Added
MaxInternetTransferThreads
property to set the maximum number of threads for uploading /downloading files through POST. This can dramatically improve the performance. - Added
FileExists()
method to check if a certain file exists on the local disk. - Added
GetSkewAngle()
/GetSkewAngleEx()
(Mac edition not supported) property to get the skew angle of an image by its index in buffer.
8.0.1
(09/04/2012)
- New Events and Improvements:
OnSourceUIClose()
: triggered when the user interface of source is closed.OnBitmapChanged()
: triggered when the bitmap of image buffer is changed, such as new image scanned, image deleted or image edited etc.
- Improved
LoadDibFromClipboard()
method. You can now load images in clipboard of Windows Vista or above into Dynamic Web TWAIN. - Improved the performance of the
IsBlankImage()
andIsBlankImageEx()
methods for detecting blank images. - Fixed bug where the original DPI (dots per inch) got lost when saving images using the 64-bit ActiveX Edition.
8.0
(07/17/2012)
- Added new add-on: Barcode(1D) - supports 1D barcode recognition.
- Added new add-on: Barcode(2D) - supports 2D barcode recognition.
- Added new add-on: OCR(Optical Character Recognition) - performs OCR on documents in different languages and converts them to searchable text and PDFs.
- Added
GetImageXResolution()
andGetImageYResolution()
methods to get the resolution from the scanned image(s). - Added
SetDPI()
method to Change the DPI(dots per inch) for the specified image. - Added
ShowFileDialog()
method andOnGetFilePath
event to show the “save file dialog”/”open file dialog” and get the path. - Added
AllowPluginAuthentication
property to allow the plugin to send authentication requests. - Added
BlankImageCurrentStdDev
property to return the current standard deviation of the pixels in the image. - Added
MagData
andMagType
properties to read magnetic data from scanners.
7.0
(03/06/2012)
- Improved the image decoder for ActiveX x86 edition. Dynamic Web TWAIN will use GDI+ to decode the image if gdiplus.dll is available in the operating system.
- Added the support for simple annotation. Now you can add a text on the image.
- Added
FTPUploadDirectly()
,HTTPUploadThroughPostDirectly()
andHTTPUploadThroughPutDirectly()
methods to upload all types of local files without encoding/decoding. - Added
HTTPDownloadDirectly()
andFTPDownloadDirectly()
methods to download files to local without encoding/decoding. - Improved the performance of image rotate method.
- Standardized the naming convention for the properties and methods in ActiveX edition.
- Modified the default value of
MaxImagesInBuffer
to 64. - Added
GetDeviceType()
method to determine the type of the image acquisition device. - Added
PDFVersion
property to read/write the PDF version. - Added
IfScanInNewThread
property to allow Dynamic Web TWAIN to communicate with scanner in a separate thread. - Added
ImageEditorIfModal
property to set whether the image editor runs in modal state. - Added
CapValueType
property to return or set the type of theCapValue
. - Added
IfAutomaticBorderDetection
property to encapsulate theICAP_AUTOMATICBORDERDETECTION
capability. - Added
IfAutomaticDeskew
property to encapsulate theICAP_AUTOMATICDESKEW
capability. - Added
IfAutoDiscardBlankpages
property to encapsulate theICAP_AUTODISCARDBLANKPAGES
capability. - Improved
IfDeviceOnline
property. NowTW_ENUMERATION
type of the return result is supported.
6.4
(11/15/2011)
- Mac Edition added. Compatible with browsers including Safari, Firefox, Chrome and Opera on Mac OS X 10.5 or later.(PPC not supported).
- Mac Edition supports TWAIN Specification 1.9. A TWAIN driver for Mac is required to use a scanner with the plug-in.
- Mac Edition supports loading all PDF, PSD and TGA formats.
- Mac Edition supports loading images with JPEG2000 compression.
6.3.1
(09/01/2011)
- Improved the memory management for ActiveX 64-bit Edition.
- Added
LogLevel
property to capture more exceptions. - Changed the “Thank you for evaluating …” dialog box to non-modal dialog.(For Plug-in edition only).
6.3
(06/14/2011)
- Support both 32-bit and 64-bit TWAIN device drivers(ActiveX Edition only).
- Support both 32-bit and 64-bit Internet Explorer(ActiveX Edition).
- Support Firefox 4.
- Added the
OnPostLoad
event which is triggered after executingLoadImage()
/LoadImageEx()
. - Optimized the
LoadDibFromClipboard()
method. - Optimized image editor.
6.2
(03/15/2011)
- Support TWAIN Specification 2.1.
- Further improved the security:
- Compatible with Data Execution Prevention(DEP) and Protected Mode.
- Added Windows Authentication and Basic Authentication support for Plug-in Edition.
- Allow you to install the ActiveX control to your personal folder.
- Easier and faster image processing:
- Added
IfShowFileDialog
property to show the browse dialog box when loading and saving images. - Optimized the blank page detection. Added
IsBlankImageEx()
method to detect whether a certain area on an image is blank.
- Added
- Added
SaveSelectedImagesToBase64Binary()
to save selected images to base64 binary. - Added
LoadImageFromBase64Binary()
to load images from a base64 byte array. - Added support for fitting the selected image to the width or height of the window with the property
FitWindowType
. - Added support for getting general info of a scanned image including image width/height and bit depth with the methods
GetImageBitDepth()
,GetImageWidth()
andGetImageHeight()
. - Further improved the print feature with the property
IfShowPrintUI
to set whether to display the user interface of the printer. - Support more models of Canon scanners.
6.1
(08/31/2010)
- Simplified installation process for Chrome, Safari, Opera users.
- Support simple Annotation.
- Support Forms Authentication.
- Support certificate binding.
- Added session/cookie support for Plug-in Edition.
- Added removing selected images.
MaxImagesInBuffer
: In both the trial and full versions of Dynamic Web TWAIN, the maximum value you can set to the property has been raised from 1024 to 4096.- Added methods:
SetCookie()
,BindSSLCert()
,BindSSLCertEx()
,OverlayRectangle()
,RemoveAllSelectedImages()
. - Added properties:
MouseX
,MouseY
.
6.0
(05/18/2010)
- Firefox 3.6 supported.
- Chrome, Opera, Safari on Windows supported(Plug-in Edition).
- Added barcode detection.
- Added multiple images selection.
- Added saving images to a byte array.
- Added loading an image from a byte array.
- Added uploading multiple images as a multipage PDF/TIFF file.
- Support setting board color for selected images.
- Support FTP passive mode.
- Support specifying the field name when uploading through HTTP POST.
- Added rotating the image of a specified index in buffer by a specified angle.
- Added cutting the image data in the specified area to the system clipboard in DIB format.
- Added clearing the specified area of an image and filling the area with a color.
MaxImagesInBuffer
: In the trial version of Dynamic Web TWAIN, the maximum value you can set to the property has been raised from 4 to 1024.- Optimized
HTTPPostResponseString
in Plug-in Edition: You can useHTTPPostResponseString
property to get much more detailed info returned from the web server. - Added methods:
CutFrameToClipboard()
,Erase()
,FTPUploadSelectedImagesAsMultiPagePDF()
,FTPUploadSelectedImagesAsMultiPageTIFF()
,GetBarcodeInfo()
,GetBarcodeText()
,HTTPUploadSelectedImagesThroughPostAsMultiPagePDF()
,HTTPUploadSelectedImagesThroughPostAsMultiPageTIFF()
,HTTPUploadSelectedImagesThroughPutAsMultiPagePDF()
,HTTPUploadSelectedImagesThroughPutAsMultiPageTIFF()
,LoadImageFromBytes()
,MoveImage()
,Print()
,Rotate()
,SaveSelectedImagesAsMultiPagePDF()
,SaveSelectedImagesAsMultiPageTIFF()
,SaveSelectedImagesToBytes()
,GetSelectedImagesSize()
. - Added properties:
AllowMultiSelect
,BackgroundColor
,BackgroundFillColor
,BarcodeCount
,HttpFieldNameOfUploadedImage
,IfPASVMode
,SelectedImageIndex
,SelectedImagesCount
,SelectionImageBorderColor
,VScrollBar
. - Added event:
OnInternetTransferPercentageEx
5.2
(07/14/2009)
- Added Windows authentication support(ActiveX edition only).
- Fixed session bug.
- Improved TIFF and PDF support.
- Added blank page detection.
- Added zoom in/zoom out features.
- Added a new feature in
ShowImageEditor()
: If theIfFitWindow
property is set totrue
, the image will fit the size of window when the Image Editor prompts; otherwise the image will be displayed in its full size. - Added method:
IsBlankImage()
. - Added properties:
BlankImageMaxStdDev
,BlankImageThreshold
,Zoom
,EnableInteractiveZoom
. - Added capability:
ICAP_EXTIMAGEINFO
.
5.1.1
(09/09/2008)
- Optimized distribution of Dynamic Web TWAIN Plug-in Edition for Firefox 3. You can now install Dynamic Web TWAIN automatically in Firefox 3.
- Fixed issue that the action page is called twice when uploading image data by using HTTP POST method.
- The specified image displayed when this image is set as the current image by using the
CurrentImageIndexInBuffer
property.
5.1
(05/27/2008)
- Cookie session integration support added(ActiveX edition only).
- Insert and switch features added. You can now insert new scanned images before the current image and switch the positions of two images in buffer.
- More user interaction features added. One more view mode(-1 by -1) is added and scroll bars will be shown if necessary. Also, you can now drag the image to adjust its position in the control or select an area on the control directly.
- More mouse events added. Events will be fired when you double click the mouse, right click the mouse, select an area on the control and so on.
- New feature added in
SetViewMode()
: when the view mode is set to -1 by -1, Dynamic Web TWAIN only shows the current image. No scroll bar is provided to navigate to other images. - New feature added in
IfFitWindow
: when the value of this property isfalse
, the image will be displayed in its full size and scroll bars will be shown if necessary(the width or height of the image is bigger than the control size). - New feature added in
MouseShape
: when the value of this property is set totrue
, the cursor is set as a hand. If the width or height of the image is bigger than the control size, scroll bars will be shown and you can drag the image to adjust its position in the control. When the value of the property is set tofalse
, the cursor is set as an arrow. You can select an area on the control directly. - Added methods:
GetImageSizeWithSpecifiedType()
,SwitchImage()
. - Added property:
IfAppendImage
. - Added events:
OnMouseDoubleClick
,OnMouseRightClick
,OnImageAreaSelected
,OnImageAreaDeSelected
,OnTopImageInTheViewChanged
.
5.0.1
(12/04/2007)
- Optimized PDF encoder and decoder.
- Detail error message returned when uploading images through POST method fails.
- Fixed bugs.
5.0
(10/19/2007)
- PDF and multi-page PDF support added. You can now save the scanned document to local disk or upload to web server in PDF format.
- HTML form manipulation support added. You can now add fields to the HTML form to have additional information for web server before uploading the scanned images to the web server.
- Image preview mode added. You can view the scanned images in the preview mode, like 1 by 2, 2 by 2. This feature helps you have better overview of your images when you have multi-page document.
- Image upload progress bar and cancel option added. You can use the built-in progress bar or your own progress bar for the upload. Cancel option is also provided.
- Download from HTTP stream support added. You do not need to create temp files at server side for download.
- More user interaction features added. Several mouse events are added.
- Added methods:
SetViewMode()
,GetViewMode()
,SaveAsPDF()
,SaveAllAsPDF()
,FTPUploadAllAsPDF()
,HTTPUploadAllThroughPostAsPDF()
,HTTPUploadAllThroughPutAsPDF()
,LoadImageEx()
,FTPDownloadEx()
,FTPUploadEx()
,HTTPDownloadEx()
,HTTPUploadThroughPostEx()
,HTTPUploadThroughPutEx()
,SetHTTPFormField()
,ClearAllHTTPFormFiled()
. - Added properties:
ImageMargin
,MouseShape
,PDFCompressionType
,PDFAuthor
,PDFCreationDate
,PDFCreator
,PDFKeywords
,PDFModifiedDate
,PDFProducer
,PDFSubject
,PDFTitle
,IfShowCancelDialogWhenImageTransfer
. - Added events:
OnMouseClick
,OnMouseMove
,OnInternetTransferPercentage
.
4.2.1
(04/28/2006)
- Fixed bug where uploading or downloading images via SSL connection fails sometimes.
IfSSL
property added.
4.2
(11/02/2005)
- Dynamic Web TWAIN ActiveX is digitally signed by VeriSign.
4.1
(09/08/2005)
- Image Editor added which can be used for image editing and viewing. Supports basic image editing features including Rotate, Crop, Mirror, Flip and ChangeImageSize.
- Related methods:
RotateLeft()
,RotateRight()
,Mirror()
,Crop()
,CropToClipboard()
,GetImageSize()
,ChangeImageSize()
,ShowImageEditor()
. - Related properties:
ImageEditorWindowTitle
,ImageEditorIfReadonly
,ImageEditorIfEnableEnumerator
. - Other methods added:
LoadDibFromClipboard()
,GetDefaultImageLayout()
,GetImageLayout()
,ResetImageLayout()
,SetImageLayout()
.
4.0
(05/31/2005)
- Plug-In Edition added. Compatible with Netscape, Mozilla, FireFox and other Gecko-based browsers.
- PNG supported.
- RLE, G3, G4, LZW, PackBits TIFF compression supported.
- Local multi-image buffer added: you can view and manage multiple acquired images locally before uploading them to web server.
- Multi-page TIFF upload/download supported.
- Added methods:
SaveAllAsMultiPageTIFF()
,SaveAsPNG()
,RemoveAllImages()
,RemoveImage(),
FTPUpload()
,FTPDownload()
,HTTPUploadThroughPost()
,HTTPUploadThroughPut()
,HTTPDownload()
,FTPUploadAllAsMultiPageTIFF()
,HTTPUploadAllThroughPostAsMultiPageTIFF()
,HTTPUploadAllThroughPutAsMultiPageTIFF()
- Added properties:
MaxImagesInBuffer
,HowManyImagesInBuffer
,CurrentImageIndexInBuffer
,TIFFCompressionType
,IfFitWindow
. SaveAsBMP()
,SaveAsJPEG()
andSaveAsTIFF()
methods modified. They now save images of specified indexes in buffer.CopyToClipboard()
method modified. It copies the image of a specified index in buffer.CutToClipboard()
method modified. It cuts the image of a specified index in buffer.- The behavior of
hDib
property changed. It returns the Handle of the DIB of a specified index in buffer. - The behavior of
Picture
property changed. It returns thePicture
object of the image of a specified index in buffer. FTPUploadAsBMP()
,FTPUploadAsJPEG()
,FTPUploadAsTIFF()
methods replaced byFTPUPload()
method.FTPDownloadBMP()
andFTPDownloadJPEG()
methods replaced byFTPDownload()
method.HTTPUploadAsBMPThroughPost()
,HTTPUploadAsJPEGThroughPost()
andHTTPUploadAsTIFFThroughPost()
methods replaced byHTTPUploadThroughPost()
method.HTTPUploadAsBMPThroughPut()
,HTTPUploadAsJPEGThroughPut()
andHTTPUploadAsTIFFThroughPut()
methods replaced byHTTPUploadThroughPut()
method.HTTPDownloadBMP()
andHTTPDownloadJPEG()
methods replaced byHTTPDownload()
method.LoadBMP()
andLoadJPEG()
methods replaced byLoadImage()
method.
3.0.3
(03/15/2005)
HTTPPostResponseString
property added. Response string from the HTTP server will be available inHTTPPostResponseString
property if an error occurs forHTTPUploadAsBMPThroughPost()
,HTTPUploadAsJPEGThroughPost()
andHTTPUploadAsTIFFThroughPost()
methods.
3.0.2
(03/07/2005)
HTTPUploadAsBMPThroughPost()
,HTTPUploadAsJPEGThroughPost()
andHTTPUploadAsTIFFThroughPost()
methods memory access violation bug fixed.
3.0
(01/18/2005)
- One page and multi-page Tiff supported.
- HTTP Upload now supports HTTP Post command.
- Many high level properties and methods added.
- Method
EnableSource(Boolean IfShowUI)
changed toEnableSource()
, methodHTTPUploadAsBMP()
changed toHTTPUploadAsBMPThroughPut()
, methodHTTPUploadAsJPEG()
changed toHTTPUploadAsJPEGThroughPut()
. - Added methods:
FeedPage()
,FTPUploadAsTIFF()
,RewindPage()
,HTTPUploadAsBMPThroughPost()
,HTTPUploadAsJPEGThroughPost()
,HTTPUploadAsTIFFThroughPost()
,HTTPUploadAsTIFFThroughPut()
,SaveAsTIFF()
. - Added properties:
BitDepth
,Brightness
,Contrast
,DataSourceStatus
,Duplex
,IfAutoBright
,IfAutoFeed
,IfAutoScan
,IfDeviceOnline
,IfDisableSourceAfterAcquire
,IfDuplexEnabled
,IfFeederEnabled
,IfModalUI
,IfPaperDetectable
,IfShowIndicator
,IfShowUI
,IfThrowException
,IfTiffMultiPage
,IfUIControllable
,PageSize
,PixelFlavor
,PixelType
,Resolution
,Unit
,XferCount
2.0.1
(12/21/2004)
HTTPUploadAsJPEG()
andHTTPUploadAsBMP()
modified to accommodate the new behavior of the IIS of Windows 2003 Server.
2.0
(06/01/2004)
- The online demo is available.
- Supports uploading and downloading through HTTP.
- Supports proxy.
- Built-In JPEG codec.
- Supports Buffered Memory image transfer mode.
- Supports Disk File image transfer mode.
- Totally rewritten with pure Windows API and assembly language.
- Built-In TWAIN session wizard.
CapSetFrame()
,CapGetFrameLeft()
,CapGetFrameTop()
,CapGetFrameRight()
,CapGetFrameBottom()
added for the negotiation ofICAP_FRAMES
capability.OnPreAllTransfers
,OnPostAllTransfers
,OnTransferCancelled
,OnTransferError
events added.
1.0.2
(03/15/2004)
BorderStyle
property added.
1.0.1
(11/15/2003)
hDIB
property added.Picture
property can work properly.
1.0
(08/20/2003)
- TWAIN specification 1.9 compatible.
- Supports Native image transfer mode.
- Supports uploading and downloading image trough FTP.