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 方法,我們甚至不必自己關閉它。

想知道更多?獲得免費電子書!