2010-08-17 2665 views
14

我有我想從jQuery Rails網頁中的按鈕觸發的富士通fi-6130 TWAIN/ISIS掃描儀。我不僅希望讓頁面告訴掃描器「去」,我還希望在掃描(單個)頁面後通過回形針上傳結果文件 - 理想情況下,不需要用戶導航文件資源管理器小部件即可手動找到該文件。如何從瀏覽器中觸發掃描儀?

雖然我們可能會將這些呼叫中心桌面替換爲Google Chrome操作系統,但每臺掃描儀均連接到Windows XP桌面。

這個問題被問差不多一年前,但需要使用的,成本幾百元的商業IE .NET產品主要是收到的建議 - Interfacing with the end-user's scanner from a webapp (web/scanner integration)

+2

它不是真的有可能對接的瀏覽器掃描儀(該死的)。讓用戶自己掃描圖像並上傳。 – tcooc 2010-08-17 15:42:44

+0

在瀏覽器中與掃描儀交談的一種方法是通過ActiveX控件(IE)或瀏覽器插件(Firefox,Chrome)。據我所知,這裏沒有這樣的開源SDK。最好花幾百美元,而不是從頭開始。 twain是掃描儀驅動程序最流行的協議,並且很難破解 – flysakura 2012-09-12 09:44:12

+0

[scanner.js](http://asprise.com/document-scan-upload-image-browser/direct-to-server-php-asp。 net-overview.html)允許您從Windows或Mac OS上的瀏覽器調用掃描器。這也是一個商業包裝。 – 2015-02-25 06:36:22

回答

13

這是不可能直接從標準中的HTML/JS頁面 - js沒有權限訪問掃描儀等外圍設備。

可能使用flash或silverlight,但懷疑你會遇到權限問題。有文章herehere,但它可能是a)太涉及和b)不完全是你所追求的。

如果你控制了Web應用程序將運行的機器,我建議使用一個簡單的桌面客戶端進行掃描,並通過打開本地端口

因此允許從網頁內它連接js做了一個AJAX呼叫(說)http://localhost:1234/Services/Scan,它返回一個圖像

編輯:關於編寫桌面客戶端,你有很多選擇。我個人建議你不要嘗試在PERL/PHP中這樣做,因爲它們看起來並不是正確的工具,我懷疑你最終會加載COM對象來嘗試訪問TWAIN設備(我們都知道這是多麼有趣...)

在評論中,你已經表示你不喜歡Visual Studio - 所以如果你熟悉Java,我建議你看看JTwain(商業,但似乎是很好的質量)或開始閱讀here。注意:我不是一個頻繁的Java開發人員,所以不能保證上述任何一個正是你所需要的。

除此之外,我建議C++使用不同的IDE(雖然這不會是操作系統無關)

+0

被配置爲將掃描儀api的子集作爲Web服務進行代理的程序可能已經被編寫了幾次......事實上,我很驚訝掃描儀供應商不提供用於常用桌面的供應商。我敢打賭,高端掃描儀的客戶中很大一部分需要它。 有誰知道一個現成的? – 2010-08-17 18:30:55

+0

我不會,但現在我很想寫一個:) – Basic 2010-08-17 20:58:50

+0

我通過電子郵件,聊天和電話聯繫了富士通。他們沒有任何桌面操作系統的這樣的工具,但我確信他們注意到了我的請求,並建議他們直接回復這個Stackoverflow問題。 我寧願用我熟悉的語言來編寫掃描器到監聽套接字中繼,但Ruby和Python必須在Windows上單獨安裝。 C++程序必須在那該死的Visual Studio中生成。從呼叫中心支持的角度來看,本地Windows腳本語言會更好,但我不知道。然後,只要我們使用Windows,代理服務器就會工作。 – 2010-08-18 17:43:57

1

您可以使用簽名的小,使用像MMS計算的一個庫。 您可以在代碼庫OpenKM的applet中看到它正在使用中。

11

有一個名爲Dynamic Web TWAIN from Dynamsoft的解決方案,它提供了一個基於瀏覽器的TWAIN SDK,用於從TWAIN設備獲取圖像,並將其編輯並保存到遠程數據庫。

1

似乎有一個Web API工具包可用於富士通fi系列掃描儀。 它基本上是您安裝在客戶端機器上的應用程序,其中掃描器是通過JSON或Silverlight接受調用並將它們發送到掃描儀驅動程序。

http://uk.emc.com/enterprise-content-management/captiva/cloud-toolkit.htm

我剛剛下載了它,我通讀了文檔,所以不能保證它的工作原理。

2

作爲@Basic提到的,JTwain可以用來創建這樣的解決方案。事實上,JTwain的開發者已經創建了ScannerJS that allows one to scan directly from browsers like IE, Chrome and Firefox using JavaScript。爲了在網頁中使用它,你需要:

包括scanner.js:

<html lang="en"><head> 
<script src="//asprise.azureedge.net/scannerjs/scanner.js" type="text/javascript"></script> 

,並呼籲scanner.scan

function scanToWebPageAndUploadToWebServer() { 
    scanner.scan(displayImagesOnPage, 
{ 
"twain_cap_setting": { 
    "ICAP_PIXELTYPE": "TWPT_GRAY", 
    "ICAP_XRESOLUTION": "200", 
    "ICAP_YRESOLUTION": "200" 
}, 
"prompt_scan_more": true, 
"discard_blank_pages": "false", 
"blank_page_threshold": "0.02", 
"output_settings": [ 
    { 
     "type": "return-base64-thumbnail", 
     "format": "jpg", 
     "thumbnail_height": 200 
    }, 
    { 
     "type": "upload", 
     "format": "pdf", 
     "pdf_force_black_white": "false", 
     "pdfa_compliant": "false", 
     "pdf_text_line": "By ${USERNAME} on ${DATETIME}", 
     "exif": { 
      "DocumentName": "Doc Scan Powered by Asprise.com", 
      "UserComment": "Scanned using Asprise software" 
     }, 
     "upload_target": { 
      "url": "https://asprise.com/scan/applet/upload.php?action=dump", 
      "max_retries": 2, 
      "post_fields": { 
       "provider": "Asprise" 
      }, 
      "cookies": "name=Asprise; domain=asprise.com", 
      "auth": "user:pass", 
      "headers": [ 
       "Referer: http://asprise.com" 
      ], 
      "log_file": "null", 
      "max_operation_time": 600 
     } 
    } 
] 
} 

    ); 
    } 
+0

是scanner.js,該軟件對於非常低級的基本用途是免費的。 – nilesh 2017-09-12 19:03:22

+0

「事實上,JTwain的開發者創造了......」你在第三人談論你自己的任何理由? – Basic 2018-02-13 16:48:27