2017-04-26 63 views
0

我使用xsl-fo和antennahouse创建pdf,并且已经为我的文档的第一页,奇数页和偶数页使用fo:simple-page-masterfo:repeatable-page-master-alternative标签定义了布局,基于与此类似XML结构:一个项目,该项目集合自身XSL FO:基于XML内容的条件布局

<test> 
<form title="Form A"> 
    <section title="First Section"> 
    <item> ... item 1 contents ... </item> 
    <item> ... item 2 contents ... </item> 
    <item> ... item 3 contents ... </item> 
    </section> 
    <section title="2nd Section"> 
    <item> ... item 1 contents ... </item> 
    <item> ... item 2 contents ... </item> 
    <item> ... item 3 contents ... </item> 
    </section> 
</form> 
<form title="Form B"> 
</form> 
</test> 

内容可以是非常大的,所以它可以跨越多个页面。任何时候一节开始插入一个分页符。

第一个页面布局有一个标题,它显示了表单的标题+以页面顶部为中心的第一个部分的标题。其他两种布局的标题具有相同的信息,但左对齐而不是居中。

问题是,每当新节开始时,是否可以重新使用第一个页面布局?也就是说,对于我的文档中的每个部分,我希望将标题居中,而其余页面仍应具有左对齐文本的标题。

在此先感谢...

回答

0

把每个部分在一个单独的fo:page-sequence

这听起来像你用每一节相同的方式使用表单标题,所以表单标题不应该是一个问题。否则,你必须做一些与第一个fo:page-sequence不同的东西来显示表单标题。

0

对我来说,“重用”的含义并不完全清楚。

我不知道有什么方法可以将某些东西放到xsl-fo中并多次使用,但使用xslt的优点是可以很容易地在xsl-fo“snippet”中多次生成将fo:static-content元素分开放置在不同的fo:page-sequence中,由相同的xslt模板(因此您只能更改一个位置)。