我尝试使用带有FOP的XSL-FO生成pdf文件。
我想显示一个固定高度的桌子。该表可以在几页上进行,我希望每页都有相同的高度。
我甚至无法在一个页面上为表格定义固定的高度。
我已尝试在桌子和桌子上设置高度,最小高度,最大高度,但似乎没有考虑任何因素。我也试过使用不同的XSL-FO处理器而没有任何运气。
小样本:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="1cm" margin-bottom="1cm" margin-left="2cm" margin-right="2cm">
<fo:region-body margin-bottom="20mm"/>
<fo:region-after extent="10mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="simpleA4">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:table table-layout="fixed" width="100%" height="10cm" border-style="solid" border-width="0.02cm">
<fo:table-column column-width="20%"/>
<fo:table-column column-width="20%"/>
<fo:table-column column-width="60%"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block>Col1</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>Col2</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>Col3</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:1)
在FOP
中,您需要单独处理<fo:table-cell
,高度,字体大小等等。
您需要执行以下操作: