2017-04-03 89 views
0

我需要使用javascript打印多個文件。打印單個文件工作正常,但只要我嘗試打印多個文件,我只能得到一個打印。通過javascript打印多個文件

我javacript是下

function LoadPrint() { 
    if (document.getElementById("pdf").src !== "") { 
     var frm = document.getElementById("pdf").contentWindow; 

     frm.focus(); 
     frm.print(); 
    } 

    return false; 
} 

,我把它從C#如下

foreach (var str in filenames) 
    ClientScript.RegisterStartupScript(this.GetType(), "Print", "LoadPdfFile('" + "/Templates/" + str + "');", true); 

我怎麼能告訴的RegisterStartupScript等到文件被打印出來?

+0

你應該建立一個將加載打印之後的下一個函數,但我有一種將會變得混亂的感覺。 – epascarello

+0

RegisterStartupScript在服務器上運行。不在客戶端上。您需要將邏輯添加到您的客戶端代碼以便順序打印文件。 – mason

+0

只是有點點題外話:在我們的應用程序中,我們創建了一個加入的PDF,其中包含所有選定的PDF文件打印在一個文件中,如果您有更多的文件要打印,則可獲得巨大收益無論如何都是同樣的打印機等等,你可以用'iTextSharp','PDFSharp'和其他API來存儲C#並且可以自由使用。 – thmshd

回答

1

如果您有一個組件可以生成pdf,您將可以通過合併許多來創建一個pdf。

我建議你寫一個方法來創建與每一個之間的分頁符新的PDF並讓服務器來處理它,而不是客戶端