我创建了一个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>
答案 0 :(得分:14)
最有可能的是,您可以使用page-break-inside
属性:
<fo:block page-break-inside="avoid">
...
</fo:block>
还存在其他page-break
属性。拿最好的一个: