Zum Hauptinhalt springen

PdfOcrExtraction@1

Der Node PdfOcrExtraction@1 wird verwendet, um Text und Daten aus PDF-Dateien mittels optischer Zeichenerkennung (OCR) zu extrahieren. Dieser Node verwendet IronOCR zur Verarbeitung von PDF-Dokumenten, einschließlich gescannter Dokumente, und kann Text, Tabellen und Barcodes extrahieren.

Adapter-Voraussetzungen​

Node-Konfiguration​

Für die Felder path, targetPath, targetValueWriteMode und targetValueKind siehe Überblick.

transformations:
- type: PdfOcrExtraction@1
path: $.PdfContent # The path to the base64-encoded PDF content
targetPath: $.ExtractedText # The path where the extracted text will be stored
targetValueWriteMode: Overwrite # The target value write mode
targetValueKind: Simple # The target value kind
pageNumbers: # Specific page numbers to process (optional, if not set all pages will be processed)
- 1
- 2
- 5
language: "en" # OCR language code (e.g., 'en', 'de', 'fr', default: "en")
extractTables: false # Whether to extract tables from the PDF (default: false)
tablesOutputPath: $.Tables # Output path for extracted tables (default: $.Tables)
extractBarcodes: false # Whether to extract barcodes from the PDF (default: false)
barcodesOutputPath: $.Barcodes # Output path for extracted barcodes (default: $.Barcodes)
includeConfidence: false # Whether to include OCR confidence score in output (default: false)
confidenceOutputPath: $.Confidence # Output path for OCR confidence score (default: $.Confidence)
continueOnError: false # Whether to continue processing if OCR extraction fails (default: false)
maxFileSizeBytes: 10000000 # Maximum accepted PDF size in bytes (default: 1000000 = 1 MB)

Konfigurationsparameter​

ParameterTypErforderlichStandardBeschreibung
pageNumbersint[]NeinAlle SeitenBestimmte zu verarbeitende Seitenzahlen
languagestringNeinenOCR-Sprachcode
extractTablesboolNeinfalseOb Tabellen aus dem PDF extrahiert werden sollen
tablesOutputPathstringNein$.TablesAusgabepfad für extrahierte Tabellen
extractBarcodesboolNeinfalseOb Barcodes aus dem PDF extrahiert werden sollen
barcodesOutputPathstringNein$.BarcodesAusgabepfad für extrahierte Barcodes
includeConfidenceboolNeinfalseOb der OCR-Konfidenz-Score einbezogen werden soll
confidenceOutputPathstringNein$.ConfidenceAusgabepfad für den OCR-Konfidenz-Score
continueOnErrorboolNeinfalseOb fortgesetzt werden soll, wenn die Extraktion fehlschlägt
maxFileSizeBytesintNein1000000Maximal akzeptierte PDF-Größe in Bytes; größere Dateien brechen den Node mit einem File too large-Fehler ab. Erhöhen Sie den Wert für Pipelines, die reale Scans verarbeiten

Unterstützte Sprachen​

Der Node unterstützt die folgenden Sprachcodes für OCR:

  • en oder english – Englisch
  • de oder german – Deutsch
  • fr oder french – Französisch
  • es oder spanish – Spanisch
  • it oder italian – Italienisch
  • pt oder portuguese – Portugiesisch
  • nl oder dutch – Niederländisch
  • ru oder russian – Russisch
  • zh oder chinese – Chinesisch (vereinfacht)
  • ja oder japanese – Japanisch
  • ko oder korean – Koreanisch
  • ar oder arabic – Arabisch

Eingabeanforderungen​

  • Die Eingabe muss ein base64-codierter PDF-Dateiinhalt sein
  • Maximale Dateigröße: konfigurierbar über maxFileSizeBytes (Standard: 1 MB / 1.000.000 Bytes)
  • Der PDF-Inhalt muss am angegebenen path verfügbar sein

Ausgabestruktur​

Der Node kann je nach Konfiguration mehrere Ausgaben erzeugen:

  1. Haupttextausgabe (targetPath): Der aus dem PDF extrahierte Text
  2. Tabellen (tablesOutputPath): Strukturierte Tabellendaten, wenn extractTables aktiviert ist
  3. Barcodes (barcodesOutputPath): Barcode-Daten, wenn extractBarcodes aktiviert ist
  4. Konfidenz-Score (confidenceOutputPath): OCR-Konfidenzprozentsatz, wenn includeConfidence aktiviert ist

Fehlerbehandlung​

  • Ist continueOnError auf false gesetzt (Standard), stoppt die Pipeline, wenn die OCR-Extraktion fehlschlägt
  • Ist continueOnError auf true gesetzt, werden Fehler protokolliert, die Pipeline läuft aber weiter
  • Häufige Fehler sind: fehlender PDF-Inhalt, überschrittene Dateigröße, ungültige base64-Codierung oder Fehlschläge bei der OCR-Verarbeitung

Beispiel: Einfache Textextraktion​

triggers:
- type: FromHttpRequest@1
path: /extract/pdf
method: POST
transformations:
- type: PdfOcrExtraction@1
path: $.pdfData
targetPath: $.extractedContent
language: "en"

Beispiel: Text mit Tabellen und Konfidenz extrahieren​

transformations:
- type: PdfOcrExtraction@1
path: $.documentPdf
targetPath: $.text
language: "en"
extractTables: true
tablesOutputPath: $.tables
includeConfidence: true
confidenceOutputPath: $.ocrConfidence

Beispiel: Bestimmte Seiten mit Barcode-Extraktion verarbeiten​

transformations:
- type: PdfOcrExtraction@1
path: $.pdfContent
targetPath: $.extractedText
pageNumbers:
- 1
- 3
- 5
language: "de"
extractBarcodes: true
barcodesOutputPath: $.barcodes
continueOnError: true

Hinweise zur Performance​

hinweis

Die OCR-Verarbeitung kann rechenintensiv sein, insbesondere bei:

  • Großen PDF-Dateien
  • Dokumenten mit vielen Seiten
  • Hochauflösenden gescannten Bildern
  • Komplexen Layouts mit Tabellen und Grafiken

Erwägen Sie den Einsatz von pageNumbers, um die Verarbeitung auf bestimmte Seiten zu beschränken, wenn keine vollständige Dokumentextraktion erforderlich ist.