Extrair páginas específicas de um PDF manualmente pode ser tedioso e propenso a erros. Com um script simples via linha de comando, você automatiza o processo em segundos, garantindo precisão e economizando tempo.
pip install PyPDF2.Crie um arquivo chamado extract_pages.py e adicione o código abaixo. Este script recebe o nome do arquivo PDF, uma lista de páginas a extrair e o nome do novo arquivo de saída.
import sys
from PyPDF2 import PdfReader, PdfWriter
def extract_pages(input_pdf, pages, output_pdf):
reader = PdfReader(input_pdf)
writer = PdfWriter()
for page_num in pages:
if page_num > 0 and page_num <= len(reader.pages):
writer.add_page(reader.pages[page_num - 1])
else:
print(f"Página {page_num} não existe no documento.")
with open(output_pdf, 'wb') as output_file:
writer.write(output_file)
if __name__ == "__main__":
if len(sys.argv) != 4:
print("Uso: python extract_pages.py ")
print("Exemplo: python extract_pages.py documento.pdf 1,3,5 resultado.pdf")
sys.exit(1)
input_pdf = sys.argv[1]
pages = list(map(int, sys.argv[2].split(',')))
output_pdf = sys.argv[3]
extract_pages(input_pdf, pages, output_pdf)
print(f"Páginas {sys.argv[2]} extraídas com sucesso para {output_pdf}.")
Abra o terminal, navegue até a pasta onde o script e o PDF estão localizados, e execute o comando abaixo. Substitua os valores conforme necessário.
python extract_pages.py documento.pdf 1,3,5 resultado.pdf
Este comando extrai as páginas 1, 3 e 5 do arquivo documento.pdf e salva em resultado.pdf.
| Arquivo de Entrada | Páginas a Extrair | Arquivo de Saída | Conteúdo do Arquivo de Saída |
|---|---|---|---|
| relatorio.pdf (10 páginas) | 2,4,7 | resumo.pdf | Páginas 2, 4 e 7 do arquivo original. |
| manual.pdf (50 páginas) | 1,10,20,30,40,50 | capitulos_importantes.pdf | Páginas 1, 10, 20, 30, 40 e 50 do arquivo original. |
Com este script Python, você automatiza a extração de páginas específicas de PDFs via linha de comando, eliminando a necessidade de ferramentas gráficas e reduzindo erros manuais. Basta ajustar os parâmetros e executar o comando para obter resultados imediatos.