通過複製文件可對某些重要文檔進行保存備案,對後期的文檔管理、查詢等比較方便。對於PDF文檔的複製,我們可以通過使用類庫來實現。下面的示例中演示瞭如何通過C#編程來複制PDF文檔的方法。
示例要點如下:
1.從A文件複製到B文件
2.在同一文件內複製
工具
PS:下載安裝後,注意在程序添加引用Spire.Pdf.dll(dll可在安裝路徑下的Bin文件夾下獲取)
代碼示例(供參考)
【示例1】從A文件複製到B文件(跨文件複製)
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace Copy_PDF { class Program { static void Main(string[] args) { //創建兩個文檔,分別加載兩個測試文檔 PdfDocument doc1 = new PdfDocument(); doc1.LoadFromFile("test1.pdf"); PdfDocument doc2 = new PdfDocument(); doc2.LoadFromFile("test2.pdf"); //獲取文檔1中的第一頁以及它的頁面大小,並基於第一頁創建一個PDF模板 PdfPageBase page = doc1.Pages[0]; SizeF size = page.Size; PdfTemplate template = page.CreateTemplate(); //複製第一個PDF文檔的第一頁到第二個PDF文檔中 /*這裏調用Insert(int index, SizeF size, PdfMargins margins)方法, 在文檔2中,插入一個和第一頁大小一致的新頁面到該文檔的指定位置(這裏是第3頁),然後將步驟3中創建的模板應用到該頁面*/ doc2.Pages.Insert(2, size, new PdfMargins(0, 0)); doc2.Pages[2].Canvas.DrawTemplate(template, new PointF(0, 0)); //將文檔2保存,並打開 doc2.SaveToFile("result.pdf"); System.Diagnostics.Process.Start("result.pdf"); } } }
兩個測試文檔:
複製結果:
【示例2】在同一文件中複製
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace Copy2_PDF { class Program { static void Main(string[] args) { //實例化PdfDocument類,並加載測試文檔 PdfDocument pdf = new PdfDocument("Sample.pdf"); //獲取文檔第1頁及頁面大小,並創建複製模板 PdfPageBase page = pdf.Pages[0]; SizeF size = page.Size; PdfTemplate template = page.CreateTemplate(); //基於第1頁的頁面大小,添加新1頁到文檔,並將模板繪製到新的頁面(循環複製) for (int i = 0; i < 3; i++) { page = pdf.Pages.Add(size, new PdfMargins(0)); page.Canvas.DrawTemplate(template, new PointF(0, 0)); } //保存並打開文檔 pdf.SaveToFile("Result.pdf"); System.Diagnostics.Process.Start("Result.pdf"); } } }
複製結果:
(本文完)