Copying Machine supports two types of scanning interfaces; TWAIN and WIA.


You might have heard of the word TWAIN before and know that it has something to do with your scanning. Fortunately you do not have to know anything more about it, but when you do know more about it you might understand some problems you could encounter using your scanner.

TWAIN is a worldwide standard that helps software developers to make their software to communicate with scanners. It provides in a generic interface between their software and any TWAIN-compliant scanner. So instead of making a driver for any scanner in the world software developers only have to implement one interface; the one between their software and the TWAIN driver.

This sounds very good, but there are some glitches. First of all, TWAIN can support a lot of capabilities, but your scanner might not support all of them. The consequence is that Copying Machine might not get the most out of your scanner because it uses only a few of the TWAIN capabilities. It can also happen that Copying Machine supports a capability that your scanner does not support.

The last problem is that during the development of previous versions of Copying Machine I have noticed that not all scanner drivers are written in compliance with the TWAIN standard. They all scan, but some of them ignore settings they claim to support, or the returned values for settings are wrong.


Windows XP and Vista support another scanning interface, called Windows Image Acquisition (WIA in short). WIA has a couple of advantages over the previous standard for scanning TWAIN.

The first advantage is that WIA has more required functions. That means that scanner drivers have to support more actions in contrast to TWAIN scanner drivers, and as a result an application has more control over the scanner.

Secondly, the API calls of WIA are cleaner. You, as user, will notice nothing about this but as a developer this speeds things up quite considerably. And the result returned are easier to interpret. With TWAIN I noticed that sometimes different return formats of the same function return different results. As you can imagine this can lead to some undesired behaviour in your application.

For these reasons I recommend using a WIA scanner driver. When you select a scanning device in Copying Machine you will see that the interface of all devices are mentioned; WIA, TWAIN or File.