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