Apache FOP使用Service for PDF中的数据

时间:2017-10-12 09:22:42

标签: java apache pdf apache-fop

我想使用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 个答案:

答案 0 :(得分:0)

It looks like a velocity template, so you must either use velocity to preprocess it, or use XSLT (xalan). But if you want to use XSLT, you must first generate an XML document with all the data you need to generate the PDF.

UPDATE

for this example, you would need a document like this:

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

or:

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