You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Epson DS-410通过WIA双面扫描时出现OutOfMemoryException

解决Epson DS-410 WIA双面扫描OutOfMemoryException问题

核心修复步骤

  • 移除强制设置WIA_DPS_PAGES为1的代码:双面扫描时扫描仪会生成2页图像,硬设页数为1会导致WIA驱动数据处理冲突,引发内存异常。
  • 改用ShowDialog()处理多页扫描:ShowTransfer()更适配单页场景,多页(双面)扫描时ShowDialog()能正确返回图像集合,避免内存溢出。

修改后的代码示例

if(documentHandlingSelect != null)
{
    int handlingValue = 0;
    if(feederActivate)
        handlingValue |= (int)WIA_DPS_DOCUMENT_HANDLING_SELECT.FEEDER;
    if(duplexActive)
        handlingValue |= (int)WIA_DPS_DOCUMENT_HANDLING_SELECT.DUPLEX;

    documentHandlingSelect.set_Value(handlingValue);
}

// 移除这行强制设置页数的代码:SetWIAProperty(device.Properties, WIA_DPS_PAGES, 1);

WIA.ICommonDialog wiaCommonDialog = new WIA.CommonDialog();
WIA.DialogResult dialogResult = wiaCommonDialog.ShowDialog(device);

if(dialogResult == WIA.DialogResult.OK)
{
    // 遍历所有扫描得到的图像(双面模式下会返回2张)
    foreach(WIA.ImageFile image in wiaCommonDialog.Items)
    {
        string fileName = Path.GetTempFileName();
        File.Delete(fileName);
        image.SaveFile(fileName);
        // 此处添加你的后续处理逻辑
    }
}

额外检查点

  • 确认安装Epson官网最新版WIA驱动,旧驱动可能存在双面扫描的兼容性bug。
  • 不要手动干预页数配置,让驱动根据DUPLEX模式自动识别并处理页数。

内容的提问来源于stack exchange,提问作者Nick Burger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:32:40