问题 将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>   

1690
2017-12-28 12:36


起源

可能重复 如何使用XSL-FO在PDF中添加分页符? - Lukas Eder


答案:


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

<fo:block page-break-inside="avoid">
  ...
</fo:block>

还有其他的 page-break 属性。拿最好的一个:


13
2017-12-28 13:15