lowagie 和 iText 有什么区别?这只是版本差异还是对库的升级。推荐使用哪一种?
lowagie 和 iText 有什么区别?这只是版本差异还是对库的升级。推荐使用哪一种?
我是洛瓦吉,你所指的洛瓦吉。我是 iText 的原作者,也是有关 iText 历史的“iText in Action”书籍和“Entreprenerd”一书的作者。
当人们在 PDF 的上下文中谈论 lowagie 时,他们通常谈论带有包名 (Java) 或命名空间 (C#) 的库,例如com.lowagie.text
(Java)。这些是旧版本的 iText(版本 0、1 或 2)。这些旧版本中的最后一个是 2009 年 7 月或更早的 iText 2.1.7。
有 iTextSharp 3 和 4 (C#),但从来没有正式的 iText 3 或 4 版本 (Java)。有fork声称是基于iText 4的,因为数字4暂时用在开源库中,为iText 5的发布做准备。 有了iText 5,Java和C#版本的发布数字终于同步。
当人们谈论 iText 时,他们通常谈论更新版本的 iText 可以在更改日志中找到:http : //itextpdf.com/changelog
iText 5 版本有以下实质性变化:
com.lowagie
为com.itextpdf
。从来没有官方的 iText 6 版本;iText 6 只存在于 iText Group 内部,为 iText 7 做准备。
iText 7 版本是对该库的完全重写。想要从 iText 7 之前的版本迁移的人将不得不重写他们的代码,因为 iText 7 与之前的版本不兼容。
从头开始创建新版本的原因有很多:
要更全面地了解 iText 的历史,以及事情发生变化的方式和原因,请查看Entreprenerd网站。
2021 年 7 月 21 日更新的答案:自 2020 年 3 月以来,我不再隶属于任何 iText 公司。
截至目前,还有OpenPDF使用 com.lowagie 中的类,因此您可能还需要考虑项目的某些依赖项可能依赖于 OpenPDF。
实际上,没有区别:在 iText 2.1.0 中。创建一个 PDF,转到属性并查看“iText 2.1.0 by lowagie.com”)) 在 lib 的演变过程中似乎发生的是 java 包名称中的“lowagie”被替换为“itextpdf”。
那是我的第一个回答。布鲁诺不喜欢它))。好的——当然,Java 库的生命周期发生了很多变化。我的意思是“lowagie”与 iText 是相同的库(尽管在早期版本中)。我认为 Bruno 对重新命名 lib 非常感兴趣,并且不希望它被称为 Lowagie。很好——但无需多言——lowagie 是以前版本中的 iText。
Axe,让我再试一次……有一些东西,比如一个开源品牌/企业,他们有一个网站,它以创建者“lowagie.com”的名字命名。它是一个java库。当我们使用它时,我们看到包装结构反映了这个品牌选择“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。