我正在仓库中的终端上构建一个在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
答案 0 :(得分:5)
。 。遗憾的是,Firefox 19附带的PDF.js版本不支持内置JavaScript来自行打印文档,它也不允许您访问PDF窗口内的任何内容(包括打印方法)。
。 。 They are aware of the problem此修复程序计划与Firefox版本21一起提供。