您可以将 PDFKit 生成的 PDF 插入到 MongoDB 集合中吗?

Can you insert a PDF generated by PDFKit into a MongoDB collection?

我正在使用 PDFKit 库生成 PDF,我想将生成的 PDF 插入到 MongoDB 集合中。在客户端,用户应该能够看到集合中的文件列表并选择其中一个文件进行下载。

截至目前,我将集合中的 PDF 保存为 Uint8Array,然后我可以单击前端的文件进行下载。

但是,我的问题是文件似乎已损坏。它不会在 Adob​​e Reader 或 Chrome 中打开。 我试过使用和不使用 PDFKits 压缩将它保存到集合中。

这可以吗?或者我对此有不好的方法。
任何帮助都将非常有用,在此先感谢!

服务器端
这里的大部分代码都是基于 this post on the PDFKit GitHub

  var doc = new PDFDocument();
  var stream = require('stream');
  var converter = new stream.PassThrough();
  doc.pipe(converter);

  var data = [];
  converter.on('data', function(chunk) {
    data.push(chunk);
  });

  converter.on('end',  Meteor.bindEnvironment( function () {
    var buffer = Buffer.concat(data);
    PdfFiles.insert({ data:buffer, userID:userId });
  }));

  // Adding content to the PDF

  doc.end();

客户端

'click .downloadPDF': function (event) {
    event.preventDefault();

    var file = UserFiles.findOne({userID:Meteor.userId()});

    var FileSaver = require('file-saver');
    var blob = new Blob(file.data, {type: "application/pdf"});
    FileSaver.saveAs(blob, "AwesomePDF");
}

我只需更改以下代码即可让代码按预期工作:

var blob = new Blob(file.data, {type: "application/pdf"});

var blob = new Blob([file.data], {type: "application/pdf"});