ODT in PDF umwandeln
Das ODT-Format von LibreOffice und OpenOffice öffnet nicht jeder Empfänger problemlos, und Formatierung kann beim Wechsel zwischen Programmen abweichen. Dieser Dienst wandelt eine ODT-Datei in ein PDF um, das auf jedem Gerät exakt gleich aussieht – ohne dass der Empfänger LibreOffice installiert haben muss.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Warum ODT nicht überall ankommt
Das OpenDocument-Format ist offen und gut dokumentiert, aber nicht jede Behörde, jedes Unternehmen oder jeder private Empfänger hat ein Programm installiert, das es öffnet. Wird eine ODT-Datei versehentlich mit einem anderen Programm geöffnet, verschieben sich mitunter Absätze oder Schriftarten. Das PDF umgeht dieses Problem vollständig: Es braucht keine bestimmte Software, nur einen PDF-Reader, den praktisch jedes Gerät bereits mitbringt. Für den Versand an externe Stellen ist das PDF damit die verlässlichere Wahl als das Ursprungsformat.
Öffentliche Verwaltung und offene Software
Mehrere Behörden und öffentliche Einrichtungen in Deutschland arbeiten mit LibreOffice statt mit kommerzieller Software, unter anderem aus Kostengründen und wegen offener Standards. Dokumente, die intern als ODT entstehen, müssen für den Versand an Bürgerinnen und Bürger oder externe Stellen dennoch häufig als PDF vorliegen. Diese Umwandlung übernimmt genau diesen letzten Schritt, ohne dass am ODT-Original etwas verändert werden muss. Das Ausgangsdokument bleibt dabei vollständig erhalten und lässt sich bei Bedarf jederzeit erneut umwandeln.
Was bei der Umwandlung erhalten bleibt
Schriftarten werden eingebettet, Absätze, Tabellen, Bilder, Kopf- und Fußzeilen sowie die Seitenaufteilung bleiben unverändert. Auch Dokumente mit Formularfeldern oder eingebetteten Kalkulationsbereichen durchlaufen die Umwandlung ohne Bruch. Das Ergebnis ist ein PDF, das sich von einer Umwandlung aus Word oder direkt aus LibreOffice exportiert nicht unterscheidet. Wer regelmäßig ODT-Dateien versendet, kann die Umwandlung als festen letzten Schritt vor dem Versand einplanen, statt sie von Fall zu Fall manuell im Programm zu exportieren.
Preis und aktueller Stand
Diese Funktion befindet sich derzeit in der Bereitstellung und nimmt noch keine Ausführungen entgegen. Der Preis steht bereits fest: $0.052 pro Anfrage plus $0.003 pro Seite – ein achtseitiges Dokument kostet $0.076. Die Grenze liegt bei 25 MB und 200 Seiten pro Datei. Preis und Grenzen ändern sich beim Start nicht, sodass Sie eine Integration bereits jetzt zuverlässig planen können.
Anwendungsfälle
Bürgeranschreiben aus einer Verwaltung
Eine kommunale Verwaltung erstellt Bescheide in LibreOffice als ODT und wandelt sie vor dem Versand in PDF um, damit jede Bürgerin und jeder Bürger das Dokument ohne besondere Software öffnen kann.
Verein mit offener Software
Ein Sportverein verwaltet Protokolle und Mitgliederschreiben in LibreOffice. Vor dem Versand an die Mitglieder wandelt der Vorstand jedes Dokument in PDF um, damit das Layout überall gleich ankommt.
Wechsel zwischen Textprogrammen ohne Layoutbruch
Anna Hoffmann arbeitet mit LibreOffice, ihr Auftraggeber erwartet aber ein PDF. Die Umwandlung erspart ihr, jedes Dokument manuell im Programm zu exportieren.
Handbuch aus dem Open-Source-Redaktionssystem
Ein Verlag erstellt technische Handbücher in ODT und wandelt jede fertige Fassung automatisch in PDF um, bevor sie an die Druckerei geht.
Häufige Fragen
Muss der Empfänger LibreOffice installiert haben, um das Ergebnis zu öffnen?
Nein, das ist genau der Zweck der Umwandlung: Das PDF öffnet jeder gängige PDF-Reader, ganz ohne LibreOffice oder OpenOffice.
Werden Formularfelder aus dem ODT übernommen?
Ja, Formularfelder und eingebettete Kalkulationsbereiche werden mit umgewandelt und erscheinen im PDF an der ursprünglichen Position.
Funktioniert das auch mit alten ODT-Versionen?
Der Dienst verarbeitet das gängige OpenDocument-Textformat unabhängig von der LibreOffice- oder OpenOffice-Version, mit der die Datei ursprünglich erstellt wurde.
Was kostet die Umwandlung eines achtseitigen Dokuments?
$0.052 Grundgebühr plus 8 × $0.003 = $0.076, abgerechnet pro Anfrage.
Bleibt der Inhalt meines Dokuments gespeichert?
Nein, die Datei wird nur während der Verarbeitung vorgehalten und danach gelöscht, ohne weitere Nutzung.
Wann nimmt diese Funktion Ausführungen an?
Noch nicht, sie befindet sich in der Bereitstellung. Preis und Grenzen sind bereits veröffentlicht und gelten unverändert ab dem Start.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/doc/odt-to-pdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/doc/odt-to-pdf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/odt-to-pdf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/odt-to-pdf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/odt-to-pdf", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"input": "…"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.odt_to_pdf",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
max_pages | 200 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
413 | input_too_large | Die Eingabe überschreitet das Größenlimit dieser Aufgabe – die genaue Grenze steht auf der Seite. |