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

Posted

技术标签:

【中文标题】XSL-FO 忽略最后一个分页符但是如何?【英文标题】:XSL-FO Ignore the last page break but how? 【发布时间】:2016-04-14 23:40:53 【问题描述】:

XSL-FO 人的另一个问题…… 好吧,我发现了如何使用分页符

<fo:block page-break-after="always"> </fo:block>

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

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

【问题讨论】:

【参考方案1】:

您可以在 XSLT 中执行此操作。而不是&lt;fo:block page-break-after="always"&gt; &lt;/fo:block&gt;,你可以这样做:

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

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

(注意page-break-afterbreak-after="page" 的简写。见http://www.w3.org/TR/xsl11/#page-break-after)

【讨论】:

以上是关于XSL-FO 忽略最后一个分页符但是如何?的主要内容,如果未能解决你的问题,请参考以下文章

带有分页符和动态内容的 XSL-FO 动态表格宽度

分页符怎么设置

如何找到分页符?

如何从Google表格下载具有特定边距和分页符的PDF文件?

如何在Word中插入分页符

Word如何插入分页符