PDF-Text-Extraktion
Verwenden Sie dieses Skill, wenn ein Workflow maschinenlesbaren Text aus einem digitalen PDF benötigt – vor der Zusammenfassung, Klassifizierung oder strukturierten Extraktion. Der Helfer nutzt reine Python-PDF-Bibliotheken, sofern verfügbar, und enthält einen einfachen zeilenbasierten Tabellendetektor für die nachgelagerte Bereinigung.
Wann aufrufen
- Der Benutzer sagt: "Extrahiere Text aus dieser PDF", "Füge eine PDF in eine KI ein", "Ziehe Tabellen aus diesem Bericht", "Lies diese Abrechnung".
- Das PDF enthält bereits auswählbaren Text und benötigt keine OCR.
Wann NICHT aufrufen
- Das PDF ist ein eingescanntes Bild; verwenden Sie stattdessen einen OCR-Workflow.
- Der Benutzer benötigt eine pixelgenaue Tabellenrekonstruktion mit zusammengeführten Zellen und Layouttreue.
Konkretes Beispiel
Benutzereingabe:
Extrahiere den Text und grobe Tabellen aus dieser PDF, damit Gemini sie zusammenfassen kann.
Ausgabe:
# Kopieren Sie assets/extract.py in Ihr Projekt, dann:
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])
Installieren Sie entweder pypdf oder pdfminer.six im Zielprojekt. Es wird kein OCR-Binary benötigt, und der Helfer gibt einen klaren Fehler aus, wenn das PDF keinen extrahierbaren Text enthält.
Anzuwendendes Muster
- Bevorzugen Sie zuerst die digitale Textextraktion; fügen Sie OCR nur hinzu, wenn die Quelle eingescannt ist.
- Behalten Sie Seitenumbrüche bei, damit nachgelagerte Prompts auf Seitenzahlen verweisen können.
- Halten Sie die Tabellenextraktion einfach: Teilen Sie Zeilen durch Tabulatoren oder wiederholte Leerzeichen auf und lassen Sie einen späteren Schema-Durchlauf die Spalten normalisieren.
- Begrenzen Sie den an ein LLM gesendeten Text pro Seite/Bereich, wenn das PDF lang ist.
- Scheitern Sie lautstark, wenn kein Text gefunden wird, anstatt einen leeren Prompt nachgelagert zu senden.
Referenz: assets/extract.py.
Quelle
Destilliert aus dem produktiven Einsatz in den Automatisierungsprojekten des Autors. v1.0.0. Siehe auch: [[gemini-structured-output]], [[csv-report-writer]], [[s3-uploader]].
→ Erstellen Sie den vollständig ausführbaren Bot mit Trawlkit.