以编程方式移动 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");
    }
}