ForHosting KIT · Dokumente & PDF

Text aus PDF-Seiten extrahieren und geordnet verbinden

Zwei Seitentexte, ein Quartalsbericht und sein Anhang, werden zu einem Dokument mit der Marke --- PAGE BREAK --- dazwischen, in Ihrer Reihenfolge und ohne Umschreiben. Praktisch nach einem Textleser oder einer Texterkennung. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Führen Sie getrennte Textblöcke einzelner PDF-Seiten zu einer verlässlichen Zeichenfolge zusammen, ohne Seitengrenzen zu verlieren. Übergeben Sie den bereits extrahierten Text jeder Seite in der richtigen Reihenfolge; die Funktion setzt dazwischen eine klare Marke. Sie führt keine OCR durch und lädt oder analysiert keine PDF-Datei. Stattdessen erledigt sie den letzten Montageschritt für Abläufe, die bereits einen Textblock je Seite liefern und eine stabile, durchsuchbare oder exportierbare Ausgabe benötigen.

Bereiten Sie geordnete Seitenblöcke vor

Übergeben Sie ein pages-Array mit mindestens einem Objekt und tragen Sie den extrahierten Text jeder PDF-Seite in dessen Feld text ein. Die Array-Position bestimmt die Reihenfolge: Der erste Datensatz steht für Seite eins, der zweite für Seite zwei und so weiter. Die Funktion sortiert nicht, leitet keine Seitenzahlen ab und untersucht keine PDF-Datei, weil dies eine zuvor festgelegte Reihenfolge unbemerkt verändern könnte.

Jeder text-Wert darf Überschriften, Absätze, Leerzeilen, Unicode-Zeichen oder eine leere Zeichenfolge enthalten, wenn eine echte Seite keinen extrahierbaren Text besitzt. Eine leere Seite ist zulässig und ihre Position bleibt durch die benachbarten Marken sichtbar. Jeder Eintrag muss dennoch ein Objekt mit einem text-Wert vom Typ String sein; fehlende Werte, Zahlen, verschachtelte Arrays und andere Formen werden abgelehnt.

Der strenge Vertrag verhindert unbeabsichtigte Umwandlungen.

Verstehen Sie das verbundene Ergebnis

Zwischen jedem benachbarten Paar setzt der Algorithmus zwei Zeilenumbrüche, die Marke --- PAGE BREAK --- und zwei weitere Umbrüche. Abgesehen vom Einfügen der Trenner kürzt, normalisiert, ordnet, interpretiert oder verändert der Algorithmus den Inhalt nicht. Führende Leerzeichen, abschließende Umbrüche, wiederholte Leerzeilen, Satzzeichen und nichtlateinische Schriften bleiben erhalten.

Das ist beabsichtigt: Eine Montage soll extrahierte Belege bewahren. Wenn Sie später bereinigten Fließtext benötigen, verwenden Sie eine getrennte, ausdrücklich definierte Normalisierung. Zum erneuten Aufteilen nutzen Sie die zurückgegebene Marke einschließlich ihrer Zeilenumbrüche.

Binden Sie die Funktion in einen PDF-Ablauf ein

Setzen Sie diese Funktion ein, nachdem ein Textschicht-Leser, OCR-System, Dokumentparser oder Upload-Ablauf einen Block je Seite erzeugt hat. Sie hilft, wenn das nächste System eine einzige Zeichenfolge erwartet, Prüfer, Suchwerkzeuge oder Zitatlogik aber weiterhin sichtbare Grenzen benötigen. Eine Suchindex-Pipeline kann Seiten vor der Indizierung verbinden und Kontextwechsel markieren.

Ein Archiv kann eine stabile Textdarstellung neben dem Originaldokument speichern. Eine Sprachverarbeitung kann den gesamten Text übernehmen, ohne Arrays durchlaufen zu müssen. Dieselbe Eingabe ergibt stets dieselbe Ausgabe.

Die Qualität hängt vollständig von der vorherigen Extraktion ab; vertauschte Spalten, fehlende Zeichen oder reine Bildseiten müssen dort korrigiert werden.

