Start · Sprachen · PHP · Referenz · fdf_set_ap

fdf_set_ap

Funktion

Legt das Aussehen (Appearance) eines Feldes in einem FDF-Dokument über eine externe Datei fest.

seit PHP 4.3.0 Kategorie: io

Signatur

fdf_set_ap(resource $fdf_document, string $field_name, int $face, string $filename, int $page_number): bool

Beschreibung

fdf_set_ap definiert das visuelle Erscheinungsbild (Appearance Stream) eines bestimmten Formularfeldes in einem FDF-Dokument. Dabei wird eine externe Datei angegeben, die den zugehörigen XObject-Inhalt enthält, sowie die Seite innerhalb dieser Datei, auf der das Aussehen beschrieben ist.

Appearance Streams sind in PDF-Formularen wichtig, um zu steuern, wie ein Feld in verschiedenen Zuständen (Normal, Rollover, Gedrückt) dargestellt wird. fdf_set_ap ermöglicht es, dieses Aussehen aus einer externen Quelle zu laden, anstatt es direkt im FDF einzubetten.

Die FDF-Erweiterung (Forms Data Format) wird für die Verarbeitung von PDF-Formulardaten eingesetzt. Mit ihr können Feldinhalte und deren Darstellung in FDF-Dateien geschrieben und gelesen werden, die anschließend von einem PDF-Betrachter interpretiert werden.

Hinweis: Die FDF-Erweiterung gilt seit PHP 5.3.0 als veraltet (deprecated) und wurde in PHP 5.6.0 aus dem Core entfernt. Für neue Projekte sollten moderne Alternativen wie pdftk oder entsprechende Bibliotheken 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.
$field_name Pflicht string Der Name des Formularfeldes, dessen Aussehen gesetzt werden soll.
$face Pflicht int Gibt den Darstellungszustand des Feldes an. Mögliche Werte: FDFNormalAP (normaler Zustand), FDFRolloverAP (Rollover-Zustand), FDFDownAP (gedrückter Zustand).
$filename Pflicht string Pfad zur Datei, die den Appearance Stream (XObject) enthält, der für das Feld verwendet werden soll.
$page_number Pflicht int Die Seitenzahl in der angegebenen Datei, auf der sich der Appearance Stream befindet (0-basiert).

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler, z. B. wenn das FDF-Dokument ungültig ist oder die angegebene Datei nicht gefunden werden kann.

Beispiele

Aussehen eines Formularfeldes setzen

<?php
// FDF-Dokument erstellen
$fdf = fdf_create();

if ($fdf) {
    // Feldwert setzen
    fdf_set_value($fdf, 'myButton', 'Klick mich', 0);

    // Normales Aussehen des Feldes aus einer externen Datei laden
    // Seite 0 der Datei 'button_appearance.pdf' wird verwendet
    $result = fdf_set_ap($fdf, 'myButton', FDFNormalAP, '/pfad/zu/button_appearance.pdf', 0);

    if ($result) {
        echo "Aussehen erfolgreich gesetzt.\n";
    } else {
        echo "Fehler beim Setzen des Aussehens.\n";
    }

    // FDF-Ausgabe an den Browser senden
    header('Content-Type: application/vnd.fdf');
    fdf_save($fdf);
    fdf_close($fdf);
} else {
    echo "FDF-Dokument konnte nicht erstellt werden.\n";
}
?>
Aussehen erfolgreich gesetzt.

Verschiedene Darstellungszustände definieren

<?php
$fdf = fdf_create();

if ($fdf) {
    $field = 'submitButton';
    $appearancePath = '/var/www/appearances/';

    // Normaler Zustand
    fdf_set_ap($fdf, $field, FDFNormalAP, $appearancePath . 'normal.pdf', 0);

    // Rollover-Zustand (Maus über Feld)
    fdf_set_ap($fdf, $field, FDFRolloverAP, $appearancePath . 'rollover.pdf', 0);

    // Gedrückter Zustand
    fdf_set_ap($fdf, $field, FDFDownAP, $appearancePath . 'down.pdf', 0);

    echo "Alle drei Darstellungszustände wurden gesetzt.\n";

    fdf_close($fdf);
}
?>
Alle drei Darstellungszustände wurden gesetzt.

// Wichtig · Fallstricke

Deprecation: Die gesamte FDF-Erweiterung wurde in PHP 5.3.0 als veraltet markiert und in PHP 5.6.0 entfernt. fdf_set_ap steht daher in modernen PHP-Versionen nicht mehr zur Verfügung. Für aktuelle Projekte sollten PDF-Bibliotheken wie TCPDF, mPDF oder externe Werkzeuge wie pdftk verwendet werden.

Die Konstanten FDFNormalAP, FDFRolloverAP und FDFDownAP müssen als Integer-Werte übergeben werden, wenn die FDF-Erweiterung nicht verfügbar ist. Ihre Werte entsprechen typischerweise 1, 2 und 3.

Achte darauf, dass die angegebene Appearance-Datei tatsächlich existiert und für den Webserver lesbar ist, da sonst false zurückgegeben wird, ohne eine aussagekräftige Fehlermeldung zu liefern.