使用JavaScript打印多个PDF文件

12

我想知道如何在一次打印中打印多个PDF文件。

我可以轻松地打印单个PDF文件,但是当有多个文件时,我不知道如何打印。

提前感谢。


1
你的意思是让用户在某个地方点击“打印”链接,然后将8份PDF打印出来吗?除非你有一个非常特定的用例,否则这似乎是一个等待发生的可用性噩梦。 - Scott
2
你能更清楚地解释一下吗? - Jeremy
是的,我也在搜索中。。 - zahir hussain
2
@Zahir,我认为你不能用JavaScript完成这个任务。你需要在服务器端合并所有“已选择”的文档(通过提交文档ID)。那里的语言比JavaScript更强大。 - Reporter
@spycho 你知道如何将PDF文件连接起来吗? - zahir hussain
显示剩余3条评论
2个回答

9
您可以在代码中多次调用print()函数,这将导致文件一个接一个地打印出来:
function PrintAll() {
    var pages = ["page1.pdf", "page2.pdf", "page3.pdf"];
    for (var i = 0; i < pages.length; i++) {
        var oWindow = window.open(pages[i], "print");
        oWindow.print();
        oWindow.close();
    }
}

4
请注意,这将导致出现多个打印对话框。 - Spycho
我正在尝试使用PHP通过ajax连接PDF文件,然后尝试打印单个PDF文件。我认为这会很顺利...但我还没有尝试过... - zahir hussain
在服务器端合并文件当然是理想的解决方案,如果您放弃了理想的解决方案或无法使其正常工作,则应使用我的方法。 - Shadow The Spring Wizard
有没有一种方法可以指定每页打印到哪台打印机? - waspinator
@waspinator 不,这是不可能通过客户端脚本实现的。 - Shadow The Spring Wizard

2

可以按照Shodow Wizard的建议,按顺序打印文件,或者在服务器端连接文件。

您可以使用用户要打印的文件名称进行ajax请求,在服务器端连接它们,返回连接后的PDF文件,然后打印出来。连接实现取决于您使用的服务器端语言。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接