我正在使用XSL(使用Apache处理)。
表的xsl代码如下所示:
<!-- ... Some xsl fo code with data occupying 1/2 page ... -->
<fo:table>
<fo:table-header>
Item Name
</fo:table-header>
<fo:table-footer>
Total:
<xsl:value-of select="total" />
</fo:table-footer>
<fo:table-body>
<fo:table-row>
<xsl:value-of select="itemName" />
</fo:table-row>
</fo:table-body>
</fo:table>我希望在每一页的底部都有一个表脚(我尝试使用fo:table-footer)。
我还想在第一个页面后面的页面上添加一个脚注:如果内容需要一个以上的页面,那么我需要在表页脚后面的脚注"Continuation of previous page"。
表页脚必须仅在最后一页上显示总价值(我的意思是,如果我有6页的表内容,那么除最后一页之外,每一页都必须有总值为空的页脚和带有值的最后页脚)。
XML来源:
<itemDetail>
<itemName>Car1</itemName>
<itemName>Car2</itemName>
<itemName>Car3</itemName>
<itemName>Car4</itemName>
<itemName>Car5</itemName>
<itemName>Car6</itemName>
<itemName>Car7</itemName>
<itemName>Car8</itemName>
<itemName>Car9</itemName>
<itemName>Car10</itemName>
<itemName>Car11</itemName>
<itemName>Car12</itemName>
<itemName>Car13</itemName>
<itemName>Car14</itemName>
<itemName>Car15</itemName>
<itemName>Car16</itemName>
<itemName>Car17</itemName>
<itemName>Car18</itemName>
<itemName>Car19</itemName>
<itemName>Car20</itemName>
</itemDetail>
<total>20</total>需要第1页的示例输出:

需要第2页的示例输出:

发布于 2015-05-22 22:14:38
在重读你的问题后,我会这么做的。您应该有页面模板的第一,休息和最后。
这有两个原因-- (1)您希望那些表脚位于底部,(2)许多产品(包括FOP)不支持检索表标记。将标记检索到表行对于格式化程序来说是非常困难的,特别是检索到的内容的大小会导致表重新格式化(就像行不再适合)。
第一个页面模板区域-后将有一个表行与“总计:”在其中空白。
rest页面模板区域后将有一个表行,其中"Total:“为空白,后面为"*延续上一页”。
最后一个页面模板在区域中没有任何内容--在“总计:”之后,只有"*上一页的继续“。
在创建表时,在表中添加包含适当总数的所有其他行之后,在表中添加" total :“行。您可以只在末尾添加(没有这些空白行),或者如果要放入空白行,则将区域--在一行之后的区域--缩小以容纳这一行。不过,我不建议这样做,除非您必须拥有空白行,并且所有表都必须具有相同的高度。你也可以离开在页脚和拉一个标记页脚,而不检索表标记。
唯一要注意的是,是否选择了行大小和页面尺寸,以便放置在区域中的"Total:“行与表的其余部分匹配得很好。
有关页面模板的设置和顺序,请参见How to position a block at the bottom in the region-body。在这种情况下,您可以使用唯一的页面模板在区域中放置任何内容,因为在这种情况下,您不希望使用“*延续”行。
https://stackoverflow.com/questions/30183818
复制相似问题