0

HTML を PDF ドキュメントにレンダリングするために、pdfMake JavaScript フレームワークを使用しています。

pdfMake.org

単純な作業ドキュメント定義オブジェクトが次のようにレンダリングされるとします。

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 のドキュメント定義が正しく理解してレンダリングできる配列 (オブジェクト?) としてスタック定義を提供するために、他に何ができるか (または他に何を探すことができるか) は?

4

1 に答える 1

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

})
于 2016-08-19T18:23:33.863 に答える