Questions
General Questions
- What is TWAIN?
- What is Dynamic Web TWAIN?
- What is Dynamic Web TWAIN Mac edition?
- What browsers does Mac edition support?
- Does the use of the Dynamic Web TWAIN require installation
of twain drivers?
- For which purposes can I
use Dynamic Web TWAIN?
- What is the main advantage of Dynamic Web TWAIN compared with other TWAIN
which is also designed for web environment?
- Who do I contact if I need
technical support?
- Where
can I obtain a test application that uses Dynamic Web Twain?
- I would like to request some features in the next version of Dynamic Where
do I make these requests?
- I have problems. What should I do?
- What is Live Help?
- What are the major differences between the
Virtual Developer Service and usual customer
support?
- Do you provide sample code? If yes, how can I
get it?
- What are the differences among ActiveX, Plug-in and Mac Edition?
- How to integrate ActiveX, Plug-in and Mac edition?
- How to install Mac edition?
Distribution Questions
- How do I distribute my application?
- What
files I need to include in the setup package of my program?
- Where can I find the CAB file, the MSI file, the XPI file, or the PKG file?
- How to deploy Dynamic Web
TWAIN on Web server?
- Can I deploy Dynamic Web TWAIN
on Linux? If yes, how to?
License Questions
- How many licenses do I need for a web-based application that runs on one server
but can be accessed by many clients?
- Do I need a Developer License to do the development if I have
Web Server License?
- What
can I do when the Trial version is out of period expiration?
- How can I upgrade
the Trial version to Full version?
- Cloud-Based license for Dynamic Web TWAIN
Features Questions
- What operating
systems will Dynamic Web TWAIN work with?
- What
programming languages can Dynamic Web TWAIN ActiveX Edition work with?
- Does Dynamic Web TWAIN support Chrome or FireFox?
- Does Dynamic Web TWAIN support
Database?
- Does Dynamic Web TWAIN support SSL?
- Can I use FTP upload and
download with password?
- Can I upload and download
images via proxy?
- Can Dynamic
Web TWAIN work in a class library (DLL) project?
- Does Dynamic Web TWAIN support Barcode Reader or OCR?
Programming Questions
- How can I acquire black-white
images?
- How can I work without User
Interface?
- How can I scan only a part of a
picture?
- How
can I select necessary device without device selection dialog?
- How can I disable progress indicator dialog when I acquire images without UI?
- How can I
set resolution in the X and Y direction separately?
- How can I upload
acquired image to the Web server?
- How to use ADF? We want to save each document in a
separate file.
- How can I work with SSL?
- How
can I add a new scanned image to an existed multi-page TIFF file?
- How can I rotate an image
before I save it?
- How
can I view a specified image if there are several images in buffer?
- How can I do a duplex scan?
- How to use Dynamic Web TWAIN in Visual C++ Non-Dialog Based Applications?
- How can I scan an inverted image?
Troubleshooting
- Why
do I fail to download the ActiveX control on the client machine?
- Why do I get the error
"HTTP process error"?
- Why do I get the
error "Your trial license has expired"?
- How to use Dynamic Web TWAIN in
Firefox?
- Why do I get the error
"Class not registered" in Delphi environment when I upgrade the Trial
version to Full version?
Answers
General Questions
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 Web TWAIN?
Dynamic Web TWAIN has ActiveX, Plug-in and Mac edition.
ActiveX edition is compatible with Microsoft Internet Explorer (both 32bit and
64bit) and all COM-compatible environment, such as MS Office, VB, VC.
Plug-in edition is compatible with Gecko-based browsers on Windows platform,
such as Chrome, Firefox, Opera, etc...
Mac edition is compatible with all browsers on Mac OS X platform.
Dynamic Web TWAIN enables you to acquire images from any TWAIN compatible
devices. Basically speaking, Dynamic Web TWAIN has all the functionalities that
Dynamic TWAIN has, plus much functionality specifically designed for web
environment. With the carefully designed interface, and the built-in wizard
mode, Dynamic Web TWAIN is very easy to use. You can typically do your TWAIN
job in several lines of code. At the same time, Dynamic Web TWAIN is very
powerful. It is compatible with TWAIN specification V2.1. It has built-in JPEG
encoder and decoder. It supports all three image transfer modes and many other
features.
Dynamic Web TWAIN has many features specifically designed for web environment,
such as uploading and downloading images through FTP or HTTP protocol.
3. What is Dynamic Web TWAIN Mac edition?
With Mac Edition, users will be able to acquire images via a browser on Mac OS X, edit and save/upload
them.
4. What browsers does Mac edition support?
It is compatible with browsers including Safari, Firefox, Chrome and Opera on Mac OS X 10.5 or later.
5. Does the use of the Dynamic Web TWAIN require installation
of twain drivers?
Yes. Dynamic Web TWAIN communicates with the TWAIN driver of a device
(scanner/camera/capture card/etc.) to control it to acquire and transfer
images, so the driver needs to be installed on client machines.
6. For which
purposes can I use Dynamic Web TWAIN?
Dynamic Web TWAIN can be used for controlling any work of scanners, digital
cameras and any other devices which support TWAIN standard. Dynamic Web TWAIN
can upload and download images through FTP or HTTP protocol. Proxy is
supported.
Also, you can use Dynamic Web TWAIN with any COM-compatible development tools,
such as VB, VC, C#, VB.NET, Delphi.
7. What is the main advantage of Dynamic Web TWAIN when compared with
other TWAIN which is also designed for web environment?
The main advantage of Dynamic Web TWAIN is that Dynamic Web TWAIN is a TRUE
web scanning solution.
It is compatible with Internet Explorer, Chrome, Firefox and other browsers.
It is very small. Absolutely no supporting DLL is needed for distribution.
Upload and download image through HTTP and FTP.
Supports TIFF, JPEG, PDF and PNG compression.
8. Who do I
contact if I need technical support?
- 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.
- You can email our support team. Our email address for TWAIN family products is

