我们正在使用pdfMake javascript框架将HTML呈现为PDF文档。
鉴于如此呈现一个简单的工作文档定义对象:
var docDefinition = {
content: { stack: [
{ text: 'foo', style: 'normal', margin: [0,1,0,0] },
{ text: 'bar', style: 'bold', margin: [0,1,0,0] }
]}
}
鉴于objectives
是一个HTML元素数组,我们试图解析所述元素并通过函数返回stack
定义。像这样:
var docDefinition = {
content: { stack: parseSection(objectives) }
}
这是一个非常简化的函数摘要:
function parseSection(section){
var stack = []
...
str1 = "{ text:'" + fooVar + "',style: 'normal', margin: [0,1,0,0] }"
str2 = "{ text:'" + barVar + "',style: 'bold', margin: [0,1,0,0] }"
stack.push( str1 )
stack.push( str2 )
...
return stack
})
问题是,pdfMake将呈现为字符串 verbatim str1和str2而不是处理定义。
我们还能做什么(或者我们还能找到什么)将堆栈定义作为数组(对象?)传递,pdfMake的文档定义可以正确理解和呈现?
答案 0 :(得分:0)
您正在传递一个字符串。而是构造和返回对象。像这样:
function parseSection(section){
var stack = []
obj1 = {
text: fooVar,
style: 'normal',
margin: [0,1,0,0]
}
obj2 = {
text: barVar,
style: 'bold',
margin: [0,1,0,0]
}
stack.push( obj1 )
stack.push( obj2 )
return stack
})