2010-02-11 7 views
8

मैं सी # के साथ स्कैनर से छवियों को प्राप्त करने के लिए डब्ल्यूआईए का उपयोग कर रहा हूं। मैं कागजात स्कैन कर सकता हूं, लेकिन मैं पेज आकार को सही तरीके से सेट नहीं कर सकता, यह हमेशा ए 4 पर चूक जाता है और मुझे कभी-कभी पत्र या कानूनी उपयोग करने की आवश्यकता होती है।डब्ल्यूआईए (स्कैनर के साथ) का उपयोग करके पृष्ठ का आकार सेट करें

मैंने WIA_DPS_PAGE_SIZE संपत्ति के साथ प्रयास किया, लेकिन जब मैं कोई मान सेट करने का प्रयास करता हूं, तो मुझे हमेशा एक त्रुटि मिलती है, मान अंतराल से बाहर होता है (बहुत सारे संभावित मानों का प्रयास किया जाता है)।

मैं WIA_DPS_PAGE_SIZE = WIA_PAGE_AUTO (स्वचालित पृष्ठ आकार के लिए) का उपयोग करने में सक्षम नहीं होना चाहता, लेकिन मुझे इससे संबंधित वेब पर कुछ भी नहीं मिल रहा है।

क्या कोई समाधान ढूंढता है? धन्यवाद!

उत्तर

10

मुझे पता है कि वास्तव में यह वास्तव में आपकी सहायता करने में बहुत देर हो चुकी है, लेकिन यह भविष्य के संदर्भ के लिए आसान हो सकती है। आइटम को स्कैन को बदलने के लिए गुण इस तरह के कोड का उपयोग करें:

WIA.CommonDialog wiaDlg; 
WIA.Device wiaDevice; 
WIA.DeviceManager wiaManager = new DeviceManager(); 

wiaDlg = new WIA.CommonDialog(); 
wiaDevice = wiaDlg.ShowSelectDevice(WiaDeviceType.ScannerDeviceType, false, false); 

foreach (WIA.Item item in wiaDevice.Items) 
{ 
    StringBuilder propsbuilder = new StringBuilder(); 

    foreach (WIA.Property itemProperty in item.Properties) 
    { 
     IProperty tempProperty; 
     Object tempNewProperty; 

     if (itemProperty.Name.Equals("Horizontal Resolution")) 
     { 
      tempNewProperty = 75; 
      ((IProperty)itemProperty).set_Value(ref tempNewProperty); 
     } 
     else if (itemProperty.Name.Equals("Vertical Resolution")) 
     { 
      tempNewProperty = 75; 
      ((IProperty)itemProperty).set_Value(ref tempNewProperty); 
     } 
     else if (itemProperty.Name.Equals("Horizontal Extent")) 
     { 
      tempNewProperty = 619; 
      ((IProperty)itemProperty).set_Value(ref tempNewProperty); 
     } 
     else if (itemProperty.Name.Equals("Vertical Extent")) 
     { 
      tempNewProperty = 876; 
      ((IProperty)itemProperty).set_Value(ref tempNewProperty); 
     } 
    } 

    image = (ImageFile)item.Transfer(WIA.FormatID.wiaFormatPNG); 
} 

इसका मतलब है कि स्कैन दस्तावेज़ आयामों के साथ आकार ए 4 हो जाएगा 619 x 876.

संबंधित मुद्दे