Мы используем фреймворк pdfMake для отображения HTML в PDF-документе.Что может заставить pdfMake игнорировать это определение?
Учитывая, что простой объект определения рабочего документа оказывается таким образом:
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?