如何使用 XEP RenderX XSLFO 强制一系列内联对象换行
How to force a series of inline objects to wrap with XEP RenderX XSLFO
下图摘自我通过 RenderX XEP 生成的 PDF。该片段包含一系列超链接关键字,关键字之间有填充。很明显,该行没有换行,因此每个单词的文本都被压缩了:
生成这个区块的代码是:
<fo:block-container wrap-option="wrap" space-after="10pt">
<fo:block space-after="5pt">
<fo:inline font-weight="bold">Keywords</fo:inline>
</fo:block>
<fo:block wrap-option="wrap" start-indent="20pt">
<fo:inline padding-right="10pt">
<fo:basic-link color="blue" external-destination="http://example.com">Boat</fo:basic-link>
</fo:inline>
<fo:inline padding-right="10pt">
<fo:basic-link color="blue" external-destination="http://example.com">Dragon</fo:basic-link>
</fo:inline>
[...]
</block>
</fo:block-container>
我无法识别允许 fo:inline
对象换行的 属性。我在 fo:block
和 fo:inline
上尝试了 keep-together="no"
,但它们是不允许的。
我错过了什么才能让这一系列 inline
结束?
非常感谢。
填充不算作 space,因此换行算法没有任何作用。
对于常规 space.
,您可以使用 ​
插入零宽度 SPACE 而不是  
您可以改为使用 10pt space 字符:
<fo:basic-link color="blue" external-destination="http://example.com">Boat</fo:basic-link>
<fo:inline width="10pt"> </fo:inline>
(不要在生成的 XSL-FO 中包含换行符,否则输出中将有一个常规 space 和一个 10pt space。)
下图摘自我通过 RenderX XEP 生成的 PDF。该片段包含一系列超链接关键字,关键字之间有填充。很明显,该行没有换行,因此每个单词的文本都被压缩了:
生成这个区块的代码是:
<fo:block-container wrap-option="wrap" space-after="10pt">
<fo:block space-after="5pt">
<fo:inline font-weight="bold">Keywords</fo:inline>
</fo:block>
<fo:block wrap-option="wrap" start-indent="20pt">
<fo:inline padding-right="10pt">
<fo:basic-link color="blue" external-destination="http://example.com">Boat</fo:basic-link>
</fo:inline>
<fo:inline padding-right="10pt">
<fo:basic-link color="blue" external-destination="http://example.com">Dragon</fo:basic-link>
</fo:inline>
[...]
</block>
</fo:block-container>
我无法识别允许 fo:inline
对象换行的 属性。我在 fo:block
和 fo:inline
上尝试了 keep-together="no"
,但它们是不允许的。
我错过了什么才能让这一系列 inline
结束?
非常感谢。
填充不算作 space,因此换行算法没有任何作用。
对于常规 space.
,您可以使用​
插入零宽度 SPACE 而不是  
您可以改为使用 10pt space 字符:
<fo:basic-link color="blue" external-destination="http://example.com">Boat</fo:basic-link>
<fo:inline width="10pt"> </fo:inline>
(不要在生成的 XSL-FO 中包含换行符,否则输出中将有一个常规 space 和一个 10pt space。)