如何提取讀取結果

This article was translated from English: Does it need improvement?
Translated
View the article in English

查克尼思·賓

OCR 結果包括了檢測到的段落、行、單詞和單個字符的大量信息。 對於這些元素中的每一個,結果提供了一套全面的細節。

對於每個元素,它提供了文本內容、精確的X和Y坐標、尺寸(寬度和高度), 文字方向(從左到右或從上到下)和地點在一個裁剪矩形物件。

開始使用IronOCR

立即在您的專案中使用IronOCR,並享受免費試用。

第一步:
green arrow pointer



OcrResult中的資料

結果值不僅包含提取的文本,還提供了有關 IronOcr 在 PDF 和圖像文檔中發現的頁面、段落、行、單詞、字符和條形碼的信息。 您可以使用 Read 方法從返回的 OcrResult 物件中訪問此信息。

:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-information.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;

// Output information to console
Console.WriteLine($"Text: {paragraphs[0].Text}");
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");
Console.WriteLine($"Width: {paragraphs[0].Width}");
Console.WriteLine($"Height: {paragraphs[0].Height}");
Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
Imports IronOcr
Imports System
Imports IronOcr.OcrResult

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Retrieve list of detected paragraphs
Private paragraphs() As Paragraph = ocrResult.Paragraphs

' Output information to console
Console.WriteLine($"Text: {paragraphs(0).Text}")
Console.WriteLine($"X: {paragraphs(0).X}")
Console.WriteLine($"Y: {paragraphs(0).Y}")
Console.WriteLine($"Width: {paragraphs(0).Width}")
Console.WriteLine($"Height: {paragraphs(0).Height}")
Console.WriteLine($"Text direction: {paragraphs(0).TextDirection}")
VB   C#
OcrResult中的資料

對於文本的每個部分,例如段落、行、單詞和個別字符,我們提供以下信息:

  • 文本:實際文本為字符串。
  • X:頁面左邊緣的位置,以像素為單位。
  • Y:頁面頂端邊緣的位置,以像素為單位。
  • 寬度:以像素為單位的寬度。
  • 高度:像素中的高度。
  • 文字方向:文本的閱讀方向,如「由左至右」或「由上至下」。
  • 位置:一個矩形,顯示此文字在頁面上的像素位置。

段落、行、單字與字元比較

以下是所檢測到的段落、行數、單詞和字符的比較。

突出段落
突出行
高亮字词
突出字符

條碼和 QR 碼

那是對的! IronOcr 可以讀取條碼和 QR 碼。 儘管此功能可能不如IronBarcode那麼強大,IronOcr確實為常見的條碼類型提供支持。要啟用條碼檢測,請將Configuration.ReadBarCodes屬性設置為true。

此外,可以從檢測到的條碼中提取寶貴資訊,包括其格式、值、坐標(x,y),高度、寬度和位置作為 IronSoftware.Drawing.Rectangle 物件。 這個矩形類別在鐵繪圖允許在文件上精確定位。

:path=/static-assets/ocr/content-code-examples/how-to/read-results-barcodes.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = true;

// Add image
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(ocrInput);

// Output information to console
foreach(var barcode in ocrResult.Barcodes)
{
    Console.WriteLine("Format = " + barcode.Format);
    Console.WriteLine("Value = " + barcode.Value);
    Console.WriteLine("X = " + barcode.X);
    Console.WriteLine("Y = " + barcode.Y);
}
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System
Imports IronOcr.OcrResult

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = True

' Add image
Using ocrInput As New OcrInput()
	ocrInput.LoadPdf("sample.pdf")
	
	' Perform OCR
	Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
	
	' Output information to console
	For Each barcode In ocrResult.Barcodes
		Console.WriteLine("Format = " & barcode.Format)
		Console.WriteLine("Value = " & barcode.Value)
		Console.WriteLine("X = " & barcode.X)
		Console.WriteLine("Y = " & barcode.Y)
	Next barcode
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

輸出

檢測條碼
Chaknith related to 輸出

查克尼思·賓

軟體工程師

Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。