【问题标题】:How to add text via loop in pdfkit如何在pdfkit中通过循环添加文本
【发布时间】:2016-12-06 13:02:31
【问题描述】:

我想在 pdfkit 中创建一个带有 orderitems 的 PDF 文档。

所以我创建了一个 pdf 文档,其中包含一些信息,例如买家和发件人,如下所示:

doc = new pdf({autoFirstPage: false});
doc.addPage({
    margin: 50
});
doc.text(shipTo.name, 50);
doc.moveDown(0.5);
doc.text(shipTo.address + " " + shipTo.number + shipTo.addition ? shipTo.addition : "");
doc.moveDown(0.3);
doc.text(shipTo.zip)
doc.moveDown(0.3);
doc.text(shipTo.city);
doc.moveDown(0.3);
doc.text(shipTo.country);

但现在我想显示一些有关订购产品的信息。我通过 order.items 创建了一个循环,它也在产品集合中查看,但在 de PDF 中没有显示任何内容,但在控制台中我看到了我需要打印的信息。

for(var i = 0; i < order.items.length; i++){
    var item = order.items[i];
    Product.findOne({_id: order.items[i].productId}).exec(function(err, product){
        console.log(item.name, item.quantity, product.eanCode);
        doc.moveDown();
        doc.text(item.name, 50);
        doc.moveUp();
        doc.text(product.eanCode, 300);
        doc.moveUp();
        doc.text(item.quantity, 500);
    })
}

有人知道如何让它工作吗?

【问题讨论】:

    标签: node.js pdf node-pdfkit


    【解决方案1】:

    您能否显示您的 order.items 中的内容,因为我认为您只需要在 order.items 中作为您的键的名称。

    显示您的数组以进行说明

    例如:-

    var arr = ["foo","moo","bar","xyz","abc"];
    
       var margin = 150;
       var serialNo = 1;
         for(var i=0; i<arr.length ; i++){
          doc.text(serialNo++,50,margin)
          doc.text(arr[i],100,margin)
          margin = margin + 20;
      }
    

    这是一个简单的例子,你可以参考.. :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多