diff --git a/info/api/Dynamsoft_Enum.md b/info/api/Dynamsoft_Enum.md index 8d3b2ee3..ce7f3a79 100644 --- a/info/api/Dynamsoft_Enum.md +++ b/info/api/Dynamsoft_Enum.md @@ -876,17 +876,26 @@ 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` -| Label | Value| +| Label | Value | |:-|:-| | default | 0 | | standard | 1 | -| supported | 2 | \ No newline at end of file +| supported | 2 | + +## `Dynamsoft.DWT.EnumDWT_WorkMode` + +| 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 diff --git a/info/api/Dynamsoft_WebTwainEnv.md b/info/api/Dynamsoft_WebTwainEnv.md index 9631d8ac..da84d178 100644 --- a/info/api/Dynamsoft_WebTwainEnv.md +++ b/info/api/Dynamsoft_WebTwainEnv.md @@ -226,17 +226,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 +268,30 @@ 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 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 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_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/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/WebTwain_IO.md b/info/api/WebTwain_IO.md index e7e00317..158d08af 100644 --- a/info/api/WebTwain_IO.md +++ b/info/api/WebTwain_IO.md @@ -35,7 +35,7 @@ The properties and methods on this page live in the namespace {WebTwainObject}. | [`HTTPUploadThroughPostAsMultiPageTIFF()`](#httpuploadthroughpostasmultipagetiff) | [`HTTPUploadThroughPostDirectly()`](#httpuploadthroughpostdirectly) | [`SaveAsBMP()`](#saveasbmp) | | [`SaveAsJPEG()`](#saveasjpeg) | [`SaveAsPDF()`](#saveaspdf) | [`SaveAsPNG()`](#saveaspng) | | [`SaveAsTIFF()`](#saveastiff) | [`SaveSelectedImagesAsMultiPagePDF()`](#saveselectedimagesasmultipagepdf) | [`SaveSelectedImagesAsMultiPageTIFF()`](#saveselectedimagesasmultipagetiff) | -| [`SaveAllAsMultiPageTIFF()`](#saveallasmultipagetiff) | [`SaveAllAsPDF()`](#saveallaspdf) | +| [`SaveAllAsMultiPageTIFF()`](#saveallasmultipagetiff) | [`SaveAllAsPDF()`](#saveallaspdf) | [`ShareImages()`](#shareimages) | **Other Methods** @@ -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 +not supported @@ -164,6 +166,7 @@ LoadImageEx( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -172,6 +175,7 @@ LoadImageEx( v10.0+ v11.0+ v12.1+ +18.2+ @@ -257,6 +261,7 @@ LoadImageFromBase64Binary( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -265,6 +270,7 @@ LoadImageFromBase64Binary( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -340,6 +346,7 @@ LoadImageFromBinary( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -348,6 +355,7 @@ LoadImageFromBinary( v16.0+ v16.0+ v16.0+ +v18.2+ @@ -418,6 +426,7 @@ LoadDibFromClipboard( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -426,6 +435,7 @@ LoadDibFromClipboard( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -1247,6 +1257,7 @@ HTTPDownload( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1254,7 +1265,8 @@ HTTPDownload( v4.0+ v4.0+ v4.0+ -v4.0+ +v4.0+Z +v18.2+Z @@ -1570,6 +1582,7 @@ HTTPUpload( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -1578,6 +1591,7 @@ HTTPUpload( v12.0+ v12.0+ v12.0+ +v18.2+ @@ -2603,6 +2617,7 @@ SaveAsBMP( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2611,6 +2626,7 @@ SaveAsBMP( v11.0+ v11.0+ v12.1+ +v18.2+ @@ -2660,6 +2676,7 @@ SaveAsJPEG( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2668,6 +2685,7 @@ SaveAsJPEG( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2717,6 +2735,7 @@ SaveAsPDF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2725,6 +2744,7 @@ SaveAsPDF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2776,6 +2796,7 @@ SaveAsPNG( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2784,6 +2805,7 @@ SaveAsPNG( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2821,6 +2843,7 @@ SaveAsTIFF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2829,6 +2852,7 @@ SaveAsTIFF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2887,6 +2911,7 @@ SaveAllAsMultiPageTIFF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2895,6 +2920,7 @@ SaveAllAsMultiPageTIFF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2943,6 +2969,7 @@ SaveAllAsPDF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -2951,6 +2978,7 @@ SaveAllAsPDF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -2963,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 @@ -2999,6 +3043,7 @@ SaveSelectedImagesAsMultiPagePDF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -3007,6 +3052,7 @@ SaveSelectedImagesAsMultiPagePDF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -3055,6 +3101,7 @@ SaveSelectedImagesAsMultiPageTIFF( H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -3063,6 +3110,7 @@ SaveSelectedImagesAsMultiPageTIFF( v10.0+ v11.0+ v12.1+ +v18.2+ @@ -3358,7 +3406,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 +3427,7 @@ IfShowFileDialog: boolean; H5(macOS/TWAIN) H5(macOS/ICA) H5(Linux) +Android Service @@ -3385,6 +3436,7 @@ IfShowFileDialog: boolean; v11.0+ v11.0+ v12.1+ +not supported @@ -3430,11 +3482,14 @@ IfShowCancelDialogWhenImageTransfer: boolean; +**Usage Notes** + +This API is only valid if `IfShowProgressBar = true;` + --- ## IfShowProgressBar - -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 will be displayed during any encoding, decoding, or transfer activities. **Syntax** diff --git a/info/api/WebTwain_Viewer.md b/info/api/WebTwain_Viewer.md index a0a939f7..071681a4 100644 --- a/info/api/WebTwain_Viewer.md +++ b/info/api/WebTwain_Viewer.md @@ -21,7 +21,7 @@ permalink: /info/api/WebTwain_Viewer.html | [`hide()`](#hide) | [`last()`](#last) | [`next()`](#next) | [`off()`](#off) | | [`on()`](#on) | [`previous()`](#previous) | [`render()`](#render) | [`setButtonClass()`](#setbuttonclass) | | [`setSelectedAreas()`](#setselectedareas) | [`setViewMode()`](#setviewmode) | [`show()`](#show) | [`unbind()`](#unbind) | -| [`updateCheckboxStyle()`](#updatecheckboxstyle) | [`updatePageNumberStyle()`](#updatepagenumberstyle) | +| [`updateCheckboxStyle()`](#updatecheckboxstyle) | [`updatePageNumberStyle()`](#updatepagenumberstyle) | [`save()`](#save) | **Properties** @@ -2450,6 +2450,49 @@ interface pageNumberSettings { +--- + +## save + +Save the update image from the ImageEditor + +**Syntax** +```typescript +save():Promise; +``` + +**Availability** + +
+ + + + + + + + + + + + + + + + + + +
ActiveXH5(Windows)H5(macOS/TWAIN)H5(macOS/ICA)H5(Linux)
not supported v18.2+ v18.2+ v18.2+ v18.2+
+
+ +**Example** + +```javascript +var objImageEditor = DWObject.Viewer.createImageEditor(editorSettings?:EditorSettings); +objImageEditor.save():Promise; +``` + + --- ## selectionMode diff --git a/info/api/index.md b/info/api/index.md index ac40be36..863c04cb 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 @@ -338,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 +#### General Improvements +- Improved licence verification logic to support Remote Scan +- Added workMode to ImageEditor +- + +#### 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. + +#### 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 + +### 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) 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. diff --git a/info/schedule/deprecated.md b/info/schedule/deprecated.md index a20f6de4..7afb56e6 100644 --- a/info/schedule/deprecated.md +++ b/info/schedule/deprecated.md @@ -35,6 +35,18 @@ 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