下面的图片是我通过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
对象进行包装。我尝试了 keep-together="no"
关于 fo:block
而在 fo:inline
但它们是不允许的。
我缺了什么,才会允许这一系列的 inline
的包装?
非常感谢。
填充物不算是空格,所以断行算法没有任何工作可做。
你可以使用 ​
插入一个零宽度的空格,而不是零宽度的空间。 
为一个普通的空格。
您可以使用一个10pt的空格字符。
<fo:basic-link color="blue" external-destination="http://example.com">Boat</fo:basic-link>
<fo:inline width="10pt"> </fo:inline>
(不要在你生成的XSL -FO中加入换行符 否则在你的输出中会有一个常规空格和一个10pt空格)