首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WIA2.0双工扫描

WIA2.0双工扫描
EN

Stack Overflow用户
提问于 2015-06-09 22:25:31
回答 1查看 9.2K关注 0票数 7

自从Vista以来,Windows是随WIA2.0 (wiaaut.dll)一起发布的。根据以下KB文章和我在各种论坛上的许多发现,使用WIA2.0不再可能进行双工扫描。然而,本文提到了本机WIA2.0的使用,这将使双工扫描成为可能。(https://support.microsoft.com/en-us/kb/2709992)

根据WIA2.0文档(https://msdn.microsoft.com/en-us/library/windows/desktop/ms630196(v=vs.85).aspx ),可以使用新的WIA_IPS_DOCUMENT_HANDLING_SELECT (3088)属性进行双工扫描。

我的问题是:

  • 我不知道如何使用本机WIA,我怀疑使用C#是不可能的。
  • 我找不到一种方法来设置新的WIA_IPS_DOCUMENT_HANDLING_SELECT属性,因为该属性不存在于我的wiaDevice属性中。根据WiaDef.h,它的属性id仍然是3088,唯一可能的值是0x400 (1024)。

如果有人能在这件事上帮我(我想还有很多人),我会非常感激的!

大家好,

M.

EN

回答 1

Stack Overflow用户

发布于 2015-06-19 12:55:30

经过几个小时的搜索,我在下面的帖子中找到了一条线索。https://stackoverflow.com/a/7580686/3641369

当我使用一次双工扫描仪时,前后两边同时扫描。通过将设备属性(设备属性,而不是项属性) Document_Handling_Select设置为5(馈线+双工)和页面设置为1,并2次调用传输方法,最终得到扫描的字体和背面。

设置wiaDev.Properties“文档处理选择”=5指定馈线和扫描双工的使用。

设置wiaDev.Properties"Pages“=1指定扫描仪应该将1页保存在内存中,这允许在1次扫描过程中将页面的前侧和背面都保存在内存中。

代码语言:javascript
复制
if (duplex)
{
     wiaDev.Properties["Document Handling Select"].set_Value(5);
     wiaDev.Properties["Pages"].set_Value(1);
} 

获取Wia项并设置项属性(如颜色和dpi )。

代码语言:javascript
复制
var item = wiaDev.Items[1];
item.Properties["6146"].set_Value((int)clr);
item.Properties["6147"].set_Value(dpi);
item.Properties["6148"].set_Value(dpi);

然后调用传输方法两次返回两个不同的图像

代码语言:javascript
复制
var img = (ImageFile)wiaCommonDialog.ShowTransfer(item, FormatID.wiaFormatJPEG);

ImageFile imgduplex = null;
if(duplex)
   imgduplex = (ImageFile)wiaCommonDialog.ShowTransfer(item, FormatID.wiaFormatJPEG);

希望这能帮到别人!

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30743888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档