就目前而言,我有大约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"/>
似乎没有什么可以做到的。
不幸的是,我没有找到一种简单的方法来获得动态列宽。我最终得到了这个:
<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" />
我指定第一列,因为数据永远不会改变。其余的我保持开放以适应他们的内容。按照我现在需要的方式工作。
您还可以“百分比单位”指定单位。对我来说很好......
<fo:table-column column-number="1" column-width="75%" />
<fo:table-column column-number="2" column-width="25%" />
- 对于冗长列使用属性'proportional-column-width',剩余列为默认值。
- 检查每列的宽度,如果它比其他列长,则提供更大的次数(例如2次或3次或4.5次甚至更多次)。
前1:
<fo:table-column column-number="1" column-width="proportional-column-width(3)"/>
<fo:table-column column-number="2"/>
<fo:table-column column-number="3"/>
前2:
<fo:table-column column-number="1" column-width="proportional-column-width(3)"/>
<fo:table-column column-number="2" column-width="proportional-column-width(4)"/>
<fo:table-column column-number="3"/>