Twain 在 DAT_USERINTERFACE 中禁用 UI,在扫描期间仍显示 UI

Posted

技术标签:

【中文标题】Twain 在 DAT_USERINTERFACE 中禁用 UI,在扫描期间仍显示 UI【英文标题】:Twain disable UI in DAT_USERINTERFACE, still show UI during scan 【发布时间】:2018-06-06 13:33:12 【问题描述】:

我正在尝试在我的自定义应用程序中以编程方式控制 twain 扫描仪。我不想显示扫描仪的原生 UI。

我将CAP_INDICATORS 能力设置为FALSE,并将CAP_UICONTROLLABLE 能力设置为TRUE

然后我使用DG_CONTROL / DAT_USERINTERFACE / MSG_ENABLEDS 开始扫描,而TW_USERINTERFACE 结构中的ShowUI 设置为FALSE

我通过不同的扫描仪进行了测试。虽然我的 Epson DS-30 扫描仪在没有 ui 的情况下按预期工作,但我的 Avision A6 扫描仪在扫描期间仍显示进度 UI:

当我调用DG_IMAGE / DAT_IMAGEINFO / MSG_GET 操作以从扫描仪获取图像详细信息时,会出现此 UI。使用DAT_IMAGEINFO命令,这台A6扫描仪开始扫描纸张,扫描完成后,我终于可以收到TW_IMAGEINFO结构了。

我在设置 UI 模式时没有收到任何TWRC_CHECKSTATUS

那么这个特定的扫描仪是否真的不支持没有 UI 的 twain?

或者我可以有一些解决方法来禁用这个用户界面吗?

【问题讨论】:

【参考方案1】:

实际上很大程度上取决于驱动程序的实现。

因此,您在应用程序中设置的选项会根据驱动程序支持的功能配置驱动程序。如果驱动程序不允许驱动程序配置用于无 UI 扫描的驱动程序功能,那么您的应用程序实现可能无法按预期工作。

有关完整详细信息,请参阅 TWAIN 文档。

【讨论】:

以上是关于Twain 在 DAT_USERINTERFACE 中禁用 UI,在扫描期间仍显示 UI的主要内容,如果未能解决你的问题,请参考以下文章

用于 Twain 开发的模拟或虚拟 Twain 源 [关闭]

java Twain 直接打印/界面打印

Java 中的 Twain 设备(扫描仪)控制

在 .NET 中使用 TWAIN - 寻找资源 [关闭]

TWAIN 示例数据源

uk.co.mmscomputing.device.twain 小程序挂起