2012-02-09 6 views
0

WIA를 통해 네트워크 스캐너와 작동하는 프로그램을 작성 중입니다. 한 페이지 만 스캔 할 때 모든 것이 잘 작동합니다. 내가 공급 장치의 전원을 켜면 :WIA + 네트워크 스캐너 (adf = 1 페이지)

foreach (WIA.Property deviceProperty in wia.Properties) 
{ 
    if (deviceProperty.Name == "Document Handling Select") 
    { 
     int value = duplex ? 0x004 : 0x001; 
     deviceProperty.set_Value(value); 
    } 
} 

를 프로그램은 스캔, 여전히 공급 장치에 문서이며, (스캐너 스캔 계속) COM 오류로 탈락하는 신호를 수신합니다. 다음은 코드가 공급 장치에 페이지를 확인입니다 :

imgFile = (ImageFile)WiaCommonDialog.ShowTransfer(item, wiaFormatJPEG, false); 

는 불행하게도 WIA WSD를 사용하는 예를 찾을 수 없습니다 :

//determine if there are any more pages waiting 
Property documentHandlingSelect = null; 
Property documentHandlingStatus = null; 

foreach (Property prop in wia.Properties) 
{ 
    if (prop.PropertyID == WIA_PROPERTIES.WIA_DPS_DOCUMENT_HANDLING_SELECT) 
     documentHandlingSelect = prop; 
    if (prop.PropertyID == WIA_PROPERTIES.WIA_DPS_DOCUMENT_HANDLING_STATUS) 
     documentHandlingStatus = prop; 
} 

if ((Convert.ToUInt32(documentHandlingSelect.get_Value()) & 0x00000001) != 0) 
{ 
    return ((Convert.ToUInt32(documentHandlingStatus.get_Value()) & 0x00000001) != 0); 
} 

return false; 

이 사진 코드를 얻기. WSD를 통해 여러 개의 이미지를 가져올 수있는 설정이있을 수 있습니다.

+0

나는 또한 제조사의 드라이버를 설치하여 해결 한 [동일한 문제] (http://stackoverflow.com/questions/27473142/cannot-read-second-page-scanned-via-adf/31908751#31908751)가 있습니다. . –

답변

0

나는 VIA와 함께 WIA 2.0을 사용하여 Brother MFC-5895CW 다기능 스캐너를 제어하는 ​​데 거의 동일한 문제가있었습니다. ADF에서 스캔을 전송할 때 이미지 개체에 2 장 이상의 그림을 넣을 수 없었습니다. (그리고 기존의 모든 옵션을 시도해 보았지만 그 문제에 대해서는 며칠이 걸렸습니다!) 해당 스캐너에서 발견 된 유일한 해결책은 WIA.CommonDialog-Object의 ShowAcquisitionWizard-method를 사용하여 모든 스캔 된 파일을 지정된 폴더로 일괄 전송할 수 있습니다. 후 처리가 더 복잡해 졌기 때문에 그것은 나를위한 만족스러운 해결책보다 해결 방법이었습니다.

놀랍게도 내 클라이언트의 깔끔한 스캐너에서 동일한 절차를 시도했습니다 ... ShowAcquisitionWizard는 지정된 폴더에 스캔 한 페이지 하나만 전달하고 다른 페이지는 사라졌습니다. "CommonDialog.ShowTransfer"방법으로 두 번째 놀랍게도, 스캔 한 모든 문서를 그림별로 그림으로 내 응용 프로그램에서 전송할 수있었습니다.

+0

MS 지원에서 얻을 수있는 유일한 해결책은 "WIA COM API 용 래퍼를 작성해야합니다."입니다. –