====== Extraire les pages d'un PDF ====== Extraire les pages d'un PDF et nommer les fichiers résultant avec une donnée contenu dans chaque page. * [[https://github.com/eriston/PDFPlumber-data-extraction|Using PDFPlumber for PDF data extraction]] * https://github.com/jsvine/pdfplumber import os import pdfplumber from pypdf import PdfReader, PdfWriter import re # Le fichier source PDF pdf_path = "./le gros fichier.pdf" # Dossier de sortie output_folder = "pages" os.makedirs(output_folder, exist_ok=True) # Lecture avec pdfplumber pour extraire le texte with pdfplumber.open(pdf_path) as pdf: for i, page in enumerate(pdf.pages): text = page.extract_text() match = re.search(r"Facture\s*:\s*(\w+)", text) if match: nom_fichier = match.group(1) else: nom_fichier = f"page_{i+1}" # nom générique si rien trouvé # Extraire la page avec PyPDF reader = PdfReader(pdf_path) writer = PdfWriter() writer.add_page(reader.pages[i]) # et l’enregistrer output_path = os.path.join(output_folder, f"{nom_fichier}.pdf") with open(output_path, "wb") as f_out: writer.write(f_out) print(f"Page {i+1} enregistrée sous : {output_path}")