Перемещение страниц PDF программным способом на C#

Перемещение страницы из одного PDF-документа в другой

Этот раздел объясняет, как переместить страницу из одного PDF-документа в конец другого документа с помощью C#.

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Чтобы переместить страницу, нам необходимо:

  1. Создать объект класса Document с исходным PDF-файлом.
  2. Создать объект класса Document с целевым PDF-файлом.
  3. Получить страницу из коллекции PageCollection.
  4. Добавить страницу в целевой документ.
  5. Сохранить выходной PDF-файл с помощью метода Save.
  6. Удалить страницу в исходном документе.
  7. Сохранить исходный PDF-файл с помощью метода Save.

Следующий фрагмент кода показывает, как переместить одну страницу.

// 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-документа в другой

  1. Создайте объект класса Document для исходного PDF-файла.
  2. Создайте объект класса Document для целевого PDF-файла.
  3. Определите массив с номерами страниц для перемещения.
  4. Пройдитесь по массиву:
    1. Получите страницу из коллекции PageCollection.
    2. Добавьте страницу в целевой документ.
  5. Сохраните выходной PDF-файл, используя метод Save.
  6. Используйте массив для удаления страницы в исходном документе.
  7. Сохраните исходный PDF-файл, используя метод Save.

Следующий фрагмент кода демонстрирует, как перенести несколько страниц из одного 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. Создайте объект класса Document для исходного PDF-файла.
  2. Получите страницу из коллекции PageCollection.
  3. Добавьте страницу в новое место (например, в конец).
  4. Удалите страницу из предыдущего места.
  5. Сохраните выходной PDF-файл, используя метод Save.
// 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");
    }
}