Windows フォームの TextBox での不正な改行
IronOCR で抽出されたOCRテキストは、Windows フォームの TextBox に表示されると、元の画像よりも少ない行に折りたたまれることがあります。
原因は改行の不一致です。 IronOCR は改行を裸の改行フィード ( \n ) として返しますが、Windows フォームの TextBox はキャリッジリターンの後に改行フィードが続くときにのみ改行を表示します ( \r\n )。 キャリッジリターンがない場合、コントロールは改行を無視します。
OCR は以下のようなソース画像に対して実行されます。

生のOCR結果をコントロールに直接バインディングすると、元のレイアウトを保持する代わりにテキストが2行に折りたたまれます。

解決策
1. 64ビットモードでAdvancedScanを使用する
より信頼性の高い抽出のために IronOcr.Extensions.AdvancedScan パッケージをインストールし、互換性の問題を避けるためにアプリケーションを64ビットモードで実行します。
<PackageReference Include="IronOcr.Extensions.AdvancedScan" />
2. 改行を正規化する
テキストをコントロールに割り当てる前に、結果の \n をすべて \r\n に置き換えます。
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;
}
Replace("\n", "\r\n") 呼び出しは、各改行を TextBox が期待するキャリッジリターン/ 改行対に書き換えるので、表示されるテキストは元の画像と同じ行構造を保持します。
3. 出力を確認する
再度抽出を実行し、TextBox コンテンツをソース画像と比較します。 改行は元のレイアウトと一致するはずです。


Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。