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