Imprimer PDF intégré dans le navigateur avec Javascript, HTML5, AngularJS

Je suis le chargement d'un encodées en Base64 pdf comme une Chaîne de caractères dans mon Javascript à partir de mon serveur. Mon client application AngularJS, HTML5.

Mon code HTML ressemble à ceci:

<div id="printablePdfContainer">
  <iframe id="printablePdf" width="100%" height="100%"></iframe>
</div>

Mon Javascript ressemble à ceci:

var pdfName = 'data:application/pdf;base64,' + data[0].PrintImage;
var embeddedPdf = document.getElementById('printablePdf');
embeddedPdf.setAttribute('src', pdfName);
$scope.printDocument(embeddedPdf);

Mon printDocument fonction ressemble à ceci:

$scope.printDocument = function() {
      var test = document.getElementById('printablePdf');
      if (typeof document.getElementById('printablePdf').print === 'undefined') {

        setTimeout(function(){$scope.printDocument();}, 1000);

      } else {

        var x = document.getElementById('printablePdf');
        x.print();
      }
    };

La printDocument fonction a été prise à partir d'un pré-existante de la question dans le débordement de pile ( Silencieux imprimer un PDF intégré ), ce qui lui donne une réponse pour imprimer un pdf intégré. Cependant, cela ne semble pas fonctionner. Je suis toujours 'undefined' pour la

typeof document.getElementById('printablePdf').print === 'undefined'

vérifier. Semble comme .l'impression n'existe pas, ou quelque chose.

Donc, ma questions est la suivante: Comment puis-je imprimer un PDF intégré en HTML5, à l'aide de Javascript, et sans l'ouverture d'une fenêtre popup?

Ce qui concerne,
Phil

OriginalL'auteur philhan | 2014-11-12