public void AcquireFast2(
string baseFileName,
int startupPageNumber,
TwainFastUserInterfaceFlags flags,
TwainTransferMode transferMode,
RasterImageFormat format,
int bitsPerPixel,
bool multiPage,
int bufferSize,
bool usePreferredBufferSize
)
baseFileName
The base name of the image file to which to save the acquired data.
startupPageNumber
The starting page number where the numbering of the newly scanned files names starts. For example, if this parameter has the value 3, then the scanned files will have the name "BaseFileName_0003.bmp".
Pass -1 for this parameter to start numbering files from page 1. In this case, the first scanned file will have the file name "BaseFileName_0001.bmp".
flags
Flag that indicates whether to display the manufacturer's user interface.
transferMode
The transfer mode used to acquire.
format
The image format used to acquire.
bitsPerPixel
Represents the BitsPerPixel used to acquire.
multiPage
true for multipage acquire; false for single page.
bufferSize
Specifies the buffer size (in bytes) used to acquire images.
usePreferredBufferSize
Specifies whether to use the preferred buffer size specified by the TWAIN driver.
true to use the preferred buffer size specified by the TWAIN driver; false to use the user-defined buffer size (bufferSize parameter).
AcquireFast and AcquireFast2 are similar to the Acquire method. All are used to acquire one or more images. However, both AcquireFast and AcquireFast2 acquire one or more images and save them to one or more files.
AcquireFast2 was added in order to allow users to prevent already scanned files from being overwritten by a subsequent scan batch. To prevent such over-writing, specify the starting page number (startupPageNumber) for the new files being created to skip over the files that already exist. For example, suppose three pages have been scanned and the specified baseFileName parameter was "BaseFileName.bmp". The names for the output files will be "BaseFileName_0001.bmp", "BaseFileName_0002.bmp" and "BaseFileName_0003.bmp". Now suppose a new scan begins and the startupPageNumber is set to -1 (page numbering starts at 1). Under these conditions, the files that have already been saved will be overwritten. To avoid that, pass 4 for the startupPageNumber parameter so the new scanned files will start from 4 as "BaseFileName_0004.bmp", then "BaseFileName_0005.bmp", etc.
There are two ways to set the scanning configuration. The first way is to determine the configuration before calling AcquireFast2, by calling the FindFastConfiguration method to determine the best scan configuration. The second way is to let AcquireFast2 determine the best method for you.
Note: In fact, if you do not call the FindFastConfiguration method before calling the AcquireFast2 method, then the AcquireFast2 method will determine the best/fastest scanning method to use, based on the type of scanner being used.
The format, baseFileName, and multiPage parameters determine how the images are saved, as follows:
If the file format set in the format parameter does not support multipage files, AcquireFast2 will ignore the multiPage parameter and automatically save the scanned images to separate files. The files are named by appending numbers to the string used for the baseFileName. For example, if the string in baseFileName is "Temp.jpg", the method will append the number of the image (0001, 0002, etc.), to the name of the file. Therefore, the output file names will be "Temp0001.jpg", "Temp0002.jpg", etc.
If the file format specified in the format parameter supports multipage files, this method will use the multiPage parameter to determine how to save multiple images.
To use the AcquireMultiPage event, set the EnableAcquireMultiPageEvent property value to true before calling the AcquireFast2 method. The AcquireMultiPage event will be fired twice for each scanned page: the first time when the TWAIN source begins scanning the page, and again when the TWAIN source has finished scanning the page. For more information, refer to How to Acquire from the Twain Source.
For more information, refer to Fast TWAIN (Scan Configurations).
using Leadtools;
using Leadtools.Twain;
public void twain_AcquireMulti2(object sender, TwainAcquireMultiPageEventArgs e)
{
string msg;
if (e.FinishScan)
{
msg = String.Format("The page # {0} is scanned and saved to file name {1}", e.PageNumber, e.FileName);
MessageBox.Show(msg);
}
e.Cancel = false;
}
public void AcquireFast2Example(IntPtr parent)
{
TwainSession session = new TwainSession();
session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None);
session.EnableAcquireMultiPageEvent = true;
session.AcquireMultiPage += new EventHandler<TwainAcquireMultiPageEventArgs>(twain_AcquireMulti2);
session.AcquireFast2(Path.Combine(LEAD_VARS.ImagesDir, "Out_test.tif"),
3, // start page number to use when numbering output file names, output files should be test_0003.tif, test_0004.tif, ...etc
TwainFastUserInterfaceFlags.Show,
TwainTransferMode.Buffer,
RasterImageFormat.Tif, 1, true, 0, true);
session.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}