Start · Sprachen · PHP · Referenz · fdf_get_encoding

fdf_get_encoding

Funktion

Gibt den Wert des <code>/Encoding</code>-Schlüssels aus einem FDF-Dokument zurück.

seit PHP 4.3.0 Kategorie: io

Signatur

fdf_get_encoding(resource $fdf_document): string

Beschreibung

fdf_get_encoding() liest den im FDF-Dokument (Forms Data Format) gespeicherten Zeichensatz-Schlüssel /Encoding aus und gibt ihn als Zeichenkette zurück. FDF-Dateien werden typischerweise verwendet, um Formulardaten von PDF-Dokumenten zu übertragen.

Der /Encoding-Schlüssel gibt an, in welcher Zeichencodierung die Formulardaten kodiert sind, beispielsweise Shift-JIS für japanische Zeichen oder PDFDocEncoding als Standard. Diese Information ist besonders wichtig, wenn Formulardaten korrekt interpretiert und verarbeitet werden müssen.

Die Funktion gehört zur FDF-Erweiterung (fdftk), die in modernen PHP-Versionen nicht mehr standardmäßig verfügbar ist. Sie ist nützlich, wenn ältere PDF-Formular-Workflows verwaltet werden, bei denen die Zeichenkodierung der übertragenen Daten variieren kann.

Parameter

Name Typ Default Beschreibung
$fdf_document Pflicht resource Eine gültige FDF-Dokumentressource, die zuvor mit fdf_open() oder fdf_open_string() geöffnet wurde.

Rückgabewert

Typ
string
Beschreibung
Gibt den Wert des /Encoding-Schlüssels als Zeichenkette zurück. Ist kein Encoding-Schlüssel gesetzt, wird eine leere Zeichenkette zurückgegeben.

Beispiele

Zeichenkodierung eines FDF-Dokuments auslesen

<?php
// FDF-Datei öffnen
$fdf = fdf_open('/pfad/zur/formular.fdf');

if ($fdf !== false) {
    // Encoding-Schlüssel auslesen
    $encoding = fdf_get_encoding($fdf);

    if ($encoding !== '') {
        echo 'Zeichenkodierung des FDF-Dokuments: ' . $encoding;
    } else {
        echo 'Kein Encoding-Schlüssel im FDF-Dokument vorhanden.';
    }

    // Ressource schließen
    fdf_close($fdf);
} else {
    echo 'FDF-Dokument konnte nicht geöffnet werden.';
}
?>
Zeichenkodierung des FDF-Dokuments: Shift-JIS

Encoding beim Verarbeiten von FDF-Formulardaten berücksichtigen

<?php
// FDF-Daten aus POST-Request verarbeiten
$fdf = fdf_open_string($HTTP_FDF_DATA);

if ($fdf !== false) {
    $encoding = fdf_get_encoding($fdf);

    // Feldwert auslesen
    $feldwert = fdf_get_value($fdf, 'nachname');

    // Wenn die Kodierung bekannt ist, konvertieren
    if ($encoding === 'Shift-JIS') {
        $feldwert = mb_convert_encoding($feldwert, 'UTF-8', 'Shift-JIS');
    }

    echo 'Nachname: ' . htmlspecialchars($feldwert);

    fdf_close($fdf);
}
?>
Nachname: Müller

// Wichtig · Fallstricke

Deprecation-Hinweis: Die FDF-Erweiterung wird in modernen PHP-Versionen nicht mehr aktiv weiterentwickelt und ist in PHP 7 und PHP 8 standardmäßig nicht verfügbar. Für neue Projekte sollten Alternativen wie TCPDF oder die pdftk-Bibliothek in Betracht gezogen werden.

Die Funktion ist nur verfügbar, wenn PHP mit der FDF-Unterstützung kompiliert wurde (Konfigurationsoption --with-fdftk). Das FDF Toolkit von Adobe ist ebenfalls erforderlich.

Beim Verarbeiten von Formulardaten aus unterschiedlichen Quellen sollte immer die Zeichenkodierung geprüft werden, um Datenverlust oder fehlerhafte Darstellung von Sonderzeichen zu vermeiden.