如何用FOP 2.9让PDF文档末尾表格边框延伸至页面底部?
实现FOP表格边框延伸至页面底部
可以实现,针对你的需求,调整XSL-FO代码如下:
<fo:root text-align="center" font-family="Arial" font-size="20pt"> <fo:layout-master-set> <fo:simple-page-master master-name="A4_1" margin="1cm" page-width="21cm" page-height="29.7cm"> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4_1"> <fo:flow flow-name="xsl-region-body"> <!-- 前置内容表格 --> <fo:table border="1px solid black"> <fo:table-column/> <fo:table-body> <fo:table-row> <fo:table-cell border="1px solid black"> <fo:block>123</fo:block> <fo:block>123</fo:block> <fo:block>123</fo:block> <fo:block>123</fo:block> <fo:block>123</fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> <!-- 占据剩余页面高度的目标表格 --> <fo:block space-before.optimum="100%"> <fo:table border="1px solid red" height="100%"> <fo:table-column/> <fo:table-column/> <fo:table-body> <fo:table-row height="100%"> <fo:table-cell border="1px solid red"> <fo:block>123</fo:block> <fo:block>123</fo:block> <fo:block>123</fo:block> <fo:block>123</fo:block> <fo:block>123</fo:block> <fo:block>123</fo:block> </fo:table-cell> <fo:table-cell border="1px solid red"> <fo:block/> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:block> </fo:flow> </fo:page-sequence> </fo:root>
关键调整说明:
- 用
fo:block space-before.optimum="100%"包裹目标表格:该属性会让块级元素占据当前页面中前置内容之后的全部剩余垂直空间,确保表格从当前位置延伸到页面底部。 - 目标表格设置
height="100%":让表格填满父级block的空间。 - 表格行设置
height="100%":保证单元格高度随表格拉伸,使边框覆盖到页面底部。
效果说明
调整后,红色表格的边框会从前置内容结束位置一直延伸到页面底部,完全满足需求。
内容的提问来源于stack exchange,提问作者Dmitry
相关产品推荐
相关产品推荐

