Rotacionar Páginas de PDF Usando C#

Este tópico descreve como atualizar ou mudar a orientação das páginas em um arquivo PDF existente programaticamente com C#.

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

Mudar a Orientação da Página

A partir do lançamento Aspose.PDF for .NET 9.6.0, adicionamos ótimos novos recursos, como mudar a orientação da página de paisagem para retrato e vice-versa. Para mudar a orientação da página, defina o MediaBox da página usando o seguinte trecho de código. Você também pode mudar a orientação da página definindo o ângulo de rotação usando o método Rotate().

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ChangePageOrientation()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Pages();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "RotatePagesInput.pdf"))
    {
        foreach (Page page in document.Pages)
        {
            Aspose.Pdf.Rectangle r = page.MediaBox;
            double newHeight = r.Width;
            double newWidth = r.Height;
            double newLLX = r.LLX;
            //  We must to move page upper in order to compensate changing page size
            // (lower edge of the page is 0,0 and information is usually placed from the
            //  Top of the page. That's why we move lover edge upper on difference between
            //  Old and new height.
            double newLLY = r.LLY + (r.Height - newHeight);
            page.MediaBox = new Aspose.Pdf.Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight);
            // Sometimes we also need to set CropBox (if it was set in original file)
            page.CropBox = new Aspose.Pdf.Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight);
            // Setting Rotation angle of page
            page.Rotate = Rotation.on90;
        }
        // Save PDF document
        document.Save(dataDir + "ChangeOrientation_out.pdf");
    }
}