1. What is TWAIN?
TWAIN is a protocol and Application Programming Interface (API) that
standardizes communication between an application and image acquisition devices
such as scanners and digital cameras. This standard allows a developer to make
standard calls to any image acquisition device that supports TWAIN. Thus the
application would not have to be rewritten to support every device. TWAIN has
been in existence since 1992 and is governed by the TWAIN Working Group.
2. What is Dynamic TWAIN?
Dynamic TWAIN ActiveX control enables you to acquire images from
any TWAIN compatible devices. With the carefully designed interface, and the
built-in wizard mode, Dynamic TWAIN is very easy to use. You can typically do
your TWAIN job in several lines of code. At the same time, Dynamic TWAIN is very
powerful. It is compatible with TWAIN specification V1.9. It has built-in JPEG
encoder and decoder. It supports all three image transfer modes and many other
features.
3. For which purposes can I use Dynamic TWAIN?
Dynamic TWAIN can be used for controlling any work of scanners, digital cameras
and any other devices which support TWAIN standard.
4. Is there an edition of Dynamic TWAIN
designed for web environment?
Yes, we have Dynamic Web TWAIN. It has many features specifically designed for web environment, such as
uploading and downloading images through FTP or HTTP protocol. Image can be
displayed within Dynamic Web TWAIN without exchanging image data between the
ActiveX control and the <img> HTML tag.
5. Who do I contact if I need technical
support?
1.
We provide at least 20 hours Live Support per weekday.
Live Support is an online
chat service for our customers to interact with our support professional in real
time.
2. You can email our support team. Our email address for TWAIN family
products is support@dynamsoft.com.
6. I would like to request some features in
the next version of Dynamic TWAIN. Where do I make these requests?
Email us at Support@dynamsoft.com.
Your feature requirement is very important to us.
7. I have problems. What should I do?
The information on most of questions can be found in the documentation or in
this FAQ.
Write to our support team to get more help.
8. What is Live Help?
DynamSoft is committed to providing the best customer support in the industry.
Our support team is ready to offer high quality, friendly and
responsively technical support for our valued registered users.
9. What are the major differences between the Coding Service and usual customer support?
1. How do I distribute my application?
Runtime distribution is royalty free.
Only DynamicTwainCtrl.dll is distributable with end user application. All other
files and documentations can NOT be distributed.
YOU MUST NOT DISTRIBUTE DYNAMICTWAIN4.LIC.
Dynamic TWAIN is very easy to distribute. Since Dynamic TWAIN is developed
directly with pure Win32 API and assembly language, no additional supporting DLL
or file is needed to distribute Dynamic TWAIN. JPEG encoder is the built-in
feature of Dynamic TWAIN and no additional DLL is needed either.
2.
What files I need to include in the setup package of my program?
You need DynamicTwainCtrl.dll in the setup package only. Absolutely no other
supporting library is needed.
1.
What operating systems will Dynamic TWAIN work with?
Dynamic TWAIN can support Windows 95, 98, NT, XP, 2000 and 2003.
2.
What programming languages can Dynamic TWAIN work with?
Dynamic Twain can be used in any COM-enlightened program language, such as
C#, VB.NET, Visual C++, Visual Basic, Delphi, HTML/VBScript/JavaScript, and PowerBuilder and
so on.
1. How can I acquire black-white images?
Twain1.OpenSource
Twain1.IfShowUI = False
Twain1.IfDisableSourceAfterAcquire = True
Twain1.PixelType = 0 'Black - White image : 0
Twain1.AcquireImage
2. How can I work without User Interface?
Private Sub BeginScan()
Twain1.OpenSource
Twain1.IfShowUI = False 'set without user interface
Twain1.IfDisableSourceAfterAcquire = True
Twain1.AcquireImage
End Sub
Private Sub Twain1_OnPostTransfer()
Twain1.SaveAsBMP ("c:\temp.bmp", 0)
End Sub
3. How can I scan only a part of a picture?
Twain1.SelectSource
Twain1.OpenSource
Twain1.IfShowUI = False
'Set Image Layout
Twain1.Unit = 0 'INCHES
Twain1.SetImageLayout 0, 0, 5, 5
Twain1.AcquireImage
4. How can I select necessary device without device selection
dialog?
Dim lngNum As Long 'For loop.
Twain1.OpenSourceManager
For lngNum = 0 To Twain1.SourceCount - 1
If (Twain1.SourceNameItems(lngNum) = "Specified device name" Then
Twain1.SelectSourceByIndex (lngNum)
End If
Next
'if can't find the specified source, it'll select the default source
Twain1.AcquireImage
5. How can I disable progress indicator dialog when I acquire
images without UI?
Twain1.IfShowUI = False
Twain1.IfDisableSourceAfterAcquire = True
Twain1.OpenSource
Twain1.IfShowIndicator = False
Twain1.AcquireImage
6. How can I set resolution in the X and Y direction
separately?
Twain1.SelectSource
Twain1.OpenSource
'Set XRESOLUTION current value.
Twain1.Capability = ICAP_XRESOLUTION
Twain1.CapType = TWON_ONEVALUE
Twain1.CapValue = 300
If (Twain1.CapSet = False) Then
MsgBox "Failed to set the x-resolution." + vbCrLf + Twain1.ErrorString,
vbCritical
End If
'Set YRESOLUTION current value.
Twain1.Capability = ICAP_YRESOLUTION
Twain1.CapType = TWON_ONEVALUE
Twain1.CapValue = 200
If (Twain1.CapSet = False) Then
MsgBox "Failed to set the y-resolution." + vbCrLf + Twain1.ErrorString,
vbCritical
End If
Twain1.AcquireImage
7. How to use ADF? We want to save each
document in a separate file.
Dim iDocumentCounter As Integer
iDocumentCounter = 0 'set initialize value
Private Sub BeginScan()
Twain1.OpenSource
Twain1.IfShowUI = False
Twain1.IfDisableSourceAfterAcquire = True
If Twain1.Duplex <> 0 Then
Twain1.IfDuplexEnabled = True 'enable duplex
End If
If Twain1.IfFeederEnabled = True Then
Twain1.XferCount = -1
Twain1.IfAutoFeed = True 'auto feed
If Twain1.IfFeederLoaded = True Then
Twain1.AcquireImage
End If
End If
End Sub
Private Sub Twain1_OnPosttransfer()
iDocumentCounter =
iDocumentCounter + 1
If Twain1.SaveAsBMP("c:\Image\" + Str(iDocumentCounter) + ".bmp",
0) = False Then
MsgBox Twain1.ErrorString
End If
End Sub