xsl fo:静态内容重叠流动

xslfo: staticcontent overlap to flow

我在 scala 中使用 xslfo 进行了这样的安排:

PageSequence(
   Seq(
       Fo.staticContent(....),
       Fo.staticContent(....),
       Fo.staticContent(....)
    ),
    Fo.flow(...)
)

静态内容对象的内容可能不同。它导致静态内容部分有时会与流程部分重叠。

我怎样才能避免这种情况?我看到 static-content 没有调整高度的属性。

静态内容的允许高度来自接收静态内容的区域extent属性。

静态内容流入 'outer' 区域之一:fo:region-beforefo:region-afterfo:region-startfo:region-end

fo:static-content上的flow-name属性和区域FO上的region-name属性之间的对应关系决定了哪个区域接收静态内容:例如,您可以在 left-hand 页面的 fo:region-start 和 right-hand 页面的 fo:region-end 中显示相同的静态内容,或者您​​可以使用静态内容仅出现在页面序列第一页上的内容(当第一页使用单独的 fo:simple-page-sequence 时)。

extent属性(参见https://www.w3.org/TR/xsl11/#extent)决定了外部区域的高度或宽度。

fo:static-content 的内容可以溢出其范围。对于 fo:region-before,它可能会与 fo:region-body 重叠,而对于 fo:region-after,它可能会溢出页面底部。

请注意 fo:region-body 可以指定边距,这样它就不会(通常)与外部区域重叠。