【发布时间】:2014-08-11 04:22:00
【问题描述】:
我们正在开发一个与我们的系统一起使用的 Pdf 解析器。 要求是,我们将所有信息存储在任何 pdf 文档上,并且应该能够复制该文档(与原始文档的更改最少)。
我们进行了一些谷歌搜索,发现 iTextSharp 是实现我们目标的最佳伙伴。 我们正在使用 .net 开发我们的项目。
您可能已经猜到了,正如我在标题中提到的,需要比较特定版本的 iTextSharp(4.1.6 与 5.x)。我们知道 4.1.6 是具有 LGPL/MPL 许可证的 iTextSharp 的最后一个版本。 5.x 版本是 AGPL。
我们希望在选择 LGPL 版本或购买 AGPL 许可证之前对版本进行很好的比较(我们不喜欢发布我们的代码)。
我浏览了 iTextSharp 中的修订更改,但我想知道是否存在任何内容,以便在版本之间进行很好的比较。
提前致谢!
【问题讨论】:
-
免责声明:我是 iText 开发人员。 iTextSharp 4.1.6 已经 5 岁了。除了您应该在生产环境或业务环境中切换到 5.x 版本的非常有力的法律原因之外,还有一系列技术原因让您更喜欢 5.x:5 年的错误修复、补丁、代码审查.现在支持新标准。某些领域的性能改进。但主要是新功能和错误修复。没有详细的区别列表,但使用 5 年前的软件绝不是一个好主意。但这当然取决于你。
-
为了进一步说明@MichaëlDemey 所说,任何支持 iText 的人都会问你的第一件事是“你正在运行什么版本”,如果你说“4.1.6”,每个人都会告诉你先升级。如果您说“我该怎么做”,您可能会得到 5.x 的答案,您需要自己向后移植到 4.x。您可能想通过changelogs 查看到目前为止已完成的所有工作。但是,从技术上讲,如果您真的了解 PDF 语法,只要您愿意投入一些工作,那么 4.1.6 确实没有什么是做不到的。
-
克里斯,我从更新日志中添加了一个更详尽的列表,并在答案中使用了它。有些事情您在 4.1.6 中无法做到:例如:如果您想要特定区域中的文本,则需要基于字符位置进行更细粒度的解析,而不是粗略的文本 sn- p 位置。
-
对不起@BrunoLowagie,我应该更明确一点。我的意思是,如果您可以读写原始 PDF 命令,那么在 4.1.6 中应该没有什么不能做的。再说一次,如果你可以读写原始 PDF 命令,你可能也不需要库!
标签: pdf licensing itextsharp itext pdf-parsing