Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions faq/difference-between-Twain-and-wia.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,15 @@ permalink: /faq/difference-between-Twain-and-wia.html

# Capture/Image Source

## What are the differences between TWAIN and WIA?
## What are the differences between TWAIN and WIA drivers?

TWAIN driver TWAIN is the most widely used protocol for physical document scanners. Almost all scanners in the market come with a TWAIN driver and are supported by TWAIN applications like the Dynamic Web TWAIN SDK.

`WIA` refers to <a href="https://docs.microsoft.com/en-us/windows/win32/wia/-wia-startpage" target="_blank">Windows Image Acquisition</a>, which is the still image acquisition platform in the Windows family that enables imaging/graphics applications to interact with imaging hardware and standardizes the interaction between different applications and scanners.
`WIA` stands for <a href="https://docs.microsoft.com/en-us/windows/win32/wia/-wia-startpage" target="_blank">Windows Image Acquisition</a>, which is a Microsoft driver model for capturing digital images from various devices, such as scanners, cameras and other imaging devices. The WIA protocol is built-in and supported by Windows OS, so no extra driver installation is required. WIA offers standardized hardware compatibility and a stable driver environment, making it easier to integrate imaging capabilities into web scanning applications.

Prior to Dynamic Web TWAIN version 18.2, WIA drivers are not officially supported. But `WIA` devices can be used by `TWAIN` applications like `Dynamic Web TWAIN` through a `TWAIN compatibility layer`. This means `WIA` is not supported natively; therefore, when a device supports both `TWAIN` and `WIA`, `TWAIN` is the better option.

As of Dynamic Web TWAIN version 18.2, we officially support WIA 2.0 drivers. To make sure your web application works with WIA scanner drivers, please refer to the article: <a href="{{site.faq}}support-wia-scanner-drivers.html" target="_blank">How do I support WIA scanner drivers in my application?</a>


`WIA` devices can be used by `TWAIN` applications like `Dynamic Web TWAIN` through a `TWAIN compatibility layer`. This means `WIA` is not supported natively; therefore, when a device supports both `TWAIN` and `WIA`, `TWAIN` is the better option.

By comparison, `WIA` can only control a very limited set of general capabilities of the device while `TWAIN` can control all standard and even custom capabilities of the device. Another thing is that `TWAIN` has three transfer modes (Native, Memory, File), while `WIA` only has two (Memory, File).
33 changes: 33 additions & 0 deletions faq/support-wia-scanner-drivers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
layout: default-layout
noTitleIndex: true
needAutoGenerateSidebar: true
title: How do I support WIA scanner drivers in my application?
keywords: Dynamic Web TWAIN, Capture/ Image Source, WIA
breadcrumbText: How do I support WIA scanner drivers in my application?
description: How do I support WIA scanner drivers in my application?
permalink: /faq/support-wia-scanner-drivers.html
---

# Capture/Image Source

## How do I support WIA scanner drivers in my application?

Prior to Dynamic Web TWAIN version 18.2, WIA drivers are not supported and TWAIN drivers are recommended. Please refer to <a href="{{site.faq}}difference-between-Twain-and-wia.html" target="_blank">this article</a> for the differences between WIA and TWAIN drivers.

As of Dynamic Web TWAIN version 18.2, we officially support WIA 2.0. By comparison, `WIA` can only control a very limited set of general capabilities of the device, while `TWAIN` can control all standard and even custom capabilities of the device. In addition, `WIA` has only two transfer modes (Memory, File), while `TWAIN` has three (Native, Memory, File).

Since Dynamic Web TWAIN v18.0, we introduced a new set of scanner related APIs.
To support WIA 2.0,
- If your application is already using the new set of APIs below, no application change is required.
- If not, replace the old APIs with the matching new APIs.

| New APIs (supports WIA) | Old APIs |
|:-|:-|
| [GetDeviceAsync()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#getdevicesasync) | [GetSourceNames()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#getsourcenames), [GetSourceNamesAsync()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#getsourcenamesasync)|
| [SelectDeviceAsync()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#selectdeviceasync) | [SelectSourceByIndex()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#selectsourcebyindex), [SelectSourceByIndexAsync()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#selectsourcebyindexasync) |
| [SelectSourceAsync()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#selectsourceasync) | [SelectSource()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#selectsource) |
| [AcquireImageAsync()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#acquireimageasync) | [AcquireImage()](https://www.dynamsoft.com/web-twain/docs/info/api/WebTwain_Acquire.html#acquireimage) |

### Difference between the WIASCANNER and WIATWAINSCANNER DeviceType
To support the WIA protocol in v18.2+, we added a new Enumaration `WIASCANNER` to [Dynamsoft.DWT.EnumDWT_DeviceType](https://www.dynamsoft.com/web-twain/docs/info/api/Dynamsoft_Enum.html?ver=latest&&cVer=true#dynamsoftdwtenumdwt_devicetype) . The enumaration named `WIATWAINSCANNER` represents WIA source mapped through the TWAIN protocol after packaging by Microsoft. It was used in previous versions of Dynamic Web TWAIN and it will continue to be supported.
41 changes: 0 additions & 41 deletions faq/use-wia-insteadof-wiatwain.md

This file was deleted.

2 changes: 1 addition & 1 deletion getstarted/vue3.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ npm run dev

#### On desktop

If you have installed `DWT` and have configured a valid `ProductKey`, you should now have a working page to scan documents from your scanner. Otherwise, please refer to [this page]({{site.indepth}}features/initialize.html#installation-of-the-dynamsoft-service) which explains how the library is initialized or contact us for further assistance.
If you have installed `DWT` and have configured a valid `ProductKey`, you should now have a working page to scan documents from your scanner. If not, please refer to [this page]({{site.indepth}}features/initialize.html#installation-of-the-dynamsoft-service) which explains how the library is initialized or contact us for further assistance.

#### On mobile

Expand Down
4 changes: 2 additions & 2 deletions info/schedule/Stable.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ permalink: /info/schedule/Stable.html
## 18.2 (05/09/2023)

### New Features
#### WIA Scanner Support
- Added support for direct control of WIA drivers in [EnumDWT_DeviceType]({{site.info}}api/Dynamsoft_Enum.html#dynamsoftdwtenumdwt_devicetype). <!-- Please see Insert link to FAQ -->
#### WIA 2.0 Scanner Support
- Added support for direct control of WIA 2.0 drivers in [EnumDWT_DeviceType]({{site.info}}api/Dynamsoft_Enum.html#dynamsoftdwtenumdwt_devicetype). <!-- Please see Insert link to FAQ -->

<iframe width="560" height="315" src="https://www.youtube.com/embed/mZcWLGwfCP4" title="WIA Scanner Support" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

Expand Down