lowagie和iText有什么区别?

2022-08-31 14:49:55

lowagie和iText有什么区别?这只是版本差异还是对库的升级。建议使用哪一个?


答案 1

实际上,没有区别:在iText 2.1.0中。创建一个PDF,转到属性并查看“iText 2.1.0 by lowagie.com”)))在lib的演变中似乎发生了什么,即java包名称中的“lowagie”被替换为“itextpdf”。

这是我的第一个答案。布鲁诺不喜欢它))。好吧,当然,在java lib的生命周期中,很多事情都发生了变化。我想说的是,“lowagie”与iText是相同的lib(尽管在早期的版本中)。我认为布鲁诺对重新命名lib非常感兴趣,不希望它被称为lowagie。很好 - 但不需要切碎文字 - lowagie在以前的版本中是iText。

斧头,让我再试一次...有一些东西,有点像开源品牌/企业,他们有一个网站,它以创建者“lowagie.com”命名。它是一个java lib。当我们使用它时,我们看到包装结构反映了这个品牌选择“lowagie”,如:

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.Image;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.pdf.PdfStamper;

因此,我坚持我的答案,并断言有两个品牌用于iText:iText和 lowagie.com。但现在很明显,有一个摆脱“lowagie”的举动,只是坚持使用iText。


答案 2

我是洛瓦吉,你所指的洛瓦吉。我是iText的原始作者,也是“iText in Action”一书和关于iText历史的“Entreprenerd”一书的作者。

当人们在PDF上下文中谈论lowagie时,他们通常会谈论具有包名称(Java)或命名空间(C#)的库,例如(Java)。这些是旧版本的 iText(版本 0、1 或 2)。这些旧版本中的最后一个是2009年7月或更早版本的iText 2.1.7。com.lowagie.text

有一个iTextSharp 3和4(C#),但从来没有一个官方的iText 3或4版本(Java)。有些分支声称基于iText 4,因为数字4暂时用于开源存储库,为iText 5的发布做准备。在 iText 5 中,Java 和 C# 版本的版本号最终同步。

当人们谈论iText时,他们通常会谈论更新版本的iText可以在更改日志中找到:http://itextpdf.com/changelog

iText 5 版本有以下实质性的更改:

  • iText.jar是使用Java 5编译的(而不是JDK 1.4)。
  • F/OSS 许可证已从 MPL/LGPL 升级到 AGPL。
  • 软件包名称已从 更改为 。com.lowagiecom.itextpdf
  • 工具箱和RTF支持已被删除:它们现在位于SourceForge的一个单独的项目中。

从来没有官方的iText 6版本;iText 6 只存在于 iText Group 内部,为 iText 7 做准备。

iText 7版本是完全重写了该库。想要从iText 7之前的版本迁移的人将不得不重写他们的代码,因为iText 7与以前的版本不兼容。

从头开始创建新版本的原因有很多:

  • 重写字体层对于支持连字和书写系统(如梵文(印地语)、古尔穆奇语(旁遮普语))以及支持许多其他印度语(如卡纳达语、泰卢固语、马拉地语、乌尔都语)是必要的,...由于字体在这些版本中的实现方式,因此无法以旧版本的这些语言生成PDF。
  • 重写库提供了一个机会来修复API中的大量歧义和不一致之处。从 iText 7 开始,该库不再是一个整体式 jar,而是一组可以根据所需功能进行选择的 jar。
  • iText 5(及更早版本)的设计可以追溯到2000年2月。它早于2012年发布的PDF / UA标准,没有考虑可访问性。在iText 5中支持PDF / UA已经付出了巨大的努力,但我们必须承认,可访问性功能被固定在现有的库中,而该库不是为此目的而创建的。iText 7 的设计以生产可访问的 PDF 作为先决条件。作为副作用,iText 7中的HTML到PDF转换比iText 5要好得多。
  • iText 7也是唯一支持更新的PDF 2.0标准的版本。以前版本的 iText 只能生成 PDF 1.7 或更早版本中的文件。
  • 另一个已经发展的重要标准涉及数字签名。请注意,您当然不应该使用iText 2(或更早版本或克隆)来创建数字签名,因为“lowagie”可以追溯到2009年,并且从那时起的所有数字签名标准都无可救药地过时了。

有关iText历史的更完整概述,以及事情如何以及为什么发生变化,请查看Entreprenerd网站。

答案更新于2021年7月21日:自2020年3月以来,我不再隶属于任何iText公司。


推荐