【问题标题】:node-webkit - AngularJS : Generate PDF and Push to usernode-webkit - AngularJS:生成 PDF 并推送给用户
【发布时间】:2014-08-31 15:10:09
【问题描述】:

我正在尝试在独立的 node-webkit 应用程序中创建 PDF 并推送给用户。 生成 PDF 可以,但我无法将其发送给用户。 我已按照指示在这里找到:http://pdfkit.org/demo/browser.html

这里是我的控制器:

paiApp.controller('pdfCtrl', function($scope) {
  var PDFDocument = require('pdfkit');
  var blobStream  = require('blob-stream');

  var doc = new PDFDocument;
  stream = doc.pipe(blobStream());
  doc.fontSize(15).text('Hello World');
  doc.end();

  stream.on('finish', function() {
    iframe = document.getElementById('myIframe');
    iframe.src = this.toBlobUrl(); //Error here
    // blob = stream.toBlob('application/pdf') //Error ...
  });


  // Writting PDF is working
  // ###################################
  // var PDFDocument = require('pdfkit');
  // var fs = require('fs');

  // doc = new PDFDocument;
  // doc.pipe(fs.createWriteStream('output.pdf'));
  // doc.fontSize(15);
  // doc.text('Generate PDF coool!');
  // doc.end();
  // #####################################

});

这是我的错误:

Object [object Object] has no method 'toBlobUrl'

有什么想法吗?

【问题讨论】:

    标签: node.js pdf-generation node-webkit node-pdfkit


    【解决方案1】:

    我也为此苦苦挣扎,但最近让它适用于我的应用程序。我只是打算在浏览器的窗口中显示动态生成的 PDF - 所以我使用了 <object> - 我的客户端控制器代码是这样的:

    $http({method: 'GET', url: 'SERVERCONTROLLER', responseType: 'arraybuffer'})
    .success(function(response){
        var file = new Blob([response], {type: 'application/pdf'}));
        var fileURL = URL.createObjectURL(file);
        $scope.mycontent = $sce.trustAsResourceUrl(fileURL);
    });
    

    请确保您记得将$sce 注入您的控制器,您应该一切顺利。

    【讨论】:

    猜你喜欢
    • 2014-09-29
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 2017-05-01
    • 2022-11-01
    • 1970-01-01
    相关资源
    最近更新 更多