wia vs twain
TWAIN to capture from a scanner and WIA to capture from a camera

TWAIN, WIA, ISIS and SANE, are all scanning drivers that support acquiring physical images from scanners and storing the digital images on a computer. Although they are trying to achieve the same task basically, a popularity search shows that TWAIN is leading the game.

These four document scanning drivers have some different scanner functionalities and compatibilities, which makes them suitable for different situations. Lets take a look at them one by one.

What is TWAIN Scanning

TWAIN is scanning protocol that was initially used for Microsoft Windows and Apple Macintosh operating systems, and it added Linux/Unix support since version 2.0. The first release was in 1992. It was designed as an interface between image processing software and scanners or digital cameras. TWAIN is the most commonly used protocol and the standard in document scanners. In most cases, users should be able to either get a free TWAIN driver or easily find one (from the manufacturers website), for their scanners Canon, HP, Epson, Kodak, Xerox, etc.

The software has three key elements:

  • The Application
  • The Source Manager
  • The Data Source

The Source Manager Interface provided by TWAIN allows your application to control data sources, such as scanners and digital cameras, and acquire images, as shown in the figure below.

TWAIN elements
Although nearly all scanners contain a TWAIN driver that complies with the TWAIN standard, the implementation of each TWAIN scanner driver may vary slightly in terms of scanner setting dialog, custom capabilities, and other features. Its good if you want to use features specific to a particular scanner model, but if you want your applications scanning behavior to be consistent on different scanners, you need to be wary of customized code.
The TWAIN standard is now evolving to the next generation, called TWAIN direct. The TWAIN working group, that Dynamsoft is an associate of, claims that with TWAIN direct vendor specific drivers will no longer be needed. The application will be able to communicate directly with scanning devices. The best of TWAIN direct is still to come.

What is WIA

WIA (Windows Image Acquisition), introduced by Microsoft since Window Me, is the driver platform delivered with the Windows OS, including Windows 7, Windows 8, etc. It enables applications to acquire images from all kinds of digital cameras and scanners. It sounds very similar to TWAIN, doesnt it?
Both TWAIN and WIA can work with scanners and cameras as long as the driver is installed. Generally, if your application is going to interact with scanners most of the time, especially if old scanners need to be supported, TWAIN is recommended. For cameras, WIA offers better support. But, sometimes TWAIN based applications can communicate with WIA devices, such as scanners or cameras, via the TWAIN compatibility layer.

There are other differences between TWAIN and WIA. TWAIN has three transfer modes (native, memory, file) while WIA has only two (memory, file). TWAIN enables device vendors to create a customized user interface for each driver. WIA uses a simplified user interface for all devices, based on a scripting object model. If you only need basic scanning functions, WIA is enough. If you need to use more sophisticated features of a scanner, such as different options for each page when scanning in duplex mode, TWAIN should be your choice.

What is ISIS

ISIS (Image and Scanner Interface Specification) is a proprietary scanner interface developed by Pixel Translations in 1990 (today: EMC Captiva).
Unlike TWAIN, produced by a non-profit organization, ISIS doesnt come for free. Scanner vendors need to pay a royalty fee in order to use the ISIS driver. Although ISIS was originally targeted for a production environment (higher volumes, supporting advanced features of high-end scanners), the high cost is driving vendors away. As a result, ISIS is not popular in enterprises.

Moreover, despite ISISs reputation in performance, many developers also claimed that no obvious technical advantage is identified when comparing ISIS to TWAIN.

TWAIN to capture from a scanner and WIA to capture from a camera