gpt4 book ai didi

XSL-FO 工作台固定高度

转载 作者:行者123 更新时间:2023-12-02 11:33:44 28 4
gpt4 key购买 nike

我正在尝试使用 XSL-FO 和 FOP 生成 pdf 文件。

我想显示一个固定高度的表格。该表格可以分为几页,我希望每页都具有相同的高度。

我什至无法在单个页面上定义表格的固定高度。

我尝试过设置 table 和 table 主体的高度、最小高度、最大高度,但似乎没有考虑到任何问题。我也尝试过使用不同的 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>

最佳答案

FOP您需要处理 <fo:table-cell单独的高度、字体大小等。您需要执行以下操作:

  1. 记下您为每个表格提供的空间页
  2. 计算可以容纳的表格行数空间
  3. 在循环中为每个页面创建一个新表,提供每页将包含的行
  4. 请记住,表格的标题只会被构造仅第一页,其他页的表格必须 headless 构建

关于XSL-FO 工作台固定高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11014047/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com