我遇到了使用XSL-FO生成PDF的问题。
我有一个包含两列的文档,我想在一个页面上保留一个段落(可以在页面底部开始,如果有空格),没有任何分页符。 主要目的是将段落转移到下一页。我不能在段落之前使用声明的分页符,因为之前的内容是动态的。文本本身有一个必须保留的换行符(white-space-collapse = false),并且在它之后有一个跨越的行,使其显示在页面顶部的两列中。我已经尝试过的事情:
段落的基本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>
我可以更改每个块的属性,但只更改第一个块将是最佳解决方案。
提前致谢:]
答案 0 :(得分:2)
keep-together.within-column="always"
应该在不离开孤立行的情况下为您提供所需内容,并且它是一个继承属性,因此如果在祖先块上指定它,则无需在每个块上指定。但是,在您的代码段中,您指定了未继承的keep-with-next=
。
只有一些属性是继承的,而不是全部。查看我的XSL-FO书籍的第440/441页,在http://www.CraneSoftwrights.com/training/#pfux免费找到“试用和购买”版本(注意页码是A4版本;请参阅美国信函版本的第438/439页)。
答案 1 :(得分:1)
你试过
吗?keep-with-previous.within-column="always"
首先检查前一列,然后根据该列进行安排。