使用TWAINDotNet设置扫描仪dpi:设置dpi> 1200失败

时间:2014-09-22 18:44:26

标签: vb.net twain twaindotnet

我正在尝试使用TWAINDotNet API来控制Epson扫描仪。我几乎一切正常,但我无法正确设置dpi。

如果我将API设置为300,600甚至1199 dpi,扫描仪将按预期工作。不幸的是,当我尝试将dpi设置为1200或更高时,我得到一个TWAINException,指示“TwainDotNet.TwainNative.ConditionCode.CapabilitySequenceError”。 扫描仪当然能够达到1200pi(甚至高dpi值)。

我正在使用VB.Net 2010中的TWAINDotNet

感谢您的任何评论。

2 个答案:

答案 0 :(得分:1)

与爱普生合作,我能够解决问题。在V550扫描仪上,最大分辨率是要扫描区域的功能。对于完整的8.5inx11in页面,最大分辨率为1184dpi。

要设置高于1200dpi的分辨率,您需要将要扫描的区域设置为较小的区域。

要纠正这个问题,在datasource.cs中,您所要做的就是移动

if (settings.Area != null)
{
    NegotiateArea(settings);
}

if (settings.Resolution != null)
{
    NegotiateColour(settings);
    NegotiateResolution(settings);
}

答案 1 :(得分:0)

吐温" CapabilitySequenceError"意味着,"能力依赖于其他能力"。在将dpi设置为1200之前,这取决于您的特定扫描仪需要设置的其他内容。

在某些情况下,扫描程序希望按特定顺序设置上限。在我的脑海中,也许您需要将扫描速度更改为“慢速”。 (我只是在猜测。)