Nutzen Sie unsere API zur Konvertierung von PDF-Rechnungen in das ZUGFeRD-Format (PDF/A-3 mit XML).
Ideal für automatische Rechnungsverarbeitung in ERP-, DMS- oder Web-Systemen.
<?php
$token = 'HIER_IHR_TOKEN'; // API-Token
$apiUrl = 'https://konverter.zugferd-rechnungen.de/api/pdf2zugferd.php';
$inputFile = 'rechnung.pdf';
$outputFile = 'ZUGFeRD_rechnung.pdf';
// Eingabedatei prüfen
if (!file_exists($inputFile)) {
exit("❌ Fehler: Die Eingabedatei '{$inputFile}' wurde nicht gefunden.\n");
}
$cfile = new CURLFile(realpath($inputFile), 'application/pdf', basename($inputFile));
$postFields = [
'file' => $cfile,
'token' => $token,
'dscheck' => 'yes', //Uebertragung und Datenschutz zustimmen
'desiredFilename' => $outputFile
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
$response = curl_exec($ch);
$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$body = substr($response, $headerSize);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
curl_close($ch);
if (str_contains($contentType, 'application/pdf')) {
file_put_contents($outputFile, $body);
echo "✅ Gespeichert: {$outputFile}\n";
} else {
echo "❌ Fehler:\n" . $body;
}
?>
<form id="uploadForm">
<input type="file" name="file" accept="application/pdf" required>
<input type="text" name="desiredFilename" value="ZUGFeRD_Rechnung.pdf">
<button type="submit">Hochladen</button>
</form>
<script>
document.getElementById('uploadForm').addEventListener('submit', async function(e) {
e.preventDefault();
const form = e.target;
const fileInput = form.file;
const file = fileInput.files[0];
if (!file) {
alert('❌ Bitte wählen Sie eine PDF-Datei aus.');
return;
}
if (file.type !== 'application/pdf') {
alert('❌ Nur PDF-Dateien sind erlaubt.');
return;
}
const filename = form.desiredFilename.value || 'ZUGFeRD_Rechnung.pdf';
const formData = new FormData();
formData.append('file', file);
formData.append('token', 'HIER_IHR_TOKEN');
formData.append('dscheck', 'yes'); //Uebertragung und Datenschutz zustimmen
formData.append('desiredFilename', filename);
try {
const res = await fetch('https://konverter.zugferd-rechnungen.de/api/pdf2zugferd.php', {
method: 'POST',
body: formData
});
if (!res.ok || !res.headers.get('Content-Type')?.includes('application/pdf')) {
const text = await res.text();
throw new Error(text);
}
const blob = await res.blob();
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename;
a.click();
URL.revokeObjectURL(url);
} catch (err) {
alert('❌ Fehler beim Upload oder bei der Konvertierung:\n' + err.message);
}
});
</script>
Wichtiger Hinweis: Ein Token im JS-Sourcecode ist ein Sicherheitsrisiko, insbesondere bei öffentlich zugänglichem JavaScript
im Browser. Jeder Nutzer kann den Token einsehen, daher sichern Sie den Token serverseitig bsp.-weise mit PHP.