PolyCodex: Ein Open-Source-PDF-Übersetzer mit 1:1-Layout und visueller Unantastbarkeit sowie einer Kapazität von 5000 Seiten
Bewertung —Eine neue Generation der Kodex-Übersetzungsengine auf Basis von Rust und Quickshell, die Textblöcke im PDF-Inhaltsstrom mit chirurgischer Präzision herauslöst, Bilder und Tabellen bis aufs Pixel schützt, Überläufe durch mikrotopografische horizontale Kompression mit Tz verhindert und mit der lokalen künstlichen Intelligenz von Ollama vollständig offline arbeitet.

Inhalt
Zusammenfassung: PolyCodex ist ein Open-Source-Werkzeug, das PDFs übersetzt, ohne das Seitenlayout und die Bilder zu verändern. Der Text beschreibt den Ansatz, nur Textblöcke zu ändern, das Einpassen von längerem übersetztem Text durch horizontale Skalierung mit
Tz, die Streaming-Speicherstruktur für Dokumente mit über 5000 Seiten, die Offline-Übersetzung mit Ollama, die Quickshell-Oberfläche und den CLI-Modus sowie vier Installationswege.
Wer in der akademischen Forschung, in umfangreicher medizinischer Literatur, in militärischen technischen Handbüchern und in tausende Seiten umfassenden technischen Dokumentationen arbeitet, kennt ein gemeinsames und chronisches Dilemma: die Unmöglichkeit der PDF-Übersetzung.
Wenn herkömmliche Werkzeuge (das PDF-Modul von Google Translate, Adobe Acrobat, Calibre oder gängige OCR-Software) versuchen, ein Dokument in eine andere Sprache zu übertragen, sind Katastrophenszenarien unvermeidlich: Mehrspaltige Seiten geraten durcheinander, technische Zeichnungen und Vektordiagramme springen aus der Seite, Tabellen werden zerrissen, Fußnoten stecken mitten im Haupttext, und schließlich wird der Vorgang durch willkürliche Serverspeichergrenzen wie 10 MB oder 300 Seiten unterbrochen.
Noch schlimmer: Die unkontrollierte Übertragung von Unternehmensdokumenten, Patententwürfen und vertraulichen Forschungen an Cloud-Server Dritter ist im Hinblick auf Datensouveränität und Cybersicherheit eine inakzeptable Schwachstelle.
Um diese strukturellen Probleme an der Wurzel zu lösen, Layout und Bilder unangetastet zu lassen und selbst Kodexe mit über 5000 Seiten vollständig auf lokaler Hardware flüssig umzuwandeln, ist das von mir entwickelte PolyCodex heute als unabhängiges Open-Source-Projekt veröffentlicht.
Grundphilosophie: „Das Layout ist heilig, das Bild ist unantastbar“
PDF (ISO 32000) besteht nicht aus fließenden Textabsätzen wie ein Word-Dokument. PDF ist eine digitale Druckleinwand, auf der jeder Buchstabe, jede Linie und jedes Bild mit absoluten Positionen in einer zweidimensionalen Koordinatenebene (x, y) definiert sind.
Der Hauptgrund für das Scheitern bestehender Übersetzungswerkzeuge ist, dass sie das PDF in ein textbasiertes Dokument umwandeln und anschließend versuchen, es erneut zu rendern. Dieser Ansatz zerstört die gesamte typografische Geometrie des Originaldokuments.
PolyCodex verfolgt ein anderes Paradigma: chirurgische Manipulation des Content Streams.
- PolyCodex Content-Stream-Parsing-Pipeline: lopdf & Rust Engine
1. TEXTBLÖCKE (BT / ET)
Es werden nur die Operatoren Tj und TJ zwischen BT (Begin Text) und ET (End Text) gelesen. Die Matrixpositionen (Tm) werden gespeichert, die Texte werden an den Übersetzungspool übergeben.
2. UNANTASTBARKEIT DER BILDER (Do)
Die Befehle Do (XObject-Aufruf), Vektorpfade (re, m, l, c, f, S) und Farbzustände bleiben bis auf ihre Pixel erhalten. Nicht einmal ein einziges Byte wird gelöscht.
3. Tz-MIKROTYPOGRAFIE
Für den länger werdenden Text der Zielsprache wird eine dynamische horizontale Skalierung (Tz) berechnet. Die ursprüngliche Bounding Box bleibt millimetergenau erhalten.
Mikrotypografie und die Lösung der horizontalen Skalierung mit Tz
Die Zeichendichte und die Wortlängen verschiedener Sprachen unterscheiden sich radikal. Wird beispielsweise ein englisches technisches Dokument ins Türkische oder Deutsche übersetzt, wächst der Textumfang im Durchschnitt um 25 % bis 35.
Herkömmliche Software macht den Text bei dieser Ausdehnung entweder durch Abschneiden unlesbar oder lässt ihn auf das nächste Bild oder die nächste Tabelle überlaufen und zerstört so das Seitenlayout.
PolyCodex löst dieses Problem mit dem nativen Operator des PDF-Standards Tz (Horizontal Scaling / horizontale Skalierung):
- Die Breite des übersetzten Satzes in der Zielsprache (
W_hedef) wird mit der Breite der Bounding Box des ursprünglichen Satzes (W_orijinal) verglichen. - Wenn
W_hedef > W_orijinalgilt, wird ohne Änderung der Schriftgröße oder Zeilenhöhe ein dynamischer Kompressionsfaktor berechnet:Tz = max(75.0, (W_orijinal / W_hedef) * 100.0) - Der berechnete Operator wird direkt in den PDF-Content-Stream injiziert (zum Beispiel
88.5 Tz). So rücken die Buchstaben mit mikrotypografischer Eleganz zusammen, die Seitengrenzen werden nicht überschritten, und das danebenliegende Schema oder Diagramm verschiebt sich niemals.
Kapazität für über 5000 Seiten und Streaming-Speicherarchitektur
Viele PDF-Werkzeuge auf dem Markt sind mit Python- oder Node.js/Electron-Bibliotheken geschrieben. Diese Werkzeuge versuchen, den gesamten Dokumentbaum gleichzeitig in den RAM zu laden; nach 300 bis 500 Seiten steigt der Speicherverbrauch auf 8 bis 16 GB, und das System wird vom Betriebssystem durch den OOM Killer (Out Of Memory) zwangsweise beendet.
Die Kern-Engine von PolyCodex ist in Rust gebaut:
- Seitenbasiertes Streaming (Streaming Architecture): Die Dokumentseiten werden einzeln verarbeitet, temporäre Puffer werden geleert, und die Ausgabedatei wird sicher geschrieben.
- Konstanter Speicherbedarf: Ob es sich um einen 10-seitigen Artikel oder ein 5.200-seitiges Pharmakologie-Handbuch handelt; der RAM-Verbrauch der PolyCodex-Engine bleibt konstant im Bereich von 150 MB bis 250 MB.
- Schutzschild gegen DoS und Ressourcenverbrauch: Zur Verhinderung von Speichererschöpfung und Angriffen mit beschädigten oder schädlichen PDFs wird eine strikte Obergrenze von 2 GiB kontrolliert. Größenprüfungen werden mit
checked_addund sicheren Grenzwertprüfungen überwacht. - Verschärfte Dateiberechtigungen: Die erzeugten temporären und endgültigen Dateien werden ausschließlich mit den Berechtigungen
0600(Lesen/Schreiben) erstellt, auf die nur der Dateieigentümer zugreifen kann; symbolische Links (Symlinks) werden strikt abgelehnt.
Datensouveränität: 100 % Offline-Übersetzung mit lokalem Ollama
PolyCodex bietet vollständige Unabhängigkeit bei der Wahl der Übersetzungsengine des Nutzers:
+-----------------------------------+
| POLYCODEX |
| (Rust Core / Quickshell) |
+-----------------+-----------------+
|
+-------------------------+-------------------------+
| | |
v v v
+-------------------+ +-------------------+ +-------------------+
| YEREL OLLAMA | | LIBRETRANSLATE | | MOCK / TEST |
| (Llama 3 / Qwen) | | (Self-Hosted) | | (Yerel Simülatör) |
| TAM ÇEVRİMDIŞI | | AÇIK KAYNAK | | SIFIR DIŞ AĞ |
+-------------------+ +-------------------+ +-------------------+
- Ollama-Integration (Llama 3.2, Qwen 2.5, DeepSeek, Mistral): Lokale KI-Übersetzung, die keine Netzwerkverbindung benötigt und selbst in air-gapped Umgebungen und bei Internetausfällen mit der Leistung Ihrer Hardware arbeitet. Kein Textfragment verlässt Ihren Computer.
- Unterstützung für das Open-Source-Projekt LibreTranslate: Vollständige Kompatibilität mit Open-Source-Übersetzungs-APIs, die Sie auf Ihrem eigenen Server oder in Ihrem lokalen Netzwerk hosten.
- Mock-Modus: Sofortige Übersetzungssimulation und Layout-Validierung in Testumgebungen ohne Netzwerk- und LLM-Ressourcen.
Quickshell und eine moderne Wayland-Benutzererfahrung
PolyCodex setzt statt schwerfälliger traditioneller Oberflächen mit hoher Abhängigkeitslast auf die Technologie Quickshell (Qt 6 / QML), das Flaggschiff des Omarchy-Desktops:
- GPU-beschleunigte, flüssige Oberfläche: Über 60 FPS flüssige Animationen, OLED-kompatible reine Schwarz- und Graphit-Dunkelthemen-Palette.
- Systemschrift-Standard: Die gesamte typografische Hierarchie der Oberfläche ist für Klarheit und Lesbarkeit nach dem Standard
JetBrainsMono Nerd Fontgestaltet. - Live-Fortschritt und Seitenverfolgung: Bei sehr großen Dokumenten werden dem Nutzer die aktuelle Seite, die verbleibende Zeit und die laufenden Übersetzungsschritte mit Millisekundengenauigkeit gemeldet.
- Schutz durch Einzelinstanz-Sperre (Single-Instance Lock): Um zu verhindern, dass die Anwendung mehrfach gleichzeitig gestartet wird und Systemressourcen verbraucht, ist ein Dateisperrmechanismus über
$XDG_RUNTIME_DIR/polycodex.lockaktiviert.
Direkte Automatisierung über das Terminal (CLI-Modus)
# Tek komutla PDF çevirisi (Kaynak: Otomatik, Hedef: Türkçe, Sağlayıcı: Ollama)
polycodex --input "/path/to/quantum_physics.pdf" \
--output "/path/to/kuantum_fizigi.pdf" \
--target "tr" \
--provider "ollama"
# 5000 sayfalık teknik el kitabını yerel LibreTranslate ile dönüştürme
polycodex -i handbook.pdf -o el_kitabi.pdf -t tr -p libretranslate
Installation und Vertriebskanäle
PolyCodex ist so paketiert, dass es mühelos auf Arch Linux, Fedora, Ubuntu, Debian und allen anderen modernen Linux-Distributionen läuft.
1. Universelles Installationsskript mit einem einzigen Befehl
Das offizielle Installationsskript, das die für Ihr System am besten geeignete Binärdatei herunterlädt und konfiguriert:
curl -sSL https://raw.githubusercontent.com/ozdil/polycodex/main/install.sh | bash
2. Arch Linux / AUR (Arch User Repository)
Das offizielle AUR-Paket für Arch Linux- und Omarchy-Nutzer:
yay -S polycodex-bin
# veya kaynak koddan derlemek için:
yay -S polycodex
3. Universelle Flatpak- / Flathub-Distribution
Mit dem Paket (org.ozdil.PolyCodex), das sich im offiziellen Prüfverfahren von Flathub befindet, lässt sich auf allen Linux-Plattformen mit einem Klick eine sandboxgeschützte Installation durchführen:
flatpak install flathub org.ozdil.PolyCodex
4. Unabhängige GitHub-Binärartefakte (Releases)
Für alle, die ohne Installation von Abhängigkeiten direkt loslegen möchten, stehen auf der GitHub-Releases-Seite kompilierte x86_64-Binärdateien zur Verfügung:
- Quellcode und Versionen: github.com/ozdil/polycodex
- Lizenz: Doppellizenz - MIT / Apache 2.0 (Garantie für freie Software)
Meine Lesart
Ein sehr großer Teil des wissenschaftlichen und technischen Wissens, das die Menschheit hervorgebracht hat, ist in fremden Sprachen und hinter geschlossenen PDF-Formaten eingesperrt. Es ist nicht hinnehmbar, dass Forschende, Studierende und Ingenieure, die auf dieses Wissen zugreifen wollen, auf Übersetzungen angewiesen sind, deren Layout zerstört, deren Diagramme gelöscht oder deren Seiten abgeschnitten wurden.
PolyCodex wahrt die Privatsphäre, indem es die Leistungsfähigkeit der lokalen Hardware voll ausschöpft, und zollt zugleich der ursprünglichen Ästhetik und Typografie des Dokuments absoluten Respekt.
Der gesamte Quellcode, der Beitragsleitfaden und die Dokumentation sind auf GitHub für die Community frei zugänglich.
- GitHub-Repository: https://github.com/ozdil/polycodex