PDFMake - 从动态内容(数组)制作 PDF

PDFMake - make PDF from dynamical content (an array)

我在创建 PDF 文件时遇到问题,我可以在其中动态地放置数组中的数据,例如使用 for 循环。数组的长度每次都可能不同,所以我不可能只写一种大小的数组。

有我能做的例子:

var stuff = [
        'aaaaaaaaaaaaaaaaaaa',
        'bbbbbbbbbbbbbbbbbbb',
        'ccccccccccccccccccc',
        'ddddddddddddddddddd'
    ]
var dd = {
    content: 
    [
        {text: stuff[0], pageBreak: 'after'},
        {text: stuff[1], pageBreak: 'after'},
        {text: stuff[2], pageBreak: 'after'},
        {text: stuff[3], pageBreak: 'after'}
    ]
}

但我很想做这样的事情:

var stuff = [
        'aaaaaaaaaaaaaaaaaaa',
        'bbbbbbbbbbbbbbbbbbb',
        'ccccccccccccccccccc',
        'ddddddddddddddddddd'
    ]

var dd = {
    content: 
    [
        for(var i=0;i<stuff.length;i++){
          {text: stuff[i], pageBreak: 'after'}        
        }
    ]
}

我知道第二段代码没有意义,但它显示了我想做的事情。

有什么方法可以实现吗?

你可以像这样使用Array#map

var stuff = [
    'aaaaaaaaaaaaaaaaaaa',
    'bbbbbbbbbbbbbbbbbbb',
    'ccccccccccccccccccc',
    'ddddddddddddddddddd'
];

var dd  = {
    content: stuff.map(function(item) {
        return { text: item, pageBreak: 'after'}
    })
};