使用Javascript在Firefox中打印PDF

时间:2013-02-26 22:50:48

标签: javascript firefox pdf printing

我正在仓库中的终端上构建一个在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和嵌入式Adobe acrobat阅读器进行打印。我也试过

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

但那引发了 TypeError: window.frames.pdfLabel.print is not a function

1 个答案:

答案 0 :(得分:5)

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

。 。 They are aware of the problem此修复程序计划与Firefox版本21一起提供。