提问者:小点点

Apache FOP使用Service中的数据进行PDF


我想使用Apache FOP生成一个PDF,其中包含我编写的ServiceClass提供的数据(其中包含对象的一些字符串和数组)。

在示例实现中,template.fo如下所示:

    #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

我必须如何处理我的数据才能以示例中访问的方式在. fo中访问它?

我想我必须使用Xalan,但我找不到任何信息如何。


共1个答案

匿名用户

它看起来像一个速度模板,所以你必须使用速度来预处理它,或者使用XSLT(xalan)。但是如果你想使用XSLT,你必须首先生成一个XML文档,其中包含生成PDF所需的所有数据。

更新

对于此示例,您需要这样的文档:

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

或:

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