2017-04-03 139 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并让服务器来处理它,而不是客户端