Manipular Propriedades da Página

Obter Propriedades da Página PDF de um Arquivo PDF Existente

PdfPageEditor permite que você trabalhe com páginas individuais do arquivo PDF. Ele ajuda você a obter as propriedades da página individual, como diferentes tamanhos de caixa de página, rotação da página, zoom da página, etc. Para obter essas propriedades, você precisa criar um objeto PdfPageEditor e vincular o arquivo PDF de entrada usando o método BindPdf. Depois disso, você pode usar diferentes métodos para obter as propriedades da página, como GetPageRotation, GetPages, GetPageBoxSize, etc.

O seguinte trecho de código mostra como obter propriedades da página PDF de um arquivo 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")}");
    }
}

Definir Propriedades da Página PDF em um Arquivo PDF Existente

Para definir propriedades da página, como rotação da página, zoom ou ponto de origem, você precisa usar a classe PdfPageEditor. Esta classe fornece diferentes métodos e propriedades para definir essas propriedades da página. Primeiro de tudo, você precisa criar um objeto da classe PdfPageEditor e vincular o arquivo PDF de entrada usando o método BindPdf. Depois disso, você pode usar esses métodos e propriedades para definir as propriedades da página. Finalmente, salve o arquivo PDF atualizado usando o método Save.

O seguinte trecho de código mostra como definir propriedades da página PDF em um arquivo 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 Conteúdos de Páginas Específicas em um Arquivo PDF

O método ResizeContents da classe PdfPageEditor permite que você redimensione os conteúdos da página em um arquivo PDF. A classe ContentsResizeParameters é usada para especificar os parâmetros a serem usados para redimensionar a(s) página(s), por exemplo, margens em porcentagem ou unidades, etc. Você pode redimensionar todas as páginas ou especificar um array de páginas a serem redimensionadas usando o método ResizeContents.

O seguinte trecho de código mostra como redimensionar os conteúdos de algumas páginas específicas do arquivo 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");
     }
 }