Pdf Creation iText 5 与 iText 7

在 iText 的原始设计中,可以创建一个高级 Document 对象,然后使用不同的 DocListener 对象来监听 Document 对象。这是通过使用不同的作家来实现的:一个 PdfWriter,一个 HTMLWriter 和一个 RtfWriter。使用 PdfWriter 时,内部创建了 PdfDocument。这个低级类负责所有与 PDF 相关的结构。其他格式或多或少都是如此。

多年来,iText 专业化,并成为一个纯粹的 PDF 库。HTML 和 RTF 的创建被放弃了,因此在创建 PdfWriter 之前不再需要创建 Document,但我们必须坚持原始架构,因为我们还没有准备好打破 API。

多年来,我们为 iText 添加了越来越多的 PDF 功能,而 PdfDocument 是一个内部使用的类只会成为问题。我们使用了变通方法,以便我们可以引入属于 PdfDocument 类的新 PDF 功能,直到我们达到我们认为可接受的变通方法的上限。

就在那时我们决定从头开始重写 iText 并为 iText 创建一个全新的架构。现在我们明确区分了 PdfDocument(用于低级操作)和 t​​ihuan14(用于高级功能)。我们不再需要打开文档,如果我们使用 try-with-resources 方法,我们甚至不必自己关闭它。

想知道更多?获得免费电子书!