0
我们使用pdfMake JavaScript框架将HTML呈现为PDF文档。什么原因会导致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将呈现为字符串逐字 str1和str2的,而不是处理的定义。
我们还可以做什么(或我们可以寻找什么)来将堆栈定义作为一个数组(对象?)传递给pdfMake的文档定义可以正确理解和呈现?