Signatur
Beschreibung
fdf_set_opt setzt eine einzelne Option eines Formularfeldes in einem FDF-Dokument (Forms Data Format). FDF-Dokumente werden typischerweise zusammen mit PDF-Formularen verwendet, um Formulardaten zu übertragen oder Felder zu konfigurieren.
Die Funktion ist besonders nützlich für Listenfelder und Kombinationsfelder (Comboboxen) in PDF-Formularen, bei denen die wählbaren Optionen dynamisch definiert werden müssen. Jede Option besteht aus zwei Teilen: dem internen Export-Wert (str1) und dem für den Benutzer sichtbaren Anzeigetext (str2).
Mit dem Parameter element wird angegeben, um welchen nullbasierten Index innerhalb der Optionsliste es sich handelt. Durch mehrfachen Aufruf mit aufsteigendem Index lassen sich beliebig viele Optionen für ein Feld definieren.
Hinweis: Die FDF-Erweiterung ist seit PHP 5.3.0 als veraltet (deprecated) markiert und wurde in PHP 7.0.0 endgültig entfernt. Für moderne Projekte sollten stattdessen Bibliotheken wie TCPDF, mPDF oder FPDF verwendet werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $fdf_document Pflicht | resource | Eine FDF-Dokument-Ressource, die zuvor mit fdf_create() oder fdf_open() geöffnet wurde. |
|
| $fieldname Pflicht | string | Der Name des Formularfeldes, dessen Option gesetzt werden soll. Entspricht dem Feldnamen im zugehörigen PDF-Formular. | |
| $element Pflicht | int | Nullbasierter Index der Option innerhalb der Optionsliste des Feldes. Der erste Eintrag hat den Index 0. |
|
| $str1 Pflicht | string | Der interne Export-Wert der Option, der beim Absenden des Formulars übertragen wird. | |
| $str2 Pflicht | string | Der für den Benutzer sichtbare Anzeigetext der Option im Formularfeld. |
Rückgabewert
true bei Erfolg zurück, false bei einem Fehler.Beispiele
Optionen für ein Listenfeld in einem PDF-Formular setzen
<?php
// FDF-Dokument erstellen
$fdf = fdf_create();
// Optionen für ein Auswahlfeld "Farbe" definieren
$farben = [
['rot', 'Rot'],
['gruen', 'Grün'],
['blau', 'Blau'],
];
foreach ($farben as $index => $farbe) {
fdf_set_opt($fdf, 'Farbe', $index, $farbe[0], $farbe[1]);
}
// Standardwert festlegen
fdf_set_value($fdf, 'Farbe', 'rot', 0);
// FDF-Dokument ausgeben
header('Content-Type: application/vnd.fdf');
fdf_save($fdf);
fdf_close($fdf);
?>
Einzelne Option zu einem Kombinationsfeld hinzufügen
<?php
// Vorhandenes FDF-Dokument öffnen
$fdf = fdf_open('formular.fdf');
if ($fdf) {
// Erste Option des Feldes "Land" setzen
fdf_set_opt($fdf, 'Land', 0, 'de', 'Deutschland');
fdf_set_opt($fdf, 'Land', 1, 'at', 'Österreich');
fdf_set_opt($fdf, 'Land', 2, 'ch', 'Schweiz');
fdf_save($fdf, 'formular_aktualisiert.fdf');
fdf_close($fdf);
echo 'Optionen erfolgreich gesetzt.';
} else {
echo 'FDF-Dokument konnte nicht geöffnet werden.';
}
?>
// Wichtig · Fallstricke
Deprecation-Hinweis: Die gesamte FDF-Erweiterung (ext/fdf) wurde in PHP 5.3.0 als veraltet markiert und in PHP 7.0.0 vollständig entfernt. fdf_set_opt steht daher ab PHP 7 nicht mehr zur Verfügung.
Für aktuelle Projekte empfiehlt sich der Einsatz moderner PDF-Bibliotheken wie TCPDF, mPDF oder über die PDF-Parser-Bibliothek.
Die FDF-Erweiterung setzt die Installation der Adobe FDF-Toolkit-Bibliothek auf dem Server voraus, was in vielen Hosting-Umgebungen nicht verfügbar ist.