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

时间:2016-10-29 11:33:08

标签: javascript pdf pdfmake

我在创建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'}        
        }
    ]
}

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

有什么方法可以实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Array#map,就像这样

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

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