Textinhalt mit NextPDF Connect extrahieren (Pro)
Auf einen Blick
Abschnitt betitelt „Auf einen Blick“Extrahieren Sie Text aus einem vorhandenen PDF zur Indexierung, Analyse oder nachgelagerten Verarbeitung. Das Tool ist extract_text. Es wird gegen den Pro-Tool-Provider geprüft, der new ExtractTextTool() unter dem Protokollnamen extract_text registriert. extract_text ist ein Pro-Tool. Der Server prüft beim Start mit class_exists(), ob es verfügbar ist, und registriert es nur, wenn das Pro-Paket installiert ist. Es unterstützt unformatierte Ausgabe, einen Seitenbereich und seitenweise segmentierte strukturierte Ausgabe.
Installation
Abschnitt betitelt „Installation“composer require nextpdf/servercomposer require nextpdf/proBinden Sie einen Transport an. Vergewissern Sie sich mit diagnostic.capabilities, dass das Tool verfügbar ist, bevor Sie sich darauf verlassen.
Konzeptioneller Überblick
Abschnitt betitelt „Konzeptioneller Überblick“Die Extraktion liest die textanzeigenden Operatoren des Content-Streams in Stream-Reihenfolge (ISO 32000-2 §9.4). Die Ausgabe spiegelt die kodierte Lesereihenfolge wider (ISO 32000-2 §9.10). Ein gescanntes PDF ohne Textebene liefert nur wenig oder gar keinen Text. Das ist eine Eigenschaft der Quelldatei, kein Fehler des Tools. format: "plain" gibt eine einzelne Zeichenkette zurück. format: "structured" gibt Objekte pro Seite mit Zeichenanzahlen zurück. page_range begrenzt die verarbeiteten Seiten.
API-Oberfläche
Abschnitt betitelt „API-Oberfläche“| Tool | Stufe | Rolle | Risikostufe |
|---|---|---|---|
extract_text | Pro | Text extrahieren (plain / strukturiert / Bereich) | Sicher |
parse_pdf | Core (env-gesteuert) | Low-Level-Struktur (Seitenanzahl, Metadaten) | Sicher |
Tool-Namen entsprechen den Protokollnamen der Registry. Der Tool-Katalog ist die maßgebliche Referenz. Welche Tools verfügbar sind, hängt von der installierten Stufe ab.
Codebeispiel — Schnellstart
Abschnitt betitelt „Codebeispiel — Schnellstart“extract_textmitsource(einem vom Server lesbaren Pfad) undformat: "plain".extract_textmitpage_range: "1-3"für eine Teilmenge der Seiten.extract_textmitformat: "structured"für eine seitenweise segmentierte Ausgabe.
Codebeispiel — Produktion
Abschnitt betitelt „Codebeispiel — Produktion“Verwenden Sie parse_pdf (oder zuvor ein unbegrenztes extract_text), um die Seitenanzahl zu ermitteln, bevor Sie einen Bereich anfordern. Für RAG/Indexierung sollten Sie format: "structured" bevorzugen, damit jede Seite unabhängig in Chunks zerlegt wird. Bei einer verschlüsselten Quelle geben Sie den Passwort-Parameter an. Zeichenanzahlen sind Anzahlen von UTF-8-Codepunkten, keine Bytes.
Randfälle & Fallstricke
Abschnitt betitelt „Randfälle & Fallstricke“- Quelle fehlt. Ein falscher Pfad führt zu einem Datei-nicht-gefunden-Fehler. Verwenden Sie absolute Pfade, die der Server lesen kann.
- Gescanntes PDF. Ohne Textebene ist der extrahierte Text leer oder nahezu leer. Führen Sie zuerst OCR auf der Quelle aus.
- Seite außerhalb des Bereichs. Ein Bereich außerhalb des Dokuments wird unter Angabe der tatsächlichen Seitenanzahl abgelehnt.
- Verschlüsselte Quelle. Geben Sie den Passwort-Parameter an.
- Pro fehlt. Wenn nur Core installiert ist, wird
extract_textnicht registriert. Prüfen Sie dies mitdiagnostic.capabilities.
Performance
Abschnitt betitelt „Performance“Der Aufwand der Extraktion skaliert mit der Dokumentgröße, und das Budget lässt große Eingaben zu. Für jedes erzeugte Artefakt ist das Profil structural, da dieses Tool Text zurückgibt und kein PDF.
Sicherheitshinweise
Abschnitt betitelt „Sicherheitshinweise“Extrahierter Text kann sensible Inhalte enthalten. Behandeln Sie das Ergebnis als vertraulich und geben Sie es nur über einen vertrauenswürdigen Kanal zurück. Das Tool schreibt nicht ins Dateisystem. Es liest lediglich den Quellpfad mit den Rechten des Servers; beschränken Sie daher, welche Pfade ein Aufrufer übergeben darf.
Konformität
Abschnitt betitelt „Konformität“| Aussage | Spezifikation | Klausel | reference_id |
|---|---|---|---|
| Text wird von Textoperatoren in Stream-Reihenfolge angezeigt. | ISO 32000-2 | §9.4 | |
| Die Extraktion spiegelt die kodierte Lesereihenfolge wider. | ISO 32000-2 | §9.10 |
Dieses Recipe behauptet nicht, dass der extrahierte Text bei einem nicht getaggten Dokument eine getreue logische Lesereihenfolge darstellt. Maßgeblich ist die kodierte Reihenfolge.
Kommerzieller Kontext
Abschnitt betitelt „Kommerzieller Kontext“extract_text ist ein Pro-Tool, das nur registriert wird, wenn das Pro-Paket beim Serverstart aufgelöst werden kann.
Transport-Verfügbarkeit
Abschnitt betitelt „Transport-Verfügbarkeit“| Transport | Verfügbar | Hinweise |
|---|---|---|
| MCP (stdio) | Ja (Pro) | Großer Text vergrößert den stdio-Frame stark. |
| REST | Ja (Pro) | Streamen Sie große Ergebnisse, sofern unterstützt. |
| gRPC | Ja (Pro) | Für großen Text gelten Begrenzungen der Nachrichtengröße. |
HITL-Risikostufe
Abschnitt betitelt „HITL-Risikostufe“extract_text ist Sicher (schreibgeschützt, ohne Seiteneffekt) und ist nie gated.
JSON-Envelope des Confirmation-Gates
Abschnitt betitelt „JSON-Envelope des Confirmation-Gates“Schreibgeschützte Extraktion ist nie gated:
{ "allowed": true }