Start · Sprachen · PHP · Referenz · fdf_create

fdf_create

Funktion

Erzeugt ein neues, leeres FDF-Dokument und gibt eine Ressource darauf zurück.

seit PHP 4.0.0 Kategorie: io

Signatur

fdf_create(): resource

Beschreibung

fdf_create() legt ein neues, leeres FDF-Dokument (Forms Data Format) im Speicher an. FDF ist ein von Adobe entwickeltes Format zum Austausch von Formulardaten aus PDF-Dateien, ohne das gesamte PDF-Dokument übertragen zu müssen.

Die zurückgegebene Ressource wird anschließend mit Funktionen wie fdf_set_value() befüllt und schließlich mit fdf_save() oder fdf_save_string() in eine Datei oder einen String geschrieben. Abschließend sollte die Ressource mit fdf_close() freigegeben werden.

Ein typischer Anwendungsfall ist das serverseitige Vorausfüllen von PDF-Formularen: Der Server erzeugt ein FDF-Dokument mit den gewünschten Feldwerten und sendet es an den Browser, der es an das zugehörige PDF weitergibt. Dafür muss der Content-Type application/vnd.fdf gesetzt werden.

Hinweis: Die FDF-Erweiterung (ext/fdf) ist seit PHP 5.3.0 als veraltet markiert und wurde in PHP 7.0.0 vollständig entfernt. Für moderne Projekte sollten Alternativen wie die FPDF- oder TCPDF-Bibliothek verwendet werden.

Rückgabewert

Typ
resource|false
Beschreibung
Gibt eine FDF-Dokumentressource zurück, die für nachfolgende fdf_*-Funktionen verwendet werden kann, oder false bei einem Fehler.

Beispiele

PDF-Formularfelder serverseitig vorausfüllen

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

// Feldwerte setzen
fdf_set_value($fdf, 'Vorname', 'Max', 0);
fdf_set_value($fdf, 'Nachname', 'Mustermann', 0);
fdf_set_value($fdf, 'Email', 'max@beispiel.de', 0);

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

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

// FDF-Dokument ausgeben
fdf_save($fdf);

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

FDF-Inhalt als String erzeugen und speichern

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

fdf_set_value($fdf, 'Bestellnummer', '12345', 0);
fdf_set_value($fdf, 'Betrag', '99.90', 0);

// FDF in einen String schreiben
$fdfString = fdf_save_string($fdf);
fdf_close($fdf);

// String in Datei speichern
file_put_contents('/tmp/bestellung_12345.fdf', $fdfString);

echo 'FDF-Datei wurde erfolgreich erstellt. Länge: ' . strlen($fdfString) . ' Bytes';
?>
FDF-Datei wurde erfolgreich erstellt. Länge: 123 Bytes

// Wichtig · Fallstricke

Veraltet und entfernt: Die FDF-Erweiterung wurde in PHP 5.3.0 als deprecated markiert und in PHP 7.0.0 vollständig aus dem Kern entfernt. Code, der fdf_create() verwendet, ist auf modernen PHP-Versionen nicht lauffähig.

Als Alternativen empfehlen sich FPDF, TCPDF, mPDF oder die pdftk-Kommandozeilenwerkzeuge zum Befüllen von PDF-Formularen.

Stellen Sie sicher, dass nach jedem fdf_create()-Aufruf am Ende immer fdf_close() aufgerufen wird, um Speicherlecks zu vermeiden.