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
(用于低级操作)和 tihuan14(用于高级功能)。我们不再需要打开文档,如果我们使用 try-with-resources 方法,我们甚至不必自己关闭它。
想知道更多?获得免费电子书!