我正在倉庫中的終端上構建在Firefox中運行的應用程序。此應用程序需要打印PDF文件。使用Javascript在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 Reader進行打印。我也試過
document.getElementById('pdfLabel').print();
但拋出 TypeError: window.frames.pdfLabel.print is not a function
由於您使用的是'id'選擇器,因此您不需要在選擇器開頭處的'iframe',只需使用'$(「#pdfLabel」)'。你可以在'.load'函數中放一個'console.log('here');'?我知道你說過它加載,但只是爲了確保你的'.load'代碼正在運行。此外,您可能需要設置'src'屬性_after_綁定'.load'事件 – Ian 2013-02-26 23:15:07
給予pdf加載一段時間。可能使用setTimeout – allenhwkim 2013-02-27 00:05:24
@Ian'.load'正在運行,我檢查了。綁定load事件後,我設置了'src'屬性,但沒有幫助。 @ bighostkim試了一下,沒有幫助。謝謝你們的建議。 – 2013-02-27 17:04:35