Speichern von OCR-Ergebnissen als hOCR HTML in C# mit IronOCR
IronOCR ermöglicht es Entwicklern, OCR-Ergebnisse als hOCR HTML-Dateien zu speichern, indem RenderHocr auf true gesetzt und SaveAsHocrFile- oder SaveAsHocrString-Methoden verwendet werden, wodurch das Textlayout und die Zeichenkoordinaten im strukturierten HTML-Format erhalten bleiben.
Schnellstart: Speichern Sie OCR-Ausgaben als hOCR HTML-Datei
Aktivieren Sie das hOCR-Rendering und exportieren Sie die Ergebnisse direkt in eine HTML-Datei mit einem Setup und einem Methodenaufruf.
-
Installieren Sie IronOCR mit NuGet Package Manager
-
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var hocr = new IronTesseract { Configuration = { RenderHocr = true } }.Read(new OcrInput("image.png")).SaveAsHocrString(); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Herunterladen einer C#-Bibliothek zum Speichern von Ergebnissen als IronOCR in einer HTML-Datei
- Bereiten Sie das Zielbild und das PDF-Dokument vor
- Setzen Sie die RenderHocr Eigenschaft auf true
- Verwenden Sie die Methode
SaveAsHocrFile, um eine HTML-Datei auszugeben - Verwenden Sie die Methode
SaveAsHocrString, um einen HTML-String auszugeben
Was ist hOCR und warum sollte man es verwenden?
hOCR, das für "HTML-based OCR" steht, ist ein Dateiformat, das zur Darstellung der Ergebnisse der optischen Zeichenerkennung (OCR) in strukturierter Weise verwendet wird. hOCR-Dateien sind in HTML geschrieben und bieten eine Möglichkeit, erkannten Text, Layoutinformationen und die Koordinaten jedes erkannten Zeichens in einem Bild oder Dokument zu speichern. Dieses strukturierte Format macht hOCR besonders wertvoll für Anwendungen, die Textpositionsdaten benötigen, wie z. B. die Indizierung von Dokumenten, Tools für die Barrierefreiheit und erweiterte Suchimplementierungen.
Das hOCR-Format ist wichtig für Entwickler, die Anwendungen erstellen und nicht nur verstehen müssen, welcher Text vorhanden ist, sondern auch, wo dieser Text im Originaldokument erscheint. Diese räumlichen Informationen ermöglichen Funktionen wie das Hervorheben von Text zur Fehlersuche, das Erstellen von anklickbaren Overlays auf Originalbildern und die Wahrung der Integrität des Dokumentenlayouts bei der Konvertierung gescannter Dokumente in barrierefreie Formate. Für Unternehmensanwendungen, die gescannte Dokumente verarbeiten, bietet hOCR die Grundlage für fortgeschrittene Workflows zum Verstehen und Extrahieren von Dokumenten.
Wie kann ich OCR-Ergebnisse als hOCR-Dateien exportieren?
Um das Ergebnis als hOCR zu exportieren, aktivieren Sie zunächst die Configuration.RenderHocr-Eigenschaft, indem Sie sie auf true setzen. Nachdem Sie das OcrResult-Objekt von der Read-Methode erhalten haben, verwenden Sie die SaveAsHocrFile-Methode, um das OCR-Ergebnis als HTML zu exportieren. Diese Methode gibt eine HTML-Datei aus, die das Leseergebnis der Eingabedokumente enthält. Der untenstehende Code zeigt die Verwendung der folgenden -Datei.
:path=/static-assets/ocr/content-code-examples/how-to/html-export-export-html.cs
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Enable render as hOCR
ocrTesseract.Configuration.RenderHocr = true;
// Add image
using var imageInput = new OcrImageInput("Potter.tiff");
imageInput.Title = "Html Title";
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Export as HTML
ocrResult.SaveAsHocrFile("result.html");
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Enable render as hOCR
ocrTesseract.Configuration.RenderHocr = True
' Add image
Dim imageInput = New OcrImageInput("Potter.tiff")
imageInput.Title = "Html Title"
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Export as HTML
ocrResult.SaveAsHocrFile("result.html")
Die Klasse OcrInput bietet umfangreiche Möglichkeiten zur Vorbereitung von Bildern vor der OCR-Verarbeitung. Sie können Filter anwenden, Bereiche von Interesse festlegen und verschiedene Eingabeformate verarbeiten, einschließlich mehrseitiger TIFF-Dateien. Bei der Arbeit mit PDF OCR-Textextraktion werden die gleichen hOCR-Exportmethoden nahtlos angewendet.
Warum ist die Einstellung von RenderHocr wichtig?
Das Setzen der RenderHocr-Eigenschaft auf true weist IronOCR an, die erforderliche hOCR-Struktur während des OCR-Prozesses zu erzeugen. Ohne diese Konfiguration erzeugen die SaveAsHocrFile- und SaveAsHocrString-Methoden keine ordnungsgemäß formatierten hOCR-Ausgaben mit Layout-Erhaltung. Diese Konfiguration muss gesetzt sein, bevor die Read-Methode aufgerufen wird, da sie beeinflusst, wie die Tesseract-Engine die Ausgabedaten verarbeitet und strukturiert.
Das hOCR-Format bewahrt wichtige Metadaten, darunter:
- Bounding Boxes auf Zeichenebene
- Wortvertrauenswerte
- Zeilen- und Absatzstruktur
- Seitenabmessungen und DPI-Informationen
- Merkmale der Schriftart, sofern erkennbar
Diese Metadaten sind besonders nützlich bei der Implementierung von Computer Vision-Workflows oder beim Aufbau von Systemen, die die Struktur von Dokumenten über die einfache Textextraktion hinaus verstehen müssen.
Welche Dateitypen unterstützen den hOCR-Export?
IronOCR unterstützt den hOCR-Export aus verschiedenen Bildformaten wie TIFF, PNG, JPEG, BMP und GIF. PDF-Dokumente können ebenfalls verarbeitet und als hOCR exportiert werden, wobei die Text- und Layoutinformationen jeder Seite in der HTML-Struktur erhalten bleiben. Die Bibliothek verarbeitet sowohl einseitige Bilder als auch mehrseitige Dokumente nahtlos.
Für optimale Ergebnisse mit verschiedenen Dateitypen:
- TIFF: Ideal für gescannte Dokumente, unterstützt mehrseitige Verarbeitung
- PDF: Hervorragend geeignet für gemischte Inhalte (Text und Bilder)
- PNG/JPEG: Am besten geeignet für Fotos oder Screenshots, die OCR erfordern
- BMP: Unkomprimiertes Format, geeignet für hochwertige Scans
Bei speziellen Dokumenttypen wie Reisepässen oder Lizenzschildern hilft das hOCR-Format dabei, die räumlichen Beziehungen zwischen verschiedenen Textelementen zu erhalten, so dass es einfacher wird, bestimmte Felder anhand ihrer Position zu extrahieren.
Wie kann ich OCR-Ergebnisse als HTML-Strings exportieren?
Verwenden Sie das gleiche TIFF-Beispielbild und nutzen Sie die SaveAsHocrString-Methode, um das OCR-Ergebnis als HTML-String zu exportieren. Diese Methode gibt einen HTML-String zurück.
:path=/static-assets/ocr/content-code-examples/how-to/html-export-export-html-string.cs
// Export as HTML string
string hocr = ocrResult.SaveAsHocrString();
' Export as HTML string
Dim hocr As String = ocrResult.SaveAsHocrString()
Die String-Ausgabe enthält vollständiges hOCR-Markup, das weiterverarbeitet, in Datenbanken gespeichert oder in Webanwendungen integriert werden kann. Dieser Ansatz ist besonders nützlich bei der Entwicklung von durchsuchbaren PDF-Systemen oder bei der Implementierung benutzerdefinierter Lösungen zur Indizierung von Dokumenten. Für Entwickler, die mit 125 internationalen Sprachen arbeiten, bewahrt das hOCR-Format sprachspezifische Textattribute und Informationen zur Leserichtung.
Wann sollte ich String-Ausgabe anstelle von Dateien verwenden?
Die String-Ausgabe ist ideal, wenn Sie die hOCR-Daten im Speicher verarbeiten oder manipulieren, mit Webdiensten integrieren oder Ergebnisse in einer Datenbank speichern müssen. Dieser Ansatz vermeidet Abhängigkeiten vom Dateisystem und ermöglicht eine dynamische HTML-Generierung für Webanwendungen. Häufige Anwendungsfälle umfassen:
- Web-API-Integration: Rückgabe von hOCR-Daten direkt in API-Antworten
- Datenbankspeicherung: Speichern von OCR-Ergebnissen mit Dokument-Metadaten
- Echtzeit-Verarbeitung: Verarbeiten Sie Ergebnisse ohne Festplatten-E/A-Overhead
- Cloud-Funktionen: Arbeiten in serverlosen Umgebungen mit begrenztem Dateizugriff
- Inhaltsverwaltungssysteme: Integration von OCR-Ergebnissen in bestehende Dokumenten-Workflows
Für Anwendungen, die eine Fortschrittskontrolle erfordern, ermöglicht die String-Ausgabe die sofortige Verarbeitung von Teilergebnissen, sobald diese verfügbar sind. Dies ist besonders bei der Implementierung von Multithreaded OCR-Verarbeitung von Vorteil, wenn mehrere Dokumente gleichzeitig verarbeitet werden.
Wie kann ich mehrere Seiten zu HTML-Strings verarbeiten?
Bei der Arbeit mit mehrseitigen Dokumenten konsolidiert SaveAsHocrString alle Seiten in einem einzigen HTML-String mit ordnungsgemäßen Seitenteilungen. Der Inhalt jeder Seite wird in entsprechende hOCR-Elemente eingebettet, wobei die Dokumentstruktur und die Seitengrenzen beibehalten werden.
:path=/static-assets/ocr/content-code-examples/how-to/html-hocr-export-4.cs
// Processing multi-page documents
using var multiPageInput = new OcrPdfInput("multi-page-document.pdf");
multiPageInput.Title = "Multi-Page Document";
// Configure for hOCR output
IronTesseract tesseract = new IronTesseract();
tesseract.Configuration.RenderHocr = true;
// Read all pages
OcrResult result = tesseract.Read(multiPageInput);
// Export as single HTML string with all pages
string fullHocr = result.SaveAsHocrString();
Imports IronOcr
' Processing multi-page documents
Using multiPageInput As New OcrPdfInput("multi-page-document.pdf")
multiPageInput.Title = "Multi-Page Document"
' Configure for hOCR output
Dim tesseract As New IronTesseract()
tesseract.Configuration.RenderHocr = True
' Read all pages
Dim result As OcrResult = tesseract.Read(multiPageInput)
' Export as single HTML string with all pages
Dim fullHocr As String = result.SaveAsHocrString()
End Using
Dieser Ansatz funktioniert nahtlos mit PDF-Streams und unterstützt erweiterte Szenarien wie die Verarbeitung bestimmter Seitenbereiche oder die Anwendung verschiedener OCR-Konfigurationen auf verschiedene Seiten.
Fortgeschrittene Tipps zur hOCR-Implementierung
Was sind die besten Praktiken für die Qualität der hOCR-Ausgabe?
Um die Qualität Ihrer hOCR-Ausgabe zu maximieren, sollten Sie vor der Verarbeitung Bildoptimierungsfilter anwenden:
:path=/static-assets/ocr/content-code-examples/how-to/html-hocr-export-5.cs
var input = new OcrImageInput("document.png");
input.DeNoise(); // Remove image noise
input.Deskew(); // Correct image rotation
input.Scale(2); // Upscale for better recognition
IronTesseract ocr = new IronTesseract();
ocr.Configuration.RenderHocr = true;
var result = ocr.Read(input);
Dim input As New OcrImageInput("document.png")
input.DeNoise() ' Remove image noise
input.Deskew() ' Correct image rotation
input.Scale(2) ' Upscale for better recognition
Dim ocr As New IronTesseract()
ocr.Configuration.RenderHocr = True
Dim result = ocr.Read(input)
Bei geringwertigen Scans können zusätzliche Vorverarbeitungsschritte die hOCR-Genauigkeit erheblich verbessern. Der Filter-Assistent hilft bei der Ermittlung optimaler Filterkombinationen für Ihre spezifischen Dokumenttypen.
Wie unterstützt die hOCR-Struktur die erweiterte Verarbeitung?
Die generierte hOCR folgt der Standardspezifikation mit verschachtelten div-Elementen, die die Dokumenthierarchie darstellen:
<div class='ocr_page' title='bbox 0 0 2480 3508'>
<div class='ocr_carea' title='bbox 156 114 2324 3395'>
<p class='ocr_par' title='bbox 157 114 2323 164'>
<span class='ocr_line' title='bbox 157 114 2323 164'>
<span class='ocr_word' title='bbox 157 114 294 161'>Hello</span>
<span class='ocr_word' title='bbox 334 119 483 161'>World</span>
</span>
</p>
</div>
</div>
<div class='ocr_page' title='bbox 0 0 2480 3508'>
<div class='ocr_carea' title='bbox 156 114 2324 3395'>
<p class='ocr_par' title='bbox 157 114 2323 164'>
<span class='ocr_line' title='bbox 157 114 2323 164'>
<span class='ocr_word' title='bbox 157 114 294 161'>Hello</span>
<span class='ocr_word' title='bbox 334 119 483 161'>World</span>
</span>
</p>
</div>
</div>
Diese Struktur ermöglicht eine präzise Extraktion von Textstellen und erweiterte Funktionen zur Dokumentenanalyse, was sie für Anwendungen, die räumliche Textbeziehungen oder die Erhaltung des Layouts erfordern, wertvoll macht. Bei der Arbeit mit Tabellenextraktion hilft das hOCR-Format, die tabellarische Struktur und die Zellbeziehungen beizubehalten.
Die bbox (Bounding Box)-Attribute enthalten Koordinaten im Format "bbox left top right bottom", die pixelgenaue Positionsdaten für jedes Textelement liefern. Diese Informationen sind wichtig für:
- Erstellen interaktiver Dokumentenbetrachter mit Textauswahl
- Implementierung von Redaktionssystemen, die das Layout erhalten
- Erstellung von Zugänglichkeitswerkzeugen, die die Lesereihenfolge beibehalten
- Entwicklung von Systemen zum Vergleich von Dokumenten
Für Entwickler, die noch detailliertere Konfigurationsoptionen benötigen, bietet der Tesseract detailed configuration guide erweiterte Einstellungen, die die Qualität und Struktur der hOCR-Ausgabe beeinflussen.
RenderHocr
Häufig gestellte Fragen
Was ist hOCR und warum ist es für OCR-Anwendungen nützlich?
hOCR (HTML-basierte OCR) ist ein Dateiformat, das OCR-Ergebnisse in strukturiertem HTML darstellt und sowohl erkannten Text als auch räumliche Informationen wie Zeichenkoordinaten speichert. IronOCR unterstützt den hOCR-Export, der für Anwendungen nützlich ist, die Textpositionsdaten, Dokumentenindizierung, Eingabehilfen und die Erhaltung der Layoutintegrität bei der Verarbeitung gescannter Dokumente benötigen.
Wie kann ich die hOCR-Ausgabe in meiner C# OCR-Anwendung aktivieren?
Um die hOCR-Ausgabe mit IronOCR zu aktivieren, setzen Sie die Eigenschaft Configuration.RenderHocr in Ihrer IronTesseract-Instanz auf true. Dadurch wird IronOCR angewiesen, die OCR-Ergebnisse im hOCR-Format aufzubereiten, so dass Sie sie mit den Methoden SaveAsHocrFile oder SaveAsHocrString exportieren können.
Welche Methoden gibt es für den Export von hOCR-Ergebnissen?
IronOCR bietet zwei Methoden für den Export von hOCR-Ergebnissen: SaveAsHocrFile(), die die Ausgabe direkt in einer HTML-Datei auf der Festplatte speichert, und SaveAsHocrString(), die den hOCR-HTML-Code als String zur weiteren Verarbeitung oder Speicherung in Ihrer Anwendung zurückgibt.
Kann ich OCR-Ergebnisse mit nur einer Codezeile als hOCR exportieren?
Ja, IronOCR ermöglicht den einzeiligen hOCR-Export mit Methodenverkettung. Sie können eine IronTesseract-Instanz mit aktiviertem RenderHocr erstellen, Ihre Eingaben lesen und SaveAsHocrString() aufrufen - alles in einer einzigen Anweisung: var hocr = new IronTesseract { Configuration = { RenderHocr = true } }.Read(new OcrInput("image.png")).SaveAsHocrString();
Welche Art von räumlichen Informationen behält hOCR aus OCR-Ergebnissen bei?
hOCR bewahrt die Layout-Informationen und die Koordinaten jedes erkannten Zeichens im Originalbild oder -dokument. Der hOCR-Export von IronOCR behält diese räumlichen Daten bei und ermöglicht so Funktionen wie die Texthervorhebung für die Fehlersuche, die Erstellung anklickbarer Überlagerungen auf Bildern und das Verständnis, wo der Text im Originaldokument erscheint.
Unterstützt IronOCR mehrere Sprachen?
IronOCR unterstützt mehrere Sprachen und ist damit ein vielseitiges Werkzeug für globale Anwendungen, die Texterkennung in verschiedenen Sprachen erfordern.
Kann IronOCR in bestehende Anwendungen integriert werden?
IronOCR ist darauf ausgelegt, leicht in bestehende Anwendungen mithilfe von C# integriert zu werden, sodass Entwickler OCR-Funktionalität mit minimalem Aufwand zu ihrer Software hinzufügen können.
Was sind die Vorteile der Nutzung von IronOCR für das Dokumentenmanagement?
Die Verwendung von IronOCR für das Dokumentenmanagement rationalisiert den Arbeitsablauf, indem gescannte Dokumente in durchsuchbare und bearbeitbare Texte umgewandelt werden, wodurch der Bedarf an manueller Dateneingabe reduziert und die Zugänglichkeit von Dokumenten verbessert wird.
Wie kann IronOCR die Datenqualität verbessern?
IronOCR verbessert die Datenqualität durch seine fortschrittlichen Erkennungsalgorithmen und Bildkorrekturfunktionen, die sicherstellen, dass der Textextraktionsprozess sowohl zuverlässig als auch genau ist.
Gibt es eine kostenlose Testversion von IronOCR?
Ja, Iron Software bietet eine kostenlose Testversion von IronOCR an, die es den Benutzern ermöglicht, die Funktionen und Fähigkeiten zu testen, bevor sie eine Kaufentscheidung treffen.

