XSL-FO:寻找If语句来检测奇数或偶数页面。

时间:2016-05-18 23:36:16

标签: pdf-generation xsl-fo apache-fop

我试图找到一种方法来检测正在生成的页面是奇数还是在模板中左/右对齐内容。例如,一个带有符号旁边的文本块。符号在一个页面上左对齐,在下一个页面上右对齐。

我不认为检查页码是可能的。而且我无法找到一种适用于region-start / region-end的方法,因为符号不会与它在region-body中的相关文本块对齐。

<fo:layout-master-set>
  <fo:simple-page-master master-name="EvenPage">
    <fo:region-body />
  </fo:simple-page-master>
  <fo:simple-page-master master-name="OddPage">
    <fo:region-body />
  </fo:simple-page-master>
  <fo:page-sequence-master master-name="Content">
    <fo:repeatable-page-master-alternatives>
      <fo:conditional-page-master-reference master-reference="OddPage" odd-or-even="odd"/>
      <fo:conditional-page-master-reference master-reference="EvenPage" odd-or-even="even"/>
    </fo:repeatable-page-master-alternatives>
  </fo:page-sequence-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="Content">      
  <fo:flow>
    <xsl:apply-templates select="*"/>
  </fo:flow>
</fo:page-sequence>

1 个答案:

答案 0 :(得分:1)

没有if语句来检测奇数页或偶数页。

您可以(或可能)使用float="outside"将符号浮动到页面外部。但是,我不清楚FOP对fo:float支持(http://xmlgraphics.apache.org/fop/fo.html#floats)所述的限制是否支持float="outside"(尽管有其他人支持) XSL格式化程序,包括AH Formatter)。