2017-10-12 4 views
0

Je veux utiliser Apache FOP pour générer un PDF avec des données fournies par un ServiceClass j'ai écrit (certaines chaînes et tableaux contenant des objets).Apache FOP utilise des données de Service pour PDF

Dans un exemple d'implémentation du template.fo ressemble à ceci:

#foreach($salesRow in $salesRows) 
     <fo:table-row height="1cm"> 
      <fo:table-cell border-style="solid" padding="3"> 
       <fo:block> 
        $salesRow.var1 
       </fo:block> 
      </fo:table-cell> 
      <fo:table-cell border-style="solid" padding="3"> 
       <fo:block> 
         $salesRow.var2 
       </fo:block> 
      </fo:table-cell> 
    #end 

Que dois-je faire avec mes données pour y accéder dans la .FO la façon dont il est accesseds dans l'exemple?

Je pense que je dois utiliser Xalan mais je ne trouve pas d'informations sur la façon de le faire.

Répondre

0

Cela ressemble à un modèle de vélocité, vous devez donc utiliser la vélocité pour le pré-traiter ou utiliser XSLT (xalan). Mais si vous voulez utiliser XSLT, vous devez d'abord générer un document XML avec toutes les données dont vous avez besoin pour générer le PDF.

MISE À JOUR

pour cet exemple, vous auriez besoin d'un document comme celui-ci:

<?xml version="1.0"?> 
<saleRows> 
    <saleRow var1="..." var2="..."/> 
    <saleRow var1="..." var2="..."/> 
    ... 
</saleRows> 

ou:

<?xml version="1.0"?> 
<saleRows> 
    <saleRow> 
     <var1>...</var1> 
     <var2>...</var2> 
    </saleRow> 
    <saleRow> 
     <var1>...</var1> 
     <var2>...</var2> 
    </saleRow> 
    ... 
</saleRows>