我遇到了使用 XSL-FO 生成 PDF 的问题。
我有一个包含两列的文档,我想制作一个段落(如果有空间,可以从页面底部开始)保留在一页上,没有任何分页符。主要目的是将段落移到下一页。我不能在段落之前使用声明的分页符,因为以前的内容是动态的。文本本身有一个必须保留的换行符(white-space-collapse=false),并且在它之后有一个跨行,使其显示在页面顶部的两列中。我已经尝试过的事情:
- keep-together-within-page=始终在段落上,但没有任何变化
- keep-together=always 在段落上,所有内容都显示在一行中。设置 keep-together-within-line=0 和 keep-together-within-column=0,所有内容(8 行文本)进入第二页的右列,但两行留在上一页的左侧 o_0
- page-break-inside=avoid 在段落上,也会杀死分栏符
必须修改以保留在一页上的段落的基本 xsl-fo 代码:
<fo:block font-family="Font name" font-size="8.5pt" font-weight="normal" keep-with-next.within-column="always" line-height="10.5pt" orphans="5" text-align="left" widows="5">
<fo:block white-space-collapse="false">TEXT IN TWO COLUMNS</fo:block>
我可以更改每个块的属性,但仅更改第一个块将是最佳解决方案。
提前致谢 :]