XSL FO内联之间没有空格

时间:2018-02-08 09:24:36

标签: xslt pdf-generation xsl-fo

我正在尝试使用彼此相邻的内联块来制作pdf。出于某种原因我暂时无法理解,如果没有任何东西,它似乎在输出之间放置空格,例如(我选择了更好的文字显示): <fo:inline>I</fo:inline><fo:inline>I</fo:inline>会导致: example 1 奇怪的是,两个空间之间的文字消失了: <fo:inline>I</fo:inline>I<fo:inline>I</fo:inline> example 2

最后,我想通过xslt转换从未确定数量的blox中做pdf,以便能够获得如下结果: strangely formated output 在单词中间留空间不会这样做。

编辑:为了更精确,我通过以下方式生成这些元素:

<xsl:for-each select="./*"><fo:inline><xsl:value-of select="."/></fo:inline></xsl:for-each>

<xsl:for-each select="./*"><fo:inline><xsl:value-of select="."/></fo:inline>I</xsl:for-each>

节点包含&#34; I&#34; s。但是通过尝试手动生成我得到了相同的结果。 尝试: 节点之间的空间,所有节点之间(节点之间没有空间)和注释。

2 个答案:

答案 0 :(得分:0)

尝试引入一个像这样的空注释:

PicCard.Left = 50 + PicCard.Width * i

答案 1 :(得分:0)

我最终找到了一个解决方法(我不知道这是多么好的做法,所以我更喜欢将其发布为&#34;答案而不是&#34;答案&#34; ) 如果我把标签:

<fo:block font-size="0px">
</fo:block>

在我的内联标签周围,然后为我的标签添加一个真实的大小,我得到了我想要的结果。 在一边甚至没有补充I字符尿布,不能再选择。我想XSL-FO的过程需要更多地被视为&#34;打印&#34;然后进行文字编辑。