XSL:无法截断列上的文本

时间:2015-09-03 18:40:55

标签: pdf xslt xsl-fo apache-fop

我正在使用XSL来获取XML样式。 xsl定义了一个包含两列的表。我需要做的是在列的末尾截断文本。

我使用函数substring将文本截断为固定数量的字符,但由于不同的字符大小不同会导致非常难看

这是我想要的一个例子:

说明表中必须包含的字符串是:

“短文”

“这里有些文字”

“这是一篇很长的文字”

“这是一篇非常长篇文章”

|     COLUMN 1       | COLUMN 2 |
|--------------------|----------|
|some text           | column 2 |
|some text here      | column 2 |
|this is a very long | column 2 |
|this is a very very | column 2 |

是否存在xsl函数,该函数根据字符串填充列的大小而不是字符数来中继字符串?

提前致谢。

1 个答案:

答案 0 :(得分:2)

在表格单元格中放置一个具有足够高度(大于一行,但少于两行)的块容器,将溢出设置为隐藏:

    <fo:table-cell>
        <fo:block-container overflow="hidden" height="15pt"><fo:block>this is a very, very, very long text here</fo:block></fo:block-container>
    </fo:table-cell>

注意,这会在字边界处切断。如果你想在任意位置切断,那么你会在单词中的每个字母之间插入零宽度的空格。上面的表格显示它在最后一刻切断了#34;非常&#34;下面:

enter image description here