Tabellen vs. Klartext: Warum es wichtig ist
Überprüfen Sie vor der Auswahl einer Methode, welche Art von Daten Ihr PDF enthält. Der Ansatz hängt vollständig von der PDF-Struktur ab:
| PDF-Typ | Was es enthält | Beste Methode |
|---|---|---|
| Native Tabellen | Textbasiertes PDF mit sichtbaren Tabellenrahmen und Gitterlinien | Jede Methode — CleverUtils ist am schnellsten |
| Randlose Tabellen | Spalten durch Abstände ausgerichtet, kein sichtbares Gitter | Python (pdfplumber) für Präzision |
| Gescanntes PDF | Bild einer gedruckten Seite (kein markierbarer Text) | Zuerst OCR (nur Text, keine Tabellenstruktur) |
| Gemischter Inhalt | Tabellen + Absätze + Überschriften auf derselben Seite | Python für gezielte Extraktion |
Schnelltest: Öffnen Sie Ihr PDF und versuchen Sie, Text mit der Maus zu markieren. Wenn Sie einzelne Wörter hervorheben können, ist es ein natives (textbasiertes) PDF. Wird die ganze Seite als ein Block markiert, ist es ein gescanntes Bild — dann benötigen Sie OCR. Wenn Sie statt einer Tabelle reinen Text brauchen, lesen Sie, wie Sie Text aus einem PDF extrahieren.
Methode 1: Online mit CleverUtils konvertieren
Die schnellste Option für die meisten Nutzer. CleverUtils extrahiert Tabellen mit Linien Zelle für Zelle. Seiten ohne solche Tabellen werden Zeile für Zeile in eine einzige Spalte exportiert, und gescannte PDFs durchlaufen automatisch eine OCR. Keine Installation, kein Konto erforderlich.
- Gehen Sie zu cleverutils.com/pdf-to-csv
- Laden Sie Ihr PDF hoch — per Drag-and-Drop oder mit Klick auf „PDF-Datei auswählen“. Max. 100 MB.
- Gescannte PDFs erfordern keinen zusätzlichen Schritt: Wird kein Text gefunden, werden die ersten 10 Seiten mit englischer OCR gelesen, eine Zeile pro Datenzeile.
- Klicken Sie auf „In CSV konvertieren“ — die Konvertierung dauert bei den meisten Dateien wenige Sekunden.
- Laden Sie die CSV-Datei herunter — öffnen Sie sie in Excel oder Google Sheets oder importieren Sie sie in Ihre Datenbank.
CleverUtils verarbeitet alle Seiten Ihres PDFs und fasst die extrahierten Zeilen in einer einzigen UTF-8-CSV-Datei zusammen. Dateien werden bei der Übertragung verschlüsselt und innerhalb von 2 Stunden automatisch gelöscht.
Methode 2: Python mit pdfplumber
pdfplumber ist die beste Python-Bibliothek zum Extrahieren von Tabellen aus PDFs. Sie versteht Tabellen mit und ohne Rahmen, gibt Ihnen die Koordinaten für jedes Zeichen und lässt Sie die Extraktionsparameter feinabstimmen.
pdfplumber installieren
pip install pdfplumber
Grundlegende Tabellenextraktion
Dieses Skript extrahiert alle Tabellen von jeder Seite eines PDF und schreibt sie in eine CSV-Datei:
import pdfplumber
import csv
with pdfplumber.open("invoice.pdf") as pdf:
all_rows = []
for page in pdf.pages:
table = page.extract_table()
if table:
all_rows.extend(table)
with open("output.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerows(all_rows)
print(f"Extracted {len(all_rows)} rows to output.csv")
Umgang mit randlosen Tabellen
Wenn Tabellen keine sichtbaren Grenzen haben, kann pdfplumber Spalten weiterhin anhand von Zeichenpositionen erkennen. Verwenden Sie extract_table() mit benutzerdefinierten Einstellungen:
# Für PDFs ohne sichtbare Tabellengrenzen
table_settings = {
"vertical_strategy": "text",
"horizontal_strategy": "text",
"snap_y_tolerance": 5,
"intersection_x_tolerance": 15,
}
with pdfplumber.open("report.pdf") as pdf:
page = pdf.pages[0]
table = page.extract_table(table_settings)
for row in table:
print(row)
Mehrere PDFs in Batch konvertieren
import pdfplumber
import csv
from pathlib import Path
for pdf_file in Path("./invoices").glob("*.pdf"):
csv_path = pdf_file.with_suffix(".csv")
with pdfplumber.open(pdf_file) as pdf:
rows = []
for page in pdf.pages:
table = page.extract_table()
if table:
rows.extend(table)
with open(csv_path, "w", newline="") as f:
csv.writer(f).writerows(rows)
print(f"{pdf_file.name} -> {csv_path.name} ({len(rows)} rows)")
Methode 3: Microsoft Excel (Daten abrufen)
Microsoft 365 (Excel für 365) kann PDF-Dateien direkt über die Power Query / Daten abrufen-Funktion importieren. Diese Option ist nicht im eigenständigen Excel 2016 oder 2019 verfügbar — es ist ein aktives Microsoft 365-Abonnement erforderlich. Es funktioniert gut für einfache, gut strukturierte Tabellen.
- Öffnen Sie Excel und erstellen Sie eine neue leere Arbeitsmappe.
- Gehen Sie zu Daten → Daten abrufen → Aus Datei → Aus PDF.
- Wählen Sie Ihr PDF aus dem Dateibrowser aus.
- Wählen Sie die Tabelle(n) aus, die Sie aus dem Navigator-Bereich importieren möchten. Excel zeigt eine Vorschau jeder erkannten Tabelle.
- Klicken Sie auf „Laden", um die Daten in Ihr Arbeitsblatt zu importieren.
- Als CSV speichern: Datei → Speichern unter → Wählen Sie „CSV (Komma getrennt) (*.csv)" als Format.
Einschränkung: Der PDF-Import in Excel funktioniert am besten mit einfachen, gerahmten Tabellen. Es hat Schwierigkeiten mit mehrspaltigem Layout, zusammengeführten Zellen und randlosen Tabellen. Verwenden Sie für komplexe PDFs stattdessen CleverUtils oder Python.
Methode 4: Google Sheets
Google Sheets importiert PDFs nicht direkt, aber Sie können die integrierte OCR von Google Drive verwenden, um zunächst den Text zu extrahieren und ihn dann in Sheets zu kopieren.
- Laden Sie das PDF zu Google Drive hoch.
- Klicken Sie mit der rechten Maustaste auf das PDF → Öffnen mit → Google Docs. Google wird die Datei mit OCR verarbeiten und in ein bearbeitbares Dokument konvertieren.
- Wählen Sie die Tabellendaten im Google Doc aus und kopieren Sie sie (Strg+C / Cmd+C).
- Öffnen Sie ein neues Google Sheet und fügen Sie ein (Strg+V / Cmd+V). Die Daten füllen die Zellen aus.
- Bereinigen Sie die Daten — passen Sie die Spaltenbreiten an, entfernen Sie zusätzliche Zeilen, beheben Sie OCR-Fehler.
- Als CSV herunterladen: Datei → Herunterladen → Kommagetrennte Werte (.csv).
Tipp: Die OCR von Google funktioniert überraschend gut bei gescannten PDFs. Die Tabellenstruktur überlebt jedoch möglicherweise den Kopier-Einfügen-Schritt nicht intakt. Für bessere Ergebnisse mit tabellarischen Daten verwenden Sie den direkten PDF-zu-CSV-Konverter von CleverUtils.
Vergleich der Methoden
| Funktion | CleverUtils | Python | Excel | Google Sheets |
|---|---|---|---|---|
| Schwierigkeit | Einfach | Fortgeschritten | Mittel | Einfach |
| Installation | Keine (Browser) | Python + pip | Microsoft 365 | Keine (Browser) |
| Tabellen mit Rahmen | Ausgezeichnet | Ausgezeichnet | Gut | Befriedigend |
| Randlose Tabellen | Schwach (eine Spalte pro Zeile) | Ausgezeichnet | Schwach | Schwach |
| Gescannte PDFs (OCR) | Automatisch (Englisch, 10 Seiten, nur Text) | Mit pytesseract | Nicht unterstützt | Über Google Drive |
| Stapelverarbeitung | Eine Datei nach der anderen | Unbegrenzt | Eine Datei nach der anderen | Eine Datei nach der anderen |
| Am besten geeignet für | Schnelle einmalige Konvertierungen | Automatisierung & komplexe PDFs | Excel-Nutzer mit einfachen Tabellen | Schnelle Extraktion mit OCR |
Tipps für saubere CSV-Ausgabe
- Überprüfen Sie die Kopfzeile. Einige PDFs haben mehrzeilige Überschriften, die sich in separate CSV-Zeilen aufteilen. Überprüfen Sie nach der Konvertierung, dass Ihre Spaltenüberschriften auf einer einzelnen Zeile vorhanden sind.
- Achten Sie auf zusammengeführte Zellen. PDF-Tabellen führen oft Zellen für Gruppentitel zusammen. Diese werden in CSV normalerweise zu leeren Zellen. Füllen Sie sie manuell oder mit einem Skript nach der Extraktion aus.
- Behandeln Sie Sonderzeichen. Kommas, Anführungszeichen und Zeilenumbrüche in Zellwerten können das CSV-Parsing unterbrechen. Gute Konverter (CleverUtils, pdfplumber) handhaben das Escaping automatisch. Wenn Ihrer nicht, wickeln Sie Werte in doppelte Anführungszeichen ein.
- Codierung ist wichtig. Verwenden Sie beim Speichern von CSV die UTF-8-Codierung, um akzentuierte Zeichen, Währungssymbole und nicht-lateinischen Text zu erhalten. In Python:
open("out.csv", "w", encoding="utf-8-sig")(das-sigfügt eine BOM hinzu, die Excel hilft, UTF-8 zu erkennen). - Mehrseitige Tabellen. Wenn sich eine Tabelle über mehrere PDF-Seiten erstreckt, extrahieren einige Tools jede Seite als separate Tabelle. Überspringen Sie in Python die Kopfzeile auf nachfolgenden Seiten, um Duplikate zu vermeiden.
Häufige Probleme und Lösungen
| Problem | Ursache | Lösung |
|---|---|---|
| Leere CSV-Ausgabe | Gescanntes PDF (bildbasiert) | CleverUtils führt automatisch eine OCR durch; in Python verwenden Sie pytesseract |
| Alle Daten in einer Spalte | Excel hat die CSV mit falschem Trennzeichen geöffnet | Verwenden Sie Daten → Text in Spalten → Getrennt → Komma |
| Verschobene Spalten | Randlose Tabelle mit ungleichmäßigen Abständen | Verwenden Sie pdfplumber mit vertical_strategy: "text" |
| Fehlerhafte Zeichen | Falsche Kodierung (meist Latin-1 statt UTF-8) | In einem Texteditor öffnen und als UTF-8 speichern |
| Doppelte Kopfzeilen | Mehrseitige Tabelle mit wiederholten Kopfzeilen | Überspringen Sie in Python auf allen Seiten nach der ersten die Zeile 0 |
Adobe Acrobat und Kontoauszüge
Adobe Acrobat
Acrobat Pro exportiert PDF-Tabellen nach Excel statt direkt in CSV: Wählen Sie PDF exportieren → Tabellenkalkulation → Microsoft Excel-Arbeitsmappe, öffnen Sie die Datei dann in Excel und speichern Sie sie als CSV UTF-8.
Kontoauszüge und Kreditkartenabrechnungen
- Prüfen Sie zuerst Ihr Onlinebanking: Viele Banken bieten Umsätze direkt als CSV zum Download an, was Konvertierungsfehler vermeidet.
- Haben Sie nur das PDF, testen Sie, ob der Text markierbar ist. Textbasierte Auszüge lassen sich gut umwandeln; gescannte benötigen OCR und eine sorgfältige Prüfung.
- Vergleichen Sie nach der Konvertierung die Summen in der CSV mit dem Auszug und korrigieren Sie Datumsangaben und Minuszeichen, bevor Sie die Daten in eine Buchhaltungssoftware importieren.