PdfDing und die Bändigung des endlosen PDF-Chaos
Die meisten von uns haben ein Downloads-Verzeichnis oder einen Heimserver, auf dem sich über die Jahre Hunderte von PDFs ansammeln. Technische Dokumentation, Bücher über Systemprogrammierung, Quittungen, Verträge, gescannte Dokumente und Forschungsarbeiten. Normalerweise wird das Finden des richtigen Absatzes in einem solchen Chaos zum Albtraum: Eine Datei ist in der Browser-Vorschau geöffnet, eine andere ist auf ein Tablet heruntergeladen, und die Notizen befinden sich auf dem Arbeitslaptop.
Falls du jemals linkding für Lesezeichen verwendet hast, wird dir das Konzept vertraut vorkommen. Entwickler mrmn2 ließ sich davon inspirieren, PdfDing zu erstellen — eine leichtgewichtige, selbst gehostete All-in-one-Lösung zum Lesen, Katalogisieren und Bearbeiten von PDFs direkt über eine Weboberfläche.
Was der Dienst kann
PdfDing löst ein einfaches Problem: Es bietet einen zentralen Zugriffspunkt für alle deine Dokumente mit Statusynchronisierung über Geräte hinweg. Du öffnest ein Buch auf deinem Desktop, schließt den Tab, und am Abend liest du auf deinem Telefon nahtlos an der gleichen Stelle weiter.
Das Projekt deckt grundlegende Dokumentenmanagement-Anforderungen ab, ohne überladene Enterprise-Funktionen.
Lesen und Synchronisierung
Die Hauptfunktion des Readers ist die Fortschrittsverfolgung. Die Benutzeroberfläche zeigt klare Fortschrittsbalken für jede Datei, sodass du sofort sehen kannst, welches Handbuch zur Hälfte gelesen und welches noch nicht einmal angefasst wurde.
Für komfortables Lesen hat der Autor hinzugefügt:
- Dunkles Design
- Farbinvertierungsmodus für alte Scans mit weißem Hintergrund
- Mehrere Seitenlayout-Optionen für verschiedene Bildschirmgrößen
- Notizpanel mit Markdown-Unterstützung direkt neben dem Dokument
Anmerkungen und Signaturen
PdfDing enthält einen voll ausgestatteten Markup-Editor. Du kannst Text mit einem Textmarker hervorheben, handschriftliche Diagramme in den Rändern zeichnen und Textblöcke einfügen.
Ein zusätzlicher Vorteil ist die Signaturverwaltung. Du speicherst deine Signatur einmal in deinem Profil und kannst sie dann von jedem autorisierten Gerät aus schnell auf Verträge und Rechnungen stempeln. Alle Kommentare und Hervorhebungen werden in einem separaten Panel gesammelt, von dem aus sie exportiert werden können, ohne die schwerste Quelldatei hochladen zu müssen.
Katalogorganisation
Wenn die Dokumente hundert überschreiten, funktioniert eine flache Liste nicht mehr. In PdfDing kannst du die Struktur nach deinen Bedürfnissen aufbauen:
- Arbeitsbereiche zur Trennung persönlicher und beruflicher Dateien
- Verschachtelte Sammlungen
- Mehrstufige Tags
- Favoriten und Archiv für veraltete Versionen
Massenaktionen sind für Massenoperationen verfügbar. Du kannst zwanzig Berichte aus dem letzten Quartal auswählen und sie mit wenigen Klicks ins Archiv verschieben oder einen gemeinsamen Tag anwenden.
Teilen und Sicherheit
Wenn du ein Dokument einem Kollegen oder Kunden zeigen musst, gibt es keinen Grund, die Datei über Messenger weiterzuleiten. In der App kannst du einen öffentlichen Link oder QR-Code für ein bestimmtes Dokument oder eine gesamte Sammlung generieren. Der Zugriff kann bei Bedarf passwortgeschützt oder zeitlich begrenzt sein.
Aus Sicherheitsperspektive ist alles ebenfalls in Ordnung:
- SSO-Unterstützung über das OIDC-Protokoll
- Zwei-Faktor-Authentifizierung über TOTP-Codes
- Hardware-Schlüssel und Biometrie über den WebAuthn-Standard
Wie es unter der Haube funktioniert
Python treibt das Projekt im Hintergrund an. Der Autor hat das System nicht mit Microservices-Komplexität überladen, sondern sich für eine monolithische Architektur entschieden, die sich einfach auf einem bescheidenen VPS oder einem Heim-Raspberry Pi bereitstellen lässt.
Übrigens erhielt die Entwicklung finanzielle Unterstützung vom europäischen NGI0 Commons Fund (Next Generation Internet-Programm von NLnet). Das ist ein gutes Zeichen: Der Autor hat Ressourcen, um die Codebasis weiterzuentwickeln, und das Projekt wird nicht einen Monat nach der Veröffentlichung aufgegeben.
So betreibst du es selbst
Der einfachste Weg ist, den Dienst über Docker Compose zu starten. Erstelle ein Standard-Manifest:
services:
pdfding:
image: mrmn/pdfding:latest
container_name: pdfding
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/app/data
environment:
- SECRET_KEY=your-super-secret-key-change-me
Nach dem Ausführen von docker compose up -d wird das Web-Panel auf Port 8080 verfügbar sein. Für den Produktionseinsatz musst du den Datenverkehr nur über Nginx Proxy Manager, Traefik oder Caddy mit einem SSL-Zertifikat leiten.
Für Cluster enthält die Dokumentation fertige Helm-Charts, sodass die Bereitstellung in Kubernetes ebenfalls kein Problem darstellt.
Für wen es geeignet ist
PdfDing wird wahrscheinlich keine schwergewichtigen Dokumentenmanagementsysteme wie Paperless-ngx ersetzen, wenn du automatische Texterkennung (OCR), komplexe Verarbeitungspipelines für eingehende E-Mails und Barcode-Parsing benötigst.
Aber wenn du einen sauberen, schnellen Reader und Katalog für Bücher, Dokumentation, Handbücher und Verträge mit der Möglichkeit suchst, schnell eine Signatur von einem Tablet aus hinzuzufügen, ist dieses Projekt perfekt geeignet. Du kannst die Benutzeroberfläche vor der Installation auf der offiziellen Demo ausprobieren.
Ähnliche Projekte