形成 iText 5 对比 iText 7

iText 5 是一个有机增长的库。许多开发者贡献了代码例如:一位开发人员使用 TextFieldPdfFormField 等类提供了从头开始创建表单字段的代码。另一个开发人员使用 AcroField 类和一系列 setFieldProperty() 方法贡献了更改现有表单字段的代码。

在 iText 5 中,用于创建表单字段的类不能用于更改表单字段,反之亦然。两组类之间没有任何关系。这让很多用户感到困惑。例如:一些用户发现了 TextField 类,并假设他们可以使用该类来更改现有文本字段的属性。事实并非如此,他们需要使用 AcroFields 类代替。

所有这些都在 iText 7 中得到修复。我们创建了一组新的类,例如 PdfFormField 及其子类 PdfTextField,可用于创建新字段,以及更新现有表单字段。

iText 7 表单字段方法可以链接以使你的代码更紧凑,并且它们比 iText 5 中的相应方法更直观。使表单功能更优雅是从头开始重写 iText 的关键原因之一。