将 Meteor 模板转换为 PDF 文件

Transform Meteor template into PDF file

我想将 Meteor 模板转换为 PDF 文件。我发现 this package using this library 可以将 HTML 转换为 PDF。 问题是......我不明白如何获得我的模板的 HTML 。例如,我有一个测试模板(在 Jade 中):

template(name="test")
  h1 Title 1
  p Hello, world!

还有这些函数(根据教程):

var specialElementHandlers = {
  '#bypassme': function(element, renderer)
  {
    return true;
  }
};

Template.autotest_verdict_content.events({
  "click #generate-pdf": function ()
  {
    var doc = new jsPDF('p', 'in', 'letter');
    var source = $("#verdict-content").get(0);   // I tried this (from a rendered template)
    var source = Template.test;   // And this (the template I want to transform)
    doc.fromHTML(source, 0.5, 0.5, 
    {
        'width': 7.5,
        'elementHandlers': specialElementHandlers
    });
    doc.output('dataurl');
  }
});

我只创建了一个包含 "undefined" 字符串的 PDF 文件。我想我误解了 Template 的工作原理...有人可以给我解释一下吗?

为什么你不能这样做(如包文档中所述):

Template.autotest_verdict_content.events({
    "click #generate-pdf": function (){
    Blaze.saveAsPDF(Template.test, {
      filename: "test.pdf", // optional, default is "document.pdf"
      x: 0, // optional, left starting position on resulting PDF, default is 4 units
      y: 0, // optional, top starting position on resulting PDF, default is 4 units
      unit: "in", // optional, unit for coordinates, one of "pt", "mm" (default), "cm", or "in"
      format: "letter" // optional, see Page Formats, default is "a4",
      elementHandlers: specialElementHandlers
    });
}});