【问题标题】:Printing HTML + Multiple PDF files with Javascript使用 Javascript 打印 HTML + 多个 PDF 文件
【发布时间】:2025-12-07 11:25:01
【问题描述】:

我有一个项目需要打印用户所在的 HTML 页面,以及多个 PDF 文件(多个提示都可以)

在 Google 和 * 上四处寻找后,我发现 Printing multiple PDF files using JavaScript 很接近,但不太好用。

下面的代码可以很好地打印 HTML 页面,并为 PDF 创建打印提示,但 PDF 打印提示是针对空白页的。

我已经三遍检查了示例地址,罚款肯定是http://www.mydomain.co.nz/wp-content/uploads/Golden-China1.pdf

有人发现我做错了什么吗?

function PrintAll(file1, file2, file3) {
    window.print();
    var pages = [file1, file2, file3];
    for (var i = 0; i < pages.length; i++) {
        if (pages[i] != undefined) {
            var oWindow = window.open(pages[i], "print");
            oWindow.print();
            oWindow.close();
        }
    }
}

$('.print-btn').click(function() {
    PrintAll('/wp-content/uploads/Golden-China1.pdf');
});

【问题讨论】:

  • 我认为你的参数有问题...
  • 感谢@RicardoOrtegaMagaña 的反馈。您是指在页面底部的 jquery 函数中使用它们,还是在 PrintAll 函数的创建中使用它们?

标签: javascript jquery pdf printing


【解决方案1】:

我测试了一些代码,我遇到的问题是时间加载,添加了延迟,所以我让 PDF 完成加载,然后发送打印命令:

<!DOCTYPE html>
<html>
<body>
<script>
var pages = ["P1.pdf", "P2.pdf", "P3.pdf"];
var oWindow=new Array();
function PrintAll(){
    for (var i = 0; i < pages.length; i++) {
        oWindow[i].print();
        oWindow[i].close();

    }
}
    function OpenAll() {
    for (var i = 0; i < pages.length; i++) {
        oWindow[i] = window.open(pages[i]);
    }
    setTimeout("PrintAll()", 5000);
    }
    OpenAll();
</script>
</body>
</html>

【讨论】:

    最近更新 更多