Python PDF Merge Files
Abaixo você encontra os procedimentos para configuração e o código-fonte em Python desenvolvido para juntar (mesclar) múltiplos arquivos PDF contidos em uma pasta em um único documento final.
Procedimento Operacional Padrão (POP)
1. Criar o ambiente virtual (venv) no Windows
Ainda não criou o seu ambiente localhost? Veja no link abaixo como fazer.
2. Instalar as bibliotecas Python
Com o ambiente virtual ativado, instale a biblioteca externa PyPDF2 necessária para a manipulação e junção dos arquivos PDF:
pip install PyPDF2
3. Como configurar o script
-
Estrutura de Pastas: Defina o diretório onde os arquivos originais estão salvos (
input_dir) e o caminho/nome do arquivo final gerado (output_file_path). -
Leitura e Listagem: O script lê a pasta de origem, filtra apenas os arquivos com extensão
.pdfe os ordena alfabeticamente para garantir a sequência correta das páginas. -
Mesclagem (Merge): Utiliza o objeto
PdfMerger()para percorrer a lista de arquivos e anexá-los sequencialmente com o métodomerger.append(). -
Geração do Arquivo Final: Salva o resultado final unificado no caminho especificado através do método
merger.write()e encerra o processo limpando a memória commerger.close().
Código-Fonte
# REQUEST LIB PYTHON
import os
from PyPDF2 import PdfMerger
def merge_pdfs(input_path, output_file):
merger = PdfMerger()
try:
# List and sort files to ensure alphabetical order
files = sorted([f for f in os.listdir(input_path) if f.endswith(".pdf")])
if not files:
print("No PDF files found in the directory.")
return
for file in files:
full_path = os.path.join(input_path, file)
print(f"Adding: {file}")
merger.append(full_path)
# Save the final result
merger.write(output_file)
merger.close()
print(f"\nSuccess! Merged file saved at: {output_file}")
except Exception as e:
print(f"An error occurred: {e}")
# Directory settings
input_dir = r"C:/test"
output_file_path = r"C:/test/merged.pdf"
if __name__ == "__main__":
merge_pdfs(input_dir, output_file_path)