2009-08-11 51 views
3

我想將打印作業發送到打印機,而用戶不必在打印確認對話窗口中單擊「好」。如何在沒有用戶確認的情況下從C#或javascript打印HTML文檔?

無論是C#代碼隱藏還是javascript都可以,無論哪個更好。

因此......我知道它可以打印一個HTML文檔,但是可以在沒有用戶點擊好的情況下打印

  • 我問這個問題的原因是因爲打印作業打印100次文檔,動態插入表單值。 (想象一下,您正在爲100人打印感謝卡,並且不想自己更改名稱100次)。如果用戶必須確認這些文檔中的每一個的打印作業,則只需完成一個打印作業即可。現在想象一下,如果有100天的打印工作進來!這是一個人花費數小時才能點擊「好」10000次。

注:這是唯一一個誰去需要使用印版,所以如果它在將工作的瀏覽器降低安全問題的事的人。我只需要一種方法,讓所有100張照片都可以在沒有確認每張照片的情況下通過(即使每100張照片只有1張確認即可,但每張照片仍需更改)。

+0

它不管是什麼軟件(例如哪個瀏覽器或HTML的編輯器)正在使用? – ChrisW 2009-08-11 22:04:58

回答

3

從任何主流瀏覽器 - 我敢肯定,你不能。

您可以創建一個嵌入了WebBrowser控件的WinForm應用程序,並在沒有用戶確認的情況下從中進行打印(如果我沒有記錯的話,打印方法沒有對象)。

+0

感謝上帝讓瀏覽器不允許!試想一下,如果廣告代理商有這樣的風,那麼你的打印機就會被噴出...... – Ruben 2009-08-11 23:52:15

+0

我完全同意。如果這是一個安全的事情,你可以關閉,如果需要... – Matt 2009-08-12 03:17:36

1

如果您正在使用Internet Explorer 5.5或更高版本,這應該工作:

function printit(){ 
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; 
    document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(6, -1); 
    WebBrowser1.outerHTML = ""; 
} 
+0

...它是做什麼的? – Matt 2009-08-12 03:18:10

+0

奧斯汀的建議基本上是一樣的。 OBJECT參考是WebBrowser控件。InsertAdjacentHTML命令獲取頁面內容。 ExecWB(6,-1)是執行打印命令而不提示。 – 2009-08-12 04:26:04

1

爲什麼不能與所有100卡和打印的是,只是確保你有適當的分頁符創建一個單一的頁面。

3

我發現這個問題,因爲我正在尋找解決這個問題的方法,我至少在這裏發佈它供我自己參考。它可以在Firefox做很簡單(用v 3.5測試):

  • 前往about:config中的Firefox
  • 器的地址欄中右鍵單擊第一個設置,進入新 - >布爾 - >添加 「print.always_print_silent」 - >值 「真」
  • 重新啓動Firefox

現在,如果你調用window.print()從JavaScript頁面被打印出來,恕不另行確認。

來源:http://forums.mozillazine.org/viewtopic.php?f=40&t=48336&start=0

+0

非常感謝這個技巧,它非常適合我正在進行的項目! – 2010-02-26 18:40:13

相關問題