HTML を PDF ドキュメントにレンダリングするために、pdfMake JavaScript フレームワークを使用しています。
単純な作業ドキュメント定義オブジェクトが次のようにレンダリングされるとします。
var docDefinition = {
content: { stack: [
{ text: 'foo', style: 'normal', margin: [0,1,0,0] },
{ text: 'bar', style: 'bold', margin: [0,1,0,0] }
]}
}
これが HTML 要素の配列であることを考えると、そのobjectives
要素を解析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 のドキュメント定義が正しく理解してレンダリングできる配列 (オブジェクト?) としてスタック定義を提供するために、他に何ができるか (または他に何を探すことができるか) は?