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