Manipular Propiedades de Página

Obtener Propiedades de Página PDF de un Archivo PDF Existente

PdfPageEditor te permite trabajar con páginas individuales del archivo PDF. Te ayuda a obtener las propiedades de la página individual como diferentes tamaños de caja de página, rotación de página, zoom de página, etc. Para obtener esas propiedades, necesitas crear un objeto PdfPageEditor y vincular el archivo PDF de entrada utilizando el método BindPdf. Después de eso, puedes usar diferentes métodos para obtener las propiedades de la página como GetPageRotation, GetPages, GetPageBoxSize, etc.

El siguiente fragmento de código te muestra cómo obtener las propiedades de página PDF de un archivo PDF existente.

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

    // Open PDF document
    using (var pageEditor = new Aspose.Pdf.Facades.PdfPageEditor())
    {
        // Bind PDF document
        pageEditor.BindPdf(dataDir + "input.pdf");

        // Get page properties and print them to the console
        Console.WriteLine($"Page 1 Rotation: {pageEditor.GetPageRotation(1)}");
        Console.WriteLine($"Total Pages: {pageEditor.GetPages()}");
        Console.WriteLine($"Trim Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "trim")}");
        Console.WriteLine($"Art Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "art")}");
        Console.WriteLine($"Bleed Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "bleed")}");
        Console.WriteLine($"Crop Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "crop")}");
        Console.WriteLine($"Media Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "media")}");
    }
}

Establecer Propiedades de Página PDF en un Archivo PDF Existente

Para establecer propiedades de página como rotación de página, zoom o punto de origen, necesitas usar la clase PdfPageEditor. Esta clase proporciona diferentes métodos y propiedades para establecer estas propiedades de página. Primero que todo, necesitas crear un objeto de la clase PdfPageEditor y vincular el archivo PDF de entrada utilizando el método BindPdf. Después de eso, puedes usar estos métodos y propiedades para establecer las propiedades de la página. Finalmente, guarda el archivo PDF actualizado utilizando el método Save.

El siguiente fragmento de código te muestra cómo establecer las propiedades de página PDF en un archivo PDF existente.

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

    // Open PDF document
    using (var pageEditor = new Aspose.Pdf.Facades.PdfPageEditor())
    {
        // Bind PDF document
        pageEditor.BindPdf(dataDir + "input.pdf");

        // Set page properties
        // Move origin from (0,0)
        pageEditor.MovePosition(100, 100);

        // Set page rotations
        var pageRotations = new System.Collections.Hashtable
        {
            { 1, 90 },
            { 2, 180 },
            { 3, 270 }
        };

        // Set zoom where 1.0f = 100% zoom
        pageEditor.Zoom = 2.0f;

        // Save PDF document
        pageEditor.Save(dataDir + "SetPageProperties_out.pdf");
    }
}

Redimensionar Contenidos de Página de Páginas Específicas en un Archivo PDF

El método ResizeContents de la clase PdfPageEditor te permite redimensionar los contenidos de la página en un archivo PDF. La clase ContentsResizeParameters se utiliza para especificar los parámetros que se utilizarán para redimensionar la(s) página(s), por ejemplo, márgenes en porcentaje o unidades, etc. Puedes redimensionar todas las páginas o especificar un arreglo de páginas a redimensionar utilizando el método ResizeContents.

El siguiente fragmento de código muestra cómo redimensionar los contenidos de algunas páginas específicas del archivo PDF.

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

     // Create PdfFileEditor Object
     var fileEditor = new Aspose.Pdf.Facades.PdfFileEditor();

     // Open PDF Document
     using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
     {
         // Specify Parameters to be used for resizing
         var parameters = new Aspose.Pdf.Facades.PdfFileEditor.ContentsResizeParameters(
             // Left margin = 10% of page width
             PdfFileEditor.ContentsResizeValue.Percents(10),
             // New contents width calculated automatically as width - left margin - right margin (100% - 10% - 10% = 80%)
             null,
             // Right margin is 10% of page
             PdfFileEditor.ContentsResizeValue.Percents(10),
             // Top margin = 10% of height
             PdfFileEditor.ContentsResizeValue.Percents(10),
             // New contents height is calculated automatically (similar to width)
             null,
             // Bottom margin is 10%
             PdfFileEditor.ContentsResizeValue.Percents(10)
         );

         // Resize Page Contents
         fileEditor.ResizeContents(document, new[] { 1, 2 }, parameters);

         // Save PDF document
         document.Save(dataDir + "ResizePageContents_out.pdf");
     }
 }