Start · Sprachen · PHP · Referenz · fdf_set_opt

fdf_set_opt

Funktion

Legt eine Option (Auswahloption) eines Formularfeldes in einem FDF-Dokument fest.

seit PHP 4.3.0 Kategorie: io

Signatur

fdf_set_opt(resource $fdf_document, string $fieldname, int $element, string $str1, string $str2): bool

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

Typ
bool
Beschreibung
Gibt 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.';
}
?>
Optionen erfolgreich gesetzt.

// 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.