以编程方式移动 PDF 页面 C#

从一个 PDF 文档移动页面到另一个 PDF 文档

本主题解释了如何使用 C# 将页面从一个 PDF 文档移动到另一个文档的末尾。

以下代码片段也适用于 Aspose.PDF.Drawing 库。

要移动页面,我们应该:

  1. 创建一个包含源 PDF 文件的 Document 类对象。
  2. 创建一个包含目标 PDF 文件的 Document 类对象。
  3. PageCollection 集合中获取页面。
  4. Add 页面到目标文档。
  5. 使用 Save 方法保存输出 PDF。
  6. Delete 源文档中的页面。
  7. 使用 Save 方法保存源 PDF。

以下代码片段演示了如何移动一个页面。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void MovingAPageFromOnePdfDocumentToAnother()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Pages();

    // Open PDF documents
    using (var srcDocument = new Aspose.Pdf.Document(dataDir + "MovingPageInput.pdf"))
    {
        using (var dstDocument = new Aspose.Pdf.Document())
        {
            var page = srcDocument.Pages[2];
            dstDocument.Pages.Add(page);
            // Save PDF document
            dstDocument.Save(dataDir + "MovingPage_out.pdf");
            srcDocument.Pages.Delete(2);
            // Save PDF document
            srcDocument.Save(dataDir + "MovingPageInput_out.pdf");
        }
    }
}

从一个 PDF 文档移动一组页面到另一个 PDF 文档

  1. 创建一个包含源 PDF 文件的 Document 类对象。
  2. 创建一个包含目标 PDF 文件的 Document 类对象。
  3. 定义一个包含要移动的页面编号的数组。
  4. 遍历数组:
    1. PageCollection 集合中获取页面。
    2. Add 页面到目标文档。
  5. 使用 Save 方法保存输出 PDF。
  6. 使用数组在源文档中 Delete 页面。
  7. 使用 Save 方法保存源 PDF。

以下代码片段演示了如何将一组页面从一个 PDF 文档移动到另一个 PDF 文档。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void MovingBunchOfPagesFromOnePdfDocumentToAnother()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Pages();

    // Open PDF documents
    using (var srcDocument = new Aspose.Pdf.Document(dataDir + "MovingBunchOfPagesInput.pdf"))
    {
        using (var dstDocument = new Aspose.Pdf.Document())
        {
            var pages = new[] { 1, 3 };
            foreach (int pageIndex in pages)
            {
                var page = srcDocument.Pages[pageIndex];
                dstDocument.Pages.Add(page);
            }
            // Save PDF document
            dstDocument.Save(dataDir + "MovingBunchOfPages_out.pdf");
            srcDocument.Pages.Delete(pages);
            // Save PDF document
            srcDocument.Save(dataDir + "MovingBunchOfPagesInput_out.pdf";
        }
    }
}

在当前 PDF 文档中将页面移动到新位置

  1. 创建一个包含源 PDF 文件的 Document 类对象。
  2. PageCollection 集合中获取页面。
  3. Add 页面到新位置(例如到末尾)。
  4. Delete 先前位置的页面。
  5. 使用 Save 方法保存输出 PDF。
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void MovingAPageInNewLocationInTheCurrentPdfDocument()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Pages();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "MovingAPageInNewLocationInTheCurrentPdfDocumentInput.pdf"))
    {
        var page = document.Pages[2];
        document.Pages.Add(page);
        document.Pages.Delete(2);
        // Save PDF document
        document.Save(dataDir + "MovingAPageInNewLocationInTheCurrentPdfDocument_out.pdf");
    }
}