首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WKHTMLTOPDF和角

WKHTMLTOPDF和角
EN

Stack Overflow用户
提问于 2014-07-03 12:11:10
回答 1查看 6.6K关注 0票数 6

尝试下载PDF的网页,使用角。有时它有效,有时它不工作:页面是用{{ }不解释的方式呈现的。

我如何下载完整呈现的页面的PDF (有一些HTTP请求是用角度完成的,还有很多数据操作是在显示数据之前完成的)?

编辑(代码)(代码不相关):

后端:

代码语言:javascript
复制
 ...
 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 });

 ...

前端:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-16 01:03:59

您需要确保Javascript在wkhtmltopdf完成其呈现之前有时间执行。至少有两种方法可以做到这一点:

  1. 简单但相当糟糕的方法是以一定数量的毫秒传递--javascript-delay选项,以便在转换为pdf之前给页面足够的时间来呈现。
  2. 稍微复杂一些但更好的方法是使用一些字符串传递--window-status选项。如果这样做,wkhtmltopdf将不会呈现pdf,直到值window.status等于您通过该选项传递的字符串。然后,在您的应用程序中,您应该在页面呈现后手动设置此值。
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24553373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档