c# - 使用Twain API for Epson DS-510进行双面扫描失败

我想使用C#应用程序使用Twain Library for Epson DS-510扫描仪扫描文档,但是它只扫描一侧。
扫描仪支持页面的双面扫描,并且已使用扫描仪扫描功能进行了测试,但不对应用程序进行扫描。

另外,我还有另一台扫描仪,它是Canon-2510C TWAIN,但它确实可以成功扫描两面。

最近,我安装了TWAIN示例应用程序,以查看Twain配置以连接到数据源。图片如下添加附件。

CAP_DublexEnabled默认为false。当我想将CAP_DublexEnabled设置为TRUE时,可以,但是在关闭示例应用程序并再次重新打开后仍然相同时。

它是否真的支持使用Twain进行双面扫描,还是我必须更改TwainLib类的Acquire方法的代码?

TwainLib类的获取方法:

public void Acquire()
    {
        TwRC rc;
        CloseSrc();
        if (appid.Id == IntPtr.Zero)
        {
            Init(hwnd);
            if (appid.Id == IntPtr.Zero)
                return;
        }
        rc = DSMident(appid, IntPtr.Zero, TwDG.Control, TwDAT.Identity, TwMSG.OpenDS, srcds);
        if (rc != TwRC.Success)
            return;

        TwCapability cap = new TwCapability(TwCap.XferCount, 50);
        //TwCapability cap = new TwCapability(TwCap.DuplexEnabled, 50);
        rc = DScap(appid, srcds, TwDG.Control, TwDAT.Capability, TwMSG.Set, cap);
        if (rc != TwRC.Success)
        {
            CloseSrc();

            return;
        }

        TwUserInterface guif = new TwUserInterface();
        guif.ShowUI = 0;
        guif.ModalUI = 1;
        guif.ParentHand = hwnd;
        rc = DSuserif(appid, srcds, TwDG.Control, TwDAT.UserInterface, TwMSG.EnableDS, guif);
        if (rc != TwRC.Success)
        {

            //TwainGui.PicForm.arsivOK = false;

            CloseSrc();
            return;
        }
    }

最佳答案

经过数天的战斗,测试和网上搜索,终于找到了解决方案。

首先,我使用以下代码将DuplexEnabled功能设置为true:

TwCapability capDuplex = new TwCapability(TwCap.DuplexEnabled, true);
rc = DScap(appid, srcds, TwDG.Control, TwDAT.Capability, TwMSG.Set, capDuplex);


之后,TW_RC值变为SUCCESS,表示设置值成功。
然后,我们可以毫无问题地扫描双方。

但是这里的观点是功能的类型,按照上面的设置进行设置之后,您必须根据需要设计TwCapability类方法,并且还必须使用在这些方法中都是bool的Twain类型。

祝大家有美好的一天!

本文翻译自 https://stackoverflow.com/questions/37477217/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 c# scanning twain epson twaindotnet


相关文章:

c# - 如何在Win7和Win8上访问存储的凭据(PasswordVault?)?

c - C-如何从文件中读取特定行

android - 如何在Android中获取iData(移动计算机iData95E)iScan条码图像?

java - uk.co.mmscomputing.device.twain.TwainIOException:无法加载Twain源管理器

c++ - 如何枚举TWAIN支持的分辨率

java - 如何在Google Chrome浏览器中使用Java

c# - 使用Castle Windsor的WCF依赖注入-请帮助?

c# - 网吧软件的理想连接实现

c# - WIA 2.0双面扫描

c# - 删除锁定的文件和文件夹