- 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 " UsingFastTwainFeature" 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
- Go to the toolbox (View->Toolbox) and Drag and drop a 2 instance of RadioButton control to the top of the form and set the following properties for them:
Text Name Checked Native radioNative False Memory radioMemory False - Go to the toolbox (View->Toolbox) and Drag and drop a 1 instance of Button control to the top of the form and set the following properties for them:
Text Name Fast Acquire buttonFastAcquire - Go to the toolbox (View->Toolbox) and Drag and drop a 1 instance of Check Box control to the top of the form and set the following properties for them:
Name Name Use Buffer Size checkBoxUseBufferSize - Go to the toolbox (View->Toolbox) and Drag and drop a 2 instance of Text Box control to the top of the form and change the following properties:
Property Value Name textBufferSize Name textFileName - 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
[C#]private TwainSession twnSession;
- 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. RasterSupport.Unlock(RasterSupportType.Document, "TestKey") twnSession = new TwainSession twnSession.Startup(Me, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.InitializeMultithreaded) 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. RasterSupport.Unlock(RasterSupportType.Document, "TestKey"); twnSession = new TwainSession(); twnSession.Startup(this, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.InitializeMultithreaded); } 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 System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.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 buttonFastAcquire Click event and code it as follows:
[Visual Basic]
Private Sub buttonFastAcquire_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonFastAcquire.Click Dim transferMode As TwainTransferMode Dim transferFormat As RasterImageFormat If radioMemory.Checked Then transferMode = TwainTransferMode.Buffer transferFormat = RasterImageFormat.CcittGroup4 Else transferMode = TwainTransferMode.Native transferFormat = RasterImageFormat.Tif End If Try twnSession.AcquireFast(textFileName.Text, _ TwainFastUserInterfaceFlags.Show Or TwainFastUserInterfaceFlags.UseThread, _ transferMode, _ transferFormat, _ 1, _ True, _ Convert.ToInt32(textBufferSize.Text), _ checkBoxUseBufferSize.Checked) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
[C#]private void buttonFastAcquire_Click(object sender, System.EventArgs e) { TwainTransferMode transferMode; RasterImageFormat transferFormat; if (radioMemory.Checked) { transferMode = TwainTransferMode.Buffer; transferFormat = RasterImageFormat.CcittGroup4; } else { transferMode = TwainTransferMode.Native; transferFormat = RasterImageFormat.Tif; } try { twnSession.AcquireFast(textFileName.Text, TwainFastUserInterfaceFlags.Show | TwainFastUserInterfaceFlags.UseThread, transferMode, transferFormat, 1, true, Convert.ToInt32(textBufferSize.Text), checkBoxUseBufferSize.Checked); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
- Build, and Run the program to test it.