0

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

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

我正在使用来自 VB.Net 2010 的 TWAINDotNet

我感谢任何评论。

4

2 回答 2

1

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

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

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

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

if (settings.Resolution != null)
{
    NegotiateColour(settings);
    NegotiateResolution(settings);
}
于 2014-10-27T13:22:13.057 回答
0

吐温的“CapabilitySequenceError”的意思是,“能力依赖于其他能力”。这取决于您的特定扫描仪在将 dpi 设置为 1200 之前还需要设置什么。

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

于 2014-09-22T18:50:10.877 回答