Wer schon mit analogen Textbüchern zum Sprachenlernen gearbeitet hat oder E-books solcher Ausgaben verwendet, kennt das Problem: Der Verlag liefert die Vokabellisten im Buch und digital nur den Audio-Vokabeltrainer auf audible oder Spotify, aber keine digitalen Vokabelkärtchen zum Lernen des Wortschatzes auf dem Smartphone.
In diesem Blogbeitrag zeige ich, wie man eine Vokabelliste aus einem PDF-Dokument extrahieren und diese mithilfe von Python in Anki-Flashcards umwandeln kann, und das alles direkt im Browser auf repl.it. Ich lerne gerade Spanisch und mein Lehrmittel listet mir in einer Vokabelliste das zu lernende Vokabular auf. Ich will die Buchseite scannen, von einer KI den Code erstellen lassen, der mir in einer Python-Umgebung (Programmiersprache) erlaubt, automatisiert Lernkärtchen für die Software Anki zu erstellen, mit der ich die Vokabeln lernen kann. Dieser Workflow erspart es mir, die Vokabeln einzeln in Anki einzutippen, was zudem fehleranfällig wäre.
Anki ist ein weit verbreitetes Tool zur Erstellung digitaler Lernkarten, das vor allem wegen seiner Effizienz und Benutzerfreundlichkeit geschätzt wird. Die Datensätze lassen sich auf allen digitalen Endgeräten synchronisieren, so dass sowohl unterwegs auf dem Smartphone, auf dem Tablet oder Laptop oder zu Hause am Desktopgerät gearbeitet werden kann.
Die Idee, eine Liste von Vokabeln aus einem PDF-Dokument zu extrahieren und in Anki zu importieren, mag zunächst komplex erscheinen. Ich zeige hier einen Lösungsvorschlag für Programmier-Unerfahrene, der die wichtigsten Vorarbeiten innerhalb von ChatGPT erledigt und erst in einem zweiten Schritt in die Python-Umgebung wechselt.
Schritt 1: Anforderungen
Voraussetzungen sind folgende Applikationen und Werkzeuge:
- ein gratis ChatGPT-Konto
- ein gratis Konto auf repl.it (einer browserbasierten Entwicklungsumgebung, die mehrere Programmiersprachen unterstützt, einschliesslich Python)
- Anki-App auf den gewünschten digitalen Endgeräten
- Eine OCR-Software für pdf-Scans (z.B. Testkonto bei smallpdf.com)
Schritt 1: Vorbereiten des pdf-Dokuments
Zuerst muss die Vokabelliste im analogen Lehrbuch gescannt werden. Das pdf-File enthält nun eine Bilddatei auf zwei Seiten. Diese muss in durchsuchbaren Text umgewandelt werden, damit die KI das pdf-Dokument analysieren kann.
Ich nutze AdobeAcrobat, um das gescannte Dokument mittels OCR in durchsuchbaren Text umzuwandeln und neu abzuspeichern. Es existieren aber viele gratis Online-Werkzeuge, z. B. smallpdf.com (7-Tage-Testversion).
Hier ein Ausschnitt aus meinem gescannten Dokument, damit deutlich wird, wie die Ausgangslage aussieht:

Schritt 2: Wortpaare extrahieren
Ich lade das pdf-Dokument, das nun lesbaren Text enthält, in ChatGPT hoch und setzte folgenden Prompt:
Ziehe alle Wortpaare Deutsch-Spanisch aus dem angehängten Dokument (2 Seiten) und generiere eine Tabelle.
ChatGPT schafft das mühelos, und präsentiert die Begriffspaare tabellarisch aufgelistet. Hier ein Screenshot aus der Konversation:

