Start · Sprachen · PHP · Referenz · fdf_save_string

fdf_save_string

Funktion

Gibt den Inhalt eines FDF-Dokuments als String zurück, anstatt ihn in eine Datei zu schreiben.

seit PHP 4.3.0 Kategorie: io

Signatur

fdf_save_string(resource $fdf_document): string|false

Beschreibung

fdf_save_string() serialisiert ein FDF-Dokument (Forms Data Format) und gibt es als PHP-String zurück. Dies ist die In-Memory-Variante der Funktion fdf_save(), die in eine Datei schreibt. Das FDF-Format wird von Adobe Acrobat genutzt, um Formulardaten aus PDF-Dateien zu übermitteln.

Die Funktion eignet sich besonders dann, wenn das erzeugte FDF-Dokument nicht auf der Festplatte gespeichert, sondern direkt an den Browser gesendet oder weiterverarbeitet werden soll – etwa als HTTP-Response mit dem MIME-Typ application/vnd.fdf.

Ein typischer Einsatz ist das dynamische Befüllen von PDF-Formularen auf dem Server: Zuerst wird mit fdf_create() ein FDF-Dokument erzeugt, dann werden mit fdf_set_value() Feldwerte gesetzt, und schließlich wird fdf_save_string() genutzt, um den fertigen FDF-Inhalt als String abzurufen und direkt auszugeben.

Hinweis: Die gesamte FDF-Erweiterung (fdf) gilt seit PHP 5.x als veraltet und wurde in modernen PHP-Versionen aus dem Kern entfernt. Für neue Projekte sollten Alternativen wie die FPDF- oder TCPDF-Bibliothek in Betracht gezogen werden.

Parameter

Name Typ Default Beschreibung
$fdf_document Pflicht resource Eine FDF-Dokument-Ressource, die zuvor mit fdf_create() oder fdf_open() erzeugt wurde.

Rückgabewert

Typ
string|false
Beschreibung
Gibt den Inhalt des FDF-Dokuments als String zurück. Im Fehlerfall wird false zurückgegeben.

Beispiele

FDF-Formularantwort direkt an den Browser senden

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

// URL zur zugehörigen PDF-Datei setzen
fdf_set_file($fdf, 'http://example.com/formular.pdf');

// Formularfelder mit Werten befüllen
fdf_set_value($fdf, 'Vorname', 'Max');
fdf_set_value($fdf, 'Nachname', 'Mustermann');
fdf_set_value($fdf, 'Email', 'max@example.com');

// FDF-Inhalt als String abrufen
$fdfString = fdf_save_string($fdf);

// Ressource freigeben
fdf_close($fdf);

// Korrekte HTTP-Header setzen und ausgeben
header('Content-Type: application/vnd.fdf');
header('Content-Disposition: inline; filename="antwort.fdf"');
header('Content-Length: ' . strlen($fdfString));
echo $fdfString;

FDF-String in einer Variable zwischenspeichern

<?php
$fdf = fdf_create();
fdf_set_value($fdf, 'Bestellnummer', '12345');
fdf_set_value($fdf, 'Betrag', '99.90');

$fdfInhalt = fdf_save_string($fdf);
fdf_close($fdf);

if ($fdfInhalt !== false) {
    // Z. B. in Datenbank speichern oder per E-Mail versenden
    echo 'FDF-Länge: ' . strlen($fdfInhalt) . ' Bytes';
} else {
    echo 'Fehler beim Erzeugen des FDF-Inhalts.';
}
FDF-Länge: 123 Bytes

// Wichtig · Fallstricke

Veraltete Erweiterung: Die PHP-FDF-Erweiterung ist seit langem nicht mehr aktiv gepflegt und steht in aktuellen PHP-Versionen (ab PHP 7.x aufwärts) standardmäßig nicht mehr zur Verfügung. Sie sollte in neuen Projekten nicht mehr eingesetzt werden.

Als Alternative zum direkten Umgang mit FDF empfiehlt sich der Einsatz moderner PDF-Bibliotheken wie TCPDF, FPDI oder PdfParser.