Spire.PDF for .NET 4.0
Visual Studio
可通过E-iceblue或Nuget官网下载安装 Spire.PDF for .NET,注意在项目程序中添加引用Spire.Pdf.dll(dll文件可在安装路径下的Bin文件夹中获取)。
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'); } }}
文件复制效果前后效果对比:两个测试文档 VS 文件复制效果图
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页到文档,并将模板绘制到新的页面(将首页循环复制3遍插入到文件末) 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'); } }}
复制结果: