Extraction de texte PDF
Utilisez cette compétence lorsqu'un workflow a besoin de texte lisible par machine à partir d'un PDF numérique avant résumé, classification ou extraction structurée. L'assistant utilise des bibliothèques PDF Python pures lorsque disponibles et inclut un détecteur de tableaux simple basé sur les lignes pour un nettoyage en aval.
Quand l'utiliser
- L'utilisateur dit : « extrais le texte de ce PDF », « alimente une IA avec ce PDF », « extrais les tableaux de ce rapport », « lis ce relevé ».
- Le PDF contient déjà du texte sélectionnable et ne nécessite pas d'OCR.
Quand NE PAS l'utiliser
- Le PDF est une image scannée ; utilisez plutôt un workflow OCR.
- L'utilisateur a besoin d'une reconstruction de tableau parfaite avec cellules fusionnées et fidélité de mise en page.
Exemple concret
Entrée utilisateur :
Extrais le texte et les tableaux approximatifs de ce PDF pour que Gemini puisse le résumer.
Sortie :
# Copiez assets/extract.py dans votre projet, puis :
from extract import extract_pdf
doc = extract_pdf("downloads/report.pdf")
print(doc["text"][:2000])
for table in doc["tables"]:
print(table["page"], table["rows"][:3])
Installez pypdf ou pdfminer.six dans le projet cible. Aucun binaire OCR n'est requis, et l'assistant échoue clairement lorsque le PDF n'a pas de texte extractible.
Schéma à appliquer
- Privilégiez d'abord l'extraction de texte numérique ; n'ajoutez pas d'OCR sauf si la source est scannée.
- Conservez les limites de page afin que les invites en aval puissent citer les numéros de page.
- Simplifiez l'extraction de tableaux : divisez les lignes sur les tabulations ou les espaces répétés, puis laissez un passage de schéma ultérieur normaliser les colonnes.
- Limitez le texte envoyé à un LLM par page/plage lorsque le PDF est long.
- Échouez bruyamment lorsqu'aucun texte n'est trouvé au lieu d'envoyer une invite vide en aval.
Référence : assets/extract.py.
Source
Distillé à partir d'une utilisation en production dans les projets d'automatisation de l'auteur. v1.0.0. Voir aussi : [[gemini-structured-output]], [[csv-report-writer]], [[s3-uploader]].
→ Construisez le bot exécutable complet avec Trawlkit.