Code: Select all
using (GdPictureImaging gdpi = new GdPictureImaging())
{
if (TWAINDSMLocation.Length > 0)
{
gdpi.TwainSetDSMPath(TWAINDSMLocation);
}
if (gdpi.TwainOpenDefaultSource(0))
{
gdpi.TwainSetHideUI(!displayScannerOptions);
gdpi.TwainSetAutoFeed(true);
gdpi.TwainSetAutoScan(true);
do
{
// acquire initial page
imageID = gdpi.TwainAcquireToGdPictureImage(0);
if (imageID != 0)
{
pageCount++;
if (pageCount == 1)
{
// if first page, create multipage file on disk
multiPageID = imageID;
gdpi.TiffSaveAsMultiPageFile(imageID, localFileName, compression);
}
else
{
// add subsequent pages to multipage file
gdpi.TiffAddToMultiPageFile(multiPageID, imageID);
gdpi.ReleaseGdPictureImage(imageID);
}
}
} while (gdpi.TwainGetState() > TwainStatus.TWAIN_SOURCE_ENABLED);
gdpi.TwainCloseSource();
gdpi.TiffCloseMultiPageFile(multiPageID);
gdpi.ReleaseGdPictureImage(multiPageID);
}