2

我正在仓库的​​终端上构建一个在 Firefox 中运行的应用程序。此应用程序需要打印 PDF。

我发现了很多关于从 Javascript 打印 PDF 的问题和答案,但我无法让它工作。

这是我当前的代码。

$(document).ready(function() {
    $(document.body).append('<IFRAME id="pdfLabel" ... >');
    $('iframe#pdfLabel').attr('src', 'testlabel.pdf');

    $('iframe#pdfLabel').load(function() {
        document.getElementById('pdfLabel').focus();
        document.getElementById('pdfLabel').contentWindow.print();
    });
});

使用 iFrame 中的常规 html 页面,此代码可以完美运行。对于 PDF,pdf 显示在 iFrame 中,但不打印。我尝试使用内置 PDF 渲染器的 Firefox 和嵌入式 Adob​​e acrobat 阅读器进行打印。我也试过

document.getElementById('pdfLabel').print();

但这会引发 TypeError: window.frames.pdfLabel.print is not a function

4

1 回答 1

5

. . 遗憾的是,Firefox 19 附带的 PDF.js 版本不支持内置 JavaScript 来自行打印文档,并且它也不允许您访问 PDF 窗口内的任何内容(包括打印方法)。

. . 他们意识到了这个问题,并计划在 Firefox 21 版中提供修复程序。

于 2013-03-01T21:21:04.497 回答