将XSL-FO块放在下一页而不是跨页面拆分

Voj*_*ech 12 xsl-fo

我创建了一个XSL-FO模板,它打印了几个包含动态变化的文本的块.有时块被分割为两页,因为页面上没有足够的空间.有没有办法将块放在下一页上,而不是在不适合的情况下在页面上拆分它?我试着将它放在一个表中,保持在一起="总是"但是然后每个文本都在单行(没有换行)并溢出右页边距消失.先感谢您!

  <fo:table table-layout="fixed" width="100%">
    <fo:table-column column-width="proportional-column-width(1)"/>
    <fo:table-body>
      <fo:table-row keep-together="always">
        <fo:table-cell
          border-width="1px"
          border-color="black"
          border-style="solid"
          background-color="#ffffff"
          text-align="left">
          <fo:block>
            Text 1
          </fo:block>
          <fo:block>
            Text 2
          </fo:block>
          <fo:block>
            Text 3
          </fo:block>
        </fo:table-cell>
      </fo:table-row>
    </fo:table-body>        
  </fo:table>   
Run Code Online (Sandbox Code Playgroud)

Luk*_*der 14

最有可能的是,您可以使用以下page-break-inside属性:

<fo:block page-break-inside="avoid">
  ...
</fo:block>
Run Code Online (Sandbox Code Playgroud)

还存在其他page-break属性.拿最好的一个: