XSL-FO使用空表格单元格和领导者

时间:2013-04-09 14:36:36

标签: xsl-fo apache-fop

我正在使用带有引线(虚线)的表格列来在不同单元格中的内容之间创建可视连接。 E.g:

Text in col one..........Text in col two

我使用“spacer”列来保持不同单元格中文本之间的空格,并且间隔列具有虚线引导。

我的问题是,根据第一列中的实际文本,在第1列的引导符之后和第2列之前将有一个空格,例如,

Text in col one.....  .....Text in col two

有时候没有空间,但有时空间会有几个像素。

示例代码:

<fo:table table-layout="fixed" width="100%" margin-left="0"
    margin-right="0" padding-before="0" padding-after="0"
    border-width="0" font-family="Franklin" font-size="12pt">
    <fo:table-column column-width="50mm" /> 
    <fo:table-column column-width="10mm" />
    <fo:table-column column-width="50mm" /> 
    <fo:table-body>

        <fo:table-row>
            <fo:table-cell display-align="after">
                <fo:block text-align-last="justify">
                    <xsl:text>Text in col1</xsl:text>   
                    <fo:leader leader-pattern="dots" />             
                </fo:block>
            </fo:table-cell>                                
            <fo:table-cell display-align="after">
                <fo:block text-align-last="justify">                                       
                    <fo:leader leader-pattern="dots" />             
                </fo:block>
            </fo:table-cell>                                
            <fo:table-cell display-align="after">
                <fo:block>
                    <xsl:text>Text in col2</xsl:text>                                                       
                </fo:block>
            </fo:table-cell>
        </fo:table-row>                         
    </fo:table-body>
</fo:table>

有谁知道如何摆脱那个烦人的空间?

1 个答案:

答案 0 :(得分:1)

我让这个工作。基本上只是删除了中间列,并将最后一列设置为完全对齐,并在文本前面加上一个领导者。

<fo:table table-layout="fixed" width="100%" margin-left="0" margin-right="0" padding-before="0" padding-after="0" border-width="0" font-family="Franklin" font-size="12pt"> 
    <fo:table-column column-width="50mm" /> 
    <fo:table-column column-width="50mm" /> 
    <fo:table-body> 
        <fo:table-row> 
            <fo:table-cell display-align="after"> 
                <fo:block text-align-last="justify">
                    <xsl:text>Text in col1</xsl:text> 
                    <fo:leader leader-pattern="dots" />
               </fo:block> 
            </fo:table-cell> 
            <fo:table-cell display-align="after"> 
                <fo:block text-align-last="justify"> 
                       <fo:leader leader-pattern="dots" />
                       <xsl:text>Text in col2</xsl:text> 
                </fo:block> 
            </fo:table-cell> 
        </fo:table-row> 
    </fo:table-body> 
</fo:table>