使用Javascript在Firefox中打印PDF

i.a*_*els 2 javascript printing pdf firefox

我正在仓库中的终端上构建一个在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();
    });
});
Run Code Online (Sandbox Code Playgroud)

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

document.getElementById('pdfLabel').print();
Run Code Online (Sandbox Code Playgroud)

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

die*_*nes 5

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

..他们知道这个问题,并且计划在Firefox 21版本中附带修复程序.