Manipuler les propriétés de la page

Obtenir les propriétés de la page PDF à partir d’un fichier PDF existant

PdfPageEditor vous permet de travailler avec des pages individuelles du fichier PDF. Il vous aide à obtenir les propriétés de la page individuelle comme les différentes tailles de boîte de page, la rotation de la page, le zoom de la page, etc. Pour obtenir ces propriétés, vous devez créer un objet PdfPageEditor et lier le fichier PDF d’entrée en utilisant la méthode BindPdf. Après cela, vous pouvez utiliser différentes méthodes pour obtenir les propriétés de la page comme GetPageRotation, GetPages, GetPageBoxSize, etc.

Le code suivant vous montre comment obtenir les propriétés de la page PDF à partir d’un fichier PDF existant.

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

Définir les propriétés de la page PDF dans un fichier PDF existant

Pour définir des propriétés de page comme la rotation de la page, le zoom ou le point d’origine, vous devez utiliser la classe PdfPageEditor. Cette classe fournit différentes méthodes et propriétés pour définir ces propriétés de page. Tout d’abord, vous devez créer un objet de la classe PdfPageEditor et lier le fichier PDF d’entrée en utilisant la méthode BindPdf. Après cela, vous pouvez utiliser ces méthodes et propriétés pour définir les propriétés de la page. Enfin, enregistrez le fichier PDF mis à jour en utilisant la méthode Save.

Le code suivant vous montre comment définir les propriétés de la page PDF dans un fichier PDF existant.

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

Redimensionner le contenu des pages spécifiques dans un fichier PDF

La méthode ResizeContents de la classe PdfPageEditor vous permet de redimensionner le contenu des pages dans un fichier PDF. La classe ContentsResizeParameters est utilisée pour spécifier les paramètres à utiliser pour redimensionner la ou les pages, par exemple, les marges en pourcentage ou en unités, etc. Vous pouvez redimensionner toutes les pages ou spécifier un tableau de pages à redimensionner en utilisant la méthode ResizeContents.

Le code suivant montre comment redimensionner le contenu de certaines pages spécifiques d’un fichier 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");
     }
 }