Mover páginas PDF programáticamente C#

Mover una página de un documento PDF a otro

Este tema explica cómo mover una página de un documento PDF al final de otro documento usando C#.

El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.

Para mover una página debemos:

  1. Crear un objeto de clase Document con el archivo PDF de origen.
  2. Crear un objeto de clase Document con el archivo PDF de destino.
  3. Obtener la página de la colección PageCollection.
  4. Agregar la página al documento de destino.
  5. Guardar el PDF de salida usando el método Save.
  6. Eliminar la página en el documento de origen.
  7. Guardar el PDF de origen usando el método Save.

El siguiente fragmento de código muestra cómo mover una página.

// 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");
        }
    }
}

Mover un grupo de páginas de un documento PDF a otro

  1. Crear un objeto de clase Document con el archivo PDF de origen.
  2. Crear un objeto de clase Document con el archivo PDF de destino.
  3. Definir un arreglo con los números de página a mover.
  4. Ejecutar un bucle a través del arreglo:
    1. Obtener la página de la colección PageCollection.
    2. Agregar la página al documento de destino.
  5. Guardar el PDF de salida usando el método Save.
  6. Eliminar la página en el documento de origen usando el arreglo.
  7. Guardar el PDF de origen usando el método Save.

El siguiente fragmento de código muestra cómo mover un grupo de páginas de un documento PDF a otro.

// 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";
        }
    }
}

Mover una página a una nueva ubicación en el documento PDF actual

  1. Crear un objeto de clase Document con el archivo PDF de origen.
  2. Obtener la página de la colección PageCollection.
  3. Agregar la página a la nueva ubicación (por ejemplo, al final).
  4. Eliminar la página en la ubicación anterior.
  5. Guardar el PDF de salida usando el método 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");
    }
}