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

时间:2018-09-20 22:18:40

标签: xslt xsl-fo apache-fop

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

所以我想知道,有什么方法可以抑制内容上的标题溢出到下一页?

或者是否可以使用其他页面顺序或某种方式来实现我想要的?

很抱歉这里含糊不清,并且缺少当前正在发生的情况的有效表示。我对Xsl Fo还是很陌生,我们的大多数工作代码都在一个抽象的框架下,但是如果我知道正确的指令,或者如果有可能,我相信我可以将它们实现到框架中并使工作正常。 / p>

编辑:我已附上一张图片,希望可以澄清发生的情况 When a block overflows from one page to the next, the header still shows up.

1 个答案:

答案 0 :(得分:0)

您可以将要隐藏的内容放在fo:marker中,并在流入“之前的区域”区域的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,并获得“真实的” { {1}}在其他页面上。