PDF in HTML umwandeln
Diese Funktion wird eine PDF-Datei in HTML umwandeln und dabei Layout, Absätze und Tabellen erhalten, statt nur den Text herauszulösen. Das Ergebnis lässt sich in eine Website oder ein Intranet einfügen, ohne das Dokument von Hand nachzubauen. Sie befindet sich derzeit in der Bereitstellung.
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 HTML statt eines PDF-Anhangs
Ein PDF in einer E-Mail oder auf einer Website zwingt Besucher zu einem zusätzlichen Klick und einem eigenen Reader; ein HTML-Dokument öffnet sich direkt im Browser, ist durchsuchbar und lässt sich mit dem Seitenlayout der Website verbinden. Für ein Handbuch, eine Preisliste oder Allgemeine Geschäftsbedingungen, die dauerhaft online stehen sollen, ist HTML oft die praktischere Form. Auch Suchmaschinen erfassen den Inhalt einer HTML-Seite in der Regel zuverlässiger als den eines PDF-Anhangs.
Layout erhalten, nicht nur Text
Die Umwandlung wird Absätze, Überschriften und Tabellen des Originals nachbilden, statt den Inhalt auf einen einzigen Textblock zu reduzieren. Damit unterscheidet sie sich von der reinen Textextraktion: Ziel ist ein lesbares HTML-Dokument, das die Gliederung der Vorlage erkennbar lässt. Wer das Ergebnis anschließend im eigenen Content-Management-System weiterbearbeiten möchte, findet dort saubere HTML-Elemente vor, statt einen einzigen unstrukturierten Absatz von Hand in Überschriften und Tabellen zerlegen zu müssen.
Bereitstellung und geplanter Preis
Diese Fähigkeit nimmt derzeit noch keine Ausführungen an, weder auf dieser Seite noch über die API. Wir kündigen das offen an, statt eine Schaltfläche zu zeigen, die ins Leere läuft. Geplant ist ein Preis von $0.052 pro Anfrage plus $0.003 pro Seite, in US-Dollar. Nach der Freigabe steht die Umwandlung auf dieser Seite und über die API (Alias /pdf/to-html) bereit.
Anwendungsfälle
Handbuch dauerhaft im Intranet veröffentlichen
Weber Metallbau GmbH wird ein Maschinenhandbuch als HTML statt als PDF-Anhang ins Intranet stellen, damit es sich direkt im Browser durchsuchen lässt.
Preisliste ohne Download bereitstellen
Bäckerei Hoffmann e. K. wird eine Preisliste künftig als HTML auf der Website zeigen, statt Kundinnen zum Download einer PDF-Datei zu zwingen.
Allgemeine Geschäftsbedingungen online pflegen
Schneider IT-Systeme GmbH & Co. KG wird ihre AGB nach der Umwandlung direkt im Seitenlayout der Website pflegen, statt bei jeder Änderung ein neues PDF hochzuladen.
Häufige Fragen
Kann ich diese Funktion schon nutzen?
Noch nicht. Sie befindet sich in der Bereitstellung und nimmt derzeit keine Ausführungen an. Wir kündigen die Freigabe an, sobald sie erfolgt ist.
Bleibt das Layout des Originals erkennbar?
Ja, Absätze, Überschriften und Tabellen sollen im HTML nachgebildet werden, statt den Inhalt auf einen reinen Textblock zu reduzieren.
Wie unterscheidet sich das von der Textextraktion?
Die Textextraktion liefert reinen Fließtext ohne Struktur. Diese Funktion soll die Struktur des Dokuments als HTML-Elemente erhalten.
Was wird die Umwandlung kosten?
Geplant sind $0.052 pro Anfrage plus $0.003 pro Seite, in US-Dollar, bezahlt per PayPal ohne Abonnement.
Für welche Dateigrößen ist die Funktion ausgelegt?
Für Dateien bis 25 MB und 200 Seiten.
Werden meine Dateien nach der Umwandlung gespeichert?
Nein, auch nach der Freigabe nicht: Dateien werden verschlüsselt übertragen, für die Umwandlung genutzt und danach gelöscht.
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/pdf/to-html \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/to-html", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/to-html",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/to-html", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/to-html", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"pdf": "https://ejemplo.com/documento.pdf"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.to_html",
"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. |