[英]xsl-fo: Auto resize font size in a fixed cell
我有一個固定高度的單元格,並且我希望其中的文本字體大小隨單元格內的文本量相應減少。
更新:
抱歉。 但我想您會明白問題所在。 我正在嘗試修改一些xslt模式,該模式用於從XML創建PDF文檔。 而且我必須將文檔打印在空白處。 不幸的是,我的空間有限,因此必須以某種方式從XML中讀取數據。 為了方便起見,我使用桌子。 而且我必須在具有固定高度和寬度的單元格中定位數據。 如果數據更長,那么我期望像元高度會增加。 我想以某種方式避免它。 但是我保留了所有數據,因此無法使用wrap。 而且我認為自動調整字體大小會很酷。
我發現了一些有趣的方法。 這不是自動的方法,但是可以幫助我解決問題。
<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>
W3C的Print and Page Layout Community Group(打印和頁面布局社區組)提供了一些擴展功能,用於在XSLT中運行FO處理器以獲取區域樹,以便您可以根據格式化區域進行決策。
您的用法聽起來像http://www.w3.org/community/ppl/wiki/XSLTExtensions#Example_5_-_Copyfitting_by_adjusting_.27font-size.27上的“通過調整'font-size'進行擬合”示例。
這是當時的PPL CG說明文字,其大小可填充一個方框:
如果使用Antenna House的AH格式器,則可以使用其溢出擴展名來獲取AH格式器來為您調整文本大小。 請參閱http://www.antennahouse.com/product/ahf60/docs/ahf-ext.html#ext-overflow的多個擴展屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.