如何隐藏Xsl Fo上的标题,页面溢出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何隐藏Xsl Fo上的标题,页面溢出相关的知识,希望对你有一定的参考价值。

我有一个标题,一个正文和一个为Xsl Fo页面序列设置的页脚。此页面上的某些项目以keep-together.within-page值为1的块显示。这在大多数情况下都非常有效,但是我注意到,当跨越整个页面的内容绝对不得不打破时,它将最终出现在新页面然后被剪切(这很好)但是然后标题在这个中间被绘制,使得一切看起来有点粗糙/混乱(不好),因为剩下的东西被绘制到下一页。

所以我想知道,是否有某种方法可以抑制内容溢出的标题进入下一页?

或者是否有某种方式可以使用替代页面序列或某些东西来达到我想要的效果?

很抱歉这里含糊不清,缺乏正在进行的工作表示。我是Xsl Fo的新手,我们的大部分工作代码都在抽象框架下,但如果我知道正确的指令或者如果可能的话,我确信我可以将它们实现到框架中并使其工作正常。

编辑:我附上了一张图片,希望澄清When a block overflows from one page to the next, the header still shows up.上发生了什么

答案

您可以将要隐藏的内容放在fo:marker中,并在流入“region-before”区域的fo:retrieve-marker中使用fo:static-content

诀窍是在每个块之前用fo:marker放置'真实'keep-together的副本,并且还放置一个空的fo:marker和相同的marker-class-name作为块内的第一个东西。 (我不知道您的XSL-FO标记是什么样的,但您可能需要在每个块周围放置一个fo:wrapper作为放置“真实”标记的位置。)

如果retrieve-positionfirst-including-carryover(参见https://www.w3.org/TR/xsl11/#retrieve-position),那么你应该得到一个空的fo:marker,用于突破页面边界的块,并在其他页面上获得“真正的”fo:marker

以上是关于如何隐藏Xsl Fo上的标题,页面溢出的主要内容,如果未能解决你的问题,请参考以下文章

使用 XSL-FO 在下一个兄弟为空时隐藏块

如何将带有嵌入图像的 XHTML+CSS 转换为 XSL-FO?

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

如何为 xsl-fo 中的每个页面添加页眉和页脚以生成 pdf

XSL-FO - 将背景图像添加到多个 PDF 页面

如何覆盖“region-body”为 XSL:FO 中的表设置的边距?