C# 复制PDF文档

通过复制文件可对某些重要文档进行保存备案,对后期的文档管理、查询等比较方便。对于PDF文档的复制,我们可以通过使用类库来实现。下面的示例中演示了如何通过C#编程来复制PDF文档的方法。

示例要点如下:

1.从A文件复制到B文件

2.在同一文件内复制

 

工具

PS:下载安装后,注意在程序添加引用Spire.Pdf.dll(dll可在安装路径下的Bin文件夹下获取)


C# 复制PDF文档
 

代码示例(供参考)

 

【示例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");
        }
    }
}

 

 

 

两个测试文档:


C# 复制PDF文档
 

 

复制结果:
C# 复制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");
        }
    }
}

 复制结果:


C# 复制PDF文档
 

(本文完)