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 方法,我們甚至不必自己關閉它。
想知道更多?獲得免費電子書!