[英]XSL:FO Fill fo:block with fo:leader
我想用<fo:leader leader-length.minium="1in"/ >
填充我的代码块,然后用可变文本(长度)填充其余代码。
问题是如果文本的内容需要更多的空间,则实际的列有一个带有一个虚线和一个文本行的换行符。
我使用Antenna House和XSLT 2.0。
现在输出示例:
1: | ................Text Text | 2: |...........................| |The Text is to long for the|
正确的输出
|... This is some Text | | of the text.... |
XSLT代码:
<fo:table-cell>
<fo:block text-align="justify" text-align-last="right">
<xsl:if test="page">
<fo:leader leader-pattern="dots" leader-length.minimum="1in" leader-length.optimum="4in" leader-length.maximum="4in"/>
</xsl:if>
<fo:inline ><xsl:apply-templates select="page" mode="normal"/></fo:inline></fo:block>
</fo:table-cell>
我希望这样可以使正确的输出清楚。
|.... 10,15,2010| Five dots minimum |______2105,1| (_ blank), output align right)
之所以发生换行(AFAICT),是因为AH Formatter无法容纳最小行距加上一行上的文本,然后将其拆分为两行时,行距扩展到了4英寸的最佳长度。
解决:
将axf:text-align-first="justify"
到fo:block
。
text-align-last
( https://www.w3.org/TR/xsl11/#text-align-last )适用于(last)块区域的最后一个行区域子级,即使它也是第一个(仅)块区域的行区域。 axf:text-align-first
( https://www.antennahouse.com/product/ahf63/ahf-ext.html#axf.text-align-first )优先于text-align-last
,因此axf:text-align-first="justify"
对齐单行块。
删除leader-length.minimum
等。
具有默认leader-length
值的fo:leader
现在将展开以填充可用空间。
(可选)将axf:leader-expansion="force"
到fo:block
。
axf:leader-expansion
( https://www.antennahouse.com/product/ahf63/ahf-ext.html#axf.leader-expansion )发挥了更大的作用,迫使领导者扩大。
例:
<fo:block-container width="2in" border="thin solid black">
<fo:block text-align="justify" text-align-last="right" axf:text-align-first="justify">
<fo:leader leader-pattern="dots"/>This is text</fo:block>
<fo:block text-align="justify" text-align-last="right" axf:text-align-first="justify">
<fo:leader leader-pattern="dots"/>This is some of the text</fo:block>
<fo:block text-align="justify" text-align-last="right" axf:text-align-first="justify">
<fo:leader leader-pattern="dots"/>This is some of the text plus a bit more</fo:block>
<fo:block text-align="justify" text-align-last="right" axf:text-align-first="justify">
<fo:leader leader-pattern="dots"/>This is some of the text plus a whole lot more</fo:block>
</fo:block-container>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.