Signatur
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
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);
?>
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.';
}
?>
// 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.