检测PDF文件是否已完全加载

时间:2014-11-11 15:27:53

标签: javascript jquery

我正在尝试在新窗口中打开pdf文件并自动显示打印对话框。为此,我需要找到文件完全加载的时间。 我试过win.Onload和document.readystate ===完成了,但是一旦加载窗口就会激活它们,并且不会等到PDF加载。也不能使用超时,因为文件大小可能不同。

是否有任何DOM组件可以查找PDF是否已完全加载。

var win=window.open(printUrl);
win.print();

对此有何帮助?

1 个答案:

答案 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渲染完成后才会打开打印对话框。