Skip to content
Gespräch vereinbaren

Own Product

PDFThor — Clientseitiger PDF-Editor

PDFThor ist ein vollständiger PDF-Editor, der direkt im Browser läuft. Die PDF-Datei bleibt dabei auf dem Rechner des Nutzers und wird nicht auf einen externen Server hochgeladen. Funktionen wie Signieren, Verschlüsseln, Schwärzen oder das Ausfüllen von Formularen laufen komplett lokal im Browser. PDFThor lässt sich als Web Component in React, Angular oder auch ganz klassisch in HTML einbinden. Das gleiche Prinzip gilt für KI-Funktionen: Der Kunde entscheidet selbst, welches Modell zum Einsatz kommt, wo es läuft und ob Dokumentinhalte überhaupt an ein Modell weitergegeben werden.

March 2026 - PresentWeb
0Server-Aufrufe für PDF-Operationen
PAdES B-TSignaturprofil mit Zeitstempel
3Browser-Engines im Test

Die Herausforderung

Verträge, Personalakten, Patientendaten oder Behördenpost enthalten oft Informationen, die man nicht einfach an einen externen Dienst schicken möchte. Bisher bleiben dafür im Grunde zwei Möglichkeiten: Entweder läuft die PDF-Bearbeitung über einen gehosteten Anbieter. Dann stellen sich sofort Fragen zu Auftragsverarbeitung, Speicherort und Datenschutz. Bei besonders sensiblen Daten oder Berufsgeheimnissen kann das schnell zum Ausschlusskriterium werden. Oder man entwickelt den PDF-Editor selbst. Das gibt volle Kontrolle, kostet aber viel Zeit und bindet dauerhaft eigene Entwicklungsressourcen. PDFThor setzt dazwischen an: Der Editor läuft direkt im Browser des Nutzers und wird in die bestehende Anwendung integriert. Das Dokument muss dafür keinen zusätzlichen Dienst passieren.

PAdES-Signatur im Browser geprüft, ohne Server
PAdES-Signatur im Browser geprüft, ohne Server

Der Ansatz

PDFThor ist in zwei Pakete aufgeteilt. @pdfthor/core enthält die eigentliche PDF-Logik und arbeitet vollständig unabhängig vom Browser: Jede Operation nimmt Bytes entgegen und gibt wieder Bytes zurück. @pdfthor/ui baut darauf die Benutzeroberfläche als Web Components auf und lässt sich dadurch genauso in React oder Angular wie in eine einfache HTML-Anwendung integrieren. Für die Darstellung nutzt PDFThor pdf.js, für Änderungen am Dokument pdf-lib. Auch Signaturen, Verschlüsselung und Schwärzungen werden direkt im Browser verarbeitet. PKCS#12-Zertifikate können eingelesen, PAdES-B-B- und PAdES-B-T-Signaturen inklusive RFC-3161-Zeitstempel erzeugt und PDFs mit AES-256 verschlüsselt werden. Berechtigungen lassen sich dabei einzeln festlegen. Bei einer Schwärzung wird der eigentliche Content-Stream des PDFs neu geschrieben, der geschwärzte Inhalt wird also nicht nur optisch verdeckt. @pdfthor/ui bringt bereits den vollständigen Editor mit: Menü- und Werkzeugleisten, Seitenvorschau sowie den Ablauf zum Teilen eines Dokuments. Wer PDFThor integriert, muss diese Oberfläche nicht selbst zusammensetzen. Die PDF-Datei selbst bleibt dabei immer auf dem Rechner des Nutzers. Nach aussen können nur Daten gehen, die die einbettende Anwendung ausdrücklich freigibt: etwa ein exportierter DocumentState mit Formularwerten, Textfeldern und Notizen oder Dokumenttext für eine KI-Funktion. Das integrierte KI-Panel nutzt derzeit Gemini. Die Anfrage wird mit dem API-Schlüssel des Nutzers gestellt, sodass der Betreiber der Anwendung selbst kontrolliert, welcher KI-Dienst verwendet wird.

Die PDF-Datei bleibt beim Nutzer und wird nicht an einen externen Dienst übertragen.

Ergebnisse & Wirkung

Der Core deckt die wichtigsten PDF-Funktionen bereits vollständig ab: Signieren, Verschlüsseln, Schwärzen und Formulare inklusive XFDF-Import und -Export. Dazu kommen Seitenoperationen wie Teilen, Zusammenführen, Einfügen, Löschen, Drehen, Umsortieren und Duplizieren. Auch typische Bearbeitungsfunktionen sind enthalten, darunter Wasserzeichen, Kopf- und Fusszeilen, Lesezeichen, Suche, Textmarkierungen, Notizen, Stempel, Freihandzeichnungen, Formen und Bilder. Metadaten lassen sich ebenfalls aus einem Dokument entfernen. Beide Pakete sind mit Unit-Tests abgedeckt. Die End-to-End-Tests laufen zusätzlich in Chromium, Firefox und WebKit. Für die Demo gibt es einen achtseitigen Beispielvertrag mit Formular- und Signaturfeldern. Auch die Screenshots auf dieser Seite werden nicht von Hand erstellt, sondern automatisch mit Playwright gegen genau dieses Dokument erzeugt. So zeigen sie immer den aktuellen Stand des Editors. PDFThor befindet sich derzeit noch in Entwicklung und wird noch nicht produktiv von Kunden eingesetzt.

Kontaktdaten und Bankverbindung markiert, bevor der Text entfernt wird
Kontaktdaten und Bankverbindung markiert, bevor der Text entfernt wird

Meine Rolle

Alleinentwickler und Architekt. Verantwortlich für die Aufteilung in zwei Pakete und die Regel, die den Core frei von Browser-APIs hält, alle PDF-Operationen im Core, den Krypto-Pfad für Signaturen und Verschlüsselung, die Web-Component-Schicht mit ihrem Controller-Muster, die Demo-Anwendung, das Unit- und End-to-End-Test-Setup sowie die Screenshot-Pipeline hinter den Bildern auf dieser Seite.

TypeScriptWeb ComponentsVitepdf.jspdf-libGemini APIPlaywrightVitest
Markierungen und Notizen, neben dem Dokument aufgelistet
Markierungen und Notizen, neben dem Dokument aufgelistet
AcroForm-Felder ausgefüllt und als XFDF oder JSON exportiert
AcroForm-Felder ausgefüllt und als XFDF oder JSON exportiert
Fragen zum offenen Dokument, beantwortet aus seinem Text
Fragen zum offenen Dokument, beantwortet aus seinem Text
AES-256-Verschlüsselung mit einzeln setzbaren Berechtigungen
AES-256-Verschlüsselung mit einzeln setzbaren Berechtigungen

Ähnliche Herausforderung?

Erzähl mir von deiner Herausforderung. Ich sage dir, wie ich sie angehen würde — und eine realistische Timeline.

Diese Website verwendet Drittdienste (Google reCAPTCHA, Calendly), die Cookies setzen können. Mehr dazu in meiner Datenschutzerklärung .