Pdf XSL:在任意位置切掉字符串
我正在使用XSL来获得XML样式。xsl定义了一个包含两列的表。多亏了Kevin Brown,下面的代码可以很好地在单词边界处截断,但我需要的是在任意位置截断Pdf XSL:在任意位置切掉字符串,pdf,xslt,xslt-1.0,xsl-fo,apache-fop,Pdf,Xslt,Xslt 1.0,Xsl Fo,Apache Fop,我正在使用XSL来获得XML样式。xsl定义了一个包含两列的表。多亏了Kevin Brown,下面的代码可以很好地在单词边界处截断,但我需要的是在任意位置截断 <fo:table-cell> <fo:block-container overflow="hidden" height="15pt"><fo:block>this is a very, very, very long text here</fo:block></fo:bloc
<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>
这是一个非常非常长的文本
如果您是从XML和XSL生成的,通常在输出特定内容和位置时会创建一个模板;实体(零宽度打断空格字符)。因此,无论你怎么做,都要让内容像这样(这表示“非常长的单词”,字母之间有实体:
v;e;r;y l;o;n;g w;o;r;d
因此,在您的示例中(我只将它们放在断点附近,以便您可以看到):
这是一个非常非常非常的l;o;n;g t;e;x;t
你现在可以得到这个(它在“long”中的“o”处断开):
如果您非常倾向于将fo:块上的“text align”设置为“justify”,这将使所有内容对齐,如果在块的末尾插入足够长的fo:前导以填充单元格。注意:这在Apache FOP中不起作用,在RenderX XEP中起作用
比如:
这是一个
如果您这样做,您将得到以下结果:
如果您从XML和XSL生成此内容,通常在输出特定内容和放置;实体(零宽度分隔符)时会创建一个模板。因此,无论您如何操作,都要使内容如下所示(这表示“非常长的单词”,该实体位于字母之间: v;e;r;y l;o;n;g w;o;r;d 因此,在您的示例中(我只将它们放在断点附近,以便您可以看到):
这是一个非常非常非常的l;o;n;g t;e;x;t
你现在可以得到这个(它在“long”中的“o”处断开):
如果您非常倾向于将fo:块上的“text align”设置为“justify”,这将使所有内容对齐,如果在块的末尾插入足够长的fo:前导以填充单元格。注意:这在Apache FOP中不起作用,在RenderX XEP中起作用
比如:
这是一个
如果您这样做,您将得到以下结果:
<fo:table-cell border="1pt solid silver">
<fo:block-container overflow="hidden" height="15pt"><fo:block>this is a very, very, very l​o​n​g t​e​x​t here</fo:block></fo:block-container>
</fo:table-cell>
<fo:table-cell border="1pt solid silver">
<fo:block-container overflow="hidden" height="15pt"><fo:block text-align="justify">this is a<fo:leader leader-length.minimum="3in"/></fo:block></fo:block-container>
</fo:table-cell>