From ddaf7376852025b1640c1df5a2c8b79845df2020 Mon Sep 17 00:00:00 2001 From: ds-kyle Date: Wed, 26 Apr 2023 09:40:38 -0700 Subject: [PATCH 01/12] 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 02/12] 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 03/12] 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 04/12] 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 05/12] 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 06/12] 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 07/12] 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 08/12] 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 12/12] 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 () {}; } /**