←Select platform

Acquire Method


Acquires one or more images from a TWAIN source.


public DialogResult Acquire( 
   TwainUserInterfaceFlags flags 
Public Function Acquire( _ 
   ByVal flags As Leadtools.Twain.TwainUserInterfaceFlags _ 
) As DialogResult 
DialogResult Acquire(  
   Leadtools.Twain.TwainUserInterfaceFlags flags 


Indicates whether to display the manufacturer's user interface.

Return Value

One of the DialogResult values. If an error occurs, an exception is thrown.


Use the Acquire method to acquire one or more images. Use the AcquireFast method to acquire one or more images and save them to one or more files. The number of pages to acquire can be determined by getting the TWAIN source's capabilities. To change the number of pages to acquire, set the appropriate capability to the desired number. This method will get images from the selected TWAIN source and pass them into an RasterImage object to the AcquirePage event through the TwainAcquirePageEventArgs class. For each image acquired by the currently selected TWAIN source, an AcquirePage event is generated. The Acquire method acquires pages in the following transfer modes:

  • Native - gets the images being scanned into the memory as a whole.
  • Memory Buffered - gets images from the source as strips of data. These strips can be merged to get the whole image.

To set the transfer mode, call SetCapability with the appropriate capability constant. For more information, refer to How to Acquire from the Twain Source.


using Leadtools; 
using Leadtools.Twain; 
TwainSession acq_session; 
private void twain_AcquirePage(object sender, TwainAcquirePageEventArgs e) 
   // get acquired image here 
   // call StopFeeder method here if you need to stop the feeder 
public void AcquireExample(IntPtr parent) 
   acq_session = new TwainSession(); 
   acq_session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None); 
   TwainProperties props = acq_session.Properties; 
   TwainDataTransferProperties dataProps = props.DataTransfer; 
   dataProps.FileName = Path.Combine(LEAD_VARS.ImagesDir, "twain.bmp"); 
   dataProps.MemoryBufferSize = dataProps.MemoryBufferSize * 2; 
   props.DataTransfer = dataProps; 
   acq_session.Properties = props; 
   TwainTransferOptions opts = acq_session.TransferOptions; 
   acq_session.AcquirePage += new EventHandler<TwainAcquirePageEventArgs>(twain_AcquirePage); 
   if (acq_session.Acquire(TwainUserInterfaceFlags.Show) != DialogResult.OK) 
      MessageBox.Show("Error Acquiring From Source"); 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
Imports Leadtools 
Imports Leadtools.Twain 
Dim acq_session As TwainSession 
Private Sub twain_AcquirePage(ByVal sender As Object, ByVal e As TwainAcquirePageEventArgs) 
   ' get acquired image here 
   ' call StopFeeder method here if you need to stop the feeder 
End Sub 
Public Sub AcquireExample(ByVal parent As IntPtr) 
   acq_session = New TwainSession() 
   acq_session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None) 
   Dim props As TwainProperties = acq_session.Properties 
   Dim dataProps As TwainDataTransferProperties = props.DataTransfer 
   dataProps.FileName = Path.Combine(LEAD_VARS.ImagesDir, "twain.bmp") 
   dataProps.MemoryBufferSize = dataProps.MemoryBufferSize * 2 
   props.DataTransfer = dataProps 
   acq_session.Properties = props 
   Dim opts As TwainTransferOptions = acq_session.TransferOptions 
   AddHandler acq_session.AcquirePage, AddressOf twain_AcquirePage 
   If acq_session.Acquire(TwainUserInterfaceFlags.Show) <> DialogResult.OK Then 
      MessageBox.Show("Error Acquiring From Source") 
   End If 
End Sub 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 


Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Twain Assembly