尝试下载使用Angular的页面的PDF.有时候它有效,有时则不然:页面呈现时{{}}没有被解释.
如何下载完全呈现页面的PDF(有一些使用Angular完成的HTTP请求,并且在显示数据之前完成了大量数据操作)?
编辑(代码)(代码不相关):
后端:
 ...
 wkhtmltopdf(url, options, function(code, signal) {
     //'url' points to a route that has 'res.render()' binded to it
     //Download the file
 });
 ...
 res.render('template', { data: data });
 ...
前端:
<html>
        <head>
                ...
        </head>
        <body>
                <div ng-app=".." class="container" ng-controller="..">
                </div>
                <script src='/angular/lib/jquery/jquery.min.js'></script>
                <script src='//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js'></script>
                <script src='/angular/lib/bootstrap/bootstrap.min.js'></script>
                <script src='/angular/lib/angular/angular.min.js'></script>
                <script src='/angular/lib/underscore/underscore.js'></script>
                <script src='/angular/lib/morris/morris.min.js'></script>
                <script src='/angular/lib/morris/raphael-min.js'></script>
                ...
        </body>
</html>
Oko*_*000 12
在wkhtmltopdf进行渲染之前,您需要确保Javascript有时间执行.至少有两种方法可以做到这一点:
简单但相当糟糕的方法是将--javascript-delay选项传递一些毫秒数,以便在转换为pdf之前为页面提供足够的渲染时间.
稍微复杂但更好的方法是--window-status使用一些字符串传递选项.如果这样做,wkhtmltopdf将不会呈现pdf,直到该值window.status等于您使用该选项传递的字符串.然后,在您的应用中,您应该在页面呈现后手动设置此值.
| 归档时间: | 
 | 
| 查看次数: | 5044 次 | 
| 最近记录: |