2016-12-06 59 views
0

我想創建一個PDF文檔,其中包含pdfkit中的訂單項。如何在PDFkit中通過循環添加文本

所以我創建了像這樣喜歡購買者和發送者的一些信息的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創建了一個循環,它也在產品集合中查找,但是沒有任何內容顯示在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); 
    }) 
} 

有沒有人一個想法如何得到這個工作?

回答

0

您可以顯示您的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; 
    } 

下面是一個簡單的例子,你可以參考.. :)