You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SelectPdf C# 如何高效克隆PDF页面?

SelectPdf高效复制PDF页面并添加文本的实现方案
  • 核心思路:仅加载一次原PDF文档,通过AddPage方法将原页面复制到新文档,避免重复创建PdfDocument对象带来的性能损耗。

代码示例

// 一次性加载原PDF文档,避免重复磁盘IO与对象初始化开销
using (var originalDoc = new SelectPdf.PdfDocument(pdfFilePath))
{
    // 创建目标新文档
    using (var newDoc = new SelectPdf.PdfDocument())
    {
        // 复制原文档首页到新文档,返回的是新文档中的独立页面实例
        PdfPage copiedPage = newDoc.AddPage(originalDoc.Pages[0]);

        // 在复制后的页面添加自定义文本
        var textFont = new SelectPdf.PdfFont(SelectPdf.PdfFontFamily.Helvetica, 14);
        var textBrush = SelectPdf.PdfBrushes.DarkBlue;
        copiedPage.AddText("自定义添加的文本", textFont, textBrush, 60, 60);

        // 保存最终生成的PDF
        newDoc.Save("result.pdf");
    }
}

方案优势

  • 性能更优:仅加载一次原PDF,减少重复IO操作和内存占用,比多次创建PdfDocument提取页面的方式高效得多
  • 操作简洁:AddPage方法内部已完成页面的深度复制,返回的页面属于新文档,可直接进行编辑操作

多页面复制场景扩展

如果需要复制原文档中的多个页面,只需循环遍历原文档的Pages集合,逐个调用AddPage即可:

foreach (var page in originalDoc.Pages)
{
    PdfPage copiedPage = newDoc.AddPage(page);
    // 对每个复制后的页面进行编辑操作
}

内容的提问来源于stack exchange,提问作者Louis Tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 00:42:03