Open Source
arabic-pdf-repair: arabischen Text aus alten PDFs wieder kopieren
Eine kostenlose Open-Source-Bibliothek mit Kommandozeilen-Tool von GenPDF für PDFs, deren arabischer Text als Zeichensalat wie ÇáÚÑÈíÉ, als Kästchen oder mit falschen Buchstaben eingefügt wird. Sie ergänzt die fehlende Zuordnung von jeder Glyphe zu ihrem Buchstaben: Der Text lässt sich kopieren, durchsuchen und extrahieren, und die Seiten sehen genau so aus wie vorher.
Code auf GitHub ansehenDas Paket auf npmAusführliches Beispiel mit Muster-PDF
Warum aus einem PDF kopierter arabischer Text zu Zeichensalat wird
Ein PDF zeichnet jeden Buchstaben als Form aus einer Schrift. Zum Kopieren oder Suchen braucht ein Reader eine Tabelle in der Datei, ToUnicode genannt, die angibt, für welchen Buchstaben jede Form steht. Viele arabische PDFs aus älteren Windows-Druckertreibern, Ghostscript, PDFCreator oder arabischen Satzprogrammen haben diese Tabelle nicht oder eine falsche.
Die Seite sieht richtig aus, aber kopierter Text erscheint als lateinische Buchstaben wie ÇáÚÑÈíÉ, als leere Kästchen oder als hebräische Buchstaben; die Suche findet nichts, und Textextraktion, Screenreader und KI-Tools lesen Unsinn.
Was sie repariert
- Schriften, deren Glyphen arabische Namen tragen (afii57xxx, afii62xxx, uniFE91 und ähnliche).
- Arabisch auf den Plätzen lateinischer Buchstaben: Windows-1256, ISO-8859-6 und Mac Arabic, also der Text, der als ÇáÚÑÈíÉ kopiert wird.
- Diwan-XT-Schriften aus arabischen Satzprogrammen, auch ihre kompakten Kopien (CFF).
- Persische und Urdu-Buchstaben sowie nur teilweise richtige Tabellen: Die korrekten Einträge bleiben erhalten.
- Verschlüsselte Dateien, die sich ohne Passwort öffnen (RC4, AES-128 und AES-256).
So verwenden Sie sie
Mit Node.js 20 oder neuer repariert ein einziger Befehl eine Datei und schreibt old.repaired.pdf daneben, ohne Installation:
npx arabic-pdf-repair old.pdfIn Ihrem eigenen Code installieren Sie sie über npm und übergeben die Bytes eines PDFs an repairTextLayer: Sie erhalten die reparierte Datei oder null, wenn es nichts zu reparieren gibt. Die Bibliothek läuft auch im Browser und in Web Workern.
npm install arabic-pdf-repairIst sie für meine Dateien sicher?
- Die Seiten sehen genau gleich aus: Nur die Zuordnung von Glyphen zu Buchstaben wird ergänzt.
- Keine Netzwerkzugriffe, keine Telemetrie: Ihre Dateien bleiben auf Ihrem Computer.
- Sie ändert eine Schrift nur, wenn die Schrift oder die Codepage ihre Buchstaben belegt, und rät nichts.
- Die Originaldatei wird nie überschrieben.
- Releases werden auf GitHub gebaut und mit npm-Provenance veröffentlicht, sodass jeder prüfen kann, aus welchem Quellcode eine Version stammt.
Was sie nicht kann
- Keine Texterkennung: Eine gescannte Seite ist ein Bild ohne Text, der repariert werden könnte. Für Scans nutzen Sie die Texterkennung (OCR) von GenPDF.
- Sie ordnet Text nicht neu: Die Reihenfolge der kopierten Wörter bestimmt Ihr PDF-Reader.
- Die Datei wird neu geschrieben, eine digitale Signatur ist danach also nicht mehr gültig. Bewahren Sie das signierte Original auf.
- Dateien, die zum Öffnen ein Passwort brauchen, bleiben unverändert.
Dieselbe Reparatur im GenPDF-Editor
Diese Bibliothek ist die Reparatur der Textebene, die der GenPDF-Editor beim Öffnen einer Datei ausführt, separat veröffentlicht. Der Editor selbst ist nicht Open Source. Um die Wörter eines arabischen PDFs zu ändern und nicht nur seinen Text zu reparieren, öffnen Sie es im GenPDF-Editor oder lesen Sie wie Sie arabischen Text in einem PDF bearbeiten.
Lizenz
Frei nutzbar, veränderbar und weitergebbar unter der Apache-2.0-Lizenz, in privaten und kommerziellen Projekten. Melden Sie Probleme oder schlagen Sie Korrekturen auf GitHub vor.