Schritt 3: Generieren des Python-Codes
Mit folgendem Prompt generiere ich den Python-Code für die browserbasierte Python-Umgebung auf repl.it:
Generiere den vollständigen Code in Python, um auf repl.it aus diesen Wortpaaren Anki-Flashcards zu generieren.
ChatGPT erstellt nun den kompletten Code, der in der Python-Umgebung eine CSV-Datei erzeugt , die dann in Anki importiert werden kann und in den entsprechenden Lernkärtchen resultiert.
Für die hier verkürzt präsentierte Wortliste sieht dieser Programmiercode folgendermassen aus:
import csv
# Wortpaare
wortpaare = [
["Zeitung", "el periódico"],
["Sonne", "el sol"],
["und", "y"],
["Wärme, Hitze", "el calor"],
["von, aus", "de"],
["August", "el agosto"],
["in, an, auf", "en"],
["Strand", "la playa"],
["Küste", "la costa"],
["mediterran, Mittelmeer", "mediterráneo/-a"],
]
# CSV-Datei erstellen
with open('anki_flashcards.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(["Deutsch", "Spanisch"])
writer.writerows(wortpaare)
print("Die Datei 'anki_flashcards.csv' wurde erfolgreich erstellt.")
Mit diesem Code kann nun auf repl.it gewechselt werden. Ich kopiere
Schritt 4: Python-Code ausführen
Zuerst muss ein Gratis-Konto auf repl.it eingerichtet werden.
Neues Repl erstellen:
- Klicken auf „create repl“.
- „Python“ als Programmiersprache wählen und geben dem Projekt einen Namen geben (Bsp.: ‚FlashCards‘).
Code Ausführen:
- Den Python-Code aus ChatGPT im Shell-Fenster auf der linken Seite des repl.it Dashboards einfügen: ‚main.py‘.
- Den Code über den grünen ‚run‘-Button (Mitte oben) ausführen. Dies generiert die Datei ‚anki_flashcards.csv‘.
- Diese Datei wird im Fensterbereich ganz links angezeigt. Ein Rechtsklick auf die drei Punkte neben dem Dateinamen öffnet ein Kontextmenu.
- Die CSV-Datei durch Anwählen von ‚download‘ lokal speichern.

Diese CSV-Datei enthält die Vokabelpaare nun in einer Formatierung, die von Anki eingelesen und in Flashcards umgesetzt werden kann.
Schritt 5: CSV-Datei in Anki importieren
Die lokal gespeicherte CSV-Datei kann nun in Anki importiert werden:
- Anki-App öffnen.
- In der unteren Menu-Leiste ‚Datei importieren‘ wählen.
- Die lokal gespeicherte CSV-Datei anwählen und öffnen.
- Die Wokabelkärtchen können nun noch verändert werden, z. B. können manuell alle diejenigen gelöscht werden, die nicht gelernt werden sollen.
- Die Vokabelliste wird von Anki als „Stapel“ bezeichnet. Dieser Kärtchenstapel kann passend umbenannt werden, z. B. in „Spanisch Lektion 1“.

Schritt 6: Vokabeln lernen und Prozess wiederholen
Nun kann der Kärtechenstapel über die ‚Stapelübersicht‘ angewählt werden. Die Funktion ‚Jetzt lernen‘ startet den Lernvorgang. Anki präsentiert zuerst das Deutsche Wort, danach kann die spanische Entsprechung angezeigt werden und man wählt manuell aus, ob man das Wort richtig oder falsch erinnert hat.
Sobald die Vokabeln sitzen, kann die Vokabelliste der nächsten Lektion aus dem Lehrmittel gescannt und analog verarbeitet werden.
Abgekürzter Vorgang
Es wäre auch möglich, von ChatGPT direkt einen Python-Code eine Python-Umgebung generieren zu lassen, welcher die Wortpaare direkt in einem Schritt aus dem pdf-Dokument extrahiert und die CSV-Datei für Anki erstellt. Das Generieren der tabellarischen Wortliste in ChatGPT entfiele dann. In meinen Versuchen führte dies zu weniger stabilen Ergebnissen, da ChatGPT mit dem schlechten pdf-Scan viel zuverlässiger umgehen konnte als repl.it. Zudem mussten in meinem repl noch spezielle Module geladen werden, um pdf-Dokumente verarbeiten zu können, was auch Zeit gekostet hat. Der hier beschriebene Workflow scheint mir für Programmier-Unerfahrene der übersichtlichste zu sein.
Wer die Lernkärtchen nicht erst in Anki anpassen will, kann natürlich auch schon auf der Ebene des Python-Codes einzelne Zeilen verändern oder löschen (z. B. wenn man die deutsche Übersetzung innerhalb eines Begriffspaares abändern möchte oder einzelne Begriffspaare nicht lernen möchte). Das ist etwas zeitsparender als in Anki die Kärtchen zu verändern oder zu löschen. Die generierte CSV-Datei in repl.it ist dann bereits die gewünschte. In meinem Beispiel wollte ich alle Begriffspaare lernen und nichts abändern, folglich entfiel dieser Schritt.