Start · Sprachen · PHP · Referenz · fdf_get_ap

fdf_get_ap

Funktion

Gibt das Erscheinungsbild (Appearance Stream) eines Formularfeldes aus einem FDF-Dokument in eine Datei aus.

seit PHP 4.3.0 Kategorie: io

Signatur

fdf_get_ap(resource $fdf_document, string $field, int $face, string $filename): bool

Beschreibung

fdf_get_ap() extrahiert den Appearance Stream (Anzeigedarstellung) eines bestimmten Formularfeldes aus einem FDF-Dokument und speichert ihn in eine angegebene Datei. FDF (Forms Data Format) ist ein PDF-Unterformat zur Übertragung von Formulardaten. Der Appearance Stream beschreibt, wie ein Feld optisch dargestellt wird – z. B. als gedrückte oder ungedrückte Schaltfläche.

Der Parameter face steuert, welcher Zustand des Feldes abgerufen wird. Mögliche Werte sind die Konstanten FDFNormalAP, FDFRolloverAP und FDFDownAP, die den normalen, den Hover- bzw. den gedrückten Zustand repräsentieren.

Diese Funktion ist nützlich, wenn benutzerdefinierte grafische Darstellungen von PDF-Formularfeldern extrahiert und weiterverarbeitet oder gespeichert werden sollen. Das Ergebnis wird direkt in eine Datei geschrieben, nicht als String zurückgegeben.

Hinweis: Die FDF-Erweiterung ist seit PHP 7.0 nicht mehr im offiziellen PHP-Kern enthalten und gilt als veraltet. Für neue Projekte sollten moderne PDF-Bibliotheken wie TCPDF, mPDF oder FPDF verwendet werden.

Parameter

Name Typ Default Beschreibung
$fdf_document Pflicht resource Eine gültige FDF-Dokumentressource, die zuvor mit fdf_open() oder fdf_open_string() geöffnet wurde.
$field Pflicht string Der vollständige Name des Formularfeldes, dessen Erscheinungsbild abgerufen werden soll.
$face Pflicht int Der gewünschte Anzeigestatus des Feldes. Erlaubte Werte: FDFNormalAP (normaler Zustand), FDFRolloverAP (Hover-Zustand), FDFDownAP (gedrückter Zustand).
$filename Pflicht string Der Pfad zur Zieldatei, in die der Appearance Stream geschrieben werden soll. Die Datei wird erstellt oder überschrieben.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler (z. B. ungültiges Feld, nicht schreibbare Datei oder ungültige FDF-Ressource).

Beispiele

Appearance Stream eines Feldes in Datei speichern

<?php
// FDF-Datei öffnen
$fdf = fdf_open('/var/www/formular.fdf');

if ($fdf === false) {
    die('FDF-Datei konnte nicht geöffnet werden.');
}

// Normales Erscheinungsbild des Feldes 'Unterschrift' in Datei schreiben
$erfolg = fdf_get_ap($fdf, 'Unterschrift', FDFNormalAP, '/tmp/erscheinungsbild_normal.ps');

if ($erfolg) {
    echo 'Appearance Stream erfolgreich gespeichert.';
} else {
    echo 'Fehler beim Abrufen des Appearance Streams.';
}

fdf_close($fdf);
?>
Appearance Stream erfolgreich gespeichert.

Hover-Zustand eines Schaltflächen-Feldes extrahieren

<?php
// FDF aus String laden (z. B. aus HTTP-POST)
$fdfDaten = file_get_contents('php://input');
$fdf = fdf_open_string($fdfDaten);

if ($fdf) {
    // Rollover-Appearance (Hover) einer Schaltfläche extrahieren
    if (fdf_get_ap($fdf, 'BtnSenden', FDFRolloverAP, '/tmp/btn_hover.ps')) {
        echo 'Hover-Erscheinungsbild der Schaltfläche gespeichert.';
    } else {
        echo 'Kein Rollover-AP vorhanden oder Fehler aufgetreten.';
    }
    fdf_close($fdf);
} else {
    echo 'FDF-Daten ungültig.';
}
?>
Hover-Erscheinungsbild der Schaltfläche gespeichert.

// Wichtig · Fallstricke

Veraltete Erweiterung: Die fdf_*-Funktionen gehören zur FDF-Toolkit-Erweiterung, die seit PHP 7.0 nicht mehr offiziell unterstützt wird und in modernen PHP-Versionen (8.x) nicht verfügbar ist. Für neue Projekte sollten zeitgemäße Alternativen verwendet werden.

Dateizugriff: Der Webserver-Prozess benötigt Schreibrechte auf das Zielverzeichnis der filename-Ausgabedatei. Andernfalls schlägt die Funktion fehl, ohne eine aussagekräftige Fehlermeldung zu liefern.

Rückgabewert prüfen: Da false sowohl bei einem nicht existierenden Feld als auch bei einem Dateisystemfehler zurückgegeben wird, empfiehlt sich eine Prüfung der Schreibrechte und des Feldnamens im Voraus.