Webshot不会等到订阅完成

时间:2019-06-18 10:25:42

标签: javascript html pdf meteor npm

我想对我的网页进行截屏。 我让HTTP调用了使用当前网页的网络快照生成pdf的电话。

Router.route('generateQuotePDF', {
       path: '/generateQuotePDF/:_id',
       where: 'server',
       action: function() {
            this.render('pdfDownloadPage');
            var webshot = Npm.require('webshot');
            var fs      = Npm.require('fs');
            var Future = Npm.require("fibers/future") ;
            var fut = new Future();
            var fileName = "Quotation.pdf";
            var url = Meteor.absoluteUrl("viewBulkQuotationOuter/"+this.params._id+"?subId="+this.params.query['subId']+"&pdfFlag=true")
            console.log(url)
            var options = {
               renderDelay:3000,
            };
            webshot(url, fileName, options, function(err,res) {
               fs.readFile(fileName, "base64", function (err,data) {
                   if (err) {
                       return console.log(err);
                   }
                   fs.unlinkSync(fileName);
                   fut.return(data);
               });
           });
           this.response.writeHead(200, {'Content-Type': 'application/pdf',"Content-Disposition": "attachment; filename="+fileName});
           this.response.end(fut.wait());
       }
   });

我要在加载网页中的所有值和数据时进行屏幕截图

0 个答案:

没有答案