如何提取读取结果
读取或OCR结果包含了大量关于检测到的段落、行、单词和个别字符的信息。 对于这些元素中的每一个,结果提供了一套全面的细节。
对于每个元素,它提供了文本内容、精确的X和Y坐标、尺寸(宽度和高度)文本方向(从左到右或从上到下)在一个裁剪矩形反对
如何提取读取结果
- 下载用于访问读取结果的 C# 库
- 准备目标图像和 PDF 文档
- 使用
读取
方法对导入的文件执行 OCR 识别 - 访问结果的 X、Y、宽度、高度和文字方向
- 检查检测到的段落、行、单词和字符比较
开始在您的项目中使用IronPDF,并立即获取免费试用。
查看 IronOCR 上 Nuget 快速安装和部署。已经超过800万次下载,它正在用C#改变OCR。
Install-Package IronOcr
考虑安装 IronOCR DLL 直接。下载并手动安装到您的项目或GAC表单中: IronOcr.zip
手动安装到你的项目中
下载DLLOcrResult 中的数据
结果值不仅包含提取的文本,还提供了由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}")
对于文本的每个部分,如段落、行、词和单个字符,我们提供以下信息:
- 文本:实际文本为字符串。
- X:距页面左边缘的位置,以像素为单位。
- Y:从页面顶部边缘向下的像素位置。
- 宽度:像素宽度。
- 高度:像素中的高度。
- 文本方向:文本的阅读方向,例如“从左到右”或“从上到下”。
- 位置:一个矩形,显示此文本在页面上的像素位置。
段落、行、单词和字符比较
以下是检测到的段落、行、单词和字符的比较。
段落 | 线路 |
字词 | 人物 |
条形码和二维码
没错! IronOcr可以读取条形码和二维码。 虽然该功能可能不如IronBarcode强大,但IronOcr确实支持常见的条形码类型。要启用条形码检测,请将Configuration.ReadBarCodes属性设置为true。
此外,可以从检测到的条形码中提取有价值的信息,包括其格式、值、坐标。(x, y), 高度、宽度和位置作为IronSoftware.Drawing.Rectangle对象。 这个Rectangle类在IronDrawing可在文档上精确定位。
: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