OCR 结果

获取的不仅仅是文本。我们的 API 提供结构化数据,包括坐标、置信度分数和完整的文档层次结构(页、行、字)。

数据输出

1

文本

IronOCR 将段落、行、单词和字符的文本输出以结构化对象和字符串的形式返回,使开发人员能够快速访问和操作数据。

using IronOcr;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
    // Page text
    string PageText = page.Text;
}
2

OCR 文本位置

获取每个段落、行、单词和字符的精确 X/Y 坐标和边界框尺寸,实现文本高亮显示、区域 OCR 和数据验证。

了解如何:在 .NET C# 中提取读取结果
using IronOcr;
using 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 Text location (X,Y) of the first paragraph
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");

OCR 输出信心

using IronOcr;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Load image from file
ocrInput.LoadImage("sameple.png");

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

// Check Confidence level
Console.WriteLine($"Confidence: {ocrResult.Confidence}%");
4

OCR 元素的图像

除文本外,还可将输入文档中通过 OCR 检测到的文本视觉元素导出为单独的图像文件,这对归档或处理非文本数据非常有用。

了解如何:在 .NET C# 中提取读取结果
using IronOcr;
using IronSoftware.Drawing;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage("sample.png");
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
    foreach (var word in page.Words)
    {
        word.ToBitmap(ocrInput).SaveAs($"page{page.PageNumber}_word{word.WordNumber}.png", AnyBitmap.ImageFormat.Png);
    }
}

输出类型

文本

using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("sample.jpg");

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

// Output the first detected paragraph text
Console.WriteLine($"Text: {ocrResult.Paragraphs[0].Text}");

可搜索的 PDFs

using IronOcr;

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

// Enable render as searchable PDF
ocrTesseract.Configuration.RenderSearchablePdf = true;

// Add image
using var imageInput = new OcrImageInput("sample.tiff");

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

// Export as searchable PDF
ocrResult.SaveAsSearchablePdf("searchablePdf.pdf");

hOCR

using IronOcr;

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

// Enable render as hOCR
ocrTesseract.Configuration.RenderHocr = true;

// Add image
using var imageInput = new OcrImageInput("sample.tiff");
imageInput.Title = "Html Title";

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

// Export as HTML
ocrResult.SaveAsHocrFile("result.html");
4

将文本突出显示为图像

为了进行调试和验证,应生成原始文档的图像,并突出显示所有已识别的文本。这样可以快速直观地检查 OCR 引擎的准确性和文本位置。

了解如何:C# 高亮显示文本以进行调试
using IronOcr;

IronTesseract ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_page_", ResultHighlightType.Paragraph);
5

条形码和 QR 码值

从文档中发现的任何 BarCode 或 QR 码中提取解码字符串值。API 在提供文本结果的同时提供这些数据,从而提供完整的数据采集解决方案。

了解如何:在 .NET C# 中提取读取结果
using IronOcr;
using IronOcr.OcrResult;

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

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

// Load PDF file
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");

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

// Output Barcode value
Console.WriteLine(ocrResult.Barcodes[0].Value);