gpt4 book ai didi

pdf - 在列号 fop 中遇到无效的属性值

转载 作者:行者123 更新时间:2023-12-04 20:20:23 25 4
gpt4 key购买 nike

我正在使用 Apache FOP 将我的文件打印成 PDF。从 FO 转换为 PDF 时出现以下错误:

Invalid property value encountered in column-number="5": org.apache.fop.fo.expr.PropertyException: fo:table-cell overlaps in column 5. (See position 17071:79)

我得到了很多行和列。

在 pdf 中,表格正常显示。谁能告诉我这个错误的根本原因是什么?这个错误一般在什么时候抛出?

最佳答案

fo:table-cell 中的 column-number 属性的值因为与 number- columns-spannednumber-rows-spanned 以前的单元格。

由于单元格跨列而导致的错误

让我们看一下这个简单的示例,该示例显示了一个包含 3 列和一行的表格,它会生成相同类型的错误:

<fo:table>
<fo:table-column column-number="1"/>
<fo:table-column column-number="2"/>
<fo:table-column column-number="3"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell column-number="1">
<fo:block>a</fo:block>
</fo:table-cell>
<fo:table-cell column-number="2" number-columns-spanned="2">
<fo:block>b</fo:block>
</fo:table-cell>
<fo:table-cell column-number="3">
<fo:block>c</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
  • 第一个细胞是正常细胞
  • 第二个单元格跨越两列,因此它同时占据了#2 和#3 列
  • 但是还有另一个单元格,声称在第 3 列中 -> 第二个和第三个单元格在第 3 列中重叠

由于单元格跨行而导致的错误

类似的情况可能发生在存在跨越多行的单元格时,与以下行中的单元格发生冲突:

<fo:table>
<fo:table-column column-number="1"/>
<fo:table-column column-number="2"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell column-number="1" number-rows-spanned="2">
<fo:block>A</fo:block>
</fo:table-cell>
<fo:table-cell column-number="2">
<fo:block>B</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell column-number="1">
<fo:block>C</fo:block>
</fo:table-cell>
<fo:table-cell column-number="2">
<fo:block>D</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

这里的冲突单元格是第 1 行中的第一个单元格和第 2 行中的第一个单元格。

结论

我建议检查您的 FO 文件或创建它的代码(也许是 XSLT?),以查找具有 number-columns-spannednumber-rows-spanned 的单元格,然后(如果存在冲突)删除这些属性或冲突的单元格。

In the pdf the tables are coming properly.

非常奇怪,因为此异常的严重性(至少在 FOP 1.1 中)是致命的,即程序异常终止。

我认为,如果确实创建了 pdf 文件,错误的表格可能已被错误完全“吞没”,因此您的输出可能会丢失某些部分

关于pdf - 在列号 fop 中遇到无效的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28110197/

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