Signatur
Beschreibung
fdf_get_flags() liest die gesetzten Flags eines Formularfelds aus einem FDF-Dokument (Forms Data Format) aus. FDF-Dateien werden häufig zusammen mit PDF-Formularen verwendet, um Formulardaten auszutauschen. Die Flags kodieren verschiedene Feldeigenschaften als Bitmaske, z. B. ob ein Feld schreibgeschützt (ReadOnly), erforderlich (Required) oder ausgeblendet (Hidden) ist.
Der Parameter whichflags legt fest, welche Flag-Gruppe abgefragt werden soll. Mögliche Werte sind FDFSetF (gesetzte Flags) und FDFClrF (gelöschte Flags) sowie die entsprechenden Varianten für Darstellungs-Flags (FDFSetAP, FDFClrAP). Das Ergebnis ist eine Ganzzahl, deren einzelne Bits die jeweiligen Feldeigenschaften repräsentieren.
Die FDF-Erweiterung (PHP-Extension fdf) gilt als veraltet und wird in modernen PHP-Versionen nicht mehr standardmäßig ausgeliefert. Für neue Projekte empfiehlt sich der Einsatz moderner PDF-Bibliotheken wie TCPDF oder mPDF.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $fdf_document Pflicht | resource | Eine gültige FDF-Dokument-Ressource, die zuvor mit fdf_open() oder fdf_create() erzeugt wurde. |
|
| $fieldname Pflicht | string | Der vollständige Name des Formularfelds, dessen Flags abgefragt werden sollen. Bei hierarchischen Feldnamen werden die Ebenen durch Punkte getrennt, z. B. 'Adresse.PLZ'. |
|
| $whichflags Pflicht | int | Gibt an, welche Flag-Gruppe abgerufen werden soll. Typische Konstanten sind FDFSetF für gesetzte Feldflags und FDFClrF für gelöschte Feldflags. |
Rückgabewert
0 zurückgegeben.Beispiele
Flags eines Felds aus einem FDF-Dokument lesen
<?php
// FDF-Datei öffnen
$fdf = fdf_open('formular.fdf');
if ($fdf) {
// Gesetzte Flags des Felds 'Name' abrufen
$flags = fdf_get_flags($fdf, 'Name', FDFSetF);
// Prüfen, ob das Feld schreibgeschützt ist (Bit 1 = ReadOnly)
if ($flags & 1) {
echo "Das Feld 'Name' ist schreibgeschützt.\n";
} else {
echo "Das Feld 'Name' ist bearbeitbar.\n";
}
// Prüfen, ob das Feld als Pflichtfeld markiert ist (Bit 2 = Required)
if ($flags & 2) {
echo "Das Feld 'Name' ist ein Pflichtfeld.\n";
}
fdf_close($fdf);
} else {
echo "FDF-Datei konnte nicht geöffnet werden.\n";
}
?>
Gelöschte Flags eines Felds prüfen
<?php
$fdf = fdf_open('formular.fdf');
if ($fdf) {
// Gelöschte Flags des Felds 'Email' abrufen
$clrFlags = fdf_get_flags($fdf, 'Email', FDFClrF);
echo "Gelöschte Flags für 'Email': " . decbin($clrFlags) . " (binär)\n";
echo "Als Integer: " . $clrFlags . "\n";
fdf_close($fdf);
}
?>
// Wichtig · Fallstricke
Veraltet: Die PHP-FDF-Erweiterung wird seit PHP 5 nicht mehr aktiv weiterentwickelt und ist in vielen Umgebungen nicht verfügbar. Für neue Projekte sollten moderne Alternativen wie TCPDF oder spezialisierte PDF-Bibliotheken genutzt werden.
Die genaue Bedeutung der einzelnen Flag-Bits ist in der PDF-Spezifikation von Adobe definiert. Für eine korrekte Auswertung sollte man die entsprechenden Konstanten (FDFSetF, FDFClrF etc.) verwenden, sofern die FDF-Extension korrekt installiert ist.
Die FDF-Erweiterung muss beim Kompilieren von PHP mit --with-fdftk aktiviert werden und erfordert das proprietäre FDF Toolkit von Adobe.