From 141fa1fdbbe31a640529bb7a2a9c419fb820ffaa Mon Sep 17 00:00:00 2001 From: ztyyLV <97287824+ztyyLV@users.noreply.github.com> Date: Wed, 19 Apr 2023 18:15:59 +0800 Subject: [PATCH 01/24] Update Dynamsoft_WebTwainEnv.md --- info/api/Dynamsoft_WebTwainEnv.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/info/api/Dynamsoft_WebTwainEnv.md b/info/api/Dynamsoft_WebTwainEnv.md index 9631d8ac..fcc6c50d 100644 --- a/info/api/Dynamsoft_WebTwainEnv.md +++ b/info/api/Dynamsoft_WebTwainEnv.md @@ -61,12 +61,8 @@ interface Dynamsoft.DWT { GetWebTwainEx(WebTwainId: string): WebTwain; Load(): void; Unload(): void; - RemoveAllAuthorizations: function () {}; - OnWebTwainNotFound: function () {}; OnWebTwainPostExecute: function () {}; OnWebTwainPreExecute: function () {}; - OnWebTwainReady: function () {}; - OnWebTwainWillInit: function () {}; } /** From d91ece9086133b78f192fe0126c0f9ef44c0a5b0 Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Wed, 19 Apr 2023 09:45:26 -0700 Subject: [PATCH 02/24] Update general-troubleshooting-steps.md Clarify single vs all troubleshooting --- faq/general-troubleshooting-steps.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/faq/general-troubleshooting-steps.md b/faq/general-troubleshooting-steps.md index ec9270e7..0febb314 100644 --- a/faq/general-troubleshooting-steps.md +++ b/faq/general-troubleshooting-steps.md @@ -25,8 +25,8 @@ permalink: /faq/general-troubleshooting-steps.html - Linux, `/opt/dynamsoft/DynamsoftService/log` 2. Set the log level - - For only one client machine, go to the application with Dynamic Web TWAIN integrated, press F12 to open the development tools, switch to "console" tab and enter the command "DWObject.LogLevel = 1" to enable the debugger mode. - - For all client machines, set [ `LogLevel` ]({{site.info}}api/WebTwain_Util.html#loglevel) to 1 in your code. This property should be set as soon as the `WebTwain` instance is created. For example, in the event `Dynamsoft_OnReady` + Option A - Single client machine troubleshooting - go to the application with Dynamic Web TWAIN integrated, press F12 to open the development tools, switch to "console" tab and enter the command "DWObject.LogLevel = 1" to enable the debugger mode. + Option B - For all client machines (application wide) - set [ `LogLevel` ]({{site.info}}api/WebTwain_Util.html#loglevel) to 1 in your code. This property should be set as soon as the `WebTwain` instance is created. For example, in the event `Dynamsoft_OnReady` ```javascript function Dynamsoft_OnReady() { DWObject = Dynamsoft.DWT.GetWebTwain("dwtcontrolContainer"); @@ -41,4 +41,4 @@ permalink: /faq/general-troubleshooting-steps.html - On macOS, the log files are in `Go > Applications > Dynamsoft > DynamsoftServicex64_17 > {installed version No.} > log` - On Linux, the log files are in `/opt/dynamsoft/DynamsoftServicex64_17/log` -5. Set log level back to the default value (0) to disable the debugger mode, otherwise the operation speed will be affected. \ No newline at end of file +5. Set log level back to the default value (0) to disable the debugger mode, otherwise the operation speed will be affected. From ddaf7376852025b1640c1df5a2c8b79845df2020 Mon Sep 17 00:00:00 2001 From: ds-kyle Date: Wed, 26 Apr 2023 09:40:38 -0700 Subject: [PATCH 03/24] preview --- info/api/Dynamsoft_WebTwainEnv.md | 17 +++++++++-------- info/api/index.md | 5 +++++ info/schedule/deprecated.md | 9 +++++++++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/info/api/Dynamsoft_WebTwainEnv.md b/info/api/Dynamsoft_WebTwainEnv.md index 9631d8ac..027c36ac 100644 --- a/info/api/Dynamsoft_WebTwainEnv.md +++ b/info/api/Dynamsoft_WebTwainEnv.md @@ -62,11 +62,8 @@ interface Dynamsoft.DWT { Load(): void; Unload(): void; RemoveAllAuthorizations: function () {}; - OnWebTwainNotFound: function () {}; OnWebTwainPostExecute: function () {}; OnWebTwainPreExecute: function () {}; - OnWebTwainReady: function () {}; - OnWebTwainWillInit: function () {}; } /** @@ -226,17 +223,13 @@ interface DWTInitialConfig { Initiates the library. If there are predefined `Containers` , one `WebTwain` instance will be created for each `Container` . ### `RegisterEvent()` - + [We removed OnWebTWainReady...]: # Registers an environmental event. Typically the event is `OnWebTwainReady` which is triggered when the initialization completes. ### `Unload()` Destroys all `WebTwain` instances and cuts off the connection to the Dynamsoft Service. -### `RemoveAllAuthorizations()` - -Removes the specific authorizations made by end users on a client machine. Only effective when the security feature is enabled for local files, scanners or cameras. - ### `UseDefaultViewer` Whether to use the built-in viewer. If it is set to `false` , the file `dynamsoft.viewer.js` is not loaded at all and there is no way to add it back later. Therefore, only set it to `false` when you absolutely won't need the viewer or will be building your own viewer. @@ -272,3 +265,11 @@ Specify the source of the loader bar image. Check out more on [HTMLImageElement. #### `loaderBarClassName` Specify the class name of the DIV element that contains the loader bar. With this class, you can customize the loader bar even further with CSS. + +#### `OnWebTwainReady` + +A built-in callback triggered when the Web TWAIN environment is loaded + +#### `OnWebTwainError` + +A built-in callback triggered when the Web TWAIN environment cannot load diff --git a/info/api/index.md b/info/api/index.md index ac40be36..59d67e48 100644 --- a/info/api/index.md +++ b/info/api/index.md @@ -17,6 +17,11 @@ permalink: /info/api/ |:-|:-| |[`Dynamsoft.DWT`]({{site.info}}api/Dynamsoft_WebTwainEnv.html) | [`Dynamsoft.DWT.Enum`]({{site.info}}api/Dynamsoft_Enum.html) | +### Events +| | +|:-|:-| +|[`OnWebTwainReady`]({{site.info}}api/Dynamsoft_WebTwainEnv.html#OnWebTwainReady)|[`OnWebTwainReady`]({{site.info}}api/Dynamsoft_WebTwainEnv.html#OnWebTwainError)| + ## WebTwain ### Buffer diff --git a/info/schedule/deprecated.md b/info/schedule/deprecated.md index a20f6de4..92f94b5f 100644 --- a/info/schedule/deprecated.md +++ b/info/schedule/deprecated.md @@ -35,6 +35,15 @@ The prompts are one-time, once you accept the "risk", the software will install The recommended fix is to patch the operating system, you can find the patch [here](http://www.catalog.update.microsoft.com/search.aspx?q=kb4474419). +## 18.2 + +### Dynamic Web TWAIN +Removed: +* RemoveAllAuthorizations: function () {}; +* OnWebTwainNotFound: function () {}; +* OnWebTwainReady: function () {}; +* OnWebTwainWillInit: function () {}; + ## 18.0 ### Dynamic Web TWAIN From e05b3bce9843f96744a54c365e01aeffa4619011 Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Wed, 26 Apr 2023 10:24:33 -0700 Subject: [PATCH 04/24] preview --- info/api/WebTwain_IO.md | 10 +++++++++- info/schedule/deprecated.md | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/info/api/WebTwain_IO.md b/info/api/WebTwain_IO.md index e7e00317..6c89b4a4 100644 --- a/info/api/WebTwain_IO.md +++ b/info/api/WebTwain_IO.md @@ -3433,8 +3433,16 @@ IfShowCancelDialogWhenImageTransfer: boolean; --- ## IfShowProgressBar +**_Note:_** Deprecated as of 18.2 -Return or set whether the progress bar is/should be displayed during encoding or decoding. It works for any image encoding/decoding related methods. For example: LoadImage, LoadImageEx, ConvertToBlob, etc. +Return or set whether the progress bar is/should be displayed during encoding or decoding. It works for any image encoding/decoding related methods. + +APIs affected by this setting: +- LoadImage +- LoadImageEx +- ConvertToBlob +- HTTPUpload +- HTTPDownload **Syntax** diff --git a/info/schedule/deprecated.md b/info/schedule/deprecated.md index 92f94b5f..7afb56e6 100644 --- a/info/schedule/deprecated.md +++ b/info/schedule/deprecated.md @@ -44,6 +44,9 @@ Removed: * OnWebTwainReady: function () {}; * OnWebTwainWillInit: function () {}; +Deprecated: +* IfShowProgressBar + ## 18.0 ### Dynamic Web TWAIN From 6109ce77fed675bb4fdb24200d6bc15ad6a6829e Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Wed, 26 Apr 2023 10:24:48 -0700 Subject: [PATCH 05/24] preview --- info/api/Dynamsoft_Enum.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/info/api/Dynamsoft_Enum.md b/info/api/Dynamsoft_Enum.md index 8d3b2ee3..5d5b28da 100644 --- a/info/api/Dynamsoft_Enum.md +++ b/info/api/Dynamsoft_Enum.md @@ -876,12 +876,14 @@ Note: IT_MULTIPAGE_PDF & IT_MULTIPAGE_TIF are only applicable to the ImageType o | Label | Value| |:-|:-| | TWAINSCANNER | 0x10 | -| WIATWAINSCANNER | 0x20 | +| WIASCANNER | 0x20 | | TWAINX64SCANNER | 0x40 | | ICASCANNER | 0x80 | | SANESCANNER | 0x100 | | ESCLSCANNER | 0x200 | | WIFIDIRECTSCANNER | 0x400 | +| WIATWAINSCANNER | 0x800 | + ## `Dynamsoft.DWT.EnumDWT_ExtImageInfo` From 3f312c788493232134952c35b9b94e44f7ceffad Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Wed, 26 Apr 2023 11:56:00 -0700 Subject: [PATCH 06/24] saving --- info/api/WebTwain_IO.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/info/api/WebTwain_IO.md b/info/api/WebTwain_IO.md index 6c89b4a4..59ee3ea4 100644 --- a/info/api/WebTwain_IO.md +++ b/info/api/WebTwain_IO.md @@ -97,6 +97,7 @@ LoadImage( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -105,6 +106,7 @@ LoadImage( v10.0+ v11.0+ not supported +18.2+ @@ -257,6 +259,7 @@ LoadImageFromBase64Binary( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -265,6 +268,7 @@ LoadImageFromBase64Binary( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -340,6 +344,7 @@ LoadImageFromBinary( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -348,6 +353,7 @@ LoadImageFromBinary( v16.0+ v16.0+ v16.0+ +v18.2+ @@ -418,6 +424,7 @@ LoadDibFromClipboard( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -426,6 +433,7 @@ LoadDibFromClipboard( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -1247,6 +1255,7 @@ HTTPDownload( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1254,7 +1263,8 @@ HTTPDownload( v4.0+ v4.0+ v4.0+ -v4.0+ +v4.0+Z +v18.2+Z @@ -1570,6 +1580,7 @@ HTTPUpload( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1578,6 +1589,7 @@ HTTPUpload( v12.0+ v12.0+ v12.0+ +v18.2+ @@ -3358,7 +3370,9 @@ SetUploadSegment( ## IfShowFileDialog -Return or set whether to show open/save file dialog when saving images in the buffer or loading images from a local directory. +Return or set whether to show open/save file dialog when saving images in the buffer or loading images from a local directory. + +**_Note:_** This does not affect the Android Service edition. The dialog will always show not matter what ```IfShowFileDialog``` is set to. **Syntax** @@ -3377,6 +3391,7 @@ IfShowFileDialog: boolean; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -3385,6 +3400,7 @@ IfShowFileDialog: boolean; v11.0+ v11.0+ v12.1+ +Not Supported From 37bc52ca49a2dafcaf7139e16d8e771a3afea63c Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Wed, 26 Apr 2023 11:57:27 -0700 Subject: [PATCH 07/24] 1 --- info/api/WebTwain_Acquire.md | 17 ++++++++++++++++- info/schedule/Stable.md | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/info/api/WebTwain_Acquire.md b/info/api/WebTwain_Acquire.md index 68e40abc..a0016fe9 100644 --- a/info/api/WebTwain_Acquire.md +++ b/info/api/WebTwain_Acquire.md @@ -377,6 +377,7 @@ CloseSourceAsync(): Promise; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -385,6 +386,7 @@ CloseSourceAsync(): Promise; v16.1+ v16.1+ v16.1+ +v18.2+ @@ -831,6 +833,7 @@ SelectSourceAsync(deviceType?: Dynamsoft.DWT.EnumDWT_DeviceType | number): Promi H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -839,6 +842,7 @@ SelectSourceAsync(deviceType?: Dynamsoft.DWT.EnumDWT_DeviceType | number): Promi v16.1+ v16.1+ v16.1+ +v18.2+ @@ -4159,6 +4163,7 @@ RegisterEvent("OnPostTransferAsync", function (outputInfo: OutputInfo) {}); H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -4167,6 +4172,7 @@ RegisterEvent("OnPostTransferAsync", function (outputInfo: OutputInfo) {}); v15.1+ v15.1+ v15.1+ +v18.2+ @@ -4427,6 +4433,7 @@ interface ValueAndLabel { H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -4435,6 +4442,7 @@ interface ValueAndLabel { v16.0+ v16.0+ v16.0+ +v18.2+ @@ -4512,6 +4520,7 @@ interface CapabilitySetup { H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -4519,7 +4528,7 @@ interface CapabilitySetup { v16.0+ v16.0+ v16.0+ -v16.0+ +v18.2+ @@ -4616,6 +4625,7 @@ DWObject.GetDevicesAsync().then((deviceList)=>{ H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -4624,6 +4634,7 @@ DWObject.GetDevicesAsync().then((deviceList)=>{ v18.0+ v18.0+ v18.0+ +v18.2+ @@ -4672,6 +4683,7 @@ DWObject.GetDevicesAsync().then((deviceList)=>{ H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -4680,6 +4692,7 @@ DWObject.GetDevicesAsync().then((deviceList)=>{ v18.0+ v18.0+ v18.0+ +v18.2+ @@ -4712,6 +4725,7 @@ AcquireImageAsync(deviceConfiguration?: DeviceConfiguration): Promise< boolean>; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -4720,6 +4734,7 @@ AcquireImageAsync(deviceConfiguration?: DeviceConfiguration): Promise< boolean>; v18.0+ v18.0+ v18.0+ +v18.2+ diff --git a/info/schedule/Stable.md b/info/schedule/Stable.md index 26d080eb..76a6a138 100644 --- a/info/schedule/Stable.md +++ b/info/schedule/Stable.md @@ -11,6 +11,26 @@ permalink: /info/schedule/Stable.html # Stable Releases +## 18.2 (05/09/2023) + +### New Features +#### WIA Scanner Support + - Added support for direct control of WIA drivers. Please see + +### Improvements +#### WebViewer + +#### Android Service + - The Android service is available on the Google [Play Store](https://play.google.com/store/apps/details?id=com.dynamsoft.mobilescan) + - Enhancements to the Android Service and supported APIs + +### Deprecations +#### Progress Bar Changes + +### Bugfixes + +### Known Issues + ## 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. From af5979e749acd33c113d0d34398d0f7e829dd030 Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Wed, 26 Apr 2023 13:42:37 -0700 Subject: [PATCH 08/24] 1 --- info/api/Dynamsoft_WebTwainEnv.md | 23 ++++++++++++++++-- info/api/WebTwain_IO.md | 40 +++++++++++++++++++++++++++++-- info/schedule/Stable.md | 17 ++++++++++++- 3 files changed, 75 insertions(+), 5 deletions(-) diff --git a/info/api/Dynamsoft_WebTwainEnv.md b/info/api/Dynamsoft_WebTwainEnv.md index 027c36ac..e905d8fc 100644 --- a/info/api/Dynamsoft_WebTwainEnv.md +++ b/info/api/Dynamsoft_WebTwainEnv.md @@ -268,8 +268,27 @@ Specify the class name of the DIV element that contains the loader bar. With thi #### `OnWebTwainReady` -A built-in callback triggered when the Web TWAIN environment is loaded +A built-in callback triggered when the Web TWAIN resources have completed loading + +**Example** +```javascript +Dynamsoft.DWT.RegisterEvent('OnWebTwainReady', + Dynamsoft_OnReady //The typical function for initalizing the environment once the resources have loaded +); +``` #### `OnWebTwainError` -A built-in callback triggered when the Web TWAIN environment cannot load +A built-in callback triggered when an error is detected when laoding the Web TWAIN environment + +**Example** +```javascript +Dynamsoft.DWT.RegisterEvent('OnWebTwainError', + Dynamsoft_OnError +); + + +Dynamsoft_OnError: function(Dynamsoft.DWT.Exception){ + // error handling +} +``` diff --git a/info/api/WebTwain_IO.md b/info/api/WebTwain_IO.md index 59ee3ea4..c24f0e2a 100644 --- a/info/api/WebTwain_IO.md +++ b/info/api/WebTwain_IO.md @@ -106,7 +106,7 @@ LoadImage( v10.0+ v11.0+ not supported -18.2+ +not supported @@ -166,6 +166,7 @@ LoadImageEx( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -174,6 +175,7 @@ LoadImageEx( v10.0+ v11.0+ v12.1+ +18.2+ @@ -2615,6 +2617,7 @@ SaveAsBMP( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2623,6 +2626,7 @@ SaveAsBMP( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -2672,6 +2676,7 @@ SaveAsJPEG( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2680,6 +2685,7 @@ SaveAsJPEG( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2729,6 +2735,7 @@ SaveAsPDF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2737,6 +2744,7 @@ SaveAsPDF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2788,6 +2796,7 @@ SaveAsPNG( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2796,6 +2805,7 @@ SaveAsPNG( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2833,6 +2843,7 @@ SaveAsTIFF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2841,6 +2852,7 @@ SaveAsTIFF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2899,6 +2911,7 @@ SaveAllAsMultiPageTIFF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2907,6 +2920,7 @@ SaveAllAsMultiPageTIFF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2955,6 +2969,7 @@ SaveAllAsPDF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2963,6 +2978,7 @@ SaveAllAsPDF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2975,6 +2991,22 @@ Learn about [how to config PDF save settings](./Addon_PDF.md#write-setup). If you would like to save images by showing the 'Save File' dialog box, you can set [IfShowFileDialog]({{site.info}}api/WebTwain_IO.html#ifshowfiledialog) to true. --- +## ShareImages + +Shares images using Android's built in share functionality. + +**Syntax** +```javascript +ShareImages( + fileName: string, + indices: number[], + type: Dynamsoft.DWT.EnumDWT_ImageType +): Promise< void>; +``` +If ```indicies``` is an array, the behavour is dependant on ```type```: + - If type is set to PDF or TIFF, a single multi-page file is shared + - If any other type is set, mutiple single page files will be shared in the format of filename1.filetype, filename2.filetype, etc. +--- ## SaveSelectedImagesAsMultiPagePDF @@ -3011,6 +3043,7 @@ SaveSelectedImagesAsMultiPagePDF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -3019,6 +3052,7 @@ SaveSelectedImagesAsMultiPagePDF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -3067,6 +3101,7 @@ SaveSelectedImagesAsMultiPageTIFF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -3075,6 +3110,7 @@ SaveSelectedImagesAsMultiPageTIFF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -3400,7 +3436,7 @@ IfShowFileDialog: boolean; v11.0+ v11.0+ v12.1+ -Not Supported +not supported diff --git a/info/schedule/Stable.md b/info/schedule/Stable.md index 76a6a138..8a983018 100644 --- a/info/schedule/Stable.md +++ b/info/schedule/Stable.md @@ -18,16 +18,31 @@ permalink: /info/schedule/Stable.html - Added support for direct control of WIA drivers. Please see ### Improvements + - ConvertToBW algorthim optimization + +#### Viewer + - The Viewer component has been migrated to a dedicated resource file. This will allow for viewerless implementations of Dynamic Web TWAIN to reduce the load by removing the necessity of loading the Viewer resources into memory even when the Viewer is not being used. + #### WebViewer + - Replaced the webviewer to align with previous previous conventions #### Android Service - The Android service is available on the Google [Play Store](https://play.google.com/store/apps/details?id=com.dynamsoft.mobilescan) - Enhancements to the Android Service and supported APIs ### Deprecations -#### Progress Bar Changes + +#### New Deprecations + - IfShowProgressBar is now marked as deprecated + +#### API Removals + - RemoveAllAuthorizations + - OnWebTwainNotFound + - OnWebTwainReady + - OnWebTwainWillInit ### Bugfixes +32507 - MacOS issue with ShowFileDialog ### Known Issues From f10d5e0a3a2cdaba12a240442a5a3ff14ed7fe0a Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Thu, 27 Apr 2023 10:38:58 -0700 Subject: [PATCH 09/24] 1 --- info/api/WebTwain_IO.md | 9 +-------- info/schedule/Stable.md | 4 ++-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/info/api/WebTwain_IO.md b/info/api/WebTwain_IO.md index c24f0e2a..9e326dbe 100644 --- a/info/api/WebTwain_IO.md +++ b/info/api/WebTwain_IO.md @@ -3487,14 +3487,7 @@ IfShowCancelDialogWhenImageTransfer: boolean; ## IfShowProgressBar **_Note:_** Deprecated as of 18.2 -Return or set whether the progress bar is/should be displayed during encoding or decoding. It works for any image encoding/decoding related methods. - -APIs affected by this setting: -- LoadImage -- LoadImageEx -- ConvertToBlob -- HTTPUpload -- HTTPDownload +Return or set whether the progress bar will be displayed during encoding or decoding. It works for any image encoding/decoding related methods. **Syntax** diff --git a/info/schedule/Stable.md b/info/schedule/Stable.md index 8a983018..a919fe93 100644 --- a/info/schedule/Stable.md +++ b/info/schedule/Stable.md @@ -15,7 +15,7 @@ permalink: /info/schedule/Stable.html ### New Features #### WIA Scanner Support - - Added support for direct control of WIA drivers. Please see + - Added support for direct control of WIA drivers. ### Improvements - ConvertToBW algorthim optimization @@ -24,7 +24,7 @@ permalink: /info/schedule/Stable.html - The Viewer component has been migrated to a dedicated resource file. This will allow for viewerless implementations of Dynamic Web TWAIN to reduce the load by removing the necessity of loading the Viewer resources into memory even when the Viewer is not being used. #### WebViewer - - Replaced the webviewer to align with previous previous conventions + - Replaced the webviewer to align with previous conventions #### Android Service - The Android service is available on the Google [Play Store](https://play.google.com/store/apps/details?id=com.dynamsoft.mobilescan) From 7a2bd74e70e31cf9607109f9b001e93bd283ea36 Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Thu, 27 Apr 2023 12:33:36 -0700 Subject: [PATCH 10/24] Add Android to IO --- info/api/WebTwain_Edit.md | 42 +++++++++++++++++++++++++++++++++++++++ info/api/index.md | 2 +- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/info/api/WebTwain_Edit.md b/info/api/WebTwain_Edit.md index 059e0122..f9deac17 100644 --- a/info/api/WebTwain_Edit.md +++ b/info/api/WebTwain_Edit.md @@ -99,6 +99,7 @@ ChangeBitDepth( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -107,6 +108,7 @@ ChangeBitDepth( v11.0+ v11.0+ not supported +18.2+ @@ -164,6 +166,7 @@ ChangeImageSize( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -172,6 +175,7 @@ ChangeImageSize( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -229,6 +233,7 @@ SetDPI( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -237,6 +242,7 @@ SetDPI( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -283,6 +289,7 @@ ConvertToBW( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -291,6 +298,7 @@ ConvertToBW( v15.3+ v15.3+ v15.3+ +v18.2+ @@ -335,6 +343,7 @@ ConvertToGrayScale( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -343,6 +352,7 @@ ConvertToGrayScale( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -403,6 +413,7 @@ Invert( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -411,6 +422,7 @@ Invert( v15.3+ v15.3+ v15.3+ +v18.2+ @@ -456,6 +468,7 @@ SetImageWidth( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -464,6 +477,7 @@ SetImageWidth( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -506,6 +520,7 @@ Flip( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -514,6 +529,7 @@ Flip( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -574,6 +590,7 @@ Mirror( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -582,6 +599,7 @@ Mirror( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -641,6 +659,7 @@ RotateLeft( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -649,6 +668,7 @@ RotateLeft( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -708,6 +728,7 @@ RotateRight( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -716,6 +737,7 @@ RotateRight( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -781,6 +803,7 @@ Rotate( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -789,6 +812,7 @@ Rotate( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -862,6 +886,7 @@ RotateEx( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -870,6 +895,7 @@ RotateEx( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -924,6 +950,7 @@ Crop( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -932,6 +959,7 @@ Crop( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -986,6 +1014,7 @@ Erase( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -994,6 +1023,7 @@ Erase( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -1026,6 +1056,7 @@ CopyToClipboard(index: number): boolean; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1034,6 +1065,7 @@ CopyToClipboard(index: number): boolean; v11.0+ v11.0+ v12.1+ +v18.2+ @@ -1082,6 +1114,7 @@ CutToClipboard(index: number): boolean; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1090,6 +1123,7 @@ CutToClipboard(index: number): boolean; v11.0+ v11.0+ v12.1+ +v18.2+ @@ -1136,6 +1170,7 @@ CropToClipboard( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1144,6 +1179,7 @@ CropToClipboard( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -1190,6 +1226,7 @@ CutFrameToClipboard( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1198,6 +1235,7 @@ CutFrameToClipboard( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -1280,6 +1318,7 @@ ChangeBrightnessAsync( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1288,6 +1327,7 @@ ChangeBrightnessAsync( v17.2+ v17.2+ v17.2+ +v18.2+ @@ -1325,6 +1365,7 @@ ChangeContrastAsnyc( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1333,6 +1374,7 @@ ChangeContrastAsnyc( v17.2+ v17.2+ v17.2+ +v18.2+ diff --git a/info/api/index.md b/info/api/index.md index 59d67e48..863c04cb 100644 --- a/info/api/index.md +++ b/info/api/index.md @@ -343,7 +343,7 @@ permalink: /info/api/ |[`HTTPUploadThroughPostAsMultiPageTIFF()`]({{site.info}}api/WebTwain_IO.html#httpuploadthroughpostasmultipagetiff)|[`HTTPUploadThroughPostDirectly()`]({{site.info}}api/WebTwain_IO.html#httpuploadthroughpostdirectly)|[`SaveAsBMP()`]({{site.info}}api/WebTwain_IO.html#saveasbmp)| |[`SaveAsJPEG()`]({{site.info}}api/WebTwain_IO.html#saveasjpeg)| [`SaveAsPDF()`]({{site.info}}api/WebTwain_IO.html#saveaspdf)|[`SaveAsPNG()`]({{site.info}}api/WebTwain_IO.html#saveaspng)| |[`SaveAsTIFF()`]({{site.info}}api/WebTwain_IO.html#saveastiff)| [`SaveSelectedImagesAsMultiPagePDF()`]({{site.info}}api/WebTwain_IO.html#saveselectedimagesasmultipagepdf)|[`SaveSelectedImagesAsMultiPageTIFF()`]({{site.info}}api/WebTwain_IO.html#saveselectedimagesasmultipagetiff)| -| [`SaveAllAsMultiPageTIFF()`]({{site.info}}api/WebTwain_IO.html#saveallasmultipagetiff)|[`SaveAllAsPDF()`]({{site.info}}api/WebTwain_IO.html#saveallaspdf)| +| [`SaveAllAsMultiPageTIFF()`]({{site.info}}api/WebTwain_IO.html#saveallasmultipagetiff)|[`SaveAllAsPDF()`]({{site.info}}api/WebTwain_IO.html#saveallaspdf)||[`ShareImages()`]({{site.info}}api/WebTwain_IO.html#shareimages)| + + ### Improvements - - ConvertToBW algorthim optimization - - IfShowProgressBar now covers both transfer operations and encode/decode operations +#### General Improvements +- Improved licence verification logic to support Remote Scan +- Added workMode to ImageEditor +- -#### Viewer +#### Resource Files - The Viewer component has been migrated to a dedicated resource file. This will allow for viewerless implementations of Dynamic Web TWAIN to reduce the load by removing the necessity of loading the Viewer resources into memory even when the Viewer is not being used. -#### WebViewer - - Replaced the webviewer to align with previous conventions +#### ImageEditor + - The ImageEditor has been re-architected for better speed and image quality. + - You can now apply a workMode customization when using ImageEditor (not supported for RemoteScan) + - Original mode - The data is processed on the server side first, and then displayed in the viewer + - New model - The data is processed in the canvas and then updated to the server side #### Android Service - The Android service is available on the Google [Play Store](https://play.google.com/store/apps/details?id=com.dynamsoft.mobilescan) - Enhancements to the Android Service and supported APIs -### Deprecations - - - IfShowCancelDialogWhenImageTransfer - - Now controlled by IfShowProgressBar - -#### API Removals - - RemoveAllAuthorizations - - OnWebTwainNotFound - - OnWebTwainReady - - OnWebTwainWillInit - +### API Changes +#### General Changes + - Changed IfShowProgressBar to control the progress indicators for all encoding, decoding, and transfer operations. + - IfShowCancelDialogWhenImageTransfer scope reduced to only control propmts for user cancellable operations. + - IfShowProgressBar must be enabled for IfShowCancelDialog to take effect + +#### New APIs + - Added ShareImages() for the Android Service + - Added the following under the Viewer class: + - crop() + - rotate() + - errorCode + - errorString + - ImageEditor + - Added the enum WorkMode + - Added .save() to the ImageEditor object + +#### Enumeration Changes + - EnumDWT_DeviceType updated to support WIA scanning. + - Supported WIA devices will be labelled WIA + - Unsupported WIA devices will be labelled WIATWAIN + + ### Bugfixes 32507 - MacOS issue with ShowFileDialog ### Known Issues + - Image Editor Undo/Redo is not implemented in this version. ## 18.1 (01/12/2023) From f8ef67461a892baee4267f56382c9d7e6f212d39 Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Fri, 28 Apr 2023 11:11:35 -0700 Subject: [PATCH 14/24] restore callbacks to WebTwainEnv --- info/api/Dynamsoft_WebTwainEnv.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/info/api/Dynamsoft_WebTwainEnv.md b/info/api/Dynamsoft_WebTwainEnv.md index e905d8fc..da84d178 100644 --- a/info/api/Dynamsoft_WebTwainEnv.md +++ b/info/api/Dynamsoft_WebTwainEnv.md @@ -62,8 +62,11 @@ interface Dynamsoft.DWT { Load(): void; Unload(): void; RemoveAllAuthorizations: function () {}; + OnWebTwainNotFound: function () {}; OnWebTwainPostExecute: function () {}; OnWebTwainPreExecute: function () {}; + OnWebTwainReady: function () {}; + OnWebTwainWillInit: function () {}; } /** From 1b1d8c138477386ac1e482ddea86f35447b9aa75 Mon Sep 17 00:00:00 2001 From: chloe-hahn Date: Thu, 4 May 2023 10:06:22 +0800 Subject: [PATCH 15/24] Update Stable.md --- info/schedule/Stable.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/info/schedule/Stable.md b/info/schedule/Stable.md index 3af0f7d2..c0c48973 100644 --- a/info/schedule/Stable.md +++ b/info/schedule/Stable.md @@ -34,7 +34,7 @@ permalink: /info/schedule/Stable.html - The ImageEditor has been re-architected for better speed and image quality. - You can now apply a workMode customization when using ImageEditor (not supported for RemoteScan) - Original mode - The data is processed on the server side first, and then displayed in the viewer - - New model - The data is processed in the canvas and then updated to the server side + - New mode - The data is processed in the canvas and then updated to the server side #### Android Service - The Android service is available on the Google [Play Store](https://play.google.com/store/apps/details?id=com.dynamsoft.mobilescan) @@ -43,7 +43,7 @@ permalink: /info/schedule/Stable.html ### API Changes #### General Changes - Changed IfShowProgressBar to control the progress indicators for all encoding, decoding, and transfer operations. - - IfShowCancelDialogWhenImageTransfer scope reduced to only control propmts for user cancellable operations. + - IfShowCancelDialogWhenImageTransfer scope reduced to only control prompts for user cancellable operations. - IfShowProgressBar must be enabled for IfShowCancelDialog to take effect #### New APIs @@ -64,7 +64,7 @@ permalink: /info/schedule/Stable.html -### Bugfixes +### Bug fixes 32507 - MacOS issue with ShowFileDialog ### Known Issues From 53299b87600c725a42d96f560af8bbf59e49727e Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Fri, 5 May 2023 10:34:21 -0700 Subject: [PATCH 16/24] RN update --- info/schedule/Addon.md | 1 + info/schedule/Stable.md | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/info/schedule/Addon.md b/info/schedule/Addon.md index fda5a5b4..a2027fd7 100644 --- a/info/schedule/Addon.md +++ b/info/schedule/Addon.md @@ -15,6 +15,7 @@ permalink: /info/schedule/Addon.html | Version | Service | Core | PDFR | Barcode | Camera/Webcam | OCRB | OCRPro| Uploader | |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| +| v18.2| 1.8.2 | 18.1.0.0112 | 11.4.1.1025 | 9.6.20 | N/A /15.0.0.0625 | N/A | N/A | 1.8.0.1025 | | v18.1 | 1.8.0.1025 | 18.1.0.0112 | 11.4.1.1025 | 9.4.0.1025 | N/A /15.0.0.0625 | N/A | N/A | 1.8.0.1025 | | v18.0 | 1.8.0.1025 | 18.0.0.1025 | 11.4.1.1025 | 9.4.0.1025 | 18.0.0.1025/15.0.0.0625 | N/A | N/A | 1.8.0.1025| | v17.3 | 1.7.3.0531 | 17.3.0.0531 | 11.4.0.0531 | 8.8.0.0531 | 17.3.0.0531/15.0.0.0625 | N/A | N/A | 1.7.2.1026 | diff --git a/info/schedule/Stable.md b/info/schedule/Stable.md index 3af0f7d2..3eccc4e2 100644 --- a/info/schedule/Stable.md +++ b/info/schedule/Stable.md @@ -25,26 +25,29 @@ permalink: /info/schedule/Stable.html #### General Improvements - Improved licence verification logic to support Remote Scan - Added workMode to ImageEditor -- +- Updated DBR library to 9.6.20 #### Resource Files - The Viewer component has been migrated to a dedicated resource file. This will allow for viewerless implementations of Dynamic Web TWAIN to reduce the load by removing the necessity of loading the Viewer resources into memory even when the Viewer is not being used. + - Please see the property Dynamsoft.DWT.UseDefaultViewer #### ImageEditor - The ImageEditor has been re-architected for better speed and image quality. - - You can now apply a workMode customization when using ImageEditor (not supported for RemoteScan) + - You can now use the new EnumDWT_WorkMode to control where the processing for ImageEditor occurs (not supported for RemoteScan) - Original mode - The data is processed on the server side first, and then displayed in the viewer - - New model - The data is processed in the canvas and then updated to the server side + - New mode - The data is processed in the canvas and then updated to the server side #### Android Service - The Android service is available on the Google [Play Store](https://play.google.com/store/apps/details?id=com.dynamsoft.mobilescan) - - Enhancements to the Android Service and supported APIs + - Expanded the capabilities of the Android platform + - Added the API ShareImages() ### API Changes #### General Changes - Changed IfShowProgressBar to control the progress indicators for all encoding, decoding, and transfer operations. - IfShowCancelDialogWhenImageTransfer scope reduced to only control propmts for user cancellable operations. - IfShowProgressBar must be enabled for IfShowCancelDialog to take effect + - Improved progress bar accuracy #### New APIs - Added ShareImages() for the Android Service @@ -56,6 +59,8 @@ permalink: /info/schedule/Stable.html - ImageEditor - Added the enum WorkMode - Added .save() to the ImageEditor object + - This is used when using the ImageEditor as the only viewer to keep the image manipulations in sync between the editor and the data used in the Dynamsoft Service + - Added OnWebTwainError event callback to DWT.WebTwainEnv #### Enumeration Changes - EnumDWT_DeviceType updated to support WIA scanning. From b1b0215a93c1b18c0d522dc62082cd207e0fd1bb Mon Sep 17 00:00:00 2001 From: kyle-ds <51097593+kyle-ds@users.noreply.github.com> Date: Fri, 5 May 2023 10:37:29 -0700 Subject: [PATCH 17/24] remove deprecations --- info/schedule/deprecated.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/info/schedule/deprecated.md b/info/schedule/deprecated.md index 7afb56e6..a20f6de4 100644 --- a/info/schedule/deprecated.md +++ b/info/schedule/deprecated.md @@ -35,18 +35,6 @@ The prompts are one-time, once you accept the "risk", the software will install The recommended fix is to patch the operating system, you can find the patch [here](http://www.catalog.update.microsoft.com/search.aspx?q=kb4474419). -## 18.2 - -### Dynamic Web TWAIN -Removed: -* RemoveAllAuthorizations: function () {}; -* OnWebTwainNotFound: function () {}; -* OnWebTwainReady: function () {}; -* OnWebTwainWillInit: function () {}; - -Deprecated: -* IfShowProgressBar - ## 18.0 ### Dynamic Web TWAIN From ec8bc6761853da7e3af85f164aeb3872eebfe10e Mon Sep 17 00:00:00 2001 From: lunaaaw <64242273+lunaaaw@users.noreply.github.com> Date: Sat, 6 May 2023 14:31:18 +0800 Subject: [PATCH 18/24] luna-18.2-1 --- info/api/Dynamsoft_Enum.md | 4 +- info/api/Dynamsoft_WebTwainEnv.md | 7 +- info/api/WebTwain_Acquire.md | 3 +- info/api/WebTwain_Edit.md | 4 +- info/api/WebTwain_IO.md | 61 ++++++++- info/api/WebTwain_Viewer.md | 210 +++++++++++++++++++----------- info/api/index.md | 5 +- 7 files changed, 207 insertions(+), 87 deletions(-) diff --git a/info/api/Dynamsoft_Enum.md b/info/api/Dynamsoft_Enum.md index ce7f3a79..67b6ce91 100644 --- a/info/api/Dynamsoft_Enum.md +++ b/info/api/Dynamsoft_Enum.md @@ -897,5 +897,5 @@ Note: IT_MULTIPAGE_PDF & IT_MULTIPAGE_TIF are only applicable to the ImageType o | Label | Value | Description | |:-|:-|:-| -| Normal | 0 | The data is processed on the server side first, and then displayed in the viewer | -| Balanced | 1 | The data is processed in the canvas and then updated to the server side | \ No newline at end of file +| Normal | 0 | Original mode, the image data is processed in the buffer | +| Balance | 1 | The image data is processed in the browser canvas | \ No newline at end of file diff --git a/info/api/Dynamsoft_WebTwainEnv.md b/info/api/Dynamsoft_WebTwainEnv.md index 3e8ec631..d48fb165 100644 --- a/info/api/Dynamsoft_WebTwainEnv.md +++ b/info/api/Dynamsoft_WebTwainEnv.md @@ -231,7 +231,7 @@ interface DWTInitialConfig { ### `UseDefaultViewer` -Whether to use the built-in viewer. If it is set to `false` , the file `dynamsoft.viewer.js` is not loaded at all and there is no way to add it back later. Therefore, only set it to `false` when you absolutely won't need the viewer or will be building your own viewer. +Whether to use the built-in viewer. If it is set to `false` , the file `dynamsoft.webtwain.viewer.js` is not loaded at all and there is no way to add it back later. Therefore, only set it to `false` when you absolutely won't need the viewer or will be building your own viewer. ### `CustomizableDisplayInfo` @@ -287,7 +287,8 @@ Dynamsoft.DWT.RegisterEvent('OnWebTwainError', ); -Dynamsoft_OnError: function(Dynamsoft.DWT.Exception){ - // error handling +function Dynamsoft_OnError(error){ + // error handling + console.error(error.message); } ``` diff --git a/info/api/WebTwain_Acquire.md b/info/api/WebTwain_Acquire.md index 54345e9c..ff392db3 100644 --- a/info/api/WebTwain_Acquire.md +++ b/info/api/WebTwain_Acquire.md @@ -4502,7 +4502,7 @@ interface CapabilitySetup { **Parameters** -`capabilities`: A object that describes how to set capabilities. +`capabilities`: An object that describes how to set capabilities. `successCallback`: A callback function that is executed if the request succeeds. @@ -4528,6 +4528,7 @@ interface CapabilitySetup { v16.0+ v16.0+ v16.0+ +v16.0+ v18.2+ diff --git a/info/api/WebTwain_Edit.md b/info/api/WebTwain_Edit.md index f9deac17..0fbd29e1 100644 --- a/info/api/WebTwain_Edit.md +++ b/info/api/WebTwain_Edit.md @@ -214,7 +214,7 @@ SetDPI( `resample`: Whether to resample the image. When it is true, the image size will change. -`method`: Specify the algorithm for the change. Please refer to [EnumDWT_InterpolationMethod]({{{site.info}}api/Dynamsoft_Enum.html#dynamsoftdwtenumdwt_interpolationmethod). +`method`: Specify the algorithm for the change. Please refer to [EnumDWT_InterpolationMethod]({{site.info}}api/Dynamsoft_Enum.html#dynamsoftdwtenumdwt_interpolationmethod). `successCallback`: A callback function that is executed if the request succeeds. @@ -1269,6 +1269,7 @@ BackgroundFillColor: number; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1277,6 +1278,7 @@ BackgroundFillColor: number; v11.0+ v11.0+ v12.1+ +v18.2+ diff --git a/info/api/WebTwain_IO.md b/info/api/WebTwain_IO.md index 71368232..e4f712ae 100644 --- a/info/api/WebTwain_IO.md +++ b/info/api/WebTwain_IO.md @@ -1265,8 +1265,8 @@ HTTPDownload( v4.0+ v4.0+ v4.0+ -v4.0+Z -v18.2+Z +v4.0+ +v18.2+ @@ -1337,6 +1337,7 @@ HTTPDownloadEx( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1345,6 +1346,7 @@ HTTPDownloadEx( v5.0+ v5.0+ v5.0+ +v18.2+ @@ -1424,6 +1426,7 @@ HTTPDownloadThroughPost( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1432,6 +1435,7 @@ HTTPDownloadThroughPost( v5.0+ v5.0+ v5.0+ +v18.2+ @@ -1480,6 +1484,7 @@ HTTPDownloadDirectly( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1488,6 +1493,7 @@ HTTPDownloadDirectly( v7.0+ v7.0+ v7.0+ +v18.2+ @@ -1671,6 +1677,7 @@ HTTPUploadThroughPutEx( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1679,6 +1686,7 @@ HTTPUploadThroughPutEx( v5.0+ v5.0+ v5.0+ +v18.2+ @@ -1731,6 +1739,7 @@ HTTPUploadThroughPost( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1739,6 +1748,7 @@ HTTPUploadThroughPost( v4.0+ v4.0+ v4.0+ +v18.2+ @@ -1829,6 +1839,7 @@ HTTPUploadThroughPostEx( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1837,6 +1848,7 @@ HTTPUploadThroughPostEx( v5.0+ v5.0+ v5.0+ +v18.2+ @@ -1893,6 +1905,7 @@ HTTPUploadAllThroughPostAsMultiPageTIFF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1901,6 +1914,7 @@ HTTPUploadAllThroughPostAsMultiPageTIFF( v4.0+ v4.0+ v4.0+ +v18.2+ @@ -1957,6 +1971,7 @@ HTTPUploadAllThroughPostAsPDF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1965,6 +1980,7 @@ HTTPUploadAllThroughPostAsPDF( v5.0+ v5.0+ v5.0+ +v18.2+ @@ -2021,6 +2037,7 @@ HTTPUploadThroughPostAsMultiPagePDF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2029,6 +2046,7 @@ HTTPUploadThroughPostAsMultiPagePDF( v6.0+ v6.0+ v6.0+ +v18.2+ @@ -2085,6 +2103,7 @@ HTTPUploadThroughPostAsMultiPageTIFF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2093,6 +2112,7 @@ HTTPUploadThroughPostAsMultiPageTIFF( v6.0+ v6.0+ v6.0+ +v18.2+ @@ -2150,6 +2170,7 @@ HTTPUploadThroughPostDirectly( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2158,6 +2179,7 @@ HTTPUploadThroughPostDirectly( v7.0+ v7.0+ v7.0+ +v18.2+ @@ -3001,9 +3023,38 @@ ShareImages( type: Dynamsoft.DWT.EnumDWT_ImageType ): Promise< void>; ``` -If ```indicies``` is an array, the behavour is dependant on ```type```: +If `indicies` is an array, the behavour is dependant on `type`: + - If type is set to PDF or TIFF, a single multi-page file is shared + - If any other type is set, mutiple single page files will be shared in the format of filename1.filetype, filename2.filetype, etc. + +**Availability** + +
+ + + + + + + + + + + + + + + + + + + + +
ActiveXH5(Windows)H5(macOS/TWAIN)H5(macOS/ICA)H5(Linux)Android Service
not supportednot supportednot supportednot supportednot supportedv18.2+
+
+ --- ## SaveSelectedImagesAsMultiPagePDF @@ -3467,6 +3518,7 @@ IfShowCancelDialogWhenImageTransfer: boolean; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -3475,6 +3527,7 @@ IfShowCancelDialogWhenImageTransfer: boolean; v5.2+ v5.2+ v5.2+ +v18.2+ @@ -3506,6 +3559,7 @@ IfShowProgressBar: boolean; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -3514,6 +3568,7 @@ IfShowProgressBar: boolean; v10.0+ v11.0+ v12.1+ +v18.2+ diff --git a/info/api/WebTwain_Viewer.md b/info/api/WebTwain_Viewer.md index 071681a4..6dc700c0 100644 --- a/info/api/WebTwain_Viewer.md +++ b/info/api/WebTwain_Viewer.md @@ -251,6 +251,10 @@ interface ImageEditor { * Show the ImageEditor object. */ show(): boolean; + /** + * + **/ + save(): boolean; /** * Hide the ImageEditor object. */ @@ -260,6 +264,62 @@ interface ImageEditor { */ dispose(): boolean; }; + +interface EditorSettings { +    /** +     * Specify an HTML Element. +     */ +    element?: HTMLDivElement | HTMLElement; +    /** +     * The width of the image editor viewer. The default value is "100%". +     * 'Invalid property value' will be reported when the set value is not string or number. +     */ +    width?: number | string; +    /** +     * The height of the image editor viewer. The default value is "100%". +     * 'Invalid property value' will be reported when the set value is not string or number. +     */ +    height?: number | string; +    /** + * The border of the ImageEditor viewer. +     * 'Invalid property value' is reported when the set value does not meet the CSS standard. +     */ +    border?: string; +    /** +     * Set the border of the top toolbar. +     * 'Invalid property value' is reported when the set value does not meet the CSS standard. +     */ +    topMenuBorder?: string; +    /** +     * The inner border of the image area. +     */ +    innerBorder?: string; +    /** +     * The background color/image of the ImageEditor viewer. +     * 'Invalid property value' is reported when the set value does not meet the CSS standard. +     */ +    background?: string; +    /** +     * Whether to pop up a window prompting to save the changes. The default value is true. + +     * 'Invalid property value' will be reported when the specified value type is wrong or the parameter name is spelled incorrectly. +     */ +    promptToSaveChange?: boolean; +    /** +     * Modify button titles and whether to hide specific buttons in the image editor viewer. +     * 'Invalid property value' will be reported when the specified value type is wrong or the parameter name is spelled incorrectly. +     */ +    buttons?: any; +    /** +     * Define the dialog text +     * 'Invalid property value' will be reported when the specified value type is wrong or the parameter name is spelled incorrectly. +     */ +    dialogText?: any; +    /** +     * Default is normal, value: normal=0, balance=1. +     */ +    workMode?: number | DynamsoftEnumsDWT.EnumDWT_WorkMode; +} ``` **Parameters** @@ -304,97 +364,97 @@ imageEditor.show(); // Customize the editor var editorSettings = { /* Show the editor within the DIV 'imageEditor'*/ - element?: document.getElementById("imageEditor"), - width?: 600, - height?: 400, - border?: "1px solid rgb(204, 204, 204)", - topMenuBorder?: "", - innerBorder?: "", - background?: "rgb(255, 255, 255)", - promptToSaveChange?: true, - buttons?: { - titles?: { - previous?: "Previous Image", - next?: "Next Image", - print?: "Print Image", - scan?: "Scan Documents", - load?: "Load Local Images", - rotateleft?: "Rotate Left", - rotate?: "Rotate", - rotateright?: "Rotate Right", - deskew?: "Deskew", - crop?: "Crop Selected Area", - cut?: "Cut Selected Area", - changeimagesize?: "Change Image Size", - flip?: "Flip Image", - mirror?: "Mirror Image", - zoomin?: "Zoom In", - originalsize?: "Show Original Size", - zoomout?: "Zoom Out", - stretch?: "Stretch Mode", - fit?: "Fit Window", - fitw?: "Fit Horizontally", - fith?: "Fit Vertically", - hand?: "Hand Mode", - rectselect?: "Select Mode", - zoom?: "Click to Zoom In", - restore?: "Restore Original Image", - save?: "Save Changes", - close?: "Close the Editor", - removeall?: "Remove All Images", - removeselected?: "Remove All Selected Images", + element: document.getElementById("imageEditor"), + width: 600, + height: 400, + border: "1px solid rgb(204, 204, 204)", + topMenuBorder: "", + innerBorder: "", + background: "rgb(255, 255, 255)", + promptToSaveChange: true, + buttons: { + titles: { + previous: "Previous Image", + next: "Next Image", + print: "Print Image", + scan: "Scan Documents", + load: "Load Local Images", + rotateleft: "Rotate Left", + rotate: "Rotate", + rotateright: "Rotate Right", + deskew: "Deskew", + crop: "Crop Selected Area", + cut: "Cut Selected Area", + changeimagesize: "Change Image Size", + flip: "Flip Image", + mirror: "Mirror Image", + zoomin: "Zoom In", + originalsize: "Show Original Size", + zoomout: "Zoom Out", + stretch: "Stretch Mode", + fit: "Fit Window", + fitw: "Fit Horizontally", + fith: "Fit Vertically", + hand: "Hand Mode", + rectselect: "Select Mode", + zoom: "Click to Zoom In", + restore: "Restore Original Image", + save: "Save Changes", + close: "Close the Editor", + removeall: "Remove All Images", + removeselected: "Remove All Selected Images", }, - visibility?: { - scan?: true, - load?: true, - print?: true, - removeall?: true, - removeselected?: true, - rotateleft?: true, - rotate?: true, - rotateright?: true, - deskew?: true, - crop?: true, - cut?: true, - changeimagesize?: true, - flip?: true, - mirror?: true, - zoomin?: true, - originalsize?: true, - zoomout?: true, - stretch?: true, - fit?: true, - fitw?: true, - fith?: true, - hand?: true, - rectselect?: true, - zoom?: true, - restore?: true, - save?: true, - close?: true, + visibility: { + scan: true, + load: true, + print: true, + removeall: true, + removeselected: true, + rotateleft: true, + rotate: true, + rotateright: true, + deskew: true, + crop: true, + cut: true, + changeimagesize: true, + flip: true, + mirror: true, + zoomin: true, + originalsize: true, + zoomout: true, + stretch: true, + fit: true, + fitw: true, + fith: true, + hand: true, + rectselect: true, + zoom: true, + restore: true, + save: true, + close: true, }, }, - dialogText?: { - dlgRotateAnyAngle?: [ + dialogText: { + dlgRotateAnyAngle: [ "Angle :", "Interpolation:", "Keep size", " OK ", "Cancel", ], - dlgChangeImageSize?: [ + dlgChangeImageSize: [ "New Height :", "New Width :", "Interpolation method:", " OK ", "Cancel", ], - saveChangedImage?: [ + saveChangedImage: [ "You have changed the image, do you want to keep the change(s)?", " Yes ", " No ", ], - selectSource?: [ + selectSource: [ "Select Source:", "Select", "Cancel", @@ -2454,7 +2514,7 @@ interface pageNumberSettings { ## save -Save the update image from the ImageEditor +Keeps the image data in the browser canvas in sync with the buffer. **Syntax** ```typescript @@ -2488,8 +2548,8 @@ save():Promise; **Example** ```javascript -var objImageEditor = DWObject.Viewer.createImageEditor(editorSettings?:EditorSettings); -objImageEditor.save():Promise; +var ImageEditor = DWObject.Viewer.createImageEditor(editorSettings); +ImageEditor.save(); ``` diff --git a/info/api/index.md b/info/api/index.md index 99fd29ce..d1696a97 100644 --- a/info/api/index.md +++ b/info/api/index.md @@ -18,9 +18,10 @@ permalink: /info/api/ |[`Dynamsoft.DWT`]({{site.info}}api/Dynamsoft_WebTwainEnv.html) | [`Dynamsoft.DWT.Enum`]({{site.info}}api/Dynamsoft_Enum.html) | ### Events + | | |:-|:-| -|[`OnWebTwainReady`]({{site.info}}api/Dynamsoft_WebTwainEnv.html#OnWebTwainReady)|[`OnWebTwainReady`]({{site.info}}api/Dynamsoft_WebTwainEnv.html#OnWebTwainError)| +|[`OnWebTwainReady`]({{site.info}}api/Dynamsoft_WebTwainEnv.html#OnWebTwainReady)|[`OnWebTwainError`]({{site.info}}api/Dynamsoft_WebTwainEnv.html#OnWebTwainError)| ## WebTwain @@ -343,7 +344,7 @@ permalink: /info/api/ |[`HTTPUploadThroughPostAsMultiPageTIFF()`]({{site.info}}api/WebTwain_IO.html#httpuploadthroughpostasmultipagetiff)|[`HTTPUploadThroughPostDirectly()`]({{site.info}}api/WebTwain_IO.html#httpuploadthroughpostdirectly)|[`SaveAsBMP()`]({{site.info}}api/WebTwain_IO.html#saveasbmp)| |[`SaveAsJPEG()`]({{site.info}}api/WebTwain_IO.html#saveasjpeg)| [`SaveAsPDF()`]({{site.info}}api/WebTwain_IO.html#saveaspdf)|[`SaveAsPNG()`]({{site.info}}api/WebTwain_IO.html#saveaspng)| |[`SaveAsTIFF()`]({{site.info}}api/WebTwain_IO.html#saveastiff)| [`SaveSelectedImagesAsMultiPagePDF()`]({{site.info}}api/WebTwain_IO.html#saveselectedimagesasmultipagepdf)|[`SaveSelectedImagesAsMultiPageTIFF()`]({{site.info}}api/WebTwain_IO.html#saveselectedimagesasmultipagetiff)| -| [`SaveAllAsMultiPageTIFF()`]({{site.info}}api/WebTwain_IO.html#saveallasmultipagetiff)|[`SaveAllAsPDF()`]({{site.info}}api/WebTwain_IO.html#saveallaspdf)||[`ShareImages()`]({{site.info}}api/WebTwain_IO.html#shareimages)| +| [`SaveAllAsMultiPageTIFF()`]({{site.info}}api/WebTwain_IO.html#saveallasmultipagetiff)|[`SaveAllAsPDF()`]({{site.info}}api/WebTwain_IO.html#saveallaspdf)|[`ShareImages()`]({{site.info}}api/WebTwain_IO.html#shareimages)| + - Added support for direct control of WIA drivers in [EnumDWT_DeviceType]({{site.info}}api/Dynamsoft_Enum.html#dynamsoftdwtenumdwt_devicetype). - + +#### Remote Scan +- The remote scan solution powered by Dynamic Web TWAIN is now officially available. With it, you can turn any of your transitional document scanners into a network-able scanner and allow your end users to use it without installing anything on the client device. Read this documentation to learn 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 to reduce the load by removing the necessity of loading the Viewer resources into memory even when the Viewer is not being used. See the property [Dynamsoft.DWT.UseDefaultViewer]({{site.info}}api/Dynamsoft_WebTwainEnv.html#usedefaultviewer). +- Added the enum [EnumDWT_WorkMode]({{site.info}}api/Dynamsoft_Enum.html#dynamsoftdwtenumdwt_workmode) with a new option for image editing +- Added [save()]({{site.info}}api/WebTwain_Viewer.html#save) to the ImageEditor object + +#### Optimized error handling during web twain initialization +- Added an [OnWebTwainError]({{site.info}}api/Dynamsoft_WebTwainEnv.html#onwebtwainerror) event for better capturing errors during the web twain object initialization. + #### General Improvements -- Improved licence verification logic to support Remote Scan -- Added workMode to ImageEditor -- Updated DBR library to 9.6.20 - -#### Resource Files - - The Viewer component has been migrated to a dedicated resource file. This will allow for viewerless implementations of Dynamic Web TWAIN to reduce the load by removing the necessity of loading the Viewer resources into memory even when the Viewer is not being used. - - Please see the property Dynamsoft.DWT.UseDefaultViewer - -#### ImageEditor - - The ImageEditor has been re-architected for better speed and image quality. - - You can now use the new EnumDWT_WorkMode to control where the processing for ImageEditor occurs (not supported for RemoteScan) - - Original mode - The data is processed on the server side first, and then displayed in the viewer - - New mode - The data is processed in the canvas and then updated to the server side - -#### Android Service - - The Android service is available on the Google [Play Store](https://play.google.com/store/apps/details?id=com.dynamsoft.mobilescan) - - Expanded the capabilities of the Android platform - - Added the API ShareImages() - -### API Changes -#### General Changes - - Changed IfShowProgressBar to control the progress indicators for all encoding, decoding, and transfer operations. - - IfShowCancelDialogWhenImageTransfer scope reduced to only control prompts for user cancellable operations. - - IfShowProgressBar must be enabled for IfShowCancelDialog to take effect - - Improved progress bar accuracy - -#### New APIs - - Added ShareImages() for the Android Service - - Added the following under the Viewer class: - - crop() - - rotate() - - errorCode - - errorString - - ImageEditor - - Added the enum WorkMode - - Added .save() to the ImageEditor object - - This is used when using the ImageEditor as the only viewer to keep the image manipulations in sync between the editor and the data used in the Dynamsoft Service - - Added OnWebTwainError event callback to DWT.WebTwainEnv - -#### Enumeration Changes - - EnumDWT_DeviceType updated to support WIA scanning. - - Supported WIA devices will be labelled WIA - - Unsupported WIA devices will be labelled WIATWAIN +- Updated the barcode reader library to v9.6.20 +- Improved progress bar accuracy during the encoding and decoding operations + ### Bug fixes -32507 - MacOS issue with ShowFileDialog +Fixed bug where ShowFileDialog might not work properly on MacOS. + -### Known Issues - - Image Editor Undo/Redo is not implemented in this version. ## 18.1 (01/12/2023) From 53c97ec2df9a0e3a209d71df578aa532bb61aa80 Mon Sep 17 00:00:00 2001 From: lunaaaw <64242273+lunaaaw@users.noreply.github.com> Date: Tue, 9 May 2023 11:21:53 +0800 Subject: [PATCH 24/24] Update version-list.html --- _includes/version-list.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_includes/version-list.html b/_includes/version-list.html index afd87610..d394cc0b 100644 --- a/_includes/version-list.html +++ b/_includes/version-list.html @@ -1,6 +1,7 @@
    -
  • Latest Version (18.1)
  • +
  • Latest Version (18.2)
  • +
  • Version 18.1
  • Version 18.0
  • Version 17.3
  • Version 17.2.1