自Vista以来,Windows附带WIA 2.0(wiaaut.dll)。 根据以下知识库文章以及我在各种论坛上的许多发现,使用WIA 2.0不再可能进行双面扫描。然而,文章提到使用原生WIA 2.0,什么会使双面扫描成为可能。 (https://support.microsoft.com/en-us/kb/2709992)
根据WIA 2.0文档(https://msdn.microsoft.com/en-us/library/windows/desktop/ms630196(v=vs.85).aspx),可以使用新的WIA_IPS_DOCUMENT_HANDLING_SELECT(3088)属性进行双面扫描。
我的问题是:
如果有人可以帮助我(我认为很多其他人),我将非常感谢!
问候,
微米。
答案 0 :(得分:5)
经过几个小时的搜索后,我发现了以下帖子中的线索。 https://stackoverflow.com/a/7580686/3641369
由于我使用的是单程双面扫描仪,因此正面和背面都可以同时扫描。通过将设备属性(设备属性,而不是项目属性)Document_Handling_Select设置为5(Feeder + Duplex),将Pages设置为1并调用传输方法2次,我终于得到了扫描的字体和背面。
设置wiaDev.Properties ["文档处理选择"] = 5指定使用进纸器和扫描双面打印。
设置wiaDev.Properties [" Pages"] = 1指定扫描仪应在内存中保留1页,这样可以在1次扫描过程中将页面的正面和背面保留在内存中。
.table{
display: table;
width:100%
}
.row{
display: table-row;
}
.cell{
display: table-cell;
width:20%
}
获取Wia项目并设置项目属性,例如颜色和dpi。
if (duplex)
{
wiaDev.Properties["Document Handling Select"].set_Value(5);
wiaDev.Properties["Pages"].set_Value(1);
}
然后调用传输方法两次返回两个不同的图像
var item = wiaDev.Items[1];
item.Properties["6146"].set_Value((int)clr);
item.Properties["6147"].set_Value(dpi);
item.Properties["6148"].set_Value(dpi);
希望这有助于某人!