复制 PDF 页面有助于更好地组织信息。通过复制包含重要部分的页面,然后将其编译到一个新文档中,您可以将不同来源的相关内容汇集在一起,创建一个易于浏览的连贯文档。在本文中,您将学习如何使用 Spire.PDF for .NET 通过 C# 复制 PDF 中的页面。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF
C# 在同一 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 天的临时许可证。