0

Ich möchte HTML-Seiten in PDF konvertieren. html2pdf.it scheint ein gutes Werkzeug, wie it's open source und ich kann es in meinem eigenen Server installieren.Wie erzwingen Seite auf Angular warten. html2pdf.it rendert AngularJS nicht

nur benötigt, um die URL zum Pfad hinzuzufügen:

http://www.html2pdf.it/?url=

ich zwei einfache Seiten gemacht. Ein mit angularjs und anderen mit nur JavaScript. Auf dem ersten Winkel ist nicht Render, ich sehe {{text}}. Das ist seltsam, weil angularjs.org korrekt in PDF konvertiert wird. JS Version funktioniert auch.

Wie zwinge ich es zu warten, um zu beenden?

Code:

<html lang="en"> 
<head> 
    <title>Minimum AngularJS page</title> 
    <meta charset="UTF-8"> 
</head> 
<body ng-app="demoApp"> 
    <div ng-controller="MainCtrl"> 
    <h1>Hello World!</h1> 
      <p>{{text}}</p> 
    </div> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script> 
    <script> 
     angular 
      .module('demoApp', []) 
      .controller('MainCtrl', function($scope){ 
       $scope.text = "If you see this means angularjs is working"; 
      }); 
    </script> 
</body> 
</html> 

EDIT 8. April 2016:

ich nicht weder mit Asynchron-Anrufe zB funktioniert; setTimeout()

Antwort

0

Ich würde empfehlen, dass Sie versuchen, den ng-bind-html zu verwenden, um den HTML-Code aus einem Umfang variabel zu machen. etwas wie das angehängte Snippet. Sie müssen die angular-sanitize.js einschließen und auch ein Modul ngSanitize wie im Code-Snippet enthalten.

<html lang="en"> 
 
<head> 
 
\t <title>Minimum AngularJS page</title> 
 
\t <meta charset="UTF-8"> 
 
</head> 
 
<body ng-app="demoApp"> 
 
\t <div ng-controller="MainCtrl"> 
 
    <h1>Hello World!</h1> 
 
\t \t <p ng-bind-html="text"></p> 
 
\t </div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script> 
 
<script 
 
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-sanitize.js"></script> 
 
\t <script> 
 
\t \t angular 
 
\t \t \t .module('demoApp', ['ngSanitize']) 
 
\t \t \t .controller('MainCtrl', function($scope){ 
 
\t \t \t \t $scope.text = "If you see this means angularjs is working"; 
 
\t \t \t }); 
 
\t </script> 
 
</body> 
 
</html>

Danke, Paras

Verwandte Themen