XSL-FO 忽略最后一个分页符但是如何呢?

XSL-FO Ignore the last page break but how?

XSL-FO 人员的另一个问题...... 好吧,我发现了如何使用

进行分页
<fo:block page-break-after="always"> </fo:block>

这工作正常,但它在文档末尾添加了一个空白页。我也用“before”位尝试过但没有成功,“auto”好吧这不是我要搜索的。 是否有可能计算休息时间,或者休息到最后一页并删除最后一个休息时间或类似的东西。我在参考资料上什么也没找到,但也许我在寻找错误的东西。提前致谢

http://www.w3.org/TR/xsl11/#page-break-inside

您可以在 XSLT 中完成。除了 <fo:block page-break-after="always"> </fo:block>,您还可以这样做:

<fo:block>
  <xsl:if test="position() != last()">
    <xsl:attribute name="page-break-after">always</xsl:attribute>
  </xsl:if>
</fo:block>

这假设在您的 XSLT 中您选择了所有产生 fo:block 的 elements/attributes 并一次性处理它们(即,它们都是同一上下文的一部分,所以最后一个确实在 last() 位置)。如果没有,您必须找到其他方法来确定何时不生成 page-break-after 属性。

(请注意 page-break-afterbreak-after="page" 的 shorthand。参见 http://www.w3.org/TR/xsl11/#page-break-after