C# 複製PDF文檔

通過複製文件可對某些重要文檔進行保存備案,對後期的文檔管理、查詢等比較方便。對於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");
        }
    }
}

 複製結果:



 

(本文完)

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章