我正在尝试在新窗口中打开pdf文件并自动显示打印对话框。为此,我需要找到文件完全加载的时间。 我试过win.Onload和document.readystate ===完成了,但是一旦加载窗口就会激活它们,并且不会等到PDF加载。也不能使用超时,因为文件大小可能不同。
是否有任何DOM组件可以查找PDF是否已完全加载。
var win=window.open(printUrl);
win.print();
对此有何帮助?
答案 0 :(得分:0)
我们在Angular JS中解决了这个问题。
在HTML中,您可以使用以下代码
<button ng-click="printPdf('path_of_pdf')">Print Labels</button>
在JavaScript中,您需要编写如下函数
$scope.printPdf(path){
var myWindow = window.open(path, '', 'width=700,height=500');
if(myWindow)
{
var original = Promise.resolve(myWindow);
original.then(function(value){
myWindow.focus();
}).then(function(){
$scope.$evalAsync(function(){
setTimeout(function(){
myWindow.print();
}, 2000);
});
});
}
}
它按预期工作。只有在PDF渲染完成后才会打开打印对话框。