# Falsche Zeilenumbrüche in einem Windows Forms TextBox
Der mit IronOCR extrahierte OCR-Text kann seine Zeilenumbrüche verlieren, wenn er in einem Windows Forms `TextBox` angezeigt wird, und auf weniger Zeilen als im Originalbild zusammenbrechen.
Die Ursache ist eine Diskrepanz bei Zeilenumbrüchen. IronOCR gibt Zeilenumbrüche als einfachen Zeilenvorschub (`\n`) zurück, aber ein Windows Forms `TextBox` rendert einen Umbruch nur, wenn es einen Wagenrücklauf gefolgt von einem Zeilenvorschub (`\r\n`) sieht. Ohne den Wagenrücklauf ignoriert das Steuerelement den Umbruch.
Die OCR wird anhand eines Quellbildes wie dem unten ausgeführt:

Die Bindung des Roh-OCR-Ergebnisses direkt an das Steuerelement lässt den Text auf ein paar Zeilen zusammenbrechen, anstatt das ursprüngliche Layout beizubehalten:

## Lösung
### 1. Verwenden Sie AdvancedScan im 64-Bit-Modus
Installieren Sie das `IronOcr.Extensions.AdvancedScan`-Paket für eine verlässlichere Extraktion und führen Sie die Anwendung im 64-Bit-Modus aus, um Kompatibilitätsprobleme zu vermeiden.
```xml
<PackageReference Include="IronOcr.Extensions.AdvancedScan" />
```
### 2. Normalisieren Sie die Zeilenenden
Ersetzen Sie jedes `\n` im Ergebnis durch `\r\n`, bevor Sie den Text dem Steuerelement zuweisen.
```csharp
ocr.Language = OcrLanguage.ChineseSimplifiedBest;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(txtPath.Text);
ocrInput.Deskew();
var result = ocr.ReadScreenShot(ocrInput);
// Replace line feed with carriage return and line feed
string ocrText = result.Text.Replace("\n", "\r\n");
// Display the corrected text in a TextBox
textBox1.Text = ocrText;
}
```
Der `Replace("\n", "\r\n")`-Aufruf schreibt jeden Zeilenvorschub in das Wagenrücklauf/Zeilenvorschub-Paar um, das die `TextBox` erwartet, damit der angezeigte Text die gleiche Zeilenstruktur wie das ursprüngliche Bild beibehält.
### 3. Überprüfen Sie die Ausgabe
Führen Sie die Extraktion erneut durch und vergleichen Sie die `TextBox`-Inhalte mit dem Quellbild. Die Umbrüche sollten jetzt mit dem ursprünglichen Layout übereinstimmen.

Der mit IronOCR extrahierte OCR-Text kann seine Zeilenumbrüche verlieren, wenn er in einem Windows Forms TextBox angezeigt wird, und auf weniger Zeilen als im Originalbild zusammenbrechen.
Die Ursache ist eine Diskrepanz bei Zeilenumbrüchen. IronOCR gibt Zeilenumbrüche als einfachen Zeilenvorschub (\n) zurück, aber ein Windows Forms TextBox rendert einen Umbruch nur, wenn es einen Wagenrücklauf gefolgt von einem Zeilenvorschub (\r\n) sieht. Ohne den Wagenrücklauf ignoriert das Steuerelement den Umbruch.
Die OCR wird anhand eines Quellbildes wie dem unten ausgeführt:
Die Bindung des Roh-OCR-Ergebnisses direkt an das Steuerelement lässt den Text auf ein paar Zeilen zusammenbrechen, anstatt das ursprüngliche Layout beizubehalten:
Lösung
1. Verwenden Sie AdvancedScan im 64-Bit-Modus
Installieren Sie das IronOcr.Extensions.AdvancedScan-Paket für eine verlässlichere Extraktion und führen Sie die Anwendung im 64-Bit-Modus aus, um Kompatibilitätsprobleme zu vermeiden.
Ersetzen Sie jedes \n im Ergebnis durch \r\n, bevor Sie den Text dem Steuerelement zuweisen.
ocr.Language = OcrLanguage.ChineseSimplifiedBest;using (var ocrInput = new OcrInput()){ ocrInput.LoadImage(txtPath.Text); ocrInput.Deskew(); var result = ocr.ReadScreenShot(ocrInput); // Replace line feed with carriage return and line feed string ocrText = result.Text.Replace("\n", "\r\n"); // Display the corrected text in a TextBox textBox1.Text = ocrText;}
ocr.Language = OcrLanguage.ChineseSimplifiedBest;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(txtPath.Text);
ocrInput.Deskew();
var result = ocr.ReadScreenShot(ocrInput);
// Replace line feed with carriage return and line feed
string ocrText = result.Text.Replace("\n", "\r\n");
// Display the corrected text in a TextBox
textBox1.Text = ocrText;
}
C#
Der Replace("\n", "\r\n")-Aufruf schreibt jeden Zeilenvorschub in das Wagenrücklauf/Zeilenvorschub-Paar um, das die TextBox erwartet, damit der angezeigte Text die gleiche Zeilenstruktur wie das ursprüngliche Bild beibehält.
3. Überprüfen Sie die Ausgabe
Führen Sie die Extraktion erneut durch und vergleichen Sie die TextBox-Inhalte mit dem Quellbild. Die Umbrüche sollten jetzt mit dem ursprünglichen Layout übereinstimmen.
Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.