Start · Sprachen · PHP · Referenz · fdf_set_status

fdf_set_status

Funktion

Setzt den Wert des <code>/STATUS</code>-Schlüssels in einem FDF-Dokument.

seit PHP 4.0.0 Kategorie: io

Signatur

fdf_set_status(resource $fdf_document, string $status): bool

Beschreibung

fdf_set_status() schreibt einen Statustext in den speziellen /STATUS-Schlüssel eines FDF-Dokuments (Forms Data Format). Dieser Schlüssel wird von Adobe Acrobat ausgewertet, wenn das FDF-Dokument als Antwort auf eine Formularübermittlung zurückgeschickt wird – Acrobat zeigt den Statustext dann dem Benutzer in einem Dialog an.

FDF ist ein Dateiformat, das ausschließlich die Formulardaten eines PDF-Dokuments enthält, ohne das vollständige PDF übertragen zu müssen. Mit fdf_set_status() lassen sich serverseitige Rückmeldungen direkt in dieses Datenpaket einbetten, sodass ein PDF-Formular nach dem Absenden eine Bestätigung oder Fehlermeldung anzeigen kann.

Die Funktion wird typischerweise zusammen mit fdf_create() oder fdf_open() verwendet, um ein FDF-Dokument zu erstellen bzw. zu öffnen, bevor der Status gesetzt und das Dokument mit fdf_save() gespeichert oder direkt ausgegeben wird.

Hinweis: Die FDF-Extension ist seit PHP 7.0 nicht mehr im offiziellen PHP-Kern enthalten und gilt als veraltet. Für moderne Projekte sollten PDF-Bibliotheken wie FPDF, TCPDF oder die pdflib-Extension in Betracht gezogen werden.

Parameter

Name Typ Default Beschreibung
$fdf_document Pflicht resource Eine gültige FDF-Dokumentressource, die zuvor mit fdf_create() oder fdf_open() erzeugt wurde.
$status Pflicht string Der Statustext, der im /STATUS-Schlüssel des FDF-Dokuments gespeichert werden soll. Acrobat zeigt diesen Text dem Benutzer nach dem Absenden des Formulars an.

Rückgabewert

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

Beispiele

Statusmeldung in ein FDF-Dokument einbetten

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

// Feldwert setzen
fdf_set_value($fdf, 'Vorname', 'Max');
fdf_set_value($fdf, 'Nachname', 'Mustermann');

// Statustext setzen, der in Acrobat angezeigt wird
fdf_set_status($fdf, 'Ihre Daten wurden erfolgreich übermittelt. Vielen Dank!');

// Korrekte HTTP-Header für FDF senden
header('Content-Type: application/vnd.fdf');

// FDF direkt ausgeben
fdf_save($fdf);

// Ressource freigeben
fdf_close($fdf);
?>

FDF-Fehlerantwort mit Statusmeldung

<?php
// Formulardaten validieren
$email = $_POST['email'] ?? '';

$fdf = fdf_create();

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // Fehler-Status setzen
    fdf_set_status($fdf, 'Fehler: Bitte geben Sie eine gültige E-Mail-Adresse ein.');
} else {
    // Daten verarbeiten ...
    fdf_set_value($fdf, 'email', $email);
    fdf_set_status($fdf, 'Registrierung erfolgreich abgeschlossen.');
}

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

// Wichtig · Fallstricke

Deprecation-Hinweis: Die FDF-Extension (ext/fdf) wurde in PHP 5 als veraltet markiert und ist seit PHP 7.0 nicht mehr Bestandteil des offiziellen PHP-Kerns. Sie steht nur noch über PECL oder als separat kompiliertes Modul zur Verfügung. Für neue Projekte sollte auf moderne PDF-Bibliotheken umgestiegen werden.

Der /STATUS-Schlüssel wird nur von Adobe Acrobat Reader interpretiert. Andere PDF-Viewer unterstützen FDF möglicherweise nicht oder werten den Statusschlüssel nicht aus.