我有一个固定高度的单元格,我希望内部文本的字体大小相应地减少单元格内的文本数量。
更新
对不起。但我以为你会明白这是什么问题。我正在尝试修改一些用于从XML创建PDF文档的xslt模式。而且我必须在一些空白处打印文档。不幸的是,我的空间有限,不知怎的,我必须在这个空间上从XML中找到数据。为方便起见,我使用桌子。我必须在具有固定高度和宽度的单元格中定位数据。如果数据更长,那么我预计细胞高度会增加。我想以某种方式避免它。但我要保留所有数据,所以我不能使用wrap。而且我认为自动调整大小字体大小会很酷。
答案 0 :(得分:1)
我找到了一些有趣的方法来做到这一点。这不是自动的方法,但它可以帮助我解决我的问题。
<x:variable name="NDSPercent" select="./NDSPercent"/>
<x:if test="string-length($NDSPercent) < 3">
<fo:block>
<x:value-of select="$NDSPercent"/>
</fo:block>
</x:if>
<x:if test="string-length($NDSPercent) > 3">
<fo:block font-size="8pt">
<x:value-of select="$NDSPercent"/>
</fo:block>
</x:if>
答案 1 :(得分:0)
打印和页面布局社区组@ W3C已经生成了一些扩展函数,用于在XSLT中运行FO处理器以获取区域树,以便您可以根据格式化区域做出决策。
您的使用听起来像&#34;通过调整&#39; font-size&#39;&#34;来复制。例如http://www.w3.org/community/ppl/wiki/XSLTExtensions#Example_5_-_Copyfitting_by_adjusting_.27font-size.27
这是当时的PPL CG描述文本,其大小可以填充一个框:
如果您使用Antenna House的AH格式化程序,您可以使用其溢出扩展来让AH Formatter为您调整文本大小。查看http://www.antennahouse.com/product/ahf60/docs/ahf-ext.html#ext-overflow
处的多个扩展程序属性