XSL-FO动态表列宽

时间:2013-02-14 14:37:06

标签: pdf-generation xsl-fo multiple-columns apache-fop

现在,我有大约12列,所有这些都是完全相同的宽度。问题是某些列不需要太多空间。如何让列符合其内容?列必须是动态宽度。

我试过

<fo:table table-layout="auto">

<fo:table-column column-width="proportional-column-width(1)" column-number="1"/>
<fo:table-column column-width="proportional-column-width(1)" column-number="2"/>
<fo:table-column column-width="proportional-column-width(1)" column-number="3"/>

似乎没什么可做的。

2 个答案:

答案 0 :(得分:14)

不幸的是,我没有找到一种简单的方法来获得动态列宽。我最终得到了这个:

<fo:table-column column-number="1"  column-width="35pt" />
<fo:table-column column-number="2"  />
<fo:table-column column-number="3"  />
<fo:table-column column-number="4"  />
<fo:table-column column-number="5"  />
<fo:table-column column-number="6"  />
<fo:table-column column-number="7"  />
<fo:table-column column-number="8"  />
<fo:table-column column-number="9"  />
<fo:table-column column-number="10" />
<fo:table-column column-number="11" />
<fo:table-column column-number="12" />

我指定第一列,因为数据永远不会改变。其余的我保持开放以适应他们的内容。按照我现在需要的方式工作。

答案 1 :(得分:-1)

  1. 使用属性&#39; proportional-column-width&#39;对于冗长的列和剩余的列,我们将默认使用。
  2. 检查每列的宽度,如果它比其他列长,请提供更大的次数(如2次或3次或4.5次甚至更多)。
  3. 前1:

    [masterServiceAmount]

    前2:

    textarea{
        border: 1px solid black;
        border-radius: 4px;
        height: 100px; 
        padding: 10px;
    }
    
相关问题