←Select platform

ScanningMode Property

Summary
Gets or sets the scanner acquisition source and mode.

Syntax
C#
C++/CLI
Python
public WiaScanningModeFlags ScanningMode { get; set; } 
public: 
property WiaScanningModeFlags ScanningMode { 
   WiaScanningModeFlags get(); 
   void set (    WiaScanningModeFlags ); 
} 
ScanningMode # get and set (WiaProperties) 

Property Value

The scanner acquisition source and mode. Possible values are (according to Microsoft SDK documentation):

WiaScanningModeFlags.None

Use this value only to determine whether the WiaProperties structure is filled with a valid scanning mode.

WiaScanningModeFlags.Feeder

Scan using the document feeder.

WiaScanningModeFlags.Flatbed

Scan using the flatbed.

WiaScanningModeFlags.Duplex

Scan using duplexer operations.

WiaScanningModeFlags.AutoAdvance

Enables automatic feeding of the next document after a scan.

WiaScanningModeFlags.FrontFirst

Scan the front of the document first. This value is valid when Duplex is set.

WiaScanningModeFlags.BackFirst

Scan the back of the document first. This value is valid when Duplex is set.

WiaScanningModeFlags.FrontOnly

Scan the front only. This value is valid when Duplex is set.

WiaScanningModeFlags.BackOnly

Scan the back only. This value is valid when Duplex is set.

WiaScanningModeFlags.NextPage

Scan the next page of the document.

WiaScanningModeFlags.Prefeed

Enable pre-feed mode. Pre-position next document while scanning.

WiaScanningModeFlags.AdvancedDuplex

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).

Example
C#
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 Feeder 
      properties.MaximumNumberOfPages = 0;                     // scan all pages in feeder 
      properties.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()); 
   } 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Wia Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.