Take the following steps to start a project and to add some code to find the fastest configuration for your scanner using the LEADTOOLS Fast TWAIN feature:
- Start Visual Studio .NET.
- Choose File->New->Project… from the menu.
- In the New Project dialog box, choose either "Visual C# Projects" or "Visual Basic Projects" in the Projects Type List, and choose "Windows Application " in the Templates List.
- Type the project name as "GetFastTwainScan" in the Project Name field, and then choose OK. If desired, type a new location for your project or select a directory using the Browse button, and then choose OK .
- In the "Solution Explorer" window, right-click on the "References" folder, and select "Add Reference…" from the context menu. In the "Add Reference" dialog box, select the ".NET" tab and browse to Leadtools For .NET "<LEADTOOLS_INSTALLDIR>\Bin\DotNet\Win32 " folder and select the following DLLs:
- Leadtools.dll
- Leadtools.Twain.dll
- Leadtools.Codecs.dll
- Leadtools.WinForms.dll
Click the Select button and then press the OK button to add the above DLLs to the application.
- Go to the toolbox (View->Toolbox) and Drag and drop 3 instances of Button control to the top of the form and set the following properties for them:
Text |
Name |
Select Source |
buttonSelectSource |
Find Fast Config |
buttonFindFastConfig |
Acquire Fast Config |
buttonAcquireFastConfig |
- Switch to Form1 code view (right-click Form1 in the solution explorer then select View Code ) and add the following lines at the beginning of the file:
[Visual Basic]
Imports Leadtools
Imports Leadtools.Twain
Imports Leadtools.Codecs
Imports Leadtools.WinForms
[C#]
using Leadtools;
using Leadtools.Twain;
using Leadtools.Codecs;
using Leadtools.WinForms;
- Declare the following private variable:
[Visual Basic]
Private WithEvents twnSession As TwainSession
Private fastConfigResult As TwainFindFastConfigurationResult
[C#]
private TwainSession twnSession;
private TwainFindFastConfigurationResult fastConfigResult;
- Add an event handler to the Form1 Load event and code it as follows:
[Visual Basic]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
' Unlock Document support.
' Note that this is a sample key, which will not work in your toolkit.
Dim MY_LICENSE_FILE As String = "d:\temp\TestLic.lic"
Dim MY_DEVELOPER_KEY As String = "xyz123abc"
RasterSupport.SetLicense(MY_LICENSE_FILE, MY_DEVELOPER_KEY)
twnSession = new TwainSession
twnSession.Startup(Me, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
[C#]
private void Form1_Load(object sender, System.EventArgs e)
{
try
{
// Unlock Document support.
// Note that this is a sample key, which will not work in your toolkit.
string MY_LICENSE_FILE = "d:\\temp\\TestLic.lic";
string MY_DEVELOPER_KEY = "xyz123abc";
RasterSupport.SetLicense(MY_LICENSE_FILE, MY_DEVELOPER_KEY);
twnSession = new TwainSession();
twnSession.Startup(this, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None);
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message);
}
}
- Add an event handler to the Form1 Closing event and code it as follows:
[Visual Basic]
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Try
twnSession.Shutdown()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
[C#]
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
twnSession.Shutdown();
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message);
}
}
- Add an event handler to the buttonSelectSource Click event and code it as follows:
[Visual Basic]
Private Sub buttonSelectSource_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonSelectSource.Click
Try
twnSession.SelectSource(String.Empty)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
[C#]
private void buttonSelectSource_Click(object sender, System.EventArgs e)
{
try
{
twnSession.SelectSource(string.Empty);
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message);
}
}
- Add an event handler to the buttonFindFastConfig Click event and code it as follows:
[Visual Basic]
Private Sub buttonFindFastConfig_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonFindFastConfig.Click
Try
twnSession.EnableFastConfigurationEvent = False
fastConfigResult = twnSession.FindFastConfiguration("C:\Users\Public\Documents\LEADTOOLS Images", TwainFastUserInterfaceFlags.Show Or TwainFastUserInterfaceFlags.UseThread, 8, 5, Nothing)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
[C#]
private void buttonFindFastConfig_Click(object sender, System.EventArgs e)
{
try
{
twnSession.EnableFastConfigurationEvent = false;
fastConfigResult = twnSession.FindFastConfiguration(@"C:\Users\Public\Documents\LEADTOOLS Images", TwainFastUserInterfaceFlags.Show | TwainFastUserInterfaceFlags.UseThread, 8, 5, null);
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message);
}
}
- Add an event handler to the buttonAcquireFastConfig Click event and code it as follows:
[Visual Basic]
Private Sub buttonAcquireFastConfig_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonAcquireFastConfig.Click
Try
twnSession.EnableAcquireMultiPageEvent = False
twnSession.AcquireFast("C:\Users\Public\Documents\LEADTOOLS Images\test", _
TwainFastUserInterfaceFlags.Show, _
fastConfigResult.Best.TransferMechanism, _
fastConfigResult.Best.ImageFormat, _
fastConfigResult.Best.BitsPerPixel, _
True, _
fastConfigResult.Best.BufferSize, _
True)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
[C#]
private void buttonAcquireFastConfig_Click(object sender, System.EventArgs e)
{
try
{
twnSession.EnableAcquireMultiPageEvent = false;
twnSession.AcquireFast(@"C:\Users\Public\Documents\LEADTOOLS Images\test",
TwainFastUserInterfaceFlags.Show,
fastConfigResult.Best.TransferMechanism,
fastConfigResult.Best.ImageFormat,
fastConfigResult.Best.BitsPerPixel,
true,
fastConfigResult.Best.BufferSize,
true);
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message);
}
}
- Build, and Run the program to test it.