1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import PyPDF2 import os # Diretório onde estão os arquivos PDF diretorio = r'C:\Users\helioandrade\Desktop\boletins' # Função para remover páginas após manter um número específico de páginas def remover_pagina(pdf_path, output_path, paginas_a_manter=2): # Abre o arquivo PDF de entrada para leitura binária with open(pdf_path, 'rb') as pdf_file: # Cria um leitor de PDF a partir do arquivo pdf_reader = PyPDF2.PdfReader(pdf_file) # Obtém o número total de páginas no PDF num_pages = len(pdf_reader.pages) # Cria um escritor de PDF para criar o PDF de saída pdf_writer = PyPDF2.PdfWriter() # Inicializa o número da página page_number = 0 # Enquanto houver páginas no PDF while page_number < num_pages: # Repete um número específico de vezes para manter as páginas for _ in range(paginas_a_manter): # Verifica se o número da página é menor que o número total de páginas if page_number < num_pages: # Obtém a página atual page = pdf_reader.pages[page_number] # Adiciona a página ao escritor pdf_writer.add_page(page) # Avança para a próxima página page_number += 1 # Avança para a próxima página para ser removida page_number += 1 # Abre o arquivo de saída para escrita binária with open(output_path, 'wb') as output_pdf: # Escreve o PDF de saída com páginas removidas pdf_writer.write(output_pdf) # Listar arquivos PDF no diretório for root, dirs, files in os.walk(diretorio): for filename in files: # Verifica se o arquivo tem a extensão .pdf if filename.endswith('.pdf'): # Cria o caminho de entrada e saída input_path = os.path.join(root, filename) output_path = os.path.join(root, 'b_' + filename) # Chama a função para remover páginas e cria um novo PDF remover_pagina(input_path, output_path) # Imprime uma mensagem de sucesso print(f'Páginas removidas com sucesso em {input_path} e salvas em {output_path}') |
*Atualizado em 3 de novembro de 2023