Rotacionar Páginas de PDF: Fazendo a Automação com Python

Ana Maria Gomes
6 minutos de leitura

Conteúdos do tutorial

Se você está começando a programar em Python e já se deparou com a necessidade de manipular arquivos PDF, saiba que existe uma maneira eficiente e escalável de rotacionar páginas de PDF sem a necessidade de fazer uploads em sites especializados. Com a biblioteca pypdf, você pode automatizar esse processo diretamente no seu computador, garantindo mais segurança e controle sobre seus documentos.

Neste tutorial, vamos explorar como redimensionar e rotacionar páginas de PDF com Python, utilizando exemplos práticos e linguagem acessível para iniciantes.

Por Que Usar Python para Rotacionar Páginas de PDF?

Antes de mergulharmos no código, vamos entender por que Python é uma excelente escolha para essa tarefa.

Python é uma linguagem de programação poderosa e versátil, conhecida por sua simplicidade e legibilidade. Ao usar Python para manipular arquivos PDF, você ganha a flexibilidade de aplicar suas manipulações em um grande número de arquivos de forma automatizada, sem as limitações e riscos de segurança associados a ferramentas online.

Imagem representando a ação de rotacionar páginas de PDF.

Como Rotacionar Páginas de PDF com a Biblioteca pypdf

A biblioteca pypdf é uma ferramenta incrível que permite a manipulação de arquivos PDF em Python. Com ela, você pode realizar diversas operações, como combinar arquivos, extrair texto e, claro, rotacionar páginas. Vamos ver como isso funciona na prática.

Instalando a Biblioteca pypdf

Para começar, você precisa instalar a biblioteca pypdf. Abra o terminal ou CMD e digite o seguinte comando:

pip install pypdf

Rotacionando uma Página em 90 Graus

Agora que temos a biblioteca instalada, vamos rotacionar uma página de um arquivo PDF em 90 graus. Veja o exemplo de código abaixo:

import pypdf

# Caminho para o seu arquivo PDF
caminho_pdf = 'seu_arquivo.pdf'
leitor_pdf = pypdf.PdfReader(caminho_pdf)
escritor_pdf = pypdf.PdfWriter()

# Rotacionando cada página e adicionando ao escritor de PDF
for page in leitor_pdf.pages:
    rotated_page = page.rotate(90)
    escritor_pdf.add_page(rotated_page)

# Salvando o novo PDF rotacionado
escritor_pdf.write('seu_arquivo_rotacionado.pdf')

Rotacionando o Conteúdo da Página

Além de rotacionar a página inteira, você também pode optar por rotacionar apenas o conteúdo da página, mantendo sua orientação original. Isso é útil quando você quer, por exemplo, corrigir a orientação de uma imagem ou tabela sem alterar a estrutura do documento.

O exemplo abaixo rotaciona o conteúdo de cada página em 45 graus, enquanto preserva a orientação original de cada página:

import pypdf

# Usando o objeto Transformation para rotacionar o conteúdo
transformation = pypdf.Transformation().rotate(45)

# Aplicando a transformação em cada página
for page in escritor_pdf.pages:
    page.add_transformation(transformation)

# Salvando o PDF com o conteúdo rotacionado
escritor_pdf.write('seu_arquivo_conteudo_rotacionado.pdf')

Redimensionando Páginas de PDF

Além de rotacionar, você pode querer redimensionar as páginas de um PDF. Isso pode ser útil para ajustar o tamanho do documento para um padrão específico ou para reduzir o tamanho do arquivo. Com pypdf, você pode redimensionar tanto o PDF inteiro quanto apenas o conteúdo das páginas.

Redimensionando o PDF Inteiro

Para redimensionar o PDF inteiro, você pode usar o método scale_by() ou scale_to(). O primeiro método redimensiona o PDF por uma porcentagem do tamanho original, enquanto o segundo redimensiona para dimensões específicas.

# Redimensionando o PDF inteiro para 50% do tamanho original
for page in escritor_pdf.pages:
    page.scale_by(0.5)

# Salvando o PDF redimensionado
escritor_pdf.write('seu_arquivo_redimensionado.pdf')

Redimensionando Apenas o Conteúdo

Se você deseja redimensionar apenas o conteúdo, mantendo o tamanho das páginas, use o objeto Transformation() com o método scale().

# Redimensionando apenas o conteúdo da página
transformation = pypdf.Transformation().scale(sx=1.5, sy=0.5)

for page in escritor_pdf.pages:
    page.add_transformation(transformation)

# Salvando o PDF com o conteúdo redimensionado
escritor_pdf.write('seu_arquivo_conteudo_redimensionado.pdf')

Conclusão

Com Python e a biblioteca pypdf, rotacionar e redimensionar páginas de PDF se torna uma tarefa simples e altamente escalável. Ao dominar essas técnicas, você pode automatizar o processamento de um grande volume de documentos, economizando tempo e aumentando sua produtividade.

Experimente esses códigos e veja como é fácil manipular seus arquivos PDF com Python!

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: