LuraPDF lädt Ihre PDF-Datei mithilfe von pdf.js, das die Inhaltsströme jeder Seite in ein HTML-Canvas rendert. Eine interaktive Canvas-Ebene von fabric.js liegt über dem pdf.js-Rendering und ermöglicht Interaktionen wie Klicken zum Auswählen, Ziehen, Skalieren und Bearbeiten von Text. Wenn Sie ein Textelement bearbeiten, modifizieren Sie ein fabric.js-Textobjekt, das das ursprüngliche PDF-Rendering überlagert. Neue Objekte – Formen, Signaturen, Textfelder, Bilder – werden als fabric.js-Objekte hinzugefügt und auf dem Canvas positioniert. Diese Architektur bietet Ihnen einen responsiven, interaktiven Editor, der vollständig im Browser ohne Serverkommunikation funktioniert.
Wenn Sie auf „PDF speichern“ klicken, übernimmt pdf-lib. Es analysiert das Original-PDF und wendet jede Änderung als Modifikation auf die PDF-Inhaltsströme an: Textänderungen werden als aktualisierte PDF-Textoperatoren geschrieben, neue Objekte werden als PDF-Formular-XObjects auf der Seite positioniert. Das Ergebnis ist ein gültiges PDF/1.7-Dokument – kein reduziertes Bild der Seite, sondern ein echtes PDF mit erhaltener Textebene, Hyperlinks und Formularfeldfunktionalität. Das erstellte PDF wird direkt auf Ihr Gerät heruntergeladen.