Start · Sprachen · PHP · Referenz · fdf_set_on_import_javascript

fdf_set_on_import_javascript

Funktion

Fügt JavaScript-Code zu einem FDF-Dokument hinzu, der beim Öffnen der FDF-Datei in Acrobat ausgeführt wird.

Kategorie: io

Signatur

fdf_set_on_import_javascript(resource $fdf_document, string $script, bool $before_data_import): bool

Beschreibung

fdf_set_on_import_javascript ermöglicht es, einem FDF-Dokument (Forms Data Format) ein JavaScript-Skript hinzuzufügen, das von Adobe Acrobat automatisch ausgeführt wird, sobald die FDF-Datei geöffnet oder importiert wird. FDF-Dateien werden üblicherweise genutzt, um Formulardaten für PDF-Dokumente zu übermitteln.

Der Parameter before_data_import steuert, ob das Skript vor oder nach dem eigentlichen Datenimport ausgeführt werden soll. Damit lassen sich beispielsweise Validierungen oder Vorbereitungsschritte unmittelbar beim Öffnen der FDF durchführen.

Diese Funktion ist Teil der FDF-Erweiterung (fdf), die eine Schnittstelle zur Adobe FDF Toolkit-Bibliothek bietet. Sie ist besonders nützlich in Workflows, bei denen PDF-Formulare mit serverseitig generierten Daten und Aktionsskripten ausgestattet werden sollen.

Hinweis: Die FDF-Erweiterung ist veraltet und wird in modernen PHP-Versionen sowie aktuellen Acrobat-Versionen kaum noch eingesetzt. Für neue Projekte sollten Alternativen wie pdftk oder Bibliotheken wie FPDF in Betracht gezogen werden.

Parameter

Name Typ Default Beschreibung
$fdf_document Pflicht resource Eine FDF-Dokumentressource, wie sie von fdf_create() oder fdf_open() zurückgegeben wird.
$script Pflicht string Der JavaScript-Code als Zeichenkette, der beim Öffnen der FDF in Acrobat ausgeführt werden soll.
$before_data_import Pflicht bool Gibt an, ob das Skript vor (true) oder nach (false) dem Import der FDF-Daten ausgeführt werden soll.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, andernfalls false.

Beispiele

JavaScript beim FDF-Import hinzufügen

<?php
// Neues FDF-Dokument erzeugen
$fdf = fdf_create();

// Formularfeld-Wert setzen
fdf_set_value($fdf, 'Vorname', 'Max');
fdf_set_value($fdf, 'Nachname', 'Mustermann');

// JavaScript hinzufügen, das VOR dem Datenimport ausgeführt wird
$script = 'app.alert("FDF wird importiert!");';
fdf_set_on_import_javascript($fdf, $script, true);

// FDF an den Browser senden
header('Content-Type: application/vnd.fdf');
fdf_save($fdf);
fdf_close($fdf);
?>

JavaScript nach dem Datenimport ausführen

<?php
$fdf = fdf_create();

fdf_set_value($fdf, 'Status', 'Genehmigt');

// Skript NACH dem Import ausführen, z.B. zur Benachrichtigung
$script = 'app.alert("Daten wurden erfolgreich importiert.");';
fdf_set_on_import_javascript($fdf, $script, false);

header('Content-Type: application/vnd.fdf');
fdf_save($fdf);
fdf_close($fdf);
?>

// Wichtig · Fallstricke

Sicherheitshinweis: Das eingebettete JavaScript wird direkt in Adobe Acrobat auf dem Client ausgeführt. Benutzereingaben dürfen niemals ungeprüft als Skript-Inhalt verwendet werden, da dies zu Code-Injection führen kann. Stets nur serverseitig definierte, statische Skripte einbetten.

Veraltete Erweiterung: Die fdf-Erweiterung ist seit langer Zeit nicht mehr aktiv weiterentwickelt worden und in vielen PHP-Umgebungen nicht verfügbar. Für neue Projekte sollten modernere Alternativen zur PDF/Formular-Verarbeitung genutzt werden.

Die Funktion steht nur zur Verfügung, wenn PHP mit der FDF-Bibliothek (--with-fdftk) kompiliert wurde.