2014-09-22 402 views
0

我試圖使用TWAINDotNet API來控制Epson掃描儀。我幾乎所有的工作,但我無法正確設置dpi。使用TWAINDotNet設置掃描儀dpi:設置dpi> 1200失敗

如果我將API設置爲300,600甚至1199 dpi,則掃描儀按預期工作。不幸的是,當我嘗試將dpi設置爲1200或更高時,我得到TWAINException指示「TwainDotNet.TwainNative.ConditionCode.CapabilitySequenceError」。 掃描儀當然能夠達到1200pi(以及甚至更高的dpi值)。

我使用TWAINDotNet從2010年VB.Net

我明白任何意見。

+1

,如果你什麼是掃描儀的用戶界面和設置的dpi 1200從那裏?你能掃描成功嗎? – Rachel 2014-09-23 05:51:29

+0

是如果我從掃描儀用戶界面中選擇1200,則它會正確掃描。我的問題是我需要完全自動化這個過程。我也試過SaraffTwain,但它列出了從1dpi到1184dpi的1184種不同的分辨率。 – 2014-09-23 14:16:15

+0

也請嘗試Twack,看看您是否可以成功掃描。如果發生同樣的問題,請檢查錯誤日誌以獲取更多信息。 http://www.twain.org/scannerdriverdevelopers/specification-and-tools.html – Rachel 2014-09-24 06:02:59

回答

0

吐溫的「CapabilitySequenceError」意思是「能力依賴於其他能力」。這取決於您的特定掃描儀在將dpi設置爲1200之前需要設置哪些設置。

在某些情況下,掃描儀會按照特定順序設置上限。關於我的頭頂,也許你需要將掃描速度改爲'慢'(我只是猜測)。

+0

這讓我在別的地方看。查看Epson Scan Applet,在設置1200 dpi之前還不清楚還需要設置哪些設置。掃描儀的速度是一個很好的猜測,但似乎並不是掃描儀上的一個固定參數。 IT似乎根據需要調整速度。 – 2014-09-22 20:38:55

1

與愛普生合作,我解決了這個問題。在V550掃描儀上,最大分辨率是要掃描區域的功能。對於完整的8.5inx11in頁面,最大分辨率爲1184dpi。

要設置高於1200dpi的分辨率,您需要將要掃描的區域設置爲較小的區域。

要解決這個問題,在datasource.cs,所有你需要做的就是移動

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

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

太棒了,你得到它的工作! – Rachel 2014-10-28 07:03:15