Rotacionar Páginas de PDF Usando Python

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

Alterar Orientação da Página

O Aspose.PDF para Python via .NET suporta ótimos recursos como alterar a orientação da página de paisagem para retrato e vice-versa. Para alterar a orientação da página, defina o MediaBox da página usando o seguinte trecho de código. Você também pode alterar a orientação da página definindo o ângulo de rotação usando o método ‘rotate’.


    import aspose.pdf as ap

    doc = ap.Document(input_pdf)
    for page in doc.pages:
        r = page.media_box
        newHeight = r.width
        newWidth = r.height
        newLLX = r.llx
        # Precisamos mover a página para cima para compensar a mudança no tamanho da página
        # (a borda inferior da página é 0,0 e as informações geralmente são colocadas a partir do
        # topo da página. É por isso que movemos a borda inferior para cima na diferença entre
        # a altura antiga e a nova.
        newLLY = r.lly + (r.height - newHeight)
        page.media_box = ap.Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight, True)
        # Às vezes, também precisamos definir o CropBox (se ele foi definido no arquivo original)
        page.crop_box = ap.Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight, True)

        # Definindo o ângulo de rotação da página
        page.rotate = ap.Rotation.ON90

    # Salvar arquivo de saída
    doc.save(output_pdf)

{ “@context”: “http://schema.org”, “@type”: “SoftwareApplication”, “name”: “Aspose.PDF para Python via .NET Library”, “image”: “https://www.aspose.cloud/templates/aspose/img/products/pdf/aspose_pdf-for-python-net.svg", “url”: “https://www.aspose.com/", “publisher”: { “@type”: “Organization”, “name”: “Aspose.PDF”, “url”: “https://products.aspose.com/pdf", “logo”: “https://www.aspose.cloud/templates/aspose/img/products/pdf/aspose_pdf-for-python-net.svg", “alternateName”: “Aspose”, “sameAs”: [ “https://facebook.com/aspose.pdf/”, “https://twitter.com/asposepdf”, “https://www.youtube.com/channel/UCmV9sEg_QWYPi6BJJs7ELOg/featured”, “https://www.linkedin.com/company/aspose”, “https://stackoverflow.com/questions/tagged/aspose”, “https://aspose.quora.com/”, “https://aspose.github.io/” ], “contactPoint”: [ { “@type”: “ContactPoint”, “telephone”: “+1 903 306 1676”, “contactType”: “vendas”, “areaServed”: “US”, “availableLanguage”: “en” }, { “@type”: “ContactPoint”, “telephone”: “+44 141 628 8900”, “contactType”: “vendas”, “areaServed”: “GB”, “availableLanguage”: “en” }, { “@type”: “ContactPoint”, “telephone”: “+61 2 8006 6987”, “contactType”: “vendas”, “areaServed”: “AU”, “availableLanguage”: “en” } ] }, “offers”: { “@type”: “Offer”, “price”: “1199”, “priceCurrency”: “USD” }, “applicationCategory”: “Biblioteca de Manipulação de PDF para Python”, “downloadUrl”: “https://www.nuget.org/packages/Aspose.PDF/", “operatingSystem”: “Windows, MacOS, Linux”, “screenshot”: “https://docs.aspose.com/pdf/python-net/create-pdf-document/example.png", “softwareVersion”: “2022.1”, “aggregateRating”: { “@type”: “AggregateRating”, “ratingValue”: “5”, “ratingCount”: “16” } }