我目前使用FOP Code生成.pdf文件。我需要根据用户输入动态生成一个表。在CMS <table>
中,<tr>
和<td>
定义如下:
TD:
<fo:table-cell padding-top="0pt" padding-left="5.4pt" padding-bottom="0pt" padding-right="5.4pt" border-left-style="solid" border-right-style="solid" border-left-color="$CMS_VALUE(borderColor)$" border-right-color="$CMS_VALUE(borderColor)$" border-left-width="0.0pt" border-right-width="0.0pt" border-top-style="solid" border-bottom-style="solid" border-top-color="$CMS_VALUE(borderColor)$" border-bottom-color="$CMS_VALUE(borderColor)$" border-top-width="0.0pt" border-bottom-width="0.0pt">
<fo:block font-family="$CMS_VALUE(mainFontFamily)$" color="$CMS_VALUE(mainFontColor)$" font-size="$CMS_VALUE(fontSize)$pt" language="DE" text-align="left">
<fo:inline font-weight="normal" font-size="$CMS_VALUE(fontSize)$pt">
<fo:leader leader-length="0pt"/>
$CMS_VALUE(#content)$
</fo:inline>
</fo:block>
</fo:table-cell>
表:
<fo:table table-layout="fixed" font-family="$CMS_VALUE(mainFontFamily)$" color="$CMS_VALUE(mainFontColor)$" start-indent="0pt" border-style="solid" border-top-color="$CMS_VALUE(borderColor)$" border-top-width="0.0pt" border-left-color="$CMS_VALUE(borderColor)$" border-left-width="0.0pt" border-bottom-color="$CMS_VALUE(borderColor)$" border-bottom-width="0.0pt" border-right color="$CMS_VALUE(borderColor)$" border-right-width="0.0pt">
$CMS_FOR(col,[1..#table.cols])$
<fo:table-column column-number="$CMS_VALUE(col)$" column-width="$CMS_VALUE(100.0/#table.cols)$%"/>
$CMS_END_FOR$
<fo:table-body start-indent="0pt" end-indent="0pt">
$CMS_VALUE(#content)$
</fo:table-body>
</fo:table>
TR:
<fo:table-row>
$CMS_VALUE(#content)$
</fo:table-row>
然而,这会产生一个非常奇怪的格式化表(参见附图)。我在表格单元格周围添加了红色边框以使其更清晰。中间的大单元实际上是一个单元格,在第三行之后不应该在文本中有那么大的间隙(我只是输入一些虚拟文本......)。
为什么会发生这种情况,我该如何解决?
我玩<fo:leader/>
,<line-height>
以及其他一些东西,但这些似乎都不是那些&#34;分裂&#34;细胞
谢谢!