2016-01-21 141 views
0

我的工作中,我需要能夠直接與我的客戶的打印機通信網絡項目。客戶使用我的應用程序通過瀏覽器,並希望能夠點擊一個按鈕,打印門票不間斷的,意思是有從瀏覽器中沒有打印機對話框彈出。這一要求避免將信息發送到客戶的打印機的許多傳統的方式,因爲我想一個解決方案,可以在任何瀏覽器中運行,使用VBScript或其他瀏覽器相關的解決方案,解決方案將無法正常工作。發送命令到遠程打印機

我對這個問題最初的解決方案是創建一個加載到動態頁面被點擊「打印」按鈕時,Java小程序。然而,Chrome等瀏覽器以及Firefox即將取消對NPAPI的支持,這會打破我的Java插件。

我正在開發的當前解決方案是在C#中創建一個服務,用戶在本地安裝在他們的機器上,然後當客戶點擊「打印」按鈕時,我的服務器直接與該服務進行通信。這樣我就可以繞過瀏覽器限制,客戶機器上運行的服務將具有完全訪問權限與目標打印機進行通信。這種方法的缺點是用戶現在必須在他們的機器上安裝額外的軟件,並且對於他們希望訪問我的應用程序並從中打印的每臺機器,該機器需要配置正確的端口轉發和防火牆設置。我可以爲我現在的客戶做這項工作,但對未來的客戶來說,這變得很麻煩。此外,我的新方法目前僅支持Windows機器,如果未來的客戶使用OS X或Linux,我將需要移植服務。

以前有沒有人遇到過這個問題,或者有沒有關於如何與瀏覽器無關的客戶端打印機進行通信的想法?

回答

0

有沒有可能的解決方案,這兩個都支持鉻,並不需要在機器上安裝的東西;你不能在Chrome中運行與操作系統接口的任意代碼。而只有這樣,才能與除本地Web服務器,其他代碼交互將是一個擴展的本地消息傳遞,但這並不能滿足您的跨瀏覽器的要求。

0

你不能直接的原因是安全的通信。我還開發了1個應用程序在c#中進行遠程打印。 有一種方法,如果你的客戶端有遠程打印機,那麼你可以輕鬆地做這個任務在服務器上製作小應用程序,並與所有遠程打印機集成,你可以執行打印機命令從服務器和打印將來自客戶端打印機