9. Where
can I obtain a test application that uses Dynamic Web Twain?
The Online Demo of Dynamic Web TWAIN is available at
WebTWAIN_Demos. You
can also find a local demo and visual studio demo (source code included) under
the installation folder of Dynamic Web TWAIN trial version.
10. I would like to request some features in the next version of Dynamic Where
do I make these requests?
If you have any requirement, please contact us by email. Your request is very
important to us. Our email address for TWAIN family products is
11. 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. Our email address of support team
is
12. What is Live Help?
DynamSoft is committed to providing the best customer support in the
industry. Our support team is ready to offer no time limit, high quality,
friendly and responsively technical support for our valued registered users.
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.
- Recognizing our world wide customers locate in different time zones, we proudly
provide at least 20 hours Live Chat Support (Live Help) each day from Monday to
Friday.
- If you visit between Monday and Friday, and happen to see our Live
Help support professional is offline, please wait a moment and
our support professional will be with you shortly.
- When the Live Help support professional is offline, you can also leave a
message and we would response promptly.
13. What are the major differences between the Coding Service and usual
customer support?
- With the Virtual Developer
Service, we can be
involved in your project
as much as needed. We
take part in your
project from requirement
analysis to completion.
- With the Virtual Developer
Service, we
communicate with you
closely, analyze your
requirements, propose
tech solutions, write
the code, help you
integrate the code in
your project, do the
test and maintenance.
- With standard customer
support, you usually
need a developer working
on the TWAIN module who
would then ask questions
to our technical support
team. With the Virtual
Developer Service, you
do not need a developer
working on the TWAIN
module and our
developers participate
in your project as a
team member.
14. Do you provide sample code? If yes,
how can I get it?
Yes, we provide sample code
of Dynamic Web TWAIN in ASP,
VB.NET, C#, PHP+Apache and JSP+Tomcat .
If you need a sample of Dynamic
Web TWAIN, please access the
following page to download
samples.
http://www.dynamsoft.com/Downloads/WebTWAIN-Sample-Download.aspx
15. What are the differences among ActiveX, Plug-in and Mac Edition?
ActiveX Edition works as an ActiveX control in IE (32-bit and 64-bit) on Windows; Plugin Edition works with Firefox, Chrome, Safari, Opera, and etc on Windows; Mac Edition works with Firefox, Chrome, Safari and Opera on Mac OS X. If you are not sure which browser your end user will use, we recommend you choose ActiveX, Plug-in and Mac editions to support all browsers on
Windows and Mac OS X platforms.
16. How to integrate ActiveX, Plug-in and Mac edition?
To integrate ActiveX, Plug-in and Mac editions in your scanning application,
please refer to http://kb.dynamsoft.com/questions/635/How+to+support+multi+browsers+in+one+scan+page%3F
17. How to install Mac edition?
Please refer to 'How
to install Dynamic Web TWAIN Mac Edition for web application end
users?'.
Distribution Questions:
1. How do I distribute my
application?
Only DynamicWebTwainCtrl.dll (including cab file), DynamicWebTwain.xpi,
DynamicWebTwain.exe and DynamicWebTWAINMacEdition.pkg can be distributable with
end user application. All other files and documentations can NOT be distributed.
YOU MUST NOT DISTRIBUTE ".LIC" FILE OF DYNAMIC WEB TWAIN.
Dynamic Web TWAIN is very easy to distribute. Since Dynamic Web TWAIN is
developed directly with pure Win32 API and assembly language, no additional
supporting DLL or file is needed to distribute Dynamic Web TWAIN.
Please refer to the License Agreement for more info.
2.
What files I need to include in the setup package of my program?
You need DynamicWebTwain.cab (32bit and 64bit), DynamicWebTWAINPlugin.msi/DynamicWebTwain.xpi and DynamicWebTWAINMacEdition.pkg in the setup package only.
3. Where can I find the CAB
file, the MSI file, the XPI file, or the PKG file?
- The CAB file can be found in the installation directory of Dynamic
Web TWAIN ActiveX.
- The XPI file can be found in the installation directory of Dynamic
Web TWAIN Plug-in.
- The MSI file can be found in the installation directory of Dynamic Web TWAIN
Plug-in.
- The PKG file can be found in the installation directory of Dynamic
Web TWAIN Mac edition.
4. How to deploy
Dynamic Web TWAIN on Web server?
please
refer to Deploying Dynamic Web TWAIN on Web Server for more info.
5. Can I deploy Dynamic
Web TWAIN on Linux? If yes, how to?
Yes, Dynamic Web TWAIN can be deployed on Linux.
- Install the Dynamic Web TWAIN on Windows.
- Place the CAB, XPI, MSI, PKG files into the directory of Web
server on Linux.
For more information on how to deploy Dynamic Web TWAIN on Web server, please
refer to Deploying Dynamic Web TWAIN on Web Server.
License Questions:
1. How many licenses do I need for a web-based application that runs
on one internet server but can be accessed by many clients?
Only one Web Server License is required. Please refer to the License Agreement for more info.
2. Do I need a Developer License to do the development if I have
Web Server License?
No. With Web Server License, you can develop project plus deploying it onto server.
3. What can I do when the Trial version is out of period expiration?
You can send a mail to our support team and ask for extending the period. We
will be more than happy to extend the license for you.
4. How can I
upgrade the Trial version to Full version?
Please do the upgrade as follows:
- Uninstall the Trial version of Dynamic Web TWAIN from your machine.
- Install the Full version of Dynamic Web TWAIN to your machine.
- Input the server license you purchased into the Licensing Tool.
- Change the Class ID from Trial version to Full version.
For the information about the Class ID of Trial version and Full version,
please refer to Deploying Dynamic Web TWAIN on Web Server.
- Recreate the product key with the server license you have purchased.
5. Cloud-Based license for Dynamic Web TWAIN
Please refer to Cloud-Based license for more information.
Question on Features
1. What operating systems will
Dynamic Web TWAIN work with?
Dynamic Web TWAIN supports Windows (Windows 95, 98, ME, NT, XP, 2000, 2003, Vista, 7 and 8) and Mac OS X (10.5 or later version).
2. What
programming languages can Dynamic Web TWAIN ActiveX Edition work with?
Dynamic Web TWAIN ActiveX Edition can be used in any COM-enlightened
program languages, such as C#, VB.NET, Visual C++, Visual Basic, Delphi,
HTML/VBScript/JavaScript, and PowerBuilder and so on.
3. Does Dynamic Web TWAIN support Chrome or FireFox?
Yes. Dynamic Web Edition Plug-in Edition is compatible with Chrome, Firefox and
other Gecko-based browsers.
4. Does Dynamic Web TWAIN
support Database?
Yes. Dynamic Web TWAIN is able to save image files to the file system and
database.
5. Does Dynamic Web TWAIN
support SSL?
Yes. Dynamic Web TWAIN supports SSL.
For the information on how to work with SSL, please refer to How can I work with SSL.
6. Can I use FTP
upload and download with password?
Yes. You can use the FTPUserName property and the FTPPassword property.
7. Can I upload and
download images via proxy?
Yes. You can use the ProxyServer property.
8. Can
Dynamic Web TWAIN work in a class library (DLL) project?
Dynamic Web TWAIN is not able to.
9. Does Dynamic Web TWAIN support Barcode Reader or OCR?
No. But Barcode Reader and OCR is supported in ImageCapture Suite (which can be
upgraded from Dynamic Web TWAIN). You can try the online demo here.
Programming Questions
1. How can I acquire
black-white images?
DWTObject.OpenSource();
DWTObject.IfShowUI = false;
DWTObject.IfDisableSourceAfterAcquire = true;
DWTObject.PixelType = 0; //Black - White image : 0, GRAY image: 1, RGB
image: 2
DWTObject.AcquireImage();
2. How can I work without
User Interface?
function BeginScan(){
DWTObject.OpenSource();
DWTObject.IfShowUI = false; //set without user interface
DWTObject.IfDisableSourceAfterAcquire = true;
DWTObject.AcquireImage();
}
function DWTObject_OnPostTransfer(){
DWTObject.SaveAsBMP ("c:\temp.bmp", 0);
}
3. How can I scan only a
part of a picture?
DWTObject.SelectSource();
DWTObject.OpenSource();
DWTObject.IfShowUI = false;
//Set Image Layout
DWTObject.Unit = 0; //INCHES
DWTObject.SetImageLayout(0, 0, 5, 5);
DWTObject.AcquireImage()
4.
How can I select necessary device without device selection dialog?
DWTObject.OpenSourceManager();
for(i = 0, i<=DWTObject.SourceCount - 1,i++){
If (DWTObject.GetSourceNameItems(i) == "Specified device name")
DWTObject.SelectSourceByIndex (i);
}
//if can't find the specified source, it'll select default source
DWTObject.AcquireImage();
5. How can I disable progress indicator dialog when I acquire images
without UI?
DWTObject.IfShowUI = false;
DWTObject.IfDisableSourceAfterAcquire = true;
DWTObject.OpenSource();
DWTObject.IfShowIndicator = false;
DWTObject.AcquireImage();
6.
How can I set resolution in the X and Y direction separately?
DWTObject.SelectSource();
DWTObject.OpenSource();
//Set XRESOLUTION current value.
DWTObject.Capability = 0x1118; //ICAP_XRESOLUTION
DWTObject.CapType = 5; //TWON_ONEVALUE
DWTObject.CapValue = 300;
If (DWTObject.CapSet == false){
alert( "Failed to set the x-resolution. " + DWTObject.ErrorString);
}
//Set YRESOLUTION current value.
DWTObject.Capability = 0x1119; //ICAP_YRESOLUTION
DWTObject.CapType = 5; //TWON_ONEVALUE
DWTObject.CapValue = 200;
If (DWTObject.CapSet == false){
alert( "Failed to set the y-resolution." + DWTObject.ErrorString);
}
DWTObject.AcquireImage();
7. How can I
upload acquired image to the Web server?
WebTWAIN = document.getElementById("iDynamicWebTwain");//iDynamicWebTwain is the
id of the Dynamic Web TWAIN on the page (An object or an embed).
function btnScan_onclick()
{
WebTWAIN.SelectSource();
WebTWAIN.OpenSource();
WebTWAIN.AcquireImage();
}
function btnUpload_onclick()
{
var strActionPage;
var strHostIP;
var CurrentPathName = unescape(location.pathname); // get current PathName in
plain ASCII
var CurrentPath = CurrentPathName.substring(0, CurrentPathName.lastIndexOf("/")
+ 1);
strActionPage = CurrentPath + "SaveToFile.aspx"; //the ActionPage's file path
strHostIP = "localhost"; //The host's IP or name
WebTWAIN.HTTPPort = 80;
WebTWAIN.HTTPUploadThroughPost(strHostIP,0,strActionPage,"imageData.tif");
if (WebTWAIN.ErrorCode != 0)
alert(WebTWAIN.ErrorString);
else //succeded
alert("Image Uploaded successfully");
}
8. How to use ADF? We want to save each document in
a separate file.
var iDocumentCounter =0;
function BeginScan(){
DWTObject.OpenSource();
DWTObject.IfShowUI = false;
DWTObject.IfDisableSourceAfterAcquire = true;
If(DWTObject.Duplex != 0)
DWTObject.IfDuplexEnabled = true; //enable duplex
DWTObject.IfFeederEnabled = true;
If (DWTObject.IfFeederEnabled == true){
DWTObject.XferCount = -1;
DWTObject.IfAutoFeed = true; //auto feed
If(DWTObject.IfFeederLoaded == True)
DWTObject.AcquireImage();
}
}
function DWTObject_OnPosttransfer(){
iDocumentCounter = iDocumentCounter + 1;
If(DWTObject.SaveAsBMP("c:\Image\" + iDocumentCounter + ".bmp", 0) == false)
alert( DWTObject.ErrorString);
}
9. How can I work with SSL?
You can use the IfSSL property.
The following JavaScript Sample shows how to use IfSSL property.
function btnUpload_onclick()
{
frmScan.DynamicWebTwain1.HTTPPort = 80;
frmScan.DynamicWebTwain1.IfSSL = false; // if 80 is the port number of
non-secure port
/*
frmScan.DynamicWebTwain1.HTTPPort = 443;
frmScan.DynamicWebTwain1.IfSSL = true; // if 443 is the port number of secure
port
*/
frmScan.DynamicWebTwain1.HTTPUploadThroughPost("127.0.0.1", 0,
"/SaveToFile.php", "imageData.jpg");
if (frmScan.DynamicWebTwain1.ErrorCode != 0)
alert(frmScan.DynamicWebTwain1.ErrorString);
else //succeded
alert("Successful");
}
10. How can I add a new scanned image to an existed multi-page TIFF file?
function Scan_Click(){
DynamicWebTwain1.AcquireImage();
}
function DynamicWebTwain1_OnPostTransfer(){
DynamicWebTwain1.CloseSource();
DynamicWebTwain1.IfTiffMultiPage = true;
DynamicWebTwain1.SaveAsTIFF("SaveAsTIFF.tif", 0);
if (DynamicWebTwain1.ErrorCode != 0)
alert (DynamicWebTwain1.ErrorString);
else //succeded
alert ("Successful");
}
11. How can I rotate an
image before I save it?
You can use the RotateLeft property and the RotateRight property.
12. How can I view a specified image if there are several images in buffer?
You can view a specified image or go through all the images in buffer with
clicking "NextImage" or "PreImage" buttons.
function NextImage_Click(){
If (DynamicWebTwain1.HowManyImagesInBuffer == 0)
alert ("There is no image in buffer");
DynamicWebTwain1.CurrentImageIndexInBuffer =
DynamicWebTwain1.CurrentImageIndexInBuffer + 1;
}
13. How can I do a duplex scan?
function DuplexScan_Click(){
DynamicWebTwain1.SelectSource();
DynamicWebTwain1.OpenSource();
DynamicWebTwain1.IfDuplexEnabled = true; //enable duplex
DynamicWebTwain1.XferCount = 2;
DynamicWebTwain1.MaxImagesInBuffer = 2;
DynamicWebTwain1.AcquireImage();
}
14. How to use Dynamic Web TWAIN in Visual C++ Non-Dialog Based Applications?
1. Adding Dynamic Web TWAIN to a Visual C++ Project.
2. Adding Code to the Project.
15. How can I scan an inverted
image?
You can use the PixelFlavor property.
Troubleshooting
1. Why do I fail to download the ActiveX control on the client machine?
Please check this article for solution.
2. Why do I get the
error "HTTP process error"?
Please check this article for solution.
3. Why do I
get the error "Your trial license has expired"?
Please check this article for solution.
4. How to use Dynamic Web
TWAIN in Firefox?
You can try the following steps.
- Please refer to the following code.
<HTML>
<HEAD>
<TITLE>Image Scanner
Application</TITLE>
</HEAD>
<BODY>
<p>This is a simple test page for the
DynamicWebTwain plug-in. </p>
<EMBED
TYPE="Application/DynamicWebTwain-Plugin"
OnPostTransfer="OnPostTransferCallback()"
WIDTH="200"
HEIGHT="200"
ProductKey="xxxxxx"
PLUGINSPAGE="DynamicWebTwain.xpi">
</EMBED>
<p>
<INPUT type="button"
onclick="AcquireImage()" value="AcquireImage" >
<SCRIPT>
function OnPostTransferCallback()
{
var Plugin =
document.embeds[0];
Plugin.CloseSource();
}
function AcquireImage()
{
var Plugin =
document.embeds[0];
Plugin.SelectSource();
Plugin.AcquireImage();
}
</SCRIPT>
</p>
</BODY>
</HTML>
- Place the 'DynamicWebTwain.xpi' file (where
to find the 'DynamicWebTwain.xpi' file) or the 'DynamicWebTwainPlugin.msi' file in the same directory of your page.
- Click the 'Install Missing Plugins' button. Firefox displays a message
indicating it couldn't find any suitable plugins. Then click the 'Manual
Install' button.
- Select to open the installation file and click 'OK'.
- Click 'Install Now'.
- Refresh your page.
When you see a grey box with "No image" written on it, it indicates
that Dynamic Web TWAIN Plug-in has been installed in Firefox.
5. Why do I get the
error "Class not registered" in Delphi environment when I upgrade the
Trial version to Full version?
Please try the steps as follows.
- Find the 'dclusr.dpk' file in the
"Lib" folder under the installation directory
of Delphi and then open it with Delphi.
- Right click the "DYNAMICWEBTWAINCTRLLib_TLB.dcr" file and select
"Remove From
Project". Also, do the same operation to the
"DYNAMICWEBTWAINCTRLLib_TLB.pas"
file.
- Click the "Compile" icon.
- Save the 'dclusr.dpk' file before closing it.