0

Nous utilisons le framework pdfMake javascript pour rendre HTML à un document PDF.Qu'est-ce qui ferait que pdfMake ignorerait cette définition?

pdfMake.org

Étant donné qu'un objet simple définition du document de travail est rendu ainsi:

var docDefinition = { 
    content: { stack: [ 
     { text: 'foo', style: 'normal', margin: [0,1,0,0] }, 
     { text: 'bar', style: 'bold', margin: [0,1,0,0] } 
    ]} 
} 

Et étant donné que objectives est un ensemble d'éléments HTML, nous essayons d'analyser lesdits éléments et retourner le stack définition via une fonction. Comme si:

var docDefinition = { 
    content: { stack: parseSection(objectives) } 
} 

Voici un résumé très simplifié de la fonction:

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 

}) 

Le problème est, pdfMake sera rendu sous forme de chaînes verbatim str1 et str2 plutôt que de traiter les définitions. Que pouvons-nous faire d'autre (ou quoi d'autre pouvons-nous chercher) pour fournir la définition de pile sous forme de tableau (objet?) Que la définition de document de pdfMake peut comprendre et rendre correctement?

Répondre

0

Vous passez une chaîne. Construire et renvoyer des objets à la place. Comme ceci:

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 

})