2011-09-21 307 views
0

我有一个固定高度的单元格,我希望文本内部的字体大小相应地减少单元格内文本的数量。xsl-fo:在固定单元格中自动调整字体大小

UPDATE:

对不起。但我认为你会明白是什么问题。我试图修改一些用于从XML创建PDF文档的xslt模式。而且我必须让文档在一些空白处打印。不幸的是,我的空间有限,不知何故我必须在这个空间上放置XML数据。为了方便,我使用表格。我必须在固定高度和宽度的单元格中定位数据。如果数据更长,那么我预计细胞高度增加。我以某种方式避免它。但我希望保留所有数据,所以我不能使用换行。我认为做自动调整字体大小会很酷。

+0

我想要一个红色的法拉利,我可以打电话给我自己..你真正的问题是什么?你试过什么了?特别是有什么特别不按预期工作? ... – Wivani

+0

我想调整固定高度的单元格中的字体大小,如果内容比预期更长。 – perfectgentleman

+1

再次,你不是很详细。并回应您的澄清:是否它是一个固定宽度的单元格,如果它的内容的长度,使您想要在必要时减小字体大小?另外,你想尽可能地减少,还是有一个限制? ..而且,你在做Java/.Net /任何其他语言的东西吗?或者这是在像Oxygen这样的XML工具中完成的? ..我知道你可能不会发现我的反应非常友好,但我的意图仅仅是让问题达到人们可以真正帮助你找到答案的水平。 – Wivani

回答

1

我找到了一些有趣的方式来做到这一点。这不是自动的方式,但它可以帮助我解决我的问题。

<x:variable name="NDSPercent" select="./NDSPercent"/> 
<x:if test="string-length($NDSPercent) &lt; 3"> 
    <fo:block> 
    <x:value-of select="$NDSPercent"/> 
    </fo:block> 
</x:if> 
<x:if test="string-length($NDSPercent) &gt; 3"> 
    <fo:block font-size="8pt"> 
    <x:value-of select="$NDSPercent"/> 
    </fo:block> 
</x:if> 
0

打印和页面布局社区组@ W3C已经产生了一些扩展功能,可运行您的XSLT内的FO处理器获得一个区域树,以便您能够根据格式化领域的决定。

您使用“调整‘字体大小’组排”例如在http://www.w3.org/community/ppl/wiki/XSLTExtensions#Example_5_-_Copyfitting_by_adjusting_.27font-size.27

这里的大小,以填补一个盒子当时的PPL CG说明文字听起来像:

PPL CG description sized to fill a box

如果您使用Antenna House的AH格式化程序,则可以使用其溢出扩展名来获得AH格式化程序来为您调整文本大小。看到多个扩展属性http://www.antennahouse.com/product/ahf60/docs/ahf-ext.html#ext-overflow

相关问题