复制 PDF 页面有助于更好地组织信息。通过复制包含重要部分的页面,然后将其编译到一个新文档中,您可以将不同来源的相关内容汇集在一起,创建一个易于浏览的连贯文档。在本文中,您将学习如何使用 Spire.PDF for .NET 通过 C# 复制 PDF 中的页面。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDFC# 在同一 PDF 中复制页面
要复制 PDF 页面,可以先基于 PDF 中指定页面的内容创建模板,然后通过 PdfPageBase.Canvas.DrawTemplate() 方法将模板绘制到新添加的页面上。具体步骤如下:
- 创建 PdfDocument 对象。
- 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文件。
- 使用 PdfDocument.Pages[] 属性获取指定页面。
- 使用 PdfPageBase.Size 属性获取页面大小。
- 使用 PdfPageBase.CreateTemplate() 方法基于页面内容创建模板。
- 使用 PdfDocument.Pages.Add(SizeF size, PdfMargins margins) 方法在文档末尾添加一个相同大小的新页面。或者使用 PdfDocument.Pages.Insert(int index, SizeF size, PdfMargins margins) 方法在指定位置插入相同大小的新页面。
- 使用 PdfPageBase.Canvas.DrawTemplate(PdfTemplate template, PointF location) 方法在新添加的页面上绘制模板。
- 使用 PdfDocument.SaveToFile() 方法保存结果文件。
- C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace DuplicatePage
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建PdfDocument对象
            PdfDocument pdf = new PdfDocument();
            //加载PDF文件
            pdf.LoadFromFile("示例.pdf");
            //获取第一页
            PdfPageBase page = pdf.Pages[0];
            //获取页面大小
            SizeF size = page.Size;
            //基于该页面创建模板
            PdfTemplate template = page.CreateTemplate();
            //在文档指定位置插入新页面
            page = pdf.Pages.Insert(2, size, new PdfMargins(0));
            //在文档末尾添加新页面
            //page = pdf.Pages.Add(size, new PdfMargins(0));
            //将模板绘制到新页面上
            page.Canvas.DrawTemplate(template, new PointF(0, 0));
            //保存结果文件
            pdf.SaveToFile("同一PDF复制页面.pdf");
        }
    }
}
C# 在不同 PDF 之间复制页面
Spire.PDF for .NET 还可以加载两个 PDF 文件,基于其中一个 PDF 文件中的页面内容创建模板,然后将其绘制到另一个 PDF 文件的页面上。具体步骤如下:
- 创建 PdfDocument 对象。
- 使用 PdfDocument.LoadFromFile() 方法加载两个 PDF 文件。
- 使用 PdfDocument.Pages[] 属性获取第一个 PDF 中的指定页面。
- 使用 PdfPageBase.Size 属性获取页面大小。
- 使用 PdfPageBase.CreateTemplate() 方法基于页面内容创建模板。
- 使用 PdfDocument.Pages.Insert(int index, SizeF size, PdfMargins margins) 方法在第二个 PDF 的指定位置插入相同大小的新页面。或者使用 PdfDocument.Pages.Add(SizeF size, PdfMargins margins) 方法在第二个 PDF 的末尾添加相同大小的新页面。
- 使用 PdfPageBase.Canvas.DrawTemplate(PdfTemplate template, PointF location) 方法在新添加的页面上绘制模板。
- 使用 PdfDocument.SaveToFile() 方法保存结果文件。
- C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace DuplicatePage
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载第一个PDF文档
            PdfDocument pdf1 = new PdfDocument();
            pdf1.LoadFromFile("示例.pdf");
            //加载第二个PDF文档
            PdfDocument pdf2 = new PdfDocument();
            pdf2.LoadFromFile("考核.pdf");
            //获取第一个文档中的第一页
            PdfPageBase page = pdf1.Pages[0];
            //获取页面大小
            SizeF size = page.Size;
            //基于该页面创建模板
            PdfTemplate template = page.CreateTemplate();
            //在第二个文档的指定位置插入新页面
            PdfPageBase newPage = pdf2.Pages.Insert(0, size, new PdfMargins(0));
            //在第二个文档的末尾添加新页面
            //PdfPageBase newPage = pdf2.Pages.Add(size, new PdfMargins(0));
            //将模板绘制到新页面上
            newPage.Canvas.DrawTemplate(template, new PointF(0, 0));
            //保存结果文档
            pdf2.SaveToFile("在不同PDF之间复制页面.pdf");
        }
    }
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
 



 
					



