Start · Sprachen · PHP · Referenz · fdf_set_target_frame

fdf_set_target_frame

Funktion

Setzt den Namen des Ziel-Frames (HTML-Frame), in dem das verknüpfte PDF-Formular beim Öffnen eines FDF-Dokuments angezeigt werden soll.

seit PHP 4.3.0 Kategorie: io

Signatur

fdf_set_target_frame(resource $fdf_document, string $frame_name): bool

Beschreibung

fdf_set_target_frame() legt fest, in welchem HTML-Frame oder Browser-Fenster das PDF-Formular erscheinen soll, wenn ein FDF-Dokument (Forms Data Format) vom Browser verarbeitet wird. Dies ist besonders nützlich in älteren Webanwendungen, die auf HTML-Framesets setzen, um PDF-Formulare gezielt in einem bestimmten Frame anzuzeigen, ohne die gesamte Seitenstruktur zu ersetzen.

FDF ist ein Adobe-Format, das Formulardaten für PDF-Dokumente überträgt. Wenn ein FDF-Dokument an den Browser gesendet wird, öffnet der Adobe Acrobat Reader das zugehörige PDF und füllt die Formularfelder mit den im FDF enthaltenen Daten. Durch den Ziel-Frame wird gesteuert, wo genau dieses PDF dargestellt wird.

Der angegebene Frame-Name entspricht dem name-Attribut eines HTML-<frame>-Elements oder kann spezielle Ziele wie _blank, _self, _parent oder _top sein.

Hinweis: Die FDF-Erweiterung ist seit PHP 5.3.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Sie steht nur zur Verfügung, wenn PHP mit --with-fdftk kompiliert wurde und die Adobe FDF Toolkit-Bibliothek vorhanden ist.

Parameter

Name Typ Default Beschreibung
$fdf_document Pflicht resource Eine FDF-Dokumentressource, die zuvor mit fdf_create() oder fdf_open() erzeugt wurde.
$frame_name Pflicht string Der Name des Ziel-Frames, in dem das PDF-Formular geöffnet werden soll. Entspricht dem name-Attribut eines HTML-<frame>-Elements oder einem der speziellen Ziele wie _blank oder _top.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler.

Beispiele

FDF-Dokument mit Ziel-Frame erstellen und senden

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

// URL des zugehörigen PDF-Formulars setzen
fdf_set_file($fdf, 'http://www.example.com/formulare/antrag.pdf');

// Formularfeld-Werte setzen
fdf_set_value($fdf, 'Vorname', 'Max');
fdf_set_value($fdf, 'Nachname', 'Mustermann');

// Ziel-Frame angeben: PDF soll im Frame 'inhalt' erscheinen
fdf_set_target_frame($fdf, 'inhalt');

// Korrekten Content-Type für FDF senden
header('Content-Type: application/vnd.fdf');

// FDF-Inhalt direkt an den Browser senden
fdf_save($fdf);

// Ressource freigeben
fdf_close($fdf);
?>

FDF in neuem Fenster öffnen mit _blank

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

// Zugehöriges PDF-Formular referenzieren
fdf_set_file($fdf, 'http://www.example.com/formulare/bestellung.pdf');

// Felder befüllen
fdf_set_value($fdf, 'Artikel', 'PHP-Buch');
fdf_set_value($fdf, 'Menge', '2');

// PDF soll in einem neuen Browserfenster geöffnet werden
fdf_set_target_frame($fdf, '_blank');

header('Content-Type: application/vnd.fdf');
fdf_save($fdf);
fdf_close($fdf);
?>

// Wichtig · Fallstricke

Deprecation und Entfernung: Die gesamte FDF-Erweiterung (fdftk) wurde in PHP 5.3.0 als veraltet (deprecated) markiert und in PHP 7.0.0 vollständig entfernt. Diese Funktion steht in modernen PHP-Versionen nicht mehr zur Verfügung. Für aktuelle Projekte sollten Alternativen wie TCPDF, tc-lib-pdf oder FPDI in Betracht gezogen werden.

Die Funktion ist nur verfügbar, wenn PHP mit dem Adobe FDF Toolkit kompiliert wurde (--with-fdftk). HTML-Framesets selbst sind seit HTML5 ebenfalls als veraltet eingestuft, was die Relevanz von fdf_set_target_frame() für neue Projekte weiter einschränkt.