合併多個動態產生的PDF 檔案:iTextSharp 方法
上下文:
上下文:這個問題與合併有關即時動態產生的多個PDF 文件。目標是合併這些文件以進行列印。
解決方案:要使用iTextSharp 合併多個PDF 文件,有兩種主要方法:
// Assuming pdf is a List<byte[]> containing in-memory PDF documents using (MemoryStream ms = new MemoryStream()) { using (Document document = new Document()) { using (PdfCopy copy = new PdfCopy(document, ms)) { document.Open(); for (int i = 0; i < pdf.Count; ++i) { PdfReader reader = new PdfReader(pdf[i]); int n = reader.NumberOfPages; for (int page = 0; page < n; ) { copy.AddPage(copy.GetImportedPage(reader, ++page)); } } } } mergedPdf = ms.ToArray(); }
如果目標是以原始格式合併頁面,同時保留內容和互動式註釋,則應使用PdfCopy 類別。下面提供了使用PdfCopy 的範例:
2. PdfWriter 類別或者,如果目標是將來源文件中的頁面整合到新文件中,自訂通用格式並忽略互動式註釋,則應使用PdfWriter 類別。此類別從其他 PDF 文件匯入頁面,但放棄其互動功能。
以上是如何使用 iTextSharp 合併多個動態產生的 PDF?的詳細內容。更多資訊請關注PHP中文網其他相關文章!