gpt4 book ai didi

java - 为 iText 生成的 PDF 编写 JUnit

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:36 25 4
gpt4 key购买 nike

我很好奇是否有人有为 Java(尤其是 iText)生成的 PDF 编写 JUnit 的经验。我在谷歌上进行了快速搜索,但找不到任何具体内容。到目前为止,我能做的是检查 PDF 是否已生成、有一定数量的页面并且文档已关闭。但我无法核实文件的内容。有人可以举例说明他们过去为达到这样的结果所做的事情吗?还是我完全错了,我的 PDF 的 JUnit 太过分了?谢谢

最佳答案

鉴于您使用的是 Java,我会查看 PDFBox ( Apache )。您的要求非常具有挑战性,因为您重新转换的 PDF 在语法上可能与您的原始文件不同。您可能需要考虑往返。

PDF 等文档在比较方面可能很脆弱。如果您发现比较失败,它可能很少指出失败的位置。 PDF 文档可能非常复杂(高度分支的树)。您可能需要查找文档的规范化以比较它们(我对 XML 文档执行此操作)。

我的猜测是,完整的测试有点矫枉过正,您当前的测试已经以合理的成本尽可能地好。

更新:我已经检查了 PDFBox 的 PDDocument.equals(PDDocument) 并且没有深度等于方法。这表明他们还没有发现它值得(它需要对许多子节点进行递归)。还有很多实数,所以这些都必须与公差进行比较。

位图方法可能适用于人类,但对实数问题非常敏感 - 舍入误差会在不同的像素中写入一位。对于新的操作系统版本,它的行为几乎肯定会有所不同。

关于java - 为 iText 生成的 PDF 编写 JUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10421778/

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