public WiaScanningModeFlags ScanningMode { get; set; }
The scanner acquisition source and mode. Possible values are (according to Microsoft SDK documentation):
| Use this value only to determine whether the WiaProperties structure is filled with a valid scanning mode. | |
| Scan using the document feeder. | |
| Scan using the flatbed. | |
| Scan using duplexer operations. | |
| Enables automatic feeding of the next document after a scan. | |
| Scan the front of the document first. This value is valid when Duplex is set. | |
| Scan the back of the document first. This value is valid when Duplex is set. | |
| Scan the front only. This value is valid when Duplex is set. | |
| Scan the back only. This value is valid when Duplex is set. | |
| Scan the next page of the document. | |
| Enable pre-feed mode. Pre-position next document while scanning. | |
| Scan using individual settings configured for each child feeder item. Duplex and AdvancedDuplex cannot both be set. |
For more information about these scanning modes, refer to Microsoft Windows SDK Documentation for the WIA_DPS_DOCUMENT_HANDLING_SELECT property ID (if you are using WIA 1.0) or WIA_IPS_DOCUMENT_HANDLING_SELECT property ID (if you are using WIA 2.0).
using Leadtools;using Leadtools.Codecs;using Leadtools.Wia;WiaSession wiaSession;public void GetRootItemExample(IntPtr parent){if (!WiaSession.IsAvailable(WiaVersion.Version1)){Console.WriteLine("WIA version 1.0 not installed.");return;}wiaSession = new WiaSession();wiaSession.Startup(WiaVersion.Version1);DialogResult res = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault);if (res != DialogResult.OK){Console.WriteLine("Error selecting WIA device.");wiaSession.Shutdown();return;}object rootItem = wiaSession.GetRootItem(null);if (rootItem != null){wiaSession.EnumItemsEvent += new EventHandler<WiaEnumItemsEventArgs>(wiaSession_EnumItemsEvent);wiaSession.EnumChildItems(rootItem);wiaSession.EnumItemsEvent -= new EventHandler<WiaEnumItemsEventArgs>(wiaSession_EnumItemsEvent);}wiaSession.Shutdown();}void wiaSession_EnumItemsEvent(object sender, WiaEnumItemsEventArgs e){if (e.Item != null){WiaDataTransferProperties dataTransfer = WiaDataTransferProperties.Empty;WiaImageEffectsProperties imageEffects = WiaImageEffectsProperties.Empty;WiaProperties properties = wiaSession.GetProperties(e.Item);dataTransfer.ImageDataType = WiaImageDataType.Grayscale;imageEffects.Brightness = 250;properties.DataTransfer = dataTransfer;properties.ImageEffects = imageEffects;properties.ScanningMode = WiaScanningModeFlags.Feeder; // set scanning source to Feederproperties.MaximumNumberOfPages = 0; // scan all pages in feederproperties.ImageType = WiaImageType.Grayscale;properties.Orientation = WiaOrientation.Portrait;WiaImageResolutionProperties imageResolution = properties.ImageResolution;imageResolution.BitsPerPixel = 8;imageResolution.HorizontalResolution = 600;imageResolution.VerticalResolution = 600;properties.ImageResolution = imageResolution;wiaSession.SetPropertiesEvent += new EventHandler<WiaSetPropertiesEventArgs>(wiaSession_SetPropertiesEvent);wiaSession.SetProperties(e.Item, properties);wiaSession.SetPropertiesEvent -= new EventHandler<WiaSetPropertiesEventArgs>(wiaSession_SetPropertiesEvent);wiaSession.FreeItem(e.Item);}}void wiaSession_SetPropertiesEvent(object sender, WiaSetPropertiesEventArgs e){if (e.Error <= 0){Console.WriteLine("Failed to set the below property:\n\tProperty Id: {0}\n\tProperty Value: {1}\n\tError: {2}\n\n", e.PropertyId.ToString(), e.Value.ToString(), e.Error.ToString());}}