none
스캐너에서 양면 이미지를 받아오고 싶습니다. RRS feed

  • 질문

  • twain이나 wia를 이용해서, 스캐너에서 양면 스캔을 할려고 하는데요,

    양면 스캔은 어떻게해야할지 모르겠습니다.

    샘플을 받아서, 양면스캔으로 할려고 마구잡이로 작업하던 건데요..

    http://pds19.egloos.com/pds/201202/16/82/WIATest_without_Dialog.zip

    scan2.cs 에서 양면스캔을 하기 위한 함수가

    private void SetupADF(Device wia, bool duplex)
            {
                string adf = string.Empty;


                foreach (WIA.Property deviceProperty in wia.Properties)
                {
                    adf += deviceProperty.Name + "<br>";
                    if (deviceProperty.Name == "Document Handling Select") //or PropertyID == 3088
                    {
                        int value = duplex ? 0x004 : 0x001;
                        deviceProperty.set_Value(value);
                    }
                }
            }

    이렇게 있는데,

    adf의 스트링을 모두 받아봤는데, Document Handling Select라는 문장은 없더군요?

    그래서... 혹시나 해서 // PropertyID == 3088 라는 주석이 보여서

    이걸로도 설정할려고 했지만, 3088이라는 값도 찾아지지 않더군요.

    스캐너에 양면이 안되는걸까요?

    혹은... twain을 통해 양면스캔을 하고 싶은데, 어떻게 하면 좋을까요?

    설정을 위한 다이얼로그를 안띄우고, 그냥 버튼 클릭하면 바로 스캔이미지가 해당 경로에 저장되거나 bytep배열로 받는 그런 작업을 원하거든요...

    답변 꼭 부탁드리겠습니다!

    2012년 2월 16일 목요일 오전 9:01

모든 응답

  • 안녕하십니까? 희나람 님,

    Microsoft MSDNForum 사이트를 방문해 주셔서 감사합니다.

    문의 하신 스캐너에서 양면 이미지를 받아오고 싶습니다.” 에 대해 답변드리겠습니다.

    WIA PropertiesWIA_DPS_DOCUMENT_HANDLING_SELECT 를 사용해 보시길 바랍니다.

    [참조자료]

    Windows Image Acquisition (WIA)

    혹시 제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다. 하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.


    2012년 2월 16일 목요일 오전 11:37
    중재자
  • 죄송하지만... 어떻게 사용해야하는지 가르쳐 주실 수 있으신지요?

    어떻게 사용해야하는지 모르겠습니다...

    제가 올린 것, scan2.cs를 보시면..

    class WIA_PROPERTIES
        {
            public const uint WIA_RESERVED_FOR_NEW_PROPS = 1024;
            public const uint WIA_DIP_FIRST = 2;
            public const uint WIA_DPA_FIRST = WIA_DIP_FIRST + WIA_RESERVED_FOR_NEW_PROPS;
            public const uint WIA_DPC_FIRST = WIA_DPA_FIRST + WIA_RESERVED_FOR_NEW_PROPS;
            //
            // Scanner only device properties (DPS)
            //
            public const uint WIA_DPS_FIRST = WIA_DPC_FIRST + WIA_RESERVED_FOR_NEW_PROPS;
            public const uint WIA_DPS_DOCUMENT_HANDLING_STATUS = WIA_DPS_FIRST + 13;
            public const uint WIA_DPS_DOCUMENT_HANDLING_SELECT = WIA_DPS_FIRST + 14;
        }

    이렇게 설정되어 있는데.. 여기서 어떻게 해야하나요...?

    아니면 다르게 해야하나요? 메소드 인가요? 속성값인건가요? 전혀 모르겠습니다..


    • 편집됨 희나람 2012년 2월 17일 금요일 오전 6:47
    2012년 2월 16일 목요일 오전 11:54
  • string str= string.Empty;

                    foreach (WIA.Property propertyItem in item.Properties)
                    {
                        if (!propertyItem.IsReadOnly)
                        {
                            str += "name : " + propertyItem.Name + " / ID : " + propertyItem.PropertyID + " / value : " + propertyItem.get_Value() + "<br>";
                        }
                    }

    위 코드를 이용해서 WIA Properties를 다 가져와봤습니다.

    name : Color Profile Name / ID : 4120 / value : C:\Windows\system32\spool\drivers\color\sRGB Color Space Profile.icm

    name : Preview / ID : 3100 / value : 0
    name : Format / ID : 4106 / value : {B96B3CAA-0728-11D3-9D7B-0000F81EF32E}
    name : Media Type / ID : 4108 / value : 128
    name : Data Type / ID : 4103 / value : 2
    name : Bits Per Pixel / ID : 4104 / value : 8
    name : Compression / ID : 4107 / value : 0
    name : Horizontal Resolution / ID : 6147 / value : 150
    name : Vertical Resolution / ID : 6148 / value : 150
    name : Horizontal Extent / ID : 6151 / value : 1275
    name : Vertical Extent / ID : 6152 / value : 1752
    name : Horizontal Start Position / ID : 6149 / value : 0
    name : Vertical Start Position / ID : 6150 / value : 0
    name : Brightness / ID : 6154 / value : 0
    name : Contrast / ID : 6155 / value : 0
    name : Current Intent / ID : 6146 / value : 0
    name : Threshold / ID : 6159 / value : 128
    name : Photometric Interpretation / ID : 6153 / value : 0
    name : Planar / ID : 4111 / value : 0

    여기에 wia_dps_document_handling_select 이 안나오는데...

    제가 잘못 찾고 있는 것인지요...?

    혹은 스캐너에서 WIA의 지원이 미비한 것인가요? 

    WIA_PROPERTIES.WIA_DPS_DOCUMENT_HANDLING_SELECT 의 propertyid 값은 3088로 나오는데 저는 안나오네요...

    • 편집됨 희나람 2012년 2월 17일 금요일 오전 9:18
    2012년 2월 17일 금요일 오전 7:17
  • 안녕하십니까?희나람 님,

    아래 속성값은 아래와 같으며, 스캐너에서 양면스캔을 지원해야합니다.

    Value Definition

    BACK_FIRST

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

    BACK_ONLY

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

    DUPLEX

    Scan by using duplexer operations.

    FRONT_FIRST

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

    FRONT_ONLY

    Scan the front only.

    WIA PropertiesWIA_DPS_DOCUMENT_HANDLING_SELECT를 사용해 보시길 바랍니다.

    [참조자료]

    Windows Image Acquisition (WIA)

    혹시 제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    2012년 2월 20일 월요일 오전 12:34
    중재자