Text für Suchindizes vorbereiten

Verbinden Sie Seitenergebnisse zu einer indexierbaren Zeichenfolge und behalten Sie eindeutige Grenzen zur Prüfung.

OCR-Seitenausgaben montieren

Fügen Sie separat erkannte Seiten zusammen, damit Zusammenfassung oder Klassifizierung ein geordnetes Dokument erhält.

Archivtext neben dem PDF anlegen

Speichern Sie eine deterministische Textdarstellung beim PDF und machen Sie Seitenwechsel dauerhaft sichtbar.

Liest diese Funktion eine PDF-Datei?

Nein. Sie übernimmt bereits extrahierte Blöcke einzelner Seiten und verbindet sie ausschließlich in ihrer Reihenfolge.

Darf eine Seite eine leere Zeichenfolge enthalten?

Ja. Sie steht für eine Seite ohne extrahierten Text und behält ihre ursprüngliche Position zwischen den Grenzen.

Was trennt im Ergebnis eine Seite von der nächsten?

Zwei Zeilenumbrüche, die Marke --- PAGE BREAK --- und zwei weitere Zeilenumbrüche. Vor der ersten und nach der letzten Seite wird nichts ergänzt, der Text beginnt und endet also genau so, wie Sie ihn übergeben haben.

Werden Leerzeichen oder Zeilenumbrüche in meinem Text bereinigt?

Nein. Führende Leerzeichen, abschließende Umbrüche, wiederholte Leerzeilen, Satzzeichen und nicht lateinische Schriften bleiben erhalten. Wenn Sie glatten Fließtext brauchen, wenden Sie danach eine eigene, ausdrückliche Bereinigung an.

Kann ich den zusammengefügten Text wieder in Seiten teilen?

Ja: Trennen Sie an der Marke samt den umgebenden Zeilenumbrüchen. Bedenken Sie aber, dass derselbe wörtliche Text bereits innerhalb einer Seite vorkommen könnte, und prüfen Sie das vorher.

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.

POSThttps://api.kit.forhosting.com/pdf/extract-text

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/pdf/extract-text \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pages":[{"text":"Quarterly report\nRevenue increased by 12%."},{"text":"Appendix\nFigures are unaudited."}]}'
{
  "pages": [
    {
      "text": "Quarterly report\nRevenue increased by 12%."
    },
    {
      "text": "Appendix\nFigures are unaudited."
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.extract_text",
  "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.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_mb25
max_pages200
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Bereiten Sie geordnete Seitenblöcke vor

Pro Anfrage sind höchstens 10000 Seitenblöcke zulässig.

Verstehen Sie das verbundene Ergebnis

Die Antwort enthält text, pages und page_break_marker. Das Feld text übernimmt die ursprünglichen Zeichenfolgen exakt in der übergebenen Reihenfolge. Vor der ersten und nach der letzten Seite wird keine Marke ergänzt. pages nennt die Anzahl der verbundenen Blöcke, während page_break_marker den Trenner für nachgelagerten Code offenlegt.

Binden Sie die Funktion in einen PDF-Ablauf ein

Die Verarbeitung ist deterministisch und auf das gelieferte JSON beschränkt: Netzwerk, Zufall, aktuelle Zeit, OCR und PDF-Dekodierung werden nicht verwendet. Automatisierte Anfragen kosten $0.002.

Welche Marke trennt die Seiten?

Sie setzt --- PAGE BREAK --- mit jeweils zwei Zeilenumbrüchen auf beiden Seiten und liefert sie in page_break_marker zurück.

Was geschieht, wenn ich keine Seiten sende?

Die Anfrage schlägt mit invalid_input fehl, da mindestens ein Seitenblock erforderlich ist.

Was kostet eine Anfrage?

Automatisierte Anfragen nutzen den veröffentlichten Grundpreis von $0.002; ein Seitenaufschlag fällt nicht an.

Vollständige KIT-Dokumentation lesen →