2014-02-20 143 views

回答

0

試試這個代碼它會爲你工作。

Process printjob = new Process(); 

    printjob.StartInfo.FileName = @"D:\R&D\Changes to be made.pdf" //path of your file; 

    printjob.StartInfo.Verb = "Print"; 

    printjob.StartInfo.CreateNoWindow = true; 

    printjob.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 

    PrinterSettings setting = new PrinterSettings(); 

    setting.DefaultPageSettings.Landscape = true; 

    printjob.Start(); 
+5

如果這是一個asp.net網站,那麼這將打印在服務器上,而不是客戶端。 –

+2

被警告!這不會在客戶端上打印! – Nenotlep

5

你需要用javascript打開彈出窗口並點擊它的print()函數。

var opts = 'width=700,height=500,toolbar=0,menubar=0,location=1,status=1,scrollbars=1,resizable=1,left=0,top=0'; 
var newWindow = window.open(yourUrl,'name',opts); 
newWindow.print(); 

請注意,您打開的網址必須與您當前的網頁位於同一個網域才能生效。

+0

我也試過這個,但它直接不打印在客戶端的打印機上。它只是在彈出窗口中打開文件,但不能從客戶機的默認打印機自動打印。我需要彈出打開時自動打印該文件,有沒有什麼辦法? –

+0

沒有。您只能打開打印對話框。它打開了打印對話框嗎?它應該這樣做。但是你不能強制印刷,這是一個可怕的想法。想象一下你可以用這種方式進行的攻擊,如果可能的話,互聯網將無法使用。 – Nenotlep

+0

是的,它打開了打印對話框。但我想給出的功能將直接從打印機打印該文件,以便用戶不需要單擊打印按鈕,它將在彈出窗口中打開該文件時直接打印出來。而且有可能我在其他項目中看到了這種功能。但我不知道該怎麼做? –

相關問題